##この記事は、2025/05くらいの著者の持ちうる情報で書かれています。
##整理用なので、間違いなどがあればご指摘いただければ幸いです。
車載用カメラについて
昨今、自動運転などでカメラが採用されている。有名なところでは、Teslaは全方位にカメラを使って自動運転を実現しているとのこと(カメラだけなので、絵を描いた壁を誤認識するとかの話題もある)。
カメラと言えば、スマホやPCにもカメラが付いている。何ならPC用にUSBカメラがあるのだから、それで自動運転をすればいいじゃないか、という人もいる。Amazonを見れば4Kを謳っているから、高性能だろう、と。しかし当然そうはいかない現実がある(まあAmazonの4Kは、ね?)。
この記事では、その中でよくGMSLというキーワードが出てくる。特にGMSL2であるが、これについて色々書き連ねておく。
自動運転に求められるカメラとは
正味、カメラの性能(画質やフレームレートなど)は、個々開発メーカーの設計思想に基づく部分があって、これが王道だ! というものはない。
- A社は、
4Kカメラ 60FPS * 8台
を選択している - B社は、
3Kカメラ 10FPS * 6台
を選択している - C社は、
4Kカメラ 30FPS * 12台
を選択している
数字は適当にぼやかしているが、どれも思想が異なっているので、どの選択も間違ってるとは言えない。ただし、どのケースであっても、『データを取る以上は、そのデータを適切に使う必要がある』ということが共通している。
要は、高性能
で高FPS
で多台数
のカメラを使った場合、それを処理できる機器が存在しなければならない。しかも、
- 処理機器は、広帯域で高速な機器
→ 高コスト、熱問題、車載耐震性などに対応必要 - 開発中はデータを記録して、後で処理
→ 高速SSD必要、記憶領域必要 - データを圧縮or間引けばよい
→ GPU熱・電源、映像同期問題、フレーム落ち問題
などと挙げれば無限に問題が出てくるので、カメラの性能は検討しておく必要がある。
例えば映像の処理スピード
や、アルゴリズム設計
、AI認識処理の時間
など。
カメラ性能は、多めに見積もるのではなく、必要最低限に
それはそうとして、なぜUSBカメラのようなものではなく、GMSLなどのカメラを使うのか? は、ざっくり言えば以下である。
- 伝送速度 : GMSL2なら6Gbps。
現代USB/Ethernetからするとそんなに早くはないが、組み込み用途と考えると早い - 通信方式 : シリアル通信(SerDes)
「パラレルで同時に送ったほうがいいのでは?」という意見も聞くが、- 配線数が多くなる
車両に通すと、シリアル通信の数倍必要になり、コストアップ - 配線が長いと、パラレルケーブルのそれぞれにノイズや遅延が発生
Skewという。これでデータが来るタイミングがまちまちになり、同期が困難になる
- 配線数が多くなる
- ケーブル : 同軸またはSTP(シールドツイストペア)
長距離でも堅牢であり、20m程度まで使用が見込める
しかも電源も一緒に乗るので、このケーブルだけでよい
「でもUSBでいいじゃない?」という人がいますが、USBは距離が短く(最大数m)、プロトコルが異なり、リアルタイム性に欠ける
ため実用には耐えません。いや、趣味程度ならいいんでしょうけど……
専用のGMSL規格は、専用通信で早く、安く、うまい
で、どんなカメラがあるの?
世界を見渡せばたくさんあるが、私が使っていた/多分使いやすい/多分入手しやすいカメラは、以下3メーカーで、2880x1860の解像度を持つSONY IMX490センサを使用したカメラをピックアップして紹介。
※ここで紹介するカメラは、ISPあり。要はシャッタースピードやホワイトバランスを調整してくれるので、GMSL2で接続すればすぐ使えるようなカメラ。これがないと色々大変。
ティアフォー ※別会社リンク
TierIVのサイト直接見たいけどなんでこんなに見にくいの?
日本のベンチャー発の会社。なんかすごそう。カメラはAmazonで買うことができる。
C2-120
Leopard Imaging
アメリカの会社。製造やサポートは中国。
LI-IMX490-GW5400-GMSL2-120H
Sensing TECH
中国の会社。独自製品多くてよいかも。
SG5-IMX490C-5300-GMSL2
どの会社を使うかは一長一短あるのでなんとも言えないが、カメラ映像を受ける機器次第かな、と私は感じる。日本製で入手楽でUSBでささっと使いたいならTierIV、コストを安くならLeopard Imaging、色々変なことをやりたいならSensing TECH。だと思う。
色々メリットを検証して選定しましょう
この記事を見て、「お、なら買ってとりあえずカメラを動かしてみたい!」と思った場合、受像するための機器が必要です。
この続きは後で書きますが、先に結論を言うと
- x86_64マシンで映像を受ける場合、PCIeカードが必要です(割と高い - 100万円ぐらい)
- Aarch64マシン(NVIDIA Orin)で映像を受ける場合、とりあえずLeopard ImagingとSensing TECHは専用のボードがあり安いです(数万円)
なので、ここらへんも視野に入れましょう。
本日はここまで。