(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】撮影画像処理装置、撮影画像処理方法及び撮影画像処理プログラム
(51)【国際特許分類】
G06T 7/215 20170101AFI20230816BHJP
G06T 3/00 20060101ALI20230816BHJP
【FI】
G06T7/215
G06T3/00 780
(21)【出願番号】P 2019184296
(22)【出願日】2019-10-07
【審査請求日】2022-05-17
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成26年度、 国立研究開発法人新エネルギー・産業技術総合開発機構、「SIP(戦略的イノベーション創造プログラム)インフラ維持管理・更新・マネジメント技術/維持管理ロボット・災害対応ロボットの開発/二輪型マルチコプタを用いたジオタグ付近接画像を取得可能な橋梁点検支援ロボットシステムの研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】中尾 学
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開2018-205264(JP,A)
【文献】特開2016-149594(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06T 3/00
(57)【特許請求の範囲】
【請求項1】
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得する取得部と、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の
フレームに含まれる対応する局所領域の数が最大の局所領域を、代表局所領域として決定する決定部と
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する特定部と
を有する撮影画像処理装置。
【請求項2】
前記撮像部が各フレームを撮影する間の、前記移動体の車輪の回転量に基づいて、前記移動体の移動量及び移動方向を算出し、前記移動体の移動量及び移動方向に基づいて、各フレーム間の局所領域の概略移動量を算出する算出部と、
前記概略移動量に基づいて、前記フレーム間で対応する局所領域を判定する判定部と
を更に有する請求項1に記載の撮影画像処理装置。
【請求項3】
前記撮影画像の各フレームより画像特徴を抽出し、抽出した画像特徴のフレーム間でのマッチングにより、各フレーム間の局所領域の概略移動量を算出する算出部と、
前記概略移動量に基づいて、前記フレーム間で対応する局所領域を判定する判定部と
を更に有する請求項1に記載の撮影画像処理装置。
【請求項4】
前記特定部は、前記他の
フレームに含まれる対応する局所領域のうち、前記決定部により決定された代表局所領域との類似度が所定の閾値以下の局所領域を、前記移動体の影に含まれる局所領域として特定する、請求項1乃至3のいずれか1項に記載の撮影画像処理装置。
【請求項5】
前記撮影画像の各フレームの局所領域のうち、前記特定部により特定された前記移動体の影に含まれる局所領域を除く局所領域を合成して、オルソ画像を生成する生成部を更に有する請求項4に記載の撮影画像処理装置。
【請求項6】
前記決定部は、前記他の
フレームに含まれる対応する局所領域との類似度が最大の局所領域が複数存在した場合、前記撮影画像の中心位置との距離が最も短い局所領域を、前記代表局所領域として決定する、請求項1乃至5のいずれか1項に記載の撮影画像処理装置。
【請求項7】
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得し、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の
フレームに含まれる対応する局所領域の数が最大の局所領域を、代表局所領域として決定し、
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する、
処理をコンピュータが実行する撮影画像処理方法。
【請求項8】
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得し、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の
フレームに含まれる対応する局所領域の数が最大の局所領域を、代表局所領域として決定し、
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する、
処理をコンピュータに実行させるための撮影画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影画像処理装置、撮影画像処理方法及び撮影画像処理プログラムに関する。
【背景技術】
【0002】
一般に、橋梁等の構造物の点検作業においては、点検用ドローン等の無人飛行機が用いられる。具体的には、点検作業者は、まず、無人飛行機を微速飛行させて構造物を連続撮影し、撮影画像を合成することでオルソ画像等の合成画像を生成する。続いて、点検作業者は、当該合成画像に基づいて構造物における損傷部の有無等を検査する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、無人飛行機を用いて構造物を連続撮影した場合、撮影画像に機体の影が映り込むことがある。一方で、機体の影が映り込んだ領域は、損傷部の検出精度が低下する。このため、オルソ画像等の合成画像を生成するにあたっては、撮影画像において当該領域を特定し、特定した領域を除いて合成処理を行うことが望ましい。
【0005】
一つの側面では、撮影画像において影が映り込んだ領域を特定する撮影画像処理装置、撮影画像処理方法及び撮影画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
一態様によれば、撮影画像処理装置は、
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得する取得部と、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他のフレームに含まれる対応する局所領域の数が最大の局所領域を、代表局所領域として決定する決定部と、
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する特定部とを有する。
【発明の効果】
【0007】
撮影画像において影が映り込んだ領域を特定する撮影画像処理装置、撮影画像処理方法及び撮影画像処理プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】撮影画像処理システムのシステム構成の一例を示す図である。
【
図2】代表局所領域決定処理の概要を説明するための図である。
【
図3】撮影画像処理装置のハードウェア構成の一例を示す図である。
【
図4】オルソ画像生成部の機能構成の一例を示す第1の図である。
【
図5】概略移動量算出部の処理の具体例を示す図である。
【
図6】局所領域追跡部の処理の具体例を示す図である。
【
図7】代表局所領域追跡部の処理の具体例を示す図である。
【
図8】代表局所領域決定処理の流れを示すフローチャートである。
【
図9】オルソ画像生成処理の流れを示す第1のフローチャートである。
【
図10】オルソ画像生成部の機能構成の一例を示す第2の図である。
【
図11】画像特徴マッチング部の処理の具体例を示す図である。
【
図12】オルソ画像生成処理の流れを示す第2のフローチャートである。
【発明を実施するための形態】
【0009】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0010】
[第1の実施形態]
<撮影画像処理システムのシステム構成>
はじめに、第1の実施形態に係る撮影画像処理装置を含む撮影画像処理システム全体のシステム構成について説明する。
図1は、撮影画像処理システムのシステム構成の一例を示す図である。
図1に示すように、撮影画像処理システム100は、点検用ドローン110と、撮影画像処理装置120とを有する。
【0011】
点検用ドローン110は、無人飛行機(移動体)であり、本体部111、飛行部112、113、撮像部114、左車輪部115、右車輪部116を有する(いわゆる二輪型マルチコプタである)。
【0012】
点検用ドローン110は、橋梁130等の構造物の位置まで高速飛行した後、点検対象(例えば、橋梁130の橋桁部131)に左車輪部115、右車輪部116を接触させた状態で、矢印140方向に微速飛行する。これにより、点検用ドローン110は、点検対象を広域にわたって連続的に近接撮影することができる。
【0013】
また、点検用ドローン110は、帰還後に、連続的に近接撮影することで得られた撮影画像データを、撮影画像処理装置120に送信する。
【0014】
撮影画像処理装置120には、撮影画像処理プログラムがインストールされており、当該プログラムが実行されることで、撮影画像処理装置120は、オルソ画像生成部121として機能する。
【0015】
オルソ画像生成部121は、点検用ドローン110より送信された撮影画像データの各フレームから、オルソ画像の生成に用いる局所領域を抽出し、抽出した局所領域を合成して、オルソ画像(合成画像)を生成する。
【0016】
具体的には、オルソ画像生成部121は、まず、点検用ドローン110から送信された、撮影画像データをフレーム単位でフレーム格納部122に格納する。続いて、オルソ画像生成部121は、格納した撮影画像データを、所定のフレーム数ずつ読み出して処理することで、各フレームにおいて、点検用ドローン110の影に含まれる局所領域を除き、オルソ画像の生成に用いる局所領域(合成対象)を抽出する。
【0017】
また、オルソ画像生成部121では、各フレームから抽出した合成対象を合成してオルソ画像を生成し、生成したオルソ画像をオルソ画像格納部123に格納する。
【0018】
なお、
図1に示すように、第1の実施形態では、橋桁部131の上下方向をY軸、左車輪部115、右車輪部116が接触する橋桁部131の接触面に略直交する方向をZ軸、左車輪部115、右車輪部116に略直交する方向をX軸、としている。
【0019】
<代表局所領域決定処理の概要>
次に、オルソ画像生成部121による代表局所領域決定処理の概要について説明する。上述したように、第1の実施形態において、オルソ画像生成部121は、オルソ画像を生成するにあたり、撮影画像データの各フレームにおいて、点検用ドローン110の影に含まれる局所領域を除き、合成対象を抽出する。
【0020】
このとき、オルソ画像生成部121では、撮影画像データのいずれのフレームも、点検用ドローン110の影が映り込んだ領域の方が、影が映り込んでいない領域よりも、面積が小さいという特性を利用する。当該特性によれば、複数フレームにわたって、所定の局所領域を追跡した場合に、各フレームに映り込んだ点検用ドローン110の影に含まれる局所領域の数の方が、当該影に含まれない局所領域の数よりも少なくなる。
【0021】
オルソ画像生成部121では、上記特性を利用することで、当該影に含まれない局所領域であって代表的な1の局所領域を代表局所領域として決定する。そして、オルソ画像生成部121では、決定した代表局所領域との類似度が所定の閾値以下となる局所領域を、当該影に含まれる局所領域として特定する。
【0022】
ここで、オルソ画像生成部121において、当該影に含まれる局所領域を精度よく特定するためには、代表局所領域を適切に決定することが重要となる。そこで、以下では、代表局所領域を適切に決定するための代表局所領域決定処理の概要について説明する。
【0023】
図2は、代表局所領域決定処理の概要を説明するための図である。
図2において、(a-1)~(a-3)は、点検用ドローン110が、橋桁部131に左車輪部115、右車輪部116を接触させた状態で、矢印140方向に微速飛行する様子を、X軸方向から見た様子を示している。
【0024】
なお、
図1と同様に、
図2の(a-1)~(a-3)においても、橋桁部131の上下方向をY軸、左車輪部115、右車輪部116が接触する橋桁部131の接触面に略直交する方向をZ軸、左車輪部115、右車輪部116に略直交する方向をX軸、としている。
【0025】
このうち、
図2の(a-1)は、点検用ドローン110が、XYZ軸空間において、座標=(X
0,Y
N,0)の位置において、橋桁部131を撮影している様子を示している。
図2の(a-1)において、点線201は撮像部114による撮影範囲を示している。なお、
図2の(a-1)に示すように、橋桁部131上の座標=(X
t,Y
t,Z
t)の位置には欠損部が存在しており、撮影範囲に含まれているものとする(黒四角参照)。
【0026】
同様に、
図2の(a-2)は、点検用ドローン110が、XYZ軸空間において、座標=(X
0,Y
N+1,0)の位置において、橋桁部131を撮影している様子を示している。
図2の(a-2)において、点線202は撮像部114による撮影範囲を示している。なお、
図2の(a-2)においても、橋桁部131上の座標=(X
t,Y
t,Z
t)の位置に存在する欠損部は、撮影範囲に含まれているものとする(黒四角参照)。
【0027】
同様に、
図2の(a-3)は、点検用ドローン110が、XYZ軸空間において、座標=(X
0,Y
N+2,0)の位置において、橋桁部131を撮影している様子を示している。
図2の(a-3)において、点線203は撮像部114による撮影範囲を示している。なお、
図2の(a-3)においても、橋桁部131上の座標=(X
t,Y
t,Z
t)の位置に存在する欠損部は、撮影範囲に含まれているものとする(黒四角参照)。
【0028】
一方、
図2の(b-1)~(b-3)は、点検用ドローン110が、
図2の(a-1)~(a-3)に示すそれぞれの位置を微速飛行中(移動中)に撮影した撮影画像データの一例を示している。フレーム210、220、230は、連続するフレームであり、それぞれ、フレーム番号=フレームN、フレームN+1、フレームN+2が割り当てられている。
【0029】
なお、
図2の(b-1)~(b-3)においては、フレーム210、220、230の横方向をx軸、縦方向をy軸としている。
【0030】
図2の(b-1)~(b-3)に示すように、フレーム210、220、230には、それぞれ、点検用ドローン110の影211、221、231が映り込んでいる。橋梁130等の構造物は屋外にあるため、特に晴天時には、フレーム210、220、230において影211、221、231が映り込んだ領域と、影211、221、231が映り込んでいない領域との明度差は大きくなる。
【0031】
ここで、点検用ドローン110の微速飛行中(移動中)において、太陽の光の照射方向はほとんど変わらないため、点検用ドローン110の影は、点検用ドローン110の移動に伴って移動する。この結果、フレーム210、220、230に映り込む影211、221、231の位置は、相対的に同じ位置となる。一方、橋桁部131上の欠損部200の位置は固定である。このため、点検用ドローン110の移動に伴って、欠損部200の位置は、相対的にフレーム210、220、230内を移動することになる。
【0032】
図2の(b-1)~(b-3)は、欠損部200の位置が、フレーム210においては、座標=(x
N,y
N)の位置に存在していたところ、フレーム220においては、座標=(x
N+1,y
N+1)の位置に移動した様子を示している。更に、フレーム230においては、座標=(x
N+2,y
N+2)の位置に移動し、欠損部200の位置が影231に含まれることとなった様子を示している。
【0033】
ここで、上述したように、オルソ画像生成部121では、オルソ画像の生成に用いる局所領域(合成対象)を各フレームから抽出するにあたり、例えば、影231に含まれる欠損部200の領域を除く。
【0034】
具体的には、オルソ画像生成部121では、まず、フレーム210における欠損部200の領域と、フレーム220における欠損部200の領域と、フレーム230における欠損部200の領域との間で、類似度を算出する。
【0035】
続いて、オルソ画像生成部121では、フレーム210における欠損部200の領域との間で算出した類似度が、所定の閾値以上となる他のフレームの欠損部200の領域の数(類似度スコア)をカウントする。
図2の例では、フレーム220または230の欠損部200の領域との間で類似度を算出するため、所定の閾値以上となる欠損部200の領域の数(類似度スコア)は、最小で"0"、最大で"2"となる。
【0036】
同様に、オルソ画像生成部121では、フレーム220における欠損部200の領域との間で算出した類似度が、所定の閾値以上となる他のフレームの欠損部200の領域の数(類似度スコア)をカウントする。
図2の例では、フレーム210または230との間で類似度を算出するため、所定の閾値以上となる欠損部200の領域の数(類似度スコア)は、最小で"0"、最大で"2"となる。
【0037】
同様に、オルソ画像生成部121では、フレーム230における欠損部200の領域との間で算出した類似度が、所定の閾値以上となる他のフレームの欠損部200の領域の数(類似度スコア)をカウントする。
図2の例では、フレーム210または220の欠損部200の領域との間で類似度を算出するため、所定の閾値以上となる欠損部200の領域の数(類似度スコア)は、最小で"0"、最大で"2"となる。
【0038】
続いて、オルソ画像生成部121では、類似度スコアが最大となる欠損部200の領域を、複数フレームに含まれる欠損部200の領域のうちの、代表的な1の領域(代表局所領域)と決定する。
【0039】
図2の例の場合、フレーム210における欠損部200の領域とフレーム220における欠損部200の領域との類似度は、所定の閾値以上となる。一方、フレーム210における欠損部200の領域とフレーム230における欠損部200の領域との類似度は、所定の閾値未満となる。同様に、フレーム220における欠損部200の領域とフレーム230における欠損部200の領域との類似度は、所定の閾値未満となる。
【0040】
したがって、フレーム210、220の場合、所定の閾値以上となる欠損部200の領域の数(類似度スコア)は、"1"となる。一方、フレーム230の場合、所定の閾値以上となる欠損部200の領域の数(類似度スコア)は、"0"となる。したがって、
図2の例の場合、オルソ画像生成部121では、フレーム210または220における欠損部200の領域を、代表局所領域と決定する。
【0041】
このように、影が映り込んだ領域の方が、影が映り込んでいない領域よりも、面積が小さいという特性を利用して類似度スコアをカウントすることで、オルソ画像生成部121によれば、代表局所領域を適切に決定することが可能となる。
【0042】
なお、オルソ画像生成部121では、フレーム間で対応する欠損部200の領域のうち、代表局所領域と決定された欠損部200の領域との類似度が所定の閾値以下となる欠損部200の領域を、点検用ドローン110の影に含まれる領域と判定する。
図2の例では、フレーム230における欠損部200の領域を、点検用ドローン110の影231に含まれる局所領域と特定する。
【0043】
このように、オルソ画像生成部121では、決定した代表局所領域との比較により、点検用ドローン110の影に含まれる局所領域を特定することで、
・映り込んだ影の位置、
・映り込んだ影の形、
・映り込んだ影の濃淡度、
等が、環境(太陽の位置や天候等)に応じて変化した場合であっても、撮影画像データにおいて点検用ドローンの影が映り込んだ領域を精度よく特定することができる。
【0044】
<撮影画像処理装置のハードウェア構成>
次に、撮影画像処理装置120のハードウェア構成について説明する。
図3は、撮影画像処理装置のハードウェア構成の一例を示す図である。
図3に示すように、撮影画像処理装置120は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303を有する。CPU301、ROM302、RAM303は、いわゆるコンピュータを形成する。
【0045】
また、撮影画像処理装置120は、補助記憶装置304、表示装置305、操作装置306、I/F(Interface)装置307、ドライブ装置308を有する。なお、撮影画像処理装置120の各ハードウェアは、バス309を介して相互に接続されている。
【0046】
CPU301は、補助記憶装置304にインストールされている各種プログラム(例えば、撮影画像処理プログラム等)を実行する演算デバイスである。
【0047】
ROM302は、不揮発性メモリである。ROM302は、補助記憶装置304にインストールされている各種プログラムをCPU301が実行するために必要な各種プログラム、データ等を格納する主記憶デバイスとして機能する。具体的には、ROM302はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する、主記憶デバイスとして機能する。
【0048】
RAM303は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM303は、補助記憶装置304にインストールされている各種プログラムがCPU301によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
【0049】
補助記憶装置304は、各種プログラムや、各種プログラムが実行される際に用いられる情報を格納する補助記憶デバイスである。例えば、フレーム格納部122、オルソ画像格納部123は、補助記憶装置304において実現される。
【0050】
表示装置305は、オルソ画像等を含む各種表示画面を表示する表示デバイスである。操作装置306は、作業者が撮影画像処理装置120に対して各種指示を行う入力デバイスである。
【0051】
I/F装置307は、点検用ドローン110と無線接続され、点検用ドローン110との間で通信を行うための通信デバイスである。
【0052】
ドライブ装置308は記録媒体310をセットするためのデバイスである。ここでいう記録媒体310には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体310には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0053】
なお、補助記憶装置304にインストールされる各種プログラムは、例えば、配布された記録媒体310がドライブ装置308にセットされ、該記録媒体310に記録された各種プログラムがドライブ装置308により読み出されることでインストールされる。あるいは、補助記憶装置304にインストールされる各種プログラムは、不図示のネットワークよりダウンロードされることでインストールされてもよい。
【0054】
<撮影画像処理装置のオルソ画像生成部の機能構成>
次に、撮影画像処理装置120のオルソ画像生成部121の機能構成について説明する。
図4は、オルソ画像生成部の機能構成の一例を示す第1の図である。
図4に示すように、オルソ画像生成部121は、回転量算出部401、402、概略移動量算出部403、画像取得部404、局所領域追跡部405、代表局所領域追跡部406、影領域判定部407、合成対象外マスク生成部408、合成部409を有する。
【0055】
回転量算出部401、402は、点検用ドローン110が、左車輪部115、右車輪部116を接触させた状態で微速飛行した際の、左車輪部115、右車輪部116のフレーム間での回転量を算出する。回転量算出部401、402では、例えば、フレーム番号=フレームNのフレーム210が撮影されてから、フレーム番号=フレームN+1のフレーム220が撮影されるまでの間に、左車輪部115、右車輪部116が回転した回転量を算出する。
【0056】
概略移動量算出部403は算出部の一例であり、回転量算出部401、402において算出された、左車輪部115、右車輪部116の回転量に基づいて、点検用ドローン110のフレーム間での概略移動量を算出する。また、概略移動量算出部403は、点検用ドローン110のフレーム間での概略移動量を算出することで、フレーム間での画面全体の概略移動量を取得する。
【0057】
画像取得部404は取得部の一例であり、点検用ドローン110が、左車輪部115、右車輪部116を接触させた状態で微速飛行した際の、撮影画像データを取得する。画像取得部404は、取得した撮影画像データを、フレーム単位で、フレーム格納部122に格納する。
【0058】
局所領域追跡部405は判定部の一例であり、フレーム格納部122から撮影画像データを読み出し、読み出した撮影画像データの各フレームを、局所領域に分割する。また、局所領域追跡部405は、撮影画像データの各フレーム間において、各局所領域の移動先を判定する。
【0059】
これにより、局所領域追跡部405では、撮影画像データの各フレーム間で各局所領域の移動先を追跡し、各フレーム間で対応する局所領域を判定することができる。
【0060】
代表局所領域追跡部406は決定部の一例であり、撮影画像データの各フレームにおいて、代表局所領域を決定する。具体的には、代表局所領域追跡部406は、各フレーム間で対応する局所領域同士の類似度を算出する。また、代表局所領域追跡部406は、各フレーム間で、対応する局所領域の各フレーム間で類似度が所定の閾値以上となる局所領域の数(類似度スコア)をカウントし、カウントした類似度スコアが最大となる局所領域を判定する。更に、代表局所領域追跡部406は、判定した局所領域を、フレーム間で対応する局所領域のうちの、代表局所領域として決定する。
【0061】
影領域判定部407は特定部の一例であり、代表局所領域追跡部406が、フレーム間で対応する局所領域のうち、代表局所領域との類似度が、所定の閾値以下となる局所領域を、点検用ドローン110の影に含まれる局所領域として特定する。
【0062】
合成対象外マスク生成部408は、影領域判定部407により特定された、点検用ドローン110の影に含まれる局所領域をマスクするための合成対象外マスクを生成する。
【0063】
合成部409は生成部の一例であり、フレーム格納部122から撮影画像データの各フレームを読み出し、合成対象外マスク生成部408により生成された合成対象外マスクを用いて各フレームをマスクすることで、合成対象を抽出する。また、合成部409は、抽出した合成対象を合成して、オルソ画像を生成する。更に、合成部409は、生成したオルソ画像をオルソ画像格納部123に格納する。
【0064】
<オルソ画像生成部の各部の処理の具体例>
次に、オルソ画像生成部121の各部(ここでは、概略移動量算出部403、局所領域追跡部405、代表局所領域追跡部406)の処理の具体例について説明する。
【0065】
(1)概略移動量算出部の処理の具体例
はじめに、概略移動量算出部403の処理の具体例について説明する。
図5は、概略移動量算出部の処理の具体例を示す図である。
図5に示すように、左車輪移動量算出部501では、回転量算出部401より左車輪部115の回転量Δφ
lを取得し、左車輪部115の半径rに基づき、下式1により、左車輪部115の移動量v
Lを算出する。
【0066】
【0067】
同様に、右車輪移動量算出部502では、回転量算出部402より右車輪部116の回転量Δφrを取得し、右車輪部116の半径rに基づき、下式2により、右車輪部116の移動量vRを算出する。
【0068】
【0069】
また、並進移動量算出部503では、左車輪部115の移動量vLと右車輪部116の移動量vRとに基づき、下式3により、並進移動量tを算出する。
【0070】
【0071】
また、移動方向算出部504では、左車輪部115の移動量vLと、右車輪部116の移動量vRと、車輪部間の距離2dとに基づき、下式4により、移動方向θを算出する。
【0072】
【0073】
また、XY移動量算出部505では、並進移動量tと移動方向θとに基づき、下式5、6により、XYZ軸空間におけるY軸方向の移動量MY及びX軸方向の移動量MXを算出する
【0074】
【0075】
【0076】
また、xy移動量算出部506では、Y軸方向の移動量MY及びX軸方向の移動量MXを取得し、下式7、8により、フレーム間における各局所領域のy軸方向の移動量my及びx軸方向の移動量mxを算出する。ただし、下式7、8において、fは撮像部114から点検対象(橋桁部131)までの焦点距離を表し、lは撮像部114から点検対象(橋桁部131)までの距離を表し、pは1画素あたりの大きさを表すものとする。
【0077】
【0078】
【0079】
概略移動量算出部403では、算出したy軸方向の移動量my及びx軸方向の移動量mxをフレーム間での画面全体の概略移動量として、局所領域追跡部405に通知する。
【0080】
(2)局所領域追跡部の処理の具体例
次に、局所領域追跡部405の処理の具体例について説明する。
図6は、局所領域追跡部の処理の具体例を示す図である。上述したように、局所領域追跡部405は、フレーム格納部122から読み出した撮影画像データの各フレームを、局所領域に分割する。
図6の例は、局所領域追跡部405が、フレーム番号=フレームNのフレーム210と、フレーム番号=フレームN+1のフレーム220とを読み出し、局所領域に分割した様子を示している。
【0081】
局所領域追跡部405では、フレーム210の各局所領域と類似する、フレーム220の各局所領域を判定する。
図6の例は、フレーム210の各局所領域のうち、局所領域601と類似する、フレーム220の局所領域を判定する様子を示している。
【0082】
図6に示すように、局所領域追跡部405では、類似する局所領域を判定する際、概略移動量算出部403で算出された、x軸方向の移動量m
x及びy軸方向の移動量m
yを用いる。
【0083】
具体的には、局所領域追跡部405では、局所領域601の位置を、x軸方向の移動量mx及びy軸方向の移動量myだけ移動させた、フレーム220上の局所領域602の位置を特定する。続いて、局所領域追跡部405では、局所領域602の位置を中心とする所定の探索範囲620を規定し、規定した探索範囲620内の各局所領域を対象として、局所領域601との類似度を算出する。
【0084】
続いて、局所領域追跡部405では、算出した類似度が最大の局所領域602'を、局所領域601の移動先として判定する。局所領域追跡部405では、フレーム210に含まれる全ての局所領域について同様の処理を行うことで、全ての局所領域についての移動先を追跡する。これにより、局所領域追跡部405では、フレーム間で対応する局所領域を判定することができる。
【0085】
(3)代表局所領域追跡部の処理の具体例
次に、代表局所領域追跡部406の処理の具体例について説明する。
図7は、代表局所領域追跡部の処理の具体例を示す図である。
図7の例は、フレーム番号=フレームN、フレームN+1、フレームN+3の3つのフレームにおいて、局所領域710、720、730の中から、代表局所領域を決定する様子を示している。なお、局所領域710、720、730は、フレーム210、220、230間で対応する局所領域である。具体的には、フレーム220の局所領域720は、フレーム210の局所領域710の移動先であり、フレーム230の局所領域730は、フレーム220の局所領域720の移動先である。
【0086】
図7に示すように、代表局所領域追跡部406では、フレーム間で対応する局所領域同士の類似度を算出し、以下の算出結果を得る。
・局所領域710と局所領域720との間の類似度=0.9
・局所領域710と局所領域730との間の類似度=0.4
・局所領域720と局所領域730との間の類似度=0.5
また、
図7に示すように、代表局所領域追跡部406では、各局所領域について、算出した類似度が所定の閾値(
図7の例では、0.6)以上となる局所領域の数(類似度スコア)をカウントし、以下の結果を得る。
・フレーム番号=フレームNのフレーム210の局所領域710についての類似度スコア:1
・フレーム番号=フレームN+1のフレーム220の局所領域720についての類似度スコア:1
・フレーム番号=フレームN+2のフレーム230の局所領域730についての類似度スコア:0
また、
図7に示すように、代表局所領域追跡部406では、類似度スコアが最大となる局所領域として、フレーム番号=フレームN、フレームN+1の局所領域710、720を判定する。更に、代表局所領域追跡部406では、フレーム番号=フレームNのフレーム210における局所領域710の位置と、フレーム番号=フレームN+1のフレーム220における局所領域720の位置とを比較する。
【0087】
比較の結果、代表局所領域追跡部406では、各フレームにおける中心位置からの距離が小さい方の局所領域である、局所領域720を代表局所領域として決定する。
【0088】
続いて、代表局所領域追跡部406による、代表局所領域決定処理の流れについて説明する。
図8は、代表局所領域決定処理の流れを示すフローチャートである。
【0089】
ステップS801において、代表局所領域追跡部406は、処理対象のフレームをカウントするカウンタS1に"1"を代入する。
【0090】
ステップS802において、代表局所領域追跡部406は、追跡対象のフレームをカウントするカウンタS2に、"S1+1"を代入する。
【0091】
ステップS803において、フレーム番号=フレームS1のフレームの局所領域と、フレーム番号=フレームS2のフレームの対応する探索範囲の局所領域との類似度を算出し、フレーム間で対応する局所領域を判定する。
【0092】
ステップS804において、代表局所領域追跡部406は、類似度が所定の閾値以上であるか否かを判定する。ステップS804において、類似度が所定の閾値以上であると判定した場合には(ステップS804においてYesの場合には)、ステップS805に進む。
【0093】
ステップS805において、代表局所領域追跡部406は、フレーム番号=フレームS1の局所領域の類似度スコアに1を加算する。また、代表局所領域追跡部406は、フレーム番号=フレームS2の局所領域の類似度スコアに1を加算する。その後、ステップS806に進む。
【0094】
一方、ステップS804において、類似度が所定の閾値以上でないと判定した場合には(ステップS804においてNoの場合には)、直接、ステップS806に進む。
【0095】
ステップS806において、代表局所領域追跡部406は、カウンタS2をインクリメントする。
【0096】
ステップS807において、代表局所領域追跡部406は、追跡対象のフレームとして所定数のフレームについて類似度スコアを算出したかを判定する。ステップS807において、所定数のフレームについて類似度スコアを算出していないと判定した場合には(ステップS807においてNoの場合には)、ステップS803に戻る。
【0097】
一方、ステップS807において、所定数のフレームについて類似度スコアを算出したと判定した場合には、ステップS808に進む。
【0098】
ステップS808において、代表局所領域追跡部406は、カウンタS2をリセットするとともに、カウンタS1をインクリメントする。
【0099】
ステップS809において、代表局所領域追跡部406は、処理対象のフレームとして所定数のフレームについて類似度スコアを算出したか否かを判定する。ステップS809において、所定数のフレームについて類似度スコアを算出していないと判定した場合には(ステップS809においてNoの場合には)、ステップS902に戻る。
【0100】
一方、ステップS809において、所定数のフレームについて類似度スコアを算出したと判定した場合には(ステップS809においてYesの場合には)、ステップS810に進む。
【0101】
ステップS810において、代表局所領域追跡部406は、類似度スコアが最大となる局所領域を判定する。
【0102】
ステップS811において、代表局所領域追跡部406は、類似度スコアが最大となる局所領域が複数存在するか否かを判定する。ステップS811において、類似度スコアが最大となる局所領域が複数存在すると判定した場合には(ステップS811においてYesの場合には)、ステップS812に進む。
【0103】
ステップS812において、代表局所領域追跡部406は、類似度スコアが最大となる局所領域の中から、各フレームにおいて中心位置からの距離が最も小さい局所領域を判定し、ステップS813に進む。
【0104】
一方、ステップS811において、類似度スコアが最大となる局所領域が複数存在しないと判定した場合には(ステップS811においてNoの場合には)、直接、ステップS813に進む。
【0105】
ステップS813において、代表局所領域追跡部406は、各フレームにおいて中心位置からの距離が最も小さい局所領域を代表局所領域として決定する。
【0106】
これにより、撮影画像データに各フレームのうち、所定数のフレームの各局所領域において代表局所領域を決定することができる。なお、代表局所領域追跡部406では、上記代表局所領域決定処理を、撮影画像データの全てのフレームについて所定数ずつ実行する。
【0107】
<オルソ画像生成部によるオルソ画像生成処理の流れ>
次に、オルソ画像生成部121によるオルソ画像生成処理の流れについて説明する。
図9は、オルソ画像生成処理の流れを示す第1のフローチャートである。
【0108】
ステップS901において、画像取得部404は、撮影画像データを取得する。
【0109】
ステップS902において、回転量算出部401及び回転量算出部402は、左車輪部115及び右車輪部116の回転量を算出する。
【0110】
ステップS903において、概略移動量算出部403は、左車輪部115及び右車輪部116の回転量に基づいて、フレーム間での画面全体の概略移動量を算出する。
【0111】
ステップS904において、局所領域追跡部405は、撮影画像データの各フレームの各局所領域の移動先を追跡する。
【0112】
ステップS905において、代表局所領域追跡部406は、フレーム間で対応する局所領域の中から代表局所領域を決定する。
【0113】
ステップS906において、影領域判定部407は、代表局所領域との類似度を算出することで、フレーム間で対応する局所領域の中から、点検用ドローン110の影に含まれる局所領域を特定する。
【0114】
ステップS907において、合成対象外マスク生成部408は、影領域判定部407において特定された点検用ドローン110の影に含まれる局所領域をマスクするための合成対象外マスクを生成する。
【0115】
ステップS908において、画像取得部404は、撮影画像データの全てのフレームについて、ステップS901~ステップS907までの処理を実行しか否かを判定する。ステップS908において、処理を実行していないフレームがあると判定した場合には(ステップS908においてNoの場合には)、ステップS901に戻る。
【0116】
一方、ステップS908において、撮影画像データの全てのフレームについて処理を実行したと判定した場合には(ステップS908においてYesの場合には)、ステップS909に進む。
【0117】
ステップS909において、合成部409は、フレーム格納部122から撮影画像データの各フレームを読み出し、合成対象外マスク生成部408により生成された合成対象外マスクを用いて各フレームをマスクする。これにより、合成対象外マスク生成部408では、各フレームにおいて、点検用ドローン110の影に含まれる局所領域を除き、合成対象を抽出する。また、合成部409は、抽出した合成対象を合成して、オルソ画像を生成する。また、合成部409は、生成したオルソ画像をオルソ画像格納部123に格納する。
【0118】
以上の説明から明らかなように、第1の実施形態に係る撮影画像処理装置は、撮像部を搭載した点検用ドローンの微速飛行中(移動中)に撮影された撮影画像データを取得する。
【0119】
また、第1の実施形態に係る撮影画像処理装置は、車輪部の回転量を算出することで、フレーム間での画面全体の概略移動量を算出する。
【0120】
また、第1の実施形態に係る撮影画像処理装置は、概略移動量を用いてフレーム間で対応する局所領域を判定し、判定した局所領域のうち、類似度が所定の閾値以上となる他の局所領域の数が最大の局所領域を、代表局所領域として決定する。
【0121】
更に、第1の実施形態に係る撮影画像処理装置は、代表局所領域と比較することで、フレーム間で対応する局所領域の中から、点検用ドローンの影に含まれる局所領域を特定する。
【0122】
これにより、第1の実施形態に係る撮影画像処理装置によれば、撮影画像データに映り込んだ点検用ドローンの影に含まれる局所領域を精度よく特定することができる。
【0123】
[第2の実施形態]
上記第1の実施形態では、概略移動量算出部403が、車輪部の回転量を算出することで、フレーム間での画面全体の概略移動量を算出するものとして説明した。
【0124】
しかしながら、フレーム間での画面全体の概略移動量の算出方法はこれに限定されず、フレーム間で特徴マッチングを行うことで、フレーム間での画面全体の概略移動量を算出してもよい。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0125】
<撮影画像処理装置のオルソ画像生成部の機能構成>
図10は、オルソ画像生成部の機能構成の一例を示す第2の図である。
図4との相違点は、回転量算出部401、回転量算出部402、概略移動量算出部403の代わりに、画像特徴マッチング部1001を有する点である。
【0126】
画像特徴マッチング部1001は算出部の一例であり、各フレームの画像特徴を抽出し、フレーム間での画像特徴のマッチングを行うことで、フレーム間での画面全体の概略移動量を算出する。
【0127】
<画像特徴マッチング部の処理の具体例>
次に、画像特徴マッチング部1001の処理の具体例について説明する。
図11は、画像特徴マッチング部の処理の具体例を示す図である。このうち、
図11(a)は、画像特徴マッチング部1001による概略移動量算出処理の流れを示すフローチャートであり、
図11(b)は、概略移動量算出処理の具体例を示す図である。以下、
図11(b)を参照しながら、
図11(a)のフローチャートに沿って、画像特徴マッチング部1001による概略移動量算出処理について説明する。
【0128】
ステップS1101において、画像特徴マッチング部1001は、フレーム格納部122に格納された撮影画像データから、2つのフレームを読み出す。
【0129】
図11(b)の例は、フレーム番号=フレームNのフレーム210、フレーム番号=フレームN+1のフレーム220を読み出したことを示している。
【0130】
また、画像特徴マッチング部1001は、読み出したフレーム210、220から、画像特徴を抽出する。
【0131】
図11(b)の例は、画像特徴マッチング部1001が、フレーム210から画像特徴1111、1112、1113を抽出し、フレーム220から画像特徴1121、1122、1123を抽出した様子を示している。
【0132】
ステップS1102において、画像特徴マッチング部1001は、フレーム210、220間で、画像特徴のマッチングを行い、画像特徴1111、1112、1113と画像特徴1121、1122、1123との対応付けを行う。
【0133】
ステップS1103において、画像特徴マッチング部1001は、画像特徴の対応付けから、フレーム210とフレーム220との間の座標変換を行い、射影変換行列を算出する。画像特徴マッチング部1001は、フレーム210の各局所領域を射影変換行列を用いて変換した場合の、変換前の各局所領域の位置と変換後の各局所領域の位置との差分を算出することで、フレーム間での画面全体の概略移動量を算出する。
【0134】
<オルソ画像生成部によるオルソ画像生成処理の流れ>
次に、オルソ画像生成部121によるオルソ画像生成処理の流れについて説明する。
図12は、オルソ画像生成処理の流れを示す第2のフローチャートである。
図9に示す第1のフローチャートとの相違点は、ステップS1201である。
【0135】
ステップS1201において、画像特徴マッチング部1001は、各フレームの画像特徴を抽出し、フレーム間での画像特徴のマッチングを行うことで、フレーム間での画面全体の概略移動量を算出する。
【0136】
以上の説明から明らかなように、第2の実施形態に係る撮影画像処理装置は、撮像部を搭載した点検用ドローンの微速飛行中(移動中)に撮影された撮影画像データを取得する。
【0137】
また、第2の実施形態に係る撮影画像処理装置は、取得した撮影画像データの各フレームの画像特徴を抽出し、フレーム間での画像特徴のマッチングを行うことで、フレーム間での画面全体の概略移動量を算出する。
【0138】
また、第2の実施形態に係る撮影画像処理装置は、概略移動量を用いてフレーム間で対応する局所領域を判定し、判定した局所領域のうち、類似度が所定の閾値以上となる他の局所領域の数が最大の局所領域を、代表局所領域として決定する。
【0139】
更に、第2の実施形態に係る撮影画像処理装置は、代表局所領域と比較することで、フレーム間で対応する局所領域の中から、点検用ドローンの影に含まれる局所領域を特定する。
【0140】
これにより、第2の実施形態に係る撮影画像処理装置によれば、撮影画像データに映り込んだ点検用ドローンの影に含まれる局所領域を精度よく特定することができる。
【0141】
[その他の実施形態]
上記各実施形態では、点検用ドローン110が二輪型マルチコプタであるとして説明したが、二輪型マルチコプタ以外の点検用ドローンを用いてもよい。あるいは、点検用ドローン110等の無人飛行機以外の移動体を用いてもよい。
【0142】
また、上記各実施形態では、撮影画像データに基づいてオルソ画像を生成することを前提として説明したが、オルソ画像以外の合成画像を生成してもよい。
【0143】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得する取得部と、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の局所領域の数が最大の局所領域を、代表局所領域として決定する決定部と
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する特定部と
を有する撮影画像処理装置。
(付記2)
前記撮像部が各フレームを撮影する間の、前記移動体の車輪の回転量に基づいて、前記移動体の移動量及び移動方向を算出し、前記移動体の移動量及び移動方向に基づいて、各フレーム間の局所領域の概略移動量を算出する算出部と、
前記概略移動量に基づいて、前記フレーム間で対応する局所領域を判定する判定部と
を更に有する付記1に記載の撮影画像処理装置。
(付記3)
前記撮影画像の各フレームより画像特徴を抽出し、抽出した画像特徴のフレーム間でのマッチングにより、各フレーム間の局所領域の概略移動量を算出する算出部と、
前記概略移動量に基づいて、前記フレーム間で対応する局所領域を判定する判定部と
を更に有する付記1に記載の撮影画像処理装置。
(付記4)
前記特定部は、前記他の局所領域のうち、前記決定部により決定された代表局所領域との類似度が所定の閾値以下の局所領域を、前記移動体の影に含まれる局所領域として特定する、付記1乃至付記3のいずれかの付記に記載の撮影画像処理装置。
(付記5)
前記撮影画像の各フレームの局所領域のうち、前記特定部により特定された前記移動体の影に含まれる局所領域を除く局所領域を合成して、オルソ画像を生成する生成部を更に有する付記4に記載の撮影画像処理装置。
(付記6)
前記決定部は、前記他の局所領域との類似度が最大の局所領域が複数存在した場合、前記撮影画像の中心位置との距離が最も短い局所領域を、前記代表局所領域として決定する、付記1乃至付記5のいずれかの付記に記載の撮影画像処理装置。
(付記7)
前記算出部は、
前記移動体の右車輪部の回転量に基づいて算出した右車輪部の移動量と、前記移動体の左車輪部の回転量に基づいて算出した左車輪部の移動量とに基づいて、前記移動体の移動量及び前記移動体の移動方向を算出する、付記2に記載の撮影画像処理装置。
(付記8)
前記算出部は、
前記撮像部から点検対象までの焦点距離と、前記撮像部から点検対象までの距離と、撮影画像の1画素あたりの長さと、算出した前記移動体の移動量及び前記移動体の移動方向とに基づいて、各フレーム間の局所領域の概略移動量を算出する、付記7に記載の撮影画像処理装置。
(付記9)
前記判定部は、2つのフレームのうち、一方のフレームの局所領域の位置と、前記概略移動量とに基づいて、他方のフレームの局所領域を探索する探索範囲を規定し、規定した探索範囲において、前記一方のフレームの局所領域に対応する前記他方のフレームの局所領域を判定する、付記2または付記3に記載の撮影画像処理装置。
(付記10)
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得し、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の局所領域の数が最大の局所領域を、代表局所領域として決定し、
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する、
処理をコンピュータが実行する撮影画像処理方法。
(付記11)
撮像部が搭載された移動体の移動中に撮影された撮影画像を取得し、
撮影画像の各フレームを局所領域に分割し、フレーム間で対応する局所領域のうち、類似度が所定の閾値以上となる他の局所領域の数が最大の局所領域を、代表局所領域として決定し、
前記代表局所領域と比較することで、前記フレーム間で対応する局所領域の中から、前記移動体の影に含まれる局所領域を特定する、
処理をコンピュータに実行させるための撮影画像処理プログラム。
【0144】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0145】
100 :撮影画像処理システム
110 :点検用ドローン
114 :撮像部
115 :左車輪部
116 :右車輪部
120 :撮影画像処理装置
121 :オルソ画像生成部
130 :橋梁
131 :橋桁部
210、220、230 :フレーム
211、221、222 :影
401、402 :回転量算出部
403 :概略移動量算出部
404 :画像取得部
405 :局所領域追跡部
406 :代表局所領域追跡部
407 :影領域判定部
408 :合成対象外マスク生成部
409 :合成部
1001 :画像特徴マッチング部