histoire à succès

Refactoring d'une solution basée sur la vision par ordinateur utilisée dans la détection des déversements sur les plateformes pétrolières

Amélioration du pipeline CI/CD et mise à jour des applications destinées aux clients, permettant au client d'élargir sa clientèle.
challenge_icon
le défi
Les applications embarquées, structurées comme une entité monolithique avec des sous-systèmes étroitement couplés et des couches d'abstraction matérielle (HAL) limitées, ont entravé l'intégration des tests unitaires dans les pipelines d'intégration continue/déploiement continu (CI/CD). L'adaptation de la solution à divers périphériques d'entrée/sortie du système SRP s'est avérée complexe en raison des HAL restreintes. De plus, les sous-systèmes interconnectés ont entravé l'utilisation de piles logicielles dédiées pour le traitement d'images, l'IA, l'IoT et les HAL. La mise en œuvre de YOLOv4 pour la détection des marqueurs a nécessité une évaluation rigoureuse de la fiabilité, de l'efficacité et de la précision. Il était essentiel de comparer d'autres approches d'inférence telles que OpenCV, ONNX et OpenVINO à YOLOv4. L'amélioration du développement, du déploiement et de l'expérience utilisateur a nécessité des améliorations dans les systèmes de construction, la gestion des dépendances, la surveillance à distance, les systèmes de gestion et les applications web destinées aux clients.
process_icon
la solution
Nous avons relevé ce défi en restructurant l'application intégrée, en améliorant le pipeline CI/CD et en mettant à jour les applications destinées aux clients. Les sous-systèmes de l'application intégrée ont été modularisés avec des fonctions et des limites claires, et ceux qui interagissent avec du matériel externe ont été isolés à l'aide de HAL bien définis. Des tests automatisés, des évaluations de la qualité et de la couverture du code ont été intégrés dans les pipelines CI/CD afin de vérifier chaque sous-système, et le processus de compilation a été amélioré grâce à des gestionnaires de dépendances et de paquets. L'architecture modulaire a permis la mise en place de microservices et de piles logicielles sur mesure. La mise en œuvre de YOLOv4 pour la détection d'ancres a fait l'objet de tests de performance et d'exécution rigoureux. D'autres approches d'inférence (OpenCV, ONNX, OpenVINO) ont été explorées, et une transition transparente depuis YOLOv4 a été facilitée grâce à la modularisation et à des suites de tests indépendantes.
solution_icon
le résultat
Les améliorations ont considérablement renforcé la stabilité du système, grâce à des enregistreurs d'événements repensés permettant un dépannage systématique pour des résolutions rapides. Les nouvelles interfaces HAL ont permis une commutation dynamique entre les configurations d'entrée/sortie et les émulations matérielles. Des piles logicielles sur mesure ont amélioré l'efficacité et la précision des algorithmes de détection des fuites d'huile et des services d'assistance (IoT, HAL). Les limites clairement définies des cadres d'inférence ont permis une configuration à l'exécution pour des résultats optimaux. Les pipelines CI/CD optimisés ont réduit au minimum la complexité, les efforts et le temps nécessaires au déploiement. Ces modifications ont simplifié la personnalisation, permettant au client d'élargir sa clientèle.