【入門編】ビジョンセンサを使って光沢物を撮像する方法

ロボットシステムの画像設計
この記事は約4分で読めます。

こんにちは、そら豆です!

今回はビジョンセンサを使ったプラスチックや金属などの光沢物の撮像方法について記事を作成しました。

鏡面仕上げされた金属やシボ目のないプラスチックの表面はツヤツヤしていて光の反射が強く、ビジョンセンサでうまく撮像するのは難しいですよね。うまく撮像した画像を登録しても運用してみるとエラー連発みたいなこともありがちです。

今回の記事はこんな人におすすめです。

・ワークの表面が光ってうまく撮影できない

・上手に撮像する方法を知りたい

・同じワークを撮像しているのに認識率が大きくばらついて安定しない

上手く撮像するポイントは以下になります!

  • 周囲の環境を整える
  • ワークの見たい場所を強調する
  • センサのしきい値を調整する

なお、この記事ではモノクロのビジョンセンサを想定しています。

では詳しくみていきましょう!

上手く撮像できない原因

撮像が上手くできない原因は2つあります。

1つ目は撮像する条件によって対象物の写り方が変わる点です。

ワークが写真の中心にある時と端や隅にある時では反射具合や反射している場所が変わります。光の当たり方によっても変わります。

金属など表面に光沢がある物体でも表面が歪んでいるか、平面度がしっかり出ているか、刻印などの凹凸があるかないかでも撮像の難易度は変わります。

2つ目の原因はカメラの画像認識の仕組みです。

モノクロのビジョンセンサは画像を白黒の度合いの強弱で表現します。別の言い方をすれば画像は白または黒の濃淡(グラディエーション)で表現されています。

撮像物の反射している部分は白の度合いが高くなります。写真で見るとほぼ白しか見えないと言うこともよくあります。

また、画像とは画素(ピクセル)の集まりです。ピクセルごとに色が決まっていてその組み合わせが模様や色合いを表現しています。人の目で見れば反射は一眼でこの部分反射しているなとわかりますが、カメラは反射も含めて模様と認識します。

その状態でカメラに画像登録するとワークの位置によって反射具合が変わればそれは模様が変わっていることになります。だから同じワークでも撮像位置で認識率が大きく変わってしまい、NG判定される結果になります。

安定して撮像するための対策

では、どうすれば安定して撮像できるのかと言うと、カメラに同じ画像として認識させるかがポイントになります。

具体的な対策は以下になります。

  • 周囲の環境を整える
  • ワークの見たい場所を強調する
  • センサのしきい値を調整する

1つずつ見ていきましょう!

周囲の環境を整える

まずは周囲の環境を整えましょう。ワークの下に黒色で反射の無いマットを敷いたり、周囲の光に影響されないようパーテーションを立てたりします。

手間に感じるかもしれませんが、やるとやらないでは全然違います。季節などの外部の環境の変化も受けにくくなります。

撮像は以下に光をコントロールするかにつきます。外部要因は可能な限り排除しましょう。

ワークの見たい場所を強調する

ワークの有無が判定したい場合やワークの中心位置が取りたい場合、ワーク外形のエッジを強調することが重要になります。

外形以外の部分はノイズになりやすいので可能なら画像処理の1つのマスキング処理で内部を覆うようにして除去しましょう。

前処理でマスキングができない場合、カメラの絞りを大きくしたり強く光を当てることで外形が際立ちます。反射を抑えるのではなく逆に強く反射させます。

カメラ専用の照明が準備できる場合はワークに合わせて照明を準備するとより安定して撮像できます。

センサのしきい値を調整する

最後の調整として認識するしきい値を変更しましょう。

例えば2値化処理で判別しているのであれば、しきい値を127とか128など半分ぐらいの数値に設定するのではなく50など黒側に寄せたりしてみましょう。

認識の許容率をどうするかは装置の仕様によります。厳しくしてエラーを頻繁に出す代わりに不良率を低減させるか、緩くして不良率は上がるが、回転率をあげてコストを下げるか。バランスを見て調整する必要があります。

まとめ

ビジョンセンサで安定して撮像するには以下のことを意識してみてください!

  • 周囲の環境を整える
  • ワークの見たい場所を強調する
  • センサのしきい値を調整する

まだまだ未熟ですがこれからもビジョンセンサの記事も作成していきますので乞うご期待!笑

コメント

タイトルとURLをコピーしました