お客様: 大手精密機器メーカー様

ご依頼内容

  • 円形の測定領域の内側に密集する、微細な円形構造を、画像から自動で数えたい、というご相談。
  • 手元にある既存のプログラムでは、測定領域の外側まで解析してしまい、数え漏れや二重計数も起きるため、原因を明らかにして改善したい。
  • 画像の条件に合わせて、処理方式やパラメータを、画面から調整しながら使いたい。
  • MATLABの操作を必要としない、単体で実行できるアプリケーションとして受け取りたい。

課題

  • 大きな測定円を安定して検出し、円の外側を計数の対象から除くこと。
  • 1画像あたり約1,100〜3,000個の微細構造を、近接やノイズの影響を抑えて、数えること。
  • 画像の条件に応じて、処理方式とパラメータを、画面から調整できるようにすること。

ソリューション

  • グレー化とガウス平滑化の後、円形Hough変換で測定領域を多段に検出し、円の外側をマスクした。
  • 平滑化画像との差分を用いる方式と、局所極大を用いる方式を、切り替えて使えるようにした。
  • 微小領域の除去と極限収縮で候補点を抽出し、わずかに再膨張することで、一つの構造が複数の点へ分かれる誤検出を統合した。
  • 連結領域の重心の数から個数を求め、検出結果を画像上で確認できるようにした。
  • 入力、パラメータ設定、実行、結果確認をまとめたGUIを、App Designerで作成した。
  • MATLAB Compilerで実行形式を作成し、取扱説明書とともに納品した。
測定円の内側の構造だけを計数することを示した模式図
測定円の内側だけを計数する。左が入力画像、右が検出結果で、赤い円が検出した測定領域、青い点が計数した構造。外周にも同じ構造が並ぶため、測定円を検出して円外を除かないと数え過ぎになる。構造の並びを表した模式図で、実際の撮影画像ではありません。描かれている数も実測値ではありません。
測定円の検出から計数までの4段階の処理の流れを示した図
処理の流れ。測定円を探す、円外を除く、点にして統合する、数える、の4段で構成する。1〜2が測定領域の切り出し、3が計数の精度を決める。いずれもパラメータを画面から調整できる。
評価画像8枚の一致度を示すグラフ。98.3%から106.4%の範囲
人手カウントの平均を100%としたときの、自動計数の一致度(評価画像8枚)。98.3%〜106.4%で、±10%の帯に収まっている。画像の名称は一般名に置き換えている。

結果

  • 人手によるカウントの平均に対して、自動計数の一致度98.3%〜106.4%を確認した。
  • 適切なパラメータを用いた場合、人手との差は±10%以内に収まった。
  • 約1,100〜3,000個を含む複数の画像で結果を比較し、パラメータの設定方法を説明書へ整理した。
  • 数え漏れや二重計数が起きる原因と対処まで説明書に残したため、画像の条件が変わっても、お客様側で設定を調整しながら使い続けられる形になった。

ひとこと

  • 画像処理で数を数える方法は、色々あるのですが、画像の撮影状態や画像の性質等によって、方法も異なるので、最適な手段を選ぶのは難しいです。また安定的に運用するには、様々な制約条件が必要です。
  • どの手法をどの順で組み合わせるか、パラメータをどこまで利用者に開放するかは、画像処理の経験が必要と思います。
  • また、今回の事例では、GUIを付けた単体実行のアプリケーションとして納めているため、プログラムに不慣れな方でも、結果画像を見ながら設定を調整できます。
  • 「数えたい対象は決まっているが、数え方が安定しない」というご相談は、よくいただきます。手法の選定から、アプリケーションの開発、設定方法の説明までまとめてお引き受けします。

お問い合わせ

開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。

今すぐお問い合わせ