360 Image and Deep Learning Comes to BoofCV
One of the new features included with the latest release of BoofCV are two applications which make it easy to quickly explore all the demonstrations and examples included with the library.
Join the DZone community and get the full member experience.Join For Free
The latest release v0.26 of BoofCV provides support for fisheye cameras, 360 images, image recognition with deep learning neural networks, a new calibration target, and other bug fixes/performance enhancements. BoofCV is a free open source computer vision library released under the Apache License 2.0. Functionality includes low-level image processing, camera calibration, feature detection/tracking, structure-from-motion, classification, and recognition.
One of the new features included with the latest release are two applications which make it easy to quickly explore all the demonstrations and examples included with the library. To run these applications, do the following, in Linux. (You should be able to build and run in MacOS and Windows following a similar procedure.)
git clone --recursive https://github.com/lessthanoptimal/BoofCV.git boofcv cd boofcv ./gradlew examples java -jar examples/examples.jar ./gradlew demonstrations java -jar demonstrations/demonstrations.jar
This will download all example data, dependencies, compile, then launch the applications.
360 Image Support
This is a screen shot from the equirectangular (sphere projected onto a 2D image) to pinhole camera demonstration application. The bottom shows you the equirectangular image, where the pinhole camera is rendered, and the top shows you a synthetic view through a pinhole camera.
Image Classification with Deep Learning
Out of the box, two networks are provided for image classification. VGG trained on CIFAR10 (10 categories at 89.9%) and Network-in-a-Network (NIN) (1000 categories at 62.6%) trained on image net data using Torch and run using DeepBoof. Once the model is automatically downloaded it should just work. No graphics card driver conflicts to mess or compilation headaches. Of course, it won't run as fast as GPU-assisted networks do, but takes less than a second to process an image.
Improved Histogram-of-Oriented-Gradient (HOG) Descriptor
The above image shows a visualization of the HOG descriptor centered on the two horses. BoofCV now includes two variants of the popular HOG descriptor. One variant is faithful to the original and the other is less stable but much faster. Originally there was just the faster version.
New Calibration Target
A new target style can be used to calibrate your camera now. Instead of squares or chessboard patterns this one uses circles. Not sure if it performs any better that you have the option of using it now!
For a complete list of new features see the change log on the BoofCV website for versions 0.25 and 0.26. Thanks for reading!
Opinions expressed by DZone contributors are their own.