雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
coverstory
2004年1月号
マシン・ビジョン開発は
怖くない


マシン・ビジョン・システムの開発には、多彩な知識が要求される。このため従来は、コンサルタントに開発を依頼するケースが少なくなかった。しかし最近になって、経験が少ないエンジニアでも使いこなせるソフトウエア製品が登場している。これを使えば、短時間で、しかも低コストでマシン・ビジョン・システムを開発できるようになるだろう。さらにハードウエアの進歩も開発負担の低減に一役買う。IEEE1394やカメラ・リンクといったデジタル・インターフェースを備えるカメラを使えば、マシン・ビジョン・システムを比較的簡単に構築できる。

ダン・ストラスバーグ
Dan Strassberg
 画像入力や画像処理といった技術を利用するマシン・ビジョン・システム*の開発には、非常に多くの知識が要求される。このため多くの企業は、自社の力だけで開発することを断念し、マシン・ビジョン・システムに精通するコンサルタントに開発を依頼する傾向にある。コンサルタントの力を借りれば、開発コストだけでなく貴重な時間を節約できる。
 一方、マシン・ビジョン・システムの開発に向けた市販ソフトウエアが相次いで発売されている。これを利用すれば、マシン・ビジョンや画像処理に関する経験がないエンジニアでもシステム開発が可能になる。
 経験が少ないエンジニアが、マシン・ビジョン・システムを開発する場面を想定してみよう。この場合、最初のステップは外部支援が必要な作業はどれか、所有しているソフトウエアを使って迅速に実行できる作業はどれかを判断することにある。こうした判断を下す際には、開発ツールやハードウエアなどのベンダーの力を借りることができる。例えば、ベンダーのウエブ・サイトには、判断を支援するツールが掲載されている。さらに、こうしたベンダーに電話を掛ければ、数多くのユーザー事例に関する情報を集めているアプリケーション・エンジニアが相談に乗ってくれるだろう。運が良ければ、最適なコンサルタントを紹介してくれるかもしれない。
 マシン・ビジョン・システムの開発において最も経済的な方法は、プロジェクトの一部分に限定してコンサルタントの力を借りることである。例えば、照明(ライティング)に関する開発だけをコンサルタントに依頼する。プロジェクト全体を依頼すると、開発コストはかえって高くなってしまう。
 画像解析とマシン・ビジョンは関連性はあるが、まったく同じものではない。画像解析は、マシン・ビジョンの一部であるとの見方がある一方で、画像解析の研究範囲はマシン・ビジョンの研究範囲よりも広いという見方もある。実際に、両者を分ける線はあいまいなことが多い。
 マシン・ビジョンの応用機器は、商業的に成功を収めている。例えば、さまざまな製品の生産ラインで、マシン・ビジョン機器は不可欠なものとなっている。一方、画像解析技術は、研究所で使用する機器に応用されることが多い。ある専門家は「画像解析で取り扱う対象は、マシン・ビジョンで取り扱う対象に比べて、明確に定義されていないものが多い」と指摘する。画像解析で取り扱う対象を具体的に挙げよう。例えば、基礎研究所の実験室や病院の病理学研究室で取り扱う動物の組織細胞といった未知の物体である。こうした研究所では、画像を解析して分類するという作業を行っている(図1)
 一般にマシン・ビジョンでは、カメラやイメージ・センサーを使う。従って、カメラがとらえた画像を情報として入手する。しかし実際には、画像としてとらえた情報以上のデータを必要とする用途が多い。製品検査などの用途である。例えば、プリント基板の型番といった情報は、とらえた画像から入手できる。しかし製品検査装置では、正しい型番の部品が実装されているのか、実装漏れはないか、正しい位置に実装されているのか、などを判断しなければならない。こうした判断を行うには画像解析技術が必要だ。

マシン・ビジョンで行う作業の分類
Advertisement

 マシン・ビジョン技術を使って実行する作業は、以下のように分類できる。
 カウント。ワッシャーやナット、ボルトと
いった部品を数える。この際、バックグ
ランド雑音が多い画像から目的とする
画像情報を抽出する作業を行う。
 測定。角度や寸法、相対的な位置関
係などを測る。
 読み取り。バーコードからの情報収集
や、半導体ウエハーに描かれた文字の
解読 (OCR*)2次元データ
・マトリクス*
の読み取りなど。
 比較。具体的には、製造ライン上で良
品(KGU:known good unit)と比較して
部品やラベルの欠落といった製造欠陥
を検出するといった作業だ。この比較
は、簡単なパターンの違いを判断する
場合もあるが、複雑な場合もある。例えば、比較対象の寸法が違っていたり、置かれた向きが違う場合である。このときは、幾何学的なパターン・マッチングやベクトル的なパターン・マッチングといったアルゴリズムを導入する必要がある。比較の対象となるのは、物体の有無のほか、色の一致、印刷品質などである。検査対象の中には、アスピリンの錠剤といった単純なものもある。封入作業を行う前に正しいマーキングがあるか、どうかを検証する。
 上記の分類から分かるように、4つの作業はそれぞれが独立したものだ。すなわちマシン・ビジョン技術を適用したアプリケーションの作成には、メニューを活用した(メニュー・ドリブン型)グラフィックス・ベースの開発ツールを使えることを意味する。テキスト・ベースのC++言語でプログラム・コードを書く必要はない。実際に、メニュー・ドリブン型のグラフィカルな開発ツールがいくつか発売されている。もっとも、長年にわたってテキスト・ベースのプログラミングでアプリケーションを開発してきたエンジニアは、今まで使いこなしてきたツールを使い続ける可能性がある。
 次に、グラフィックス・ベースの開発ツールについて見てみよう。現在、開発ツール・ベンダーは、プログラム可能な機能をツールに搭載することで(プログラミング・ツール)、単にアプリケーションを構築するだけのツール(コンフィギュレーション・ツール)との差異化を図っている。コンフィギュレーション・ツールのメリットは、アプリケーションを短時間で開発できることにある。さらに柔軟性を提供できるというメリットもある。一方のプログラミング・ツールは、開発期間が若干長くなるという犠牲を払うものの、より高い柔軟性を提供できる。
 この2つのツールを組み合わせることで、大きな成果を挙げられる場合もある。2つのツールの出力を同じ言語で作成しておけば、コンフィギュレーション・ツールで作成したアプリケーションを、プログラミング・ツールを使って変更したり、強化したりすることが可能になるからだ(図2)。こうした柔軟性のメリットは大きい。例えば、まずは簡単なツールを使って初期レベルのアプリケーションを短時間に作成し、その後に強力なツールを利用してアプリケーションを完成させることが可能になる。こうした開発アプローチを採用しておけば、初期レベルのアプリケーションに対して検証が行えるため、作業を効率化できる可能性がある。

稼動中の微調整が最大の課題

 マシン・ビジョン・アプリケーションで最も重要なものは、恐らく、システムの稼働中に簡単にプログラムを微調整できる機能だろう。
 自動光学検査装置(AOI*)を使ってKGU(既知の良品)とUUT(unit under test)を比較し、違いがあった場合は不合格とする外観検査システムを作成したとしよう。通常、このシステムを運用すると、傷や欠陥が許容できる程度だったとしても、恐らくほとんどの製品が不合格と判定されてしまうはずだ。例えば、KGUに搭載された部品と互換性はあるがデータ・コードが異なる同等品をUUTに実装した場合は、自動光学検査装置は不合格と判定してしまう。
 実際にはマシン・ビジョンのシステム設計者は、こうしたデータ・コードの問題が起こることを予測し、データ・コードを含む画像領域の違いを無視するようにプログラムを作成する。しかし現実には、この例以上に予測が困難な、さほど重要ではない差異が存在する。システム開発者は、こうした予測困難な問題が露見するたびに、アプリケーションに変更を加えなければならない。
 自動光学検査装置の中には、こうした変更を自動的に行うソフトウエアを備えているものがある。まずシステムが良品を不合格と判定してしまったことをユーザーがシステムに入力する。するとシステムのソフトウエアがKGUの画像と不合格と判定した良品の画像を比較し、差異があった画像領域をそれ以降の検査対象から除外するという方法である。しかしこの方法は、不満足な結果をもたらすことが多い。例えば、外光が窓を介して入ってくる室内に検査装置が設置されており、この外光がUUTの照明に影響を与える場合を考えてみる。人間が検査する場合であれば、外光の影響は許容できても、マシン・ビジョン・システムは異なった画像と見なしてしまう。このため予想外の不合格判定を下してしまう可能性がある。仮に、窓を閉めて外光を遮断できたとしても、あらゆる照明条件の下でKGUをパスさせるように検査プログラムを微調整する方がコストは低く済む。
 この例は、マシン・ビジョンや画像解析において照明がいかに重要であるかを物語るものだ。照明とはそれ自体がサイエンスであり、アートでもある。さまざまな照明技術があり、それぞれに長所と短所がある。UUTを照らす方法を工夫することで、マシン・ビジョンが抱える問題を解決、もしくは改善できる*1)

コストと開発期間をてんびんに掛ける

 マシン・ビジョン・システムの開発コストには、非常に大きな差がある。低い場合は、ハードウエアやソフトウエア開発ツール、アプリケーションの開発工程を含めても5000米ドルを超えない。しかしこうした低コストで実現できるプロジェクトは、満足できる性能を達成するために不可欠なアプリケーション微調整用コストを除外していることが多い。これに対して開発コストが100万米ドルを超えるような場合もある。こうした開発プロジェクトの代表例は、自動車や航空機の自動生産ラインに向けたものだ。一般的な開発プロジェクトのコストは、数万〜10数万米ドルの範囲だろう。
 開発期間は、プロジェクト・マネジャーが開発の開始を承認してから、システムが生産現場でルーチン的に稼働するまでの時間で定義する。通常は半年以下である。場合によっては、数カ月しかかからないこともある。
 当たり前のことだが、ほぼすべてのマシン・ビジョン開発プロジェクトは、基本的な質問に対する回答を得ることからスタートを切る。具体的には、必要なカメラの数はいくつか、画像の解像度はどの程度必要か、カラー画像は必要か、フレーム速度はどの程度が最適か、カメラにはアナログ出力が必要か、などである。さらにアナログ出力のカメラを使うのであれば、アナログ信号をデジタル信号に変換するフレーム・グラバー・ボード*が必要になる。加えて、画像を取得する際に、外部のトリガー・イベントと同期させることも必要だ*2)。このように基本的な質問に答えて行けば、マシン・ビジョン・システムのハードウエア・コストを決定できる。
 アナログ・カメラ用フレーム・グラバー・ボードの中には、複数のカメラの出力を同時に入力できるものもある。しかし一般には、入力が1チャンネルだけのボードが多い。
 デジタル・インターフェースを備えるカメラは2種類ある。1つは、画像の取り込みと同時に画像処理を実行する「スマート・カメラ」。もう1つは、画像を取得するだけのカメラである。後者の場合は、未加工の画像データをデジタル・インターフェースを介してホスト・パソコンに転送し、そこで画像処理を実行する。この際、デジタル・カメラとホスト・パソコンを接続する標準インターフェースにどのようなバスを使用するかに注意を払う必要がある。バスの種類によっては、デジタル・カメラ側にフレーム・グラバーが必要になることがあるからだ。ただし、デジタル・カメラ用フレーム・グラバーは、アナログ・カメラ用とは異なり、アナログ・デジタル(A-D)変換は行わない。
 ただしハードウエアに関連した検討は、こうした基本的な質問に答えるだけでは完了させることはできない。さらに基本的な質問の多くは、「システムのホスト・コンピューターは標準的なウインドウズを搭載したパソコンである」という暗黙の了解に基づいていることに注意されたい。マシン・ビジョン・システムは、リアルタイムOSを搭載している場合が多く、画像解析ソフトウエアは「ユニックス(Unix)」や「リナックス(Linux)」の環境下で動作させることが多いからだ。さらに一般的なリアルタイム・システムと同様に、リアルタイム・ビジョン・システムの多くはマイクロプロセッサーに「ペンティアム(Pentium)」や「アスロン(Athlon)」を使用していない。

カメラとのインタフェースに注意

 カメラとホスト・コンピューターを接続するインターフェースの選択は、マシン・ビジョン・システムの設計において重要な作業と言えるだろう*3)。この選択は、カメラ・インターフェースとしてIEEE1394*を採用した画像システムやカメラが登場したとはいえ、依然として注意深い検討が必要である。なおパソコンとその周辺機器を結ぶ高速インターフェースの主流になりつつあるUSB2.0は、データ転送速度が480Mビット/秒とIEEE1394の初期仕様に比べて高いにもかかわらず、産業用画像処理分野では重用されていない。その理由は、USB2.0はホストを中心としたプロトコルを採用している点にある。このため実質的なデータ転送速度はIEEE1394を下回る。
 IEEE1394は、民生用ビデオ機器や家庭用エンターテインメント機器に向けた高速インターフェースとして普及しているシリアル・バスである。このシリアル・バスは、プラグ・アンド・プレイ型で、マルチドロップ・アーキテクチャーとピア・ツー・ピア通信プロトコルを採用している。前述のように初期仕様のデータ転送速度は最大400Mビット/秒だったが、最終的には3.2Gビット/秒に達する予定である。米国電気電子技術者協会(IEEE)は2003年1月に「IEEE1394b」を発表した。この仕様のデータ転送速度は800Mビット/秒と高い。まもなくビジョン・システム向けハードウエアでの採用が始まるだろう。
 IEEE1394を採用するメリットは多い。具体的には、IEEE1394を搭載した産業用カメラが経済的な価格まで下がりつつあること、民生機器における普及が進んでいること、細く柔軟性が高いシリアル・ケーブルを使えること、雑音耐性が高いことなどが挙げられる。こうしたメリットがあるにもかかわらず、ハードウエア・ベンダーはIEEE1394の採用に二の足を踏む。その理由の1つはコストだ。コストは下がったとはいえ依然として高価だ。例えば、IEEE1394対応の産業用カメラは、フレーム速度と解像度が同じアナログ出力の産業用カメラよりも価格が高い。ただし、デジタル・カメラとアナログ・カメラの価格を比較する際は、以下の点に注意する必要がある。IEEE1394ポートを搭載したシステムには、すでにA-D変換器が内蔵されていることである。このためデジタル・カメラではインターフェース用ハードウエアを追加する必要がない。一方、アナログ・カメラでA-D変換機能を利用したい場合は、フレーム・グラバーを追加する必要がある(図3)
 IEEE1394搭載カメラを選択すれば、この仕様が採用しているアイソクロナス転送プロトコルを活用できる。このプロトコルは、帯域幅を保証するとともに、データ・パケットが送出された順番で到着すること(全パケットが到着した場合)を保証する。IEEE1394以外の非同期プロトコルは、メッセージの配信については保証できるものの、パケットが送出された順番で到着することは保証できない。アイソクロナス転送に対応した機器は125μsごとに、すなわち最大で8kHzの帯域幅を要求できる。一方、バス・マネジャーとして機能する機器は、各機器に対して125μsの間で決められた数のパケットを転送することを許可する処理を実行する。
 アイソクロナス転送に対応した機器がバス上に多く存在するほど、それぞれの機器に与えられる帯域幅が少なくなる。ただしIEEE1394バス上にカメラだけが存在する場合であれば、1280×960画素のモノクロ画像を15フレーム/秒で転送できるだろう。640×480画素のカラー画像の場合は30フレーム/秒で転送できるはずだ。この2つの例はいずれも、バスのデータ転送能力を最大限活用しているわけではない。ここで指摘しておきたいのは、画素当たりビット数やカメラの画像フォーマットが最大フレーム速度に影響を与えることである。
 ところで解像度が高いことは良いことなのであろうか。必ずしも、そうとは限らない。解像度が高いカメラは高価である。さらにUUTとKGUを比較したときに、取るに足らない差異まで簡単に検出できてしまうという問題もある。従って、自動光学検査装置が誤った不合格判定を下す確率を高めてしまうこともある。

1394以外の選択肢

 デジタル・カメラのインターフェースとしては、IEEE1394以外にはRS-422パラレル・インターフェースとカメラ・リンク(Camera Link)*がある(表1)。RS-422を利用したカメラ・インターフェースは完全には標準化されていない。このため通常は、カメラ用のインターフェース・カードが必要になる。このカードは、アナログ出力のカメラ用インターフェースとして用いられるフレーム・グラバーではない。しかしフレーム・グラバーと同様に、ホスト・パソコンのPCIバス*に接続して使用する。一般にパラレル・インターフェースは配線数が50本程度と多いため非常に使いにくい。それにもかかわらず、産業用デジタル・カメラではRS-422の人気は高く、現在でも広く普及している。
 米自動化イメージング協会(AIA*)が策定したカメラ・リンクは、デジタル出力のカメラ向けインターフェースとしては現時点で最高の性能を有する。IEEE1394とは異なり、カメラ・リンクは1つのバス当たり1台のカメラしか接続できない。ただしパソコンの多くは、複数のカメラ・リンク対応バスを搭載可能である。これを使えば、複数台のカメラを接続できる。
 カメラ・リンクの最大伝送速度は、4.8Gビット/秒に達する。SERDES(シリアライザー/デシリアライザー)技術を使って、複数本のパラレル・データを束ねて単方向のシリアル・リンクで伝送する。シリアル・リンクには、2本の配線を使って差動伝送するLVDS*を採用した。1つのシリアル・リンクで、最小7ビット分のパラレル・データを転送する。カメラ・リンクの最大構成は76ビットである。この際は11のシリアル・リンクを使ってデータを転送する(配線は22本)。標準仕様は28ビット、もしくは56ビットである。それぞれ4つ、8つのシリアル・リンクを使ってデータを送る。
 産業用デジタル・カメラのインターフェースとしてカメラ・リンクを選んだ場合、現時点では追加のソフトウエアを記述しなければならない。市販のアプリケーション開発ツールのほとんどは、カメラ・リンク対応ドライバーを備えていないからだ。こうした状況にある理由は、パソコンに挿入するカメラ・リンク対応バス・カードの製品数が少ないことに加え、標準化作業が完全に終わっていないことが挙げられる。
 このほか産業用デジタル・カメラの選択肢として、スマート・カメラがある。これは取得した画像データをホスト・パソコンに転送する前に、カメラの内部でデータを圧縮するというものだ。メリットは、カメラとホストを接続するインターフェースの転送速度と、ホストでの処理負担を低減できることである。こうしたメリットは、価格が高いというデメリットを相殺できるだろう。ただし実際に使用する際は、データ圧縮が無損失であるか、もしくは圧縮時に失われるデータが存在するかどうかを知っておく必要がある。
表2 マシン・ビジョン・システム関連の企業(ABC)順
米コグネックス(Cognex)社
http://www.cognex.com/
米コレコ・イメージング(Coreco Imageing)社
http://www.coreco.com/
米データ・トランスレーション(Data Translation)社
http://www.datx.com/
米イメージ・ラボ・インターナショナル(Image Labs International)社
http://www.imagelabs.com/
英インダストリアル・ビジョン・システムズ(Industrial Vision Systems)社
http://www.industrialvision.co.uk/
キーエンス(Keyence)
http://www.keyence.co.jp/
米マスワークス(The MathWorks)社
http://www.mathworks.com/
カナダのマトロックス・イメージング(Matrox Imaging)社
http://www.matrox.com/imaging/
米ナショナルインスツルメンツ(National Instruments)社
http://www.ni.com/
米PFUシステムズ(PFU Systems)社
http://www.pfusystems.com/

用語解説 / 会社情報
【マシン・ビジョン・システム】
machine vision system
外観や形状、色彩などを認識、処理、解析するシステム。
▲本文へ戻る
【OCR】
optical character reader
光学式文字読み取り装置。オーシーアールと読む。
▲本文へ戻る
【2次元データ・マトリクス】
2D data matrix
2次元バーコード
▲本文へ戻る
【AOI】
automatic optical inspection system
自動光学検査装置。外観検査に使われることが多い。
▲本文へ戻る
*1)参考文献
Keyence Corp, Machine-vision on-line interactive seminar, http://world.keyence.com/topics/vision_seminar/lighting.html.
▲本文へ戻る
【フレーム・グラバー・ボード】
flame grabber board
フレーム・バッファーを内蔵した動画像取り込みボードボード。
▲本文へ戻る
*2)参考文献
米Test&Measurement World誌の記事を参考にされたい。同誌のホームページはhttp://www.tmworld.comである。このホームページに行き、「machine vision」や「image analysis」、「automated inspection」といったキーワードを使って記事検索を行うと、10本を超える記事を閲覧できる。ただし記事はすべて英文である。
▲本文へ戻る
*3)
本誌2002年9月号、p.67に関連記事(IEEE1394とカメラ・リンクの比較記事)がある。
▲本文へ戻る
【IEEE1394】
「FireWire」や「i.LINK」とも呼ぶ。標準化作業は、1394 TA(Trade Association)で行われている。ホームページはhttp://www.1394ta.org/
▲本文へ戻る
【カメラ・リンク】
Camera Link
カメラと画像入力・処理ボードを接続する標準規格。米自動化イメージング協会が策定した。米ナショナル セミコンダクター社が開発したフラットパネル・ディスプレイ用インターフェース技術「チャンネル・リンク(Channel Link)」を基本に、マシン・ビジョン・システム向けに拡張した。電気的な信号伝送にはLVDS技術を利用している。
▲本文へ戻る
【PCIバス】
Peripheral Components Interconnect bus
▲本文へ戻る
【AIA】
Automated Imaging Association
米自動化イメージング協会。ホームページは、http://www.machinevisiononline.org/
▲本文へ戻る
【LVDS】
low voltage differential signaling
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報