(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】人間関節を用いた無人航空機上のカメラの校正
(51)【国際特許分類】
H04N 23/60 20230101AFI20240729BHJP
B64C 39/02 20060101ALI20240729BHJP
B64D 47/08 20060101ALI20240729BHJP
G06T 7/00 20170101ALI20240729BHJP
G06T 7/593 20170101ALI20240729BHJP
G06T 7/70 20170101ALI20240729BHJP
G06T 7/80 20170101ALI20240729BHJP
G06V 10/82 20220101ALI20240729BHJP
【FI】
H04N23/60
B64C39/02
B64D47/08
G06T7/00 350C
G06T7/00 660B
G06T7/593
G06T7/70 Z
G06T7/80
G06V10/82
(21)【出願番号】P 2022534839
(86)(22)【出願日】2021-04-23
(86)【国際出願番号】 US2021028762
(87)【国際公開番号】W WO2021216948
(87)【国際公開日】2021-10-28
【審査請求日】2022-06-08
(32)【優先日】2020-04-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】田原 大資
(72)【発明者】
【氏名】ベレストフ アレクサンダー
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2019-079487(JP,A)
【文献】特開2019-109200(JP,A)
【文献】国際公開第2018/083848(WO,A1)
【文献】特表2020-507436(JP,A)
【文献】特開2019-205066(JP,A)
【文献】国際公開第2020/038720(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
B64C 39/02
B64D 47/08
G06T 7/80
G06T 7/593
G06T 7/00
G06V 10/82
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
アンカーカメラ装置の組と、一群の無人航空機(UAV)に搭載又は一体化された一群のカメラとに通信可能に結合された回路を備えたシステムであって、前記回路は、
前記アンカーカメラ装置の組から人間被写体のアンカー画像の組を受け取り、
3次元(3D)空間内の複数の地点において前記人間被写体を追跡するように制御された前記一群のカメラから、3次元(3D)空間における複数の地点からの前記人間被写体の一群の画像を受け取り、
前記受け取られたアンカー画像の組の各アンカー画像における前記人間被写体について人間関節の第1の2次元(2D)位置の組を決定し、
前記受け取られた一群の画像の各画像における前記人間被写体について前記人間関節の第2の2D位置の組を決定し、
前記決定された前記人間関節の第1の2D位置の組を使用した三角測量に基づいて、3D空間における前記人間関節の3D位置を3Dキーポイントとして計算し、
前記3Dキーポイントと前記決定された第2の2D位置の組との間の2D再投影誤差を決定し、
前記決定された2D再投影誤差を最小化することによって前記一群のカメラの各カメラを校正する、
ように構成され、
前記一群のUAVに搭載又は一体化された一群のカメラの少なくとも1つのカメラは、赤外線(IR)マーカセンサの機能を有し、IRマーカセンサは、3D空間内の所定の位置に取り付けられたIR光の光源から放出された光を1又は2以上のIR画像として追跡して取り込み、
前記回路は、前記1又は2以上のIR画像に3D姿勢推定技術を適用して、IRマーカセンサの機能を有するカメラを備えたUAVの
6自由度を含むカメラ校正のための標的パラメータを決定する
ことを特徴とするシステム。
【請求項2】
前記3D空間は、屋外空間、屋内空間、又はボリュメトリックキャプチャのためのスタジオ環境のうちの1つに関連する、
請求項1に記載のシステム。
【請求項3】
前記回路は、
前記一群のUAVを前記3D空間における前記複数の地点において動くように制御し、
前記一群のUAVに搭載又は一体化された前記一群のカメラを前記複数の地点から前記人間被写体の前記一群の画像を取得するように制御する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項4】
前記アンカーカメラ装置の組は、前記UAVに搭載又は一体化されて、前記一群のカメラが固定姿勢に対して動いて前記一群の画像を取得するように制御されている間に前記固定姿勢を維持するように構成された、少なくとも1つのカメラを含む、
請求項3に記載のシステム。
【請求項5】
前記アンカーカメラ装置の組は、前記一群のカメラが前記一群の画像を取得するように制御されている間に前記3D空間における位置に固定される少なくとも1つの予め校正されたカメラを含む、
請求項3に記載のシステム。
【請求項6】
前記アンカーカメラ装置の組は、遠隔制御式カメラ移動アセンブリに移動可能に結合された少なくとも1つの予め校正されたカメラを含む、
請求項3に記載のシステム。
【請求項7】
前記回路は、前記3D空間における前記アンカーカメラ装置の組を、前記アンカー画像の組を取得するように制御するようさらに構成される、
請求項1に記載のシステム。
【請求項8】
前記回路は、前記受け取られたアンカー画像の組の各アンカー画像に機械学習(ML)モデルを適用することによって前記人間関節の前記第1の2D位置の組を決定するように構成され、MLモデルは、人間関節検出フレームワークとして、2D人間関節検出タスクに基づいて訓練されたニューラルネットワークを含む、
請求項1に記載のシステム。
【請求項9】
前記回路は、前記受け取られた一群の画像の各画像にMLモデルを適用することによって前記人間関節の前記第2の2D位置の組を決定するように構成され、前記MLモデルは、前記人間関節を検出するフレームワークとして、2D人間関節検出タスクに基づいて訓練されたニューラルネットワークを含む、
請求項1に記載のシステム。
【請求項10】
前記一群のカメラの各カメラの前記校正は、対応するカメラの3D姿勢の推定に対応し、
前記3D姿勢は、前記3D空間における対応するカメラの3D位置及び向きを含む、
請求項1に記載のシステム。
【請求項11】
前記回路は、対応するカメラの内部校正パラメータの値にさらに基づいて前記一群のカメラの各カメラを校正するように構成される、
請求項1に記載のシステム。
【請求項12】
アンカーカメラ装置の組から人間被写体のアンカー画像の組を受け取るステップと、
3次元(3D)空間内の複数の地点において前記人間被写体を追跡するように制御された一群のUAVに搭載又は一体化された一群のカメラから、3次元(3D)空間における複数の地点からの前記人間被写体の一群の画像を受け取るステップと、
前記受け取られたアンカー画像の組の各アンカー画像における前記人間被写体について人間関節の第1の2次元(2D)位置の組を決定するステップと、
前記受け取られた一群の画像の各画像における前記人間被写体について前記人間関節の第2の2D位置の組を決定するステップと、
前記決定された前記人間関節の第1の2D位置の組を使用した三角測量に基づいて、3D空間における前記人間関節の3D位置を3Dキーポイントとして計算するステップと、
前記3Dキーポイントと前記決定された第2の2D位置の組との間の2D再投影誤差を決定するステップと、
前記決定された2D再投影誤差を最小化することによって前記一群のカメラの各カメラを校正するステップと、
を含み、
前記一群のUAVに搭載又は一体化された一群のカメラの少なくとも1つのカメラは、赤外線(IR)マーカセンサの機能を有し、IRマーカセンサは、3D空間内の所定の位置に取り付けられたIR光の光源から放出された光を1又は2以上のIR画像として追跡して取り込み、
前記1又は2以上のIR画像に3D姿勢推定技術を適用して、IRマーカセンサの機能を有するカメラを備えたUAVの
6自由度を含むカメラ校正のための標的パラメータを決定する
ことを特徴とする方法。
【請求項13】
前記一群のUAVを前記3D空間における前記複数の地点において動くように制御するステップと、
前記一群のUAVに搭載又は一体化された前記一群のカメラを前記複数の地点から前記人間被写体の前記一群の画像を取得するように制御するステップと、
をさらに含む請求項12に記載の方法。
【請求項14】
前記受け取られたアンカー画像の組の各アンカー画像に機械学習(ML)モデルを適用することによって前記人間関節の前記第1の2D位置の組を決定するステップと、
前記受け取られた一群の画像の各画像にMLモデルを適用することによって前記人間関節の前記第2の2D位置の組を決定するステップと、
をさらに含み、MLモデルは、人間関節検出フレームワークとして、2D人間関節検出タスクに基づいて訓練されたニューラルネットワークを含む、
請求項12に記載の方法。
【請求項15】
各カメラの前記校正は、対応するUAVの3D姿勢の推定に対応し、
前記3D姿勢は、前記3D空間における対応するUAVの3D位置及び向きを含む、
請求項12に記載の方法。
【請求項16】
前記一群のUAVのうちの少なくとも1つのUAVは位置センサを含み、
前記位置センサは、全地球的航法衛星システム(GNSS)受信機、慣性測定装置(IMU)、感知カメラ、赤外線マーカセンサ、又はパターンコードスキャナのうちの1つである、
請求項12に記載の方法。
【請求項17】
対応するカメラ付きUAVの前記位置センサから取得された絶対位置情報にさらに基づいて前記一群のUAVの各UAVを校正するステップをさらに含む、
請求項16に記載の方法。
【請求項18】
システム内のコンピュータによって実行された時に前記システムに動作を実行させるコンピュータ実装命令を記憶した非一時的コンピュータ可読媒体であって、前記動作は、
アンカーカメラ装置の組から人間被写体のアンカー画像の組を受け取ることと、
3次元(3D)空間内の複数の地点において前記人間被写体を追跡するように制御された一群のUAVに搭載又は一体化された一群のカメラから、3次元(3D)空間における複数の地点からの前記人間被写体の一群の画像を受け取ることと、
前記受け取られたアンカー画像の組の各アンカー画像における前記人間被写体について人間関節の第1の2次元(2D)位置の組を決定することと、
前記受け取られた一群の画像の各画像における前記人間被写体について前記人間関節の第2の2D位置の組を決定することと、
前記決定された前記人間関節の第1の2D位置の組を使用した三角測量に基づいて、3D空間における前記人間関節の3D位置を3Dキーポイントとして計算することと、
前記3Dキーポイントと前記決定された第2の2D位置の組との間の2D再投影誤差を決定することと、
前記決定された2D再投影誤差を最小化することによって前記一群のカメラの各カメラを校正することと、
前記一群のUAVに搭載又は一体化された一群のカメラの少なくとも1つのカメラが有するIRマーカセンサが、3D空間内の所定の位置に取り付けられたIR光の光源から放出された光を1又は2以上のIR画像として追跡して取り込むことと、
前記1又は2以上のIR画像に3D姿勢推定技術を適用して、前記IRマーカセンサの機能を有するカメラを備えたUAVの
6自由度を含むカメラ校正のための標的パラメータを決定することと
を含むことを特徴とする非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願との相互参照/引用による組み入れ〕
なし
【0002】
本開示の様々な実施形態はカメラ校正に関する。具体的には、本開示の様々な実施形態は、無人航空機(UAV)に搭載又は一体化されたカメラを人間関節を使用して校正するシステム及び方法に関する。
【背景技術】
【0003】
カメラ校正には、チェッカーボードパターンなどの様々な2次元パターンが使用される。このようなパターンの使用によるカメラ校正は正確な校正結果をもたらすことができるが、これらの技術には時間がかかるとともに、かなり多くの手動労力が必要になることもある。例えば、このようなカメラ校正技術を適用すると、ポイントマッチング問題(point-matching problem)が生じやすくなる場合もある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
当業者には、説明したシステムと、本出願の残り部分において図面を参照しながら示す本開示のいくつかの態様とを比較することにより、従来の慣習的な手法のさらなる限界及び不利点が明らかになるであろう。
【課題を解決するための手段】
【0005】
実質的に少なくとも1つの図に関連して図示及び/又は説明し、特許請求の範囲にさらに完全に示すような、無人航空機(UAV)に搭載又は一体化されたカメラを人間関節を使用して校正するシステム及び方法を提供する。
【0006】
全体を通じて同じ要素を同じ参照符号によって示す添付図面を参照しながら本開示の以下の詳細な説明を検討することにより、本開示のこれらの及びその他の特徴及び利点を理解することができる。
【図面の簡単な説明】
【0007】
【
図1】本開示の実施形態による、一群のUAVに搭載又は一体化された一群のカメラを人間関節を使用して校正する例示的なネットワーク環境を示すブロック図である。
【
図2】本開示の実施形態による、一群のUAVに搭載又は一体化された一群のカメラを校正する例示的なシステムを示すブロック図である。
【
図3】本開示の実施形態による例示的なUAVを示すブロック図である。
【
図4】本開示の実施形態による、人間被写体の画像を取得するためのUAVに搭載又は一体化されたカメラ及びアンカーカメラ装置の例示的な実装を説明する図である。
【
図5】本開示の実施形態による、人間被写体の画像を取得するためのUAVに搭載又は一体化されたカメラ及びアンカーカメラ装置の例示的な実施態様を示す図である。
【
図6】本開示の実施形態による、人間関節に基づいてUAV上のカメラを校正する例示的な動作を示す図である。
【
図7】本開示の実施形態による、UAVに搭載又は一体化された一群のカメラを校正する例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【0008】
無人航空機(UAV)に搭載又は一体化された一群のカメラの人間関節を用いた自動校正のための開示するシステム及び方法では、後述する実装を見出すことができる。本開示の例示的な態様は、3D空間内で特定の既知の位置及び向きに予め校正して固定できるアンカーカメラの組を提供する。さらに、一群のカメラは、一群のUAVの各UAVに搭載又は一体化することができる。一群のカメラは、並進パラメータ及び回転パラメータなどの外部カメラパラメータについて予め校正されていないこともある。アンカーカメラの組及び一群のUAVは、3D空間内で人間被写体を取り囲むことができる。アンカーカメラの組によって取り込まれた人間被写体のアンカー画像の組から、人間関節の第1の2次元(2D)位置の組を決定することができる。さらに、複数の3次元(3D)地点から一群のカメラによって取り込まれた人間被写体の一群の画像から、人間関節の第2の2D位置の組を決定することができる。システムは、決定された第1の2D位置の組の三角測量に基づいて、人間関節の3D位置としての3Dキーポイントを計算し、3Dキーポイントと第2の2D位置の組との間の2D再投影誤差を最小化することによってアンカーカメラの組又はゲージに関して一群のカメラの各々(すなわち、外部及び/又は内部パラメータ)を校正することができる。
【0009】
人間関節をカメラ校正に使用することで、チェッカーボードなどの2Dパターンを使用する従来の校正方法で典型的に発生するポイントマッチング問題を発生しにくくすることができる。また、人間関節を校正に使用することで、未校正カメラの前にチェッカーボードなどの校正パターンを手動で配置する必要性を排除することもできる。
【0010】
図1は、本開示の実施形態による、一群のUAVに搭載又は一体化された一群のカメラを人間関節を使用して校正する例示的なネットワーク環境を示すブロック図である。
図1にはネットワーク環境100を示す。ネットワーク環境100は、システム102と、システム102に含めることができる機械学習(ML)モデル104とを含むことができる。ネットワーク環境100は、アンカーカメラ装置の組106と、一群のUAV108と、通信ネットワーク110とをさらに含むことができる。例えば、図示のように、アンカーカメラ装置の組106は、第1のアンカーカメラ装置106a及び第2のアンカーカメラ装置106bを含むことができる。同様に、一群のUAV108は、第1のUAV108a及び第2のUAV108bを含むことができ、これらの両方には、第1のUAV108aのための第1のカメラ112a及び第2のUAV108bのための第2のカメラ112bなどのカメラを取り付けることができる。第1のカメラ112a及び第2のカメラ112bは、集合的に一群のカメラ112と呼ぶことができる。システム102は、アンカーカメラ装置の組106及び一群のUAV108に通信ネットワーク110を介して通信可能に結合することができる。
【0011】
さらに、アンカーカメラ装置の組及び一群のUAV108を配置できる3D環境の一部としての3次元(3D)空間114も示す。3D空間114内には、アンカーカメラ装置の組106及び一群のUAV108によって取り囲まれた人間被写体116も示す。アンカーカメラ装置の組106及び一群のUAV108は、3D空間114内の複数の地点に(例えば、まばらに)配置することができ、人間被写体116の身体の少なくとも前側又は後側をカバーできる複合視野(FoV)を有するマルチスキャナネットワークを集合的に形成することができる。人間被写体116は、他の物体を含むこともできるシーンの前景の一部とすることができ、本開示では簡潔さのためにこれらの物体の詳細及び図については省略する。
【0012】
なお、
図1のアンカーカメラ装置の組106及び一群のUAV108に関連するカメラの位置、向き、配置及び数は一例として示すものにすぎず、本開示を限定するものとして解釈すべきではない。本開示は、その範囲から逸脱することなく、他の位置、向き、配置、並びにこれより多くの又は少ない数のアンカーカメラ装置及びUAVにも適用可能である。
【0013】
システム102は、一群のUAV108のそれぞれのUAVに搭載又は一体化されたそれぞれのカメラを人間被写体116の人間関節に関連する情報を使用して校正するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。システム102の実装例としては、以下に限定するわけではないが、ビデオ放送システム、拡張現実ベースの装置、ゲーム装置、ビデオ処理装置、ビデオ編集システム、メディア制作システム、コンピュータワークステーション、メインフレームコンピュータ、携帯電話機、スマート家電、ビデオプレーヤ、デジタルカメラ、ビデオカメラ、サーバ、消費者電子(CE)装置、及び/又は画像処理能力を有する他のいずれかのコンピュータ装置を挙げることができる。
【0014】
MLモデル104は、2D人間関節検出タスクに基づいて訓練できるニューラルネットワークなどの人間関節検出フレームワークに対応することができる。例えば、MLモデル104は、人間被写体116の画像を受け取ってこの画像から各人間関節について一定の信頼度スコアで人間関節を検出する訓練済みニューラルネットワークを含むことができる。MLモデル104は、例えばソフトウェアコンポーネントとして実装されてコードデータベース、ライブラリ、外部スクリプト、或いはシステム102などのコンピュータシステムによるMLアルゴリズムの実行のためのその他のロジック又は命令に依拠することができる電子データを含むことができる。MLモデル104は、システム102などのコンピュータシステムが人間被写体116の画像から人間関節検出を実行することを可能にするように構成されたコード及びルーチンとして実装することができる。これに加えて又はこれに代えて、MLモデル104は、プロセッサ、(例えば、1又は2以上の動作の実行又はその性能の制御を行う)マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装することもできる。他のいくつかの事例では、ハードウェア及びソフトウェアの両方の組み合わせを使用してMLモデル104を実装することができる。
【0015】
ある実施形態によれば、MLモデル104をニューラルネットワークモデルとすることができる。ニューラルネットワークモデルの例としては、以下に限定するわけではないが、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、CNN-再帰型ニューラルネットワーク(CNN-RNN)、R-CNN、Fast R-CNN、Faster R-CNN、人工ニューラルネットワーク(ANN)、(You Only Look Once)YOLOネットワーク、長・短期記憶(LSTM)ネットワークベースのRNN、CNN+ANN、LSTM+ANN、ゲート付き再帰型ユニット(GRU)ベースのRNN、全結合ニューラルネットワーク、Connectionist Temporal Classification(CTC)ベースのRNN、ディープベイズニューラルネットワーク、敵対的生成ネットワーク(GAN)、及び/又はこれらのネットワークの組み合わせなどを挙げることができる。いくつかの実施形態では、ニューラルネットワークモデルが、複数のディープニューラルネットワーク(DNN)のハイブリッドアーキテクチャに基づくことができる。
【0016】
アンカーカメラ装置の組106の各々は、人間被写体116を含むことができる画像又は複数の画像を取り込むように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。各アンカーカメラ装置は、3D空間114内の一定の位置に固定することができる。例えば、アンカーカメラ装置は、壁又は屋根の所定の位置に固定することができる。アンカーカメラ装置の実装例としては、以下に限定するわけではないが、3D空間114内の予め校正された固定カメラ、3D空間114内の固定姿勢を維持するように構成できる、UAVに搭載又は一体化された予め校正されたカメラ、又は遠隔制御式カメラ移動アセンブリに移動可能に結合できる予め校正されたカメラなどを挙げることができる。
【0017】
一群のUAV108の各UAVは、(最初は校正されていない)カメラを取り付けることができるUAVを含むことができる。さらに、各UAVは、遠隔システムによって制御することも、又は予めプログラムされたルート又は経路に基づいて自律飛行可能なものとすることもできる。少なくとも1つの実施形態では、各UAVが、3D空間114内で自機を位置合わせして、それぞれのUAVに取り付けられたカメラのFOV領域内に常に人間被写体116が存在するように人間被写体116を追跡する人間追跡法を実装することができる。少なくとも1つの実施形態では、各UAVを、システム102の一部とすることができる中央制御ステーションから人間のパイロットが制御することができる。
【0018】
ある実施形態によれば、一群のUAV108の各々(例えば、第1のUAV108a及び第2のUAV108b)は、通信ネットワーク110を介してシステム102から制御命令を受け取ることができる。制御命令は、一群のUAV108のうちの1つ又は2つ以上が3D空間114内で移動できる3D位置(X軸、Y軸又はZ軸)又は3D経路を含むことができる。いくつかの実施形態では、このような命令が、3D空間114内の各UAVの3D姿勢に関連することができる傾斜又は配向情報を含むことができる。一群のUAV108は、システム102から受け取られた制御命令に基づいて、自機の傾斜角又は向き、及び垂直配列又は水平配列を制御することができる。UAVの例としては、以下に限定するわけではないが、カメラドローン、カメラ付きスマートプレーン、又は(システム102などによって)予めプログラムされた飛行計画及び/又は自動化システムに基づいて制御できる他の飛行車両を挙げることができる。UAVの例は、フレームタイプ及びモータの数に基づいて、以下に限定するわけではないが、3つのアーム及び1つのモータを有するトライコプター、4つのアーム及び1つのモータを有するクアッドコプター、6つのアーム及び1つのモータを有するヘキサコプター、6つのアーム及び6つのモータを有するY6コプター、8つのアーム及び1つのモータを有するオクトコプター、及び/又は8つのアーム及び8つのモータを有するX8コプターなどを含むことができる。
【0019】
第1のカメラ112a及び第2のカメラ112bの各々は、人間被写体116を含むことができる1又は複数の画像を取り込むように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。第1のカメラ112a及び第2のカメラ112bの各々は、UAVに搭載又は一体化することができる。第1のカメラ112a及び第2のカメラ112bの例としては、以下に限定するわけではないが、一眼レフカメラ、デジタル一眼レフカメラ、スタジオ又は放送グレードカメラ、高速カメラ、広角カメラ、アクションカメラ、閉回路テレビ(CCTV)カメラ、カムコーダ、デジタルカメラ、カメラ電話、飛行時間カメラ(ToFカメラ)、暗視カメラ、及び/又はその他の画像取り込み装置を挙げることができる。
【0020】
通信ネットワーク110は、システム102、アンカーカメラ装置の組106及び一群のUAV108が互いに通信できるようにする通信媒体を含むことができる。通信ネットワーク110の例としては、以下に限定するわけではないが、インターネット、クラウドネットワーク、ワイヤレスフィデリティ(Wi-Fi)ネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、又はメトロポリタンエリアネットワーク(MAN)を挙げることができる。ネットワーク環境100内の様々な装置は、様々な有線及び無線通信プロトコルに従って通信ネットワーク110に接続するように構成することができる。このような有線及び無線通信プロトコルの例としては、以下に限定するわけではないが、伝送制御プロトコル・インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、Zig Bee、EDGE、IEEE 802.11、ライトフィデリティ(Li-Fi)、802.16、IEEE 802.11s、 IEEE 802.11g、マルチホップ通信、無線アクセスポイント(AP)、装置間通信、セルラー通信プロトコル、及びBluetooth(BT)通信プロトコルなどを挙げることができる。
【0021】
説明する実施形態では、3D空間114を、人間被写体116の画像を複数の地点から取り込むことができる構築環境(例えば、屋内、屋外又はスタジオ空間)又は自然環境とすることができる。
【0022】
システム102は、動作時にシステム102のユーザインターフェイスを通じてユーザ(人間被写体116又は別の人間オペレータなど)からユーザ入力を受け取ることができる。ユーザ入力は、一群のUAV108に搭載又は一体化された(第1のカメラ112a及び第2のカメラ112bなどの)各カメラを校正するようにシステム102に命令することができる。
【0023】
一群のUAV108上のこのようなカメラの校正プロセスを初期化するために、アンカーカメラ装置の組106及び一群のUAV108に搭載又は一体化されたカメラ(第1のカメラ112a及び第2のカメラ112b)から画像を取得することができる。その後、システム102は、アンカーカメラ装置の組106から人間被写体116のアンカー画像の組を受け取ることができる。また、システム102は、一群のUAV108に搭載又は一体化されたカメラから人間被写体116の一群の画像を受け取ることもできる。受け取られる一群の画像は、3D空間114内の複数の地点から取得することができる。例えば、一群の画像のうちの第1の数の画像を第1のカメラ112aが取り込み、残りの数の画像を第2のカメラ112bが取り込むことができる。
【0024】
システム102は、受け取られたアンカー画像の組の各アンカー画像内の人間被写体116の人間関節の第1の2D位置の組を決定することができる。アンカーカメラ装置の各々は、予め校正して3D空間114内の既知の位置に固定しておくことができるので、アンカーカメラ装置の組106によって取り込まれたアンカー画像の組は、物体のキーポイントの正確な位置(例えば、人間関節の2D位置)を含むことができる。本開示では、人間関節の位置を、3D空間114内の剛直で明確な点(rigid and articulate points)として取り扱うことができる。また、実験結果に基づいて人間関節間の距離を設定することもできる。システム102は、受け取られた一群の画像の各画像内の人間被写体116の人間関節の第2の2D位置の組をさらに決定することができる。ある実施形態では、システム102が、MLモデル104を使用してアンカー画像の組から第1の2D位置の組を決定し、一群の画像から第2の2D位置の組を決定することができる。MLモデル104の実装例としては、以下に限定するわけではないが、Open Pose、Alpha Pose、及びマスク領域-畳み込みニューラルネットワーク(R-CNN)を挙げることができる。
【0025】
システム102は、決定された人間関節の第1の2D位置の組を使用した(例えば、幾何学的三角測量法を使用した)三角測量に基づいて、3D空間114内の人間関節の3D位置を3Dキーポイントとしてさらに計算することができる。さらに、システム102は、3Dキーポイントと決定された第2の2D位置の組との間の2D再投影誤差を決定することができる。システム102は、決定された2D再投影誤差を最小化することによって一群のUAV108のそれぞれのUAV上の各カメラを校正することができる。例えば、第1のカメラ112aを校正するには、第1のUAV108aに搭載又は一体化された第1のカメラ112aの画像平面上に3Dキーポイントを再投影することができる。その後、各再投影された3Dキーポイントと対応する人間関節の2D位置との間の再投影誤差を決定することができる。再投影誤差を最小化するために、目的関数を定式化して解くことができる。同様に、第2のカメラ112bについても上述した方法を繰り返すことができる。一群のUAV108の各UAV上のカメラは最初に校正されていないことがあるので、カメラの3Dキーポイントベースのカメラ校正の結果、一群のUAV108のそれぞれのUAVに取り付けられた各カメラの外部校正パラメータの値(すなわち、3D姿勢)を推定することができる。
【0026】
MLモデル104に基づく人間被写体116の人間関節の2D位置の検出は、誤差が少なく手動入力を必要としないことができる。さらに、システム102は、チェッカーボードパターンなどの従来の2Dパターンを使用する従来のカメラ校正技術に基づいて計算できるキーポイントの数と比べて多くの3Dキーポイントを計算することができる。このようなカメラ校正技術は、数多くの3Dキーポイントに対する1又は2以上の統計的手法の使用によって、ポイントミスマッチエラーが存在してもこれが抑制されるため、ポイントミスマッチ問題を発生しにくくすることができる。また、人間関節を校正に使用することで、チェッカーボードなどの校正パターンを手動で配置する必要性を排除することもできる。
【0027】
図2は、本開示の実施形態による、一群のUAVに搭載又は一体化された一群のカメラを校正する例示的なシステムを示すブロック図である。
図2の説明は
図1の要素に関連して行う。
図2にはシステム102のブロック
図200を示す。システム102は、回路202、メモリ204、入力/出力(I/O)装置206、及びネットワークインターフェイス208を含むことができる。回路202は、メモリ204、I/O装置206及びネットワークインターフェイス208に通信可能に結合することができる。また、回路202は、通信ネットワーク110を通じてアンカーカメラ装置の組106、及び一群のUAV108に搭載又は一体化された一群のカメラ112に通信可能に結合することができる。
図2に示すように、一群のUAV108は、第1のカメラ112aを有することができる第1のUAV108aと、及び第2のカメラ112bを有することができる第2のUAV108bとを含むことができる。また、図示のアンカーカメラ装置の組106は、第1のアンカーカメラ装置106a及び第2のアンカーカメラ装置106bを含む。
【0028】
回路202は、メモリ204に記憶された命令を実行するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。実行される命令は、一群のUAV108に搭載又は一体化された(第1のカメラ112a及び第2のカメラ112bなどの)一群のカメラ112の各カメラを校正するための一連の制御動作に対応することができる。回路202は、当業で周知のプロセッサ技術に基づいて実装することができる。回路202の例としては、以下に限定するわけではないが、グラフィックプロセッサユニット(GPU)、コプロセッサ、中央処理装置(CPU)、x86ベースのプロセッサ、縮小命令セットコンピューティング(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピューティング(CISC)プロセッサ、及びこれらの組み合わせを挙げることができる。
【0029】
メモリ204は、回路202が実行できる命令を記憶するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。また、メモリ204は、アンカー画像の組及び人間被写体116の一群の画像を記憶するように構成することができる。メモリ204は、アンカー画像の組から人間関節の第1の2D位置の組を決定し、一群の画像から人間関節の第2の2D位置の組を決定するために使用できるMLモデル104を記憶するようにさらに構成することができる。また、メモリ204は、計算された3DキーポイントのX、Y及びZ座標を記憶することもできる。メモリ204の実装例としては、以下に限定するわけではないが、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、ハードディスクドライブ(HDD)、固体ドライブ(SSD)、CPUキャッシュ、及び/又はセキュアデジタル(SD)カードなどを挙げることができる。
【0030】
I/O装置206は、ユーザから入力を受け取り、受け取った入力に基づいてユーザに出力を提供するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。I/O装置206は、回路202と通信するように構成できる様々な入力装置及び出力装置を含むことができる。入力装置の例としては、限定するわけではないが、タッチ画面、キーボード及び/又はマウスを挙げることができる。出力装置の例としては、限定するわけではないが、ディスプレイ及びオーディオ装置を挙げることができる。
【0031】
ネットワークインターフェイス208は、通信ネットワーク110を介してシステム102、アンカーカメラ装置の組106、一群のカメラ112及び一群のUAV108間の通信を確立するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。ネットワークインターフェイス208は、システム102による通信ネットワーク110を介した有線又は無線通信をサポートする様々な既知の技術の使用によって実装することができる。ネットワークインターフェイス208は、以下に限定するわけではないが、アンテナ、無線周波数(RF)トランシーバ、1又は2以上の増幅器、チューナ、1又は2以上の発振器、デジタルシグナルプロセッサ、コーダーデコーダ(CODEC)チップセット、加入者アイデンティティモジュール(SIM)カード、及び/又はローカルバッファを含むことができる。
【0032】
ネットワークインターフェイス208は、インターネット、イントラネット、及び/又は携帯電話ネットワーク、無線ローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)などの無線ネットワークなどのネットワークと無線通信を介して通信することができる。無線通信は、グローバルシステムフォーモバイルコミュニケーションズ(GSM)、拡張データGSM環境(EDGE)、広帯域符号分割多重アクセス(W-CDMA)、ロングタームエボリューション(LTE)、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、Bluetooth、(IEEE802.11a、IEEE802.11b、IEEE802.11g及び/又はIEEE802.11nなどの)ワイヤレスフィデリティ(WiFi)、ボイスオーバーインターネットプロトコル(VoIP)、ライトフィデリティ(Li-Fi)、Wi-MAX、電子メール、インスタントメッセージング及び/又はショートメッセージサービス(SMS)のためのプロトコルなどの複数の通信標準、プロトコル及び技術のうちのいずれかを使用することができる。
【0033】
図1で説明したようなシステム102によって実行される機能又は動作は、回路202によって実行することができる。回路202によって実行される動作については、例えば
図4、
図5及び
図6で詳細に説明する。
【0034】
図3は、本開示の実施形態による例示的なUAVのブロック図である。
図3の説明は
図1及び
図2の要素に関連して行う。
図3には、一群のUAV108のうちの1つのUAVとすることができる第1のUAV108aのブロック
図300を示す。第1のUAV108aは、回路302、メモリ304、I/O装置306、位置センサ308、推進システム310、及びネットワークインターフェイス312を含むことができる。推進システム310は、モータ314、プロペラ316、電子速度コントローラ(ESC)318、及びバッテリ320を含むことができる。当業者であれば、第1のUAV108aは、本開示の機能及び動作を説明するために本明細書に示すコンポーネント又はシステムに加えて他の好適なコンポーネント又はシステムを含むこともできると理解するであろう。第1のUAV108aの他のコンポーネント又はシステムに関する詳細な説明については、簡潔さのために本開示からは省略する。
【0035】
第1のUAV108a及びシステム102は、通信ネットワーク110を介して互いに通信可能に結合することができる。第1のカメラ112aは、3D空間114内で6自由度(DOF)などの様々なDOFを有することができるように第1のUAV308aに搭載又は一体化されるように構成することができる。第1のUAV108aのブロック
図300に示す回路302、メモリ304、I/O装置306及びネットワークインターフェイス312の機能は、例えば
図2で説明した回路202メモリ204、I/O装置206及びネットワークインターフェイス208の機能と同じものであることができる。従って、回路302、メモリ304、I/O装置306及びネットワークインターフェイス312の説明については、簡潔さのために本開示からは省略する。
【0036】
位置センサ308は、3D空間114内の第1のUAV108aの現在位置を決定するように構成できる好適なロジック、回路、インターフェイス及び/又はコードを含むことができる。少なくとも1つの実施形態では、位置センサ308が、3D空間114内の(ピッチ軸、ロール軸又はヨー軸に沿った)向きを決定することもできる。位置センサ308は、第1のUAV108aの現在の位置及び/又は向きを回路302及び/又はシステム102に伝えることができる。回路302及び/又はシステム102は、伝えられた第1のUAV108aの現在の位置及び/又は向きに基づいて第1のUAV108aの位置及び/又は向きを制御することができる。位置センサ308の例としては、以下に限定するわけではないが、全地球的航法衛星システム(GNSS)受信機、モーションセンサ、チルトセンサ、加速度計、ジャイロセンサ、慣性測定ユニット(IMU)又は感知カメラを挙げることができる。
【0037】
ある実施形態では、位置センサ308を赤外線(IR)マーカセンサ又はパターンコードスキャナとして実装することができる。IRマーカセンサの場合には、3D空間114内の所定の位置にIR光の光源を取り付けることができる。光源は、周期的点滅で又は連続的にIR光を放出することができ、第1のUAV108aに搭載又は一体化された第1のカメラ112aは、放出されたIR光を1又は2以上のIR画像として追跡して取り込むことができる。その後、回路302は、1又は2以上のIR画像に3D姿勢推定技術(例えば、Pose from Orthography and Scaling with Iteration(POSIT)法)を適用して、IR光の光源に対する第1のUAV108aの位置及び/又は向きを決定することができる。いくつかのシナリオでは、予め決定されたIR光の光源の位置が既知であり、これを第1のUAV108aのメモリ304に記憶することができる。このようなシナリオでは、回路302が、予め決定されたIR光の光源の位置と、決定された第1のUAV108aの位置及び/又は向きとに基づいて、第1のUAV108aの絶対位置及び/又は絶対的な向きを決定することができる。
【0038】
パターンコードスキャナの場合には、3D空間114内の所定の位置にQRコードマーカ又はバーコードマーカなどのパターンコードマーカを配置することができる。第1のカメラ112aは、パターンコードマーカを追跡してパターンコードマーカの画像を取り込むことができる。メモリ304は、パターンコードマーカの参照画像及びパターンコードマーカの所定の位置を記憶することができる。回路302は、取り込まれた画像を参照画像と比較して、パターンコードマーカに対する第1のUAV108aの位置及び/又は向きを決定することができる。また、回路302は、パターンコードマーカの所定の位置と、決定された第1のUAV108aの位置及び/又は向きとに基づいて、第1のUAV108aの絶対位置及び/又は絶対的な向きを決定することができる。
【0039】
推進システム310は、3D空間114内の2つの位置間で第1のUAV108aを動かすための揚力及び推力を生成できる機械、電気又は燃料ベースの一連のコンポーネントを含むことができる。推進システム310は、回路302又はシステム102から受け取られた1又は2以上の制御命令に基づいて第1のUAV108aの動きを制御することができる。推進システム310は、モータ314、プロペラ316、ESC318及びバッテリ320をさらに含むことができる。
【0040】
(回路302などの)回路、(メモリ304などの)メモリ、(I/O装置306などの)I/O装置、(位置センサ308など)の位置センサ、(推進システム310などの)推進システム及び(ネットワークインターフェイス312などの)ネットワークインターフェイスは、一群のUAV108の他のUAVにも含めることができる。ある実施形態では、第1のUAV108aがマスターUAVとして機能することができ、他のUAVが、マスターUAVから1又は2以上の制御命令を受け取ることができるスレーブUAVとして機能することができる。
【0041】
図4は、本開示の実施形態による、人間被写体の画像を取得するためのUAVに搭載又は一体化されたカメラ及びアンカーカメラ装置の例示的な実装を説明する図である。
図4の説明は
図1、
図2又は
図3の要素に関連して行う。
図4には、人間被写体116の後面に向くことができる第1のアンカーカメラ402a及び第2のアンカーカメラ402b(集合的にアンカーカメラ402の組と呼ぶ)の配置を示す
図400を示す。
図400には、第1のUAV406a及び第2のUAV406bにそれぞれ搭載又は一体化された第1のカメラ404a及び第2のカメラ404b(集合的に一群のカメラ404と呼ぶ)の配置も示す。第1のUAV406a及び第2のUAV406bは、集合的に一群のUAV406と呼ぶことができ、人間被写体116の前面に向くことができる。
【0042】
アンカーカメラ402の組の各々は、1つの位置(例えば、天井、床又は壁又は静止構造などの特定の表面)に固定できる予め校正されたカメラに対応することができる。第1のアンカーカメラ402a及び第2のアンカーカメラ402bは、人間被写体116の第1のアンカー画像及び第2のアンカー画像(集合的にアンカー画像の組と呼ぶ)をそれぞれ取得するように構成することができる。システム102は、アンカー画像の組を取得するために、通信ネットワーク110を介して共有される制御命令に基づいてアンカーカメラの組402を制御することができる。
【0043】
また、システム102は、一群のUAV406を3D空間114内の複数の地点において動くように制御するとともに、一群のUAV406に搭載又は一体化された一群のカメラ404をこのような地点から人間被写体116の一群の画像を取得するように制御することができる。少なくとも1つの実施形態では、システム102が、一群のカメラ404の各々のFOV領域が人間被写体116の身体の一部を取り込んだ後でここから最低限必要な数の人間関節を検出できるようにこのような地点を選択することができる。アンカーカメラ402の組及び一群のUAV406に搭載又は一体化された一群のカメラ404は、アンカー画像の組及び人間被写体116の一群の画像を取り込むと、これらをそれぞれシステム102に送信することができる。アンカー画像の組及び一群の画像に基づく第1のカメラ404a及び第2のカメラ404bの校正については、例えば
図6において詳細に説明する。
【0044】
図5は、本開示の実施形態による、人間被写体の画像を取得するためのUAVに搭載又は一体化されたカメラ及びアンカーカメラ装置の例示的な実装を示す図である。
図5の説明は
図1、
図2及び
図3の要素に関連して行う。
図5には、3D空間114内の第1のカメラ502a、第2のカメラ502b及び第3のカメラ502cを示す
図500を示す。第1のカメラ502a、第2のカメラ502b及び第3のカメラ502cは、それぞれ第1のUAV504a、第2のUAV504b及び第3のUAV504cに搭載又は一体化することができる。
【0045】
第1のUAV504aは、3D空間114内で固定姿勢を維持することができる。本明細書では、固定姿勢が、3D空間114内の第1のUAV504aの静止位置及び静止配向(ロール、ヨー、ピッチ)に対応することができる。このような事例では、第1のカメラ502a及び第1のUAV504aのアセンブリを、固定姿勢を保ちながら第1のカメラ502aを使用して人間被写体116のアンカー画像の組を取り込むことができるアンカーカメラ装置として指定することができる。また、第1のカメラ502aは、第1のUAV504aの固定姿勢に関して予め校正することができる。残りのUAV(すなわち、第2のUAV504b及び第3のUAV504c、集合的に一群のUAVと呼ぶ)は、固定姿勢に対して動いて複数の地点から人間被写体116の一群の画像を取得するように制御することができる。
【0046】
システム102は、第2のUAV504b及び第3のUAV504cの各々を3D空間114内でこのような地点に移動してこのような地点から一群の画像を取り込むように制御することができる。第1のUAV504a又は第1のUAV504a上の第1のカメラ502aは、人間被写体116のアンカー画像の組を取り込むと、これをシステム102に送信することができる。また、一群のカメラ(すなわち、第2のカメラ502b及び第3のカメラ502c)も、人間被写体116の一群の画像をシステム102に送信することができる。第2のカメラ502b及び第3のカメラ502c(集合的に一群のカメラと呼ぶ)の校正は、例えば
図6で詳細に説明するようにアンカー画像の組及び一群の画像に基づくことができる。
【0047】
図6は、本開示の実施形態による、人間関節に基づいてUAV上のカメラを校正する例示的な動作を示す図である。
図6の説明は
図1、
図2、
図3、
図4又は
図5の要素に関連して行う。
図6には、第1のUAV406aに搭載又は一体化された第1のカメラ404a、及び第2のUAV406bに搭載又は一体化された第2のカメラ404bを校正する例示的な動作602~610を示す
図600を示す。
図600に示す例示的な動作は602から開始することができ、
図1のシステム102又は
図3の回路302などのいずれかのコンピュータシステム、装置又はデバイスによって実行することができる。
図600の1又は2以上のブロックに関連する動作については離散ブロックで示しているが、これらは特定の実装に応じてさらなるブロックに分割し、より少ないブロックに結合し、又は削除することもできる。
【0048】
602において、データ取得を実行することができる。回路202は、データ取得のために、(第1のアンカーカメラ402a及び第2のアンカーカメラ402bを含む)アンカーカメラ402の組を人間被写体116のアンカー画像の組を取り込むように制御することができる。アンカーカメラの組402は、アンカー画像の組を取り込むことができる3D空間114内の特定の位置に固定することができる。また、回路202は、一群のUAV406を3D空間114内の複数の地点において動くように制御することができる。その後、一群のUAV406に搭載又は一体化された一群のカメラ404を、これらの複数の地点から人間被写体116の一群の画像を取得するように制御することができる。
図6には、一群のカメラ404のうちの1つのカメラから取得されたアンカー画像602a及び画像602bの例を示す。アンカー画像602a及び画像602bは、いずれも人間被写体116を含む。回路202は、通信ネットワーク110を介して、アンカーカメラの組402からアンカー画像の組を受け取り、一群のUAV406に搭載又は一体化された一群のカメラ404から一群の画像を受け取ることができる。
【0049】
604において、アンカー画像の組から人間関節の第1の2D位置の組を決定することができる。回路202は、アンカー画像の組(例えば、アンカー画像602a)から人間被写体116の人間関節の第1の2D位置の組を決定するように構成することができる。このような決定のために、回路202は、アンカー画像の組の(アンカー画像602aなどの)各アンカー画像にMLモデル104を適用することができる。MLモデル104は、人間関節検出タスクに基づいて訓練されたニューラルネットワークを含むことができる人間関節検出フレームワークに対応することができる。人間関節の2D位置(すなわち、第1の2D位置の組)は、以下のように与えられる方程式(1)によって表すことができ、
(1)
ここで、
は、i番目の検出された人間関節の2D位置であり、
は、i番目の検出された人間関節の信頼値であり、
は、i番目の検出された人間関節のタイプ(例えば、左手首、右ひじ)であり、
Mは、検出された人間関節の総数である。
【0050】
図示のように、アンカー画像602aは、人間被写体116の後方ビューから取り込むことができる。人間関節位置612a及び612bは、アンカー画像602a内の人間被写体116の頭部及び頸部にそれぞれ対応することができる。さらに、人間関節位置612c、612d及び612eは、アンカー画像602a内の人体被写体116の左肩関節、左肘関節及び左手首関節に対応することができる。人間関節位置612f、612g及び612hは、アンカー画像602a内の人体被写体116の右肩関節、右肘関節及び右手首関節に対応することができる。さらに、人間関節位置612i、612j及び612kは、アンカー画像602a内の人体被写体116の左腰関節、左膝関節及び左足首関節に対応することができ、人間関節位置612l、612m及び612nは、アンカー画像602a内の人体被写体116の右腰関節、右膝関節及び右足首関節に対応することができる。
【0051】
606において、一群の画像から人間関節の第2の2D位置の組を検出することができる。回路202は、一群の画像(例えば、画像602b)から人間被写体116の人間関節の第2の2D位置の組を検出するように構成することができる。回路202は、第2の2D位置の組を検出するために、一群の画像からの各画像(例えば、画像602b)にMLモデル104を適用することができる。第2の2D位置の組も方程式(1)によって与えることができる。
【0052】
図示のように、回路202は、画像602bからの人間被写体116の人間関節の第2の2D位置の組を人間関節位置614a~614nとして決定することができる。画像602bは、人間被写体116の前方部分から取り込むことができる。人間関節位置614a及び614bは、画像602b内の人間被写体116の頭部及び頸部に対応することができる。さらに、人間関節位置614c、614d及び614eは、画像602b内の人間被写体116の右肩関節、右肘関節及び右手首関節に対応することができる。人間関節位置614f、614g及び614hは、画像602b内の人体被写体116の左肩関節、左肘関節及び左手首関節に対応することができる。さらに、人間関節位置614i、616j及び614kは、画像602b内の人体被写体116の右腰関節、右膝関節及び右足首関節に対応することができ、人間関節位置614l、614m及び614nは、画像602b内の人体被写体116の左腰関節、左膝関節及び左足首関節に対応することができる。
【0053】
608において、3Dキーポイント618を計算することができる。回路202は、決定された人間関節の第1の2D位置の組を使用する三角測量に基づいて人間被写体116の人間関節の3D位置を計算することができる。回路202は、3D座標系620に関する計算された人間被写体116の人間関節の3D位置として3Dキーポイント618を指定することができる。3Dキーポイント618の計算については本明細書において説明する。人間関節位置値を2D画像平面から3D実空間に変換するには、単純な透視カメラモデルを採用することができる。このようなシナリオでは、所定の内部カメラパラメータと、3次元における特殊ユークリッド群(すなわち、se(3)パラメータ)とを使用することによって、検出された各人間関節点の(重み及びラベルを有する)透視投影射線(erspective projection-rays)を取得することができる。上記シナリオによる透視カメラモデルは以下のように表すことができ、
(2)
ここで、
は、3D内のn番目のカメラからのi番目の人間関節の正規化方向ベクトルであり、
は、3D内のn番目のカメラ位置である。
【0054】
回路202は、校正されたカメラ(例えば、第1のアンカーカメラ402a)の既知の又は校正された光学中心を使用することにより、3D線(すなわち、線束(ray))に沿った人間関節の第1の2D位置の組を使用して三角測量を実行することができる。校正された光学中心を通る3D線に沿った特定の人間関節の(第1の2D位置の組からの)2D位置に関連する正規化された3D方向ベクトルを「e」とみなす。「e」は、校正されたカメラからの3D線に沿った特定の人間関節の正規化された3D方向ベクトルを表すことができる。さらに、この校正された光学中心を通る3D線上の3D点を「a」とみなす。本明細書では、3D線上の3D点「a」が、既知の姿勢の内部的に校正されたカメラ(例えば、第1のアンカーカメラ402a)のカメラ位置を表すことができる。3D線と3D点との間の距離は、以下のような方程式(3.1)及び(3.2)によって与えることができ、
(3.1)
(3.2)
ここで、
θは、正規化された3Dベクトルeと3D線との間の角度を表すことができ、
xは、3Dベクトル「e」に垂線を落とすことができる3D線上の点を表すことができ、
lは、3D点「a」と点「x」との間の距離を表すことができる。
【0055】
1つの実施形態では、回路202が、(第1のアンカーカメラ402aなどの)アンカーカメラの異なる位置についての人間関節の複数の3D線とそれぞれの複数の正規化された3Dベクトル「e
n」との重み付き最小二乗を決定することができる。本明細書では、これら複数の3D線の各々が、アンカーカメラの異なる位置を表す複数の3D点「a
n」のそれぞれの3D点を通過する。重み付き最小二乗は、以下のような方程式(4.1)及び(4.2)で表され、
(4.1)
(4.2)
ここで、
w
nは、n番目の3D線の重みを表し、
d
nは、3D点「a
n」とn番目の3D線との間の距離を表すことができる。
【0056】
方程式(4.2)は、3D線に沿った3D点のx軸座標について展開することができる。方程式(4.2)の展開式は、以下のような方程式(5)によって与えられ、
(5)
ここで、iは、3D線に沿った3D点のx軸座標のインデックスを表すことができる。
【0057】
回路202は、方程式(5)に対して偏微分演算を適用して以下のような方程式(6)を得ることができ、
(6)
ここで、jは、3D線に沿った3D点のy軸座標のインデックスを表すことができる。静止状態:
を仮定すると、以下のような方程式(7.1)及び(7.2)を得ることができる。
(7.1)
(7.2)
方程式(7.2)から、線形システムAx=Bを得ることができる。線形システムAx=Bのための線形方程式(8.1)、(8.2)が以下のように与えられる。
(8.1)
(8.2)
【0058】
回路202は、方程式(8.1)及び(8.2)の線形方程式の解{xi}に基づいて3Dキーポイント618の第1の3Dキーポイントを計算することができる。第1の3Dキーポイントは、人間関節のうちの1つに関連することができる。同様に、回路202は、上述した方法に従って決定された第1の2D位置の組からのそれぞれの2D位置を使用して、残りの人間関節に関連する残りの3Dキーポイントを計算することができる。
【0059】
610において、一群のUAV406に搭載又は一体化された一群のカメラ404を校正することができる。回路202は、第1のカメラ404a及び第2のカメラ404bの各々の3D姿勢(位置及び向き)を推定することによって第1のカメラ404a及び第2のカメラ404bを校正することができる。複数のカメラ(例えば、第1のカメラ404a及び第2のカメラ404b)のカメラ位置及び向き、6自由度(DoF)を含むカメラ校正のための標的パラメータを推定するために、方程式9のような特殊ユークリッドse(3)のリー代数的なパラメータ化(Special Euclidean se(3) Lie algebraic parameterization)を使用することができ、
(9)
ここで、
Nはカメラの総数である。
【0060】
特殊ユークリッドリー代数se(3)は、6つの要素を有することができる。最初の3つの要素:
は、特殊直交リー代数(すなわち、so(3))を表すことができ、後の3つの要素:
は、それぞれ3D空間における変換要素T(3)∈R
3を表すことができる。実作業では、行列表現を得るために指数写像se(3)→SE(3)を採用することができる。
【0061】
ある実施形態では、(第1のアンカーカメラ402a、第2のアンカーカメラ402b、第1のカメラ404a及び第2のカメラ404bを含む)複数のカメラの各々の内部校正パラメータの値を予め決定し、又は与えることができる。
【0062】
ある実施形態では、回路202を、各カメラ(例えば、第1のカメラ404a及び第2のカメラ404b)の3D姿勢を推定するためのグローバルゲージ(global gauge)を設定するように構成することができる。回路202は、グローバルゲージを設定するために、0番目のカメラ(例えば、第1のアンカーカメラ402a)の位置及び向きを所定の3D点及び方向として設定して以下のように表すことができる。
(10)
【0063】
回路202は、0番目のカメラ(例えば、第1のアンカーカメラ402a)と1番目のカメラ(例えば、第2のアンカーカメラ402b)との間の相対的なx-距離を以下のように設定することができる。
(11)
回路202は、方程式(10)及び(11)を使用することにより、バンドル調整ベースの技術における「トリビアルゲージ固定(trivial gauge fixing)」を使用して、一群のカメラ404(例えば、第1のカメラ404a及び第2のカメラ404b)を校正するためのグローバルゲージを設定することができる。
【0064】
回路202は、一群のカメラ404の各カメラの3D姿勢(すなわち、位置(すなわち、並進パラメータ)及び向き(すなわち、回転パラメータ)などの外部カメラパラメータ)の推定によって一群のカメラ404(例えば、第1のカメラ404a及び第2のカメラ404b)を校正するように構成することができる。このようなカメラ校正のために、2D再投影誤差に関する最適化問題を定式化することができる。回路202は、3Dキーポイント618と決定された人間関節の第2の2D位置の組との間の2D再投影誤差を決定することができる。その後、定式化された最適化問題を使用して、決定された2D再投影誤差を最小化することによって校正を実行することができる。
【0065】
例えば、第1のカメラ404aの校正では、3Dキーポイント618を第1のカメラ404aの画像平面上に再投影することができる。その後、再投影された各3Dキーポイントと対応する人間関節の2D位置との間の再投影誤差を決定することができる。再投影誤差を最小化するために、最適化問題の目的関数を定式化して解くことができる。同様に、第2のカメラ404bについても上述した方法を繰り返すことができる。一群のUAV406の各UAV上のカメラは最初に校正されていないことがあるので、カメラの3Dキーポイントベースのカメラ校正の結果、一群のUAV108のそれぞれのUAVに取り付けられた各カメラの外部校正パラメータの値(すなわち、3D姿勢)を推定することができる。2D再投影誤差は、透視カメラモデルビューに基づいて投影された点と、3D座標系620における点の測定位置との間の幾何学的誤差に対応することができる。2D再投影誤差は、点の作用投影(action projection)(例えば、決定された人間関節の第2の2D位置の組)に対する3Dキーポイントの推定値の近接度を定量化することができる。
【0066】
例えば、人間関節の3Dキーポイント(目標点)が3D座標系620の座標(X、Y、Z)によって表されると考える。3Dキーポイントは、(一群のカメラ404のうちの1つなどの)カメラの光学中心に関連する画像平面上の2D点として再投影することができる。2D点は、(x
p/z
p,y
p/z
p)によって表すことができる。ここで、x
p、y
p、z
pは、それぞれ画像平面上に再投影された3D点の透視投影のx軸、y軸及びz軸座標とすることができる。一群のカメラ404によって取得された一群の画像内の人間関節の第2の2D位置の組から、カメラの画像平面上の人間関節の2D位置を2D点(x
d,y
d)によって表すことができる。2D点(x
p/z
p,y
p/z
p)と2D点(x
d,y
d)との間の2D再投影誤差δは、以下のような方程式(12)によって表すことができ、
(12)
ここで、xp、yp及びzpは以下のような方程式(13)によって与えられ、
(13)
ここで、Mは、カメラの内部パラメータを含む4×4のカメラ投影行列である。
【0067】
上述した一群のカメラ404の校正のための技術は、フレーム毎の校正技術と呼ぶことができる。このようなプロセスは、複数の電子装置、又はコンピュータ装置の複数のプロセッサ上で処理されるように並列化することができる。本開示は、時間蓄積ベースのカメラ校正法などの、一群のカメラ404の校正のための他の技術にも適用可能である。
【0068】
ある実施形態では、一群のUAV406のうちの少なくとも1つのUAV(例えば、第1のUAV406a)が位置センサを含むことができる。位置センサは、全地球航法衛星システム(GNSS)受信機、慣性測定ユニット(IMU)、感知カメラ、赤外線マーカセンサ又はパターンコードスキャナのうちの1つとすることができる。ある実施形態では、システム102の回路202又は(第1のUAV406aの)回路302を、対応するUAV(例えば、第1のUAV406a)の位置センサから取得された絶対位置情報にさらに基づいて、一群のUAV406の残りのUAV(例えば、第2のUAV406b)に搭載又は一体化された各カメラを校正するように構成することができる。
【0069】
別の実施形態では、一群のカメラ404の各カメラ(例えば、第1のカメラ404a及び第2のカメラ404b)を、一群のUAV406に搭載又は一体化された一群のカメラ404の内部校正パラメータの値にさらに基づいて校正することができる。このような内部校正パラメータの例としては、以下に限定するわけでないが、視野角(すなわち、カメラに関連する焦点距離及び画面サイズ)、アスペクト比、及び歪みパラメータを挙げることができる。
【0070】
図7は、本開示の実施形態による、一群のUAVに搭載又は一体化された一群のカメラを校正する例示的な動作を示すフローチャートである。
図7にはフローチャート700を示す。フローチャート700の説明は
図1、
図2、
図3、
図4、
図5及び
図6に関連して行う。702~716の方法は、
図1のシステム102又は
図3の回路302などのいずれかのコンピュータシステムによって実行することができる。フローチャート700の動作は702から開始して704に進むことができる。
【0071】
704において、アンカーカメラ装置の組106から人間被写体116のアンカー画像の組を受け取ることができる。少なくとも1つの実施形態では、回路202を、アンカーカメラ装置の組106からアンカー画像の組を受け取るように構成することができる。
【0072】
706において、一群のUAV108に搭載又は一体化された一群のカメラ112から、3D空間114内の複数の地点からの人間被写体116の一群の画像を受け取ることができる。少なくとも1つの実施形態では、回路202を、一群のカメラから一群の画像を受け取るように構成することができる。
【0073】
708において、受け取られたアンカー画像の組の各アンカー画像内の人間被写体116について人間関節の第1の2D位置の組を決定することができる。少なくとも1つの実施形態では、回路202が、アンカー画像の組の各アンカー画像内の人間被写体116の人間関節の第1の2D位置の組を決定することができる。
【0074】
710において、受け取られた一群の画像の各画像内の人間被写体116について人間関節の第2の2D位置の組を決定することができる。少なくとも1つの実施形態では、回路202が、一群の画像の各画像内の人間被写体116の人間関節の第2の2D位置の組を決定することができる。
【0075】
712において、決定された人間関節の第1の2D位置の組を使用する三角測量に基づいて、3D空間(例えば、3D空間114)内の人間関節の3D位置を3Dキーポイントとして計算することができる。少なくとも1つの実施形態では、回路202が、決定された人間関節の第1の2D位置の組を使用することによる三角測量に基づいて、3D空間114内の人間関節の3D位置を3Dキーポイントとして計算することができる。
【0076】
714において、3Dキーポイントと決定された第2の2D位置の組との間の2D再投影誤差を決定することができる。少なくとも1つの実施形態では、回路202が、3Dキーポイントと決定された第2の2D位置の組との間の2D再投影誤差を決定することができる。
【0077】
716において、決定された2D再投影誤差を最小化することによって一群のカメラ112の各カメラを校正することができる。少なくとも1つの実施形態では、回路202が、決定された2D再投影誤差を最小化することによって一群のカメラ112の各カメラを校正することができる。制御は終了に進むことができる。
【0078】
フローチャート700については、704、706、708、710、712、714及び716などの離散的な動作として示しているが、いくつかの実施形態では、開示する実施形態の本質を損なうことなく、特定の実装に応じてこのような離散的動作をさらなる動作にさらに分割し、より少ない動作に結合し、又は削除することもできる。
【0079】
本開示の様々な実施形態は、1又は2以上の回路を含む機械及び/又はコンピュータによって実行可能な命令セットを記憶した非一時的コンピュータ可読媒体及び/又は記憶媒体、及び/又は非一時的機械可読媒体及び/又は記憶媒体を提供することができる。命令セットは、機械及び/又はコンピュータによって、アンカーカメラ装置の組から人間被写体のアンカー画像の組を受け取ることを含む動作を実行するように実行可能とすることができる。動作は、一群のUAVに搭載又は一体化された一群のカメラから、3次元(3D)空間内の複数の地点からの人間被写体の一群の画像を受け取ることをさらに含む。さらに、動作は、受け取られたアンカー画像の組の各アンカー画像内の人間被写体について人間関節の第1の2次元(2D)位置の組を決定することを含む。動作は、受け取られた一群の画像の各画像内の人間被写体について人間関節の第2の2D位置の組を決定することをさらに含む。動作は、決定された人間関節の第1の2D位置の組を使用した三角測量に基づいて、人間関節の3D位置を3D空間内の3Dキーポイントとして計算することをさらに含む。動作は、3Dキーポイントと決定された第2の2D位置の組との間の2D再投影誤差を決定し、決定された2D再投影誤差を最小化することによって一群のカメラの各カメラを校正することをさらに含む。
【0080】
本開示のいくつかの実施形態は、UAVに搭載又は一体化されたカメラの校正のためのシステム及び方法において見出すことができる。本開示の様々な実施形態は、(回路202(
図2)などの)回路を含むことができる(システム102(
図1)などの)システムを提供することができる。回路202は、(アンカーカメラ装置の組106(
図1)などの)アンカーカメラ装置の組から人間被写体(例えば、人間被写体116(
図1))のアンカー画像の組を受け取るように構成することができる。さらに、回路202は、(一群のUAV108(
図1)などの)一群のUAV上の一群のカメラ(例えば、第1のカメラ112a及び第2のカメラ112b(
図1))から、3D空間(例えば、3D空間114(
図1))内の複数の地点からの人間被写体116の一群の画像を受け取るように構成することができる。回路202は、受け取られたアンカー画像の組の各アンカー画像内の人間被写体116について人間関節の第1の2D位置の組を決定することができる。さらに、回路202は、受け取られた一群の画像の各画像内の人間被写体116について人間関節の第2の2D位置の組を決定することができる。また、回路202は、決定された人間関節の第1の2D位置の組を使用した三角測量に基づいて、3D空間内の人間関節の3D位置を3Dキーポイントとして計算することができる。回路202は、3Dキーポイントと決定された第2の2D位置の組との間の2D再投影誤差を決定することができる。さらに、回路202は、決定された2D再投影誤差を最小化することによって一群のカメラの各カメラ(例えば、第1のカメラ112a及び第2のカメラ112b)を校正することができる。
【0081】
ある実施形態では、3D空間114が、屋外空間、屋内空間、又はボリュメトリックキャプチャのためのスタジオ環境のうちの1つに関連することができる。回路202は、一群のUAV108を3D空間114内の複数の地点において動くように制御するようさらに構成することができる。回路202は、一群のカメラ(例えば、第1のカメラ112a及び第2のカメラ112b)を複数の地点から人間被写体116の一群の画像を取得するようにさらに制御することができる。ある実施形態では、アンカーカメラ装置の組が、(第1のUAV504a(
図5)などの)UAVに搭載又は一体化されて、(第2のUAV504b及び第3のUAV504c(
図5)を含むことができる一群のUAVなどの)一群のUAVが固定姿勢に対して動いて一群の画像を取得するように制御されている間に固定姿勢を維持するように構成できる、少なくとも1つのカメラ(例えば、第1のカメラ502a(
図5))を含むことができる。
【0082】
ある実施形態では、アンカーカメラ装置の組が、一群のUAV(例えば、第1のUAV406a及び第2のUAV406bを含む一群のUAV)が一群の画像を取得するように制御されている間に3D空間114内の位置に固定できる少なくとも1つの予め校正された(第1のアンカーカメラ402a(
図4)などの)カメラを含むことができる。アンカーカメラ装置の組は、遠隔制御式カメラ移動アセンブリに移動可能に結合された少なくとも1つの予め校正されたカメラを含むことができる。回路202は、3D空間114内のアンカーカメラ装置の組をアンカー画像の組を取得するように制御するようさらに構成することができる。
【0083】
回路202は、受け取られたアンカー画像の組の各アンカー画像に機械学習(ML)モデル(例えば、MLモデル104(
図1))を適用することによって人間関節の第1の2D位置の組を決定するように構成することができる。MLモデル104は、人間関節検出フレームワークとして、2D人間関節検出タスクに基づいて訓練されたニューラルネットワークを含むことができる。回路202は、受け取られた一群の画像の各画像にMLモデル104を適用することによって人間関節の第2の2D位置の組を決定するようにさらに構成することができる。
【0084】
ある実施形態では、各UAV(例えば、第1のUAV406a及び第2のUAV406b)の校正が、対応するカメラ(例えば、第1のカメラ404a及び第2のカメラ404b)の3D姿勢の推定に対応することができる。3D姿勢は、3D空間114内の対応するカメラの3D位置及び向きを含むことができる。
【0085】
ある実施形態では、一群のUAV406のうちの少なくとも1つのUAV(例えば、第1のUAV406a(
図4))が位置センサを含むことができる。位置センサの例としては、以下に限定するわけではないが、全地球航法衛星システム(GNSS)受信機、慣性測定ユニット(IMU)、感知カメラ、赤外線マーカセンサ、又はパターンコードスキャナを挙げることができる。回路202は、対応するUAV(例えば、第1のUAV406a)の位置センサから取得された絶対位置情報にさらに基づいて一群のカメラの各カメラ(例えば、
図4の第2のカメラ404b)を校正するように構成することができる。ある実施形態では、回路202を、対応するカメラの内部校正パラメータの値にさらに基づいて一群のカメラの各カメラ(例えば、第1のカメラ404a及び第2のカメラ404b)を校正するように構成することができる。
【0086】
本開示は、ハードウェアで実現することも、又はハードウェアとソフトウェアの組み合わせで実現することもできる。本開示は、少なくとも1つのコンピュータシステム内で集中方式で実現することも、又は異なる要素を複数の相互接続されたコンピュータシステムにわたって分散できる分散方式で実現することもできる。本明細書で説明した方法を実行するように適合されたコンピュータシステム又はその他の装置が適することができる。ハードウェアとソフトウェアとの組み合わせは、ロードされて実行された時に本明細書で説明した方法を実行するようにコンピュータシステムを制御することができるコンピュータプログラムを含む汎用コンピュータシステムとすることができる。本開示は、他の機能も実行する集積回路の一部を含むハードウェアで実現することができる。
【0087】
本開示は、本明細書で説明した方法の実装を可能にする全ての特徴を含み、コンピュータシステムにロードされた時にこれらの方法を実行できるコンピュータプログラム製品に組み込むこともできる。本文脈におけるコンピュータプログラムは、情報処理能力を有するシステムに特定の機能を直接的に、或いはa)別の言語、コード又は表記法への変換、b)異なる内容形態での複製、のいずれか又は両方を行った後に実行させるように意図された命令セットの、いずれかの言語、コード又は表記法におけるいずれかの表現を意味する。
【0088】
いくつかの実施形態を参照しながら本開示を説明したが、当業者であれば、本開示の範囲から逸脱することなく様々な変更を行うことができ、同等物を代用することもできると理解するであろう。また、本開示の範囲から逸脱することなく、特定の状況又は内容を本開示の教示に適合させるように多くの修正を行うこともできる。従って、本開示は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に収まる全ての実施形態を含むように意図される。
【符号の説明】
【0089】
102 システム
104 MLモデル
106 アンカーカメラ装置の組
106a 第1のアンカーカメラ装置
106b 第2のアンカーカメラ装置
108 一群のUAV
108a 第1のUAV
108b 第2のUAV
110 通信ネットワーク
112 一群のカメラ
112a 第1のカメラ
112b 第2のカメラ
114 3D空間
116 人間被写体