ジェレミー・クック
「ロボットはどのように見るのか?」という質問に対する簡単な答えは、マシンビジョンまたは産業用ビジョンシステムを介してです。詳細はもっと複雑です。この記事では、インターネット上の視覚資料をフィルタリングするために使用されるソフトウェアのみのアプリケーションではなく、現実世界のタスクを実行する物理的なロボットを中心に質問します。
マシン ビジョン システムは、デジタル カメラ (または複数のカメラ) を使用して画像をキャプチャし、このデータをフレームごとに処理します。ロボットは、この解釈されたデータを使用して、ロボットアーム、モバイル農業システム、自動セキュリティ設定、またはその他のさまざまなアプリケーションを介して物理世界と対話します。
コンピューター ビジョンは、20世紀後半に、キャプチャされた視覚データに関する単純な事実を判断するために、さまざまなハードコードされた基準を使用するようになりました。テキスト認識はそのような基本的なアプリケーションの1つです。工業用組み立てアプリケーションにおけるコンポーネントxの存在や穴yのサイズの検査もその1つです。今日、コンピューター ビジョン アプリケーションは、AIと機械学習を組み込むことで劇的に拡大しています。
マシンビジョンの重要性
特定の基準に基づいたビジョン システムは現在でも使用されていますが、AIベースの処理により、マシン ビジョンはさらに多くのことができるようになりました。このパラダイムでは、ロボットの視覚システムは、ピクセルの集合 (いわゆる「ブロブ」) が正しい位置にあるなどの状態を認識するように明示的にプログラムされなくなりました。代わりに、ロボット ビジョン システムは、不良部品と良部品、条件、またはシナリオのデータセットを使用してトレーニングされ、独自のルールを生成できるようになります。このように装備が充実しているため、動物ではなく人間のためにドアの鍵を開けたり、乾燥しているように見える植物に水をやったり、信号が青のときに自動運転車を動かしたりする作業を管理できます。
クラウドベースのコンピューティングを使用してAIモデルをトレーニングすることもできますが、リアルタイムの意思決定には、通常、エッジ処理が適しています。ロボットビジョンタスクをローカルで処理すると、レイテンシが短縮され、重要なタスクをクラウド インフラストラクチャに依存しなくなります。自動運転車は、機械の視覚が0.5秒遅れると事故につながる可能性があるため、これが重要であることを示す好例です。さらに、ネットワーク リソースが利用できないときに運転を中止したい人は誰もいません。
最先端のロボットビジョン技術:マルチカメラ、3D、AI技術
1台のカメラで2D視覚情報をキャプチャできますが、2台のカメラを連携させることで奥行きを認識できるようになります。たとえば、 NXP i.MX 8 プロセッサ ファミリ は、ステレオ入力に1080P解像度のカメラ2台を使用できます。 適切なハードウェアがあれば、ビデオステッチングやその他の技術を使用して、複数のカメラとカメラシステムを統合できます。LIDAR、IMU、サウンドなどの他の センサータイプを組み込むことができ、3D空間内外でロボットの周囲の画像を提供できます。
ロボットが撮影した画像を解釈できるようにするのと同じクラスのテクノロジーにより、コンピューターは新しい画像や3Dモデルを生成することもできます。ロボットビジョンのこの2つの側面を組み合わせた応用例の1つが、 拡張現実の分野です。ここでは、視覚カメラやその他の入力が解釈され、結果が人間が利用できるよう表示されます。

マシンビジョンを始めるには
マシンビジョンを始めるための幅広いオプションが利用可能になりました。ソフトウェアの観点から見ると、OpenCVは出発点として最適です。無料で利用でき、ルールベースのマシンビジョンや新しいディープラーニングモデルでも動作します。パソコンとウェブカメラがあれば始められますが、 Jetson Nano開発キット または グーグルコーラル 製品ラインは、ビジョンと機械学習に最適です。の NVIDIA® ジェットソン・オリン™ NX16GB 使い慣れた100TOPSのAIパフォーマンスを提供します ジェットソン フォームファクター。
NVIDIAのような企業では、トレーニング データセットを含むさまざまなソフトウェア資産を利用できます。AIアプリケーションを実装したいが、必要な人物、車、その他の物体の写真を入手したくない場合は、これが大きなアドバンテージとなります。将来的には、アテンション トランスフォーマーやビジョン トランスフォーマーなどの最先端のAI技術によってデータセットの使用方法が強化され、データセットが改善されることを期待します。
ロボットビジョンアルゴリズム
ロボットは、画像ストリームを継続的に解釈して視覚化し、そのデータを人間がコード化したアルゴリズムで処理するか、AIが生成したルールセットで解釈します。もちろん、哲学的なレベルでは、質問を逆にして「ロボットは自分自身をどう見ているのか?」と尋ねる人もいるかもしれません。AIモデルのように複雑かもしれないコードの中を覗き込む能力を考えると、それは私たちが自分自身をどう見ているかという質問よりも簡単な質問かもしれません。