RT-DETRv2による物体検出・ByteTrackによる追跡とByteTrackの可視化,TTAの機能付き(COCO 80クラス)(ソースコードと説明と利用ガイド)

【概要説明】 [PDF], [パワーポイント]

RT-DETRv2物体検出 RT-DETRv2物体検出

プログラム利用ガイド

色分けによる検出の可視化

画面表示の改善

設定値

可視化により、ByteTrackがどのように動作しているかが明確に分かります:

プログラムを実行すると、これらの色分けがリアルタイムで確認できます。

事前準備

ここでは、最低限の事前準備について説明する。機械学習や深層学習を行う場合は、NVIDIA CUDA、Visual Studio、Cursorなどを追加でインストールすると便利である。これらについては別ページ https://www.kkaneko.jp/cc/dev/aiassist.htmlで詳しく解説しているので、必要に応じて参照してください。

Python 3.12 のインストール

インストール済みの場合は実行不要。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。

REM Python をシステム領域にインストール
winget install --scope machine --id Python.Python.3.12 -e --silent
REM Python のパス設定
set "PYTHON_PATH=C:\Program Files\Python312"
set "PYTHON_SCRIPTS_PATH=C:\Program Files\Python312\Scripts"
echo "%PATH%" | find /i "%PYTHON_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_PATH%" /M >nul
echo "%PATH%" | find /i "%PYTHON_SCRIPTS_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_SCRIPTS_PATH%" /M >nul

関連する外部ページ

Python の公式ページ: https://www.python.org/

AI エディタ Windsurf のインストール

Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。

管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行して、Windsurfをシステム全体にインストールする。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。

winget install --scope machine Codeium.Windsurf -e --silent

関連する外部ページ

Windsurf の公式ページ: https://windsurf.com/

必要なパッケージのインストール

管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行する:


pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip install -U transformers opencv-python numpy pillow boxmot

RT-DETRv2による物体検出プログラム・ByteTrackによる追跡とTTAの機能付き(COCO 80クラス)

概要

このプログラムは、RT-DETRv2を用いた物体検出システムである。動画ファイル、ウェブカメラ、サンプル動画から取得した映像に対してリアルタイムで物体検出を実行し、COCOデータセット80クラスの物体をバウンディングボックスで表示する。検出精度の向上を目的として、CLAHE(コントラスト制限付き適応ヒストグラム均一化)とTTA(Test-Time Augmentation)を組み合わせた前処理を実装している[1][2]。

主要技術

RT-DETRv2(Real-Time Detection Transformer version 2)

Peking UniversityとBaiduが開発したリアルタイム物体検出Transformerの改良版である[1][2]。RT-DETRの後継として、選択的マルチスケール特徴抽出、離散サンプリング演算子、動的データ拡張によりBag-of-Freebiesアプローチを実装し、速度を損なうことなく精度を向上させる。NMS(非最大抑制)を必要としないエンドツーエンドのアーキテクチャを採用する。

CLAHE(Contrast Limited Adaptive Histogram Equalization)

Zuiderveldが1994年に提案したコントラスト強化手法である[3][4]。画像を小領域(タイル)に分割し、各タイルでヒストグラム均一化を適用する。コントラスト制限機能により、ノイズの過度な増幅を防止する。

ByteTrack

カルマンフィルタとハンガリアンアルゴリズムを組み合わせた物体追跡手法である。低信頼度検出も含めた2段階の関連付けにより、遮蔽環境でも安定した追跡を実現する。

技術的特徴

実装の特色

リアルタイム映像処理に特化した設計を採用し、以下の機能を備える:

参考文献

[1] Lv, W., Zhao, Y., Chang, Q., Huang, K., Wang, G., & Liu, Y. (2024). RT-DETRv2: Improved Baseline with Bag-of-Freebies for Real-Time Detection Transformer. arXiv preprint arXiv:2407.17140.

[2] Hugging Face. (2024). RT-DETRv2 Documentation. https://huggingface.co/docs/transformers/en/model_doc/rt_detr_v2

[3] Zuiderveld, K. (1994). Contrast limited adaptive histogram equalization. Graphics gems IV, 474-485.

[4] OpenCV Team. (2024). Histogram Equalization Documentation. https://docs.opencv.org/4.x/d5/daf/tutorial_py_histogram_equalization.html

[5] Shanmugam, D., Blalock, D., Balakrishnan, G., & Guttag, J. (2021). When and why test-time augmentation works. arXiv preprint arXiv:2011.11156.

[6] Machine Learning Mastery. (2020). How to Use Test-Time Augmentation. https://machinelearningmastery.com/how-to-use-test-time-augmentation-to-improve-model-performance-for-image-classification/

ソースコード