JP2019012361A - 情報処理装置、プログラム及び情報処理方法 - Google Patents

情報処理装置、プログラム及び情報処理方法 Download PDF

Info

Publication number
JP2019012361A
JP2019012361A JP2017128039A JP2017128039A JP2019012361A JP 2019012361 A JP2019012361 A JP 2019012361A JP 2017128039 A JP2017128039 A JP 2017128039A JP 2017128039 A JP2017128039 A JP 2017128039A JP 2019012361 A JP2019012361 A JP 2019012361A
Authority
JP
Japan
Prior art keywords
information
image
conversion
document
distortion correction
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
Application number
JP2017128039A
Other languages
English (en)
Inventor
嘉仁 七海
Yoshihito Nanaumi
嘉仁 七海
Original Assignee
キヤノン株式会社
Canon Inc
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 キヤノン株式会社, Canon Inc filed Critical キヤノン株式会社
Priority to JP2017128039A priority Critical patent/JP2019012361A/ja
Publication of JP2019012361A publication Critical patent/JP2019012361A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/006Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Abstract

【課題】 歪み補正の精度を向上させる。
【解決手段】 本発明では、第1の撮影画像から、歪み補正に必要な第1の情報を検出しておく。そして、異なる2つの撮影画像のそれぞれにおける特徴点に基づいて、前記異なる2つの撮影画像それぞれの座標系の間の座標変換に用いる変換情報(変換行列)を求める。当該求めた変換情報(変換行列)を用いて、前記検出した第1の情報を、第2の撮影画像における歪み補正に必要な第2の情報に変換し、当該変換された第2の情報に基づいて、第2の撮影画像に対して歪み補正を実行する。
【選択図】 図5

Description

本発明は、撮影画像中に含まれる原稿領域の歪み補正に関するものである。
近年、スマートフォンやタブレットPCといった高度な情報処理機能を持つモバイル端末が普及してきている。これらのモバイル端末は、カメラを備え、撮影機能(カメラ機能)を有している。このようなモバイル端末のカメラ機能を用いて紙媒体の原稿を撮影して得られた原稿画像を、携帯端末のメモリ上に画像データとして保存する機会が増えてきた。フラットベッドスキャナや複合機における原稿のスキャンとは異なり、モバイル端末のカメラ機能を用いた原稿の撮影では、撮影画像全面に原稿全体を正面から歪みなく写すことが難しい。また、このようにして得られた撮影画像をそのままコピーしたりデータファイル化したりするのは好ましくない。なぜなら、撮影時に原稿内容以外の余計なものが写ってしまう場合や、斜め方向から撮影したために原稿内容が幾何学的に歪んでしまう場合があるためである。このような場合には、コピーやデータファイル化を行う前に撮影画像から原稿内容の領域(原稿領域)だけを切り出し、切り出した原稿領域に対して歪み補正(台形補正と呼ばれる場合もある)を施して幾何科学的歪みを取り除く必要がある。特許文献1では、罫線画像や文字画像などの情報を使い原稿領域の歪み補正を行っている。また、特許文献2には、原稿の四辺を検出し、当該検出された四辺形に基づいて歪み補正することが記載されている。
特開平10−079878号公報 特開2016−139334号公報
原稿を撮影した撮影画像に対してOCR処理を行おうとした場合、原稿にカメラを接近させて撮影することにより、OCR対象の文字領域の解像度が高まることに加え、画像細部のピントのボケを防ぐことができるため、OCR精度が向上する。一方で、原稿にカメラを接近させて原稿の一部分だけを撮影したときに、特許文献1のような、罫線画像や文字画像の情報を使って原稿画像の歪み補正を行う技術を適用すると、罫線画像や文字画像などが歪み補正量を計算するのに必要な量だけ撮影されず、歪み補正の精度が落ちてしまうという課題がある。また、原稿にカメラを接近させて原稿の一部分だけを撮影すると、原稿の四辺が撮影されないので、特許文献2のような、原稿の四辺に基づいて歪み補正を行う技術をそのまま適用することはできない、という課題がある。
上記課題を解決するために、本発明の情報処理装置は、第1の撮影画像から、歪み補正に必要な第1の情報を検出する検出手段と、異なる2つの撮影画像のそれぞれにおける特徴点に基づいて、前記異なる2つの撮影画像それぞれの座標系の間の座標変換に用いる変換情報を求める取得手段と、前記変換情報を用いて、前記検出手段で検出した第1の情報を、第2の撮影画像における歪み補正に必要な第2の情報に変換する変換手段と、前記第2の情報に基づいて、前記第2の撮影画像に対して歪み補正を実行する歪み補正手段と、を有することを特徴とする。
本発明によれば、第1の撮影画像に基づき歪み補正情報を抽出しておく。そして、第2の撮影画像を取得した場合、その第2の撮影画像と第1の撮影画像との間の座標変換を行うための1乃至複数の変換情報に基づいて、第1の撮影画像の歪み補正情報を、第2の撮影画像の歪み補正情報に変換し、当該変換後の歪み補正情報を用いて第2の撮影画像の歪み補正を行うことにより、歪み補正の精度を向上させることができる。
モバイル端末の外観の一例を示す図である。 モバイル端末のハードウェア構成の一例を示す図である。 モバイル端末のソフトウェア構成の一例を示す図である。 モバイルアプリのUIの一例を示す図である。 原稿歪み補正処理フローを示す図である。 四辺情報抽出処理の一例を示す図である。 画像位置追跡処理の一例を示す図である。 四辺情報補正処理の一例を示す図である。 歪み補正処理の一例を示す図である。 原稿歪み補正処理フロー2を示す図である。 原稿歪み補正処理フロー3を示す図である。 四辺表示UIの一例を示す図である。 モバイル端末の第2のソフトウェア構成の一例を示す図である。 原稿歪み補正処理フロー4を示す図である。 画像特徴量比較位置追跡処理を示す図である。
(実施例1)
本実施形態に係る情報処理装置の一例として、カメラ機能付きのモバイル端末(携帯端末)を例に説明する。図1は、モバイル端末の外観の一例を示す図である。モバイル端末100は、各種のユニット(101〜104)を含んで構成される。モバイル端末100の前面部101には、タッチパネル102が設けられているタッチパネル102は、画像(動画)等の情報を表示するためのディスプレイ(表示部)としての機能と、ユーザーのタッチ操作に応じて指示を入力するための入力部としての機能とを備えている。さらに、モバイル端末100の背面部103は、紙文書等の被写体105を撮影して撮影画像を取り込むためのカメラ104を含む。モバイル端末100のユーザーは、後述のモバイルアプリ(モバイルアプリケーション)を起動させ、カメラ104を使用して被写体105の画像を撮ることによって処理を開始することができる。図1の被写体105は、A4サイズの紙文書の注文書である。なお、被写体105は、A4サイズの紙文書だけに限らず、様々なサイズの原稿を対象にすることができる。後述のモバイルアプリは、カメラ104を使用して被写体105の画像を取り込み、タッチパネル102にその画像を表示出力することができる。
図2は、モバイル端末100のハードウェアの構成の一例を示す図である。モバイル端末100は、各種のユニット(201〜207)を含んで構成される。CPU(Central Processing Unit)201は、各種のプログラムを実行し、様々な機能を実現するユニット(コンピュータ)である。RAM(Random Access Memory)202は、各種の情報を記憶するユニットである。また、RAM202は、CPU201の一時的な作業記憶領域としても利用されるユニットである。ROM(Read Only Memory)203は、各種のプログラム等を記憶する記憶媒体である。ROM203は、フラッシュメモリやSSD(Solid State Disk)やHDD(Hard Disk Drive)等の記憶媒体であればよい。そして、CPU201は、ROM203に記憶されているプログラムをRAM202にロードしてプログラムを実行する。これにより、CPU201は、図3に示されるようなモバイルアプリの各処理部として機能し、後述するシーケンスの各ステップの処理を実行する。なお、モバイルアプリの各処理部の機能及び後述するシーケンスに係る処理の全部又は一部については、CPU201で実現するものに限るものではなく、専用のハードウェアを用いて実現してもよい。
Input/Outputインターフェース204は、タッチパネル102とデータを送受信する。NIC(Network Interface Card)205は、モバイル端末100をネットワーク(不図示)に接続するためのユニットである。カメラユニット206は、カメラ104と接続し、被写体105の画像をモバイル端末100に取り込む。上述した各ユニットは、バス207を介してデータの送受信を行うことが可能に構成されている。
図3は、モバイル端末100のソフトウェア構成の一例を示す図である。図3に示されるモバイルアプリにおける各機能処理部(モバイルアプリの各モジュール部)を実現するプログラムは、ROM203等に記憶されている。モバイル端末100のOS(Operating System)(不図示)は、データ管理部301を有する。
データ管理部301は、画像やアプリケーションデータを管理する。OSは、データ管理部301を利用するための制御API(Application Programming Interface)を提供している。モバイルアプリはその制御APIを利用することで、データ管理部301が管理する画像やアプリケーションデータの取得や保存を行う。
モバイルアプリ302は、モバイル端末100のOSのインストール機能を利用して、各OSのアプリストア等からダウンロードおよびインストールされたアプリケーションである。モバイルアプリ302は、カメラユニット206を介して取り込んだ被写体105の画像に対する各種のデータ処理を行う。
メイン制御部303は、モバイル端末100用のアプリケーション(モバイルアプリ)302を制御し、各モジュール部(304〜314)を連携させて制御するための制御部である。
情報表示部304は、メイン制御部303からの指示に従い、モバイルアプリ302のユーザーインタフェース(UI)を画面に表示させてユーザーに提供する。図4は、モバイルアプリ302のUI(携帯端末用のUI)を提供する画面の一例(モバイル端末画面400)を示す図である。モバイル端末画面400は、モバイル端末100のタッチパネル102に表示される。また、モバイル端末画面400では、表示および操作を行うための領域401に、カメラ104を介して取り込んだ画像を表示し、また、画像等に対するユーザーによる操作(ユーザー操作)を、当該表示されたUIを介して受け付ける。なお、モバイルアプリ302のUIの形態(位置、大きさ、範囲、配置、表示内容など)は、図に示す形態に限定されるものではなく、後述する各処理を実現することができる適宜の構成を採用することができる。
操作情報取得部305は、情報表示部304により表示されたUIを介してユーザー操作された内容を示す情報を取得し、当該取得した情報をメイン制御部303に通知する。例えば、領域401をユーザーが手で触れると、操作情報取得部305は、当該触れられた画面上の位置の情報を感知し、感知した位置の情報をメイン制御部303に送信する。
撮影画像取得部306は、カメラユニット206を介して撮影された動画像等の各撮影画像を取得し、記憶部307に送信する。記憶部307は、撮影画像取得部306により取得された撮影画像を記憶する。また、記憶部307は、メイン制御部303の指示により、当該記憶している撮影画像の削除を行うこともできる。
DB部308は、データベース機能を有し、撮影対象の原稿に関する情報(例えば、撮影対象の帳票のサイズに関する情報や、該帳票の中のOCR処理対象領域の情報、など)や、モバイルアプリ302で管理する一時情報を保存する。
特徴量抽出部309は、カメラユニット206を介して取得した撮影画像や、記憶部307で一時的に記憶している画像から特徴量を抽出する。例えば、画像上の輝度の変化が大きな箇所(エッジ)などを、特徴的なピクセル点(特徴点)とし、その特徴点の特徴を表すデータ(特徴量)を算出する。特徴点およびその特徴量を求める手法としては、SIFT(Scale−Invariant Feature Transform)やSURF(Speeded−Up Robust Features)などの手法がある。
四辺抽出処理部310は、カメラユニット206を介して取得した撮影画像から、輝度の変化が大きな箇所(エッジ)等の情報に基づいて、原稿の端部(原稿の四辺)を検出することにより、四辺情報(例えば、四辺形を構成する各頂点の座標に関する情報)を取得する。
特徴点追跡処理部311は、動画撮影した第1のフレームの撮影画像(原画像)から特徴点抽出部309により特徴点を抽出し、比較対象の第2のフレームの撮影画像上で前記特徴点の移動位置を推定する特徴点追跡処理(オプティカルフロー)を行う。特徴点追跡処理は、原画像上の各特徴点が、比較対象の画像においてどの方向にどれだけ移動したかの移動ベクトルを推定する。これにより、原画像上の特徴点が比較対象の画像上のどの位置に移動したかの推定を行うことができる。
画像位置追跡処理部312は、2つの画像(例えば、第1フレームの撮影画像と第2フレームの撮影画像)の間で、ホモグラフィー変換(homography transform、平面射影変換)を行うためのホモグラフィー変換行列(以下、変換行列)を算出することで、画像間の位置合わせを行う。ホモグラフィー変換は、ある平面座標系上の点を、異なる平面座標系上に変形して移し替えることができる。似たものに、画像の回転、平行移動、拡大縮小を行うアフィン変換があるが、ホモグラフィー変換は、それらに加えて、座標位置に応じて拡大縮小の比率を変え、台形状の変換が可能となる。ホモグラフィー変換は、変換元の画像上の座標点(x1,y1)、変換後の画像上の座標点(x2,y2)、変換行列H、定数sを用いて以下のように表せられる。なお、変換行列の数式は、下記の数式(行列式)での表現に限るものではなく、2つの画像の座標系を変換するための変換式であれば、その他の形態であっても構わない。このような変換式(変換行列)は、2つの画像の座標系を変換する際の変換情報として使用される。
2つの画像間に同じオブジェクトから抽出される特徴点が存在している場合、特徴点追跡処理部311のマッチング処理で求められた画像間の対応点座標をもとに、変換行列Hのパラメータを算出する。これにより、2つの画像間の変換行列を求め、第1の画像中の座標を第2の画像中にマッピングすることや、変換行列の逆行列を求めて、その逆のマッピングをおこなうことが可能となる。
四辺情報補正処理部313は、原稿全体を撮影した画像(原画像)で検出された原稿の四辺情報(四辺形の各頂点の座標)を、画像位置追跡処理部312で求めた変換行列を用いて、比較対象の撮影画像(拡大部分画像)上の座標系に補正する。
歪み補正処理部314は、四辺情報補正処理部313で撮影画像上の座標系に補正された原稿領域の四辺情報と、出力画像のサイズ情報(帳票のサイズ情報)とに基づいて、歪み補正情報(歪み補正パラメータ)を求め、歪み補正情報を使って撮影画像に対して歪み補正を行う。
次に、モバイル端末100のCPU201がモバイルアプリ302を実行することにより実現される、本発明の原稿歪み補正処理フローについて、図5を用いて説明する。本フローは、ユーザーの操作に応じて、モバイル端末100におけるモバイルアプリ302が起動され、カメラ104を介して被写体105の撮影画像(動画)を取得することをトリガーに開始する。
ステップS501で、撮影画像取得部306は、カメラユニット206を介して撮影画像を取得する。
ステップS502で、メイン制御部303は、原稿四辺認識状態フラグがONであるか判断することにより、原稿領域の四辺が認識できている状態であるか否かを判断する。原稿四辺認識状態フラグがONの場合は、原稿領域の四辺を認識している状態であると判断し、ステップS508に遷移する。一方、原稿四辺認識状態フラグがOFFの場合は、原稿領域の四辺を認識できていない状態であると判断し、ステップS503に遷移する。
ステップS503で、四辺抽出処理部310は、原稿の四辺を検出するための四辺情報検出処理を実行する。図6を用いて、ステップS503の四辺情報検出処理の詳細について説明する。まず、四辺抽出処理部310は、撮影画像に対して、原稿領域の各辺の候補である候補線分群と、各辺の候補に基づいて、原稿領域の四辺である可能性がもっと高い四辺形領域を特定する。図6(a)は、原稿全体を撮影したときの撮影画像600であり、この画像内に原稿の四辺形領域を示す原稿領域601が含まれている。図6(b)は、撮影画像600上に、各辺の候補線分群を重ねて表示した画像である。各辺の候補線分群は、撮影画像600をエッジ画像(各画素が輝度変化の大きいエッジ画素であるかどうかを示す画像)に変換し、当該エッジ画像に対してHough変換アルゴリズムなどの公知の方法によって、エッジ画素で構成される直線部分を検出することによって得られる。なお、検出された候補線分群には、候補線分602をはじめとした、原稿領域の四辺以外を表す線分も含まれる。候補線分群の中から、原稿領域の上辺、右辺、下辺、左辺のそれぞれに対して各辺を構成する可能性が最も高い候補線分603、604、605、606を特定する。原稿領域の各辺として候補線分603、604、605、606を候補線分群の中から第1の候補として特定する手段としては、任意の4本の候補線分で構成される四辺形に対して評価を行うことで特定する。任意の4本の候補線分で構成される四辺形の評価は、例えば、対辺の長さの比や内角の大きさ、アスペクト比などの幾何学的な情報に基づいて行ってもよい。また、内側と外側の色味や分散を比較するなどの画像内容も加味して評価してもよい。
図6(c)は、候補線分群の中から特定された原稿領域である四辺形領域607を、撮影画像600上に表示した状態を示す画像である。四辺形領域607は、候補線分603、604、605、606を四辺として特定された場合に構成される四辺形領域であり、頂点608、609、610、611(以下、四辺情報と呼ぶ)を結ぶ線分によって囲まれた四辺形領域である。
次に、ステップS504で、メイン制御部303は、ステップS503での四辺抽出処理部310による原稿の四辺情報の検出に成功したか判断する。四辺情報の検出に成功したと判断した場合は、ステップS505に進んで、原稿四辺認識状態フラグをONに設定する。一方、四辺情報を検出できなかったと判断した場合は、ステップS506に進んで、原稿四辺認識状態フラグをOFFに設定する。
ステップS507で、メイン制御部303は、撮影画像に対応させて、当該検出された四辺情報(原稿四辺の頂点608、609、610、611の座標情報)をDB部308に保存する。
ステップS508において、特徴点追跡処理部311および画像位置追跡処理部312によって、特徴点追跡処理および画像位置追跡処理が実行される。特徴点追跡処理および画像位置追跡処理の具体例について、図7を用いて説明する。なお、以下では、2つの画像間の座標変換に用いる変換情報を「変換行列」として説明するが、前述の画像位置追跡処理部312の説明において説明したように、行列式の表現に限るものではなく、その他の変換式や変換情報であっても構わない。撮影画像700〜703は、撮影画像取得部306で連続的に取得した撮影画像(動画)であったとする。最初の撮影画像700が取得された時点では、まだ原稿の四辺が認識されていない状態であるので、S503の四辺検出処理およびS507の四辺情報保存処理等が行われた後、S510で撮影画像700が保存される。次に、ステップS501で撮影画像701を取得した時点で行われる処理について説明する。特徴点追跡処理部311は、ひとつ前の撮影画像700(S510で保存した画像)に対して特徴量抽出部309で抽出した複数の特徴点704を用いて、特徴点追跡処理(オプティカルフロー)を実行することにより、撮影画像701において、特徴点704に対応する特徴点705を検出する。そして、画像位置追跡処理部312は、特徴点704と特徴点705を用いて、変換行列706を求める。変換行列706は、撮影画像700上の座標系から撮影画像701上の座標系に変換対象の座標位置を変換するための変換行列であり、撮影画像700上の任意の座標位置に該変換行列706を掛け合わせれば撮影画像701上の座標位置を特定することが可能となる。同様に、撮影画像701の特徴点705と撮影画像702の特徴点707から変換行列708を求めることができる。また、撮影画像702の特徴点707と撮影画像703の特徴点709から変換行列710を求めることができる。このように求めた変換行列706、708、710を掛け合わせていくことにより、撮影画像間の座標位置を追跡することができる。したがって、後述するように、撮影画像700において検出した四辺情報(四辺形の各頂点の座標位置)に対して、変換行列706、708、710を掛け合わせていけば、撮影画像701〜703のそれぞれにおける座標系に変換することができる。
ステップS509で、四辺情報補正処理部313は四辺情報補正処理を実行する。四辺情報補正処理の具体例について、図8を用いて説明する。四辺情報補正処理部313は、撮影画像700で検出された四辺情報800に対して、撮影画像700と撮影画像701から求めた変換行列706を掛け合わせることにより、撮影画像701の座標系における四辺情報801に変換することができる。すなわち、一つ前の撮影画像の座標系における四辺情報に対して、画像間の変換行列を掛け合わせることで、一つ前の撮影画像の四辺情報をその次の撮影画像の四辺情報に補正することができる。同様に、撮影画像701の座標系の四辺情報801に対して変換行列708を掛け合わせることによって、撮影画像702の座標系における四辺情報802を求めることができる。また、撮影画像702の座標系における四辺情報802に変換行列710を掛け合わせることによって、撮影画像703の座標系における四辺情報803を求めることができる。
ステップS510で、メイン制御部303は、S508における画像位置追跡処理で使用できるように撮影画像を記憶部307に一時保存する。
ステップS511で、メイン制御部303は、ユーザーにより撮影操作が為されたか(撮影ボタン(シャッター)が押下されたか)を判断する。撮影操作が為されたと判断した場合、ステップS512へ遷移する。撮影操作が為されていないと判断した場合、ステップS501に遷移する。
ステップS512で、歪み補正処理部314は歪み補正処理を実行する。歪み補正処理部314は、撮影操作が為された時の撮影画像の座標系に変換された四辺情報と、出力画像のサイズ情報(帳票のサイズ情報)とに基づいて、歪み補正情報(歪み補正パラメータ)を算出し、この歪み補正情報を用いて補正処理を行う。この歪み補正情報(歪み補正パラメータ)は、四辺形領域が台形に歪んでいる場合も考慮し、射影変換行列になる。この射影変換行列は、撮影画像の座標系に変換された四辺情報と、出力画像のサイズ情報とに基づいて、公知の方法により算出することが可能である。なお、処理速度を優先する場合には、アフィン変換行列や単純な変倍率を歪み補正情報として用いて算出しても良い。歪み補正情報が決定すると、歪み補正処理部314は、撮影画像の四辺形領域内の部分画像に対して歪み補正処理を施すことで、撮影画像内から四辺形領域内だけを取り出した画像を出力することができる。
歪み補正処理の具体例について、図9を用いて説明する。図9(a)の撮影画像607の座標系における四辺情報(頂点608、609、610、611)と、出力すべき画像のサイズ情報(900、901、902、903)とに基づいて、歪み補正情報(歪み補正パラメータ)を算出する。そして、当該算出した歪み補正情報を撮影画像607に適用することで行われる歪み補正処理の出力結果例が、図9(b)である。同様に、図9(c)の撮影画像904の座標系に変換された四辺情報(頂点905,906、907、908)と、出力すべき画像のサイズ情報(900、901、902、903)とに基づいて、歪み補正情報(歪み補正パラメータ)を算出する。そして、当該算出した歪み補正情報を撮影画像904に適用することで行われる歪み補正処理の出力結果例が、図9(d)である。
以上のように、本実施形態によれば、原稿にカメラを接近させる前に原稿全体を含むように撮影して第1の撮影画像を取得し、該第1の撮影画像に基づき原稿の四辺情報(すなわち、第1の撮影画像の歪み補正に用いる情報)を抽出しておく。さらに、原稿にカメラを接近させて撮影したときに原稿全体が含まれない第2の撮影画像を取得した場合、第1の撮影画像と第2の撮影画像との間の座標変換を行うための1乃至複数の変換行列(すなわち、座標変換を行うための変換情報)を求める。そして、該座標変換を行うための変換情報(変換行列)を用いて、第1の撮影画像における四辺情報(第1の撮影画像の座標系における歪み補正情報)を、第2の撮影画像の座標系における四辺情報(第2の撮影画像の座標系における歪み補正情報)に変換し、当該変換された歪み補正情報に基づいて、第2の撮影画像の歪み補正を行うことができる。
(実施例2)
実施例2では、複数の撮影画像間で変換行列を掛け合わせ続けることにより蓄積する四辺情報の誤差をリセットする処理について説明する。実施例1で説明済みの構成や処理フローの詳細な説明は省略する。
実施例1の画像位置追跡処理部312で求めた変換行列の精度は、特徴点追跡処理部311による特徴点追跡処理の推定誤差などの影響により100%ではない。そのため、複数の撮影画像間で求められる複数の変換行列を順次掛け合わせ続けていくと、四辺情報の誤差が蓄積して誤差が徐々に大きくなっていく。
実施例2の原稿歪み補正処理フローについて、図10を用いて説明する。図10の処理フローは、図5で説明した実施例1の処理フローに、蓄積誤差をリセットするための処理を追加したものである。以下では、図5と共通するステップの説明は省略し、図10で追加した処理ステップについて説明する。
ステップS502で四辺を認識している状態であると判断された場合、ステップS1001で、メイン制御部303は、四辺情報に対して変換行列が掛け合わせられた回数を示す画像位置追跡カウンターが所定の閾値より大きいか否かを、判断する。画像位置追跡カウンターが所定の閾値以下であると判断した場合は、ステップS1002に遷移し、画像位置追跡カウンターが所定の閾値より大きいと判断した場合は、ステップS1003に遷移する。
ステップS1002で、メイン制御部303は、画像位置追跡カウンターを1つインクリメントし、ステップS508に進む。
ステップS1003で、メイン制御部303は、画像位置追跡カウンターを初期化(カウンターを0にリセット)し、ステップS503に進む。
以上のように、本実施例2によれば、変換行列を所定回数より多く掛け合わせた場合は、S503での四辺検出処理を再実行するように制御することにより、蓄積した誤差をリセットすることができる。
(実施例3)
実施例2で説明したように、変換行列を所定回数より多く掛け合わせた場合は、四辺検出処理を実行し直すように制御することにより、蓄積誤差をリセットすることができるが、原稿の四辺がカメラ104の画角からはみ出した状況で四辺検出処理を行うと原稿四辺を誤認識してしまう可能性が高くなる。そこで、本実施例3では、原稿の四辺が撮影画像からはみ出していると判定した場合は、蓄積誤差をリセットする動作を行わないようにする。実施例1〜2で説明済みの構成や処理フローの詳細な説明は省略する。
実施例3の原稿歪み補正処理フローについて、図11を用いて説明する。
ステップS502で四辺を認識している状態であると判断された場合、ステップS1101で、メイン制御部303は、原稿四辺はみ出し状態フラグがONであるかどうか(すなわち、原稿領域の四辺が撮影画角からはみ出しているか否か)を判断する。原稿四辺はみ出し状態フラグがONの場合は、原稿四辺がはみ出していると判断し、ステップS508に遷移する。原稿四辺はみ出し状態フラグがOFFの場合は、原稿四辺がはみ出していないと判断し、ステップS1001に遷移する。
ステップS1102で、メイン制御部303は、ステップ509で補正した後の原稿四辺が、撮影画像の画角外にはみ出したか否かを、変換行列で変換した後の各頂点の座標を用いて判断する。原稿の四辺の少なくともいずれかがはみ出していると判断した場合は、ステップS1103に進んで、原稿四辺はみ出し状態フラグをONに設定する。一方、原稿領域の四辺がはみ出していないと判断した場合は、ステップS1104に進んで、原稿四辺はみ出し状態フラグをOFFに設定する。例えば、図8の四辺情報800や四辺情報801は、原稿領域の各頂点(左上頂点、右上頂点、右下頂点、左下頂点)がカメラ画角内に入っているため、原稿領域の四辺がはみ出していないと判断される。また、図8の四辺情報802や四辺情報803は、左下頂点と右下頂点がカメラ画角からはみ出しているので、原稿の四辺がはみ出していると判断される。
ステップS1105で、メイン制御部303は、変換行列で変換した後の四辺情報を撮影画像上に重ねて表示する四辺表示処理を実行する。四辺表示処理の具体例について、図12を用いて説明する。メイン制御部303は、ステップS503で検出した四辺情報やステップ509で補正した四辺情報を用いて、撮影画像上に四辺の線をオーバーレイした画像をモバイル端末画面400に表示する。図12(a)は、図8の四辺情報801に基づいて、撮影画像701上に四辺を表示した場合の例である。また、図12(b)は、図8の四辺情報802に基づいて、撮影画像702上に四辺を表示した場合の例である。また、図12(c)は、図8の四辺情報803に基づいて、撮影画像703上に四辺を表示した場合の例である。
以上のように、実施例3では、補正した後の原稿四辺に関する各頂点の座標が、撮影画像外の位置に相当する、という所定の条件を満たしている場合は、原稿の四辺がカメラ画角からはみ出していると判定される。そして、原稿の四辺がカメラの画角からはみ出していると判定した場合は、蓄積誤差をリセットする動作(S503の原稿の四辺を検出する四辺検出処理)を再実行しないように制御することにより、四辺を誤認識する可能性を減らすことができる。
(実施例4)
本実施例4では、原稿領域の四辺がカメラの画角からはみ出している状況で、変換行列を掛け合わせ続けることにより蓄積する四辺情報の誤差をリセットする処理について説明する。実施例1〜3で説明した構成や処理フローの詳細な説明は省略する。
図14は、実施例4におけるモバイル端末100のソフトウェア構成の一例を示す図である。
特徴量比較処理部1301は、特徴量抽出部309により異なる2つの画像それぞれから抽出された特徴量を比較する特徴量比較処理を実行する。特徴量比較処理は、各画像間の特徴点とその特徴量を比較することで、画像間で一致する特徴点の組み合わせを求める(マッチングをする)ことができる。また、RANSAC(Random sample consensus)のような外れ値を排除して法則性を推定する手法を用いることで、ノイズとなる特徴点の組み合わせを排除し、より精度の高いマッチングを行うことも可能である。
画像特徴量比較位置追跡処理部1302は、特徴量比較処理でマッチングした、第1の画像上の特徴点と比較対象の第2の画像上の特徴点間で、ホモグラフィー変換(homography transform、平面射影変換)を行うためのホモグラフィー変換行列(以下、変換行列)を算出することで、画像間の位置合わせを行う。
次に、実施例4の原稿歪み補正処理フロー4について、図14を用いて説明する。
ステップS1401で、メイン制御部303は、原稿はみ出し状態フラグがONで、四辺情報に対して変換行列が掛け合わせられた回数を示す画像特徴量比較位置追跡カウンターが所定の閾値より大きいかを判断する。所定の閾値以下であると判断した場合は、ステップS1403に遷移する。所定の閾値より大きいと判断した場合、ステップS1402に遷移する。
ステップS1402で、メイン制御部303は、画像特徴量比較画像位置追跡カウンターを初期化(0にリセット)する。
ステップS1403で、メイン制御部303は、画像特徴量比較画像位置追跡カウンターを1つインクリメントする。
ステップS1404の画像特徴量比較位置追跡処理について図15を用いて説明する。まず、特徴量比較処理部1301は、四辺検出が成功した画像1500(後述のステップ1407で保存した画像)と撮影画像1501とのそれぞれから、特徴量抽出部309を用いて特徴量1502と特徴量1503とを抽出し、それらの特徴量の比較処理を行う。さらに、特徴量比較処理部1301は、特徴量1502と特徴量1503とを用いて、変換行列1504を求める。変換行列1504は、四辺検出が成功した画像1500における座標系から撮影画像1501における座標系に、座標位置を変換するための変換行列であり、四辺検出が成功した画像1500上の任意の座標位置に変換行列を掛け合わせることで撮影画像1501上の座標位置を特定することが可能となる。
追跡処理には、ステップS508の画像位置追跡処理部312によるものとS1404の画像特徴量比較位置追跡処理部1302によるものの2通りがある。追跡処理部312による追跡処理は、複数の撮影画像間で求めた変換行列を掛け合わせていくので四辺情報に誤差が蓄積していくが、処理は高速ではある。一方、画像特徴量比較位置追跡処理部1302による追跡処理は、撮影画像(比較対象の画像)は常に、一番最初の原画像と比較をするので誤差が蓄積することはないが、とても処理が遅い。よって、本フローでは両者の処理を組み合わせて利用する。
ステップS1405で、メイン制御部303は、画像位置追跡カウンターを初期化(0にリセット)する。
ステップS1406で、メイン制御部303は、画像特徴量比較画像位置追跡カウンターを初期化(0リセット)する。
次に、ステップS1407で、メイン制御部303は、画像特徴量比較位置追跡処理(ステップS1404)のために撮影画像を記憶部307で一時保存する。
以上のように、本実施例4によれば、原稿領域の四辺がカメラ104の画角からはみ出している状況でも蓄積する四辺情報の誤差を、画像位置追跡処理と画像特徴量比較位置追跡処理とを組み合わせて行うことにより軽減させることができる。
(実施例5)
実施例1では、原稿全体を撮影したときの画像に基づいて原稿の四辺を検出し、原稿の一部を拡大撮影したときの撮影画像の座標系に該四辺の情報を変換し、変換後の四辺情報を用いて歪み補正を行うようにしたが、歪み補正パラメータを求める別実施例について説明する。例えば、原稿全体を撮影したときの画像内の罫線や文字基線情報を用いて歪み補正パラメータを求め、変換行列を用いて、原稿の一部を拡大撮影したときの撮影画像の座標系に該歪み補正パラメータを変換し、当該変換後の歪み補正パラメータを用いて歪み補正を行うようにしてもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。

Claims (7)

  1. 第1の撮影画像から、歪み補正に必要な第1の情報を検出する検出手段と、
    異なる2つの撮影画像のそれぞれにおける特徴点に基づいて、前記異なる2つの撮影画像それぞれの座標系の間の座標変換に用いる変換情報を求める取得手段と、
    前記変換情報を用いて、前記検出手段で検出した第1の情報を、第2の撮影画像における歪み補正に必要な第2の情報に変換する変換手段と、
    前記第2の情報に基づいて、前記第2の撮影画像に対して歪み補正を実行する歪み補正手段と、
    を有することを特徴とする情報処理装置。
  2. 前記第1の検出手段で検出される前記第1の情報は、前記第1の撮影画像から検出される原稿の四辺に関する情報であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の撮影画像と前記第2の撮影画像との間に1乃至複数の撮影画像が存在する場合、前記取得手段は、各撮影画像間の変換情報を求め、前記変換手段は、前記求めた各撮影画像間の変換情報を順に掛け合わせることにより、前記第1の情報を前記第2の情報に変換することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記各撮影画像間の変換情報の掛け合わせ回数が所定回数より大きくなった場合、前記検出手段による前記第1の情報の検出を再実行するように制御する制御手段を、更に有することを特徴とする請求項3に記載の情報処理装置。
  5. 前記制御手段は、前記変換手段により変換された前記第2の情報が所定の条件を満たす場合は、前記検出手段による前記第1の情報の検出を再実行しないように制御することを特徴とする請求項4に記載の情報処理装置。
  6. コンピュータを、請求項1乃至5のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  7. 第1の撮影画像から、歪み補正に必要な第1の情報を検出する検出ステップと、
    異なる2つの撮影画像のそれぞれにおける特徴点に基づいて、前記異なる2つの撮影画像それぞれの座標系の間の座標変換に用いる変換情報を求める取得ステップと、
    前記変換情報を用いて、前記検出手段で検出した第1の情報を、第2の撮影画像における歪み補正に必要な第2の情報に変換する変換ステップと、
    前記第2の情報に基づいて、前記第2の撮影画像に対して歪み補正を実行する歪み補正ステップと、
    を有することを特徴とする情報処理方法。
JP2017128039A 2017-06-29 2017-06-29 情報処理装置、プログラム及び情報処理方法 Pending JP2019012361A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017128039A JP2019012361A (ja) 2017-06-29 2017-06-29 情報処理装置、プログラム及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017128039A JP2019012361A (ja) 2017-06-29 2017-06-29 情報処理装置、プログラム及び情報処理方法
US16/018,658 US10810711B2 (en) 2017-06-29 2018-06-26 Information processing apparatus, storage medium, and information processing method

Publications (1)

Publication Number Publication Date
JP2019012361A true JP2019012361A (ja) 2019-01-24

Family

ID=64738205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017128039A Pending JP2019012361A (ja) 2017-06-29 2017-06-29 情報処理装置、プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US10810711B2 (ja)
JP (1) JP2019012361A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019097050A (ja) * 2017-11-24 2019-06-20 京セラドキュメントソリューションズ株式会社 画像読取装置及び画像読取プログラム
JP2019197489A (ja) * 2018-05-11 2019-11-14 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN110390668B (zh) * 2019-06-26 2022-02-01 石家庄铁道大学 螺栓松动检测方法、终端设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1079878A (ja) 1996-09-05 1998-03-24 Sharp Corp 静止画像撮像装置
JP4089051B2 (ja) * 1998-02-18 2008-05-21 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP4493113B2 (ja) * 1999-01-29 2010-06-30 株式会社リコー プロジェクタおよび投影画像補正装置
JP4169462B2 (ja) * 1999-08-26 2008-10-22 株式会社リコー 画像処理方法及び装置、デジタルカメラ、画像処理システム、並びに、画像処理プログラムを記録した記録媒体
TW493143B (en) * 2001-03-02 2002-07-01 Ulead Systems Inc Correction for perspective distortion image and method for artificial perspective distortion image
JP3630166B2 (ja) * 2003-06-26 2005-03-16 セイコーエプソン株式会社 投写画像の歪補正量調整
US7813585B2 (en) * 2003-07-28 2010-10-12 Olympus Corporation Image processing apparatus, image processing method, and distortion correcting method
WO2005093653A1 (ja) * 2004-03-25 2005-10-06 Sanyo Electric Co., Ltd 画像補正装置と方法、画像補正データベース作成方法、情報データ提供装置、画像処理装置、情報端末、および情報データベース装置
JP2009010730A (ja) * 2007-06-28 2009-01-15 Kyocera Corp 画像処理方法と該画像処理方法を用いた撮像装置
US9158967B2 (en) * 2012-01-12 2015-10-13 Kofax, Inc. Systems and methods for mobile image capture and processing
JP5886265B2 (ja) * 2013-11-28 2016-03-16 シャープ株式会社 携帯端末装置、プログラム、及び記録媒体
US20150369593A1 (en) * 2014-06-19 2015-12-24 Kari MYLLYKOSKI Orthographic image capture system
JP6584076B2 (ja) * 2015-01-28 2019-10-02 キヤノン株式会社 情報処理装置、情報処理方法、コンピュータプログラム

Also Published As

Publication number Publication date
US10810711B2 (en) 2020-10-20
US20190005627A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
RU2631765C1 (ru) Способ и система исправления перспективных искажений в изображениях, занимающих двухстраничный разворот
WO2018214365A1 (zh) 图像校正方法、装置、设备、系统及摄像设备和显示设备
US9412164B2 (en) Apparatus and methods for imaging system calibration
US10810711B2 (en) Information processing apparatus, storage medium, and information processing method
JP2005122320A (ja) 撮影装置、その画像処理方法及びプログラム
JP6971789B2 (ja) 情報処理装置、プログラム及び情報処理方法
US10643095B2 (en) Information processing apparatus, program, and information processing method
JP6976733B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP2017130929A (ja) 撮像装置により取得された文書画像の補正方法及び補正装置
US10586099B2 (en) Information processing apparatus for tracking processing
JP6669390B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2019109624A (ja) 情報処理装置、プログラム及び情報処理方法
US10999513B2 (en) Information processing apparatus having camera function, display control method thereof, and storage medium
US20210281742A1 (en) Document detections from video images
JP2013257643A (ja) 画像処理システム及びプログラム
JP2019028677A (ja) 情報処理装置、情報処理方法及びプログラム
US20160224854A1 (en) Information processing apparatus, information processing method, and storage medium
US10872263B2 (en) Information processing apparatus, information processing method and storage medium
JP2017120455A (ja) 情報処理装置、プログラム及び制御方法
JP2017120503A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2021077283A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2018056784A (ja) 画像読取装置、画像読取方法及び画像読取プログラム
JP6779798B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6639120B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5636966B2 (ja) 誤差検出装置及び誤差検出プログラム