ドラッグストアのモデルから始める(無料登録)か、自分の店を描いてください。天井から真下を向く360°カメラ(全方位カメラ)は、魚眼レンズで売場をぐるりと写します。まっすぐな棚や壁が大きく曲がって写るので、ふつうのカメラとしては位置を出せません。この記事では、360°カメラの静止画1枚から、カメラの位置と、床のどこが映るかを、AIに出してもらいました。広角レンズの防犯カメラの記事の続きです。AIがMCPで呼ぶのと同じ道具を動かしました。以下の数字と図は、すべてその結果です。

1. やったこと

  • モデルは、36 × 24 mのドラッグストアです。入口の前の通路の天井(高さ3.3 m)に、真下を向く360°カメラが付いている、とします。レンズは等距離射影の魚眼で、写真の高さの角度が180°、写真は2048 × 2048画素(レンズの曲がり方の大きさは仮定)。
  • AIは、写真に写る部屋そのものの点(床と天井の角、入口と窓の枠、奥の扉の枠)を読み、モデルの同じ点と組にします。前の記事と同じ40点の候補のうち、棚や壁の陰にならず写真に入る15点です。天井の角はカメラより上にありますが、魚眼なので写真に入ります。
  • この記事の写真は、モデルから作りました。 実際のカメラがそれぞれの点を写す画素に、読み取りの誤差(±2画素)を足したものを、AIが読んだ値としています。
  • AIは solve_photo_camera で、ふつうのカメラ(ピンホール)として、広角レンズのゆがみを合わせて(lens: radial)、魚眼として(lens: fisheye)解き、魚眼で解いたカメラをカメラの部品として置いて、get_visibility で映る床を実際のカメラと比べました。奥の扉は閉めて数えています(営業中の店として)。

2. 解いたカメラ

位置のずれ点の外れ(平均)写真の高さの角度
実際のカメラ——180°
ふつうのカメラとして解く121.37 m200.3画素15.82°
lens: radial で解く121.37 m200.3画素15.82°
lens: fisheye で解く0.02 m1.5画素178.76°
  • ふつうのカメラでも広角レンズでも、解けない。 写真の真ん中から端まで90°の広がりは、ふつうのカメラには写せません。道具は、点にいちばん近いカメラとして、121.37 m離れた所から画角15.82°で見るカメラを返し、点は平均200.3画素外れました。広角レンズのゆがみも合わず、ふつうのカメラのままでした。道具は「位置がゆるくしか決まらない」「点が外れる」と注意し、魚眼かもしれないと書きます。
  • lens: fisheye なら合う。 15点が平均1.5画素で合い、位置は0.02 m、写真の高さの角度は178.76°(実際は180°)、曲がりの係数 k1 は −0.024(実際は −0.02)。映る床は、実際のカメラの221 m²と解いたカメラが99.9%重なります。
  • カメラの部品は、真下を向いてぐるりと見る。 道具は、真下を向く魚眼を、真下を向いて水平の画角360°、真下から90°までを見るカメラの部品にします。部品が見るのは、写真に写る所だけです。
入口の前の通路の天井の360°カメラが映す床
実際のカメラと解いたカメラの両方が映す床(床の高さ)

3. 360°カメラは売場のどこを見るか

カメラ床が映る広さ人の頭の高さ(1.6 m)で見る広さ
天井の360°カメラ(この記事)221 m²413.13 m²
南東の隅の広角カメラ(前の記事)171.75 m²210.13 m²
  • 床は、棚の間の通路の奥が見えない。 真下から離れるほど、床を見る線は棚(高さ1.8 m)に当たります。映るのは、入口の前の通路と、カメラの近くの通路の床です。
  • 人の頭の高さなら、隅の広角カメラの2倍。 天井から見下ろす線は、1.6 mの高さなら棚の上を越えやすく、棚の間の通路の奥まで届きます。
  • 面積は、get_visibility が25 cmおきの点で数えたものです。
人の頭の高さで見る範囲
天井の360°カメラと隅の広角カメラが、人の頭の高さ(1.6 m)で見る範囲

4. 使い方と、分からないこと

  • 点の読み方。 魚眼の写真では線が曲がっても、部屋の角や扉の枠は1点ずつ読めます。真ん中の近くと、端に近い点の両方を読みます(8点以上なら、レンズの曲がり方も合わせます)。
  • 魚眼の種類。 道具は等距離射影の魚眼と、その曲がりの2項を合わせます。ほかの射影の魚眼レンズで合うかは確かめていません。
  • 写真が丸いとき。 360°カメラの写真は、丸い像のまわりが黒いことがあります。点は丸い像の中から読みます。
  • 映る範囲は、形だけ。 部品の届く距離は仮定(30 m)で、顔や商品が見分けられるかは、カメラの画素数と距離で決まります。扉を開けると、奥の部屋やトイレの中まで見通すことがあります。
  • 人の写らない写真を使う。 顔で個人を識別できる画像は個人情報です(カメラ画像利活用ガイドブック ver3.0)。開店前など人のいない時間の静止画を使ってください。
  • この記事の写真はモデルから作ったもので、実際の写真では読み取りの誤差がもっと大きいことがあります。

使った道具

  • solve_photo_camera:写真の点からカメラを解く(lens: fisheye)、カメラの部品の入力(cameraPart)
  • edit_space:解いたカメラを部品として置く
  • get_visibility:映る床と、人の頭の高さで見る範囲
  • get_view_image:平面図