【文献】
三宅 美博、外2名,“実験動物の運動パターン解析における動画像入力とその変換”,テレビジョン学会技術報告,日本,社団法人テレビジョン学会,1994年 6月23日,Vol.18, No.34,pp.7-12
【文献】
濱田 未来、外3名,“動画像を用いた動物行動の自動計測・認識の研究”,情報処理学会研究報告,日本,社団法人情報処理学会,2006年 5月19日,Vol.2006, No.51,pp.75-82
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の方法では、撮影された時間にわたって観察者が目視をすることになるので、結果が得られるまでの時間がかかる。また観察者ごとに対象物体に触れたか否かということの評価基準が異なる場合があって、その結果の比較にも問題がある場合がある。
【0005】
本発明は上記実情に鑑みて為されたもので、比較的迅速に、一定の評価基準で動物の行動分析を行うことができる画像処理装置及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0006】
上記従来例の問題点を解決するための発明は、画像処理装置であって、尾と本体とを備えた対象動物と、対象物体と、が撮像されている一連の画像情報を受け入れる受入手段と、前記画像情報から対象物体を識別し、当該識別した対象物体の輪郭線周囲に注目範囲を設定する設定手段と、前記画像情報から対象動物の本体を認識し、当該画像情報において認識された本体近傍で背景とは色の異なる点を見いだして前記認識した本体と当該見いだした点とを結ぶ線を尾の存在範囲として認識する認識手段と、前記認識した本体の重心と、本体の輪郭線上で前記重心から最も離れた位置を前記対象動物の頭部として仮に決定する仮決定手段と、前記認識した本体重心から前記認識した尾の存在範囲である線分へのベクトルを、前記仮決定手段が仮決定した頭部の認識位置の修正処理に供する修正処理手段と、前記修正処理後の頭部の認識位置を出力する手段と、を含むこととしたものである。
【0007】
ここで前記出力された頭部の認識位置が、前記注目範囲に含まれる場合に予め定めたマーカーを出力するマーカー出力手段をさらに含んでもよい。
【0008】
また本発明の一態様に係るプログラムは、コンピュータを、尾と本体とを備えた対象動物と、対象物体と、が撮像されている一連の画像情報を受け入れる受入手段と、前記画像情報から対象物体を識別し、当該識別した対象物体の輪郭線周囲に注目範囲を設定する設定手段と、前記画像情報から対象動物の本体を認識し、当該画像情報において認識された本体近傍で背景とは色の異なる点を見いだして前記認識した本体と当該見いだした点とを結ぶ線を尾の存在範囲として認識する認識手段と、前記認識した本体の重心と、本体の輪郭線上で前記重心から最も離れた位置を前記対象動物の頭部として仮に決定する仮決定手段と、前記認識した本体重心から前記認識した尾の存在範囲である線分へのベクトルを、前記仮決定手段が仮決定した頭部の認識位置の修正処理に供する修正処理手段と、前記修正処理後の頭部の認識位置を出力する手段と、として機能させることとしたものである。
【発明の効果】
【0009】
本発明によると、比較的簡便な画像処理により、対象となる動物の頭部の認識位置を出力するので、比較的迅速に、またこの認識位置の情報を用いて、一定の評価基準で動物の行動分析を行うことができる。
【発明を実施するための形態】
【0011】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置1は、
図1に例示するように、カメラ2に接続され、制御部11、記憶部12、操作部13、表示部14及びインタフェース部15を含んで構成される。
【0012】
ここで制御部11は、CPUなどのプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、この制御部11は、カメラ2で撮影された一連の画像情報(動画像)を受け入れて、記憶部12に格納する。そしてこの記憶部12に格納した画像情報を処理の対象とする。制御部11は、記憶部12からこの画像情報を受けて次の処理を行う。なお、この画像情報には、尾と本体とを備えた対象動物と、対象物体と、が撮像されている。
【0013】
制御部11は、画像情報から対象物体を識別し、当該識別した対象物体の輪郭線周囲に注目範囲を設定する。また制御部11は、画像情報から対象動物の本体を認識し、当該画像情報において認識された本体近傍で背景とは色の異なる点を見いだして認識した本体と当該見いだした点とを結ぶ線を尾の存在範囲として認識する。さらに制御部11は、認識した本体の重心と、本体の輪郭線上で前記重心から最も離れた位置を対象動物の頭部として仮に決定しておき、認識した本体重心から認識した尾の存在範囲である線分へのベクトルを用いて、仮決定手段が仮決定した頭部の認識位置の修正処理を実行する。そして制御部11は、この修正処理後の頭部の認識位置を出力する。この制御部11による詳しい処理の内容は後に述べる。
【0014】
記憶部12は、制御部11によって実行されるプログラムを保持する。このプログラムは、例えばDVD−ROMなどのコンピュータ可読な記憶媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。またこの記憶部12は制御部11のワークメモリとしても動作する。本実施の形態では、この記憶部12は制御部11の処理の対象となる画像情報を蓄積する。
【0015】
操作部13は、例えばポインティングデバイスであるマウスやキーボード等であり、利用者の操作を受け入れて、当該操作の内容を表す情報を、制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。インタフェース部15は、例えばUSB(Universal Serial Bus)等のインタフェースであり、カメラ2等の外部の装置から入力される情報を制御部11に出力する。
【0016】
カメラ2は、尾と本体とを備えた対象動物が移動可能な平面に対象物体を配した箱体を、平面視する方向から予め定めたタイミングごと(例えば1/45秒ごと)に撮像する。そしてカメラ2は、当該撮像して得られた画像情報を、画像処理装置1に出力している。このカメラ2が撮像して得る画像情報は、例えば
図2に例示するようなものとなる。
図2では、マウス(尾のある対象動物)と、対象物体α,βとを、箱体内に配した状態を表している。マウスは尾部Tと、本体部B(尾以外の部分)とを有する。撮影される背景となる平面の床部分(対象動物が移動する面)は、マウスの色とは異なる色(背景色)のシートや砂等を配しておく。
【0017】
ここで制御部11による処理の内容について説明する。本実施の形態の制御部11は、記憶部12に格納されたプログラムを実行することにより、
図3に例示するように、機能的に受入部21と、設定部22と、認識部23と、仮決定部24と、修正処理部25と、出力部26とを含んで構成されるものとなる。
【0018】
受入部21は、カメラ2にて撮像された一連の画像情報を受け入れる。設定部22は、受入部21が受け入れた画像情報の一つを表示部14に表示させ、利用者から対象物体の位置の入力を受け入れる。ここでは利用者は対象物体の位置として、各対象物体が撮影されている範囲にある画素の少なくとも一部を、それぞれ対象物体ごとに指定するものとする。設定部22は、指定された画素の画素値を得る。設定部22は、この得た画素値の表す色から予め定めた範囲にある近似色(予め定めた色空間の座標上で、上記指定された画素の画素値が表す色を中心に、予め定められたユークリッド距離内にあるものなどとして定めればよい)を定める。そして設定部22は、利用者により指定された画素を始点にして隣接する画素から近似色の画素を選択し、以下、選択した画素に対して互いに隣接する上記近似色の画素を選択する処理を繰り返して選択された画素群(近似色の連続範囲、以下ここで選択された画素群を画素塊と呼ぶ)を、対象物体が撮像されている範囲の画素塊として選択する。
【0019】
本実施の形態のある具体的な例では、この設定部22は、グラブ・カット(GrabCut)を用いて、受入部21が受け入れた画像情報のうちから指定された画素を含む前景(対象物体が撮像されている範囲の画素)を選択する処理を行う。なおグラブ・カット等の処理については広く知られたものであるので、ここでの詳しい処理の説明を省略する。設定部22は、こうして対象物体が撮像されている範囲の画素塊が選択されると、当該画素塊の周縁部の画素群を注目範囲の画素群として設定する。具体的には、画素塊に属する画素であって、画素塊に属していない画素に隣接している画素群を注目範囲の画素群として設定することとしてもよい。またはこの画素塊に属していない画素に隣接している画素と、この画素塊に属していない画素に隣接している画素を中心として、予め定めた距離(画素間の距離は、画素の座標間のユークリッド距離で定めればよい)以内にある画素とからなる画素群を注目範囲の画素群として設定することとしてもよい。カメラ2の位置と対象物体との位置とが固定されていれば、注目範囲の画素群は、どの画像情報においても同じであるので、一つの画像情報において注目範囲の画素群を定めれば、他の画像情報においても同じ(対応する座標にある)画素群が注目範囲の画素群となる。
【0020】
認識部23は、受入部21が受け入れた画像情報の各々を順番に処理対象として選択する。そして選択した処理対象の画僧情報から対象動物の本体を認識する。この認識方法には種々の方法があるが、例えば一連の画像情報から動いている物体の画素を識別する、CAMShift(Continuous Adaptive Mean Shift)法等を利用して対象動物の本体部分を認識すればよい。具体的に認識部23は、一連の画像情報についてCAMShift法を適用し、各画像情報において対象動物の本体部分が含まれる領域を特定しておく。認識部23は、処理対象として選択した画像情報のうち、当該対象動物の本体部分が含まれる領域として特定された領域内の画素値のヒストグラムを生成し、このヒストグラム中で最も多い画素値を見いだす(最瀕画素値)。認識部23は、この最瀕画素値の表す色から予め定めた範囲にある近似色(予め定めた色空間の座標上で、上記最瀕画素値が表す色を中心に、予め定められたユークリッド距離内にあるものなどとして定めればよい)を定め、CAMShiftで見いだした領域の内部で、最瀕画素値となっている画素を始点にして隣接する画素から近似色の画素を選択し、以下、選択した画素に対して互いに隣接する上記近似色の画素を選択する処理を繰り返して選択された画素群(近似色の連続範囲、以下ここで選択された画素群を画素塊と呼ぶ)を、対象動物の本体を表す画素とする。
【0021】
また、この認識部23は、尾の方向を決定する処理を行う。この処理では認識部23は、
図4に例示するように、処理対象とした画像情報のうちから対象動物の本体を表す画素として選択された画素群の重心位置Wを求める(S1)。そしてこの重心位置を中心として複数の半径r1,r2,…rnの仮想円を生成する(S2)。認識部23は、生成した各仮想円上で先の最瀕画素値の近似色となっている画素を選択し(P1,P2…)、処理S2で選択した各画素(Pi)と、処理S1で求めた重心位置とを結ぶ仮想の線分を生成する。認識部23は、処理S1で求めた重心位置を中心とした予め定めた角度範囲のうちで、生成した線分が最も多く存在する角度範囲Qを求める(S3)。
【0022】
仮決定部24は、認識部23が処理対象とした画像情報において、認識部23が選択した対象動物の本体を表す画素のうち、
図4の処理S1で求めた重心位置からi番目に遠い位置にある画素R1,R2…を頭部の位置の候補としてN個選択して、これらのうちに対象動物の頭部があるものとして仮に決定し(
図5)、この対象動物の頭部と仮に決定した画素の位置(N個)を重心位置から遠い順に記憶部12に格納する。
【0023】
修正処理部25は、
図5に例示したように、認識部23が処理対象とした画像情報において、認識部23が
図4の処理S5で求めた角度範囲の方向を尾の方向(DT)として、この尾の方向に対して同じく
図4の処理S1で求めた重心Wを挟んで反対側の角度範囲を頭の方向(DH)として、頭の方向(DH)を求める。そして修正処理部25はi=1から順に、重心Wからこの求めた頭の方向(DH)に、仮決定部24が記憶部12に格納したi番目の画素の位置(対象動物の頭部の位置)があるか否かを調べる。修正処理部25は、ここで求めた頭の方向(DH)に、仮決定部24が記憶部12に格納したi番目の画素の位置(頭部の位置)があるならば、当該仮決定部24が記憶部12に格納した当該i番目の画素の位置が対象動物の頭部の位置であるとして、当該画素の位置を表す情報(画像情報の座標情報でよい)を出力する。
この処理により、尾の方向を決定するにあたり、テンプレートマッチング法を利用する場合のように、尾の曲がり方や角度に対応した膨大な計算を行う必要がなくなり、実時間で尾の方向を決定する処理を実行できるようになる。
【0024】
また修正処理部25は、求めた頭の方向(DH)に、仮決定部24が記憶部12に格納したi番目の画素の位置(頭部の位置)がなければ、iを1だけインクリメントして、求めた頭の方向(DH)に、仮決定部24が記憶部12に格納したインクリメント後のi番目の画素の位置(頭部の位置)があるか否かを判断する処理から繰り返す。
【0025】
出力部26は、修正処理部25が出力する情報で表される画素の位置に、対象動物の頭部があることを表すマーク(例えば赤色の丸印)を表示する。また、この出力部26は、修正処理部25が出力する情報で表される画素の位置が、設定部22によって設定された注目範囲の画素群に含まれる場合、つまり修正処理部25により出力された情報で特定される頭部の位置が、注目範囲に含まれる場合には、予め定めたマーカーを出力する。このマーカーは、例えば画像情報に重ね合わせて、画像情報の所定位置(例えば左上隅など)に表示される、赤色の四角形の図形などとしておけばよい。
【0026】
また、本実施の形態のここまでの説明では修正処理部25は、認識部23が処理対象とした画像情報について仮に決定された頭部の位置の情報と、この処理対象とした同じ画像情報から得られた尾の位置に基づいて推定される頭部の方向とが一致するか否かを調べていたが、本実施の形態はこれに限られない。
【0027】
例えば、一連の画像情報のうち、認識部23がj番目に処理対象とした画像情報Pjについて仮に決定された頭部の位置の情報と比較する頭部の方向を得るにあたり、この一つ前であるj−1番目に処理対象とされた画像情報Pj-1に基づいて推定された頭部の方向、j番目に処理対象とした画像情報Pj画像情報Pjに基づいて推定された頭部の方向、及びこの一つ後であるj+1番目に処理対象とされた画像情報Pj+1に基づいて推定された頭部の方向を平均演算してもよい(重心からの角度の値の算術平均を演算すればよい)。この場合、修正処理部25は、認識部23がj番目に処理対象とした画像情報Pjについて仮に決定された頭部の位置の候補のうち、この演算された平均の頭部の方向にある画素であって、かつ重心から最も遠い画素を対象動物の頭部の位置であるとして、当該画素の位置を表す情報を出力する。
【0028】
このように前後の画像情報も考慮に入れることとしても構わない。またここでは前後一つずつの画像情報を用いる例としたが、処理対象とした画像情報の前後それぞれいくつの画像情報から推定された頭部の方向を平均演算するかは、実験的に定めることもできる。
【0029】
本実施の形態の画像処理装置1は以上の構成を備えており、次のように動作する。本実施の形態では、一連の画像情報を受け入れた画像処理装置1は、この一連の画像情報のうちから、利用者の指示操作により入力された点を用いたセグメンテーション等により、対象物体が撮像されている範囲を見つけ出す。
【0030】
またこの画像処理装置1は、一連の画像情報に基づき、各画像情報において対象動物の本体が存在する範囲を特定する。画像処理装置1は、各画像情報で本体が存在する範囲に含まれる最瀕の画素値と、それに近似する色の画素値となっている範囲(連続した画素塊の部分)を見つけ出して、当該範囲を対象動物の本体が撮像されている範囲として認識する。
【0031】
画像処理装置1は、この本体が撮像されている範囲の重心を求め、またこの重心から最も遠い画素を頭部が撮像されている画素の候補として仮に決定する。画像処理装置1はさらに、対象動物の本体の周辺で、対象動物の本体を中心として、この対象動物の本体に含まれる画素に近似する色の画素が最も多く見いだされる方向を尾の方向として特定し、この尾の方向に対し、重心をはさんで反対側を頭部の方向と認識する。
【0032】
画像処理装置1は認識した頭部の方向に、先に仮に決定した頭部が撮像されている画素の候補が含まれるか否かを調べ、含まれなければ、他の頭部の候補を仮に決定し、当該仮に決定した頭部が撮像されている画素の候補が、認識した頭部の方向に含まれるか否かの判断を行うといった処理を続ける。
【0033】
画像処理装置1は、認識した頭部の方向に、仮に決定した頭部が撮像されている画素の候補が含まれる場合、この仮に決定した画素の候補の位置に頭部が撮像されていると判断する。画像処理装置1は、頭部が撮像されていると判断した位置が、先に見つけ出した対象物体の周縁部にある場合に、マーカーMを表示して、マウスが対象物体に興味をしめして、対象物体に頭部を向けている(
図6(a))ことを報知する。なお、マウスは壁面に拠りかかる性質があるので、対象物体にも寄り掛かってしまうことがある(
図6(b))。この場合、対象動物の頭部は、対象物体の周縁部にはないので、マーカーは表示されない。
【0034】
また本実施の形態の別の態様では、各画像情報から検出した対象動物の重心の位置をプロットし、対象動物の重心の移動軌跡を表す画像を生成して出力してもよい(
図7(a))。また、この移動軌跡上で、マーカーを表示したときの軌跡の範囲と、そうでない範囲とを区別可能に(例えば色を変えるなど)した画像を生成して出力してもよい(
図7(b))。
【0035】
本実施の形態によると、尾の方向を決定する処理等の処理負荷を低くでき、一定の精度で、かつ、比較的迅速な処理が可能となる。例えば、実時間での解析や、動物行動への介入が可能となる。また人為的な判断を要しないので、一定の評価基準で動物の行動分析を行うことができる。