Denis Bose

Software Developer

Goslar, Germany
Experience
Jan 2022 - Nov 2022
11 months
Goslar, Germany

Software Developer

Heidelberger Druckmaschinen

  • Project: Print Inspection
  • Implemented features and optimizations for an algorithm to detect defects on printed substrates of an offset printing press
  • Implemented a method to detect smearing effects
  • Integrated the algorithms into existing inspection software
  • Skills: C++, OpenCV
Sep 2021 - Dec 2021
4 months
Berlin, Germany

Software Developer

Strabag ISS GmbH

  • Project: Blind Detection
  • Ported and extended an algorithm for detecting covered surveillance cameras to a current SDK
  • Implemented new features for a video management system
  • Skills: C++, Linux, Docker, C#
  • Platforms: Windows
May 2021 - Oct 2021
6 months
Darmstadt, Germany

Software Architect

Carl Zeiss SMT GmbH

  • Project: Particle Detection
  • Developed a prototype to identify defects and particles on photomasks. Images were captured with a scanning electron microscope.
  • Skills: C#, C++, OpenCV
  • Tools: Git, Azure, Windows
Jan 2021 - May 2021
5 months
Gaggenau, Germany

Software Developer

Precitec GmbH & Co. KG

  • Project: Image Stitching
  • Implemented filters for control software for laser welding systems
  • Analyzed an existing algorithm to create a large image from multiple smaller shots
  • Defined optimization steps to improve the algorithm and reduce artifacts
  • Skills: C++, Mercurial, KDevelop
Oct 2019 - Dec 2020
1 year 3 months
Hamburg, Germany

Software Developer

Minebea Intec GmbH

  • Project: CUPS Embedded
  • Integrated CUPS print system software into the user interface of a weighing terminal running Yocto Linux
  • Adapted the Yocto recipe for CUPS and related filters
  • Developed and maintained software to generate labels (XML) and convert them to printable PDFs on the terminal
  • Implemented an embedded PDF renderer that takes proprietary XML input and outputs a PDF for CUPS processing
  • Skills: C++, Qt, Python
  • Tools: Eclipse, Yocto
Apr 2019 - Oct 2019
7 months
Lichtenfels, Germany

Software Developer

Concept Laser GmbH

  • Project: 3D Print Monitoring
  • Built QA software to visually monitor the powder bed of a 3D metal printer with a camera and document each step. Also applied image enhancement techniques.
  • Skills: OpenCV, C++, Scrum, Jenkins, Windows
  • Tools: Git, OPC UA
Jan 2019 - Apr 2019
4 months
Munich, Germany
Remote

Software Developer

ASM Assembly Systems GmbH & Co. KG

  • Project: Remote Stations Software
  • Created a Windows service interface to read data from Siplace pick-and-place machines in the “Remote Stations” project. It retrieves installed software, version, and error data over LAN and sends it to another PC.
  • Skills: C#, WCF, REST, Windows
Feb 2018 - Feb 2019
1 year 1 month
Munich, Germany

Software Developer

Identt GmbH

  • Project: ID-Card Reader
  • Developed a prototype to read ID cards using a camera. The image is preprocessed so data fields can be read with OCR (Tesseract). Also built a tool to adapt the algorithm for different ID cards.
  • Skills: OpenCV, Python, C++, C#
  • Tools: Tesseract
Jun 2017 - Apr 2018
11 months
Munich, Germany

Software Developer

AMAN digital.Media.Solutions

  • Project: Trouble-Shooter
  • Set up a development environment for parts of a complex distributed system to debug code efficiently when log analysis alone wasn’t enough. The app was in C#/Mono and PHP, hosted in Docker.
  • Developed cloud services
  • Database development
  • Automated testing
  • Skills: Docker, Git, Scrum, Python, SQL, C++, Eclipse, C#
Oct 2016 - Mar 2017
6 months
Munich, Germany

Software Architect, Software Developer

Securiton GmbH (Permanent)

  • Project: Linux Embedded (Role: Software Architect, Oct 2016 - Mar 2017)

  • Ported automated monitoring algorithms to cameras from HikVision, Hanwha, and Axis. Each runs embedded Linux on different hardware. The app is identical across camera platforms and developed using Scrum.

  • Configured Eclipse for various targets

  • Wrote shell scripts to automate builds

  • Integrated TFS into the Linux environment

  • Designed a unified architecture for different camera vendors

  • Created a platform-independent library for ARM, Intel, Linux, and Windows

  • Set up an efficient desktop development and debugging environment

  • Streamed camera video to the desktop environment

  • Skills: POSIX, TFS, Eclipse, C++, Video

  • Platforms: ARM, Embedded Linux, HTTP

  • Project: CoreTester-GUI (Role: Software Developer, Oct 2016 - Nov 2016)

  • Developed a simple GUI for a test framework in C# using Windows Forms

  • Skills: Microsoft Visual Studio

  • Tools: Windows Forms

Jan 2016 - Sep 2016
9 months
Munich, Germany

Software Developer

Mühlbauer AG (Permanent)

  • Project: Photo Comparison
  • Verified print quality of laser-etched photos. Challenges included varying scaling and brightness.
  • Calibrated gray levels using a known color chart
  • Located the photo using a correlator
  • Determined exact scaling of the etched photo
  • Scaled the photo accordingly
  • Transformed the photo to another color space if needed (LBP, Canny, Sobel, HSV)
  • Compared reference and etched photos
  • Classified detected defects
  • Skills: C++, OpenCV, Windows
Jan 2015 - Dec 2015
1 year

Software Developer

Private

  • Project: Optical Character Recognition (Jan 2015 - Dec 2015)

  • Developed a size- and font-invariant OCR for normal characters using a support vector machine. The algorithm has a training and recognition phase.

  • Training: generate synthetic characters in various fonts

  • Training: scale characters to a uniform size

  • Training: compute gradients of characters

  • Training: train an SVM with computed gradients

  • Recognition: detect blobs in the image

  • Recognition: scale blobs to a uniform size

  • Recognition: compute gradients of blobs

  • Recognition: classify blobs as letters with the SVM

  • Skills: OpenCV, Support Vector Machine, Machine Learning

  • Project: OCR GUI (Aug 2015 - Dec 2015)

  • Built a WPF GUI to configure the OCR

  • Skills: WPF

May 2014 - Sep 2014
5 months
Munich, Germany

Software Developer

Mühlbauer AG

  • Project: GUI Design
  • Designed a GUI with Microsoft Foundation Classes (MFC)
  • Tools: MFC
Jan 2013 - Jun 2013
6 months
Munich, Germany

Software Developer

Mühlbauer AG (Permanent)

  • Project: ISO 1831
  • Ensured that passport MRZ print quality meets ISO 1831. Character templates come from the OCR-B TrueType font.
  • Checked contrast of the black character area
  • Checked minimum stroke width of a character
  • Checked maximum stroke width of a character
  • Checked contrast of a character’s skeleton
  • Checked for dirt in a character’s light area
  • Checked for spots in a character’s dark area
  • Checked correct alignment of a character
  • Checked correct size of a character
  • Skills: C++, OpenCV, Qt
Jan 2013 - May 2013
5 months
Munich, Germany

Software Developer

Private

  • Project: Android Game
  • Developed a retro-style Asteroids game for Android
  • Basic 2D rendering of moving objects
  • Sound integration
  • User interaction
  • Tools: Android, Eclipse
Jan 2012 - Aug 2012
8 months
Oberhaching, Germany

Software Developer

Mühlbauer AG (Permanent)

  • Project: Dotted OCR
  • Improved an algorithm that reads dotted serial numbers (like in passports). It often misreads characters. Designed and implemented a new size- and rotation-invariant algorithm.
  • Training and recognition have two phases:
  • Training: segment dots with adaptive thresholding
  • Training: normalize dots per character / remove scaling
  • Training: each character has a set of 5–10 coordinates describing the dotted letter
  • Recognition: segment dots with adaptive thresholding
  • Recognition: cluster dots by morphological operations (dilate + erode) to group each letter’s dots
  • Recognition: translate dots of a letter to the origin
  • Recognition: normalize dots / remove scaling
  • Recognition: find rotation to match recognition phase dots to training dots
  • The new algorithm is scale- and rotation-invariant with zero misreads. It’s also configurable for performance or quality in poor images.
  • Skills: OpenCV, C++
Jan 2011 - May 2011
5 months
Munich, Germany

Debugger

Electrobit GmbH (Permanent)

  • Project: ADTF
  • Fused camera data for traffic sign recognition with navigation system data. The recognized sign is shown on a vehicle display. On test drives, if a wrong sign is detected, the recorded video is sent to the developer.
  • Scene analysis with ADTF
  • Skills: ADTF, C++, ADAS
Jan 2010 - Sep 2010
9 months
Braunschweig, Germany

Software Developer

Master’s Thesis

  • Project: Object Recognition in Videos
  • Implemented model-based algorithms to detect and locate objects in videos.
  • Algorithm 1: built a 3D model
  • Algorithm 1: calculated keypoints on the 3D model on the fly, including 3D coordinates
  • Algorithm 1: at runtime, detected keypoints in the image
  • Algorithm 1: matched image keypoints to model keypoints with RANSAC
  • Algorithm 1: computed object position relative to the camera
  • Algorithm 2: built a geometric line model of the object
  • Algorithm 2: used Hough transform to detect lines in the image
  • Algorithm 2: found a transform mapping model lines to image lines
  • Algorithm 2: verified transformed lines against image lines
  • Skills: OpenCV, Mathematica
Nov 2008 - Dec 2009
1 year 2 months
Braunschweig, Germany

Software Developer

Linearis3D GmbH

  • Project: Binary Coded Targets (Nov 2008 - Jul 2009)

  • Implemented an algorithm to detect binary coded circular markers for photogrammetry calibration.

  • Used least-squares to detect circles in the image

  • Checked low-error circles for binary coding by finding bright blobs at specific circle positions

  • Mapped blobs to bits and verified the code with a checksum

  • Project: Stereo System (Jan 2009 - Dec 2009)

  • Developed a video-based stereo system with a C# GUI

  • Detected markers in images from two calibrated cameras

  • Matched markers between images

  • Computed 3D coordinates via bundle adjustment

  • Live display of camera images in the GUI

  • Displayed 2D/3D coordinates in a table and as a 3D model with OpenGL

  • Skills: C#, Windows Forms, OpenGL

  • Project: Industrial Camera Control (Jan 2009 - Apr 2009)

  • Controlled and integrated industrial cameras into a software project

  • Integrated AVT cameras

Oct 2008 - Aug 2009
11 months
Braunschweig, Germany

Software Developer

Project Work / Paper

  • Project: Sparse Bundle Adjustment Speedup Strategies
  • Used Bundler to calibrate cameras without markers, speeding up the process via parallelization and splitting videos.
  • Split the video into parts
  • Each part contains images also in the other parts
  • Bundler computes external camera parameters
  • Transformed camera poses into one coordinate system using shared images
  • Tools: Qt
Apr 2008 - Sep 2008
6 months
Braunschweig, Germany

Tester

David GmbH (Student)

  • Project: Defining Software Tests
  • Defined regression tests.
Jan 2006 - Sep 2006
9 months
Lorem ipsum dolor sit amet

Bachelor’s Thesis

  • Project: Stock Data via DAB
  • Implemented the DAB-MOT protocol and a GUI in Java to visualize real-time stock data.
  • Fetched real-time data via web service and uploaded it to an NDR server for DAB broadcasting.
  • Skills: Java 1.5, Axis, Web Services, SOAP
Summary

I have extensive experience in software development with C++, C#, Java, and Matlab. My main focus so far has been on computer vision and image processing. I have designed and implemented several algorithms for challenging image processing tasks. I also have hands-on experience with machine learning and embedded Linux development. I learn quickly and solve algorithmic problems in a creative, empirical way. My solid knowledge lets me get up to speed in new areas fast.

Languages
German
Native
English
Advanced
Education
Oct 2006 - Sep 2010

Technische Universität Braunschweig

MSc Computer Science, focus on Robotics, Distributed Systems, Programming and Reactive Systems, specializing in Image Processing · Computer Science · Braunschweig, Germany

Oct 2002 - Sep 2006

University of Osnabrück

BSc Mathematics/Computer Science, general, practical and theoretical computer science, foundations of mathematics · Mathematics/Computer Science · Osnabrück, Germany

Certifications & licenses

ISTQB: Certified Tester

Technische Universität Braunschweig

Need a freelancer? Find your match in seconds.
Try FRATCH GPT
More actions