JP4136652B2 - 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 - Google Patents
画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 Download PDFInfo
- Publication number
- JP4136652B2 JP4136652B2 JP2002381504A JP2002381504A JP4136652B2 JP 4136652 B2 JP4136652 B2 JP 4136652B2 JP 2002381504 A JP2002381504 A JP 2002381504A JP 2002381504 A JP2002381504 A JP 2002381504A JP 4136652 B2 JP4136652 B2 JP 4136652B2
- Authority
- JP
- Japan
- Prior art keywords
- shape
- image
- image processing
- dimensional shape
- subject
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器に関する。
【0002】
【従来の技術】
現在、デジタルカメラの普及は急速に進んでおり、デジタルカメラを利用したアプリケーションの開発も盛んである。この例としては「画像のパノラマ合成」「画像の歪補正」「三次元形状の算出」「ロボットの自律移動」「車両の自動運転」等が挙げられる。この中でも「三次元形状の算出」は、電子商取引のために商品の三次元情報を提供したいというようなニーズが存在することから、その進展が期待されている。
【0003】
【特許文献1】
特開平11−136575号公報
【0004】
【特許文献2】
特開平11−306363号公報
【0005】
【特許文献3】
特開2000−115639号公報
【0006】
【特許文献4】
特開2000−134537号公報
【0007】
【特許文献5】
特開2000−228748号公報
【0008】
【特許文献6】
特開2001−92944号公報
【0009】
【特許文献7】
特開2001−148025号公報
【0010】
【特許文献8】
特開2001−325069号公報
【0011】
【非特許文献1】
Q.−T.Luong,O.D.Faugeras「Determining the Fundamental Matrix with Planes:Instability and New Algorithms」Proc. of Computer Vision and Pattern Recognition,p489−494,1993
【0012】
【非特許文献2】
芋生周作,浪江宏宗,安田明生著「RTK−GPSによる船体の三次元姿勢測定:3−Dimensional Atitude Measurement of a Ship by RTK−GPS Positioning」東京商船大学
【0013】
【非特許文献3】
浪江宏宗著「DGPS及びRTK−GPSの実用化に関する研究」東京商船大学
【0014】
【非特許文献4】
徐剛,辻三郎著「三次元ビジョン」共立出版,第3章
【0015】
【非特許文献5】
岡谷貴之,出口光一郎著「3次元向きセンサを取り付けたカメラを用いた投票によるカメラの並進運動の推定」ヒューマンインタフェース コンピュータビジョンとイメージメディア,2001/9/13
【0016】
【非特許文献6】
Richard I.Hartley,Computer VisionAnd Image Understanding,vol.68,No.2,November,pp146−157,1997
【0017】
【非特許文献7】
森尻智昭,小野寺康浩,金谷健一著「2画像からの平面の3次元運動の計算」情報処理学会研究報告,94−CV−90,1994
【0018】
【非特許文献8】
徐剛,辻三郎著「三次元ビジョン」共立出版,第6章
【0019】
【非特許文献9】
金谷健一著「画像理解」司巧社,第4章
【0020】
【発明が解決しようとする課題】
デジタルカメラ等の撮像装置により撮像された画像を使用して被写体の三次元形状を算出するためには、一般的に「Structure from Motion」という手法が使用される。しかし、この手法では、被写体形状が平面形状に近いと遠近差が小さいため算出精度が低下する(非特許文献1)という。そのため、この手法では、被写体形状が紙や平板のような平面形状である場合には、被写体の三次元形状を精度よく算出することができないという問題がある。
【0021】
被写体形状が平面形状である場合には、特許文献7に記載されているように、射影変換行列を算出して被写体の三次元形状を算出することができる。しかし、この手法では逆に、被写体形状が立体形状である場合には、被写体の三次元形状を精度よく算出することができないという問題がある。
【0022】
したがって、本発明は、被写体形状が平面形状である場合にも立体形状である場合にも、被写体の三次元形状を精度よく算出することを課題とする。
【0023】
【課題を解決するための手段】
本発明の画像処理装置は、撮像装置により撮像された画像について画像処理を実行して三次元形状を算出する画像処理装置であって、2 箇所の視点から撮像された画像上の4点以上の対応点の位置情報から射影変換行列を算出する変換行列算出手段と、前記射影変換行列算出手段により算出された射影変換行列により前記画像の被写体の形状判定に用いる値を抽出する奥行抽出手段と、前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定する形状判定手段を備え、前記奥行抽出手段は、互いに異なる組合せの対応点から算出された2つの射影変換行列の差をもって前記形状判定に用いる値とし、平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、前記画像について立体形状用の画像処理を実行して三次元形状を算出することを特徴とする。
【0034】
本発明の画像処理装置又は画像形成方法は、前記画像の被写体が平面形状であるか立体形状であるかを判定して、平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、前記画像について立体形状用の画像処理を実行して三次元形状を算出するため、被写体形状が平面形状である場合にも立体形状である場合にも、被写体形状の判定のおかげで、被写体の三次元形状を精度よく算出することができる。
【0035】
本発明の他の局面における発明の画像処理装置又は画像形成方法は、前記画像の被写体の形状判定に用いる値を抽出して、前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定して、平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、立体形状用の画像処理を実行して三次元形状を算出するため、被写体形状が平面形状である場合にも立体形状である場合にも、形状判定に用いる値の抽出を介した被写体形状の判定のおかげで、被写体の三次元形状を精度よく算出することができる。
【0036】
本発明の他の局面における発明の画像処理装置又は画像形成方法は、前記画像の被写体の三次元形状を概算して、前記三次元形状から前記画像の被写体の形状判定に用いる値を抽出して、前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定して、平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、前記画像について立体形状用の画像処理を実行して三次元形状を算出するため、被写体形状が平面形状である場合にも立体形状である場合にも、被写体の三次元形状の概算を介した被写体の形状判定に用いる値の抽出を介した被写体形状の判定のおかげで、被写体の三次元形状を精度よく算出することができる。
【0037】
【発明の実施の形態】
本発明の実施の形態について説明する。
【0038】
図1は、撮像装置101と画像処理装置102を表す。撮像装置101は、画像を撮像する装置であり、画像処理装置102は、その画像について画像処理を実行して三次元形状を算出する装置である。撮像装置101は、ここではデジタルカメラであり、画像処理装置102は、ここではパソコンであるとする。両者の間での画像の授受は、両者をコードで接続するなどして実行する。
【0039】
図2は、撮像装置101のハードウェア構成を表す。被写体の画像は、固定レンズ201・ズームレンズ202・絞り機構203・シャッタ204・フォーカスレンズ205を通して、撮像素子206に形成される。撮像素子206からの画像信号は、CDS回路207(Correlated Double Sampling)でサンプリングされて、A/D変換器208でデジタル信号化される。この際のタイミングは、TG211(Timing Generator)により生成される。撮像素子206からの画像信号はその後、IPP209(Image Pre−Processor)でアパーチャ補正や圧縮等の画像処理が実行されて、画像バッファメモリ210で一時的に保存される。各ユニットの動作は、MPU212により制御される。画像バッファメモリ210で保存された画像信号は、最終的に外部通信機器221により外部機器に転送される。
【0040】
図3は、画像処理装置102のハードウェア構成を表す。CPU301は、各種の処理や制御を実行する。SDRAM302は、CPU301の作業領域として利用されると共に、各種の処理プログラムや制御プログラムの固定情報の記録領域として利用される。外部I/F321は、インターネット等の電気通信回線や外部機器と接続するためのインタフェースであり、表示I/F322は、ディスプレイ等の表示装置と接続するためのインタフェースであり、入力I/F323は、キーボードやマウス等の入力装置と接続するためのインターフェースである。撮像装置101からの画像信号や、各種の処理プログラムや制御プログラムは、CD−RWドライブ等の記録装置311や外部I/F321を介してSDRAM202にロードされる。この際、HDD312に一旦セーブしてSDRAM302に適宜ロードしてもよい。
【0041】
図4は、画像処理装置102の機能ブロックを表す。画像処理装置102は、形状判定部401と、第1処理部402と、第2処理部403と、記録部404を備える。これらの機能ブロックにより画像処理装置102は、撮像装置101により撮像された画像について画像処理を実行して三次元形状を算出する。
【0042】
形状判定部401は、この画像の被写体が平面形状であるか立体形状であるかを自動的に判定する。例えば、この画像の被写体の奥行を抽出して、この奥行からこの画像の被写体が平面形状であるか立体形状であるかを自動的に判定する。これについては第1実施例として後述する。例えば、この画像の被写体の三次元形状を概算して、この三次元形状からこの画像の被写体の奥行を抽出して、この奥行からこの画像の被写体が平面形状であるか立体形状であるかを自動的に判定する。これについては第2実施例として後述する。
【0043】
第1処理部402は、形状判定部401によりこの画像の被写体が平面形状であると判定された場合に、この画像について平面形状用の画像処理を実行して三次元形状を算出する。この詳細については後述することにする。第2処理部403は、形状判定部401によりこの画像の被写体が立体形状であると判定された場合に、この画像について立体形状用の画像処理を実行して三次元形状を算出する。この詳細については後述することにする。記録部404は、画像や判定結果や算出結果等を記録する。
【0044】
このように、画像処理装置102は、上記の画像の被写体が平面形状であるか立体形状であるかを自動的に判定して、平面形状である場合は、上記の画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、上記の画像について立体形状用の画像処理を実行して三次元形状を算出するため、被写体形状が平面形状である場合にも立体形状である場合にも、被写体形状の判定のおかげで、被写体の三次元形状を精度よく算出することができる。
【0045】
(1)第1実施例
図5は、第1実施例の画像処理装置102の機能ブロックを表す。第1実施例の画像形成装置102は、図4の形状判定部401を奥行抽出部501と形状判定部502により構成したものである。これらの機能ブロックにより第1実施例の画像処理装置102は、撮像装置101により撮像された画像について画像処理を実行して三次元形状を算出する。
【0046】
奥行抽出部501は、この画像の被写体の奥行を自動的に抽出して、形状判定部502は、この奥行からこの画像の被写体が平面形状であるか立体形状であるかを自動的に判定する。ここでは、2箇所以上の視点から撮像された画像の射影変換により「被写体奥行」を抽出して、抽出された被写体奥行の閾値処理により「被写体形状」を判定するものとする。
【0047】
なお、この「被写体奥行」とは、図6のように、被写体を正面方向(被写体の概形を直方体で置き換えたときの最大面)から見たときの被写体の厚みのことを意味する。被写体奥行が小さいことは被写体形状が平面形状であることを、被写体奥行が大きいことは被写体形状が立体形状であることを意味する。
【0048】
さて、射影変換行列は、2箇所の視点から撮像された画像上の4点以上の対応点の位置情報から算出することができる。ただし、被写体形状が平面形状であることが射影変換を行う上での前提となるため、被写体形状が立体形状である場合には射影変換を行うことができず、射影変換行列を精度よく算出することができない。別の見方をすると、互いに異なる組み合わせの対応点から射影変換行列B1と射影変換行列B2を算出した場合、被写体形状が平面形状から離れるほどB1とB2の差が広がることになる。すなわち、B1とB2の差をもって被写体奥行とすることができる。よってここでは、奥行抽出部501は、2箇所以上の視点から撮像された画像の射影変換により被写体奥行(B1とB2の差)を抽出して、形状判定部502は、抽出された被写体奥行(B1とB2の差)の閾値処理により被写体形状を判定するものとする。
【0049】
なお、この「2箇所以上の視点から撮像された画像」は、同一の撮像装置101により撮像された画像同士でも、別個の撮像装置101により撮像された画像同士でもよい。
【0050】
図7は、第1実施例の画像処理装置102に係るフローチャートである。
【0051】
S701では、2箇所以上の視点から撮像された画像をメモリに記録する。
【0052】
S702では、1枚目の画像から特徴点を検出する。具体的には、▲1▼各画素を中心位置にして特徴点検出ブロックを作成し、各特徴点検出ブロック内の輝度値分布(又はRGB値分布)を検出して、▲2▼画像を領域分割し、各領域内で輝度値分布の差が顕著である特徴点検出ブロックを検出して、▲3▼この特徴点検出ブロックの中心位置(特徴点)の位置情報と輝度値分布をメモリに記録する。
【0053】
S703では、2枚目の画像から特徴点の対応点を検出する。具体的には、▲1▼各画素を中心位置にして対応点検出ブロックを作成し、各対応点検出ブロック内の輝度値分布を検出して、▲2▼この輝度値分布と各特徴点の輝度値分布(S702でメモリに記録した輝度値分布)とのマッチング行い、▲3▼一致度が最良である対応点検出ブロックの中心位置(対応点)の位置情報をメモリに記録する。一致度が閾値より良い対応点検出ブロックが存在しない場合には、その特徴点をメモリから消去する。
【0054】
S704では、各対応点の正否を判断する。具体的には、▲1▼各特徴点から縦横5ピクセルの画素を中心位置にして特徴点検出ブロックを作成して、▲2▼各対応点から縦横5ピクセルの画素を中心位置にして対応点検出ブロックを作成して、▲3▼この特徴点検出ブロックとこの対応点検出ブロックとのマッチングを行い、▲4▼一致度が閾値より悪い場合には、間違えて検出されたものと判断し、その対応点をメモリから消去する。一致度に応じて対応点の順位付けをして、メモリに記録しておいてもよい。
【0055】
S705では、任意に選択した4点以上の対応点の位置情報から射影変換行列B1を算出する。S706では、任意に選択した4点以上の対応点の位置情報から射影変換行列B2を算出する。S707では、B1とB2の差の閾値処理を行う。なお、S705で選択する対応点とS706で選択する対応点を別個のものとするために、S705とS706との間で、S705で選択された対応点をメモリから消去する。
【0056】
B1とB2の差が閾値以下である場合には、S708にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。B1とB2の差が閾値以下でない場合には、S709にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。いずれの場合もS710にて、三次元形状の算出結果をメモリに記録する。
【0057】
(2)第2実施例
図8は、第2実施例の画像処理装置102の機能ブロックを表す。第2実施例の画像形成装置102は、図4の形状判定部401を三次元形状概算部801と奥行抽出部802と形状判定部803により構成したものである。これらの機能ブロックにより第1実施例の画像処理装置102は、撮像装置101により撮像された画像について画像処理を実行して三次元形状を算出する。
【0058】
三次元形状概算部801は、この画像の被写体の大まかな三次元形状を自動的に概算して、奥行抽出部802は、この三次元形状からこの画像の被写体の奥行を自動的に抽出して、形状判定部803は、この奥行からこの画像の被写体が平面形状であるか立体形状であるかを自動的に判定する。ここでは、後述する手法により「被写体の三次元形状」を概算して、概算された被写体の三次元形状の点群データにより「被写体奥行」を抽出して、抽出された被写体奥行の閾値処理により「被写体形状」を判定するものとする。
【0059】
被写体の大まかな三次元形状を概算する手法としては、▲1▼因子分解法を使用して概算する手法、▲2▼対応点からオプティカルフローを算出して概算する手法、▲3▼被写体の輪郭を抽出して概算する手法、▲4▼被写体にパタン光を照射して三角測定により概算する手法、▲5▼被写体からの反射光の強度比を測定して概算する手法、▲6▼焦点距離の違いによる画像ボケを利用して概算する手法等が挙げられる。よってここでは、三次元形状概算部801は、いずれかの手法により被写体の三次元形状を概算するものとする。
【0060】
なお、手法▲4▼や手法▲5▼により被写体の三次元形状を概算する場合には、被写体に光を照射するための光照射装置を撮像装置101に設置してもよい。
【0061】
以下の例のように、概算された被写体の三次元形状を利用すれば、被写体奥行を抽出することができる。まず、概算された被写体の三次元形状から、この三次元形状を構成する点群データを抽出する。次に、5点以上の点群データを平面方程式「ax+by+cz=d」に代入して、4個の定数「a,b,c,d」を算出する。5点以上の点群データを代入して4個の定数を算出するため、定数解が一意に決定されず分布を持つ。そこで、最小二乗法を使用して、各点群データと平面方程式との距離の二乗和が最小になるようにして、定数解を決定することにする。ここで、被写体形状が平面形状であれば、点群データは平面をなすのであるから、この最小二乗和は小さい値になるはずであるが、被写体形状が立体形状であれば、点群データは平面をなさないのであるから、この最小二乗和は大きい値になるはずである。すなわち、この最小二乗和をもって被写体奥行とすることができる。よってここでは、奥行抽出部802は、概算された被写体の三次元形状の点群データにより被写体奥行(各点群データと平面方程式との距離の二乗和の最小値)を抽出するものとする。
【0062】
以下の例のように、抽出された被写体奥行を利用すれば、被写体形状を判定することができる。抽出された被写体奥行Dの一定閾値Jによる閾値処理により、被写体形状を判定することは可能である。しかし、厳密に言えば、被写体奥行が小さくても被写体サイズも小さければ、被写体形状が立体形状である場合もあるし、被写体奥行が大きくても被写体サイズも大きければ、被写体形状が平面形状である場合もある。よってここでは、形状判断部803は、抽出された被写体奥行Dと被写体サイズSとの商D/Sの一定閾値Jによる閾値処理により、被写体形状を判定するものとする。
【0063】
なお、被写体サイズは、概算された三次元形状を利用して算出するようにしてもよい。例えば、この三次元形状を構成する点群データのうちで最も離れたもの同士の距離を算出して、この距離をもって被写体サイズとする。また、手法▲3▼のように被写体の輪郭を抽出する場合は、被写体サイズは、この輪郭線を利用して算出するようにしてもよい。
【0064】
図9は、第2実施例の画像処理装置102に係るフローチャートである。
【0065】
S901では、撮像された画像をメモリに記録する。
【0066】
S902では、被写体の三次元形状を概算する。S903では、被写体奥行を抽出する。S904では、被写体形状を判定する。ここでは、上述した手法により被写体の三次元形状を概算して、概算された被写体の三次元形状の点群データにより被写体奥行D(各点群データと平面方程式との距離の二乗和の最小値)を抽出して、抽出された被写体奥行Dと被写体サイズSとの商D/Sの一定閾値Jによる閾値処理により被写体形状を判定する。
【0067】
D/SがJ以下である場合(平面形状である場合)には、S905にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。D/SがJ以下でない場合(立体形状である場合)には、S906にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。いずれの場合もS907にて、三次元形状の算出結果をメモリに記録する。
【0068】
(3)第3実施例
図10は、第3実施例の撮像装置101のハードウェア構成を表す。第3実施例の撮像装置101は、図2の構成要素に加えて、当該撮像装置101の姿勢を算出するための物理量(ここでは重力加速度と地磁気)を検出する検出装置1001を備える。図2により説明したように、画像バッファメモリ210で保存された画像信号は、最終的に外部通信機器221により外部機器に転送されるが、ここでは、画像バッファメモリ210で保存された画像信号は、その前にMPU212内の記憶部215に記憶される。
【0069】
以上のような「撮像動作」は電源スイッチ213がONの状態で撮像スイッチ214が押されると開始されるのであるが、これと同時に、以下のような「検出動作」も開始される。すなわち、重力加速度と地磁気(詳細にはこれらのX成分とY成分とZ成分)が、三軸加速度センサ1002と三軸磁気センサ1003でそれぞれ電圧信号として検出されて、A/D変換器1004でデジタル信号化されて、MPU212内の記憶部215に画像信号に添付されて記憶される。重力加速度信号と地磁気信号が添付された画像信号は、最終的に外部通信機器221により外部機器に転送される。
【0070】
なお、三軸磁気センサ1003に代えて「三軸角速度センサ」を使用してもよい。また、三軸磁気センサ1003と共に「三軸角速度センサ」を使用してもよい。その他にも、三軸重力センサと三軸磁気センサ1003に代えて「水平センサ」を使用してもよい。検出装置1001に使用するセンサは、撮像装置101の姿勢を算出するための物理量(ここでは重力加速度と地磁気)を検出することができれば、どのようなセンサでも構わない。例えば、撮像装置101が巨大である場合には「GPSセンサ」を使用する(研究例は非特許文献2や非特許文献3)ことも考えられる。
【0071】
図11は、第3実施例の画像処理装置102の機能ブロックを表す。第3実施例の画像形成装置102は、図8の三次元形状概算部801を対応点検出部1101と姿勢算出部1102と並進成分算出部1103と三次元形状概算部1104により構成したものである。これらの機能ブロックにより第3実施例の画像処理装置102は、撮像装置101により撮像された画像について画像処理を実行して三次元形状を算出する。
【0072】
対応点検出部1101は、撮像装置101により撮像された画像から対応点を検出する。画像から対応点を検出する手法としては、ブロックマッチング(理論的詳細は非特許文献4)が挙げられる。ブロックマッチングでは、2箇所以上の視点から撮像された画像を使用して、輝度値分布やRGB値分布により、1枚目の画像から特徴点を検出して、輝度値分布やRGB値分布のマッチング(相互相関の最大化)により、2枚目の画像から特徴点の対応点を検出する。
【0073】
姿勢算出部1102は、検出装置1001により検出された物理量(ここでは重力加速度と地磁気)から撮像装置101の姿勢を算出する。撮像装置101の姿勢は、ワールド座標系(図12のXYZ座標系:地面に固定された座標系)に対する撮像装置座標系(図13のxyz座標系:撮像装置101に固定された座標系)の向きにより表現される。ワールド座標系に対する撮像装置座標系の向きは、式(1)のような、ワールド座標系を回転して撮像装置座標系にするための回転行列Rにより表現される。Rは、▲1▼Z軸回りに角度γだけ回転して、▲2▼X軸回りに角度αだけ回転して、▲3▼Y軸回りに角度βだけ回転することを意味する。
【0074】
【数1】
さて、ここでは計算の便宜上、地磁気の伏角は無視することにする。これにより、ワールド座標系における重力加速度gと地磁気mは、式(2)のように表現できる。また、撮像装置座標系における重力加速度Gと地磁気Mは、式(3)のように表現される。
【0075】
【数2】
【0076】
【数3】
ここで、gとGとの間には式(4)のような関係式が成立して、mとMとの間には式(5)のような関係式が成立する。
【0077】
【数4】
【0078】
【数5】
式(4)からは、角度αが式(6)のように導出されて、角度γが式(7)のように導出される。式(5)からは、角度βが式(8)のように導出される。
【0079】
【数6】
【0080】
【数7】
【0081】
【数8】
ここで、重力加速度以外の加速度(慣性力加速度)や地磁気以外の磁気は無視できるとすると、三軸加速度センサ1002で検出される加速度は重力加速度Gとなり、三軸磁気センサ1003で検出される磁気は地磁気Mとなる。よって、姿勢算出部1102は、検出装置1001により検出された重力加速度Gと地磁気Mを、式(6)と式(7)と式(8)に代入して、角度αと角度βと角度γを算出する。こうして、撮像装置101の姿勢が算出されたことになる。
【0082】
並進成分算出部1103は、上記の対応点と上記の姿勢から撮像装置101の並進成分を算出する。ここで、この「並進成分」とは、図14のように、対応点検出の際に使用された画像に関して、1枚目の画像を撮像した際の光学中心から2枚目の画像を撮像した際の光学中心までのベクトル成分bのことを意味する。
【0083】
さて、図14中のオブジェクトに関して対応点検出が実行されたとする場合、1枚目の画像と2枚目の画像を撮像した際の光学中心からオブジェクトまでのベクトル成分をそれぞれPとP’とすると、PとP’とbとは同一平面上にあるため、PとP’とbとのスカラ3重積(平行六面体の体積にあたる)は0になる。正確には、PとP’との座標系が異なるため、1枚目の画像を撮像した際から2枚目の画像を撮像した際までの撮像装置101の姿勢の変化RをP’に掛けて、PとRP’とbとのスカラ3重積「P・RP’×b」が0になる。よって、並進成分算出部1103は、上記の対応点と上記の姿勢を、このスカラ3重積の式に代入して、撮像装置101の並進成分を算出する。
【0084】
なお、必要となるのは並進成分の向きであるから、算出すべき変数は最低2個であり、必要となる対応点は最低2点である。そのため、3点以上の対応点検出を実行した場合には、相互相関の高い対応点のみを使用してもいいし、最小二乗法を使用してもいいし、多数の並進成分を導出して並進成分群を投票空間に投影して最適な並進成分を算出(研究例は非特許文献5)してもいい。
【0085】
三次元形状概算部1104は、上記の対応点と上記の姿勢と上記の並進成分から、撮像装置101により撮像された画像の被写体の三次元形状を概算する。対応点と姿勢と並進成分から被写体の三次元形状を概算する手法としては、三角測定原理により概算する手法が代表例として挙げられる。加えて、三角測定の精度向上のための対策(研究例は非特許文献6)を実行してもいい。
【0086】
このように、第3実施例の画像処理装置102は、検出装置1001により検出された物理量(ここでは重力加速度と地磁気)から算出される撮像装置101の姿勢に基づいて、上記の画像の被写体の三次元形状を概算する。
【0087】
図15は、第3実施例の画像処理装置102に係るフローチャートである。
【0088】
S1501では、2箇所以上の視点から撮像された画像と共に、これらの画像を撮像した際に検出された重力加速度と地磁気をメモリに記録する。
【0089】
S1502では、1枚目の画像から特徴点を検出する。具体的には、▲1▼各画素を中心位置にして特徴点検出ブロックを作成し、各特徴点検出ブロック内の輝度値分布(又はRGB値分布)を検出して、▲2▼画像を領域分割し、各領域内で輝度値分布の差が顕著である特徴点検出ブロックを検出して、▲3▼この特徴点検出ブロックの中心位置(特徴点)の位置情報と輝度値分布をメモリに記録する。
【0090】
S1503では、2枚目の画像から特徴点の対応点を検出する。具体的には、▲1▼各画素を中心位置にして対応点検出ブロックを作成し、各対応点検出ブロック内の輝度値分布を検出して、▲2▼この輝度値分布と各特徴点の輝度値分布(S1502でメモリに記録した輝度値分布)とのマッチング行い、▲3▼一致度が最良である対応点検出ブロックの中心位置(対応点)の位置情報をメモリに記録する。一致度が閾値より良い対応点検出ブロックが存在しない場合には、その特徴点をメモリから消去する。
【0091】
S1504では、各対応点の正否を判断する。具体的には、▲1▼各特徴点から縦横5ピクセルの画素を中心位置にして特徴点検出ブロックを作成して、▲2▼各対応点から縦横5ピクセルの画素を中心位置にして対応点検出ブロックを作成して、▲3▼この特徴点検出ブロックとこの対応点検出ブロックとのマッチングを行い、▲4▼一致度が閾値より悪い場合には、間違えて検出されたものと判断し、その対応点をメモリから消去する。一致度に応じて対応点の順位付けをして、メモリに記録しておいてもよい。
【0092】
S1505では、1枚目の画像を撮像した際に検出された重力加速度と地磁気から、1枚目の画像を撮像した際の撮像装置101の姿勢を算出して、2枚目の画像を撮像した際に検出された重力加速度と地磁気から、2枚目の画像を撮像した際の撮像装置101の姿勢を算出する。
【0093】
S1506では、上記の画像と上記の姿勢から、1枚目の画像を撮像した際から2枚目の画像を撮像した際までの撮像装置101の並進成分を算出する。
【0094】
S1507では、上記の画像と上記の姿勢と上記の並進成分から、撮像装置101により撮像された画像の被写体の三次元形状を概算する。S1508では、被写体奥行を抽出する。S1509では、被写体形状を判定する。ここでは、三角測定原理により被写体の三次元形状を概算して、概算された被写体の三次元形状の点群データにより被写体奥行D(各点群データと平面方程式との距離の二乗和の最小値)を抽出して、抽出された被写体奥行Dと被写体サイズSとの商D/Sの一定閾値Jによる閾値処理により被写体形状を判定する。
【0095】
D/SがJ以下である場合(平面形状である場合)には、S1510にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。D/SがJ以下でない場合(立体形状である場合)には、S1511にて、上記の画像について平面形状用の画像処理を実行して三次元形状を算出する。いずれの場合もS1512にて、三次元形状の算出結果をメモリに記録する。
【0096】
(第1処理部402)
上述のように、第1処理部402は、上記の画像の被写体が平面形状であると判定された場合に、上記の画像について平面形状用の画像処理(平面形状の三次元形状を算出するのに適した画像処理)を実行して三次元形状を算出する。この具体例としてここでは、2箇所以上の視点から撮像された画像の射影変換により撮像装置101の姿勢と並進成分を算出して、これらに基づいて三角測定原理等により三次元形状を算出する場合について説明する。
【0097】
被写体形状が平面形状である場合には、2箇所以上の視点から撮像された画像から射影変換行列Bを算出することにより、撮像装置101の姿勢と並進成分を算出することができる。1枚目の画像の特徴点の位置を(u,v)として、2枚目の画像の対応点の位置を(U,V)とすると、射影変換は式(9)のように表現される。式(9)の未知数b1からb8を式(10)のようにまとめたものが射影変換行列Bである。
【0098】
【数9】
【0099】
【数10】
この射影変換行列Bは、2箇所以上の視点から撮像された画像の4点以上の対応点の位置情報から算出することができる。5点以上の対応点検出を実行した場合には、相互相関の高い対応点のみを使用してもいいし、最小二乗法を使用してもいい。
【0100】
この射影変換行列Bは、撮像装置座標系で表現されているので、式(11)のような撮像装置内部行列Aによる変換式(12)を使用して、撮像装置座標系で表現された射影変換行列Bをワールド座標系で表現された射影変換行列Hに変換する。ただし、zは焦点距離であり、u0とv0は画面中心であり、kuとkvは画素密度である。
【0101】
【数11】
【0102】
【数12】
この射影変換行列Hと姿勢Rと並進成分bとの間には式(13)のような関係式(理論的詳細は非特許文献7)が成立する。ただし、sはスケール調整ための定数であり、nは被写体平面の法線ベクトルである。
【0103】
【数13】
よってここでは、第1処理部402は、2箇所以上の視点から撮像された画像から射影変換行列Bや射影変換行列Hを算出することにより、撮像装置101の姿勢Rと並進成分bを算出して、これらに基づいて三角測定原理等により三次元形状を算出するものとする。
【0104】
(第2処理部403)
上述のように、第2処理部403は、上記の画像の被写体が立体形状であると判定された場合に、上記の画像について立体形状用の画像処理(立体形状の三次元形状を算出するのに適した画像処理)を実行して三次元形状を算出する。この具体例としてここでは、2箇所以上の視点から撮像された画像に関しての8点アルゴリズム(Structure from Motionの一種。理論的詳細は非特許文献8や非特許文献9)により撮像装置101の姿勢と並進成分を算出して、これらに基づいて三角測定原理等により三次元形状を算出する場合について説明する。
【0105】
被写体形状が立体形状である場合には、2箇所以上の視点から撮像された画像に関しての8点アルゴリズムにより、撮像装置101の姿勢と並進成分を算出することができる。8点アルゴリズムでは、上述したPとP’とbとの間の関係式「P・RP’×b=0」を使用して、姿勢Rと並進成分bを、2箇所以上の視点から撮像された画像の8点以上の対応点の位置情報から算出する。
【0106】
具体的には、3次行列E(=b×R)を上記の関係式に代入して、3次行列Eの各成分を算出する。よって、算出すべき変数は9個であり、必要となる対応点は9点である。しかし、並進成分に関して、必要となるのは並進成分の向きであるから、算出すべき変数は1個少ない最低8個であり、必要となる対応点は1点少ない最低8点である。そのため、9点以上の対応点検出を実行した場合には、相互相関の高い対応点のみを使用してもいいし、最小二乗法を使用してもいい。
【0107】
よってここでは、第2処理部403は、2箇所以上の視点から撮像された画像から8点アルゴリズムにより3次行列Eを算出することにより、撮像装置101の姿勢Rと並進成分bを算出して、これらに基づいて三角測定原理等により三次元形状を算出するものとする。
【0108】
(変形例)
第1処理部402の変形例としては、▲1▼上記の画像の被写体が平面形状であるか立体形状であるかを再判定して、▲2▼平面形状であると再判断された場合は、上記の画像について平面形状用の画像処理を実行して三次元形状を算出して、▲3▼立体形状であると再判断された場合は、上記の画像について立体形状用の画像処理を実行して三次元形状を算出するようにしてもいい。なお、▲1▼▲2▼▲3▼を実行する機能ブロックを、それぞれ再形状判断部・再第1処理部・再第2処理部と呼ぶ。
【0109】
第3実施例に関しては、再形状判定部は、▲1▼撮像装置101により撮像された画像から対応点を再検出して、▲2▼この対応点等から被写体の三次元形状を再概算して、▲3▼この三次元形状から被写体奥行を再抽出して、▲4▼この被写体奥行から被写体形状を再判定するようにしてもよい。このようにする理由としては例えば、図16のように、1平面からしか対応点を検出できなかったために、実際は立体形状であるのに平面形状であると誤判定される場合があることが挙げられる。
【0110】
したがって、対応点再検出は、より対応点を検出しやすい手法で実行することが望ましい。このような手法としては、姿勢と並進成分からエピポーラ拘束条件を算出して、エピポーラ線を撮像面に投影して、エピポーラ線上で対応点再検出を実行することで、相互相関の閾値を低下させる手法が挙げられる。エピポーラ拘束条件とは、上述したPとP’とbとの間の関係式「P・RP’×b=0」に姿勢Rと並進成分bを代入した関係式である。エピポーラ線とは、この関係式に特徴点(u,v)と焦点距離zを代入して算出される、対応点(U,V)を変数とする直線方程式「aU+bY+c=0」である。このエピポーラ線上で対応点再検出を実行するようにすれば、対応点を検出しやすくなる。具体的に言えば、相互相関の閾値を低下させて、より多くの対応点をより誤対応なく検出することができる。
【0111】
なお、平面形状であると再判定された場合は、直ちに三次元形状を算出するようにしてもいいし、平面形状であるか立体形状であるかの再判定を何度もループしてもよい。上述した第3実施例に関する具体例で言うと、対応点再検出を何度もループすることになる。このループを終了する手法としては、各対応点再検出で検出された各対応点とエピポーラ線との距離の和を算出しておいて、今回の和L(n)と前回の和L(n−1)との差が閾値以下になったら、今回でループを終了するという手法が挙げられる。ループが終了したら、三次元形状を算出するようにする。
【0112】
(変形例)
図1の画像処理装置102は、本発明に係る「画像処理装置」の実施の形態の例であり、図1の画像処理装置102により実行される画像処理方法は、本発明に係る「画像処理方法」の実施の形態の例である。この画像処理方法をコンピュータに実行させる画像処理プログラムは、本発明に係る「画像処理プログラム」の実施の形態の例であり、この画像処理方法をコンピュータに実行させる画像処理プログラムが記録された記録媒体(CD−ROM、DVD−ROM、スマートメディア等)は、本発明に係る「記録媒体」の実施の形態の例である。
【0113】
図1の撮像装置101と画像処理装置102は、個別の電子機器ではなく一体の電子機器でもよい。このような電子機器の例としては、カメラ付き携帯電話機や、カメラ付きノート型パソコンや、カメラ付きPDAや、画像処理機能付きのデジタルカメラが挙げられる。
【0114】
【発明の効果】
このように、本発明は、被写体形状が平面形状である場合にも立体形状である場合にも、被写体の三次元形状を精度よく算出することを可能にする。
【図面の簡単な説明】
【図1】撮像装置と画像処理装置を表す。
【図2】撮像装置のハードウェア構成を表す。
【図3】画像処理装置のハードウェア構成を表す。
【図4】画像処理装置の機能ブロックを表す。
【図5】第1実施例の画像処理装置の機能ブロックを表す。
【図6】被写体奥行について説明するための図である。
【図7】第1実施例の画像処理装置に係るフローチャートである。
【図8】第2実施例の画像処理装置の機能ブロックを表す。
【図9】第2実施例の画像処理装置に係るフローチャートである。
【図10】第3実施例の撮像装置のハードウェア構成を表す。
【図11】第3実施例の画像処理装置の機能ブロックを表す。
【図12】ワールド座標系を表す。
【図13】撮像装置座標系を表す。
【図14】並進成分について説明するための図である。
【図15】第3実施例の画像処理装置に係るフローチャートである。
【図16】第1処理部の変形例について説明するための図である。
【符号の説明】
101 撮像装置
102 画像処理装置
401 形状判定部
402 第1処理部
403 第2処理部
404 記録部
501 奥行抽出部
502 形状判定部
801 三次元形状概算部
802 奥行抽出部
803 形状判定部
1001 検出装置
1101 対応点検出部
1102 姿勢算出部
1103 並進成分算出部
1104 三次元形状概算部
Claims (9)
- 撮像装置により撮像された画像について画像処理を実行して三次元形状を算出する画像処理装置であって、
2 箇所の視点から撮像された画像上の4点以上の対応点の位置情報から射影変換行列を算出する変換行列算出手段と、
前記射影変換行列算出手段により算出された射影変換行列により前記画像の被写体の形状判定に用いる値を抽出する奥行抽出手段と、
前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定する形状判定手段を備え、
前記奥行抽出手段は、互いに異なる組合せの対応点から算出された2つの射影変換行列の差をもって前記形状判定に用いる値とし、
平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、前記画像について立体形状用の画像処理を実行して三次元形状を算出することを特徴とする画像処理装置。 - 撮像装置により撮像された画像について画像処理を実行して三次元形状を算出する画像処理装置であって、
前記画像の被写体の三次元形状を概算する三次元形状概算手段と、
前記三次元形状を構成する点群データを抽出し、複数の前記点群データと平面方程式との距離の二乗和の最小値を前記画像の被写体の形状判定に用いる値として抽出する奥行抽出手段と、
前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定する形状判定手段を備え、
平面形状である場合は、平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、立体形状用の画像処理を実行して三次元形状を算出することを特徴とする画像処理装置。 - 前記撮像装置は、当該撮像装置の姿勢を算出するための物理量を検出する検出装置を備え、前記三次元形状概算手段は、前記物理量から算出される当該撮像装置の姿勢に基づいて、前記画像の被写体の三次元形状を概算することを特徴とする請求項2に記載の画像処理装置。
- 撮像装置により撮像された画像について画像処理を実行して三次元形状を算出する画像処理方法であって、
2 箇所の視点から撮像された画像上の4点以上の対応点の位置情報から射影変換行列を算出する変換行列算出段階と、
前記射影変換行列算出手段により算出された射影変換行列により前記画像の被写体の形状判定に用いる値を抽出する奥行抽出段階と、
前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定する形状判定段階を備え、
前記奥行抽出段階は、互いに異なる組合せの対応点から算出された2つの射影変換行列の差をもって前記形状判定に用いる値とし、
平面形状である場合は、前記画像について平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、前記画像について立体形状用の画像処理を実行して三次元形状を算出することを特徴とする画像処理方法。 - 撮像装置により撮像された画像について画像処理を実行して三次元形状を算出する画像処理方法であって、
前記画像の被写体の三次元形状を概算する三次元形状概算段階と、
前記三次元形状を構成する点群データを抽出し、複数の前記点群データと平面方程式との距離の二乗和の最小値を前記画像の被写体の形状判定に用いる値として抽出する奥行抽出段階と、
前記形状判定に用いる値から前記画像の被写体が平面形状であるか立体形状であるかを判定する形状判定段階を備え、
平面形状である場合は、平面形状用の画像処理を実行して三次元形状を算出して、立体形状である場合は、立体形状用の画像処理を実行して三次元形状を算出することを特徴とする画像処理方法。 - 前記撮像装置は、当該撮像装置の姿勢を算出するための物理量を検出する検出装置を備え、前記三次元形状概算段階は、前記物理量から算出される当該撮像装置の姿勢に基づいて、前記画像の被写体の三次元形状を概算することを特徴とする請求項5に記載の画像処理方法。
- 請求項4乃至6のいずれか1項に記載の画像処理方法をコンピュータに実行させる画像処理プログラム。
- 請求項4乃至6のいずれか1項に記載の画像処理方法をコンピュータに実行させる画像処理プログラムが記録された記録媒体。
- 請求項1乃至3のいずれか1項に記載の撮像装置と画像処理装置を備える電子機器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002381504A JP4136652B2 (ja) | 2002-12-27 | 2002-12-27 | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002381504A JP4136652B2 (ja) | 2002-12-27 | 2002-12-27 | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004213278A JP2004213278A (ja) | 2004-07-29 |
| JP4136652B2 true JP4136652B2 (ja) | 2008-08-20 |
Family
ID=32817401
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002381504A Expired - Fee Related JP4136652B2 (ja) | 2002-12-27 | 2002-12-27 | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4136652B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5977591B2 (ja) * | 2012-06-20 | 2016-08-24 | オリンパス株式会社 | 画像処理装置及びそれを備えた撮像装置、画像処理方法、並びに画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP7147828B2 (ja) * | 2020-11-11 | 2022-10-05 | 日本電気株式会社 | 画像処理システム、画像処理方法及びプログラム |
-
2002
- 2002-12-27 JP JP2002381504A patent/JP4136652B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004213278A (ja) | 2004-07-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108765498B (zh) | 单目视觉跟踪方法、装置及存储介质 | |
| KR100886439B1 (ko) | 물체 상태를 추정하는 추정 시스템, 추정 방법, 및 추정프로그램 | |
| CN110462686B (zh) | 用于从场景获得深度信息的设备和方法 | |
| KR101776620B1 (ko) | 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
| US8928736B2 (en) | Three-dimensional modeling apparatus, three-dimensional modeling method and computer-readable recording medium storing three-dimensional modeling program | |
| US8818097B2 (en) | Portable electronic and method of processing a series of frames | |
| US8326021B2 (en) | Measurement apparatus and control method | |
| KR101776622B1 (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
| KR101776621B1 (ko) | 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
| JP3732335B2 (ja) | 画像入力装置及び画像入力方法 | |
| US6839081B1 (en) | Virtual image sensing and generating method and apparatus | |
| JP6922348B2 (ja) | 情報処理装置、方法、及びプログラム | |
| CN108780577A (zh) | 图像处理方法和设备 | |
| CN113012224B (zh) | 定位初始化方法和相关装置、设备、存储介质 | |
| WO2017022033A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
| CN116977600B (zh) | 一种xr设备及xr设备高度采集方法 | |
| KR20220085682A (ko) | 전방향 영상센서 및 관성측정센서의 자세추정 융합 방법 및 시스템 | |
| JP2001266128A (ja) | 奥行き情報取得方法,装置および奥行き情報取得プログラムを記録した記録媒体 | |
| JP2005038021A (ja) | 画像処理装置、画像入力装置、画像処理方法、および画像処理方法をコンピュータで実行するプログラム | |
| JP2003006618A (ja) | 3次元モデルの生成方法および装置並びにコンピュータプログラム | |
| JPH10320558A (ja) | キャリブレーション方法並びに対応点探索方法及び装置並びに焦点距離検出方法及び装置並びに3次元位置情報検出方法及び装置並びに記録媒体 | |
| JP4136652B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び電子機器 | |
| JP2006113832A (ja) | ステレオ画像処理装置およびプログラム | |
| JP6579816B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
| WO2025016092A1 (zh) | 视觉定位方法、装置、设备及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080123 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080331 |
|
| 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: 20080507 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080603 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |