IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-178003情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理方法、及びプログラム 図8
  • 特開-情報処理装置、情報処理方法、及びプログラム 図9
  • 特開-情報処理装置、情報処理方法、及びプログラム 図10
  • 特開-情報処理装置、情報処理方法、及びプログラム 図11
  • 特開-情報処理装置、情報処理方法、及びプログラム 図12
  • 特開-情報処理装置、情報処理方法、及びプログラム 図13
  • 特開-情報処理装置、情報処理方法、及びプログラム 図14
  • 特開-情報処理装置、情報処理方法、及びプログラム 図15
  • 特開-情報処理装置、情報処理方法、及びプログラム 図16
  • 特開-情報処理装置、情報処理方法、及びプログラム 図17
  • 特開-情報処理装置、情報処理方法、及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024178003
(43)【公開日】2024-12-24
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06T 1/00 20060101AFI20241217BHJP
   H04N 23/60 20230101ALI20241217BHJP
【FI】
G06T1/00 A
H04N23/60 500
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2023096466
(22)【出願日】2023-06-12
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】間宮 悟
【テーマコード(参考)】
5B050
5C122
【Fターム(参考)】
5B050CA07
5B050DA07
5B050EA06
5B050EA07
5B050EA12
5B050EA13
5B050EA19
5B050FA05
5C122DA12
5C122EA55
5C122FH03
5C122FH04
5C122FH10
5C122FH11
5C122FH14
5C122FK24
5C122HA13
5C122HA35
5C122HA88
5C122HB01
5C122HB05
5C122HB06
5C122HB09
5C122HB10
(57)【要約】
【課題】異なる時刻に撮像した画像からそれぞれ検出した対象同士のずれを補正するコストを低減する。
【解決手段】対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、第1の画像とは異なる時刻に対象物を撮像した第2の画像から検出された対象の位置を示す第2の位置情報とを取得する。第1の位置情報と、第2の位置情報とに基づいて、対象の位置ずれ量を推定する。位置ずれ量に基づいて、第1の位置情報及び第2の位置情報の少なくとも一方を補正する。
【選択図】図10
【特許請求の範囲】
【請求項1】
対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、前記第1の画像とは異なる時刻に前記対象物を撮像した第2の画像から検出された前記対象の位置を示す第2の位置情報とを取得する取得手段と、
前記第1の位置情報と、前記第2の位置情報とに基づいて、前記対象の位置ずれ量を推定する推定手段と、
前記位置ずれ量に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を補正する補正手段と、を備える
ことを特徴とする情報処理装置。
【請求項2】
前記取得手段は、前記第1の位置情報として、前記第1の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第1のポリラインデータ群を、前記第2の位置情報として、前記第2の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第2のポリラインデータ群を取得することを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記位置ずれ量にもとづいて、前記第1のポリラインデータ群に含まれる第1のポリラインデータの座標系における座標を前記第2のポリラインデータ群に含まれる第2のポリラインデータの座標系における座標に変換する関数を生成する第1の生成手段をさらに備え、
前記補正手段は、前記関数に基づいて、前記第1のポリラインデータが示す座標を補正することを特徴とする、請求項2に記載の情報処理装置。
【請求項4】
前期推定手段は、前記位置ずれ量として、前記第1のポリラインデータ群に含まれるポリラインデータと前記第2のポリラインデータ群に含まれるポリラインデータとの類似度を推定し、
前記第1の生成手段は、前記類似度に基づいて前記関数を生成することを特徴とする、請求項3に記載の情報処理装置。
【請求項5】
前記第1のポリラインデータ群に含まれる第1のポリラインデータに基づいて、前記第1のポリラインデータに対応する探索先画像を生成し、前記第2のポリラインデータ群に含まれる第2のポリラインデータに基づいて、前記第2のポリラインデータに対応するテンプレート画像を生成する第2の生成手段をさらに備え、
前記推定手段は、前記テンプレート画像と前記探索先画像とを用いたテンプレートマッチングにより、前記テンプレート画像の位置ごとのポリラインデータの類似度を推定することを特徴とする、請求項4に記載の情報処理装置。
【請求項6】
前記第2の生成手段は、前記探索先画像として、前記第1のポリラインデータの外接矩形領域を生成することを特徴とする、請求項5に記載の情報処理装置。
【請求項7】
前記第2の生成手段は、前記テンプレート画像として、前記第2のポリラインデータの外接矩形領域を生成することを特徴とする、請求項5に記載の情報処理装置。
【請求項8】
前記テンプレート画像は、前記外接矩形領域中に、前記第1のポリラインデータを中心として線の幅方向に画素値の勾配を有する画像であることを特徴とする、請求項7に記載の情報処理装置。
【請求項9】
前記第2の生成手段は、前記第1のポリラインデータを含む領域を分割した部分領域を前記テンプレート画像として生成することを特徴とする、請求項5に記載の情報処理装置。
【請求項10】
前記第2の生成手段は、前記第1のポリラインデータを分割した第3のポリラインデータを含む、前記第3のポリラインデータの外接矩形領域を前記テンプレート画像として生成することを特徴とする、請求項5に記載の情報処理装置。
【請求項11】
前記テンプレート画像の、前記テンプレートマッチング前の位置と前記類似度が最大となる位置との間のベクトルを算出する算出手段をさらに備え、
前記第1の生成手段は、前記第1のポリラインデータ群に含まれる複数のポリラインデータから前記算出手段により算出される前記ベクトルに基づいて、前記関数を生成することを特徴とする、請求項5に記載の情報処理装置。
【請求項12】
前記第1のポリラインデータは、前記第1のポリラインデータ群に含まれるポリラインデータのうち、前記ベクトルが外れ値となるポリラインデータを除去したものに含まれることを特徴とする、請求項11に記載の情報処理装置。
【請求項13】
前記第1のポリラインデータ群が含むポリラインデータのうち、前記ベクトルが外れ値となるポリラインデータを除去したポリラインデータの数が所定の閾値未満である場合に、前記関数を修正する修正手段をさらに備えることを特徴とする、請求項12に記載の情報処理装置。
【請求項14】
前記第1の生成手段は、前記関数として、前記探索先画像における前記第1のポリラインデータの位置を入力として、前記ベクトルのX成分又はY成分を出力するモデル関数を生成することを特徴とする、請求項11に記載の情報処理装置。
【請求項15】
前記算出手段が算出するベクトルごとに重みを設定する設定手段をさらに備え、
前記第1の生成手段は、前記ベクトルごとの重みにさらに基づいて前記モデル関数を生成することを特徴とする、請求項14に記載の情報処理装置。
【請求項16】
前記第1の画像と第3の画像との撮像条件が類似しているか否かの判定を行う判定手段をさらに備え、
前記第1の生成手段は、前記第1の画像と撮像条件が類似していると判定される第3の画像について、前記第3の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第3のポリラインデータ群に含まれる第4のポリラインデータの座標系における座標を前記第2のポリラインデータの座標系における座標に変換する関数を、前記第1のポリラインデータの座標系における座標を前記第2のポリラインデータの座標系における座標に変換する関数と同じ関数として生成することを特徴とする、請求項3に記載の情報処理装置。
【請求項17】
前記第1のポリラインデータ群に含まれるポリラインデータの数が、前記第2のポリラインデータ群に含まれるポリラインデータの数よりも少ないことを特徴とする、請求項5に記載の情報処理装置。
【請求項18】
操作者の入力を取得する第2の取得手段と、
前記第2の取得手段が取得した入力に基づいて、前記関数を用いた補正処理に使用するパラメータを設定する設定手段と、
前記補正手段による座標の補正結果を前記操作者に提示する提示手段と、
をさらに備えることを特徴とする、請求項3に記載の情報処理装置。
【請求項19】
前記補正手段により補正された前記第1の位置情報及び前記第2の位置情報の少なくとも一方に基づいて、前記対象の形状を各頂点の情報で示すポリラインデータを表示装置に表示させる表示手段をさらに備えることを特徴とする、請求項1に記載の情報処理装置。
【請求項20】
前記対象物は構造物であり、前記対象は前記構造物の変状であることを特徴とする、請求項1に記載の情報処理装置。
【請求項21】
対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、前記第1の画像とは異なる時刻に前記対象物を撮像した第2の画像から検出された前記対象の位置を示す第2の位置情報とを取得する工程と、
前記第1の位置情報と、前記第2の位置情報とに基づいて、前記対象の位置ずれ量を推定する工程と、
前記位置ずれ量に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を補正する工程と、
を備える、情報処理方法。
【請求項22】
コンピュータを、請求項1乃至20の何れか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、日本では老朽化が進む社会インフラ構造物の点検業務を効率化するため、点検対象を被写体として撮像した点検用画像を用いた構造物の健全度の評価が行われている。この技術では、点検用画像上の損傷を、作業者によるトレースや機械学習を利用した画像認でポリライン(ベクタデータ)として抽出し、損傷の位置、形状、大きさ、数、及び密集度などの状態、並びにそれらの経年比較による進行度を加味して評価されている。
【0003】
例えば構造物がトンネルの場合、進行方向に対する断面が円周状である場合が多く、この円周に沿った曲面部にある覆工面が主要な点検対象とされている。このトンネル覆工面のような広い領域の高精細な点検用画像を効率良く得るため、複数のカメラを対象に向けて配置した車両を走行させ、撮像した画像データをデジタル処理で合成する手法がある。このような手法は、使用するカメラをビデオカメラからより高精細なラインセンサカメラにする、橋梁などの撮像を行う際には撮像にドローンを導入するなど年々進歩している。そのため、直近に取得した点検用画像と、経変比較の対象となる過去の点検用画像では、カメラの種類、画角、又は数などの撮像条件が異なる可能性がある。また、それらの条件が同じ場合でも、撮像時の移動経路が異なれば各々のカメラがカバーする画角に差が生じる。したがって、撮像画像を合成する処理結果にも差が生じて、同じ対象でも取得時期により点検用画像間に位置ずれが生じ、それらから抽出した損傷の比較が困難となる場合がある。
【0004】
同じ対象を撮像した画像間の位置ずれを補正し比較可能にする手法として、特許文献1では医療分野における胸部X線画像の位置合わせを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7-37074号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、構造物の健全度などの評価を行う際に、比較を行う点検用画像を高精細な撮像画像とすると、データ量の大きさから処理及び保管にコストがかかってしまう。
【0007】
本発明は、異なる時刻に撮像した画像からそれぞれ検出した対象同士のずれを補正するコストを低減することを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、例えば、一実施形態に係る情報処理装置は以下の構成を備える。すなわち、対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、前記第1の画像とは異なる時刻に前記対象物を撮像した第2の画像から検出された前記対象の位置を示す第2の位置情報とを取得する取得手段と、前記第1の位置情報と、前記第2の位置情報とに基づいて、前記対象の位置ずれ量を推定する推定手段と、前記位置ずれ量に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を補正する補正手段と、を備える。
【発明の効果】
【0009】
異なる時刻に撮像した画像からそれぞれ検出した対象同士のずれを補正するコストを低減する。
【図面の簡単な説明】
【0010】
図1】(a)情報処理装置のハードウェア構成の一例を示すブロック図、(b)情報処理装置の機能構成の一例を示すブロック図。
図2】点検を行うトンネルと点検用画像とについて説明するための図。
図3】トンネルの点検用画像を撮像する状況を説明するための図。
図4】(a)、(b)ポリラインデータを説明するための図、(c)、(d)ポリラインデータの頂点の座標について説明するための図、(e)ポリラインデータを重畳した表示について説明するための図。
図5】パターン画像の生成処理の一例を示すフローチャート。
図6】テンプレート領域について説明するための図。
図7】探索領域を決定する処理を説明するための図。
図8】ポリラインの描画について説明するための図。
図9】ずれベクトルの算出処理の一例を示すフローチャート。
図10】情報処理装置が実行するテンプレートマッチングについて説明するための図。
図11】ずれベクトルの算出処理を説明するための図。
図12】変換関数の生成処理の一例を示すフローチャート。
図13】変換前座標とずれベクトルとの位置関係をプロットしたグラフ。
図14】変換後のポリラインデータを重畳した表示の一例を示す図。
図15】テンプレートを分割したポリラインデータについて説明するための図。
図16】スコアのピークが複数存在する場合について説明するための図。
図17】実施形態2に係る情報処理装置の機能構成の一例を示すブロック図。
図18】情報処理装置が表示するGUIについて説明するための図。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
[実施形態1]
本実施形態に係る情報処理装置は、対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、第1の画像とは異なる時刻に対象物を撮像した第2の画像から検出された対象の位置を示す第2の位置情報とを取得する。次いで情報処理装置は、取得した第1の位置情報と第2の位置情報とに基づいて、対象の位置ずれ量を推定し、位置ずれ量に基づいて第1の位置情報及び第2の位置情報の少なくとも一方を補正する。
【0013】
例えば、本実施形態に係る情報処理装置は、第1の位置情報及び第2の位置情報として、第1の画像及び第2の画像から、対象の形状を各頂点の情報で示すポリラインデータを1つ以上含むポリラインデータ群をそれぞれ取得することができる。その場合、情報処理装置は、ポリラインデータに基づいて推定される位置ずれ量に基づいて、第1のポリラインデータの座標系における座標を第2のポリラインデータの座標系における座標へと変換する関数を生成し、生成した関数により第1のポリラインデータが示す座標を変換する。第1のポリラインデータ及び第2のポリラインデータについては後述する。
【0014】
図1(a)は、本実施形態に係る情報処理装置である。情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、I/F部107とを有している。CPU101は、中央演算装置(Central Processing Unit)であり、各種処理のための演算及び論理判断などを行い、システムバス110に接続された各構成要素を制御する。ROM(Read-Only Memory)102は、プログラムメモリであって、後述する各種処理を含むCPU101による制御のためのプログラムを格納する。RAM(Random Access Memory)103は、CPU101の主メモリ、又はワークエリアなどの一時記憶領域として用いられる。なお、HDD104や情報処理装置100に接続された外部記憶装置などからRAM103にプログラムをロードすることで、プログラムメモリが実現されてもよい。
【0015】
HDD104は、本実施形態に係る画像データなどの電子データ又はプログラムを記憶しておくためのハードディスクである。なお、HDD104と同様の役割を果たすものとして外部記憶装置が用いられてもよい。ここで、外部記憶装置は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、又はSSD(Solid State Drive)などが用いられてもよい。また、外部記憶装置は、ネットワークで接続されたサーバ装置など、情報処理装置100の外部の装置であってもよい。
【0016】
表示部105は、例えば液晶ディスプレイ(LCD)又は有機ELディスプレイ(OLED)などであって、表示画面に画像を出力する。なお表示部105は、情報処理装置100と有線又は無線で接続された外部の装置であってもよい。操作部106は、例えばキーボード及びマウスであり、ユーザによる各種操作を受け付ける。なお操作部106は、ユーザからの入力を受け付けることができるのであれば特にこのように限定はされず、例えばタッチパネル又はマイクなどであってもよい。I/F部107は、公知の通信技術により、他の情報処理装置、通信機器、若しくは外部記憶装置などとの間で、有線又は無線による双方向の通信を行う。
【0017】
図1(b)は、情報処理装置100のハードウェア構成の一例を示すブロック図である。図1(b)に示す各機能部は、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで実現されている。
【0018】
取得部111は、対象物を撮像した2以上の画像のそれぞれから、被写体(対象)の位置を示す位置情報を取得する。ここでは、取得部111は、第1の画像から検出された対象の位置を示す第1の位置情報と、第2の画像から検出された対象の位置を示す第2の位置情報と、を取得する。本実施形態に係る位置情報としては、例えば第1のポリラインデータ群及び第2のポリラインデータ群が取得される。ここで、ポリラインデータとは、例えば後述する図4(c)に例示される、画像における被写体(対象)の形状を各頂点の情報で示すデータであり、ポリラインデータ群はポリラインデータを1つ以上含むものであるとする。ここでは、第1の画像における被写体の形状を示すポリラインデータのグループを第1のポリラインデータ群とし、第1の画像とは異なる第2の画像における被写体の形状を示すポリラインデータのグループを第2のポリラインデータ群とする。取得部111は、例えば、I/F部107経由で取り込まれHDD104に格納されているポリラインデータから第1のポリラインデータ群及び第2のポリラインデータ群を取得することができる。なお、取得部111は、第1の画像及び第2の画像を取得し、それぞれの画像から被写体を検出してポリラインデータを生成してもよい。以下において、ポリラインデータを「ポリライン」と称する場合がある。また、以下において単に「頂点」と表現する場合、ポリラインデータで表現される頂点を指すものとする。なお、以下において単に「被写体」と称する場合、取得部111により位置情報が取得される、処理対象となる上述の「対象」を指すものとする。
【0019】
本実施形態に係る情報処理装置100は、取得した第1の位置情報と第2の取得情報とに基づいて、対象の位置ずれ量を推定する。ここでは、対象の位置ずれ量とは、例えば第1のポリラインデータ群に含まれるポリラインデータと第2のポリラインデータ群に含まれるポリラインデータとの位置のずれ量である。本実施形態に係る情報処理装置100は、第1のポリラインデータ群に含まれるポリラインデータと、第2のポリラインデータ群に含まれるポリラインデータと、の類似度を評価することができる。以下においては、このような第1のポリラインデータ群に含まれるポリラインデータを第1のポリラインデータと呼び、第1のポリラインデータとの類似度を比較されるポリラインデータを第2のポリラインデータと呼ぶものとする。
【0020】
本実施形態に係る情報処理装置100は、第1のポリラインデータと第2のポリラインデータとのそれぞれからパターン画像を生成し、それらのパターン画像からテンプレートマッチングにより類似度の評価を行うことができる。以下、そのような類似度の評価を行うための構成について説明を行う。
【0021】
画像生成部112は、ポリラインデータから、第1のポリラインデータ及び第2のポリラインデータの位置のずれ量を算出するために使用するパターン画像を生成することができる。画像生成部112が行う処理については後述する。
【0022】
ベクトル算出部113は、取得部111が取得した第1の位置情報及び第2の位置情報から、対象の位置ずれ量を推定する。ここでは、例えば、位置ずれ量として、後述する処理により算出されるずれベクトルが用いられる。ずれベクトルの算出処理については後述する。
【0023】
関数生成部114は、第1のポリラインデータ群と前記第2のポリラインデータ群とに基づいて、第1のポリラインデータの座標系における座標を第1のポリラインデータの座標系における座標に変換する関数を生成する。例えば、第1のポリラインデータが1以上のポリラインデータを含んでおり、第1のポリラインデータ群に含まれる少なくとも1以上のポリラインデータと第2のポリラインデータ群に含まれるそれぞれ対応するポリラインデータとに基づいて、上述の関数が生成されてもよい。以下、このような関数を単に「変換関数」と呼ぶ場合がある。本実施形態に係る関数部114は、第1のポリラインデータに含まれるポリラインごとにベクトル算出部113が算出したずれベクトルに基づいて変換関数を生成する。変換関数の生成処理については、図9を参照して後述する。
【0024】
ここでは、第1のポリラインデータの座標系は、後述する探索先画像における座標系であり、第2のポリラインデータの座標系は、後述するテンプレート画像における座標系であるものとして以下の説明が行われる。しかしながら、同様に変換を行うことができるのであれば座標系は特にこれらには限定されず、第1のポリラインデータの頂点を示す座標として第1の画像における対応する頂点の座標系を用いるなど、対応する異なる座標が用いられてもよい。
【0025】
座標変換部115は、ベクトル算出部113により推定された位置ずれ量に基づいて、第1の位置情報及び第2の位置情報の少なくともいずれかを補正する。本実施形態においては、例えば、ベクトル算出部113により算出されたずれベクトルに基づいて関数生成部114が変換関数を生成し、生成された変換関数を用いて、座標変換部115が第1のポリラインデータが示す座標を変換する。なお、本実施形態においては、第1のポリラインデータが示す座標が第2のポリラインデータの座標系における座標に変換されるものとして以下の説明を行うが、第2のポリラインデータが示す座標が第1のポリラインデータの座標系における座標に変換されてもよい。
【0026】
本実施形態においては、第1の画像及び第2の画像が、点検用画像として取得される。ここで、点検用画像とは、例えば構造物の健全度の評価を行うために用いられる、比較対象となる被写体を撮像した2つ以上の画像であるものとする。ここで、点検用画像を取得する方法と、その取得中に画像の位置のずれが発生する状況とについて、図2及び図3を参照して説明する。
【0027】
図2は、トンネル点検を行うため、点検用画像としてトンネル内部の撮像画像を取得する場合を想定した、トンネルの構造と撮像される点検用画像との関係を説明するための概略図である。図2においては、トンネルの断面図200とトンネル内壁の展開図201とが図示されており、それぞれ、トンネルの覆工面203、天井付近に取り付けられた照明204、及び縁石205が示されている。また、展開図201には、トンネルの出入り口となる開口部202、及び覆工面のコンクリートを打設する単位となる区間(スパン)206が図示されている。本実施形態において、点検(点検用画像の撮像)は進行方向に繰り返されるこのスパンの単位でおこなわれる。
【0028】
図3は、トンネルの点検用画像の撮像の状況を示したものであり、トンネル断面200から見た図である。点検対象である覆工面206の点検用画像を撮像するため、図3(a)のようにラインセンサカメラを取り付けた車両301をトンネル内の経路に沿って走らせている。取り付けられたカメラ302~304はそれぞれ別の方向を撮像するラインセンサカメラであり、境界308及び309はそれらの撮像範囲の境界を示している。図3(b)は、同じトンネルを別のタイミングで撮像した際の状況であり、車両310が備えるカメラはカメラ302~304で同じであるが、走行位置が図3(a)の状況と異なる場合を示している。
【0029】
この場合、カメラ302~304は、図3(a)と図3(b)とで画角は同じであるが、撮像位置が異なるため、同一の被写体を撮像していてもその画像内での位置が変動している。また、図3(a)と図3(b)とでは、各カメラの壁面までの距離の違いにより撮像範囲の境界の位置が308から311へと、309から312へと変化している。したがって、点検のために撮像後にカメラ3台の撮像画像を合成して点検用画像とする場合には、各々の画像サイズを調整するため、この撮像範囲の違いによって点検用画像間で被写体の位置ずれが生じる。
【0030】
以上のようにして取得した点検用画像から、ひび割れなどの変状を被写体として抽出し、ポリラインデータを生成する。抽出(被写体の検出)の方法としては、画像中の被写体領域を設定する公知の方法であれば任意の手法を用いることが可能である。例えば、被写体の検出のために、作業者が専用ソフトウェアを用いて手作業でトレースしてもよく、機械学習を利用した画像認識により自動検出してもよく、それらの組み合わせて行ってもよい。なお、以下においては、被写体としては画像中のひび割れが検出され、その各頂点の位置及び個数がポリラインデータとして生成されるものとして説明を行う。
【0031】
図4は、トンネル覆工面に生じたひび割れを検出することにより生成される、本実施形態に係るポリラインデータを説明するための図である。図4(a)及び図4(b)は、トンネル内の同一スパンに対して、それぞれ異なるタイミング(2時期)で取得した点検用画像から抽出されたポリラインデータ群の概略図であり、図2の展開図201の1スパン分に相当する。図4(a)のポリラインデータ群400にはCa001からCa010の10本のひび割れに相当するポリラインデータが直線群で示されている。その後のタイミング(ここでは数年後とする)に取得されたポリラインデータ群401を示す図4(b)では、図4(a)の10本に対応するCb001からCb010のいくつかは変状が進行して長くなっており、さらには、Cb011及びCb012の2本のひび割れが新たに発生している。なお、図4(b)において、ポリラインは点線で図示されているが、これは図4(a)のひび割れと区別するためであり、ポリラインデータが断続的になっているわけではない。図4(a)及び図4(b)で示したポリラインデータは、HDD104内にファイルとして保存されている。
【0032】
図4(c)は図4(a)に対応するポリラインデータの一例を示すテーブルであり、図4(d)は図4(b)に対応するポリラインデータの一例を示すテーブルである。図4(a)においては、各ひび割れを識別するための変状ID411、ひび割れに含まれる頂点の個数を示す頂点数412、及び各頂点の座標を示す頂点座標リスト413の3つのフィールドが示されている。頂点座標リスト413は、1スパン分の点検用画像の左上を原点とし、横方向をX軸、縦方向をY軸とした、各頂点の座標値のリストである。図4(d)の414は、図4(b)に対応する頂点座標リスト414であり、頂点座標の原点は410と同じである。
【0033】
図4(e)の420は、図4(a)及び図4(b)のポリラインデータを、原点を揃えて重ね合わせたものであり、2時期のポリラインデータに差があることを示している。2時期のポリラインデータの差は、経年変化による変状の進行によるものと、図3で示した撮像状況の違いによって発生した位置ずれとの両方を含んでいる。矩形領域421は、原点と2時期のポリラインデータを全て含む外接矩形領域であり、後述の処理の説明で改めて言及される。
【0034】
本実施形態においては、点検用画像である第1の画像と第2の画像とのうち、第1の画像に含まれるポリラインデータの座標が変換される。すなわち、点検を行うために、第2の画像に含まれるポリラインデータを基準(基準画像)として、第1の画像に含まれるポリラインデータの座標を第2の画像に含まれるポリラインデータ座標系における座標に変換する。ここでは、例えば第1の画像よりも第2の画像の方が新しいタイミングに撮像された画像であるものとするが、このように基準とする(座標の変換を行わない)画像の選択はこのようには限定されない。例えば、画像2つのうち、ポリラインデータの座標の変換を行う画像(変換対象画像)とする画像をユーザが選択できる態様であってもよい。例えば、取得部111は、表示部105と操作部106で実現するコマンドプロンプトにより、比較する2時期のポリラインデータのファイル名と、どちらを変換対象画像とするかを操作者に指定させてもよい。なお取得部111は、これらの指定のために、ファイル一覧をGUIとして提示し、操作者による選択を受け付けてもよい。
【0035】
図5は、画像生成部112におけるパターン画像生成処理の一例を示すフローチャートである。画像生成部112では、ベクトル算出部113で行われるテンプレートマッチングに使用するテンプレートのパターン画像と、探索先のパターン画像を生成する。ここでは、ポリライン取得部111で取得した二つのポリラインデータのうち、第1のポリラインデータ群に含まれる第1のポリラインデータをテンプレートとし、第2のポリラインデータ群に含まれる第2のポリラインデータを探索先とするが、どちらをテンプレートにしても構わない。2つのポリラインデータにおける頂点の領域又は数が変動している場合は、それらが少ない方をテンプレート、多い方を探索先とすることにより、マッチすべき相手がいない無駄な探索を抑制できる。構造物の変状の点検を行う場合、通常は図4に示したようにポリラインデータに含まれる頂点の数は経年で増える傾向にあるため、より古い時期に取得したポリラインデータ群400をテンプレートとし、新しい時期に取得した401のポリラインを探索先としてもよい。
【0036】
S501で画像生成部112は、テンプレート領域を決定する。本実施形態においては、前述の通り撮像時期の古いポリラインデータ群400に含まれるポリラインデータ各々の外接矩形をテンプレートとする。なお、テンプレートにはS503の説明で後述するポリラインデータの描画線幅を加えても構わない。図6(a)はテンプレート領域の例を示す概略図である。図6(a)においては、2つのポリライン601及び602が図示されており、テンプレート領域として矩形領域603及び604が点線で示されている。
【0037】
S502で画像生成部112は、テンプレートとマッチングを行う探索領域を決定する。図7は探索領域の決定処理を説明するための概略図である。図7(a)及び図7(b)は、それぞれ、異なる2時期に取得したポリラインデータである。図7(a)には、S501で決定したテンプレート701~710が点線の矩形で示されている。図7(b)のテンプレート711は、テンプレート701を同じ座標上に示したものであるが、この周りの左右上下に713~716の探索幅を加えたものが探索範囲712である。探索幅713~716は、2時期のポリラインのずれの程度を考慮して所望の値に設定することが可能であり、全て同じ幅であってもよく、横方向の713と714と、又は縦方向の713と716とをそれぞれ同じ幅にしてもよく、全て違う幅にしてもよい。また、テンプレート701~710のポリラインごとに探索幅を変えてもよく、全て同じ幅にしてもよい。
【0038】
S503で画像生成部112は、テンプレート画像を生成する。テンプレート画像は、図6(b)に示すようにS501で決定した領域内に当該ポリラインのみを描画してもよいし、図6(c)に示すようにテンプレートとして使う側のポリライン全てを描画してからテンプレート領域を切り出してもよい。後者の場合、テンプレート領域に含まれる他のポリライン602の一部もテンプレートに含まれることになる。
【0039】
図8はポリラインの描画について説明する図である。画像生成部112は図8(a)に示されるポリライン801に対して、図8(b)に示すように背景802を黒で、ポリライン803を一定の線幅の白で描画した画像をテンプレートとして生成してもよい。又は、画像生成部112は、図8(c)に示すように、ポリライン804中心として線の幅方向に画素値の勾配をつけて描画した画像をテンプレートとして生成してもよい。ポリライン804のように画素値の勾配を付けた場合、テンプレートマッチングにおいて、ずれ量に対する許容度とマッチング精度とをある程度の水準で両立することが期待できる。
【0040】
S504で画像生成部112は、探索先画像を生成する。画像生成部112は、探索先となる新しい時期に取得したポリライン401すべてを、S503におけるテンプレートと同様に描画し、S502で決定した探索先領域を切り出すことにより、探索先画像とする。ポリライン401の描画においては、図4(e)の矩形領域421の周りに探索幅713~716を左右上下に背景色の領域を加え、周辺近くのテンプレートに対応する探索領域を確保する。なお、ポリラインを描画したテンプレート画像及び探索先画像において、ポリラインは白色であり、背景色は黒色であるものとするが、これらの色は特に限定されず、条件に応じて所望の色を設定することが可能である。
【0041】
図9は、ベクトル算出部113におけるずれベクトル算出の処理を説明するフローチャートである。本実施形態に係るずれベクトルは、上述したように第1のポリラインデータと第2のポリラインデータとのずれ量を示す。ここで、ずれベクトルは、ポリライン取得部111で指定した変換対象画像のタイミングのポリラインに対する、もう一方のタイミングの対応するポリラインの位置のずれを示すものである。先に述べた位置ずれの発生理由から、ずれベクトルは座標空間内の位置によって変動する。
【0042】
S901でベクトル算出部113は、画像生成部112で生成したテンプレート画像と探索先画像とを用いてテンプレートマッチングを行う。図10(a)は、本実施形態において実行されるテンプレートマッチングについて説明するための図である。テンプレート画像1001に対する探索先画像1002にはポリライン1003及び1004が描画されている。図10(a)において探索先画像1002のポリラインは点線とされているが、パターン画像においてポリラインが点線で描画されているわけではなく、説明のために実線及び点線を用いてテンプレートのポリラインと区別しているに過ぎない。
【0043】
ベクトル算出部113は、テンプレート画像1001を探索先画像1002内で縦横(右方向及び下方向)に位置1005から位置1006までスライドさせ、テンプレート画像の各位置ごとの類似度スコアを算出する。ここで算出される類似度スコアは、テンプレート画像の各位置ごとの、第1のポリラインデータと第2のポリラインデータとの類似度であるものとする。スコアの算出方法は、SSD(Sum of Squared Difference)、NCC(Normalized Cross Correlation)などの一般的な手法を任意に使用することが可能であり、特にその方法に限定はされない。テンプレート画像1001及び探索先画像1002の大きさ(幅,高さ)をそれぞれ(w,h)及び(W,H)とした場合、マッチングの結果は(W-w,H-h)の大きさの二次元のマップとなる。例えば、テンプレート画像1001と探索先画像1002をNCCでマッチングした場合、マッチングの結果は横と縦との中央の断面がそれぞれマップ1007及びマップ1008のようになる。
【0044】
S902でベクトル算出部113は、スコアマップに基づいて、探索先画像1002に対してテンプレート画像1001がマッチする位置を求める。このマッチする位置は、S901で算出したマップ内で類似度が最大(SSDの場合はスコアが最小、NCCの場合はスコアが最大)となるマップ上の位置とする。
【0045】
図10(b)は、S902において出力されるマッチ位置について説明するための図である。図10(b)では、テンプレート画像1009を、ポリライン1010を含む探索先画像1011内で動かした場合の両者の相対位置(探索先画像に対するテンプレート画像の位置)がマップの範囲1012で示される。ここでは、マッチングのスコア(類似度)が、マップの1012に対して、左上を原点とした範囲1012の中心位置(x,y)におけるスコアとして算出される。図10(b)の例では、テンプレート画像を移動させずにそのまま探索先画像に重ねた位置1013の座標を(x,y)とし、テンプレート1009が領域1014まで移動して類似度が最大になった位置1015の座標を(xmax,ymax)とする。なお、探索先のポリラインが複数並走するような場合は、マッチすべきではないポリラインとの類似度が最大になってしまう可能性もあるが、それらマッチング時のノイズについては後段の処理で対処する。
【0046】
S903でベクトル算出部113は、S902で求めたマッチ位置から2時期のポリライン間のずれベクトルを算出する。以下、図11を参照して、本実施形態に係るずれベクトルの算出処理について説明する。図11(a)においては、図10(b)と同じくテンプレート1009が1014に移動した時にマッチしている。ここで、図4のスパン画像の座標系における、移動前のテンプレート1009の中心の位置1100の座標を(x,y)とし、マッチ時のテンプレート1009の中心の位置1101の座標を(x,y)とする。ポリライン取得部111で指定された変換対象画像のポリラインを、探索先画像として使用した時期のポリライン(図11では灰色の点線で図示)とすると、位置1101におけるずれベクトルは位置1101から位置1100に伸びるベクトル1102となる。すなわち、図11(a)におけるずれベクトルは(x-x,y-y)となる。また、ポリライン取得部111で指定された変換対象画像が、テンプレート画像として使用したタイミングのポリライン(図11では黒の実線で図示)の場合、図11(b)のように、位置1100におけるずれベクトルはベクトル1103で示される。すなわち、図11(b)におけるずれベクトルは、(x-x,y-y)となる。このように、本実施形態に係るベクトル算出部113は、テンプレートマッチング前のテンプレートの位置と、類似度が最大となるテンプレートの位置と、の間のベクトルをずれベクトルとして算出することができる。
【0047】
本実施形態に係る第1のポリラインデータの全頂点の座標を、同一のずれベクトル(例えば、上述の(x-x,y-y))分シフトさせることにより、第2のポリラインデータの座標系における座標へと変換してもよい。しかしながら、第1の画像と第2の画像とで被写体はただ画像上で平行移動しているとは限らず、ずれベクトル分の単純な移動では適切な座標が得られない可能性もある。そのような観点から、本実施形態に係るベクトル算出部113は、第1のポリラインデータ群に含まれる複数のポリラインデータからそれぞれずれベクトルを算出してもよい。その場合、関数生成部114は、ベクトル算出部113により算出されたそれらのずれベクトルに基づいて変換関数を生成することができる。
【0048】
このように、複数のずれベクトルを算出し、複数のずれベクトルから、変換関数を推定することにより、全頂点に適用してポリラインの座標系を変換可能な変換関数を得ることができる。したがって、第1のポリラインデータ群に含まれる各ポリラインデータの各頂点に対して、変換関数による変換により座標を変換して点検を行うことが可能となる。
【0049】
本実施形態においては、変換関数fを用いて、以下の式(1)に示すように、入力された座標Uに対して第2のポリラインデータの座標系に変換された座標(変換座標)へのベクトルを示すずれベクトルVが出力される。
V=f(U) 式(1)
【0050】
なお、ここでベクトル算出部113は、ポリラインデータについてずれベクトルVを算出する。ここでは、例えば、ベクトル算出部113は、第1のポリラインデータ群に含まれるポリラインデータのうち、その1つについてずれベクトルVを算出してもよく、その一部についてずれベクトルVを算出してもよく、全体についてずれベクトルVを算出してもよい。次いで関数生成部114は、変換関数を、ずれベクトルVのx成分Vとy座標Vとのそれぞれについて、x及びyを独立変数として以下のようにモデル化し、各定数(ここでは、A~H)を推定することによって変換関数を生成することができる。
=f(x,y)=Ax+By+C
=f(x,y)=Dx+Ey+Fx+Gy+H 式(2)
【0051】
ここで、ベクトル算出部113は、各ポリラインデータ、例えば図4に示されるCa001~Ca010それぞれについてずれベクトルVを算出し、算出したずれベクトルVに基づいて関数生成部114が式(2)の定数を算出することができる。
【0052】
なお、第1の画像の座標系における座標(x,y)からずれベクトル(V,V)を求める変換関数は、式(2)で示したものに限らず、ずれが生ずる原因又はずれの傾向などを勘案して、アフィン変換などの他のモデル関数を採用しても構わない。例えばトンネル覆工面の点検用画像を用いる場合、1スパンの短い区間で走行方向、すなわち、図4のX軸方向でずれの変化はほとんど無いと想定されるので、独立変数をyだけにすることにより、推定すべき定数を減らしてもよい。
【0053】
図12は、関数生成部114が行う変換関数の生成処理の一例を示すフローチャートである。S1201で関数生成部114は、第1のポリラインデータの座標(ここでは、テンプレートの中心の位置)と、ベクトル算出部113が算出したずれベクトルと、をそれぞれ独立変数及び従属変数の実測値として設定する。
【0054】
図13(a)は、図4に示した2時期のポリライン群を処理対象として算出されたずれベクトルを用いた、S1201で決定された候補を示す図である。1300においては、上述の実測値が、ポリラインデータの座標(x,y)と、その座標を用いて変換されたずれベクトルのy成分Vとを用いて、三次元座標(x,y,V)としてプロットされている。X軸1301は第1の画像の座標系におけるx座標、Y軸1302は同じ座標系におけるy座標、Z軸1303は変換ベクトルのy成分Vであり、単位は全て画素数である。点線1304で囲まれている部分には、図7(a)のテンプレート701~710に対応する実測値(x,y,V)がプロットされている。三次元座標(x,y,V)についても同様にプロットした図を作成可能であるが、ここでは説明を省略する。
【0055】
S1202で関数生成部114は、S1201で実測値として設定したもののうち、ノイズとなるものを除外する。関数生成部114は、例えば、ベクトル(V,V)のうちの、各成分の一方又は両方のスカラ値について、全体平均との差が標準偏差の定数倍より大きいものを除外するなど、一般的な統計処理で外れ値とされるものを除外する公知の処理により、ノイズとなるものを除外することができる。なお、第1の画像と第2の画像との撮像位置の差により位置ずれが生じている場合は、位置によって変換関数による変換の傾向が変わるため、実測値全体ではなく、図4に示される領域をいくつかの部分領域に分割して、それらの部分領域ごとに外れ値を求めて除外してもよい。
【0056】
S1203で関数生成部114は、外れ値を除外して残った実測値の数に基づいて、変換関数の修正を行ってもよい。式(2)のモデル関数はAからHの8つの定数を含んでいるが、実測値が少ないとそれらを正しく算出できない場合がある。そのような観点から、S1202で関数生成部114は、除外されずに残った実測値の数により、算出すべき定数が少なくなるようにモデル関数を修正することができる。例えば、関数生成部114は、残った実測値の数が所定の閾値(例えば、モデル関数の定数の数)未満となった場合に、f(x,y)の二乗成分のいずれか、又は両方の定数を0として、モデル関数の次数を落とすなどにより、モデル関数の修正を行うことができる。
【0057】
S1204で関数生成部114は、S1205の変換関数生成処理で用いる、実測値ごとの重みを算出する。関数生成部114は、この重みを、例えばテンプレートの形状に基づいて算出してもよい。この場合関数生成部114は、テンプレートの形状から、ずれベクトルのX成分及びY成分それぞれと直交する方向の大きさに基づいて重みを算出してもよい。例えば、関数生成部114は、f(x,y)についてはテンプレート画像の高さの値を、f(x,y)についてはテンプレート画像の幅の値を重みとすることができる。ここで、関数生成部114は、テンプレート画像の高さの値及び幅の値をそのまま重みとしてもよく、それぞれに所定の係数を乗算するなど所定の操作を行った値を重みとしてもよい。また関数生成部114は、マッチング時の類似度に基づいて重みを算出してもよい。この場合、関数生成部114は、マッチングの類似度が高い探索先画像についての重みほど値が大きくなるように重みを設定することができる。
【0058】
S1205で関数生成部114は、S1202で外れ値を除去した実測値に対してS1204で算出した重みを付して、S1203で修正したモデル関数の定数を算出する。ここで、関数生成部114は、例えば重み付き最小二乗法によりモデル関数を出力することができる。モデル関数の生成処理については、同様の入力からモデル関数を出力する公知の技術を任意に使用することが可能であり、詳細な説明は省略する。
【0059】
S1206で関数生成部114は、S1205で生成した変換関数を用いて出力される変換座標と実測値とに基づいて外れ値と判定されるポリラインを除去することができる。例えば関数生成部114は、そのような変換座標と実測値との差がそれらの標準偏差の3.0倍以上あるポリラインを外れ値とすることができる。なお、外れ値の求め方はこれに限るものではなく、統計解析で使用されているその他の既知の手法を適用しても構わない。
【0060】
S1207で関数生成部114は、S1206で外れ値を除去した後に残った実測値の数(ポリラインの数)が閾値以下であるか又はS1206において外れ値の除去が行われなかったか否かを判定する。当該閾値は、S1205でモデル関数の定数を求めるために必要な実測値数であり、例えば、定数の数である。S1207の判定がNoとなった場合は処理がS1205に戻り、Yesとなった場合は図12の処理が終了する。
【0061】
図13(b)は、図13(a)に示した実測値と、それらの実測値に基づいて図12に例示した処理により生成された変換関数の出力とを立体グラフで示したものである。メッシュ状の曲面1305は、変換関数の出力であるずれベクトルのY成分Vの分布を示す。なお、ずれベクトルのX成分Vの分布(不図示)は、式(2)の次数から平面となる。
【0062】
座標変換部115は、取得部111で指定した変換対象画像のタイミングのポリラインの全頂点の座標を、関数生成部114で生成した変換関数を用いて座標変換し、変換座標を生成する。式(3)は、変換前の座標(x,y)と変換後の座標(x’,y’)との関係を示すものである。
【数1】
【0063】
図14は、座標変換部115による座標変換の結果を示しており、1400は、実線で示す図4(a)のポリラインと、図4(b)のポリラインを座標変換し、一点鎖線で示したものとを重ね合わせたものである。
【0064】
このような構成によれば、撮像タイミングの異なる複数の画像のポリラインデータに基づいて、第1の画像の座標系における座標を第2の画像の座標系に変換する関数を生成し、当該関数に基づいて一方のポリラインの頂点の座標を変換することができる。とくに、テンプレート画像と探索先画像を生成し、テンプレートマッチングによって各ポリラインのずれベクトルを算出し、それらから推定した変換関数により各ポリラインを座標変換する。それにより、ポリライン抽出に使用した画像の撮像状況の差により発生した被写体の位置ずれを、撮像画像を用いずにポリラインデータだけで補正することができる。したがって、画像中の被写体の位置ずれの補正に必要なコストを低減するという効果がある。
【0065】
さらに、2つのポリラインデータのうち、ポリラインの領域又は頂点の個数が少ない方をテンプレートとすることにより、無駄なマッチング処理の発生を抑制し、処理速度及びずれ補正の精度を向上できる効果がある。また、パターン画像の生成においてポリラインを描画する際に、線幅方向に画素値の勾配をつけることにより、ずれ補正精度を向上できる効果がある。
【0066】
さらに、S1202やS1206などの処理により、外れ値となるずれベクトルを除去することにより、ポリラインが並走する場合などで発生するテンプレートマッチングのミスの影響を軽減できるという効果がある。また、このような外れ値除去を加えることにより、画像からのポリライン抽出において、作業者によるトレースのミスや、機械学習による画像認識の誤検知に起因するポリラインデータの誤りによる影響を軽減できる効果がある。
【0067】
さらに、S1203等の処理により、推定する定数が少なくなるようにモデル関数を修正することにより、テンプレートとなるポリラインデータが少ない場合にも対応できるという効果がある。さらに、図12のS1203における実測値の重み付けにより、変換関数生成の精度を向上させる効果がある。さらに、ずれ成分と直行するテンプレートの大きさで重み付けすることにより、重要度の高い広範囲にわたるポリラインのずれ補正を優先する効果がある。
【0068】
[変形例1]
実施形態1では、図5に示すパターン画像生成処理のS501において、テンプレート領域を個々のポリラインの外接矩形とした。本変形例では、テンプレート領域をより小さい部分領域に分割することによりテンプレートの数を増やす。
【0069】
図15は、テンプレートの領域をより小さくして、テンプレートの数を増やしたポリラインデータの一例について説明するための図である。矩形領域1500は、図4(e)の2時期のポリラインデータを全て含む外接矩形領域であり、ポリラインの描画領域である。この領域を、点線で示すように縦横の格子状の部分領域に分割し、それらのうち、斜線で示される領域1501のようにポリラインが重畳している部分領域をテンプレートとする。図15において、背景が斜線で示されている矩形はテンプレートとするものを示しており、背景として斜線が描画されているわけではない。
【0070】
また、個々のポリラインを適当な大きさに分割して、分割したポリラインごとの外接矩形をテンプレートとしてもよい。例えば、ポリラインの外接矩形の辺のうち長い方、あるいは、対角線の長さをl、基準となる長さをLとした時に下記の式(4)を満たす整数nを求め、ポリラインを頂点数がおよそ同じになるようにn個に分割してもよい。
Ln≦l≦L(n+1) 式(4)
【0071】
このような処理によれば、テンプレート領域を小さくすることにより、ずれベクトルごとの精度を向上させて有効なずれベクトルを増やし、変換関数生成の精度を向上させる効果がある。また、テンプレート領域を小さくすることにより、位置によるずれの違いによるポリライン形状の変形がマッチングに及ぼす影響を軽減する効果がある。
【0072】
[変形例2]
また例えば、トンネル覆工面の点検用画像からひび割れを抽出したポリラインの場合、位置ずれの主原因であるカメラ移動経路や速度の変動は、隣接するスパン間では少ないと考えられる。そのため、隣接するスパンの位置ずれの傾向はほぼ同じであり、そのスパンにおける頂点では同じ変換関数を使用できることが期待される。
【0073】
すなわち、本変形例に係る関数生成部114は、ポリラインデータ間で撮像条件が類似しているか否かの判定を行い、撮像条件が類似しているポリラインデータについては、共通の変換関数を用いて座標の変換を行う。この場合、関数生成部114は、実施形態1と同様の処理により、1つのポリラインデータに対して生成された変換関数を、当該ポリラインデータと撮像条件が類似しているポリラインデータに対しても適用可能としてもよい。また例えば関数生成部114は、撮像条件が類似しているポリラインデータ全体から、それらのポリラインデータにおいて用いる変換関数を生成するようにしてもよい。
【0074】
本変形例では実施形態1とは異なり、関数生成部114において変換関数を生成する際に、1スパン分だけでなく、隣接する複数のスパンのポリラインから算出されたずれベクトルをまとめて使用する。ずれベクトルをまとめる範囲は、一定のスパン数、あるいは、スパンを繋げた長さが一定の距離になるように分割し、一分割分のポリラインの頂点のずれベクトルをまとめるようにすることができる。また、関数生成部114は、トンネル内の全スパンを1つにまとめてもよい。あるいは、関数生成部114は、まとめるスパン数をnとした時、i番目(1≦i≦n)のスパンに関する変換関数の生成処理を、i番目からi+n-1番目のスパンのポリラインに対してそれぞれ行うようにスライドしながらまとめてもよい。
【0075】
変換関数の生成処理では、関数生成部114は、まとめる範囲のスパンを結合して、左上を原点とした座標系を用いて各処理を行う。この場合、関数生成部114は、S903で求めたxに、左側にあるスパン幅の合計を加えた値をS1201におけるX軸方向の独立変数とする。
【0076】
なお、ここではトンネル点検における連続スパンについて処理を行う場合について説明を行ったが、本変形例を適用するのはこのような例には限定されない。例えば、橋梁の床版又は建物の壁面に関する点検用画像を処理対象とする場合に、対象からの距離、角度、及びレンズ焦点距離などの撮像設定を一定にして、複数の点検単位に渡って連続的に撮像する場合にも適用可能である。
【0077】
このような処理によれば、連続する点検単位毎に求めたずれベクトルをまとめて変換関数の生成に使用することにより、単独の点検単位のみで当該生成を行う場合と比較して、有効なずれベクトルの数を増加させ、変換関数生成の精度を向上させる効果がある。
【0078】
[変形例3]
実施形態1では、図9に示すずれベクトル算出の処理において、マッチングの類似度が最大になった際の座標を用いてずれベクトルを算出している。しかしながら、2時期のポリラインの配置状態によっては、マッチング類似度がはっきりとしたピークを示さない場合や、類似度のピークが複数存在する場合もある。そのような観点から、本変形例に係るベクトル算出部113は、ずれベクトルを算出する際に、マッチング類似度の値だけでなく類似度の分布状態も考慮する。
【0079】
図16は、マッチングの類似度が複数存在する場合のポリラインについて説明するための図である。1600は2時期のポリライン群を重畳させたものであり、古いタイミングのポリラインが実線で、新しいタイミングのポリラインが点線で示されている。1600内の部分領域1601に示される新しいタイミングのポリラインは、古いタイミングのものに対応するものに加え、新たに加わったポリラインが並走している。また図16には、部分領域1601に関する探索領域1602とテンプレート1603とが拡大して示されている。これらを用いてベクトル算出部113により算出されたマッチングスコアの2次元マップを左右中央でY軸方向に切った断面がグラフ1604として示されている。
【0080】
グラフ1604に示すように、図16の例においては、テンプレート1603は、探索領域1602に存在する上下2本のポリラインの両方とマッチするため、スコアのピークが二つ存在する。このような場合、単純に類似度が高い方(スコアの高低と類似度との関係はマッチング手法に従う)の座標をマッチ位置とすると誤った結果となる可能性がある。
【0081】
したがって、本変形例に係るベクトル算出部113は、これらの類似度の分布において複数のピークがあった場合は、それらのピークそれぞれについて、実施形態1で説明したものと同様の処理によりずれベクトルを算出し、そのまま後続する処理を行う。なお、ここでは類似度が一定の値を超えた領域をマッチ位置(ピークとなる位置)とするものとするが、例えば算出された最大の類似度から所定範囲の類似度となる領域をピークとなる位置としてもよく、ユーザ所望の条件に応じて設定が可能である。
【0082】
複数ピークそれぞれから算出されたずれベクトルは、いずれかがノイズであると考えられるが、S1202又はS1206などの外れ値を除去する処理により外れ値として取り除かれることが期待される。なおベクトル算出部113は、ピークが複数存在する場合は両方をノイズとしてずれベクトルを算出せず、単一のピークがあった場合のみずれベクトルを算出するようにしてもよい。また、ベクトル算出部113は、明確なピークが存在しない場合にはずれベクトルを算出しないようにしてもよい。
【0083】
このような処理によれば、マッチング類似度の分布を考慮したずれベクトル算出により、マッチングミスによるノイズを軽減することができる。特に、ポリラインが並走するケースにおいても、複数ピークを考慮した処理により、位置ずれ補正の精度を向上させる効果がある。
【0084】
なお、本実施形態においては、撮像の対象物を構造物、処理の対象を変状として、各処理を行うものとして説明を行ったが、画像の検出結果から同様に処理を行うことができるのであれば特にこのように限定されるわけではない。
【0085】
[実施形態2]
実施形態2に係る情報処理装置1700は、実施形態1に係る情報処理装置100と同様の処理を行うことができる。さらに、本実施形態に係る情報処理装置1700は、座標の変換処理に必要な各種パラメータの設定を行う機能と、位置ずれ補正結果を表示する機能とを備え、操作者に対して対話的なGUIを提供する。情報処理装置1700のハードウェア構成は実施形態1の図1(a)で示したものと同様である。
【0086】
図17は、本実施形態における情報処理装置1700の機能構成を示すブロック図の一例である。これらの各機能部は、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで実現されている。本実施形態に係る情報処理装置1700は、制御部1701と表示制御部1702とを追加で有することを除き実施形態1の図1(b)に示したものと同様の機能部を有し、重複する説明は省略する。制御部1701は、表示部105に表示したGUI部品に対する操作を、操作部106で受け付ける。表示制御部1702は、指定された2時期のポリラインと、位置ずれ補正されたポリラインとを、表示部105により表示する。
【0087】
図18は、本実施形態に係る情報処理装置1700が表示するGUI画面の一例である。このGUI画面は、情報処理装置100上で動作するOSが提供するウインドウシステムを用いて実現されており、図18(a)に示すように、メインウインドウ1800内にGUI部品1801~1809が配置されている。
【0088】
図18(a)において、操作者が操作部106(例えば、マウス)を用いてファイル一覧1801の領域をクリックすると、制御部1701は不図示のファイル選択ダイアログを表示する。制御部1701は、ファイル選択ダイアログを用いて、操作者に2つのポリラインデータファイルと、それらの取得時期(撮像タイミング)の順番を指定させ、その結果を保持する。なお、この撮像タイミングは、ポリラインデータと関連付けて保持されていてもよく、その場合、ユーザ操作に関わらずそれらの関連付けられた情報に基づいて撮像タイミングの順番が選択されてもよい。
【0089】
ポリラインデータファイルの指定が終わると、制御部1701は、ファイル一覧1801に、指定された取得時期の順番にファイル名を表示する。次いで表示制御部1702は、ポリライン表示領域1809に各々のファイルに含まれているポリラインを重畳して表示する。図18(b)はファイル選択後の画面であり、フィールド1810では2つのファイルの名前が表示され、ポリラインの表示領域1812ではそれぞれのファイルのポリラインが色分けして(図では線種の違いで表現)表示されている。
【0090】
制御部1701は、選択された2つのファイルのうち、どちらを変換対象とするかを変数として保持しており、変換対象のファイルの名前を1811のようにハイライト表示する。ここでは、ファイル一覧1801のファイル名称を操作者にクリックさせる事によって変換対象の切替えを行うものとするが、実施形態1と同様に変換対象画像が設定されてもよい。
【0091】
表示領域1812に表示されているポリラインのうち、取得時期が古い方(図18では実線で示されている)を操作者がクリックにより選択すると、表示制御部1702はポリライン表示領域を図18(c)に示すように変化させる。操作者が線幅スライダ1802のつまみをスライドさせると、制御部1701は、図5のS503及びS504でそれぞれテンプレート画像と探索先画像とを生成する際にポリラインを描画する線幅をスライド位置に応じて決定する。このように決定された線幅に変更されたポリラインの表示が、表示1813に例示されている。
【0092】
また、表示制御部1702は、選択されたポリラインに関して、S501で決定するテンプレート領域1814とS502で決定する探索先画像の領域1815とを表示する。制御部1701は、操作者による探索先画像の領域1815の移動又は拡大縮小の入力に応じて、図7(b)における探索幅713~716の探索範囲の値を決定し保持する。線幅及び探索範囲は、操作者がいずれかのポリラインを選択して指定するものとするが、個々のポリラインに対して行う必要はなく、ユーザが指定した値は全てのポリラインに適用される。なお、個々のポリラインごとに線幅及び探索範囲の設定が可能であってもよい。
【0093】
図18に示されるテンプレート分割用のスライダ1803は、実施形態1の変形例1で説明したテンプレートの分割の設定を指定するものである。例えばスライダ1803を「大」にするとテンプレート分割は行わず、「小」にするとポリラインを小さく分割する。例えば、「大」から「小」で、式(4)の定数Lをポリライン長の最大値からその20%に変化させる。
【0094】
図18に示されるノイズ除去用の第1のスライダ1804、及び、ノイズ除去用の第2のスライダ1805はそれぞれ、図12のS1202、及び、S1206における外れ値除去処理において用いる閾値を指定するものである。例えば、それぞれの閾値として使用する、標準偏差に乗算する定数を0.5~4.0の範囲で指定する。
【0095】
なお、図18に示すGUI部品には含まれていないが、S1204の重み付けに使用する定数など、その他のパラメータに関してGUI部品を提供し、それらに関する入力を受け付けてもよい。
【0096】
また、図18に示す1801~1805、及び1814によって指定可能なパラメータは、操作者が指定しない場合はデフォルトの値が使用される。また、操作者がパラメータ保存ボタン1808をクリックすることにより、その時点で各種GUIにより保持されている値がファイルとしてHDD104に保存される。
【0097】
図18(c)において、操作者が補正開始ボタン1807をクリックすると、その時点で保持されているパラメータ値を使用して、図5図9及び図12に示す処理と、変換対象画像のポリラインの座標変換とが行われ、その結果がポリラインの表示領域1809に表示される。図18(d)は座標変換後の画面を示しており、表示画面1816の様に、基準画像のポリライン(実線)と座標変換後のポリライン(一点鎖線)が重畳して表示されている。図18(d)に示されるGUIにおいて、操作者が復帰ボタン1806をクリックすると、図18(c)の画面に戻り、操作者の入力によるパラメータの調整が可能となる。
【0098】
このような構成によれば、実施形態1で説明した各処理に加え、座標変換処理に使用するパラメータの指定と、座標変換の結果を表示する手段を有する情報処理装置を提供することができる。したがって、操作者に対話的なGUIを提供し、効率的に適切なパラメータの設定を促すことができるという効果がある。さらに、決定したパラメータを外部記憶装置に保存することにより、同等の条件で取得されたポリラインデータでもそれを再利用できる効果がある。
【0099】
本明細書の開示は、以下の情報処理装置、情報処理方法、及びプログラムを含む。
【0100】
(項目1)
対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、前記第1の画像とは異なる時刻に前記対象物を撮像した第2の画像から検出された前記対象の位置を示す第2の位置情報とを取得する取得手段と、
前記第1の位置情報と、前記第2の位置情報とに基づいて、前記対象の位置ずれ量を推定する推定手段と、
前記位置ずれ量に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を補正する補正手段と、を備える
ことを特徴とする情報処理装置。
(項目2)
前記取得手段は、前記第1の位置情報として、前記第1の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第1のポリラインデータ群を、前記第2の位置情報として、前記第2の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第2のポリラインデータ群を取得することを特徴とする、項目1に記載の情報処理装置。
(項目3)
前記位置ずれ量にもとづいて、前記第1のポリラインデータ群に含まれる第1のポリラインデータの座標系における座標を前記第2のポリラインデータ群に含まれる第2のポリラインデータの座標系における座標に変換する関数を生成する第1の生成手段をさらに備え、
前記補正手段は、前記関数に基づいて、前記第1のポリラインデータが示す座標を補正することを特徴とする、項目2に記載の情報処理装置。
(項目4)
前期推定手段は、前記位置ずれ量として、前記第1のポリラインデータ群に含まれるポリラインデータと前記第2のポリラインデータ群に含まれるポリラインデータとの類似度を推定し、
前記第1の生成手段は、前記類似度に基づいて前記関数を生成することを特徴とする、項目3に記載の情報処理装置。
(項目5)
前記第1のポリラインデータ群に含まれる第1のポリラインデータに基づいて、前記第1のポリラインデータに対応する探索先画像を生成し、前記第2のポリラインデータ群に含まれる第2のポリラインデータに基づいて、前記第2のポリラインデータに対応するテンプレート画像を生成する第2の生成手段をさらに備え、
前記推定手段は、前記テンプレート画像と前記探索先画像とを用いたテンプレートマッチングにより、前記テンプレート画像の位置ごとのポリラインデータの類似度を推定することを特徴とする、項目4に記載の情報処理装置。
(項目6)
前記第2の生成手段は、前記探索先画像として、前記第1のポリラインデータの外接矩形領域を生成することを特徴とする、項目5に記載の情報処理装置。
(項目7)
前記第2の生成手段は、前記テンプレート画像として、前記第2のポリラインデータの外接矩形領域を生成することを特徴とする、項目5又は6に記載の情報処理装置。
(項目8)
前記テンプレート画像は、前記外接矩形領域中に、前記第1のポリラインデータを中心として線の幅方向に画素値の勾配を有する画像であることを特徴とする、項目7に記載の情報処理装置。
(項目9)
前記第2の生成手段は、前記第1のポリラインデータを含む領域を分割した部分領域を前記テンプレート画像として生成することを特徴とする、項目5に記載の情報処理装置。
(項目10)
前記第2の生成手段は、前記第1のポリラインデータを分割した第3のポリラインデータを含む、前記第3のポリラインデータの外接矩形領域を前記テンプレート画像として生成することを特徴とする、項目5に記載の情報処理装置。
(項目11)
前記テンプレート画像の、前記テンプレートマッチング前の位置と前記類似度が最大となる位置との間のベクトルを算出する算出手段をさらに備え、
前記第1の生成手段は、前記第1のポリラインデータ群に含まれる複数のポリラインデータから前記算出手段により算出される前記ベクトルに基づいて、前記関数を生成することを特徴とする、項目5乃至10の何れか一項目に記載の情報処理装置。
(項目12)
前記第1のポリラインデータは、前記第1のポリラインデータ群に含まれるポリラインデータのうち、前記ベクトルが外れ値となるポリラインデータを除去したものに含まれることを特徴とする、項目11に記載の情報処理装置。
(項目13)
前記第1のポリラインデータ群が含むポリラインデータのうち、前記ベクトルが外れ値となるポリラインデータを除去したポリラインデータの数が所定の閾値未満である場合に、前記関数を修正する修正手段をさらに備えることを特徴とする、項目12に記載の情報処理装置。
(項目14)
前記第1の生成手段は、前記関数として、前記探索先画像における前記第1のポリラインデータの位置を入力として、前記ベクトルのX成分又はY成分を出力するモデル関数を生成することを特徴とする、項目5乃至11の何れか一項目に記載の情報処理装置。
(項目15)
前記算出手段が算出するベクトルごとに重みを設定する設定手段をさらに備え、
前記第1の生成手段は、前記ベクトルごとの重みにさらに基づいて前記モデル関数を生成することを特徴とする、項目14に記載の情報処理装置。
(項目16)
前記第1の画像と第3の画像との撮像条件が類似しているか否かの判定を行う判定手段をさらに備え、
前記第1の生成手段は、前記第1の画像と撮像条件が類似していると判定される第3の画像について、前記第3の画像における対象の形状を各頂点の情報で示すポリラインデータを1つ以上含む第3のポリラインデータ群に含まれる第4のポリラインデータの座標系における座標を前記第2のポリラインデータの座標系における座標に変換する関数を、前記第1のポリラインデータの座標系における座標を前記第2のポリラインデータの座標系における座標に変換する関数と同じ関数として生成することを特徴とする、項目3乃至15の何れか一項目に記載の情報処理装置。
(項目17)
前記第1のポリラインデータ群に含まれるポリラインデータの数が、前記第2のポリラインデータ群に含まれるポリラインデータの数よりも少ないことを特徴とする、項目5乃至16の何れか一項目に記載の情報処理装置。
(項目18)
操作者の入力を取得する第2の取得手段と、
前記第2の取得手段が取得した入力に基づいて、前記関数を用いた補正処理に使用するパラメータを設定する設定手段と、
前記補正手段による座標の補正結果を前記操作者に提示する提示手段と、
をさらに備えることを特徴とする、項目3乃至17の何れか一項目に記載の情報処理装置。
(項目19)
前記補正手段により補正された前記第1の位置情報及び前記第2の位置情報の少なくとも一方に基づいて、前記対象の形状を各頂点の情報で示すポリラインデータを表示装置に表示させる表示手段をさらに備えることを特徴とする、項目1乃至18の何れか一項目に記載の情報処理装置。
(項目20)
前記対象物は構造物であり、前記対象は前記構造物の変状であることを特徴とする、項目1乃至19の何れか一項目に記載の情報処理装置。
(項目21)
対象物を撮像した第1の画像から検出された対象の位置を示す第1の位置情報と、前記第1の画像とは異なる時刻に前記対象物を撮像した第2の画像から検出された前記対象の位置を示す第2の位置情報とを取得する工程と、
前記第1の位置情報と、前記第2の位置情報とに基づいて、前記対象の位置ずれ量を推定する工程と、
前記位置ずれ量に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を補正する工程と、
を備える、情報処理方法。
(項目22)
コンピュータを、項目1乃至20の何れか一項目に記載の情報処理装置の各手段として機能させるためのプログラム。
【0101】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0102】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0103】
111:取得部、112:画像生成部、113:ベクトル算出部、114:関数生成部、115:座標変換部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18