(58)【調査した分野】(Int.Cl.,DB名)
各々異なる位置にあるときの同一の対象物が同一のカメラにより各々撮影された複数の画像を取得する取得部であって、異なる前記対象物毎に複数の前記画像を取得する取得部と、
前記対象物毎に前記複数の画像及び前記対象物の平均の高さを用いて、前記カメラの設置角度及び設置高を計算する計算部と、
前記計算部が計算した前記設置角度及び前記設置高に対して投票を行う投票部と、
前記投票部が前記投票を行った回数が最も多い前記設置角度及び前記設置高を決定する決定部と、
を備え、
前記計算部は、前記複数の画像に各々写っている前記対象物のある各前記位置と前記カメラの設置位置との3次元空間における位置関係及び前記カメラの設置位置から各前記位置までの各距離の比に基づいて、前記設置角度を計算する設置角度計算部を有する、
ことを特徴とする計算装置。
前記設置角度計算部は、前記複数の画像のそれぞれにおいて前記カメラから垂直方向及び水平方向を2軸とする平面上に射影された光軸に対する各前記位置にある前記対象物の各角度と、前記複数の画像上のそれぞれにおける前記対象物の各長さとを用いて求められる各前記距離の比に基づいて、前記設置角度を計算する
ことを特徴とする請求項1又は2に記載の計算装置。
前記設置角度計算部は、前記複数の画像のそれぞれにおいて前記カメラから垂直方向及び水平方向を2軸とする平面上に射影された光軸に対する前記対象物の垂直方向における一端の位置及び他端の位置の各角度と、前記複数の画像上のそれぞれにおける前記対象物の前記一端の位置から前記他端の位置までの各長さとを用いて求められる各前記距離の比に基づいて、前記設置角度を計算する
ことを特徴とする請求項3に記載の計算装置。
前記計算部は、前記複数の画像の少なくとも1つにおいて前記設置角度を用いて求められる前記画像上の前記カメラの高さと前記画像上の前記対象物の長さとの比及び前記高さを用いて、前記設置高を計算する設置高計算部を更に有する
ことを特徴とする請求項1乃至4のいずれか一項に記載の計算装置。
前記計算部は、前記設置角度と、前記複数の画像に各々写っている前記対象物の垂直方向における一端の位置及び他端の位置のそれぞれについて水平面における各位置座標を用いて求められる前記水平面上の消失点と、前記高さとを用いて、前記設置高を計算する設置高計算部を更に有する
ことを特徴とする請求項5に記載の計算装置。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、この発明にかかる計算装置、計算方法及び計算プログラムの一実施の形態を詳細に説明する。
【0012】
ここで、本実施の形態の計算装置のハードウェア構成について説明する。計算装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、計算装置には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部と、外部装置の通信を制御する通信I/F(interface)とが有線又は無線により各々接続される。また、計算装置には、画像を撮影するカメラが接続され、カメラによって撮影された画像が例えば補助記憶部に記憶されるようにしても良い。また、計算装置には、通信I/Fとして、放送波を受信する受信部が接続され、放送波により搬送された画像が受信部により受信されて主記憶部や補助記憶部に記憶されるようにしても良い。また、計算装置には、通信I/Fとして、ネットワークを介した通信を制御する通信I/Fが接続され、外部装置から送信された画像が通信I/Fを介して受信されて主記憶部や補助記憶部に記憶されるようにしても良い。ネットワークとは、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)又はインターネットなどである。本実施の形態においては、画像がどのようにして主記憶部や補助記憶部に記憶されるかは限定されないが、所定の場所に配設された監視カメラ等のカメラによって撮影された画像であり、主記憶部や補助記憶部に記憶された画像を取り扱うものとする。当該画像は、pixel単位の画素毎に画素値を示す情報である。尚、動画像を取り扱う場合、例えば、フレーム毎の画像(フレーム画像という)について、連続する又は不連続な複数のフレーム画像を対象として取り扱う。
【0013】
次に、このようなハードウェア構成において、計算装置によって実現される各種機能について説明する。
図1は、計算装置50の機能的構成を例示する図である。計算装置50は、画像取得部51と、計算部52と、投票部53と、投票情報記憶部54と、決定部55と、出力部56とを有する。画像取得部51と、計算部52と、投票部53と、決定部55と、出力部56との各機能は、計算装置50の有するCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。投票情報記憶部54は、計算装置50の有する主記憶部や補助記憶部に確保される記憶領域である。
【0014】
画像取得部51は、各々異なる位置にあるときの同一の対象物が同一のカメラにより各々撮影された複数の画像を取得するものであり、異なる対象物毎に複数の画像を取得する。画像取得部51は、当該画像を、上述したように記憶された主記憶部や補助記憶部から読み出すことにより取得する。
【0015】
図2は、対象物が人物であり、当該人物が異なる位置にいるときに同一のカメラにより各々撮影された2つの画像G1,G2を例示する図である。画像G1は、当該人物について3次元空間における垂直方向の一端の位置である頭の位置がQ1であり、垂直方向の他端の位置である足元の位置がQ2であるときの画像であり、画像G2は、当該人物の頭の位置がQ3であり、足元の位置がQ4であるときの画像である。
【0016】
計算部52は、画像取得部51が取得した複数の画像と、人物の平均の高さ(平均身長という)とを用いて、カメラの設置状況として、同一の人物毎に、カメラの設置角度(俯角)及び設置高を計算する。平均身長は、予め定められた値であり、その値は例えば主記憶部や補助記憶部に記憶されているものとする。俯角及び設置高の具体的な計算方法については後述する。
【0017】
投票情報記憶部54は、俯角及び設置高となり得る複数の組を後述の投票値と対応付けて記憶する。例えば、「i=1,2,…,N」として俯角α
i及び設置高H
iについて様々な組が投票値と対応付けられて投票情報記憶部54に各々記憶される。投票値の初期値は「0」である。
【0018】
投票部53は、計算部52が計算した俯角及び設置高の組と最も近似する組に対して投票情報記憶部54において対応付けられている投票値を「1」加算することにより、投票を行う。投票値とは、即ち、俯角及び設置高の組に対して投票部53が投票を行った回数を示す。決定部55は、投票情報記憶部54において対応付けられている投票値が最も大きい俯角及び設置高の組を、求めるべき俯角及び設置高として決定する。投票値が最も大きいとは、即ち、投票が行われた回数が最も多いということである。出力部56は、決定部55が決定した俯角及び設置高を出力する。
【0019】
ここで、投票によって俯角及び設置高を決定する意味について説明する。本実施の形態においては、カメラにより画像を撮影する場所において往来する人物の身長の統計をとった場合、「平均身長の人物がもっとも頻度が多く往来する」という仮説を前提としている。そして、カメラの俯角及び設置高となり得る複数の組(俯角α
i,設置高H
i)を予め用意しておき、計算装置50は、カメラにより撮影される画像に写る人物の身長を、平均身長と仮定して、カメラの俯角及び設置高を計算し、当該俯角及び設置高と同じ又は最も近似する組に対して投票を行う処理を所定回数以上行うことで、投票値の分布を得ることができる。当然、平均身長に近い人が多く往来するため、平均身長から求めた俯角及び設置高に対する投票が多くなる。従って、このような投票によって俯角及び設置高を決定することで、俯角及び設置高を精度高く求めることができる。
【0020】
次に、本実施の形態にかかる計算装置50の行う計算処理の手順について
図3を用いて説明する。計算装置50は、画像取得部51の機能により、1つのカメラにより撮影された1つの画像を取得する(ステップS1)。そして、計算装置50は、ステップS1で取得した画像を解析して、人物の写っている領域(人体領域という)を検出するための人体検出処理を行う(ステップS2)。人体検出処理は周知の技術を用いて行うことができるため、ここではその説明を省略する。次いで、計算装置50は、人体領域を検出できたか否かを判定する(ステップS3)。当該判定結果が否定的である場合(ステップS3:NO)、ステップS1に戻り、計算装置50は、同一のカメラにより撮影された新たな画像を取得する。
【0021】
ステップS3の判定結果が肯定的である場合(ステップS3:YES)、計算装置50は、ステップS1で取得した画像に対して、複数の画像において所定の領域(計測領域という)に写っている人物を同定するための人物追跡処理を行い(ステップS4)、当該画像の計測領域に同一の人物が写っているか否かを判定する(ステップS5)。人物追跡処理は周知の技術を用いて行うことができるため、ここではその説明を省略する。尚、計算装置50が計算処理を行ってから初めてステップS4を行う場合、ステップS3で検出した人体領域に写っている人物を同定対象の人物として、次回以降のステップS1で取得した画像に対してステップS4の人物追跡処理を行って、ステップS5で、当該画像の計測領域に同定対象の人物が写っているか否かを判定する。当該判定結果が否定的である場合(ステップS5:NO)、ステップS1に戻り、計算装置50は、同一のカメラにより撮影された新たな画像を取得する。一方、ステップS5の判定結果が肯定的である場合(ステップS5:YES)、計算装置50は、ステップS3で検出した人体領域について座標を取得してこれを主記憶部に記憶させる(ステップS6)。そして、計算装置50は、同一の人物に対して異なる画像から人体領域の座標を取得した回数を「1」加算する。
【0022】
次いで、計算装置50は、同一の人物に対して異なる画像から人体領域の座標を取得した回数がN(N:2以上の整数)回以上であるか否かを判定する(ステップS7)。当該判定結果が否定的である場合(ステップS7:NO)、ステップS1に戻り、計算装置50は、同一のカメラにより撮影された新たな画像を取得する。ステップS7の判定結果が肯定的である場合(ステップS7:YES)、計算装置50は、ステップS6で主記憶部に記憶させた人体領域の座標及び予め記憶している平均身長を用いて、カメラの設置角度(俯角)を計算する(ステップS8)。また、計算装置50は、同一の人物に対して異なる画像から人体領域の座標を取得した回数を「0」にリセットする。ここで、俯角を計算する方法について
図2,4〜5を用いて説明する。ここでは、
図2の画像G1,G2がステップS1で各々取得され、ステップS6で画像G1からは位置Q1,Q2の座標が取得され、画像G2からは位置Q3,Q4の座標が取得されたとする。
【0023】
図4は、2つの画像に写っている同一人物のいる各位置と、これらの画像を撮影したカメラの設置位置との位置関係を3次元空間であるXYZ空間において示す図である。
図5は、1つの画像に写っている同一人物のいる位置と、これらの画像を撮影したカメラの設置位置との位置関係をXZ平面において示す図である。ここで、垂直方向をZ軸とし、Z軸に対する水平面をX軸及びY軸で構成されるXY平面とする。XZ平面は、垂直方向及び水平方向を2軸とする平面である。Z軸上の座標に対応するカメラの設置高をH
cam(m)とし、人物の高さである身長をH
man(m)とし、カメラの設置角度(俯角)をαとする。人物の身長H
manは、予め定められた上述の平均身長である。画像G1において、カメラの設置位置から人物の足元の位置Q2までの距離をD
2(m)とし、カメラからXZ平面上に射影された光軸に対する位置Q2の角度をρ
z2とし、カメラからXZ平面上に射影された光軸に対する位置Q1の角度をρ
z1とし、XY平面上の消失点をQ
vp(X
vp,Y
vp)とし、画像G1上での見かけの人物の長さ、即ち、位置Q1から位置Q2までの長さをP
12(pixels)とし、これに対し画像G1,G2上での俯角の影響を取り除いた人物の長さをP´
12(pixels)とする。また、画像G2においてカメラの設置位置から人物の足元の位置Q4までの距離をD
4(m)とし、カメラからXZ平面上に射影された光軸に対する位置Q4の角度をρ
z4とし、カメラからXZ平面上に射影された光軸に対する位置Q3の角度をρ
z3とし、画像G2上での見かけの人物の長さ、即ち、位置Q3から位置Q4までの長さをP
34(pixels)とし、これに対し画像G1,G2上での俯角の影響を取り除いた人物の長さをP´
34(pixels)とする。このとき、距離D
2,D
4と設置高H
camとの関係から、以下の式1〜2が導出される。
【0025】
また、距離D
2,D
4と人物の長さP´
12,P´
34とには反比例の関係があることから、以下の式3が成立する。
【0027】
画像G1,G2上での人物の長さP´
12,P´
34はそれぞれ、画像G1,G2上での見かけの人物の長さから、俯角が付いたことによって縮小される影響を取り除いたものであり、以下の式4〜5により求められる。
【0029】
カメラからXZ平面上に射影された光軸に対する位置Q1の角度ρ
z1、当該光軸に対する位置Q2の角度をρ
z2、当該光軸に対する位置Q3の角度をρ
z3及び当該光軸に対する位置Q4の角度をρ
z4はそれぞれ、以下の式6〜9により求められる。尚、imgHeightは、画像の縦幅であり、βvは垂直画角であり、これらは既知である。y
iは位置Qi(i=1〜4)のy座標である。
【0031】
以上の式1〜式9を用いることにより、以下の式10が導出され、俯角αを求めることができる。
【0033】
図3の説明に戻る。計算装置50は、ステップS8で計算した俯角及び予め記憶している平均身長H
manを用いて、カメラの設置高を計算する(ステップS10)。ここで、上述の位置Qi(i=1〜4)のx座標をX
iとし、y座標をY
iとすると、カメラの設置高H
camは、以下の式11により求められる。即ち、カメラの設置高H
camは、画像G1において俯角αを用いて求められる画像G1上のカメラの高さと、画像G1上での人物の長さP
12との比及び平均身長H
manを用いて、求められる。より詳細には、カメラの設置高H
camは、俯角αと、XY平面上の消失点と、ステップS2で取得された人物の身長H
manとを用いて、求められる。尚、消失点のy座標Y
vpは、以下の式12により求められる。即ち、消失点のy座標Y
vpは、画像G1,G2に各々写っている人物の垂直方向における一端の位置Q1,Q3及び他端の位置Q2,Q4のそれぞれについてXY平面における各x座標及びy座標を用いて求められる。
【0035】
以上のようにして、計算装置50は、同一の人物毎に、カメラの俯角及び設置高を計算する。次いで、計算装置50は、投票部53の機能により、ステップS8で計算した俯角及びステップS9で計算した設置高と最も近似する組に対して投票情報記憶部54において対応付けられている投票値を「1」加算することにより、投票を行う(ステップS11)。その後、計算装置50は、M(M:2以上の整数)回以上投票を行ったか否かを判定する(ステップS12)。尚、Mの値は、投票値の分布の信頼性を高めるために必要な値であれば良い。ステップS12の判定結果が否定的である場合(ステップS12:NO)、ステップS1に戻り、計算装置50は、同一のカメラにより撮影された新たな画像を取得する。尚、このとき、計算装置50は、前回のステップS1で取得した画像に写っている人物と異なる人物が写った画像を取得しても良いし、前回のステップS1で取得した画像に写っている人物と同一の人物が新たな対象物として写った画像を取得しても良い。一方、ステップS12の判定結果が肯定的である場合(ステップS12:YES)、計算装置50は、決定部55の機能により、投票情報記憶部54において対応付けられている投票値が最も大きい俯角及び設置高の組を、求めるべき俯角及び設置高として決定する(ステップS13)。
【0036】
図6は、投票値の分布を例示する図である。同図の例では、俯角α
k及び設置高H
kの組が投票値が最も大きいため、俯角α
k及び設置高H
kの値が、求めるべき俯角及び設置高として決定される。
【0037】
図3の説明に戻る。計算装置50は、出力部56の機能により、ステップS13で決定した俯角及び設置高を出力する(ステップS14)。ここで、ステップS14で俯角及び設置高を出力するためのインターフェースの例について
図7を用いて説明する。計算装置50は、各々異なる位置にあるときの同一の対象物が同一のカメラにより各々撮影された複数の画像に対して、
図7に例示される画面を表示部に表示させ、
図3のステップS1〜S13を行い、ステップS14では、ステップS13で決定したカメラの設置角度(俯角)を出力項目K2に表示させると共に、ステップS13で決定した設置高を出力項目K3に表示させる。また、計算装置50は、各々異なる位置のうち、カメラに最も近い位置にあるときの対象物からカメラまでの距離(上述の例ではD
2又はD
4)を出力項目K4に表示させるようにしても良い。
【0038】
以上のような構成によれば、カメラの設置角度及び設置高を実際に計測する手間を掛けずに、当該カメラにより撮影された画像を用いて、自動的かつ容易に計算することができる。また、当該設置角度及び設置高を実際に計測する場合に比べて、計測者の違いによる精度の誤差が生じず、当該設置角度及び設置高を精度高く自動的に計算することができる。
【0039】
ここで、以上のようにして計算されたカメラの設置角度及び設置高の適用例について説明する。上述したように、画像G1において、カメラの設置位置から人物の足元の位置Q2までの距離D
2は、式1により求められた。これにより、カメラの設置されている水平面上の位置から人物の足元の位置Q2までの水平距離D
xyを容易に求めることができる。また、カメラに対して人物のいる方向θを、以下の式13によりに求めることができる。尚、imgWidthは、画像の横幅であり、β
Hは水平画角である。x
iは位置Qi(i=1〜4)のx座標である。
【0041】
以上から、カメラを原点とし、人物のいる地面を平面とした実空間におけるマップ上の人物の位置が分かるようになる。ところで、人物の追跡を画像上で行う場合、画像上で手前に写っている人物と奥に写っている人物とでは、同一速度で移動していても、画像上での見かけの移動量は、大きく異なる。従って、画像上での人物の長さによって、人物を追跡する範囲を変える必要があった。本実施の形態によって、人物のいる地面を平面とした実空間におけるマップ上の人物の位置が分かれば、
図8〜9に例示されるように、画像上での人物の見かけの長さに左右されることなく、人物を追跡する範囲を決定することができる。
【0042】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【0043】
上述した実施の形態において、計算装置50で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【0044】
上述した実施の形態において、カメラの設置角度及び設置高を計算する際に用いる複数の画像に写っている同一の対象物として人物を取り扱ったが、これに限らず、ある程度の長さを有する物体や移動体であっても良い。