I am a Machine Learning Engineer specializing in Machine Vision. My passion is applying ML to Industrial IoT, robotics and embedded systems.
- My professional experience can be found at my LinkedIn.
- I believe a market exists for pre-trained medical imaging models as shown at www.metrowestdata.com.
Below are examples of my academic research and open source projects.
I’m always looking for new projects – so feel free to reach out!
Medical image segmentation: Medical segmentation is unique in requirements and techniques. In this June 2023 project we survey current approaches and deploy a CapsNet 3D model for segmentation of GI-tract from MRI. The survey is here. Code implementing CapNet is here.
OpenCV Machine Vision: OpenCV is frequently used as a source for features in a machine learning pipeline. In this project we start with the Calib3c library to show how a pinhole camera model can be applied to the task of identifying a Backgammon board, arbitrarily positioned and seen in perspective. OpenCV exercise
Graph Neural Networks: Graph-based modeling is a rapidly evolving science, with particular strength in cases where data does not have the regular structure of (say) images or tables. Social networks are an example of arbitrary relationships, and in this project we model relationships in a Twitter dataset as they evolve during the first months of Covid-19. We apply PyTorch Geometric, Sequence Encoder, HeteroConv and a BERT language model. Preprocessing overview, Developer Instructions, Colab Notebook,
Markov Logic Network (MLN) is a new and exciting technique for modeling systems that have structure but are inherently probabilistic. Structure is expressed using first order logic with techniques from Markov Networks used to capture uncertain relationships. A MLN allows deductive reasoning and probabilistic inference. The research is by Pedro Domingos and Matt Richardson at University of Washington. The study can be found here.
Whole-image Classification with Kiras/Tensorflow: This is a self-driving car that (in realtime) classifies images from a front-mounted camera. It is an end-to-end CNN deployed to Raspberry Pi. The project can be found here.
Kaggle PLAsTiCC is a Kaggle competition of transient stars. We survey the approaches for classification of this aperiodic timeseries dataset here.
Tri-Training is a technique that uses unlabeled data for supervised learning! The technique is from an Amazon researcher in Cambridge MA and was used for wake-word detection but the approach can be applied anywhere. We review the 2005 paper by Z. Zhou and M. Lee, and this .pdf captures the details.
The Bootstrap is a principled technique to establish statistical significance to test results. Combined with T-tests this is important to have in the tool belt. The git HERE includes python code that implements Bootstrap. The examples are taken from the text.
Linux Kernel Realtime Support – This study investigates features in the Linux kernel that reduce variability in interrupt latency for intensive realtime applications. Specifically, the paper details the CCONFIG_PREEMPT optimization and the PREEMPT_RT patch and is available at Real Time Optimizations for the Linux Kernel.