以下、本発明の構成を図面に示す実施形態に基づいて詳細に説明する。
本実施形態では、本発明の電線点検用画像の作成方法が、図1から図28に示す画像処理による電線異常検出方法および装置およびプログラムに組み込まれて用いられる場合の実施の一形態を示す。この電線異常検出方法は、例えば図11に示すように、電線が撮影された原画像を得る前処理(S1)と、原画像から電線部分の領域を切り出す処理(S2)と、切り出した対象画像に対して電線の異常を検出する処理(S3)と、対象画像が上手く切り出せなかった画像や電線の異常が検出された画像を出力する処理(S4)からなる。なお、原画像から電線部分の領域を切り出す処理(S2)が本発明の電線点検用画像の作成方法に該当する。
電線異常検出処理(S3)では、例えば図13に示すように、電線の実際の輪郭線を構成するエッジ画素を検出する処理(S306)と、検出されたエッジ画素を用いて電線が健全である場合の理想輪郭線を求める処理(S307)と、エッジ画素と理想輪郭線との情報に基いて電線の形状の異常を検出する処理(S308)と、理想輪郭線に囲まれる領域の色情報値に基いて電線の色の異常を検出する処理(S309)とを行なうようにしている。
点検対象である電線が撮影された画像として、例えば本実施形態では、ヘリコプターに搭載したビデオカメラで撮影した電線の空撮映像を利用している。ビデオカメラは例えば毎秒30フレームの画像を生成するものとしている。ビデオカメラより得られる各フレーム画像は、前処理(S1)において、コンピュータでの処理が可能なRGBのカラーモデルに変換され、さらに処理の簡素化および高速化等のために8ビットのグレースケール画像に変換される。上記のように変換された各フレーム画像を本実施形態における原画像とする。原画像を構成する各画素は、色情報値として、0(黒)〜255(白)までの256階調の明るさの値(輝度値)を有する。原画像の解像度は、例えば水平方向画素数を640画素とし、垂直方向画素数を480画素としている。但し、原画像はグレースケール画像に限定されずカラー画像であっても良く、また解像度も上記の例に限定されるものではない。
例えば本実施形態の原画像には、電線が画面の左右方向にわたって撮影されているものとする。このため本実施形態では、画面水平方向を電線長手方向とし、画面垂直方向を電線横断方向とする。尚、電線が画面の上下方向にわたって撮影されているような場合には、画面垂直方向を電線長手方向とし、画面水平方向を電線横断方向として良い。
細長い電線が撮影された部分は原画像の中のごく一部であるため、原画像全体に対してエッジ検出処理(S306)を行なっても、エッジ検出精度に余り寄与しないばかりか多大な処理時間がかかる。本実施形態のように原画像の中から電線が撮影された部分を切り出す処理(S2)を行ない、当該切り出された領域を対象画像とし、当該対象画像に対してエッジ検出処理(S306)を行なうことで、処理時間を大幅に短縮できる。例えば本実施形態では、対象画像の電線長手方向である水平方向の画素数は原画像の水平画素数と同じとし、対象画像の電線横断方向である垂直方向の画素数を原画像の垂直画素数よりも小さくするようにしている。具体的には、対象画像の解像度を例えば640×80画素とする。この場合、エッジ検出処理の対象となる領域は原画像の6分の1に狭まり、エッジ検出処理の処理時間を原画像全体に対して処理を行なう場合の約6分の1程度に短縮できる。
本実施形態の対象画像の切り出し処理では、例えば図12に示すように、水平方向範囲および垂直方向範囲が予め定められた探索領域を原画像の電線長手方向である水平方向に3箇所以上分布させる(S205)とともに、探索対象である電線の画像をテンプレートとして予め与え(S202)、テンプレートと最も類似する領域を各探索領域内で探索し(S206)、各探索領域についての探索結果が予め定めた規則性を満たすか否かを判断し、当該規則性を満たす探索結果を少なくとも含む画像を原画像から切り出して対象画像とするようにしている(S210)。
本実施形態における探索領域は、例えば図23に示すように縦長とし、その水平方向範囲の画素数Xはテンプレートの水平方向画素数と同じとし、垂直方向範囲の画素数Yはテンプレートの垂直方向画素数よりも大きく且つ原画像の垂直方向画素数以下としている。ここで、図23および図24中の符号1は原画像を示し、符号2はテンプレートを示し、符号3は探索領域を示し、符号4は電線の画像を示している。但し、探索領域の大きさは上記例に限定されるものではない。探索領域は、大きく広くとるほどテンプレート照合の失敗の可能性を減らせる利点があり、逆に、小さく狭くとるほど処理を高速化できる利点がある。例えば連続するフレーム間で電線が探索領域の垂直方向範囲Yを超えて大きく位置を変えると、当該探索領域内に電線が含まれず、その探索領域におけるテンプレート照合は失敗する。垂直方向範囲Yを大きくすることで当該失敗の可能性を減少させることができ、原画像の垂直方向画素数と等しくすれば当該失敗を無くすことができる。一方、水平方向範囲Xをテンプレートの水平方向画素数よりも大きくすることで、各探索領域において水平方向への探索も可能となる。例えば難着雪リングの装備された電線が撮影されているような場合には垂直方向にテンプレートと類似する領域が現れない可能性があるが、このような場合でも、水平方向への探索をも行なうことでテンプレート照合の失敗の可能性を減らすことができる。
また、本実施形態における探索領域は、例えば図24に示すように電線長手方向である水平方向に予め定めた距離をおいて3箇所分布させるようにしている。但し、探索領域の数は3つ以上であっても良い。ここで、本実施形態では、各探索領域は水平方向には移動させず、垂直方向にのみ移動させるようにしている。例えば、前フレームにおける探索結果が中央に位置するように各探索領域を垂直方向に移動させるようにしている。これは、連続するフレーム画像間では電線の画面内の位置と角度は大きくは変動しないという特徴を利用して、原画像の垂直方向画素数よりも小さい範囲Yで、電線を上手く追尾するための工夫でもある。
探索領域内におけるテンプレートと同じ大きさの領域(以下、候補領域と呼ぶ。)と、テンプレートとの類似度の計算には、例えば二乗誤差による相違度を用いる。この場合、テンプレートの座標(x、y)の輝度値をv(x、y)とし、候補領域の座標(x、y)の輝度値をv’(x、y)とすると、相違度errは次式で求められる。
この相違度errが最も小さくなる候補領域を、探索領域内においてテンプレートと最も類似した領域、即ち探索結果とする。但し、候補領域とテンプレートとの類似度の計算方法は上記例に限定されない。例えば類似度の計算に相互相関を用いたり、周波数領域での類似性を判定するなどの方法を用いることにより、照度変化の影響を軽減した、より安定したテンプレート照合を行うことができる。
本実施形態では、探索の成否判定規準となる「探索結果の規則性」として、各探索結果の変位の位相が揃っているか否か、を判断するようにしている。ここでの位相は「位相幾何」で用いられるものを指す。例えば線分で表現される2つの図形の形状が同じであれば、当該2つの図形は位相が同じ、即ち位相が揃っている、と判断する。本実施形態の場合では、3つの探索結果を例えば左から順に第1、第2、第3の探索結果とすると、第1の探索結果と第2の探索結果とを結ぶ線分の傾きと、第2の探索結果と第3の探索結果とを結ぶ線分の傾きが、同じと見なせれば、位相が揃っていると判断する。各探索結果の変位の位相が揃っているか否かで、探索の成否が判定できる根拠を以下に説明する。即ち、電線は鉄塔部分を除いて他の物体に接触しておらず、物理法則に従って垂れた状態にある。したがって、電線は曲率の極めて小さい曲線形状であり、画面内という小さな範囲ではほぼ直線とみなして問題ない。そのため画面内での電線位置の変位は、ヘリコプターもしくはカメラの動きによる相対的なものである。ヘリコプターは電線に沿って一定速度で飛行を続けており、急激にその進行方向を変えることはない。また、カメラは回転せず上下左右方向のパンのみを行っている。以上より、電線は時間変化とともに3つの探索領域内で垂直方向に移動し得るが、当該移動は3つの探索領域で揃っているのが通例である。従って、各探索結果の変位の位相が揃っていない場合は、当該探索が失敗していると考えられる。
各探索結果の変位の位相が揃っているか否かを数値的に表現する一例を以下に示す。各探索結果の予め定めた点、例えば各探索結果における中心点の垂直方向の座標位置をそれぞれy1i,y2i,y3iとする。尚、添字i=0,…,pである。ここで、y10,y20,y30を現在の原画像における座標位置とし、y11,y21,y31を1フレーム前の原画像における座標位置とし、y1p,y2p,y3pをpフレーム前の原画像における座標位置とする。そして、次式に基づいて、一定期間におけるy1iとy2iとの距離とy2iとy3iとの距離の差の平均dy12rateを計算し、当該平均dy12rateが予め定めた一定値以内であれば各探索結果の変位の位相が揃っていると判断し、当該一定値を超えた場合に各探索結果の変位の位相が揃っていないと判断する。
但し、各探索結果の変位の位相が揃っているか否かの判断は、上記計算に基づくものには必ずしも限定されない。例えば、より一般的な以下の計算方法を用いても良い。例えば、上述した垂直方向座標位置y1i,y2i,y3iを用いて、y1=(y10,…,y1p),y2=(y20,…,y2p),y3=(y30,…,y3p)を定義し、y1,y2,y3の相互相関を計算する。ここで、cor12をy1とy2の相互相関ベクトルとし、cor23をy2とy3の相互相関ベクトルとし、cor31をy3とy1の相互相関ベクトルとする。各相互相関ベクトルcor12,cor23,cor31において、最大値がそれぞれj1,j2,j3番目の要素であったとする。これらj1,j2,j3が共に一定値以下である場合に、各探索結果の変位の位相が揃っていると判断し、当該一定値を超えた場合に各探索結果の変位の位相が揃っていないと判断する。尚、位相が完全に揃っている場合は、j1,j2,j3は0となる。この計算方法の場合、より精度良く各探索結果の変位の位相が揃っているか否かを検出できる。但し、数式2に基づく方法と比較して計算時間がかかる。
ここで、同じ系統の電線であっても、実際に撮影された電線の画像は必ずしも一定ではない。その原因としては、例えばカメラの照度設定による明るさの違い、また山影などによる明るさの違い、電線に付着した汚れやペイントなどの電線の表面状態の違いなどがある。これら電線画像の複数のバリエーションを一つのテンプレートで表現することは困難であり、複数のテンプレートを使い分けることが望ましい。しかし、充分かつ適切な量と質のテンプレートを最初から用意することは必ずしも容易ではない。
そこで本実施形態では、複数のテンプレートを用意する作業を容易にし且つテンプレート照合の精度を向上させるため、例えば図12に示すように、探索結果が予め定めた規則性を満たさない場合(S208;No)または探索結果の類似度が予め定めた基準を満足しない場合(S209;No)に、新たなテンプレートを追加できるようにしている(S213)。
例えば、各探索結果の変位の位相が揃っていないと判断された場合、即ち探索が失敗した場合に、ユーザインターフェース画面を表示して、作業者が新たなテンプレートを追加できるようにする。また、各探索結果の変位の位相が揃っていると判断された場合でも、探索結果とテンプレートとの類似度が一定値を超えて小さくなっている場合、換言すれば相違度が一定値を超えて大きくなっている場合、電線以外のものを探索結果として返している可能性があり、新たなテンプレートが必要と考えられる。そこで、例えばユーザインターフェース画面を利用して類似度が一定値を超えて小さくなっている状況を通知し、作業者が新たなテンプレートを追加できるようにする。例えば類似度をグラフとして表示し、且つ類似度が一定値を超えて小さくなっている部分を色分け表示することで、新たなテンプレートが必要であることを作業者に示唆するようにする。上記のユーザインターフェース画面には、探索結果の変位の位相が揃っていない原画像または探索結果とテンプレートとの類似度が一定値未満である原画像を含めるようにし、作業者がマウス等のポインティングデバイスを用いて当該原画像中の電線部分を指定できるようにし、指定された電線部分を新たなテンプレートとして登録できるようにする。作業者は、ユーザインターフェース画面に表示された原画像中の電線部分を、新たなテンプレートとするか否か判断すれば良く、少ない労力で充分かつ適切な量と質のテンプレートを用意することができる。
ここで、探索が失敗した場合または探索結果の類似度が予め定めた基準を満足しない場合に、上記のユーザインターフェース画面より新たなテンプレートを直ちに追加しても良いが、一連の処理の後で追加するようにしても良い。例えば、探索が失敗した原画像または探索結果とテンプレートとの類似度が一定値未満である原画像を、対象画像を切り出すことなくログに記録しておく(S214)。そして、後続の原画像について対象画像の切り出し処理を終了させた後に、作業者が新たなテンプレートを追加して、ログに記録されている原画像について、対象画像の切り出し処理を再度行なうようにしても良い。
次に複数のテンプレートを使い分けて安定した電線探索を行う方法について述べる。例えば本実施形態では、複数のテンプレートのうち探索結果の類似度が最も高くなるテンプレートを選択するようにしている。例えば現時点で探索結果とされている領域と、用意されたすべてのテンプレートとの類似度を計算し、最も類似度が高いテンプレートを選択し、選択したテンプレートを現時点および次回からの原画像に対する処理に使用するようにする。但し、現時点における原画像の探索領域に対して、すべてのテンプレートを用いて探索を行い、類似度が最も高かった探索結果を採用すると共に、当該探索結果が得られたテンプレートを次回からの原画像に対する処理に使用するようにしても良い。或いは、現時点における原画像の探索領域に対して、複数のテンプレートを予め定めた順番で用いて探索を行い、探索結果の類似度が予め定めた基準を満足した最初のテンプレートを、現時点および次回からの原画像に対する処理に使用するようにしても良い。この場合、例えば登録時が最も新しいテンプレートから順番に用いるようにしても良く、または最近使用されたテンプレートから順番に用いるようにしても良く、あるいは使用頻度の最も高いテンプレートから順番に用いるようにしても良い。
次に、原画像から切り出した対象画像に対して、電線の実際の輪郭線を構成するエッジ画素を検出する。原画像から電線部分を切り出した対象画像の中で、エッジすなわち輪郭情報がはっきりと現れるものは電線のみであり、エッジ画素を検出することで、電線の領域を正確に抽出することができる。
例えば図7に示すような画像に対し、図中の矢印で示すように、電線横断方向である垂直方向の一方向、例えば図中の上方に向かう方向に、隣接する2画素間の輝度値の差分値を求め、当該差分値と垂直方向の座標位置との関係を表したものを図8に示す。図8に現れている差分値0から突出した点、換言すれば差分値が両隣にある双方の差分値のよりも大きいか又は小さい点(以下、ピークとも呼ぶ。)のうち、絶対値の大きなものが電線部分を示している。従って、電線部分を示すピークの両端を検出できれば、電線領域を正確に抽出できる。
ここで、差分値の絶対値が閾値を超えるピークを探し、当該ピークを構成する画素をエッジ画素と判断する方法もあるが、この場合、太陽の方向や天候などによって適切な閾値が変動するため、一定の閾値の下では正確なエッジ検出が行なえない。
そこで、本実施形態のエッジ検出処理では、例えば図14に示すように、対象画像における各電線横断方向の画素列について、電線横断方向の一方向に向かい隣接する2画素間の色情報値の差分値を求めて行く(S306−5)。そして、図15に示すように、当該差分値の絶対値が最大となる点を求め(S306−7−1)、この最大点から電線横断方向の両方向に向かって予め定めた範囲にあり且つ当該最大点から最も離れた、差分値0から突出した点を求め、各突出点を構成する画素をエッジ画素と判断するようにしている(S306−7−6,S306−7−11)。
図8を拡大した図9を用いて上記の原理を説明する。図9の中で差分値の絶対値が最大となる点P1を探す。さらに、この最大点P1を中心として、予め定めた範囲Δjにあり且つ当該最大点P1から最も離れたピークP2を探す。ここで、ピークP2を探す範囲Δjは、例えば対象画像における電線の太さに基いて定めるようにする。例えば電線の太さは40画素程度であるものとし、最大点P1を中心に±20画素の範囲Δjでそれぞれ最も外側にあるピークP2を探す。そして、ピークP2を構成する画素をエッジ画素とする。ここで、ピークP2はそれぞれ2つの画素により構成されるが、最大点P1に近い方をエッジ画素とする。これより2つのエッジ画素が得られる。当該2つのエッジ画素の一方を第1エッジ画素と呼び、他方を第2エッジ画素と呼ぶ。本実施形態では、対象画像における上側に位置するエッジ画素を第1エッジ画素とし、下側に位置するエッジ画素を第2エッジ画素としている。以上の処理を対象画像の垂直方向画素列のすべてについて行なう。
次に、上述の処理で検出されたエッジ画素に基づいて、電線が健全である場合の理想輪郭線を求める処理を行なう。例えば図16に示すように、第1エッジ画素群および第2エッジ画素群から予め定めた基準を満足しない低信頼性画素を除き、残りの第1エッジ画素群および第2エッジ画素群をそれぞれ直線で近似して、2本の理想輪郭線を求めるようにする(S307−1〜S307−3)。
例えば本実施形態では、第1エッジ画素群および第2エッジ画素群についてそれぞれ以下の処理を行なうことにより、直線性を大きく損ねている低信頼性画素を除くようにしている。即ち、図17に示すように、エッジ画素をそれぞれ着目画素とし、着目画素を中心として電線長手方向である水平方向に予め定めた範囲、例えば±15画素にあるエッジ画素の電線横断方向である垂直方向の座標位置の平均を求める(S307−1−3,S307−1−5)。そして、垂直方向の座標位置が当該平均から大きく外れる着目画素としてのエッジ画素、即ち垂直方向の座標位置と当該平均との差の絶対値が予め定めた閾値以上となる着目画素としてのエッジ画素を低信頼性画素として除くようにする(S307−1−4,S307−1−6)。
また、対となる第1エッジ画素と第2エッジ画素の間隔が極端に狭い又は広いエッジ画素、換言すれば、水平方向の座標位置が同じである第1エッジ画素と第2エッジ画素との垂直方向の座標位置の差が予め定めた上限値以上または下限値以下となるエッジ画素を、低信頼性画素として除くようにする(S307−1−7,S307−1−8)。
低信頼性画素を除いたエッジ画素群に直線を当てはめる方法として、例えば本実施形態では最小自乗法を用いる。但し、直線近似の方法はこの例に限定されるものではない。低信頼性画素を除いた第1エッジ画素群および第2エッジ画素群に基づいて求められた直線を、それぞれ第1理想輪郭線および第2理想輪郭線と呼ぶ。
上記理想輪郭線を利用する形状異常検出処理(図13のS308)では、理想輪郭線から電線横断方向である垂直方向に予め定めた距離を超えて離れたエッジ画素が、電線長手方向である水平方向に予め定めた数だけ連続した場合に、素線切れなどにより電線の形状に異常が生じている可能性があると判断するようにしている。例えば、理想輪郭線から10画素以上離れたエッジ画素が20画素の長さにわたって現れた場合に、素線切れなどの電線異常の可能性があると判断するようにしている。これは、電線の一部が切れて外側に跳ねてしまっている場合、理想輪郭線からある程度離れたところに、エッジ画素がある程度まとまって存在するようになることを利用している。そして、上述の処理によれば、理想輪郭線とエッジ画素との関係から素線切れなどに起因する電線の形状異常を検出することができ、作業者の労力を大幅に軽減することができる。
一方、色異常検出処理(図13のS309)では、第1および第2理想輪郭線に挟まれる各電線横断方向の画素列の色情報値から当該電線横断方向における代表値を求め、色情報の閾値から外れる代表値が電線長手方向に予め定めた数だけ連続した場合に、素線切れやアーク痕もしくは傷などにより電線の色に異常が生じている可能性があると判断するようにしている。
例えば本実施形態では、第1および第2理想輪郭線に挟まれる各垂直方向の画素列の輝度値の平均値を当該垂直方向における代表値とする。但し、この例に限定されず、第1および第2理想輪郭線に挟まれる各垂直方向の画素列の輝度値の最頻値を当該垂直方向における代表値としても良い。
また、本実施形態では、上記の代表値と比較する色情報の閾値を、各対象画像ごとに算出するようにしている。例えば数式3に示すように、ある対象画像について求めた代表値の標準偏差にαを乗じた値を、当該対象画像について求めた代表値の平均値に加算し、その値を当該対象画像における上限の閾値とし、代表値の標準偏差にαを乗じた値を代表値の平均値から減算した値を下限の閾値とする。ここで、αは任意の係数である。αを0.5から1.5まで変化させたところ、特にα=0.9のとき正確な電線異常の検出が行なえた。そこで、本実施形態ではα=0.9に設定している。
<数3>
閾値=代表値の平均値±α×代表値の標準偏差
そして、上限の閾値以上となる代表値が水平方向に20画素以上連続した場合、または下限の閾値以下となる代表値が水平方向に20画素以上連続した場合に、素線切れやアーク痕などの電線異常の可能性があると判断するようにしている。これは、電線にアーク痕や傷などがある場合、当該異常箇所は電線の正常箇所よりも黒っぽくなる若しくは白っぽくなることを利用している。そして、上述の処理によれば、理想輪郭線に囲まれた領域の色情報値の傾向からアーク痕や傷などに起因する電線の色の異常を自動で正確に検出することができ、作業者の労力を大幅に軽減することができる。また、理想輪郭線に囲まれた領域の色情報値を用いることで、電線ではない背景などの色情報値が含まれてしまうことを防ぎ、色異常検出を正確に行うことができる。
ここで、上記の色異常検出処理において、第1エッジ画素および第2エッジ画素に挟まれる各電線横断方向の画素列の輝度値の平均値を、当該電線横断方向における代表値とすることも考えられる。但し、この場合、電線の一部が外に跳ねている素線切れがある場合は、電線でない部分の輝度値、例えば背景の輝度値も平均値の計算に含まれてしまい、正確な色異常検出が行なえない。本実施形態のように、第1および第2理想輪郭線に挟まれる領域で輝度値の平均を求めて代表値とすることにより、電線でない部分の輝度値が平均値の計算に含まれることを防ぎ、正確な色異常検出を行なうことができる利点が得られる。
ここで、本実施形態の対象画像は空撮映像より得られるものであり、電線の異常箇所は数フレームに渡って現れる。そこで、本実施形態では、電線に異常が生じている可能性があると判断された対象画像が予め定めた数、例えば2フレーム以上連続した場合に、電線に異常が生じていると判断するようにしている。これにより、より信頼性の高い電線異常検出を行なえる。ただし、ヘリコプターの飛行速度が遅い場合等には、さらに多くの連続フレームに異常箇所が現れるので、より多くのフレーム数以上連続した場合に、電線に異常が生じていると判断するようにしても良い。
以上に説明した電線異常検出方法は、例えば周知のコンピュータを用いて、電線異常検出装置として装置化できる。この電線異常検出装置10は、例えば図10に示すように、電線が撮影された映像が入力される入力インターフェース11と、原画像や対象画像等のデータが記録される外部記憶装置12としてのハードディスクと、一時的な作業データ等が記録される主記憶装置13としてのRAMと、異常が検出された画像等が出力される出力装置14と、中央処理演算装置(CPU)15等を備えている。上記のハードウェア資源は例えばバス16を通じて電気的に接続されている。入力インターフェース11は、例えばビデオカメラから入力される又は映像が記録されたDVD等の媒体から読み込まれる信号をコンピュータでの処理が可能なデータに変換する機能や、映像を構成する各フレームをそれぞれ画像データとして外部記憶装置12に記録する機能を有する。このような入力インターフェース11として、例えば既存のNTSC−RGBコンバータやフレームグラバまたはパーソナルコンピュータ用画像取り込みボード等を利用して良い。出力装置14は、例えばディスプレイであり、異常が検出された画像やユーザインターフェース画面などが表示される。また、外部記憶装置12には本発明の電線点検用画像の作成方法が組み込まれている電線異常検出プログラムが記録されており、当該プログラムがCPU15に読み込まれ実行されることによって、コンピュータが電線異常検出装置10として機能する。
本実施形態の電線異常検出プログラムによって、電線異常検出装置10が実行する処理の一例を、図11〜図22のフローチャートに沿って説明する。先ず前処理を行なう(図11のS1)。図22に、この前処理を詳細化したフローチャートを示す。ビデオカメラまたは映像が記録された媒体から、入力インターフェース11を介して、外部記憶装置12に画像データを読み込む(S101)。そして、外部記憶装置12に記録した画像データを、例えば8ビットのグレースケール画像に変換する(S102)。これにより得た原画像に対し、ガウシアンフィルタをかけ、原画像からノイズ成分を除去する(S103)。これは、インパルスノイズのような突発的なノイズが画像に現れるとエッジ検出処理での差分計算の際に大きなピークを発生し、エッジの誤検出を引き起こしてしまうので、このような事態を避けるためである。以上で前処理を終了する。
前処理の終了後、対象画像の切り出し処理を行なう(図11のS2)。図12に対象画像の切り出し処理を詳細化したフローチャートを示す。この処理では、先ず、フレームカウンタnに1をセットする(S201)。そして、テンプレートの登録処理を行なう(S202)。例えば図25に示す画面を表示する。この画面では、作業者が「撮影」ボタン21をマウス等のポインティングデバイスでクリックすると、nフレーム目すなわち1フレーム目の原画像をウィンドウ22内に表示する。尚、符号4は電線の画像を示している。さらに作業者がポインティングデバイスで電線画像4上の点をクリックすると、クリックされた点を中心として予め定めた大きさの領域23を表示する。そして、作業者が「追跡点確定」ボタン24をポインティングデバイスでクリックすると、領域23をテンプレートとして登録する。そして、領域23の中心から水平方向に予め定めた範囲離れた位置、例えば左右に30画素離れた位置で、テンプレートと類似した領域を垂直方向に自動探索し、その探索結果28を図26に示すように画面に表示する。3つの領域28,23,28は最初の探索結果とし、各々の垂直方向座標位置を記録する。そして、作業者が「追跡開始」ボタン25をポインティングデバイスでクリックすると、以下の電線位置の追跡処理を行なう。尚、既にテンプレートが登録されている場合には、上記のテンプレートの登録処理(S202)はスキップしても良い。
nフレーム目の原画像が存在する場合は(S203;Yes)、当該原画像を読み込む(S204)。ここで、1フレーム目の原画像については上記のテンプレートの登録の際に電線探索が行なわれているため、テンプレートの登録処理(S202)の中でフレームカウンタnに1を加算しておいても良い。読み込んだ原画像に対して3つの探索領域を配置する(S205)。各探索領域は、該当する水平位置における前回の探索結果の垂直方向座標位置が中央に位置するように配置される。そして、各探索領域内でテンプレートと最も類似する領域を探索するテンプレート照合処理を行なう(S206)。図27は、電線追跡を行なっている画面例を示す。符号3は探索領域を示し、符号29は探索結果を示している。ここで、ウィンドウ27内には例えば中央の探索結果とテンプレートとの相違度を各フレームで計算した結果の経時変化を示すグラフ31を表示するようにしている。ウィンドウ27内の直線30は相違度の最小値を表す基準線であり、グラフ31が基準線30から上側に離れるほど相違度が高い、即ち類似度が低いことを示している。
各探索結果の垂直方向座標位置を求め(S207)、記録されている過去の探索結果の垂直方向座標位置を用いて、例えば数式2に基づき、各探索結果の変位の位相が揃っているかを判断する(S208)。各探索結果の変位の位相が揃っており(S208;Yes)、且つ各探索結果の類似度が定めた基準を満足する場合(S209;Yes)、原画像から各探索結果を少なくとも含む画像を切り出し、n番目の対象画像として外部記憶装置12に記録する(S210)。そして、次回の探索領域の配置のため及び各探索結果の変位の位相が揃っているかの判断のために、各探索結果の垂直方向座標位置を記録する(S211)。そして、フレームカウンタnに1を加算し(S212)、次フレームであるnフレーム目の原画像について、S203以下の処理を繰り返す。
一方、各探索結果の変位の位相が揃っていないか(S208;No)、または各探索結果の類似度が定めた基準を満足しない場合(S209;No)、作業者はテンプレートを追加できる(S213)。例えば図28に示す画面は、電線の背景が変化し照明条件が変化したために電線の見た目が変わり、探索結果の類似度が定めた基準を満足しなくなった例を示している。グラフ31aは基準線30から大きく離れ、相違度が高いことを示している。例えば当該画面を一定時間表示して、新たなテンプレートが必要であることを作業者に示唆するようにする。作業者は、画面に表示された「基準データの追加」ボタン26をポインティングデバイスでクリックし、ウィンドウ22内の電線画像4上の点をクリックすることで、新たなテンプレートを追加できる。テンプレートが追加されると(S213;Yes)、当該追加されたテンプレートを利用したテンプレート照合処理を行なう(S206)。図28中のグラフ31bはテンプレートの追加により相違度が小さくなった様子を示している。
作業者によりテンプレートが追加されない場合は(S213;No)、当該原画像をログに記録する(S214)。ログは例えば外部記憶装置12に設けられた記録領域である。そして、フレームカウンタnに1を加算し(S212)、次フレームであるnフレーム目の原画像について、S203以下の処理を繰り返す。
すべての原画像について以上の処理を行なうと(S203;No)、対象画象の切り出し処理を終了し、電線異常検出処理を行なう(図11のS3)。図13に電線異常検出処理を詳細化したフローチャートを示す。この処理では、画像カウンタkに1をセットし(S301)、形状異常カウンタzに0をセットし(S302)、色異常カウンタqに0をセットする(S303)。そして、k番目の対象画像が存在する場合は(S304;Yes)、当該対象画像を読み込み(S305)、読み込んだ対象画像について、エッジ検出処理(S306)、理想輪郭線推定処理(S307)、形状異常検出処理(S308)、色異常検出処理(S309)を行なう。これらの処理の終了後、画像カウンタkに1を加算し、次フレームにあたるk番目の対象画像について、S304以下の処理を繰り返す。すべての対象画像について以上の処理を行なうと(S304;No)、電線異常検出処理を終了する。
図14にエッジ検出処理を詳細化したフローチャートを示す。この処理では、電線長手方向である水平方向の画素番号iに1をセットする(S306−1)。そして、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えていないか判断する(S306−2)。水平画素番号iがi_max以下であれば(S306−2;Yes)、電線横断方向である垂直方向の画素番号jに1をセットする(S306−3)。そして、垂直画素番号jの値が、対象画像の垂直方向画素数j_maxから1を減算した値を超えていないか判断する(S306−4)。垂直画素番号jがj_max−1以下であれば(S306−4;Yes)、座標(i,j)にある画素の輝度値と座標(i,j+1)にある画素の輝度値との差を求め、差分値(j)として記録する(S306−5)。そして、垂直画素番号jに1を加算し(S306−6)、S306−4以下の処理を繰り返す。垂直画素番号jの値が、j_max−1を超えると(S306−4;No)、水平画素番号iにおける垂直方向画素列の隣接する2画素間の輝度値の差分値はすべて求められたこととなり、次にエッジ画素の検索処理を行なう(S306−7)。
図15にエッジ画素の検索処理を詳細化したフローチャートを示す。当該処理では、記録された差分値の中から絶対値が最大となる差分値(j’)を求め、差分値(j’)に対応する垂直画素番号j’を求める(S306−7−1)。そして、j’にΔjとして例えば20を加えた値をJとする(S306−7−2)。そして、垂直画素番号Jに対応する差分値(J)がピークを構成するか否か判断する。具体的には、差分値(J)>0であり且つ差分値(J)>差分値(J−1)であり且つ差分値(J)>差分値(J+1)であるか(S306−7−3)、若しくは、差分値(J)<0であり且つ差分値(J)<差分値(J−1)であり且つ差分値(J)<差分値(J+1)であるか(S306−7−4)、を判断する。差分値(J)がピークを構成する場合には(S306−7−3;YesまたはS306−7−4;Yes)、座標(i,J)にある画素を第1エッジ画素として記録する(S306−7−6)。差分値(J)がピークを構成しない場合には(S306−7−3;NoかつS306−7−4;No)、垂直画素番号Jから1を減じ(S306−7−5)、Jを中心となる垂直画素番号j’に1画素近づけて、当該垂直画素番号Jに対応する差分値(J)がピークを構成するか否か再び検討する。同様に、j’からΔjとして20を減じた値をJ’とし(S306−7−7)、垂直画素番号J’に対応する差分値(J’)がピークを構成するか否か判断し(S306−7−8,S306−7−9)、ピークを構成する場合は座標(i,J’)にある画素を第2エッジ画素として記録し(S306−7−11)、ピークを構成しない場合は垂直画素番号J’に1を加算し(S306−7−10)、J’を中心となる垂直画素番号j’に1画素近づけて、差分値(J’)がピークを構成するか否か再び判断する。以上により、差分値が最大となる点j’から定めた範囲±Δjにあり且つ当該最大点j’から最も離れたピークを構成する画素、即ちエッジ画素が求められる。
水平画素番号iについて第1エッジ画素および第2エッジ画素が求められると、図14の処理に戻り、水平画素番号iに1を加算し(S306−8)、当該水平画素番号iについてS306−2以下の処理を繰り返す。以上により、対象画像を構成する各垂直画素列ごとに、換言すれば各水平画素番号ごとに、第1エッジ画素および第2エッジ画素が求められる。水平画素番号iの値が対象画像の水平方向画素数i_maxを超えると(S306−2;No)、当該対象画像におけるエッジ検出処理を終了する。
エッジ検出処理を終了すると、理想輪郭線推定処理(S307)を行なう。図16に理想輪郭線推定処理を詳細化したフローチャートを示す。この処理では、先ず除去候補画素の検索処理を行なう(S307−1)。更にこの処理では、図17に詳細を示すように、電線長手方向である水平方向の画素番号iに1をセットする(S307−1−1)。そして、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えていないか判断する(S307−1−2)。水平画素番号iがi_max以下であれば(S307−1−2;Yes)、 水平画素番号i−Δi〜i+Δiにおいて存在する第1エッジ画素について、電線横断方向である垂直方向の座標位置の平均値を求め、Ave1とする(S307−1−3)。尚、Δiは例えば15とする。そして、 水平画素番号iの第1エッジ画素の垂直方向の座標位置と上記平均値Ave1との差の絶対値が、予め定めた閾値以上となるエッジ画素を除去候補画素として記録する(S307−1−4)。同様に、水平画素番号i−Δi〜i+Δiにおいて存在する第2エッジ画素について、垂直方向の座標位置の平均値を求めてAve2とし(S307−1−5)、水平画素番号iの第2エッジ画素の垂直方向の座標位置と上記平均値Ave2との差の絶対値が、予め定めた閾値以上となるエッジ画素を除去候補画素として記録する(S307−1−6)。さらに、水平画素番号iにおける第1エッジ画素と第2エッジ画素の垂直方向の位置の差を求め、ΔDとする(S307−1−7)。ΔDが予め定めた上限値以上または下限値以下となる場合、当該水平画素番号iにおける第1エッジ画素と第2エッジ画素を除去候補画素として記録する(S307−1−8)。そして、水平画素番号iに1を加算し(S307−1−9)、当該水平画素番号iについてS307−1−2以下の処理を繰り返す。以上により、垂直方向の座標位置が±15画素の範囲にある周囲のエッジ画素の平均から大きく外れるエッジ画素や、対となる第1エッジ画素と第2エッジ画素の間隔が極端に狭い又は広いエッジ画素が、除去候補画素として記録される。水平画素番号iの値が対象画像の水平方向画素数i_maxを超えると(S307−1−2;No)、当該対象画像における除去候補画素の検索処理を終了する。
除去候補画素が求められると、図16の処理に戻り、第1エッジ画素群から、除去候補画素すなわちエッジの直線性を損ねる低信頼性画素を除いた残りの画素を用いて、最小自乗法により、第1輪郭線を作成する(S307−2)。同様に、第2エッジ画素群から除去候補画素を除いた残りの画素を用いて、最小自乗法により第2輪郭線を作成する(S307−3)。これにより、当該対象画像における理想輪郭線推定処理を終了し、当該対象画像について形状異常検出処理(S308)および色異常検出処理(S309)を行なう。
図18および図19に形状異常検出処理を詳細化したフローチャートを示す。この処理では、カウンタw,w’に0をセットし(S308−1,S308−2)、電線長手方向である水平方向の画素番号iに1をセットする(S308−3)。そして、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えていないか判断する(S308−4)。水平画素番号iがi_max以下であれば(S308−4;Yes)、水平画素番号iにおける第1エッジ画素と水平画素番号iにおける第1輪郭線上の点との電線横断方向である垂直方向の座標位置の差を求め、ΔH1とする(S308−5)。同様に、水平画素番号iにおける第2エッジ画素と水平画素番号iにおける第2輪郭線上の点との垂直方向の座標位置の差を求め、ΔH2とする(S308−6)。そして、ΔH1の絶対値およびΔH2の絶対値が、予め定めた値H_max以上であるか判断する(S308−7,S308−9)。H_maxは例えば10とする。ΔH1がH_max以上である場合はカウンタwに1を加算し(S308−8)、ΔH2がH_max以上である場合はカウンタw’に1を加算する(S308−10)。そして、カウンタwまたはカウンタw’の値が予め定めた値w_max以上であるか判断する(S308−11)。w_maxは例えば20とする。カウンタw,w’の双方がw_maxに満たなければ(S308−11;No)、水平画素番号iに1を加算し(S308−13)、当該水平画素番号iについてS308−4以下の処理を繰り返す。一方、ΔH1とΔH2の双方がH_maxに満たない場合は、カウンタw,w’に0をセットし(S308−12)、水平画素番号iに1を加算し(S308−13)、当該水平画素番号iについてS308−4以下の処理を繰り返す。
カウンタw,w’の少なくとも一方がw_max以上となる場合は(S308−11;Yes)、理想輪郭線から10画素以上離れたエッジ画素が20画素連続して現れたこととなるので、当該対象画像を形状異常候補画像として記録する(S308−14)。そして、形状異常カウンタzに1を加算し(S308−15)、当該カウンタzが予め定めた値z_max以上であるか判断する(S308−16)。z_maxは例えば2とする。形状異常カウンタzがz_maxに満たなければ(S308−16;No)、当該対象画像についての形状異常検出処理を終了する。一方、形状異常カウンタzがz_max以上である場合(S308−16;Yes)、z_maxを2とした場合には形状異常候補画像が2フレーム以上連続したこととなるので、これらの形状異常候補画像をログに記録する(S308−17)。そして、形状異常カウンタzを0にリセットし(S308−18)、当該対象画像についての形状異常検出処理を終了する。他方、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えるまで処理された場合は(S308−4;No)、理想輪郭線から10画素以上離れたエッジ画素が20画素連続して現れることの無かった場合であり、形状異常カウンタzを0にリセットし(S308−18)、当該対象画像についての形状異常検出処理を終了する。
図4は素線切れを起こしている電線が撮影された画像を示す。図4の画像に対し、上記のエッジ検出処理を行なった結果を図2に示す。また、図2に示すエッジ画素の中から上記の理想輪郭線推定処理によって低信頼性画素を特定し、当該低信頼性画素を除いた残りのエッジ画素に基づいて理想輪郭線を求めた結果を図3に示す。そして、図2のエッジ画素と図3の理想輪郭線とを重ねて表示した結果を図1に示す。尚、図中の符号40は第1エッジ画素を示し、符号41は第2エッジ画素を示し、符号42は第1理想輪郭線を示し、符号43は第2理想輪郭線を示す。図1には、理想輪郭線から10画素以上離れたエッジ画素が20画素以上連続して現れる様子が示されており、上記の形状異常検出処理によって素線切れを起こしている電線を正確に検出できることが確認できる。
次に、図20および図21に色異常検出処理を詳細化したフローチャートを示す。この処理では、カウンタu,u’に0をセットし(S309−1,S309−2)、電線長手方向である水平方向の画素番号iに1をセットする(S309−3)。そして、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えていないか判断する(S309−4)。水平画素番号iがi_max以下であれば(S309−4;Yes)、水平画素番号iにおいて第1輪郭線と第2輪郭線との間に位置する画素の輝度値の平均値を求め、当該平均値を代表値Val(i)とする(S309−5)。そして、水平画素番号iに1を加算し(S309−6)、当該水平画素番号iについてS309−4以下の処理を繰り返す。これにより、各水平画素番号iについて代表値Val(i)が求められる。水平画素番号iがi_maxを超えると(S309−4;No)、求めた代表値Val(1)〜Val(i_max)を用いて数式3により上限の閾値Val’と下限の閾値Val”を求める(S309−7)。
そして、再び水平画素番号iに1をセットし(S309−8)、水平画素番号iがi_max以下であるか判断する(S309−9)。水平画素番号iがi_max以下であれば、当該画素番号iに対応する代表値Val(i)が上限値Val’以上であるか又は下限値Val’以下であるか判断する(S309−10,S309−12)。代表値Val(i)が上限値Val’以上である場合はカウンタuに1を加算し(S309−11)、代表値Val(i)が下限値Val”以下である場合はカウンタu’に1を加算する(S309−13)。そして、カウンタuまたはカウンタu’の値が予め定めた値u_max以上であるか判断する(S309−14)。u_maxは例えば20とする。カウンタu,u’の双方がu_maxに満たなければ(S309−14;No)、水平画素番号iに1を加算し(S309−16)、当該水平画素番号iについてS309−9以下の処理を繰り返す。一方、代表値Val(i)が上限値Val’以上でなく且つ下限値Val”以下でない場合は、カウンタu,u’に0をセットし(S309−15)、水平画素番号iに1を加算し(S309−16)、当該水平画素番号iについてS309−9以下の処理を繰り返す。
カウンタu,u’の少なくとも一方がu_max以上となる場合は(S309−14;Yes)、上限値Val’以上または下限値Val”以下となる代表値Val(i)が20画素連続して現れたこととなるので、当該対象画像を色異常候補画像として記録する(S309−17)。そして、色異常カウンタqに1を加算し(S309−18)、当該カウンタqが予め定めた値q_max以上であるか判断する(S309−19)。q_maxは例えば2とする。色異常カウンタqがq_maxに満たなければ(S309−19;No)、当該対象画像についての色異常検出処理を終了する。一方、色異常カウンタqがq_max以上である場合(S309−19;Yes)、q_maxを2とした場合には色異常候補画像が2フレーム以上連続したこととなるので、これらの色異常候補画像をログに記録する(S309−20)。そして、色異常カウンタqを0にリセットし(S309−21)、当該対象画像についての色異常検出処理を終了する。他方、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えるまで処理された場合は(S309−9;No)、上限値Val’以上または下限値Val”以下となる代表値Val(i)が20画素連続して現れることの無かった場合であり、色異常カウンタqを0にリセットし(S309−21)、当該対象画像についての色異常検出処理を終了する。
図6はアーク痕がある電線が撮影された画像を示す。図6の画像に対し、上記の色異常検出処理を行なった結果を図5に示す。尚、図中の符号44は各水平画素番号における代表値を示し、符号55は下限の閾値を示す。図5には、下限の閾値以下となる代表値が20画素以上連続して現れる様子が示されており、上記の色異常検出処理によってアーク痕がある電線を正確に検出できることが確認できる。
電線異常検出処理を終了すると、ログに記録された異常画像の出力処理を行なう(図11のS4)。当該処理では、対象画像が切り出せなかった原画像や、電線の形状や色に異常があると判断された対象画像が、出力装置14に表示される。作業者は出力装置14に表示された画像を見て、問題の有無を目視により判定できる。例えば本実施形態の色異常検出処理では、電線にしみ等がある場合にも異常ありと判断する可能性があるが、単なるしみであるかアーク痕であるかの判断は、最終的に作業者が行なうようにしている。尚、作業者が見易いように、静止画像をアルバム状に整理して表示するようにしても良い。また、ログに記録された画像のフレーム番号等に基いて、実際のビデオ映像を出力装置14に表示するようにしても良い。
本発明の電線点検用画像の作成方法によれば、限定された探索領域内でテンプレート照合を行い、かつ3箇所以上の探索結果が一定の規則性を満たすか判断することで、高速且つ効率的に電線の探索を行うことができるので、原画像から電線部分の領域を切り出す処理である電線点検用画像の作成を高速且つ効率的に行うことが可能になる。そして、本発明の電線点検用画像の作成方法が組み込まれた画像処理による電線異常検出方法および装置およびプログラムによれば、作業者は電線の空撮映像を最初からすべて目視点検する必要は無く、電線異常検出装置10が提示する一部の画像や映像について確認すれば良く、作業者の労力が大幅に軽減される。さらに、ビデオカメラを電線異常検出装置10に接続して、ビデオカメラより得られる映像をリアルタイムで処理することで、ヘリコプターで巡視している現場で電線の異常箇所の検出まで行うことも可能となり、作業に関わる人的資源や設備資源を縮小し全体のコストを大幅に低減することが可能になる。
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上述の実施形態ではグレースケール画像を原画像として各処理を行なったが、カラー画像を原画像として各処理を行なっても良い。例えば原画像がグレースケール画像である場合、対象画像の切り出し処理において、山の稜線などを変位の位相が揃っている探索結果として判断してしまう場合があるが、原画像をカラー画像とし、輝度値に加えて色相値も用いたテンプレート照合を行なうことで、そのような失敗を回避できる。
また、エッジ検出処理は必ずしも上述の実施形態の例には限定されず、従来のエッジ検出方法を採用しても良い。また、更なる処理の高速化を図るために、図11から図22に示した処理の一部又は全部をハードウェア化しても良い。特にエッジ検出処理の部分は、汎用的な手法であるため、市販の画像処理ボードとの親和性も良く、ハードウェア化が容易である。ハードウェア化によって、ビデオレートでの処理も期待できる。
また、閾値などの各パラメータ、例えばエッジ検出処理においてピークを探す範囲Δj、形状異常を判断するエッジ画素と理想輪郭線との距離の基準H_max、色異常を判断する閾値の係数α、連続する異常候補画素の基準w_max,u_max、連続する異常候補画像の基準z,qなどは、撮影条件などに合わせて適宜調節してよい。
また、対象画像の切り出し処理において、原画像に何ら電線に類似する物が無い場合、画面の最上部もしくは最下部に探索結果が張り付き、探索結果の変位の位相が揃っていると判断してしまう場合がある。このため、探索結果が画面の上端または下端に張り付いた場合には、探索失敗と判断するという条件分岐を入れるようにしても良い。この場合、例えばそれぞれの探索結果の変位の一定期間での標準偏差を計算し、当該標準偏差が一定値を下回る場合に張り付きが起こっていると判定しても良い。
また、上述の実施形態では、対象画像の切り出し処理において電線探索が失敗した場合にテンプレートを追加できるようにしたが、電線探索が失敗した場合に探索領域の大きさを拡大して再度探索を行うようにしても良い。また、上述の実施形態では、対象画像の切り出し処理における探索領域を3箇所としたが、計算機の性能と処理時間の制限に余裕がある場合などには、探索領域の数を更に増やしても良い。例えば5箇所以上での電線探索を行うようにし、これらの探索結果の中から直線性を満足する3箇所以上の探索結果を選択するようにしても良い。
また、上述の実施形態では、原画像から切り出した対象画像に対して電線異常検出処理を行なったが、場合によっては原画像をそのまま対象画像として、電線異常検出処理を行なっても良い。また、上述の切り出し処理で得られた対象画像を、形状異常検出処理や色異常検出処理以外の電線点検用の画像処理に用いても良い。