以下、本発明の構成を図面に示す実施形態に基づいて詳細に説明する。
本発明の電線異常検出方法は、電線が撮影された原画像から電線が撮影されている部分を切り出して対象画像として検出し、さらに対象画像から電線の2本の理想輪郭線を求め、電線の垂直方向の各画素列の色情報値から各水平方向の画素位置での代表値を求め、代表値の平均値を基準とする上限閾値及び下限閾値を予め設定し、代表値が上限閾値または下限閾値を超える水平方向の画素位置を異常箇所として検出する電線異常検出処理を行う画像処理による電線異常検出方法において、代表値が下限閾値以下である場合でも、更に下限閾値よりも低い値に予め設定された第二の下限閾値以下である水平方向の画素位置については電線に何らかの器具が取り付けられているものと判断し、異常箇所として検出しないようにしている。
先ず、本発明の電線異常検出装置について説明する。この電線異常検出装置1は、例えば図1に示すように、電線が撮影された映像が入力される入力インターフェース2と、撮影画像等が出力される出力装置3と、マウス、キーボード等の入力装置4と、原画像や対象画像等のデータが記録される補助記憶装置5としてのハードディスクと、一時的な作業データ等が記録される主記憶装置6としてのRAMと、中央処理演算装置(CPU)7等を備えている。上記のハードウェア資源は例えばバス8を通じて電気的に接続されている。
入力インターフェース2は、ビデオカメラ等の撮像手段9から入力される又は映像が記録されたDVD、ビデオテープ等の媒体から読み込まれる信号をコンピュータでの処理が可能なデータに変換する機能や、映像を構成する各フレームをそれぞれ画像データとして補助記憶装置5に記録する機能を有する。このような入力インターフェース2として、例えば既存のNTSC−RGBコンバータやフレームグラバまたはパーソナルコンピュータ用画像取り込みボード等を利用して良い。出力装置3は、例えばディスプレイであり、異常が検出された画像やユーザインターフェース画面などが表示される。また、補助記憶装置5には本発明の電線異常検出プログラムが記録されており、当該プログラムがCPU7に読み込まれ実行されることによって、コンピュータが電線異常検出装置1として機能する。
また、電線異常検出装置1は、撮像手段9から撮影画像を取り込み、原画像として記録する原画像取得部10と、電線(以下、地線ともいう)が撮影されている部分を対象画像として検出する電線検出処理を行う電線検出部11と、当該電線検出部11により切り出された対象画像に対して電線のエッジ(以下、輪郭線ともいう)を検出し、電線の形状及び色の異常を検出する電線異常検出部12とを備えるものである。上記原画像取得部10、電線検出部11及び電線異常検出部12は、CPU7で実行されるソフトウェアをコンピュータで実行させることで構成でき、その実行の際に必要なデータは、RAM6にロードされる。尚、電線異常検出装置1の構成は一例であってこれに限られるものではない。
本発明の電線異常検出方法について説明する。この電線異常検出方法は、図28に示すように、電線が撮影された画像を撮像手段9から取得し、原画像とする原画像取得処理(S100)と、原画像から電線部分の領域を切り出す電線検出処理(S200)と、切り出した対象画像に対して電線の異常を検出する電線異常検出処理(S300)と、対象画像が上手く切り出せなかった画像や異常検出画像を出力する異常画像の出力処理(S400)からなる。
先ず、原画像取得処理(S100)について説明する。原画像取得処理(S100)は、ビデオカメラまたは映像が記録された媒体等から、電線が撮影された撮影画像データを読み込み、ハードディスク等の補助記憶装置5に画像データを記録する処理を行うものである。尚、撮影画像データは電線異常検出装置1とは、別途設けられた外部の記憶装置に記録し、LAN、インターネット網等を通じて取得するようにしても良い。
点検対象である電線が撮影された画像として、本実施形態では、ヘリコプターに搭載したビデオカメラで撮影した電線の空撮映像を利用している。本実施形態では、ビデオカメラは毎秒30フレームの画像を生成するものとしているが、フレームレートはこれに限られるものではない。ビデオカメラより得られた各フレーム画像は、原画像取得処理(S100)において、コンピュータでの処理が可能なRGBのカラーモデルに変換され、さらに処理の簡素化および高速化等のために8ビットのグレースケール画像に変換される。上記のように変換された各フレーム画像を本実施形態における原画像とする。本実施形態では、原画像を構成する各画素は、色情報値として、例えば0(黒)〜255(白)までの256階調の明るさの値(輝度値)を有する。しかしながら、色情報値は、輝度値に限られるものではなく、例えば色相値を用いても良い。原画像の解像度は、例えば水平方向画素数を720画素とし、垂直方向画素数を480画素としている。但し、原画像はグレースケール画像に限定されずカラー画像であっても良く、また解像度も上記の例に限定されるものではない。
以下、本実施形態では、画面水平方向の画素を水平画素番号(例えば、x=1...720)、画面垂直方向の画素を垂直画素番号(例えば、y=1...480)という。尚、電線は、必ずしも画面の水平方向に撮影されている必要はなく、画面の垂直方向にわたって撮影されていても良い。この場合でも、電線の長手方向を水平画素番号、電線の短手方向を垂直画素番号として処理を実行すればよい。尚、本実施形態では、電線の長手方向は画面水平方向であり、電線の短手方向は、画面垂直方向であるものとする。また、原画像には、必ずしも電線が画像の左端から右端、または、上端から下端まで撮影されている必要はなく、画像の端のみに電線が撮影されている画像を含んでいてもよい。また、電線の以外の部分、例えば、鉄塔部分の画像を含んでいても良い。
本実施形態では、原画像取得処理(S100)により、補助記憶装置5等に記録された電線が撮影された原画像データを、以降の電線検出処理(S200)、電線異常検出処理(S300)により処理することにより、電線異常検出をおこなうものである。尚、本実施形態では、原画像データの読み込みを行いながら、原画像の1フレームのデータごとに、電線検出処理(S200)と電線異常検出処理(S300)を行うことより電線の異常検出を行うものである。
本発明の電線異常検出プログラムが実行する原画像取得処理(S100)の一例を図29のフローチャートに沿って説明する。先ず、ビデオカメラまたは映像が記録された媒体から、入力インターフェース2を介して、電線が撮影された画像データを読み込む(S101)。そして、補助記憶装置5に記録された画像データを、例えば8ビットのグレースケール画像に変換する(S102)。これにより得た原画像に対し、ガウシアンフィルタをかけ、原画像からノイズ成分を除去する(S103)。これは、インパルスノイズのような突発的なノイズが画像に現れるとエッジ検出処理での差分計算の際に大きなピークを発生し、エッジの誤検出を引き起こしてしまうので、このような事態を避けるためである。以上で原画像取得処理は、終了する。
次に、電線検出処理(S200)を行う。これは原画像から電線が撮影された部分を対象画像として切り出す処理を行うものである。これにより、電線異常検出処理(S300)を行う際のデータ処理量を大幅に減らすことができるものである。即ち、細長い電線が撮影された部分は原画像の中のごく一部であるため、原画像全体に対して電線異常検出処理(S300)を行なっても、エッジ検出精度に寄与しないばかりか多大な処理時間を要する。このため、まず原画像の中から電線が撮影された部分を切り出す処理を行ない、当該切り出された領域を対象画像として記憶し、当該対象画像に対して電線異常検出処理(S300)を行なうことで、処理時間を大幅に短縮するものである。
本発明の電線異常検出プログラムが実行する電線検出処理(S200)の一例を図30のフローチャートに示す。本実施形態の電線検出処理(S200)では、水平方向範囲および垂直方向範囲が予め定められた探索領域を原画像の水平画素方向に少なくとも3箇所分布させるとともに、探索対象である電線の画像をテンプレートとして予め与え(S202)、テンプレートと最も類似する領域を各探索領域内で探索し(S206)、各探索領域についての探索結果が予め定めた規則性を満たすか否かを判断し、当該規則性を満たす探索結果を少なくとも含む画像を原画像から切り出して対象画像とするようにしている(S209)。
尚、本実施形態では、原画像をTVレート(30画像/秒)で取り込みを行っている。即ち、33ミリ秒毎に静止画の取り込みを行っている。通常は33ミリ秒の間では、撮影された電線の画像内での位置は大きく変化することはないとも考えられるが、撮影画像はヘリコプターにより電線を上空から撮影されるものであるので、突風などの影響により画像内での電線の撮影位置が大幅に移動し、画面の端にしか電線が撮影されていない画像も存在する。例えば、図2に画面の端にしか電線13が撮影されていない画像の一例を示す。このように、原画像には、電線を画像の中心に捉えていない画像も含まれる。
電線検出処理(S200)について詳細に説明する。この処理では、先ず、原画像のフレームカウンタnを1とする(S201)。次に、テンプレートの登録処理を行なう(S202)。
テンプレートの登録処理(S202)は、例えばフレーム画像上に表示された電線の上側位置と下側位置の画素を指定することで、その中間位置を矩形の探索子18aの画素位置として記録することにより行われる。尚、探索子18は、電線の位置を探索するためのウインドである。更に、探索子18aの中心から水平方向に予め定めた画素数分離れた位置、例えば左右に30画素離れた位置で、テンプレートと類似した領域を垂直方向に自動探索する。3つの探索子18a,18b,18cは最初の探索結果とし、各々の垂直方向座標位置を記録する。
図3〜図5に示すユーザインタフェース画面の一例を用いて説明する。テンプレートの登録処理では、図3に示すようにnフレーム目(通常は、1フレーム目)の原画像をウィンドウ14内に表示する。この画面では、検査員がウィンドウ14内に表示された電線の上側位置15を選択し、さらにラジオボタン「電線の上側位置」16をマウス等の入力装置4で選択する。更に、選択(ドラッグ)したまま電線の下側17まで移動(図4)して選択を解除(ドロップ)すると、画面左から順に、自動的に矩形の探索子18a,18b,18cが表示される(図5)。最後に設定完了ボタン19を押して、テンプレートの登録処理(S202)は終了となる。このように登録された探索子の座標位置がRAM6等の記憶装置に記憶される。尚、既にテンプレートが登録されている場合には、上記のテンプレートの登録処理(S202)はスキップしても良い。
次に、nフレーム目の原画像が存在する場合は(S203;Yes)、当該原画像を読み込み(S204)、直前のフレーム(n−1フレーム)での電線の検出位置の中点を探索位置の上下方向の中心として、3つの探索領域を配置する(S205)。尚、原画像を最終フレームまで読み込んだ場合(S203:No)は、電線検出処理(S200)は終了する。尚、1フレーム目の原画像については上記のテンプレートの登録の際に電線探索が行なわれているため、テンプレートの登録処理(S202)の中でフレームカウンタnに1を加算しておいても良い。
本実施形態における探索領域は、例えば図6に示すように縦長とし、その水平方向範囲の画素数Xはテンプレートの水平方向画素数と同じとし、垂直方向範囲の画素数Yはテンプレートの垂直方向画素数よりも大きく且つ原画像の垂直方向画素数以下としている。ここで、図6および図7中の符号20は原画像を示し、符号21はテンプレートを示し、符号22は探索領域を示している。但し、探索領域の大きさは上記例に限定されるものではない。また、本実施形態における探索領域は、例えば図7に示すように画面水平方向に予め定めた距離をおいて3箇所分布させるようにしている。但し、探索領域の数は3つ以上であっても良い。
更に、本実施形態では、図8に示すように、原画像から切り出した電線の対象画像から、電線の始点23、終点24を求め、次に、求めた始点23、終点24から中点25を求め、その中点25の画素位置を記録し、次のフレームを探索する探索領域の中心位置とすることとしている。具体的には、電線の切り出しを行う際(S209)に、探索領域の3点の位置を結ぶ直線を引き、その直線と画像の端との交点となる2点を求め、その中点25を計算することとしている。これにより、電線の位置が画像の中心から徐々にずれていってしまった場合であっても、探索領域も電線の位置の移動に伴って移動することになるので、電線の追尾が可能となる。このように処理する画像毎に電線の探索位置を動かすことで、電線の位置が画像の中心から徐々にずれていってしまった場合にも電線の追尾を可能としている。
次に、探索領域内でテンプレートと最も類似する領域を探索するテンプレート照合処理を行なう(S206)。以下に、テンプレート照合処理(S206)について説明する。探索領域内におけるテンプレートと同じ大きさの領域(以下、候補領域と呼ぶ。)と、テンプレートとの類似度の計算には、例えば二乗誤差による相違度を用いる。この場合、テンプレートの座標(x、y)の輝度値をv(x、y)とし、候補領域の座標(x、y)の輝度値をv’(x、y)とすると、相違度errは次式で求められる。
この相違度errが最も小さくなる候補領域を、探索領域内においてテンプレートと最も類似した領域、即ち、探索結果とする。但し、候補領域とテンプレートとの類似度の計算方法は上記例に限定されない。例えば類似度の計算に相互相関を用いたり、周波数領域での類似性を判定するなどの方法を用いることにより、照度変化の影響を軽減した、より安定したテンプレート照合を行うことができる。
更にテンプレート照合の精度を向上するため、テンプレート照合処理の開始時に、各水平画素番号毎に当該画素列において、最も連続する輝度値の差の大きな部分を求め、その画素位置の周辺に対してテンプレートマッチングを行うことが好ましい。これは、通常、原画像では電線部分に焦点が合っているため、電線と背景部分の境界付近が最も輝度の差が大きくなることが考えられるからである。このようにすることで、テンプレート照合処理の精度及び処理速度を向上することが可能となる。
次に、電線の移動位置推定(以下、電線の追尾ともいう)処理(S207)、電線の追尾成功・失敗処理を行い(S208)、原画像から各探索結果を少なくとも含む画像を切り出し、n番目の対象画像として補助記憶装置5に記録し、次回の探索領域の配置のため、探索結果の中点25の座標位置を記録する(S210)。そして、フレームカウンタnに1を加算し(S211)、次フレームであるnフレーム目の原画像について、S203以下の処理を繰り返す。
図31に電線の移動位置推定処理(S207)を詳細化したフローチャートの一例を示す。移動位置推定処理では、先ず各探索結果の画面水平方向における座標位置を求め(S207−1)、各座標位置の変位の位相がそろっていれば(S207−2;Yes)、移動位置推定処理は終了し、電線の追尾成功・失敗処理(S208)へと移る。これに対し、各座標位置の変位の位相がそろっていなければ(S207−2:No)、直前のフレームでの各探索結果の座標位置との差(移動ベクトル)を求める(S207−3)。
変位の位相の判定(S207−2)について、以下に詳細に述べる。本実施形態では、探索の成否判定規準となる「探索結果の規則性」として、各探索結果の変位の位相が揃っているか否か、を判断するようにしている。ここでの位相は「位相幾何」で用いられるものを指す。例えば線分で表現される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に基づく方法と比較して計算時間がかかる。
ここで、原画像のすべてのフレームについて、電線追尾成功・失敗判定処理(S208)以下の処理を実行しても良いが、原画像には電線が含まれず、背景のみを撮影した画像や、鉄塔部分を撮影した画像が含まれる。これは、例えば撮影開始直後、撮影終了間際や撮影中に電線がフレームアウトした場合、鉄塔部分等の画像である。
このような場合に、従来の技術では、例えば撮影者が撮影した映像のうち電線が撮影されている時間について、映像のタイムコードをメモしておき、画像の異常検出処理プログラムでタイムコードを指定することにより、処理の対象とするか否かを設定していた。しかしながら、撮影者にとって、このような作業は負荷となっていた。このため、本発明の電線異常検出方法では、電線が撮影されていない画像フレームを原画像からタイムコード等の設定をすることなく自動的に省くフレーム除去処理を行うものである。
したがって、これらの電線を含まない画像については、予め以下の処理の対象から外しておくことが好ましい。本実施形態では、電線を含まない画像については、以降の処理を行わないフレーム除去処理を行っている。これにより、処理量を減らして処理全体の高速化を図ることができ、また、誤検出も未然に防ぐことができる。
フレーム除去処理について、図9(a)〜(e)を用いて説明する。(a)は電線の追尾に成功している画像を示している。(b)は、電線の検出を見失った画像を示している。電線を見失うと各探索子18は、画像内で最も電線と考えられる画素位置に停止する。この際、3つの探索子18a,18b,18cが無秩序な位置にあるか否かで判断する。
本実施形態では、無秩序な位置を以下の2つの点から判断している。一つは、各探索子18が直前のフレームからの画素位置の差分により判断している。電線が撮影されており電線の追尾に成功している状態であれば、各探索子18が2フレーム間で移動する距離の差分は小さい。本実施形態では、各探索子の移動差分が予め設定した閾値以上である場合には、電線追尾に失敗、即ち電線が撮影されていないフレームであることを判断している。また、探索子18bと探索子18aとの距離(移動ベクトル)と、探索子18cと探索子18aとの距離(移動ベクトル)との差が一定以上である場合にも電線追尾に失敗、即ち電線が撮影されていないフレームであることを判断している。
尚、本実施形態では、上述の2つの判断基準のいずれかに該当することにより電線が撮影されていないフレームを電線異常検出処理の対象から除外することとしているが、判断方法はこれに限られるものではない。例えば、上述の2つの判断基準のうちいずれか一つを用いることとしても良い。また、例えば、探索子18aと探索子18bを結ぶ直線と探索子18aと探索子18cを結ぶ直線の交点が形成する角度を判断の基準としても良い。この場合、電線検出に成功している場合であれば、3つの探索子を結ぶ線は一直線上に並ぶ、または近似するので、探索子18aと18bを結ぶ直線と探索子18aと18cを結ぶ直線の交点が形成する角度θは小さい。しかしながら、例えば図9(c)及び(d)に示すように電線を見失って、無秩序な位置を電線位置として検出している場合は探索子18aと18bを結ぶ直線と探索子18aと18cを結ぶ直線の交点が形成する角度θは大きくなる。そこで、この角度θが一定以上である場合に、電線追尾に失敗、即ち電線が撮影されていないフレームであることを判断しても良い。
図9(e)に示すように再び電線の追尾に成功した場合は、成功したフレーム以降については、以降の電線追尾成功・失敗判定処理(S208)を実行するものである。尚、本実施形態では、除去されたフレーム画像についても異常検出画像とは別途、除去画像として補助記憶装置5に記録することとしてもよい。この場合、検査員が除去画像のチェックを行うことも有効である。
以上のフレーム除去処理(S207−4〜S207−7)を図31のフローチャートを用いて説明する。フレーム除去処理は、先ず、全ての探索子のうち直前のフレームと比較して、垂直方向に予め定めた一定画素以上動いたものがひとつでも存在するかどうかを判定し(S207−4)、存在していれば(S207−4:Yes)、電線はないものと判定し(S207−6)、当該フレームでは、以降の処理を行わず、フレームカウンタに1を加え、S203へ戻る(S207−7)。尚、本実施形態では、50画素以上位置が動いたものを電線が撮影されていない画像と判定することとしているが、これに限られるものではない。
大きく動いた探索子が存在しない場合(S207−4:No)は、次に、探索子の移動ベクトルの比較を行う(S207−5)。本実施形態では、例えば、数式3により判定する。
<数3>
|(探索子18bの移動ベクトル−探索子18aの移動ベクトル)−(探索子18cの移動ベクトル−探索子18aの移動ベクトル)|>10
数式3を満たせば(S207−5:Yes)、3つの探索子は離れた位置に存在することになるので、電線が撮影されていない画像と判定(S207−6)し、当該フレームでは、以降の処理を行わず、フレームカウンタに1を加えS203へ戻る(S207−7)。尚、上記判定基準及び判断の基準となる画素数は一例であり、これに限られるものではない。
次に、電線追尾成功・失敗判定処理(S208)について説明する。特許文献1の技術においては、各探索結果の変位の位相が揃っていない場合や、類似度が定めた基準を満たさない場合は、新たにテンプレートの追加処理を行っていたが、テンプレートの追加処理は、検査員が実際にマウス等のポインティングデバイスを用いてユーザインターフェース画面上の当該原画像中の電線部分を指定する必要があり、当該フレームで処理が一旦停止してしまっていた。これに対し、本発明では、テンプレートの更新処理を検査員の介在をなくして、テンプレートを一定のフレームごとに自動で更新することとしている。これにより、最初に電線の位置を指定すれば、それ以降テンプレートの再登録などの検査員の介在する処理を行わずに電線異常検出処理を行うことができるようにしている。
本実施形態においては、電線追尾に成功した場合に限り、一定のフレーム数ごとに新たに電線のテンプレートパターンを登録することとしている。例えば、100フレームごとに新たにテンプレートパターンを更新するようにしている。テンプレートパターンは、予め登録しておく初期登録テンプレートと一定のフレームごとに更新用テンプレートの2種類を用いることとしている。尚、テンプレートパターンの登録数は、主記憶装置の容量の制約はあるため2種類としているがこれに限られるものではなく、3種類以上用いるようにしても良い。
本実施形態における電線の追尾成功・失敗判定処理(S208)では、直前のフレームの画像と比較して、電線の傾きが予め設定した閾値以上であれば電線の追尾に失敗したものと判断している。尚、閾値は任意に設定すればよく、上述の例には限られない。尚、電線の傾きは、画像内の電線の始点・終点を求め、当該始点・終点の座標位置から、電線の傾きを計算している。
さらに、本実施形態では、傾きが閾値を超えて電線の追尾に失敗したものと判断した場合に、探索領域を拡げて再度、テンプレート照合処理(S206)へ戻り電線を探索することとしている。例えば、図10(a)〜(c)に徐々に探索領域を拡げていく図の一例を示す。尚、符号13aは現在のフレームでの電線、13bは直前のフレームでの電線位置を示す。例えば、初期の探索領域を、電線の直径の3倍とし、3倍の探索領域内での探索結果が直前のフレームの画像と比較して、電線の傾きがtanθが0.1以上であれば、探索領域を電線の直径の7倍に拡げて再度テンプレート照合処理(S206)へ戻り電線を探索することとしている。さらに、7倍の探索領域内でも探索結果が直前のフレームの画像と比較して、電線の傾きがtanθが0.1以上であれば、探索領域を電線の直径の15倍(通常の撮影画像の上下方向の全範囲)に拡げて再度テンプレート照合処理(S206)へ戻り電線を探索することとしている。即ち、3倍、7倍、15倍と3段階に探索領域を拡げて電線の探索を行っている。尚、探索領域をどの程度拡げるか、探索領域を何回拡げるかは任意に設定することができるものであり、上述の例に限られるものではない。また、電線の直径に対して閾値を設定するだけでなく、他の値を基準として閾値を設定するようにしても良い。例えば、画素数を閾値として10画素、20画素といったように画素に閾値を設定するようにしても良い。
尚、本実施形態において探索領域を複数回に分けて徐々に拡げる理由は、データ処理範囲を限定して、より迅速な処理を行うためである。例えば、はじめから15倍の閾値を設定した場合は、電線の位置があまり移動していない場合であっても、15倍の範囲のデータ処理を行うこととなるので、処理の無駄が多くなる。このため、徐々に探索領域を拡げていき、見つからなかった場合に限り、探索領域を拡げることとしている。これにより、無駄なデータ処理を除き迅速な処理を行うことを可能としている。尚、探索領域を拡げる回数は、最低1回あれば良く、必ずしも2回行う必要もない、また、3回以上行うようにしても良い。
しかしながら、画面の上下方向全体に探索領域を拡げた場合であっても、電線の探索ができない場合がある。電線自体が画像内に撮影されていない場合は当然そのようになるが、電線が撮影されている場合でも、電線の追尾に失敗する可能性があることがわかっている。これは太陽光や雲とヘリコプターの位置などの撮影環境によって生じる電線の明るさの変化が原因である。また、ビデオカメラによる撮影は、電線を上空からヘリコプターで撮影するものであるので、背景画像は当然に、地上の背景となる。この場合に、例えば、電線と色情報値が近傍する背景(例えば、家屋、工場等)を撮影した場合などに、電線の検出に失敗する場合がある。即ち、撮影画像上の電線の陰影等が原因で誤検出をしてしまう場合がある。
そこで、本実施形態においては、上述したように、予め撮影画像中の電線のテンプレートパターンを主記憶装置に記憶しておくことにより、日照の変化等の撮影環境に関わらず電線の異常検出処理を行うことができるようにしている。探索領域を拡大しても電線の探索に失敗した場合は、直前のフレームの画像から予め登録しておいた電線のテンプレートパターンを参照するよう変更し、電線の探索を行うようにしている。
本実施形態においては、電線のテンプレートパターンを、上述したように予め処理開始時に入力しておき、さらに本処理中に任意に指定した一定の時間間隔でテンプレートパターンを記憶して、更新していくこととしている。具体的には、上記の探索領域を拡げて探索を行っても電線の探索に失敗した場合に、参照する電線のテンプレートパターンを変えたうえで、再度、通常の探索領域を探索するようにしている。さらに、参照する電線のテンプレートパターンを変えて探索を行っても、電線の探索に失敗した場合には、さらに探索領域を拡げて電線の探索を行うこととしている。尚、電線のテンプレートパターンの更新は、任意の時間間隔で行えば良い。また、複数の電線のテンプレートパターンを記憶しておいて、電線の検出ができるまで、参照する電線のテンプレートパターンを変更しながら処理を続けるようにしても良い。
実験の結果より、探索領域を拡大して電線の傾きを判定する処理と、参照する電線のテンプレートパターンを変えて、再度、探索領域を拡げて電線の傾きを判定する処理を行うことにより、ほとんどすべての画像について電線の検出が成功することがわかっている。本実施形態においては、まず探索領域を3段階に変更しながら、電線の検出を行い、その場合でも電線の検出を行うことができない場合においては、参照する電線のテンプレートパターンを変更して、再度、探索領域を3段階に変更しながら、電線の検出を行っている。探索領域を拡大する処理、参照する電線のテンプレートパターンを変更する処理を何段階で行うかは、任意に設定することができるものであり、上記の例に限られるものではない。また、二つの処理をどのような順番で行うかについても上述の例に限られるものではない。
実験の結果、上述した電線の追尾成功・失敗判定処理により電線の追尾に失敗することはほとんどなかったが、背景の影響などにより、わずかな確率で失敗する場合も起こりうる。このため、本実施形態においては、上述の電線の追尾成功・失敗判定処理をおこなっても電線の探索に失敗した場合は、そのフレームの画像を静止画として記録、次のフレームへ処理へ移るようにしている。このようにすることにより、電線の検出に失敗した場合であっても処理を停止することがないこととしている。これにより、検査員は最初に電線の位置を指定するだけで、それ以降、処理終了まで介在することなく、処理を行うことができることが可能となり、迅速な処理を行うことが可能となった。
以上の電線の追尾成功・失敗判定処理(S208)を図32のフローチャートを用いて説明する。電線の傾きが予め設定した閾値以上(例えば、tanθ=0.1)であれば(S208−1;Yes)、探索領域を電線の直径の3倍から7倍に拡大したうえで(S208−2)、再度テンプレート照合処理、電線の移動位置推定処理を行う(S206〜S207)。尚、探索領域を拡大する回数は、特に限られるものではないが、ここでは、探索領域を2回拡大するものとする。探索領域を拡大しても、再度電線の傾きが予め設定した閾値以上であれば(S208−3;Yes)、探索領域を電線の直径の7倍から15倍に拡大し(S208−4)、再度テンプレート照合処理、電線の移動位置推定処理を行う(S206〜S207)。再度探索領域を拡大しても、電線の傾きが予め設定した閾値以上であれば(S208−5;Yes)、参照する電線のテンプレートパターンを変更したうえで、再度テンプレート照合処理、電線の移動位置推定処理を行い(S206〜S207)、電線の追尾成功・失敗判定処理を終了する。また、いずれかの時点で電線の傾きが予め設定した閾値未満となれば(S208−1、S208−3、S208−5;No)、電線の追尾に成功したものとして、電線の追尾成功・失敗判定処理を終了する。以上で、電線の追尾成功・失敗判定処理を終了する。
すべての原画像についての処理を終えると(S203;No)、電線検出処理(S200)を終了し、電線異常検出処理を行なう(S300)。電線異常検出処理(S300)では、図33に示すように、電線の実際の輪郭線を構成するエッジ画素を検出する処理(S306)と、検出されたエッジ画素を用いて電線が健全である場合の理想輪郭線を求める処理(S307)と、エッジ画素と理想輪郭線との情報に基いて電線の形状の異常を検出する処理(S308)と、理想輪郭線に囲まれる領域の輝度値に基いて電線の色の異常を検出する処理(S309)とを行なうようにしている。
原画像から切り出され、記憶された対象画像に対して、電線の実際の輪郭線を構成するエッジ画素を検出する。原画像から電線部分を切り出した対象画像の中で、エッジすなわち輪郭情報がはっきりと現れるものは電線のみであり、エッジ画素を検出することで、電線の領域を正確に抽出することができる。
例えば図11に示すような画像に対し、図中の矢印で示すように、画面垂直方向の一方向、例えば図中の上方に向かう方向に、隣接する2画素間の輝度値の差分値を求め、当該差分値と垂直方向の座標位置との関係を表したものを図12に示す。図12に現れている差分値0から突出した点、換言すれば差分値が画面垂直方向の両隣にある双方の差分値のよりも大きいか又は小さい点(以下、ピークとも呼ぶ。)のうち、絶対値の大きなものが電線部分を示している。従って、電線部分を示すピークの両端を検出できれば、電線領域を正確に抽出できる。
ここで、差分値の絶対値が閾値を超えるピークを探し、当該ピークを構成する画素をエッジ画素と判断する方法もあるが、この場合、太陽の方向や天候などによって適切な閾値が変動するため、一定の閾値の下では正確なエッジ検出が行なえない。また、従来技術では、背景に電線と似た輝度パターンがあると電線部分を正確に捉えることができないという問題が存在した。
そこで、本発明の電線異常検出方法では、電線の合焦点性を利用した輪郭線検出の行い、従来方法に比してエッジ検出の高精度化を図っている。エッジ検出の高精度化は、形状の異常検出や色の異常検出を高精度化する上で不可欠となる。輪郭が正確に計算できなければ電線の形状を正確に求められないからである。尚、ここで電線の合焦点性とは、電線に焦点が合っていれば、電線部分は、はっきり映るので様々な輝度値を含んでいるのに対し、背景部分はぼやけているので一様な輝度値となることをいう。尚、電線の輪郭線をたとえ1〜2画素であっても判断を誤ることは、合計輝度値等に影響を及ぼすため、エッジ検出の高精度化は不可欠である。
本実施形態では、先ずテンプレート照合処理(S206)をしておおまかな電線の位置を求め、おおまかな電線の位置を中心にして上下方向に電線のエッジを探索している。図12を拡大した図13を用いてこの原理を説明する。
図13の中で差分値の絶対値が最大となる点P1を探す。さらに、この最大点P1を中心として、それぞれ最も外側にあるピークP2を探すものである。
本実施形態では、P1を基準として電線の外側から順に電線のピークP2を探す。例えば対象画像における下側に位置するP2であれば、P1の垂直画素番号から予め設定した電線の直径の半分分の画素数(例えば20画素)を引き、さらに予め設定した画素数(例えば10画素)を引いた画素位置から探索を開始する。当該探索は、そこからP1の方向に向かって順にピークP2の候補画素26を探索する。候補画素か否かは、差分値の絶対値が予め設定された閾値(例えば5)以上であるかどうかにより判断する。
ピークP2の候補画素26を探索したら、数式4に示すように候補画素26と候補画素26を中心とした一定の画素領域27との輝度値の差分の分散を求め、分散が大きく異なるものであったら、当該候補画素をピークP2と判断している(図14参照)。同様に対象画像における上側に位置するP2の探索をする。
尚、v(i,j)は、当該画素位置での輝度値を示す。
これは、上述の合焦点性、即ち、電線に焦点が合っていれば、電線部分は、はっきり映るので様々な輝度値を含んでいるのに対し、背景部分はぼやけているので一様な輝度値となることを利用したものである。尚、本実施形態では、画素領域27を3×3の9画素とし、分散の差分閾値をσ2=9.0としているがこれに限られるものではない。
このようにして得られる、ピークP2を構成する2つの画素をエッジ画素とする。当該2つのエッジ画素の一方を第1エッジ画素と呼び、他方を第2エッジ画素と呼ぶ。本実施形態では、対象画像における上側に位置するエッジ画素を第1エッジ画素とし、下側に位置するエッジ画素を第2エッジ画素としている。以上の処理を対象画像の水平方向画素列のすべてについて行なう。
次に、上述の処理で検出されたエッジ画素に基づいて、電線が健全である場合の理想輪郭線を求める処理を行なう。例えば図36のフローチャートに示すように、第1エッジ画素群および第2エッジ画素群から予め定めた基準を満足しない低信頼性画素を除き、残りの第1エッジ画素群および第2エッジ画素群をそれぞれ直線で近似して、2本の理想輪郭線を求めるようにする(S307−1〜S307−3)。
例えば本実施形態では、第1エッジ画素群および第2エッジ画素群についてそれぞれ以下の処理を行なうことにより、直線性を大きく損ねている低信頼性画素を除くようにしている。即ち、図37に示すように、エッジ画素をそれぞれ着目画素とし、着目画素を中心として画面水平方向に予め定めた範囲、例えば±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理想輪郭線と呼ぶ。
上記理想輪郭線を利用する形状異常検出処理(図33のS308)では、理想輪郭線から画面垂直方向に予め定めた距離を超えて離れたエッジ画素が、画面水平方向に予め定めた数だけ連続した場合に、素線切れなどにより電線の形状に異常が生じている可能性があると判断するようにしている。例えば、理想輪郭線から10画素以上離れたエッジ画素が20画素の長さにわたって現れた場合に、素線切れなどの電線異常の可能性があると判断するようにしている。これは、電線の一部が切れて外側に跳ねてしまっている場合、理想輪郭線からある程度離れたところに、エッジ画素がある程度まとまって存在するようになることを利用している。
図15に素線切れを起こしている電線が撮影された画像を示す。図15の画像に対し、上記のエッジ検出処理を行なった結果を図16に示す。また、図16に示すエッジ画素の中から上記の理想輪郭線推定処理によって低信頼性画素を特定し、当該低信頼性画素を除いた残りのエッジ画素に基づいて理想輪郭線を求めた結果を図17に示す。そして、図16のエッジ画素と図17の理想輪郭線とを重ねて表示した結果を図18に示す。尚、図中の符号40は第1エッジ画素を示し、符号41は第2エッジ画素を示し、符号42は第1理想輪郭線を示し、符号43は第2理想輪郭線を示す。図18には、理想輪郭線から10画素以上離れたエッジ画素が20画素以上連続して現れる様子が示されており、上記の形状異常検出処理によって素線切れを起こしている電線を正確に検出できることが確認できる。
また、色異常検出処理(図33のS309)では、第1および第2理想輪郭線に挟まれる各画面垂直方向の画素列の輝度値から当該垂直方向における代表値を求め、色情報の閾値から外れる代表値が画面水平方向に予め定めた数だけ連続した場合に、素線切れやアーク痕もしくは傷などにより電線の色に異常が生じている可能性があると判断するようにしている。本実施形態では、各フレーム画像毎に、第1および第2理想輪郭線に挟まれる各垂直方向の画素列の輝度値の平均値を求め、この平均値を代表値としている。電線の輝度値及びその平均値である代表値を図19を用いて説明する。
フレーム画像の左下を原点とし、垂直方向の座標を垂直画素番号、水平方向を水平画素番号とする(図19(a)参照)。ある水平画素番号(Xi)上に存在する垂直方向の電線の輝度値の平均を水平画素番号Xiにおける代表値Br(Xi)とし、数式5で表す(図19(b)参照)。
更に、同一のフレーム画像中に存在する電線の左端から右端までの代表値Br(Xi)の平均をμとし、その分散をσ2とする。尚、μ、σは数式6及び数式7に示すように求められる。尚、Mはフレーム画像の水平方向の画素数である。
但し、代表値の求め方は、この例に限定されず、第1および第2理想輪郭線に挟まれる各垂直方向の画素列の輝度値の最頻値を当該垂直方向における代表値としても良い。
また、本実施形態では、上記の代表値と比較する色情報の閾値を、各対象画像ごとに算出するようにしている。例えば数式8に示すように、ある対象画像について求めた代表値の標準偏差にαを乗じた値を、当該対象画像について求めた代表値の平均値に加算し、その値を当該対象画像における上限の閾値とし、代表値の標準偏差にαを乗じた値を代表値の平均値から減算した値を下限の閾値とする。尚、αは任意の係数である。
<数8>
閾値=代表値の平均値(μ)±係数(α)×代表値の標準偏差(σ)
そして、例えば上限の閾値以上となる代表値が水平方向に20画素以上連続した場合、または下限の閾値以下となる代表値が水平方向に20画素以上連続した場合に、素線切れやアーク痕などの電線異常の可能性があると判断するようにしている。これは、電線にアーク痕や傷などがある場合、当該異常箇所は電線の正常箇所よりも黒っぽくなる若しくは白っぽくなることを利用している。
更に、本発明の電線異常検出方法は、数式8に示した下限の閾値よりも低い輝度値に第二の下限閾値(本実施形態においては、難着雪リング閾値という)を設定し、難着雪リングが装着された電線についても誤検出を行うことなく電線異常検出処理を行うことを可能としている。
以下に、難着雪リングの検出について詳細に説明する。雪害対策として多くの電線には、難着雪リングが装着されている。尚、難着雪リングとは、電線に適当な間隔で装着され、電線上に積もった雪を、効率的に落下させるための器具である。例えば、降雪地方等においては、難着雪リングは数十cm間隔で適当に取り付けられている。
難着雪リングは、本来異常として検出すべきではないが、従来手法では難着雪リングを異常として検出してしまっていた。難着雪リングを異常として検出してしまうと、かなりの数の異常検出を行ってしまうこととなり、結果として、異常検出画像の増大を招き、作業員の目視によるチェックの負担が増大し、処理の迅速化を図ることができなかった。
このため難着雪リングが装着されている電線に対しても、難着雪リングは異常検出せず、アーク痕等については、異常検出する異常検出方法が必要となる
図20(a)に難着雪リングが撮影されたフレーム画像と、図20(b)に横軸に当該画像における水平画素番号、縦軸に輝度値をプロットしたグラフを示す。また、図21(a)にアーク痕が撮影されたフレーム画像と、図21(b)に横軸に当該画像における水平画素番号、縦軸に輝度値をプロットしたグラフを示す。
図20(b)及び図21(b)が示すように、難着雪リング、アーク痕(溶痕)のいずれが存在する場合も、水平画素番号の輝度値が低くなる。したがって、輝度値に対して下限閾値を設定し、輝度値の低い箇所を異常箇所として検出するようにすると、アーク痕の検出は可能であるが、難着雪リングについても異常箇所として検出されるという問題が生じる。ここで、難着雪リングは電線にて適当な間隔で大量に装着されているので、これを損傷と検出してしまうと、目視によるチェックを要する異常検出画像の増大を招くこととなる。
しかし、難着雪リングは、アーク痕と異なり電線表面上の垂直方向全体に存在するものであるので、難着雪リングを示す箇所の水平画素番号の輝度値(符号28で示す)は、アーク痕が存在する場合の輝度値(符号29で示す)に比べて更に低くなることを新たに知見した。これは、難着雪リングが装着されている箇所は、電線の垂直方向全体に黒っぽく映るので、輝度値が低い値となることによる。
そこで、本実施形態では、アーク痕を検出するために輝度値に設定される下限閾値に加えて、さらに難着雪リングを検出するための閾値(難着雪リング閾値)を下限閾値より低い値に設定している。即ち、下限閾値以下の部分は、原則としてアーク痕と判断され、異常箇所として検出されるが、難着雪リング閾値以下である部分については、難着雪リングと判定し、当該位置は異常部分でないとの判定をしている。
本実施形態では、例えば、下限閾値をμ−1σ(α=1)、難着雪リング閾値をμ−3σ(α=3)としているが、これに限られるものではなく、閾値の設定は撮影環境に応じて最適な値とすればよい。
更に図20(b)のグラフを拡大したグラフを図22に示す。図22から明らかなように難着雪リングが検出される場合、即ち、輝度値が難着雪リング閾値を下回る場合は、下限閾値以下であって難着雪リング閾値以上の輝度値を示す一定の水平画素位置の範囲(矩形30で示す)が存在する。これは、難着雪リング部分と通常の電線部分の境界付近では、電線の画素値が通常部分よりは低くなるが、難着雪リング閾値までは超えない部分が存在することによるものである。これは、画像に映された電線は、画面水平方向に常に水平に撮影されるものではなく、種々の傾きを有していることによる。したがって、当該矩形部分30については、異常検出を行わないことが好ましい。これにより、電線異常検出精度の更なる向上を図ることができ、異常検出画像を減らすことが可能となる。
このため、本実施形態では、難着雪リング閾値を下回った水平画素位置の前後の一定の画素数については、下限閾値を下回っていてもアーク痕、即ち異常箇所とは判断しないこととしている。尚、本実施形態では、1径間分について実験を行った結果、矩形部分30の水平方向の画素は、すべて20画素以内であったため、前後20画素については、難着雪リングであると判断し、アーク痕とは見なさないものとしている。しかしながら、上記値は一例であって、これに限られるものではなく、任意に設定することが可能である。例えば水平方向の幅の大きい難着雪リングが存在する場合には、閾値を大きめに設定することにより対応することが可能となる。
また、矩形部分30を異常箇所と判定しないためには、難着雪リング閾値を下回った水平画素位置と正常箇所を示す水平画素位置との間に矩形部分30が連続して存在する場合、即ち、水平画素方向に順に走査していった場合に、下限閾値を下回ってから正常箇所を示す位置に戻ることなく、難着雪リング閾値を下回った場合については、その間の異常箇所(下限閾値以下であって第二の下限閾値以上の箇所)を異常箇所として検出しないようにしても良い。
尚、難着雪リングの他にも、電線に取り付けられる器具としてねじれ防止ダンパや、スリーブ等が存在する。これらは、難着雪リングに近い形状であれば、本発明の異常検出方法により判別が可能である。しかしながら、形状は様々であるので全てを損傷との判別を行うのは困難である。しかし、これらは取り付け数が難着雪リングに比べて非常に少なく1径間当たり10個未満である。したがって、これらについては、誤検出を防止するため目視による確認を行っても良い。
例えばスリーブが存在すると、図23(a)に示すように、スリーブの輪郭線と電線の輪郭線の識別を行うことは困難であり、電線の輪郭線の検出に失敗する場合がある。この場合、電線の輪郭線は、図23(a)に示すように、平行にはならず、2つの直線には傾きの差が生じる。本実施形態では、上側と下側のそれぞれの輪郭線の傾きの差が予め定めた一定の閾値を超える場合には、異常箇所として検出するようにしている。尚、図23(a)中の符号31で示す箇所には、上下の輪郭線の傾きの差(tanθ)が表示される。また、図23(b)に示すようにねじれ防止ダンパであっても同様に処理をしている。尚、図24中の符号32で示す部分には、電線の輪郭線の検出に失敗した旨の「Failure」が表示されている。
尚、本実施形態では、スリープやダンパが撮影された画像についての、上側と下側のそれぞれの輪郭線の傾きの差が0.044以上であったので、閾値を0.044と設定したがこれに限られるものではなく、ダンパの形状等により適宜最適な値を選択すればよい。
電線検査においては、わずかな異常であっても看過することは許されないため、閾値は微細な異常を検出可能なように検出感度を厳しく、即ち、数式8における係数αを小さく設定することが想定される。しかしながら、閾値を狭く設定することにより、異常箇所の検出については高精度化を図ることが可能となるが、逆に正常箇所を異常として検出する場合が起こりうる。これは、同じ1本の映像中であっても、日照条件、ヘリコプターの影の位置等の撮影環境の変化が原因により起こりうることが考えられる。
閾値と検出可能な損傷の対応の一例を図24(a)(b)に示す。図24はいずれも素線切れの例である。図24(a)に示す損傷33を検出するためのαは2.2であり、図24(b)に示す損傷34を検出するためのαは0.9である。(A)の損傷は目視でも容易に損傷がわかり早急な補修が必要なことがわかるが、(b)の損傷は目視で発見することは困難であり、早期の補修の必要性は不明である。従来の電線異常検出方法では,αを固定値とするため、例えば、α=0.9であれば、(a)の損傷検出に対しては2倍以上の検出感度であり、過剰な検出感度であるため、健全なものまで損傷と判断してしまう可能性がある。
そこで、閾値を予め複数設定しておき、異常検出状況に応じて、誤検出を生じないよう動的に閾値を変更することが好ましい。以下に、本実施形態における動的な閾値設定処理について詳細に説明する。
図25に、上限閾値と下限閾値を静的に設定した場合に、異常部分ではない箇所を異常と判定したフレーム画像についての横軸に水平画素番号と、縦軸に輝度値をプロットしたグラフを示す。上限閾値を超える符号35で示す箇所は、正常部分であったが、異常判定したものである。尚、符号36で示す部分はアーク痕であった。尚、閾値αを1.4に設定している。
この場合、符号35で示す箇所を異常判定してしまうと、大量の誤検出に繋がり、異常検出画像の増大に繋がる。したがって、このような誤判定を起こさないよう閾値を設定する必要がある。
しかし、単純に係数αの値を大きくするだけでは、逆に、微細な異常箇所を異常検出できず見落とす場合が生じうる。ここで、図25のような、異常箇所の誤検出をした場合の波形には、一定の周期的変化があることを知見し、当該知見に基づいて、動的に閾値を設定している。例えば異常検出箇所が複数箇所以上あって、異常検出箇所の出現間隔が一定の水平画素間隔の範囲に収まっている場合には、周期的変化ありと判断し、当該周期的変化に対応して閾値を変更することにより、異常検出精度の向上に成功している。
図26はアーク痕がある電線が撮影された画像を示す。図26の画像に対し、上記の色異常検出処理を行なった結果を図27に示す。尚、図中の符号44は各水平画素番号における代表値を示し、符号45は下限の閾値を示す。図27には、下限の閾値以下となる代表値が20画素以上連続して現れる様子が示されており、上記の色異常検出処理によってアーク痕がある電線を正確に検出できることが確認できる。
また、本発明の電線異常検出処理により、アーク痕以外の損傷である「笑い」「キンク」と呼ばれる異常箇所の検出も正確に行うことができる(実施例参照)。
また、色異常検出処理において、第1エッジ画素および第2エッジ画素に挟まれる各画面垂直方向の画素列の輝度値の平均値を、当該垂直方向における輝度値とすることも考えられる。但し、この場合、電線の一部が外に跳ねている素線切れがある場合は、電線でない部分の輝度値、例えば背景の輝度値も平均値の計算に含まれてしまい、正確な色異常検出が行なえない。本実施形態のように、第1および第2理想輪郭線に挟まれる領域で輝度値の平均を求めて代表値とすることにより、電線でない部分の輝度値が平均値の計算に含まれることを防ぎ、正確な色異常検出を行なうことができる利点が得られる。
ここで、本実施形態の対象画像は空撮映像より得られるものであり、電線の異常箇所は数フレームに渡って現れる。そこで、本実施形態では、電線に異常が生じている可能性があると判断された対象画像が予め定めた数、例えば2フレーム以上連続した場合に、電線に異常が生じていると判断するようにしている。これにより、より信頼性の高い電線異常検出を行なえる。ただし、ヘリコプターの飛行速度が遅い場合等には、さらに多くの連続フレームに異常箇所が現れるので、より多くのフレーム数以上連続した場合に、電線に異常が生じていると判断するようにしても良い。
電線異常検出処理を終了すると、ログに記録された異常画像の出力処理(S400)を行うものとしている。本実施形態においては、対象画像が切り出せなかった原画像や、異常検出した画像の連続する画像を、動画像ファイル(例えば、aviファイル、mpeg2ファイル等)に変換し、出力装置14上で再生可能なものとしている。これを異常検出画像とし、検査員は動画像の状態のまま確認できるので、目視による確認をより容易なものとしている。検査員は出力装置3に表示された動画像を見て、問題の有無を目視により判定できる。例えば、本実施形態の色異常検出処理では、電線にしみ等がある場合にも異常ありと判断する可能性があるが、単なるしみであるかアーク痕であるかの判断は、最終的に検査員が行なうようにしても良い。尚、動画像に限らず、静止画像として記録しても良い。例えば、静止画像をアルバム状に整理して表示するようにしても良い。また、動画像と静止画像の両方を記録して、両方の画像を用いて検査員が確認作業をするようにしてもよい。
以下、本発明の電線異常検出プログラムが実行する電線異常検出処理(S300)の一例を図33〜図43のフローチャートに沿って説明する。図33に電線異常検出処理(S300)を詳細化したフローチャートを示す。この処理では、画像カウンタkに1をセットし(S301)、形状異常カウンタzに0をセットし(S302)、色異常カウンタqに0をセットする(S303)。そして、k番目の対象画像が存在する場合は(S304;Yes)、当該対象画像を読み込み(S305)、読み込んだ対象画像について、エッジ検出処理(S306)、理想輪郭線推定処理(S307)、形状異常検出処理(S308)、色異常検出処理(S309)を行なう。これらの処理の終了後、画像カウンタkに1を加算し、次フレームにあたるk番目の対象画像について、S304以下の処理を繰り返す。すべての対象画像について以上の処理を行なうと(S304;No)、電線異常検出処理を終了する。
図34にエッジ検出処理を詳細化したフローチャートを示す。この処理では、画面水平方向の画素番号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)。
図35にエッジ画素の検索処理を詳細化したフローチャートを示す。当該処理では、記録された差分値の中から絶対値が最大となる差分値(jP1)を求め、差分値(jP1)に対応する垂直画素番号jP1を求める(S306−7−1)。
対象画像における下側に位置するP2を探索する(S306−7−2〜10)。始めにjP1から電線の直径の半分として例えば20画素、さらに10画素引いた値をjとする(S306−7−2)。そして、垂直画素番号jに対応する差分値(j)が候補画素となりうるか否かを判断する。例えば|差分値(j)|>5であるかどうかを判断する(S306−7−3)。当該垂直画素番号jが候補画素となりうる場合(S306−7−3:Yes)は、数式4により候補画素jの輝度値とjを中心とする3×3の画素領域の輝度値の差分の分散(σ2)を求める(S306−7−4)。σが3.0以上(S306−7−5:Yes)であれば、当該垂直画素番号jをエッジP2とする(S306−7−10)。一方、|差分値(j)|>5でない場合(S306−7−3:No)及びσが3.0未満の場合(S306−7−5:No)は、垂直画素番号に1を加えて(S306−7−6、S306−7−7)、即ち電線の内側にある次の画素について処理を行う。ここで、垂直画素番号jがP1から予め設定された閾値、例えば10画素以内かどうかを判断する(S306−7−8)。電線の外側の画素から順番にエッジP2を探索し、P1から10画素未満となってしまった場合(S306−7−8:No)には、これ以上内側にエッジがあることは考えられないため、エッジの検出に失敗したと判断し、暫定的にエッジP2をP1から電線の直径の半分を引いた垂直画素番号(S306−7−9)としている。一方、垂直画素番号jがP1から10画素以上ある場合(S306−7−8:Yes)には、S306−7−3に戻り、当該垂直画素番号がエッジとなりうるかの判断をする。
次に、対象画像における上側に位置するP2を探索する(S306−7−11〜19)。始めにjP1から電線の直径の半分、さらに10画素を加えた値をjとする(S306−7−11)。そして、垂直画素番号jに対応する差分値(j)が候補画素となりうるか否かを判断する。例えば|差分値(j)|>5であるかどうかを判断する(S306−7−12)。当該垂直画素番号jが候補画素となりうる場合(S306−7−12:Yes)は、数式4により候補画素jの輝度値とjを中心とする3×3の画素領域の輝度値の差分の分散(σ2)を求める(S306−7−13)。σが3.0以上(S306−7−14:Yes)であれば、当該垂直画素番号jをエッジP2とする(S306−7−19)。一方、|差分値(j)|>5でない場合(S306−7−12:No)及びσが3.0未満の場合(S306−7−14:No)は、垂直画素番号から1を引いて(S306−7−15、S306−7−16)、即ち電線の内側にある次の画素について処理を行う。ここで、垂直画素番号jがP1から予め設定された閾値、例えば10画素以内かどうかを判断する(S306−7−17)。電線の外側の画素から順番にエッジP2を探索し、P1から10画素未満となってしまった場合(S306−7−17:No)には、これ以上内側にエッジがあることは考えられないため、エッジの検出に失敗したと判断し、暫定的にエッジP2をP1から電線の直径の半分を加えた垂直画素番号(S306−7−18)としている。一方、垂直画素番号jがP1から10画素以上ある場合(S306−7−17:Yes)には、S306−7−12に戻り、当該垂直画素番号がエッジとなりうるかの判断をする。以上により、差分値が最大となる点jP1から最も離れたピークを構成する画素、即ちエッジ画素が求められる。
水平画素番号iについて第1エッジ画素および第2エッジ画素が求められると、図34の処理に戻り、水平画素番号iに1を加算し(S306−8)、当該水平画素番号iについてS306−2以下の処理を繰り返す。以上により、対象画像を構成する各垂直画素列ごとに、換言すれば各水平画素番号ごとに、第1エッジ画素および第2エッジ画素が求められる。水平画素番号iの値が対象画像の水平方向画素数i_maxを超えると(S306−2;No)、当該対象画像におけるエッジ検出処理を終了する。
エッジ検出処理を終了すると、理想輪郭線推定処理(S307)を行なう。図36に理想輪郭線推定処理を詳細化したフローチャートを示す。この処理では、先ず除去候補画素の検索処理を行なう(S307−1)。更にこの処理では、図37に詳細を示すように、画面水平方向の画素番号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−Δi〜i+Δiにおいて存在する第1エッジ画素のうち、その垂直方向の座標位置と上記平均値Ave1との差の絶対値が、予め定めた閾値以上となるエッジ画素を除去候補画素として記録する(S307−1−4)。同様に、水平画素番号i−Δi〜i+Δiにおいて存在する第2エッジ画素について、垂直方向の座標位置の平均値を求めてAve2とし(S307−1−5)、これら第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)、当該対象画像における除去候補画素の検索処理を終了する。
除去候補画素が求められると、図36の処理に戻り、第1エッジ画素群から、除去候補画素すなわちエッジの直線性を損ねる低信頼性画素を除いた残りの画素を用いて、最小自乗法により、第1輪郭線を作成する(S307−2)。同様に、第2エッジ画素群から除去候補画素を除いた残りの画素を用いて、最小自乗法により第2輪郭線を作成する(S307−3)。これにより、当該対象画像における理想輪郭線推定処理を終了し、当該対象画像について形状異常検出処理(S308)および色異常検出処理(S309)を行なう。
図38および図39に形状異常検出処理を詳細化したフローチャートを示す。この処理では、カウンタ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)、形状異常候補画像が2フレーム以上連続したこととなるので、これらの形状異常候補画像をログに記録する(S308−17)。そして、形状異常カウンタzを0にリセットし(S308−18)、当該対象画像についての形状異常検出処理を終了する。他方、水平画素番号iの値が対象画像の水平方向画素数i_maxを超えるまで処理された場合は(S308−4;No)、理想輪郭線から10画素以上離れたエッジ画素が20画素連続して現れることの無かった場合であり、形状異常カウンタzを0にリセットし(S308−18)、当該対象画像についての形状異常検出処理を終了する。
次に、図40〜図43に色異常検出処理を詳細化したフローチャートを示す。図40に示すように、カウンタ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)、難着雪リング判定処理に移る(S309−7)。
図41に示す難着雪リング判定処理は、まず難着雪リング判定フラグF(i)=0とする。但し、Fは、0または1である(S309−7−1)。求めた代表値Val(1)〜Val(i_max)用いて数式8により上限の閾値Val’と下限の閾値Val”及び難着雪リング閾値Val’’’を設定する(S309−7−2)。水平方向画素カウンタi=1とし(S309−7−3)、水平画素番号iがi_max以下であれば(S309−7−4:Yes)、代表値Val(i)が難着雪閾値Val’’’以下であるかどうかを判断する(S309−7−5)。代表値Val(i)が難着雪閾値Val’’’以上であれば(S309−7−5:No)、水平画素番号iに1を加え(S309−7−8)、S309−7−4に戻る。一方、代表値Val(i)が難着雪閾値Val’’’以下の場合は、難着雪リングと判定する。難着雪リングと判断した箇所の前後は、異常検出を行わないため、i±20画素については、難着雪リング有りのフラグを立てる(F=1とする)(S309−7−6)。水平画素番号iに21画素を加え(S309−7−7)、S309−7−4に戻る。
水平画素番号iがi_maxとなると(S309−7−4:No)、Val(1)〜Val(i_max)に基づいて、上限閾値Val’と下限閾値Val’’を算出する(S309−7−9)。但し、この場合に難着雪リング有りと判断した部分(F=1)の画素については、考慮しない。
また、難着雪リング判定処理を以下のようにしても良い。図42に難着雪リング判定処理の他の例を示す。本処理では、まず難着雪リング判定フラグF(i)=0とする。但し、Fは、0または1である(S309−7−10)。また、異常箇所判定フラグG(i)=0とする。但し、Gは、0または1である(S309−7−11)。求めた代表値Val(1)〜Val(i_max)用いて数式8により上限の閾値Val’と下限の閾値Val”及び難着雪リング閾値Val’’’を設定する(S309−7−12)。水平方向画素カウンタi=1とし(S309−7−13)、水平画素番号iがi_max以下であれば(S309−7−14:Yes)、代表値Val(i)が下限閾値Val”以下であるかどうかを判断する(S309−7−15)。代表値Val(i)が下限閾値Val”を超える場合(S309−7−15:Yes)には、代表値Val(i)が難着雪リング閾値Val’’’以下であるかどうかを判断する(S309−7−16)。一方、代表値Val(i)が下限閾値Val”以下でなければ(S309−7−15:No)、G(i)=1であるすべての画素をG(i)=0に戻し(S309−7−24)、カウンタiに1を加えて(S309−7−25)、S309−7−14に戻る。
代表値Val(i)が難着雪閾値Val’’’を超える場合(S309−7−16:Yes)、カウンタi−1画素での異常箇所判定フラグGが1であるかどうかを判断する(S309−7−17)。カウンタi−1画素での異常箇所判定フラグGが1であれば(S309−7−17:Yes)、G(i)=1であるすべての画素をF(i)=1としたうえで(S309−7−18)、G(i)=1であるすべての画素をG(i)=0に戻し(S309−7−19)、さらに、難着雪リング有りのフラグを立てる(S309−7−20)。本処理により、正常箇所を示す水平画素番号から難着雪閾値Val’’’を超える水平画素番号までの水平画素番号に存在する異常箇所を異常検出しないようにしている。一方、カウンタi−1画素での異常箇所判定フラグGが1でない場合(S309−7−17:No)も同様とする(S309−7−20)。カウンタiに1を加えて(S309−7−23)、S309−7−14に戻る。
一方、代表値Val(i)が難着雪閾値Val’’’を超えない場合(S309−7−16:No)は、先ずF(i−1)=1の場合はF(i)=1とする(S309−7−21)。
本ステップにより、難着雪閾値Val’’’を超えた水平画素番号から正常箇所を示す水平画素番号までの水平画素番号に存在する異常箇所を異常検出しないようにしている。更に、G(i)=1とし(S309−7−22)、カウンタiに1を加えて(S309−7−23)、S309−7−14に戻る。
最後に、水平画素番号iがi_maxとなると(S309−7−14:No)、Val(1)〜Val(i_max)に基づいて、上限閾値Val’と下限閾値Val’’を算出する(S309−7−26)。但し、この場合に難着雪リング有りと判断した部分(F=1)の画素については、考慮しない。
上記難着雪リング判定処理により、難着雪リング有り判断された水平画素位置については、以降の処理は行わない。そして、図43に示すように、再び水平画素番号iに1をセットする(S309−8)。更に、異常検出数A=0としておく。水平画素番号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−17)、水平画素番号iについてS309−9以下の処理を繰り返す。一方、代表値Val(i)が上限値Val’以上でなく且つ下限値Val”以下でない場合は、カウンタu,u’に0をセットし(S309−15)、水平画素番号iに1を加算し(S309−17)、水平画素番号iについてS309−9以下の処理を繰り返す。
カウンタu,u’の少なくとも一方がu_max以上となる場合は(S309−14;Yes)、上限値Val’以上または下限値Val”以下となる代表値Val(i)が20画素連続して現れたこととなるので、異常箇所として検出し、異常箇所検出数AをA=A+1とし(S309−16)、水平画素番号iに1を加算し(S309−17)、水平画素番号iについてS309−9以下の処理を繰り返す。この際、カウンタu,u’は、0をリセットする(S309−16)。
水平画素番号iがi_maxとなると(S309−9:No)、異常検出箇所が存在しているかどうかを判断する(S309−18)。異常検出箇所Aがある場合(S309−18:Yes)は、動的閾値設定処理を行う。異常検出箇所がない場合は(S309−18:No)は、色異常カウンタqを0にリセットし(S309−23)、当該対象画像についての色異常検出処理を終了する。
図44に動的閾値設定処理(S309−18)のフローチャートの一例を示す。先ず、異常検出箇所Aが予め設定された設定数(例えば3カ所)以上検出されたかどうかを判断する(S309−18−1)。検出されていなければ、S309−19に移る。3カ所以上検出されている場合(S309−18−1:Yes)は、異常箇所の出現が周期性を有しているかどうかの判断を行う(S309−18−2)。周期性を有しているかどうかは、例えば、異常箇所に該当する画素の出現間隔が、予め設定した周期パラメータ(例えば、60画素に一定の幅(例えば±5画素)を持たせた閾値)内であるか否かにより判断する。異常箇所が周期性を有する場合(S309−18−2:Yes)は、上限閾値及び下限閾値を緩める変更し(例えば、係数α=α+0.2とする)(S309−18−3)、変更後の閾値αにより、S309−1からの処理を実行する(S309−18−4)。尚、閾値の変更は当該フレームのみであって、次のフレームからは、元の閾値で異常検出を行うものである。
そして、色異常カウンタqに1を加算し(S309−20)、当該カウンタqが予め定めた値q_max以上であるか判断する(S309−21)。q_maxは例えば2とする。色異常カウンタqがq_maxに満たなければ(S309−21;No)、当該対象画像についての色異常検出処理を終了する。一方、色異常カウンタqがq_max以上である場合(S309−21;Yes)、色異常候補画像が2フレーム以上連続したこととなるので、これらの色異常候補画像をログに記録する(S309−22)。そして、色異常カウンタqを0にリセットし(S309−23)、当該対象画像についての色異常検出処理を終了する。
すべてのフレームについての電線異常検出処理を(S300)終了すると、ログに記録された異常画像を動画像ファイル(異常検出画像)として出力処理を行なう(S400)。尚、異常画像を動画像ファイルとして出力処理を行なう処理は、すべてのフレームについての処理の終了後に行っても、処理の途中で同時に並列処理を行うようにしても良い。以上により、本実施形態の電線異常検出プログラムによって、電線異常検出装置1が実行する処理は終了する。
本発明によれば、検査員は電線の空撮映像を最初からすべて目視点検する必要は無く、電線異常検出装置1が提示する一部の画像や映像について確認すれば良く、検査員の労力が大幅に軽減される。さらに、ビデオカメラを電線異常検出装置1に接続して、ビデオカメラより得られる映像をリアルタイムで処理することで、ヘリコプターで巡視している現場で電線の異常箇所の検出まで行うことも可能となり、作業に関わる人的資源や設備資源を縮小し全体のコストを大幅に低減することが可能になる。
尚、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上述の実施形態ではグレースケール画像を原画像として各処理を行なったが、カラー画像を原画像として各処理を行なっても良い。例えば原画像がグレースケール画像である場合、電線検出処理において、山の稜線などを変位の位相が揃っている探索結果として判断してしまう場合があるが、原画像をカラー画像とし、色情報値として、輝度値に加えて色相値を用いても良い。
また、本発明の電線異常検出プログラムについて、フローチャートを用いて説明した処理手順は一例であって、これに限られるものではない。例えば、各種パラメータは任意に撮影環境に応じて最適な値を選択可能であり、処理の先後を変更してもよい箇所が存在するのは勿論である。
また、エッジ検出処理は必ずしも上述の実施形態の例には限定されず、従来のエッジ検出方法を採用しても良い。また、更なる処理の高速化を図るために、図28から図44に示した処理の一部又は全部をハードウェア化しても良い。特にエッジ検出処理の部分は、汎用的な手法であるため、市販の画像処理ボードとの親和性も良く、ハードウェア化が容易である。ハードウェア化によって、ビデオレートでの処理も可能となる。
また、閾値などの各パラメータ、例えばエッジ検出処理においてピークを探す範囲Δj、形状異常を判断するエッジ画素と理想輪郭線との距離の基準H_max、色異常を判断する閾値の係数α、連続する異常候補画素の基準w_max,u_max、連続する異常候補画像の基準z,qなどは、撮影条件などに合わせて適宜調節してよい。
また、上述の実施形態では、原画像から切り出した対象画像に対して電線異常検出処理を行なったが、場合によっては原画像をそのまま対象画像として、電線異常検出処理を行なっても良い。また、上述の切り出し処理で得られた対象画像を、形状異常検出処理や色異常検出処理以外の電線点検用の画像処理に用いても良い。
また、輝度値に加えて色情報値を利用して判定することにより、例えば、OPGW(光ファイバ複合架空地線)などの捻回確認用赤色ラインが引かれた赤色ライン付き電線についての検出精度を向上するようにしても良い。さらに、飛び越し走査(処理を行う動画像の、画像の奇数行と偶数行で取り込み時間が異なっていること)を補正することにより、画像の鮮明度を向上させ異常箇所を鮮明にして異常検出の精度を向上するようにしても良い。
また、本発明の電線異常検出方法は、電線以外の線状の剛体に適用することが可能である。例えば電線に限らず、種々のケーブル等にも適用することが可能であり、例えば製品検査等に用いることも可能である。
(実施例1)
(アーク痕以外の損傷検出実験)
本発明の電線検出異常検出プログラムにより素線切れ、アーク痕以外の損傷である「笑い」、「キンク」の検出実験を行った。
本発明の電線検出異常検出プログラムにより、電線の笑いの検出を行った。尚、笑いとは、図45の符号51に示すように素線間の間隔が広がった状態をいい、放置しておくことにより素線切れになりうるものである。よって損傷の一形態として検出することが必要となる。
笑いが存在する箇所は、周囲の電線の画素の輝度値の平均に比して、輝度値が高くなることを知見した。図46に、笑いが存在する場合の、水平画素番号と輝度値の関係を示す。これは、数式8による、通常の異常検出と同様の閾値(例えば、μ+1σ)で検出可能であることが確認できた。
次に、電線の「キンク」の検出を行った。尚、キンクとは、図47の符号52に示すように電線の形状が局地的にゆがんだ状態をいう。キンクは、電線を敷設する際に、電線がねじれたまま取り付けられた場合に生じるものであり、損傷の一形態として検出することが必要となる。
キンクが存在する場合は、理想輪郭線より内側に実際の輪郭が存在する。即ち、キンクが存在する部分の代表値は実際の電線の輝度値に背景の輝度値が加わった値となる。以上より、キンクが存在する箇所は、周囲の電線の画素の輝度値の平均に比して、輝度値が低くなることを知見した。図48に、キンクが存在する場合の、水平画素番号と輝度値の関係を示す。
「キンク」についてもアーク痕の検出と同様の閾値(例えば、μ−1σ)で検出可能であることが確認できた。
また、キンクは歪みを生じるだけでなく、図49に示すように膨らんだ状態となりうる。この場合は、素線切れと同様に考えられるので本発明の電線異常検出プログラムにより検出可能であることが確認できた。
また、電線は腐食により膨らんだ状態となる場合がある。この場合についても、素線切れと同様に考えられ、本発明の電線異常検出プログラムにより検出可能であることが確認できた。
以上述べたように、本発明の電線異常検出プログラムにより、閾値等に特段の変更を加えないでもアーク痕同様に損傷として見落とすことなく検出可能であることが確認できた。これにより、本発明の電線異常検出プログラムは「笑い」「キンク」について見落とすことなく検出可能であることが確認できた。
(実施例2)
(難着雪リングの検出実験)
図50(a)及び(b)に本発明の電線異常検出プログラムの実験例を示す。図50(a)の符号53で示す部分は、素線切れを起こしている箇所であり、プログラムは輝度値及び形状の異常を示す表示54を表示している。また、図50(b)の符号55で示す部分には、難着雪リングが装着されているが、異常箇所として検出せず、異常を示す表示はされていない。以上より、本発明の電線異常検出プログラムは、素線切れ等の異常箇所と難着雪リングを正しく識別可能であることがわかった。
また、本発明の電線異常検出プログラムと従来技術との、異常検出画像の比較を行った。難着雪リング判定処理により、作業を84%削減することが可能となった。これは、1時間の電線の撮影画像について、異常検出画像が10分弱であることを示す。これに対し、難着雪リングを判定できない特許文献1に記載の技術では、作業削減率は58%であった。以上より、本発明の電線異常検出プログラムにより異常検出画像の削減を図り、異常検出処理の迅速化を図ることが可能なことを確認できた。