OpenVINOで実現するGPUなしの高性能画像処理AI
こんにちは、DAI LabsのBryan Atwoodです。今回は、OpenVINOを使ってGPUなしの環境で高性能な画像処理AIを実現した事例をご紹介します。
DAI Labsについて
まず、簡単に会社紹介をさせていただきます。DAI Labs株式会社は2023年に設立された東京を拠点とするAIサービス企業で、世界中のさまざまな業界向けにAIアプリケーションを構築しています。これまでに画像・動画認識、コーディングコパイロット、画像理解を備えたチャットボットなどの実績があります。
OpenVINOの活用
私たちは、エッジ計算が必要なプロジェクトのために、PytorchアプリケーションをOpenVINOに変換しています。OpenVINOを使用することで、以下のメリットがあります:
- Pytorch CPUと比較して5〜10倍の性能向上
- GPUでのトレーニングが可能なシンプルなポストトレーニング変換プロセス
- PCリソースが限られているクライアント向けに、全体のファイルサイズとシステム要件を低減
今回は、OpenVINOを活用した2つのプロジェクトについてご紹介します。
動画からの画像分類
プロジェクト概要
このプロジェクトは、京都を拠点とするトンネル掘削機用ソフトウェアを開発する企業、(株)演算工房 (https://www.enzan-k.com)*1 との共同開発により行いました。。私たちは、映像を監視し、掘削プロセスの効率性とスピードを向上させるため、機械オペレーターにフィードバックを提供するAIベースのソフトウェアの構築を支援しました。
掘削プロセスの品質を10 fpsで測定する分類AIを開発しました。この AIは動画フレームを「良好」「注意」「不良」「停止」の4つのカテゴリに分類します。
OpenVINO導入の動機
グラフィックカードなしのPCで、10 fpsの動画をリアルタイムで処理することを目指しました。このプロジェクトでは、ベースモデルとして3D CNNを使用していますが、古いハードウェアではかなり遅くなることがあります。
OpenVINO変換プロセス
3D CNNのPytorchからOpenVINOへの変換は非常に簡単でした。以下は変換の主要なステップです:
- JITスクリプトのロード
- OpenVINOモデルへの変換
- 変換したモデルの保存
- デバイス上でのOpenVINOモデルのロードと実行
パフォーマンス比較
Core™ i7 13700H、13th Gen、14コア、NVidia 4060の環境で測定した結果は以下の通りです:
Pytorch GPU: 10 ms (50 frames @ 10fps)
Pytorch CPU: 140 ms
OpenVINO CPU: 20 ms
OpenVINOへの変換により、Pytorch CPUと比較して7倍の性能向上を達成し、リアルタイム処理が可能になりました。
まとめ
OpenVINOを活用することで、GPUなしの環境でも高性能な画像処理AIを実現することができました。特に、リソースの制限されたエッジデバイスでの実行や、大規模なデータセットの処理において、その効果は顕著です。
今回紹介した2つのプロジェクトは、OpenVINOの潜在能力を示す一例に過ぎません。今後も、さまざまな分野でOpenVINOを活用し、効率的なAIソリューションを提供していきたいと考えています。
ご質問やご相談がありましたら、お気軽にお問い合わせください。
Web: http://dailabs.ai
Email: info@dailabs.ai
最後までお読みいただき、ありがとうございました。
*1 (株)演算工房 本社技術営業本部(https://www.enzan-k.com/contact.html)