(57)【要約】【課題】  インフラ構造物の外観を撮影した画像からひび割れを検知した結果において、ひび割れを表す線の接続の状態を確認する作業には時間を要した。【解決手段】  構造物に生じた変状を表す複数の線のうち、１つの接続点を構成する複数の線のそれぞれに異ならせるための識別情報を割り当て、前記複数の線を前記識別情報ごとに表示状態を変えて表示する。【選択図】  図９
2020052786.tif 000002
【特許請求の範囲】
【請求項１】
構造物に生じた変状を表すために定義される複数の線のうち、１つの接続点を構成する複数の線のそれぞれに異なる識別情報を割り当てる割り当て手段と、
前記複数の線を、前記割り当て手段によって割り当てられた識別情報ごとに異なる表示状態で表示部に表示させる制御を行う表示制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記複数の線の、前記表示部における表示状態を変更する指示を受け付ける受付手段を更に有し、
前記表示制御手段は、前記受付手段によって前記指示が受け付けられたのに応じて、前記複数の線を前記割り当て手段によって割り当てられた識別情報ごとに異なる表示状態で表示させる制御を行う表示制御手段とを有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記割り当て手段は、前記複数の線のうち、前記１つの接続点を構成する複数の線のそれぞれに、前記指示に応じて表示状態が変更される順序を割り当てるものであって、前記表示制御手段は、前記割り当て手段によって割り当てられた前記順序に従って、前記複数の線のうち前記１つの接続点を構成する複数の線のそれぞれの表示状態を異なるタイミングで変更する制御を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記受付手段によって前記指示が受け付けられる度に、前記複数の線のうち、前記割り当て手段によって割り当てられた前記順序に応じた一部の表示状態を変更することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記複数の線のそれぞれは、前記構造物を撮影した画像を解析することで前記構造物に生じている変状を検出した結果として定義された線であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記複数の線のそれぞれは、前記構造物を撮影した画像上で前記構造物に生じている変状をユーザがトレースすることで定義された線であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記構造物を撮影した画像に前記複数の線を重畳させた状態で前記表示部に表示させることを特徴とする請求項４乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記複数の線のそれぞれは、前記構造物に生じたひび割れを表し、前記接続点とは、前記ひび割れが分岐する点に相当することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記割り当て手段は、前記複数の線のそれぞれに接続している他の線の数に基づいて、前記順序を割り当てることを特徴とする請求項３乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記割り当て手段は、前記複数の線のうち、前記接続している他の線の数が多い線が前記順序において優先的に早い順または遅い順となるように、前記複数の線のそれぞれに前記順序を割り当てることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記割り当て手段は、前記複数の線のうち、前記１つの接続点を構成する複数の線のそれぞれに、前記識別情報として異なる色を割り当てるものであって、
前記表示制御手段は、前記割り当て手段によって割り当てられた前記識別情報に従って、前記複数の線の少なくとも一部ごとに線の色を変更する制御を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項１２】
前記割り当て手段は、前記１つの接続点を構成する複数の線のうち、前記接続点の前後に渡ってつながっている線と、前記接続点を端点とする線とが識別されるように、前記１つの接続点を構成する複数の線のそれぞれに前記識別情報を割り当てることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記複数の線のうち前記識別情報を割り当てられる線を指定する指定手段をさらに有し、
前記割り当て手段は、前記指定手段によって指定された線に対して前記識別情報を割り当てることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記指定手段は、前記表示部において表示される表示範囲に基づいて、前記識別情報を割り当てられる線を指定することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記指定手段は、ユーザ操作によって指定された線を、前記識別情報を割り当てられる線として指定することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記指定手段は、ユーザ操作によって定義された点の位置に基づいて、前記複数の線のうち、前記点の近傍の線を、前記識別情報を割り当てられる線として指定することを特徴とする請求項１３に記載の情報処理装置。
【請求項１７】
前記指定手段は、前記複数の線のうち、前記点の近傍の線と接続する線を、さらに前記識別情報を割り当てられる線として指定することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記指定手段は、ユーザ操作によって定義された矩形領域に基づいて、前記複数の線のうち、前記矩形領域に属する線を、前記識別情報を割り当てられる線として指定することを特徴とする請求項１３に記載の情報処理装置。
【請求項１９】
割り当て手段により、構造物に生じた変状を表すために定義される複数の線のうち、１つの接続点を構成する複数の線のそれぞれに異なる識別情報を割り当てる割り当て工程と、
表示制御手段により、前記複数の線を、割り当てられた前記識別情報ごとに異なる表示状態で表示部に表示させる制御を行う表示制御工程とを有することを特徴とする情報処理装置の制御方法。
【請求項２０】
コンピュータを、請求項１乃至１８のいずれか１項に記載の情報処理装置として機能させるプログラム。
【請求項２１】
請求項２０に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造物に生じる変状を表す線を表示する技術に関する。
【背景技術】
【０００２】
インフラ構造物の維持管理の必要性から、近年、インフラ構造物の経年変化を検査する技術が求められている。特許文献１では、インフラ構造物の外観を撮影した画像に対してひび割れの自動検知を行い、ひび割れの形状を線として抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−００２５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ひび割れを自動検知した結果には、線の接続状態の誤りが発生する可能性もある。線の接続状態の誤りとは、ひび割れが途中で枝分かれ（分岐）している部分において、接続点の前後に渡り繋がるひび割れと、接続点を端点とするひび割れとを誤認することである。このように線の接続を誤ってしまうと、ひび割れの正しい記録、観察が行えない。そこで、人が、ひび割れを自動検知の結果に線の接続の誤りがあるかを確認する必要がある。しかしながら従来は、線の接続の誤りを確認する作業を効率化する技術は確立されていなかった。
【０００５】
本発明は上記の課題に鑑みてなされたものであり、構造物に生じたひび割れを自動検知した結果において、人がひび割れを表す線の接続の状態を確認する作業を効率化することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、構造物に生じた変状を表すために定義される複数の線のうち、１つの接続点を構成する複数の線のそれぞれに異なる識別情報を割り当てる割り当て手段と、前記複数の線を、前記割り当て手段によって割り当てられた識別情報ごとに異なる表示状態で表示部に表示させる制御を行う表示制御手段とを有する。
【発明の効果】
【０００７】
本発明によれば、構造物に生じたひび割れを検知した結果において、人がひび割れを表す線の接続の状態を確認する作業を効率化できる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図。
【図２】線情報保持部が保持している線情報テーブルの一例を示す図。
【図３】表示される背景画像と線の一例を示す図。
【図４】接続点テーブルの一例を示す図。
【図５】表示状態変更順を管理する順序テーブルの一例を示す図。
【図６】表示状態変更順を管理する順序テーブルの一例を示す図。
【図７】情報処理装置が実行する処理の一例を示すフローチャート。
【図８】表示変更順割り当て処理の一例を示すフローチャート。
【図９】表示状態変更順に沿って線を実線から点線に変更する事例を示す図。
【図１０】表示状態変更順に沿って線を実践から透明に変更する事例を示す図。
【図１１】接続線テーブルの一例を示す図。
【図１２】除外リストの一例を示す図。
【図１３】表示変更順割り当て処理の一例を示すフローチャート。
【図１４】表示状態変更順に沿って線を実線から点線に変更する事例を示す図。
【図１５】表示状態変更順に沿って線を実線から点線に変更する事例を示す図。
【図１６】表示状態変更順に沿って線を実線から点線に変更する事例を示す図。
【図１７】情報処理装置の機能構成を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施形態を、図面を参照して詳細に説明する。なお、以下の実施形態に記載する構成は代表例であり、本発明の範囲はそれらの具体的構成に必ずしも限定されない。
【００１０】
＜第１の実施形態＞
本実施形態では、インフラ構造物に生じたひび割れの形状を表す複数の線の、特に接続部分（ひび割れの分岐部分）の状態を人が確認する作業を支援するインタフェースを提供する。ひび割れの形状を表す複数の線はインフラ構造物の外観を撮影した画像から自動検知された結果として得られる。ただし、構造物の点検者である人（ユーザ）が、インフラ構造物を撮影した画像上でひび割れをトレースした線であってもよい。ユーザがひび割れをトレースする作業においても、ユーザごとのスキルの違いや疲労の程度により、誤りが発生する可能性はあり、その確認を行う場合に本実施形態は適用可能である。本実施形態において支援する作業とは、例えば、接続点の前後に渡り繋がるひび割れと、接続点を端点とするひび割れの誤認の有無を確認する作業である。従来、複数の箇所で接続するか、あるいは重なりあう複数の線の描画データについて、その状態を確認する方法としては、以下のような例があった。例えば、一般的なドローイングソフトウェアやＣＡＤソフトウェアでは、着目する線の接続点に関わる複数の線を１本ずつマウスなどのポインティングデバイスで選択し、選択状態にする。選択状態になることにより、それぞれの線は一時的に他の線との識別が容易であるように表示状態が変わる。その線の表示状態の変化により、ユーザはそれぞれの線が接続点の前後において繋がっているか、あるいは、途切れているかを判別することができた。また、全ての線について例えば色を異ならせるなどにより、線ごとの識別し易さを向上させることも考えられた。
【００１１】
しかしながら、構造物のひび割れを検知した結果は、構造物の大きさ等の様々な要因により大量になる場合もある。そのような場合に、従来のようにマウスなどのポインティングデバイスで１本ずつひび割れを表す線を選択して確認する作業は、長い時間を要する。また、そのような大量の線の全てに、識別し易い異なる色を配色するのは現実的には難しかった。加えて、ひび割れの検知結果には、その位置や形状だけでなく太さや、観察点ごとの伸長の程度など様々な付加情報が伴うものであり、線の色や太さなどはそのような付加情報を表現するために用いたいという要望があった。そこで、本実施形態では、１本ずつひび割れを表す線をポインティングデバイスを使って選択する従来法に比べて、複数の線が接続する点の周辺での線の状態を確認する作業を効率化するインタフェースを提供する。
【００１２】
図１は、本実施形態に係る情報処理装置１００のハードウェア構成を示すブロック図ある。情報処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４、入出力インタフェース１０５、通信インタフェース１０６、表示装置１０７、バス１０８、入力コントローラ１０９、入力装置１１０を有している。
【００１３】
ＣＰＵ１０１は、情報処理装置１００が備える各機能を実行、制御する。ＲＡＭ１０２は、外部装置などから供給されるプログラムやデータを一時記憶する。ＲＯＭ１０３は、変更を必要としないプログラムや各種パラメータを格納する。表示装置１０７はＣＰＵ１０１で描画されたグラフィックスを表示する表示部として機能する。ＨＤＤ１０４は、ハードディスクドライブであって、各種情報を記憶する。入出力インタフェース１０５は、外部の機器とデータの送受信を行うための制御信号を入出力する。通信インタフェース１０６は、ネットワークに接続するための装置であり、ネットワークを介して外部の機器とデータの送受信を行う。なお、ＨＤＤ１０４は、入出力インタフェース１０５または通信インタフェースを介して接続された外部記憶装置に置き換えることもできる。バス１０８は、システムバスであり、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４、入出力インタフェース１０５、通信インタフェース１０６、表示装置１０７、入力コントローラ１０９を接続する。入力コントローラ１０９は、入力装置１１０からの入力信号を制御するコントローラである。入力装置１１０は、ユーザーからの操作指示を受け付けるための外部入力装置であり、例えば、キーボード、マウスなどである。
【００１４】
図１（ｂ）は、本実施形態に係る情報処理装置１００のソフトウェアの構成を示すブロック図の一例である。情報処理装置１００は、受付部１１１、割り当て部１１２、表示制御部１１３、取得部１１４を有する。これらの機能部は、ＣＰＵ１０１が、ＲＯＭ１０３に格納されたプログラムをＲＡＭ１０２に展開し、後述する処理を実行することで実現されている。また例えば、ＣＰＵ１０１を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。さらに情報処理装置１００は、ＨＤＤ１０４又はＲＡＭ１０２の機能部である線情報保持部１１５及び背景画像保持部１１６を有する。以下、各要素について説明する。
【００１５】
受付部１１１は、ＣＰＵ１０１等の機能部であって、ユーザが入力装置１１０を操作することで情報処理装置１００に入力される指示を受け付ける。本実施形態では、少なくとも構造物に生じた変状を表すために定義される複数の線の、表示装置１０７における表示状態を変更する指示を受け付ける。本実施形態では、複数の線が表す構造物に生じた変状として、特に「ひび割れ」を扱う。
【００１６】
割り当て部１１２は、構造物に生じた複数のひび割れを表す複数の線のそれぞれに、受付部１１１が受け付ける指示に応じて表示状態が変更される順序（表示状態変更順）を割り当てる。特に本実施形態では、複数の線のうち、１つの接続点を構成する複数の線のそれぞれに割り当てられる順序を異ならせる。この結果、１つの接続点を構成する複数の線のそれぞれは、受付部１１１が受け付ける指示に応じて表示状態が変わるタイミングがずれる。１本の線が複数の接続点で他の線と接続する場合には、各接続点おいて他の線と表示状態が変更されるタイミングが異なるように表示状態変更順を割り当てる。本実施形態では、割り当て部１１２は、後述する順序テーブルを生成し、一意に識別される線と、その線に割り当てられた順序との対応関係を管理する。
【００１７】
表示制御部１１３は、表示画像を生成し出力することで、表示装置１０７に表示される内容を制御する。本実施形態では、受付部１１１によって、構造物に生じた複数のひび割れを表す複数の線の表示状態を変更する指示が受け付けられるのに応じて、割り当て部１１２によって割り当てられた順序に従って、複数の線の少なくとも一部の表示状態を変更する。例えば、指示が受け付けられる度に、早い順序が割り当てられた線から順に、実線が破線に変化するような表示画像を、表示装置１０７に出力する。表示制御部１１３は、受付部１１１が受け付けるユーザからの指示に応じて、表示装置１０７における画像の表示を開始、終了したり、変更したりする制御を行う。
【００１８】
取得部１１４は、線情報保持部１１５および背景画像保持部１１６に保持された情報を取得し、割り当て部１１２および表示制御部１１３に供給する。線情報保持部１１５には、構造物に生じた変状を表すために定義された複数の線の情報が、テーブル形式で保持される。以下、このテーブルは線情報テーブルと記す。本実施形態では、線情報保持部１１５で保持している線は、構造物を撮影した撮像画像を解析し、自動でひび割れを検出することで生成された線の情報である。ただし、構造物の点検者であるユーザが、インフラ構造物のひび割れをトレースした線を含んでもよい。背景画像保持部１１６には、表示装置１０７で複数の線とともに表示される背景画像を保持する。本実施形態において背景画像とは、前記構造物を撮影した撮像画像、またはその撮像画像に変形また合成などの画像処理を加えた画像である。例えば、インフラ構造物のコンクリートを撮影した写真である。
【００１９】
次に図２から図５を参照して、本実施形態において、線情報保持部１１５に保持される線情報に基づいて表示される複数の線の態様について説明する。図２は、各実施形態において線情報保持部１１５が保持するテーブル形式の線情報（線情報テーブル）を示す図である。また、図３（ａ）は、線情報保持部１１５で保持している線の情報を２次元空間上に表示した図である。
【００２０】
図２（ａ）（ｂ）に示す線情報テーブルにおいて、カラム２０８には線ＩＤ、カラム２０９には制御点、カラム２１０には表示状態の情報が格納される。また、線情報テーブルの１つのレコードは１本の線に対応している。図２（ａ）の線情報テーブルは、７本の線の情報に対応するレコード２０１〜２０７を有しており、それぞれのレコードの情報が描画された結果が、図３（ａ）の線３０１〜３０７に相当する。
【００２１】
線情報テーブルにおいて、線ＩＤのカラム２０８には、線情報テーブルで保持している線を一意に識別可能な文字もしくは数値または文字Ｌと数値の組み合わせを設定する。本実施形態では、線ＩＤには文字と数値の組み合わせを用いる。また、制御点のカラム２０９は、それぞれの線を構成する制御点の座標を保持する。本実施形態では、線は制御点で定義されるスプライン曲線で表現する。ただし、本発明は線の表現方法に限定されず、制御点間の線の表現は例えば直線でもよい。
【００２２】
線情報テーブルの制御点（カラム２０９）について、レコード２０１の線Ｌ１の情報を例に挙げてさらに説明する。レコード２０１の線Ｌ１について、カラム２０９に格納される点群は、図３の線３０１が有している複数の制御点に対応している。ここで括弧内は、図３（ａ）〜（ｄ）の点３０８を原点とする座標系におけるＸＹ座標の値を示す。例えば、（２５，１２）であれば、Ｘ座標２５、Ｙ座標１２の位置に線の制御点が配置されているということである。レコード２０１の線Ｌ１の情報は、カラム２０９に５点の制御点の座標を持している。また、図３に表現される線のうち、レコード２０１に対応する線３０１は、レコード２０１のカラム２０９に保持されている５点の制御点を持つ線である。
【００２３】
表示状態（カラム２１０）には、線の表示状態の情報が格納される。例えばレコード２０１の表示状態は、実線であり、これに対応する図３の線３０１は、実線として表示される。
【００２４】
なお、本実施形態において、線情報テーブルで保持している複数の線の情報は、構造物に生じた複数のひび割れを表したものである。特に、線情報保持部１１５に、背景画像として保持されている構造物の撮像画像を解析し、自動でひび割れを検出することで生成された線の情報である。画像からひび割れ（線）を検出する方法は一般的であるため説明を省略する。あるいは、構造物の点検者であるユーザが、マウスなどのポインティングデバイスを用いて制御点を入力することで生成した線の情報であってもよい。
【００２５】
次に、複数の線に表示状態変更順を割り当てる処理の詳細を説明する。まず、本実施形態の割り当て部１１２は、線情報テーブルを参照し、その情報を利用して、線と線の接続によって生じる接続点の情報を格納したテーブルを作成する。以下、このテーブルを接続点テーブルと記す。
【００２６】
図５は、割り当て部１１２が作成する接続点テーブルの一例を示す図である。接続点テーブルにおいて、カラム４０５には接続点ＩＤ、カラム４０５には接続線の情報が格納される。また、接続点テーブルの１つのレコードは線同士が接続する箇所である接続点を表している。接続点テーブルのレコード４０１〜４０４の接続点は、それぞれ、図３の接続点３１１〜３１４に対応している。
【００２７】
接続点ＩＤ（カラム４０５）には、接続点テーブルで保持している線と線の接続点を一意に識別可能な文字もしくは数値または文字と数値の組み合わせを設定する。本実施形態では、文字Ｃと数値の組み合わせを用いる。カラム５０６には、各レコードの接続点において接続しあう複数の線の線ＩＤをリスト形式で保存する。例えばレコード４０１の接続点Ｃ１であれば、線ＩＤが「Ｌ１」と「Ｌ２」の線が接続していることを意味する。なお、レコード４０１は、図３の接続点３１１に対応しており、線ＩＤが「Ｌ１」である線は、図３では線３０１であり、線ＩＤが「Ｌ２」である線は線３０２である。
【００２８】
さらに、割り当て部１１２は、複数の線のそれぞれに、表示状態変更順を割り当て、表示制御部１１３へ出力する。本実施形態では、複数の線のそれぞれに割り当てられる表示変更順を、テーブルを使って管理する。図５は、表示状態変更順を管理する順序テーブルの一例を示す図である。順序テーブルにおいて、カラム５０８には線ＩＤ、カラム５０９には、順序（表示状態変更順）が格納される。また、順序テーブルの１つのレコードは線と、その線に割り当てられた表示状態変更順の対応関係を表す。線ＩＤ（カラム５０８）には、線情報テーブルのカラム２０８で保持している線ＩＤが格納される。図５（ａ）〜（ｄ）の各順序テーブルのレコード５０１〜５０７は、図２（ａ）の線情報テーブルのレコード２０１〜２０７に対応する。順序（カラム５０９）の情報としては、各レコードの線に割り当てられた表示状態変更順を示す数値が格納される。割り当て部１１２は、接続点テーブルと順序テーブルを用いて、１つの接続点を構成する複数の線のそれぞれに、表示状態を変更する指示に応じて表示状態が変更されるタイミングを異ならせるための順序を割り当てる。線の表示状態を変更する順序の算出方法については、後述するフローチャートで説明する。
【００２９】
本実施形態では、表示制御部１１３により、背景画像保持部１１６から読み出した背景画像に対して、線情報保持部１１５で保持している線情報テーブルの線を重畳して表示部１０７に表示させる。図３（ｂ）は、背景画像保持部１１６から取得される背景画像の一例を表す図である。背景画像３０９は、インフラ構造物のコンクリートを撮影した画像（写真）である。また、背景画像３０９上に存在する模様は、インフラ構造物に生じているひび割れである。もちろん本実施形態は、インフラ構造物のコンクリート以外にも適用可能であり、背景画像の種類に限定されない。
【００３０】
本実施形態では、線情報テーブルに格納される複数の線の情報は、背景画像を解析し、自動でひび割れ（線）を検出することで作成した結果である。表示制御部１１３は、図３（ａ）のように、線情報テーブルを参照し、背景画像３０９に線３０１〜３０７を重畳して表示装置１０７に表示させる。そして、表示制御部１１３は、受付部１１１が、線の表示状態を変更する指示を受け付けた場合、割り当て部１１２により割り当てられた線の表示状態の変更順を管理する順序テーブルを読み出す。そして、表示制御部１１３は、順序テーブルに定義された順序に従って、線情報テーブルで保持している複数の線のそれぞれの表示状態を変更して表示する。具体的には、まず最も早い表示状態変更順が割り当てられた線の表示状態を変更し、さらに受付部１１１が同じ指示を受け付ける度に、順次、次の表示状態変更順が割り当てられた線の表示状態を変更していく。なお、１つの接続点において接し合わない複数の線には、同一のタイミングで表示状態が変更されるような表示状態変更順が割り当てる場合もある。つまり、受付部１１１が、線の表示状態を変更する指示を受け付けたことにより表示状態が変更される線は、複数の線の少なくとも一部であって、必ずしも１本とは限らない。言い換えれば、本実施形態の割り当て部１１２は、構造物に生じた変状を表す複数の線を、１つの接続点において接続する複数の線のそれぞれが異なるグループに属するようにグルーピングするものである。そして本実施形態では、割り当て部１１２によって生成された複数のグループは、それぞれ異なる表示状態変更順と対応する。表示状態変更順に従う段階的な表示状態の変化については詳細を後述する。
【００３１】
次に、図７と図８のフローチャートを用いて、本実施形態に係る情報処理装置１００による処理の流れを説明する。以下、各工程（ステップ）は、それら符号の先頭にはＳを付与して説明することとする。
【００３２】
図７は、本実施形態において情報処理装置１００が実行するメイン処理の一例を表すフローチャートである。Ｓ７０１において、割り当て部１１２は、表示対象となる複数の線のそれぞれに、表示状態変更順を割り当てる。Ｓ７０１の表示状態変更順の割り当て処理の詳細は、図８のフローチャートを参照して後述する。
【００３３】
Ｓ７０２では、表示制御部１１３が、取得部１１４によって線情報保持部１１５から読み出された背景画像を、表示装置１０７に表示させるための表示画像を生成し、出力する。以下、表示制御部１１３は、表示内容の変更が生じるために、表示画像を更新し、表示装置１０７に出力することを繰り返す。これを、以下では単に「表示装置１０７に表示させる」と記す。Ｓ７０３において、表示制御部１１３は、取得部１１４によって線情報保持部１１５から読み出された線情報テーブルの情報に基づいて描画される複数の線を、表示装置１０７において背景画像に重畳して表示させる。このとき表示結果は、図３（ａ）のように背景画像３０９の上に、線３０１〜３０７が重畳した状態となる。
【００３４】
Ｓ７０４では、受付部１１１が、入力装置１１０を介して線の表示状態を変更させる指示を待つ。つまり、線の表示状態を変更させる指示を受け付けたかが判定される。受付部１１１により、線の表示状態を変更させる指示が受け付けられた場合（Ｓ７０４でＹＥＳ）、処理はＳ７０５へ進む。線の表示状態を変更させる指示以外の指示、例えば表示終了の命令が入力された場合や、タイムアウトとなった場合（Ｓ７０４でＮＯ）は処理を終了する。Ｓ７０５において、表示制御部１１３は、ＲＡＭ１０２から順序テーブルを読み出し、順序テーブルに定義された順序に従って、線情報テーブルで保持している複数の線の状態を順に変更して表示装置１０７に表示させる。そして、Ｓ７０４へ戻る。
【００３５】
図８のフローチャートは、Ｓ７０１の表示状態変更順の割り当て処理の流れを表す。Ｓ８０１において、割り当て部１１２、図２（ａ）記載の線情報テーブルを用いて、線と線との接続関係を特定し、図４に示した接続点テーブルを作成する。なお、線情報テーブルに格納された情報から線と線との接続を特定する方法については、一般的な技術を用いることができるため説明を省略する。Ｓ８０２において、割り当て部１１２は、接続点テーブルの最初のレコードを読み込む。例えば、図４の接続点テーブルの場合、最初のレコードとは接続点Ｃ１（レコード４０１）に相当する。Ｓ８０３において、割り当て部１１２は、順序テーブルのすべてのレコードについて、カラム５０９の表示状態変更順に全て１を格納する。図５（ａ）記載の順序テーブルは、Ｓ８０３の処理後の状態を表す。Ｓ８０４において、割り当て部１１２は、割り当てに用いる変数である「ｃｏｕｎｔｅｒ」に２を代入する。
【００３６】
Ｓ８０５において、割り当て部１１２は、接続点テーブルのレコードが全て処理済みであるかを判定する。接続点テーブルのレコードが全て処理済みであれば（Ｓ８０５でＹＥＳ）、割り当て処理を終了し、図７のＳ７０２へ進む。接続点テーブルに未処理のレコードがあれば（Ｓ８０５でＮＯ）、Ｓ８０６へ進む。初回の処理では必ずＮＯに進む。
【００３７】
Ｓ８０６において、割り当て部１１２は、読み込んだレコードに基づく所定の条件を満たす線のレコードが、順序テーブルに含まれるかを判定する。ここで所定の条件を満たすレコードとは、接続点テーブルのうち読み込んだレコードの接続点に接続する線のリスト（カラム４０６）に記載された線ＩＤであって、かつ、順序テーブルにおいて同一の表示状態変更順が割り当てられている複数のレコードである。このような判定を行うため、割り当て部１１２は、まず接続点テーブルのうち読み込まれたレコードのカラム４０６に格納されている線ＩＤを参照する。そして、その時点での順序テーブルにおいて、参照した線ＩＤと同一の線ＩＤをカラム５０８に持つレコードを特定し、表示状態変更順が格納されたカラム５０９を参照する。そして、同一の順序が割り当てられたレコードが含まれるかを判定する。同一の表示状態変更順が割り当てられたレコードが含まれれば（Ｓ８０６でＹＥＳ）、Ｓ８０７へ進む。同一の表示状態変更順が割り当てられたレコードが含まれなければ（Ｓ８０６でＮＯ）、Ｓ８０９へ進む。
【００３８】
例えば、図４の接続点テーブルの最初のレコード４０１が読み込まれている場合、カラム４０６に格納されている線ＩＤは「Ｌ１」と「Ｌ２」である。図５（ａ）の順序テーブル（Ｓ８０３において表示状態変更順が全て１に初期化された状態）において、線ＩＤは「Ｌ１」と「Ｌ２」に対応するレコードは、レコード５０１とレコード６０２である。そして、図５（ａ）の順序テーブルにおいて、レコード５０１とレコード６０２の線について、割り当てられている順序（カラム５０９）は共に１である。つまり、この場合は、順序テーブルに、読み込んだレコードに基づく所定の条件を満たす線のレコードが含まれるので、処理はＳ８０７へ進む。
【００３９】
Ｓ８０７において、割り当て部１１２は、順序テーブルのうち、Ｓ８０６で所定の条件を満たすレコード（線）であると判定された、表示状態変更順が同一の複数のレコードのうち、線ＩＤ（カラム５０８）をソートした場合の最初のレコードを特定する。そして、特定されたレコードの表示状態変更順（カラム５０９）を、ｃｏｕｎｔｅｒの値に書き換える。ここで、線ＩＤをソートの順序は、線ＩＤが数値の場合は、小さい方から昇順である。例えば、線ＩＤが文字である場合は、文字コードの昇順とすればよい。線ＩＤが文字と数字の複合の場合は、両方とも文字として扱いソートしてもよいし、数値のみを基準にソートしてもよい。例えば、図５（ａ）の順序テーブルにおいて、Ｓ８０６で所定の条件を満たすレコード５０１、レコード５０２の線ＩＤは、それぞれ「Ｌ１」、「Ｌ２」である。本実施形態では、線ＩＤ６０８をソートすると、最初のレコードの線ＩＤは「Ｌ１」である。よって、図５（ａ）の順序テーブルにおいて、レコード５０１のカラム５０９に格納された表示状態変更順をｃｏｕｎｔｅｒが保持している数である２に書き換える。
【００４０】
Ｓ８０８において、割り当て部１１２は、ｃｏｕｎｔｅｒの現在の値に１を加算して、ｃｏｕｎｔｅｒに代入する。そして、処理はＳ８０６へ戻る。Ｓ８０７の処理を経てなお、Ｓ８０６で順序テーブルに所定の条件を満たすレコードが含まれると判定されれば、さらにＳ８０７の処理が行われる。一方、Ｓ８０７の処理の結果、８０６で順序テーブルに所定の条件を満たすレコードが含まれないと判定されれば、処理はＳ８０９に進む。Ｓ８０９において、割り当て部１１２は、接続点テーブルの次のレコードを読み込む。そして、処理はＳ８０５に進む。
【００４１】
Ｓ８０２において図４の接続点テーブルの最初のレコードが読み込まれた場合の例では、図５（ａ）の順序テーブルにおいて、レコード５０１のカラム５０９に格納された表示状態変更順が２に書き換えられたことで、Ｓ８０６の所定の条件は満たされなくなる。従って、Ｓ８０９で、次のレコードであるレコード４０２が読み込まれ、再びＳ８０６の判定が行われる。この場合、レコード４０２のカラム４０６に格納された線ＩＤ「Ｌ１」と「Ｌ５」について割り当てされた表示状態変更順はそれぞれ２と１であり、同一ではない。このように処理は繰り返され、レコード４０４が読み込まれた段階で、接続する線である線ＩＤ「Ｌ３」、「Ｌ４」及び「Ｌ５」について、再びＳ８０６で所定の条件を満たすと判定される。このときＳ８０７ではまず、線ＩＤが「Ｌ３」のレコード５０４の値がｃｏｕｎｔｅｒの値である３に書き換えられる。Ｓ８０８でｃｏｕｎｔｅｒがインクリメントされた後、依然として線ＩＤが「Ｌ４」と「Ｌ５」のレコードの表示状態変更順が同一となる（Ｓ８０６でＹＥＳ）。そこでＳ８０７では、線ＩＤが「Ｌ４」のレコード５０４の表示状態変更順がｃｏｕｎｔｅｒの値である４に書き換えられる。このような一連の処理の結果である順序テーブルが、図５（ｂ）で表される。
【００４２】
図９は、図５（ｂ）に示される順序テーブルに従って、表示制御部１１３によって複数の線の表示状態が段階に変更される様子の一例を表す図である。この例では、表示状態の変更指示は、線の表示状態を実線から点線に切り替える指示である。なお図９において、図３で説明したのと同じ要素には、図３で示したのと同じ番号を付与する。
【００４３】
表示状態９００は、図３（ａ）と同じ状態であり、図２（ａ）の線情報テーブルに格納された情報に基づき、背景画像３０９に線３０１〜３０７の複数の線が重畳して表示される。受付部１１１が、１回目の表示状態の変更指示を受け付けたことに応じて、表示装置１０７に表示される内容は、表示状態９００から表示状態９０１に遷移する。表示状態９０１では、図５（ｂ）の順序テーブルのカラム５０９に１が格納されていたレコード（線ＩＤが「Ｌ２」「Ｌ５」「Ｌ６」「Ｌ７」）に対応する線３０２、線３０５、線３０６、線３０７の表示状態が、実線から点線に変更されている。さらに、受付部１１１が、２回目の表示状態の変更指示を受け付けると、表示装置１０７に表示される内容は、表示状態９０１から表示状態９０２に遷移する。ここでは、図５（ｂ）の順序テーブルの順序が２であるレコード５０１に対応する線３０１（線ＩＤが「Ｌ１」）の表示状態が、実線から点線に変更されている。
【００４４】
表示状態９０２において、線３０１が実線から点線に変化したことにより、ユーザは、表示状態９０１との比較により、接続点３１１、接続点３１２、接続点３１３の周囲において検知された線（ひび割れ）の状況を確認することができる。さらに受付部１１１が表示状態の変更指示を受け付ける度に、表示状態９０３へ、表示状態９０４へと、表示状態の遷移が起こる。表示状態９０３では、表示状態変更順が３であった線３０３が実線から点線に変更される。これにより、ユーザには、接続点３１４の周囲の線の状態が確認しやすくなる。例えば、本来は接続点の前後に渡り繋がっているべきひび割れを表す線が、複数段階に分かれて徐々に点線に変化するようであれば、その部分のひび割れの検知結果が誤っていると判断できる。その逆に、接続点を端点とするべきひび割れを表す線が、他のひび割れを表す線と同時に点線に変化するようであれば、その誤りをすぐに判断できる。このように、本実施形態によれば、ひび割れを検知した複数の線を１本ずつ選択状態とし、その線が関わる接続点（ひび割れの分岐部分）の状態の正誤を判断していく従来の方法に比べて効率的に、接続点の状態を確認することができる。従って、ひび割れを表す線が大量の場合であっても、接続状態の確認作業に要する時間を低減することができる。
【００４５】
なお、本実施形態では、受付部１１１が受け付ける、複数の線の変更状態を変更する指示は、キーボードのカーソルキーを用いて入力されるとする。例えば、カーソルキーの右が押される度に、順序テーブルに基づく表示状態の変更が行われる。この場合、カーソルキーの左が押されると表示状態の変更が戻るように表示制御を行えば、ユーザは線の表示状態の変わり方を繰り返し確認することが可能となる。具体的には、表示状態９０１が表示されている状態でカーソルキーの右が押されると表示状態９０２への遷移、表示状態９０１が表示されている状態でカーソルキーの左が押されると表示状態９０１への遷移が生じる。さらに、本実施形態では、表示状態９０４が表示されている状態でカーソルキーの右が押された場合には、いずれの表示状態にも遷移せず、表示状態９０４を表示し続けることで、すべての線の表示状態が変更されたことを示す。ただし、表示状態９０４が表示されている状態でカーソルキーの右を押した場合、表示状態９００に遷移させてもよい。つまり、表示状態９００から表示状態９０４までをループして表示してもよい。このよう動作するインタフェースを提供することにより、ユーザは任意のタイミングで線の表示状態を切り替えることができ、より利便性が向上する。また本実施形態では、カーソルキーの左と右に表示の変更を割り当てたが、本発明は、割り当てるキーに限定されない。例えばカーソルキーの上と下に割り当てても良い。
【００４６】
また、表示状態９００から表示状態９０４までを所定の間隔で切り替えて表示してもよい。さらに所定の間隔は、ユーザがダイアログボックスの設定項目に時間を数字で入力する事で設定可能としてもよい。例えば０．５秒を設定した場合には、表示状態９００が表示された０．５秒後に表示状態９０１が表示され、続いて０．５秒間隔で表示状態９０２、表示状態９０４が表示される。この場合にも、表示状態９００から表示状態９０４までをループさせてもいい。つまり、表示状態９００から順に表示状態９０４まで表示し終わった後、表示状態９００に戻るようにしてもよい。また、ユーザの任意の設定によっては、表示状態９００から順に表示状態９０４まで表示し終わった後、表示状態９０４から表示状態９００に逆順に戻ってもよい。また終了を指示するまでループ（または逆順のループ）が繰り返されてもよい。このようなインタフェースによれば、ユーザは任意の操作入力の回数を極力減らすことができるので、目視による確認作業に集中することができる場合もある。
【００４７】
図９で示した例では、複数の線の表示状態は実線から破線へと変更されたが、本実施形態はこれに限定されない。例えば、図１０では、それぞれの線の表示状態を実線から透明な線に変更する例をしめす。図１０において、表示状態１０００〜表示状態１００４は、図９の場合と同様に、図５（ｂ）の順序テーブルに基づく表示制御処理により、複数の線の表示状態が段階的に変化している様子を表す。ユーザは、接続点３１１、接続点３１２、接続点３１３、接続点３１４のそれぞれにおいて、接し合う複数の線が、それぞれ異なるタイミングで透明化されるので、接続点の周辺における線の状態を短時間で確認しやすい。さらに、線が透明化されたことにより、表示状態１００４は、背景画像３０９そのものを参照することができる。ユーザは背景画像３０９を参照することで、接続点３１１、接続点３１２、接続点３１３、接続点３１４のそれぞれに関わるひび割れの本来の状態を確認することが可能となる。
【００４８】
複数の線の表示状態の変更例は、図９及び図１０に示した例の他に透明度を調節し半透明にする、線の色を変更する、線の太さなどの形状を変える、線を描画するレイヤーを変えるなど、様々な方法を適用可能である。いずれの場合にも、表示状態が変更されることにより、ユーザが接続点の周辺の線の接続状態を、線ごとに独立して認識できればよい。
【００４９】
以上、本実施形態の情報処理装置１００は、１つの接続点において接する複数の線に対して、異なるタイミングで表示状態が変更されるように表示状態変更順を割り当てることで、ユーザが複数の線の接続の状態のを確認するのに要する時間を低減する。
【００５０】
＜変形例１＞
第１の実施形態では、線情報テーブルに情報が格納された全ての線について、表示状態変更順を割り当てたが、必ずしもその必要がない場合もある。例えば、表示装置１０７の画面表示される範囲が、全体の一部に限定されていた場合、そもそもユーザは、表示される範囲の外に存在する線の接続状態の確認を行う意図がない可能性がある。また、ユーザが複数の線のうち、ある一部の複雑な接続状態についてのみ、重点的に確認することを所望する場合には、他の部分の線には表示状態変更順を割り当てる必要がない可能性がある。また、複数の線のうち、他の線と接していない線や、他の線との接続の状態が表示状態を変更せずとも明らかである線にも、表示状態変更順を割り当てる必要がない可能性もある。そこで、そのような場合に、より効率的に確認作業が行えるように、対象とする線を絞ってから、上述した割り当て処理を実行する変形例１を説明する。
【００５１】
変形例１について、第１の実施形態で既に説明したのと同等の部分は適宜説明を省略し、相違する点について説明する。また、図面のうち第１の実施形態と共通する要素には同一の符号を付す。図１７は、変形例１に係る情報処理装置のソフトウェア構成の例を示す。変形例１では、受付部１１１は、複数の線の表示状態を変更する指示を受け付けて表示制御部１１３へ出力するポインティングデバイスなどを介して、複数の線の中から線の指定する操作の入力を受け付け、指定部１７０１に出力する。情報処理装置１００は、第１の実施形態の構成に加えて、指定部１７０１を有する。指定部１７０１は、受付部によって受け付けられた操作、または表示制御部１１３から取得される表示装置１０７の表示範囲を示す情報を解析し、複数の線のうち、割り当て部１１２によって表示状態変更順が割り当てられる対象となる線を絞り込む。
【００５２】
ここで図３（ｃ）を用いて、表示状態変更順を割り当てる線を指定する操作の例を説明する。図３（ｃ）において、カーソル３１５は、ユーザが操作するポインティングデバイスの操作位置を表している。ここでは、カーソル３１５により、点３０８を原点とする座標系上で、位置３１７が指定されている。受付部１１１は、位置情報の指定を受け付けると、指定部１７０１に出力する。また、ポインティングデバイスの操作によりカーソル３１５をドラッグし、矩形３１６を矩形を定義する操作を受け付け、指定された矩形領域を示す情報を指定部１７０１へ出力することもできる。なお、ユーザ操作により定義された矩形領域を示す情報は、表示制御部１１３にも出力され、表示装置１０７が表示する内容にも反映されることが望ましい。
【００５３】
指定部１７０１は、線情報保持部１１５から読み出された線情報テーブルを取得部１１４から取得する。そして、受付部１１１から取得した位置情報もしくは矩形領域の情報に基づいて、線情報テーブルに定義された線のうち、割り当て部１１２の処理対象となる線を特定する。そして特定した線のリストを割り当て部１１２へ出力する。
【００５４】
ここで、ユーザ操作により指定された位置情報もしくは矩形領域に基づく、割り当て部１１２による処理の対象となる線の選ばれ方の例を説明する。変形例１においても、ユーザの目的は、線と線が接続する接続点の確認である。従って、ある点の位置情報が指定された場合は、ユーザはその点の近傍に存在する接続点に着目することを意味しており、矩形が指定された場合は、ユーザは矩形内部の接続点に着目することを意味する。そのため、指定部１７０１は、着目される接続点に関わる線を、割り当て部１１２の処理対象とする。
【００５５】
図３（ｃ）の例の場合、位置３１７が指定されたことに基づき、指定部１７０１は線情報テーブルから位置３１７の近傍の線３０２を、対象として特定するとともに、位置３１７の近傍で線３０２に接続する線３０１も対象として特定する。ただし、線３０２と線３０１に加えて、線３０１に接続する線３０５と線３０７や、さらに線３０５に接続する線３０３と線３０４まで特定するようにルールを定義してもよい。このように、１つの線または接続点が指定されたのに応じて、処理対象をそれらに関わる線に伝搬させることで、ユーザが処理対象を指定する操作の回数を減らし、負荷を低減できる場合がある。また、指定部１７０１は、矩形３１６を示す情報に基づいて、線情報テーブルに格納された制御点の位置情報から矩形３１６の範囲に属する線を探索する。探索した結果、線３０７と線３０７に接続する線３０１を、表示状態を変更する線として指定する。処理対象を、表示装置１０７の表示範囲内に絞る場合も、矩形領域の指定と同様に線を選ぶことができる。
【００５６】
指定部１７０１は、上述したように特定した線の情報を、例えばリスト形式で割り当て部１１２に出力する。割り当て部１１２は、線情報テーブルから線の情報を読み出す際に、指定部１７０１から取得した線のリストに存在する線のみを読み出す。結果として、割り当て部１１２は指定部１７０１で指定した線のみに表示状態の変更順を割り当てる事が可能となる。このような変形例１により、ユーザは、複数の線のうち任意に指定した線に絞って、接続状態の確認することができる。例えばひび割れを表す線が大量の場合であっても、接続状態の確認作業に要する時間を低減することができる。
【００５７】
＜変形例２＞
第１の実施形態において説明した通り、割り当て部１１２は、構造物に生じた変状を表す複数の線を、１つの接続点において接続する複数の線のそれぞれが異なるグループに属するようにグルーピングするものであった。また、第１の実施形態では、これらのグループのそれぞれに、異なる表示状態変更順が対応付けられた。しかしながら、１つの接続点において接続する複数の線のそれぞれが視覚的に判別可能であれば、各線に割り当てられる識別情報は順序でなくてもよい。変形例２として、１つの接続点において接続する複数の線のそれぞれに異なる識別情報を割り当て、それに従って複数の線の少なくとも一部ごとに表示状態を変える別の例を説明する。
【００５８】
例えば、割り当て部１１２により表示状態変更順に代わって、識別情報として線の色情報を割り当てる。この際、１つの接続点において接続する複数の線のそれぞれには異なる色が割り当てられる。そして、受付部１１１によって複数の線の表示状態を変更する指示が受け付けられたのに応じて、割り当てられた色情報に従って、複数の線の色を、少なくとも一部ごとに異なる色に変えて表示装置１０７に表示させる。このとき、表示状態が変化するタイミングは全ての線において同じであってもよい。ユーザは、１つの接続点において接続する複数の線の色がそれぞれ異なるので、接続点の前後に渡り繋がるひび割れと、接続点を端点とするひび割れとを容易に判別できる。
【００５９】
なお、表示状態を変更する指示を受け付ける前の初期状態において、ひび割れの太さなどの付加情報が色で表されている場合、変形例２によって変更された配色と混同されないように、表示状態を変更する指示があったことを表示部で明示的に表示するとよい。また、変形例２において割り当て部１１２によって割り当てられる識別情報は、線の色に限定されない。例えば輝度値であったり、太さであってもよいので、第１の実施形態で説明された表示状態変更順も含めて、他の機能による各線の表現方法と混同されにくいものを選択すればよい。また、第１の実施形態の変形例１と組み合わせることによって、複数の線のうちの一部に対して、変形例２による処理を適用することもできる。
【００６０】
＜第２の実施形態＞
第２の実施形態では、１つの接続点を構成する複数の線に対しては異なるタイミングで表示状態が変更され、かつ、第１の実施形態と比較して確率的に少ない回数で、全ての線の表示状態が変更される表示状態変更順の割り当てを行う例を説明する。なお、第２の実施形態について、第１の実施形態で既に説明したのと同等の部分は適宜説明を省略し、相違する点について説明する。また、図面のうち第１の実施形態と共通する要素には同一の符号を付す。
【００６１】
第２の実施形態に係る情報処理装置１００の構成は、第１の実施形態の構成と比較し、ソフトウェア構成のうち割り当て部１１２が異なる。本実施形態の割り当て部１１２は、線情報テーブルを参照し、線と線の接続を表すテーブルを作成する。以下、このテーブルは接続線テーブルと記す。図１１（ａ）は、割り当て部１１２が作成する接続線テーブルを示す図である。接続線テーブルでは、カラム１１０８に線ＩＤ、カラム１１０９に、カラム１１０８の線ＩＤの線といずれかの接続点を構成する線の線ＩＤの情報が格納される。接続線テーブルの１つのレコードは、１本の線とその線に接続する他の線の対応関係を表す。カラム１１０８の線ＩＤには、接続線テーブルで保持している線を一意に識別可能な識別子を設定する。線情報テーブルと同じ線ＩＤが用いられる。カラム１１０９にも、線ＩＤを利用して、各レコードの線と接続する線の情報が格納される。
【００６２】
ここで、図１１（ａ）におけるレコード１１０１では、線ＩＤが「Ｌ１」のレコード１１０１は、線ＩＤが「Ｌ２」、「Ｌ５」、「Ｌ７」の線のそれぞれと接しているという事を意味する。なお、線ＩＤが「Ｌ１」「Ｌ２」、「Ｌ５」、「Ｌ７」の線のそれぞれは、図３（ａ）の線３０１、線３０２、線３０５、線３０７に対応している。
【００６３】
第２の実施形態では、割り当て部１１２は、除外リストを生成する。除外リストは、１つの接続点を構成する複数の線に対して、同じ表示状態変更順を付与しないために、割り当て部１１２が一時的に利用するデータの保持部である。ここで、図１２は、除外リストの一例を表す。本実施形態では、除外リストは、１次元の可変長のリストである。除外リストがレコードとして保持する要素は、表示状態変更順の割り当て処理の対象から一時的に除外したい線を示す線ＩＤである。除外リストを使った処理の詳細については、後述するフローチャートで説明する。
【００６４】
さらに割り当て部１１２は、取得部１１４によって線情報保持部１１５から読み出された線情報テーブルを入力として、接続線テーブルと順序テーブルを生成する。そして、除外リストを一時的に利用し、各線に表示状態変更順を割り当て、順序テーブルに格納する。
【００６５】
本実施形態の情報処理装置１００が実行する、メイン処理は、第１の実施形態と比較すると、図７のＳ７０１の表示状態変更順の割り当て処理の内容が異なる。従って、ここでは共通部分の説明は省略し、Ｓ７０１の処理を説明する。図１３のフローチャートは、本実施形態に係る表示状態変更順の割り当て処理（Ｓ７０１）の一例を示すフローチャートである。
【００６６】
Ｓ１３０１において、割り当て部１１２は、図２（ａ）の線情報テーブルを用いて、線と線との関係を判定し、図１１（ａ）の接続線テーブルを生成する。Ｓ１３０２において、割り当て部１１２は、図５（ｃ）の順序テーブルのように、表示状態変更順を示すカラム６０９に全てＮｕｌｌを格納する。そしてＳ１３０３において、割り当て部１１２は、割り当てに用いる変数である「ｃｏｕｎｔｅｒ」に１を代入する。Ｓ１３０４において、割り当て部１１２は、除外リストを空にする。
【００６７】
Ｓ１３０５において、割り当て部１１２は、順序テーブルの全てのレコードにＮｕｌｌ以外の情報が格納されているかを判定する。全てのレコードにＮｕｌｌ以外の情報が格納されていれば（Ｓ１３０５でＹＥＳ）、表示状態変更順の割り当て処理を終了し、図７のＳ７０２へ進む。一方、全てのレコードにＮｕｌｌ以外の情報が格納されていなければ、つまり、Ｎｕｌｌが格納されているレコードが残っていれば（Ｓ１３０５でＮＯ）、処理はＳ１３０６へ進む。
【００６８】
Ｓ１３０６において、割り当て部１１２は、接続線テーブルの中に、所定の条件に当てはまるレコードがあるかを判定する。所定の条件とは、以下の（１）〜（３）の全てを満たすレコードである。（１）線ＩＤが除外リストに含まれないこと。（２）順序テーブルではその線ＩＤに対応する表示状態変更順がＮｕｌｌであること。（３）カラム１１０９の接続線リストに格納されたメンバ数（線ＩＤの数）が最多なレコードの中で、カラム１１０８の線ＩＤで昇順にソートした場合の最初のレコードであること。
【００６９】
Ｓ１３０６の処理について具体例を用いて説明する。例えば、接続線テーブルが図１１（ａ）のような状態であり、除外リストが空の状態で、順序テーブルが図５（ｃ）の状態であった場合について説明する。まず、除外リストは空であるので、（１）により、接続線テーブルの全てのレコードが所定の条件を満たすレコードの候補となる。次に、図５（ｃ）の順序テーブルのカラム６０９は、全てＮｕｌｌの状態である。よって、（２）を考慮した上で、なお接続線テーブルの全てのレコードが所定の条件を満たすレコードの候補となる。次に図１１（ａ）の接続線テーブルのうち、カラム１１０９のリストに格納されたメンバの数が最多で、かつ、カラム１１０８の線ＩＤを昇順にソートした最初のレコードを特定する。カラム１１０９のリストに格納されたメンバの数は、レコード１１０１とレコード１１０５の３が最多であるので、このうち線ＩＤが「Ｌ１」のレコード１１０１が、（３）を満たすレコードとなる。
【００７０】
Ｓ１３０７において、割り当て部１１２は、順序テーブルにおいて、Ｓ１３０６で特定された所定の条件を満たすレコードの表示状態変更順として、カラム５０９にｃｏｕｎｔｅｒの値を書き込む。Ｓ１３０６で線ＩＤが「Ｌ１」のレコード１１０１が所定の条件を満たすとして特定された例では、順序テーブルのうち線ＩＤが「Ｌ１」の線に対応するレコード５０１の表示状態変更順（カラム５０９）に、ｃｏｕｎｔｅｒの値である１を書き込む。そして、Ｓ１３０８において、割り当て部１１２は、Ｓ１３０６で所定の条件を満たすと判定されたレコードの接続線リストのメンバを除外リストに書き込む。例えば、所定の条件を満たすと判定された接続線テーブルのレコードが、図１１（ａ）のレコード１１０１であり、除外リストがそれまで空だった場合は、除外リストには図１２のように「Ｌ２」、「Ｌ５」、「Ｌ７」という線ＩＤが格納される。そして、処理はＳ１３０６に戻る。
【００７１】
ここまで説明した具体例では、Ｓ１３０３の処理により、除外リストが更新されたことで、Ｓ１３０６において（３）の条件を満たすかを判定する対象は、残りの線ＩＤが「Ｌ３」、「Ｌ４」、「Ｌ６」のレコードである。このとき、カラム１１０９のメンバ数はレコード１１０３とレコード１１０４の２であるので、線ＩＤが「Ｌ３」であるレコード１１０３が、所定の条件を満たすレコードとなる。Ｓ１３０７では、順序テーブルで線ＩＤが「Ｌ３」での線のレコードの表示状態変更順（カラム５０９）に、ｃｏｕｎｔｅｒの値である１を書き込む。そしてＳ１３０８では、接続線テーブルのレコード１１０３について、カラム１１０９に格納されている線ＩＤ「Ｌ４」、「Ｌ５」が除外リストに加えられる。次にＳ１３０６が処理されるときには、同様の処理により、線ＩＤが「Ｌ６」であるレコード１１０６が、所定の条件を満たすレコードとなり、線ＩＤが「Ｌ６」の表示状態変更順が１となる。そして表示状態変更順がＮｕｌｌである線がすべて除外リストに書き込まれているため、次にＳ１３０６の判定が行われると、ＮＯに進むことになる。
【００７２】
Ｓ１３１０において、割り当て部１１２は、ｃｏｕｎｔｅｒの現在の値に１を加算して、ｃｏｕｎｔｅｒに代入する。そして処理はＳ１３０４へ戻る。上記の例では、Ｓ１３０４からＳ１３１０の処理を繰り返すと、結果として、図５（ｄ）の順序テーブルが得られる。図５（ｄ）の順序テーブルにおいても、第１の実施形態で示した図５（ｂ）と同様、１つの接続点で接し合う複数の線に対しては、異なるタイミングで表示状態が変更されるような表示状態変更順が割り当てられている。
【００７３】
図１４は、図５（ｄ）に示される順序テーブルに従って、表示制御部１１３によって複数の線の表示状態が段階に変更される様子の一例を表す図である。図１４の例においても、表示状態の変更指示は、線の表示状態を実線から点線に切り替える指示である。また、図３で説明したのと同じ要素には、図３で示したのと同じ番号を付与する。
【００７４】
表示状態１４００は、図３（ａ）と同じ状態であり、図２（ａ）の線情報テーブルに格納された情報に基づき、背景画像３０９に線３０１〜３０７の複数の線が重畳して表示される。受付部１１１が、１回目の表示状態の変更指示を受け付けたことに応じて、表示装置１０７に表示される内容は、表示状態１４００から表示状態１４０１に遷移する。表示状態１４０１では、図５（ｄ）ののカラム５０９に１が格納されていたレコード（線ＩＤが「Ｌ１」「Ｌ３」「Ｌ６」）に対応する線３０１、線３０３、線３０６の表示状態が、実線から点線に変更されている。さらに、受付部１１１が、２回目の表示状態の変更指示を受け付けると、表示装置１０７に表示される内容は、表示状態１４０１から表示状態１４０２に遷移する。ここでは、図５（ｄの順序テーブルの順序が２であるレコード（線ＩＤが「Ｌ２」、「Ｌ５」、「Ｌ７」）に対応する線３０２、線３０５、線３０７の表示状態が、実線から点線に変更されている。
【００７５】
表示状態１４０２において、線３０２、線３０５、線３０７が実線から点線に変化したことにより、ユーザは、表示状態９０１との比較により、接続点３１１、接続点３１２、接続点３１３の周囲において検知された線（ひび割れ）の状況を確認することができる。さらに受付部１１１が表示状態の３回目の変更指示を受け付けると、表示状態１４０３へ遷移が起こる。表示状態１４０３では、表示状態変更順が３であった線３０４が実線から点線に変更される。表示状態１４０２、表示状態１４０３において、それぞれの線３０５、線３０４が実線から点線に変化した事により、表示状態１４０１との比較により、ユーザーは、接続点３１４の周囲において検知された線（ひび割れ）の状況を確認することができる。
【００７６】
このように、本実施形態においても、従来の方法に比べて効率的に、接続点の状態を確認することができる。特に、第２の実施形態では、Ｓ１３０６からＳ１３０９の処理を繰り返す事で、１つのｃｏｕｎｔｅｒの値を適用可能な全ての線に対して割り当てる。この事で、第１の実施形態と比較して、確率的にｃｏｕｎｔｅｒの数値を低く抑えた状態で全ての線に表示状態変更順を割り当てる事が可能となる。ｃｏｕｎｔｅｒの数値を低く抑える事で、ユーザーは少ない表示状態の切り替えで線の接続を認識する事が可能となる。
【００７７】
結果として、同じ図２（ａ）の線情報テーブルを用いた事例において、第１の実施形態の表示の切り替え回数は４回であったが、本実施形態の表示の切り替え回数は３回であり、第１の実施形態の表示の切り替え回数と比べて少ない表示状態の変更回数である。つまり、第２の実施形態では、１つの接続点を構成する複数の線は異なるタイミングで表示状態が変化するように制御しつつ、第１の実施形態に比べて確率的に少ない回数で全体の表示状態の変更が行える。従って、ひび割れを表す線が大量の場合であっても、接続状態の確認作業に要する時間を低減することができる。ユーザが表示の切り替えに要する時間が同一であれば、第１の実施形態の表示の切り替えと比べて短い時間で線の接続の状態の認識できる場合がある。
【００７８】
さらに、第２の実施形態では、Ｓ１３０６の処理において、接続線テーブルのレコードの中から接続線リストのメンバの数が最多であるレコードを特定するため、接続する線の数が多い線が、優先的に早い表示状態変更順を付与される。この点には、以下のような効果がある。まず、人の記憶の特性には系列位置効果があり、情報を順に提示する場合に、最初の方と最後の方の情報が特に記憶に残りやすい事が知られている。そして、接続する線の数が多い線が表すひび割れは、線の接続の多い線は他のひび割れの原因となるひび割れである確率が高い。つまり、重要なひび割れを表現した線である可能性が高い。従って、第２の実施形態では、接続する線の数が多い線に、優先的に早い表示状態変更順を割り当てることで、確認作業を行うユーザにとって、重要な線の記憶を残りやすくする事が可能となる。
【００７９】
なお、上記で説明した系列位置効果によれば、接続線テーブルの接続線リストのメンバの数が最多である線を表示状態変更順の最後の方の順にする事で、重要な線の記憶を残りやすくすることもできる。これを実現する１つの方法としては、Ｓ１３０６の処理において、接続線テーブルの接続線リストの線のＩＤの数が最小である線を検索すればよい。結果として、順序テーブルは図６（ａ）のようになる。図７のＳ７０６の処理において、図６（ａ）格納の順序テーブルを読み出し、線の表示状態を変更して表示した結果は、図１５の表示状態１５０１から表示状態１５０３のようになる。図１４と図１５を比較すると、接続する線が多い線の表示状態が変更されるタイミングが、遅くなっているのがわかる。例えば、線３０１は２回目の指示に応じて（表示状態１５０１から表示状態１５０２への遷移）、線３０５は３回目の指示に応じて（表示状態１５０２から表示状態１５０３への遷移）で変化している。
【００８０】
また、接続線テーブルの接続線リストのメンバの数が最多である線を優先的に表示状態変更順のうち遅い順にする別の方法として、図５（ｄ）の表示を逆順から表示してもよい。つまりカラム６０９の数値が３、２、１である順に線の表示状態を変更して表示することもできる。
【００８１】
なお、第１の実施形態および第２の実施形態は、同一の情報処理装置１００において、ユーザの任意の設定などにより切り替えて実行可能とすることもできる。
【００８２】
＜第２の実施形態の変形例＞
変形例では、線の表示状態を変更する指示が受け付けられる前の表情状態における、線と線の表示状態（見た目）の違いを考慮して、複数の線のそれぞれに表示状態変更順の割り当てを行う例を説明する。なお、変形例について、第２の実施形態で既に説明したのと同等の部分は適宜説明を省略し、相違する点について説明する。また、図面のうち第１の実施形態と共通する要素には同一の符号を付す。
【００８３】
変形例に係る情報処理装置１００の構成は、第１及び第２の実施形態の構成と比較し、ソフトウェア構成のうち割り当て部１１２が異なる。変形例の割り当て部１１２は、線情報テーブルに基づいて描画される複数の線のうち、表示状態が他の線と異なる線であって、その表示状態に違いにより接続の状態がユーザにとって容易に視認可能の場合は、それを考慮して表示状態変更順を割り当てる。具体的には、明らかに例外的に、１つの接続点を構成する他の線と同じ表示状態変更順を割り当てる場合がある。
【００８４】
表示状態が他の線と異なる線と他の線の表示状態の違いにより、それらの接続の状態がユーザにとって容易に視認可能の場合の例を、図３（ｃ）に示す。図３（ｄ）では、線３０５の表示状態が太い実線であり、他の線の表示状態と異なる。このとき、例えば、接続点３１４の前後において線３０５が繋がった線であることは、ユーザにとって明らかである。従って、接続点３１４において線３０５と接続する線３０４あるいは線３０３の少なくともいずれかとは、表示状態が変更されるタイミングが同じであっても、そのために確認作業にかかる時間が超過する可能性は低い。なお図３（ｄ）の線３０５のように、線の表示状態を、他の線と異ならせる場合は、複数の線の情報及び形状だけでなく、他の情報も表現したい場合である。例えば、構造物に生じているひび割れの太さが検知結果に含まれ、それを線情報にも反映したり、特に重要なひび割れを強調するために太さや色を設定したりすることが可能であってよい。
【００８５】
変形例においても、ひび割れを表す複数の線の情報は、線情報テーブルによって管理される。図３（ｄ）の複数の線は、図２（ｂ）の線情報テーブルに基づいて描画されたものである。図２（ｂ）の線情報テーブルでは、レコード３０５の表示状態が「太い実線」となっている。その他は、第１及び第２の実施形態で用いた図３（ａ）の線情報テーブルと同様である。
【００８６】
次に、変形例に係る情報処理装置１００は、第２の実施形態と同様図１３のフローチャートに示される流れで動作するが、割り当て部１１２のＳ１３０１の処理が第２の実施形態と異なる。そこで、共通部分の説明は省略し、変形例のＳ１３０１の処理について説明する。Ｓ１３０１において、割り当て部１１２は、図２（ｂ）に示す線情報テーブルを用いて、線と線との接続関係を特定し、図１１（ｂ）に示す接続線テーブルを生成する。変形例では、線と線との接続関係を特定する際、線情報テーブルのカラム２１０を参照し、表示状態が異なる線同士は、例え接し合う接続点が存在したとしても、線情報テーブルにその情報を書き込まない。つまり、表示状態が異なる線同士は接続しないものとみなして扱う。従って、変形例において図２（ｂ）に示す線情報テーブルに基づいてＳ１３０１の処理を行った結果である図１１（ｂ）の接続線テーブルでは、線ＩＤが「Ｌ５」のレコード１１０５について、カラム１１０９に接続する線の情報は格納されない。また、他のレコードについても、カラム１１０９に格納される線ＩＤの中に「Ｌ５」は含まれない。
【００８７】
このようにして生成された図１１（ｂ）の接続線テーブルに対して、図１３の続く処理が実行され、表示状態変更順を割り当てた場合、結果として生成される順序テーブルは、図６（ｂ）のようになる。そして、複数の線の表示状態を変更する指示が繰り返し受け付けられた場合に、図６（ｂ）の順序テーブルに基づいて表示制御部１１３が実行する表示状態の遷移の例は、図１６に表される。
【００８８】
図１６において、表示状態１６００は、図３（ｄ）と同じ状態である。受付部１１１が、１回目の表示状態の変更指示を受け付けたことに応じて、表示装置１０７に表示される内容は、表示状態１６００から表示状態１６０１に遷移する。このとき、線３０５と線３０１、線３０５と線３０３は、それぞれ１つの接続点において接しているにも関わらず、同時に表示状態が変わっている。残りの線は他の線と接していないので、２回目の表示状態の変更指示による表示状態１６０２への遷移で、全ての線の表示状態の変更が完了する。
【００８９】
このように、変形例によれば、第２の実施形態に比べてさらに少ない操作回数で、接続点の周辺による線と線の接続の状態の確認するための、複数の線の表示状態の変更を終えることができる。よって、ユーザは、表示の切り替えに要する時間が同一であれば、第２の実施形態の表示の切り替えと比べて短い時間で線の接続の状態の認識できる。なお、第２の実施形態の変形例は、上述した第２の実施形態または第１の実施形態と同一の情報処理装置１００において、ユーザの任意の設定などにより切り替えて実行可能とすることもできる。
【００９０】
なお、第２の実施形態においても、第１の実施形態と同様に、ユーザ操作に基づいて、常時状態の変更順を割り当てる対象とする線を絞り込む変形例１、表示状態変更順に代わる識別情報により線の表示状態を異ならせる変形例２を適用することができる。
【００９１】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９２】
１１１  受付部
１１２  割り当て部
１１３  表示制御部
１１４  取得部
１１５  線情報保持部
１１６  背景画像保持部
【図１】
2020052786.tif 000003
【図２】
2020052786.tif 000004
【図３】
2020052786.tif 000005
【図４】
2020052786.tif 000006
【図５】
2020052786.tif 000007
【図６】
2020052786.tif 000008
【図７】
2020052786.tif 000009
【図８】
2020052786.tif 000010
【図９】
2020052786.tif 000011
【図１０】
2020052786.tif 000012
【図１１】
2020052786.tif 000013
【図１２】
2020052786.tif 000014
【図１３】
2020052786.tif 000015
【図１４】
2020052786.tif 000016
【図１５】
2020052786.tif 000017
【図１６】
2020052786.tif 000018
【図１７】
2020052786.tif 000019