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

ニューラルネットワークを始める

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