Marcin Bogdanski, Machine Learning Developer in Bristol, United Kingdom
Marcin Bogdanski

Machine Learning Developer in Bristol, United Kingdom

Member since March 8, 2018
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.
Marcin is now available for hire




Bristol, United Kingdom



Preferred Environment

Ubuntu Linux, VS Code, JupyterLab or Win10+VS

The most amazing...

...project I've implemented was a vision system which won first prize along with $20,000.


  • Deep Learning Engineer

    2017 - PRESENT
    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.
    Technologies: TensorFlow, Keras, PyTorch, Python, AWS, GCP
  • Technical Director

    2014 - 2019
    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).
    Technologies: Keras, Python, Robot Operating System (ROS), C, C++
  • Team Leader

    2011 - 2014
    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.
    Technologies: Embedded C, C++
  • Co-founder

    2009 - 2010
    Giko Games
    • Programmed a 3D game engine for Android in Java which was used in two published games.
    Technologies: Android, Java
  • Software Engineer

    2008 - 2009
    Imagination Technologies
    • Built parts of the Windows 7 GPU driver in C++ and programmed a full test suite in Python.
    Technologies: Windows 7, DirectX, C++, Python


  • NLP Data Mining and Analysis of Call Center Transcripts (Development)

    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.

    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 (Development)

    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.

    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 (Development)

    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.

    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 (Development)

    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.

    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 (Development)

    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.

    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 (Development)

    In 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).

    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 (Development)

    A 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.

    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 (Development)

    The 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.

    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.


  • Languages

    Python, C, C++, C#, Java, SQL
  • Libraries/APIs

    Keras, PyTorch, TensorFlow
  • Platforms

    Jupyter Notebook, Docker, Amazon Web Services (AWS), Google Cloud Platform (GCP)
  • Industry Expertise

  • Other

    Machine Learning, Deep Learning, Reinforcement Learning, Deep Reinforcement Learning, Artificial Intelligence (AI), Research, Drones, Software Engineering, Computer Vision, Machine Vision, Natural Language Processing (NLP), Neural Networks, Deep Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks, Mathematics, Natural Language Understanding, Custom BERT, Scientific Data Analysis, Time Series, Artificial General Intelligence (AGI), Voice Recognition
  • Paradigms

    Agile, Testing, Data Science


  • Bachelor of Engineering (BEng) degree in Computer Science
    2004 - 2007
    University of Bielsko-Biała - Bielsko-Biała, Poland


  • Natural Language Processing Nanodegree
  • Computer Vision Nanodegree
  • Deep Learning Specialization
  • Deep Learning Nanodegree Foundation

To view more profiles

Join Toptal
Share it with others