※本稿は、2024年8月に開催された2024 AI Hackathonでのプレゼンテーションの内容を要約したものです。
1. イントロダクション
1.1 ハッカソンの概要と目的
2024年8月15日、2024 AI Hackathonが開催されました。このイベントは、人工知能と機械学習の分野における革新的なアイデアを育成し、実際の問題解決に応用することを目的としています。特に今回のハッカソンでは、軍用機の識別と分類という複雑かつ重要な課題に焦点が当てられました。
このハッカソンの背景には、実際の軍事作戦における課題があります。例えば、2024年初頭に発生した「Tower 22」と呼ばれるドローン攻撃事件では、不十分な防空システムにより3名の米軍兵士が犠牲となりました。この事件は、戦場における敵機の正確な識別と分類の重要性を浮き彫りにしました。本ハッカソンは、こうした実際の問題に対するAI技術の適用可能性を探ることを目指しています。
イベントの運営には、Kaylaが中心的な役割を果たしました。過去のハッカソンでは外部のコンサルティングチームの支援を受けていましたが、今回はKaylaとNAVAIRチームが直接運営を行いました。Dr. Ray氏とMichael Le氏のリーダーシップの下、Ryan氏とWill氏が中心となってイベントを実現させました。また、Ellen氏は2023年8月からのアイデア段階から関わり、継続的なサポートを提供しました。
ハッカソンの成果として、西海岸からの参加チームを獲得し、セントメリーズ大学からのチームも参加するなど、参加者の地理的な多様性が広がりました。これは、ハッカソンの知名度と影響力が拡大していることを示しています。
1.2 参加チームの紹介
ハッカソンには、多様な背景を持つ複数のチームが参加しました。各チームの概要は以下の通りです:
- Team 111%: このチームは、畳み込みニューラルネットワーク(CNN)とYOLO v9アルゴリズムを使用したアプローチを採用しました。彼らは、画像のリサイズと正規化、パディングを用いた一貫性のあるサイズ調整などのデータ前処理技術に焦点を当てました。
- Military Aircraft ML Modelチーム: Shamir氏とAlex氏で構成されるこのチームは、モーガン州立大学のセキュア組み込みシステムプログラムに入学予定の博士課程学生です。両氏はLinux+の資格を持ち、複数のAIコースを受講しています。彼らはRoboflowを活用したデータ管理と手動アノテーションプロセスに重点を置き、画像分類モデルと物体検出モデルの両方を開発しました。
- Feature and Edge Aircraft Classificationチーム: Desmond Eep氏が率いるこのチームは、動的ボリューム特徴抽出手法を採用しました。Desmond氏は北カロライナA&T大学の最近の卒業生で、2024年2月28日からNAVAIRで働き始めました。彼はロボット工学とドローンに興味を持っており、それがこのハッカソンへの参加につながりました。
- Aircraft Detection and Segmentationチーム: Andre Sello氏、Christopher Vanhook氏、Donovan Low氏、Gerald Little Jr.氏、Lucine Kamikon氏で構成されるこのチームは、YOLO v9を用いた物体検出とSegment Anythingモデルによるセグメンテーションを組み合わせたアプローチを採用しました。彼らは西海岸から初めて参加したチームとして注目を集めました。
- データ中心アプローチによる軍用機認識チーム: Hassan氏が率いるこのチームは、YOLO V8モデルを中心に据え、データの前処理と拡張に重点を置きました。Hassan氏は、2022年以来3回連続でこのハッカソンに参加しており、その経験が活かされています。プレゼンテーション時、Hassan氏はロンドンに滞在しており、オンラインで参加しました。
各チームは、それぞれ独自の視点と技術を持ち寄り、軍用機認識という複雑な課題に挑戦しました。彼らのアプローチは、AI技術の多様性と可能性を示すとともに、実際の応用における課題と機会を浮き彫りにしています。
審査員には、Dr. Sybil Anderson氏、Kim Mazingo氏、Jonathan D氏、Nathan Fogler氏が務めました。また、Monty Campbell氏はメンターとして参加しました。
2. Team 111%のプレゼンテーション
2.1 データ前処理技術
Team 111%は、データ前処理技術に関して非常に興味深いアプローチを示しました。彼らが直面した課題は、データセットの多様性にありました。
まず、彼らが扱ったデータセットについて説明します。このデータセットには21,000枚のトリミングされた画像が含まれており、46種類の異なる航空機が存在していました。しかし、これらの画像は約19,000種類もの異なるサイズで提供されていました。画像の幅は11ピクセルから8,000ピクセル、高さは6ピクセルから4,900ピクセルまでの広範囲に及んでいました。
この多様性は、畳み込みニューラルネットワーク(CNN)が一貫したサイズの入力を必要とするという事実と相まって、大きな課題となっていました。Team 111%は、この課題に対処するため、主に二つのアプローチを採用しました。
2.1.1 画像のリサイズと正規化
一つ目のアプローチは、全ての画像を平均的な幅と高さにリサイズすることでした。具体的には、約700ピクセル×340ピクセルのサイズに統一しました。この方法により、全ての画像を同じ寸法に変換し、CNNの入力要件を満たすことができました。
2.1.2 パディングを用いた一貫性のあるサイズ調整
二つ目のアプローチは、大きな画像をスケールダウンし、その後全ての画像に一貫したサイズのパディングを適用するというものでした。YOLOv9を使用する際には、このアプローチが特に有効でした。YOLOv9は画像セグメンテーションアルゴリズムであり、元のデータセットに対する前処理をほとんど必要としませんでしたが、アノテーションの変更が必要でした。
Team 111%は、これらの前処理技術の効果を視覚的に示すため、具体例を提示しました。彼らは雑誌に掲載された航空機の画像を選び、オリジナル、リサイズ版、パディング適用版の3種類を比較しました。オリジナル画像に対し、リサイズ版では画像の寸法が変更されていました。パディング適用版では、画像の縦横比が保たれ、端に黒いパディングが追加されていました。これにより、画像の重要な特徴を歪めることなく、一貫したサイズを実現していました。
これらの前処理技術は、大規模かつ多様な画像データセットを扱う上で非常に重要です。Team 111%のアプローチは、データの一貫性を確保しつつ、重要な視覚的特徴を保持するという、しばしばトレードオフの関係にある二つの目標のバランスを取ろうとする試みを示しています。
彼らの方法は、単に技術的な解決策を提供するだけでなく、機械学習モデルの訓練において直面する実際的な課題に対する深い理解を示しています。画像のリサイズと正規化、そしてパディングを用いた一貫性のあるサイズ調整は、効果的な軍用機認識システムを構築する上で不可欠な基盤を提供しています。
2.2 モデルアーキテクチャとデザイン
Team 111%は、モデルアーキテクチャとデザインにおいて、二つの主要なアプローチを採用しました。一つは独自の畳み込みニューラルネットワーク(CNN)の開発、もう一つはYOLO v9の実装試行です。彼らのアプローチは、限られたリソースと時間制約の中で最大の効果を得ようとする工夫に満ちていました。
2.2.1 カスタム畳み込みニューラルネットワーク
Team 111%が開発したCNNは、カスタムメイドの非常にシンプルで軽量な設計が特徴です。このモデルは主にハードウェアと時間の制約によって形作られました。具体的な構成は以下の通りです:
- 3つの畳み込み層
- 2つの全結合層
この構成を選択した主な理由は、訓練の速さです。彼らは、ハードウェアと時間の制約のために、迅速に訓練できるモデルが必要でした。この軽量なモデルは、限られた時間内で開発と十分な訓練を行うために不可欠でした。
開発環境については、以下のツールを使用しています:
- PyTorch:深層学習フレームワーク
- VS Code:統合開発環境
- Anaconda:パッケージマネージャー及び環境管理ツール
これらのツールを用いて、彼らはモデルの開発と訓練を行いました。特筆すべき点として、彼らは初期の訓練をラップトップで行っていたことを挙げています。これは、高性能な専用ハードウェアがなくても、ある程度の開発が可能であることを示しています。
2.2.2 YOLO v9の実装試行
Team 111%は、YOLO v9の実装にも挑戦しました。YOLO v9について、彼らは以下の特徴を挙げています:
- 非常に最新のアルゴリズムであり、ハッカソンの約1ヶ月前にリリースされたばかり
- 大規模なモデルで、約9,000の層を持つ(彼らはこの数字について「I believe」と述べており、確証はないようです)
- 単一画像内で複数のターゲットを識別可能
- 軍用機識別というタスクに非常に適している
YOLO v9は画像セグメンテーションアルゴリズムであり、元のデータセットに対する前処理をほとんど必要としませんでした。ただし、アノテーションの変更が必要でした。
しかし、YOLO v9の実装には大きな課題がありました。彼らは以下の方法で訓練を試みましたが、いずれも困難に直面しました:
- Google Colabを使用してGPUにアクセスしようとしたが、タイムアウトの問題に遭遇
- CPUでの訓練を試みたが、1エポックの訓練に約7時間かかり、非常に遅かった
結果として、彼らはYOLO v9の実装を完了することができませんでした。この経験は、最新のAIモデルを実装する際の現実的な課題を浮き彨りにしています。
Team 111%のモデルアーキテクチャとデザインへのアプローチは、限られたリソースと時間制約の中で最大の効果を得ようとする工夫に満ちていました。彼らの経験は、モデルの選択と実装戦略が極めて重要であることを示唆しています。特に、最新のアルゴリズムを使用する際には、適切な計算リソースの確保が不可欠であることが明らかになりました。
2.3 トレーニングと評価
Team 111%のトレーニングと評価のアプローチは、データセットの分割方法とモデルの精度向上の過程に焦点を当てています。彼らの取り組みは、機械学習モデル開発における試行錯誤の重要性を如実に示しています。
2.3.1 データセット分割とモデルの精度
Team 111%は、モデルのトレーニングと評価において、2つの異なるデータセット分割比を試しました:
- 80-20の分割:全データセットの80%をトレーニングに、20%をテストに使用。
- 70-30の分割:70%をトレーニング、30%をテストに使用。
彼らは各クラスからランダムに画像を選択し、トレーニングセットとテストセットの両方に全てのクラスが確実に含まれるようにしました。これにより、トレーニングデータとテストデータに幅広い種類の画像が含まれることを保証しました。さらに、彼らは各クラスに対して評価を行い、モデルの性能を包括的に検証しました。
評価結果は以下の通りです:
- リサイズされたデータセットを使用した畳み込みニューラルネットワーク:テストデータセット(モデルが以前に見たことのない画像)に対して44%の精度を達成。
- パディングされた画像を使用したモデル:7%の精度を示しました。ただし、このモデルは最初のモデルほど長時間トレーニングされていませんでした。
YOLO v9については、プレゼンテーションの時点で完了していなかったため、結果は報告されませんでした。
2.3.2 複数バージョンのモデル比較
Team 111%は、9つの異なるバージョンを通じてモデルを改良しました。彼らは主にリサイズされたデータセットに焦点を当て、数ヶ月にわたって改良を重ねました。以下は各バージョンの詳細です:
- ベースライン(Version 1):1.9%の精度。以前のプロジェクトから派生した既存のモデルを使用。
- Version 2:5%の精度。モデルを大きくし、より長時間トレーニング。
- Version 3:異なるサイズの画像をテストしたが、精度が低下。
- Version 4:さらに大きなモデルを試したが、再び精度が低下。これにより、単にモデルを大きくすれば良いわけではないことが判明。
- Version 5, 6, 7:より小さなモデルを長時間トレーニングする方針に転換。徐々に精度が向上。
- Version 7:ある程度の壁に直面。学習率が高すぎることが問題だと考えられた。
- Version 8:学習率を下げることで最高の結果を達成。
- Version 9:さらに多くのエポック(トレーニングの繰り返し回数)でトレーニングを行ったが、オーバーフィッティングを引き起こし、精度がわずかに低下。
最終的に、Team 111%はVersion 8を採用しました。このプロセスは、ベースラインの1.9%から始まり、様々な調整を経て最終的に44%という大幅な精度向上を達成したことを示しています。
彼らは、時間があればさらに他の2つのアプローチ(パディングとYOLO)の改良を続け、リサイズデータを扱うアルゴリズムをさらに改善したいと述べています。
この一連の試行錯誤は、機械学習モデルの開発における典型的なプロセスを表しています。モデルのサイズ、トレーニング時間、学習率など、さまざまなハイパーパラメータの調整が必要であり、それぞれが結果に大きな影響を与えることが明確に示されています。特に、学習率の調整が大きなブレークスルーをもたらしたことは注目に値します。
また、オーバーフィッティングの問題も重要な教訓となっています。Version 9でのパフォーマンス低下は、単にトレーニングを長く続ければ良いわけではなく、適切なバランスを見つけることの重要性を示しています。
Team 111%の綿密な記録と分析は、軍用機認識という特定のタスクを超えて、機械学習プロジェクト全般に適用できる貴重な知見を提供しています。
2.4 デモンストレーション - 画像認識アプリケーションの実演
Team 111%は、PythonとTkinterを使用して構築した小規模なデモプログラムを紹介しました。このデモンストレーションは、彼らが開発した画像認識アプリケーションの機能を示すものでした。
デモンストレーションの過程は以下の通りです:
- チームメンバーは、様々な航空機のデータセットから画像を選択できるインターフェースを示しました。
- まず、F-35データセットから画像を選択しました。選択した画像をアプリケーションに入力すると、画面上部に「真の値」としてF-35が表示されました。
- 「Catch up」ボタンを押すと、モデルは正確にF-35を識別しました。
- 次に、別のF-35画像を選択し、再度認識を試みました。このケースでも、モデルは正確にF-35を識別しました。
- 興味深いことに、キャノピー(操縦席の覆い)が上がっている状態のF-35画像を入力すると、モデルは正確に識別することができませんでした。これは、モデルの限界を示す良い例でした。
チームは、モデルの汎用性を示すため、A-10サンダーボルトIIの画像でもテストを行いました:
- A-10のデータセットから最初の画像を選び、アプリケーションに入力しました。
- モデルは正確にA-10を識別しました。
- 次に、大きなエンジンが見える別のA-10画像を選択しました。モデルはこの画像も正確にA-10と識別しました。
チームは、このデモで使用した画像の一部がトレーニングセットに含まれている可能性を認めましたが、テストセットから選ばれた画像ではないことを強調しました。彼らは、完全に新しい画像に対するモデルの性能は約44%であると述べました。これは、クロップされたデータセット全体で達成された精度であり、デモで示された特定の画像に対してはより高い精度を示す可能性があることを示唆しています。
2.5 将来の改善点と応用分野
Team 111%は、彼らのプロジェクトの将来的な改善点と潜在的な応用分野について言及しました:
- 時間があれば、他の2つのアプローチ(パディングを用いた方法とYOLOアルゴリズム)をさらに発展させたいと述べました。特に、YOLOの実装を完了させることで、リアルタイムでの物体検出が可能になると考えられます。
- リサイズされたデータを扱うアルゴリズムのさらなる改善も計画しているようでした。
応用分野については、以下のような可能性を示唆しました:
- レーダーデータの解析:チームメンバーの一人が海軍研究所で30年ほど働いた経験から、レーダーデータの解析に彼らの技術を適用できる可能性を示唆しました。具体的には:
- デジタルRF録音のスペクトログラムや、パルスレーダーの特性を畳み込みニューラルネットワーク型のアプローチで認識することができます。
- これにより、電波放射源の識別が可能になります。
- 顔認識やビデオ処理:これらは既に多くの場所で実用化されている技術ですが、さらなる改善や新しい応用が可能です。
- 音声データの分析:マイクからの音声ストリームをデジタル化し、そのパターンを認識することができます。これは音声認識や音響分析に応用可能です。
- ネットワークトラフィック分析:ネットワーク上でキャプチャされたIPパケットのパターンを見つけ出すことができます。これはネットワークセキュリティや異常検出に役立ちます。
Team 111%は、これらの応用がまだ始まりに過ぎないと強調しました。彼らの研究は、画像認識技術の広範な可能性を示唆しており、今後さらに多くの分野での応用が期待できると述べました。特に、彼らのアプローチは単なる画像認識を超えて、様々な種類のデータパターン認識に応用できる可能性があることを示唆しています。
3. Military Aircraft ML Modelチームのプレゼンテーション
3.1 データ前処理とクリーニング
Military Aircraft ML Modelチームのプレゼンテーションは、データ前処理とクリーニングに重点を置いたものでした。彼らのアプローチは、機械学習プロジェクトの成功に不可欠なデータの質を確保するための綿密な努力を示していました。
3.1.1 Roboflowを用いたデータ管理
チームは、データセットのインポートを支援し、各画像を手動で確認する機会を得るために、Roboflowアプリケーションを使用しました。彼らは21,000枚全ての画像に対して手動アノテーションを行いました。この作業は、彼らが開発した両方のモデル(画像分類モデルと物体検出モデル)に対して複数回行われました。
Roboflowのモデルヘルスデータは、データセットの分布に関する重要な洞察を提供しました。特に注目すべきは、アメリカの戦闘機が過剰に代表されているという点でした。これは、多くの機械学習プロジェクトで直面する一般的な問題であるデータの不均衡を明確に示しています。
チームはこの問題に対処するため、過小評価されているクラスの画像を複製するという興味深いアプローチを取りました。特に、外国の航空機の画像に焦点を当てました。この過程で、単純な複製ではなく、画像の反転などの前処理技術を適用して、完全に同一のコピーを避けました。これは、データの多様性を維持しながらもクラス間のバランスを改善する賢明な戦略でした。
彼らがこのアプローチを取った理由として、「海軍のために作っているのだから、アメリカの飛行機がどのように見えるかはおそらく知っているだろう」と述べています。そのため、外国の航空機の認識をより重要視しました。この洞察は、実際の運用環境を考慮したデータセット作成の重要性を示しています。
3.1.2 手動アノテーションプロセス
データクリーニングのプロセスは、チームの徹底した取り組みを示すものでした。彼らは全ての画像を手動で確認し、アノテーションを行いました。この作業の重要性について、チームは「ガベージイン、ガベージアウト」の原則を念頭に置いていたと述べています。つまり、入力データの質が悪ければ、モデルの出力も信頼できないものになるという考えです。
この過程で、彼らは多くの予想外の問題に直面しました:
- テキストのオーバーレイ:多くの画像に文字が重ねられていました。
- 関係のない人物:ランダムな人々の画像が含まれていました。
- 政治的指導者:プーチン大統領や金正恩氏などの画像が含まれていました。
- 低解像度や編集された画像:多くの画像が低品質で、人間の目でも識別が困難なものがありました。
- 歪みや編集:一部の画像には何らかの歪みや編集が加えられており、元の航空機を識別するのが困難でした。
これらの問題に対処するため、チームは問題のあるコンテンツを除外し、データセットをクリーンアップしました。彼らの基準は「人間が識別可能な通常の人として見える画像」を含めるというものでした。この基準は、機械学習モデルが人間の識別能力を超えることは難しいという考えに基づいています。
このアプローチにより、データセットの品質が向上しましたが、同時にデータ量の減少も招きました。具体的には、約1,000枚の画像がフィルタリングされ、最終的なデータセットには約20,000枚の画像が含まれました。チームはこのトレードオフが最終的なモデルの性能向上につながると判断しました。
さらに、チームは画像の前処理として、自動方向付け(Auto Orient)とリサイズを適用しました。これらの処理は、Roboflowの推奨設定に従って行われました。リサイズについては、具体的なサイズは明示されませんでしたが、一貫性のある入力サイズを確保するために重要な手順です。
Military Aircraft ML Modelチームのデータ前処理とクリーニングへのアプローチは、高品質なデータセットの作成が機械学習プロジェクトの成功には不可欠であることを明確に示していました。彼らの綿密な作業は、最終的なモデルの性能に大きく貢献したと考えられます。同時に、このプロセスは機械学習プロジェクトにおける人間の判断と労力の重要性も浮き彫りにしました。
3.2 モデルアーキテクチャ
Military Aircraft ML Modelチームは、二つの異なるモデルアーキテクチャを採用しました。一つは画像分類モデル、もう一つは物体検出モデルです。これらのモデルの選択は、問題に対する多角的なアプローチを示しています。
3.2.1 画像分類モデル
画像分類モデルは、Roboflow 2.0マルチラベル分類を使用しています。このモデルの特徴は以下の通りです:
バージョン1:
項目 | 詳細 |
モデルタイプ | Roboflow 2.0マルチラベル分類 |
データセット | 全21,000枚の画像を使用 |
前処理 | - 推奨されたAuto Orient(自動向き調整)を適用
- 640ピクセルへのリサイズを実施 |
拡張(オーグメンテーション) | 適用なし |
バージョン1は、ベースラインモデルとして設計されました。拡張を適用しなかったのは、後のバージョンでの改善の余地を残すためだと考えられます。
バージョン2:
項目 | 詳細 |
モデルタイプ | バージョン1と同じ |
データセット | バージョン1の訓練済みモデルをベースに構築 |
拡張(オーグメンテーション) | - 訓練データセットを3倍に増加
- 水平および垂直フリップを適用
- 時計回りおよび反時計回りの90度回転を適用
- 画像の15%にグレースケールを適用 |
これらの拡張技術の選択理由は、訓練データセット内の画像の特徴に基づいています。多くの画像が既にフリップされていたり、ぼやけていたり、グレーアウトされていたため、これらの技術を適用することで、テストデータにおける誤検出を防ぐことを目指しました。
3.2.2 物体検出モデル
物体検出モデルは、YOLOアーキテクチャを採用しています。このモデルの特徴は以下の通りです:
バージョン1:
項目 | 詳細 |
モデルタイプ | YOLO NAS |
データセット | 約71,000枚の画像を使用<br>- Roboflowの機能を利用して自動的にサンプルデータを拡張<br>- 各訓練例に対して4つの出力を生成(訓練例あたり出力+4) |
前処理 | - Auto Orient(自動向き調整)を適用<br>- リサイズを実施<br>- ぼかし効果を追加 |
ぼかし効果の追加は、画像分類モデルの学習過程で、多くのぼやけた画像が飛行機として認識可能であることに気づいたためです。
バージョン2:
項目 | 詳細 |
モデルタイプ | Roboflow 3.0に変更 |
データセット | 画像数を削減<br>- 訓練例あたりの出力を2つに減少 |
前処理 | バージョン1と同じステップを適用 |
しかし、バージョン2では予想した結果は得られなかったようです。
これらのモデルアーキテクチャの選択は、チームが問題に対して多角的なアプローチを取っていることを示しています。画像分類モデルは個々の航空機を識別するのに優れている一方、物体検出モデルは複数の航空機が存在する複雑な場面での識別に強みを発揮します。
また、YOLOアーキテクチャの採用は、リアルタイムでの識別が必要な実際の運用シナリオを考慮したものだと考えられます。YOLOは高速な物体検出で知られており、特にNAS(Neural Architecture Search)と組み合わせることで、効率的なモデル構造を自動的に探索することができます。
両モデルでRoboflowを活用していることも注目に値します。これにより、データ管理からモデルのトレーニングまでの一貫したワークフローを実現し、効率的な開発プロセスを構築できたと考えられます。
Military Aircraft ML Modelチームのアプローチは、単一のモデルに頼るのではなく、異なる強みを持つ複数のモデルを組み合わせることで、より堅牢で汎用性の高いソリューションを目指すものだと理解しました。彼らの戦略は、実際の運用環境での多様な状況に対応できる柔軟なシステムの構築を目指していると言えるでしょう。
3.3 トレーニングと評価結果
Military Aircraft ML Modelチームは、彼らのモデルの性能について詳細な結果を提示しました。彼らは画像分類モデルと物体検出モデルの両方について、精度と性能指標、そして混同行列分析の結果を報告しました。
3.3.1 精度と性能指標
画像分類モデルについては、驚異的な精度が報告されました。両方のバージョンで、テストセットに対して99.6%という非常に高い精度を達成しました。これは、モデルがほぼ完璧に近い性能で航空機を分類できることを示しています。
しかし、チームはこの高精度の結果に対して慎重な姿勢を示しました。彼らは、この精度が若干インフレートされている可能性があると述べました。その理由として、データセットに含まれていない外部の画像、具体的にはWikipediaから取得した画像を用いて追加のテストを行ったところ、精度が若干低下したことを挙げました。
さらに、チームは複数の航空機が写っている画像や、より不鮮明な画像に対してモデルの性能が低下することを指摘しました。これらの画像はテストデータには含まれていなかったため、99.6%という高精度には反映されていません。チームは、実際の精度はおそらく物体検出モデルのバージョン2の性能に近いだろうと推測しました。
物体検出モデルについては、画像分類とは異なる評価指標が用いられました。具体的には、平均精度(Average Precision)、精度(Precision)、再現率(Recall)の3つの指標が使用されました。これらの指標は物体検出タスクでよく使用されるもので、モデルの性能を多角的に評価するのに適しています。
チームは、これらの指標に基づいて、彼らのモデルが期待範囲内の効果的な性能を示したと報告しました。具体的な数値は提示されませんでしたが、全体的に満足のいく結果が得られたようです。
3.3.2 混同行列分析
チームは、モデルの性能をより詳細に理解するために、混同行列分析の結果を視覚化したグラフを提示しました。
まず、F1スコア信頼度曲線が示されました。この曲線は、異なる信頼度閾値でのF1スコアの変化を示しています。F1スコアは精度と再現率の調和平均であり、モデルの総合的な性能を表す指標です。
次に、精度-再現率曲線が提示されました。この曲線は、精度と再現率のトレードオフ関係を視覚化するものです。チームは、この曲線上で0.5のIOU(Intersection over Union)における平均精度(mAP)が83%であることを強調しました。さらに、IOU 0.5から0.95の範囲での平均精度が74%であることも報告されました。これらの結果は、モデルが高い精度で物体を検出できることを示しています。
最後に、混同行列そのものが提示されました。この行列は、モデルの予測と実際のラベルの関係を詳細に示すものです。チームは具体的な例を挙げて説明しました。例えば、Su-2が実際のラベルである場合に、モデルがF-14と誤って予測したケースがあることを指摘しました。
また、混同行列の下部に「background」というラベルが存在することについても言及がありました。これは、訓練ラベルの外にあるものをモデルが「背景」として分類していることを示しています。チームはこの機能について詳しく説明することはありませんでしたが、これは未知の対象物を適切に「その他」として分類する能力を持つことを意味し、実際の運用環境での柔軟性を高める可能性があります。
全体として、Military Aircraft ML Modelチームのトレーニングと評価結果は、彼らのモデルが高い性能を持ちつつも、その限界と改善点を正確に把握していることを示していました。彼らの分析は深く、結果の解釈に対する慎重さと誠実さが印象的でした。これらの結果は、彼らのモデルが実際の軍用機識別タスクにおいて有効に機能する可能性が高いことを示唆しています。同時に、複雑な画像や未知の対象物に対する性能向上の必要性も示唆されており、今後の改善の方向性も明確になっています。
3.4 デモンストレーションと UI
Military Aircraft ML Modelチームは、彼らが開発したアプリケーションの実用的なデモンストレーションを行いました。彼らは、Gradioを活用してユーザーインターフェース(UI)を構築しました。
デモンストレーションでは、以下の特徴が詳細に示されました:
- UIは画像をアップロードする機能を備えています。ユーザーは任意の航空機画像を選択してアップロードできます。
- インターフェースには「航空機を検出」ボタンがあり、これをクリックするとモデルが画像の分析を開始します。
- 処理には数秒かかります。チームは、これがラップトップ上でデモを実行しているためであり、GPUを使用すれば処理速度が向上すると説明しました。
- 分析結果は、UIの右側に表示されます。結果には以下の情報が含まれます:
- 航空機の分類結果:検出された航空機の種類が表示されます。
- バウンディングボックス:画像内の航空機の位置を示す枠が表示されます。
- セグメンテーション:バウンディングボックス内の航空機の詳細な輪郭が表示されます。
チームは、セグメンテーションがバウンディングボックス内でのみ行われていることを強調しました。これは、計算効率とユーザーにとっての視認性を両立させるアプローチです。
デモンストレーション中、チームは実際に画像をアップロードし、検出プロセスを実行しました。結果として、正確な航空機の分類、適切に配置されたバウンディングボックス、そして詳細なセグメンテーションが表示されました。
3.5 今後の改善点と拡張性
チームは、プロジェクトの今後の改善点と拡張性について以下のように詳細に述べました:
- データの前処理:
- データセットの不均衡に対処するための計画があったが、時間の制約により実装できなかったと説明しました。
- この改善により、モデルの全体的な性能が向上する可能性があると示唆しました。
- さらなるモデルトレーニング:
- より長時間のトレーニングが必要であることを認識しています。
- チームメンバーの一人が、一晩モデルをトレーニングしたが朝起きたときにCPUエラーが発生していたエピソードを共有しました。
- これは、より安定したコンピューティング環境の必要性を示唆しています。
- セグメンテーションモデルの改善:
- 分割データを使用してより小さなセグメンテーションモデルを訓練したいと述べました。
- 現在のパイプラインの出力(バウンディングボックス付きの画像データとセグメンテーションデータ)を活用して、ベースデータからより多くの価値を引き出すことを考えています。
- これにより、セグメンテーションの精度と効率が向上する可能性があります。
- モデルの量子化:
- パフォーマンスを最適化するための手法として言及されました。
- これにより、モデルのサイズを縮小しつつ、推論速度を向上させることができる可能性があります。
- 異常な航空機の検出:
- 現状では、未知の航空機が入力された場合、モデルは誤分類する可能性があります。
- チームは、未知の航空機を「不明な航空機」として適切に分類できるようにしたいと考えています。
- これは、実際の運用環境での信頼性を大きく向上させる可能性があります。
- 追加の分類機能:
- 航空機の原産国の分類機能を追加したいと考えています。これにより、検出された航空機の出身国を特定できるようになります。
- 戦闘機、爆撃機、給油機、輸送機などの航空機クラスの認識機能も追加したいと述べました。これにより、航空機の役割や用途を自動的に識別できるようになります。
チームは、これらの改善と拡張により、プロジェクトがパイロットの安全性向上や航空セキュリティの強化につながる可能性があることを強調しました。彼らは、この技術が実際の軍事作戦や防衛システムに適用される可能性を示唆し、その潜在的な影響の重要性を認識していました。
全体として、Military Aircraft ML Modelチームのデモンストレーションと将来の展望は、彼らのプロジェクトが単なる技術的な実験を超えて、実用的かつ重要な応用可能性を持つことを示していました。
4. Feature and Edge Aircraft Classificationチームのプレゼンテーション
4.1 動的ボリューム特徴抽出手法
Desmond Eep氏は、彼らのプロジェクトを「動的ボリューム特徴・エッジ検出・モーション」と名付けたことから説明を始めました。この名称は、彼らが採用した三つの主要なカテゴリーを反映しています。Desmond氏は、これらのカテゴリーを選択した理由として、モデルのトレーニングに使用する特徴抽出、エッジ検出、そしてモーションブラーの適用を挙げました。
4.1.1 特徴抽出アルゴリズム
特徴抽出に関して、Desmond氏はOpenCVライブラリの「good features to track」関数を使用したと説明しました。この関数は、Shi-Thomasiコーナー検出器を実装しています。このアルゴリズムは、自由空間内のオブジェクトの形状やテクスチャを抽出するのに効果的です。
Desmond氏は、このアルゴリズムの動作を視覚的に示すために、処理後の画像を提示しました。その画像では、航空機の特徴的な部分に青い点が配置されていました。これらの点は、アルゴリズムがオブジェクトとして認識した部分を示しています。Desmond氏は、これらの点が「おそらくこれはオブジェクトだ」とアルゴリズムが判断した箇所であると説明しました。
4.1.2 エッジ検出技術
エッジ検出に関しては、Canny edge detectionを使用したと説明がありました。Desmond氏は、データセットから抽出した画像の一つを使って、Canny edge detectionの結果を示しました。
処理後の画像では、航空機の輪郭が明確な線として浮かび上がっていました。Desmond氏は、これらのエッジ特徴をモデルに供給することで、より詳細な輪郭を得られると説明しました。彼は、この技術がモデルの学習に役立つエッジ特徴を提供すると強調しました。
4.1.3 モーションブラー適用
モーションブラーの適用について、Desmond氏は複数の方向でモーションブラーを適用したと説明しました。これにより、データの多様性を増やすことを目指しました。
Desmond氏は、モーションブラーを適用する理由として、データセットにノイズを減らし、画像の重要な部分を強調するためであると説明しました。さらに、この技術が航空機の検出に重要な画像の部分を強調するのに役立つと述べました。
Desmond氏は、これらの三つのカテゴリー(特徴抽出、エッジ検出、モーションブラー)を用いることで、モデルにより多くの特徴を検出させ、学習させることができると説明しました。彼はこれらの技術の組み合わせが、モデルの性能向上に貢献すると考えていました。
さらに、Desmond氏はこれらの技術を適用した画像の例を示しました。元の画像、白黒処理した画像、コントラストを変更した画像、Cannyエッジ検出を適用した画像、そして異なる種類のブラー(バイラテラルブラー、メディアンブラー、ガウシアンブラー)を適用した画像を提示しました。これらの画像は、彼らが適用した様々な技術の効果を視覚的に示すものでした。
Desmond氏は、これらの技術を適用することで、画像内のノイズを減らし、モデルが航空機を検出するために重要な部分を強調できると説明しました。このアプローチは、より堅牢で正確な航空機検出モデルの開発を目指したものであることが伺えます。
4.2 データ前処理技術
Desmond氏のプレゼンテーションでは、データ前処理技術に関する詳細な説明がありました。彼らが行った前処理ステップは以下の通りです:
- リサイズ:画像のサイズを統一しました。
- グレースケール変換:一部の画像に適用しました。
- ノイズ削減:ガウシアンブラーを使用しました。
- 正規化:画像間の明るさの違いを調整しました。
- コントラスト強化:画像の特徴をより際立たせました。
Desmond氏は、これらの前処理ステップの結果を視覚的に示しました。元の画像、白黒処理した画像、コントラストを変更した画像、Cannyエッジ検出を適用した画像、そして異なる種類のブラー(バイラテラルブラー、メディアンブラー、ガウシアンブラー)を適用した画像を提示しました。
これらの前処理技術を適用することで、画像内のノイズを減らし、モデルが航空機を検出するために重要な部分を強調できると説明しました。Desmond氏は、これらのステップがモデルの学習に役立つと強調しました。
4.3 モデルアーキテクチャ
モデルアーキテクチャに関して、Desmond氏は畳み込みニューラルネットワーク(CNN)を採用したと説明しました。彼は、このアーキテクチャが画像分類や物体検出タスクでよく使用されるものだと述べました。
CNNの選択理由について、Desmond氏は時間的制約を挙げました。当初YOLOアーキテクチャの使用も検討されていましたが、特徴とエッジの検出をYOLOに組み込むのが難しかったため、標準的なCNNを選択し、若干の修正を加えたとのことです。
Desmond氏は、彼らのCNNモデルが典型的な画像分類や物体検出タスクで使用されるものと類似していると説明しました。具体的な層の構成については詳細な説明はありませんでしたが、一般的なCNNアーキテクチャを採用したことが示唆されました。
4.4 トレーニングの課題と結果
トレーニングプロセスについて、Desmond氏はいくつかの課題に直面したと述べました。主な問題は計算リソースの制約でした。
彼らはGoogle ColabとKaggleを使用してモデルのトレーニングを試みましたが、両方のプラットフォームでタイムアウトの問題が発生しました。具体的には、50回目の反復(イテレーション)あたりでトレーニングが中断されてしまいました。
この問題に対処するため、彼らはデータセットのサイズを縮小しました。最終的に、約200枚の画像を使用し、70-30の比率でトレーニングセットとテストセットに分割しました。
この縮小されたデータセットでのトレーニング結果について、Desmond氏は約60%の精度を達成したと報告しました。しかし、彼はこの結果がデータセットの縮小により実際より高く見積もられている可能性があると指摘しました。実際の精度はもっと低い可能性があるとのことです。
Desmond氏は、TensorFlow内の関数を使用して、検証精度とトレーニング精度のグラフを生成し、モデルの学習過程を視覚化しました。このグラフでは、バッチサイズを64に増やした際に、検証精度が0.5付近に収束する傾向が見られたと説明しました。
4.5 将来の改善案と応用分野
最後に、Desmond氏は将来の改善案と潜在的な応用分野について話しました。
改善案として、以下の点を挙げました:
- 特徴とエッジの検出の入力を改善すること。現在のアプローチでは、CNNがこれらの入力を適切に処理できていない可能性があるとのことです。
- 動画フレーム間の動きを検出する「オプティカルフロー」の実装。これにより、静止画だけでなく、動画内の航空機も検出できるようになる可能性があります。
- 動きのラベル付けを行うこと。これにより、より詳細な視野を得られる可能性があります。
応用分野については、実際の戦場での使用可能性を示唆しました。特に、「Tower 22」事件を例に挙げ、適切な防空システムの重要性を強調しました。この事件では、3名の米軍兵士が不適切な防空システムにより犠牲になったとのことです。
Desmond氏は、彼らの研究がこのような問題の解決に貢献できる可能性があると述べました。具体的には、航空機やドローンをリアルタイムで正確に識別することで、より効果的な防衛システムの構築に貢献できる可能性があります。
また、実際の運用には高品質のカメラが必要になる可能性があると言及しました。遠距離にある航空機や動いている目標を正確に捉えるためには、高解像度のカメラが必要になるとのことです。これに関連して、カメラのコストについても触れ、高性能なシステムでは100万ドル程度のカメラが必要になる可能性があると述べました。
Desmond氏は、これらの改善と応用により、彼らのプロジェクトが実際の軍事作戦や防衛システムの改善に貢献できる可能性を示唆しました。
5. Aircraft Detection and Segmentationチームのプレゼンテーション
5.1 問題設定と解決アプローチ
Aircraft Detection and Segmentationチームのプレゼンテーションは、Andre Selloによって行われました。彼は、Christopher vanhook、Donovan low、Gerald little Jr.、Lucine kamikonとともに取り組んだプロジェクトについて説明しました。
Andre は、彼らのプロジェクトが解決しようとしている課題について詳細に説明しました:
- セキュリティと脅威の識別:
- 特定の航空機の原産国を知ることの重要性
- 異常な航空機を検出する能力の必要性
- これらの課題は、パイロットの安全性向上や航空セキュリティの改善に直接関連していると強調されました
- データの不足:
- 他のモデルが使用し、活用できるより多くのデータを生成する必要性
- 既存のデータからより多くの価値を引き出すことの重要性
- モデルのアクセシビリティ:
- 最近のモデルが軽量化されながらも高いパフォーマンスを維持している点
- これにより、リモートエリアやエッジデバイスでのモデルの展開が可能になることが指摘されました
これらの課題に対する解決策として、以下のアプローチが提案されました:
- 軍用機に対する物体検出とセグメンテーションの適用
- YOLOv9を用いた物体検出
- Segment Anythingモデルによるセグメンテーション
- データのラベリング作業を支援するユーザーフレンドリーなAIの開発
- これにより、データ準備プロセスの効率化を目指しました
- エッジデバイスで動作可能なモデルの選択
- セグメンテーションモデルを除き、エッジデバイスでの展開を考慮したモデル選択を行いました
5.2 データ前処理とオーグメンテーション
データの前処理とオーグメンテーションについて、Andreは以下の点を詳細に説明しました:
- データオーグメンテーションの適用:
- コンピュータビジョンにおいて一般的な戦略であることが強調されました
- データの価値を最大化し、モデルの性能を向上させる目的で実施
- オーグメンテーションの具体的な利点:
- モデルをより堅牢にする
- 異なる照明条件に対する適応能力の向上
- 様々な向きの航空機に対する識別能力の改善
- これらにより、モデルの汎用性が高まることが期待されます
- データ形式の変換:
- 提供されたPascal VOC形式のデータをYOLO形式に変換
- これは彼らが選択したYOLOモデルとの互換性を確保するために必要なステップでした
Andreは、これらのデータ前処理とオーグメンテーション技術が、限られたデータセットからより多くの価値を引き出すために不可欠であると強調しました。特に、軍用機の画像データは入手が困難で限られているため、このアプローチは彼らのプロジェクトにとって極めて重要でした。
これらの技術を適用することで、モデルの学習機会を増やし、より精度の高い航空機検出とセグメンテーションシステムの開発を目指しました。
5.3 モデルアーキテクチャ
Aircraft Detection and Segmentationチームのモデルアーキテクチャは、物体検出とセグメンテーションを組み合わせた独自のアプローチを採用しています。Andreの説明によると、このアーキテクチャは画像を入力として受け取り、物体検出とセグメンテーションの両方を行う設計になっています。
5.3.1 YOLO v9を用いた物体検出
物体検出のために、チームはYOLO v9を採用しました。Andreは以下の詳細を説明しました:
- モデルサイズ:約450メガバイト
- パラメータ数:約5800万(Andreは「58million parameters」と述べましたが、これは「58 million parameters」の誤りだと思われます)
- 性能指標:
- IOU 0.5での平均精度(mAP):83%
- IOU 0.5から0.95の範囲での平均精度:74%
Andreは、YOLOが人気のあるモデルであり、特に航空機が高速で移動することを考慮すると、リアルタイムでの検出能力が重要であるため選択したと説明しました。
YOLO v9の訓練に関して、Andreは53エポックの訓練を行ったと言及しました。これは、モデルの性能を最適化するために十分な訓練を行ったことを示しています。
5.3.2 Segment Anythingモデルによるセグメンテーション
セグメンテーションには、Metaが最近リリースしたSegment Anythingモデルを採用しました。Andreはこのモデルについて以下のように説明しました:
- 画像内のあらゆるものをセグメント化できる能力を持つ
- YOLOの出力(バウンディングボックス)を入力として使用
- 指定された領域内でのみセグメンテーションを実行
チームのアプローチの独自性は、これら2つのモデルを効果的に組み合わせた点にあります。具体的なワークフローは以下の通りです:
- 画像を入力として受け取る
- YOLO v9で物体検出を行い、バウンディングボックスを生成
- 生成されたバウンディングボックスをSegment Anythingモデルに入力
- Segment Anythingモデルが、バウンディングボックス内の領域のみをセグメント化
このアプローチにより、画像全体をセグメント化する必要がなくなり、計算リソースを節約できるとAndreは説明しました。また、関心領域(ROI)のみをセグメント化することで、より正確な結果が得られる可能性も示唆されました。
Andreは、このモデルアーキテクチャがユーザーインターフェース(UI)にどのように統合されているかについても簡単に触れました。UIの右側に、バウンディングボックス、分類結果、そしてセグメンテーション結果が表示されるとのことです。
このモデルアーキテクチャにより、リアルタイム性と精度の両立が可能になり、軍事用途を含む実用的なアプリケーションに適したソリューションとなっています。Andreは、この組み合わせが効果的であり、期待通りの結果を得られたと述べていました。
5.4 トレーニングと評価結果
Aircraft Detection and Segmentationチームのトレーニングと評価結果について、Andreはいくつかの視覚化を用いて詳細な説明を行いました。
まず、F1スコアの信頼度曲線が示されました。この曲線は、モデルの精度と再現率のバランスを異なる信頼度閾値で示すものです。Andreは具体的な数値には言及しませんでしたが、曲線の形状から、モデルが良好な性能を示していることが伺えました。
次に、精度-再現率曲線が提示されました。Andreは、この曲線上の重要な指標として、0.5のIOU(Intersection over Union)における平均精度(mAP)が83%であることを強調しました。さらに、IOU 0.5から0.95の範囲での平均精度が74%であることも報告しました。これらの数値は、彼らのモデルが高い精度で物体検出を行えることを示しています。
最後に、混同行列が示されました。Andreは具体的な例を挙げて説明し、Su-2が実際のラベルである場合に、モデルがF-14と誤って予測したケースがあることを指摘しました。これは、モデルの誤分類パターンを理解する上で重要な情報です。
また、混同行列の下部に「background」というラベルが存在することについても言及がありました。Andreの説明によると、これは訓練ラベルの外にあるものをモデルが「背景」として分類していることを示しています。この機能は、未知の対象物を適切に「その他」として分類する能力を持つことを意味し、実際の運用環境での柔軟性を高めると考えられます。
5.5 ユーザーインターフェースとデモンストレーション
Andreは、彼らが開発したユーザーインターフェース(UI)とデモンストレーションについて詳細に説明しました。彼らはGradioを活用してUIを構築したとのことです。
デモンストレーションでは、以下の特徴が示されました:
- UIは画像をアップロードする機能を備えています。ユーザーは任意の航空機画像を選択してアップロードできます。
- 「航空機を検出」ボタンがあり、これをクリックするとモデルが画像の分析を開始します。
- 処理には数秒かかります。Andreは、これがラップトップ上でデモを実行しているためであり、GPUを使用すればより高速に動作する可能性があると説明しました。
- 分析結果は、UIの右側に表示されます。結果には以下の情報が含まれます:
- 航空機の分類結果:検出された航空機の種類が表示されます。
- バウンディングボックス:画像内の航空機の位置を示す枠が表示されます。
- セグメンテーション:バウンディングボックス内の航空機の詳細な輪郭が表示されます。
Andreは実際にデモンストレーションを行い、画像をアップロードして検出プロセスを実行しました。結果として、正確な航空機の分類、適切に配置されたバウンディングボックス、そして詳細なセグメンテーションが表示されました。
5.6 今後の改善点と拡張案
最後に、Andreは彼らのプロジェクトの今後の改善点と拡張案について詳細に説明しました。以下の点が挙げられました:
- データの前処理:データセットの不均衡に対処するための計画があったが、時間の制約により実装できなかったとのことです。これを実装することで、モデルの性能がさらに向上する可能性があります。
- さらなるモデルトレーニング:より長時間のトレーニングが必要だと認識しているようです。Andreは、一晩トレーニングを行ったがCPUエラーが発生したエピソードを共有しました。これは、より安定したコンピューティング環境の必要性を示唆しています。
- セグメンテーションモデルの改善:分割データを使用してより小さなセグメンテーションモデルを訓練したいと述べました。現在のパイプラインの出力(バウンディングボックス付きの画像データとセグメンテーションデータ)を活用して、ベースデータからより多くの価値を引き出すことを考えているようです。
- モデルの量子化:パフォーマンスを最適化するための手法として言及されました。これにより、モデルのサイズを縮小しつつ、推論速度を向上させることができる可能性があります。
- 異常な航空機の検出:現状では、未知の航空機が入力された場合、モデルは誤分類する可能性があります。Andreは、未知の航空機を「不明な航空機」として適切に分類できるようにしたいと考えています。これは、実際の運用環境での信頼性を大きく向上させる可能性があります。
- 追加の分類機能:航空機の原産国の分類機能を追加したいと考えています。これにより、検出された航空機の出身国を特定できるようになります。また、戦闘機、爆撃機、給油機、輸送機などの航空機クラスの認識機能も追加したいと述べました。これにより、航空機の役割や用途を自動的に識別できるようになります。
Andreは、これらの改善と拡張により、彼らのプロジェクトがパイロットの安全性向上や航空セキュリティの強化につながる可能性があることを強調しました。彼は、この技術が実際の軍事作戦や防衛システムに適用される可能性を示唆し、その潜在的な影響の重要性を認識していました。
6. データ中心アプローチによる軍用機認識プレゼンテーション
6.1 ニューラルネットワークの基本概念説明
Hassan氏は、ニューラルネットワークの基本概念から説明を始めました。彼の説明は、この複雑な技術を初心者にも理解しやすい形で提示していました。
まず、Hassan氏はモデルの定義から始めました。このプロジェクトにおいて、モデルとは「ノードのネットワーク」であると説明しました。これらのノードは層を形成し、各層が互いに接続されて特定のタスクを実行します。この概念は人間の脳にたとえられ、ノードは個々の脳細胞、層は脳の組織や領域に相当すると説明されました。
Hassan氏は、ノードが互いに協力しながらも独立して機能し、層はモデル内の異なるタスクや計算を制御する役割を果たすと強調しました。これは、人間の脳の各領域が異なる機能を持つことに似ています。
次に、Hassan氏は層の種類について詳細に説明しました。主に3つのカテゴリーがあると述べました:
- 入力層:モデルがデータを最初に取り込む層。人間の感覚器官(鼻、味覚、耳など)に例えられました。これらは外部からの情報を受け取る最初の接点です。
- 隠れ層:実際の計算が行われる層。人間の脳に例えられ、感覚器官からの情報を処理してアイデアや思考を形成する場所だと説明されました。ここでは複雑な計算が行われ、入力データから特徴や패턴を抽出します。
- 出力層:最終的な決定が行われる層。人間の反応に例えられました。例えば、嫌な匂いを嗅いだ時に、シャツを持ち上げて鼻を覆うような反応がこれに相当します。この層では、隠れ層での処理結果に基づいて最終的な予測や分類が行われます。
Hassan氏は、特に隠れ層での処理に焦点を当てて説明しました。ここでは、画像が行列として表現され、エッジや特徴を抽出するために様々な数学的計算が行われると述べました。彼は、この処理を視覚的に示すために、Abraham Lincolnの画像を例に挙げました。元の画像に行列演算を適用することで、新しい画像が生成される過程を示しました。この例は、ニューラルネットワークが画像データをどのように処理し、特徴を抽出するかを理解するのに役立ちました。
6.2 YOLO V8モデルの選択理由
Hassan氏は、彼らのプロジェクトでYOLO V8モデルを選択した理由について詳細に説明しました。YOLO(You Only Look Once)は、一回の処理で物体検出を行うワンショット検出モデルであると説明されました。
YOLO V8を選んだ主な理由は以下の通りです:
- リアルタイム応用に適している:画像がモデルの層を一度だけ通過するため、検出時間が非常に短くなります。これは、高速で移動する航空機を検出する必要がある軍事用途に特に適しています。
- 最新のアルゴリズム:YOLO V8は約1ヶ月前にリリースされたばかりの最新モデルです。最新の技術を採用することで、より高度な性能が期待できます。
- 大規模なモデル:約9,000の層を持つ大規模なモデルであり、複雑なタスクに対応できます。これは、多様な航空機のタイプや状況を識別する必要がある本プロジェクトに適しています。
- 複数ターゲットの検出能力:単一の画像内で複数の対象を識別できる能力を持っています。これは、複数の航空機が同時に存在する場面での識別に役立ちます。
これらの特性により、YOLO V8は軍用機識別というタスクに非常に適していると判断されました。
6.3 データ前処理と拡張技術
Hassan氏は、データの前処理と拡張技術についても詳しく説明しました。彼らのアプローチは、モデルの性能を向上させるために重要な役割を果たしています。
まず、データのクリーニングと整理から始めました。データセットをダウンロードした後、各航空機のタイプごとに新しいディレクトリを作成しました。元のデータセットは一意の識別子を持つ画像とCSVファイルが順不同で提供されていたため、これらを適切なディレクトリに移動させる作業を行いました。
次に、各CSVファイルに対応するテキストファイルを作成しました。これらのテキストファイルは、YOLO V8モデルのトレーニングに必要な情報を含んでいます。CSVファイルの情報を使用して、YOLOが必要とする適切な形式の情報を生成しました。
これらの作業はすべてPythonスクリプトを使用して自動化されました。前処理の最後のステップとして、写真と対応するテキストファイルをトレーニングディレクトリと検証ディレクトリに移動させました。
データ拡張技術としては、以下の手法が適用されました:
- Canny エッジフィルタリング:画像のエッジを強調し、航空機の輪郭をより明確にします。
- コントラスト変更:画像の明暗の差を調整し、特徴をより際立たせます。
- グレースケール変換:カラー情報を除去し、形状や構造に焦点を当てます。
- ぼかし処理:ガウシアン、メディアン、バイラテラルの3種類のぼかしを適用し、ノイズを軽減しつつ重要な特徴を保持します。
これらの技術を適用する理由として、Hassan氏は以下の点を挙げました:
- 各モデルが特定の種類の画像の検出に特化できるようにするため
- 一部の写真のノイズを軽減し、モデルが航空機を検出するために重要な部分を強調するため
- データセットの多様性を増やし、モデルの汎化性能を向上させるため
Hassan氏は、これらの前処理と拡張技術が、限られたデータセットからより多くの価値を引き出し、モデルの性能を向上させるのに役立つと強調しました。特に、軍用機の画像データは入手が困難で限られているため、このアプローチは彼らのプロジェクトにとって極めて重要でした。
全体として、Hassan氏のプレゼンテーションは、ニューラルネットワークの基本概念から具体的なモデル選択、そしてデータ処理技術まで、包括的かつ詳細な内容でした。彼のアプローチは、データ中心のアプローチの重要性を強調し、高性能な軍用機認識システムの開発に向けた綿密な準備を示していました。
6.4 モデルトレーニングプロセス
Hassan氏のモデルトレーニングプロセスの説明は、具体的で興味深いものでした。彼らは、モデルのパフォーマンスを向上させるために、複数のモデルを反復的なプロセスの一部としてトレーニングしました。
トレーニング環境として、Google Colabを使用したことが説明されました。これは、より多くのトレーニング能力と計算ストレージを提供するため選択されたようです。Hassan氏は、このような環境がローカルで利用可能なリソースよりも優れていることを強調しました。
転移学習の使用も詳しく説明されました。Hassan氏は、転移学習をモデルに「ヘッドスタート」を与えるようなものだと説明しました。つまり、完全にゼロからモデルをトレーニングするのではなく、既存のモデルの「脳の一部」を利用して、そこから構築していくというアプローチです。これにより、モデルはより高レベルの特徴を観察できるようになり、トレーニング時間を大幅に短縮できると説明されました。
トレーニングデータセットについて、Hassan氏は主にA-10 Warthog画像を使用したと述べました。この選択の理由として、データ拡張技術の結果として他のサブセットのデータも含まれることになり、A-10の写真のサブセットだけでも概念実証には十分だったと説明されました。これは、限られたリソースを効果的に活用する方法として印象的でした。
6.5 評価結果と検出例
Hassan氏は、モデルの評価結果と検出例を示すためのデモンストレーションを行いました。このデモは、彼らのアプローチの効果を視覚的に理解するのに非常に役立ちました。
まず、通常の画像に対する検出結果が示されました。元の画像は比較的クリーンで、ノイズが少なく、モデルが容易に検出できるものでした。Hassan氏は、このような理想的な状況では、モデルが正確に航空機を検出できることを示しました。
次に、Hassan氏は実世界のアプリケーションでは常にこのような理想的な状況ではないことを指摘し、より難しい状況でのモデルの性能をデモンストレーションしました。
具体的な例として、画像の明るさを元の5%まで下げた場合を示しました。この暗い画像に対して、通常の検出モデルは航空機を検出できませんでした。しかし、Hassan氏は、この問題を回避するために、データ拡張技術を使用して低品質の画像を改善する方法を示しました。
彼らのアプローチは、Cannyエッジ検出を適用して画像のエッジを抽出し、その結果をCannyエッジ検出モデルに供給するというものでした。この処理の結果、モデルは暗い画像からでもA-10飛行機を正確に検出することができました。
このデモンストレーションは、彼らのデータ拡張アプローチが実際の運用環境でいかに有効であるかを明確に示していました。様々な照明条件や画質の悪い状況下でも、モデルが効果的に機能することが証明されました。
6.6 改善案と将来の応用
Hassan氏は、プロジェクトの将来の改善案と潜在的な応用について詳細に説明しました。彼の提案は、現在のモデルの限界を認識し、それを克服するための具体的な方策を示すものでした。
改善案として以下が挙げられました:
- より広範なスペクトルの画像で物体を検出できるモデルの開発:これは、様々な照明条件や角度、部分的に隠れた航空機など、より多様な状況に対応できるモデルを意味します。
- 別々のモデルを1つに統合:同じデータセットと各通常写真の拡張バージョンで1つのモデルをトレーニングすることで、より適応性の高い、コンパクトなモデルが得られると説明されました。
- ターゲット画像に適用する拡張技術を半自動的に決定するシステムの開発:例えば、非常に暗い画像が入力された場合、システムが画像の平均明るさを取得し、それを基準に調整を行い、再度検出を試みるというアプローチです。
- A-10以外の航空機にもトレーニングを拡大:これにより、モデルの汎用性が大幭に向上することが期待されます。
- 画像の引き算や明るさの変更など、さらなる前処理技術の追加:これにより、より多様な状況下での検出精度が向上すると考えられます。
将来の応用として、Hassan氏は以下の可能性を示唆しました:
- リアルタイムの脅威検出:YOLOv8の低い検出時間を活かし、迅速な意思決定を可能にします。これは、実際の軍事作戦において極めて重要です。
- フィールドでのタスク:自然界からのデータ収集は常に混沌としている可能性があり、このような柔軟で堅牢なモデルが有用です。様々な環境条件下での航空機検出に応用できます。
- ビデオ監視:ビデオは本質的にフレームの集まりであるため、個々のフレームに拡張を適用し、検出を行い、再度ビデオにまとめることで、高度な監視システムが実現可能です。これにより、移動する航空機の継続的な追跡が可能になります。
Hassan氏は、これらの改善と応用により、彼らのプロジェクトが実際の軍事作戦や防衛システムに適用可能な実用的なソリューションになることを強調しました。彼らのデータ中心のアプローチと継続的な改善の姿勢は、今後のAI技術の発展に大きく貢献する可能性があることが示唆されました。
7. 質疑応答セッション
7.1 データセットバイアスへの対処
Team 111%: データセットのバイアスを認識していました。特に、アメリカの航空機が多く代表されていることに気づきました。これに対処するため、クラスごとにランダムに画像を選択し、トレーニングセットとテストセットの両方に全てのクラスが確実に含まれるようにしました。これにより、モデルが全ての種類の航空機に対して公平に学習し、評価されることを保証しました。
Military Aircraft ML Modelチーム: 同様の問題に直面しました。アメリカの戦闘機が過剰に代表されているという問題に対処するため、過小評価されているクラス、特に外国の航空機の画像を複製することでデータセットのバランスを取ろうとしました。この過程で、単純な複製ではなく、画像の反転などの前処理技術を適用して、完全に同一のコピーを避けました。私たちは「海軍のために作っているのだから、アメリカの飛行機がどのように見えるかはおそらく知っているだろう」と考え、外国の航空機の認識をより重要視しました。
Feature and Edge Aircraft Classificationチーム: データセットのスキューを認識していました。特に、アメリカの航空機が多く、外国の航空機が少ないことに気づきました。また、データセットにUAV(無人航空機)のような現代的な航空機が含まれていないことも問題だと考えました。時間の制約により完全には対処できませんでしたが、テスト段階でUAVの画像を追加して評価を行いました。
Aircraft Detection and Segmentationチーム: 混同行列を用いてデータセットのバイアスを視覚化し、分析しました。具体的には、一部の航空機クラスで誤分類が発生していることを認識し、これがデータセットのバイアスに起因する可能性があると考えました。今後は、このバイアスを軽減するためのデータ拡張技術の適用を検討しています。
7.2 モデルの汎化性能評価
Team 111%: Wikipediaから取得した画像を用いて追加のテストを行いました。これにより、テストセットでの高精度(99.6%)が実際の運用環境では低下する可能性があることを認識しました。特に、複数の航空機が写っている画像や不鮮明な画像に対しては、モデルの性能が低下することがわかりました。
Military Aircraft ML Modelチーム: データセットに含まれていない外部の画像でテストを行いました。特に、複数の航空機が写っている画像や、より不鮮明な画像に対してモデルの性能が低下することを発見しました。また、実際の精度は物体検出モデルのバージョン2の性能に近いだろうと推測しています。
Feature and Edge Aircraft Classificationチーム: 主にUAV(無人航空機)の画像を用いてテストを行いました。モデルがUAVを時々誤分類することを発見し、より堅牢なデータセットの必要性を認識しました。また、オンラインから取得した航空機の画像も使用してテストを行い、モデルの汎化性能を評価しました。
Aircraft Detection and Segmentationチーム: 具体的なデータセット外の画像でのテストについては言及していませんが、混同行列分析を通じてモデルの誤分類パターンを詳細に調査しました。これにより、モデルの弱点や改善が必要な部分を特定することができました。
7.3 計算リソースと経済的実現可能性
Team 111%: 初期のトレーニングをラップトップで行い、その後より高性能な環境に移行しました。これにより、高性能なGPUや大規模なクラウドリソースがなくても、ある程度の成果を出せることを示しました。経済的実現可能性については、段階的なアプローチを取ることで、初期投資を抑えつつ、必要に応じてリソースを拡張できると考えています。
Military Aircraft ML Modelチーム: Roboflowを活用してデータ管理からモデルのトレーニングまでの一貫したワークフローを構築し、効率的な開発プロセスを実現しました。しかし、一部のモデルのトレーニングにおいてCPUエラーが発生しました。経済的には、クラウドサービスの利用により初期投資を抑えつつ、スケーラブルな解決策を提供できると考えています。
Feature and Edge Aircraft Classificationチーム: Google ColabとKaggleを使用してモデルのトレーニングを試みましたが、両方のプラットフォームでタイムアウトの問題が発生しました。これにより、データセットのサイズを約200枚に縮小せざるを得ませんでした。経済的実現可能性については、高品質のカメラが必要になる可能性があると考えています。高性能なシステムでは100万ドル程度のカメラが必要になる可能性があり、これは実際の運用を考える上で重要な要素です。
Aircraft Detection and Segmentationチーム: YOLOv9の訓練に約36時間かかりました。計算リソースの制約がモデルの選択と実装戦略に大きな影響を与えました。経済的実現可能性については、モデルの最適化や量子化などの技術を用いて、必要な計算リソースを削減することで、コストを抑えることができると考えています。
7.4 エッジデバイスでの展開可能性
Team 111%: カスタム畳み込みニューラルネットワークは比較的軽量であり、エッジデバイスでの展開に適している可能性があります。しかし、YOLOv9の実装については、そのサイズと複雑さからエッジデバイスでの展開が難しい可能性があります。今後は、モデルの圧縮や最適化技術を適用して、エッジデバイスでの展開可能性を高めていきたいと考えています。
Military Aircraft ML Modelチーム: エッジデバイスでの展開を考慮してモデルを選択しました。特に、画像分類モデルはエッジデバイスでの運用に適していると考えています。しかし、セグメンテーションモデルについては例外であり、より多くの計算リソースが必要になる可能性があります。今後は、モデルの軽量化や最適化を進め、より多くのコンポーネントをエッジで実行できるようにしていきたいと思います。
Feature and Edge Aircraft Classificationチーム: モデルは比較的軽量であり、エッジデバイスでの展開に適していると考えています。しかし、高品質のカメラの必要性を考慮すると、完全なエッジ展開には課題があるかもしれません。今後は、モデルの更なる最適化と、エッジデバイスに適した高性能カメラの選定を進めていく予定です。
Aircraft Detection and Segmentationチーム: YOLOv9を使用しているため、現状ではエッジデバイスでの展開には課題があると認識しています。しかし、将来的にはモデルの量子化などの技術を用いて、エッジデバイスでの展開を可能にする計画があります。また、エッジ-クラウドのハイブリッドアプローチも検討しており、一部の処理をエッジで行い、複雑な計算はクラウドで実行するという方式も考えています。
8. 結果発表とまとめ
8.1 優勝チームの発表
長時間にわたる審査の結果、優勝チームが決定しました。第一位に輝いたのはMilitary Aircraft ML Modelチーム、Shamir氏とAlex氏です。
第二位はAircraft Detection and Segmentationチームです。Andre氏、Christopher vanhook氏、Donovan low氏、Gerald little Jr.氏、Lucine kamikon氏で構成されるこのチームは、西海岸から初めて参加したチームとしても注目を集めました。
第三位はFeature and Edge Aircraft Classificationチーム、Desmond Eep氏率いるチームです。
第四位はTeam 111%です。
8.2 各チームへの賞金授与
各チームへの賞金授与は以下の通りです:
第一位のMilitary Aircraft ML Modelチームには、賞金$5,000を授与します。
第二位のAircraft Detection and Segmentationチームには、$3,500の賞金を贈呈します。Andre氏には、チームの他のメンバーの情報をいただき、適切な書類を送付させていただく予定です。
第三位のFeature and Edge Aircraft Classificationチーム、Desmond氏には$2,500の賞金を授与します。
第四位のTeam 111%には、$1,500の賞金を贈呈します。
8.3 主催者からの謝辞
このハッカソンの成功は、多くの方々の献身的な努力と協力なしには実現しませんでした。まず、審査員を務めてくださったDr. Sybil Anderson氏、Kim Mazingo氏、Jonathan D氏、Nathan Fogler氏に深く感謝いたします。
また、メンターとして参加してくださったMonty Campbell氏にも感謝の意を表します。
特別な感謝の言葉を、Ellen氏に捧げたいと思います。Ellen氏は2023年8月からこのプロジェクトに関わり、単なるアイデアだった段階から、私たちと共にこの journey を歩んでくださいました。
さらに、NAVAIRチームのDr. Ray氏とMichael Le氏のリーダーシップ、そしてRyan氏とWill氏の尽力に感謝いたします。
また、プランニングコールに参加してくださったAndrew氏とMichael氏にも感謝の意を表します。
最後に、このイベントを直接運営したKayla氏に特別な感謝を捧げます。過去のハッカソンでは外部のコンサルティングチームの支援を受けていましたが、今回はKayla氏とNAVAIRチームの努力により、独自に運営することができました。
8.4 今後のハッカソンへの展望
今回のハッカソンの成功を受けて、今後のイベントについても楽観的な展望を持っています。特に、今回西海岸からの参加チームを獲得できたこと、そしてセントメリーズ大学からのチームも参加したことは、大きな前進です。これは、私たちのハッカソンの知名度と影響力が拡大していることを示しています。
今後も、このハッカソンの周知を続け、より多くの参加者を募っていきたいと考えています。AI技術の発展と、その国防や安全保障分野への応用可能性を探求し続けることで、より意義深いイベントを継続していきたいと思います。