時には余計なものが無い方がいい
FOV(Field of view : 視野)を維持したままフレームレートを上げたいと考えたことはありますか? 露光時間を短くしたいですか? 視野を維持したまま解像度を下げるのはいかがでしょうか。
同じ視野で画像の解像度を下げるにはセンサーモデルによっていくつか方法があります。サブサンプリング、ビニング、もしくはスケーラー。しかしこれらは何が違うのでしょう。
バックグラウンド
サブサンプリング
サブサンプリングは画像データを読み込む際に複数のセンサーピクセルを読み飛ばします。これによりデータの転送量を削減し高いフレームレートを実現することができます。撮影された画像は解像度は下がりますが、フル解像度のときと同じFOVを維持します。
カラーサブサンプリング - 多くのカラーセンサーで用いられる方法 - は色を維持したままピクセルの読み飛ばしを行います。一部のモノクロセンサーでもカラーサブサンプリングを行いますが、若干アーチファクトが生じるものもあります。
モノクロセンサーと一部のカラーセンサーはベイヤー配列を無視するため、色情報が失われます(モノサブサンプリング)。
サブサンプリングはカメラ内での画素前処理で行われることもあります。この場合、データ量は削減されますがフレームレートが上がることはありません。
ビニング
ビニングは複数のピクセルを平滑化もしくは加算して1つのピクセルの値として取得します:
-
加算する場合は、画像の明るさが増加します。
-
平滑化する場合は、画像のノイズを削減します。
ビニングもデータ転送量を削減し、高いフレームレートを実現できます。撮影された画像は解像度は下がりますが、フル解像度のときと同じFOVを維持します。
カラービニング -多くのカラーセンサーで用いられる方法 -は同じ色のピクセルのみを混合します。一部のモノクロセンサーでもカラービニングを行いますが、若干アーチファクトが生じるものもあります。
多くのモノクロセンサーや一部のカラーセンサーは隣り合ったベイヤー配列のピクセルを混合します。この場合は色情報が失われます(モノビニング)。
スケーラー
スケーラーは特別なケースです。この機能はUI-124x/UI-324x/UI-524x (e2v EV76C560)、UI-125x/UI-325x/UI-525x (e2v EV76C570)、及び UI-149x/UI-549x (onsemi MT9J003)でサポートされています。
スケーラーを使用する場合、画像の解像度をどの程度削減するかを調整できるので、データ量を削減することが可能です。撮影された画像は解像度は下がりますが、フル解像度のときと同じFOVを維持します。サブサンプリングやビニングとは異なり、データ量はリニアに削減され、画像の明るさは変わりません。
uEye Cockpitでの画像解像度設定
uEye Cockpit上で“uEye > プロパティ”からカメラのプロパティを開きます。サブサンプリング、ビニング、スケーラーの各機能をカメラがサポートしている場合、“サイズ”タブから設定を行うことができます。
ヒント:画像プロファイル
もしFOVや画像サイズを変更することが可能な場合、画像プロファイルを使用することもできます。
“サイズ”タブにて事前に定義されている解像度をプロファイルから選択することができます。指定されたプロファイルに従って、ドライバーがベストの画質を得られるAOI、サブサンプリング、ビニング、スケーラーの設定を自動的に行います。
アプリケーションへの影響
これら3つの方法は共通してFOVの維持と画像解像度の削減を実現します。
サブサンプリングの利点は、画像の明るさやコントラストを変えずにフレームレートを上げられることです。スケーラーはサブサンプリングと同様ですが、更に細かい解像度の設定をすることができます。但し、スケーラーをサポートしているカメラは限られています。
ビニングの利点は画像の明るさを増加させられる点です。これは、光に敏感な対象物や表面が光を反射しやすいものなど、フラッシュを使用できないアプリケーションで効果を発揮します。また、露光時間を短くすることができるので、動いている対象物を撮影するときにも有利です。
要点
サブサンプリング |
ビニング |
スケーラー |
|
---|---|---|---|
FOV |
変化無し |
変化無し |
変化無し |
解像度 |
低減可能 |
低減可能 |
低減可能 |
フレームレート |
向上可能 |
向上可能 |
向上可能 |
コントラスト |
変化無し |
向上可能 |
変化無し |
明るさ |
変化無し |
向上可能 |
変化無し |
ノイズ |
変化無し |
向上可能 |
変化無し |
利点 |
|
|
|
欠点 |
|
|
|
サブサンプリング、ビニング、スケーラーの設定は各uEye API、“is_SetSubsampling”、“is_SetBinning”、“is_SetSensorScaler”、または.NETクラスの“Subsampling”、“Binning”、“SensorScaler”にて設定することが可能です。
設定方法の詳細につきましては、uEyeマニュアル(https://jp.ids-imaging.com/manuals-ueye-software.html)をご参照ください。