JP2022064506A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2022064506A JP2022064506A JP2020173185A JP2020173185A JP2022064506A JP 2022064506 A JP2022064506 A JP 2022064506A JP 2020173185 A JP2020173185 A JP 2020173185A JP 2020173185 A JP2020173185 A JP 2020173185A JP 2022064506 A JP2022064506 A JP 2022064506A
- Authority
- JP
- Japan
- Prior art keywords
- combination
- feature points
- calculated
- dimensional coordinates
- image processing
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 239000011159 matrix material Substances 0.000 claims description 50
- 238000010276 construction Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 21
- 239000000284 extract Substances 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響を可視化する。【解決手段】画像処理装置10は、対象物の各画像から抽出された、対応する特徴点の組合せそれぞれについて、対応する対象物の3次元座標が算出されている場合に、特徴点の組合せ毎に、対応する3次元座標についての誤差を算出する、誤差算出部11と、算出された誤差の中から最大値と最小値とを特定し、最小値から最大値までの間で、複数の閾値を設定する、閾値設定部12と、閾値毎に、誤差が当該閾値以上となる特徴点の組合せを除去した場合について、対象物の3次元形状の状態を特定する、状態特定部13と、閾値毎に、特定された状態を画面上に表示する、状態表示部14と、を備えている。【選択図】図1
Description
本発明は、対象物の複数の画像から、その3次元形状を構築する際に有用となる、画像処理装置、及び画像処理方法に関し、更には、これらを実現するためのプログラムに関する。
近年、画像に写っている対象の3次元形状を構築する技術が注目されている。このような技術の代表例としては、SfM(Structure from Motion)が知られている。SfMでは、特定の対象をカメラの視点を変えながら複数回撮影が行われ、得られた複数枚の画像から、特定の対象の3次元形状が再構築される。
具体的には、まず、SfMでは、画像毎に、その特徴量(例えば、SIFT特徴量、SURF特徴量)が計算され、画像の拡大縮小、回転、及び照度変化に強いロバストネスな特徴点が抽出される。次に、画像間で、抽出した特徴点のマッチングが実行され、一致する特徴点のペア(以下「特徴点ペア」と表記する。)が抽出される。
その後、幾つかの特徴点ペア毎に、これらの幾何学的な関係に基づいて、Fundamental行列が算出され、算出された各Fundamental行列間での差が最も少なくなるように、特徴点ペア毎の幾何学的な関係が調整される。そして、調整後の幾何学的な関係に基づいて、3次元形状(点群データ)が再構築される。
ところで、上述のSfMでは、特徴点間のマッチングに誤りが発生する場合があり、この場合、誤りのある特徴点ペアが抽出されてしまい、復元される3次元形状の精度が低下してしまう。このため、特許文献1及び2に開示されたシステムは、対象物のペア画像それぞれにおいて、対応する線分又は点の指定を受け付け、受け付けた線分又は点に基づいて、誤りのある特徴点ペアを抽出し、抽出した特徴点ペアを削除している。
また、上述のSfMでは、バンドル調整といったフィルタリングによっても、誤った特徴点ペアの削除が行われている。例えば、バンドル調整では、3次元形状が構築された後、特徴点ペアの一方について、それから得られた3次元座標と、抽出元の画像に対応するカメラ行列とを用いて、元の2次元画像上に再投影が行われる。そして、投影された位置の2次元座標と、抽出時の位置の2次元座標とが比較され、前者の2次元座標と後者の2次元座標との差分が算出される。算出の結果、差分が閾値以下の場合に、対象となった特徴点が適正であり、誤りのない特徴点ペアであると判定される。一方、算出の結果、差分が閾値を越える場合は、対象となった特徴点は適正でなく、誤りのある特徴点ペアであると判定される。
しかしながら、特許文献1及び2に開示されたシステムを用いた場合であっても、更に、バンドル調整を実行した場合であっても、誤りのある特徴点ペアを全て削除することは困難である。一方、誤りがあると判定された特徴点ペアであっても、誤りの程度によっては、3次元形状(点群)に影響を与えない場合もある。このため、誤りのある特徴点が3次元形状(点群データ)に与える影響を可視化することが求められている。
本発明の目的の一例は、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響を可視化し得る、画像処理装置、画像処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における画像処理装置は、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出部と、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定部と、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定部と、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示部と、
を備えている、
ことを特徴とする。
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出部と、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定部と、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定部と、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示部と、
を備えている、
ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における画像処理方法は、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を有する、ことを特徴とする。
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を実行させることを特徴とする。
コンピュータに、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響を可視化しすることができる。
(実施の形態)
以下、実施の形態における、画像処理装置、画像処理方法、及びプログラムについて、図1~図12を参照しながら説明する。
以下、実施の形態における、画像処理装置、画像処理方法、及びプログラムについて、図1~図12を参照しながら説明する。
[装置構成]
最初に、実施の形態における画像処理装置の概略構成について図1を用いて説明する。図1は、実施の形態における画像処理装置の概略構成を示す構成図である。
最初に、実施の形態における画像処理装置の概略構成について図1を用いて説明する。図1は、実施の形態における画像処理装置の概略構成を示す構成図である。
図1に示す実施の形態における画像処理装置は、対象物の複数の画像から、対象物の3次元形状を構築する際に有用となる装置である。図1に示すように、画像処理装置10は、誤差算出部11と、閾値設定部12と、状態特定部13と、状態表示部14とを備えている。
誤差算出部11は、対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する対象物の3次元座標が算出されている場合に、特徴点の組合せ毎に、対応する3次元座標についての誤差を算出する。
閾値設定部12は、特徴点の組合せそれぞれについて算出された誤差の中から最大値と最小値とを特定し、最小値から最大値までの間で、複数の閾値を設定する。状態特定部13は、設定された閾値毎に、誤差がその閾値以上となる特徴点の組合せを除去した場合について、対象物の3次元形状の状態を特定する。状態表示部14は、閾値毎に、特定された状態を画面上に表示する。
このように、実施の形態では、特徴点の組合せ毎に、対応する3次元座標についての誤差が算出され、そして、特徴点の組合せを誤りであるとして除去する際の誤差の閾値を段階的に変化させた場合の、対象物の3次元形状の状態が画面に表示される。このため、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響が可視化されることになる。
続いて、図2~図8を用いて、実施の形態における画像処理装置の構成及び機能について具体的に説明する。図2は、実施の形態における画像処理装置の構成を具体的に示す構成図である。
図2に示すように、実施の形態では、画像処理装置10は、上述した誤差算出部11、閾値設定部12、状態特定部13、及び状態表示部14に加えて、画像取得部15と、特徴点抽出部16と、3次元座標算出部17と、3次元形状構築部18と、データ格納部19とを更に備えている。また、画像処理装置10には、表示装置20が接続されている。
画像取得部15は、外部の装置、例えば、撮像装置、端末装置、画像データを保持している記憶装置等から、3次元形状の構築対象が写った複数の画像それぞれの画像データを取得する。図3は、実施の形態において処理対象となる複数の画像の一例を示す図である。図3の例では、ペア画像が例示されているが、実施の形態において対象となる画像の枚数は特に限定されるものではない。
特徴点抽出部16は、対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する。具体的には、特徴点抽出部16は、画像毎に、例えば、SIFT特徴量、又はSURF特徴量を計算して特徴点を特定し、更に、画像間で対応する特徴点同士を、対応する特徴点の組合せとして抽出する。なお、図3の例では、画像が2枚であるため、特徴点の組合せは、特徴点ペアである。図3において、丸で囲まれた部分が特徴点の一つである。また、対応する特徴点の組合せが抽出された2枚の画像は、以降においては、「ペア画像」と表記する。
3次元座標算出部17は、特徴点の組合せ毎に、各組合せを構成する特徴点それぞれのカメラ行列を算出し、算出したカメラ行列を用いて、各組合せの特徴点に対応する、対象物の3次元座標を算出する。
図4~図6を用いて、3次元座標算出部17による3次元座標の算出処理について具体的に説明する。図4は、特徴点の組合せが抽出されたペア画像の一例を示す図である。図5は、カメラ行列から求められる、初期ペア画像のカメラの3次元座標と回転行列との一例を示す図である。図6は、初期ペア画像の選択後に新たに選択された画像とそれから抽出された特徴点の組合せの一例を示す図である。
図4に示すように、3次元座標算出部17は、最初に、一組のペア画像(初期ペア画像)として画像31と画像32とを選択する。そして、この場合、画像31から抽出されている特徴点(m1~m5)と、画像32から抽出されている特徴点(m’1~m’5)とは対応している。m1とm’1、m2とm’2、m3とm’3、m4とm’4、m5とm’5は、それぞれ特徴点の組合せ(以下「特徴点ペア」とも表記する)である。また、図4の例では、画像31はカメラ41によって撮影され、画像32はカメラ42によって撮影されている。図4において、M(M1~M5)は、各特徴点に対応する対象物上の3次元座標である。
続いて、3次元座標算出部17は、初期ペア画像それぞれから抽出された特徴点ペア(m1~m5、m’1~m’5)を用いて、画像31を撮影したカメラ41のカメラ行列Pと、画像32を撮影したカメラ42のカメラ行列P’とを算出する。また、カメラ行列P及びカメラ行列P’は、カメラ41の位置を原点とすると、それぞれ下記の数1及び数2によって表すことができる。
上記数1において、Iは、カメラ41の回転行列である。図5に示すように、カメラ41の位置が原点となるので、I=(1,1,1)となる。また、上記数2において、Rは、カメラ42の回転行列である(R=(Rx,Ry,Rz))。tは、上述したように並進行列であり、カメラ42の位置の3次元座標に相当する(t=(tx,ty,tz))。
従って、この場合は、カメラ行列P及びカメラ行列P’から逆算することによって、R及びtを算出することが出来る。具体的には、3次元座標算出部17は、各特徴点の座標を用いて、下記の数3~数5に示す方程式を解くことによって、R及びtを算出する。数3~数5において、mハットは、m(m1~m5)を正規化して得られた画像A上の座標である。同様に、m’ハットは、m’(m’1~m’5)を正規化して得られた画像B上の座標である。Eは、Essential行列、Kはカメラのキャリブレーション行列である。
また、キャリブレーション行列Kは、下記の数6及び数7から求めることができる。なお、cx、cyは、カメラの中心座標である。
次に、3次元座標算出部17は、各カメラの位置の3次元座標と回転行列とを用いて、三角測量法により特徴点の3次元座標M(M1~M5)を算出する。
次に、図6に示すように、3次元座標算出部17は、特徴点が抽出されている画像であって、初期ペア画像以外の画像の中から、1つの画像33を新たに選択し、新たに選択した画像33と初期ペア画像の1つとを新たなペア画像とする。画像33は、カメラ43によって撮影されている。
そして、3次元座標算出部17は、画像32の特徴点に対応する画像33の特徴点(m’’1~m’’3)を特定し、画像32の特徴点と画像33との特徴点とを特徴点ペアとする。そして、3次元座標算出部17は、画像33を撮影したカメラ43のカメラ行列Pnを算出する。カメラ行列Pnは、下記の数8によって表すことができる。
具体的には、3次元座標算出部17は、画像33の特定された特徴点の画像33における2次元座標と対応する3次元座標M1~M3を用いて、PnP法によってカメラ43のカメラ行列PnのRn及びtnを算出する。
3次元形状構築部18は、3次元座標算出部17によって算出された特徴点毎の3次元座標を用いて、対象物の3次元形状を構築する。具体的には、3次元形状構築部18は、3次元座標に存在する特徴点の集合で構成された点群データを構築する。また、3次元形状構築部18は、特徴点毎の3次元座標及び点群データをデータ格納部19に格納する。
誤差算出部11は、実施の形態では、まず、特徴点の組合せ毎に、各特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、各組合せの3次元座標に適用する。これにより、特徴点の組合せ毎に、各組合せの3次元座標を1つの特徴点が抽出された画像上に投影した場合の2次元座標が算出される。そして、誤差算出部11は、特徴点の組合せ毎に、算出した2次元座標と1つの特徴点の抽出元での2次元座標との差分を、誤差として算出する。
図7を用いて、誤差算出部11による誤差算出処理について具体的に説明する。図7は、実施の形態における誤差算出処理の一例を説明する図である。また、図7の例では、図4に示した画像32上の特徴点の一つを再投影する例について示している。更に、図7において、特徴点に対応する3次元座標、即ち、世界座標系での3次元座標を(XW,YW,ZW)とし、特徴点の抽出時の位置の2次元座標を(xf,yf)とする。また、特徴点のカメラ座標系での座標を(XC,YC,ZC)とする。
まず、誤差算出部11は、下記の数9を用いて、カメラ行列P’(=[R|t])と特徴点の3次元座標(XW,YW,ZW)とから、特徴点のカメラ座標系での座標(XC,YC,ZC)を算出する。
続いて、誤差算出部11は、下記の数10を用いて、特徴点のカメラ座標系での座標(XC,YC,ZC)を正規化する。
続いて、誤差算出部11は、上記数10で正規化された座標と、カメラの内部パラメータ(図7の例では、カメラ42の焦点距離f、画像中心位置の座標(cx,cy)とを、下記の数11に適用して、特徴点を画像32に再投影した時の2次元座標(xp,yp)を算出する。
次に、誤差算出部11は、下記の数12を用いて、上記数11から算出した再投影後の2次元座標(xp,yp)と特徴点の抽出時の位置の2次元座標(xf,yf)との差分dを、対応する3次元座標についての誤差として算出する。
このように、実施の形態では、特徴点を画像上に再投影することによって誤差が算出される。但し、実施の形態では、誤差の算出手法は、再投影による手法に限定されることはなく、他の手法として、エピポーラ線を利用した手法がある。
図8を用いて、誤差算出部11による誤差算出処理の他の例について説明する。図8は、実施の形態における誤差算出処理の他の例を説明する図である。図8においては、特徴点piと特徴点p’iとの組合せが、誤差算出の対象であるとする。また、図8において、Eはエピポーラ面を示し、Oiは一方の画像のカメラの中心位置を示し、O’iは他方の画像のカメラの中心位置を示している。更に、図8において、左右に示された平行四辺形はそれぞれ画像のフレームを示している。
図8の例において、誤差算出部11は、エピポーラ線についての下記の数13に示す関係を用いて、特徴点piが存在しているエピポーラ線l1に対応するエピポーラ線l’1を算出する。そして、誤差算出部11は、算出したエピポーラ線l’1と特徴点p’iとの距離を、対応する3次元座標についての誤差dとして算出する。なお、図8において、Xiは、特徴点pi及び特徴点p’iに対応する3次元空間における点である。ei及びe’iは、それぞれ、対応するエピポーラ線のエピポーラ面Eとの交点を示している。
上記数13において、Fは、Fundamental行列(参照文献)である。Fundamental行列は、下記数14から算出される。下記の数14において、「x」は、3次元空間における点Xを一方の画像上に射影することによって得られた二次元上の点である。「x’」は、3次元空間における点Xを他方の画像上に射影することによって得られた二次元上の点である。Tは転置行列である。
参照文献:Richard Hartleyand Andrew Zisserman, “Multiple View Geometry in Computer Vision Second Edition”, Cambridge University Press, March 2004.
閾値設定部12は、実施の形態では、まず、誤差算出部11によって特徴点の組合せ毎に算出された誤差の中から、最大値dmaxと最小値dminとを特定する。そして、閾値設定部12は、最小値dmin以上、最大値dmax以下の範囲内で、n個の閾値Th1、Th2、Th3、・・・、Thnを設定する(数15)。
状態特定部13は、実施の形態では、閾値毎に、誤差がその閾値以上となる特徴点の組合せを除去した場合について、点群データの状況を示す指標を算出することで、対象物の3次元形状の状態を特定する。
また、状態特定部13は、閾値毎に、指標として、例えば、以下に示す(a)~(d)のうち少なくとも1つを算出することができる。
(a)特徴点の組合せの除去後に点群データを構成している点の個数
(b)除去されなかった特徴点の組合せにおける平均誤差
(c)特徴点の組合せの除去後の点群データの点の個数と除去前における点群データの点の個数との比率(以下「誤差割合」と表記する。)
(d)特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率(以下「残点群割合」と表記する。)
(a)特徴点の組合せの除去後に点群データを構成している点の個数
(b)除去されなかった特徴点の組合せにおける平均誤差
(c)特徴点の組合せの除去後の点群データの点の個数と除去前における点群データの点の個数との比率(以下「誤差割合」と表記する。)
(d)特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率(以下「残点群割合」と表記する。)
状態表示部14は、実施の形態では、各閾値と、閾値毎に算出された指標とを、表示装置20の画面上に表示する。また、状態表示部14は、3次元形状構築部18によって構築された点群データも、表示装置20の画面上に表することができる。そして、複数の閾値のうち1つが選択されると、点群データ上で、選択された閾値によって除去される特徴点の組合せが対応する部分を特定し、そして、点群データを表示すると共に、特定した部分を表すアイコンを表示することができる。
3次元形状構築部18は、閾値設定部12によって複数の閾値が設定されると、閾値毎に、誤差がその閾値以上となる特徴点の組合せの3次元座標を除去し、除去されていない3次元座標を用いて、対象物の点群データを構築することもできる。この場合は、状態表示部14は、閾値と、それに対応する点群データとを、表示装置20の画面上に表示する。
[装置動作]
次に、実施の形態における画像処理装置10の動作について図9を用いて説明する。図9は、実施の形態における画像処理装置の動作を示すフロー図である。以下の説明においては、適宜図1~図8を参照する。また、実施の形態1では、画像処理装置10を動作させることによって、画像処理方法が実施される。よって、実施の形態における画像処理方法の説明は、以下の画像処理装置10の動作説明に代える。
次に、実施の形態における画像処理装置10の動作について図9を用いて説明する。図9は、実施の形態における画像処理装置の動作を示すフロー図である。以下の説明においては、適宜図1~図8を参照する。また、実施の形態1では、画像処理装置10を動作させることによって、画像処理方法が実施される。よって、実施の形態における画像処理方法の説明は、以下の画像処理装置10の動作説明に代える。
図9に示すように、最初に、画像取得部15は、例えば、撮像装置、端末装置、画像データを保持している記憶装置等から、対象物が写った複数の画像それぞれの画像データを取得する(ステップA1)。
次に、特徴点抽出部16は、ステップA1で取得された画像データそれぞれから、対応する特徴点の組合せを抽出する(ステップA2)。
次に、3次元座標算出部17は、ステップA2で抽出された特徴点の組合せ毎に、各組合せを構成する特徴点それぞれのカメラ行列を算出し、算出したカメラ行列を用いて、各組合せの特徴点に対応する、対象物の3次元座標を算出する(ステップA3)。
次に、3次元形状構築部18は、ステップA3で算出された特徴点毎の3次元座標を用いて、対象物の3次元形状、具体的には、3次元空間に存在する特徴点の集合で構成された点群データを構築する(ステップA4)。
次に、誤差算出部11は、ステップA2で抽出された特徴点の組合せ毎に、例えば、一方の特徴点を画像上に再投影することによって、ステップA3で算出された3次元座標についての誤差を算出する(ステップA5)。
次に、閾値設定部12は、ステップA5によって算出された誤差の中から、最大値dmaxと最小値dminとを特定し、最小値dmin以上、最大値dmax以下の範囲内で、n個の閾値Th1、Th2、Th3、・・・、Thnを設定する(ステップA6)。
次に、状態特定部13は、ステップA6で設定された閾値毎に、誤差がその閾値以上となる特徴点の組合せを除去した場合について、点群データの状況を示す指標を算出し、それによって、対象物の3次元形状の状態を特定する(ステップA7)。
次に、状態表示部14は、ステップ6で設定された閾値毎に、ステップA7で算出された指標を、表示装置20の画面上に表示する(ステップA8)。ステップA8の実行後、画像処理装置10における処理は終了する。図10は、図9に示すステップA8によって画面上に表示される閾値毎の指標の一例を示す図である。また、ステップA8では状態表示部14は、ステップA4で構築された点群データも、表示装置20の画面上に表示することができる。
また、ステップA8では、状態表示部14は、更に、複数の閾値のうちいずれかの選択を受け付けることもできる。そして、状態表示部14は、ユーザがいずれか1つの閾値を選択すると(図10において●の閾値)、図11に示すように、点群データ上で、選択された閾値によって除去される特徴点(の組合せ)が対応する部分を特定し、特定した部分を表すアイコンを表示することができる。図11は、画面上に表示される点群データの一例を示す図である。図11の例では、特定した部分を表すアイコンとして★が用いられている。
[実施の形態における効果]
以上のように、実施の形態では、特徴点の組合せにおける誤差について複数の閾値が設定され、閾値毎に、物体の点群データの状況を示す指標が算出され、閾値毎の指標が画面に表示される。そして、ユーザが、いずれかの閾値を選択すると、点群データ上で、選択した閾値に応じて削除される部分が示される。つまり、実施の形態によれば、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響が可視化されることになる。
以上のように、実施の形態では、特徴点の組合せにおける誤差について複数の閾値が設定され、閾値毎に、物体の点群データの状況を示す指標が算出され、閾値毎の指標が画面に表示される。そして、ユーザが、いずれかの閾値を選択すると、点群データ上で、選択した閾値に応じて削除される部分が示される。つまり、実施の形態によれば、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響が可視化されることになる。
[プログラム]
実施の形態におけるプログラムとしては、コンピュータに、図9に示すステップA1~A8を実行させるプログラムが挙げられる。このプログラムをコンピュータにインストールし、実行することによって、実施の形態における画像処理装置と画像処理方法とを実現することができる。この場合、コンピュータのプロセッサは、誤差算出部11、閾値設定部12、状態特定部13、状態表示部14、画像取得部15、特徴点抽出部16、3次元座標算出部17、及び3次元形状構築部18として機能し、処理を行なう。実施の形態では、データ格納部19は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
実施の形態におけるプログラムとしては、コンピュータに、図9に示すステップA1~A8を実行させるプログラムが挙げられる。このプログラムをコンピュータにインストールし、実行することによって、実施の形態における画像処理装置と画像処理方法とを実現することができる。この場合、コンピュータのプロセッサは、誤差算出部11、閾値設定部12、状態特定部13、状態表示部14、画像取得部15、特徴点抽出部16、3次元座標算出部17、及び3次元形状構築部18として機能し、処理を行なう。実施の形態では、データ格納部19は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
また、実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、誤差算出部11、閾値設定部12、状態特定部13、状態表示部14、画像取得部15、特徴点抽出部16、3次元座標算出部17、及び3次元形状構築部18のいずれかとして機能しても良い。
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、画像処理装置を実現するコンピュータについて図12を用いて説明する。図12は、実施の形態における画像処理装置を実現するコンピュータの一例を示すブロック図である。
ここで、実施の形態におけるプログラムを実行することによって、画像処理装置を実現するコンピュータについて図12を用いて説明する。図12は、実施の形態における画像処理装置を実現するコンピュータの一例を示すブロック図である。
図12に示すように、コンピュータ110は、CPU(CentralProcessing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-ProgrammableGate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact DiskRead Only Memory)などの光学記録媒体が挙げられる。
実施の形態における画像処理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア(例えば、回路)を用いることによっても実現可能である。更に、画像処理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記18)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出部と、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定部と、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定部と、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示部と、
を備えている、
ことを特徴とする画像処理装置。
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出部と、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定部と、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定部と、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示部と、
を備えている、
ことを特徴とする画像処理装置。
(付記2)
付記1に記載の画像処理装置であって、
前記誤差算出部が、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理装置。
付記1に記載の画像処理装置であって、
前記誤差算出部が、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理装置。
(付記3)
付記1または2に記載の画像処理装置であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出部と、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出部と、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築部と、
を更に備えている、
ことを特徴とする画像処理装置。
付記1または2に記載の画像処理装置であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出部と、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出部と、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築部と、
を更に備えている、
ことを特徴とする画像処理装置。
(付記4)
付記3に記載の画像処理装置であって、
前記3次元形状構築部が、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定部が、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示部が、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理装置。
付記3に記載の画像処理装置であって、
前記3次元形状構築部が、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定部が、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示部が、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理装置。
(付記5)
付記4に記載の画像処理装置であって、
前記状態特定部が、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理装置。
付記4に記載の画像処理装置であって、
前記状態特定部が、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理装置。
(付記6)
付記4または5に記載の画像処理装置であって、
前記状態表示部が、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理装置。
付記4または5に記載の画像処理装置であって、
前記状態表示部が、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理装置。
(付記7)
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を有する、
ことを特徴とする画像処理方法。
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を有する、
ことを特徴とする画像処理方法。
(付記8)
付記7に記載の画像処理方法であって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理方法。
付記7に記載の画像処理方法であって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理方法。
(付記9)
付記7または8に記載の画像処理方法であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に有する、
ことを特徴とする画像処理方法。
付記7または8に記載の画像処理方法であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に有する、
ことを特徴とする画像処理方法。
(付記10)
付記9に記載の画像処理方法であって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理方法。
付記9に記載の画像処理方法であって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理方法。
(付記11)
付記10に記載の画像処理方法であって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理方法。
付記10に記載の画像処理方法であって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理方法。
(付記12)
付記10または11に記載の画像処理方法であって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理方法。
付記10または11に記載の画像処理方法であって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理方法。
(付記13)
コンピュータに、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を実行させる、プログラム。
コンピュータに、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を実行させる、プログラム。
(付記14)
付記13に記載のプログラムであって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とするプログラム。
付記13に記載のプログラムであって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とするプログラム。
(付記15)
付記13または14に記載のプログラムであって、
前記コンピュータに、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に実行させる、
ことを特徴とするプログラム。
付記13または14に記載のプログラムであって、
前記コンピュータに、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に実行させる、
ことを特徴とするプログラム。
(付記16)
付記15に記載のプログラムであって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とするプログラム。
付記15に記載のプログラムであって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とするプログラム。
(付記17)
付記16に記載のプログラムであって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とするプログラム。
付記16に記載のプログラムであって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とするプログラム。
(付記18)
付記16または17に記載のプログラムであって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とするプログラム。
付記16または17に記載のプログラムであって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とするプログラム。
以上のように本発明によれば、複数の画像から対応する特徴点の組合せを抽出して3次元形状を構築するに際して、誤りのある特徴点の組合せが3次元形状に与える影響を可視化することができる。本発明は、SfMといった複数の画像から三次元形状を構築する技術に有用である。
10 画像処理装置
11 誤差算出部
12 閾値設定部
13 状態特定部
14 状態表示部
15 画像取得部
16 特徴点抽出部
17 3次元座標算出部
18 3次元形状構築部
19 データ格納部
20 表示装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
11 誤差算出部
12 閾値設定部
13 状態特定部
14 状態表示部
15 画像取得部
16 特徴点抽出部
17 3次元座標算出部
18 3次元形状構築部
19 データ格納部
20 表示装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
Claims (18)
- 対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出部と、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定部と、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定部と、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示部と、
を備えている、
ことを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記誤差算出部が、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理装置。 - 請求項1または2に記載の画像処理装置であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出部と、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出部と、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築部と、
を更に備えている、
ことを特徴とする画像処理装置。 - 請求項3に記載の画像処理装置であって、
前記3次元形状構築部が、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定部が、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示部が、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理装置。 - 請求項4に記載の画像処理装置であって、
前記状態特定部が、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理装置。 - 請求項4または5に記載の画像処理装置であって、
前記状態表示部が、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理装置。 - 対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を有する、
ことを特徴とする画像処理方法。 - 請求項7に記載の画像処理方法であって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とする画像処理方法。 - 請求項7または8に記載の画像処理方法であって、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に有する、
ことを特徴とする画像処理方法。 - 請求項9に記載の画像処理方法であって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とする画像処理方法。 - 請求項10に記載の画像処理方法であって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とする画像処理方法。 - 請求項10または11に記載の画像処理方法であって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とする画像処理方法。 - コンピュータに、
対象物の複数の画像それぞれから抽出された、対応する特徴点の組合せそれぞれについて、対応する前記対象物の3次元座標が算出されている場合に、前記特徴点の組合せ毎に、対応する前記3次元座標についての誤差を算出する、誤差算出ステップと、
前記特徴点の組合せそれぞれについて算出された前記誤差の中から最大値と最小値とを特定し、前記最小値から前記最大値までの間で、複数の閾値を設定する、閾値設定ステップと、
複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記対象物の3次元形状の状態を特定する、状態特定ステップと、
複数の前記閾値それぞれ毎に、特定された前記状態を画面上に表示する、状態表示ステップと、
を実行させる、プログラム。 - 請求項13に記載のプログラムであって、
前記誤差算出ステップにおいて、
前記特徴点の組合せ毎に、当該特徴点の組合せを構成する1つの特徴点の抽出元の画像に対応するカメラ行列を、当該組合せの前記3次元座標に適用することによって、当該組合せの前記3次元座標を前記1つの特徴点が抽出された画像上に投影した場合の2次元座標を算出し、算出した2次元座標と前記1つの特徴点の2次元座標との差分を、誤差として算出する、
ことを特徴とするプログラム。 - 請求項13または14に記載のプログラムであって、
前記コンピュータに、
前記対象物の複数の画像それぞれから、対応する特徴点の組合せを抽出する、特徴点抽出ステップと、
前記特徴点の組合せ毎に、当該組合せを構成する特徴点それぞれのカメラ行列を算出し、算出した前記カメラ行列を用いて、当該組合せの特徴点に対応する、前記対象物の3次元座標を算出する、3次元座標算出ステップと、
前記特徴点の組合せ毎に算出された前記3次元座標を用いて、前記対象物の3次元形状を構築する、3次元形状構築ステップと、
を更に実行させる、
ことを特徴とするプログラム。 - 請求項15に記載のプログラムであって、
前記3次元形状構築ステップにおいて、前記対象物の3次元形状として、前記3次元座標に存在する点の集合で構成された点群データを構築し、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、誤差が当該閾値以上となる前記特徴点の組合せを除去した場合について、前記点群データの状況を示す指標を算出することで、前記対象物の3次元形状の状態を特定し、
前記状態表示ステップにおいて、複数の前記閾値それぞれ毎に、算出した前記指標を表示する、
ことを特徴とするプログラム。 - 請求項16に記載のプログラムであって、
前記状態特定ステップにおいて、複数の前記閾値それぞれ毎に、前記指標として、
前記特徴点の組合せの除去後に前記点群データを構成している点の個数、除去されなかった前記特徴点の組合せにおける平均誤差、前記特徴点の組合せの除去後の前記点群データの点の個数と除去前における前記点群データの点の個数との比率、及び前記特徴点の組合せの除去後における平均誤差と除去前における平均誤差との比率のうち、少なくとも1つを算出する、
ことを特徴とするプログラム。 - 請求項16または17に記載のプログラムであって、
前記状態表示ステップにおいて、複数の前記閾値のうち1つが選択されると、前記点群データ上で、選択された前記閾値によって除去される前記特徴点の組合せが対応する部分を特定し、そして、前記点群データを表示すると共に、特定した前記部分を表すアイコンも表示する、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020173185A JP2022064506A (ja) | 2020-10-14 | 2020-10-14 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020173185A JP2022064506A (ja) | 2020-10-14 | 2020-10-14 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022064506A true JP2022064506A (ja) | 2022-04-26 |
Family
ID=81385938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020173185A Pending JP2022064506A (ja) | 2020-10-14 | 2020-10-14 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022064506A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024024055A1 (ja) * | 2022-07-28 | 2024-02-01 | 富士通株式会社 | 情報処理方法、装置、及びプログラム |
-
2020
- 2020-10-14 JP JP2020173185A patent/JP2022064506A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024024055A1 (ja) * | 2022-07-28 | 2024-02-01 | 富士通株式会社 | 情報処理方法、装置、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10368062B2 (en) | Panoramic camera systems | |
WO2020206903A1 (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
JP6716996B2 (ja) | 画像処理プログラム、画像処理装置、及び画像処理方法 | |
TW201616451A (zh) | 點雲套索選取系統及方法 | |
KR102158390B1 (ko) | 영상 처리 방법 및 장치 | |
US11189053B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium | |
CN113592994B (zh) | 用于纹理贴图的方法、装置和存储介质 | |
JP7003617B2 (ja) | 推定装置、推定方法、及び推定プログラム | |
JP2022064506A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6347610B2 (ja) | 画像処理装置および3次元空間情報取得方法 | |
JP6989153B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6156922B2 (ja) | 三次元データ生成装置、三次元データ生成方法、及びプログラム | |
JP7276978B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN114723796A (zh) | 一种三维点云生成方法、装置及电子设备 | |
CN113167568B (zh) | 坐标计算装置、坐标计算方法和计算机可读记录介质 | |
JP7294702B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN113436063A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN111369425A (zh) | 图像处理方法、装置、电子设备和计算机可读介质 | |
JP6586852B2 (ja) | 画像処理装置 | |
JP2020187626A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN117635875B (zh) | 一种三维重建方法、装置及终端 | |
US20240029288A1 (en) | Image processing apparatus, image processing method, and storage medium | |
JP5636966B2 (ja) | 誤差検出装置及び誤差検出プログラム | |
JP2023104399A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US20240202940A1 (en) | Feature Detection for Image-Based Augmented Reality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240513 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240702 |