フォトメトリックステレオ法とは? ー従来の方式とカラーフォトメトリックステレオの違いー

外観検査で意外に手ごわいのが、「色の違い」と「形の違い」が同じように写ってしまう場面です。

黒い樹脂部品に付いた浅い打痕。印刷された文字の上を横切った細い傷。ヘアライン仕上げの金属面にできたへこみ。これらはどれも、普通に照明を当てて1枚撮った画像の中では、ただの「暗い部分」「明るい部分」として写ります。模様や色ムラも同じく明暗として写るため、画像処理でもAIでも「これは傷なのか、もともとの模様なのか」を切り分けられません。

照明を工夫して影を作れば凹凸は見えますが、今度は影の向きによって見え方が変わります。片側からだけ照らすと、照明に対して垂直な向きの傷は浮かび上がり、平行な向きの傷は消えてしまいます。向きの分からない傷を1方向の照明で探すのは、原理的に無理があります。

照明を1方向ずつ変えて、何枚も撮る

フォトメトリックステレオは、この問題を照明の向きを変えて複数枚撮ることで解きます。

カメラは固定したまま、対象を囲むように配置した照明を1方向ずつ順番に点灯させて撮像します。照明の数だけ画像が撮れます。Inspection Designer の初期設定は8方向です。

カメラを固定したまま、対象を囲む8方向の照明を1つずつ点灯させ、照明の向きごとに1枚ずつ撮像する様子の模式図
カメラは動かさず、照明だけを切り替えて撮る

明るさの「変わり方」が、傾きを教えてくれる

机の上に置いた消しゴムを思い浮かべてください。右から光を当てると右側の面が明るくなり、左側は影になります。左から当てれば逆です。同じ場所なのに、照明の向きによって明るさが変わる。 それは、その面が傾いているからです。

では平らな紙ならどうか。どちらから当てても、明るさはほとんど変わりません。傾いていないからです。

つまり、照明の向きを変えたときに明るさがどう変わるかという「変わり方」そのものが、その場所が平らなのか、どちらにどれだけ傾いているのかを表しています。 8方向から撮った8枚を1画素ずつ見比べれば、画像の全画素について傾きが求められます。傾きが急に変わっているところ——それが傷や打痕、段差です。

平らな面は照明を左右どちらから当てても明るさが変わらないが、傾いた面は当てる向きによって明暗が入れ替わることを示す模式図
平らな面は変わらず、傾いた面は明暗が入れ替わる

この傾きのことを、画像処理では面の向きと呼びます。以下もその言い方をします。

面の向きは、色や模様に左右されない

ここが重要な点です。白い紙に黒で文字が印刷されていても、紙の面の傾きは文字の内側でも外側でも同じです。印刷は紙の上に乗っているだけで、面を傾けてはいません。

明るさの絶対値を見れば文字は黒く写りますが、「照明の向きを変えたときの変わり方」を見れば、文字の内と外で違いは出ません。逆に、紙に付いた折り目は面を傾けるので、変わり方に差が出ます。

模様は変わり方に出ず、凹凸は変わり方に出る。 これがフォトメトリックステレオの本質です。

「形」と「色」は、消えるのではなく分かれる

ここで誤解されやすいのですが、フォトメトリックステレオは模様を消す技術ではありません。 模様と凹凸を別々の情報として取り出し、どちらを見るかを選べるようにする技術です。

8枚の画像から得られるのは、2種類の情報です。

  • 面の向き — どちらにどれだけ傾いているか。形の情報
  • 面の反射しやすさ — 傾きによる陰影を取り除いたときの、その面そのものの明るさ。色や模様の情報

照明の向きで明るさが変わる分が前者、変わらずに残る分が後者、と考えると分かりやすいと思います。印刷されたインクは面を傾けないので前者には出ませんが、周囲より暗いという性質は後者に残ります。

照明の向きごとの画像から、面の向き(形の情報)と面の反射しやすさ(色・模様の情報)の2つを取り出し、それらを組み合わせて7種類の出力を作る流れの模式図
8枚から2種類の情報を取り出し、組み合わせて1枚にする

後で説明する7種類の出力は、この2つをどう組み合わせて1枚にするかの違いです。形だけを見たいなら曲率、色だけを見たいならアルベド、両方を残したいなら平均画像や曲率・平均画像合成を選びます。

この記事の比較画像でロゴや文字が見えているのは、色や模様の情報を残す出力を選んでいるからです(1組目は曲率・平均画像合成、2組目はハレーション抑制)。形だけを取り出す曲率を選べば、ロゴも文字も消えて傷だけが残ります。

従来の方式では、色の情報が失われる

ただし、一般的なフォトメトリックステレオには制約があります。合成した画像が白黒になることです。

理由は、さきほどの2つのうち「面の反射しやすさ」の持ち方にあります。照明ごとの明るさを比べるとき、画素は明るさという1つの値として扱われます。赤・緑・青の3つの値を持っていた画素が、明るさ1つに畳まれる。模様としては残るのに、何色だったかはここで失われます。

下の比較を見てください。出力は曲率・平均画像合成——通常の見た目の画像に、曲率(面の曲がり具合)を重ねたものです。さきほどの2つの情報を、文字どおり重ねて1枚にしています。左が元画像、中央が従来の方式、右がカラーフォトメトリックステレオです。

傷のある銘板の元画像
元画像。傷は見えるが、線が淡い
従来のフォトメトリックステレオ法で合成した銘板の画像。傷の線は明瞭だが色が失われている
従来の方式(曲率・平均画像合成)。傷の線が明瞭になるが、色が失われる
カラーフォトメトリックステレオ法で合成した銘板の画像。傷の線が明瞭になり色も残っている
カラーフォトメトリックステレオ(曲率・平均画像合成)。傷の線が明瞭になり、色も残る

傷の線が明瞭になっているのは曲率の層、ロゴと文字が見えているのは平均画像の層です。形と色が別々に取り出されていて、それを重ねられる、ということが1枚で確認できます。

目的は果たせている。しかし中央の画像では、オレンジだったはずのロゴが灰色です。 模様としては残り、色だけが抜け落ちた状態です。 この画像を使うかぎり、色でしか判別できない検査はできません。変色、色違いの部品の混入、印刷インクの間違い。形が同じで色だけが違う不良は、この時点で検出の対象から外れます。

光沢面ではもっと分かりやすく出ます。次の比較は出力をハレーション抑制に変えたものです。白飛びを抑える出力なので、曲率は重ねていません。

フィルムをかぶせてぎらつきを加えた銘板の元画像
元画像。ぎらつきに紛れて傷が分からない
従来のフォトメトリックステレオ法で合成した画像。ぎらつきは消えて傷が出るが色が失われている
従来の方式(ハレーション抑制)。ぎらつきが消えて傷が出るが、色が失われる
カラーフォトメトリックステレオ法で合成した画像。ぎらつきが消えて傷が出て、色も残っている
カラーフォトメトリックステレオ(ハレーション抑制)。ぎらつきが消えて傷が出て、色も残る

フィルムをかぶせて反射を作った状態です。元画像では、しわの反射に紛れて傷がどこにあるか分かりません。フォトメトリックステレオを通すと、反射はフィルム表面の現象で銘板の面の向きとは関係ないため落ち、傷だけが残ります。ただし従来の方式では、ここでも色が一緒に落ちます。

カラーフォトメトリックステレオ — 色を残したまま合成する

OUEN のカラーフォトメトリックステレオは、色の情報を保ったまま合成します。上の比較の右端がそれです。ぎらつきは消え、傷の線は明瞭になり、ロゴのオレンジと文字の紺が元のまま残っています。

これが効くのは2つの場面です。

1つは、形と色の両方を1回の撮像で見たいとき。 傷と変色を別々の撮像条件で2回撮るのではなく、1枚で両方を判定できます。撮像工程が1つ減り、タクトにも効きます。

もう1つは、この画像をAIに渡すとき。 白黒画像とカラー画像では、同じ1画素が持つ情報量が3倍違います。AIは画素の並びから特徴を見つけるので、使える情報が多いほど見分けがつきやすくなります。 色が残っていれば「灰色がかった傷」と「もともと灰色の印刷」を区別する手がかりが残る、ということです。

合成する画像は7種類から選ぶ

Inspection Designer では、合成する画像の種類を7つの中から選びます。何を見たいかによって選ぶ画像が変わります。

出力画像 何が見えるか
曲率 面の曲がり具合。傷や打痕のような凹凸が、色や模様の違いに邪魔されずに出ます
アルベド 面の反射しやすさ。照明の向きによる陰影が消えるので、汚れや変色などの色ムラが見えます
高さ 面の高さ。うねりや反りのような、広い範囲の形の変化が見えます
鏡面反射 照明の向きによって明るさがどれだけ変わるか。てかりのある部分や仕上げの粗さの違いが出ます
ハレーション抑制 明るすぎて白く飛んだ部分を抑えた画像。光沢面で、反射に隠れていた模様が見えます
平均画像 撮った画像を平均した、通常の見た目に近い画像
曲率・平均画像合成 通常の見た目に曲率を重ねた画像。模様と凹凸を一度に見たいときに使います

いちばん使いどころが広いのは曲率です。 色やムラ、印刷の有無に左右されず「面が曲がっているところ」だけが出るため、これまで模様に埋もれて取れなかった傷や打痕が素直に見えるようになります。

アルベドは曲率の逆です。 照明の向きによる陰影を取り除き、形の影響を消して色の情報だけを残します。凹凸のある面に付いた汚れや変色を見るときに向きます。曲率とアルベドを両方出して、形の不良と色の不良を別々に判定する、という組み方もできます。

ハレーション抑制は、光沢のある面を撮ったときに必ずどこかに出る白飛びを抑えます。金属やフィルムの表面に印刷された文字が反射で読めない、という場面で効きます。

高さは、1枚1枚の照明画像からは分からない、広い範囲での形の変化を出します。板の反り、シートのうねり、組み付け後の段差といった対象が相手です。

平均画像と曲率・平均画像合成は、形だけを見るのではなく「人が見たときの見た目」も一緒に残したいときに使います。

なお、カラーで出力できるのは平均画像・ハレーション抑制・曲率・平均画像合成の3つです。残りの4つは面の形や反射の強さを表す値そのものなので、画素が持つのは1つの値だけになり、常に白黒です。色を残したいのか形を見たいのかで、出力の選び方が変わります。

合成した画像を、そのままAI検査にかけられる

フォトメトリックステレオで得られる画像は、人が見て判断するためだけのものではありません。

Inspection Designer では、フォトメトリックステレオは入力モジュールの1つです。つまり、合成した1枚の画像を、そのまま後続の処理へ流せます。

  • 曲率画像を良品学習にかけて、良品の面の曲がり方を覚えさせる
  • アルベド画像を領域抽出に通して、変色の面積を測る
  • ハレーション抑制画像をAI OCRに渡して、光沢面の文字を読む

照明の工夫で見えるようにした情報を、そのままAIの入力にできる。撮像で取れるものを増やせば、AIが解く問題はその分だけ簡単になります。 画像処理とAIを別々に考えず、撮像からひとつながりで設計できるのがこの構成の利点です。

どの出力で見えるかは、撮ってみないと分からない

ここまで7種類の出力を説明しましたが、どれが効くかは対象によって変わります。 同じ「傷」でも、浅い打痕なら曲率、変色をともなうならアルベド、光沢面の上なら ハレーション抑制、と答えが違います。カタログの比較表からは決められません。

導入の検討段階では、まず手元の連番画像を読み込ませて、どの出力画像なら狙った欠陥が見えるのかを確かめる使い方ができます。ここを先に確かめておくと、照明治具の設計まで見通せます。 何方向の照明がいるのか、どれくらいの角度から当てるのか、視野はどこまで取れるのか。撮像系の仕様が決まれば、装置の見積もりも現実的になります。

「模様に埋もれて取れなかった」「光って読めなかった」という検査対象がある場合は、撮りためた画像での確認から始められます。

事前検証を申し込む

外観検査の基礎を1冊にまとめました

カメラ・レンズ・照明の選定から、AIの種類と選び方、ライン連携、PoCの評価指標まで。外観検査の自動化で押さえておきたい論点を全62ページにまとめています。

  • 全62ページ
  • 撮像系の設計からPoCまで
資料ダウンロードお問い合わせ