画質の向上

OAKカメラの画質(IQ)を向上させる方法はいくつかあります。いくつか例を挙げます:

1.カラーカメラのISP設定を変更する

2.カメラの感度を低くする(低照度での感度を上げる)

3.カスタムチューニングブロブによるカメラチューニングを行う

4.モーションブラー効果を低減させる

シリーズ3のOAKカメラには、IQを向上させるテンポラルノイズフィルターが搭載されています。

最良のIQを得るためには、特定の用途に合わせてご自身でテストされることをお勧めします。RGBカメラコントロールを使って、様々なISP設定や露出/感度値をダイナミックに(ライブで)試すことができます。

カラーカメラのISP設定

sharpness luma denoise chroma denoiseなど、IQを向上させるカラーカメラのISP値を設定できます。以下のように設定することでIQが向上する可能性があります。

camRgb = pipeline.create(dai.node.ColorCamera)
camRgb.initialControl.setSharpness(0)     # range: 0..4, default: 1
camRgb.initialControl.setLumaDenoise(0)   # range: 0..4, default: 1
camRgb.initialControl.setChromaDenoise(4) # range: 0..4, default: 1

上の拡大画像は、ISP設定によるIQの違いを示しています(詳細はこちら)。最良のIQを得るためには、あなたの具体的な用途でこれらの値をテストして調整する必要があります。

ワイドFOVのシリーズ2カメラでは、ワイドFOVのIMX378とOV9782を選択できます。一般的に、OV9782のIQは、解像度がはるかに低く、低解像度でシャープネス/ノイズに対処するのが難しいため、IMX378ほどIQが良いとは言えません。高解像度であれば、画像をダウンスケールしてノイズを目立たなくすることができます。また、OV9782はかなり大きな画素数を持ちますが、一般的にグローバルシャッターのノイズレベルはローリングシャッターよりも大きいです。

低照度での感度向上

下の画像では、異なる感度値がIQにどのように影響するかを示しています。感度を上げてもアナログゲインが増えるだけで、画像のノイズは増えます。低照度環境では、感度ではなく、常に露出を上げるべきです。デフォルトでは、そのような環境ではDepthaiは常に露出が上がるようになっていますが、30FPSの場合、最大露出は33msとなります。下の右の画像では、カラーカメラを10FPSに設定しているので、露出を100msまで上げることができます。

これは標準的なA4カメラのチューニングターゲットを420cm(40ルクス)で約15倍にデジタルズームした画像です。12MPのIMX378(OAK-Dに搭載)を使用しています。

カメラチューニング

私たちのライブラリは、すべてのカメラに使用されるカメラIQチューニングブロブの設定をサポートしています。デフォルトでは、カメラは一般的なチューニングブロブを使用するため、ほとんどの場合、カメラのチューニングブロブをユーザーが変更する必要はありません。

import depthai as dai

pipeline = dai.Pipeline()
pipeline.setCameraTuningBlobPath('/path/to/tuning.bin')

利用可能なチューニングブロブ

自分でカメラセンサーをチューニングするには、インテルのソフトウェアが必要で、それにはライセンスが必要です。

現在利用可能なチューニングブロブ

  • 低照度環境用のモノラルチューニングはこちら。これにより、自動露出を200msまで上げることができます(デフォルトのチューニングでは33msに制限されます)。自動露出を200msにするには、FPSも制限する必要があります(monoRight.setFps(5))。

  • 低照度環境用のカラーチューニングはこちら。これにより、自動露出を100msまで上げることができます(デフォルトのチューニングでは33msに制限されます)。自動露出を200msにするには、FPSも制限する必要があります(rgbCam.setFps(10))。3ms以上の自動露出でフリッカー現象が見られることがありますが、これは連続モードで動作するオートフォーカスが原因です。回避策は、CONTINUOUS_VIDEO(デフォルト)からAUTO(初期化時に一度だけフォーカスを合わせ、それ以降のフォーカストリガーコマンドでフォーカスを合わせる)に変更することです: camRgb.initialControl.setAutoFocusMode(dai.CameraControl.AutoFocusMode.AUTO)

  • OV9782 太陽光環境用のワイドFOVカラー調整はこちら。直射日光下でのレンズの色フィルタリングを修正しました(詳細)。また、LSC(レンズシェーディング補正)も改善されています。現在、OV9282では動作しないため、ワイドFOVカメラ搭載の2シリーズOAKなどで使用する場合、モノラルカメラは有効にしないでください。

  • カメラの露出制限はこちら(最大500us用最大8300us用)。これらのチューニングブロブは最大露光時間を制限し、最大露光時間に達した後、ISO(感度)を増加させます。これはモーションブラー(後述)を減らすのに有効なアプローチです。

モーションブラー

モーションブラーは、カメラのシャッターが開いている時間が長く、その間に被写体が動いている場合に現れます。

上の画像では、露光時間中に右足が50ピクセルほど動いたため、その部分がぼやけています。左足は露光時間中ずっと地面についていたため、ぼやけていません。 振動の多い環境では、固定焦点のカラーカメラを使用することをお勧めします。そうしないとオートフォーカスのレンズが揺れ、ブレた画像になってしまうからです(ドキュメントはこちら)。

回避策の例

  1. シャッター(露光)時間を短くする - これによりモーションブラーが減少しますが、センサーに届く光も減少するため、画像は暗くなります。その際にはより大きなセンサーを使うか(より多くの光子がセンサーに当たるように)、より高いISO(感度)値を使うのも手です。最大露光時間を制限する1つのオプションは、上述のカメラチューニングブロブを使用することです。

  2. モーションブラーがモデルの精度に悪影響を与える場合は、モーションブラー画像をトレーニングデータセットに含めることで、モーションブラーに強くなるように微調整できます(ビデオ例はこちら)。

質問がありますか? 技術サポートやその他の質問については、ディスカッションフォーラムへどうぞ。


出典 : Luxonisの資料 - Improving Image Quality

https://docs.luxonis.com/projects/api/en/latest/tutorials/image_quality/

*このガイドはLuxonis社の許可を得て、スイッチサイエンスが翻訳しています。


◀︎一覧に戻る