I am a Machine Learning Specialist and Data Science Consultant. From Smart Vision Systems, to Robotic Surgery, to Customer Analytics, I have interests in all systems that can sense, think, and act on their own. I specialize in building data‑driven solutions utilizing advanced machine learning and optimization techniques to connect man, machines, and business. My work experience covers manufacturing, consumer goods, industrial goods, operations, and retail industries. I have built ML & Analyt‑ ics solutions, for targeted marketing, marketing measurement and experimentation, demand forecasting, industrial plant setpoint optimization, predictive maintenance, and complexity reduction across different industries. I have also worked on oil and gas asset integrity solutions - leveraging Ultrasonic, EMAT, and MFL technologies for Oil and Gas In-line inspection, optical character recognition for a medical facility, 2G/3G/4G telecommunications engineering, and academic research in unmanned autonomous aerial vehicles. My academic experience ranges from Signals and Communications (B.Eng), Systems, Robotics and Control theory (M.Sc), and Computer Science with a specialization in Machine learning (2nd M.Sc) from GeorgiaTech.
Python, MATLAB, R, C++
NumPy, SciPy, OpenCV, Pandas, Keras
HTML/CSS/Javascript, ROS, GIT, Ai, SolidWorks
Targeted Marketing, Demand Forecasting, Marketing Analytics, Marketing A/B Experimentation, SKU Rationalization, Complexity Reduction, Predictive Maintenance, Setpoint Optimization, Data Integration Pipelines, Climate Sustainability Analytics.
PrivateThis is an annual event organized by Nvidia. Here, I took the course titled "Building Transformer Based Natural Language Applications." Covered NLP Embeddings (Word2Vec, RNN, and Transformers), Self-Attention, Self-supervision (BERT, Megatron, etc), NLP Models (text classification, NER, Question Answering), and Deployment & Inferencing with Nvidia NeMo and Triton
PrivateThis project involves a series of thorough analysis of Machine Learning Algorithms. Supervised Algorithms covered include: NNs, DTrees, K-NNs, SVMs, Boosted-DTrees. Unsupervised include: PCA, ICA, ISOMap, Randomized Projections, K-Means, GMMs. Randomized Optimization include: Randomized Hill Climbing, Simulated Annealing, Genetic Algorithms, and MIMIC. Reinforcement Learning Algorithms include: Policy Iteration, Value Iteration, and Q-Learning.
PrivateThis is an annual event organized by Nvidia. Here, I participated in four topics at the institute's DLI workshop: (1) CUDA python with Numba, (2) 3D Segmentation with VNet, (3) Anomaly Detection with Variational AutoEncoders, and (4) Data Augmentation and Segmentation with GANs.
PrivateAn Online Ensemble Forecasting algorithm was developed by combining ARIMA, Prophet, and Holt-Winters + GARCH for predicting future number of COVID-19 cases in Nigeria. As at the time of writing, it has achieved a 100% hit-rate
Check it outThis project involves Augmented reality without the use of markers. An image of an advert or video frames can be projected on a surface by persistent frame-by-frame homography tracking.
Check it outExposure fusion creates a single image with optimal detail from a set of multi-exposed images. As developed by Tom Mertens et al., quality measures; Contrast, Saturation, and Well-Exposedness are used to create a weight map that blends each of the multi-exposed images to a single image with best exposure.
Check it outObject tracking was performed using the Particle Filter algorithm. For robustness, higher level motion dynamics can be incorporated in the algorithmic formulation.
PrivateThe Particle filter algorithm is used to track a Pedestrian using a template sample. Detection also works well when HOG features are used with a Kalman filter. This has applications in traffic analysis and self-driving cars.
PrivateHistorical market data is used to train a Random Forest algorithm in-sample. It is then tested by simulating the possible portfolio performance using a market simulator. Portfolio gains around 200% was achieved for AAPL stock in 2008 (in-sample) vs 2009 (out-sample)
PrivateThe objective of this project is to showcase different indicators used in the stock market for trading decisions: Bollinger bands, %b, Relative Strength Index, and Moving Average Convergence Divergence. These help in identifying Bullish and Bearish market, and in deciding when to Short, Long, or Hold a position.
Check it outThis Portfolio simulator builds the performance of a portfolio for a given stock(s) and market data. It receives an "Orders" file containing actions: "BUY", "SELL", Symbol of the stock, Dates, Transaction costs, and Starting value. The simulator then builds the portfolio returns
PrivateRavens progressive matrices (RPM) is a cognitive test. This work develops a Knowledge-based AI Agent to solve the RPM problems using visual heuristics. There are three steps: re-representation - a global contractive transformation, followed by a prediction stage, and finally an optimization (matching) stage. It is one of the simplest agents and can be implemented in just 5 lines of code!
Check it outFace detection was performed as described in the Viola-Jones paper. Haar features create representations for human faces while Boosting enhances the performance of the learner by concentrating on difficult samples.
PrivateMotion detection using the Lucas Kanade (LK) algorithm which is based on the least squares solution of NxN Optical flow equations. It is assumed that objects move slowly, however, for objects with more displacement, the Heirarchical LK performs better .
PrivateHyperparameters are very important for optimum performance of Deep learning models. These include: number of layers, number of units, dropout, momentum, epochs, batch-size, learning-rate. This work explores different values of these parameters and the corresponding performance on an MNIST-DNN model.
PrivateTrigger word detection is the technology that allows devices like Samsung Bixby, Amazon Alexa, Google Home, Apple Siri, and Baidu DuerOS to wake up upon hearing a certain word. The model built uses 1-D convolutional layers, GRU layers, and dense layers on audio segments converted to spectrograms.
PrivateA computer vision algorithm is designed to classify sea lions from aerial images into the classes: adult males, sub adult males, adult females, juveniles and pup respectively. First, a high-resolution aerial image is cut into smaller images. Next, feature points are used to extract training samples for a Convolutional Neural Network
Check it outThe Model-free reinforcement Q-learning algorithm was programmed for navigating a simple maze. A Q-table is built based on immediate and discounted rewards using experience tuples as the bot interacts with the world.
PrivateAn image is converted to a HSV color space for color based segmentation. The system emphasizes body tones that can be used for tracking, AR applications and so on.
Check it outReccurent Neural Networks (RNN) are excellent for sequence-to-sequence learning. In this cool project, they are used to generate Yoruba names in a closed-loop fashion with inspiration drawn from Control theory.
PrivateADRC uses an Extended state observer to linearize the Quadrotor's Nonlinear dynamics (similar to Feedback linearization). This makes it capable of eliminating disturbances (robustness).
Check it outYOLO is a popular algorithm because it achieves high accuracy while also being able to run in real-time. This algorithm (you-) "only looks once" at the image in the sense that it requires only one forward propagation pass through the network to make predictions. After non-max suppression, it then outputs recognized objects together with the bounding boxes.
PrivateRecurrent Neural Networks (RNN) are excellent for sequence-to-sequence learning. In this interesting project, they are used to generate names for Dinosaurs.
PrivateNeural Style Transfer (NST) is one of the un techniques in deep learning. It merges two images, namely, a "content" image (C) and a "style" image (S), to create a "generated" image (G). The generated image G combines the "content" of the image C with the "style" of image S.
PrivateGiven two images, how can a bot tell if they are the same person (?). Due to variations in lighting, orientation of the person's face, even minor changes in head position, and so on, directly comparing pixel values won't work. Instead, learning an encoding gives more accurate judgements as to whether two pictures are of the same person.
PrivateThe altitude control of a quadrotor unmanned aerial vehicle is treated using its altitude dynamics in hover mode. An LMS-based Adaptive Active disturbance rejection control (AADRC) is proposed to compensate for undesirable effects resulting in smoother control.
Check it outThe SIGNS dataset is a collection of 6 signs representing numbers from 0 to 5. A ConvNet was built with TensorFlow for solving this classification problem. Steps include: Creating placeholders, initializing parameters, forward propagation, computing cost, and then optimization.
PrivateGenerating Jazz music with deep learning. An LSTM model is trained on random snippets of values taken from a much longer piece of music to learn the patterns of the jazz soloist. This would be used to synthesize new music.
PrivateWord vector representations were used to build an Emojifier which automatically appends emojis to text: "Congratulations on the promotion! 👍. Lets get coffee and talk. ☕️ Love you! ❤️"
PrivateA Neural Machine Translation (NMT) model is built to translate human readable dates ("25th of June, 2009") into machine readable dates ("2009-06-25") using an attention model, (one of the most sophisticated sequence to sequence models).
PrivateThis work deals with very deep convolutional networks, using Residual Networks (ResNets). In theory, very deep networks can represent very complex functions; but in practice, they are hard to train (vanishing gradients). ResNets, introduced by He et al., allow training much deeper networks using the idea of skip-connections.
PrivateLyapunov-based based backstepping controller was developed to control an induction motor. Induction Motors are reliable, rugged and cheap. Main problem in control arises from: coupled highly nonlinear model, unavailability of certain parameters and time varying nature of some parameters.
Check it outA HDR image is made by smartly combining multiple photographs of a scene at different exposures. It involves three main steps: Calibration, Radiance Map, and Tone Mapping. The Camera response curve is calculated in the first step, followed by a the computation of radiance map. Finally, correction of the color tones in the image is performed.
PrivateFaceNet learns a neural network that encodes a face image into a vector of 128 numbers. By comparing two such vectors, an algorithm can determine if two pictures are of the same person. A triplet loss function was used on a pretrained model with encodings to perform face verification and face recognition
PrivateVideo textures are created through 3 steps. First is computing a similarity metric. Second is to compute the transition difference. Third involves finding and synthesizing recurrent loops
PrivateClassification of "Cat vs non-Cat" dataset using Deep neural networks. Compared to simple logistic regression, the DNN yields better classification accuracy. Performance of 70% with logistic regression, 72% with 2 layers, and 80% with a 4 layer network without tuning.
Check it outUsing ORB feature detector, matched source and destination keypoints are used to calculate the homography transform between input images. The homography is then used to warp the images, which are finally blended together
PrivateImplementing the paper "A multiresolution spline with application to image mosaics". A cool framework was developed to blend images using a predefined mask. This can be used for interesting image editing such as face swaps
Check it outReproducing the paper "Content-aware image resizing" by Shai-Avidan et al. Using the seam carving algorithm, three images are subject to: (1) aspect ratio change by seam removal, (b) aspect ratio change by seam insertion, and (c) aspect ratio change by optimal retargeting.
Check it outExtrinsic noise is everywhere. Using a microphone and a Voltage controlled crystall oscillator, an RF circuit was built to jam cellular communications at the GSM band using destructive interference.
Check it outWith Virtual Robot Experimentation Platform, a Quadrotor can be controlled using a dedicated controller such as PID in a Lua script. Quadrotor incorporates visual feedback to detect the desired landing spot.
Check it outBackstepping is a Nonlinear controller based on Lyapunov functions. Four controllers are developed for the Altitude, Yaw, Pitch, and Roll attitudes of the quadrotor.
Check it outBasic algorithms in Image processing. Using Matlab code to explore different Edge detection algorithms and parameters.
Check it out