Pavel Emeliyanenko
Verified Expert in Engineering
Algorithms Developer
With a PhD in Computer Science (summa cum laude) from Max-Planck Institute for Informatics in Germany, Pavel has a solid background in math and algorithm development. Throughout his professional career as a C++ software engineer, he has had a chance to work with different technologies including scientific computing, embedded software development, on-board car navigation, medical image processing, computer graphics, parallel computing, GPGPU, and IP network cameras development.
Portfolio
Experience
Availability
Preferred Environment
GitLab, Git, GDB, GCC, LaTeX, C#, FFmpeg, Wireshark, Qmake, CMake, Visual Studio, Qt Creator, Boost, Valgrind, Clang, WebGL, OpenGL, NVIDIA CUDA, OpenCV, Linux, Windows, C++
The most amazing...
...algorithm I've developed was to detect a corneal flap-cut at the runtime during a laser eye surgery with the help of OpenCV library.
Work Experience
C++ Software Engineer
Precitec Optronik GmbH, Neu Isenburg, Germany
- Developed an algorithm for eyelid and eyelash detection on diagnostic eye images and diagnostic rings removal (OpenCV, FFT, Wavelets).
- Developed an algorithm for real-time detection of OP artifacts (e.g. spatula) during the laser ablation (OpenCV + SSE/AVX).
- Developed a cyclotorsion algorithm to measure torsional eye movements in real time (OpenCV + SSE/AVX).
- Created a real-time eye tracking and torsional computation on the Windows platform (OpenCV + CUDA) with OpenGL visualization.
Embedded Software Engineer
Balter Security GmbH, Langenfeld, Germany
- Developed a video server for HiSilicon Hi3516a platform which supports H264/265, and MJPEG encoding, fast video resolution switching, framerate control, WDR, 3D noise reduction, on-screen display, etc.
- Optimized RTSP live video streaming (with H264/HEVC/MJPEG) and HTTP live streaming (HLS).
- Developed a region-based motion detection algorithm utilizing the hardware image shrinker (BoxCar).
- Developed live555-based RTSP streamer to serve up to six streaming clients with up to 15Mbps bitrate on the DM368 platform (RTSP over TCP/UDP, UDP multicast).
- Contributed to system-level development under Linux: network traffic shaping, solving NAND flash issues, u-boot bootloader, flash filesystems support, etc.
C++ Software Engineer
Elektrobit Automotive GmbH, Munich, Germany
- Developed the fast algorithm for alternative routes computation on a multilevel road map for NDS (Navigation Data Standard).
- Adapted the existing ECO-routes computation algorithm based on the Elektrobit's proprietary map format for NDS.
- Integrated continuous turn restrictions on a multilevel routing graph to the routing algorithm.
- Participated in the large module-level refactoring of the entire system.
GPU Consultant
AccelerEyes, Atlanta, US (currently ArrayFire)
- Completed a performance evaluation of ArrayFire/Jacket libraries vs. third-party software, e.g. Thrust, OpenACC.
- Wrote several book chapters on MATLAB parallelization for "Accelerating MATLAB Performance: 1001 Tips to Speed Up MATLAB Programs" book by Yair Altman (Year 2014 edition).
- Developed case studies for the AccelerEyes blog (e.g., https://arrayfire.com/sar-image-formation-algorithms-on-the-gpu).
Postdoctoral Researcher
Max-Planck Institute for Informatics, Saarbruecken, Germany
- Accelerated exact symbolic algorithms from computer algebra on the GPU (CUDA framework).
- Visualized triangulations of algebraic surfaces with OpenGL/WebGL.
- Created non-linear algebraic geometry and computer graphics (polynomial systems, algebraic curves/surfaces, visualization algorithms, etc).
- Developed an open-source CGAL C++ library (https://github.com/CGAL).
Experience
Freelance Work
Multi-threaded Web Server to Manipulate Algebraic Curves and Surfaces Online
Later on, the web server was extended to visualize the exact triangulations of implicit algebraic surfaces with WebGL.
The server features three-level thin-client architecture.
Technologies/Libraries used: Linux IPC, POSIX threads, STL, Boost, Qt, GNU MP, CGI, Macromedia Flash.
Research Project
https://workasm.github.io/publication/2010-ica3pp/Achieved 20-200x speedup vs. 64-bit Maple 14 algorithms. Received best paper award at ICA3PP’10.
Education
Ph.D. in Computer Science
Max-Planck Institute for Informatics - Saarbruecken, Germany
Master's Degree in Computer Science
Max-Planck Institute for Informatics - Saarbruecken, Germany
Bachelor's Degree in Computer Science
Saarland University - Saarbruecken, Germany
Skills
Libraries/APIs
OpenCV, OpenGL, WebGL, FFmpeg, Thrust
Tools
MATLAB Parallel Computing Toolbox, Valgrind, Qt Creator, Visual Studio, CMake, Qmake, Wireshark, LaTeX, GCC, GDB, Git, GitLab, Subversion (SVN), MATLAB
Languages
C++, C#
Platforms
NVIDIA CUDA, Windows, Linux
Paradigms
Refactoring, Continuous Integration (CI), OpenACC
Frameworks
Boost, Qt, LIVE555
Other
Image Processing, Algorithms, Video Streaming, Embedded Software, Software Design, Clang, H.264, H.265, RTP, RTSP, HTTP Live Streaming (HLS), ArrayFire
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