JP2021189946A - 検出装置、検出方法及び検出プログラム - Google Patents

検出装置、検出方法及び検出プログラム Download PDF

Info

Publication number
JP2021189946A
JP2021189946A JP2020096895A JP2020096895A JP2021189946A JP 2021189946 A JP2021189946 A JP 2021189946A JP 2020096895 A JP2020096895 A JP 2020096895A JP 2020096895 A JP2020096895 A JP 2020096895A JP 2021189946 A JP2021189946 A JP 2021189946A
Authority
JP
Japan
Prior art keywords
vector
camera
image plane
image
person
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.)
Pending
Application number
JP2020096895A
Other languages
English (en)
Inventor
学 中野
Manabu Nakano
哲夫 井下
Tetsuo Ishita
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
Priority to JP2020096895A priority Critical patent/JP2021189946A/ja
Publication of JP2021189946A publication Critical patent/JP2021189946A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】2次元の画像から人物の社会的距離を検出することが可能な検出装置、検出方法及び検出プログラムを提供する。【解決手段】検出装置10は、カメラにより撮像された2次元の画像に基づいて、画像に含まれる人物の骨格情報を推定する推定部11と、推定された人物の骨格情報に基づいて、カメラのカメラパラメータを算出する算出部12と、算出されたカメラパラメータを用いて、人物の社会的距離を検出する検出部13と、を備える。【選択図】図1

Description

本発明は、検出装置、検出方法及び検出プログラムに関する。
新型コロナウイルス感染症の感染が世界中に広がっており、社会や経済へ大きな影響を及ぼしている。新型コロナウイルス感染症などの感染経路の一つである飛沫感染を防ぐため、人と人の間の物理的距離である社会的距離(ソーシャルディスタンス)を確保することが必要とされている。
関連する技術として、例えば、特許文献1が知られている。特許文献1には、通行人行動解析システムにおいて、空間内を通行する通行人の位置座標を求めて、通行人同士の接近距離や混雑度等を算出することが記載されている。その他、カメラキャリブレーションに関連する技術として、特許文献2や3が知られている。
特開2005−346617号公報 特許第6011548号公報 国際公開第2015/045834号
上記特許文献1に記載の技術によれば、空間内の人物の位置座標から人物間の距離を算出することができ得る。しかしながら、特許文献1などの関連する技術では、距離画像を入力することが前提となっているため、2次元の画像(画像平面)から人物の位置及び距離を算出することが考慮されていない。このため、特許文献1などの関連する技術では、2次元の画像から人物の社会的距離を検出することは困難であるという問題がある。
本開示は、このような課題に鑑み、2次元の画像から人物の社会的距離を検出することが可能な検出装置、検出方法及び検出プログラムを提供することを目的とする。
本開示に係る検出装置は、カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定する推定部と、前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出する算出部と、前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する検出部と、を備えるものである。
本開示に係る検出方法は、カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出するものである。
本開示に係る検出プログラムは、カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する、処理をコンピュータに実行させるための検出プログラムである。
本開示によれば、2次元の画像から人物の社会的距離を検出することが可能な検出装置、検出方法及び検出プログラムを提供することができる。
実施の形態に係る検出装置の概要を示す構成図である。 実施の形態1に係る社会的距離分析システムの構成を示す構成図である。 実施の形態1に係る社会的距離分析装置の動作を示すフローチャートである。 実施の形態1に係る社会的距離分析装置が処理する画像の例を示す図である。 実施の形態1に係る関節検出処理の検出例を示す図である。 実施の形態1に係る危険性判定処理を示すフローチャートである。 実施の形態1に係る判定結果表示処理を示すフローチャートである。 実施の形態1に係る社会的距離分析装置の表示例を示す図である。 実施の形態1に係る社会的距離分析装置の表示例を示す図である。 実施の形態2に係るカメラ座標系と世界座標系との関係を示す図である。 実施の形態2に係るカメラキャリブレーション部の構成を示す構成図である。 実施の形態2に係るカメラキャリブレーション部の動作を示すフローチャートである。 実施の形態3に係る社会的距離分析装置の動作を示すフローチャートである。 実施の形態4に係る社会的距離分析装置の動作を示すフローチャートである。 実施の形態5に係るカメラ座標系と世界座標系との関係を示す図である。 実施の形態5に係るカメラキャリブレーション部の構成を示す構成図である。 実施の形態5に係るカメラキャリブレーション部の動作を示すフローチャートである。 実施の形態6に係る社会的距離分析装置の動作を示すフローチャートである。 実施の形態7に係る社会的距離分析装置の動作を示すフローチャートである。 実施の形態に係るコンピュータのハードウェアの概要を示す構成図である。
以下、図面を参照して実施の形態について説明する。各図面においては、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略される。
(実施の形態の概要)
図1は、実施の形態に係る検出装置の概要を示している。図1に示すように、実施の形態に係る検出装置10は、推定部11、算出部12、検出部13を備えている。
推定部11は、カメラにより撮像された2次元の画像に基づいて、画像に含まれる人物の骨格情報を推定する。算出部12は、推定された人物の骨格情報に基づいて、カメラのカメラパラメータを算出する。検出部13は、算出されたカメラパラメータを用いて、人物の社会的距離を検出する。
このように、実施の形態では、2次元の画像から人物の骨格情報を推定し、推定した人物の骨格情報に基づいてカメラパラメータを算出し、カメラパラメータを用いて人物の社会的距離を検出する。これにより、2次元の画像平面の情報のみから人物の社会的距離を検出することができる。特に、画像から推定される人物の骨格情報に基づいてカメラパラメータを算出することで、カメラパラメータを精度よく算出することができ、社会的距離の検出精度を向上することが可能となる。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。図2は、本実施の形態に係る社会的距離分析システム1の構成例を示している。社会的距離分析システム1は、カメラの映像から歩行等している人物間に社会的距離が取られているかを計測し、計測結果を表示することで、公共空間等における感染症の感染拡大を防ぐためのシステムである。図2に示すように、社会的距離分析システム1は、社会的距離分析装置100及びカメラ200を備えている。
カメラ200は、所定の監視位置等に設置され、監視空間(撮像空間)の人物を撮像する監視カメラ等の撮像部である。カメラ200は、向きと設置箇所が固定されたカメラでもよいし、PTZ(Pan Tilt Zoom)カメラのように向きが変更可能なカメラでもよいし、ドローン等の移動体に搭載された移動可能なカメラでもよい。カメラ200と社会的距離分析装置100の間は、任意のネットワークを介して通信可能に接続されている。なお、カメラ200と社会的距離分析装置100を一つの装置としてもよい。
社会的距離分析装置100は、カメラ200の画像に基づいて人物の社会的距離を分析する分析装置であり、分析結果を表示する表示装置でもある。社会的距離分析装置100は、画像に基づいて人物の社会的距離を検出する検出装置であるとも言える。社会的距離分析装置100は、入力部101、取得部102、カメラキャリブレーション部103、人関節検出部104、座標算出部105、記憶部106、社会的距離判定部107、表示部108を備えている。なお、各部(ブロック)の構成は一例であり、後述の方法(動作)が可能であれば、その他の各部で構成されてもよい。また、社会的距離分析装置100は、例えば、プログラムを実行するパーソナルコンピュータやサーバ等のコンピュータ装置で実現されるが、1つの装置で実現してもよいし、複数の装置で実現してもよい。例えば、記憶部106や表示部108を外部の装置としてもよい。
入力部101は、社会的距離分析装置100を操作するユーザから入力された情報を取得する入力インタフェースである。例えば、ユーザは、監視カメラの画像から社会的距離が確保されていない人物を監視する監視者である。入力部101は、例えば、GUI(Graphical User Interface)であり、キーボードやマウス、タッチパネル等の入力装置から、ユーザの操作に応じた情報が入力される。例えば、入力部101は、カメラキャリブレーション部103のカメラパラメータ算出処理に必要な情報を受け付け、また、表示部108の表示処理のためのユーザ操作を受け付ける。
取得部102は、カメラ200が撮像した人物を含む2次元の画像を取得する。取得部102は、例えば、所定の期間にカメラ200が撮像した、人物を含む画像(時系列の複数の画像を含む映像)を取得する。なお、カメラ200からの取得に限らず、予め用意された人物を含む画像をデータベース等から取得してもよい。
カメラキャリブレーション部(算出部)103は、カメラ200から取得された画像に基づき、カメラ200のカメラパラメータを算出する(カメラキャリブレーションを行う)。カメラパラメータ(撮像パラメータ)は、3次元の実世界空間における長さを2次元の画像平面における長さに変換するためのパラメータである。カメラパラメータは、カメラの焦点距離、レンズ歪、光学中心座標等の内部パラメータと、カメラの位置(並進ベクトル)や角度(回転行列)等の外部パラメータを含む。カメラキャリブレーション部103は、算出したカメラパラメータ(位置、角度、焦点距離等)を記憶部106に格納する。
カメラキャリブレーション部103は、画像から抽出される法線ベクトル(基準平面(地面)に対し垂直な線分)に基づいて、カメラパラメータを算出する。法線ベクトルを用いる算出方法として、例えば、特許文献2に記載のキャリブレーション方法を使用してもよいし、その他の方法でもよい。カメラキャリブレーション部103は、画像から抽出される法線ベクトルの長さと与えられる基準の長さとに基づいて、カメラパラメータを算出する。例えば、法線ベクトルは、人関節検出部104により検出された人物の関節点間の骨線分(骨格情報)から取得されるが、ユーザの入力により指定されてもよい。法線ベクトルに用いる骨線分は、人物の骨格に含まれるいずれの骨の線分でもよい。足元の骨の線分(足首から膝の間の線分)でもよいが、人物が歩行している時に垂直に近い状態で安定している線分が好ましいため、例えば、背骨の線分(腰から首の間の線分)を用いる。また、与えられる基準の長さは、算出に用いる線分に対応した長さであり、例えば、人物の身長や各骨の長さ(平均値等)である。算出に用いる基準の長さは、ユーザから入力してもよいし、予め記憶部106に記憶されていてもよい。なお、法線ベクトルは、地面に対し垂直であればよいため、人物の骨格に限らず、車やトラックなどの垂直線を使用してもよい。さらに、画像内の人物等の移動を止めた状態で校正物体(予め長さが分かっている物体)を撮像することで、カメラパラメータを算出してもよい。また、カメラ200がPTZカメラのようにカメラの角度やズーム値が変更可能なカメラの場合、基準位置から変更された差分値を取得して、カメラパラメータに反映させてもよい。
人関節検出部(推定部)104は、カメラ200から取得された画像に基づき、2次元の画像内の人物の関節点を検出(推定)する。例えば、人関節検出部104は、機械学習を利用したOpenPose等の関節推定技術(骨格推定技術)を用いる。人関節検出部104は、関節推定技術を用いて、画像内で認識される人物の各部の特徴に基づき、人物の関節であると推定される関節点(キーポイント)を検出し、さらに、検出した関節点を結ぶ骨線分(ボーンリンク)を抽出する。人関節検出部104は、画像に基づいて関節点や骨線分を含む骨格情報を生成する。なお、検出される関節点及び骨線分は、関節推定技術により推定される関節点及び骨線分であり、実際の人物の関節及び骨と一致しない場合がある。人関節検出部104は、人物の足元から頭部までの関節点及び骨線分を含む骨格構造を検出しているとも言える。人関節検出部104は、時系列の複数の画像(フレーム)内の人物を認識し、各画像内で認識される全ての人物の関節点及び骨線分を検出する。
座標算出部105は、算出されたカメラパラメータを用いることで、検出された関節点や骨線分の座標(骨格情報)から、人物の3次元の実世界空間(世界座標空間)の座標(位置)を算出する。算出する座標は、人物の社会的距離範囲の中心点の座標(中心座標)である。中心点は、人関節検出部104が検出した関節点間の骨線分に含まれる任意の点である。中心点は、人物の足元から頭部における関節点または骨線分の任意の点でもよいし、その他、人物の中で抽出可能な垂直線の点でもよい。中心点は、カメラキャリブレーションと同様、足元の骨の線分に含まれる点でもよいが、人物が歩行している時に垂直に近い状態で安定している線分の点が好ましいため、例えば、背骨の線分に含まれる点とする。座標算出部105は、各画像(フレーム)内の全ての人物の中心座標を算出し、算出結果を時系列に記憶部106に格納する。
記憶部106は、社会的距離分析装置100の動作(処理)に必要な情報(データ)を記憶する。例えば、記憶部106は、フラッシュメモリなどの不揮発性メモリやハードディスク装置等である。例えば、記憶部106は、カメラキャリブレーション部103が算出したカメラパラメータや座標算出部105が算出した時系列の座標算出結果を記憶する。記憶部106は、カメラパラメータ記憶部であり、また、座標算出結果記憶部であるとも言える。記憶部106は、その他必要に応じて、取得部102が取得した画像(映像)や、人関節検出部104が処理した関節点や骨線分の情報、関節推定用の機械学習データ、人物の身長や各骨の長さの平均値、社会的距離の長さ等を記憶する。
社会的距離判定部(決定部)107は、算出された人物の位置(中心座標)に基づいて、人物の社会的距離の確保状態(感染の危険性)を判定する。社会的距離判定部107は、人物の社会的距離(範囲)を検出する検出部であるとも言える。例えば、社会的距離判定部107は、人物の中心座標(中心点)から所定の長さの範囲を社会的距離範囲に決定する。社会的距離の所定の長さは、ユーザにより入力されてもよいし、予め記憶部106に記憶されていてもよい。社会的距離判定部107は、人物の位置(中心座標)間の距離(社会的距離)に基づいて、感染の危険性を判定する。例えば、社会的距離判定部107は、人物間の距離が所定の距離よりも近いか否かに応じて、感染の危険性を判定する。また、人物の社会的距離範囲と他の人物の社会的距離範囲とが重なるか否かに応じて、感染の危険性を判定してもよいし、人物の社会的距離範囲に他の人物が含まれるか否かに応じて、感染の危険性を判定してもよい。さらに、距離に加えて時間を考慮して社会的距離を判定してもよい。社会的距離判定部107は、一つの基準により2段階のアラート要否を判定してもよいし、複数の基準により多段階のアラートレベルを判定してもよい。
表示部108は、社会的距離分析装置100の動作(処理)の結果等を表示画面に表示する。例えば、表示部108は、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイ等のディスプレイ装置である。表示部108は、GUIの表示画面にカメラ200が撮像した画像(映像)や社会的距離判定部107の判定結果等を表示する。例えば、表示部108は、2次元の上面図(平面図)や3次元の俯瞰図により、人物の社会的距離範囲を判定結果(アラート要否やアラートレベル)に応じて表示する。表示部108は、社会的距離判定部107による感染の危険性(社会的距離の確保状態)の判定結果に応じて、人物の社会的距離範囲の表示態様を変更する。例えば、表示態様として、感染の危険性に応じて社会的距離範囲の色、形、大きさ等を変更してもよい。さらに、社会的距離範囲を点滅表示した場合に点滅間隔を変更してもよい。本実施の形態では、一例として、複数の人物間の距離に応じて社会的距離範囲の色を変更する。例えば、感染の危険性が高くなるにしたがって(アラートレベルにしたがって)強調されるように、色などを変えて社会的距離範囲を表示する。また、表示部108は、社会的距離範囲として、人物の位置を中心とする所定の形状の領域を表示する。社会的距離を特定できる領域であればよく、例えば、上面視で円形状、半円形状、扇形状、楕円形状等の領域で表示してもよい。本実施の形態では、一例として、所定の大きさ(半径)の円形状の領域を表示する。感染の危険性に応じて社会的距離範囲の表示態様を変更することにより、人物の社会的距離を適切に把握することが可能となり、また、感染の危険性が高い(社会的距離が確保されていない)人物を明確に識別することができる。
なお、表示部108は、社会的距離の確保状態の判定結果を出力する出力部の一例である。例えば、画面表示に加えて、または、画面表示に代えて、感染の危険性(社会的距離の確保状態)の判定結果を音やその他の通知方法(ネットワークを介したメールなど)で出力してもよい。音を出力する場合、表示態様と同様に、感染の危険性に応じて出力態様(警告音の音量、音程、間隔、音声メッセージの種類等)を変更してもよい。
図3は、本実施の形態に係る社会的距離分析装置100の動作を示している。図3に示すように、社会的距離分析装置100は、カメラ200から画像(映像)を取得する(S101)。取得部102は、カメラキャリブレーションのために人物(撮像空間)を撮像した画像を取得し、また、社会的距離判定のために人物(撮像空間)を撮像した画像を取得する。カメラキャリブレーションのための画像と社会的距離判定のための画像は、同じカメラ200が撮像した画像であればよく、撮像したタイミングは同じでもよいし異なってもよい。すなわち、第1の期間(10秒〜60秒程度)に撮像された映像からカメラキャリブレーションを行い、次に第2の期間に撮像された映像から社会的距離を判定してもよいし、同じ期間に撮像された映像からカメラキャリブレーションを行うとともに社会的距離を判定してもよい。少なくとも、社会的距離の判定(座標算出)においてカメラパラメータを使用する前までに、カメラキャリブレーションが行われていればよい。図4は、カメラ200から取得する画像の例を示している。図4の例は、撮像空間を6人の人物が歩行している場合の画像である。
続いて、カメラキャリブレーション処理(S102〜S103)が行われ、また、社会的距離判定処理(S104〜S108)が行われる。カメラキャリブレーション処理の一例として、人物の関節点間の骨線分を用いる例を説明する。カメラキャリブレーション処理では、まず、社会的距離分析装置100は、カメラ200から取得した画像に基づいて人物の関節点を検出する(S102)。人関節検出部104は、OpenPose等の関節推定技術を用いて、画像平面内の各人物の関節点を検出し、検出した関節点を結ぶ骨線分を抽出する。
続いて、社会的距離分析装置100は、検出された骨線分を用いてカメラパラメータを算出する(S103)。例えば、カメラキャリブレーション部103は、算出に用いる法線ベクトルとして人物の背骨の線分を選択する。画像内の一人の人物の背骨の線分を選択してもよいし、複数の人物の背骨の線分を選択してもよい。複数の背骨の線分を選択した場合、線分(ベクトル)の平均を求めてもよい。また、背骨の線分を用いてもよいし、背骨の線分から人物の身長(骨格全体)を推定して、推定した身長に対応する線分(中心線分)を用いてもよい。カメラキャリブレーション部103は、人物の背骨の線分と背骨の長さ(または身長)の平均値からカメラパラメータを算出する。
例えば、特許文献2のように、法線ベクトル(背骨の線分)を地面(基準面)に対する垂直な投影用平面に投影し、投影された法線ベクトルの地面に対する垂直性に基づいて、カメラパラメータを求めてもよい。投影用平面に投影された法線ベクトルの垂直性を評価することで、回転行列(カメラの角度)を求めることができる。また、回転行列を用いて、2次元画像の法線ベクトルを3次元空間に投影した長さと、実世界における長さ(骨の長さの平均値)との差から、並進ベクトル(カメラの位置)や焦点距離を求めることができる。
一方、社会的距離判定処理では、まず、社会的距離分析装置100は、取得した画像に基づいて人物の関節点を検出する(S104)。S102と同様に、人関節検出部104は、カメラ200から取得した画像内の各人物の関節点及び骨線分を検出する。
続いて、社会的距離分析装置100は、算出されたカメラパラメータを用いて、検出された骨線分における人物の中心点の座標(中心座標)を算出する(S105)。例えば、座標算出部105は、人物の背骨の線分(腰から首)に含まれる点を人物の中心点として選択する。この例では、腰の関節点(背骨の線分の下端点)を中心点として選択する。社会的距離分析装置100は、カメラパラメータを用いて、2次元の画像平面における背骨の線分(腰の関節点)の座標を3次元の実世界空間(世界座標空間)の座標(x、y、z)に変換する。線分(ベクトル)の始点座標及び終点座標を3次元座標に変換して中心座標を求めてもよいし、線分の始点座標または終点座標を3次元座標に変換して中心座標を求めてもよい。
図5は、図4の画像から人物の関節点及び骨線分を検出した例を示している。図5に示すように、画像内の6人の人物それぞれの関節点及び骨線分を検出する。時系列の複数の画像(フレーム)から人物の関節点及び骨線分を検出することで、歩行(移動)している状態の人物の関節点及び骨線分を検出する。図5の例では、画像内の6人のそれぞれについて、背骨の線分から腰の中心点の3次元座標を算出する。
続いて、社会的距離分析装置100は、算出された人物の中心座標から人物の社会的距離範囲を決定する(S106)。社会的距離判定部107は、人物の中心座標から、所定の長さ(例えば1m〜2m)の3次元空間の範囲を社会的距離範囲とする。この例では、社会的距離範囲は、中心点から所定の長さを半径とする上面視で円形状の領域である。図5の例では、画像内の6人のそれぞれについて、中心座標から社会的距離範囲の円形状の領域を決定する。
続いて、社会的距離分析装置100は、人物の中心座標(位置)に基づいて、人物の感染の危険性を判定する(S107)。図6は、本実施の形態に係る危険性判定処理の具体例を示している。図6は、一つの基準により2段階のアラート要否を判定する例である。図6に示すように、社会的距離判定部107は、人物間の距離を取得し(S201)、取得した距離が所定の距離よりも短いか否か判定する(S202)。社会的距離判定部107は、人物の中心座標と他の人物の中心座標との間の3次元の実世界空間(世界座標空間)における距離を算出する。
社会的距離判定部107は、人物間の距離が所定の距離よりも短い場合、アラート要(感染の危険性が高い、社会的距離が確保されていない)と判断し(S203)、また、人物間の距離が所定の距離よりも長い場合、アラート不要(感染の危険性が低い、社会的距離が確保されている)と判断する(S204)。判定基準となる所定の距離は、社会的距離範囲で用いた距離(例えば1m〜2m)と同じでもよいし、さらに長い距離でもよい。図5の例では、画像内の6人それぞれの間の距離を算出し、各人物間のアラート要否を判断する。
また、決定した社会的距離範囲に基づいてアラートの要否を判定してもよい。例えば、人物の社会的距離範囲と他の人物の社会的距離範囲とが重なる場合、アラート要と判断し、人物の社会的距離範囲と他の人物の社会的距離範囲とが重ならない場合、アラート不要と判断してもよい。また、人物の社会的距離範囲に他の人物が含まれる場合、アラート要と判断し、人物の社会的距離範囲に他の人物が含まれない場合、アラート不要と判断してもよい。
さらに、社会的距離判定部107は、画像(フレーム)ごとに、人物間の距離から感染の危険性を判定してもよいし、複数の画像(フレーム)の位置を時系列方向に解析し、解析された人物の移動を考慮して、感染の危険性を判定してもよい。例えば、一定期間、人物間の距離が所定の距離よりも短い状態が続く場合(人物が滞留している場合)、アラート要と判断してもよい。これにより、一時的にすれ違う人物を判定から除外することができる。
続いて、社会的距離分析装置100は、危険性の判定結果を表示する(S108)。図7は、本実施の形態に係る判定結果表示処理の具体例を示している。図7に示すように、表示部108は、社会的距離判定部107の判定結果を取得し(S301)、取得した判定結果がアラート要か否か判定する(S302)。表示部108は、判定結果がアラート要の場合(感染の危険性が高い場合)、アラート要とされた人物の社会的距離範囲を赤色で表示し(S303)、判定結果がアラート不要の場合(感染の危険性が低い場合)、アラート不要とされた人物の社会的距離範囲を青色で表示する(S304)。
図8及び図9は、アラート不要及びアラート要の場合の表示例を示している。図8及び図9に示すように、表示部108は、表示画面(表示ウィンドウ)W1に3次元の俯瞰図V1及び2次元の上面図V2を表示する。すなわち、表示画面W1は、俯瞰図V1を表示する俯瞰図表示領域と上面図V2を表示する上面図表示領域を有し、表示部108は、それぞれの領域に社会的距離の判定結果を表示する。俯瞰図V1と上面図V2は、複数の画像(映像)や社会的距離範囲を時系列に同期して表示することができる。表示部108は、俯瞰図V1及び上面図V2の両方を表示してもよいし、いずれか一方を表示してもよい。
俯瞰図V1は、カメラ200(所定の視点)から見た撮像空間の3次元表示図である。表示部108は、俯瞰図V1に、入力された映像(画像)を表示するとともに、その映像に人物の社会的距離範囲を合成して3次元形式で表示する。なお、複数のカメラの映像をもとに、視点を変更できるようにしてもよい。俯瞰図V1には、映像内の全ての人物について、算出した中心座標に対応する3次元位置に人物の中心点P1(例えば丸印)を表示し、中心点P1から決定した社会的距離範囲に対応する3次元範囲に人物の社会的距離範囲D1を表示する。この例では、社会的距離範囲D1は、上記社会的距離範囲の決定処理のように、人物の中心点P1を中心とする所定の大きさの円形状(円板状)の領域である。社会的距離範囲の表示例として、円形状の領域の輪郭線を表示するが、円形状の領域内を輪郭線と同じ色やその他のパターンで表示してもよい。なお、所定の距離の範囲を円板状に限らず、球状に3次元表示してもよい。俯瞰図V1には、上面視で円形状となる社会的距離範囲D1を、その位置に応じた大きさ及び形状で3次元表示する。また、俯瞰図V1では、映像内で移動する人物の位置に合わせて中心点P1及び社会的距離範囲D1を表示する。なお、俯瞰図V1に、各人物から検出した関節点や骨線分を表示してもよい。
上面図V2は、俯瞰図V1と同じ撮像空間を上面から見た2次元平面図である。表示部108は、上面図V2に、入力された映像(画像)内の人物の位置及び社会的距離範囲のイメージを2次元形式で表示する。なお、人物に加えて、他の物体のイメージを表示してもよいし、俯瞰図と同様に映像を表示してもよい。上面図V2には、俯瞰図と同様、映像内の全ての人物について、算出した中心座標に対応する2次元位置に人物の中心点P2(例えば×印)を表示し、中心点P2から決定した社会的距離範囲に対応する2次元範囲に円形状の社会的距離範囲D2を表示する。俯瞰図V1と同様、社会的距離範囲の表示例として、円形状の領域の輪郭線を表示するが、円形状の領域内を輪郭線と同じ色やその他のパターンで表示してもよい。また、上面図V2では、俯瞰図V1と同様、映像内で移動する人物の位置に合わせて中心点P2及び社会的距離範囲D2を表示する。
例えば、図8及び図9では、人物間の距離に応じて表示する色(表示態様)を変更する。図8では、全ての人物A1〜A6の間の距離が所定の距離よりも離れている。このため、俯瞰図V1及び上面図V2では、人物A1〜A6の社会的距離範囲D1及びD2と中心点P1及びP2を青色で表示する。一方、図9では、人物A3〜A6の間の距離が所定の距離よりも離れているものの、人物A1及び物A2の距離が所定の距離よりも近い(社会的距離範囲の一部が重なっている)。このため、俯瞰図V1及び上面図V2では、人物A3〜A6の社会的距離範囲D1及びD2と中心点P1及びP2を青色で表示し、人物A1及び人物A2の社会的距離範囲D1及びD2と中心点P1及びP2を赤色で表示する。なお、この例では、感染の危険性が高い/低いことを明確に示すために赤色(強調色)/青色を使用しているが、感染の危険性を識別できれば、その他の色を使用してもよい。また、2色に限らず、距離や社会的距離範囲の重なりに応じて多段階にグラデーション表示してもよい。表示態様として、色に限らず、点滅間隔等を変更してもよい。例えば、アラーム要の場合に点滅表示するようにし、距離が近づくにしたがって(アラートレベルが高くなるにしたがって)点滅間隔を短くしてもよい。さらに、感染の危険性が高いことを示す矢印等のマークや文字列を表示してもよい。人物間の距離の数値を表示してもよい。また、感染の危険性が高い社会的距離範囲の人物の色等を変えてもよい。
上記危険性の判定処理のように、社会的距離範囲に基づいた危険性に応じて色(表示態様)を変更してもよい。例えば、第1の人物の社会的距離範囲と第2の人物の社会的距離範囲とが重なる場合、第1の人物と第2の人物の社会的距離範囲を赤色で表示し、第1の人物の社会的距離範囲と第2の人物の社会的距離範囲とが重ならない場合、第1の人物と第2の人物の社会的距離範囲を青色で表示してもよい。さらに、それらの社会的距離範囲の重なる量に応じて色を変更してもよい。また、第1の人物の社会的距離範囲に第2の人物が含まれる場合、第1の人物の社会的距離範囲を赤色で表示し、第1の人物の社会的距離範囲に第2の人物が含まれない場合、第1の人物の社会的距離範囲を青色で表示してもよい。さらに、複数の人物の密度に応じて色を変更してもよい。例えば、所定の領域内に含まれる人物の数や、人物の社会的距離範囲が重なる数(重なる面積)や、人物の社会的距離範囲に含まれる他の人物の数に応じて、色を変更してもよい。
また、図8及び図9の例では、俯瞰図V1において、中心点P1及び円形状の社会的距離範囲D1を人物の腰の位置(高さ)に表示する。すなわち、人物の足元よりも高い位置に浮いた状態で、中心点P1及び社会的距離範囲D1を表示する。顔に近いほど飛沫感染の可能性は高いため、人物のより高い位置で社会的距離範囲を表示することで、より感染の危険性に適した表示とすることができる。例えば、中心点P1及び社会的距離範囲D1を表示する腰の高さは、関節検出において検出した腰の関節点の高さであり、人物の座標を算出した高さである。座標の算出に背骨の線分を使用するため、背骨の下端(腰)の高さを用いてもよいし、背骨(腰から首)の任意の高さを用いてもよい。背骨や腰の位置は人物の歩行時に安定しているため、背骨や腰を中心として表示することで、より社会的距離範囲を把握しやすく表示することができる。
以上のように、本実施の形態では、カメラで撮像した画像からカメラキャリブレーションを行うとともに、人物の位置及び社会的距離を検出し、検出した結果を表示画面に表示する。関節推定技術を利用することで、撮像した画像から自動的にカメラキャリブレーション及び人物の距離(位置)検出を行うことが可能となる。特に、画像から抽出される人物の骨線分を法線ベクトルとしてカメラパラメータを算出することにより、簡易に精度よくカメラパラメータを算出することができる。したがって、3次元座標の座標変換精度を向上することができ、正確に社会的距離を検出することができる。
(実施の形態2)
以下、図面を参照して実施の形態2について説明する。本実施の形態では、実施の形態1の社会的距離分析装置におけるカメラキャリブレーション部の一例について説明する。
<カメラ座標系と世界座標系の関係>
図10を用いて、本実施の形態におけるカメラ200の「カメラ座標系」と「世界座標系」との関係について説明する。この例では、カメラ200は、「世界座標系」における撮影対象エリアを撮影して画像F1を形成する。
図10に示すように、カメラ座標系の原点は、世界座標系のz軸上に位置し、世界座標系の座標[0,0,h](=c)を有している。すなわち、カメラ200の位置は、世界座標系のz座標の1次元で表すことができ、また、カメラ200についての並進ベクトルTも、1次元という少ないパラメータで表現することができる。
また、カメラ座標系のz軸は、カメラ200の光軸に対応する。そして、世界座標系のxy平面に対するz軸の投影は、世界座標系のy軸と重なる。すなわち、世界座標系の+z方向から見たときに、カメラ座標系のz軸と世界座標系のy軸とは重なるようになっている。すなわち、カメラ200のヨー回転(つまり、y軸周りの回転)が制限されている。これにより、カメラ200の回転行列は、ロール回転(z軸周りの回転)及びピッチ回転(x軸周りの回転)の2次元で表すことができ、また、カメラ200の回転行列Rも2次元という少ないパラメータで表現することができる。
なお、本実施の形態では、世界座標系の3次元座標は明示的には与えられないため、世界座標系とカメラ座標系を任意に定義付けしてよい。そのため、図10に示すように、世界座標系及びカメラ座標系を設定しても、一般性は失われない。
<カメラキャリブレーション部の構成例>
図11は、本実施の形態に係るカメラキャリブレーション部の構成例を示している。図11に示すように、本実施の形態に係るカメラキャリブレーション部103は、法線ベクトル取得部111と、正規化座標変換部112と、外部パラメータ算出部113とを有している。
法線ベクトル取得部111は、カメラ200によって「世界座標空間」が撮影された画像の「画像平面」において、複数の「画像平面内法線ベクトル」を取得する。複数の「画像平面内法線ベクトル」は、「世界座標空間」における「基準平面」に対する複数の「世界座標空間内法線ベクトル」にそれぞれ対応する。「世界座標空間」は、世界座標系によって規定される空間である。「基準平面」は、例えば地面又は床等の水平面であってもよい。図10の例では、画像F1において、世界座標系のn個の世界座標空間内法線ベクトル(M〜M)のそれぞれに対応する、n個の画像平面内法線ベクトル(m〜m)を取得する。
例えば、法線ベクトル取得部111は、複数の「画像平面内法線ベクトル」として、実施の形態1のように、人関節検出部104により検出された画像平面における複数の人物の関節点間の骨線分を取得する。上記のように、地面に対し垂直に近い線分として、人物の背骨の線分を使用することが好ましい。なお、「世界座標空間内法線ベクトル」は、上記の水平面に対して垂直に延びる、その他の線分であってもよい。また、取得された複数の画像平面内法線ベクトルに対応する、複数の「世界座標空間内法線ベクトル」の世界座標空間における長さは、互いに異なっていてもよい。カメラ200が撮像した1または複数の画像から異なる複数の人物における複数の背骨の線分を取得してもよいし、複数の画像から同じの人物における複数の背骨の線分を取得してもよい。例えば、10秒〜60秒の間に撮像された映像から複数の人物における複数の背骨の線分を取得する。上記のように、基準の長さとして、人物の骨の長さ(もしくは身長)が入力されるため、人物の背骨の線分の実空間における長さ(高さ)が既知であるとして算出に用いてもよい。例えば、背骨の長さの平均値を、複数の人物の背骨の線分の実空間における長さであるとしてもよい。また、世界座標空間内法線ベクトルの始点及び終点は、基準平面上にあってもよいし基準平面上でなくてもよい。図10に示した例では、世界座標空間内法線ベクトルの始点は、基準平面上にある。背骨の線分の場合、背骨の線分の始点は基準平面(地面)よりも上方となる。
正規化座標変換部112は、法線ベクトル取得部111にて取得された各画像平面内法線ベクトルの始点及び終点についての画像平面内座標である、「画像平面内始点座標」及び「画像平面内終点座標」を、カメラ200の「内部パラメータ」に基づいて、正規化座標である、「正規化始点座標」及び「正規化終点座標」へ変換する。例えば、カメラ200の「内部パラメータ」は、記憶部106に予め記憶されている。ここで、正規化座標変換部112は、「画像平面内始点座標」及び「画像平面内終点座標」を斉次化する。具体的には、「画像平面内始点座標」及び「画像平面内終点座標」は、図10のm及びm’に示すように、3次元に斉次化される。すなわち、「画像平面内始点座標」及び「画像平面内終点座標」は、2次元の画像座標にスケールの不定性を加えた3次元座標で表される。
外部パラメータ算出部113は、正規化座標変換部112にて各画像平面内法線ベクトルについて得られた正規化始点座標と正規化終点座標と「評価関数」とを用いて、並進ベクトル及び回転行列を算出する。ここで、「評価関数」は、世界座標空間における上記「基準平面」に対する法線周りの回転パラメータについて過決定となる関数である。
例えば、外部パラメータ算出部113は、正規化座標変換部112にて各画像平面内法線ベクトルについて得られた正規化始点座標のベクトルと正規化終点座標のベクトルとのクロス積とカメラ200についての回転行列におけるz軸周りの回転ベクトルとの内積である、スカラー3重積を、複数の画像平面内法線ベクトルについて算出する。そして、外部パラメータ算出部113は、算出した複数のスカラー3重積の総和を上記の評価関数として用いて、該総和を最少化することが期待される所望のz軸周りの回転ベクトルを算出する。そして、外部パラメータ算出部113は、算出した所望のz軸周りの回転ベクトルに基づいて回転行列を算出する。そして、外部パラメータ算出部113は、算出した回転行列を出力すると共に、算出した所望のz軸周りの回転ベクトルをカメラ200についての並進ベクトルとして出力する。
ここで、1つの画像平面内法線ベクトルからz軸周りの回転ベクトルに対する1つの拘束条件が得られる。このため、2つ以上の画像平面内法線ベクトルを用いることにより、z軸周りの回転ベクトルが計算可能となる。さらに、上記の通り、y軸周りの回転角度は、ゼロとおける。このため、計算されたz軸周りの回転ベクトルから、z軸周りの回転角度及びx軸周りの回転角度が推定可能であるため、3×3の回転行列の全体を復元することができる。また、図10を参照して説明したカメラ座標系と世界座標系との関係では、カメラ200の並進ベクトルは、回転行列のz軸周りの回転ベクトルの定数倍に等しい。さらに、世界座標空間内法線ベクトルの3次元座標が未知なことを利用すると、カメラ200の高さ(z座標)を1としてもよい。すなわち、並進ベクトルは、回転行列の第3列として計算すればよい。なお、この外部パラメータ算出部113による外部パラメータの算出については、後に詳しく説明する。
このように本実施の形態では、カメラキャリブレーション部において、人物の背骨の線分等に対応する各画像平面内法線ベクトルについて得られた正規化始点座標と正規化終点座標と「評価関数」とを用いて、回転ベクトル及び回転行列を算出する。「評価関数」は、世界座標空間における上記「基準平面」に対する法線周りの回転パラメータについて過決定となる関数である。このような構成により、外部パラメータを精度良く算出することができる。
例えば、上記の特許文献2に記載の関連するカメラキャリブレーション方法では、画像から水平面に垂直な線分を検出し、検出した複数の垂直線分を仮想平面に投影し、仮想平面上での各線分の平行性を最小化する評価関数を用いて回転行列を算出している。しかしながら、この方法では、評価関数の最小化において観測線分の増加に伴い未知数の方が多くなる、いわゆる劣決定問題になる可能性がある。劣決定問題の場合、観測する線分の数を増やしても拘束式の数が常に不足し、理論上の最適解が無限個存在するため、現実的に不可能なカメラパラメータも最適解になってしまう。すなわち、算出される外部パラメータの精度が劣化する可能性がある。本実施の形態によれば、このような劣決定問題を回避して、外部パラメータの算出精度を向上することができる。
<カメラキャリブレーション部の動作例>
図12は、本実施の形態に係るカメラキャリブレーション部の動作例を示している。
図12に示すように、法線ベクトル取得部111は、カメラ200で撮影された画像から、複数の画像平面内法線ベクトル(例えば背骨の線分)を取得する(S401)。
正規化座標変換部112は、各画像平面内法線ベクトルの画像平面内始点座標及び画像平面内終点座標を、カメラ200の内部パラメータに基づいて、正規化始点座標及び正規化終点座標へ変換する(S402)。
外部パラメータ算出部113は、各画像平面内法線ベクトルについて得られた正規化始点座標と正規化終点座標と「評価関数」とを用いて、並進ベクトル及び回転行列を算出する(S403)。
ここで、外部パラメータ算出部113による外部パラメータの算出について具体例を用いて詳しく説明する。なお、以下の説明では、図10に示した記号を用いる。すなわち、カメラ200は、世界座標系のz軸上のc=[0,0,h]に位置している。また、世界座標系のxy平面に対するz軸の投影は、世界座標系のy軸と重なっている。また、i番目の世界座標空間内法線ベクトルの始点M=[x,y,0]及び終点M’=[x,y,zは、それぞれ、画像平面上では、m=[u,v,1]及びm’=[u’,v’,1]として観測されている。ここで、m及びm’は、内部パラメータにより正規化された斉次座標系で表されている。また、上添え字のTは、ベクトル又は行列の転置を表している。
まず、解くべき問題の定義を行うことにする。
カメラ200の回転行列Rは、上記の通り、y軸周りの回転角度をゼロとおけるため、x軸周りの回転角度θ及びz軸周りの回転角度θを用いて、次の式(1)によって表すことができる。
Figure 2021189946
また、カメラ200の並進ベクトルtは、カメラ200の位置cと回転行列Rとを用いて、次の式(2)によって表すことができる。
Figure 2021189946
ここで、rは、回転行列Rの第j列目のベクトルを表している。すなわち、式(2)は、並進ベクトルtが、z軸周りの回転ベクトルの定数倍であることを示している。
上記の式(1)及び式(2)を用いると、i番目の世界座標空間内法線ベクトルと画像平面内法線ベクトルとの射影関係は、次の式(3)によって表される。
Figure 2021189946
ここで、本実施の形態では、世界座標系を任意に設定できるため、世界座標空間内法線ベクトルの始点及び終点の3次元座標x,y,z(2≦i≦n)とカメラの高さhとの間には、定数倍の不定性が存在する。すなわち、世界座標空間に対する既知の情報(例えば、ある1つの世界座標空間内法線ベクトルのメートル単位での長さ)が与えられない限り、世界座標空間における絶対的な位置関係は不明で、相対的な位置関係のみが求められる。換言すれば、相対的な大きさは、任意に決定できる。そこで、カメラの高さをh=1とおくと、式(3)は、次の式(4)のように表すことができる。
Figure 2021189946
式(4)より、n個の画像平面内法線ベクトルを取得できた場合、その未知数の個数は、2+3n個である(x軸周りの回転角度θ及びz軸周りの回転角度θ、並びに、各世界座標空間内法線ベクトルの始点及び終点の3次元座標x,y,z)。一方、1つの画像平面内法線ベクトルから得られる条件数は、4個(u,v,u’,v’)であるため、n個の画像平面内法線ベクトルを取得できた場合の条件数は、4n個である。すなわち、nが2以上のとき、条件数が未知数を上回る(4n>2+3n)ことになり、問題を解くことが可能になる。
続いて、式(4)を解くことにより、回転行列R及び並進ベクトルtを算出する方法について説明する。
射影的奥行きλ、λ’を用いて、式(4)の両辺の不定性を除くと、次の式(5)で表される。
Figure 2021189946
式(5)における上式と下式との差分は、次の式(6)によって表される。
Figure 2021189946
式(6)は、3つのベクトルm、m’及びrが、互いに線形従属であることを示している。すなわち、式(7)に示すように、これら3つのベクトルのスカラー3重積は、ゼロである。
Figure 2021189946
1つの画像平面内法線ベクトル毎に、式(7)が得られる。
従って、2つの画像平面内法線ベクトルが取得できた場合、rは、次の式(8)に表すように、ベクトルのクロス積を用いて、算出することができる。
Figure 2021189946
また、n個の画像平面内法線ベクトルが取得できた場合、次の式(9)に示す最小二乗法によって、rは算出することができる。
Figure 2021189946
以上のように、回転行列Rの第3列目rを算出することができる。
上記の式(1)に示したように、回転行列Rの第3列目rは、θ及びθを用いて陽に表されている。すなわち、rの各成分から逆三角関数を用いて、θ及びθを算出することができる。回転行列Rは、x軸周りの回転及びz軸周りの回転のみで表されているため、θ及びθを算出できれば、回転行列Rの全成分を算出することができる。
ここで、式(8)及び式(9)は、2つ以上の画像平面内法線ベクトルを取得できれば、回転行列を推定可能であることを示している。また、取得される画像平面内法線ベクトルの数が増えても、その未知数は、回転行列の第3列のみである。式(9)は、数値的に安定な線形最小二乗法であり、nが大きいほど安定する。従って、上記の特許文献2で用いられている評価関数と異なり、取得する画像平面内法線ベクトルの数が多ければ、より高精度に回転行列を求めることができる。
並進ベクトルtは、回転行列Rの第3列rそのものであるから、回転行列Rの計算と同時にすでに計算されたことになる。
以上のように本実施の形態では、カメラキャリブレーション部において、人物の背骨の線分等に対応する各画像平面内法線ベクトルについて得られた正規化始点座標のベクトルと正規化終点座標のベクトルとのクロス積とカメラ200についての回転行列におけるz軸周りの回転ベクトルとの内積である、スカラー3重積を、複数の画像平面内法線ベクトルについて算出する。そして、カメラキャリブレーション部は、算出した複数のスカラー3重積の総和を上記の評価関数として用いて、該総和を最少化することが期待される所望のz軸周りの回転ベクトルを算出する。そして、カメラキャリブレーション部は、算出した所望のz軸周りの回転ベクトルに基づいて回転行列を算出する。そして、カメラキャリブレーション部は、算出した回転行列を出力すると共に、算出した所望のz軸周りの回転ベクトルをカメラ200についての並進ベクトルとして出力する。
このカメラキャリブレーション部の構成により、劣決定問題を回避して、外部パラメータを算出することができる。これにより、外部パラメータを精度良く算出することができる。また、3次元座標が未知の条件下で画像情報のみを利用して単眼カメラの校正が可能である。
したがって、本実施の形態によれば、より精度よくカメラパラメータを算出することができるため、このカメラパラメータを用いてさらに効果的に社会的距離を検出することが可能となる。
<変形例>
実施の形態2におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
<1>世界座標系及びカメラ座標系の設定は、上記の設定に限定されない。例えば、ある1つの世界座標空間内法線ベクトルの始点を世界座標系の原点とし、別の世界座標空間内法線ベクトルをx軸上に乗るようにしてもよい。その場合、M=[0,0,0]、M’=[0,0,z、M=[0,y,0]、M’=[0、y,zとなり、並進ベクトルtは、回転行列の第3列とはならない。しかし、未知数の数は変わらないため、2つ以上の画像平面内法線ベクトルが取得できれば、回転行列及び並進ベクトルを求めることができる。異なる3次元座標系は剛体変換によって一致できるため、原点の設定により解くべき未知数が変わったとしても数学的には等価な問題である。
<2>基準平面は、水平面に限定されない。例えば、壁面を基準平面として、床面に平行な線分を世界座標空間内法線ベクトルと定義してもよい。
<3>回転行列の表現方法は、上記の式(1)に限定されない。例えば、y軸周りの成分をゼロとした四元数を用いてもよい。
<4>回転行列の第3列の計算方法は、式(8)または式(9)に限定されない。式(8)及び式(9)は、画像平面内法線ベクトル同士の交点、つまり、垂直方向の消失点を求めていることに等しい。そのため、垂直方向の消失点を計算する様々な方法を代替に用いてもよい。また、式(9)はいわゆる代数学的誤差を最小化しているが、幾何学的誤差やサンプソン誤差といったより高度な誤差解析方法を用いてもよい。さらに、公知であるRANSAC(Random Sample Consensus)や重み付き最小二乗法を式(8)及び式(9)と組み合わせて、誤差の大きい画像平面内法線ベクトルを除去しながら、消失点を計算してもよい。
<5>世界座標空間内法線ベクトルの始点のz座標は、ゼロに限定されない。すなわち、世界座標空間内法線ベクトルは必ずしも基準平面に接している必要はない。なぜならば、式(6)から式(7)への導出で示したように、z座標の値は消去されるため、式(8)及び式(9)へ影響を与えないからである。
(実施の形態3)
実施の形態3では、実施の形態2におけるカメラキャリブレーション部が算出したカメラパラメータを用いて3次元座標を算出する例について説明する。
本実施の形態では、画像平面内法線ベクトルと、回転行列及び並進ベクトルとに基づいて、各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、世界座標系における2つの3次元座標を算出する。カメラキャリブレーション部103を含む社会的距離分析装置100の構成は、実施の形態1及び2と同じである。すなわち、カメラキャリブレーション部103が、実施の形態2に係るカメラキャリブレーション方法によりカメラパラメータを算出し、座標算出部105が、算出されたカメラパラメータを用いて画像内の背骨の線分等の3次元座標を算出する。なお、カメラキャリブレーション部103において、カメラキャリブレーション処理及び3次元座標算出処理を行ってもよい。
本実施の形態に係る座標算出部105は、法線ベクトル取得部111にて取得された複数の画像平面内法線ベクトルと、外部パラメータ算出部113にて算出された回転行列及び並進ベクトルとに基づき、各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、世界座標系における2つの3次元座標を算出する。
座標算出部105は、上記の式(4)を変形することによって得られる、次の式(10)を用いて、上記の3次元座標を算出することができる。
Figure 2021189946
ただし、ベクトルr,r,rは、それぞれ、前記回転行列の列ベクトルを表し、m及びm’は、i番目の画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、[x,y,z]は、算出対象の3次元座標を表す。
式(10)は、[x,y,zを未知数とする線形連立方程式であるので、容易に解くことができる。
図13は、本実施の形態に係るカメラキャリブレーション部を含む社会的距離分析装置の動作例を示している。図13においてS401からS403は、図12と同じである。
座標算出部105は、S401にて取得された画像平面内法線ベクトルと、S403にて算出された回転行列及び並進ベクトルとに基づき、各画像平面内法線ベクトル(例えば背骨の線分)の正規化始点座標及び正規化終点座標についての、世界座標系における2つの3次元座標を算出する(S404)。
<変形例>
実施の形態3におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
<1>各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、世界座標系における2つの3次元座標を算出ために、式(4)を利用したが、これに限定されるものではない。例えば、式(5)を変形した式によって、射影的奥行きも含めて3次元座標を計算してもよい。
<2>座標算出部105は、複数の画像平面内法線ベクトルと回転行列及び並進ベクトルとに加えて、複数の画像平面内法線ベクトルのうちの少なくとも1つに対応する世界座標空間内法線ベクトルの長さ又はカメラ座標系の原点のz軸上の座標とに基づき、絶対的な3次元座標を算出してもよい。すなわち、取得した複数の画像平面内法線ベクトルの中で少なくとも1つに対応する世界座標空間内法線ベクトルについて、その絶対的な長さ(例えばメートル単位)が既知である場合、それを利用して、相対的な関係であるカメラ位置や世界座標空間内法線ベクトルの3次元座標を絶対的な関係へと変換できる。例えば、あるj番目の世界座標空間内法線ベクトルの終点のz座標がz=aと既知である場合、その他の世界座標空間内法線ベクトルの3次元座標とカメラの高さhについて、a/z倍すればよい。この例では、背骨の線分の長さ(高さ)が既知であるとして、人物の背骨の3次元座標を算出してもよい。なお、この処理は、座標算出部105がz=aを入力として受け付けて3次元座標の出力前に座標算出部105によって実行されてもよいし、座標算出部105から3次元座標が出力された後に実行されてもよい。
(実施の形態4)
実施の形態4では、実施の形態3における座標算出部の3次元座標の算出後の最適化処理の例について説明する。
本実施の形態では、回転行列、並進ベクトル、及び、座標算出部にて算出された各画像平面内法線ベクトルについての2つの3次元座標の最適化処理を行う。カメラキャリブレーション部及び社会的距離分析装置の構成は、実施の形態1〜3と同じである。すなわち、カメラキャリブレーション部103が、実施の形態2に係るカメラキャリブレーション方法によりカメラパラメータを算出し、座標算出部105が、実施の形態3に係る算出方法で画像内の背骨の線分等の3次元座標を算出し、さらに最適化処理を行う。なお、カメラキャリブレーション部103において、カメラキャリブレーション処理、3次元座標算出処理及び最適化処理を行ってもよい。
本実施の形態に係る座標算出部(最適化部)105は、実施の形態3のように、各画像平面内法線ベクトルについての2つの3次元座標を算出するとともに、回転行列、並進ベクトル、及び、算出された2つの3次元座標の「最適化処理」を実行する。なお、座標算出部105とは別に「最適化処理」を実行する最適化部を備えていてもよい。
例えば、座標算出部105は、「最適化処理」にて、算出された各画像平面内法線ベクトルについての上記2つの3次元座標を外部パラメータ算出部113から出力された回転行列及び並進ベクトルを用いて画像平面に射影した2つの「再投影座標」を算出する。そして、座標算出部105は、算出した各画像平面内法線ベクトルについての2つの「再投影座標」と各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標との誤差である「再投影誤差」を最少化することが期待される、調整後の回転行列、調整後の並進ベクトル、及び、調整後の上記2つの3次元座標を求める。これにより、回転行列、並進ベクトル、及び、上記2つの3次元座標が高精度化される。
例えば、座標算出部105は、次の式(11)に基づいて、算出された各画像平面内法線ベクトルについての上記2つの3次元座標と外部パラメータ算出部113から出力された回転行列及び並進ベクトルとを初期値として用いて、非線形最適化を実行してもよい。
Figure 2021189946
ただし、Projは、3次元ベクトルの第3成分によって、第1成分及び第2成分のそれぞれを除算して、斉次化座標系へ変換する関数を表し、Rは、回転行列を表し、rは、並進ベクトルを表し、m及びm’は、i番目の画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、M及びM’は、i番目の画像平面内法線ベクトルの始点及び終点についての2つの3次元座標を表し、θは、前記カメラ座標系の第1軸周りの回転角度を表し、θは、前記カメラ座標系の第1軸以外の第2軸周りの回転角度を表し、x,y,zは、i番目の画像平面内法線ベクトルの始点及び終点についての2つの3次元座標を表し、// //は、ノルムを表す。
ここで、上記の式(8)〜(10)は、いわゆる代数的誤差を最小化する線形連立方程式に基づいている。また、回転行列、並進ベクトル、3次元座標と順番に計算していくため、後段になるほど誤差が蓄積する可能性がある。そこで、式(11)に表されるようないわゆる再投影誤差を最小化することで、パラメータ間の誤差を均質化し、統計的に最適なパラメータを計算することができる。
図14は、本実施の形態に係るカメラキャリブレーション部を含む社会的距離分析装置の動作例を示している。
座標算出部105は、S403にて算出された回転行列及び並進ベクトル、並びに、ステップS404にて算出された各画像平面内法線ベクトル(例えば背骨の線分)についての2つの3次元座標の、「最適化処理」を実行する(S405)。
<変形例>
実施の形態4におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
上記の式(11)において、必ずしもすべてのパラメータを最適化する必要はない。例えば、実施の形態3の変形例<2>で述べたように、長さが既知の世界座標空間内法線ベクトルが存在する場合、その法線ベクトル(例えば背骨の線分)の両端点の3次元座標は変数ではなく固定値としてよい。これにより、未知数の数が減少するため、より安定して式(11)の最適化を行うことができる。
(実施の形態5)
以下、図面を参照して実施の形態5について説明する。本実施の形態では、実施の形態1の社会的距離分析装置におけるカメラキャリブレーション部の他の例について説明する。
<カメラ座標系と世界座標系の関係>
図15を用いて、本実施の形態におけるカメラ200の「カメラ座標系」と「世界座標系」との関係について説明する。この例では、カメラ200は、「世界座標系」における撮影対象エリアを撮影して画像F2を形成する。
図15に示すように、世界座標系の原点は、第1世界座標空間内法線ベクトルの始点(M)と一致している。また、第1世界座標空間内法線ベクトルの終点(M’)は、世界座標系のz軸上に位置している。また、第2世界座標空間内法線ベクトルの始点(M)は、世界座標系のx軸上に位置している。すなわち、第1世界座標空間内法線ベクトルの始点(M)と第2世界座標空間内法線ベクトルの始点(M)とを結ぶ直線は、世界座標系のx軸と一致する。そして、x軸及びz軸の両方と直交する方向を、y軸としている。すなわち、上記の「基準平面」は、世界座標系のxy平面と一致する。ここで、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルの長さは同じであり、第1世界座標空間内法線ベクトルの終点(M’)及び第2世界座標空間内法線ベクトルの終点(M’)のz座標は、共に「z」となっている。
なお、本実施の形態では、実施の形態2と同様、世界座標系の3次元座標は明示的には与えられないため、世界座標系とカメラ座標系とは、相対的に等価であれば、任意に定義付けしてよい。そのため、図15に示すように、世界座標系及びカメラ座標系を設定しても、一般性は失われない。なお、図15において、Rは、回転ベクトルを表し、tは、並進ベクトルを表している。すなわち、世界座標に対するカメラ200の位置及び姿勢は、回転行列R及び並進ベクトルtによって表される。
<カメラキャリブレーション部の構成例>
図16は、本実施の形態に係るカメラキャリブレーション部の構成例を示している。図16に示すように、本実施の形態に係るカメラキャリブレーション部103は、法線ベクトル取得部121と、射影的奥行き算出部122と、カメラパラメータ算出部123とを有している。
法線ベクトル取得部121は、カメラ200によって「世界座標空間」が撮影された画像の「画像平面」において、複数の「画像平面内法線ベクトル」を取得する。実施の形態2と同様、複数の「画像平面内法線ベクトル」は、「世界座標空間」における「基準平面」に対する複数の「世界座標空間内法線ベクトル」にそれぞれ対応しており、「基準平面」は、例えば地面又は床等の水平面であってもよい。例えば、法線ベクトル取得部121は、複数の「画像平面内法線ベクトル」として、実施の形態1及び2のように、人関節検出部104により検出された複数の人物の関節点間の骨線分を取得する。本実施の形態においても、地面に対し垂直に近い線分として、人物の背骨の線分を使用することが好ましい。なお、「世界座標空間内法線ベクトル」は、上記の水平面に対して垂直に延びる、その他の線分であってもよい。
ここで、法線ベクトル取得部121によって取得される複数の「画像平面内法線ベクトル」は、同じ長さを有する2つの世界座標空間内法線ベクトルにそれぞれ対応する、2つの画像平面内法線ベクトルを含む。本実施の形態では、同じ長さを有する2つの世界座標空間内法線ベクトルを、「第1世界座標空間内法線ベクトル」及び「第2世界座標空間内法線ベクトル」と呼ぶことがある。また、「第1世界座標空間内法線ベクトル」及び「第2世界座標空間内法線ベクトル」にそれぞれ対応する2つの画像平面内法線ベクトルを、「第1画像平面内法線ベクトル」及び「第2画像平面内法線ベクトル」と呼ぶことがある。図15の例では、画像F2において、世界座標系の第1世界座標空間内法線ベクトル(M)、第2世界座標空間内法線ベクトル(M)のそれぞれに対応する、第1画像平面内法線ベクトル(m)、第2画像平面内法線ベクトル(m)を取得する。カメラ200が撮像した1または複数の画像から二人の人物における2つの背骨の線分を同じ長さ(もしくは身長)のものであるとして取得してもよいし、複数の画像から同じの人物における2つの背骨の線分を取得してもよい。例えば、10秒〜60秒の間に撮像された映像から二人の人物における人物における2つの背骨の線分を取得する。上記のように、基準の長さとして、人物の骨の長さ(もしくは身長)が入力されるため、人物の背骨の線分の実空間における長さ(高さ)が既知であるとして算出に用いてもよい。例えば、背骨の長さの平均値を、二人の人物の背骨の線分の実空間における長さであるとしてもよい。
射影的奥行き算出部122は、第1画像平面内法線ベクトルの始点及び終点並びに第2画像平面内法線ベクトルの始点及び終点にそれぞれ対応する4つの「射影的奥行き」をベクトル要素とする「射影的奥行きベクトル」を算出する。本実施の形態では、第1画像平面内法線ベクトルの始点及び終点を、「第1始点」及び「第1終点」と呼ぶことがある。また、第2画像平面内法線ベクトルの始点及び終点を、「第2始点」及び「第2終点」と呼ぶことがある。
すなわち、射影的奥行き算出部122は、カメラ200から、第1始点の3次元座標に対する、射影的奥行きを算出する。第1終点、第2始点、及び、第2終点についても、同様に、射影的奥行きを算出する。すなわち、「射影的奥行き」とは、射影空間におけるカメラ200から見た3次元座標までの奥行きを意味する。
例えば、射影的奥行き算出部122は、射影的奥行きベクトルが、第1画像平面内始点ベクトル、第1画像平面内終点ベクトル、第2画像平面内始点ベクトル、及び第2画像平面内終点ベクトルを行列要素とする「第1行列」の「ゼロ空間」である、関係に基づいて、射影的奥行きベクトルを算出する。なお、「射影的奥行きベクトル」の算出については、後に詳しく説明する。
カメラパラメータ算出部123は、カメラ200の内部パラメータ及び外部パラメータを算出する。この算出は、射影的奥行き算出部122にて算出された射影的奥行きベクトルと、「第1画像平面内始点ベクトル」、「第1画像平面内終点ベクトル」、「第2画像平面内始点ベクトル」、及び「第2画像平面内終点ベクトル」とに基づいて行われる。「第1画像平面内始点ベクトル」及び「第1画像平面内終点ベクトル」は、第1始点及び第1終点にそれぞれ対応し、「第2画像平面内始点ベクトル」及び「第2画像平面内終点ベクトル」は、第2始点及び第2終点にそれぞれ対応する。
カメラパラメータ算出部123は、内部パラメータ算出部123Aと、外部パラメータ算出部123Bとを有している。
内部パラメータ算出部123Aは、射影的奥行き算出部122にて算出された射影的奥行きベクトルと、第1画像平面内始点ベクトル、第1画像平面内終点ベクトル、第2画像平面内始点ベクトル、及び第2画像平面内終点ベクトルとに基づいて、カメラ200の焦点距離fを算出する。カメラ200の焦点距離fは、内部パラメータの1つである。この焦点距離fの算出では、例えば、回転行列Rの各2つの列ベクトルの間の直交関係が用いられる。なお、内部パラメータの算出については、後に詳しく説明する。
外部パラメータ算出部123Bは、射影的奥行き算出部122にて算出された射影的奥行きベクトルと、第1画像平面内始点ベクトル、第1画像平面内終点ベクトル、第2画像平面内始点ベクトル、及び第2画像平面内終点ベクトルと、内部パラメータ算出部123Aにて算出された焦点距離fとに基づいて、回転行列R及び並進ベクトルtを算出する。なお、外部パラメータの算出については、後に詳しく説明する。
このように本実施の形態では、カメラキャリブレーション部において、それぞれが世界座標空間における基準平面に対する法線ベクトルであり且つ互いに同じ長さを有する第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルにそれぞれ対応する、第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルを人物の背骨の線分等から取得し、さらに、第1画像平面内法線ベクトルの始点及び終点並びに第2画像平面内法線ベクトルの始点及び終点にそれぞれ対応する4つの射影的奥行きをベクトル要素とする射影的奥行きベクトルを算出する。このような構成により、より簡便な方法で内部パラメータ及び外部パラメータを算出することができる。
例えば、上記の特許文献3には、関連するカメラキャリブレーション方法として、平面の校正ボードを用いる方法が記載されている。この方法では、3次元座標が平面上に分布している点として既定されており、画像処理により各点の3次元座標を取得して、外部パラメータを計算する。高精度にカメラ校正を行うためには、画面の中央や一部のみに対応点が偏在することなく、画面全体に満遍なく3次元座標が観測されることが望ましい。しかしながら、この方法において、広域の環境を観測するカメラを校正するためには、巨大な平面校正物体が必要なため、事実上校正が不可能であるか、又は、可能であったとしても利便性が良くない可能性がある。本実施の形態によれば、射影的奥行きベクトルを算出することができるので、校正ボードを用いることなく、内部パラメータ及び外部パラメータを算出することができ、より簡便な方法で内部パラメータ及び外部パラメータを算出することができる。
<カメラキャリブレーション部の動作例>
図17は、本実施の形態に係るカメラキャリブレーション部の動作例を示している。
法線ベクトル取得部121は、カメラ200で撮影された画像から、第1画像平面内法線ベクトル(例えば第1の背骨の線分)及び第2画像平面内法線ベクトル(例えば第2の背骨の線分)を取得する(S501)。
射影的奥行き算出部122は、第1画像平面内法線ベクトルの第1始点及び第1終点並びに第2画像平面内法線ベクトルの第2始点及び第2終点にそれぞれ対応する4つの「射影的奥行き」をベクトル要素とする「射影的奥行きベクトル」を算出する(S502)。
内部パラメータ算出部123Aは、S502にて算出された射影的奥行きベクトルと、第1画像平面内始点ベクトル、第1画像平面内終点ベクトル、第2画像平面内始点ベクトル、及び第2画像平面内終点ベクトルとに基づいて、カメラ200の焦点距離fを算出する(S503)。
外部パラメータ算出部123Bは、S502にて射影的奥行き算出部122にて算出された射影的奥行きベクトルと、第1画像平面内始点ベクトル、第1画像平面内終点ベクトル、第2画像平面内始点ベクトル、及び第2画像平面内終点ベクトルと、S503にて算出された焦点距離fとに基づいて、回転行列R及び並進ベクトルtを算出する(S504)。
ここで、射影的奥行きベクトル、内部パラメータ、及び外部パラメータの算出について具体例を用いて詳しく説明する。以下では、図15に示した記号を用いる。すなわち、世界座標系の原点は、第1世界座標空間内法線ベクトルの始点M=[0,0,0]と一致している。第1世界座標空間内法線ベクトルの終点M’は、世界座標系のz軸上に位置しており、M’=[0,0,0]である。x軸は、始点Mと第2世界座標空間内法線ベクトルの始点M(M=[x,0,0])とを結ぶ直線と一致する。カメラ200は、世界座標系の原点から回転行列R、並進ベクトルtの位置にある。また、i番目の世界座標空間内法線ベクトルの始点M=[x,0,0]及び終点M’=[x,0,z]は、それぞれ、画像平面上では、m=[u,v,1]及びm’=[u’,v’,1]として観測されている。m及びm’は、斉次座標系で表されている。また、上添え字のTは、ベクトル又は行列の転置を表している。ここで、カメラ200がデジタルカメラである場合には、スキューがなく、また、光学中心を画像中心とほぼ近似できるため、未知の内部パラメータは、焦点距離fとする。
まず、解くべき問題の定義を行うことにする。
第i世界座標空間内法線ベクトルの始点及び終点は、式(12)を用いて、3次元空間から画像座標へ射影することができる。
Figure 2021189946
ここで、λは、第i画像平面内法線ベクトルの始点の射影的奥行きを表し、λ’は、第i画像平面内法線ベクトルの終点の射影的奥行きを表す。Kは、内部パラメータ行列を表す。
式(12)を、第1画像平面内法線ベクトル、第2画像平面内法線ベクトル、第1世界座標空間内法線ベクトル、及び第2世界座標空間内法線ベクトルについて書き下すと、式(13)のように表すことができる。
Figure 2021189946
ここで、rは、回転行列Rにおけるj番目の列ベクトルを表している。
式(13)における、1番目の式と2番目の式との差分をとり、3番目の式と4番目の式との差分をとると、式(14)が得られる。
Figure 2021189946
式(14)は、1番目の式と2番目の式とが等しいことを示しているため、1番目の式と2番目の式との差分をとると、式(15)が得られる。
Figure 2021189946
式(15)は、射影的奥行きが、3×4の行列Aのゼロ空間であることを示している。換言すれば、射影的奥行きベクトル[λ,λ’,λ,λ’は、第1画像平面内始点ベクトルm、第1画像平面内終点ベクトルm’、第2画像平面内始点ベクトルm、及び第2画像平面内終点ベクトルm’を行列要素とする行列Aのゼロ空間である。すなわち、スケール不定性を除いて各射影的奥行きの比率を求めることができる。符号の不定性も存在するが、式(12)に基づく射影的奥行きの符号は正のため、すべてのλの符号が正となるように選択すればよい。
次に、算出された射影的奥行きを用いて焦点距離を算出する方法について説明する。
式(13)の3番目の式及び4番目の式を式(15)に代入して整理し、また、式(13)の2番目の式及び4番目の式を式(15)に代入して整理すると、式(16)が得られる。
Figure 2021189946
回転行列の正規直交性(r =0)を利用すると、焦点距離fについて式(17)が得られる。
Figure 2021189946
式(17)は、fについての2次式であるが、正符号の解を求めればよい。こうして、内部パラメータを算出することができる。
次に、外部パラメータである回転行列R及び並進ベクトルtを算出する方法について説明する。
回転行列Rの各列ベクトルのL2ノルムが1であることから、式(16)から式(18)を得ることができる。// //は、L2ノルムを表す。
Figure 2021189946
また、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルの高さz、及び、第2世界座標空間内法線ベクトルのx軸座標xは、世界座標系の定義により、符号が正である。よって、回転行列Rは、式(19)によって表すことができる。
Figure 2021189946
回転行列Rの2番目の列ベクトルには符号の不定正が存在するが、回転行列Rの行列式がdet(R)=1となる符号を選択すればよい。こうして、式(18),(19)によって回転行列Rを算出することができる。
並進ベクトルtは、式(13)の1番目の式を用いて、式(20)によって表すことができる。
Figure 2021189946
こうして、式(20)によって並進ベクトルtを算出することができる。
以上のように本実施の形態では、カメラキャリブレーション部において、それぞれが世界座標空間における基準平面に対する法線ベクトルであり且つ互いに同じ長さを有する第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルにそれぞれ対応する、第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルを人物の背骨の線分等から取得する。そして、カメラキャリブレーション部は、第1画像平面内法線ベクトルの始点及び終点並びに第2画像平面内法線ベクトルの始点及び終点にそれぞれ対応する4つの射影的奥行きをベクトル要素とする射影的奥行きベクトルを算出する。
このカメラキャリブレーション部の構成により、射影的奥行きベクトルを算出することができるので、校正ボードを用いることなく、内部パラメータ及び外部パラメータを算出することができる。すなわち、より簡便な方法で内部パラメータ及び外部パラメータを算出することができる。また、3次元座標が未知の条件下で画像情報のみを利用して単眼カメラの校正が可能である。その理由は、以下の通りである。まず、式(13)より、未知数の数は、13個(λ,λ’,λ,λ’,x,z,f,t,回転行列Rの3軸回転角)である。しかし、射影的奥行きと3次元座標x,zの間にはスケールの不定性が存在するため、実際の自由度は12である。一方、1つの画像平面内法線ベクトルからは始点及び終点の座標として6個(m=[u,v,1]、m’=[u’,v’,1])の拘束条件が観測できるため、2つの画像平面内法線ベクトルでは12個になる。このように、未知数の自由度と拘束条件の数が一致するため、問題を解くことが可能となる。
したがって、本実施の形態によれば、より簡便な方法でカメラパラメータを算出することができるため、このカメラパラメータを用いてさらに効果的に社会的距離を検出することが可能となる。
<変形例>
実施の形態5におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
<1>世界座標系及びカメラ座標系の設定は、上記の設定に限定されない。例えば、次のような設定であってもよい。すなわち、カメラ座標系の原点は、世界座標系のz軸上に位置し、世界座標系の座標[0,0,h](=c)を有している。また、カメラ座標系のz軸は、カメラ200の光軸に対応する。そして、世界座標系のxy平面に対するz軸の投影は、世界座標系のy軸と重なる。すなわち、世界座標系の+z方向から見たときに、カメラ座標系のz軸と世界座標系のy軸とは重なるようになっている。このような設定にしても、未知数の数は変わらないため、2つ以上の法線ベクトルが取得できれば求めることができる。異なるスケールの3次元座標系は相似変換によって一致できるため、数学的には等価な問題である。
<2>基準平面は、水平面に限定されない。例えば、壁面を基準平面として、床面に平行な線分を世界座標空間内法線ベクトルと定義してもよい。
<3>画像平面内法線ベクトルが3つ以上取得できた場合には、公知であるRANSACや重み付き最小二乗法を利用して、尤もらしい、射影的奥行きベクトル、内部パラメータ、及び外部パラメータの解を算出してもよい。
(実施の形態6)
実施の形態6では、実施の形態5におけるカメラキャリブレーション部が算出したカメラパラメータを用いて3次元座標を算出する例について説明する。
本実施の形態では、第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルと、内部パラメータ及び外部パラメータとに基づいて、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を算出する。カメラキャリブレーション部を含む社会的距離分析装置の構成は、実施の形態1及び5と同じである。すなわち、カメラキャリブレーション部103が、実施の形態5に係るカメラキャリブレーション方法によりカメラパラメータを算出し、座標算出部105が、算出されたカメラパラメータを用いて画像内の背骨の線分等の3次元座標を算出する。なお、カメラキャリブレーション部103において、カメラキャリブレーション処理及び3次元座標算出処理を行ってもよい。
本実施の形態に係る座標算出部105は、法線ベクトル取得部121にて取得された第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルと、カメラパラメータ算出部123にて算出された内部パラメータ及び外部パラメータとに基づき、各画像平面内法線ベクトルの始点座標及び終点座標についての、世界座標系における2つの3次元座標を算出する。すなわち、座標算出部105は、法線ベクトル取得部121にて取得された第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルと、カメラパラメータ算出部123にて算出された内部パラメータ及び外部パラメータとに基づき、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を算出する。
式(12)を変形すると、式(21)又は式(22)が得られる。式(21)は、第1世界座標空間内法線ベクトルの長さと第2世界座標空間内法線ベクトルの長さとが同じ場合において、3次元座標を求める式である。一方、式(22)は、第1世界座標空間内法線ベクトルの長さと第2世界座標空間内法線ベクトルの長さとが異なる場合において、3次元座標を求める式である。なお、ここでの式(12)の変形は、式(12)の1番目の式の両辺のベクトルが等しいことから、これらのクロス積がゼロとなることを利用している。式(12)の2番目の式についても同様である。
Figure 2021189946
Figure 2021189946
ただし、ベクトルr,r,rは、それぞれ、回転行列Rの列ベクトルを表し、[x,y]及び[x,y,z]は、算出対象の3次元座標を表す。式(21)の場合、zは、zである。
式(21)及び式(22)は、線形連立方程式であるから、容易に解くことができる。
図18は、本実施の形態に係るカメラキャリブレーション部を含む社会的距離分析装置の動作例を示している。図18においてS501からS504は、図17と同じである。
座標算出部105は、は、S501にて取得された第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルと、S503,S504にて算出された内部パラメータ及び外部パラメータとに基づき、第1画像平面内法線ベクトル(例えば第1の背骨の線分)及び第2画像平面内法線ベクトル(例えば第2の背骨の線分)に対応する第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を算出する(S505)。
<変形例>
実施の形態6におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
<1>第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を算出するための式は、式(21)、式(22)に限定されるものではない。例えば、式(21)、式(22)では消去されている射影的奥行きを含めて3次元座標が算出されてもよい。
<2>座標算出部105は、複数の画像平面内法線ベクトルと内部パラメータ及び外部パラメータとに加えて、複数の画像平面内法線ベクトルのうちの少なくとも1つに対応する世界座標空間内法線ベクトルの長さ又はカメラ座標系の原点のz軸上の座標とに基づき、絶対的な3次元座標を算出してもよい。すなわち、取得した複数の画像平面内法線ベクトルの中で少なくとも1つに対応する世界座標空間内法線ベクトルについて、その絶対的な長さ(例えばメートル単位)が既知である場合、それを利用して、相対的な関係であるカメラ位置や世界座標空間内法線ベクトルの3次元座標を絶対的な関係へと変換できる。例えば、あるj番目の世界座標空間内法線ベクトルの終点のz座標がz=aと既知である場合、その他の世界座標空間内法線ベクトルの3次元座標とカメラ位置c=−Rtについてa/z倍すればよい。この例では、背骨の線分の長さ(高さ)が既知であるとして、人物の背骨の3次元座標を算出してもよい。なお、この処理は、座標算出部105がz=aを入力として受け付けて3次元座標の出力前に座標算出部105によって実行されてもよいし、座標算出部105から3次元座標が出力された後に実行されてもよい。
(実施の形態7)
実施の形態7では、実施の形態6における座標算出部の3次元座標の算出後の最適化処理の例について説明する。
本実施の形態は、内部パラメータ、外部パラメータ、及び、3次元座標算出部にて算出された各画像平面内法線ベクトルについての2つの3次元座標の最適化処理を行う。カメラキャリブレーション部及び社会的距離分析装置の構成は、実施の形態1、5、6と同じである。すなわち、カメラキャリブレーション部103が、実施の形態5に係るカメラキャリブレーション方法によりカメラパラメータを算出し、座標算出部105が、実施の形態6に係る算出方法で画像内の背骨の線分等の3次元座標を算出し、さらに最適化処理を行う。なお、カメラキャリブレーション部103において、カメラキャリブレーション処理、3次元座標算出処理及び最適化処理を行ってもよい。
本実施の形態に係る座標算出部(最適化部)105は、実施の形態6のように、各画像平面内法線ベクトルについての2つの3次元座標を算出するとともに、内部パラメータ、外部パラメータ、及び、算出された各画像平面内法線ベクトルについての2つの3次元座標の「最適化処理」を実行する。なお、座標算出部105とは別に「最適化処理」を実行する最適化部を備えていてもよい。
例えば、座標算出部105は、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を、カメラパラメータ算出部123にて算出された内部パラメータ及び外部パラメータを用いて、画像平面に射影した2つの「再投影座標」を算出する。そして、座標算出部105は、第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルのそれぞれの2つの「再投影座標」と、第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルのそれぞれの始点及び終点との誤差である「再投影誤差」を最少化することが期待される、調整後の内部パラメータ、調整後の外部パラメータ、及び調整後の上記2つの3次元座標を求める。これにより、カメラ200の内部パラメータ及び外部パラメータ並びに上記の3次元座標を最適化することができる。
例えば、座標算出部105は、式(23)に基づいて、算出された3次元座標とカメラパラメータ算出部123によって算出された内部パラメータ及び外部パラメータとを初期値として用いて、非線形最適化を実行してもよい。座標算出部105は、例えば、レーベンバーグ・マーカード法や信頼領域法などの公知な方法を用いて式(23)を解くことにより、各パラメータを最適化してもよい。ここで、座標算出部105は、カメラ200の焦点距離、スキュー、光学中心、及びレンズ歪みの少なくとも1つを最適化対象の内部パラメータとしてもよい。
Figure 2021189946
ただし、Projは、3次元ベクトルの第3成分によって、第1成分及び第2成分のそれぞれを除算して、斉次化座標系へ変換する関数を表す。
斉次化するため、射影的奥行きの最適化は不要である。式(23)の3次元座標に関する拘束条件は、相対的な不定性を除去するためのものである。
ここで、式(15)、式(18)〜(20)は、いわゆる代数的誤差を最小化する線形連立方程式に基づいている。また、射影的奥行き、焦点距離、回転行列、並進ベクトル、3次元座標と順番に計算していくため、後段になるほど誤差が蓄積する可能性がある。そこで、式(23)に表されるようないわゆる再投影誤差を最小化することで、パラメータ間の誤差を均質化し、統計的に最適なパラメータを計算することができる。
図19は、本実施の形態に係るカメラキャリブレーション部を含む社会的距離分析装置の動作例を示している。
座標算出部105は、S503,S504にて算出された内部パラメータ及び外部パラメータと、S505にて算出された各画像平面内法線ベクトル(例えば背骨の線分)についての2つの3次元座標の、「最適化処理」を実行する(S506)。
<変形例>
実施の形態7におけるカメラキャリブレーション部を含む社会的距離分析装置に対しては、次の様な変形を施すことができる。
<1>上記の式(23)の計算において、必ずしもすべてのパラメータを最適化する必要はない。例えば、実施の形態6の変形例<2>で述べたように、長さが既知の世界座標空間内法線ベクトルが存在する場合、その法線ベクトル(例えば背骨の線分)の両端点の3次元座標は変数ではなく固定値としてよい。これにより、未知数の数が減少するため、より安定して式(23)の最適化を行うことができる。
<2>内部パラメータ算出部123Aではレンズ歪を求めていないが、式(23)においては最適化対象のパラメータにレンズ歪を含めてもよい。すなわち、レンズ歪に起因して画像平面内法線ベクトルが画像上で曲線になる場合であっても、レンズ歪の小さい画像中心部の画像平面内法線ベクトルを利用して又はレンズ歪みを微小と仮定してS505までの処理を行った後に、式(23)の計算においてレンズ歪を未知数として含めることによって、最終的な解を得ることができる。これにより、座標算出部105は、レンズ歪を求めることができる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態2に係る第1のカメラキャリブレーション方法と実施の形態5に係る第2のカメラキャリブレーション方法の一方のみを実施してもよいし、両方を実施してもよい。例えば、外部パラメータを算出する場合、実施の形態2または実施の形態5の方法のいずれかを使用し、内部パラメータ及び外部パラメータを算出る場合、実施の形態5の方法を使用してもよい。
上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。各装置及び各機能(処理)を、図20に示すような、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)
前記算出部は、前記骨格情報に含まれる人物の骨に対応した骨線分に基づいて前記カメラパラメータを算出する、
付記1に記載の検出装置。
(付記3)
前記算出部は、前記骨格情報に含まれる骨線分から前記画像における基準平面に対する法線ベクトルを取得し、前記取得した法線ベクトルに基づいて前記カメラパラメータを算出する、
付記2に記載の検出装置。
(付記4)
前記算出部は、前記人物の背骨に対応する線分から前記法線ベクトルを取得する、
付記3に記載の検出装置。
(付記5)
前記算出部は、
前記骨格情報に基づいて、前記画像を撮像した世界座標空間における基準平面に対する複数の世界座標空間内法線ベクトルにそれぞれ対応する、前記画像の画像平面における複数の画像平面内法線ベクトルを取得する取得部と、
前記カメラの内部パラメータに基づいて、前記取得された各画像平面内法線ベクトルの始点及び終点についての画像平面内座標である画像平面内始点座標及び画像平面内終点座標を、正規化座標である正規化始点座標及び正規化終点座標へ変換する正規化座標変換部と、
前記変換により得られた各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標と、前記世界座標空間における基準平面に対する法線周りの回転パラメータについて過決定となる評価関数とを用いて、前記カメラについての並進ベクトル及び回転行列を算出する外部パラメータ算出部と、
を備える、付記1乃至4のいずれか一項に記載の検出装置。
(付記6)
前記外部パラメータ算出部は、
前記変換により得られた各画像平面内法線ベクトルの前記正規化始点座標のベクトルと前記正規化終点座標のベクトルとのクロス積と前記カメラについての回転行列におけるカメラ座標系の第1軸についての軸周りの回転ベクトルとの内積である、スカラー3重積を、前記複数の画像平面内法線ベクトルについて算出し、
前記算出された複数のスカラー3重積の総和を前記評価関数として用いて、前記総和を最少化することが期待される所望の前記回転ベクトルを算出すると共に前記算出された所望の回転ベクトルに基づいて前記回転行列を算出し、
前記算出された所望の回転ベクトルを前記カメラについての並進ベクトルとする、
付記5に記載の検出装置。
(付記7)
前記複数の画像平面内法線ベクトルは、第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルであり、
前記外部パラメータ算出部は、次の式に基づいて、前記回転ベクトルを算出する、
付記6に記載の検出装置。
Figure 2021189946
ただし、rは、前記回転ベクトルを表し、m及びm’は、前記第1画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、m及びm’は、前記第2画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、// //は、ノルムを表す。
(付記8)
前記カメラ座標系は、前記カメラ座標系の前記第1軸が前記カメラの光軸に対応し、前記カメラ座標系の原点が世界座標系の第1軸上に存在し、且つ、前記世界座標系の第2軸及び第3軸による平面に対する、前記カメラ座標系の前記第1軸の投影が、前記世界座標系の前記第2軸と重なるように、定義されている、
付記6又は7に記載の検出装置。
(付記9)
前記取得部にて取得された複数の画像平面内法線ベクトルと、前記外部パラメータ算出部にて算出された回転行列及び並進ベクトルとに基づいて、各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、前記世界座標系における相対的な2つの3次元座標を算出する3次元座標算出部をさらに具備する、
付記8記載の検出装置。
(付記10)
前記3次元座標算出部は、次の式に基づいて、各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、前記世界座標系における相対的な2つの3次元座標を算出する、
付記9記載の検出装置。
Figure 2021189946
ただし、ベクトルr,r,rは、それぞれ、前記回転行列の列ベクトルを表し、m及びm’は、i番目の画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、[x,y,z]は、算出対象の3次元座標を表す。
(付記11)
前記取得部にて取得された複数の画像平面内法線ベクトルと、前記外部パラメータ算出部にて算出された回転行列及び並進ベクトルと、前記複数の画像平面内ベクトルのうちの少なくとも1つに対応する世界座標空間内法線ベクトルの長さ又は前記カメラ座標系の原点の前記世界座標系の第1軸上の座標とに基づいて、各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標についての、前記世界座標系における絶対的な2つの3次元座標を算出する3次元座標算出部をさらに具備する、
付記8記載の検出装置。
(付記12)
前記3次元座標算出部にて算出された各画像平面内法線ベクトルについての前記2つの3次元座標を前記外部パラメータ算出部から出力された回転行列及び並進ベクトルを用いて前記画像平面に射影した2つの再投影座標と前記各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標との誤差である再投影誤差を最少化することが期待される、調整後の回転行列、調整後の並進ベクトル、及び、調整後の前記2つの3次元座標を求めることにより、前記回転行列、前記並進ベクトル、及び、前記2つの3次元座標を最適化する、最適化部を具備する、
付記9から11のいずれか1項に記載の検出装置。
(付記13)
前記最適化部は、次の式に基づいて、前記3次元座標算出部にて算出された各画像平面内法線ベクトルについての前記2つの3次元座標と前記外部パラメータ算出部から出力された回転行列及び並進ベクトルとを初期値として用いて、非線形最適化を行うことにより、前記回転行列、前記並進ベクトル、及び、前記2つの3次元座標を最適化する、
付記12に記載の検出装置。
Figure 2021189946
ただし、Projは、3次元ベクトルの第3成分によって、第1成分及び第2成分のそれぞれを除算して、斉次化座標系へ変換する関数を表し、Rは、回転行列を表し、rは、並進ベクトルを表し、m及びm’は、i番目の画像平面内法線ベクトルの正規化始点座標及び正規化終点座標を表し、M及びM’は、i番目の画像平面内法線ベクトルの始点及び終点についての2つの3次元座標を表し、θは、前記カメラ座標系の第1軸周りの回転角度を表し、θは、前記カメラ座標系の第1軸以外の第2軸周りの回転角度を表し、x,y,zは、i番目の画像平面内法線ベクトルの始点及び終点についての2つの3次元座標を表し、// //は、ノルムを表す。
(付記14)
前記算出部は、
前記骨格情報に基づいて、前記画像を撮像した世界座標空間における基準平面に対する法線ベクトルであり且つ同じ長さを有する第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルにそれぞれ対応する、前記画像の画像平面における第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルを取得する取得部と、
前記第1画像平面内法線ベクトルの第1始点及び第1終点並びに前記第2画像平面内法線ベクトルの第2始点及び第2終点にそれぞれ対応する4つの射影的奥行きをベクトル要素とする射影的奥行きベクトルを算出する射影的奥行き算出部と、
前記算出された射影的奥行きベクトルと、前記第1始点及び第1終点にそれぞれ対応する第1画像平面内始点ベクトル及び第1画像平面内終点ベクトル並びに前記第2始点及び前記第2終点にそれぞれ対応する第2画像平面内始点ベクトル及び第2画像平面内終点ベクトルとに基づいて、前記カメラの内部パラメータ及び外部パラメータを算出するカメラパラメータ算出部と、
を備える、付記1乃至4のいずれか一項に記載の検出装置。
(付記15)
前記射影的奥行き算出部は、前記射影的奥行きベクトルが、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルを行列要素とする第1行列のゼロ空間である、関係に基づいて、前記射影的奥行きベクトルを算出する、
付記14に記載の検出装置。
(付記16)
前記外部パラメータは、回転行列及び並進ベクトルを含み、
前記カメラパラメータ算出部は、前記算出された射影的奥行きベクトルと、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルと、前記回転行列の各2つの列ベクトルの間の直交関係とに基づいて、前記内部パラメータとしての前記カメラの焦点距離を算出する内部パラメータ算出部を含む、
付記14又は15に記載の検出装置。
(付記17)
前記カメラパラメータ算出部は、前記算出された射影的奥行きベクトルと、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルと、前記算出された焦点距離とに基づいて、前記回転行列及び前記並進ベクトルを算出する外部パラメータ算出部をさらに含む、
付記16に記載の検出装置。
(付記18)
世界座標系は、前記第1世界座標空間内法線ベクトルの始点が前記世界座標系の原点と一致し、前記第2世界座標空間内法線ベクトルの始点が前記世界座標系の第1軸上に存在し、前記第1世界座標空間内法線ベクトルの終点が前記世界座標系の第3軸上に存在するように、定義されている、
付記17に記載の検出装置。
(付記19)
前記内部パラメータ算出部は、式(A1)を用いて、前記カメラの焦点距離を算出する、
付記18に記載の検出装置。
Figure 2021189946
ただし、λ、λ’、λ、及びλ’は、それぞれ、前記第1始点、前記第1終点、前記第2始点、及び前記第2終点の射影的奥行きを表し、fは、前記焦点距離を表し、ベクトルn,n’,n,n’は、それぞれ、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルを表す。
(付記20)
前記外部パラメータ算出部は、式(A2)、式(A3)、及び式(A4)を用いて、前記回転行列を算出し、式(A4)及び式(A5)を用いて、前記並進ベクトルを算出する、
付記19に記載の検出装置。
Figure 2021189946
Figure 2021189946
Figure 2021189946
Figure 2021189946
ただし、Rは、前記回転行列を表し、ベクトルr,rは、前記回転行列の1列目及び3列目の列ベクトルを表し、zは、前記第1世界座標空間内法線ベクトルの終点及び前記第2世界座標空間内法線ベクトルの終点の前記第3軸の座標を表し、xは、前記第2世界座標空間内法線ベクトルの始点の前記第1軸上の座標を表し、λ、λ’、λ、及びλ’は、それぞれ、前記第1始点、前記第1終点、前記第2始点、及び前記第2終点の射影的奥行きを表し、ベクトルm,m’,m,m’は、それぞれ、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルを表す。// //は、L2ノルムを表す。tは、前記並進ベクトルを表す。Kは、内部パラメータ行列を表し、fは、前記焦点距離を表す。
(付記21)
前記取得部にて取得された第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルと、前記カメラパラメータ算出部によって算出された内部パラメータ及び外部パラメータとに基づいて、前記第1世界座標空間内法線ベクトル及び前記第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を算出する3次元座標算出部をさらに具備する、
付記18から20のいずれか1項に記載の検出装置。
(付記22)
前記3次元座標算出部は、式(A6)を用いて、前記3次元座標を算出する、
付記21に記載の検出装置。
Figure 2021189946
ただし、ベクトルr,r,rは、それぞれ、前記回転行列の列ベクトルを表し、ベクトルm,m’は、第i画像平面内始点ベクトル及び第i画像平面内終点ベクトルを表し、x,yは、第i世界座標空間内法線ベクトルの始点及び終点の前記世界座標系の第1軸及び第2軸の座標を表し、zは、前記第1世界座標空間内法線ベクトルの終点及び前記第2世界座標空間内法線ベクトルの終点の前記第3軸の座標を表す。tは、前記並進ベクトルを表す。Kは、式(A7)で表される内部パラメータ行列を表し、fは、前記焦点距離を表す。
Figure 2021189946
(付記23)
前記算出された、前記第1世界座標空間内法線ベクトル及び前記第2世界座標空間内法線ベクトルのそれぞれの始点及び終点の3次元座標を前記カメラパラメータ算出部によって算出された内部パラメータ及び外部パラメータを用いて前記画像平面に射影した2つの再投影座標と、前記第1画像平面内法線ベクトル及び前記第2画像平面内法線ベクトルのそれぞれの始点及び終点との誤差である再投影誤差を最少化することが期待される、調整後の内部パラメータ、調整後の外部パラメータ、及び調整後の前記3次元座標を求めることにより、前記カメラの内部パラメータ及び外部パラメータ並びに前記3次元座標を最適化する、最適化部を具備する、
付記21又は22に記載の検出装置。
(付記24)
前記最適化部は、式(A8)に基づいて、前記3次元座標算出部にて算出された3次元座標と前記カメラパラメータ算出部によって算出された内部パラメータ及び外部パラメータとを初期値として用いて、非線形最適化を行うことにより、前記カメラの内部パラメータ及び外部パラメータ並びに前記3次元座標を最適化する、
付記23に記載の検出装置。
Figure 2021189946
ただし、Projは、3次元ベクトルの第3成分によって、第1成分及び第2成分のそれぞれを除算して、斉次化座標系へ変換する関数を表し、Rは、前記回転行列を表し、tは、前記並進ベクトルを表し、ベクトルm,m’は、第i画像平面内始点ベクトル及び第i画像平面内終点ベクトルを表し、M,M’は、第i世界座標空間内法線ベクトルの始点ベクトル及び終点ベクトルを表し、x,y,zは、第i世界座標空間内法線ベクトルの始点及び終点についての2つの3次元座標を表し、// //は、ノルムを表す。Kは、式(A9)で表される内部パラメータ行列を表し、fは、前記焦点距離を表す。Tは、ベクトル又は行列の転置を表す。
Figure 2021189946
(付記25)
前記最適化部は、前記カメラの焦点距離、スキュー、光学中心、及びレンズ歪みの少なくとも1つを最適化対象の内部パラメータとする、
付記23又は24に記載の検出装置。
(付記26)
カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、
前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、
前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する、
検出方法。
(付記27)
前記算出では、前記骨格情報に含まれる人物の骨に対応した骨線分に基づいて前記カメラパラメータを算出する、
付記26に記載の検出方法。
(付記28)
カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、
前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、
前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する、
処理をコンピュータに実行させるための検出プログラム。
(付記29)
前記算出では、前記骨格情報に含まれる人物の骨に対応した骨線分に基づいて前記カメラパラメータを算出する、
付記28に記載の検出プログラム。
1 社会的距離分析システム
10 検出装置
11 推定部
12 算出部
13 検出部
20 コンピュータ
21 プロセッサ
22 メモリ
100 社会的距離分析装置
101 入力部
102 取得部
103 カメラキャリブレーション部
104 人関節検出部
105 座標算出部
106 記憶部
107 社会的距離判定部
108 表示部
111 法線ベクトル取得部
112 正規化座標変換部
113 外部パラメータ算出部
121 法線ベクトル取得部
122 射影的奥行き算出部
123 カメラパラメータ算出部
123A 内部パラメータ算出部
123B 外部パラメータ算出部
200 カメラ

Claims (10)

  1. カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定する推定部と、
    前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出する算出部と、
    前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する検出部と、
    を備える、検出装置。
  2. 前記算出部は、前記骨格情報に含まれる人物の骨に対応した骨線分に基づいて前記カメラパラメータを算出する、
    請求項1に記載の検出装置。
  3. 前記算出部は、前記骨格情報に含まれる骨線分から前記画像における基準平面に対する法線ベクトルを取得し、前記取得した法線ベクトルに基づいて前記カメラパラメータを算出する、
    請求項2に記載の検出装置。
  4. 前記算出部は、前記人物の背骨に対応する線分から前記法線ベクトルを取得する、
    請求項3に記載の検出装置。
  5. 前記算出部は、
    前記骨格情報に基づいて、前記画像を撮像した世界座標空間における基準平面に対する複数の世界座標空間内法線ベクトルにそれぞれ対応する、前記画像の画像平面における複数の画像平面内法線ベクトルを取得する取得部と、
    前記カメラの内部パラメータに基づいて、前記取得された各画像平面内法線ベクトルの始点及び終点についての画像平面内座標である画像平面内始点座標及び画像平面内終点座標を、正規化座標である正規化始点座標及び正規化終点座標へ変換する正規化座標変換部と、
    前記変換により得られた各画像平面内法線ベクトルの正規化始点座標及び正規化終点座標と、前記世界座標空間における基準平面に対する法線周りの回転パラメータについて過決定となる評価関数とを用いて、前記カメラについての並進ベクトル及び回転行列を算出する外部パラメータ算出部と、
    を備える、請求項1乃至4のいずれか一項に記載の検出装置。
  6. 前記外部パラメータ算出部は、
    前記変換により得られた各画像平面内法線ベクトルの前記正規化始点座標のベクトルと前記正規化終点座標のベクトルとのクロス積と前記カメラについての回転行列におけるカメラ座標系の第1軸についての軸周りの回転ベクトルとの内積である、スカラー3重積を、前記複数の画像平面内法線ベクトルについて算出し、
    前記算出された複数のスカラー3重積の総和を前記評価関数として用いて、前記総和を最少化することが期待される所望の前記回転ベクトルを算出すると共に前記算出された所望の回転ベクトルに基づいて前記回転行列を算出し、
    前記算出された所望の回転ベクトルを前記カメラについての並進ベクトルとする、
    請求項5に記載の検出装置。
  7. 前記算出部は、
    前記骨格情報に基づいて、前記画像を撮像した世界座標空間における基準平面に対する法線ベクトルであり且つ同じ長さを有する第1世界座標空間内法線ベクトル及び第2世界座標空間内法線ベクトルにそれぞれ対応する、前記画像の画像平面における第1画像平面内法線ベクトル及び第2画像平面内法線ベクトルを取得する取得部と、
    前記第1画像平面内法線ベクトルの第1始点及び第1終点並びに前記第2画像平面内法線ベクトルの第2始点及び第2終点にそれぞれ対応する4つの射影的奥行きをベクトル要素とする射影的奥行きベクトルを算出する射影的奥行き算出部と、
    前記算出された射影的奥行きベクトルと、前記第1始点及び第1終点にそれぞれ対応する第1画像平面内始点ベクトル及び第1画像平面内終点ベクトル並びに前記第2始点及び前記第2終点にそれぞれ対応する第2画像平面内始点ベクトル及び第2画像平面内終点ベクトルとに基づいて、前記カメラの内部パラメータ及び外部パラメータを算出するカメラパラメータ算出部と、
    を備える、請求項1乃至4のいずれか一項に記載の検出装置。
  8. 前記射影的奥行き算出部は、前記射影的奥行きベクトルが、前記第1画像平面内始点ベクトル、前記第1画像平面内終点ベクトル、前記第2画像平面内始点ベクトル、及び前記第2画像平面内終点ベクトルを行列要素とする第1行列のゼロ空間である、関係に基づいて、前記射影的奥行きベクトルを算出する、
    請求項7に記載の検出装置。
  9. カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、
    前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、
    前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する、
    検出方法。
  10. カメラにより撮像された2次元の画像に基づいて、前記画像に含まれる人物の骨格情報を推定し、
    前記推定された人物の骨格情報に基づいて、前記カメラのカメラパラメータを算出し、
    前記算出されたカメラパラメータを用いて、前記人物の社会的距離を検出する、
    処理をコンピュータに実行させるための検出プログラム。
JP2020096895A 2020-06-03 2020-06-03 検出装置、検出方法及び検出プログラム Pending JP2021189946A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020096895A JP2021189946A (ja) 2020-06-03 2020-06-03 検出装置、検出方法及び検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020096895A JP2021189946A (ja) 2020-06-03 2020-06-03 検出装置、検出方法及び検出プログラム

Publications (1)

Publication Number Publication Date
JP2021189946A true JP2021189946A (ja) 2021-12-13

Family

ID=78849638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020096895A Pending JP2021189946A (ja) 2020-06-03 2020-06-03 検出装置、検出方法及び検出プログラム

Country Status (1)

Country Link
JP (1) JP2021189946A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230165545A (ko) * 2022-05-27 2023-12-05 주식회사 쓰리아이 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치
WO2024009528A1 (ja) * 2022-07-05 2024-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ カメラパラメータ算出装置、カメラパラメータ算出方法及びカメラパラメータ算出プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230165545A (ko) * 2022-05-27 2023-12-05 주식회사 쓰리아이 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치
KR102611481B1 (ko) * 2022-05-27 2023-12-08 주식회사 쓰리아이 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치
WO2024009528A1 (ja) * 2022-07-05 2024-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ カメラパラメータ算出装置、カメラパラメータ算出方法及びカメラパラメータ算出プログラム

Similar Documents

Publication Publication Date Title
EP3309751B1 (en) Image processing device, method, and program
Shao et al. Computer vision based target-free 3D vibration displacement measurement of structures
CN101189638B (zh) 膝关节形态的特征描述方法和系统
US8582856B2 (en) Image processing apparatus, image processing method, and program
JP5586765B2 (ja) カメラキャリブレーション結果検証装置および方法
JP7151879B2 (ja) カメラ校正装置、カメラ校正方法、及びプログラム
JPWO2017038160A1 (ja) 監視情報生成装置、撮影方向推定装置、監視情報生成方法、撮影方向推定方法、及びプログラム
JP7173285B2 (ja) カメラ校正装置、カメラ校正方法、及びプログラム
JP5079547B2 (ja) カメラキャリブレーション装置およびカメラキャリブレーション方法
JP7046567B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2021189946A (ja) 検出装置、検出方法及び検出プログラム
US20220237817A1 (en) Systems and methods for artificial intelligence based image analysis for placement of surgical appliance
US20200166409A1 (en) Temperature processing apparatus and temperature processing method
JP2017096813A (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
US11900541B2 (en) Method and system of depth determination with closed form solution in model fusion for laparoscopic surgical guidance
CN114663463A (zh) 关节活动度的测量方法、系统、设备、电子设备和存储介质
CN116778094B (zh) 一种基于优选视角拍摄的建筑物变形监测方法及装置
US10819883B2 (en) Wearable scanning device for generating floorplan
JP2022516466A (ja) 情報処理装置、情報処理方法、並びにプログラム
US11922576B2 (en) System and method for mapping the skin
JP2022121280A (ja) ホモグラフィ算出方法及びプログラム
JP4623320B2 (ja) 三次元形状推定システム及び画像生成システム
Sitnik et al. Locating and tracing of anatomical landmarks based on full-field four-dimensional measurement of human body surface
Ordóñez et al. A software program for semi-automated measurement of building facades
WO2021095095A1 (ja) カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240430