JP7420146B2 - カメラ校正装置、カメラ校正方法及びカメラ校正プログラム - Google Patents

カメラ校正装置、カメラ校正方法及びカメラ校正プログラム Download PDF

Info

Publication number
JP7420146B2
JP7420146B2 JP2021555634A JP2021555634A JP7420146B2 JP 7420146 B2 JP7420146 B2 JP 7420146B2 JP 2021555634 A JP2021555634 A JP 2021555634A JP 2021555634 A JP2021555634 A JP 2021555634A JP 7420146 B2 JP7420146 B2 JP 7420146B2
Authority
JP
Japan
Prior art keywords
vector
skeleton
dimensional
camera
skeletal
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
JP2021555634A
Other languages
English (en)
Other versions
JPWO2021095095A5 (ja
JPWO2021095095A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021095095A1 publication Critical patent/JPWO2021095095A1/ja
Publication of JPWO2021095095A5 publication Critical patent/JPWO2021095095A5/ja
Application granted granted Critical
Publication of JP7420146B2 publication Critical patent/JP7420146B2/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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • 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

Description

本発明は、カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体に関する。
近年、カメラにより撮像した画像から人物の属性や行動等を認識する技術が利用されている。このような画像認識技術では、2次元画像の座標や大きさを実世界の3次元空間に変換するためのカメラパラメータを求めるキャリブレーション(校正)が必要とされている。
関連する技術として、例えば、特許文献1~3が知られている。特許文献1には、画像における既知の高さの情報等を取得し、カメラパラメータを推定することが記載されている。特許文献2には、画像における複数の歩行者の座標データを収集し、カメラパラメータを算出することが記載されている。特許文献3は、複数のカメラの画像から複数のカメラのカメラパラメータを推定することが記載されている。なお、その他に、人物の骨格推定に関連する技術として、非特許文献1が知られている。
国際公開第2013/111229号 特開2005-233846号公報 特開2019-102877号公報
Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, P. 7291-7299
特許文献1のように既知の情報を用いることでカメラパラメータを求めることができるものの、必要な情報を手動により外部から入力する必要がある。一方、特許文献2のように複数の情報を統計的に処理することで、簡易にカメラパラメータを算出し得る。しかし、その場合、カメラパラメータの算出精度が悪い可能性がある。このため、関連する技術では、精度よくカメラパラメータを求めることが困難であるという問題がある。
本開示は、このような課題に鑑み、簡便かつ精度よくカメラパラメータを求めることが可能なカメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体を提供することを目的とする。
本開示に係るカメラ校正装置は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、を備えるものである。
本開示に係るカメラ校正方法は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するものである。
本開示に係るカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、処理をコンピュータに実行させるためのカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体である。
本開示によれば、簡便かつ精度よくカメラパラメータを求めることが可能なカメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。
関連する監視方法を示すフローチャートである。 実施の形態に係るカメラ校正装置の概要を示す構成図である。 実施の形態1に係るカメラ校正装置の構成を示す構成図である。 実施の形態1に係るカメラ校正方法を示すフローチャートである。 実施の形態1に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態1に係る人体モデルを示す図である。 実施の形態1に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態1に係る骨格ベクトルの集計方法を説明するための図である。 実施の形態1に係る骨格ベクトルの集計方法を説明するための図である。 実施の形態2に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態2に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態3の具体例1に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例1に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態3の具体例2で使用する人体モデルを示す図である。 実施の形態3の具体例2に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例2に係る骨格構造の検出例を示す図である。 実施の形態3の具体例2に係る骨格ベクトル算出方法を説明するためのヒストグラムである。 実施の形態3の具体例3に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例3に係る骨格構造の検出例を示す図である。 実施の形態3の具体例3に係る3次元人体モデルを示す図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態に係るコンピュータのハードウェアの概要を示す構成図である。
以下、図面を参照して実施の形態について説明する。各図面においては、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略される。
(実施の形態に至る検討)
近年、機械学習を活用した画像認識技術が様々なシステムに応用されている。一例として、監視カメラの画像により監視を行う監視システムについて検討する。
図1は、関連する監視システムにおける監視方法を示している。図1に示すように、監視システムは、監視カメラから画像を取得し(S101)、取得した画像の中から人物を検知し(S102)、人物の行動認識及び属性認識(S103)を行う。例えば、人物の行動として人物の振る舞いや動線等を認識し、人物の属性として人物の年齢や性別、身長等を認識する。また、監視システムでは、認識した人物の行動や属性からデータ分析を行い(S104)、分析結果に基づき対処等のアクチュエーションを行う(S105)。例えば、認識した行動からアラート表示を行ったり、認識した身長等の属性の人物の監視を行う。
この例にあるように、人物(個人や群衆)の振る舞いや属性を監視カメラの画像や映像から検知したい需要が高まっている。例えば、人物の振る舞いの検知により店舗等の通過人数をカウントした情報等は、混雑把握やマーケティングに活用される。また、人物の属性として推定される身長の情報等は、迷子の探索やマーケティングに活用される。
このような画像認識を行うためには、画像上での物の長さや動きの速さを、実世界上での値に変換する必要がある。そのために、カメラパラメータ(カメラの姿勢や焦点距離等)を活用する手法が利用されている。発明者は、カメラの画像からカメラパラメータを求めるキャリブレーション方法を検討したところ、関連する技術では、煩雑でコストがかかり、また、必ずしも精度よくカメラパラメータを算出することができないという課題を見出した。例えば、3次元の高さが既知の物体を撮像したり、3次元位置が既知の物体の画像中における位置情報等を入力することでカメラパラメータを求めることは可能であるが、そのような物体の準備や情報の入力が煩雑であり、簡易にカメラパラメータを求めることは困難である。また、画像から背景差分等の技術を活用して人物領域を特定し、直立している方向や身長等の情報を用いてカメラパラメータを求める方法は簡便であるが、例えば人物の体の一部が隠れていたりすると、検出された人物の情報からカメラパラメータを求めることができない恐れがある。
そこで、発明者は、カメラキャリブレーションに、機械学習を用いた骨格推定技術を利用する方法を検討した。例えば、非特許文献1に開示されたOpenPose等のように、関連する骨格推定技術では、様々なパターンの正解付けされた画像データを学習することで、人物の骨格を推定する。以下の実施の形態では、このような骨格推定技術を活用することで、コスト削減を図り、また、精度よくカメラパラメータを求めることを可能とする。
なお、OpenPose等の骨格推定技術により推定される骨格構造は、関節等の特徴的な点である「キーポイント」と、キーポイント間のリンクを示す「ボーン(ボーンリンク)」とから構成される。このため、以下の実施の形態では、骨格構造について「キーポイント」と「ボーン」という用語を用いて説明するが、特に限定されない限り、「キーポイント」は人物の「関節」に対応し、「ボーン」は人物の「骨」に対応している。
(実施の形態の概要)
図2は、実施の形態に係るカメラ校正装置10の概要を示している。図2に示すように、カメラ校正装置10は、骨格検出部11、ベクトル算出部12、パラメータ算出部13を備えている。
骨格検出部11は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する。ベクトル算出部12は、骨格検出部11により検出された2次元骨格構造に基づいて、2次元画像における人物の骨格の方向及び大きさを示す骨格ベクトルを算出する。パラメータ算出部13は、ベクトル算出部12により算出された骨格ベクトルに基づいて、カメラのカメラパラメータを算出する。
このように実施の形態では、画像から骨格構造を検出し、この骨格構造から得られた骨格ベクトルに基づいてカメラパラメータを算出することで、必要な情報の入力操作等の手間を抑えることができ、また、精度よくカメラパラメータを求めることができる。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。図3は、本実施の形態に係るカメラ校正装置100の構成を示している。カメラ校正装置100は、カメラ200とともにカメラ校正システム1を構成する。例えば、カメラ校正装置100及びカメラ校正システム1は、図1のような監視システムにおける監視方法に適用され、カメラ校正装置100及びカメラ校正システム1によるカメラパラメータを用いて人物の行動や属性を認識し、その認識結果に応じて、アラームの表示や人物の監視等が行われる。なお、カメラ200をカメラ校正装置100の内部に設けてもよい。
図3に示すように、カメラ校正装置100は、画像取得部101、骨格構造検出部102、ベクトル算出部103、集計部104、カメラパラメータ算出部105、記憶部106を備えている。なお、各部(ブロック)の構成は一例であり、後述の方法(動作)が可能であれば、その他の各部で構成されてもよい。また、カメラ校正装置100は、例えば、プログラムを実行するパーソナルコンピュータやサーバ等のコンピュータ装置で実現されるが、1つの装置で実現してもよいし、ネットワーク上の複数の装置で実現してもよい。
記憶部106は、カメラ校正装置100の動作(処理)に必要な情報(データ)を記憶する。例えば、記憶部106は、フラッシュメモリなどの不揮発性メモリやハードディスク装置等である。記憶部106は、画像取得部101が取得した画像や、骨格構造検出部102が処理した画像、機械学習用のデータ、集計部104が集計したデータ、人物の身長や各骨の長さの統計値(例えば平均値)を記憶する。人物の身長や各骨の長さの統計値は、年代、性別、国籍等の人物の属性ごとに用意してもよい。なお、記憶部106は、外付けやネットワーク上の外部の記憶装置としてもよい。すなわち、カメラ校正装置100は、外部の記憶装置から必要な画像や機械学習用のデータ、人物の身長の統計値等を取得してもよいし、外部の記憶装置に集計結果のデータ等を出力してもよい。
画像取得部101は、通信可能に接続されたカメラ200から、カメラ200が撮像した2次元の画像を取得する。カメラ200は、所定の箇所に設置され、設置個所から撮像領域における人物を撮像する監視カメラ等の撮像部である。画像取得部101は、例えば、所定期間にカメラ200が撮像した、人物を含む複数の画像(映像)を取得する。
骨格構造検出部102は、取得された2次元の画像に基づき、画像内の人物の2次元の骨格構造を検出する。骨格構造検出部102は、機械学習を用いた骨格推定技術を用いて、認識される人物の関節等の特徴に基づき人物の骨格構造を検出する。骨格構造検出部102は、複数の画像のそれぞれにおいて、認識される人物の骨格構造を検出する。骨格構造検出部102は、例えば、非特許文献1のOpenPose等の骨格推定技術を用いる。
ベクトル算出部103は、検出された2次元の骨格構造に基づき、2次元の画像内の人物の骨格ベクトルを算出する。ベクトル算出部103は、検出された複数の画像の複数の骨格構造のそれぞれについて、骨格ベクトルを算出する。骨格ベクトルは、人物の骨格構造の方向(足から頭に向かう方向)及び大きさを示すベクトルである。ベクトルの方向は、2次元画像上の2次元の傾きであり、ベクトルの大きさは、2次元画像上の2次元の長さ(画素数)である。骨格ベクトルは、検出された骨格構造に含まれるボーンに対応したベクトルでもよいし、骨格構造の中心軸に対応したベクトルでもよい。例えば、骨格構造の中心軸は、検出された骨格構造の情報に対しPCA分析(Principal Component Analysis:主成分分析)を行うことで得ることができる。また、骨格ベクトルは、人物の骨格構造の全体に基づいたベクトルでもよいし、人物の骨格構造の一部に基づいたベクトルでもよい。本実施の形態では、人物の骨格構造の一部として、骨格構造の足元(足部)のボーンに基づいた骨格ベクトルを使用する。すなわち、ベクトル算出部103は、検出された骨格構造の情報から足元のボーンの方向及び長さを得ることで、足元の骨格ベクトルを求める。なお、人物の骨格構造の一部として、足元に限らず、その他の部分のボーンの方向及び長さを求めてもよい。骨格ベクトルは、地面に対してより垂直であることが好ましいため、例えば、足元の他に、胴部や頭部のボーンの方向及び長さを使用してもよい。さらに、骨格ベクトルの大きさとして、各部のボーンの長さに限らず、各部のボーン等から推定される身長(全身の長さ)を使用してもよい。
集計部104は、算出された複数の骨格ベクトルを集計する。集計部104は、所定期間に撮像された複数の画像の複数の骨格構造に基づいた複数の骨格ベクトルを集計する。集計部104は、集計処理として、例えば、複数の骨格ベクトルの平均値を求める。すなわち、集計部104は、骨格構造の足元のボーンに基づいた骨格ベクトルの方向及び長さの平均値を求める。なお、骨格ベクトルの平均値に限らず、複数の骨格ベクトルの中間値など、その他の統計値を求めてもよい。
カメラパラメータ算出部105は、集計された骨格ベクトルに基づき、カメラパラメータを算出する。カメラパラメータは、カメラ200の撮像パラメータであり、カメラ200が撮像した2次元の画像内の長さを3次元の実世界の長さに変換するためのパラメータである。例えば、カメラパラメータは、カメラ200の焦点距離等の内部パラメータや、カメラ200の姿勢(撮像角度)、位置等の外部パラメータを含む。カメラパラメータ算出部105は、骨格ベクトルの長さ(地面に対し垂直方向の長さ)と記憶部106の人物の身長や骨の長さの基準値(平均値などの統計値)とに基づいて、カメラパラメータを算出する。カメラパラメータ算出部105は、例えば、特許文献1に記載の校正方法等を用いて、カメラパラメータを算出する。
図4及び図5は、本実施の形態に係るカメラ校正装置100の動作(カメラ校正方法)を示している。図4は、カメラ校正装置100における画像取得からカメラパラメータ算出までの流れを示し、図5は、図4の骨格ベクトル算出処理(S203)の流れを示している。
図4に示すように、カメラ校正装置100は、カメラ200から画像を取得する(S201)。画像取得部101は、カメラパラメータ算出のために人物を撮像した画像を取得する。
続いて、カメラ校正装置100は、取得した人物の画像に基づいて人物の骨格構造を検出する(S202)。図6は、このとき検出する人体モデル300の骨格構造を示しており、図7は、骨格構造の検出例を示している。骨格構造検出部102は、OpenPose等の骨格推定技術を用いて、2次元の画像から図6のような人体モデル(2次元骨格モデル)300の骨格構造を検出する。人体モデル300は、人物の関節等のキーポイントと、各キーポイントを結ぶボーンから構成された2次元モデルである。
骨格構造検出部102は、例えば、画像の中からキーポイントとなり得る特徴点を抽出し、キーポイントの画像を機械学習した情報を参照して、人物の各キーポイントを検出する。図6の例では、人物のキーポイントとして、頭A1、首A2、右肩A31、左肩A32、右肘A41、左肘A42、右手A51、左手A52、右腰A61、左腰A62、右膝A71、左膝A72、右足A81、左足A82を検出する。さらに、これらのキーポイントを連結した人物のボーンとして、頭A1と首A2を結ぶボーンB1、首A2と右肩A31及び左肩A32をそれぞれ結ぶボーンB21及びボーンB22、右肩A31及び左肩A32と右肘A41及び左肘A42をそれぞれ結ぶボーンB31及びボーンB32、右肘A41及び左肘A42と右手A51及び左手A52をそれぞれ結ぶボーンB41及びボーンB42、首A2と右腰A61及び左腰A62をそれぞれ結ぶボーンB51及びボーンB52、右腰A61及び左腰A62と右膝A71及び左膝A72をそれぞれ結ぶボーンB61及びボーンB62、右膝A71及び左膝A72と右足A81及び左足A82をそれぞれ結ぶボーンB71及びボーンB72を検出する。
図7は、直立した状態の人物を検出する例であり、直立した人物が正面から撮像されている。図7では、正面から見た頭のボーンB1から足元のボーンB71及びボーンB72までの全てのボーンが検出されている。この例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がっている。
続いて、カメラ校正装置100は、検出された骨格構造に基づいて骨格ベクトル算出処理を行う(S203)。骨格ベクトル算出処理では、図5に示すように、ベクトル算出部103は、足元のボーンの長さ及び方向を取得し(S211)、足元の骨格ベクトルを算出する(S212)。ベクトル算出部103は、2次元の画像上の人物の足元のボーンの長さ(画素数)及び方向(傾き)を取得し、足元の骨格ベクトルを求める。
例えば、図7に示すように、骨格構造を検出した画像から、全身のボーンのうちの足元のボーンとして、ボーンB71(長さL41)とボーンB72(長さL42)の各長さ及び方向を取得する。各ボーンの長さ及び方向は、2次元の画像における各キーポイントの座標から求めることができる。右足側のボーンB71と左足側のボーンB72の両方の長さ及び方向を取得してもよいし、いずれか一方のボーンの長さ及び方向を取得してもよい。一方のボーンの長さ及び方向のみを算出できる場合、算出したボーンの長さ及び方向を骨格ベクトルとする。また、両方のボーンの長さ及び方向を算出できる場合、算出したボーンの長さ及び方向の中心軸を骨格ベクトルとしてもよいし、いずれか一方のボーンの長さ及び方向を選択して骨格ベクトルとしてもよい。例えば、PCA分析により求めた中心軸や2つのベクトルの平均を骨格ベクトルとしてもよいし、長い方のベクトルを骨格ベクトルとしてもよい。
図7の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、右足のボーンB71よりも左足のボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB71(キーポイントA71~A81)とボーンB72(キーポイントA72~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対して垂直な左足側のボーンB72(キーポイントA72~A82)の長さ及び方向を骨格ベクトルとする。
続いて、図4に示すように、カメラ校正装置100は、算出された複数の骨格ベクトルを集計し(S204)、データが十分得られるまで(S205)、画像取得から骨格ベクトルの集計を繰り返す(S201~S204)。集計部104は、例えば、図8に示すように、画像における複数の場所で検出される人物の骨格構造から、骨格ベクトルをそれぞれ集計する。図8の例では、画像の中央で複数の人物が通行しており、歩いている複数の人物の骨格構造から、地面に対し略垂直となる足元の骨格ベクトルを検出し、それらを集計する。
集計部104は、図8のような画像に対し、図9に示すように複数の集計領域に分割し、集計領域ごとに骨格ベクトルを集計する。例えば、集計領域は、画像を縦方向及び横方向に所定の間隔で分割した矩形領域である。集計領域は、矩形に限らず、任意の形状としてもよい。集計領域は、画像の背景を考慮せずに所定の間隔で分割されている。なお、集計領域は、画像の背景や集計データの量等を考慮して分割してもよい。例えば、画像と実世界の大きさの関係に対応するように、撮像距離に応じて、カメラに近い領域(画像の下側)よりも、カメラに遠い領域(画像の上側)を小さくしてもよい。また、集計されるデータの量に応じて、骨格ベクトルが少ない領域よりも、骨格ベクトルが多い領域を小さくしてもよい。
例えば、集計領域の中に足元(例えば足の下端)が検出されている人物の骨格ベクトルを、集計領域ごとに集計する。足元以外が検出されている場合、足元以外を集計の基準としてもよい。例えば、集計領域の中に頭部や胴部が検出されている人物の骨格ベクトルを、集計領域ごとに集計してもよい。
カメラパラメータを精度よく算出するためには、複数の集計領域において骨格ベクトルを検出し、それぞれの領域の骨格ベクトルを集計することが好ましい。より多くの集計領域の骨格ベクトルを用いることで、より多くのカメラパラメータを求めることができる。例えば、3以上の領域の骨格ベクトルにより、姿勢、位置、焦点距離等の全てのカメラパラメータを求めることができる。また、集計領域ごとに、より多くの骨格ベクトルを集計することで、カメラパラメータの算出精度を向上することができる。例えば、集計領域ごとに3~5の骨格ベクトルを集計し、平均を求めることが好ましい。複数の骨格ベクトルの平均を求めることで、集計領域における地面に対しより垂直方向のベクトルを得ることができる。集計領域及び集計データを増やすことにより、算出精度を向上できるものの、算出処理に時間やコストを要する。集計領域及び集計データを減らすことにより、簡易に算出できるものの、算出精度が低下し得る。このため、必要とする算出精度とかかるコストを考慮して集計領域及び集計データの数を決めることが好ましい。
続いて、図4のように、カメラ校正装置100は、十分にデータが集計されると、集計された骨格ベクトルに基づいて、カメラパラメータを算出する(S206)。カメラパラメータ算出部105は、2次元の画像内の長さとして足元の骨格ベクトルの長さを用い、3次元の実世界の長さとして人物の足元の骨の長さの平均値を用いて、カメラパラメータを求める。すなわち、2次元の画像における足元の骨格ベクトルの長さの集計値が、3次元の実世界における足元の骨の長さの平均値と等しいものとして、カメラパラメータを求める。なお、参照する平均値は、人物の一般的な平均値であるが、例えば、年代、性別、国籍等の人物の属性に応じて選択してもよい。例えば、撮像した画像に人物の顔が写っている場合、顔に基づいて人物の属性を識別し、識別した属性に対応する平均値を参照する。属性ごとの顔を機械学習した情報を参照し、画像の顔の特徴から人物の属性を認識することができる。また、画像から人物の属性が識別できない場合に、一般的な平均値を用いてもよい。
例えば、特許文献1に記載された方法と同様に、骨格ベクトルを地面(基準面)に対する垂直な投影用平面に投影し、投影された骨格ベクトルの地面に対する垂直性に基づいて、カメラパラメータを求める。投影用平面に投影された骨格ベクトルの垂直性を評価することで、カメラの姿勢(回転行列)を求めることができる。また、カメラの姿勢を用いて、2次元画像の骨格ベクトルを3次元空間に投影した長さと、3次元の実世界における身長や骨の長さ(この例では足の骨の長さ)の平均値との差から、カメラの位置(並進行列)や焦点距離を求めることができる。
以上のように、本実施の形態では、2次元画像から人物の骨格構造を検出し、検出した骨格構造の一部である足元等のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。人物の骨格構造を検出して、自動でキャリブレーションを行うため、手動で情報を外部から入力する必要がなく、簡易にカメラパラメータを算出することができ、キャリブレーションにかかるコストを削減することができる。また、機械学習を用いた骨格推定技術により、少なくとも骨格ベクトルに必要な骨格を検出できればよいため、必ずしも人物の全体が画像に写っていない場合でも精度よくカメラパラメータを算出することができる。
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、実施の形態1の骨格ベクトル算出処理において、人物の骨格構造の一部として、複数のボーンに基づいて骨格ベクトルを求める。その他については、実施の形態1と同様である。
図10は、本実施の形態に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。本実施の形態の骨格ベクトル算出処理では、図10に示すように、ベクトル算出部103は、足元から胴のボーンの長さ及び方向を取得し(S301)、足元から胴の骨格ベクトルを算出する(S302)。なお、この例では、複数のボーンとして、足元(足部)から胴(胴部)のボーンに基づいて骨格ベクトルを求めるが、その他、胴(胴部)から頭部のボーン等に基づいて骨格ベクトルを求めてもよい。
例えば、図11に示すように、骨格構造を検出した画像から、全身のボーンのうちの足元から胴のボーンとして、ボーンB51(長さL21)、ボーンB61(長さL31)及びボーンB71(長さL41)と、ボーンB52(長さL22)、ボーンB62(長さL32)及びボーンB72(長さL42)の各長さ(画素数)及び方向を取得する。
それぞれのボーンの長さを合計した、L21+L31+L41とL22+L32+L42を体の右側と体の左側の全体の長さとしてもよいし、胴のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の長さをそれぞれの全体の長さとしてもよい。方向の求め方についても、体の右側の各ボーンの方向の平均(中心軸)と体の左側の各ボーンの平均を用いてもよいし、胴のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の方向を用いてもよい。
実施の形態1と同様、体の右側のボーンB51、ボーンB61及びボーンB71と体の左側のボーンB52、ボーンB62及びボーンB72の両方の長さ及び方向を取得してもよいし、いずれか一方の側のボーンの長さ及び方向を取得してもよい。一方の側のボーンの長さ及び方向のみを算出できる場合、算出したボーンの長さ及び方向を骨格ベクトルとする。両方の側のボーンの長さ及び方向を算出できる場合、算出したボーンの長さ及び方向の中心軸を骨格ベクトルとしてもよいし、いずれか一方の側のボーンの長さ及び方向を選択して骨格ベクトルとしてもよい。
図11の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、体の右側のボーンB51、ボーンB61及びボーンB71よりも体の左側のボーンB52、ボーンB62及びボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB51、ボーンB61及びボーンB71(キーポイントA2~A81)とボーンB52、ボーンB62及びボーンB72(キーポイントA2~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対し垂直な体の左側のボーンB52、ボーンB62及びボーンB72(キーポイントA2~A82)のベクトルを骨格ベクトルとする。
このように、本実施の形態では、検出した骨格構造の一部である足元から胴等のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。実施の形態1のように足元等の1つのボーンのみから骨格ベクトルを求めると、骨格ベクトルが地面に対し傾いている場合がある。これに対し、本実施の形態のように、足元から胴等の複数のボーンから骨格ベクトルを求めることで、骨格ベクトルを地面に対してより垂直にできるため、より精度よくカメラパラメータを求めることができる。
(実施の形態3)
次に、実施の形態3について説明する。本実施の形態では、実施の形態1の骨格ベクトル算出処理において、人物の骨格構造の全体(全身の骨格構造)に基づいて全身の骨格ベクトルを求める。その他については、実施の形態1と同様である。以下、人物の全身の長さ(身長画素数と言う)を全身の骨格ベクトルの長さとする具体例1~3について説明する。
(具体例1)
本実施の形態の具体例1では、頭部から足部までのボーンに基づいて全身の骨格ベクトルを求める。特に、頭部から足部までのボーンの長さを用いて身長画素数を求める。
図12は、具体例1に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例1の骨格ベクトル算出処理では、図12に示すように、ベクトル算出部103は、全身の各ボーンの長さ及び方向を取得し(S401)、取得した各ボーンの長さを合計し(S402)、合計した身長画素数を用いて全身の骨格ベクトルを算出する(S403)。
例えば、図13に示すように、骨格構造を検出した画像から、全身の各ボーンとして、ボーンB1(長さL1)、ボーンB51(長さL21)、ボーンB61(長さL31)及びボーンB71(長さL41)と、ボーンB1(長さL1)、ボーンB52(長さL22)、ボーンB62(長さL32)及びボーンB72(長さL42)の各長さ(画素数)及び方向を取得する。
実施の形態2と同様、それぞれのボーンの長さを合計した、L1+L21+L31+L41とL1+L22+L32+L42を体の右側側と体の左側の全体の長さ(身長画素数)としてもよいし、頭のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の長さをそれぞれの全体の長さとしてもよい。方向の求め方についても、実施の形態2と同様、体の右側の各ボーンの方向の平均(中心軸)と体の左側の各ボーンの平均を用いてもよいし、頭のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の方向を用いてもよい。
実施の形態1及び2と同様、体の右側のボーンB1、ボーンB51、ボーンB61及びボーンB71と体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72の両方の長さ及び方向を用いて骨格ベクトルとしてもよいし、いずれか一方の側のボーンの長さ及び方向を用いて骨格ベクトルとしてもよい。
図13の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、体の右側のボーンB1、ボーンB51、ボーンB61及びボーンB71よりも体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB1、ボーンB51、ボーンB61及びボーンB71(キーポイントA1~A81)とボーンB1、ボーンB52、ボーンB62及びボーンB72(キーポイントAA1~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対して垂直な体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72(キーポイントAA1~A82)のベクトルを骨格ベクトルとする。
(具体例2)
本実施の形態の具体例2では、骨格構造の一部のボーンに基づいて全身の骨格ベクトルを求める。特に、2次元骨格構造に含まれる骨の長さと2次元画像空間上の人物の全身の長さとの関係を示す2次元骨格モデルを用いて身長画素数を求める。
図14は、具体例2で用いる、2次元画像空間上の各ボーンの長さと2次元画像空間上の全身の長さとの関係を示す人体モデル(2次元骨格モデル)301である。図14に示すように、平均的な人物の各ボーンの長さと全身の長さとの関係(全身の長さに対する各ボーンの長さの割合)を、人体モデル301の各ボーンに対応付ける。例えば、頭のボーンB1の長さは全身の長さ×0.2(20%)であり、右手のボーンB41の長さは全身の長さ×0.15(15%)であり、右足のボーンB71の長さは全身の長さ×0.25(25%)である。このような人体モデル301の情報を記憶部106に記憶しておくことで、各ボーンの長さから平均的な全身の長さ(画素数)を求めることができる。平均的な人物の人体モデルの他に、年代、性別、国籍等の人物の属性ごとに人体モデルを用意してもよい。これにより、人物の属性に応じて適切に全身の長さ(身長)を求めることができる。
図15は、具体例2に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例2の骨格ベクトル算出処理では、図15に示すように、ベクトル算出部103は、各ボーンの長さ及び方向を取得する(S411)。ベクトル算出部103は、具体例1と同様に検出された骨格構造において、全てのボーンの長さ(2次元画像空間上の長さ)及び方向を取得する。
図16は、しゃがみ込んでいる状態の人物を右斜め後ろから撮像し、骨格構造を検出した例である。この例では、人物の顔や左側面が写っていないことから、頭のボーンと左腕及び左手のボーンが検出できていない。このため、検出されているボーンB21、B22、B31、B41、B51、B52、B61、B62、B71、B72の各長さ及び方向を取得する。
続いて、ベクトル算出部103は、人体モデルに基づき、各ボーンの長さから身長画素数を算出する(S412)。ベクトル算出部103は、図14のような、各ボーンと全身の長さとの関係を示す人体モデル301を参照し、各ボーンの長さから身長画素数を求める。例えば、右手のボーンB41の長さが全身の長さ×0.15であるため、ボーンB41の長さ/0.15によりボーンB41に基づいた身長画素数を求める。また、右足のボーンB71の長さが全身の長さ×0.25であるため、ボーンB71の長さ/0.25によりボーンB71に基づいた身長画素数を求める。
このとき参照する人体モデルは、例えば、平均的な人物の人体モデルであるが、年代、性別、国籍等の人物の属性に応じて人体モデルを選択してもよい。例えば、撮像した画像に人物の顔が写っている場合、顔に基づいて人物の属性を識別し、識別した属性に対応する人体モデルを参照する。属性ごとの顔を機械学習した情報を参照し、画像の顔の特徴から人物の属性を認識することができる。また、画像から人物の属性が識別できない場合に、平均的な人物の人体モデルを用いてもよい。
続いて、ベクトル算出部103は、身長画素数の最適値を算出する(S413)。ベクトル算出部103は、ボーンごとに求めた身長画素数から身長画素数の最適値を算出する。例えば、図17に示すような、ボーンごとに求めた身長画素数のヒストグラムを生成し、その中で大きい身長画素数を選択する。つまり、複数のボーンに基づいて求められた複数の身長画素数の中で他よりも長い身長画素数を選択する。例えば、上位30%を有効な値とし、図17ではボーンB71、B61、B51による身長画素数を選択する。選択した身長画素数の平均を最適値として求めてもよいし、最も大きい身長画素数を最適値としてもよい。2次元画像のボーンの長さから身長を求めるため、ボーンを正面から撮像できていない場合、すなわち、ボーンがカメラから見て奥行き方向に傾いて撮像された場合、ボーンの長さが正面から撮像した場合よりも短くなる。そうすると、身長画素数が大きい値は、身長画素数が小さい値よりも、正面から撮像された可能性が高く、より尤もらしい値となることから、より大きい値を最適値とする。
続いて、ベクトル算出部103は、求めた身長画素数に基づいて、全身の骨格ベクトルを算出する(S414)。ベクトル算出部103は、具体例1と同様、S413で求めた身長画素数の最適値を骨格ベクトルの長さとする。方向についても、具体例1と同様、検出された複数のボーンの中心軸(平均)を用いてもよいし、検出されたボーンのうち最も高い座標と、検出されたボーンのうち最も低い座標とを結ぶ線の方向を用いてもよい。
(具体例3)
本実施の形態の具体例3では、2次元骨格構造を3次元人体モデル(3次元骨格モデル)にフィッティングさせて、フィッティングした3次元人体モデルの身長画素数を用いて全身の骨格ベクトルを求める。
図18は、具体例3に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例3の骨格ベクトル算出処理では、図18に示すように、ベクトル算出部103は、3次元人体モデルの配置及び高さを調整する(S421)。
ベクトル算出部103は、具体例1と同様に検出された2次元骨格構造に対し、身長画素数算出用の3次元人体モデルを用意し、仮のカメラパラメータに基づいて、同じ2次元画像内に配置する。具体的には、仮のカメラパラメータに基づいて3次元人体モデルを2次元に投影した画像を作成する。そして、本画像を回転、拡大、縮小して2次元骨格構造と重ね合わせる。
図19は、しゃがみ込んでいる人物を左斜め前から撮像し、2次元骨格構造401を検出した例である。2次元骨格構造401は、2次元の座標情報を有する。なお、全てのボーンを検出していることが好ましいが、一部のボーンが検出されていなくてもよい。この2次元骨格構造401に対し、図20のような、3次元人体モデル402を用意する。3次元人体モデル(3次元骨格モデル)402は、3次元の座標情報を有し、2次元骨格構造401と同じ形状の骨格のモデルである。そして、図21のように、検出した2次元骨格構造401に対し、用意した3次元人体モデル402を配置し重ね合わせる。また、重ね合わせるとともに、3次元人体モデル402の高さを2次元骨格構造401に合うように調整する。
なお、このとき用意する3次元人体モデル402は、図21のように、2次元骨格構造401の姿勢に近い状態のモデルでもよいし、直立した状態のモデルでもよい。例えば、機械学習を用いて2次元画像から3次元空間の姿勢を推定する技術を用いて、推定した姿勢の3次元人体モデル402を生成してもよい。2次元画像の関節と3次元空間の関節の情報を学習することで、2次元画像から3次元の姿勢を推定することができる。
続いて、ベクトル算出部103は、3次元人体モデルを2次元骨格構造にフィッティングする(S422)。ベクトル算出部103は、図22のように、3次元人体モデル402を仮のカメラパラメータに基づいて2次元画像に投影し、本画像を拡大、縮小、回転させて2次元骨格構造401に重ね合わせた状態で、3次元人体モデル402と2次元骨格構造401の姿勢が一致するように、仮のカメラパラメータ及び3次元人体モデル402を変化させる。すなわち、仮のカメラパラメータのうち、カメラの俯角に影響するパラメータや、3次元人体モデル402の身長、体の向き、関節の角度を調整し、2次元骨格構造401との差異がなくなるように最適化する。例えば、3次元人体モデル402の関節を、人の可動範囲で回転させていき、また、3次元人体モデル402の全体を回転させたり、全体のサイズを調整する。なお、3次元人体モデルと2次元骨格構造のフィッティング(あてはめ)は、2次元空間(2次元座標)上で行う。すなわち、2次元空間に3次元人体モデルを写像し、変形させた3次元人体モデルが2次元空間(画像)でどのように変化するかを考慮して、3次元人体モデルを2次元骨格構造に最適化する。
続いて、ベクトル算出部103は、フィッティングさせた3次元人体モデルの身長画素数を算出し(S423)、求めた身長画素数に基づいて、全身の骨格ベクトルを算出する(S424)。ベクトル算出部103は、図23のように、3次元人体モデル402と2次元骨格構造401の差異がなくなり、姿勢が一致すると、その状態の3次元人体モデル402の身長画素数を求める。例えば、3次元人体モデル402を直立させた場合の頭から足までのボーンの長さ(画素数)により身長画素数を算出する。具体例1と同様に、3次元人体モデル402の頭部から足部までのボーンの長さを合計してもよい。さらに、ベクトル算出部103は、具体例1や2と同様、求めた身長画素数を骨格ベクトルの長さにするとともに、骨格ベクトルの方向を求める。
以上のように、本実施の形態では、検出した骨格構造の全身のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。全身の骨格ベクトルを求めることで、骨格ベクトルを地面に対してさらに垂直にできるため、さらに精度よくカメラパラメータを求めることができる。また、具体例1では、頭から足までのボーンの長さを合計することで全身の長さを求めることができるため、簡易な方法でカメラパラメータを算出することができる。
また、具体例2では、2次元画像空間上のボーンと全身の長さとの関係を示す人体モデルを用いて、検出した骨格構造のボーンに基づき全身の長さを求めることができるため、頭から足までの全ての骨格が得られない場合でも、一部のボーン(骨)からカメラパラメータを算出することができる。特に、複数のボーン(骨)から求められた身長(身長画素数)のうち、より大きい値を採用することで、精度よくカメラパラメータを算出することができる。
さらに、具体例3では、仮のカメラパラメータに基づいて3次元人体モデルを2次元骨格構造にフィッティングさせて、その3次元人体モデルに基づいて身長画素数を求めることで、全てのボーン(骨)が正面に写っていない場合、すなわち、全てのボーン(骨)が斜めに映っているため誤差が大きい場合でも、精度よく身長を推定し、カメラパラメータを算出することができる。なお、具体例1~3の方法が適用可能な場合、全ての方法(またはいずれかを組み合わせた方法)を用いて、身長画素数の平均値を求めてもよい。
なお、上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。カメラ校正装置10及び100の機能(処理)を、図24に示すような、CPU(Central Processing Unit)等のプロセッサ21及び記憶装置であるメモリ22を有するコンピュータ20により実現してもよい。例えば、メモリ22に実施形態における方法を行うためのプログラム(カメラ校正プログラム)を格納し、各機能を、メモリ22に格納されたプログラムをプロセッサ21で実行することにより実現してもよい。
これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記では人物の画像からカメラパラメータを求めたが、骨格構造を有する人物以外の動物(哺乳類、爬虫類、鳥類、両生類、魚類等)の画像からカメラパラメータを求めてもよい。
以上、実施の形態を参照して本開示を説明したが、本開示は上記実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、
前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、
前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、
を備える、カメラ校正装置。
(付記2)
前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
付記1に記載のカメラ校正装置。
(付記3)
前記骨格ベクトルは、前記2次元骨格構造の一部に基づいたベクトルである、
付記1または2に記載のカメラ校正装置。
(付記4)
前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部、胴部、又は頭部の骨に基づいて、前記骨格ベクトルを算出する、
付記3に記載のカメラ校正装置。
(付記5)
前記ベクトル算出手段は、前記骨格ベクトルは、前記2次元骨格構造に含まれる足部から胴部、又は胴部から頭部の骨に基づいて、前記骨格ベクトルを算出する、
付記3に記載のカメラ校正装置。
(付記6)
前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
付記1または2に記載のカメラ校正装置。
(付記7)
前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部から頭部までの骨の長さの合計に基づいて、前記骨格ベクトルを算出する、
付記6に記載のカメラ校正装置。
(付記8)
前記ベクトル算出手段は、前記2次元骨格構造に含まれる骨の長さと2次元画像空間上の前記人物の全身の長さとの関係を示す2次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
付記6に記載のカメラ校正装置。
(付記9)
前記ベクトル算出手段は、前記2次元骨格構造にフィッティングさせた3次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
付記6に記載のカメラ校正装置。
(付記10)
前記算出された骨格ベクトルを集計する集計手段をさらに備え、
前記パラメータ算出手段は、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
付記1乃至9のいずれかに記載のカメラ校正装置。
(付記11)
前記集計手段は、前記2次元画像を分割した領域ごとに、前記骨格ベクトルを集計する、
付記10に記載のカメラ校正装置。
(付記12)
前記パラメータ算出手段は、前記算出された骨格ベクトルと前記人物の骨格の基準値とに基づいて、前記カメラパラメータを算出する、
付記1乃至11のいずれかに記載のカメラ校正装置。
(付記13)
前記基準値は、前記人物の身長又は骨の長さの統計値である、
付記12に記載のカメラ校正装置。
(付記14)
前記基準値は、前記人物の属性に対応した値である、
付記12又は13に記載のカメラ校正装置。
(付記15)
カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
カメラ校正方法。
(付記16)
前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
付記15に記載のカメラ校正方法。
(付記17)
カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
処理をコンピュータに実行させるためのカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体。
(付記18)
前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
付記17に記載の非一時的なコンピュータ可読媒体。
1 カメラ校正システム
10 カメラ校正装置
11 骨格検出部
12 ベクトル算出部
13 パラメータ算出部
20 コンピュータ
21 プロセッサ
22 メモリ
100 カメラ校正装置
101 画像取得部
102 骨格構造検出部
103 ベクトル算出部
104 集計部
105 カメラパラメータ算出部
106 記憶部
200 カメラ
300、301 人体モデル
401 2次元骨格構造
402 3次元人体モデル

Claims (18)

  1. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、
    を備え、
    前記算出された骨格ベクトルを集計する集計手段をさらに備え、
    前記パラメータ算出手段は、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
    カメラ校正装置。
  2. 前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
    請求項1に記載のカメラ校正装置。
  3. 前記骨格ベクトルは、前記2次元骨格構造の一部に基づいたベクトルである、
    請求項1または2に記載のカメラ校正装置。
  4. 前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部、胴部、又は頭部の骨に基づいて、前記骨格ベクトルを算出する、
    請求項3に記載のカメラ校正装置。
  5. 前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部から胴部、又は胴部から頭部の骨に基づいて、前記骨格ベクトルを算出する、
    請求項3に記載のカメラ校正装置。
  6. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、
    を備え、
    前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
    メラ校正装置。
  7. 前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部から頭部までの骨の長さの合計に基づいて、前記骨格ベクトルを算出する、
    請求項6に記載のカメラ校正装置。
  8. 前記ベクトル算出手段は、前記2次元骨格構造に含まれる骨の長さと2次元画像空間上の前記人物の全身の長さとの関係を示す2次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
    請求項6に記載のカメラ校正装置。
  9. 前記ベクトル算出手段は、前記2次元骨格構造にフィッティングさせた3次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
    請求項6に記載のカメラ校正装置。
  10. 前記集計手段は、前記2次元画像を分割した領域ごとに、前記骨格ベクトルを集計する、
    請求項1乃至5のいずれか一項に記載のカメラ校正装置。
  11. 前記パラメータ算出手段は、前記算出された骨格ベクトルと前記人物の骨格の基準値とに基づいて、前記カメラパラメータを算出する、
    請求項1乃至10のいずれか一項に記載のカメラ校正装置。
  12. 前記基準値は、前記人物の身長又は骨の長さの統計値である、
    請求項11に記載のカメラ校正装置。
  13. 前記基準値は、前記人物の属性に対応した値である、
    請求項11又は12に記載のカメラ校正装置。
  14. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出
    さらに、前記算出された骨格ベクトルを集計し、
    前記カメラパラメータの算出では、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
    カメラ校正方法。
  15. 前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
    請求項14に記載のカメラ校正方法。
  16. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出し、
    前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
    カメラ校正方法。
  17. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出
    さらに、前記算出された骨格ベクトルを集計し、
    前記カメラパラメータの算出では、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
    処理をコンピュータに実行させるためのカメラ校正プログラム。
  18. カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
    前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
    前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出し、
    前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
    処理をコンピュータに実行させるためのカメラ校正プログラム。
JP2021555634A 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラム Active JP7420146B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/044145 WO2021095095A1 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2021095095A1 JPWO2021095095A1 (ja) 2021-05-20
JPWO2021095095A5 JPWO2021095095A5 (ja) 2022-06-21
JP7420146B2 true JP7420146B2 (ja) 2024-01-23

Family

ID=75911891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021555634A Active JP7420146B2 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラム

Country Status (3)

Country Link
US (1) US20240104776A1 (ja)
JP (1) JP7420146B2 (ja)
WO (1) WO2021095095A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123667A (ja) 2010-12-09 2012-06-28 Panasonic Corp 姿勢推定装置および姿勢推定方法
JP2014501011A (ja) 2011-01-03 2014-01-16 エクストリーム リアリティー エルティーディー. 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム
JP2019079487A (ja) 2017-10-25 2019-05-23 日本電信電話株式会社 パラメータ最適化装置、パラメータ最適化方法、プログラム
JP2019102877A (ja) 2017-11-29 2019-06-24 富士通株式会社 カメラの外部パラメータの推定方法、推定装置および推定プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123667A (ja) 2010-12-09 2012-06-28 Panasonic Corp 姿勢推定装置および姿勢推定方法
JP2014501011A (ja) 2011-01-03 2014-01-16 エクストリーム リアリティー エルティーディー. 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム
JP2019079487A (ja) 2017-10-25 2019-05-23 日本電信電話株式会社 パラメータ最適化装置、パラメータ最適化方法、プログラム
JP2019102877A (ja) 2017-11-29 2019-06-24 富士通株式会社 カメラの外部パラメータの推定方法、推定装置および推定プログラム

Also Published As

Publication number Publication date
JPWO2021095095A1 (ja) 2021-05-20
US20240104776A1 (en) 2024-03-28
WO2021095095A1 (ja) 2021-05-20

Similar Documents

Publication Publication Date Title
CN107256377B (zh) 用于检测视频中的对象的方法、设备和系统
US8179440B2 (en) Method and system for object surveillance and real time activity recognition
US9031286B2 (en) Object detection device and object detection method
US8300892B2 (en) Moving object detection apparatus and moving object detection method
JP6525635B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20220383653A1 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium storing image processing program
JP5035467B2 (ja) 立体性認証方法、立体性認証装置および立体性認証プログラム
JP2012123667A (ja) 姿勢推定装置および姿勢推定方法
JP7197011B2 (ja) 身長推定装置、身長推定方法及びプログラム
JP7173341B2 (ja) 人物状態検出装置、人物状態検出方法及びプログラム
WO2021229751A1 (ja) 画像選択装置、画像選択方法、およびプログラム
JP7396364B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP7420146B2 (ja) カメラ校正装置、カメラ校正方法及びカメラ校正プログラム
JP7435781B2 (ja) 画像選択装置、画像選択方法、及びプログラム
WO2022079794A1 (ja) 画像選択装置、画像選択方法、及びプログラム
WO2022009279A1 (ja) 画像選択装置、画像選択方法、及びプログラム
JP6546057B2 (ja) 複数のカメラ間での人物の追跡装置、追跡方法及びプログラム
JP7283571B2 (ja) 人物状態検出装置、人物状態検出方法及びプログラム
US20200226788A1 (en) Information processing apparatus, information processing method, and program
WO2022249278A1 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2021229750A1 (ja) 画像選択装置、画像選択方法、およびプログラム
Bhanu et al. Model-based human recognition—2D and 3D gait
JP7375921B2 (ja) 画像分類装置、画像分類方法、およびプログラム
WO2021234935A1 (ja) 画像選択装置、画像選択方法、およびプログラム
JP7152651B2 (ja) プログラム、情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231225

R151 Written notification of patent or utility model registration

Ref document number: 7420146

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151