メインコンテンツまでスキップ

ニューラルネットワーク入門

Limelightのニューラルネットワークパイプラインを使用すれば、これまで不可能だったコンピュータビジョンの課題が簡単に解決できるようになります。学習ベースのビジョンは、最先端のロボットや自動運転車両ですでに大きな役割を果たしており、この技術をFIRSTの学生に提供できることを嬉しく思います。

備考

Limelight 1、2、3はすべてGoogle Coralを使用した学習ベースのビジョンをサポートしています。Google Coralは別途購入が必要なUSBアクセラレータです。

2023年ワールドチャンピオンのチーム1323によるLimelightのニューラルネットワークパイプラインの活用をご覧ください:

事前学習済みのニューラルネットワークはダウンロードページからダウンロードできます。

FRCでは、チームは常に自律期間とテレオペレーション期間中にフィールド上のゲームピースを追跡したいと考えてきました。 Limelightの「Neural Detector」パイプラインを使用すれば、チームは調整なしで他のターゲットと同様にピースを追跡できます。

一方、「Neural Classifier」パイプラインでは、チームがロボットに高度なセンシング機能を追加できます。 例えば、ロボットが赤いボール、青いボール、またはボールを保持していない状態のいずれかを判定したい場合を考えてみましょう。 ロボット内部に向けたLimelightで、これら3つのケースを判定するように訓練された分類器を実行できます。分類器は、ホッパー内のオブジェクト数をカウントしたり、フィールド機能の状態を判定したりすることもできます。

Neural DetectorとClassifierネットワークには、Google Coral USBアクセラレータの追加が必要です。Google Coral AcceleratorはASIC(特定用途向け集積回路)であり、 ニューラルネットワーク推論専用に設計されています。「推論」という用語は、「実行」または「ニューラルネットワークにデータを通して出力を生成すること」と考えることができます。

機械学習についてより深く理解したい場合は、3blue1brownのこの動画から始めることをお勧めします。

プログラマーは以下の書籍でハンズオン形式で学ぶことができます。

Neural Detectorパイプライン

開始するには、Google CoralがLimelightのUSB-Aポートに接続されていることを確認してください。

「Pipeline Type」を「Neural Detector」に変更すると、内蔵のテストモデルで推論が開始されます。ダウンロードページから事前学習済みのニューラルネットワークをダウンロードし、アップロードしてゲームピースの追跡を開始してください。

「confidence threshold」スライダーを変更して、検出成功に必要な信頼度を調整します。

クロップウィンドウを変更して、目的の検出ゾーン外のオブジェクトを簡単に無視できます。

Neural Classifierパイプライン

開始するには、Google CoralがLimelightのUSB-Aポートに接続されていることを確認してください。

「Pipeline Type」を「Neural Classifier」に変更すると、内蔵のテストモデルで推論が開始されます。「Training」セクションに記載されている方法を使用して、独自の分類器モデルを訓練できます。

「Crop」ウィンドウでは、ニューラルネットワーク推論に使用される画像をより適切に制御できます。分類器モデルは多様な環境で驚くべきレベルの汎化能力を持っていますが、 画像内の変数を最小限に抑えることで、より良い結果が得られます。