(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-04
(45)【発行日】2022-08-15
(54)【発明の名称】処理装置、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220805BHJP
【FI】
G06T7/00 C
G06T7/00 660B
(21)【出願番号】P 2018066467
(22)【出願日】2018-03-30
【審査請求日】2020-11-12
(73)【特許権者】
【識別番号】000003551
【氏名又は名称】株式会社東海理化電機製作所
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002583
【氏名又は名称】特許業務法人平田国際特許事務所
(72)【発明者】
【氏名】名和 佑記
(72)【発明者】
【氏名】井東 道昌
(72)【発明者】
【氏名】多田 圭吾
(72)【発明者】
【氏名】関原 忠
(72)【発明者】
【氏名】気屋村 純一
(72)【発明者】
【氏名】榊原 将城
(72)【発明者】
【氏名】深谷 安利
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2012-127811(JP,A)
【文献】特開2017-111508(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
車両の乗員を含む撮像領域を撮像対象とし、与えられた2次元座標系の座標に対応する画素ごとに前記撮像対象までの距離情報を割り当てた距離画像を取得する取得部と、
前記取得部で取得した前記距離画像の前記2次元座標系の前記画素の座標とこの座標の前記距離情報とを3次元空間上の点に変換して3次元画素群を作成し、前記3次元画素群の第1の座標系を、前記乗員を原点とする第2の座標系に変換し、変換された前記第2の座標系における前記3次元画素群と人体の各骨格のサイズ、関節の可動範囲を定義するスケルトンモデルとに基づいて予め規定された前記乗員の頭部を起点として肩部、肘部、手首及び手の特徴点を検出する特徴点検出処理を実行する制御部と、
を有し、
前記制御部の前記特徴点検出処理は、前記乗員の頭部を起点として、予め規定された特徴点探索モデルを順次照合して前記肩部、前記肘部、前記手首及び前記手の特徴点を検出する際、
確定前の特徴点の周囲に位置するボクセルを含めた前記ボクセルの集合を考え、前記ボクセルの集合におけるボクセル値の合計が閾値未満かどうかにより、前記確定前の特徴点の確からしさを判断する閾値処理を実行し、
前記ボクセル値の合計が閾値未満かどうかを判定する前記ボクセルの集合を、前記乗員の頭部の特徴点を起点として当該特徴点とは別の特徴点である対象特徴点までの間を所定間隔で存在するボクセル群とする、
処理装置。
【請求項2】
前記制御部は、前記起点から前記対象特徴点までの全てのボクセル群の各々における前記ボクセル値の合計が閾値以上であれば、前記対象特徴点を確からしいものとする、請求項1に記載の処理装置。
【請求項3】
車両の乗員を含む撮像領域を撮像対象とし、与えられた2次元座標系の座標に対応する画素ごとに前記撮像対象までの距離情報を割り当てた距離画像を取得する取得ステップと、
前記取得ステップで取得した前記距離画像の前記2次元座標系の前記画素の座標とこの座標の前記距離情報とを3次元空間上の点に変換して3次元画素群を作成し、前記3次元画素群の第1の座標系を、前記乗員を原点とする第2の座標系に変換し、変換された前記第2の座標系における前記3次元画素群と人体の各骨格のサイズ、関節の可動範囲を定義するスケルトンモデルとに基づいて予め規定された前記乗員の頭部を起点として肩部、肘部、手首及び手の特徴点を検出する特徴点検出処理を実行する制御ステップと、
を有し、
前記制御ステップの前記特徴点検出処理は、前記乗員の頭部を起点として、予め規定された特徴点探索モデルを順次照合して前記肩部、前記肘部、前記手首及び前記手の特徴点を検出する際、
確定前の特徴点の周囲に位置するボクセルを含めた前記ボクセルの集合を考え、前記ボクセルの集合におけるボクセル値の合計が閾値未満かどうかにより、前記確定前の特徴点の確からしさを判断する閾値処理を実行し、
前記ボクセル値の合計が閾値未満かどうかを判定する前記ボクセルの集合を、前記乗員の頭部を起点として前記乗員の頭部の特徴点とは別の特徴点である対象特徴点までの間を所定間隔で存在するボクセル群とする、ことをコンピュータに実行させるためのプログラム。
【請求項4】
前記制御ステップは、前記起点から前記対象特徴点までの全てのボクセル群の各々における前記ボクセル値の合計が閾値以上であれば、前記対象特徴点を確からしいものとする、請求項
3に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理装置、及びプログラムに関し、特に、撮像画像に基づいて検出処理を行なう処理装置、及びプログラムに関する。
【背景技術】
【0002】
従来、2次元平面における座標情報を有する乗員が映り込んだ画像を撮像し、その撮像した画像を画像処理することで、乗員の特徴点(例えば、関節点)を特定する技術がある(例えば、特許文献1参照)。
【0003】
特許文献1の処理装置は、複数の操作対象,および,該操作対象を操作可能な位置に存在する操作者を含む画像を繰り返し取得する画像取得手段と、該画像取得手段により繰り返し取得される画像毎に、該画像に含まれる操作者における所定の人体特徴点を特定する人体特徴点特定手段と、該人体特徴点特定手段により特定された画像毎の人体特徴点それぞれに基づいて、操作者が実施しようとしている操作内容を推定する操作推定手段と、を備えており、該操作推定手段は、操作対象を操作する操作者が辿ると推定される姿勢軌跡(推定姿勢軌跡)をその操作内容毎にモデル化してなる遷移推定モデルそれぞれと、前記人体特徴点特定手段により特定された画像毎の人体特徴点それぞれから求められる操作者の姿勢軌跡(実姿勢軌跡)とを照合し、前記遷移推定モデルでモデル化された推定姿勢軌跡のうち、前記実姿勢軌跡との近似度が所定のしきい値を満たす前記推定姿勢軌跡につき、該推定姿勢軌跡に対応する操作内容を操作者が実施しようとしていると推定するように処理装置が構成されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の技術では、乗員の特徴点を、2次元平面での座標情報を有した画像から特定しているため、その特徴点の特定精度を向上させることが要求されている。
【0006】
したがって、本発明の目的は、人体の特徴点を特定する技術において、その特徴点の特定精度を向上させる処理装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
[1]上記目的を達成するため、車両の乗員を含む撮像領域を撮像対象とした距離画像であって、前記撮像対象までの距離情報を画素に割り当てた距離画像を取得する取得部と、前記車両の車室内空間における座標系と前記距離画像における座標系との対応関係に従って、特定の座標系を有した検出画像へと変換し、その検出画像において、前記乗員の特徴点を少なくとも1つ検出する特徴点検出処理を実行する制御部と、を有する処理装置を提供する。
[2]前記制御部は、規定された1つの特徴点を特定し、その規定された1つの特徴点を基準として、予め規定された特徴点探索モデルを順次照合して残りの特徴点を検出することを、前記特徴点検出処理として実行する、上記[1]に記載の処理装置であってもよい。
[3]また、前記制御部は、前記特徴点の周囲に位置するボクセルを含めたボクセルの集合を考え、前記ボクセルの集合におけるボクセル値の合計が閾値未満かどうかにより、前記特徴点の確からしさを判断する閾値処理を、前記特徴点検出処理の1つとして実行する、上記[1]又は[2]に記載の処理装置であってもよい。
[4]また、前記制御部は、前記ボクセル値の合計が閾値未満かどうかを判定する、前記ボクセルの集合を、規定された1つの特徴点である起点から当該特徴点とは別の特徴点である対象特徴点までの間を所定間隔で存在するボクセル群とする、上記[3]に記載の処理装置であってもよい。
[5]また、前記制御部は、前記起点から前記対象特徴点までの全てのボクセル群の各々におけるボクセル値の合計が閾値以上であれば、前記対象特徴点を確からしいものとする、上記[4]に記載の処理装置であってもよい。
[6]また、前記制御部は、前記起点から前記対象特徴点までのボクセル群において、規定された距離を示す個数のボクセル群におけるボクセル値の合計が閾値未満であっても、前記対象特徴点を確からしいものとする、上記[4]又は[5]に記載の処理装置であってもよい。
[7]また、前記制御部は、前記特徴点が未検出の場合、前フレームまでの検出結果を用いて補完処理を行う、上記[1]から[6]のいずれか1に記載の処理装置であってもよい。
[8]また、前記規定された1つの特徴点は、頭部である、上記[1]から[7]のいずれか1に記載の処理装置であってもよい。
[9]上記目的を達成するため、車両の乗員を含む撮像領域を撮像対象とした距離画像であって、前記撮像対象までの距離情報を画素に割り当てた距離画像を取得する取得ステップと、車両の車室内空間における座標系と距離画像における座標系との対応関係に従って、特定の座標系を有した検出画像へと変換し、その検出画像において、乗員の特徴点を少なくとも1つ検出する特徴点検出処理を実行する制御ステップとを、コンピュータに実行させるためのプログラムを提供する。
[10]前記制御ステップは、規定された1つの特徴点を特定し、その規定された1つの特徴点を基準として、予め規定された特徴点探索モデルを順次照合して残りの特徴点を検出することを、前記特徴点検出処理として実行する、上記[9]に記載のプログラムであってもよい。
[11]前記制御ステップは、前記特徴点の周囲に位置するボクセルを含めたボクセルの集合を考え、前記ボクセルの集合におけるボクセル値の合計が閾値未満かどうかにより、前記特徴点の確からしさを判断する閾値処理を、前記特徴点検出処理の1つとして実行する、上記[9]又は[10]に記載のプログラムであってもよい。
[12]また、前記制御ステップは、前記ボクセル値の合計が閾値未満かどうかを判定する、前記ボクセルの集合を、規定された1つの特徴点である起点から当該特徴点とは別の特徴点である対象特徴点までの間を所定間隔で存在するボクセル群とする、上記[11]に記載のプログラムであってもよい。
[13]また、前記制御ステップは、前記起点から前記対象特徴点までの全てのボクセル群の各々におけるボクセル値の合計が閾値以上であれば、前記対象特徴点を確からしいものとする、上記[12]に記載のプログラムであってもよい。
[14]また、前記制御ステップは、前記起点から前記対象特徴点までのボクセル群において、規定された距離を示す個数のボクセル群におけるボクセル値の合計が閾値未満であっても、前記対象特徴点を確からしいものとする、上記[12]又は[13]に記載のプログラムであってもよい。
[15]また、前記制御ステップは、前記特徴点が未検出の場合、前フレームまでの検出結果を用いて補完処理を行う、上記[9]から[14]のいずれか1に記載のプログラムであってもよい。
[16]また、前記制御ステップは、前記規定された1つの特徴点は、頭部である、上記[9]から[15]のいずれか1に記載のプログラムであってもよい。
【0008】
本発明の処理装置、及びプログラムによれば、人体の特徴点を特定する技術において、その特徴点の特定精度を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1(a)は、人体の各骨格のサイズ、関節の可動範囲を定義したスケルトンモデルの図であり、
図1(b)は、人体の各骨格のサイズ、関節の可動範囲の定義例を示す図表であり、
図1(c)は、各部位(肩、肘、手首、手)の可動範囲(スケルトンモデル定義の中で規定しているなす角)の一例として、前腕部を示した図である。
【
図2】
図2は、本発明の実施の形態に係る処理装置が車両に搭載された状態の座標系の関係を3次元的に示す座標図である。
【
図4】
図4(a)は、車室内空間の広さを考慮したボクセル作成の一例を示す図であり、
図4(b)は、ボクセル作成パラメータ設定例を示す図表である。
【
図5】
図5(a)は、スケルトンモデルで定義した長さおよび可動範囲に含まれるボクセルの探索範囲を示す図であり、
図5(b)は、探索範囲絞り込みパラメータの例を示す図表である。
【
図6】
図6は、周囲1ボクセルを含めた3×3×3のボクセルの例を示す図である。
【
図7】
図7は、起点Pとの間をX[mm]間隔で、3×3×3のボクセルが並べられた例を示す図である。
【
図8】
図8は、各部位検出におけるパラメータ設定の例を示す図表である。
【
図9】
図9は、本発明の実施の形態に係る処理装置の動作を示すフローチャートである。
【
図10】
図10は、検出した肩、肘、手首、手の位置を画像上に表示した図である。
【発明を実施するための形態】
【0010】
(本発明の実施の形態)
本発明の実施の形態に係る処理装置1は、車両8の乗員5を含む撮像領域を撮像対象とした距離画像であって、撮像対象までの距離情報を画素に割り当てた距離画像を取得する取得部としてのTOFカメラ10と、車両8の車室内空間における座標系と距離画像における座標系との対応関係に従って、特定の座標系を有した検出画像へと変換し、その検出画像において、乗員5の特徴点を少なくとも1つ検出する特徴点検出処理を実行する制御部20と、を有して構成されている。
【0011】
本実施の形態に係る処理装置1は、TOFカメラ10を用いて、車室内乗員の肩、肘、手首、手といった部位を特徴点として検出する特徴点検出処理を行なうものである。TOFカメラ10から得られる距離画像の各画素を3次元空間上に変換した画素群(3次元画素群)を作成し、頭部を起点として、スケルトンモデル(人体の骨格サイズ、可動範囲の定義)をもとに肩、肘、手首、手といった部位を特徴点として検出する。
【0012】
なお、画素群とは、TOFカメラ10により撮像された画素に対応する点の集合であって、車両8の車室内空間における座標系、TOFカメラ10における座標系等により位置が表示される3次元空間の点の集合である。
【0013】
(スケルトンモデル)
スケルトンモデルは、
図1(a)に示すように、人体の各骨格のサイズ、関節の可動範囲を定義したものであって、一例を
図1(b)に示す。この定義は例えば、産業技術総合研究所が公開している人体寸法データベースや、独立行政法人製品評価技術基盤機構が公開している人間特性データベース等の情報をもとに決めることができる。各部位(肩、肘、手首、手)の可動範囲(スケルトンモデル定義の中で規定しているなす角)は、前腕部を例として
図1(c)のように定義する。
【0014】
(TOFカメラ10)
取得部としては撮像対象の3次元認識が可能なものであれば使用可能であるが、本実施の形態では、取得部としてTOF(Time Of Flight)カメラ10を使用する。TOFカメラ10は、光源の光が測定対象物に当たって戻るまでの時間を画素毎に検出し、奥行き方向の距離に相当する位置情報を含む立体的な画像を撮影できる。TOFカメラ10は、赤外光等を発光後、その光が物体に反射して戻ってきた反射光を受光し、発光から受光までの時間を測定して、画素ごとに撮像対象物までの距離を検出する。
【0015】
取得部としてのTOFカメラ10は、車両8の乗員5を含む撮像領域を撮像対象とした距離画像であって、撮像対象までの距離情報を各画素に割り当てた距離画像を取得する。この距離画像は、所定の時間間隔で撮像されたフレームの1フレームとして取得することができる。取得された距離画像は、以下の処理における入力(3次元画素群)として機能する。距離画像は、上記説明したカメラ座標系、車両座標系へ変換される。これにより、検出エリアに含まれる3次元画素群を抽出できる。
【0016】
TOFカメラ10は、例えば、
図2に示すように、ルームミラー付近に取り付け、車両8の乗員5を含む撮像領域を撮像対象とする。TOFカメラ10による撮像画像は、座標(u,v)と、この座標(u,v)における奥行情報としての画素値d(u,v)を含む。取得された画素値d(u,v)(u=0、1、…U-1,v=0、1、…V-1)は、撮像対象としての物体(ここで言う物体は、運転者や車載機器など)までの距離を意味する。なお、実施形態における符号Uは、撮像画像における横幅[pixel]を意味し、符号Vは、撮像画像における縦幅[pixel]を意味する。つまり、TOFカメラ10で撮像された画像における各画素に、3次元空間における距離情報を割り当てることで距離画像が生成される。
【0017】
(距離画像から得られるカメラ座標系)
距離画像における座標値u,vと、座標(u,v)における画素値d(u,v)は、以下の式を用いて3次元空間上の点(x,y,z)に変換することで、
図2に示すカメラ座標系(x,y,z)における3次元画素群を作成することができる。
【数1】
なお、(c
x、c
y)は、画像中心座標、fは、レンズ焦点距離である。
【0018】
(車両座標系)
カメラ座標系(x,y,z)は、検出対象であるドライバ(例えば腰骨の位置)を原点とする車両座標系(w,l,h)に変換することができる。変換方法は、一般的な座標回転変換、平行移動変換、スケール変換の組み合わせである。変換後の座標軸は、ドライバ右方向をw軸、前方をl軸(エル軸)、上方をh軸とし、原点はドライバの腰骨位置203とする。
図3に3次元画素群の例を示す。
【0019】
(ボクセル作成)
制御部20は、
図4(a)に示すように、車室内空間の広さを考慮し、
図4(b)に一例として示すボクセル作成パラメータ設定例のサイズでボクセル(3次元空間を一定サイズで格子状に分割し、離散的にエリアを表現する方法)を作成する。各ボクセルは、ボクセル値を持ち、3次元画素群の密度情報(ここでは、各ボクセルに含まれる3次元画素群の数×3、とする)をボクセル値とする。
【0020】
(制御部20)
制御部20は、座標変換、頭頂部特定処理、頭部特定処理等を行なうための、例えばマイクロコンピュータを備えている。制御部20は、
図2に示すように、TOFカメラ10と接続されている。制御部20は、記憶されたプログラムに従って、取得したデータに演算、加工などを行うCPU(Central Processing Unit)21、半導体メモリであるRAM(Random Access Memory)22及びROM(Read Only Memory)23などを備えている。
【0021】
(頭部の検出、特定)
頭部は、規定された1つの特徴点であり、本実施の形態では、予め規定された特徴点探索モデルを順次照合して残りの特徴点(左右の肩部、肘部、手首、手)を検出するための基準となるものである。頭部の検出、特定の手法は任意であり、公知の方法により頭部の検出、特定を行なうことができる。また、制御部20による検出、特定でなく、頭部の3次元データ(w,l,h)を制御部20に入力してもよい。
【0022】
(探索範囲絞り込み)
制御部20は、
図5(a)に示すように、スケルトンモデルで定義した長さおよび可動範囲に含まれるボクセルを探索し、抽出する。可動範囲は、前部位起点から現在部位起点Pの方向を基準とし、
図5(a)に示す母線250で規定される円錐形状として定義する。探索は、
図5(b)に示すような、探索範囲絞り込みパラメータに基づいて行なう。
【0023】
(特徴点としての部位候補抽出)
(1)閾値処理
制御部20は、探索範囲を絞り込んだ各ボクセルについて、周囲のボクセルを含めたボクセルの集合を考える。ここでは、
図6に示すように、周囲1ボクセルを含めた3×3×3のボクセルとする。ここで、当該ボクセルのボクセル値の合計が閾値未満の場合、候補から除外する。すなわち、閾値処理は、特徴点の周囲に位置するボクセルを含めたボクセルの集合を考え、このボクセルの集合におけるボクセル値の合計が閾値未満かどうかにより、特徴点の確からしさを判断するものである。
【0024】
(2)連続性チェック
制御部20は、(1)の閾値処理で抽出した各ボクセルについて、
図7に示すように、起点Pとの間をX[mm]間隔で、(1)と同じ領域(3×3×3のボクセル)を考え、全ての位置でボクセル値の合計が閾値以上の場合、当該ボクセルを部位候補とする。ただし、腕時計等、TOFカメラで情報が取得できない可能性がある装着物を考慮して、起点Pとの間でボクセル値の閾値を満たさない点が存在しても許容できるよう、許容ギャップ数を定義する。例えば、許容ギャップ数が1の場合、閾値を満たさない点が1つまでなら連続性があると判定する。
【0025】
制御部20は、ボクセル値の合計が閾値未満かどうかを判定する、ボクセルの集合を、規定された1つの特徴点である起点から当該特徴点とは別の特徴点である対象特徴点までの間を所定間隔で存在するボクセル群とすることができる。これにより、確からしさが高い場合に、対象特徴点を確からしいものとできる。
【0026】
さらに、制御部20は、上記の起点から対象特徴点までの全てのボクセル群の各々におけるボクセル値の合計が閾値以上であれば、対象特徴点を確からしいものとすることができる。これにより、ノイズなどによって一部が欠損したとしても、対象特徴点を確からしいものとできる。
【0027】
図8は、各部位検出におけるパラメータ設定の例であり、以下に示す各部位の検出は、これらのパラメータに基づいて実行される。上記示した(1)閾値処理、(2)連続性チェックは、部位検出共通ロジックとして各部位の検出に使用される。なお、単位立方体サイズは、密度計算に利用するボクセルの立方体サイズである。また、密度閾値は、終端候補の棄却、連続性の確認に利用する密度の閾値である。また、連続性ステップ長は、連続性確認時に単位立方体をずらしていく際の中心ボクセル間の幅である。また、許容ギャップ数は、連続性確認時に許容する、密度が閾値以下だったステップの数である。
【0028】
(肩検出)
制御部20は、検出あるいは特定した頭部位置から首位置を算出する。ここでは、頭部位置の座標から真下にオフセットした点を首位置とする。オフセット値は例えば100mmとする。前部位起点を頭部位置、起点Pを首位置として、部位検出共通ロジックを用いて肩候補を抽出する。ただし、首位置がボクセル値の低いボクセルに位置する可能性を考慮し、連続性チェックはしない。首位置より左側(-w軸側)の肩候補を左肩候補、右側(+w軸側)の肩候補を右肩候補とし、各候補の重心位置をそれぞれ左肩位置、右肩位置とする。
【0029】
(肘検出)
制御部20は、前部位起点を首位置、起点を肩位置として、部位検出共通ロジックを用いて肘候補を抽出する。制御部20は、連続性チェックを行なう。連続性チェックがNGとなり、肘候補点が0の場合、肩が宙に浮いている(ボクセル値の低い位置にある)と考えられ、位置を補正して再探索する。補正方法は例えば、最も近い閾値以上のボクセル値を持つボクセルを選択することで行う。抽出した肘候補の重心を肘位置とする。左肩を起点とした位置を左肘、右肩を起点とした位置を右肘とする。
【0030】
(手首検出)
制御部20は、前部位起点を肩位置、起点を肘位置として、部位検出共通ロジックを用いて手首候補を抽出する。制御部20は、連続性チェックを行ない、連続性チェックがNGの場合は、位置を補正して再探索を行なう。抽出した手首候補の重心を手首位置とする。左肘を起点とした位置を左手首、右肘を起点とした位置を右手首とする。
【0031】
(手検出)
制御部20は、前部位起点を肘位置、起点を手首位置として、部位検出共通ロジックを用いて手候補を抽出する。制御部20は、連続性チェックを行ない、連続性チェックがNGの場合は、位置を補正して再探索を行なう。抽出した手候補の重心を手位置とする。左手首を起点とした位置を左手、右手首を起点とした位置を右手とする。
【0032】
(未検出時の対応)
制御部20は、各部位が特徴点として未検出の場合(肩が隠れた時、手首が腕時計等で切れた時、等)、前フレームまでの検出結果を用いて補完処理を行う。例えば、1フレーム前の検出結果をそのまま再利用する方法や、KCF法等のトラッキング技術を活用する方法などがある。
【0033】
(処理装置1の動作)
図9で示す本発明の実施の形態に係る処理装置1の動作を示すフローチャートに基づいて、説明する。制御部20は、フローチャートに従って以下の演算、処理を実行する。
【0034】
(前処理、Step1)
制御部20には、TOFカメラ10からのカメラ画像が入力される。このカメラ画像は、連続するフレーム画像の1フレームとして入力される。制御部20は、特徴点検出処理の前処理として、カメラ画像を車両座標系へ変換して、
図3に示すような3次元画素群を抽出する。また、ボクセル作成パラメータ設定例に基づいてボクセルを作成する。また、特徴点探索の基準となる頭部の検出、特定を行なう。
【0035】
(肩の検出、Step2)
制御部20は、
図10に示すように、基準となる規定された1つの特徴点である、頭部位置300から、所定の距離だけオフセットした点を首位置305として算出する。起点を首位置305として、部位検出共通ロジックを用いて肩候補を抽出する。
図10に示すように、首位置より左側(-w軸側)の肩候補を左肩候補、右側(+w軸側)の肩候補を右肩候補とし、各候補の重心位置をそれぞれ左肩位置311、右肩位置310とする。
【0036】
(Step3)
制御部20は、肩の検出に成功したかどうかを判断する。制御部20は、上記説明した、(1)閾値処理、及び(2)連続性チェックにより、肩の検出に成功したかどうかを判断することができる。ただし、肩の検出に限って、首位置がボクセル値の低いボクセルに位置する可能性を考慮し、連続性チェックはしないものとする。肩の検出に成功した場合は、Step5へ進み(Step3:Yes)、肩の検出に成功しない場合は、Step4へ進む(Step3:No)。
【0037】
(補完処理、Step4)
制御部20は、肩の部位が未検出の場合(肩が隠れた時、等)、前フレームまでの検出結果を用いて補完処理を行う。例えば、1フレーム前の検出結果をそのまま再利用する方法や、KCF法等のトラッキング技術を活用する方法などがある。
【0038】
(肘の検出、Step5)
制御部20は、前部位起点を首位置305、起点を肩位置310、311として、部位検出共通ロジックを用いて肘候補を抽出する。連続性チェックがNGとなり、肘候補点が0の場合、肩が宙に浮いている(ボクセル値の低い位置にある)と考えられ、位置を補正して再探索する。補正方法は例えば、最も近い閾値以上のボクセル値を持つボクセルを選択することで行う。抽出した肘候補の重心を肘位置とする。
図10に示すように、左肩を起点とした位置を左肘321、右肩を起点とした位置を右肘320とする。
【0039】
(Step6)
制御部20は、肘の検出に成功したかどうかを判断する。制御部20は、上記説明した、(1)閾値処理、及び(2)連続性チェックにより、肘の検出に成功したかどうかを判断することができる。肘の検出に成功した場合は、Step8へ進み(Step6:Yes)、肘の検出に成功しない場合は、Step7へ進む(Step6:No)。
【0040】
(補完処理、Step7)
制御部20は、肘の部位が未検出の場合(肘が隠れた時、等)、前フレームまでの検出結果を用いて補完処理を行う。例えば、1フレーム前の検出結果をそのまま再利用する方法や、KCF法等のトラッキング技術を活用する方法などがある。
【0041】
(手首の検出、Step8)
制御部20は、前部位起点を肩位置310、311、起点を肘位置320、321として、部位検出共通ロジックを用いて手首候補を抽出する。抽出した手首候補の重心を手首位置とする。
図10に示すように、左肘を起点とした位置を左手首331、右肘を起点とした位置を右手首330とする。
【0042】
(Step9)
制御部20は、手首の検出に成功したかどうかを判断する。制御部20は、上記説明した、(1)閾値処理、及び(2)連続性チェックにより、手首の検出に成功したかどうかを判断することができる。手首の検出に成功した場合は、Step11へ進み(Step9:Yes)、手首の検出に成功しない場合は、Step10へ進む(Step9:No)。
【0043】
(補完処理、Step10)
制御部20は、手首の部位が未検出の場合(手首が腕時計等で切れた時、等)、前フレームまでの検出結果を用いて補完処理を行う。例えば、1フレーム前の検出結果をそのまま再利用する方法や、KCF法等のトラッキング技術を活用する方法などがある。
【0044】
(手の検出、Step11)
制御部20は、前部位起点を肘位置320、321、起点を手首位置330、331として、部位検出共通ロジックを用いて手候補を抽出する。抽出した手候補の重心を手位置とする。
図10に示すように、左手首を起点とした位置を左手341、右手首を起点とした位置を右手340とする。
【0045】
(Step12)
制御部20は、手の検出に成功したかどうかを判断する。制御部20は、上記説明した、(1)閾値処理、及び(2)連続性チェックにより、手の検出に成功したかどうかを判断することができる。手の検出に成功した場合は、Step14へ進み(Step12:Yes)、手の検出に成功しない場合は、Step13へ進む(Step12:No)。
【0046】
(補完処理、Step13)
制御部20は、手の部位が未検出の場合(手が隠れた時、等)、前フレームまでの検出結果を用いて補完処理を行う。例えば、1フレーム前の検出結果をそのまま再利用する方法や、KCF法等のトラッキング技術を活用する方法などがある。
【0047】
(Step14)
制御部20は、部位検出結果として、
図10に示すように、左右の肩、肘、手首、手の位置を出力することができる。なお、それぞれの位置は、車両座標系(w,l,h)で出力されるが、座標変換により、カメラ座標系(x,y,z)等の他の座標系での値としても出力可能である。
【0048】
上記の処理実行は、上記示した一連の動作として繰り返して実行することができる。
【0049】
(プログラムとしての実施形態)
コンピュータに、処理装置1で示した、車両の乗員を含む撮像領域を撮像対象とした距離画像であって、前記撮像対象までの距離情報を画素に割り当てた距離画像を取得する取得ステップと、車両8の車室内空間における座標系と距離画像における座標系との対応関係に従って、特定の座標系を有した検出画像へと変換し、その検出画像において、乗員5の特徴点を少なくとも1つ検出する特徴点検出処理を実行する制御ステップとを、コンピュータに実行させるためのプログラムも、本発明の実施の形態の一つである。
【0050】
処理装置1の動作で説明したStep1が距離画像を取得する取得ステップの一例であり、Step2からStep14が特定処理を実行する制御ステップの一例であり、
図9で示したフローチャートを実行する処理制御を、コンピュータに実行させるためのプログラムの実施形態とすることができる。
【0051】
また、上記のようなプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の実施の形態の一つである。
【0052】
(実施の形態の効果)
本発明の実施の形態によれば、以下のような効果を有する。
(1)本発明の実施の形態に係る処理装置は、車両8の乗員5を含む撮像領域を撮像対象とした距離画像であって、撮像対象までの距離情報を画素に割り当てた距離画像を取得する取得部としてのTOFカメラ10と、車両8の車室内空間における座標系と距離画像における座標系との対応関係に従って、特定の座標系を有した検出画像へと変換し、その検出画像において、乗員5の特徴点を少なくとも1つ検出する特徴点検出処理を実行する制御部20と、を有して構成されている。これにより、人体の特徴点を特定する技術において、その特徴点の特定精度を向上させることができる。
(2)3次元情報を活用することで、外乱光等による濃淡変化の影響によらず人の骨格を精度良く検出することができる。
(3)他の物体で隠れにくい頭部位置を検出の起点としているため、胴体の隠れによらず検出することができる。
(4)スケルトンモデルを用いて部位の探索範囲を絞り込むことで、処理の高速化が可能となる。
(5)前処理でボクセルを作成することで、3次元画素群の密度情報を容易に取得することができ、処理の高速化が可能となる。
(6)3次元情報を用いて前部位との連続性を確認することで、部位の位置を精度良く検出できる。
(7)連続性チェックで説明したように、許容ギャップ数を設けることで、腕時計等の影響による3次元情報の途切れにも対応できる。
(8)補完処理により、各部位の隠れなどにより未検出となった場合でも検出結果を出力することができ、ロバスト性が向上する。
【0053】
以上、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、一例に過ぎず、特許請求の範囲に係る発明を限定するものではない。また、これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、本発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更等を行うことができる。
【0054】
例えば、カメラ設置位置、角度は上記説明で示した例に限らない。また、カメラはTOFカメラに限らない。また、ステレオカメラ等、他の距離センサでもよい。また、スケルトンモデルの定義で示したパラメータはそれに限らない。また、補完処理はここで示した例に限らない。また、検出する部位は肩、肘、手首、手に限らない。例えば、肩、肘、手としてもよい。また、首位置の算出は上記した方法に限らない。例えば、頭部の傾きを考慮した算出方法としてもよい。
【0055】
また、これら実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない。さらに、これら実施の形態は、発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0056】
1…処理装置、5…乗員、8…車両、10…TOFカメラ、20…制御部、203…腰骨位置、250…母線、300…頭部位置、305…首位置、310、311…肩位置、320、321…肘位置、330、331…手首位置、340、341…手位置、P…起点