P&P Optica
Published:
My 4th undergraduate internship was spent at P&P Optica, a company in Waterloo that builds hyperspectral imaging systems to automatically detect contaminants in food passing on conveyer belts. Hyperspectral imaging systems are able to take images with a continuous wavelength dimension. This means that for each pixel, we are able to accurately determine the material by classifying the spectral signature using machine learning. While I was at P&P Optica, I spent some time working on the core Python pipeline that processes the hyperspectral image data to detect foreign contaminants in real time. This pipeline utilizes OpenCV and Scikit-Learn to work with and classify the input image stream. I then created an automatic ROI masking tool using spectral filtering and OpenCV, which was used to reduce data labeling times by up to 40%. I also built some hyperspectral image data visualization tools using unsupervised learning techniques in Scikit-Learn such as PCA, K-means, and DBSCAN. I ended the term by working on a project where I oversaw the collection of training datasets of vegetables at varying freshness levels, then used Scikit-Learn and TensorFlow to train SVMs and CNNs to classify the freshness of the vegetables. Overall, this was a very impactful internship, where I learned a lot about production machine learning and got to work on my first large-scale software stack.