画像制御 カメラ選定〜制御
これからどんどん画像認識・画像制御による製品・設備が増えてきます。
それに伴って精度や設計方法も変わっていきます。ここでは使い方をわかりやすく説明したいと思います。
画像装置での検査、計測例:
©Keyence/CV-Xシリーズ
開発の順序だてて書き込みをしていこうと思っていましたが、特にこのトピックの要望がありましたので先に書いていこうと思います。
画像制御・設計の流れ
画像装置を組み込んで使用するために、設計として簡単に以下を考える必要があります。
・どこをどのように見たいか
・ワークの距離
・必要精度
・維持の仕方
・何をするか(計測、認識)
モデル画像(事前登録画像)と比較
→OK/NGもしくは有無判定
→モデル画像位置を計測
画像から計測範囲を指定して計測
→エッジを検出して位置を計測
→円を検出して位置を計測
・どこをどのように見たいか
ワークの縁の形状のみ
→透過照明・バックライト照明
→グレーまたは白黒カメラ
(グレースケール、2値化処理)
(形を投影:影絵のような画像になる)
ワークの対する外乱光、乱反射を抑えたい
→ドーム照明・リング照明
(カメラを囲んだ照明)
ワークに対して光量を多くしたい、照明を追加したい
→バー照明
→スポット照明
(部分的な照明、シャッター速度など上げたい際)
細かな傷、浅い溝を見たい
→青系の照明色、カメラの色フィルタ
特定の色を無視したい
→カメラの色フィルタ
→カラーカメラ
色で判断したい
→カラーカメラ
(色相、彩度、明度より判断)
色フィルタ(特定の色を無視したい)
グレースケール(コントラストのみ)
・ワークの距離
→ワークディスタンス
(ワークとレンズの距離、視野範囲)
→被写界深度
(ワークまでの距離のばらつき)
・必要精度
→直接的な精度
(レンズの倍率、受光する面積(撮像面積)、画素数)
→考える必要がある精度、範囲
(レンズの歪み(ディストーション)、許容のピントのボケ量(許容錯乱円))
・維持の仕方
→ホワイトバランス
(グレーカード(反射率18%))
→ワーク基準位置
→カメラ座標系とワーク座標系の校正
これらを頭の片隅に入れておいて選定の際に考慮しましょう。
選定前に(画素、カメラの考え方)
画素
画素またはピクセル(pixel)は画像の情報を表示できる最小単位になります。
200万画素(2メガピクセル)≒200万個点(画像の情報)で画像を表わすことができるということになります。簡単にいうと分解能ですね。
関連するのがカメラ自体の受光素子の大きさになります。受光する面積(撮像面積)とレンズで取り込める倍率により視野の範囲が決まります。
その視野範囲が画素数で表示できるため、1画素で表せる精度が求まります。
そのため、「画素数」「受光する面積(撮像面積)」「レンズの倍率」の組み合わせで精度・視野範囲が変わります。
サブピクセル処理
画素と画素の間を仮想的に計算でだす方法です。画素が取得した値ともう一つの画素が取得した値の中間の数値と判断して表示させる方法です。
実際に取り込んでいる値ではないのですが、画像の曖昧さ(ごく小さい範囲では極端に変化が起こりにくい)
として値を補完している方法になります。画像からエッジを計測する際の誤差を抑えます。
ですが、分解能の公差の最小とはしない方が良いと考えています。
(カメラの分解能=画素数、画素数*2にはならない)
ベイヤー配列
カラーカメラの場合、赤色、緑色、青色(RGB)のフィルタを通した素子が並び配列されています。
それによりカラーを認識しますが、実際の画素の大きさがカメラ分解能の公差になりません。
(2倍になったりします。)
そのため、グレースケールで取り込む際は白黒カメラで取り込む方が良い場合があります。
サブピクセル処理により、その分解能を補完したりしているメーカーもあります。
カメラにより異なるので詳しく知りたい方は各メーカーに問い合わせてみてください。
「画素数」「受光する面積(撮像面積)」「レンズの倍率」の組み合わせで精度・視野範囲が変わる
カメラ・レンズの選定方法
視野と精度
精度を考える上で以下のことに注意する必要があります。
直接的な精度:「レンズの倍率」「受光する面積(撮像面積)」「画素数」
考える必要がある精度、範囲:「レンズの歪み(ディストーション)」「許容のピントのボケ量(許容錯乱円)」
・「レンズの倍率」「受光する面積(撮像面積)」= 視野範囲
カメラとレンズの組み合わせにより視野範囲が決まります。カメラとレンズが一緒に販売しているところではレンズからのワークまでの距離(ワーキングディスタンス)と視野のグラフが以下のように提供されていると思います。
以下は一例としての表の見方です。
レンズからのワークまでの距離(ワーキングディスタンス)と視野範囲から交わった点のカメラ及びレンズを選定します。
このグラフの場合、ワーキングディスタンス110mm,視野(長い軸)11mmとなります。
・「画素数」「視野範囲」= 直接的な精度
200万画素(1600×1200の場合、正確には192万画素)、視野11mmx8.25mmの場合を考えてみます。
11[mm]/1600[pixel]=0.00688[mm/pixel]=6.88[μm/pixel]
となります。ただし、これが精度としてそのまま使えるわけではありません。
レンズの歪み(ディストーション)
レンズには必ず歪みがあります特にレンズの端には歪みが発生しやすくなっています。そのため使用する場合は範囲が狭くなること、もしくは考査を踏まえた考え方をする必要があります。アプリケーションによっては歪みのない座標系に変換するものもあります。
レンズの端の方が歪むためレンズの他の部分のように精度よく使えません。
以下は歪曲収差のイメージになります。
ここで歪みのない範囲は以下の図の赤枠の範囲になります。
レンズの仕様に光学ディストーション率またはTVディストーション率があります。この場合の関係式は以下になります。
光学ディストーション
TVディストーション
例として、先ほどの視野範囲(11mmx8.25mm)の場合で光学ディストーション0.1%として説明します。
計算は割愛しますが、Y=6.875mm, y’=6.868mmになります。
そのため実際の視野範囲(使用範囲)を10.99mmx8.24mmに制限、もしくは歪みを考慮に入れた補正計算が必要になります。
・許容のピントのボケ量(許容錯乱円)
ピントが合っているとされる時の許容されるピントのボケ量
明記されていない場合は1画素分と考えて良いと思います。
ここでは先ほどからの例として1画素あたり5.5[μm]x5.5[μm]と考えるとその分の精度が悪くなります。
・結局どの程度精度を考える必要があるのか?
「直接的な精度」+「考える必要がある精度、範囲」がカメラで画像を取得した際の精度、範囲になります。
ここまでの200万画素カメラ、視野範囲11mmx8.25mmで考えると「直接的な精度」は6.88[μm/pixel]。
「考える必要がある精度」は許容錯乱円の5.5[μm]
合計精度=6.88[μm]+5.5[μm]=12.38[μm]
サンプリングの考え方(2倍以上)から24.76[μm]以上をこのカメラとレンズで検出することができます。
ただし、ピントが合っていることが前提となります。
使用できる範囲としては10.99mmx8.24mmとなります。
・レンズとカメラのマウンタ形状
カメラとレンズの選定の最後に、レンズとカメラを取り付けるマウンタの形状の種類がたくさんあります。
Cマウント、CSマウント、M12マウントなど様々な種類があり、径やネジのピッチなど異なります。
カメラとレンズが適合しているものを同じメーカーで購入する際は特に問題ないと思います。
カメラの選定はレンズとカメラより見たい精度を割り出して選定する
照明の選定
照明選定はとても重要になります。
シャッタースピードや被写界深度、画像を認識させる方法により変わってきます。
画像は実際に一度使って試して見ないと、思いと違う場合が出てきたりします。
材質による光の当て方の違い
・金属上のワーク画像(金属上の刻印類)
光の反射が強いので正反射(直接反射光)を利用
→光を正面より当てる
・フィルム下のワーク画像(反射しやすい物体下のワーク)
ハレーション(照明の写り込み)が強いので、拡散反射(直接反射光を使用しない)
→照明を斜めに当てる
・薄い紙等の下のワーク画像
紙自体が反射率が悪いためその下のものは見えにくい
→紙の下より照明を当てる(透過照明)
機能による照明の違い
・ワークの縁の形状のみ
→透過照明・バックライト照明
・ワークの対する外乱光、乱反射を抑えたい
→ドーム照明・リング照明
(カメラを囲んだ照明)
・ワークに対して光量を多くしたい、照明を追加したい
→バー照明
→スポット照明
(部分的な照明、シャッター速度など上げたい際)
・細かな傷、浅い溝を見たい
→青系の照明色、カメラの色フィルタ
・特定の色を無視したい
→カメラの色フィルタ
照明は位置や強さ、色によってもカメラ画像認識に影響が出てくる
ピントの設定・考え方
ピントは合えば一番いいですが、ワークによりレンズとワークの距離がばらつくことがあります。
ピントが合う範囲を広げることも可能です。
光の量を調節することで可能です。
F値
辺縁はカメラを使ったことがある人はわかると思いますが絞りの部分ですこの絞りにより明るさを調整します。
レンズの明るさを表す指標。F値が小さいほど明るい。
レンズを通る明るさは1/(F値*F値)になる
被写界深度
ワーク面がレンズに対して前後しても、ピントがボケずに鮮明に受けられる範囲になります。
先にワークがレンズに対してどの程度ばらつくか調べましょう。
正確な範囲として計算を説明していきます。
まず、光学倍率が必要です。
レンズもしくは以下の式よりも止めてください。
光学倍率M=受光する面の1辺(撮像面の1辺)/視野範囲の1辺
例:(撮像面のH)8.8mm/(視野H)11mm=0.8
次に実行Fが必要で計算式はF値より求めます。
実行Fは距離において明るさを表す値になります。
実行F=(1+光学倍率)*F値
FNO:F値, M:光学倍率
例:(1+0.8)*(F値)2=3.6
被写界深度の計算をしていきます。
被写界深度=2*(許容錯乱円*実行F)/(光学倍率*光学倍率)
c:許容錯乱円, F:実行F, M:光学倍率
例:2*(0.01*3.6)/(0.8*0.8)=0.11[mm]幅
F値が大きいほど暗く、被写界深度が広くなります。簡単に特徴を説明します。
特徴:
F値が大きいほど被写界深度は大きくなる(絞るほどピントがボケにくい)
焦点距離が近いと被写界深度は小さくなる
ワークが近くにあると被写界深度は小さくなる
カメラの選定はレンズとカメラより見たい精度を割り出して選定する
画像検出方法(エッジ検出方法の仕組み)等は各制御装置の方法を使うということで、今回は割愛させていただきます。
ここからは画像から実際のワークに対してどのように関連付けるかの工夫の仕方(画像からの制御方法)を教えていきます。
そのため、画像処理方法の仕組みについて詳しく知りたい方はこちらの本などを参考にしてください。
図解入門よくわかる最新画像処理アルゴリズムの基本と仕組み (How‐nual Visual Guide Book)
画像制御の方法
画像の制御をする上で下記に記す内容は最低限考慮した方が良い内容になります。
・検出範囲の設定方法
・モデルサーチの工夫
・エッジ検出の工夫
座標系の違い
カメラで画像を撮っていますが、本来欲しいのはワーク本来の座標系です。
OK/NG等の判定ではいりませんが、位置や計測を使う場合には必要になります。
イメージとしては以下のようになります。
動くようなワークの場合は動かして画面上を最低2点以上、機械的な基準がある場合はそれを基準に画面に位置がわかるようにこれも画面に2点以上撮って校正します。座標系の校正がない場合は2点位置から傾き、切片をだしてワークの座標の変換単位を掛ければカメラの座標系からワークの座標系に変換ができます。この計算をして位置を割り出してください。
今回は簡単に軸の角度の違いからの変換を示していきます。方法としてはこの限りでなく色々なやり方があるので検討してみてください。
以下のようにカメラの座標系の軸(x,y)とワークの座標系の軸(X,Y)が傾いている(角度がついている)とします。その際にワークの座標系の1軸のみ変化させた際の値をカメラの座標系と比較します。
この際に角度θは以下のように表すことができます。
カメラの座標系からワークの座標系の変換後の比率は以下のようになります。
一度このように変換定数を割り出します。(X側も同じようにします)
そこから以下のような任意座標に変換式を展開して、ワーク座標として考えます。
a:ワーク座標Y軸の変換比率
b:ワーク座標X軸の変換比率
検出範囲の設定方法
実際のワークが同じ位置に毎回くれば範囲は最小限になります。
そのため極力同じ位置に来るように設計しましょう。ただし、それでもそういうわけにはいきません。
同じ位置に来るようにしたとしても、以下を考慮に入れましょう。
・機械の積み上げ公差、加工公差、組み付け公差(組み付け直しで発生、校正により無視できる)
・ワークの加工公差(ワークのばらつき)
・その他設計上考慮部分
これらを全て足した設計上の最大公差以上の範囲を検出範囲としましょう。
モデルサーチ時の工夫
基準となるモデル画像(基準のワークの姿)のより実際のワークの位置・ワークの有無を割り出す方法です。
メーカーにより異なりますが、エッジの姿と色認識により探しています。
そのため、以下のことを注意しないと検知できない場合があります。
・モデルを小さくしすぎない
・モデル認識感度(相関値レベル:一致性)をあげすぎない
・モデルと同じような形状・色が検出範囲内に存在させない
モデルサーチはワークの位置・向きがどんな状態でも比較して特定します。
ただし、検出範囲が広すぎたり向きを360°対応したりすると、検出に時間がかかります。
なるべく検出範囲を規制したり、検出向き(モデル画像の比較の向き)を規制した方が良いです。
エッジ検出時の工夫
ここでは特に画像を計測として使用する際の注意点を説明します。
モデル比較や計測の大半は色の変化部分(濃淡微分)をエッジとして抽出します。
モデル比較ではどの程度、モデル画像と近いか判断するのでさほど検出にこだわる必要がありませんが、エッジから計測をする場合(濃淡の変化部分で計測)の場合は注意が必要です。
濃淡の変化の中心(本来のエッジ)と画像がエッジとして認識する場所は多少異なります。
また、材質によりエッジ感度を変える必要があります。(金属類は反射率が高く、紙類は反射率が低いため)
以下はイメージ画像になります。
エッジとして認識する感度を設定するのです(ここでは50がこれにより位置が多少異なります)
このように実際の変化の中心と差が出ます。「エッジとして取り込んでる範囲の中心」(ここでいうエッジ感度50%以上の場所の中心)を取れば「変化の中心」と一致するのでは?と思いますが、画像の変化の度合い(感度)が色により均一に変化とはいかないため幾分か誤差が出ます。その為、画像と実物の位置の校正を取るもしくは、計測方法を工夫します。
計測方法の工夫としては、1つのエッジから位置を割り出すのでは無くもう片方のエッジも抽出して、そのエッジとエッジの中心を計測点とする方法です。
上の図は「白→黒」でしたが、そのまま「黒→白」に変化する場所(もう一つのエッジ)を逆方向からエッジを検出するようにします。
そうすることで、ピントがボケた場合などにより差が出てしまうことを防ぎます。
簡単な図で説明します。
逆方向から同じエッジ感度でエッジを検出します。順方向のエッジの位置と逆方向のエッジの位置の中心が実際のワークの中心になります。そうすることでワーク中心とエッジより検出した基準が同じになります。
これらの「画像制御の方法」は制御のほんの一部の工夫になります。たくさんのものに応用できますし、活用できます。試して見てください。
工夫次第ではかなりの精度や様々なことに応用できます。
最近の画像処理装置の傾向
画像処理装置は維持管理及び調整がとても難しいものがほとんどでした。
ですが、最近は調整レスやファイバセンサ、光電センサと同じような簡易的な画像処理装置(センサ)が出てきています。
これからも徐々に増えていくと思います。
それはFA(ファクトリーオートメーション)だけでなく、製品の加える技術としても主流になっていくと思われます。
画像処理技術は徐々に色々な分野で多く使われてくる
参考になったでしょうか、他にも様々な方法がありますし、各メーカーもより簡単にできる方法に変えてきています。
ただし、考慮しないと精度や速度が出ないなどのものがありますのでそこをしっかり踏まえて設計していきましょう。
画像検出方法(エッジ検出方法の仕組み)等は各制御装置の方法を使うということで、今回は割愛させていただきました。
画像処理方法の仕組みについて詳しく知りたい方は、こちらがわかりやすいです。