YOLOv5 モデルを OpenVINO にデプロイする方法

関連タグ:1.PyTorch
2. Alluxio Deep Learning Practices - 1: Running PyTorch Framework on HDFS


概要:OpenVINO は Intel が発表した AI ツールスイートで、AI アプリケーションやソリューションを迅速にデプロイするために使用できます。コンピュータビジョンに対応する 150 以上の CNN ネットワーク構造をサポートしています。

はじめに:OpenVINO は Intel が発表した AI ツールスイートで、AI アプリケーションやソリューションを迅速にデプロイするために使用できます。コンピュータビジョンに対応する 150 以上の CNN ネットワーク構造をサポートしています。PyTorch、TensorFlow、Keras、MXNet、Caffe、ONNX などの主要なオープンソースフレームワークと互換性があり、上記のフレームワークで学習したモデルをツールを通じて OpenVINO フレームワークに簡単に変換でき、学習済みモデルの Intel の CPU、GPU、VPU へのデプロイをサポートしています。

1:OpenVINO の概要



百度百科等の情報によれば、OpenVINO は Intel が発表した AI ツールスイートで、AI アプリケーションやソリューションを迅速にデプロイするために使用できます。コンピュータビジョンに対応する 150 以上の CNN ネットワーク構造をサポートしています。PyTorch、TensorFlow、Keras、MXNet、Caffe、ONNX などの主要なオープンソースフレームワークと互換性があり、上記のフレームワークで学習したモデルをツールを通じて OpenVINO フレームワークに簡単に変換でき、学習済みモデルの Intel の CPU、GPU、VPU へのデプロイをサポートしています。

初期体験を希望する開発者にとって、OpenVINO で Intel の CPU に AI モデルをデプロイするのは非常に便利です。OpenVINO スイートには、画像処理パッケージの OpenCV と動画処理ツールの Media SDK も含まれており、画像や動画のデコード、推論結果の前処理と後処理に使用されます。一般的に、モデル推論を行う際は、ほとんどの場合、前処理と後処理が必要です。前処理にはチャンネル変換、サイズ変更、平均化、正規化などが含まれ、後処理ではオブジェクト検出フレームなどの機能を画像に描画する必要があります。これらの操作は OpenVINO と OpenCV を使用して行うことができます。

また、異なるハードウェア環境では、サポートされるモデルと入出力の精度が異なる点に注意する必要があります。以下に、各ハードウェアでサポートされるモデル形式を示します。

上記の図から分かるように、VPU は現在 FP16 モデル形式のみをサポートしています。また、以下のハードウェアで最適化されています:
• 第 6 世代から第 12 世代の Intel® Core™ プロセッサおよび Intel® Xeon® プロセッサ
• 第 3 世代 Intel® Xeon® スケーラブルプロセッサ(旧コード名 Cooper Lake)
• Intel® Xeon® スケーラブルプロセッサ(旧 Skylake および Cascade Lake)
• Intel® Streaming SIMD Extensions 4.1(Intel® SSE4.1)をサポートする Intel Atom® プロセッサ
• Intel® HD Graphics 搭載の Intel Pentium® プロセッサ N4200/5、N3350/5、または N3450/5
• Intel® Iris® Xe MAX Graphics
• Intel® Neural Compute Stick 2
• Intel® Movidius™ VPU を搭載した Intel® Vision Accelerator Design

2:YOLOv5 の概要



YOLOv5 は YOLO(You Only Look Once)アルゴリズムの第 5 版です。YOLO は現在のリアルタイムオブジェクト検出アルゴリズムの代表的な存在であり、2016 年に Redmon らの論文で発表され、現在ではさまざまな AI オブジェクト検出シナリオで広く使用されています。画像内の人物、車、動物などのオブジェクトカテゴリを非常に高い精度で検出できます。YOLOv4 の推論精度は一部のシナリオで YOLOv5 を上回ることがありますが、YOLOv5 の新機能はより魅力的です。たとえば、YOLOv5 は検出の平均精度を低下させることなく、推論モデルファイルの小型化、学習時間の短縮、推論速度の向上を実現しています。このため、精度要件が高くない場合、モデル構築やモデルデプロイにおいて YOLOv5 の使用がより便利で、推論速度も高速になります。

公式サイトのソースパスは次の通りです:。公式サイトでは、YOLOv5(6.0 リリース)の異なる事前学習済み重みモデル(YOLOv5s、YOLOv5m、YOLOv5n など)も提供されています。OpenVINO に適応するため、ここでは YOLOv5 v5.0 バージョンを選択します。重みモデルファイルとソースコード yolov5-5.0 は https://github.com/ultralytics/yolov5/releases/tag/v5.0 からダウンロードできます。



3:適応環境の概要


• オペレーティングシステム:Windows 10(Intel CPU)
• Python バージョン:Python 3.7.7
• OpenVINO Python パッケージ:openvino 2021.4.2
• YOLOv:yolov5-5.0
• netron 5.5.3
• onnx 1.10.2
• opencv-python:4.5.4.60
OpenVINO スイートについては、公式サイトからダウンロードできます。

さらに、openvino_toolkit には他の依存関係(C++ 環境)もインストールする必要があります。cmake-3.22.1-windows-x86_64.msi と MSBuild 付きの Visual Studio 2019 をインストールします。Visual Studio Community Edition をインストールすることで対応でき、C++ デスクトップ開発環境などのコンポーネントにチェックを入れる必要があります。詳細は、OpenVINO 公式サイトのドキュメントを参照してください:
https://docs.openvino.ai/latest/openvino_docs_install_guides_installing_openvino_windows.html。環境の構築後、以下の CMD コマンドを実行して C++ 環境が正常に設定されたか確認できます:

#環境変数の一時的な設定
#ディレクトリの切り替え
#依存関係のインストール
install_prerequisites.bat
#デモのコンパイルと実行
demo_security_barrier_camera.bat

関連記事

特別オファーをもっと見る

  1. Short Message Service (SMS) とメールサービス

    5 万通のメールパッケージが USD 1.99 から、120 通のショートメッセージが USD 1.00 のみ

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.