(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-15
(45)【発行日】2022-03-24
(54)【発明の名称】画像補正処理システム
(51)【国際特許分類】
G06T 3/00 20060101AFI20220316BHJP
H04N 5/232 20060101ALI20220316BHJP
【FI】
G06T3/00 740
H04N5/232 290
(21)【出願番号】P 2020160365
(22)【出願日】2020-09-25
(62)【分割の表示】P 2019109923の分割
【原出願日】2019-06-12
【審査請求日】2020-09-25
(73)【特許権者】
【識別番号】516278171
【氏名又は名称】株式会社マーケットヴィジョン
(74)【代理人】
【識別番号】100205084
【氏名又は名称】吉浦 洋一
(72)【発明者】
【氏名】村田 利文
(72)【発明者】
【氏名】辛 東主
(72)【発明者】
【氏名】谷井 成吉
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2008-257713(JP,A)
【文献】特開2015-026914(JP,A)
【文献】特開平10-003109(JP,A)
【文献】中居 友弘 Tomohiro Nakai,情報リサイクルのための文書の書き込み解析 Analysis of Annotation on Documents for Recycling Information,電気学会論文誌C Vol.126 No.4 IEEJ,日本,(社)電気学会 The Institute of Electrical Engineers of Japan,2006年04月01日,第126巻,p.463-p.450
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
画像情報に対して補正処理を行う画像補正処理システムであって,
前記画像補正処理システムは,
画像情報において輪郭線の線分を検出する線分検出処理部と,
前記検出した線分のうち,縦成分および/または横成分の線分を選択する線分選択処理部と,
前記選択した線分の線分情報を用いて
回帰直線の算出を行うことで,
消失点を共通とした線分を特定し,前記画像情報の補正処理を行う補正処理部と,
を有することを特徴とする画像補正処理システム。
【請求項2】
画像情報に対して補正処理を行う画像補正処理システムであって,
前記画像補正処理システムは,
画像情報において輪郭線の線分を検出する線分検出処理部と,
前記画像情報に対する補正処理を実行する補正処理部と,を有しており,
前記補正処理部は,
前記横成分の線分について
回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の水平線と,前記縦成分の線分について
回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の垂直線と,を用いて構成される四角形の頂点に基づいて,透視変換処理を実行する,
ことを特徴とする画像補正処理システム。
【請求項3】
コンピュータを,
画像情報において輪郭線の線分を検出する線分検出処理部,
前記検出した線分のうち,縦成分および/または横成分の線分を選択する線分選択処理部,
前記選択した線分の線分情報を用いて
回帰直線の算出を行うことで,
消失点を共通とした線分を特定し,前記画像情報の補正処理を行う補正処理部,
として機能させることを特徴とする画像補正処理プログラム。
【請求項4】
コンピュータを,
画像情報において輪郭線の線分を検出する線分検出処理部,
前記画像情報に対する補正処理を実行する補正処理部,として機能させる画像補正処理プログラムであって,
前記補正処理部は,
前記横成分の線分について
回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の水平線と,前記縦成分の線分について
回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の垂直線と,を用いて構成される四角形の頂点に基づいて,透視変換処理を実行する,
ことを特徴とする画像補正処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,画像補正処理システムに関する。
【背景技術】
【0002】
カメラなどの撮影装置で撮影した画像情報に写っている対象物を自動認識する場合,その対象物を正対した位置から撮影することで,撮影装置のレンズの光軸と対象物の面とが垂直となるので,撮影した画像情報に歪みが生じず,自動認識の精度が向上する。そのため,自動認識を行う場合,理想的には対象物を正対した位置から撮影することが好ましい。
【0003】
しかし,撮影装置で対象物を撮影する際の撮影角度は,撮影場所のスペースや光源位置などさまざまな撮影条件によって制約されることが一般的である。そして,対象物を俯角,仰角で撮影したり,左右にずれた方向から撮影することで,撮影した画像情報に歪みが生じる。一般に,自動認識は,標本とする画像情報と,撮影した画像情報との間の画像情報同士の特徴量を比較することで行う。そのため,正対していない位置から撮影された画像情報に対して自動認識を行う場合,正対した位置から撮影されている標本とする画像情報と,互いに異なる撮影角度から撮影されているので,撮影した画像情報での歪みが大きければ大きいほど,対象物の自動認識の認識精度が低下する。
【0004】
すなわち,本来,三次元空間における水平線,垂直線は,正対した位置から撮影すれば,二次元である撮影した画像情報においても水平線,垂直線となるはずである。しかし,撮影条件などによっては,正対した位置から撮影できないことが多く,その場合,撮影した画像情報においては,水平線,垂直線とはならない。これを二次元の画像情報においても,水平線,垂直線となるように補正を行うことが求められる。
【0005】
そこで,三次元空間における水平線,垂直線が,二次元の画像情報においても水平線,垂直線となるように補正することで,認識精度の低下を改善することができ,それを実現するため,手動による画像情報の補正を行うことが行われている。このような画像情報の補正処理は,たとえば以下のように行われる。
【0006】
補正対象となる画像情報が
図5であったとする。まず,この画像情報に四角形の枠200などを重畳表示する(
図20)。そして,オペレータが手動で,実際には長方形であるにもかかわらず画像情報上では歪んだ四角形として表示されている4頂点の位置に,重畳表示した四角形200の各頂点を移動する。この状態を模式的に示すのが
図21である。その後,利用者がコンピュータで所定の操作を行うことで,コンピュータが当該重畳表示した四角形200が長方形となるように,画像情報全体をアフィン変換するという処理を行う。それによって,
図22に示すように,補正処理が実行できる。
【0007】
このような補正処理の一例として台形補正処理が知られており,たとえば下記特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
従来の補正処理を行う場合,オペレータが手動で台形補正処理などの頂点を手動で指定する操作を行うことから,オペレータの作業負担が発生する。また,手動での作業なので,処理時間も要することとなる。そこでこのような補正処理について自動化することが求められている。
【0010】
補正処理を自動化するにあたり,カメラなどの撮影装置に内蔵されている重力センサなどの物理的なセンサを用いることが考えられる。しかし,その場合,撮影に手間がかかったり,センサを内蔵した撮影装置でなければ利用することができない,といった制約が発生する。
【課題を解決するための手段】
【0011】
そこで本発明者は上記課題に鑑み,画像情報に対する画像処理によって補正処理を行う画像補正処理システムを発明した。
【0012】
第1の発明は,画像情報に対して補正処理を行う画像補正処理システムであって,前記画像補正処理システムは,画像情報において輪郭線の線分を検出する線分検出処理部と,前記検出した線分のうち,縦成分および/または横成分の線分を選択する線分選択処理部と,前記選択した線分の線分情報を用いて回帰直線の算出を行うことで,消失点を共通とした線分を特定し,前記画像情報の補正処理を行う補正処理部と,を有する画像補正処理システムである。
【0013】
処理対象とする画像情報において輪郭線の線分を検出し,検出した線分から縦成分,横成分の線分について,回帰直線などを算出することで,線分の全体の傾きの傾向を特定することができる。この傾向を用いて補正処理を実行すれば,画像情報に対する補正処理を実行することができる。すなわち,3次元空間における水平線および/または垂直線について,画像情報では水平線,垂直線となっていなくても,本発明を用いることで,画像情報において水平線および/または垂直線に補正することができる。
【0014】
第2の発明は,画像情報に対して補正処理を行う画像補正処理システムであって,前記画像補正処理システムは,画像情報において輪郭線の線分を検出する線分検出処理部と,前記画像情報に対する補正処理を実行する補正処理部と,を有しており,前記補正処理部は,前記横成分の線分について回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の水平線と,前記縦成分の線分について回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の垂直線と,を用いて構成される四角形の頂点に基づいて,透視変換処理を実行する,画像補正処理システムである。
【0015】
3次元空間における水平線,垂直線について,画像情報では水平線,垂直線となっていなくても,本発明のように構成することで,画像情報において水平線,垂直線に補正することができる。
【0016】
第1の発明は,本発明のプログラムをコンピュータに読み込ませて実行することで実現できる。すなわち,コンピュータを,画像情報において輪郭線の線分を検出する線分検出処理部,前記検出した線分のうち,縦成分および/または横成分の線分を選択する線分選択処理部,前記選択した線分の線分情報を用いて回帰直線の算出を行うことで,消失点を共通とした線分を特定し,前記画像情報の補正処理を行う補正処理部,として機能させる画像補正処理プログラムである。
【0017】
第2の発明は,本発明のプログラムをコンピュータに読み込ませて実行することで実現できる。すなわち,コンピュータを,画像情報において輪郭線の線分を検出する線分検出処理部,前記画像情報に対する補正処理を実行する補正処理部,として機能させる画像補正処理プログラムであって,前記補正処理部は,前記横成分の線分について回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の水平線と,前記縦成分の線分について回帰直線の算出を行うことで特定した,3次元空間における少なくとも2本の垂直線と,を用いて構成される四角形の頂点に基づいて,透視変換処理を実行する,画像補正処理プログラムである。
【発明の効果】
【0018】
本発明の画像補正処理システムを用いることによって,画像情報について自動的に補正処理を行うことができるので,オペレータの作業負担を軽減し,また処理時間も減らすことができる。また,センサなどを用いることもないので,撮影装置に依存することもない。
【図面の簡単な説明】
【0019】
【
図1】本発明の画像補正処理システムの全体の処理機能の一例を模式的に示すブロック図である。
【
図2】本発明の画像補正処理システムで用いるコンピュータのハードウェア構成の一例を模式的に示すブロック図である。
【
図3】本発明の画像補正処理システムにおける全体処理の処理プロセスの一例を示すフローチャートである。
【
図4】本発明の画像補正処理システムにおける補正処理の処理プロセスの一例を示すフローチャートである。
【
図5】補正対象とする画像情報の一例を示す図である。
【
図6】横成分の線分と縦成分の線分の関係を模式的に示す図である。
【
図7】3次元空間における垂直線,水平線が,画像情報では垂直線,水平線が消失点に向かうことを模式的に示す図である。
【
図8】3次元空間における垂直線,水平線が,画像情報では垂直線,水平線が消失点に向かうことを画像情報との関係で模式的に示す図である。
【
図9】画像情報における水平線が直線AB上に位置することを模式的に示す図である。
【
図10】y
Intとtan(θ)とについてプロットをしたグラフを模式的に示す図である。
【
図11】補正処理部における透視変換処理の一例を模式的に示す図である。
【
図12】変形前の台形と,それを変形した画像情報と,さらにそれを縦方向にr倍した画像情報の関係を模式的に示す図である。
【
図13】
図5の画像情報に対して,本発明の画像補正処理システムにおける補正処理を実行した後の画像情報の一例を示す図である。
【
図14】実施例1において,補正処理の対象として入力をした画像情報の一例を示す図である。
【
図15】実施例1において,
図14の画像情報に対して,本発明の画像補正処理システムにおける補正処理を実行した後の画像情報の一例を示す図である。
【
図16】実施例3の画像補正処理システムにおける全体処理の処理プロセスを示すフローチャートの一例である。
【
図17】実施例3の画像補正処理システムにおける3次元空間における2本の水平線を求める処理の処理プロセスを示すフローチャートの一例である。
【
図18】透視変換処理を行うための四角形の頂点を求める処理を模式的に示す図である。
【
図19】四角形を長方形に透視変換する処理を模式的に示す図である。
【
図20】補正対象とする画像情報に,手動で補正処理を行うための四角形の枠を表示した状態の一例を示す図である。
【
図21】補正対象とする画像情報において,実際には長方形であるにもかかわらず画像情報上では歪んだ四角形として表示されている4頂点の位置に,重畳表示した四角形の各頂点を移動した状態の一例を示す図である。
【
図22】
図21で移動した4頂点の位置が長方形となるように,画像情報全体をアフィン変換して補正処理をした状態の一例を示す図である。
【発明を実施するための形態】
【0020】
本発明の画像補正処理システム1の全体の処理機能の一例のブロック図を
図1に示す。画像補正処理システム1は,管理端末2と入力端末3とを用いる。
【0021】
管理端末2は,画像補正処理システム1の中心的な処理機能を実現するコンピュータである。また,入力端末3は,画像情報を管理端末2に入力する端末である。
【0022】
画像補正処理システム1における管理端末2,入力端末3は,コンピュータを用いて実現される。
図2にコンピュータのハードウェア構成の一例を模式的に示す。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,情報を表示するディスプレイなどの表示装置72と,情報の入力が可能なキーボードやマウスなどの入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。
【0023】
コンピュータがタッチパネルディスプレイを備えている場合には,表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
【0024】
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
【0025】
入力端末3は,上述の各装置のほか,カメラなどの撮影装置を備えていてもよい。入力端末3として,携帯電話,スマートフォン,タブレット型コンピュータなどの可搬型通信端末を用いることもできる。入力端末3は,撮影装置で可視光などによる画像情報を撮影してもよい。
【0026】
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していてもよい。本発明の各手段における処理は,その処理順序を適宜変更することもできる。また,処理の一部を省略してもよい。たとえば後述する視点方向を決定する処理を省略することもできる。その場合,視点方向を決定する処理をしていない画像情報に対する処理を実行することができる。また,管理端末2における機能の一部または全部を入力端末3で実行してもよい。
【0027】
画像補正処理システム1は,画像情報入力受付処理部20と画像情報記憶部21と線分検出処理部22と線分選択処理部23と補正処理部24とを有する。
【0028】
画像情報入力受付処理部20は,入力端末3などから撮影した画像情報の入力を受け付け,後述する画像情報記憶部21に記憶させる。たとえば店舗の陳列棚の画像情報の入力を受け付け,画像情報記憶部21に記憶させる。
図5に,入力端末3から入力を受け付けた画像情報の一例を示す。
図5では,店舗の陳列棚の撮影した画像情報であり,これが補正対象となる画像情報となる。
図5のように,店舗の陳列棚を撮影する場合,撮影者の背後にほかの陳列棚が位置し,通路が狭いなどの事情から,撮影対象となる陳列棚と撮影装置との間の距離を確保できないことがある。また陳列棚は撮影者の視線の下方に位置するため,俯角での撮影となることも多い。そのため,正対した位置から撮影できていない。これを正対した位置から撮影したように,本発明によって撮影した画像情報を補正をする。なお,本発明は,俯角で撮影した画像情報のみならず,仰角で撮影した画像情報,左右方向から撮影した画像情報などでも同様に適用することができる。
【0029】
画像情報記憶部21は,入力端末3から受け付けた画像情報を記憶する。
【0030】
線分検出処理部22は,画像情報入力受付処理部20で入力を受け付けた画像情報や画像情報記憶部21に記憶した画像情報など,補正処理の対象とする画像情報において,エッジ検出処理などを行うことで輪郭線を抽出し,抽出した輪郭線を短い線分(直線)(線分群)に変換して検出する。線分検出処理部22は,たとえばLSD(線分検出器:Line Segment Detector)を用い,画像情報から輪郭線を構成する線分(line segment)を検出する。この線分は,好ましくはベクトルデータであって,2つの端点を持つ直線である。
【0031】
たとえば店舗の陳列棚を撮影した画像情報について,線分検出処理部22で輪郭線を線分に変換すると,平均して数万本の線分が検出できる。
【0032】
線分選択処理部23は,線分検出処理部22で検出した線分のうち,縦成分または横成分の線分を選択する。縦成分の線分とは,上下方向を向いている線分であり,横成分の線分とは水平方向を向いている線分である。たとえば上下方向を±90度とした場合,±45度以上±135度未満を向いている線分が縦成分の線分であり,0度から±45度未満,±135度から±180度を向いている線分が横成分の線分とすることができる。これを模式的に示すのが
図6である。なお,上下方向,左右方向を区別するための角度は,上記に限らず,任意に設定できる。
【0033】
補正処理部24は,線分選択処理部23で選択した縦成分または横成分の線分に対して,正対した位置となる補正処理を実行する。すなわち3次元空間における水平線,垂直線が,画像情報では水平線,垂直線とはなっていないので,それを画像情報においても水平線,垂直線となるように,その線分のベクトルデータなどの線分に関する情報(線分情報)を用いて補正をする処理を実行する。
【0034】
まず補正処理部24における補正処理の前提となる概念を説明する。
【0035】
3次元空間における対象物を撮影する場合,それが正対した位置から撮影できていない場合,対象物を俯角や仰角(上下方向)あるいは左右方向から撮影していることとなる。そのため,3次元空間における水平線群,垂直線群は,それぞれ,画像情報上では,上下方向の一つの共通の点(消失点),水平方向の一つの共通の点(消失点)に向かうこととなる。したがって,画像情報における水平線群,垂直線群をそれぞれ仮想的に延長すれば,その延長線上では共通の点(消失点)を通ることとなる。これを模式的に示すのが
図7である。なお,
図7では,対象物を俯角で撮影した場合であり,垂直線群のみについて示しているが,水平線群についても同様である。
【0036】
そして水平線群,垂直線群を構成する各線分についての消失点の位置を求め,画像情報において,水平方向の消失点を通る少なくとも2本の3次元空間における水平線,垂直方向の消失点を通る少なくとも2本の3次元空間における垂直線を求めれば,画像情報の変形を特定できるので,画像情報について正対した位置から撮影したように透視変換処理を行える。透視変換処理とは,任意の四角形を長方形に変換する処理であって,その一例として台形補正処理がある。
【0037】
画像情報における水平線群の横成分に着目した場合,
図8におけるAおよびBが3次元空間における水平線,すなわち画像情報上では,共通の消失点を有していると仮定することができる。なお,
図8におけるx
maxは画像情報の横幅,y
maxは画像情報の高さである。そうすると,線分Aについて,
y=tan(θ)x+b
としたとき,
y
0=tan(θ)x
0+b
となるので,
y=tan(θ)(x-x
0)+y
0
となる。
【0038】
この直線と,x=xmax/2との交点のy座標(これをyIntとする)について,
yInt=tan(θ)(xmax/2-x0)+y0
となるので,
yInt-y0=tan(θ)(xmax/2-x0)
となる。
【0039】
すなわち,線分Aのx=xmax/2の切片のy座標(yInt)とtan(θ)とは線形である。なお,3次元空間における水平線が画像情報でも水平線として写るのは,θ=0のときなので,
y=y0
である。
【0040】
以上から,線分Aのx=x
max/2の切片のy座標(y
Int)とtan(θ)とのグラフは
図9のようになる。つまり,全ての水平線は,直線AB上に分布する。
【0041】
なお,yIntについて,x=xmax/2の切片とするのは,画像情報において偏った位置での切片を求めると,消失点は左右いずれの方向のいずれにあるかはこの時点ではわからないので,左右いずれかの方向にある消失点に近くなり,誤差が生じる可能性が高くなるからである。そのため,yIntについて,x=xmax/2の切片とすることが好ましいが,それに限定するものではなく,画像情報の横幅方向の中心付近,あるいは中心から1/3~2/3程度の幅の間の位置の切片とすることが好ましい。また,画像情報をどのように撮影したのかがわかる場合,左右のどちらに消失点があるかはわかるので,それに基づいて,切片の位置を任意に変更してもよい。
【0042】
以上を前提として,補正処理部24は,線分選択処理部23で選択した横成分の各線分について,y
Intとtan(θ)とについてプロットをして,
図10に示すようなグラフを求める。なお,グラフを求めるとは,実際に2次元のグラフにプロットするほか,y
Intとtan(θ)とについて後述する回帰直線が算出可能なように数値データとして整理されている状態であれば足りる。
図10では画像情報から選択した横成分の線分のうち,短い線分(ベクトル)を除外して1/10程度に線分を減らした上でプロットをしているが,選択した線分の一部の線分のみを処理対象とするのではなく,選択したすべての線分を処理対象としてもよい。
【0043】
そして補正処理部24は,
図10に示すようなy
Intとtan(θ)とについての回帰直線を,たとえばロバスト推定のアルゴリズムであるRANSACなどを用いて求める。
【0044】
具体的には,点群の回帰直線を求め,もっとも大きな外れ値となる点から順に,全体の所定量,たとえば5%~10%の点を除外し,残った点群について,分散が所定の閾値以下となるまで,上記を繰り返すことで,回帰直線を求める。なお,回帰直線を求めるためには,上記に限定するものではなく,ほかの方法を用いてもよい。
【0045】
補正処理部24は,回帰直線を求める前に,ノイズを除去するため,所定の閾値よりも短い線分を除外してもよい。
【0046】
また,所定の長さよりも長い線分についてはより大きな重み付けをして回帰直線を求めることもできる。長い線分は,ノイズではない可能性が高く,回帰直線を求める上での重要度が高いため,処理精度の向上に資するからである。
【0047】
つぎに,補正処理部24は,透視変換処理で用いる頂点を特定する処理を実行する。これを模式的に示すのが
図11である。
【0048】
そして,上述のように算出したyIntとtan(θ)とについての回帰直線と,yInt=0,yInt=ymaxの交点におけるtan(θ)の値であるtu(yInt=0のときのtan(θ)の値),td(yInt=ymaxのときのtan(θ)の値)から,画像情報の中央部上下端における水平線の角度arctan(tu),arctan(td)を算出する。
【0049】
そして,補正処理部24は,変形前の台形を指定し,その台形を画像情報と同じ外形に変形させることで,3次元空間における水平線が,画像情報においても水平になる変形の処理を行う。この場合,台形の各頂点をP1,P2,P3,P4とした場合,たとえば台形の頂点P1のy座標d2は,
図11におけるd0,d1の値を,以下の数1で求めることができる。
(数1)
【0050】
また,台形の頂点P2のy座標h2は,
図12におけるh0,h1の値を,以下の数2で求めることができる。
(数2)
【0051】
そして,台形の頂点P3のy座標は,上述で求めたP2(x=0,y=d0+h2)と,(x=xmax/2,y=ymax)の点を通る直線において,x=xmaxのときのy座標を算出することで求めることができる。
【0052】
また,台形の頂点P4のy座標は,上述で求めたP1(x=0,y=d0-d2)と,(x=xmax/2,y=0)の点を通る直線において,x=xmaxのときのy座標を算出することで求めることができる。
【0053】
補正処理部24は,上述のように台形の頂点P1乃至P4のy座標を算出し,またx座標は,それぞれ0またはxmaxであるので,台形の頂点P1乃至P4の各座標を算出することができる。
【0054】
このように台形の頂点P1乃至P4の座標を算出すると,この各頂点P1乃至P4の座標を用いて,アフィン変換などの公知の透視変換処理を実行する。透視変換処理としてはさまざまな公知技術を適用することができる。
【0055】
撮影対象とした対象物に3次元空間における水平線が多く含まれている場合,それを撮影した画像情報にも,3次元空間における水平線が,画像情報上では水平線とはならずに写っている。一方,3次元空間における水平線の延長線は,画像情報では共通の消失点に向かっている。その消失点を通る少なくとも2本の水平線(3次元空間における水平線であって,画像情報では水平線ではない線分)を画像情報から特定できれば,その画像情報における左右方向の変形量を特定できる。なお,共通の消失点とは,2本の線が必ずしも同一の点を通らなくてもよく,ある点から所定範囲内を通る場合も含まれる。共通の消失点を通る線は,消失点を共有する線と表記する場合もある。
【0056】
垂直線についても同様であって,3次元空間における垂直線の延長線は,画像情報では共通の消失点に向かっており,その消失点を通る少なくとも2本の垂直線(3次元空間における垂直線であって,画像情報では垂直線ではない線分)を画像情報から特定できれば,その画像情報における上下方向の変形量を特定できる。このように特定した,左右方向の消失点を通る少なくとも2本の水平線と,上下方向の消失点を通る少なくとも2本の垂直線により構成される四角形の変形量を用いて,アフィン変換などの透視変形処理を実行することで,3次元空間の水平線,垂直線を,画像情報においても水平線,垂直線に補正することができる。
【0057】
水平線または垂直線の消失点は,それぞれ二次元平面全体に広がっている。そしてその消失点を求めるため,上述のように,消失点に向かう画像情報の線分群が同一の性質を持つような空間,たとえばtan(θ)とy切片とからなる空間にマッピングする。そして,発明者らは,その空間において消失点を共通とする線分は,上述のように,一直線に並ぶ性質があることを初めて導出したので,たとえば回帰直線を求めることによって,消失点を共通とする線分が特定できる。そしてこの線分を用いて,画像情報の変形量,たとえば回帰直線とy=0,y=ymaxの交点,すなわち,回帰直線と画像情報の両端の位置との交点を求めれば,画像情報の上端と下端における変形量を特定することができる。この上端と下端における変形量を用いてそれを水平にするアフィン変換などの透視変換処理を実行することで,台形を長方形に変形することができる。なお,回帰直線と画像情報の両端の位置との交点を求めることとしたが,それに限定するものではなく,回帰直線と離隔した2点の交点を求め,その2点を結ぶ直線から,透視変換処理を実行する範囲である,たとえばy=0,y=ymaxの位置を求めてもよい。
【0058】
画像情報における線分をtan(θ)とy切片とからなる空間における回帰直線を求める以外の方法によって求めてもよい。
【0059】
補正処理部24は透視変換処理を実行したあと,縦横比の調整処理を実行する。すなわち,本来,正方形の対象物が画像情報に写っているとしても,正方形には近づかず,横に潰れた(または縦に引き延ばされた)画像情報となることがある。
【0060】
そこで,縦横比を調整する処理を実行する。この場合,レンズの焦点距離(画角),撮影時の撮影装置と対象物との相対距離(撮影装置と対象物間の距離と,対象物のサイズの比率)に依存し,それらを仮定として設定し,縦横比を調整する。この仮定の設定は,撮影装置の機種,撮影距離,あるいは実験によって得られた値から縦横比を調整する係数を設定することが好ましい。
【0061】
たとえば水平方向の画角が63度の撮影装置で撮影装置を縦にして,1台の縦長の陳列棚をおおよそ画角いっぱいになるような構図で角度をつけて撮影した場合には,
図11における長辺をa,短辺をbとし,
r=(a-b)/a
とすると,縦方向の調整係数はおおよそ,
1-r×0.7
となることが実験結果より明らかとなった(±7%程度の誤差)。
【0062】
そこで,上述の透視変換処理で得られた画像情報を縦に1/(1-0.7r)倍拡大するか,横に,(1-0.7r)倍縮小すれば,縦横比の調整ができる。
【0063】
なお,撮影装置を横にして,陳列棚数段分をおおよそ画角いっぱいになるような構図で撮影した場合も同様であった。
【0064】
これらを模式的に示すのが
図12である。なお,上述の調整係数については,上述に限定するものではなく,対象物の種類や大きさなどによって任意に設定することができる。
【0065】
以上のような各処理を補正処理部24で実行することで,水平方向の補正処理が実行できる。
【0066】
補正処理部24は,縦成分の線分に関する処理を行う場合には,線分選択処理部23で選択された縦成分の線分について,その線分の縦横の座標軸を90度変換することで,横成分の線分に変換し,上述と同様の処理を実行できる。なお,変換後は,さらに縦横の座標軸を90度変換することで,縦成分の線分に戻す。
【0067】
入力端末3から入力を受け付けた画像情報(
図5)に対して,本発明の画像補正処理システム1における補正処理を実行した画像情報の一例が
図13である。
【0068】
なお,補正処理部24における上述の処理として横成分の線分に関する処理の場合を説明したが,縦成分の線分で処理を実行してもその座標軸が90度異なるだけで,同様に処理が実行できることは当然である。また,画像情報が上下方向または左右方向のいずれかでは角度をつけることなく撮影されている場合には,角度がつけられている方向に対応する成分(縦成分または横成分)の線分のいずれかに対してのみ処理を実行してもよい。
【0069】
補正処理部24は,横成分の線分に対する補正処理,縦成分の線分に対する補正処理を実行した後,補正処理後の画像情報,たとえば
図13の画像情報を,補正処理前の画像情報に対応づけて画像情報記憶部21に記憶させるとよい。また補正処理後の画像情報は,オペレータが所定の操作をすることで,表示装置72に表示する,印刷するなど所定の操作で出力される。
【実施例1】
【0070】
つぎに本発明の画像補正処理システム1を用いた処理プロセスの一例を
図3および
図4のフローチャートを用いて説明する。本実施例では,店舗の陳列棚を撮影した画像情報に対して,本発明の画像補正処理システム1によって自動的に補正する処理を行う場合を説明する。
【0071】
まず撮影担当者は,店舗の陳列棚を撮影する。画像情報入力受付処理部20は,撮影した画像情報は入力端末3から入力を受け付け(S100),画像情報記憶部21に記憶させる。この画像情報の一例が
図14である。
【0072】
線分検出処理部22は,画像情報記憶部21に記憶させた画像情報のうち,処理対象とする画像情報に対してLSDを用い,画像情報から輪郭線を構成する線分の集まりである線分群を検出する(S110)。
【0073】
S110で線分群を検出後,線分選択処理部23は,検出した線分群のうち,横成分の線分を選択する(S120)。そして,選択した横成分の線分に対して,補正処理部24が,3次元空間における水平線が,画像情報で水平線となるように補正処理を実行する(S130)。
【0074】
具体的には,S120で選択した横成分の各線分のすべてまたは一部について,線分のベクトルデータに基づいて,yIntとtan(θ)に変換をする(S200)。そして,RANSACを用いて,各線分のyIntとtan(θ)とについての回帰直線を算出する(S210)。そして,算出したyIntとtan(θ)とについての回帰直線と,yInt=0,yInt=ymaxの交点におけるtan(θ)の値であるtu(yInt=0のときのtan(θ)の値),td(yInt=ymaxのときのtan(θ)の値)から,画像情報の中央部上下端における水平線の角度arctan(tu),arctan(td)を算出する(S220)。
【0075】
補正処理部24は以上のように算出した値を用いて,台形の頂点P1乃至P4の座標を算出する(S230)。また,縦横比を算出するため,一つのおおよそ長方形の撮影対象物を画角いっぱいにあるような構図で角度をつけて撮影した場合の,対象物のおおよその長辺a,短辺bの入力を受け付けることで,
r=(a-b)/a
を算出し,縦横の補正値rを算出する(S240)。
【0076】
以上のように算出した補正値rを用いて,S230で算出した変形後の台形の各頂点P1乃至P4の領域を,縦方向または横方向に所定倍,たとえば画角が63度の場合には,縦方向に1/(1-0.7r)倍拡大する,若しくは横方向に,(1-0.7r)倍縮小する(S250)。
【0077】
以上のような処理を実行することで,S120で選択した横成分の線分に対する補正処理を実行できる。
【0078】
つぎに線分選択処理部23は,S110で検出した線分群のうち,縦成分の線分を選択する(S140)。そして,選択した縦成分の線分について座標軸の縦横を変換し(S150),上述のS130と同様に,補正処理部24が,3次元空間における水平線(座標軸の縦横変換前の垂直線)が,画像情報で水平線(座標軸の縦横変換前の垂直線)となるように補正処理を実行する(S160)。
【0079】
以上のような処理を実行することで,S100において画像情報入力受付処理部20で入力を受け付けて画像情報記憶部21に記憶した画像情報について,3次元空間における水平線および垂直線を,画像情報においても水平線および垂直線となるように補正処理を実行することができる。このような処理を実行した画像情報の一例が
図15である。
【実施例2】
【0080】
上述の実施例では,画像情報から検出した横成分の線分,縦成分の線分に対してそれぞれ補正処理を行う場合を説明したが,実際に2度の変形を行うのではなく,2階変形を行った場合の座標変換マトリクスを実施例1の処理で算出してから,まとめて画像情報の変形処理を行ってもよい。これによって,画像情報の変形処理の回数を減らすことができるので,処理の高速化を実現することができる。
【0081】
すなわち,補正処理部24は,選択された横成分の線分に対する補正処理を実行することで,横成分の線分に対する座標変換マトリクスを算出し,つぎに,縦成分の線分に対する補正処理を実行することで,縦成分の線分に対する座標変換マトリクスを算出し,これらに基づいて,縦方向および横方向に変形を行った場合の座標変換マトリクスを算出する。そして,算出した縦方向および横方向に変形を行った場合の座標変換マトリクスに基づいて,S100で入力を受け付けた画像情報に対する補正処理を実行するように構成してもよい。
【実施例3】
【0082】
補正処理部24における横成分の線分,縦成分の線分に対する補正処理の異なる方法として,本実施例のように行うこともできる。この場合の全体の処理プロセスの一例を
図16のフローチャートに,補正処理部24における処理プロセスの一例を
図17に示す。なお,本実施例においても,実施例1および実施例2と同様に,店舗の陳列棚を撮影した画像情報に対する補正処理を実行する場合を説明するが,それに限定するものではなく,ほかの画像情報であっても同様に処理が実行できる。
【0083】
実施例1および実施例2と同様に,撮影担当者は,店舗の陳列棚を撮影する。画像情報入力受付処理部20は,撮影した画像情報は入力端末3から入力を受け付け(S300),画像情報記憶部21に記憶させる。
【0084】
線分検出処理部22は,画像情報記憶部21に記憶させた画像情報のうち,処理対象とする画像情報に対してLSDを用い,画像情報から輪郭線を構成する線分の集まりである線分群を検出する(S310)。
【0085】
S310で線分群を検出後,線分選択処理部23は,検出した線分群のうち,横成分の線分を選択する(S320)。そして,選択した横成分の線分に対して,補正処理部24が,少なくとも3次元空間における2本の水平線を求める(S330)。この処理を模式的に
図18に示す。
【0086】
具体的には,S320で選択した横成分の各線分のすべてまたは一部について,線分のベクトルデータに基づいて,yIntとtan(θ)に変換をする(S400)。そして,RANSACを用いて,各線分のyIntとtan(θ)とについての回帰直線を算出する(S410)。そして,算出したyIntとtan(θ)とについての回帰直線と,yInt=0,yInt=ymaxの交点におけるtan(θ)の値であるtu(yInt=0のときのtan(θ)の値),td(yInt=ymaxのときのtan(θ)の値)から,画像情報の中央部上下端における水平線の角度arctan(tu),arctan(td)を算出する(S420)。これによって,画像情報の下端(y=0)の中央部(x=xmax/2)を通る直線P1P4,画像情報の下端(y=ymax)の中央部(x=xmax/2)を通る直線P2P3を求める(S430)。なお,P1乃至P4は,後述するように各直線同士の交点である。これによって,3次元空間における2本の水平線が求められる。なお,実施例1と同様に,yIntについてx=xmax/2の切片に限定するのではなく,画像情報の横幅方向の中心付近,あるいは中心から1/3~2/3程度の幅の間の位置の切片とすることが好ましい。また,画像情報をどのように撮影したのかがわかる場合,左右のどちらに消失点があるかはわかるので,それに基づいて,切片の位置を任意に変更してもよい。
【0087】
また,画像情報の中央部上下端における水平線の角度arctan(tu),arctan(td)を算出するほか,任意の2点における水平線の角度arctan(tu),arctan(td)を算出してもよい。すなわち,3次元空間における2本の水平線を求められれば,どこであってもよい。
【0088】
つぎに,線分選択処理部23は,検出した線分群のうち,縦成分の線分を選択する(340)。そして,選択した縦成分の線分について座標軸の縦横を変換し(S350),上述のS330と同様に,補正処理部24が,少なくとも3次元空間における2本の水平線(座標軸の縦横変換前の垂直線)を求める(S360)。そして,S360で求めた2本の水平線について,さらに座標軸の縦横を変換して縦成分に戻す。これによって,画像情報の左端(x=0)の中央部(y=ymax/2)を通る直線P1P2,画像情報の右端(x=xmax)の中央部(y=ymax/2)を通る直線P3P4を求めることができる。
【0089】
補正処理部24は,S330およびS360で求めた4本の直線P1P2,直線P3P4,直線P2P3,直線P1P4から交点P1乃至P4を求める。交点P1乃至P4による四角形は,正対した位置から撮影したとすれば長方形になるはずの図形である。そこで,補正処理部24は,交点P1乃至P4を各頂点とする四角形を長方形に透視変換処理をすることで,補正処理を実行する(S370)。なお,この透視変換処理は,たとえばOpenCVのライブラリとして提供されているwarpPerspective()によって実現できるが,それに限定するものではない。これを模式的に示すのが
図19である。なお,縦横比の調整処理については,warpPerspective()によって実行することができる。
【0090】
以上のような処理を実行することで,S100において画像情報入力受付処理部20で入力を受け付けて画像情報記憶部21に記憶した画像情報について,3次元空間における水平線および垂直線を,画像情報においても水平線および垂直線となるように補正処理を実行することができる。
【0091】
画像情報における線分をtan(θ)とy切片とからなる空間における回帰直線を求める以外の方法によって求めてもよい。
【実施例4】
【0092】
実施例1乃至実施例3では店舗の陳列棚を撮影した画像情報に対して補正処理を行う場合を説明したが,それに限定するものではなく,さまざまな画像情報に対して適用することができる。とくに,主として垂直線と水平線で構成されている対象物を撮影した画像情報であれば,その効果は高くなる。
【0093】
たとえば土木分野や建築分野などにおけるコンクリート構造物を撮影する場合,その外形,梁,目地などは,主として垂直線と水平線で構成されていることが多い。そのため,コンクリート構造物などを対象物として撮影する場合,撮影スペースや光源などのさまざまな撮影条件から正対した位置で撮影できないときに,撮影した画像情報を正対した位置から撮影したように補正する場合に適用することができる。
【0094】
また,画像情報としては,静止画像のみならず,動画像であっても同様に本発明を用いることができる。動画像の場合にはフレームの最初の画像とそこからの画素の変化によって,動画像を実現している。そのためフレームの最初の画像に対して本発明の処理を実行してその補正処理を行い,以後のフレームについては,同様の処理を適用すればよい。
【0095】
上述の各実施例における各処理については,本発明の明細書に記載した順序に限定するものではなく,その目的を達成する限度において適宜,変更することが可能である。
【産業上の利用可能性】
【0096】
本発明の画像補正処理システム1を用いることによって,画像情報について自動的に補正処理を行うことができるので,オペレータの作業負担を軽減し,また処理時間も減らすことができる。また,センサなどを用いることもないので,撮影装置に依存することもない。
【符号の説明】
【0097】
1:画像補正処理システム
2:管理端末
3:入力端末
20:画像情報入力受付処理部
21:画像情報記憶部
22:線分検出処理部
23:線分選択処理部
24:補正処理部
70:演算装置
71:記憶装置
72:表示装置
73:入力装置
74:通信装置
200:オペレータが手動で補正処理を行う場合に画像情報に重畳して表示する四角形の枠