メニュー
ラインスキャンカメラとは
撮像機器について

【カメラ】
カメラの最も本質的な機能、それは「光を受け取る」ことです。
フィルムの場合は化学反応で、
センサの場合は電気信号で、
それぞれ光を受光し画像を出力します。
人の目でいうところの視神経の部分の役割を担っています。
今のカメラはそれ以外の機能がついているものもありますが、その内容はメーカーー・モデルごとに変わってきます。

【レンズ】
レンズの役割は「光の屈折を利用して焦点を合わせる」ことです。
人の目でいうところの水晶体の役割です。
ほとんどカメラの一部といっても過言ではない重要部品で、一般消費者向けの場合はカメラと一体型になっている場合も多いです。産業用製品はカメラとは別にレンズを選定することがほとんどです。

【照明】
照明の役割は「光の量を増やす」ことです。
焦点のあった画像を得るためには、カメラの絞りで視野を狭くしたり、レンズでズームしたりしますが、その場合カメラのフィルムやセンサまで到達する光の量が少なくなってしまい、暗い画像になる場合があります。その場合、照明を使い、最終的にちょうどよい明るさになるよう、光の量を調整します。

カメラの種類

【エリアカメラ】
一般消費者向けカメラは基本的にエリアカメラになります。
スマートフォンに内蔵されているものやコンパクトデジタルカメラもエリアカメラです。
一回の撮像で一枚の画像が撮れます。
静止物や立体物の撮像に適しているカメラです。
モノクロ/カラー両方があります。

【ラインカメラ】
ラインカメラはその名の通り、ライン状に撮像するカメラです。
一枚の画像は一本のライン状なので、
多くの画像をつなげてエリアカメラと同じような平面画像を作成します。
動いているものを検査をしたり、大きいものを高解像度で撮影する場合に使用されます。
ラインカメラにもモノクロ、カラー両方があります。

【特殊カメラ】
可視光では見えないものを可視化するという特殊なカメラも存在します。
偏光カメラ、ToFカメラ、サーマルカメラなど、それぞれ用途に合わせて選定します。
可視光波長を撮影していないので、モノクロやカラーの区別はありません。
(色は可視光の波長分類のため)
ラインスキャンカメラの特徴

画素数は1K=1024画素で呼称します。上記の例は2048画素のもので、省略して2Kと表記します。
エリアカメラは、画像1フレーム単位での撮像に向いていますが、連続的に流れるシート状のものの撮像には向いていません。ラインスキャンカメラは、ガラスやフィルム、樹脂板などの連続的に流れるシート状のものや、円筒形部品の撮像を得意としており、
画像を連続処理することで大きな一枚画像を取得することができます。
エリアスキャンカメラ




ラインスキャンカメラ




このようにエリアカメラでは実現できない撮像レベルを、ラインスキャンカメラを使えば実現することが可能です。
しかし、ラインスキャンカメラはデメリットとして、取り扱いの難易度が高い(ピント合わせが難しい、複数台を並べる場合の位置合わせが難しい)ことがあります。
また撮像対象物を移動させる治具や、明るい照明(露光時間が短く画像が暗くなるため)が必要になります。
上記のメリットデメリットを考えたうえで、カメラを選定してください。
ラインスキャンカメラの種類
ラインスキャンカメラには、モノクロのものとカラーのものがあり、それぞれ複数の種類があります。
モノクロ



カラー




ラインスキャンカメラの選び方
ラインスキャンカメラを選ぶ時には下記項目を検討する必要があります。
画素数

【a. 対象物全体の幅】
例えば上の足あとを撮影する場合、
対象物がかけることなく撮影範囲に入る必要があるため、ラインセンサの方向の長さ(幅a)を測定します。

【b. 対象物内の最小検知サイズ】
足跡内で最も小さい部分は小指部分です。
縦/横のうち短いほうの長さ(最小検知サイズb)を測定します。
a, bの2つがでれば、そこから必要なカメラの画素数を計算することができます。
になります。
※上の式で最小検知サイズを5で割っていますが、この「5」は「画素分解能」と呼ばれる数字です。
最小検知サイズのものを画素をいくつ使って撮影するかを検討し、それによってどれだけ解像度の高い画像を取得するかを決めます。
産業用で欠陥検知を行うような場合、まず画素分解能を5で検討し、撮影した画像を見ながら詳細を検討していくのが一般的です。
ラインレート
ラインレートとは、1秒間にスキャンできるライン数を示す値です。ラインスキャンカメラは撮像対象もしくはカメラが移動して撮像する必要がありますが、その移動速度を搬送速度と呼びます。搬送速度とラインレートが適切でないと下記のように画像の伸び縮みが発生します。
適切なラインレートの場合

ラインレートより搬送速度が遅い場合

ラインレートが搬送速度より遅い場合

ラインレートを計算するために必要なのは搬送速度と視野幅です。
【例】 搬送速度60m/min、視野幅が200mm、カメラの画素数が2Kの場合
\cfrac{60 × 1000(mm)}{60 (sec)} ÷ \cfrac{2000(mm)}{2048 (画素)} = 10,000(Hz) = 10(KHz)
インターフェース
ラインスキャンカメラで使用されている主なインターフェースは、下記3種類です。
主要な性能についての比較表になります。
★が多いものほど速い、長い、安定という意味になります。
画素数とラインレートが決まっていると、該当機種が対応しているインターフェースが限られることも多いですが、
もしインターフェースを選定する場合は、下記2つのポイントを確認してください。


ラインスキャンカメラの用語集
ラインディレイ機能
ラインセンサが複数あるカメラ(マルチラインカメラや3ラインカラーカメラ)にある機能です。
同じ位置で3つのデータが重なるよう、delayパラメータを設定し、時間軸で同じ位置になるように調整します。

画素分解能
最小欠陥を写すのに必要な画素数を表します。
最小欠陥についてどの程度の判断を行うかによって、数字が変わってきます。

画素分解能を計算するには、上記最小欠陥の大きさX(mm)と必要画素数が必要です。
必要画素数は下記のように考えます。
- 欠陥の有無を写したい場合:1画素
- 欠陥の大きさを写したい場合:4画素
- 欠陥の形状を写したい場合:形状を把握するための画素数
ラインレート/スキャンレートと搬送速度
ラインレート/スキャンレートはスキャンする速さや時間を指します。スキャンレートの逆数がラインレートになっています。
各表記の違いは下記の通りです。
ラインレート
- 1秒間にスキャンできるライン数を示す
- 周波数単位(kHz)で表記される
- 業界的にメジャーな表記方法
スキャンレート
- 1ライン分のスキャンに必要な時間を示す
- マイクロ秒単位(μs)で表記される
- 過去NEDの仕様書に記載されていた表記方法
カメラは設定された周期で画像を撮像します。対象部材が一定の速度で搬送されると撮像画像も安定した画像となりますが、搬送速度が変化する場合は、ラインセンサカメラで撮像すると撮像画像のY方向のサイズ(流れ方向)が搬送速度の影響を受けて、伸びたり縮んだりしてしまいます。
このような場合、検査結果に影響が出ますので、カメラの撮像タイミングと部材搬送との同期をとる必要があります。
同期をとる方法としては、搬送部にエンコーダを設置し、そのエンコーダからのパルスのタイミング毎に撮像を実施することで、搬送速度変化に影響を受けない画像を取得することができます。
用途例
ラインスキャンカメラの用途例
ラインスキャンカメラを用いた検査事例をご紹介いたします。

幅計測
対象部材(ゴム、鉄、フィルム、紙など)の幅を連続測定します。
対象部材がカメラと照明の間を通過する時に、照明からカメラへ入射する光を遮ります(遮光)。
この遮光された部分をカメラに搭載されている受光素子(センサ)で感知し、その遮光された画素数と画素単位の重みからの計算で部材の幅を計測します。
幅の広い対象部材や測定精度をあげたいなど場合は、カメラの台数を増やしてシステムを構築します。

欠点検出
対象部材を連続監視し、穴あきや異物などの欠点部を検出します。
対象部材と部材内に発生する欠点(穴あきや異物混入)部に差分がある場合に検出します。
差分が大きくなればなるほど検出が容易になります。また検出できるサイズや数は装置の能力によります。
異物などの個所で、製品部(正常な部分)と差分がある時も検出ができる場合があります。

位置不良検出
対象の位置を監視し、ズレなどの不良部を検出します。
対象の各位置(エッジや中心位置)を検出し、基準との差が設定値以内であるかどうかを判断します。
搬送される部材の位置検査
貼り合わせ部材の不良検出

個数計数
視野内を通過する対象製品の個数を計数します。
量産される製品の個数を計数します。製品がカメラの視野内を通過する際に対象画素部分が、入光⇒遮光⇒入光と連続的に変化するので、その大きさや時間などで判定を行い、カウントしていきます。

表面検査装置
対象物の表面を検査し、欠点や異物などを検出します。
測定対象物に照明光を照射し、反射光をカメラで受光することにより物体の表面状態の情報を取得し、画像処理にて検査を実施します。
ラインセンサカメラでは円筒形状の対象物を回転させながら撮像することにより、対象物の表面を平面をして取得することが可能です。円筒形状のワーク(シャフト部品など)や球体形状のワークの物体形状による陰影の影響を軽減させて検査することができます。
画像処理システムについて
特殊カメラの種類
ToFカメラ






偏光カメラ
偏光という光の特徴を利用して、通常では判別できない物体の特徴を捉えるカメラです。




【偏光カメラ】
偏光カメラは左のようにそれぞれ方向の異なる光を受光するセンサーを組み合わせて4つで1組になって並んでいます。
それぞれの素子で受光したデータを合成処理して、画像を出力します。
AOP, DOP, DAOPと撮像後に見たい方向の光の像のみを選択できます。

【偏光フィルター】
偏光フィルターはレンズにつけて使用します。
1方向のみの光を通過させるようになっていますので、カメラのセンサには1方向のみの光が届きます。
もちろん出てくる画像も1方向のみ。
近赤外線カメラ

引用:https://thinklucid.com/ja/atlas-swir-ip67-camera/



左のモノクロ画像は可視光カメラ、右が近赤外線カメラです。傷んでいる部分がはっきり見えますね。

水分量が多い異物が黒く、乾いたコーヒー豆は白く写っています。

パッケージ印刷で中身が見えない袋でも、近赤外線を通せば内部に充填されているものの状態がはっきり写ります。
引用:https://thinklucid.com/ja/atlas-swir-ip67-camera/
画像処理システムの機器構成について
ハードウェアについて
ラインセンサカメラを使用する場合、一般的には下の様な製品が必要となります。
カメラにレンズ(+フィルター)を装着し、I/Fボードが搭載されたPCと専用ケーブルで接続します。
照明で照射された対象物からの光をレンズを通してカメラのセンサが受光し、輝度値をデータとしてコントローラのインターフェースボード( 以下I/Fボード、フレームグラバ―ボードともいう)へ転送します。そのデータをPCに搭載されたソフトにて画像処理を実施して、様々な結果を取得したりします。

レンズについて
レンズマウント
カメラにはレンズを取り付ける部品であるレンズマウントがあり、カメラに搭載されている素子のサイズなどの関係により様々な種類があります。
当社のカメラでも、 Cマウント、Fマウント、M72マウント、M84.5マウント、FDマウントの種類があり、使用するレンズもマウントの仕様と合わせる必要があります。
(カメラの型式の中にマウントの種類が分かる部分があります。例:RMSL4K100CL-V1-F-XXX のFの部分)

Cマウント
(画素サイズ7μm)

Fマウント
(画素サイズ7μm)

M72マウント
(画素サイズ3.5/7μm)

M84.5マウント
(画素サイズ10μm)
レンズ倍率
解像度としては十分な画素数のカメラを購入したのに、期待している解像度が出ない!どうしたらいいの!?というお問い合わせもしばしばいただくもの。
こちらは全ケースがレンズの問題というわけではありませんが、
レンズ選定に問題があった⇒レンズを変えたらOKというパターンは結構多いです。
というのは、画像の解像度にはレンズの倍率(性能)が大きくかかわってくるからです。



レンズの種類
一口にレンズと言っても種類は多岐にわたりまして、種類を変わると見え方が全く変わってくるので慎重に検討する必要があります。
下に挙げたのは産業用に使用するレンズの代表的な特徴です。
お悩みの際はご相談いただければサポートさせていただきます!




被写界深度
被写界深度とはピントが合う範囲のこと。
近くのものも遠くのものもピントが合った画像が撮れるとき「被写界深度が深い」、
短い距離のものしかピントが合わないとき「被写界深度が浅い」と言います。
下の項目は被写界深度とトレードオフの関係にありますので、理解しておくと検討しやすいと思います。

F値(絞り値)

照明について
照明の種類

明るさが足りない時最初に検討する照明。目視検査でよく使われる。



照射方法
画像処理を行う上で重要な要因の1つに照明の照射方法があります。照射方法を工夫することで検出したい欠点などが撮像しやすくなります。
透過照明
反射照明
同軸照明
明視野/暗視野観察
明視野観察
透過光/反射光を検出する。
視野は明るい。
蛍光灯下で物が見える時のイメージ。
模様等を見る時に適している。

暗視野観察
散乱光/乱反射光を検出する。
視野は暗い。
見たい部分を浮きだたせるイメージ。
傷や異物を見る時に適している。

I/Fボード(フレームグラバ―ボード)について
インターフェースボード(I/Fボード)やフレームグラバ―(frame grabber)とは、「画像処理ボード」や「ビデオキャプチャーボード」などと呼ばれることもある画像などの入力機能を備えた専用の組込用ボードです。
カメラからの信号を入力するインターフェース接続部分と、メモリを搭載したボード部分からなり、PCの拡張スロットに差し込んで使います。
ラインスキャンカメラで使用されるインターフェースの中では、CameraLinkとCoaXPressの場合にフレームグラバ―が必要です。
GigE VisionとUSB3.0はPCに直接接続でき、そこが大きなメリットでもありますが、フレームグラバ―があるからこそ便利なこともあります。
選定するポイントは下記3点になります。

カメラを何台使用するか確認
複数台カメラをつなぐときはチャンネル数が足りるよう、使用するカメラ台数をきちんと決めておきましょう。


使用するコンフィギュレーション(CameraLink)、ラベル表示(CoaXPress)を確認
CameraLinkならBase, Medium, Full、CoaXPressならCXP-1, CXP-3など、
出力構成の仕様が細かく分かれています。
それによって使用するケーブルの本数がが変わるため前述の必要なチャンネル数も変わりますし、
フレームグラバ―もコンフィギュレーション/ラベル表示の転送速度に対応したモデルを選択する必要があります。


パワーオーバー(カメラ給電)をするか確認
インターフェースを経由してカメラに給電したい場合は、対応しているフレームグラバ―を選ぶ必要があります。
画像処理コントローラ―について
画像処理コントローラにFA用PCを用いると、様々なシステムを構築することができます。
FA用PCを選定するときの目安は下記になります。

- カメラ1つにつき、撮像に1コア/処理に1コアで合計2コア必要
- 上記が4以下なら4コアを選ぶとよい(一番安価)

- 画像処理の質/スピードを上げたいときはクロック数が高いものを選ぶ

- 画像処理1回(二値化で1回、ブロブ処理で1回と数える)につき、処理用/キープ用で2倍のメモリ容量が必要
- 上記で算出したGB数の2倍あると安定して稼働できる

- 使用するAIのVerにあったCUDA(GPUカードのドライバー)のものを選ぶ
- モデル作成を行う場合はほぼ必須、作成されたモデルを使用した判定のみなら不要な場合もあり
- AIの仕様によって使用できるGPUボードの種類が違うので、AIメーカーへの相談はマスト
画像処理ソフトウェアについて
ホワイトペーパーのダウンロード
画像処理を行うソフトウェアには様々なものがありますが、大別して下記2種類に分けられます。
プログラミングソフト
- コーディングによるプログラミングが必要
- 対応するプログラム言語で構築すれば、どんな処理でも対応可能
- NEDで取り扱っているのはMatrox Imaging Library
ビジュアルプログラミングソフト
- フローチャート式などビジュアライズにプログラミングを行い、コーディングが不要
- コーディングによるプラグインを使用しない場合は、ソフトに組み込まれている処理のみ使用できる
- NEDで取り扱っているのはMatrox Design AssistantおよびNED製TechView
コーディングができる人材が豊富な場合や、非常に複雑な処理を行いたい場合はプログラミングソフトを、
コーディングができる人材に限りがあったり、フレキシブルな運用を求める場合はビジュアルプログラミングソフトを、
それぞれおすすめします。
画像処理の各処理について
ここではよく使われる画像処理について、解説します。
二値化 Binarization
二値化(binarization)は、画像のを白か黒のどちらかに分別して、文字通り白黒画像にする処理です。
通常のモノクロ画像だと、グレーの部分が含まれますが、それを白か黒かのどちらかに分けます。
FAX等文字認識では必須となる処理で、傷の部分だけ白くもしくは黒く浮かび上がれば、背景色と同化して分かりにくかったキズもすぐ見つけられます。
その時必要になるのがしきい値です。
画素値(連続的な光強度をデジタル化のため離散的な数値にしたもの)というデジタル画像のもとになる値があるのですが、どの画素値以上のところを白にするかを決めます。


見つけたいものをしきい値の上限下限で挟む




しきい値の上限/下限を255/0にできるか検討する
これは画像づくりの段階から想定しておいてほしい・・・という内容でもあるのですが、誤検知を減らすため、しきい値の上限を255で固定、もしくは下限を0で固定します。




同じ検査アプリの中で対象の輝度値は統一する






ブロブ処理で検出した対象に青枠がつくのですが、白のカニに合わせてブロブ処理を設計すると、画像全体に青枠がついてしまっています。
黒のクラゲではなく背景を検出している状態です。
こういうことにならないためには、同じアプリ内で検出する対象は黒か白どちらかに統一しておくべき。
二値化後の検出がやりやすくなりますので、ご留意ください。
エッジ抽出 Edge Extraction
エッジ抽出(edge extraction)は、微分して隣の画素との差を求める処理です。
生成される画像のイメージとしては、写真が線画になる感じです。スマホのアプリで写真が絵になる加工がよくありますが、それはこのフィルタをかけているのでしょう。
この処理をそのまま行うと、ノイズも拾ってしまいますので、横は微分して縦は平滑化(差を少なくする処理)するなどなど、いろいろな工夫を施したフィルターが多数存在します。
何かの画像処理アプリケーションを利用されている場合は、下記フィルター名が出てきたらエッジ抽出の1つと思って試してみてください。
・プリューウィット(Prewitt)フィルタ
・ソーベル(Sobel)フィルタ
・ラプラシアン(Laplacian)フィルタ
・LOGフィルタ
などなどなど・・・。

ブロブ処理 Blob Analysis
ブロブとは、塊という意味で、それぞれの塊について解析する処理ということです。
「どうやって塊を定義するか」という理論はいろいろあるものの、基本的には二値化すればはっきりしますので、
あまり問題はないことが多いです。
ブロブ解析はその塊1つ1つをチェックし(チェックすることをラベリングといいます)、
必要に応じていろんな分析をすることをまとめてブロブ解析と呼びます。

パターンマッチング Pattern Matching
パターンマッチング
ジオメトリックモデルファインダー


マスク処理 Masking

膨張収縮処理 Dilation/Erosion processing
膨張処理(Dilation)

収縮処理(Erosion)

この処理を組み合わせて繰り返し実行したり、することでノイズ成分の除去や対象の結合を行うことができます。

文字認識 Character recognition
【MILに搭載されている文字認識ツール】
OCR(※MILの場合)

String Reader

SureDotOCR

||

【同じ製品がずっと流れてくるラインの場合】

【複数の製品が流れてくるラインの場合】

輝度補正 Brightness correction

便利な処理ですが、デメリットもあります。

欠陥のサイズが大き過ぎると、平均輝度値が正しく求められない。

高速処理が必要な場合は、輝度補正の係数計算、画像全体への乗算のタクトプラスされ、タクトタイムに悪影響がでる。
メリットデメリット双方を検討したうえで使用してください。
強調処理 Emphasis processing

この処理のデメリットは下記です。


高速処理が必要な場合は、輝度補正の係数計算、画像全体への乗算のタクトプラスされ、タクトタイムに悪影響がでる。
上記は製品の並べ方や搬送速度の微調整で回避出来ることもあります。
ハイダイナミックレンジ High Dynamic Range
輝度値の違いが大きすぎ、検出のために条件違いで複数枚撮像が必要な場合に使用します。

ノイズが多いカメラには使えない、複雑な検査には使えない、など制約もあります。
動的マスク処理 Active Masking

動的マスク処理の方法は下のようになります。

デメリットもあり、下記のような場合は使えません。

欠陥のサイズが大き過ぎると、綺麗なマスク画像が作成できない

回転しすぎていると斜め部分がガタガタになり、綺麗なマスク画像が作成できない

マスク作成のタクトが余計に掛かり、高速処理が必要な場合は問題になることがある
メリットデメリットご検討の上、ご使用ください。