次、シート検査プログラム、行くよ。
3年前、保有していた初代i5ノートパソコンでのデモンストレーションが必要になるかもと考え、4GBメモリ、128GBSSDでも動作するように作ろうとしてたんだが、結局4GBメモリでは使い物になるものが出来そうにないということで、8GBメモリまで許容することにして開発してた。
当時も16MPが必要と、USB2.0のIMX298を選択、アマゾンで安く入手できるのはM12レンズのモジュールタイプで開発してたけど、AKAZEを使うと現実的な検査時間にならないため、シートをきちんと一定の位置に置き、若干縁は切れてしまうが縁落としして不要な部分を減らしてデータ量を減らし、画像の平均値を出してそれからどれだけ数値が離れているかで異物判定し、離れた数値が5000dotを越えているとシートのセットミスが発生していると判断表示するものであった。
CPUはデスクトップのi5-6xxx、ノートのi5-8xxx、メモリ8GB、SSD256GB、メモリ使用量は6GB程度に抑えられ、5秒程度で良否判定でき、異物位置を四角で囲んで明示するもの。
まあ5秒のうちの3秒はシートセットする手が写らないようにする待ち時間なんだが。
いまだに16MPは、USB2.0のIMX298しか安易に手に入れられないので、今も一緒w
だけど、固定焦点のCSレンズ付きを手に入れているので、かなり解像感が高いよ。
今回は、高速マッチングができるORBやBRISKが使えそうなので、シートのセット位置がシビアにならなさそう。
しかし、Data-toCameraの比較検査プログラムを修正して作成するつもりなんだが、Data-toCameraの比較検査プログラムではメモリを8~9GB使用しているので、メモリ12GB以上は必要になりそう。
検査シートを1枚撮影し、シートの平均の色を計算、シートサイズの画像データを平均色で作成、そのデータに撮影データをマッチングしてシートサイズで抜き取り、抜き取った部分の色数値の乖離を判定し、異物混入を特定する予定。
シートの縁のあいまいな色の部分をどう処理できるかが、ポイントになりそう。
コメント
コメントを投稿