6 comments

[ 4.0 ms ] story [ 23.4 ms ] thread
I love these blog posts. The timing is perfect for me too, I committed some code a week ago that said "I'm doing this manually because I can't figure out how to use `fit_generator`", thanks for the write-up Francois!
Another great post. Thanks for awesome learning material !
I am just starting to look into these corpuses of pretrained neural networks. Coes anyone know if there are any image corpora with pretrained wieghts that would be suitable for analysis of "high-resolution" images derived from LIDAR data (where in this case high resolution corresponds to a resolution limit of a few meters). In the not unlikely case that there is nothing so specific, can anyone comment on the same for optical satellite imagery?
With high resolution images you need large amount of layers to for the later layers to be able to 'see' the whole picture. But such a network would likely be unreasonably large for such large inputs, you'd have to look for distributed model solutions.

So it kind of depends on what you are trying to extract from such large images. If it's macroscopic features then you should just downsample your image to something reasonable and feed it into some pretrained network like Alexnet or VGGnet. If you want microscopic feature detection, but don't care about macro features, then you should use a shallower convnet.

If you insist on having both but the resulting network can't be stored in memory and distributed system is not an option, you might want to look into using recurrent networks with visual attention. These sort of look at manageable chunks of the image and decide where else to look based on what they've seen so far.

I think [0] or [1] might be a good place to start, depending on what you want to do with it. Both take a similar to this blog post, in that they also use the VGG networks trained on ImageNet. Specifically, [0] uses Fisher Vector pooling on the highest layer of convolution features, and they report good performance on texture and scene datasets even though they used weights learned from ImageNet data. Plus, skipping the fully connected layers means you can in principle use any image size/resolution without worrying about the size of the model.

[0]: http://arxiv.org/abs/1411.6836 [1]: https://arxiv.org/abs/1403.1840

Great post, fascinating and practical. Which is not something that happens a lot.