以下に説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
本発明の一実施の形態に係る薬剤計数装置は、薬包に封入された薬剤を計数する薬剤計数装置であって、揺動部により揺動されている薬包に封入された薬剤を撮像した動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡について、第1の移動軌跡と他の第2の移動軌跡とを直接結んだ距離である2点間距離と、前記第1の移動軌跡および前記第2の移動軌跡以外の移動軌跡を中継点として前記第1の移動軌跡から前記第2の移動軌跡にたどりつく経路の距離である測地距離とを算出する距離算出部と、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、各移動軌跡が薬剤と薬剤とが接触する部分である節の移動軌跡である度合いを示す節らしさ特徴量を算出する節らしさ算出部と、前記節らしさ算出部が算出した節らしさ特徴量に基づいて、前記薬包に封入された薬剤を計数する計数部とを備える。
この構成によると、揺動部により揺動されている薬剤の動画像から節らしさ特徴量を算出し、節らしさ特徴量に基づいて薬剤を計数している。この節らしさ特徴量は、移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて算出される。このため、薬包の印字面のように静止している部分と、薬剤のように移動している部分とを明確に分離することができる。また、節らしさ特徴量から節の位置が分かるため、薬剤と薬剤とを節の位置で分離することができる。このため、薬包の印字に影響されることなく、正確に薬剤を計数することができる。
好ましくは、前記計数部は、前記距離算出部で算出された測地距離の経路上に位置する移動軌跡の節らしさ特徴量が大きいほど測地距離が変換前と比べて大きくなるような変換を施し、変換後の測地距離に基づいて移動軌跡をクラスタリングすることにより、クラス数を薬剤の個数として薬剤を計数する。
この構成によると、異なる薬剤の接触部分を節とみなし、節を経由する測地距離を有する移動軌跡間については、距離が遠くなる変換を行うことができる。これにより、接触した異なる薬剤をより別のものとして計数し易くなるため、正確に薬剤を計数することができる。
具体的には、動きの類似度をあらわす移動軌跡間の距離を求めることにより、異なる動きをする薬剤同士を別の薬剤として、分離して計数する。
特に、薬剤のように複数の剛体が接触し、似た動きで移動する場合には、分離が困難になるため、接触した薬剤間には、それぞれが別の薬剤と分離されやすくなるような重みを移動軌跡の類似度にかけた上で、薬剤の計数を行なうことで、隣接した薬剤であっても同一の薬剤として誤計数されることを防ぐ。具体的には、薬剤の接触部位を、擬似的に関節とみなして検出し、移動軌跡間距離の重み付けをすることで、接触した薬剤が同一の薬剤として誤計数されることを防ぐ。擬似関節の位置は、移動軌跡間距離の時間変化に基づき求めることができるため、異なる薬剤が接触している位置を動きに基づき求めることができる。
なお、本明細書において、「関節状動き」とは、人の関節動きに代表されるような動きのことをさす。従来の薬剤計数手法では、このような関節状の動きを呈し、似た動きをする接触した薬剤は、同一の薬剤として誤って計数される場合が多い。
この構成によると、移動軌跡間の測地距離の時間変化と2点間距離の時間変化とに基づいて、同一の薬剤として誤計数されやすい接触する薬剤間において、接触部位を擬似関節として抽出することで、異なる薬剤として正しく計数することができる。
また、上述の薬剤計数装置は、さらに、前記動画像から、前記動画像に含まれる第1ピクチャにおける薬剤の領域と、複数の薬剤により形成される領域中の穴とを計数する穴領域計数部と、前記節らしさ特徴量に基づいて、前記第1ピクチャにおける節を計数する節計数部とを備え、前記計数部は、前記第1ピクチャにおける領域の個数、穴の個数および節の個数から、前記薬包に封入された薬剤を計数しても良い。
これらから、トポロジカルに薬剤を計数することができる。つまり、薬剤の大きさ等に依存せずに正確に薬剤を計数することができる。
また、上述の薬剤計数装置は、さらに、前記計数部により計数された薬剤の個数と、処方された薬剤の個数とを比較し、比較結果を出力する薬剤数比較部を備えても良い。
この構成によると、比較結果に基づいて、使用者である薬剤師は薬剤数が誤っている薬包を知ることができる。このため、薬剤師は、薬包全てを確認する必要なく、誤っている薬包に対してのみ対処を行なえばいいので、負担が軽減される。
また、上述の薬剤計数装置は、さらに、前記薬剤数比較部が、前記計数部により計数された薬剤の個数と、処方された薬剤の個数とが異なることを示す比較結果を出力した場合に、薬剤計数装置を停止させるための信号を発生する停止信号発生部を備えても良い。
好ましくは、前記節らしさ算出部は、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合いである関節らしさを表す関節特徴量を算出する特徴量算出部と、前記特徴量算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、1つの薬剤を1つの剛体であるとみなした場合に、前記第1移動軌跡および前記第2移動軌跡が同一剛体上に存在し、前記第1移動軌跡および前記第3移動軌跡が同一剛体上に存在し、かつ前記第2移動軌跡および前記第3移動軌跡を含む領域同士が同一の節を介して接続されているほど、前記第1移動軌跡が節領域に含まれる可能性が高いと判断される節らしさ特徴量を算出する関節特定部とを含む。
また、前記関節特定部は、さらに、算出した前記節らしさ特徴量から節領域を特定しても良い。
また、前記関節特定部は、前記ピクチャ上における、算出した前記節らしさ特徴量の極大値を節として特定しても良い。
また、前記関節特定部は、着目する移動軌跡を除く前記複数の移動軌跡の中から移動軌跡のペアを複数選択し、選択したペアごとに、前記着目する移動軌跡を前記第1移動軌跡とし、当該移動軌跡のペアを前記第2移動軌跡および前記第3移動軌跡としたときの前記関節特徴量を加算することにより、前記着目する移動軌跡の節らしさ特徴量を算出し、算出した前記節らしさ特徴量から前記着目する移動軌跡が含まれる領域が節領域か否かを判定しても良い。
この構成によると、全ての移動軌跡ペアについて処理を行って、節領域を求めることもできる。
また、前記関節特定部は、前記特徴量算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、前記任意の移動軌跡のペアが同一剛体上に存在するか否かを判断することにより同一剛体に含まれる移動軌跡を特定した後、前記第1移動軌跡および前記第2移動軌跡が同一剛体上に存在し、前記第1移動軌跡および前記第3移動軌跡が同一剛体上に存在し、かつ前記第2移動軌跡および前記第3移動軌跡が同一の節を介して接続されているときの前記第1移動軌跡が含まれる領域を節領域として特定しても良い。
このようにすることで、効率よく関節の特定を行うことができる。
また、前記関節特定部は、前記特徴量算出部が算出した前記任意の移動軌跡間の関節特徴量が所定の閾値以下となる移動軌跡のみを用いて、前記特徴量算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、前記任意の移動軌跡のペアが同一剛体上に存在するか否かを判断することにより同一剛体に含まれる移動軌跡を特定した後、前記第1移動軌跡および前記第2移動軌跡が同一剛体上に存在し、前記第1移動軌跡および前記第3移動軌跡が同一剛体上に存在し、かつ前記第2移動軌跡および前記第3移動軌跡が同一の節を介して接続されているときの前記第1移動軌跡が含まれる領域を節領域として特定しても良い。
このようにすることで、効率よく関節の特定を行うことができる。
また、前記任意の移動軌跡間の測地距離の時間変化は、あらかじめ定めた一連の処理フレームセットにわたる測地距離の時間変化の絶対値和であっても良い。
複数フレームにわたる時間変化を用いるため、より確実に移動軌跡間距離の時間変化を捉えることができる。
また、前記任意の移動軌跡間の2点間距離の時間変化は、あらかじめ定めた一連の処理フレームセットにわたる2点間距離の時間変化の絶対値和であっても良い。
複数フレームにわたる時間変化を用いるため、より確実に2点間距離の時間変化を捉えることができる。
また、前記特徴量算出部は、前記任意の移動軌跡間の測地距離の時間変化を、前記任意の移動軌跡間の2点間距離の時間変化で除した値に基づいて、前記任意の移動軌跡間の関節特徴量を算出しても良い。
この構成によると、単純な式で関節らしさを表現することができる。なお、2点間距離の時間変化が0の場合、関節特徴量が無限大になることを防ぐためにエラー値を設定しておくとよい。
また、前記特徴量算出部は、前記測地距離の時間変化と前記2点間距離の時間変化と前記関節特徴量との対応関係を示したデータテーブルを参照することにより、前記任意の移動軌跡間の関節特徴量を算出しても良い。
実験などにより、あらかじめデータテーブルを作成しておくことで、より精度よく節領域を特定することができる。
また、前記特徴量算出部は、前記任意の移動軌跡間について、前記測地距離の時間変化があらかじめ定めた測地距離閾値よりも小さく、かつ前記2点間距離の時間変化があらかじめ定めた2点間距離閾値よりも大きい場合に、前記関節特徴量を1として算出し、前記測地距離の時間変化があらかじめ定めた測地距離閾値以上の場合、または前記2点間距離の時間変化があらかじめ定めた2点間距離閾値以下の場合に、前記関節特徴量を0として算出しても良い。
適切に測地距離閾値および2点間距離閾値を設定することにより、簡易に関節特徴量を算出することができる。
また、前記特徴量算出部は、さらに、縦軸および横軸を移動軌跡のペアの2点間距離の時間変化および測地距離の時間変化とするグラフにおいて、2点間距離の時間変化および測地距離の時間変化が等しくなる直線からの、着目する移動軌跡のペアである着目ペアの2点間距離の時間変化および測地距離の時間変化までの距離に基づいて、当該着目ペアが同一の剛体に含まれる程度を示す同一剛体特徴量を算出しても良い。
同一剛体特徴量を用いることにより、関節を正確に特定することができる。
なお、本実施の形態に係る薬剤計数装置は、各処理部をハードウェアにより構成することにより実現されるだけでなく、上記各処理部をステップとする薬剤計数方法として実現したり、薬剤計数方法を、コンピュータ上のプログラムによって実現したり、そのプログラムを格納したCD−ROM等のコンピュータ読み取り可能な記録媒体、動画像において動きをもつオブジェクトの領域を抽出、または、分割する画像処理装置等として実現することもできる。
(実施の形態1)
以下、本発明の実施の形態1について、図面を用いて説明する。
図1は、実施の形態1における薬剤計数装置の構成を示す図である。図1に示すように、薬剤計数装置100は、画像入力部101と、移動軌跡算出部102と、薬剤計数部103とを備える。
薬剤計数装置100は、動画像中、或いは複数の画像中の薬剤を構成する複数の領域にそれぞれ対応する複数の移動軌跡に基づき、画像中の薬剤を計数する、薬剤計数装置である。
本実施の形態では、薬剤計数装置100は、カメラ120で撮影した動画像を入力として受け、薬包中の薬剤同士が接触して動く部分を関節(節)とみなし(擬似関節)、各移動軌跡間の類似度を表す距離に基づいて画像中の当該擬似関節位置を求める。また、動きが異なる、或いは動きが類似していても、擬似関節で接触するような薬剤をより別の薬剤にするような距離変換を施すことで、正しく薬剤を計数する。なお本明細書中では、ピクチャのことを画像ともいう。
画像入力部101は、動画像を構成する複数枚のピクチャの入力を受け付ける処理部であり、例えば、画像入力部101は、カメラ120であってもよいし、カメラ120と接続された通信インタフェース等であってもよい。なお、画像入力部101は、記憶装置に記憶されている動画像を読み出すインタフェースであっても良い。図1には、カメラ120と接続された通信インタフェースとしての画像入力部101を示している。
移動軌跡算出部102は、画像入力部101で受け付けられたピクチャを構成する1個以上の画素からなるブロックごとに、動画像を構成する時間的に隣接する2枚のピクチャ間での当該ブロックの動きを検出し、検出した動きを前記複数枚のピクチャについて連結することで、複数の移動軌跡を算出する。ピクチャ間の対応点は、ピクチャの1画素ごとに対応点を求めてもよいし、ピクチャ内の隣接する複数の画素(ブロック)ごとに1つの対応点を求めるとしてもよい。本明細書では、ある対応点が、1画素ごとに求められたか、複数の画素に対して1つ求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
薬剤計数部103は、移動軌跡算出部102で求められた移動軌跡をもとに、移動軌跡間距離(2点間距離または測地距離)の時間変化に基づいて、擬似関節である薬剤接触領域に基づき薬剤計数する処理部である。薬剤計数部103は、距離算出部104、節らしさ算出部105、および分離計数部107を備える。
距離算出部104は、移動軌跡間の類似度を表す距離を算出する処理部である。つまり、距離算出部104は、第1の移動軌跡と他の第2の移動軌跡とを直接結んだ距離である2点間距離と、第1の移動軌跡および第2の移動軌跡以外の移動軌跡を中継点として第1の移動軌跡から第2の移動軌跡にたどりつく経路の距離である測地距離とを算出し、算出した2種類の距離を節らしさ算出部105へ出力する。また、各移動軌跡ペア(全ての第1の移動軌跡および第2の移動軌跡のペア)について、前述の2種類の距離、および測地距離の経路として経由する移動軌跡のインデクスを、それぞれ距離経路データ106として分離計数部へ出力する。
本実施の形態では、距離算出部104は、移動軌跡算出部102で求めた複数の移動軌跡から、T枚(T>=2)のピクチャ間にわたる対応点であるN個の移動軌跡を抽出し、抽出した移動軌跡より、移動軌跡間の類似度を表す2点間距離および測地距離を算出する。
なお、本明細書における2つの移動軌跡間の「距離」は、対応する2次元画像空間における2点の間の距離だけでなく、後述するように多次元のデータ間の算術的な距離を含む。なお、一般的に距離と類似度は相反する関係がある。すなわち、2つのデータ間の距離が小さい場合、類似度が高く、逆に2つのデータの距離が大きい場合、類似度が低いものとする。
また、本明細書において「2点間距離」および「測地距離」の2種類の距離を定義しているが、「2点間距離」は2つのデータ間のみから求められる距離のことを指し、「測地距離」は、後述するように2つのデータ以外の点を経由することで求められる距離のことを指す。
なお、本明細書における「2点間距離」は、移動軌跡間のピクチャ座標における位置、速度、加速度等といった幾何的な類似度を表す指標となる距離であり、必ずしも線形距離である必要はない。「2点間距離」の代表的なものとして本明細書では「ユークリッド距離」を以降説明のため用いる。前記の距離の詳細な例については、距離算出部104の説明の部分にて後述する。
節らしさ算出部105は、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、各移動軌跡が薬剤と薬剤とが接触する部分である節の移動軌跡である度合い(節の移動軌跡らしさ)を示す節らしさ特徴量を算出する。節らしさ算出部105は、特徴量算出部108および関節特定部109を備える。
特徴量算出部108は、距離算出部104で算出された測地距離、ユークリッド距離のそれぞれについて、距離の時間変化を求め、求めた距離の時間変化に基づき、各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合いである関節らしさを表す関節特徴量を算出する。つまり、特徴量算出部108は、任意の2つの移動軌跡間のユークリッド距離の時間変化および測地距離の時間変化に基づいて、2つの移動軌跡が同一の関節により接続された関節状動きを行う移動軌跡でありそうな度合い(関節特徴量)を算出し、後段に出力する。
関節特定部109は、移動軌跡間の関節特徴量に基づいて、同一の剛体に属する移動軌跡を特定し、特定した剛体の情報に基づいて、節らしさ特徴量を算出し、関節(節、節領域)の位置を特定する。
分離計数部107は、節らしさ算出部105が算出した節らしさ特徴量に基づいて、薬包に封入された薬剤を計数する。分離計数部107は、距離変換部110およびクラスタリング部111を備える。
距離変換部110は、距離経路データ106より各移動軌跡間距離、および測地距離の経路上の移動軌跡を読み出し、関節特定部109の処理で求められた各経路上の移動軌跡の節らしさ特徴量に応じて、各移動軌跡間距離を変換する。すなわち、接触した異なる薬剤を関節とみなし、関節を経由する距離を有する移動軌跡間については、より移動軌跡間距離が遠くなるような変換を行うことで、接触した異なる薬剤をより別のものとして計数されやすくする処理を行う。
クラスタリング部111は、距離変換部110によって距離変換された移動軌跡間距離に対し、類似した移動軌跡を一つの領域と分類するクラスタリング処理を行い、クラス数を薬剤数として出力する。
本明細書において、「領域抽出」とは、ある特定の対象物が存在する画像領域を抽出する検出技術と、対象物が何であるかの区別なくピクチャ中の領域を分割する領域分割技術との、両者を含んでいる。検出技術と領域分割技術とは共通する部分が多いため、本明細書においては両者を区別しない。
図2Aは、図1に示した薬剤計数装置100にディスプレイ130を接続したシステム構成を示す図である。このシステムでは、薬剤計数部103が計数した薬剤数をディスプレイ130に表示する。
図2Bは、図1に示した薬剤計数装置100にスピーカ135を接続したシステム構成を示す図である。このシステムでは、薬剤計数部103が計数した薬剤数をスピーカ135が音声で出力する。
図2Cは、図1に示した薬剤計数装置100に薬剤数比較部114および停止信号発生部140を接続したシステム構成を示す図である。薬剤数比較部114は、薬剤計数部103により計数された薬剤の個数と、処方された薬剤の個数とを比較し、比較結果を出力する。停止信号発生部140は、薬剤数比較部114が、薬剤計数部103により計数された薬剤の個数と、処方された薬剤の個数とが異なることを示す比較結果を出力した場合に、薬剤計数装置100を停止させるための信号を発生する。
なお、薬剤計数装置100を構成する各構成要素(画像入力部101、移動軌跡算出部102、薬剤計数部103)は、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路または集積回路等のハードウェアで実現されてもよい。図3Aは、コンピュータによって構成された本実施の形態における薬剤計数装置のハードウェア構成を示す図である。図3Aは、図2Aに示したシステムに含まれる薬剤計数装置100のコンピュータによるハードウェア構成を示す。図3Aにおいて、カメラ120は薬包のピクチャを撮影して出力し、コンピュータ200は、カメラ120からピクチャを取得して薬剤計数処理を行った結果をディスプレイ130上に表示する。コンピュータ200は、I/F201、CPU202、ROM203、RAM204、HDD205およびビデオカード206を含む。コンピュータ200を動作させるプログラムは、ROM203またはHDD205にあらかじめ保持されている。プログラムは、プロセッサであるCPU202によって、ROM203またはHDD205からRAM204にロードされる。CPU202はRAM204にロードされたプログラム中のコード化された各命令を実行する。I/F201は、プログラムの実行に応じて、カメラ120で撮影されたピクチャを、RAM204へ取り込む。ビデオカード206は、プログラムの実行に応じて生成されたピクチャを出力し、ディスプレイ130がそのピクチャを表示する。
なお、コンピュータプログラムは、半導体であるROM203またはHDD205に限られず、例えばCD―ROMに格納されていてもよい。また、有線や無線のネットワーク、放送などを介して伝送され、コンピュータのRAM204にロードされてもよい。
図3Bおよび図3Cは、図2Bおよび図2Cに示したシステムに含まれる薬剤計数装置100のコンピュータによるハードウェア構成を示す。各システムの薬剤計数装置100のハードウェア構成は、図3Aに示したものと同一である。このため、その詳細な説明はここでは繰り返さない。
以下、本実施の形態における薬剤計数装置100の動作を、図4を用いて説明する。
図4は、本実施の形態における薬剤計数装置100の動作を表すフローチャートである。
図4において、ステップS301〜S311は、それぞれ図1の各処理部101〜111に対応している。すなわち、画像入力部101では画像入力ステップS301、移動軌跡算出部102では移動軌跡算出ステップS302、薬剤計数部103では薬剤計数ステップS303の各動作を実行する。また、薬剤計数ステップS303は、距離算出ステップS304、節らしさ算出ステップS305、分離計数ステップS307の4つのステップを含む。距離算出部104では距離算出ステップS304、節らしさ算出部105では節らしさ算出ステップS305、分離計数部107では分離計数ステップS307、の各動作を実行する。また、節らしさ算出ステップS305は、特徴量算出ステップS308、関節特定ステップS309の2つのステップを含む。特徴量算出部108では特徴量算出ステップS308、関節特定部109では関節特定ステップS309の各動作を実行する。また、分離計数ステップS307は、距離変換ステップS310、クラスタリングステップS311の2つのステップを含む。距離変換部110では距離変換ステップS310、クラスタリング部111ではクラスタリングステップS311の各動作を実行する。
最初に、画像入力ステップS301が、画像入力部101により実行される。つまり、画像入力部101は、カメラ120から、動画像を構成する複数のピクチャを取得する。本実施の形態では、カメラ120から取得される動画像は30フレーム/秒の動画像である。
図5は、撮影状況、および撮影される薬包の画像の一例を示す図である。薬剤計数装置100は、薬包内に薬剤を封止する薬剤封止システムに設置されている。薬包を複数連ねた薬包シートを送り出すベルトコンベア400上部などにカメラ120が設置される。薬剤計数装置100は、カメラ120により取得した移動する薬包の動画像に対して薬剤計数処理を行う。また、ベルトコンベア400の下部や横部等には揺動機構1120が設置され、タイミング制御部112からカメラ撮影タイミングに依存する形で、ベルトコンベア400の揺動タイミングが指示される。指示に従い揺動機構1120は、ベルトコンベア400を振動させることにより、カメラ120の撮像対象となっている薬包に封入された薬剤を揺動させる。
揺動機構1120は、ベルトコンベア400を実際に揺らすための物理的な機構であり、一般的にはモータおよび電気回路等により構成される。
カメラ120は、揺動機構1120によって揺動されている薬包に封入された薬剤を撮像することにより動画像を撮像する。図5にカメラ120により撮像された動画像に含まれるピクチャ121の一例を示す。ピクチャ121にも示されるように、薬包に封止される薬剤の種類は多種多様である。また、背景やビニール上の印字も複雑なため薬剤との分別が困難であることがわかる。
次に、移動軌跡算出ステップS302は、移動軌跡算出部102により実行される。つまり、移動軌跡算出部102は、画像入力部101から複数のピクチャを入力として受け、ピクチャ間の対応点を検出して、移動軌跡を生成して出力する。複数のピクチャ間の対応点を求める手法として、ここでは1フレームのピクチャ上における全ての画素(I個)を基準として、2フレームからTフレームまでの(T−1)枚のピクチャ上の対応する画素を求める。
以下、本実施の形態では、画素単位の処理について説明するが、複数の画素からなるブロック単位で処理をする場合には、(i)ブロック内で画素値を合計したり、(ii)ブロック内の画素値の平均値を求めたり、(iii)ブロック内の画素値の中央値を求めたりすることで、ブロックに対応するデータ(代表値)を求め、得られた代表値を用いて画素単位の処理と同様に処理すればよい。
例えば、ステップS301にてT枚のピクチャが入力されたと仮定すると、移動軌跡算出部102は、時刻tと時刻t+1に入力された2枚のピクチャを用いて、画素iの動きベクトル(ut i,vt i)を推定する。ここでは、必ずしもフレームが連続している必要はなく、例えば、時刻tと時刻t+nに入力された2枚のピクチャを用いて画素の動きを求めてもよい。ただし、nは1以上の整数である。
上記した複数のピクチャ間の対応点を算出する具体的な手法としては、非特許文献1または非特許文献2などに開示されている方法を用いてもよい。ともに、オプティカルフローを計算することにより動きベクトルを算出する手法であり、非特許文献1は階層的なブロックマッチングをベースに、オプティカルフローを算出する。画素間の滑らかさを拘束条件とするため、隣り合うオプティカルフロー間で動きベクトルが滑らかに変化するようなオプティカルフローを得る。特に急峻な動きや遮蔽がない場合に効率的かつ正確な対応点が求められる。また、推定の信頼度を計算できるため、後述するように、信頼度がある閾値より低い対応点を以降の処理より除くことで、全動きベクトルに対する誤った動きベクトルの割合を低減でき、より正確な関節領域の推定を行えるという効果がある。
これに対して、非特許文献2はグラフカットベースのオプティカルフロー算出手法であり、計算コストは高いが、正確な対応点がピクチャ上で密に求められる。また、この手法によると、オクルージョンの領域も推定できるため、後述するようにオクルージョン領域に位置する対応点を以降の処理より除くことで、全動きベクトルに対する誤った動きベクトルの割合を低減でき、より正確な関節領域の推定を行えるという効果がある。さらなる詳細は各文献に記載されているため、その詳細な説明は省略する。
さらに、移動軌跡算出部102は、画素の動きとして、前記動きベクトルの代わりにアフィンパラメータを推定してもよい。この時、すべての画素について動き情報を求めてもよい。また、より高速に処理を行いたい場合には、ピクチャをグリッドに区切って一定間隔のグリッド上の画素についてのみ動き情報を求めてもよいし、上述したように、ピクチャをブロックに区切ってブロックごとに動き情報を求めてもよい。
さらに、非特許文献1の開示技術を用いて動きベクトルを算出する場合は、前述したようにその信頼度を計算することができるため信頼度の高い動き情報を持つ画素のみを用いてもよい。また、非特許文献2の開示技術を用いて動きベクトルを算出する場合は、前述したようにオクルージョンを推定することができる。そのため、遮蔽(しゃへい)されていない画素の動き情報のみを用いてもよい。
さらに、画素の動きを算出する手法として、前記したブロックの並進移動を仮定して動きベクトルを算出する方法の代わりに、ブロックのアフィン変形を仮定して動きベクトルを算出する方法を用いてもよい。アフィン変形を仮定して動きベクトルを算出する方法は、非特許文献3の開示技術を用いて実現することができる。
Jianbo Shi and Carlo Tomasi "Good Features to Track", IEEE Conference on Computer Vision and Pattern Recognition,pp593−600,1994
上記手法では、時刻tと時刻t+1に入力されたピクチャの画素i近傍の動きに相当するアフィンパラメータAt iを推定する。画素iについて、時刻tと時刻t+1におけるピクチャ上での画素位置xt iとxt+1 iは式1に示す関係がある。
上記手法では、特に回転運動をする物体に対して、並進移動を仮定して動きベクトルを算出する手法を用いる場合よりも、高精度に画素iの動きを推定することができる。
そして、移動軌跡算出部102は、時間的に異なるT枚のピクチャ間で算出された前記画素の対応点から移動軌跡iを算出する。以下、画素iの移動軌跡を、移動軌跡iと呼ぶこととする。図6Aに示すように、移動軌跡算出部102は、各薬剤503a〜503c上の画素の動きを追跡し、各画素の対応点を求める。各画素の対応点を求めることにより、各薬剤上の動きベクトル情報502a〜502cを求める。
つまり、移動軌跡算出部102は、1フレームのピクチャ上のある画素iの座標値(x1 i,y1 i)と、時刻tにおける画素iの対応点の画素座標値(xt i,yt i)とから、式2のように移動軌跡xiを算出する。図6Bは、求められた移動軌跡の一例を示す図である。図6Bでは、t=1〜4の4枚のピクチャを示している。例えば、t=1のピクチャの座標(ax1,ay1)に位置する輝度値aC1の点aが、t=2のピクチャの座標(ax2,ay2)の点に対応し、その点の輝度値はaC2であることが分かる。
本実施の形態において、移動軌跡xiは、1フレームからTフレームまでのT枚のピクチャ間にわたる対応点であるものとする。
移動軌跡算出部102に入力された動画像は、複数枚のピクチャで構成される。このとき移動軌跡は、1フレームのある画素にそれぞれ対応する、2フレームからTフレームのピクチャ上の対応点の集まりである。移動軌跡は、各ピクチャのピクチャ座標値を要素とするベクトルで表される。
なお、移動軌跡算出部102においてピクチャ間の対応点を求める際、ピクチャの全ての画素ごとに対応点を求める代わりに、ピクチャ内の隣接する複数の画素(ブロック)ごとに対応点を求めるものとしてもよい。本明細書において、ある対応点が1画素ごとに求められたものか、または複数の画素に対して1つの対応点が求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
距離算出ステップS304は、距離算出部104によって実行される。距離算出部104は、移動軌跡算出部102が算出した複数の移動軌跡xiを用いて、移動軌跡間の類似性を表す距離を算出する。また、距離算出部104は、算出したそれぞれの移動軌跡間距離、さらに、移動軌跡間測地距離が辿る経路上の移動軌跡の情報を、距離経路データ106として距離変換部110へ出力する。
以下、距離算出部104における処理について説明する。
距離算出部104は、画素iの移動軌跡と画素jの移動軌跡との間のユークリッド距離f(i,j)および測地距離g(i,j)を段階的に算出する。ここで、ユークリッド距離、測地距離はともに、移動軌跡の類似性を表す距離であるため、全く等しい移動軌跡間ではどちらも0となり、逆に移動軌跡間の類似性が低いほど、正のより大きな距離値(∞含む)をとるような距離である。
距離算出部104は、式3により、画素iの移動軌跡と画素jの移動軌跡とのユークリッド距離f(i,j)を算出する。
ここで式3によって算出されるユークリッド距離f(i,j)は、表記の都合上、全ての移動軌跡間について定義したが、ユークリッド距離として有限な値となるのは、N個の移動軌跡xiの間でのみとなる。
なお、本実施の形態におけるユークリッド距離は、式3によって算出するとしたが、この式に限定するものではない。ユークリッド距離は、式3と同様に、移動軌跡間のピクチャ座標における位置、動き、加速度、回転速度などのような、幾何的な類似度を表す指標であればよく、例えば、下記の式4を用いてもよい。
式4において、wは重み係数であり、設計者が設定するパラメータである。上記式4の移動軌跡間のユークリッド距離f(i,j)は、移動軌跡間におけるピクチャ座標の距離の時間平均に、ピクチャ座標の距離の時間変動成分を加えたものである。特に移動軌跡間距離の時間変動成分は、移動軌跡の動きの類似度を示すものであり、これによって、形状変化を伴うような場合でも、より正確に移動軌跡間の類似度を捉えることができる。
以上の手順で算出した移動軌跡間のユークリッド距離f(i,j)の集まりを、ユークリッド距離マトリクスFdistとして表す。
続いて、距離算出部104は、移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。
以降、距離算出部104において、ユークリッド距離f(i,j)から測地距離g(i,j)を算出する動作を詳しく説明する。
まず、距離算出部104は、算出したユークリッド距離f(i,j)に対してあらかじめ定められた閾値Rを用いて、式6で示される非線形化された距離f´(i,j)を算出する。
次に、距離算出部104は、非線形化された距離f´(i,j)から、測地距離を算出する。「測地距離」とは、ある空間に定義された複数のデータ点について、それらのデータ点間の接続、および接続されたデータ点間の距離が得られているときに、ある2つのデータ点間を結び得る全ての経路の距離のうちの最短の距離である。
したがって、距離算出部104は、第iの移動軌跡xiから第jの移動軌跡xjまでの測地距離の算出においては、他の複数の移動軌跡のいずれかを中継点として第iの移動軌跡xiから第jの移動軌跡xjに辿りつく全ての経路のうちの最短の経路を、測地距離として算出する。
例えば、移動軌跡xiと移動軌跡xjの2点間を直接結ぶノードの距離f´(i,j)が得られているとする。このとき移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は、2点を直接結ぶノード以外に、別の移動軌跡xsを中継する経路もある。この経路の距離をf´(i,s)+f´(s,j)とする。このような移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は複数あり、それらの距離のうちで最も短い距離を測地距離g(i,j)として算出する(式7)。
式7において、min(x,y,…)は、値xと値yなどのうち最も小さい値を返す関数である。また、sは、移動軌跡xsであり、移動軌跡xiから移動軌跡xjに辿(たど)りつくための中継点である。ここで、f´(i,s)+f´(s,j)における中継点sは1点に限るものではない。
上述した測地距離の算出における2点間の最短経路を探索する手法の詳細は、例えば非特許文献4のダイクストラ法が広く知られているため、ここでは処理手順の詳細説明を省略する。
上記した手順により、距離算出部104は、長時間継続する移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。
また、算出した測地距離g(i,j)は、最短経路を通った際の距離である。したがって、ある測地距離に対応する最短経路上の中継点sが、各移動軌跡間に対し1パターン求められる(中継点が存在しない場合も含む。)。距離算出部104は、各測地距離に対する中継点のインデクスを、距離経路データ106として分離計数部107へ渡す。
図7Aに様々な剛体の動きに伴う移動軌跡の一例を示し、図7Bおよび図7Cに距離経路データ106の一例を示す。図7Aのように、4フレームにわたる対応点の組が4つ存在するとする。図7Aでは、t=t1〜t4の4枚のピクチャを示している。例えば、t=t1のピクチャの座標(x1t1,y1t1)の点は、移動軌跡を辿ることにより、t=t4のピクチャの座標(x1t4,y1t4)の点に対応していることが分かる。ここで、(xjti,yjti)は、t=tiのフレームにおけるj番目(index=j)の移動軌跡の点を示している。
また、距離経路データ106は、ある2つのインデクスに対応する移動軌跡間の移動軌跡間距離および中継点のインデクス番号を含む。具体的には、距離経路データ106は、図7Bに示す距離経路インデクスデータ106aと、図7Cに示す各移動軌跡インデクスが対応する移動軌跡の座標を保持する移動軌跡リストデータ106bとを含む。
図7Bに示す距離経路インデクスデータ106aは、軌跡長と、軌跡数と、移動軌跡のペア毎の移動軌跡間距離と中継点のインデクス番号とを含む。軌跡長は動画像に含まれる移動軌跡の長さ(フレーム数)を示し、図7Aの例では4である。また、軌跡数は動画像に含まれる移動軌跡の数を示し、図7Aの例では4である。また、例えば、1番目の移動軌跡と4番目の移動軌跡との間の移動軌跡間距離は、3.7であり、1番目の移動軌跡と4番目の移動軌跡との間に中継点として3番目の移動軌跡が存在することが示されている。
図7Cに示す移動軌跡リストデータ106bは、軌跡長と、軌跡数と、移動軌跡とを含む。軌跡長および軌跡数は、図7Bに示したものと同じである。また、移動軌跡には、移動軌跡インデクス毎の移動軌跡の座標が示されている。例えば、1番目の移動軌跡として、図7Cでは「x1t1 y1t1 x1t2 y1t2 x1t3 y1t3 x1t4 y1t4」と示されている。これは、1番目のフレームの座標(x1t1,y1t1)の点、2番目のフレームの座標(x1t2,y1t2)の点、3番目のフレームの座標(x1t3,y1t3)の点、4番目のフレームの座標(x1t4,y1t4)の点を繋げたものが1番目の移動軌跡であることを示す。
距離経路インデクスデータ106aおよび移動軌跡リストデータ106bは、それぞれ別のデータとして分離計数部107に受け渡されてもいいし、一つのデータとしてまとめて(例えば、1つ目の距離経路データの後ろに2つ目の距離経路データが格納されている形式等で)受け渡されてもよい。また、距離経路データ106の形式は例に挙げた距離経路インデクスデータ106aと、移動軌跡リストデータ106bに限るものではなく、各移動軌跡間の距離を保持すると同時に、測地距離に対応する中継点の移動軌跡を特定できるものであればよい。また、分かりやすさのために、距離経路インデクスデータ106aの例には移動軌跡間距離として測地距離を格納しているが、もちろん2点間の類似度を表す距離であれば測地距離に限らない。
なお、ユークリッド距離と測地距離の最も異なる点は、距離を求める2データ点と、他のデータ点との間の関係である。他のデータ点の状態に左右されることなく、2つのデータ点のみから定義されるのがユークリッド距離であり、それに対して、2つのデータ点、および2つのデータ点間を結び得る経路上にある他のデータ点を含む距離として定義される、すなわち他のデータ点の状態から影響を受ける可能性があるのが測地距離である。
算出した移動軌跡間の測地距離g(i,j)の集まりを、測地距離マトリクスGdistとして表す(式8)。
以上の手順によって、距離算出部104は、N個の移動軌跡間の類似度を表す測地距離g(i,j)を算出し、測地距離マトリクスGdistとして出力する。
上記した複数の移動軌跡間のユークリッド距離から測地距離を算出する処理について、図8A〜図8Cの概念図を用いて説明する。
図8Aは、ピクチャ上の複数の移動軌跡の一例を示す図である。なお移動軌跡は、背景領域においても算出されるが、表記を容易にするため、ここでは背景領域の移動軌跡を図示しないものとする。
図8Bは、各々が式2で示される複数の移動軌跡のデータの分布を示した図である。図8B中の「×」印の各データ点は、式2で示した画素iの移動軌跡xiに相当する。移動軌跡xiは独立したT×2個の変数からなるベクトルである。したがって、移動軌跡は、本来は最大で(T×2)次元空間のデータであるが、図8Bでは表記の都合上、3次元空間の点として表している。
図8B中の矢印601は、式3で得られる移動軌跡xiと移動軌跡xjとの間のユークリッド距離f(i,j)を表す。すなわちデータ点iとデータ点jとのユークリッド距離601は、データ間を直接結んだ距離になる。
一方、図8C中の矢印602は、式7で得られる移動軌跡xiと移動軌跡xjとの間の測地距離g(i,j)を表す。図8Cに示すように、データ点iとデータ点jとの測地距離602は、中継のデータ点sを辿った距離となる。
移動軌跡間のユークリッド距離は、他の移動軌跡の分布をまったく反映していない。このため、関節で繋がった剛体間において、移動軌跡間の距離は、関節の位置や形状を直接は表さずに変動する。これに対して、測地距離は他の移動軌跡を反映した距離となっている。すなわち関節で繋がった剛体間においては、移動軌跡間の距離は、剛体上と変わらず一定の値をとる。つまり、関節における繋がりがあるかどうかは、これら2種類の距離の変動にあらわれる。
なお、距離算出部104において、ユークリッド距離から測地距離を求める手法として、式6および式7を用いる手法を示したが、測地距離の算出方法をこれに限定するものではない。
例えば、あらかじめ定めたK個の閾値Rkの代わりに、あらかじめ定めたK個の閾値Nkを用いる。そして、ユークリッド距離f(i,j)から非線形化した距離f´k(i,j)を求める処理として、以下の処理を行ってもよい。つまり、閾値Rk以上のユークリッド距離f(i,j)を無限大に置き換える式6の処理の代わりに、ある移動軌跡xiと他の(I−1)個の移動軌跡とのユークリッド距離f(i,j)のうちで、小さいほうからNk番目のユークリッド距離よりも大きいユークリッド距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出してもよい。
また、ユークリッド距離を無限大に置き換える処理の代わりに、小さいほうからk番目の移動軌跡とのユークリッド距離よりも大きい移動軌跡とのユークリッド距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出するとしてもよい。
次に、節らしさ算出ステップS305は、節らしさ算出部105によって実行される。節らしさ算出部105は、図1の構成図に示すとおり、特徴量算出部108と関節特定部109とを含み、特徴量算出部108では、移動軌跡間の関節らしさを表す関節特徴量を算出し、関節特定部109は、特徴量算出部108で算出された各移動軌跡ペアの関節特徴量に基づいて、移動軌跡の節らしさ特徴量を算出する。
具体的には、特徴量算出ステップS308において、特徴量算出部108は、まず距離算出部104で算出された測地距離、ユークリッド距離を元に、移動軌跡間でのユークリッド距離の時間変化、および測地距離の時間変化をそれぞれ算出する。続いて、算出したユークリッド距離の時間変化、および測地距離の時間変化に基づいて、移動軌跡ペア間の関節らしさを表す関節特徴量jr、および、前記移動軌跡ペア間の関節特徴量jrから求めることのできる前記移動軌跡ペア間の同一剛体らしさを表す同一剛体特徴量rrを求める。
関節特定ステップS309において、関節特定部109は、移動軌跡ペア間の関節特徴量jrおよび、前記移動軌跡ペア間の関節特徴量jrから求めることのできる同一剛体特徴量rrを利用して、各移動軌跡の節らしさ特徴量Xjntを算出する。
まず、特徴量算出部108において移動軌跡間の「関節らしさ」(各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合い)を表す関節特徴量を算出する方法について説明する。
はじめに、関節状動きを有する剛体領域上に存在する移動軌跡間距離が特徴的に有する性質について述べ、そのあと、特徴量算出部108で実行される処理について説明する。
ここで、第1の移動軌跡と、別の第2の移動軌跡との間で求められる距離を、移動軌跡間距離と定義する。ここで、「距離」とはユークリッド距離、測地距離をともに含む概念であるとする。
図9A〜図9Fは、様々な剛体の動きに伴う、移動軌跡xi、xj間の測地距離g(xi,xj)、およびユークリッド距離f(xi,xj)の時間変化について示した図である。図9Aおよび図9Bは、関節状動きに伴う移動軌跡間距離の時間変化(時刻t=Tから時刻t=T+δへの移動軌跡間距離の変化)を、図9C〜図9Fは、関節状動きではない動きに伴う移動軌跡間距離の時間変化(時刻t=Tから時刻t=T+δへの移動軌跡間距離の変化)を示している。
なお、図9A〜図9Fでは、説明のために、点群(移動軌跡の集まり)について、二つの区別された領域上に示しているが、実際はクラスタリングなどを一切行っておらず、これらの点群がどの領域に属するかといった前処理としての区別は、特徴量算出部108でも、特徴量算出部108より前の処理部でも行っていない。すなわち、実際は2点間の、ペアワイズな処理のみを行うものとする。これにより、関節で接続された移動体の領域抽出を行うことなく、関節の位置を特定することができる。
図9Aおよび図9Bにはそれぞれ、2つの移動軌跡xi、xjが、関節状動きを伴う剛体上にそれぞれ存在する場合の例を示す。それぞれ、移動軌跡間の測地距離およびユークリッド距離の時間変化を分かりやすく示すために、矢印で移動軌跡間距離(移動軌跡間の測地距離およびユークリッド距離)を示している。矢印は、以下の図9C〜図9Fについても同様に移動軌跡間距離を示すものとする。
一方、図9Cおよび図9Dにはそれぞれ、2つの移動軌跡xi、xjが、同一の剛体上にそれぞれ存在する場合の例を示す。見易さのために、2つの移動軌跡xi、xjが存在する領域をそれぞれ異なるハッチングで示しているが、時刻t=Tと、時刻t=T+δにおける領域全体の形状は変化していない。すなわち、同じハッチングで示された領域のみならず異なるハッチングで示された領域は同一の剛体に属するものであり、移動軌跡xi、xjが、同一の剛体上で、剛体動きをしている例を示している。
さらに、図9Eおよび図9Fでは、移動軌跡xi、xjが同一の剛体上になく、また、関節状動きを伴う2剛体上の2点でもない、すなわち図9A〜図9Dいずれの例にも属さない場合の、移動軌跡間距離の時間変化の一例を示す。すなわち移動軌跡xi、xjが異なる移動体に属し、さらに、これらの移動軌跡xi、xjを含む剛体領域が関節状動きを伴わない例を示している。
ここで、まず移動軌跡間の測地距離(図9Aおよび図9Cおよび図9E)に着目する。移動軌跡xi、xjを含む剛体が図9Aのように関節(節領域)を介して接続された関節状領域を構成する場合、移動軌跡xi、xj間の測地距離は、ほとんど変化しない。測地距離は、移動軌跡xi、xjと異なる移動軌跡を経由して移動軌跡を「たどる」距離であるため、ある小領域を支点とする回転動きである関節状動きを有する2領域間では、支点の小領域を経由して移動軌跡を「たどる」距離である測地距離は不変となる。したがって、図9Aの移動軌跡間測地距離g(xi、xj)の時間変化はほぼ一定(ゼロに近い)となる。移動軌跡xi、xjが図9Cのように同一剛体上に存在する場合、移動軌跡xi、xj間の移動軌跡を「たどる」最短経路である測地距離は常に一定であり、明らかに移動軌跡間測地距離g(xi、xj)の時間変化はゼロとなる。
以上の2ケースにあてはまらない場合、図9Eに示した例のように、移動軌跡間測地距離g(xi、xj)の時間変化がゼロとならない場合がほとんどである。以上より、移動軌跡xi、xjを含む剛体が図9Aのように関節状領域を構成する条件として、移動軌跡間測地距離g(xi、xj)の時間変化がほぼ一定(ゼロに近い)となる必要がある。
次に、移動軌跡間のユークリッド距離(図9Bおよび図9Dおよび図9F)に着目する。移動軌跡xi、xjを含む剛体が図9Bのように関節(節領域)を介して接続された関節状領域を構成する場合、移動軌跡xi、xj間のユークリッド距離は、測地距離と異なり、時間に伴い変化する。特に、関節の動きが大きい場合や、関節状領域の節側よりは末端(節から離れる)の方で大きな変化を伴うことは、図からも容易に理解できる。移動軌跡xi、xjが図9Dのように同一剛体上に存在する場合、移動軌跡xi、xj間のユークリッド距離は、測地距離同様常に一定であり、明らかに移動軌跡間ユークリッド距離f(xi、xj)の時間変化はゼロとなる。
以上の2ケースにあてはまらない図9Fの場合、図9Fに示した例のように、移動軌跡間ユークリッド距離f(xi、xj)の時間変化は不定であるが、ゼロではない場合がほとんどである。以上より、移動軌跡xi、xjを含む剛体が図9Bのように関節を構成する条件として、移動軌跡間ユークリッド距離f(xi、xj)の時間変化がゼロではないことが挙げられる。特に、関節の動きが大きいほど、また移動軌跡がそれぞれ関節の節から離れた位置に存在するほど、移動軌跡間ユークリッド距離f(xi、xj)の時間変化がより大きな値をとるといえる。
したがって、2つの移動軌跡が関節を構成する剛体上にそれぞれ存在する条件として、測地距離の時間変化、およびユークリッド距離の時間変化に関する以下の2つの条件が挙げられる。すなわち、「移動軌跡間のユークリッド距離fの時間変化ftが、より大きく」、かつ「移動軌跡間の測地距離gの時間変化gtが、より小さい(ゼロに近い)」ような移動軌跡のペアは、より関節らしいペア(それぞれが関節を構成する剛体上にある移動軌跡らしいペア)と定義することができる。
本明細書において、「関節状動き」とは、それぞれが関節を構成する剛体上にある移動軌跡ペアがなす動きである。ここでは図9Aのような例を典型的な関節状動きの例として説明したが、もちろん前述のような動きであれば、図9Aの例に限らない。
本明細書ではある移動軌跡ペアの動きが、どれくらい「関節状動き」らしいかを「関節らしさ」と定義し、その「関節らしさ」を表す関節特徴量を特徴量算出部108で算出して用いる。
ここまでに挙げた、3パターンの移動軌跡間の関係について、移動軌跡間の距離の時間変化と、移動軌跡を含む剛体がそれぞれどのような関係にあるかを、図10Aに示す。
すなわち、移動軌跡xi、xjが、図9Cおよび図9Dのように同一剛体上にある場合、移動軌跡間の測地距離の時間変化gt、ユークリッド距離の時間変化ftはともに0である。このパターンを、図10A上では「同一剛体」と示す。
また、図9Aおよび図9Bのように、互いに関節状の動きをなす異なる剛体上に存在する場合、ユークリッド距離の時間変化ftが0より大きく、大きな値であるほど、また測地距離の時間変化gtがより0に近づくほど、より関節らしくなる。図10Aで「関節状動き」と示しているパターンである。つまり、ユークリッド距離の時間変化ftが0より大きく、大きな値であるほど、また測地距離の時間変化gtがより0に近づくほど、より「関節らしさ」は高い(つまり、関節らしい)。
最後に、以上の2パターンにあてはまらない残りの場合については、「その他(非・関節状動き)」と図10Aに示している。
以上を踏まえ、以下で特徴量算出部108の処理を説明する。
まず、特徴量算出部108は、それぞれ、指定した処理対象のフレームセットt0〜Tにわたって対応のとれている移動軌跡について、移動軌跡間測地距離gの時間変化gt、ユークリッド距離fの時間変化ftを算出する。具体的には、以下の式9および式10にしたがって、測地距離gおよびユークリッド距離fを、それぞれ与えた分割単位dtで微分した値の絶対値を、1連の処理を行うフレームセットt0〜Tにわたって移動軌跡ごとに加算した値として算出する。
絶対値として求める理由は、関節動きであるかどうかは距離の時間変化の大きさに依るものであり、距離が時間に伴い増加するか減少するか、すなわち微分値の向きは関与しないからである。
なお、特徴量算出部108における測地距離gの時間変化gt、ユークリッド距離fの時間変化ftの求め方については、式9および式10に限るものではない。微分に類する方法であるが、最も単純な方法としては、ある定めた時間間隔で測地距離g、ユークリッド距離fの差分をそれぞれ求めて、その絶対値の和を用いてもよい。特に、2フレーム間での処理であれば、1フレーム目と2フレーム目にそれぞれ対応する移動軌跡間距離の差分の絶対値として求めることができる。また、絶対値の代わりに微分値を2乗した値を用いるなどしてもよい。
また、処理に利用するフレームセットが、関節動き(閉⇒開⇒閉)の半周期に満たず、ユークリッド距離fが単純増加しかしないことがあらかじめ分かっている場合には、式9および式10の代わりに、以下の式11および式12を用いてもよい。すなわち、場合によっては絶対値を必ずここで用いる必要もない。また、逆にユークリッド距離fが単純減少しかしないことがあらかじめわかっている場合にも、式11および式12に従って絶対値を使わずにgt、ftを求めたうえで、最後に絶対値を計算してもよい。
続いて、特徴量算出部108で移動軌跡ペア間の関節らしさを表す関節特徴量jr(i,j)を算出する手順について述べる。
図10Bに移動軌跡ペア間の関節関係(剛体/関節/その他)と、ftおよびgtの関係の別の例を示す。図10Aにおける説明は、対応点の誤差がない場合に成り立つが、通常は誤差が存在するため、移動軌跡間の距離の時間変化の関係は、図10Bのようになることが多い。そこで、ここでは、ノイズや拡大縮小がある場合を考え、図10Bに基づく計算を行なうが、もちろん状況に応じて、図10Aの関係を利用してもかまわない。
ここで、gt>ftとなる移動軌跡ペアについては、同一剛体上の2点でも、関節動きをする2点でもない場合が経験上ほとんどであるため、予めアウトライアとしておいて問題ない。実際には、ある程度のマージンを定めた上で、アウトライアの条件を設定する。詳細は後述する。
なお、図10Bでは、「2移動軌跡が同一剛体上」という条件について、理想的な状況下ではgt=ft=0とできる。本実施の形態においては、gt=ftという条件(gtおよびftが直線Lfgに存在するという条件)にまで値域を拡張する。というのも、ある剛体が拡大縮小した場合や、対応点に微小な誤差が乗った場合、ftは必ずしも0にはならない。ただし、この場合も同一剛体上の2点間の測地距離を算出する経路(移動軌跡を「たどる」距離を算出するために「たどる」経路)は、時間不変である。したがって、ユークリッド距離fの変動に合わせて測地距離gも変化するため、距離の時間変化についてもft=gtといえる。
以上により、実施の形態1より広義の剛体関係を表す条件としてここではft=gt(gtおよびftが直線Lfgに存在するという条件)を適用する。
本実施の形態では、節らしさ特徴量の算出に、連続した関節特徴量の値を利用するため、2つの移動軌跡が同一剛体らしいほど大きな値をとる同一剛体特徴量rrを定義し、測地距離の時間変化gt、ユークリッド距離の時間変化ftより算出する。2つの移動軌跡が同一剛体らしいとは、2つの移動軌跡が同一剛体に含まれる程度が高いことを言う。
同一剛体特徴量rrは、ft−gtグラフ上に移動軌跡ペアのft、gtをプロットした際の、ft=gt(直線Lfg)からの距離dli,jに基づいて求められる。まず、ft=gt(直線Lfg)からの距離dli,jについては以下の式13で求めることができる。
なお、直線Lfgからの距離dli,jの算出方法については式13に限るものではない。発明者らの実験では、よりftが大きいほど関節らしい、すなわち同一剛体らしくない、という結果が得られているため、式13に対しftの影響を付与した式を用いてもよい。例えば式14を用いてもよい。もちろん、同様の効果が得られるのであれば、直線Lfgからの距離dli,jの算出方法については式14に限るものではない。
同一剛体上の移動軌跡ペアに関して、理想的にはdli,j=0となるはずであるが、実際には、計算誤差等の影響により、直線Lfgからずれ、dli,j=0とならないことがある。そこでマージンとして閾値Th1、Th2を設定し、以下の式15で同一剛体特徴量rrを算出する。rrは0から1までの値をとり、1に近くなるほど、移動軌跡ペアが同一剛体上の移動軌跡らしいことを表す。エラー値として、rrは−1をとる。なお、例えば、閾値Th1には0.1を、閾値Th2には0.01を用いることができる。ただし、gt、ft算出時に、すべての距離を指定値64を用いて正規化した場合の例である。
また、移動軌跡ペアの関節特徴量jrは、同一剛体特徴量rrから、以下の式16で求める。関節特徴量jrは1に近いほど、移動軌跡ペアが“関節らしい”ことを表し、関節特徴量jrがゼロに近いほど、同一剛体上の2移動軌跡らしいことを表す。
同一剛体特徴量rrは0から1までの値のため、関節特徴量jrも0から1までの値をとる。jrは1に近くなるほど、移動軌跡ペアの関節動きが大きいことを表す。なお、エラー値として、jrは−1をとる。
なお、以下では、同一剛体特徴量rr、関節特徴量jrの両方を説明のため用いているが、先に述べたとおりこれら2つの特徴量は、互いに依存関係にある変数であるため、実際の処理においては両方を別々のものとして明に定義して用いる必要はなく、どちらかのみに基づいて計算を行えば十分である。
なお、同一剛体特徴量rr、および関節特徴量jrの算出方法については式15、式16に限るものではなく、同一剛体特徴量rrについてはより直線Lfgに近いほど値が1に近く、離れるほど値が0に近くなるような関数を、また関節特徴量jrについてはより直線Lfgに近いほど値が0に近く、離れるほど値が1に近くなるような関数を用いればよい。
例えば同一剛体特徴量rrについて、以下の式17、あるいは式18によって算出してもよい。適切にパラメータσ、paramを設定することで、Th1,Th2を用いずともアウトライアの影響を低減することができる。
また、例えば関節特徴量jrについては、以下の式19、あるいは式20によって算出してもよい。このさい、必ずしも式16の形式を満たす必要はなく、式17、式18、式19、式20、を自由に選択可能である。
適切にパラメータσ、paramを設定することで、Th1,Th2を用いずともアウトライアの影響を低減することができる。ただしmax_dli,jはdli,j>0を満たすdli,jの最大値である。
また、先に述べたとおり、理想的な状況下では「2移動軌跡が同一剛体上」という条件をgt=ft=0、「2移動軌跡が関節状動き」である条件をgt=0、ft≠0、とできる。そこで、状況によっては、これらの条件に基づいた同一剛体特徴量rr、および関節特徴量jrを定義してもよい。例えば、任意の移動軌跡間について、測地距離の時間変化があらかじめ定めた測地距離閾値Tgよりも小さく、かつユークリッド距離の時間変化があらかじめ定めたユークリッド距離閾値Teよりも大きい場合に、関節特徴量jrを1とし、測地距離の時間変化があらかじめ定めた測地距離閾値以上の場合、またはユークリッド距離の時間変化があらかじめ定めたユークリッド距離閾値以下の場合に、関節特徴量jrを0とするとしてもよい。以上により、特徴量算出部108において、関節特徴量が算出された。
続いて、関節特定部109は、特徴量算出部108で算出された各移動軌跡ペアの関節特徴量に基づいて、移動軌跡の節らしさ特徴量を算出する。
ここで、図11A〜図11Cに、節の移動軌跡A、剛体上の移動軌跡B、C、D、およびアウトライアの移動軌跡Eを示す。図11Aに、ある3移動軌跡間の3つの移動軌跡ペア(AB,BC,AC)を選択した場合の例を示す。図11Aに示すように、移動軌跡ペアABは関節特徴量jr(AB)が小さく、すなわち同一剛体特徴量rr(AB)が大きい。移動軌跡ペアACも同様に関節特徴量jr(AC)が小さく、同一剛体特徴量rr(AC)が大きい。このような場合、移動軌跡Aは、移動軌跡Bとも、移動軌跡Cとも、それぞれ同一剛体らしい、といえる。ここで、移動軌跡Aが節であるためには、移動軌跡B、Cは異なる剛体に属する必要がある。したがって、図11Aに示すように、移動軌跡ペアBCについては、関節特徴量jr(BC)が大きく、同一剛体特徴量rr(BC)は小さいということになる。
先に述べた例と同様、ある3移動軌跡間の3つの移動軌跡ペア(AB,BD,AD)を選択した場合の例を図11Bに示す。図11Bに示すように、移動軌跡ペアABは関節特徴量jr(AB)が小さく、すなわち同一剛体特徴量rr(AB)が大きい。移動軌跡ペアADも同様に関節特徴量jr(AD)が小さく、同一剛体特徴量rr(AD)が大きい。さらに、移動軌跡ペアBDも同様に関節特徴量jr(BD)が小さく、同一剛体特徴量rr(BD)が大きい。このような場合には、3つの移動軌跡A、B、Dが全て同一剛体らしい、という情報が得られる。しかし、どの移動軌跡が節らしいのか、そもそも節らしい移動軌跡があるかどうかの情報すら得られない。
さらに、ある3移動軌跡間の3つの移動軌跡ペア(AB、BE、AE)を選択した場合の例を図11Cに示す。ここで、Eはアウトライアの移動軌跡である。
図11Cのようにアウトライアとの移動軌跡ペアAE、BEに関しては、関節特徴量jr、同一剛体特徴量rr、のどちらも−1の値になっているはずである。この場合も、移動軌跡AとBのどちらが節なのか、そもそも節らしい移動軌跡があるかどうかの情報は得られない。
したがって、図11Aの関係を満たす移動軌跡ペアから節らしさ特徴量を求められるようにすればよい。逆に、図11Bおよび図11Cの場合の影響はないようにしたい。そこで、以下の式21で、移動軌跡A以外の全ての移動軌跡ペアから、移動軌跡Aの節らしさ特徴量Xjntを算出する。
ここで、
より、式21は、
となるといえる。すなわち、移動軌跡Aの節らしさ特徴量を、図11Aのような関係を満たす3移動軌跡からの情報によって表すことができる。
逆に、節にない例えば移動軌跡Bについては、B以外の全ての移動軌跡ペアから以下の式22で節らしさ特徴量Xjntを算出できる。
すなわち、節以外の移動軌跡に関しては、節らしさ特徴量Xjntの値が小さく抑えられることがわかる。
以上の構成により、より移動軌跡xkの節らしさを細かく表現する、すなわち、より正確に移動軌跡xkの節らしさ特徴量を求めることができる。
なお、あらかじめ定めた閾値Th1、Th2については、例えば、薬剤のサイズや動きの大きさがあらかじめ分かっている場合には、gt−ft値の分布が図12A〜図12Cのように変化することがわかっている。図12A〜図12Cにおいて、ハッチングを施した箇所がgt値およびft値の分布している領域を示している。したがって、薬剤のサイズや動きの大きさに応じて、閾値Th1、Th2を変化させてもよい。たとえば、図12Bのように大きな薬剤、動きに対しては、図12Aの場合に用いた閾値Th1、Th2よりも大きな閾値Th1、Th2を設定してもよい。
あるいは、ユーザによる選択モードを備えても良い。薬剤の種類や数、サイズに対して最適な閾値Th1、Th2を事前に定めておき、本装置使用時に、ユーザが薬剤やサイズを指定できるようにすれば、より適切な閾値Th1、Th2を用いてより正しく移動軌跡の節らしさ特徴量を求めることができる。あるいは、タッチペンやタッチパッドなどにより、候補領域をユーザがあらかじめインタラクティブに指定してもよい。
なお、“同一剛体らしい”移動軌跡ペアは、“関節らしい”移動軌跡ペアよりft=gtという関係に近いということは先に述べたが、それだけではなく、ft、gtの値にもある程度の差があるため、これらの情報を追加して関節検出を高精度化することも可能である。
例えば、図12Cに示すように、閾値ThRigよりもft、gtがともに小さい移動軌跡ペアについては、同一剛体特徴量rrがより大きくなる重み付けを行い、閾値ThRigよりもft、gtのどちらか大きい移動軌跡ペアについては、同一剛体特徴量rrがより小さくなる重み付けを行うことで、より“同一剛体らしい”ものをより“同一剛体らしい”データとして扱うことができ、節らしさ特徴量の計算をより精度良く行うことができる。
なお、関節特定部109を含む節らしさ算出部105は、節らしさ特徴量Xjntをそのまま分離計数部107に出力するのではなく、出力前に節らしさ特徴量Xjntの変換を行い、変換後の節らしさ特徴量を分離計数部107に出力するようにしてもよい。
すなわち、関節特定部109は、節らしさ特徴量Xjntの値のうち、画素座標系からなる2次元平面上で極大となる点を節として求める。たとえば、節らしさ特徴量Xjntが局所的に極大であれば1をとり、それ以外ではゼロになるような新しい節らしさ特徴量newXjntを定義し、関節特定部109は、新しい節らしさ特徴量newXjntを分離計数部107に出力してもよい。ここでは簡単のため2値化したが、多値でももちろんかまわない。この構成によると、局所的に最も節らしさ特徴量Xjntが高い画素位置の情報を分離計数部107に渡すことができるため、関節の数が増えた際でも安定して関節領域(節領域、節)を特定することができる。
以上より、関節特定部109は、各節候補領域についての移動軌跡xkの節らしさ特徴量を求め、それらの値を出力する。
次に、分離計数ステップS307は、分離計数部107によって実行される。
分離計数部107は、図1の構成図に示すとおり、距離変換部110とクラスタリング部111とを含む。また、分離計数ステップS307は、距離変換ステップS310、クラスタリングステップS311の2つのステップを含む。
距離変換ステップS310において、距離変換部110は、距離算出部104より受け取った距離経路データ106が含む、移動軌跡間測地距離の経路上の移動軌跡のうち、経路上の経由点(端点以外)となる移動軌跡における、前記関節特定部109で求めた節らしさ特徴量に応じて、該当経由点を経由する移動軌跡間距離を変換する。また、クラスタリングステップS311において、クラスタリング部111は、変換した移動軌跡間距離に基づき、移動軌跡をクラスタリングし、薬剤数として出力する。
まず距離変換部110の動作について説明する。
擬似的に関節とみなせる点で接触している2つの薬剤の例を図13に示す。この薬剤上で取得される移動軌跡のうち代表的なものをa〜fに示す。なお、実際にはより多くの移動軌跡が存在する。移動軌跡ペア(a,e)のように、異なる薬剤上の移動軌跡間で定義される測地距離の経路について、適切に式6の閾値Rを設定した場合、節の移動軌跡cを通る経路が選択される。つまり、移動軌跡間測地距離の経路に節を含む2移動軌跡は、それぞれ異なる薬剤上にあるといえる。
そこで本実施の形態では、このような、軌跡間測地距離の経路に節を含む移動軌跡間の距離を、より分離されやすくするため、1より大きい値で重み付けする。このようにすることで、実際には異なる薬剤であるのに、隣接しているために同一の薬剤と誤計数されやすい薬剤についても、別の薬剤として正しく計数できる。
具体的に、例えば、移動軌跡(a,f)のペアについて考える。距離経路データ106に含まれる、移動軌跡(a,f)間の、測地距離経路上の移動軌跡をpath(a,f)と表現すると、path(a,f)は、以下の式23のように表すことができる。
各移動軌跡の節らしさ特徴量の値をそれぞれJ(b),J(c),J(d),J(e)とすると、節である移動軌跡cに対応する節らしさ特徴量J(c)のみが、最大値である1を取り、他の移動軌跡b,c,dではそれよりも小さい節らしさ特徴量を持つ。
つまり、測地距離経路上の移動軌跡の節らしさ特徴量の最大値に着目することで、移動軌跡間の測地距離経路上に含まれる点について、最も節らしい点が含まれるかどうかを確認することができる。したがって、移動軌跡間の測地距離経路上に含まれる点について、それらの節らしさ特徴量の最大値を用いて重みを決定するものとする。なお、ここでは最大値としているが、例えば、節近辺に複数の移動軌跡が存在する場合などは、最大値から大きい順に、指定した点数の節らしさ特徴量を取得し、それらの平均などで重みを求めてもよい。
ここで最大値をmaxとすると、重みづけ曲線のパラメータαとして、移動軌跡(a,f)間の距離に対する重みk(a,f)は以下の式25のように求めることができる。
したがって、移動軌跡(a,f)間の移動軌跡間距離D(a,f)は、変換後の移動軌跡間距離をDc(a,f)とすると、以下の式26のように変換される。
他の移動軌跡間に関しても同様の計算を行なうことで、擬似関節点で接触している2移動軌跡間の距離はより遠くなるため、分離が容易になる。
クラスタリング部111は、距離変換部110で算出した任意のi,j間の移動軌跡間距離Dc(i,j)を用い、Dc(i,j)が小さい順に移動軌跡iと移動軌跡jとを同一クラスとして束ねていく処理を繰り返すことによってクラスタリングを行う。
関節で繋がった物体である限り、特に近傍における移動軌跡は高い類似性を保持していると仮定できる。ここで、高い類似性とは、移動軌跡iと移動軌跡jとの距離Dc(i,j)が小さいことを意味する。さらに、距離Dc(i,j)が小さいことは、移動軌跡iと移動軌跡jとが、移動軌跡からなる高次元空間上に近距離に分布していると解釈することができる。移動軌跡からなる高次元空間は、次元数が2×Tの空間である。移動軌跡からなる高次元空間上の分布の連続性によって移動軌跡をクラスタリングしていくことによって、移動軌跡間の距離の不連続性をもとにクラスタリングを行う。その結果、各クラスは、個別の薬剤に対応することが期待でき、薬剤の検出と領域分割を行うことができる。
以下で、クラスタリングを行なう方法の一例を説明する。
まず、クラスタリング部111は、距離Dc(i,j)から式27に示すような、新たな非線形化した距離DL(i,j)を算出する。つまり、距離Dc(i,j)について、予め定められた閾値Rth以上の距離については、その距離を無限大に変更する。なお、閾値Rthは、利用するシーンに応じて経験的に決定される。求められたDL(i,j)のうち、無限大に変更された距離は、距離の分布における不連続点となるため、その不連続点を検出することにより、クラスタリングを行なうことができる。
ここで、クラスタリングを行なう際に各領域に付与するラベルについて、以下式28のように表す。Mは領域数(未知)である。
次に、クラスタリング部111は、距離DL(i,j)が有限の値である移動軌跡について、移動軌跡iと移動軌跡jに同一領域ラベルθmを付与する処理を、すべてのi,jについて行う。最後までラベルのつかなかった移動軌跡については、それらの移動軌跡に対して有限の距離で繋がる移動軌跡が存在しなかったということを示す。したがって、それぞれに他と異なるクラスラベルを付与する。以上の処理により、全ての移動軌跡に対してクラスラベルθが付与される。なお、各領域に属する移動軌跡の数が閾値Tcluster個以下となる領域については、外れ値(Outlier)として扱い、その後の処理に用いないよう廃棄してもよい。
このように、類似した移動軌跡に対して、順々に領域ラベルを付与することによって、高次元空間上で連続している移動軌跡を一つのクラスと判断し、移動軌跡間の距離が大きいところを不連続点として、それぞれのクラスを分離することができる。そして、各クラスに属する移動軌跡を、同一の薬剤に属する移動軌跡と求めることができる。
なお、クラスタリング部111は、距離Dc(i,j)に基づいてサブクラスを求めるという動作に限定するものではない。つまり、クラスタリング部111は、画像からエッジ抽出を行って、エッジ位置からクラスタリングを行うものであってもよい。
また、クラスタリング部111は、移動軌跡間での、各移動軌跡に属するブロック同士の色類似度に基づいて、複数の移動軌跡を複数のクラスに分類してもよい。以下で、画素の色類似度を元にクラスタリングを行う例について説明する。
クラスタリング部111にてクラス数を算出する手法として、先に説明した類似移動軌跡のラベリングによる方法の代わりに、画素の色類似度をもとに、いわゆる“superpixel”と呼ばれる複数のサブクラスにピクチャを分割する方法を用いてもよい。superpixelを算出する方法については、グラフベースの手法などを用いることができる。処理手順の詳細説明は非特許文献5等に記載されているため省略するが、ピクチャのグラフ表現に基づいて各領域間の境界を推定することで、効率的かつグローバルな特徴を保持しながらピクチャを小領域に分割するというものであり、遮蔽に強いためよりロバストな分割ができるという効果がある。
以上の手順によりピクチャをクラスに分離し、各クラスに属する移動軌跡を、異なる薬剤領域とし、薬剤計数に利用することが可能となる。
なお、連続して入力される動画像に対して処理を行う場合は、上述したステップS301〜S311の動作を、T枚のピクチャが入力されるたびに繰り返し行うとしても良い。
なお、本実施の形態の薬剤計数装置において、距離算出部104が、移動軌跡算出部102で生成した移動軌跡から抽出する、移動軌跡のピクチャ数Tは、T=2としたが、この数値に限定されるものではない。例えば、検出精度や、1つの薬包にかけることのできる計数時間・メモリ量等に応じて別の数値を用いても良い。
(実施の形態1の変形例)
図14は、本変形例における薬剤計数装置100を含むシステムの機能的な構成を示すブロック図である。このシステムは、揺動機構1120と、タイミング制御部112と、カメラ120と、薬剤計数装置100と、薬剤数比較部114と、警報出力部115とを備える。このうち、タイミング制御部112、薬剤数データ113、薬剤数比較部114、警報出力部115以外の構成に関しては実施の形態1と同じであるためここでは説明を省略する。
タイミング制御部112は薬剤揺動制御部1121と撮影制御部1122を備え、撮影と揺動のタイミングを制御する。具体的には、まず撮影制御部1122からカメラ120に撮影制御信号を送り、1回目の撮影を行なう。撮影終了後、続いて、薬剤揺動制御部1121から揺動機構1120に薬剤揺動信号を送り、ベルトコンベア400を振動させることにより、薬包に含まれる薬剤を動かす。揺動終了後、再度撮影制御部1122からカメラ120に撮影制御信号を送り、2回目の撮影を行なう。このようにすることで、確実に薬剤が移動した動画像を取得でき、より正確に薬剤を分離計数できるようになる。
薬剤数比較部114は、薬剤数データ113に示されている薬剤の個数と薬剤計数装置100により計数された薬剤の個数とを比較する。ここで、薬剤数データ113は、撮影対象の薬包に含まれる薬剤の個数(例えば処方箋に含まれる薬剤の個数)を含むデータである。薬剤数データ113は、薬剤計数装置100の内部に記憶されていてもよいし、薬剤計数装置100の外部の記憶装置に記憶されており、有線または無線を介して薬剤数比較部114に接続されていても良い。薬剤数比較部114は、薬剤数データ113に示されている薬剤の個数と薬剤計数装置100により計数された薬剤の個数とが異なっている場合は、「誤り」を示す情報を、等しい場合は、「正しい」を示す情報を、警報出力部115に送る。
警報出力部115は、薬剤数比較部114の判定した結果情報を受けて、誤りであった場合に使用者に対して警報を発する。警報は、ディスプレイ上であってもよいし、音や音声によってもよい。なお、警報は「誤り」であるか「正しい」であるかを利用者が認識できることが目的であるため、「誤り」と「正しい」の場合にそれぞれ異なる警報音を発してもよいし、逆に利用者が認識さえしていれば、「正しい」場合のみ警報音を発するとしてもよい。
以上のシステムにより、確実に薬剤を計数し、処方箋に対する正誤判定を行なった上で、使用者に結果を伝えることができる。使用者である薬剤師は薬包全てを確認する必要なく、誤っている薬包に対してのみ対処を行なえばいいので、負担が軽減される。
以上のように、本実施の形態およびその変形例に係る薬剤計数装置および薬剤計数方法によると、動画像中、或いは複数の画像中の薬剤を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、擬似関節位置を特定し異なる薬剤が接触している位置を求め、さらに異なる動きをする薬剤を別の薬剤と分類して計数する。このため、薬包に印字された文字等の大きさや種類によることなく、確実に薬剤を計数することができる。
また、上記実施の形態およびその変形例における薬剤計数装置100は、画像入力部101および移動軌跡算出部102を備えたが、本発明は、これらの構成要素を必須とするものではない。つまり、動画像を構成する複数のブロックのそれぞれにおけるピクチャの移動軌跡が予め算出されている場合には、薬剤計数装置100は、外部から、そのような移動軌跡を取得し、取得した移動軌跡に対して、ステップS303〜S311の処理を実行してもよい。
また、本発明は、薬剤計数装置100として実現されたが、薬剤計数部103の機能を持つものであれば、動画像において薬剤を計数する画像処理装置として実現することができるのは言うまでもない。
なお、本実施の形態およびその変形例では2点間距離としてユークリッド距離を用いたが、前述した通り、ユークリッド距離に限るものではない。前述の2点間距離で定義される任意の距離指標を用いて得られる形態も本発明に含まれるものとする。
また、本発明で用いる「領域」という定義は、多数の軌跡から成る領域のみならず、1つの軌跡のみから成る場合も含む。というのも、少なくとも節の軌跡が1点と、もう2点の移動軌跡が存在すれば、それらの軌跡から各軌跡の節らしさ特徴量を算出することができるからである。
(実施の形態2)
上記した実施の形態1およびその変形例での薬剤計数装置は、薬剤数の算出手順において、節らしさ特徴量で重み付けした移動軌跡間距離のクラスタリングを用いて、薬剤数を算出している。具体的には、ある移動軌跡間測地距離に対して、測地距離の辿る経路上の移動軌跡の節らしさ特徴量を求め、経路上の移動軌跡の節らしさ特徴量の値に応じて、当該移動軌跡間の距離に対し予め定めた重みをかけることで、関節で接する薬剤をより遠ざけることで、正しく分離してクラスタリングするものである。
しかし、薬剤の計数方法としては、このような節らしさ特徴量による重み付けは必ずしも必要ではない。節らしさ特徴量による重み付けは、「節らしさ特徴量算出」以外の特別な画像処理を行わずに処理できるという利点がある。しかし、節らしさ算出部において、節らしさ特徴量を各移動軌跡ごとに出力する代わりに、画像中の節の数のみを出力し、他の画像認識による計数結果と統合することで、より正確に錠剤数を求められる場合がある。
本実施の形態における薬剤計数装置の構成を図15に示す。薬剤計数装置100Bは、画像入力部101と、移動軌跡算出部102と、距離算出部104と、節らしさ算出部105と、節計数部118と、クラスタリング部111と、穴領域計数部116と、計数部117とを含む。
図1と異なる部分は、節計数部118、穴領域計数部116、計数部117のみであるので、上記以外の構成については説明を省略する。また、クラスタリング部111にはここでは移動軌跡間距離の入力がない。この場合、実施の形態1の説明で述べた通り、エッジ位置または色に基づくクラスタリングを行なうことができる。
節計数部118は、関節特定部109で求めた各移動軌跡の節らしさ特徴量について、予め定めた閾値以上の移動軌跡を節と特定し、その数を数える。
移動軌跡の密度がそれほど高くない(移動軌跡が通過するグリッドが大きい)場合は、一つの節について一つの移動軌跡が見つかると考えてよい。このため、節らしさ特徴量が閾値以上の移動軌跡の数をそのまま節の数とする。一方、移動軌跡の密度がある程度高い場合は、節らしさ特徴量の極値をとる移動軌跡を複数求める。一つの節が、一つの極値に相当すると考えてよいので、節らしさ特徴量の極値をとる移動軌跡の数をそのまま節の数とする。
次に、穴領域計数部116は、3つ以上の薬剤が互いに接触して、内部に穴様の領域が存在する場合の、穴の数を求める。
なお、節、穴および領域の数は、同一の画像においてそれぞれ算出される。
図16Aは、画像入力部101が入力として受け付けた画像の例を示す図である。図16Bは、穴領域計数部116で計数される2つの穴181および182と、クラスタリング部111で計数される3つの領域191〜193とを示す図である。
穴領域は、例えば、輪郭検出を行い、輪郭中の閉領域(接触している薬剤群の外周)を抽出したのち、閉領域内部に存在する閉領域の数を求める等により得られる。
図16Aおよび図16Bの画像に対して、節計数部118はNj=8個の節を、クラスタリング部はNc=3個の領域を、穴領域計数部116はNh=2個の穴領域をそれぞれ算出する。計数部117は、これらの値から、以下の式29に従い薬剤数Nを算出する。
N=Nj+Nc−Nh (式29)
図16Aおよび図16Bの画像からは、N=8+3−2=9と求められる。ため、式29によって正しく薬剤数が求められることがわかる。
以上のように、本実施の形態によると、トポロジカルに薬剤を計数することができる。つまり、薬剤の大きさ等に依存せずに正確に薬剤を計数することができる。
なお、薬剤計数装置は、図17に示すような構成であっても良い。図17に示す薬剤計数装置100Cでは、クラスタリング部111が移動軌跡算出部102に接続されている。つまり、クラスタリング部111は、移動軌跡算出部102で算出された類似する移動軌跡を同一のクラスに分類することにより領域数を求めても良い。