はじめに
近年、AI(Artificial Intelligence:人工知能)の急速な発展に伴い、それらを用いた技術が活用され始めています。例えば、AIによる画像認識技術として物体検出などがあります。物体検出は「画像の中から特定の物体の位置、種類、個数などの情報を認識する技術」であり、AIを用いて比較的高速に画像内の物体情報を取得することができます。この技術を用いて製造業では品質評価、外観検査、異常検知などに活用されています。
リアルタイムに物体検出を行うアルゴリズムにYOLO(You Only Look Onse)と呼ばれるものがあり、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)を用いたアルゴリズムとなっています。2021年8月に公開された最新の物体検出モデルにYOLOXがあり、これはYOLOv5を超える性能と、使いやすいライセンス(Apache License)を両立しています。
さらに、このYOLOXで検出した人のBoundingBoxにByteTrackを適用することで、人にIDを付与することができるトラッキングモデルにByteTrackと呼ばれるモデルが2021年10月に公開されました。
本記事ではByteTrackの動作環境の構築の方法とデモの実行方法を紹介します。
- はじめに
- 1. ByteTrackのリポジトリ
- 2. Ubuntuでの環境構築
- 3. 必要なパッケージのインストール
- 4. Cmakeのインストール
- 5. ByteTrackをクローンして環境構築
- 6. ByteTrackのモデルをダウンロード
- 7. デモの実行
- オススメ書籍
- スキル修得&転職
- おわりに
1. ByteTrackのリポジトリ
2. Ubuntuでの環境構築
Python: 3.8.10
-venvで仮想環境構築:
3. 必要なパッケージのインストール
以下のコマンドで必要なパッケージをインストールしてください。
4. Cmakeのインストール
以下のコマンドでCmakeのインストールとビルドを行ってください。以下ではCmake-3.15.2を使用しています。バージョンによっては5のpipのインストールのonnx部分でエラーが出ました。
Cmake:https://cmake.org/download/
Cmakeのリポジトリ:https://github.com/Kitware/CMake/releases
5. ByteTrackをクローンして環境構築
以下のコマンドでByteTrackをクローンとpipのインストールをして実行環境を構築してください。
6. ByteTrackのモデルをダウンロード
GithubのMOT20 test modelのリンクからダウンロードしてください。その際、ByteTrackディレクトリに適当にmodelフォルダを作成し、そちらに保管してください。
7. デモの実行
今回以下のリンクから動画を取得して、デモに使用しました。ByteTrackディレクトリ内でvideoフォルダを作成し、こちらの動画をsample_movie.mp4として保存しました。
それでは、デモをしてみます。以下のコマンドで、MOT20 test modelのモデルを用いてサンプル動画に対してデモを行います。
デモの結果は以下のようになります。概ねすべての人にバウンディングボックスが表示されて、IDが付与されてトラッキングできているのがわかります。
【動画1】
【動画2】
【動画3】
【動画4】
オススメ書籍
物体・画像認識と時系列データ処理入門
現場で使える!PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装
PyTorchで作る!深層学習モデル・AIアプリ開発入門
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事では、トラッキングモデル・ByteTrackの動作環境の構築の方法とデモの実行方法を紹介しました。本内容を活用することで人物トラッキングが可能となり、人物検知、行動分析、入出店検知などに応用することができます。