JP7146367B2 - 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP7146367B2
JP7146367B2 JP2017013910A JP2017013910A JP7146367B2 JP 7146367 B2 JP7146367 B2 JP 7146367B2 JP 2017013910 A JP2017013910 A JP 2017013910A JP 2017013910 A JP2017013910 A JP 2017013910A JP 7146367 B2 JP7146367 B2 JP 7146367B2
Authority
JP
Japan
Prior art keywords
execution
image processing
control device
image
unit
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.)
Active
Application number
JP2017013910A
Other languages
English (en)
Other versions
JP2018124607A (ja
Inventor
俊規 玉井
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
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 filed Critical Omron Corp
Priority to JP2017013910A priority Critical patent/JP7146367B2/ja
Priority to US15/785,600 priority patent/US10621455B2/en
Priority to DE102017124939.7A priority patent/DE102017124939A1/de
Publication of JP2018124607A publication Critical patent/JP2018124607A/ja
Application granted granted Critical
Publication of JP7146367B2 publication Critical patent/JP7146367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Image Analysis (AREA)

Description

本開示は、ユーザによって組み合わされた画像処理の実行主体を最適化するための技術に関するものである。
FA(Factory Automation)分野において、ワークを自動で検査するための技術が普及している。ワークの検査処理は、様々な画像処理の組み合わせによって実現される。このような画像処理の組み合わせをユーザ自身で設定するためのユーザインターフェイスを提供するアプリケーションが開発されている。
このようなアプリケーションに関し、特開2014-203309号公報(特許文献1)は、「ユーザが有している特定のアプリケーション画像処理についての知識を利用して、より効率かつ高速な画像処理を実現できる」画像処理装置を開示している。特許文献1によれば、ユーザは、異なる画像処理が定義された複数の処理項目の中から所望の処理項目を選択し、当該処理項目をユーザインターフェイス上に並べて配置し、その並び順に応じた実行順序で各処理項目が実行される。ユーザは、処理項目の組み合わせを変えることで任意の検査処理を実現することができる。以下では、ユーザによって組み合わされた処理項目で実現される一連の画像処理群を「ユーザ設定の処理フロー」ともいう。
特開2014-203309号公報
ユーザ設定の処理フローは、たとえば、画像センサなどの画像処理装置によって実行される。画像処理装置の中には、CPU(Central Processing Unit)やFPGA(Field Programmable Gate Array)などの複数種類の制御装置が搭載されているものがある。ユーザ設定の処理フローに含まれる各画像処理が複数種類の制御装置によって協働して実行されることで、処理の高速化が実現される。このとき、各画像処理の最適な実行主体は、画像処理の組み合わせや画像処理の実行順序など様々な要因に応じて変わる。そのため、ユーザ設定の処理フローにおける各画像処理について実行主体を指定するための技術が望まれている。
ある局面に従うと、画像処理システムは、第1制御装置と、上記第1制御装置とは異なる種類の第2制御装置と、上記第1制御装置または上記第2制御装置によって実行され得る複数の画像処理を含むライブラリを格納するための記憶部と、上記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、上記実行順序に従って上記選択対象の各画像処理を表示するための表示部とを備える。上記操作部は、上記表示部に表示されている上記選択対象の各画像処理について上記第1制御装置および上記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付ける。
好ましくは、上記ライブラリは、上記第1制御装置によって実行され得る第1画像処理群と、上記第1画像処理群の各画像処理と同じ処理内容であって、上記第2制御装置によって実行され得る第2画像処理群とを含む。
好ましくは、上記記憶部は、上記第1制御装置および上記第2制御装置の各々による上記複数の画像処理の各々の実行時間を規定した実行時間情報さらに格納する。上記画像処理システムは、上記実行時間情報に基づいて、上記操作部によって指定された組み合わせの実行主体で上記選択対象の各画像処理を処理した場合の実行時間を推定するための推定部をさらに備える。上記表示部は、上記推定部によって推定された上記実行時間をさらに表示する。
好ましくは、上記推定部は、上記実行主体の指定が変更される度に上記実行時間を推定する。上記表示部は、上記実行主体の指定操作に連動して上記実行時間の表示を更新する。
好ましくは、上記第1制御装置および上記第2制御装置のいずれか一方は、FPGAを含む。上記表示部は、上記選択対象の各画像処理を上記実行順序に従って上記指定された実行主体で実行した場合に上記FPGAにおいて生じる回路再構成の回数をさらに表示する。
好ましくは、上記画像処理システムは、上記指定された実行主体の組み合わせを維持した状態で上記選択対象の各画像処理の実行順序を最適化するための最適化部をさらに備える。
他の局面に従うと、第1制御装置と当該第1制御装置とは異なる種類の第2制御装置とを備える画像処理装置と通信可能に構成されている情報処理装置は、上記第1制御装置または上記第2制御装置によって実行され得る複数の画像処理を含むライブラリを格納するための記憶部と、上記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、上記実行順序に従って上記選択対象の各画像処理を表示するための表示部とを備える。上記操作部は、上記表示部に表示されている上記選択対象の各画像処理について上記第1制御装置および上記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付ける。
他の局面に従うと、情報処理方法は、第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリを準備するステップと、上記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、上記実行順序に従って上記選択対象の各画像処理を表示するステップと、表示されている上記選択対象の各画像処理について上記第1制御装置および上記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップとを備える。
他の局面に従うと、情報処理プログラムは、情報処理装置に、第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリを準備するステップと、上記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、上記実行順序に従って上記選択対象の各画像処理を表示するステップと、表示されている上記選択対象の各画像処理について上記第1制御装置および上記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップとを実行させる。
ある局面において、ユーザ設定の処理フローにおける各画像処理について実行主体を指定することができる。
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
第1の実施の形態に従う画像処理システムのシステム構成の一例を示す図である。 ユーザが処理フローを設定する過程の一例を概略的に示す概念図である。 第1の実施の形態に従う画像処理装置による処理フローの実行時間を示している。 第1の実施の形態に従う画像処理システムの全体構成を示す模式図である。 第1の実施の形態に従う管理装置の機能構成の一例を示す図である。 設定部によって提供されるユーザインターフェイスを示す図である。 ライブラリのデータ構造の一例を示す図である。 実行時間情報のデータ構造の一例を示す図である。 実行データのデータ構造の一例を示す図である。 第1の実施の形態に従う管理装置が実行する処理の一部を表わすフローチャートである。 第1の実施の形態に従う画像処理装置が実行する処理の一部を表わすフローチャートである。 第1の実施の形態に従う管理装置の主要なハードウェア構成を示すブロック図である。 第1の実施の形態に従う画像処理装置および表示設定器の主要なハードウェア構成を示すブロック図である。 第2の実施の形態に従う管理装置の機能構成の一例を示す図である。 実行主体を指定するためのユーザインターフェイスの一例を示す図である。 実行主体を指定するためのユーザインターフェイスの一例を示す図である。 実行主体を指定するためのユーザインターフェイスの変形例を示す図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<第1の実施の形態>
[A.概要]
図1~図3を参照して、本実施の形態に従う画像処理システム1の概要について説明する。図1は、本実施の形態に従う画像処理システム1のシステム構成の一例を示す図である。画像処理システム1は、典型的には、生産ラインなどに組み込まれる。画像処理システム1は、生産ライン上を搬送される検査対象のワークを撮像することによって得られる画像に基づいて、文字の認識やキズの検査といった処理(以下、「計測処理」ともいう。)を実行する。
図1に示す例において、画像処理システム1は、情報処理装置の一例である管理装置100と、管理装置100に通信可能に構成されている1つ以上の画像処理装置200とを含む。たとえば、ワークはベルトコンベヤなどの搬送機構によって所定方向に搬送され、それぞれの画像処理装置200は、この搬送経路に相対して予め定められた位置に配置される。
画像処理装置200は、撮像部と、画像処理機能を実現するための機能モジュールを複数含むライブラリを格納する記憶装置と、少なくとも1つの機能モジュール(典型的には、プログラムモジュール)を実行することで、撮像部から得られる画像を処理する処理部とを含む。各機能モジュールは、画像処理装置200において何らかの画像処理機能を実現するための命令コードや実行モジュールなどを含む。ユーザは、ライブラリに含まれる画像処理を任意に組み合わせることで様々な計測処理を実現することができる。画像処理装置200は、CPUやFPGAなどの複数種類の制御装置で協働して計測処理を実行することで処理時間を短縮することができる。
図2を参照して、所望の計測処理を実現するための処理フローを設定する過程について説明する。図2は、ユーザが処理フローを設定する過程の一例を概略的に示す概念図である。
ステップS1において、管理装置100の表示部において、複数の画像処理を含むライブラリ110が一覧表示される。ユーザは、キーボードやマウスなどの操作部を操作することで、ライブラリ110から1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを行う。画像処理の実行順序は、たとえば、選択対象の画像処理の並び順によって指定される。
図2の例では、ライブラリ110から選択された画像処理群によって処理フロー111が設定されている。図3は、処理フロー111の実行時間を示している。
図3(A)に示されるように、処理フロー111が画像処理装置200のCPUのみで実行された場合には、実行時間は「ΔT1」となる。図3(B)に示されるように、処理フロー111が画像処理装置200のFPGAのみで実行された場合には、実行時間は「ΔT2」となる。図3(C)に示されるように、処理フロー111が画像処理装置200のCPUおよびFPGAで協働して実行された場合には、実行時間は「ΔT3」となる(ΔT3<ΔT1,ΔT2)。
FPGAの処理速度は、典型的には、CPUの処理速度よりも速いが、FPGAの中には、処理の実行中に回路構成を動的に再構成する機能(所謂PR:Partial Reconfiguration)を有するものがある。FPGAの回路が適宜再構成されることで、FPGAの回路規模を仮想的に拡張することができる。しかしながら、FPGAの再構成が頻繁に行われると、再構成のための時間が長くなり、処理フロー111の実行時間が想定よりも長くなることがある。ユーザ設定の各画像処理がCPUおよびFPGAで協働して実行されることで、処理フロー111の実行時間が短縮される。
処理フロー111に含まれる各画像処理を実行する最適な実行主体は、画像処理の組み合わせや画像処理の実行順序など様々な要因に応じて変わる。そのため、本実施の形態に従う画像処理システム1は、処理フロー111に含まれる各画像処理に対して実行主体を指定することが可能な環境を提供する。
より具体的には、ステップS2において、管理装置100の表示部105は、処理フロー111に含まれる各画像処理について、CPU(第1制御装置)およびFPGA(第2制御装置)のいずれかを実行主体として指定する操作を受け付けるためのユーザインターフェイス140を表示する。実行主体の指定領域112は、処理フロー111に並べて表示される。図2の例では、指定領域112において、セレクトボックス112Aが実行主体の指定を受け付けるオブジェクトとして示されている。セレクトボックス112Aは、処理フロー111における対応する画像処理項目に並べて表示される。セレクトボックス112Aが選択されると、メニュー112Bが展開される。ユーザは、メニュー112Bに示される項目のいずれかを選択することができる。
ステップS3において、管理装置100は、指定された実行主体の組み合わせの良否についてシミュレーションする。その結果、シミュレーション結果113,114が表示される。
シミュレーション結果113は、たとえば、実行主体の指定前後における処理フロー111の類似度と、実行主体の指定前後における出力結果の変化の度合いを表わす安定度と、指定された実行主体の組み合わせで処理フロー111を実行した場合にかかる実行時間とを含む。好ましくは、管理装置100は、指定領域112における実行主体の指定操作に連動してシミュレーション結果113を更新する。すなわち、シミュレーション結果113は、実行主体の指定が変更される度に更新される。これにより、ユーザは、指定した実行主体の組み合わせの良否を判断しやすくなる。
シミュレーション結果114は、たとえば、指定された実行主体で処理フロー111を実行した場合に画像処理装置200のFPGAにおいて生じる回路再構成の回数を含む。管理装置100は、処理フロー111に対するFPGAの設定数が多いほど、回路再構成の回数を多くする。一例として、管理装置100は、処理フロー111に対するFPGAの設定数を予め定められた値で除算することで回路再構成の回数を算出する。当該予め定められた値は、FPGAの再構成が生じるFPGAの設定数に相当する。
また、シミュレーション結果114は、FPGAの空きリソースを表わすFPGA残量をさらに含む。管理装置100は、処理フロー111に対するFPGAの設定数が多いほど、FPGA残量を少なくなる。一例として、管理装置100は、予め定められた値から、処理フロー111に対するFPGAの設定数を減算することでFPGA残量を算出する。当該予め定められた値は、FPGAの再構成が生じるFPGAの設定数に相当する。算出されたFPGA残量がゼロを下回っている場合には、当該FPGA残量は、ゼロに設定される。あるいは、FPGA残量は、処理フロー111に対してFPGAが設定される度に所定数(たとえば、1)ずつ減算され、FPGA残量がゼロを下回る度に上記予め定められた値にリフレッシュされる。
好ましくは、管理装置100は、指定領域112における実行主体の指定操作に連動してシミュレーション結果114を更新する。すなわち、シミュレーション結果114は、実行主体の指定が変更される度に更新される。これにより、ユーザは、指定した実行主体の組み合わせの良否を判断しやすくなる。
ユーザがOKボタン118を押下した場合には、管理装置100は、指定された実行主体の組み合わせを反映した上で処理を終了する。ユーザがキャンセルボタン119を押下した場合には、管理装置100は、指定された実行主体の組み合わせを反映せずに処理を終了する。
なお、上述では、画像処理装置200の制御装置として、CPUおよびFPGAを例に挙げて説明を行ったが、画像処理装置200の制御装置は、これらに限定されない。たとえば、画像処理装置200の制御装置は、DSP(Digital Signal Processor)やGPU(Graphics Processing Unit)などのその他のハードウェアであってもよい。
また、上述では、画像処理装置200が2種類の制御装置(すなわち、CPUおよびFPGA)で構成されている例について説明を行ったが、画像処理装置200は、3種類以上の制御装置で構成されてもよい。
[B.システム全体構成]
次に、本実施の形態に従う画像処理システム1の全体構成について説明する。図4は、画像処理システム1の全体構成を示す模式図である。図4を参照して、画像処理システム1は、管理装置100と、管理装置100とネットワーク2を介して接続される1つ以上の画像処理装置200および表示設定器300を含む。画像処理装置200には、PLC(Programmable Logic Controller)400が接続される。
表示設定器300は、たとえば、画像処理装置200に対して実行される画像処理のパラメータなどの設定、および、画像処理装置200での画像処理の実行により得られる検査結果などを表示する。
PLC400は、画像処理装置200との間でタイミング信号や結果情報などを遣り取りする。PLC400は、他の装置からの信号を受信したり、当該他の装置に信号を送信したりすることによって、画像処理システム1の全体制御を行うこともできる。
PLC400は、ネットワーク2を介して画像処理装置200と接続されてもよいし、表示設定器300は、画像処理装置200と直接的に接続されてもよい。
図4に示す画像処理システム1において、画像処理装置200の各々は、PLC400などからのトリガー信号に応答して、その視野範囲にある被写体を撮像するとともに、その撮像によって得られた画像を処理することで、計測処理を実行する。この計測処理は、所定周期で繰り返されてもよいし、PLC400などからのトリガー信号に応答してイベント的に実行されてもよい。画像処理装置200で実行される画像処理としては、上述したように適宜入れ替えが可能になっている。そのため、図1に示すように、同一の生産ラインに複数の画像処理装置200を並べて配置した場合には、同一の検査対象に対して、それぞれの画像処理装置200が異なる画像処理を行って、その計測結果をそれぞれ出力するようにしてもよい。
[C.管理装置100の機能構成]
図5~図9を参照して、管理装置100の機能について説明する。図5は、管理装置100の機能構成の一例を示す図である。
図5に示されるように、管理装置100は、主要なハードウェア構成として、制御装置101と、記憶装置103とを含む。制御装置101は、機能構成として、設定部152,154と、推定部156と、生成部160とを含む。以下では、これらの機能構成について順に説明する。
(C1.設定部152)
設定部152は、予め準備された複数の画像処理を含むライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるためのユーザインターフェイスを提供する。図6は、設定部152によって提供されるユーザインターフェイス180を示す図である。
ユーザインターフェイス180は、たとえば、管理装置100の表示部105に表示される。ユーザインターフェイス180は、設定済項目表示領域181と、処理項目選択領域182と、カメラ画像表示領域183と、処理項目挿入/追加ボタン184と、実行順序入替ボタン185とを含む。設定済項目表示領域181には、現在設定されている処理設定の内容がグラフィカルに表示される。処理項目選択領域182には、選択可能な処理項目を示すアイコンがその名称とともに一覧表示される。
ユーザは、ユーザインターフェイス180の処理項目選択領域182において、目的の画像処理に必要な処理項目を選択する((1)処理項目を選択)とともに、設定済項目表示領域181において選択した処理項目を追加すべき位置(順序)を選択する(追加位置)。そして、ユーザが処理項目挿入/追加ボタン184を選択する((3)挿入/追加ボタンを押す)と、処理項目が追加される((4)処理項目が追加される)。処理項目追加後の処理設定の内容は、設定済項目表示領域181に反映される。
ユーザは、この処理を適宜繰り返すことで目的の計測処理を実現するための処理フローを作成する。また、ユーザは、処理設定の作成中または作成完了後に、設定済項目表示領域181において処理項目を選択した上で、実行順序入替ボタン185を選択することで、実行順序を適宜変更することもできる。
設定部152は、選択可能な処理項目として、ライブラリ110に含まれる画像処理を処理項目選択領域182に表示する。図7を参照して、ライブラリ110について説明する。図7は、ライブラリ110のデータ構造の一例を示す図である。
図7に示されるように、ライブラリ110は、各画像処理を識別するための項目群110Aと、画像処理装置200のCPUによって実行され得る画像処理群110B(第1画像処理群)と、画像処理装置200のFPGAによって実行され得る画像処理群110C(第2画像処理群)とを含む。画像処理群110Bと画像処理群110Cとは、互いに同じ処理内容である。ここでいう「同じ処理内容」とは、所定の入力に対して得られる結果が同じまたは略同じになる処理のことをいう。CPUおよびFPGAのそれぞれについて同じまたは略同じ画像処理が準備されていることで、CPUおよびFPGAのいずれでもライブラリ110に含まれる各画像処理を実行することができる。
画像処理群110B,110Cは、たとえば、機能モジュール(典型的には、プログラムモジュール)である。各機能モジュールは、画像処理を実現するための命令コードや実行モジュールなどを含む。
(C2.設定部154)
設定部154は、ユーザ設定の処理フローに含まれる各画像処理に対して、実行主体の指定を受け付けるためのユーザインターフェイス140を提供する。ユーザインターフェイス140については、図2で説明した通りであるので、その説明については繰り返さない。
設定部154は、ユーザインターフェイス140において設定された実行主体の組み合わせを推定部156および生成部160に出力する。
なお、設定部154によって提供されるユーザインターフェイス140は、設定部152によって提供されるユーザインターフェイス180と一体的に構成されてもよいし、別個に構成されてもよい。
(C3.推定部156)
再び図5を参照して、推定部156は、ユーザインターフェイス140において指定された実行主体の組み合わせでユーザ設定の処理フロー111を処理した場合の実行時間を推定する。当該実行時間は、たとえば、図8に示される実行時間情報120に基づいて推定される。図8は、実行時間情報120のデータ構造の一例を示す図である。
図8に示されるように、実行時間情報120は、上述のライブラリ110(図7参照)に規定される各画像処理の実行時間を画像処理装置200の制御装置の種類ごとに規定している。図8の例では、CPUによる各画像処理の実行時間と、FPGAによる各画像処理の実行時間とが規定されている。実行時間情報120に規定される各実行時間は、実験やシミュレーションなどによって予め求められている。
推定部156は、実行時間情報120に規定される項目群の内から、ユーザ設定の処理フロー111に含まれる各画像処理に対応する項目群を特定する。次に、推定部156は、当該特定した項目群に対応付けられており、かつ、指定された実行主体に対応付けられている実行時間を積算する。算出された実行時間は、シミュレーション結果として管理装置100の表示部105に表示される。推定部156は、処理フロー111を実行せずに処理フロー111の実行時間を推定することができるので、推定処理に要する処理時間が短縮される。
なお、上述では、処理フロー111の実行時間が実行時間情報120に基づいて推定される例について説明を行ったが、当該実行時間は、他の方法で推定されてもよい。一例として、推定部156は、指定された実行主体の組み合わせで処理フロー111を実際に実行することで、処理フロー111の実行時間を計測してもよい。これにより、処理フロー111の実行時間がより正確に計測される。
(C4.生成部160)
生成部160は、図9に示される実行データ122を生成する。図9は、実行データ122のデータ構造の一例を示す図である。
実行データ122は、処理フロー111に含まれる各画像処理の実行順序、各画像処理の識別情報(たとえば、項目名や画像処理IDなど)、および各画像処理の実行主体などを規定している。生成部160によって生成された実行データ122は、指定された画像処理装置200に送信される。
画像処理装置200は、管理装置100から実行データ122を受信すると、当該実行データ122を記憶する。画像処理装置200は、計測処理の実行指示を受け付けたことに基づいて、記憶している実行データ122を参照し、実行データ122に規定されている実行主体の組み合わせで処理フロー111を実行する。より具体的には、画像処理装置200は、管理装置100にインストールされているライブラリの全部または一部を予め格納しており、実行データ122に規定されている画像処理の識別情報および実行順序に従って必要な機能モジュールをライブラリから順次読み込む。このとき、画像処理装置200は、実行データ122に規定されている実行主体の組み合わせに従って各機能モジュールの実行主体を順次切り替える。
[D.画像処理システム1の制御構造]
図10および図11を参照して、画像処理システム1の制御構造について説明する。
図10は、管理装置100が実行する処理の一部を表わすフローチャートである。図10の処理は、管理装置100の制御装置101(図5参照)がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
図11は、画像処理装置200が実行する処理の一部を表わすフローチャートである。図11の処理は、画像処理装置200の制御装置220(図13参照)がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
以下では、図10および図11に示される処理のフローについて順に説明する。
(D1.管理装置100の制御構造)
ステップS110において、制御装置101は、上述の設定部152(図5参照)として、処理フローを設定するためのユーザインターフェイス180(図6参照)を提供する。ユーザインターフェイス180は、ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付ける。これらの操作は、たとえば、後述の操作部106(図12参照)が受け付ける。画像処理の選択操作と実行順序の指定操作とが繰り返されることで、任意の処理フローが設定される。
ステップS130において、制御装置101は、ユーザ設定の処理フローに対して実行主体を最適化する操作を受け付けたか否かを判断する。当該操作は、たとえば、最適化モードに切り替えるための所定のボタンがユーザインターフェイス180上で押下されたにより行われる。制御装置101は、当該操作を受け付けたと判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、制御装置101は、制御をステップS144に切り替える。
ステップS132において、制御装置101は、上述の設定部154(図5参照)として、ユーザ設定の処理フローに含まれる各画像処理について実行主体を指定するためのユーザインターフェイス140(図2参照)を提供する。ユーザインターフェイス140に対する操作は、たとえば、後述の操作部106(図12参照)が受け付ける。
ステップS134において、制御装置101は、上述の推定部156(図5参照)として、ステップS132において指定された実行主体の組み合わせでユーザ設定の処理フローを実行した場合の実行時間を推定する。当該推定方法は図8で説明した通りであるので、その説明については繰り返さない。
ステップS140において、制御装置101は、ステップS134で特定された実行主体の組み合わせを反映する操作を受け付けたか否かを判断する。当該操作は、たとえば、図2に示されるOKボタン118の押下操作により受け付けられる。制御装置101は、ステップS134で特定された実行主体の組み合わせを反映する操作を受け付けたと判断した場合(ステップS140においてYES)、制御をステップS142に切り替える。そうでない場合には(ステップS140においてNO)、制御装置101は、制御をステップS144に切り替える。
ステップS142において、制御装置101は、上述の生成部160(図5参照)として、ステップS134で特定された実行主体の組み合わせでユーザ設定の処理フローが実行されるように実行データ122(図9参照)を生成する。
ステップS144において、制御装置101は、予め定められたルールに従ってユーザ設定の処理フローの実行主体の組み合わせを決定し、当該実行主体の組み合わせでユーザ設定の処理フローが実行されるように実行データ122を生成する。
(D2.画像処理装置200の制御構造)
次に、図11を参照して、画像処理装置200の制御構造について説明する。
ステップS210において、制御装置220は、管理装置100から実行データ122(図9参照)を受信したか否かを判断する。制御装置220は、管理装置100から実行データ122を受信したと判断した場合(ステップS210においてYES)、制御をステップS212に切り替える。そうでない場合には(ステップS210においてNO)、制御装置220は、制御をステップS220に切り替える。
ステップS212において、制御装置220は、ステップS210で管理装置100から受信した実行データ122を画像処理装置200の記憶装置222(図13参照)に格納する。
ステップS220において、制御装置220は、計測処理の実行指示を受け付けたか否かを判断する。当該指示は、画像処理装置200の撮像部がワークの撮影処理を実行したタイミングなどに発せられる。制御装置220は、計測処理の実行指示を受け付けたと判断した場合(ステップS220においてYES)、制御をステップS222に切り替える。そうでない場合には(ステップS220においてNO)、制御装置220は、制御をステップS210に戻す。
ステップS222において、制御装置220は、ステップS212で格納した実行データ122を参照し、実行データ122に規定されている実行主体の組み合わせで処理フロー111を実行する。より具体的には、制御装置220は、管理装置100にインストールされているライブラリの全部または一部を予め格納しており、実行データ122に規定されている画像処理の識別情報および実行順序に従って必要な機能モジュールを当該ライブラリから順次読み込む。このとき、制御装置220は、実行データ122に規定されている実行主体の組み合わせに従って各機能モジュールの実行主体を順次切り替える。
[E.画像処理システム1の装置構成]
図12および図13を参照して、画像処理システム1を構成するそれぞれの装置の構成について説明する。図12は、管理装置100の主要なハードウェア構成を示すブロック図である。図13は、画像処理装置200および表示設定器300の主要なハードウェア構成を示すブロック図である。
(E1:管理装置100)
管理装置100は、たとえば、汎用のコンピュータで実現される。管理装置100を実現するコンピュータは、制御装置101と、メモリ102と、HDD(Hard Disk Drive)などの記憶装置103と、ネットワークインターフェイス(I/F)104と、表示部105と、操作部106と、メモリカードリーダ・ライタ107とを含む。これらの各部は、内部バス108を介して、互いに通信可能に接続されている。
制御装置101は、記憶装置103などに格納されているプログラム(命令コード)をメモリ102へ展開した上で実行することで、上述の各種機能を実現する。メモリ102および記憶装置103は、それぞれ揮発的および不揮発的にデータを格納する。記憶装置103は、OS(Operating System)に加えて、アプリケーション103A、上述のライブラリ110(図7参照)、および、上述の実行時間情報120(図8参照)を保持している。
アプリケーション103Aは、上述のユーザインターフェイス140,180(図6参照)を提供する基本プログラムである。ライブラリ110は、ユーザ操作に応じてその全部または一部が画像処理装置200へ送信される。すなわち、画像処理装置200の記憶装置222に格納されるライブラリ222B(図13参照)は、管理装置100の記憶装置103に格納されるライブラリ110の少なくとも部分集合である。
ネットワークインターフェイス104は、ネットワーク2(図1参照)を介して、管理装置100と画像処理装置200との間でデータを遣り取りする。
表示部105は、制御装置101がアプリケーション103Aを実行することで実現される設定操作画面(たとえば、ユーザインターフェイス140,180)などを表示する。表示部105は、LCD(Liquid Crystal Display)といったディスプレイなどからなる。
操作部106は、ユーザ操作を受け付け、その受け付けた操作を示す内部指令を制御装置101などへ出力する。操作部106は、典型的には、キーボード、マウス、タッチパネル、タブレット、音声認識装置などからなる。
メモリカードリーダ・ライタ107は、メモリカード107Aからデータを読み出し、およびメモリカード107Aへデータを書き込む。メモリカード107Aとしては、SD(Secure Digital)カードなどの公知の記録媒体を採用できる。
(E2:画像処理装置200)
次に、図13を参照して、画像処理装置200の装置構成について説明する。画像処理装置200は、照明部210と、制御装置220と、撮像部230とを含む。
照明部210は、検査対象であるワーク500に撮像に必要な光を照射する。つまり、照明部210は、撮像部230の撮像範囲に光を照射する。より具体的には、照明部210は、照明基板上に設けられる複数の照明制御ユニット211を含む。これらのユニットは、照明基板上に配置される。照明制御ユニット211の各々は、照明レンズ212と、LED213とを含む。照明制御ユニット211は、制御装置220からの指令に従って、光を照射する。より具体的には、LED213で発生した光は、照明レンズ212を通じてワーク500へ照射される。
撮像部230は、照明部210が照射した光の反射光を受けて、画像信号を出力する。この画像信号は、制御装置220へ送られる。より具体的には、撮像部230は、撮像レンズ231などの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの複数の画素に区画された撮像素子232を含む。
制御装置220は、画像処理装置200の全体を制御する。すなわち、制御装置220は、照明部210および撮像部230を制御するとともに、撮像部230からの画像信号に基づいて画像処理を行う。より具体的には、制御装置220は、処理部221と、記憶装置222と、ネットワーク通信部223と、外部入出力部225とを含む。
処理部221は、CPU121AやFPGA121Bといった集積回路によって構成される。あるいは、処理部221は、DSP、GPU、ASIC(Application Specific Integrated Circuit)、その他の集積回路によって構成されてもよい。
記憶装置222は、ROM(Read Only Memory)、フラッシュメモリ、HDD、およびSSD(Static Silicon Disk)といった不揮発性記憶装置、および/または、RAM(Random Access Memory)などの不揮発メモリを含む。典型的に、処理部221が記憶装置222に格納されたプログラム(命令コード)やモジュールなどを実行することで、各種画像処理を実現する。
このようなプログラム(命令コード)やモジュールなどは、記憶装置222のうち不揮発性メモリに格納され、不揮発性メモリから読み出されたプログラム、プログラムの実行に必要なワークデータ、撮像部230によって取得された画像データ、および計測結果を示すデータなどは、記憶装置222のうち揮発性メモリに格納される。
より具体的には、記憶装置222は、本体プログラム222Aと、種々の機能モジュール(画像処理)を含むライブラリ222Bとを含む。
本体プログラム222Aは、画像処理装置200の基本的な動作を実現するための基本プログラムであり、OSおよび基本的なアプリケーションを含み得る。ライブラリ222Bは、画像処理装置200が提供する画像処理機能を実現するための複数のプログラム(典型的には、命令コードおよび/またはライブラリ)からなる。画像処理装置200で実行可能な画像処理機能に応じた数だけインストールされる。上述のように、ライブラリ222Bは、管理装置100の記憶装置103に格納されるライブラリ110の少なくとも部分集合である。
ネットワーク通信部223は、ネットワーク2を介して、管理装置100および表示設定器300などとデータを遣り取りするためのインターフェイスである。より具体的には、ネットワーク通信部223は、Ethernet(登録商標)などに従う構成が採用される。外部入出力部225は、PLC400との間で各種データ(入力データおよび/または出力データ)を遣り取りするためのインターフェイスである。
(E3:表示設定器300)
引き続き図13を参照して、表示設定器300は、表示部301と、表示制御部302と、処理部303と、通信部304と、操作部305と、メモリカードリーダ・ライタ306と、記憶装置308とを含む。
表示部301は、接続先の画像処理装置200に対して実行される画像処理のパラメータなどを設定するための画面、画像処理装置200での画像処理の実行により得られる検査結果を示す画面などを表示する。表示部301は、典型的には、LCD(Liquid Crystal Display)といったディスプレイなどからなる。表示制御部302は、処理部303からの指示に従って、表示部301に画像を表示させるための処理を行う。
処理部303は、画像処理装置200からの指示/命令に従って、表示部301に表示されるべき画像を生成する処理を行うとともに、操作部305を介したユーザ入力に応答して、その入力値を画像処理装置200へ送出する。
記憶装置308は、ROM、フラッシュメモリ、HDD、およびSSDといった不揮発性記憶装置、および/または、RAMなどの不揮発メモリを含む。記憶装置308は、部品データ308Aとして、画面表示に用いるオブジェクトを格納している。処理部303がこれらの部品データ308Aを利用することで、画面表示を行う。
通信部304は、画像処理装置200などとの間でデータを遣り取りするためのインターフェイスである。
操作部305は、ユーザ操作を受け付け、その受け付けた操作を示す内部指令を処理部303などへ出力する。操作部305は、典型的には、表示部301の表面に配置されるタッチパネル(感圧センサ)、ボタンおよびキーなどからなる。
メモリカードリーダ・ライタ306は、メモリカード310からデータを読み出し、およびメモリカード310へデータを書き込む。メモリカード310としては、SDカードなどの公知の記録媒体を採用できる。
[F.第1の実施の形態のまとめ]
以上のようにして、管理装置100は、ユーザ設定の処理フローに含まれる各画像処理に対して実行主体として指定するユーザインターフェイス140を提供する。指定可能な実行主体は、たとえば、画像処理装置200のCPUまたはFPGAである。実行主体が指定されることにより、ユーザは、ユーザ設定の処理フローの各画像処理について実行主体を最適化することができる。
特に、このような実行主体の最適化は、処理フローがユーザによって設定される環境下では有利に働く。すなわち、複写機やテレビなど装置が特定されている場合には、最適な実行主体が予め分かり、実行主体を変える必要がない。しかしながら、本実施の形態に従う画像処理システム1は、処理フローを設定することが可能な環境をユーザに提供し、様々な画像処理装置200に対して任意の処理フローを設定することができる。そのため、最適な実行主体は、画像処理装置200の種類や設定された処理フローの内容などによって変化する。
一例として、最適な実行主体は、入力画像のサイズに応じて変化する。一般的に、入力画像のサイズが小さければ、CPUの処理速度の方がFPGAの処理速度よりも速い。一方で、入力画像のサイズが大きければ、FPGAの処理速度の方がCPUの処理速度よりも速い。その他にも、最適な実行主体は、入力画像の種類(たとえば、モノクロ画像、カラー画像)や、入力画像に適用するフィルタのサイズなどによって変化する。本実施の形態に従う管理装置100は、任意に設定される各画像処理に対して、任意の実行主体を指定することができる。このような実行主体の指定は、回路再構成の機能を有するFPGAが搭載されている場合において、特に効果的となる。
<第2の実施の形態>
[A.概要]
第1の実施の形態においては、ユーザ設定の処理フローの各画像処理に対して実行主体が指定されることで、実行主体が最適化されていた。これに対して、第2の実施の形態に従う画像処理システム1は、ユーザ設定の処理フローにおける実行主体を最適化するだけでなく、ユーザ設定の処理フローにおける各画像処理の実行順序をさらに最適化する。
第2の実施の形態に従う画像処理システム1におけるその他の点については第1の実施の形態に従う画像処理システム1と同じであるので、以下では、それらの説明については繰り返さない。
[B.管理装置100の機能構成]
図14および図15を参照して、第2の実施の形態に従う管理装置100の機能について説明する。図14は、第2の実施の形態に従う管理装置100の機能構成の一例を示す図である。
図14に示されるように、管理装置100は、主要なハードウェア構成として、制御装置101と、記憶装置103とを含む。制御装置101は、機能構成として、設定部152,154と、推定部156と、最適化部158と、生成部160とを含む。
最適化部158以外の機能構成については図5で説明した通りであるので、以下では、それらの説明については繰り返さない。
画像処理の実行順序が入れ替えられたとしても、出力結果が変化しない場合がある。このような場合、最適化部158は、実行時間がより短くなるように、ユーザ設定の処理フローに含まれる各画像処理の実行順序を最適化する。このとき、好ましくは、各画像処理の実行順序は、設定部152において設定された実行主体の組み合わせを維持した状態で最適化される。あるいは、実行順序の最適化後の処理フローに対して、再度、実行主体が指定されてもよい。
一例として、処理時間が短縮され得る画像処理の組み合わせ、および、当該組み合わせに対する最適化後の実行順序が予め規定されている。最適化部158は、当該規定を参照して、ユーザ設定の処理フローから、処理時間が短縮され得る画像処理の組み合わせを特定し、当該組み合わせについて規定されている最適化後の実行順序に従ってユーザ設定の画像処理の実行順序を最適化する。当該最適化結果は、管理装置100の表示部105に表示される。
図15を参照して、最適化部158による最適化結果を表示する画面の一例について説明する。図15は、実行主体を指定するためのユーザインターフェイス140を示す図である。
ユーザインターフェイス140は、ユーザ設定の処理フロー111と、処理フロー111に含まれる各画像処理に対して実行主体を指定する指定領域112と、指定された実行主体で処理フロー111を実行した場合のシミュレーション結果113とを含む。
また、ユーザインターフェイス140は、実行速度を優先して最適化された処理フロー111Cと、処理フロー111Cの実行主体の組み合わせ112Cと、組み合わせ112Cの実行主体で処理フロー111Cを実行した場合のシミュレーション結果113Cとを含む。図15の例では、処理フロー111Cに対する実行主体の組み合わせ112Cは、指定領域112において指定された実行主体の組み合わせと同じである。
さらに、ユーザインターフェイス140は、最適化前後における処理フローの類似度を優先して最適化された処理フロー111Dと、処理フロー111Dの実行主体の組み合わせ112Dと、組み合わせ112Dの実行主体で処理フロー111Dを実行した場合のシミュレーション結果113Dとを含む。図15の例では、処理フロー111Dに対する実行主体の組み合わせ112Dは、指定領域112において指定された実行主体の組み合わせと同じである。
さらに、ユーザインターフェイス140は、セレクトボックス117を含む。セレクトボックス117は、図15に示される候補「1」~「3」の中から特定の候補を選択する操作を受け付ける。ユーザが特定の候補を選択した状態でOKボタン118を押下すると、管理装置100は、選択された候補に示される、処理フローと実行順序と実行主体の組み合わせとを実行データ122(図9参照)に書き込む。ユーザがキャンセルボタン119を押下すると、管理装置100は、指定された実行主体の組み合わせや実行順序の最適化結果を反映せずに処理を終了する。
[C.第2の実施の形態のまとめ]
以上のようにして、本実施の形態においては、管理装置100は、ユーザ設定の処理フローの実行主体を最適化するだけでなく、当該処理フローにおける画像処理の実行順序をさらに最適化する。実行順序は、実行時間がより短くなるように最適化される。このとき、好ましくは、当該実行順序は、ユーザによって指定された実行主体の組み合わせを維持した状態で最適化される。これにより、管理装置100は、実行主体が最適化された状態でユーザ設定の処理フローの実行時間をより短縮することができる。
<第3の実施の形態>
[A.概要]
第1の実施の形態においては、実行主体を指定する操作がセレクトボックスに対して行われていたが、実行主体を指定する方法は、これに限定されない。以下では、実行主体のその他の指定方法について説明する。
第2の実施の形態に従う画像処理システム1におけるその他の点については第1の実施の形態に従う画像処理システム1と同じであるので、以下では、それらの説明については繰り返さない。
[B.実行主体を設定するためのユーザインターフェイス]
図16は、実行主体を指定するためのユーザインターフェイス140Aを示す図である。
ユーザインターフェイス140Aは、全体処理フロー130を含む。全体処理フロー130は、処理内容を表わす項目130A,130Bを含む。ユーザは、項目130A,130Bのいずれかを選択することができる。管理装置100は、項目130A,130Bのいずれかが選択されたことに基づいて、選択された項目において設定されている処理フローを表示する。図16の例では、前処理を表わす項目130Aが選択されており、前処理を表わす処理フロー111が表示されている。
また、ユーザインターフェイス140Aは、画像処理装置200に搭載されている制御装置の種類を表わす実行主体情報133を表示する。図16の例では、実行主体情報133として、CPUおよびFPGAが示されている。
さらに、ユーザインターフェイス140Aは、処理フロー111に含まれる各画像処理に対して実行主体を指定する指定領域135を含む。図16の例では、指定領域135においてチェックボックスが示されている。各チェックボックスは、処理フロー111における対応する画像処理項目に並べて表示される。チェックボックスは、実行主体別に表示される。ユーザは、処理フロー111に含まれる各画像処理に対して1つの実行主体を指定することができる。
たとえば、実行主体「FPGA」における項目「膨張」のチェックボックスが選択された場合には、当該チェックボックスにチェックマークが付与される。このとき、実行主体「CPU」における項目「膨張」のチェックボックスにおいては、チェックマークが消される。このように、1つの画像処理に対しては、1つの実行主体しか指定することができない。選択されたチェックボックスについては実行順序が表示される。
さらに、ユーザインターフェイス140Aは、指定領域135において指定された実行主体の組み合わせで処理フロー111を実行した場合のシミュレーション結果137を表示する。シミュレーション結果137は、全体処理フロー130における各処理が実行されるタイミングを示すタイミングチャート137Aと、当該各処理の処理時間137Bとを含む。
[C.変形例]
図17を参照して、図16に示されるユーザインターフェイス140Aの変形例について説明する。図17は、ユーザインターフェイス140Aの変形例を示す図である。図17には、変形例として、ユーザインターフェイス140Bが示されている。
ユーザインターフェイス140Bにおいては、最新のシミュレーション結果137と、過去のシミュレーション結果138とが並べて表示される。すなわち、本変形例においては、過去のシミュレーション結果が履歴として記憶されており、ユーザは、任意の時点でのシミュレーション結果を表示させることができる。一例として、ユーザは、ボタン139Aを押下すると、シミュレーション結果138の前のシミュレーション結果を表示させることができる。ユーザは、ボタン139Bを押下すると、シミュレーション結果138の次のシミュレーション結果を表示させることができる。
比較対象のシミュレーション結果138は、全体処理フロー130における各処理が実行されるタイミングを示すタイミングチャート138Aと、当該各処理の処理時間138Bとを含む。最新のシミュレーション結果137と、過去のシミュレーション結果138とが並べて表示されることで、ユーザは、指定した実行主体の組み合わせにおける有効性を確認することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 画像処理システム、2 ネットワーク、100 管理装置、101,220 制御装置、102 メモリ、103,222,308 記憶装置、103A アプリケーション、104 ネットワークインターフェイス、105,301 表示部、106,305 操作部、107,306 メモリカードリーダ・ライタ、107A,310 メモリカード、108 内部バス、110,222B ライブラリ、110A 項目群、110B,110C 画像処理群、111,111C,111D 処理フロー、112,135 指定領域、112A,117 セレクトボックス、112B メニュー、112C,112D 組み合わせ、113,113C,113D,114,137,138 シミュレーション結果、118 OKボタン、119 キャンセルボタン、120 実行時間情報、121A CPU、121B FPGA、122 実行データ、130 全体処理フロー、130A,130B 項目、133 実行主体情報、137A,138A タイミングチャート、137B,138B 処理時間、139A,139B,185 ボタン、140,140A,140B,180 ユーザインターフェイス、152,154 設定部、156 推定部、158 最適化部、160 生成部、181 設定済項目表示領域、182 処理項目選択領域、183 カメラ画像表示領域、184 追加ボタン、200 画像処理装置、210 照明部、211 照明制御ユニット、212 照明レンズ、221,303 処理部、222A 本体プログラム、223 ネットワーク通信部、225 外部入出力部、230 撮像部、231 撮像レンズ、232 撮像素子、300 表示設定器、302 表示制御部、304 通信部、308A 部品データ、500 ワーク。

Claims (12)

  1. 第1制御装置と、
    前記第1制御装置とは異なる種類の第2制御装置と、
    前記第1制御装置または前記第2制御装置によって実行され得る複数の画像処理を含むライブラリを格納するための記憶部と、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、
    前記実行順序に従って前記選択対象の各画像処理を表示するための表示部とを備え、
    前記操作部は、前記表示部に表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付け、
    前記表示部は、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合の実行時間を含むシミュレーション結果を複数の組み合わせについて表示する、画像処理システム。
  2. 前記記憶部は、前記第1制御装置および前記第2制御装置の各々による前記複数の画像処理の各々の実行時間を規定した実行時間情報をさらに格納し、
    前記画像処理システムは、前記実行時間情報に基づいて、前記操作部によって指定された組み合わせの実行主体で前記選択対象の各画像処理を処理した場合の前記実行時間を推定するための推定部をさらに備える、請求項1に記載の画像処理システム。
  3. 第1制御装置と、
    前記第1制御装置とは異なる種類の第2制御装置と、
    前記第1制御装置または前記第2制御装置によって実行され得る複数の画像処理を含むライブラリと、前記第1制御装置および前記第2制御装置の各々による前記複数の画像処理の各々の実行時間を規定した実行時間情報とを格納するための記憶部と、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、
    前記実行時間情報に基づいて、前記操作部によって指定された組み合わせの実行主体で前記選択対象の各画像処理を処理した場合の実行時間を推定するための推定部と、
    前記実行順序に従って前記選択対象の各画像処理を表示するための表示部とを備え、
    前記操作部は、前記表示部に表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付け、
    前記指定された実行主体の組み合わせを維持した状態で前記選択対象の各画像処理の実行順序を最適化するための最適化部をさらに備え、
    前記表示部は、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合について、複数の最適化された実行順序毎のシミュレーション結果を表示する、画像処理システム。
  4. 前記ライブラリは、
    前記第1制御装置によって実行され得る第1画像処理群と、
    前記第1画像処理群の各画像処理と同じ処理内容であって、前記第2制御装置によって実行され得る第2画像処理群とを含む、請求項1に記載の画像処理システム。
  5. 前記推定部は、前記実行主体の指定が変更される度に前記実行時間を推定し、
    前記表示部は、前記実行主体の指定操作に連動して前記実行時間の表示を更新する、請求項3に記載の画像処理システム。
  6. 前記第1制御装置および前記第2制御装置のいずれか一方は、FPGA(Field Programmable Gate Array)を含み、
    前記表示部は、前記選択対象の各画像処理を前記実行順序に従って前記指定された実行主体で実行した場合に前記FPGAにおいて生じる回路再構成の回数をさらに表示する、請求項1~4のいずれか1項に記載の画像処理システム。
  7. 第1制御装置と当該第1制御装置とは異なる種類の第2制御装置とを備える画像処理装置と通信可能に構成されている情報処理装置であって、
    前記第1制御装置または前記第2制御装置によって実行され得る複数の画像処理を含むライブラリを格納するための記憶部と、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、
    前記実行順序に従って前記選択対象の各画像処理を表示するための表示部とを備え、
    前記操作部は、前記表示部に表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付け、
    前記表示部は、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合の実行時間を含むシミュレーション結果を複数の組み合わせについて表示する、情報処理装置。
  8. 第1制御装置と当該第1制御装置とは異なる種類の第2制御装置とを備える画像処理装置と通信可能に構成されている情報処理装置であって、
    前記第1制御装置または前記第2制御装置によって実行され得る複数の画像処理を含むライブラリと、前記第1制御装置および前記第2制御装置の各々による前記複数の画像処理の各々の実行時間を規定した実行時間情報とを格納するための記憶部と、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるための操作部と、
    前記実行時間情報に基づいて、前記操作部によって指定された組み合わせの実行主体で前記選択対象の各画像処理を処理した場合の実行時間を推定するための推定部と、
    前記実行順序に従って前記選択対象の各画像処理を表示するための表示部とを備え、
    前記操作部は、前記表示部に表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作をさらに受け付け、
    前記指定された実行主体の組み合わせを維持した状態で前記選択対象の各画像処理の実行順序を最適化するための最適化部をさらに備え、
    前記表示部は、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合について、複数の最適化された実行順序毎のシミュレーション結果を表示する、情報処理装置。
  9. 第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリを準備するステップと、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、
    前記実行順序に従って前記選択対象の各画像処理を表示するステップと、
    表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップとを備え、
    前記表示するステップは、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合の実行時間を含むシミュレーション結果を複数の組み合わせについて表示することを含む、情報処理方法。
  10. 第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリと、前記第1制御装置および前記第2制御装置の各々による前記複数の画像処理の各々の実行時間を規定した実行時間情報とを準備するステップと、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、
    前記実行時間情報に基づいて、前記指定された組み合わせの実行主体で前記選択対象の各画像処理を処理した場合の実行時間を推定するステップと、
    前記実行順序に従って前記選択対象の各画像処理を表示するステップと、
    表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップと、
    前記指定された実行主体の組み合わせを維持した状態で前記選択対象の各画像処理の実行順序を最適化するステップとを備え、
    前記表示するステップは、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合について、複数の最適化された実行順序毎のシミュレーション結果を表示することを含む、情報処理方法。
  11. 情報処理装置に実行される情報処理プログラムであって、
    前記情報処理プログラムは、前記情報処理装置に、
    第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリを準備するステップと、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、
    前記実行順序に従って前記選択対象の各画像処理を表示するステップと、
    表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップとを実行させ、
    前記表示するステップは、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合の実行時間を含むシミュレーション結果を複数の組み合わせについて表示することを含む、情報処理プログラム。
  12. 情報処理装置に実行される情報処理プログラムであって、
    前記情報処理プログラムは、前記情報処理装置に、
    第1制御装置または当該第1制御装置とは異なる種類の第2制御装置によって実行され得る複数の画像処理を含むライブラリと、前記第1制御装置および前記第2制御装置の各々による前記複数の画像処理の各々の実行時間を規定した実行時間情報とを準備するステップと、
    前記ライブラリから1つ以上の画像処理を選択する操作と、当該操作によって選択された選択対象の各画像処理に対して実行順序を指定する操作とを受け付けるステップと、
    前記実行時間情報に基づいて、前記指定された組み合わせの実行主体で前記選択対象の各画像処理を処理した場合の実行時間を推定するステップと、
    前記実行順序に従って前記選択対象の各画像処理を表示するステップと、
    表示されている前記選択対象の各画像処理について前記第1制御装置および前記第2制御装置のいずれかを実行主体として指定する操作を受け付けるステップと、
    前記指定された実行主体の組み合わせを維持した状態で前記選択対象の各画像処理の実行順序を最適化するステップとを実行させ、
    前記表示するステップは、前記指定する操作で指定された各実行主体で前記選択対象の各画像処理を実行した場合について、複数の最適化された実行順序毎のシミュレーション結果を表示することを含む、情報処理プログラム。
JP2017013910A 2017-01-30 2017-01-30 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム Active JP7146367B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017013910A JP7146367B2 (ja) 2017-01-30 2017-01-30 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US15/785,600 US10621455B2 (en) 2017-01-30 2017-10-17 Image processing system, information processing device, information processing method, and information processing program
DE102017124939.7A DE102017124939A1 (de) 2017-01-30 2017-10-25 Bildverarbeitungssystem, Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017013910A JP7146367B2 (ja) 2017-01-30 2017-01-30 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2018124607A JP2018124607A (ja) 2018-08-09
JP7146367B2 true JP7146367B2 (ja) 2022-10-04

Family

ID=62842971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017013910A Active JP7146367B2 (ja) 2017-01-30 2017-01-30 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム

Country Status (3)

Country Link
US (1) US10621455B2 (ja)
JP (1) JP7146367B2 (ja)
DE (1) DE102017124939A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200293823A1 (en) * 2019-03-13 2020-09-17 Hitachi, Ltd. Method and system of auto build of image analytics program
CN110083463B (zh) * 2019-04-22 2021-07-20 中国地质大学(北京) 一种3d图像引擎与数值处理软件间实时数据通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114457A (ja) 2011-11-29 2013-06-10 Fuji Mach Mfg Co Ltd 画像処理装置のシステム構築装置
JP2016164752A (ja) 2015-03-06 2016-09-08 富士ゼロックス株式会社 情報処理装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3110592B2 (ja) * 1993-07-16 2000-11-20 三菱電機株式会社 画像処理装置
JPH1032810A (ja) * 1996-07-15 1998-02-03 Matsushita Electric Works Ltd 画像処理検査装置
JP3927353B2 (ja) * 2000-06-15 2007-06-06 株式会社日立製作所 比較検査における画像の位置合せ方法、比較検査方法及び比較検査装置
JP2002074331A (ja) * 2000-08-28 2002-03-15 Matsushita Electric Works Ltd 画像処理装置および画像処理方法
US7068833B1 (en) * 2000-08-30 2006-06-27 Kla-Tencor Corporation Overlay marks, methods of overlay mark design and methods of overlay measurements
JP4095860B2 (ja) * 2002-08-12 2008-06-04 株式会社日立ハイテクノロジーズ 欠陥検査方法及びその装置
JP3668215B2 (ja) * 2002-08-21 2005-07-06 株式会社東芝 パターン検査装置
JP4056412B2 (ja) * 2003-03-10 2008-03-05 株式会社東京精密 パターン検査方法及び装置
US20060171593A1 (en) * 2005-02-01 2006-08-03 Hitachi High-Technologies Corporation Inspection apparatus for inspecting patterns of a substrate
FR2888127B1 (fr) * 2005-07-05 2009-03-27 Skis Rossignol Sa Sa Fixation de surf des neiges
JP4661474B2 (ja) * 2005-09-13 2011-03-30 富士ゼロックス株式会社 画像処理装置、異常検知方法、プログラムおよび記録媒体
US8041103B2 (en) * 2005-11-18 2011-10-18 Kla-Tencor Technologies Corp. Methods and systems for determining a position of inspection data in design data space
US7676077B2 (en) * 2005-11-18 2010-03-09 Kla-Tencor Technologies Corp. Methods and systems for utilizing design data in combination with inspection data
JP2007279829A (ja) * 2006-04-03 2007-10-25 Fuji Xerox Co Ltd 画像処理装置およびプログラム
JP2010092284A (ja) * 2008-10-08 2010-04-22 Fuji Xerox Co Ltd 情報処理装置及びプログラム
JP5722551B2 (ja) * 2010-05-13 2015-05-20 株式会社日立ハイテクノロジーズ 欠陥検査方法及びその装置
JP2014203309A (ja) 2013-04-05 2014-10-27 オムロン株式会社 画像処理装置、制御方法およびプログラム
CN107072512A (zh) * 2015-01-28 2017-08-18 奥林巴斯株式会社 信号处理装置和内窥镜系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114457A (ja) 2011-11-29 2013-06-10 Fuji Mach Mfg Co Ltd 画像処理装置のシステム構築装置
JP2016164752A (ja) 2015-03-06 2016-09-08 富士ゼロックス株式会社 情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
富田 康幸・坂本 大樹,シート・フィルム・ウェブ外観検査とビジョン技術 ウェブ検査に見られる新たなニーズ New needs in the Web Inspection 画像処理ライブラリ「HALCON」/FPGA画像処理開発環境「VisualApplets」,画像ラボ 第27巻 第4号,日本工業出版株式会社,2016年4月10日,第43~48頁

Also Published As

Publication number Publication date
US20180218231A1 (en) 2018-08-02
DE102017124939A1 (de) 2018-08-02
US10621455B2 (en) 2020-04-14
JP2018124607A (ja) 2018-08-09

Similar Documents

Publication Publication Date Title
US10776911B2 (en) Information processing apparatus, identification system, setting method, and program
EP2299404B1 (en) Image processing apparatus
JP6955211B2 (ja) 識別装置、識別方法及びプログラム
EP2787483A2 (en) Image processing device, control method, and program
CN113190225A (zh) 为机器视觉系统提供可视化程序的装置、系统和方法
US10860901B2 (en) Detection system, information processing apparatus, evaluation method, and program
WO2020003888A1 (ja) 外観検査システム、外観検査結果の表示方法、および、外観検査結果の表示プログラム
JP5469433B2 (ja) 画像処理装置及び画像処理方法
JP7146367B2 (ja) 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム
JP2019012016A (ja) 位置制御システム、位置検出装置、および制御プログラム
US10636132B2 (en) Image processing system, information processing device, information processing method, and information processing program
JP2018005500A (ja) 画像処理システム、画像処理方法、および画像処理プログラム
JP7207509B2 (ja) 画像処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP6915288B2 (ja) 画像処理システム、画像処理装置、FPGA(Field Programmable Gate Array)における回路の再構成方法、および、FPGAにおける回路の再構成プログラム
WO2020003887A1 (ja) 外観検査システム、外観検査結果の表示方法、および、外観検査結果の表示プログラム
JP7103746B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
WO2022215446A1 (ja) 画像判定装置、画像判定方法、及び、プログラム
US10440264B2 (en) Image processing system, method of reconfiguring field programmable gate array, information processing device, information processing method, and non-transitory computer-readable medium
JP6819096B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP7507596B2 (ja) 生産性改善支援システム及び生産性改善支援方法
JP5231200B2 (ja) 感度表データ作成方法及び感度表データ作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210924

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210924

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211004

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211005

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20211119

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20211124

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220412

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220726

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220823

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220921

R150 Certificate of patent or registration of utility model

Ref document number: 7146367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150