JP7201946B2 - 骨格情報判定装置、骨格情報判定方法及びコンピュータプログラム - Google Patents
骨格情報判定装置、骨格情報判定方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP7201946B2 JP7201946B2 JP2021519244A JP2021519244A JP7201946B2 JP 7201946 B2 JP7201946 B2 JP 7201946B2 JP 2021519244 A JP2021519244 A JP 2021519244A JP 2021519244 A JP2021519244 A JP 2021519244A JP 7201946 B2 JP7201946 B2 JP 7201946B2
- Authority
- JP
- Japan
- Prior art keywords
- joints
- joint
- threshold
- important
- reliability
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Description
本発明は、骨格情報判定装置、骨格情報判定方法及びコンピュータプログラムに関する。
従来、画像から得られる人体の骨格情報に基づいて、撮像されている人物の状態(例えば、人物の姿勢)を解析することが行われている(例えば、非特許文献1及び2参照)。例えば、非特許文献1に開示された技術では、静止画像(動画像の場合は各フレーム)から、人体の各関節点n(nは1~N、Nは関節の総数)の2次元のXY座標(xn,yn)及び信頼度(confidence score)cn(0≦cn≦1)を骨格情報として得ることができる。信頼度cnの値は、1に近いほど推定結果の信頼度が高く、逆に0に近いほど推定結果の信頼度が低いことを表している。
図18は人体の各関節点の一例を示す図であり、図19はあるフレームにおける骨格情報の一例を示す図である。
図18に示す例では、人体の関節点として14個の関節点が示されている。そして、図19に示す例では、関節点n=1~14それぞれに対応付けられた2次元のXY座標(x1,y1)~(x14,y14)及び信頼度c1~c14が示されている。
従来では、上記のように得られた骨格情報の推定結果を用いて、画像に撮像されている人物の状態(例えば、人物の姿勢)を解析していた。
図18に示す例では、人体の関節点として14個の関節点が示されている。そして、図19に示す例では、関節点n=1~14それぞれに対応付けられた2次元のXY座標(x1,y1)~(x14,y14)及び信頼度c1~c14が示されている。
従来では、上記のように得られた骨格情報の推定結果を用いて、画像に撮像されている人物の状態(例えば、人物の姿勢)を解析していた。
Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", <URL: https://arxiv.org/abs/1611.08050>, arXiv:1611.08050v2 [cs.CV] 14 Apr 2017
"CMU-Perceptual-Computing-Lab/openpose", <URL:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/output.md>
しかしながら、必ずしも各関節点の推定された位置が正しいとは限らず、各関節点を誤認識したり、取得できないケースが発生する。以下の説明では、関節点を誤認識するケースを、骨格推定誤りと称する。骨格推定誤りや骨格情報を取得できないケースでは、状態解析を行っても正確な状態解析ができない。以下の説明では、このような正確な状態解析ができないケースを、状態解析誤りと称する。そのため、従来では、予め目視により骨格推定結果の良否を判定し、状態解析に用いることができない画像を手動で除去(クレンジング)する必要があった。このような手動によるクレンジングは、ユーザに作業上の稼働負担と、そのための作業時間がかかってしまい、リアルタイム処理が困難となってしまう。そこで、自動で被写体の骨格推定結果の良否を判定することができる技術が求められている。
上記事情に鑑み、本発明は、被写体の骨格推定結果の良否を判定することができる技術の提供を目的としている。
本発明の一態様は、被写体の複数の関節における重要関節及び前記重要関節に対する信頼度の閾値の入力を受け付ける関節情報入力部と、入力された重要関節及び前記重要関節に対する信頼度の閾値に基づいて、前記重要関節を含む前記被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を前記被写体の骨格推定結果の判定に用いられる閾値として設定する閾値設定部と、を備える骨格情報閾値設定装置である。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記重要関節からの距離に基づいて前記重要関節以外の関節の閾値を取得する。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記被写体の複数の関節のうち前記重要関節に対して、前記重要関節以外の関節に設定する閾値以上の閾値を設定する。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記重要関節からの距離が遠い関節ほど、前記重要関節に設定する閾値よりも小さい閾値を設定する。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記重要関節間に位置する前記重要関節以外の関節、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得する。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得し、前記重要関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を、前記重要関節間の中間地点に所定の値を閾値として設定して線形補間により取得する。
本発明の一態様は、上記の骨格情報閾値設定装置であって、前記閾値設定部は、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得し、前記重要関節間に挟まれる前記重要関節以外の関節に対する信頼度の閾値として、予め設定される所定の値を設定する。
本発明の一態様は、被写体の複数の関節における重要関節及び前記重要関節に対する信頼度の閾値の入力を受け付ける関節情報入力ステップと、入力された重要関節及び前記重要関節に対する信頼度の閾値に基づいて、前記前記重要関節を含む前記被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を前記被写体の骨格推定結果の判定に用いられる閾値として設定する閾値設定ステップと、を有する骨格情報閾値設定方法である。
本発明の一態様は、上記の骨格情報閾値設定装置としてコンピュータを機能させるためのコンピュータプログラムである。
本発明により、被写体の骨格推定結果の良否を判定することが可能となる。
以下、本発明の一実施形態を、図面を参照しながら説明する。
(概要)
まず本発明における骨格情報判定装置の概要について説明する。
本発明における骨格情報判定装置は、入力された画像に撮像されている被写体の骨格情報を推定し、推定した骨格情報に基づいて、入力された画像から得られた骨格情報を被写体の状態推定に利用するか否かを判定する。より具体的には、まず骨格情報判定装置は、予めユーザに設定された関節情報を入力する。関節情報とは、被写体の関節に関する情報である。例えば、関節情報には、骨格情報で示される被写体の関節における重要な関節(以下「重要関節」という。)と、重要ではない関節(以下「任意関節」という。)の種別情報と、重要関節に対する信頼度の閾値creqと、任意関節のうち特定の関節に対する信頼度の閾値cminとが含まれる。ここで、任意関節のうち特定の関節は、重要関節以外でユーザにより予め信頼度の閾値が設定される関節である。例えば、特定の関節は、手首や足首のように被写体の端に位置する関節や、首や腰の中央である。信頼度の閾値とは、骨格情報の推定結果として得られる信頼度の良否を判定するために用いられる閾値である。
(概要)
まず本発明における骨格情報判定装置の概要について説明する。
本発明における骨格情報判定装置は、入力された画像に撮像されている被写体の骨格情報を推定し、推定した骨格情報に基づいて、入力された画像から得られた骨格情報を被写体の状態推定に利用するか否かを判定する。より具体的には、まず骨格情報判定装置は、予めユーザに設定された関節情報を入力する。関節情報とは、被写体の関節に関する情報である。例えば、関節情報には、骨格情報で示される被写体の関節における重要な関節(以下「重要関節」という。)と、重要ではない関節(以下「任意関節」という。)の種別情報と、重要関節に対する信頼度の閾値creqと、任意関節のうち特定の関節に対する信頼度の閾値cminとが含まれる。ここで、任意関節のうち特定の関節は、重要関節以外でユーザにより予め信頼度の閾値が設定される関節である。例えば、特定の関節は、手首や足首のように被写体の端に位置する関節や、首や腰の中央である。信頼度の閾値とは、骨格情報の推定結果として得られる信頼度の良否を判定するために用いられる閾値である。
重要関節に対する信頼度の閾値creqは、0~1の間でより高い値が設定される。以下の説明においては、重要関節に対する信頼度の閾値creqを0.9として説明する。特定の関節に対する信頼度の閾値cminは、0~1の間でより低い値が設定される。以下の説明においては、特定の関節に対する信頼度の閾値cminを0.2として説明する。
OpenPoseを実際に動作させて信頼度を確認した結果、画像30例と、それらの画像から得られた骨格情報の範囲内では、ある程度正しい関節点の座標が得られている際には、0.7~0.8以上の信頼度の値が出力されていた。
次に、関節の一部が見えないようなセルフオクルージョン(例えば、人を右横から見たときの左側で、右側から人間が推測できる程度)などでは、信頼度の値が0.4~0.6程度にとどまる傾向が見受けられる。
さらに、明らかに位置がずれる誤検知のケースや、セルフオクリュージョンでも人間でも推測が難しいようなケースでは、信頼度の値が0.2以下(今回確認した範囲での一例ではあるが、信頼度の値が0.2付近では、右手首を左手首と間違えるレベルである。さらに、信頼度の値が0.1以下だと、背景の別の部分と間違えるとより下がるようなケースがあった)となり、最終的に未検出の関節の場合は信頼度の値が0となる。
次に、関節の一部が見えないようなセルフオクルージョン(例えば、人を右横から見たときの左側で、右側から人間が推測できる程度)などでは、信頼度の値が0.4~0.6程度にとどまる傾向が見受けられる。
さらに、明らかに位置がずれる誤検知のケースや、セルフオクリュージョンでも人間でも推測が難しいようなケースでは、信頼度の値が0.2以下(今回確認した範囲での一例ではあるが、信頼度の値が0.2付近では、右手首を左手首と間違えるレベルである。さらに、信頼度の値が0.1以下だと、背景の別の部分と間違えるとより下がるようなケースがあった)となり、最終的に未検出の関節の場合は信頼度の値が0となる。
上記より、重要関節に対する信頼度の閾値creqは、0.7~0.8程度を設定することがよい。なお、特に重要な場合は、0.9程度としても良いが、その場合は撮影環境(より骨格情報の信頼度が得られやすい)と合わせて考慮、設定する必要がある。
逆に、重要関節に対する信頼度の閾値creqがあまりに高い(例えば、0.9程度)と、実用上問題無いと経験上思われる0.8程度の信頼度が得られていても、除去されるケースが増えてしまう。そのため、重要関節に対する信頼度の閾値creqは、撮影環境などに合わせて適宜設定されることが望ましい。
逆に、重要関節に対する信頼度の閾値creqがあまりに高い(例えば、0.9程度)と、実用上問題無いと経験上思われる0.8程度の信頼度が得られていても、除去されるケースが増えてしまう。そのため、重要関節に対する信頼度の閾値creqは、撮影環境などに合わせて適宜設定されることが望ましい。
特定の関節に対する信頼度の閾値cminについては、解析上影響が少ない場合は、明らかに誤りが認められる0~0.2程度とすることで、できるだけ骨格情報を利用する(除却しない)ことが望ましい。一方で、次の解析での誤差伝搬(状態解析誤り)防止を重視し、非常に信頼度の低い関節点の影響を懸念するようであれば、特定の関節に対する信頼度の閾値cminを0.4~0.6(一例ではあるが例えばセルフオクルージョンの誤差程度は認める)として、骨格情報の精度を確保することが望ましい。
次に、骨格情報判定装置は、入力した関節情報に基づいて、各関節それぞれの信頼度の閾値を、骨格情報における各関節に対応する関節点に設定する。次に、骨格情報判定装置は、設定した各関節それぞれの信頼度の閾値と、従来技術により求められた骨格情報の各関節それぞれの信頼度とを比較する。この際、骨格情報判定装置は、同じ関節の信頼度と閾値とを比較する。そして、骨格情報判定装置は、各関節のうち1つでも信頼度が閾値を下回った場合には、入力された画像から得られた骨格情報を被写体の状態推定に用いないと判定する。
以上の処理により、骨格情報判定装置は、被写体の骨格推定結果の良否を自動的に判定する。以下、骨格情報判定装置の具体的な構成について説明する。
以上の処理により、骨格情報判定装置は、被写体の骨格推定結果の良否を自動的に判定する。以下、骨格情報判定装置の具体的な構成について説明する。
(第1の実施形態)
図1は、第1の実施形態における骨格情報判定装置10の構成を表す概略ブロック図である。
骨格情報判定装置10は、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10は、関節情報入力部101、閾値設定部102、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
図1は、第1の実施形態における骨格情報判定装置10の構成を表す概略ブロック図である。
骨格情報判定装置10は、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10は、関節情報入力部101、閾値設定部102、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
関節情報入力部101は、ユーザから関節情報の入力を受け付ける。例えば、関節情報入力部101は、被写体の複数の関節における重要関節、重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminの入力を受け付ける。本実施形態において被写体は、人物を例に説明するが、骨格もしくは関節を有する「生物」であれば人物に限定されない。関節情報入力部101は、入力された関節情報を閾値設定部102に出力する。重要関節に対する信頼度の閾値creqは、任意関節の信頼度の閾値以上の値が割り当てられる。特定の関節に対する信頼度の閾値cminは、他の関節(重要関節及び他の任意関節)の信頼度の閾値を含めて最も低い値が割り当てられる。
閾値設定部102は、関節情報入力部101から出力された関節情報に基づいて、被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を判定部106が行う被写体の骨格推定結果の判定に用いる閾値として設定する。
画像入力部103は、状態推定の対象となる画像の入力を受け付ける。画像入力部103は、例えばCD-ROMやUSBメモリ(Universal Serial Bus Memory)等の記録媒体に記録された画像のデータを読み出しても良い。また、画像入力部103は、スチルカメラやビデオカメラによって撮像された画像をカメラから受信しても良い。また、画像入力部103は、ネットワーク上から画像のデータを受信しても良い。画像入力部103に入力される画像は、静止画像であってもよいし、動画像におけるフレームであってもよい。画像入力部103は、入力した画像を被写体検出部104に出力する。
被写体検出部104は、画像入力部103から出力された画像を入力する。被写体検出部104は、入力した画像から被写体を検出する。被写体検出部104が検出する被写体は、例えば人物である。被写体検出部104は、検出結果を骨格推定部105に出力する。
骨格推定部105は、被写体検出部104から出力された検出結果を入力する。骨格推定部105は、入力した検出結果に基づいて、被写体の骨格の各関節の位置の推定及び推定位置の信頼度を推定する。骨格推定部105は、推定結果を判定部106に出力する。推定結果には、被写体の骨格の各関節の位置及び推定位置の信頼度の情報が含まれる。
判定部106は、閾値設定部102により設定された各関節それぞれの信頼度の閾値と、骨格推定部105から出力された推定結果とを入力する。判定部106は、入力した閾値と、推定結果とに基づいて、入力された画像から得られた骨格情報を被写体の状態推定に利用するか否かを判定する。
図2は、第1の実施形態における骨格情報判定装置10の閾値設定処理の流れを示すフローチャートである。
関節情報入力部101は、関節情報を入力する(ステップS101)。具体的には、関節情報入力部101は、被写体の複数の関節における重要関節、重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminの入力を受け付ける。関節情報入力部101は、入力した関節情報を閾値設定部102に出力する。閾値設定部102は、関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS102)。
関節情報入力部101は、関節情報を入力する(ステップS101)。具体的には、関節情報入力部101は、被写体の複数の関節における重要関節、重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminの入力を受け付ける。関節情報入力部101は、入力した関節情報を閾値設定部102に出力する。閾値設定部102は、関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS102)。
図3及び図4は、第1の実施形態における閾値設定部102の処理の概要を説明するための図である。
図3に示すように、重要関節に対応する関節点はn=1,4,7及び8であり、任意関節に対応する関節点はn=2,3,5,6,9~11及び12~14である。任意関節のうち、特定の関節に対応する関節点がn=11及び14とする。そして、ユーザから重要関節に対する信頼度の閾値creqとして0.9、特定の関節に対する信頼度の閾値cminとして0.2が入力されたとする。この場合、閾値設定部102は、図4に示すように、重要関節に対応する関節点はn=1,4,7及び8に信頼度の閾値creqとして0.9を設定し、特定の関節に対応する関節点はn=11及び14に信頼度の閾値cminとして0.2を設定する。
上記のような設定がなされると、閾値設定部102は信頼度の閾値が設定されていない他の任意関節に対応する関節点n=2,3,5,6,9,10,12及び13に閾値を計算して設定する。閾値設定部102は、重要関節からの距離に基づいて、信頼度の閾値が設定されていない他の任意関節に対応する関節点n=2,3,5,6,9,10,12及び13の閾値を取得する。例えば、閾値設定部102は、線形補間により閾値を取得する。そして、閾値設定部102は、取得した閾値を各関節点に設定する。
図3に示すように、重要関節に対応する関節点はn=1,4,7及び8であり、任意関節に対応する関節点はn=2,3,5,6,9~11及び12~14である。任意関節のうち、特定の関節に対応する関節点がn=11及び14とする。そして、ユーザから重要関節に対する信頼度の閾値creqとして0.9、特定の関節に対する信頼度の閾値cminとして0.2が入力されたとする。この場合、閾値設定部102は、図4に示すように、重要関節に対応する関節点はn=1,4,7及び8に信頼度の閾値creqとして0.9を設定し、特定の関節に対応する関節点はn=11及び14に信頼度の閾値cminとして0.2を設定する。
上記のような設定がなされると、閾値設定部102は信頼度の閾値が設定されていない他の任意関節に対応する関節点n=2,3,5,6,9,10,12及び13に閾値を計算して設定する。閾値設定部102は、重要関節からの距離に基づいて、信頼度の閾値が設定されていない他の任意関節に対応する関節点n=2,3,5,6,9,10,12及び13の閾値を取得する。例えば、閾値設定部102は、線形補間により閾値を取得する。そして、閾値設定部102は、取得した閾値を各関節点に設定する。
図5は、第1の実施形態における骨格情報判定装置10の判定処理の流れを示すフローチャートである。図5では、骨格情報判定装置10に動画像が入力された場合を例に説明する。さらに、図5では、閾値設定部102により信頼度の閾値が設定されているものとする。
画像入力部103は、時刻tのフレームを入力する(ステップS201)。画像入力部103は、入力したフレームを被写体検出部104に出力する。被写体検出部104は、画像入力部103から出力されたフレームを入力する。被写体検出部104は、入力したフレームから被写体を検出する(ステップS202)。被写体の検出方法は、従来技術が用いられてもよい。例えば、被写体検出部104は、Yoloの技術を用いることによって、フレームから被写体を検出してもよい。被写体検出部104は、フレームから被写体を含む領域を抽出して部分領域画像を生成する。被写体検出部104は、生成した部分領域画像を骨格推定部105に出力する。
画像入力部103は、時刻tのフレームを入力する(ステップS201)。画像入力部103は、入力したフレームを被写体検出部104に出力する。被写体検出部104は、画像入力部103から出力されたフレームを入力する。被写体検出部104は、入力したフレームから被写体を検出する(ステップS202)。被写体の検出方法は、従来技術が用いられてもよい。例えば、被写体検出部104は、Yoloの技術を用いることによって、フレームから被写体を検出してもよい。被写体検出部104は、フレームから被写体を含む領域を抽出して部分領域画像を生成する。被写体検出部104は、生成した部分領域画像を骨格推定部105に出力する。
骨格推定部105は、被写体検出部104から出力された部分領域画像を検出結果として入力する。骨格推定部105は、入力した部分領域画像から被写体の各関節点を含む骨格情報として、関節点n(nは1~N、Nは関節の総数)の画像内における2次元のxy座標及び各関節における信頼度cnを推定する(ステップS203)。骨格推定部105による推定結果を図6に示す。骨格推定部105は、推定結果を判定部106に出力する。
判定部106は、閾値設定部102により設定された各関節それぞれの信頼度の閾値と、骨格推定部105から出力された推定結果とを入力する。判定部106は、関節点nの値に0を代入して初期化する(ステップS204)。次に、判定部106は、関節点nの値に1を加算する(ステップS205)。次に、判定部106は、関節点nの値で示される関節の信頼度の推定結果が、閾値thn以上であるか否かを判定する(ステップS206)。例えば、nが1の場合、判定部106は、首の関節の信頼度の推定結果(図6では、0.9)が、首の関節の信頼度の閾値th1以上であるか否かを判定する。
関節点nで示される関節の信頼度の推定結果が、閾値thn以上である場合(ステップS206-YES)、判定部106はn=Nであるか否かを判定する(ステップS207)。n=Nである場合(ステップS207-YES)、判定部106は時刻tのフレームを利用すると判定する(ステップS208)。その後、判定部106は終了条件が満たされたか否かを判定する(ステップS209)。終了条件は、骨格情報判定装置10による判定処理を終了するための条件である。終了条件は、例えばユーザによって終了の指示が骨格情報判定装置10に入力されることであってもよいし、骨格情報判定装置10に入力された画像全てに対して処理が行われたことであってもよい。
終了条件が満たされた場合(ステップS209-YES)、骨格情報判定装置10は判定処理を終了する。
一方、終了条件が満たされていない場合(ステップS209-NO)、画像入力部103は次の時刻のフレーム(例えば、t=t+1の時刻のフレーム)を入力する(ステップS210)。その後、ステップS202以降の処理が実行される。
一方、終了条件が満たされていない場合(ステップS209-NO)、画像入力部103は次の時刻のフレーム(例えば、t=t+1の時刻のフレーム)を入力する(ステップS210)。その後、ステップS202以降の処理が実行される。
ステップS207の処理において、n=Nではない場合(ステップS207-NO)、判定部106はステップS205の処理を実行する。
ステップS206の処理において、関節点nで示される関節の信頼度の推定結果が、閾値thn未満である場合(ステップS206-NO)、判定部106は時刻tのフレームを利用しないと判定する(ステップS211)。その後、判定部106はステップS209の処理を実行する。
ステップS206の処理において、関節点nで示される関節の信頼度の推定結果が、閾値thn未満である場合(ステップS206-NO)、判定部106は時刻tのフレームを利用しないと判定する(ステップS211)。その後、判定部106はステップS209の処理を実行する。
以上のように構成された骨格情報判定装置10によれば、被写体の複数の関節における重要関節及び重要関節に対する信頼度の閾値creqの入力を受け付け、入力された重要関節及び重要関節に対する信頼度の閾値creqに基づいて、重要関節を含む被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を被写体の骨格推定結果の判定に用いる閾値として設定する。そして、骨格情報判定装置10は、設定された閾値を用いることによって、自動的に被写体の骨格推定結果の良否を判定することが可能になる。
また、画像に撮像されているシーンによっては、全身の骨格情報の信頼度が高くなくても、一部の骨格情報が正しい(信頼度が高い)場合でも良いケースがある。例えば、野球のスイングシーン検出なら重要なのは上半身、転倒やダウンシーン検出なら背骨と下半身等である。本発明では、ユーザによって関節毎に信頼度の閾値を自由に設定することができる。このように、シーンに合わせて閾値を設定することで、シーンに合わせた被写体の骨格推定結果の良否を判定することができる。
(第2の実施形態)
第2の実施形態では、閾値設定部が、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。
第2の実施形態では、閾値設定部が、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。
図7は、第2の実施形態における骨格情報判定装置10aの構成を表す概略ブロック図である。
骨格情報判定装置10aは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10aは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10aは、関節情報入力部101、閾値設定部102a、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10aの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10aは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10aは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10aは、関節情報入力部101、閾値設定部102a、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10aの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10aは、閾値設定部102に代えて閾値設定部102aを備える点で骨格情報判定装置10と構成が異なる。骨格情報判定装置10aは、他の構成については骨格情報判定装置10と同様である。そのため、骨格情報判定装置10a全体の説明は省略し、閾値設定部102aについて説明する。
閾値設定部102aは、関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を判定部106が行う判定処理に用いる閾値に設定する。より具体的には、閾値設定部102aは、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。そして、閾値設定部102aは、取得した各関節それぞれの信頼度の閾値を判定部106が行う判定処理に用いる閾値に設定する。
閾値設定部102aは、以下の(1)~(3)の前提条件により重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminを各関節それぞれに対応する関節点に設定する。その後、閾値設定部102aは、信頼度の閾値が設定されていない他の任意関節に対する信頼度の閾値を他の任意関節に対応する関節点に設定する。
(1)重要関節に対応する関節点に、関節情報に含まれる重要関節の閾値creqを設定
(2)特定の関節に対応する関節点に、関節情報に含まれる特定の関節の閾値cminを設定
(3)分岐のある首(関節点n=1)又は腰中央(関節点n=8)のいずれかが任意関節である場合には、挟まれている経路が途中で分岐しないように、任意関節である首(関節点n=1)又は腰中央(関節点n=8)に信頼度の閾値cminを設定
(1)重要関節に対応する関節点に、関節情報に含まれる重要関節の閾値creqを設定
(2)特定の関節に対応する関節点に、関節情報に含まれる特定の関節の閾値cminを設定
(3)分岐のある首(関節点n=1)又は腰中央(関節点n=8)のいずれかが任意関節である場合には、挟まれている経路が途中で分岐しないように、任意関節である首(関節点n=1)又は腰中央(関節点n=8)に信頼度の閾値cminを設定
ここで、(3)を設定する理由について説明する。例えば、関節点n=10の閾値を決定する際、下方向(関節点n=11側)は一意に決定するが、上方向(関節点n=9側)をたどると、関節点n=8の関節で分岐(関節点n=1又は関節点n=12)が発生する。このような分岐を防止する目的で、分岐のある関節が任意関節である場合には、閾値設定部102aは、(2)における特定の関節に対応する関節点に信頼度の閾値cminを設定する。
図8は、第2の実施形態における骨格情報判定装置10aの閾値設定処理の流れを示すフローチャートである。図8において、図2と同様の処理については図2と同様の符号を付して説明を省略する。
ステップS101の処理後、閾値設定部102aは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS301)。図9及び図10を用いて、閾値設定部102aの具体的な処理について説明する。
ステップS101の処理後、閾値設定部102aは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS301)。図9及び図10を用いて、閾値設定部102aの具体的な処理について説明する。
図9及び図10は、第2の実施形態における閾値設定部102aの処理の概略を説明するための図である。なお、図9及び図10に示す処理は、上記の(1)~(3)の処理が行われた後に実行される。図9では、重要関節と、特定の関節との間に位置する任意関節に対する信頼度の閾値を、重要関節と特定の関節との間に位置する任意関節に対応する関節点に設定する処理について説明する。図10では、重要関節間に位置する任意関節に対する信頼度の閾値を、重要関節間に位置する任意関節に対応する関節点に設定する処理について説明する。
まず図9を用いて、任意関節に対する信頼度の閾値を、重要関節と特定の関節との間に位置する任意関節に対応する関節点に設定する処理について説明する。
図9に示すように、重要関節に対応する関節点n=8に信頼度の閾値として0.9、特定の関節に対応する関節点n=11に信頼度の閾値として0.2が設定されている場合、閾値設定部102aは以下のようにして任意関節に対応する関節点n=9及び10の信頼度の閾値を取得する。ここでは、一例として関節点n=10の信頼度の閾値を取得する例を説明する。関節点n=11とn=10の距離及び関節点n=10とn=9の距離を2、関節点n=9とn=8の距離を1とする。この場合、閾値設定部102aは(0.9-0.2)*2/5+0.2=0.48として関節点n=10の信頼度の閾値を取得する。
まず図9を用いて、任意関節に対する信頼度の閾値を、重要関節と特定の関節との間に位置する任意関節に対応する関節点に設定する処理について説明する。
図9に示すように、重要関節に対応する関節点n=8に信頼度の閾値として0.9、特定の関節に対応する関節点n=11に信頼度の閾値として0.2が設定されている場合、閾値設定部102aは以下のようにして任意関節に対応する関節点n=9及び10の信頼度の閾値を取得する。ここでは、一例として関節点n=10の信頼度の閾値を取得する例を説明する。関節点n=11とn=10の距離及び関節点n=10とn=9の距離を2、関節点n=9とn=8の距離を1とする。この場合、閾値設定部102aは(0.9-0.2)*2/5+0.2=0.48として関節点n=10の信頼度の閾値を取得する。
次に図10を用いて、任意関節に対する信頼度の閾値を設定する処理について説明する。
図10に示すように、重要関節に対応する関節点n=1及び4に信頼度の閾値として0.9が設定されている場合、閾値設定部102aは以下のようにして重要関節間に位置する任意関節に対応する関節点n=2及び3の信頼度の閾値を取得する。具体的には、重要関節に対応する関節点n=1及び4は同じ値であるため、重要関節間に位置する任意関節に対応する関節点n=2及び3においても信頼度の閾値として0.9が設定される。
図10に示すように、重要関節に対応する関節点n=1及び4に信頼度の閾値として0.9が設定されている場合、閾値設定部102aは以下のようにして重要関節間に位置する任意関節に対応する関節点n=2及び3の信頼度の閾値を取得する。具体的には、重要関節に対応する関節点n=1及び4は同じ値であるため、重要関節間に位置する任意関節に対応する関節点n=2及び3においても信頼度の閾値として0.9が設定される。
閾値設定部102aは、上記のような処理を行うことによって、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。
以上のように構成された骨格情報判定装置10aによれば、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。そして、骨格情報判定装置10は、取得した閾値を用いることによって、自動的に被写体の骨格推定結果の良否を判定することが可能になる。
(第3の実施形態)
第2の実施形態では、重要関節間に挟まれた任意関節に対する信頼度の閾値が重要関節に対応する関節点に設定される閾値と同じ値に設定されてしまう。そこで、第3の実施形態では、閾値設定部が、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値を、重要関節間の中間地点に所定の値を閾値として設定して線形補間により取得する。
第2の実施形態では、重要関節間に挟まれた任意関節に対する信頼度の閾値が重要関節に対応する関節点に設定される閾値と同じ値に設定されてしまう。そこで、第3の実施形態では、閾値設定部が、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値を、重要関節間の中間地点に所定の値を閾値として設定して線形補間により取得する。
図11は、第3の実施形態における骨格情報判定装置10bの構成を表す概略ブロック図である。
骨格情報判定装置10bは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10bは、関節情報入力部101、閾値設定部102b、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10bの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10bは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10bは、関節情報入力部101、閾値設定部102b、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10bの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10bは、閾値設定部102に代えて閾値設定部102bを備える点で骨格情報判定装置10と構成が異なる。骨格情報判定装置10bは、他の構成については骨格情報判定装置10と同様である。そのため、骨格情報判定装置10b全体の説明は省略し、閾値設定部102bについて説明する。
閾値設定部102bは、関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を判定部106が行う判定処理に用いる閾値に設定する。より具体的には、閾値設定部102bは、重要関節間の任意の関節に対応する関節点においては、基準となる重要関節から距離が離れるほど低い閾値を設定する。ここで、基準となる重要関節は、任意の関節を挟む重要関節のうち、上流側(例えば、頭に近い方)に位置する重要関節とする。例えば、図3に示すように、重要関節に対応する関節点が関節点n=1及び4である場合、基準となる重要関節は関節点n=1となる。なお、基準となる重要関節は、上流側に限らず下流側(例えば、足に近い方)に位置する重要関節であってもよい。
閾値設定部102bは、第2の実施形態と同様に、上記の(1)~(3)の前提条件により重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminを各関節それぞれに対応する関節点に設定する。その後、閾値設定部102bは、信頼度の閾値が設定されていない他の任意関節に対応する関節点に信頼度の閾値を設定する。
図12は、第3の実施形態における骨格情報判定装置10bの閾値設定処理の流れを示すフローチャートである。図12において、図2と同様の処理については図2と同様の符号を付して説明を省略する。
ステップS101の処理後、閾値設定部102bは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS401)。図13を用いて、閾値設定部102bの具体的な処理について説明する。
ステップS101の処理後、閾値設定部102bは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS401)。図13を用いて、閾値設定部102bの具体的な処理について説明する。
図13は、第3の実施形態における骨格情報判定装置10bが行う閾値設定処理を説明するための図である。なお、図13に示す処理は、上記の(1)~(3)の処理が行われた後に実行される。図13に示すように、重要関節に対応する関節点n=1及び4に信頼度の閾値として0.9が設定されている場合、閾値設定部102bは以下のようにして任意関節に対応する関節点n=2及び3の信頼度の閾値を取得する。
具体的には、閾値設定部102bは、重要関節間に挟まれても、重要関節から距離が離れるほど任意関節に対する信頼度の閾値を下げる。関節点n=4とn=3の距離及び関節点n=3とn=2の距離を2、関節点n=2とn=1の距離を1とする。ここで、最低の信頼度の閾値を確保するため、閾値設定部102bは重要関節間の中間地点(この場合は、関節点n=1又はn=4から距離2.5の地点)に信頼度の閾値cminを設定する。そして、閾値設定部102bは関節点n=2の信頼度の閾値th2及び関節点n=3の信頼度の閾値th3を線形補間により以下のように算出する。
閾値th2=(0.9-0.2)×1.5/2.5+0.2=(0.9-0.2)×3/5+0.2=0.62
閾値th3=(0.9-0.2)×2/5+0.2=0.48
閾値th2=(0.9-0.2)×1.5/2.5+0.2=(0.9-0.2)×3/5+0.2=0.62
閾値th3=(0.9-0.2)×2/5+0.2=0.48
上記の説明では、重要関節間に位置する任意関節に対する信頼度の閾値を取得する構成を示した。閾値設定部102bは、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値については、第2の実施形態と同様の手法により取得する。
閾値設定部102bは、上記のような処理を行うことによって、重要関節間に位置する任意関節、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得する。
以上のように構成された骨格情報判定装置10bによれば、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値を、重要関節間の中間地点に所定の値を閾値として設定して線形補間により取得する。そして、骨格情報判定装置10は、取得した閾値を用いることによって、自動的に被写体の骨格推定結果の良否を判定することが可能になる。
特に、第2の実施形態では、重要関節間に位置する任意関節に対する信頼度の閾値が、重要関節に対する信頼度の閾値と同じ値になってしまう。これに対し、第3の実施形態では重要関節からの距離が遠い任意関節ほど、重要関節に設定する閾値よりも小さい閾値が設定される。このように第3の実施形態では、重要関節の品質をより重要と考えている。
(第4の実施形態)
第4の実施形態では、閾値設定部が、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値として、予め設定される所定の値を設定する。
第4の実施形態では、閾値設定部が、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値として、予め設定される所定の値を設定する。
図14は、第4の実施形態における骨格情報判定装置10cの構成を表す概略ブロック図である。
骨格情報判定装置10cは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10cは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10cは、関節情報入力部101、閾値設定部102c、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10cの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10cは、例えばスマートフォン、携帯電話、タブレット端末、ノートパソコン、パーソナルコンピュータ等の情報処理装置を用いて構成される。骨格情報判定装置10cは、バスで接続されたCPUやメモリや補助記憶装置などを備え、判定プログラムを実行する。判定プログラムの実行によって、骨格情報判定装置10cは、関節情報入力部101、閾値設定部102c、画像入力部103、被写体検出部104、骨格推定部105、判定部106を備える装置として機能する。なお、骨格情報判定装置10cの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、判定プログラムは、電気通信回線を介して送受信されてもよい。
骨格情報判定装置10cは、閾値設定部102aに代えて閾値設定部102cを備える点で骨格情報判定装置10aと構成が異なる。骨格情報判定装置10cは、他の構成については骨格情報判定装置10aと同様である。そのため、骨格情報判定装置10c全体の説明は省略し、閾値設定部102cについて説明する。
閾値設定部102cは、関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を判定部106が行う判定処理に用いる閾値に設定する。より具体的には、閾値設定部102cは、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値として、予め設定される所定の値を設定する。そして、閾値設定部102cは、取得した各関節それぞれの信頼度の閾値を判定部106が行う判定処理に用いる閾値に設定する。
閾値設定部102cは、第2の実施形態と同様に、上記の(1)~(3)の前提条件により重要関節に対する信頼度の閾値creq及び特定の関節に対する信頼度の閾値cminを各関節それぞれに対応する関節点に設定する。その後、閾値設定部102cは、信頼度の閾値が設定されていない他の任意関節に対応する関節点に信頼度の閾値を設定する。
図15は、第4の実施形態における骨格情報判定装置10cの閾値設定処理の流れを示すフローチャートである。図15において、図2と同様の処理については図2と同様の符号を付して説明を省略する。
ステップS101の処理後、閾値設定部102cは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS501)。図16を用いて、閾値設定部102cの具体的な処理について説明する。
ステップS101の処理後、閾値設定部102cは関節情報入力部101から出力された関節情報に基づいて、各関節それぞれの信頼度の閾値を設定する(ステップS501)。図16を用いて、閾値設定部102cの具体的な処理について説明する。
図16は、第4の実施形態における骨格情報判定装置10cが行う閾値設定処理を説明するための図である。なお、図16に示す処理は、上記の(1)~(3)の処理が行われた後に実行される。図16に示すように、重要関節に対応する関節点n=1及び4に信頼度の閾値として0.9が設定されている場合、閾値設定部102cは以下のようにして任意関節に対応する関節点n=2及び3の信頼度の閾値を取得する。
具体的には、閾値設定部102bは、重要関節間に挟まれたら、挟まれている任意関節に対応する関節点に信頼度の閾値cminを設定する。本実施形態では、信頼度の閾値cminを0.2としているため、閾値設定部102bは、任意関節に対応する関節点n=2及び3に信頼度の閾値として0.2を設定する。これは、重要関節間に挟まれた場合、重要関節が、任意関節の両端に配置されるため距離に関係なく重要度は低いと考え、最低の信頼度の確保のみ行うこととする。
上記の説明では、重要関節間に位置する任意関節に対する信頼度の閾値を取得する構成を示した。閾値設定部102cは、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値については、第2の実施形態と同様の手法により取得する。この処理により、閾値設定部102cは、重要関節と特定の関節との間に位置する任意関節については、重要関節からの距離が遠い関節ほど、重要関節に設定する閾値よりも小さい閾値を取得する。
以上のように構成された骨格情報判定装置10cによれば、重要関節と特定の関節との間に位置する任意関節及び特定の関節間に位置する任意関節に対する信頼度の閾値を線形補間により取得し、重要関節間に位置する任意関節に対する信頼度の閾値として、予め設定される所定の値を設定する。そして、骨格情報判定装置10は、設定した閾値を用いることによって、自動的に被写体の骨格推定結果の良否を判定することが可能になる。
図17は、本発明と従来技術との閾値の設定方法の違いを説明するための図である。
図17に示すように、従来技術では、任意関節に対応する関節点に設定される信頼度の閾値が全て固定値であった。このよう場合、特に重要ではない関節の信頼度の推定結果が低い場合に骨格情報が削除されてしまう。一方、本発明では、重要関節からの距離に基づいて線形補間により信頼度の閾値を取得する。第2の実施形態から第4の実施形態では重視するポイントがそれぞれ異なる。そのため、これらの手法を適用シーンに合わせて利用することができる。その結果、利便性を向上させることができる。
図17に示すように、従来技術では、任意関節に対応する関節点に設定される信頼度の閾値が全て固定値であった。このよう場合、特に重要ではない関節の信頼度の推定結果が低い場合に骨格情報が削除されてしまう。一方、本発明では、重要関節からの距離に基づいて線形補間により信頼度の閾値を取得する。第2の実施形態から第4の実施形態では重視するポイントがそれぞれ異なる。そのため、これらの手法を適用シーンに合わせて利用することができる。その結果、利便性を向上させることができる。
(第1の実施形態から第4の実施形態に共通する変形例)
上記の各実施形態では、閾値設定部102,102a,102b,102cが、重要関節の関節点に対して信頼度の閾値creqを1つ設定する構成を示したが、これに限定される必要はない。例えば、閾値設定部102,102a,102b,102cは、重要関節の関節点に対して複数の信頼度の閾値creqを設定するように構成されてもよい。このように構成される場合、関節情報入力部101は、ユーザから複数の信頼度の閾値creqの入力を重要関節毎に受け付ける。閾値設定部102,102a,102b,102cは、関節情報入力部101により入力された複数の信頼度の閾値creqを重要関節の関節点に対して設定する。
骨格情報判定装置10,10a,10b,10cが備える一部の機能部は別の装置に実装されてもよい。例えば、骨格情報判定装置10,10a,10b,10cが備える関節情報入力部101及び閾値設定部102,102a,102b,102cが骨格情報閾値設定装置として別の筐体に備えてもよい。このように構成される場合、骨格情報判定装置10,10a,10b,10cは、骨格情報閾値設定装置から出力される各関節それぞれの信頼度の閾値を取得し、取得した閾値を用いて、入力された画像から得られた骨格情報を被写体の状態推定に利用するか否かを判定する。骨格情報閾値設定装置は、クラウド上に設けられるサーバであってもよいし、骨格情報判定装置10が設けられる場所と異なる場所に設けられてもよい。
上記の各実施形態では、閾値設定部102,102a,102b,102cが、重要関節の関節点に対して信頼度の閾値creqを1つ設定する構成を示したが、これに限定される必要はない。例えば、閾値設定部102,102a,102b,102cは、重要関節の関節点に対して複数の信頼度の閾値creqを設定するように構成されてもよい。このように構成される場合、関節情報入力部101は、ユーザから複数の信頼度の閾値creqの入力を重要関節毎に受け付ける。閾値設定部102,102a,102b,102cは、関節情報入力部101により入力された複数の信頼度の閾値creqを重要関節の関節点に対して設定する。
骨格情報判定装置10,10a,10b,10cが備える一部の機能部は別の装置に実装されてもよい。例えば、骨格情報判定装置10,10a,10b,10cが備える関節情報入力部101及び閾値設定部102,102a,102b,102cが骨格情報閾値設定装置として別の筐体に備えてもよい。このように構成される場合、骨格情報判定装置10,10a,10b,10cは、骨格情報閾値設定装置から出力される各関節それぞれの信頼度の閾値を取得し、取得した閾値を用いて、入力された画像から得られた骨格情報を被写体の状態推定に利用するか否かを判定する。骨格情報閾値設定装置は、クラウド上に設けられるサーバであってもよいし、骨格情報判定装置10が設けられる場所と異なる場所に設けられてもよい。
本発明は、骨格情報を用いた被写体の状態推定に適用できる。
10,10a,10b,10c…骨格情報判定装置, 101…関節情報入力部, 102,102a,102b,102c…閾値設定部, 103…画像入力部, 104…被写体検出部, 105…骨格推定部, 106…判定部
Claims (9)
- 被写体の複数の関節における重要関節及び前記重要関節に対する信頼度の閾値の入力を受け付ける関節情報入力部と、
入力された重要関節及び前記重要関節に対する信頼度の閾値に基づいて、前記重要関節を含む前記被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を前記被写体の骨格推定結果の判定に用いられる閾値として設定する閾値設定部と、
を備える骨格情報閾値設定装置。 - 前記閾値設定部は、前記重要関節からの距離に基づいて前記重要関節以外の関節の閾値を取得する、請求項1に記載の骨格情報閾値設定装置。
- 前記閾値設定部は、前記被写体の複数の関節のうち前記重要関節に対して、前記重要関節以外の関節に設定する閾値以上の閾値を設定する、請求項1又は2に記載の骨格情報閾値設定装置。
- 前記閾値設定部は、前記重要関節からの距離が遠い関節ほど、前記重要関節に設定する閾値よりも小さい閾値を設定する、請求項1から3のいずれか一項に記載の骨格情報閾値設定装置。
- 前記閾値設定部は、前記重要関節間に位置する前記重要関節以外の関節、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得する、請求項1から3のいずれか一項に記載の骨格情報閾値設定装置。
- 前記閾値設定部は、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得し、前記重要関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を、前記重要関節間の中間地点に所定の値を閾値として設定して線形補間により取得する、請求項1から4のいずれか一項に記載の骨格情報閾値設定装置。
- 前記閾値設定部は、前記重要関節と予め閾値が定められた任意の関節との間に位置する前記重要関節以外の関節及び予め閾値が定められた任意の関節間に位置する前記重要関節以外の関節に対する信頼度の閾値を線形補間により取得し、前記重要関節間に挟まれる前記重要関節以外の関節に対する信頼度の閾値として、予め設定される所定の値を設定する、請求項1から4のいずれか一項に記載の骨格情報閾値設定装置。
- 被写体の複数の関節における重要関節及び前記重要関節に対する信頼度の閾値の入力を受け付ける関節情報入力ステップと、
入力された重要関節及び前記重要関節に対する信頼度の閾値に基づいて、前記重要関節を含む前記被写体の各関節それぞれの信頼度の閾値を取得し、取得した各関節それぞれの信頼度の閾値を前記被写体の骨格推定結果の判定に用いられる閾値として設定する閾値設定ステップと、
を有する骨格情報閾値設定方法。 - 請求項1から7のいずれか一項に記載の骨格情報閾値設定装置としてコンピュータを機能させるためのコンピュータプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/019584 WO2020230335A1 (ja) | 2019-05-16 | 2019-05-16 | 骨格情報判定装置、骨格情報判定方法及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020230335A1 JPWO2020230335A1 (ja) | 2020-11-19 |
JP7201946B2 true JP7201946B2 (ja) | 2023-01-11 |
Family
ID=73289142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021519244A Active JP7201946B2 (ja) | 2019-05-16 | 2019-05-16 | 骨格情報判定装置、骨格情報判定方法及びコンピュータプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11900707B2 (ja) |
JP (1) | JP7201946B2 (ja) |
WO (1) | WO2020230335A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11900707B2 (en) * | 2019-05-16 | 2024-02-13 | Nippon Telegraph And Telephone Corporation | Skeleton information determination apparatus, skeleton information determination method and computer program |
DE112021007513T5 (de) | 2021-04-15 | 2024-03-21 | Mitsubishi Electric Corporation | Körperbaubestimmungsvorrichtung und Körperbaubestimmungsverfahren |
CN118176530A (zh) * | 2021-11-05 | 2024-06-11 | 松下电器(美国)知识产权公司 | 行动辨识方法、行动辨识装置以及行动辨识程序 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140169623A1 (en) | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Action recognition based on depth maps |
JP2017191576A (ja) | 2016-04-15 | 2017-10-19 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
JP2018088057A (ja) | 2016-11-28 | 2018-06-07 | コニカミノルタ株式会社 | 画像認識装置及び画像認識方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130077820A1 (en) * | 2011-09-26 | 2013-03-28 | Microsoft Corporation | Machine learning gesture detection |
US9307191B2 (en) * | 2013-11-19 | 2016-04-05 | Microsoft Technology Licensing, Llc | Video transmission |
IL309433A (en) * | 2017-11-13 | 2024-02-01 | Carmel Haifa Univ Economic Corporation Ltd | Motion tracking using 3D cameras |
US10937185B2 (en) * | 2018-12-03 | 2021-03-02 | Everseen Limited | System and method to detect articulate body pose |
US11900707B2 (en) * | 2019-05-16 | 2024-02-13 | Nippon Telegraph And Telephone Corporation | Skeleton information determination apparatus, skeleton information determination method and computer program |
-
2019
- 2019-05-16 US US17/594,917 patent/US11900707B2/en active Active
- 2019-05-16 JP JP2021519244A patent/JP7201946B2/ja active Active
- 2019-05-16 WO PCT/JP2019/019584 patent/WO2020230335A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140169623A1 (en) | 2012-12-19 | 2014-06-19 | Microsoft Corporation | Action recognition based on depth maps |
JP2017191576A (ja) | 2016-04-15 | 2017-10-19 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
JP2018088057A (ja) | 2016-11-28 | 2018-06-07 | コニカミノルタ株式会社 | 画像認識装置及び画像認識方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220309819A1 (en) | 2022-09-29 |
JPWO2020230335A1 (ja) | 2020-11-19 |
US11900707B2 (en) | 2024-02-13 |
WO2020230335A1 (ja) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7201946B2 (ja) | 骨格情報判定装置、骨格情報判定方法及びコンピュータプログラム | |
CN110688929B (zh) | 一种人体骨架关节点定位方法及装置 | |
JP6362085B2 (ja) | 画像認識システム、画像認識方法およびプログラム | |
KR101956275B1 (ko) | 영상으로부터 신체 골격 및 신체 부위 정보 검출 방법 및 장치 | |
CN112528957A (zh) | 人体运动基础信息检测方法、系统及电子设备 | |
CN111210275A (zh) | 基于vr数据的用户画像构建方法、装置及计算机设备 | |
CN111626105A (zh) | 姿态估计方法、装置及电子设备 | |
CN113239849B (zh) | 健身动作质量评估方法、系统、终端设备及存储介质 | |
KR20210110860A (ko) | 인체 측정 데이터 휴대용 획득 장치 및 인체 측정 데이터 수집 방법 | |
JP7241004B2 (ja) | 身体動作解析装置、身体動作解析システム、身体動作解析方法、及びプログラム | |
US11527090B2 (en) | Information processing apparatus, control method, and non-transitory storage medium | |
KR20220098314A (ko) | 뉴럴 네트워크의 트레이닝 방법과 장치 및 관련 대상 검출 방법과 장치 | |
JP5643147B2 (ja) | 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム | |
JP6747311B2 (ja) | 画像処理プログラム、画像処理方法及び画像処理装置 | |
JP2022006708A (ja) | 動作認識システム、方法及びプログラム | |
JP2000207568A (ja) | 姿勢の計測装置及び姿勢の計測プログラムを記録した記録媒体 | |
US20220083771A1 (en) | Filtering method, non-transitory computer-readable storage medium, and filtering apparatus | |
US20240185451A1 (en) | Computer-readable recording medium storing posture specifying program, posture specifying method, and information processing apparatus | |
WO2021066146A1 (ja) | 推定装置、推定方法、推定プログラム | |
JP2021026265A (ja) | 画像処理装置、画像処理プログラム、及び画像処理方法 | |
JP2007241478A (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
RU2789286C2 (ru) | Портативное устройство получения антропометрических данных и способ сбора антропометрических данных | |
JP2019096252A (ja) | 撮影映像から人の行動を表すコンテキストを推定するプログラム、装置及び方法 | |
JPWO2019186833A1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN116433939B (zh) | 样本图像生成方法、训练方法、识别方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210915 |
|
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: 20221122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7201946 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |