JP2011053787A - 画像処理装置および画像処理プログラム - Google Patents

画像処理装置および画像処理プログラム Download PDF

Info

Publication number
JP2011053787A
JP2011053787A JP2009200143A JP2009200143A JP2011053787A JP 2011053787 A JP2011053787 A JP 2011053787A JP 2009200143 A JP2009200143 A JP 2009200143A JP 2009200143 A JP2009200143 A JP 2009200143A JP 2011053787 A JP2011053787 A JP 2011053787A
Authority
JP
Japan
Prior art keywords
processing
image
unit
image processing
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009200143A
Other languages
English (en)
Other versions
JP5353566B2 (ja
JP2011053787A5 (ja
Inventor
Yutaka Kiuchi
豊 木内
Takashi Ijiri
隆史 井尻
Yuichi Doi
雄一 土井
Shohei Nakaoka
象平 中岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2009200143A priority Critical patent/JP5353566B2/ja
Priority to EP10173144.6A priority patent/EP2299404B1/en
Priority to US12/870,704 priority patent/US8698815B2/en
Priority to CN201010269904.6A priority patent/CN102005025B/zh
Publication of JP2011053787A publication Critical patent/JP2011053787A/ja
Publication of JP2011053787A5 publication Critical patent/JP2011053787A5/ja
Application granted granted Critical
Publication of JP5353566B2 publication Critical patent/JP5353566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Studio Devices (AREA)

Abstract

【課題】ニーズに応じて複数の並列処理を選択的に実行可能な画像処理装置および画像処理プログラムを提供する。
【解決手段】並列処理モード選択画面300は、モード一覧表示302と、OKボタン304と、キャンセルボタン306とを含む。モード一覧表示302には、画像処理装置において実行可能な5つの並列処理モードが選択可能に表示される。より具体的には、画像処理装置は、「最速フロー」、「高速トリガ」、「2ラインランダム」、「ノンストップ調整」、「高速ロギング」の5つの並列処理モードを実行可能である。ユーザは、キーボードなどを操作して希望する並列処理モードを選択した上で、OKボタン304を押下すると、選択された並列処理モードの実行が開始される。
【選択図】図3

Description

この発明は、複数の演算処理部を有する画像処理装置およびそれに向けられる画像処理プログラムに関するものである。
FA(Factory Automation)分野などにおいては、ワークなどの被測定物上の欠陥や汚れの有無を検査したり、その大きさなどを計測したり、被測定物上の文字や図形などを認識したりする装置として、いわゆる視覚センサが実用化されている。このような視覚センサは、被測定物を撮像することで得られる計測画像に対して、各種の画像処理を行うことで、上述のような処理結果を出力する。
このようなFA分野では、ライン速度の向上や装置コストの低減などのニーズが存在する。このようなニーズに応えるため、1台の画像処理装置に複数のプロセッサを搭載して、並列処理を行う構成が知られている。
たとえば、特開2002−163636号公報(特許文献1)には、第1および第2の画像処理システムを有するビジュアル検査装置が開示されている。このビジュアル検査装置は、第1の画像処理システムが計測画像データに基づいて対象物に関する計測を実行し(計測モード)、第2の画像処理システムが対象物に関する計測に必要な設定を実行する(設定モード)。
また、特開2002−251610号公報(特許文献2)には、N個の画像処理プロセッサを有する並列画像処理装置が開示されている。この並列画像処理装置は、1つのデジタル画像データを、処理を必要とする複数の領域に分割して、各領域を画像処理プロセッサに割り当てて並列処理を行う。
特開2002−163636号公報 特開2002−251610号公報
実際の生産ラインでは、各ラインでのニーズや位置付けなどに応じて、要求される機能や性能は様々である。これに対して、上述の先行技術では、特定の機能が予め用意されているだけであり、1台の画像処理装置で様々なニーズに対応するものではなかった。
そこで、この発明は、これらの問題を解決するためになされたものであり、その目的は、ニーズに応じて複数の並列処理を選択的に実行可能な画像処理装置および画像処理プログラムを提供することである。
この発明のある局面に従う画像処理装置は、複数の演算処理部と、被測定物を撮影して画像データを生成するための撮像部に接続され、当該撮像部で撮影された画像データが入力されるカメラインターフェイス部と、表示部に接続され、当該表示部に表示させる表示用画像データを出力する表示画面出力部と、外部から入力を受付ける入力部と、画像データを処理する複数の処理単位を記憶するための記憶部と、入力部からの入力により選択された処理単位の組み合わせからなる処理手順を登録する処理登録手段と、表示部上に複数の並列処理モードを選択可能に表示するとともに、入力部からの並列処理モードの選択を受付けるモード選択手段と、モード選択手段により選択された並列処理モードに従って、対象の処理手順に含まれる複数の処理単位の各々を複数の演算処理部のいずれかに割り当てる並列化手段とを含む。
好ましくは、本画像処理装置は、対象の処理手順を単一の演算処理部で処理した場合に要する処理時間と、並列化手段により対象の処理手順を複数の演算処理部で並列処理した場合に要する処理時間との差を表示部に表示させるための比較表示出力手段をさらに含む。
さらに好ましくは、比較表示出力手段は、当該処理時間の差を数値表示として出力する。
あるいは、さらに好ましくは、比較表示出力手段は、当該処理時間の差をグラフ表示として出力する。
好ましくは、並列化手段は、処理手順に含まれる処理項目に関する処理高速化の阻害要因の有無を判断する手段と、処理高速化の阻害要因が存在する場合に、当該阻害要因を解消するための方策を表示部に表示させる手段とを含む。
好ましくは、並列化手段は、対象の処理手順に含まれる複数の処理単位の各々を、複数の並列処理モードの各々に従って複数の演算処理部のいずれかに割り当てた場合における、それぞれの並列処理モードについての処理速度に関する情報を推定する手段と、当該推定されたそれぞれの並列処理モードについての処理速度に関する情報をモード間で比較可能な態様で表示部に出力する手段とを含む。
好ましくは、本画像処理装置は、対象の処理手順に含まれる複数の処理単位の実行順序を変更する並び替え手段をさらに含む。
この発明の別の局面に従えば、複数の演算処理部および記憶部を有するコンピュータで実行される画像処理プログラムを提供する。本コンピュータは、撮像装置、表示装置および入力装置に接続されており、記憶部には撮像装置により取得された画像データを処理する複数の処理単位が記憶されている。本画像処理プログラムは、コンピュータを、入力部からの入力により選択された処理単位の組み合わせからなる処理手順を登録する処理登録手段、表示部上に複数の並列処理モードを選択可能に表示するとともに、入力部からの並列処理モードの選択を受付けるモード選択手段、および、モード選択手段により選択された並列処理モードに従って、対象の処理手順に含まれる複数の処理単位の各々を複数の演算処理部のいずれかに割り当てる並列化手段として機能させる。
この発明によれば、画像処理装置の適用先のニーズに応じて、撮像装置により取得された画像に対する画像処理を適切な形態で並列処理することができる。
この発明の実施の形態に従う画像処理装置を含む視覚センサシステムの全体構成を示す概略図である。 この発明の実施の形態に従う画像処理装置の概略構成図である。 この発明の実施の形態に従う画像処理装置において提供される並列処理モード選択画面の一例を示す図である。 この発明の実施の形態に従う画像処理装置において提供される最速フローモードの概要を説明するための図である。 この発明の実施の形態に従う画像処理装置において提供される高速トリガモードの概要を説明するための図である。 この発明の実施の形態に従う画像処理装置において提供される2ラインランダムモードの概要を説明するための図である。 この発明の実施の形態に従う画像処理装置において提供されるノンストップ調整モードの概要を説明するための図である。 この発明の実施の形態に従う画像処理装置において提供される高速ロギングモードの概要を説明するための図である。 この発明の実施の形態に従う画像処理装置が提供する最速フローモードの選択時におけるユーザインターフェイス画面の一例を示す図である。 この発明の実施の形態に従う画像処理装置が提供する最速フローモードの選択時におけるユーザインターフェイス画面の別の一例を示す図である。 この発明の実施の形態に従う画像処理装置が提供する高速トリガモードの選択時におけるユーザインターフェイス画面の一例を示す図である。 この発明の実施の形態に従う画像処理装置が提供する高速トリガモードの選択時におけるユーザインターフェイス画面の別の一例を示す図である。 この発明の実施の形態に従う画像処理装置において提供される並列処理モード選択を支援するためのユーザインターフェイス画面の一例を示す図である。 この発明の実施の形態に従う画像処理装置によって提供される並び替え選択画面の一例を示す図である。 この発明の実施の形態に従う画像処理装置において具現化される制御構造の一例を示すブロック図である。 この発明の実施の形態に従う処理手順を示すフローチャートである。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<全体装置構成>
図1は、この発明の実施の形態に従う画像処理装置100を含む視覚センサシステム1の全体構成を示す概略図である。
図1を参照して、視覚センサシステム1は、生産ラインなどに組み込まれ、被測定物2(以下「ワーク2」とも称す。)上の欠陥や汚れの有無を検査したり、その大きさなどを計測したり、その表面上の文字や図形などを認識したりする。一例として、本実施の形態においては、ワーク2はベルトコンベヤなどの搬送機構6によって搬送され、撮像装置8aによって順次撮像される。なお、視覚センサシステム1では、撮像装置8aに加えて、さらに1つ以上(本実施の形態においては、最大で合計4つとする)の撮像装置8bが接続可能である。なお、以下の説明では、撮像装置8a,8b,・・・を「撮像装置8」とも総称する。撮像装置8によって取得された画像データ(以下「カメラ画像」とも称す。)は、画像処理装置100へ伝送される。そして、画像処理装置100は、撮像装置8により撮像されたカメラ画像に対して画像処理を行う。なお、撮像装置8で撮像されるワーク2に対して光を照射する照明機構をさらに設けてもよい。
ワーク2が撮像装置8の撮像範囲に到達したことは、搬送機構6の両端に配置された光電センサ4によって検出される。具体的には、光電センサ4は、同一の光軸上に配置された受光部4aと投光部4bとを含み、投光部4bから放射される光がワーク2で遮蔽されることを受光部4aで検出することによって、ワーク2の到達を検出する。この光電センサ4の検出信号(以下「トリガ信号」とも称す。)は、PLC(Programmable Logic Controller)5へ出力される。なお、光電センサ4からのトリガ信号が画像処理装置100へ直接伝送されるようにしてもよい。
PLC5は、光電センサ4などからのトリガ信号を受信するとともに、搬送機構6の制御自体を司る。
視覚センサシステム1は、さらに、画像処理装置100と、ディスプレイ102と、キーボード104とを含む。画像処理装置100は、PLC5と、撮像装置8と、ディスプレイ102と、キーボード104と接続される。なお、キーボード104に代えて、あるいは、それに加えて、専用の操作装置(コンソール)を画像処理装置100に接続可能に構成してもよい。
画像処理装置100は、ワーク2を含むカメラ画像に対して各種の画像処理を実行するための「測定モード」と、撮像設定などの各種調整を行うための「調整モード」とを有している。測定モードにおいて、画像処理装置100は、PLC5を介して光電センサ4からのトリガ信号を受信すると、撮像装置8に対して撮像指令を与える。この撮像指令に応答して、撮像装置8がワーク2を撮像することで得られたカメラ画像は、画像処理装置100へ伝送される。代替の処理方法として、撮像装置8に対して連続的に撮像を行わせるとともに、トリガ信号の受信に応答して、必要なカメラ画像のみを画像処理装置100が取り込むようにしてもよい。
撮像装置8は、一例として、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった、複数の画素に区画された撮像素子を含んで構成される。
画像処理装置100は、汎用的なアーキテクチャを有しているコンピュータを基本構造としており、予めインストールされたプログラムを実行することで、後述するような各種機能を提供する。特に、画像処理装置100は、複数の演算処理部に相当する、複数のプロセッサコア(以下、単に「コア」とも称す。)を有するCPUを含む。このような汎用的なコンピュータを利用する場合には、本実施の形態に従う機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に従うプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に従うプログラム自体は、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される場合もある。したがって、本実施の形態に従うプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
さらに、本実施の形態に従うプログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に従うプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
なお、代替的に、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
図2は、この発明の実施の形態に従う画像処理装置100の概略構成図である。図2を参照して、画像処理装置100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)112と、表示コントローラ114と、システムコントローラ116と、I/O(Input Output)コントローラ118と、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、データリーダ/ライタ130とを含む。これらの各部は、システムコントローラ116を中心として、互いにデータ通信可能に接続される。
CPU110は、複数の演算処理部に相当する複数のコア(第1コア110aおよび第2コア110b)を含み、システムコントローラ116との間でハードディスク120に格納されたプログラム(コード)などを交換して、これらを所定順序で実行することで、各種の演算を実施する。第1コア110aおよび第2コア110bは、互いに独立して処理が実行可能である。なお、CPU110に実装されるコアの数は、2個に限られず、技術的に実現可能な範囲で任意の数であってもよい。図2には、単一のCPU内に複数のコアが実装されている構成(いわゆる、マルチコアプロセッサシステム)を示すが、複数のCPUを実装する構成(いわゆる、マルチプロセッサシステム)を採用してもよい。さらに、マルチプロセッサシステムを構成する各CPUがマルチコアプロセッサシステムである構成を採用してもよい。すなわち、本発明に係る画像処理装置は、互いに独立して処理を実行可能な演算処理部を有していれば、どのようなアーキテクチャを採用してもよい。
RAM112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク120から読み出されたプログラムに加えて、撮像装置8によって取得されたカメラ画像や、カメラ画像に対する処理結果を示すデータ、およびワークデータなどを保持する。
表示コントローラ114は、表示装置の典型例であるディスプレイ102と接続され、システムコントローラ116からの内部コマンドに従って、表示用のデータを生成する。
システムコントローラ116は、CPU110、RAM112、表示コントローラ114、およびI/Oコントローラ118とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置100全体の処理を司る。
I/Oコントローラ118は、画像処理装置100に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、I/Oコントローラ118は、ハードディスク120と、カメラインターフェイス122と、入力インターフェイス124と、PLCインターフェイス126と、通信インターフェイス128と、データリーダ/ライタ130と接続される。
ハードディスク120は、典型的には、不揮発性の磁気記憶装置であり、CPU110で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク120にインストールされるプログラムは、後述するように、メモリカード106などに格納された状態で流通する。さらに、ハードディスク120には、後述するロギング処理によって、カメラ画像が格納される。なお、ハードディスク120に代えて、フラッシュメモリなどの半導体記憶装置やDVD−RAM(Digital Versatile Disk Random Access Memory)などの光学記憶装置を採用してもよい。
カメラインターフェイス122は、CPU110と撮像装置8との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス122は、1つ以上の撮像装置8と接続が可能であり、各撮像装置8からの画像データを一時的に蓄積するための画像バッファ122a,122b,…を含む。なお、画像バッファは、複数の撮像装置8の間で共有してもよいが、各撮像装置8に対応付けて独立に複数配置することが好ましい。カメラインターフェイス122は、画像バッファ122a,122b,…の各々に少なくとも1コマ分のカメラ画像のデータが蓄積されると、その蓄積されたデータをI/Oコントローラ118へ転送する。また、カメラインターフェイス122は、I/Oコントローラ118からの内部コマンドに従って、撮像装置8a,8b,…に対して撮像指令を与える。
入力インターフェイス124は、CPU110とキーボード104、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス124は、ユーザが入力装置を操作することで与えられる操作指令を受付ける。
PLCインターフェイス126は、CPU110とPLC5との間のデータ伝送を仲介する。より具体的には、PLCインターフェイス126は、PLC5によって制御される生産ラインの状態に係る情報やワークに係る情報などをCPU110へ伝送する。
通信インターフェイス128は、CPU110と図示しない他のパーソナルコンピュータやサーバ装置などと間のデータ伝送を仲介する。通信インターフェイス128は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。なお、後述するように、メモリカード106に格納されたプログラムを画像処理装置100にインストールする形態に代えて、通信インターフェイス128を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置100にインストールしてもよい。
データリーダ/ライタ130は、CPU110と記録媒体であるメモリカード106との間のデータ伝送を仲介する。すなわち、メモリカード106には、画像処理装置100で実行されるプログラムなどが格納された状態で流通し、データリーダ/ライタ130は、このメモリカード106からプログラムを読み出す。また、データリーダ/ライタ130は、CPU110の内部指令に応答して、撮像装置8によって取得されたカメラ画像および/または画像処理装置100における処理結果などをメモリカード106へ書き込む。なお、メモリカード106は、CF(Compact Flash)、SD(Secure Digital)などの汎用的な半導体記憶デバイスや、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体や、CD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体等からなる。
また、画像処理装置100には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
<概要>
本実施の形態に従う画像処理装置100では、カメラ画像に対して、ユーザが任意に選択した少なくとも1つの処理単位(以下「処理項目」または「ユニット」とも記す。)を含む画像処理を実行可能である。この画像処理に含まれる処理項目は、ユーザによって実行順序が定められており、この一連の処理項目によって定義される画像処理の内容を、以下では「フロー」とも称す。すなわち、「フロー」は、ユーザの入力により選択された処理単位の組み合わせを意味する。また、フローを実行することを「計測処理の実行」とも称す。なお、本明細書における処理単位は、特定の用途を有する機能単位であり、入力データと出力データとが定義されている。
このフローの実行にあたり、その中に含まれる処理項目の各々が、CPU110を構成する複数のコアのいずれかに対して、適宜割り当てられる。画像処理装置100では、少なくとも処理項目の単位で並列化処理が可能である。特に、本実施の形態に従う画像処理装置100では、ユーザが状況やニーズに応じて、各コアに対して処理項目をどのように割り当てるかを任意に設定することができる。すなわち、画像処理装置100では、後述するように、予め複数の並列処理モードが用意されており、ユーザは、これらの並列処理モードのうち1つを任意に選択することができる。すると、選択された並列処理モードに従って、並列化処理が行われる。
図3は、この発明の実施の形態に従う画像処理装置100において提供される並列処理モード選択画面300の一例を示す図である。なお、図3に示す並列処理モード選択画面300は、ディスプレイ102上に表示される。
図3を参照して、並列処理モード選択画面300は、モード一覧表示302と、OKボタン304と、キャンセルボタン306とを含む。モード一覧表示302には、画像処理装置100において実行可能な5つの並列処理モードが選択可能に表示される。より具体的には、画像処理装置100は、「最速フロー」、「高速トリガ」、「2ラインランダム」、「ノンストップ調整」、「高速ロギング」の5つの並列処理モードを実行可能である。ユーザは、キーボード104などを操作して希望する並列処理モードを選択した上で、OKボタン304を押下すると、選択された並列処理モードの実行が開始される。
すなわち、並列処理モード選択画面300は、複数の並列処理モードを選択可能に表示するととともに、ユーザからの並列処理モードの選択を受付ける。
なお、ユーザがキャンセルボタン306を押下すると、先の選択内容はキャンセルされる。以下、これらの並列処理モードの詳細について説明する。
<並列処理モードの概要>
(1.最速フローモード)
図4は、この発明の実施の形態に従う画像処理装置100において提供される最速フローモードの概要を説明するための図である。
図4(a)は、従来の単一の演算処理部を搭載した画像処理装置が製品(ワーク)に対する出荷前検査などを行う場合のフローを示す。図4(a)に示す一例のフローは、処理項目として、カメラ画像入力500と、サーチ501,502と、位置ずれ修正503と、ラベリング504と、キズ汚れ505と、エッジ本数506と、面積重心507とを含む。なお、このようなフローの内容(処理項目の種類および実行順序)は、ユーザが任意に登録することができる。
これらの項目のうち、カメラ画像入力500が入力処理に相当し、サーチ501,502および位置ずれ修正503が前処理に相当し、ラベリング504、キズ汚れ505、エッジ本数506、および、面積重心507が実質的な検査処理に相当する。以下、各処理項目について説明する。
カメラ画像入力500は、撮像装置8によるワーク2の撮像処理、および画像処理装置100によるカメラ画像の取り込み処理を含む。なお、カメラ画像入力500には、画像データの表色系の変換処理なども含み得る。
サーチ501および502は、ワーク2に印字等される特徴部分を画像パターン(モデル)として予め登録しておき、カメラ画像内でこの登録したモデルと最も一致する部分(位置)を探し出す処理を含む。なお、2つのサーチ501および502を実行するのは、ワーク2上の複数の特徴点を探し出すことによって、より正確な位置を特定するためである。位置ずれ修正503は、サーチ501および502によるサーチ結果に基づいて、搬送に伴うワーク2の位置ずれや向きずれ(回転)を補正するための処理を含む。たとえば、搬送機構6によるワーク2の搬送に伴って、ワーク2が本来の向きとは異なる向きを向いている場合などにおいて、サーチ501および502によりワーク2の現在の向きを特定し、続いて、この向きに基づいてカメラ画像を適切な角度だけ回転させるような前処理が実行される。
ラベリング504は、カメラ画像内の予め登録した色を有する領域に対して通し番号を付与する処理を含む。たとえば、ワーク2上に特定のマークなどが印刷される場合などに、このラベリング504を実行することで、本来印刷すべきマークと同じ数のマークが印刷されているか否かを検査することができる。
キズ汚れ505は、カメラ画像内の色のばらつきや変化などに基づいて、ワーク2上のキズや汚れを検出する処理を含む。
エッジ本数506は、カメラ画像内の色の変化に基づいてエッジを検出し、その検出したエッジ数やエッジの位置などを取得する処理を含む。たとえば、エッジ本数506の結果を用いて、コネクタやIC(Integrated Circuit)などのピン数を検査したり、各ピンの幅や隣接するピン同士の距離を算出したりすることができる。
面積重心507は、カメラ画像内で予め登録した色を有する領域を特定し、この特定した領域についての面積や重心位置を算出する処理を含む。たとえば、面積重心507の結果を用いて、表面に特定のラベルが貼付されたワーク2に対して、当該ラベルの欠けや位置ずれの有無を検査することができる。
上述したように、位置ずれ修正503は、サーチ501およびサーチ502のそれぞれのサーチ結果に基づいて実行され、ラベリング504、キズ汚れ505、エッジ本数506、および、面積重心507は、いずれも互いに独立して実行される。そこで、2つのコアを利用して、図4(a)に示すようなフローを処理する場合には、このような処理項目の間の制約条件を満たしつつ、可能な限り多くの処理項目について並列化を行う。
たとえば、図4(a)に示すフローは、図4(b)に示すような実行順序で処理されるように並列化される。すなわち、第1コア110aおよび第2コア110bがそれぞれサーチ501およびサーチ502を並列的に実行する。さらに、第1コア110aがラベリング504を実行している間、第2コア110bは、キズ汚れ505、エッジ本数506および面積重心507を順次実行する。ここで、ラベリング504、キズ汚れ505、エッジ本数506、および面積重心507については、第1コア110aと第2コア110bとの間で処理に要する時間に不均衡が生じないように、各処理項目がいずれかのコアに適宜割り当てられる。なお、各処理項目に要する時間は、カメラ画像のサイズおよび各種設定値に基づいて、おおよその値が推定される。
さらに、位置ずれ修正503については、カメラ画像が2分割された上で、第1コア110aおよび第2コア110bがそれぞれ対象の部分に対して処理を行うようにしてもよい。たとえば、第1コア110aがカメラ画像の上半分に対して処理を行い、第2コア110bがカメラ画像の下半分に対して処理を行う。
このように、本実施の形態に従う最速フローモードにおいては、対象のフローに含まれる処理項目を、少なくとも各処理項目の単位で可能な限り別々のコアに同時に処理させるよう割り当てることで、1回のフローの実行に要する処理時間を短縮することができる。すなわち、最も高速に各フローを処理することができる。そのため、最速フローモードでは、1つのワークに対するカメラ画像の取得から画像処理結果の出力までに要する時間を短縮したい生産ラインに適している。
(2.高速トリガモード)
図5は、この発明の実施の形態に従う画像処理装置100において提供される高速トリガモードの概要を説明するための図である。
図5(a)では、トリガ信号の発生毎に撮像装置8によるワーク2の撮像が行われ、この撮像によって得られたカメラ画像が画像処理装置100へ入力される。そして、このカメラ画像の入力完了後、従来の単一の演算処理部を搭載した画像処理装置が計測処理(上述したような、出荷前検査などのフロー)を実行する。
図5(a)に示す例では、撮像装置8によるカメラ画像の取得処理(画像入力)に要する時間に比較して、対応するワーク(計測処理)の実行に要する時間が相対的に長い場合を示す。この図5(a)に示す例では、第1回目の画像入力511の完了に引き続いて、CPUが1回目の計測処理521を実行する。1回目の計測処理521に引き続いて、CPUが2回目の計測処理522を実行できるようにするためには、撮像装置8による2回目の画像入力512を、その終了タイミングが1回目の計測処理521の終了タイミングと一致するように、開始させる必要がある。なお、第2回目の画像入力512の開始タイミングを早めると、計測処理が追いつかないために、後続の第3回目の画像入力513においてカメラ画像がオーバフローしてしまう。
すなわち、各計測処理に要する時間がボトルネックとなり、撮像装置8が連続的に撮像できる間隔(最小トリガ間隔)が制限される。そこで、本実施の形態に従う高速トリガモードでは、一連の処理項目を含むフローを1つの単位として、このフローを並列的に実行する。
たとえば、図5(a)に示す連続的な処理は、図5(b)に示すような態様で連続的に実行される。すなわち、第1コア110aおよび第2コア110bは、それぞれ奇数番目および偶数番目の計測処理(フロー)を実行する。この第1コア110aおよび第1コア110bによる計測処理の連続的な実行タイミングに応じて、撮像装置8による撮像およびカメラ画像の入力が繰返し実行される。
図5(b)に示す並列処理によれば、第1回目の画像入力511の完了に引き続いて、第1コア110aが1回目の計測処理521を実行する。この第1コア110aによる1回目の計測処理521の実行と並行して、1回目の計測処理521の完了前に、第2回目の画像入力512が開始される。そして、第2回目の画像入力512の完了に引き続いて、第2コア110bが2回目の計測処理522を実行する。以下同様にして、第3回目〜第6回目の画像入力513〜516が順次実行され、この画像入力の完了に伴って、第1コア110aが第3回目および第5回目の計測処理523および525を実行し、第2コア110bが第4回目および第6回目の計測処理524および526を実行する。
このように、本実施の形態に従う高速トリガモードにおいては、ユーザによって登録されるフロー単位で処理を並列化するので、撮像装置8による新たなカメラ画像の取得間隔、すなわち許容されるトリガ間隔を短縮することができる。したがって、各ワーク2に対して必要な処理時間(タクトタイム)を低減できるので、より生産ラインの速度を高めることができる。
(3.2ラインランダムモード)
図6は、この発明の実施の形態に従う画像処理装置100において提供される2ラインランダムモードの概要を説明するための図である。
図6(a)には、1つの撮像装置が接続された従来の単一の演算処理部を搭載した画像処理装置での処理手順を示す。図6(a)に示す例では、第1回目の画像入力531の完了に引き続いて、CPUが1回目の計測処理541を実行する。この画像入力および計測処理からなる一連のフローが、トリガ信号の発生毎に繰返し実行される。
これに対して、本実施の形態に従う2ラインランダムモードでは、画像処理装置100に対して、複数の撮像装置8(図1の撮像装置8aおよび8b)が接続された状態で、互いに独立して、画像入力および計測処理からなる一連のフローが実行される。したがって、1台の画像処理装置100を用いて、複数のラインをそれぞれ搬送されるワークに対して非同期で検査を行うことができる。すなわち、複数のラインの各々において、対応するフローがランダムに実行可能である。当然のことながら、1つのワークを互いに異なる項目を検査するような処理にも適用可能である。
より具体的には、図6(b)に示すように、第1番目のラインについては、撮像装置8aの撮像により取得されたカメラ画像の第1回目の画像入力531に引き続いて、第1コア110aが1回目の計測処理541を実行する。同様にして、第1番目のラインでのトリガ信号の発生毎に、画像入力および計測処理からなる一連のフローが繰返し実行される(画像入力532および計測処理542、ならびに、画像入力533および計測処理543)。
この第1コア110aにおいて実行される一連のフローとは非同期で、第1番目のラインについては、撮像装置8bの撮像により取得されたカメラ画像の第1回目の画像入力551に引き続いて、第2コア110bが1回目の計測処理561を実行する。同様にして、第2番目のラインでのトリガ信号の発生毎に、画像入力および計測処理からなる一連のフローが繰返し実行される(画像入力552および計測処理562、ならびに、画像入力553および計測処理563)。
このように、本実施の形態に従う2ラインランダムモードにおいては、非同期で複数のフローを実行できるので、1台の画像処理装置100を用いて、複数の項目および/または複数のラインを並行して検査等することができる。
(4.ノンストップ調整モード)
図7は、この発明の実施の形態に従う画像処理装置100において提供されるノンストップ調整モードの概要を説明するための図である。
本実施の形態に従うノンストップ調整モードでは、第1コア110aが一連のフローを繰り返し実行する一方で、第2コア110bが、フロー調整、結果確認、統計解析などの支援処理を実行する。この第2コア110bにおける処理は、第1コア110aの動作とは独立して実行される。
より具体的には、図7に示すように、撮像装置8aの撮像により取得されたカメラ画像の第1回目の画像入力531に引き続いて、第1コア110aが1回目の計測処理541を実行する。同様にして、トリガ信号の発生毎に、画像入力および計測処理からなる一連の処理が繰返し実行される(画像入力532および計測処理542、ならびに、画像入力533および計測処理543)。この第1コア110aにおいて実行される一連のフローとは独立して、第2コア110bが支援処理571を実行する
このように、本実施の形態に従うノンストップ調整モードにおいては、一連のフローの実行とは独立して、フロー調整、結果確認、統計解析などの支援処理を実行できるので、オンライン(フローの実行中)のままフローの調整や設定変更ができる。
このように、本実施の形態に従うノンストップ調整モードにおいては、オンライン中に何らかの設定の不具合などが発見された場合であっても、計測処理を止めることなく、その原因を解析して、設定内容を変更することができる。そのため、ライン停止に伴う機会損失の発生を低減できる。
(5.高速ロギングモード)
図8は、この発明の実施の形態に従う画像処理装置100において提供される高速ロギングモードの概要を説明するための図である。
図8(a)には、従来の単一の演算処理部を搭載した画像処理装置での処理手順を示す。図8(a)に示す例では、第1回目の画像入力531の完了に引き続いて、CPUが1回目の計測処理541を実行し、さらにロギング処理581を実行する。このロギング処理581は、この計測処理541の対象となったカメラ画像をハードディスク120などの記憶媒体へ格納する処理、および/または、画像処理装置の外部にある装置(典型的には、通信インターフェイス128を介して接続された、いわゆるUSBメモリなど)への出力を行う処理である。このロギング処理581は、データのリード/ライトが必要であるため、CPUを相対的に多くの時間占有する。そのため、あるフローの終了後、後続のフローを実行できるタイミングが遅延する。
これに対して、図8(b)に示す、本実施の形態に従う高速ロギングモードでは、第1コア110aが従来と同様の一連のフローを実行する一方で、第2コア110bが、第1コア110aの動作と並行してロギング処理581を実行する。
より具体的には、図8(b)に示すように、撮像装置8aの撮像により取得されたカメラ画像の第1回目の画像入力531に引き続いて、第1コア110aが1回目の計測処理541を実行する。同様にして、トリガ信号の発生毎に、画像入力および計測処理からなる一連の処理が繰返し実行される(画像入力532および計測処理542、画像入力533および計測処理543、…)。この第1コア110aにおいて実行される一連のフローに連動して、第2コア110bがロギング処理581,582,…を実行する。なお、ハードディスク120への書込速度や通信インターフェイス128における伝送速度に比較して、画像処理装置100の内部バスにおける伝送速度は非常に高いので、カメラ画像入力とロギング処理とを同時に実行しても、バスの占有に伴う速度低下は無視できる。
このように、本実施の形態に従う高速ロギングモードにおいては、一連のフローの実行とは独立して、カメラ画像のロギング処理が実行されるので、一連のフローの実行周期(トリガ間隔)をロギング処理が含まれない場合と実質的に同じに維持でき、タクトタイムを増大させることなく、カメラ画像のロギングを行うことができる。ロギングを連続的に行えることで、万が一、画像処理結果に不具合が生じた場合であっても、その原因究明などを迅速に行うことができる。
<ユーザインターフェイス>
(1.最速フローモード)
図9は、この発明の実施の形態に従う画像処理装置100が提供する最速フローモードの選択時におけるユーザインターフェイス画面400の一例を示す図である。図10は、この発明の実施の形態に従う画像処理装置100が提供する最速フローモードの選択時におけるユーザインターフェイス画面400の別の一例を示す図である。
図9を参照して、ユーザインターフェイス画面400は、カメラ接続情報エリア402と、検査フローエリア404と、カメラ情報エリア406と、再計測対象エリア408と、フロー分析結果エリア410と、タイミングチャートエリア420と、処理時間表示エリア430とを含む。
カメラ接続情報エリア402は、画像処理装置100に接続される撮像装置8の情報を表示するとともに、ユーザによる設定操作を受付ける。より具体的には、カメラ接続情報エリア402は、画像処理装置100に接続中の撮像装置8の情報を示す「カメラCH」の項目と、デフォルトで選択される撮像装置8を選択するための「初期選択カメラ」の項目とを含む。
検査フローエリア404は、現在設定されているフローの内容を表示する。より具体的には、検査フローエリア404には、フローに含まれる処理項目がアイコンとともに、その実行順序に従って視覚的に表示される。図9には、上述の図4に対応するフローに含まれる処理項目が例示されている。
さらに、検査フローエリア404では、ユーザによるフローの登録内容(処理項目の種類および順序など)の変更が可能である。典型的には、ユーザは、マウスなどを用いていわゆるドラッグ・ドロップ操作を行うことで、処理項目の追加・削除や実行順序の並び替えなどを行う。すなわち、検査フローエリア404は、ユーザ操作に応答して、実行順序が定められた複数の処理項目からなるフローを登録する。
カメラ情報エリア406は、画像処理に用いるカメラ画像を取得するための撮像装置8における現在の設定値を表示するとともに、ユーザによる撮像装置8に対する設定値の変更操作を受付ける。より具体的には、カメラ情報エリア406は、「カメラ形式」、「露光時間」、「取り込みライン」、および「フレーム/フィールド」の項目とを含む。「カメラ形式」の項目は、カメラ画像の取得に用いる撮像装置8の情報(型番など)を示す。「露光時間」の項目は、カメラ画像の取得に用いる撮像装置8におけるシャッタスピードを示す。「取り込みライン」の項目は、撮像装置8において取得されるカメラ画像のうちどの範囲を取り込むかを、撮像装置8の走査線(ライン)の番号で指定する。「フレーム/フィールド」の項目は、NTSC(National Television System Committee)方式などの「飛び越し」走査を行うような撮像方式において、1フィールド単位で処理を行うのか、あるいは、複数フィールドをまとめた1フレーム単位で処理を行うのかを選択する。なお、カメラ情報エリア406は、後述する再計測対象エリア408において、撮像装置8が画像の取り込み先として指定された場合に有効化される。
本実施の形態に従う画像処理装置100は、撮像装置8の撮像により取得されるカメラ画像に対して逐次的に画像処理を行うモードに加えて、過去に取得された、もしくは、外部入力される画像に対しても画像処理が可能である。再計測対象エリア408は、このような撮像装置8から直接的に入力されるカメラ画像以外の画像を処理の対象とする場合の設定を受付ける。より具体的には、再計測対象エリア408は、「カメラ」、「最新ロギング画像」、「画像ファイル」の3つの項目に対応付けられたラジオボタンを含む。ユーザが「カメラ」の項目に対応するラジオボタンを選択すると、画像処理装置100に接続された撮像装置8により取得されたカメラ画像が処理対象となる。一方、ユーザが「最新ロギング画像」の項目に対応するラジオボタンを選択すると、最も直近にロギングされたカメラ画像が処理対象となる。さらに、ユーザが「画像ファイル」の項目に対応するラジオボタンを選択すると、指定されたディレクトリ(フォルダ)に保存されている画像ファイルが処理対象となる。
フロー分析結果エリア410は、専門知識の乏しいユーザであっても、適切なフローの組み立てや調整が行えるように、ヒントや注意点などの支援メッセージを表示する。また、フロー分析結果エリア410には、効率的な並列処理が行えないような状況において、警告メッセージを通知する。
タイミングチャートエリア420は、選択された並列処理モードによる処理高速化の効果を視覚的に表示する。より具体的には、タイミングチャートエリア420は、通常チャート422と、高速化チャート424とを含む。
通常チャート422は、従来の単一の演算処理部を搭載した画像処理装置と同様に、1つのコアのみで設定されたフローを実行する場合の処理タイミングを視覚的に表示する。この通常チャート422では、紙面横方向が時間軸を示す。そして、対象のフローに含まれる各処理項目に対応するブロックが、その(予想)処理時間に対応する幅をもって、一連に配置される。
通常チャート422と並べて、選択されている最速フローモードの処理タイミングを示す高速化チャート424が視覚的に表示される。この高速化チャート424では、第1コア110aを示す「CPU0」の段と、第2コア110bを示す「CPU1」の段とが設けられており、それぞれのコアで実行される処理タイミングに合わせて、各処理項目に対応するブロックが一連に表示される。
なお、タイミングチャートエリア420の下部には、一連のフローに要する処理時間(図9に示す例では、「1200」msおよび「2200」ms)が視認可能な形態で表示される。
図9から明らかなように、タイミングチャートエリア420が表示されることで、ユーザは、単一の演算処理部のみを用いてフローを実行する場合に比較して、複数のコアで並列化処理を行う最速フローモードを選択した場合の処理高速化の効果を一見して把握することができる。さらに、処理時間表示エリア430には、それぞれ通常チャート422および高速化チャート424に対応付けて、処理に要すると推定される時間が対比表示される。
すなわち、タイミングチャートエリア420は、対象のフローを単一の演算処理部で処理した場合に要する処理時間と、対象のフローを複数の演算処理部で並列処理した場合に要する処理時間との差を、グラフ態様で表示する。また、処理時間表示エリア430は、これらの処理時間の差を数値表示する。
なお、本実施の形態に従う最速フローモードでは、第1コア110aおよび第2コア110bに対して、処理項目の単位で並列化処理を行うので、処理項目の間で処理時間に不均衡が生じている場合などには、並列化処理による処理高速化の効果が得られにくい。
そこで、本実施の形態に従う画像処理装置100は、このような処理高速化の阻害要因などが生じていると判断した場合には、ユーザインターフェイス画面400において、図10に示すような支援表示を行う。
図10を参照して、画像処理装置100は、リソースを効率的に利用できていないと判断すると、ユーザインターフェイス画面400のフロー分析結果エリア410において、その内容をユーザに通知する。より具体的には、図10に示す例では、2つの「ラベリング」が直列的に実行されるようにフローが設定されており、最初の「ラベリング」の処理時間と、当該「ラベリング」と並列処理される「キズ汚れ」の処理時間との間の時間差が相対的に大きいとすると、第2コア110bが待ち状態になり、第2コア110bのリソースを有効に利用することができない。
このとき、フロー分析結果エリア410には「ユニット間の処理時間の差が大きいため、効率的に処理を割り当てられません。」とのメッセージが表示される。ユーザが、カーソルCRSなどを用いてこのメッセージを選択すると、その原因となる処理項目が強調表示405される。すなわち、検査フローエリア404の「ラベリング」の項目、および、タイミングチャートエリア420の「ラベリング」のブロックが強調表示される。
すなわち、フロー分析結果エリア410は、フローに対する処理高速化の阻害要因が存在する場合に、当該阻害要因を解消するための方策をユーザに通知する。
このような通知および表示態様の変化によって、専門知識の乏しいユーザであっても、処理効率を改善するためのヒントを容易に得ることができる。
(2.高速トリガモード)
図11は、この発明の実施の形態に従う画像処理装置100が提供する高速トリガモードの選択時におけるユーザインターフェイス画面401の一例を示す図である。図12は、この発明の実施の形態に従う画像処理装置100が提供する高速トリガモードの選択時におけるユーザインターフェイス画面401の別の一例を示す図である。
図11を参照して、ユーザインターフェイス画面401は、カメラ接続情報エリア402と、検査フローエリア404と、カメラ情報エリア406と、再計測対象エリア408と、フロー分析結果エリア410と、タイミングチャートエリア440と、処理時間表示エリア450とを含む。
ユーザインターフェイス画面401に含まれる、カメラ接続情報エリア402、検査フローエリア404、カメラ情報エリア406、再計測対象エリア408、および、フロー分析結果エリア410については、それぞれ図9に示すユーザインターフェイス画面400に含まれる対応するエリアの内容と同様であるので、詳細な説明は繰返さない。
タイミングチャートエリア440は、選択された並列処理モードによる処理高速化の効果を視覚的に表示する。より具体的には、タイミングチャートエリア440は、通常チャート442と、高速化チャート444とを含む。
通常チャート442は、従来の単一の演算処理部を搭載した画像処理装置と同様に、1つのコアのみで設定されたフローを実行する場合の処理タイミングを視覚的に表示する。すなわち、通常チャート442では、紙面横方向が時間軸を示す。そして、撮像装置によるカメラ画像の取得、および、CPUによる一連のフローの実行に対応するブロックが一連に配置される。このとき、カメラ画像の取得を示す「カメラ」の段には、トリガ信号を受け入れ可能な最短周期に対応付けて、ブロックが配置される。このトリガ信号を受け入れ可能な最短周期は、先行の撮像によって得られた画像に対するフローの実行に要する処理時間に応じて決定される。
この通常チャート442と並べて、選択されている高速トリガモードの処理タイミングを示す高速化チャート444が視覚的に表示される。この高速化チャート444では、第1コア110aを示す「CPU0」の段および第2コア110bを示す「CPU1」の段に加えて、それぞれのコアに対応付けられた「カメラ」の段が設けられている。そして、撮像装置8の撮像によって得られたカメラ画像がいずれのコアで処理されるのかが把握できるように、「カメラ」の段および「CPU」の段に、各処理項目に対応するブロックが処理タイミングに合わせて一連に表示される。
なお、タイミングチャートエリア440には、許容されるトリガタイミングが時間軸に対応付けて表示(符号446)される。
図11から明らかなように、タイミングチャートエリア440が表示されることで、ユーザは、単一の演算処理部のみを用いてフローを実行する場合に比較して、複数のコアで並列化処理を行う高速トリガモードを選択した場合の処理高速化の効果を一見して把握することができる。さらに、処理時間表示エリア450には、それぞれ通常チャート442および高速化チャート444に対応付けて、許容されるトリガ時間が対比表示される。
すなわち、タイミングチャートエリア440は、対象のフローを単一の演算処理部で処理した場合の許容されるトリガ間隔と、対象のフローを複数の演算処理部で並列処理した場合の許容されるトリガ間隔との差を、グラフ態様で表示する。また、処理時間表示エリア430は、これらのトリガ間隔の差を数値表示する。
なお、本実施の形態に従う高速トリガモードは、基本的に、1つの撮像装置8によって順次出力されるカメラ画像に対して、複数のコアが交互に画像処理(フロー)を実行することで、トリガ間隔(撮像装置8が撮像を行う間隔)をより短縮する。そのため、1つのフローにカメラ画像の取り込みが複数回含まれている場合などには、並列化処理による処理高速化の効果が得られにくい。
そこで、本実施の形態に従う画像処理装置100は、このような処理高速化の阻害要因などが生じていると判断した場合には、ユーザインターフェイス画面401において、図12に示すような支援表示を行う。
図12を参照して、画像処理装置100は、ハードウェアの制約やフローの設定に起因して、最適な並列化が行えないと判断すると、ユーザインターフェイス画面401のフロー分析結果エリア410において、その内容をユーザに通知する。より具体的には、図12に示す例では、2つの「カメラ画像入力」が直列的に実行されるようにフローが設定されており、第1コア110aと第2コア110bとが交互にフローを実行することができない。
このとき、フロー分析結果エリア410には「カメラ画像入力が複数あるため、トリガ間隔を短縮できません。」とのメッセージが表示される。ユーザが、カーソルCRSなどを用いてこのメッセージを選択すると、その原因となる処理項目が強調表示448される。より具体的には、検査フローエリア404の「カメラ画像入力」の項目、および、タイミングチャートエリア440の2番目のカメラ画像入力以降の処理項目に対応するブロックが強調表示される。
すなわち、フロー分析結果エリア410は、フローに対する処理高速化の阻害要因が存在する場合に、当該阻害要因を解消するための方策をユーザに通知する。
このような通知および表示態様の変化によって、専門知識の乏しいユーザであっても、処理効率を改善するためのヒントを容易に得ることができる。
(3.その他のモード)
「2ラインランダム」、「ノンストップ調整」および「高速ロギング」の各々についても、上述のユーザインターフェイス画面400および401と同様であるので、詳細な説明は繰返さない。
<ユーザ支援機能>
上述のように、本実施の形態に従う画像処理装置100は、複数の並列処理モードを任意に選択可能であるが、専門知識の乏しいユーザは、対象の生産ラインなどにおいて、いずれの並列処理モードが最適であるかを一見して把握することができない。そこで、本実施の形態に従う画像処理装置100は、設定済のフローに対して、いずれの並列処理モードを採用するのが最適であるかを比較表示して、ユーザによる設定を支援する。以下、このユーザ支援機能について説明する。
図13は、この発明の実施の形態に従う画像処理装置100において提供される並列処理モード選択を支援するためのユーザインターフェイス画面600の一例を示す図である。
図13を参照して、ユーザインターフェイス画面600は、タイミングチャートエリア610と、一覧表示エリア620とを含む。また、ディスプレイ102には、ユーザインターフェイス画面600と並べて、フロー表示ウィンドウ650が表示される。
フロー表示ウィンドウ650には、設定されているフローに含まれる処理項目がアイコンとともに、その実行順序に従って視覚的に一覧表示される。ユーザが、フロー表示ウィンドウ650に対して、マウスなどを用いていわゆるドラッグ・ドロップ操作を行うことで、処理項目の追加・削除や実行順序の並び替えなどを行う。すなわち、フロー表示ウィンドウ650は、ユーザ操作に応答して、実行順序が定められた複数の処理項目からなるフローを登録する。また、後述するような処理項目の並び替え処理の実行に伴って、フロー表示ウィンドウ650には、処理項目の順序の変更が随時反映される。なお、図13に示す例では、13個の処理項目を含むフローが示されている。
タイミングチャートエリア610には、設定されているフローを選択された並列処理モードに従って実行する場合に、そのフローに含まれる処理項目の実行タイミングが視覚的に表示される。すなわち、タイミングチャートエリア610では、紙面横方向が時間軸を示し、各処理項目に対応するブロックが、その(予想)処理時間に対応する幅をもって、一連に配置される。また、タイミングチャートエリア610では各処理項目に対応するブロックに隣接して、処理速度に関する情報が表示される。
さらに、ユーザが設定するフローにおいては、各処理項目について、その前段および後段における処理項目との間の関係が予め定義されており、これらの関係を情報に基づいて、順番を入れ替えることができない一連の処理項目の間には、依存関係を示すインジケータ611〜615が表示される。図13に示す例では、「1.エッジの位置」と「3.位置ずれ修正」との間に依存関係(符号611)が存在し、同様に、「2.エッジの位置」と「3.位置ずれ修正」との間に依存関係(符号612)が存在することが視覚的に示されている。さらに、「4.モデル辞書」と「7.汎用文字検査」との間に依存関係(符号613)が存在し、同様に、「5.モデル辞書」と「7.汎用文字検査」との間に依存関係(符号614)が存在することが視覚的に示されている。さらに、「6.計測前処理」と「7.汎用文字検査」との間に依存関係(符号615)が存在することが視覚的に示されている。
一覧表示エリア620では、各並列処理モードを選択した場合に予想される処理時間などが、並列化処理を行わない場合に予想される処理時間などと比較表示される。より具体的には、一覧表示エリア620は、表示列622,624,626,628を含む。
表示列622は、並列化処理を行わない場合の情報を示し、表示列624は、高速トリガモードが選択された場合の情報を示し、表示列626は、高速ロギングモードが選択された場合の情報を示し、表示列628は、最速フローモードが選択された情報を示す。
また、表示列622,624,626,628の各々は、設定されたフロー全体の処理時間を示す「計測時間」、トリガ間隔の許容最小時間を示す「最速タクト」、並列化処理を採用することによる処理時間の短縮量を示す「並列化」、および、発生している不具合などを表示する「エラー(リスク)」の計4つの項目を含む。すなわち、表示列622,624,626,628の各々では、対応する並列処理モードが選択された場合に予測される処理の実行状態を示す情報が表示される。
本実施の形態に従う「並列化」の値としては、並列化処理を行わない場合に、対象のフローの実行に要する処理時間(計測時間)を基準として、各並列処理モードが選択された場合に、対象のフローの実行に要する処理時間(計測時間)の低減率が用いられる。あるいは、並列化処理を行わない場合に許容されるトリガ間隔(最速タクト)を基準として、各並列処理モードが選択された場合に許容されるトリガ間隔(最速タクト)の低減率が用いられる。さらにあるいは、これらの低減率を総合的に評価した値が採用されてもよい。
基本的には、「並列化」の値としては、フローの実行に要する処理時間が小さくなるほど、あるいは、許容されるトリガ間隔が小さくなるほど、その値が大きく表示されるように設計することが好ましい。これにより、ユーザは、「並列化」の値が最も大きくなる並列処理モードを最適なモードであると直感的に選択することができる。
このように、画像処理装置100は、対象のフローに含まれる複数の処理項目の各々を、複数の並列処理モードの各々に従って並列化した場合における、それぞれの並列処理モードについての処理速度に関する情報を推定し、この推定されたそれぞれの並列処理モードについての処理速度に関する情報をモード間で比較可能な態様で表示する。
さらに、表示列628には、より処理時間が短縮できるように、対象のフローに含まれる処理項目の並び替えを指示するための「フロー自動並び替え」ボタン630が選択可能に表示される。ユーザがこのボタン630を選択すると、図14に示すような並び替え選択画面700が表示される。
図14は、この発明の実施の形態に従う画像処理装置100によって提供される並び替え選択画面700の一例を示す図である。
図14を参照して、並び替え選択画面700は、最速フローモードが選択された場合における、対象のフローに含まれる処理項目の実行順の並び替えを指示する。この並び替え選択画面700は、処理項目の実行順を並び替えるための複数のルールを含む選択一覧702を含む。この選択一覧702では、「フロー登録順」、「平均処理速度順」、「最長処理速度順」、および、「最短処理速度順」の4つのうちいずれか1つを選択可能になっている。すなわち、ユーザがいずれかのラジオボタンを選択すると、対応するルールが有効化される。「フロー登録順」が選択された場合には、フローの処理項目として最初に登録された順序に従って並び替えが行われる。「平均処理速度順」が選択された場合には、各処理項目の実際の実行に要した時間の平均値に基づいて、並び替えが行われる。同様に、「最長処理速度順」が選択された場合には、各処理項目について実際の実行に要した時間の最大値に基づいて、並び替えが行われる。また、同様に、「最短処理速度順」が選択された場合には、各処理項目について実際の実行に要した時間の最小値に基づいて、並び替えが行われる。
このような処理項目の並び替えを実行することで、並列化効率が最も高くなるように、処理項目の順序を最適化できる。なお、上述の「平均処理速度順」、「最長処理速度順」、「最短処理速度順」については、処理速度算出設定704に入力される設定値に基づいて、過去の実行実績のうちどの範囲を処理速度の算出に用いるかが指定される。すなわち、図14に示す例では、処理速度算出設定704において「20」が設定されているので、直近の実行結果から20回分の実行結果に基づいて、処理速度(実行に要した時間)が算出される。
さらに、並び替え選択画面700には、計測処理(フロー)の実行に伴って、処理速度(実行に要した時間)を更新するとともに、更新後の処理速度に基づいて、再度並び替えを行うか否かを指定するチェックボックス706を含む。このチェックボックス706がチェック(選択)されると、フローに含まれる処理項目がフローの実行によって実測される処理時間に応じて動的に並び替えられる。一方、チェックボックス706がチェックされていなければ、ユーザが何らかの操作を行うまで、現在の処理項目の順序は変更されない。
そして、ユーザがOKボタン708を選択すると、指定された内容が反映され、キャンセルボタン710を選択すると、指定された内容が破棄されて、ユーザインターフェイス画面600へ戻る。
このように、画像処理装置100は、複数のルールのうちユーザが選択するルールに従って、対象のフローに含まれる複数の処理項目の実行順序を変更する(並び替える)。
<制御構造>
次に、上述の画像処理装置100における各種機能を提供するための制御構造について説明する。
図15は、この発明の実施の形態に従う画像処理装置100において具現化される制御構造の一例を示すブロック図である。図15に示す各ブロックは、システムコントローラ116がハードディスク120に格納されたプログラム(コード)をRAM112に展開して、CPU110に実行させることで提供される。なお、図15に示すモジュールの一部もしくは全部がハードウェアに実装されているファームウェアによって提供される場合もある。あるいは、図15に示す制御構造の一部もしくは全部を専用ハードウェアおよび/または配線回路によって実現してもよい。
図15を参照して、画像処理装置100は、その制御構造として、GUI(Graphical User Interface)モジュール202と、モード選択モジュール204と、フロー登録モジュール206と、UI(ユーザインターフェイス)画面生成モジュール208と、処理項目保持部210と、フロー保持部212と、並列化モジュール214と、並び替えモジュール216と、第1処理部222と、第2処理部224と、処理時間監視モジュール226と、並列化基準保持部218とを含む。
GUIモジュール202は、モード選択モジュール204、フロー登録モジュール206、およびUI画面生成モジュール208などと協働して、ディスプレイ102に上述のような各種画面を表示するとともに、入力画面などに対するユーザ操作に応じた指令を受付ける。なお、GUIモジュール202の一部もしくは全部の機能が、OSの基本機能として提供される場合もある。
モード選択モジュール204、ユーザによる並列処理モード選択を受付けるとともに、選択された並列処理モードを並列化モジュール214へ通知する。すなわち、モード選択モジュール204は、画像処理装置100に接続されたディスプレイ102上に複数の並列処理モードを選択可能に表示する機能、および、ユーザからの並列処理モードの選択を受付ける機能を提供する。より具体的には、モード選択モジュール204は、図3に示すような並列処理モード選択画面300を表示するための描画データをGUIモジュール202へ出力するとともに、並列処理モード選択画面300上で指定された並列処理モードを受付ける。
フロー登録モジュール206は、ユーザによるフローの登録を受付けるとともに、登録されたフローの内容をフロー保持部212へ格納する。すなわち、フロー登録モジュール206は、ユーザ操作に応答して、実行順序が定められた複数の処理項目からなるフローを登録する機能を提供する。より具体的には、フロー登録モジュール206は、処理項目保持部210に格納されている処理項目リスト210aを参照して、図13のフロー表示ウィンドウ650を表示するための描画データをGUIモジュール202へ出力する。また、フロー登録モジュール206は、ユーザ操作に応じて、処理項目リスト210aから指定された情報を選択して、フロー保持部212へ順次出力する。
処理項目保持部210は、画像処理装置100によって実行可能な処理項目の内容を示す情報(コード)やデフォルトの設定値などが記述された処理項目リスト210aを保持している。すなわち、処理項目保持部210は、画像データを処理する複数の処理単位を記憶する。なお、この処理項目リスト210aには、処理項目同士の依存関係などの情報も定義されている。
フロー保持部212は、登録されたフローの情報、すなわち、ユーザが選択した処理項目を指定された順序で並べたリストである、フロー定義212aを保持する。このフロー定義212aには、少なくとも各処理項目についての入力先データおよび出力データなどが定義されている。
並列化モジュール214は、フロー保持部212に保持されているフロー定義212aに基づいて、対象のフローに含まれる処理項目の各々を第1処理部222および第2処理部224のいずれかで実行させる。すなわち、並列化モジュール214は、ユーザにより選択された並列処理モードに従って、対象のフローに含まれる複数の処理項目の各々を複数の演算処理部のいずれかに割り当てる機能を提供する。より具体的には、並列化モジュール214は、割り当て機能214aと、評価機能214bとを含む。
割り当て機能214aは、対象のフローに含まれる処理項目の各々を、並列化基準保持部218に格納されている並列化基準218aを参照して、第1処理部222および第2処理部224のいずれか一方へ割り当てる。この並列化基準218aには、処理項目を割り当てるための規則が定義されている。たとえば、第1処理部222および第2処理部224のそれぞれに割り当てられる処理項目の実行に要する処理時間を評価し、その評価された処理時間の間で不均衡が生じないようにするためのアルゴリズムなどが定義されている。
また、評価機能214bは、何らかの規則に従って処理項目が割り当てられた後の状態に対して、並列化基準保持部218に格納されている並列化基準218aを参照して、処理高速化が阻害されているか否か、および/または、処理高速化を阻害するような制約の有無などを評価する。すなわち、評価機能214bは、対象のフローを単一のCPUで処理した場合に要する処理時間と、対象のフローを複数のコアで並列処理した場合に要する処理時間との差を表示するための機能を提供する。
並列化基準218aは、上述のような規則に加えて、処理高速化が阻害されている状況と判断するための条件、および、各条件に対応付けたヒントや注意点などの支援メッセージを含む。そして、評価機能214bは、何らかの阻害されている状況や何らかの制約が存在していると判断されると、その内容を示す情報を支援メッセージとともに、UI画面生成モジュール208へ出力する。すなわち、評価機能214bは、対象のフローに含まれる処理項目に関する処理高速化の阻害要因の有無を判断する機能、および、処理高速化の阻害要因が存在する場合に、当該阻害要因を解消するための方策をユーザに通知する機能を提供する。
さらに、評価機能214bは、対象のフローに含まれる複数の処理単位の各々を、複数の並列処理モードの各々に従って複数のコアのいずれかに割り当てた場合における、それぞれの並列処理モードについての処理速度に関する情報を推定する機能、および、当該推定されたそれぞれの並列処理モードについての処理速度に関する情報をモード間で比較可能な態様で表示する機能を提供する。
並び替えモジュール216は、フロー定義212aに記述された複数の処理項目についての実行順序を変更する。すなわち、並び替えモジュール216は、複数のルールのうちユーザが選択するルールに従って、対象のフローに含まれる複数の処理項目の実行順序を変更する機能を提供する。より具体的には、並び替えモジュール216は、並び替え選択画面700(図14参照)上でのユーザ操作に応答して、指定されたルールに従って、処理項目の順序を変更する。このとき、並び替えモジュール216は、後述する、処理時間監視モジュール226から各処理項目についての実行に要した時間を取得する。
並列化基準保持部218は、上述のような処理項目を並列化するためのアルゴリズムや規則を記述した並列化基準218aを保持する。
第1処理部222および第2処理部224は、それぞれ並列化モジュール214によって割り当てられた処理項目を実行する。
処理時間監視モジュール226は、第1処理部222および第2処理部224の各々における処理の実行状態を監視する。すなわち、処理時間監視モジュール226は、第1処理部222および第2処理部224において実行される各処理項目の処理時間を監視するとともに、その値を履歴として保持する。
<処理手順>
次に、上述の画像処理装置100における処理手順について説明する。
図16は、この発明の実施の形態に従う処理手順を示すフローチャートである。
図16を参照して、画像処理装置100は、ディスプレイ102にフロー登録用画面を表示し(ステップS100)、ユーザによる処理項目の選択を受付ける(ステップS102)。そして、画像処理装置100は、ユーザによるフロー登録完了の指示を受けたか否かを判断する(ステップS104)。ユーザによるフロー登録完了の指示を受けていなければ(ステップS104においてNO)、ステップS102以下の処理が繰返される。
これに対して、ユーザによるフロー登録完了の指示を受けていれば(ステップS104においてYES)、画像処理装置100は、登録されたフローの内容を保存する(ステップS106)。
続いて、画像処理装置100は、並列化処理が要求されたか否かを判断する(ステップS108)。並列化処理が要求されていなければ(ステップS108においてNO)、処理はステップS140へ進む。
これに対して、並列化処理が要求されていれば(ステップS108においてYES)、画像処理装置100は、ディスプレイ102に並列処理モード選択画面(図3)を表示し(ステップS110)、ユーザによる並列処理モードの選択を受付ける(ステップS112)。続いて、画像処理装置100は、選択された並列処理モードに従って、保存されている対象のフローに含まれる処理項目の実行順序および実行主体(第1コア110aおよび第2コア110bのいずれか)を決定する(ステップS114)。さらに、画像処理装置100は、ステップS114において決定した内容に基づいて、単一のコアで対象のフローを実行した場合の処理時間および並列処理で対象のフローを実行した場合の処理時間などを算出し(ステップS116)、その算出結果に基づいて、ユーザインターフェイス画面を表示する(ステップS118)。このとき、画像処理装置100は、処理高速化の阻害要因などが存在していれば、その内容をユーザインターフェイス画面(図9〜図12に示すフロー分析結果エリア410など)に表示する。
続いて、画像処理装置100は、ユーザがフロー分析結果エリアを選択したか否かを判断する(ステップS120)。ユーザがフロー分析結果エリアを選択した場合(ステップS120においてYES)には、画像処理装置100は、処理高速化の阻害要因となっている処理項目の表示態様を変化させる(ステップS122)。そして、処理はステップS124へ進む。
ユーザがフロー分析結果エリアを選択していない場合(ステップS120においてNO)には、画像処理装置100は、ユーザによる並列処理モード比較の指示を受けたか否かを判断する(ステップS124)。ユーザによる並列処理モード比較の指示を受けていなければ(ステップS124においてNO)、処理はステップS140へ進む。
ユーザによる並列処理モード比較の指示を受けていれば(ステップS124においてYES)、画像処理装置100は、予め設定された複数の並列処理モードの各々に従って、保存されている対象のフローに含まれる処理項目の実行順序および実行主体を仮想的に決定し、その決定した内容で処理を行った場合の処理時間および処理順序をそれぞれ算出する(ステップS126)。そして、画像処理装置100は、ステップS126における算出結果に基づいて、並列処理モード選択を支援するためのユーザインターフェイス画面を表示する(ステップS128)。
続いて、画像処理装置100は、ステップS128において表示した並列処理モード選択を支援するためのユーザインターフェイス画面において、ユーザによる対象のフローに含まれる処理項目の並び替えの指示を受けたか否かを判断する(ステップS130)。ユーザによる対象のフローに含まれる処理項目の並び替えの指示を受けていなければ(ステップS130においてNO)、処理はステップS140へ進む。
ユーザによる対象のフローに含まれる処理項目の並び替えの指示を受けていれば(ステップS130においてYES)、画像処理装置100は、ディスプレイ102に並び替え選択画面(図14)を表示し(ステップS132)、ユーザによる並び替え規則の選択を受付ける(ステップS134)。続いて、画像処理装置100は、選択された並び替え規則に従って、対象のフローに含まれる処理項目の実行順序を変更する(ステップS136)。
その後、画像処理装置100は、ユーザによる計測処理の開始の指示を受けたか否かを判断する(ステップS140)。ユーザによる計測処理の開始の指示を受けていれば(ステップS140においてYES)、画像処理装置100は、現在の設定されている内容でフローの実行を開始する(ステップS142)。
ユーザによる計測処理の開始の指示を受けていなければ(ステップS140においてNO)、画像処理装置100は、ユーザによる対象のフローの内容の変更の指示を受けたか否かを判断する(ステップS144)。ユーザによる対象のフローの内容の変更の指示を受けていれば(ステップS144においてYES)、ステップS100以下の処理が繰返される。
これに対して、ユーザによる対象のフローの内容の変更の指示を受けていなければ(ステップS144においてNO)、画像処理装置100は、ユーザによる処理終了の指示を受けたか否かを判断する(ステップS146)。ユーザによる処理終了の指示を受けていなければ(ステップS146においてNO)、ステップS140以下の処理が繰返される。これに対して、ユーザによる処理終了の指示を受けていれば(ステップS146においてYES)、処理は終了する。
<作用効果>
本実施の形態に従う画像処理装置によれば、複数の並列処理モードが用意されており、ユーザがこれらの並列処理モードのうちいずれかを任意に選択すると、選択された並列処理モードに従った並列処理が実現される。実際の生産ラインでは、各ラインでの性能や位置付けなどに応じて、様々なニーズが要求される。このようなニーズとしては、たとえば、計測時間の短縮、タクトタイムの短縮、画像処理装置のコストダウン、ダウンタイムの低減(オンラインメンテナンスの実現)、トラブル時の早期原因究明などが挙げられる。本実施の形態に従う画像処理装置では、これらのニーズに応じた並列処理モードが用意されており、ユーザは、これらのうち適切な並列処理モードを選択するだけで、対象の生産ラインに応じたニーズを満たすことができる。
また、本実施の形態に従う画像処理装置によれば、予め定められた特定の並列化手法ではなく、複数の並列化手法を任意に選択できるので、より汎用性を高めることができる。そのため、特定の生産ラインに特化したような専用機を採用する場合に比較して、全体としてのコストダウンを実現できる。
また、本実施の形態に従う画像処理装置によれば、各種のユーザ支援機能が提供されるので、ユーザは、いずれの並列処理モードを選択すればよいのかを一見して把握することができる。すなわち、上述の図13に示すようなユーザインターフェイス画面600では、並列処理モードの別にそれぞれの高速化の効果を比較することができる。また、図9に示すようなユーザインターフェイス400および/または図11に示すようなユーザインターフェイス401では、従来の単一の演算処理部を用いた場合(並列処理を行わない場合)との比較で、並列処理による処理高速化の効果を一見して把握することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 視覚センサシステム、2 被測定物、4 光電センサ、4a 受光部、4b 投光部、6 搬送機構、8,8a,8b, 撮像装置、100 画像処理装置、102 ディスプレイ、104 キーボード、106 メモリカード、110 CPU、110a 第1コア、110b 第2コア、114 表示コントローラ、116 システムコントローラ、118 I/Oコントローラ、122 カメラインターフェイス、122a,122b, 画像バッファ、124 入力インターフェイス、126 PLCインターフェイス、128 通信インターフェイス、130 データリーダ/ライタ、202 GUIモジュール、204 モード選択モジュール、206 フロー登録モジュール、208 画面生成モジュール、210 処理項目保持部、210a 処理項目リスト、212 フロー保持部、212a フロー定義、214 並列化モジュール、214a 割り当て機能、214b 評価機能、216 モジュール、218 並列化基準保持部、218a 並列化基準、222 第1処理部、224 第2処理部、226 処理時間監視モジュール。

Claims (8)

  1. 画像処理装置であって、
    複数の演算処理部と、
    被測定物を撮影して画像データを生成するための撮像部に接続され、当該撮像部で撮影された画像データが入力されるカメラインターフェイス部と、
    表示部に接続され、当該表示部に表示させる表示用画像データを出力する表示画面出力部と、
    外部から入力を受付ける入力部と、
    前記画像データを処理する複数の処理単位を記憶するための記憶部と、
    前記入力部からの入力により選択された前記処理単位の組み合わせからなる処理手順を登録する処理登録手段と、
    前記表示部上に複数の並列処理モードを選択可能に表示するとともに、前記入力部からの並列処理モードの選択を受付けるモード選択手段と、
    前記モード選択手段により選択された並列処理モードに従って、対象の前記処理手順に含まれる複数の処理単位の各々を前記複数の演算処理部のいずれかに割り当てる並列化手段とを備える、画像処理装置。
  2. 前記対象の処理手順を単一の演算処理部で処理した場合に要する処理時間と、前記並列化手段により前記対象の処理手順を前記複数の演算処理部で並列処理した場合に要する処理時間との差を前記表示部に表示させるための比較表示出力手段をさらに備える、請求項1に記載の画像処理装置。
  3. 前記比較表示出力手段は、当該処理時間の差を数値表示として出力する、請求項2に記載の画像処理装置。
  4. 前記比較表示出力手段は、当該処理時間の差をグラフ表示として出力する、請求項2に記載の画像処理装置。
  5. 前記並列化手段は、
    前記処理手順に含まれる処理項目に関する処理高速化の阻害要因の有無を判断する手段と、
    前記処理高速化の阻害要因が存在する場合に、当該阻害要因を解消するための方策を前記表示部に表示させる手段とを含む、請求項1〜4のいずれか1項に記載の画像処理装置。
  6. 前記並列化手段は、
    前記対象の処理手順に含まれる複数の処理単位の各々を、複数の並列処理モードの各々に従って前記複数の演算処理部のいずれかに割り当てた場合における、それぞれの並列処理モードについての処理速度に関する情報を推定する手段と、
    当該推定されたそれぞれの並列処理モードについての処理速度に関する情報をモード間で比較可能な態様で前記表示部に出力する手段とを含む、請求項1〜4のいずれか1項に記載の画像処理装置。
  7. 前記対象の処理手順に含まれる複数の処理単位の実行順序を変更する並び替え手段をさらに備える、請求項1〜4のいずれか1項に記載の画像処理装置。
  8. 複数の演算処理部および記憶部を有するコンピュータで実行される画像処理プログラムであって、前記コンピュータは、撮像装置、表示装置および入力装置に接続されており、前記記憶部には前記撮像装置により取得された画像データを処理する複数の処理単位が記憶されており、前記画像処理プログラムは、前記コンピュータを、
    前記入力部からの入力により選択された前記処理単位の組み合わせからなる処理手順を登録する処理登録手段、
    前記表示部上に複数の並列処理モードを選択可能に表示するとともに、前記入力部からの並列処理モードの選択を受付けるモード選択手段、および
    前記モード選択手段により選択された並列処理モードに従って、対象の前記処理手順に含まれる複数の処理単位の各々を前記複数の演算処理部のいずれかに割り当てる並列化手段として機能させる、画像処理プログラム。
JP2009200143A 2009-08-31 2009-08-31 画像処理装置および画像処理プログラム Active JP5353566B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009200143A JP5353566B2 (ja) 2009-08-31 2009-08-31 画像処理装置および画像処理プログラム
EP10173144.6A EP2299404B1 (en) 2009-08-31 2010-08-18 Image processing apparatus
US12/870,704 US8698815B2 (en) 2009-08-31 2010-08-27 Image processing apparatus
CN201010269904.6A CN102005025B (zh) 2009-08-31 2010-08-31 图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009200143A JP5353566B2 (ja) 2009-08-31 2009-08-31 画像処理装置および画像処理プログラム

Publications (3)

Publication Number Publication Date
JP2011053787A true JP2011053787A (ja) 2011-03-17
JP2011053787A5 JP2011053787A5 (ja) 2012-04-19
JP5353566B2 JP5353566B2 (ja) 2013-11-27

Family

ID=43465332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009200143A Active JP5353566B2 (ja) 2009-08-31 2009-08-31 画像処理装置および画像処理プログラム

Country Status (4)

Country Link
US (1) US8698815B2 (ja)
EP (1) EP2299404B1 (ja)
JP (1) JP5353566B2 (ja)
CN (1) CN102005025B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2787483A2 (en) 2013-04-05 2014-10-08 Omron Corporation Image processing device, control method, and program
JP2018005502A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
JP2018005501A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
KR20190120076A (ko) * 2018-04-13 2019-10-23 닛토덴코 가부시키가이샤 화상 식별 장치, 및 화상 식별 장치를 구비하는 물품 제조 장치
JP2020052701A (ja) * 2018-09-26 2020-04-02 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
WO2022009304A1 (ja) * 2020-07-07 2022-01-13 三菱電機株式会社 プログラム作成支援装置
JP2022031827A (ja) * 2017-01-30 2022-02-22 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
WO2023248641A1 (ja) * 2022-06-22 2023-12-28 株式会社サキコーポレーション 検査装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2577260B1 (en) 2010-06-01 2022-08-31 Ackley Machine Corp. Inspection system
FR2963093B1 (fr) * 2010-07-26 2012-08-03 Vit Installation d'inspection optique 3d de circuits electroniques
FR2963144B1 (fr) * 2010-07-26 2012-12-07 Vit Installation d'inspection optique de circuits electroniques
JP5874398B2 (ja) * 2012-01-05 2016-03-02 オムロン株式会社 画像検査装置の検査領域設定方法
JP5929238B2 (ja) * 2012-01-27 2016-06-01 オムロン株式会社 画像検査方法および画像検査装置
CN103035342B (zh) * 2012-06-12 2015-05-13 上海申茂电磁线有限公司 一种用以检测和调整云母带绕包电磁线叠包率的方法和装置
JP6482250B2 (ja) * 2014-11-20 2019-03-13 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP2019175407A (ja) * 2018-03-29 2019-10-10 パナソニック デバイスSunx株式会社 画像検査プログラムのプログラム作成装置及びプログラム作成方法、並びに作成プログラム
IL259143B1 (en) * 2018-05-03 2024-03-01 Inspekto A M V Ltd System and method for visual production line inspection of various production items
JP7148858B2 (ja) * 2018-06-07 2022-10-06 オムロン株式会社 画像処理装置、画像処理方法及び画像処理プログラム
IL267563A (en) * 2019-06-20 2019-11-28 HYATT Yonatan Establishing a process for visual inspection
JPWO2022085135A1 (ja) * 2020-10-21 2022-04-28
BE1029306B1 (de) * 2021-04-30 2023-07-14 Zebra Technologies Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen
CN115097976B (zh) * 2022-07-13 2024-03-29 北京有竹居网络技术有限公司 用于图像处理的方法、装置、设备和存储介质
CN115963723A (zh) * 2023-03-17 2023-04-14 深圳市鑫雅达机电工程有限公司 智能机电系统设备运行自动调节控制的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683608A (ja) * 1992-09-04 1994-03-25 Fujitsu Ltd プログラム解析支援装置
JP2002251603A (ja) * 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
JP2005148901A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ジョブスケジューリングシステム
JP2007128306A (ja) * 2005-11-04 2007-05-24 Omron Corp 画像処理装置
JP2008140007A (ja) * 2006-11-30 2008-06-19 Fujifilm Corp 画像処理装置及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US5999729A (en) * 1997-03-06 1999-12-07 Continuum Software, Inc. System and method for developing computer programs for execution on parallel processing systems
US6920180B1 (en) * 1998-05-29 2005-07-19 Matsushita Electric Works, Ltd. Image processing inspection apparatus
US6864092B1 (en) * 1998-08-13 2005-03-08 Symyx Technologies, Inc. Parallel reactor with internal sensing and method of using same
US6303395B1 (en) * 1999-06-01 2001-10-16 Applied Materials, Inc. Semiconductor processing techniques
US7136097B1 (en) * 1999-10-04 2006-11-14 Hamamatsu Photonics K.K. Camera system for high-speed image processing including selection of at least one frame based on processed results
US6570592B1 (en) * 1999-10-29 2003-05-27 Agilent Technologies, Inc. System and method for specifying trigger conditions of a signal measurement system using graphical elements on a graphical user interface
JP4078507B2 (ja) 2000-11-27 2008-04-23 オムロン株式会社 ビジュアル検査装置の設定データ調整方法
JP2002251610A (ja) 2001-02-26 2002-09-06 Matsushita Electric Ind Co Ltd 並列画像処理装置
US20040126840A1 (en) * 2002-12-23 2004-07-01 Affymetrix, Inc. Method, system and computer software for providing genomic ontological data
JP2004054680A (ja) * 2002-07-22 2004-02-19 Fujitsu Ltd 並列効率計算方法
US20070282480A1 (en) * 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
JP2005158780A (ja) * 2003-11-20 2005-06-16 Hitachi Ltd パターン欠陥検査方法及びその装置
JP4784827B2 (ja) * 2006-06-06 2011-10-05 学校法人早稲田大学 ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ
US8108512B2 (en) * 2006-09-01 2012-01-31 Massively Parallel Technologies, Inc. System and method for accessing and using a supercomputer
JP2008140046A (ja) * 2006-11-30 2008-06-19 Fuji Xerox Co Ltd 画像処理装置、画像処理プログラム
US8010954B2 (en) * 2007-02-14 2011-08-30 The Mathworks, Inc. Parallel programming interface to dynamically allocate program portions
US20090088883A1 (en) * 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Surface-based computing in an industrial automation environment
US8571696B2 (en) * 2009-06-10 2013-10-29 Fisher-Rosemount Systems, Inc. Methods and apparatus to predict process quality in a process control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683608A (ja) * 1992-09-04 1994-03-25 Fujitsu Ltd プログラム解析支援装置
JP2002251603A (ja) * 2001-02-23 2002-09-06 Matsushita Electric Works Ltd 画像処理プログラム作成方法およびそのシステム
JP2005148901A (ja) * 2003-11-12 2005-06-09 Hitachi Ltd ジョブスケジューリングシステム
JP2007128306A (ja) * 2005-11-04 2007-05-24 Omron Corp 画像処理装置
JP2008140007A (ja) * 2006-11-30 2008-06-19 Fujifilm Corp 画像処理装置及びプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2787483A2 (en) 2013-04-05 2014-10-08 Omron Corporation Image processing device, control method, and program
JP2014203309A (ja) * 2013-04-05 2014-10-27 オムロン株式会社 画像処理装置、制御方法およびプログラム
JP2018005502A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
JP2018005501A (ja) * 2016-06-30 2018-01-11 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
JP2022031827A (ja) * 2017-01-30 2022-02-22 オムロン株式会社 画像処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
KR20190120076A (ko) * 2018-04-13 2019-10-23 닛토덴코 가부시키가이샤 화상 식별 장치, 및 화상 식별 장치를 구비하는 물품 제조 장치
JP2019184489A (ja) * 2018-04-13 2019-10-24 日東電工株式会社 画像識別装置、及び画像識別装置を備える物品製造装置
KR102649500B1 (ko) 2018-04-13 2024-03-21 닛토덴코 가부시키가이샤 화상 식별 장치, 및 화상 식별 장치를 구비하는 물품 제조 장치
JP2020052701A (ja) * 2018-09-26 2020-04-02 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
JP7314491B2 (ja) 2018-09-26 2023-07-26 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
WO2022009304A1 (ja) * 2020-07-07 2022-01-13 三菱電機株式会社 プログラム作成支援装置
WO2023248641A1 (ja) * 2022-06-22 2023-12-28 株式会社サキコーポレーション 検査装置

Also Published As

Publication number Publication date
CN102005025A (zh) 2011-04-06
JP5353566B2 (ja) 2013-11-27
US20110050889A1 (en) 2011-03-03
EP2299404B1 (en) 2019-04-10
CN102005025B (zh) 2015-02-11
US8698815B2 (en) 2014-04-15
EP2299404A1 (en) 2011-03-23

Similar Documents

Publication Publication Date Title
JP5353566B2 (ja) 画像処理装置および画像処理プログラム
JP2011163766A (ja) 画像処理方法および画像処理システム
JP2014203309A (ja) 画像処理装置、制御方法およびプログラム
JP2009168581A (ja) 被検査体の検査装置
JP2005062148A (ja) 平坦なパターン形成済み媒体検査用の方法と装置
JP2011049980A (ja) 画像処理プログラムおよび画像処理装置
US10935500B2 (en) Welding monitoring system and welding monitoring method
JP2010256338A (ja) 撮像検査装置および撮像検査方法
WO2013161384A1 (ja) 画像処理システム、画像処理方法および画像処理プログラム
KR101501129B1 (ko) 기판 검사 장치
JP2011211678A (ja) 画像処理装置および画像処理プログラム
US20220198168A1 (en) Optical reading device
JP2017128832A (ja) 織布オンライン検査装置
JP2011191943A (ja) 画像処理装置および画像処理プログラム
JP2011112379A (ja) 画像処理装置および画像処理プログラム
KR20220088312A (ko) 표시 장치, 표시 방법 및 기억 매체
JP2013148380A (ja) 外観検査装置
JP2011002280A (ja) 欠陥検査方法
WO2021009884A1 (ja) 検査装置および検査用画像の撮像方法
US20060274328A1 (en) Image measuring method, image measuring system and image measuring program
JP5353154B2 (ja) 画像処理装置およびそれにおける画像処理方法
JP2009168580A (ja) 被検査体の検査装置
US9396055B2 (en) Electronic device and log recording method
JPWO2019186974A1 (ja) 画像識別レジ装置、画像識別レジシステム、商品情報表示方法、およびプログラム
JP6073655B2 (ja) 中心位置検出方法および中心位置検出装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Ref document number: 5353566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150