AI駆動コンピュータビジョンによる堅牢なUAV検出・追跡
概要
テクノロジーの革新に伴い、セキュリティは処理すべき最大の課題となっています。ドローンへのアクセスが指数関数的に増加し、一般的なセキュリティに大きな脅威を与えています。UAVの使用はここ数年で増加しています。セキュリティ問題を念頭に、ここに解決策を提案します。まずUAVを検出し、その後その経路を追跡します。
物体検出には、コンピュータビジョンの深層学習アルゴリズムが非常に効果的です。入力はYOLOによって処理されます。YOLOはリアルタイム物体検出と追跡に使用されるニューラルネットワークです。
2.1 UAVの概念理解
「コンピュータビジョンを用いたUAV検出と追跡」というタイトルの通り、UAV(無人航空機)はパイロットなしで、遠隔操作またはオンボードコンピュータで制御される航空機です。
UAVは農業、科学研究、気象予報、配送、救助活動、医療など有益な目的で使用できます。攻撃、ミサイル攻撃、標的殺害など有害な目的にも使用され得ます。
2.2 コンピュータビジョンとは?
コンピュータビジョンは、コンピュータに人間の視覚と同様に見せ、識別し、画像を処理させ、適切な出力を提供する科学分野です。コンピュータビジョンはほぼすべての分野で使用されています:
- 物体・顔検出
- ロボット手術と医療診断
- 画像処理
- 農業
- 宇宙技術(NASAの火星探査車は地形モデリング、経路障害物検出、パノラマ画像合成の機能を持つ)コンピュータビジョンの応用は図1.4に示す
2.3 画像処理技術とは?
画像処理技術は、コンピュータビジョンがさまざまなタスクを実行するために使用します。画像として取得された後、画像の品質を向上させたり特定の結果を得るために実行される操作と適用される手法を画像処理と呼びます。
画像処理は、今日、情報技術の中で最も急速に進化する分野の一つと見なされており、ビジネスのあらゆる分野で応用が拡大しています。画像処理の応用例:
画像処理のユースケース
画像処理は以下の分野で使用できます:
- ロボティクス
- 医療
- パターン認識
- ビデオ処理
- 顔検出
2.4 ソフトウェア要件
- Anaconda
- Spyder
- Python
- Open-CVライブラリ
3. 物体検出アルゴリズム
物体検出には多くのアルゴリズムが存在します。そのいくつかは以下の通りです:
- VIOLA AND JONES
- 畳み込みニューラルネットワーク(CNN)
- You Only Look Once(YOLO)
- Single Shot Detector(SSD)
- Region Convolutional Neural Networks(R-CNN)
表3.1:検出アルゴリズム
| アルゴリズム | 説明 | 強み | 弱点 |
|---|---|---|---|
| VIOLA AND JONES(Viola-Jonesアルゴリズムは2001年にPaul ViolaとMichael Jonesによって設計) | 主な目的は顔と物体の検出。リアルタイムで物体を検出可能。画像を与えるとアルゴリズムは小さなサブ領域を見て、各サブ領域の特別な特徴を見て物体を見つけようとする。Viola-JonesアルゴリズムはHaar-like特徴を使って物体を検出 |
|
|
| CNN(畳み込みニューラルネットワーク)1980年に福島邦彦によって導入 | 生物学的に着想された階層モデルで、多様な検出、認識、セグメンテーションを実行するよう訓練可能。基本的に深層学習アルゴリズムで、画像を入力として受け取り、画像内の物体に学習可能な重みとバイアスを割り当て、それらを区別する |
|
|
| YOLO(You Only Look Once) | リアルタイム検出アルゴリズム。ニューラルネットワークアルゴリズムを画像に適用し、画像をS×Sグリッドに分割し、画像の周りに境界を作り、各境界の可能性を予測。回帰を使用 |
|
1. グリッドセルごとに1物体のみ検出。 2. 精度より高性能を優先。 |
| SSD(Single Shot Detector) | このメソッドはシングルショットで複数物体を検出し、非常に高速。リアルタイム実装向けに設計。バックボーンとSSDヘッドの2コンポーネントを含む |
|
|
ここではYOLOニューラルネットワークアルゴリズムを使用します。このアルゴリズムはリアルタイム実装に非常に高速です。ニューラルネットワークアルゴリズムを使用し、画像をS×Sグリッドに分割し、画像の周りに境界を作って各境界の可能性を予測します。検出アルゴリズムは表4.4に示されています。
3.1 追跡アルゴリズム
物体を検出した後、次の焦点は追跡です。検出された物体が凧や鳥なら追跡の必要はありませんが、ドローンならターゲットを追跡します。
物体追跡には多くのアルゴリズムが使われます。しかし再びYOLOを追跡に使用します。このアルゴリズムは高速で精度が高く、ターゲットがカメラの範囲外に出るまで検出と追跡が可能だからです。
4. 提案設計の実装
ここでは提案設計の実装を行います。プロジェクトをソフトウェア上で実行するために必要なすべてのステップを実行します。
4.1 初期段階
- 画像処理には良いCPU/GPUが必要、CPUを選択。ウェブサイトからAnacondaをインストール。Anacondaのインストールは図4.1に示す

- Anaconda Navigatorのインストール後、環境ダイアログボックスの助けを借りて環境を作成し、Pythonバージョンを選択。
- 環境作成成功後、次は使いやすいSpyderをインストール。その後、コマンド「pip install cv2」でOpenCVをインストール。

4.2 データセットの準備
- ドローン、鳥、飛行機、ヘリコプター、凧、気球など、さまざまな空中物体の画像を大量に収集。
注: データセット作成は単に画像を集めるだけではありません。画像に名前を付け、各画像内の特定物体の位置も指定します。そのためにLabelImgというソフトウェアを使用し、画像をテキストファイルに変換します。図4.6に示す
- すべての物体のTxtファイルが作成されたら、すべての画像とテキストファイルをzipファイルにまとめます。含まれるクラスの名前ファイルも作成。

4.3 YOLO設定
設定には以下のステップを実行:
- YOLO v3でDarknetをインストール。
- YOLOを設定するため、darknet/dataにフォルダを作成し、以前作成したデータセットのすべての画像と.txtファイルを含める。
- カスタム設定ファイルを作るため、cfgのYOLO v3で必要な変更を行い、バッチ、サブディビジョン、最大バッチをクラスとステップに関して調整。
- クラス数を入力する際、YOLOの上の畳み込み層も変更。randomを1に設定。cfgパラメータは表4.1に示す
表4.1:CFGパラメータ
| 名前 | 説明 |
|---|---|
| Batch | 順伝播で勾配を計算し、逆伝播法で重みを更新するために使用される画像とラベルの数。 |
| Subdivisions | バッチを多くの「ブロック」に細分化。ブロックの画像は並列で実行される。 |
| Steps | 500,1000: 500と1000バッチ後に学習率を調整。 |
| Layers (Filters) | 層にいくつの畳み込みカーネルがあるか。 |
| Layers (Random) | YOLO層に配置。1に設定すると、数バッチごとに画像を異なるサイズにリサイズしてデータ拡張を行い、物体サイズに関して一般化する。 |
- data/obj.namesでカスタムオブジェクトフォルダを作成し、検出したいすべての名前(ドローン、UAV、鳥、凧など)を記述。
- obj.dataにクラス数、train.txt、valid、names、weightsフォルダを含めて保存。

- train.txtにすべてのデータと画像名を保存。

4.4 自分のデータセットでYOLOを訓練
カスタマイズされたデータセットでのYOLO訓練もDarknetを通じて行います。Darknetをクローンし、OpenCVも有効化。上記で作成したZIPフォルダ、.cfgファイル、.namesファイル、obj.dataファイル、train.txtファイルを取り、YOLO v3の訓練のためにDarknetネットワークを設定し、実行回数をカウント。
数千回のイテレーション(CPUパワーに基づき約2時間)後、平均損失を示しながら、システムと統合して使用可能な訓練済みデータセットが準備されます。
4.5 画像とビデオ入力でのコードテスト
カスタマイズされたデータセットでYOLOを訓練した後、訓練済みデータセット(YOLO weightsと呼ばれる)でコードをテスト開始。この場合4クラスあります。
さまざまなものでYOLO検出を試みます。大きなweightsは精度では良いが、フレームレートが低いため処理がやや遅い。UAV、鳥のビデオを作成し、このデータをコードに入力。すべての物体が与えられたラベル、fps、閾値で正常に検出・追跡されます。
Webカメラのリアルタイム入力で範囲を変更し、UAVを飛ばしながら結果を記録することで、コードをリアルタイムシナリオでテスト。出力は要求通り「UAVの検出と追跡」として表示されます。

産業技術
- Raspberry Pi 3でコンピュータビジョン搭載SmartThingsモーションセンサー
- Microsoft KinectをRaspberry Piと統合しSonbiロボットでリアルタイム人物検出
- コンピュータビジョンが効率化とコスト削減を実現する7つの実証済み方法
- インダストリー4.0を革新する:コンピュータビジョンがスマート製造をどう推進するか
- PCオシロスコープ:コンピュータを使った低コスト波形解析機の構築
- Mastercam Unit 7:画像管理とツールパス作成
- ロボットビジョンが自動化を高度化:主要メリットとアプリケーション
- 高高度UAVで精密気象観測、インフラ音センサ搭載で従来レーダー・ラジオゾンデの限界克服
- ラインスキャンマシンビジョンカメラにおける熱誘起画像歪みの防止
- スマート漏水検知の建物安全とコスト削減へのトップ4メリット
- Biz4Intellia IoT水漏れ検知が産業効率を高める5つの主な利点