9.GMA溶接現象の解析

9.4 画像処理手法

前ページ

 前節で液滴領域を抽出するための閾値の求め方を紹介しました。本節では液滴移行現象などの間歇的に通常とは異なる事象が生起する現象の画像処理手法について紹介します。
・画像の特徴とその改質
 高速度ビデオ画像の特徴を調べるには、連続して撮影した画像全てを調べて、各画素での最大値や最小値あるいは平均値を求めて、その画像を参照用に使います。同時にそれらの画像の輝度のヒストグラムなどを調べて画像の典型的な特徴を調べて、それらの特徴を解析にどのように用いるのかについて考えます。
 GMA溶接の溶滴移行現象の解析ではまず解析したい画像の全体的な特徴を知ることが重要です。通常は見たい現象が分かりやすく撮影されることが重大な関心事です。一方、綺麗に撮影された映像では肝心の解析対象が露出過剰になっていて定量的解析に支障が生じる場合が良くあります。まず、右上図に示しているように、映像全体から各画素の最大値、平均値、最小値あるいは分散などの画像を代表する特徴値を計算して、図示してみることが全体像を把握するのに便利です。同時に撮影した映像の輝度度数分布や累積度数分布を図示することも欠かせない作業です。
 右上(b)の平均値画像では液滴の影響で液滴が移行している領域の平均値が増加します。右の(b)参照画像は平均値から分散を差し引いた画像です。この場合は分散の値が比較的高くなっており、この場合は分散の50%程度の値を差し引くのが適切になります。いくら差し引くのかは液滴が移行しない領域の値を参照して決定します。ここでは、単に平均値から分散値を差し引いた画像を参照用にしています。液滴がアークより明るく撮影されている場合には、平均値画像から分散値を差し引いた画像を参照に使うことが便利です。(c)に示すように周囲のアーク領域が差し引かれて液滴のみが、映像として強調表示されています。このように、解析対象である液滴の輝度の性質と背景であるアークの性質を利用して、対象物が解析しやすくなる条件を探すことが重要です。
 前節での解析では、以上のような映像全体の特徴は考えずに、映像全体の度数分布を参照して検討し、最適と考えられる閾値(130)を用いたため満足しにくい結果になりました。右図に示した、右上の(a)元画像と(b)特徴抽出画像の累積度数分布を見ると、緑の実線で示した閾値130は、各色の変曲点に対応している値であることが分かります。しかし、赤色の破線で示した累積度数のところが液滴に対応する輝度であり、前節の解析では液滴以外の領域の画素についても計算を実施していたことが分かります。
 また、原映像は非常に明瞭な映像なのですが、青色や赤色が飽和しているために、このままでは定量的解析には適していないことも分かります。全体の平均値と分散値とを利用して、液滴領域を際立たせるようにすれば、RGB全ての色である程度定量的にデータを取り扱えそうなことも右上図から分かります。
 右図に示した特徴抽出した画像のヒストグラムから、液滴領域抽出のための閾値を(R=141,G=120,B=88)として解析を行うことにします。
・各水平線上の特徴量計算法
 I0を閾値とします。その水平線上にある閾値以上の画素数に対する特徴量の計算には、
[0,I0-1]の範囲で、h0[i]=0;h1[i]=0;
[I0,nx] の範囲で、h0[i]=1;h1[i]=i-I0;
という関数を用意します。以下の式でその水平線上にある、対象画素の個数(n)、幾何学的中心(Gx)、明るさの平均値(B)と輝度重心(Bx)などが計算できます。
n =0;for(i=0;i<nx;i++)n+=h0[d[i][j]]; 対象画素の個数
n0=0;for(i=0;i<nx;i++)n0+=h0[d[i][j]]*i;Gx=n0/n; 幾何学的中心
n1=0;for(i=0;i<nx;i++)n1+=h1[d[i][j]];B=n1/n; 明るさの平均値
n2=0;for(i=0;i<nx;i++)n2+=h1[d[i][j]]*i;Bx=n2/n1; 輝度重心
 水平線上に複数の対象がある場合にはこの方法は適用できません。複数ある場合には定義域を適切にすることで対処できます。この方法の利点は計算が単純なことと、領域内に局所的に輝度の低いところが存在しても問題なく計算できることです。具体的な手法や問題点は次節以降の各論で紹介します。
 次に水平線上の特徴量について、右上の映像で鉛直方向にA1からA10と区切った区間についての輝度分布を示し、それぞれの領域での特徴量を検討します。
 右図はワイヤ先端から近い領域(右上の映像でA7の線で示している水平線)で、データ処理していない場合の緑色の分布と、液滴抽出処理をした後の緑色の輝度分布を表しています。右下には比較のために抽出していない場合の赤青黄3色の輝度分布を示しています。
 青色は液滴が存在している場合に、輝度は最高値(255)に飽和しており本来のアークのばらつきより差が小さいために、特徴抽出はあまり適切には実施できません。一方、緑色は液滴が存在している領域でも、明るさ(輝度)は飽和していない(最高輝度が255未満)ため、特徴抽出処理を行うと液滴領域のみがアーク領域の輝度から確実に分離できています。液滴領域の輝度は、液滴本来の輝度に周囲のアーク光が重畳されていることから、定量的解析には、この特徴抽出処理をした輝度を用いることが正しいと考えています。
 一方、アークの時間的変動の定量的解析を行う場合には、液滴が存在しても平均的なアークの輝度とあまり大きな違いはありません。図中の青色の輝度分布から例えば輝度が250以上の画素の輝度を250の輝度値に補正すると、平均輝度からの相違は本来のばらつきより小さくなるように見えます。
 以上のように、高速度ビデオデータの定量的解析を画像処理する場合には、解析目的に応じて対象の画像の色強度度数分布などの特性を解析初期に把握しておくことが必要です。次ページ以下では個別の解析結果について紹介していきます。

次ページ   2017.7.1作成 2017.7.20改定

小川技研サイト
累積度数分布

・輝度分布は各画素の輝度がどのような分布であるのかを示す。
・右表の累積度数分布はある輝度以上の画素が何個存在しているのかを示す。
・閾値を決める場合、輝度分布ではピークとピークとの間の谷のそこの輝度値を閾値に選定する。
・RGBそれぞれの閾値を決める際には、何処に存在する谷底の点を選定すればよいのか分からない場合が多い。
・累積度数分布を利用すると、RGB全てで同じ累積度数のところに明瞭な変極点が存在すれば、その変極点に輝度値を閾値に選定すればよいことが分かる。

変数オーバフロー

・高速度ビデオデータの処理量は非常に多く、私は昔から使用するメモリを最小化する観点から、データには正整数1バイト(unsigned char)を使用しています。
・演算では正整数4バイト(unsigned int)を使用しており、(256x256)画素の画像データ演算では問題なく実行できていました。Σd(i)*i*iの演算が丁度4バイトに収まります。
・しかし、近年の高精細高深度化により倍精度実数(double)を使用せざるを得なくなっています。
・ウッカリ正整数を使って変数がオーバフローして予想外の結果が得られることがあり、その結果を気づかずに使う場合もあります。結果的に解析結果が間違っていることに気づくのが遅れる場合が多く、実際問題困っています。