Computer Vision (CV)
コンピュータビジョンがマシンに画像や動画を解釈させる仕組みについて解説します。コアタスク、業界での活用事例、Ultralytics YOLOを始める方法を学びましょう。
コンピュータービジョン(CV)とは、コンピューターやシステムがデジタル画像、動画、その他の視覚的入力から有意義な情報を引き出せるようにする人工知能(AI)の分野です。AIが機械に思考を与えるとすれば、コンピュータービジョンはそれに見る、観察する、理解する能力を与えます。ルールベースの画像処理ツールとは異なり、最新のシステムはデータから直接学習します。車や腫瘍がどのような見た目であるかを明示的に指示されることはなく、代わりに何千ものアノテーション済みサンプリングから根底にあるパターンを特定し、その知識をこれまでに遭遇したことのない画像に汎用化します。機械学習(ML)とディープラーニング(DL)を適用することで、コンピュータービジョンは構造化されていない視覚データを、ソフトウェアが実行できる意思決定へと変換します。
Computer Vision の仕組み#
コンピューターは画像をピクセルを表す数値の配列として認識します。その配列をアクションに変換するプロセスは、5つのステージのパイプラインに従います。

画像取得。 ワークフローは、CMOSセンサー、赤外線カメラ、またはLiDARスキャナーなどのハードウェアが光を捉え、それをデジタルピクセルグリッドに変換することから始まります。カメラキャリブレーションは、分析が開始される前にレンズの幾何学的な歪みを補正します。
前処理。 モデルが一貫した入力を受け取れるように、取得したデータは正規化されます。具体的には、リサイズ、ノイズの削減、およびコントラストの調整が行われます。
特徴抽出。 システムはエッジ、勾配、角などの低レベルの特徴を識別します。データがネットワークの深部に進むにつれて、それらのプリミティブがテクスチャ、パターン、複雑な幾何学的形状などの高レベルの特徴へと結合されます。例えば、システムが垂直線を検出し、それをフェンスの柱として認識し、最終的にそのシーンを境界線であると理解することがあります。このプロセスは特徴抽出として知られています。
モデル推論。 現代のコンピュータービジョンのエンジンとなるのは畳み込みニューラルネットワーク(CNN)です。画像を平坦な数値のリストとして扱う標準的なニューラルネットワークとは異なり、CNNはピクセル間の空間的関係を保持します。画像上をスライドするフィルターを使用することで、フレーム内のどこにパターンが出現するかに関わらずそれらを検出します。より最近では、Vision Transformers(ViTs)が強力な代替手段として登場しており、自然言語処理のアテンション機構を画像データに応用しています。
出力とアクション。 モデルは、ラベル、一連のバウンディングボックス、またはピクセルマスクといった構造化された結果を返し、周辺システムがそれに基づいてアクションを実行します。不良品の拒否、車両のブレーキ制御、アラートの発報などがこれに該当します。
モデルの学習方法#
モデルの性能は、それが消費するデータの質に依存します。教師あり学習には大量の学習データが必要であり、ImageNetやCOCOなどのベンチマークが数百万のアノテーション済みサンプルを提供しています。学習中、モデルは予測を行い、その予測を正解ラベルと比較し、誤差を減らすために内部の重みを調整します。一度学習されたモデルは、上記の推論ステップを実行します。
ルールベースシステムからディープラーニングへの移行#

初期のコンピュータービジョンは、手動による特徴エンジニアリングに依存していました。エンジニアが厳格な幾何学的パラメータを定義することで、機械によるオブジェクト認識を助けていました。それらのシステムは脆弱であり、照明が変化したり、見慣れない角度でオブジェクトが現れたりするたびに失敗していました。100万枚以上のラベル付きImageNet画像で訓練されたAlexNetが2012年に発表されたことは、畳み込みネットワークが手動で設計されたアプローチを大規模に凌駕できることを証明し、転換点となりました。ディープラーニングは、手動で調整されたルールを、独自の特長を学習するアーキテクチャへと置き換えました。これにより、完全に制御されることのない現実世界の環境下でも耐えうる柔軟性がもたらされました。
コンピュータービジョン vs. 画像処理 vs. マシンビジョン#
コンピュータービジョンを、日常的に混同されがちな隣接分野と区別することは重要です。
- **画像処理**は、画像を操作して画質を向上させたり、信号を抽出したりします(明るさやコントラストの調整、フィルターの適用など)。その出力は通常、別の画像です。コンピュータービジョンは画像を入力として受け取り、解釈(「この部屋には3人いる」など)を出力します。コンピュータービジョンでは、準備ステップとして画像処理が日常的に使用されます。
- **マシンビジョン**とは、固定された照明と既知の部品位置を持つ、厳密に制御された環境で動作する産業用検査システムを指します。コンピュータービジョンはより幅広い学問領域であり、予測不能で制御されていない条件に対処できるように構築されています。
- 自然言語処理はテキストと音声を取り扱います。コンピュータービジョンは完全に視覚データに焦点を当てていますが、ビジョン言語モデルが両者の架け橋としてますます活用されるようになっています。
コアとなるコンピュータービジョンのタスク#
Computer visionは単一の機能ではなく、それぞれ異なる問題を解決する一連の明確なタスクです。それぞれの詳細な解説については、computer vision tasksの完全なガイドをご覧ください。
- **画像分類:**画像全体に単一のラベルを割り当て、「この写真には何が写っているか?」という問いに答えます(例:製品を良品と不良品に仕分けするなど)。これと密接に関連するのが画像認識であり、何が存在するかを識別します。
- **物体検出:**明確なオブジェクトを識別し、それぞれにバウンディングボックスを描画することで、システムが1つのフレーム内で複数のオブジェクトをカウントおよび特定できるようにします。
- **インスタンスセグメンテーション:**検出された各オブジェクトに対してピクセルレベルのマスクを生成し、同じクラスの個々のインスタンスを分離します。セマンティックセグメンテーションは、インスタンスを区別することなく、すべてのピクセルにクラスを割り当てます。
- **姿勢推定:**人間の体の関節などのオブジェクト上のキーポイントを検出し、動きや姿勢を追跡します。
- **指向性バウンディングボックス:**軸に整列していないオブジェクトに回転したボックスを適合させます。航空画像や衛星画像において不可欠です。
- **物体追跡:**ビデオストリームに沿ってオブジェクトを追跡し、フレーム間で一貫したIDを保持します。オプティカルフローは、連続するフレーム間の見かけ上の動きを分析することでこれを拡張します。
- **光学的文字認識(OCR):**印刷されたテキストや手書きのテキストの画像を機械可読なデータに変換し、文書処理を大規模に自動化します。
適切なタスクの選択#
プロジェクトの最初から技術的タスクとビジネス目標を一致させておくことで、コストのかかる手戻りを防ぐことができます。
| ビジネス目標 | 使用するタスク |
|---|---|
| 製品をカテゴリごとに分類する | 画像分類 |
| アイテムの数え上げまたは位置の特定 | オブジェクト検出 |
| オブジェクトの正確な形状や境界の分析 | インスタンスセグメンテーション |
| 動画フレーム間での動きの追跡 | 物体追跡 |
| 体の位置や関節角度の測定 | 姿勢推定 |
| 航空画像での回転したオブジェクトの検出 | 指向性バウンディングボックス |
| 文書やラベルからのテキストの読み取り | 光学的文字認識 |
実社会での応用#
コンピュータービジョンは現在、ほとんどの主要産業において本番システムの基礎を支えています。

- 製造業と品質管理。 現代の生産ラインは、人間の視覚能力よりも高速に稼働します。ビジョンシステムは瞬時に品質検査を実行し、人間の検査員に蓄積される疲労とは無縁の状態で、ラインの速度に追いつきながら微小な亀裂や位置ずれした部品を特定します。また、機械の摩耗パターンの監視により、故障が予期せぬダウンタイムを引き起こす前に劣化の兆候を見つける予知保全も可能になります。製造業におけるコンピュータービジョンおよび欠陥検出を参照してください。
- ヘルスケアと診断。 医療画像分析アルゴリズムは、X線、MRI、CTスキャンを処理し、時間的プレッシャーの下で見落としやすい初期段階の腫瘍、微小骨折、網膜の異常を検出します。手術室では、ビジョンシステムが低侵襲手術中にリアルタイムの空間マッピングを提供します。ヘルスケアにおけるコンピュータービジョンを参照してください。
- 小売。 レジなし店舗では、センサーフュージョンとビジョンアルゴリズムを使用して、棚から離れるアイテムを追跡し、顧客に自動的に請求を行います。同じシステムが棚の在庫レベルをリアルタイムで監視して補充アラートをトリガーし、在庫管理および小売損失防止をサポートします。小売におけるコンピュータービジョンを参照してください。
- 自動運転交通。 パーセプション(認識)レイヤーは、自動運転車において最も安全性が重視されるコンポーネントです。ビジョンシステムは、車線マーキング、交通標識、歩行者、その他の車両をリアルタイムで識別し、カメラの入力とレーダーおよびLiDARを組み合わせて、3D物体検出を通じて車両の周囲の360度モデルを構築します。自動運転車を参照してください。
- セキュリティとモニタリング。 セキュリティインフラストラクチャは、受動的な記録からプロactiveな介入へと移行しました。制限区域でのうろつきの検知、異常な行動パターンの発生時のフラグ付け、公共の場における混雑・キュー管理のサポートなどを行います。異常検知がその基盤となる機能です。
- 農業。 ドローンやトラクターが個々の植物のレベルで作物の健康状態を評価し、マルチスペクトル画像を分析して水不足、害虫の発生、栄養不足を特定します。その結果、畑全体ではなく、必要な場所にのみ水、農薬、肥料が散布されます。農業におけるコンピュータービジョンを参照してください。
エッジにおけるコンピュータービジョン#
ビデオを中央のクラウドサーバーにルーティングするのではなく、カメラ上やローカルゲートウェイ上で直接、つまりエッジでリアルタイムの視覚分析を実行することが増えています。これには2つの理由で重要です。
レイテンシがほぼゼロにまで低下します。これは、ミリ秒の遅延がエラーを引き起こす自律型ロボットや産業用ライン検査において譲れない条件です。さらに、生ビジョンの代わりにメタデータのみがネットワークを通過するため、帯域幅の要件が大幅に低下すると同時に、機密映像がローカルデバイスから外に出ないためプライバシーが向上します。Edge AIとリアルタイム推論がこれを実用的なものにしており、ONNXやTensorRTなどのモデルデプロイオプションにより、単一の訓練済みモデルを多様なハードウェア上で実行できるようになります。
課題と制限#
データの質。 モデルはその学習データの質を反映します。低解像度、不十分なアノテーション、または代表的ではないデータセットは信頼性の低いモデルを生み出し、多様なアノテーション済みデータセットの構築は、アルゴリズムの設計よりも多くの労力を要することが頻繁にあります。データアノテーションを参照してください。
環境変数。 豪雨、レンズフレア、部分的なオクルージョン、オブジェクトのスケールの変動はすべてパフォーマンスを低下させます。堅牢なシステムは、デプロイ前にこれらの条件をシミュレートしてレジリエンスを構築するために、学習中にデータオーグメンテーションに依存し、過学習(オーバーフィッティング)を回避するための慎重な検証に依存します。
倫理的配慮とバイアス。 人口統計学的多様性に欠けるデータセットで訓練されたモデルは、集団の間で不均一なパフォーマンスを示します。医療画像、職場の安全性、または公共スペースにおいて人々を分析するシステムをデプロイする組織は、公平性についてデータセットを監査し、自動化された意思決定を網羅する新たな規制を遵守する必要があります。
コンピュータービジョンの未来#
Vision Transformersは、画像の離れた部分間の関係の理解を必要とするタスクにおいて、達成可能なことの再定義を進めています。さらにその先では、マルチモーダル学習が視覚データをテキスト、音声、深度と組み合わせて、より豊かな文脈理解を持つシステムを構築します。画像に関する質問に答えるビジョン言語モデルはその初期の例です。
生成AIは、データの不足という問題に直接対処しています。合成データにより、現実世界では十分なボリュームで収集できない稀なシナリオ(特定の障害モード、珍しい病気の症状など)の高精細な画像を生成することが可能になります。一方、深度センシングカメラやLiDARは、システムを平面的な画像分析を超えて空間コンピューティングへと押し進めており、そこではARガイド付きメンテナンスや構造マッピングなどのアプリケーション向けに、デジタル情報が物理世界に重ね合わされます。
Ultralyticsを使用したコンピュータービジョンの実装#
コンピュータービジョンプロジェクトを試行するチームにとって、Ultralytics YOLO26はリアルタイムの物体検出を行うための実践的な出発点です。オープンソースであり、豊富なドキュメントが提供されており、エッジで実行できるほど高速です。ハードウェア全体の精度とレイテンシの数値はベンチマークページで公開されており、ドキュメント内にはサイドバイサイドのモデル比較も用意されています。より広いエコシステムには、古典的な画像処理用のOpenCVや、主要な学習フレームワークとしてのPyTorchが含まれます。
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on a standard example image
# The model identifies objects and their locations
results = model("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
results[0].show()このスクリプトは、事前学習済みモデルを使用してわずか数行で推論を実行します。パイロットから本番環境へ移行するチームは、Ultralytics Platformを使用してデータセットのアノテーション、クラウドでのモデル学習、デプロイの管理を行ったり、転移学習を適用して、スクラッチからの学習よりもはるかに少ないラベル付きデータで事前学習済みモデルをカスタムデータセットに適応させたりすることができます。
よくある質問#
コンピュータービジョンと機械学習の違いは何ですか? 機械学習は、データから学習するシステムを構築するより広い学問領域です。コンピュータービジョンは、画像や動画などの視覚的入力に対してその学問(通常はディープラーニングを介して)を応用したものです。現代のほぼすべてのコンピュータービジョンは機械学習に基づいて構築されていますが、機械学習はテキスト、音声、表形式データも対象としています。
コンピュータービジョンは画像認識と同じですか? いいえ。画像認識はコンピュータービジョン内の1つのタスクであり、画像に何が写っているかを識別するものです。コンピュータービジョンには、物体検出、セグメンテーション、姿勢推定、追跡、およびシーン理解も含まれます。
コンピュータービジョンモデルの学習にはどれくらいのデータが必要ですか? タスクの複雑さと、モデルが処理しなければならないバリエーションの度合いによって異なります。YOLO26のような事前学習済みモデルからの転移学習により必要量は大幅に削減され、基盤モデルの学習に使用される数百万枚ではなく、クラスごとに数百から数千枚のラベル付き画像で実用的なカスタム検出器が学習されることがよくあります。
コンピュータービジョンはインターネット接続なしで実行できますか? はい。モデルをエッジデバイスに直接デプロイして完全にオフラインで実行することが可能です。これは、レイテンシ、帯域幅、またはデータプライバシーの観点から動画をクラウドに送信できない場合の標準的なプラクティスです。
コンピュータービジョンにはどのプログラミング言語が使用されますか? エコシステムの成熟度(ultralyticsパッケージ、PyTorch、OpenCV)を理由に、Pythonが主流となっています。最大の推論パフォーマンスが要求される場合(通常は組み込みシステムや車載システムなど)には、C++が使用されます。






