Our program is able to receive an image containing a food item and identify the type of food pictured, as well as basic nutritional information associated with the identified image. This is accomplished through machine learning classifiers (see Code for further details) to an approximated accuracy of 7% (best case). Further, the program is able to display the inputted image and both the predicted and actual labels (if available). Should the program not identify the food item correctly, meaning that the predicted and actual labels are not identical, it is able to recognize this and will display the image in grayscale.
Though images may be of grayscale or RGB colour, the quality of predictions is maximized when the quality of images is reflected in the training data used; the same condition applies to the pixelation of the images provided. Multiple images can be processed at once, though the time required will differ based on the quantity and quality of data.
The image provided to the program must be included in a specific .h5 file into the directory containing the python jupyter notebook; this, as well as the lack of current UI available, limits the extent to which most users can interact with the program. Currently, the notebook must be accessed through a Github repository, which can be cloned here. Further, the program is not easily customizable to the general user unfamiliar with python and matplotlib, among other plotting packages used. This means that in practice, the colour and pixelation may be limited to the default 64x64x3 (64 pixels by 64 pixels resolution, and RGB colour). It is currently limited to 101 categories of food items.