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

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

Info

Publication number
JP2023111962A
JP2023111962A JP2023093623A JP2023093623A JP2023111962A JP 2023111962 A JP2023111962 A JP 2023111962A JP 2023093623 A JP2023093623 A JP 2023093623A JP 2023093623 A JP2023093623 A JP 2023093623A JP 2023111962 A JP2023111962 A JP 2023111962A
Authority
JP
Japan
Prior art keywords
image
camera
captured image
image processing
target object
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.)
Pending
Application number
JP2023093623A
Other languages
English (en)
Inventor
浩雄 池田
Hiroo Ikeda
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JP2023111962A publication Critical patent/JP2023111962A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19678User interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/08Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium using communication transmission lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20096Interactive definition of curve of interest
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Emergency Management (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 カメラパラメータが適切であるか否かを容易に確認できる技術を提供する。【解決手段】 画像処理装置は、カメラによって撮像された撮像画像を表示し、撮像画像に対する点又は線の入力を受け付る。また、画像処理装置は、その受け付けた撮像画像における点又は線の位置、その点又は線の実空間上の高さ情報、およびカメラのカメラパラメータに基づいて、当該点又は線を地表面と平行な面上に投影した場合を表す第2画像を表示する。【選択図】図1

Description

本発明は画像処理技術に関する。
施設等を監視する方法の一つとして、その施設等に設置された監視カメラの映像を利用する方法がある。ここで、監視カメラの映像に写っている人又は物の実際のサイズや位置は、カメラの位置及び姿勢に関する情報(以下、カメラパラメータ)とその映像(画像)に写っている人又は物の画像上のサイズや位置を用いて計算することができる。このような計算により、例えば監視カメラの映像に重要人物(事件の犯人など)が写っている場合に、監視カメラの映像を用いてその人物の身長などを把握することが可能となる。
上述の目的等で利用するカメラパラメータは、例えばキャリブレーションによって推定される。非特許文献1は、カメラでキャリブレーションパターンを撮影し、実世界におけるキャリブレーションパターンの3次元座標と、撮像した画像上におけるキャリブレーションパターンの2次元座標との対応関係から、カメラの位置及び姿勢を示すカメラパラメータ(カメラの回転と並進)を推定する方法を開示している。
また、推定済みのカメラパラメータを入手して利用する場合もある。例えば、過去に対象のカメラについてキャリブレーションを行って算出しておいたカメラパラメータを入手したり、そのカメラを設置した際の位置及び姿勢などの情報に基づいて定義されたカメラパラメータを入手したりすることがある。
:徐 剛、辻 三郎、「3次元ビジョン」、共立出版、pp.79-82、1998年
カメラパラメータが対象のカメラの位置及び姿勢などを適切に表せているとは限らない。例えばキャリブレーションによってカメラパラメータを算出する方法では、対応点の入力誤差やレンズ歪み等の原因により、実際のカメラの位置又は姿勢とは異なる位置及び姿勢を表すカメラパラメータが算出されうる。また推定済みのカメラパラメータを入手する場合も、そのカメラパラメータが適切なものであるか否かは分からない。例えば、時間の経過に伴ってカメラの位置や姿勢が変化してしまう可能性があるため、過去に推定したカメラパラメータと現在のカメラの位置又は姿勢とは異なっている場合がある。
カメラパラメータが対象のカメラの位置及び姿勢などを正しく表せていないと、例えば前述した監視カメラの映像に写っている重要人物の身長などを算出する場合に算出結果に誤りが生じるといった問題がある。
本発明の目的は、以上の課題に鑑みてなされたものである。本発明の目的は、カメラパラメータが適切であるか否かを容易に確認できる技術を提供することである。
本発明が提供する第1の画像処理装置は、カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第1画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力手段と、前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第1画像を提示する提示手段と、を有する。
本発明が提供する第2の画像処理装置は、カメラによって撮像された撮像画像を表示する表示手段と、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得手段と、前記撮像画像上の第1位置の指定を受け付ける入力手段と、前記カメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を、前記撮像画像上の前記第1位置に提示する提示手段と、を有する。
本発明が提供する第3の画像処理装置は、カメラによって撮像された撮像画像を表示する第1表示手段と、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得手段と、前記撮像画像に対する点又は線の入力を受け付ける入力手段と、前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第1画像を表示する第2表示手段と、を有する。
本発明が提供する第1の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第1画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力ステップと、前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第1画像を提示する提示ステップと、を有する。
本発明が提供する第2の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮像された撮像画像を表示する表示ステップと、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得ステップと、前記撮像画像上の第1位置の指定を受け付ける入力ステップと、前記カメラパラメータ、対象オブジェクトの実空間上の所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を、前記撮像画像上の前記第1位置に提示する提示ステップと、を有する。
本発明が提供する第3の画像処理方法は、コンピュータによって実行される。当該画像処理方法は、カメラによって撮像された撮像画像を表示する第1表示ステップと、カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得ステップと、前記撮像画像に対する点又は線の入力を受け付ける入力ステップと、前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第1画像を表示する第2表示ステップと、を有する。
本発明が提供するプログラムは、コンピュータを、本発明が提供する第1の画像処理装置、第2の画像処理装置、又は第3の画像処理装置として動作させる。
本発明によれば、カメラパラメータが適切であるか否かを容易に確認できる技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1に係る画像処理装置を例示するブロック図である。 画像処理装置が所定オブジェクトを撮像画像上に提示した様子を例示する図である。 実施形態1の画像処理装置が実行する処理の流れを例示するフローチャートである。 提示部によって第1画像が提示された撮像画像を例示する図である。 画像処理装置のハードウエア構成を例示するブロック図である。 平面形状の対象オブジェクトを表す第1画像が撮像画像上に提示されている様子を例示する図である。 実施形態2に係る画像処理装置を例示するブロック図である。 第2入力部を介して線が入力された撮像画像を例示する図である。 地表面を表す平面にマッピングした点線をその平面に対して垂直な方向から見た様子を表す画像を例示する図である。 図9(a)で示した投影線と共にカメラの位置及び視界が提示された画像を例示する図である。 実施形態2の画像処理装置が実行する処理の流れを例示するフローチャートである。 撮像画像上に誤差情報が提示される様子を例示する図である。 ユーザが撮像画像上で対象オブジェクトを移動させる様子を例示する図である。 高さが異なる複数の領域をまたいで対象オブジェクトを移動させる様子を例示する図である。 実施形態3に係る画像処理装置を例示するブロック図である。 実施形態3の画像処理装置が実行する処理の流れを例示するフローチャートである。 図9(a)で説明した地表面を表す平面上に、撮像画像上に提示された対象オブジェクトの投影線を例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
[実施形態1]
図1は、実施形態1に係る画像処理装置2000を例示するブロック図である。図1において、矢印は情報の流れを表している。さらに、図1において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
画像処理装置2000は、表示部2020、パラメータ取得部2040、入力部2060、及び提示部2080を有する。
表示部2020は、カメラによって撮像された撮像画像を表示する。パラメータ取得部2040は、カメラの位置及び姿勢などを表すカメラパラメータを取得する。なお、カメラパラメータにはカメラの位置及び姿勢以外のパラメータが含まれてもよい。カメラの位置及び姿勢以外のカメラパラメータについては後述する。
入力部2060は、撮像画像上の第1位置の指定を受け付ける。提示部2080は、第1位置に対応する実空間上の第2位置に対象オブジェクトを置いた場合に上記カメラパラメータによって定まるカメラに写る、撮像画像上の対象オブジェクトを表す第1画像を生成する。言い換えれば、第1画像は、上記カメラパラメータによって定まるカメラの視点から見て、対象オブジェクトがどのように見えるのかを表す画像である。また、実空間上の第2位置は、カメラパラメータと第1位置と第2位置の高さ情報から求めることができる。ここで、「対象オブジェクトを第2位置に置く」とは、対象オブジェクトが、撮像画像上の第1位置に対応する実空間上の位置(第2位置)に存在すると仮定することを意味する。提示部2080は、上記カメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに第2位置を用いて第1画像を生成する。さらに、提示部2080は、生成した第1画像を撮像画像上の第1位置に提示する。対象オブジェクトは、平面形状又は立体形状を有する仮想物である。対象オブジェクトに設定される所定サイズ及び所定形状は、現実世界を想定したサイズ及び形状である。これら所定サイズ及び所定形状は、ユーザにより入力されてもよいし、予め画像処理装置2000の内部又は外部に記憶されていてもよい。
図2を用いて具体的に説明する。図2は、画像処理装置2000が所定オブジェクトを撮像画像上に提示した様子を例示する図である。図2において、所定オブジェクトは直方体20である。図2(a)は、直方体20を適当な角度から見た様子を表している。図2(a)に示すように、直方体20のサイズは、横及び縦の長さが30cmであり、高さが170cmである。本例における直方体20は、平均的な人の形状及びサイズを簡略化したオブジェクトである。
図2(b)は、画像処理装置2000が直方体20を撮像画像10上に提示した図である。第1位置30は、入力部2060に対して入力された第1位置を表す。提示部2080は、第1位置30に第1画像40を提示する。第1画像40は、実世界における第1位置30に相当する位置に置かれた直方体20をカメラパラメータによって定まるカメラによって撮像した場合に、そのカメラに写る直方体20を擬似的に表す画像である。
<処理の流れ>
図3は、実施形態1の画像処理装置2000が実行する処理の流れを例示するフローチャートである。ステップS102において、表示部2020は、カメラによって撮像された撮像画像を表示する。ステップS104において、入力部2060は、撮像画像上の第1位置の指定を受け付ける。ステップS106において、パラメータ取得部2040は、カメラの位置及び姿勢などを表すカメラパラメータを取得する。ステップS108において、提示部2080は第1画像を生成する。前述したように、第1画像は、第2位置に置いた場合に上記カメラパラメータによって定まるカメラに写るときの、撮像画像上における対象オブジェクトを表す。そしてステップS110において、提示部2080は、生成した第1画像を撮像画像上の第1位置に提示する。
なお、図3に示した処理の流れは一例であり、画像処理装置2000が実行する処理の流れは図3に示した流れに限定されない。例えば、第1位置の入力を受け付ける処理(ステップS104)よりも先にカメラパラメータを取得する処理(ステップS106)が行われてもよい。
<作用・効果>
本実施形態によれば、提示部2080によって提示されるオブジェクトを画像処理装置2000のユーザが見ることにより、カメラパラメータが、表示部2020よって表示される撮像画像を撮像したカメラ(以下、実カメラ)の位置及び姿勢などを適切に表しているか否かを容易に確かめることができる。以下、図4を用いて詳しく説明する。
図4は、提示部2080によって第1画像が提示された撮像画像を例示する図である。図4(a)は、パラメータ取得部2040によって取得されたカメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合の図である。一方、図4(b)は、パラメータ取得部2040によって取得されたカメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合の図である。なお図4における対象オブジェクトは、図2の場合と同様に、高さが170cm、かつ縦及び横の長さがいずれも30cmである直方体である。
提示部2080によって提示される第1画像は、撮像画像に写っている場所に置かれた対象オブジェクトが、カメラパラメータによって表される位置及び姿勢で設置されているカメラによって撮像されたかのように、撮像画像上に提示される。そのため、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合、撮像画像上に写っている人や物などと第1画像を見比べた場合に、大きさや角度による見え方などに違和感がない。例えば、対象オブジェクトの高さは170cmであるため、対象オブジェクトと人とを比較した場合に、大体同じ程度の高さになると考えられる。
図4では、撮像画像10に写っている人の横が第1位置として指定されているため、人の横に第1画像40が提示されている。そして、図4(a)では、いずれの位置においても、人と第1画像40が表す直方体とのサイズがほぼ同じであり、違和感がない。また、図4(a)では、人や壁などが、正面斜め上から見下ろされて写っているのと同様に、各第1画像40によって表される直方体も正面斜め上から見下ろされているようになっており、各直方体の角度による見え方についても違和感が無い。
これに対し、図4(b)では、第1画像40によって表される直方体のサイズや角度による見え方について違和感がある。例えば、第1画像40-10が表す直方体の高さは人の2倍近い高さになっており、第1画像40-10は撮像画像10-2に写っている場所に置かれた高さ170cmのオブジェクト(直方体20)を表しているとは言えない。また、撮像画像10-1に提示されている各第1画像40が表す直方体と異なり、撮像画像10-2では全ての直方体について上面が見えており、近くから見下ろしたような見え方となっている。このように、第1画像40によって表される各直方体のサイズ及び角度から、図4(b)におけるカメラパラメータによって表されるカメラの視線方向の俯角は、実カメラの視線方向の俯角よりも大きくなってしまっていると予想できる。
なお、図4に示すように、ユーザは複数の第1位置を指定して、複数の対象オブジェクトを一つの撮像画像内に配置することができる。
以上のように、本実施形態の画像処理装置2000によれば、画像処理装置2000を利用するユーザが提示部2080によって提示された第1画像と撮像画像を見比べることにより、パラメータ取得部2040によって取得されたカメラパラメータが、撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表しているか否かを容易に把握することができる。撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していることが確認できれば、ユーザは、そのカメラパラメータと監視カメラの映像との組み合わせを利用してよいと判断できる。逆に、撮像画像を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していないことが確認できれば、カメラパラメータの推定を再度行ったり、実カメラの位置や姿勢を修正したりするなどといった対処を行うことができる。
以下、本実施形態の画像処理装置2000について、さらに詳細に説明する。
<ハードウエア構成例>
画像処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア構成要素(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエア構成要素とソフトウエア構成要素との組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。
図5は、画像処理装置2000のハードウエア構成を例示するブロック図である。画像処理装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、及び入出力インタフェース1100を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージ1080、及び入出力インタフェース1100が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの演算処理装置である。メモリ1060は、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。ストレージ1080は、例えばハードディスク、SSD(Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ1080は、RAMやROM等のメモリであってもよい。入出力インタフェース1100は、画像処理装置2000が入力デバイスや外部の装置等との間でデータを送受信するための入出力インタフェースである。例えば画像処理装置2000は、入出力インタフェース1100を介して、撮像画像や第1位置などを取得する。また例えば画像処理装置2000は、入出力インタフェースを介して、第1画像を提示した撮像画像を出力する。
ストレージ1080は、画像処理装置2000の機能を実現するためのプログラムを記憶している。具体的には、表示部2020、パラメータ取得部2040、入力部2060、及び提示部2080の機能をそれぞれ実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールを実行することで、表示部2020、パラメータ取得部2040、入力部2060、及び提示部2080の機能をそれぞれ実現する。ここでプロセッサ1040は、上記各モジュールを実行する際、これらのモジュールをメモリ1060上に読み出してから実行してもよいし、メモリ1060上に読み出さずに実行してもよい。
画像処理装置2000のハードウエア構成は図5に示した構成に限定されない。例えば、各プログラムモジュールはメモリ1060に格納されてもよい。この場合、画像処理装置2000は、ストレージ1080を備えていなくてもよい。
<カメラパラメータの詳細>
前述したように、カメラパラメータは、カメラの位置及び姿勢以外のパラメータを含んでもよい。例えばカメラパラメータには、焦点距離、レンズ歪み、又は画像中心の座標など、カメラの内部的な特徴を表す内部パラメータが含まれる。なお、カメラの位置及び姿勢は、カメラの外部的な特徴を表す外部パラメータである。カメラパラメータは、撮像画像上の2次元座標と、実空間上の3次元座標とを対応づけることにより算出できる。
カメラパラメータを用いることにより、撮像画像上の2次元座標と、実空間上の3次元座標とを相互に変換することができる。ただし、撮像画像上の2次元座標だけでは、その2次元座標に対応する実空間上の3次元座標が一意に定まらない。撮像画像上の2次元座標に対応する実空間上の3次元座標を一意に定めるためには、例えばこの3次元座標のx座標、y座標、又はz座標のいずれかを特定する必要がある。本実施形態の画像処理装置2000では、実空間上の第2位置の高さ情報(z座標)を特定することにより、撮像画像上の第1位置に対応する実空間上の第2位置を一意に定めている。なお本実施形態では、カメラ真下の地表面に実空間上の原点を設定し、地表面と並行な横方向、縦方向にx座標、y座標を設定し、地表面と垂直な方向にz座標を設定して説明を進めている。ここで、カメラパラメータを用いて画像上の座標と実空間上の座標とを相互に変換する技術は既知の技術であり、例えば非特許文献1に記載されている。そのため、この技術に関するこれ以上の詳細な説明は省略する。
なお、パラメータ取得部2040がカメラパラメータを取得する方法は様々である。例えばパラメータ取得部2040は、外部の装置から送信されるカメラパラメータを受信する。また例えば、パラメータ取得部2040は、手動によるカメラパラメータの入力を受け付ける。さらに例えば、パラメータ取得部2040は、カメラパラメータを記憶している記憶装置からカメラパラメータを読み出す。
<表示部2020の詳細>
表示部2020は、ディスプレイ等の表示画面に撮像画像を表示する。ここで、この表示画面は据え置き型のディスプレイであってもよいし、携帯端末等に備えられている可搬型のディスプレイであってもよい。
<第1位置の入力方法の詳細>
入力部2060は、撮像画像上の位置を特定できる様々な方法で、第1位置の指定を受け付けることができる。例えば、入力部2060は、マウス等の入力デバイスによって撮像画像上の任意の位置を指定する操作(クリック操作など)を受け付ける。また、撮像画像がタッチパネル上に表示されている場合、入力部2060は、撮像画像上の任意の位置に対するタッチ入力等を受け付ける。また入力部2060は、撮像画像上の位置を表す座標の入力を受け付けてもよい。
<対象オブジェクトの詳細>
対象オブジェクトは、例えば予め定められた実空間上のサイズ及び形状を持つオブジェクトである。例えば前述した、「高さ170cm、かつ縦及び横の長さが30cmである直方体」という所定の対象オブジェクトを定義する情報が画像処理装置2000の内部又は外部に予め格納されている。この場合、提示部2080は、この所定の対処オブジェクトを利用する。
また画像処理装置2000は、対象オブジェクトを定義する情報の入力を受け付ける機能を有していてもよい。この場合、対象オブジェクトの実空間上の形状及びサイズの双方を表す情報を受け付けてもよいし、形状又はサイズのいずれかのみを表す情報を受け付けてもよい。後者の場合、例えば対象オブジェクトの形状は予め直方体という形状に定めておき、サイズ(縦及び横の長さ、並びに高さ)の指定をユーザから受け付ける。
なお対象オブジェクトの形状は、直方体に限定されない。例えば対象オブジェクトは錐体や球体であってもよい。また対象オブジェクトは、アバタなど、人や動物などの形状を表すオブジェクトであってもよい。
また、対象オブジェクトは平面形状でもよい。図6は、平面形状の対象オブジェクトを表す第1画像40を撮像画像10上に提示する様子を例示する図である。この場合、例えばユーザは、平面の縦及び横の長さを指定する。カメラパラメータが実カメラの位置及び姿勢などを適切に表している場合、提示部2080によって提示される第1画像は地表面と平行になる。ユーザは、提示部2080によって提示される第1画像40と撮像画像10に写っている地表面とを比較し、第1画像40によって表されている平面が地表面と平行になっているか否かを見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認できる。また、平面のサイズを指定している為、撮影画像内に写り込む既知のサイズの物体等と、画像上の見えやサイズを比較して違和感を確かめることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認できる。
<提示部2080の詳細>
前述したように、提示部2080は、第2位置に置いた場合の対象オブジェクトが、上記カメラパラメータによって定まるカメラに写るときの、撮像画像上の対象オブジェクトを表す画像を生成する。例えば提示部2080は、以下のような処理を行う。
まず提示部2080は、対象画像上の第1位置に対応する、実空間上の第2位置を算出する。ここで前述したように、対象画像上の第1位置(2次元座標)だけでは、第1位置に対応する実空間上の第2位置(3次元座標)が一意に定まらない。そこで提示部2080は、第2位置の高さを表す情報(第2位置のz座標)を取得する。例えば第2位置の高さ情報は、実空間上における地表面の高さ(z=0)を表す。このように第2位置の高さ情報を特定することで、対象画像上の第1位置に対応する実空間上の位置が一意に定まる。ここで、提示部2080は、第1位置を表す2次元座標、第2位置の高さ情報、及びカメラパラメータを用いることで、第2位置の3次元座標を算出する。前述したように、これらの情報を用いることで、撮像画像上の2次元座標を実空間上の3次元座標に変換することができる。なお、第2位置の高さ情報は、予め提示部2080に与えられていてもよいし、外部から入力されてもよい。または、第2位置の高さ情報は、対象画像内における複数の領域毎に異なる高さとして設定されてもよい。
次に提示部2080は、撮像画像上に提示する対象オブジェクトを表す第1画像を生成する。例えば対象オブジェクトが直方体や錐体の場合、提示部2080は、第1画像を生成するために、撮像画像上に提示する対象オブジェクトの各頂点の座標を算出する。具体的には、提示部2080は、カメラパラメータを用いて、対象オブジェクトを実空間上の第2位置に置いた場合における各頂点の3次元座標を、撮像画像上における各頂点の2次元座標に変換する。そして、提示部2080は、各頂点を直線などで結ぶことにより、第1画像を生成する。
なお、実空間に置く対象オブジェクトの角度は任意である。例えば提示部2080は、実空間を表すxyz空間において、対象オブジェクトの横の辺がx軸と平行であり、縦の辺がy軸と平行であり、高さ方向の辺がz軸と平行であるように、対象オブジェクトが第2位置に置かれたとみなす。これらの辺の方向は、予め定められていてもよいし、ユーザによる指定を受け付けてもよい。例えば、図6の撮像画像10において、平面形状の対象オブジェクトを利用する場合、縦方向の辺を地表面上のラインに合わせるようにすることで、対象オブジェクトと地表面とが平行であるか否かの判断をより容易に行えるようになる。このほか、例えば、対象オブジェクトに実空間上における所定幅の格子が描かれている場合、対象オブジェクトの縦方向の辺を大きさが既知な床面のタイルのラインなどに合わせることでタイルの大きさを測ることができる。大きさを確認することで判断をより容易に行えるようになる。そこで例えば、画像処理装置2000は、ユーザが、マウス等を用いて撮像画像10上に提示している対象オブジェクトを回転できるようにする。例えば画像処理装置2000は、撮像画像10上に提示されている対象オブジェクト又はその周辺がマウス等でドラッグされた場合、そのドラッグの向きに応じて、対象オブジェクトを回転させる向きを決定する。例えば左方向にドラッグされた場合の回転方向を時計回りとし、右方向にドラッグされた場合の回転方向を反時計回りとする。また画像処理装置2000は、そのドラッグの距離に応じて、対象オブジェクトを回転させる角度を決定する。この場合、ドラッグの距離と回転させる角度との関係を予め定義しておく。そして、画像処理装置2000は、第2位置を通る直線(例えばz軸に平行な直線)を回転軸とし、決定した向き及び角度で対象オブジェクトを回転させる。そしてユーザは、対象オブジェクトの縦の辺が地表面上のラインに沿うようにした後、撮像画像10上の対象オブジェクトと地表面とを比較する。なお、第2位置は、対象オブジェクトの内部の点に限定されず、外部にあってもよい。
さらに提示部2080は、対象オブジェクトを撮像画像10上で移動させる操作を受け付けてもよい。例えばユーザは、「マウスの右ボタンで撮像画像10上をドラッグする」などの操作により、撮像画像10上で対象オブジェクトを移動させる。このとき入力部2060は、移動するマウスポインタの位置を、前述の第1位置として繰り返し取得する。例えばこの取得は、所定の時間間隔で行われる。提示部2080は、入力部2060によって新たに取得された撮像画像10上の第1位置に、その第1位置及び固定的に得られるカメラパラメータ及び第2位置の高さ情報に基づいて新たに生成された第1画像40を提示する。さらに提示部2080は、この第1位置よりも前に取得された第1位置に提示していた第1画像40を撮像画像10上から削除する。こうすることでユーザの視点からは、撮像画像10に写っている空間上を対象オブジェクトが移動しているように見える。
図13は、ユーザが撮像画像10上で対象オブジェクトを移動させる様子を例示する図である。図13において、軌跡170は、ユーザが対象オブジェクトを移動させた軌跡を表す。第1位置30-1から第1位置30-5はそれぞれ、軌跡170上の位置を表す。第1画像40-1から第1画像40-5はそれぞれ、第1位置30-1から第1位置30-5において提示される第1画像40を表す。ここで、点線で描かれている第1画像40は、既に撮像画像10上から消えている第1画像40を表し、実線で描かれている第1画像40は、現在提示されている第1画像40を表す。図13において、現在指定されている第1位置30は第1位置30-5であるため、第1画像40-5が提示されており、第1画像40-1から第1画像40-4は消えている。
例えば図13に表されているように、ユーザは、撮像画像10上に写っている人物などの横を通るように対象オブジェクトを移動させることで、対象オブジェクトの見え方に違和感がないかどうかを確認する。図13の場合、どの人物の横に対象オブジェクトを移動させても対象オブジェクトの大きさや向きについて違和感がなければ、パラメータ取得部2040によって取得されたカメラパラメータが撮像画像10を撮像したカメラの位置及び姿勢と近似する位置及び姿勢を表していると考えられる。このような移動操作が提供されることにより、ユーザは、対象オブジェクトの見え方に違和感がないかどうかを、撮像画像10上の様々な位置について容易に検証できる。特に連続的に移動して対象オブジェクトの見え方を提供することにより、人間の視覚による正当性や違和感がより強調され、検証に対して有効に機能する。
また、例えば図14に表されているように、階段のように段差のある領域を映した撮影画像において、段差のある領域毎に高さ情報を設定してもよい。その場合、図14に軌跡を示すように、画像上で対象オブジェクトを移動させることで、ユーザは、段差を含めてシームレスに対象オブジェクトの見え方に違和感がないかどうかを、容易に検証できる。
[実施形態2]
図7は、実施形態2に係る画像処理装置2000を例示するブロック図である。図7において、矢印は情報の流れを表している。さらに図7において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
実施形態2の画像処理装置2000は、表示部2020、パラメータ取得部2040、第2入力部2100、及び第2表示部2120を有する。本実施形態の表示部2020、パラメータ取得部2040が持つ機能はそれぞれ、実施形態1で説明した表示部2020、パラメータ取得部2040が持つ機能と同様である。
第2入力部2100は、表示部2020によって表示された撮像画像に対する点又は線の入力を受け付ける。第2表示部2120は、カメラパラメータ、入力された点又は線の撮像画像上の位置、及び入力された点又は線の実空間上の高さ情報に基づいて、地表面と平行な平面上にマッピングした場合における上記点又は線を表す画像を表示する。言い換えれば、第2表示部2120は、その入力された撮像画像内の点又は線がその撮像画像を撮像したカメラの視界内に存在すると仮定した場合に、そのカメラの視界内に存在すると仮定された点又は線を地表面と平行な平面にマッピングした画像を表示する。第2表示部2120は、表示部2020によって撮像画像が表示されているディスプレイ等と同じディスプレイ等に対して表示を行ってもよいし、異なるディスプレイ等に対して表示を行ってもよい。
入力された点又は線の実空間上の高さ情報は、予め第2表示部2120に与えられていてもよいし、これら点又は線と共に第2入力部2100に対して入力されてもよい。入力された点又は線の実空間上の高さ情報を予め第2表示部2120に与えておく場合、例えばこの高さ情報を実空間上における地面の高さ(例えば、高さ情報(z座標)=0)とする。
前述したように、第2表示部2120は、撮像画像上における点又は線を、実空間上における地表面と平行な平面上にマッピングする。まず、点のマッピング方法について説明する。第2表示部2120は、撮像画像上の点の2次元座標を、実空間上の3次元座標に変換する。ここで前述したように、撮像画像上の2次元座標に対応する実空間上の3次元座標は一意に定まらない。そこで第2表示部2120は、入力された点の高さ情報を利用する。具体的には、入力された点の実空間上における高さ情報を、与えられた高さ情報であるとする。これにより、第2表示部2120は、撮像画像上の2次元座標を、実空間上の3次元座標に一意に変換できる。実空間上における地表面と平行な平面上における入力された点の位置は、算出した3次元座標のうち、横方向の座標と縦方向の座標(高さを示すz座標を除く、x座標とy座標)で表される。
なお実施形態1で説明したように、カメラパラメータ、撮像画像上の点の2次元座標、及びその点の実空間上における高さ情報に基づいてその2次元座標に対応する実空間上の3次元座標を算出する技術は、既知の技術である。そのため、この技術に関する詳細な説明は省略する。
撮像画像上に入力された線を、実空間上における地表面と平行な平面上にマッピングする処理の原理は、上述した点をマッピングする処理の原理と同様である。例えば第2表示部2120は、入力された線上にある2つ以上の点(例えば両端の点)をそれぞれ、実空間上における地表面と平行な平面上にマッピングする。そして、第2表示部2120は、マッピングされたこれらの点を直線などの線で結ぶ。このようにすることで、撮像画像上に入力された線が、実空間上における地表面と平行な平面上にマッピングされる。
以下、実施形態2の画像処理装置2000の利用方法を説明する。
例えば画像処理装置2000のユーザは、実世界上における模様や、壁と地表面との境目などをなぞった線を第2入力部2100に対して入力する。図8は、第2入力部2100を介して線が入力された撮像画像10を例示する図である。点線90は、第2入力部2100に対して入力された線を表す。模様100は、撮像画像に写っている実世界上において地表面に引かれているラインである。模様100-1と模様100-2は、実世界上において互いに平行なラインである。境目110は、撮像画像に写っている実世界上における壁と地表面との境目である。境目110-1と境目110-2は、実世界上において互いに垂直に交わっている。
第2表示部2120は、点線90を地表面と平行な平面上にマッピングする。そして、第2表示部2120は、地表面と平行な平面上にマッピングした点線90を、その平面に対して垂直な方向から見た様子を表示する。図9は、地表面を表す平面にマッピングした点線90をその平面に対して垂直な方向から見た様子を表す画像を例示する図である。ここで、図9(a)は、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合の図である。ここで前述したように、実世界において(撮像画像に写っている場所において)、模様100-1と模様100-2は互いに平行に引かれたラインである。そのため、カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している図9(a)において、点線90-1を地表面を表す平面上にマッピングした投影線120-1と、点線90-2を地表面を表す平面上にマッピングした投影線120-2とは、互いに平行又は平行に近くなる。また前述したように、実世界において(撮像画像に写っている場所において)、境目110-3と境目110-4は互いに垂直に交わる。そのため図9(a)において、点線90-3を地表面を表す平面上にマッピングした投影線120-3と、点線90-4を地表面を表す平面上にマッピングした投影線120-4とは、互いに垂直又は垂直に近い角度で交わる。
一方、図9(b)は、カメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合の図である。この場合、投影線120-1と投影線120-2とが平行又は平行に近い関係にならなかったり、投影線120-3と投影線120-4とが垂直又は垂直に近い関係にならなかったりする。
このように、図8に示した撮像画像を用いるユーザは、実世界上における関係が既知又は予測しやすい模様100や境目110などを利用し、これらが第2表示部2120によって表示された結果を見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認することができる。
なお、地表面上の模様などを利用する方法は、上述の方法に限定されない。例えば、模様100-1上に複数の点を入力し、これら複数の点が直線上に配置されているか否かを確認したりする方法が考えられる。
また、本実施形態の画像処理装置2000は、実施形態1において撮像画像上に提示されている対象オブジェクトを、上記平面上にマッピングして提示してもよい。図17は、図9(a)で説明した地表面を表す平面上に、撮像画像上に提示された対象オブジェクトの投影線180を例示する図である。図17(a)は、静止している対象オブジェクトを表す第1画像が撮像画像上に提示されている場合(例:図2(b))に、その対象オブジェクトの投影線180を提示するケースである。一方、図17(b)は、対象オブジェクトを移動させる操作が行われている場合(例:図13)において、撮像画像上における対象オブジェクトの移動に合わせて、その対象オブジェクトの投影線180を移動させるケースである。ここで、軌跡190は、投影線180の移動の軌跡を表している。
さらに、撮像画像の地表面に本来の形状が分かるもの(マンホールなど)が写っている場合、第2入力部2100に対してその形状をなぞる線を入力してもよい。カメラパラメータが実カメラの位置及び姿勢と近似する位置及び姿勢を表している場合、第2表示部2120によって表示される線の形状は、なぞった物の本来の形状に近い形状を表す。例えば撮像画像上に写っているマンホールをなぞるように線を入力した場合、第2表示部2120によって表示される線の形状は正円又は正円に近い形状となる。一方、カメラパラメータが実カメラの位置及び姿勢と異なる位置及び姿勢を表している場合、第2表示部2120によって提示される線の形状は、正円とは異なる形状(例えば楕円形)になる。
また、第2表示部2120は、地表面と平行な平面上にマッピングされた点や線と共に、カメラの位置や視界を画像上に提示してもよい。図10は、図9(a)で示した投影線と共にカメラの位置及び視界が提示された画像を例示する図である。図10において、カメラ位置150はカメラの位置を表しており、視界160はカメラの視界を表している。
実施形態2の画像処理装置2000を扱うシステム設定者等は、地表面と平行な平面上にマッピングされた点や線の位置関係を見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを確認する。ここで、図10のように、地表面と平行な平面上にマッピングされた点や線と共にカメラの位置や視界を提示すると、システム設定者等は、マッピングされた点や線とカメラの位置や視界との位置関係とをさらに把握できるようになる。そのため、システム設定者等は、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かをより容易かつ正確に確認できるようになる。
<処理の流れ>
図11は、実施形態2の画像処理装置2000が実行する処理の流れを例示するフローチャートである。なお、ステップS102及びS106で行われる処理は、図3のステップS102及びS106で行われる処理と同様の処理である。ステップS202において、第2入力部2100は、表示部2020によって表示された撮像画像に対する点又は線の入力を受け付ける。ステップS204において、第2表示部2120は、地表面と平行な平面上にマッピングした場合における上記点又は線を表す画像を表示する。
<作用・効果>
本実施形態の画像処理装置2000によれば、ユーザは撮像画像に対して本来の形状や位置関係が特定しやすい線などを入力し、第2表示部2120によって表示される線などが本来の形状や位置関係を満たしているか否かを見ることで、カメラパラメータが実カメラの位置及び姿勢などを適切に表しているか否かを容易に確認することができる。
[実施形態3]
図15は、実施形態3に係る画像処理装置3000を例示するブロック図である。図15において、矢印は情報の流れを表している。さらに図15において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
実施形態3の画像処理装置3000は、入力部3020及び提示部3040を有する。入力部3020は、カメラによって撮像された撮像画像上に提示されている第1画像を移動させる操作の入力を受け付ける。第1画像は、上記カメラの位置及び姿勢を表す所定のカメラパラメータに基づき、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを撮像画像上に重畳した画像である。例えば第1画像が提示されている撮像画像上の位置を位置Aとおくと、この第1画像は、実施形態1の画像処理装置2000において、位置Aを第1位置として指定した場合に提示部2080によって提示される第1画像に相当する。なお、実施形態3における対象オブジェクトは、実施形態1で説明した対象オブジェクトと同様である。また、実施形態3における所定のカメラパラメータは、実施形態1で説明したカメラパラメータと同様である。
提示部3040は、上記カメラパラメータの基で、移動後の撮像画像上の位置に対応する見え方で、対象オブジェクトを表す第1画像を提示する。提示部3040が移動される対象オブジェクトに対応する第1画像を提示する方法は、実施形態1で説明した「提示部2080が、撮像画像10上で移動される対象オブジェクトに対応する第1画像40を提示する方法」と同様である。
画像処理装置3000のハードウエア構成は、画像処理装置2000のハードウエア構成と同様である。
<処理の流れ>
図16は、実施形態3の画像処理装置3000が実行する処理の流れを例示するフローチャートである。ステップS302において、入力部3020は、撮像画像上に重畳された第1画像に対する移動の操作の入力を受け付ける。ステップS304において、提示部3040は、カメラパラメータの基で、移動後の撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第1画像を提示する。
なお、図16に示した処理の流れは一例であり、画像処理装置3000が実行する処理の流れは図16に示した流れに限定されない。
<作用・効果>
本実施形態によれば、例えば図13や図14に表されているように、ユーザは、撮像画像10上に写っている人物などの横を通るように対象オブジェクトを移動させることで、対象オブジェクトの見え方に違和感がないかどうかを容易に確認できる。特に、連続的に移動して対象オブジェクトの見え方を提供することにより、人間の視覚による正当性や違和感がより強調され、検証に対して有効に機能する。
[変形例]
画像処理装置2000は、次のような機能を有していてもよい。以下の機能を有する画像処理装置2000を変形例1の画像処理装置2000と表記する。なお、変形例1の画像処理装置2000は、上述した実施形態1や2の画像処理装置2000が有する機能を有していてもよいし、有していなくてもよい。
前述したように、カメラパラメータの推定には、「カメラでキャリブレーションパターン又はそれに相当するものを撮影し、実世界におけるキャリブレーションパターンの3次元座標と、撮像した画像上におけるキャリブレーションパターンの2次元座標との対応関係に基づいて推定する」といった手法が利用される(非特許文献1)。具体的には、推定したカメラパラメータを用いて実世界におけるキャリブレーションパターンの3次元座標を撮像画像上に投影した場合の2次元座標と、撮像画像に写っているキャリブレーションパターンの2次元座標との間の誤差(再投影誤差)を小さくするように、カメラパラメータを算出する。例えば、誤差の二乗和が最小になるようにカメラパラメータの推定値を算出する方法などがある。
通常、画像処理装置2000を扱うシステム設定者等が上述のキャリブレーションを利用してカメラパラメータを推定する作業を行う場合、システム設定者等が見るのは推定結果であるカメラパラメータのみであり、途中経過である上記誤差を見ることはない。しかし、途中経過である上記誤差をシステム設定者等に見せることで、カメラパラメータの推定の精度を高めることができると考えられる。例えば誤差が大きい位置が撮像画像の端の方に集中している場合、対応点の入力誤差やレンズ歪みが原因で誤差が大きくなっていると考えられる。このような場合、画像の端から所定距離以内の位置で撮像されたキャリブレーションパターンをカメラパラメータの推定に利用しないようにキャリブレーションパターンの選び方を変更することで、カメラパラメータの精度を上げることができる。
そこで画像処理装置2000は、キャリブレーションパターンを撮像した位置それぞれについて、その位置に対応する撮像画像上の位置の周辺に、その位置で撮像したキャリブレーションパターンについての上記誤差を提示する。図12は、撮像画像上に誤差を表す情報(誤差情報140)が提示される様子を例示する図である。図12では、キャリブレーションパターンを得るために人が利用されている。具体的には、ほぼ直立した人の足下と頭を結ぶ線130がキャリブレーションパターンとして用いられている。そして、線130の横に提示されている誤差情報140は、その線130に対応する再投影誤差を示している。
なお画像処理装置2000は、実施形態2で説明した手法により、上記キャリブレーションパターンを地表面上にマッピングし、地表面上にマッピングしたキャリブレーションパターンに対応付けて上記誤差を表示してもよい。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
以下、参考形態の例を付記する。
1. カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第1画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力手段と、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第1画像を提示する提示手段と、
を有する画像処理装置。
2. 前記入力手段は、前記撮像画像上の第1位置の指定を繰り返し受け付けることで前記移動の操作を受け付け、
前記提示手段は、或る第1位置が指定された際、前記カメラパラメータ、前記対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を生成して、前記撮像画像上の前記第1位置に提示する1.に記載の画像処理装置。
3. 前記提示手段は、
前記第2位置の高さ情報を取得し、
前記カメラパラメータ、前記第1位置、及び前記第2位置の高さ情報に基づいて、前記第2位置を算出する2.に記載の画像処理装置。
4. 前記提示手段は、前記第2位置の高さ情報として、実空間における地表面の高さを示す情報を取得する3.に記載の画像処理装置。
5. 前記提示手段は、前記第2位置の高さ情報として、前記撮像画像上における複数の領域毎に異なる高さの情報を取得する3.に記載の画像処理装置。
6. 前記対象オブジェクトは、平面形状である1.乃至5.いずれか一つに記載の画像処理装置。
7. 前記撮像画像に対する点又は線の入力を受け付ける第2入力手段と、
前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第2画像を表示する第2表示手段と、
を有する1.乃至6.いずれか一つに記載の画像処理装置。
8. 撮像画像上の第1位置の指定を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を、前記撮像画像上の前記第1位置に提示する提示手段と、
を有する画像処理装置。
9. 前記入力手段は、複数の第1位置の指定を受け付け、
前記提示手段は、前記複数の第1位置に対応する複数の対象オブジェクトを表す第1画像を、前記撮像画像上で各々対応する第1位置に提示する8.に記載の画像処理装置。
10. 前記入力手段は、前記第1位置の指定を繰り返し受け付け
前記提示手段は、或る第1位置が指定された時、その第1位置に対応する実空間上の第2位置に置かれた前記対象オブジェクトを表す第1画像を生成して、前記撮像画像上のその第1位置に提示する8.又は9.に記載の画像処理装置。
11. カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力手段と、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第1画像を表示する表示手段と、
を有する画像処理装置。
12. コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対して、当該カメラの位置及び姿勢を表す所定のカメラパラメータの基で重畳された、実空間上における所定形状及び所定サイズが定められた対象オブジェクトを表す第1画像に対する、前記撮像画像上における移動の操作の入力を受け付ける入力ステップと、
前記カメラパラメータの基で、前記移動後の前記撮像画像上の位置に対応する見え方で前記対象オブジェクトを表す第1画像を提示する提示ステップと、
を有する画像処理方法。
13. 前記入力ステップは、前記撮像画像上の第1位置の指定を繰り返し受け付けることで前記移動の操作を受け付け、
前記提示ステップは、或る第1位置が指定された際、前記カメラパラメータ、前記対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を生成して、前記撮像画像上の前記第1位置に提示する12.に記載の画像処理方法。
14. 前記提示ステップは、
前記第2位置の高さ情報を取得し、
前記カメラパラメータ、前記第1位置、及び前記第2位置の高さ情報に基づいて、前記第2位置を算出する13.に記載の画像処理方法。
15. 前記提示ステップは、前記第2位置の高さ情報として、実空間における地表面の高さを示す情報を取得する14.に記載の画像処理方法。
16. 前記提示ステップは、前記第2位置の高さ情報として、前記撮像画像上における複数の領域毎に異なる高さの情報を取得する14.に記載の画像処理方法。
17. 前記対象オブジェクトは、平面形状である12.乃至16.いずれか一つに記載の画像処理方法。
18. 前記撮像画像に対する点又は線の入力を受け付ける第2入力ステップと、
前記カメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第2画像を表示する第2表示ステップと、
を有する12.乃至17.いずれか一つに記載の画像処理方法。
19. コンピュータによって実行される画像処理方法であって、
撮像画像上の第1位置の指定を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、対象オブジェクトの実空間上における所定形状及び所定サイズ、並びに前記第1位置に対応する実空間上の第2位置に基づいて、前記対象オブジェクトを前記第2位置に置いた場合に前記カメラパラメータによって定まるカメラに写る前記撮像画像上の前記対象オブジェクトを表す第1画像を、前記撮像画像上の前記第1位置に提示する提示ステップと、
を有する画像処理方法。
20. 前記入力ステップは、複数の第1位置の指定を受け付け、
前記提示ステップは、前記複数の第1位置に対応する複数の対象オブジェクトを表す第1画像を、前記撮像画像上で各々対応する第1位置に提示する19.に記載の画像処理方法。
21. 前記入力ステップは、前記第1位置の指定を繰り返し受け付け
前記提示ステップは、或る第1位置が指定された時、その第1位置に対応する実空間上の第2位置に置かれた前記対象オブジェクトを表す第1画像を生成して、前記撮像画像上のその第1位置に提示する19.又は20.に記載の画像処理方法。
22. コンピュータによって実行される画像処理方法であって、
カメラによって撮影された撮像画像に対する点又は線の入力を受け付ける入力ステップと、
カメラの位置及び姿勢を表す所定のカメラパラメータ、前記点又は線の前記撮像画像上の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上にマッピングした場合の前記点又は線を表す第1画像を表示する表示ステップと、
を有する画像処理方法。
23. コンピュータを、1.乃至11.いずれか一つに記載の画像処理装置として動作させるプログラム。
この出願は、2014年9月19日に出願された日本出願特願2014-191480号、及び2014年12月19日に出願された日本出願特願2014-257137号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1. カメラによって撮像された撮像画像を表示する表示手段と、
    前記撮像画像に対する点又は線の入力を受け付ける入力手段と、
    前記カメラのカメラパラメータ、前記撮像画像における前記点又は線の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上に投影した場合の前記点又は線を表す第2画像を表示する第2表示手段と
    を有する画像処理装置。
  2. カメラの位置及び姿勢を表すカメラパラメータを取得するパラメータ取得手段をさらに備える
    請求項1に記載の画像処理装置。
  3. 前記撮像画像に表示された対象オブジェクトの移動の操作を受け付ける第2入力手段をさらに備える
    請求項1に記載の画像処理装置。
  4. 前記第2表示手段は、さらに、前記第2入力手段により受け付けられた対象オブジェクトの移動の軌跡を地表面と平行な面上に投影した前記第2画像を表示する
    請求項3に記載の画像処理装置。
  5. カメラによって撮像された撮像画像を表示し、
    前記撮像画像に対する点又は線の入力を受け付け、
    前記カメラのカメラパラメータ、前記撮像画像における前記点又は線の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上に投影した場合の前記点又は線を表す第2画像を表示する
    画像処理方法。
  6. カメラの位置及び姿勢を表すカメラパラメータをさらに取得する
    請求項5に記載の画像処理方法。
  7. 前記撮像画像に表示された対象オブジェクトの移動の操作をさらに受け付ける
    請求項5に記載の画像処理方法。
  8. カメラによって撮像された撮像画像を表示する処理と、
    前記撮像画像に対する点又は線の入力を受け付ける処理と、
    前記カメラのカメラパラメータ、前記撮像画像における前記点又は線の位置、及び前記点又は線の実空間上の高さ情報に基づいて、地表面と平行な面上に投影した場合の前記点又は線を表す第2画像を表示する処理と
    をコンピュータに実行させるプログラム。
  9. カメラの位置及び姿勢を表すカメラパラメータを取得する処理をさらにコンピュータに実行させる
    請求項8に記載のプログラム。
  10. 前記撮像画像に表示された対象オブジェクトの移動の操作を受け付ける処理をさらにコンピュータに実行させる
    請求項8に記載のプログラム。
JP2023093623A 2014-09-19 2023-06-07 画像処理装置、画像処理方法、及びプログラム Pending JP2023111962A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2014191480 2014-09-19
JP2014191480 2014-09-19
JP2014257137 2014-12-19
JP2014257137 2014-12-19
JP2020129925A JP6996594B2 (ja) 2014-09-19 2020-07-31 画像処理装置、画像処理方法、及びプログラム
JP2021201328A JP7294396B2 (ja) 2014-09-19 2021-12-13 画像処理装置、画像処理方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021201328A Division JP7294396B2 (ja) 2014-09-19 2021-12-13 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2023111962A true JP2023111962A (ja) 2023-08-10

Family

ID=55532970

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2016548769A Active JP6747292B2 (ja) 2014-09-19 2015-07-31 画像処理装置、画像処理方法、及びプログラム
JP2020129925A Active JP6996594B2 (ja) 2014-09-19 2020-07-31 画像処理装置、画像処理方法、及びプログラム
JP2021201328A Active JP7294396B2 (ja) 2014-09-19 2021-12-13 画像処理装置、画像処理方法、及びプログラム
JP2023093623A Pending JP2023111962A (ja) 2014-09-19 2023-06-07 画像処理装置、画像処理方法、及びプログラム

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2016548769A Active JP6747292B2 (ja) 2014-09-19 2015-07-31 画像処理装置、画像処理方法、及びプログラム
JP2020129925A Active JP6996594B2 (ja) 2014-09-19 2020-07-31 画像処理装置、画像処理方法、及びプログラム
JP2021201328A Active JP7294396B2 (ja) 2014-09-19 2021-12-13 画像処理装置、画像処理方法、及びプログラム

Country Status (3)

Country Link
US (5) US10911645B2 (ja)
JP (4) JP6747292B2 (ja)
WO (1) WO2016042926A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
JP2016213674A (ja) * 2015-05-08 2016-12-15 キヤノン株式会社 表示制御システム、表示制御装置、表示制御方法、及びプログラム
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
EP3654290A1 (en) * 2016-09-23 2020-05-20 Apple Inc. Avatar creation and editing
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
DK201870374A1 (en) 2018-05-07 2019-12-04 Apple Inc. AVATAR CREATION USER INTERFACE
SG10201809572RA (en) * 2018-10-29 2020-05-28 Nec Asia Pacific Pte Ltd Methods and apparatus to cluster and collect head-toe lines for automatic camera calibration
JP7277187B2 (ja) 2019-03-13 2023-05-18 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、およびプログラム
JP7310252B2 (ja) * 2019-04-19 2023-07-19 株式会社リコー 動画生成装置、動画生成方法、プログラム、記憶媒体
DK202070624A1 (en) 2020-05-11 2022-01-04 Apple Inc User interfaces related to time
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
US11714536B2 (en) 2021-05-21 2023-08-01 Apple Inc. Avatar sticker editor user interfaces
US11776190B2 (en) 2021-06-04 2023-10-03 Apple Inc. Techniques for managing an avatar on a lock screen

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2622620B2 (ja) 1989-11-07 1997-06-18 プロクシマ コーポレイション コンピュータにより発生されたデイスプレイ可視像を変更するためのコンピュータ入力システム
US6463121B1 (en) * 1999-10-13 2002-10-08 General Electric Company Interactive x-ray position and exposure control using image data as reference information
EP1102211A3 (en) * 1999-11-19 2006-09-13 Matsushita Electric Industrial Co., Ltd. Image processor, method of providing image processing services and order processing method
JP2001209827A (ja) * 1999-11-19 2001-08-03 Matsushita Electric Ind Co Ltd 画像処理装置、画像処理サービス提供方法および受注処理方法
WO2002073955A1 (en) * 2001-03-13 2002-09-19 Canon Kabushiki Kaisha Image processing apparatus, image processing method, studio apparatus, storage medium, and program
US7307654B2 (en) * 2002-10-31 2007-12-11 Hewlett-Packard Development Company, L.P. Image capture and viewing system and method for generating a synthesized image
JP4217100B2 (ja) 2003-04-17 2009-01-28 本田技研工業株式会社 画像合成方法、装置、およびプログラム、ならびに立体モデルのレンダリング方法、装置、およびプログラム
JP2005142938A (ja) * 2003-11-07 2005-06-02 Casio Comput Co Ltd 電子カメラ、制御プログラム
JP2005301492A (ja) * 2004-04-08 2005-10-27 Olympus Corp 画像履歴処理プログラム、画像履歴処理方法、画像履歴処理装置及び記録媒体
JP4244040B2 (ja) * 2005-03-10 2009-03-25 任天堂株式会社 入力処理プログラムおよび入力処理装置
US7801330B2 (en) 2005-06-24 2010-09-21 Objectvideo, Inc. Target detection and tracking from video streams
JP4730141B2 (ja) * 2006-03-06 2011-07-20 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
JP5120249B2 (ja) * 2006-03-15 2013-01-16 オムロン株式会社 監視装置および監視方法、制御装置および制御方法、並びにプログラム
EP1862969A1 (en) * 2006-06-02 2007-12-05 Eidgenössische Technische Hochschule Zürich Method and system for generating a representation of a dynamically changing 3D scene
JP5223318B2 (ja) * 2007-12-07 2013-06-26 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP5040734B2 (ja) * 2008-03-05 2012-10-03 ソニー株式会社 画像処理装置、画像記録方法およびプログラム
US20110187703A1 (en) 2010-01-29 2011-08-04 Kedar Anil Patwardhan Method and system for object tracking using appearance model
JP5656567B2 (ja) 2010-11-05 2015-01-21 キヤノン株式会社 映像処理装置および方法
JP6121647B2 (ja) * 2011-11-11 2017-04-26 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2013110551A (ja) * 2011-11-21 2013-06-06 Sony Corp 情報処理装置、撮像装置、情報処理方法およびプログラム
JP2013165366A (ja) * 2012-02-10 2013-08-22 Sony Corp 画像処理装置、画像処理方法及びプログラム
US8836768B1 (en) 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
JP5516693B2 (ja) 2012-10-29 2014-06-11 富士通モバイルコミュニケーションズ株式会社 携帯情報機器及び情報処理プログラム
DE102013211492B4 (de) 2013-06-19 2020-10-15 Trimble Jena Gmbh Bestimmung eines Messfehlers
JP2017093803A (ja) * 2015-11-24 2017-06-01 富士通株式会社 評価プログラム、評価方法及び評価装置

Also Published As

Publication number Publication date
JPWO2016042926A1 (ja) 2017-07-20
US20230412903A1 (en) 2023-12-21
JP2020182251A (ja) 2020-11-05
JP6747292B2 (ja) 2020-08-26
US20210112181A1 (en) 2021-04-15
US20170289411A1 (en) 2017-10-05
US10911645B2 (en) 2021-02-02
JP6996594B2 (ja) 2022-01-17
WO2016042926A1 (ja) 2016-03-24
JP2022022434A (ja) 2022-02-03
US20190268509A1 (en) 2019-08-29
JP7294396B2 (ja) 2023-06-20
US20230412902A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
JP7294396B2 (ja) 画像処理装置、画像処理方法、及びプログラム
CN110383343B (zh) 不一致检测系统、混合现实系统、程序和不一致检测方法
JP5821012B2 (ja) モデリング装置、3次元モデル生成装置、モデリング方法、プログラム、レイアウトシミュレータ
JP6344050B2 (ja) 画像処理システム、画像処理装置、プログラム
EP2747034A2 (en) Location correction of virtual objects
JP2004062758A (ja) 情報処理装置および方法
JP2013539147A5 (ja)
KR102029895B1 (ko) 구조물 손상 정보가 매핑된 3차원 모델 생성 방법 및 이를 실행시키는 프로그램이 기록된 기록 매체
SG189284A1 (en) Rapid 3d modeling
JP6174968B2 (ja) 撮像シミュレーション装置
JP2007036482A (ja) 情報投影表示装置およびプログラム
US11490062B2 (en) Information processing apparatus, information processing method, and storage medium
US20240071016A1 (en) Mixed reality system, program, mobile terminal device, and method
JP2015233266A (ja) 画像処理システム、情報処理装置、プログラム
Kahn Reducing the gap between Augmented Reality and 3D modeling with real-time depth imaging
JP2023546739A (ja) シーンの3次元モデルを生成するための方法、装置、およびシステム
JP2009210331A (ja) カメラキャリブレーション装置およびカメラキャリブレーション方法
JP6295296B2 (ja) 複合システム及びターゲットマーカ
KR101189167B1 (ko) 메타정보 없는 단일 영상에서 3차원 개체정보 추출방법
TWM559036U (zh) 無標式適地性擴增實境系統
JP2005292027A (ja) 三次元形状計測・復元処理装置および方法
Wöldecke et al. Flexible registration of multiple displays
JP2020057430A (ja) 複合現実システム、プログラム、携帯端末装置、及び方法
JP6429240B2 (ja) 形状検出装置、形状検出方法、及びプログラム
JP2020021401A (ja) キャリブレーションシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230607