Even if we upload an image that is properly leveled, processing within the Street View server can cause the image to tilt.
ストリートビューには画像の水平が取れていないものがたくさんありますよね。
私もそのようなストリートビューをたくさん作ってきました。
私のカメラが傾いていることによって傾いたストリートビューが作られるのであれば、私は画像の傾きについて責任を持たなければなりません。
しかし、ストリートビューの画像は、ストリートビューサーバー内での判断によって、私の意思に関わらずに回転させられています。
私が傾いた画像をアップロードした際には、その機能には助けられています。
しかし、私が正しく水平を保持した画像をアップロードしても、ストリートビューサーバー内での処理によって傾けられてしまう事態もあります。
以下は、不本意に傾けられてしまった写真の実例です。
このストリートビューは、ストリートビューアプリのVideoモードでアップロードして作成しました。
https://goo.gl/maps/tu4L68wBKoYkJLWQ9
2020年12月18日に上記のストリートビューを閲覧した際の様子を、キャプチャしました。
しかし元のVideoでは、上記のストリートビューの水平は、その時刻の前後も含めてほぼ正しい状態を保てています。
同じ場所のストリートビューを、静止画を撮影することによって作成しました。
https://goo.gl/maps/vkr9N3Jqf7mUUEFt6
THETA Z1で撮影した静止画は、撮影時に天頂補正がなされています。
この例では、ストリートビューアプリのVideoモードでアップロードした動画の処理において、画像が15度程度回転させられてしまっているようです。
なぜこのように回転させられてしまったか、その理由をいくつか推測しました。
(1)この写真内のみでの判断の場合
(1a) 輝度や色合いなどで空と地面との判断(水平線の判断)をしている
(2)前後のフレームとの比較による場合
(2a) 座標ごとの地面の標高が異なるのに、隣接フレームが同一水平面上にあるように「画像の繋がり」の処理がなされた
(2b) 座標ごとの地面の標高が異なるのに、隣接フレームが同一水平面上にあるように「地面が水平である」ような処理がなされた
たぶん、これらを複雑に考えて、ストリートビューサーバーとして「適切な水平」である方向へと変更されているのだと想像しますが、
うまく行っていない場合も多いです。
実例を見て検証していきます。
◆(例1) 瀬戸町の森林公園(静止画)前述のもの
https://goo.gl/maps/Q8f2PpVMqEZcM49j7
アップロード方法 : SV App、静止画
アップロードした画像の水平 : OK
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : たぶんOK。違和感感じず
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : OK
◆(例2) 瀬戸町の森林公園(動画)前述のもの
https://goo.gl/maps/FtkRnSMvdztAiBTV8
アップロード方法 : 2020年12月、SV App、Video
アップロードした画像の水平 : OK (元の動画 : https://youtu.be/QcMtuffbc-k?t=129 )
MapsWebでの見え方 : 青線のはず、現在は一時的に見えていない
MapsWebでの画像の水平 : NG(15度くらい傾いている)
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : NG
Mapsアプリでの標高の取り扱い : OK(シェブロン矢印が水平になってしまっているが、画像が傾いていることによりほぼ正確に次の画像の方向を示せている)
◆(例3) 熊山駅
https://goo.gl/maps/ycLGbqAnXtqQ71dC8
アップロード方法 : 2018年2月、SV App、Video
アップロードした画像の水平 : NG(カメラを45度傾けて撮影した。元の動画 : https://youtu.be/vrxz630fvbU )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG(隣の写真が45度上下にずれている)
◆(例4) 金山寺
https://goo.gl/maps/yEqeEu1wMbQ5VvmW9
アップロード方法 : 2018年8月、SV App、Video
アップロードした画像の水平 : NG(カメラを90度傾けて撮影した。元の動画 : https://youtu.be/dPaAng1S10s?t=119 )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG
◆(例5) 大瀬崎
https://goo.gl/maps/npEkovSj8yZ5RL4p7
アップロード方法 : 2018年3月、SV App、Video
アップロードした画像の水平 : OK(元の動画 : なし )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : NG
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : NG
Mapsアプリでの標高の取り扱い : OK(緩い斜面なので細かい違いはわからない)
◆(例6) 寄島町ラウンドアバウト
https://goo.gl/maps/Eg3Nr5b8QkfwDk7b6
アップロード方法 : 2018年3月、SV App、Video
アップロードした画像の水平 : NG(元の動画 : https://youtu.be/qkN2Afg69f4?t=203 )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG
◆(例7) 日吉大社1
https://goo.gl/maps/YVtr5FaP98wJrMNv6
アップロード方法 : 2019年1月、SV App、Video
アップロードした画像の水平 : NG(元の動画 : https://youtu.be/PZQ4f0ISyn8?t=20 )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : NG(元の動画のまま。たまたま一致しているだけかも知れません)
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : NG
Mapsアプリでの標高の取り扱い : NG
◆(例8) 日吉大社2
https://goo.gl/maps/fi8NbuFUWzgKR8WD7
アップロード方法 : 2019年1月、SV App、Video
アップロードした画像の水平 : NG(元の動画 : https://youtu.be/8jAMpCCu6Wo?t=42 )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : NG(元の動画とは逆)
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : NG
Mapsアプリでの標高の取り扱い : OK
◆(例9) 三江線1
https://goo.gl/maps/DKYLeLsskx2EVZ6aA
アップロード方法 : 2018年3月、SV App、Video
アップロードした画像の水平 : NG(元の動画 : https://youtu.be/pTuVODCB22c?t=88 )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : NG(元の動画より大きく傾いている)
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : NG
Mapsアプリでの標高の取り扱い : NG
◆(例10) 三江線2
https://goo.gl/maps/DPTxqavkvCfaUkq39
アップロード方法 : 2018年3月、SV App、Video
アップロードした画像の水平 : NG(元の動画 : https://youtu.be/pTuVODCB22c?t=180 、上記と同じビデオです )
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG
◆(例11) 鶴市トンネル
https://goo.gl/maps/zrwvQAN7s7cHgqt7A
アップロード方法 : 2018年7月、SV App、静止画(動画で撮影しましたが、私がフレームに分解してから、ストリートビューに静止画で提供しました)
アップロードした画像の水平 : OK
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : たぶん NG、トンネル内は水平なのに、画像があたかも山肌の地表面の標高に存在するように扱われている。パンケーキ型矢印の表示位置と、写真間移動の際のスムージング処理によって推測出来ます。
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG(シェブロン矢印は水平だが、アニメーションは標高差があるときの動きをする)
◆(例12) 小手島
https://goo.gl/maps/sBSJhdLCw7CGUtu18
アップロード方法 : 2018年5月、SV App、静止画
アップロードした画像の水平 : OK
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : OK
◆(例13) 小和田駅たかせはし
https://goo.gl/maps/ZN6cPLohCxgVGzyd8
アップロード方法 : 2018年3月、SV App、静止画
アップロードした画像の水平 : NG(カメラを45度傾かせている)
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG
◆(例14) 象頭山
https://goo.gl/maps/91cqpeWWn437pEfV7
アップロード方法 : 2016年9月、SV App、静止画
アップロードした画像の水平 : NG(カメラを45度傾かせている)
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG
◆(例15) 釈迦院御坂遊歩道3333段石段
https://goo.gl/maps/CrTmKikV6j6Wt23f9
アップロード方法 : 2018年11月、SV App、静止画
アップロードした画像の水平 : OK
MapsWebでの見え方 : 青線
MapsWebでの画像の水平 : OK
MapsWebでの標高の取り扱い : OK
Mapsアプリでの画像の水平 : OK
Mapsアプリでの標高の取り扱い : NG(シェブロン矢印は水平になっている。しかし標高差があるのだから斜めに移動すべき)
結論 :
わけわからん。
処理の方法が日々異なっていて、中の人の手作業による判断も加わっていそうであると推測できるため、どのようにすれば高低差のある土地や左右の景色の差が大きい場所で正しく閲覧できるストリートビューを作成できるのかが私には全く分かりません。
しかし、私が適切な処理をしているならば、もしかしたら何年後かには正しくなっているかも知れません。そして、もしかしたらある日勝手に削除されているかも知れません。
すべて中の人の思し召し次第です。
青線化のロジックの異常ではなくて、SV Appのビデオモードの処理だけに発生している異常であるような気もします。
撮影時の条件も複雑です。
カメラが鉛直方向からずれた状態で撮影した場合、景色自体が水平判断を誤らせるような場合、そしてそれらの程度や時間軸上・空間上での変化の推移など、パラメータは多岐に渡ります。
とてもすべてを網羅した実験や経験は出来ません。
やはり、本来は処理方法の仕様を明らかにして欲しいと思います。
このように結論づけて、この考察を終わります。