ニューラルネットワークを始める
Limelightのニューラルネットワークパイプラインを使えば、かつては不可能だったコンピュータビジョンの課題が今では簡単に解決できます。学習ベースのビジョンは最先端のロボットや自動運転車において既に大きな役割を果たしており、私たちはこの技術をFIRSTの学生たちに提供できることを嬉しく思います。
Limelight 1、2、3はすべて、Google Coralの助けを借りて学習ベースのビジョンをサポートしています。Google Coralは別途購入が必要なUSBアクセラレーターです。
2023年ワールドチャンピオンの1323チームによるLimelightのニューラルネットワークパイプラインの使用例をご覧ください:
事前トレーニング済みのニューラルネットワークはダウンロードページからダウンロードできます。
FRCでは、チームは常に自律走行期間とテレオペレーション期間中にフィールド上のゲームピースを追跡したいと考えてきました。 Limelightの「Neural Detector(ニューラル検出器)」パイプラインを使用することで、チームはゲームピースを他のターゲットと同様に、調整なしで追跡することができます。
一方、「Neural Classifier(ニューラル分類器)」パイプラインを使用すると、チームは高度なセンシング機能をロボットに追加することができます。 例えば、チームがロボットが赤いボールを持っているか、青いボールを持っているか、またはボールを持っていないかを判断したい場合を考えてみましょう。 ロボット内部に向けられたLimelightは、これら3つのケースのいずれかを判断するようにトレーニングされた分類器を実行できます。分類器はまた、ホッパー内のオブジェクトの数を数えたり、フィールド機能の状態を判断したりすることもできます。
ニューラル検出器と分類器のネットワークには、Google Coral USBアクセラレーターの追加が必要です。Google Coralアクセラレーターは、ニューラルネットワークの推論のために特別に設計 されたASIC(特定用途向け集積回路)です。「推論」という用語は、「実行」または「データをニューラルネットワークに通して出力を生成すること」と考えることができます。
機械学習の理解を深めたい場合は、3blue1brownのこのビデオから始めることをお勧めします。
プログラマーは次の書籍で実践的に学ぶことができます。
ニューラル検出器パイプライン
始めるには、Google CoralがLimelightのUSB-Aポートに接続されていることを確認してください。
「Pipeline Type(パイプラインタイプ)」を「Neural Detector」に変更して、組み込みのテストモデルで推論を開始します。事前トレーニング済みのニューラルネットワークをダウンロードページからダウンロードし、アップロードしてゲームピースの追跡を開始します。
「confidence threshold(信頼度しきい値)」スライダーを変更して、検出成功に必要な信頼度を調整します。
クロップウィンドウを変更して、目的の検出ゾーン外のオブジェクトを簡単に無視できます。
ニューラル分類器パイプライン
始めるには、Google CoralがLimelightのUSB-Aポートに接続されていることを確認してください。
「Pipeline Type」を「Neural Classifier」に変更して、組み込みのテストモデルで推論を開始します。「トレーニング」セクションに記載されている方法を使用して、独自の分類器モデルをトレーニングすることができます。
「Crop(クロップ)」ウィンドウを使用すると、ニューラルネットワーク推論に使用される画像をより適切に制御できます。分類器モデルは多様な環境で驚異的な一般化レベルを発揮できますが、画像内の変数の数を最小限に抑えることで、より大きな成功を収めることができます。