2017年08月11日

CameraS88の強化を検討中

カメラS88という在線検出器をカメラで模擬するソフトがあるのですが(みなさんもうお忘れだと思いますが)、強化を考えてます。将来的には、ハードウェア化して、模型以外にもいろいろ使えるようなセンサー器具にしようと思ってます。IFは、wifi経由のブラウザで設定するような感じです。



いまは単純な辞書画像との単純比較ですが、前々からやるやるといってやっていなかった以下のアルゴリズムを適用しようと思います。

■辞書比較以外の手法の検討

実はあんまり辞書比較は良くないと思ってます。簡単で処理も軽いのですが、少しでもカメラがずれたりすると途端にダメダメになるためです。辞書の自動生成が最終的なゴールです。

辞書なしは、処理が膨大になるので、たぶん採用は難しいです。ADASなんかは、歩行者認識とかクルマの認識はかなりの演算をして判定処理をしています。認識部分はソフトじゃなくてASICやFPGAでハード化してそうですね。

■照明にロバストな正規化

ヒストグラムを用いて補正をかける、ZNCCなどのテンプレートマッチングの正規化などの手法があります。演算量が増えますが、安定性が上がります。辞書画像を定期的に取得して辞書データの変化量をあらかじめ持つのも良いかもしれません。

■エッジ変化検出

RGBの色ではなくて、エッジ(色の傾き、ベクトル)の変化で検出する方法は、ロバストだとよく言われます。
なんでかというと、色はノイズや明るさにもろに影響しますが、エッジにするとその影響が減るからです。ただし、データとして複雑になるので、演算量は増えます。
どれくらいベクトルデータを得るかにも寄りますが、0°、180°、45°、315°の4データでだいたい網羅できるはずです。

cS88_edge0deg.png

■位置の移動軌跡のベクトル化(キャットフィルター)

検出した位置の軌跡をベクトルとして表現し(中心または重心の差分からベクトルに変換できます)、模型か人かを判断して分離する。ベクトルの向きを利用して一種のフィルタとしても扱う。いわゆる「猫が来た!」問題の解決用です。まあ、スタンドバイミーばりに線路伝いで来たらダメですが・・・。

cS88_catfilter.png

-----------------------------------

なんか、画像処理の研究室のテーマみたいな様相ですが、なかなか楽しいものなので遊びながらやっていこうと思います。模型の在線検出器としては、一番最強の解決方法になると思います。
posted by yaasan at 08:49 | Comment(2) | ソフトウェア