(57)【特許請求の範囲】
【請求項１】
カメラのレンズに物体が被っているか否かを検出する物体検出制御をコンピュータに実行させる物体検出プログラムにおいて、
前記コンピュータに、
前記カメラから入力される連続する入力画像について、前記各入力画像における輝度成分の勾配に基づいて画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、
前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、前記レンズに物体が被っていることを認識する、
処理を実行させることを特徴とする物体検出プログラム。
【請求項２】
前記画像劣化領域と前記非移動領域との重なり領域が、画像上のどの位置にあるかを判別し、前記重なり領域が画像の端に接している場合には、撮影者の指が前記レンズに被っていると認識する処理を実行させることを特徴とする請求項１記載の物体検出プログラム。
【請求項３】
被写体を撮像する撮像装置において、
カメラによって撮影された連続する入力画像について、前記各入力画像における輝度成分の勾配に基づいて画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、レンズに物体が被っていると判断する物体検出部を有する、
ことを特徴とする撮像装置。
【請求項４】
カメラのレンズに物体が被っているか否かを検出する物体検出方法において、
前記カメラから入力される連続する入力画像について、前記各入力画像における輝度成分の勾配に基づいて画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、
前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、前記レンズに物体が被っていることを認識する、
ことを特徴とする物体検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出プログラム、撮像装置および物体検出方法に関し、カメラのレンズに物体が被っているか否かを検出する物体検出制御をコンピュータに実行させる物体検出プログラム、被写体を撮像する撮像装置およびカメラのレンズに物体が被っているか否かを検出する物体検出方法に関する。
【背景技術】
【０００２】
近年、ディジタルカメラのコンパクト化や携帯電話機へのカメラ機能の搭載が進むにつれ、誰でも気軽に写真が撮れるようになってきた。また、携帯性向上の要請等から、ディジタルカメラなどの撮像装置の小型化が進んでおり、手のひらに収まる程度のサイズのディジタルカメラなどが開発されている。
【０００３】
一方、このような小型のディジタルカメラ、またはカメラ付き携帯電話機では、撮影時に撮影者の手指がレンズ面にかかり画像内に写ってしまう現象、いわゆる「指被り」が発生しやすく、撮影した写真が失敗写真になることが多かった。
【０００４】
指などの写り込みを防止する従来技術としては例えば、レンズ周囲のタイマ表示窓や操作部の配置を工夫して、指などの写り込みの防止を図った技術が提案されている（特許文献１）。また、レンズの一部が指で覆われていることを判別する技術が提案されている（特許文献２、３）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３３３２３１号公報
【特許文献２】特開２００４−４０７１２号公報
【特許文献３】特開２００８−３０６４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、ディジタルカメラやカメラ付き携帯電話機においては、上述したような、指被りを伴う画像が撮影されることが多く、特に携帯電話機のように、薄くてスマートな形状が望まれ、平坦な面にレンズがあるような機器には、指被りの現象が顕著に現れてしまうといった問題があった。
【０００７】
本発明はこのような点に鑑みてなされたものであり、撮影時に、所望しない物体の写り込みの検出を精度よく行う物体検出プログラムを提供することを目的とする。
また、本発明の他の目的は、撮影時に、所望しない物体の写り込みの検出を精度よく行う撮像装置を提供することである。
【０００８】
さらに、本発明の他の目的は、撮影時に、所望しない物体の写り込みの検出を精度よく行う物体検出方法を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、カメラのレンズに物体が被っているか否かを検出する物体検出制御をコンピュータに実行させる物体検出プログラムが提供される。この物体検出プログラムは、コンピュータに、カメラの入力画像から画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、画像劣化領域と非移動領域との重なり判定を行って、領域が重なる場合には、レンズに物体が被っていることを認識する処理を実行させる。
【発明の効果】
【００１０】
カメラレンズへの物体被りを高精度に検出することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】撮像装置の構成例を示す図である。
【図２】物体検出部の構成ブロックを示す図である。
【図３】指被りが生じている入力画像を示す図である。
【図４】ｎ＝５とした場合の領域の５×５個の画素値を示す図である。
【図５】縦方向の５×５のフィルタ値および横方向の５×５のフィルタ値を示す図である。
【図６】画素フィルタ処理の動作を示す図である。
【図７】縦方向および横方向のフィルタ値の一例を示す図である。
【図８】画像フィルタ処理および勾配判定の動作フローチャートを示す図である。
【図９】画像の座標を示す図である。
【図１０】帯形状が抽出されている様子を示す図である
【図１１】帯形状抽出の動作フローチャートを示す図である。
【図１２】画像フィルタ処理後の画像を示す図である。
【図１３】帯形状抽出の動作例を示すフローチャートである。
【図１４】非移動領域を示す図である。
【図１５】領域重なり判定部の動作フローチャートを示す図である。
【図１６】非移動領域が抽出された画像を示す図である。
【図１７】画像ボケ領域と非移動領域とが重なっている様子を示す図である。
【図１８】位置判定部の動作フローチャートを示す図である。
【図１９】画像の余白を示す図である。
【図２０】余白を含む画像を示す図である。
【図２１】物体被りの位置を示している図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。図１は撮像装置の構成例を示す図である。撮像装置１０は、カメラ１、画像入力部１１、物体検出部１２および結果出力部１３を備える。
【００１３】
画像入力部１１は、カメラ１からの画像を取り込む。物体検出部１２は、入力画像からカメラ１のレンズに物体が被っているか否かを検出する。結果出力部１３は、物体検出部１２の検出結果を出力する。
【００１４】
ここで、物体検出部１２は、カメラ１の入力画像（１枚の静止画）から画像劣化領域を抽出し、かつ連続する入力画像に基づいて（撮影時刻の異なる入力画像に基づいて）、被写体が移動していない非移動領域を抽出する。そして、画像劣化領域と非移動領域との重なり判定を行って、これら２つの領域が重なっている場合には、カメラ１のレンズに物体が被っていると認識する。
【００１５】
次に撮像装置１０における物体検出制御の考え方について説明する。レンズ面に指などの物体が被っている場合、入力画像上における、指被りの領域は、画質が劣化してぼやけた状態になっていることが多い（画像劣化領域が生じることになる）。
【００１６】
また、カメラのユーザは、カメラを起動し、ファインダ画面の状態でレンズを自分が撮りたい被写体に向けて撮影する。このとき通常は、レンズを被写体に向けた後撮影するまでの間に、カメラを持ち直すようなことはしない。
【００１７】
すなわち、ファインダ画面上では、レンズがユーザの撮りたい被写体に向けられるまでの間、画像上の被写体が一定の方向に移動するが、もし指などがレンズにかかっている場合には、その部分は移動しないことになる（非移動領域が生じることになる）。
【００１８】
撮像装置１０では、上記のことを考慮して、画像劣化領域と非移動領域とを求め、これら２つの領域が重なる領域を、レンズに物体が被っている領域であると判別することで、物体被りの検出精度の向上を図るものである。
【００１９】
なお、レンズに物体が被っている場合、撮影者の指がレンズに被っているのか、レンズにゴミ等が付着しているのかの２通りの場合が考えられる。撮像装置１０では、これらの状態の識別を行う機能も有している（後述する）。
【００２０】
次に物体検出部１２の構成ブロックについて説明する。図２は物体検出部１２の構成ブロックを示す図である。物体検出部１２は、輝度成分抽出部１２ａ、非移動領域抽出部１２ｂ、画像劣化領域抽出部１２ｃ、領域重なり判定部１２ｄおよび位置判定部１２ｅを備える。
【００２１】
輝度成分抽出部１２ａは、入力画像から輝度成分を抽出する。非移動領域抽出部１２ｂは、連続して入力されるファインダ画面上の画像から、物体が移動している領域（移動領域）と、物体が移動していない領域（非移動領域）とを判別し、非移動領域を抽出する。
【００２２】
画像劣化領域抽出部１２ｃは、輝度成分抽出部１２ａから出力された輝度成分画像の中で、画像が劣化している領域、すなわち画像ボケ（画像荒れ）が生じている領域を抽出する（以降では、画像が劣化している領域を画像ボケ領域とも呼ぶ）。
【００２３】
領域重なり判定部１２ｄは、画像劣化領域抽出部１２ｃで抽出された画像ボケ領域と、非移動領域抽出部１２ｂで抽出された非移動領域とを受信し、画像ボケ領域と非移動領域とが重なるか否かを判定する。画像ボケ領域が非移動領域内にあって重なると判定した場合、該当の画像ボケ領域は、物体がレンズに被っているものであると認識する。
【００２４】
位置判定部１２ｅは、領域重なり判定部１２ｄから出力された判定結果が重なるものであった場合、画像ボケ領域が画像の端に接しているか否かを判別する。画像ボケ領域が画像の端に接していれば、該当の画像ボケの領域は、撮影者の指が被っているものと認識する。
【００２５】
ここで、従来においては、複数の時系列画像上での非移動で低輝度な領域に着目して、当該領域を指頭の領域と判断する制御が行われている（例えば、上記で示した特開２００４−４０７１２号公報）。しかしこのような制御では、輝度の低い動く物体と動かない物体が写っている場合に、動く物体を物体被りと誤検出してしまう可能性がある。また、撮影状によっては、指などがレンズに被っている部分が低輝度にならない場合も多い。このため、誤検出を生じることがあり、精度よく物体被りが生じていることを検出するのが難しかった。
【００２６】
これに対し、撮像装置１０では、連続する入力画像について、各画像の輝度成分画像の勾配から抽出した画像劣化領域と、連続画像から求めた非移動領域との重なり具合によって物体被りと判定する。そのため、物体被りの誤検出を低減することができ、高精度に物体被りを検出することが可能になる。
【００２７】
一方、指などがレンズにかかっている場合は、物体被り領域は画像の端にかかっていることになる（画像の中央付近で、画像の端にかからずに写っているとすれば、それはレンズにゴミなどの物体が張り付いていると考えられる）。
【００２８】
撮像装置１０では、物体被りが生じていることを認識した後、さらに上記の位置判定部１２ｅによって、物体被り領域が画像の端に存在するか否かを判定する。そして、物体被りが撮影者の指がレンズを覆っているものか否かの判別結果は、結果出力部１３を通じて出力される。これにより、撮影者は、被写体の撮影時に、レンズに指が被っているのか、レンズにゴミなどが付着しているのかを知ることができる。
【００２９】
なお、結果出力部１３で行う結果出力処理の形態としては、物体被りの現象が生じていることを、撮影者が認識できる出力形態であればどのようなものでもよい。例えば、物体被りが生じているときには、アラーム音を発出し、このとき、画像の端に物体被り領域が存在するか否かで（すなわち、指が被っているのか、レンズにゴミなどが付着しているのかで）、アラーム音を異なる音声に替えて出力したりすることができる。
【００３０】
次に物体検出の制御について詳しく説明する。図３は指被りが生じている入力画像を示す図である。画像ｐ１は、例えば、携帯電話機で被写体を撮影する際に、カメラレンズに指が被った状態で撮影されてしまった画像である。画像の右下の部分に指が被っているとする。
【００３１】
図３に示すような指被りが起きているときの、指被り領域を抽出する際の画像劣化領域抽出部１２ｃの動作について説明する。画像劣化領域抽出部１２ｃでは、まず、画像の各画素を中心としたｎ×ｎ画素の範囲に、縦方向および横方向のフィルタをかける。
【００３２】
画像フィルタ処理としては、入力画像（濃淡画像）のｎ×ｎ画素の領域（領域Ｍとする）内の画素値（輝度値）Ｙi,j（ｉは横方向（行方向）の画素番号、ｊは縦方向（列方向）の画素番号）に対して、縦方向フィルタ値Ｆｒi,jを画素ごとに乗算して総和を算出する。
【００３３】
同様に、横方向フィルタ値Ｆｃi,jを画素ごとに乗算して総和を算出する。そして、これら２つの総和を加算した値を領域Ｍの中心画素Ｙa,a（ａ＝１＋int（ｎ／２）：ｎは奇数、int（X）は小数点以下切り下げによるＸの整数値）におけるフィルタ値ＦMとして求める。
【００３４】
図４は、ｎ＝５とした場合の５×５の領域の各画素値Ｙi,j（ｉ，ｊ＝１、２、３、４、５）を示している。また、縦方向の５×５のフィルタ値Ｆｒi,jおよび横方向の５×５のフィルタ値Ｆｃi,jを図５に示す。フィルタ値ＦMの算出式は式（１）となる。
【００３５】
【数１】
0005493777.tif 000002
【００３６】
図６は画素フィルタ処理の動作を示す図である。５×５ピクセル範囲の領域Ｍ１に対して、縦方向フィルタ演算を行う場合を考える。縦方向のフィルタ処理で算出される値ArM1は式（２ａ）となる。
【００３７】
ArM1＝Y1,1・Fr1,1＋Y1,2・Fr1,2＋Y1,3・Fr1,3＋Y1,4・Fr1,4＋Y1,5・Fr1,5
＋Y2,1・Fr2,1＋Y2,2・Fr2,2＋Y2,3・Fr2,3＋Y2,4・Fr2,4＋Y2,5・Fr2,5
＋Y3,1・Fr3,1＋Y3,2・Fr3,2＋Y3,3・Fr3,3＋Y3,4・Fr3,4＋Y3,5・Fr3,5
＋Y4,1・Fr4,1＋Y4,2・Fr4,2＋Y4,3・Fr4,3＋Y4,4・Fr4,4＋Y4,5・Fr4,5
＋Y5,1・Fr5,1＋Y5,2・Fr5,2＋Y5,3・Fr5,3＋Y5,4・Fr5,4＋Y5,5・Fr5,5
・・・（２ａ）
また、縦方向フィルタ値を図７に示すような値とすると、Fr1,1、Fr1,2、Fr1,3、Fr1,4、Fr1,5は（−１）であり、Fr2,1、Fr2,2、・・・、Fr4,4、Fr4,5は０であり、Fr5,1、Fr5,2、Fr5,3、Fr5,4、Fr5,5は（＋１）であるから、式（２ａ）は以下の式（２ｂ）となる。
【００３８】
ArM1＝Y1,1・（−1）＋Y1,2・（−1）＋Y1,3・（−1）＋Y1,4・（−1）＋Y1,5・（−1）＋Y5,1・（＋1）＋Y5,2・（＋1）＋Y5,3・（＋1）＋Y5,4・（＋1）＋Y5,5・（＋1）
＝−Y1,1−Y1,2−Y1,3−Y1,4−Y1,5＋Y5,1＋Y5,2＋Y5,3＋Y5,4＋Y5,5
・・・（２ｂ）
一方、横方向フィルタ演算を行う場合、横方向のフィルタ処理で算出される値AcM1は式（３ａ）となる。
【００３９】
AcM1＝Y1,1・Fc1,1＋Y1,2・Fc1,2＋Y1,3・Fc1,3＋Y1,4・Fc1,4＋Y1,5・Fc1,5
＋Y2,1・Fc2,1＋Y2,2・Fc2,2＋Y2,3・Fc2,3＋Y2,4・Fc2,4＋Y2,5・Fc2,5
＋Y3,1・Fc3,1＋Y3,2・Fc3,2＋Y3,3・Fc3,3＋Y3,4・Fc3,4＋Y3,5・Fc3,5
＋Y4,1・Fc4,1＋Y4,2・Fc4,2＋Y4,3・Fc4,3＋Y4,4・Fc4,4＋Y4,5・Fc4,5
＋Y5,1・Fc5,1＋Y5,2・Fc5,2＋Y5,3・Fc5,3＋Y5,4・Fc5,4＋Y5,5・Fc5,5
・・・（３ａ）
また、横方向フィルタ値を図７に示すような値とすると、Fc1,1、Fc2,1、Fc3,1、Fc4,1、Fc5,1は（−１）であり、Fc1,2、Fc2,2、・・・、Fc4,4、Fc5,4は０であり、Fc1,5、Fc2,5、Fc3,5、Fc4,5、Fc5,5は（＋１）であるから、式（３ａ）は以下の式（３ｂ）となる。
【００４０】
AcM1＝Y1,1・（−1）＋Y2,1・（−1）＋Y3,1・（−1）＋Y4,1・（−1）＋Y5,1・（−1）＋Y1,5・（＋1）＋Y2,5・（＋1）＋Y3,5・（＋1）＋Y4,5・（＋1）＋Y5,5・（＋1）＝−Y1,1−Y2,1−Y3,1−Y4,1−Y5,1＋Y1,5＋Y2,5＋Y3,5＋Y4,5＋Y5,5
・・・（３ｂ）
したがって、領域Ｍ１の中心画素Ｙ3,3のフィルタ値ＦM1（＝ArM1＋AcM1）が求まる。その後、図６に示すように、５×５の領域Ｍ１を１画素移動して、上記と同様の画像フィルタ処理を再び順次施していき、各領域の中心画素のフィルタ値結果を求めて記録する。
【００４１】
そして、フィルタ値の結果が、所定範囲内にあるときは、画像の勾配（濃度勾配）がゆるい勾配と判定し、該当中心画素は画像ボケが生じていると認識する。なお、濃度勾配とは、画素値の変化の度合を表し、物体のエッジなどの箇所は勾配が急になって現れる。
【００４２】
フィルタ結果が所定範囲内にあると判断した場合には、該当中心画素の座標に対し、画像勾配情報として１を記録し、所定範囲内にないと判断した場合には、該当中心画素の座標に対し、画像勾配情報として０を記録する。
【００４３】
図８は画像フィルタ処理および勾配判定の動作フローチャートを示す図であり、図９は画像の座標を示す図である。なお、図８に示す制御は、画像劣化領域抽出部１２ｃで行われものである。また、以降の説明では、フィルタサイズを５×５として説明する。
【００４４】
〔Ｓ１〕濃淡画像中の１つの画素（対象画素）のＹ座標を２に設定する。
〔Ｓ２〕Ｙ座標が（画像高さ−２）以上か否かを判断する。Ｙ座標が（画像高さ−２）以上の場合は終了し、そうでなければステップＳ３へいく。
【００４５】
〔Ｓ３〕対象画素のＸ座標を２に設定する。
〔Ｓ４〕Ｘ座標が（画像幅−２）以上か否かを判断する。Ｘ座標が（画像幅−２）以上の場合はステップＳ５へいき、そうでなければステップＳ６へいく。
【００４６】
〔Ｓ５〕Ｙ座標を１増やし、ステップＳ２へ戻る。
〔Ｓ６〕対象画素を中心とする５×５の領域に縦方向および横方向のフィルタ処理を施す。
【００４７】
〔Ｓ７〕縦方向および横方向のフィルタ処理を行って求めたフィルタ値結果があらかじめ設定した所定範囲内にあるか否かを判断する。具体的には、あらかじめ設定した第１のしきい値を上回り、かつ第２のしきい値を下回るかの判断を行う。所定範囲内にある場合はステップＳ８へいき、所定範囲内にない場合はステップＳ９へいく。
【００４８】
〔Ｓ８〕画像フィルタ処理を施した領域内の対象座標に１を記録し、ステップＳ１０へいく。１が記録された画素は、画像ボケが生じていることを表す。
〔Ｓ９〕画像フィルタ処理を施した領域内の対象座標に０を記録し、ステップＳ１０へいく。０が記録された画素は、画像ボケが生じていないことを表す。
【００４９】
〔Ｓ１０〕Ｘ座標を１増やす。ステップＳ４へ戻る。
次に画像劣化領域抽出部１２ｃで行われる帯形状抽出処理について説明する。図１０は帯形状が抽出されている様子を示す図である。画像劣化領域抽出部１２ｃでは、画像ｐ１内の画像ボケ領域が帯状に連なっている部分を判別し、２値画像から画像ボケ領域の帯状部分を、始点と終点からなる線分として抽出する。
【００５０】
図１１は帯形状抽出の動作フローチャートを示す図である。
〔Ｓ１１〕Ｘ＝２に設定する。
〔Ｓ１２〕終端探索中フラグ（以下、単にフラグ）をＯＦＦに設定する。
【００５１】
〔Ｓ１３〕Ｘが（画像幅−２）未満か否かを判断する。Ｘが（画像幅−２）未満ならばステップＳ１４へいき、そうでなければ終了する。
〔Ｓ１４〕フラグがＯＮか否かを判断する。ＯＮならばステップＳ１５へいき、ＯＮでなければステップＳ１６へいく。
【００５２】
〔Ｓ１５〕Ｙ１＝前回Ｙ範囲の上端値−定数、Ｙ２＝前回Ｙ範囲の下端値＋定数と設定する。
〔Ｓ１６〕Ｙ１＝２、Ｙ２＝（画像高さ−２）と設定する。
【００５３】
〔Ｓ１７〕Ｙ１〜Ｙ２の間で１が続いている範囲を取り出す。
〔Ｓ１８〕取り出した範囲が、あらかじめ設定したしきい値を超えるか否かを判断する。超える場合はステップＳ２２へいき、超えない場合はステップＳ１９へいく。
【００５４】
〔Ｓ１９〕フラグがＯＮか否かを判断する。ＯＮならばステップＳ２１へいき、ＯＮでなければステップＳ２０へいく。
〔Ｓ２０〕Ｘ＝Ｘ＋１とする。
【００５５】
〔Ｓ２１〕Ｘと、Ｙの範囲の中間近傍値とを終点座標として記録する。ステップＳ１１へ戻る。
〔Ｓ２２〕フラグがＯＮか否かを判断する。ＯＮならばステップＳ２４へいき、ＯＮでなければステップＳ２３へいく。
【００５６】
〔Ｓ２３〕フラグをＯＮに設定する。そして、Ｘと、Ｙの範囲の中間近傍値とを始点座標として記録する。
〔Ｓ２４〕Ｙ範囲の上端、下端を記録し、Ｙ範囲に０を書き込む。ステップＳ２０へ戻る。
【００５７】
次に図１１で示した帯形状抽出制御の具体例について説明する。図１２は画像フィルタ処理後の画像を示す図である。画像高さ＝８０（Ｙ＝０〜７９）、画像幅＝６０（Ｘ＝０〜５９）とした画像ｐ１−１に対し、白い部分は画像勾配情報値が０の部分であり、黒い部分は画像勾配情報値が１の部分であるとする。
【００５８】
図１３は帯形状抽出の動作例を示すフローチャートである。図１２の画像ｐ１−１に対して、図１１で示した帯形状抽出処理を行っていく。なお、図１１の動作フローにおいてステップＳ１８で記したしきい値を３、ステップＳ１５における定数を１０とする。
【００５９】
〔Ｓ３１〕フラグをＯＦＦにする（∵ステップＳ１２）。
〔Ｓ３２〕Ｘ＝２（∵ステップＳ１１）、Ｙ１＝２、Ｙ２＝７７（∵ステップＳ１６）の位置に１の値がないことを認識する。Ｘ＝３（∵ステップＳ２０）、Ｙ１＝２、Ｙ２＝７７の位置に１の値がないことを認識する。以下同様に、Ｘの値が１ずつ増えて、１の値があるか否かを探索する。
【００６０】
〔Ｓ３３〕Ｘ＝４０、Ｙ１＝２、Ｙ２＝７７の位置に１の値がないことを認識する。Ｘ＝４１、Ｙ１＝２、Ｙ２＝７７の位置に１の値があることを認識する。このとき１が続くＹの範囲は７７〜７７（すなわち７７の位置だけ）であり、１個なのでしきい値（＝３）未満である。
【００６１】
Ｘ＝４２、Ｙ１＝２、Ｙ２＝７７の位置に１の値がある。ここまで１が続くＹの範囲は７６〜７７であり、１が２個続くのでしきい値未満である。Ｘ＝４３、Ｙ１＝２、Ｙ２＝７７の位置に１の値がある。ここまで１が続くＹの範囲は７５〜７７であり３個続くのでしきい値以上である。したがって、始点Ｘ＝４３とし、始点Ｙは７５〜７７の中間値である７６なので、始点[Ｘ，Ｙ]＝[４３，７６]とする（∵ステップＳ２３）。
【００６２】
〔Ｓ３４〕フラグをＯＮにする（∵ステップＳ２３）。
〔Ｓ３５〕１回目の終点探索として、Ｘ＝４４、Ｙ１＝６５、Ｙ２＝７７の位置に１の値があることを認識する。ここまで１が続くＹの範囲は７４〜７７であり、４個続くのでしきい値以上である。このときの終点Ｘは４４、終点Ｙは７４〜７７の中間近傍値として７５を選択し、終点[Ｘ，Ｙ]＝[４４，７５]とする。
【００６３】
２回目の終点探索として、Ｘ＝４５、Ｙ１＝６４、Ｙ２＝７７の位置に１の値があることを認識する。ここまで１が続くＹの範囲は７３〜７７であり、５個続くのでしきい値以上である。このときの終点Ｘは４５、終点Ｙは７３〜７７の中間値である７５なので、終点[Ｘ，Ｙ]＝[４５，７５]とする。
【００６４】
以降同様に、Ｘ＝５６、Ｙ１＝５２、Ｙ２＝７８の位置に１の値があることを認識する。ここまで１が続くＹの範囲は６２〜７７であり、１６個続くのでしきい値以上である。このときの終点Ｘは５６、終点Ｙは６２〜７７の中間近傍値として７０を選択し、終点[Ｘ，Ｙ]＝[５６，７０]とする。
【００６５】
さらに、Ｘ＝５７、Ｙ１＝５１、Ｙ２＝７８の位置に１の値があることを認識する。ここまで１が続くＹの範囲は６１〜７７であり、１７個続くのでしきい値以上である。このときの終点Ｘは５７、終点Ｙは６１〜７７の中間近傍値として７０を選択し、終点[Ｘ，Ｙ]＝[５７，７０]とする。Ｘ＝５８で終了となる。なお、上記の終点[Ｘ，Ｙ]の探索処理では、２回目以降は上書き記録で行う。
【００６６】
次に非移動領域抽出部１２ｂについて説明する。図１４は非移動領域を示す図である。ファインダ画面の入力画像を複数フレーム間の連続画像として見ると、現フレームｐ２および次フレームｐ２−１のように、カメラの向きを変えるとそれに応じて通常の被写体は動くが、指などがレンズに被っている場合には、その部分は動かない。このような特徴を利用して非移動領域を抽出する（例えば、一般的な背景差分処理などを用いて、非移動領域を抽出することができる）。
【００６７】
次に領域重なり判定部１２ｄについて説明する。領域重なり判定部１２ｄは、帯形状抽出処理によって始点・終点の情報として取り出された画像ボケ領域に対し、非移動領域に重なっているかどうかの判定処理を行う。
【００６８】
図１５は領域重なり判定部１２ｄの動作フローチャートを示す図である。
〔Ｓ４１〕Ｘ増分＝（終点Ｘ−始点Ｘ）／Ｎ、Ｙ増分＝（終点Ｙ−始点Ｙ）／Ｎと設定する。
【００６９】
〔Ｓ４２〕ｃｏｕｎｔ＝Ｎ、ｎｕｍ＝０、Ｘ＝始点Ｘ、Ｙ＝始点Ｙと設定する。
〔Ｓ４３〕ｃｏｕｎｔが０以上か否かを判断する。０以上ならばステップＳ４４へいき、０未満ならばステップＳ４８へいく。
【００７０】
〔Ｓ４４〕[Ｘ，Ｙ］は非移動領域か否かを判断する。非移動領域の場合はステップＳ４５へいき、非移動領域でない場合はステップＳ４６へいく。
〔Ｓ４５〕ｎｕｍ＝ｎｕｍ＋１と設定する。
【００７１】
〔Ｓ４６〕Ｘ＝Ｘ＋Ｘ増分、Ｙ＝Ｙ＋Ｙ増分と設定する。
〔Ｓ４７〕ｃｏｕｎｔ＝ｃｏｕｎｔ−１と設定する。ステップＳ４３へ戻る。
〔Ｓ４８〕ｎｕｍ／Ｎがしきい値以上か否かを判断する。しきい値以上であれば非移動領域と重なると認識し、しきい値未満であれば重ならないと認識する。
【００７２】
次に図１５で示した制御の具体例について説明する。図１６は非移動領域が抽出された画像を示す図である。画像高さ＝８０（Ｙ＝０〜７９）、画像幅＝６０（Ｘ＝０〜５９）とした画像ｐ３に対し、白い部分は移動領域であり、黒い部分は非移動領域であるとする。始点［Ｘ，Ｙ］＝４３、７６と終点［Ｘ，Ｙ］＝５７、７６を持つ抽出した線分に対し、図１４で示した領域重なり判定処理を行っていく。
【００７３】
なお、図１５の動作フローにおいて、Ｎ＝４、しきい値＝０．８とする。このとき、Ｘ増分＝（５７−４３）／４＝３．５、Ｙ増分＝（７０−７６）／４＝−１．５である。また、ｃｏｕｎｔ＝４、ｎｕｍ＝０とする。
【００７４】
まず、ｃｏｕｎｔ＝４、[Ｘ，Ｙ]＝４３，７６で非移動領域であり、ｎｕｍ＝１となる。ｃｏｕｎｔ＝３、[Ｘ，Ｙ]＝４６．５，７４．５（整数では４６，７４）で非移動領域であり、ｎｕｍ＝２となる。
【００７５】
ｃｏｕｎｔ＝２、[Ｘ，Ｙ]＝５０．５，７３で非移動領域であり、ｎｕｍ＝３となる。ｃｏｕｎｔ＝１、[Ｘ，Ｙ]＝５３．５，７１．５（整数では５３，７１）で非移動領域であり、ｎｕｍ＝４となる。ｃｏｕｎｔ＝０、[Ｘ，Ｙ]＝５７，７０で非移動領域であり、ｎｕｍ＝５となる。
【００７６】
ｃｏｕｎｔ＝０になったので、ステップＳ４３〜Ｓ４７のルーチンから抜けてステップＳ４８へいき、ｎｕｍ／Ｎ＝５／４＝１．２であるから１．２＞０．８となる。したがって、非移動領域と画像ボケ領域が重なると判定する。
【００７７】
次に位置判定部１２ｅについて説明する。位置判定部１２ｅは、非移動領域と画像ボケ領域が重なっていると判断された場合は、該当領域が画像の端に物体が被っているものか否かを判定する。図１７は画像ボケ領域と非移動領域とが重なっている様子を示す図である。画像ｐ４において、画像右下に画像ボケ領域（帯形状）と非移動領域とが重なっている様子を示している。
【００７８】
図１８は位置判定部１２ｅの動作フローチャートを示す図であり、図１９は画像の余白を示す図である。
〔Ｓ５１〕始点Ｘが余白の値を超えており、かつ始点Ｘが（画像幅−余白）未満であるか否かを判断する。上記条件を満たす場合はステップＳ５２へいき、満たさない場合は、画像の端に物体が被っていると認識する。
【００７９】
〔Ｓ５２〕始点Ｘが余白の値を超えており、かつ始点Ｙが（画像高さ−余白）未満であるか否かを判断する。上記条件を満たす場合はステップＳ５３へいき、満たさない場合は、画像の端に物体が被っていると認識する。
【００８０】
〔Ｓ５３〕終点Ｘが余白の値を超えており、かつ終点Ｘが（画像幅−余白）未満であるか否かを判断する。上記条件を満たす場合はステップＳ５４へいき、満たさない場合は、画像の端に物体が被っていると認識する。
【００８１】
〔Ｓ５４〕終点Ｙが余白の値を超えており、かつ終点Ｙが（画像高さ−余白）未満であるか否かを判断する。上記条件を満たす場合は画像の端に物体が被っていないと認識し、満たさない場合は、画像の端に物体が被っていると認識する。
【００８２】
ここで、図１８で示した制御の具体例について説明する。図２０は余白を含む画像を示す図である。画像ｐ５は、画像高さ＝８０（Ｙ＝０〜７９）、画像幅＝６０（Ｘ＝０〜５９）とし、始点［Ｘ，Ｙ］＝［４３，７６］および終点［Ｘ，Ｙ］＝［５７，７０］に物体が被っているとする。また、画像ｐ５の端には余白領域がある。
【００８３】
ここで、余白＝６とすると、ステップＳ５１から（始点Ｘ＞６）かつ（始点Ｘ＜（５９−６））を満たす（４３＞６かつ４３＜（５９−６））。このとき、ステップＳ５２に示される（始点Ｘ＞６）かつ（始点Ｙ＜（７９−６））の条件に移行するが、この条件は満たさないので（始点Ｙ＝７６＞（７９−６）となるので、ステップＳ５２の始点Ｙ＜（画像高さ−余白）は満たさない）、始点［Ｘ，Ｙ］＝［４３，７６］および終点［Ｘ，Ｙ］＝［５７，７０］にある物体は、画像の端に物体が被っていることを認識する。すなわち、カメラレンズに撮影者の指が被っていることを認識する。
【００８４】
図２１は物体被りの位置を示している図である。物体被り２１は画像の端にかかっていないため、この物体被り領域はレンズに指が被っているものではないと判定される。また、物体被り２２の方は、画像の端にかかっているため、この物体被り領域はレンズに指が被っているものと判定される。
【００８５】
以上説明したように、撮像装置１０は、カメラ１の入力画像から画像劣化領域を抽出し、かつ連続する入力画像からは被写体が移動していない非移動領域を抽出する。そして、画像劣化領域と非移動領域との重なり判定を行って、これら２つの領域が重なっている場合には、カメラ１のレンズに物体が被っていると認識する構成とした。
【００８６】
これにより、撮影の状況によって物体がレンズに被っている領域の明るさが変わっても物体被りを高精度に検出することが可能になる。また、画像上の位置の判定処理を行うことにより、レンズ中央部に張り付いている物体と、指被りとの差異を認識することが可能になる。
【００８７】
なお、上記の撮像装置１０の処理機能は、コンピュータによって実現することができる。その場合、撮像装置１０が有すべき機能の処理内容を記述したプログラム（物体検出プログラム）が提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００８８】
コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【００８９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９０】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【００９１】
なお、撮像装置１０が適用される製品としては、ディジタルカメラといったカメラ機器だけでなく、カメラ付き携帯電話機のように、カメラ機能を有する装置に対して幅広く適用することが可能である。
【００９２】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【００９３】
（付記１）  カメラのレンズに物体が被っているか否かを検出する物体検出制御をコンピュータに実行させる物体検出プログラムにおいて、
前記コンピュータに、
前記カメラの入力画像から画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、
前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、前記レンズに物体が被っていることを認識する、
処理を実行させることを特徴とする物体検出プログラム。
【００９４】
（付記２）  前記画像劣化領域と前記非移動領域との重なり領域が、画像上のどの位置にあるかを判別し、前記重なり領域が画像の端に存在する場合には、撮影者の指が前記レンズに被っていると認識する処理を実行させることを特徴とする付記１記載の物体検出プログラム。
【００９５】
（付記３）  被写体を撮像する撮像装置において、
カメラによって撮影された入力画像から画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、レンズに物体が被っていると判断する物体検出部を有する、
ことを特徴とする撮像装置。
【００９６】
（付記４）  カメラのレンズに物体が被っているか否かを検出する物体検出方法において、
前記カメラの入力画像から画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、
前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、前記レンズに物体が被っていることを認識する、
ことを特徴とする物体検出方法。
【００９７】
（付記５）  被写体の撮影機能を有する携帯電話機において、
カメラと、
前記カメラのレンズに物体が被っているか否かを検出する物体検出部と、
を備え、
前記物体検出部は、前記カメラの入力画像から画像劣化領域を抽出し、かつ撮影時刻の異なる入力画像に基づいて被写体が移動していない非移動領域を抽出し、前記画像劣化領域と前記非移動領域との重なり判定を行って、領域が重なる場合には、前記レンズに物体が被っていることを認識する、
ことを特徴とする携帯電話機。
【符号の説明】
【００９８】
１０  撮像装置
１  カメラ
１１  画像入力部
１２  物体検出部
１３  結果出力部
【図１】
0005493777.tif 000003
【図２】
0005493777.tif 000004
【図３】
0005493777.tif 000005
【図４】
0005493777.tif 000006
【図５】
0005493777.tif 000007
【図６】
0005493777.tif 000008
【図７】
0005493777.tif 000009
【図８】
0005493777.tif 000010
【図９】
0005493777.tif 000011
【図１０】
0005493777.tif 000012
【図１１】
0005493777.tif 000013
【図１２】
0005493777.tif 000014
【図１３】
0005493777.tif 000015
【図１４】
0005493777.tif 000016
【図１５】
0005493777.tif 000017
【図１６】
0005493777.tif 000018
【図１７】
0005493777.tif 000019
【図１８】
0005493777.tif 000020
【図１９】
0005493777.tif 000021
【図２０】
0005493777.tif 000022
【図２１】
0005493777.tif 000023