ティアフォー製車載カメラ「C1」を使ってみました

ティアフォー製車載カメラの紹介
ティア某として(私のTL上で)有名な、自動運転技術を開発しているティアフォーさんの車載カメラ「C1」。
何故か家の床から生えてきた(サンプル品を特別に一定期間貸与いただきました、謝礼などは受け取っておりません)ので使い方・使用感をレビューしていきます。
なお、当方は車載カメラの専門家ではないので、あくまで趣味的に動作確認や性能を確認してみたという位置づけになりますので、その点はご了承ください。
色々試したら随時追記していきます。
参考にした公式サイトは以下です。
外観
今回、特別に防水のFAKRAコネクタとのセットで貸与いただきました。



FAKRAコネクタを接続すると、防水されている安心感があります。
動作確認
動作確認をしていきます。「C1」はUSBで接続できて、UVC規格のカメラとして手軽に扱うことができます。特殊用途のカメラだと、セットアップ特殊だったりWindows専用だったりするものもあるので、この手軽さは嬉しいですね。
Mac/Linuxでは以下のようなサンプルコード(今回は simple_camera.pyとしました)で動かすことができます。(注:VideoCapture(0)の数字は環境に応じて変えてください)。まだ試せていませんが、Jetsonでも、同じコードで簡単に動作確認できると思います(Jetsonでの動作実績はあるようです)。
コード
import cv2
cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    if not ret:
        break
    key = cv2.waitKey(1)
    if key == 27:  # when ESC key is pressed break
        break
    cv2.imshow('camera', frame)
cap.release()
cv2.destroyAllWindows()
実行結果
先程のコードの実行結果です。とりあえずMacで試した例です。
$ python3 simple_camera.py 
対象が同じサイズになるようにして撮影しました。「C1」水平画角は、85degと120degのものがあるようです。これは、広角な120degタイプ(のはず)なので、かなり広角です。
ティアフォーカメラ「C1」

Mac内蔵カメラ

Webカメラ

v4l2-ctl
Linuxマシンで、v4l2-ctlコマンドでカメラの設定などを確認した結果です。
v4l-utilsをインストール。
$ sudo apt install v4l-utils
確認
$ v4l2-ctl --all
Driver Info:
	Driver name      : uvcvideo
	Card type        : GMSL2-USB3.0 Conversion Kit
	Bus info         : usb-0000:00:14.0-3
	Driver version   : 5.15.64
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : GMSL2-USB3.0 Conversion Kit
	Serial           : C1-Master
	Bus info         : usb-0000:00:14.0-3
	Media version    : 5.15.64
	Hardware revision: 0x0000110a (4362)
	Driver version   : 5.15.64
Interface Info:
	ID               : 0x03000002
	Type             : V4L Video
Entity Info:
	ID               : 0x00000001 (1)
	Name             : GMSL2-USB3.0 Conversion Kit
	Function         : V4L2 I/O
	Flags            : default
	Pad 0x01000007   : 0: Sink
	  Link 0x02000010: from remote pad 0x100000a of entity 'Extension 3' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 1920/1280
	Pixel Format      : 'UYVY' (UYVY 4:2:2)
	Field             : None
	Bytes per Line    : 3840
	Size Image        : 4915200
	Colorspace        : Default
	Transfer Function : Default (maps to Rec. 709)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Limited Range)
	Flags             : 
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 1920, Height 1280
	Default     : Left 0, Top 0, Width 1920, Height 1280
	Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1280, Flags: 
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1280, Flags: 
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0
残念ながらUSB経由ではカメラのパラメータ(Exposureなど)は調整できないようです。ティアフォーの中の人にも確認しました。
カメラパラメータまで調整する場合はI2Cでの制御が必要になります。ただ、オートでも十分な性能がありますし、より詳細なコントロールまでしたい人はI2Cというのは、良い割り切りかなと思います。
車載カメラとお風呂に入る
やはり車載カメラをゲットしたら防水性を確認しないわけにはいきません。今回、特別に防水コネクタまで頂いたので、お風呂に一緒に入ってみました(ティアフォーの中の人には事前に確認、了承の上で実施しています)。



全く問題ありません。さすが動作温度も-40~85℃の車載カメラです。安定して動作しました。
まとめ
ティアフォーの車載カメラを紹介してみました。
防水コネクタの堅牢性、USBとして扱える手軽さは文句無しではないかと思います。逆光性能等の性能面では、定量的なテストはできていませんが、良さそうには見えました。こちらに関しては、他の方のTwitterでのテスト結果をこの後で紹介しておきますので参考にしてみてください。
購入に関しては、スイッチサイエンスさんに扱いがありました。お取り寄せという形になるようです。今大人気のようですね。
他の人の感想
ネット上での感想など
逆光耐性
その他ツイート
参考
Discussion