はじめに — Webカメラの限界
画像処理の開発をしていると、最初はWebカメラで十分だったりします。USB刺して、OpenCVで VideoCapture(0) して、それだけで映像が取れます。
でもしばらくすると、こんな壁にぶつかります。
- 解像度がもう少し欲しい
- コード長を長くしたい
- 焦点を調整したい
「じゃあ産業用カメラにステップアップするか」と考える。自然な流れです。
ただ、ここからが想像以上に大変でした。この記事では、カメラやネットワークの知識がほぼゼロの状態で産業用カメラに手を出し、帯域問題で詰まった実体験をまとめます。
ソフトウェアエンジニアの立場からは見えにくい落とし穴だったので、同じ境遇の方の参考になれば幸いです。
最初にぶつかる壁 — 考えることが多い
Webカメラなら「Amazonで評価の良いやつを買う」で済みますが、産業用カメラはそうはいきません。
検討が必要な項目を挙げると:
| 項目 | 検討内容 |
|---|---|
| カメラ本体 | センサーサイズ、解像度 |
| マウント | Cマウント / CSマウント / Fマウント |
| 最大FPS | センサー読み出し速度、実運用FPS |
| シャッター方式 | グローバル / ローリング |
| ピクセルフォーマット | Mono8 / Mono16 / RGB8等 |
| インターフェース | USB3.0 / GigE / CoaXPress |
| レンズ | 焦点距離、F値、対応センサーサイズ、歪み |
| ケーブル | 長さ、規格、PoE対応 |
| ハブ / NIC | 帯域、PoE給電能力 |
| ソフトウェア | SDKの有無、対応OS、APIの使いやすさ |
Webカメラから産業用カメラへの移行は、「カメラを買い替える」のではなく 「撮像システムを設計する」 行為です。最初はこの認識が薄く、それが後のトラブルにつながりました。
⚠️ この記事で一番大事な単語:「帯域(たいいき)」
帯域(bandwidth)とは、カメラとPC間の通信経路で 1秒間に送れるデータ量の上限 のことです。産業用カメラは映像データが大きいため、帯域が足りないとフレーム落ち・映像取得不能に直結します。
特に帯域。帯域は必ず事前に計算してください。 計算方法は後述します。
とりあえずの指針(初心者向け)
マウント → Cマウントが無難
マウントとは、カメラとレンズを接続する規格のことです。
産業用カメラのレンズマウントは数種類ありますが、迷ったらCマウントで問題ありません。
- レンズの選択肢が豊富
- 小型〜中型センサー(1/3"〜2/3")をカバー
- ネジ規格(1インチ、フランジバック17.526mm)で互換性が統一されている
CSマウントも同じ1インチ径ですが、フランジバック距離が12.5mm(Cマウントより5mm短い)という違いがあります。
重要な互換性のポイント:
- Cマウントレンズ → CSマウントカメラ: 5mmスペーサーリングを挟めば使用可能
- CSマウントレンズ → Cマウントカメラ: フランジバックが合わずピントが合わないためNG
Cマウント基準でレンズを選んでおけば、CSマウントカメラにも流用できるため汎用性が高いです。
最大FPS → データシートのスペックに注意
カメラにはセンサーの読み出し速度による最大FPSが設定されており、帯域とは別の制約です。また、後述するように帯域不足で実運用fpsが最大値を大きく下回るケースがあります。購入前に「自分の用途に必要なfps」を明確にしておきましょう。
シャッター方式 → 動くものを撮るならグローバルシャッター
産業用カメラのシャッター方式は主に2種類です。
| 方式 | 動作 | 向いている用途 |
|---|---|---|
| グローバルシャッター | 全ピクセルを同時に露光 | 動体撮影、ステレオ同期 |
| ローリングシャッター | 行ごとに順次露光(時間差あり) | 静止物体、コスト重視 |
ローリングシャッターでは動体が歪む現象(スキュー歪み)が発生します。動くものを撮る場合や2台同期が必要な場合はグローバルシャッターを選んでください。(Webカメラはほぼローリングシャッターです。)
ピクセルフォーマット → まずはMono8から
帯域に直結する設定です。
代表的なフォーマットのデータ量の比較:
| フォーマット | 1ピクセルあたり | 用途 |
|---|---|---|
| Mono8 | 8bit | グレースケール。帯域が最小 |
| Mono16 | 16bit(2倍) | 高精度輝度が必要な場合 |
| RGB8 | 24bit(3倍) | カラーが必要な場合 |
詳細なフォーマット比較やカラー処理の話は別途記事にまとめる予定です。とりあえず理由がなければMono8で始めましょう。
インターフェース → GigEが汎用的(ただし帯域に注意)
カメラとPCを物理的にどう接続するかの規格です。産業用カメラでは主に「USB3 Vision」と「GigE Vision」の2択になります。
GigE Vision はEthernet(LAN)を使う規格で、一般的なLANケーブル(RJ45コネクタ)でカメラとPCを接続します。PoE(Power over Ethernet)対応であれば、LANケーブル1本で給電と通信を兼ねられるのが利点です。
| USB3 Vision | GigE Vision (PoE) | |
|---|---|---|
| 帯域 | 5Gbps(理論値) | 1Gbps(一般的) |
| ケーブル長 | 3〜5m | 100m |
| 給電 | バスパワー(電力制限あり) | PoE(最大25.5W) |
| 安定性 | PC環境に依存しやすい | 比較的安定 |
| 複数台運用 | USBハブ経由(不安定になりがち) | スイッチ経由 |
ケーブル長・給電・安定性の面でGigEが有利ですが、帯域は1Gbpsと決して余裕がありません。「普通のLANケーブルで繋がるから楽だろう」と思いがちですが、ここに帯域の落とし穴があります。
【本題】GigE + PoE環境で帯域が足りなくなる問題
この記事で一番伝えたいのはここです。
一般的なPoEインジェクター / PoEスイッチは1Gbpsまで
GigE Visionカメラの多くはPoE(Power over Ethernet)で給電と通信を兼ねますが、ここで重要なのは:
一般的に入手しやすいPoEインジェクター / PoEスイッチは、各ポートの通信速度が最大1Gbps(1000BASE-T)です。
一般的なPoEインジェクター / PoEスイッチの例:
これが帯域のボトルネックになります。
なお、PoEの給電能力(IEEE 802.3af: 15.4W / 802.3at: 25.5W)については、産業用カメラの消費電力は通常5〜10W程度なので、一般的なPoEインジェクター / PoEスイッチであれば問題なくクリアできます。問題は電力ではなく通信帯域です。
帯域計算 — やっておくべきでした
通信量の計算式
産業用カメラの映像データ量は以下の式で計算できます:
通信量 [bps] = 横ピクセル × 縦ピクセル × bit深度 × fps
シンプルな式ですが、実際に数値を入れてみると想像以上の通信量になります。
具体例
例: 1920×1200 / 8bit / 60fps の場合
1920 × 1200 × 8 × 60 = 1,105,920,000 bps ≈ 1.1 Gbps
1台だけで1.1Gbps。 GigEの上限(1Gbps)を超えています。
5MPカメラの場合
2/3型5MP(2464×2056)のカメラで計算すると:
1フレームのデータ量:
2464 × 2056 × 8 = 40,527,872 bit/frame
これを1Gbps(= 1,000,000,000 bps)で割ると:
1,000,000,000 ÷ 40,527,872 ≈ 24.7 fps(理論最大)
つまり GigE接続では最大約24fps しか出ません。データシートに「35fps対応」と書いてあっても、帯域が足りなければその数値は達成できないわけです。
Webカメラの感覚で「30fpsは出るだろう」と思っていると詰みます。
複数台構成で破綻する
5MPカメラ(Mono8)を2台(ステレオビジョン等)、それぞれ22fpsで運用する場合:
1台あたり: 2464 × 2056 × 8 × 22 = 891,613,184 bps ≈ 0.9 Gbps
2台合計: 0.9 Gbps × 2 = 1.8 Gbps
1GbEの帯域(1Gbps)を完全に超過します。
「カメラ2台繋ぐだけ」でも帯域的にはアウト。ここを見落としがちです。
実体験 — 原因は帯域だった
実際に自分がハマった流れです。
構成
- 5MPカメラ × 2台(ステレオ構成)
- GigE Vision + PoE接続
- ある程度のフレームレートで安定取得が目標
起きたこと
- カメラ単体では正常動作 — 1台接続で画像取得OK
- スペック上は問題ないと判断 — 各ポート1Gbps対応のPoEスイッチを購入
- 2台接続で不安定に — フレーム落ち、片方の画像が来ない
- パラメータ調整で改善せず — パケットサイズ、バッファ、タイムアウトを調整
原因
帯域不足でした。
1台あたり約0.9Gbpsが必要で、2台で合計約1.8Gbps。1GbEのポートに2台分のストリームを流し込んでいたので、溢れて当然です。
冷静に考えれば当たり前のことですが、Webカメラの感覚(USBハブに複数台刺せばOK)が残っていたため、ネットワーク帯域という観点が完全に抜けていました。
PoEスイッチの落とし穴
「各ポート1Gbps対応のスイッチだから大丈夫」— これは必ずしも正しくありません。
ポート速度 ≠ 総スループット
PoEスイッチの仕様に「各ポート1Gbps」と記載されていても:
- バックプレーン帯域(スイッチ内部の処理能力)に上限がある
- アップリンク(uplink)帯域(PCへの接続ポート)が1Gbpsだと、そこがボトルネックになる
例:一般的な安価なPoEスイッチ
5ポート全て1Gbps対応 — 一見問題なさそうに見えます。しかしカメラ2台の映像を1台のPCに流す場合、アップリンクが1Gbpsだと詰まります。
必要な帯域の目安
| 構成 | フォーマット | 必要帯域 | 必要なスイッチ仕様 |
|---|---|---|---|
| 1台 | Mono8 | 約0.9 Gbps | 1GbEでギリギリ |
| 2台 | Mono8 | 約1.8 Gbps | 最低2.5GbE uplink |
| 2台 | Mono16 | 約3.6 Gbps | 最低5GbE、推奨10GbE |
LANケーブルのカテゴリにも注意
スイッチとNIC(PC側のLANポート)の速度を上げても、ケーブルがボトルネックになることがあります。
| カテゴリ | 最大通信速度 | 伝送帯域 | 備考 |
|---|---|---|---|
| Cat5e | 1Gbps | 100MHz | 最低限。古い配線環境に残っていることも |
| Cat6 | 1Gbps(100m)/ 10Gbps(〜55m) | 250MHz | 一般的な選択肢 |
| Cat6A | 10Gbps(100m) | 500MHz | 2.5GbE/5GbE/10GbEを100m通す場合はこれ |
| Cat7 | 10Gbps(100m) | 600MHz | Cat6Aと同等以上。コネクタ規格に注意 |
GigE(1Gbps)であればCat5e以上で問題ありません。ただし2.5GbE・5GbE・10GbEを使う場合はCat6A以上を使用してください。
「新しいスイッチに替えたのに速度が出ない」という場合、古いCat5ケーブルが残っているケースがよくあります。ケーブルのカテゴリは外皮に印字されているので確認してみてください。
対策 — 事前に確認すべきこと
1. 通信量を事前に計算する
必要帯域 [bps] = 横px × 縦px × bit深度 × fps × カメラ台数
これだけで「1GbEで足りるか」が判断できます。機材を買う前に必ず計算してください。
2. スイッチの仕様を確認する
2台以上接続するなら、マルチギガビット対応のPoEスイッチを検討する必要があります。
確認すべき仕様:
- 2.5GbE以上のアップリンクポートがあるか
- バックプレーン帯域の総量
- PoE給電の総W数
2.5GbE PoEスイッチの例:
- Omada by tp-link SG2210XMP-M2(2.5GbE×8ポート + 10G SFP+×2、PoE 160W)
- Ubiquiti USW-Flex-2.5G-8-PoE(2.5GbE×8ポート + 10G RJ45/SFP+アップリンク)
3. ネットワーク構成を物理分離する
NIC(ネットワークインターフェースカード)を複数枚PCに差し、カメラごとにネットワークを物理分離します(1NIC = 1カメラ)。
- 各カメラが独立した1Gbps帯域を確保でき、スイッチのアップリンクがボトルネックにならない
- 前提条件: PCIeスロット(PC内の拡張カード用スロット)の空きが必要
4. データ量を減らす工夫
- Mono16が不要ならMono8に変更する
- ROI(Region of Interest)で必要な画像領域だけ切り出す
- ビニング(画素結合)で解像度を落としてfpsを稼ぐ
5. 購入前にレンタルで試す
産業用カメラは代理店やメーカーからレンタル(デモ機貸出) できるケースが多いです。カメラ本体・レンズ・ハブをまとめて借りて実環境で検証してから購入するのが確実です。
- 複数メーカーのカメラを試し比べることも可能
- 帯域が足りるかどうかも実機で確認できる
- レンタル期間は1〜2週間が一般的
スペックシートだけで判断せず、実際に動かして確認することを強く推奨します。
まとめ
| Webカメラの感覚 | 産業用カメラの現実 |
|---|---|
| USBに刺せば動く | インターフェース設計が必要 |
| カメラ単体で完結 | カメラ + レンズ + ハブ + ケーブル = システム |
| 30fps当然 | 帯域で制限される |
| 2台刺せばOK | 帯域が倍必要 |
| 安いハブで十分 | スループットの確認が必要 |
産業用カメラは「カメラ」ではなく 「システム」 です。
特に帯域。帯域は必ず事前に計算してください。
次回(レンズ編)
レンズ編では、以下を扱います:
- レンズ選定で見るべき優先順位
- 被写界深度(DoF)の計算方法
- 解像度と価格・サイズのトレードオフ