[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7533765B2 - 骨格認識方法、骨格認識プログラムおよび体操採点支援システム - Google Patents

骨格認識方法、骨格認識プログラムおよび体操採点支援システム Download PDF

Info

Publication number
JP7533765B2
JP7533765B2 JP2023504918A JP2023504918A JP7533765B2 JP 7533765 B2 JP7533765 B2 JP 7533765B2 JP 2023504918 A JP2023504918 A JP 2023504918A JP 2023504918 A JP2023504918 A JP 2023504918A JP 7533765 B2 JP7533765 B2 JP 7533765B2
Authority
JP
Japan
Prior art keywords
feature
features
joint
abnormal
information
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.)
Active
Application number
JP2023504918A
Other languages
English (en)
Other versions
JPWO2022190206A5 (ja
JPWO2022190206A1 (ja
Inventor
達也 鈴木
優 石川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2022190206A1 publication Critical patent/JPWO2022190206A1/ja
Publication of JPWO2022190206A5 publication Critical patent/JPWO2022190206A5/ja
Application granted granted Critical
Publication of JP7533765B2 publication Critical patent/JP7533765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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
    • 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/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Description

本発明は、骨格認識方法等に関する。
3次元の人の動きの検出に関しては、複数台の3Dレーザセンサから人の3D骨格座標を±1cmの精度で検出する3Dセンシング技術が確立されている。この3Dセンシング技術は、体操採点支援システムへの応用や、他のスポーツ、他分野への展開が期待されている。3Dレーザセンサを用いた方式を、レーザ方式と表記する。
レーザ方式では、レーザを1秒間に約200万回照射し、レーザの走行時間(Time of Flight:ToF)を基に、対象となる人を含めて、各照射点の深さや情報を求める。レーザ方式は、高精度な深度データを取得できるが、レーザスキャンやToF測定の構成および処理が複雑であるため、ハードウェアが複雑および高価になるという欠点がある。
レーザ方式の代わりに、画像方式によって、3D骨格認識を行う場合もある。画像方式では、CMOS(Complementary Metal Oxide Semiconductor)イメージャによって、各ピクセルのRGB(Red Green Blue)データを取得する方式であり、安価なRGBカメラを用いることができる。
ここで、複数カメラによる2D特徴を用いた3D骨格認識の従来技術について説明する。従来技術では、事前に定義された人体モデルに従って、各カメラで2D特徴を取得した後、各2D特徴を統合した結果を用いて、3D骨格を認識する。たとえば、2D特徴は、2D骨格情報、heatmap情報が上げられる。
図22は、人体モデルの一例を示す図である。図22に示すように、人体モデルM1は、21個の関節で構成される。人体モデルM1では、各関節をノードで示し、0~20の番号を割り当てる。ノードの番号と、関節名との関係は、テーブルTe1に示す関係となる。たとえば、ノード0に対応する関節名は「SPINE_BASE」となる。ノード1~20に対する関節名の説明を省略する。
従来技術には、三角測量を用いた手法、機械学習を用いた手法がある。三角測量を用いた手法には、カメラ2台による三角測量と、カメラ3台以上による三角測量がある。便宜的に、カメラ2台による三角測量を、従来技術1、カメラ3台以上による三角測量を、従来技術2、機械学習を用いた手法を、従来技術3とする。
図23は、カメラ2台による三角測量を説明するための図である。従来技術1において、三角測量とは、2台のカメラCa1A,Ca1Bの特徴を使って、三角形の関係から被写体Pの3次元位置を測定する方法と定義する。カメラCa1Aのカメラ画像をIm2Aとし、カメラCa1Bのカメラ画像をIm2Bとする。
被写体Pのカメラ画像Im2Aの2D関節位置をp(x,y)とする。被写体Pのカメラ画像Im2Aの2D関節位置をp(x,y)とする。また、カメラ間の距離をbとし、焦点距離をfとする。従来技術1では、2D関節位置をp(x,y)、p(x,y)を特徴とし、3次元関節位置P(X,Y,Z)を、式(1)、式(2)、式(2)により算出する。(X,Y,Z)の原点は、2つのカメラCa1A,Ca1Bの光学中心の中央にあるものとする。
Figure 0007533765000001
Figure 0007533765000002
Figure 0007533765000003
図23で説明した従来技術1では、3D骨格を求める際に誤った2D特徴が使用されると3D骨格の精度が低下してしまう。
図24は、カメラ3台による三角測量を説明するための図である。カメラ3台による三角測量では、図23で説明した三角測量を、3台以上のカメラに拡張し、RANSAC(Random Sample Consensus)と呼ばれるアルゴリズムにより、最も良いカメラの組み合わせを推定する。
図24に示すように、従来技術2の装置は、全てのカメラ1-1,1-2,1-3,1-4で、被写体の2D関節位置を取得する(ステップS1)。従来技術2の装置は、全てのカメラ1-1~1-4から、2つのカメラの組み合わせを選択し、図23で説明した三角測量によって、3D関節位置を算出する(ステップS2)。
従来技術2の装置は、3D骨格を全てのカメラ1-1~1-4に再投影して、2D関節位置とのずれが閾値以下となるカメラの数をカウントする(ステップS3)。従来技術2の装置は、ステップS2、S3の処理を繰り返し実行し、2D関節位置とのずれが閾値以下となるカメラの数が最も多い2つのカメラの組み合わせを、最も良いカメラの組み合わせとして採用する(ステップS4)。
図24で説明した従来技術2では、3D骨格を求める際に最適な2つのカメラを探索するために処理時間を要してしまう。
機械学習を用いた手法では、三角測量を用いた手法と比較して、高精度かつ高速に、3D骨格を認識することが可能となる。
図25は、機械学習を用いた手法を説明するための図である。機械学習を用いた従来技術3では、各カメラが撮影した各入力画像21に対して、2D backbone処理21aをかけることで、各関節特徴を表す2D特徴(2D features)22を取得する。従来技術3では、各2D特徴22をカメラパラメータに従って3Dcubeに逆投影することで、aggregated volumes23を取得する。
従来技術3では、aggregated volumes23を、V2V(ニューラルネットワーク、P3)24に入力することで、各関節の尤度を表すprocessed volumes25を取得する。processed volumes25は、各関節の3Dでの尤度を表すheatmapに対応する。従来技術3では、processed volumes25に対して、soft-argmax26を実行することで、3D骨格情報27を取得する。
特開平10-302070号公報 特開2000-251078号公報
しかしながら、従来技術3では、誤った2D特徴を用いて3D骨格認識を実行する場合があり、正しい3D骨格認識結果を得ることができないという問題がある。
図26は、従来技術3の問題を説明するための図である。ここでは、一例として、4台のカメラ2-1,2-2,2-3,2-4を用いて、3D骨格を認識する場合について説明する。カメラ2-1,2-2,2-3,2-4が撮影した入力画像をそれぞれ、入力画像Im2-1a,Im2-2a,Im2-3a,Im2-4aとする。このうち、入力画像Im2-3aでは、被写体の顔が見えづらく、左右の区別が難しい画像となっている。入力画像Im2-4aでは、領域Ar1において、左膝オクルージョンが発生している。
従来技術3では、入力画像Im2-1aに、2D backbone処理21aをかけることで、2D特徴が算出され、この2D特徴により、2D骨格情報Im2-1bが生成される。入力画像Im2-2a,Im2-3a、Im2-4aについても、2D backbone処理21aをかけることで、2D特徴が算出され、この2D特徴により、2D骨格情報Im2-2b,Im2-3b,Im2-4bが生成される。2D骨格情報Im2-1b~Im2-4bは、2Dの骨格の位置を示すものである。
ここで、入力画像Im2-3aでは、被写体の顔が見えづらいため、2D姿勢情報Im2-3bの領域Ar2において、骨格の関係が左右反転している。入力画像Im2-4aで発生した左膝オクルージョンの影響により、2D姿勢情報Im2-4bの領域Ar3において、左膝に関連した2D骨格が誤った特徴をとらえている。
従来技術3では、2D姿勢情報Im2-1b~Im2-4bの基となる2D特徴をそのまま用いて、3D骨格認識結果Im2-1c,Im2-2c,Im2-3c,Im2-4cを算出する。すなわち、2D姿勢情報Im2-3b,Im2-4bに対応する2D特徴が誤っていても、かかる2D特徴を用いて、3D骨格を認識するため、精度が低下する。たとえば、図26に示す例では、誤りの特徴の多かった左膝に大きな精度の低下が発生する。
1つの側面では、本発明は、正しく3D骨格認識を実行することができる、骨格認識方法、骨格認識プログラムおよび体操採点支援システムを提供することを目的とする。
第1の案では、コンピュータは、次の処理を実行する。コンピュータは、被写体を撮影する複数のカメラから入力される2次元の入力画像を基にして、被写体の2次元の関節位置の特徴を示す複数の第1特徴を抽出する。コンピュータは、複数の第1特徴を基にして、被写体の所定数の関節にそれぞれ対応させた複数の第2特徴を含む第2特徴群情報を生成する。コンピュータは、第2特徴群情報から、異常のある第2特徴を検知する。コンピュータは、第2特徴群情報から、異常のある第2特徴を除去した残りの複数の第2特徴を統合した結果を基にして、3D骨格を認識する。
3D骨格認識結果に異常を与えてしまう2D特徴を判定することで、異常のある2D特徴を事前に除去することができ、正しく3D骨格認識を実行することができる。
図1は、本実施例に係る体操採点支援システムの一例を示す図である。 図2は、2D特徴を説明するための図である。 図3は、一つの2D特徴を示す図である。 図4は、本実施例に係る骨格認識装置の構成を示す機能ブロック図である。 図5は、測定テーブルのデータ構造の一例を示す図である。 図6は、特徴テーブルのデータ構造の一例を示す図である。 図7は、生成部の処理を説明するための図である。 図8は、左右反転検知を説明するための図(1)である。 図9は、左右反転検知を説明するための図(2)である。 図10は、セルフオクルージョン検知を説明するための図である。 図11は、異常heatmapのパターンを説明するための図である。 図12は、第1の異常heatmap検知処理について説明するための図である。 図13は、ネットワークの自動重み調整の一例を説明するための図である。 図14は、第2の異常heatmap検知処理について説明する図(1)である。 図15は、第2の異常heatmap検知処理について説明する図(2)である。 図16は、画面情報の一例を示す図である。 図17は、本実施例に係る骨格認識装置の処理手順を示すフローチャートである。 図18は、第2特徴生成処理のフローチャートである。 図19は、異常検知処理のフローチャートである。 図20は、本実施例に係る骨格認識装置の効果を説明するための図である。 図21は、骨格認識装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図22は、人体モデルの一例を示す図である。 図23は、カメラ2台による三角測量を説明するための図である。 図24は、カメラ3台による三角測量を説明するための図である。 図25は、機械学習を用いた手法を説明するための図である。 図26は、従来技術3の問題を説明するための図である。
以下に、本願の開示する骨格認識方法、骨格認識プログラムおよび体操採点支援システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る体操採点支援システムの一例を示す図である。図1に示すように、この体操採点支援システム35は、カメラ30a,30b,30c,30dと、骨格認識装置100とを有する。カメラ30a~30dと、骨格認識装置100とは、有線または無線によってそれぞれ接続されている。図1では、カメラ30a~30dを示すが、この体操採点支援システム35は、他のカメラを更に有していてもよい。
本実施例では一例として、被写体H1が、器具上で一連の演技を行うものとするがこれに限定されるものではない。たとえば、被写体H1は、器具の存在しない場所で演技を行ってもよいし、演技以外の動作を行ってもよい。
カメラ30aは、被写体H1の画像を撮影するカメラである。カメラ30aは、CMOSイメージャ、RGBカメラ等に対応する。カメラ30aは、所定のフレームレート(frames per second:FPS)によって、画像を連続して撮影し、時系列に画像のデータを骨格認識装置100に送信する。以下の説明では、連続する複数の画像のデータのうち、ある一つの画像のデータを「画像フレーム」と表記する。画像フレームには、時系列にフレーム番号が付与される。
カメラ30b,30c,30dに関する説明は、カメラ30aに関する説明と同様である。以下の説明では、適宜、カメラ30a~30dをまとめて「カメラ30」と表記する。
骨格認識装置100は、カメラ30から画像フレームを取得し、画像フレームを基にして、被写体H1の関節にそれぞれ対応する複数の第2特徴を生成する。第2特徴は、各関節位置の尤度を示すheatmapである。1つのカメラから取得した1つの画像フレームから、各関節に対応する第2特徴が生成される。たとえば、関節数を21個、カメラの数を4個とすると、画像フレーム毎に、84個の第2特徴が生成される。
図2は、第2特徴を説明するための図である。図2に示す画像フレームIm30a1は、カメラ30aに撮影された画像フレームである。画像フレームIm30b1は、カメラ30bに撮影された画像フレームである。画像フレームIm30c1は、カメラ30cに撮影された画像フレームである。画像フレームIm30d1は、カメラ30dに撮影された画像フレームである。
骨格認識装置100は、画像フレームIm30a1を基にして、第2特徴群情報G1aを生成する。第2特徴群情報G1aには、各関節に対応する21個の第2特徴が含まれる。骨格認識装置100は、画像フレームIm30b1を基にして、第2特徴群情報G1bを生成する。第2特徴群情報G1bには、各関節に対応する21個の第2特徴が含まれる。
骨格認識装置100は、画像フレームIm30c1を基にして、第2特徴群情報G1cを生成する。第2特徴群情報G1cには、各関節に対応する21個の第2特徴が含まれる。骨格認識装置100は、画像フレームIm30d1を基にして、第2特徴群情報G1dを生成する。第2特徴群情報G1dには、各関節に対応する21個の第2特徴が含まれる。
図3は、一つの第2特徴を示す図である。図3に示す第2特徴Gc1-3は、第2特徴群情報G1dに含まれる第2特徴のうち、関節「HEAD」に対応する第2特徴である。第2特徴Gc1-3の各ピクセルには、尤度が設定される。図3では、尤度の値に応じた色が設定される。尤度が最大となる箇所が、該当する関節の座標となる。たとえば、特徴Gc1-3において、尤度の値が最大となる領域Ac1-3が、関節「HEAD」の座標であることが特定できる。
骨格認識装置100は、第2特徴群情報G1aに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1aから除去する。骨格認識装置100は、第2特徴群情報G1bに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1bから除去する。
骨格認識装置100は、第2特徴群情報G1cに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1cから除去する。骨格認識装置100は、第2特徴群情報G1dに含まれる第2特徴から、異常のある第2特徴を検知し、検知した異常のある第2特徴を、第2特徴群情報G1dから除去する。
骨格認識装置100は、異常のある第2特徴を除いた第2特徴群情報G1a,G1b,G1c,G1dを統合し、統合した結果を基にして、3D骨格を認識する。
上記のように、骨格認識装置100によれば、画像フレームを基にして、被写体H1の関節とそれぞれ対応付けた複数の第2特徴を生成し、異常が検知された第2特徴を除いた残りの第2特徴を合成した結果を用いて3D骨格を認識する。このため、正しい3D骨格の認識結果を得ることができる。
次に、本実施例に係る骨格認識装置100の構成の一例について説明する。図4は、本実施例に係る骨格認識装置の構成を示す機能ブロック図である。図4に示すように、この骨格認識装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、カメラ30から画像フレームを受信する。通信部110は、受信した画像フレームを制御部150に出力する。通信部110は、通信装置の一例である。通信部110は、図示しない他の外部装置からデータを受信してもよい。
入力部120は、骨格認識装置100の制御部150に各種の情報を入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。利用者は、入力部120を操作して、画面情報の表示要求、画面操作などを行う。
表示部130は、制御部150から出力される情報を表示する表示装置である。たとえば、表示部130は、各種競技の技認定、採点結果等の画面情報を表示する。表示部130は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、タッチパネル等に対応する。
記憶部140は、測定テーブル141、特徴テーブル142、技認識テーブル143を有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
測定テーブル141は、カメラ30により撮影される画像フレームを時系列に格納するテーブルである。図5は、測定テーブルのデータ構造の一例を示す図である。図5に示すように、測定テーブル141は、カメラ識別情報と、画像フレームとを対応付ける。
カメラ識別情報は、カメラを一意に識別する情報である。たとえば、カメラ識別情報「C30a」は、カメラ30aに対応し、カメラ識別情報「C30b」は、カメラ30bに対応し、カメラ識別情報「C30c」は、カメラ30cに対応し、カメラ識別情報「C30d」は、カメラ30dに対応する。画像フレームは、該当するカメラ30に撮影された時系列の画像フレームである。各画像フレームには、時系列にフレーム番号が設定されるものとする。
特徴テーブル142は、第2特徴に関する情報を保持するテーブルである。図6は、特徴テーブルのデータ構造の一例を示す図である。図6に示すように、特徴テーブル142は、カメラ識別情報と、第1特徴と、第2特徴群情報とを有する。カメラ識別情報に関する説明は、図5で説明したカメラ識別情報に関する説明と同様である。
第1特徴は、1つの画像フレームに対して、2D backbone処理を実行することで算出される被写体H1の関節に関する特徴情報である。一つの画像フレームから、一つのカメラにつき、K個の第1特徴が生成される。すなわち、画像フレーム毎、カメラ毎に、K個の第1特徴が生成され、特徴テーブル142に格納される。なお、「K」は、関節数とは異なる数となり、関節数よりも多い数となる。
第2特徴群情報は、各関節に1対1に対応するJ個の第2特徴を有する。一つの画像フレームから生成されたK個の第1特徴から、J個の第2特徴が生成される。また、J個の第2特徴は、カメラ毎に生成される。すなわち、画像フレーム毎、カメラ毎に、J個の第2特徴が生成され、特徴テーブル142に格納される。なお、「J」は、関節数「21」と同じ数となり、各第2特徴は、各関節に対応付けられる。第2特徴群情報の説明は、図2で説明した内容に対応する。
図示を省略するが、K個の第1特徴の情報、J個の第2特徴の情報には、対応する画像フレームのフレーム番号が設定されているものとする。
図4の説明に戻る。技認識テーブル143は、各骨格認識結果に含まれる各関節位置の時系列変化と、技の種別とを対応付けるテーブルである。また、技認識テーブル143は、技の種別の組み合わせと、スコアとを対応付ける。スコアは、D(Difficulty)スコアとE(Execution)スコアとの合計で算出される。たとえば、Dスコアは、技の難易度に基づいて算出されるスコアである。Eスコアは、技の完成度に応じて、減点法により算出されるスコアである。
制御部150は、取得部151、生成部152、検知部153、骨格認識部154、技認識部155を有する。制御部150は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジック等によって実現される。
取得部151は、通信部110を介して、カメラ30から時系列に画像フレームを取得する。取得部151は、カメラ30から取得した画像フレームを、カメラ識別情報と対応付けて、測定テーブル141に格納する。
生成部152は、画像フレームを基にして、第2特徴群情報を生成する。図7は、生成部の処理を説明するための図である。図7に示すように、生成部152は、2D特徴抽出NN142A、チャネル数変換NN142Bを利用する。
2D特徴抽出NN142Aは、ResNet等のNN(Neural Network)に対応する。2D特徴抽出NN142Aは、画像フレームが入力された場合に、訓練済みのパラメータを基にして、K個の第1特徴を算出して、出力する。たとえば、1つの第1特徴は、96×96のピクセル画像であり、各ピクセルには、いずれかの関節に関する尤度が設定される。K個の第1特徴は、各関節と、1対1に対応しているものではない。2D特徴抽出NN142Aは、予め訓練データによって、パラメータが訓練(機械学習)されているものとする。
チャネル数変換NN142Bは、NNのConv2D層等に対応する。チャネル数変換NN142Bは、K個の第1特徴が入力された場合に、訓練済みのパラメータを基にして、J個の第2特徴を算出して、出力する。J個の第2特徴は、各関節と1対1に対応している。チャネル数変換NN142Bは、予め訓練データによって、パラメータが訓練(機械学習)されているものとする。
生成部152は、測定テーブル141から、カメラ30aの画像フレームを取得し、取得した画像フレームを、2D特徴抽出NN142Aに入力することで、K個の第1特徴を抽出する。生成部152は、K個の第1特徴を、カメラ識別情報C30aに対応付けて、特徴テーブル142に登録する。
また、生成部152は、K個の第1特徴を、チャネル数変換NN142Bに入力することで、J個の第2特徴を生成する。生成部152は、J個の第2特徴を、カメラ識別情報C30aに対応付けて、特徴テーブル142に登録する。生成部152は、カメラ30aの時系列の各画像フレームに対して、上記処理を繰り返し実行することで、カメラ30aに対応するJ個の第2特徴の情報を生成する。
生成部152は、カメラ30b,30c,30dの画像フレームについても、カメラ30aの画像フレームと同様にして、K個の第1特徴を抽出し、J個の第2特徴の情報を生成する。なお、K個の第1特徴、J個の第2特徴には、フレーム番号が付与される。
たとえば、フレーム番号「n」の画像フレームを基に抽出されたK個の第1特徴には、フレーム番号「n」が付与される。また、フレーム番号「n」が付与されたK個の第1特徴を基に生成されるJ個の第2特徴(第2特徴群情報)には、フレーム番号「n」が付与される。
検知部153は、特徴テーブル142に格納されたJ個の第2特徴の情報を基にして、異常な関節を検知する。たとえば、検知部153は、左右反転検知、セルフオクルージョン検知、異常heatmap検知を実行することで、異常な関節を検知する。
検知部153が実行する左右反転検知について説明する。ここでは、カメラ30aが撮影した画像フレームに基づいて生成されたフレーム番号n-1の第2特徴群情報と、フレーム番号nの第2特徴群情報とを用いて説明を行う。
検知部153は、フレーム番号n-1の第2特徴群情報に含まれるJ個の第2特徴を基にして、各関節の座標を算出する。たとえば、図3の関節「HEAD」に対応する第2特徴Gc1-3を用いて説明する。検知部153は、第2特徴Gc1-3の各ピクセルに設定された尤度のうち、最大の尤度が設定されたピクセルの座標を「HEAD」の座標として算出する。検知部153は、他の関節に対応する第2特徴についても、同様の処理を実行することで、フレーム番号n-1の各関節の座標(2次元の座標)を算出する。
検知部153は、フレーム番号nの第2特徴群情報に含まれるJ個の第2特徴を基にして、各関節の座標を算出する。検知部153が、フレーム番号nの第2特徴群情報を基にして、各関節の座標を算出する処理は、フレーム番号nの第2特徴群情報を基にして、各関節の座標を算出する処理と同様である。
図8は、左右反転検知を説明するための図(1)である。図8において、モデルM1-1は、フレーム番号n-1の各関節の座標を基に生成される2次元骨格情報である。モデルM1-2は、フレーム番号nの各関節の座標を基に生成される2次元骨格情報である。図8では、説明の便宜上、一部の関節の図示を省略する。
検知部153は、所定の左側の関節を始点とし、所定の右側の関節を終点とするベクトルを計算する。たとえば、モデルM1-1では、ベクトルva1,va2,va3,va4,va5,va6を示す。図22で説明した関節を用いて説明すると、ベクトルva1は、ノード13を始点とし、ノード17を終点とするベクトルである。ベクトルva2は、ノード11を始点とし、ノード15を終点とするベクトルである。ベクトルva3は、ノード19を始点とし、ノード20を終点とするベクトルである。ベクトルva4は、ノード10を始点とし、ノード14を終点とするベクトルである。ベクトルva5は、ノード5を始点とし、ノード8を終点とするベクトルである。ベクトルva6は、ノード4を始点とし、ノード7を終点とするベクトルである。
検知部153は、モデルM1-2についても同様にして、所定の左側の関節を始点とし、所定の右側の関節を終点とするベクトルを計算する。ここでは、一例として、ベクトルvb3を示す。
検知部153は、モデルM1-1と、モデルM1-2において、始点の関節と終点の関節とが同一となるベクトルをペアとする。図8に示す例では、モデルM1-1のベクトルva3と、モデルM1-2のベクトルvb3とがペアとなる。検知部153は、ペアのベクトルのノルムを比較し、前フレーム(フレーム番号n-1)から所定値以上、ノルムが小さくなっている場合に、該当するベクトルのペアを検知する。
たとえば、検知部153は、ベクトルva3のノルムから、ベクトルvb3のノルムを減算した値が、所定値以上である場合に、ベクトルva3,vb3を検知する。検知部153は、他のベクトルのペアについても同様の処理を実行する。この処理によって、検知部153が検知したベクトルのペアを、第1検知ベクトルペアと表記する。
検知部153は、第1検知ベクトルペアの関節の座標の移動量を比較し、移動量の大きい方の関節を、異常関節として検知する。たとえば、検知部153は、ベクトルva3と、ベクトルvb3とを比較すると、始点の関節の移動量よりも、終点の関節の移動量の方が大きいため、モデルM1-2の終点の関節(ノード20:HAND_TIP_RIGHT)を異常関節として検知する。なお、モデルM1-2の基となる第2特徴群情報が、カメラ30aの撮影した画像フレームに基づく第2特徴群情報であるとする。この場合、検知部153は、「カメラ識別情報:C30a、フレーム番号:n、異常関節:HAND_TIP_RIGHT」を含む異常関節情報を生成する。
図9は、左右反転検知を説明するための図(2)である。図9において、モデルM1-1は、フレーム番号n-1の各関節の座標を基に生成される2次元骨格情報である。モデルM1-2は、フレーム番号nの各関節の座標を基に生成される2次元骨格情報である。図9では、説明の便宜上、一部の関節の図示を省略する。
検知部153は、図8と同様にして、所定の左側の関節を始点とし、所定の右側の関節を終点とするベクトルを計算する。図9では一例として、モデルM1-1のベクトルva3と、モデルM1-2のベクトルvb3を示す。
検知部153は、モデルM1-1と、モデルM1-2において、始点の関節と終点の関節とが同一となるベクトルをペアとする。検知部153は、ペアのベクトルのなす角を算出する。検知部153は、なす角が所定のなす角以上となるベクトルのペアを検知する。
たとえば、検知部153は、ベクトルva3とベクトルvb3とのなす角が所定のなす角以上である場合に、ベクトルva3,vb3を検知する。検知部153は、他のベクトルのペアについても同様の処理を実行する。この処理によって、検知部153が検知したベクトルのペアを、第2検知ベクトルペアと表記する。
検知部153は、第2検知ベクトルペアの始点となる関節と、終点となる関節との双方を、異常関節として検知する。図9に示す例では、検知部153は、モデルM1-2の始点の関節(ノード19:HAND_TIP_LEFT)、終点の関節(ノード20:HAND_TIP_RIGHT)を異常関節として検知する。なお、モデルM1-2の基となる第2特徴群情報が、カメラ30aの撮影した画像フレームに基づく第2特徴群情報であるとする。この場合、検知部153は、「カメラ識別情報:C30a、フレーム番号:n、異常関節:HAND_TIP_RIGHT、HAND_TIP_LEFT」を含む異常関節情報を生成する。
図8,図9では、カメラ30aが撮影した画像フレームに基づいて生成されたフレーム番号n-1の第2特徴群情報と、フレーム番号nの第2特徴群情報とを用いて異常関節情報を生成する場合について説明したが、他のカメラ30b,30c,30dについても同様である。
続いて、検知部153が実行するセルフオクルージョン検知について説明する。ここでは、カメラ30aが撮影した画像フレームに基づいて生成された各フレーム番号n-2,n-1の第2特徴群情報を用いて説明を行う。
検知部153は、フレーム番号n-2の第2特徴群情報に含まれるJ個の第2特徴を基にして、各関節の座標を算出する。検知部153は、フレーム番号n-1の第2特徴群情報に含まれるJ個の第2特徴を基にして、各関節の座標を算出する。各関節の座標を算出する処理は、左右反転検知で説明した各関節の座標を算出する処理と同様である。
検知部153は、フレーム番号n-2の各関節の座標と、フレーム番号n-1の各関節の座標とを基にして、フレーム番号nの各関節の座標を示す予測骨格情報を算出する。たとえば、検知部153は、式(4)を基にして、フレーム番号nの各関節の座標を示す予測骨格情報を算出する。式(4)において、pは、予測されるフレーム番号nの各関節の座標を示す。pn-1は、フレーム番号n-1の各関節の座標を示す。pn-2は、フレーム番号n-2の各関節の座標を示す。
Figure 0007533765000004
図10は、セルフオクルージョン検知を説明するための図である。図11において、モデルM2-1は、式(4)によって予測された、フレーム番号nの各関節の座標を示す予測骨格情報に対応する。図10では、説明の便宜上、一部の関節の図示を省略する。
検知部153は、モデルM2-1(予測骨格情報)に含まれる所定の関節を基にして、ボックスを作成する。たとえば、図22で説明した関節を用いて説明すると、所定の関節を、ノード4,7,14,10とすると、ボックスは、ボックスB10となる。検知部153は、ボックスB10の大きさにマージンを持たせもよい。
検知部153は、ボックスB10を構成する関節とは異なる他の関節の座標と、ボックスB10との比較を行い、他の関節の座標が、ボックスB10の領域に含まれる場合には、ボックスB10の領域に含まれる他の関節を異常関節として検知する。たとえば、他の関節を、ノード5(ELBOW_LEFT),8(ELBOW_RIGHT),6(WRIST_LEFT),9(WRIST_RIGHT),11(KNEE_LEFT),15(KNEE_RIGHT),12(ANKLE_LEFT),16(ANKLE_RIGHT)とする。
図10に示す例では、ボックスB10に、ノード15に相当する関節「KNEE_RIGHT」が含まれている。このため、検知部153は、関節(ノード15:KNEE_RIGHT)を異常関節として検知する。なお、モデルM2-1の予測に用いた、フレーム番号n-2の各関節の座標と、フレーム番号n-1の各関節の座標とが、カメラ30aの撮影した画像フレームに基づく第2特徴群情報であるとする。この場合、検知部153は、「カメラ識別情報:C30a、フレーム番号:n、異常関節:KNEE_RIGHT」を含む異常関節情報を生成する。
図10では、カメラ30aが撮影した画像フレームに基づいて生成されたフレーム番号n-2の第2特徴群情報と、フレーム番号n-1の第2特徴群情報とを用いて異常関節情報を生成する場合について説明したが、他のカメラ30b,30c,30dについても同様である。
続いて、検知部153が実行する異常heatmap検知について説明する。図11は、異常heatmapのパターンを説明するための図である。図11では一例として、パターン「消失」、「ぼけ」、「分裂」、「位置ずれ」について説明する。heatmap4-1,4-2,4-3,4-4は、第2特徴に対応する。
パターン「消失」は、heatmap4-1に示すように、尤度の高い分布が形成されないパターンである。パターン「ぼけ」は、heatmap4-2に示すように、尤度の高い分布が広範囲に広がっているパターンである。パターン「分裂」は、heatmap4-3に示すように、尤度のピークが複数存在するパターンである。パターン「位置ずれ」は、heatmap4-4に示すように、尤度のピークが間違った位置にあるパターンである。
検知部153は、第2特徴(heatmap)が、図11で説明したいずれかのパターンに該当する場合には、かかる第2特徴に対応する関節を、異常関節として検知する。
検知部153は、第1の異常heatmap検知処理によって、パターン「消失」、「ぼけ」、「分裂」に対応する第2特徴を検知する。検知部153は、第2の異常heatmap検知処理によって、パターン「位置ずれ」を検知する。
検知部153が実行する第1の異常heatmap検知処理について説明する。検知部153は、フレーム番号nの第2特徴群情報に含まれる各第2特徴から、尤度が最大値となる座標を算出する。尤度が最大となる座標を「最大値座標」と表記する。たとえば、図6で説明したように、各カメラ識別情報には、J個の第2特徴が含まれているため、カメラが4つで、関節数が「21」であれば、84個の第2特徴から、84個の最大値座標が算出される。以下の説明では、カメラ30a~30dに対応する第2特徴群情報(複数の第2特徴<heatmap>)をまとめて「HMinput」と表記する。
検知部153は、HMinputの各最大値座標を基準にして、2D特徴抽出NN142A、チャネル数変換NN142Bの訓練時と同形状の第2特徴を、「HMinput」に含まれる第2特徴分だけ作成する。作成した複数の第2特徴を「HMeval」と表記する。
図12は、第1の異常heatmap検知処理について説明するための図(1)である。図12では、HMinputから、HMevalを生成する場合を示している。2DGaussianに従う場合、検知部153は、訓練データの尤度の値を基にして、標準偏差を算出し、平均値を、最大値座標する。たとえば、検知部153は、HMinputの第2特徴HM1-1から、HMevalの第2特徴HM2-1を生成する場合には、次の計算を行う。検知部153は、2D特徴抽出NN142A、チャネル数変換NN142Bの訓練時に用いたheatmapの尤度の値に基づく標準偏差と、第2特徴HM1-1の最大値座標を平均値とするガウス分布に従って、HMevalの第2特徴HM2-1を生成する。
検知部153は、HMinputと、HMevalとの対応する第2特徴毎に差分を算出し、差分が閾値以上となる第2特徴に対応する関節を、異常関節として検知する。検知部153は、差分として、式(5)に示す平均二乗誤差(MSE)、または、式(6)に示す平均絶対誤差(MAE)等を算出する。式(5)に示す「xi input」は、HMinputの第2特徴の画素値(尤度)である。式(5)に示す「xi eval」は、HMevalの第2特徴の画素値(尤度)である。
Figure 0007533765000005
Figure 0007533765000006
たとえば、検知部153は、図12に示した第2特徴HM1-1の各画素値と、第2特徴HM2-1の各画素値とを基にして、差分を算出し、差分が閾値以上である場合に、第2特徴HM1-1に対応する関節の異常を検知する。ここで、第2特徴HM1-1が、カメラ30aに対応する第2特徴群情報に含まれるフレーム番号nの第2特徴であって、関節「HAND_TIP_RIGHT」に対応する第2特徴である場合には、「カメラ識別情報:C30a、フレーム番号:n、異常関節:HAND_TIP_RIGHT」を含む異常関節情報を生成する。
なお、検知部153は、ネットワークによる自動重み調整を行って、異常な第2特徴の影響度を下げるようにしてもよい。図13は、ネットワークの自動重み調整の一例を説明するための図である。図13に示すDNN(Deep Neural Network)142Cは、2D畳み込み層、ReLU層、MaxPooling層、全結合層から構成されるネットワークである。DNN142Cは、全体モデルと別途訓練するのではなく、組み込みself-learning方式で全体モデルと同時に学習するものとする。
たとえば、DNN142Cに、j個の第2特徴を含むHMinputとDNN142Cに入力することで、各第2特徴に対応する重みw,w,・・・wを出力する。たとえば、検知部153は、各重みw,w,・・・wを、異常関節情報として生成する。重みwの重みが小さい場合(閾値未満の場合)には、重みwに対応する第2特徴の関節が異常であるといえる。
続いて、検知部153が実行する第2の異常heatmap検知処理について説明する。検知部153は、多視点幾何の整合性を基にして、異常となる関節を検知する。たとえば、検知部153は、以下の処理を実行する。
検知部153は、フレーム番号nの第2特徴群情報に含まれるJ個の第2特徴から、最大値座標を算出する。最大値座標は、尤度が最大となる座標である。検知部153は、視点vの第2特徴群情報に含まれる第2特徴について、次の処理を実行する。視点vは、1つのカメラ30の中心座標に対応する。
図14は、第2の異常heatmap検知処理について説明する図(1)である。第2特徴HM3-1を、注目する視点vの第2特徴とする。第2特徴HM3-2を、他の視点v´の第2特徴とする。第2特徴HM3-3を、他の視点v´´の第2特徴とする。検知部153は、第2特徴HM3-1の最大値座標と、第2特徴HM3-2の最大値座標とを基にして、エピポーラ線lv,v´を算出する。検知部153は、第2特徴HM3-1の最大値座標と、第2特徴HM3-3の最大値座標とを基にして、エピポーラ線lv,v´´を算出する。
検知部153は、エピポーラ線lv,v´とエピポーラ線lv,v´´との交点を算出する。検知部153は、注目する視点vの第2特徴HM3-1の最大値座標と、交点とのユークリッド距離dを算出する。検知部153は、視点毎に上記処理を繰り返し実行し、ユークリッド距離dが閾値dth以下となる視点の組み合わせを抽出する。
図15は、第2の異常heatmap検知処理について説明する図(2)である。図15では、注目する視点(カメラ)と、視点組み合わせとを対応付ける。注目する視点は、図14の注目する視点に対応する。視点組み合わせは、注目視点の最大値座標と交点とのユーグリッド距離dが閾値dth以下となった交点を生成した視点の組み合わせを示す。
図15では、説明の便宜上、カメラ30aの中心座標に対応する視点をv30aとする。カメラ30bの中心座標に対応する視点をv30bとする。カメラ30cの中心座標に対応する視点をv30cとする。カメラ30bの中心座標に対応する視点をv30dとする。
図15の1行目では、注目視点v30aの最大値座標と、第1、第2のエピポーラ線の交点とのユークリッド距離dが閾値dth以下であることが示される。第1のエピポーラ線は、注目視点v30aと視点v30cとのエピポーラ線である。第2のエピポーラ線は、注目視点v30aと視点v30dとのエピポーラ線である。
図15の2行目では、注目視点v30bの最大値座標とのユークリッド距離dが閾値以下となる、エピポーラ線の交点が存在しないことが示される。
図15の3行目では、注目視点v30cの最大値座標と、第3、第4のエピポーラ線の交点とのユークリッド距離dが閾値dth以下であることが示される。第3のエピポーラ線は、注目視点v30cと視点v30aとのエピポーラ線である。第4のエピポーラ線は、注目視点v30cと視点v30aとのエピポーラ線である。
図15の4行目では、注目視点v30dの最大値座標と、第5、第6のエピポーラ線の交点とのユークリッド距離dが閾値dth以下であることが示される。第5のエピポーラ線は、注目視点v30dと視点v30aとのエピポーラ線である。第6のエピポーラ線は、注目視点v30dと視点v30cとのエピポーラ線である。
検知部153は、最も多く組み合わせに含まれる視点と、組み合わせを持たない注目視点に対応する第2特徴に対応する関節を、異常関節として検知する。
図15に示した例では、最も多く組み合わせに含まれる視点は、視点v30aである。また、この視点v30aと組み合わせを持たない視点は、視点v30bである。このため、検知部153は、視点v30bに対応する第2特徴の関節を異常関節として、検知する。たとえば、視点v30bに対応する第2特徴に対応する関節が「HAND_TIP_RIGHT」であり、フレーム番号nに対応するものとする。この場合、検知部153は、「カメラ識別情報:C30b、フレーム番号:n、異常関節:HAND_TIP_RIGHT」を含む異常関節情報を生成する。
ここで、エピポーラ線の算出の一例について説明する。検知部153は、視点v,v´のカメラ中心座標C,C、透視投影行列P,Pv´,視点v´の最大値座標をpv´とする場合、視点vにおけるpj,v´のエピポーラ線lv,v´を式(7)で算出する。式(7)において、[・]×は、歪非対称行列を示す。Pv´ は、Pの疑似逆行列(Pv´ (Pv´v´ -1)を表す。
Figure 0007533765000007
エピポーラ線の交点について説明する。視点vにおける視点v´、v´´の最大値座標から引いたエピポーラ線lv,v´,lv,v´´の交点qv,v´,v´´を導出するものする。検知部153は、2直線の交点の導出と同様にして、lv,v´=(av´,bv´,-cv´)、lv,v´´=(av´´,bv´´,-cv´´)とする場合、式(8)に基づいて算出する。式(8)のA-1は、式(9)によって示される。式(8)のCは、式(10)によって示される。
Figure 0007533765000008
Figure 0007533765000009
Figure 0007533765000010
検知部153は、最大座標pj,vとエピポーラ線の交点qv,v´,v´´との距離dを、式(11)を基にして算出する。
Figure 0007533765000011
上記のように、検知部153は、左右反転検知、セルフオクルージョン検知、異常heatmap検知を実行し、異常関節情報を生成する。検知部153は、上記のように、異常関節情報には、カメラ識別情報、フレーム番号、異常関節が含まれる。検知部153は、異常関節情報を、骨格認識部154に出力する。
図4の説明に戻る。骨格認識部154は、特徴テーブル142から、各カメラ識別情報の第2特徴群情報を取得し、取得した第2特徴群情報に含まれる第2特徴から、異常関節情報に対応する第2特徴を除去する。骨格認識部154は、異常関節情報に対応する第2特徴を除去した残りの複数の第2特徴を統合した結果を基にして、3D骨格を認識する。骨格認識部154は、フレーム番号毎に、上記処理を繰り返し実行し、3D骨格の認識結果を、技認識部155に出力する。
ここで、骨格認識部154の処理の具体例を示す。骨格認識部154は、各カメラに対応する第2特徴群情報(J個の第2特徴)を、カメラパラメータに従って、3Dcubeに逆投影することで、aggregated volumesを算出する。ここでは、第2特徴群情報のフレーム番号をnとするが、他のフレーム番号に対応する第2特徴群情報に関する処理も同様である。
たとえば、骨格認識部154は、カメラ30aのカメラパラメータに基づいて、カメラ識別情報「C30a」に対応する第2特徴群情報を、3Dcubeに逆投影することで、第1のaggregated volumeを算出する。骨格認識部154は、カメラ30bのカメラパラメータに基づいて、カメラ識別情報「C30b」に対応する第2特徴群情報を、3Dcubeに逆投影することで、第2のaggregated volumeを算出する。
骨格認識部154は、カメラ30cのカメラパラメータに基づいて、カメラ識別情報「C30c」に対応する第2特徴群情報を、3Dcubeに逆投影することで、第3のaggregated volumeを算出する。骨格認識部154は、カメラ30dのカメラパラメータに基づいて、カメラ識別情報「C30d」に対応する第2特徴群情報を、3Dcubeに逆投影することで、第4のaggregated volumeを算出する。
骨格認識部154は、異常関節情報に対応する第2特徴を、3Dcubeに逆投影した異常点を特定し、第1、第2、第3、第4のaggregated volume(volumes)から、異常点を除去するためのフィルタリングを実行する。
たとえば、骨格認識部154は、異常関節情報に含まれるカメラ識別情報(異常とみなすカメラc)と、異常関節kと、式(12)とを用いて、フィルタリングを実行する。式(12)に含まれるcは、softmax時の影響を無効化する無効値である。
Figure 0007533765000012
骨格認識部154は、異常点を除去した(フィルタリングした)第1、第2、第3、第4のaggregated volume(volumes)を統合することで、V2V(ニューラルネットワーク)の入力情報を算出する。
骨格認識部154は、統合処理を式(13)もしくは式(14)と式(15)に基づいて実行し、入力情報Vinputを計算する。式(13)、(14)、(15)に基づいて、統合処理を行う場合には、3D骨格の精度を担保するために、対向するカメラのみが残らない制約を設けてもよい。
Figure 0007533765000013
Figure 0007533765000014
Figure 0007533765000015
骨格認識部154は、入力情報を、V2Vに入力することで、各関節の3Dの位置座標を示すprocessed volumesを算出する。骨格認識部154は、processed volumesに対して、soft-argmaxを実行することで、3D骨格の認識結果を生成する。3D骨格の認識結果には、J個の関節の3D座標が含まれる。骨格認識部154は、3D骨格の認識結果となる骨格認識結果データを、技認識部155に出力する。また、骨格認識部154は、骨格認識結果データを、記憶部140に保存する。
技認識部155は、フレーム番号の順に骨格認識結果データを、骨格認識部154から取得し、連続する骨格認識結果データを基にして、各関節座標の時系列変化を特定する。技認識部155は、各関節位置の時系列変化と、技認識テーブル145とを比較して、技の種別を特定する。また、技認識部155は、技の種別の組み合わせと、技認識テーブル143とを比較して、被写体H1の演技のスコアを算出する。
技認識部155は、演技のスコアと、演技の開始から終了までの骨格認識結果データとを基にして、画面情報を生成する。技認識部155は、生成した画面情報を、表示部130に出力して表示させる。
図16は、画面情報の一例を示す図である。図16に示すように、この画面情報60には、領域60a,60b,60cが含まれる。領域60aは、被写体H1が行った演技において、認識された技の種別を表示する領域である。技の種別に加えて、技の難度も表示してもよい。領域60bは、演技のスコアを表示する領域である。領域60aは、演技の開始から終了までの骨格認識結果データに基づく3次元モデルをアニメーション表示する領域である。利用者は、入力部120を操作して、アニメーションの再生、停止等を指示する。
次に、本実施例に係る骨格認識装置100の処理手順の一例について説明する。図17は、本実施例に係る骨格認識装置の処理手順を示すフローチャートである。骨格認識装置100の取得部151は、複数のカメラ30から画像フレーム(多視点画像)を取得する(ステップS101)。
骨格認識装置100の生成部152は、第2特徴生成処理を実行する(ステップS102)。骨格認識装置100の検知部153は、異常検知処理を実行する(ステップS103)。
骨格認識装置100の骨格認識部154は、異常関節のフィルタリングを実行する(ステップS104)。骨格認識部154は、統合処理を実行して、入力情報を生成する(ステップS105)。骨格認識部154は、入力情報をV2Vに入力して、processed volumesを算出する(ステップS106)。
骨格認識部154は、processed volumesに対して、soft-argmaxを実行することで、3D骨格の認識結果を生成する(ステップS107)。骨格認識部154は、骨格認識結果データを、技認識部155に出力する(ステップS108)。
骨格認識部154は、最終フレームである場合には(ステップS109,Yes)、処理を終了する。一方、骨格認識部154は、最終フレームでない場合には(ステップS109,No)、骨格認識結果データを記憶部140に保存し(ステップS110)、ステップS101に移行する。
次に、図17のステップS102で説明した第2特徴生成処理の一例について説明する。図18は、第2特徴生成処理のフローチャートである。図18に示すように、骨格認識装置100の生成部152は、画像フレームを、2D特徴抽出NN142Aに入力することで、K個の第1特徴を算出する(ステップS201)。
生成部152は、K個の第1特徴を、チャネル数変換NN142Bに入力することで、J個の第2特徴を生成する(ステップS202)。生成部152は、第2特徴の情報を出力する(ステップS203)。
次に、図17のステップS103で説明した異常検知処理の一例について説明する。図19は、異常検知処理のフローチャートである。図19に示すように、骨格認識装置100の検知部153は、第2特徴を取得する(ステップS301)。検知部153は、左右反転検知を実行する(ステップS302)。
検知部153は、オクルージョン検知を実行する(ステップS303)。検知部153は、異常heatmap検知を実行する(ステップS304)。検知部153は、異常関節の検知結果を基にして、異常関節情報を生成する(ステップS305)。検知部153は、異常関節情報を出力する(ステップS306)。
次に、本実施例に係る骨格認識装置100の効果について説明する。骨格認識装置100は、カメラ30から入力される画像フレームを基にして抽出した、被写体H1の2次元の関節位置の特徴を表すK個の第1特徴を、被写体のJ個の関節にそれぞれ対応したJ個の第2特徴(第2特徴群情報)を生成する。骨格認識装置100は、第2特徴群情報から、異常のある関節に対応した第2特徴を検知し、第2特徴群情報から、異常のある第2特徴を除去した残りの複数の第2特徴を統合した結果を基にして、3D骨格を認識する。これによって、異常のある2D特徴を事前に除去することができ、正しく3D骨格認識を実行することができる。
骨格認識装置100は、前回(フレーム番号n-1)の第2特徴群情報を基に生成されるベクトルと、今回(フレーム番号n)の第2特徴群情報を基に生成されるベクトルとを基にして、異常のある第2特徴を検知する。これによって、左右反転した異常な関節を検知することができる。
骨格認識装置100は、第2特徴群情報を基にして、所定の関節から特定されるBoxと、所定の関節以外の関節の位置との関係を基にして、異常のある第2特徴を検知する。これによって、オクルージョンに影響を受けた異常な関節を検知することができる。
骨格認識装置100は、heatmap(第2特徴)と、予め特定される理想的な尤度の分布情報との差分を基にして、異常のある第2特徴を検知する。また、骨格認識装置100は、heatmapを基にして、カメラ位置を視点とする複数のエピポーラ線を算出し、エピポーラ線の交点と、関節の位置との距離を基にして、異常のある第2特徴を検知する。これによって、パターン「消失」、「ぼけ」、「分裂」、「位置ずれ」の発生した第2特徴を検知して除去することが出来る。
図20は、本実施例に係る骨格認識装置の効果を説明するための図である。図20では、従来技術の3D骨格認識結果Im2-1c,Im2-2c,Im2-3c,Im2-4cと、骨格認識装置100による3D骨格認識結果Im2-1d,Im2-2d,Im2-3d,Im2-4dを示す。骨格認識装置100によれば、左右反転検知、セルフオクルージョン検知、異常heatmap検知により、誤った関節に対応する第2特徴を取り除くことで、3D骨格の精度を改善している。たとえば、従来技術の3D骨格認識結果Im2-1c~Im2-4cは、被写体と3D骨格とが乖離しているが、本実施例の3D骨格認識結果Im2-1d~Im2-4dは、被写体の3D骨格を適切に特定している。
次に、上記実施例に示した骨格認識装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図21は、骨格認識装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図21に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、カメラ30から距離画像のデータを受信する通信装置204と、各種の装置と接続するインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、取得プログラム207a、生成プログラム207b、検知プログラム207c、骨格認識プログラム207d、技認識プログラム207eを有する。CPU201は、取得プログラム207a、生成プログラム207b、検知プログラム207c、骨格認識プログラム207d、技認識プログラム207eを読み出してRAM206に展開する。
取得プログラム207aは、取得プロセス206aとして機能する。生成プログラム207bは、生成プロセス206bとして機能する。検知プログラム207cは、検知プロセス206cとして機能する。骨格認識プログラム207dは、骨格認識プロセス206dとして機能する。技認識プログラム207eは、技認識プロセス206eとして機能する。
取得プロセス206aの処理は、取得部151の処理に対応する。生成プロセス206bの処理は、生成部152の処理に対応する。検知プロセス206cの処理は、検知部153の処理に対応する。骨格認識プロセス206dの処理は、骨格認識部154の処理に対応する。技認識プロセス206eの処理は、技認識部155の処理に対応する。
なお、各プログラム207a~207fについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム207a~207eを読み出して実行するようにしてもよい。
35 体操採点支援システム
30a,30b,30c,30d カメラ
100 骨格認識装置
110 通信部
120 入力部
130 表示部
140 記憶部
141 測定テーブル
142 特徴テーブル
143 技認識テーブル
150 制御部
151 取得部
152 生成部
153 検知部
154 骨格認識部
155 技認識部

Claims (6)

  1. コンピュータが実行する骨格認識方法であって、
    被写体を撮影する複数のカメラから入力される2次元の入力画像を基にして、前記被写体の2次元の関節位置の特徴を示す複数の第1特徴を抽出し、
    前記複数の第1特徴を基にして、前記被写体の所定数の関節にそれぞれ対応させた複数の第2特徴であって、座標と前記座標に所定の関節が存在する尤度とを対応付けたheatmap情報を示す前記第2特徴を含む第2特徴群情報を生成し、
    前記heatmap情報と、予め特定される理想的な尤度の分布情報との差分を基にして、前記第2特徴群情報から、異常のある第2特徴を検知し、
    前記第2特徴群情報から、前記異常のある第2特徴を除去した残りの複数の第2特徴を統合した結果を基にして、3D骨格を認識する
    処理を実行することを特徴とする骨格認識方法。
  2. 前記生成する処理は、時系列に複数の第2特徴群情報を生成し、
    前記検知する処理は、前回の第2特徴群情報を基に特定される所定の関節の組を始点および終点とする第1ベクトルと、今回の第2特徴群情報を基に特定される所定の関節の組を始点および終点とする第2ベクトルとを基にして、異常のある第2特徴を検知することを特徴とする請求項1に記載の骨格認識方法。
  3. 前記検知する処理は、前記第2特徴群情報を基にして、所定の関節から特定される領域と、前記所定の関節以外の関節の位置との関係を基にして、異常のある第2特徴を検知することを特徴とする請求項2に記載の骨格認識方法。
  4. 前記検知する処理は、前記heatmap情報を基にして、カメラ位置を視点とする複数のエピポーラ線を算出し、前記エピポーラ線の交点と、関節の位置との距離を基にして、異常のある第2特徴を検知することを特徴とする請求項に記載の骨格認識方法。
  5. コンピュータに、
    被写体を撮影する複数のカメラから入力される2次元の入力画像を基にして、前記被写体の2次元の関節位置の特徴を示す複数の第1特徴を抽出し、
    前記複数の第1特徴を基にして、前記被写体の所定数の関節にそれぞれ対応させた複数の第2特徴であって、座標と前記座標に所定の関節が存在する尤度とを対応付けたheatmap情報を示す前記第2特徴を含む第2特徴群情報を生成し、
    前記heatmap情報と、予め特定される理想的な尤度の分布情報との差分を基にして、前記第2特徴群情報から、異常のある第2特徴を検知し、
    前記第2特徴群情報から、前記異常のある第2特徴を除去した残りの複数の第2特徴を統合した結果を基にして、3D骨格を認識する
    処理を実行させることを特徴とする骨格認識プログラム。
  6. 被写体を撮影する複数のカメラと、骨格認識装置とを有する体操採点支援システムであって、
    前記骨格認識装置は、
    前記複数のカメラから入力される2次元の入力画像を取得する取得部と、
    前記入力画像を基にして、前記被写体の2次元の関節位置の特徴を示す複数の第1特徴を抽出し、前記複数の第1特徴を基にして、前記被写体の所定数の関節にそれぞれ対応させた複数の第2特徴であって、座標と前記座標に所定の関節が存在する尤度とを対応付けたheatmap情報を示す前記第2特徴を含む第2特徴群情報を生成する生成部と、
    前記heatmap情報と、予め特定される理想的な尤度の分布情報との差分を基にして、前記第2特徴群情報から、異常のある第2特徴を検知する検知部と、
    前記第2特徴群情報から、前記異常のある第2特徴を除去した残りの複数の第2特徴を合成した結果を基にして、3D骨格を認識する骨格認識部と
    を有することを特徴とする体操採点支援システム。
JP2023504918A 2021-03-09 2021-03-09 骨格認識方法、骨格認識プログラムおよび体操採点支援システム Active JP7533765B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/009267 WO2022190206A1 (ja) 2021-03-09 2021-03-09 骨格認識方法、骨格認識プログラムおよび体操採点支援システム

Publications (3)

Publication Number Publication Date
JPWO2022190206A1 JPWO2022190206A1 (ja) 2022-09-15
JPWO2022190206A5 JPWO2022190206A5 (ja) 2023-10-05
JP7533765B2 true JP7533765B2 (ja) 2024-08-14

Family

ID=83226426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023504918A Active JP7533765B2 (ja) 2021-03-09 2021-03-09 骨格認識方法、骨格認識プログラムおよび体操採点支援システム

Country Status (5)

Country Link
US (1) US20230368415A1 (ja)
EP (1) EP4307213A4 (ja)
JP (1) JP7533765B2 (ja)
CN (1) CN116830166A (ja)
WO (1) WO2022190206A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251341A1 (en) 2017-12-08 2019-08-15 Huawei Technologies Co., Ltd. Skeleton Posture Determining Method and Apparatus, and Computer Readable Storage Medium
WO2020054442A1 (ja) 2018-09-10 2020-03-19 国立大学法人東京大学 関節位置の取得方法及び装置、動作の取得方法及び装置
WO2020084667A1 (ja) 2018-10-22 2020-04-30 富士通株式会社 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3860287B2 (ja) 1997-04-25 2006-12-20 富士通株式会社 動き抽出処理方法,動き抽出処理装置およびプログラム記憶媒体
JP2000251078A (ja) 1998-12-22 2000-09-14 Atr Media Integration & Communications Res Lab 人物の3次元姿勢推定方法および装置ならびに人物の肘の位置推定方法および装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251341A1 (en) 2017-12-08 2019-08-15 Huawei Technologies Co., Ltd. Skeleton Posture Determining Method and Apparatus, and Computer Readable Storage Medium
WO2020054442A1 (ja) 2018-09-10 2020-03-19 国立大学法人東京大学 関節位置の取得方法及び装置、動作の取得方法及び装置
WO2020084667A1 (ja) 2018-10-22 2020-04-30 富士通株式会社 認識方法、認識プログラム、認識装置、学習方法、学習プログラムおよび学習装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, Long et al.,Cross-View Tracking for Multi-Human 3D Pose Estimation at Over 100 FPS,2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) [online],IEEE,2020年06月,pp. 3276-3285,[検索日 2024.03.07],インターネット,URL:https://ieeexplore.ieee.org/document/9156586

Also Published As

Publication number Publication date
US20230368415A1 (en) 2023-11-16
WO2022190206A1 (ja) 2022-09-15
EP4307213A1 (en) 2024-01-17
CN116830166A (zh) 2023-09-29
JPWO2022190206A1 (ja) 2022-09-15
EP4307213A4 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
KR101616926B1 (ko) 영상 처리 장치 및 방법
JP6204659B2 (ja) 映像処理装置及び映像処理方法
JP7367764B2 (ja) 骨格認識方法、骨格認識プログラムおよび情報処理装置
US11087493B2 (en) Depth-image processing device, depth-image processing system, depth-image processing method, and recording medium
JP7164045B2 (ja) 骨格認識方法、骨格認識プログラムおよび骨格認識システム
WO2018207365A1 (ja) 距離画像処理装置、距離画像処理システム、距離画像処理方法および距離画像処理プログラム
CN104035557A (zh) 一种基于关节活跃度的Kinect动作识别方法
CN111080776B (zh) 人体动作三维数据采集和复现的处理方法及系统
KR20220149717A (ko) 단안 카메라로부터 전체 골격 3d 포즈 복구
TWI668670B (zh) 深度圖產生裝置
CN109961092B (zh) 一种基于视差锚点的双目视觉立体匹配方法及系统
JP7533765B2 (ja) 骨格認識方法、骨格認識プログラムおよび体操採点支援システム
JP7318814B2 (ja) データ生成方法、データ生成プログラムおよび情報処理装置
KR100792172B1 (ko) 강건한 대응점을 이용한 기본행렬 추정 장치 및 그 방법
Al Ismaeil et al. Real-time enhancement of dynamic depth videos with non-rigid deformations
KR101362462B1 (ko) 스테레오 카메라를 이용한 장애물 검출 장치 및 방법
JP6839116B2 (ja) 学習装置、推定装置、学習方法、推定方法及びコンピュータプログラム
CN203630717U (zh) 基于轻型惯导传感输入设备的交互系统
JP6641313B2 (ja) 領域抽出装置及びプログラム
Chen et al. An integrated sensor network method for safety management of construction workers
JP7419993B2 (ja) 信頼度推定プログラム、信頼度推定方法、および信頼度推定装置
JP7586344B2 (ja) 入力画像の処理方法、入力画像の処理装置及びプログラム
WO2023062762A1 (ja) 推定プログラム、推定方法および情報処理装置
WO2024161613A1 (ja) データ拡張方法、データ拡張プログラムおよび情報処理装置
WO2023223508A1 (ja) 映像処理装置、映像処理方法、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240507

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: 20240702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240715

R150 Certificate of patent or registration of utility model

Ref document number: 7533765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150