JP2020194294A - 関節点検出装置 - Google Patents
関節点検出装置 Download PDFInfo
- Publication number
- JP2020194294A JP2020194294A JP2019098788A JP2019098788A JP2020194294A JP 2020194294 A JP2020194294 A JP 2020194294A JP 2019098788 A JP2019098788 A JP 2019098788A JP 2019098788 A JP2019098788 A JP 2019098788A JP 2020194294 A JP2020194294 A JP 2020194294A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- joint point
- point
- points
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 38
- 239000013598 vector Substances 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 abstract description 15
- 238000000034 method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 11
- 238000003384 imaging method Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000036544 posture Effects 0.000 description 3
- 210000005069 ears Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】一例として、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる関節点検出装置を提供すること。【解決手段】実施形態に係る関節点検出装置は、対象領域の距離画像および輝度画像のうち少なくとも一方に基づき、対象領域に含まれる複数の関節点を検出する検出部と、距離画像に基づき、複数の関節点を人体ごとに分類する分類部とを備える。【選択図】図3
Description
本開示は、関節点検出装置に関する。
従来、撮像装置によって撮像された画像から人体の関節点の座標を推定する技術が知られている。
非特許文献1には、関節点間の関連度(PAF:Part Affinity Fields)を算出し、算出した関連度に基づき、複数の関節点を人体ごとに分類する技術が開示されている。かかる技術によれば、画像に複数の人体が写り込んでいる場合であっても、人体ごとの姿勢を推定することができる。
"Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields" Zhe Cao<インターネット>https://arxiv.org/pdf/1611.08050.pdf (平成31年4月10日検索)
しかしながら、関節点間の関連度は演算量が大きいため、たとえばリアルタイムに人体の関節点を検出するためには、高い演算能力を持つ演算装置が必要となる。
本開示は、一例として、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる関節点検出装置を提供する。
本開示に係る関節点検出装置は、一例として、対象領域の距離画像および輝度画像のうち少なくとも一方に基づき、前記対象領域に含まれる複数の関節点を検出する検出部と、前記距離画像に基づき、前記複数の関節点を人体ごとに分類する分類部とを備える。対象領域に含まれる複数の関節点を距離画像に基づいて人体ごとに分類することで、たとえばPAFによる従来の分類手法と比較して演算量を低減することができる。
上記関節点検出装置において、前記分類部は、前記複数の関節点のうちの対象関節点と、前記対象関節点に接続される前記関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ線分上に存在する各点の距離の総和に基づく乖離度を前記複数の接続候補関節点ごとに算出し、前記複数の接続候補関節点のうち、前記乖離度が最も小さい前記接続候補関節点を、前記対象関節点に接続される前記関節点として決定する。
異なる人物の関節点同士を結んだ線分上には、たとえば背景部分等、距離が大きくなる箇所が存在する可能性が高い。そこで、分類部は、複数の接続候補関節点のうち乖離度が低い接続候補関節点を、対象関節点と接続される関節点として決定する。これにより、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる。
上記関節点検出装置において、前記分類部は、前記複数の関節点のうち距離が最も近い前記関節点から順に前記対象関節点として選択する。このように、距離が最も近い関節点から順に対象関節点として選択することで、乖離度を適切に求めることができる。
上記関節点検出装置において、前記分類部は、線分上に存在する各点の座標をブレゼンハムのアルゴリズムを用いて算出する。ブレゼンハムのアルゴリズムは、整数の加減算とビットシフトのみで実装可能であるため、ブレゼンハムのアルゴリズムを用いることで、線分上に存在する各点の座標を少ない演算量で高速に算出することができる。
上記関節点検出装置において、前記分類部は、前記複数の関節点のうちの対象関節点と、前記対象関節点に接続される前記関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ関節点間ベクトルを算出し、前記対象関節点と前記複数の接続候補関節点のうちの1つとを結ぶ線分を分割する複数の分割点間を結ぶ複数の分割点間ベクトルを算出し、前記関節点間ベクトルと前記複数の分割点間ベクトルとの向きの一致度を複数の接続候補関節点ごとに算出し、前記複数の接続候補関節点のうち、前記一致度が最も高い前記接続候補関節点を、前記対象関節点に接続される前記関節点として決定する。
同一人物の関節点同士を対象関節点および接続候補関節点とした場合、関節点間ベクトルの向きと複数の分割点間ベクトルの向きとは理論上一致するため、一致度は高くなる。これに対し、異なる人物の関節点同士を対象関節点および接続候補関節点とした場合の一致度は、同一人物の関節点同士を対象関節点および接続候補関節点とした場合と比較して小さくなる。これは、対象関節点と接続候補関節点とが異なる人物の関節点同士である場合、関節点間ベクトルの向きと、複数の分割点間ベクトルの向きとが一致しないためである。そこで、分類部は、複数の接続候補関節点のうち一致度が高い接続候補関節点を対象関節点と接続される関節点として決定する。これにより、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる。
以下に、本開示に係る関節点検出装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本開示に係る関節点検出装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(第1実施形態)
〔1.車両1の構成〕
図1は、第1実施形態に係る関節点検出装置が搭載される車両1の車室内を上方から見た平面図である。図1に示すように、車両1の車室内には、複数の座席2が設けられている。たとえば、車室内の前方側には運転席2aおよび助手席2bが設けられ、後方側には複数の後部座席2cが設けられる。
〔1.車両1の構成〕
図1は、第1実施形態に係る関節点検出装置が搭載される車両1の車室内を上方から見た平面図である。図1に示すように、車両1の車室内には、複数の座席2が設けられている。たとえば、車室内の前方側には運転席2aおよび助手席2bが設けられ、後方側には複数の後部座席2cが設けられる。
車室内の前方側には、撮像装置3が設けられる。撮像装置3は、たとえば、TOF(Time OF Flight)距離画像カメラであり、輝度画像および距離画像を撮像する。輝度画像は、輝度値を画素値とする画像である。また、距離画像は、撮像装置3によって撮像される車室内の対象領域(撮像領域)に含まれる各点から撮像装置3(撮像位置)までの距離値を画素値とする画像である。
第1実施形態において、撮像装置3は、車室内の全ての座席2を撮像可能なように、言い換えれば、車室内の乗員全員を撮像可能なように、向き、画角および設置位置等が決められる。たとえば、撮像装置3は、ダッシュボード、ルームミラー、天井等に設置され得る。なお、これに限らず、撮像装置3は、特定の座席2(たとえば、運転席2a)に着座した乗員のみを撮像可能な位置に配置されてもよい。
ここでは、1台の撮像装置3を用いて輝度画像および距離画像の両方を撮像するものとするが、車両1には、たとえば、輝度画像を撮像する撮像装置と距離画像を撮像する撮像装置とが別々に設けられてもよい。距離画像を撮像する撮像装置は、TOF距離画像カメラに限定されず、たとえば、ステレオカメラの他、ストラクチャードライト方式による3Dスキャナ等であってもよい。
〔2.制御システム100の構成〕
車両1には、関節点検出装置を含む制御システム100が設けられる。かかる制御システム100の構成について図2を参照して説明する。図2は、第1実施形態に係る制御システム100の構成を示すブロック図である。
車両1には、関節点検出装置を含む制御システム100が設けられる。かかる制御システム100の構成について図2を参照して説明する。図2は、第1実施形態に係る制御システム100の構成を示すブロック図である。
図2に示すように、制御システム100は、撮像装置3と、車載機器8と、ECU10と、車内ネットワーク20とを備える。ECU10は、関節点検出装置の一例である。
撮像装置3は、たとえばNTSC(National Television System Committee)ケーブル等の出力線を介してECU10に接続され、撮像した輝度画像および距離画像を出力線を介してECU10に出力する。
車載機器8は、車両1に搭載され、ECU10によって制御される機器である。たとえば、複数の座席2に対応して設けられる複数のエアバッグ装置である。エアバッグ装置は、車両1の衝突時などにエアバッグを展開することによって、座席2に着座した乗員を衝撃から保護する。エアバッグ装置は、ECU10の制御に応じて、エアバッグの展開力を切り替えることが可能であるものとする。
なお、車載機器8は、エアバッグ装置に限定されない。たとえば、車載機器8は、座席2の位置を調整するシート調整装置であってもよい。たとえば、シート調整装置は、運転席2aと助手席2bとに設けられ、運転席2aおよび助手席2bの前後位置や高さ位置等を調整する。
ECU10は、車内ネットワーク20を介して制御信号を送ることにより、各種の車載機器8を制御することができる。その他、ECU10は、ブレーキシステムの制御、操舵システムの制御等を実行し得る。
ECU10は、たとえば、CPU(Central Processing Unit)11と、SSD(Solid State Drive)12と、ROM(Read Only Memory)13と、RAM(Random Access Memory)14とを備える。CPU11は、ROM13等の不揮発性の記憶装置にインストールされ記憶されたプログラムを実行することによって、関節点検出装置としての機能を実現する。RAM14は、CPU11での演算で用いられる各種のデータを一時的に記憶する。SSD12は、書き換え可能な不揮発性の記憶装置であって、ECU10の電源がオフされた場合にあってもデータを記憶することができる。CPU11、ROM13、およびRAM14等は、同一パッケージ内に集積され得る。ECU10は、CPU11に替えて、DSP(Digital Signal Processor)等の他の論理演算プロセッサや論理回路等が用いられる構成であってもよい。SSD12に替えてHDD(Hard Disk Drive)、Flash Memory等の書き替え可能な不揮発性の記憶装置が設けられてもよいし、SSD12またはHDDは、ECU10とは別に設けられてもよい。
〔3.ECU10の機能的構成〕
次に、ECU10の機能的構成について図3を参照して説明する。図3は、第1実施形態に係るECU10の機能的構成を示すブロック図である。
次に、ECU10の機能的構成について図3を参照して説明する。図3は、第1実施形態に係るECU10の機能的構成を示すブロック図である。
図3に示すように、ECU10は、制御部50と、記憶部60とを備える。制御部50は、取得部51と、関節点検出部52と、分類部53と、人体情報生成部54と、機器制御部55とを備える。記憶部60は、輝度画像61と、距離画像62と、関節点情報63と、分類済関節点情報64と、人体情報65とを記憶する。
取得部51、関節点検出部52、分類部53、人体情報生成部54および機器制御部55は、CPU11が、ROM13に格納されたプログラムを実行することによって実現される。なお、これらの構成は、ハードウェア回路にて実現されてもよい。記憶部60は、たとえばSSD12により構成される。
取得部51は、撮像装置3によって撮像された輝度画像および距離画像を撮像装置3から取得する。取得部51は、取得した輝度画像および距離画像を記憶部60に記憶する(図3中、輝度画像61および距離画像62に相当)。
関節点検出部52は、記憶部60に記憶された輝度画像61を用い、対象領域に含まれる複数の関節点を検出する。関節点とは、人体の各部位の位置を示す特徴点であり、肩や肘といった関節だけでなく、首の付け根、鼻、目、耳等の部位も含む。関節点の検出手法としては、たとえば、PCM(Part Confidence Maps)を用いることができるが、PCMに限らず、いかなる公知技術を用いても構わない。関節点検出部52は、検出した複数の関節点の情報を関節点情報63として記憶部60に記憶する。
図4は、関節点情報の一例を示す図である。図4に示すように、関節点情報63には、各関節点の2次元座標(X座標、Y座標)の他、各関節点の部位の情報が含まれる。たとえば、対象領域Rから検出された複数の関節点のうち、関節点p1,q1には、関節点p1,q1の部位が「肩」であることを示す情報が含まれる。同様に、関節点p2,q2には、関節点p2,q2の部位が「肘」であることを示す情報が含まれ、関節点p3,q3には、関節点p3,q3の部位が「首」であることを示す情報が含まれる。
関節点情報63だけでは、検出された関節点が人物M1および人物M2のいずれの関節点であるかを判別することができない。PAF(Part Affinity Fields)に基づいて、複数の関節点を人体ごとに分類することは可能であるが、PAFは演算量が大きいため、たとえばリアルタイムに人体の関節点を検出するためには高い演算能力を持つ演算装置が必要となる。
分類部53は、記憶部60に記憶された距離画像62に基づき、複数の関節点を人物ごとに分類する。
第1実施形態に係る分類部53は、距離画像62を用いて「乖離度」を算出する。乖離度とは、ある関節点(後述する対象関節点)と他の関節点(後述する接続候補関節点)との結びつきの低さの度合いを示す値である。
図5は、乖離度の算出手順の説明図である。図5には、関節点p1が対象関節点として選択された場合の例を示している。
分類部53は、対象関節点である関節点p1の部位と隣接する部位の関節点を接続候補関節点として選択する。図5に示すように、関節点p1の部位は「肩」である。このため、分類部53は、肩に隣接する部位である「肘」の関節点p2,q2を接続候補関節点として選択する。
つづいて、分類部53は、関節点p1と関節点p2との乖離度を算出する。具体的には、分類部53は、まず、関節点p1と関節点p2とを端点とする線分L1上に存在する各点の座標を算出する。この処理は、たとえば、ブレゼンハムのアルゴリズム(Bresenham's line algorithm)を用いて行われる。ブレゼンハムのアルゴリズムは、与えられた始点と終点の間に連続した複数の点を置き、近似的な直線を引くためのアルゴリズムである。ブレゼンハムのアルゴリズムは、整数の加減算とビットシフトのみで実装可能であるため、ブレゼンハムのアルゴリズムを用いることで、線分L1上に存在する複数の画素を少ない演算量で高速に特定することができる。
つづいて、分類部53は、線分L1上の各座標に位置する画素の距離値を距離画像62から取得する。そして、分類部53は、線分L1上に存在する複数の画素の距離値の総和を線分L1上に存在する複数の画素の数で割った値を乖離度として算出する。すなわち、線分L1上に存在する画素の数をk、各画素の距離値をZiとしたとき、乖離度は、下記の数式(1)で定義される。
乖離度は、画素の数kによって正規化されるが、これは、線分上に存在する画素の数が線分ごとに異なるためである。なお、線分L1上に存在する画素の数kは、端点である関節点p1,q1を含んでもよいし、含まなくてもよい。
分類部53は、関節点p1と関節点q2とを端点とする線分L2についても上記と同様の手順で乖離度を算出する。
関節点p1,p2のように同一人物M1の関節点同士は、多くの場合、平坦な面でつながる。これは、同一人物の関節点同士を結ぶ線分上には、基本的には、その人物の画素しか存在せず、その人物よりも遠くに位置する背景の画素は線分上に存在し得ないためである。
これに対し、関節点p1,q2のように異なる人物M1,M2の関節点同士を結んだ線分L2上には、距離が大きくなる箇所が存在する可能性が高い。たとえば、図5に示す例の場合、関節点p1と関節点q2とを結ぶ線分L2上には、人物M1,M2よりも後方に位置する後部座席2cの画素が存在する。この部分の画素の距離値は、人物M1,M2の部分の画素の距離値と比較して大きいため、関節点p1および関節点q2の組み合わせの乖離度は、関節点p1および関節点p2の組み合わせの乖離度よりも高くなる。
分類部53は、接続候補関節点である関節点p2,q2のうち、乖離度が低い関節点p2を、対象関節点である関節点p1と接続される「肘」の関節点として決定する。具体的には、分類部53は、関節点p1と関節点p2に対し、同一人物M1の関節点であることを示す情報(以下、「人物情報」と記載する)を付加する。
分類部53は、上述した肘以外に、関節点p1の部位である肩に隣接する部位である「首」についても同様に、乖離度に基づく分類を行う。すなわち、分類部53は、関節点p1を対象関節点、関節点p3,q3(図4参照)を接続候補関節点とし、関節点p1,p3の組み合わせおよび関節点p1,q3の組み合わせについてそれぞれ乖離度を算出し、乖離度が低い方の接続候補関節点すなわち関節点p3を、関節点p1と接続される「首」の関節点として決定する。
このようにして、全ての関節点の全ての組み合わせについての分類を終えると、分類部53は、関節点情報63に人物情報を付加した分類済関節点情報64を記憶部60に記憶する。分類済関節点情報64は、各関節点の2次元座標、各関節点の部位および各関節点の人物情報を含んだ情報である。これにより、関節点p1〜p3を含む人物M1の関節点には、同一の人物情報(たとえば、M1)が付加される。また、関節点q1〜q3を含む人物M2の関節点には、同一の人物情報(たとえば、M2)が付加される。このように、関節点情報63に人物情報を付加することで、対象領域Rから検出された複数の関節点を人物ごとに分類することができる。
人体情報生成部54は、記憶部60に記憶された分類済関節点情報64に基づき、乗員の各部位の長さを含む人体情報を生成する。たとえば、人体情報生成部54は、人物M1について、左肩の関節点p1と右肩の関節点との距離を算出することで、人物M1の肩幅の情報を得ることができる。人体情報生成部54は、人物M1,M2ごとに分類された分類済関節点情報64を用いて人物M1,M2ごとに人体情報を生成する。そして、人体情報生成部54は、生成した人体情報65を記憶部60に記憶する。
なお、人体情報生成部54は、分類済関節点情報64に基づいて人物M1,M2の姿勢を推定してもよい。
機器制御部55は、記憶部60に記憶された人体情報65に基づき、車両1に搭載される各種の車載機器8を制御する。一例として、機器制御部55は、人体情報65に基づき、車載機器8としてのエアバッグ装置を制御することができる。たとえば、人体情報65に含まれる乗員の肩幅が閾値以下である場合、乗員が子供であると判定して、エアバッグ装置の展開モードを、大人用の通常モードよりも弱く展開する弱展開モードに切り替えてもよい。このように、乗員の体格に応じた強度でエアバッグを展開させることで、エアバッグの安全性を高めることができる。
また、機器制御部55は、人体情報65に基づき、車載機器8としてのシート調整装置を制御することにより、座席2の前後位置や高さ位置等を、乗員の身長等に応じて自動的に調整することができる。これにより、座席2の位置等を乗員が自ら調整する手間を省くことができる。
〔4.ECU10の具体的動作〕
次に、ECU10の具体的動作について図6を参照して説明する。図6は、第1実施形態に係るECU10が実行する処理の手順を示すフローチャートである。なお、図6には、1つの対象関節点の1つの組み合わせを決定するまでの手順を示している。
次に、ECU10の具体的動作について図6を参照して説明する。図6は、第1実施形態に係るECU10が実行する処理の手順を示すフローチャートである。なお、図6には、1つの対象関節点の1つの組み合わせを決定するまでの手順を示している。
図6に示すように、ECU10は、対象領域Rから検出された複数の関節点のうち、距離値が最も小さい関節点を対象関節点として選択する(ステップS101)。つづいて、ECU10は、対象領域Rから検出された複数の関節点のうち、対象関節点の部位と隣接する部位の関節点を接続候補関節点として選択する(ステップS102)。
つづいて、ECU10は、対象関節点と接続候補関節点とを結ぶ線分上の各点の座標を算出し(ステップS103)、算出した各座標の距離値を用いて乖離度を算出する(ステップS104)。
つづいて、ECU10は、全ての接続候補関節点の乖離度を算出し終えたか否かを判定する(ステップS105)。この処理において、乖離度を算出していない接続候補関節点が存在する場合(ステップS105,No)、ECU10は、処理をステップS103に戻し、乖離度を算出していない接続候補関節点について、ステップS103〜S105の処理を行う。
一方、ステップS105において、全ての接続候補関節点の乖離度を算出し終えたと判定した場合(ステップS105,Yes)、ECU10は、乖離度が最も低い接続候補関節点を対象関節点と接続される関節点として決定し(ステップS106)、1つの対象関節点の1つの組み合わせについての処理を終了する。
ECU10は、1つの対象関節点についての全ての組み合わせ(たとえば、対象関節点が肩であれば、「肩および肘」、「肩および首」)を決定した後、その対象関節点の次に距離値が小さい関節点を対象関節点として選択して(ステップS101)、ステップS102以降の処理を行う。このとき、ECU10は、全ての組み合わせが決定された対象関節点を、次の対象関節点についての接続候補関節点から除外する。
たとえば後部座席2cに着座した人物の関節点が対象関節点として選択された場合に、運転席2aに着座した人物の関節点が接続候補関節点として選択されると、異なる人物の関節点同士の乖離度が、同一人物の関節点同士の乖離度よりも低くなるおそれがある。これに対し、距離が最も近い関節点から順に対象関節点として選択するとともに、全ての組み合わせが決定された対象関節点を次の対象関節点の接続候補関節点として選択しないようにすることで、乖離度を適切に求めることができる。
(第2実施形態)
次に、第2実施形態に係る複数の関節点の分類手法について図7〜図9を参照して説明する。図7〜図9は、一致度の算出手順の説明図である。
次に、第2実施形態に係る複数の関節点の分類手法について図7〜図9を参照して説明する。図7〜図9は、一致度の算出手順の説明図である。
第2実施形態に係る分類部53は、距離画像62を用いて「一致度」を算出する。一致度とは、対象関節点と接続候補関節点とを結ぶベクトルの向きと、対象関節点と接続候補関節点とを結ぶ線分を複数の分割点で分割した場合の各分割点間のベクトルの向きとの一致度である。
たとえば、図7に示すように、分類部53は、対象関節点である関節点p1から接続候補関節点である関節点p2に向かう関節点間ベクトルva0を距離画像62の距離値に基づいて算出する。
具体的には、関節点p1,p2の3次元座標(X座標、Y座標、および距離値)をそれぞれP1=(X1,Y1,Z1)、P2=(X2,Y2,Z2)とすると、関節点間ベクトルva0は、(X2−X1,Y2−Y1,Z2−Z1)となる。
また、分類部53は、関節点p1と関節点p2とを結ぶ2次元座標上の線分を均等に分割する複数の分割点a1,a2,a3を設定する。そして、分類部53は、関節点p1から分割点a1に向かう分割点間ベクトルva1、分割点a1から分割点a2に向かう分割点間ベクトルva2、分割点a2から分割点a3に向かう分割点間ベクトルva3、分割点a3から関節点p2に向かう分割点間ベクトルva4を距離画像62の距離値に基づいて算出する。
具体的には、分割点a1〜a3の3次元座標をそれぞれa1=(Xa1,Ya1,Za1)、a2=(Xa2,Ya2,Za2)、a3=(Xa3,Ya3,Za3)とすると、分割点間ベクトルva1は、(Xa1−X1,Ya1−Y1,Za1−Z1)、分割点間ベクトルva2は、(Xa2−Xa1,Ya2−Ya1,Za2−Za1)、分割点間ベクトルva3は、(Xa3−Xa2,Ya3−Ya2,Za3−Za2)、分割点間ベクトルva4は、(X2−Xa3,Y2−Ya3,Z2−Za3)となる。
そして、分類部53は、関節点p1,p2についてのベクトルの向きの一致度を算出する。ここで、一致度は、1−(sin2θ1+sin2θ2+・・・+sin2θk)/kで定義される。「k」は線分の分割数であり、図7に示す例の場合、「k」は4である。また、「θ1」は、分割点間ベクトルと関節点間ベクトルとのなす角であり、図7に示す例の場合、「θ1」は、分割点間ベクトルva1と関節点間ベクトルva0とのなす角である。
また、1−(sin2θ1+sin2θ2+・・・+sin2θk)/kは、1−(1−cos2θ1+1−cos2θ2+・・・+1−cos2θk)/kと変換することができる。そこで、分類部53は、これをさらに変換し、{((va1・va0)/(|va1|・|va0|))2+((va2・va0)/(|va2|・|va0|))2+・・・((vak・va0)/(|vak|・|va0|))2}/kの式を用いて一致度を算出する。
同様に、分類部53は、対象関節点である関節点p1から接続候補関節点である関節点q2に向かう関節点間ベクトルvb0を算出する。また、分類部53は、関節点p1と関節点q2とを結ぶ線分を分割する複数の分割点b1,b2,b3を設定し、関節点p1から分割点b1に向かう分割点間ベクトルvb1、分割点b1から分割点b2に向かう分割点間ベクトルvb2、分割点b2から分割点b3に向かう分割点間ベクトルvb3、分割点b3から関節点q2に向かう分割点間ベクトルvb4を算出する。そして、分類部53は、関節点間ベクトルvb0および分割点間ベクトルvb1〜vb4を用いて一致度を算出する。
ここで、関節点p1,p2のように同一人物M1の関節点同士を対象関節点および接続候補関節点とした場合の一致度は、理論上1となる。これは、たとえば図8に示すように、対象関節点(関節点p1)と接続候補関節点(関節点p2)とが同一人物M1の関節点同士であれば、関節点間ベクトルva0の向きと、各分割点間ベクトルva1〜va4の向きとが理論上一致し、「θ1」〜「θk」が全て0となることで、「1−cos2θ1」、「1−cos2θ2」・・・「1−cos2θk」の値が全て0になるためである。
これに対し、関節点p1,q2のように異なる人物M1,M2の関節点同士を対象関節点および接続候補関節点とした場合の一致度は、1よりも低くなる。これは、たとえば図9に示すように、対象関節点(関節点p1)と接続候補関節点(関節点q2)とが異なる人物M1,M2の関節点同士である場合、関節点間ベクトルvb0の向きと、各分割点間ベクトルvb1〜vb4の向きとが一致しないためである。
分類部53は、接続候補関節点である関節点p2,q2のうち、一致度が高い関節点p2を、対象関節点である関節点p1と接続される「肘」の関節点として決定する。具体的には、分類部53は、関節点p1と関節点p2に対し、同一人物M1の関節点であることを示す人物情報を付加する。
次に、第2実施形態に係るECU10の具体的動作について図10を参照して説明する。図10は、第2実施形態に係るECUが実行する処理の手順を示すフローチャートである。図10には、1つの対象関節点の1つの組み合わせを決定するまでの手順を示している。
図10に示すように、ECU10は、対象領域Rから検出された複数の関節点のうち、距離値が最も小さい関節点を対象関節点として選択する(ステップS201)。つづいて、ECU10は、対象領域Rから検出された複数の関節点のうち、対象関節点の部位と隣接する部位の関節点を接続候補関節点として選択する(ステップS202)。
つづいて、ECU10は、関節点間ベクトルを算出するとともに(ステップS203)、分割点間ベクトルを算出し(ステップS204)、一致度を算出する(ステップS205)。
つづいて、ECU10は、全ての接続候補関節点の一致度を算出し終えたか否かを判定する(ステップS206)。この処理において、一致度を算出していない接続候補関節点が存在する場合(ステップS206,No)、ECU10は、処理をステップS203に戻し、一致度を算出していない接続候補関節点について、ステップS203〜S206の処理を行う。
一方、ステップS206において、全ての接続候補関節点の一致度を算出し終えたと判定した場合(ステップS206,Yes)、ECU10は、一致度が最も高い接続候補関節点を対象関節点と接続される関節点として決定し(ステップS207)、1つの対象関節点の1つの組み合わせについての処理を終了する。
(変形例)
ECU10は、上述した乖離度および一致度の両方を算出し、乖離度および一致度に基づいて、対象関節点に接続される関節点を決定してもよい。この際、ECU10は、周囲の明るさ等の状況に応じて乖離度および一致度の何れか一方に重み付けを行ってもよい。
ECU10は、上述した乖離度および一致度の両方を算出し、乖離度および一致度に基づいて、対象関節点に接続される関節点を決定してもよい。この際、ECU10は、周囲の明るさ等の状況に応じて乖離度および一致度の何れか一方に重み付けを行ってもよい。
上述した実施形態では、関節点検出部52が、輝度画像61を用いて関節点情報63を生成する場合の例について説明した。これに限らず、関節点検出部52は、距離画像62を用いて関節点情報63を生成してもよい。また、関節点検出部52は、輝度画像61および距離画像62の両方を用いて関節点情報63を生成してもよい。
上述した実施形態では、関節点検出装置としてのECU10を用いて、車両1の車室内に存在する乗員の人体情報を取得する場合の例を示したが、関節点検出装置は、たとえば、工場で作業する作業者の負荷を監視するために、作業者の姿勢といった人体情報を取得する等、他の用途にも用いられ得る。
上述してきたように、実施形態に係る関節点検出装置(一例として、ECU10)は、対象領域(一例として、対象領域R)の距離画像(一例として、距離画像62)および輝度画像(一例として、輝度画像61)のうち少なくとも一方に基づき、対象領域に含まれる複数の関節点を検出する検出部(一例として、関節点検出部52)と、距離画像に基づき、複数の関節点を人体ごとに分類する分類部(一例として、分類部53)とを備える。対象領域に含まれる複数の関節点を距離画像に基づいて人体ごとに分類することで、たとえばPAFによる従来の分類手法と比較して演算量を低減することができる。
上記関節点検出装置において、分類部は、複数の関節点のうちの対象関節点と、対象関節点に接続される関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ線分上に存在する各点の距離の総和に基づく乖離度を複数の接続候補関節点ごとに算出する。そして、分類部は、複数の接続候補関節点のうち、乖離度が最も低い接続候補関節点を、対象関節点に接続される関節点として決定する。
異なる人物の関節点同士を結んだ線分上には、たとえば背景部分等、距離が大きくなる箇所が存在する可能性が高い。このため、乖離度が低い接続候補関節点を対象関節点と接続される関節点として決定する。これにより、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる。
上記関節点検出装置において、分類部は、複数の関節点のうち距離が最も近い関節点から順に対象関節点として選択する。このように、距離が最も近い関節点から順に対象関節点として選択することで、乖離度を適切に求めることができる。
上記関節点検出装置において、分類部は、線分上に存在する各点の座標をブレゼンハムのアルゴリズムを用いて算出する。ブレゼンハムのアルゴリズムは、整数の加減算とビットシフトのみで実装可能であるため、ブレゼンハムのアルゴリズムを用いることで、線分上に存在する各点の座標を少ない演算量で高速に算出することができる。
上記関節点検出装置において、分類部は、複数の関節点のうちの対象関節点と、対象関節点に接続される関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ関節点間ベクトルを算出する。また、分類部は、対象関節点と複数の接続候補関節点のうちの1つとを結ぶ線分を分割する複数の分割点間を結ぶ複数の分割点間ベクトルを算出する。また、分類部は、関節点間ベクトルと複数の分割点間ベクトルとの向きの一致度を複数の接続候補関節点ごとに算出する。そして、分類部は、複数の接続候補関節点のうち一致度が最も高い接続候補関節点を対象関節点に接続される関節点として決定する。
同一人物の関節点同士を対象関節点および接続候補関節点とした場合、関節点間ベクトルの向きと複数の分割点間ベクトルの向きとは理論上一致するため、この場合の一致度は高くなる。これに対し、異なる人物の関節点同士を対象関節点および接続候補関節点とした場合の一致度は、同一人物の関節点同士を対象関節点および接続候補関節点とした場合と比較して小さくなる。これは、対象関節点と接続候補関節点とが異なる人物の関節点同士である場合、関節点間ベクトルの向きと、複数の分割点間ベクトルの向きとが一致しないためである。そこで、分類部は、複数の接続候補関節点のうち一致度が高い接続候補関節点を対象関節点と接続される関節点として決定する。これにより、画像から取得される複数の関節点を少ない演算量で人体ごとに分類することができる。
以上、本開示の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。
1…車両、2…座席、3…撮像装置、8…車載機器、10…ECU、50…制御部、51…取得部、52…関節点検出部、53…分類部、54…人体情報生成部、55…機器制御部、60…記憶部、61…輝度画像、62…距離画像、63…関節点情報、64…分類済関節点情報、65…人体情報。
Claims (5)
- 対象領域の距離画像および輝度画像のうち少なくとも一方に基づき、前記対象領域に含まれる複数の関節点を検出する検出部と、
前記距離画像に基づき、前記複数の関節点を人体ごとに分類する分類部と
を備える、関節点検出装置。 - 前記分類部は、
前記複数の関節点のうちの対象関節点と、前記対象関節点に接続される前記関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ線分上に存在する各点の距離の総和に基づく乖離度を前記複数の接続候補関節点ごとに算出し、前記複数の接続候補関節点のうち、前記乖離度が最も小さい前記接続候補関節点を、前記対象関節点に接続される前記関節点として決定する、請求項1に記載の関節点検出装置。 - 前記分類部は、
前記複数の関節点のうち距離が最も近い前記関節点から順に前記対象関節点として選択する、請求項2に記載の関節点検出装置。 - 前記分類部は、
線分上に存在する各点の座標をブレゼンハムのアルゴリズムを用いて算出する、請求項3に記載の関節点検出装置。 - 前記分類部は、
前記複数の関節点のうちの対象関節点と、前記対象関節点に接続される前記関節点の候補である複数の接続候補関節点のうちの1つとを結ぶ関節点間ベクトルを算出し、前記対象関節点と前記複数の接続候補関節点のうちの1つとを結ぶ線分を分割する複数の分割点間を結ぶ複数の分割点間ベクトルを算出し、前記関節点間ベクトルと前記複数の分割点間ベクトルとの向きの一致度を複数の接続候補関節点ごとに算出し、前記複数の接続候補関節点のうち、前記一致度が最も高い前記接続候補関節点を、前記対象関節点に接続される前記関節点として決定する、請求項1〜4のいずれか一つに記載の関節点検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019098788A JP2020194294A (ja) | 2019-05-27 | 2019-05-27 | 関節点検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019098788A JP2020194294A (ja) | 2019-05-27 | 2019-05-27 | 関節点検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020194294A true JP2020194294A (ja) | 2020-12-03 |
Family
ID=73548643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019098788A Pending JP2020194294A (ja) | 2019-05-27 | 2019-05-27 | 関節点検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020194294A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023228304A1 (en) * | 2022-05-25 | 2023-11-30 | Nec Corporation | Key-point associating apparatus, key-point associating method, and non-transitory computer-readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014155693A (ja) * | 2012-12-28 | 2014-08-28 | Toshiba Corp | 動作情報処理装置及びプログラム |
JP2019040306A (ja) * | 2017-08-23 | 2019-03-14 | 株式会社 ディー・エヌ・エー | 情報処理装置、情報処理プログラム、及び、情報処理方法 |
-
2019
- 2019-05-27 JP JP2019098788A patent/JP2020194294A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014155693A (ja) * | 2012-12-28 | 2014-08-28 | Toshiba Corp | 動作情報処理装置及びプログラム |
JP2019040306A (ja) * | 2017-08-23 | 2019-03-14 | 株式会社 ディー・エヌ・エー | 情報処理装置、情報処理プログラム、及び、情報処理方法 |
Non-Patent Citations (1)
Title |
---|
ANGEL MARTINEZ-GONZALEZ, ET AL.: "Real-time Convolutional Networks for Depth-based Human Pose Estimation", 2018 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), JPN6023008245, 1 October 2018 (2018-10-01), US, pages 41 - 47, ISSN: 0005143544 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023228304A1 (en) * | 2022-05-25 | 2023-11-30 | Nec Corporation | Key-point associating apparatus, key-point associating method, and non-transitory computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4899424B2 (ja) | 物体検出装置 | |
JP3797949B2 (ja) | 画像処理装置及びその方法 | |
US9493120B2 (en) | Image generator | |
JP2008002838A (ja) | 車両乗員検出システム、作動装置制御システム、車両 | |
JP6739672B2 (ja) | 体格推定装置および体格推定方法 | |
US20200090299A1 (en) | Three-dimensional skeleton information generating apparatus | |
JP6565188B2 (ja) | 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム | |
JP2007514211A (ja) | 深度データを用いたビジュアルトラッキング | |
CN114144814A (zh) | 用于测量车辆中对象的质量的***、装置和方法 | |
CN110537207B (zh) | 脸部朝向推定装置及脸部朝向推定方法 | |
JP6479272B1 (ja) | 視線方向較正装置、視線方向較正方法および視線方向較正プログラム | |
US20080001386A1 (en) | Distance detecting apparatus, air bag system controlling apparatus, and method of detecting distance | |
US11153484B2 (en) | Image processing device and image processing method | |
JP2010079582A (ja) | 物体を検出する装置、方法及びプログラム | |
JP6778620B2 (ja) | 区画線検出装置、区画線検出システム、及び区画線検出方法 | |
US20190329671A1 (en) | Occupant information determination apparatus | |
JP6543935B2 (ja) | 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム | |
JP2020194294A (ja) | 関節点検出装置 | |
JP4873711B2 (ja) | 三次元物体を検出する装置 | |
JP6519138B2 (ja) | 視差値導出装置、移動体、ロボット、視差値生産方法、及びプログラム | |
CN112339769B (zh) | 基于车身测量的个性化设置 | |
JP2017167970A (ja) | 画像処理装置、物体認識装置、機器制御システム、画像処理方法およびプログラム | |
JP2019217830A (ja) | 乗員認識装置 | |
JP2021056968A (ja) | 物体判定装置 | |
JP2021103092A (ja) | シート姿勢検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230307 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230905 |