コンピュータはどのように植物を3Dで見るのか
Published:
前回の記事では、 手作業で植物を測ることの問題を挙げました。規模に耐えず、ばらつき、最も正確な 方法は植物そのものを壊してしまう。そこで素直な解決策は、植物ではなく写真を撮り、 その写真を測ることです。
しかし写真は平面で、植物は立体です。では、どうやって一方から他方へたどり着くの でしょうか。
二つの目と、距離
まず、誰もが無意識にやっていることから始めます。顔の前に指を一本立て、片目ずつ 交互に閉じてみてください。背景に対して、指が横に跳ぶように見えます。
この「跳び」が、話の核心です。
私たちの両目は約6センチメートル離れた位置から世界を見ているため、それぞれが わずかに違う像を得ます。近い物体は二つの視点間で大きくずれ、遠い物体はほとんど ずれません。脳はこのずれの大きさを読み取り、奥行きの感覚に変換しています。
コンピュータも同じ仕掛けを使いますが、一つ条件が緩みます。二つの視点は同時刻で ある必要も、固定された一対の目から得られる必要もありません。カメラを一台、別の 位置へ動かせば、それが二つ目の視点になります。
植物のまわりを歩く
つまり手順はこうです。歩いて回りながら、多くの位置から植物を撮影する。
次にソフトウェアが探すのが特徴点(feature)です。別の写真でも同じものだと 見分けられる、小さく際立った部分——葉の先端、茎の切れ込み、土の表面の斑点。 二度見つけられる程度に、視覚的に特徴のあるものです。
そして対応付けが始まります。写真12のこの部分は、写真13のあの部分と同じ物理的な 一点だろうか。これを何千もの特徴点と何百枚もの写真について行うと、注目すべき ことが起こります。
対応が一つ決まるたびに、条件が一つ加わります。ある点が一方の写真ではここに、 別の写真ではそこに写るなら、二台のカメラは互いに、そしてその点に対して、特定の 位置になければ計算が合いません。条件が十分に積み重なると、それらすべてを満たす 配置は一つに絞られます。ソフトウェアはその配置を解き、各写真がどこから撮られたか と各点が空間のどこにあるかを同時に復元します。
これが Structure-from-Motion(動きからの構造復元)です。出力は点群 (point cloud)——3D空間に浮かぶ無数の点が、まとまって植物の形をかたどります。
落とし穴
ここからが、多くの人が意外に思う部分であり、私の研究が存在する理由です。
この復元は、一点を除いてすべてにおいて忠実です。比率も、形状も、幾何も正しい。 しかし大きさは決まりません。
理由を考えてみてください。この過程の条件はすべて、写真どうしの比較から生まれて います。写真と物差しを比べる工程は、どこにもありません。遠くから撮った大きな株と、 近くから撮った小さな株はまったく同じ画像になります。ですから画像の中に、両者を 区別できるものは何もないのです。
したがって復元結果は任意単位で出てきます。未知のスケールにおける完璧なモデルで あり、「未知」とは、再構成のたびに違う値になりうるという意味です。同じ株、火曜と 金曜、二つの異なるスケール——そのスケールを固定しない限り、センチメートルでの 計測に意味はありません。
一般的な対処は、チェッカーボードのような既知の大きさの物体を場面に置き、それを 基準に較正することです。これは有効に働きます。同時に、稼働中の温室で、毎回、 誰かがその基準物を設置し維持し続けなければならない、ということでもあります。
もう一つの道は、スケールを必要としない方法にしてしまうことです。次回はそれを 扱います。
連載の次回:Gaussian Splat とは何か、そしてなぜ葉の多い植物にはメッシュより 適しているのか。
