JP6525195B2 - 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム - Google Patents

魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム Download PDF

Info

Publication number
JP6525195B2
JP6525195B2 JP2015116946A JP2015116946A JP6525195B2 JP 6525195 B2 JP6525195 B2 JP 6525195B2 JP 2015116946 A JP2015116946 A JP 2015116946A JP 2015116946 A JP2015116946 A JP 2015116946A JP 6525195 B2 JP6525195 B2 JP 6525195B2
Authority
JP
Japan
Prior art keywords
fisheye
fisheye camera
estimation
image
trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015116946A
Other languages
English (en)
Other versions
JP2017003398A (ja
Inventor
和昇 梅田
和昇 梅田
祐輝 田中
祐輝 田中
岳人 増山
岳人 増山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chuo University
Original Assignee
Chuo University
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 Chuo University filed Critical Chuo University
Priority to JP2015116946A priority Critical patent/JP6525195B2/ja
Publication of JP2017003398A publication Critical patent/JP2017003398A/ja
Application granted granted Critical
Publication of JP6525195B2 publication Critical patent/JP6525195B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)

Description

本発明は、魚眼レンズを備えた魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラムに関するものである。
従来、魚眼カメラを用いて、例えばストライプを含むパターン等を有する被写体を撮像し、撮像により得られた画像に基づいて、魚眼カメラの内部パラメータを推定する技術が、知られている(例えば、特許文献1)。
特開2007-192832号公報
しかしながら、上述した技術では、上記のように特別な構成を持った被写体を事前に用意する必要があり、また、そのような被写体を魚眼カメラで撮像するにあたって、魚眼カメラに対する被写体の向きや距離等に応じて、内部パラメータの推定結果がばらつくおそれがあった。
本発明は、上述した課題を解決するためのものであり、簡単かつ高精度に、魚眼カメラの内部パラメータを推定できる、魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラムを提供することを目的とするものである。
本発明の推定方法は、魚眼レンズを備えた魚眼カメラの内部パラメータの推定方法であって、
前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、前記魚眼カメラによって、複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより、複数の魚眼画像を得る、撮像ステップと、
前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成ステップと、
前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定ステップと、
を含むことを特徴とする。
本発明の推定方法では、前記推定ステップにおいて、前記軌跡画像においてそれぞれ放物線状に現れる前記各軌跡の頂点を求め、前記各軌跡の頂点に基づいて、前記内部パラメータにおける、前記魚眼カメラの魚眼画像の歪みの中心を表す画像中心の座標を、推定すると、好適である。
本発明の推定方法では、前記推定ステップにおいて、前記軌跡画像中の前記各観測点にそれぞれ対応する前記特徴点の方位角及び仰角を、前記軌跡画像に基づいて求め、求めた前記各特徴点の前記方位角及び仰角を用いて、前記内部パラメータにおける、前記魚眼カメラの魚眼画像の歪みを表す歪みパラメータを、推定すると、好適である。
本発明の推定装置は、魚眼レンズを備えた魚眼カメラの内部パラメータの推定装置であって、
前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、該魚眼カメラによって複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより得られた、複数の魚眼画像を、取得する、取得部と、
前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成部と、
前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定処理部と、
を備えたことを特徴とする。
本発明の推定装置において、前記魚眼カメラを前記回転軸線の周りで回転させるように構成された、カメラ回転部をさらに備えていると、好適である。
本発明の推定プログラムは、魚眼レンズを備えた魚眼カメラの内部パラメータの推定プログラムであって、
前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、前記魚眼カメラによって複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより得られた、複数の魚眼画像を、取得する、取得ステップと、
前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成ステップと、
前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定ステップと、
をコンピュータに実行させることを特徴とする。
本発明によれば、簡単かつ高精度に、魚眼カメラの内部パラメータを推定できる、魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラムを提供することができる。
本発明の一実施形態に係る推定装置を示す概要図である。 魚眼カメラ座標系を説明するための図である。 魚眼画像座標系を説明するための図である。 本発明の一実施形態に係る推定方法を示すフローチャートである。 撮像ステップを説明するための図である。 軌跡画像の一例を示す図である。 推定ステップの一例を説明するためのフローチャートである。 シミュレーション結果を示す図である。
以下に図面を参照しつつ、本発明の実施形態について例示説明する。
(推定装置)
まず、図1を参照して、本発明の一実施形態に係る推定装置の一例を説明する。本実施形態の推定装置1は、魚眼レンズ11を備えた魚眼カメラ10の内部パラメータを推定するものである。図1の例において、推定装置1は、魚眼カメラ10を支持するカメラ支持部90と、コンピュータ70と、を備えている。
本例において、魚眼カメラ10は、ユーザによってシャッターが押された直後又は所定時間後に、撮影を開始し、撮影中は、複数の異なるタイミングで撮像して魚眼画像を生成し、ユーザによってシャッターが再び押された直後に、撮影を終了するように、設定されている。魚眼カメラ10が撮影中に撮像するタイミングは、本例では、ある一定の撮像時間間隔毎(例えば0.033秒毎)に設定されている。
ただし、魚眼カメラ10は、撮影を開始してから、所定の撮影時間(例えば10秒)の経過後に、自動的に撮影を終了するように、設定されてもよい。あるいは、魚眼カメラ10の撮影の開始及び終了は、コンピュータ70によって制御されてもよい。
また、魚眼カメラ10は、ユーザによってシャッターが押される度に撮像するように構成されてもよい。
魚眼カメラ10によって得られる時系列の魚眼画像は、後述するコンピュータ70の記憶部73に保存される。
より具体的には、本例において、魚眼カメラ10は、撮影中又は撮影後に、無線通信又は有線通信によって、撮像により得られた時系列の魚眼画像を、後述するコンピュータ70の通信部71へ送信する。一方、コンピュータ70側では、通信部71が魚眼画像を受信すると、その魚眼画像が記憶部73に格納される。
ただし、魚眼カメラ10が、撮像により得られた時系列の魚眼画像を、魚眼カメラ10に接続された外部メモリ(SDカードメモリやUSBメモリ等)に保存し、その後、ユーザが該外部メモリをコンピュータ70に接続して、該外部メモリに保存された時系列の魚眼画像を、後述するコンピュータ70の記憶部73内に取り込むようにしてもよい。
本例において、カメラ支持部90は、所定高さにある水平面内で、魚眼カメラ10を回転させられるように、構成されている。より具体的に、カメラ支持部90は、魚眼カメラ10を上に載せるための回転台20と、回転台20の下端に固定され、鉛直方向に延びる回転軸30と、回転軸30の下部に出力軸が取り付けられ、回転軸30を回転させるように構成された、モータ40と、モータ40に内蔵され、モータ40の出力軸の回転角度位置(ひいては回転軸30の回転角度位置)を出力する、エンコーダ50と、モータ40の下部に設けられた三脚60と、を有している。
モータ40の出力軸、回転軸30及び回転台20は、連動する。すなわち、モータ40の出力軸の回転によって、回転軸30及び回転台20が回転され、これにより、回転台20の上に設置された魚眼カメラ10が回転される。
本例において、回転台20の上面は水平方向と平行にされており、回転台20の上面に載せられた魚眼カメラ10の光軸Oも、水平方向と平行に向けられている。すなわち、光軸Oは水平面内にある。また、回転軸30の中心軸線である回転軸線RAは、鉛直方向に延びている。
魚眼カメラ10は、回転軸30の回転軸線RAが魚眼カメラ10の内部を通るように、回転台20の上に載せられている。ここで、図1に示すように、回転軸30の回転軸線RAが、魚眼カメラ10の内部で、魚眼カメラ10の光軸Oと交差(より具体的には、直交)することが好ましい。
本例において、モータ40は、後述するコンピュータ70の回転制御部721によって、駆動制御される。本例では、カメラ支持部90と、回転制御部721とが、魚眼カメラ10を回転軸線RAの周りで回転させる、カメラ回転部を構成している。
ただし、モータ40は、コンピュータ70の回転制御部721と同様の機能を持つ回転制御部を、モータ40の内部に有していてもよい。
図1の例において、コンピュータ70は、通信部71と、制御部72と、記憶部73と、入力部74と、表示部75と、を有する。
なお、図1では、コンピュータ70を機能ブロックにより模式的に図示しているにすぎず、コンピュータ70のハードウェア構成は、通信部71、制御部72、記憶部73、入力部74、表示部75の各機能が実現される限り、任意のものを採用してよい。例えば、コンピュータ70は、そのハードウェア構成を観た場合に、1つの装置から構成されてもよいし、複数の装置から構成されてもよい。
本例において、通信部71は、魚眼カメラ10、モータ40、及びエンコーダ50との間で通信を行う。
なお、本例では、通信部71が、魚眼カメラ10から複数の魚眼画像を受信(取得)する、取得部を構成する。ただし、コンピュータ70が、上述のように外部メモリ(SDカードやUSBメモリ)を介して、魚眼カメラ10からの複数の魚眼画像を取得する場合、外部メモリと接続されるインタフェース(図示せず)が、取得部を構成する。
制御部72は、例えば1つ又は複数のCPUから構成され、記憶部73に記憶された各種のプログラムを実行することにより、通信部71、記憶部73、入力部74、及び表示部75を含む、コンピュータ70の全体を制御しながら、様々な処理を実行する。
制御部72は、回転制御部721と、軌跡画像生成部722と、推定処理部723と、を有する。
回転制御部721は、記憶部73に記憶された回転制御プログラム731を実行しながら、通信部71を介して得られるエンコーダ50の出力に基づいて、モータ40の回転(ひいては魚眼カメラ10の回転)を制御する。本例において、回転制御部721は、魚眼カメラ10が撮影を行う間、モータ40を、一定の回転速度で所定の回転角度(例えば180°)分だけ回転させる。
軌跡画像生成部722は、記憶部73に記憶された軌跡画像生成プログラム732を実行しながら、魚眼カメラ10から得られる時系列の魚眼画像に基づいて、後述する軌跡画像を生成する。
推定処理部723は、記憶部73に記憶された推定処理プログラム733を実行しながら、軌跡画像生成部722が生成する軌跡画像に基づいて、魚眼カメラ10の内部パラメータを推定する。
制御部72による処理の詳細については、後にさらに詳しく説明する。
記憶部73は、例えば1つ又は複数のROM及び/又はRAMから構成され、制御部72が実行するための各種のプログラム(回転制御プログラム731、軌跡画像生成プログラム732、推定処理プログラム733等)や、魚眼カメラ10から得られる時系列の魚眼画像等、様々な情報を記憶する。
なお、軌跡画像生成プログラム732と推定処理プログラム733とが、本実施形態の推定プログラムを構成している。
入力部74は、例えばキーボード、マウス、及び/又は押しボタン等から構成され、ユーザからの入力を受け付ける。
表示部75は、例えば液晶パネル等から構成され、後述する軌跡画像等、様々な情報を表示する。
なお、入力部74及び表示部75は、タッチパネルを構成してもよい。
(内部パラメータ)
ここで、図2及び図3を参照して、本発明の一実施形態に係る推定装置、推定方法、及び推定プログラムにより求められる、魚眼カメラの内部パラメータの一例について説明する。
図2は、魚眼カメラ10を含む実空間の座標系(以下、「魚眼カメラ座標系」という。)を示している。図2に示す魚眼カメラ座標系は、魚眼カメラ10の光軸OをY軸とし、魚眼カメラ10の内部を通りY軸に直交する平面をXZ平面とする、3次元座標系である。XY平面は、水平面に平行である。魚眼カメラ座標系において、実空間上の点Pの方位角、すなわち、点Pから魚眼カメラ10への投射線の、XY平面上への投影線が、Y軸に対してなす角度を、αとする。また、点Pの仰角、すなわち、点Pから魚眼カメラ10への投射線の、XY平面上への投影線が、該投射線に対してなす角度を、βとする。
このとき、点Pから魚眼カメラ10への投射線と魚眼カメラ10の光軸Oとのなす角θは、
で表される。
図3は、魚眼カメラ10の魚眼画像の座標系(以下、「魚眼画像座標系」という。)を示している。図3に示す魚眼画像座標系は、魚眼カメラ10の光軸Oと魚眼画像との交点である画像中心Cを原点とする、xy直交座標系である。魚眼画像座標系のx軸は、魚眼カメラ座標系のXY平面と平行であり、魚眼画像座標系のy軸は、魚眼カメラ座標系のZ軸と平行である。
実空間上の点Pは、魚眼カメラ10によって、魚眼画像座標系における点p(r,φ)に投影される。
魚眼画像座標系の原点(画像中心C)と投影点pとを結ぶ線の、y軸とのなす角φは、
で表わされる。
本例では、魚眼画像座標系の原点(画像中心C)から投影点pまでの距離rを、
で表すものとする。
1、k3、k5は、魚眼カメラ10の魚眼画像の歪みを表す、歪みパラメータである。k1は、1次の歪みパラメータであり、いわゆる焦点距離に関係している。k3は、3次の歪みパラメータである。k5は、5次の歪みパラメータである。
そして、式(3)に基づき、魚眼カメラ10の内部パラメータIは、
で表わされる。
u、cvは、図3に示すように、魚眼画像の左上端を原点とするuv直交座標系における、画像中心Cの座標である。画像中心Cは、魚眼カメラ10の魚眼画像の歪みの中心を表す。
このように、本例における内部パラメータIは、歪みパラメータk1、k3、k5と、画像中心Cの座標cu、cvと、を含むものである。
なお、投影点pのuv直交座標系における位置ベクトルをm(u,v)とすると、
となる。
以上の式(1)〜(6)により、投影点pの位置ベクトルmは、α、β、Iで表わすことができる。
なお、魚眼画像座標系の原点(画像中心C)から投影点pまでの距離rは、式(3)以外の式から求めるようにしてもよい。式(3)により表される距離rは、1次、3次、及び5次の項からなるが、例えば、これに加えて、2次、4次、7次、及び/又は9次の項を加えてもよい。あるいは、式(3)における3次及び/又は5次の項を省略してもよい。この場合、距離rの式に応じて、内部パラメータIの式も変わることとなる。
(推定方法)
つぎに、図4〜図8を参照して、本発明の一実施形態に係る魚眼カメラの内部パラメータの推定方法を説明する。図4は、本発明の一実施形態に係る推定方法を示すフローチャートである。ここでは、図1の例の推定装置1を用いる場合について説明するが、後述するように、他の構成を持つ推定装置を用いて、本実施形態に係る推定方法を実施することもできる。また、以下に説明する例では、推定の対象とする内部パラメータIとして、式(4)に表されるものを用いるが、式(4)以外の式により表される内部パラメータIを、本実施形態に係る推定方法によって推定するようにしてもよい。また、以下に説明する例では、図2及び図3を参照して説明した魚眼カメラ座標系及び魚眼画像座標系を用いるものとする。
−撮像ステップ(S1)−
まず、予め、魚眼カメラ10が、カメラ支持部90の回転台20の上に設置される。本例において、回転台20の回転軸線RAは、魚眼カメラ10の内部を通るとともに鉛直方向に延びており、魚眼カメラ10の内部で、魚眼カメラ10の光軸Oと直交している。
そして、図5に示すように、魚眼カメラ10が、複数(この例では、4つ)の視覚的な特徴点81a〜84aを含む空間内で、回転軸線RAの周りで回転される間に、魚眼カメラ10によって、複数の異なるタイミングのそれぞれで(ひいては、魚眼カメラ10が複数の異なる回転位置のそれぞれにあるときに)、複数の特徴点81a〜84aを撮像することにより、該複数の異なるタイミングに対応した複数の魚眼画像を得る(撮像ステップS1)。図5(a)及び図5(b)は、それぞれ、撮像ステップS1において魚眼カメラ10が回転軸線RAの周りで回転されながら撮影する様子を示す、上面図及び側面図である。
より具体的に、本例では、コンピュータ70の回転制御部721が、回転制御プログラム731に従い、通信部71を介して得られるエンコーダ50の出力に基づいて、モータ40の回転を制御することにより、魚眼カメラ10を、回転軸線RAの周りで、一定の回転速度で180°分だけ回転させる。このときの魚眼カメラ10の回転速度や回転角度(180°)は、予めユーザ等により設定される。
本例において、魚眼カメラ10は、水平面に平行な仮想回転平面RP内で回転される。
また、魚眼カメラ10は、回転軸線RAの周りで回転される間、ある一定の撮像時間間隔毎(例えば0.033秒毎)に、その周囲にある特徴点81a〜84aを撮像する。
魚眼カメラ10は、撮影中又は撮影後に、無線通信又は有線通信によって、撮像により得られた時系列の魚眼画像を、コンピュータ70の通信部71へ送信する。一方、コンピュータ70側では、通信部71が魚眼画像を受信すると、制御部72が、魚眼画像を記憶部73に格納する。
視覚的な特徴点81a〜84aとは、それが魚眼カメラ10によって撮像されて魚眼画像に写ったときに、視覚的に識別し得るような点であり、例えば、魚眼カメラ10の周りにある物体81〜84の角である。通常の環境内には、このような視覚的な特徴点が多数含まれているので、撮像ステップS1を実施するにあたっては、特別な被写体を用意する必要は無い。なお、図5に示す例では、4つの特徴点81a〜84aを示しているが、特徴点は2個以上あればよい。また、特徴点の数が多いほど、より高精度に魚眼カメラの内部パラメータを推定できるので、好ましい。
なお、本例に限られず、回転軸線RAは、魚眼カメラ10の内部を通るとともに魚眼カメラ10の光軸Oに対してほぼ垂直に延在していればよく、例えば鉛直方向と交わる方向に延びていてもよい。回転軸線RAは、魚眼レンズ11の内部(特に好ましくは、魚眼レンズ11の中心(主点))を通るとともに魚眼カメラ10の光軸Oに対してほぼ垂直に延在していることが、好ましい。なお、回転軸線RAは、特徴点までの距離に比べて、魚眼レンズ11の主点までの距離が、小さいほど良い。
また、魚眼カメラ10による撮影と並行して行われる魚眼カメラ10の回転の回転角度は、本例のように180°である必要はなく、180°より小さくてもよいし、180°より大きくてもよい。また、該回転角度は、180°以上であることが好ましく、360°であることがより好ましい。
−軌跡画像生成ステップ(S2)−
撮像ステップS1の後、図6に示すように、各特徴点81a〜84aに対応する各魚眼画像中の観測点(像点)の集合から得られる軌跡T1〜T4を含む、軌跡画像を生成する(軌跡画像生成ステップS2)。図6は、軌跡画像の一例を模式的に表す図である。
より具体的には、まず、コンピュータ70の軌跡画像生成部722が、軌跡画像生成プログラム732に従って、記憶部73から時系列の魚眼画像を読み出す(取得する)。そして、軌跡画像生成部722は、軌跡画像生成プログラム732に従って、時系列の魚眼画像に基づいて、軌跡画像を生成する。ここで、例えば、軌跡画像生成部722は、各魚眼画像どうしを重ね合わせることにより、軌跡画像を生成する。あるいは、軌跡画像生成部722は、各魚眼画像から、それぞれの魚眼画像内に現れる特徴点81a〜84aの観測点を抽出し、抽出した各観測点を1つの魚眼画像上に重ね合わせることにより、軌跡画像を生成する。その後、軌跡画像生成部722は、生成した軌跡画像を、記憶部73に記憶させる。
なお、「観測点の集合から得られる軌跡」とは、観測点の集合そのものからなる軌跡と、観測点の集合に対して画像処理を施すことにより得られる、例えば、各観測点どうしを線分で結び、それらを連ねた線、あるいは、全観測点を滑らかに連ねた線(近似線)で示される軌跡との、いずれでもよい。本例では、観測点の集合そのものを軌跡としている。但し、図6では、説明の便宜のため、軌跡T1〜T4上の各観測点を滑らかに連ねた線を、破線で示している。
軌跡画像に現れる軌跡T1〜T4は、それぞれ別々の特徴点81a〜84aに対応する。図6では、説明の便宜のため、各軌跡T1〜T4上の各観測点のuv座標系での位置ベクトルを、mf1、mf2、mf3・・・mfN-2、mfN-1、mfNで表している。Nは、各軌跡T1〜T4上の観測点の数であり、撮像ステップS1で魚眼カメラ10が撮像した回数(ひいては、魚眼画像の数)に等しい。
−推定ステップ(S3)−
軌跡画像生成ステップS2の後、軌跡画像生成ステップS2で得られた軌跡画像に基づいて、魚眼カメラ10の内部パラメータを推定する(推定ステップS3)。
より具体的に、本例では、コンピュータ70の推定処理部723が、推定処理プログラム733に従い、軌跡画像に基づいて、式(4)で表される内部パラメータIを推定する。
図7は、推定ステップS3において、推定処理部723が行う処理を説明するためのフローチャートである。
図7に示すように、推定処理部723は、内部パラメータIを推定するにあたって、まず、内部パラメータIのうちの画像中心Cの座標cu、cvを、軌跡画像を用いて推定する(ステップS31)。
つぎに、実際の軌跡画像中の各観測点に対応する実空間上の点の方位角α、仰角βの初期値を、軌跡画像を用いて、大まかに推定する(ステップS32)。その後は、内部パラメータIのうちの歪みパラメータk1、k3、k5を、軌跡画像から求まる方位角α、仰角βを用いて、推定する(ステップS33〜S55)。ここで、推定処理部723は、いったん推定された歪みパラメータk1、k3、k5を用いたシミュレーションによって、実際の軌跡画像中の観測点に対応する実空間上の点を魚眼画像へ投影した場合に得られる点(以下、「再投影点」という。)が、実際の観測点になるべく近づくように、修正パウエル法等の最適化手法により、歪みパラメータk1、k3、k5の推定を行う。
以下、図7の各ステップS31〜S55での処理について、順番に、詳しく説明する。
まず、推定処理部723は、画像中心Cの座標cu、cvを推定する(ステップS31)。軌跡画像中の軌跡T1〜T4は、画像中心Cを通るとともにv軸に平行な線(u=cuの線)に対して略線対称な放物線状に現れるという特徴がある。また、軌跡画像中の軌跡T1〜T4は、画像中心Cに近い軌跡ほど、軌跡の形状が緩やかである(傾きが小さい)という特徴がある。画像中心Cの座標cu、cvを推定するにあたっては、このような軌跡画像の特徴を利用する。
より具体的に、推定処理部723は、軌跡画像(図6)においてそれぞれ放物線状に現れる各軌跡T1〜T4の頂点を求め、各軌跡T1〜T4の頂点に基づいて、画像中心Cの座標cu、cvを推定する。例えば、軌跡画像における各軌跡T1〜T4を、図6において破線で示されたような放物線(二次曲線)で、近似する。つぎに、放物線状に現れる各軌跡T1〜T4の頂点のu座標を計算し、その平均を、画像中心Cのu座標cuとする。また、各軌跡T1〜T4のうち、近似された放物線の形状が最も緩やかである(放物線の傾きが最も小さい)ものを選択し、選択した軌跡(図6の例では、軌跡T1)の頂点のv座標を、画像中心Cのv座標cvとする。
つぎに、推定処理部723は、軌跡画像中の各観測点に対応する実空間上の点の方位角α、仰角βの初期値を、大まかに推定する(ステップS32)。
まず、軌跡画像中の軌跡T1〜T4毎に、軌跡画像における画像中心Cを通るとともにv軸に平行な線(u=cuの線)上又はそれの最も近くにある観測点を特定し、特定した各観測点にそれぞれ対応する仰角βを計算する。ここで、u=cuの線上又はそれの最も近くにある各観測点が等距離射影されたものであるとの仮定のもと、画像中心Cからの距離に比例して仰角βの絶対値が大きくなり、軌跡画像の上端から下端までの間で仰角βが180°分だけ変化するものとして、仰角βを計算する。また、u=cuの線上又はそれの最も近くにある各観測点に対応する方位角αを、α=0とする。このようにして、各軌跡T1〜T4におけるu=cuの線上又はそれの最も近くにある観測点について、それぞれ方位角α及び仰角βの初期値を、大まかに推定する。
つぎに、u=cuの線上又はそれの最も近くにある観測点以外の各観測点に対応する方位角αを計算する。ここで、軌跡T1〜T4毎に観たときに、1つの軌跡の左端から右端に向かう間、方位角αの値は、軌跡の左端から軌跡に沿って測った距離に比例して変化し、軌跡の右端に至るまでには、撮像ステップS1で魚眼カメラ10が回転された回転角度である180°分だけ変化するものと、仮定する。また、1つの軌跡上の各観測点にそれぞれ対応する仰角βは、同じである。よって、u=cuの線上又はそれの最も近くにある観測点以外の各観測点にそれぞれ対応する仰角βは、u=cuの線上又はそれの最も近くにある該観測点について求めた仰角βと、同じである。このようにして、u=cuの線上又はそれの最も近くにある観測点以外の各観測点についても、方位角α及び仰角βの初期値を大まかに推定する。
その後、推定処理部723は、上述のように求めた、軌跡画像中の各観測点に対応する方位角α及び仰角βの初期値を用いて、以下の式(7)〜(9)で求められる評価関数Dを計算する。
ここで、mfiは、観測点のuv座標系での位置ベクトルであり、mriは、再投影点のuv座標系での位置ベクトルである。再投影点mriは、式(1)〜(6)により、α、β、Iの関数で表すことができる。i=1は、各軌跡の左端に対応する。Nは、1つの軌跡上の観測点の数である。Mは、魚眼画像内の軌跡の数(ひいては特徴点の数)であり、図6の例では、M=4である。
評価関数Dは、観測点からなる軌跡と、再投影点からなる軌跡との一致度合いを表すものであり、DrjとDsjとの和である。Drjは、再投影誤差、すなわち、1つの軌跡における、観測点と、その観測点に対応する再投影点との距離の総和を表す。Dsjは、観測点からなる軌跡と、再投影点からなる軌跡との、形状の差を表す値である。
ステップS32において、推定処理部723は、k3=0、k5=0とおくとともに、k1の値を変えながら評価関数Dを計算していき、評価関数Dの最小値Dminを求める。
つぎに、推定処理部723は、歪みパラメータk1、k3、k5のうち、k1を推定する(ステップS33)。より具体的には、直前に求めたDminのときのk1を、その推定値とする。
つぎに、推定処理部723は、軌跡画像中の各観測点に対応する方位角α及び仰角βを、本例ではステップS32とは異なる方法で、再び計算する(ステップS34)。
まず、軌跡画像中の軌跡T1〜T4毎に、u=cuの線上又はそれの最も近くにある観測点を特定し、特定した各観測点にそれぞれ対応する仰角βを計算する。ここで、特定した各観測点の方位角αを、α=0とおくと、式(1)から、θ=βが得られる。このθ=βを式(3)に代入する。また、式(3)において、k1はステップS33での推定値を用い、k3=0、k5=0とおくとともに、rは軌跡画像から求めたものを用いる。すると、βの方程式が得られ、βが求まる。このようにして、各軌跡に対応するβが得られる。
つぎに、u=cuの線上又はそれの最も近くにある観測点以外の各観測点に対応する方位角αを、上記のとおり既知のk1、k3、k5、βと軌跡画像から求めた該各観測点のrとを用いて、式(1)、(2)によりθを消してαの方程式を得ることにより、求める。
このようにして、軌跡画像中の各観測点に対応する方位角α及び仰角βが求まる。
その後、推定処理部723は、上述のように再計算した方位角α及び仰角βを用いて、上記のDminを再び計算する。
つぎに、推定処理部723は、今回算出したDminが、前回算出したDmin以下であれば(ステップS35、NO)、ステップS33に戻って再びk1の推定を行う。この場合、ステップS33では、直前に求めたDmin(すなわちステップS34で求めたDmin)のときのk1を、その推定値とする。
以下、ステップS32〜S35の処理を、「ループ処理1」という。
一方、今回算出したDminが前回算出したDminよりも大きければ(ステップS35、YES)、ループ処理1で求めたDminのうち最小のDmin(即ち、前回算出したDmin)と、該最小のDminのときの歪みパラメータk1とを、いったん記憶部73に記憶させる(ステップS36)。
つぎに、推定処理部723は、歪みパラメータk1、k3、k5のうち、k1、k3を推定する(ステップS37)。ここで、初めてステップS37を実行する場合、推定処理部723は、k5=0とおくとともに、k1、k3の値を変えながら評価関数Dを計算していき、評価関数Dの最小値Dminを求める。ここで、方位角α及び仰角βは、直前にステップS34で求めた値を用いる。そして、得られたDminのときのk1、k3の値を、それらの推定値とする。
なお、2回目以降にステップS37を実行する場合は、直前に求めたDminのときのk1、k3を、それらの推定値とする。
つぎに、推定処理部723は、軌跡画像中の各観測点に対応する方位角α及び仰角βを、ステップS34と同様の方法で、再計算する(ステップS38)。ただし、ステップS34とは異なり、k5=0とおく。
その後、推定処理部723は、上記再計算した方位角α及び仰角βを用いて、上記Dminを再び計算する。
つぎに、推定処理部723は、ステップS37、S38の処理を10回繰り返し、その後(ステップS39、YES)、その10回繰り返した間に、少なくとも1回、Dminが小さくならなかった場合(ステップS40、YES)、後述のステップS44に進む。
一方、上記10回繰り返した間に、少なくとも1回、Dminが小さくなった場合(ステップS40、YES)、さらにステップS37、S38と同様の処理を行う(ステップS41、S42)。ここで、ステップS41を実行する場合は、上記10回繰り返した間における最小のDminのときのk1、k3を、それらの推定値とする。ステップS42の後、今回算出したDminが、前回算出したDmin以下であれば(ステップS43、NO)、再びステップS41、S42を行う。一方、今回算出したDminが、前回算出したDminよりも大きければ(ステップS43、YES)、後述のステップS44に進む。
以下、ステップS37〜S43の処理を、「ループ処理2」という。
ステップS44では、ループ処理2で求めたDminのうち最小のDminと、該最小のDminのときの歪みパラメータk1、k3とを、いったん記憶部73に記憶させる。
その後、ステップS45において、直前の3回にわたって記憶された最小のDmin(すなわち直前のステップS44、直前のステップS53、及び1回前のステップS44のそれぞれで記憶された最小のDmin)どうしを比較する。ステップS53の処理については、後述する。そして、最小のDminが、直前の2回(すなわち直前のステップS44及び直前のステップS53)で連続して大きくならなかった場合(ステップS45、NO)、ステップS46に進み、ループ処理2と同様の処理(以下、「ループ処理3」という。)を、歪みパラメータk1、k3、k5の全てについて行う(ステップS46〜S52)。その後、ステップS53において、ループ処理3で求めたDminのうち最小のDminと、該最小のDminのときの歪みパラメータk1、k3、k5とを、いったん記憶部73に記憶させる。
一方、ステップS45において、直前の2回で連続して大きくなった場合は(ステップS45、YES)、後述のステップS55に進む。
ステップS53の後のステップS54において、最小のDminが、直前の2回(すなわち直前のステップS53及び直前のステップS44)で連続して大きくならなかった場合(ステップS54、NO)、再びステップS37に戻って、ループ処理2から処理を再び行う。一方、ステップS54において、直前の2回で連続して大きくなった場合は(ステップS54、YES)、ステップS55に進む。
ステップS55において、推定処理部723は、記憶部73を参照して、それまでに求めたDminのうち最小のDminと、該最小のDminのときの歪みパラメータk1、k3、k5とを、最終的な推定結果として出力し、処理を終了する。
(効果)
図8は、上述した例に係る撮像ステップS1、軌跡画像生成ステップS2を経て生成された、観測点からなる軌跡Tfを含む軌跡画像に、上記の例における推定ステップS3におけるシミュレーションで得られた、再投影点からなる軌跡Trを、重ね合わせて、軌跡画像の右上部分を拡大した図である。図8(a)は、推定ステップS3の実行途中に得られた歪みパラメータの推定値を含む内部パラメータIを用いて、再投影点の軌跡Trを得た場合の図であり、再投影点の軌跡Trが観測点の軌跡Tfから少しずれている。図8(b)は、推定ステップS3の最終結果として得られた歪みパラメータの推定値を含む内部パラメータIを用いて、再投影点の軌跡Trを得た場合の図であり、再投影点の軌跡Trが観測点の軌跡Tfにほぼ重なっている。図8の結果から、上述した例に係る撮像ステップS1、軌跡画像生成ステップS2を用いて生成された軌跡画像を用いることにより、高い精度で内部パラメータIを推定できることが判る。
本実施形態によれば、特別な被写体を用意することを要さず、簡単かつ高精度に、魚眼カメラの内部パラメータを推定することができる。
なお、本施形態の推定装置や本実施形態の推定方法(ひいては本実施形態の推定プログラム)は、それぞれ、様々な変更例が可能である。
例えば、撮像ステップS1において、ユーザが、魚眼カメラ10の回転や、魚眼カメラ10への撮像の指示(シャッターボタンを押す等)を、行ってもよい。
また、撮像ステップS1において、撮像時間間隔は、一定である必要はなく、まだらな間隔でもよい。
推定ステップS3では、上述した方法以外の方法によっても、軌跡画像に基づいて、内部パラメータIを推定してもよい。
より具体的には、ステップS31において、画像中心Cのv座標cvを求めるにあたっては、軌跡画像内の各軌跡のうち、近似された放物線の形状が最もフラット(すなわち最も直線に近い)ものを特定し、特定した軌跡上の各観測点のv座標の平均値を、画像中心Cのv座標cvとしてもよい。あるいは、軌跡画像内の各軌跡から近似された各放物線の頂点のv座標及び2次の項の係数を求め、2次の項の係数が0になるv座標を最小2乗法で推定して、その結果を、画像中心Cのv座標cvとしてもよい。
また、上記の例では、歪みパラメータの推定において、軌跡画像における観測点と再投影点とを1対1の対応関係とし、方位角α及び仰角βの算出や、評価関数Dの算出を行うものであるが、これに限られない。例えば、評価関数Dを、軌跡画像における観測点と、再投影点が描く軌跡との、距離の式で表し、方位角αを算出せずに、仰角βのみを算出するようにしてもよい。
また、歪みパラメータの推定において、軌跡画像における観測点を用いる代わりに、観測点が描く軌跡あるいは該軌跡から近似された放物線上の、任意の点を用いてもよい。
また、撮像ステップS1での各撮像タイミングにおける魚眼カメラ10の回転位置から、方位角αを求めるようにしてもよい。その場合、魚眼カメラ10の回転位置は、エンコーダ50の出力に基づいて求められる。あるいは、モータ40をステッピングモータにより構成することで、各撮像タイミングにおける魚眼カメラ10の回転位置を予め設定したとおりに制御できるようにしてもよい。その場合、エンコーダ50を省略してもよい。
本発明の推定方法、推定装置、及び推定プログラムは、魚眼カメラの内部パラメータを推定する際に利用できる。
1 推定装置
10 魚眼カメラ
11 魚眼レンズ
20 回転台
30 回転軸
40 モータ
50 エンコーダ
60 三脚
70 コンピュータ
71 通信部(取得部)
72 制御部
73 記憶部
74 入力部
75 表示部
81〜84 物体
81a〜84a 特徴点
90 カメラ支持部(カメラ回転部)
721 回転制御部(カメラ回転部)
722 軌跡画像生成部
723 推定処理部
731 回転制御プログラム
732 軌跡画像生成プログラム(推定プログラム)
733 推定処理プログラム(推定プログラム)
C 画像中心
O 光軸
RA 回転軸線
RP 仮想回転平面
T1〜T4 軌跡

Claims (6)

  1. 魚眼レンズを備えた魚眼カメラの内部パラメータの推定方法であって、
    前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、前記魚眼カメラによって、複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより、複数の魚眼画像を得る、撮像ステップと、
    前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成ステップと、
    前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定ステップと、
    を含むことを特徴とする、推定方法。
  2. 前記推定ステップにおいて、前記軌跡画像においてそれぞれ放物線状に現れる前記各軌跡の頂点を求め、前記各軌跡の頂点に基づいて、前記内部パラメータにおける、前記魚眼カメラの魚眼画像の歪みの中心を表す画像中心の座標を、推定する、請求項1に記載の推定方法。
  3. 前記推定ステップにおいて、前記軌跡画像中の前記各観測点にそれぞれ対応する前記特徴点の方位角及び仰角を、前記軌跡画像に基づいて求め、求めた前記各特徴点の前記方位角及び仰角を用いて、前記内部パラメータにおける、前記魚眼カメラの魚眼画像の歪みを表す歪みパラメータを、推定する、請求項1又は2に記載の推定方法。
  4. 魚眼レンズを備えた魚眼カメラの内部パラメータの推定装置であって、
    前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、該魚眼カメラによって複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより得られた、複数の魚眼画像を、取得する、取得部と、
    前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成部と、
    前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定処理部と、
    を備えたことを特徴とする、推定装置。
  5. 前記魚眼カメラを前記回転軸線の周りで回転させるように構成された、カメラ回転部をさらに備えた、請求項4に記載の推定装置。
  6. 魚眼レンズを備えた魚眼カメラの内部パラメータの推定プログラムであって、
    前記魚眼カメラが、複数の視覚的な特徴点を含む空間内で、該魚眼カメラの内部を通るとともに該魚眼カメラの光軸に対してほぼ垂直に延在する回転軸線の周りで回転される間に、前記魚眼カメラによって複数の異なるタイミングのそれぞれで前記複数の特徴点を撮像することにより得られた、複数の魚眼画像を、取得する、取得ステップと、
    前記各特徴点に対応する前記各魚眼画像中の観測点の集合から得られる軌跡を含む、軌跡画像を生成する、軌跡画像生成ステップと、
    前記軌跡画像に基づいて、前記魚眼カメラの内部パラメータを推定する、推定ステップと、
    をコンピュータに実行させることを特徴とする、推定プログラム。
JP2015116946A 2015-06-09 2015-06-09 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム Active JP6525195B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015116946A JP6525195B2 (ja) 2015-06-09 2015-06-09 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015116946A JP6525195B2 (ja) 2015-06-09 2015-06-09 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム

Publications (2)

Publication Number Publication Date
JP2017003398A JP2017003398A (ja) 2017-01-05
JP6525195B2 true JP6525195B2 (ja) 2019-06-05

Family

ID=57752595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015116946A Active JP6525195B2 (ja) 2015-06-09 2015-06-09 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム

Country Status (1)

Country Link
JP (1) JP6525195B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110648274B (zh) * 2019-09-23 2024-02-02 创新先进技术有限公司 鱼眼图像的生成方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10288513A (ja) * 1997-04-14 1998-10-27 Ricoh Co Ltd 形状測定装置
JP4825980B2 (ja) * 2007-03-06 2011-11-30 国立大学法人岩手大学 魚眼カメラの校正方法。
JP5455124B2 (ja) * 2010-04-01 2014-03-26 国立大学法人鳥取大学 カメラ姿勢パラメータ推定装置

Also Published As

Publication number Publication date
JP2017003398A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
US20240153143A1 (en) Multi view camera registration
JP7294396B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6344050B2 (ja) 画像処理システム、画像処理装置、プログラム
CN110191326B (zh) 一种投影系统分辨率扩展方法、装置和投影系统
WO2013111229A1 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
US20150177062A1 (en) Information processing apparatus, information processing method, and storage medium
CN111161336B (zh) 三维重建方法、三维重建装置和计算机可读存储介质
TW202036480A (zh) 影像定位方法及其系統
JP6721112B2 (ja) カメラパラメータ推定装置、方法およびプログラム
CN110312111B (zh) 用于图像装置的自动校准的装置、系统和方法
JP2001061121A (ja) プロジェクタ装置
JP5410328B2 (ja) 光学投影安定化装置、光学投影安定化方法およびプログラム
JP7076097B2 (ja) 画像水平調整装置及びそのプログラム、並びに、図面生成システム
JP6525195B2 (ja) 魚眼カメラの内部パラメータの、推定方法、推定装置、及び推定プログラム
JP4199641B2 (ja) プロジェクタ装置
JP6282157B2 (ja) 形状認識装置
JP4778569B2 (ja) ステレオ画像処理装置、ステレオ画像処理方法及びステレオ画像処理プログラム
TW201813366A (zh) 場景掃描方法及系統
JP5728399B2 (ja) 計測装置、方法及びプログラム
JP2011146762A (ja) 立体モデル生成装置
JP2009244229A (ja) 三次元画像処理方法、三次元画像処理装置および三次元画像処理プログラム
WO2017057426A1 (ja) 投影装置、コンテンツ決定装置、投影方法、および、プログラム
JP2015219634A (ja) 画像処理プログラム、画像処理方法および画像処理装置
JP6773982B2 (ja) 情報処理装置、その制御方法とプログラム
JP7482268B2 (ja) 画像処理装置、画像処理システム、画像処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190329

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: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190424

R150 Certificate of patent or registration of utility model

Ref document number: 6525195

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250