The University of Auckland

Project #86: Object Recognition Using Convolutional Neural Networks and TensorFlow



Convolutional Neural Networks (CNN) as one form of deep learning have been proliferating in many applications and become very popular in recent years. CNN is considered as the nearest biologically inspired model of computation, which tries to mimic the way the brain performs computation.

In this project, students will apply CNN in recognizing objects from a big dataset called CIFAR10. The students will start by studying the building blocks and the methods associated with them, then tuning the hyperparameters of CNN to optimize the performance in recognizing different objects. This task is extremely difficult to achieve accurately using classical machine learning approaches.

The fundamental difference between the fully connected networks, commonly used in multilayer perceptrons (MLP), and convolutional neural networks is the pattern of connections between consecutive layers. In the fully-connected networks, each unit is connected to all of the units in the previous layer. However, in a convolutional layer of a neural network, each unit is connected to a (typically small) number of nearby units in the previous layer. Furthermore, all units are connected to the previous layer in the same way, with the exact same weights and structure. This leads to an operation known as convolution, giving the architecture its name. CNN hugely reduces the computational costs, convergence speed, and training stability over the fully connected networks. These make this architecture to be very attractive in many applications.

In this project, we will be adopting the leading open software called TensorFlow to implement our tasks.

Interested students must see the supervisor before bidding for the project.



A demo like software package to recognize objects

The software and supporting documentation should include a detailed demo and explanation of each building block in the CNN model.


Good ability in working and developing software packages

Python programming skill is advantegeous

Knowledge of machine learning and neural networks are advantageous


Interested students must see the supervisor befor bidding for the project. Not doing so may revoke the nomination of this project.







Lab allocations have not been finalised