(57)【要約】      （修正有）【課題】畳み込みニューラルネットワーク（ＣＮＮ：convolutional neural network）を用いた画像計測処理をＦＡ分野において利用するのに好適な画像処理装置、画像処理プログラム、画像処理システムを提供する。【解決手段】画像処理装置１００は、事前学習された複数のクラスを有する畳み込みニューラルネットワークを入力画像に適用することで、複数のクラスに対応する複数の特徴検出画像をそれぞれ生成するＣＮＮエンジン１５６と、設定パラメータに従って、複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する後処理部１７０と、ＣＮＮエンジン１５６により生成される複数の特徴検出画像の少なくとも一部、および、後処理部１７０により生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるユーザインターフェイス部１６６とを含む。【選択図】図５
2018190329.tif 000002
【特許請求の範囲】
【請求項１】
被検査対象を撮像することにより生成される入力画像に対して画像計測処理を行う画像処理装置であって、
事前学習された複数のクラスを有する畳み込みニューラルネットワークを前記入力画像に適用することで、前記複数のクラスに対応する複数の特徴検出画像をそれぞれ生成する特徴検出画像生成手段と、
設定パラメータに従って、前記複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する後処理手段と、
前記特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部、および、前記特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部を用いて前記後処理手段により後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるユーザインターフェイス手段とを備える、画像処理装置。
【請求項２】
前記後処理手段は、前記複数の特徴検出画像のうち２つ以上の特徴検出画像を用いて画像演算処理を行うことで演算結果画像を生成する画像演算手段を含む、請求項１に記載の画像処理装置。
【請求項３】
前記画像演算処理は、特徴検出画像同士の加算、特徴検出画像間の減算、特徴検出画像同士の重付け加算、特徴検出画像間の重付け減算のうち、少なくとも一つを含む、請求項２に記載の画像処理装置。
【請求項４】
前記ユーザインターフェイス手段は、特徴検出画像単体から生成される計測結果に加えて、前記演算結果画像から生成される計測結果をユーザへ提示する、請求項２または３に記載の画像処理装置。
【請求項５】
前記ユーザインターフェイス手段は、ユーザ選択に従って、ユーザへ提示する画像の種類を決定する、請求項２〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記後処理手段は、特徴検出画像または演算結果画像に対する２値化処理を行う２値化処理手段をさらに含み、
前記ユーザインターフェイス手段は、前記設定パラメータとして、前記２値化処理手段における２値化処理に用いるしきい値の設定を受付ける、請求項２〜５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ユーザインターフェイス手段がユーザからの設定パラメータの変更を受付けると、前記後処理手段は、変更後の設定パラメータに従って後処理を行うことで、新たな計測結果を生成するとともに、前記ユーザインターフェイス手段が新たに生成された計測結果をユーザへ提示する、請求項１〜６のいずれか１項に記載の画像処理装置。
【請求項８】
前記ユーザインターフェイス手段は、前記入力画像に前記計測結果を重畳した画像をユーザへ提示する、請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
被検査対象を撮像することにより生成される入力画像に対して画像計測処理を行う画像処理装置を実現するための画像処理プログラムであって、前記画像処理プログラムはコンピュータに、
事前学習された複数のクラスを有する畳み込みニューラルネットワークを前記入力画像に適用することで、前記複数のクラスに対応する複数の特徴検出画像をそれぞれ生成するステップと、
設定パラメータに従って、前記複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成するステップと、
生成される複数の特徴検出画像の少なくとも一部、および、生成される複数の特徴検出画像の少なくとも一部を用いて後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるステップとを実行させる、画像処理プログラム。
【請求項１０】
被検査対象を撮像するための撮像部と、
前記撮像部により生成される入力画像に対して画像計測処理を行う画像処理装置とを備え、前記画像処理装置は、
事前学習された複数のクラスを有する畳み込みニューラルネットワークを前記入力画像に適用することで、前記複数のクラスに対応する複数の特徴検出画像をそれぞれ生成する特徴検出画像生成手段と、
設定パラメータに従って、前記複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する後処理手段と、
前記特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部、および、前記特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部を用いて前記後処理手段により後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるユーザインターフェイス手段とを備える、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、畳み込みニューラルネットワーク（ＣＮＮ：convolutional neural network）を用いた画像計測処理を実行可能な画像処理装置、画像処理プログラム、画像処理システムに関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野では、画像計測処理を用いた自動制御が広く実用化されている。例えば、ワークなどの被検査対象を撮像し、その撮像された画像から欠陥などの特徴量を算出することで、当該ワークについての良否を検査するような検査工程が実現される。
【０００３】
このような画像計測処理の一例として、畳み込みニューラルネットワーク（以下、単に「ＣＮＮ」とも称す。）が注目されている。例えば、非特許文献１に示すように、ＣＮＮは、畳み込み層とプーリング層とが交互に配置された多層化された構造を有するネットワークである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"Learning Deep Features for Discriminative Localization", Bolei Zhou, Aditya Khosla, Agata Lapedriza, Aude Oliva, Antonio Torralba, The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2921-2929
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の非特許文献１に開示される手法のように、ＣＮＮを用いて画像解析などを実行する場合には、複数の学習画像を用いた学習によりＣＮＮを構築し、その構築されたＣＮＮが画像解析に用いられる。
【０００６】
一方、ＦＡ分野での使用形態を考慮すると、生産ライン上を流れるワークの種類なども頻繁に変更されることも多く、そのたびにＣＮＮを構築するのは効率的ではない。そのため、ＣＮＮを用いた画像計測処理をＦＡ分野において利用するのに好適な構成が要望されている。
【課題を解決するための手段】
【０００７】
本発明のある局面によれば、被検査対象を撮像することにより生成される入力画像に対して画像計測処理を行う画像処理装置が提供される。画像処理装置は、事前学習された複数のクラスを有する畳み込みニューラルネットワークを入力画像に適用することで、複数のクラスに対応する複数の特徴検出画像をそれぞれ生成する特徴検出画像生成手段と、設定パラメータに従って、複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する後処理手段と、特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部、および、特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部を用いて後処理手段により後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるユーザインターフェイス手段とを含む。
【０００８】
好ましくは、後処理手段は、複数の特徴検出画像のうち２つ以上の特徴検出画像を用いて画像演算処理を行うことで演算結果画像を生成する画像演算手段を含む。
【０００９】
好ましくは、画像演算処理は、特徴検出画像同士の加算、特徴検出画像間の減算、特徴検出画像同士の重付け加算、特徴検出画像間の重付け減算のうち、少なくとも一つを含む。
【００１０】
好ましくは、ユーザインターフェイス手段は、特徴検出画像単体から生成される計測結果に加えて、演算結果画像から生成される計測結果をユーザへ提示する。
【００１１】
好ましくは、ユーザインターフェイス手段は、ユーザ選択に従って、ユーザへ提示する画像の種類を決定する。
【００１２】
好ましくは、後処理手段は、特徴検出画像または演算結果画像に対する２値化処理を行う２値化処理手段をさらに含む。ユーザインターフェイス手段は、設定パラメータとして、２値化処理手段における２値化処理に用いるしきい値の設定を受付ける。
【００１３】
好ましくは、ユーザインターフェイス手段がユーザからの設定パラメータの変更を受付けると、後処理手段は、変更後の設定パラメータに従って後処理を行うことで、新たな計測結果を生成するとともに、ユーザインターフェイス手段が新たに生成された計測結果をユーザへ提示する。
【００１４】
好ましくは、ユーザインターフェイス手段は、入力画像に計測結果を重畳した画像をユーザへ提示する。
【００１５】
本発明の別の局面によれば、被検査対象を撮像することにより生成される入力画像に対して画像計測処理を行う画像処理装置を実現するための画像処理プログラムが提供される。画像処理プログラムはコンピュータに、事前学習された複数のクラスを有する畳み込みニューラルネットワークを入力画像に適用することで、複数のクラスに対応する複数の特徴検出画像をそれぞれ生成するステップと、設定パラメータに従って、複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成するステップと、生成される複数の特徴検出画像の少なくとも一部、および、生成される複数の特徴検出画像の少なくとも一部を用いて後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるステップとを実行させる。
【００１６】
本発明のさらに別の局面によれば、被検査対象を撮像するための撮像部と、撮像部により生成される入力画像に対して画像計測処理を行う画像処理装置とを含む画像処理システムが提供される。画像処理装置は、事前学習された複数のクラスを有する畳み込みニューラルネットワークを入力画像に適用することで、複数のクラスに対応する複数の特徴検出画像をそれぞれ生成する特徴検出画像生成手段と、設定パラメータに従って、複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する後処理手段と、特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部、および、特徴検出画像生成手段により生成される複数の特徴検出画像の少なくとも一部を用いて後処理手段により後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付けるユーザインターフェイス手段とを含む。
【発明の効果】
【００１７】
本発明によれば、ＣＮＮを用いた画像計測処理をＦＡ分野において利用するのに好適な構成を実現できる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に係る画像処理システムのシステム構成例を示す模式図である。
【図２】本実施の形態に係る画像処理装置のハードウェア構成を示す模式図である。
【図３】本実施の形態に係る画像処理システムにおけるＣＮＮを用いた画像計測処理の処理手順の一例を説明するための図である。
【図４】本実施の形態に係る画像処理システムにおける画像演算処理の一例を説明するための図である。
【図５】本実施の形態に係る画像処理装置の機能構成を示す模式図である。
【図６】本実施の形態に係る画像処理装置における画像演算処理の一例を説明するための図である。
【図７】本実施の形態に係る画像処理装置における画像演算処理の別の一例を説明するための図である。
【図８】本実施の形態に係る画像処理装置における画像演算処理のさらに別の一例を説明するための図である。
【図９】本実施の形態に係る画像処理装置が提供するユーザインターフェイス画面２００の一例を示す模式図である。
【図１０】本実施の形態に係る画像処理装置が提供するユーザインターフェイス画面２０２の一例を示す模式図である。
【図１１】本実施の形態に係る画像処理装置が提供するユーザインターフェイス画面２０４の一例を示す模式図である。
【図１２】図１０および図１１に示すユーザインターフェイス画面における計測結果画像の重畳表示を説明するための図である。
【図１３】本実施の形態に係る画像処理装置が提供する入力画像上に計測結果が重畳表示された一例を示す図である。
【図１４】本実施の形態に係る画像処理システムにおける準備工程の処理手順を示すフローチャートである。
【図１５】本実施の形態に係る画像処理システムにおける運用工程の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
＜Ａ．システム構成例＞
まず、本実施の形態に係る画像処理システム１のシステム構成例について説明する。本実施の形態に係る画像処理システム１は、被検査対象を撮像することにより生成される入力画像に対して画像計測処理を行う。
【００２１】
図１は、本実施の形態に係る画像処理システム１のシステム構成例を示す模式図である。図１を参照して、画像処理システム１は、例えば、ベルトコンベア２上を搬送される被検査対象であるワーク４を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク４の外観検査または外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク４表面における欠陥の有無の検査などを応用例として説明するが、これに限らず、欠陥の種類の特定や外観形状の計測などにも応用が可能である。
【００２２】
ベルトコンベア２の上部には撮像部であるカメラ１０２が配置されており、カメラ１０２の撮像視野６はベルトコンベア２の所定領域を含むように構成される。カメラ１０２の撮像により生成された画像データ（以下、「入力画像」とも称す。）は、画像処理装置１００へ送信される。カメラ１０２による撮像は、周期的またはイベント的に実行される。
【００２３】
画像処理装置１００はＣＮＮエンジンを有しており、ＣＮＮエンジンを用いて入力画像からクラス毎の特徴検出画像が生成される。生成された１または複数の特徴検出画像に基づいて、対象のワークにおける欠陥の有無などが判断される。あるいは、欠陥の大きさや位置などを検出することもできる。
【００２４】
画像処理装置１００は、上位ネットワーク８を介して、ＰＬＣ（プログラマブルコントローラ）１０およびデータベース装置１２などと接続されている。画像処理装置１００における計測結果は、ＰＬＣ１０および／またはデータベース装置１２へ送信されてもよい。なお、上位ネットワーク８には、ＰＬＣ１０およびデータベース装置１２に加えて、任意の装置が接続されるようにしてもよい。
【００２５】
画像処理装置１００は、処理中の状態や計測結果などを表示するためのディスプレイ１０４と、ユーザ操作を受付ける入力部としてのキーボード１０６およびマウス１０８とが接続されていてもよい。
【００２６】
＜Ｂ．画像処理装置１００のハードウェア構成＞
次に、本実施の形態に係る画像処理システム１に含まれる画像処理装置１００のハードウェア構成について説明する。
【００２７】
図２は、本実施の形態に係る画像処理装置１００のハードウェア構成を示す模式図である。図２を参照して、画像処理装置１００は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。画像処理装置１００は、プロセッサ１１０と、メインメモリ１１２と、カメラインターフェイス１１４と、入力インターフェイス１１６と、表示インターフェイス１１８と、通信インターフェイス１２０と、ストレージ１３０とを含む。これらのコンポーネントは、典型的には、内部バス１２２を介して互いに通信可能に接続されている。
【００２８】
プロセッサ１１０は、ストレージ１３０に格納されているプログラムをメインメモリ１１２に展開して実行することで、後述するような機能および処理を実現する。メインメモリ１１２は、揮発性メモリにより構成され、プロセッサ１１０によるプログラム実行に必要なワークメモリとして機能する。
【００２９】
カメラインターフェイス１１４は、カメラ１０２と接続されて、カメラ１０２にて撮像された入力画像を取得する。カメラインターフェイス１１４は、カメラ１０２に対して撮像タイミングなどを指示するようにしてもよい。
【００３０】
入力インターフェイス１１６は、キーボード１０６およびマウス１０８といった入力部と接続されて、ユーザが入力部に対して行った操作などを示す指令を取得する。
【００３１】
表示インターフェイス１１８は、ディスプレイ１０４と接続された、プロセッサ１１０によるプログラムの実行によって生成される各種処理結果をディスプレイ１０４へ出力する。
【００３２】
通信インターフェイス１２０は、上位ネットワーク８を介して、ＰＬＣ１０およびデータベース装置１２などと通信するための処理を担当する。
【００３３】
ストレージ１３０は、画像処理プログラム１３２およびＯＳ（operating system）１３４などのコンピュータを画像処理装置１００として機能させるためのプログラムを格納している。ストレージ１３０は、さらに、後述するような画像計測処理を実現するための設定パラメータ１３６と、カメラ１０２から取得された入力画像１３８と、画像計測処理によって得られた計測結果１４０とを格納していてもよい。
【００３４】
ストレージ１３０に格納される画像処理プログラム１３２は、ＤＶＤ（digital versatile disc）などの光学記録媒体またはＵＳＢ（universal serial bus）メモリなどの半導体記録媒体などを介して、画像処理装置１００にインストールされてもよい。あるいは、画像処理プログラム１３２は、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。
【００３５】
このように汎用コンピュータを用いて実現する場合には、ＯＳ１３４が提供するソフトウェアモジュールのうち、必要なソフトウェアモジュールを所定の順序および／またはタイミングで呼出して処理することで、本実施の形態に係る機能の一部を実現するものであってもよい。すなわち、本実施の形態に係る画像処理プログラム１３２は、本実施の形態に係る機能を実現するためのすべてのソフトウェアモジュールを含んでおらず、ＯＳと協働することで、必要な機能が提供されるようにしてもよい。
【００３６】
本実施の形態に係る画像処理プログラム１３２は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム１３２自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施の形態に係る画像処理プログラム１３２は、他のプログラムに組込まれた形態であってもよい。
【００３７】
図２には、汎用コンピュータを用いて画像処理装置１００を実現する例を示すが、これに限られることなく、その全部または一部の機能を専用回路（例えば、ＡＳＩＣ（application specific integrated circuit）やＦＰＧＡ（field-programmable gate array）など）を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【００３８】
＜Ｃ．ＣＮＮを用いた画像計測処理＞
次に、ＣＮＮを用いた画像計測処理をＦＡ分野に応用する際の課題などについて説明する。
【００３９】
図３は、本実施の形態に係る画像処理システム１におけるＣＮＮを用いた画像計測処理の処理手順の一例を説明するための図である。本実施の形態に係る画像処理システム１においては、事前学習された複数のクラスを有するＣＮＮを用いるとする。図３には、ワークに生じる４つの欠陥の種類（クラス）として、「白点」、「黒点」、「白線」、「黒線」を示す。これら４つのクラスのいずれかの特徴を有する学習画像を複数用いて、事前学習することでＣＮＮを構築する。なお、ＣＮＮの事前学習にあたっては、いわゆる教師あり学習および教師なし学習のいずれをも採用することができる。
【００４０】
本実施の形態に係る画像処理システム１においては、予め複数種類（クラス）を有するＣＮＮを用いるので、ＣＮＮに何らかの入力画像が与えられると、各クラスについての特徴検出画像がそれぞれ生成される。
【００４１】
図３に示すように、カメラ１０２などにより撮像された入力画像がＣＮＮに入力されることで、特徴量を「白点」、「黒点」、「白線」、「黒線」とする特徴検出画像がそれぞれ生成される。図３に示す特長画像においては、対応する各特徴を示す領域が他の領域に比較してより明るくなるように濃淡表示されている。
【００４２】
一方で、入力画像に含まれる欠陥の種類は未知であるので、それぞれの特徴検出画像を比較することで、欠陥を最も適切に抽出していると思われる特定の１枚の特徴検出画像を選択し、２値化処理などの後処理を適用することで、計測結果が得られる。図３に示す例では、「黒線」の特徴検出画像が選択され、その選択された「黒線」の特徴検出画像に対して２値化処理された結果が示されている。２値化処理された結果に対して、例えば、抽出対象パターン（例えば、欠陥）の有無、抽出対象パターンの大きさ、抽出対象パターンの位置などが算出されて、計測結果として出力されてもよい。
【００４３】
本明細書において、「計測結果」は、入力画像に対して画像計測処理を実行したときに得られる判定結果（例えば、抽出対象パターン（例えば、欠陥）の有無、抽出対象パターンの大きさ、抽出対象パターンの位置など）に加えて、判定結果を出力するために用いられた画像（以下、「計測結果画像」とも称す。）を含み得る。後処理の処理内容に応じて、計測結果画像は、最終的な判定結果を生成するために用いられる画像である場合もあるし、後処理の中間段階で生成される画像である場合もある。
【００４４】
このように、代表的なサンプル複数のクラスの学習画像を用いて、一種の汎用的なＣＮＮを構築しておき、そのようなＣＮＮを用いて画像計測処理を実行できるような構成を採用することで、汎用的な画像処理システムを実現できる。
【００４５】
一方で、汎用的なＣＮＮを採用した場合には、以下のような課題も生じ得る。
まず、入力画像内に存在する特徴の種類や大きさによっては、当該特徴が特定のクラスに分類されきれずに、複数のクラスの特徴検出画像に現れる場合がある。図３に示す例を参照すれば、「黒線」の特徴検出画像内には「黒点」に相当する特徴量も現れている。すなわち、「黒線」の特徴検出画像および「黒点」の特徴検出画像のいずれにも、点状の特徴部分が共通して現れている。逆に、ある一つの特徴が複数のクラスの特徴検出画像に分裂して現れることもある。
【００４６】
このような入力画像に含まれる特徴の種類や大きさによっては、欠陥と欠陥以外（例えば、背景部分）とのパターン分離が難しくなる。
【００４７】
次に、抽出すべき特徴（例えば、欠陥）の種類や大きさに応じた後処理を設定する必要がある。この場合、抽出すべき特徴が存在する入力画像内の位置と、後処理によって得られる計測結果画像内の位置とを比較して確認しなければならず、手間および時間を要する。また、一旦後処理を設定した後に、再度設定を変更する場合にも、同じ手間を要する。すなわち、ある入力画像から生成されるすべての特徴検出画像についての計測結果を確認しなければならず、この場合も手間および時間を要する。
【００４８】
そこで、本実施の形態に係る画像処理システム１では、汎用的に事前学習されたＣＮＮを共通的に用いる一方で、当該ＣＮＮにより生成される複数の特徴検出画像の一部または全部を用いて、後処理の対象となる画像を対象のワークに応じて生成する。このような手法を採用することで、より柔軟な画像計測処理を実現する。
【００４９】
本実施の形態に係る画像処理システム１においては、ＣＮＮにより生成される複数の特徴検出画像のうち画像計測処理に用いる１または複数の特徴検出画像を柔軟に選択できる。例えば、図３に示すように、複数の特徴検出画像のうち、最も適切であると考えられる１つの特徴検出画像が選択されて、後処理が実行されることで、計測結果画像が出力される。
【００５０】
本実施の形態に係る画像処理システム１においては、選択された複数の特徴検出画像に対する画像演算処理によって、対象のワークに現れる特徴の抽出がより容易化するような画像を生成することもできる。
【００５１】
図３に示すように、「黒線」の特徴検出画像内には「黒点」に相当する特徴量も現れている。このような同一の特徴が複数のクラスの特徴検出画像に現れているような場合には、一方の特徴検出画像から他方の特徴検出画像に現れている特徴を減じることで、目的の特徴のみを抽出することができる。
【００５２】
図４は、本実施の形態に係る画像処理システム１における画像演算処理の一例を説明するための図である。図４には、「黒線」の特徴検出画像から「黒点」の特徴検出画像を減じる画像演算処理の例を示す。
【００５３】
本明細書において、「画像演算処理」は、複数の画像間において、対応する画素の間で四則演算を含む任意の数学的処理を行うことを含む。図４に示す例では、「黒線」の特徴検出画像を構成するそれぞれの画素の輝度値と「黒点」の特徴検出画像を構成するそれぞれの画素の輝度値とを用いて、画素毎に輝度値の差を求める処理が実行される。
【００５４】
このような画像演算処理を実行することで、図４に示すような演算結果画像が得られる。この演算結果画像においては、「黒線」の特徴検出画像に現れていた、「黒点」を示す特徴が削除または縮小していることがわかる。
【００５５】
さらに、演算結果画像に対して２値化処理を含む後処理を実行することで、計測結果画像が得られる。図４に示す計測結果画像においては、入力画像に含まれる特徴（欠陥）が十分に抽出できていることがわかる。
【００５６】
＜Ｄ．画像処理装置１００の機能構成＞
次に、本実施の形態に係る画像処理システム１に含まれる画像処理装置１００の機能構成について説明する。
【００５７】
図５は、本実施の形態に係る画像処理装置１００の機能構成を示す模式図である。画像処理装置１００が有する機能構成は、典型的には、プロセッサ１１０が画像処理プログラム１３２を実行することで実現される。
【００５８】
図５を参照して、画像処理装置１００は、機能構成として、入力バッファ１５２と、前処理部１５４と、ＣＮＮエンジン１５６と、後処理部１７０と、ユーザインターフェイス部１６６とを含む。
【００５９】
入力バッファ１５２は、カメラ１０２により撮像された入力画像を一旦格納する。入力バッファ１５２には、前処理部１５４およびユーザインターフェイス部１６６からのアクセスが可能である。
【００６０】
前処理部１５４は、入力バッファ１５２に格納される入力画像に対して必要な前処理を実行する。このような前処理は、後段にあるＣＮＮエンジン１５６での特徴の抽出を容易化するように入力画像を加工することを目的としている。前処理の具体例としては、明度補正やカラーグレー変換などが挙げられる。前処理の内容については、ユーザインターフェイス部１６６を介してユーザから指定されるようにしてもよい。前処理後の入力画像は、ＣＮＮエンジン１５６へ出力される。
【００６１】
ＣＮＮエンジン１５６は、事前学習された複数のクラスを有するＣＮＮを入力画像に適用することで、複数のクラスに対応する複数の特徴検出画像をそれぞれ生成する特徴検出画像生成機能を提供する。より具体的には、ＣＮＮエンジン１５６は、所定数のクラスへの分別能力を有するように事前学習されたネットワークを有しており、それぞれのクラスに対応する特徴検出画像（特徴検出画像１，特徴検出画像２，・・・，特徴検出画像Ｎ）を出力する。ＣＮＮエンジン１５６にてそれぞれ生成された複数の特徴検出画像は後処理部１７０へ出力されるとともに、ユーザインターフェイス部１６６からのアクセスも可能になっている。
【００６２】
後処理部１７０は、設定パラメータに従って、ＣＮＮエンジン１５６から出力される複数の特徴検出画像の少なくとも一部の特徴検出画像に対して、後処理を行うことで計測結果を生成する。後処理部１７０は、選択部１５８、画像演算部１６０、２値化処理部１６２、判定処理部１６４とを含む。
【００６３】
選択部１５８は、ユーザインターフェイス部１６６からの設定パラメータに従って、ＣＮＮエンジン１５６から出力される複数の特徴検出画像のうち、指定された１または複数の特徴検出画像を画像演算部１６０へ出力する。設定パラメータは、複数の特徴検出画像のうち、いずれの特徴検出画像を選択すべきかの情報を含む。
【００６４】
画像演算部１６０は、ユーザインターフェイス部１６６からの設定パラメータに従って、選択部１５８からの複数の特徴検出画像に対して、必要に応じて画像演算処理を実行し、その結果を２値化処理部１６２へ出力する。すなわち、画像演算部１６０は、複数の特徴検出画像のうち２つ以上の特徴検出画像を用いて画像演算処理を行うことで演算結果画像を生成する画像演算機能を提供する。なお、画像演算部１６０は、選択部１５８から１つの特徴検出画像のみが与えられる場合などには、何らの画像演算処理も行うことなく、そのまま２値化処理部１６２へ出力するようにしてもよい。設定パラメータは、どのような画像演算処理を実行するのかを示す情報を含む。
【００６５】
画像演算処理としては、例えば、加算処理、減算処理、および、それらの重付き演算処理などが挙げられる。すなわち、画像演算処理は、典型的には、特徴検出画像同士の加算、特徴検出画像間の減算、特徴検出画像同士の重付け加算、特徴検出画像間の重付け減算のうち、少なくとも一つを含む。
【００６６】
２値化処理部１６２は、ユーザインターフェイス部１６６からの設定パラメータに従って、画像演算部１６０からの画像（任意の特徴検出画像または演算結果画像）に対して２値化処理を行うことで、２値化画像を生成する。すなわち、２値化処理部１６２は、特徴検出画像または演算結果画像に対する２値化処理を行う機能を提供する。設定パラメータは、２値化処理に用いるしきい値（「２値化レベル」とも称す。）などを含む。
【００６７】
判定処理部１６４は、ユーザインターフェイス部１６６からの設定パラメータに従って、２値化処理部１６２からの２値化画像に対して判定処理を実行する。より具体的には、判定処理部１６４は、２値化処理部１６２により生成される２値化画像をラベリングするとともに、ラベリングされた面積および形状などを計算するとともに、その計算結果と予め定められたしきい値とを比較することで、より精密な判定を行う。
【００６８】
このような判定処理としては、例えば、特徴領域として抽出された部分の面積が予め定められたしきい値以上であるかに基づいて、入力画像に目的の特徴が含まれているか否かを判定する処理を含む。設定パラメータは、判定処理に用いるしきい値や判断ロジックを指定する情報などを含む。
【００６９】
選択部１５８と、画像演算部１６０と、２値化処理部１６２と、判定処理部１６４とは、ＣＮＮエンジン１５６から出力される特徴検出画像に対して後処理の実行を担当する部位である。
【００７０】
ユーザインターフェイス部１６６は、ＣＮＮエンジン１５６により生成される複数の特徴検出画像の少なくとも一部、および、ＣＮＮエンジン１５６により生成される複数の特徴検出画像の少なくとも一部を用いて後処理部１７０により後処理を行うことで生成される計測結果、のうち少なくとも一方をユーザへ提示しつつ、設定パラメータの入力を受付ける。より具体的には、ユーザインターフェイス部１６６は、画像計測処理により生成される計測結果画像および画像計測処理の途中過程において生成される画像などを、ディスプレイ１０４を介してユーザへ提示（画像表示）するとともに、キーボード１０６およびマウス１０８などを介してユーザから入力される指示（ユーザ操作）を受付ける。ユーザインターフェイス部１６６は、ユーザ操作に応じた設定パラメータを生成し、後処理部を担当する、選択部１５８、画像演算部１６０、２値化処理部１６２、判定処理部１６４へ出力する。ユーザインターフェイス部１６６が生成した設定パラメータはストレージ１３０などに格納される（図２に示すストレージ１３０の設定パラメータ１３６）。
【００７１】
ユーザインターフェイス部１６６が提供するユーザインターフェイス画面例については、後述する。
【００７２】
＜Ｅ．画像演算処理例＞
次に、複数の特徴検出画像に対する画像演算処理により特徴をより適切に抽出できるいくつかの例を説明する。
【００７３】
（ｅ１：抽出対象パターンが複数のクラスの特徴を局所的に合わせもつ場合）
図６は、本実施の形態に係る画像処理装置１００における画像演算処理の一例を説明するための図である。図６（ａ）にはＣＮＮの構築に用いた学習画像の一例を示し、図６（ｂ）には図６（ａ）に示す学習画像により構築されたＣＮＮから生成される特徴検出画像に対する画像演算処理の一例を示す。
【００７４】
例えば、図６（ａ）に示すような、クラス１として黒線の特徴を含む複数の学習画像と、クラス２として白線の特徴を含む複数の学習画像とを用いて、ＣＮＮを構築したとする。このようなＣＮＮに対して、図６（ｂ）に示すような入力画像を与えた場合には、単一の抽出対象パターンが複数のクラスの特徴検出画像に分裂して現れることになる。すなわち、図６（ｂ）に示す入力画像は、黒線の特徴と白線の特徴とを合わせもっており、それぞれの特徴が異なるクラスの特徴検出画像として別々に抽出される。
【００７５】
このような場合には、それぞれの特徴検出画像を加算するという画像演算処理を採用することで、両方の特徴を含む画像を生成することができる。
【００７６】
（ｅ２：抽出対象パターンの特徴が複数のクラスに包含されている場合）
図７は、本実施の形態に係る画像処理装置１００における画像演算処理の別の一例を説明するための図である。図７（ａ）にはＣＮＮの構築に用いた学習画像の一例を示し、図７（ｂ）には図７（ａ）に示す学習画像により構築されたＣＮＮから生成される特徴検出画像に対する画像演算処理の一例を示す。
【００７７】
例えば、図７（ａ）に示すような、クラス１として直線の特徴を含む複数の学習画像と、クラス２として点の特徴を含む複数の学習画像とを用いて、ＣＮＮを構築したとする。このようなＣＮＮに対して、図７（ｂ）に示すような入力画像を与えた場合には、可能性のあるすべてのクラスの特徴検出画像に特徴が現れることになる。すなわち、図７（ｂ）に示す入力画像の下側に存在する楕円状の点パターンは、点のクラスおよびと直線のクラスの両方に特徴として現れている。この楕円状の点パターンは、点であるので、直線として抽出されるべきではない特徴である。
【００７８】
このような状態において、入力画像に含まれる直線のみを抽出したい場合には、直線の特徴検出画像（画像Ａ）から点の特徴検出画像（画像Ｂ）を減算することで、楕円状の点パターンを含まない演算結果画像（画像Ｃ）を生成できる。
【００７９】
（ｅ３：抽出対象パターンの特徴がクラス毎に異なった強度で現れている場合）
図８は、本実施の形態に係る画像処理装置１００における画像演算処理のさらに別の一例を説明するための図である。上述の図７（ａ）に示すような、クラス１として直線の特徴を含む複数の学習画像と、クラス２として点の特徴を含む複数の学習画像とを用いて、ＣＮＮを構築したとする。
【００８０】
このようなＣＮＮに対して、図８に示すような入力画像を与えた場合には、可能性のあるすべてのクラスの特徴検出画像に特徴が現れることになる。但し、抽出対象ではない楕円の点パターンは、点の特徴検出画像より直線の特徴検出画像においてより強く現れている。また、抽出対象の線パターンは、コントラストが低く、直線の特徴検出画像においても反応が小さい（この例では、濃度が低い）。
【００８１】
このようなそれぞれの特徴検出画像に現れる強度が異なっている場合には、直線の特徴検出画像（画像Ａ）から点の特徴検出画像（画像Ｂ）を減算したとしても、抽出対象ではない、楕円状の点パターンの特徴が残り得る。すなわち、特徴検出画像同士の画像演算処理において、少なくとも１つの特徴検出画像に適切な係数を乗じることが好ましい場合がある。
【００８２】
図８に示す例においては、直線の特徴検出画像（画像Ａ）および点の特徴検出画像（画像Ｂ）にそれぞれ係数αおよび係数β（図８に示す例では、β＞α）を乗じることで、「Ｃ＝α×Ａ−β×Ｂ」の画像演算処理を実行することができ、これによって、楕円状の点パターンを含まない演算結果画像（画像Ｃ）を生成できる。
【００８３】
なお、係数αおよび係数βについては、ユーザが演算結果画像を目視しながら調整するようにしてもよいし、ユーザが抽出すべきではない領域を指定することで、それぞれの係数を最適化するようにしてもよい。
【００８４】
（ｅ４：小括）
本実施の形態に係る画像演算処理は、上述した画像演算処理例に限定されることなく、用途に応じて、任意の演算を採用できる。また、説明の便宜上、２つの特徴検出画像を用いた画像演算処理を例示したが、これに限らず、３つ以上の特徴検出画像を用いた画像演算処理を実行するようにしてもよい。
【００８５】
すなわち、本実施の形態に係る画像演算処理は、抽出対象パターンが強く現れるように、複数の特徴検出画像に対して任意の線型演算または非線形演算を実行することを包含し得る。
【００８６】
このような画像演算処理を実行することで、典型的には、特徴検出画像間で減算演算を行うことで、複数のクラスの特徴検出画像に重複して現れた抽出対象ではないパターンをキャンセルすることができる。あるいは、同一の抽出対象パターンが複数のクラスの特徴検出画像に分裂して現れた場合には、特徴検出画像間で加算演算を行うことで、抽出対象パターンの全体を含む画像を生成できる。
【００８７】
＜Ｆ．ユーザインターフェイス画面例＞
次に、本実施の形態に係る画像処理装置１００が提供するユーザインターフェイス画面のいくつかの例を説明する。
【００８８】
（ｆ１：特徴検出画像の選択）
図９は、本実施の形態に係る画像処理装置１００が提供するユーザインターフェイス画面２００の一例を示す模式図である。図９を参照して、ユーザインターフェイス画面２００においては、任意の入力画像にＣＮＮを適用することで生成される４つの特徴検出画像２１２，２１４，２１６，２１８が一覧表示されている。
【００８９】
ユーザインターフェイス画面２００は、４つの特徴検出画像２１２，２１４，２１６，２１８のうちいずれの特徴検出画像を画像計測処理に用いるのかの選択を受付ける選択受付領域２２０を含む。選択受付領域２２０は、例えば、特徴検出画像の選択を受付けるためのラジオボタン群２２２を含む。
【００９０】
ユーザは、ユーザインターフェイス画面２００に一覧表示される複数の特徴検出画像２１２，２１４，２１６，２１８を見つつ、ラジオボタン群２２２に対する選択操作を与えて、画像計測処理に適した特徴検出画像を選択する。このような操作によって選択された特徴検出画像が画像計測処理に用いられる。ラジオボタン群２２２に対する選択操作は、図５に示すユーザインターフェイス部１６６から選択部１５８へ与えられる設定パラメータに含まれてもよい。
【００９１】
（ｆ２：計測結果画像の選択）
図１０は、本実施の形態に係る画像処理装置１００が提供するユーザインターフェイス画面２０２の一例を示す模式図である。図１０を参照して、ユーザインターフェイス画面２０２においては、任意の入力画像にＣＮＮを適用することで生成されるそれぞれの特徴検出画像に対して後処理を適用することで生成される計測結果画像２３２，２３４，２３６，２３８が一覧表示されている。
【００９２】
ユーザインターフェイス画面２０２は、４つの計測結果画像２３２，２３４，２３６，２３８のうちいずれの計測結果画像を画像計測処理に用いるのかの選択を受付ける選択受付領域２２４を含む。選択受付領域２２４は、例えば、計測結果画像の選択を受付けるためのラジオボタン群２２６を含む。
【００９３】
ユーザは、ユーザインターフェイス画面２０２に一覧表示される複数の計測結果画像２３２，２３４，２３６，２３８を見つつ、ラジオボタン群２２６に対する選択操作を与えて、画像計測処理に適した計測結果画像を選択する。このような操作によって選択された計測結果画像に基づいて計測結果が出力される。
【００９４】
ラジオボタン群２２６に対して複数の選択を受付可能にしてもよい。この場合、選択された２以上の計測結果画像を加算して得られる画像を計測結果画像として出力するようにしてもよい。
【００９５】
ラジオボタン群２２６に対する選択操作は、図５に示すユーザインターフェイス部１６６から選択部１５８へ与えられる設定パラメータに含まれてもよい。
【００９６】
ユーザインターフェイス画面２０２に一覧表示される計測結果画像２３２，２３４，２３６，２３８の各々においては、対応する特徴（本例では、欠陥）として抽出された部分（検出領域２４０）が他の領域とは異なる表示態様で示されている。ユーザは、計測結果画像２３２，２３４，２３６，２３８の各々に表示される検出領域２４０の大きさや位置などを確認することで、いずれの計測結果画像を計測結果として用いるのが適切であるかを決定できる。
【００９７】
ユーザインターフェイス画面２０２は、後処理に係る設定パラメータを受付ける後処理設定受付領域２５０を含む。後処理設定受付領域２５０は、例えば、２値化処理に用いるしきい値（２値化レベル）の設定値を受付けるためのスライダ２５２と、対応する特徴量に反応した領域のうち欠陥とみなされる領域の最小面積（以下、「最小欠陥面積」とも称す。）の設定値を受付けるためのスライダ２５４とを含む。
【００９８】
ユーザがスライダ２５２を操作することで、２値化処理に用いるしきい値が変化し、それに伴って、ユーザインターフェイス画面２０２に一覧表示される複数の計測結果画像２３２，２３４，２３６，２３８の画像内容も連動して変化することになる。より具体的には、ユーザによるスライダ２５２の操作に連動して、各計測結果画像内の検出領域２４０の大きさなどが変化することになる。
【００９９】
このようなスライダ２５２に対するユーザ操作は、図５に示すユーザインターフェイス部１６６から２値化処理部１６２へ与えられる設定パラメータに含まれてもよい。すなわち、画像処理装置１００のユーザインターフェイス部１６６（図５）は、設定パラメータとして、２値化処理部１６２における２値化処理に用いるしきい値の設定を受付ける。
【０１００】
同様に、ユーザがスライダ２５４を操作することで、最小欠陥面積が変化し、それに伴って、ユーザインターフェイス画面２０２に一覧表示される複数の計測結果画像２３２，２３４，２３６，２３８の画像内容も連動して変化することになる。より具体的には、ユーザによるスライダ２５４の操作に連動して、各計測結果画像内の検出領域２４０の大きさなどが変化することになる。
【０１０１】
このようなスライダ２５４に対するユーザ操作は、図５に示すユーザインターフェイス部１６６から判定処理部１６４へ与えられる設定パラメータに含まれてもよい。
【０１０２】
図１１は、本実施の形態に係る画像処理装置１００が提供するユーザインターフェイス画面２０４の一例を示す模式図である。図１１を参照して、ユーザインターフェイス画面２０４は、図１０に示すユーザインターフェイス画面２０２を拡張したものである。
【０１０３】
図１１を参照して、ユーザインターフェイス画面２０４においては、任意の入力画像にＣＮＮを適用することで生成されるそれぞれの特徴検出画像に対して後処理を適用することで生成される計測結果画像２３２，２３４，２３６，２３８が一覧表示されている。
【０１０４】
ユーザインターフェイス画面２０４においては、ユーザが任意に選択した演算結果画像に対して後処理を提供することで生成される計測結果画像２４２もさらに表示されている。図１１に示す計測結果画像２４２は、黒線の特徴検出画像から黒点の特徴検出画像を減算して得られる演算結果画像に対して、他の特徴検出画像に対して適用される後処理と同様の後処理を適用して得られたものである。
【０１０５】
このように、ユーザインターフェイス画面２０４は、特徴検出画像単体から生成される計測結果に加えて、演算結果画像から生成される計測結果をユーザへ提示することが可能である。
【０１０６】
さらに、ユーザインターフェイス画面２０４においては、プルダウンリスト２４６を操作して、表示領域２４４に表示させる画像を自在に選択することもできる。ユーザは、選択受付領域２２４に含まれるラジオボタン群２２７のいずれかを選択することで、計測結果として出力する計測結果画像を選択する。このように、画像処理装置１００が有している特徴検出画像のうち、いずれを表示させるのかについて、ユーザは任意に選択することができる。すなわち、画像処理装置１００のユーザインターフェイス部１６６（図５）は、ユーザ選択に従って、ユーザへ提示する画像の種類を決定できるようになっている。
【０１０７】
図１１に示すユーザインターフェイス画面２０４のその他の部分は、図１０に示すユーザインターフェイス画面２０２の対応する部分と同様であるので、詳細な説明は繰返さない。
【０１０８】
上述の図１０および図１１に示すユーザインターフェイス画面においては、ユーザの操作によって設定パラメータが変更されると、表示されている画像（入力画像を除く）は、変更後の設定パラメータに従って再生成されて、その再生成される画像に基づいて表示が更新される。すなわち、画像処理装置１００のユーザインターフェイス部１６６（図５）がユーザからの設定パラメータの変更を受付けると、後処理部１７０（図５）は、変更後の設定パラメータに従って後処理を行うことで、新たな計測結果を生成するとともに、ユーザインターフェイス部１６６が新たに生成された計測結果をユーザへ提示する。このように、ユーザの設定操作に連動して表示内容が更新されるので、ユーザによる設定パラメータの最適化が容易化する。
【０１０９】
（ｆ３：計測結果画像および入力画像の重畳表示）
上述の図１０および図１１に示すユーザインターフェイス画面において、計測結果画像を入力画像の上に重畳表示するようにしてもよい。このような重畳表示を行うことで、現実に撮像した入力画像内に存在する抽出すべき特徴（例えば、欠陥）を見つつ、計測結果画像内において特徴が検出領域２４０として正しく抽出されているか否かを評価することができる。このような画面内での比較を逐次行いつつ、ユーザは、後処理設定受付領域２５０に含まれるスライダ２５２および／またはスライダ２５４を調整することで、適切な設定パラメータを決定できる。
【０１１０】
図１２は、図１０および図１１に示すユーザインターフェイス画面における計測結果画像の重畳表示を説明するための図である。図１２を参照して、計測結果画像の検出領域２４０以外の領域を透明化するとともに、入力画像を背景として配置する。このようなレイヤ別の画像表示を行うことで、入力画像上に検出領域２４０が重畳表示された状態を表現できる。このように、本実施の形態に係る画像処理装置１００においては、入力画像上に検出された検出領域２４０を重畳表示するようにしてもよい。
【０１１１】
また、計測結果画像ではなく、特徴検出画像を入力画像上に重畳表示してもよい。さらに、入力画像上に重畳表示する画像をユーザが任意に選択できるようにしてもよい。
【０１１２】
さらに、計測結果を入画像上に重畳表示するようにしてもよい。
図１３は、本実施の形態に係る画像処理装置１００が提供する入力画像上に計測結果が重畳表示された一例を示す図である。図１３を参照して、何らかの入力画像に対する画像計測処理によって得られた計測結果を当該入力画像上に重畳表示してもよい。
【０１１３】
この場合、抽出された検出領域が示す欠陥位置などを入力画像上に重畳表示してもよい。さらに、抽出された検出領域の重心位置に十字状のカーソルを表示するようにしてもよいし、抽出された検出領域を取り囲む矩形を表示するようにしてもよい。
【０１１４】
上述したように、画像処理装置１００のユーザインターフェイス部１６６（図５）は、入力画像に計測結果を重畳した画像をユーザへ提示する。このように、計測結果を評価するためのオブジェクトが重畳表示されることで、ユーザは、画像計測処理に用いられる設定パラメータをより容易に調整できる。
【０１１５】
（ｆ４：検出領域の表示態様）
上述の図１０〜図１３においては、抽出対象パターンに相当するとして抽出された検出領域２４０が２値化された状態で表示される例を示した。抽出される検出領域２４０は、例えば、赤色や黄色などの他の領域とは一目して区別できるような色などを用いて表示することが好ましい。
【０１１６】
検出領域２４０は２値化された状態ではなく、特徴検出画像に現れた強度の大きさに応じて、表示濃度や輝度などを変化させてもよい。例えば、特徴検出画像内において大きな強度を示すほど、表示濃度を濃くするようにしてもよい。すなわち、特徴検出画像内に現れた強度の大きさに応じて、表示濃度や表示色を連続的に異ならせるようにしてもよい。
【０１１７】
また、特徴検出画像内に現れた強度の大きさに応じて、表示濃度を段階的に異ならせるようにしてもよい。あるいは、特徴検出画像内に現れた強度の大きさに応じて、表示色を段階的に異ならせるようにしてもよい。
【０１１８】
このような連続的または段階的に表示態様を異ならせる場合には、変化の態様や変化の度合いなどをユーザ設定または外部設定できるようにしてもよい。例えば、変化させる表示色の色範囲などをユーザが任意に設定できるようにしてもよい。
【０１１９】
（ｆ５：複数画像の表示）
上述の図９においては、異なるクラスの特徴検出画像が一覧表示される例を示し、図１０および図１１においては、異なるクラスの特徴検出画像から生成される計測結果画像が一覧表示される例を示す。
【０１２０】
このような同一種類の複数の画像を表示するだけではなく、画像計測処理の処理過程において順次生成される画像、例えば、入力画像、入力画像を前処理した結果得られる前処理結果画像、特徴検出画像、演算結果画像、２値化画像のうち、任意に選択された画像を一覧表示するようにしてもよい。このように一覧表示される画像は、ユーザが任意に選択するようにしてもよい。
【０１２１】
＜Ｇ．処理手順＞
次に、本実施の形態に係る画像処理システム１における処理手順について説明する。本実施の形態に係る画像処理システム１においては、画像計測処理に係る設定パラメータを設定するための準備工程と、現実に対象のワークを撮像して画像計測処理を実行する運用工程とが存在する。
【０１２２】
図１４は、本実施の形態に係る画像処理システム１における準備工程の処理手順を示すフローチャートである。図１５は、本実施の形態に係る画像処理システム１における運用工程の処理手順を示すフローチャートである。図１４および図１５に示す処理手順の各ステップは、典型的には、画像処理装置１００のプロセッサ１１０が画像処理プログラム１３２などを実行することで実現される。
【０１２３】
図１４を参照して、画像処理装置１００は、画像計測処理の基準となるワークを所定位置に配置した状態でカメラ１０２を用いて撮像して得られる入力画像を取得する（ステップＳ１００）。このとき、カメラ１０２がワークを撮像することで生成される入力画像（画像データ）は、画像処理装置１００へ転送されて、画像処理装置１００のメインメモリ１１２に展開される。続いて、画像処理装置１００は、取得した入力画像に対して前処理を実行する（ステップＳ１０２）。
【０１２４】
さらに、画像処理装置１００は、事前学習されたＣＮＮを用いて、前処理後の入力画像から１または複数の特徴の種類（クラス）毎に特徴を抽出する処理を実行する。画像処理装置１００は、この特徴を抽出する処理によって、１または複数のクラス毎の特徴検出画像を生成する（ステップＳ１０４）。最終的に、画像処理装置１００は、生成した１または複数の特徴検出画像、または、１または複数の特徴検出画像に対してデフォルトの後処理を実行することで生成される１または複数の計測結果画像をディスプレイ１０４などに表示する（ステップＳ１０６）。
【０１２５】
そして、画像処理装置１００は、１または複数の特徴検出画像、または、１または複数の計測結果画像をユーザに提示した状態で、ユーザからの画像計測処理に係る設定（１または複数の設定パラメータ）を受付ける（ステップＳ１０８）。画像処理装置１００は、ユーザからの設定パラメータに従って、画像演算処理および／または後処理を再度実行することで１または複数の画像計測処理を再度生成し（ステップＳ１１０）、生成される１または複数の計測結果画像をディスプレイ１０４などに表示する（ステップＳ１１２）。
【０１２６】
すなわち、画像処理装置１００は、ＣＮＮを用いて生成される１または複数の特徴検出画像をユーザに提示するとともに、ユーザからの設定に従って、設定された１または複数の特徴検出画像を選択し、設定された画像演算処理および／または後処理を実行することで、変更後の設定パラメータに従う画像計測処理を再度実行する。
【０１２７】
ユーザから設定パラメータの決定の指示を受けるまで、ステップＳ１０８〜Ｓ１１２の処理が複数回繰返されてもよい（ステップＳ１１４においてＮＯの場合）。
【０１２８】
最終的に、ユーザから設定パラメータの決定の指示を受けると（ステップＳ１１４においてＹＥＳの場合）、画像処理装置１００は、現在の設定値を運用工程での設定パラメータとして格納する（ステップＳ１１６）。そして、準備工程での処理は終了する。
【０１２９】
図１５を参照して、画像処理装置１００は、画像計測処理の基準となるワークがカメラ１０２の撮像視野６に到着すると、カメラ１０２を用いて当該ワークを撮像して得られる入力画像を取得する（ステップＳ２００）。このとき、カメラ１０２がワークを撮像することで生成される入力画像（画像データ）は、画像処理装置１００へ転送されて、画像処理装置１００のメインメモリ１１２に展開される。
【０１３０】
続いて、画像処理装置１００は、取得した入力画像に対して前処理を実行する（ステップＳ２０２）。さらに、画像処理装置１００は、事前学習されたＣＮＮを用いて、前処理後の入力画像から１または複数の特徴の種類（クラス）毎に特徴を抽出する処理を実行する。画像処理装置１００は、この特徴を抽出する処理によって、１または複数のクラス毎の特徴検出画像を生成する（ステップＳ２０４）。
【０１３１】
画像処理装置１００は、設定パラメータに画像演算処理が指定されている場合には、選択された１または複数の特徴検出画像に対して、指定された画像演算処理を実行して、演算結果画像を生成する（ステップＳ２０６）。画像演算処理としては、設定パラメータにおいて指定される、加算処理、減算処理、および、それらの重付き演算処理などを含み得る。
【０１３２】
続いて、画像処理装置１００は、設定パラメータに従って、選択された特徴検出画像または演算結果画像に対して２値化処理を実行して２値化画像を生成する（ステップＳ２０８）。設定パラメータは、２値化処理に用いられるしきい値などを含み得る。
【０１３３】
続いて、画像処理装置１００は、設定パラメータに従って、２値化画像に対して、判定処理を実行して、計測結果画像および／または計測結果を生成する（ステップＳ２１０）。設定パラメータには、判定処理に用いられるラベリングの手法および判定しきい値などを含み得る。
【０１３４】
最終的に、画像処理装置１００は、生成した計測結果画像および／または計測結果を出力する（ステップＳ２１２）。計測結果画像および／または計測結果の出力先としては、ディスプレイ１０４などであってもよいし、上位ネットワーク８を介して接続されている、ＰＬＣ１０および／またはデータベース装置１２であってもよい。そして、運用工程の処理は終了する。
【０１３５】
なお、図１５に示す運用工程の処理手順が開始される条件は、ワークの到着を検出するタイミングセンサからのトリガ信号、上位装置からの実行開始指令、ユーザからの指示のいずれであってもよい。
【０１３６】
＜Ｈ．利点＞
本実施の形態に係る画像処理装置は、事前学習された複数のクラスを有する汎用的なＣＮＮを用いて任意の被検査対象に対する画像計測処理を実現する。このような汎用的なＣＮＮを用いた場合には、同一の特徴が複数のクラスの特徴検出画像に分裂して現れる場合や、同一の特徴が複数のクラスの特徴検出画像に共通して現れる場合などが生じ得る。
【０１３７】
目的とする被検査対象に応じてＣＮＮを再学習するなどの対処をとることもできるが、目的とする被検査対象が頻繁に変化するようなアプリケーションにおいては、現実的な対処ではない。そこで、本実施の形態においては、クラス毎に生成される特徴検出画像のうち２つ以上の特徴検出画像の間で任意の画像演算を行うことで、複数のクラスの特徴検出画像上に現れた目的の被検査対象に起因する特徴パターンを低減したり、あるいは、複数のクラスの特徴検出画像に分裂して現れた同一の被検査対象に起因する特徴パターンをまとめたりすることができる。
【０１３８】
このように、本実施の形態に係る画像処理装置では、特徴検出画像間で任意の画像演算が可能になっており、これにより、汎用的なＣＮＮを用いる場合であっても、アプリケーションに応じた実用的な画像計測処理を提供できる。
【０１３９】
また、本実施の形態に係る画像処理装置は、画像計測処理の過程において生成される画像を比較可能にユーザへ提示することができる。例えば、ＣＮＮによりクラス毎に生成される特徴検出画像の一覧をユーザへ提示したり、それぞれの特徴検出画像に対して後処理を行うことで生成される計測結果画像の一覧をユーザへ提示したりすることができる。
【０１４０】
このような提示されている複数の画像を見ながら、ユーザは、設定パラメータを必要に応じて調整できる。さらに、計測結果画像を入力画像上に重畳表示することもでき、これによって、ユーザは、設定パラメータの適否を一見して把握することができる。た、ユーザによる設定パラメータの調整に伴って、計測結果画像などが再生成されるので、ユーザは、設定パラメータの適否をリアルタイムで確認することができる。
【０１４１】
また、本実施の形態に係る画像処理装置が提供するユーザインターフェイス画面においては、表示する画像をユーザが任意に選択することができ、この選択対象としては、特徴検出画像単体に対して後処理を行うことで生成される計測結果画像に加えて、ユーザが指定した任意の画像演算処理によって生成される演算結果画像に対して後処理を行うことで生成される計測結果画像も含めることができる。このような表示される画像の選択の自由度を高めることによって、ユーザによる設定パラメータの調整を容易化できる。
【０１４２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４３】
１  画像処理システム、２  ベルトコンベア、４  ワーク、６  撮像視野、８  上位ネットワーク、１０  ＰＬＣ、１２  データベース装置、１００  画像処理装置、１０２  カメラ、１０４  ディスプレイ、１０６  キーボード、１０８  マウス、１１０  プロセッサ、１１２  メインメモリ、１１４  カメラインターフェイス、１１６  入力インターフェイス、１１８  表示インターフェイス、１２０  通信インターフェイス、１２２  内部バス、１３０  ストレージ、１３２  画像処理プログラム、１３４  ＯＳ、１３６  設定パラメータ、１３８  入力画像、１４０  計測結果、１５２  入力バッファ、１５４  前処理部、１５６  ＣＮＮエンジン、１５８  選択部、１６０  画像演算部、１６２  ２値化処理部、１６４  判定処理部、１６６  ユーザインターフェイス部、１７０  後処理部、２００，２０２，２０４  ユーザインターフェイス画面、２１２，２１４，２１６，２１８  特徴検出画像、２２０，２２４  選択受付領域、２２２，２２６，２２７  ラジオボタン群、２３２，２３４，２３６，２３８，２４２  計測結果画像、２４０  検出領域、２４４  表示領域、２４６  プルダウンリスト、２５０  後処理設定受付領域、２５２，２５４  スライダ。
【図１】
2018190329.tif 000003
【図２】
2018190329.tif 000004
【図３】
2018190329.tif 000005
【図４】
2018190329.tif 000006
【図５】
2018190329.tif 000007
【図６】
2018190329.tif 000008
【図７】
2018190329.tif 000009
【図８】
2018190329.tif 000010
【図９】
2018190329.tif 000011
【図１０】
2018190329.tif 000012
【図１１】
2018190329.tif 000013
【図１２】
2018190329.tif 000014
【図１３】
2018190329.tif 000015
【図１４】
2018190329.tif 000016
【図１５】
2018190329.tif 000017
【手続補正書】
【提出日】平成30年2月21日(2018.2.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
表示インターフェイス１１８は、ディスプレイ１０４と接続され、プロセッサ１１０によるプログラムの実行によって生成される各種処理結果をディスプレイ１０４へ出力する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
図３に示すように、カメラ１０２などにより撮像された入力画像がＣＮＮに入力されることで、特徴量を「白点」、「黒点」、「白線」、「黒線」とする特徴検出画像がそれぞれ生成される。図３に示す特徴検出画像においては、対応する各特徴を示す領域が他の領域に比較してより明るくなるように濃淡表示されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
例えば、図７（ａ）に示すような、クラス１として直線の特徴を含む複数の学習画像と、クラス２として点の特徴を含む複数の学習画像とを用いて、ＣＮＮを構築したとする。このようなＣＮＮに対して、図７（ｂ）に示すような入力画像を与えた場合には、可能性のあるすべてのクラスの特徴検出画像に特徴が現れることになる。すなわち、図７（ｂ）に示す入力画像の下側に存在する楕円状の点パターンは、点のクラスおよび直線のクラスの両方に特徴として現れている。この楕円状の点パターンは、点であるので、直線として抽出されるべきではない特徴である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
さらに、計測結果を入力画像上に重畳表示するようにしてもよい。
図１３は、本実施の形態に係る画像処理装置１００が提供する入力画像上に計測結果が重畳表示された一例を示す図である。図１３を参照して、何らかの入力画像に対する画像計測処理によって得られた計測結果を当該入力画像上に重畳表示してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
このような提示されている複数の画像を見ながら、ユーザは、設定パラメータを必要に応じて調整できる。さらに、計測結果画像を入力画像上に重畳表示することもでき、これによって、ユーザは、設定パラメータの適否を一見して把握することができる。また、ユーザによる設定パラメータの調整に伴って、計測結果画像などが再生成されるので、ユーザは、設定パラメータの適否をリアルタイムで確認することができる。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2018190329.tif 000018
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2018190329.tif 000019