(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5654889
(24)【登録日】2014年11月28日
(45)【発行日】2015年1月14日
(54)【発明の名称】レンズ歪みの補正法
(51)【国際特許分類】
G06T 3/00 20060101AFI20141218BHJP
H04N 1/387 20060101ALI20141218BHJP
H04N 5/232 20060101ALI20141218BHJP
【FI】
G06T3/00 200
H04N1/387
H04N5/232 Z
【請求項の数】5
【全頁数】9
(21)【出願番号】特願2011-16399(P2011-16399)
(22)【出願日】2011年1月28日
(65)【公開番号】特開2012-155652(P2012-155652A)
(43)【公開日】2012年8月16日
【審査請求日】2014年1月7日
【新規性喪失の例外の表示】特許法第30条第1項適用 〔発行者名〕 電子情報通信学会 〔刊行物名〕 電子情報通信学会技術研究報告 Vol.110 No.283 〔発行年月日〕 2010年11月11日 〔発行者名〕 関西大学、独立行政法人科学技術振興機構 〔刊行物名〕 関西大学新技術説明会資料集 〔発行年月日〕 2010年12月10日
(73)【特許権者】
【識別番号】399030060
【氏名又は名称】学校法人 関西大学
(74)【代理人】
【識別番号】100074332
【弁理士】
【氏名又は名称】藤本 昇
(72)【発明者】
【氏名】棟安 実治
(72)【発明者】
【氏名】花田 良子
(72)【発明者】
【氏名】工藤 天志
【審査官】
佐田 宏史
(56)【参考文献】
【文献】
特開2001−223891(JP,A)
【文献】
特開平11−126256(JP,A)
【文献】
米国特許出願公開第2007/0098296(US,A1)
【文献】
正野 隆文、外2名,“印刷画像を用いた情報検出のためのレンズ歪み補正法”,電子情報通信学会2009年基礎・境界ソサイエティ大会講演論文集,日本,社団法人電子情報通信学会,2009年 9月 1日,p.85
【文献】
秋山 泰、他,岩波 情報科学辞典 ,日本,株式会社岩波書店,1990年 5月25日,第1版,p.80
【文献】
藤木 淳、外2名,“較正画像における直線度に基づく放射対称歪曲の較正”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2010年12月 2日,Vol.110, No.330,p.79-84
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00
H04N 1/387,5/232
(57)【特許請求の範囲】
【請求項1】
四角形状の撮影画像から直線に近い枠線を抽出し、この枠線上の画素の座標を保存し、歪みのない画像座標を算出するためのパラメータである歪み係数を算出するため、予め決められた範囲から歪み係数の候補とされる複数の仮の歪み係数を算出し、各仮の歪み係数を用いて補正後の枠線を求め、この補正後の枠線から回帰直線を計算し、この補正後の枠線の座標と回帰直線との誤差を計算し、最小の誤差を算出した仮の歪み係数を歪み係数と推定し、この歪み係数をパラメータとして補正画像を形成するレンズ歪みの補正法であって、
前記仮の歪み係数の範囲を設定するステップと、
前記仮の歪み係数の範囲の上限及び下限から求められた2つの仮の歪み係数を用いた極小点探査法によって該仮の歪み係数の範囲を絞り込むステップと、
絞り込まれた範囲における仮の歪み係数の下限に、反復値を順次、上限まで加算し、加算された各仮の歪み係数の誤差を算出し、最小の誤差を算出した仮の歪み係数を歪み係数と推定するステップと、を備え、
前記極小点探査法は、
各仮の歪み係数を用いて求められた補正後の枠線と、この補正後の枠線から計算された回帰直線との誤差である仮の歪み係数の誤差をそれぞれ計算する第一ステップと、
2つの仮の歪み係数の誤差の大小を比較する第二ステップと、
その大小から一方の仮の歪み係数を更新する第三ステップと、を有し、
仮の歪み係数の誤差が予め決められた閾値より小さくなるまで前記第一〜第三ステップを行うことで、前記仮の歪み係数の範囲を段階的に狭める、レンズ歪みの補正法。
【請求項2】
前記極小点探査法は、黄金分割探査法であることを特徴とする請求項1に記載のレンズ歪みの補正法。
【請求項3】
四角形状の撮影画像枠線の4辺について枠線上の画素の座標を保存し、推定精度を向上させることのできる3辺から歪み係数を推定することを特徴とする請求項1又は2に記載のレンズ歪みの補正法。
【請求項4】
樽型歪みの撮影画像では、歪曲の小さな3辺から歪み係数を推定することを特徴とする請求項3に記載のレンズ歪みの補正法。
【請求項5】
糸巻き型歪みの撮影画像では、歪曲の大きな3辺から歪み係数を推定することを特徴とする請求項3に記載のレンズ歪みの補正法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば携帯型電話機や携帯型ゲーム機などの携帯型電子機器(以下、「携帯電話」という。)に備えられたカメラによって撮影された撮影画像が樽型歪みや糸巻き型歪みなどの歪曲収差歪みを生じている場合に、この歪曲収差歪みを補正するためのレンズ歪みの補正法に関する。
【背景技術】
【0002】
携帯電話には、カメラ機能や2次元バーコードを読み取るアプリケーション(ソフトウェア)を搭載した機種が多数提供されている。そして、携帯電話は、カメラ機能によって2次元バーコードを撮影し、アプリケーションが2次元バーコードに記録されたインターネットのURLなどを解析することにより、Webサイトを画面に表示する機能を備えている。
【0003】
しかし、携帯電話に備えられたカメラ機能は、コンパクト化を図るため、小口型のレンズを搭載している。このようなレンズで撮影された撮影画像は、いわゆる樽型歪みが生じ、2次元バーコードを正確に読み取ることができにくいため、2次元バーコードに埋め込まれた情報の検出率が低下するという問題がある。また、望遠レンズで撮影された撮影画像は、いわゆる糸巻き型歪みが生じる。
【0004】
そこで、樽型歪みや糸巻き型歪みなどの歪曲収差歪みが生じている撮影画像の特性を考慮することにより、両方の歪みを補正することのできるようにしたレンズ歪みの補正法が非特許文献1に提案されている。このレンズ歪みの補正法は、歪曲収差歪みが撮影画像の中央を中心として放射状に生じ、中心点から離れるにしたがって歪み量が多くなるという[数1]に示された関係を応用している。
【0005】
【数1】
【0006】
レンズ歪みの補正法では、一般に高次の項が比較的重要でないとされるため、撮影画像から歪み係数K
2を推定することなく、歪み係数K
1を推定することで、歪みのない画像座標x’,y’を算出する。歪み係数K
1は、
図3に示すような手順によって推定する。
【0007】
すなわち、まず、四角形状の撮影画像から直線に近い枠線の1辺(細長い楕円形で囲った一方の1辺)を抽出し、この枠線上の複数画素の座標を座標群として保存する(S1)。次に、歪み係数K
1の候補として多数の仮の歪み係数について保存された座標群を用いて最小2乗法による直線回帰を行い、求められた多数の回帰直線と保存された座標群上の点との2乗距離を合計した誤差が最小となった仮の歪み係数を歪み係数K
1と推定する。
【0008】
直線回帰とは、複数のデータ(x
1,y
1),…,(x
n,y
n)が与えられたときに、できるだけ各データの点の近くを通る直線y=ax+b(回帰直線)の傾きaと切片bとを求めることである。回帰直線は、予め決められた範囲の複数の仮の歪み係数(K
1min=−9×10
-8〜K
1max=9×10
-8)について多数求める。
【0009】
すなわち、まず、仮の歪み係数の初期値K
1min(=−9×10
-8)を設定し(S2)、この初期値K
1minに対する保存された座標群に対する補正後の座標群(枠線)を[数1]の式から求める(S3)。続いて、補正後の座標群から最小2乗法による直線回帰を行い、回帰直線を推定する(S4)。そして、補正後の座標群(枠線)と回帰直線との2乗距離の合計を誤差として求め(S5)、この誤差を仮の歪み係数K
1minの値とともに保存する(S6)。
【0010】
そして、仮の歪み係数の初期値K
1min(=−9×10
-8)に反復値K
1int(=0.1×10
-8)を加算して仮の歪み係数K
1(min+1)(=−9.1×10
-8)を更新する(S7)。この更新された仮の歪み係数K
1(min+1)についても、前記の操作(S3〜S6)を行う。この操作(S3〜S6)は、仮の歪み係数K
1がK
1max(=9×10
-8)を超えるまで繰り返される。
【0011】
すなわち、仮の歪み係数K
1がK
1max(=9×10
-8)を超えると、得られた仮の歪み係数K
1min〜K
1maxの中から前記誤差が最小となるときの仮の歪み係数を最適な歪み係数K
1の推定値とし、この最適な歪み係数K
1をパラメータとして[数1]に示された式を用いて補正画像を生成することでレンズ歪みの補正を行う(S8)。この手法では、保存する座標群として枠線の上辺、左辺の2辺上の座標群をそれぞれ使用し、各座標群からそれぞれ求められた歪み係数K
1の平均値を最終的なパラメータとしている。
【0012】
なお、射影変換をレンズ歪み補正よりも先に行うと、「レンズによる歪みは、撮影画像の中央を中心として放射状に生じる。」という関係が崩れるため、正確にレンズ歪みを補正することができなくなる。よって、レンズ歪み補正を行った後に射影変換が行われる。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】T.Shono, M.Muneyasu, Y.Hanada: "Implementation of Data Embedding to Printing Images for Information Retrieving by Cellular Phones Considering Lens Distortion," Proc.ISPACS2009,pp558-561,2009.
【発明の概要】
【発明が解決しようとする課題】
【0014】
前記従来のレンズ歪みの補正法では、歪み係数K
1を推定するため、仮の歪み係数に反復値K
1int(=0.1×10
-8)刻みで加算し、回帰計算や誤差の計算、さらに仮の歪み係数と誤差との保存という手順を1800回も繰り返している。したがって、撮影画像の枠線の4辺を抽出することが好ましいにもかかわらず、従来のレンズ歪みの補正法では、処理時間の短縮を図るため、撮影画像の隣り合っている枠線の上辺と左辺の二辺しか抽出していない。
【0015】
それにもかかわらず、従来のレンズ歪みの補正法では、枠線の検出に0.76秒、歪み係数の測定と推定に42.12秒もかかる。さらに、二辺だけ抽出して推定された歪み係数K
1の精度は高くないことから、補正画像を必ずしも正確に生成することができないという不具合もある。
【0016】
そこで、本発明は、短時間に、しかも、高精度に歪み係数を推定し、補正画像を正確に生成することができるようにしたレンズ歪みの補正法を提供することを課題とする。
【課題を解決するための手段】
【0017】
本発明に係るレンズ歪み補正法は、四角形状の撮影画像から直線に近い枠線を抽出し、この枠線上の画素の座標を保存し、歪みのない画像座標を算出するためのパラメータである歪み係数を算出するため、予め決められた範囲から歪み係数の候補とされる複数の仮の歪み係数を算出し、各仮の歪み係数を用いて補正後の枠線を求め、この補正後の枠線から回帰直線を計算し、この補正後の枠線の座標と回帰直線との誤差を計算し、最小の誤差を算出した仮の歪み係数を歪み係数と推定し、この歪み係数をパラメータとして補正画像を形成するレンズ歪みの補正法であって、
前記仮の歪み係数の範囲を設定するステップと、前記仮の歪み係数の範囲の上限及び下限から求められた2つの仮の歪み係数を用いた極小点探査法によって該仮の歪み係数の範囲を絞り込むステップと、絞り込まれた範囲
における仮の歪み係数の下限に
、反復値を順次、上限まで加算し、加算された各仮の歪み係数の誤差を算出し、最小の誤差を算出した仮の歪み係数を歪み係数と推定するステップ
と、を備え、前記極小点探査法は、各仮の歪み係数を用いて求められた補正後の枠線と、この補正後の枠線から計算された回帰直線との誤差である仮の歪み係数の誤差をそれぞれ計算する第一ステップと、2つの仮の歪み係数の誤差の大小を比較する第二ステップと、その大小から一方の仮の歪み係数を更新する第三ステップと、を有し、仮の歪み係数の誤差が予め決められた閾値より小さくなるまで前記第一〜第三ステップを行うことで、前記仮の歪み係数の範囲を段階的に狭めることを特徴としている。
【0018】
このレンズ歪みの補正法は、仮の歪み係数と誤差との関係が単峰性の目的関数によって表され、前記誤差の唯一の最小点から歪み係数を推定できるというる特質に着目し、歪み係数を推定する時間を短縮する。すなわち、このレンズ歪みの補正法は、例えば、推定する歪み係数を含む区間における仮の歪み係数K
11,K
12の誤差f(K
11),f(K
12)の大小を比較し、その大小から次の仮の歪み係数K
11,K
12を極小点探査法により順次、大まかに更新することで予め決められた誤差の閾値まで仮の歪み係数の範囲を絞り込む。そして、絞り込まれた範囲内では、仮の歪み係数の下限に反復値を順次、上限まで加算し、各加算された仮の歪み係数について誤差を算出し、最小の誤差を算出した仮の歪み係数を歪み係数と推定する。
【0019】
また、前記本発明に係るレンズ歪みの補正法において、前記極小点探査法は、黄金分割探査法であることが好ましい。
【0020】
このレンズ歪みの補正法によれば、黄金分割探査法により、仮の歪み係数をさらに短時間に絞り込むことができる。ここで、黄金分割探査法は、区間[a,b]における仮の歪み係数K
11,K
12の値と黄金比τ≒0.618を用い、その区間を内分する点K
11,K
12を、K
11=b−τ(b−a),K
12=a+τ(b−a)から求めることにより極小点を得る方法である。
【0021】
また、前記本発明に係るレンズ歪みの補正法において、四角形状の撮影画像枠線の4辺について枠線上の画素の座標を保存し、推定精度を向上させることのできる3辺から歪み係数を推定することが好ましい。
【0022】
4辺から歪み係数を的確に推定できない、すなわち、推定精度のよくない辺があるところ、このレンズ歪みの補正法によれば、四角形状の撮影画像の4辺についての枠線上の画素の座標のうち、推定精度のよくない辺を外した3辺を用いることによって、推定精度を向上させることができる。
【0023】
また、前記本発明に係るレンズ歪みの補正法において、樽型歪みの撮影画像では、歪曲の小さな3辺から歪み係数を推定することが好ましい。
【0024】
このレンズ歪みの補正法によれば、歪曲の小さな3辺から歪み係数を推定することで、推定精度の向上を図ることができる。これは、実験結果から、樽型歪みの撮影画像においては、補正する量が小さくなるように設定した方が推定精度の向上が観測されたためである。
【0025】
また、前記本発明に係るレンズ歪みの補正法において、糸巻き型歪みの撮影画像では、歪曲の大きな3辺から歪み係数を推定することが好ましい。
【0026】
このレンズ歪みの補正法によれば、歪曲の大きな3辺から歪み係数を推定することで、推定精度の向上を図ることができる。これは、実験結果から、糸巻き型歪みの撮影画像においては、補正する量が大きくなるように設定した方が推定精度の向上が観測されたためである。
【発明の効果】
【0027】
本発明によれば、極小点探査法によって歪み係数を推定するレンズ歪みの補正法が提供されることにより、このレンズ歪みの補正法によって補正画像を作成する時間を短縮することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明に係るレンズ歪みの補正法を説明するフロー図である。
【
図2】仮の歪み係数と誤差との関係を示すグラフである。
【
図3】従来のレンズ歪みの補正法を説明するフロー図である。
【発明を実施するための形態】
【0029】
本発明に係るレンズ歪みの補正法の一実施形態について、
図1及び
図2を参照しながら説明する。このレンズ歪みの補正法は、例えば小型のレンズを使用して撮影された四角形状の撮影画像の樽型歪みや糸巻き歪みのような歪曲収差歪みを補正するため、前記[数1]で示した歪み係数K
1を短時間に推定できるようにしたことを特徴としている。
【0030】
そのため、このレンズ歪みの補正法は、仮の歪み係数と誤差との関係が単峰性の目的関数によって表され、前記誤差の唯一の最小点から歪み係数K
1を推定できるという特質を応用し、極小点探査法により、歪み係数K
1を推定する。
【0031】
極小点探査法としては、黄金分割探査法を使用する。黄金分割探査法は、単峰性の目的関数において、最小値の探査範囲を黄金分割比を用いて狭めることで、最小値を得る手法である。したがって、黄金分割探査法では、
図2に示すように、目的関数f(K
1)の最小値を含む区間[a,b]を設定し、の値と黄金分割比τ≒0.618を用いて、その区間を内分する仮の歪み係数K
11とK
12を設定する。
【0032】
K
11とK
12は、
K
11=b−τ(b−a)
K
12=a+τ(b−a)
から得られる。
【0033】
この仮の歪み係数K
11とK
12を用い、演算装置によって補正後の各座標群を求める。そして、演算装置によって各回帰直線を計算し、各補正後の枠線座標と回帰直線との誤差f(K
11)とf(K
12)を計算する。続いて、演算装置によってこの誤差f(K
11)とf(K
12)の大きさを比較し、K
11とK
12を更新する。
【0034】
すなわち、f(K
11)>f(K
12)の場合は、
a=K
11,K
11=K
12,K
12=b−(1−τ)(b−a)
【0035】
また、f(K
11)<f(K
12)の場合は、
b=K
12,K
12=K
11,K
11=a+(1−τ)(b−a)
【0036】
そして、f(a)<εかつf(b)<ε(εは予め決められている閾値)でなければ、仮の歪み係数K
11とK
12を用い、演算装置によって補正後の各座標群を求め直し、各回帰直線を計算し、各補正後の枠線座標と回帰直線との誤差f(K
11)とf(K
12)を計算し、この誤差f(K
11)とf(K
12)を比較するという手順を繰り返す。目的関数f(K
1)は、閾値εよりも大きい場合は正又は負に比例するため、K
11とK
12の間隔は、大まかに狭めて更新することができる。
【0037】
そして、f(a)<εかつf(b)<εとなると、目的関数f(K
1)は、曲線状に変化するため、K
11とK
12を大まかに更新することができない。そこで、下限の仮の歪み係数K
1minを仮の歪み係数K
11とK
12のどちらか小さい方とし、上限の仮の歪み係数K
1maxを仮の歪み係数K
11とK
12をのどちらか大きい方とする。そして、演算装置によって下限の仮の歪み係数K
1minに反復値Kb
1int(=0.1×10
-8)刻みで加算し、仮の歪み係数K
1とする。
【0038】
そして、この仮の歪み係数K
1を用い、演算装置によって補正後の座標群を求め、回帰直線を計算し、補正後の枠線座標と回帰直線との誤差を計算し、仮の歪み係数K
1と誤差を保存する。この仮の歪み係数K
1に反復値Kb
1intを加算するという手順を上限の仮の歪み係数K
1maxになるまで、すなわち絞り込まれた範囲で繰り返す。そして、演算装置によってそれぞれの誤差f(K
1)を算出し、最も小さな誤差f(K
1)を算出した仮の歪み係数を歪み係数K
1と推定する。この歪み係数K
1は、前記の手順を16回繰り返すだけで推定することができる。
【0039】
歪み係数K
1の推定に、従来では42.12秒要していたにもかかわらず、このレンズ歪みの補正法では0.34秒と短縮することができる。したがって、このレンズ歪みの補正法では、四角形状の撮像画像の枠線の4辺を抽出し、4辺について歪み係数K
1を推定することで、精度の高いレンズ歪みの補正をすることができる。
【0040】
ただし、処理時間の短縮化のため、4辺の誤差を算出するものの、樽型歪みの撮影画像では、歪曲の小さな3辺から歪み係数K
1を推定し、糸巻き型歪みの撮影画像では、歪曲の大きな3辺から歪み係数K
1を推定し、平均値を歪み係数K
1とする。実験結果から、樽型歪みの撮影画像では、補正する量が小さくなるように、糸巻き型歪みの撮影画像では、補正する量が大きくなるように設定した方が、推定精度が向上する傾向がみられたため、この傾向を反映するように、樽型歪みの撮影画像と糸巻き型歪みの撮影画像とで歪み係数K
1の推定に用いる辺を選択する。
【0041】
なお、樽型歪みの撮影画像は回帰直線の誤差が正で表され、糸巻き型歪みの撮影画像は回帰直線の誤差が負で表されるため、誤差の正負により、樽型歪みの撮影画像であるか糸巻き型歪みの撮影画像であるかを判断することができる。
【0042】
このようにして歪み係数K
1が推定されると、この歪み係数K
1をパラメータとして演算装置によって歪みのない画像座標x’,y’を算出する。この歪みのない画像座標x’,y’は、[数1]を変形した[数2]から求めることができる。
【0044】
この歪みのない画像座標x’,y’から演算装置によって補正画像が生成される。ただし、被写体に対して垂直方向から撮影されなかった撮影画像については、射影変換を行うことによって補正する。射影変換をレンズ歪み補正よりも先に行うと、「レンズによる歪みは撮影画像の中央を中心として放射状に生じる。」という関係が崩れるため、レンズ歪み補正を行った後に、射影変換を行う。
【0045】
このように、レンズ歪み補正と射影変換により、撮影画像を補正した補正画像がメモリに保存される。被写体が2次元バーコードであり、2次元バーコードにインターネットのURLやメールアドレスが記録されていると、補正画像からインターネットのURLやメールアドレスを正確に読み取ることができる。
【0046】
なお、本発明は、前記実施の形態に限定することなく種々変更することができる。例えば、正確に補正するよりも処理時間を優先する場合は、4辺からでなく、2辺のみから歪み係数K
1を推定してもよい。
【0047】
また、本発明は、携帯電話に備えられた小型のレンズに対して、有効に適用することができるが、小型のレンズに限定することなく、レンズ歪みが生じる各種のレンズ、例えば自動車の後方を写すカメラにも適用することができる。