JP6746031B1 - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法、及び画像処理プログラム Download PDF

Info

Publication number
JP6746031B1
JP6746031B1 JP2020505283A JP2020505283A JP6746031B1 JP 6746031 B1 JP6746031 B1 JP 6746031B1 JP 2020505283 A JP2020505283 A JP 2020505283A JP 2020505283 A JP2020505283 A JP 2020505283A JP 6746031 B1 JP6746031 B1 JP 6746031B1
Authority
JP
Japan
Prior art keywords
image
unit
camera
images
cameras
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020505283A
Other languages
English (en)
Other versions
JPWO2020170486A1 (ja
Inventor
純 皆川
純 皆川
浩平 岡原
浩平 岡原
賢人 山▲崎▼
賢人 山▲崎▼
司 深澤
司 深澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6746031B1 publication Critical patent/JP6746031B1/ja
Publication of JPWO2020170486A1 publication Critical patent/JPWO2020170486A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/74Projection arrangements for image reproduction, e.g. using eidophor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

画像処理装置(10)は、複数の撮像画像(101a〜101d)の各々を撮影した撮像装置(1a〜1d)の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部(114,115)に記録する画像記録部(102)と、記憶部(114,115)に記録された複数の撮像画像から、複数の撮像装置(1a〜1d)の各々の推定移動量を計算する移動量推定部(104)と、撮影時刻が同じである複数の撮像画像を合成することによって生成された合成画像の複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、推定移動量及びずれ量の評価値に基づいて複数の撮像装置(1a〜1d)の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するずれ補正部(100)とを有する。

Description

本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
複数のカメラによって撮影された複数の撮像画像を合成することによって合成画像を生成する装置が提案されている(例えば、特許文献1を参照)。この装置は、車両の姿勢の変動前に撮影された撮像画像における特徴点と車両の姿勢の変動後に撮影された撮像画像における特徴点とを用いて複数のカメラの各々のカメラパラメータをキャリブレーションして、複数の撮像画像の境界部分におけるずれを補正している。
国際公開第2017/069191号(例えば、段落0041、図5参照)
しかしながら、上記従来の装置は、短時間に発生する撮像装置の位置姿勢変化を、位置姿勢変化前後の撮像画像内の特徴点同士のマッチングによって推定している。このため、長期間(数日〜数年)におけるカメラの位置姿勢変化を推定する場合、位置姿勢変化前後の撮像画像の特徴が大きく変化することから、特徴点同士のマッチングがうまくいかない可能性がある。また、ずれの補正後に、複数の撮像画像の境界部分におけるずれが正確に補正されているかどうかを評価していない。このため、合成画像における境界部分にずれが残るという課題がある。
本発明は、上記した従来の課題を解決するためになされたものであり、複数の撮像装置の位置姿勢の変化によって合成画像を構成する複数の撮像画像の重複領域に生じたずれを高精度に補正することができる画像処理装置、画像処理方法、及び画像処理プログラムを提供することを目的とする。
本発明の一態様に係る画像処理装置は、複数の撮像装置によって撮影された複数の撮像画像を合成する処理を行う装置であって、前記複数の撮像画像の各々を、前記複数の撮像画像の各々を撮影した撮像装置の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録する画像記録部と、前記記憶部に記録された前記複数の撮像画像から、前記複数の撮像装置の各々の推定移動量を計算する移動量推定部と、撮影時刻が同じである前記複数の撮像画像を合成することによって生成された合成画像を構成する前記複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数の撮像装置の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するずれ補正部と、を有し、前記移動量推定部は、前記複数の撮像装置の各々について、前記画像記録部から指定期間内における前記撮像画像を取得し、時間順に並ぶ複数の撮像画像から隣接画像期間における移動量を求め、前記隣接画像期間における移動量を用いた計算によって前記推定移動量を取得することを特徴とする。
また、本発明の他の態様に係る画像処理方法は、複数の撮像装置によって撮影された複数の撮像画像を合成する処理を行う方法であって、前記複数の撮像画像の各々を、前記複数の撮像画像の各々を撮影した撮像装置の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録するステップと、前記記憶部に記録された前記複数の撮像画像から、前記複数の撮像装置の各々の推定移動量を計算する際に、前記複数の撮像装置の各々について、前記記憶部から指定期間内における前記撮像画像を取得し、時間順に並ぶ複数の撮像画像から隣接画像期間における移動量を求め、前記隣接画像期間における移動量を用いた計算によって前記推定移動量を取得するステップと、撮影時刻が同じである前記複数の撮像画像を合成することによって生成された合成画像を構成する前記複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数の撮像装置の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するステップと、を有することを特徴とする。
また、本発明の他の態様に係る画像処理装置は、複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理を行う画像処理装置であって、前記複数のカメラのカメラパラメータである複数の外部パラメータを提供するカメラパラメータ入力部と、前記カメラパラメータ入力部から提供される前記複数の外部パラメータに基づいて、投影画像の合成時に用いるマッピングテーブルである合成テーブルを生成し、前記合成テーブルを用いて前記複数のカメラ画像を同じ投影面上に投影することによって、前記複数のカメラ画像に対応する複数の投影画像を生成する投影処理部と、前記複数の投影画像から前記合成画像を生成する合成処理部と、前記複数のカメラに対応する基準となるカメラ画像である複数の参照画像と前記複数の参照画像に対応する複数の外部パラメータとを含む参照データと、前記複数のカメラによって撮影された前記複数のカメラ画像とに基づいて、前記複数のカメラの移動量を推定し、前記複数のカメラのカメラパラメータである複数の補正後の外部パラメータを計算する移動量推定・パラメータ計算部と、前記カメラパラメータ入力部から提供される前記複数の外部パラメータを、前記移動量推定・パラメータ計算部によって計算された結果を用いて前記複数の補正後の外部パラメータに更新するずれ補正部と、を備えたことを特徴とする。
本発明によれば、複数の撮像装置の位置姿勢の変化によって合成画像を構成する複数の撮像画像の重複領域に生じたずれを高精度に補正することができる。
本発明の実施の形態1に係る画像処理装置のハードウェア構成の例を示す図である。 実施の形態1に係る画像処理装置の構成を概略的に示す機能ブロック図である。 (A)及び(B)は、実施の形態1に係る画像処理装置の合成テーブル生成部及び合成処理部によって実行される処理の例を示す説明図である。 (A)及び(B)は、実施の形態1に係る画像処理装置の合成テーブル生成部及び合成処理部によって実行される処理の他の例を示す説明図である。 実施の形態1に係る画像処理装置によって実行される処理の概要を示すフローチャートである。 実施の形態1に係る画像処理装置の画像記録部によって実行される処理を示すフローチャートである。 実施の形態1に係る画像処理装置の移動量推定部によって実行される処理を示すフローチャートである。 記録された撮像画像と移動量との関係を示す図である。 実施の形態1に係る画像処理装置の外れ値除外部によって実行される処理を示すフローチャートである。 外れ値除外部によって実行される外れ値の除外のための処理を示す説明図である。 実施の形態1に係る画像処理装置の補正タイミング決定部によって実行される処理を示すフローチャートである。 実施の形態1に係る画像処理装置によって実行されるパラメータ最適化処理(すなわち、ずれ補正処理)を示すフローチャートである。 実施の形態1に係る画像処理装置のパラメータ最適化部によって実行される外部パラメータの更新に用いられる計算式を示す説明図である。 実施の形態1に係る画像処理装置のパラメータ最適化部によって実行されるずれ補正処理の例を示す説明図である。 (A)から(D)は、実施の形態1に係る画像処理装置のパラメータ最適化部によって実行されるずれ補正処理の他の例を示す説明図である。 (A)から(C)は、実施の形態1に係る画像処理装置のパラメータ最適化部によって実行されるずれ補正処理の他の例を示す説明図である。 実施の形態1に係る画像処理装置の合成テーブル生成部によって実行される処理を示すフローチャートである。 実施の形態1に係る画像処理装置の合成処理部によって実行される処理を示すフローチャートである。 (A)から(C)は、実施の形態1に係る画像処理装置のずれ量評価部によって実行されるずれ量の評価値の取得のための処理を示す説明図である。 実施の形態1に係る画像処理装置のずれ量評価部によって実行される処理を示すフローチャートである。 実施の形態1に係る画像処理装置の重複領域抽出部によって実行される処理を示すフローチャートである。 実施の形態1に係る画像処理装置の表示画像出力部によって実行される処理を示すフローチャートである。 本発明の実施の形態2に係る画像処理装置によって実行されるパラメータ最適化処理(すなわち、ずれ補正処理)を示すフローチャートである。 実施の形態2に係る画像処理装置のパラメータ最適化部によって実行されるずれ補正処理の例を示す説明図である。 (A)から(D)は、実施の形態2に係る画像処理装置のパラメータ最適化部によって実行されるずれ補正処理の他の例を示す説明図である。 本発明の実施の形態3に係る画像処理装置のハードウェア構成の例を示す図である。 実施の形態3に係る画像処理装置の構成を概略的に示す機能ブロック図である。 図27に示される投影処理部の構成を概略的に示す機能ブロック図である。 図27に示される合成処理部の構成を概略的に示す機能ブロック図である。 図27に示されるずれ検出部の構成を概略的に示す機能ブロック図である。 図27に示されるずれ補正部の構成を概略的に示す機能ブロック図である。 図27及び図29に示される合成処理部によって実行される処理を示すフローチャートである。 図27及び図28に示される投影処理部によって実行される処理を示すフローチャートである。 図27及び図28に示される投影処理部によって実行される処理の例を示す説明図である。 図27及び図30に示されるずれ検出部によって実行される処理を示すフローチャートである。 図31に示される重畳領域抽出部によって実行される処理を示す説明図である。 (A)及び(B)は、図30に示される投影領域ずれ量評価部によって実行される処理の例を示す説明図である。 図27に示される移動量推定・パラメータ計算部によって実行される処理を示すフローチャートである。 図27及び図31に示されるずれ補正部によって実行される処理を示すフローチャートである。 本発明の実施の形態4に係る画像処理装置の構成を概略的に示す機能ブロック図である。 図40に示されるカメラ画像記録部によって実行される処理を示すフローチャートである。 (A)から(C)は、図40に示される入力データ選択部によって実行される処理を示す説明図である。 図40に示される入力データ選択部によって実行される処理を示すフローチャートである。 (A)から(C)は、図40に示される入力データ選択部によって実行される処理を示す説明図である。 本発明の実施の形態5に係る画像処理装置の構成を概略的に示す機能ブロック図である。 図45に示されるカメラ画像記録部によって実行される処理を示すフローチャートである。 図45に示されるマスク画像生成部の構成を概略的に示す機能ブロック図である。 図45に示されるマスク画像生成部によって実行される処理を示すフローチャートである。 (A)から(E)は、図45に示されるマスク画像生成部によって実行される処理を示す説明図である。 (A)から(E)は、図45に示されるマスク画像生成部によって実行される処理を示す説明図である。 (A)から(D)は、図45に示されるマスク画像生成部によって実行される処理を示す説明図である。 (A)から(C)は、図45に示されるマスク画像生成部によって実行される処理を示す説明図である。 (A)から(C)は、図45に示されるマスク画像生成部によって実行される処理を示す説明図である。 図45に示される移動量推定・パラメータ計算部によって実行される処理を示すフローチャートである。 (A)から(C)は、図45に示される移動量推定・パラメータ計算部によって実行される処理を示す説明図である。 図45に示されるずれ補正部の構成を概略的に示す機能ブロック図である。 ずれ補正のための処理を示すフローチャートである。 本発明の実施の形態6に係る画像処理装置の構成を概略的に示す機能ブロック図である。 図58に示される入力画像変換部の構成を概略的に示す機能ブロック図である。 図58及び図59に示される入力画像変換部によって実行される処理を示すフローチャートである。 図58及び図59に示される入力画像変換部によって実行される処理を示す説明図である。 図58及び図59に示される入力画像変換部によって実行される処理を示す説明図である。 実施の形態6の変形例に係る画像処理装置の画像変換先決定部によって実行される処理を示すフローチャートである。
以下に、本発明の実施の形態に係る画像処理装置、画像処理方法、及び画像処理プログラムを、図面を参照しながら説明する。以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。
《1》実施の形態1.
《1−1》構成
図1は、本発明の実施の形態1に係る画像処理装置10のハードウェア構成の例を示す図である。図1に示されるように、画像処理装置10は、プロセッサ11と、主記憶装置であるメモリ12と、補助記憶装置である記憶装置13と、画像入力インタフェース14と、表示機器インタフェース15とを備えている。プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、各種の演算処理及び各種のハードウェア制御処理を行う。メモリ12に記憶されているプログラムは、実施の形態1に係る画像処理プログラムを含む。画像処理プログラムは、例えば、インターネットを経由して取得される。また、画像処理プログラムは、これが記録されて磁気ディスク、光ディスク、半導体メモリ、などの記録媒体から取得されてもよい。記憶装置13は、例えば、ハードディスク装置、SSD(Solid State Drive)、などである。画像入力インタフェース14は、撮像装置であるカメラ1a,1b,1c,1dから提供された撮像画像すなわちカメラ画像を、撮像画像データに変換して取り込む。表示機器インタフェース15は、撮像画像データ又は後述する合成画像データをディスプレイである表示装置18に出力する。図1には、4台のカメラ1a〜1dが示されているが、カメラの台数は4台に限定されない。
カメラ1a〜1dは、画像を撮影する機能を有する。カメラ1a〜1dの各々は、CCD(Charged−Coupled Device)イメージセンサ、CMOS(Complementary Metal−Oxide−Semiconductor)イメージセンサ、などの撮像素子と、1枚以上のレンズを含むレンズ部とを備えている。カメラ1a〜1dは、互いに同一の構造を持つ同一種類の機器である必要はない。カメラ1a〜1dは、例えば、レンズ部が固定されておりズーム機能を備えない固定カメラ、レンズ部が可動式でありズーム機能を備えたズームカメラ、又はパン・チルト・ズーム(PTZ Pan Tilt Zoom)カメラ、などである。実施の形態1では、カメラ1a〜1dが固定カメラである場合を説明する。
カメラ1a〜1dは、画像処理装置10の画像入力インタフェース14と接続されている。この接続は、有線接続又は無線接続のいずれであってもよい。カメラ1a〜1dと画像入力インタフェース14との接続は、例えば、IP(Internet Protocol)ネットワークによるものである。カメラ1a〜1dと画像入力インタフェース14との接続は、他の種類の接続であってもよい。
画像入力インタフェース14は、カメラ1a〜1dから撮像画像(すなわち、画像データ)を受け取る。受け取った撮像画像は、メモリ12又は記憶装置13に記憶される。プロセッサ11は、メモリ12又は記憶装置13に記憶されたプログラムを実行して、カメラ1a〜1dから受け取った複数の撮像画像に合成処理を施すことによって、合成画像(すなわち、合成画像データ)を生成する。合成画像は、表示機器インタフェース15を介してディスプレイとしての表示装置18へ送られる。表示装置18は、受け取った合成画像に基づいて画像を表示する。
〈画像処理装置10〉
図2は、実施の形態1に係る画像処理装置10の構成を概略的に示す機能ブロック図である。画像処理装置10は、実施の形態1に係る画像処理方法を実施することができる装置である。図2に示されるように、画像処理装置10は、画像記録部102と、記憶部114と、タイミング決定部103と、移動量推定部104と、特徴点抽出部105と、パラメータ最適化部106と、補正タイミング決定部107と、合成テーブル生成部108と、合成処理部109と、ずれ量評価部110と、重複領域抽出部111と、表示画像出力部112とを備えている。パラメータ最適化部106、合成テーブル生成部108、合成処理部109、ずれ量評価部110、及び重複領域抽出部111は、合成画像における撮像画像の重複領域(すなわち、重畳領域)におけるずれを補正するずれ補正部100を構成している。また、画像処理装置10は、外れ値除外部113を備えてもよい。また、画像記録部102は、撮像画像101a〜101dを記憶する外部記憶部115と接続される。記憶部114は、例えば、図1に示されるメモリ12、記憶装置13、又はそれらの一部である。外部記憶部115は、例えば、図1に示される外部記憶装置17又はその一部である。
画像処理装置10は、カメラ1a〜1dから撮像画像101a〜101dを受け取り、撮像画像101a〜101dを合成して、1つの合成画像を生成する。画像記録部102は、カメラ1a〜1dが撮像した撮像画像101a〜101dを記憶部114又は外部記憶部115又はこれらの両方に記録する。
タイミング決定部103は、画像記録部102が撮像画像101a〜101dを記録するタイミングを指示する。
移動量推定部104は、カメラ1a〜1dの各々の推定移動量(すなわち、位置姿勢ずれ量)を計算する。移動量は、例えば、カメラ1a〜1dの並進移動成分と回転移動成分とで表される。並進移動成分は、XYZ直交座標系におけるX軸、Y軸、Z軸方向の3成分を含む。回転移動成分は、ロール、ピッチ、ヨーの3成分を含む。なお、カメラの移動量が一意に決まるものであれば、ここではパラメータの形式は問わない。また、移動量は、上記複数の成分のうちの一部の成分から構成されてもよい。カメラ1a〜1dの移動(すなわち、位置姿勢ずれ)は、例えば、3つの並進移動成分と3つの回転移動成分とを要素とする移動ベクトルで表記することができる。移動ベクトルの例は、後述の図13に移動ベクトルPtとして示される。
外れ値除外部113は、移動量推定部104によって推定されたカメラ1a〜1dの各々の指定期間中における移動量(以下「推定移動量」とも言う。)を決定する過程で、隣接画像の間の期間における移動量(以下「隣接画像期間における移動量」とも言う。)#1〜#N−1が外れ値に該当するか否かを判定し、外れ値に該当する隣接画像期間における移動量を、移動量推定部104で生成される推定移動量の決定のための計算に用いない。ここで、Nは正の整数である。隣接画像期間における移動量のいずれかが外れ値に該当するか否かの判定は、隣接画像期間における移動量が起こり得ない値であるか否かで行われことができる。例えば、外れ値除外部113は、隣接画像期間における移動量が予め決められた閾値を超えた場合に、隣接画像期間における移動量は外れ値であると判定する。隣接画像期間における移動量が外れ値であるか否かの判定の具体例は、後述の図9及び図10で説明される。
特徴点抽出部105は、撮像画像101a〜101dからカメラ1a〜1dの各々の推定移動量を計算するための特徴点を抽出する。
パラメータ最適化部106は、移動量推定部104によって計算された推定移動量と、後述するずれ量評価部110から提供されるずれ量の評価値とに基づいて、合成画像を構成する撮像画像間の重複領域におけるずれを補正する最適な外部パラメータを求め、これを用いて外部パラメータを更新する。撮像画像間の重複領域におけるずれは、「合成画像におけるずれ」とも言う。この量は、後述の図13に示される。
補正タイミング決定部107は、合成画像におけるずれを補正するタイミングを決定する。
合成テーブル生成部108は、パラメータ最適化部106から提供された外部パラメータに対応する撮像画像の各々のマッピングテーブルである合成テーブルを生成する。合成処理部109は、合成テーブル生成部108から提供された合成テーブルを用いて撮像画像101a〜101dを1枚の画像に合成することで、合成画像を生成する。
ずれ量評価部110は、合成画像におけるずれの量、すなわち、ずれ量を計算して、ずれ量の計算値をずれ量の評価値として出力する。ずれ量の評価値は、パラメータ最適化部106に提供される。重複領域抽出部111は、合成処理部109において撮像画像101a〜101dを合成する際に、合成画像を構成する撮像画像101a〜101d間の重複領域を抽出する。表示画像出力部112は、ずれが補正された合成画像、すなわち、ずれ補正処理後の合成画像を出力する。
〈画像記録部102〉
画像記録部102は、タイミング決定部103によって指定されたタイミングにおいて撮像画像101a〜101dを、記憶部114又は外部記憶部115又はこれらの両方に記録する。撮像画像101a〜101dを記録する際には、画像記録部102は、撮像画像101a〜101dの各々に、撮像画像101a〜101dを生成したカメラを特定するための識別情報である装置IDと撮影時刻とを関連付けて、装置IDと撮影時刻も記録する。装置ID及び撮影時刻は、「付随情報」とも言う。つまり、画像記録部102は、付随情報が関連付けられた撮像画像101a〜101dを、記憶部114又は外部記憶部115又はこれらの両方に記録する。
撮像画像101a〜101dと付随情報とを関連付けて記録する方法として、例えば、撮像画像101a〜101dのデータ内に付随情報を含める方法、RDBMS(リレーショナルデータベースマネジメントシステム)などの関係データベースによって関連付けを行う方法、などがある。撮像画像101a〜101dと付随情報とを関連付けて記録する方法は、上記以外の方法であってもよい。
〈タイミング決定部103〉
タイミング決定部103は、カメラ1a〜1dから提供された撮像画像を記録するタイミングを、例えば、ユーザによって指定された条件に基づいて決定し、画像記録部102に伝える。指定された条件とは、予め決められた一定時間間隔ごと、又は予め決められた状況が発生した時点ごと、などである。予め決められた時間間隔は、秒、分、時間、日、月、などの単位を用いて指定される一定の時間間隔である。予め決められた状況が発生した時点とは、例えば、カメラ1a〜1dの撮像画像から特徴点が検出されたとき(例えば、日中におけるある時点)、又はカメラ1a〜1dの撮像画像において動く物体が検出されないとき、などである。また、撮像画像を記録するタイミングは、カメラ1a〜1dの各々の特性及び設置位置の状況に応じて、カメラ1a〜1dの各々について、個別に決定されてもよい。
〈特徴点抽出部105〉
特徴点抽出部105は、撮像画像101a〜101dに基づいて、カメラ1a〜1dの各々の推定移動量を計算するために、撮像画像101a〜101dの各々における特徴点を抽出し、特徴点の座標を検出する。特徴点の検出アルゴリズムの代表例としては、AKAZEがある。ただし、特徴点の検出アルゴリズムは、上記例に限定されない。
〈移動量推定部104〉
移動量推定部104は、画像記録部102によって記録された撮像画像101a〜101dの特徴点からカメラ1a〜1dの各々の推定移動量を計算する、すなわち、推定移動量を計算する。カメラ1a〜1dの各々の推定移動量は、例えば、カメラ1a〜1dが設置された時点を基準時とし、この基準時における位置からの移動量である。カメラ1a〜1dの各々の推定移動量は、例えば、指定された開始日と終了日との間の期間中における移動量である。カメラ1a〜1dの各々の推定移動量は、開始時刻と終了時刻とを指定することで、開始時刻と終了時刻との期間中におけるカメラ1a〜1dの各々の推定移動量であってもよい。移動量推定部104は、撮像画像101a〜101dの各々についての2つの時点の特徴点の座標に基づいて、カメラ1a〜1dの各々の推定移動量を計算する。
また、移動量推定部104は、ずれ補正部100によってパラメータ最適化処理(すなわち、ずれ補正処理)が実行されたときに、パラメータ最適化部106からフィードバック情報を受け取る。具体的には、移動量推定部104は、パラメータ最適化部106がカメラ1a〜1dの各々の外部パラメータを最適化し及び更新したタイミングで、当該カメラ1a〜1dの各々について計算された推定移動量をゼロに設定(すなわち、リセット)する。あるいは、移動量推定部104は、パラメータ最適化部106から受け取ったフィードバック情報に基づいて、機械学習ベースで推定移動量の計算を行ってもよい。その後、移動量推定部104は、フィードバック情報を受け取った時点を基準時として、推定移動量の計算を行う。
移動量推定部104によって提供される推定移動量は、カメラ1a〜1dの並進移動成分と回転移動成分とで表される。並進移動成分は、X軸、Y軸、Z軸方向の3成分を含み、回転移動成分は、ロール、ピッチ、ヨーの3成分を含む。なお、カメラの移動量が一意に決まるものであれば、ここではパラメータの形式は問わない。並進移動成分及び回転移動成分は、ベクトル又は行列の形式で出力されてもよい。なお、カメラ1a〜1dの各々の推定移動量の計算のための処理は、上記の処理に限定されない。例えば、カメラ画像間の移動量を表す方法として、ホモグラフィ行列を用いる方法がある。カメラの内部パラメータが既知である場合、ホモグラフィ行列から外部パラメータを算出することが可能である。カメラ1a〜1dの各々の推定移動量の回転移動成分は、センサが取り付けられたカメラ又はセンサが内蔵されたカメラ(例えば、PTZカメラ)におけるロータリーエンコーダの出力などに基づいて取得されてもよい。
〈パラメータ最適化部106〉
パラメータ最適化部106は、補正タイミング決定部107がパラメータ最適化処理(すなわち、ずれ補正処理)の対象であると判断したカメラについて、移動量推定部104から提供されたカメラ1a〜1dの各々の推定移動量と、ずれ量評価部110によって計算された合成画像におけるずれ量の評価値(「ずれ量の計算値」とも言う。)とに基づいて、合成画像におけるずれを補正するために用いられる外部パラメータを求める。外部パラメータは、例えば、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分と、からなる。なお、カメラの位置姿勢が一意に決まるものであれば、外部パラメータの形式は問わない。
パラメータ最適化部106は、移動量推定部104によって得られたカメラ1a〜1dの各々の推定移動量と、ずれ量評価部110によって得られた合成画像におけるずれ量の評価値とに基づいて、合成画像におけるずれ量を小さくするように、合成画像におけるずれを補正するために用いられる外部パラメータを算出する。各カメラの外部パラメータの最適化処理は、例えば、以下の処理(H1)〜(H5)を行った後に、処理(H2)〜(H5)を、この順番に繰り返すことで、実行される。
(H1)パラメータ最適化部106がカメラ1a〜1dの各々の外部パラメータを更新する処理。
(H2)合成テーブル生成部108がカメラ1a〜1dの各々のパラメータ(すなわち、内部パラメータ、ゆがみ補正パラメータ、及び外部パラメータ)に対応する合成テーブルを生成する処理。
(H3)合成処理部109がカメラ1a〜1dの各々の合成テーブルを用いて撮像画像101a〜101dを合成して、合成画像を生成する処理。
(H4)ずれ量評価部110がこの合成画像におけるずれ量の評価値を求めて、これをフィードバックする処理。
(H5)パラメータ最適化部106がずれ量の評価値をフィードバック情報として用いて、外部パラメータを更新する処理。
また、パラメータ最適化部106は、カメラ1a〜1dのうちの2つ以上のカメラに位置姿勢ずれが生じた場合は、撮像画像101a〜101dの中から基準となる撮像画像を決定する処理と、ずれ補正処理の対象となるカメラの順番を決定する処理とを行う。また、パラメータ最適化部106は、ずれ補正処理を実行したタイミングで、各カメラの推定移動量をリセットするためのフィードバック情報を、移動量推定部104へ提供する。このフィードバック情報は、移動量のリセットの対象となるカメラを示す装置IDと、補正後の外部パラメータとを含む。
〈補正タイミング決定部107〉
補正タイミング決定部107は、指定された条件を満たすタイミングを、合成画像におけるずれを補正するためのずれ補正処理の実行のタイミングとして、パラメータ最適化部106へ提供する。ここで、指定された条件とは、パラメータ最適化部106を介し移動量推定部104から得られるカメラ1a〜1dの推定移動量が閾値を超えたという条件、又はずれ量評価部110から得られる合成画像におけるずれ量の評価値が予め決められた閾値を超えたという条件、などである。カメラ1a〜1dの各々の推定移動量が閾値を超えたという条件は、例えば、「指定期間中における推定移動量」が閾値を超えたという条件、などである。補正タイミング決定部107は、パラメータ最適化部106に、合成画像におけるずれを補正するためのずれ補正処理を実行させる指示を出力する。なお、ずれ補正処理のタイミングは、マウス又はキーボードなどの入力インタフェースを用いて、利用者によって指定されてもよい。
〈合成テーブル生成部108〉
合成テーブル生成部108は、カメラ1a〜1dの各々の内部パラメータ及びゆがみ補正パラメータと、パラメータ最適化部106から提供されるカメラ1a〜1dの各々の外部パラメータとに基づいて、合成画像を生成するための合成テーブルを生成する。
図3(A)及び(B)は、合成テーブル生成部108及び合成処理部109によって実行される処理を示す説明図である。図3(A)は、カメラ1a〜1dの位置及び姿勢を示す。図3(B)は、カメラ1a〜1dによって撮影された撮像画像202a,202b,202c,202dと、合成画像205と、合成画像205を生成するために用いられる合成テーブル204a,204b,204c,204dとを示す。
合成テーブル生成部108は、カメラ1a〜1dの各々の内部パラメータ及びゆがみ補正パラメータと、パラメータ最適化部106から提供されるカメラ1a〜1dの各々の外部パラメータとに基づいて、合成テーブル204a〜204dを合成処理部109に与える。合成処理部109は、撮像画像202a〜202dに基づいて合成画像205を生成する。
なお、カメラ1a〜1dの位置関係及び撮影範囲を変更することによって、合成画像として、俯瞰合成画像、パノラマ合成画像、又はアラウンドビュー画像、などを生成することができる。合成テーブル生成部108は、撮像画像202a〜202dの画素と合成画像205の画素との対応を合成テーブルとして出力する。合成テーブル生成部108は、例えば、合成テーブル204a〜204dが2行2列の撮像画像の合成に用いられるものである場合、撮像画像202a〜202dを2行2列に並べる。
図4(A)及び(B)は、合成テーブル生成部108及び合成処理部109が行う他の処理を示す説明図である。図4(A)は、カメラ1a〜1dの位置及び姿勢を示す。図4(B)は、カメラ1a〜1dによって撮影された撮像画像206a,206b,206c,206dと、合成画像208と、合成画像208を生成するために用いられる合成テーブル207a,207b,207c,207dとを示す。
合成テーブル生成部108は、カメラ1a〜1dの各々の内部パラメータ及びゆがみ補正パラメータと、パラメータ最適化部106から提供されるカメラ1a〜1dの各々の外部パラメータとに基づいて、合成テーブル207a〜207dを合成処理部109に与える。合成処理部109は、撮像画像206a〜206dに基づいて合成画像208を生成する。
なお、カメラ1a〜1dの位置関係及び撮影範囲を変更することによって、合成画像として、俯瞰合成画像、パノラマ合成画像、又はアラウンドビュー画像、などを生成することができる。合成テーブル生成部108は、撮像画像206a〜206dの画素と合成画像208の画素との対応を合成テーブルとして出力する。合成テーブル生成部108は、例えば、合成テーブル207a〜207dが1行4列の撮像画像の合成に用いられるものである場合、撮像画像206a〜206dを1行4列に並べる。
〈合成処理部109〉
合成処理部109は、合成テーブル生成部108によって生成されたカメラ1a〜1dの各々の合成テーブルと、カメラ1a〜1dの撮像画像とを受け取り、撮像画像を合成して1枚の合成画像を生成する。合成処理部109は、撮像画像同士が重複する部分に対して、ブレンディング処理を行う。
〈ずれ量評価部110〉
ずれ量評価部110は、合成処理部109によって生成された合成画像と合成時に使用した合成テーブルとから合成画像におけるずれの大きさを示すずれ量の評価値を計算し、このずれ量の評価値をパラメータ最適化部106へ提供することで、合成画像におけるずれを補正するためのずれ補正処理の結果をパラメータ最適化部106にフィードバックする。合成画像におけるずれは、合成テーブルを使用して変換された撮像画像同士(すなわち、変換後の画像同士)を繋ぎ合わせた境界部分で発生する。境界部分は、重複領域又は重複部分とも言う。合成画像におけるずれ量の評価値の計算では、繋ぎ合わせる変換後の撮像画像の重複領域における、輝度値の差、又は対応する特徴点の間の距離、又は画像類似度、などの数値が用いられる。ずれ量の評価値は、変換後の撮像画像同士の組み合わせごとに計算される。例えば、カメラ1a〜1dが存在する場合には、カメラ1aのずれ量の評価値は、カメラ1aと1b、カメラ1aと1c、及びカメラ1aと1dについて計算される。また、ずれ量の評価値を計算するために使用される範囲は、自動的に検出されるが、利用者の操作によって指定されてもよい。
〈重複領域抽出部111〉
重複領域抽出部111は、合成処理部109によって生成された合成画像における変換後の撮像画像同士の重複領域を抽出する。抽出された重複領域を示す情報は、ずれ量評価部110に提供される。
〈表示画像出力部112〉
表示画像出力部112は、合成処理部109から提供された合成画像を表示装置(例えば、図1に示される)などに出力する。
《1−2》動作
《1−2−1》概要
図5は、画像処理装置10によって実行される処理の概要を示すフローチャートである。図5に示されるように、画像処理装置10は、画像記録処理群S10と、移動量推定処理群S20と、パラメータ最適化処理群(すなわち、ずれ補正処理群)S30と、合成・表示処理群S40とを並列に実行する。
画像記録処理群S10において、画像記録部102は、タイミング決定部103からトリガを受け取ったときに(ステップS11)、撮像画像101a〜101dを取得し(ステップS12)、記憶部114又は外部記憶部115又はこれらの両方に撮像画像101a〜101dを記録する(ステップS13)。
移動量推定処理群S20において、移動量推定部104は、画像記録部102から撮像画像101a〜101dを受け取り、外れ値除外部113によって除外されなかった撮像画像、すなわち、予め決められた条件を満たす撮像画像を選択する(ステップS21)。次に、移動量推定部104は、選択された撮像画像における特徴点を特徴点抽出部105から受け取る(ステップS22)。次に、移動量推定部104は、カメラ1a〜1dの各々の推定移動量を計算する(ステップS23)。移動量推定部104は、推定移動量が閾値を超えた場合、パラメータ最適化部106に推定移動量を提供する(ステップS24)。
パラメータ最適化処理群S30において、パラメータ最適化部106は、補正タイミング決定部107から補正指示を受け取ると(ステップS31)、移動量推定部104からカメラ1a〜1dの各々の推定移動量を取得する(ステップS32)。パラメータ最適化部106は、カメラ1a〜1dの外部パラメータの初期値を設定し(ステップS33)、外部パラメータを更新する(ステップS34)。次に、合成テーブル生成部108は、マッピングテーブルである合成テーブルを生成し(ステップS35)、合成処理部109は合成テーブルを用いて画像を合成する(ステップS36)。次に、ずれ量評価部110は、合成画像におけるずれ量の評価値を計算する(ステップS37)。ステップS34〜S37の処理は、最適解が求まるまで、繰り返し実行される。
合成・表示処理群S40において、合成処理部109は、変換後の撮像画像を取得し(ステップS41)、合成テーブルを用いて変換後の撮像画像を合成する(ステップS42)。表示画像出力部112は、合成画像を表示装置に出力する。表示装置は、合成画像に基づく映像を表示する(ステップS43)。
《1−2−2》画像記録処理群S10の詳細
図6は、画像記録部102によって実行される処理を示すフローチャートである。先ず、画像記録部102は、タイミング決定部103からトリガを受け取ったかどうかを判断する(ステップS110)。トリガは、撮影画像1a〜1dを記憶部114又は外部記憶部115又はこれらの両方に記録するタイミングを与える。トリガには、記憶する撮像画像を撮影したカメラを特定する装置IDが含まれている。
画像記録部102は、トリガを受け取ったときに、カメラの装置IDを取得する(ステップS111)。次に、画像記録部102は、トリガが発生した時刻を示す時刻情報を取得する(ステップS112)。例えば、画像記録部102は、画像処理装置10を構成するコンピュータに搭載されている時計からトリガが発生した時刻を取得する。なお、時刻情報は、記録される撮像画像の順序関係が分かる順序番号などの情報であってもよい。
次に、画像記録部102は、カメラの現在の撮像画像を取得する(ステップS113)。最後に、画像記録部102は、撮像画像に、カメラの装置IDと撮影時刻を示す時刻情報とを関連付けて、記憶部114又は外部記憶部115又はこれらの両方に記録する(ステップS114)。なお、画像記録部102は、トリガを受け取ったタイミングにおいて、設置されている複数のカメラの撮像画像を記録してもよい。また、画像記録部102は、トリガを受け取ったタイミングにおいて、予め決められた条件を満たすカメラの撮像画像のみを記録してもよい。また、画像記録部102は、移動量推定部104から記録した撮像画像の要求があった場合は、要求された撮像画像を、移動量推定部104に提供する。移動量推定部104は、撮像画像の要求に際し、カメラの装置IDと、撮影時刻又は撮像期間とによって、要求する撮像画像を指定する。
《1−2−3》移動量推定処理群S20の詳細
移動量推定処理群S20では、画像記録処理群S10において記録されたカメラ1a〜1dの各々の撮像画像から、特徴点を抽出し、カメラ1a〜1dの各々の推定移動量を計算する。推定移動量は、例えば、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分とを含む。推定移動量の計算は、補正タイミング決定部107によって実行される補正タイミングの決定の処理と、並列で実行される。推定移動量を計算するタイミングは、一定時間間隔が経過する度でもよいし、又は、画像記録処理群S10において撮像画像が更新されたときであってもよい。
図7は、移動量推定部104によって実行される処理を示すフローチャートである。図8は、画像記録部102によって記録された撮像画像と、隣接画像期間における移動量(#1〜#N−1)302との関係を示す図である。
先ず、移動量推定部104は、画像記録部102によって記録された、各カメラの撮像画像の中から、推定移動量の計算を行うための指定期間中に記録された撮像画像300aを受け取る(ステップS120)。
次に、移動量推定部104は、受け取った複数の撮像画像300aを、画像記録部102が記録した順番で整列させる(ステップS121)。撮像画像300aは、撮像画像#1〜#Nの順に並ぶ。ここで、Nは、撮像画像の撮影時刻の順番を示す正の整数である。
次に、移動量推定部104は、隣接画像期間における移動量302を画像解析によって求める(ステップS122)。図8に示されるように、隣接画像期間は、Kが撮像画像の撮影時刻の順番を示す1以上N−1以下の整数であるときに、撮像画像#Kから撮像画像#K+1までの期間である。隣接画像期間における移動量#1〜#N−1は、並進移動成分であるX軸、Y軸、Z軸方向の成分と、回転移動成分であるロール、ピッチ、ヨーの成分とを含む。図8の例では、N−1個の移動量(#1〜#N−1)302が得られる。画像解析には、例えば、5点アルゴリズムが用いられる。ただし、画像解析は、撮像画像中の特徴からカメラの位置姿勢を求めることができるものであれば、他の方法によって実行されてもよい。なお、「位置姿勢」は、位置又は姿勢又はこれらの両方を意味する。
このときの画像解析では、特徴点抽出部105によって撮像画像間で画像マッチングした特徴点の座標が用いられる。特徴点抽出部105が画像マッチングした特徴点を検出できなかった場合は、移動量推定部104は、その隣接画像期間における移動量を算出しない。
最後に、移動量推定部104は、隣接画像期間における移動量302において、予め決められた条件を満たす移動量302を合計し、それを指定期間中における各カメラの移動量すなわち推定移動量301として出力する。ここで、予め決められた条件とは、隣接画像期間における移動量#1〜#Nのうちの外れ値となっている移動量に該当しないことである。つまり、画像解析によって求められた隣接画像期間における移動量#1〜#Nの中から、外れ値となっている移動量を除外してえられた、移動量の合計が推定移動量301として算出される。予め条件を満たさない移動量を除外する処理は、外れ値除外部113によって実行される。
外れ値除外部113は、移動量推定部104において隣接画像期間における移動量302の中で外れ値となっているものを、指定期間中における推定移動量301の計算に用いないようにする機能を持つ。具体的には、外れ値除外部113は、カメラ1a〜1dの並進移動成分が閾値を超える大きな値である場合、回転移動成分が閾値を超える大きな値である場合など、移動量が通常は起こりえない値である場合に、この移動量を、指定期間中における推定移動量301の計算に用いないようにする。
外れ値除外部113は、図9及び図10に示されるように、隣接画像期間における移動量302の時間的な前後関係を考慮に入れて、外れ値の除外を行うことも可能である。図9は、外れ値除外部113によって実行される処理を示すフローチャートである。図10は、外れ値除外部113によって実行される外れ値の除外のための処理を示す説明図である。なお、Mは正の整数である。
図10に示される複数の撮像画像310は、画像記録部102によって記録された各カメラの撮像画像を、記録した順番で整列させた状態を示すものである。M番目に撮像された撮像画像(#M)312によって、外れ値に該当する移動量が存在するか否かを判断する場合、外れ値除外部113は、M番目に記録された撮像画像(#M)312とその直前に記録された撮像画像(#M−1)311とから隣接画像期間における移動量としてG1=“移動量314”を計算し、M番目に記録された撮像画像(#M)312とその直後に記録された撮像画像(#M+1)313とから隣接画像期間における移動量としてG2=“移動量315”を求める(ステップS130,S131)。
次に、外れ値除外部113は、M番目に記録された撮像画像(#M)312の直前と直後に記録された撮像画像(#M−1)311と撮像画像(#M+1)313とから、G3=“移動量316”を求める(ステップS132)。このとき、理想的に移動量が取得できた場合は、G1+G2=G3が成立する。
この性質を利用して、G1+G2がG3と大きく異なる場合、外れ値除外部113は、G1=“移動量314”又はG2=“移動量315”に外れ値が含まれていると判断する(ステップS133)。つまり、外れ値除外部113は、|G1+G2−G3|が予め決められた閾値以上である場合に、移動量であるG1又はG2が外れ値であると判断する。
|G1+G2−G3|が予め決められた閾値以上である場合、外れ値除外部113は、外れ値を除外するために、G1=“移動量314”とG2=“移動量315”とを除外し、G3=“移動量316”を、推定移動量の計算に含めるようにする。外れ値除外部113は、このようにして、M番目の撮像画像(#M)312における移動量を外れ値として扱い、推定移動量の計算からM番目の撮像画像(#M)312を用いて得られた移動量であるG1=“移動量314”及びG2=“移動量315”を除外する(ステップS134)。
《1−2−4》パラメータ最適化処理群S30の詳細
パラメータ最適化処理群S30では、補正タイミング決定部107は、移動量推定部104から提供されたカメラ1a〜1dの各々の推定移動量と、ずれ量評価部110から提供されたカメラ1a〜1dの各々の合成画像におけるずれ量の評価値とから、パラメータ最適化処理すなわちずれ補正処理の対象であるカメラの装置IDを判定する。その後、パラメータ最適化部106は、パラメータ最適化処理の対象であるカメラの外部パラメータを求める。外部パラメータは、例えば、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分とを含む。
パラメータ最適化部106は、補正タイミング決定部107から、パラメータ最適化処理の対象であるカメラの装置IDを受信後、パラメータ最適化処理の対象であるカメラの外部パラメータの値を、移動したカメラの外部パラメータとして設定する。
次に、パラメータ最適化部106は、パラメータ最適化処理の対象であるカメラの外部パラメータを変化させる。変化のさせ方は、パラメータ最適化処理の手法によって異なる。そして、パラメータ最適化部106は、複数のカメラの現在の外部パラメータを合成テーブル生成部108へ提供する。
合成テーブル生成部108は、パラメータ最適化部106から提供されたカメラ1a〜1dの各々の外部パラメータと、カメラ1a〜1dの各々の内部パラメータ及びゆがみ補正パラメータとに基づいて、合成画像を生成するための合成テーブルを、各カメラについて生成する。
合成処理部109は、合成テーブル生成部108によって生成された合成テーブルを用いて、カメラ1a〜1dの各々の撮像画像に対応する変換後の撮像画像を合成して、1枚の合成画像を生成する。
ずれ量評価部110は、生成された合成画像と、合成画像の生成時に使用された合成テーブルとに基づいて、生成された合成画像におけるずれ量の評価値を求め、ずれ量の評価値をパラメータ最適化部106へフィードバックする。パラメータ最適化部106は、フィードバックされたずれ量の評価値に基づいて、パラメータ最適化処理の対象であるカメラの外部パラメータを変化させ、ずれ量の評価値が小さくなるように、パラメータ最適化処理を実行する。
図11は、補正タイミング決定部107によって実行される処理を示すフローチャートである。補正タイミング決定部107は、カメラの外部パラメータの最適化処理が必要になったタイミングで、パラメータ最適化処理の対象であるカメラの装置IDをパラメータ最適化部106に伝える。複数のカメラに位置姿勢ずれ(すなわち、移動)が発生している場合には、補正タイミング決定部107は、パラメータ最適化部106に、複数のカメラの装置IDを通知する。パラメータ最適化処理(すなわち、ずれ補正処理)のタイミングは、各カメラの推定移動量と合成画像におけるずれ量の評価値とから自動的に決定される。ただし、このタイミングは、利用者によって行われる手動操作によって決定されてもよい。
以下に、補正するタイミングを自動的に決定する方法について説明する。先ず、補正タイミング決定部107は、パラメータ最適化処理が必要であるか否かを判断する指標として、各カメラの推定移動量、又は合成画像におけるずれ量の評価値、又はそれらの両方を、移動量推定部104又はずれ量評価部110から取得する(ステップS140,S141)。
次に、補正タイミング決定部107は、取得した各カメラの推定移動量を閾値と比較する、又は取得した合成画像におけるずれ量の評価値を閾値と比較する(ステップS142)。例えば、推定移動量がその閾値を超えた場合又はずれ量の評価値がその閾値を超えた場合は、補正タイミング決定部107は、パラメータ最適化処理の実行をパラメータ最適化部106に伝える(ステップS143)。閾値を用いたずれ補正処理の実行の条件は、各カメラの推定移動量がその閾値を超えた場合、又は合成画像におけるずれ量の評価値がその閾値を超えた場合、又はこれらの両方が成立した場合など、様々な条件に設定されることができる。
また、補正タイミング決定部107は、ずれ補正処理を実行できない状況の発生を、合成画像におけるずれ量の評価値と予め決められた閾値との比較の結果に基づいて検出し、利用者に通知する構成を有してもよい。ずれ補正処理ができない場合は、例えば、撮像画像同士の重複領域がなくなるほど大きな位置姿勢ずれがカメラに生じたときである。また、利用者に伝える仕組みは、例えば、表示する合成画像上に通知を重ねて表示する、などである。
パラメータ最適化部106は、移動量推定部104から各カメラの推定移動量を受け取り、ずれ量評価部110から合成画像におけるずれ量の評価値を受け取り、ずれ補正処理のための外部パラメータを出力する。なお、合成画像におけるずれの補正処理のためのパラメータ最適化処理は、移動量推定部104とずれ補正部100とによって実行される。
図12は、実施の形態1に係る画像処理装置10によって実行されるパラメータ最適化処理(すなわち、ずれ補正処理)を示すフローチャートである。先ず、パラメータ最適化部106は、補正タイミング決定部107から、ずれ補正処理の対象であるカメラの装置IDを受け取る(ステップS150)。
次に、パラメータ最適化部106は、移動量推定部104から、パラメータ最適化処理の対象である各カメラの推定移動量を受け取る(ステップS151)。推定移動量は、例えば、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分とを含む。
次に、パラメータ最適化部106は、パラメータ最適化処理の対象であるカメラの外部パラメータを移動量推定部104から取得したカメラ1a〜1dの各々の推定移動量に基づいて変更する(ステップS152)。なお、カメラの設置時又はカメラの初回起動時における外部パラメータは、カメラキャリブレーションパターンを備えたキャリブレーション用ボードを使用したカメラキャリブレーション作業によって取得される。
図13は、パラメータ最適化部106によって実行される外部パラメータの更新に用いられる計算式を示す説明図である。図13に示されるように、
更新後の(すなわち、時刻tにおける)外部パラメータ(すなわち、外部パラメータベクトル)P1は、以下のように表記される。
P1=(X,Y,Z,roll,pitch,yaw)
ここで、X,Y,Zは、X軸、Y軸、Z軸方向の外部パラメータを示し、roll,pitch,yawは、ロール、ピッチ、ヨー方向の外部パラメータを示す。
また、更新前の(すなわち、時刻0における)外部パラメータ(すなわち、外部パラメータベクトル)P0は、以下のように表記される。
P0=(X_0,Y_0,Z_0,roll_0,pitch_0,yaw_0)
ここで、X_0,Y_0,Z_0は、X軸、Y軸、Z軸方向の外部パラメータを示し、roll_0,pitch_0,yaw_0は、ロール、ピッチ、ヨー方向の外部パラメータを示す。
また、時刻0から時刻tまでの移動すなわち位置姿勢ずれを示す移動ベクトルPtは、以下のように表記される。
Pt=(X_t,Y_t,Z_t,roll_t,pitch_t,yaw_t)
ここで、X_t,Y_t,Z_tは、X軸、Y軸、Z軸方向の移動量(すなわち、距離)を示し、roll_t,pitch_t,yaw_tは、ロール、ピッチ、ヨー方向の移動量(すなわち、角度)を示す。
この場合、以下の式(1)が成立する。
P1=P0+Pt (1)
なお、初回更新時における更新前の外部パラメータP0は、カメラキャリブレーションによって取得された外部パラメータである。つまり、式(1)に示されるように、更新後の外部パラメータは、設置時における外部パラメータに、移動量推定部104によって取得した移動ベクトルPtの要素を加算したものである。
次に、パラメータ最適化部106は、補正タイミング決定部107から受け取ったカメラの装置IDの数から、パラメータ最適化処理の対象であるカメラの台数を判定する(ステップS153)。パラメータ最適化処理の対象であるカメラが無い場合は、パラメータ最適化部106によるパラメータ最適化処理を終了する。
パラメータ最適化処理の対象であるカメラがある場合は(すなわち、ステップS153において判断がYESの場合)、合成画像におけるずれを補正するために、パラメータ最適化処理を実行する(ステップS154)。このとき、パラメータ最適化処理の対象であるカメラの台数が2台以上である場合は、移動量推定部104から取得した推定移動量が小さいカメラの外部パラメータの最適化処理を先に実施する。これは、推定移動量が小さいカメラは、誤差の小さいものであり、信頼性が高いと考えられるからである。
図14は、実施の形態1に係る画像処理装置10のパラメータ最適化部106によって実行されるずれ補正処理(すなわち、パラメータ最適化処理)の例を示す説明図である。図14は、パラメータ最適化処理の対象であるカメラの台数が2台である場合を示している。このとき、パラメータ最適化処理の対象であるカメラの撮像画像353に対して、撮像画像が重複するカメラが2台存在し且つその内の1台のカメラがパラメータ最適化されていない状態である。つまり、パラメータ最適化処理の対象であるカメラの撮像画像353に対して、撮像画像352と354が重複している。この場合、撮像画像352を撮影したカメラのずれ補正は未実施(すなわち、未補正)である。
次に、パラメータ最適化部106は、ずれ補正処理のための外部パラメータを求め、この外部パラメータを用いてカメラの外部パラメータを更新する処理を繰り返し(ステップS154)、ずれ補正処理が完了したカメラをパラメータ最適化処理の対象から除外し、ずれ補正済みのカメラとしてみなす(ステップS155)。また、パラメータ最適化部106は、外部パラメータの更新時に、ずれ補正済みのカメラの装置IDと補正後の外部パラメータを移動量推定部104へフィードバックする(ステップS156)。
パラメータ最適化部106は、パラメータ最適化処理(ステップS154)において、カメラの外部パラメータを変え、そのときの合成画像におけるずれ量の評価値を受け取り、ずれ量の評価値が小さくなるように処理を繰り返す。このときに用いられるパラメータ最適化処理のアルゴリズムとしては、遺伝的アルゴリズムなどの様々な手法を用いることができる。
先ず、パラメータ最適化部106は、最適化対象となるカメラのずれ量の評価値をずれ量評価部110から取得する(ステップS1541)。ずれ量の評価値は、合成時に撮像画像が重複するカメラの撮像画像ごとに取得する。パラメータ最適化部106は、ずれ量評価部110から、ずれ量の評価値を、変換後の撮像画像同士の組み合わせごとに受け取る。例えば、カメラ1a〜1dが存在する場合、パラメータ最適化部106は、カメラ1aのずれ量の評価値として、カメラ1aと1bの撮像画像に対応する変換後の撮像画像間の重複領域のずれ量の評価値、カメラ1aと1cの撮像画像に対応する変換後の撮像画像間の重複領域のずれ量の評価値、及びカメラ1aと1dの撮像画像に対応する変換後の撮像画像間の重複領域のずれ量の評価値を出力する。
その後、パラメータ最適化部106は、取得したずれ量の評価値に基づいて各カメラの外部パラメータを更新する(ステップS1542)。外部パラメータの更新処理は、使用する最適化アルゴリズムによって異なる。代表的な最適化アルゴリズムとしては、ニュートン法又は遺伝的アルゴリズムなどの手法がある。ただし、各カメラの外部パラメータの更新処理の方法は、これらに限定されない。
次に、パラメータ最適化部106は、更新したカメラの外部パラメータに加えて他のカメラの外部パラメータを合成テーブル生成部108へ送る(ステップS1543)。合成テーブル生成部108は、各カメラの外部パラメータから、合成時に使用する合成テーブルを各カメラについて生成する(ステップS1544)。
合成処理部109は、合成テーブル生成部108で生成された各カメラの合成テーブルを用いて、各カメラから取得した撮像画像を合成して、1枚の合成画像を生成する(ステップS1545)。
ずれ量評価部110は、合成処理部109が画像合成時に使用した各カメラの合成テーブルと撮像画像とから、各カメラのずれ量の評価値を求め、パラメータ最適化部106へ出力する(ステップS1546)。以上の処理を、ずれ量の評価値が一定の閾値以下になるまで繰り返すことで、合成画像におけるずれを補正する外部パラメータを算出する。もしくは、予め指定された回数まで繰り返し、補正する外部パラメータを算出してもよい。
図15(A)から(D)及び図16(A)から(C)は、カメラ1a〜1dの外部パラメータの補正をする順序を示す説明図である。図において、400a〜400dは、それぞれカメラ1a〜1dが撮影した撮像画像を示す。図15(A)にステップS10として示されるように、カメラ1a〜1dは、補正タイミング決定部107によって、パラメータ最適化処理の対象となっている。
図15(B)にステップS11として示されるように、パラメータ最適化部106は、移動量推定部104よりパラメータ最適化処理の対象となる各カメラの推定移動量Qa〜Qdの値J1〜J4を取得し、取得した値J1〜J4に基づいて、カメラ1a〜1dの各々の外部パラメータを更新する(図12におけるステップS150〜S152)。
次に、図15(C)にステップS12として示されるように、パラメータ最適化部106は、推定移動量の小さいカメラから順にパラメータ最適化処理の対象に設定する。ここで、撮像画像400a〜400dを撮影したカメラ1a〜1dの推定移動量Qa〜Qdの値をJ1〜J4とした場合に、J1<J2<J3<J4の関係が成立する例について説明する。したがって、推定移動量Qa=J1の場合の撮像画像400aを撮影したカメラ1aについて1番目にパラメータ最適化処理を実行する。ここで、パラメータ最適化部106は、ずれ量評価部110からカメラ1a〜1dの重複領域におけるずれ量の評価値を取得し、カメラの外部パラメータを最適化する。この場合、重複する撮像画像を出力するカメラ400b、400c、400dは、ずれ未補正の状態となっている。したがって、カメラ1aの補正は、ずれ量の評価値によるフィードバック(図12におけるステップS154)を実施せずに確定させる。
次に、図15(D)にステップS13として示されるように、移動量が2番目に小さい移動量Qb=J2の場合の撮像画像400bを撮影したカメラ1bのパラメータ最適化処理を実行する。カメラ1bのパラメータ最適化処理は、撮像画像400aと400bの重複領域におけるずれ量の評価値に基づいて、実行される(図12におけるステップS154)。
次に、図16(A)にステップS14として示されるように、移動量が3番目に小さい移動量Qc=J3の場合の撮像画像400cを撮影したカメラ1cのパラメータ最適化処理を実行する。カメラ1cのパラメータ最適化処理は、撮像画像400aと400cの重複領域におけるずれ量の評価値に基づいて、実行される(図12におけるステップS154)。
次に、図16(B)にステップS15として示されるように、移動量が4番目に小さい移動量Qd=J4の場合の撮像画像400dを撮影したカメラ1dのパラメータ最適化処理を実行する。カメラ1dのパラメータ最適化処理は、撮像画像400bと400dの重複領域におけるずれ量の評価値に基づいて、及び撮像画像400cと400dの重複領域におけるずれ量の評価値に基づいて、実行される(図12におけるステップS154)。以上の処理を行うことで、ずれが発生した複数のカメラの補正が実行される(ステップS16)。
合成テーブル生成部108は、パラメータ最適化部106から受け取ったカメラ1a〜1dの各々のパラメータに基づいて、画像合成時に用いられる合成テーブルを生成する。パラメータは、外部パラメータと、内部パラメータ及びゆがみ補正パラメータとを含む。
図17は、合成テーブル生成部108によって実行される処理を示すフローチャートである。先ず、合成テーブル生成部108は、パラメータ最適化部106からカメラの外部パラメータを取得する(ステップS160)。
次に、合成テーブル生成部108は、カメラの内部パラメータとゆがみ補正パラメータを取得する。なお、カメラの内部パラメータ及びゆがみ補正パラメータは、例えば、合成テーブル生成部108に備えられたメモリに予め記憶されていてもよい。
最後に、合成テーブル生成部108は、受け取った各カメラの外部パラメータと、カメラにおける内部パラメータ及びゆがみ補正パラメータとに基づいて、合成テーブルを生成する。生成された合成テーブルは、合成処理部109に提供される。
以上の処理は、各カメラについて実行される。なお、合成テーブルの生成方法は、使用するカメラに応じて変更される。例えば、合成テーブルの生成には、射影方式(例えば、中心射影方式、等距離射影方式など)が使用される。また、レンズ歪みの補正には、歪みモデル(例えば、半径方向歪みモデル、円周方向歪みモデルなど)が使用される。ただし、合成テーブルの生成方法は、上記例に限定されない。
図18は、合成処理部109によって実行される処理を示すフローチャートである。先ず、合成処理部109は、合成テーブル生成部108からカメラに対応する合成テーブルを取得する(ステップS170)。次に、合成処理部109は、カメラによって撮影された撮像画像を取得する(ステップS171)。最後に、合成処理部109は、合成テーブルに基づいて撮像画像を投影(すなわち、表示)する(ステップS172)。例えば、図3(B)における撮像画像202aから、合成テーブル204aによって画像205の一部が生成される。同様の処理を各カメラについて実行することで、変換後の撮像画像を合成して、1枚の合成画像を生成する。例えば、図3(B)における撮像画像202b、202c、202dから、合成テーブル204b、204c、204dによって画像205の残りの部分が生成される。なお、画像が重なり合う重複領域に対して、アルファブレンドを行ってもよい。アルファブレンドは、2つの画像を係数であるα値を用いて合成する方法である。α値は、[0,1]の範囲の値を取る係数であり、透明度を表す値である。
図19(A)から(C)は、ずれ量評価部110によって実行されるずれ量の評価値の取得のための処理を示す説明図である。図19(A)から(C)に示されるように、ずれ量評価部110は、合成処理部109によって合成されたカメラ1a〜1dの各々の撮像画像300a〜300dと、合成時に用いるマッピングテーブルである合成テーブルとから、カメラ1a〜1dの各々のずれ量の評価値を出力する。図19(B)に示されるように、カメラ1a〜1dの各々の撮像画像300a〜300dは、他の撮像画像と重複する部分が存在する。図19(B)に示されるように、撮像画像300aにおける斜線部分301aは、他の撮像画像と重複する重複領域の部分である。
図19(C)に示されるように、ずれ量評価部110は、この重複領域の部分に基づいてずれ量の評価値を求める。以下に、2つの変換後の撮像画像310aと310bを合成したときの、合成画像310cのずれ量の評価値の取得のための処理について説明する。合成画像310cは、位置311を境界として変換後の撮像画像310aと310bとを合成することで生成される。このとき、2つの変換後の撮像画像310aと310bとは、波線部分(すなわち、右側の領域)と斜線部分(すなわち、左側の領域)に画素が重複する部分ができる。ずれ量評価部110は、この重複した部分からずれ量の評価値を求める。
図20は、ずれ量評価部110によって実行される処理を示すフローチャートである。先ず、ずれ量評価部110は、合成画像と、合成処理部109からカメラ1a〜1dの各々の撮像画像と、合成時に用いるマッピングテーブルである合成テーブルとを取得する(ステップS180)。次に、ずれ量評価部110は、重複領域抽出部111から、画像同士が重複する部分を取得する(ステップS181)。その後、ずれ量評価部110は、重複する部分に基づいて、ずれ量の評価値を求める(ステップS182)。
ずれ量評価部110は、重複領域における画素同士の輝度の差を累積することで、ずれ量の評価値を計算してもよい。また、ずれ量評価部110は、重複領域における特徴点のマッチングを行い、それらの距離を累積することでずれ量の評価値を計算してもよい。また、ずれ量評価部110は、ECC(Elliptic Curve Cryptography)アルゴリズムによって画像類似度を求めることでずれ量の評価値を計算してもよい。さらに、ずれ量評価部110は、位相限定相関を求めることで画像同士のずれ量の評価値を計算してもよい。また、ずれ量の評価値を最小となるように最適化する評価値ではなく、評価値を最大化することで最適化する評価値を用いることも可能である。さらに、評価値が0になるときに最適となる評価値を用いることも可能である。以上の処理を各カメラについて行うことで、各カメラのずれ量の評価値を求めることができる。
図21は、重複領域抽出部111によって実行される処理を示すフローチャートである。重複領域抽出部111は、変換後の撮像画像の合成処理を行うときに、隣り合う変換後の撮像画像同士の重複領域を出力する。先ず、重複領域抽出部111は、ずれ量評価部110から、変換後の撮像画像と、マッピングテーブルである合成テーブルとを受け取る(ステップS190)。次に、重複領域抽出部111は、合成テーブルから、2つの変換後の撮像画像が合成時に重複する重複領域の画像を、又は領域を数値として表現したものを出力する(ステップS191)。
《1−2−5》合成・表示処理群S40の詳細
図5に示される合成・表示処理群S40では、合成テーブル生成部108が生成した各カメラの合成テーブルに基づいて、複数のカメラで撮影された複数の撮像画像に対応する複数の変換後の撮像画像を1枚の画像に合成し、表示機器インタフェース15を介して、合成画像を表示装置18に出力する。
図22は、表示画像出力部112によって実行される処理を示すフローチャートである。表示画像出力部112は、合成処理部109によって生成された合成画像(例えば、俯瞰合成画像)を取得する(ステップS200)。次に、表示画像出力部112は、取得した合成画像を表示装置が対応可能な形式の映像データ(例えば、俯瞰合成映像)に変換して出力する(ステップS201)。
《1−3》効果
以上に説明したように、実施の形態1に係る画像処理装置10、画像処理方法、又は画像処理プログラムを用いれば、合成画像におけるずれ量の評価値を、パラメータ最適化処理(すなわち、ずれ補正処理)にフィードバックしているので、カメラ1a〜1dの位置姿勢の変化によって合成画像を構成する複数の変換後の撮像画像の重複領域に生じたずれを、高精度に補正することができる。
また、実施の形態1に係る画像処理装置10、画像処理方法、又は画像処理プログラムを用いれば、合成画像を構成する複数の変換後の撮像画像の特徴点のマッチングを取りやすい時間間隔でカメラ1a〜1dの推定移動量を計算しているので、カメラ1a〜1dの位置姿勢の変化によって合成画像を構成する複数の変換後の撮像画像の重複領域に生じたずれを、高精度に補正することができる。
また、実施の形態1に係る画像処理装置10、画像処理方法、又は画像処理プログラムを用いれば、合成画像を構成する複数の変換後の撮像画像の重複領域に生じたずれを補正するために、カメラ1a〜1dの各々の外部パラメータを最適化している。このため、人手によるキャリブレーション作業を行わずに、合成画像における重複領域に生じるずれを、補正することができる。
さらに、実施の形態1に係る画像処理装置10、画像処理方法、又は画像処理プログラムを用いれば、高精度且つ人手によらずに、ずれを補正することができるので、複数のカメラを監視用途で用いる監視システムにおける保守費用を抑制することができる。
《2》実施の形態2.
実施の形態2に係る画像処理装置は、パラメータ最適化部106が行う処理の点で、実施の形態1に係る画像処理装置10と相違する。他の点に関して、実施の形態2は、実施の形態1と同じである。したがって、実施の形態2の説明においては、図1及び図2を参照する。
実施の形態2において、パラメータ最適化部106は、移動量推定部104から取得したカメラ1a〜1dの各々の推定移動量と、ずれ量評価部110から取得した合成画像におけるずれ量の評価値とに基づいて、合成画像におけるずれを補正するために用いられる外部パラメータを、カメラ1a〜1dの各々について求める。外部パラメータは、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分と、からなる。
パラメータ最適化部106は、移動量推定部104によって得られたカメラ1a〜1dの各々の推定移動量と、ずれ量評価部110によって得られた合成画像におけるずれ量の評価値とに基づいて、合成画像におけるずれ量の評価値を小さくするように、外部パラメータを変更する。各カメラの外部パラメータの最適化処理は、例えば、上記処理(H1)〜(H5)を行った後に、処理(H2)〜(H5)を、この順番に繰り返すことで、実行される。
また、パラメータ最適化部106は、カメラ1a〜1dのうちの2つ以上のカメラに位置姿勢ずれが起きた場合は、撮像画像101a〜101dの中から基準となる撮像画像を決定する処理と、ずれ補正処理の順番を決定する処理とを行う。また、パラメータ最適化部106は、ずれ補正処理を実行したタイミングで、カメラの推定移動量をリセットするためのフィードバック情報を、移動量推定部104へ提供する。このフィードバック情報は、推定移動量のリセットの対象となるカメラを示す装置IDと、補正後の外部パラメータとを含む。
実施の形態2においては、パラメータ最適化部106は、カメラ1a〜1dのうちの2台以上のカメラに位置姿勢ずれが起きた場合は、位置姿勢ずれが起きた全カメラのずれを同時に補正する。また、パラメータ最適化部106は、ずれ補正処理を実行したタイミングで、カメラの推定移動量をリセットするためのフィードバック情報を、移動量推定部104へ提供する。このフィードバック情報は、推定移動量のリセットの対象となるカメラを示す装置IDと、補正後の外部パラメータとを含む。
その後、パラメータ最適化部106は、移動量推定部104からカメラの推定移動量を受け取り、ずれ量評価部110から合成画像におけるずれ量の評価値を受け取り、ずれ補正処理のための外部パラメータを出力する。なお、合成画像におけるずれを補正するためのずれ補正処理は、移動量推定部104と、パラメータ最適化部106、合成テーブル生成部108、合成処理部109、及びずれ量評価部110からなるフィードバックループと、によって実行される。
図23は、実施の形態2に係る画像処理装置によって実行されるパラメータ最適化処理(すなわち、ずれ補正処理)を示すフローチャートである。先ず、パラメータ最適化部106は、補正タイミング決定部107から、ずれ補正処理の対象すなわちパラメータ最適化処理の対象であるカメラの装置IDを受け取る(ステップS210)。
その後、パラメータ最適化部106は、移動量推定部104から、パラメータ最適化処理の対象であるカメラの推定移動量を受け取る(ステップS211)。推定移動量は、例えば、並進移動成分であるX軸、Y軸、Z軸方向の3成分と、回転移動成分であるロール、ピッチ、ヨーの3成分とを含む。
次に、パラメータ最適化部106は、パラメータ最適化処理の対象であるカメラの外部パラメータを移動量推定部104から取得したカメラ1a〜1dの各々の推定移動量に基づいて変更する(ステップS212)。なお、カメラの設置時又はカメラの初回起動時における外部パラメータは、カメラキャリブレーションパターンを備えたキャリブレーション用ボードを使用したカメラキャリブレーション作業によって取得される。パラメータ最適化部106によって実行される外部パラメータの更新に用いられる計算式は、図13に示される。
パラメータ最適化処理の対象であるカメラがある場合は、外部パラメータの最適化処理を実行する(ステップS213)。このとき、パラメータ最適化処理の対象であるカメラの台数が2台以上である場合は、同時に2台以上のカメラの外部パラメータを最適化する。図24は、実施の形態2に係る画像処理装置のパラメータ最適化部106によって実行されるずれ補正処理の例を示す説明図である。図24では、パラメータ最適化処理の対象であるずれ未補正の2台のカメラ1b、1cが存在する。これら2台のカメラ1b、1cによって撮影された撮像画像362及び363、並びに、カメラ1a、1dによって撮影された撮像画像361及び364には、重複領域が存在している。また、撮像画像361と362の間にはずれ量D3が存在し、撮像画像362と363の間にはずれ量D1が存在し、撮像画像363と364の間にはずれ量D2が存在する。
次に、パラメータ最適化部106は、ずれを補正するために用いられる外部パラメータが求められた場合、それをカメラの外部パラメータとして更新し、パラメータ最適化処理を終了する。また、パラメータ最適化部106は、外部パラメータの更新時、補正したカメラの装置IDと補正後の外部パラメータを移動量推定部104へフィードバックする(ステップS214)。
パラメータ最適化部106は、パラメータ最適化処理(ステップS213)において、カメラの外部パラメータを変え、そのときの合成画像におけるずれ量の評価値を受け取り、ずれ量の評価値が小さくなるように処理を繰り返す。パラメータ最適化処理のアルゴリズムとしては、例えば、遺伝的アルゴリズムを用いることができる。ただし、パラメータ最適化処理のアルゴリズムは、他のアルゴリズムであってもよい。
先ず、パラメータ最適化部106は、最適化対象となる1台以上のカメラのずれ量の評価値をずれ量評価部110から取得する(ステップS2131)。このずれ量の評価値は、合成時に撮像画像が重複するカメラの撮像画像ごとに取得する。パラメータ最適化部106は、ずれ量評価部110から、ずれ量の評価値を、撮像画像同士の組み合わせごとに受け取る。例えば、カメラ1a〜1dが存在する場合、パラメータ最適化部106は、図24に示されるように、最適化対象#1のカメラ1bについて、ずれ量D3とD1の評価値を取得し、最適化対象#2のカメラ1cについて、ずれ量D2とD1の評価値を取得する。
その後、パラメータ最適化部106は、取得したずれ量の評価値の全てを合計したものをずれ量の評価値として、対象となる複数のカメラの外部パラメータを更新する(ステップS2132)。外部パラメータの更新処理は、使用する最適化アルゴリズムによって異なる。代表的な最適化アルゴリズムとしては、ニュートン法又は遺伝的アルゴリズムなどの手法がある。ただし、外部パラメータの更新処理の方法は、これらに限定されない。
次に、パラメータ最適化部106は、更新したカメラの外部パラメータに加えて他のカメラの外部パラメータを合成テーブル生成部108へ送る(ステップS2133)。合成テーブル生成部108は、複数のカメラの外部パラメータから、合成時に使用する合成テーブルをカメラごとに生成する(ステップS2134)。
合成処理部109は、合成テーブル生成部108で生成された各カメラの合成テーブルを用いて、カメラから取得した撮像画像を合成して、1枚の合成画像を生成する(ステップS2135)。
ずれ量評価部110は、合成処理部109が画像合成時に使用した各カメラの合成テーブルと変換後の撮像画像から、カメラごとにずれ量の評価値を求め、パラメータ最適化部106へ出力する(ステップS2136)。以上の処理を、ずれ量の評価値が一定の閾値以下になるまで繰り返すことで、合成画像におけるずれを補正するために用いられる外部パラメータを計算する。もしくは、予め指定された回数まで繰り返し、補正する外部パラメータを算出してもよい。
図25(A)から(D)は、複数のカメラの補正をする順序を示す説明図である。図において、500a〜500dは、カメラ1a〜1dが撮影した撮像画像を示す。図25(A)にステップS20として示されるように、全てのカメラ1a〜1dは、補正タイミング決定部107によって、パラメータ最適化処理の対象となっている。
図25(B)にステップS21として示されるように、パラメータ最適化部106は、移動量推定部104よりパラメータ最適化処理の対象となる各カメラの推定移動量Qa〜Qdの値J1〜J4を取得し、取得した値J1〜J4に基づいて、カメラ1a〜1dの各々の外部パラメータを更新する(図23におけるステップS210〜S212)。
次に、図25(C)にステップS22として示されるように、パラメータ最適化部106は、複数のカメラの外部パラメータの最適化を同時に実行する(図23におけるステップS213)。
次に、図25(D)にステップS23として示されるように、パラメータ最適化部106は、ずれ量評価部110から、複数の撮像画像におけるずれ量の評価値を取得し、ずれ量の評価値を合計したものを評価値として、その評価値が最小又は最大となる複数のカメラの外部パラメータを求める。以上の処理を行うことで、ずれが発生したカメラの補正を同時に実行する。
以上に説明したように、実施の形態2に係る画像処理装置、画像処理方法、又は画像処理プログラムを用いれば、合成画像におけるずれ量の評価値を、パラメータ最適化処理(すなわち、ずれ補正処理)にフィードバックしているので、カメラ1a〜1dの位置姿勢の変化によって合成画像を構成する複数の変換後の撮像画像の重複領域に生じたずれを、高精度に補正することができる。
また、実施の形態2に係る画像処理装置、画像処理方法、又は画像処理プログラムを用いれば、複数のずれ量の評価値の合計値に基づいてパラメータ最適化処理を実行しているので、演算量を減らすことができる。
《3》実施の形態3.
《3−1》画像処理装置610
実施の形態3に係る画像処理装置610は、複数の撮像画像(すなわち、複数のカメラ画像)の重畳領域と、参照データとを用いて、ずれ補正処理を実行する。参照データは、参照画像と、その参照画像を撮像装置であるカメラで撮影したときのカメラパラメータとを含む。参照画像は、キャリブレーションされた状態にあるカメラによって撮影された撮像画像、すなわち、カメラ画像である。参照画像は、「補正されたカメラ画像」とも言う。参照画像は、例えば、カメラを設置した際に、キャリブレーション用ボードを用いてキャリブレーションされたカメラによって撮影されたカメラ画像である。
図26は、実施の形態3に係る画像処理装置610のハードウェア構成の例を示す図である。画像処理装置610は、実施の形態3に係る画像処理方法を実施することができる装置である。図26に示されるように、画像処理装置610は、メインプロセッサ611と、メインメモリ612と、補助メモリ613とを備えている。また、画像処理装置610は、ファイルインタフェース616と、入力インタフェース617と、表示機器インタフェース15と、画像入力インタフェース14とを備えている。画像処理装置610は、画像処理プロセッサ614と、画像処理メモリ615とを備えてもよい。なお、図26に示される画像処理装置610は、後述される実施の形態4、5及び6に係る画像処理装置710、810及び910のハードウェア構成の例でもある。また、実施の形態3、4、5及び6に係る画像処理装置610、710、810及び910のハードウェア構成は、図26の構成に限定されない。例えば、実施の形態3、4、5及び6に係る画像処理装置610、710、810及び910のハードウェア構成は、図1に示されるものであってもよい。
補助メモリ613は、例えば、カメラ600_1〜600_nによって撮影された複数のカメラ画像を保存する。nは、正の整数である。600_1〜600_nは、実施の形態1において説明されたカメラ1a〜1dと同様のものである。また、補助メモリ613は、カメラ600_1〜600_nの設置位置の関係及び画像合成時におけるブレンディング処理の情報と、事前のキャリブレーションによって算出されたカメラパラメータと、レンズ歪補正マップとを保存する。また、補助メモリ613は、複数のカメラ画像の各々に対して行われるマスク処理に使用される複数のマスク画像を保存してもよい。マスク処理及びマスク画像は、後述の実施の形態5で説明される。
メインプロセッサ611は、補助メモリ613に保存されている情報をメインメモリ612に読み込む処理を行う。メインプロセッサ611は、静止画を用いた処理を行う場合に、補助メモリ613に静止画ファイルを保存する。また、メインプロセッサ611は、メインメモリ612に記憶されているプログラムを実行することにより、各種の演算処理及び各種の制御処理を行う。メインメモリ612に記憶されているプログラムは、実施の形態3に係る画像処理プログラムを含んでもよい。
入力インタフェース617は、マウス入力、キーボード入力、タッチパネル入力、などのデバイス入力によって提供された入力情報を受け付ける。メインメモリ612は、入力インタフェース617を通して入力された入力情報を記憶する。
画像処理メモリ615は、メインメモリ612から転送された入力画像と、画像処理プロセッサ614で作成された合成画像(すなわち、合成画像データ)及び投影画像(すなわち、投影画像データ)とを記憶する。
表示機器インタフェース15は、画像処理装置610において生成された合成画像を出力する。表示機器インタフェース15は、HDMI(High−Definition Multimedia Interface)ケーブルなどによって表示装置18に接続される。表示装置18は、表示機器インタフェース15から提供された合成画像に基づく映像を表示する。
画像入力インタフェース14は、画像処理装置610に接続されたカメラ600_1〜600_nから提供された画像信号を受け付ける。カメラ600_1〜600_nは、例えば、ネットワークカメラ、アナログカメラ、USB(Universal Serial Bus)カメラ、HD−SDI(High Definition−Serial Digital Interface)カメラ、などである。カメラ600_1〜600_nと画像処理装置610との間の接続方式は、カメラ600_1〜600_nの種類に応じて決定される。画像入力インタフェース14を通して入力された画像情報は、例えば、メインメモリ612に記憶される。
外部記憶装置17及び表示装置18は、実施の形態1において説明されたものと同じである。外部記憶装置17は、画像処理装置610に接続された記憶装置である。外部記憶装置17は、ハードディスク装置(HDD)、SSD、などである。外部記憶装置17は、例えば、補助メモリ613の容量を補うために備えられ、補助メモリ613と同等の動作をする。ただし、外部記憶装置17を備えないことも可能である。
図27は、実施の形態3に係る画像処理装置610の構成を概略的に示す機能ブロック図である。図27に示されるように、実施の形態3に係る画像処理装置610は、カメラ画像受信部609と、カメラパラメータ入力部601と、合成処理部602と、投影処理部603と、表示処理部604と、参照データ読出部605と、ずれ検出部606と、移動量推定・パラメータ計算部607と、ずれ補正部608とを備えている。画像処理装置610は、複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理を行う。
画像処理装置610において、投影処理部603は、カメラパラメータ入力部601から提供される複数の外部パラメータに基づいて、投影画像の合成時に用いるマッピングテーブルである合成テーブルを生成し、この合成テーブルを用いて複数のカメラ画像を同じ投影面上に投影することによって、複数のカメラ画像に対応する複数の投影画像を生成する。合成処理部602は、複数の投影画像から合成画像を生成する。参照データ読出部605は、複数のカメラに対応する基準となるカメラ画像である複数の参照画像と複数の参照画像に対応する複数の外部パラメータとを含む参照データを出力する。移動量推定・パラメータ計算部607は、複数のカメラ画像と参照データとに基づいて、複数のカメラの移動量を推定し、複数のカメラに対応する複数の補正後の外部パラメータとを計算する。ずれ検出部606は、複数のカメラのいずれかにずれが発生しているか否かを判断する。ずれ補正部608は、ずれ検出部606によってずれが発生していると判断された場合、カメラパラメータ入力部601によって提供される複数の外部パラメータを、移動量推定・パラメータ計算部607によって計算された複数の補正後の外部パラメータによって更新する。
図28は、図27に示される投影処理部603の構成を概略的に示す機能ブロック図である。図28に示されるように、投影処理部603は、合成テーブル生成部6031と、画像投影部6032とを有している。
図29は、図27に示される合成処理部602の構成を概略的に示す機能ブロック図である。図29に示されるように、合成処理部602は、合成画像生成部6021と、ブレンド情報読込部6022とを有している。
図30は、図27に示されるずれ検出部606の構成を概略的に示す機能ブロック図である。図30に示されるように、ずれ検出部606は、類似度評価部6061と、相対移動量推定部6062と、重畳領域抽出部6063と、重畳領域ずれ量評価部6064と、投影領域ずれ量評価部6065と、ずれ判定部6066とを有している。
図31は、図27に示されるずれ補正部608の構成を概略的に示す機能ブロック図である。図31に示されるように、ずれ補正部608は、パラメータ最適化部6082と、重畳領域抽出部6083と、重畳領域ずれ量評価部6084と、投影領域ずれ量評価部6085とを有している。
《3−2》カメラ画像受信部609
図27に示されるカメラ画像受信部609は、カメラ600_1〜600_nから提供されたカメラ画像の入力処理を行う。入力処理は、例えば、デコード処理である。図26を参照して説明すると、メインプロセッサ611は、カメラ600_1〜600_nから画像入力インタフェース14を通して受信したカメラ画像にデコード処理を施して、メインメモリ612に保存する。デコード処理は、カメラ画像受信部609以外の構成によって行われてもよい。例えば、デコード処理は、画像処理プロセッサ614によって行われてもよい。
《3−3》カメラパラメータ入力部601
図27に示されるカメラパラメータ入力部601は、カメラ600_1〜600_nに対する事前のキャリブレーションによって算出されたカメラパラメータを取得し、保存する。カメラパラメータは、例えば、内部パラメータ、外部パラメータ、レンズ歪み補正マップ(すなわち、歪みパラメータ)、などを含む。図26を参照して説明すると、メインプロセッサ611は、補助メモリ613に記憶されているカメラパラメータを、ファイルインタフェース616を通してメインメモリ612へ読み込む。
また、カメラパラメータ入力部601は、記憶装置に記憶されているカメラパラメータの外部パラメータを、ずれ補正部608によって補正された外部パラメータ(「補正後の外部パラメータ」とも言う。)に更新する処理を行う。また、補正後の外部パラメータを含むカメラパラメータは、「補正後のカメラパラメータ」とも言う。図26を参照して説明すると、メインプロセッサ611は、メインメモリ612に記憶されている補正後の外部パラメータを、ファイルインタフェース616を通して補助メモリ613へ書き込む処理(例えば、上書きする処理)を行う。
《3−4》合成処理部602
図32は、図27及び図29に示される合成処理部602によって実行される処理を示すフローチャートである。合成処理部602は、カメラ画像受信部609によって受信され、入力処理が施された複数のカメラ画像を合成することによって、1枚画の合成画像を生成する。図32に示される処理は、合成処理部602及び投影処理部603によって分担して行われてもよい。
先ず、合成処理部602は、カメラパラメータ入力部601から、ブレンディング処理に用いられるブレンド情報とカメラパラメータとを読み込む(ステップS321、S322)。
次に、合成処理部602は、取得したカメラパラメータを用いて投影処理部603が作成した合成テーブルを取得する(ステップS323)。
次に、合成処理部602は、入力処理が施された複数のカメラ画像を受け取り(ステップS324)、投影処理部603に、合成テーブルを用いて同じ投影面上に投影した画像(すなわち、投影画像)を生成させることによって、複数のカメラ画像からなる投影画像を合成して1枚画である合成画像を生成する(ステップS325)。つまり、合成処理部602は、カメラパラメータ入力部601から取得したカメラパラメータとカメラ画像受信部609で読み込んだカメラ画像とを投影処理部603に提供し、投影処理部603から提供される各カメラの投影画像を受け取り、その後、受け取った各カメラの投影画像を合成画像生成部6021(図29)において合成する。
また、ステップS325において、合成処理部602の合成画像生成部6021は、ブレンド情報読込部6022から入力されたブレンド情報を用いて、投影画像同士の繋ぎ目部分に対してブレンディング処理を施してもよい。図26を参照して説明すると、メインプロセッサ611は、補助メモリ613に記憶されているブレンド情報を、ファイルインタフェース616を通してメインメモリ612へ読み込んでもよい。
次に、合成処理部602は、合成画像を、表示処理部604に出力する(ステップS346)。
合成処理部602は、カメラパラメータ入力部601からカメラパラメータを読み込み(ステップS327)、カメラパラメータが変化しているか否かを判断する。カメラパラメータが変化している場合、処理はステップS323に進み、合成処理部602は、ステップS327で取得した最新のカメラパラメータを用いて、投影処理部603に合成処理に用いられる合成テーブルを作成させ、さらにステップS324〜S328の処理を行う。カメラパラメータが変化していない場合、処理はステップS324に進み、合成処理部602は、新たに複数のカメラ画像を受け取り(ステップS324)、さらにステップS325〜S328の処理を行う。
《3−5》投影処理部603
図33は、図27及び図28に示される投影処理部603によって実行される処理を示すフローチャートである。図33に示されるように、投影処理部603は、合成処理部602からカメラパラメータを読み込む(ステップS301)。次に、投影処理部603は、取得したカメラパラメータを用いて、合成処理に用いられる合成テーブルを作成し、作成した合成テーブルを用いて、入力されたカメラ画像を投影画像に変換する(ステップS302)。
次に、投影処理部603は、カメラパラメータを読み込み(ステップS303)、カメラ画像を読み込み(ステップS304)、作成した合成テーブルを用いて、入力されたカメラ画像から投影画像を生成する(ステップS305)。つまり、投影処理部603の合成テーブル生成部6031(図28)は、入力されたカメラパラメータを用いて合成テーブルを作成し、投影処理部603の画像投影部6032(図28)は、合成テーブルと複数のカメラ画像とから、投影画像を生成する。
次に、投影処理部603は、入力されたカメラパラメータが変化しているか否かを判断する(ステップS306)。カメラパラメータが変化している場合、処理はステップS307に進み、投影処理部603は、ステップS303で取得した最新のカメラパラメータを用いて、合成テーブルを再生成し、その後、ステップS303〜S306の処理を行う。カメラパラメータが変化していない場合、投影処理部603は、新たに複数のカメラ画像を受け取り(ステップS304)、その後、ステップS305〜S306の処理を行う。
図34は、図27及び図28に示される投影処理部603によって実行される処理の例を示す説明図である。図34において、630a〜630dは、カメラ600_1〜600_4のカメラ画像に基づいてカメラ画像受信部609で入力処理が施されたカメラ画像を示す。631a〜631dは、投影処理部603に入力されたカメラ600_1〜600_4のカメラパラメータを用いて、投影処理部603で作成される合成テーブルを示す。投影処理部603は、合成テーブル631a〜631dとカメラ画像630a〜630dとに基づいて、カメラ600_1〜600_4のカメラ画像の投影画像632a〜632dを生成する。
また、投影処理部603は、合成テーブル生成部6031が作成した合成テーブルを出力してもよい。また、投影処理部603は、入力されたカメラパラメータが変化していない場合は、合成テーブルを作り直す必要が無い。そこで、合成テーブル生成部6031は、入力されたカメラパラメータが変化していない場合は、合成テーブルを作り直さずに、据え置く処理を実行する。
《3−6》表示処理部604
表示処理部604は、合成処理部602によって作成された合成画像を、表示装置で表示可能な映像データに変換する処理を行い、表示装置に映像データを提供する。表示装置は、例えば、図26に示される表示装置18である。表示処理部604は、合成画像に基づく映像を、1枚のディスプレイを有する表示装置に表示する。表示処理部604は、合成画像に基づく映像を、縦横に並べて配置された複数枚のディスプレイを有する表示装置に表示してもよい。また、表示処理部604は、合成画像の特定の領域(すなわち、合成画像の一部)を切り出して表示装置に表示してもよい。また、表示処理部604は、合成画像に基づく映像上にアノテーションを重畳表示してもよい。アノテーションは、注釈を意味し、例えば、人物の検出の結果を示す枠(例えば、検出された人物を囲う枠)などの表示、色を変えて表示する部分又は輝度を上げるなどの強調表示(例えば、検出された人物を囲う領域の色を目立つ色に変更又は明るくする表示)を含む。
《3−7》参照データ読出部605
参照データ読出部605は、画像処理装置610において、参照データを出力する。参照データは、例えば、校正済みの状態にある各カメラのカメラパラメータである外部パラメータとそのときのカメラ画像である参照画像とを含むデータである。校正済みの状態は、例えば、画像処理装置610と複数のカメラ600_1〜600_nを設置する際に、キャリブレーション用ボードを用いてキャリブレーションしたときのカメラ600_1〜600_nの状態である。図26を参照して説明すると、メインプロセッサ611は、補助メモリ613に記憶されている参照データを、ファイルインタフェース616を通してメインメモリ612へ読み込む。
《3−8》ずれ検出部606
図35は、図27及び図30に示されるずれ検出部606によって実行される処理を示すフローチャートである。ずれ検出部606は、各カメラ600_1〜600_nにずれが発生しているか否かを検出する。すなわち、ずれ検出部606は、以下の4つの処理(R1)〜(R4)に基づいて、ずれの有無及びずれ量を判断する。ただし、ずれ検出部606は、以下の4つの処理(R1)〜(R4)の1つ以上の組み合わせに基づいて、ずれの有無及びずれ量を判断することも可能である。
ずれ検出部606による処理(R1)〜(R4)の前に、図35にステップS321〜S326として示される処理が実行される。ステップS321において、カメラ画像受信部609によってカメラ画像の読み込みが行われ、ステップS322において、カメラパラメータ入力部601によって外部パラメータが読み込まれ、ステップS323において、投影処理部323によって、カメラ画像と外部パラメータとを用いて投影画像が生成される。また、ステップS324において、参照データ読出部605によって参照データが読み出され、ステップS325において、投影処理部603によって参照データが読み出される。さらに、ステップS326において、移動量推定・パラメータ計算部607によってカメラの相対移動量が読み込まれる。
(R1)ずれ検出部606は、参照データのカメラ画像である参照画像とカメラ画像受信部609から得られた現在のカメラ画像とを比較し、参照画像と現在のカメラ画像との類似度に基づいて、各カメラ600_1〜600_nの位置ずれを判断する。この処理は、図35のステップS334及びS335に示される。類似度が閾値を超えた場合に、ずれ検出部606は、ずれが発生したと判断する。ここで、「類似度」は、例えば、輝度差であり、類似度が大きくなるほど、類似の程度が下がることを意味する。
(R2)ずれ検出部606は、投影領域におけるずれ量に基づいてカメラの位置ずれを判断する。つまり、ずれ検出部606は、後述する投影領域ずれ量評価部6065で計算されたずれ量に基づいてずれ量を評価する。この処理は、図35のステップS327及びS328に示される。ずれ量が閾値を超えた場合に、ずれ検出部606は、ずれが発生したと判断する。
(R3)ずれ検出部606は、合成画像上の重畳領域におけるずれ量に基づいて位置ずれを判断する。つまり、ずれ検出部606は、後述する重畳領域ずれ量評価部6064で計算されたずれ量に基づいてずれ量を評価する。この処理は、図35のステップS330〜S332に示される。ずれ量が閾値を超えた場合に、ずれ検出部606は、ずれが発生したと判断する。
(R4)ずれ検出部606は、参照画像とカメラ画像受信部609から得られた現在のカメラ画像とを比較し、これら2つの画像間の相対移動量に基づいてずれの有無を判断する。この処理は、図35のステップS333に示される。ずれ検出部606は、相対移動量が閾値を超えたときに、ずれが発生したと判断する。
図35には、処理(R1)〜(R4)のいずれかにおいて、ステップS328、S332、S333、S335の条件を満たす場合(すなわち、判断がYESの場合)に、ずれ検出部606は、ずれが発生していると判断する例が示されている。しかし、処理(R1)〜(R4)のステップS328、S332、S333、S335の条件の2つ以上が満たされたときに、ずれ検出部606は、ずれが発生していると判断してもよい。
〈類似度評価部6061〉
図30に示される類似度評価部6061は、参照画像とカメラ画像受信部609から得られた現在のカメラ画像との間の類似度を閾値と比較する。類似度は、例えば、輝度差又は構造類似性などに基づく値、などである。類似度が輝度差である場合には、類似度が大きいほど、類似の程度が低い。
〈相対移動量推定部6062〉
図30に示される相対移動量推定部6062は、カメラ画像受信部609から提供されたカメラ画像と、参照データ読出部605から得られた、校正済みの状態にある各カメラの参照データとに基づいて、カメラ画像受信部609から提供されたカメラ画像における各カメラの外部パラメータを算出する。
図30に示される相対移動量推定部6062は、2画像間における相対的な移動量の算出方法として、5点アルゴリズムなどの公知の方法を使用することができる。5点アルゴリズムでは、相対移動量推定部6062は、2画像の画像中の特徴点を検出し、2画像の特徴点のマッチングをとり、マッチング結果を5点アルゴリズムに適用する。したがって、相対移動量推定部6062は、参照データの参照画像とカメラ画像受信部609から提供されたカメラ画像とを5点アルゴリズムに適用することによって、参照画像を基準とした現在のカメラ画像の相対移動量を推定する。
〈重畳領域抽出部6063〉
図30に示される重畳領域抽出部6063は、投影処理部603から提供される投影画像と合成テーブルとから、合成画像における、隣接するカメラ画像同士の重畳する領域の画像部分である重畳領域画像を抽出し、これを重畳領域ずれ量評価部6064へ出力する。つまり、重畳領域抽出部6063は、隣接するカメラ画像の重畳領域画像のペア(すなわち、互いに関連付けられた画像データ)を出力する。
図36は、図30に示される重畳領域抽出部6063によって実行される処理を示す説明図である。図36において、投影画像633a及び633bは、投影処理部603によって出力される各カメラ画像の投影画像を示している。図36において、画像634は、画像633aと633bを合成したときの位置関係を示している。このとき、画像634内には、投影画像633aと633bが重なり合う領域である重畳領域635が存在する。重畳領域抽出部6063は、重畳領域635を、投影処理部603から提供される投影画像と合成テーブルとに基づいて、求める。重畳領域抽出部6063は、重畳領域635を求めた後、投影画像ごとの重畳領域画像を出力する。重畳領域画像636aは、カメラ600_1のカメラ画像の投影画像633aの重畳領域635における画像である。重畳領域画像636bは、カメラ600_2のカメラ画像の投影画像633bの重畳領域635における画像を示している。重畳領域抽出部6063は、これら2つの重畳領域画像636a及び636bを重畳領域画像のペアとして出力する。図36には、カメラ600_1と600_2とに関する重畳領域画像のペアを、1組示しているが、重畳領域抽出部6063は、全てのカメラの投影画像における重畳領域画像のペアを出力する。図35に示されるカメラ配置の場合、重畳領域画像のペアの個数は、最大で6である。
〈重畳領域ずれ量評価部6064〉
図30に示される重畳領域ずれ量評価部6064は、重畳領域抽出部6063から提供された隣接するカメラ画像の重畳領域画像のペアに基づいて、ずれ量を計算する。ずれ量は、画像同士の類似度(例えば、構造類似性)又は特徴点の差分、などに基づいて算出する。例えば、重畳領域ずれ量評価部6064は、カメラ600_1と600_2の投影画像における重畳領域画像636aと636bが1つのペアとして入力され、画像の類似度を求める。このとき、重畳領域ずれ量評価部6064は、投影画像を生成するときのカメラパラメータは、パラメータ最適化部6082から提供されたものを用いる。なお、比較処理をする場合は、互いに画素が存在する範囲に限定してもよい。
〈投影領域ずれ量評価部6065〉
図30に示される投影領域ずれ量評価部6065は、パラメータ最適化部6082から提供されるカメラパラメータに対応するカメラ画像受信部609から得られた各カメラ画像の投影画像(投影処理部603によって、投影画像を取得する)と、参照データ読出部605から得られた各カメラの参照データに基づく投影画像とを比較し、参照データに対するずれ量を計算する。つまり、投影領域ずれ量評価部6065は、参照データのカメラ画像である参照画像と、それに対応するカメラパラメータとを投影処理部603に入力し、投影画像を取得し、投影画像を比較する。投影領域ずれ量評価部6065は、ずれ量を、画像同士の類似度(例えば、構造類似性)又は特徴点の差分、などに基づいて算出する。
図37(A)及び(B)は、図30に示される投影領域ずれ量評価部6065によって実行される処理の例を示す説明図である。画像6371は、カメラ画像受信部609から得られたカメラ600_1の入力画像である。画像6372は、参照データ読出部605に記憶されているカメラ600_1の参照データ内の画像である。6381は、パラメータ最適化部6082から提供されるカメラパラメータを投影処理部603へ入力したときに得られた合成テーブルであり、6382は、参照データ読出部605に記憶されているカメラ600_1の参照データ内のカメラパラメータを投影処理部603へ入力したときに得られた合成テーブルである。投影画像6391は、合成テーブル6381によって画像6371を投影したときの画像である。投影画像6392は、合成テーブル6382によって画像6372を投影したときの画像である。なお、比較処理をする場合は、互いに画素が存在する範囲に限定してもよい。投影領域ずれ量評価部6065は、投影画像6391と6392を比較することにより、参照データに対するずれ量を計算する。例えば、投影領域ずれ量評価部6065は、それぞれの画像の類似度を求める。
〈ずれ判定部6066〉
図30に示されるずれ判定部6066は、前述した4つの処理(R1)〜(R4)に基づいて、ずれが発生しているカメラを検出し、判定結果を出力する。判定結果は、例えば、ずれが発生しているか否かを示す情報、ずれが発生しているカメラを特定する情報(例えば、カメラの番号、などを含む。ずれ判定部6066は、類似度評価部6061、相対移動量推定部6062、重畳領域抽出部6063、重畳領域ずれ量評価部6064から提供される評価値に基づいて判定結果を生成する。ずれ判定部6066は、それぞれの評価値に対して閾値を設定し、それを超えた場合にずれ発生として判断する。また、ずれ判定部6066は、それぞれの評価値に重み付けをし、合計したものを新たな評価値とし、それに対して閾値を設けて判定してもよい。
《3−9》移動量推定・パラメータ計算部607
図38は、図27に示される移動量推定・パラメータ計算部607によって実行される処理を示すフローチャートである。図38にステップS341〜S344として示されるように、移動量推定・パラメータ計算部607は、ずれ検出部606から提供されたカメラ画像と、参照データ読出部605から得られた、校正済みの状態にある各カメラの参照データとに基づいて、カメラ画像受信部609から提供されたカメラ画像における各カメラの外部パラメータを算出する。
移動量推定・パラメータ計算部607は、2画像間における相対的なカメラの移動量の算出方法として、5点アルゴリズムなどの公知の方法を使用することができる。5点アルゴリズムでは、移動量推定・パラメータ計算部607は、2画像の画像中の特徴点を検出し、2画像の特徴点のマッチングをとり(ステップS342)、マッチング結果を5点アルゴリズムに入力する。したがって、移動量推定・パラメータ計算部607は、カメラ画像受信部609から提供されたカメラ画像と参照画像とを前記の方法に入力することで、参照データを基準とした各カメラの相対移動量(カメラ画像受信部609から入力されている時点での相対移動量)を推定することができる(ステップS343)。
移動量推定・パラメータ計算部607は、カメラ画像受信部609から入力されている時点での各カメラの外部パラメータを、上記で推定した各カメラの相対移動量に、加算することで、相対的な移動量を示す外部パラメータを出力することも可能である(ステップS344)。
《3−10》ずれ補正部608
図31に示されるずれ補正部608は、ずれ検出部606から提供される判定結果が「ずれ発生」であったときに、当該カメラの位置ずれを校正する際に使用される新たな外部パラメータ(すなわち、補正後の外部パラメータ)を算出する。補正後の外部パラメータは、合成画像に生じたずれを補正する際に使用される。
ずれ補正部608は、ずれが発生しているカメラの外部パラメータとして、移動量推定・パラメータ計算部607、又は、カメラパラメータ入力部601から提供される外部パラメータを使用する。ずれ補正部608は、ずれが発生していないカメラの外部パラメータとして、カメラパラメータ入力部601から提供される外部パラメータを用いる。
図39は、ずれ補正処理を示すフローチャートである。ずれ補正部608は、参照データ読出部605から得られた、校正済みの状態にある各カメラの参照データと、投影処理部603から得られた投影画像と、カメラ画像受信部609から得られたカメラ画像と、移動量推定・パラメータ計算部607から得られたカメラの外部パラメータとを入力として(ステップS351〜S354)、位置ずれが検出されたカメラの位置ずれを校正する際に使用される新たな外部パラメータ(補正後の外部パラメータ)を出力する。ずれ補正部608は、補正後の外部パラメータを、合成画像に生じたずれを補正する際に使用する。
〈パラメータ最適化部6082〉
図31に示されるパラメータ最適化部6082は、ずれ検出部606から得られた位置ずれが検出されたカメラ(「補正対象カメラ」とも言う。)の位置ずれを補正する際に使用される外部パラメータを計算し、カメラパラメータ入力部601へ出力する。なお、パラメータ最適化部6082は、位置ずれが検出されていない(すなわち、位置ずれが発生していない)場合、カメラのパラメータを変更せずに、カメラパラメータ入力部601に設定されている値を出力する。
パラメータ最適化部6082は、補正対象カメラの現在適用されている外部パラメータをベースとして、重畳領域ずれ量評価部6084から得られた補正対象カメラと隣接するカメラとの重畳領域におけるずれ量と、投影領域ずれ量評価部6085から得られた参照データの投影画像に対するずれ量(参照データ読出部605から得られた補正対象カメラの参照データ)から、評価値を計算し、評価値が最大又は、最小となる外部パラメータを算出する。パラメータ最適化部6082は、評価値が一定の条件を満たすまで(すなわち、図39のステップS361の判断がYESになるまで)、図39のステップS362、ステップS356〜S360の処理を繰り返す。この処理の繰り返し回数は、一定回数以下に制限されてもよい。つまり、パラメータ最適化部6082は、外部パラメータを更新し、その外部パラメータのときの評価値を求める処理を、評価値が一定の条件を満たすまで繰り返す。
パラメータ最適化部6082は、重畳領域ずれ量評価部6084から提供される評価値である重畳領域画像のずれ量E1と、投影領域ずれ量評価部6085から提供される評価値である投影領域のずれ量E2に基づいて、新たに評価値を求め、外部パラメータの最適化を実施する。このときの評価値は、例えば、ずれ量E1とずれ量E2の合計値、又は、ずれ量E1とずれ量E2の重み付け加算値である。重み付け加算値は、例えば、w1×E1+w2×E2で計算される。ここで、w1とw2は、ずれ量E1とずれ量E2の重みパラメータである。なお、重みパラメータw1とw2は、例えば、重畳領域画像と投影画像の面積に基づいて求められる。また、重みパラメータw1とw2を変更することにより、重畳領域ずれ量評価部6084から提供される評価値であるずれ量E1のみでの評価(w2=0のとき)、又は投影領域ずれ量評価部6085から提供される評価値であるずれ量E2のみでの評価(w1=0のとき)で、ずれ補正処理を実施することも可能である。
パラメータ最適化部6082は、繰り返し処理の際に、更新した外部パラメータに対応する評価値を再計算する必要があり、そのためには、更新した外部パラメータに対応する重畳領域ずれ量評価部6084から提供される評価値であるずれ量E1と投影領域ずれ量評価部6085から提供される評価値であるずれ量E2を再取得する必要がある。そこで、パラメータ最適化部6082は、外部パラメータを更新した際に、投影処理部603へ更新した外部パラメータを出力し、その外部パラメータに対応する各カメラの投影画像を再取得する。ここで、投影画像は、カメラ画像受信部609から得られた各カメラ画像の投影画像である。パラメータ最適化部6082は、再取得した各カメラの投影画像を、重畳領域抽出部6083へ入力し、出力される重畳領域画像を重畳領域ずれ量評価部6084へ入力し、評価値であるずれ量E1を再取得する。また、パラメータ最適化部6082は、再取得した各カメラの投影画像を投影領域ずれ量評価部6085へ入力し、評価値であるずれ量E2を再取得する。
〈重畳領域抽出部6083〉
図31に示される重畳領域抽出部6083は、投影処理部603から提供される投影画像と合成テーブルとから、合成画像における隣接するカメラ画像同士の重畳領域の画像である重畳領域画像を抽出し、重畳領域ずれ量評価部6084へ出力する。つまり、重畳領域抽出部6083は、隣接するカメラ画像の重畳領域画像をペアとして出力する。重畳領域抽出部6083の機能は、重畳領域抽出部6063の機能と同じである。
〈重畳領域ずれ量評価部6084〉
図31に示される重畳領域ずれ量評価部6084は、重畳領域抽出部6083から提供された隣接するカメラ画像の重畳領域画像のペアに基づいて、ずれ量を計算する。重畳領域ずれ量評価部6084は、ずれ量を、隣接するカメラ画像同士の類似度(例えば、構造類似性など)又は特徴点の差分、などに基づいて算出する。重畳領域ずれ量評価部6084は、例えば、カメラ600_1と600_2の投影画像における重畳領域画像636aと636bを1つのペアとして受け取り、各画像の類似度を求める。投影画像を生成するときのカメラパラメータは、パラメータ最適化部6082から提供されたものである。なお、画像同士の比較処理は、互いに画素が存在する範囲についてのみ行われる。
〈投影領域ずれ量評価部6085〉
図31に示される投影領域ずれ量評価部6085は、パラメータ最適化部6082から提供されるカメラパラメータに対応するカメラ画像受信部609から得られた各カメラ画像の投影画像(投影処理部603によって、投影画像を取得する)と、参照データ読出部605から得られた各カメラの参照データに基づく投影画像とを比較し、参照データに対するずれ量を計算する。参照データに基づく投影画像は、参照データ中のカメラ画像である参照画像とそれに対応するカメラパラメータとを投影処理部603に入力することで、投影処理部603から取得される。投影領域ずれ量評価部6085は、ずれ量を、画像同士の類似度(例えば、構造類似性など)又は特徴点の差分、などに基づいて算出する。なお、画像同士の比較処理は、互いに画素が存在する範囲についてのみ行われる。投影領域ずれ量評価部6085は、投影画像6391と6392とを比較することにより、参照データに対するずれ量を計算する。投影領域ずれ量評価部6085は、例えば、それぞれの画像の類似度を求める。投影領域ずれ量評価部6085の処理は、投影領域ずれ量評価部6065の処理と同じである。
《3−11》効果
以上に説明したように、実施の形態3に係る画像処理装置610、画像処理方法又は画像処理プログラムを用いれば、合成画像を構成するカメラ画像の位置関係を保持しつつ、合成画像におけるカメラ画像のずれを補正することができる。
なお、実施の形態3における各種の処理方法として、実施の形態1で説明した方法を採用してもよい。また、実施の形態3において説明した、ずれ検出及びずれ補正の処理を、他の実施の形態に適用することも可能である。
《4》実施の形態4.
《4−1》画像処理装置710
図40は、実施の形態4に係る画像処理装置710の構成を概略的に示す機能ブロック図である。図40において、図27に示される構成要素と同一又は対応する構成要素には、図27に示される符号と同じ符号が付されている。実施の形態4に係る画像処理装置710は、カメラ画像記録部701及び入力データ選択部702を備えている点において、実施の形態3に係る画像処理装置610と異なる。入力データ選択部702は、カメラ画像に基づいて参照画像と外部パラメータとを含む参照データを選択する参照データ読出部である。
図40に示されるように、画像処理装置710は、カメラ画像受信部609と、カメラパラメータ入力部601と、合成処理部602と、投影処理部603と、表示処理部604と、ずれ検出部606と、移動量推定・パラメータ計算部607と、ずれ補正部608と、カメラ画像記録部701と、入力データ選択部702とを備えている。画像処理装置710のハードウェア構成は、図26に示されるものと同じである。
画像処理装置710は、複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理を行う。カメラ画像記録部701は、複数のカメラ画像と、複数のカメラ画像に対応する複数の外部パラメータとを記憶装置(例えば、図26の外部記憶装置17)に記録する。記憶装置は、画像処理装置710の一部である必要はない。ただし、カメラ画像記録部701は、記憶装置を含んでもよい。入力データ選択部702は、カメラ画像記録部701によって記録された複数のカメラ画像の中から、カメラ画像受信部609によって受信されたカメラ画像と近い状態にある画像を参照画像として選択し、選択された参照画像と参照画像に対応する外部パラメータとを含む参照データを出力する。移動量推定・パラメータ計算部607は、複数のカメラ画像と参照データとに基づいて、複数のカメラの移動量を推定し、複数のカメラに対応する複数の補正後の外部パラメータとを計算する。
《4−2》カメラ画像記録部701
図41は、カメラ画像記録部701によって実行される処理を示すフローチャートである。カメラ画像記録部701は、カメラ画像受信部609から提供されたカメラ画像を、一定時間間隔ごとに記録する(ステップS401)。一定時間間隔は、例えば、数フレームの時間間隔、数秒の間隔、などである。なお、一定時間間隔は、カメラ画像を取得する予め決められた時間間隔の代表例であり、この時間間隔は変化してもよい。また、カメラ画像記録部701は、カメラ画像を記憶装置に記録する際に、記録したタイミングの前後関係が分かるように、カメラ画像に加えて、順序番号又はタイムスタンプなども記録する(ステップS402、S405)。図26を参照して説明すると、メインプロセッサ611は、カメラ画像とカメラ画像の順序がわかる情報をメインメモリ612に保存し、ファイルインタフェース616を通してメインメモリ612から補助メモリ613へ格納する。
また、カメラ画像記録部701は、画像を記録する際に、カメラパラメータ入力部601に設定されているカメラ600_k(k=1,…,n)の外部パラメータも記録する(ステップS403、S405)。また、カメラ画像記録部701は、ずれ検出部606から提供されるカメラ600_kのずれの状態(例えば、ずれが存在しているか否か、ずれ量、ずれの方向、など)も同時に記録する(ステップS404、S405)。カメラ画像記録部701は、マスク画像を記録してもよい。マスク画像は、後述の実施の形態5で説明される。また、カメラ画像記録部701は、カメラ画像と外部パラメータ、カメラ画像の順序がわかる情報などを、1組のデータとして、入力データ選択部702へ提供する。ステップS402〜S406の処理は、カメラ600_1〜600_nの全てについて行われる。
《4−3》入力データ選択部702
図42(A)から(C)は、図40に示される入力データ選択部702によって実行される処理を示す説明図である。図43は、図40に示される入力データ選択部702によって実行される処理を示すフローチャートである。
入力データ選択部702は、ずれが検出されたカメラにおいて、ずれが検出された時点からのカメラ画像記録部701に記憶されている全てのカメラ画像(例えば、図42(A)及び(B)における#7、#8)と、カメラ画像記録部701によって記録された、ずれが補正されている状態の全てのカメラ画像(例えば、図42(A)及び(B)における#1〜#6)との間で、互いに近い状態にある画像のペア(例えば、図42(A)及び(B)における#3と#8)を選択する(図43におけるステップS411〜S415)。互いに近い状態にある画像のペアは、例えば、撮影時刻が互いに近い画像のペア、人物が存在しない画像のペア、日照条件が互いに近い画像のペア、輝度値が互いに近い画像のペア、類似度が互いに近い画像のペア、などである。
その後、入力データ選択部702は、移動量推定・パラメータ計算部607とずれ補正部608に対して、ずれが検出された時点からのカメラ画像記録部701に記憶されている全てのカメラ画像の中で選択されたカメラ画像と、カメラ画像記録部701に記録されているずれが補正されている状態の全てのカメラ画像の中で選択された画像を出力する(図43におけるステップS418)。加えて、入力データ選択部702は、移動量推定・パラメータ計算部607とずれ補正部608には、カメラ画像記録部701に記録されているずれが補正されている状態の全てのカメラ画像の中で選択された画像に対応するカメラパラメータである外部パラメータを出力する。
また、入力データ選択部702は、カメラ画像受信部609から得られた現在のカメラ画像の全て又は、カメラ画像記録部701に記憶されているカメラ画像(現時点から、過去数フレーム以内のもの)に近い状態にある画像が存在しない場合は、新たにカメラ画像記録部701にずれ発生後のカメラ画像が記録されるまで待機し、前記の記録されたカメラ画像を含めて、上記の比較処理を再度実施する(図43におけるステップS415〜S417、図42(C))。又は、入力データ選択部702は、直接カメラ画像受信部609から得られた現在のカメラ画像に近い状態にある画像が得られるまでで待機してもよい。
図44(A)から(C)は、図40に示される入力データ選択部702によって実行される処理を示す説明図である。図44(A)は、カメラ画像記録部701によって記録されているカメラA(例えば、カメラ600_1)の画像#1〜#8を示している。カメラAは、ずれが発生している状態にある。図44(B)は、カメラ画像記録部701によって記録されているカメラB(例えば、カメラ600_2)の画像001〜008を示している。カメラBは、ずれが発生していない(すなわち、ずれ補正されている)状態にある。図44(C)は、ずれが発生していないカメラBについての、カメラ画像の選択方法を示している。
入力データ選択部702は、ずれが発生していないカメラについては、ずれが発生していない状況におけるカメラ画像を選択し(例えば、図44(C)における001、002、004、007、008)、それに対応する外部パラメータ(例えば、図44(C)における007)を出力する。具体的には、入力データ選択部702は、カメラ画像記録部701に記録されているカメラ画像と外部パラメータのペアの中で、補正されている状態のものを選択し、ずれ補正部608へ出力する。また、入力データ選択部702は、ずれが発生していないカメラの選択においても、ずれが発生しているカメラ画像(例えば、図44(C)における#8)と近い状態にある画像(例えば、図44(C)における007)を選択し出力してもよい。近い状態にある画像は、例えば、撮影時刻が近いもの、人物が存在しないもの、日照条件が近いもの、輝度値が近いもの、類似度が近いもの、などである。具体的には、近い状態にある画像は、撮影時刻の差が予め決められた時間内であるもの、人物が存在しないもの(又は、人物の数の差が予め決められた値以内であるもの)、1日当たりの日照時間の差が予め決められた時間内であるもの、輝度値の差が予め決められた値以内であるもの、類似度の差が予め決められた値以内のもの、などである。言い換えれば、近い状態にある画像は、撮影した時刻の差(例えば、季節の差、年月日の差、時刻(時:分:秒)の差)が予め決められた範囲内である状態、移動体が存在しない状態、人物の数の差が予め決められた値以内である状態、1日当たりの日照時間の差が予め決められた時間以内である状態、及び輝度の差、分布及びコントラストのいずれかを含む画像の類似性を評価するときにおける指標が予め決められた範囲内である状態、のうちの1つ以上に基づいて、もしくは画像を分類する学習モデルから得られる分類結果から判断される。
《4−4》移動量推定・パラメータ計算部607
移動量推定・パラメータ計算部607は、ずれ検出部606によって位置姿勢のずれが存在していると判断されたカメラにおいて、入力データ選択部702から提供されるカメラ画像と参照データ(すなわち、参照画像及び外部パラメータ)を入力とし、これらに基づいて外部パラメータを計算する。この点以外に関して、移動量推定・パラメータ計算部607は、実施の形態3のものと同じである。
《4−5》ずれ補正部608
ずれ補正部608は、ずれ検出部606によって位置姿勢のずれが存在していると判断されたカメラにおいては、入力データ選択部702から提供されるカメラ画像(すなわち、ずれている状態のカメラで撮影された画像)と、参照画像及び外部パラメータとを受け取る。ずれ補正部608は、ずれ検出部606によって位置姿勢のずれが存在していると判断されていないカメラにおいては、入力データ選択部702から提供されるカメラ画像と、それに対応する外部パラメータとを受け取る。実施の形態3では、位置姿勢のずれが存在していないカメラの外部パラメータとして、カメラパラメータ入力部601から提供された値が使用される。しかし、実施の形態4では、位置姿勢のずれが存在していないカメラの外部パラメータとして、入力データ選択部702によって選択された画像に対応する外部パラメータが使用される。ただし、実施の形態4では、実施の形態3と同様に、最適化処理において、位置姿勢のずれが存在していないカメラの外部パラメータは、更新されない。これらの点以外に関して、実施の形態4におけるずれ補正部608は、実施の形態3のものと同じである。
《4−6》効果
以上に説明したように、実施の形態4に係る画像処理装置710、画像処理方法又は画像処理プログラムを用いれば、近い状態にある画像に基づいてずれ補正処理又は移動量推定処理が実行されるので、移動量の推定精度又はずれ量の評価値の計算精度を高めることができる。また、補正処理のロバスト性を高めることができ、補正が実行できる条件を広くすることができる。
上記以外に関し、実施の形態4は、実施の形態3と同じである。また、実施の形態4において説明した、ずれ補正処理及び移動量図推定処理を、他の実施の形態に適用することも可能である。
《5》実施の形態5.
《5−1》画像処理装置810
図45は、実施の形態5に係る画像処理装置810の構成を概略的に示す機能ブロック図である。図45において、図40に示される構成要素と同一又は対応する構成要素には、図40に示される符号と同じ符号が付されている。実施の形態5に係る画像処理装置810は、マスク画像生成部703をさらに備えている点において、実施の形態4に係る画像処理装置710と異なる。
図45に示されるように、実施の形態5に係る画像処理装置810は、カメラ画像受信部609と、カメラパラメータ入力部601と、合成処理部602と、投影処理部603と、表示処理部604と、ずれ検出部606と、移動量推定・パラメータ計算部607と、ずれ補正部608aと、カメラ画像記録部701と、入力データ選択部702と、マスク画像生成部703とを備えている。実施の形態5に係る画像処理装置810は、投影処理部603、カメラ画像記録部701、入力データ選択部702、移動量推定・パラメータ計算部607、及びずれ補正部608aの機能において、実施の形態4に係る画像処理装置710と異なる。マスク画像生成部703は、複数のカメラの移動量の推定及び複数の補正後の外部パラメータの計算に用いないマスク領域を指定するマスク画像を生成する。移動量推定・パラメータ計算部607は、複数の参照画像からマスク領域を除く領域と、複数のカメラによって撮影された複数のカメラ画像からマスク領域を除く領域とに基づいて、複数のカメラの移動量を推定し、複数の補正後の外部パラメータを計算する。
画像処理装置810のハードウェア構成は、図26に示されるものと同じである。以下に、実施の形態5に係る画像処理装置810を、実施の形態4に係る画像処理装置710と異なる点を中心に説明する。
《5−2》投影処理部603
図45に示される投影処理部603は、入力されたカメラ画像に、マスクされている領域がある場合に、マスクされている領域を含むカメラ画像を投影し、マスク領域を含む投影画像を出力する。この点以外に関し、図45に示される投影処理部603は、図40に示されるものと同じである。
《5−3》カメラ画像記録部701
図46は、図45に示されるカメラ画像記録部701によって実行される処理を示すフローチャートである。図46において、図41に示される処理ステップと同じ処理ステップには、図41に示される符号と同じ符号が付されている。カメラ画像記録部701は、カメラ画像受信部609から提供されたカメラ画像を、一定時間間隔ごとに記録する(ステップS401)。一定時間間隔は、例えば、数フレームの時間間隔、数秒の間隔、などである。カメラ画像記録部701は、カメラ画像を記録する際に、記録したタイミングの前後関係が分かるように、順序番号又はタイムスタンプなども記録する。図26を参照して説明すると、メインプロセッサ611は、メインメモリ612に記録されている情報を、ファイルインタフェース616を通して、補助メモリ613へ格納する。
カメラ画像記録部701は、画像を記録する際に、カメラパラメータ入力部601に設定されているカメラの外部パラメータも記録(すなわち、記憶)する(ステップS402、S403、S405)。また、カメラ画像記録部701は、画像を記録する際に、ずれ検出部606から提供されたカメラのずれの状態も記録する(ステップS402、S404、S405)。
また、カメラ画像記録部701は、マスク画像生成部703に対して、各カメラの画像とカメラパラメータ入力部601に設定されている外部パラメータを入力し、各カメラのマスク画像を取得する(ステップS501)。カメラ画像記録部701は、カメラ画像を記録する際に、マスク画像生成部703から提供されるマスク画像をカメラ画像に関連付けて記録する(ステップS405)。
また、カメラ画像記録部701は、記録する内容(カメラ画像と外部パラメータ、マスク画像、順序番号又はタイムスタンプなど)を、1組のデータとして、入力データ選択部702へ出力する。記録する内容は、例えば、カメラ画像、外部パラメータ、マスク画像、及び順序番号又はタイムスタンプ、などである。カメラ画像記録部701は、ステップS402〜S404、S501、S405の処理を、全てのカメラについて繰り返す(ステップS406)。
《5−4》マスク画像生成部703
図47は、図45に示されるマスク画像生成部703の構成を概略的に示す機能ブロック図である。図47に示されるように、マスク画像生成部703は、差分用カメラ画像記録部7031と、差分マスク画像出力部7032と、初回マスク画像出力部7033と、重畳領域抽出部7034と、重畳領域マスク画像出力部7035と、マスク画像統合処理部7036とを有している。
図48は、マスク画像生成部703によって実行される処理を示すフローチャートである。図49(A)から(E)、図50(A)から(E)、図51(A)から(D)、図52(A)から(C)、及び図53(A)から(C)は、マスク画像生成部703によって実行される処理を示す説明図である。図49(A)から(E)は、図48のステップS511、S512に対応する処理を示している。図50(A)から(E)は、図48のステップS513、S514に対応する処理を示している。また、図51(A)から(D)、図52(A)から(C)及び図53(A)から(C)は、図48のステップS515、S516、及びS517に対応する処理をそれぞれ示している。マスク画像生成部703は、以下に示される3種類のマスクを生成し、カメラ画像に再投影するときに使用されるマスクを生成する。
〈初回マスク画像出力部7033〉
図47に示される初回マスク画像出力部7033は、カメラ画像において予め除外する領域を示すマスク画像情報を補助メモリ613(図26)に記憶しており、このマスク画像情報をマスク画像統合処理部7036へ提供する(図48のステップS511、図49(A)から(C))。初回マスク画像出力部7033は、例えば、合成画像として出力するときに、使用しないカメラ画像の領域(例えば、監視範囲以外の部分など)又は、構造物などのように位置が変化しない物体(又は、頻繁には位置が変形しない物体)などを除外するためにマスク画像情報を提供する。初回マスク画像出力部7033は、出力するマスク画像を、カメラ画像上へ再投影したときのマスク画像で正規化する。初回マスク画像出力部7033は、投影したときの画像をマスクするマスク画像を出力してもよい。初回マスク画像出力部7033は、マスクを他のマスクと統合するときに、カメラ画像座標系で正規化することで、1枚のマスク画像に統合することができる。したがって、初回マスク画像出力部7033は、例えば、投影画像上でマスク範囲を設定した場合には、カメラ画像記録部701から得られた外部パラメータを用いて、カメラ画像座標系へ再投影し、カメラ画像上におけるマスク領域に変換する(図49(D))。補助メモリ613(図26)上には、投影画像としてのマスク画像又は、カメラ画像上でのマスク画像が記憶される。投影画像上でマスク範囲を設定した場合には、カメラ画像座標上にマスク画像を変換し、出力する(図49(E))。
〈重畳領域マスク画像出力部7035〉
図47に示される重畳領域マスク画像出力部7035は、カメラ画像記録部701から提供されたカメラ画像を投影し(図50(A)及び(B))、重畳領域抽出部7034において重畳領域を抽出したときに、画素値がずれている部分のマスクを生成し、出力する(図48のステップS512、S513、図50(B)及び(C))。出力するマスク画像は、初回マスクと同様に、カメラ画像上へ再投影したときのマスク画像で正規化する(図50(D))。重畳領域マスク画像出力部7035は、カメラ画像記録部701から得られた外部パラメータを用いて、カメラ画像座標系へ再投影する(図48のステップS514、図50(E))。
〈差分マスク画像出力部7032〉
図47に示される差分マスク画像出力部7032は、過去に記録したカメラ画像に基づいて、物体の有無を検出し(図51(A)及び(B))、物体が存在する場所のマスクを生成する(図51(C))。初回マスクは、構造物など頻繁に位置が変わらない物体などを除くことを目的としており、差分マスクは、頻繁に位置が変わる物体(例えば、駐車している車など)を除外することを目的としている。
図47に示される差分マスク画像出力部7032は、カメラ画像記録部701から得られたカメラ画像を差分用カメラ画像記録部7031に記録する(図48のステップS515)。マスク画像を生成するときは、差分マスク画像出力部7032は、差分用カメラ画像記録部7031に記憶されたカメラ画像を少なくとも1枚読み込み(図51(A)及び(B))、差分画像を生成し、その領域をマスクするマスク画像を生成し(図51(C))、マスク画像統合処理部7036へ出力する(図48のステップS516)。
差分マスク画像出力部7032は、受け取ったカメラ画像の差分を算出してもよいが、1度投影画像に変換し、投影画像上での差分を算出してもよい。この場合は、差分マスク画像出力部7032は、入力されたカメラ画像とカメラパラメータとに基づいて、投影処理部603において入力画像を投影画像に変換し、その投影画像上で差分を取り(図52(A))、マスク画像を生成した後(図52(B))、そのマスク画像をカメラ座標系へ再投影する(図52(C))。つまり、差分マスク画像出力部7032は、外部パラメータを用いて、再投影する。また、差分マスク画像出力部7032は、上記の差分を用いずに、物体検出アルゴリズムを用いて、直接カメラ画像から物体が存在する領域を抽出し、それをマスク画像として出力してもよい。
〈マスク画像統合処理部7036〉
図47に示されるマスク画像統合処理部7036が生成する統合マスクは、各カメラにおける初回マスクと重畳領域マスク、差分マスクを1つのマスクとして統合したものである。統合マスクは、全てのマスクを統合したものである必要はなく、いくつかの選択されたマスクを統合したものであってもよい。また、マスク画像統合処理部7036は、マスクを行わない処理を選択してもよい。マスク画像統合処理部7036は、初回マスク画像出力部7033と重畳領域マスク画像出力部7035、差分マスク画像出力部7032から提供されたマスク画像をOR(すなわち、OR条件)で統合し(図53(A))、1枚のマスク画像として出力する(図48のステップS517。図53(B)及び(C))。
《5−5》入力データ選択部702
図45に示される入力データ選択部702は、以下の機能(U1)及び(U2)を有している。
(U1)入力データ選択部702は、位置姿勢のずれが存在しているカメラにおいて、選択された画像(ずれている状態)と参照画像及び外部パラメータを移動量推定・パラメータ計算部607とずれ補正部608aに出力する際に、参照画像及び外部パラメータに対応付けられたマスク画像も出力する。
(U2)入力データ選択部702は、近い状態にある画像を選択する際に、参照画像及び外部パラメータに対応付けられたマスク画像を適用して近い状態にある画像を見つけ出す。つまり、この処理は、近い状態の画像を求めるときに、注目する画像の範囲を限定する処理である。
これらの点以外に関し、図45に示される入力データ選択部702は、実施の形態4におけるものと同じである。
《5−6》移動量推定・パラメータ計算部607
図54は、図45に示される移動量推定・パラメータ計算部607によって実行される処理を示すフローチャートである。図54において、図38に示される処理ステップと同じ処理ステップには、図38に示される符号と同じ符号が付されている。図55(A)から(C)は、移動量推定・パラメータ計算部607によって実行される処理を示す説明図である。
移動量推定・パラメータ計算部607は、ずれ検出部606によって位置姿勢のずれが存在していると判断されたカメラにおいて、入力データ選択部702から提供されるカメラ画像と参照画像及び外部パラメータとマスク画像を受け取る(図54におけるステップS521、図55(A)及び(B))。移動量推定・パラメータ計算部607は、特徴点マッチングをする際に、マスク画像によってマスクされている部分における特徴点は、マッチングさせないようにする(図54におけるステップS522〜S524、図55(C))。つまり、移動量推定・パラメータ計算部607は、特徴点マッチングさせる範囲を限定させる。この点以外に関し、移動量推定・パラメータ計算部607の処理は、実施の形態4におけるものと同じである。
《5−7》ずれ補正部608a
図56は、図45に示されるずれ補正部608aの構成を概略的に示す機能ブロック図である。図56において、図31に示される構成要素と同一又は対応する構成要素には、図31に示されている符号と同じ符号が付されている。図57は、ずれ補正のための処理を示すフローチャートである。図57において、図39に示される処理ステップと同じ又は対応する処理ステップには、図39に示される符号と同じ符号が付されている。
図45及び図56に示されるずれ補正部608aは、ずれ検出部606によって位置姿勢のずれが存在していると判断されたカメラにおいては、入力データ選択部702から提供されるカメラ画像(すなわち、ずれている状態のカメラで撮影されたカメラ画像)と、参照画像及び外部パラメータと、マスク画像とを受け取る(ステップS571、S351、S572、S352〜S355、S573)。ずれ補正部608aは、ずれ検出部606によって位置姿勢のずれが存在していると判断されていないカメラにおいては、入力データ選択部702から提供されるカメラ画像とそれに対応する外部パラメータとマスク画像を受け取る。これは、重畳領域の比較の際に使用される。
投影領域ずれ量評価部6085と重畳領域ずれ量評価部6084は、入力された画像(すなわち、投影画像及び重畳領域画像)にマスク領域が存在する場合は、その部分を比較処理の対象から除外する。投影処理部603から提供される投影画像にマスク領域が存在する場合は、重畳領域抽出部6083は、マスク領域を保持した状態で重畳領域を抽出し、重畳領域ずれ量評価部6084へ出力する。
〈マスク適用部6086〉
マスク適用部6086は、以下の処理(V1)及び(V2)を行う。
(V1)マスク適用部6086は、選択された参照データ(すなわち、参照画像及び外部パラメータ)と参照データに対応するマスク画像を入力として、参照画像のマスク処理をし、投影処理部603にマスク済みの参照画像とそれに対応する外部パラメータを出力する。
(V2)マスク適用部6086は、選択された参照画像上において、マスク領域中に物体がある場合は、それを検出する。その後、検出された物体が、入力されたカメラ画像(ずれている状態のカメラ画像)上に存在する場合は、それをマスクした状態の画像を出力する。
上記以外に関して、ずれ補正部608aは、実施の形態4におけるずれ補正部608と同じである。
《5−8》効果
以上に説明したように、実施の形態5に係る画像処理装置810、画像処理方法又は画像処理プログラムを用いれば、ずれ補正処理に用いられる画像から、移動量の推定又はずれ量の評価値の計算に悪影響を与える画像部分が除外されているので、移動量の推定精度又はずれ量の評価値の計算精度を高めることができる。
上記以外に関し、実施の形態5は、実施の形態3又は4と同じである。また、実施の形態5において説明したマスク画像の生成及び使用のための処理を、他の実施の形態に適用することも可能である。
《6》実施の形態6.
《6−1》画像処理装置910
図58は、実施の形態6に係る画像処理装置910の構成を概略的に示す機能ブロック図である。図58において、図27に示される構成要素と同一又は対応する構成要素には、図27に示される符号と同じ符号が付されている。実施の形態6に係る画像処理装置910は、入力画像変換部911と、学習モデル・パラメータ読込部912と、再学習部913と、カメラ画像記録部914とを備えている点において、実施の形態3に係る画像処理装置610と異なる。
図58に示されるように、実施の形態6に係る画像処理装置910は、カメラ画像受信部609と、カメラパラメータ入力部601と、合成処理部602と、投影処理部603と、表示処理部604と、参照データ読出部605と、移動量推定・パラメータ計算部607と、ずれ補正部608と、カメラ画像記録部914と、入力画像変換部911と、学習モデル・パラメータ読込部912と、再学習部913とを備えている。画像処理装置910のハードウェア構成は、図26に示されるものと同じである。
入力画像変換部911は、複数のカメラ画像が撮影された状態に基づいて複数のカメラ画像の各々を複数のドメインのいずれかに分類し、複数の参照画像が撮影された状態に基づいて複数の参照画像の各々を複数のドメインのいずれかに分類し、複数のカメラ画像のうちの比較対象のカメラ画像のドメインと複数の参照画像のうちの比較対象の参照画像のドメインとが近い状態になるようにする変換処理を、比較対象のカメラ画像及び比較対象の参照画像の少なくとも一方に行う。また、入力画像変換部911は、複数のカメラ画像間においても、カメラ画像間のドメインが近い状態になるようにする変換処理を実施する。移動量推定・パラメータ計算部607は、入力画像変換部911から出力された比較対象のカメラ画像と比較対象の参照画像とに基づいて、複数のカメラの移動量を推定し、複数のカメラに対応する複数の補正後の外部パラメータを計算する。変換処理は、比較対象のカメラ画像のドメインと比較対象の参照画像のドメインとを一致させる処理、又は、ドメイン間の距離を短縮する処理である。
また、再学習部913は、複数のカメラ画像に基づいて、複数のカメラ画像の各々を複数のドメインのいずれに分類するか及び参照画像を複数のドメインのいずれに分類するかを示す学習モデルを生成及び更新する。入力画像変換部911は、学習モデルに基づいて、複数のカメラ画像の各々の分類、複数の参照画像の各々の分類、及び前記変換処理を行う。また、再学習部913は、カメラ画像記録部914によって記録された複数のカメラ画像に基づいて学習モデルを生成及び更新する。
図59は、図58に示される入力画像変換部911の構成を概略的に示す機能ブロック図である。図59に示されるように、入力画像変換部911は、画像変換先決定部9111と、画像変換用学習モデル・パラメータ入力部9112と、参照画像変換処理部9113と、入力カメラ画像変換処理部9114とを有している。
《6−2》参照データ読出部605
図58に示される参照データ読出部605は、参照データである参照画像を入力画像変換部911へ提供する。また、参照データ読出部605は、参照データである外部パラメータを移動量推定・パラメータ計算部607へ提供する。これらの点以外に関し、図58に示される参照データ読出部605は、実施の形態3において説明したものと同じである。
《6−3》ずれ検出部606
図58に示されるずれ検出部606は、入力画像変換部911にずれが発生したことを伝える。図58に示されるずれ検出部606は、実施の形態3において説明したものと同じである。なお、ずれ検出部606は、ずれ検出する際、カメラ画像受信部からのカメラ画像ではなく、入力画像変換部911から出力された比較対象のカメラ画像と比較対象の参照画像とを入力して、ずれの検出を実施してもよい。
《6−4》移動量推定・パラメータ計算部607
図58に示される移動量推定・パラメータ計算部607は、入力画像変換部911から提供された変換された(又は、変換されない)参照画像と、カメラ画像受信部609から提供された変換された(又は、変換されない)カメラ画像と、参照データ読出部605から提供された外部パラメータとに基づいて、移動量を推定し、外部パラメータを計算する。この点以外に関し、図58に示される移動量推定・パラメータ計算部607は、実施の形態3において説明したものと同じである。
《6−5》ずれ補正部608
図58に示されるずれ補正部608は、入力画像変換部911から提供された変換された(又は、変換されない)参照データの参照画像と、カメラ画像受信部609から提供された変換された(又は、変換されない)カメラ画像と、移動量推定・パラメータ計算部607から提供された外部パラメータ及び相対移動量とに基づいて、ずれ量を補正する。
また、ずれ補正部608は、入力画像変換部911を用いて、カメラ画像どうしの変換を実施し、その結果得られた変換画像を用いてずれ量を算出する。ずれ補正部608では、実施の形態3と同様に、投影領域ずれ量評価部と重畳領域ずれ量評価部によって評価される値(すなわち、評価値)によって、カメラパラメータの最適化処理を実施する。前者の評価値をE1、後者の評価値をE2とする。
E1を算出する場合は、入力画像変換部911は、1つのカメラにおける参照画像と現在のカメラ画像との比較が実施されるため、参照画像をカメラ画像受信部609から提供されるカメラ画像が属するドメインへ変換、もしくはカメラ画像受信部609から提供されるカメラ画像を参照画像が属するドメインへ変換する。投影領域ずれ量評価部は、前記画像を用いてずれ量の計算を実施する(すなわち、実施の形態3と同様に、画像を俯瞰変換しずれ量を評価する)。
E2を算出する場合は、入力画像変換部911は、補正対象カメラの画像、もしくは隣接する補正済みカメラ(すなわち、ずれていない状態のカメラ)の画像、もしくはその両方を適切なドメインに変換する。重畳領域ずれ量評価部は、前記変換後の画像を用いてずれ量の計算を実施する(すなわち、実施の形態3と同様に、画像を俯瞰変換し、重畳領域を抽出し、抽出された重畳領域画像からずれ量を算出する)。
異なるカメラ間でのドメイン変換先を決める(すなわち、上記E2のための変換)方法は、以下の(Y1)〜(Y3)の通りである。
(Y1) 異なるカメラのすべてのドメイン間での距離を求めておく。
(Y2) 補正対象カメラ及びその隣接カメラの画像を各カメラ内でのドメインに分類し、異なるカメラのドメイン間の距離を取得する。
(Y3) 上記(Y1)及び(Y2)で求められた距離に基づいて、画像間の距離が小さくなるようなドメインが存在する場合には、補正対象カメラ及びその隣接カメラの画像のドメインを該当するドメインに変換する。
また、隣接するカメラが複数存在する場合は、ドメイン変換は、それぞれの画像に最適なものを選べばよい。つまり、隣接するカメラごとに、異なるドメイン変換が行われる。例えば、補正対象カメラとその隣接カメラのドメイン間の距離の比較(すなわち、上記(Y1))では、「夏かつ昼」のドメインに変換して重畳領域の画像類似度を算出する。補正対象カメラと隣接カメラのドメイン間の距離の比較(すなわち、上記(Y2))では、「秋かつ昼」のドメインに変換して重畳領域の画像類似度を算出する。この点以外に関し、図58に示されるずれ補正部608は、実施の形態3において説明したものと同じである。
《6−6》カメラ画像記録部914
図58に示されるカメラ画像記録部914は、カメラ画像受信部609から提供されたカメラ画像を、一定時間間隔ごとに記憶装置(例えば、図26の外部記憶装置17)に記録する。ここで、一定時間間隔は、予め決められた数のフレームの間隔(例えば、数フレームの間隔)、予め決められた時間間隔(例えば、数秒の間隔)、などである。カメラ画像記録部914は、カメラ画像受信部609から提供されたカメラ画像を記録する際に、カメラ画像を記録したタイミングの前後関係が分かるように、カメラ画像の順序番号又はタイムスタンプなどの情報をカメラ画像に関連付けて記録する。カメラ画像記録部914によって行われる処理を図26を用いて説明すると、メインプロセッサ611は、カメラ画像を、ファイルインタフェース616を通して、メインメモリ612から補助メモリ613へ格納する。
《6−7》入力画像変換部911
図60は、図58及び図59に示される入力画像変換部911によって実行される処理を示すフローチャートである。図61は、図58及び図59に示される入力画像変換部911によって実行される処理を示す説明図である。
入力画像変換部911は、参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像との少なくとも一方を、これらが互いに近い状態になるように変換するための変換処理を行い、変換処理後の参照画像及び変換処理後のカメラ画像を移動量推定・パラメータ計算部607に提供する。「参照画像とカメラ画像とが互いに近い状態」とは、例えば、日照状況が互いに近い状態、季節が互いに近い状態、人物の有無が互いに近い状態、などのうちの1つ以上を含む。例えば、入力画像変換部911は、参照データ読出部605から提供された参照画像が昼の画像であり、カメラ画像受信部609から提供されたカメラ画像が夜の画像である場合、カメラ画像受信部609から提供されたカメラ画像を昼の状態のカメラ画像に変換する。入力画像変換部911は、カメラAによって撮影された現在のカメラ画像が夏に撮影されたカメラ画像(例えば、図61における左下部分の夏のドメインのカメラ画像)であり、参照画像が冬に撮影されたカメラ画像(例えば、図61における右上部分の冬のドメインのカメラ画像)である場合に、参照画像のドメインが冬から夏に変化するように参照画像を変換して、変換された参照画像(例えば、図61における右下部分の夏のドメインの参照画像)を生成する。このように、参照画像とカメラ画像とが互いに近い状態になるように変換処理を行い、参照画像と変換処理後のカメラ画像とを比較することで、参照画像とカメラ画像とを互いに近い(望ましくは、同じ)条件下で比較することができる。
〈画像変換先決定部9111〉
図59に示される画像変換先決定部9111は、参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像と予め準備されたドメイン分類用データとに基づいて、それぞれの画像の変換処理の方法を決定し、画像変換用学習モデル・パラメータ入力部9112へ変換処理の方法を通知する(図60におけるステップS601〜S603)。画像変換先決定部9111は、参照画像又はカメラ画像の変換処理に際し、例えば、夜の画像を昼の画像に変換する、春の画像を冬に変換する、雨の日の画像を晴れの日の画像に変換する、など、参照画像及びカメラ画像の各々が属するドメインの変換を実行する(図60におけるステップS604〜S606)。変換処理の方法は、例えば、ドメインD1からドメインD2へ変換する際に用いられる学習モデルとカメラパラメータ、などである。また、画像変換先決定部9111によって行われる変換処理は、参照画像及びカメラ画像の少なくとも一方を変更せずに、そのまま出力する処理を含む。なお、参照画像及びカメラ画像に変換処理を施した後に参照画像又はカメラ画像が属するドメインを、「変換処理後のドメイン」又は「変換先」とも言う。
変換先を決める上で、参照データ読出部605から提供された参照データの参照画像とカメラ画像受信部609から提供されたカメラ画像が、どのドメインに属するのかを判定する必要があるため、画像変換先決定部9111は、どのドメインに属するかの判定も行う。画像変換先決定部9111は、予めラベル付けされた画像、すなわち、各ドメインに属する基準画像を用意し、基準画像との類似度(すなわち、各ドメインに属する画像との距離)に基づいてドメインを判定する。ドメインの判定には、t−SNE(T−distributed Stochastic Neighbor Embedding)などの機械学習アルゴリズムを使用することができる。例えば、画像変換先決定部9111は、画像を早朝、昼、夕方、夜の4つのドメインに分類する場合、早朝、昼、夕方、夜に撮影した基準画像を予め用意し、それぞれのドメインに属する基準画像と、参照データ読出部605から提供された参照画像又はカメラ画像受信部609から提供されたカメラ画像との間の類似度を求めることで、参照画像又はカメラ画像が属するドメインを判定する。なお、画像変換先決定部9111は、上記のように、参照画像又はカメラ画像と基準画像との類似度を直接求める例を説明したが、各画像を畳み込みしたもの(すなわち、中間データ)と基準画像を畳み込みしたもの(すなわち、中間基準データ)との間の類似度に基づいてドメインを判定してもよい。
変換先の決定方法としては、例えば、以下の(Z1)〜(Z3)がある。
(Z1)第1の決定方法は、参照データ読出部605から提供された参照画像をカメラ画像受信部609から提供されたカメラ画像が属するドメインに変換する方法である。画像変換先決定部9111は、例えば、参照画像が夜の画像であり、カメラ画像受信部609から提供されたカメラ画像が昼の画像であるとき、参照画像が属するドメインが夜のドメインから昼のドメインに変わるように、参照画像に変換処理を施す。
(Z2)第2の決定方法は、カメラ画像受信部609から提供されたカメラ画像を参照データ読出部605から提供された参照画像のドメインに変換する方法である。画像変換先決定部9111は、例えば、カメラ画像受信部609から提供されたカメラ画像が夜の画像であり、参照画像が昼の画像であるときに、カメラ画像受信部609から提供されたカメラ画像が属するドメインが夜のドメインから昼のドメインに変わるように、カメラ画像に変換処理を施す。
(Z3)第3の決定方法は、参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像を、新たなドメインに変換する方法である。
画像変換先決定部9111は、例えば、カメラ画像受信部609から提供されたカメラ画像が早朝の画像であり、参照画像が夕方の画像であるときに、カメラ画像受信部609から提供されたカメラ画像を早朝の画像から昼の画像に変換し(すなわち、早朝のドメインから昼のドメインに変換し)、参照画像を夕方の画像から昼の画像に変換する(すなわち、夕方のドメインから昼のドメインに変換する)。
上記のドメイン変換の方法の決定方法としては、参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像との類似度(例えば、距離)と各ドメインに属する画像との距離とから決定する。
〈(Z1)〜(Z3)の変換の例〉
図62は、図58及び図59に示される入力画像変換部911によって実行される処理を示す説明図である。図62において、「参照画像A0」はドメインD1に属し、「カメラ画像A1」はドメインD2に属し、ドメインD1とドメインD2との間の距離L2は、他のドメイン間の距離L3〜L7のいずれよりも短い。つまり、ドメインD1とドメインD2の関係は、他のドメイン間の関係よりも近い。この場合、入力画像変換部911は、参照画像A0が属するドメインを、ドメインD1からドメインD2へ変換するための処理を参照画像A0に対して行う。或いは、入力画像変換部911は、カメラ画像A1が属するドメインを、ドメインD2からドメインD1へ変換するための処理をカメラ画像A1に対して行う。
〈(Z3)の変換の例〉
図62において、「参照画像B0」はドメインD1に属し、「カメラ画像B1」はドメインD4に属し、ドメインD1とドメインD4との間の距離L6は、ドメインD1とドメインD2との間の距離L2及びドメインD4とドメインD2との間の距離L3より短い。この場合、入力画像変換部911は、参照画像B0が属するドメインを、ドメインD1からドメインD2へ変換するための処理を参照画像B0に対して行い、カメラ画像B1が属するドメインを、ドメインD4からドメインD2へ変換するための処理をカメラ画像B1に対して行う。これにより、参照画像B0及びカメラ画像B1に対する過大な変更を回避できるので、変換処理において、参照画像B0又はカメラ画像B1に間違った情報が入ることを防ぐことができる。
また、入力画像変換部911は、画像の類似度(距離)に加えて、各ドメインに補正に使用するデータとしての信頼度を追加し、類似度と信頼度の両方に基づいて変換先を決定してもよい。例えば、夜の画像よりも、昼間の画像のほうが補正の精度が向上するため、夜のドメインよりも昼のドメインの信頼度を大きくすることで、補正精度が向上するように変換先を動的に決定する。
また、入力画像変換部911は、画像が属するドメイン間の距離の代りに、画像同士の直接的な距離に基づいて、参照画像とカメラ画像との類似度を判断してもよい。
〈ドメイン分類用学習モデル・パラメータ入力部9115〉
図59に示されるドメイン分類用学習モデル・パラメータ入力部9115は、画像変換先決定部9111が参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像とが、どのドメインに属するかを判定するための学習モデル及びパラメータを画像変換先決定部9111へ出力する。対応する学習モデル及びカメラパラメータは、学習モデル・パラメータ読込部912から取得される。
〈画像変換用学習モデル・パラメータ入力部9112〉
図59に示される画像変換用学習モデル・パラメータ入力部9112は、画像変換先決定部9111から提供された画像の変換処理の方法に基づいて、その変換を実現する際に使用される学習モデル及びカメラパラメータを読み込む。画像変換先決定部9111は、参照データ読出部605から提供された参照画像とカメラ画像受信部609から提供されたカメラ画像のそれぞれの変換処理の方法に基づいて、対応する学習モデル及びカメラパラメータを学習モデル・パラメータ読込部912から取得し、参照画像変換処理部9113と入力カメラ画像変換処理部9114へ出力する(図60におけるステップS605)。また、画像変換用学習モデル・パラメータ入力部9112は、画像変換先決定部9111から画像を変換しないという出力があった場合は、画像の変換をしない指示を参照画像変換処理部9113と入力カメラ画像変換処理部9114へ出力する。
〈参照画像変換処理部9113〉
図59に示される参照画像変換処理部9113は、参照データ読出部605から提供された参照画像を、画像変換用学習モデル・パラメータ入力部9112から入力された学習モデル及びカメラパラメータに基づいて変換し、変換後の参照画像を新たな参照画像として移動量推定・パラメータ計算部607とずれ補正部608へ出力する。参照画像変換処理部9113は、変換を必要としない場合は、変換をせずに参照データ読出部605から提供された参照画像を出力する。
〈入力カメラ画像変換処理部9114〉
図59に示される入力カメラ画像変換処理部9114は、カメラ画像受信部609から提供されたカメラ画像を、画像変換用学習モデル・パラメータ入力部9112から入力された学習モデル及びカメラパラメータに基づいて変換し、新たなカメラ画像として移動量推定・パラメータ計算部607とずれ補正部608へ出力する。変換を必要としない場合は、変換をせずにカメラ画像受信部609から提供されたカメラ画像を出力する。
《6−8》学習モデル・パラメータ読込部912
図58に示される学習モデル・パラメータ読込部912は、画像分類(すなわち、ドメインの分類)と画像変換に用いられる学習モデル及びカメラパラメータを入力画像変換部911へ提供する。図26を参照して説明すると、メインプロセッサ611は、補助メモリ613に記憶されている学習モデル及びカメラパラメータを、ファイルインタフェース616を通してメインメモリ612へ読み込む。
《6−9》再学習部913
図58に示される再学習部913は、画像分類(すなわち、ドメインの分類)と画像変換に用いられる学習モデル及びカメラパラメータを、カメラ画像記録部914に記録されているカメラ画像に基づいて再学習する機能を持つ。
《6−10》実施の形態6の変形例
図63は、実施の形態6の変形例に係る画像処理装置の画像変換先決定部9111によって実行される処理を示すフローチャートである。図63において、図60に示される処理ステップと同じ処理ステップには、図60に示される符号と同じ符号が付されている。図63と図60とからわかるように、実施の形態6の変形例における画像変換先決定部9111は、カメラの移動量推定及びずれ補正処理において好適な変換先(変換された画像)が選ばれるまで、カメラ画像と参照画像の各ドメインの変換先を決める処理を繰り返す点(すなわち、ステップS607)が、実施の形態6に係る画像処理装置710と異なる。
画像変換先決定部9111は、選択された変換先が、好適な変換先であるか否かの判断を、変換されたカメラ画像と変換された参照画像の2画像間における移動量、又は、変換されたカメラ画像と変換された参照画像の2画像間の類似度、又はこれらの両方に基づいて行うことができる。移動量の推定は、移動量推定・パラメータ計算部607が実行する処理と同じ処理によって行われる。例えば、画像変換先決定部9111は、変換されたカメラ画像と変換された参照画像の2画像間における移動量が外れ値である場合は、変換先が好適でないと判定することができる。或いは、画像変換先決定部9111は、変換されたカメラ画像と変換された参照画像の2画像間の類似度が、予め決められた閾値より小さい場合に、変換先が好適でないと判断することができる。
《6−11》効果
以上に説明したように、実施の形態6に係る画像処理装置910、画像処理方法又は画像処理プログラムを用いれば、移動量推定・パラメータ計算部607は、互いに近い状態にある画像を用いて移動量を推定し又はずれ量の評価値を計算しているので、移動量の推定精度又はずれ量の評価値の計算精度を高めることができ、カメラパラメータの最適化精度を向上させることができる。
また、実施の形態6に係る画像処理装置910、画像処理方法又は画像処理プログラムを用いれば、互いに近い状態にある画像が記録されていない期間(例えば、カメラを設置してから1年以内であって、1年のうちの全ての季節の画像が取得されていない期間)であっても、互いに近い状態にある画像を新たに生成することができる。このため、移動量の推定精度又はずれ量の評価値の計算精度を高めることができる。
上記以外に関し、実施の形態6は、実施の形態3から5のいずれかと同じである。また、実施の形態6において説明した、カメラ画像が属するドメインの変換機能を、他の実施の形態に適用することも可能である。
《7》変形例.
上記実施の形態1から6に係る画像処理装置の構成を、適宜組み合わせることが可能である。例えば、実施の形態1又は2に係る画像処理装置の構成と、実施の形態3から6のいずれかに係る画像処理装置の構成とを組み合わせることが可能である。
1a〜1d カメラ、 10 画像処理装置、 11 プロセッサ、 12 メモリ、 13 記憶装置、 14 画像入力インタフェース、 15 表示機器インタフェース、 17 外部記憶装置、 18 表示装置、 100 ずれ補正部、 101a〜101d 撮像画像、 102 画像記録部、 103 タイミング決定部、 104 移動量推定部、 105 特徴点抽出部、 106 パラメータ最適化部、 107 補正タイミング決定部、 108 合成テーブル生成部、 109 合成処理部、 110 ずれ量評価部、 111 重複領域抽出部、 112 表示画像出力部、 113 外れ値除外部、 114 記憶部、 115 外部記憶部、 202a〜202d,206a〜206d 撮像画像、 204a〜204d,207a〜207d,500a〜500d 合成テーブル、 205,208 合成画像、 600_1〜600_n カメラ、 601 カメラパラメータ入力部、 602 合成処理部、 603 投影処理部、 604 表示処理部、 605 参照データ読出部、 606 ずれ検出部、 607 移動量推定・パラメータ計算部、 608、608a ずれ補正部、 609 カメラ画像受信部、 610、710、810、910 画像処理装置、 611 メインプロセッサ、 612 メインメモリ、 613 補助メモリ、 614 画像処理プロセッサ、 615 画像処理メモリ、 616 ファイルインタフェース、 617 入力インタフェース、 6061 類似度評価部、 6062 相対移動量推定部、 6063 重畳領域抽出部、 6064 重畳領域ずれ量評価部、 6065 投影領域ずれ量評価部、 6066 ずれ判定部、 6082 パラメータ最適化部、 6083 重畳領域抽出部、 6084 重畳領域ずれ量評価部、 6085 投影領域ずれ量評価部、 701 カメラ画像記録部、 702 入力データ選択部、 703 マスク画像生成部、 7031 差分用カメラ画像記録部、 7032 差分マスク画像出力部、 7033 初回マスク画像出力部、 7034 重畳領域抽出部、 7035 重畳領域マスク画像出力部、 7036 マスク画像統合処理部、 911 入力画像変換部、 912 学習モデル・パラメータ読込部、 913 再学習部、 914 カメラ画像記録部、 9111 画像変換先決定部、 9112 画像変換用学習モデル・パラメータ入力部、 9113 参照画像変換処理部、 9114 入力カメラ画像変換処理部、 9115 ドメイン分類用データ読出部、 9115 ドメイン分類用学習モデル・パラメータ入力部。

Claims (23)

  1. 複数の撮像装置によって撮影された複数の撮像画像を合成する処理を行う画像処理装置であって、
    前記複数の撮像画像の各々を、前記複数の撮像画像の各々を撮影した撮像装置の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録する画像記録部と、
    前記記憶部に記録された前記複数の撮像画像から、前記複数の撮像装置の各々の推定移動量を計算する移動量推定部と、
    撮影時刻が同じである前記複数の撮像画像を合成することによって生成された合成画像を構成する前記複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数の撮像装置の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するずれ補正部と、
    を有し、
    前記移動量推定部は、前記複数の撮像装置の各々について、前記画像記録部から指定期間内における前記撮像画像を取得し、時間順に並ぶ複数の撮像画像から隣接画像期間における移動量を求め、前記隣接画像期間における移動量を用いた計算によって前記推定移動量を取得する
    ことを特徴とする画像処理装置。
  2. 前記ずれ補正部は、前記ずれ量の前記評価値が予め決められた条件を満たすまで前記ずれ補正処理を繰り返し実行することを特徴とする請求項1に記載の画像処理装置。
  3. 前記推定移動量は、前記指定期間内に存在する前記隣接画像期間における移動量の合計値であることを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記隣接画像期間における移動量が予め決められた外れ値の条件を満たすか否かを判定する外れ値除外部をさらに有し、
    前記移動量推定部は、前記外れ値の条件を満たす前記隣接画像期間における移動量を、前記推定移動量を算出する計算に用いない
    ことを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記ずれ補正部が前記ずれ補正処理を実行するタイミングを生成する補正タイミング決定部をさらに有することを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
  6. 前記ずれ補正部は、前記ずれ補正処理の対象が前記複数の撮像装置である場合に、前記ずれ補正処理において用いられる前記ずれ量の前記評価値として、前記合成画像における複数のずれ量を合計して得られた合計値を用いることを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
  7. 複数の撮像装置によって撮影された複数の撮像画像を合成する処理を行う画像処理方法であって、
    前記複数の撮像画像の各々を、前記複数の撮像画像の各々を撮影した撮像装置の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録するステップと、
    前記記憶部に記録された前記複数の撮像画像から、前記複数の撮像装置の各々の推定移動量を計算する際に、前記複数の撮像装置の各々について、前記記憶部から指定期間内における前記撮像画像を取得し、時間順に並ぶ複数の撮像画像から隣接画像期間における移動量を求め、前記隣接画像期間における移動量を用いた計算によって前記推定移動量を取得するステップと、
    撮影時刻が同じである前記複数の撮像画像を合成することによって生成された合成画像を構成する前記複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数の撮像装置の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するステップと、
    を有することを特徴とする画像処理方法。
  8. 複数の撮像装置によって撮影された複数の撮像画像を合成する処理をコンピュータに実行させる画像処理プログラムであって、
    前記複数の撮像画像の各々を、前記複数の撮像画像の各々を撮影した撮像装置の特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録するステップと、
    前記記憶部に記録された前記複数の撮像画像から、前記複数の撮像装置の各々の推定移動量を計算する際に、前記複数の撮像装置の各々について、前記記憶部から指定期間内における前記撮像画像を取得し、時間順に並ぶ複数の撮像画像から隣接画像期間における移動量を求め、前記隣接画像期間における移動量を用いた計算によって前記推定移動量を取得するステップと、
    撮影時刻が同じである前記複数の撮像画像を合成することによって生成された合成画像を構成する前記複数の撮像画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数の撮像装置の各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数の撮像画像を合成する処理、を含むずれ補正処理を繰り返し実行するステップと、
    を前記コンピュータに実行させることを特徴とする画像処理プログラム。
  9. 複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理を行う画像処理装置であって、
    前記複数のカメラのカメラパラメータである複数の外部パラメータを提供するカメラパラメータ入力部と、
    前記カメラパラメータ入力部から提供される前記複数の外部パラメータに基づいて、投影画像の合成時に用いるマッピングテーブルである合成テーブルを生成し、前記合成テーブルを用いて前記複数のカメラ画像を同じ投影面上に投影することによって、前記複数のカメラ画像に対応する複数の投影画像を生成する投影処理部と、
    前記複数の投影画像から前記合成画像を生成する合成処理部と、
    前記複数のカメラに対応する基準となるカメラ画像である複数の参照画像と前記複数の参照画像に対応する複数の外部パラメータとを含む参照データと、前記複数のカメラによって撮影された前記複数のカメラ画像とに基づいて、前記複数のカメラの移動量を推定し、前記複数のカメラのカメラパラメータである複数の補正後の外部パラメータを計算する移動量推定・パラメータ計算部と、
    前記カメラパラメータ入力部から提供される前記複数の外部パラメータを、前記移動量推定・パラメータ計算部によって計算された結果を用いて前記複数の補正後の外部パラメータに更新するずれ補正部と、
    を備えたことを特徴とする画像処理装置。
  10. 前記参照データを予め記憶する記憶装置から、前記参照データを読み出す参照データ読出部をさらに備えたことを特徴とする請求項に記載の画像処理装置。
  11. 前記参照データを予め記憶する記憶装置をさらに備えたことを特徴とする請求項又は10に記載の画像処理装置。
  12. 前記複数のカメラによって撮影された前記複数のカメラ画像から、前記参照データを選択する入力データ選択部をさらに備えたことを特徴とする請求項に記載の画像処理装置。
  13. 前記複数のカメラによって撮影された前記複数のカメラ画像を記憶装置に記録するカメラ画像記録部をさらに備え、
    前記入力データ選択部は、前記カメラ画像記録部によって記録された前記複数のカメラ画像から前記参照データを選択する
    ことを特徴とする請求項12に記載の画像処理装置。
  14. 前記複数のカメラの移動量の推定及び補正後の前記複数の外部パラメータの計算に用いないマスク領域を指定するマスク画像を生成するマスク画像生成部をさらに備え、
    前記移動量推定・パラメータ計算部は、前記複数の参照画像から前記マスク領域を除く領域と、前記複数のカメラによって撮影された前記複数のカメラ画像から前記マスク領域を除く領域とに基づいて、前記複数のカメラの移動量を推定し、前記複数の補正後の外部パラメータを計算する
    ことを特徴とする請求項から13のいずれか1項に記載の画像処理装置。
  15. 前記複数のカメラ画像が撮影された状態に基づいて前記複数のカメラ画像の各々を複数のドメインのいずれかに分類し、前記複数の参照画像が撮影された状態に基づいて前記複数の参照画像の各々を前記複数のドメインのいずれかに分類し、前記複数のカメラ画像のうちの比較対象のカメラ画像のドメインと前記複数の参照画像のうちの比較対象の参照画像のドメインとが近い状態になるようにする変換処理を、前記比較対象のカメラ画像及び前記比較対象の参照画像の少なくとも一方に行う入力画像変換部をさらに備え、
    前記移動量推定・パラメータ計算部は、前記入力画像変換部から出力された前記比較対象のカメラ画像と前記比較対象の参照画像とに基づいて、前記複数のカメラの移動量を推定し、前記複数のカメラに対応する複数の補正後の外部パラメータを計算する
    ことを特徴とする請求項から14のいずれか1項に記載の画像処理装置。
  16. 前記ドメインが近い状態は、
    撮影した時刻の差が予め決められた範囲内である状態、移動体が存在しない状態、人物の数の差が予め決められた値以内である状態、日照時間の差が予め決められた時間以内である状態、及び輝度の差、輝度の分布及びコントラストのいずれかを含む画像の類似性を評価するときにおける指標が予め決められた範囲内である状態、のうちの1つ以上である画像である、もしくは
    画像を分類する学習モデルから得られる分類結果から判断される
    ことを特徴とする請求項15に記載の画像処理装置。
  17. 前記変換処理は、前記比較対象のカメラ画像のドメインと前記比較対象の参照画像のドメインとを一致させる処理、又は、画像間の距離を短縮する処理であることを特徴とする請求項15又は16に記載の画像処理装置。
  18. 前記複数のカメラ画像に基づいて、前記複数のカメラ画像の各々を前記複数のドメインのいずれに分類するかを示す学習モデルと、前記参照画像を前記複数のドメインのいずれに分類するかを示す学習モデルを生成及び更新する再学習部をさらに備え、
    前記入力画像変換部は、前記学習モデルに基づいて、前記複数のカメラ画像の各々の分類、前記複数の参照画像の各々の分類、及び前記変換処理を行う
    ことを特徴とする請求項15から17のいずれか1項に記載の画像処理装置。
  19. 前記変換処理は、補正対象のカメラ画像のドメインと前記補正対象のカメラ画像に隣接するカメラ画像のドメインとが近い状態になるようにする処理であることを特徴とする請求項15又は16に記載の画像処理装置。
  20. 前記複数のカメラによって撮影された前記複数のカメラ画像を記憶装置に記録するカメラ画像記録部をさらに備え、
    前記再学習部は、前記カメラ画像記録部によって記録された前記複数のカメラ画像に基づいて前記学習モデルを生成及び更新する
    ことを特徴とする請求項18に記載の画像処理装置。
  21. 前記複数のカメラ画像の各々を、前記複数のカメラ画像の各々を撮影したカメラの特定情報と撮影時刻を示す時刻情報と関連付けて記憶部に記録する画像記録部と、
    前記記憶部に記録された前記複数のカメラ画像から、前記複数のカメラの各々の推定移動量を計算する移動量推定部と、
    撮影時刻が同じである前記複数のカメラ画像を合成することによって生成された合成画像を構成する前記複数のカメラ画像の重複領域におけるずれ量の評価値を取得する処理、前記推定移動量及び前記ずれ量の前記評価値に基づいて前記複数のカメラの各々の外部パラメータを更新する処理、及び更新された外部パラメータを用いて撮影時刻が同じである前記複数のカメラ画像を合成する処理、を含むずれ補正処理を繰り返し実行する他のずれ補正部と、
    をさらに備えたことを特徴とする請求項から12のいずれか1項に記載の画像処理装置。
  22. 複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理を行う画像処理装置が行う画像処理方法であって、
    前記複数のカメラのカメラパラメータである複数の外部パラメータを提供するステップと、
    前記複数の外部パラメータに基づいて、投影画像の合成時に用いるマッピングテーブルである合成テーブルを生成し、前記合成テーブルを用いて前記複数のカメラ画像を同じ投影面上に投影することによって、前記複数のカメラ画像に対応する複数の投影画像を生成するステップと、
    前記複数の投影画像から前記合成画像を生成するステップと、
    前記複数のカメラに対応する基準となるカメラ画像である複数の参照画像と前記複数の参照画像に対応する複数の外部パラメータとを含む参照データと、前記複数のカメラによって撮影された前記複数のカメラ画像とに基づいて、前記複数のカメラの移動量を推定し、前記複数のカメラのカメラパラメータである複数の補正後の外部パラメータを計算するステップと、
    前記複数の外部パラメータを、前記補正後の外部パラメータを計算するステップにおける計算の結果を用いて前記複数の補正後の外部パラメータに更新するステップと、
    を有することを特徴とする画像処理方法。
  23. 複数のカメラによって撮影された複数のカメラ画像を合成することで合成画像を生成する処理をコンピュータに実行させる画像処理プログラムであって、
    前記複数のカメラのカメラパラメータである複数の外部パラメータを提供するステップと、
    前記複数の外部パラメータに基づいて、投影画像の合成時に用いるマッピングテーブルである合成テーブルを生成し、前記合成テーブルを用いて前記複数のカメラ画像を同じ投影面上に投影することによって、前記複数のカメラ画像に対応する複数の投影画像を生成するステップと、
    前記複数の投影画像から前記合成画像を生成するステップと、
    前記複数のカメラに対応する基準となるカメラ画像である複数の参照画像と前記複数の参照画像に対応する複数の外部パラメータとを含む参照データと、前記複数のカメラによって撮影された前記複数のカメラ画像とに基づいて、前記複数のカメラの移動量を推定し、前記複数のカメラのカメラパラメータである複数の補正後の外部パラメータを計算するステップと、
    前記複数の外部パラメータを、前記補正後の外部パラメータを計算するステップにおける計算の結果を用いて前記複数の補正後の外部パラメータに更新するステップと、
    を前記コンピュータに実行させることを特徴とする画像処理プログラム。
JP2020505283A 2019-02-18 2019-09-13 画像処理装置、画像処理方法、及び画像処理プログラム Active JP6746031B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPPCT/JP2019/005751 2019-02-18
PCT/JP2019/005751 WO2020170288A1 (ja) 2019-02-18 2019-02-18 画像処理装置、画像処理方法、及び画像処理プログラム
PCT/JP2019/036030 WO2020170486A1 (ja) 2019-02-18 2019-09-13 画像処理装置、画像処理方法、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP6746031B1 true JP6746031B1 (ja) 2020-08-26
JPWO2020170486A1 JPWO2020170486A1 (ja) 2021-03-11

Family

ID=72144075

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019535963A Pending JPWO2020170288A1 (ja) 2019-02-18 2019-02-18 画像処理装置、画像処理方法、及び画像処理プログラム
JP2020505283A Active JP6746031B1 (ja) 2019-02-18 2019-09-13 画像処理装置、画像処理方法、及び画像処理プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019535963A Pending JPWO2020170288A1 (ja) 2019-02-18 2019-02-18 画像処理装置、画像処理方法、及び画像処理プログラム

Country Status (5)

Country Link
US (1) US20210366132A1 (ja)
JP (2) JPWO2020170288A1 (ja)
CN (1) CN113396580A (ja)
GB (1) GB2595151B (ja)
WO (2) WO2020170288A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420170A (zh) * 2021-07-15 2021-09-21 宜宾中星技术智能***有限公司 大数据图像的多线程存储方法、装置、设备和介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7493433B2 (ja) 2020-10-28 2024-05-31 日立Astemo株式会社 移動量算出装置
EP4239999A4 (en) * 2020-11-02 2024-01-10 Mitsubishi Electric Corporation IMAGE CAPTURE DEVICE, IMAGE QUALITY CONVERSION DEVICE AND IMAGE QUALITY CONVERSION SYSTEM
US11948315B2 (en) * 2020-12-31 2024-04-02 Nvidia Corporation Image composition in multiview automotive and robotics systems
WO2023053419A1 (ja) * 2021-09-30 2023-04-06 日本電信電話株式会社 処理装置及び処理方法
WO2023053420A1 (ja) * 2021-09-30 2023-04-06 日本電信電話株式会社 処理装置及び処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034966A (ja) * 2006-07-26 2008-02-14 Toyota Motor Corp 画像表示装置
JP2012015576A (ja) * 2010-06-29 2012-01-19 Clarion Co Ltd 画像のキャリブレーション方法および装置
WO2013154085A1 (ja) * 2012-04-09 2013-10-17 クラリオン株式会社 キャリブレーション方法および装置
JP2018190402A (ja) * 2017-05-01 2018-11-29 パナソニックIpマネジメント株式会社 カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5179398B2 (ja) * 2009-02-13 2013-04-10 オリンパス株式会社 画像処理装置、画像処理方法、画像処理プログラム
JP2011242134A (ja) * 2010-05-14 2011-12-01 Sony Corp 画像処理装置、画像処理方法、プログラム、及び電子装置
WO2015029934A1 (ja) * 2013-08-30 2015-03-05 クラリオン株式会社 カメラ校正装置、カメラ校正システム、及びカメラ校正方法
JP2018157496A (ja) * 2017-03-21 2018-10-04 クラリオン株式会社 キャリブレーション装置
JP7027776B2 (ja) * 2017-10-02 2022-03-02 富士通株式会社 移動ベクトル算出方法、装置、プログラム、及びノイズ除去処理を含む移動ベクトル算出方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034966A (ja) * 2006-07-26 2008-02-14 Toyota Motor Corp 画像表示装置
JP2012015576A (ja) * 2010-06-29 2012-01-19 Clarion Co Ltd 画像のキャリブレーション方法および装置
WO2013154085A1 (ja) * 2012-04-09 2013-10-17 クラリオン株式会社 キャリブレーション方法および装置
JP2018190402A (ja) * 2017-05-01 2018-11-29 パナソニックIpマネジメント株式会社 カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420170A (zh) * 2021-07-15 2021-09-21 宜宾中星技术智能***有限公司 大数据图像的多线程存储方法、装置、设备和介质
CN113420170B (zh) * 2021-07-15 2023-04-14 宜宾中星技术智能***有限公司 大数据图像的多线程存储方法、装置、设备和介质

Also Published As

Publication number Publication date
JPWO2020170486A1 (ja) 2021-03-11
WO2020170288A1 (ja) 2020-08-27
WO2020170486A1 (ja) 2020-08-27
GB202111596D0 (en) 2021-09-29
CN113396580A (zh) 2021-09-14
US20210366132A1 (en) 2021-11-25
GB2595151A (en) 2021-11-17
GB2595151B (en) 2023-04-19
JPWO2020170288A1 (ja) 2021-03-11

Similar Documents

Publication Publication Date Title
JP6746031B1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP6735592B2 (ja) 画像処理装置及びその制御方法、画像処理システム
US9524436B2 (en) Augmented reality camera registration
KR101457313B1 (ko) 템플릿 스위칭 및 특징 적응을 이용한 오브젝트 추적을 제공하는 방법, 장치 및 컴퓨터 프로그램 제품
US11138419B2 (en) Distance image processing device, distance image processing system, distance image processing method, and non-transitory computer readable recording medium
JP5016602B2 (ja) モーションキャプチャに使用されるラベリング
CN111899282B (zh) 基于双目摄像机标定的行人轨迹跟踪方法及装置
US20120281922A1 (en) Image processing device, image processing method, and program for image processing
JP2015162816A (ja) 画像処理装置およびその制御方法
JPWO2007074605A1 (ja) 画像処理方法、画像処理プログラム、画像処理装置、及び撮像装置
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP5970012B2 (ja) 画像処理装置およびその制御方法
JP7427467B2 (ja) 画像処理装置、画像処理方法、学習済みモデルの生成方法、およびプログラム
JP4017578B2 (ja) 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体
JP7312026B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2002109518A (ja) 三次元形状復元方法及びシステム
JP2019220073A (ja) 物体追跡装置、物体追跡システム、および物体追跡方法
JP7102383B2 (ja) 路面画像管理システム及びその路面画像管理方法
JP4534992B2 (ja) 画素位置取得方法
JP2018049396A (ja) 形状推定方法、形状推定装置および形状推定プログラム
JP4286301B2 (ja) 手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体
CN115375772B (zh) 相机标定方法、装置、设备及存储介质
JP7365729B1 (ja) 姿勢推定システム
US11972549B2 (en) Frame selection for image matching in rapid target acquisition
JPWO2019186833A1 (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200804

R150 Certificate of patent or registration of utility model

Ref document number: 6746031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250