(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137380
(43)【公開日】2023-09-29
(54)【発明の名称】情報処理プログラム、情報処理方法、および情報処理装置
(51)【国際特許分類】
G06T 19/20 20110101AFI20230922BHJP
【FI】
G06T19/20
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022043566
(22)【出願日】2022-03-18
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】金野 佑治
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA09
5B050BA13
5B050CA07
5B050DA07
5B050EA13
5B050EA19
5B050FA05
(57)【要約】
【課題】対象物を精度よく表す3次元モデルを生成すること。
【解決手段】情報処理装置は、セグメンテーションによって、単眼カメラ画像600のうち、対象物の劣化箇所が映った領域800を検出する。情報処理装置は、それぞれの単眼カメラ画像600のうち劣化箇所が映った領域800を検出すると、検出した結果をそれぞれの単眼カメラ画像600に反映し、複数の検出後単眼カメラ画像を生成する。情報処理装置は、SfMによって、複数の検出後単眼カメラ画像に基づいて、対象物の3次元モデルの原型を生成する。情報処理装置は、対象物が有する第1部分の寸法に、3次元モデルの原型が有する、第1部分に対応する第2部分の寸法が合致するよう、3次元モデルの原型の大きさを補正することにより、3次元モデルの完成版を生成する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記複数の画像のそれぞれの画像における、前記対象物のうち劣化した箇所が映った領域を検出した結果を、当該画像に付加する、
処理を前記コンピュータに実行させ、
前記生成する処理は、
前記結果を付加した前記複数の画像を合成することにより、前記第2部分の寸法が前記第1部分の寸法に合致するよう、前記領域を判別可能に表す前記対象物の3次元モデルを生成する、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記付加する処理は、
前記それぞれの画像における、前記領域に存在するそれぞれの画素が有する色彩パラメータを、特定の値に設定することにより、前記領域を検出した結果を、当該画像に付加する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記生成する処理は、
取得した前記複数の画像を合成し、前記対象物の3次元モデルの原型を生成した後、前記第2部分の寸法が前記第1部分の寸法に合致するよう、生成した前記対象物の3次元モデルの原型の大きさを変更することにより、前記対象物の3次元モデルを生成する、ことを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
【請求項5】
寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項6】
寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
従来、鉄塔、橋梁、または、擁壁などの3次元構造物の劣化箇所を検出することが望まれる。例えば、作業者が、目視で3次元構造物を確認し、3次元構造物の劣化箇所を判断する。例えば、作業者は、3次元構造物に、どの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを判断し、劣化箇所の修復要否および修復時期などを決定する。
【0003】
先行技術としては、例えば、構造物の所定範囲を全体的に撮影した全体画像データから、カメラの焦点距離および当該構造物の既知寸法に基づいて、正射影変換された全体画像データを生成するものがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、作業者が、異なる視点から3次元構造物を撮像した複数の画像から生成された3次元モデルを参照して、3次元構造物の劣化箇所を判断することが考えられる。しかしながら、従来技術では、3次元構造物の劣化箇所を精度よく判断することが難しい。例えば、3次元モデルが、3次元構造物の実際の寸法を精度よく表していなければ、作業者は、3次元モデルを参照しても、3次元構造物に、どの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを精度よく判断することができない。
【0006】
1つの側面では、本発明は、対象物を精度よく表す3次元モデルを生成することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【0008】
一態様によれば、対象物を精度よく表す3次元モデルを生成することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200の一例を示す説明図である。
【
図3】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、画像撮像装置201のハードウェア構成例を示すブロック図である。
【
図5】
図5は、情報処理装置100の機能的構成例を示すブロック図である。
【
図6】
図6は、複数の単眼カメラ画像600を取得する一例を示す説明図である。
【
図7】
図7は、単眼カメラ画像600の具体例を示す説明図である。
【
図8】
図8は、劣化箇所が映った領域800を検出する一例を示す説明図である。
【
図9】
図9は、複数の検出後単眼カメラ画像900を示す説明図である。
【
図10】
図10は、3次元点群を生成する一例を示す説明図である。
【
図11】
図11は、3次元点群を補正する一例を示す説明図である。
【
図12】
図12は、全体処理手順の一例を示すフローチャートである。
【
図13】
図13は、生成処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、対象物を精度よく表す3次元モデルを生成可能にするコンピュータである。
【0012】
対象物は、例えば、3次元構造物である。対象物は、具体的には、インフラストラクチャーに関する設備などである。対象物は、具体的には、鉄塔、橋梁、堤防、擁壁、塀、または、家屋などである。対象物は、機械などであってもよい。
【0013】
対象物は、時間経過に伴い劣化していく傾向がある。劣化は、例えば、腐食、ヒビ、剥がれ、または、破損などである。このため、作業者が、定期的に対象物の劣化状況を検査し、劣化状況に応じて、対象物を適切に補修することが望まれる。劣化状況は、例えば、対象物の劣化箇所の有無、劣化箇所の大きさ、および、劣化箇所の危険度などである。危険度は、例えば、劣化に起因し、対象物が破壊される可能性の大きさ、または、劣化に起因し、対象物に関わる人間が損害を被る可能性の大きさなどに対応する。
【0014】
例えば、作業者が、目視で対象物の実物を確認し、対象物の劣化状況を判断する場合がある。具体的には、作業者が、目視で対象物の実物を確認し、対象物の劣化箇所の有無を確認し、工具、巻き尺、または、水平器などの計測器を用いて、対象物の劣化箇所の大きさ、および、対象物の劣化箇所の危険度などを判断する場合が考えられる。
【0015】
この場合、作業者にかかる作業負担および作業時間の増大化を招くという問題がある。例えば、対象物が巨大になるほど、作業者が、目視で対象物の全部を確認し、計測器を用いて、対象物の劣化箇所の大きさ、および、対象物の劣化箇所の危険度などを判断する際に、作業者にかかる作業負担および作業時間が増大することになる。
【0016】
また、例えば、対象物が巨大になるほど、作業者が、対象物に近づいて目視で対象物を詳細に確認することが難しく、計測機を用いて、対象物の劣化箇所の大きさ、および、対象物の劣化箇所の危険度などを判断することも難しくなる。従って、作業者は、対象物に、どの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを判断し、劣化箇所の修復要否および修復時期などを決定することが難しい。
【0017】
これに対し、異なる視点から対象物を撮像した複数の画像に基づいて、作業者が、対象物の劣化状況を判断し易くしようとする手法が考えられる。例えば、複数の画像から生成された3次元モデルを参照して、作業者が、対象物の劣化状況を判断し易くしようとすることが考えられる。
【0018】
しかしながら、上記手法では、対象者が、対象物の劣化箇所を精度よく判断することが難しい場合がある。例えば、3次元モデルが、対象物の実際の寸法を精度よく表していなければ、作業者は、3次元モデルを参照しても、対象物に、どの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを精度よく判断することができない。
【0019】
そこで、本実施の形態では、対象物を精度よく表す3次元モデルを生成することができる情報処理方法について説明する。
【0020】
図1において、(1-1)情報処理装置100は、異なる視点から対象物110を撮像した複数の画像120を取得する。対象物110は、寸法が既知の第1部分111を有する。寸法は、長さである。複数の画像120は、少なくとも、対象物110を第1部分111が映るよう撮像した画像120を含む。画像120同士は、例えば、対象物110の同一の範囲をそれぞれ含むよう撮像されることが好ましい。情報処理装置100は、例えば、複数の画像120を、他のコンピュータから受信することにより取得する。
【0021】
(1-2)情報処理装置100は、取得した複数の画像120を合成することにより、対象物110の3次元モデル130を生成する。3次元モデル130は、例えば、仮想空間140に生成される。情報処理装置100は、例えば、第1部分111に対応する対象物110の3次元モデル130が有する第2部分131の寸法が第1部分111の寸法に合致するよう、対象物110の3次元モデル130を生成する。
【0022】
情報処理装置100は、例えば、SfM(Structure from Motion)によって、取得した複数の画像120を合成することにより、対象物110の3次元モデル130の雛型を生成する。情報処理装置100は、例えば、第2部分131の寸法が第1部分111の寸法に合致するよう、生成した対象物110の3次元モデル130の雛型の大きさを調整することにより、対象物110の3次元モデル130を生成する。これにより、情報処理装置100は、対象物110を精度よく表す3次元モデル130を生成することができる。
【0023】
(1-3)情報処理装置100は、生成した3次元モデル130を出力する。情報処理装置100は、例えば、生成した3次元モデル130を、利用者が参照可能に表示する。利用者は、例えば、対象物110の劣化状況を判断する作業者である。作業者は、例えば、目視で対象物110の3次元モデル130を確認することにより、対象物110の劣化状況を判断する。これにより、情報処理装置100は、作業者が、対象物110の劣化状況を精度よく判断し易くすることができる。
【0024】
情報処理装置100は、例えば、作業者が、対象物110の実際の寸法を精度よく表す対象物110の3次元モデル130を参照可能にすることができる。このため、情報処理装置100は、例えば、作業者が、対象物110にどの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを精度よく判断し易くすることができる。そして、情報処理装置100は、作業者にかかる作業負担および作業時間の増大化を抑制することができる。
【0025】
ここで、情報処理装置100が、対象物110の3次元モデル130のうち、対象物110の劣化箇所に対応するエリアを判別可能に、対象物110の3次元モデル130を表示する場合があってもよい。情報処理装置100は、例えば、複数の画像120のそれぞれの画像120における、対象物110の劣化箇所が映った領域を検出する。情報処理装置100は、例えば、検出した結果に基づいて、対象物110の3次元モデル130のうち、対象物110の劣化箇所に対応するエリアを判別可能に、対象物110の3次元モデル130を表示する。この場合の具体例については、例えば、
図5~
図10を用いて後述する動作例1を参照することができる。
【0026】
(情報処理システム200の一例)
次に、
図2を用いて、
図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
【0027】
図2は、情報処理システム200の一例を示す説明図である。
図2において、情報処理システム200は、情報処理装置100と、1以上の画像撮像装置201とを含む。
【0028】
情報処理システム200において、情報処理装置100と画像撮像装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0029】
情報処理装置100は、対象物を撮像した複数の画像を取得する。対象物は、寸法が既知の第1部分を有する。複数の画像は、少なくとも、対象物を第1部分が映るよう撮像した画像を含む。画像は、例えば、画像撮像装置201によって生成される。複数の画像は、例えば、1つの画像撮像装置201によって生成されていてもよい。複数の画像のそれぞれの画像は、例えば、異なる画像撮像装置201によって生成されていてもよい。
【0030】
情報処理装置100は、複数の画像のそれぞれの画像における、対象物の劣化箇所が映った領域を検出する。情報処理装置100は、複数の画像を合成することにより、第1部分に対応する対象物の3次元モデルが有する第2部分の寸法が第1部分の寸法に合致するよう、検出した結果を反映した、対象物の3次元モデルを生成する。3次元モデルは、例えば、仮想空間に生成される。
【0031】
情報処理装置100は、生成した対象物の3次元モデルを出力する。情報処理装置100は、例えば、対象物の3次元モデルを、利用者が参照可能に表示する。利用者は、例えば、対象物の劣化状況を検査する作業者である。情報処理装置100は、例えば、対象物の3次元モデルを、利用者に対応する他のコンピュータに送信することにより、他のコンピュータで表示させてもよい。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
【0032】
画像撮像装置201は、対象物を撮像するコンピュータである。画像撮像装置201は、複数の撮像素子を有するカメラを含み、カメラによって対象物を撮像する。画像撮像装置201は、対象物を撮像した画像を生成し、情報処理装置100に送信する。画像撮像装置201は、例えば、スマートフォンなどである。画像撮像装置201は、例えば、定点カメラなどであってもよい。画像撮像装置201は、例えば、ドローンなどであってもよい。
【0033】
ここでは、情報処理装置100が、画像撮像装置201とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、画像撮像装置201としての機能を有し、画像撮像装置201としても動作する場合があってもよい。
【0034】
(情報処理装置100のハードウェア構成例)
次に、
図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0035】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。情報処理装置100は、さらに、ディスプレイ306と、入力装置307とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0036】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
【0037】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0038】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0039】
ディスプレイ306は、カーソル、アイコン、ツールボックス、文書、画像、または、機能情報などのデータを表示する。ディスプレイ306は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、または、有機EL(Electroluminescence)ディスプレイなどである。入力装置307は、文字、数字、または、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置307は、例えば、キーボード、または、マウスなどである。入力装置307は、例えば、タッチパネル式の入力パッド、または、テンキーなどであってもよい。
【0040】
情報処理装置100は、上述した構成部の他、例えば、カメラなどを有してもよい。また、情報処理装置100は、上述した構成部の他、例えば、プリンタ、スキャナ、マイク、または、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304および記録媒体305を複数有していてもよい。また、情報処理装置100は、ディスプレイ306、または、入力装置307などを有していなくてもよい。また、情報処理装置100は、記録媒体I/F304および記録媒体305を有していなくてもよい。
【0041】
(画像撮像装置201のハードウェア構成例)
次に、
図4を用いて、画像撮像装置201のハードウェア構成例について説明する。
【0042】
図4は、画像撮像装置201のハードウェア構成例を示すブロック図である。
図4において、画像撮像装置201は、CPU401と、メモリ402と、ネットワークI/F403と、記録媒体I/F404と、記録媒体405と、カメラ406とを有する。また、各構成部は、バス400によってそれぞれ接続される。
【0043】
ここで、CPU401は、画像撮像装置201の全体の制御を司る。メモリ402は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることにより、コーディングされている処理をCPU401に実行させる。
【0044】
ネットワークI/F403は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLANアダプタなどである。
【0045】
記録媒体I/F404は、CPU401の制御に従って記録媒体405に対するデータのリード/ライトを制御する。記録媒体I/F404は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体405は、記録媒体I/F404の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体405は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体405は、画像撮像装置201から着脱可能であってもよい。カメラ406は、複数の撮像素子を有し、複数の撮像素子によって対象物を撮像した画像を生成する。カメラ406は、例えば、監視カメラである。
【0046】
画像撮像装置201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、画像撮像装置201は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、画像撮像装置201は、記録媒体I/F404や記録媒体405を有していなくてもよい。
【0047】
(情報処理装置100の機能的構成例)
次に、
図5を用いて、情報処理装置100の機能的構成例について説明する。
【0048】
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、解析部502と、生成部503と、出力部504とを含む。
【0049】
記憶部500は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部500が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、情報処理装置100とは異なる装置に含まれ、記憶部500の記憶内容が情報処理装置100から参照可能である場合があってもよい。
【0050】
取得部501~出力部504は、制御部の一例として機能する。取得部501~出力部504は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0051】
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、例えば、異なる視点から対象物を撮像した複数の画像を記憶する。対象物は、例えば、3次元構造物である。対象物は、具体的には、インフラストラクチャーに関する設備などである。対象物は、具体的には、鉄塔、橋梁、堤防、擁壁、塀、または、家屋などである。対象物は、機械などであってもよい。対象物は、寸法が既知の第1部分を有する。寸法は、長さである。
【0052】
複数の画像は、少なくとも、対象物を第1部分が映るよう撮像した画像を含む。複数の画像において画像同士は、例えば、互いに対象物の同一の範囲を含むよう撮像されることが好ましい。換言すれば、複数の画像において画像同士は、例えば、対象物のうち重複する範囲をそれぞれ撮像した画像同士であることが好ましい。複数の画像において、対象物のうち重複する範囲をそれぞれ撮像した画像ペアが多いほど、対象物を精度よく表す3次元モデルを生成し易くなると考えられる。画像は、例えば、取得部501によって取得される。
【0053】
記憶部500は、例えば、劣化箇所が映った領域を検出した結果をそれぞれ付加した後の複数の画像を記憶する。劣化は、例えば、腐食、ヒビ、剥がれ、または、破損などである。劣化箇所は、対象物のうち劣化に該当する現象が現れた箇所である。例えば、画像における、検出した劣化箇所が映った領域に存在するそれぞれの画素が有するパラメータを、特定の値に変換することにより、画像に、劣化箇所が映った領域を検出した結果を付加することが考えられる。パラメータは、例えば、色彩パラメータである。色彩パラメータは、例えば、RGB値を含む。検出および付加は、例えば、解析部502によって実施される。
【0054】
記憶部500は、例えば、対象物の3次元モデルを記憶する。記憶部500は、具体的には、仮想空間上に、対象物の3次元モデルを形成する点群を記憶する。記憶部500は、具体的には、対象物の3次元モデルを形成し、3次元モデルを可視化するためのメッシュを記憶する。3次元モデルは、例えば、生成部503によって生成される。
【0055】
取得部501は、各機能部の処理に用いられる各種情報を取得する。取得部501は、取得した各種情報を、記憶部500に記憶し、または、各機能部に出力する。また、取得部501は、記憶部500に記憶しておいた各種情報を、各機能部に出力してもよい。取得部501は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部501は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0056】
取得部501は、例えば、対象物を第1部分が映るよう撮像した画像を含む、異なる視点から対象物を撮像した複数の画像を取得する。取得部501は、具体的には、複数の画像を、他のコンピュータから受信することにより取得する。取得部501は、具体的には、利用者の操作入力に基づき、複数の画像の入力を受け付けることにより、複数の画像を取得してもよい。取得部501は、具体的には、自装置がカメラを有していれば、カメラを利用して、利用者の操作入力に基づき、異なる視点から対象物を撮像することにより、複数の画像を取得してもよい。
【0057】
取得部501は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。
【0058】
解析部502は、画像を解析する。解析部502は、例えば、複数の画像のそれぞれの画像を解析し、当該画像における、対象物のうち劣化箇所が映った領域を検出する。解析部502は、具体的には、セグメンテーションによって、それぞれの画像に含まれる画素ごとに、当該画素に映った内容を特定し、特定した内容に基づいて、当該画像における、対象物のうち劣化箇所が映った領域を検出する。セグメンテーションは、例えば、セマンティックセグメンテーションである。これにより、解析部502は、対象物の劣化状況を判断し易くするために、対象物の3次元モデルに反映することが好ましい、対象物の劣化箇所に関する情報を得ることができる。
【0059】
解析部502は、例えば、それぞれの画像における、対象物のうち劣化箇所が映った領域を検出した結果を、当該画像に付加する。解析部502は、具体的には、それぞれの画像における、劣化箇所が映った領域に存在するそれぞれの画素が有するパラメータを、特定の値に変換することにより、劣化箇所が映った領域を検出した結果を、当該画像に付加する。
【0060】
解析部502は、より具体的には、それぞれの画像における、劣化箇所が映った領域に存在するそれぞれの画素が有する色彩パラメータを、特定の値に変換する。特定の値は、例えば、劣化を示すと設定された特定のRGB値である。これにより、解析部502は、対象物の劣化状況を判断し易くするために、対象物の劣化箇所に関する情報を、対象物の3次元モデルに反映することができる。解析部502は、対象物の劣化箇所に関する情報を、色彩パラメータに含めるため、対象物の劣化箇所に関する情報を、対象物の3次元モデルに反映し易くすることができる。
【0061】
解析部502は、より具体的には、それぞれの画像における、劣化箇所が映った領域に存在するそれぞれの画素が有する種別パラメータを、特定の値に変換してもよい。種別パラメータは、画素に映った内容の種別を示す。種別は、例えば、鉄塔、橋梁、堤防、擁壁、塀、または、家屋などである。種別は、例えば、地面、または、空などであってもよい。特定の値は、例えば、種別として劣化箇所を示す値である。これにより、解析部502は、対象物の劣化状況を判断し易くするために、対象物の劣化箇所に関する情報を、対象物の3次元モデルに反映することができる。
【0062】
生成部503は、取得した複数の画像を合成することにより、第1部分に対応する対象物の3次元モデルが有する第2部分の寸法が第1部分の寸法に合致するよう、対象物の3次元モデルを生成する。3次元モデルは、例えば、仮想空間に生成される。
【0063】
生成部503は、例えば、SfMによって、取得した複数の画像を合成することにより、対象物の3次元モデルの雛型を生成する。情報処理装置100は、例えば、第2部分の寸法が第1部分の寸法に合致するよう、生成した対象物の3次元モデルの雛型の大きさを調整することにより、対象物の3次元モデルを生成する。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルを生成することができる。
【0064】
生成部503は、対象物のうち劣化箇所が映った領域を検出した結果を付加した複数の画像を合成することにより、第2部分の寸法が第1部分の寸法に合致するよう、対象物のうち劣化箇所が映った領域を判別可能に表す対象物の3次元モデルを生成する。
【0065】
生成部503は、例えば、SfMによって、取得した複数の画像を合成することにより、対象物の3次元モデルの雛型を生成する。情報処理装置100は、例えば、第2部分の寸法が第1部分の寸法に合致するよう、生成した対象物の3次元モデルの雛型の大きさを調整することにより、対象物の3次元モデルを生成する。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルを生成することができる。また、情報処理装置100は、3次元モデルを参照して、対象物のうち劣化箇所が映った領域を判別し易くすることができる。
【0066】
出力部504は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部504は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
【0067】
出力部504は、生成した対象物の3次元モデルを出力する。出力部504は、例えば、対象物の3次元モデルを、利用者が参照可能に表示する。利用者は、例えば、対象物の劣化状況を検査する作業者である。出力部504は、例えば、対象物の3次元モデルを、利用者に対応する他のコンピュータに送信することにより、他のコンピュータで表示させてもよい。これにより、出力部504は、利用者が、3次元モデルを参照して、対象物のうち劣化箇所が映った領域を判別し易くすることができる。出力部504は、利用者にかかる作業負担および作業時間の低減化を図ることができる。
【0068】
(情報処理装置100の動作例)
次に、
図6~
図11を用いて、情報処理装置100の動作例について説明する。まず、例えば、
図6を用いて、情報処理装置100が、複数の単眼カメラ画像600を取得する一例について説明する。
【0069】
図6は、複数の単眼カメラ画像600を取得する一例を示す説明図である。
図6において、作業者は、画像撮像装置201を利用して、異なる視点から対象物となる3次元構造物を撮像することにより、対象物を複数回撮像する。3次元構造物は、例えば、擁壁である。それぞれの視点は、例えば、アングルが異なる。画像撮像装置201は、作業者の操作入力に基づいて、異なる視点から対象物を撮像したことに応じて、対象物を撮像した複数の単眼カメラ画像600を生成する。
【0070】
ここで、作業者は、画像撮像装置201を利用して、対象物のうち寸法が既知の第1部分が映るよう、対象物を少なくとも1回撮像することが望まれる。作業者は、画像撮像装置201を利用して、対象物を撮像した画像に含まれるノイズを低減するよう、シャッタースピード、または、焦点距離などを調整することが好ましい。
【0071】
また、作業者は、画像撮像装置201を利用して、対象物のうち一部が重複する異なる範囲をそれぞれ撮像することが好ましい。作業者は、例えば、対象物を撮像した複数の画像におけるオーバーラップ率が閾値以上となるよう、画像撮像装置201を利用して、対象物のうち一部が重複する異なる範囲をそれぞれ撮像することが考えられる。オーバーラップ率は、それぞれの画像で撮像した範囲のうち、他の画像で撮像した範囲と重複する割合の統計値である。統計値は、例えば、平均値である。閾値は、例えば、80%である。次に、
図7を用いて、単眼カメラ画像600の具体例について説明する。
【0072】
図7は、単眼カメラ画像600の具体例を示す説明図である。
図7に示すように、単眼カメラ画像600は、対象物となる擁壁700が映る。いずれかの単眼カメラ画像600は、例えば、第1部分701が映る。第1部分701は、例えば、対象物となる擁壁700を形成するブロックである。第1部分701の寸法として、第1部分701となるブロックの高さ方向の長さ702が既知である。
【0073】
画像撮像装置201は、生成した複数の単眼カメラ画像600を、情報処理装置100に送信する。作業者は、さらに、第1部分の寸法を、画像撮像装置201に入力してもよい。画像撮像装置201は、作業者の操作入力に基づいて、第1部分の寸法の入力を受け付けてもよい。画像撮像装置201は、入力を受け付けた第1部分の寸法を、情報処理装置100に送信してもよい。
【0074】
情報処理装置100は、複数の単眼カメラ画像600を、画像撮像装置201から受信する。情報処理装置100は、第1部分の寸法を、画像撮像装置201から受信してもよい。情報処理装置100は、第1部分の寸法を、画像撮像装置201から受信せずに、第1部分の寸法を取得してもよい。情報処理装置100は、例えば、作業者の操作入力に基づいて、第1部分の寸法の入力を受け付けることにより、第1部分の寸法を取得する。次に、
図8を用いて、単眼カメラ画像600のうち劣化箇所が映った領域800を検出する一例について説明する。
【0075】
図8は、劣化箇所が映った領域800を検出する一例を示す説明図である。
図8に示すように、情報処理装置100は、セグメンテーションによって、単眼カメラ画像600のうち劣化箇所が映った領域800を検出する。劣化箇所は、例えば、ヒビがある箇所、または、腐食した箇所などが考えられる。
【0076】
セグメンテーションは、セマンティックセグメンテーションである。セマンティックセグメンテーションは、画素ごとに、当該画素に映った内容を判別し、劣化箇所が映った領域800を検出する手法である。セマンティックセグメンテーションは、例えば、FCN(Fully Convolutional Networks)、SegNet、U-Net、または、DeepLab(v1~v3+)などで実現される。
【0077】
情報処理装置100は、具体的には、教師画像に基づいて、セマンティックセグメンテーションのための学習モデルを生成する。情報処理装置100は、具体的には、生成した学習モデルを利用して、セマンティックセグメンテーションによって、単眼カメラ画像600のうち、ヒビが映った領域800を検出する。次に、
図9を用いて、劣化箇所が映った領域800を検出した結果をそれぞれ反映した、複数の検出後単眼カメラ画像900の一例について説明する。
【0078】
図9は、複数の検出後単眼カメラ画像900を示す説明図である。
図9に示すように、情報処理装置100は、それぞれの単眼カメラ画像600のうち劣化箇所が映った領域800を検出すると、検出した結果をそれぞれの単眼カメラ画像600に反映し、複数の検出後単眼カメラ画像900を生成する。検出後単眼カメラ画像900は、劣化箇所が映った領域800を特定の色彩で表す。特定の色彩は、例えば、特定のRGB値によって規定される。特定のRGB値は、劣化箇所が映ったことを示すRGB値として予め設定される。
【0079】
これにより、情報処理装置100は、劣化箇所が映った領域800を、検出後単眼カメラ画像900に、色彩として付加することができる。情報処理装置100は、対象物の3次元モデルを生成するにあたって、検出後単眼カメラ画像900の色彩を、対象物の3次元モデルに反映することにより、劣化箇所が映った領域800を、対象物の3次元モデルに比較的容易に反映可能にすることができる。次に、
図10を用いて、情報処理装置100が、対象物の3次元モデルの原型を生成するために、対象物の3次元モデルの原型を形成する3次元点群を生成する一例について説明する。
【0080】
図10は、3次元点群を生成する一例を示す説明図である。
図10において、情報処理装置100は、SfMによって、複数の検出後単眼カメラ画像900に基づいて、対象物の3次元モデルの原型を生成する。SfMは、例えば、撮像時ごとの撮像装置の位置と、対象物の3次元モデルとを推定する手法である。
【0081】
情報処理装置100は、具体的には、複数の検出後単眼カメラ画像900のうち、異なる検出後単眼カメラ画像900同士で、互いに対応する特徴点のペアを特定する。特徴点は、条件を満たす画素が存在する座標である。条件は、例えば、画素の色彩または光度などが、対象物のエッジを表すことである。
【0082】
情報処理装置100は、具体的には、特定した特徴点のペアに基づいて、撮像時の画像撮像装置201の位置を推定し、三角測量によって、対象物の3次元モデルの原型を形成する3次元点群を生成する。3次元点群は、例えば、データ1000によって表現される。データ1000は、具体的には、ply(Polygon File Format)形式である。
【0083】
データ1000は、3次元点群の数を示す。データ1000は、3次元点群のそれぞれの3次元点を示す。3次元点は、位置x,y,zと、法線ベクトルx,y,zと、色R,G,Bと、classとの値によって定義される。位置x,y,zは、3次元点の位置を示すx座標とy座標とz座標とである。法線ベクトルx,y,zは、3次元点の法線ベクトルを示すx軸方向の長さy軸方向の長さz軸方向の長さとである。
【0084】
色R,G,Bは、3次元点の色を示す赤成分の値と緑成分の値と青成分の値とである。3次元点が、劣化箇所が映った領域800に対応すれば、色R,G,Bは、劣化箇所であることを示す特定の色彩に対応する。classは、例えば、3次元点の種別を示す。種別は、例えば、鉄塔、橋梁、堤防、擁壁、塀、または、家屋などである。種別は、例えば、地面、または、空などであってもよい。3次元点が、劣化箇所が映った領域800に対応する場合、classが、種別として劣化箇所であることを示していてもよい。
【0085】
情報処理装置100は、3次元点群に含まれる3次元点を基準とするメッシュを生成する。メッシュは、対象物の3次元モデルを可視化するための面を示す。次に、
図11を用いて、対象物の3次元モデルの原型を形成する3次元点群を補正する一例について説明する。
【0086】
図11は、3次元点群を補正する一例を示す説明図である。
図11において、情報処理装置100は、3次元点群が形成する3次元モデルの原型が有する、第1部分701に対応する第2部分の寸法が、第1部分701の寸法に合致するよう、3次元モデルの原型の大きさを補正する。情報処理装置100は、3次元モデルの原型の大きさを補正することにより、3次元モデルの完成版を生成する。
【0087】
情報処理装置100は、例えば、3次元モデルの原型を形成するそれぞれの3次元点群の位置x,y,zと、法線ベクトルx,y,zとを変更する。例えば、第2部分の寸法が、第1部分701の寸法の2倍である場合が考えられる。この場合、情報処理装置100は、3次元モデルを形成するそれぞれの3次元点群の位置x,y,zと、法線ベクトルx,y,zとを2倍にすることになる。従って、情報処理装置100は、データ1000を、データ1100に更新することになる。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルの完成版を生成することができる。
【0088】
情報処理装置100は、生成した3次元モデルの完成版を、利用者が参照可能に表示する。利用者は、例えば、対象物の劣化状況を判断する作業者である。これにより、情報処理装置100は、作業者が、対象物の劣化状況を精度よく判断し易くすることができる。情報処理装置100は、例えば、作業者が、対象物の実際の寸法を精度よく表す3次元モデルの完成版を参照可能にすることができ、3次元モデルの完成版に色彩で表された劣化箇所に対応するエリアを参照可能にすることができる。
【0089】
このため、情報処理装置100は、利用者が、対象物に、どの程度の大きさのどの程度の危険度の劣化箇所が存在するのかを精度よく判断し易くすることができる。情報処理装置100は、利用者が、対象物の劣化状況を、定量的に判断可能にすることができる。そして、情報処理装置100は、作業者にかかる作業負担および作業時間の増大化を抑制することができる。
【0090】
(全体処理手順)
次に、
図12を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0091】
図12は、全体処理手順の一例を示すフローチャートである。
図12において、情報処理装置100は、異なる視点から3次元構造物を撮像した複数の画像データを取得する(ステップS1201)。
【0092】
次に、情報処理装置100は、取得した複数の画像データのそれぞれの画像データについて劣化箇所が映った劣化領域を検出する(ステップS1202)。そして、情報処理装置100は、取得した複数の画像データのそれぞれの画像データのうち、劣化領域に存在する画素が有する色彩パラメータを、劣化領域を示す値に設定する(ステップS1203)。
【0093】
次に、情報処理装置100は、
図13に後述する生成処理を実行し、取得した複数の画像データを合成することにより、3次元構造物の3次元モデルを生成する(ステップS1204)。そして、情報処理装置100は、3次元構造物のうち寸法が既知の部分に基づいて、生成した3次元モデルの大きさを調整する(ステップS1205)。その後、情報処理装置100は、全体処理を終了する。
【0094】
(生成処理手順)
次に、
図13を用いて、情報処理装置100が実行する、生成処理手順の一例について説明する。生成処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0095】
図13は、生成処理手順の一例を示すフローチャートである。
図13において、情報処理装置100は、複数の画像データのそれぞれの画像データに含まれる画素のパラメータを取得する(ステップS1301)。
【0096】
次に、情報処理装置100は、取得したパラメータを、異なる画像データ間でマッチングする(ステップS1302)。そして、情報処理装置100は、マッチングした結果に基づいて、それぞれの画像データに対応するカメラ位置を推定する(ステップS1303)。
【0097】
次に、情報処理装置100は、推定したカメラ位置に基づいて、3次元空間上に、3次元構造物の3次元モデルを形成する点群を生成する(ステップS1304)。そして、情報処理装置100は、生成した点群に基づいて、3次元空間上に、3次元構造物の3次元モデルを可視化するためのメッシュを生成する(ステップS1305)。
【0098】
次に、情報処理装置100は、生成したメッシュに基づいて、3次元空間上に、3次元構造物の3次元モデルを生成する(ステップS1306)。そして、情報処理装置100は、生成処理を終了する。
【0099】
以上説明したように、情報処理装置100によれば、寸法が既知の第1部分を有する対象物を第1部分が映るよう撮像した画像を含む、異なる視点から対象物を撮像した複数の画像を取得することができる。情報処理装置100によれば、取得した複数の画像を合成することにより、第1部分に対応する対象物の3次元モデルが有する第2部分の寸法が第1部分の寸法に合致するよう、対象物の3次元モデルを生成することができる。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルを生成することができる。情報処理装置100は、例えば、対象物の寸法を精度よく表す3次元モデルを生成することができる。このため、情報処理装置100は、作業者が、対象物の劣化状況を判断し易くすることができる。
【0100】
情報処理装置100によれば、複数の画像のそれぞれの画像における、対象物のうち劣化した箇所が映った領域を検出した結果を、当該画像に付加することができる。情報処理装置100によれば、結果を付加した複数の画像を合成することにより、第2部分の寸法が第1部分の寸法に合致するよう、領域を判別可能に表す対象物の3次元モデルを生成することができる。これにより、情報処理装置100は、作業者が、対象物の劣化状況を判断し易くすることができる。情報処理装置100は、例えば、作業者が、3次元モデルを参照して、対象物のうち劣化した箇所が映った領域を検出し易くすることができ、対象物の劣化状況を判断し易くすることができる。
【0101】
情報処理装置100によれば、それぞれの画像における、領域に存在するそれぞれの画素が有する色彩パラメータを、特定の値に設定することにより、領域を検出した結果を、当該画像に付加することができる。これにより、情報処理装置100は、領域を判別可能に表す対象物の3次元モデルを生成し易くすることができる。
【0102】
情報処理装置100によれば、取得した複数の画像を合成し、対象物の3次元モデルの原型を生成することができる。情報処理装置100によれば、第2部分の寸法が第1部分の寸法に合致するよう、生成した対象物の3次元モデルの原型の大きさを変更することにより、対象物の3次元モデルを生成することができる。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルを生成することができる。
【0103】
情報処理装置100によれば、Structure from Motionによって、3次元モデルを生成することができる。これにより、情報処理装置100は、対象物を精度よく表す3次元モデルを生成し易くすることができる。
【0104】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0105】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0106】
(付記1)寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0107】
(付記2)前記複数の画像のそれぞれの画像における、前記対象物のうち劣化した箇所が映った領域を検出した結果を、当該画像に付加する、
処理を前記コンピュータに実行させ、
前記生成する処理は、
前記結果を付加した前記複数の画像を合成することにより、前記第2部分の寸法が前記第1部分の寸法に合致するよう、前記領域を判別可能に表す前記対象物の3次元モデルを生成する、ことを特徴とする付記1に記載の情報処理プログラム。
【0108】
(付記3)前記付加する処理は、
前記それぞれの画像における、前記領域に存在するそれぞれの画素が有する色彩パラメータを、特定の値に設定することにより、前記領域を検出した結果を、当該画像に付加する、ことを特徴とする付記2に記載の情報処理プログラム。
【0109】
(付記4)前記生成する処理は、
取得した前記複数の画像を合成し、前記対象物の3次元モデルの原型を生成した後、前記第2部分の寸法が前記第1部分の寸法に合致するよう、生成した前記対象物の3次元モデルの原型の大きさを変更することにより、前記対象物の3次元モデルを生成する、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0110】
(付記5)前記生成する処理は、
Structure from Motionによって、前記3次元モデルを生成する、ことを特徴とする付記1~4のいずれか一つに記載の情報処理プログラム。
【0111】
(付記6)寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【0112】
(付記7)寸法が既知の第1部分を有する対象物を前記第1部分が映るよう撮像した画像を含む、異なる視点から前記対象物を撮像した複数の画像を取得し、
取得した前記複数の画像を合成することにより、前記対象物の3次元モデルのうち、前記第1部分に対応する第2部分の寸法が、前記第1部分の寸法に合致するよう、前記対象物の3次元モデルを生成する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0113】
100 情報処理装置
110 対象物
111,701 第1部分
120 画像
130 3次元モデル
131 第2部分
140 仮想空間
200 情報処理システム
201 画像撮像装置
210 ネットワーク
300,400 バス
301,401 CPU
302,402 メモリ
303,403 ネットワークI/F
304,404 記録媒体I/F
305,405 記録媒体
306 ディスプレイ
307 入力装置
406 カメラ
500 記憶部
501 取得部
502 解析部
503 生成部
504 出力部
600 単眼カメラ画像
700 擁壁
702 長さ
800 領域
900 検出後単眼カメラ画像
1000,1100 データ