(57)【要約】【課題】画像から対象物を探索するための画像処理プログラムについてパラメータの設定を支援する技術が要望されている。【解決手段】画像処理装置１００は、入力画像３０から生成された解像度の異なる画像群を用いて探索対象物を探索する画像処理プログラム２０に対して、パラメータ群２８Ａ〜２８Ｃの各々を適用し、各パラメータ群について探索結果を取得するとともに、画像処理プログラム２０の実行過程で得られる画像群を各パラメータ群について取得するプログラム実行部１５１と、取得された複数の画像群のそれぞれから合成画像を生成する合成部１５２と、生成された複数の合成画像を表示するとともに、取得された複数の探索結果を当該複数の合成画像にそれぞれ重ねて表示する表示部１０２と、表示部１０２に表示された複数の合成画像の内から操作によって選択された合成画像に対応するパラメータ群を画像処理プログラムに設定する設定部１５３とを備える。【選択図】図２
2019045938.tif 000002
【特許請求の範囲】
【請求項１】
探索対象物を含む入力画像を取得するための画像取得部と、
前記入力画像から生成された解像度の異なる画像群を用いて前記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、前記１つ以上のパラメータ群の各々について前記画像処理プログラムによる探索結果を取得するとともに、前記画像処理プログラムの実行過程で得られる前記画像群を前記１つ以上のパラメータ群の各々について取得するためのプログラム実行部と、
前記取得された１つ以上の画像群の各々から合成画像を生成するための合成部と、
前記生成された１つ以上の合成画像を表示するとともに、前記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示するための表示部と、
前記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるための操作受付部と、
前記操作によって選択された合成画像に対応するパラメータ群を前記画像処理プログラムに設定するための設定部とを備える、画像処理装置。
【請求項２】
前記画像処理プログラムは、前記入力画像から生成された解像度の異なる画像群の内、解像度の低い画像から順に前記探索対象物を探索し、各画像における探索結果に基づいて解像度が次に高い画像における探索範囲を限定しながら前記探索対象物を探索する、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理プログラムに適用されるパラメータ群は、前記入力画像から生成された解像度の異なる画像群の各画像に適用される閾値群であって、各画像内において前記探索対象物が含まれているか否かを判断するための閾値群を含む、請求項２に記載の画像処理装置。
【請求項４】
前記表示部は、１つ以上のパラメータ群の各々に対する評価値をさらに表示する、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記合成部は、前記入力画像から生成された解像度の異なる画像群の解像度を合わせた上で当該画像群から合成画像を生成する、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像処理プログラムは、前記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化し、
前記合成部は、前記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素値についてＡＮＤ演算を実行し、当該ＡＮＤ演算の結果として前記合成画像を出力する、請求項５に記載の画像処理装置。
【請求項７】
前記画像処理プログラムは、前記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化し、
前記合成部は、前記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素値についてＯＲ演算を実行し、当該ＯＲ演算の結果として前記合成画像を出力する、請求項５に記載の画像処理装置。
【請求項８】
前記画像処理プログラムは、前記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化し、
前記合成部は、前記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素を画素値の情報が失われないように合成し、当該合成結果として前記合成画像を出力する、請求項５に記載の画像処理装置。
【請求項９】
前記画像処理プログラムに適用されるパラメータ群は、前記入力画像から生成された解像度の異なる画像群に適用される閾値群であって、各画像内の各画素がエッジを表わす画素であるか否かを判断するための閾値群を含む、請求項６〜８のいずれか１項に記載の画像処理装置。
【請求項１０】
画像処理プログラムに対するパラメータの設定を支援するための設定支援方法であって、
探索対象物を含む入力画像を取得するステップと、
前記入力画像から生成された解像度の異なる画像群を用いて前記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、前記１つ以上のパラメータ群の各々について前記画像処理プログラムによる探索結果を取得するとともに、前記画像処理プログラムの実行過程で得られる前記画像群を前記１つ以上のパラメータ群の各々について取得するステップと、
前記取得された１つ以上の画像群の各々から合成画像を生成するステップと、
前記生成された１つ以上の合成画像を表示するとともに、前記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示部に表示するステップと、
前記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるステップと、
前記操作によって選択された合成画像に対応するパラメータ群を前記画像処理プログラムに設定するステップとを備える、設定支援方法。
【請求項１１】
画像処理プログラムに対するパラメータの設定を支援するための設定支援プログラムであって、
前記設定支援プログラムは、画像処理装置に、
探索対象物を含む入力画像を取得するステップと、
前記入力画像から生成された解像度の異なる画像群を用いて前記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、前記１つ以上のパラメータ群の各々について前記画像処理プログラムによる探索結果を取得するとともに、前記画像処理プログラムの実行過程で得られる前記画像群を前記１つ以上のパラメータ群の各々について取得するステップと、
前記取得された１つ以上の画像群の各々から合成画像を生成するステップと、
前記生成された１つ以上の合成画像を表示するとともに、前記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示部に表示するステップと、
前記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるステップと、
前記操作によって選択された合成画像に対応するパラメータ群を前記画像処理プログラムに設定するステップとを実行させる、設定支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像から対象物を探索するための画像処理プログラムについてパラメータの設定を支援するための技術に関する。
【背景技術】
【０００２】
近年、画像から対象物を探索するための種々の画像処理プログラムが開発されている。たとえば、特開２０１７−０４１１９０号公報（特許文献１）は、疎密探索法を利用した画像処理プログラムにより画像からワークの検出する方法を開示している。疎密探索法は、入力画像から解像度の異なる画像群を生成し、解像度の低い画像から順に探索対象物を探索し、各画像における探索結果に基づいて解像度が次に高い画像における探索範囲を限定しながら対象物を探索するアルゴリズムである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０４１１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザは、探索精度や処理時間などを調整するために、疎密探索法などの画像処理プログラムに対して様々なパラメータを設定する必要がある。このとき、ユーザは、画像処理プログラムの内容を詳細に理解している必要がある。しかしながら、内部の処理はブラックボックス化されているため、ユーザは、どのパラメータをどのように設定すればいいのかを容易には理解することができない。設定すべきパラメータの種類が多くなると、パラメータの調整はさらに困難となる。したがって、画像から対象物を探索するための画像処理プログラムについてパラメータの設定を支援するための技術が望まれている。
【課題を解決するための手段】
【０００５】
ある局面に従うと、画像処理装置は、探索対象物を含む入力画像を取得するための画像取得部と、上記入力画像から生成された解像度の異なる画像群を用いて上記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、上記１つ以上のパラメータ群の各々について上記画像処理プログラムによる探索結果を取得するとともに、上記画像処理プログラムの実行過程で得られる上記画像群を上記１つ以上のパラメータ群の各々について取得するためのプログラム実行部と、上記取得された１つ以上の画像群の各々から合成画像を生成するための合成部と、上記生成された１つ以上の合成画像を表示するとともに、上記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示するための表示部と、上記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるための操作受付部と、上記操作によって選択された合成画像に対応するパラメータ群を上記画像処理プログラムに設定するための設定部とを備える。
【０００６】
ある局面に従うと、上記画像処理プログラムは、上記入力画像から生成された解像度の異なる画像群の内、解像度の低い画像から順に上記探索対象物を探索し、各画像における探索結果に基づいて解像度が次に高い画像における探索範囲を限定しながら上記探索対象物を探索する。
【０００７】
ある局面に従うと、上記画像処理プログラムに適用されるパラメータ群は、上記入力画像から生成された解像度の異なる画像群の各画像に適用される閾値群であって、各画像内において上記探索対象物が含まれているか否かを判断するための閾値群を含む。
【０００８】
ある局面に従うと、上記表示部は、１つ以上のパラメータ群の各々に対する評価値をさらに表示する。
【０００９】
ある局面に従うと、上記合成部は、上記入力画像から生成された解像度の異なる画像群の解像度を合わせた上で当該画像群から合成画像を生成する。
【００１０】
ある局面に従うと、上記画像処理プログラムは、上記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化する。上記合成部は、上記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素値についてＡＮＤ演算を実行し、当該ＡＮＤ演算の結果として上記合成画像を出力する。
【００１１】
ある局面に従うと、上記画像処理プログラムは、上記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化する。上記合成部は、上記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素値についてＯＲ演算を実行し、当該ＯＲ演算の結果として上記合成画像を出力する。
【００１２】
ある局面に従うと、上記画像処理プログラムは、上記入力画像から生成された解像度の異なる画像群について、エッジを表わす画素とエッジを表わさない画素とで二値化する。上記合成部は、上記二値化後の画像群の解像度を揃えた上で当該画像群の同一座標の各画素を画素値の情報が失われないように合成し、当該合成結果として上記合成画像を出力する。
【００１３】
ある局面に従うと、上記画像処理プログラムに適用されるパラメータ群は、上記入力画像から生成された解像度の異なる画像群に適用される閾値群であって、各画像内の各画素がエッジを表わす画素であるか否かを判断するための閾値群を含む。
【００１４】
ある局面に従うと、画像処理プログラムに対するパラメータの設定を支援するための設定支援方法は、探索対象物を含む入力画像を取得するステップと、上記入力画像から生成された解像度の異なる画像群を用いて上記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、上記１つ以上のパラメータ群の各々について上記画像処理プログラムによる探索結果を取得するとともに、上記画像処理プログラムの実行過程で得られる上記画像群を上記１つ以上のパラメータ群の各々について取得するステップと、上記取得された１つ以上の画像群の各々から合成画像を生成するステップと、上記生成された１つ以上の合成画像を表示するとともに、上記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示部に表示するステップと、上記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるステップと、上記操作によって選択された合成画像に対応するパラメータ群を上記画像処理プログラムに設定するステップとを備える。
【００１５】
ある局面に従うと、画像処理プログラムに対するパラメータの設定を支援するための設定支援プログラムは、画像処理装置に、探索対象物を含む入力画像を取得するステップと、上記入力画像から生成された解像度の異なる画像群を用いて上記探索対象物を探索する画像処理プログラムに対して、予め定められた１つ以上のパラメータ群の各々を適用し、上記１つ以上のパラメータ群の各々について上記画像処理プログラムによる探索結果を取得するとともに、上記画像処理プログラムの実行過程で得られる上記画像群を上記１つ以上のパラメータ群の各々について取得するステップと、上記取得された１つ以上の画像群の各々から合成画像を生成するステップと、上記生成された１つ以上の合成画像を表示するとともに、上記取得された１つ以上の探索結果を当該１つ以上の合成画像にそれぞれ重ねて表示部に表示するステップと、上記表示部に表示された１つ以上の合成画像のいずれかを選択する操作を受け付けるステップと、上記操作によって選択された合成画像に対応するパラメータ群を上記画像処理プログラムに設定するステップとを実行させる。
【発明の効果】
【００１６】
ある局面において、画像から対象物を探索するための画像処理プログラムについてパラメータの設定を支援することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態に係る画像処理システムの全体構成の一例を示す図である。
【図２】ピラミッドアルゴに対するパラメータの設定支援を概略的に示す概念図である。
【図３】パラメータ群のデータ構造の一例を示す図である。
【図４】ピラミッドアルゴを概略的に示す概念図である。
【図５】合成部によるピラミッド画像の合成処理を概略的に示す概念図である。
【図６】表示部による表示態様の一例を示す図である。
【図７】変形例１に従う合成処理を概略的に示す概念図である。
【図８】変形例２に従う合成処理を概略的に示す概念図である。
【図９】変形例３に従う合成処理を概略的に示す概念図である。
【図１０】画素群の合成処理を概略的に示す図である。
【図１１】実施の形態に係る画像処理装置のハードウェア構成の一例を示す模式図である。
【図１２】実施の形態に従う画像処理装置が実行する処理の一部を表わすフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００１９】
＜Ａ．画像処理システム１の構成＞
図１を参照して、画像処理システム１の全体構成について説明する。図１は、本実施の形態に係る画像処理システム１の全体構成の一例を示す図である。
【００２０】
画像処理システム１は、主要なコンポーネントとして、視覚センサとも称される画像処理装置１００と、画像処理装置１００と通信可能なＰＬＣ（Programmable Logic Controller）５と画像処理装置１００に接続された撮像部８（画像取得部）とを含む。
【００２１】
ＰＬＣ５は、画像処理装置１００と連係して、搬送機構６などの制御を実行する。撮像部８は、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled Charged Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサといった、複数の画素に区画された撮像素子を含んで構成される。撮像部８は、搬送機構６によって搬送されるワークＷを順次撮像する。撮像部８による撮像によって取得された入力画像は、画像処理装置１００へ伝送される。
【００２２】
画像処理装置１００は、画像から対象物を探索するための所定の画像処理プログラムを実行することで、撮像部８から得られた入力画像内においてワークＷを探索する。一例として、画像処理装置１００は、粗密探索法を利用する画像処理プログラムによって入力画像からワークＷを探索する。以下では、粗密探索法を利用する画像処理プログラムのことを「ピラミッドアルゴ」ともいう。詳細については後述するが、ピラミッドアルゴは、入力画像から解像度の異なる画像群を生成し、生成された画像群の内、解像度の低い画像から順に前記探索対象物を探索する。このとき、ピラミッドアルゴは、各画像における探索結果に基づいて解像度が次に高い画像における探索範囲を限定しながら対象物を探索する。以下では、ピラミッドアルゴの実行過程で得られる解像度の異なる画像群を「ピラミッド画像」ともいう。
【００２３】
画像処理装置１００は、入力画像から探索されたワークＷについて、欠陥や汚れの有無の検査、ワークＷの大きさや配置向きなどの計測、ワークＷ表面上の文字や図形などの認識といった画像処理プログラムを実行する。この実行結果は、たとえば、画像処理装置１００の表示部１０２に表示される。
【００２４】
＜Ｂ．パラメータの設定支援＞
図２および図３を参照して、ピラミッドアルゴに対するパラメータの設定支援方法について説明する。
【００２５】
図２は、ピラミッドアルゴに対するパラメータの設定支援を概略的に示す概念図である。図２に示されるように、画像処理装置１００は、主要なハードウェアとして、表示部１０２と、制御装置１１０と、記憶装置１２０とを含む。
【００２６】
制御装置１１０は、画像処理装置１００を制御する。制御装置１１０は、画像処理プログラム２０を実行するためのプログラム実行部１５１と、ピラミッドアルゴを実行する過程で生成されるピラミッド画像を合成する合成部１５２とを含む。
【００２７】
記憶装置１２０は、ピラミッドアルゴを実行するための画像処理プログラム２０と、画像処理プログラム２０に現在設定されている設定パラメータ２２と、画像処理プログラム２０に適用される候補となるパラメータ群２８Ａ〜２８Ｃと、ワークＷを撮影して得られた入力画像３０と、入力画像３０からワークＷを探索する時に用いられるテンプレート群３１とを含む。
【００２８】
以下では、パラメータ群２８Ａ〜２８Ｃを総称してパラメータ群２８ともいう。ここでいう「パラメータ群」とは、画像処理プログラム２０を実行するために必要なパラメータの集合を意味する。図３は、パラメータ群２８のデータ構造の一例を示す図である。図３に示されるように、パラメータ群２８は、ピラミッド画像を構成する各画像に適用される閾値群であって、各画像内において探索対象物が含まれているか否かを判断するための探索閾値群を含む。また、パラメータ群２８は、ピラミッド画像を構成する各画像に適用される閾値群であって、各画像内の各画素がエッジを表わす画素であるか否かを判断するためのエッジ閾値群を含む。その他にも、ピラミッドアルゴを実行時に利用される種々のパラメータがパラメータ群２８に規定され得る。パラメータ群２８の用いられ方については後述する。
【００２９】
再び図２を参照して、テンプレート群３１は、テンプレート３１Ａ〜３１Ｃで構成されている。テンプレート３１Ａ〜３１Ｃは、ワークＷを予め撮影して得られた基準画像であってもよいし、ワークＷの特徴部分として基準画像から抽出された特徴量であってもよい。
【００３０】
本実施の形態に従う画像処理装置１００は、ピラミッドアルゴに対するパラメータの設定を支援する。より具体的には、プログラム実行部１５１は、ピラミッドアルゴを実行するための画像処理プログラム２０に対して、予め定められた複数のパラメータ群２８Ａ〜２８Ｃの各々を適用し、各パラメータ群について画像処理プログラム２０による探索結果を取得するとともに、画像処理プログラム２０の実行過程で得られるピラミッド画像３２Ａ〜３２Ｃを各パラメータ群について取得する。
【００３１】
その後、合成部１５２は、ピラミッド画像３２Ａ〜３２Ｃの各々から合成画像３４Ａ〜３４Ｃを生成する。表示部１０２は、生成された合成画像３４Ａ〜３４Ｃを表示するとともに、各パラメータ群についての探索結果３３Ａ〜３３Ｃを合成画像３４Ａ〜３４Ｃに重ねて表示する。
【００３２】
一例として、パラメータ群２８Ａについては入力画像３０からワークＷが探索されず、パラメータ群２８Ｂ，２８Ｃについては入力画像３０からワークＷが探索されたとする。この場合、画像処理装置１００は、パラメータ群２８Ｂ，２８Ｃに対応する合成画像３４Ｂ，３４Ｃにのみ探索結果３３Ｂ，３３Ｃを重ねて表示する。これにより、ユーザは、パラメータ群２８Ａ〜２８Ｃの良否を容易に判断することができる。
【００３３】
画像処理装置１００は、表示された合成画像３４Ａ〜３４Ｃのいずれかを選択できるように構成されている。この選択操作は、たとえば、画像処理装置１００の操作受付部（たとえば、マウス、キーボード、タッチパネルなどの任意の入力装置）により受け付けられる。画像処理装置１００は、ユーザ操作によって選択された合成画像に対応するパラメータ群を画像処理プログラム２０の設定パラメータ２２に設定する。図２の例では、合成画像３４Ｂが選択されており、合成画像３４Ｂに対応するパラメータ群２８Ｂが設定パラメータ２２に設定されている。
【００３４】
以上のように、ユーザは、各パラメータ群について生成された合成画像と、各パラメータ群についての探索結果とを視覚的に確認することで、各パラメータ群の良否を直感的に理解することができる。その上で、ユーザは、良好な探索精度を得ることが可能なパラメータ群を選択することができる。これにより、画像処理プログラム２０に対する知識が無いユーザであっても、最適なパラメータ群の設定を設定することが可能になり、画像処理プログラム２０に対するパラメータの設定を支援することができる。
【００３５】
好ましくは、表示部１０２は、パラメータ群２８Ａ〜２８Ｃの各々に対する評価値をさらに表示する。当該評価値として、たとえば、パラメータ群２８Ａ〜２８Ｃの各々を画像処理プログラム２０に適用した場合の実行時間が表示される。より具体的には、画像処理装置１００は、カウンターなどの計時機能を有し、画像処理プログラムを開始してから終了するまでの実行時間を各パラメータ群について記憶しておく。表示部１０２は、各パラメータ群についての実行時間を、対応する合成画像に並べて表示する。
【００３６】
通常、探索精度が上がれば実行時間が長くなり、実行時間が短くなれば探索精度が下がる。ユーザは、このような相反する指標を視覚的に比較することができ、探索精度および実行時間を総合的に考慮してパラメータ群を選択することができる。これにより、ユーザは、所望の探索精度と実行時間とを実現することが可能な最適なパラメータ群を容易に設定することができる。
【００３７】
なお、上述では、各パラメータ群についての評価値として画像処理プログラム２０の実行時間が表示される例について説明を行ったが、表示対象の評価値は、実行時間に限定されない。たとえば、各パラメータ群に対する評価値として、各パラメータ群を画像処理プログラム２０に適用した場合における探索対象物の探索精度や検出率などが表示されてもよい。より具体的には、画像処理装置１００は、入力画像３０を元に複数の人工画像を生成する。人工画像は、たとえば、入力画像３０の各画素位置をずらしたり、入力画像３０に対して所定の環境変動が加えられることで生成される。画像処理装置１００は、生成した各人工画像に対して各パラメータ群について探索処理を実行する。画像処理装置１００は、人工画像に対する探索結果をパラメータ群ごとに集計することで探索精度や検出率を特定する。
【００３８】
また、図２には、パラメータ群２８が３つ格納されている例が示されているが、予め準備されるパラメータ群の数は任意である。予め準備されるパラメータ群の数は２つ以上であればよい。
【００３９】
＜Ｃ．ピラミッドアルゴ＞
引き続き図２を参照しつつ、図４を参照して、プログラム実行部１５１によって実行されるピラミッドアルゴについて説明する。図４は、ピラミッドアルゴを概略的に示す概念図である。
【００４０】
図４に示されるように、プログラム実行部１５１は、入力画像３０から解像度の異なる画像群（すなわち、ピラミッド画像３２Ａ）を生成する。異なる言い方をすれば、プログラム実行部１５１は、入力画像３０を所定倍率（たとえば、１／２倍）ずつ縮小し、各縮小率で得られる画像をピラミッド画像３２Ａとして生成する。図４の例では、入力画像３０からピラミッド画像３２Ａが生成されており、ピラミッド画像３２Ａは、解像度が異なる画像４１〜４３（画像群）で構成されている。
【００４１】
プログラム実行部１５１は、画像４１〜４３の内、解像度が低い画像から順に探索対象物を探索する。より具体的には、プログラム実行部１５１は、テンプレート群３１の内から画像４１の解像度に対応するテンプレート３１Ａを取得する。プログラム実行部１５１は、テンプレート３１Ａで画像４１内を走査し、画像４１内の各領域とテンプレート３１Ａとの類似度を算出する。この類似度の算出方法としては、たとえば、ＳＳＤ（Sum  of  Squared  Difference)、ＳＡＤ（Sum  of  Absolute  Difference)、ＮＣＣ（Normalized  Cross-Correlation）、またはＺＮＣＣ（Zero-mean Normalized Cross-Correlation）などの任意のアルゴリズムが採用される。プログラム実行部１５１は、探索範囲内の各画像領域の内から、類似度がパラメータ群２８Ａの探索閾値ｔｈ１を超えた画像領域を特定し、当該画像領域を探索対象物が含まれる候補とする。図４の例では、画像領域４１Ａ，４１Ｂが探索対象物を含む画像領域の候補として特定されている。
【００４２】
次に、プログラム実行部１５１は、テンプレート群３１の内から画像４２の解像度に対応するテンプレート３１Ｂを取得する。その後、プログラム実行部１５１は、探索対象物含む候補として特定された画像領域４１Ａ，４１Ｂに対応する画像領域４２Ａ，４２Ｂを探索範囲として設定する。プログラム実行部１５１は、当該画像領域４２Ａ，４２Ｂをテンプレート３１Ａで走査し、画像領域４２Ａ，４２Ｂ内の各領域とテンプレート３１Ｂとの類似度を算出する。プログラム実行部１５１は、探索範囲内の各画像領域の内から、類似度がパラメータ群２８Ａの探索閾値ｔｈ２を超えた画像領域を特定し、当該画像領域を探索対象物が含まれる候補とする。図４の例では、画像領域４２Ａが探索対象物を含む候補として特定されている。
【００４３】
次に、プログラム実行部１５１は、テンプレート群３１の内から画像４３の解像度に対応するテンプレート３１Ｃを取得する。その後、プログラム実行部１５１は、探索対象物含む候補として特定された画像領域４２Ａに対応する画像領域４３Ａを探索範囲として設定する。プログラム実行部１５１は、当該画像領域４３Ａをテンプレート３１Ｃで走査し、画像領域４３Ａ内の各領域とテンプレート３１Ｃとの類似度を算出する。プログラム実行部１５１は、探索範囲内の各画像領域の内から、類似度がパラメータ群２８Ａの探索閾値ｔｈ３を超えた画像領域を特定し、当該画像領域を探索対象物が含まれる候補とする。
【００４４】
このように、プログラム実行部１５１は、ピラミッド画像を構成する各画像の内、解像度の低い画像から順に探索対象物を探索し、各画像における探索結果に基づいて解像度が次に高い画像における探索範囲を限定しながら探索対象物を探索する。最後まで残った候補が探索結果として出力される。一例として、当該探索結果は、入力画像３０内の座標値で表わされる。
【００４５】
図２の例では、プログラム実行部１５１は、画像処理プログラム２０にパラメータ群２８Ａを適用した結果として、ピラミッド画像３２Ａと探索結果３３Ａとを出力している。同様に、プログラム実行部１５１は、画像処理プログラム２０にパラメータ群２８Ｂを適用した結果として、ピラミッド画像３２Ｂと探索結果３３Ｂとを出力している。同様に、プログラム実行部１５１は、画像処理プログラム２０にパラメータ群２８Ｃを適用した結果として、ピラミッド画像３２Ｃと探索結果３３Ｃとを出力している。ピラミッド画像３２Ａ〜３２Ｃは、合成部１５２に出力され、探索結果３３Ａ〜３３Ｃは、表示部１０２に出力される。
【００４６】
＜Ｄ．合成処理＞
引き続き図２を参照しつつ、図５および図６を参照して、合成部１５２によるピラミッド画像の合成処理について説明する。図５は、合成部１５２によるピラミッド画像の合成処理を概略的に示す概念図である。
【００４７】
なお、図５の例では、人物が写っているピラミッド画像について合成処理が行われているが、ワークが写っているピラミッド画像について合成処理が行われてもよい。
【００４８】
図５には、入力画像４０から生成された画像４１〜４４が示されている。画像４１〜４４は、入力画像４０から生成されたピラミッド画像に対して微分フィルタなどのエッジ抽出フィルタを適用することにより得られる。図５の例では、画像４１〜４４は、パラメータ群２８のエッジ閾値ｔｈＡ〜ｔｈＤに基づいて、エッジ部分と非エッジ部分とに２値化されており、エッジ部分は白色で表わされ、非エッジ部分は黒色で表わされている。典型的には、エッジ部分の画素値は「１」で規定され、非エッジ部分の画素値は「０」で規定される。
【００４９】
合成部１５２は、画像４１〜４３から中間画像４５を生成し、中間画像４５と画像４４とから合成画像４６を生成する。より具体的には、合成部１５２は、画像４１〜４３のサイズを合わせた上で同一座標の画素値を合成し、中間画像４５を生成する。合成処理には、ＡＮＤ演算、ＯＲ演算、加算演算などの任意の演算が採用される。
【００５０】
その後、合成部１５２は、画像４４と中間画像４５とのサイズを合わせた上で画像４４および中間画像４５を合成し、合成画像４６を生成する。このとき、合成部１５２は、画像４４と中間画像４５との間の画素値の差異が表れるように合成画像４６を生成する。解像度が低い画像４１〜４３においては、エッジが消失しやすい。合成画像４６は、このような消失したエッジを区別できるように合成画像４６を生成する。一例として、合成画像４６の画素値は、画像４４と中間画像４５とにおいてともにエッジが有効である部分について「２」となり、画像４４においてエッジが有効であり中間画像４５においてエッジが無効である部分について「１」となり、画像４４と中間画像４５とにおいてともにエッジが無効である部分について「０」となる。
【００５１】
＜Ｅ．表示処理＞
図６を参照して、表示部１０２による表示処理について説明する。図６は、表示部１０２による表示態様の一例を示す図である。
【００５２】
表示部１０２は、合成部１５２によってパラメータ群２８Ａ〜２８Ｃのそれぞれについて生成された合成画像４６〜４８を表示する。上述したように、合成画像４６〜４８は、ピラミッドアルゴの実行過程で消失したエッジを区別できるように生成される。表示部１０２は、そのような消失したエッジ部分が区別できる態様で合成画像４６〜４８を表示する。図６の例では、ピラミッドアルゴの実行過程で消失しなかったエッジ部分が白色で表わされ、ピラミッドアルゴの実行過程で消失したエッジ部分がグレーで表わされ、それ以外の部分が黒色で表わされている。なお、これらの違いは、他の色で表されてもよい。このように表示されることで、ユーザは、探索結果が良好でない原因を容易に把握することができ、各パラメータ群の適否を容易に判断することができる。
【００５３】
また、表示部１０２は、各パラメータ群についてのピラミッドアルゴによる探索結果を対応する合成画像上に表示する。一例として、パラメータ群２８Ａについては探索対象物（たとえば、目）が探索されず、パラメータ群２８Ｂ，２８Ｃについては探索対象物が探索されたとする。この場合、表示部１０２は、パラメータ群２８Ａに対応する合成画像４６については探索結果を表示せず、パラメータ群２８Ｂ，２８Ｃに対応する合成画像４７，４８上にのみ探索結果４７Ａ，４８Ａを表示する。
【００５４】
＜Ｆ．変形例＞
上述の図５では、合成部１５２がピラミッド画像の一部の画像４１〜４３から中間画像４５を生成し、残りの画像４４と中間画像４５とから合成画像４６を生成する例について説明したが、合成部１５２による合成方法は、図５の例に限定されない。たとえば、合成部１５２は、中間画像４５を生成せずに合成画像４６を生成してもよい。この場合、合成部１５２は、ピラミッド画像を構成する各画像の解像度を合わせた上で当該画像群から合成画像を生成する。
【００５５】
以下では、合成部１５２による合成処理の変形例１，２について順に説明する。
図７は、変形例１に従う合成処理を概略的に示す概念図である。図７には、ピラミッド画像（たとえば、画像４１〜４４）を所定の同解像度（同サイズ）に逆変換した画像５１〜５４が示されている。画像５１〜５４は、エッジ部分と非エッジ部分とに２値化されたものであり、エッジ部分が白で表わされ、非エッジ部分はハッチングで表わされている。典型的には、エッジ部分の画素値は「１」で規定され、非エッジ部分の画素値は「０」で規定される。
【００５６】
合成部１５２は、二値化後の画像５１〜５４において同一座標の各画素値についてＡＮＤ演算を実行し、当該ＡＮＤ演算の結果として合成画像４６−１を生成する。一例として、画像５１〜５４の同一座標の画素５１Ａ〜５４Ａに着目すると、画素５１Ａの画素値が「０」であり、画素５２Ａの画素値が「０」であり、画素５３Ａの画素値が「１」であり、画素５４Ａの画素値が「１」であるので、ＡＮＤ演算の結果は、「０」となる。その結果、合成画像４６−１内における、画素５１Ａ〜５４Ａに対応する画素５６は、「０」となる。合成部１５２は、このようなＡＮＤ演算を全画素に対して行う。
【００５７】
このように、合成部１５２は、解像度が揃えられた画像５１〜５４の同一座標の各画素値についてＡＮＤ演算を実行し、当該ＡＮＤ演算の結果として合成画像４６−１を出力する。ユーザは、ＡＮＤ演算が行われた合成画像４６−１を確認することで、全層においてエッジが有効である部分を容易に把握することができる。あるいは、ユーザは、各層の一部においてエッジが無効である部分を容易に把握することができる。
【００５８】
図８は、変形例２に従う合成処理を概略的に示す概念図である。図８には、図７に示される画像５１〜５４と同じものが示されている。
【００５９】
本変形例においては、合成部１５２は、二値化後の画像５１〜５４において同一座標の各画素値についてＯＲ演算を実行し、当該ＯＲ演算の結果として合成画像４６−２を生成する。一例として、画像５１〜５４の同一座標の画素５１Ａ〜５４Ａに着目すると、画素５１Ａの画素値が「０」であり、画素５２Ａの画素値が「０」であり、画素５３Ａの画素値が「１」であり、画素５４Ａの画素値が「１」であるので、ＯＲ演算の結果は、「１」となる。その結果、合成画像４６−２内における、画素５１Ａ〜５４Ａに対応する画素５６は、「１」となる。合成部１５２は、このようなＯＲ演算を全画素に対して行う。
【００６０】
このように、合成部１５２は、解像度が揃えられた画像５１〜５４の同一座標の各画素値についてＯＲ演算を実行し、当該ＡＮＤ演算の結果として合成画像４６−２を出力する。ユーザは、ＯＲ演算が行われた合成画像４６−２を確認することで、一部においてエッジが有効である部分を容易に把握することができる。あるいは、ユーザは、全層においてエッジが無効である部分を容易に把握することができる。
【００６１】
図９は、変形例３に従う合成処理を概略的に示す概念図である。図９には、図７に示される画像５１〜５４と同じものが示されている。
【００６２】
本変形例においては、合成部１５２は、解像度が揃えられた画像５１〜５４の同一座標の各画素を画素値の情報が失われないように合成し、当該合成結果として合成画像４６−３を出力する。より具体的には、合成画像４６−３の各画素には、画像５１〜５４と同数のビット列が少なくとも与えられる。合成画像４６−３の各画素の１ビット目には、ピラミッド画像の１層目に対応する画像５１の対応画素の画素値が反映される。合成画像４６−３の各画素の２ビット目には、ピラミッド画像の２層目に対応する画像５２の対応画素の画素値が反映される。合成画像４６−３の各画素の３ビット目には、ピラミッド画像の３層目に対応する画像５３の対応画素の画素値が反映される。合成画像４６−３の各画素の４ビット目には、ピラミッド画像の４層目に対応する画像５４の対応画素の画素値が反映される。
【００６３】
一例として、画像５１〜５４の同一座標である画素５１Ａ〜５４Ａに注目して、本変形例における合成処理について説明する。図１０は、画素５１Ａ〜５４Ａの合成処理を概略的に示す図である。
【００６４】
画素５１Ａ〜５４Ａと同一座標である合成画像４６−３の画素５６には、画像５１〜５４と同数のビット列が与えられている。図１０の例では、４ビットのビット列が合成画像４６−３の画素５６に対して与えられている。合成画像４６−３の画素５６の１ビット目には、１層目の画像５１の画素５１Ａの値が反映される。たとえば、画素５１Ａの値が「０」である場合、画素５６の１ビット目には「０」が反映される。合成画像４６−３の画素５６の２ビット目には、２層目の画像５２の画素５２Ａの値が反映される。たとえば、画素５２Ａの値が「０」である場合、画素５６の２ビット目には「０」が反映される。合成画像４６−３の画素５６の３ビット目には、３層目の画像５３の画素５３Ａの値が反映される。たとえば、画素５３Ａの値が「１」である場合、画素５６の３ビット目には「１」が反映される。合成画像４６−３の画素５６の４ビット目には、４層目の画像５４の画素５４Ａの値が反映される。たとえば、画素５４Ａの値が「１」である場合、画素５６の４ビット目には「１」が反映される。その結果、合成画像４６−３の画素５６のビット列は、（１，１，０，０）となる。
【００６５】
合成部１５２は、このような合成処理を画像５１〜５４間での同一座標の各画素について実行する。その結果、図９に示される合成画像４６−３が生成される。このような合成処理により、合成部１５２は、二値化後の画像５１〜５４において各画素の画素値の情報が失われないように合成することができる。
【００６６】
画像処理装置１００は、生成した合成画像４６−３を所定の表示態様で表示する。一例として、画像処理装置１００は、画素値の大きさに合わせて濃淡を変えて合成画像４６−３を表示する。あるいは、画素値ごとに異なる色が予め対応付けられており、画像処理装置１００は、画素値の大きさに合わせて色を変えて合成画像４６−３を表示する。このように合成画像４６−３が表示されることにより、ユーザは、どの階層でエッジ情報が失われたのかを容易に確認することができ、プログラム解析が容易になる。
【００６７】
なお、上述では、合成部１５２が二値化を行った上で合成画像４６を生成する前提で説明を行ったが、合成部１５２は、二値化を行わずに合成画像４６を生成してもよい。この場合、合成部１５２は、入力画像４０から生成されたピラミッド画像の解像度を揃えた上で同一座標の画素値を合成する。この合成処理には、最大画素値を採用するＭＡＸ演算、最小画素値を採用するＭＩＮ演算、画素値の加算演算などの任意の演算が採用される。
【００６８】
好ましくは、画像処理装置１００は、各層における画像５１〜５４の二値化の結果を記憶しておく。これにより、どの層でエッジが有効になっているのか、あるいは、無効になっているのかを容易に分析することができる。
【００６９】
＜Ｇ．画像処理装置１００の構成＞
図１１を参照して、図１に示される画像処理装置１００のハードウェア構成について説明する。図１１は、本実施の形態に係る画像処理装置１００のハードウェア構成の一例を示す模式図である。
【００７０】
画像処理装置１００は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
【００７１】
より具体的には、画像処理装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などの制御装置１１０と、ＲＡＭ（Random Access Memory）１１２と、表示コントローラ１１４と、システムコントローラ１１６と、Ｉ／Ｏ（Input Output）コントローラ１１８と、記憶装置１２０と、カメラインターフェイス１２２と、入力インターフェイス１２４と、ＰＬＣインターフェイス１２６と、通信インターフェイス１２８と、メモリカードインターフェイス１３０とを含む。これらの各部は、システムコントローラ１１６を中心として、互いにデータ通信可能に接続される。
【００７２】
制御装置１１０は、システムコントローラ１１６との間でプログラム（コード）などを交換して、これらを所定順序で実行することで、目的の演算処理を実現する。システムコントローラ１１６は、制御装置１１０、ＲＡＭ１１２、表示コントローラ１１４、およびＩ／Ｏコントローラ１１８とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに、画像処理装置１００全体の処理を司る。
【００７３】
ＲＡＭ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性のメモリであり、記憶装置１２０から読み出されたプログラムや、撮像部８によって取得された入力画像、入力画像に対する処理結果、およびワークデータなどを保持する。
【００７４】
表示コントローラ１１４は、表示部１０２と接続されており、システムコントローラ１１６からの内部コマンドに従って、各種の情報を表示するための信号を表示部１０２へ出力する。表示部１０２は、一例として、液晶ディスプレイや有機ＥＬ（Electro Luminescence）ディスプレイや有機ＥＬなどを含む。
【００７５】
Ｉ／Ｏコントローラ１１８は、画像処理装置１００に接続される記録媒体や外部機器との間のデータ交換を制御する。より具体的には、Ｉ／Ｏコントローラ１１８は、記憶装置１２０と、カメラインターフェイス１２２と、入力インターフェイス１２４と、ＰＬＣインターフェイス１２６と、通信インターフェイス１２８と、メモリカードインターフェイス１３０と接続される。
【００７６】
記憶装置１２０は、典型的には、不揮発性の磁気記憶装置であり、制御装置１１０で実行される画像処理プログラム２０に加えて、各種設定値などが格納される。さらに、記憶装置１２０には、撮像部８から得られた入力画像が格納される。なお、記憶装置１２０に代えて、フラッシュメモリなどの半導体記憶装置やＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）などの光学記憶装置を採用してもよい。
【００７７】
カメラインターフェイス１２２は、ワークＷ（探索対象物）を撮像することで生成された画像データを受け付ける入力部に相当し、制御装置１１０と撮像部８との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス１２２は、１つ以上の撮像部８と接続が可能であり、制御装置１１０からカメラインターフェイス１２２を介して撮像部８に撮像指示が出力される。これにより、撮像部８は、被写体を撮像し、生成された画像をカメラインターフェイス１２２を介して制御装置１１０に出力する。
【００７８】
入力インターフェイス１２４は、制御装置１１０とキーボード１０４、マウス、タッチパネル、専用コンソールなどの入力装置との間のデータ伝送を仲介する。すなわち、入力インターフェイス１２４は、ユーザが入力装置を操作することで与えられる操作指令を受け付ける。
【００７９】
ＰＬＣインターフェイス１２６は、制御装置１１０とＰＬＣ５との間のデータ伝送を仲介する。より具体的には、ＰＬＣインターフェイス１２６は、ＰＬＣ５によって制御される生産ラインの状態に係る情報やワークＷに係る情報などを制御装置１１０へ伝送する。
【００８０】
通信インターフェイス１２８は、制御装置１１０と図示しない他のパーソナルコンピュータやサーバ装置などとの間のデータ伝送を仲介する。通信インターフェイス１２８は、典型的には、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などからなる。なお、後述するように、メモリカード１０６に格納されたプログラムを画像処理装置１００にインストールする形態に代えて、通信インターフェイス１２８を介して、配信サーバなどからダウンロードしたプログラムを画像処理装置１００にインストールしてもよい。一例として、通信インターフェイス１２８は、撮像部８の状態を表わす信号を撮像部８やＰＬＣ５などから受信する。当該信号は、撮像部８が撮像中であるか否かを示す。
【００８１】
メモリカードインターフェイス１３０は、制御装置１１０と記録媒体であるメモリカード１０６との間のデータ伝送を仲介する。すなわち、メモリカード１０６には、画像処理装置１００で実行される画像処理プログラム２０などが格納された状態で流通し、メモリカードインターフェイス１３０は、このメモリカード１０６から画像処理プログラム２０を読み出す。また、メモリカードインターフェイス１３０は、制御装置１１０の内部指令に応答して、撮像部８によって取得されたカメラ画像および／または画像処理装置１００における処理結果などをメモリカード１０６へ書き込む。なお、メモリカード１０６は、ＳＤ（Secure Digital）などの汎用的な半導体記憶デバイスや、フレキシブルディスク（Flexible Disk）などの磁気記録媒体や、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体等からなる。
【００８２】
上述のような汎用的なコンピュータアーキテクチャに従う構造を有するコンピュータを利用する場合には、本実施の形態に係る機能を提供するためのアプリケーションに加えて、コンピュータの基本的な機能を提供するためのＯＳ（Operating System）がインストールされていてもよい。この場合には、本実施の形態に係る画像処理プログラムは、ＯＳの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および／またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に係るプログラム自体は、上記のようなモジュールを含んでおらず、ＯＳと協働して処理が実行される場合もある。したがって、本実施の形態に係る画像処理プログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【００８３】
さらに、本実施の形態に係る画像処理プログラムは、他のプログラムの一部に組み込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組み合わせられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係る画像処理プログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【００８４】
なお、代替的に、画像処理プログラムの実行により提供される機能の一部もしくは全部を専用のハードウェア回路として実装してもよい。
【００８５】
＜Ｈ．画像処理装置１００の制御構造＞
図１２を参照して、画像処理装置１００の制御構造について説明する。図１２は、画像処理装置１００が実行する処理の一部を表わすフローチャートである。図１２の処理は、画像処理装置１００の制御装置１１０がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【００８６】
ステップＳ１１０において、制御装置１１０は、画像処理プログラム２０に設定する候補となる複数のパラメータ群を取得する。これらのパラメータ群の候補は、予め準備されていてもよいし、ユーザによって任意に設定されてもよいし、ランダムに設定されてもよい。
【００８７】
ステップＳ１１２において、制御装置１１０は、プログラム実行部１５１（図２参照）として、ステップＳ１１０で取得したパラメータ群の内から、未設定のパラメータ群を画像処理プログラム２０に適用する。その上で、制御装置１１０は、画像処理プログラム２０を実行し、その実行過程で生成されるピラミッド画像と、実行結果としての探索結果を取得する。好ましくは、制御装置１１０は、画像処理プログラム２０の実行を開始してから終了するまでの実行時間をさらに取得する。
【００８８】
ステップＳ１１４において、制御装置１１０は、合成部１５２（図２参照）として、ステップＳ１１２で得られたピラミッド画像から合成画像を生成する。合成画像の生成方法については図５，図７，図８で説明した通りであるので、その説明については繰り返さない。
【００８９】
ステップＳ１２０において、制御装置１１０は、ステップＳ１１０で取得した全パラメータ群について画像処理プログラム２０を実行したか否かを判断する。制御装置１１０は、全パラメータ群について画像処理プログラム２０を実行したと判断した場合（ステップＳ１２０においてＹＥＳ）、制御をステップＳ１２２に切り替える。そうでない場合には（ステップＳ１２０においてＮＯ）、制御装置１１０は、制御をステップＳ１１２に戻す。
【００９０】
ステップＳ１２２において、制御装置１１０は、各パラメータ群を適用した結果得られた合成画像を表示部１０２に表示するとともに、各パラメータ群についての探索結果を対応する合成画像上に重ねて表示部１０２に表示する。
【００９１】
ステップＳ１３０において、制御装置１１０は、表示部１０２に表示された合成画像のいずれかが選択されたか否かを判断する。この選択操作は、たとえば、画像処理装置１００の操作受付部（たとえば、マウス、キーボード、タッチパネルなどの任意の入力装置）により受け付けられる。制御装置１１０は、表示部１０２に表示された合成画像のいずれかが選択されたと判断した場合（ステップＳ１３０においてＹＥＳ）、制御をステップＳ１３２に切り替える。そうでない場合には（ステップＳ１３０においてＮＯ）、制御装置１１０は、ステップＳ１３０の処理を再び実行する。
【００９２】
ステップＳ１３２において、制御装置１１０は、設定部１５３（図２参照）として、選択された合成画像に対応するパラメータ群を設定パラメータとして適用する。
【００９３】
＜Ｉ．まとめ＞
以上のようにして、画像処理装置１００は、ピラミッドアルゴを実行するための画像処理プログラム２０に対して、予め定められた複数のパラメータ群の各々を適用する。画像処理装置１００は、各パラメータ群について画像処理プログラム２０による探索結果を取得するとともに、画像処理プログラムの実行過程で得られるピラミッド画像を各パラメータ群について取得する。
【００９４】
その後、画像処理装置１００は、各パラメータ群について得られたピラミッド画像から合成画像を生成し、それらの合成画像を表示するとともに、各パラメータ群についての探索結果を対応する合成画像に重ねて表示する。画像処理装置１００は、表示された合成画像のいずれかを選択できるように構成されている。画像処理装置１００は、選択された合成画像に対応するパラメータ群を画像処理プログラム２０の設定パラメータ２２に設定する。
【００９５】
ユーザは、合成画像および探索結果を視覚的に確認することで、各パラメータ群の良否を直感的に理解することができる。その上で、ユーザは、良好な探索精度を得ることが可能なパラメータ群を選択することができる。これにより、画像処理プログラム２０に対する知識が無いユーザであっても最適なパラメータ群を設定することができ、画像処理プログラム２０に対するパラメータ設定を支援することができる。このような効果は、設定すべきパラメータの種類が多い場合や、ピラミッド画像の総数が多い場合に特に有効に働く。
【００９６】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００９７】
１  画像処理システム、６  搬送機構、８  撮像部、２０  画像処理プログラム、２２  設定パラメータ、２８Ａ，２８Ｂ，２８Ｃ  パラメータ群、３０，４０  入力画像、３１  テンプレート群、３１Ａ，３１Ｂ，３１Ｃ  テンプレート、３２Ａ，３２Ｂ，３２Ｃ  ピラミッド画像、３３Ａ，３３Ｂ，３３Ｃ，４７Ａ，４８Ａ  探索結果、３４Ａ，３４Ｂ，３４Ｃ，４６，４７，４８  合成画像、４１，４２，４３，４４，５１，５２，５３，５４  画像、４１Ａ，４１Ｂ，４２Ａ，４２Ｂ，４３Ａ  画像領域、４５  中間画像、５１Ａ，５２Ａ，５３Ａ，５４Ａ，５６  画素、１００  画像処理装置、１０２  表示部、１０４  キーボード、１０６  メモリカード、１１０  制御装置、１１２  ＲＡＭ、１１４  表示コントローラ、１１６  システムコントローラ、１１８  Ｉ／Ｏコントローラ、１２０  記憶装置、１２２  カメラインターフェイス、１２４  入力インターフェイス、１２６  ＰＬＣインターフェイス、１２８  通信インターフェイス、１３０  メモリカードインターフェイス、１５１  プログラム実行部、１５２  合成部、１５３  設定部。
【図１】
2019045938.tif 000003
【図２】
2019045938.tif 000004
【図３】
2019045938.tif 000005
【図４】
2019045938.tif 000006
【図５】
2019045938.tif 000007
【図６】
2019045938.tif 000008
【図７】
2019045938.tif 000009
【図８】
2019045938.tif 000010
【図９】
2019045938.tif 000011
【図１０】
2019045938.tif 000012
【図１１】
2019045938.tif 000013
【図１２】
2019045938.tif 000014
【手続補正書】
【提出日】平成30年6月28日(2018.6.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
次に、プログラム実行部１５１は、テンプレート群３１の内から画像４２の解像度に対応するテンプレート３１Ｂを取得する。その後、プログラム実行部１５１は、探索対象物含む候補として特定された画像領域４１Ａ，４１Ｂに対応する画像領域４２Ａ，４２Ｂを探索範囲として設定する。プログラム実行部１５１は、当該画像領域４２Ａ，４２Ｂをテンプレート３１Ｂで走査し、画像領域４２Ａ，４２Ｂ内の各領域とテンプレート３１Ｂとの類似度を算出する。プログラム実行部１５１は、探索範囲内の各画像領域の内から、類似度がパラメータ群２８Ａの探索閾値ｔｈ２を超えた画像領域を特定し、当該画像領域を探索対象物が含まれる候補とする。図４の例では、画像領域４２Ａが探索対象物を含む候補として特定されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
このように、合成部１５２は、解像度が揃えられた画像５１〜５４の同一座標の各画素値についてＯＲ演算を実行し、当該ＯＲ演算の結果として合成画像４６−２を出力する。ユーザは、ＯＲ演算が行われた合成画像４６−２を確認することで、一部においてエッジが有効である部分を容易に把握することができる。あるいは、ユーザは、全層においてエッジが無効である部分を容易に把握することができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
ステップＳ１１２において、制御装置１１０は、プログラム実行部１５１（図２参照）として、ステップＳ１１０で取得したパラメータ群の内から、未適用のパラメータ群を画像処理プログラム２０に適用する。その上で、制御装置１１０は、画像処理プログラム２０を実行し、その実行過程で生成されるピラミッド画像と、実行結果としての探索結果を取得する。好ましくは、制御装置１１０は、画像処理プログラム２０の実行を開始してから終了するまでの実行時間をさらに取得する。
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2019045938.tif 000015