成功事例

石油掘削装置の流出検知に使用されるコンピュータ・ビジョン・ベースのソリューションのリファクタリング

CI/CDパイプラインを改善し、顧客向けアプリケーションを更新することで、クライアントの顧客拡大を支援。
challenge_icon
課題
組込みアプリケーションは、緊密に結合されたサブシステムと制限されたハードウェア抽象化レイヤー(HAL)を持つモノリシックなエンティティとして構造化されており、継続的インテグレーション/継続的デプロイメント(CI/CD)パイプラインにおけるユニットテストの統合を妨げていた。SRPシステムの様々な入出力デバイスにソリューションを適応させることは、制限されたHALのために複雑だった。さらに、相互接続されたサブシステムが、画像処理、AI、IoT、HALのための専用ソフトウェアスタックの使用を妨げていた。マーカー検出のためにYOLOv4を実装するには、信頼性、効率、精度を厳密に評価する必要があった。OpenCV、ONNX、OpenVINOなどの代替推論アプローチのYOLOv4に対するベンチマークは極めて重要だった。開発、デプロイメント、ユーザー・エクスペリエンスの向上には、ビルド・システム、依存関係管理、リモート・モニタリング、管理システム、顧客向けウェブ・アプリケーションの改善が必要だった。
process_icon
解決策
私たちは、組み込みアプリケーションの再構築、CI/CDパイプラインの改善、顧客向けアプリケーションの更新によって、この課題に対処しました。組み込みアプリケーションのサブシステムは、明確な機能と境界でモジュール化され、外部ハードウェアと相互作用するものは、明確に定義されたHALで分離された。自動化されたテスト、コード品質、カバレッジ評価は、個々のサブシステムを検証するためにCI/CDパイプラインに統合され、ビルドプロセスは依存関係とパッケージマネージャによって強化された。モジュラー・アーキテクチャは、マイクロサービスとカスタマイズされたソフトウェア・スタックを可能にした。アンカー検出のためのYOLOv4実装は、厳密なベンチマークとランタイムテストを受けた。代替の推論アプローチ(OpenCV、ONNX、OpenVINO)が検討され、モジュール化と独立したテスト・スイートにより、YOLOv4からのシームレスな移行が促進された。
solution_icon
結果
この改良により、システムの安定性が大幅に向上し、刷新されたイベント・ロガーにより、迅速な解決のための体系的なトラブルシューティングが可能になった。新たに実装されたHALは、入出力構成とハードウェア・エミュレーションの動的な切り替えを可能にした。調整されたソフトウェアスタックは、油漏れ検知アルゴリズムとサポートサービス(IoT、HAL)の効率と精度を向上させた。推論フレームワークの境界を明確に定義することで、最適な結果を得るためのランタイム設定が可能になった。CI/CDパイプラインの最適化により、デプロイの複雑さ、労力、時間を最小限に抑えた。これらの修正によりカスタマイズが簡素化され、クライアントは顧客層を拡大できるようになった。