(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023129302
(43)【公開日】2023-09-14
(54)【発明の名称】カメラキャリブレーション方法及び装置
(51)【国際特許分類】
G06T 7/80 20170101AFI20230907BHJP
【FI】
G06T7/80
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023023389
(22)【出願日】2023-02-17
(31)【優先権主張番号】202210212136.3
(32)【優先日】2022-03-04
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】ソォン・シュイ
(72)【発明者】
【氏名】タヌ・ジミン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096DA02
5L096HA11
(57)【要約】
【課題】本発明は、カメラキャリブレーション方法及び装置を提供する。
【解決手段】かかるカメラキャリブレーション方法は、入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び、前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得することを含む。
【選択図】
図8
【特許請求の範囲】
【請求項1】
カメラキャリブレーション装置であって、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得する特徴抽出ユニット;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得する第一変換ユニット;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得する第二変換ユニットを含む、カメラキャリブレーション装置。
【請求項2】
請求項1に記載のカメラキャリブレーション装置であって、
前記特徴抽出ユニットは残差ネットワークを使用して入力画像に対して特徴抽出を行い、
前記第一深度特徴は前記残差ネットワークによって抽出されるブロック4特徴であり、
前記第二深度特徴は前記残差ネットワークによって抽出されるブロック3特徴である、カメラキャリブレーション装置。
【請求項3】
請求項1に記載のカメラキャリブレーション装置であって、
前記第一変換ユニットは、
前記第一深度特徴をエンコーディングしてエンコーディング後の第一深度特徴を得る第一エンコーダー;及び
前記クエリパラメータに基づいて前記エンコーディング後の第一深度特徴をデコーディングして前記第一推定結果を得る第一デコーダーを含む、カメラキャリブレーション装置。
【請求項4】
請求項3に記載のカメラキャリブレーション装置であって、
前記クエリパラメータは、
前記入力画像からの線分検出結果;及び
データセットからの視野、天頂消失点及び水平線を含む、カメラキャリブレーション装置。
【請求項5】
請求項4に記載のカメラキャリブレーション装置であって、
直線検出アルゴリズムを使用して前記入力画像に対して線分検出を行って前記線分検出結果を得る線分検出ユニットをさらに含む、カメラキャリブレーション装置。
【請求項6】
請求項3に記載のカメラキャリブレーション装置であって、
前記第一エンコーダーは6つのエンコーディング層を採用して前記第一深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション、残差接続と正規化、フィードフォワードネットワーク、及び残差接続と正規化を含み、
前記第一デコーダーは6つのデコーディング層を採用して前記エンコーディング後の第一深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション、残差接続と正規化、マルチヘッドクロスアテンション、残差接続と正規化、フィードフォワードネットワーク、及び残差接続と正規化を含む、カメラキャリブレーション装置。
【請求項7】
請求項1に記載のカメラキャリブレーション装置であって、
前記第二変換ユニットは、
前記第二深度特徴をエンコーディングしてエンコーディング後の第二深度特徴を得る第二エンコーダー;及び
前記第一推定結果に基づいて前記エンコーディング後の第二深度特徴をデコーディングして前記第二推定結果を得る第二デコーダーを含む、カメラキャリブレーション装置。
【請求項8】
請求項7に記載のカメラキャリブレーション装置であって、
前記第二エンコーダーは6つのエンコーディング層を採用して前記第二深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション、残差接続と正規化、フィードフォワードネットワーク、及び残差接続と正規化を含み、
前記第二デコーダーは6つのデコーディング層を採用して前記エンコーディング後の第二深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション、残差接続と正規化、マルチヘッドクロスアテンション、残差接続と正規化、フィードフォワードネットワーク、及び残差接続と正規化を含む、カメラキャリブレーション装置。
【請求項9】
記憶器と、前記記憶器に接続される処理器とを含むコンピュータ装置であって、
前記記憶器にはコンピュータプログラムが記憶されており、
前記処理器は前記コンピュータプログラムを実行して、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得する
ことを含むカメラキャリブレーション方法を実現するように構成される、コンピュータ装置。
【請求項10】
コンピュータに、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得する
ことを含むカメラキャリブレーション方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理の技術分野に関し、特に、カメラキャリブレーション(camera calibration)方法及び装置に関する。
【背景技術】
【0002】
消失点(vanishing points、VPs)及び水平線(horizon line)に基づく従来のカメラキャリブレーション方法は画像中の線分のみに依存しているため、インライアライン(inlier lines)が誤って検出されると、これらの方法のパフォーマンスは低下する恐れがある。
【0003】
近年、深層学習ベースのカメラキャリブレーション方法が幾つか提案されている。しかし、これらの方法はすべて畳み込みニューラル
ネットワーク(convolutional neural networks、CNNs)に基づいているため、画像の長期的な依存関係やグローバルな特徴をキャプチャ(capture)する面において効率が比較的低い。
【0004】
なお、上述の背景技術についての紹介は、本発明の技術案を明確かつ完全に説明し、また、当業者がそれを理解しやすいためのものである。これらの技術案は、本発明の背景技術に記述されているため、当業者にとって周知であると解釈してはならない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
カメラキャリブレーションの精度及び安定性を向上させるために、本発明の実施例は、マルチスケール変換器を用いてカメラパラメータを推定するカメラキャリブレーション方法及び装置の提供を課題とする。
【課題を解決するための手段】
【0006】
本発明の実施例の一側面によれば、カメラキャリブレーション装置が提供され、それは、
入力画像に対して特徴抽出を行って、第一深度特徴(depth feature)及び第二深度特徴を取得する特徴抽出ユニット;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得する第一変換ユニット;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得する第二変換ユニットを含む。
【0007】
本発明の実施例のもう1つの側面によれば、コンピュータ装置が提供され、前記コンピュータ装置は記憶器及び処理器を含み、前記記憶器にはコンピュータプログラムが記憶されており、前記処理器は前記コンピュータプログラムを実行して次のような方法を実現するように構成され、即ち、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得することを含む方法である。
【0008】
本発明の実施例のまたもう1つの側面によれば、コンピュータ可読プログラムを記憶している記憶媒体が提供され、前記コンピュータ可読プログラムはコンピュータに次のような方法を実行させ、即ち、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得することを含む方法である。
【発明の効果】
【0009】
本発明の実施例の有利な効果は少なくとも次のとおりである。即ち、マルチスケール特徴を用いてカメラキャリブレーションを行うことで、任意の画像が与えられた場合、カメラのパラメータを推定し、カメラキャリブレーションの精度及び安定性を改善することができる。
【0010】
また、1つの実施例について説明した及び/又は示した特徴は、同じ又は類似した方式で1つ又は複数の他の実施例に使用し、他の実施例における特徴と組み合わせ、又は他の実施例における特徴を置換することもできる。
【0011】
なお、「含む/有する」のような用語は、本明細書に使用されるときに、特徴、要素、ステップ、又はアセンブルの存在を指すが、1つ又は複数の他の特徴、要素、ステップ、又はアセンブリの存在若しくは付加を排除しないということも指す。
【図面の簡単な説明】
【0012】
本発明の1つの図面又は1つの実施例に記載の要素及び特徴は、1つ又は複数の他の図面又は実施例に示した要素及び特徴と組み合わせることができる。また、図面では、類似した符号は、幾つの図面の中の対応部品を示し、複数の実施例に用いられる対応部品を示すためにも用いられる。
【
図1】本発明の実施例に係るカメラキャリブレーション装置を示す図である。
【
図4】本発明の実施例に基づいて入力画像に対してカメラキャリブレーションを行う処理プロセスの一例のフレームワークを示す図である。
【
図5】本発明の実施例による、Googleストリートビューデータセット上のカメラキャリブレーションの視覚効果を示す図である。
【
図6】本発明の実施例と、従来の3種類の方法とによる、Googleストリートビューデータセット上のカメラキャリブレーションの異なるパラメータの誤差の比較を示す図である。
【
図7】GSVデータセット上で、本発明の実施例と、CTRL-C及びGPNETの方法とによるカメラキャリブレーションによって得られた水平線及び水平線真値(GT)の比較結果を示す図である。
【
図8】本発明の実施例に係るカメラキャリブレーション方法を示す図である。
【
図9】本発明の実施例に係るコンピュータ装置を示す図である。
【発明を実施するための形態】
【0013】
添付した図面及び以下の説明を参照することにより、本発明の前述及び他の特徴が明らかになる。なお、明細書及び図面では本発明の特定の実施例を開示するが、それらは本発明の原理を採用し得る一部のみの実施例を示し、理解すべきは、本発明は記載される実施例に限定されず、即ち、本発明は添付した特許請求の範囲に属するすべての変更、変形及び代替によるものをも含むということである。
【0014】
以下、図面を参照しながら本発明の実施例について説明する。
【0015】
<第一側面の実施例>
本発明の実施例では、カメラキャリブレーション装置が提供される。
【0016】
図1は、本発明の実施例におけるカメラキャリブレーション装置の一例を示す図である。
図1に示すように、該装置100は特徴抽出ユニット101、第一変換ユニット102及び第二変換ユニット103を含み、特徴抽出ユニット101は入力画像に対して特徴抽出を行って第一深度特徴及び第二深度特徴を取得するために用いられ、第一変換ユニット102はクエリパラメータに基づいて第一深度特徴に対して変換を行って入力画像を得るカメラのパラメータの第一推定結果を取得するために用いられ、第二変換ユニット103は第一推定結果に基づいて第二深度特徴に対して変換を行って入力画像を得るカメラのパラメータの第二推定結果を取得するために用いられる。
【0017】
本発明の実施例によれば、マルチスケール特徴(即ち、第一深度特徴及び第二深度特徴)を用いてカメラキャリブレーションを行う(即ち、画像を得るカメラのパラメータを推定する)ことで、任意の画像が与えられた場合、カメラのパラメータを推定し、カメラキャリブレーションの精度及び安定性を改善することができる。
【0018】
本発明の実施例において、特徴抽出ユニット101は残差ネットワークを使用して入力画像に対して特徴抽出を行うことができる。なお、本発明は残差ネットワークの類型について限定しない。
【0019】
幾つかの実施例において、残差ネットワークはresnet50であり、特徴抽出ユニット101はresnet50によって入力画像から抽出されるブロック4(block 4)特徴(大まかな特徴)を上述の第一深度特徴とし、かつresnet50によって入力画像から抽出されるブロック3(block 3)特徴(細かい特徴)を上述の第二深度特徴とする。なお、resnet50のネットワーク構造、ブロック4特徴及びブロック3特徴については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0020】
本発明の実施例において、第一変換ユニット102及び第二変換ユニット103はそれぞれエンコーダー及びデコーダーを使って第一深度特徴及び第二深度特徴に対して変換を行う。
【0021】
幾つかの実施例において、
図1に示すように、第一変換ユニット101は第一エンコーダーE1及び第一デコーダーD1を含み、第一エンコーダーE1は第一深度特徴に対してエンコーディングを行ってエンコーディング後の第一深度特徴を得るために用いられ、第一デコーダーD1はクエリパラメータに基づいてエンコーディング後の第一深度特徴に対してデコーディングを行って第一推定結果を得るために用いられる。
【0022】
上述の実施例において、第一エンコーダーE1は6つのエンコーディング層を採用して第一深度特徴に対してエンコーディングを行っても良く、各エンコーディング層は4つの処理モジュール、即ち、マルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含んでも良い。
図2はエンコーディング層の一例を示す図であり、そのうち、特徴抽出ユニット101からの出力(ブロック4特徴)がMSAに入力される。
【0023】
上述の実施例において、特徴抽出ユニット101から出力されるブロック4特徴は該第一エンコーダーE1に入力され、該第一エンコーダーE1の各エンコーディング層は
図2に示すエンコーディング層構造に従って、入力されるブロック4特徴を処理した後に、エンコーディング後の第一深度特徴を得て第一デコーダーD1に入力する。なお、該第一エンコーダーE1の各エンコーディング層の各処理モジュールの原理及び実施方式については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0024】
また、上述の実施例において、第一エンコーダーE1が6つのエンコーディング層を含み、各エンコーディング層が前述の4つの処理モジュールを含むことを例とするが、本発明はこれについて限定せず、例えば、第一エンコーダーE1は他の数のエンコーディング層を含んでも良く、あるいは、各エンコーディング層は他の数及び/又は他の構造の処理モジュールを含んでも良く、言い換えれば、入力される特徴に対するエンコーディングを実現できれば良い。
【0025】
上述の実施例において、第一デコーダーD1は6つのデコーディング層を使ってエンコーディング後の第一深度特徴に対してデコーディングを行っても良く、各デコーディング層は6つの処理モジュール、即ち、マルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含んでも良い。
図3はデコーディング層の一例を示す図であり、そのうち、第一エンコーダーE1からの出力がMCAに入力され、クエリパラメータがMSAに入力される。
【0026】
上述の実施例において、第一エンコーダーE1から出力されるエンコーディング後の第一深度特徴は該第一デコーダーD1に入力され、該第一デコーダーD1の各デコーディング層はクエリパラメータに基づいて、
図3に示すデコーディング層構造に従って、入力されるエンコーディング後の第一深度特徴を処理した後に、前記クエリパラメータに対応するカメラパラメータを得て第一推定結果とする。なお、該第一デコーダーD1の各デコーディング層の各処理モジュールの原理及び実施方式については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0027】
また、上述の実施例において、第一デコーダーD1が6つのデコーディング層を含み、各デコーディング層が前述の6つの処理モジュールを含むことを例にとるが、本発明はこれについて限定せず、例えば、第一デコーダーD1は他の数のデコーディング層を含んでも良く、あるいは、各デコーディング層は他の数及び/又は他の構造の処理モジュールを含んでも良く、言い換えれば、入力されるエンコーディング後の第一深度特徴に対してクエリパラメータに基づいてデコーディングを行って必要な結果を得ることを実現できれば良い。
【0028】
上述の実施例において、クエリパラメータは、入力画像を得るカメラの要推定のパラメータ、即ち、上述のカメラによって上述の入力画像をキャプチャーするときの該カメラのパラメータに対応し、例えば、視野(field of view、fov)、天頂消失点(zenith vanishing point、zvp)及び水平線(horizon line、hl)を推定する場合、データセットにおけるfov、zvp及びhlをクエリパラメータとし、また、例えば、水平線(horizontal lines)及び垂直線(vertical lines)を推定する場合、該入力画像からの線分検出結果をクエリパラメータとする。
【0029】
幾つかの実施例において、クエリパラメータは入力画像からの線分検出結果、並びにデータセットからの視野、天頂消失点及び水平線を含み、該クエリパラメータにより、上述の入力画像の視野、天頂消失点、水平線、水平線及び垂直線を推定できる。
【0030】
なお、上述の実施例では、データセットについて限定せず、HLW(Horizon Lines in the Wild)データセット、GSV(Google Street View)データセットなどを本発明のデータセットとして使用しても良く、そのうち、HLWデータセットは水平線の真値を提供でき、GSVデータセットはピッチ(pitch)、ロール(roll)及び焦点距離(focal length)の真値を提供できる。
【0031】
上述の実施例において、
図1に示すように、該装置100はさらに次のようなものを含む。
【0032】
線分検出ユニット104:直線検出アルゴリズム(LSD)を使用して入力画像に対して線分検出を行って線分検出結果を取得する。
【0033】
なお、LSD方法の原理及び実施方式については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0034】
また、上述の実施例において、線分検出ユニット104がLSDの方法を使用して線分検出を行うことを例とするが、本発明はこれについて限定せず、該線分検出ユニット104は他の線分検出方法を用いて線分検出を行っても良く、具体的には関連技術を参照できる。
【0035】
幾つかの実施例において、
図1に示すように、第二変換ユニット103は第二エンコーダーE2及び第二デコーダーD2を含み、第二エンコーダーE2は第二深度特徴をエンコーディングしてエンコーディング後の第二深度特徴を得るために用いられ、第二デコーダーD2は第一変換ユニット102(即ち、第一デコーダーD1)からの第一推定結果に基づいてエンコーディング後の第二深度特徴をデコーディングして第二推定結果を得るために用いられる。該第二推定結果は入力画像を得るカメラのパラメータの最終推定結果である。なお、該第一推定結果も入力画像を得るカメラのパラメータの推定結果であるが、1つのみのスケール(尺度)の特徴を用いるため、該推定結果は大まかな推定結果である。第二変換ユニット103がもう1つのスケールの特徴を使用してパラメータ推定を行って得る第二推定結果は、正確さ及び精度がより高く、かつ安定性がより良い。
【0036】
上述の実施例において、第一エンコーダーE1と同様に、第二エンコーダーE2も6つのエンコーディング層を使って第二深度特徴に対してエンコーディングを行っても良く、各エンコーディング層は4つの処理モジュール、即ち、マルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含んでも良い。なお、該エンコーディング層の構造は第一エンコーダーE1のエンコーディング層の構造と同じであるため、
図2を参照することができ、そのうち、特徴抽出ユニット101からの出力(ブロック3特徴)がMSAに入力される。
【0037】
上述の実施例において、特徴抽出ユニット101から出力されるブロック3特徴は該第二エンコーダーE2に入力され、該第二エンコーダーE2の各エンコーディング層は
図2に示すエンコーディング層構造に従って、入力されるブロック3特徴を処理した後に、エンコーディング後の第二深度特徴を得て第二デコーダーD2に入力する。なお、該第二エンコーダーE2の各エンコーディング層の各処理モジュールの原理及び実施方式については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0038】
上述の実施例において、第二エンコーダーE2が6つのエンコーディング層を含み、各エンコーディング層が前述の4つの処理モジュールを含むことを例にとるが、本発明はこれについて限定せず、例えば、第二エンコーダーE2は他の数のエンコーディング層を含んでも良く、あるいは、各エンコーディング層は他の数及び/又は他の構造の処理モジュールを含んでも良く、言い換えれば、入力される特徴に対するエンコーディングを実現できれば良い。
【0039】
上述の実施例において、第二デコーダーD2は6つのデコーディング層を採用してエンコーディング後の第二深度特徴をデコーディングしても良く、各デコーディング層は6つの処理モジュール、即ち、マルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含んでも良い。なお、該デコーディング層の構造は第一デコーダーD1のデコーディング層の構造と同じであるため、具体的には
図3を参照することができ、そのうち、第二エンコーダーE2からの出力がMCAに入力され、クエリパラメータとしての第一推定結果がMSAに入力される。
【0040】
上述の実施例において、第二エンコーダーE2から出力されるエンコーディング後の第二深度特徴は該第二デコーダーD2に入力され、該第二デコーダーD2の各デコーディング層はクエリパラメータに基づいて、
図3に示す構造に従って、入力されるエンコーディング後の第二深度特徴を処理した後に、第一推定結果(このときに、該第一推定結果は第二変換ユニット103のクエリパラメータとされる)に対応するカメラパラメータを得て第二推定結果とする。なお、該第二デコーダーD2の各デコーディング層の各処理モジュールの原理及び実施方式については関連技術を参照できるため、ここではその詳しい説明を省略する。
【0041】
上述の実施例において、第二デコーダーD2が6つのデコーディング層を含み、各デコーディング層が前述の6つの処理モジュールを含むことを例とするが、本発明はこれについて限定せず、例えば、第二デコーダーD2は他の数のデコーディング層を含んでも良く、あるいは、各デコーディング層は他の数及び/又は他の構造の処理モジュールを含んでも良く、言い換えれば、第一推定結果(即ち、クエリパラメータ)に基づいて、入力されるエンコーディング後の第二深度特徴に対してデコーディングを行って必要な結果を得ることを実現できれば良い。
【0042】
本発明の実施例によれば、マルチスケール構造に基づいてより深いネットワークを得ることができ、従来の方法に比較して、本発明の実施例の推定結果はより正確であり、かつより安定している。
【0043】
以下、1つの具体例をもとに本発明の実施例について詳しく説明する。
【0044】
図4は、本発明の実施例に基づく、入力画像に対するカメラキャリブレーションの処理プロセスの一例のフレームワークを示す図である。
【0045】
図4に示すように、Resnet50を使用して入力画像に対して特徴抽出を行うことで得られたブロック4特徴は第一エンコーダー41に入力され、得られたブロック3特徴は第二エンコーダー42に入力される。また、LSD技術を使用して入力画像に対して線分検出を行うことで得られた線分、並びにデータセットから得られたfov、zvp及びhlはクエリパラメータとして第一デコーダー43に入力される。第一エンコーダー41はブロック4特徴に対してエンコーディングを行ってエンコーディング後のブロック4特徴を得て第一デコーダー43に入力する。第二エンコーダー42はブロック3特徴に対してエンコーディングを行ってエンコーディング後のブロック3特徴を得て第二デコーダー44に入力する。第一デコーダー43はクエリパラメータに基づいて該エンコーディング後のブロック4特徴をデコーディングして第一推定結果を得て第二デコーダー44に入力する。第二デコーダー44は第一推定結果に基づいてエンコーディング後のブロック3特徴をデコーディングして第二推定結果を取得する。該第二推定結果は入力画像のカメラキャリブレーション結果であり、それはクエリパラメータに対応するパラメータ、即ち、fov、zvp、hl、水平線及び垂直線を含む。
【0046】
図5は、本発明の実施例による、Googleストリートビュー(GSV)データセット上のカメラキャリブレーションの視覚効果を示す図である。
【0047】
図5に示すように、第一列は入力画像であり、第二列はLSD技術によって得られた線分であり、第三列は水平線51及び天頂消失点方向52であり、最後の2列はそれぞれ水平線及び垂直線である。
【0048】
図6は、本発明の実施例と、従来の3種類の方法とによる、Googleストリートビュー(GSV)データセット上のカメラキャリブレーションの異なるパラメータの誤差の比較を示す図である。
【0049】
図6に示すように、UprightNet方法(UprightNet:geometry-aware camera orientation
estimation from single images)、GPNET方法(Neural Geometric Parser for Single Image Camera Calibration)及びCTRL-C方法(Camera calibration TRansformer with
Line-Classification)に比べて、本発明の実施例は、up dir(カメラのアップ方向)誤差、pitch(ピッチ)誤差、roll(ロール)誤差、fov(視野)誤差及び水平線誤差のうちの平均値(mean)と中間値(med)の面において、すべて、これらの方法よりも低い。即ち、本発明の実施例に基づいてカメラキャリブレーションを行うことにより、精度、正確さ及び安定性を向上させることができる。
【0050】
図7は、GSVデータセット上で、本発明の実施例と、CTRL-C及びGPNETの方法とによるカメラキャリブレーションによって得られた水平線及び水平線真値(GT)の比較結果を示す図である。
【0051】
図7に示すように、71は水平線の真値であり、72は本発明の実施例に基づいて得られた水平線であり、73はCTRL-Cの方法により得られた水平線であり、74はGPNETの方法により得られた水平線である。
図7から分かるように、これらの方法に比較して、本発明の実施例に基づいて得られた水平線は水平線の真値により近い。即ち、本発明の実施例に基づいてカメラキャリブレーションを行うことにより、精度及び正確さを向上させることができる。
【0052】
以上、本発明と密接に関連している各部品又はモジュールについて説明したが、本発明はこれに限定されない。カメラキャリブレーション装置100はさらに、他の部品又はモジュールを含んでも良い。なお、これらの部品又はモジュールの具体的な内容については関連技術を参照できる。
【0053】
また、便宜のため、
図1では各部品又は各モジュールの間の接続関係又は信号方向のみが示されているが、当業者が理解すべきは、バス接続などの様々な関連技術を採用しても良いということである。さらに、上述の各部品又はモジュールは例えば、処理器、記憶器などのハードウェアにより実現されても良いが、本発明の実施例はこれについて限定しない。
【0054】
また、上述の各実施例は本発明の実施例を例示的に説明するためのものであるが、本発明はこれらに限られず、さらに上述の各実施例をもとに適切な変形などを行っても良い。例えば、上述の各実施例を単独で使用しても良く、上述の各実施例のうちの複数を組み合わせて使用しても良い。
【0055】
本発明の実施例によれば、マルチスケール特徴を用いてカメラキャリブレーションを行うことで、任意の画像が与えられた場合、カメラのパラメータを推定し、カメラキャリブレーションの精度及び安定性を改善することができる。
【0056】
<第二側面の実施例>
本発明の実施例では、カメラキャリブレーション方法が提供される。なお、該方法が問題を解決する原理は第一側面の実施例の装置と同様であるので、その具体的な実施については第一側面の実施例の装置の実施を参照でき、ここでは内容が同じである重複説明を省略する。
【0057】
図8は、本発明の実施例におけるカメラキャリブレーション方法を示す図である。
図8に示すように、該方法は次のようなステップを含む。
【0058】
810:入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
820:クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;
830:前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得する。
【0059】
なお、上述の
図8は本発明の実施例を例示的に説明するためのものであり、本発明はこれに限られない。例えば、各操作間の実行順序を適切に調整したり、幾つかの操作を増減したりすることもできる。また、当業者は上述の
図8の記載に限られず、上述の内容に基づいて適切な変形などを行うこともできる。
【0060】
幾つかの実施例において、入力画像に対する特徴抽出は、残差ネットワークを使用して入力画像に対して特徴抽出を行うことを含み、前記第一深度特徴は前記残差ネットワークによって抽出されるブロック4特徴(大まかな特徴)であり、前記第二深度特徴は前記残差ネットワークによって抽出されるブロック3特徴(細かい特徴)である。
【0061】
幾つかの実施例において、クエリパラメータに基づいて前記第一深度特徴を変換することは、前記第一深度特徴をエンコーディングしてエンコーディング後の第一深度特徴を取得し;及び、前記クエリパラメータに基づいて前記エンコーディング後の第一深度特徴をデコーディングして前記第一推定結果を得ることを含む。
【0062】
幾つかの実施例において、クエリパラメータは前記入力画像からの線分検出結果;及び、データセットからの視野、天頂消失点及び水平線を含む。
【0063】
幾つかの実施例において、前記方法はさらに、直線検出アルゴリズム(LSD)を採用して前記入力画像に対して線分検出を行って前記線分検出結果を得ることを含む。
【0064】
幾つかの実施例において、6つのエンコーディング層を使って前記第一深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、また、6つのデコーディング層を使って前記エンコーディング後の第一深度特徴に対してデコーディングを行い、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む。
【0065】
幾つかの実施例において、前記第一推定結果に基づいて前記第二深度特徴を変換することは、前記第二深度特徴をエンコーディングしてエンコーディング後の第二深度特徴を取得し;及び、前記第一推定結果に基づいて前記エンコーディング後の第二深度特徴をデコーディングして前記第二推定結果を得ることを含む。
【0066】
幾つかの実施例において、6つのエンコーディング層を用いて前記第二深度特徴に対してエンコーディングを行い、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、また、6つのデコーディング層を使用して前記エンコーディング後の第二深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む。
【0067】
以上、本発明と密接に関連している各ステップバス又はプロセスを説明したが、本発明はこれに限定されない。カメラキャリブレーション方法はさらに、他のステップ又はプロセスを含んでも良い。なお、これらのステップ又はプロセスの具体的な内容については関連技術を参照できる。また、以上、Googleストリートビューデータセットを例にして本発明の実施例について例示的に説明したが、本発明はこのようなデータセットに限られず、本発明の実施例はさらに、他のデータセットを使用して本発明の実施例に係るエンコーダー及びデコーダーの構造に対して訓練及びテストを行うこともできる。また、以上、エンコーダー及びデコーダーの幾つかの構造を例にして本発明の実施例について例示的に説明したが、本発明はこれらの構造に限定されず、これらの構造に対してさらに適切な変形などを行っても良く、かつこれらの変形などの実施例もすべて本発明の実施例の範囲に属する。
【0068】
また、上述の各実施例は本発明の実施例を例示的に説明するためのものであるが、本発明はこれに限られず、さらに上述の各実施例をもとに適切な変形などを行っても良い。例えば、上述の各実施例を単独で使用しても良く、上述の各実施例のうちの複数を組み合わせて使用しても良い。
【0069】
本発明の実施例によれば、マルチスケール特徴を用いてカメラキャリブレーションを行うことで、任意の画像が与えられた場合、カメラのパラメータを推定し、カメラキャリブレーションの精度及び安定性を改善することができる。
【0070】
<第三側面の実施例>
本発明の実施例ではコンピュータ装置(電子装置ともいう)が提供され、それは第一側面の実施例に記載されたようなカメラキャリブレーション装置100を含み、その内容はここに合併される。該コンピュータ装置は例えば、コンピュータ、サーバー、ワークステーション、ノートパソコン、スマートフォンなどであっても良いが、本発明の実施例はこれらに限定されない。
【0071】
図9は、本発明の実施例に係るコンピュータ装置を示す図である。
図9に示すように、コンピュータ装置900は処理器(例えば、中央処理器CPU)910及び記憶器920を含んでも良く、記憶器920は中央処理器910に接続される。そのうち、該記憶器920は各種のデータを記憶でき、また、情報処理用のプログラム921をさらに記憶でき、かつ処理器910の制御下で該プログラム921を実行できる。
【0072】
幾つかの実施例において、カメラキャリブレーション装置100の機能は処理器910に集積される。そのうち、処理器910は第二側面の実施例に記載されたようなカメラキャリブレーション方法を実現するように構成される。
【0073】
幾つかの実施例において、カメラキャリブレーション装置100は処理器910と別々で配置され、例えば、カメラキャリブレーション装置100は処理器910に接続されるチップとして構成され、処理器910の制御によってカメラキャリブレーション装置100の機能を実現しても良い。
【0074】
例えば、処理器910は次のようなことの制御を行うように構成されても良く、即ち、入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び、前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得することである。
【0075】
幾つかの実施例において、入力画像に対する特徴抽出は、残差ネットワークを使用して入力画像に対して特徴抽出を行うことを含み、前記第一深度特徴は前記残差ネットワークによって抽出されるブロック4特徴(大まかな特徴)であり、前記第二深度特徴は前記残差ネットワークによって抽出されるブロック3特徴(細かい特徴)である。
【0076】
幾つかの実施例において、クエリパラメータに基づいて前記第一深度特徴を変換することは、前記第一深度特徴をエンコーディングしてエンコーディング後の第一深度特徴を取得し;及び、前記クエリパラメータに基づいて前記エンコーディング後の第一深度特徴をデコーディングして前記第一推定結果を得ることを含む。
【0077】
幾つかの実施例において、前記クエリパラメータは前記入力画像からの線分検出結果;及び、データセットからの視野、天頂消失点及び水平線を含む。
【0078】
幾つかの実施例において、処理器910はさらに次のようなことの制御を行うように構成され、即ち、直線検出アルゴリズム(LSD)を採用して前記入力画像に対して線分検出を行って前記線分検出結果を得ることである。
【0079】
幾つかの実施例において、処理器910は次のように構成されても良く、即ち、6つのエンコーディング層を採用して前記第一深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、6つのデコーディング層を採用して前記エンコーディング後の第一深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む。
【0080】
幾つかの実施例において、前記第一推定結果に基づいて前記第二深度特徴を変換することは、前記第二深度特徴をエンコーディングしてエンコーディング後の第二深度特徴を取得し;及び、前記第一推定結果に基づいて前記エンコーディング後の第二深度特徴をデコーディングして前記第二推定結果を得ることを含む。
【0081】
幾つかの実施例において、処理器910は次のように構成されても良く、即ち、6つのエンコーディング層を採用して前記第二深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、6つのデコーディング層を採用して前記エンコーディング後の第二深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む。
【0082】
また、
図9に示すように、コンピュータ装置900はさらに、入出力(I/O)装置930、表示器940などを含んでも良く、そのうち、これらの部品の機能は従来技術と同様であるため、ここではその詳しい説明を省略する。なお、コンピュータ装置900は
図9に示す全ての部品を含む必要がない。また、コンピュータ装置900は
図9にない部品をさらに含んでも良く、これについては関連技術を参照できる。
【0083】
本発明の実施例ではさらに、コンピュータ可読プログラムが提供され、そのうち、カメラキャリブレーション装置で前記プログラムが実行されるときに、前記プログラムは前記カメラキャリブレーション装置に第二側面の実施例に記載の方法を実行させる。
【0084】
本発明の実施例ではさらに、コンピュータ可読プログラムを記憶している記憶媒体が提供され、そのうち、前記コンピュータ可読プログラムはカメラキャリブレーション装置に第二側面の実施例に記載の方法を実行させる。
【0085】
また、上述の装置及び方法は、ソフトウェア又はハードウェアにより実現されても良く、ハードウェアとソフトウェアとの組み合わせにより実現されても良い。本発明はさらに、下記のようなコンピュータ読み取り可能なプログラムに関し、即ち、該プログラムは、ロジック部品により実行されるときに、該ロジック部品に上述の装置又は構成部品を実現させ、又は、該ロジック部品に上述の各種の方法又はステップを実現させる。ロジック部品は例えば、FPGA(Field Programmable Gate Array)、マイクロプロセッサ、コンピュータに用いる処理器などであっても良い。本発明はさらに、上述のプログラムを記憶した記憶媒体、例えば、ハードディスク、磁気ディスク、光ハードディスク、DVD、フラッシュメモリなどにも関する。
【0086】
さらに、図面に記載の機能ブロックのうちの1つ又は複数の組み合わせ及び/又は機能ブロックの1つ又は複数の組み合わせは、本明細書に記載の機能を実行するための汎用処理器、デジタル信号処理器(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のプログラム可能な論理部品、ディスクリートゲート又はトランジスタ論理部品、ディスクリートハードウェアアセンブリ又は他の任意の適切な組み合わせとして実現されても良い。また、図面に記載の機能ブロックのうちの1つ又は複数の組み合わせ及び/又は機能ブロックの1つ又は複数の組み合わせはさらに、計算装置の組み合わせ、例えば、DSP及びマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPと通信により接続される1つ又は複数のマイクロプロセッサ又は他の任意の構成の組み合わせとして構成されても良い。
【0087】
また、上述の実施例などに関し、さらに以下のような付記を開示する。
【0088】
(付記1)
カメラキャリブレーション方法であって、
入力画像に対して特徴抽出を行って、第一深度特徴及び第二深度特徴を取得し;
クエリパラメータに基づいて前記第一深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第一推定結果を取得し;及び
前記第一推定結果に基づいて前記第二深度特徴に対して変換を行って、前記入力画像を得るカメラのパラメータの第二推定結果を取得することを含む、方法。
【0089】
(付記2)
付記1に記載の方法であって、
入力画像に対して特徴抽出を行うことは、残差ネットワークを用いて入力画像に対して特徴抽出を行うことを含み、
前記第一深度特徴は前記残差ネットワークによって抽出されるブロック4特徴(大まかな特徴)であり、
前記第二深度特徴は前記残差ネットワークによって抽出されるブロック3特徴(細かい特徴)である、方法。
【0090】
(付記3)
付記1に記載の方法であって、
クエリパラメータに基づいて前記第一深度特徴を変換することは、
前記第一深度特徴をエンコーディングしてエンコーディング後の第一深度特徴を取得し;及び
前記クエリパラメータに基づいて前記エンコーディング後の第一深度特徴をデコーディングして前記第一推定結果を得ることを含む、方法。
【0091】
(付記4)
付記3に記載の方法であって、
前記クエリパラメータは、
前記入力画像からの線分検出結果;及び
データセットからの視野、天頂消失点及び水平線を含む、方法。
【0092】
(付記5)
付記4に記載の方法であって、さらに、
直線検出アルゴリズム(LSD)により前記入力画像に対して線分検出を行って前記線分検出結果を得ることを含む、方法。
【0093】
(付記6)
付記3に記載の方法であって、
6つのエンコーディング層を採用して前記第一深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、
6つのデコーディング層を採用して前記エンコーディング後の第一深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む、方法。
【0094】
(付記7)
付記1に記載の方法であって、
前記第一推定結果に基づいて前記第二深度特徴を変換することは、
前記第二深度特徴をエンコーディングしてエンコーディング後の第二深度特徴を取得し;及び
前記第一推定結果に基づいて前記エンコーディング後の第二深度特徴をデコーディングして前記第二推定結果を得ることを含む、方法。
【0095】
(付記8)
付記7に記載の方法であって、
6つのエンコーディング層を採用して前記第二深度特徴をエンコーディングし、前記エンコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含み、
6つのデコーディング層を採用して前記エンコーディング後の第二深度特徴をデコーディングし、前記デコーディング層はマルチヘッドセルフアテンション(MSA)、残差接続と正規化(Add&Norm)、マルチヘッドクロスアテンション(MCA)、残差接続と正規化(Add&Norm)、フィードフォワードネットワーク(FFN)及び残差接続と正規化(Add&Norm)を含む、方法。
【0096】
以上、本発明の好ましい実施例を説明したが、本発明はこのような実施例に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。