撮像装置および画像処理方法
【課題】追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合、追尾対象を追尾できなくなる。
【解決手段】時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置は、被写体像を撮像して画像データを生成する撮像部2,3と、撮像部2,3で生成された画像データの色情報を取得する色情報取得部12と、色情報取得部12で取得された色情報に基づいて、追尾対象の候補となる被写体を画像データ内で検出する被写体検出部15と、被写体検出部15で検出された被写体の情報を検出する被写体情報検出部15,16,17,18,19と、検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する追尾位置決定部20と、を備える。
【解決手段】時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置は、被写体像を撮像して画像データを生成する撮像部2,3と、撮像部2,3で生成された画像データの色情報を取得する色情報取得部12と、色情報取得部12で取得された色情報に基づいて、追尾対象の候補となる被写体を画像データ内で検出する被写体検出部15と、被写体検出部15で検出された被写体の情報を検出する被写体情報検出部15,16,17,18,19と、検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する追尾位置決定部20と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列的に得られる複数の画像データにおいて、追尾対象である被写体を追尾する技術に関する。
【背景技術】
【0002】
画像上の追尾対象の色情報を求め、求めた色情報に基づいて、追尾対象の追尾を行う技術が知られている(特許文献1、2、3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−284411号公報
【特許文献2】特開2009−171191号公報
【特許文献3】特開平10−336506号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、色情報だけに基づいて追尾対象の追尾を行う従来の技術では、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合、追尾対象を追尾できなくなる可能性がある。
【0005】
本発明は、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求める技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のある態様に係る撮像装置は、時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置であって、被写体像を撮像して画像データを生成する撮像部と、前記撮像部で生成された画像データの色情報を取得する色情報取得部と、前記色情報取得部で取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出する被写体検出部と、前記被写体検出部で検出された被写体の情報を検出する被写体情報検出部と、前記被写体情報検出部で検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定する追尾位置決定部と、を備える。
【0007】
本発明の別の態様に係る画像処理方法は、時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾する画像処理方法であって、前記複数の画像データを入力するステップと、前記入力された画像データの色情報を取得するステップと、前記取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出するステップと、前記検出された被写体の情報を検出するステップと、前記検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定するステップと、を備える。
【発明の効果】
【0008】
本発明によれば、追尾対象の候補となる被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定するので、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求めることができる。
【図面の簡単な説明】
【0009】
【図1】一実施形態における撮像装置の構成を示すブロック図である。
【図2】一実施形態における撮像装置によって行われる追尾処理の内容を示すフローチャートである。
【図3】液晶モニタに表示されているライブビュー画像において、ユーザが犬を指でタッチすることによって、犬を追尾対象として決定する様子を示す図である。
【図4】ユーザによってタッチされた位置に設定された矩形枠の一例を示す図である。
【図5】作成された画素値のヒストグラムの一例を示す図である。
【図6】図5に示す画素値のヒストグラムを三次元的に表した図である。
【図7】画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類されたヒストグラムの一例を示す図である。
【図8】第(n−2)フレームおよび第(n−1)フレームの追尾対象の大きさに基づいて、第nフレームの追尾対象の大きさを推定した結果を示す図である。
【図9】第(n−2)フレームおよび第(n−1)フレームの追尾対象の位置に基づいて、第nフレームの追尾対象の位置を推定した結果を示す図である。
【図10】追尾対象を決定するためのテーブルデータの一例を示す図である。
【図11】追尾対象を決定する方法を説明するための図である。
【図12】追尾対象を決定する方法を説明するための別の図である。
【図13】追尾対象を決定する方法を説明するためのさらに別の図である。
【発明を実施するための形態】
【0010】
図1は、一実施形態における撮像装置の構成を示すブロック図である。一実施形態における撮像装置は、レンズ1と、撮像素子2と、アナログフロントエンド部3(以下、AFE3と呼ぶ)と、追尾部4と、表示部5とを備える。
【0011】
レンズ1は、被写体の光学像を撮像素子2に集光させる。レンズ1は、単焦点レンズであってもよいし、ズームレンズであってもよい。
【0012】
撮像素子2は、各画素を構成するフォトダイオードの前面に、ベイヤー配列のカラーフィルタが配置された撮像素子である。この撮像素子2は、レンズ1により集光された光を、画素を構成するフォトダイオードで受光して光電変換することで、光の量を電荷量としてAFE3へ出力する。なお、撮像素子2は、CMOS方式のものでもCCD方式のものでも良い。
【0013】
AFE3は、撮像素子2から出力される信号(画像信号)に対して、例えば、ノイズ除去、信号増幅、A/D変換などの所定の処理を行う。A/D変換によって生成されるデジタル画像信号(以後、画像データと呼ぶ)は、追尾部4に出力される。
【0014】
なお、撮像素子2およびAFE3をまとめて、撮像部と呼ぶことができる。
【0015】
追尾部4は、ブロックマッチング部11と、色検出部12と、画像処理部13と、ヒストグラム作成部14と、被写体検出部15と、位置検出部16と、位置推定部17と、大きさ検出部18と、大きさ推定部19と、追尾位置決定部20と、追尾枠描画部21とを備える。
【0016】
ブロックマッチング部11は、既知のブロックマッチングにより、時系列的に得られる複数の画像データ間において、追尾対象である被写体の動きベクトルを求めることによって、追尾対象の位置を求める。
【0017】
色検出部12は、追尾対象の色情報を抽出する。
【0018】
画像処理部13は、撮像により得られる画像データに対して一般的に行われる画像処理を行う。
【0019】
ヒストグラム作成部14は、色検出部12で検出された色情報に基づいて、画素値のヒストグラムを作成する。画素値のヒストグラムの詳細については後述する。
【0020】
被写体検出部15は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、追尾対象の候補となる被写体を画像データ内で検出する。追尾対象の候補となる被写体は1つとは限らず、条件によっては複数検出される。
【0021】
位置検出部16は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、被写体検出部15で検出された被写体毎に、被写体の画像データ中の位置を検出する。
【0022】
位置推定部17は、位置検出部16で検出された過去のフレームの被写体の位置に基づいて、現在のフレームの被写体の位置を推定する。
【0023】
大きさ検出部18は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、被写体検出部15で検出された被写体毎に、被写体の画像データ中の大きさを検出する。
【0024】
大きさ推定部19は、大きさ検出部18で検出された過去のフレームの被写体の大きさに基づいて、現在のフレームの被写体の大きさを推定する。
【0025】
追尾位置決定部20は、被写体検出部15で検出された被写体の数、位置検出部16で検出された被写体の位置、位置推定部17で推定された被写体の位置、大きさ検出部18で検出された被写体の大きさ、大きさ推定部19で推定された被写体の大きさに基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。
【0026】
追尾枠描画部19は、追尾位置決定部20で決定された追尾対象の位置に追尾枠を設定・描画する。
【0027】
図2は、一実施形態における撮像装置によって行われる追尾処理の内容を示すフローチャートである。撮影時に、ユーザによって、追尾機能がオンに設定されると、ステップS10の処理が開始される。なお、追尾機能は、ライブビュー撮影を含む動画撮影時にオンに設定可能である。
【0028】
ステップS10では、画像データ中の追尾対象を決定する。撮像装置の液晶モニタ(不図示)には、タッチパネルが設けられており、ユーザは、液晶モニタに映し出されるライブビュー画像(スルー画像)を確認しながら、追尾対象をタッチする。ユーザによってタッチされた対象を、追尾対象として決定する。なお、ユーザが追尾対象を特定する方法は、タッチパネルを用いたタッチ操作に限定されることはない。ここでは、時系列的に連続して得られる複数の画像のうち、追尾対象がタッチされた画像を第1フレームと呼ぶ。
【0029】
図3は、液晶モニタ30に表示されているライブビュー画像において、ユーザが犬31を指32でタッチすることによって、犬31を追尾対象として決定する様子を示す図である。
【0030】
ステップS20において、色検出部12は、ステップS10で決定された第1のフレームの追尾対象の色情報を取得する。このため、まず始めに、ユーザによってタッチされた位置において、所定の大きさの矩形枠を設定する。図4は、ユーザによってタッチされた位置に設定された矩形枠40の一例を示す図である。この矩形枠40内における各画素のRGBの画素値を色情報として取得する。
【0031】
ステップS30において、ヒストグラム作成部14は、直近に取得した色情報に基づいて、第nフレームの追尾対象の色情報分布を作成する。ただし、nは自然数であって、初期値は1である。従って、ステップS30の処理を初めて行う場合には、ステップS20で取得した色情報に基づいて、第1フレームの追尾対象の色情報分布を作成する。また、ステップS30の処理を2回目に行う場合には、ステップS20で取得した色情報に基づいて、第2フレームの追尾対象の色情報分布を作成する。さらに、第3フレーム以後では、後述するステップS120で取得する色情報に基づいて、追尾対象の色情報分布を作成する。
【0032】
追尾対象の色情報分布の作成では、直近に取得した色情報であるRGBの画素値(以下、RGB画素値)と同じRGB画素値を有する画素の数を数えて、画素値のヒストグラムを作成する。
【0033】
図5は、作成された画素値のヒストグラムの一例を示す図である。図5において、1つの区画は、画像データの1画素に対応しており、数字は、追尾対象の矩形枠内における画素のRGB画素値と同じRGB画素値を有する画素の数を表している。例えば、図5において、「4」と表されている画素は、その画素のRGB画素値と同じRGB画素値の画素が矩形枠40(図4参照)内に存在し、かつ、同じRGB画素値を有する画素が自身を含めて4つ存在することを意味している。図6は、図5に示す画素値のヒストグラムを三次元的に表した図である。ただし、図6では、画素数が1以上の領域を、画素数が所定の閾値以上の領域61と、画素数が所定の閾値未満の領域62とに分類している。
【0034】
なお、RGB画素値が同一の画素は、RGB画素値が完全に同一の画素だけでなく、RGB画素値の差が所定の範囲内である画素であってもよい。
【0035】
ステップS40において、被写体検出部15は、ステップS30で作成された色情報分布に基づいて、第nフレームにおいて、追尾対象の候補となる被写体の数を検出する。このため、初めに、ステップS30で作成されたヒストグラムを、画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類する。
【0036】
図7は、画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類されたヒストグラム70の一例を示す図である。ヒストグラム70のうち、斜線で示している領域が所定の閾値以上の画素数を有する領域であり、それ以外の領域は、画素数が所定の閾値未満の領域である。
【0037】
フレーム中の被写体数は、図7のヒストグラム70に基づいて、既知のラベリング等で求めるため、ここでは詳しい説明は省略する。
【0038】
ステップS50において、大きさ検出部18は、第nフレームにおいて、ステップS40で検出された被写体毎に、被写体の大きさを検出する。被写体の大きさは、ヒストグラム作成部14で作成されたヒストグラムに基づいて検出する。ただし、n=1の場合、すなわち、第1フレームの処理を行う場合には、ステップS10で決定した追尾対象の大きさを求める。すなわち、追尾対象以外の被写体が検出されている場合でも、追尾対象以外の被写体の大きさを求める必要はない。
【0039】
ステップS60において、位置検出部16は、第nフレームにおいて、ステップS40で検出された被写体毎に、被写体の位置を検出する。被写体の位置は、ヒストグラム作成部14で作成されたヒストグラムに基づいて検出する。ただし、n=1の場合、すなわち、第1フレームの処理を行う場合には、ステップS10で決定した追尾対象の位置を求める。すなわち、追尾対象以外の被写体が検出されている場合でも、追尾対象以外の被写体の位置を求める必要はない。
【0040】
ステップS70では、n=1であるか否かを判定する。n=1であると判定すると、ステップS140に進み、パラメータnに1を加算して、ステップS30に戻る。一方、n=1ではないと判定すると、ステップS80に進む。
【0041】
ステップS80において、大きさ推定部19は、過去フレームの追尾対象の大きさに基づいて、第nフレームにおける追尾対象の大きさを推定する。過去フレームの追尾対象の大きさに基づいて、第nフレームにおける追尾対象の大きさを推定する方法は、既知の方法を用いることができる。ここでは、第2フレームの追尾対象の大きさは、ステップS50で検出した第1フレームの追尾対象の大きさに基づいて推定する。また、第n(n≧3)フレームの追尾対象の大きさは、後述するステップS110で検出される第(n−1)フレームの追尾対象の大きさ、および、第(n−2)フレームの追尾対象の大きさに基づいて推定する。
【0042】
図8は、第(n−2)フレームおよび第(n−1)フレームの追尾対象の大きさに基づいて、第nフレームの追尾対象の大きさを推定した結果を示す図である。図8では、第(n−2)フレームの追尾対象の大きさを示す枠81、第(n−1)フレームの追尾対象の大きさを示す枠82、および、第nフレームにおける追尾対象の大きさの推定結果を示す枠83,84をそれぞれ示している。大きさの推定結果を示す枠83、84のうち、枠83は、推定し得る最小の大きさを表し、枠84は、推定し得る最大の大きさを表している。
【0043】
ステップS90において、位置推定部17は、過去フレームの追尾対象の位置に基づいて、第nフレームにおける追尾対象の位置を推定する。過去フレームの追尾対象の位置に基づいて、第nフレームにおける追尾対象の位置を推定する方法は、既知の方法を用いることができる。ここでは、第2フレームの追尾対象の位置は、ステップS60で検出した第1フレームの追尾対象の位置に基づいて推定する。また、第n(n≧3)フレームの追尾対象の位置は、後述するステップS110で検出される第(n−1)フレームの追尾対象の位置、および、第(n−2)フレームの追尾対象の位置に基づいて推定する。
【0044】
図9は、第(n−2)フレームおよび第(n−1)フレームの追尾対象の位置に基づいて、第nフレームの追尾対象の位置を推定した結果を示す図である。第(n−2)フレーム90における追尾対象の位置91、および、第(n−1)フレーム92における追尾対象の位置93に基づいて、第nフレーム94における追尾対象の推定位置95を求めている。図9に示すように、追尾対象の推定位置95は、ある程度の大きさを有する領域として求める。
【0045】
ステップS100において、ブロックマッチング部11は、第(n−1)フレームと第nフレームとの間で、ブロックマッチング処理を行い、追尾対象の動きベクトルを求める。動きベクトルの終点が第nフレームにおける追尾対象の位置となる。具体的には、第(n−1)フレームの追尾対象の位置にベクトル検出領域を設定し、第nフレームにおいて、第(n−1)フレームに設定されたベクトル検出領域と最も相関の高い領域を求める。第(n−1)フレームの追尾対象の位置は、後述するステップS110で求められた位置である。
【0046】
ステップS110において、追尾位置決定部20は、ステップS40で算出した被写体の数、ステップS50で検出した被写体の大きさ、ステップS60で検出した被写体の位置、ステップS80で推定した追尾対象の大きさ、ステップS90で推定した追尾対象の位置、および、前フレームに対する被写体の増減に基づいて、第nフレームにおける追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。追尾対象の位置を決定する方法について、図10を用いて説明する。
【0047】
図10は、追尾対象の位置を求めるための最適な方法を決定するためのテーブルデータの一例を示す図である。図10において、被写体数とは、図2のステップS40で求められた第nフレームの被写体数である。このテーブルデータでは、被写体数を「複数」、「1」、「0」の3つに区分している。
【0048】
図10において、「大きさが一致した数」とは、ステップS80で推定した追尾対象の大きさがステップS50で検出した被写体の大きさと一致している数である。このテーブルデータでは、大きさが一致した数を「複数」、「1」、「0」の3つに区分している。例えば、ステップS40で検出した被写体数が3(複数)であって、それぞれの被写体の大きさと、推定した追尾対象の大きさとが同じ場合には、大きさが一致した数は3(複数)となる。
【0049】
また、図10において、「位置が一致した数」とは、ステップS90で推定した追尾対象の位置がステップS60で検出した被写体の位置と一致している数である。図10に示すテーブルデータでは、位置が一致した数を「複数」、「1」、「0」の3つに区分している。
【0050】
図10において、「被写体数の増減」とは、第(n−1)フレームの被写体の数に対して、ステップS40で検出された第nフレームの被写体の数の増減である。第(n−1)フレームの被写体の数は、第(n−1)フレームの追尾対象を決定する際のステップS40で検出されたものを用いる。被写体数の増減は、「増減無し」、「増加」、「減少」に区分される。
【0051】
一実施形態における撮像装置では、追尾対象の位置を求めるために、色情報に基づいて追尾対象の位置を決定する方法、ブロックマッチングによって追尾対象の位置を決定する方法、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法の3つの方法を使い分ける。図10において、「色」と表記しているのは、色情報に基づいて追尾対象の位置を決定する方法を表している。また、「BM」と表記しているのは、ブロックマッチングによって追尾対象の位置を決定する方法を、「BM選択」と表記しているのは、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法をそれぞれ表している。
【0052】
色情報に基づいて追尾対象の位置を決定する方法では、色情報に基づいて検出された被写体(図2のステップS40)が1つの場合には、その被写体を追尾対象とする。色情報に基づいて検出された被写体が複数の場合には、大きさが一致した数が1つであれば、大きさが一致した被写体を追尾対象とする。色情報に基づいて検出された被写体が複数の場合であって、大きさが一致した数が複数または0の場合には、位置が一致した被写体を追尾対象とする。
【0053】
ブロックマッチングによって追尾対象の位置を決定する方法では、ブロックマッチングで求められた動きベクトルの終点の位置を追尾対象の位置とする。
【0054】
色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法では、色情報に基づいて検出された複数の被写体のうち、ブロックマッチングで求められた動きベクトルの終点の位置に最も近い被写体を追尾対象とする。
【0055】
上述した追尾対象の位置を決定するための3つの方法には、被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に応じて、追尾対象の位置を決定するための方法として、適切な方法と適切ではない方法とがある。図10に示すテーブルデータでは、被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に基づいて、追尾対象の位置を決定するための最適な方法を定義している。追尾位置決定部20は、図10に示すようなテーブルデータを保持しており、このテーブルデータを参照することによって、追尾対象の位置を求めるための最適な方法を決定する。
【0056】
例えば、被写体数が複数であって、大きさが一致した数も複数、かつ、位置が一致した数が1つの場合には、被写体数の増減に関係なく、色情報に基づいて追尾対象の位置を決定する。また、被写体数が複数であって、大きさが一致した数が0、位置が一致した数が0、かつ、被写体数の増減が「増減無し」か「増加」の場合には、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する。さらに、被写体数が1であって、大きさが一致した数が0、位置が一致した数が1、かつ、被写体数の増減が「減少」の場合には、ブロックマッチングによって追尾対象の位置を決定する。
【0057】
被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に応じて、追尾対象の位置を決定する具体的な方法を、図11〜図13を用いて説明する。
【0058】
図11は、追尾対象の位置を決定する方法を説明するための図である。図11では、第(n−1)フレーム110と、第nフレーム115の一例をそれぞれ示している。第(n−1)フレームにおいて、追尾対象は犬112であり、被写体検出部15によって、被写体として、猫111と犬112の2つが検出されているものとする。
【0059】
第nフレーム115においても、被写体検出部15によって、猫111と犬112の2つの被写体が検出されているものとする。また、第nフレーム115において、枠116は、大きさ推定部19によって推定された追尾対象の大きさを示す枠であり、枠117は、位置推定部17で推定された追尾対象の位置を示す枠である。
【0060】
図11に示すように、第nフレーム中の犬112は、枠116および枠117内に存在するが、猫111は、枠116および枠117の外に存在する。すなわち、推定した追尾対象の大きさと一致する被写体の数は1であり、推定した追尾対象の位置と一致する被写体の数も1となる。
【0061】
この場合、被写体数が複数であって、大きさが一致した数および位置が一致した数は共に1であり、被写体数の増減が無しの場合であるから、図10を参照すると、色情報に基づいて追尾対象の位置を求める方法が選択される。図11に示す例では、色情報に基づいて検出された被写体が猫111と犬112の2つあるため、位置および大きさが一致した犬112を追尾対象とする。従って、位置検出部16で検出された犬112の位置が追尾対象の位置となり、大きさ検出部18で検出された犬112の大きさが追尾対象の大きさとなる。
【0062】
図12は、追尾対象の位置を決定する方法を説明するための別の図である。図12では、第(n−1)フレーム120、第nフレーム123、および、ブロックマッチングにて求めた第(n−1)フレームと第nフレームとの間の動きベクトル128を表記したフレーム127をそれぞれ示している。ただし、フレーム127は、追尾対象の位置を決定する方法を説明するために図示したものであり、撮像によって得られたフレームではない。第(n−1)フレームにおいて、追尾対象は犬122であり、被写体検出部15によって、被写体として、犬121と犬122の2つが検出されているものとする。
【0063】
第nフレーム123においても、被写体検出部15によって、犬121と犬122の2つの被写体が検出されているものとする。また、第nフレーム123において、枠124および枠125は、大きさ推定部19によって推定された追尾対象の大きさを示す枠であり、枠126は、位置推定部17で推定された追尾対象の位置を示す枠である。なお、推定された追尾対象の大きさを示す枠として、枠124および枠125の2つを図示しているのは、被写体である犬121および犬122の大きさと容易に比較できるようにするためである。
【0064】
図12に示すように、第nフレーム中の犬121は、枠124および枠126内に存在し、犬122も枠125および枠126内に存在する。すなわち、推定した追尾対象の大きさと一致する被写体の数は2であり、推定した追尾対象の位置と一致する被写体の数も2となる。
【0065】
この場合、被写体数が複数であって、大きさが一致した数および位置が一致した数は共に複数であり、被写体数の増減が無しの場合であるから、図10を参照すると、色情報およびブロックマッチング結果を用いて追尾対象の位置を求める方法が選択される。すなわち、色情報に基づいて求めた被写体である犬121および犬122のうち、ブロックマッチングで求めた動きベクトル128の終点の位置に最も近い被写体である犬122を、追尾対象とする。従って、位置検出部16で検出された犬122の位置が追尾対象の位置となり、大きさ検出部18で検出された犬122の大きさが追尾対象の大きさとなる。
【0066】
図13は、追尾対象の位置を決定する方法を説明するためのさらに別の図である。図13では、第(n−1)フレーム130、第nフレーム133、および、ブロックマッチングにて求めた第(n−1)フレームと第nフレームとの間の動きベクトル136を表記したフレーム135をそれぞれ示している。ただし、フレーム135は、追尾対象の位置を決定する方法を説明するために図示したものであり、撮像によって得られたフレームではない。第(n−1)フレームにおいて、追尾対象は犬132であり、被写体検出部15によって、被写体として、犬132とともに、犬132と類似した色を有する地面131が検出されているものとする。
【0067】
第nフレーム133では、犬132が移動して、地面131と重なった位置に存在する。地面131と犬132は、互いに類似した色を有するため、被写体検出部15は、地面131と犬132とを区別して検出することができず、画像上で犬132より広い領域を有する地面131を被写体として検出する。
【0068】
図13では、大きさ推定部19によって推定された追尾対象の大きさを示す枠、および、位置推定部17によって推定された追尾対象の位置を示す枠は省略しているが、検出された被写体である地面131の大きさおよび位置は、推定された追尾対象の大きさおよび位置とは一致しない。すなわち、推定した追尾対象の大きさと一致する被写体の数は0であり、また、推定した追尾対象の位置と一致する被写体の数も0である。
【0069】
すなわち、図13に示す画像例は、被写体数が1であって、大きさが一致した数および位置が一致した数は共に0であり、被写体数は2から1に減少した場合であるから、図10を参照すると、ブロックマッチングによって追尾対象の位置を決定する方法が選択される。すなわち、ブロックマッチングで求めた動きベクトル(フレーム135の動きベクトル136)の終点の位置を追尾対象の位置とする。
【0070】
ブロックマッチング結果に基づいて、追尾対象の位置を決定した場合には、被写体数が増加し、かつ、直近の処理で推定された追尾対象の大きさと略同一の大きさの被写体が検出されるまで、追尾対象の大きさおよび位置を推定する処理は停止して、ブロックマッチングで追尾対象の位置を求める。
【0071】
なお、追尾位置決定部20によって追尾対象の位置が決定されると、追尾枠描画部21は、決定された位置に追尾枠を設定・描画する。
【0072】
図2に示すフローチャートのステップS120では、ステップS110で求めた追尾対象の色情報を取得する。具体的には、求めた追尾対象の位置において、所定の大きさの矩形枠を設定し、設定した矩形枠内における各画素のRGBの画素値を色情報として取得する。
【0073】
ステップS130では、追尾処理を終了するか否かを判定する。追尾処理を継続して行う場合には、ステップS140に進み、パラメータnに1を加算して、ステップS30に戻る。一方、ユーザによって、追尾機能がオフにされたことを検出すると、追尾処理を終了すると判定して、フローチャートの処理を終了する。
【0074】
以上、一実施形態における撮像装置によれば、時系列的に得られる画像データの色情報を取得し、取得した色情報に基づいて、追尾対象の候補となる被写体を検出する。そして、検出した被写体の情報を求め、求めた被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。追尾対象の候補となる被写体の情報に基づいて、追尾対象の位置を求めるための最適な方法を選択するので、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求めることができる。
【0075】
特に、一実施形態における撮像装置によれば、色情報に基づいて追尾対象の位置を求める方法、ブロックマッチングによって追尾対象の位置を求める方法、および、色情報およびブロックマッチングの結果に基づいて追尾対象の位置を求める方法の中から最適な方法を選択するので、追尾対象の位置を精度良く求めることができる。
【0076】
また、一実施形態における撮像装置によれば、被写体の数、被写体の大きさ、被写体の位置、追尾対象の推定大きさ、追尾対象の推定位置をそれぞれ求め、求めた被写体の数、被写体の大きさおよび追尾対象の推定大きさ、被写体の位置および追尾対象の推定位置、および、時系列的に前の画像データに対する被写体数の増減に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択する。これにより、画像データ中の被写体に応じて、追尾対象の位置を精度良く求めるための最適な方法を選択することができる。
【0077】
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、色検出部12が検出する追尾対象の色情報は、追尾対象を構成する各画素のRGBの画素値に限定されることはない。
【0078】
なお、上述した実施形態の説明では、ハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、追尾対象である被写体を追尾する処理をソフトウェアにて行う構成も可能である。この場合、コンピュータは、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の追尾処理と同様の処理を実現させる。
【0079】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
【符号の説明】
【0080】
2…撮像素子(撮像部)
4…追尾部
11…ブロックマッチング部
12…色検出部(色情報取得部)
14…ヒストグラム作成部
15…被写体検出部(被写体検出部)
16…位置検出部(被写体情報検出部)
17…位置推定部(被写体情報検出部)
18…大きさ検出部(被写体情報検出部)
19…大きさ推定部(被写体情報検出部)
20…追尾位置決定部(追尾位置決定部)
【技術分野】
【0001】
本発明は、時系列的に得られる複数の画像データにおいて、追尾対象である被写体を追尾する技術に関する。
【背景技術】
【0002】
画像上の追尾対象の色情報を求め、求めた色情報に基づいて、追尾対象の追尾を行う技術が知られている(特許文献1、2、3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5−284411号公報
【特許文献2】特開2009−171191号公報
【特許文献3】特開平10−336506号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、色情報だけに基づいて追尾対象の追尾を行う従来の技術では、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合、追尾対象を追尾できなくなる可能性がある。
【0005】
本発明は、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求める技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のある態様に係る撮像装置は、時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置であって、被写体像を撮像して画像データを生成する撮像部と、前記撮像部で生成された画像データの色情報を取得する色情報取得部と、前記色情報取得部で取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出する被写体検出部と、前記被写体検出部で検出された被写体の情報を検出する被写体情報検出部と、前記被写体情報検出部で検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定する追尾位置決定部と、を備える。
【0007】
本発明の別の態様に係る画像処理方法は、時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾する画像処理方法であって、前記複数の画像データを入力するステップと、前記入力された画像データの色情報を取得するステップと、前記取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出するステップと、前記検出された被写体の情報を検出するステップと、前記検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定するステップと、を備える。
【発明の効果】
【0008】
本発明によれば、追尾対象の候補となる被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定するので、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求めることができる。
【図面の簡単な説明】
【0009】
【図1】一実施形態における撮像装置の構成を示すブロック図である。
【図2】一実施形態における撮像装置によって行われる追尾処理の内容を示すフローチャートである。
【図3】液晶モニタに表示されているライブビュー画像において、ユーザが犬を指でタッチすることによって、犬を追尾対象として決定する様子を示す図である。
【図4】ユーザによってタッチされた位置に設定された矩形枠の一例を示す図である。
【図5】作成された画素値のヒストグラムの一例を示す図である。
【図6】図5に示す画素値のヒストグラムを三次元的に表した図である。
【図7】画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類されたヒストグラムの一例を示す図である。
【図8】第(n−2)フレームおよび第(n−1)フレームの追尾対象の大きさに基づいて、第nフレームの追尾対象の大きさを推定した結果を示す図である。
【図9】第(n−2)フレームおよび第(n−1)フレームの追尾対象の位置に基づいて、第nフレームの追尾対象の位置を推定した結果を示す図である。
【図10】追尾対象を決定するためのテーブルデータの一例を示す図である。
【図11】追尾対象を決定する方法を説明するための図である。
【図12】追尾対象を決定する方法を説明するための別の図である。
【図13】追尾対象を決定する方法を説明するためのさらに別の図である。
【発明を実施するための形態】
【0010】
図1は、一実施形態における撮像装置の構成を示すブロック図である。一実施形態における撮像装置は、レンズ1と、撮像素子2と、アナログフロントエンド部3(以下、AFE3と呼ぶ)と、追尾部4と、表示部5とを備える。
【0011】
レンズ1は、被写体の光学像を撮像素子2に集光させる。レンズ1は、単焦点レンズであってもよいし、ズームレンズであってもよい。
【0012】
撮像素子2は、各画素を構成するフォトダイオードの前面に、ベイヤー配列のカラーフィルタが配置された撮像素子である。この撮像素子2は、レンズ1により集光された光を、画素を構成するフォトダイオードで受光して光電変換することで、光の量を電荷量としてAFE3へ出力する。なお、撮像素子2は、CMOS方式のものでもCCD方式のものでも良い。
【0013】
AFE3は、撮像素子2から出力される信号(画像信号)に対して、例えば、ノイズ除去、信号増幅、A/D変換などの所定の処理を行う。A/D変換によって生成されるデジタル画像信号(以後、画像データと呼ぶ)は、追尾部4に出力される。
【0014】
なお、撮像素子2およびAFE3をまとめて、撮像部と呼ぶことができる。
【0015】
追尾部4は、ブロックマッチング部11と、色検出部12と、画像処理部13と、ヒストグラム作成部14と、被写体検出部15と、位置検出部16と、位置推定部17と、大きさ検出部18と、大きさ推定部19と、追尾位置決定部20と、追尾枠描画部21とを備える。
【0016】
ブロックマッチング部11は、既知のブロックマッチングにより、時系列的に得られる複数の画像データ間において、追尾対象である被写体の動きベクトルを求めることによって、追尾対象の位置を求める。
【0017】
色検出部12は、追尾対象の色情報を抽出する。
【0018】
画像処理部13は、撮像により得られる画像データに対して一般的に行われる画像処理を行う。
【0019】
ヒストグラム作成部14は、色検出部12で検出された色情報に基づいて、画素値のヒストグラムを作成する。画素値のヒストグラムの詳細については後述する。
【0020】
被写体検出部15は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、追尾対象の候補となる被写体を画像データ内で検出する。追尾対象の候補となる被写体は1つとは限らず、条件によっては複数検出される。
【0021】
位置検出部16は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、被写体検出部15で検出された被写体毎に、被写体の画像データ中の位置を検出する。
【0022】
位置推定部17は、位置検出部16で検出された過去のフレームの被写体の位置に基づいて、現在のフレームの被写体の位置を推定する。
【0023】
大きさ検出部18は、ヒストグラム作成部14で作成されたヒストグラムに基づいて、被写体検出部15で検出された被写体毎に、被写体の画像データ中の大きさを検出する。
【0024】
大きさ推定部19は、大きさ検出部18で検出された過去のフレームの被写体の大きさに基づいて、現在のフレームの被写体の大きさを推定する。
【0025】
追尾位置決定部20は、被写体検出部15で検出された被写体の数、位置検出部16で検出された被写体の位置、位置推定部17で推定された被写体の位置、大きさ検出部18で検出された被写体の大きさ、大きさ推定部19で推定された被写体の大きさに基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。
【0026】
追尾枠描画部19は、追尾位置決定部20で決定された追尾対象の位置に追尾枠を設定・描画する。
【0027】
図2は、一実施形態における撮像装置によって行われる追尾処理の内容を示すフローチャートである。撮影時に、ユーザによって、追尾機能がオンに設定されると、ステップS10の処理が開始される。なお、追尾機能は、ライブビュー撮影を含む動画撮影時にオンに設定可能である。
【0028】
ステップS10では、画像データ中の追尾対象を決定する。撮像装置の液晶モニタ(不図示)には、タッチパネルが設けられており、ユーザは、液晶モニタに映し出されるライブビュー画像(スルー画像)を確認しながら、追尾対象をタッチする。ユーザによってタッチされた対象を、追尾対象として決定する。なお、ユーザが追尾対象を特定する方法は、タッチパネルを用いたタッチ操作に限定されることはない。ここでは、時系列的に連続して得られる複数の画像のうち、追尾対象がタッチされた画像を第1フレームと呼ぶ。
【0029】
図3は、液晶モニタ30に表示されているライブビュー画像において、ユーザが犬31を指32でタッチすることによって、犬31を追尾対象として決定する様子を示す図である。
【0030】
ステップS20において、色検出部12は、ステップS10で決定された第1のフレームの追尾対象の色情報を取得する。このため、まず始めに、ユーザによってタッチされた位置において、所定の大きさの矩形枠を設定する。図4は、ユーザによってタッチされた位置に設定された矩形枠40の一例を示す図である。この矩形枠40内における各画素のRGBの画素値を色情報として取得する。
【0031】
ステップS30において、ヒストグラム作成部14は、直近に取得した色情報に基づいて、第nフレームの追尾対象の色情報分布を作成する。ただし、nは自然数であって、初期値は1である。従って、ステップS30の処理を初めて行う場合には、ステップS20で取得した色情報に基づいて、第1フレームの追尾対象の色情報分布を作成する。また、ステップS30の処理を2回目に行う場合には、ステップS20で取得した色情報に基づいて、第2フレームの追尾対象の色情報分布を作成する。さらに、第3フレーム以後では、後述するステップS120で取得する色情報に基づいて、追尾対象の色情報分布を作成する。
【0032】
追尾対象の色情報分布の作成では、直近に取得した色情報であるRGBの画素値(以下、RGB画素値)と同じRGB画素値を有する画素の数を数えて、画素値のヒストグラムを作成する。
【0033】
図5は、作成された画素値のヒストグラムの一例を示す図である。図5において、1つの区画は、画像データの1画素に対応しており、数字は、追尾対象の矩形枠内における画素のRGB画素値と同じRGB画素値を有する画素の数を表している。例えば、図5において、「4」と表されている画素は、その画素のRGB画素値と同じRGB画素値の画素が矩形枠40(図4参照)内に存在し、かつ、同じRGB画素値を有する画素が自身を含めて4つ存在することを意味している。図6は、図5に示す画素値のヒストグラムを三次元的に表した図である。ただし、図6では、画素数が1以上の領域を、画素数が所定の閾値以上の領域61と、画素数が所定の閾値未満の領域62とに分類している。
【0034】
なお、RGB画素値が同一の画素は、RGB画素値が完全に同一の画素だけでなく、RGB画素値の差が所定の範囲内である画素であってもよい。
【0035】
ステップS40において、被写体検出部15は、ステップS30で作成された色情報分布に基づいて、第nフレームにおいて、追尾対象の候補となる被写体の数を検出する。このため、初めに、ステップS30で作成されたヒストグラムを、画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類する。
【0036】
図7は、画素数が所定の閾値以上の領域と、所定の閾値未満の領域とに分類されたヒストグラム70の一例を示す図である。ヒストグラム70のうち、斜線で示している領域が所定の閾値以上の画素数を有する領域であり、それ以外の領域は、画素数が所定の閾値未満の領域である。
【0037】
フレーム中の被写体数は、図7のヒストグラム70に基づいて、既知のラベリング等で求めるため、ここでは詳しい説明は省略する。
【0038】
ステップS50において、大きさ検出部18は、第nフレームにおいて、ステップS40で検出された被写体毎に、被写体の大きさを検出する。被写体の大きさは、ヒストグラム作成部14で作成されたヒストグラムに基づいて検出する。ただし、n=1の場合、すなわち、第1フレームの処理を行う場合には、ステップS10で決定した追尾対象の大きさを求める。すなわち、追尾対象以外の被写体が検出されている場合でも、追尾対象以外の被写体の大きさを求める必要はない。
【0039】
ステップS60において、位置検出部16は、第nフレームにおいて、ステップS40で検出された被写体毎に、被写体の位置を検出する。被写体の位置は、ヒストグラム作成部14で作成されたヒストグラムに基づいて検出する。ただし、n=1の場合、すなわち、第1フレームの処理を行う場合には、ステップS10で決定した追尾対象の位置を求める。すなわち、追尾対象以外の被写体が検出されている場合でも、追尾対象以外の被写体の位置を求める必要はない。
【0040】
ステップS70では、n=1であるか否かを判定する。n=1であると判定すると、ステップS140に進み、パラメータnに1を加算して、ステップS30に戻る。一方、n=1ではないと判定すると、ステップS80に進む。
【0041】
ステップS80において、大きさ推定部19は、過去フレームの追尾対象の大きさに基づいて、第nフレームにおける追尾対象の大きさを推定する。過去フレームの追尾対象の大きさに基づいて、第nフレームにおける追尾対象の大きさを推定する方法は、既知の方法を用いることができる。ここでは、第2フレームの追尾対象の大きさは、ステップS50で検出した第1フレームの追尾対象の大きさに基づいて推定する。また、第n(n≧3)フレームの追尾対象の大きさは、後述するステップS110で検出される第(n−1)フレームの追尾対象の大きさ、および、第(n−2)フレームの追尾対象の大きさに基づいて推定する。
【0042】
図8は、第(n−2)フレームおよび第(n−1)フレームの追尾対象の大きさに基づいて、第nフレームの追尾対象の大きさを推定した結果を示す図である。図8では、第(n−2)フレームの追尾対象の大きさを示す枠81、第(n−1)フレームの追尾対象の大きさを示す枠82、および、第nフレームにおける追尾対象の大きさの推定結果を示す枠83,84をそれぞれ示している。大きさの推定結果を示す枠83、84のうち、枠83は、推定し得る最小の大きさを表し、枠84は、推定し得る最大の大きさを表している。
【0043】
ステップS90において、位置推定部17は、過去フレームの追尾対象の位置に基づいて、第nフレームにおける追尾対象の位置を推定する。過去フレームの追尾対象の位置に基づいて、第nフレームにおける追尾対象の位置を推定する方法は、既知の方法を用いることができる。ここでは、第2フレームの追尾対象の位置は、ステップS60で検出した第1フレームの追尾対象の位置に基づいて推定する。また、第n(n≧3)フレームの追尾対象の位置は、後述するステップS110で検出される第(n−1)フレームの追尾対象の位置、および、第(n−2)フレームの追尾対象の位置に基づいて推定する。
【0044】
図9は、第(n−2)フレームおよび第(n−1)フレームの追尾対象の位置に基づいて、第nフレームの追尾対象の位置を推定した結果を示す図である。第(n−2)フレーム90における追尾対象の位置91、および、第(n−1)フレーム92における追尾対象の位置93に基づいて、第nフレーム94における追尾対象の推定位置95を求めている。図9に示すように、追尾対象の推定位置95は、ある程度の大きさを有する領域として求める。
【0045】
ステップS100において、ブロックマッチング部11は、第(n−1)フレームと第nフレームとの間で、ブロックマッチング処理を行い、追尾対象の動きベクトルを求める。動きベクトルの終点が第nフレームにおける追尾対象の位置となる。具体的には、第(n−1)フレームの追尾対象の位置にベクトル検出領域を設定し、第nフレームにおいて、第(n−1)フレームに設定されたベクトル検出領域と最も相関の高い領域を求める。第(n−1)フレームの追尾対象の位置は、後述するステップS110で求められた位置である。
【0046】
ステップS110において、追尾位置決定部20は、ステップS40で算出した被写体の数、ステップS50で検出した被写体の大きさ、ステップS60で検出した被写体の位置、ステップS80で推定した追尾対象の大きさ、ステップS90で推定した追尾対象の位置、および、前フレームに対する被写体の増減に基づいて、第nフレームにおける追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。追尾対象の位置を決定する方法について、図10を用いて説明する。
【0047】
図10は、追尾対象の位置を求めるための最適な方法を決定するためのテーブルデータの一例を示す図である。図10において、被写体数とは、図2のステップS40で求められた第nフレームの被写体数である。このテーブルデータでは、被写体数を「複数」、「1」、「0」の3つに区分している。
【0048】
図10において、「大きさが一致した数」とは、ステップS80で推定した追尾対象の大きさがステップS50で検出した被写体の大きさと一致している数である。このテーブルデータでは、大きさが一致した数を「複数」、「1」、「0」の3つに区分している。例えば、ステップS40で検出した被写体数が3(複数)であって、それぞれの被写体の大きさと、推定した追尾対象の大きさとが同じ場合には、大きさが一致した数は3(複数)となる。
【0049】
また、図10において、「位置が一致した数」とは、ステップS90で推定した追尾対象の位置がステップS60で検出した被写体の位置と一致している数である。図10に示すテーブルデータでは、位置が一致した数を「複数」、「1」、「0」の3つに区分している。
【0050】
図10において、「被写体数の増減」とは、第(n−1)フレームの被写体の数に対して、ステップS40で検出された第nフレームの被写体の数の増減である。第(n−1)フレームの被写体の数は、第(n−1)フレームの追尾対象を決定する際のステップS40で検出されたものを用いる。被写体数の増減は、「増減無し」、「増加」、「減少」に区分される。
【0051】
一実施形態における撮像装置では、追尾対象の位置を求めるために、色情報に基づいて追尾対象の位置を決定する方法、ブロックマッチングによって追尾対象の位置を決定する方法、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法の3つの方法を使い分ける。図10において、「色」と表記しているのは、色情報に基づいて追尾対象の位置を決定する方法を表している。また、「BM」と表記しているのは、ブロックマッチングによって追尾対象の位置を決定する方法を、「BM選択」と表記しているのは、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法をそれぞれ表している。
【0052】
色情報に基づいて追尾対象の位置を決定する方法では、色情報に基づいて検出された被写体(図2のステップS40)が1つの場合には、その被写体を追尾対象とする。色情報に基づいて検出された被写体が複数の場合には、大きさが一致した数が1つであれば、大きさが一致した被写体を追尾対象とする。色情報に基づいて検出された被写体が複数の場合であって、大きさが一致した数が複数または0の場合には、位置が一致した被写体を追尾対象とする。
【0053】
ブロックマッチングによって追尾対象の位置を決定する方法では、ブロックマッチングで求められた動きベクトルの終点の位置を追尾対象の位置とする。
【0054】
色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する方法では、色情報に基づいて検出された複数の被写体のうち、ブロックマッチングで求められた動きベクトルの終点の位置に最も近い被写体を追尾対象とする。
【0055】
上述した追尾対象の位置を決定するための3つの方法には、被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に応じて、追尾対象の位置を決定するための方法として、適切な方法と適切ではない方法とがある。図10に示すテーブルデータでは、被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に基づいて、追尾対象の位置を決定するための最適な方法を定義している。追尾位置決定部20は、図10に示すようなテーブルデータを保持しており、このテーブルデータを参照することによって、追尾対象の位置を求めるための最適な方法を決定する。
【0056】
例えば、被写体数が複数であって、大きさが一致した数も複数、かつ、位置が一致した数が1つの場合には、被写体数の増減に関係なく、色情報に基づいて追尾対象の位置を決定する。また、被写体数が複数であって、大きさが一致した数が0、位置が一致した数が0、かつ、被写体数の増減が「増減無し」か「増加」の場合には、色情報およびブロックマッチング結果を用いて追尾対象の位置を決定する。さらに、被写体数が1であって、大きさが一致した数が0、位置が一致した数が1、かつ、被写体数の増減が「減少」の場合には、ブロックマッチングによって追尾対象の位置を決定する。
【0057】
被写体数、大きさが一致した数、位置が一致した数、および、被写体数の増減に応じて、追尾対象の位置を決定する具体的な方法を、図11〜図13を用いて説明する。
【0058】
図11は、追尾対象の位置を決定する方法を説明するための図である。図11では、第(n−1)フレーム110と、第nフレーム115の一例をそれぞれ示している。第(n−1)フレームにおいて、追尾対象は犬112であり、被写体検出部15によって、被写体として、猫111と犬112の2つが検出されているものとする。
【0059】
第nフレーム115においても、被写体検出部15によって、猫111と犬112の2つの被写体が検出されているものとする。また、第nフレーム115において、枠116は、大きさ推定部19によって推定された追尾対象の大きさを示す枠であり、枠117は、位置推定部17で推定された追尾対象の位置を示す枠である。
【0060】
図11に示すように、第nフレーム中の犬112は、枠116および枠117内に存在するが、猫111は、枠116および枠117の外に存在する。すなわち、推定した追尾対象の大きさと一致する被写体の数は1であり、推定した追尾対象の位置と一致する被写体の数も1となる。
【0061】
この場合、被写体数が複数であって、大きさが一致した数および位置が一致した数は共に1であり、被写体数の増減が無しの場合であるから、図10を参照すると、色情報に基づいて追尾対象の位置を求める方法が選択される。図11に示す例では、色情報に基づいて検出された被写体が猫111と犬112の2つあるため、位置および大きさが一致した犬112を追尾対象とする。従って、位置検出部16で検出された犬112の位置が追尾対象の位置となり、大きさ検出部18で検出された犬112の大きさが追尾対象の大きさとなる。
【0062】
図12は、追尾対象の位置を決定する方法を説明するための別の図である。図12では、第(n−1)フレーム120、第nフレーム123、および、ブロックマッチングにて求めた第(n−1)フレームと第nフレームとの間の動きベクトル128を表記したフレーム127をそれぞれ示している。ただし、フレーム127は、追尾対象の位置を決定する方法を説明するために図示したものであり、撮像によって得られたフレームではない。第(n−1)フレームにおいて、追尾対象は犬122であり、被写体検出部15によって、被写体として、犬121と犬122の2つが検出されているものとする。
【0063】
第nフレーム123においても、被写体検出部15によって、犬121と犬122の2つの被写体が検出されているものとする。また、第nフレーム123において、枠124および枠125は、大きさ推定部19によって推定された追尾対象の大きさを示す枠であり、枠126は、位置推定部17で推定された追尾対象の位置を示す枠である。なお、推定された追尾対象の大きさを示す枠として、枠124および枠125の2つを図示しているのは、被写体である犬121および犬122の大きさと容易に比較できるようにするためである。
【0064】
図12に示すように、第nフレーム中の犬121は、枠124および枠126内に存在し、犬122も枠125および枠126内に存在する。すなわち、推定した追尾対象の大きさと一致する被写体の数は2であり、推定した追尾対象の位置と一致する被写体の数も2となる。
【0065】
この場合、被写体数が複数であって、大きさが一致した数および位置が一致した数は共に複数であり、被写体数の増減が無しの場合であるから、図10を参照すると、色情報およびブロックマッチング結果を用いて追尾対象の位置を求める方法が選択される。すなわち、色情報に基づいて求めた被写体である犬121および犬122のうち、ブロックマッチングで求めた動きベクトル128の終点の位置に最も近い被写体である犬122を、追尾対象とする。従って、位置検出部16で検出された犬122の位置が追尾対象の位置となり、大きさ検出部18で検出された犬122の大きさが追尾対象の大きさとなる。
【0066】
図13は、追尾対象の位置を決定する方法を説明するためのさらに別の図である。図13では、第(n−1)フレーム130、第nフレーム133、および、ブロックマッチングにて求めた第(n−1)フレームと第nフレームとの間の動きベクトル136を表記したフレーム135をそれぞれ示している。ただし、フレーム135は、追尾対象の位置を決定する方法を説明するために図示したものであり、撮像によって得られたフレームではない。第(n−1)フレームにおいて、追尾対象は犬132であり、被写体検出部15によって、被写体として、犬132とともに、犬132と類似した色を有する地面131が検出されているものとする。
【0067】
第nフレーム133では、犬132が移動して、地面131と重なった位置に存在する。地面131と犬132は、互いに類似した色を有するため、被写体検出部15は、地面131と犬132とを区別して検出することができず、画像上で犬132より広い領域を有する地面131を被写体として検出する。
【0068】
図13では、大きさ推定部19によって推定された追尾対象の大きさを示す枠、および、位置推定部17によって推定された追尾対象の位置を示す枠は省略しているが、検出された被写体である地面131の大きさおよび位置は、推定された追尾対象の大きさおよび位置とは一致しない。すなわち、推定した追尾対象の大きさと一致する被写体の数は0であり、また、推定した追尾対象の位置と一致する被写体の数も0である。
【0069】
すなわち、図13に示す画像例は、被写体数が1であって、大きさが一致した数および位置が一致した数は共に0であり、被写体数は2から1に減少した場合であるから、図10を参照すると、ブロックマッチングによって追尾対象の位置を決定する方法が選択される。すなわち、ブロックマッチングで求めた動きベクトル(フレーム135の動きベクトル136)の終点の位置を追尾対象の位置とする。
【0070】
ブロックマッチング結果に基づいて、追尾対象の位置を決定した場合には、被写体数が増加し、かつ、直近の処理で推定された追尾対象の大きさと略同一の大きさの被写体が検出されるまで、追尾対象の大きさおよび位置を推定する処理は停止して、ブロックマッチングで追尾対象の位置を求める。
【0071】
なお、追尾位置決定部20によって追尾対象の位置が決定されると、追尾枠描画部21は、決定された位置に追尾枠を設定・描画する。
【0072】
図2に示すフローチャートのステップS120では、ステップS110で求めた追尾対象の色情報を取得する。具体的には、求めた追尾対象の位置において、所定の大きさの矩形枠を設定し、設定した矩形枠内における各画素のRGBの画素値を色情報として取得する。
【0073】
ステップS130では、追尾処理を終了するか否かを判定する。追尾処理を継続して行う場合には、ステップS140に進み、パラメータnに1を加算して、ステップS30に戻る。一方、ユーザによって、追尾機能がオフにされたことを検出すると、追尾処理を終了すると判定して、フローチャートの処理を終了する。
【0074】
以上、一実施形態における撮像装置によれば、時系列的に得られる画像データの色情報を取得し、取得した色情報に基づいて、追尾対象の候補となる被写体を検出する。そして、検出した被写体の情報を求め、求めた被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、追尾対象の位置を決定する。追尾対象の候補となる被写体の情報に基づいて、追尾対象の位置を求めるための最適な方法を選択するので、追尾対象と背景とが同色である場合や、追尾対象と類似する色を有する物体が追尾対象付近に存在する場合でも、追尾対象の位置を精度良く求めることができる。
【0075】
特に、一実施形態における撮像装置によれば、色情報に基づいて追尾対象の位置を求める方法、ブロックマッチングによって追尾対象の位置を求める方法、および、色情報およびブロックマッチングの結果に基づいて追尾対象の位置を求める方法の中から最適な方法を選択するので、追尾対象の位置を精度良く求めることができる。
【0076】
また、一実施形態における撮像装置によれば、被写体の数、被写体の大きさ、被写体の位置、追尾対象の推定大きさ、追尾対象の推定位置をそれぞれ求め、求めた被写体の数、被写体の大きさおよび追尾対象の推定大きさ、被写体の位置および追尾対象の推定位置、および、時系列的に前の画像データに対する被写体数の増減に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択する。これにより、画像データ中の被写体に応じて、追尾対象の位置を精度良く求めるための最適な方法を選択することができる。
【0077】
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、色検出部12が検出する追尾対象の色情報は、追尾対象を構成する各画素のRGBの画素値に限定されることはない。
【0078】
なお、上述した実施形態の説明では、ハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、追尾対象である被写体を追尾する処理をソフトウェアにて行う構成も可能である。この場合、コンピュータは、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像処理プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像処理プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の追尾処理と同様の処理を実現させる。
【0079】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像処理プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像処理プログラムを実行するようにしても良い。
【符号の説明】
【0080】
2…撮像素子(撮像部)
4…追尾部
11…ブロックマッチング部
12…色検出部(色情報取得部)
14…ヒストグラム作成部
15…被写体検出部(被写体検出部)
16…位置検出部(被写体情報検出部)
17…位置推定部(被写体情報検出部)
18…大きさ検出部(被写体情報検出部)
19…大きさ推定部(被写体情報検出部)
20…追尾位置決定部(追尾位置決定部)
【特許請求の範囲】
【請求項1】
時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置であって、
被写体像を撮像して画像データを生成する撮像部と、
前記撮像部で生成された画像データの色情報を取得する色情報取得部と、
前記色情報取得部で取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出する被写体検出部と、
前記被写体検出部で検出された被写体の情報を検出する被写体情報検出部と、
前記被写体情報検出部で検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定する追尾位置決定部と、
を備えることを特徴とする撮像装置。
【請求項2】
前記画像データ内の追尾対象の位置をブロックマッチングによって求めるブロックマッチング部をさらに備え、
前記追尾対象の位置を求めるための複数の方法の中には、前記色情報に基づいて前記追尾対象の位置を求める方法、前記ブロックマッチングによって前記追尾対象の位置を求める方法、および、前記色情報および前記ブロックマッチングの結果に基づいて、前記追尾対象の位置を求める方法が少なくとも含まれる、
ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記被写体情報検出部は、
前記被写体検出部で検出された被写体の数を検出する被写体数検出部と、
前記被写体検出部で検出された被写体の大きさを検出する大きさ検出部と、
前記被写体検出部で検出された被写体の位置を検出する位置検出部と、
追尾対象の大きさを推定する大きさ推定部と、
追尾対象の位置を推定する位置推定部と、
を備え、
前記追尾位置決定部は、前記被写体数検出部で検出された被写体の数、前記大きさ検出部で検出された大きさと前記大きさ推定部で推定された大きさ、前記位置検出部で検出された位置と前記位置推定部で推定された位置、および、時系列的に前の画像データに対する被写体数の増減に基づいて、前記追尾対象の位置を求めるための複数の方法の中から最適な方法を選択する、
ことを特徴とする請求項1または請求項2に記載の撮像装置。
【請求項4】
画像データ内の被写体の数、被写体の大きさが推定される追尾対象の大きさと一致する数、被写体の位置が推定される追尾対象の位置と一致する数、および、被写体数の増減と、追尾対象の位置を求めるための最適な方法との関係を定めたデータを記憶する記憶部をさらに備え、
前記追尾位置決定部は、前記記憶部に記憶されているデータを参照することによって、前記追尾対象の位置を求めるための最適な方法を選択する、
ことを特徴とする請求項3に記載の撮像装置。
【請求項5】
時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾する画像処理方法であって、
前記複数の画像データを入力するステップと、
前記入力された画像データの色情報を取得するステップと、
前記取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出するステップと、
前記検出された被写体の情報を検出するステップと、
前記検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定するステップと、
を備えることを特徴とする画像処理方法。
【請求項1】
時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾可能な撮像装置であって、
被写体像を撮像して画像データを生成する撮像部と、
前記撮像部で生成された画像データの色情報を取得する色情報取得部と、
前記色情報取得部で取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出する被写体検出部と、
前記被写体検出部で検出された被写体の情報を検出する被写体情報検出部と、
前記被写体情報検出部で検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定する追尾位置決定部と、
を備えることを特徴とする撮像装置。
【請求項2】
前記画像データ内の追尾対象の位置をブロックマッチングによって求めるブロックマッチング部をさらに備え、
前記追尾対象の位置を求めるための複数の方法の中には、前記色情報に基づいて前記追尾対象の位置を求める方法、前記ブロックマッチングによって前記追尾対象の位置を求める方法、および、前記色情報および前記ブロックマッチングの結果に基づいて、前記追尾対象の位置を求める方法が少なくとも含まれる、
ことを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記被写体情報検出部は、
前記被写体検出部で検出された被写体の数を検出する被写体数検出部と、
前記被写体検出部で検出された被写体の大きさを検出する大きさ検出部と、
前記被写体検出部で検出された被写体の位置を検出する位置検出部と、
追尾対象の大きさを推定する大きさ推定部と、
追尾対象の位置を推定する位置推定部と、
を備え、
前記追尾位置決定部は、前記被写体数検出部で検出された被写体の数、前記大きさ検出部で検出された大きさと前記大きさ推定部で推定された大きさ、前記位置検出部で検出された位置と前記位置推定部で推定された位置、および、時系列的に前の画像データに対する被写体数の増減に基づいて、前記追尾対象の位置を求めるための複数の方法の中から最適な方法を選択する、
ことを特徴とする請求項1または請求項2に記載の撮像装置。
【請求項4】
画像データ内の被写体の数、被写体の大きさが推定される追尾対象の大きさと一致する数、被写体の位置が推定される追尾対象の位置と一致する数、および、被写体数の増減と、追尾対象の位置を求めるための最適な方法との関係を定めたデータを記憶する記憶部をさらに備え、
前記追尾位置決定部は、前記記憶部に記憶されているデータを参照することによって、前記追尾対象の位置を求めるための最適な方法を選択する、
ことを特徴とする請求項3に記載の撮像装置。
【請求項5】
時系列的に得られる複数の画像データにおいて追尾対象である被写体を追尾する画像処理方法であって、
前記複数の画像データを入力するステップと、
前記入力された画像データの色情報を取得するステップと、
前記取得された色情報に基づいて、追尾対象の候補となる被写体を前記画像データ内で検出するステップと、
前記検出された被写体の情報を検出するステップと、
前記検出された被写体の情報に基づいて、追尾対象の位置を求めるための複数の方法の中から最適な方法を選択して、前記追尾対象の位置を決定するステップと、
を備えることを特徴とする画像処理方法。
【図1】
【図2】
【図5】
【図7】
【図10】
【図3】
【図4】
【図6】
【図8】
【図9】
【図11】
【図12】
【図13】
【図2】
【図5】
【図7】
【図10】
【図3】
【図4】
【図6】
【図8】
【図9】
【図11】
【図12】
【図13】
【公開番号】特開2012−85090(P2012−85090A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−229370(P2010−229370)
【出願日】平成22年10月12日(2010.10.12)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成22年10月12日(2010.10.12)
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】
[ Back to top ]