マシンビジョン
マシンビジョン(Machine Vision、MV)とは、産業(特に製造業)でのコンピュータビジョンの応用を意味し、自動検査、プロセス制御、ロボットのガイドなどに使われる。MVの適用範囲は幅広い。
コンピュータビジョンがコンピュータによる画像処理を主に研究対象としているのに対して、マシンビジョンはそれ以外にロボットアームなどの他の製造機器を接続するコンピュータネットワークやデジタル入出力機器も含めたシステムが必要となる。従って、マシンビジョンは、計算機科学、機械工学、光学、ファクトリーオートメーションなどを統合した工学の一分野となっている。
マシンビジョンシステムは、ベルトコンベア上の物体を数えるとか、シリアル番号を読み取るとか、表面の傷がないか調べるなどの極めて限定されたタスクを実行する。製造業者がマシンビジョンを導入するのは、それが高速で細部にわたる目視検査を休み無く実行できるからである。人間の検査者は体調の変動や長時間にわたる注意力の維持に問題があるが、短時間であれば機械以上の認識能力と問題発生時の柔軟な対応力がある。
コンピュータは必ずしも人間と同じように「見ている」わけではない。カメラは人間の眼と同じではないし、人間が推論したり想定したりすることに依存しているのに対して、コンピュータは画像の個々のピクセルを調べることで「見ている」のであり、知識ベースやパターン認識エンジンを使って結論を出すのである。人間の知覚を真似たマシンビジョンのアルゴリズムも開発されてきたが、効率を重視した特定用途向けの様々な画像処理手法も開発されてきた。マシンビジョンやコンピュータビジョンシステムは画像を一貫して処理できるが、そのようなシステムは一般に単一で繰り返されるタスクを実行するよう設計されることが多い。この分野の進展にもかかわらず、マシンビジョンやコンピュータビジョンシステムは未だに人間の画像理解能力に到達していない。具体的には、光の当たり方の変化や画質の劣化、部分的な変動に対応できない。
マシンビジョンの典型的な用途としては、各種製品(ICチップ、自動車、食品、医薬品など)の検査がある。工場のラインで人間の検査者が眼で見て製品を検査する代わりに、デジタルカメラ、スマートカメラ、ソフトウェアなどで構成されるマシンビジョンシステムが同様の検査を行う。マシンビジョンシステムは半導体部品工場で広く利用されている。マシンビジョン無しではCPUの生産量は激減するだろう。マシンビジョンシステムはシリコンウェハやチップ、抵抗やコンデンサなどの検査に使われている。
自動車産業などでは、マシンビジョンシステムが産業用ロボットのガイドとして使われている。溶接すべき箇所の位置あわせや表面の傷の検出などに使われている。他にも、品質保証、仕分け、資材搬送、光学的計測などの用途がある。
マシンビジョンの技法はMVソリューションを定義し生み出す過程で定義され、そういったソリューションの運用に際して行われる技術的過程として定義される。ここでは主に後者を解説する。2006年の時点でMVで使われているインタフェースやコンフィギュレーションの標準化はあまり進んでいない。例えば、ユーザーインタフェース、複数コンポーネントを組み合わせる際のインタフェース、データ交換を自動化するためのインタフェースなどがある。いずれにしてもMVの第一段階は画像を撮影することであり、カメラやレンズや照明を使い、その後の処理で必要な部分が識別可能となる画像を撮影できるよう設計される。撮影した画像にMVソフトウェアパッケージによって各種デジタル画像処理が施され、必要な情報を抽出し、多くの場合抽出された情報に基づいた判断(検査の合否判定など)が行われる。
多くのマシンビジョン・アプリケーションは2次元画像を使っているが、3次元画像を使う(対象物を立体的に把握する)ものも徐々に増えている。
2次元・可視光の一般的な撮影が最も多く使われており、他にも赤外線撮影、ラインスキャン撮影、3次元撮影、X線撮影などが使われることがある。2次元・可視光の場合でも、モノクロ撮影とカラー撮影、解像度の違い、画像全体について同時に画像処理を行うか否か、動いている物体の認識が可能かといった差異がある。3次元撮影でよく使われるのは三角測量に基づくスキャンである。他にも、レーザー光の反射にかかる時間で距離を計測する技法(TOF法)、グリッド方式、ステレオ方式などの3次元撮影技法がある。
撮影機器(カメラなど)は画像処理装置とは分離しているものもあるし、一体化していることもある。後者はスマートカメラやスマートセンサーと呼ばれる。分離型の場合、両者の接続には標準インタフェース(CameraLink、CoaXPressなど)や独自インタフェースのフレーム取り込み装置という専用ハードウェアを経由することがある。コンピュータに直接接続可能なカメラが使われることもあり、FireWire、USB、ギガビット・イーサネットといったインタフェースで接続する。
画像を撮影したら、それを処理する。次のような画像処理技法が使われている。
ピクセルカウント: 明るい(あるいは暗い)ピクセル数を数える。
しきい値設定: グレイ階調画像を白黒画像に変換する。
セグメンテーション: デジタル画像を複数のセグメントに分割して単純化したり、より分析しやすい意味のある形に変換する。
ブロブ抽出: 画像からブロブ(例えば灰色の物体中にある黒い穴など)と呼ばれる部分を識別する。ブロブは光学的ターゲットとして何らかのロボット操作の対象を表したり、検査においては傷を表す。
パターン認識: テンプレートマッチングなど。特定パターンを見つけ出し、カウントしたりする。物体の位置のずれや向きの違いを認識したり、重なりを認識したり、大きさの変化を認識したりといったことが含まれる。
バーコード読み取り: マシンビジョンシステム向けの一次元や二次元のバーコードを読み取る。
光学文字認識: シリアル番号などを自動的に読み取る。
計測: 物体の寸法をミリメートルなどの単位で測定する。
エッジ検出: 物体の輪郭を検出する。
ニューラルネットワーク処理: 自律学習型の判断システム
マシンビジョンシステムの一般的な出力は、何らかの判定の合否である。その出力をトリガーとして何らかの機構を働かせて問題のある製品をはじいたり、警報音を発したりする。また、物体の位置や向きに関する情報を出力し、産業用ロボットへの入力とする場合もある。出力データの型としては、計測値を表す数値、バーコードなどを読み取ったコード、シリアル番号を読み取った文字列、画像そのものなど様々なものがある。
同期センサーが製品(あるいは部品)がコンベア上の所定の検査位置に来たことを知らせる。センサーがトリガーを発生するとカメラがその画像をとる。このとき光源のON/OFFも同期して行われる。光源はその物体の特徴が分かり易くなるように考慮して配置され、検査に関係ない特徴は無視される(影になってもよい)。
カメラのとった画像はフレーム取り込み装置に渡される。フレーム取り込み装置はデジタイズ機器であり(スマートカメラなら内蔵しているし、そうでなければコンピュータ用のボードである)、カメラの出力をデジタル形式に変換し(一般に数値の二次元配列で画像を表す)、その画像データがコンピュータの記憶装置に蓄えられる。画像データはマシンビジョン・ソフトウェアによって処理される。
ソフトウェアはいくつかの段階で画像を処理する。一般に画像はまずノイズを低減させた後で、グレイの階調だったものが白と黒の二値画像に変換される。そのような単純化の後でソフトウェアは画像から物体を数えたり、大きさを測ったり、傷がないか調べたりする。最後にプログラムされた規則に従って、撮影された物体(製品や部品)に問題があるかどうかを決定する。問題がある場合、ソフトウェアは部品をラインから排除する機構に信号を送る。あるいは、ラインを止め、人間に通知して問題への対処を任せる。
多くのマシンビジョンシステムは白黒カメラを使用するが、最近ではカラーのカメラを使用することが多くなってきた。マシンビジョンシステムがデジタルカメラを装備することも多くなり、フレーム取り込み装置が不要となって画質の劣化が低減されてきている。
スマートカメラはプロセッサが組み込まれているカメラであり、マシンビジョン市場でシェアを伸ばしている。画像処理に最適化されたプロセッサを内蔵するため、フレーム取り込み装置も外部のコンピュータも不要となる。そのためコストが低減され、システムが単純化し、個々のカメラが専用のプロセッサを持つことになる。
2006年時点の北米のMV市場は15億ドルと見積もられていた。しかし、MV専門誌の編集長は「マシンビジョンは本来1つの産業ではない」とし、むしろ「自動車などに代表される製造業、農業、軍需産業などに役立つサービスやアプリケーションを提供するテクノロジーと製品を統合したもの」だとしている。
2021年時点の市場規模は100~110億ドルとの報告もある。。