Abstract: | Injera is a fermented Ethiopian traditional food usually prepared from teff flour. Even though
teff is the most popular cereal for injera preparation, other cereals such as sorghum, maize,
barley, wheat, and rice flour, or combinations of these, are sometimes used. Since not everyone
has the means or time to make injera at home, it is often purchased from shops, supermarkets,
hotels, and restaurants. Some producers adulterate injera by mixing teff flour with cheaper
cereals or harmful substances for motives such as market surplus and Cost reduction to compete
and desire for higher profit margins. This poses health risks to consumers and marketing
challenges for the country. Although many researchers have worked on food detection and
classification, their datasets often lacked sufficient class similarity and did not quantify the
proportion of impurities added, making it unreliable for real-life testing. The visual similarities
between pure and adulterated injera make manual identification of impurities difficult, and
there is no existing research on identifying impurities in Teff injera using deep learning. In this
thesis, we developed models using both deep learning algorithms alone approach and deep
learning algorithms by combining deep learning features with handcrafted features. The injera
dataset was prepared at home traditionally by mixing 15% sawdust flour with 85% pure white
teff flour, and 15% sorghum flour with 85% pure red teff flour. Additionally, we prepared
100% pure white teff injera and 100% pure red teff injera. After 12 hours, we captured images
of the prepared injera using a Samsung Galaxy M13 50-megapixel camera and labelled them
into ‘pure white teff injera,’ ‘white teff with sawdust injera,’ ‘pure red teff injera,’ and ‘red teff
with sorghum (zengada) injera’ classes. We applied various pre-processing techniques,
including resizing, filtering, segmentation, enhancement, and augmentation. Then,
hyperparameter values were identified for each model using the random search tuning method.
For experimentation, we utilized pretrained models such as AlexNet and ResNet50, and we
built CNN, LSTM, and YOLO models from scratch for both approaches. Handcrafted features
were extracted using Gray Level Co-occurrence Matrix and Local Binary Pattern methods. The
experiment results showed that using deep learning algorithms alone, we achieved accuracy of
79% with CNN, 58% with AlexNet, and 54% with ResNet50. When combining deep learning
features with handcrafted features, the CNN model achieved 77% accuracy. Overall, the CNN
built from scratch attained the highest accuracy in both approaches compared to the other
models. |