(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-03
(45)【発行日】2024-12-11
(54)【発明の名称】身長推定方法、身長推定装置及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241204BHJP
【FI】
G06T7/00 660B
(21)【出願番号】P 2022579251
(86)(22)【出願日】2021-02-05
(86)【国際出願番号】 JP2021004226
(87)【国際公開番号】W WO2022168252
(87)【国際公開日】2022-08-11
【審査請求日】2023-07-05
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】武田 利明
(72)【発明者】
【氏名】三上 弾
(72)【発明者】
【氏名】山本 奏
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】米国特許出願公開第2009/0232353(US,A1)
【文献】特開2008-286638(JP,A)
【文献】国際公開第2019/082376(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する身長推定方法であって、
人物と物体とが撮像された画像を取得する画像取得ステップと、
前記画像内における前記人物の骨格の位置を抽出する骨格抽出ステップと、
前記骨格の各部位の位置関係
から算出される、両目間、両耳間、両肩間、両腰間、及び両足首間のうち少なくとも1つの傾き、鼻から両足首の中心までの長さに対する両足首の間の長さの比率、及び両足の長さの和に対する両足の長さの差の比率に基づいて前記人物の姿勢のパターンを判定する判定ステップと、
前記パターンに対応する前記骨格の曲がり方の特性に応じて使い分けられる曲線近似または直線近似によって得られる補正値と、前記画像内における前記人物の高さとに基づいて、前記人物の実際の身長を推定する推定ステップと、
を有する身長推定方法。
【請求項2】
前記物体の実際の高さを示す情報を取得する高さ情報取得ステップ
をさらに有し、
前記推定ステップは、前記物体の実際の高さと、前記画像内における前記物体の高さとに基づいて、前記身長を推定する
請求項1に記載の身長推定方法。
【請求項3】
前記画像内における前記人物の両足のうち、長い方の足の長さを用いて前記補正値を算出する補正ステップ
をさらに有する請求項1又は請求項2に記載の身長推定方法。
【請求項4】
前記画像内における前記人物の、鼻の位置、首下の位置、及び腰の中央の位置に基づく二次曲線を算出し、前記鼻の位置から前記腰の中央の位置までの前記二次曲線の長さを用いて前記補正値を算出する補正ステップ
をさらに有する請求項1から請求項3のうちいずれか一項に記載の身長推定方法。
【請求項5】
前記判定ステップは、前記人物の姿勢を、直立している姿勢のパターン、足を左右に広げている姿勢のパターン、足を前後に広げている姿勢のパターン、体を横方向に曲げている姿勢のパターン、又はその他の姿勢のパターンのいずれかであると判定する
請求項1から請求項4のうちいずれか一項に記載の身長推定方法。
【請求項6】
前記画像に写る前記物体を検出し、前記物体の名称を特定する特定ステップ
をさらに有し、
前記高さ情報取得ステップは、物体の名称と前記物体の高さを示す情報とが対応付けられた物体情報と、前記画像に写る物体の名称とに基づいて、前記画像に写る物体の高さを取得する
請求項1から請求項5のうちいずれか一項に記載の身長推定方法。
【請求項7】
人物と物体とが撮像された画像を取得する画像取得部と、
前記画像内における前記人物の骨格の位置を抽出する骨格抽出部と、
前記骨格の各部位の位置関係
から算出される、両目間、両耳間、両肩間、両腰間、及び両足首間のうち少なくとも1つの傾き、鼻から両足首の中心までの長さに対する両足首の間の長さの比率、及び両足の長さの和に対する両足の長さの差の比率に基づいて前記人物の姿勢のパターンを判定する判定部と、
前記パターンに対応する前記骨格の曲がり方の特性に応じて使い分けられる曲線近似または直線近似によって得られる補正値と、前記画像内における前記人物の高さとに基づいて、前記人物の実際の身長を推定する推定部と、
を備える身長推定装置。
【請求項8】
請求項1から請求項6のうちいずれか一項に記載の身長推定方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、身長推定方法、身長推定装置及びプログラムに関する。
【背景技術】
【0002】
従来から、人物が撮像された入力画像から、入力画像内における人物の骨格等の位置を推定する方法が知られている。例えば、非特許文献1に記載の推定方法は、入力画像内の人物の両目、両耳、鼻、首下、両肩、両肘、両手首、両腰、両膝、及び両足首の位置座標を推定することができる。
【0003】
また、従来から、人物や物体が撮像された入力画像から、入力画像内の人物や物体の輪郭に外接する矩形(以下、「外接矩形」という。)を抽出する方法が知られている。例えば、非特許文献2に記載のMask R-CNN(Region-Convolutional Neural Network)は、物体検出とセグメンテーションとを行う物体検出アルゴリズムであり、入力画像内の人物や物体の外接矩形の位置座標を抽出することができる。
【0004】
上記の2つの技術を用いることにより、例えば
図14に示される人物及び物体が撮像された入力画像から、
図15に示される人物の骨格の位置座標、人物及び物体の外接矩形の位置座標を抽出することができる。
図14は、正面を向いて直立する人物91と、人物91の近傍に存在する物体92とが撮像された入力画像9を示している。
図15は、入力画像9から推定された人物91の骨格93と、入力画像9から抽出された人物91の外接矩形94及び物体92の外接矩形95とを示している。
【先行技術文献】
【非特許文献】
【0005】
【文献】Zhe Cao, Tomas Simon, Shih-En Wei and Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", Computer Vision and Pattern Recognition (CVPR), pp.7291-7299, 2017.
【文献】Kaiming He, Georgia Gkioxari, Piotr Dollar, Ross Girshick, "Mask R-CNN", The IEEE International Conference on Computer Vision (ICCV), pp.2961-2969, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0006】
入力画像が、直立した人物と物体とが撮像された画像である場合、当該物体の実際の大きさ(高さ)が既知であるならば、入力画像内の人物の高さと入力画像内の物体の高さとを対比することで、人物の実際の身長を容易に推定することができる。しかしながら、入力画像内の人物の姿勢は、必ずしも直立した姿勢であるとは限らない。従来、入力画像内の人物が直立した姿勢ではなく、例えば動作中の姿勢等である場合には、実際の高さが既知である物体が人物とともに撮像されていたとしても、入力画像から人物の実際の身長を推定することは容易ではないという課題があった。
【0007】
上記事情に鑑み、本発明は、入力画像内の人物が直立した姿勢ではない場合であっても、入力画像から人物の身長をより精度よく推定することができる身長推定方法、身長推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様は、人物と物体とが撮像された画像を取得する画像取得ステップと、前記画像内における前記人物の骨格の位置を抽出する骨格抽出ステップと、前記骨格の各部位の位置関係に基づいて前記人物の姿勢のパターンを判定する判定ステップと、前記パターンに対応する前記骨格の曲がり方の特性に応じて使い分けられる曲線近似または直線近似によって得られる補正値と、前記画像内における前記人物の高さとに基づいて、前記人物の実際の身長を推定する推定ステップと、を有する身長推定方法である。
【0009】
本発明の一態様は、人物と物体とが撮像された画像を取得する画像取得部と、前記画像内における前記人物の骨格の位置を抽出する骨格抽出部と、前記骨格の各部位の位置関係に基づいて前記人物の姿勢のパターンを判定する判定部と、前記パターンに対応する前記骨格の曲がり方の特性に応じて使い分けられる曲線近似または直線近似によって得られる補正値と、前記画像内における前記人物の高さとに基づいて、前記人物の実際の身長を推定する推定部と、を備える身長推定装置である。
【0010】
本発明の一態様は、上記の身長推定方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0011】
本発明により、入力画像内の人物が直立した姿勢ではない場合であっても、入力画像から人物の身長をより精度よく推定することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態における身長推定装置1の機能構成を示すブロック図である。
【
図2】人物の姿勢の違いに伴う人物枠のY軸幅の違いを説明するための図である。
【
図3】パターン2の場合における推定身長値の補正について説明するための図である。
【
図4】パターン3の場合における推定身長値の補正について説明するための図である。
【
図5】パターン4の場合における推定身長値の補正について説明するための図である。
【
図6】本発明の実施形態における状態判定部14の動作を示すフローチャートである。
【
図7】判定条件の内容と、判定条件が満たされた場合に特定されるパターンとの一例を示す図である。
【
図8】本発明の実施形態における補正部15の動作を示すフローチャートである。
【
図9】パターンごとの補正部15による補正処理の一例を示す図である。
【
図10】本発明の実施形態における身長算出部18の動作を示すフローチャートである。
【
図11】パターンごとの身長算出部18による推定身長値の算出処理の一例を示す図である。
【
図12】本発明の実施形態における物体照合部17の動作を示すフローチャートである。
【
図13】本発明の実施形態における物体データ110の構成の一例を示す図である。
【
図14】人物及び物体が撮像された入力画像の一例を示す図である。
【
図15】入力画像から抽出される人物の骨格の位置座標、人物及び物体の外接矩形の位置座標の一例を示す図である。
【発明を実施するための形態】
【0013】
(実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
【0014】
以下の説明において、入力画像内の人物の外接矩形を「人物枠」といい、入力画像内の物体の外接矩形を「物体枠」という。外接矩形とは、入力画像内の人物や物体の輪郭に外接する矩形である。
【0015】
[身長推定装置の構成]
以下、実施形態の身長推定装置1の構成について説明する。
図1は、本発明の実施形態における身長推定装置1の機能構成を示すブロック図である。
【0016】
身長推定装置1は、例えば汎用コンピュータ等の情報処理装置である。
図1に示されるように、身長推定装置1は、制御部10と、記憶部11と、画像入力部12と、骨格抽出部13と、状態判定部14と、補正部15と、人物・物体抽出部16と、物体照合部17と、身長算出部18と、出力部19とを含んで構成される。
【0017】
制御部10は、例えばCPU(Central Processing Unit)等のプロセッサを含んで構成される。記憶部11は、例えば、RAM(Random Access Memory)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、及びHDD(Hard Disk Drive)等の記憶媒体、又はこれらの記憶媒体の任意の組み合わせを含んで構成される。
【0018】
制御部10は、例えば記憶部11等の記憶媒体に記録されたコンピュータプログラムを読み出して実行することにより、前述の各機能部を有する装置として身長推定装置1を機能させる。制御部10は、前述の各機能部の動作を制御する。
【0019】
記憶部11は、物体データ110を予め記憶している。物体データ110の詳細については後述される。
【0020】
画像入力部12は、外部の装置又は記憶媒体から、入力画像の入力を受け付ける入力インターフェースである。画像入力部12に入力される入力画像は、人物と当該人物の近傍に存在する物体とが撮像された画像である。画像入力部12は、入力画像を、骨格抽出部13及び人物・物体抽出部16へ出力する。
【0021】
骨格抽出部13は、画像入力部12から出力された入力画像を取得する。骨格抽出部13は、画像解析により、入力画像に写っている人物の骨格の画像領域を抽出し、各骨格の入力画像内における位置を特定する。なお、ここで用いられる画像解析手法として、非特許文献1に記載の手法を用いることができる。骨格抽出部13は、骨格の種類を示す情報(以下、「骨格情報」という。)、及び、入力画像内における各骨格のXY座標を示す情報を状態判定部14へ出力する。
【0022】
なお、ここでは、目や耳等も含めた人体の部位全般を総称して「骨格」と呼んでいる。本実施形態では、抽出対象の骨格の一例として、両目、両耳、鼻、両肩、両腰、両膝、及び両足首を挙げて説明する。
【0023】
状態判定部14は、骨格抽出部13から出力された、骨格情報及び各骨格のXY座標を示す情報を取得する。状態判定部14は、骨格情報及び各骨格のXY座標と、予め定められた閾値とに基づいて、入力画像内の人物の姿勢が該当しているパターンを特定する。上記の閾値の詳細については後述される。状態判定部14は、特定されたパターンを示す情報と、骨格情報及び各骨格のXY座標を示す情報とを、補正部15へ出力する。
【0024】
本実施形態では、状態判定部14は、予め定められたパターン1からパターン5までの5つのパターンの中から、入力画像内の人物の姿勢が該当しているパターンを特定する。パターン1は人物が直立している姿勢であり、パターン2は人物が両足を左右に広げている姿勢であり、パターン3は人物が両足を前後に広げている姿勢であり、パターン4は人物が体を横方向に曲げた姿勢であり、パターン5は上記のパターン1からパターン4までのいずれにも該当しない姿勢である。
【0025】
補正部15は、状態判定部14から出力された、パターンを示す情報と、骨格情報及び各骨格のXY座標を示す情報とを取得する。補正部15は、各骨格のXY座標から算出される骨格間の長さと、パターンと、パターンごとに予め定められた補正式とに基づいて、骨格間の長さの値を補正する。以下、補正された骨格間の長さの値を「補正値」という。補正部15は、補正値と、パターンを示す情報とを、身長算出部18へ出力する。なお、補正式の詳細については後述される。
【0026】
人物・物体抽出部16は、画像入力部12から出力された入力画像を取得する。骨格抽出部13は、画像解析により、入力画像内の人物及び物体が写っている画像領域を検出し、検出された人物及び物体の外接矩形を特定する。骨格抽出部13は、特定された外接矩形から、人物枠のXY座標と、物体枠のXY座標とを特定する。なお、ここで用いられる画像解析手法として、非特許文献2に記載の手法を用いることができる。
【0027】
また、人物・物体抽出部16は、検出された物体の画像から、当該物体の名称(以下、「物体名称」という。)を特定する。なお、人物・物体抽出部16は、例えば、検出された物体の画像と、予め物体名称が対応付けられた物体のサンプル画像とに対してパターンマッチングを行うことで、検出された物体の物体名称を特定する。人物・物体抽出部16は、物体名称を示す情報と、物体枠のXY座標と、人物枠のXY座標とを、物体照合部17へ出力する。
【0028】
物体照合部17は、人物・物体抽出部16から出力された物体名称を示す情報と、物体枠のXY座標と、人物枠のXY座標とを取得する。物体照合部17は、記憶部11が予め記憶している物体データ110を参照する。物体データ110は、物体名称と、物体の大きさ(高さ)の値が対応付けられたデータの集合である。
【0029】
物体照合部17は、取得された情報に基づく物体名称と一致する物体名称を物体データ110の中から検出し、検出された物体名称に対応付けられた高さの値(以下、「高さ情報」という。)を取得する。物体照合部17は、物体枠のXY座標と、高さ情報と、人物枠のXY座標とを、身長算出部18へ出力する。
【0030】
身長算出部18は、補正部15から出力された、補正値と、パターンを示す情報とを取得する。また、身長算出部18は、物体照合部17から出力された、物体枠のXY座標と、高さ情報と、人物枠のXY座標とを取得する。身長算出部18は、パターンと、高さ情報と、物体枠のY軸幅と、人物枠のY軸幅と、補正値と、予め定められた推定身長の算出式とに基づいて、入力画像内の人物の推定身長値を算出する。なお、推定身長の算出式の詳細については後述される。
【0031】
身長算出部18は、推定結果を示す情報を出力部19へ出力する。すなわち、身長算出部18は、算出された推定身長値を示す情報を出力部19へ出力する。なお、身長算出部18は、推定身長値を算出することができなかった場合には、出力部19への情報出力を行わない。または、身長算出部18は、推定身長値を算出することができなかった場合には、推定不可能であることを示す情報を出力部19へ出力するようにしてもよい。
【0032】
出力部19は、身長算出部18から出力された、推定結果を示す情報を取得する。出力部19は、推定結果を示す情報を外部の装置へ出力する。出力部19は、推定結果を示す情報を出力する出力インターフェースである。なお、出力部19は、例えばLCD(Liquid Crystal Display)又は有機EL(Electro-Luminescence)ディスプレイ等の表示装置であってもよい。この場合、出力部19は、推定結果を示す情報を表示する。
【0033】
以下、本実施形態の身長推定装置1による身長推定方法について、具体例を挙げて説明する。
【0034】
図2は、人物の姿勢の違いに伴う人物枠のY軸幅の違いを説明するための図である。
図2には、4種類の人物枠内の領域の画域が示されている。4つの画像は、それぞれ入力画像から切り出された画像である。
【0035】
画像A10は、人物が直立している姿勢である場合、すなわち、前述のパターン1である場合の画像である。画像A20は、人物が両足を左右に広げている姿勢である場合、すなわち、前述のパターン2である場合の画像である。画像A30は、人物が両足を前後に広げている姿勢である場合、すなわち、前述のパターン3である場合の画像である。画像A40は、人物が体を横方向に曲げた姿勢である場合、すなわち、前述のパターン4である場合の画像である。
【0036】
画像A10に示されるように、人物が直立している姿勢である場合には、両目、両耳、両肩、両腰、両足首の位置が水平である。なお、ここでいう、「水平である」とは、両部位を結ぶ線の傾きが所定の範囲内であることを意味する。
【0037】
画像A20に示されるように、人物が両足を左右に広げている姿勢である場合には、画像A10と比べて人物枠のY軸幅がより短くなる。すなわち、人物が両足を左右に広げている姿勢である場合には、人物が直立している姿勢である場合に比べて、身長がより低く算出される誤差が生じうると考えられる。
【0038】
画像A30に示されるように、人物が両足を前後に広げている姿勢である場合には、画像A10と比べて人物枠のY軸幅がより少し短くなる。すなわち、人物が両足を前後に広げている姿勢である場合には、人物が直立している姿勢である場合に比べて、身長がより少し低く算出される誤差が生じうると考えられる。
【0039】
画像A40に示されるように、人物が体を横方向に曲げた姿勢である場合には、画像A10と比べて人物枠のY軸幅がより短くなる。すなわち、人物が体を横方向に曲げた姿勢である場合には、人物が直立している姿勢である場合に比べて、身長がより低く算出される誤差が生じうると考えられる。
【0040】
本実施形態における身長推定装置1は、上記のような推定身長値の誤差を、補正部15によって補正する。以下、パターンごとに、身長推定装置1による推定身長値の補正について具体例を挙げて説明する。なお、人物が直立している姿勢である場合、すなわち、前述のパターン1である場合には、推定身長値の補正は不要である。
【0041】
図3は、パターン2の場合における推定身長値の補正について説明するための図である。
図3に示される画像A20は、
図2に示される画像A20と同一の画像である。画像A20に示されるように、人物が両足を左右に広げている姿勢である場合には、両目、両耳、両肩、両腰、両足首の位置が水平である。
【0042】
入力画像内の人物の姿勢がパターン2であると状態判定部14によって特定された場合、補正部15は、画像A20内の人物の右足及び左足の長さを比較する。すなわち、補正部15は、右腰のXY座標と右足首のXY座標との間のユークリッド距離を求めることで右足の長さを算出し、左腰のXY座標と左足首のXY座標との間のユークリッド距離を求めることで左足の長さを算出して、両者の長さを比較する。
【0043】
補正部15は、上記の比較により、長い方の足の長さを特定する。
図3の画像A21では、入力画像内の人物の場合、右足の方が左足より長かったことが破線で表されている。但し、パターン2は、人物が両足を左右に広げている姿勢である場合であるため、実際には、入力画像内の人物の両足の長さはほぼ同等である場合が多いと考えられる。
【0044】
補正部15は、画像A21において破線で表されるように傾いた右足を、画像A22のように垂直にする(すなわち、人物枠のY軸と平行にする)ように補正することで、推定身長値を補正する。
【0045】
図4は、パターン3の場合における推定身長値の補正について説明するための図である。
図4に示される画像A30は、
図2に示される画像A30と同一の画像である。画像A30に示されるように、人物が両足を前後に広げている姿勢である場合には、両目、両耳、両肩、両腰の位置が水平である。また、画像A30に示されるように、人物が両足を前後に広げている姿勢である場合には、前足(画像A30における右足)のほうが後ろ足(画像A30における左足)より長いため、両足首は水平ではない。
【0046】
入力画像内の人物の姿勢がパターン3であると状態判定部14によって特定された場合、補正部15は、画像A30内の人物の右足及び左足の長さを比較する。すなわち、補正部15は、右腰のXY座標と右足首のXY座標との間のユークリッド距離を求めることで右足の長さを算出し、左腰のXY座標と左足首のXY座標との間のユークリッド距離を求めることで左足の長さを算出して、両者の長さを比較する。
【0047】
補正部15は、上記の比較により、長い方の足の長さを特定する。
図4の画像A31では、入力画像内の人物の場合、右足の方が左足より長かったことが破線で表されている。
【0048】
補正部15は、画像A31において破線で表されるように長いほうの右足の長さを、画像A32のように左足にも適用するように補正することで、推定身長値を補正する。なお、本実施形態では、長い方の足の長さを身長の推定に用いる構成であるものとしたが、これに限られるものではなく、両足の長さの平均値を身長の推定に用いる構成であってもよい。
【0049】
図5は、パターン4の場合における推定身長値の補正について説明するための図である。
図5に示される画像A40は、
図2に示される画像A40と同一の画像である。画像A40に示されるように、人物が体を横方向に曲げた姿勢である場合には、両目、両耳、両肩、両腰の位置は水平ではない。また、画像A40に示されるように、人物が体を横方向に曲げた姿勢である場合には、両足首の位置が水平である。
【0050】
入力画像内の人物の姿勢がパターン4であると状態判定部14によって特定された場合、補正部15は、画像A40内の人物の右足及び左足の長さを比較する。すなわち、補正部15は、鼻の位置から首下の位置(すなわち、両肩間の中央の位置)を経由して両腰間の中心の位置までの長さを、二次曲線近似を用いて特定する。
【0051】
なお、本実施形態では二次曲線近似が用いられる構成について説明するが、この構成に限られるものではない。例えば三次曲線近似等の、他の近似方法が用いられてもよい。
【0052】
補正部15は、画像A41において点線の曲線で表される二次曲線を、長さを変えずに、画像A42において点線で表される垂直の(すなわち、人物枠のY軸と平行の)直線となるように補正することで、推定身長値を補正する。
【0053】
また、補正部15は、右腰のXY座標と右足首のXY座標との間のユークリッド距離を求めることで右足の長さを算出し、左腰のXY座標と左足首のXY座標との間のユークリッド距離を求めることで左足の長さを算出して、両者の長さを比較する。補正部15は、上記の比較により、長い方の足の長さを特定する。
図5の画像A41では、入力画像内の人物の場合、左足の方が右足より長かったことが破線で表されている。
【0054】
補正部15は、画像A41において破線で表されるように長いほうの左足の長さを、画像A32のように左足にも適用するように補正することで、推定身長値を補正する。
【0055】
[状態判定処理]
以下、状態判定部14による条件判定処理について説明する。本実施形態では、状態判定部14は、以下に示す6つの閾値と6つの係数とを定義し、これらの閾値と係数とに基づく6つの大小判定によって、入力画像内の人物の姿勢の条件判定を行う。各閾値及び各係数の値は、各骨格間の長さに基づいてそれぞれ算出される。
【0056】
閾値A1~A6は、以下のように定義される。閾値A1~A6は、下記の通り、入力画像内における骨格の各部位の位置関係を判定するために用いられる数値である。
【0057】
閾値A1:両目の間(又は両耳の間)の傾きの値。
閾値A2:両肩の間の傾きの値。
閾値A3:両腰の間の傾きの値。
閾値A4:両足首の間の傾きの値。
閾値A5:鼻から両足首の間の中心までの長さを、両足首の間の長さで除算した値。
閾値A6:(右腰と右膝との間の長さと、右膝と右足首との間の長さとの合計)と、(左腰と左膝との間の長さと、左膝と左足首との間の長さとの合計)との差となる値を、(右腰と右膝との間の長さと、右膝と右足首との間の長さとの合計)と(左腰と左膝との間の長さと、左膝と左足首との間の長さとの合計)との和となる値によって除算した値。
【0058】
係数K1~K6は、以下のように定義される。係数K1~K6は、上記の閾値A1~A6とそれぞれ大小比較するために用いられる、入力画像内での人物の骨格の各部位間の長さに基づく数値である。
【0059】
係数K1={(右目Y軸値-左目Y軸値)/(右目X軸値-左目X軸値)+(右耳Y軸値-左耳Y軸値)/(右耳X軸値-左耳X軸値)}/2
係数K2=(右肩Y軸値-左肩Y軸値)/(右肩X軸値-左肩X軸値)
係数K3=(右腰Y軸値-左腰Y軸値)/(右腰X軸値-左腰X軸値)
係数K4=(右足首Y軸値-左足首Y軸値)/(右足首X軸値-左足首X軸値)
【0060】
係数K5=(両足首の間の長さ)/(鼻から両足首の中心までの長さ)
ここで、両足首の間の長さの値、及び、鼻から両足首の中心までの長さの値は、それぞれ以下のように算出される。
(両足首の長さ)=√{(右足首Y軸値-左足首Y軸値)2+(右足首X軸値-左足首X軸値)2}
(鼻から両足首中心までの長さ)=√[{鼻Y軸値-(右足首Y軸値+左足首Y軸値)/2}2+{鼻X軸値-(右足首X軸値+左足首X軸値)/2}2]
【0061】
係数K6={(右腰から右膝までの長さと、右膝から右足首までの長さとの合計)-(左腰から左膝までの長さと、左膝から左足首までの長さとの合計)}/{(右腰から右膝までの長さと、右膝から右足首までの長さの合計)+(左腰から左膝までの長さと、左膝から左足首までの長さの合計)}
ここで、右腰から右膝までの長さ、右膝から右足首までの長さ、左腰から左膝までの長さ、及び、左膝から左足首までの長さの値は、それぞれ以下のように算出される。
右腰から右膝までの長さ=√{(右腰Y軸値-右膝Y軸値)2+(右腰X軸値-右膝X軸値)2}
右膝から右足首までの長さ=√{(右膝Y軸値-右足首Y軸値)2+(右膝X軸値-右足首X軸値)2}
左腰から左膝までの長さ=√{(左腰Y軸値-左膝Y軸値)2+(左腰X軸値-左膝X軸値)2}
左膝から左足首までの長さ=√{(左膝Y軸値-左足首Y軸値)2+(左膝X軸値-左足首X軸値)2}
【0062】
状態判定部14は、上記の定義に基づいて算出された、閾値A1~A6及び係数K1~K6を用いて以下の閾値判定を行う。下記の閾値判定1~6は、上記の閾値A1~A6と上記の係数K1~K6との大小比較によって、入力画像内の人物の姿勢のパターンを判定する判定式である。
【0063】
閾値判定1:(係数K1の絶対値)≦閾値A1、であるか否か。
閾値判定2:(係数K2の絶対値)≦閾値A2、であるか否か。
閾値判定3:(係数K3の絶対値)≦閾値A3、であるか否か。
閾値判定4:(係数K4の絶対値)≦閾値A4、であるか否か。
閾値判定5:(係数K5の絶対値)≦閾値A5、であるか否か。
閾値判定6:(係数K6の絶対値)≦閾値A6、であるか否か。
【0064】
[状態判定部の動作]
本実施形態では、状態判定部14は、上記6つの閾値判定の結果と、4つの判定条件を用いて、入力画像内の人物の姿勢のパターンを判定する。以下に、状態判定部14によるパターンの判定処理について説明する。
図6は、本発明の実施形態における状態判定部14の動作を示すフローチャートである。
【0065】
まず、状態判定部14は、骨格抽出部13から出力された、骨格情報及び各骨格のXY座標を示す情報を取得する(ステップS1401)。
【0066】
次に、状態判定部14は、骨格情報及び各骨格のXY座標を示す情報を用いて、前述の閾値A1~A6及び係数K1~K6を算出する。状態判定部14は、算出された閾値A1~A6及び係数K1~K6の値を用いて、前述の閾値判定1~6を行う。
【0067】
状態判定部14は、閾値判定1~6の判定結果に基づいて、判定条件1を満たすか否かの判定を行う(ステップS1402)。ここで、判定条件1とは、閾値判定1~6を全て満たしているという条件である。判定条件1が満たされていると判定された場合(ステップS1402・YES)、状態判定部14は、入力画像内の人物の姿勢がパターン1である(すなわち、人物が直立している姿勢である)と特定する(ステップS1403)。
【0068】
判定条件1が満たされていないと判定された場合(ステップS1402・NO)、状態判定部14は、閾値判定1~6の判定結果に基づいて、判定条件2を満たすか否かの判定を行う(ステップS1404)。ここで、判定条件2とは、閾値判定1~4及び6を満たしており、閾値判定5を満たしていないという条件である。判定条件2が満たされていると判定された場合(ステップS1404・YES)、状態判定部14は、入力画像内の人物の姿勢がパターン2である(すなわち、人物が両足を左右に広げている姿勢である)と特定する(ステップS1405)。
【0069】
判定条件2が満たされていないと判定された場合(ステップS1404・NO)、状態判定部14は、閾値判定1~6の判定結果に基づいて、判定条件3を満たすか否かの判定を行う(ステップS1406)。ここで、判定条件3とは、閾値判定1~3及び5を満たしており、閾値判定4及び6を満たしていないという条件である。判定条件3が満たされていると判定された場合(ステップS1406・YES)、状態判定部14は、入力画像内の人物の姿勢がパターン3(すなわち、人物が両足を前後に広げている姿勢である)であると特定する(ステップS1407)。
【0070】
判定条件3が満たされていないと判定された場合(ステップS1406・NO)、状態判定部14は、閾値判定1~6の判定結果に基づいて、判定条件4を満たすか否かの判定を行う(ステップS1408)。ここで、判定条件4とは、閾値判定3~6を満たしており、閾値判定1~2を満たしていない。という条件である。判定条件4が満たされていると判定された場合(ステップS1408・YES)、状態判定部14は、入力画像内の人物の姿勢がパターン4である(すなわち、人物が体を横方向に曲げた姿勢である)と特定する(ステップS1409)。
【0071】
判定条件4が満たされていないと判定された場合(ステップS1408・NO)、すなわち、判定条件1~4のいずれもが満たされていない場合、状態判定部14は、入力画像内の人物の姿勢がパターン5である(すなわち、パターン1からパターン4までのいずれにも該当せず、姿勢の判定が不可である)と特定する(ステップS1410)。
【0072】
次に状態判定部14は、特定されたパターンを示す情報と、骨格情報及び各骨格のXY座標を示す情報とを、補正部15へ出力する(ステップS1411)。以上で、
図6に示される状態判定部14の動作が終了する。
【0073】
図7は、上記の判定条件1~4のそれぞれの内容と、判定条件1~4が満たされた場合にそれぞれ特定されるパターンをまとめた図である。
【0074】
[補正値の算出処理]
以下、補正部15による補正値の算出処理について説明する。本実施形態では、補正部15は、以下に示されるパターンごとの算出式を定義し、算出値B1~B2をそれぞれ算出する。補正部15は、算出値B1~B2を用いて、推定身長値の補正値である補正値B3を算出する。
【0075】
パターンごとの算出値B1~B2、及び補正値B3は、以下のように定義される。なお、補正部15は、パターン1及びパターン5である場合には補正処理を行わない。なぜならば、パターン1の場合、人物の姿勢が直立している状態であるため、推定身長値の補正を行う必要がないからである。また、パターン5の場合、人物の姿勢がパターン1~4のいずれにも当てはまらず、姿勢の特定が困難であるため、推定身長値の補正ができないからである。
【0076】
パターン2の場合における算出値B1~B2及び補正値B3は以下のように定義される。
算出値B1=(鼻と各足首と間のY軸幅の値のうち、大きい方の値)
算出値B2=(鼻から首下までの長さ)+(首下から両腰間の中央までの長さ)+(XY軸の右腰から右膝までの長さと右膝から右足首までの長さとの合計と、XY軸の左腰から左膝までの長さと左膝から左足首まで長さとの合計のうち、大きい方の値)
補正値B3=B2/B1
【0077】
パターン3の場合における算出値B1~B2及び補正値B3は以下のように定義される。
算出値B1=(鼻と各足首と間のY軸幅の値のうち、大きい方の値)
算出値B2=(鼻から首下までの長さ)+(首下から両腰間の中央までの長さ)+(XY軸の右腰から右膝までの長さと右膝から右足首までの長さとの合計と、XY軸の左腰から左膝までの長さと左膝から左足首まで長さとの合計のうち、大きい方の値)
補正値B3=B2/B1
【0078】
パターン4の場合における算出値B1~B2及び補正値B3は以下のように定義される。
算出値B1=(鼻と各足首と間のY軸幅の値のうち、大きい方の値)
算出値B2=(鼻から両腰間の中央までの二次曲線の長さ)+(XY軸の右腰から右膝までの長さと右膝から右足首まで長さの合計と、XY軸の左腰から左膝までの長さと左膝から左足首までの長さの合計のうち、大きい方の値)
ここで、鼻から両腰間の中央までの二次曲線の長さは、前述の通り、鼻と、首下と、両腰間の中間とを結ぶ二次曲線が算出されることによって算出される(
図5の画像A41の点線部に相当)。
補正値B3=B2/B1
【0079】
このように、補正値B3は、パターンに対応する骨格の曲がり方の特性に応じて使い分けられる曲線近似又は直線近似によって得られる。
なお、上半身と下半身とで異なる近似方法が使い分けられてもよい。例えば、上半身(ここでは鼻から両腰間の中央まで)の長さの算出には曲線近似が用いられ、下半身(ここでは腰から足首まで)の長さの算出には直線近似が用いられるような構成であってもよい。
【0080】
[補正部の動作]
以下、補正部15の動作について説明する。
図8は、本発明の実施形態における補正部15の動作を示すフローチャートである。
【0081】
まず、補正部15は、状態判定部14から出力された、パターンを示す情報と、骨格情報及び各骨格のXY座標を示す情報とを取得する(ステップS1501)。
【0082】
次に、補正部15は、取得された情報に基づくパターンに応じて、上記の補正値B3を算出する(ステップS1502)。なお前述の通り、補正部15は、パターン1及びパターン5である場合には補正処理を行わない。
【0083】
次に、補正部15は、補正値とB3と、パターンを示す情報とを、身長算出部18へ出力する(ステップS1503)。以上で、
図8のフローチャートが示す補正部15の動作が終了する。
【0084】
図9は、上記のパターンごとの補正部15による補正処理(算出値B1~2及び補正値B3の算出方法等)をまとめた図である。
【0085】
[推定身長値の算出処理]
以下、身長算出部18による推定身長値の算出処理について説明する。本実施形態では、以下に示されるパターンごとの推定身長値の算出式を定義し、推定身長値を算出する。また、身長算出部18は、パターン2~4の場合には、上記の補正値B3を用いた算出式を定義して算出値B4を算出し、算出値B4を用いた推定身長値の算出式を定義する。
【0086】
パターンごとの推定身長値、及び算出値B4は、以下のように定義される。なお、身長算出部18は、パターン5である場合には推定身長値の算出処理を行わない。なぜならば、パターン5の場合、人物の姿勢がパターン1~4のいずれにも当てはまらず、姿勢の特定が困難であるため、推定身長値の算出ができないからである。
【0087】
パターン1の場合における推定身長値は以下のように定義される。
推定身長値=(物体の高さ)×(人物枠Y軸幅/物体枠Y軸幅)
【0088】
パターン2の場合における算出値B4、及び推定身長値は以下のように定義される。
算出値B4=(人物枠Y軸幅)×(パターン2の補正値B3)
推定身長値=(物体の高さ)×(パターン2の算出値B4/物体枠Y軸幅)
【0089】
パターン3の場合における算出値B4、及び推定身長値は以下のように定義される。
算出値B4=(人物枠Y軸幅)×(パターン3の補正値B3)
推定身長値=(物体の高さ)×(パターン3の算出値B4/物体枠Y軸幅)
【0090】
パターン4の場合における算出値B4、及び推定身長値は以下のように定義される。
算出値B4=(人物枠Y軸幅)×(パターン4の補正値B3)
推定身長値=(物体の高さ)×(パターン4の算出値B4/物体枠Y軸幅)
【0091】
なお前述の通り、パターン5の場合には、身長算出部18は推定身長値の算出処理を行わず、推定身長値を出力しない。パターン5の場合とは、例えば各骨格の位置を正しく認識できない場合であり、人物が座っている場合や極端に体を曲げている場合等が考えられる。なお、入力画像において、人物の近傍に物体が存在しない場合、人物の近傍に物体が存在するが当該物体の大きさ(高さ)が既知でない場合、及び、人物の近傍に物体が存在するが当該物体の物体名称が特定できない場合等においても、身長算出部18は推定身長値の算出処理を行うことができないため、推定身長値を出力しない。
【0092】
[身長算出部の動作]
以下、身長算出部18の動作について説明する。
図10は、本発明の実施形態における身長算出部18の動作を示すフローチャートである。
【0093】
まず、身長算出部18は、補正部15から出力された、補正値と、パターンを示す情報とを取得する。また、身長算出部18は、物体照合部17から出力された、物体枠のXY座標と、高さ情報と、人物枠のXY座標とを取得する。(ステップS1801)。
【0094】
次に、身長算出部18は、取得された情報に基づくパターンに応じて、上記の推定身長値を算出する(ステップS1802)。なお前述の通り、補正部15は、パターン5である場合には推定身長値の算出処理を行わない。
【0095】
次に、身長算出部18は、推定結果(例えば、算出された推定身長値)を示す情報を出力部19へ出力する(ステップS1803)。なお前述の通り、身長算出部18は、パターン5の場合には、出力部19への情報出力を行わない。または、身長算出部18は、パターン5の場合には、推定不可能であることを示す情報を出力部19へ出力するようにしてもよい。以上で、
図10のフローチャートが示す補正部15の動作が終了する。
【0096】
図11は、上記のパターンごとの身長算出部18による推定身長値の算出処理をまとめた図である。
【0097】
[物体照合部の動作]
以下、物体照合部17の動作について説明する。
図12は、本発明の実施形態における物体照合部17の動作を示すフローチャートである。
【0098】
まず、物体照合部17は、人物・物体抽出部16から出力された物体名称を示す情報と、物体枠のXY座標と、人物枠のXY座標とを取得する(ステップS1701)。
【0099】
物体照合部17は、記憶部11が予め記憶している物体データ110を参照する。物体照合部17は、取得された情報に基づく物体名称を、物体データ110に含まれる物体名称と照合する(ステップS1702)。
【0100】
物体照合部17は、照合によって検出された、物体データ110に含まれる物体名称に対応付けられた物体の高さの値(高さ情報)を取得する(ステップS1703)。
【0101】
物体照合部17は、物体枠のXY座標と、高さ情報と、人物枠のXY座標とを、身長算出部18へ出力する(ステップS1704)。以上で、
図12のフローチャートが示す物体照合部17の動作が終了する。
【0102】
図13は、記憶部11に記録されている物体データ110の構成の一例を示す図である。
図13に示されるように、物体データ110は、物体名称と、物体の大きさ(高さ)の値とが対応付けられたデータの集合である。
【0103】
以上説明したように、本実施形態における身長推定装置1は、人物と物体とが撮像された画像から人物の骨格の位置を抽出し、骨格の各部位の位置関係に基づいて人物の姿勢のパターンを判定する。身長推定装置1は、パターンごとに予め定められた演算式に基づいて算出される補正値と、物体の実際の高さと、画像内における物体の高さ及び人物の高さとに基づいて、人物の実際の身長を推定する。このような構成を備えることで、本実施形態における身長推定装置1は、入力画像内の人物が直立した姿勢ではない場合であっても、より精度よく入力画像から人物の身長を推定することができる。
【0104】
上述した実施形態によれば、身長推定装置は、画像取得部と、骨格抽出部と、判定部と、推定部とを備える。例えば、画像取得部は、実施形態における画像入力部12であり、判定部は、実施形態における状態判定部14であり、推定部は、実施形態における身長算出部18である。画像取得部は、人物と物体とが撮像された画像を取得する。骨格抽出部は、画像内における人物の骨格の位置を抽出する。判定部は、骨格の各部位の位置関係に基づいて人物の姿勢のパターンを判定する。推定部は、パターンに対応する前記骨格の曲がり方の特性に応じて使い分けられる曲線近似または直線近似によって得られる補正値と、画像内における人物の高さとに基づいて、人物の実際の身長を推定する。
【0105】
なお、上記の身長推定装置は、高さ情報取得部をさらに備えていてもよい。例えば、高さ情報取得部は、実施形態における物体照合部17である。高さ情報取得部は、物体の実際の高さを示す情報を取得する。この場合、推定部は、物体の実際の高さと、画像内における物体の高さとに基づいて、身長を推定する。
【0106】
なお、上記の身長推定装置は、補正部をさらに備えていてもよい。補正部は、画像内における人物の両足のうち、長い方の足の長さを用いて補正値を算出する。
【0107】
なお、補正部は、画像内における人物の、鼻の位置、首下の位置、及び腰の中央の位置に基づく二次曲線を算出し、鼻の位置から腰の中央の位置までの二次曲線の長さを用いて補正値を算出してもよい。
【0108】
なお、判定部は、人物の姿勢を、直立している姿勢のパターン、足を左右に広げている姿勢のパターン、足を前後に広げている姿勢のパターン、体を横方向に曲げている姿勢のパターン、又はその他の姿勢のパターンのいずれかであると判定するようにしてもよい。
【0109】
なお、上記の身長推定装置は、特定部をさらに備えていてもよい。例えば、特定部は、実施形態における物体照合部17である。特定部は、画像に写る物体を検出し、物体の名称を特定する。この場合、高さ情報取得部は、物体の名称と物体の高さを示す情報とが対応付けられた物体情報と、画像に写る物体の名称とに基づいて、画像に写る物体の高さを取得する。例えば、物体情報は、実施形態における物体データ110である。
【0110】
上述した各実施形態における身長推定装置1の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0111】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0112】
1…身長推定装置,10…制御部,11…記憶部,12…画像入力部,13…骨格抽出部,14…状態判定部,15…補正部,16…人物・物体抽出部,17…物体照合部,18…身長算出部,19…出力部,110…物体データ