見出し画像

【OUR Shurijoプロジェクトをより理解する】3D首里城を復元させた三次元復元技術とは?

はじめに

「OUR Shurijo」プロジェクトについて、全体のお話や、写真収集に関するお話は各所でお伝えしてきたのですが [1]、どのように3D首里城を復元させたのか技術面についても知りたいとのご要望があり、まとめさせていただきました。

まず前提として、復元には商用ソフトを使っており、OUR Shurijoプロジェクトの貢献がある部分ではない点、私自身は専門家ではない点を事前にご了承いただけますと幸いです。そのため、原稿に間違いを発見した場合は、ぜひご指摘ください。

三次元復元は、コンピュータビジョンや写真測量の分野で研究されていた技術の結晶といってよいと思います。一つ一つの技術が重要な研究対象であり、まだ対象であり続けているものもあります。

三次元復元技術について

図1

図1 特徴点のマッチング

①特徴点のマッチングについて

はじめに、画像から特徴的な「特徴点」を選んでくるところから始まります。「特徴点」とは、画像の中で見つけやすい点のことです。物の角であることが多いです。画像のエッジとエッジがぶつかりあって、画像の明るさの変化が激しい点であるからです。「特徴点」が見つかったら、多くの画像の間でマッチする「特徴点」を探します。[図1]

図1のイメージ図のように、上手にマッチングができればよいのですが、実際には図1の処理結果のように間違ったマッチングもでてきます。画像の数が増えるほど、マッチングの組み合わせは爆発するので、木構造などを用いて上手に探索をする必要があります。画像の数が多い場合は、画像そのものを「特徴点」の集まりとして表して、それが近いものどうしで木構造を構築していきます。

図2

図2 カメラの関係を推定するために利用する拘束式

②拘束式について

引き続き、原理についてご説明いたします。[図2]
2枚の画像間で特徴点の対応関係がわかると、2つのカメラの関係を計算することができます。8ポイントアルゴリズムや5ポイントアルゴリズムなどがあります。

カメラ1の中心c1から見た点pと、カメラ2の中心c2から見た点pの対応関係が分かったとします。c1からpへ向かうベクトルx1と、c2からpへ向かうベクトルx2と、c1とc2を結ぶベクトルは、全部同じ平面の中にあります。この関係を使うと、c1とc2の関係に関して、拘束式が得られます。

対応点がたくさん得られると、c1に対してc2がどこにあり、どういう方向を向いてどんな範囲を見ているのか、という関係が分かっていきます。拘束式からの計算は、線形な方程式を解く計算なのですが、それだけだと誤差を吸収できないので、誤差が小さくなるように「非線形最適化」という処理もしておきます。また、おかしな特徴点のマッチングを除去しておきます。外れ値があると、後の計算に悪さをしてしまうからです。

残った特徴点と大まかなカメラの位置から、さらに全体がきちんと整合性がとれるような解を探すよう、非線形最適化で計算をしなおしていきます。
このとき、全体の点やカメラから計算される誤差の総量が減るように、この誤差関数の勾配を計算し、誤差の坂道を下るように、少しずつ全体の精度を向上させるような手法がとられます。徐々にカメラの数を増やして、さらに全体の精度を向上させていきます。

計算の初期の様子を[図3]、終盤の様子は[図4]となります。

図3

図3 最適化の初期の様子

図4

図4 最適化の終盤の様子

③ステレオマッチングについて

おおよその三次元の点群とカメラの位置が得られたら、ステレオマッチングという手法を使って、特徴点のあいだの面の部分の三次元位置も推定していきます。2つのカメラ間のステレオ復元はいわゆる三角測量の原理に基づいて復元します。2つの画像の間で、どこがどこに対応するかのマッチングを探索して、カメラの間の関係も分かっていますので、対応点までの深さが分かるというわけです。

複数カメラへの拡張も研究されており、現在の商用ソフトウェアでは少なくとも、隠れや複雑な形状に頑健で、点ベースではなくパッチベースで、全体の面が求められるようなものになっていると思います。

復元された全体図は以下となります。[図5]

図5

図5 ステレオマッチングにより面が復元されている様子

おわりに

三次元復元技術の中身をできるだけ平易な言葉で解説したつもりです。大規模な三次元復元の技術の中身としては、[2-4] がマイルストーン的な論文になっていると思いますが、良い教科書として[5]がありますのでご興味のある方にはおすすめします。関連論文は挙げきれないので、日本語で分かりやすく解説されているものとして、[6][7]もあげておきます。

文責:川上玲

〜参考文献〜
[1] 特別解説 OUR Shurijo , 川上玲,情報処理学会会誌「情報処理」 Vol61 No.2 Feb. 2020, pp.138-140
[2] Noah Snavely, Steven M Seitz, Richard Szeliski, 2006. “Photo tourism: Exploring photo collecitons in 3D”. SIGGRAPH, 25(3), 835-846.
[3] Sameer Agarwal, Yasutaka Furukawa, Noah Snavely, Ian Simon, Brian Curless, Steven M. Seitz, and Richard Szeliski. 2011. “Building Rome in a day”. Commun. ACM 54, 10 (October 2011), 105-112.
[4] Yasutaka Furukawa, Brian Curless, Steven M. Seitz, and Richard Szeliski, “Towards Internet-scale Multi-view Stereo”, CVPR 2010.
[5] コンピュータビジョン–アルゴリズムと応用, Richard Szeliski,共立出版
[6]CVIMチュートリアルシリーズ コンピュータビジョン最先端ガイド5, 八木康史,斎藤英雄編,第2章 複数画像からの三次元復元手法 古川泰隆
[7]講座:バンドル法 第八回 , 織田和夫, 「写真測量とリモートセンシング」VOL.52NO.22013

この記事が気に入ったらサポートをしてみませんか?