参加者レポート - GPUクラウドAI推進プログラム -
学生ロボコン/ABU
アジア・太平洋ロボコン2024の画像処理システム開発
豊田高専学生ロボコンチーム「T・G・T」
- 中間レポート
- 最終レポート
2024年4月時点
開発/研究の目的
学生ロボコン/ABUアジア・太平洋ロボコン2024の競技課題である『HARVEST DAY』を達成することを目指しています。
競技は手動操作と自動動作の2種類のロボットで行われ、農業を模した課題を解決します。手動操作ロボットは稲に見立てた塩ビパイプを回収して所定の位置に置き、その後作物に見立てた色付きのサッカーボールを回収して自動ロボットのエリアへ向けて射出します。自動ロボットはボールの色を識別し、自チームのボールだけを回収してサイロに入れます。これには高い識別精度と素早い意思決定が求められます。
全体のプロセス
学生ロボコンは、ABUアジア・太平洋ロボコンの日本代表選考会という形式で行われ、書類審査と2度のビデオ審査を通過したチームがオフラインで行われる競技大会に進出します。オフライン大会で優勝したチームはベトナムで⾏われるABUアジア・太平洋ロボコンへ日本代表として出場します。
使用されているAI技術やアルゴリズム
YOLOv8というリアルタイム物体検出アルゴリズムを使っています。YOLOの利点は、画像全体を一度に評価するため、高速で誤検出が少ないところですが、小さな物体や多数の物体の検出は苦手です。ただ、以前の競技で野球ボールサイズのボールを認識した実績があり、その経験からより大きなボールを使う今回の競技には適していると判断し採用しました。開発は当初ラップトップPCだけで行っていましたが、性能面での不便さからIDCフロンティアのGPUクラウドが利用できる、この「GPUクラウドAI推進プログラム」に参加することにしました。
システム構成
IDCフロンティアのGPUクラウドは、画像処理用データセットの保存、画像処理の実行環境と、試験環境として使用しています。
使用言語はPythonとC++で、画像処理には先述のYOLOv8とOpenCVを使用しています。
画像識別の精度を高める上で必要不可欠な水増し作業(オーギュメンテーション)にはWebサービスを用い、実物を撮影した画像はMicrosoft VoTTで正解ラベル付け(アノテーション)を行いました。それらをYOLOv8に学習させて得られた重みデータをローカル開発環境に転送し、ロボット内のメインプログラムに使用しています。
進捗状況と計画
現在、プロジェクトは2次ビデオ提出に向けて再設計や機能の実装を行っています。チームは2次ビデオ通過を目標に、効率的な開発を進めており、今後は練習環境の改善やシミュレーション環境の作成、競技に必要な機能の開発を行う予定です。
2024年7月時点
開発/研究の目的
開発/研究の目的は、学生ロボコンおよびABUアジア・太平洋ロボコン2024の競技課題『HARVEST DAY』を達成することでした。
農業を模した課題を手動操作と自動動作の2種類のロボットを用いて解決するのですが、とくに自動ロボットは農作物に見立てたボールの色を識別し、自チームのボールだけを回収してサイロに入れるという高い識別精度と素早い意思決定が求められました。
この高度な画像処理とリアルタイム物体検出を実現するために、本プログラム(GPUクラウドAI推進プログラム)を活用しました。
発生した課題と解決方法
ロボットの開発を進めるうちに、前面と背面にカメラを取り付けた方が良いことがわかりました。
前面カメラは、相手チームとボールを入れあうサイロの状況を認識するために使用し、背面カメラはストレージゾーンに散らばったボールの中から自チームの色のボールを回収するために使用します。
しかし、ロボットに搭載したPCは、自己位置の推定や経路の計算などにもリソースを割くため、二つのカメラでYoloV8(高精度画像認識アルゴリズム)を同時に動かすのは難しい状況でした。
そこで、高速な処理が必要な背面カメラには、より軽快なYoloFastestV2とカラーセンサーを組み合わせて使用し、正確な認識を重視する前面カメラには引き続きYoloV8を使用しました。それでもサイロ内のボールの認識精度が低いという問題がありましたが、大会前にデータの増強(オーギュメンテーション)や自動ラベル付け(オートアノテーション)によるデータセットの拡張をすることで解決しました。
上手くいった点
当初はWebサービスに依存していたオーギュメンテーションや開発できていなかったオートアノテーションを最終的に自チームで開発でき、データセットを拡張・改善していくにつれて精度がどんどん上がっていくのを実感でき、やりがいのある開発を体験できました。
結果として、練習環境とは照明や背景の異なる大会環境でもサイロ内のボールや転がっているボールの識別も問題なく行え、誤認識もなく目標である「精度の良い識別と高速な意思決定」を達成することができました。
本プログラム(GPUクラウドAI推進プログラム)に参加したおかげで、短期間で9〜10万枚の画像を処理し、学習させることができました。
協賛企業特別賞を受賞
残念ながら本戦へは進めませんでしたが、今回唯一の高専からの二次ビデオ通過チームとして出場しました。
初戦は決定打を対戦相手にとられ、続く試合でも得点の取り合いで勝利に一歩届きませんでした。しかし、ダクテッドファンを用いたボール回収機構が評価され、協賛企業特別賞を受賞しました。
本プログラムを最大限活用することで自前のラップトップPCでは到底処理できない量のデータセットを学習させ、技術的にも精度の高いモデルを作ることができたと思います。
今後の計画や展望
今回の反省点として、オーギュメンテーションやオートアノテーションの開発開始が遅かったことが挙げられます。
次年度はこれらのツールを早期に開発し、十分な活用期間をとれるようにしたいです。また、ロボットの動作プログラムの改良や画像処理の改善、データセットの追加やモデルの更なる学習を行い、ロボットの性能を向上させていきます。
次年度の学生ロボコンに向けて制作期間を見直し、技術の継承やロボットの新規開発、チームの再編成なども早期に行っていきたいと思います。