ラズパイで産業用画像検査機をつくれるのか? ~レンズ編~

ラズパイで産業用画像検査機をつくれるのか? ~レンズ編~

本記事は、撮像したいモノの特徴に合わせてレンズの選定する基準を紹介します。

焦点距離・センササイズ・WD・視野を簡単に計算するWebアプリを作成したのでレンズ選定の際にお役に立てればと幸いです。

Camera Calculation
視野・焦点距離・センササイズを求めるサイトです。

                                     ‌

まずは撮像したいモノを再確認

まずは撮像したいモノの特徴・撮像条件を確認します。私が特に重要だと考える項目は以下4つです。これを抑えればある程度安定した画像検査が見込めます。

  • 深度
  • 視野
  • 画素分解能
  • 歪みの許容度

深度

ピントが合う奥行きの度合いで、検査したい場所の奥行きを確認します。深度はよく頭を悩ませます。例えば、立体的なモノ(段差があるもの)を撮像したい場合、深度が浅いとピントが合わせられずボケボケの写真が出来上がり、安定した画像検査ができなくなります。

視野

撮像領域のことで、撮像したいモノの大きさを確認します。

画素分解能

1ピクセルの大きさのことです。画像検査は大きく、(異物等の)外観検査と寸法検査があります。どちらも画素分解能を考慮しなければ精度や検出したいものが取れません。寸法検査であれば、画素分解能が1mmであれば、1mm以下の精度を出すことができません。外観検査であれば検出したい異物よりも細かい画素分解能となるようにレンズやカメラを選定する必要があります。

画素分解能の計算は、カメラの画素数と視野から求められることができます。

例えば、長手方向視野が10mm,画素数が1280×720としたときに長手方向の画素分解能は以下式により7μmだということがわかります。

10(mm) ÷ 1280(pix) = 7(μm)

このように必要な精度(画素分解能)を事前には計算します。

歪みの許容度

上記の画像はPicameraV2で撮像した画像です。右下と左下をよく見ると、少し手前の位置まで写っており、スケールが曲がっているように見えます。このような状態を歪みと言います。歪みには樽型と糸巻き型の歪み型があります(今回は樽型です)。歪みがあると正確な寸法は測定できません。通常のレンズを使用すると少なからず歪みます。寸法検査のようにカメラのいたるところで精度を出したい場合は、歪みがないテレセントリックレンズを使用すると良いです。‌比較的中心付近は歪みは小さめです。

レンズの性能(抜粋)

ミスミの適当なCCTVレンズの仕様から重要な項目をかいつまんで説明します。

https://jp.misumi-ec.com/pdf/el/5114_5115_5110.pdf

焦点距離:レンズとカメラとの距離です。距離が遠いほど視野は狭くなります。

Fナンバ(F値):被写界深度を表しています。Fが大きいほど深くなり、ピントが合う領域が多いです。

ディストーション:歪み度合いです。画像検査の場合、なるべく0%に近いほうが望ましいです。

Pi Camera V2のレンズでの画像確認

Pi Cameraはレンズを反時計回りに回転させることで焦点距離を変えられます。実際に確認してみましょう。

30mmの視野にピントを合わせてみます。30mmのほうが視野が広いので検査できる対象物は大きいものまで対応できますが、画素解像度は10mmの3倍の21μmとなります。

CCTVレンズでの画像確認

たまたま持ち合わせていた焦点距離35mmのCCTVレンズで写りを見てみます。ラズパイにCCTVレンズを装着できるマウントがついているRaspberry Pi HQ Cameraを購入をお勧めします。私は3Dプリンタにてマウントを作成してPi CameraV2に取り付けしましたが、改善に改善を重ねました。。

さてCCTVレンズも多少歪みは発生しますが、ご覧の通りPiCameraレンズと比較して歪みはかなり小さくなったことがわかります。

視野は6mm程度なので画素分解能は4.6μmです。画素分解能はPicameraより細かいですが、深度は1mm程度と少しずれるとすぐぼやける状態です。 

結論

  • まずは対象物や検査したいものを再確認
  • 検査の要件に合わせてレンズやカメラを選定
  • Picamaeraの歪み具合はかなり大きい
  • 3DプリンタをもっていればCCTVレンズもPicameraにつけようと思えば付けられる

ざっとこんなところでしょうか。次回は検査するソフトウェアの選定編です。(openCVです)