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

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

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アクセラレータは、 ニューラルネットワークの推論に特化した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」ウィンドウを使用することで、ニューラルネットワーク推論に使用される画像をより適切に制御できます。分類器モデルは多様な環境で驚くべき一般化能力を発揮しますが、 画像内の変数の数を最小限に抑えることで、より大きな成功を収めることができます。