今回はDeepSkyを活用して電子ハーネスの色間違いを検出しました。色間違いを見分けるための設定、アノテーション(検査部分を囲んで検出対象をソフトに教える作業)を複数回試して、検出安定性が高い登録ができました。判定できなかったアノテーション、判定できたアノテーションの違いをご紹介します。
「錠剤の欠けを検出してコンベアを止める(ブザー・パトライト)」で作成した仕組みを活用して 電子部品、端子ケーブル取り付け間違いを発見してブザーが鳴り、パトライト赤色点灯、コンベア停止し、取り付け間違いの製品を取り除くとコンベアが動き出すというものです
今回も実用的で使い勝手のよい仕組みなのでぜひお役立てください。
製作期間:2日
材料費:2万円
材料・部品
- ソリッドステートリレー[AQA211VL]
- DC24Vアダプタ [秋月電子 / GF18-US24075T]
- コンセント [パナソニック / WH2163KWP]
- 木板 300 x 200 x 12
- ブザー[秋月電子 / PB10-Z338R]
- 木ビス 3.5 x 12:10本程度
- 木ビス 2.6 x 12:2本
- Y型圧着端子 1.25Y-3.5:4個
- 圧着端子用絶縁キャップ:2個
- パトライト[ミスミ / LR5-302WJNW-RYG]
詳細な作り方は「錠剤の欠けを検出してコンベアを止める(ブザー・パトライト)」をご確認ください
工具・備品
- PC[マウスコンピューター/G-Tune, Corei9, 16GB RAM, RTX 2070 SUPER]
- 画像処理ソフト[スカイロジック/DeepSky DS100K]
- IOユニット[スカイロジック/EI-ITIO-T01]
- 130万画素カメラ[Daheng/MER-133-54u3c]
- 12mm レンズ[M1214-MP2]
- カメラスタンド(アルミフレーム)
工具・備品計:90万円程度
カメラ位置とピント、絞りの調節
コンベア上の端子を撮影するため、コンベアから40㎝離して真上にカメラを設置します。今回も社内のアルミフレームで組んだカメラスタンドを使用しました。アルミフレームを組み合わせた非常にシンプルなものです。絞りやピントについては記事「絞りの役割」を参考にして下さい。
検査品
ケーブル(ハーネス)の差し間違いを検出する想定で三口のコネクタの中央に赤、右側に茶を「OK」、中央に茶、右側に赤を差し込んでいるものを「NG」と想定しました。
登録方法
今回は検出するまでに撮影とアノテーションを何度か試しました。はじめは「うまく検査ができなかった設定」をしています、その後「きちんと検査できた設定」を試みましたので参考にされてください。
今回の製品では小さいアノテーションのほうが精度が上がりました。
新規
DeepSkyを起動しカメラと連動しているか確認します。
「新規」から名前を付けます。
設定
「設定≫」から お手本になる教師画像の撮影をしていきます 「撮影&保存」 をクリックします。
DeepSkyの動画マニュアルに従って欠けた錠剤を含めて10~100箇所程度位置を変えながら撮影します。今回は20枚撮影しました。 画面上のいろいろな向きや場所で同じ写真がないようにします。
アノテーション開始
次にアノテーション(検査部分を囲んで検出対象をソフトに教える作業)を行います。
学習を実行します。アノテーションの際にはアノテーション忘れ(囲い忘れる)に注意して下さい。検出率が下がってしまう場合があります。撮影とアノテーションについては記事「プラキャップ黒ブツの検出とコンベアからの排出」も参考にして下さい。
はじめのアノテーションではコネクタを大きく囲いました。
どの部分からハーネスがでているかで、より分かりやすくなるかと思ったからです。
しかし、学習後検出テストをしていくとハーネスの色違いは検出してくれませんでした。
何度か新規登録し試行錯誤しました。
向きはあまり変化をつけず表のみの教師画像を撮りました。
露光時間を倍に変更し明るく撮影しました。
小さなアノテーションを囲うとだんだん誤判定がなくなりましたので最後はここまで小さくアノテーションをしました。
学習
開始をクリックして 今回の学習は教師画像20枚で行い学習回数(ステップ)を1,000回で学習させました。Lossの値が 0.1未満で安定するまで学習を続けて下さい。今回使用したPCでは1,000回学習するのに5~10分程度かかっています。
撮り溜めた画像でテスト
学習が終わったら教師画像を含む、撮り溜めた画像を読み込んで検査部分が認識されるかどうか確認します(「設定」→「ファイルから」ボタンで画像を読み込み、「<<」「>>」ボタンで前/次の画像の検出を確認していくことができます。)。認識率が低ければ認識点数を調節したり、再学習を実行したりして検査部分が確実に検出できるようにしてください。問題なければ実際にコンベアを流してテストします。
追学習と調整
実際に運用している中で見逃す部分があったり、NGではないものを誤検出したりすることがあるかもしれません。その場合、追学習によって見逃したNGを覚えさせます。また、異なるNGのパターンなどを学習させることにより、検出対象を増やすこともできます。
今回は誤判定してしまう場所がありましたので3枚 教師画像を増やしアノテーション・500回数の追学習をして精度を上げました。
I/Oユニットを制御するための設定
DeepSkyのマニュアルに従い、I/Oユニットを制御するためのCOMポート設定を行って下さい。また、「撮影形式」を「連続撮影」にします。「インターバル」は0に設定します。
詳細は「錠剤の欠けを検出してコンベアを止める」をご確認ください。
コンベアを流してテスト
「検査/監視開始(F5)」をクリックします。
今回はOKとNGをミスなく判定しています。
DeepSkyを使用してハーネスの色間違いを発見しコンベアを止める設定が完了しました。
まとめ
今回は教師画像の撮影やアノテーションに試行錯誤しましたが検査する対象のアノテーション囲いを小さくすることで限定的に対象を見て判定できるようになりました。
定点カメラで連続的にコンベア上を検査することで「NG品をその先に流さない」シンプルな検査をDeepSkyで作りました。用途は様々で、様々な事例や技術等でも応用できると思います。
工場の生産効率をあげるためにDeepSky「WEBお試しサービス」をご利用ください。デジカメなどで撮影した良品画像・不良品画像があればお客様ご自身の画像で検出のテストを行って頂けます。