(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-13
(45)【発行日】2023-02-21
(54)【発明の名称】ひび線抽出装置、ひび線抽出方法、及び、ひび線抽出プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230214BHJP
【FI】
G06T7/00 610B
(21)【出願番号】P 2019003564
(22)【出願日】2019-01-11
【審査請求日】2021-10-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100084995
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】勝山 裕
(72)【発明者】
【氏名】瀬川 英吾
【審査官】伊知地 和之
(56)【参考文献】
【文献】国際公開第2017/110279(WO,A1)
【文献】特開昭63-228269(JP,A)
【文献】米国特許第05181258(US,A)
【文献】矢野 光一 外1名,道路損傷の認識率向上のための影除去処理に関する検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年02月28日,第116巻 第502号,pp.7-12
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する線分抽出部と、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する木構造生成部と、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出するストローク抽出部と、
を含
み、
前記ストローク抽出部は、
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
ひび線抽出装置。
【請求項2】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する線分抽出部と、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する木構造生成部と、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出するストローク抽出部と、
を含
み、
前記線分抽出部は、
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
ひび線抽出装置。
【請求項3】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する線分抽出部と、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する木構造生成部と、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出するストローク抽出部と、
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える端点移動部と、
を含む、ひび線抽出装置。
【請求項4】
前記接続可能な度合いは、隣接する基本線分間の距離、基本線分どうしのなす角度、及び、隣接する領域に存在する基本線分各々の共通する境界上の端点と該端点に最も近いひび点との距離、の少なくとも1つに基づいて決定される、
請求項1~請求項
3の何れか1項に記載のひび線抽出装置。
【請求項5】
コンピュータが、
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして
抽出し、
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
ひび線抽出方法。
【請求項6】
コンピュータが、
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出
し、
前記代表線分を基本線分として抽出することは、
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
ひび線抽出方法。
【請求項7】
コンピュータが、
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出
し、
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える、
ひび線抽出方法。
【請求項8】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして
抽出し、
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
ひび線抽出処理をコンピュータに実行させるためのプログラム。
【請求項9】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出
し、
前記代表線分を基本線分として抽出することは、
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
ひび線抽出処理をコンピュータに実行させるためのプログラム。
【請求項10】
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出
し、
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える、
ひび線抽出処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ひび線抽出装置、ひび線抽出方法、及び、ひび線抽出プログラムに関する。
【背景技術】
【0002】
橋などの構造物のひびの状態を点検するために、構造物の表面のひびを図面に記録する作業が目視及び手描きによって行われている。作業員は、例えば、写真などを参照しながら手描きでひび線を図面に記入する。ひび線は、ストローク、即ち、ひび線を含む最長かつ連続する線で記入される。しかしながら、当該作業には時間及び手間がかかる。
【先行技術文献】
【特許文献】
【0003】
【0004】
作業の時間及び手間を低減するため、カメラ撮影画像からひび線を自動抽出する技術が存在する。当該技術では、画像を複数の矩形領域に分割し、各矩形領域内で画像を回転、投影することで、画像内の線分の幅、長さ、方向、及び座標位置などの特徴を取得する。その後、隣接する線分どうしのなす角が180°に近く、隣接する線分の端点どうしの距離が短く、隣接する線分の中点が略水平に並ぶ配置である場合、または、隣接する線分が交差している場合に、隣接する2つの線分を統合する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記技術では、矩形領域から抽出した隣接する2つの線分間の関連情報だけを使用して線分を統合するため、ひび線の候補の中で最長かつ連続するひび線が取得されない可能性が存在する。また、線分を統合する際に、ひび点の連続性を考慮していないため、実際には連続していない線分を統合する虞が存在する。
【0006】
本発明は、1つの側面として、ひび点を代表するひび線の候補の中から最長かつ連続するひび線群に対応するストロークを抽出することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施形態では、構造物を撮影して取得された画像を複数の領域に分割し、複数の領域の内、複数のひび点を含む複数の対象領域について、複数の対象領域毎に複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する。抽出された基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する。生成した木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する。
【発明の効果】
【0008】
本発明は、1つの側面として、ひび点を代表するひび線の候補の中から最長かつ連続するひび線群に対応するストロークを抽出することを可能とする。
【図面の簡単な説明】
【0009】
【
図1】ひび線抽出装置の要部機能の一例を示すブロック図である。
【
図2C】領域を分割した小領域を例示する概念図である。
【
図3】矩形領域境界上及び矩形領域境界付近のひび点の処理を説明する概念図である。
【
図4A】端点移動線分の生成処理を説明する概念図である。
【
図4B】端点移動線分の生成処理を説明する概念図である。
【
図5A】線分集合に含まれる代表線分及び端点移動線分を例示する概念図である。
【
図9】ひび線抽出装置のハードウェアの一例を示すブロック図である。
【
図10】ひび線抽出処理の流れの一例を示すフローチャートである。
【
図11】線分抽出処理の流れの一例を示すフローチャートである。
【
図12】端点移動処理の流れの一例を示すフローチャートである。
【
図13】線分集合抽出処理の流れの一例を示すフローチャートである。
【
図14】ストローク抽出処理の流れの一例を示すフローチャートである。
【
図15】木構造生成処理の流れの一例を示すフローチャートである。
【
図16A】本実施形態で抽出されるストロークの一例を示すフローチャートである。
【
図16B】関連技術で抽出されるストロークの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して実施形態の一例を詳細に説明する。
【0011】
図1に例示するひび線抽出装置10は、ひび点入力部11、領域分割部12、線分抽出部13、端点移動部14、線分集合抽出部15、木構造生成部16、及びストローク抽出部17を含む。
【0012】
ひび点入力部11は、例えば、橋などの構造物の表面を撮影したひび点を含む画像に、減色及び強調などの既存の前処理を加えることで、ひび点を顕在化した画像を入力する。ひび点は、ひびを表す点であり、ひび線に含まれる場合が多いが、独立に存在してもよい。領域分割部12は、画像を所定サイズの複数の領域に分割する。各領域は、例えば、100画素×100画素の矩形領域であってよい。
図2Aは、画像を領域R11及びR12に分割した状態、及び、丸印で表したひび点の一例を示す。
【0013】
線分抽出部13は、領域R11、R12の各々から1つの代表線分を抽出する。代表線分は、領域内に含まれるひび点を代表する線分であり、領域どうしの境界まで延びる直線である。代表線分は、例えば、ひび点の各々の座標情報を使用して取得される回帰直線であってよい。
【0014】
回帰直線とは、ひび点の分布傾向を表す直線であり、ひび点の各々の座標情報から最小二乗法によって算出される。これにより、ひび点が飛び飛びで検出され、雑音を含む場合であっても、適切にひび点を代表する代表線分を取得することができる。
【0015】
代表線分とひび点との距離の平均値が所定の閾値よりも大きい場合、線分抽出部13は、領域を小領域に相当する複数の領域にさらに分割し、分割した小領域の各々から1つの代表線分を抽出する。代表線分とひび点との距離の平均値が所定の閾値以下になるまで、領域の分割及び代表線分の抽出を繰り返す。
【0016】
代表線分とひび点との距離の平均値が所定の閾値より大きい場合、領域内のひび点が2つ以上の線分に代表される可能性が高いためである。所定の閾値は、例えば、5画素であってよい。なお、代表線分とひび点との距離の平均値に代えて、例えば、代表線分とひび点との距離の最大値を使用してもよいし、代表線分とひび点との距離の分散値を使用してもよい。
【0017】
図2Bは、領域R11内に含まれる複数のひび点を代表する代表線分LS11及び領域R12内に含まれる複数のひび点を代表する代表線分LS12の一例を示す。線分抽出部13は、各ひび点の代表線分までの距離の平均値が所定の閾値より大きいか否か、領域毎に判断する。
図2Bに例示されるように、領域R11では、ひび点の代表線分LS11までの距離の平均値が所定の閾値以下であり、領域R12では、ひび点の代表線分LS12までの距離の平均値が所定の閾値より大きい、場合について説明する。
【0018】
距離の平均値が所定の閾値より大きい領域R12を小領域に相当する複数の領域にさらに分割する。
図2Cでは、領域R12を4つの小領域R21、R22、R23、及びR24に分割する例を示す。線分抽出部13は、小領域の各々から1つの代表線分を抽出する。
図2Dは、領域R21内のひび点を代表する線分LS21及び領域R23内のひび点を代表する線分LS23の一例を示す。小領域R22及びR24にはひび点が存在しないため、代表線分は抽出されていない。
【0019】
なお、矩形領域境界上に代表線分が存在する場合、上記方法では代表線分を抽出することができない。したがって、矩形領域境界上もしくはその付近に所定数以上のひび点が存在する場合、矩形領域境界が縦方向であれば、矩形領域境界に沿った縦方向の線分を抽出し、矩形領域境界が横方向であれば、矩形領域境界に沿った横方向の線分を抽出する。抽出した縦方向の線分または横方向の線分の近傍に、矩形領域のひび点を代表する代表線分が既に存在する場合、抽出した縦方向の線分または横方向の線分は除去する。
【0020】
図3に矩形領域境界上及び矩形領域境界付近にひび点が存在する場合を例示する。例えば、F11及びF12で示す矩形領域境界上及び矩形領域境界付近には所定数以上のひび点が存在するため、矩形領域境界に沿った縦方向の線分を代表線分として抽出する。F12で示す矩形領域境界付近には、矩形領域のひび点を代表する代表線分RSが既に存在するため、F12で抽出した縦方向の線分は除去する。代表線分RSの方が、矩形領域境界に沿った線分よりひび点を適切に代表する線分である可能性が高いためである。
【0021】
端点移動部14は、代表線分の領域境界上の端点を移動することで、領域内のひび点を適切に代表すると共に、隣接する領域の線分との接続可能な度合いを向上させる端点移動線分を生成する。
【0022】
端点移動部14は、例えば、領域境界上にひび点が存在する場合、第1端点から最も近い領域境界上のひび点か、ひび点の代表線分への投影点が代表線分の第2の端点から最も遠い当該ひび点に、第1の端点を移動する。どちらに移動するかは、どちらに移動した場合に、線分が領域内のひび点を適切に代表するかに依存して決定する。領域境界上にひび点が存在しない場合、ひび点の代表線分への投影点が代表線分の第2の端点から最も遠い当該ひび点に、第1の端点を移動する。
【0023】
図2Eは、
図2Dで例示した代表線分LS11に対応する端点移動線分LS16、代表線分LS21に対応する端点移動線分LS26、及び代表線分LS23に対応する端点移動線分LS28を例示する。
図2Eにおいて、代表線分を破線で表し、端点移動線分を実線で表す。
【0024】
端点移動線分LS16は、代表線分LS11の第1の端点を、ひび点の代表線分への投影点が第2の端点から最も遠いひび点に移動し、第2の端点を、ひび点の代表線分への投影点が第1の端点から最も遠いひび点に移動することで生成される。
【0025】
端点移動線分LS26は、代表線分LS21の第1の端点を、ひび点の代表線分への投影点が第2の端点から最も遠いひび点に移動し、第2の端点を、領域境界上の第2の端点に最も近いひび点に移動することで生成される。端点移動線分LS28は、領域境界上の第1の端点を、ひび点の代表線分への投影点が第2の端点から最も遠いひび点に移動し、第2の端点を、ひび点の代表線分への投影点が第1の端点から最も遠いひび点に移動することで生成される。
【0026】
図4A及び
図4Bを使用して、端点移動線分生成処理の一例を説明する。端点移動部14は、
図4Aに例示するように、領域境界上のひび点の内、代表線分LS41の一方の端点E41から、領域境界に沿って最も近いひび点をC41に設定する。
【0027】
次に、端点移動部14は、領域境界上のひび点の内、代表線分LS41の他方の端点E42から、領域境界に沿って最も近いひび点をC42に設定する。端点移動部14は、領域内のひび点を線分LS41に投影した投影点の内、端点E41から最も遠い投影点をP41に設定し、投影点の内、端点E42から最も遠い投影点をP42に設定する。
【0028】
端点移動部14は、4つの線分C41-C42、C41-P41、P42-C42、P42-P41の内、線分の近傍に存在するひび点の数が最大である線分の端点に代表線分LS41の両端点を移動する。
図4Aの例では、線分C41-P41の近傍に存在するひび点の数が最大であるため、端点E41をC41に移動し、端点E42をP41に移動することで端点移動線分を生成する。
図4Bは生成された端点移動線分LS42を例示する。
【0029】
線分集合抽出部15は、基本線分の一例である代表線分及び端点移動線分から端点間が近接する線分集合を抽出する。線分集合抽出部15は、代表線分及び端点移動線分の内から1つの線分Aを選択し線分集合に入れる。
【0030】
線分集合抽出部15は、線分Aの端点と何れか一方の端点との距離が所定の閾値より小さい線分Bを、代表線分及び端点移動線分の内から選択し、線分集合に入れる。線分Bは複数存在してもよい。
【0031】
線分集合抽出部15は、線分Bを線分Aに設定し、線分Aの端点との端点間距離が所定の閾値より小さい線分Bが存在しなくなるまで、上記と同様の処理を繰り返す。線分Aの端点との端点間距離が所定の閾値より小さい線分Bが存在しない場合、線分集合抽出部15は、線分集合内の線分を処理済みに設定し、線分集合を記録した後、未処理の線分を使用して、次の線分集合を生成する。
【0032】
木構造生成部16は、線分集合に含まれる線分から木構造を生成する。木構造生成部16は、線分集合に含まれる線分の内から、最も左の線分を選択し当該線分の左の端点をルートとするか、または、最も上の線分を選択し当該線分の上の端点をルートとする。例えば、線分集合全体の形状が横方向に延びている場合には、最も左の線分を選択し、線分集合全体の形状が縦方向に延びている場合には、最も上の線分を選択する。
【0033】
木構造生成部16は、線分集合に含まれる線分から、ルートに近い端点とルートとの距離が所定の閾値以下である線分を選択し、当該線分のルートに近い端点をルートに接続する。ルートに接続される線分は木構造の枝であり、複数存在してもよい。
【0034】
木構造生成部16は、ルートをもつ線分、及びルートに接続されている線分のルートから遠い端点を成長点とし、線分集合に含まれる線分から、成長点に近い端点との端点間距離が所定の閾値以下である線分を選択し、当該成長点に近い端点を成長点に接続する。成長点に成長線分として接続される線分は、木構造の枝であり、複数存在してもよい。
【0035】
木構造生成部16は、成長線分の成長点と異なる端点を新たな成長点とし、線分集合に含まれる線分から、新たな成長点に近い端点との端点間距離が所定の閾値以下である線分を選択し、当該新たな成長点に近い端点を新たな成長点に接続する処理を繰り返す。
【0036】
新たな成長点に新たな成長線分として接続される線分は、複数存在してもよい。新たな成長点に近い端点との端点間距離が所定の閾値以下である線分が存在しない場合、木構造に含まれる線分を処理済み線分とし、木構造を記録した後、未処理線分を使用して新たな木構造を生成する。
【0037】
図5A及び
図5Bを使用して、線分集合が線分LS51~LS60を含む場合の木構造生成の一例を説明する。
図5Aにおいて、実線は、代表線分を表し、破線は、端点移動線分を表す。木構造生成部16は、線分集合の全体的な形状が横方向に延びているため、
図5Aの最も左の線分LS51を選択し、
図5Bに例示するように木構造に追加し、線分LS51の左の端点をルートとする。
【0038】
木構造生成部16は、ルートから所定距離内に端点を有する線分LS52を選択し、
図5Bに例示するように木構造に追加する。線分LS51及びLS52は、木構造の枝である。
図5Aの例では、他にルートから所定距離内に端点を有する線分は存在しないため、線分LS51のルートとは異なる端点及び線分LS52のルートとは反対側の端点を成長点に設定する。
【0039】
木構造生成部16は、線分LS51の成長点から所定距離内に端点を有する線分LS53及びLS54を選択し、
図5Bに例示するように木構造に追加する。線分LS53及びLS54は、木構造の枝である。また、木構造生成部16は、線分LS52の成長点から所定距離内に端点を有する線分LS56を選択し、
図5Bに例示するように木構造に追加する。線分LS56は、木構造の枝である。
【0040】
木構造生成部16は、線分LS51及びLS52の成長点から遠い、線分LS53、LS54及びLS56の端点を新たな成長点に設定する。以降の詳細な説明は省略するが、木構造生成部16は、成長点から所定距離内に端点を有する線分が存在しなくなるまで、同様の処理を繰り返すことで線分集合毎に木構造を生成する。
【0041】
なお、木構造を生成する際に、基本線分の一例である代表線分及び端点移動線分の双方を使用する例について説明したが、本実施形態は、これに限定されない。例えば、代表線分または端点移動線分の何れか一方だけを使用して木構造を生成してもよい。
【0042】
しかしながら、
図6Aに白線で例示する代表線分が抽出された場合、隣接する領域間で代表線分の端点どうしの間の距離が長く、適切な木構造が生成される可能性は低い。一方、
図6Bに白線で例示する、
図6Aの代表線分から生成した端点移動線分は、隣接する領域間で端点どうしの間の距離が短く、適切な木構造が生成される可能性が高い。したがって、
図6Aに例示する代表線分が抽出された場合であっても、木構造を生成する際に、代表線分だけでなく端点移動線分も使用することで、最長かつ連続するひび線群に対応するストロークを抽出することができる可能性を向上させることができる。
【0043】
ストローク抽出部17は、木構造に含まれる複数の経路から、接続可能な度合いが高く、かつ、最も長い、最上位から最下位までの経路を選択することでストロークを抽出する。ストローク抽出部17は、木構造の最上位から最下位までの経路毎の指標値PVを、例えば、式(1)を使用して算出する。
PV=w・TL+(1-w)・TP …(1)
【0044】
TLは、経路内の線分の長さの合計であり、TPは、経路毎の接続可能な度合いである。w(0≦w≦1)は、所定の重み係数である。経路内の線分の長さの合計TLは、例えば、式(2)を使用して算出される。
【数1】
Nは経路内の線分の数であり、LEN
iは、経路内でi番目の線分の長さを表す。
【0045】
経路毎の接続可能な度合いTPは、例えば、式(3)を使用して算出する。
【数2】
【0046】
j=i+1であり、pijは、i番目とj番目、即ち、経路内で隣接する線分間の接続可能な度合いである。接続可能な度合いpijは、例えば、式(4)を使用して算出する。
pij=pgij・panij・pconij …(4)
【0047】
pgijは、経路内のi番目の線分とj番目の線分との間の距離の度合いであり、panijはi番目とj番目の線分間の傾斜差の度合いであり、pconijはi番目の線分とj番目の線分との間の連続性の度合いである。距離の度合いpgijは、隣接する基本線分間の距離に基づいて算出される値であり、例えば、式(5)を使用して算出する。
pgij=max(1-DDij/ct1,0) …(5)
【0048】
DD
ijは、j番目の線分に近い方のi番目の線分の端点と、i番目の線分に近い方のj番目の線分の端点との間の距離である。DD
ijは、i番目の線分の端点の座標が(x
i,y
i)であり、j番目の線分の端点の座標が(x
j,y
j)である場合、例えば、式(6)を使用して算出される。
【数3】
【0049】
ct1は、所定の定数であり、式(5)では、端点間の距離DDijがct1の値より大きい場合、1-DDij/ct1は負の値となり、pgijは0に設定されるため、端点間の距離の度合いpgijは、0以上1以下の値となる。端点間の距離DDijが0である場合、pgijは1となる。ct1は、例えば、領域の高さまたは幅の値であってよく、例えば、100画素であってよい。
【0050】
傾斜差の度合いpan
ijは、基本線分どうしのなす角度に基づいて算出される値であり、例えば、式(7)で算出される。
pan
ij=max(cos(dan
ij),e) …(7)
dan
ijは、i番目の線分LS
iとj番目の線分LS
jとの傾斜差であり、例えば、
図7に例示するように、線分LS
iを延長した線HL
iと線分LS
jを延長した線HL
jとがなす角の内、小さい方の角度である。したがって、dan
ijは、0[rad]以上π/2[rad]以下の値となる。
【0051】
eは十分小さい所定の値であり、例えば、0.001であってよい。傾斜差danijがπ/2[rad]である場合、cos(danij)は0となるが、式(7)では、傾斜差の度合いpanijを0とせずeとするため、傾斜差の度合いpanijは、e以上1以下の値となる。傾斜差が0[rad]の場合、傾斜差の度合いpanijは1となる。
【0052】
連続性の度合いpconijは、隣接する領域に存在する基本線分各々の共通する境界上の端点と該端点に最も近いひび点との距離に基づいて算出される値であり、例えば、式(8)を使用して算出される。
pconij=pcoi・pcoj …(8)
pcoi=max(1-di/ct2,0) …(9)
pcoj=max(1-dj/ct2,0) …(10)
【0053】
図8に例示するように、d
iは、基本線分LS
iの境界BL
ij上の端点E
iと端点E
iに最も近い領域R
i内のひび点との距離であり、d
jは、基本線分LS
jの境界BL
ij上の端点E
jと端点E
jに最も近い領域R
j内のひび点との距離である。ct2は、所定の値であり、例えば、領域の高さまたは幅と同じ値であってよく、例えば、100画素であってよい。
【0054】
距離diがct2の値より大きい場合、1-di/ct2は負の値となるが、式(9)によれば0となるため、pcoiは0以上1以下の値となる。距離diが0である場合、即ち、線分LSiの境界BLij上の端点Eiと端点Eiに最も近いひび点とが一致する場合、pcoiは1となる。
【0055】
距離djがct2の値より大きい場合、1-dj/ct2は負の値となるが、式(10)によれば0となるため、pcojは0以上1以下の値となる。距離djが0である場合、即ち、線分LSjの境界BLij上の端点Ejと端点Ejに最も近いひび点とが一致する場合、pcojは1となる。
【0056】
したがって、線分LSiの境界BLij上の端点Eiと端点Eiに最も近いひび点とが一致し、かつ、線分LSjの境界BLij上の端点Ejと端点Ejに最も近いひび点とが一致する場合に、連続性の度合いpconijは1となる。ストローク抽出部17は、木構造に含まれる複数の経路から、木構造の最上位から最下位までの経路の指標値PVが最大となる経路を選択することでストロークを抽出する。これにより、本実施形態では、ひび点を代表するひび線の候補の中から最長かつ連続するひび線群に対応するストロークを抽出することができる。
【0057】
ストローク抽出部17は、抽出したストロークを記録した後、当該ストロークに対応する経路を木構造から削除する。ストローク抽出部17は、木構造に含まれる残りの経路から、木構造の最上位から最下位までの経路の指標値PVが最大となる経路を選択することでストロークを抽出する処理を繰り返す。ひび線は分岐している場合があるため、1つの木構造に複数のストロークが存在する可能性があるためである。ストローク抽出部17は、選択可能な経路が存在しない場合、ストローク抽出処理を終了する。
【0058】
ストローク抽出部17は、所定数以上の枝、即ち、線分を含む経路が存在しない場合に、ストローク抽出処理を終了してもよい。なお、接続可能な度合いとして、距離の度合い、傾斜差の度合い、及び連続性の度合いを使用する例について説明したが、本実施形態はこれに限定されない。例えば、接続可能な度合いとして、距離の度合い、傾斜差の度合い、及び連続性の度合いの内、何れか2つまたは1つを使用してもよい。何れか2つを使用する場合、例えば、距離の度合い及び傾斜差の度合いを使用してもよい。
【0059】
なお、接続可能な度合いTPは、経路内で隣接する線分間ではなく、経路内の全ての線分どうしについて、例えば、式(11)で算出してもよい。
この場合、p
ikは式(12)で算出される。
p
ik=pg
ik・pan
ik・pcon
ik …(12)
【0060】
図9に、ひび線抽出装置10のハードウェア構成を例示する。ひび線抽出装置10は、一例として、
図9に示すように、CPU(Central Processing Unit)51、一次記憶部52、二次記憶部53、及び、外部インターフェイス54を含む。CPU51は、ハードウェアであるプロセッサの一例である。CPU51、一次記憶部52、二次記憶部53、及び、外部インターフェイス54は、バス59を介して相互に接続されている。
【0061】
一次記憶部52は、例えば、RAM(Random Access Memory)などの揮発性のメモリである。二次記憶部53は、例えば、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの不揮発性のメモリである。
【0062】
二次記憶部53は、プログラム格納領域53A及びデータ格納領域53Bを含む。プログラム格納領域53Aは、一例として、ひび線抽出プログラムなどのプログラムを記憶している。データ格納領域53Bは、一例として、ひび点の情報及びひび線抽出プログラムを実行している間に生成される中間データなどを記憶する。
【0063】
CPU51は、プログラム格納領域53Aからひび線抽出プログラムを読み出して一次記憶部52に展開する。CPU51は、ひび線抽出プログラムをロードして実行することで、
図1のひび点入力部11、領域分割部12、線分抽出部13、端点移動部14、線分集合抽出部15、木構造生成部16、及びストローク抽出部17として動作する。
【0064】
なお、ひび線抽出プログラムなどのプログラムは、外部サーバに記憶され、ネットワークを介して、一次記憶部52に展開されてもよい。また、ひび線抽出プログラムなどのプログラムは、DVD(Digital Versatile Disc)などの非一時的記録媒体に記憶され、記録媒体読込装置を介して、一次記憶部52に展開されてもよい。
【0065】
外部インターフェイス54には外部装置が接続され、外部インターフェイス54は、外部装置とCPU51との間の各種情報の送受信を司る。
図9では、外部インターフェイス54に、外部記憶装置55A、カメラ55B、及びディスプレイ55Cが接続されている例を示している。
【0066】
橋などの構造物の表面を撮影したひび点を含む画像は、外部記憶装置55Aに記録されていてもよし、カメラ55Bで撮影されてもよい。また、抽出されたストロークは外部記憶装置55Aに記録されてもよいし、ディスプレイ55Cに画像として表示されてもよい。なお、構造物は、例えば、建物の壁、道路などであってもよい。
【0067】
外部記憶装置55A、カメラ55B、及びディスプレイ55Cは、外部インターフェイス54に接続されていなくてもよいし、これらの内、1つまたは2つだけが外部インターフェイス54に接続されていてもよい。また、外部記憶装置55A、カメラ55B、及びディスプレイ55Cの内、何れかまたは全部は、ひび線抽出装置10に内蔵されていてもよいし、ネットワークを介して、ひび線抽出装置10と離隔した位置に配置されていてもよい。
【0068】
また、ひび線抽出装置10は、専用装置であってもよいし、ワークステーション、パーソナルコンピュータ、またはタブレットなどの汎用装置であってもよい。
【0069】
次に、ひび線抽出処理の作用の概要について説明する。
図10は、ひび線抽出処理の流れを例示する。CPU51は、ステップ101で、線分抽出処理を実行し、ステップ102で、端点移動処理を実行し、ステップ103で、線分集合抽出処理を実行し、ステップ104で、ストローク抽出処理を実行する。
【0070】
図11に、
図10のステップ101の線分抽出処理の流れを例示する。CPU51は、ステップ111で、構造物を撮影して取得された画像を所定サイズの領域に分割する。CPU51は、ステップ112で、未処理領域が存在するか否か判定する。ステップ112の判定が否定された場合、CPU51は、線分抽出処理を終了する。
【0071】
ステップ112の判定が肯定された場合、CPU51は、ステップ113で、領域内のひび点を代表する代表線分を抽出する。領域内のひび点を代表する線分は、例えば、回帰直線であってよい。CPU51は、ステップ114で、代表線分とひび点との距離の平均値が所定の閾値より大きいか否か判断する。
【0072】
ステップ114の判定が否定された場合、CPU51は、ステップ115で、代表線分を記録し、ステップ112に戻る。ステップ114の判定が肯定された場合、CPU51は、ステップ116で、領域を小領域に分割して、該小領域を新たな未処理領域とし、ステップ112に戻る。
【0073】
図12に、
図10のステップ102の端点移動処理の流れを例示する。CPU51は、ステップ151で、未処理の代表線分が存在するか否か判定する。ステップ151の判定が否定された場合、CPU51は、端点移動処理を終了する。
【0074】
ステップ151の判定が肯定された場合、CPU51は、ステップ152で、代表線分の第1端点について、移動先候補を設定する。詳細には、第1端点から最も近い領域境界上のひび点、及び、ひび点の代表線分への投影点が代表線分の第2端点から最も遠い当該ひび点を、移動先候補として設定する。領域境界上にひび点が存在しない場合、ひび点の代表線分への投影点が代表線分の第2端点から最も遠い当該ひび点を、移動先候補として設定する。
【0075】
CPU51は、ステップ153で、代表線分の第2端点について、移動先候補を設定する。詳細には、第2端点から最も近い領域境界上のひび点、及び、ひび点の代表線分への投影点が代表線分の第1端点から最も遠い当該ひび点を、移動先候補として設定する。領域境界上にひび点が存在しない場合、ひび点の代表線分への投影点が代表線分の第1端点から最も遠い当該ひび点を、移動先候補として設定する。
【0076】
CPU51は、ステップ154で、第1端点及び第2端点の少なくとも何れかについて移動先候補が2つ存在する場合、2つの移動先候補の何れかを移動先に決定する。2つの移動先候補のどちらを移動先に決定するかは、第1端点及び第2端点をどちらの移動先に移動した場合に、生成される端点移動線分が領域内のひび点をより適切に代表するか、に基づく。
【0077】
例えば、第1端点及び第2端点をどちらの移動先に移動した場合に、端点移動線分の近傍にひび点がより多く存在するかによって決定してもよい。CPU51は、ステップ154で、第1端点及び第2端点の少なくとも何れかについて移動先候補が1つ存在する場合、当該移動先候補を移動先に決定する。CPU51は、ステップ151に戻る。
【0078】
図13に、
図10のステップ103の線分集合抽出処理の流れを例示する。CPU51は、ステップ121で、何れの線分集合にも含まれていない未処理線分が存在するか否か判定する。ステップ121の判定が否定された場合、CPU51は、線分集合抽出処理を終了する。
【0079】
CPU51は、ステップ122で、任意の1つの線分Aを線分集合に入れる。CPU51は、ステップ123で、線分Aの何れかの端点との端点間距離が閾値より小さい端点をもつ線分Bが存在するか否か判定する。ステップ123の判定が肯定された場合、CPU51は、ステップ124で、条件に該当する全ての線分Bを線分集合に入れる。CPU51は、ステップ125で、全ての線分Bを新たな線分Aに設定し、ステップ123に戻る。
【0080】
ステップ123では、線分Aが複数存在する場合、全ての線分Aの何れかの端点との端点間距離が閾値より小さい端点をもつ線分Bが存在するか否か判定する。ステップ123の判定が肯定された場合、CPU51は、ステップ124に進む。ステップ123の判定が否定された場合、CPU51は、ステップ126で、線分集合を記録し、線分集合内の線分を処理済み線分に設定し、ステップ127で、線分集合をクリアし、ステップ121に戻る。
【0081】
図14に、
図10のステップ104のストローク抽出処理を例示する。CPU51は、ステップ131で、未処理の線分集合が存在するか否か判定する。ステップ131の判定が肯定された場合、CPU51は、ステップ132で、線分集合が複数存在する場合、何れかの線分集合を選択する。CPU51は、ステップ133で、部分集合に含まれている線分に対応する木構造を生成する。
【0082】
CPU51は、ステップ134で、木構造に経路が存在するか否か判定する。ステップ134の判定が肯定された場合、CPU51は、ステップ135で、木構造に含まれる複数の経路から、木構造の最上位から最下位までの経路の上記指標値が最大となる経路を選択することでストロークを抽出する。CPU51は、ステップ136で、抽出したストロークを記録し、当該経路を木構造から削除し、ステップ134に戻る。
【0083】
ステップ134の判定が否定された場合、即ち、木構造に経路が存在しない場合、CPU51は、ステップ131に戻る。CPU51は、ステップ131で、未処理の線分集合が存在するか否か判定し、ステップ131の判定が否定され、ステップ136で記録されたストロークが存在する場合、ステップ137で、ストロークを出力し、ストローク抽出処理を終了する。
【0084】
ステップ137で、ストロークを出力する場合、ストロークは、例えば、
図16Aに実線及び破線で例示するように、ディスプレイ55Cに、画像として表示されてもよい。実線は、例えば、第1のストロークに対応する経路に含まれる線分を表し、破線は、例えば、第2のストロークに対応する経路に含まれる線分を表す。
【0085】
また、ストロークは、ストロークに対応する経路に含まれる線分をつなげた折れ線に近似する曲線で表されてもよい。折れ線に近似する曲線は、既存の技術で生成される。また、ストロークは、ストロークの識別番号とストロークに対応する経路に含まれる線分の情報とを関連付けて、例えば、外部記憶装置55Aに記録されてもよい。
【0086】
図15に、
図14のステップ133の木構造生成処理を例示する。CPU51は、ステップ141で、線分集合の全体形状から木構造の全体的な形状を決定する。木構造の全体的な形状が横方向に延びている場合、最も左に端点を有する線分を選択し、木構造の全体的な形状が縦方向に延びている場合、最も上に端点を有する線分を選択する。
【0087】
CPU51は、ステップ142で、木構造の全体的な形状が横方向に延びている場合、線分の左側の端点をルートに設定し、木構造の全体的な形状が縦方向に延びている場合、線分の上側の端点をルートに設定する。CPU51は、ステップ143で、ルートと端点との距離が所定値以下である端点をもつ線分が存在するか否か判定する。ルートと端点との距離が所定値以下である端点をもつ線分は複数存在してもよい。
【0088】
ステップ143の判定が肯定された場合、CPU51は、ステップ144で、当該線分を木構造に追加し、ステップ145に進む。ステップ143の判定が否定された場合、CPU51は、ステップ145に進む。木構造に含まれる線分のルートと反対側の端点を成長点とし、CPU51は、ステップ145で、成長点と端点との距離が所定値以下である端点をもつ線分が存在するか否か判定する。成長点と端点との距離が所定値以下である端点をもつ線分は複数存在してもよい。
【0089】
ステップ145の判定が肯定された場合、CPU51は、ステップ146で、木構造に当該線分を成長線分として追加し、ステップ145に戻る。木構造に含まれる成長線分の成長点と反対側の端点を新たな成長点とし、CPU51は、ステップ145で、成長点と端点との距離が所定値以下である端点をもつ線分が存在するか否か判定する。
【0090】
ステップ145の判定が否定された場合、即ち、成長点と端点との距離が所定値以下である端点をもつ線分が1つも存在しない場合、CPU51は、ステップ147で、木構造を記録する。CPU51は、ステップ148で、木構造をクリアする。
【0091】
CPU51は、ステップ149で、線分集合内に未処理の線分、即ち、木構造に含まれていない線分が存在するか否か判定する。ステップ149の判定が肯定された場合、CPU51は、ステップ141に戻り、未処理の線分について、ステップ141~ステップ149の処理を繰り返す。ステップ149の判定が否定された場合、CPU51は、木構造生成処理を終了する。
【0092】
図16Bに、関連技術で抽出したストロークを例示する。第1のストロークに含まれる線分を実線で表し、第2のストロークに含まれる線分を破線で表す。関連技術では、隣接する線分どうしの関係だけで線分を接続することでストロークを抽出しているため、最長かつ連続するひび線群に対応するストロークが抽出されていない。
【0093】
一方、
図16Aに例示する本実施形態で抽出したストロークでは、実線で示すように、第1のストロークとして最長かつ連続するひび線群に対応するストロークを抽出することができる。本実施形態では、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出しているためである。
【0094】
橋などの構造物のひびの状態を点検するために、構造物の表面のひびを図面に記録する作業が目視及び手描きによって行われている。作業員は、例えば、写真などを参照しながら手描きでひび線を図面に記入する。ひび線は、ストローク、即ち、ひび線を含む最長かつ連続する線で記入される。本実施形態では、作業にかかる時間及び手間を低減しつつ、作業員によるひび線の記入と同様の成果物を取得することができる。
【0095】
図10~
図15のフローチャートは一例であり、ステップの詳細及び順序は適宜変更することが可能である。
【0096】
本実施形態では、構造物を撮影して取得された画像を複数の領域に分割し、複数の領域の内、複数のひび点を含む複数の対象領域について、複数の対象領域毎に複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する。抽出された基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する。生成した木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する。
【0097】
これにより、本実施形態では、ひび点を代表するひび線の候補の中から最長かつ連続するひび線群に対応するストロークを抽出することを可能とする。
【0098】
以上の各実施形態に関し、更に以下の付記を開示する。
【0099】
(付記1)
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出する線分抽出部と、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成する木構造生成部と、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出するストローク抽出部と、
を含む、ひび線抽出装置。
(付記2)
前記ストローク抽出部は、
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
付記1のひび線抽出装置。
(付記3)
前記接続可能な度合いは、隣接する基本線分間の距離、基本線分どうしのなす角度、及び、隣接する領域に存在する基本線分各々の共通する境界上の端点と該端点に最も近いひび点との距離、の少なくとも1つに基づいて決定される、
付記1または付記2のひび線抽出装置。
(付記4)
前記線分抽出部は、
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
付記1~付記3の何れかのひび線抽出装置。
(付記5)
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える端点移動部、
をさらに含む、付記1~付記4の何れかのひび線抽出装置。
(付記6)
コンピュータが、
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
ひび線抽出方法。
(付記7)
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
付記6のひび線抽出方法。
(付記8)
前記接続可能な度合いは、隣接する基本線分間の距離、基本線分どうしのなす角度、及び、隣接する領域に存在する基本線分各々の共通する境界上の端点と該端点に最も近いひび点との距離、の少なくとも1つに基づいて決定される、
付記6または付記7のひび線抽出方法。
(付記9)
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
付記6~付記8の何れかのひび線抽出方法。
(付記10)
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える、
付記6~付記9の何れかのひび線抽出方法。
(付記11)
構造物を撮影して取得された画像を複数の領域に分割し、前記複数の領域の内、複数のひび点を含む複数の対象領域について、前記複数の対象領域毎に前記複数の対象領域の各々に含まれる複数のひび点を代表する代表線分を基本線分として抽出し、
抽出された前記基本線分の内、端点どうしが近接する基本線分に基づいて、特定の基本線分の端点をルートとする木構造を生成し、
生成した前記木構造の複数の経路の内、基本線分間で接続可能な度合いを示す値が最も高く、かつ、接続した基本線分の合計の長さが最も長い基本線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
ひび線抽出処理をコンピュータに実行させるためのプログラム。
(付記12)
前記木構造から前記ストロークに対応する経路を取り除いた残りの経路の内、基本線分間で接続可能な度合いを示す値が高く、かつ、接続した基本線分の合計の長さが最も長い線分群に対応する、前記木構造の最上位から最下位までの経路をひび線に対応するストロークとして抽出する、
付記11のプログラム。
(付記13)
前記接続可能な度合いは、隣接する基本線分間の距離、基本線分どうしのなす角度、及び、隣接する領域に存在する基本線分各々の共通する境界上の端点と該端点に最も近いひび点との距離、の少なくとも1つに基づいて決定される、
付記11または付記12のプログラム。
(付記14)
前記対象領域内の複数のひび点と抽出された前記代表線分との間の距離の平均値が閾値より大きい対象領域をさらに複数の小領域に分割し、
前記複数の小領域の内、複数のひび点を含む小領域を新たな対象領域として前記代表線分を抽出する、
付記11~付記13の何れかのプログラム。
(付記15)
前記代表線分の両端点を、前記ひび点を代表した状態を保持したまま、前記接続可能な度合いが高くなるように移動することで端点移動線分を生成して前記基本線分に加える、
付記11~付記14の何れかのプログラム。
【符号の説明】
【0100】
10 ひび線抽出装置
13 線分抽出部
14 端点移動部
16 木構造生成部
17 ストローク抽出部
51 CPU
52 一次記憶部
53 二次記憶部