(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024100553
(43)【公開日】2024-07-26
(54)【発明の名称】特定プログラム、特定方法および情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240719BHJP
G06T 7/70 20170101ALI20240719BHJP
【FI】
G06T7/00 660B
G06T7/70 Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023004639
(22)【出願日】2023-01-16
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】茂木 厚憲
(72)【発明者】
【氏名】平井 由樹雄
(72)【発明者】
【氏名】鈴木 源太
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096AA09
5L096BA02
5L096CA02
5L096DA02
5L096EA14
5L096FA66
5L096FA67
5L096FA69
5L096FA72
5L096GA51
5L096HA11
5L096JA11
(57)【要約】
【課題】人物の骨格情報の推定精度を向上させること。
【解決手段】情報処理装置は、人物が撮影された映像を取得し、取得した映像から、人物の2次元の骨格情報を生成する。情報処理装置は、2次元の骨格情報を基にして、人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成する。情報処理装置は、人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成する。情報処理装置は、人物の隠れていない部位に対応する3次元の骨格位置の絶対座標と、人物の隠れていない部位に対応する3次元の骨格位置の相対座標とを基にして、相対座標と絶対座標との関係性を推定する。情報処理装置は、推定された関係性に基づいて、隠れていない部位および所定の部位以外を含む人物の骨格位置の絶対座標を特定する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理をコンピュータに実行させることを特徴とする特定プログラム。
【請求項2】
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標の位置関係を基にして、各部位に対する絶対座標の信頼度を特定し、各部位の骨格位置の絶対座標に対する信頼度を基にして、前記人物の複数の所定の部位から、前記人物の隠れていない部位を特定する処理を更にコンピュータに実行させることを特徴とする請求項1に記載の特定プログラム。
【請求項3】
前記関係性を推定する処理は、前記各部位の骨格位置の絶対座標に対する信頼度を基にして、少なくとも3つの部位の骨格位置の絶対座標を選択する処理を更に実行することを特徴とする請求項2に記載の特定プログラム。
【請求項4】
前記絶対座標を生成する処理は、前記人物の複数の所定の部位の座標系にそれぞれ対応する複数のホモグラフィであって、前記映像上の位置に対応する仮想空間上の位置を定義した前記複数のホモグラフィと、前記2次元の骨格情報とを基にして、前記3次元の骨格位置の絶対座標を生成することを特徴とする請求項1に記載の特定プログラム。
【請求項5】
前記絶対座標を生成する処理は、前記人物の頭部、両肩、腰、両足を、前記複数の所定の部位とし、前記複数の所定の部位の3次元の骨格位置の絶対座標を生成することを特徴とする請求項4に記載の特定プログラム。
【請求項6】
人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【請求項7】
人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定プログラム等に関する。
【背景技術】
【0002】
現実世界の物理空間に存在している物体や人物等を、仮想空間で表現するための技術として、デジタルツイン(Digital Twin)と呼ばれる技術がある。たとえば、デジタルツインでは、IoT(Internet of Things)等を活用して、実際に動いている工場の生産ラインや設備等からデータをリアルタイムに収集し、各種のシミュレーションを実行する。仮想空間におけるシミュレーション結果を、現場に通知し、現場の状況を仮想空間にフィードバックする処理を繰り返し実行することで、生産効率を向上させたり、発生し得る事故等を未然に防止したりすることができる。
【0003】
ここで、物理空間に存在している人物を仮想空間で表現する場合、物理空間を撮影したカメラの画像データから、人物を抽出し、抽出した人物の、仮想空間上の位置を推定する従来技術が利用されている。
【0004】
たとえば、従来技術では、画像データから抽出した人物の骨格情報を特定する。骨格情報は、人体モデルで定義された複数の部位(関節)に対して、2次元の座標が設定された情報である。従来技術では、骨格情報の各部位のうち、足元の部位と、腰の部位の座標を用いて、仮想空間上の3次元の骨格情報を推定している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来技術では、所定の部位に対して、オクルージョンが発生すると、人物の骨格情報の推定精度が低下するという問題がある。所定の部位は、足元の部位、腰の部位等である。
【0007】
1つの側面では、本発明は、人物の骨格情報の推定精度を向上させることができる特定プログラム、特定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、人物が撮影された映像を取得し、取得した映像から、人物の2次元の骨格情報を生成する。コンピュータは、2次元の骨格情報を基にして、人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成する。コンピュータは、人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成する。コンピュータは、人物の隠れていない部位に対応する3次元の骨格位置の絶対座標と、人物の隠れていない部位に対応する3次元の骨格位置の相対座標とを基にして、相対座標と絶対座標との関係性を推定する。コンピュータは、推定された関係性に基づいて、隠れていない部位および所定の部位以外を含む人物の骨格位置の絶対座標を特定する。
【発明の効果】
【0009】
人物の骨格情報の推定精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施例に係るシステムを示す図である。
【
図2】
図2は、事前処理で利用する画像データの一例を示す図である。
【
図4】
図4は、位置および姿勢の推定結果の一例を示す図である。
【
図5】
図5は、4種類の座標系の例を示す図である。
【
図6】
図6は、ホモグラフィ行列を推定する処理を説明するための図である。
【
図7】
図7は、逐次処理で利用する画像データの一例を示す図である。
【
図8】
図8は、2次元の骨格情報の一例を示す図である。
【
図9】
図9は、2次元座標と3次元座標との関係性を説明するための図である。
【
図10】
図10は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図11】
図11は、事前処理の処理手順を示すフローチャートである。
【
図12】
図12は、逐次処理の処理手順を示すフローチャートである。
【
図13】
図13は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願の開示する特定プログラム、特定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0012】
本実施例に係るシステムの一例について説明する。
図1は、本実施例に係るシステムを示す図である。たとえば、本実施例のシステムは、カメラ10と、情報処理装置100とを有する。カメラ10と、情報処理装置100とは、ネットワークを介して相互に接続される。
図1では、カメラ10のみを示すが、本実施例に係るシステムは、更に他のカメラを有していてもよい。
【0013】
カメラ10は、工場内の所定の位置に設置される。たとえば、工場内には様々な機器が設置される。カメラ10は、工場内の画像(映像)を撮影し、撮影した画像のデータを、情報処理装置100に送信する。以下の説明では、画像のデータを「画像データ」と表記する。画像データには、画像データを撮影したカメラ10を識別するカメラ識別情報が付与される。以下では、画像データを用いて説明を行うが、映像のデータであってもよい。映像のデータは、時系列の画像データを含む情報である。
【0014】
情報処理装置100は、画像データに含まれる人物の物理空間上の位置を基にして、仮想空間上の位置を推定する装置である。本実施例では、仮想空間上の3次元の座標系を「グローバル座標系」として説明を行う。たとえば、情報処理装置100は、事前処理と、逐次処理とを実行する。
【0015】
情報処理装置100は、事前処理によって、人物の複数の部位のうち、各キー部位に対応するホモグラフィ行列をそれぞれ推定する。各ホモグラフィ行列は、人物の各キー部位の2次元の座標を、グローバル座標系の座標に変換する場合に利用される。
【0016】
情報処理装置100は、逐次処理によって、複数のホモグラフィ行列を基にして推定したグローバル座標系のキー部位の座標のうち、信頼できるキー部位を選択する。信頼できるキー部位は、画像データで隠れていない部位である。
【0017】
情報処理装置100は、選択したキー部位に対応するローカル座標系の座標と、グローバル座標系の座標との関係から、相似変換パラメータを推定する。相似変換パラメータは、ローカル座標系と、グローバル座標系との関係性を示す情報である。情報処理装置100は、相似変換パラメータを利用することで、ローカル座標系の各部位の座標を、グローバル座標系の各部位の座標に変換する。
【0018】
以下では、情報処理装置100が実行する、事前処理と、逐次処理について、より具体的に説明する。
【0019】
情報処理装置100が実行する事前処理について説明する。情報処理装置100は、カメラ10から、人物が映っていないタイミングの画像データであって、工場の機器が映っている画像データを取得する。
図2は、事前処理で利用する画像データの一例を示す図である。
図2に示すように、画像データ11には、人物が含まれておらず、工場の機器が含まれている。画像データ11に含まれる工場の機器を既知とする。
【0020】
情報処理装置100は、事前に設定されていた、工場の機器の3Dモデルを読み込む。
図3は、3Dモデルの一例を示す図である。たとえば、3Dモデル25のデータフォーマットは、3角形のメッシュの連結により、3次元形状を表現するSTL/OBJ形式である。情報処理装置100は、3Dモデル25の外形特徴を示す複数の線分をそれぞれ「稜線」として抽出する。
【0021】
情報処理装置100は、カメラ10の初期のカメラパラメータを基にして、画像データ11上に、抽出した各稜線を投影する。カメラパラメータは、内部パラメータおよび外部パラメータに対応し、焦点距離f、回転行列R、並進ベクトルTが含まれる。情報処理装置100は、ユーザによる操作を受け付け、画像データ11から抽出される特徴線と、投影された稜線との合わせこみを行い、カメラパラメータを調整する。特徴線は、エッジ線であり、LSD等を基にして、抽出される。
【0022】
図4は、位置および姿勢の推定結果の一例を示す図である。
図4に示す例では、カメラパラメータが正しく調整されることで、画像データ11の各特徴線と、投影された各稜線とが一致している。調整後のカメラパラメータによって、物理空間上の機器の位置および姿勢と、グローバル座標系の機器(3Dモデル25)の位置および姿勢が対応付けられる。
【0023】
続いて、情報処理装置100は、予め準備した骨格形状データを基にして、人物の頭部、肩、腰の高さを推定する。本実施例では、予め準備する骨格形状データを、成人男性の骨格形状データとする。
【0024】
骨格形状データに関し、頭部の地面からの高さを「h」、肩の地面からの高さを「s」、腰の地面からの高さを「w」とする。情報処理装置100は、人物の頭部、肩、腰、地表に対応する平面の座標系を、グローバル座標系に配置した機器の3Dモデル(たとえば、3Dモデル25)上に設定する。3Dモデルは、調整後のカメラパラメータによって、物理空間上の機器の位置および姿勢と一致するように、位置および姿勢が設定されている。
【0025】
図5は、4種類の座標系の例を示す図である。たとえば、グローバル座標系の地面から、機器の3Dモデル25の座標原点までの高さを「t」とする。3Dモデル25を配置する際に利用した調整済みのカメラパラメータの並進ベクトルTを(x、y、z)とする。
【0026】
情報処理装置100は、3Dモデル25を配置したグローバル座標系において、平面の座標系をz軸方向に「h-t」だけ平行移動させた座標系を「頭部位置座標平面20h」として設定する。頭部位置座標平面20hに関する並進ベクトルThは、(x、y、z-(h-t))となる。
【0027】
情報処理装置100は、平面の座標系をz軸方向に「s-t」だけ平行移動させた座標系を「肩位置座標平面20s」として設定する。肩位置座標平面20sに関する並進ベクトルTsは、(x、y、z-(s-t))となる。
【0028】
情報処理装置100は、平面の座標系をz軸方向に「w-t」だけ平行移動させた座標系を「腰位置座標平面20w」として設定する。腰位置座標平面20wの並進ベクトルTwは、(x、y、z-(w-t))となる。
【0029】
情報処理装置100は、平面の座標系をz軸方向に「-t」だけ平行移動させた座標系を「地表位置座標平面20g」として設定する。地表位置座標平面20gの並進ベクトルTgは、(x、y、z-(-t))となる。
【0030】
情報処理装置100は、頭部位置座標平面20h、肩位置座標平面20s、腰位置座標平面20w、地表位置座標平面20gを設定した後に、4種類のホモグラフィ行列Hh、Hs,Hw、Hgを推定する。
【0031】
図6は、ホモグラフィ行列を推定する処理を説明するための図である。
図6では、地表位置座標平面20gを用いて、ホモグラフィ行列を推定する処理の説明を行う。情報処理装置100は、地表位置座標平面20gの4隅の点20g-1,20g-2,20g-3,20g-4の指定を受け付ける。4隅の点20g-1~20g-4に囲まれる(x、y)座標範囲は、人物が移動する領域であり、予め指定されていてもよい。たとえば、ユーザは、入力部を操作して、4隅の点20g-1~20g-4を指定する。
【0032】
情報処理装置100は、透視投影式を基にして、4隅の点20g-1~20g-4に対応する画像データ21上の対応点を推定する。たとえば、情報処理装置100は、地表位置座標平面20gの点20g-1に対応する対応点21g-1を推定する。情報処理装置100は、地表位置座標平面20gの点20g-2に対応する対応点21g-2を推定する。情報処理装置100は、地表位置座標平面20gの点20g-3に対応する対応点21g-3を推定する。情報処理装置100は、地表位置座標平面20gの点20g-4に対応する対応点21g-4を推定する。
【0033】
情報処理装置100は、地表位置座標平面20gの4隅の点20g-1~20g-4と、対応点21g-1~21g-4との関係からDLT(Direct Linear Transformation method)法に基づいて、ホモグラフィ行列Hgを推定する。たとえば、情報処理装置100は、DLT法として、文献「R. Hartley and A. Zisserman. Multiple View Geometry In Computer Vision. Cambridge University Press, second edition, 2003.」に記載された処理を実行する。
【0034】
情報処理装置100は、地表位置座標平面20gと同様にして、頭部位置座標平面20h、肩位置座標平面20s、腰位置座標平面20wのホモグラフィ行列Hをそれぞれ推定する。
【0035】
頭部位置座標平面20hに対応するホモグラフィ行列Hを「ホモグラフィ行列Hh」とする。肩位置座標平面20sに対応するホモグラフィ行列Hを「ホモグラフィ行列Hs」とする。腰位置座標平面20wに対応するホモグラフィ行列Hを「ホモグラフィ行列Hw」とする。地表位置座標平面20gに対応するホモグラフィ行列Hを「ホモグラフィ行列Hg」とする。ホモグラフィ行列Hは、式(1)に示すように、3行3列の行列である。
【0036】
【0037】
上記のように、情報処理装置100が事前処理を実行することで、頭部位置座標平面20h、肩位置座標平面20s、腰位置座標平面20w、地表位置座標平面20gのホモグラフィ行列Hh,Hs,Hw,Hgが推定される。適宜、ホモグラフィ行列Hh,Hs,Hw,Hgをまとめて、「ホモグラフィ行列H」と表記する。
【0038】
次に、情報処理装置100が実行する逐次処理について説明する。情報処理装置100は、カメラ10から人物が含まれる画像データを取得する。
図7は、逐次処理で利用する画像データの一例を示す図である。情報処理装置100は、取得した画像データ12から人物の矩形領域12aを抽出する。たとえば、情報処理装置100は、YOLO(You Only Look Once)に対応する第一機械学習モデルに、画像データを入力し、人物の周囲を囲む矩形領域を抽出する。情報処理装置100は、文献「Redmon et al., You Only Look Once: Unified, Real-Time Object Detection, In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.779-788, 2016.」に記載されたYOLOの技術を用いてもよい。
【0039】
情報処理装置100は、人物の矩形領域を抽出した場合に、人物の矩形領域を基にして、人物の2次元の骨格情報を検出する。たとえば、情報処理装置100は、文献「Y. Chen et al., Cascaded Pyramid Network for Multi-person Pose Estimation, In Proc. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp.7103-7112, 2018.」に記載された技術を用いて、2次元の骨格情報を検出してもよい。情報処理装置100は、入力を人物の矩形領域の画像、出力を2次元の骨格情報とする第二機械学習モデルを用いて、人物の2次元の骨格情報を検出してもよい。
【0040】
図8は、2次元の骨格情報の一例を示す図である。
図8に示すように、2次元の骨格情報には、部位(関節)ar1,ar2,ar3,ar4,ar5,ar6,ar7,ar8,ar9が含まれる。部位ar1は、頭部に対応する。部位ar2,ar3は、両肩(左肩、右肩)に対応する。部位ar4,ar5は、腰に対応する。なお、腰は、部位ar4,ar5の間の部位であってもよい。部位ar6,ar7は、両膝(左膝、右膝)に対応する。部位ar8,ar9は、両足(左足、右足)に対応する。
【0041】
情報処理装置100は、2次元の骨格情報を基にして、基準となる部位の位置に対する相対的な各部位の3次元の座標を示す「ローカル座標系の座標」を推定する。たとえば、基準となる部位を腰とする。情報処理装置100は、文献「J. Martinez et al., A simple yet effective baseline for 3d human pose estimation, In Proc. IEEE International Conference on Computer Vision (ICCV), pp. 2659 - 2668, 2017.」に記載された処理を実行することで、2次元の骨格情報から、ローカル座標系の座標を推定してもよい。ローカル座標系の座標は「3次元の骨格位置の相対座標」の一例である。
【0042】
情報処理装置100は、2次元の骨格情報を基にして、グローバル座標系における、キー部位の座標を推定する。キー部位は、頭部、両肩、腰、両足である。グローバル座標系における、グローバル座標系のキー部位の座標は「3次元の骨格位置の絶対座標」の一例である。
【0043】
図9は、2次元座標と3次元座標との関係性を説明するための図である。2次元の骨格情報に含まれるキー部位の座標は、カメラ10の画像座標系の座標である。画像座標系において、頭部の座標を(u
h,v
h)とする。右肩の座標を(u
rs,v
rs)とする。左肩の座標を(u
ls,v
ls)とする。腰の座標を(u
w,v
w)とする。右足の座標を(u
ra,v
ra)とする。左足の座標を(u
la,v
la)とする。
【0044】
ローカル座標系において、頭部の座標を(xlh,ylh,zlh)とする。右肩の座標を(xlrs,ylrs,zlrs)とする。左肩の座標を(xlls,ylls,zlls)とする。腰の座標を(xlw,ylw,zlw)とする。なお、腰の座標を基準としている場合、ローカル座標系における腰の座標は(0,0,0)となる。右足の座標を(xlra,ylra,zlra)とする。左足の座標を(xlla,ylla,zlla)とする。
【0045】
グローバル座標系では、骨格形状データを利用することで、頭部、両肩、腰、足元に関するz軸の値が既知となる。グローバル座標系において、頭部の座標を(xgh,ygh,h)とする。右肩の座標を(xgrs,ygrs,s)とする。左肩の座標を(xgls,ygls,s)とする。腰の座標を(xgw,ygw,w)とする。右足の座標を(xgra,ygra,0)とする。左足の座標を(xgla,ygla,0)とする。
【0046】
情報処理装置100は、ホモグラフィ行列Hを基にして、2次元の骨格情報から、グローバル座標系のキー部位の座標に変換する。たとえば、情報処理装置100は、式(2)を基にして、グローバル座標系の頭部の3次元座標のうち、x、y座標を推定する。なお、頭部の3次元座標のうち、z座標は「h」となる。
【0047】
【0048】
情報処理装置100は、式(3)を基にして、グローバル座標系の右肩の3次元座標のうち、x、y座標を推定する。なお、右肩の3次元座標のうち、z座標は「s」となる。
【0049】
【0050】
情報処理装置100は、式(4)を基にして、グローバル座標系の左肩の3次元座標のうち、x、y座標を推定する。なお、左肩の3次元座標のうち、z座標は「s」となる。
【0051】
【0052】
情報処理装置100は、式(5)を基にして、グローバル座標系の腰の3次元座標のうち、x、y座標を推定する。なお、腰の3次元座標のうち、z座標は「w」となる。
【0053】
【0054】
情報処理装置100は、式(6)を基にして、グローバル座標系の右足の3次元座標のうち、x、y座標を推定する。なお、右足の3次元座標のうち、z座標は「0」となる。
【0055】
【0056】
情報処理装置100は、式(7)を基にして、グローバル座標系の左足の3次元座標のうち、x、y座標を推定する。なお、左足の3次元座標のうち、z座標は「0」となる。
【0057】
【0058】
情報処理装置100は、キー部位(頭部、両肩、腰、両足)のグローバル座標系の座標を算出した後に、各キー部位の座標の信頼度を算出する。信頼度の値の範囲を「0~1」とする。情報処理装置100は、各キー部位の座標を基にして、各キー部位を配置し、各キー部位の位置関係から、より適切なキー部位の座標に対して、より大きい信頼度を設定する。たとえば、情報処理装置100は、腰と頭部との距離、腰と両肩(右肩、左肩)との距離、腰と右足との距離が許容される距離であり、腰と左足との距離が許容される範囲を超える場合、腰、両肩、右足の座標の信頼度を、左足の信頼度よりも大きくする。
【0059】
なお、情報処理装置100は、その他の従来技術を利用して、各キー部位の座標の信頼度を算出してもよい。オクルージョンの影響を受けるキー部位の座標の信頼度は、オクルージョンの影響を受けていないキー部位の座標の信頼度よりも小さくなる。たとえば、画像データに含まれる人物の右足が隠れ、左足が隠れていない場合、右足の座標の信頼度は、左足の座標の信頼度よりも小さくなる。
【0060】
情報処理装置100は、キー部位のうち、信頼度が閾値以上となる座標に対応するキー部位を選択する。情報処理装置100は、信頼度が閾値以上となる座標が、3点未満の場合には、キー部位の座標を、信頼度の大きい順にソートし、上位3つの座標に対応するキー部位を選択する。以下の説明では、信頼度に基づいて選択されたキー部位を、「選択部位」と表記する。
【0061】
情報処理装置100は、選択部位のローカル座標系の座標と、選択部位のグローバル座標系の座標との関係を基にして、ローカル座標系の座標を、グローバル座標系の座標に変換するための相似変換パラメータを推定する。相似変換パラメータには、スケールslg、回転行列Rlg,並進ベクトルTlgが含まれる。たとえば、情報処理装置100は、文献「K.Mardia et al., Multivariate Analysis. Academic Press, 1979.」に記載された技術を用いて、相似変換パラメータを推定してもよい。
【0062】
情報処理装置100は、相似変換パラメータを推定することで、式(8)によって、ローカル座標系の座標(xl,yl,zl)を、グローバル座標系の座標(xg,yg,zg)に変換することができる。
【0063】
【0064】
上記のように、本実施例に係る情報処理装置100は、複数のホモグラフィ行列Hを基にして推定したグローバル座標系のキー部位の座標のうち、信頼度が閾値以上となるキー部位を選択する。情報処理装置100は、選択したキー部位に対応するローカル座標系の座標と、グローバル座標系の座標との関係から、相似変換パラメータを推定し、相似変換パラメータを利用することで、ローカル座標系の各部位の座標を、グローバル座標系の各部位の座標に変換する。情報処理装置100は、オクルージョンが発生したキー部位以外の信頼性の高いキー部位の座標を用いて、相似変換パラメータを推定するため、グローバル座標系の人物の各部位の3次元座標を精度よく推定することができる。
【0065】
次に、上述した事前処理および逐次処理を実行する情報処理装置100の構成例について説明する。
図10は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図10に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0066】
通信部110は、ネットワークを介して、カメラ10、外部装置等との間でデータ通信を実行する。通信部110は、NIC(Network Interface Card)等である。たとえば、通信部110は、カメラ10から、画像データを受信する。
【0067】
入力部120は、情報処理装置100の制御部150に各種の情報を入力する入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部120を操作して、特徴線と稜線との合わせこみに関する各種の操作を行う。
【0068】
表示部130は、制御部150から出力される情報を表示する表示装置である。たとえば、表示部130は、画像データ上の特徴線と稜線とを表示する。
【0069】
記憶部140は、映像バッファ141、3Dモデル142、骨格形状データ143、ホモグラフィテーブル144、カメラパラメータ145、相似変換パラメータ146、骨格データテーブル147を有する。記憶部140は、メモリなどの記憶装置である。
【0070】
映像バッファ141は、カメラ10が撮影した画像データを保持する。たとえば、映像バッファ141は、カメラ識別情報に対応付けて、画像データを保持する。
【0071】
3Dモデル142は、
図3で説明した、3Dモデル25に対応する。たとえば、3Dモデル142は、CADデータに基づいて生成される。CADデータは、直線識別情報と、始点座標と、終点座標とを対応付ける。直線識別情報は、3次元CADモデル143の直線(辺)を識別する情報である。始点座標は、直線識別情報によって識別される直線の始点の3次元座標である。終点座標は、直線識別情報によって識別される直線の終点の3次元座標である。
【0072】
骨格形状データ143は、人物の各部位と、各部位の3次元の座標とを対応付けた情報である。人物の各部位は、
図8で説明した人体モデルのar1~ar9に対応する。なお、腰は、部位ar4,ar5の間の部位であってもよい。
【0073】
ホモグラフィテーブル144は、ホモグラフィ行列Hh,Hs,Hw,Hgを格納する。
【0074】
カメラパラメータ145は、カメラ10の外部パラメータおよび内部パラメータに対し、焦点距離f、回転R、並進Tを含む。カメラパラメータ145は、事前処理における、特徴線と、稜線との合わせこみによって、決定される。カメラパラメータ145の初期値は予め設定されているものとする。
【0075】
相似変換パラメータ146は、スケールslg、回転行列Rlg,並進ベクトルTlgが含まれる。相似変換パラメータ146は、逐次処理によって、決定される。
【0076】
骨格データテーブル147は、グローバル座標系における人物の時系列の骨格情報を保持する。
【0077】
制御部150は、取得部151と、事前処理部152と、逐次処理部153とを有する。制御部150は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等である。
【0078】
取得部151は、カメラ10から画像データを取得する。画像データには、画像データを撮影したカメラ10のカメラ識別情報が設定されている。取得部151は、カメラ識別情報に対応付けて、画像データを映像バッファ141に格納する。
【0079】
事前処理部152は、上述した事前処理を実行することで、ホモグラフィ行列Hh,Hs,Hw,Hgを推定し、推定した結果をホモグラフィテーブル144に登録する。
【0080】
たとえば、事前処理部152は、映像バッファ141から、人物が映っていない画像データ11を取得し、3Dモデル142を読み込む。事前処理部152は、画像データ11から特徴線を抽出し、画像データ上に、3Dモデル142の稜線を投影する。事前処理部152は、画像データ上の特徴線と、投影された稜線とを表示部130に表示させる。ユーザは、表示部130に表示された特徴線と、稜線との位置が合うように、入力部120を操作して、カメラパラメータ145を更新する。事前処理部152は、カメラパラメータ145が更新される度に、稜線を投影し直す。事前処理部152は、係る処理を繰り返すことで、画像データ11から抽出される特徴線と、投影された稜線との合わせこみを行い、カメラパラメータ145を調整する。
【0081】
事前処理部152は、骨格形状データ143を基にして、人物の頭部、肩、腰の高さを推定する。事前処理部152は、
図6で説明した処理を実行することで、頭部位置座標平面20h、肩位置座標平面20s、腰位置座標平面20w、地表位置座標平面20gのホモグラフィ行列H
h,H
s,H
w,H
gを推定する。事前処理部152は、推定した結果をホモグラフィテーブル144に登録する。
【0082】
逐次処理部153は、上述した逐次処理を実行することで、相似変換パラメータ146を推定する。
【0083】
たとえば、逐次処理部153は、映像バッファ141から、人物が含まれる画像データを取得し、画像データを、第一機械学習モデルに入力することで、人物の矩形領域を抽出する。逐次処理部153は、人物の矩形領域の画像を、第二機械学習モデルに入力することで、人物の2次元の骨格情報を検出する。
【0084】
逐次処理部153は、2次元の骨格情報を基にして、ローカル座標系の各キー部位(頭部、両肩、腰、両足)の座標を推定する。また、逐次処理部153は、2次元の骨格情報を基にして、グローバル座標系の各キー部位の座標を推定する。2次元の骨格情報は、画像座標系の座標に対応する。画像座標系、ローカル座標系、グローバル座標系の関係は、
図9で説明した。
【0085】
ここで、逐次処理部153は、2次元の骨格情報を基にして、グローバル座標系の各キー部位の座標を推定する場合、ホモグラフィテーブル144に格納されたホモグラフィ行列Hを利用する。逐次処理部153は、式(1)~式(7)を基にして、各キー部位の3次元座標(グローバル座標系の座標)を推定する。
【0086】
逐次処理部153は、キー部位のグローバル座標系の座標を算出した後に、各キー部位の座標の信頼度を算出する。逐次処理部153は、キー部位のうち、信頼度が閾値以上となる座標に対応するキー部位(選択部位)を選択する。逐次処理部153は、選択部位のローカル座標系の座標と、選択部位のグローバル座標系の座標との関係を基にして、ローカル座標系の座標を、グローバル座標系の座標に変換するための相似変換パラメータ146を推定する。逐次処理部153は、推定した相似変換パラメータ146を、記憶部140に登録する。
【0087】
逐次処理部153は、相似変換パラメータ146と、式(8)とを基にして、ローカル座標系の各部位の座標を、グローバル座標系の各部位の座標に変換する。逐次処理部153は、係る処理を実行することで、人物の骨格情報であって、グローバル座標系の座標に変換された骨格情報を推定する。逐次処理部153は、推定した骨格情報を、骨格データテーブル147に格納する。逐次処理部153は、映像バッファ141に格納された複数の画像データに対して、上記処理を繰り返し実行する。
【0088】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図11は、事前処理の処理手順を示すフローチャートである。
図11に示すように、情報処理装置100の事前処理部152は、人物が含まれない画像データを映像バッファ141から取得する(ステップS101)。
【0089】
事前処理部152は、3Dモデル142を読み込み、稜線を抽出する(ステップS102)。事前処理部152は、画像データから特徴線を抽出する(ステップS103)。事前処理部152は、カメラパラメータ145を基にして、稜線を画像データ上に射影する(ステップS104)。
【0090】
事前処理部152は、ユーザ操作による、特徴線と稜線との合わせこみを受け付け、カメラパラメータ145を調整し、グローバル座標系における3Dモデル142の位置および姿勢を推定する(ステップS105)。
【0091】
事前処理部152は、複数のキー部位に対応する平面の座標系を設定し、各座標系に対応するホモグラフィ行列を推定する(ステップS106)。事前処理部152は、ホモグラフィ行列を、ホモグラフィテーブル144に格納する(ステップS107)。
【0092】
図12は、逐次処理の処理手順を示すフローチャートである。
図12に示すように、情報処理装置100の逐次処理部153は、人物が含まれる画像データを映像バッファ141から取得する(ステップS201)。
【0093】
逐次処理部153は、画像データから人物の矩形領域を抽出する(ステップS202)。逐次処理部153は、人物の矩形領域の画像を基にして、2次元の骨格情報を検出する(ステップS203)。逐次処理部153は、2次元の骨格情報を基にして、ローカル座標系の各キー部位の座標を推定する(ステップS204)。
【0094】
逐次処理部153は、2次元の骨格情報と、複数のホモグラフィ行列とを基にして、グローバル座標系の各キー部位の座標を推定する(ステップS205)。逐次処理部153は、各キー部位の座標を基にして信頼度を算出する(ステップS206)。
【0095】
逐次処理部153は、信頼度が閾値以上となる座標に対応するキー部位を選択する(ステップS207)。逐次処理部153は、選択したキー部位を基にしてローカル座標系の選択部位の座標と、グローバル座標系の選択部位の座標との関係から、相似変換パラメータを推定する(ステップS208)。
【0096】
逐次処理部153は、相似変換パラメータを基にして、ローカル座標系の各部位の座標を、グローバル座標系の各部位の座標に変換した骨格情報を算出する(ステップS209)。
【0097】
逐次処理部153は、逐次処理を継続する場合には(ステップS210,Yes)、ステップS201に移行する。一方、逐次処理部153は、逐次処理を継続しない場合には(ステップS210,No)、処理を終了する。
【0098】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、映像データに含まれる人物の2次元の骨格情報を基にして、ローカル座標系のキー部位の座標と、グローバル座標系のキー部位の座標とを生成する。情報処理装置100は、複数のキー部位のうち、隠れていないキー部位に関するローカル座標系の座標と、グローバル座標系の座標との関係から、相似変換パラメータを推定し、相似変換パラメータを用いて、各部位のグローバル座標系の座標を特定する。これによって、情報処理装置100は、オクルージョンが発生したキー部位以外の信頼性の高いキー部位の座標を用いて、相似変換パラメータを推定するため、グローバル座標系の人物の各部位の3次元座標を精度よく推定することができる。
【0099】
情報処理装置100は、グローバル座標系の各キー部位の座標の位置関係を基にして、各キー部位に対する座標の信頼度を特定し、信頼度を基にして、複数のキー部位から、人物の隠れていないキー部位を特定する。これによって、オクルージョンの発生していないキー部位を適切に特定することができる。
【0100】
情報処理装置100は、信頼度を基にして、少なくとも3つ以上のキー部位を特定する。これによって、相似変換パラメータを算出することができる。
【0101】
情報処理装置100は、2次元の骨格情報と、複数のホモグラフィ行列Hを基にしてグローバル座標系のキー部位の座標を生成する。これによって、各キー部位に対応したグローバル座標系のキー部位の座標を求めることができる。
【0102】
ところで、上述した情報処理装置100の処理内容は一例であり、情報処理装置100はその他の処理を実行してもよい。たとえば、情報処理装置100は、成人男性の骨格形状データを用いて、グローバル座標系のz軸の各値h、s、wを設定していたが、これに限定されるものではない。情報処理装置100は、性別、年齢等の属性毎に、骨格形状データを準備しておき、画像データに含まれる人物の属性に応じて、骨格形状データを選択して利用してもよい。
【0103】
また、情報処理装置100は、2次元の骨格情報を基にして、人物の状態を推定し、直立状態の場合に、上記処理を実行して、グローバル座標系の座標を特定してもよい。情報処理装置100は、2次元の各部位(関節)の座標と、各部位の角度を特徴量とし、文献「G. Tatkare et al., Gender Recognition and Age Approximation using Deep Learning Techniques. International Journal of Engineering Research and. V9. 10.17577/IJERTV9IS040268. 2020.」を用いて、直立状態であるか否かを判定してもよい。人物が直立状態の場合に限定して、グローバル座標系の座標を特定することで、座標の精度を向上させることができる。
【0104】
次に、上述した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図13は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0105】
図13に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、有線または無線ネットワークを介して、カメラ10、外部装置等との間でデータの授受を行う通信装置304と、インタフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
【0106】
ハードディスク装置307は、取得プログラム307a、事前処理プログラム307b、逐次処理プログラム307cを有する。また、CPU301は、各プログラム307a~307dを読み出してRAM306に展開する。
【0107】
取得プログラム307aは、取得プロセス306aとして機能する。事前処理プログラム307bは、事前処理プロセス306bとして機能する。逐次処理プログラム307cは、逐次処理プロセス306cとして機能する。
【0108】
取得プロセス306aの処理は、取得部151の処理に対応する。事前処理プロセス306bの処理は、事前処理部152の処理に対応する。逐次処理プロセス306cの処理は、逐次処理部153の処理に対応する。
【0109】
なお、各プログラム307a~307cについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307cを読み出して実行するようにしてもよい。
【0110】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0111】
(付記1)人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理をコンピュータに実行させることを特徴とする特定プログラム。
【0112】
(付記2)前記人物の複数の所定の部位の3次元の骨格位置の絶対座標の位置関係を基にして、各部位に対する絶対座標の信頼度を特定し、各部位の骨格位置の絶対座標に対する信頼度を基にして、前記人物の複数の所定の部位から、前記人物の隠れていない部位を特定する処理を更にコンピュータに実行させることを特徴とする付記1に記載の特定プログラム。
【0113】
(付記3)前記関係性を推定する処理は、前記各部位の骨格位置の絶対座標に対する信頼度を基にして、少なくとも3つの部位の骨格位置の絶対座標を選択する処理を更に実行することを特徴とする付記2に記載の特定プログラム。
【0114】
(付記4)前記絶対座標を生成する処理は、前記人物の複数の所定の部位の座標系にそれぞれ対応する複数のホモグラフィであって、前記映像上の位置に対応する仮想空間上の位置を定義した前記複数のホモグラフィと、前記2次元の骨格情報とを基にして、前記3次元の骨格位置の絶対座標を生成することを特徴とする付記1に記載の特定プログラム。
【0115】
(付記5)前記絶対座標を生成する処理は、前記人物の頭部、両肩、腰、両足を、前記複数の所定の部位とし、前記複数の所定の部位の3次元の骨格位置の絶対座標を生成することを特徴とする付記4に記載の特定プログラム。
【0116】
(付記6)人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【0117】
(付記7)前記人物の複数の所定の部位の3次元の骨格位置の絶対座標の位置関係を基にして、各部位に対する絶対座標の信頼度を特定し、各部位の骨格位置の絶対座標に対する信頼度を基にして、前記人物の複数の所定の部位から、前記人物の隠れていない部位を特定する処理を更にコンピュータが実行することを特徴とする付記6に記載の特定方法。
【0118】
(付記8)前記関係性を推定する処理は、前記各部位の骨格位置の絶対座標に対する信頼度を基にして、少なくとも3つの部位の骨格位置の絶対座標を選択する処理を更に実行することを特徴とする付記7に記載の特定方法。
【0119】
(付記9)前記絶対座標を生成する処理は、前記人物の複数の所定の部位の座標系にそれぞれ対応する複数のホモグラフィであって、前記映像上の位置に対応する仮想空間上の位置を定義した前記複数のホモグラフィと、前記2次元の骨格情報とを基にして、前記3次元の骨格位置の絶対座標を生成することを特徴とする付記6に記載の特定方法。
【0120】
(付記10)前記絶対座標を生成する処理は、前記人物の頭部、両肩、腰、両足を、前記複数の所定の部位とし、前記複数の所定の部位の3次元の骨格位置の絶対座標を生成することを特徴とする付記9に記載の特定方法。
【0121】
(付記11)人物が撮影された映像を取得し、
取得した前記映像から、前記人物の2次元の骨格情報を生成し、
前記2次元の骨格情報を基にして、前記人物の腰の位置を基準とした3次元の骨格位置の相対座標を生成し、
前記人物の複数の所定の部位の3次元の骨格位置の絶対座標を生成し、
前記人物の隠れていない部位に対応する前記3次元の骨格位置の絶対座標と、前記人物の隠れていない部位に対応する前記3次元の骨格位置の相対座標とを基にして、前記相対座標と前記絶対座標との関係性を推定し、
推定された前記関係性に基づいて、前記隠れていない部位および前記所定の部位以外を含む前記人物の骨格位置の絶対座標を特定する
処理を実行する制御部を有する情報処理装置。
【0122】
(付記12)前記制御部は、前記人物の複数の所定の部位の3次元の骨格位置の絶対座標の位置関係を基にして、各部位に対する絶対座標の信頼度を特定し、各部位の骨格位置の絶対座標に対する信頼度を基にして、前記人物の複数の所定の部位から、前記人物の隠れていない部位を特定する処理を更に実行することを特徴とする付記11に記載の情報処理装置。
【0123】
(付記13)前記関係性を推定する処理は、前記各部位の骨格位置の絶対座標に対する信頼度を基にして、少なくとも3つの部位の骨格位置の絶対座標を選択する処理を更に実行することを特徴とする付記12に記載の情報処理装置。
【0124】
(付記14)前記絶対座標を生成する処理は、前記人物の複数の所定の部位の座標系にそれぞれ対応する複数のホモグラフィであって、前記映像上の位置に対応する仮想空間上の位置を定義した前記複数のホモグラフィと、前記2次元の骨格情報とを基にして、前記3次元の骨格位置の絶対座標を生成することを特徴とする付記11に記載の情報処理装置。
【0125】
(付記15)前記絶対座標を生成する処理は、前記人物の頭部、両肩、腰、両足を、前記複数の所定の部位とし、前記複数の所定の部位の3次元の骨格位置の絶対座標を生成することを特徴とする付記14に記載の情報処理装置。