2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

360度カメラについて調べてみた

Posted at

はじめに

sc2.jpg
360度カメラについて調べてみました。
2K→4Kの次は360度カメラが流行ると思っています。360度までいかなくても監視カメラなど180度カメラを使用すると魅力的です。カメラを導入するにはCMS側が対応していなければいけません。その前段として技術の先行投資をしようと思いました。
使用したカメラは RICOH THETA SC2(3.3万円)です。

カメラの種類

e-d.jpg
FFmpeg のフラグで equirect と dfisheye というものが登場します。今回使用するのは左の equirectangular です。

equirectangular
エクイレクタングラーは正距円筒図法と呼ばれています。
中心に前面カメラ、左右に分かれて背面カメラがあります。
つなぎ目はカメラ側できれいに補正されます。

double fisheye
主にカメラの前面に2つの魚眼レンズがあるタイプです。

カメラ画像

camera.jpg

近所を撮影しました。下に映っている肌色の物体は私の指です。
中心に前面カメラがあり左右に分かれて背面のカメラがあります。つなぎ目の補正はメーカーのアプリを使用します。分からないくらいきれいに補正されます。

FFprobe 解析結果

撮影した動画を FFprobe で解析しました。spherical: equirectangular とあるのがポイントです。エクイレクタングラーは正距円筒図法と呼ばれています。

Metadata:
  major_brand     : mp42
  minor_version   : 1
  compatible_brands: mp42avc1
  creation_time   : 2023-01-29T06:52:28.000000Z
Duration: 00:00:07.00, start: 0.000000, bitrate: 51715 kb/s
Stream #0:0[0x1](eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 3840x1920, 51139 kb/s, SAR 1:1 DAR 2:1, 29.98 fps, 29.98 tbr, 48k tbn (default)
  Metadata:
    creation_time   : 2023-01-29T06:52:28.000000Z
    handler_name    : VideoHandler
    vendor_id       : [0][0][0][0]
    encoder         :
  Side data:
    spherical: equirectangular (0.000000/0.000000/0.000000)
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 128 kb/s (default)
  Metadata:
    creation_time   : 2023-01-29T06:52:28.000000Z
    vendor_id       : [0][0][0][0]

動画からサムネイルを出力

参考までに ffmpeg を使って動画からサムネイルを出力するコマンドです。
\ は改行です(Macは\ Winは^)

ffmpeg -i input.mp4\
 -ss 1\
 -vframes 1\
 -vf scale=-1:360 -f image2\
 -y output.jpg

360度画像から切り出し

ffmpeg を使って画像を切り出します。yaw と pitch に-180~180を入れます。

ffmpeg -i input.jpg\
 -vf v360=input=equirect:output=flat:w=320:h=180:yaw=0:pitch=0\
 -y output.jpg
オプション 説明
-i input.jpg 入力画像
input=equirect 入力はエクイレクタングラー
output=flat 出力はフラット
w=320:h=180 出力の画像サイズ
yaw=0:pitch=-0:roll=0 -180~180 ヨー ピッチ ロール ※下記
-y output.jpg 出力ファイル -y は上書き

ヨーピッチロールについて
yaw.png

  • yaw ヨー(左右)
  • pitch ピッチ(上下)
  • roll ロール(回転)

ヨーとピッチを指定します。ロールは今回使いません。

切り出し結果

input.jpg
9img.jpg

上の画像が全天球画像。下の9枚が上下左右90度方向に切り出した結果です。分かりやすいよう吊り橋のフリー素材を使いました。ロープが水平、床板が垂直になっていることが分かります。

まとめ

360度カメラについて調べてみました。興味があったのは画像を切り出すところです。画像を切り出すことができれば、従来のMLを使った画像解析が使えそうです。
360度カメラ自体は古くからあります。Youtubeも対応しています。しかしやってるところはまだまだ少ないです。360度カメラに対応することでチャンスがあるかも知れません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?