【文献】
佐藤 恵一 他,パーティクルフィルタによる3次元位置推定の実験的検討,電気学会研究会資料,日本,一般社団法人電気学会,2012年 8月24日,IP-12-19 IIS-12-61,pp.27-30
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、従来技術では、単一の観測データを用いて物体の追跡処理を実行するので、観測データを取得する環境が変化した場合等において、適切な観測データを安定して取得できず、その結果、内部状態の推定を適切に行うことができないことがある。また、従来技術では、単一の観測データを用いて、物体の追跡処理が実行されるので、多様な対象物を適切に検出・追跡処理することが困難である。
【0015】
そこで、本発明は、上記問題点に鑑み、追跡対象の物体について、複数の観測データを取得し、取得した複数の観測データのそれぞれから導出された複数の尤度を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる状態推定装置、プログラム、および、集積回路を実現することを目的とする。
【課題を解決するための手段】
【0016】
上記課題を解決するために、第1の発明は、観測対象の内部状態を推定する状態推定装置であって、第1観測取得部と、第2観測取得部と、可能性測度取得部と、必然性測度取得部と、予測部と、尤度取得部と、事後確率分布推定部と、事前確率分布出力部と、を備える。
【0017】
第1観測取得部は、観測可能な事象から得られる第1観測データを、任意の時間間隔で取得する。
【0018】
第2観測取得部は、観測可能な事象から得られる第2観測データを、任意の時間間隔で取得する。
【0019】
可能性測度取得部は、第1観測データおよび第2観測データに対して、加算処理あるいは論理和演算を行うことで可能性測度データを取得する。
【0020】
必然性測度取得部は、第1観測データおよび第2観測データに対して、乗算処理あるいは論理積演算を行うことで必然性測度データを取得する。
【0021】
予測部は、前時刻t−1に取得された観測対象の内部状態の確率分布である事後確率分布データに対して予測処理を行い、現時刻tにおける観測対象の内部状態の確率分布である予測確率分布データを取得する。
【0022】
尤度取得部は、予測確率分布データおよび可能性測度データに基づいて、第1尤度を取得するともに、予測確率分布データおよび必然性測度データに基づいて、第2尤度を取得する。
【0023】
事後確率分布推定部は、第1尤度と予測確率分布データとから、現時刻tにおける観測対象の内部状態の確率分布である事後確率分布データを推定する。
【0024】
事前確率分布出力部は、事後確率分布推定部により推定された事後確率分布データに基づく事前確率分布データを、次時刻t+1において、事前確率分布データとして出力する。
【0025】
この状態推定装置では、複数の観測データである第1観測データおよび第2観測データが取得され、取得した複数の観測データから、可能性測度データおよび必然性測度データが取得される。そして、この状態推定装置では、尤度取得部により、可能性測度データおよび必然性測度データから、複数の尤度(第1尤度および第2尤度)が取得され、取得された複数の尤度(第1尤度および第2尤度)を用いて、物体の内部状態を推定することができる。したがって、この状態推定装置では、より正確かつロバストに、多様な物体の検出処理や追跡処理を行うことができる。
【0026】
なお、「時刻」とは、例えば、観測対象をサンプリングする時間間隔に基づく時刻を含む概念であり、例えば、時刻t−1は、時刻tのサンプリングの1つ前のサンプリング時刻を示す。
【0027】
また、「現時刻t」と「次時刻t+1」、あるいは、「前時刻t−1」と「現時刻t」との時間間隔は、例えば、事後確率分布推定部において、単位画像分(例えば、1フレーム分)の事後確率分布データを取得するのに十分な時間であればよく、例えば、1フレームに相当する時間(1フレーム時間)である。
【0028】
第2の発明は、第1の発明であって、事後確率分布推定部は、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの内部変数に、尤度取得部により取得された第2尤度に基づいて設定される値を含める。
この状態推定装置では、第1尤度と第2尤度とを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。つまり、この状態推定装置では、複数の観測データ(可能性測度データおよび必然性測度データ)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0029】
例えば、事後確率分布データS
t|tにより取得されたパーティクルは、それぞれ、第2尤度wnの値を承継した(反映させた)内部変数を有しているので、各パーティクルが存在する位置、および、第2尤度wnの値を承継した(反映させた)内部変数を調べることで、当該パーティクル(第1尤度と第2尤度とを反映させた事後確率分布データ)を用いて多様な追跡処理、検出処理を実行することができる。
【0030】
第3の発明は、第2の発明であって、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとすると、事後確率分布推定部は、
wn
t|t(i)=wn
により規定される値を、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの内部変数に含める。
【0031】
この状態推定装置では、第1尤度と第2尤度とを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。つまり、この状態推定装置では、複数の観測データ(可能性測度データおよび必然性測度データ)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0032】
例えば、事後確率分布データS
t|tにより取得されたパーティクルは、それぞれ、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を有しているので、各パーティクルが存在する位置、および、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を調べることで、当該パーティクル(第1尤度と第2尤度とを反映させた事後確率分布データ)を用いて多様な追跡処理、検出処理を実行することができる。
【0033】
第4の発明は、第2の発明であって、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第1尤度をwpとし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクル数をM1(M1:自然数)とし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの第1尤度wpに基づく内部変数をwp
t|t(i)すると、事後確率分布推定部は、
wn
t|t(i)=wp
t|t(i)×wn/wp
=(1/M1)×wn/wp
により規定される値を、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの内部変数に含める。
【0034】
この状態推定装置では、第1尤度と第2尤度とを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。つまり、この状態推定装置では、複数の観測データ(可能性測度データおよび必然性測度データ)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0035】
例えば、事後確率分布データS
t|tにより取得されたパーティクルは、それぞれ、第2尤度wnの値を第1尤度との比(wn/wp)により承継した(反映させた)内部変数wn
t|t(i)を有しているので、各パーティクルが存在する位置、および、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を調べることで、当該パーティクル(第1尤度と第2尤度とを反映させた事後確率分布データ)を用いて多様な追跡処理、検出処理を実行することができる。
【0036】
なお、第2尤度wnの値と第1尤度との比(wn/wp)は、上記以外にも、比(wp/wn)としてもよい。
【0037】
第5の発明は、第2の発明であって、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第1尤度をwpとし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクル数をM1(M1:自然数)とし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの第1尤度wpに基づく内部変数をwp
t|t(i)すると、事後確率分布推定部は、
wn
t|t(i)=wp
t|t(i)−(wp−wn)
=(1/M1)−(wp−wn)
により規定される値を、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの内部変数に含める。
【0038】
この状態推定装置では、第1尤度と第2尤度とを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。つまり、この状態推定装置では、複数の観測データ(可能性測度データおよび必然性測度データ)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0039】
例えば、事後確率分布データS
t|tにより取得されたパーティクルは、それぞれ、第2尤度wnの値を第1尤度との差(wp−wn)により承継した(反映させた)内部変数wn
t|t(i)を有しているので、各パーティクルが存在する位置、および、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を調べることで、当該パーティクル(第1尤度と第2尤度とを反映させた事後確率分布データ)を用いて多様な追跡処理、検出処理を実行することができる。
【0040】
なお、第2尤度wnの値と第1尤度との差(wp−wn)は、上記以外にも、差(wn−wp)としてもよい。
【0041】
第6の発明は、第2の発明であって、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第1尤度をwpとし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクル数をM1(M1:自然数)とし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの第1尤度wpに基づく内部変数をwp
t|t(i)すると、
事後確率分布推定部は、M1、wp、wnの3つの変数のうち、少なくとも1つを変数とする関数Φにより、
wn
t|t(i)=Φ(M1)
wn
t|t(i)=Φ(wp)
wn
t|t(i)=Φ(wn)
wn
t|t(i)=Φ(M1,wp)
wn
t|t(i)=Φ(M1,wn)
wn
t|t(i)=Φ(wp,wn)
wn
t|t(i)=Φ(M1,wp,wn)
のいずれかで規定される値を、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの内部変数に含める。
【0042】
この状態推定装置では、第1尤度と第2尤度とを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。そして、この状態推定装置では、第2尤度wnの内部変数wn
t|t(i)を、M1、wp、wnの3つの変数のうち、少なくとも1つを変数とする関数Φにより規定されるので、物体の内部状態を、多様な変数により規定された第2尤度wnに基づいて、より精度良く推定することができる。
【0043】
第7の発明は、第2から第6のいずれかの発明であって、物体に対する追跡処理を行う場合、以下の処理を行う。すなわち、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第1尤度をwpとし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクル数をM1(M1:自然数)とし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの第1尤度wpに基づく内部変数をwp
t|t(i)すると、
事後確率分布推定部は、第1尤度wpに基づいて、物体に対する追跡処理を継続するか、あるいは、停止させるかの判定処理を実行する。
【0044】
これにより、この状態推定装置では、第1尤度wpに基づいて、物体に対する追跡処理を継続するか、あるいは、停止させるかの判定処理を実行することができる。
【0045】
第8の発明は、第7の発明であって、予測確率分布データS
t|t−1とし、予測確率分布データS
t|t−1に従って取得されたパーティクルであって、物体に対する追跡処理を行うために用意されたN1個(N1:自然数)のパーティクルのj番目のパーティクルについて、尤度取得部により取得された、当該j番目のパーティクルの第1尤度についての内部変数をwp
(j)とすると、
事後確率分布推定部は、
【数3】
により内部変数wp
(j)の積算値sumを取得する。そして、事後確率分布推定部は、以下の処理を行う。
(1)積算値sumが所定の閾値Th1よりも小さい場合、事後確率分布推定部は、物体に対する追跡処理を停止させる。
(2)積算値sumが所定の閾値Th1以上である場合、事後確率分布推定部は、物体に対する追跡処理を継続させる。
【0046】
これにより、この状態推定装置では、第1尤度についての内部変数をwp
(j)の積算値に基づいて、物体に対する追跡処理を継続するか、あるいは、停止させるかの判定処理を実行することができる。
【0047】
第9の発明は、第7の発明であって、予測確率分布データS
t|t−1とし、予測確率分布データS
t|t−1に従って取得されたパーティクルであって、物体に対する追跡処理を行うために用意されたN1個(N1:自然数)のパーティクルのj番目のパーティクルについて、尤度取得部により取得された、当該j番目のパーティクルの第1尤度についての内部変数をwp
(j)とすると、
事後確率分布推定部は、N1個の第1尤度についての内部変数wp
(j)の中の最大値を最大値wp_maxとして取得する。そして、事後確率分布推定部は、以下の処理を行う。
(1)最大値wp_maxが所定の閾値Th2よりも小さい場合、事後確率分布推定部は、物体に対する追跡処理を停止させる。
(2)最大値wp_maxが所定の閾値Th2以上である場合、事後確率分布推定部は、物体に対する追跡処理を継続させる。
【0048】
これにより、この状態推定装置では、第1尤度についての内部変数wp
(j)の最大値に基づいて、物体に対する追跡処理を継続するか、あるいは、停止させるかの判定処理を実行することができる。
【0049】
第10の発明は、第2から第6のいずれかの発明であって、物体に対する追跡処理を行う場合、以下の処理を行う。すなわち、事後確率分布データをS
t|tとし、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数の1つをwn
t|t(i)とし、尤度取得部により取得された、当該パーティクルに対応する第1尤度をwpとし、尤度取得部により取得された、当該パーティクルに対応する第2尤度をwnとし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクル数をM1(M1:自然数)とし、現時刻tにおける事後確率分布データに従い復元抽出されるパーティクルの第1尤度wpに基づく内部変数をwp
t|t(i)すると、
事後確率分布推定部は、第2尤度wnに基づいて、追跡対象の物体の内部状態を推定するための推定結果データを取得する。
【0050】
これにより、この状態推定装置では、第2尤度wnに基づいて、追跡対象の物体の内部状態を推定するための推定結果データを取得することができる。
【0051】
第11の発明は、第10の発明であって、事後確率分布推定部は、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの位置に関する内部変数のベクトルデータを、ベクトルデータ(X
t(i),Y
t(i),W
t(i),H
t(i))とすると、
事後確率分布データS
t|tに従って取得されたM1個のパーティクルのうち、内部変数wn
t|t(i)の値が最大であるパーティクルのベクトルデータ(X
t(i),Y
t(i),W
t(i),H
t(i))を推定結果データとして取得する。
【0052】
この状態推定装置では、内部変数wn
t|t(i)の値が最大であるパーティクルのベクトルデータを推定結果データとして取得するので、少ない演算量で、精度良く、追跡対象の内部状態を推定することができる。その結果、この状態推定装置では、少ない演算量で、精度良く、物体の追跡処理を実行することができる。
【0053】
第12の発明は、第10の発明であって、事後確率分布推定部は、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの位置に関する内部変数のベクトルデータを、ベクトルデータ(X
t(i),Y
t(i),W
t(i),H
t(i))とすると、
事後確率分布データS
t|tに従って取得されたM1個のパーティクルの前記内部変数wn
t|t(i)の重み付き平均値wgtを
【数4】
により取得し、取得した重み付き平均値wgtを用いて取得したベクトルデータ(wgt×X
t(i),wgt×Y
t(i),wgt×W
t(i),wgt×H
t(i))を推定結果データとして取得する。
【0054】
これにより、この状態推定装置では、重み付き平均値wgtを用いて取得したベクトルデータを用いて、精度良く、追跡対象の内部状態を推定することができる。その結果、この状態推定装置では、精度良く、物体の追跡処理を実行することができる。
【0055】
第13の発明は、観測対象の内部状態を推定する状態推定方法をコンピュータで実行するためのプログラムである。状態推定方法は、第1観測取得ステップと、第2観測取得ステップと、可能性測度取得ステップと、必然性測度取得ステップと、予測ステップと、尤度取得ステップと、事後確率分布推定ステップと、事前確率分布出力ステップと、を備える。
【0056】
第1観測取得ステップは、観測可能な事象から得られる第1観測データを、任意の時間間隔で取得する。
【0057】
第2観測取得ステップは、観測可能な事象から得られる第2観測データを、任意の時間間隔で取得する。
【0058】
可能性測度取得ステップは、第1観測データおよび第2観測データに対して、加算処理あるいは論理和演算を行うことで可能性測度データを取得する。
【0059】
必然性測度取得ステップは、第1観測データおよび第2観測データに対して、乗算処理あるいは論理積演算を行うことで必然性測度データを取得する。
【0060】
予測ステップは、前時刻t−1に取得された観測対象の内部状態の確率分布である事後確率分布データに対して予測処理を行い、現時刻tにおける観測対象の内部状態の確率分布である予測確率分布データを取得する。
【0061】
尤度取得ステップは、予測確率分布データおよび可能性測度データに基づいて、第1尤度を取得するともに、予測確率分布データおよび必然性測度データに基づいて、第2尤度を取得する。
【0062】
事後確率分布推定ステップは、第1尤度と予測確率分布データとから、現時刻tにおける観測対象の内部状態の確率分布である事後確率分布データを推定する。
【0063】
事前確率分布出力ステップは、事後確率分布推定ステップにより推定された事後確率分布データに基づく事前確率分布データを、次時刻t+1において、事前確率分布データとして出力する。
【0064】
これにより、第1の発明と同様の効果を奏する状態推定方法をコンピュータに実行させるプログラムを実現することができる。
【0065】
第14の発明は、観測対象の内部状態を推定する状態推定処理用の集積回路であって、第1観測取得部と、第2観測取得部と、可能性測度取得部と、必然性測度取得部と、予測部と、尤度取得部と、事後確率分布推定部と、事前確率分布出力部と、を備える。
【0066】
第1観測取得部は、観測可能な事象から得られる第1観測データを、任意の時間間隔で取得する。
【0067】
第2観測取得部は、観測可能な事象から得られる第2観測データを、任意の時間間隔で取得する。
【0068】
可能性測度取得部は、第1観測データおよび第2観測データに対して、加算処理あるいは論理和演算を行うことで可能性測度データを取得する。
【0069】
必然性測度取得部は、第1観測データおよび第2観測データに対して、乗算処理あるいは論理積演算を行うことで必然性測度データを取得する。
【0070】
予測部は、前時刻t−1に取得された観測対象の内部状態の確率分布である事後確率分布データに対して予測処理を行い、現時刻tにおける観測対象の内部状態の確率分布である予測確率分布データを取得する。
【0071】
尤度取得部は、予測確率分布データおよび可能性測度データに基づいて、第1尤度を取得するともに、予測確率分布データおよび必然性測度データに基づいて、第2尤度を取得する。
【0072】
事後確率分布推定部は、第1尤度と予測確率分布データとから、現時刻tにおける観測対象の内部状態の確率分布である事後確率分布データを推定する。
【0073】
事前確率分布出力部は、事後確率分布推定部により推定された事後確率分布データに基づく事前確率分布データを、次時刻t+1において、事前確率分布データとして出力する。
【0074】
これにより、第1の発明と同様の効果を奏する集積回路を実現することができる。
【発明の効果】
【0075】
本発明によれば、追跡対象の物体について、複数の観測データを取得し、取得した複数の観測データのそれぞれから導出された複数の尤度を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる状態推定装置、プログラム、および、集積回路を実現すること
ができる。
【発明を実施するための形態】
【0077】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0078】
<1.1:状態推定装置の構成>
図1は、第1実施形態に係る状態推定装置1000の概略構成図である。
【0079】
状態推定装置1000は、
図1に示すように、第1観測取得部1と、第2観測取得部2と、可能性測度取得部3と、必然性測度取得部4と、尤度取得部5と、事後確率分布推定部6と、事前確率分布出力部7と、初期状態設定部8と、予測部9と、を備える。
【0080】
第1観測取得部1は、入力データDinを入力とする。第1観測取得部1は、入力データDinから第1観測データD1を取得し、取得した第1観測データD1を可能性測度取得部3と、必然性測度取得部4とに出力する。第1観測取得部1は、例えば、撮像装置により撮像された画像(撮像画像)を入力データDinとし、当該入力データDinから、所定の画像特徴量を抽出した画像特徴量抽出画像を第1観測データとして取得する。
【0081】
第2観測取得部2は、入力データDinを入力とする。第2観測取得部2は、入力データDinから第2観測データD2を取得し、取得した第2観測データD2を可能性測度取得部3と、必然性測度取得部4とに出力する。第2観測取得部2は、例えば、撮像装置により撮像された画像(撮像画像)を入力データDinとし、当該入力データDinから、所定の画像特徴量を抽出した画像特徴量抽出画像を第2観測データとして取得する。
【0082】
可能性測度取得部3は、第1観測取得部1から出力される第1観測データD1と、第2観測取得部2から出力される第2観測データD2と、を入力する。可能性測度取得部3は、第1観測データD1と第2観測データD2とに対して、加算または論理和演算(OR演算)を行うことで、可能性測度データDpを取得する。そして、可能性測度取得部3は、取得した可能性測度データDpを尤度取得部5に出力する。
【0083】
必然性測度取得部4は、第1観測取得部1から出力される第1観測データD1と、第2観測取得部2から出力される第2観測データD2と、を入力する。必然性測度取得部4は、第1観測データD1と第2観測データD2とに対して、乗算または論理積演算(AND演算)を行うことで、必然性測度データDnを取得する。そして、必然性測度取得部4は、取得した必然性測度データDnを尤度取得部5に出力する。
【0084】
尤度取得部5は、可能性測度取得部3から出力される可能性測度データDpと、必然性測度取得部4から出力される必然性測度データDnと、予測部9から出力される予測確率分布データとを入力する。尤度取得部5は、予測確率分布データおよび可能性測度データDpに基づいて、第1尤度wpを取得する。また、尤度取得部5は、予測確率分布データおよび必然性測度データDnに基づいて、第2尤度wnを取得する。そして、尤度取得部5は、取得した第1尤度wpおよび第2尤度wnを事後確率分布推定部6に出力する。
【0085】
事後確率分布推定部6は、尤度取得部5から出力される第1尤度wpおよび第2尤度wnと、予測部9から出力される予測確率分布データとを入力する。事後確率分布推定部6は、第1尤度wpおよび第2尤度wnと予測確率分布データとに基づいて、事後確率分布(事後確率分布データ)を推定(取得)する。そして、事後確率分布推定部6は、推定(取得)した事後確率分布(事後確率分布データ)を、事前確率分布出力部7に出力する。
【0086】
事前確率分布出力部7は、初期状態設定部8から出力される初期状態の設定データと、事後確率分布推定部6から出力される事後確率分布(事後確率分布データ)とを入力する。事前確率分布出力部7は、初期状態では、初期状態設定部8から出力される初期状態の設定データに基づいて、事前確率分布(事前確率分布データ)を生成し、生成した事前確率分布(事前確率分布データ)を予測部9に出力する。
【0087】
また、事前確率分布出力部7は、初期状態以外の状態では、事後確率分布推定部6から出力される、時刻tにおける事後確率分布(事後確率分布データ)を、次の時刻t+1において、事前確率分布(事前確率分布データ)として、予測部9に出力する。
【0088】
初期状態設定部8は、初期状態における事前確率分布(事前確率分布)を生成するためのデータ(初期値)を保持しており、当該データ(初期値)を事前確率分布出力部7に出力する。
【0089】
予測部9は、事前確率分布出力部7から出力される事前確率分布データを入力とする。予測部9は、入力された事前確率分布データから、システムモデル(状態遷移関数)により予測した確率分布データを取得する。そして、予測部9は、取得した確率分布データを、予測確率分布データとして、尤度取得部5および事後確率分布推定部6に出力する。
【0090】
<1.2:状態推定装置の動作>
以上のように構成された状態推定装置1000の動作について、以下、説明する。
【0091】
なお、以下では、撮像装置(不図示)により撮像された動画像(撮像動画像)を入力データDinとし、第1観測取得部1が、入力データDinから人に相当する領域を抽出した画像特徴量抽出画像を第1観測データとして取得し、第2観測取得部2が、入力データDinから動く物体に相当する領域を抽出した画像特徴量抽出画像を第2観測データとして取得する場合を一例として、説明する。
【0092】
図2は、撮像装置(不図示)により撮像された動画像(撮像動画像)である入力データDinを模式的に示す図である。
【0093】
図3は、第1観測取得部1により取得された第1観測データD1を模式的に示す図である。
【0094】
図4は、第2観測取得部2により取得された第2観測データD2を模式的に示す図である。
【0095】
現時刻(時刻t)において、
図2に示す入力データDinが、第1観測取得部1および第2観測取得部2に入力される。
【0096】
図2に示すように、時刻tの入力データDinには、4つの物体TG1〜TG4が含まれているものとする。そして、物体TG1、TG2、TG3は、人であり、物体TG4は、人以外の物体であるものとする。また、物体TG1、TG2は、動く物体であるものとする。つまり、物体TG1、TG2は、前時刻t−1(1フレーム前の時刻)から現時刻t(現フレームの時刻)において、画像上において、所定の距離以上移動した物体であるものとする。
【0097】
第1観測取得部1は、入力データDinから、人に相当する画像領域を抽出することで、第1観測データD1を取得する。第1観測取得部1は、例えば、入力データDinにおいて、肌色を多く含む領域を検出することにより、および/または、人の形状のパターンマッチング等により、入力データDinの画像上において人に相当する画像領域を検出する。そして、第1観測取得部1は、検出した結果画像を、第1観測データD1として取得する。このようにして、第1観測取得部1により、
図3に示す第1観測データD1が取得される。
図3から分かるように、第1観測データD1では、入力データDinに含まれる人である物体TG1、TG2、TG3にそれぞれ相当する画像領域TG1_D1、TG2_D1、TG3_D1が検出されている。なお、
図3の第1観測データD1(画像D1)において、画像領域TG1_D1、TG2_D1、TG3_D1内の画素は、「0」以外の画素値を有しており、画像領域TG1_D1、TG2_D1、TG3_D1以外の画像領域の画素の画素値は「0」であるものとする。
【0098】
第1観測取得部1により取得された第1観測データD1は、可能性測度取得部3および必然性測度取得部4に出力される。
【0099】
第2観測取得部2は、入力データDinから、動く物体に相当する画像領域を抽出することで、第2観測データD2を取得する。第2観測取得部2は、例えば、入力データDinにおいて、1フレーム期間(前時刻t−1から現時刻tまでの時間)において、画像上において所定の距離以上移動した物体の画像領域を検出することにより、入力データDinの画像上において動く物体に相当する画像領域を検出する。そして、第2観測取得部2は、検出した結果画像を、第2観測データD2として取得する。このようにして、第2観測取得部2により、
図4に示す第2観測データD2が取得される。なお、
図4では、第2観測取得部2が、入力データDinにおいて、1フレーム期間(前時刻t−1から現時刻tまでの時間)において、画像上において所定の距離以上移動した物体の画像領域を、当該物体の時刻tにおける重心を中心とした所定の半径の円領域として検出する場合について、検出した画像領域TG1_D2およびTG2_D2を示している。
図4から分かるように、第2観測データD2では、入力データDinに含まれる動く物体TG1、TG2にそれぞれ相当する画像領域TG1_D2、TG2_D2が検出されている。なお、
図4の第2観測データD2(画像D2)において、画像領域TG1_D2、TG2_D2内の画素は、「0」以外の画素値を有しており、画像領域TG1_D2、TG2_D2以外の画像領域の画素の画素値は「0」であるものとする。
【0100】
第2観測取得部2により取得された第2観測データD2は、可能性測度取得部3および必然性測度取得部4に出力される。
【0101】
可能性測度取得部3では、第1観測データD1および第2観測データD2から、可能性測度データDpが取得される。可能性測度取得部3は、第1観測データD1と第2観測データD2とに対して、下記の「(1)加算処理による方法」または「(2)論理和演算による方法」を行うことで、可能性測度データDpを取得する。
【0102】
(1)加算処理による方法
可能性測度取得部3は、第1観測データD1(画像D1)と、第2観測データD2(画像D2)とにおいて、同一座標位置の画素の画素値同士を加算することで、可能性測度データDpの当該座標位置の画素の画素値を取得する。第1観測データD1(画像D1)の座標(x1,y1)における画素値をD1(x1,y1)とし、第2観測データD2(画像D2)の座標(x1,y1)における画素値をD2(x1,y1)とし、可能性測度データDp(画像Dp)の座標(x1,y1)における画素値をDp(x1,y1)とすると、可能性測度取得部3は、
Dp(x1,y1)=D1(x1,y1)+D2(x1,y1)
により、可能性測度データDp(画像Dp)の座標(x1,y1)における画素の画素値を取得する。なお、このとき、Dp(x1,y1)が所定のダイナミックレンジ内(例えば、0〜255の範囲内)となるように、上限値、および/または、下限値によりリミット処理を行うようにしてもよい。また、Dp(x1,y1)のダイナミックレンジが、所定のダイナミックレンジ(例えば、0〜255の範囲や0〜1の範囲)となるように、正規化処理を行うようにしてもよい。
【0103】
上記加算処理を、画像内の全ての画素に対して行うことで、可能性測度取得部3は、可能性測度データDp(画像Dp)の全ての画素の画素値を取得する。このようにして、可能性測度取得部3は、可能性測度データDp(画像Dp)を取得する。
【0104】
図5に、
図3の第1観測データD1(画像D1)および
図4の第2観測データD2(画像D2)から取得された可能性測度データDp(画像Dp)を示す。なお、
図5では、物体を検出(追跡)するために用いられるパーティクル(粒子)(一例)も模式的に描いている。
【0105】
図5に示すように、可能性測度データDp(画像Dp)では、第1観測データD1(画像D1)の画像領域TG1_D1、TG2_D1、TG3_D1に対応する画像領域TG1_Dp、TG2_Dp、TG3_Dpが検出されている。つまり、可能性測度データDp(画像Dp)では、画像領域TG1_Dp、TG2_Dp、TG3_Dp内の画素の画素値が「0」以外の画素値であり、画像領域TG1_Dp、TG2_Dp、TG3_Dp以外の画素の画素値は「0」である。
【0106】
(2)論理和演算による方法
可能性測度取得部3は、第1観測データD1(画像D1)に対して所定の閾値による2値化処理を行い、また、第2観測データD2(画像D2)に対して所定の閾値による2値化処理を行う。そして、可能性測度取得部3は、2値化処理後の第1観測データD1(2値化画像D1)および第2観測データD2(2値化画像D2)において、同一座標位置の画素の画素値同士の論理和をとることで、可能性測度データDpの当該座標位置の画素の画素値を取得する。第1観測データD1(画像D1)の座標(x1,y1)における画素値をD1(x1,y1)とし、第2観測データD2(画像D2)の座標(x1,y1)における画素値をD2(x1,y1)とし、可能性測度データDp(画像Dp)の座標(x1,y1)における画素値をDp(x1,y1)とすると、可能性測度取得部3は、
Dp(x1,y1)=D1(x1,y1)|D2(x1,y1)
により、可能性測度データDp(画像Dp)の座標(x1,y1)における画素の画素値を取得する。なお、上記「|」は、論理和をとる演算子を示している。
【0107】
上記論理和演算を、画像内の全ての画素に対して行うことで、可能性測度取得部3は、可能性測度データDp(画像Dp)の全ての画素の画素値を取得する。このようにして、可能性測度取得部3は、可能性測度データDp(画像Dp)を取得する。
【0108】
図3の第1観測データD1(画像D1)および
図4の第2観測データD2(画像D2)から上記論理和演算により取得された可能性測度データDp(画像Dp)は、
図5に示す画像Dpとなる。なお、論理和演算により取得された可能性測度データDp(画像Dp)では、画像領域TG1_Dp、TG2_Dp、TG3_Dp内の画素の画素値が「1」(「真」を表す値)であり、画像領域TG1_Dp、TG2_Dp、TG3_Dp以外の画素の画素値は「0」である。なお、画像領域TG1_Dp、TG2_Dp、TG3_Dp内の画素の画素値は、「真」を表す値とすればよく、例えば、画素値が8ビットデータであり、0〜255の値をとる場合、画像領域TG1_Dp、TG2_Dp、TG3_Dp内の画素の画素値を「255」としてもよい。
【0109】
上記の「(1)加算処理による方法」または「(2)論理和演算による方法」を行うことで、可能性測度取得部3により取得された可能性測度データDpは、尤度取得部5に出力される。
【0110】
必然性測度取得部4では、第1観測データD1および第2観測データD2から、必然性測度データDnが取得される。必然性測度取得部4は、第1観測データD1と第2観測データD2とに対して、下記の「(1)乗算処理による方法」または「(2)論理積演算による方法」を行うことで、必然性測度データDnを取得する。
【0111】
(1)乗算処理による方法
必然性測度取得部4は、第1観測データD1(画像D1)と、第2観測データD2(画像D2)とにおいて、同一座標位置の画素の画素値同士を乗算することで、必然性測度データDnの当該座標位置の画素の画素値を取得する。第1観測データD1(画像D1)の座標(x1,y1)における画素値をD1(x1,y1)とし、第2観測データD2(画像D2)の座標(x1,y1)における画素値をD2(x1,y1)とし、必然性測度データDn(画像Dn)の座標(x1,y1)における画素値をDn(x1,y1)とすると、必然性測度取得部4は、
Dn(x1,y1)=D1(x1,y1)×D2(x1,y1)
により、必然性測度データDn(画像Dn)の座標(x1,y1)における画素の画素値を取得する。なお、このとき、Dn(x1,y1)が所定のダイナミックレンジ内(例えば、0〜255の範囲内)となるように、上限値、および/または、下限値によりリミット処理を行うようにしてもよい。また、Dn(x1,y1)のダイナミックレンジが、所定のダイナミックレンジ(例えば、0〜255の範囲や0〜1の範囲)となるように、正規化処理を行うようにしてもよい。
【0112】
上記乗算処理を、画像内の全ての画素に対して行うことで、必然性測度取得部4は、必然性測度データDn(画像Dn)の全ての画素の画素値を取得する。このようにして、必然性測度取得部4は、必然性測度データDn(画像Dn)を取得する。
【0113】
図6に、
図3の第1観測データD1(画像D1)および
図4の第2観測データD2(画像D2)から取得された必然性測度データDn(画像Dn)を示す。
【0114】
図6に示すように、必然性測度データDn(画像Dn)では、第2観測データD2(画像D2)の画像領域TG1_D2、TG2_D2に対応する画像領域TG1_Dn、TG2_Dnが検出されている。つまり、必然性測度データDn(画像Dn)では、画像領域TG1_Dn、TG2_Dn内の画素の画素値が「0」以外の画素値であり、画像領域TG1_Dn、TG2_Dn以外の画素の画素値は「0」である。
【0115】
(2)論理積演算による方法
必然性測度取得部4は、第1観測データD1(画像D1)に対して所定の閾値による2値化処理を行い、また、第2観測データD2(画像D2)に対して所定の閾値による2値化処理を行う。そして、必然性測度取得部4は、2値化処理後の第1観測データD1(2値化画像D1)および第2観測データD2(2値化画像D2)において、同一座標位置の画素の画素値同士の論理積をとることで、必然性測度データDnの当該座標位置の画素の画素値を取得する。第1観測データD1(画像D1)の座標(x1,y1)における画素値をD1(x1,y1)とし、第2観測データD2(画像D2)の座標(x1,y1)における画素値をD2(x1,y1)とし、必然性測度データDn(画像Dn)の座標(x1,y1)における画素値をDn(x1,y1)とすると、必然性測度取得部4は、
Dn(x1,y1)=D1(x1,y1)&D2(x1,y1)
により、必然性測度データDn(画像Dn)の座標(x1,y1)における画素の画素値を取得する。なお、上記「&」は、論理積をとる演算子を示している。
【0116】
上記論理積演算を、画像内の全ての画素に対して行うことで、必然性測度取得部4は、必然性測度データDn(画像Dn)の全ての画素の画素値を取得する。このようにして、必然性測度取得部4は、必然性測度データDn(画像Dn)を取得する。
【0117】
図3の第1観測データD1(画像D1)および
図4の第2観測データD2(画像D2)から上記論理積演算により取得された必然性測度データDn(画像Dn)は、
図6に示す画像Dnとなる。なお、論理積演算により取得された必然性測度データDn(画像Dn)では、画像領域TG1_Dn、TG2_Dn内の画素の画素値が「1」(「真」を表す値)であり、画像領域TG1_Dn、TG2_Dn以外の画素の画素値は「0」である。なお、画像領域TG1_Dn、TG2_Dn内の画素の画素値は、「真」を表す値とすればよく、例えば、画素値が8ビットデータであり、0〜255の値をとる場合、画像領域TG1_Dn、TG2_Dn内の画素の画素値を「255」としてもよい。
【0118】
上記の「(1)乗算処理による方法」または「(2)論理積演算による方法」を行うことで、必然性測度取得部4により取得された必然性測度データDnは、尤度取得部5に出力される。
【0119】
ここで、観測対象(追跡対象)である物体の時刻tの内部状態を示す状態ベクトルをx
tとし、時刻tにおいて観測された特徴を観測ベクトルy
tとし、予測確率分布p(x
t|y
t−1)に従って生成されたサンプル集合(パーティクルの集合)S
t|t−1を
S
t|t−1={s
t|t−1(1),s
t|t−1(2),・・・,s
t|t−1(M)}
とし、事後確率分布p(x
t|y
t)に従って生成されたサンプル集合(パーティクルの集合)S
t|tを
S
t|t={s
t|t(1),s
t|t(2),・・・,s
t|t(M)}
とする。
【0120】
また、サンプル集合(パーティクルの集合)S
t|tのi番目のサンプル(パーティクル)s
t|t(i)は、i番目のサンプル(パーティクル)の画像上の座標位置(X
t(i),Y
t(i))と、当該座標位置を中心とする幅W
t、高さH
tの矩形状の画像領域を決定するための幅W
t、高さH
tと、第1尤度w
pt(i)と、第2尤度w
nt(i)とを内部変数とするベクトルデータであるものとする。つまり、サンプル(パーティクル)s
t|t(i)は、
s
t|t(i)=(X
t(i),Y
t(i),W
t(i),H
t(i),wn
t(i),wp
t(i))
であるものとする。
【0121】
なお、観測対象(追跡対象)が複数ある場合、観測対象ごとにオブジェクト番号を付与し、観測対象ごとに、上記と同様にして、予測確率分布に従って生成されたサンプル集合(パーティクルの集合)S
t|t−1や、事後確率分布に従って生成されたサンプル集合(パーティクルの集合)S
t|tを設定すればよい。
【0122】
以下では、説明を簡単にするため、観測対象(追跡対象)を物体TG1とした場合について、説明する。
【0123】
予測部9では、予測処理が実行される。
【0124】
具体的には、予測部9は、事前確率分布出力部7により生成された時刻t−1における事前確率分布(事前確率分布データ)に従うパーティクルの集合S
t−1|t−1に基づいて、予測処理を行い、予測処理後のパーティクルの集合S
t|t−1を取得する。
【0125】
例えば、時刻t−1における物体TG1の状態を表すパラメータの事前確率分布(事前確率分布データ)に従うパーティクルの集合S
t−1|t−1(これを「事前確率分布データS
t−1|t−1」と表記する。)に含まれる各パーティクルの状態に対して、ランダムウォークのダイナミクスを仮定したガウシアンノイズを重畳させることで、予測処理後のパーティクルの集合S
t|t−1(これを「予測確率分布データS
t|t−1」と表記する。)を取得する。つまり、v
t(i)がガウス分布に従うシステムノイズとし、予測部9は、
s
t|t−1(i)=f(s
t−1|t−1(i),v
t(i))
f():時刻t−1と時刻tとの状態変化を表す状態遷移関数
v
t(i):システムノイズ
により、予測処理後のパーティクルの集合S
t|t−1を取得する。
【0126】
具体的には、時刻t−1における物体TG1の事前確率分布(事前確率分布データ)に従う、i番目のパーティクルの内部状態は、(X
t−1|t−1(i),Y
t−1|t−1(i),W
t−1|t−1(i),H
t−1|t−1(i),wn
t−1|t−1(i),wp
t−1|t−1(i))であり、予測処理後のi番目のパーティクルの内部状態は、(X
t|t−1(i),Y
t|t−1(i),W
t|t−1(i),H
t|t−1(i),wn
t|t−1(i),wp
t|t−1(i))であるので、
X
t−1|t(i)=X
t−1|t−1(i)+ΔX
(i)
Y
t−1|t(i)=Y
t−1|t−1(i)+ΔY
(i)
W
t−1|t(i)=W
t−1|t−1(i)+W
(i)
H
t−1|t(i)=H
t−1|t−1(i)+H
(i)
により、予測部9は、物体TG1の予測処理後のパーティクルの集合s
t|t−1を取得する。なお、ΔX
(i)、ΔY
(i)(#i)、ΔW
(i)、ΔH
(i)は、それぞれ、ガウス分布に従う。
【0127】
このようにして取得された、物体TG1の予測処理後のパーティクルの集合s
t|t−1は、予測確率分布データとして、予測部9から尤度取得部5に出力される。
【0128】
尤度取得部5では、予測部9が取得した予測確率分布データおよび可能性測度データDpに基づいて、第1尤度wpが取得され、また、予測部9が取得した予測確率分布データおよび必然性測度データDnに基づいて、第2尤度wnが取得される。
【0129】
図7は、観測対象(追跡対象)を物体TG1とした場合における、予測処理、尤度取得処理、リサンプリング処理を説明するための図である。なお、
図7では、垂直方向(Y軸方向)のパーティクルのみを模式的に示している。具体的には、
図7では、
図5、
図6に示した垂直方向の直線A1−A2上において配置されるパーティクルのみを模式的に示している。また、
図7では、直線A1−A2における可能性測度データDpの値(画像Dpの画素値)を示す曲線Dpと、直線A1−A2における必然性測度データDnの値(画像Dnの画素値)を示す曲線Dnとを示している。なお、
図7において、曲線Dpおよび曲線Dnは、
図7の左方向が画素値が大きくなる方向(正の方向)として描いている。
【0130】
(1.2.1:第1尤度wpの取得処理)
尤度取得部5は、予測部9から出力される予測確率分布データS
t|t−1と、可能性測度データDp(画像Dp)とを用いて、第1尤度wpを算出する。
【0131】
図7に示すように、時刻tの事前確率分布(時刻t−1の事後確率分布)に従うパーティクル集合S
t−1|t−1に対して、予測部9により予測処理が実行されることで、予測確率分布データS
t|t−1が取得される。
【0132】
尤度取得部5は、予測確率分布データS
t|t−1に従って取得された各パーティクルが占める画像領域内の可能性測度データDp(画像Dp)の値(画像Dpにおいて、各パーティクルが占める画像領域内の画素の画素値)を積算し、その積算値を第1尤度wpとする。このようにして取得された第1尤度wpを、
図7では、円で示しており、第1尤度wpが大きい値である程、大きな円として描いている。
【0133】
なお、画像Dpにおいて、予測処理後のi番目のパーティクルが占める画像領域は、当該パーティクルの内部状態が(X
t|t−1(i),Y
t|t−1(i),W
t|t−1(i),H
t|t−1(i),wn
t|t−1(i),wp
t|t−1(i))であるので、座標(X
t|t−1(i),Y
t|t−1(i))を中心とし、幅(水平方向の長さ)W
t|t−1(i)、高さ(垂直方向の長さ)H
t|t−1(i)である矩形領域である。
【0134】
図7では、可能性測度データDp(画像Dp)の値および必然性測度データDn(画像Dn)の値は、正規化されたデータ(値)であり、0〜1の値をとるものとする。
【0135】
図7に示すように、予測確率分布データS
t|t−1に従って取得されたパーティクルの粒子番号をi1〜i9とし、i番目のパーティクルの第1尤度値をwp
(i)とすると、wp
(i1)、wp
(i2)、wp
(i7)、wp
(i8)、wp
(i9)は、第1尤度の値が「0」である。
【0136】
そして、i3〜i6番目のパーティクルの第1尤度値は、以下の通りである。
【0137】
wp
(i3)=0.4
wp
(i4)=0.95
wp
(i5)=0.8
wp
(i6)=0.25
(1.2.2:第2尤度wnの取得処理)
尤度取得部5は、予測部9から出力される予測確率分布データS
t|t−1と、必然性測度データDn(画像Dn)とを用いて、第2尤度wnを算出する。
【0138】
図7に示すように、時刻tの事前確率分布(時刻t−1の事後確率分布)に従うパーティクル集合S
t−1|t−1に対して、予測部9により予測処理が実行されることで、予測確率分布データS
t|t−1が取得される。
【0139】
尤度取得部5は、予測確率分布データS
t|t−1に従って取得された各パーティクルが占める画像領域内の必然性測度データDn(画像Dn)の値(画像Dnにおいて、各パーティクルが占める画像領域内の画素の画素値)を積算し、その積算値を第2尤度wnとする。
【0140】
なお、画像Dnにおいて、予測処理後のi番目のパーティクルが占める画像領域は、当該パーティクルの内部状態が(X
t|t−1(i),Y
t|t−1(i),W
t|t−1(i),H
t|t−1(i),wn
t|t−1(i),wp
t|t−1(i))であるので、座標(X
t|t−1(i),Y
t|t−1(i))を中心とし、幅(水平方向の長さ)W
t|t−1(i)、高さ(垂直方向の長さ)H
t|t−1(i)である矩形領域である。
【0141】
図7では、必然性測度データDn(画像Dn)の値は、正規化されたデータ(値)であり、0〜1の値をとる。
【0142】
図7に示すように、予測確率分布データS
t|t−1に従って取得されたパーティクルの粒子番号をi1〜i9とし、i番目のパーティクルの第2尤度値をwn
(i)とすると、wn
(i1)、wn
(i2)、wn
(i3)、wn
(i6)、wn
(i7)、wn
(i8)、wn
(i9)は、第2尤度の値が「0」である。
【0143】
そして、i4〜i5番目のパーティクルの第2尤度値は、以下の通りである。
【0144】
wn
(i4)=0.6
wn
(i5)=0.2
以上のようにして、予測確率分布データS
t|t−1に従って取得されたパーティクルごとに取得された第1尤度値wpおよび第2尤度値wnは、尤度取得部5から事後確率分布推定部6に出力される。
【0145】
事後確率分布推定部6では、第1尤度wpおよび第2尤度wnと予測確率分布データとに基づいて、事後確率分布(事後確率分布データ)が推定(取得)される。
【0146】
事後確率分布推定部6は、時刻tにおける物体TG1の第1尤度wp
(i)に比例する割合でM1個のパーティクル(粒子)を復元抽出する(パーティクルxa
t(i)(物体TG1のi番目の粒子)を抽出する)。このとき、事後確率分布推定部6は、復元抽出したパーティクルに第2尤度wnを引き継ぐ。つまり、事後確率分布推定部6は、s
t|t(i)の内部変数であるwn
(i)に、尤度取得部5により取得された第2尤度wnを設定する。
【0147】
例えば、
図7の場合、画像領域TG1_Dpに含まれる直線A1−A2上において、9個のパーティクルが復元抽出されている。
【0148】
予測確率分布データS
t|t−1に従って取得されたi3番目のパーティクルから第1尤度wp
(i3)=0.4が取得されるので、予測確率分布データS
t|t−1に従って取得されたi3番目のパーティクルの位置において、比例配分により、1個のパーティクルが復元される。つまり、事後確率分布データS
t|tに従って取得されたi1番目のパーティクルが復元される。
【0149】
そして、予測確率分布データS
t|t−1に従って取得されたi3番目のパーティクルから第2尤度wn
(i3)=0.0が取得されるので、事後確率分布データS
t|tに従って取得されたi1番目のパーティクルにおいて、その内部変数であるwn
(i1)に、尤度取得部5により取得された第2尤度wn=0.0が設定される。すなわち、事後確率分布データS
t|tに従って取得されたi1番目のパーティクルの内部変数は、以下のように設定される。
【0150】
(X
t|t(i1),Y
t|t(i1),W
t|t(i1),H
t|t(i1),wn
t|t(i1),wp
t|t(i1))=(X
t|t(i1),Y
t|t(i1),W
t|t(i1),H
t|t(i1),0.0,1/M1)
予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルから第1尤度wp
(i3)=0.95が取得されるので、予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルの位置において、比例配分により、4個のパーティクルが復元される。つまり、事後確率分布データS
t|tに従って取得されたi2〜i5番目のパーティクル、すなわち、合計4個のパーティクルが復元される。
【0151】
そして、予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルから第2尤度wn
(i4)=0.6が取得されるので、事後確率分布データS
t|tに従って取得されたi2〜i5番目のパーティクルにおいて、その内部変数であるwn
(i)に、尤度取得部5により取得された第2尤度wn=0.6が設定される。すなわち、事後確率分布データS
t|tに従って取得されたi2〜i5番目のパーティクルの内部変数は、以下のように設定される。
【0152】
(X
t|t(i),Y
t|t(i),W
t|t(i),H
t|t(i),wn
t|t(i),wp
t|t(i))
=(X
t|t(i),Y
t|t(i),W
t|t(i),H
t|t(i),0.6,1/M1)
なお、上記において、iは、i2〜i5のいずれかである。
【0153】
予測確率分布データS
t|t−1に従って取得されたi5番目のパーティクルから第1尤度wp
(i3)=0.8が取得されるので、予測確率分布データS
t|t−1に従って取得されたi5番目のパーティクルの位置において、比例配分により、3個のパーティクルが復元される。つまり、事後確率分布データS
t|tに従って取得されたi6〜i8番目のパーティクル、すなわち、合計3個のパーティクルが復元される。
【0154】
そして、予測確率分布データS
t|t−1に従って取得されたi5番目のパーティクルから第2尤度wn
(i5)=0.2が取得されるので、事後確率分布データS
t|tに従って取得されたi6〜i8番目のパーティクルにおいて、その内部変数であるwn
(i)に、尤度取得部5により取得された第2尤度wn=0.2が設定される。すなわち、事後確率分布データS
t|tに従って取得されたi6〜i8番目のパーティクルの内部変数は、以下のように設定される。
【0155】
(X
t|t(i),Y
t|t(i),W
t|t(i),H
t|t(i),wn
t|t(i),wp
t|t(i))
=(X
t|t(i),Y
t|t(i),W
t|t(i),H
t|t(i),0.2,1/M1)
なお、上記において、iは、i6〜i8のいずれかである。
【0156】
予測確率分布データS
t|t−1に従って取得されたi6番目のパーティクルから第1尤度wp
(i3)=0.25が取得されるので、予測確率分布データS
t|t−1に従って取得されたi6番目のパーティクルの位置において、比例配分により、1個のパーティクルが復元される。つまり、事後確率分布データS
t|tに従って取得されたi9番目のパーティクルが復元される。
【0157】
そして、予測確率分布データS
t|t−1に従って取得されたi6番目のパーティクルから第2尤度wn
(i6)=0.0が取得されるので、事後確率分布データS
t|tに従って取得されたi9番目のパーティクルにおいて、その内部変数であるwn
(i9)に、尤度取得部5により取得された第2尤度wn=0.0が設定される。すなわち、事後確率分布データS
t|tに従って取得されたi9番目のパーティクルの内部変数は、以下のように設定される。
【0158】
(X
t|t(i9),Y
t|t(i9),W
t|t(i9),H
t|t(i9),wn
t|t(i9),wp
t|t(i9))=(X
t|t(i9),Y
t|t(i9),W
t|t(i9),H
t|t(i9),0.0,1/M1)
以上のように、事後確率分布推定部6は、時刻tにおける物体TG1の第1尤度wp
(i)に比例する割合でM1個のパーティクル(粒子)を復元抽出する(パーティクルxa
t(i)(物体TG1のi番目の粒子)を抽出する)とともに、復元抽出したパーティクルに第2尤度wnを引き継ぐ。つまり、事後確率分布推定部6は、s
t|t(i)の内部変数であるwn
(i)に、尤度取得部5により取得された第2尤度wnを設定する。
【0159】
なお、物体TG1を追跡するためのパーティクル数がM1個である場合、追跡対象に対する追跡処理を継続させるか、それとも、追跡処理を停止させるかの判定(追跡対象のDiscard/Survive判定処理)は、第1尤度値wp
(i)に基づいて、行うようにしてもよい。
【0160】
例えば、事後確率分布推定部6は、物体TG1に対する追跡処理を継続させるか、あるいは、停止させるかの判定処理を、以下の処理により実行する。すなわち、事後確率分布推定部6は、下記(数式4)により、物体TG1について取得された、M1個の第1尤度値wp
(i)を積算することで、判定値DSを求める。
【0162】
そして、事後確率分布推定部6は、以下の処理を行う。
(1)判定値DSが閾値th1よりも小さい場合、事後確率分布推定部6は、物体TG1に対する追跡処理を停止させる。つまり、事後確率分布推定部6は、次時刻以降、物体TG1を追跡対象から除外する。
(2)判定値DSが閾値th1以上である場合、事後確率分布推定部6は、物体TG1に対する追跡処理を継続させる。つまり、事後確率分布推定部6は、次時刻以降も、物体TG1を追跡対象とする。
【0163】
例えば、
図2の場合、閾値th1を「0.2」に設定すると、
DS=0.4+0.95+0.8+0.25=2.4
となり、DS>0.2であるので、事後確率分布推定部6は、次時刻以降も、物体TG1を追跡対象とする(物体TG1の追跡処理を継続させる)。
【0164】
また、上記では、s
t|t(i)の内部変数であるwn
(i)に、尤度取得部5により取得された第2尤度wnの値をそのまま設定している(引き継いでいる)が、これに限定されることはなく、以下のように、尤度取得部5により取得された第1尤度値wpと第2尤度値wnとの比または差を用いて、第2尤度wnの値を引き継ぐようにしてもよい。すなわち、以下の(1)〜(2)により、事後確率分布推定部6は、第1尤度値wpと第2尤度値wnとの比または差を用いて、第2尤度wnの値を引き継ぐように、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数のwn
t|t(i)を設定するようにしてもよい。
【0165】
(1)第1尤度値wpと第2尤度値wnとの比による承継
wn
t|t(i)=wp
t|t(i)×wn/wp
=(1/M1)×wn/wp
例えば、
図7の予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルから第1尤度wp
(i4)=0.95、第2尤度wn
(i4)=0.6が取得されるので、予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルの位置において、比例配分により、復元されるパーティクル、すなわち、事後確率分布データS
t|tに従って取得されたi2〜i5番目のパーティクルの内部変数wn
t|t(i)は、上記数式により、
wn
t|t(i)=wp
t|t(i)×wn/wp
=(1/M1)×0.6/0.95
と設定される。なお、上式のiは、i2〜i5のいずれかである。
【0166】
上式において、wp=0となる場合、「0」で除算されることになるため、これを防ぐために、第
1尤度wpが所定の値thよりも小さい場合、所定の値thでクリップ処理を行うようにしてもよい。例えば、第
1尤度wpが所定の値0.001よりも小さい場合、第
1尤度wpを0.001としてもよい。これにより、「0」で除算されることを防止することができる。
【0167】
(2)第1尤度値wpと第2尤度値wnとの差による承継
wn
t|t(i)=wp
t|t(i)−(wp−wn)
=(1/M1)−(wp−wn)
例えば、
図7の予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルから第1尤度wp
(i4)=0.95、第2尤度wn
(i4)=0.6が取得されるので、予測確率分布データS
t|t−1に従って取得されたi4番目のパーティクルの位置において、比例配分により、復元されるパーティクル、すなわち、事後確率分布データS
t|tに従って取得されたi2〜i5番目のパーティクルの内部変数wn
t|t(i)は、上記数式により、
wn
t|t(i)=wp
t|t(i)−(wp−wn)
=(1/M1)−(0.95−0.6)
と設定される。なお、上式のiは、i2〜i5のいずれかである。
【0168】
このように、事後確率分布推定部6は、復元抽出されたM1個のパーティクルの分布から、時刻tの事後確率分布p(x
t|y
t)に従って生成されたサンプル集合(パーティクルの集合)S
t|t(事後確率分布データS
t|t)、すなわち、
S
t|t={s
t|t(1),s
t|t(2),・・・,s
t|t(M1)}
を取得する。そして、事後確率分布推定部6は、上記の方法により、第2尤度wnの値を引き継ぐように、事後確率分布データS
t|tに従って取得されたi番目のパーティクルの内部変数のwn
t|t(i)を設定する。
【0169】
そして、事後確率分布推定部6は、推定(取得)した事後確率分布(事後確率分布データ)を、状態推定装置1000から出力するとともに、事前確率分布出力部7に出力する。
【0170】
なお、事後確率分布推定部6は、事後確率分布データS
t|tに従って取得されたM1個のパーティクルのうち、内部変数wn
t|t(i)の値が最大であるパーティクルのベクトルデータ(X
t(i),Y
t(i),W
t(i),H
t(i))を推定結果データとして取得するようにしてもよい。
【0171】
また、事後確率分布推定部6は、以下の処理に推定結果データを取得するようにしてもよい。すなわち、事後確率分布推定部6は、下記(数式5)により、事後確率分布データS
t|tに従って取得されたM1個のパーティクルの内部変数wn
t|t(i)の重み付き平均値wgtを取得する。
【0173】
そして、事後確率分布推定部6は、取得した重み付き平均値wgtを用いて取得したベクトルデータ(wgt×X
t(i),wgt×Y
t(i),wgt×W
t(i),wgt×H
t(i))を推定結果データとして取得するようにしてもよい。
【0174】
事前確率分布出力部7は、事後確率分布推定部6から入力された時刻tにおける事後確率分布(事後確率分布データ)を、次の時刻t+1において、事前確率分布(事前確率分布データ)として、予測部9に出力する。
【0175】
そして、以降、状態推定装置1000では、上記と同様の処理を繰り返される。
【0176】
以上のように、状態推定装置1000では、第1尤度wpと第2尤度wnとを反映させた事後確率分布(事後確率分布データ)S
t|tを取得することができる。つまり、状態推定装置1000では、複数の観測データ(可能性測度データDpおよび必然性測度データDn)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0177】
例えば、
図7に示すように、事後確率分布データS
t|tにより取得されたパーティクルは、それぞれ、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を有しているので、各パーティクルが存在する位置、および、第2尤度wnの値を承継した(反映させた)内部変数wn
t|t(i)を調べることで、当該パーティクル(第1尤度と第2尤度とを反映させた事後確率分布データ)を用いて多様な追跡処理、検出処理を実行することができる。
【0178】
第1実施形態の場合、可能性測度データDpは、第1観測データD1(人に相当する画像領域を抽出した観測データ)と第2観測データD2(動く物体に相当する画像領域を抽出した観測データ)とに対して、加算または論理和演算(OR演算)を行うことで、取得されたデータである。したがって、可能性測度データDpのデータ値(画素値)が大きい部分は、人であるか、動いている物体である可能性が高いことを示している。そして、第1尤度wpは、可能性測度データDpより導出され、第1尤度wpの値に比例する割合で、M1個のパーティクルが復元抽出される。つまり、第1尤度wpの値が大きい部分に、多数のパーティクルが復元抽出(配置)される。これにより、多数のパーティクルが復元抽出(配置)されている部分が、人であるか、動いている物体であることを示す。
【0179】
また、第1実施形態の場合、必然性測度データDnは、第1観測データD1(人に相当する画像領域を抽出した観測データ)と第2観測データD2(動く物体に相当する画像領域を抽出した観測データ)とに対して、乗算または論理積演算(AND演算)を行うことで、取得されたデータである。したがって、必然性測度データDnのデータ値(画素値)が大きい部分は、人であり、かつ、動いている物体である可能性が高いことを示している。そして、第2尤度wnは、必然性測度データDnより導出された値であるので、第2尤度wnの値が大きいということは、当該第2尤度wnを有するパーティクルが、人であり、かつ、動いている物体を追跡しているパーティクルである可能性が高いことを意味する。
【0180】
つまり、状態推定装置1000では、第1尤度wpは、パーティクル数に反映され、第2尤度wnは、各パーティクルの内部変数に反映される。したがって、パーティクルの配置位置、数、パーティクルの第2尤度wnを反映させた内部変数を調べることで、多様な追跡処理、検出処理を実現することができる。第1実施形態では、パーティクルが多く配置されている部分が人である可能性が高く、さらに、パーティクルの第2尤度wnを反映させた内部変数を調べることで、当該パーティクルが存在する画像領域が動いている人である可能性が高いか、否かを検出することができる。すなわち、状態推定装置1000では、第1尤度wpは、パーティクル数に反映され、第2尤度wnは、各パーティクルの内部変数に反映されるので、例えば、パーティクルが多く配置されている部分であり、かつ、当該パーティクルの第2尤度wnの値が大きい部分が、動いている人であると検知することができる。したがって、状態推定装置1000では、多様な物体の検出処理や追跡処理を、適切に行うことができる。
【0181】
このように、状態推定装置1000では、複数の観測データ(可能性測度データDpおよび必然性測度データDn)を取得し、取得した複数の観測データのそれぞれから導出された複数の尤度(第1尤度wpおよび第2尤度wn)を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0182】
≪第1変形例≫
次に、第1実施形態の第1変形例について、説明する。
【0183】
本変形例において、第1実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0184】
図8は、第1実施形態の第1変形例に係る状態推定装置1000Aの概略構成図である。
【0185】
第1変形例の状態推定装置1000Aでは、第1観測取得部1に、第1入力データDin1が入力され、第2観測取得部2に、第2入力データDin2が入力される。つまり、第1実施形態の状態推定装置1000では、1つの入力データDinが、第1観測取得部1および第2観測取得部2に入力されていたが、本変形例の状態推定装置1000Aでは、第1観測取得部1および第2観測取得部2には、別のデータが入力される。この点において、本変形例の状態推定装置1000Aは、第1実施形態の状態推定装置1000と相違する。
【0186】
本変形例の状態推定装置1000Aでは、第1観測取得部1および第2観測取得部2に別のデータを入力することができるので、例えば、第1のセンサー(例えば、可視光用イメージセンサー等)(不図示)により取得した信号(データ)Din1を第1観測取得部1に入力し、第2のセンサー(例えば、赤外光用イメージセンサー等)(不図示)により取得した信号(データ)Din2を第2観測取得部2に入力することができる。これにより、本変形例の状態推定装置1000Aでは、複数の入力データを用いて、複数の観測データを取得し、取得した複数の観測データのそれぞれから導出された複数の尤度を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0187】
≪第2変形例≫
次に、第1実施形態の第2変形例について、説明する。
【0188】
本変形例において、上記実施形態および変形例と同様の部分については、同一符号を付し、詳細な説明を省略する。
【0189】
図9は、第1実施形態の第2変形例に係る状態推定装置1000Bの概略構成図である。
【0190】
第2変形例の状態推定装置1000Bは、
図9に示すように、N個(N:3以上の自然数)の観測取得部を有する。
【0191】
また、本変形例の状態推定装置1000Bは、
図9に示すように、第1実施形態の状態推定装置1000において、可能性測度取得部3を可能性測度取得部3Aに置換し、必然性測度取得部4を必然性測度取得部4Aに置換した構成を有している。
【0192】
第1観測取得部1は、第1のセンサー(不図示)により取得された入力データDin1を入力とし、入力データDin1から、所定の画像特徴量を抽出した第1観測データD1を取得し、取得した第1観測データD1を可能性測度取得部3Aおよび必然性測度取得部4Aに出力する。
【0193】
第2観測取得部2は、第2のセンサー(不図示)により取得された入力データDin2を入力とし、入力データDin2から、所定の画像特徴量を抽出した第2観測データD2を取得し、取得した第2観測データD2を可能性測度取得部3Aおよび必然性測度取得部4Aに出力する。
【0194】
第K観測取得部(K:自然数、3≦k≦N)は、第Kのセンサー(不図示)により取得された入力データDinKを入力とし、入力データDinKから、所定の画像特徴量を抽出した第K観測データDKを取得し、取得した第K観測データDKを可能性測度取得部3Aおよび必然性測度取得部4Aに出力する。
【0195】
可能性測度取得部3Aは、N個の観測取得部により、それぞれ、取得されたN個の観測データを入力とする。可能性測度取得部3Aは、入力されたN個の観測データの2つ以上(全部であってもよい。)のデータについて、第1実施形態と同様に、加算または論理和演算(OR演算)を行うことで、可能性測度データDpを取得する。そして、可能性測度取得部3Aは、取得した可能性測度データDpを尤度取得部5に出力する。
【0196】
必然性測度取得部4Aは、N個の観測取得部により、それぞれ、取得されたN個の観測データを入力とする。必然性測度取得部4Aは、入力されたN個の観測データの2つ以上(全部であってもよい。)のデータについて、第1実施形態と同様に、乗算または論理積演算(AND演算)を行うことで、必然性測度データDnを取得する。そして、必然性測度取得部4Aは、取得した必然性測度データDnを尤度取得部5に出力する。
【0197】
以降の処理は、第1実施形態と同様である。
【0198】
このように、本変形例の状態推定装置1000Bでは、多様な入力データを用いて、複数の観測データを取得し、取得した複数の観測データから導出された複数の尤度を用いて、物体の内部状態を推定することにより、より正確かつロバストに、物体の検出処理や追跡処理を行うことができる。
【0199】
例えば、第1観測取得部1および第2観測取得部2により取得される観測データは、第1実施形態と同様のものとし、第3観測取得部により取得される観測データを、赤外線イメージセンサーを用いて取得した入力データから取得した温度の高い物体を検出した観測データであるとし、上記3つの観測データから必然性測度データDnを取得した場合、当該必然性測度データDnは、人、かつ、移動している物体、かつ、温度の高い物体に相当する画像領域において、大きな画素値となる。そして、本変形例の状態推定装置1000Bでは、当該必然性測度データDnから第2尤度wnを取得する。したがって、本変形例の状態推定装置1000Bにより、取得された事後確率分布データS
t|tに基づいて、第2尤度wnの値が高いパーティクルが多数集中している部分(画像領域)を検出することで、人、かつ、移動している物体、かつ、温度の高い物体を適切に検出することができる。これにより、本変形例の状態推定装置1000Bでは、例えば、人、かつ、移動している物体、かつ、温度の高い物体についての追跡処理や検出処理を適切に行うことができる。つまり、本変形例の状態推定装置1000Bでは、複数の多様な入力データを用いて、複数の観測データを取得し、第1実施形態と同様の処理により、複数の尤度を用いて、物体の内部状態を適切に推定することができる。その結果、本変形例の状態推定装置1000Bでは、より正確かつロバストに、多様な物体の検出処理や追跡処理を行うことができる。
【0200】
なお、本変形例の状態推定装置1000Bにおいて、第1変形例のように、任意の2つ以上の観測取得部に、1つのセンサーから取得された入力データが入力されるようにしてもよい。
【0201】
[他の実施形態]
上記実施形態および変形例を組み合わせて状態推定装置を構成するようにしてもよい。
【0202】
また、上記実施形態(変形例を含む。)では、尤度取得部5が1つである場合について説明したが、これに限定されることはなく、例えば、尤度取得部を、可能性測度データDpから第1尤度wpを取得するための第1尤度取得部と、必然性測度データDnから第2尤度wnを取得するための第2尤度取得部とに分けて構成するようにしてもよい。この場合、閾値処理等を行う場合、第1尤度取得部および第2尤度取得部に、個別の閾値設定等が容易にできるようになる。
【0203】
また、上記実施形態(変形例を含む。)では、尤度を取得するときのパラメータを、i番目のパーティクルの画像上の座標位置(X
t(i),Y
t(i))と、当該座標位置を中心とする幅W、高さHの矩形状の画像領域を決定するための幅W、高さHとし、矩形領域を設定するパラメータとしたが、これに限定されることはない。
【0204】
例えば、尤度を取得するときのパラメータを、i番目のパーティクルの画像上の座標位置(X
t(i),Y
t(i))と、当該座標位置を中心とする半径Rの円状の画像領域を決定するための半径Rとし、円領域を設定するパラメータとしてもよい。
【0205】
また、尤度を取得するときのパラメータを、i番目のパーティクルの画像上の座標位置(X
t(i),Y
t(i))と、当該座標位置を中心とする長軸2A、短軸2Bの楕円状の画像領域を決定するための値A(長軸の長さの半分の値)、値B(短軸の長さの半分の値)とし、楕円領域を設定するパラメータとしてもよい。さらに、長軸と短軸とのなす角度θを楕円領域を設定するパラメータとして追加してもよい。
【0206】
また、上記実施形態で説明した状態推定装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
【0207】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0208】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0209】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0210】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0211】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【0212】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0213】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0214】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。