HumansXドキュメントセンター 公式サイトへ ↗

マシンビジョン クイックスタート

マシンビジョンの応用には、カメラの選定、ビジョン技術の選択、画像アルゴリズムの選択が関わります。それぞれについて紹介し、実践例を提供することで、すぐに実践を始められるよう支援します。

カメラの選定と使用

USB カメラと MIPI カメラは一般的な 2 種類のカメラです。では、どのようにカメラを選べばよいでしょうか。

  • 迅速なプロトタイプ検証、教育用途、簡単な検出タスクの場合は、USB カメラで十分です。
  • 低遅延、高画質、低 CPU 負荷が求められるリアルタイムビジョンタスク(顔追跡など)の場合は、MIPI カメラを選びます。

RDK X5 では両方を同時に使用できます。例えば:

  • USB カメラは低速なシーン理解(数秒ごとに大規模モデルを呼び出して全体画面を分析)に使用
  • MIPI カメラは高速なビジュアルサーボ(ロボットアームのリアルタイム追従制御)に使用

具体的な使い方

1.1 USB カメラによるリアルタイム検出

1.2 MIPI カメラによるリアルタイム検出

1.3 Web ブラウザでのカメラ映像表示

ビジョン技術の選択

従来の OpenCV による画像処理から、代表的な YOLO 物体検出アルゴリズム、さらに最先端の視覚言語大規模モデル(VLM)まで厳選し、基礎から最先端までのビジョン技術スタックを網羅しています。

ビジョン技術 特長 適用シーン 応用例
OpenCV 画像処理 数式(畳み込み、フィルタリング、幾何変換)に基づき、学習は不要です。 リアルタイムの知覚とインタラクションに適用。 例:図形の描画、ワークの輪郭や中心点の計算。 OpenCV 画像処理実験
YOLO 物体検出アルゴリズム ディープラーニングに基づき、大量のアノテーション付きデータによる学習が必要です。 特定物体の検出に適しています。例:さまざまな角度や照明条件下の顔やワークの認識。 YOLO11 顔検出システムの実装 YOLO11 物体検出システムの実装
視覚言語大規模モデル(VLM) マルチモーダル大規模モデル(GPT-4V など)に基づき、膨大な画像・テキストデータで事前学習されています。 複雑なシーンの理解、推論、タスク計画が必要な場合。例:「机の上のワークを認識する」場合、まずタスクを分解します:机を見つける -> ワークを認識して位置を特定する -> ワークを把持する 視覚言語モデル VLM による画像解析

ビジョン画像アルゴリズム

ビジョン画像アルゴリズムは、画像分類、物体検出、セマンティックセグメンテーション、姿勢推定などを網羅しています。本プロジェクトは Python で記述された BPU サンプルプログラムをベースとしており、RDK X5(ソフトウェアバージョン 3.5.0)プラットフォームに対応しています。また、サンプルでは .bin 形式の量子化モデルを使用して推論を行うため、開発者はモデルの効果を素早く検証し、アプリケーション開発を進めることができます。

本プロジェクトのボード上のコードの場所:/app/pydev_demo/

アルゴリズムの応用 特長 使用モデル アルゴリズム例
画像分類 異なるニューラルネットワークモデルで同じ画像分類を実現します。 resnet18 、MobileNetV2 5.1 画像分類
物体検出 異なる YOLO シリーズモデルで同じ物体検出を実現します。 YOLOv5X 、YOLOv11、YOLOv8、YOLOv10 5.2 物体検出
セマンティックセグメンテーション 異なるニューラルネットワークモデルでセマンティックセグメンテーションを実現します。 unetmobilenet、yolov11 5.3 セマンティックセグメンテーション
姿勢推定 人体のキーポイント検出を実現します。 YOLO11 5.4 姿勢推定
オープンボキャブラリ物体検出 テキストプロンプト(prompts)による柔軟な物体検出に対応し、事前に定義したクラス一覧は不要です。 YOLO-World 5.5 オープンボキャブラリ物体検出
画像クラスセグメンテーション 取得した画像をクラスごとに分割します。例:人、車両、路面、道路標識などの分割。 MobileNet-UNet 5.6 画像クラスセグメンテーション