Marcin Bogdanski
Verified Expert in Engineering
Machine Learning Developer
Marcin is passionate about artificial intelligence especially about deep learning and related technologies. In 2007, he completed his bachelor's degree in computer science with a focus on AI and then pursued a career in robotics but his first love remained AI. Within the past few years, he's refocused his attention on deep learning projects, drawing upon his more than a decade's worth of hands-on experience in software as a team lead.
Portfolio
Experience
Availability
Preferred Environment
Visual Studio, Windows, Jupyter, Visual Studio Code (VS Code), Ubuntu Linux
The most amazing...
...project I've implemented was a vision system which won first prize along with $20,000.
Work Experience
Deep Learning Engineer
Consulting Work
- Provided NLP solutions to data-mine and analyze a call center's transcript database.
- Extended AlphaZero to imperfect information games, validated against Facebook OpenGo.
- Built a vision system that won $20,000 first prize at Melbourne Knowledge Week.
- Designed the NLP algorithm for automated text summarization of financial news articles.
- Designed the neural architecture for fault detection on images of wind turbine blades.
- Developed algorithm for time-series analysis and prediction based on home IoT sensors.
- Introduced a vision system for tooling wear assessment for a major aerospace manufacturer.
- Implemented face detection and auto-tagging for a family journal iPhone/Mac app.
Technical Director
DroneX, Ltd.
- Developed real-time image segmentation for obstacle avoidance in a prototype ground robot.
- Implemented AI that coordinated 200+ mobile mining robots in simulation (a US customer).
- Led a team of engineers to design and build hardware and software for many drone projects.
- Delivered all projects to full customer satisfaction (with some projects resulting in patents).
Team Leader
Go Science
- Oversaw and managed multiple software and hardware system integrations on an experimental autonomous deep-water vehicle.
- Led a team of engineers in the delivery of multiple successful customer-facing trials.
Co-founder
Giko Games
- Programmed a 3D game engine for Android in Java which was used in two published games.
Software Engineer
Imagination Technologies
- Built parts of the Windows 7 GPU driver in C++ and programmed a full test suite in Python.
Experience
NLP Data Mining and Analysis of Call Center Transcripts
I needed to analyze a database of transcripts in a deeper language context and identify advisory skill sets and their applied sales strategies (e.g., up-selling and cross-selling) for training purposes.
TECHNOLOGIES:
I identified key phrases using both metadata and BERT-based deep learning architecture, a popular choice for language modeling and analysis.
Parking Sign Detection and Recognition
Parking signs in Australia are notoriously complicated. The project was to build a proof-of-concept vision system to detect and recognize signs with a mobile phone and let the user know whether they can park at that location.
TECHNOLOGIES:
The system uses a customized state-of-the-art multi-stage neural network for detection. The main challenge was working with a tiny data set and a large variety of backgrounds, lighting and weather conditions and obstructions. We deployed the system for production on Amazon EC2
This project won first place and a monetary prize of $20,000 at the Melbourne Knowledge Week. I was fully responsible for the AI technology and the demo was delivered by the customer.
Automatic Text Summarization of Financial News Articles
Stock traders need to process a large quantity of complex information in real-time to be able to compete. The project was to analyze input PDFs and present to the user a short 2-3 sentence summary.
TECHNOLOGIES:
During the research phase, we experimented with both extractive and abstractive text summarization, sentiment analysis, and translation techniques to get all the pieces necessary for the final product. Decoding raw PDFs was a significant challenge as well.
Time Series Analysis and Prediction for Housing Occupancy
Smart home and IoT technologies offer huge potential savings in heating, power, air conditioning, and predictive maintenance. Combining sensor data from thousands of properties, we could identify actionable insights for occupants and landlords.
TECHNOLOGIES:
Houses were equipped with a variety of sensors like power, temperature, humidity, and CO2. We used a range of models like ARIMA, Gaussian processes, neural networks to detect latent variables (e.g., occupancy status), predict behavioral patterns (e.g., heating requirements), and risk of issues (e.g., hidden mold).
Automated Wind Turbine Fault Detection
This project is a proof-of-concept neural architecture for automated fault detection on high-resolution images of wind turbine blades. I provided know-how via ongoing consulting as well as developed actual software for data pre-processing and model training and testing. The customer provided images and preliminary labels in a raw format. A large part of the project was to browse, clean, select, and label data provided so it can be feed into the machine learning component.
TECHNOLOGIES:
Due to the unique technical challenges that we encountered, we developed two non-standard components:
01. A completely custom preprocessing pipeline to handle the characteristics of the input data.
02. A far-reaching optimization of a neural network subsystem to allow for fast training time.
Self-driving Software for a Semi-autonomous Unmanned Ground Vehicle
https://marcinbogdanski.github.io/commercial-portfolio.htmlIn this project, I worked as the principal software developer responsible for designing and implementing a self-driving module for an unmanned ground vehicle (UGV). The robot needed to navigate with GPS for predetermined routes where an obstacle avoidance module would be responsible for detecting unexpected obstacles like pedestrians, parked vehicles, and similar challenges (the robot would use walking paths).
TECHNOLOGIES:
The primary sensor was a front-facing monocular RGB camera (i.e., a webcam). Images from the camera were processed by two independent neural networks.
01. YOLO for object detection and localization—pedestrians, parked vehicles, and more. The network was trained on both a pre-existing dataset as well as a mix-in of our own training data.
02. SegNet was used for detecting if the ground in front of the vehicle is drivable (e.g., pavement, tarmac). The network was trained on cityscapes with a few added images.
Tool Wear Assessment for a CNC Router
https://marcinbogdanski.github.io/commercial-portfolio.htmlA CNC router is a machine that uses a rotational tool bit (drill) to remove material from a solid block to manufacture a target part. The tool bits wear down and technicians often forget to check and replace them. This system automatically takes a picture of the tool bit before the job has started and feeds it into a convolutional neural network to evaluate the current wear of the tool bit.
TECHNOLOGIES:
Image classification is performed with DenseNet-201 which showed the best performance out of the attempted architectures. CNN was initially trained on ImageNet and then trained further. The classifier was trained on a target dataset with heavy data augmentation and applied regularization. Afterward, the training network was able to detect cracked, chipped, or overheated (changed color) tool bits.
The system is currently operating in a machine shop at an aerospace manufacturing facility.
Interactive Simulation for a Mining Robot Swarm
https://marcinbogdanski.github.io/commercial-portfolio.htmlThe purpose of this project was to assess in detail the performance of a swarm of 200+ mining and support robots. The swarm would start in containers, then deploy solar panels, build a surface base, excavate tunnels, process raw materials, and finally wind up in an operation. The complexity of the project was similar to a simple strategy video game.
TECHNOLOGIES:
The simulation is physics-based and built in a Unity3D game engine along with a set of plugins for dynamic volumetric terrain (so that the robots can freely excavate). An individual robot AI manages energy, navigation, task queues, and more. The swarm AI manages task allocation, robot coordination, excavation orders, and similar.
At any point, a user can override the high-level strategy or take over full control over an individual robot.
Skills
Languages
Python, C, C++, C#, Embedded C, Java, SQL
Libraries/APIs
Keras, PyTorch, TensorFlow, DirectX
Tools
Jupyter, Visual Studio
Platforms
Jupyter Notebook, Docker, Amazon Web Services (AWS), Ubuntu Linux, Windows, Windows 7, Android, Google Cloud Platform (GCP), Visual Studio Code (VS Code)
Other
Machine Learning, Deep Learning, Reinforcement Learning, Deep Reinforcement Learning, Artificial Intelligence (AI), Research, Robotics, Drones, Software Engineering, Computer Vision, Machine Vision, Natural Language Processing (NLP), Neural Networks, Deep Neural Networks, Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNNs), GPT, Generative Pre-trained Transformers (GPT), Computer Vision Algorithms, Mathematics, Natural Language Understanding (NLU), Custom BERT, Scientific Data Analysis, Time Series, Robot Operating System (ROS), Artificial General Intelligence (AGI), Voice Recognition
Paradigms
Agile, Testing, Data Science
Education
Bachelor of Engineering (BEng) Degree in Computer Science
University of Bielsko-Biała - Bielsko-Biała, Poland
Certifications
Natural Language Processing Nanodegree
Udacity
Computer Vision Nanodegree
Udacity
Deep Learning Specialization
Coursera
Deep Learning Nanodegree Foundation
Udacity
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring