The business challenge
The beneficiary of our services is a company part of the top 100 Forbes, with more than 100 billions EUR in revenues. They are world leaders in Consumer Electronics, Home Appliances, Home Entertainment, Mobile Communications, Solar and Display Technologies.
The challenge was to develop an object detection system for automotive use. This application should identify obstacles and evaluate distances to obstacles, using only one video source from a moving camera.
The targeted platform is a mobile and embedded hardware with a monocular vision that should be power efficient in real time.
Our solution
We developed a solution that uses sensor information for ground plane estimation:
- We aggregated obstacle information from multiple methods, using different algorithms
- All results were incorporated in one final output
- We solved a broad range of issues: input stabilization (vibration), image registration, dynamic object identification
- Our solution involved a lot of parallelization and optimization work, for GPUs, SIMD/MIMD processors
- It is able to work in different environments (day/night, sunny/cloudy etc)
Team setup
We embrace Agile methodologies in most of our projects. Many times it is our customers and partners who ask us to use Agile methodologies (Scrum, Kanban) from the inception of the project. When the choice is left to our engineers, we carefully analyze the project specifics, and we propose a project management methodology based on Scrum or Kanban which best fits the specific project needs and context.
The development team consisted in 5 R&D developers based in our headquarters, one researcher and also a development team on our client premises. We worked closely with the Client Service Team and the Infrastructure team to offer tech support and maintenance when needed.
Architecture & Technologies
Architecture
The software solution is integrated into an automotive hardware module.
Technologies
- C/C++, Python, Java
- Open CL, Open CV
- Matlab/Octave
- Mobile and Embedded platform optimization