WEBカメラの露光のばらつき

ロジクールのHD Webcam C270を利用して、深層学習の教師データを作成しています。WEBカメラは一般的なデジカメと比較してRaspberry Piからコントロールしやすく、安価で汎用性があるのが利点です。ただ、試験的に静止画を撮影するうちに、ある現象に気付きました。露出の設定値を固定しているのにも関わらず、撮影画像の明るさにばらつきがあるということです。もちろん、光源は安定した環境で撮影は行っています。

図1.サムネイルで明度のばらつきが確認できる

そこで、どの程度の明度差が生じているかを定量的に観察すべく、分析を行いました。方法としては、画像をグレースケールに変換し、画素値の平均をヒストグラムにプロットしました。

図2.グレースケール画像の画素平均

これより、明るい場合、暗い場合と2つの場合が傾向として観察できます。これは、サムネイルをざっと目視で観察していたときの印象と合致する結果です。原因はおそらくWEBカメラにあると推察しており、ハードウェア的にこの現象を回避するのは容易ではなさそうです。

そこで検討せねばならないのは、この現象をどう取り扱うかです。最終的な目的として、深層学習による未知画像の推論があります。その際に利用するのはやはり同じC270のWEBカメラであり、1枚撮影しただけでは比較対象がないため、明るくとれているのか、あるいは、暗くとれているのかを判断することができません。つまり、どちらの場合でも正しく推論できたほうがよく、教師データもそれに準じているべき、つまり、明るい画像と暗い画像両方を学習していればよい、ということが考えられます。

そもそも、教師データに与えるカメラ特性の影響はノイズであり、認識対象物に直接関係する情報ではありません。今回の考察により得られた課題として、学習に付随するノイズが推論に与える影響というテーマが浮かび上がりました。画像認識用の教師データにおける背景などについても同じことが言えると思います。この状態でいちど、学習を行ってみてもよいかもしれません。

ロジックレベルを3.3Vと5Vで双方向にコンバートする

Qiitaに執筆しました。

ロジックレベルを3.3Vと5Vで双方向にコンバートする
https://qiita.com/sudamasahiko/items/49b922e6ac8d050cde3d

とあるプロジェクトで、Raspberry Pi(以下ラズパイ)からマイクロサーボSG90を動かす必要がありました。その際気づいたのは、ラズパイからサーボ駆動に必要な5VのPWM信号が出力できないということ。困った(ただ、実際は3.3Vの信号でも動くケースが多いみたいです)。続きはこちら