Image Classification Limits Part 2
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Recently i released the first 64-bit versions of Bio7 bundled with a 64-bit Java Virtual Machine.
I’m always curious how far i can go using both applications together to do image analysis (especially classification) with huge images coming e.g. from satellites.
The transfer of the images in Bio7 is realized with a combination of ImageJ and R connected with Rserve. The disadvantage of this approach is that in both applications some more or less image data is present.
In one of my last posts i was able to classify RGB images with R of size ~7000*7000 with a special Mac Bio7 port.
Cluster Analysis (clara) with R: Max 7000*6157*3(RGB) -> 6 centers: 168sec. (byte transfer!) Mac OSX 10.6, 2.93 GHz, 4GB RAM
With a Linux 64-bit OS (8GB) at hand i was now able to classify even bigger images:
1. Cluster Analysis (clara) with R: Max 9000*9000*3(RGB) -> 6 centers: 181sec. (byte transfer!) Linux Ubuntu 10.04, 2* 2.27 GHz, 8GB RAM
JRE initial heap size=5Gb, maximum heap size=5Gb
2. Cluster Analysis (clara) with R: Max 10000*10000*3(RGB) -> 6 centers: 338sec. (byte transfer!) Linux Ubuntu 10.04, 2* 2.27 GHz, 8GB RAM
JRE initial heap size=5Gb, maximum heap size=5Gb
The huge difference between the first and the second time result are because of the memory limitation of the OS (which has to allocate RAM for the images twice – in the JRE and for the image vectors in R) and the resulting garbage collection to free up space. Because of the integer indexing limitation of R and Java the theoretical limit (of a pure image transfer) will be an image of size 2^31 (Java only supports signed integers) if using both applications together. However it is nice to see that it is possible to analyze huge images practically with R and ImageJ and that this works together very well.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.