Big Data Analytics for 3D Object Visualization and Recognition

Project Overview

In this research project we try to identify 3D objects using various classification techniques provided by the distributed computing framework Spark. Reconstruction of 3D images is very computationally intensive, and training requires a lot of computation. With the large volume of the data, it is important to implement such techniques in a scalable and distributed processing system.

The following are the 2 main steps:

Image Reconstruction: A set of 2 dimensional images were taken using an array of cameras or using a single camera at multiples positions. 3D objects are individually put on a turnable stage and pictures are taken at 6 different angles. We use 3 toy cars in the experiment. At each angle, 28 (7×4) elemental images are taken. The set of 2D images are used to reconstruct slices of the 3D object at different distances (from the camera). To achieve this we have develop a Python application in Spark using various actions and transformations on image resilient data sets (IRDD).

003953_10_fig3

Figure 1. Exemplified slices of 3D reconstructed images of three toy cars used in the experiment.

003953_10_fig1

Figure 2. Illustration of the pick-up process.

003953_10_fig2

Figure 3. Illustration of the reconstruction process.

Classification: Machine learning algorithms such as Naïve Bayes, SVM, Deep Neural Networks are applied to IRDDs to recognize the 3D objects. Training was fast in the initial results. The models were able to classify objects with high accuracy (93.57%).