JP2019066238A - 姿勢推定システム、姿勢推定装置、及び距離画像カメラ - Google Patents

姿勢推定システム、姿勢推定装置、及び距離画像カメラ Download PDF

Info

Publication number
JP2019066238A
JP2019066238A JP2017189994A JP2017189994A JP2019066238A JP 2019066238 A JP2019066238 A JP 2019066238A JP 2017189994 A JP2017189994 A JP 2017189994A JP 2017189994 A JP2017189994 A JP 2017189994A JP 2019066238 A JP2019066238 A JP 2019066238A
Authority
JP
Japan
Prior art keywords
distance image
unit
posture estimation
joint
joint position
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.)
Granted
Application number
JP2017189994A
Other languages
English (en)
Other versions
JP6853156B2 (ja
Inventor
昭信 渡邊
Akinobu Watanabe
昭信 渡邊
克行 中村
Katsuyuki Nakamura
克行 中村
味松 康行
Yasuyuki Ajimatsu
康行 味松
俊夫 上村
Toshio Kamimura
俊夫 上村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017189994A priority Critical patent/JP6853156B2/ja
Priority to CN201810806511.0A priority patent/CN109582124B/zh
Priority to US16/126,662 priority patent/US10740600B2/en
Publication of JP2019066238A publication Critical patent/JP2019066238A/ja
Application granted granted Critical
Publication of JP6853156B2 publication Critical patent/JP6853156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

【課題】距離画像カメラから送信される距離画像を用いて対象の姿勢推定を行うコンピュータシステムの処理負荷を低減する。【解決手段】距離画像を取得し出力する距離画像カメラと、距離画像カメラとネットワークを介して接続される姿勢推定装置からなる姿勢推定システムであって、距離画像カメラは、入力距離画像から前景画素を含む領域を抽出し、抽出した領域から第1の関節位置を推定し、距離画像と推定された第1の関節位置とを姿勢推定装置に送信し、姿勢推定装置は、距離画像カメラから受信した距離画像から、第1の関節位置と異なる第2の関節位置を識別し、第1の関節位置と第2の関節位置から推定姿勢情報を生成し出力する。【選択図】図4

Description

本発明は、姿勢推定システム、姿勢推定装置、及び距離画像カメラに関する。
距離画像センサから取得した距離画像(「深度画像」ともいう)を用いて、人間等の対象の関節位置及び姿勢を推定する技術が知られている。例えば、特許文献1には、深度カメラを使ってゲームプレーヤーの動きを認識するコンピュータゲーミングシステムが記載されている。特許文献1に記載されているようなコンピュータシステムは、1台の深度カメラから送られる距離画像を処理するために十分な処理能力を持っていることが前提となっている。
米国特許第8295546号公報
ところで、様々な場所に設置した多数の距離画像カメラと、これらの距離画像カメラにネットワークを介して接続される遠隔サーバ装置とを用意し、この遠隔サーバ装置で各距離画像カメラから受信した各距離画像から対象の姿勢推定を実行する、コンピュータシステムが望まれている。例えば、距離画像解析技術を用いて、ヒトの動作を認識し、人の動作を認識し、生産効率改善や不良品低減、及び、顧客行動分析や従業員監視等を目指す監視システムが考えられる。このようなコンピュータシステムでは、多量の距離画像データによってネットワークの通信負荷が増大するとともに、遠隔サーバ装置の処理負荷が増大してしまう課題がある。または、非常に処理能力の高いコンピュータを用意する必要があるという課題がある。また、遠隔サーバ装置が実行する姿勢推定の方法も、多量の距離画像データを効率的に処理できるように改善する必要がある。
本発明は、距離画像カメラから送信される距離画像を用いて対象の姿勢推定を行うコンピュータシステムの処理負荷を低減することを目的とする。
本発明は、上記背景技術に鑑み、その一例を挙げるならば、距離画像を取得し出力する距離画像カメラと、距離画像カメラとネットワークを介して接続される姿勢推定装置からなる姿勢推定システムであって、距離画像カメラは、距離画像センサと、距離画像センサから取得した入力距離画像から前景画素を含む領域を抽出し、抽出した領域を含む距離画像を生成する距離画像生成部と、距離画像から第1の関節位置を推定する第1の姿勢推定部と、距離画像と推定された第1の関節位置とを送信する第1の通信部を有し、姿勢推定装置は、距離画像カメラからの距離画像と第1の関節位置を受信する第2の通信部と、距離画像を第2の通信部を介して受信する距離画像受信部と、距離画像受信部で受信した距離画像から、第1の関節位置と異なる第2の関節位置を識別し、第1の関節位置と第2の関節位置から推定姿勢情報を生成する姿勢推定部と、生成された推定姿勢情報を出力する出力部とを有し、第1の通信部は、第2の関節位置を抽出するのに使用する距離画像をネットワークに送出するように構成する。
本発明によれば、距離画像カメラから送信される距離画像を用いて対象の姿勢推定を行うコンピュータシステムの処理負荷を低減することができる。
実施例1における姿勢推定システムのシステム構成図である。 実施例1の前提となる従来の距離画像カメラ及び姿勢推定装置の機能構成図である。 実施例1の前提となる従来の姿勢推定システムの処理フローチャートである。 実施例1における距離画像カメラ及び姿勢推定装置の機能構成図である。 実施例1における距離画像カメラの姿勢推定部の構成図である。 実施例1における姿勢推定装置の姿勢推定部の構成図である。 実施例1における姿勢推定装置を実現するコンピュータのハードウェア構成図である。 実施例1における姿勢推定システムの処理フローチャートである。 実施例1における距離画像カメラの姿勢推定処理の具体例を示すフローチャートである。 実施例1における体積要素を2次元座標に投影した図である。 実施例1における体積要素を3次元座標で示した俯瞰図である。 実施例1における体積要素データのデータフォーマットである。 実施例1における姿勢推定装置の姿勢推定処理の具体例を示すフローチャートである。 実施例2における距離画像カメラの姿勢推定部の構成図である。 実施例2における姿勢推定装置の姿勢推定部の構成図である。 実施例2における距離画像カメラの処理フローチャートである。 実施例2における距離画像カメラの姿勢推定処理の具体例を示すフローチャートである。 実施例2における姿勢推定装置の姿勢推定処理の具体例を示すフローチャートである。 実施例5における距離画像カメラの姿勢推定処理のフローチャートである。 実施例6における姿勢推定システムの姿勢推定処理のフローチャートである。 実施例7における姿勢推定システムのシステム構成図である。 実施例7における姿勢推定装置の姿勢推定部の構成図である。 実施例7における姿勢推定システムの姿勢推定処理のフローチャートである。 実施例7における距離画像データを示す図である。 実施例7における特徴量を示す図である。 実施例7における特徴量ベクトルのデータフォーマットを示す図である。 実施例7における特徴量データのデータフォーマットを示す図である。 実施例8における距離画像カメラ及び姿勢推定装置の機能構成図である。 実施例8における姿勢推定装置の姿勢推定部の構成図である。 実施例8における姿勢推定システムの姿勢推定処理のフローチャートである。
以下、本発明の実施例について、図面を参照して説明する。
図1は、本実施例における姿勢推定システムのシステム構成例を示す図である。姿勢推定システムは、1台以上の距離画像カメラ1と、1台の姿勢推定装置2とを含む。各距離画像カメラ1と姿勢推定装置2は、ネットワークNを介して接続され、互いに通信することができる。ネットワークNは、例えば、有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)、モバイル通信網、インターネット等の電気通信網であり、これらの2つ以上を組み合わせてもよい。
距離画像カメラ1は、人間等の対象が存在する対象空間の距離画像を撮像する撮像装置である。距離画像(「深度画像」ともいう)とは、画像中の各画素に、その階調情報(例えば、RGB)に加え、深さ方向の距離情報が所定のスケーリングで記録された画像である。距離画像カメラ1は、例えばTOF(Time of Flight)方式のカメラであるが、距離画像を出力できれば、例えば可視光により撮像する2つの光学系を備えたステレオカメラ等の他の方式のカメラであってもよい。また、距離画像カメラは、距離画像センサと呼んでもよい。
本実施例における距離画像カメラ1は、背景画素の階調情報及び距離情報に所定値(例えば「1」)を設定することにより、撮像した距離画像から背景を消去し、前景画素を含む距離画像を姿勢推定装置2に送信する。前景画素とは、人間や当該人間が持つ道具等の動作する対象に対応する画素群である。背景画素とは、前景画素以外の画素であり、背景に対応する画素群である。
姿勢推定装置2は、距離画像に含まれる前景画素から人間等の対象の姿勢を推定する装置である。姿勢推定装置2は、例えば、後述するようにサーバ等のコンピュータ装置で実現される。姿勢推定装置2は、複数台のコンピュータで実現されてもよい。
本実施例における姿勢推定装置2は、距離画像に含まれる前景画素の距離情報に基づいて、対象を構成する部位(例えば、頭、腕、手、胴体などの体のパーツ、関節は含まない)を識別し、各部位に対して関節位置を識別し、識別した関節位置に基づいて対象の姿勢を推定する。
本実施例では、後述するが、距離画像カメラ1によって距離画像から背景が消去され、この距離画像をもとに距離画像カメラ1の内部で姿勢推定を行なう。その結果としての関節座標から構成される姿勢情報と前景画素の一部のみが姿勢推定装置2に送信される。これにより、背景画素と前景画素の両方を含む一般的な距離画像を送信する場合と比べ、ネットワークNの通信負荷を低減することができる。また、姿勢推定装置2は前景画素の一部に対して処理を実行すればよいため、一般的な距離画像を処理する場合と比べ、姿勢推定装置2の処理負荷を低減することができる。なお、距離画像カメラ1の台数あるいは距離画像カメラ1の撮像レートが増加するほど、効果が大きくなる。
本実施例では、距離画像カメラの設置条件、例えば、床からの高さや鉛直軸と距離画像カメラのXYZカメラ座標系のZ軸のなす角度、を、あらかじめ測定しておき、距離画像カメラおよび姿勢推定装置にインプットして初期設定する。測定の方法としては、設置作業者が実測する方法や、距離画像カメラ内にカメラの姿勢(向き)を検出するセンサを内蔵し、その出力をもとに鉛直軸とのなす角度を求める方法が考えられる。姿勢を検出するセンサとしては加速度センサなどがある。また、床からの高さは、距離画像カメラで得られる床からの距離情報と加速度センサから得られる鉛直軸となす角度から、三角測量法で求めることができる。これにより、カメラ座標系と世界座標系の関係を算出するための情報を得ることが可能である。
図2は、本実施例の前提となる従来の距離画像カメラ及び姿勢推定装置の機能構成例を示す図である。距離画像カメラ1は、制御部11と、光源12と、距離画像センサ13と、距離画像生成部14と、通信部15とを含む。姿勢推定装置2は、通信部21と、距離画像受信部22と、姿勢推定部23と、出力部27とを含む。姿勢推定部23は、特徴量算出部24と、部位識別部25と、関節識別部26とを含む。
制御部11は、光源12、距離画像センサ13、距離画像生成部14、及び通信部15を制御する。例えば、制御部11は、光源12に光の照射を指示し、距離画像センサ13に照射光と反射光の位相差情報の生成を指示し、距離画像生成部14に距離画像の生成を指示し、通信部15に距離画像の送信を指示する。制御部11は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を含むマイクロコンピュータや、専用ハードウェア回路により実現することができる。
光源12は、人間等の対象が存在する対象空間に対して光を照射する。光源12は、例えば、赤外光もしくは可視光を照射する発光ダイオード、半導体レーザ等のデバイスにより実現することができる。
距離画像センサ13は、対象空間からの反射光を、結像レンズ(図示せず)を介して受光し、画素毎に、照射時と受光時の位相差情報と、階調情報とを生成して出力する。距離画像センサ13は、例えば、照射時と受光時の位相差情報と階調情報とを生成する複数の受光素子を、二次元状に配列することで構成することができる。
距離画像生成部14は、距離画像センサ13から出力される画素毎の位相差情報を用いて、画素毎にその距離情報を算出する。そして、画素毎に距離情報と階調情報を含む入力距離画像を生成する。
また、距離画像生成部14は、入力距離画像から前景画素を抽出するとともに、背景を消去し、抽出された前景画素と消去された背景を含む出力距離画像を生成し、通信部15を介して姿勢推定装置2に送信する。例えば、距離画像生成部14は、対象が存在しないときに取得した対象空間の距離画像(背景のみを含む)と入力距離画像との、対応する画素の距離の差分を取り、差分がある部分を前景画素として抽出することができる。前景画素の抽出方法はこれに限定されない。例えば、距離が所定値未満の画素を前景画素として抽出してもよい。例えば、距離画像生成部14は、背景画素の階調情報及び距離情報を所定値(例えば「1」)に設定することにより、入力距離画像のサイズ(縦横の画素数を指す、以下同様)を変更することなく、背景を消去する。
なお、距離画像生成部14は、出力距離画像に対して所定の圧縮処理を施してデータ量を削減してもよい。上記の例では、背景画素が同じ値に設定されるため、背景画素が連続する領域では圧縮率を高めることができる。距離画像生成部14は、例えば、CPU、RAM等を含むマイクロコンピュータや、専用ハードウェア回路により実現することができる。
通信部15は、ネットワークNに接続され、距離画像生成部14から出力された距離画像を、姿勢推定装置2に送信する。通信部15は、例えば、LAN等の規格のネットワークインターフェイスにより実現することができる。
通信部21は、ネットワークNに接続され、各距離画像カメラ1から送信された距離画像を受信する。
距離画像受信部22は、距離画像を通信部21を介して受信し、姿勢推定部23に出力する。なお、距離画像受信部22は、受信した距離画像に所定の圧縮処理が施されている
場合、当該距離画像に対して所定の伸長処理を施してもよい。
姿勢推定部23は、距離画像受信部22から出力された距離画像を用いて、当該距離画像に含まれる人物等の対象の姿勢を推定する。姿勢推定処理を行うため、姿勢推定部23は、特徴量算出部24、部位識別部25、及び関節識別部26を含む。
特徴量算出部24は、距離画像を構成する各画素の距離情報を取得する。また、特徴量算出部24は、前景画素を構成する画素(注目画素)毎に、特徴量を算出する。上述のように背景画素には所定値が設定されているため、前景画素は背景画素から区別することができる。特徴量の算出方法は、既存の技術を用いることができ、限定されない。例えば、注目画素とその周囲画素の距離の差を特徴量とすればよい。具体例としては、注目画素を中心とする縦9画素×横9画素の81画素の矩形領域から、注目画素とその周囲の80画素それぞれとの距離の差を有する80次元(2次元配列)の特徴量ベクトルを用いることができる。
部位識別部25は、各注目画素が含まれる部位(例えば、頭、腕、手、胴体などの体のパーツ、関節は含まない)を識別する。部位の識別方法は、既存の技術を用いることができ、限定されない。例えば、特徴量閾値と部位ラベルを関連付けた決定木(識別器)に対して、注目画素の特徴量を入力することで、当該注目画素の部位ラベルを取得すればよい。部位ラベルとは、各部位の種類を示す情報などの、部位の識別子である。識別器には、例えば、ランダムフォレスト等の複数の決定木を用いることができ、予め学習したものを姿勢推定装置2の備える記憶装置に記憶しておけばよい。
関節識別部26は、識別された各注目画素の部位ラベルを用いて、対象の関節位置を識別する。関節位置の識別方法は、既存の技術を用いることができ、限定されない。例えば、同一部位ラベルが付与された注目画素群である部位毎に、その重心位置(関節位置候補)を取得すればよい。重心位置の取得には、例えば、mean-shift法を用いることができる。また、例えば、直線距離や角度などの関節間の関係を定義した骨格関節モデルを用いて、各重心位置の関節モデルに対する整合性を評価し、最終的な各関節位置を決定すればよい。また、各関節位置の関節ラベルを決定してもよい。関節ラベルとは、例えば、首関節、手首関節、肩関節など関節の種類を示す情報などの、関節の識別子である。
出力部27は、関節識別部26により識別された関節位置を含む推定姿勢情報を出力する。関節位置は、例えば、距離画像と同じ座標系の位置座標情報である。推定姿勢情報は、各関節位置の距離情報、各関節位置の関節ラベル、関節どうしを結ぶ線分情報等を含んでもよい。例えば、出力部27は、通信部21を介して推定姿勢情報を外部のコンピュータやストレージに送信してもよいし、各関節位置を示す画像情報を姿勢推定装置2の備えるディスプレイに表示させてもよい。出力部27は、距離画像を出力してもよい。
図3は、従来の姿勢推定システムの処理例を示すフローチャートである。本図のフローチャートは、1フレームの距離画像毎に実行される。
図3において、まず、図2の距離画像カメラ1の距離画像生成部14は、距離画像センサ13から出力される画素毎の情報を用いて、画素毎に距離情報と階調情報を含む入力距離画像を生成する(ステップS10)。
それから、距離画像生成部14は、ステップS10で生成した入力距離画像から前景画素を抽出するとともに、背景を消去し、抽出された前景画素と消去された背景を含む出力距離画像を生成する(ステップS20)。
距離画像生成部14は、ステップS20で生成した出力距離画像を、通信部15を介して姿勢推定装置2に送信する(ステップS30)。
それから、姿勢推定装置2の距離画像受信部22は、ステップS30で距離画像カメラ1から送信された距離画像を、通信部21を介して受信する(ステップS40)。
それから、姿勢推定部23は、ステップS40で受信された距離画像を用いて、当該距離画像に含まれる人物等の対象の姿勢を推定する(ステップS50)。
最後に、出力部27は、ステップS50で姿勢推定部23から出力された関節位置を含む推定姿勢情報を出力する(ステップS60)。
このように、従来は、ステップS30で、距離画像生成部14は、生成された距離画像を姿勢推定装置2に送信するので、通信負荷が大となる。また、ステップS50で、距離画像を用いて対象の姿勢を推定するため処理負荷が大となる課題がある。
そこで、本実施例では、通信負荷及び処理負荷を低減することが可能な距離画像カメラ及び姿勢推定装置について以下説明する。
図4は、本実施例における距離画像カメラ及び姿勢推定装置の機能構成図である。図4において、距離画像カメラ1は、制御部11と、光源12と、距離画像センサ13と、距離画像生成部14と、通信部15と、姿勢推定部16とを含む。また、姿勢推定装置2は、通信部21と、距離画像受信部22と、姿勢推定部23と、出力部27とを含む。なお、詳細な説明は後述する。
また、図5は、距離画像カメラ1の姿勢推定部16の機能構成図である。姿勢推定部16は、距離画像変換部71と、体積要素生成部72と、関節識別部73とを含む。なお、詳細な説明は後述する。
また、図6は、姿勢推定装置2の姿勢推定部23の機能構成図である。姿勢推定部23は、距離画像変換部81と、体積要素生成部82と、関節識別部83と、関節入力部29と、関節統合部30とを含む。なお、詳細な説明は後述する。
図7は、本実施例における、姿勢推定装置を実現するコンピュータのハードウェア構成図である。姿勢推定装置2は、図7に示すようなコンピュータ90により実現することができる。コンピュータ90は、例えば、サーバーコンピュータであるが、パーソナルコンピュータ、スマートフォン、タブレットコンピューター等のコンピュータ機器であってもよい。また、姿勢推定装置2は、複数のコンピュータ90により構成されてもよい。
図7において、コンピュータ90は、演算装置91と、主記憶装置92と、外部記憶装置93と、通信装置94と、読み書き装置95と、入力装置96と、出力装置97とを含む。
演算装置91は、例えば、CPUなどの演算ユニットである。主記憶装置92は、例えば、RAMなどの記憶装置である。外部記憶装置93は、例えば、ハードディスクやSSD(Solid State Drive)、あるいはフラッシュROM(Read Only Memory)などの記憶装置である。通信装置94は、ネットワークケーブルを介して有線通信を行う通信装置、アンテナを介して無線通信を行う通信装置を含む、情報を送受信する装置である。読み書き装置95は、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリー等の記録媒体に情報を読み書きする装置である。入力装置96は、キーボードやマウスなどのポインティングデバイス、タッチパネル、マイクロフォンなどを含む、入力情報を受け付ける装置である。出力装置97は、ディスプレイ、プリンター、スピーカーなどを含む、出力情報を出力する装置である。主記憶装置92及び外部記憶装置93の少なくとも一部は、例えば、通信装置94を介して接続されるネットワーク上のストレージにより実現されてもよい。
図4における、距離画像受信部22、姿勢推定部23、及び出力部27(これらを「制御部」と呼んでもよい)は、例えば、演算装置91が所定のアプリケーションプログラムを実行することによって実現することができる。このアプリケーションプログラムは、例えば、外部記憶装置93内に記憶され、実行にあたって主記憶装置92上にロードされ、演算装置91によって実行される。通信部21は、例えば、通信装置94によって実現される。
図8は、本実施例における姿勢推定システムの処理フローチャートである。図8において、図3の処理フローチャートと同様のステップについては同じ符号を付し、その説明は省略する。図8において、図3と異なる点は、距離画像カメラにおいて、ステップS21、S31、姿勢推定装置において、S41、S51、S52を有する点である。
図8において、距離画像カメラの姿勢推定部16は、ステップS20で生成した出力距離画像を用いて、当該距離画像に含まれる人物等の対象の一部の姿勢を推定する(ステップS21)。詳細は後述する。
そして、ステップS21で推定した姿勢推定結果と、距離画像カメラの距離画像生成部14で生成した出力距離画像のうちステップS21で推定した部分の距離画像を除いた距離画像を、通信部15を介して姿勢推定装置2に送信する(ステップS31)。詳細は後述する。
それから、姿勢推定装置の距離画像受信部22は、ステップS31で距離画像カメラ1から送信された距離画像を、通信部21を介して受信し、姿勢推定装置の姿勢推定部23は、ステップS31で距離画像カメラ1から送信された姿勢推定結果を、通信部21を介して受信する(ステップS41)。
姿勢推定部23は、ステップS41で受信した距離画像を用いて、当該距離画像に含まれる人物等の対象の姿勢を推定する(ステップS51)。
次に、姿勢推定部23は、ステップS51で推定した姿勢推定結果と、ステップS41で受信した姿勢推定結果を用いて、当該距離画像に含まれる人物等の対象の姿勢を統合する(ステップS52)。
最後に、出力部27は、ステップS52で姿勢推定部23から出力された推定姿勢情報を出力する(ステップS60)。
図9は、図8におけるステップS21とS31の詳細処理フローチャートである。
図9において、図5の距離画像変換部71は、ステップS20で抽出した前景画素を、2次元のrθφ座標系から、3次元のXYZ座標系に変換する(ステップS1100)。
次に距離座標変換部71は、ステップS1100でXYZ座標系に変換した前景画素を、X軸、Y軸、Z軸それぞれに回転させることで、カメラ座標系から世界座標系に変換する(ステップS1110)。カメラ座標系と、世界座標系の回転角度は、距離画像カメラを設置した際のX軸とY軸とZ軸の設置条件から、あらかじめ算出が可能である。
次に図5の体積要素生成部72は、ステップS1100で変換したXYZ座標系の前景画素を体積要素データに変換する(ステップS1120)。
体積要素は、体積の要素であり、3次元空間での正規格子単位の値を表すものである。体積要素を、XYZ空間内のX軸およびY軸およびZ軸方向に3次元的に連続して並べて埋め尽くすことで、3次元空間を離散的に表現することが可能である。例えば、体積要素の大きさを(x,y,z)=(10,10,10)とした場合、原点(0,0,0)に存在する画素が属する体積要素は、その中心座標が(0,0,0)の体積要素であると表現でき、座標(12,12,12)に存在する画素が属する体積要素は、その中心座標(10,10,10)の体積要素であると表現できる。別の表現としては、中心座標が(X,Y,Z)の体積要素に属する画素は、x、y、z座標がそれぞれ、X−5からX+5まで、Y−5からY+5まで、Z−5からZ+5までの画素である、といえる。
図10は、体積要素を2次元座標で示した図の例である。XYZ空間に存在する体積要素をZ軸方向にXY平面に射影した図である。図の右方向がX軸方向、下方向がY軸方向である。4501は、X軸である。4502は、Y軸である。4510から4560までは、体積要素である。例えば、体積要素4510はd39というZ座標を持つ。
図11は、図10に対応した体積要素をXYZ座標で示した俯瞰図の例である。4501は、X軸である。4502は、Y軸である。4503は、Z軸である。4510から4560までは、体積要素である。
このように、体積要素の座標を、XYZ空間における中心座標とし、体積要素のサイズをあらかじめ定義した大きさ(x,y,z)とし、体積要素に含まれる画素の数を体積要素の要素数dとした場合、前景画素全体を含む体積要素の(x,y,z,d)をすべてリスト化したものを、体積要素データと定義する。
図12は、体積要素データのデータ構造を示した例である。カラム4810は、当該体積要素の中心のX座標を示す。カラム4820は、当該体積要素の中心のY座標を示す。カラム4830は、当該体積要素の中心のZ座標を示す。カラム4840は、当該体積要素に属する画素の総数を示す。ロー4850は、ひとつめの体積要素の、XYZ座標と属する画素の数をひとまとめにしたデータである。ロー4860は、ふたつめの体積要素の、XYZ座標と属する画素の数をひとまとめにしたデータである。ロー4870以下、ロー4880まで、同様に各体積要素の、XYZ座標と当該体積要素に属する画素の数である。
図9に戻って、ステップS1130において、図5の関節識別部73は、ステップS1120で変換した体積要素データを探索して頭部の関節を識別する。
頭部の探索は、例えば世界座標のZ軸が鉛直下向きである場合は、体積要素データをz値で昇順ソートし、先頭の体積要素を頭部と検出することができる。図10、11におけるd45がそれに相当する。これは、姿勢を推定する対象が直立している場合などに有効な手法である。
次に、ステップS1140において、関節識別部73は、ステップS1130で検出した頭部座標をもとに、肩部の関節を識別する。
肩部の探索は、頭部の座標を(X1,Y1,Z1)とすると、座標(X1,Y1,Z1+h)を中心とした、半径sの円と交差する体積要素を抽出し、左右の肩の候補とすることができる。ここで、hは肩から頭部への高さ、s×2は肩幅、である。図10、11における4510や4540がそれに相当する。
抽出した左右の肩候補の体積要素が複数の場合は、肩候補の体積要素のうち、円の中心座標(X1,Y1,Z1+h)から肩候補の体積要素の中心座標へのベクトルの内積が最小となるような組み合わせの、2つの体積要素を、それぞれ左右の肩として、確定することができる。抽出した左右の肩候補の体積要素が1つの場合は、左右いずれかの肩と確定することができる。
このようにして識別した頭部の座標と、肩の座標をもとに、頭部を構成する前景画素と、肩を構成する前景画素を抽出する(ステップS1150)。例えば、頭部を構成する体前景画素は、ステップS1130で識別した頭部の座標を中心とした、半径hの球の内部に存在する前景画素、とみなすことができる。また、肩を構成する前景画素は、ステップS1140で識別した肩のZ座標よりも小さなZ座標を持つ前景画素とみなすことができる。
最後に、関節識別部73は、ステップS1150で算出した前景画素を、前景画素全体から除外する、例えば、ステップS1150で算出した前景画素を所定値で埋めることにより、頭部と肩部以外の残りの前景画素を算出する(ステップS1160)。
それから、関節識別部73は、通信部15を経由して、ステップS1160で算出した頭部と肩部以外の残りの前景画素の距離画像データと、ステップS1130とステップS1140で識別した頭部の座標と肩部の座標を、姿勢推定装置に出力する(ステップS31)。
図13は、図8におけるステップS41とS51とS52の詳細処理フローチャートである。
図13において、図6の関節入力部29は、通信部21を経由して、距離画像カメラから入力される頭部と肩部の座標を受信する(ステップS1010)。
図4の距離画像受信部22は、通信部21を経由して、距離画像カメラから入力される距離画像を受信し、姿勢推定部23に出力する(ステップS1020)。
次に図6の距離画像変換部81は、ステップS1020で距離画像受信部22から入力した距離画像を、座標軸変換し、回転変換する(ステップS1030)。これは、図9のステップS1100およびステップS1110と同様の処理である。
次に体積要素生成部82は、ステップS1030で変換された前景画像データから、体積要素データを生成する(ステップS1040)。これは、図9のステップS1120と同様の処理である。
さらに関節識別部83は、ステップS1040で生成された体積要素データから、未推定の関節の座標(肘と手首と手の座標)を識別する(ステップS1050)。このとき、識別済みの関節がどれかという情報は、関節入力部29から、推定済みの関節座標(頭や肩)を入力することで取得可能である。
最後に、図6の関節統合部30は、ステップS1050で識別した関節の座標と、関節入力部29に入力された関節座標をもとに、頭と肩と肘と手首と手の座標を統合する(ステップS52)。
統合する際に、単純に各関節座標をそのまま使用することも可能であるし、あるいは、関節間の位置関係を確認して、推定が間違っていると判断できる関節座標は、無効な識別結果として、除外することも可能である。除外することで、誤情報を出力してしまい検出精度を劣化させるリスクを回避できるという効果がある。
関節間の位置関係から、推定が正しいか間違っているかを判断する手法としては、関節可動範囲や、骨格の平均的な長さからの、逸脱度やずれの大きさをもとに判断することができる。
以上のように、本実施例では、距離画像カメラと姿勢推定装置で推定処理を分担するように構成する。そして、距離画像は、姿勢推定装置で推定する関節に関係する部分のみ距離画像カメラから姿勢推定装置に送り、それ以外の関節については距離画像カメラで推定した推定結果を送る。具体的には、距離画像カメラ1が距離画像から前景画素を抽出するとともに背景を消去し、頭と肩の関節を推定し、さらに頭と肩に相当する画素を前景画素から消去し、頭と肩の関節の推定結果とともに姿勢推定装置2に送信する。これにより、ネットワークNの通信負荷を低減することができるとともに、姿勢推定装置2の処理負荷を低減することができる。
本実施例は、実施例1と異なる姿勢推定処理について説明する。本実施例における距離画像カメラ及び姿勢推定装置の全体機能構成図は図4と同様である。本実施例では、実施例1での図5の距離画像カメラの姿勢推定部16と、図6の姿勢推定装置の姿勢推定部23が異なる。本実施例では、実施例1において同じ機能は同じ符号を付し、異なる点を中心に説明する。
図14は、本実施例における距離画像カメラの姿勢推定部16の機能構成図である。図14において、姿勢推定部16は、特徴量算出部24と、部位識別部25と、関節識別部26とを含む。
図15は、本実施例における姿勢推定装置の姿勢推定部23の機能構成図である。図15おいて、姿勢推定部23は、特徴量算出部24と、部位識別部25と、関節識別部26と、関節入力部29と、関節統合部30とを含む。
また、図16は、本実施例における距離画像カメラの姿勢推定処理のフローチャートである。図16のフローチャートは、図8のステップS21とステップS31の詳細を示している。
図16において、まず、図14の特徴量算出部24は、前景画素から最も距離画像カメラに近い画素を検出し、その画素の座標を頭部の座標とみなす(ステップS1200)。
次に、特徴量算出部24は、ステップS1200で検出した頭部座標を、カメラ座標系から世界座標系へと変換し、距離画像カメラ自身の座標から頭部座標へのベクトルを求めることで、鉛直軸と前記ベクトルのなす角度を求めることができる(ステップS1210)。例えば、距離画像カメラが鉛直軸方向を向いており、その軸上に頭部が検出された場合は、なす角度は0度である。また、例えば、距離画像カメラが水平方向を向いており、その軸上に頭部が検出された場合は、なす角度は90度である。
次に、特徴量算出部24は、ステップS1210で得られた角度が、閾値よりも大きいかどうかを判定する(ステップS1220)。もし、ステップS1220で、閾値よりも大きい場合は、姿勢推定部16の識別処理を飛ばして、距離画像を送信する(ステップS1240)。
また、ステップS1220で、閾値よりも小さい場合は、姿勢推定を行う(ステップS1230)。最後に、ステップS1230の識別結果を送信する(ステップS1250)。
図17は、本実施例における距離画像カメラの姿勢推定処理の一例を示すフローチャートである。図17のフローチャートは、図16のステップS1230の詳細を示している。
図17において、まず、図14の特徴量算出部24は、前景画素から注目画素を1つ選択し(ステップS51)、選択した注目画素と1つ以上の周囲画素の距離情報を用いて、当該注目画素の特徴量を算出する(S52)。それから、部位識別部25は、算出された注目画素の特徴量を、予め用意した識別器に入力することで、当該注目画素の部位ラベルを取得する(ステップS53)。
それから、姿勢推定部23は、前景画素を構成する全ての注目画素を選択したかどうかを判定する(ステップS54)。全画素を選択していないと判定した場合(ステップS54でNO)、姿勢推定部23は、処理をステップS51に戻す。全画素を選択したと判定した場合(ステップS54でYES)、姿勢推定部23は、処理をステップS55に進める。
図14の関節識別部26は、ステップS53で識別された各注目画素の部位ラベルを用いて、部位毎に、その重心位置(関節位置候補)を取得する(ステップS55)。最後に、関節識別部26は、取得した各部位の重心位置に基づいて、最終的な1つ以上の関節位置を決定する(ステップS56)。
図18は、本実施例における姿勢推定装置の姿勢推定処理のフローチャートである。図18のフローチャートは、図8のステップS41、S51,S52に代わる処理の詳細を示している。
図18において、まず、姿勢推定部23は、通信部21を経由して、姿勢推定結果を受信する(ステップS1500)。もし、推定結果を受信できた場合は、その推定結果をそのまま出力する。もし、推定結果を受信しなかった場合は、距離画像受信部22から距離画像データを受信し、そのデータをもとに姿勢推定処理を行う(ステップS1510)。ステップS1510の処理は、図17で説明した、姿勢推定処理と同様である。
以上のように本実施例における姿勢推定システムでは、距離画像カメラ1が被写体の頭上に近い角度に位置する場合は、上半身の関節のみを推定すればよいので、カメラ内で姿勢推定処理を行うことができ、推定結果のみを送信するため、送信データ量が距離画像データよりも少なくでき、通信負荷及び処理負荷を低減することができる。また、距離画像カメラ1が被写体の頭上から離れた角度の位置にある場合は、全身の関節を推定する必要があるため、カメラ内の限られたリソースでは負荷が高く姿勢推定処理を行うことができず、距離画像データを送信して、姿勢推定装置で姿勢を推定することで精度よく姿勢推定を行うことができる。例えば、カメラを高所に設置し、鉛直真下向きに設置した場合、カメラのFOV(Field Of View)の外周付近では、カメラから見て被写体の全身が撮像でき、全身の関節を推定するケースとなり、また、FOVの中央付近では、カメラから見て被写体の上半身のみが撮像でき、上半身の関節のみを推定するケースとなる。そのため、カメラのFOVを横切って歩くような動きを被写体がとるとき、全身⇒上半身⇒全身という推定処理となり、処理負荷は、高⇒低⇒高と推移する。本実施例では、このうち、処理負荷が「高」の状態、つまり、FOVの外周付近に被写体が存在する場合が、距離画像データを距離画像カメラから姿勢推定装置をつなぐネットワーク負荷と、姿勢推定装置の処理負荷の要因となるが、複数の被写体がランダムに行き交うような状況では、推定処理の処理負荷の高低が平均化され、負荷が分散される効果がある。また、図1のように、複数の距離画像カメラが接続され、広い領域を分担して撮像している構成の姿勢推定システムでは、カメラごとに推定処理の高低の位相が異なるため、複数の被写体がランダムに行き交うような状況では、推定処理の処理負荷の高低が平均化され、負荷が分散される効果がある。
本実施例では、実施例2と異なる条件で距離画像カメラ内の姿勢推定処理を行うかどうかを判断する点について説明する。以下、実施例2と異なる点を中心に説明する。
本実施例における距離画像カメラの姿勢推定処理は、実施例2の図16において、ステップS1210およびステップS1220の代わりに、下記ステップS1310およびステップS1320を有し、その他の点は同じである。そのため、本実施例における処理フローチャートは省略し、図16において、ステップS1210およびステップS1220を下記ステップS1310およびステップS1320に置き換えて説明する。
すなわち、ステップS1310では、ステップS1200で頭部を検出した後、被写体の頭部座標とカメラ自身の座標から、相対距離を算出する。
そして、ステップS1320において、ステップS1310で算出した相対距離が、閾値よりも大きい場合は、距離画像を送信し、閾値よりも小さい場合は、姿勢推定を行う、という判定を行う。
以上のように、本実施例における姿勢推定システムでは、被写体が推定しにくい距離に位置する場合は、姿勢推定装置に距離画像データを送信し姿勢推定装置で高精度に推定処理を行い、被写体が容易に推定できる距離に位置する場合は、距離画像カメラ内で推定処理を行うことで、ネットワーク負荷と姿勢推定装置の負荷を分散できるという効果がある。
本実施例では、さらに、実施例2と異なる条件で距離画像カメラ内の姿勢推定処理を行うかどうかを判断する点について説明する。以下、実施例2と異なる点を中心に説明する。 本実施例における距離画像カメラの姿勢推定処理は、実施例2の図16において、ステップS1210およびステップS1220の代わりに、下記ステップS1410およびステップS1420を有し、その他の点は同じである。そのため、本実施例における処理フローチャートは省略し、図16において、ステップS1210およびステップS1220を下記ステップS1410およびステップS1420に置き換えて説明する。
すなわち、ステップS1410では、ステップS1200で頭部を検出した後、被写体の頭部座標から、被写体を構成する画素(点群)の総数を算出する。
そして、ステップS1420において、ステップS1410で算出した点群数が、閾値よりも小さい場合は、距離画像を送信し、閾値よりも大きい場合は、姿勢推定を行う、という判定を行う。
以上のように、本実施例における姿勢推定システムでは、点群数が少なく被写体の推定が困難な場合は、姿勢推定装置に距離画像データを送信し姿勢推定装置で高精度に推定処理を行い、点群が十分あるため被写体が容易に推定できる場合は、距離画像カメラ内で推定処理を行うことで、ネットワーク負荷と姿勢推定装置の負荷を分散できるという効果がある。
例えば、被写体が隣接した距離画像カメラのカバーするFOVにまたがって存在している場合、ひとつひとつのカメラで得られる点群数は不十分でも、隣接したセンサから距離画像データが姿勢推定装置に送られてくることで、それらを世界座標上で統合することで、十分な数の点群を得ることができ、姿勢推定を高精度に行うことができるという効果がある。
本実施例では、さらに、実施例2と異なる条件で距離画像カメラ内の姿勢推定処理を行うかどうかを判断する点について説明する。以下、実施例2と異なる点を中心に説明する。
図19は、本実施例における距離画像カメラの姿勢推定処理のフローチャートである。図16との違いは、最初に姿勢推定処理を実行するように順番が変わっており(ステップS1230)、ステップS1210およびステップS1220の代わりに、ステップS1510およびステップS1520となっている点であり、その他の点は同じである。
ステップS1230で姿勢推定を実行した後、推定結果の確信度を算出する(ステップS1510)。確信度は、統計的手法で得ることが可能である。
ステップS1510で算出した確信度が、閾値よりも小さい場合は、距離画像を送信し、閾値よりも大きい場合は、推定結果を送信する、という判定を行う(ステップS1520)。
以上のように、本実施例における姿勢推定システムでは、確信度が低い場合のみ距離画像データを送信するため、ネットワーク負荷と姿勢推定装置の推定処理負荷を低減することができるという効果がある。確信度は姿勢推定した部位ごとに算出が可能であるため、確信度が低い部位を構成する距離画像データのみを抽出して送信することで、さらにネットワーク負荷を軽減可能である。
本実施例では、フレームごとに、距離画像カメラ内で姿勢推定を行うかどうかを切り替える点について説明する。以下、実施例2と異なる点を中心に説明する。
図20は、本実施例における姿勢推定システムの処理フローチャートである。本図のフローチャートは、1フレームの距離画像毎に繰り返して実行される。3フレームあたり1フレームを、姿勢推定装置2で姿勢推定を行い、3フレームあたり2フレームを、距離画像カメラ1で姿勢推定を行う例で説明する。
図20において、まず、距離画像カメラは、第1のフレームの処理段階で、カメラ内では姿勢推定処理を行わず、距離画像データを姿勢推定装置2に送信する(ステップS1600)。
姿勢推定装置は、ステップS1600で送信される距離画像データを受信し、受信した距離画像データを用いて姿勢推定処理を実行する(ステップS1640)。
次に、距離画像カメラは、第2のフレームの処理段階で、カメラ内で姿勢推定処理を実行し、その結果得られる姿勢推定結果を、姿勢推定装置に送信する(ステップS1610)。
姿勢推定装置2は、ステップS1610で送信される姿勢推定結果を受信する(ステップS1650)。
受信した姿勢推定結果に対して、ステップS1640で第1のフレームに対して姿勢推定した結果からの関節の移動距離を、関節ごとに算出し、受信した姿勢推定結果の妥当性を評価し、補正・調整する(ステップS1660)。評価の基準としては、例えば、ステップS1640で推定した頭部の座標と、ステップS1650で受信した頭部の座標の推定結果から、頭部の移動距離を算出し、それがある閾値以下であれば妥当であると判断し、さもなければ、ステップS1650の推定結果をご推定であると判断する。この閾値は、1フレームに相当する時間(例えば、30fpsの場合、約33ミリ秒)に、人の頭部が移動する距離が考えられ、例えば、行進程度の、通常の歩行速度は時速4キロメートル程度であるので、33ミリ秒の移動距離は37ミリメートルであり、閾値として37ミリメートルという値を設定できる。また、肩や手など頭部から遠いほど、また被写体の動作が大きいほど、閾値を大きく設定することで適切な判断が可能となる。評価の結果、妥当であると判断すれば、ステップS1650で受信した推定結果を採用し、妥当でないと判断すれば、ステップS1640で推定した結果をもとにステップS1650で受信した座標を補正する。補正の方法としては、例えば、ステップS1640で推定した頭部の座標から、ステップS1650で受信した頭部の座標へ向かうベクトルの大きさを、閾値の大きさに縮小した座標を、頭部の座標に補正する、などが考えられる。
次に、距離画像カメラは、第3のフレームの処理段階で、ステップS1610と同様に、カメラ内で姿勢推定処理を実行し、その結果得られる姿勢推定結果を、姿勢推定装置2に送信する(ステップS1620)。
姿勢推定装置は、ステップS1650と同様に、ステップS1620で送信される姿勢推定結果を受信し(ステップS1670)、ステップS1660と同様に、補正・調整する(ステップS1680)。
距離画像カメラは、終了するかどうか判定し(ステップS1630)、終了しない場合は、ステップS1600に戻り、繰り返し処理を行う。
以上のように、本実施例における姿勢推定システムでは、3フレームに1フレームの割合で距離画像データを送信するため、ネットワーク負荷を3分の1に削減可能である。また、姿勢推定装置の処理負荷を3分の2に削減可能である。
本実施例では、距離画像カメラで特徴量データの生成処理を実行し、姿勢推定装置で部位識別処理と関節識別処理を実行する。以下、実施例1と異なる点を中心に説明する。
図21は、本実施例における距離画像カメラ及び姿勢推定装置の機能構成図である。本実施例における距離画像カメラ及び姿勢推定装置の構成要素は、距離画像演算部2210と、演算結果受信部2220以外は、図4と同様である。
図22は、姿勢推定部23の機能構成例を示す図である。姿勢推定部23の処理は、部位識別部2230の入力が2系統存在する以外は、図14で説明した距離画像カメラの処理と同様である。
図23は、本実施例における姿勢推定システムの処理フローチャートである。本図のフローチャートは、1フレームの距離画像毎に実行される。
図23において、図21の距離画像生成部14は、距離画像データを生成し、距離画像演算部2210に出力する(ステップS2710)。
距離画像演算部2210は、距離画像生成部14により生成された距離画像データから、特徴量データを演算して生成する(ステップS2720)。特徴量データとしては、距離画像データの着目する1画素に対して、例えば周囲8画素を選択し、着目画素と周囲8画素それぞれとの、距離の差分データを8次元のベクトルデータとして、特徴量データとすることが考えられる。1フレームの距離画像がN画素で構成される場合、(8×N)次元ベクトルデータが特徴量データとなる。
例えば、図24に示すような、距離データd39をもつ画素4110から画素4120、画素4130、の順に、距離データdxを持つ画素4150までの画素で構成される距離画像データに対して、画素4110から順に、着目画素をひとつずつ選択する。
そして、図25に示すように、例えば、着目画素4110の周囲8画素を、画素4210、画素4220、画素4230、画素4240、画素4250、画素4260、画素4270、画素4280、のように選択する。ここで、例えば、画素4250は画素4120と同一の画素であり、画素4260は画素4140と同一の画素である。
これにより、図26に示すように、8次元のベクトルデータを生成することが可能である。ここで、差分データ4310、差分データ4320、差分データ4330、差分データ4340は、NAと記載しているが、NAは画素が有効な距離データを持っていない場合であり、例えば前景画素でない場合が相当する。この場合、例えば、NAには−1を入れるように定義することで、無効データであることを示すことができる。また、差分データ4350は、周辺画素4120の持つ距離データd40と、着目画素4110の持つ距離データd39との差分である。同様に、差分データ4360、4370、4380は、周辺画素4260、4270、4280と着目画素4110との、距離データの差分である。
図27に示すように、画素4110から画素4150までの、全画素に対して、8次元の特徴量ベクトルデータを算出し、座標データとともに、当該フレームの特徴量データとする。例えば、カラム4410は、画素4110のXY座標と、8次元の特徴量ベクトルから構成される特徴量データである。カラム4420は、画素4120のXY座標と、8次元の特徴量ベクトルから構成される特徴量データである。カラム4430以降も、同様に、XY座標と、8次元の特徴量ベクトルから構成される特徴量データである。ロー4410は、各画素のXY座標である。ロー4420からロー4430までは、各画素の8次元の特徴量ベクトルである。ここで、例えば、画素4120の8次元特徴量ベクトルは、図26で示したデータと同じである。
図23において、図21の距離画像演算部2210は、ステップS2720で生成した特徴量データを、通信部15を介して姿勢推定装置1に送信する(ステップS2730)。
図21の演算結果受信部2220は、通信部21を介して、距離画像カメラ1から受信した特徴量データを、姿勢推定部23に入力する。
距離画像演算部2210は、ステップS2720で算出した特徴量データを、通信部15を介して、姿勢推定装置1に送信する(ステップS2730)。
演算結果受信部2220は、通信部21を介して、距離画像カメラから入力される特徴量データを受信し、部位識別部2230に出力する(ステップS2750)。特徴量データは、距離画像演算部2210で算出される特徴量データと同じである。これは、図17のステップS52に相当する処理である。
図22の部位識別部2230は、演算結果受信部2220から入力される特徴量データを受信し、部位識別を実行することで、部位識別結果を算出し、関節識別部2330に部位識別結果を出力する(ステップS2750)。これは、図17のステップS53に相当する処理である。
図22の関節識別部2330は、部位識別部2230から入力される部位識別結果から、関節識別を実行し、出力部27に関節識別結果を出力する(ステップS2760)。これは、図17のステップS55に相当する処理である。
以上のように、本実施例における姿勢推定システムでは、推定処理のうち、前処理である特徴量抽出を距離画像カメラで行い、後処理を姿勢推定装置で行う。これにより、特徴量データの演算を距離画像カメラで実行するため、その分だけ姿勢推定装置の処理負荷を削減可能である。
本実施例では、距離画像カメラで距離画像データの変換処理を実行し、姿勢推定装置で体積要素生成処理と関節識別処理を実行する。以下、実施例7と異なる点を中心に説明する。
図28は、本実施例における距離画像カメラ及び姿勢推定装置の機能構成図である。図28において、距離画像変換部2310と、点群データ受信部2320以外は、実施例7の図21と同様である。
図29は、姿勢推定部23の機能構成例を示す図である。距離画像変換部2510と、体積要素生成部2520と、関節識別部2530から構成される。
図30は、本実施例における姿勢推定システムの処理フローチャートである。本図のフローチャートは、1フレームの距離画像毎に実行される。
図30において、図28の距離画像変換部2310は、ステップS2710で生成された距離画像データを、座標変換する。これは、図9のテップS1100と同様の処理である。
次に距離画像変換部2310は、ステップS1100で変換された距離画像データを、回転処理する。これは、図9のステップS1110と同様の処理である。さらに、必要に応じて、並進処理を行ってもよい。例えば、カメラの設置位置を世界座標の原点に定義していない場合は、原点に並進させる処理を行うことが処理コストの軽減に効果がある場合がある。
最後に距離画像変換部2310は、ステップS1110で変換された距離画像データ(=点群データ)を、通信部15を介して、姿勢推定装置に送信する(ステップS2730)。
点群データ受信部2320は、ステップS2730で送信された点群データを受信し(ステップS2740)、体積要素生成部2520に出力する。
体積要素生成部2520は、体積要素データを生成する。これは、図9のステップS1120と同様の処理である。それから、体積要素生成部2520は、生成した体積要素データを、関節識別部2530に出力する。
関節識別部2530は、体積要素データから、姿勢推定処理を行う。これは、図3のステップS50と同様の処理である。
以上のように、本実施例における姿勢推定システムでは、距離画像データの座標変換処理と回転並進処理を距離画像カメラで実行するため、その分だけ姿勢推定装置の処理負荷を削減可能である。
以上、本発明の実施例について説明したが、本発明は、上記した実施形態に限定されるものではなく、様々な変形例が含まれる。
例えば、上記実施例において、姿勢推定部23での識別器を1つとした場合、距離画像カメラの設置姿勢、あるいは距離画像カメラに対する対象の姿勢が変化した場合、すなわち撮像角度が変化した場合にも同じ識別器を用いていたのでは、部位あるいは関節の識別精度が低下する可能性がある。そこで、姿勢推定部23は、撮像角度に応じた複数の識別器を予め学習して記憶しておき、実際の撮像角度に応じて使用する識別器を選択してもよい。姿勢推定部23は、例えば、距離画像カメラの撮像角度を通信装置あるいは入力装置を介してユーザーから受け付けてもよいし、距離画像中に撮像されたマーカー等の形状や前景画素の位置に基づいて撮像角度を決定してもよい。なお、姿勢推定部23は、特徴量の算出方法も、撮像角度に応じて切り替えてもよい。
また、距離画像を蓄積するデータベースをネットワークNに接続し、各距離画像カメラは距離画像を当該データベースに送信して蓄積し、姿勢推定装置は当該データベースから距離画像を取得するようにしてもよい。
また、距離画像生成部14は、入力距離画像から背景を消去せずに、前景画素を含む領域を切り出してもよい。
また、上記実施例において、被写体は、主に人体を想定しているが、それに限定するものではない。人体以外にも、ヒト型のロボットや、産業用ロボットアーム、サルやゴリラなどの動物などのように、骨格の長さや関節の可動範囲に一定の制約や範囲を有する、動体であれば、対象とすることが可能である。
また、上記実施例において示した距離画像カメラ及び姿勢推定装置の構成は、これらのデバイスの構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本発明が制限されることはない。距離画像カメラ及び姿勢推定装置の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。
また、上記実施例において示したフローチャートの処理単位は、距離画像カメラ及び姿勢推定装置の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本発明が制限されることはない。距離画像カメラ及び姿勢推定装置の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、本発明の目的及び効果を達成できるのであれば、上記のフローチャートの処理順序も、図示した例に限られるものではない。
また、上記した各実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施例の構成の一部を、他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。
また、本発明は、姿勢推定システム、姿勢推定装置、及び距離画像カメラだけでなく、姿勢推定装置や距離画像カメラで実行されるコンピュータ読み取り可能なプログラム、姿勢推定システム、姿勢推定装置、又は距離画像カメラにおける処理方法、などの様々な態様で提供することができる。
1…距離画像カメラ、2…姿勢推定装置、11…制御部、12…光源、13…距離画像センサ、14…距離画像生成部、15…通信部、16…姿勢推定部、21…通信部、22…距離画像受信部、28…姿勢推定部、27…出力部、90…コンピュータ、91…演算装置、92…主記憶装置、93…外部記憶装置、94…通信装置、95…読み書き装置、96…入力装置、97…出力装置

Claims (10)

  1. 距離画像を取得し出力する距離画像カメラと、該距離画像カメラとネットワークを介して接続される姿勢推定装置からなる姿勢推定システムであって、
    前記距離画像カメラは、
    距離画像センサと、
    前記距離画像センサから取得した入力距離画像から前景画素を含む領域を抽出し、前記抽出した領域を含む距離画像を生成する距離画像生成部と、
    前記距離画像から第1の関節位置を推定する第1の姿勢推定部と、
    前記距離画像と前記推定された第1の関節位置とを送信する第1の通信部を有し、
    前記姿勢推定装置は、
    前記距離画像カメラからの前記距離画像と前記第1の関節位置を受信する第2の通信部と、
    前記距離画像を前記第2の通信部を介して受信する距離画像受信部と、
    前記距離画像受信部で受信した距離画像から、前記第1の関節位置と異なる第2の関節位置を識別し、前記第1の関節位置と前記第2の関節位置から推定姿勢情報を生成する姿勢推定部と、
    前記生成された推定姿勢情報を出力する出力部とを有し、
    前記第1の通信部は、前記第2の関節位置を抽出するのに使用する距離画像を前記ネットワークに送出することを特徴とする姿勢推定システム。
  2. 請求項1に記載の姿勢推定システムであって、
    前記第1の通信部は、前記距離画像から前記第1の関節位置を抽出するのに使用した距離画像を除いて送信することを特徴とする姿勢推定システム。
  3. 請求項1に記載の姿勢推定システムであって、
    前記距離画像は人の距離画像であり、前記第1の関節位置および前記第2の関節位置は人の関節位置であることを特徴とする姿勢推定システム。
  4. 請求項1に記載の姿勢推定システムであって、
    前記第1の通信部は、前記第1の関節位置の座標を送信することを特徴とする姿勢推定システム。
  5. 距離画像カメラとネットワークを介して接続される姿勢推定装置であって、
    前記距離画像カメラから距離画像と第1の関節位置を受信する通信部と、
    前記距離画像を前記通信部を介して受信する距離画像受信部と、
    前記距離画像受信部で受信した距離画像から、前記第1の関節位置と異なる第2の関節位置を識別し、前記第1の関節位置と前記第2の関節位置から推定姿勢情報を生成する姿勢推定部と、
    前記生成された推定姿勢情報を出力する出力部と、
    を備えることを特徴とする姿勢推定装置。
  6. 請求項5に記載の姿勢推定装置であって、
    前記姿勢推定部は、
    前記通信部を経由して、距離画像カメラから入力される前記第1の関節位置を受信する関節入力部と、
    前記通信部を介して入力した距離画像の前景画素を座標軸変換する距離画像変換部と、
    前記距離画像変換部で変換された前景画素から体積要素データを生成する体積要素生成部と、
    前記体積要素生成部で生成された体積要素データから、前記第2の関節位置を識別する関節識別部と、
    前記関節識別部で識別した第2の関節座標と、前記関節入力部に入力された第1の関節座標をもとに座標を統合する関節統合部
    からなることを特徴とする姿勢推定装置。
  7. 請求項5に記載の姿勢推定装置であって、
    前記姿勢推定部は、
    前記通信部を経由して、距離画像カメラから入力される前記第1の関節位置を受信する関節入力部と、
    前記距離画像の前景画素から注目画素の特徴量を算出する特徴量算出部と、
    前記特徴量算出部で算出された特徴量から当該注目画素の部位ラベルを取得する部位識別部と、
    前記部位識別部で識別された各注目画素の部位ラベルを用いて、部位毎に、その重心位置を取得し、取得した各部位の重心位置に基づいて前記第2の関節位置を決定する関節識別部と、
    前記関節識別部で識別した前記第2の関節位置と、前記関節入力部に入力された前記第1の関節位置をもとに座標を統合する関節統合部
    からなることを特徴とする姿勢推定装置。
  8. 距離画像を取得し出力する距離画像カメラであって、
    距離画像センサと、
    前記距離画像センサから取得した入力距離画像から前景画素を含む領域を抽出し、前記抽出した領域を含む距離画像を生成する距離画像生成部と、
    前記距離画像から関節位置を推定する姿勢推定部と、
    前記生成された距離画像から前記推定した関節位置の距離画像を除いた距離画像と、前記推定された関節位置とを外部に送信する通信部と、
    を備えることを特徴とする距離画像カメラ。
  9. 請求項8に記載の距離画像カメラであって、
    前記姿勢推定部は、
    前記前景画素を座標変換する距離画像変換部と、
    前記距離画像変換部で変換した前景画素を体積要素データに変換する体積要素生成部と、 前記体積要素生成部で変換した体積要素データを探索して関節位置を推定する関節識別部からなることを特徴とする距離画像カメラ。
  10. 請求項8に記載の距離画像カメラであって、
    前記姿勢推定部は、
    前記前景画素から注目画素の特徴量を算出する特徴量算出部と、
    前記特徴量算出部で算出された特徴量から当該注目画素の部位ラベルを取得する部位識別部と、
    前記部位識別部で識別された各注目画素の部位ラベルを用いて、部位毎に、その重心位置を取得し、取得した各部位の重心位置に基づいて関節位置を決定する関節識別部とからなることを特徴とする距離画像カメラ。
JP2017189994A 2017-09-29 2017-09-29 姿勢推定システム、姿勢推定装置、及び距離画像カメラ Active JP6853156B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017189994A JP6853156B2 (ja) 2017-09-29 2017-09-29 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
CN201810806511.0A CN109582124B (zh) 2017-09-29 2018-07-20 姿势推定系统、姿势推定装置以及距离图像照相机
US16/126,662 US10740600B2 (en) 2017-09-29 2018-09-10 Posture estimation system, posture estimation device and range image camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017189994A JP6853156B2 (ja) 2017-09-29 2017-09-29 姿勢推定システム、姿勢推定装置、及び距離画像カメラ

Publications (2)

Publication Number Publication Date
JP2019066238A true JP2019066238A (ja) 2019-04-25
JP6853156B2 JP6853156B2 (ja) 2021-03-31

Family

ID=65897914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017189994A Active JP6853156B2 (ja) 2017-09-29 2017-09-29 姿勢推定システム、姿勢推定装置、及び距離画像カメラ

Country Status (3)

Country Link
US (1) US10740600B2 (ja)
JP (1) JP6853156B2 (ja)
CN (1) CN109582124B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020203899A1 (ja) 2019-03-29 2020-10-08 日本製鉄株式会社 部材の製造方法、自動車用部材の製造方法、及び金型
JP2020188914A (ja) * 2019-05-21 2020-11-26 株式会社Preferred Networks データ処理装置、画像配信システム、画像解析方法及び画像解析プログラム
JP2021033379A (ja) * 2019-08-15 2021-03-01 コニカミノルタ株式会社 画像処理システム、画像処理プログラム、および画像処理方法
WO2023195097A1 (ja) * 2022-04-06 2023-10-12 日本電気株式会社 画像処理装置、そのプログラムが記録された非一時的なコンピュータ可読媒体及び方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7288792B2 (ja) * 2019-04-24 2023-06-08 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびデバイス情報導出方法
CN110414337B (zh) * 2019-06-21 2023-12-05 上海汽车工业(集团)总公司 目标姿态检测系统及其检测方法
US11263454B2 (en) * 2020-05-25 2022-03-01 Jingdong Digits Technology Holding Co., Ltd. System and method for video-based pig counting in the crowd

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521038A (ja) * 2009-03-20 2012-09-10 マイクロソフト コーポレーション 連鎖アニメーション
JP2017068627A (ja) * 2015-09-30 2017-04-06 株式会社東芝 画像処理端末及び画像処理サーバ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295546B2 (en) * 2009-01-30 2012-10-23 Microsoft Corporation Pose tracking pipeline
US8334842B2 (en) * 2010-01-15 2012-12-18 Microsoft Corporation Recognizing user intent in motion capture system
US9279661B2 (en) * 2011-07-08 2016-03-08 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP2017097577A (ja) * 2015-11-24 2017-06-01 キヤノン株式会社 姿勢推定方法及び姿勢推定装置
JP2019114821A (ja) * 2016-03-23 2019-07-11 日本電気株式会社 監視システム、装置、方法およびプログラム
EP3267289B1 (en) * 2016-07-05 2019-02-27 Ricoh Company, Ltd. Information processing apparatus, position information generation method, and information processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012521038A (ja) * 2009-03-20 2012-09-10 マイクロソフト コーポレーション 連鎖アニメーション
JP2017068627A (ja) * 2015-09-30 2017-04-06 株式会社東芝 画像処理端末及び画像処理サーバ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
御厨 隆志 他: "人体構造に基づいた単一画像からの姿勢推定手法", 画像の認識・理解シンポジウム(MIRU2007), JPN6020044993, July 2007 (2007-07-01), ISSN: 0004395901 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020203899A1 (ja) 2019-03-29 2020-10-08 日本製鉄株式会社 部材の製造方法、自動車用部材の製造方法、及び金型
JP2020188914A (ja) * 2019-05-21 2020-11-26 株式会社Preferred Networks データ処理装置、画像配信システム、画像解析方法及び画像解析プログラム
JP2021033379A (ja) * 2019-08-15 2021-03-01 コニカミノルタ株式会社 画像処理システム、画像処理プログラム、および画像処理方法
WO2023195097A1 (ja) * 2022-04-06 2023-10-12 日本電気株式会社 画像処理装置、そのプログラムが記録された非一時的なコンピュータ可読媒体及び方法

Also Published As

Publication number Publication date
US10740600B2 (en) 2020-08-11
JP6853156B2 (ja) 2021-03-31
CN109582124B (zh) 2021-11-02
US20190102613A1 (en) 2019-04-04
CN109582124A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
JP6853156B2 (ja) 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
CN109084746B (zh) 用于具有辅助传感器的自主平台引导系统的单目模式
AU2020200546B2 (en) Structure modelling
US9661470B1 (en) Methods and systems for locating an actor within an environment
CN109298629B (zh) 在未绘制地图区域中引导移动平台的系统及方法
US9317741B2 (en) Three-dimensional object modeling fitting and tracking
US9704248B2 (en) Position and orientation measuring apparatus, information processing apparatus and information processing method
CN113359782B (zh) 一种融合lidar点云与图像数据的无人机自主选址降落方法
WO2012081687A1 (en) Information processing apparatus, information processing method, and program
JP2011133273A (ja) 推定装置及びその制御方法、プログラム
JP2017134617A (ja) 位置推定装置、プログラム、位置推定方法
US20190371024A1 (en) Methods and Systems For Exploiting Per-Pixel Motion Conflicts to Extract Primary and Secondary Motions in Augmented Reality Systems
US11580784B2 (en) Model learning device, model learning method, and recording medium
KR102585821B1 (ko) 증강 현실 장치 및 위치 설정 방법
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
JP2016085602A (ja) センサ情報統合方法、及びその装置
CN115164906B (zh) 定位方法、机器人和计算机可读存储介质
EP3678822B1 (en) System and method for estimating pose of robot, robot, and storage medium
JP6655513B2 (ja) 姿勢推定システム、姿勢推定装置、及び距離画像カメラ
KR102130687B1 (ko) 다중 센서 플랫폼 간 정보 융합을 위한 시스템
KR102618069B1 (ko) 지상조사 로봇의 점군 자료와 시각정보를 이용한 실내건물 재난정보 분석 방법 및 장치
US20240119620A1 (en) Posture estimation apparatus, posture estimation method, and computer-readable recording medium
CN113609985B (zh) 物体位姿检测方法、检测设备、机器人及可存储介质
US11448511B2 (en) System and method for probabilistic multi-robot positioning
KR101772890B1 (ko) 손의 홀딩 제스쳐에 대응하는 물체의 종류 및 조작 제스쳐에 대응하는 조작의 종류를 판단하기 위한 제스쳐 감지 장치 및 이에 의한 제스쳐 감지 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210311

R150 Certificate of patent or registration of utility model

Ref document number: 6853156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150