(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-26
(45)【発行日】2024-02-05
(54)【発明の名称】情報処理装置、システム、情報処理方法及びプログラム
(51)【国際特許分類】
G06T 1/20 20060101AFI20240129BHJP
H04N 23/60 20230101ALI20240129BHJP
【FI】
G06T1/20 B
H04N23/60 300
H04N23/60 500
(21)【出願番号】P 2019134498
(22)【出願日】2019-07-22
【審査請求日】2022-07-21
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】三ツ元 信一
【審査官】鈴木 肇
(56)【参考文献】
【文献】特開2017-220892(JP,A)
【文献】国際公開第2017/217185(WO,A1)
【文献】特開2019-092006(JP,A)
【文献】特開2016-082327(JP,A)
【文献】特開2018-161488(JP,A)
【文献】国際公開第2019/021719(WO,A1)
【文献】特開2017-220833(JP,A)
【文献】国際公開第2019/031086(WO,A1)
【文献】米国特許第08712194(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 - 1/40
G06T 3/00 - 7/90
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 -23/76
H04N 23/90 -23/959
(57)【特許請求の範囲】
【請求項1】
構造物を撮影した対象画像を取得する取得手段と、
前記対象画像に対して複数の情報処理を実行する画像処理手段とを備え、
前記画像処理手段は、前記複数の情報処理の少なくとも1つとして、複数の前記対象画像を合成する合成処理を実行する場合、複数の前記対象画像に対して前段までの画像処理が実行された結果である第1画像と、前記前段までの画像処理において生成された第1のメタデータを入力として取得し、
前記第1画像に対して前記合成処理を実行した結果である第2画像と前記合成処理において生成された第2のメタデータを、前記第1のメタデータとともに後段の画像処理である前記構造物の変状の検知処理の入力と
し、
前記複数の情報処理は、前記合成処理、前記対象画像を幾何変換する処理、前記対象画像に対して機械学習された検出モデルを利用した検出処理、前記対象画像を所定の図面データに重畳させる処理を含むことを特徴とする情報処理装置。
【請求項2】
前記対象画像は、撮像装置によって撮影された複数の画像であって、
前記画像処理手段は、前記複数の情報処理のうちの1つとして、前記複数の画像を合成して1つの合成画像を生成する処理を実行する場合、前記第1のメタデータとして前記複数の画像のそれぞれの撮影時の情報を取得し、前記1つの合成画像に関する情報を前記第2のメタデータとして生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記対象画像は、撮像装置によって構造物を撮影することで得られた画像であって、
前記検出処理とは、前記画像から前記構造物に生じたひび割れを検出し、前記対象画像と前記検出処理において前記画像から検出されたひび割れ情報を重畳した画像を生成する処理であって、前記画像処理は、前記生成された画像とともに、検出されたひび割れに関する情報を含むメタデータを後段の画像処理の入力とする処理であることを特徴とする請求項
1に記載の情報処理装置。
【請求項4】
前記複数の情報処理のうち、前記検出処理は、前記合成処理より後で実行され、
前記画像処理手段は、前記合成処理における前記第1のメタデータとして取得された複数の画像のそれぞれの撮影時の情報を、前記検出処理においても前記第1のメタデータとして取得し、前記検出モデルの選択に利用することを特徴とする請求項
3に記載の情報処理装置。
【請求項5】
前記対象画像は、撮像装置によって構造物を撮影することで得られた画像であって、
前記対象画像を所定の図面データに重畳させる処理とは、前記構造物の設計情報に係る図面データに対して、前記対象画像の対応する部分を重畳した画像を生成する処理であることを特徴とする請求項
1乃至
4のいずれか1項に記載の情報処理装置。
【請求項6】
前記合成処理では、入力として取得する前記第1画像と、出力となる前記第2画像のデータ形式を異ならせることを特徴とする請求項1乃至
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記複数の情報処理のうち1以上の画像処理において、該画像処理の結果である前記第2画像を表示部に表示させる手段と、
表示された前記第2画像の一部を指定するユーザの操作を受け付ける手段と、
前記ユーザの操作と、入力された前記第1のメタデータとから、最前段の入力である前記対象画像のうち前記ユーザの操作によって指定された前記第2画像の一部に対応する画像を特定する手段を更に備えることを特徴とする請求項1乃至
6のいずれか1項に記載の情報処理装置。
【請求項8】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至
7のいずれか1項に記載の情報処理装置として機能させるプログラム。
【請求項9】
1以上の情報処理装置による情報処理方法であって、
構造物を撮影した対象画像を取得し、
前記対象画像に対して実行される複数の情報処理の少なくとも1つとして、複数の前記対象画像を合成する合成処理において、
複数の前記対象画像に対して前の段階までの情報処理が実行された結果である第1画像と、前記前の段階までの画像処理において生成された第1のメタデータを入力として取得し、
前記第1画像に対して前記合成処理を実行した結果である第2画像と前記画像処理において生成された第2のメタデータを、前記第1のメタデータとともに後段の画像処理である前記構造物の変状の検知処理
の入力とし、
前記複数の情報処理は、前記合成処理、前記対象画像を幾何変換する処理、前記対象画像に対して機械学習された検出モデルを利用した検出処理、前記対象画像を所定の図面データに重畳させる処理を含むことを特徴とする情報処理方法。
【請求項10】
撮像装置と複数の情報処理装置から成る情報処理システムであって、
前記撮像装置が構造物を撮影した1以上の画像を対象画像として取得する画像取得手段と、
前記対象画像に対して、前記複数の情報処理装置のいずれかに割り当てられた複数の情報処理のそれぞれを実行する画像処理手段とを備え、
前記画像処理手段は、
前記複数の情報処理の少なくとも1つとして、複数の前記対象画像を合成する合成処理を実行する場合、複数の前記対象画像に対して前の段階までの画像処理が実行された結果である第1画像と、前記前の段階までの情報処理において生成された第1のメタデータを入力として取得し、
前記第1画像に対して前記合成処理を実行した結果である第2画像と前記合成処理において生成された第2のメタデータを、前記第1のメタデータとともに後段の画像処理である前記構造物の変状の検知処理
の入力とし、
前記複数の情報処理は、前記合成処理、前記対象画像を幾何変換する処理、前記対象画像に対して機械学習された検出モデルを利用した検出処理、前記対象画像を所定の図面データに重畳させる処理を含むことを特徴とする情報処理システム。
【請求項11】
構造物を撮影した画像から前記構造物に生じたひび割れの検知処理を含む複数の情報処理を実行する情報処理システムであって、
撮像装置によって1つの構造物を複数回に分割して撮像した複数の画像を取得する手段と、
前記複数の画像を合成した合成画像を生成する合成処理と、前記合成画像を幾何変換した幾何変換画像を生成する幾何変換処理と、前記幾何変換画像から前記構造物の表面に生じたひび割れを検出するひび割れ検出処理と、前記幾何変換画像に検出された前記ひび割れ検出処理で検出されたひび割れを重畳したひび割れ画像を、前記構造物に係る図面データに重畳して表示する処理と段階的に実行する画像処理手段とを備え、
前記画像処理手段は、前記複数の情報処理のそれぞれにおいて、
前の段階までの情報処理が実行された結果である第1画像と、前記前の段階までの情報処理において生成された第1のメタデータを入力として取得し、
前記第1画像に対して所定の情報処理を実行した結果である第2画像と前記所定の情報処理において生成された第2のメタデータを、前記第1のメタデータとともに後段の画像処理の入力とすることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に対して複数の画像処理を段階的に行う技術に関する。
【背景技術】
【0002】
画像処理にあたり、入力となる画像以外の、撮影時の設定情報や前段の画像処理に関する情報(以下、これらをまとめてメタデータと記す)は有用な情報となる。特許文献1では、複数枚の撮影画像をHDR合成する際に、HDR合成に使用した複数の撮影画像のメタデータから、合成後のHDR画像に付与するメタデータを算出する手法が開示されている。これにより、HDR画像を参照あるいは処理する場合にHDR画像がもつメタデータを利用可能になる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮影された画像に対して、異なる種類の画像処理を複数段連結して行う場合がある。画像処理の種類のうち、合成処理では、画像の数を減少させるにあたり合成前の画像の少なくとも一部のメタデータは、合成処理後は削除または上書きにより失われることが多い。しかしながら、異なる種類の画像処理を連結して行う場合には、直前の段階のみならず過去の画像処理に用いられたメタデータを再利用あるいは参照する必要が生じ得る。従来は、合成処理を含む画像処理を複数段連結して行う場合に、各処理に必要となるメタデータを管理する技術は確立されていなかった。
【0005】
本発明は上記課題に鑑みてなされたものであり、1以上の対象画像に対して合成処理を含む複数の画像処理を順次行う場合において、各処理で利用され得るメタデータの管理を適切に行うことを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、構造物を撮影した対象画像を取得する取得手段と、前記対象画像に対して複数の情報処理を実行する画像処理手段とを備え、前記画像処理手段は、前記複数の情報処理の少なくとも1つとして、複数の前記対象画像を合成する合成処理を実行する場合、複数の前記対象画像に対して前段までの画像処理が実行された結果である第1画像と、前記前段までの画像処理において生成された第1のメタデータを入力として取得し、前記第1画像に対して前記合成処理を実行した結果である第2画像と前記合成処理において生成された第2のメタデータを、前記第1のメタデータとともに後段の画像処理である前記構造物の変状の検知処理の入力とし、前記複数の情報処理は、前記合成処理、前記対象画像を幾何変換する処理、前記対象画像に対して機械学習された検出モデルを利用した検出処理、前記対象画像を所定の図面データに重畳させる処理を含むことを特徴とする。
【発明の効果】
【0007】
本発明によれば、1以上の対象画像に対して合成処理を含む複数の画像処理を順次行う場合において、各処理で利用され得るメタデータの管理を適切に行うことができる。
【図面の簡単な説明】
【0008】
【
図1】情報処理装置100のハードウェア構成の一例を示す図である。
【
図2】異なる種類の画像処理を複数段に連結して実行する様子の一例を示す概念図である。
【
図3】メタデータを格納するテーブルの一例を示す図である。
【
図4】メタデータを格納するテーブルの一例を示す図である。
【
図5】撮影処理と合成処理の一例を示すフローチャートである。
【
図6】幾何変換処理とひび割れ検出処理の一例を示すフローチャートである。
【
図7】図面化処理の一例を示すフローチャートである。
【
図8】幾何変換処理においてユーザに提示されるユーザインタフェースの一例を示す図である。
【
図9】図面化処理においてユーザに提示されるユーザインタフェースの一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明に係る実施形態を、図面を参照して詳細に説明する。なお、以下の実施形態に記載する構成は代表例であり、本発明の範囲はそれらの具体的構成に必ずしも限定されない。
【0010】
<実施形態1>
近年、トンネル、橋梁、その他大規模構造物等の社会インフラに対する点検作業を、カメラで撮影した対象物の画像に対して検査を行う手法への需要が高まっている。撮影画像上で、社会インフラに係る構造物に対する検査を行うには、画像から構造物に生じた変状(例えば、ひび割れ)の状態を確認できる程度に高解像度の画像を用意する必要がある。しかしながら、社会インフラに係る構造物はサイズが大きいため、高解像度の画像を得るためには、1つの構造物を複数回に分割して撮影することが必要となる。従って、分割撮影された複数の画像を1つの構造物に関連づけて検査を行うために、制御された分割撮影を行い、撮影された複数画像を合成し、合成した画像に対して調整処理を行う等、段階的に合成処理を含む複数の画像処理が行われることになる。以下、本実施形態では、構造物に生じた変状を画像により検査するシステムで実行される複数の画像処理について、各段階の画像処理において必要とされるメタデータを管理する例を説明する。
【0011】
図1は、本実施形態に係る情報処理装置100のハードウェア構成図である。
図1(a)に示すように、情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、操作部106と、通信部107とを有している。CPU101は、中央演算装置(Central Processing Unit)であり、各種処理のための演算や論理判断等を行い、システムバス110に接続された各構成要素を制御する。ROM(Read-Only Memory)102は、プログラムメモリであって、後述する各種処理手順を含むCPU101による制御のためのプログラムを格納する。RAM(Random Access Memory)103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。尚、情報処理装置100に接続された外部記憶装置等からRAM103にプログラムをロードすることで、プログラムメモリを実現しても構わない。
【0012】
HDD104は、本実施形態に係る電子データやプログラムを記憶しておくためのハードディスクである。同様の役割を果たすものとして外部記憶装置を用いてもよい。ここで、外部記憶装置は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、外部記憶装置は、ネットワークで接続されたサーバ装置等であってもよい。
【0013】
表示部105は、例えばCRTディスプレイや、液晶ディスプレイ等であって、表示画面に画像を出力するデバイスである。なお表示部105は、情報処理装置100と有線あるいは無線で接続された外部デバイスでも構わない。操作部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部107は、公知の通信技術により、他の情報処理装置や通信機器、外部記憶装置等との間で、有線又は無線による双方向の通信を行う。
【0014】
図1(b)は、情報処理装置100を含む撮影システムの構成の一例を表す図である。
図1(a)において、撮像装置108は、雲台装置109に設置され、三脚115によって固定されている。撮像装置108は、撮影機能を有し、CPU101の指示により、非図示のレンズを介して撮影した画像をデータ化する。電子雲台装置109の駆動ユニット111および駆動ユニット112は、それぞれが雲台装置をパン方向とチルト方向に駆動させる。通信ケーブル113によって、撮像装置108は、電子雲台装置109に接続される。撮影処理において、情報処理装置100は、撮影システムの制御装置として機能し、撮影方向を制御する指示信号を電子雲台装置109に送信する。情報処理装置100は、操作部106として、ここではディスプレイと入力装置(キーボード及びポインティングデバイス)を備える。
図1(b)では、電子雲台装置109は通信ケーブル114によって接続されるものとするが、両者の接続は無線ネットワークによるものであっても構わない。本実施形態ではラップトップ型のコンピュータを想定するがこれに限らず、タブレットPCなどの可搬装置でもよく、また設置位置が固定される大型PCやサーバ装置であってもよい。また、
図1(b)では、撮像装置108及び、電子雲台装置109は情報処理装置100に接続される外部装置としたが、一体化した装置であっても構わない。
【0015】
撮像装置108により、撮影された画像のデータは、通信部107を介して情報処理装置100により取得され、画像処理の対象画像として扱われる。ただし、撮像装置108と情報処理装置100の間の通信手段は、有線無線を問わず、公知の技術を利用可能である。例えば、撮像装置108においてSDカードなどなどの各種媒体に記録された画像が、情報処理装置100に備えられたスロット等を介して取得されてもよい。また、撮像装置108から無線通信技術によりクラウド等にアップロードされた画像を、情報処理装置100においてダウンロードする形式で、撮像装置108から対象画像を取得してもよい。この場合、後述する後段の画像処理を行う情報処理装置100は、必ずしも撮像装置108による撮影が行われる時点で撮影現場に設置されている必要はない。
【0016】
図2は、本実施形態において、複数種類の画像処理が、複数段階に連結されて実行される様子を示す概念図である。複数の情報処理のそれぞれでは、処理対象の画像に対して前段までの画像処理が実行された結果である第1画像と、前段までの画像処理において生成された第1のメタデータを入力として取得する。そして、第1画像に対して所定の情報処理を実行した結果である第2画像と所定の情報処理において生成された第2のメタデータと、第1のメタデータとが、後段の画像処理の入力となる。各処理ブロックにおいては、CPU101が、ROM102に格納されたプログラムをRAM103に展開し、後述する各フローチャートに従った処理を実行することで画像処理手段あるいはメタデータの生成手段として機能する。そして、各処理の実行結果をRAM103に保持する。画像処理では、実行結果とは、入力された画像(第1画像)に対して画像処理が施された結果である画像(第2画像)と、メタデータ(第2メタデータ)である。本実施形態では、各画像処理の実行結果をHDD104に保存する。そして、それらを後段の画像処理によって参照可能とするため、少なくとも参照先情報を、後段に伝達する。本実施形態では、前段の画像処理から後段の画像処理に対して、画像処理結果を直接送信する場合に加え、その参照先情報を送信する場合も含め、画像処理結果を出力すると称する。
【0017】
また例えば、CPU101を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各ブロックの処理に対応させた演算部や回路を構成すればよい。
【0018】
撮影処理ブロック201では、撮像装置108と電子雲台装置109を制御して構造物を分割撮影した画像データを取得し、後段に出力すると共に、撮影メタデータを出力する。撮影メタデータについては
図3を用いて後述する。合成処理ブロック202では、撮影処理ブロック201から出力された画像データおよび撮影メタデータを入力として取得し、複数の画像を1枚の画像に合成し、出力する。さらに撮影処理ブロック201から取得した撮影メタデータに加え、合成メタデータを出力する。合成メタデータについては
図4(a)で後述する。合成処理では複数の撮影画像が合成され、1枚の新たなデータ形式である合成画像として生成される。例えば、JPEG形式であった撮影画像を複数枚用いて合成することにより、合成後の画像サイズ(幅×高さ)が大きくなるため、より大きな画像サイズを扱えるTIFF形式へとデータの形式が変わる。従来の画像合成では、元の画像が持っていた撮影情報(例えば、撮影時刻)は、合成処理により新たな画像データが生成される際に削除あるいは上書きによって失われる場合があるが、本実施形態では、それを撮影メタデータとして保存し、後段の処理に伝達する。幾何変換処理ブロック203は、合成処理ブロック202から出力された合成画像データと合成メタデータを入力として得て、それらを用いて幾何変換処理を行い、変換後の画像を出力する。さらに、合成処理ブロック202から取得したメタデータに加え、幾何変換メタデータを出力する。幾何変換メタデータについては、
図4(b)で後述する。
【0019】
ひび割れ検出ブロック204は、幾何変換処理ブロック203から出力された幾何変換画像データと統合幾何変換メタデータを入力として取得し、ひび割れ検出処理を行う。本実施形態において、ひび割れ検出処理とは、画像に写る構造物の表面に生じたひび割れを検出する処理を意味する。さらに、検出したひび割れを幾何変換処理ブロック203で生成された画像の少なくとも一部に重畳したひび割れ検出画像を出力する。さらに幾何変換処理ブロック203から取得したメタデータに加え、ひび割れ検出メタデータを出力する。ひび割れ検出メタデータについては、
図4(c)で後述する。図面化処理ブロック205では、ひび割れ検出ブロック204から出力されたひび割れ検出画像とメタデータを入力として取得し、ひび割れ検出画像を構造物の図面の対応する座標へ重畳し、出力する。以下、本実施形態では、構造物を撮影した画像を、同じ構造物の設計図面の対応する位置に貼り付け、あるいは重畳させる画像処理を「図面化処理」と称する。
【0020】
図3は、撮影処理ブロック201で生成される撮影メタデータを表すテーブル301(以下では、撮影メタデータ301と省略する場合がある)である。テーブル301は、ポジション分割数の情報と、撮影IDで識別された情報セットとの組合せで構成される。撮影IDは、情報セットを一意に識別可能となるように割り振られた番号であり、各情報セットは、撮影ポジションと、ファイル名と、画像サイズと、撮影時刻と、F値と、シャッター速度の情報とで構成される。撮影IDのそれぞれは、各撮影画像ファイルに対応する。ポジション分割数は、情報処理装置100が電子雲台装置109を制御して、撮影方向を変更して撮影を行う場合の水平方向および垂直方向の分割数(つまり撮影ポジションの数)を表す。撮影ポジションは、撮影画像が分割されたポジションのX方向Y方向の何番目で撮影された画像かを表す。ファイル名は、撮影画像ファイル名に対し、保存先のフォルダ名も含めて記述している。画像サイズ(幅×高さ)、撮影時刻、F値、シャッター速度はそれぞれ撮影時に得られる撮影情報を表している。なお、撮影IDが0と1のように、撮影ポジションが同じものは、その位置においてF値やシャッター速度を変えて複数枚の撮影をしたことを示す。
【0021】
図4(a)は、合成処理ブロック202で生成される合成メタデータを表すテーブル401(以下では、合成メタデータ401と省略する場合がある)である。テーブル401は、合成画像サイズ、合成画像数、合成比率、合成ID識別された情報セットとで構成されている。合成画像サイズは、合成済画像の画像サイズ(幅×高さ)を表し、合成画像数は、合成に用いた画像数を表す。合成比率は、合成処理の際に隣り合う画像間でオーバーラップする領域を持たせ、オーバーラップする領域を加算し、平均値を算出し、ブレンド処理を用いるかの情報を表す。ブレンドするメリットは画像間の切れ目が分かりにくくなることであるが、デメリットとしては画像を加工するため、先鋭度が落ちる場合がある。合成IDは、情報セットが一意に識別可能となるように割り振られた番号であり、各情報セットは、合成に用いた各撮影画像のファイル名、合成画像領域、使用撮影領域で構成される。ファイル名は撮影メタデータ内で同じファイル名を持つ撮影画像が合成に使用されたことを示す。
【0022】
合成画像領域は、合成済画像におけるファイル名の画像の矩形領域を表し、矩形の左上の座標と右下の座標を表している。使用撮影領域は、撮影画像内における使用した矩形領域を表しており、矩形の左上座標と右下の座標を表している。なお、合成画像領域および使用撮影領域は、矩形に限定されるものでなく、領域が指定できれば形状は矩形でなくてもよい。
【0023】
図4(b)は、幾何変換処理ブロック203が生成する幾何変換メタデータを表すテーブル402(以下では、幾何変換メタデータ402と省略する場合がある)である。テーブル402は、画像サイズと変換式とで構成される。画像サイズは、幾何変換処理を行った後の出力画像サイズを表す。変換式は、幾何変換処理で用いた変換行列を表す。
【0024】
図4(c)は、ひび割れ検出処理ブロック204で生成されるひび割れ検出メタデータを表すテーブル403(以下では、ひび割れ検出メタデータ403と省略する場合がある)である。テーブル403は、検出パラメータとひび割れIDで構成される。検出パラメータは、ひび割れ検出処理に用いるパラメータであり、複数のモデルから使用したモデルを表している。ひび割れ検出処理は、撮影条件により性能が異なるため、撮影画像に含まれるF値やシャッター速度に対応して、複数のモデルがHDD104に格納されている。ひび割れIDはひび割れ検出処理で検出した各ひび割れの線分情報を表し、線分の始点の座標情報と終点の座標情報と線分の太さを表す。
【0025】
図5(a)は、本実施形態の撮影処理ブロック201で実行される処理の流れの一例を表すフローチャートである。以下、フローチャートにおける各工程(ステップ)は、それら符号の先頭にはSを付与して説明することとする。
【0026】
S501では、画像処理手段として機能するCPU101が、撮影メタデータ301から、ポジション分割数および撮影条件を取得し、電子雲台装置109および撮像装置108に設定する情報を生成する。ここで撮影回数および雲台を制御するポジションを設定する。S502では、CPU101が、S501で設定した情報に基づき、撮影および雲台の制御処理である後述のS503からS505までの処理を繰り返すたびに、撮影IDを0からインクリメントする。S503では、CPU101が、撮像装置108に対し撮影指示を通知する。さらにCPU101は画像取得手段として機能し、撮影指示に基づいて撮影された画像データを撮像装置108から取得し、HDD104にファイルとして記録する。そして、HDD104上の撮影メタデータ301に撮影IDのレコードを追加し、ファイル名を記録する。S504では、CPU101が、S503で撮影した際に得られる撮影情報を撮影メタデータ301の撮影IDのレコードへ記録する。ここでの撮影情報は、撮影時刻、F値、シャッター速度である。
【0027】
S505では、CPU101が、電子雲台装置109に設定した撮影方向に対応するポジション情報を撮影メタデータに記録する。
【0028】
以上が、本実施形態において、撮影処理ブロック201で実行される処理の流れである。なお、本実施形態では、S501の設定情報を生成する処理と、S503~S505の実際の撮影処理とを一流れに行う例を示したが、例えばS501を事前処理として予め実行し、撮影現場では、記憶された設定条件を読み出して撮影を行ってもよい。
【0029】
図5(b)は、本実施形態の合成処理ブロック202で実行される処理の流れの一例を表すフローチャートである。S511では、画像処理手段として機能するCPU101が、撮影処理ブロック201から出力され、HDD104に記録された撮影画像データと撮影メタデータを取得する。本実施形態の場合、テーブル301からデータを読み出す。S512では、CPU101が、S511で取得した撮影メタデータに含まれるポジション情報を元に撮影画像データの整列を行う。S513では、CPU101が整列した撮影画像を用いて合成画像を生成し、HDD104へ記録する。合成画像を生成する処理に関しては、公知の方法を用いて良く、隣り合う画像間で位置合わせを行い、位置が合った領域の情報を用いて、画像を繋ぎ合わせて、合成画像を生成する。
【0030】
S514では、CPU101が合成済画像の画像サイズ(幅×高さ)および、合成を行った際の合成比率情報を取得し、HDD104上に作成した合成メタデータ401へ記録する。S515では、CPU101が合成処理で使用した各撮影画像において、合成済画像のどの領域で使われているかを取得し、合成画像領域として合成メタデータに記録する。領域の取得方法については、公知の画像位置合わせ処理や類似画像領域処理を用いてもよい。S516では、CPU101が合成済画像において、各撮影画像が使われている領域を、使用撮影領域として合成メタデータに記録する。以上が、本実施形態において、合成処理ブロック202で実行される処理の流れである。
【0031】
図6(a)は、本実施形態の幾何変換処理ブロック203で実行される処理の流れの一例を表すフローチャートである。S601では、画像処理手段として機能するCPU101が、合成処理ブロック202において出力され、HDD104に記録された合成画像データと合成メタデータ、および、撮影メタデータを取得する。本実施形態の場合、テーブル301とテーブル401からそれぞれのデータを読み出す。S602では、CPU101が幾何変換を行う形状から変形率を取得する。変換する形状は、表示部105に表示される
図8で示すユーザインタフェース(UI)画面で指定される。
【0032】
ここで
図8は、幾何変形処理の実行中に表示部105に表示されるUI画面の一例を示す図である。ユーザは、操作部106を用いて、合成画像800内にある幾何変換の対象領域801の基準点802A~802Dを指定し、さらに、変換させたい対象点803A~803Dを指定する。指定を受けた情報処理装置100では、S602において、CPU101が、基準点802A~802Dで構成される四角形と対象点803A~803Dで構成される四角形へと変換する。この変化の違いが変化率である。なお、ユーザがUIにより基準点および対象点を指定する方法でなく、画像認識処理により構造物のL字の特徴点を自動で検出してもよい。
【0033】
図6(a)の説明に戻り、S603では、CPU101が、S602で得られた変化率から幾何変換行列式を算出し、算出式を元に変換処理を行い、幾何変換画像を生成する。S604では、CPU101が、HDD104上に幾何変換メタデータ402を作成する。幾何変換メタデータに、S603で算出した変換後の画像の画像サイズと変換式とを記録する。以上が、本実施形態において、幾何変換処理ブロック203で実行される処理の流れである。
【0034】
図6(b)は、本実施形態のひび割れ検出処理ブロック204で実行される処理の流れの一例を表すフローチャートである。S611では、画像処理手段として機能するCPU101が、幾何変換処理ブロック203から出力され、HDD104に記録された幾何変換画像データと、幾何変換メタデータと合成メタデータと撮影メタデータを取得する。本実施形態の場合、テーブル301、テーブル401、テーブル402からそれぞれのデータを読み出す。S612では、CPU101が、撮影情報メタデータに含まれるF値とシャッター速度を取得する。
【0035】
S613では、CPU101が、HDD104に記録されている検出モデルの中から、S612で取得したF値およびシャッター速度に基づき、最適な検出モデルを選択する。また、S514で取得した合成比率情報より、最適な検出モデルを切り替えてもよい。S614では、CPU101が、S613で検出パラメータを元にひび割れ検出処理を行う。ひび割れ検出処理については、公知の画像認識技術を用いて良く、機械学習の手法により、ひび割れの領域を学習させ、その学習済みモデルを用いて検出処理を行う。
【0036】
ひび割れ検出処理は、CPU101で処理を行うだけでなく、不図示のGPUと協働して処理を行ってもよい。また例えば、ここでユーザが学習済みモデルを選択指示する工程を加えた上で、指示された学習済みモデルによるひび割れ検知を実行してもよい。また、撮影画像の撮影情報であるF値やシャッター速度が一様でなく、値が異なる場合には、撮影画像の領域毎に検出モデルを切り替えて、ひび割れ検出処理を行ってもよい。
【0037】
S615では、CPU101がS615で検出したひび割れ情報(始点と終点の線分、および太さ)を幾何変換画像に重畳し、ひび割れ検出画像としてHDD104に記録する。S616では、CPU101がHDD104上にひび割れ検出メタデータ403を作成し、S613で検出パラメータ情報および、検出したひび割れ情報を検出メタデータに記録する。以上が、本実施形態において、ひび割れ検出処理ブロック204で実行される処理の流れである。
【0038】
図7は、本実施形態の図面化処理ブロック205で実行される処理の流れの一例を表すフローチャートである。S701では、画像処理手段として機能するCPU101が、ひび割れ検出処理ブロック204で出力され、HDD104に記録されたひび割れ検出画像と、ひび割れ検出メタデータと幾何変換メタデータと合成メタデータと撮影メタデータを取得する。本実施形態の場合、テーブル301、テーブル401、テーブル402、テーブル403からそれぞれのデータを読み出す。
【0039】
S702では、CPU101がHDD104に格納されている検査対象の構造物の図面データを取得し、図面上の対応する領域にS701で取得したひび割れ検出画像を重畳し、
図9(a)で示す画面を表示部105に表示する。ここで構造物の図面データとは、検査対象の構造物に係る設計情報(例えば正確な寸法など)を示す情報である。
【0040】
ここで
図9(a)は、図面化処理の実行中に表示部105に表示されるUI画面の一例を示す図である。表示画面900は、表示部105に表示されるアプリウィンドウの1つを表す。画像901は、構造物の図面データにひび割れ検出画像を重畳した画像を表している。画像901の画像上の縦横の格子は、合成処理ブロック202おいて合成した元の画像の単位を表す。格子によって区切られた各領域は、合成画像領域に対応する。ボタン902は、ユーザが、ひび割れ検出処理ブロック204によるひび割れ検出が所定の要件を満たす程度にできているかを目視確認し問題ないと判断した時に、操作する(押下する)ボタンを表す。また、ボタン902にはコメントが添えられており、ユーザが、問題があると判断した場合は、画像901の領域をクリックすることを促している。
【0041】
ポインター903は、ユーザが目視確認した結果、問題があると判断した場合に、問題が生じている領域を指定するために用いられる。問題領域904は、ポインター903により指定された領域を表す。ここで、「問題ないと判断される場合」とは、画像に含まれるひび割れが検出できていることを表し、「問題があると判断される場合」は、画像に含まれるひび割れの検出ができていないことを表す。検出できない要因としては、画像がぼやけている、虫や草木が映り込んでいる、といったことがあげられる。
【0042】
図7の説明に戻り、S703では、CPU101が、操作部106から通知される情報に基づいて、ボタン902の押下が検出されたか、あるいは、画像上の問題領域904がクリックされたか判断する。ボタン902が押下された場合はS704に移行し、問題領域904がクリックされた場合はS705へ移行する。
【0043】
S704では、CPU101が、S702でひび割れ検出画像を図面に重畳することで生成した画像をHDD104に記録する。S705では、CPU101が、S703において、問題領域904として指定された領域に関する情報および、撮影メタデータおよび合成メタデータから、問題領域904に対応する撮影画像ファイルを特定し、撮影ポジションを取得する。そして、CPU101は、HDD104に記憶された画像の中に、取得した撮影ポジションで撮影した代替の撮影画像があるかを判定する。代替画像がある場合はS706に移行し、代替画像がない場合は、「代替画像なし」の通知(不図示)を表示し、S702に移行する。通知を受けたユーザは、例えば、問題領域904に関する撮影メタデータを呼び出して、ひび割れ検出が適正に行われなかった原因を考察することができる。そして、パラメータや学習モデルを変えてのひび割れ検出の再実行や、再撮影などの対処を行うことができる。
【0044】
S706では、CPU101が
図9(b)で示す代替画像921を表示部105へ表示する。S707では、CPU101が、操作部106から通知される情報に基づいて、
図9(b)で示す置き換えダイアログ922において、YesボタンとNoボタンのいずれかへの操作(押下)を検出する。Yesボタンが押された場合はS708に移行し、Noボタンが押された場合は、S702へ移行する。S708では、CPU101が、S706で表示された入替画像へ置き換えて、合成処理ブロック202から再度処理を行う。
【0045】
以上が、
図7を用いた図面化処理ブロック205で実行される処理の流れである。本実施形態では、図面化処理の直前に行われる画像処理は、ひび割れ検出処理であるが、部分領域にひび割れ検出処理に問題が生じた場合には、その対処あるいは原因の考察を、さらに遡った撮影処理、合成処理時に扱った情報を参照することで行うことができる。
【0046】
なお、本実施形態では、S703で、ユーザによりひび割れ検出結果を目視で確認した画像に「問題がある」と判断された場合に実行される処理として、撮影ポジションに基づき、対応する撮影画像を入れ替えて合成処理からやり直す例を説明した。さらに変形例として、合成処理や幾何変換処理で生じた画像の劣化に対策できるようにしてもよい。その場合は、合成処理や幾何変換処理の処理パラメータを変更してその処理段階からのやり直しを行う。また、やり直しに際して必要な情報のユーザ指示を受け付ける。
【0047】
以上、本実施形態では、情報処理装置100は、複数の異なる画像処理を順次実行する際、各画像処理で生成された画像データおよびメタデータを後段の画像処理の入力とすることができる。特に、前段のメタデータを残した状態で、新たなメタデータを生成することにより、各画像処理において前段より前のメタデータを得ることができる。これにより、様々なパターンで連結された複数の画像処理において、前段までに得られたメタデータを失うことなく、後段でも使用することができる。従って、メタデータが失われることを懸念するあまり画像処理を行う順序が制限されることもない。
【0048】
特に、社会インフラに係る構造物を検査する目的で撮影された画像に対して実行される多数の画像処理では、後段の各処理(画像の幾何変形、ひび割れ検知)においても、撮影時に得られた撮影条件や位置情報が使用される場合がある。また、後段の処理による出力結果を改善するため、前に行われた処理で利用されたパラメータを見直したい場合がある。このような場合に、本実施形態のメタデータの管理方法が好適に実施される。例えば、構造物を分割して撮影する際、F値やシャッター速度が異なった場合、また撮影ポジションが離れた領域では、画像のコントラストや色等に違いが生じる場合がある。このような場合には、異なる検出モデルによるひび割れ検出を行うことが推奨される。本実施形態によれば、処理の最前段である撮影時に得られた情報を2段階以上後段にあたるひび割れ検知処理において参照できるので、適切な検出モデルを選ぶ際にもメタデータを有効に利用できる。
【0049】
なお、本実施形態では、メタデータを画像処理間で渡す方法として、各画像処理においてテーブルを生成し、HDD104に記録する方法を記載したが、HDD104の代わりにRAM103や通信部107を通じた外部の記録領域に保存してもよい。また、メタデータを渡す方法として、画像データ内に埋め込んでもよい。また、画像データのファイル名にメタデータの情報を付与してもよい。
【0050】
本実施形態が適用されるのは、
図2で示す5つの画像処理ブロックが連結されたパターンに限られない。例えば、撮影済みの画像を入力として合成処理から開始したり、合成済みの画像を入力として幾何変換処理から開始したり、幾何変換済みの画像を入力として、ひび割れ検出処理から開始してもよい。その場合に途中から処理を行うため、不足となるメタデータの項目をUIで入力してもよい。例えば、撮影済み画像を入力として合成処理から始める場合、撮影情報として、撮影画像から抽出すると共に、撮影ポジションの情報をUIで入力し、撮影メタデータ301を作成してもよい。
【0051】
また、本実施形態における合成処理は、2次元的な合成処理の例であったが、別の画像をレイヤーとして重畳する合成も対象としてもよい。
【0052】
<実施形態2>
実施形態1では、
図2に示した複数の画像処理ブロックを単一の情報処理装置100で実行していた。しかしながら、
図5から
図7の処理を、それぞれ、互いにネットワーク等の通信装置で接続された情報処理装置100と同様の複数の情報処理装置で実行する情報処理システムを構成することもできる。その場合、撮影処理(
図4のフロー)を実行する装置以外は、撮像装置108及び電子雲台装置109との接続は必須ではない。
【0053】
また、実施形態1では、
図2に示した各ブロック間で伝達されていた画像データとメタデータは、HDD104に記録され、後段の画像処理において読み出された。これに対し実施形態2では、前段のブロックの処理を担当する装置から、次のブロックの処理を担当する装置に、通信部107を介して伝達される。例えば、合成処理ブロック202を担当する装置から、幾何変換処理ブロック203を担当する装置には、合成画像とともに、撮影メタデータ301と合成メタデータ401が送信される。ひび割れ検出処理ブロック204を担当する装置からは、ひび割れ検出画像とともに、撮影メタデータ、合成メタデータ、幾何変換メタデータ、ひび割れ検出メタデータが送信される。これにより、複数の画像処理が順次実行され、かつ、後段の処理を行う装置において、他の装置で実行された前の画像処理に係るメタデータを利用したり参照したりすることができる。なお、
図5から
図7の処理にそれぞれ一つの情報処理装置が割り当てられる必要はなく、実施形態1のように一つの情報処理装置が2つ以上の処理を実行してもよい。
【0054】
本実施形態のように、
図2に記載される一連の処理を複数の装置に分配して実行する場合、対象画像を変えて一連の処理を繰り返す場合に、全ての処理の終了を待たずに、個々の画像処理単位でパイプライン処理を行うことができる。これにより、全体の処理を高速に実施できる効果がある。
【0055】
<その他の実施形態>
なお、上述した各処理部のうち、合成処理、幾何変換処理、ひび割れ検出処理等については、その代わりとして、機械学習された学習済みモデルを代わりに用いて処理してもよい。その場合、例えば、その処理部への入力データと出力データとの組合せを学習データとして複数個準備し、学習データから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。学習済みモデルは、例えばニューラルネットワークモデルで構成可能である。そして、その学習済みモデルは、前記処理部と同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、前記処理部の処理を行う。なお、上記学習済みモデルは、必要に応じて一定の処理後に更新してもよい。
【0056】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0057】
101 CPU
102 ROM
103 RAM
104 HDD
105 表示部
106 操作部
107 通信部
108 撮像装置
109 電子雲台装置