宇宙線信号の検出

シリコン半導体センサーである、CMOSカメライメージセンサーを通過した荷電粒子(宇宙線)は、クーロン力によって電子と、正孔を生じさせます。この電子が画素の電極に引き寄せられ回収されます。可視光が当たった場合も、光電効果によって同じように電子が生成され、電極で回収されます。つまり、可視光が当たった場合と同じような反応が、光の全くない暗闇でも発生した場合、宇宙線信号と判断できることになります。

回収された電子の数によって電圧信号の強弱が決まり、それがデジタル画像の画素情報に変換されます。電圧が大きいと強い信号となり、画素は明るくなります。回収される電子が少ない場合は、弱い信号となり暗い画素となります。

宇宙線の信号はとても弱いため、暗い画像から僅かな灯りを探す作業となります。

ノイズ除去

CMOSセンサーには宇宙線信号とそっくりなノイズが発生することがあります。形、明るさでは判別ができません。ただ、ノイズの発生する画素は、多くの場合繰り返し同じ場所でノイズを発生させるため、ノイズを発生される画素を特定し、丁寧に取り除くことが重要になります。 長時間露光、長時間の繰り返し撮影でノイズを発生させる画素が増えていく傾向があるため、一定期間毎にノイズ画素の場所と特定することも必要です。


左:ノイズ 右:信号

検出アルゴリズム

Python+OpenCVを使用し信号検出をしています。 検出ステップは以下の通りです。センサーやデバイスによってノイズ量が違うため、検出条件は都度調整しつつ適切な閾値を探りながら進めています。

  1. 画像を適切な閾値でグレースケールに変換
  2. ピクセルの反応領域を検出
  3. 矩形検出により反応領域の幅と長さを取得
  4. 条件にあうものがあれば、画像から該当領域を切り出し保存