Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

360 Image and Deep Learning Comes to BoofCV

DZone's Guide to

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.

· Big Data Zone
Free Resource

Learn best practices according to DataOps. Download the free O'Reilly eBook on building a modern Big Data platform.

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

Image title

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.

Example Code 

Image Classification with Deep Learning

Image title

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

Image title

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

Image title

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!

Example Code

Everything Else

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!

Find the perfect platform for a scalable self-service model to manage Big Data workloads in the Cloud. Download the free O'Reilly eBook to learn more.

Topics:
java ,deep learning ,big data ,boofcv

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}