About Me
Senior R&D Computer Vision Engineer with over 10 years of experience and a wide range of completed projects in various fields. I have a strong understanding of how to organize work in new areas, select development and research directions, analyze results, and make informed decisions.
I place a high emphasis on clear solution design, unit tests, documentation, code readability, continuous integration (CI), and continuous benchmarks (CB).
My goal is to create effective, user-friendly, and maintainable solutions.
Location: Barcelona, Spain
Skills
C++ as main language
Python for prototyping
Matlab for algorithms reference implementation and documentation
CMake as main framework for build, test and benchmark project
Conan, vcpkg for crossplatform dependencies management
OpenCV, DLib as computer vision libs
Ceres, GTSAM as nonlinear solver libs
Blaze, Eigen as linear algebra libs
GNUPlot, Matplotlib, plotly, dash for visualization
GIT as version control system
Catch2 as test framework
CLion, NeoVim as IDE and code editor
Opensource Activity
Personal project
- Implemented a simple and effective solution for precise image alignment and camera pose estimation, addressing key challenges in AR, drone landing, and SLAM applications
Well-known computer vision library
- Contributed to the calibration module, implementing fixes for pinhole and fisheye camera models
- Developed unit and performance tests to ensure reliability and efficiency
- Improved and expanded documentation for better usability
- Participated in the OpenCV community by addressing issues and submitting pull requests issues PRs
Experience
Tezzro
Computer Vision Research Engineer
June 2023 - Present
- Developed a multi-camera calibration method and calibrated 70 cameras in a single space, achieving triangulation accuracy of less than 3 cm
- Identified and reported errors in the OpenCV module related to 2D marker detection
- Proposed a calibration method using LIDAR, which provided similar accuracy but was easier to use compared to the method using only cameras
- Created a real-time algorithm for human pose estimation, achieving accuracy within 5 cm despite low detection precision and unsynchronized cameras
Artial
Autonomy Lead/Startup Consultant
April 2023 - May 2023
- Laid a solid foundation for the successful development of software for optical navigation of UAVs
- Organized and planned technical workflows for UAV optical navigation software development
- Created software architecture for SLAM, obstacle avoidance, drone control, path planning, and sensor integration
- Developed integration testing and benchmarking approaches
- Set up and integrated CI and CD into the development process
- Optimized linear algebra algorithms, achieving performance improvements ranging from 10x to 1000x
- Maintained the Metric library: created unit tests and benchmarks with Catch2, set up pre-commit hooks and CI, modernized the build system with CMake, and revised the documentation
- Implemented statistical algorithms
- Created a tiny DNN engine with dense and convolutional layers from scratch
- Optimized the Daubechies wavelets algorithm using the Blaze linear algebra library to enhance performance and efficiency
- Created a build system for a python project with embedded C++ code using modern CMake, Conan, pybind11, and scikit-build
- Created a Conan package for WaveletBuffer and added it to conan-center-index
Huawei, R&D department, AR/VR laboratory
Senior C++ Computer Vision Engineer
December 2019 — September 2021
huawei.com
- Led the development of a SLAM backend engine from scratch, completing the project within three months. Efficiently organized team workflow, achieving 20% higher accuracy compared to a solution developed by another department over the course of a year
- Developed and implemented a real-time algorithm for precise camera localization using 2D barcodes, achieving 10 times the accuracy of standard methods
- Developed an original Python algorithm for determining the spatial position of a VR controller with a dot pattern, achieving performance several times faster than other teams’ solutions
- Conducted research and testing of GTSAM as part of a review of modern SLAM solutions, identified a critical issue that made it less effective than Ceres Solver for SLAM applications, and communicated the problem to the author on GitHub, resulting in its resolution issue)
- Researched methods for representing urban landscapes in SLAM as planes and geometric primitives, aiming to reduce memory usage and improve landscape part matching
Contractor (upwork.com, freelansim.ru, etc)
C++ Computer Vision Engineer
May 2012 — December 2021
upwork.com
Completed many different projects, providing a broad view of the industry. Handled all stages independently, from the creation of the terms of reference to development, communication, and project delivery. This experience provided a comprehensive understanding of the entire development cycle and related areas, beyond just programming
- Achieved 100% Job Success Rate, earned Top Rated Status, and received an 85% Client Recommendation Rate on Upwork
- Designed and implemented a stereocamera system with two single cameras, including calibration and synchronization
- Developed an application for one-hand large gesture recognition using a single-lens camera
- Created a sportsmen ID identification system using a self-developed 2D-barcode with checksum
- Engineered a hockey training device with two high-speed cameras to detect puck trajectory, velocity, and hit points
- Developed a UAV landing system tracking a QR code with a single camera, achieving high accuracy in poor light and weather conditions
- Built a video search engine to find modified clips (color, crop, reflection) within a video database
- Processed drone aerial photos to produce orthophoto maps and 3D reconstruction models
- Ported mobile application from Android to Samsung Bada OS
- Developed a custom augmented reality engine from scratch in C++, optimized for real-time performance and low hardware requirements
- Implemented hand gesture recognition using Kinect to create an interactive user interface
- Created a face tracking application capable of detecting, cropping, morphing, and overlaying faces in video segments automatically
- Led a team of two engineers, overseeing project planning and execution
Education
National Research Nuclear University MEPhI (Moscow Engineering Physics Institute)
Master's degree in Experimental and Theoretical Physics, specializing in Radiation Protection and Dosimetry
September 2003 - August 2009
Founded in 1942, MEPhI is the world's leading university in the field of theoretical and experimental nuclear physics
Received a strong education in physics and mathematics, along with extensive research experience