(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241008BHJP
H04N 23/60 20230101ALI20241008BHJP
【FI】
G06T7/00 610Z
H04N23/60
(21)【出願番号】P 2022574037
(86)(22)【出願日】2021-12-28
(86)【国際出願番号】 JP2021048801
(87)【国際公開番号】W WO2022149544
(87)【国際公開日】2022-07-14
【審査請求日】2023-08-09
(31)【優先権主張番号】P 2021000857
(32)【優先日】2021-01-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】鐘 テイテイ
(72)【発明者】
【氏名】滝澤 象太
【審査官】吉川 康男
(56)【参考文献】
【文献】国際公開第2020/065798(WO,A1)
【文献】特開2018-005505(JP,A)
【文献】特開2020-181374(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
撮像対象物を検出する画像処理に用いる検出パラメータを自動調整する画像処理装置であって、
複数の前記検出パラメータの組み合わせを生成する検出パラメータ生成部と、
前記検出パラメータ生成部により生成された前記検出パラメータの組み合わせ毎に、複数の撮像条件を設定する撮像条件設定部と、
前記検出パラメータと前記撮像条件との組み合わせ毎に、撮像対象物の検出可否を判断する検出可否判断部と、
前記検出可否判断部により前記撮像対象物が検出されたと判断された撮像条件の範囲を算出する撮像範囲算出部と、
前記撮像範囲算出部により算出された前記撮像条件の範囲に基づいて、前記検出パラメータの組み合わせを決定するパラメータ決定部と、
を備える画像処理装置。
【請求項2】
前記パラメータ決定部は、前記検出パラメータの組み合わせとして、前記撮像条件の範囲が最も広い前記検出パラメータの組み合わせを決定する、請求項1に記載の画像処理装置。
【請求項3】
前記検出可否判断部は、前記撮像対象物の検出結果が予め定めた正解条件に合致するか否かに基づいて、前記検出可否を判断する、請求項1又は請求項2に記載の画像処理装置。
【請求項4】
前記検出可否判断部は、既知の前記撮像対象物を実際に検出した検出位置が、当該撮像対象物の既知の設置位置に合致するか否かに基づいて、前記検出可否を判断する、請求項1又は請求項2に記載の画像処理装置。
【請求項5】
前記検出パラメータと撮像条件の設定と、検出パラメータの調整を実行する操作部を更に備える、請求項1から請求項4のいずれか1項に記載の画像処理装置。
【請求項6】
画像を1つ以上の領域に分割し、それぞれの領域で前記検出パラメータの組み合わせを決定する、請求項1から請求項4のいずれか1項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
従来より、ロボットが備わる生産ラインで、カメラなどの視覚センサを用いて撮像対象物を検出する場合、照明を適宜に設置し、撮像対象物を見つけやすい画像が撮像できる環境を整えることが、一般的に行われている。
【0003】
しかし、使用する照明の性能や天井照明などの影響で、必ずしも理想的な照明条件を実現できない場合がある。例えば、撮像範囲の全体の明るさを均一にすることができず、撮像範囲の端の明るさが撮像範囲中央の明るさよりも暗くなる場合がある。撮像範囲の中央と端とで照明ムラがあると、撮像範囲の端でワークが見つかるが撮像範囲の中央ではワークが見つからなかったり、逆に、撮像範囲の中央でワークが見つかるが撮像範囲の端ではワークが見つからなかったりする現象が発生する。
【0004】
従来手法では、撮像対象物を撮像範囲の端と中央に置き、画像処理装置の教示者は目視で画像処理結果を確認しながら、端と中央の撮像対象物が両方とも見つかるパラメータを手動で調整してきた。
【0005】
この点、撮像対象物を撮影して画像を取得するための撮影パラメータ(撮像条件)と、画像から撮像対象物を検出するための画像処理パラメータの組み合わせにより構成された複数組のパラメータを手動で入力し、複数組のパラメータ設定に対する、撮影と画像処理とを含む処理シーケンスの実行結果を示す複数の縮小画像を、それぞれ複数の結果画像として表示部に一覧表示させる技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、画像から撮像対象物を検出する画像処理パラメータの良し悪しが数値化できないため、教示者の熟練度によって、画像処理パラメータの調整に個人差が生じるという問題がある。
【課題を解決するための手段】
【0008】
本開示の一態様は、撮像対象物を検出する画像処理に用いる検出パラメータを自動調整する画像処理装置であって、複数の前記検出パラメータの組み合わせを生成する検出パラメータ生成部と、前記検出パラメータ生成部により生成された前記検出パラメータの組み合わせ毎に、複数の撮像条件を設定する撮像条件設定部と、前記検出パラメータと前記撮像条件との組み合わせ毎に、前記撮像対象物の検出可否を判断する検出可否判断部と、前記検出可否判断部により前記撮像対象物が検出されたと判断された撮像条件の範囲を算出する撮像範囲算出部と、前記撮像範囲算出部により算出された前記撮像条件の範囲が最も広い前記検出パラメータの組み合わせを決定するパラメータ決定部と、を備える画像処理装置である。
【発明の効果】
【0009】
一態様によれば、検出パラメータの良し悪しを数値化することにより、教示者の熟練度によらず検出パラメータを調整することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る画像処理装置の機能ブロック図である。
【
図2】一実施形態に係る画像処理装置の動作を示すフローチャートである。
【
図3】一実施形態に係る画像処理装置の最適パラメータの決定方法を示す表である。
【
図4】一実施形態に係る画像処理装置の最適パラメータの決定方法を示す表である。
【
図5】一実施形態に係る画像処理装置の最適パラメータの決定方法を示す表である。
【
図6】一実施形態に係る画像処理装置の操作画面の例である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について
図1~
図6を参照することにより説明する。
【0012】
〔1 実施形態の構成〕
図1は、本実施形態に係る画像処理装置1の機能ブロック図である。画像処理装置1は、制御部10と記憶部20と操作部30とを備える。
【0013】
制御部10は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成されるものであり、当業者にとって公知のものである。
【0014】
CPUは、画像処理装置1を全体的に制御するプロセッサである。該CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、該システムプログラム及びアプリケーションプログラムに従って画像処理装置1全体を制御することで、
図1に示すように制御部10が、検出パラメータ生成部11、撮像条件設定部12、検出可否判断部13、撮像範囲算出部14、検出パラメータ決定部15の機能を実現するように構成する。
【0015】
検出パラメータ生成部11は、複数の検出パラメータ毎に、複数の検出パラメータの組み合わせを生成する。
【0016】
「検出パラメータ」は、画像処理アルゴリズムに応じて異なるが、例えば、スコア閾値、コントラスト閾値、歪み許容値などがある。
【0017】
「スコア閾値」とは、検出結果が検出OKとなるか、検出NGとなるかの閾値である。具体的には、対象物を検出した結果の正しさは100点満点のスコア(単位は%)で表現される。このスコアが、「スコア閾値」以上であれば検出OKとなり、「スコア閾値」未満であれば検出NGとなる。
【0018】
「コントラスト閾値」とは、撮像した画像上でどの程度のコントラスト(明暗差)があれば、特徴として認識するのかを示す閾値である。コントラスト閾値として小さい値を設定すると、はっきり見えないものが検出できる一方で、画像処理には時間がかかる。対象物中の単なる汚れ等、コントラストが低いものを誤検出する場合には、コントラスト閾値
を上げる。
【0019】
「歪み許容値」とは、教示されたモデルと、画像に映っている対象物に当てはめるパターンとの形状のずれ(歪み)を許容する閾値(単位はpix)である。歪み許容値として大きい値を指定すれば、形状のずれが大きくなっても検出できるが、誤検出の可能性も高くなる。
【0020】
撮像条件設定部12は、検出パラメータ生成部11により生成された検出パラメータセットの組み合わせ毎に、複数の撮像条件を設定する。
「撮像条件」は撮像装置に応じて異なるが、例えば、撮像装置としてのカメラの露光時間や、撮像に用いる照明の光量や、撮像した画像の縮小率である。
【0021】
撮像条件設定部12は、検出パラメータの組み合わせ(検出パラメータセット)として、例えば、スコア閾値、コントラスト閾値、及び歪み許容値の組み合わせを複数セット用意し、セット毎に、カメラの露光時間、撮像に用いる照明の光量、撮像した画像の縮小率等の撮像条件を複数設定する。
【0022】
なお、複数用意する検出パラメータセットは、各パラメータで設定可能な値の全ての組み合わせとしてもよい。この際、例えばパラメータとして設定可能な範囲を等分割することにより、各パラメータの値を定めてもよい。
【0023】
あるいは、画像処理装置1のユーザにより、手動である程度調整した値を中心とする所定の範囲で設定可能な値の全ての組み合わせとしてもよい。
【0024】
検出可否判断部13は、検出パラメータセットと撮像条件との組み合わせ毎に、撮像対象物の検出可否を判断する。
【0025】
具体的には、最初に、検出可否判断部13は、第1の検出パラメータセットを用いて、第1の撮像条件で撮像した場合の、撮像対象物の検出可否を判断する。
次に、検出可否判断部13は、第1の検出パラメータセットを用いて、第2の撮像条件で撮像した場合の、撮像対象物の検出可否を判断する。
以下同様に、検出可否判断部13は、第1の検出パラメータセットを用いて、全ての撮像条件で撮像した場合の、撮像対象物の検出可否を判断する。
第1の検出パラメータセットを用いて、全ての撮像条件で撮像した場合の、撮像対象物の検出可否の判断を判断したら、次に、検出可否判断部13は、第2の検出パラメータセットを用いて、全ての撮像条件で撮像した場合の、撮像対象物の検出可否を判断する。
以下同様に、検出可否判断部13は、全ての検出パラメータセットにつき、全ての撮像条件で撮像した場合の、撮像対象物の検出可否を判断する。
【0026】
ここで、検出可否判断部13は、撮像対象物の検出結果が予め定めた正解条件に合致するか否かに基づいて、検出可否を判断してもよい。
【0027】
あるいは、検出可否判断部13は、既知の撮像対象物を実際に検出した検出位置が、当該撮像対象物の既知の設置位置に合致するか否かに基づいて、検出可否を判断してもよい。
【0028】
正解条件に合致するか否かに基づいて検出可否を判断する場合においては、検出可否を判断するステップ(後述の実施形態の動作では、ステップS5)の前に、正解条件を決定するステップを行ってもよい。正解条件の例としては、「検出精度」、「検出位置」、「検出数」、「検出時間」がある。
【0029】
「検出精度」は、パラメータを変えずに同じ撮像対象物を繰り返し検出したときの検出位置のバラつきである。画像の縮小率を大きくすると、「検出時間」は短くなる一方で、検出精度も低下する。
「検出位置」に基づく正解条件によれば、撮像対象物が検出される位置や範囲を予め指定しておくことで、期待しない位置で検出された場合に、その検出は誤検出であると判断することができる。スコア閾値が低すぎる場合や歪み許容値が大きすぎる場合に、誤検出しやすくなる。
【0030】
「検出数」に基づく正解条件によれば、実際の検出数が予め設定した検出数と異なる場合に、検出失敗と判断することができる。「検出数」が0の場合には、パラメータが厳しすぎて検出に失敗していると判断できる。逆に「検出数」が期待された数よりも多い場合には、パラメータが緩すぎるため検出に失敗していると判断できる。
「検出時間」は、検出に要した時間のことである。仮に検出に成功していたとしても、「検出時間」が長すぎる場合にはサイクルタイムを満たさないため、採用不可能なパラメータとなる。画像の縮小率が小さい場合や、スコア閾値が小さい場合などには、「検出時間」が長くなる。
【0031】
撮像範囲算出部14は、検出可否判断部13により撮像対象物が検出されたと判断された撮像条件の範囲を算出する。
【0032】
具体的には、検出可否判断部13によって、第1の検出パラメータセットを用いて、全ての撮像条件で撮像した場合の、撮像対象物の検出可否が判断された後、撮像範囲算出部14は、撮像対象物の検出が成功となった撮像条件の範囲を算出する。
次に、検出可否判断部13によって、第2の検出パラメータセットを用いて、全ての撮像条件で撮像した場合の、撮像対象物の検出可否が判断された後、撮像範囲算出部14は、撮像対象物の検出が成功となった撮像条件の範囲を算出する。
以下同様に、全ての検出パラメータセットにつき、撮像範囲算出部14は、撮像対象物の検出が成功となった撮像条件の範囲を算出する。
【0033】
検出パラメータ決定部15は、撮像範囲算出部14により算出された撮像条件の範囲に基づいて、画像処理パラメータセットを決定する。
【0034】
例えば、検出パラメータ決定部15は、撮像範囲算出部14によって算出された撮像条件の範囲が最も広い検出パラメータセットを、実際に使用する画像処理パラメータセットとして決定してもよい。
【0035】
記憶部20は、例えば撮像条件設定部12によって設定される撮像条件、検出可否判断部13による検出結果、撮像範囲算出部14によって算出される撮像範囲、検出パラメータ決定部15によって決定される検出パラメータセットを記憶する。
【0036】
操作部30は、検出パラメータと撮像条件の設定と、検出パラメータの調整を実行する。操作部30は、
図6を参照して後述する操作画面を表示するようなモニタによって実現してもよい。この場合、モニタには、画像処理装置1のユーザからの操作を受け付けるタッチパネルが積層される。あるいは、操作部30は、
図6の操作画面に入力するためのキーボードやマウスなどの入力デバイスによって実現してもよい。
【0037】
別の実施形態として、画像を1つ以上の領域に分割し、それぞれの領域で検出パラメータセットを決定してもよい。
【0038】
〔2 実施形態の動作〕
図2は、本実施形態に係る画像処理装置1の動作を示すフローチャートである。以下、
図2を参照することにより、画像処理装置1の動作について説明する。
【0039】
ステップS1において、検出パラメータ生成部11が、撮像対象物を検出するパラメータセット(検出パラメータセット)を設定する。より詳細には、検出パラメータセットとして、例えば、スコア閾値、コントラスト閾値、歪み許容値を組み合せて初期設定する。
【0040】
ステップS2において、制御部10が、初期設定したスコア閾値、コントラスト閾値、歪み許容値のうち、スコア閾値の値を0とする。なお、
図2に示す例では、後述のように、コントラスト閾値、歪み許容値を初期設定値で固定したまま、スコア閾値を0から100まで1ずつインクリメントしながら、撮像対象物検出を試行する例について説明するが、本実施形態はこれには限定されない。例えば、スコア閾値と歪み許容値を初期設定値で固定したまま、コントラスト閾値を変化させながら、撮像対象物検出を試行してもよく、スコア閾値とコントラスト閾値を初期設定値で固定したまま、歪み許容値を変化させながら、撮像対象物検出を試行してもよい。
【0041】
ステップS3において、撮像条件設定部12が撮像条件を設定し、撮像装置で撮像対象物の画像を撮像する。より詳細には、例えば、撮像条件設定部12が撮像条件として、ある露光時間を設定した上で、視覚センサで撮像対象物の画像を撮像する。
【0042】
ステップS4において、制御部10が、ステップS3において撮像した画像から、検出パラメータを用いて撮像対象物を検出する。
【0043】
ステップS5において、検出可否判断部13が、撮像対象物の検出がOKであると判断した場合(S5:YES)には、処理はステップS6に移行する。検出可否判断部13が、撮像対象物の検出がNGであると判断した場合(S5:NO)には、処理はステップS7に移行する。
【0044】
なお、検出可否を判断するステップS5の前に、正解条件を決定するステップを行ってもよい。
【0045】
ステップS6において、制御部10が、スコア閾値に1を加算する。
【0046】
ステップS7において、全ての撮像条件で検出した場合(S7:YES)には、処理はステップS8に移行する。まだ全ての撮像条件で検出していない場合(S7:NO)には、処理はステップS3に移行し、撮像条件を変更して画像を撮像する。
【0047】
ステップS8において、撮像範囲算出部14が、撮像対象物が検出されたと判断された撮像条件の範囲を算出し、検出パラメータ決定部15が、算出された撮像条件の範囲に基づいて、最適な検出パラメータセットを選択し、更新する。
【0048】
図3~
図5は、最適な検出パラメータセットの選択例である。
図3は、照明光量と画像縮小の値を固定し、露光時間を10msから400msまで変化させた際の、各検出パラメータセットの撮像条件の範囲を示す表である。パラメータセットAの撮像条件の範囲は、20msである。パラメータセットBの撮像条件の範囲は、20ms~30msである。パラメータセットCの撮像条件の範囲は、10ms~40msである。パラメータセットDの撮像条件の範囲は、10ms~400msである。パラメータセットAからパラメータセットDの中で、最も撮像条件の範囲が広いのは、パラメータセットDであるため、検出パラメータ決定部15は、パラメータセットDを最適な検出パラメータセットとする。
【0049】
図4は、露光時間と画像縮小の値を固定し、照明光量を1から16まで変化させた際の、各検出パラメータセットの撮像条件の範囲を示す表である。パラメータセットAの照明光量の範囲は、2~3である。パラメータセットBの照明光量の範囲は、2~4である。パラメータセットCの照明光量の範囲は、1~4である。パラメータセットDの撮像条件の範囲は、1~16である。パラメータセットAからパラメータセットDの中で、最も撮像条件の範囲が広いのは、パラメータセットDであるため、検出パラメータ決定部15は、パラメータセットDを最適な検出パラメータセットとする。
【0050】
図5は、露光時間と照明光量の値を固定し、画像の縮小率を1から1/8まで変化させた際の、各検出パラメータセットの撮像条件の範囲を示す表である。パラメータセットAの縮小率の範囲は、1~1/2である。パラメータセットBの縮小率の範囲は、1~1/3である。パラメータセットCの縮小率の範囲は、1~1/4である。パラメータセットDの縮小率の範囲は、1~1/8である。パラメータセットAからパラメータセットDの中で、最も撮像条件の範囲が広いのは、パラメータセットDであるため、検出パラメータ決定部15は、パラメータセットDを最適な検出パラメータセットとする。
なお、
図3~5は一つの撮像条件を変更し、最適な検出パラメータセットを決定したが、これに制限されず、複数の撮像条件を変更し、最適な検出パラメータセットを決定してもよい。
【0051】
ステップS9において、全ての検出パラメータセットを評価した場合(S9:YES)には、全ての処理を終了する。まだ全ての検出パラメータセットを評価していない場合(S9:NO)には、処理はステップS1に戻り、撮像対象物を検出する検出パラメータセットを変更する。
【0052】
〔3 実施例〕
図6に、画像処理装置1の操作画面の例を示す。
図6に示す操作画面は、検出パラメータの設定項目と、撮像条件の設定項目と、検出パラメータ決定のボタンと、を備える。
検出パラメータのそれぞれに対し、値の範囲と調整刻みを設定することができる。調整する検出パラメータを追加または削除を行う操作画面をさらに設けてもよい。
撮像条件のそれぞれに対し、値の範囲と調整刻みを設定することができる。撮像条件を追加または削除を行う操作画面をさらに設けてもよい。
検出パラメータと撮像条件の自動調整範囲と調整刻みを各々設定した上で、検出パラメータ決定のボタンを押すと、検出パラメータが調整される。
操作画面のボタンを押す代わりに、検出パラメータを調整するAPIをプログラムから呼び出し、調整を行ってもよい。
【0053】
〔4 実施形態が奏する効果〕
本実施形態に係る画像処理装置(例えば、上記の「画像処理装置1」)は、撮像対象物を検出する画像処理に用いる検出パラメータを自動調整する画像処理装置であって、検出パラメータの組み合わせ毎に、複数の検出パラメータセットを生成する検出パラメータ生成部(例えば、上記の「検出パラメータ生成部11」)と、検出パラメータ生成部により生成された検出パラメータセットの組み合わせ毎に、複数の撮像条件を設定する撮像条件設定部(例えば、上記の「撮像条件設定部12」)と、検出パラメータセットと撮像条件との組み合わせ毎に、撮像対象物の検出可否を判断する検出可否判断部(例えば、上記の「検出可否判断部13」)と、検出可否判断部により撮像対象物が検出されたと判断された撮像条件の範囲を算出する撮像範囲算出部(例えば、上記の「撮像範囲算出部14」)と、撮像範囲算出部により算出された撮像条件の範囲に基づいて、検出パラメータセットを決定する検出パラメータ決定部(例えば、上記の「検出パラメータ決定部15」)と、を備える。
【0054】
検出パラメータの良し悪しを数値化することにより、検出パラメータを自動調整することが可能となる。とりわけ、評価指標を定量化することで、教示者ごとの個人差がなくなり、安定した調整が行える。また、検出パラメータを自動調整することで、室内照明など撮像環境が変わった場合でも、効率よく再調整することができる。
【0055】
また、パラメータ決定部は、検出パラメータの組み合わせとして、撮像条件の範囲が最も広い検出パラメータの組み合わせを決定してもよい。
【0056】
これにより、より広範な撮像条件に対応することが可能となる。
【0057】
また、検出可否判断部は、撮像対象物の検出結果が予め定めた正解条件に合致するか否かに基づいて、検出可否を判断してもよい。
【0058】
これにより、正解条件を予め人為的に設定したいというニーズに応じることが可能となる。
【0059】
また、検出可否判断部は、既知の撮像対象物を実際に検出した検出位置が、当該撮像対象物の既知の設置位置に合致するか否かに基づいて、検出可否を判断してもよい。
【0060】
これにより、撮像対象物の既知の設置位置さえ分かれば、検出可否を判断することが可能となる。
【0061】
また、上記の画像処理装置は、検出パラメータと撮像条件の設定と、検出パラメータの調整を実行する操作部を更に備えてもよい。
【0062】
これにより、画像処理装置のユーザが手動で、検出パラメータを調整することが可能となる。
【0063】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0064】
画像処理装置1による画像処理方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(画像処理装置1)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(画像処理装置1)に提供されてもよい。
【符号の説明】
【0065】
1 画像処理装置
10 制御部
11 検出パラメータ生成部
12 撮像条件設定部
13 検出可否判断部
14 撮像範囲算出部
15 検出パラメータ決定部(パラメータ決定部)
20 記憶部
30 操作部