Motivation: Recently, a novel compact 64-channel gas sensor (electronic nose) based on carbon nanotubes was developed in cooperation with Life Science Inkubator Sachsen. This electronic nose allows to digitalize smells and can be used for many applications where smell recognition is required (just try to imagine yourself). A typical example of the signals captured by the sensor is shown below: every second the device sends a digital “fingerprint” of the smell it “feels” in form of 64 values of relative resistance change DR/R 0 (left: a snapshot of the smell fingerprint in form of 64 columns, right: continuous measurement of gas sensing responses from all 64 channels).
The goal of the work is to develop a software system for handling the data produced by the sensor. Roughly, it consists of two parts:
- A Machine Learning (ML) engine that is able (i) to learn an ML model (see below) given the recorded data together with expert annotation (so called ground truth), and (ii) apply the learned model to recognize previously unseen data.
- A user frontend that allows to capture the data, store it, manipulate, visualize and analyze it in a user friendly manner.
During the thesis the following subtasks should be performed:
- An appropriate application scenario should be defined. It includes the choice of classes to be recognized, desired recognition accuracy, experimental setup and other technical details, like e.g. signal resolution, etc. Then, a training set should be acquired and prepared. This should be done in dense cooperation with the chair of Materials Science and Nanotechnology.
- Several simple ML models should be implemented and tested in order to assert the complexity of the problem. These may be e.g. a simple linear classifier or regression (depending on the chosen application scenario), a simple Convolutional Neural Network (e.g. with few hidden layers), etc. As a result of this study, either (i) a model architecture should be chosen for further development or (ii) more complex models (like e.g. LSTM-networks, statistical modelling with Markov chains) should be considered.
- The developed ML model should be seamlessly incorporated in a user frontend and carefully trained. It should be exhaustively evaluated with respect to the reached recognition accuracy, robustness, computational efficiency for both learning and inference stages.
1) Basic knowledge about Machine Learning, especially Neural Networks.
2) Programming skills: Python for ML part (especially PyTorch is preferable), language of your choice (but necessarily multi-platform) for the user frontend.
1) K. Yan, D. Zhang, Sensors and Actuators B 212, p. 353 (2015)
2) A.T. Günther, et al., ACS Sensors 1, p. 528 (2016)
3) L.A. Panes-Ruiz, et al., ACS Sensors 3, p. 79 (2018)
4) Christopher M Bishop, Pattern Recognition and Machine Learning (Information Science and Statistics), 2006, ISBN:0387310738
5) Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org