お客様: 大手化学メーカー様

ご依頼内容

  • 回転する被写体を撮影した動画から、表面の全周を1枚に開いた展開画像を作りたい、というご相談。
  • 表面に現れる線状の欠陥を、自動で検出して、数値で残したい。
  • まずはGUIを付けず、ロジック中心のコードとして受け取りたい。
  • 初期の評価で見通しを立てたうえで、現場の監視に使える形まで育てたい。

課題

  • 回転の速度と、曲面の見かけの寸法を補正して、全周の画像をつなぐこと。
  • 帯を切り出す周期に由来する、継ぎ目と縞模様を抑えること。
  • 焦点距離、表面の反射、照明のむらが一定しない撮影条件でも、処理を成り立たせること。
  • 線状の欠陥を、学習データを必要としない軽量な処理で検出し、実カメラの入力にも対応すること。

ソリューション

  • 動画中の複数のマーカーの通過から、1周あたりのフレーム数を推定した。
  • 各フレームから曲面上の帯を切り出し、弧長に合わせて補正しながら、順に連結した。
  • 曲面の見かけの長さを余弦で補正し、真の弧長に合わせて、帯の画像をリサイズした。
  • 隣接する帯を重ねてブレンドし、周波数解析により、周期的な継ぎ目の成分を除去した。
  • 撮影に立ち会い、照明と反射の条件を確認したうえで、処理の前提を決めた。
  • 線状の欠陥は、本来まっすぐな線からのずれと捉え、線を水平に補正して、1次元のプロファイルに変換した。
  • プロファイルに最小二乗で基準の直線を当て、その残差のピークから、欠陥の本数と位置を検出した。
  • 深層学習を使わず、直線からのずれを、現場で意味を説明できる統計量として扱った。
  • 静止画、動画、実カメラの入力に対応し、統計値を逐次CSVに保存した。
  • カメラの校正と、シリアル通信による信号の受信を追加し、入力のモードを切り替えられるようにした。
回転体の展開画像を作る4つの処理手順を示した模式図
回転体の表面を全周の展開画像にするまでの流れ。マーカーの通過から1周あたりのフレーム数を推定し、各フレームから切り出した帯を弧長に合わせて補正しながらつなぎ、周波数解析で切り出し周期に由来する継ぎ目を除去する。処理の流れを説明するために作成した模式図で、実際の撮影画像ではありません。
直線からの残差のピークで線状欠陥を検出する原理の模式図
線状欠陥の検出の考え方。線を水平に補正して1次元のプロファイルに変換し、最小二乗で当てた基準の直線からの残差を求め、そのピークを1本の欠陥として位置とともに検出する。本数、位置、絶対残差和、平均二乗誤差をCSVへ逐次保存する。処理の考え方を説明するために作成した模式図で、実際の計測画像・計測値ではありません。
入力モードと2つの処理、出力の構成を示した模式図
納品したプログラムの構成。静止画、動画ファイル、実カメラの入力に対応し、装置からのシリアル信号で入力のモードを切り替える。展開画像の作成と線状欠陥の検出は独立した処理のため、用途に応じて別々に実行できる。構成を説明するために作成した模式図です。

結果

  • 専用の機構を使わない簡易な撮影の動画から、表面全周の展開画像を生成できるようになった。
  • 線状欠陥の本数、位置、絶対残差和、平均二乗誤差をCSVに出力し、目視に頼っていた表面の評価を、数値で比較できるようにした。
  • 実カメラによる実時間の動作と、装置との連携まで対応し、監視の用途にも使える形になった。
  • 展開画像の作成と、線状欠陥の検出を独立した処理としたため、用途に応じて別々に実行できるようになった。

ひとこと

  • 回転する物体の表面を1枚に開く処理は、撮影の幾何をどこまで補正するかで、結果が変わります。回転の速度、曲面の見かけの寸法、切り出しの周期といった、画像そのものには写っていない条件を、順に打ち消していく必要があります。
  • 撮影の条件と画像処理の両方を見ないと、うまくいかない原因を切り分けられないので、光学の知識も持っている人が、現場の条件から一緒に詰めるのが良いと思います。
  • 本件では、学習データを集めることよりも、直線からのずれという説明できる指標で、欠陥の本数と位置を数えられることを優先しました。判定の根拠を現場で説明する必要がある検査では、こちらの方が扱いやすいと考えています。
  • 「見た目では分かる欠陥を、数値として残したい」というご相談は、検査の現場からよくいただきます。撮影条件の検討から、アルゴリズムの実装、実時間の装置連携までを、一式でお引き受けしています。

お問い合わせ

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

今すぐお問い合わせ