画像処理ソフトウェア選択する考慮すべ10項目

概要

NIは、10年以上にわたってマシンビジョンと画像処理の分野を牽引する企業として、画像処理ソフトウェアを提供してきました。こうしたソフトウェアには、NI Vision DevelopmentモジュールNI Vision Builder for Automated Inspection (AI) の2つのパッケージがあります。Vision DevelopmentモジュールをNI LabVIEW、C、C++、C#で使用すると、数百におよぶ関数を利用して、高機能な画像処理検査、アライメント、識別、および計測アプリケーションのプログラミングが可能になります。Vision Builder AIの対話式ソフトウェア環境を使用すると、プログラミングすることなくマシンビジョンアプリケーションの構成、ベンチマーク、デプロイを行うことができます。どちらのソフトウェアパッケージもNIのビジョンフレームグラバ、産業用コントローラ、スマートカメラに対応しています。画像処理ソフトウェアを選択する際は、以下の考慮すべき10項目に注意してください。

内容

カメラ選択

画像処理ソフトウェアを選択する場合、最初に考慮することは、お客様の用途に合ったカメラで動作するかどうかを確認することです。低コストのアナログカメラは簡単に手に入りますが、多くの場合、VGA以上の解像度や、30フレーム/秒より速いフレームレート、標準のマシンビジョンカメラより全体的に高い画質が必要となります。


National Instrumentsのハードウェアおよびソフトウェアは、低コストのUSB3 Visionから高速ラインスキャンやサーマルまで、広範なカメラに対応しています。

ハードウェア拡張性

適切なカメラを選択することは、用途に関係なくとても大切なステップですが、カメラの拡張性も重要な考慮事項です。カメラの技術は急速な進化を続けており、画質の向上や追加機能への対応のために、カメラのアップグレードが必要になる場合があります。NI Vision Acquisition Softwareは、すべてのNIフレームグラバで動作し、1つの使いやすいインタフェースでさまざまなカメラに接続できるドライバソフトウェアです。Camera Linkカメラの製造元を変更した場合でも、100種類以上あるGigE Vision、IEEE 1394、USB3 Visionの各カメラを切り替えた場合でも、ソフトウェアは同じままです。

National Instrumentsのドライバソフトウェアは、さまざまなカメラに対応しているだけでなく、PCやPXI/CompactPCI、CompactRIOコントローラなど、すべてのNIハードウェアプラットフォーム上で動作します。そのため、安価なカメラを搭載したPCを使用して、ラボでアプリケーションのプロトタイプを作成することができます。その後、画像入力部または画像処理部のコードを変更せずに、堅牢なNIビジョンシステムを使用して、生産現場にデプロイすることができます。

使いやすいソフトウェア

画像を取り込んだら、次はその画像を処理します。現在選択できるアルゴリズムの種類を考えると、プログラミング言語で試行錯誤を繰り返して適切なツールを見つけることは、時間や手間がかかる作業で効率的ではありません。そのため、アルゴリズムを最大限に活用することができる画像処理ソフトウェアツールが必要となります。

多くのアプリケーションでは、完全なマシンビジョンシステムを構築するためにプログラミング言語は必要ありません。C、Visual Basic、またはNI LabVIEWでのプログラミングほど柔軟性はありませんが、NI Vision Builder AIのような構成可能なソフトウェアでは、簡単に操作できる対話式環境を利用して、マシンビジョンアプリケーションを構成、ベンチマーク、デプロイすることができます。Vision Builder AIには、パターンマッチング、OCR、データマトリックスリーダ、カラーマッチングなど、50種類ほどの一般的なマシンビジョンツールが用意されています。Vision Builder AIは、NIがサポートするすべてのカメラから画像を取り込むことができ、Ethernet、シリアルI/O、デジタルI/Oを経由した一般的な産業用プロトコルを使用して、他のデバイスとの間で検査結果を通信することができます。 また、LabVIEWやTestStandからVision Builder AIによる検査を制御することもできます。 


画像処理アプリケーションのプログラミングはVision Builder AIでの構成に比べて複雑ですが、NI Vision Assistantを使用することで、LabVIEW、C、およびVisual Basicでのアプリケーション開発が簡単でわかりやすいものになります。NI Vision Developmentモジュールに付属しているVision Assistantは、さまざまな画像処理関数を対話形式で検証し、アプリケーションで動作する関数や、各関数の処理にかかる時間を確認することができるプロトタイピング環境です。

アプリケーションの課題に対応するための最適な方法が決まったら、ボタンをクリックするだけで、Vision Assistantによってすぐに実行できるコードが生成されます。コード行を入力する必要もなく即座に、画像処理アプリケーションの大部分が完成してしまいます。Vision Assistantによって生成されたコードは、単独で実行することも、より大規模な産業用制御システム、データ収集システム、モーションコントロールシステムに組み込むこともできます。

画像処理の初心者でもエキスパートのインテグレータでも、Vision Assistantを使用することで、効率的で信頼性の高い画像処理アプリケーションを短時間で作成することができます。

アルゴリズム種類確度

画像処理ソフトウェアを選択するときは、ソフトウェアツールが重要な対象部分やオブジェクトの特徴をサブピクセルレベルまで正確かつ高確度に計測できるかどうかを判断する必要があります。ソフトウェアの確度が低く、信頼できない場合は、コンピュータの処理速度が速く、カメラのピクセル数が大きくても、それらの性能を活かすことができません。処理の速いコードの確度を高めるよりも、高確度なコードの処理を速くする方がはるかに簡単であるということに注意してください。

Vision DevelopmentモジュールおよびVision Builder AIには、確度と信頼性の高い画像処理関数が多数含まれています。最も一般的な5つのマシンビジョンアプリケーション分野と、それらによく使用されるアルゴリズムを以下に紹介します。

画像の強調―フィルタツールを使用して、エッジをシャープにしたり、ノイズの除去や周波数情報の抽出を行うことができます。画像キャリブレーションツールを使用すると、レンズの歪みとカメラの配置によって生じる非線形のエラーや遠近法のエラーを除去することができます。また、画像キャリブレーションツールにより、実世界単位を計測に適用することもできます。この場合、ピクセルではなくミクロン、ミリメートル、またはマイルで値が返されます。







有無の確認―これは、最もシンプルな画像処理検査です。対象部分や特徴の有無を確認する場合、カラーマッチング、パターンマッチング、またはヒストグラムツールを使用できます。有無の確認では、常に結果がはい/いいえ、または合否で返されます。









検出機能―検出機能は、オブジェクトの整列や正確な位置の特定を行う場合に重要であり、その後に実施されるすべての検査の基準となります。エッジ検出、グレースケールパターンマッチング、形状マッチング、幾何学的マッチング、カラーパターンマッチングはすべて、特徴の検出に使用できるツールです。これらのツールでは、オブジェクトの位置 (X, Y) と回転角度を、10分の1ピクセルのレベルまで返すことができます。幾何学的マッチングは、重なり合うオブジェクトやスケールが変化するオブジェクトの影響を受けません。







計測機能―画像処理システムの最も一般的な利用目的は、計測を行うことです。通常、距離や直径、合計カウント、角度、面積などを計測するには、エッジ検出、粒子解析、幾何学関数ツールなどを使用します。顕微鏡を使用して細胞の総数を計算する場合でも、ブレーキキャリパの2つのエッジ間の角度を求める場合でも、これらのツールは常に、位置や合否の値ではなく、数値を返します。







対象部分の識別―対象部分の識別は、対象部分の整合性、トラッキング、検証で重要となる機能です。シンプルな識別方法としては、バーコードやDataMatrix/PDF 417などのデータコードを読み取る方法があります。新しい方法では、学習機能付きOCRやオブジェクトの分類を使用します。対象部分の識別によって返される結果は、多くの場合、計測値や合否判定ではなく、テキストや文字列になります。





Vision DevelopmentモジュールおよびVision Builder AIのすべての機能では、サブピクセルの確度を利用して、位置、距離、計測値を10分の1ピクセルや10分の1度のレベルまで補間することができます。

NI画像処理アルゴリズムの機能や動作の仕組み、最適な使用方法については、『NI Vision Concepts Manual』をご覧ください。

異種処理

マシンビジョンで最も進歩した点の1つは、処理能力です。プロセッサの性能が2年ごとに倍になり、FPGAなどの並列処理技術が依然として重視される中、画像処理システムの設計者は、極めて高度なアルゴリズムを適用してデータを視覚化し、よりインテリジェントなシステムを構築できるようになりました。

こうした性能の向上により、設計者はより高いデータスループットを実現し、より高速な画像の取り込みやより高い分解能のセンサの使用が可能になりました。また、市場に出回っている、最高のダイナミックレンジを提供する一部の最新式カメラを最大限に活用することもできます。性能の向上は、設計者が画像をより速く取り込む場合だけでなく、画像をより速く処理する場合にも役立ちます。2値化やフィルタ処理などの前処理アルゴリズム、またはパターンマッチングなどの処理アルゴリズムは、より高速に実行できます。これにより、最終的に設計者は、視覚データにに基づく意思決定をこれまで以上に迅速に行うことが可能になります。

残念ながら、FPGAベースの画像処理システムを実装する際の最大の課題の1つは、FPGAのプログラミングの複雑さを克服することです。画像処理アルゴリズムの開発は、その性質上、繰り返し行われるプロセスです。設計者は、どのようなタスクでもいくつかのアプローチを試す必要があることを事前に理解しています。ほとんどの場合、どのアプローチが有効であるかではなく、どのアプローチが最も有効であるかを判断する必要があります。この「最も有効」とは、アプリケーションごとに異なる条件です。生産性を最大化するには、使用している処理プラットフォームに関係なく、アルゴリズムに対する迅速なフィードバックとベンチマーク情報が必要になります。アルゴリズムの結果をリアルタイムで確認することは、繰り返し行う探索的アプローチを使用する場合に大幅な時間の節約になります。ただし、FGPA開発に対する従来のアプローチでは、アルゴリズムの設計を変更するたびにコンパイルに長時間かかるため、イノベーションのスピードが遅くなる可能性があります。これを克服する1つの方法は、FPGAのコンパイル時間にとらわれずに、同じ環境でCPUとFPGAの両方を開発する際に役立つアルゴリズム開発ツールを使用することです。NI Vision AssistantとVision Developmentモジュールを組み合わせて使用すると、設計者は、CPUまたはFPGAにデプロイするアルゴリズムを開発することが可能になります。また、Vision Assistantを使用すると、スループットやリソース使用率情報に簡単にアクセスでき、アルゴリズムを事前にテストしてから、ターゲットハードウェアでコンパイルして実行できます。

他のデバイス統合

画像処理アプリケーションを完成させたことがある方なら、多くの場合、画像処理アプリケーションがより大規模な制御システムの一部として組み込まれることをご存知でしょう。産業オートメーションでは、画像処理アプリケーションで以下を行うことが必要になる場合があります。

  • アクチュエータの制御による製品の仕分け
  • ロボットコントローラ、プログラマブルロジックコントローラ (PLC)、組込システムへの検査結果の送信
  • ネットワークサーバへの画像やデータの保存
  • ローカル/リモートユーザインタフェースへの検査パラメータや検査結果の送信

また多くの場合、科学分野における画像処理アプリケーションでは、画像処理を、モーションステージ、データ収集システム、顕微鏡、特殊光学機器、高度なトリガと統合する必要があります。

National Instrumentsは、産業用制御、データ収集、およびモーションコントロール製品の大手サプライヤーとして、上記のコンポーネントやその他の一般的なコンポーネントで動作するように画像処理製品を設計しています。DeviceNet経由でPLCと通信する場合でも、シリアルバス経由で顕微鏡と通信する場合でも、NIの画像処理製品で対応することができます。

価格

画像処理ソフトウェアパッケージには、多くの種類があります。その多くはOEMのお客様向けの製品で、開発ライブラリを分割し、お客様の必要に応じてアルゴリズムを販売しています。個々のアルゴリズムバンドルは低価格のように見えますが、画像処理開発パッケージ全体として見るとかなり高額になる場合があります。さらに各コンポーネントのライセンス料がかかり、コストが高くなると同時にアプリケーションのデプロイメントも複雑になります。

Vision Developmentモジュールは、画像処理の難題に対処する際に必要となるすべてのアルゴリズムを備えているため、複数のソフトウェアバンドルの調査、購入、保守を行う必要がありません。また、アプリケーションのデプロイが非常に安価になります。1つの画像処理デプロイメントライセンスだけで、使用している画像処理アルゴリズムの数に関係なく、実行ファイルをデプロイできます。

パートナー/インテグータ

National Instrumentsでは、画像処理およびマシンビジョンのハードウェアやソフトウェアを製造しています。NIでは照明、カメラ、光学機器を製造していないため、そのような製品を専門に提供する企業と提携しています。

過去10年間、National Instrumentsの画像処理製品は、自動車部品の検査から癌研究の支援まで、数千におよぶ多種多様なアプリケーションの課題の解決に役立ってきました。NIの画像処理ツールはエンドユーザ向けに設計されていますが、大規模なアプリケーションでは、画像処理についてエキスパートによるサポートが必要になる場合があります。 お客様のアプリケーション開発をサポートするために、NIは1,000を超えるNIパートナーと協力しています。これらのパートナーのサポートによって、適切なコンポーネントの選択や完全なターンキーソリューションの構築が可能になります。

技術サポート

NIの画像処理ソフトウェアは簡単に使えるように設計されていますが、必要なときに役立つことが重要です。エキスパートによるサポートが必要な場合は、電話またはEメールでご連絡ください。学位を取得した数百人におよぶアプリケーションエンジニアが対応いたします。

24時間対応のサポートを利用する場合は、受賞歴のあるNI技術サポートWebサイトにアクセスするか、大規模なNIの画像処理に関するディスカッションフォーラムのユーザコミュニティにご質問をお寄せください。お客様が抱えている問題やアプリケーションの課題について、アクティブメンバーが既に取り組んでいる可能性があります。

会社成長/安定性

マシンビジョンソフトウェアに投資する場合、将来も引き続きソフトウェアを使用できるかどうかを知ることは、現在実行できるソフトウェアについて理解することと同様に重要な点です。マシンビジョンを専門とした小規模な会社は数多く存在しますが、それらの会社のツールが現在のアプリケーションで機能していても、5年後に検査ステーションの更新が必要になったとき、その会社とソフトウェアがまだ存在し、改善されているかどうかを把握しておく必要があります。

関連情報