deep learning代写:Food Classification Challenge

Food Classification Challenge

 

All assignment work must use the Python/Keras CIPA1 development environment.

 

Deliverables

The main purpose of this assignment is to introduce the student to the practical aspects of developing advanced deep learning based computer vision systems within the Python/Keras environment. The assignment is worth 40% of your overall module mark2.

 

Implement the tasks outlined and record your observations. Answer all questions and develop appropriate code based solutions when requested. Submit a report detailing the rational, design and testing of the approach taken in developing your Python/Keras solution. This document should include your report details (introduction, rational, design, testing [including the test procedures used to evaluate the effectiveness of the method chosen], and conclusion), an appendix listing the all Python/Keras code used, any additional appendices for test results/images.

 

A key element of this assignment is your ability to design and implement your own test strategy. Please submit a single pdf document.

Getting Started

Read and understand the Python/Keras requirements/installation instructions as indicated on the relevant websites.

 

The aim of this assignment is develop a deep learning based system to classify 6 food categories from the Food-101 data set. The 6 food classes of interest are Chicken Curry, Hamburger, Omelette, Pancakes, Spaghetti Bolognese and Waffles (see Figure 1).

 

For each class, 150 manually reviewed validation images, 100 manually reviewed test images are provided as well as 750 training images. The training images were not cleaned (on purpose), and thus still contain some amount of noise. This comes mostly in the form of intense colours and sometimes wrong labels. Note the dataset is not perfect which makes the problem more challenging, but we will work with the assigned labels. Project data can be downloaded from food101_selected.zip.

 

 

1: Baseline Food Classification CNN  (15分/40分)               

 

Design and develop a simple 3-layer, VGG-like baseline convolutional neural network architecture to classify our 6 food classes. Justify all engineering design choices; in particular discuss the choice and relevance of your network architecture, your choice of optimizer and all the hyper-parameters used. Illustrate you answer with appropriate training and validation accuracy and loss diagrams. State clearly the final performance accuracy of and computational cost of your solution.

 

2: Optimal Food Classification CNN using Transfer Learning  (25分/40分)           

 

Using fine tuning based transfer learning concepts compare and contrast VGG16 and InceptionV3 CNN architectures to optimise the food classification task. Which approach gives the best overall accuracy and computational efficiency? Justify all engineering design choices; in particular discuss the choice and relevance of optimizer and all the hyperparameters used in the final design. Illustrate you answer with appropriate training and validation accuracy and loss diagrams. State clearly the final performance accuracy of and computational cost of your solution.