(57)【特許請求の範囲】
【請求項１】
可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部と、該画像撮影部が撮影した画像を記憶する撮影画像記憶部と、該撮影画像記憶部が記憶した撮影画像の中に目的の被写体が映っていることを検出して前記被写体の領域を抜き出し領域抽出画像を生成する被写体領域抽出部と、該被写体領域抽出部が領域抽出した複数の最近の撮影画像を蓄積する領域抽出画像記憶部と、前記領域抽出画像記憶部に蓄積された前記複数の最近の領域抽出画像を画素毎に比較し汚れの可能性を示す汚れ度を算出する汚れ度算出部と、算出した汚れ度を画素毎に記憶する汚れ度記憶部と、該汚れ度記憶部から読み出した画素毎の汚れ度を評価して汚れの付着を判定する汚れ判定部を備えることを特徴とする汚れ検出方式。
【請求項２】
前記汚れ判定部で汚れが付着していると判定する際に、画像全体の前記汚れ度の総計があらかじめ設定した閾値を超えたかどうかで判定を行うことを特徴とする請求項１に記載の汚れ検出方式。
【請求項３】
前記汚れ度算出部が各画素の汚れ度を算出する際に、前記複数の最近の領域抽出画像の同じ位置の画素を比較して、画素値が近い場合にその画素の汚れ度を上げ、画素値が離れている場合にその画素の汚れ度を下げる処理を行うことを特徴とする請求項１に記載の汚れ検出方式。
【請求項４】
可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部と、該画像撮影部が撮影した画像を記憶する撮影画像記憶部と、該撮影画像記憶部が記憶した撮影画像の中に目的の被写体が映っていることを検出して前記被写体の領域を抜き出し領域抽出画像を生成する被写体領域抽出部と、該被写体領域抽出部が領域抽出した複数の最近の撮影画像を蓄積する領域抽出画像記憶部と、蓄積された前記領域抽出画像全画素の輝度合計を算出して、予め設定した輝度基準に合致するように輝度補正し前記領域抽出画像記憶部に再蓄積する領域抽出画像補正部と、前記領域抽出画像記憶部に輝度補正して蓄積された前記複数の最近の領域抽出画像を画素毎に比較し汚れの可能性を示す汚れ度を算出する汚れ度算出部と、算出した前記汚れ度を画素毎に記憶する汚れ度記憶部と、該汚れ度記憶部から読み出した画素毎の汚れ度を評価して汚れの付着を判定する汚れ判定部を備えることを特徴とする汚れ検出方式。
【請求項５】
可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部と、該画像撮影部が撮影した画像を記憶する撮影画像記憶部と、該撮影画像記憶部が記憶した撮影画像の中に目的の被写体が映っていることを検出し前記被写体の領域を抜き出して領域抽出画像を生成する被写体領域抽出部と、該被写体領域抽出部が領域抽出した複数の最近の撮影画像と領域抽出の境界に係る画素が被写体領域内かどうかを区別する抽出領域マスク情報を蓄積する領域抽出画像記憶部と、該領域抽出画像記憶部に蓄積された前記複数の最近の領域抽出画像を画素毎に比較し汚れの可能性を示す汚れ度を算出する汚れ度算出部と、算出した前記汚れ度を画素毎に記憶する汚れ度記憶部と、該汚れ度記憶部に記憶される各画素の汚れ度を参照する際に、前記領域抽出画像記憶部に記憶された前記抽出領域マスク情報を参照することによって、当該画素が被写体領域内かどうかを判定し、当該画素が被写体領域内である場合には、当該画素の汚れ度の比重を高くして汚れの付着を判定する汚れ判定部を備えることを特徴とする汚れ検出方式。
【請求項６】
前記汚れ度記憶部の記憶内容を初期化する汚れ度記憶初期化手段を備え、該汚れ度記憶初期化手段を定期的に起動して前記汚れ度記憶部の記憶内容を初期化することを特徴とする請求項１ないし５のいずれかに記載の汚れ検出方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、定点に設置した監視カメラや検査装置などに使用される画像を撮影する装置の外部に露出したイメージセンサ表面に付着した汚れや異物の検出技術に関するものである。
【背景技術】
【０００２】
監視カメラや検査装置の用途においては、イメージセンサの性能の範囲において可能な限り鮮明な画像を撮影することが重要である。しかし、装置の外部に露出したセンサ表面に付着した汚れや異物は鮮明な画像撮影の障害となり、そのような条件で撮影した画像を用いて処理を行うと装置の誤動作などにつながる可能性がある。【０００３】
製造物の検査装置などで、同じ形状の物体を撮影する場合は、予め以前に撮影した基準画像と比較することによって、異なった映り方をしている部分があれば、それは汚れや異物の混入と判断することができるが、異なる形状の物体を検査する場合は、予め撮影した基準画像との比較はできない。また、汚れ検出のために定期的に同じ基準画像を撮影して比較する場合は、同じ基準画像を撮影するための時間や手間が必要であり、また基準画像の撮影ができない用途ではこの方法をとることはできない。【０００４】
また特許文献１に記載されたセンサ表面に付着した汚れや異物の検出技術は、監視カメラのセンサ表面が撮影画像の端に映りこむ様に鏡を設置し、その撮影画像を画像処理することによって汚れ・異物を検出するものである。この従来技術は、センサ外に鏡を設置するため装置の大型化やコストアップにつながり、また、撮影画像の一部が隠れることによる監視カメラとしての性能低下も招くという課題があった。【０００５】
また特許文献２に記載されたセンサ表面に付着した汚れや異物の検出技術は、レンズや絞りなど撮像系を駆動して異なる撮影条件を作り出して複数画像を撮影し、その複数画像間の不変部分を汚れや異物と判定するものである。この従来技術は、レンズや絞り等の可動部を持つことでコストアップとなり、また複数画像間における不変部分を汚れと判定するため、本来汚れではない背景を不変部分であるとして誤って汚れと判定してしまう可能性があるという課題があった。
【特許文献１】特開2001-8193号公報
【特許文献２】特開2004-172820号公報
【発明の開示】
【０００６】
本発明は、可動系を持たず定点に固定した画像撮影部で撮影した撮影画像の中から被写体領域抽出部で比較の対象とする被写体を自動的に検出し、その被写体内側の画像領域を抽出する。これによって誤って背景などを汚れと誤判定することを抑止する。また被写体内側の画像領域を抽出した最近の複数の領域抽出画像を領域抽出画像記憶部で保持する。そして汚れ度算出部で保持した領域抽出画像を比較する。汚れ度算出部では、保持した被写体領域画像を画素毎に比較し、汚れが付着した際に生じる可能性の高い状況を示している場合に、汚れ度記憶部に記憶されているその画素の汚れ度の値を上げる処理を行う。汚れではないという可能性の高い状況を示した場合は、逆に汚れ度記憶部に記憶されているその画素の汚れ度の値を下げる処理を行う。このようにして、画像を撮影する度に被写体領域抽出と汚れ度算出を行い、汚れ度記憶部の情報を更新する。最終的に汚れ判定部では、汚れ度記憶部に格納された汚れ度の情報をもとに汚れが付着しているかどうか、あるいは、汚れの付着の度合いを判定結果として出力する。
【０００７】
本発明によれば、複数の撮影画像の画素値を比較する前に、各撮影画像中の被写体領域抽出を行うことによって、撮影したい被写体に重なって処理の妨害となる汚れだけを確実に検出することができるようになる。従来技術と異なり背景などを誤って汚れと判定することを防止できる。また汚れ度算出部は複数画像の比較を繰り返して汚れの確率の高い画素を抽出し、その確率情報を元に汚れ判定部で汚れ付着かどうかを判定するようにしているので、１枚の撮影画像からは一見して汚れに見えてしまうような画像中の模様を誤って汚れと判定することがない。
【０００８】
さらに、本発明によれば、従来技術と異なり、運用の前に予め基準画像（基準紙など）を撮影しておくという様な初期設定（キャリブレーション）が不要となり、非常に簡単に運用を開始することができる。ユーザは汚れ判定部の出力を見て装置の清掃や交換などを行うことによって、汚れが付着したまま運用を続けることによる監視装置などの性能の低下などを防止することができる。また、判定結果を用いて装置の使用を自動的に停止することも可能で、汚れが付着したまま運用することによるデメリットを防止することができる。
【０００９】
また従来技術と異なり、汚れ検出専用のハードウェアが不要であり、かつ撮像系を機械的に駆動して異なる撮影条件を設定する必要がなく、駆動部の無い装置で異物を検出することが可能となり、駆動系を持つことによるメンテナンス作業の人手及び手間を削減することができるので従来技術よりも低コスト化が可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係る汚れ検出方式の構成を示すブロック図である。
【図２Ａ】本発明の第１の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図２Ｂ】本発明の第１の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図３】本発明の第１の実施形態に係る汚れ検出方式の概念的動作を説明するための流れ図である。
【図４】本発明の実施形態で用いる汚れ度関数の一例を示すグラフである。
【図５】本発明の実施形態で用いる汚れ度を算出する表である。
【図６】本発明の実施形態で用いる特定画素の近傍を参照して汚れ度を算出する説明図である。
【図７】本発明の実施形態に係る汚れ判定部で実施する第１の汚れ判定方法を説明するための図である。
【図８】図７に示した第１の汚れ判定方法の動作を説明するためのフローチャートである。
【図９】本発明の実施形態に係る汚れ判定部で実施する第２の汚れ判定方法を説明するための図である。
【図１０】図９に示した第２の汚れ判定方法の動作を説明するためのフローチャートである。
【図１１】本発明の第２の実施形態に係る汚れ検出方式の構成を示すブロック図である。
【図１２Ａ】本発明の第２の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１２Ｂ】本発明の第２の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１３】本発明の第３の実施形態に係る汚れ検出方式の構成を示すブロック図である。
【図１４Ａ】本発明の第３の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１４Ｂ】本発明の第３の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１４Ｃ】本発明の第３の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１５】本発明の第４の実施形態に係る汚れ検出方式の構成を示すブロック図である。
【図１６Ａ】本発明の第４の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１６Ｂ】本発明の第４の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートである。
【図１７】本発明の第４の実施形態に係る汚れ度記憶初期化部の動作を説明するためのフローチャートである。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態に係る汚れ検出方式の構成を示すブロック図である。図１において本発明の第１の実施形態に係る汚れ検出方式は、監視などの目的で可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部１１と、画像撮影部１１が撮影した画像を記憶する撮影画像記憶部１２と、撮影画像記憶部１２が記憶した撮影画像の中に目的の被写体（例えば車両等）が映っていることを検出して前記被写体の領域を抜き出し領域抽出画像を生成する被写体領域抽出部１３と、被写体領域抽出部１３が領域抽出した最近の２枚以上の撮影画像を蓄積する領域抽出画像記憶部１４と、領域抽出画像記憶部１４に蓄積された複数の領域抽出画像を画素毎に比較し汚れ度を算出する汚れ度算出部１５と、算出した汚れ度を画素毎に記憶する汚れ度記憶部１６と、汚れ度記憶部１６から読み出された画素毎の汚れ度を評価して汚れ付着の有無または汚れ度合いを出力する汚れ判定部１７を備えて構成される。【００１２】
図２Ａおよび図２Ｂは、本発明の第１の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートを示す図である。図２ＡのステップＳ１１において画像撮像部１１は最新の画像Ｉ１を撮影する。次にステップＳ１２では撮影した画像Ｉ１を撮影画像記憶部１２に保存する。ステップＳ１３では被写体領域抽出部１３が撮影画像記憶部１２に保存した画像Ｉ１を画像処理して、撮影対象である被写体の領域を抜き出して、領域抽出画像Ｅ１を生成する。ステップＳ１４では抜き出した被写体領域の画像Ｅ１を、領域抽出画像記憶部１４に保存する。既に領域抽出画像記憶部１４に画像Ｅ１として記憶されている画像が有れば、それは１つ前の画像Ｅ２として保存する。【００１３】
ステップＳ１５では汚れ度算出部１５が画像の中の任意の１画素を指し示す画素座標変数(X,Y)を、最初の画素（左上端など）を示す様に初期化する。ステップＳ１６では領域抽出画像記憶部１４に記憶されている最新の画像Ｅ１から画素座標変数(X,Y)が指す画素の画素値Ａ１を読み出す。ステップＳ１７では領域抽出画像記憶部１４に記憶されている１回前の画像Ｅ２から画素座標変数(X,Y)が指す画素の画素値Ａ２を読み出す。ステップＳ１８では画素値Ａ１，Ａ２を元に、その画素に汚れが付着しているかどうかを示す汚れ度Ｐ１を算出する。汚れ度Ｐ１は、画素値Ａ１，Ａ２の関数として、Ｐ１＝Ｆ（Ａ１，Ａ２）と表せる。【００１４】
図２ＢのステップＳ１９では汚れ度記憶部１６の画素座標変数(X,Y)が示す画素の汚れ度Ｐ２を読み出す。ステップＳ２０では汚れ度Ｐ１，Ｐ２から、新たな汚れ度Ｐ３を算出する。汚れ度Ｐ３は、汚れ度Ｐ１，Ｐ２の関数として、Ｐ３＝Ｇ（Ｐ１，Ｐ２）と表すことができる。そしてステップＳ２１では汚れ度記憶部１６の画素座標変数(X,Y)が指す画素の汚れ度の値として、Ｐ３を書き込む。【００１５】
ステップＳ２２では画素座標変数(X,Y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。全画素処理していなければステップＳ２３に進み、ステップＳ２３で画素座標変数(X,Y)を次の画素を指す様に更新し、図２ＡのステップＳ１６に戻る。一方、全画素処理していればステップＳ２４に進み、ステップＳ２４において、汚れ判定部１７は汚れ度記憶部１６に記憶された全画素の汚れ度を合計した値Ｐを求め、汚れ判定閾値Ｐｔｈと比較する。ステップＳ２５では値Ｐが閾値Ｐｔｈより大きいかを判定する。大きければ、ステップＳ２６に進み、ステップＳ２６において「汚れが付着している」と判定し、判定結果を出力し、その後で処理を終了する。一方、大きくなければ、ステップＳ２７に進み、ステップＳ２７において「汚れが付着していない」と判定し、その後、図２ＡのステップＳ１１に戻る。【００１６】
このように本発明の第１の実施形態に係る汚れ検出方式によれば、複数の撮影画像の画素値を比較する前に、各撮影画像中の被写体領域抽出を行うことによって、撮影したい被写体に重なって処理の妨害となる汚れだけを確実に検出することができるようになる。従来技術と異なり背景などを誤って汚れと判定することを防止できる。また汚れ度算出部は複数画像の比較を繰り返して汚れの確率の高い画素を抽出し、その確率情報を元に汚れ判定部で汚れ付着かどうかを判定するようにしているので、１枚の撮影画像からは一見して汚れに見えてしまうような画像中の模様を誤って汚れと判定することがない。【００１７】
さらに、本発明によれば、従来技術と異なり、運用の前に予め基準画像（基準紙など）を撮影しておくという様な初期設定（キャリブレーション）が不要となり、非常に簡単に運用を開始することができる。ユーザは汚れ判定部の出力を見て装置の清掃や交換などを行うことによって、汚れが付着したまま運用を続けることによる監視装置などの性能の低下などを防止することができる。また、判定結果を用いて装置の使用を自動的に停止することも可能で、汚れが付着したまま運用することによるデメリットを防止することができる。【００１８】
また従来技術と異なり、汚れ検出専用のハードウェアが不要であり、かつ撮像系を機械的に駆動して異なる撮影条件を設定する必要がなく、駆動部の無い装置で異物を検出することが可能となり、駆動系を持つことによるメンテナンス作業の人手及び手間を削減することができるので従来技術よりも低コスト化が可能である。【００１９】
図３は、上述した本発明の第１の実施形態に係る汚れ検出方式の概念的動作を説明するための流れ図である。本図では、画像撮影部１１が定点固定カメラの例で、該カメラで画像を撮影し続けて、撮影した画像を撮像画像記憶部１２に蓄積し続ける。目的の被写体が車両であるとして被写体領域抽出部１３は被写体領域だけを抽出処理し、領域抽出画像記憶部１４に記憶する。本実施形態では撮影対象とする被写体の領域だけを汚れ検出の対象領域とし、被写体に重なって映る汚れ・異物だけを検出し、被写体の周囲に映っている背景画像を汚れ・異物と誤検出しないようにしている。【００２０】
汚れ度算出部１５は、２枚以上の撮影画像の中でそれぞれ抽出された領域内において画素毎に比較する。付着した汚れは異なる被写体を写した場合でも同じ位置に同じ画素値で映る性質を利用して、画素値が等しい画素を汚れ候補として汚れ度記憶部１６に記録する。この際に単に１回の比較で汚れ付着と判定せず、比較結果を踏まえて汚れ度の上げ下げを行う。この様な画像の比較を何回も繰り返すことによって、各画素における汚れ度が徐々に収束し、本当の汚れの部位の汚れ度は高くなり、汚れでない部分の汚れ度は低くなる。これによって、対象とする被写体が比較的似た画像であって汚れ・異物以外の部分で似た画素値を持つ領域が有った場合でも、多くの画像の比較結果を累積することで、汚れ・異物以外の画素部分は相殺され汚れ度が低くなるが、本当の汚れ・異物の画素は汚れ度が高くなるため、誤検出を防ぐことができる。【００２１】
ここで本発明の実施形態に係る汚れ度の算出法について説明する。本実施形態においては、以下に示す幾つかの汚れ度算出法を用いることができる。
（第１の汚れ度算出法）
汚れ度をＰ、最新の撮影画像の任意座標(x,y)の画素値をＡ(x,y)、１つ前の撮影画像の任意座標(x,y)の画素値をＢ(x,y)としたとき、汚れ度Ｐは、
Ｐ＝Ｆ（Ａ(x,y)，Ｂ(x,y)）
という関数によって汚れ度を算出する。【００２２】
関数の中身は任意であるが、画素値の差（Ａ(x,y)−Ｂ(x,y)）の絶対値が小さい時に、汚れ度Ｐが最大となる、例えば、図４に示す様な特性を持つ関数を用いる。
（第２の汚れ度算出法）
最新の撮影画像の任意座標(x,y)の画素値Ａ(x,y)および１つ前の撮影画像の任意座標(x,y)の画素値Ｂ(x,y)をそれぞれ縦軸、横軸の値として、図５に示す様な表を参照し、その値を汚れ度Ｐの値として用いる（図５の表中に無い場合は近傍の値を基に補間し、その補間値を汚れ度の値とする）。図５は、画素が黒に近く、かつ、Ａ(x,y),Ｂ(x,y)が近い値の場合に汚れ度Ｐが大きくなる様な汚れ検出フィルタ処理を行う表である。【００２３】
（第３の汚れ度算出法）
図６は、第３の汚れ度算出法を説明する図であり、最新の撮影画像の任意座標(x,y)の汚れ度を算出するにあたって、その座標(x,y)の画素値だけではなく、座標(x,y)の近傍の画素値も用いて、汚れ度Ｐを算出する。その場合、図６（ａ）に示されるように、中心画素が同じ画素値で、近傍の画素も含めて似ている時にのみ、汚れ度が大と判断する。また、図６（ｃ）に示されるように、汚れ付着時に特徴的な画像パターンではないときは、周囲のパターンが似ていても汚れ度は小と判断する。すなわち、中心画素は同じ画素値だが、周囲も含めて見ると汚れ付着時に見られる特徴的な画像パターンではないときには汚れ度は小と判断する。なお、図６（ｂ）に示されるように、中心画素は同じ画素値だが、近傍の画素は似ていない時は、汚れ度は小と判断する。【００２４】
つぎに本発明の実施形態に係る汚れ判定部で実施する汚れ判定方法について説明する。本実施形態においては、以下に示す幾つかの汚れ判定方法を採ることができる。
（第１の汚れ判定方法）
本発明の実施形態に係る第１の汚れ判定方法は、図７に示すように、汚れ度記憶部に記憶された画像全体の汚れ度の合計を求め、その合計値があらかじめ決められた閾値Ｐ_sum_threshを上回っていれば、汚れが付着していると判定するものである。この判定方法を用いれば、センサ表面に全体的に薄いあるいは細かい汚れが付着した場合に汚れと判定することができる。【００２５】
図８は、本発明の実施形態に係る第１の汚れ判定方法を説明するためのフローチャートである。図８のステップＳ３１では画像全体の汚れ度の合計値Ｐ_sumを初期化する。次いでステップＳ３２では画像の中の任意の１画素を指し示す画素座標変数(x,y)を、最初の画素(左上端など)を示す様に初期化する。ステップＳ３３では汚れ度記憶部から画素座標変数(x,y)の汚れ度Ｐ(x,y)を読み出す。ステップＳ３４では画像全体の汚れ度の合計値Ｐ_sumと読み出した汚れ度Ｐ(x,y)の総計し、画像全体の汚れ度の合計値Ｐ_sumを更新する。ステップＳ３５では画素座標変数(x,y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。【００２６】
全画素処理していなければ、ステップＳ３６に進み、ステップＳ３６で画素座標変数(x,y)を次の画素を指す様に更新してステップＳ３３に戻る。一方、全画素処理していれば、ステップＳ３７に進み、ステップＳ３７で画像全体の汚れ度の合計値Ｐ_sumが閾値Ｐ_sum_threshを上回っているかを判定する。閾値を上回っていれば、ステップＳ３８に進み、ステップＳ３８で「汚れが付着している」と判定して汚れ判定を終了する。一方、閾値を上回っていなければ、ステップＳ３９に進み、ステップＳ３９で「汚れが付着していない」と判定して汚れ判定を終了する。【００２７】
（第２の汚れ判定方法）
本発明の実施形態に係る第２の汚れ判定方法は、図９に示すように、汚れ度記憶部に記憶された画像全体の汚れ度を順に調べ、予め決めた閾値Ｐ_threshよりも大きな汚れ度になっている画素の数Ｎを数えて、その画素数Ｎが予め決められた閾値Ｎ_threshを上回っていれば、汚れが付着していると判定する。この判定方法を用いれば、濃い汚れや明確に汚れと判断できる部分がある場合に汚れと判定することができる。なお、上述した閾値よりも大きな汚れ度になっている画素の総数Ｎに代えて、閾値よりも大きな汚れ度になっている画素の総面積で判定するようにしても良い。【００２８】
図１０は、本発明の実施形態に係る第２の汚れ判定方法を説明するためのフローチャートである。図１０のステップＳ４１では閾値Ｐ_threshよりも大きな汚れ度になっている画素の数Ｎを初期化する。次いでステップＳ４２では画像の中の任意の１画素を指し示す画素座標変数(x,y)を、最初の画素(左上端など)を示す様に初期化する。ステップＳ４３では汚れ度記憶部から画素座標変数(x,y)の汚れ度Ｐ(x,y)を読み出す。ステップＳ４４では汚れ度Ｐ(x,y)が閾値Ｐ_threshよりも大きいかを判定する。【００２９】
ステップＳ４４の判定で閾値Ｐ_threshよりも大きくなければ、ステップＳ４５に進み、ステップＳ４５で画素座標変数(x,y)を次の画素を示す様に更新しステップＳ４３に戻る。一方、ステップＳ４４の判定で閾値Ｐ_threshよりも大きければ、ステップＳ４６に進み、ステップＳ４６で画素の数Ｎをインクリメントする。次いでステップＳ４７では画素座標変数(x,y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。【００３０】
全画素処理していなければ、ステップＳ４５に戻り、ステップＳ４５で画素座標変数(x,y)を次の画素を示す様に更新しステップＳ４３に戻る。一方、全画素処理していれば、ステップＳ４８に進み、ステップＳ４８で画素数Ｎが予め決めた閾値Ｎ_threshを上回っているかを判定する。閾値Ｎ_threshを上回っていれば、ステップＳ４９に進み、ステップＳ４９で「汚れが付着している」と判定して汚れ判定を終了する。一方、予め決めた閾値Ｎ_threshを上回っていなければ、ステップＳ５０に進み、ステップＳ５０で「汚れが付着していない」と判定して汚れ判定を終了する。【００３１】
このように汚れ判定部は上記のようにして汚れを判定した上で、汚れ判定部は、汚れの付着の有無とともに汚れの付着の度合いを出力する。汚れ判定部が汚れの付着の有無及び汚れの付着の度合いを出力するので、確実に汚れ付着と判定する前に警告することができる。またそれらをログ記録することでセンサの状態変化をチェックすることも可能となる。
［第２の実施形態］
図１１は、本発明の第２の実施形態に係る汚れ検出方式の構成を示すブロック図である。図１１において本発明の第２の実施形態に係る汚れ検出方式は、監視などの目的で可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部２１と、画像撮影部２１が撮影した画像を記憶する撮影画像記憶部２２と、撮影画像記憶部２２が記憶した撮影画像の中に目的の被写体が映っていることを検出して前記被写体の領域を抜き出し領域抽出画像を生成する被写体領域抽出部２３と、被写体領域抽出部２３が領域抽出した最近の２枚以上の撮影画像を蓄積する領域抽出画像記憶部２４と、領域抽出画像全画素の輝度合計を算出して、予め設定した輝度基準に合致するように輝度補正し領域抽出画像記憶部２４に再蓄積する領域抽出画像補正部２５と、領域抽出画像記憶部２４に輝度補正して蓄積された複数の領域抽出画像を比較し画素毎に汚れ度を算出する汚れ度算出部２６と、算出した汚れ度を画素毎に記憶する汚れ度記憶部２７と、汚れ度記憶部２７から読み出された画素毎の汚れ度を評価して汚れ付着の有無または汚れ度合いを出力する汚れ判定部２８を備えて構成される。【００３２】
図１２Ａおよび図１２Ｂは、本発明の第２の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートを示す図である。図１２ＡのステップＳ５１において画像撮像部２１は最新の画像Ｉ１を撮影する。次にステップＳ５２では撮影した画像Ｉ１を撮影画像記憶部２２に保存する。ステップＳ５３では被写体領域抽出部２３が撮影画像記憶部２２に保存した画像Ｉ１を画像処理して、撮影対象である被写体の領域を抜き出して、領域抽出画像Ｅ１を生成する。ステップＳ５４では抜き出した被写体領域の画像Ｅ１を、領域抽出画像記憶部２４に保存する。既に領域抽出画像記憶部２４に画像Ｅ１として記憶されている画像が有れば、それは１つ前の画像Ｅ２として保存する。ステップＳ５５では領域抽出画像補正部２５において、領域抽出画像Ｅ１の全画素の輝度合計Ｖ１を算出し、予め決めた基準輝度Ｖ０に合致するように、領域抽出画像の全画素をＶ０／Ｖ１倍して輝度補正を行って、領域抽出画像記憶部２４に再び保存する。【００３３】
ステップＳ５６では汚れ度算出部２６が画像の中の任意の１画素を指し示す画素座標変数(X,Y)を、最初の画素（左上端など）を示す様に初期化する。ステップＳ５７では領域抽出画像記憶部２４に記憶されている最新の画像Ｅ１から画素座標変数(X,Y)が指す画素の画素値Ａ１を読み出す。ステップＳ５８では領域抽出画像記憶部２４に記憶されている１回前の画像Ｅ２から画素座標変数(X,Y)が指す画素の画素値Ａ２を読み出す。【００３４】
図１２ＢのステップＳ５９では画素値Ａ１，Ａ２を元に、その画素に汚れが付着しているかどうかを示す汚れ度Ｐ１を算出する。汚れ度Ｐ１は、画素値Ａ１，Ａ２の関数として、Ｐ１＝Ｆ（Ａ１，Ａ２）と表せる。ステップＳ６０では汚れ度記憶部２７の画素座標変数(X,Y)が示す画素の汚れ度Ｐ２を読み出す。ステップＳ６１では汚れ度Ｐ１，Ｐ２から、新たな汚れ度Ｐ３を算出する。汚れ度Ｐ３は、汚れ度Ｐ１，Ｐ２の関数として、Ｐ３＝Ｇ（Ｐ１，Ｐ２）と表すことができる。そしてステップＳ６２では汚れ度記憶部２７の画素座標変数(X,Y)が指す画素の汚れ度の値として、Ｐ３を書き込む。【００３５】
ステップＳ６３では画素座標変数(X,Y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。全画素処理していなければステップＳ６４に進み、ステップＳ６４で画素座標変数(X,Y)を次の画素を指す様に更新し、図１２ＡのステップＳ５７に戻る。一方、全画素処理していればステップＳ６５に進み、ステップＳ６５において、汚れ判定部２８は汚れ度記憶部２７に記憶された全画素の汚れ度を合計した値Ｐを求め、汚れ判定閾値Ｐｔｈと比較する。ステップＳ６６では値Ｐが閾値Ｐｔｈより大きいかを判定する。大きければ、ステップＳ６７に進み、ステップＳ６７において「汚れが付着している」と判定し、判定結果を出力し、その後で処理を終了する。一方、大きくなければ、ステップＳ６８に進み、ステップＳ６８において「汚れが付着していない」と判定し、その後、図１２ＡのステップＳ５１に戻る。【００３６】
このように本発明の第２の実施形態に係る汚れ検出方式によれば、汚れ度算出の前に領域抽出画像の輝度の高低により比較する画素値を補正することによって、撮影条件が同じでなくても同じ撮影条件で撮影したのに近い画素比較を行うことにより適切な汚れ度の算出を行うことができる。また汚れ度算出の前に領域抽出画像について輝度の高い画素など明確に汚れによる影響ではないと断定できる画素値を示す画素の汚れ度を下げるようにして汚れ判定の精度を向上させることができる。
［第３の実施形態］
図１３は、本発明の第３の実施形態に係る汚れ検出方式の構成を示すブロック図である。図１３において本発明の第３の実施形態に係る汚れ検出方式は、監視などの目的で可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部３１と、画像撮影部３１が撮影した画像を記憶する撮影画像記憶部３２と、撮影画像記憶部３２が記憶した撮影画像の中に目的の被写体が映っていることを検出し前記被写体の領域を抜き出して領域抽出画像を生成する被写体領域抽出部３３と、被写体領域抽出部３３が領域抽出した複数の最近の撮影画像と領域抽出の境界に係る画素が被写体領域内かどうかを区別する抽出領域マスク情報を蓄積する領域抽出画像記憶部３４と、領域抽出画像記憶部３４に蓄積された複数の最近の領域抽出画像を画素毎に比較し汚れ度を算出する汚れ度算出部３５と、算出した汚れ度を画素毎に記憶する汚れ度記憶部３６と、汚れ度記憶部３６に記憶される各画素の汚れ度を参照する際に、領域抽出画像記憶部３４に記憶された抽出領域マスク情報を参照することによって、当該画素が被写体領域内かどうかを判定し、当該画素が被写体領域内である場合には、当該画素の汚れ度の比重を高くして汚れの付着を判定する汚れ判定部３７を備えて構成される。【００３７】
図１４Ａ、図１４Ｂおよび図１４Ｃは、本発明の第３の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートを示す図である。図１４ＡのステップＳ７１において画像撮像部３１は最新の画像Ｉ１を撮影する。次にステップＳ７２では撮影した画像Ｉ１を撮影画像記憶部３２に保存する。ステップＳ７３では被写体領域抽出部３３が撮影画像記憶部７２に保存した画像Ｉ１を画像処理して、撮影対象である被写体の領域を抜き出して、領域抽出画像Ｅ１と抽出領域マスク情報Ｍ１を生成する。ステップＳ７４では抜き出した被写体領域の画像Ｅ１と抽出領域マスク情報Ｍ１を、領域抽出画像記憶部７４に保存する。既に領域抽出画像記憶部７４に画像とマスク情報Ｅ１・Ｍ１として記憶されていた画像とマスク情報は１つ前の画像とマスク情報Ｅ２・Ｍ２として保存する。【００３８】
ステップＳ７５では汚れ度算出部３５が画像の中の任意の１画素を指し示す画素座標変数(X,Y)を、最初の画素（左上端など）を示す様に初期化する。ステップＳ７６では領域抽出画像記憶部３４に記憶されている最新の画像Ｅ１から画素座標変数(X,Y)が指す画素の画素値Ａ１を読み出す。ステップＳ７７では領域抽出画像記憶部３４に記憶されている１回前の画像Ｅ２から画素座標変数(X,Y)が指す画素の画素値Ａ２を読み出す。ステップＳ７８では画素値Ａ１，Ａ２を元に、その画素に汚れが付着しているかどうかを示す汚れ度Ｐ１を算出する。汚れ度Ｐ１は、画素値Ａ１，Ａ２の関数として、Ｐ１＝Ｆ（Ａ１，Ａ２）と表せる。【００３９】
図１４ＢのステップＳ７９では汚れ度記憶部３６の画素座標変数(X,Y)が示す画素の汚れ度Ｐ２を読み出す。ステップＳ８０では汚れ度Ｐ１，Ｐ２から、新たな汚れ度Ｐ３を算出する。汚れ度Ｐ３は、汚れ度Ｐ１，Ｐ２の関数として、Ｐ３＝Ｇ（Ｐ１，Ｐ２）と表すことができる。そしてステップＳ８１では汚れ度記憶部３６の画素座標変数(X,Y)が指す画素の汚れ度の値として、Ｐ３を書き込む。ステップＳ８２では画素座標変数(X,Y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。全画素処理していなければステップＳ８３に進み、ステップＳ８３で画素座標変数(X,Y)を次の画素を指す様に更新し、図１４ＡのステップＳ７６に戻る。一方、全画素処理していればステップＳ８４に進み、ステップＳ８４において、汚れ判定部３７は画像の中の任意の１画素を指し示す画素座標変数(x,y)を、最初の画素（左上端など）を示す様に初期化する。そしてステップＳ８５では汚れ度記憶部３６から画素座標変数(x,y)の汚れ度Ｐ(x,y)を読み出す。またステップＳ８６では領域抽出記憶部３４から画素座標変数(x,y)の抽出領域マスク情報Ｍ(x,y)を読み出す。【００４０】
図１４ＣのステップＳ８７では抽出領域マスク情報Ｍ(x,y)が０より大ならば、汚れ度Ｐ(x,y)を係数Ｋ１倍して新たな汚れ度Ｐ(x,y)とし、また抽出領域マスク情報Ｍ(x,y)が０であれば、汚れ度Ｐ(x,y)をＫ２倍して新たな汚れ度Ｐ(x,y)とする。ただし、係数Ｋ１は係数Ｋ２よりも大であるとし、両係数Ｋ１，Ｋ２は１と０の間にあるものとする。つまりステップＳ８７では、画素座標変数(x,y)の抽出領域マスク情報Ｍ(x,y)が０より大である場合、すなわち被写体領域の境界に係る画素が被写体領域内である場合は、当該画素座標変数(x,y)の汚れ度の比重を画素座標変数(x,y)の抽出領域マスク情報Ｍ(x,y)が０である場合、すなわち被写体領域の境界に係る画素が被写体領域内でない場合よりも高くして汚れ度を評価する。【００４１】
ステップＳ８８では画素座標変数(x,y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。全画素処理していなければステップＳ８９に進み、ステップＳ８９で画素座標変数(x,y)を次の画素を指す様に更新し、図１４ＢのステップＳ８５に戻る。一方、全画素処理していればステップＳ９０に進み、ステップ９０では全画素の汚れ度Ｐ(x,y)を合計して値Ｐを算出し、汚れ判定閾値Ｐｔｈと比較する。ステップＳ９１では値Ｐが閾値Ｐｔｈより大きいかを判定する。大きければ、ステップＳ９２に進み、ステップＳ９２において「汚れが付着している」と判定し、判定結果を出力し、その後で処理を終了する。一方、大きくなければ、ステップＳ９３に進み、ステップＳ９３において「汚れが付着していない」と判定し、その後、図１４ＡのステップＳ７１に戻る。【００４２】
このように本発明の第３の実施形態に係る汚れ検出方式によれば、汚れ判定部で汚れが付着していると判定する際に、被写体領域抽出部で被写体領域として抽出した画素の汚れ度を、被写体領域外の画素の汚れ度よりも重視して、汚れ判定の際に重みを掛けて汚れ判定を行うことで、画像の端など被写体に重ならずあまり重要でない部分に付着した汚れではなく主に被写体に重なる汚れを重視して検出することができるようになる。
［第４の実施形態］
図１５は、本発明の第４の実施形態に係る汚れ検出方式の構成を示すブロック図である。図１５において本発明の第４の実施形態に係る汚れ検出方式は、監視などの目的で可動系を持たず常に画象を撮影し続ける定点に固定した画像撮影部４１と、画像撮影部４１が撮影した画像を記憶する撮影画像記憶部４２と、撮影画像記憶部４２が記憶した撮影画像の中に目的の被写体（例えば車両等）が映っていることを検出して前記被写体の領域を抜き出し領域抽出画像を生成する被写体領域抽出部４３と、被写体領域抽出部４３が領域抽出した最近の２枚以上の撮影画像を蓄積する領域抽出画像記憶部４４と、領域抽出画像記憶部４４に蓄積された複数の領域抽出画像を画素毎に比較し汚れ度を算出する汚れ度算出部４５と、算出した汚れ度を画素毎に記憶する汚れ度記憶部４６と、汚れ度記憶部４６から読み出された画素毎の汚れ度を評価して汚れ付着の有無または汚れ度合いを出力する汚れ判定部４７と、タイマー４９により起動され定期的に汚れ度記憶部４６の記憶された全画素の汚れ度情報を初期化する汚れ度記憶初期化部４８と、定期的なタイマー出力を汚れ度記憶初期化部４８に出力するタイマー４９を備えて構成される。【００４３】
図１６Ａおよび図１６Ｂは、本発明の第４の実施形態に係る汚れ検出方式の動作を説明するためのフローチャートを示す図である。図１６ＡのステップＳ１０１において画像撮像部４１は最新の画像Ｉ１を撮影する。次にステップＳ１０２では撮影した画像Ｉ１を撮影画像記憶部４２に保存する。ステップＳ１０３では被写体領域抽出部４３が撮影画像記憶部４２に保存した画像Ｉ１を画像処理して、撮影対象である被写体の領域を抜き出して、領域抽出画像Ｅ１を生成する。ステップＳ１０４では抜き出した被写体領域の画像Ｅ１を、領域抽出画像記憶部４４に保存する。既に領域抽出画像記憶部４４に画像Ｅ１として記憶されている画像が有れば、それは１つ前の画像Ｅ２として保存する。【００４４】
ステップＳ１０５では汚れ度記憶部４６がロックされているかを調べ、汚れ度記憶部４６がロックされていないことを確認してステップＳ１０６に進む。ステップＳ１０６では汚れ度記憶部４６をロックする。これらの動作に関連する汚れ度記憶部４６の初期化動作については図１７で詳述する。そしてステップＳ１０７では汚れ度算出部４５が画像の中の任意の１画素を指し示す画素座標変数(X,Y)を、最初の画素（左上端など）を示す様に初期化する。ステップＳ１０８では領域抽出画像記憶部４４に記憶されている最新の画像Ｅ１から画素座標変数(X,Y)が指す画素の画素値Ａ１を読み出す。ステップＳ１０９では領域抽出画像記憶部４４に記憶されている１回前の画像Ｅ２から画素座標変数(X,Y)が指す画素の画素値Ａ２を読み出す。【００４５】
図１６ＢのステップＳ１１０では画素値Ａ１，Ａ２を元に、その画素に汚れが付着しているかどうかを示す汚れ度Ｐ１を算出する。汚れ度Ｐ１は、画素値Ａ１，Ａ２の関数として、Ｐ１＝Ｆ（Ａ１，Ａ２）と表せる。ステップＳ１１１では汚れ度記憶部４６の画素座標変数(X,Y)が示す画素の汚れ度Ｐ２を読み出す。ステップＳ１１２では汚れ度Ｐ１，Ｐ２から、新たな汚れ度Ｐ３を算出する。汚れ度Ｐ３は、汚れ度Ｐ１，Ｐ２の関数として、Ｐ３＝Ｇ（Ｐ１，Ｐ２）と表すことができる。そしてステップＳ１１３では汚れ度記憶部４６の画素座標変数(X,Y)が指す画素の汚れ度の値として、Ｐ３を書き込む。【００４６】
ステップＳ１１４では画素座標変数(X,Y)は画像中の最後の画素か、すなわち全画素処理したか、を判定する。全画素処理していなければステップＳ１１５に進み、ステップＳ１１５で画素座標変数(X,Y)を次の画素を指す様に更新し、図１６ＡのステップＳ１０８に戻る。一方、全画素処理していればステップＳ１１６に進み、ステップＳ１１６において、汚れ判定部４７は汚れ度記憶部４６に記憶された全画素の汚れ度を合計した値Ｐを求め、汚れ判定閾値Ｐｔｈと比較する。またステップＳ１１７では汚れ度記憶部４６のロックを解除する。ステップＳ１１８では値Ｐが閾値Ｐｔｈより大きいかを判定する。大きければ、ステップＳ１１９に進み、ステップＳ１１９において「汚れが付着している」と判定し、判定結果を出力し、その後で処理を終了する。一方、大きくなければ、ステップＳ１２０に進み、ステップＳ１２０において「汚れが付着していない」と判定し、その後、図１６ＡのステップＳ１０１に戻る。【００４７】
図１７は、本発明の第４の実施形態に係る汚れ度記憶初期化部の動作を説明するためのフローチャートを示す図である。図１７においてまず汚れ度記憶初期化部４８は、タイマー４９の定期的なタイマー出力により起動されることを前提としている。そしてステップＳ１２１では汚れ度記憶部４６がロックされているかを判定することにより汚れ度記憶部４６がロックされていないことを確認してステップＳ１２２に進む。ステップＳ１２２では汚れ度記憶部４６をロックする。そしてステップＳ１２３では汚れ度記憶部４６の全画素の汚れ度の値を０に初期化する。ステップＳ１２４では汚れ度記憶部４６のロックを解除する。これにより汚れ度記憶初期化の動作を終了する。【００４８】
このように本発明の第４の実施形態に係る汚れ検出方式によれば、定期的に汚れ度記憶部の記憶内容を初期化することで、長期にわたって処理を続けた結果として汚れ度記憶部に不正な情報が残り続けてしまうことを防止し、汚れ判定の精度を保つことができる。
【産業上の利用可能性】
【００４９】
上記ではもっぱら監視装置における用途での適用を説明したが、これへの適用に限定されず、画像センサを用いる製造物の検査装置、生体認証装置などでの多方面での適用も可能である。
【図１】
0004644283.tif 000002
【図２Ａ】
0004644283.tif 000003
【図２Ｂ】
0004644283.tif 000004
【図４】
0004644283.tif 000005
【図５】
0004644283.tif 000006
【図８】
0004644283.tif 000007
【図１０】
0004644283.tif 000008
【図１１】
0004644283.tif 000009
【図１２Ａ】
0004644283.tif 000010
【図１２Ｂ】
0004644283.tif 000011
【図１３】
0004644283.tif 000012
【図１４Ａ】
0004644283.tif 000013
【図１４Ｂ】
0004644283.tif 000014
【図１４Ｃ】
0004644283.tif 000015
【図１５】
0004644283.tif 000016
【図１６Ａ】
0004644283.tif 000017
【図１６Ｂ】
0004644283.tif 000018
【図１７】
0004644283.tif 000019
【図３】
0004644283.tif 000020
【図６】
0004644283.tif 000021
【図７】
0004644283.tif 000022
【図９】
0004644283.tif 000023