success story

Refactoring a computer vision-based solution used in oil rig spill detection

Improving the CI/CD pipeline and updating customer-facing applications, empowering the client to expand its clientele
challenge_icon
the challenge
The embedded applications, structured as a monolithic entity with tightly coupled subsystems and limited hardware abstraction layers (HAL), impeded unit testing integration in Continuous Integration/Continuous Deployment (CI/CD) pipelines. Adapting the solution for various input/output devices at the SRP system was complex due to restricted HALs. Additionally, interconnected subsystems hindered the use of dedicated software stacks for image processing, AI, IoT, and HAL. Implementing YOLOv4 for marker detection necessitated rigorous evaluation of reliability, efficiency, and accuracy. Benchmarking alternative inference approaches like OpenCV, ONNX, and OpenVINO against YOLOv4 was crucial. Enhancing development, deployment, and user experience required improvements in build systems, dependency management, remote monitoring, management systems, and customer-facing web applications.
process_icon
the solution
We addressed the challenge by restructuring the embedded application, improving the CI/CD pipeline, and updating customer-facing applications. Subsystems in the embedded application were modularized with clear functions and boundaries, and those interacting with external hardware were isolated with well-defined HALs. Automated testing, code quality and coverage assessments were integrated into CI/CD pipelines to verify individual subsystems, and the build process was enhanced with dependency and package managers. The modular architecture enabled microservices and tailored software stacks. The YOLOv4 implementation for anchor detection underwent rigorous benchmarking and runtime testing. Alternative inference approaches (OpenCV, ONNX, OpenVINO) were explored, and a seamless transition from YOLOv4 was facilitated with modularization and independent test suites.
solution_icon
the outcome
The improvements greatly enhanced system stability, with revamped event loggers enabling systematic troubleshooting for swift resolutions. Newly implemented HALs allowed dynamic switching between input/output configurations and hardware emulations. Tailored software stacks improved the efficiency and accuracy for oil leakage detection algorithms and support services (IoT, HAL). Clearly defined boundaries of inference frameworks enabled runtime configuration for optimal results. Optimized CI/CD pipelines minimized deployment complexity, effort and time. These modifications simplified customization, empowering the client to expand its clientele.