視野計はどのように機能するのか?
視野計算機は、カメラシステムによって撮影されたシーンの角度範囲を決定する。 システムで撮影されたシーンの角度範囲を決定します。 この計算は基本的にセンサーサイズとレンズ焦点距離の関係に依存するが、具体的な計算式はレンズの投影タイプによって異なる。 具体的な計算式はレンズの投影タイプによって異なります。
- FOV:
- 視野角(度
- d:
- センサーの寸法(幅、高さ、または対角線)
- f:
- レンズの有効焦点距離
この式は理想的なピンホールカメラモデルを想定しています。実際のレンズは、以下の理由によりこのモデルから外れる:
- レンズの歪み:バレルの歪曲は端のFOVを増加させ、ピンクッションはそれを減少させる
- 入射瞳位置:角度計算の投影中心に影響する。
- ケラレ:機械的または光学的なケラレにより、使用可能なFOVが制限されます。
- 主点オフセット:センサーの中心から光軸をずらす
なぜ投影モデルの違いがカメラのFOVに関係するのか?
カメラの視野計算は、レンズの投影タイプによって劇的に変化する。直線 レンズは直線を維持する(その代償としてFOVは180°未満に制限される)のに対し、魚眼レンズは次のような別の数学的マッピングを使用する。 魚眼レンズでは、より広い範囲をカバーするために、別の数学的マッピングを使用します:
直線投影
- シーンの直線を維持する
- FOV limited to <180° theoretically
- 像高=f×tan(θ)
- ほとんどの撮影の標準
- 広角側でエッジに向かって歪みが大きくなる
魚眼プロジェクション
- 直線カーブ(中央を除く)
- 180°以上のFOVを実現
- 複数の投影モデルを用意
- より均一な角度分解能
- 監視、ロボット工学、VRキャプチャに使用
魚眼投影はFOV計算機にどう影響するか?
魚眼レンズは意図的に直線投影から逸脱しているため、視野計算には異なる計算式が必要となります。 なぜなら、魚眼レンズは、より広い範囲をカバーするために、意図的に直線投影から逸脱しているからです:
魚眼投影タイプ
- 等距離(f-θ): r=f×θ- 角度から半径への線形写像。 測定アプリケーションで一般的なマッピング
- ステレオグラフ: r=2f× tan(θ/2) - 局所的に角度を保存 (コンフォーマルマッピング)
- 正射投影: r=f× sin(θ) - 正射投影ビューを提供します、 エッジを著しく圧縮
- 等立体角: r=2f× sin(θ/2) - 立体角を保持、 科学的イメージングで一般的
各投影は、シーンの角度が画像位置にどのようにマッピングされるかに影響し、センサー全体の有効FOV分布を変化させる。 を変化させます。
FOV計算機に必要なセンサーパラメータは?
カメラ視野のためのセンサー寸法を理解する
正確な視野計算結果を得るには、正確なセンサー寸法が必要です。よくある混乱は以下から生じる:
- フォーマット表記と実際のサイズ:1/2.3インチ」センサーの幅は12.7mmではなく、~6.17mmです。
- アクティブエリアとトータルサイズの比較:受光領域の寸法のみを使用
- アスペクト比のバリエーション:同じ対角の4:3、16:9、1:1センサーはH/Vが異なる。 FOV
FOV計算のための一般的なセンサー形式
視野計算には正確なセンサー寸法が必要です。包括的なセンサーフォーマット情報 および詳細な仕様については CMOSセンサーサイズガイドをご覧ください。
フォーマット名に関する注意:歴史的な「インチ」表記(1/2.3インチなど)は、ビデオチューブの規格に由来するもので、物理的な寸法とは異なります。 物理的な寸法とは異なります。正確なFOV計算結果を得るためには、必ずメーカーのデータシート 正確なFOV計算結果を得るためには、メーカーのデータシートで実際のセンサー寸法を確認してください。
FOV補正のためのOpenCV歪みモデル
OpenCVキャリブレーションフレームワークは、単純な半径方向の補正係数とは異なる歪みモデルを使用しています。 とは異なる歪みモデルを使用します。OpenCVはBrown-Conradyモデルを多項式係数で実装しています. を実装しています.
- k₁、k₂、k₃:
- ラジアル歪み係数
- p₁、p₂:
- 接線方向の歪み係数
一様な補正を適用する単純なFOV計算機とは異なり、OpenCVのモデルは、半径方向と接線方向の両方の歪み成分を考慮します。 を考慮したモデルです。レンズの正確なディストーション係数を得るには、次のようにします:
- 用途
cv2.calibrateCamera()
複数の位置で撮影されたチェッカーボード画像 - 広角レンズ(FOV120°以上)には
cv2.fisheye
モジュールの代わりに - GUIベースの係数抽出用にCamCalibのようなキャリブレーションツールを検討する。
- 典型的なワークフロー:20~30枚のキャリブレーション画像の撮影→コーナーの検出→イントリシクスの最適化
⚠️ OpenCV Fisheye vs 標準モデル
OpenCVは,2つの異なるキャリブレーションモデルを提供します:標準的なピンホールモデル(FOV < 120°に適しています)と 広角レンズ用の魚眼モデル(Kannala-Brandt)です.間違ったモデルを使うと,不正確な の歪み補正の結果が得られません。魚眼モデルでは、広角投影をよりよく表現するために、異なる歪み係数(rベースではなくθベース)を使用します。 を使用します。
OpenCVのカメラキャリブレーションとディストーションモデルについては、以下をご覧ください。 OpenCV Camera Calibration ドキュメント をご覧ください。
ワーキングディスタンスとカメラFOVの関係は?
視野計算機は角度のFOVを提供しますが、多くのアプリケーションでは、特定の作業距離における線形の視野寸法が必要です。 を必要とします:
- リニアFOV:
- ワーキングディスタンスでのシーン幅/高さ
- WDだ:
- レンズ入射瞳からの作動距離
- 角度FOV:
- 計算機からの視野角
ロボットナビゲーション
- 一般的なFOV:水平120~180
- センサー1/2.3 "フォーマット(代表値
- レンズ:1.8-2.8mmフィッシュアイ
- 2mでのカバー率:幅6~12m
機械検査
- 典型的なFOV:対角20~40度
- センサー1インチ以上
- レンズ:16-35mmレクティリニア
- ワーキングディスタンス300-500mm
セキュリティ監視
- 典型的なFOV:水平80-110°。
- センサー1/2.8 "コモン
- レンズ:2.8-4mmバリフォーカル
- カバー範囲部屋の全幅
避けるべきFOV計算機の一般的な間違いとは?
有効焦点距離の代わりに後方焦点距離を使う
視野計算には、後焦点距離(BFL)ではなく、有効焦点距離(EFL)が必要です。 (BFL)ではありません。 BFLは後玉からセンサーまでの距離を測定し、EFLは倍率を決定します。 EFLは倍率を決定し、カメラの視野を決定します。複雑なレンズ設計の場合、これらは大きく異なることがあります。レンズのEFLを決定するには EFL計算ツールをご利用ください。
レンズの歪みが実際のFOVに与える影響を無視する
基本的なFOV計算式は、歪曲収差がゼロであると仮定しています。実際のレンズはこのような歪曲収差を示します:
- バレル歪曲:広角レンズでは一般的で、周辺FOVを5-20%増加させる。
- ピンクッション歪曲:望遠レンズに見られ、端のFOVをわずかに減少させる。
- 複雑な歪み:多くのレンズは、両方のタイプが混ざった「口ひげ」のような歪みを示す。
⚠️ 広角レンズにとって重要なこと
広角レンズ(特にFOV180°に近いレンズ)は、直線投影を維持することができません。 FOV計算機では、これらのレンズに対して適切な魚眼計算式を使用する必要があります。標準の を使用しようとすると、焦点距離がゼロに近づくにつれて不正確な結果が得られます。
混乱する対角FOVと水平FOVの仕様
メーカーは、視野を水平、垂直、または対角線で指定することができます。FOV計算機 は3つすべてを計算しますが、注意してください:
- 防犯カメラには水平FOVが多い
- 写真用レンズは通常、対角線FOVを使用する。
- マシンビジョンはHとVを別々に指定することができる
- 魚眼レンズは円形FOVを与えるかもしれない(クロップしない場合)
FOV計算機の結果を検証するには?
視野計算の結果を確認する:
- メーカーの仕様を確認する:計算されたFOVとデータシートの値を比較する
- 歪みを考慮する:公表されているFOVには歪みの影響が含まれている場合があります。
- センサーの寸法を確認する:チップサイズではなく、アクティブエリアを使用していることを確認する。
- イメージサークルを考慮する:要求されるFOVのためにレンズがセンサー全体をカバーするようにすること
- 経験的にテストする:可能であれば、キャリブレーションターゲットを使用して実際のFOVを測定する
実用的な検証方法
既知の距離に測定ターゲットを置く。画像をキャプチャし、ターゲットの幅/高さがどれだけフレームに表示されるかを測定する。
を測定する。以下の方法で実際のFOVを計算する:
実際のFOV = 2 × arctan(target_size / (2 × distance))
FOV計算機の予測値と比較し、系統的な違いを確認する。