ケイエルブイは、ハイパースペクトルカメラ・光学部品・光源など
世界中の光学機器を取り扱う専門商社です。

03-3258-1238

平日9:00 〜 18:00(土日祝日除く)

お問い合わせ

マシンビジョンとは

マシンビジョン(Machine Vision)とは、自動分析に必要なデータを提供するイメージングを土台とした技術や方法を指します。
広義にはこれと関連するソフトウェアやハードウェア、システム、専門知識も内包します。また工学の一分野でもあります。

マシンビジョンは産業分野において自動検査やプロセス制御、ロボットのガイドに用いられていますが、これらはイメージング、画像処理(自動分析)、出力のプロセスによって達成されます。
これらプロセスの中でも「画像処理」の際は自動で画像から情報を抽出します。このための技術や方法がマシンビジョンに当たります。

今回はマシンビジョンの理解に欠かせない3つのポイントについて解説していきます。

マシンビジョンを理解するための3つのポイント

  • タスク
  • 構成要素
  • プロセス

タスクは「目的」を、構成要素は「目的達成のために何が必要か」を、プロセスは「どのように目的が達成されるか(方法)」を表しています。

マシンビジョンによって実行される「タスク」

マシンビジョンシステムは、主として人間が行ってきた目視検査を自動化します。
例えば、読み取る、調べる、見分ける、測るといった限定されたタスクを高速・高精度で実行します。

読み取る

読み取る

バーコードやシリアル番号を読み取ります。

調べる

調べる

傷の有無や色差といった品質に関わる情報や材料などを調べます。

測る

測る

製品や部品の寸法を計測します。

見分ける

見分ける

製品を判別したり、ゴミの分別を行います。

またロボットのガイドとしても機能します。いわゆる「機械の目」です。
マシンビジョンはロボットが適切に状態を把握できるように位置・方向の情報を提供します。ロボットはマシンビジョンによって得た情報を元に動作し、タスクを遂行します。

例えば、上述したような「バーコードの読み取り」や「寸法の測定」などは人間でも実行可能なタスクですが、マシンビジョンを用いた場合人間よりも遥かに高速かつ高精度でタスクを遂行できます。
一方、人間の目では判別できない微細な傷を調べたり、見た目ではわからない違いを見分けることもできます。(例えばハイパースペクトルカメラを用いた場合、画像情報からプラスチックの材料の判別が可能です。)

では、こうしたタスクの遂行には何が必要でしょうか?

次はマシンビジョンの構成要素について見ていきます。大まかに構成要素を把握することで、タスク遂行のために必要なコンポーネントが掴めます。

マシンビジョンシステムの「構成要素」

マシンビジョンはハードウェアやソフトウェア、システムも含んだ概念ですが、具体的には次のような要素で構成されています。

カメラ 白黒/カラー、解像度、フレームレート等、用途・目的に適したカメラが選択されます。
フレームグラバー フレームグラバー(frame grabber)はアナログカメラの信号をデジタル形式に変換するために必要です。画像入力ボードとも言います。
照明 蛍光灯、ファイバー駆動ハロゲン、キセノンストロボ光源がマシンビジョンシステムでよく採用されていますが、近年はLED照明に代替されつつあります[1]。
ソフトウェア 撮影した画像の自動処理を行い、合否を判断します。画像処理方法は用途・目的に特化されているケースが多いです。

これらの他にも光学やレンズ、プロセッサー、ディスプレイなどの無数のコンポーネントで構成されています[1]。

マシンビジョンの構成要素に求められる要件は、タスクによって異なります。
例えば「色の判別」というタスクを行う場合、カラー画像を撮影できるカメラ、製品・部品を無駄なく照らす適切な照明、読み込んだ画像から適した色かどうかをプログラムされたルールに基づいて分析・判定するソフトウェアが必要です。

さて、ここまででマシンビジョンによって自動化されるタスクとタスク実行のために必要な要素は整理できました。
次は「タスクの実行方法」、マシンビジョンのプロセスについて見ていきます。

マシンビジョン実行の「プロセス」

マシンビジョン実行のプロセスはイメージング、画像処理、出力の3つに分けられます。

1. イメージング

イメージング

まずはカメラなどの撮影機器による画像の取得します。

2. 画像処理

画像処理

画像データをソフトウェアで処理し、合否の判定を行います。

3. 出力

出力

判定された結果を出力します。

詳細を見ていきましょう。

Step.1イメージング

「目的のタスクを遂行するために必要なデータを取得する」プロセスです。
マシンビジョンの多くは自動検査とロボットのガイドとして使用されています。検査に必要な情報、ロボットの操作に必要な情報を取得する必要があります。

人間が「見る」場合は目で光情報を受け取りますが、機械で光情報を受け取る場合、すなわち機械で「見る」場合は撮影機器(カメラ)が用いられます。

2020年現在、2Dの可視光カメラが主流ですが、用途・目的に特化して様々なカメラがイメージングに使用されています。

例えば可視光カメラは「人間の目に見える光」のみ撮影しますが、用途によっては赤外線、X線など人間の目には見えない光を撮影できる特殊カメラを用いるケースもあります。

波長
イメージング技術・手法 説明
2D可視光 人間の目が捉えられる波長を二次元画像として撮影します。用途によって波長を限定したりフレームレートを調整します。
赤外線 可視光の波長域では達成できない用途で使用します。具体的には農業の選別と検査、ウェブ検査、半導体分析、環境モニタリング、防衛関連です[2]。
X線 電子機器の欠陥等、隠れた欠陥を見つける品質検査・管理での活躍が期待できます[3]。
ラインスキャン 1ラインでスキャニングしていく撮影方式です。分解能が高いという特徴があります。
スナップショット 一瞬で特定の範囲を撮影する方式です。非常に高速のラインでも使用できます。
3D 今後成長が見込める分野・技術です。現状では「三角測量」による撮影が主流です。

こうしたカメラによって撮影が行われます。
また「撮影機器」と「画像処理」は一体になっている場合と分離している場合があります。

Step.2画像処理

撮影した画像は遂行されるタスクに適した方法で処理されます。
画像の処理方法には次のようなものがあります。

処理方法 説明
ステッチ/登録 複数の画像を結合します。
つなぎ合わせ(Image stitching)や登録(Image registration)を指します。
フィルタリング 数理形態学的フィルタリング。
しきい値設定 しきい値設定はグレー値の設定(または決定)から始めます。
設定したグレー値を使用して画像を部分へと分離し、場合によってはそのグレースケール値を下回るか上回るかに基づいて、画像の各部分を単純な白黒に変換します。
ピクセルカウント 明るいピクセルまたは暗いピクセルの数をカウントします。
セグメンテーション デジタル画像を複数のセグメントに分割して、
画像の表現を分析しやすいものに単純化・変更します。
エッジ検出 対象の輪郭を検出します。
色分析 色を使用して部品、製品、およびアイテムを識別し、色から品質を評価し、色を使用して機能を分離します。
ブロブの検出と抽出 画像のランドマークとして接続されたピクセルの離散ブロブ
(例:灰色のオブジェクトのブラックホール)の画像を検査します。
パターン認識 特定のパターンの検索、マッチング、および/またはカウント。
これには、回転したり、別の物体によって部分的に隠されたり、サイズが変化したりする可能性のある物体が含まれます。
バーコード バーコード、データマトリックス、2Dバーコードを読み取ります。
光学式文字認識 シリアル番号などのテキストを自動で読み取ります。
計測 物体の寸法を測定します。

[4]を参考に作成

このプロセスでは、上述したような様々な手法を用いて画像処理を行い、撮影された画像データから合否の判定に必要な必要な情報を抽出します。
抽出された情報から、品質をクリアした製品か否かなど合否の判定を行います。

判定の結果は「出力」されます。

Step.3出力

画像の処理によってマシンビジョンは「判定」を下します。
判定の結果は「出力」されます。
例えば品質検査の場合、判定に従って規格からはみ出した製品や、傷のある製品、品質に適合していない製品は排除されますが、これらは画像処理によって判別されます。

データの出力形式は数値や測定値、文字データ、アラームや信号など様々です。

別の装置の「入力」信号になる場合

マシンビジョンから合否判定の結果が出力されると別の機器への入力信号となる場合もあります。

マシンビジョンシステムがロボットアームへと判定結果を出力

例えば「問題のある製品」が見つかった場合、マシンビジョンシステムがロボットアームへと判定結果を「出力」します。
ロボットアームがこの信号を「入力」し、ライン上から問題のある製品を取り除きます。

ロボットのガイドの場合

ロボットのガイドとなる場合は「対象の判別」から「位置・方向の決定」が行われた後、データをロボットの座標系に変換し「出力」となります。

対象の判別

対象の判別は、テンプレートマッチングや輝度(しきい値)や色によって行われます。(それぞれ「機械学習」が求められるケースもあります。)
画像処理による対象の判別が完了次第、位置(x, y座標)・方向が決定されます。

座標系の翻訳

マシンビジョンシステムで対象の位置情報が決定すると「ロボットの座標系への変換」が行われます。
マシンビジョンシステムとロボットはそれぞれ直交する「x」と「y」を表す独自の座標系を持っていますが、ロボットと通信するには「マシンビジョンシステムの座標系」から「ロボットの座標系」への翻訳が必要です[5]。

わざわざ座標情報を翻訳しなければならないのは、マシンビジョンシステムが計測した位置情報をそのまま「出力」してロボットに受け渡しても、ロボットがその情報を理解できないからです。
卑近な例で言うと日本人とアメリカ人がコミュニケーションを取る際、日本語を英語に翻訳するようなものです。機械もこれと同様で「相手が理解できる形に翻訳する」必要があります。

マシンビジョンシステムからロボットへと情報を受け渡すために、マシンビジョンシステムは「ロボットが理解できる形式」に座標情報を処理するのです。

出力

ロボットの座標系への翻訳が済んだ後、これら座標データが「出力」されます。

マシンビジョンの事例紹介

人間の目には見えない波長を撮影できる「ハイパースペクトルカメラ」。
マシンビジョン「食品工場における異物検査」での事例です。

終わりに

今回はマシンビジョンを理解する上で重要な3つの事柄(タスク・構成要素・プロセス)に焦点を当てて解説して参りました。

マシンビジョンは人間が行えるタスクをより高速に高精度で行なったり、人間にはできないタスクを自動で行います。
3Dイメージングやロボット技術の発達などによって、マシンビジョンのますますの発展が期待されます。

参考・引用

[1] Dechow, David「Explore the Fundamentals of Machine Vision: Part 1」(最終閲覧日:2020年3月24日)

[2] 「IR Cameras Take Aim at Machine-Vision Applications」(最終閲覧日:2020年3月24日)

[3]「X-ray systems enhance machine vision」(最終閲覧日:2020年3月24日)

[4]「Machine vision」(最終閲覧日:2020年3月24日)

[5]「Machine Vision Fundamentals: How to Make Robots 'See'」(最終閲覧日:2020年3月24日)