説明

文字認識装置、文字認識方法、文字認識システム、および文字認識プログラム

【課題】外部の電話帳等のデータベースを用いず、簡素化された装置構成を用いて、精度よく且つ高速で文字認識を行う。
【解決手段】文字認識装置1は、画像を入力する画像読み込み部101と、画像の文字領域を検出する文字領域検出部103と、文字領域を一文字単位で分割する文字領域分割部104と、分割領域に存在する文字に対して一文字ごとの文字認識を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識部105と、前記候補を入力し、候補への遷移に対する重み値を計算し、候補および重み値の組に基づく第1文字列遷移データを作成する第1文字列遷移データ作成部106と、第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の状態遷移の結果を累積重み値に基づき出力するWFST処理部109とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムに関するものである。
【背景技術】
【0002】
下記の特許文献1〜2、非特許文献1〜3で例示されるように、従来、情景画像の中から、看板等の3次元空間中に存在する文字を認識する技術が知られている。これらの技術では、明暗の変動や文字の歪みなど、情景画像特有の問題に対応するため、単語知識や撮影場所の位置情報などの外部データを使用して認識精度を高めている。
【0003】
例えば、特許文献1では、画像中の看板などから抽出した文字列と電話帳データベースとを照合し、電話帳データベースに含まれる広告主データや電話番号データとの一致度を判定することで、抽出した文字列が広告主に関連するものかどうかを判定している。
【0004】
また、特許文献2では、文字認識装置に装備されている位置情報取得手段、および方位情報取得手段を用いて、撮影している位置及び方向を特定し、特定した位置、方位を用いて地図データベースと照合を行い、合致した店舗名や地名情報を単語知識として用いることで、認識精度を高めている。
【0005】
また、記号列変換と重みの集合を状態遷移として表現した重み付き有限状態トランスデューサ(Weighted Finite State Transducer、以下「WFST」ともいう。)が、音声認識や言語処理の分野における高速かつ高い汎用性と拡張性を持つ手法として使われている。このWFSTに関連して、文字認識の分野では、非特許文献1、非特許文献2で例示されるように、英語のような分ちが書きでの語彙単位の文字列取得を前提として、文字認識の結果を取得する手法が提案されている。また、非特許文献3では、日本語において、文字認識結果として出力した後に、WFSTを用いたエラー訂正を行う手法が提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3360030号公報
【特許文献2】特許第4591353号公報
【非特許文献】
【0007】
【非特許文献1】”A Weighted Finite-State Framework for Correcting Errors in NaturalScene OCR”、ICDAR 2007 Vol. 2、 pp. 889-893
【非特許文献2】”The image Text Recognition Graph (iTRG)”、 ICME 2009、 pp. 266-269
【非特許文献3】重み付き有限状態トランスデューサを用いた文字誤り訂正、言語処理学会年次大会発表論文集、C2-5、pp.332-335、2009
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載の方法では、電話帳データベースなどに含まれる大量の単語知識との照合が必要となり、文字認識処理の高速化が十分に行えない可能性がある。また、特許文献2に記載の方法では、位置情報取得手段や方位情報取得手段が別途必要となり、装置構成が複雑化するおそれがある。
【0009】
更に、非特許文献1および非特許文献2については、語彙の間に区切りがある分ち書きの言語を前提とする。つまり、WFST処理にかける語彙の切り出しがあらかじめできていることが前提となる。また、非特許文献2では、文字認識の文字単位での切り出しにおいて、重複する切り出し位置を利用して文字認識を行い、WFSTで表現しているが、文字認識の結果に誤認識が現れた場合には対応ができないおそれがある。
【0010】
また、非特許文献1および非特許文献3では、文字の融合・分離によって、重複する切り出し位置による誤認識の問題に対応しているが、日本語は文字種が多く、また実環境では多種多様な文字のデザインが存在しているため、膨大な組み合わせを網羅する必要がある。更に、非特許文献3では一旦文字認識を行った結果を用いており、ある程度精度よく文字認識結果が得られていることが前提となる。このため、元々の文字認識において言語処理による修正が多く行われた場合において、文字形状に基づく修正を行うことが難しくなるおそれがある。また、元々の文字認識における文字領域の検出漏れの修正に対応できないおそれがある。
【0011】
そこで、本発明は上記に鑑みてなされたもので、外部の電話帳等のデータベースを用いず、簡素化された装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能な文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明の文字認識装置は、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、を備えることを特徴とする。
【0013】
また、本発明の文字認識方法は、画像入力手段が、認識対象の文字を含む画像を入力する画像入力ステップと、文字領域検出手段が、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出ステップと、文字領域分割手段が、前記文字領域を一文字単位で分割する文字領域分割ステップと、文字認識手段が、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識ステップと、第1文字列遷移データ作成手段が、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成ステップと、有限状態変換手段が、前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換ステップと、を備えることを特徴とする。
【0014】
また、本発明の文字認識システムは、端末およびサーバを含む文字認識システムであって、前記端末は、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、を備え、前記サーバは、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、を備えることを特徴とする。
【0015】
また、本発明の文字認識プログラムは、コンピュータを、認識対象の文字を含む画像を入力する画像入力手段と、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、前記文字領域を一文字単位で分割する文字領域分割手段と、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段、として動作させることを特徴とする。
【0016】
このような本発明の文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムによれば、外部の電話帳等のデータベースを利用しないことから、当該電話帳データベースなどに含まれる大量の単語知識との照合が必要なく、文字認識処理の高速化を図ることができる。また、位置情報取得手段や方位情報取得手段等も不要であるため、装置構成を簡素化することができる。このような装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能である。
【0017】
また、本発明においては、ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第2文字列遷移データを作成する第2文字列遷移データ作成手段を更に備え、前記有限状態変換手段は、前記第1文字列遷移データおよび前記第2文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定してもよい。
【0018】
この発明によれば、文字認識候補群の第1文字列遷移データそのものを画像に対する検索用テーブルとして利用し、本発明の文字認識装置を、画像にユーザ入力キーワードが存在するか否かを判定する装置として活用することができる。
【0019】
また、本発明においては、語彙データベースに存在する各語彙の文字列遷移データである第3文字列遷移データを作成する第3文字列遷移データ作成手段を更に備え、前記有限状態変換手段は、前記第1文字列遷移データおよび前記第3文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出してもよい。
【0020】
この発明によれば、文字認識候補群の第1文字列遷移データおよび語彙データベースにおける第3文字列遷移データに対し合成演算を行うことにより、本発明の文字認識装置を語彙検出装置として活用することができる。
【0021】
また、本発明においては、前記文字認識手段は、複数の前記候補に対してそれぞれ優先順位を付けて出力し、前記第1文字列遷移データ作成手段は、前記優先順位に基づき前記重み値を計算してもよい。
【0022】
この発明によれば、第1文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【0023】
また、本発明においては、前記文字認識手段は、少なくとも2種類以上の異なる認識方式を用いて前記文字認識処理を行い、前記第1文字列遷移データ作成手段は、前記異なる認識方式における前記候補の出力数および前記優先順位に基づき、前記重み値を計算してもよい。
【0024】
この発明によれば、第1文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【0025】
また、本発明においては、前記第1文字列遷移データ作成手段は、言語データベースに登録されている単語の文字列遷移を加味して、前記重み値を計算してもよい。
【0026】
この発明によれば、第1文字列遷移データ作成手段が重み値を計算するための具体的な手法が提供される。
【0027】
また、本発明においては、前記第1文字列遷移データ作成手段は、前記候補の前記画像内における位置、または前記候補の文字サイズに基づき、前記重み値を修正してもよい。
【0028】
この発明によれば、第1文字列遷移データ作成手段が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【0029】
また、本発明においては、前記文字領域分割手段が、複数の分割パターンを用いて前記文字領域を分割し、複数種類の前記分割領域を生成した場合に、前記文字認識手段は、前記複数種類の分割領域それぞれに対して前記文字認識処理を行い、前記第1文字列遷移データ作成手段は、前記複数種類の分割領域それぞれにおける前記候補に対して前記第1文字列遷移データを作成し、前記有限状態変換手段は、前記複数種類の分割領域を通じて前記累積重み値が上位のものを前記結果として出力してもよい。
【0030】
この発明によれば、文字領域分割手段がオーバーセグメンテーションを行った場合でも適切な対応が可能である。
【0031】
また、本発明においては、前記第1文字列遷移データ作成手段は、文字列遷移の初期状態から前記候補への空の遷移である第1空遷移と、前記候補から文字列遷移の最終状態への空の遷移である第2空遷移と、前記候補を一文字単位でスキップするための空の遷移である第3空遷移と、を含んで前記第1文字列遷移データを作成してもよい。
【0032】
この発明によれば、第1空遷移、第2空遷移、および第3空遷移を第1文字列遷移データに含ませることで、第1文字列遷移データと第2文字列遷移データまたは第3文字列遷移データとの合成演算の精度を高めることができる。
【0033】
また、本発明においては、前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、単語間の区切りを示す識別情報をともに出力し、前記第1文字列遷移データ作成手段は、前記識別情報を付加して、前記第1文字列遷移データを作成し、前記有限状態変換手段は、前記状態遷移を行う際に、二つの前記識別情報により区切られた部分を単位として前記状態遷移を行ってもよい。
【0034】
この発明によれば、区切りを示す識別情報を用いることにより、分かち書き言語の対しても、精度よく文字認識を行うことができる。
【0035】
また、本発明においては、前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、当該候補の前記画像内における位置情報をともに出力し、前記第1文字列遷移データ作成手段は、前記位置情報を付加して、前記第1文字列遷移データを作成し、前記有限状態変換手段は、前記位置情報を付加して、前記結果を出力してもよい。
【0036】
この発明によれば、位置情報を用いることにより、文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【0037】
また、本発明においては、前記語彙データベースは、語彙に対する分類情報を有し、前記第2文字列遷移データ作成手段または前記第3文字列遷移データ作成手段は、前記分類情報を付加して、前記第2文字列遷移データまたは前記第3文字列遷移データを作成し、前記有限状態変換手段は、前記分類情報を付加して、前記結果を出力してもよい。
【0038】
この発明によれば、分類情報を用いることにより、文字認識の結果がどのジャンルに属するかを特定することができる。
【0039】
また、本発明においては、語彙と前記分類情報との関連性を示す語彙分類関連性ベクトルを格納する語彙分類関連性ベクトル格納手段を備え、前記第1文字列遷移データ作成手段は、前記第1文字列遷移データにおける前記候補および前記重み値に対して、前記語彙分類関連性ベクトルの値を加算し、最も大きな値となる分類情報を前記候補に対応する分類情報とし、該分類情報を基に当該候補に対する前記重み値を修正してもよい。
【0040】
この発明によれば、第1文字列遷移データ作成手段が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【発明の効果】
【0041】
本発明によれば、外部の電話帳等のデータベースを用いず、簡素化された装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能な文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムを提供することができる。
【図面の簡単な説明】
【0042】
【図1】文字認識装置1の機能的な構成要素を示す構成概要図である。
【図2】文字認識装置1のハードウェア構成図である。
【図3】本実施形態の全体処理フローを示すフローチャートである。
【図4】文字領域分割部104の動作を説明するための図である。
【図5】第1文字列遷移データ作成部106が作成した第1WFSTデータの一例を示す図である。
【図6】文字領域分割部104がオーバーセグメンテーションを行った場合の処理を示す図である。
【図7】第1文字列遷移データ作成部106が文字の大きさ・位置等により重み値を調整することを説明するための図である。
【図8】WFST演算処理を示すフローチャートである。
【図9】WFST合成演算のイメージを示す図である。
【図10】WFST合成演算のバリエーション1における処理の一例を示す。
【図11】WFST合成演算のバリエーション1における処理の一例を示す。
【図12】WFST合成演算のバリエーション1における処理の一例を示す。
【図13】WFST合成演算のバリエーション2における文字認識装置1の機能的な構成要素を示す構成概要図である。
【図14】WFST合成演算のバリエーション2における処理の一例を示す。
【図15】WFST合成演算のバリエーション2における処理の一例を示す。
【図16】WFST合成演算のバリエーション3における処理の一例を示す。
【図17】WFST合成演算のバリエーション4における処理の一例を示す。
【図18】WFST合成演算のバリエーション4における処理の一例を示す。
【図19】文字認識システム100の機能的な構成要素を示す構成概要図である。
【発明を実施するための形態】
【0043】
以下、添付図面を参照して本発明にかかる文字認識装置、文字認識方法、文字認識システム、および文字認識プログラムの好適な実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0044】
(文字認識装置1の全体構成)
本発明の実施形態に係る文字認識装置1は、情景画像から文字領域を検出し、文字認識(例えば、キーワード検出、検索用テーブル作成など)を行うものである。図1は文字認識装置1の機能的な構成要素を示す構成概要図であり、図2は文字認識装置1のハードウェア構成図である。図2に示すように、文字認識装置1は、物理的には、CPU11、ROM12及びRAM13等の主記憶装置、キーボード、マウスをはじめ、カメラ等の画像を読み込むための装置または外部装置からデータを読み込むための装置である入力デバイス14、ディスプレイ等の出力デバイス15、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール16、ハードディスク等の補助記憶装置17などを含む通常のコンピュータシステムとして構成される。入力デバイス14による画像の読み込みは、自装置で撮影された画像であってもよく、または他装置で撮影された画像であってもよい。後述する文字認識装置1の各機能は、CPU11、ROM12、RAM13等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU11の制御の元で入力デバイス14、出力デバイス15、通信モジュール16を動作させると共に、主記憶装置12、13や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。
【0045】
図1に示すように、文字認識装置1は、機能的な構成要素として、画像読み込み部101(特許請求の範囲における「画像入力手段」に相当)、画像二値化部102、文字領域検出部103(特許請求の範囲における「文字領域検出手段」に相当)、文字領域分割部104(特許請求の範囲における「文字領域分割手段」に相当)、文字認識部105(特許請求の範囲における「文字認識手段」に相当)、第1文字列遷移データ作成部106(特許請求の範囲における「第1文字列遷移データ作成手段」に相当)、第2文字列遷移データ作成部107(特許請求の範囲における「第2文字列遷移データ作成手段」に相当)、第3文字列遷移データ作成部108(特許請求の範囲における「第3文字列遷移データ作成手段」に相当)、WFST処理部109(特許請求の範囲における「有限状態変換手段」に相当)、文字列検出部110(特許請求の範囲における「文字列検出手段」に相当)、語彙DB111(特許請求の範囲における「語彙データベース」に相当)を備える。以下、文字認識装置1の各構成要素の動作について、図3のフローチャートを参照しながら説明する。
【0046】
(1)画像の読み込み
画像読み込み部101が認識対象の文字を含む画像を入力する(ステップS1、特許請求の範囲における「画像入力ステップ」に相当)。活字文書をスキャナーで取り込んだようなドキュメント画像については既に技術が確立され、高速・高精度の認識が可能であるので、既存のドキュメントOCRエンジンにより、ドキュメント画像としての文字認識を行う(ステップS2)。そして、第1文字列遷移データ作成部106が、認識結果の候補群からWFSTで表されたデータ(以下「第1WFSTデータ」ともいう。特許請求の範囲における「第1文字列遷移データ」に相当)を生成する(ステップS3、特許請求の範囲における「第1文字列遷移データ作成ステップ」に相当)。なお、既存のドキュメントOCRエンジンにより得られた認識結果の文字数が規定数以上で、認識精度が規定値以上の場合は、ドキュメントと判定して、ステップS10のWFST演算処理は行わない。小さすぎる解像度、大きすぎる解像度の画像については、文字認識に適したサイズにスケールを調整する。
【0047】
(2)画像二値化
ステップS1で入力した画像がドキュメント画像でない場合に、画像二値化部102が画像二値化を行う(ステップS4)。画像二値化は局所的な明暗により行い、低コントラストの状況にも対応する。白地に黒の文字の検出を行い、元画像の明暗を反転して、黒地に白の文字の検出も行う。また、明らかな文字以外の領域は膨張収縮等のマスク処理によりノイズ除去を行う。
【0048】
(3)文字領域検出
文字領域検出部103が文字領域を検出する(ステップS5、特許請求の範囲における「文字領域検出ステップ」に相当)。「文字領域」は、ステップS1で入力した画像において、認識対象の文字が存在する領域、またはその可能性のある領域をいう。この文字領域の検出については、下記の参考文献1のように、形状の特徴を統計的に学習することで検出する手法が知られている。本装置では、ラベリング処理を行うことにより領域毎にラベルを付け、各領域の形状特徴(円形度、穴の数、構成する領域数、外周矩形サイズ・アスペクト比、ラベル領域と非ラベル領域の面積比等)から文字領域かどうかを判定して検出する。
【0049】
<参考文献1>
“A learning-based method to detect andsegment text from scene images”、 JOURNAL OF ZHEJIANG UNIVERSITY - SCIENCE A Volume 8、 Number 4、 pp. 568-574
【0050】
本実施形態では、後述するWFST処理によりフィルタリングを行うため、文字ではないノイズの領域をはじめから検出しないことよりも、洩れがないように可能性のある文字領域をできる限り多く検出しておくことを優先する。このため、膨張収縮処理により近接領域を連結したパターン、連結領域を分解したパターン、文字周辺のノイズを除去したパターンについても、文字領域を検出するものとする。また、この検出パターンについては様々な手法(エッジや色合いを利用した手法、高度な文字領域連結処理等)を追加することもできる。
【0051】
(4)文字列候補検出、一文字単位での切り出し
文字領域分割部104が文字領域内の文字列候補を検出し、文字領域を一文字単位で分割(以下「切り出し」ともいう。)する(ステップS6、特許請求の範囲における「文字領域分割ステップ」に相当)。具体的に、文字領域分割部104は最初に文字ラインを検出する。文字ラインは3文字以上で構成されると想定し、文字領域の領域サイズ・間隔・角度の推移から検出する。検出した文字ライン毎にラベリング処理を行い、ラベルを付けた領域毎の角度の中央値、平均値、最頻値等を元にして、文字ラインを絞り込む。図4は文字領域分割部104の動作を説明するための図である。図4に示されるように、文字ラインL毎に文字ラインの角度に基づく探索により水平方向・垂直方向のせん断変形を行うとともに、文字のせん断・回転の両方の変形ゆがみを補正する。図4では、画像A1は回転した文字列が書かれた補正前の画像を示し、画像A2は文字ラインに対して垂直方向にせん断変形することで文字列方向の傾きを補正した後の画像を示す。
【0052】
文字領域分割部104は、ゆがみを補正した画像A2からノイズを除去した後に、文字ラインの方向の文字間隔を求め、一文字単位で切り出す。一文字単位での切り出しは、文字列方向に対して垂直方向の画素を足し合わせたヒストグラムにより、文字の間となる候補を求め、文字ライン検出時に求まった領域サイズの中央値、平均値、最頻値等を基準に、複数の重なり合う切り出し位置を決定することにより行われる。図4では、補正後の画像A2における文字列Mに対して少しずつ角度を変えながら水平方向のせん断変形を行うことにより、複数の文字列M1、M2、M3を生成し、これらの文字列M1、M2、M3に対して一文字単位で切り出しを行った様子が示されている。文字列Y2は文字列M2に対して一文字単位での切り出しを行った後の文字列を示し、この場合の空白領域数は4である。「空白領域」とは、文字の間の領域をいい、図4では符号Kで示されている。また、符号Y3は文字列M3に対して一文字単位での切り出しを行った後の文字列を示し、この場合の空白領域数は7である。本実施形態において文字領域分割部104は、空白領域の数、および面積が最大となる場合を文字領域分割の結果として採用する。図4の例では、文字列Y3が最終的に選択された文字領域分割後の文字列である。そのほか、既存のOCRエンジンにより文字ライン一つ分の文字認識を行う等、複数の手法・パラメータによる文字位置検出・文字認識処理を行い、文字の可能性のある切り出し位置毎に一文字単位の切り出しを行い、位置が重複することを許容するような、オーバーセグメンテーションとなる状態遷移を求める。
【0053】
(5)文字認識
文字認識部105は、文字領域分割部104がステップS6にて分割した分割領域(図4では符号Dで表示)に存在する各文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補(以下、「文字認識候補群」、または単に「候補」ともいう。)を出力する(ステップS7、特許請求の範囲における「文字認識ステップ」に相当)。一文字単位の文字認識は複数のエンジンにより文字認識結果を取得するように行われる。
【0054】
(6)WFSTデータ生成
第1文字列遷移データ作成部106は、ステップS7で得られた認識結果の候補群から重複候補をまとめ、WFSTデータ(以下「第1WFSTデータ」ともいう。特許請求の範囲における「第1文字列遷移データ」に相当)を生成する(ステップS8、特許請求の範囲における「第1文字列遷移データ作成ステップ」に相当)。つまり、第1文字列遷移データ作成部106は、文字認識部105より文字認識処理結果の候補(一文字に付き1つ以上の候補)を入力し、当該候補への遷移に対する重み値を計算し、それら候補および重み値の組に基づく第1WFSTデータを作成する。
【0055】
文字認識部105が複数の文字認識処理結果の候補に対してそれぞれ優先順位を付けて出力した場合に、第1文字列遷移データ作成部106は当該優先順位に基づき、上記重み値を計算する。更に、文字認識部105が少なくとも2種類以上の異なる認識方式を用いて文字認識処理を行った場合に、第1文字列遷移データ作成部106は、当該異なる認識方式における文字認識処理結果の候補の出力数および上記優先順位に基づき、上記重み値を計算する。ここで、重複候補の重み値は積/和で合成することで、各文字認識結果で同一候補の登場数が多いほど、重み値が小さくなるようにする。つまり、本実施形態においては、重み値が小さいほど、実際の正解に近い候補であることがいえる。更に、第1文字列遷移データ作成部106は、言語データベースに登録されている単語の文字列遷移を加味して、上記重み値を計算してもよい。
【0056】
図5は第1文字列遷移データ作成部106が作成した第1WFSTデータの一例を示す。第1WFSTデータは、図5に示されるように、複数の候補とその重み値が付けられた状態遷移となっている。文字認識結果が複数ある場合は、同一の初期状態を持つ状態遷移が並列で並ぶ形となる。図5の例は、文字認識処理の実際の正解が例えば「ドコモ」であった場合に、文字認識処理における複数の候補が例えば「ド」、「ト」、「人」、「コ」、「二」、「口」、「モ」、「毛」、「t」、等であり、それぞれの重み値が「0.2」、「0.4」、「0.6」、「0.2」、「0.5」、「0.6」、「0.2」、「0.4」、「0.5」であった場合を示す。
【0057】
文字認識候補群から生成された第1WFSTデータには、文章途中のキーワードを検出するために、文字列遷移の初期状態から各文字候補へのε遷移(入出力を持たない空の遷移、特許請求の範囲における「第1空遷移」に相当)、各文字候補から文字列遷移の最終状態へのε遷移(特許請求の範囲における「第2空遷移」に相当)、ノイズを文字として捉えることを回避するために重み値を付け且つ各文字候補を一文字単位でスキップするためのε遷移(特許請求の範囲における「第3空遷移」に相当)が含まれている。図5では、第1空遷移が符号E1で示されており、第2空遷移が符号E2で示されており、第3空遷移が符号E3で示されており、第3空遷移の重み値が例えば「2.0」と示されている。なお、第1WFSTデータは、最適な処理サイズでの演算ができるように、複数行単位や一定文字数単位に分割した上で演算を行い、その結果を組み合わせて利用することもできるものとする。
【0058】
ここで、ステップS6にてオーバーセグメンテーションとなった場合は、図6で示されるように、重複位置毎に一文字単位の文字認識を行い、重複する文字切り出し位置の遷移を一つの第1WFSTデータとして表現する。言い換えれば、文字領域分割部104が複数の分割パターンを用いて文字領域を分割し、複数種類の分割領域を生成した場合に(つまりオーバーセグメンテーションの場合に)、文字認識部105は、当該複数種類の分割領域それぞれに対して文字認識処理を行い、第1文字列遷移データ作成部106は、当該複数種類の分割領域それぞれにおける文字候補に対して第1WFSTデータを作成する。
【0059】
図6の例は、文字認識処理の実際の正解が例えば「Forum」であった場合に(図6の(A))、複数の手法、切り出しパラメータで分割位置を決定し、且つ複数の分割位置で一文字認識処理を行った結果を示している(図6の(B)および(C))。図6の(B)で示している結果では「fbnim」との認識結果が出ており、図6の(C)で示している結果では「石rurn」との認識結果が出ている。なお、図6の(B)の結果における「b」の部分では、ノイズのため、第一候補が「b」であり、第二候補が「o」である。ノイズの原因は切り出しの際に「F」の右上の一部が入ってしまったことによると考えられる。このような2つの結果に対して、第1文字列遷移データ作成部106は図6の(D)に示されるような一つの第1WFSTデータを作成する。なお、図6の例では、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略している。また、作成された一つの第1WFSTデータは、その後語彙データとのWFST合成演算に用いられ(図6の(E)および(F)参照)、WFST処理部109が複数種類の分割領域の全体を通じて累積重み値が上位のもの(図6の例では語彙データとマッチングする「forum」)を結果として出力するが、これについては後述する。
【0060】
また、第1文字列遷移データ作成部106は、情景画像等からより有意な語彙の検出精度を上げるため、文字認識結果の候補の画像内における位置、または文字認識結果の候補の文字サイズ等に基づき、重み値を修正する。図7の例において、図7の(A)は文字の入った画像A3を示す。図7の(B)は第1文字列遷移データ作成部106が当初計算した重み値を示す。文字候補「この先」に対して重み値「0.13」が計算されている。同様に、「株式会社」に対して「0.15」、「10km」に対して「0.15」、「清水寺」に対して「0.20」、「旅館」に対して「0.21」の重み値がそれぞれ計算されている。
【0061】
ここで、第1文字列遷移データ作成部106は、図7の(C)と(D)で示される情報を用いて、当初計算した重み値を調整する。図7の(C)はキーワードとしての価値の統計的な空間分布を示す情報である。この例において、画像の中央、左上、右下等がキーワードとしての価値が高い部分であり、図7の(C)ではこれが濃淡で表示されている。濃く表示された部分には、キーワードとしての価値が高いことから、重み係数として「1」が割り当てられている。薄く表示された部分には、キーワードとしての価値が低いことから、重み係数として「2.5」が割り当てられている。図7の(D)は文字サイズに応じた重み係数テーブルを示す。サイズ「24」の文字は、サイズが大きい分だけキーワードとしての価値が高いと想定され、重み係数としては「1」が割り当てられている。サイズ「8」の文字は、サイズが小さい分だけキーワードとしての価値が低いと想定され、重み係数としては「2.2」が割り当てられている。
【0062】
図7の(E)は、第1文字列遷移データ作成部106が図7の(C)と(D)で示される情報を用いて、当初計算した重み値を調整した結果を示す。当初計算した重み値に、図7の(C)および(D)の重み係数をかけることにより、大きい文字領域や、語彙として価値の高い位置にある語彙の優先順位が上がるように重み付けされている。例えば、語彙「清水寺」に対しては、当初計算した重み値「0.20」に図7の(C)の空間分布重み値「1.5」と文字サイズ重み値「1.0」が掛け算され、調整後の重み値として「0.3」が付与されている。以上の処理により、重み値調整前には、例えば語彙「この先」が語彙「清水寺」より小さい重み値を有していたが、重み値調整により、語彙「この先」の重み値が語彙「清水寺」の重み値より大きくなっている。すなわち、重み値調整により、実際にキーワードとして価値のある語彙が小さい重み値を有するよう調整されたといえる。
【0063】
(7)WFST演算処理
(WFST演算処理全体の流れ)
WFST処理部109および文字列検出部110が、ステップS3およびS8で生成された第1WFSTデータをまとめて一つの第1WFSTデータにした後に(ステップS9)、WFST演算処理を行う(ステップS10、特許請求の範囲における「有限状態変換ステップ」に相当)。WFST処理部109および文字列検出部110が行う「WFST演算処理」は、WFST合成演算(特許請求の範囲における「合成演算」に相当)を含む処理であって、WFST処理部109がWFSTデータに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の状態遷移の結果を累積重み値に基づき文字列検出部110に出力すると、文字列検出部110は当該累積重み値に基づき1つ以上の文字列を文字列認識結果として検出する、といった一連の処理を含む。図8は、WFST演算処理を示すフローチャートである。文字認識候補群から生成された第1WFSTデータは、語彙DB111(図1参照)とのWFST演算処理による語彙検出に用いられる他、文字認識候補群の第1WFSTデータそのものを画像に対する検索用テーブルとして利用することもできる。
【0064】
図8においては、ステップS10−1、S10−2、S10−3、およびS10−4からなる処理フローが、文字認識候補群の第1WFSTデータそのものを画像に対する検索用テーブルとして利用し、画像にユーザ入力キーワードが存在するか否かを判定する場合の処理フローである。この場合に、WFST処理部109は、ステップS1〜S9の一連の処理によって作成された第1WFSTデータ、およびユーザが入力したキーワードに対するWFSTデータ(特許請求の範囲における「第2文字列遷移データ」に相当、以下「第2WFSTデータ」という。)に対してWFST演算処理を行うことにより、画像にキーワードが存在するか否かを判定する。
【0065】
具体的には、まず、第2文字列遷移データ作成部107が、ユーザからキーワードを入力し、当該キーワードに対する第2WFSTデータを作成する(ステップS10−1)。図8の(A)にはユーザ入力のキーワード(検索語彙)に対して作成した第2WFSTデータがイメージされている。次に、WFST処理部109が、ステップS10−1で作成した第2WFSTデータと、ステップS1〜S9の一連の処理によって作成された第1WFSTデータとを用いてWFST合成演算を行う(ステップS10−2)。次に、WFST処理部109がステップS10−2でのWFST合成演算の結果に基づき、ベストパスを求める演算を行う(ステップS10−3)。最後に、文字列検出部110がベストパスの演算結果からユーザ入力キーワードの有無の判定結果、または当該判定結果における重みを出力する(ステップS10−4)。
【0066】
また、図8において、ステップS10−5、S10−6、S10−7、S10−8、およびS10−9からなる処理フローが、語彙DB111とのWFST演算処理による語彙検出の場合の処理フローである。この場合に、WFST処理部109は、ステップS1〜S9の一連の処理によって作成された第1WFSTデータ、および語彙DB111に存在する各語彙のWFSTデータ(特許請求の範囲における「第3文字列遷移データ」に相当、以下「第3WFSTデータ」という。)に対してWFST演算処理を行うことにより、画像に存在する語彙を検出する。
【0067】
具体的には、まず、第3文字列遷移データ作成部108が、語彙DB111に存在する各語彙の第3WFSTデータを作成する(ステップS10−5)。次に、WFST処理部109が、ステップS10−5で作成した第3WFSTデータと、ステップS1〜S9の一連の処理によって作成された第1WFSTデータとを用いてWFST合成演算を行う(ステップS10−6)。次に、WFST処理部109がステップS10−6でのWFST合成演算の結果に基づき、ベストパスを求める演算を行う(ステップS10−7)。最後に、文字列検出部110がベストパスにおける重み値順に語彙を出力する(ステップS10−8)。これとともに、辞書が分類別にある場合や、分類情報辞書がある場合には、分類情報を出力する(ステップS10−9)。
【0068】
(WFST合成演算)
図9にWFST合成演算(図8のステップS10−2および10−6)のイメージを示す。WFST合成演算は、二つのWFSTデータで表現された状態遷移を比較し、共通する一文字単位の語彙の遷移を取り出す演算である。WFST合成演算の結果、各遷移の持つ重み値は合成する二つの遷移の重み値から再計算され、WFST合成演算の結果は状態遷移の重み値からベストパス(重みの小さい遷移)上位を算出したものとなる。なお、オーバーセグメンテーションの場合に、WFST処理部109は複数種類の分割領域の全体を通じて累積重み値が上位のものを、WFST合成演算の結果として出力する。
【0069】
語彙検出(ステップS10−5〜S10−9からなる処理フロー)では、図9の(A)で示したような文字認識候補群の第1WFSTデータ(図5に示したものと同一)と、図9の(B)で示したような語彙DB111における語彙データの第3WFSTデータとのWFST合成演算を行い、遷移の重みが上位の語彙を取り出す(つまり語彙データとマッチするパスだけを取り出す)ことで、重み値の順に語彙を検出する。図9の(C)は、WFST合成演算の結果として、「ドコモ」、「人毛」、「人口」が取り出されており、それぞれの重み値が「0.2+0.2+0.2=0.6」、「0.6+2.0+0.4=2.8」、「0.6+0.6=1.2」である様子を示している。したがって、ベストパスとしては重み値が最も小さい「ドコモ」が検出され、文字列検出部110は「ドコモ」を語彙検出の結果として出力する。また、文字をスキップするためのε遷移の存在により、“天ぷらおむすび“を“天むす“として検出するなど、略称を検出することもできる。また、語彙DB111が大規模な構成の場合、完全に一致する語彙がなくても語彙の一部分を正解語彙として取り出せる場合がある。
【0070】
検索用テーブルの場合(ステップS10−1〜S10−4からなる処理フロー)、画像中から探したい検索キーワードを第2WFSTデータで表現し、文字認識候補郡の第1WFSTデータとのWFST合成演算を行う。このWFST合成演算では、合成する二つのWFSTデータの遷移で初期状態から最終状態への遷移が得られるかどうかを判定する。これにより、検索キーワードが文字認識候補郡にあるかどうか、つまり画像中にユーザ入力のキーワードが存在するかどうかが判定できる。更に、遷移の重み値から複数画像に対する順位付けを行うこともできる。図9の例においては、ユーザ入力のキーワードが例えば「ドコモ」、「人毛」、「人口」の何れかであった場合に、合成する二つのWFSTデータの遷移で初期状態から最終状態への遷移が得られるため、当該ユーザ入力のキーワードが画像中に存在していると判定される。ただし、「ドコモ」、「人毛」、「人口」のそれぞれの重み値が「0.2+0.2+0.2=0.6」、「0.6+2.0+0.4=2.8」、「0.6+0.6=1.2」であるため、ベストパスとしては重み値が最も小さい「ドコモ」が検出される。文字列検出部110は、ユーザ入力のキーワードが「ドコモ」である場合に、最も小さい重み値を語彙検索の結果として出力する。
【0071】
図9の(B)に例示した語彙データは、図9の(C)に示されるように初期状態を同一とする一文字ずつの語彙の遷移により表される。更に、別途統計処理等により得られた頻度情報、利用者が入力した学習情報や、語彙の文字列長等により重み付けされていてもよい。また、比較の対象である第1WFSTデータおよび第2WFSTデータ、そして第1WFSTデータおよび第3WFSTデータのそれぞれは、必ず同じ形式のデータである必要はなく、文字の状態遷移を表すデータであって、比較が可能な程度のデータ形式であればよい。
【0072】
(WFST合成演算、バリエーション1)
本実施形態では、WFST合成演算において種々のバリエーションを想定しており、以下、バリエーション1について説明する。バリエーション1では、語彙DB111は、語彙に対する分類情報を有し、第2文字列遷移データ作成部107または第3文字列遷移データ作成部108は、当該分類情報を付加して、第2WFSTデータまたは第3WFSTデータを作成し、WFST処理部109は、当該分類情報を付加して、WFST合成演算を行い、その結果を出力する。すなわち、バリエーション1では、語彙DB111として、入力を語彙とし、出力を分類情報としたWFSTデータや、分類情報を付加した語彙DB111のWFSTデータとの合成演算により、キーワードを検出すると同時に、分類のための情報取得や、キーワードへの分類情報の付加ができる。その場合、同一語彙に複数の分類情報を持たせることができるように、語彙DB111の最終状態の入力に分類情報の一連番号を付加し、出力に分類情報(つまり分類情報の内容)を付加する。また、文字認識から生成された第1WFSTデータの最終状態には語彙DB111上の同一語彙に使われる分類情報の最大数分だけの一連番号への遷移を付加する。
【0073】
図10はバリエーション1における処理の一例を示す。図10の(A)は、分類情報を付加した語彙データの一例を示す。検索用テーブルの場合であれば、図10の(A)は第2文字列遷移データ作成部107が作成した分類情報付きの第2WFSTデータを示す。語彙検出の場合であれば、図10の(A)は第3文字列遷移データ作成部108が作成した分類情報付きの第3WFSTデータを示す。分類情報は、同一語彙の複数ジャンルを識別するための情報である。例えば、語彙「つばめ」には、一連番号が「0000」および「0001」の二つの分類情報である「新幹線」および「鳥類」が付加されている。なお、図10の(A)における「<eps>」とは、WFST演算処理における空の遷移を示すものであり、各文字(例えば「つ」、「ば」、「め」など)が入力である場合の出力である。図10の(B)は、文字認識の結果に分類情報の一連番号を付加して第1WFSTデータに変換した様子を示す。例えば、文字認識の結果「つばめ」には、そのWFSTデータの最終状態に、語彙DB111上において語彙「つばめ」に使われる分類情報の最大数分だけの一連番号(図10の例では一連番号「0000」および「0001」の2つ)への遷移が付加されている。図10の(A)に示す第2WFSTデータまたは第3WFSTデータと、図10の(B)に示す第1WFSTデータとの合成演算が行われ、図10の(C)は合成演算の結果を示す。両WFSTデータが比較された後に、マッチするパス2つだけが取り出されるが、<eps>空遷移により、図10の(C)における結果としては分類情報のみが示されている。
【0074】
図11は、図10の場合と同様の場合を示しているが、文字認識の結果が「すずめ」である点で異なる。図11の(C)には合成演算の結果が示されており、両WFSTデータが比較された後に、マッチするパス1つだけが取り出されるが、図10の(C)と同様に、<eps>空遷移により、結果としては分類情報のみが示されている。
【0075】
図12は、図10の場合と同様の場合を示しているが、<eps>遷移がない点で異なる。図12の(C)には合成演算の結果が示されており、両WFSTデータが比較された後に、マッチするパス2つだけが取り出され、<eps>遷移がないことから、結果としては語彙と分類情報の両方が示されている。
【0076】
(WFST合成演算、バリエーション2)
次に、バリエーション2について説明する。バリエーション2では、図13に示されるように、文字認識装置1が語彙分類関連性ベクトル格納部112(特許請求の範囲における「語彙分類関連性ベクトル格納手段」に相当)を更に備える。語彙分類関連性ベクトル格納部112は、語彙と分類情報との関連性を示す語彙分類関連性ベクトルを格納するものである。第1文字列遷移データ作成部106は、自ら作成した第1WFSTデータにおける文字認識処理結果の候補および当該候補の重み値に対して、語彙分類関連性ベクトルの値を加算する。次に、第1文字列遷移データ作成部106は、最も大きな値となる分類情報を当該候補に対応する分類情報とし、該分類情報を基に当該候補に対する重み値を修正する。そして、WFST処理部109は、当該修正された重み値に基づき、WFST合成演算を行う。
【0077】
すなわち、バリエーション2では、類義関係データベースを利用して分類情報と語彙の関連性をテーブルとして用意しておくことで、分類情報の優先度を変更することができる。例えば、図14のように語彙として料理メニュー、分類情報として料理ジャンルの関係性をベクトルで表した配列(図14の(B)、語彙分類関連性ベクトル)があれば、検出語彙のベクトルを加算し、最もベクトルの大きくなる料理ジャンルを検出語彙の料理ジャンルとして検出することができる。逆に、取得したジャンルの順序やベクトル値により語彙の重みを再決定することで、検出された料理メニューの優先度を変更することもできる。
【0078】
図14の(A)は文字認識で検出された語彙(「餃子」、「スープ」など、料理メニューのそれぞれ)を示しており、図14の(B)は各料理メニューと料理ジャンルとの対応テーブル(語彙分類関連性ベクトル)を示している。図14の(C)は、図14の(B)の対応テーブルを参照して、図14の(A)の各料理メニューに対応するベクトル値を計算した例を示す。この例においては、「中華」に対して最も高いベクトル値が計算されたため、図14の(A)に示された語彙のジャンルは「中華」と判断される。最後に、図14の(D)は、図14の(C)で判断されたジャンル「中華」が反映されて、図14の(A)の各料理メニューに対する重み値が修正された様子を示す。
【0079】
図15は、図14の(D)に示された修正重み値の計算過程を示す図である。図15の(A)〜(D)の手順を経ることにより、図14の(D)に示された修正重み値が計算される。図15の(A)は、検出したジャンル重み値の和を示しており、図14の(B)および(C)に相当する。図15の(B)は図14の(A)に示された語彙重み値を逆数にして、つまり(1/語彙重み値)にして、各語彙のジャンル重み値をかけた様子を示す。例えば、「餃子」に対しては、図14の(A)に示された語彙重み値である「0.3」を逆数にして、つまり「1/0.3」にして、図15の(A)に示されたジャンル重み値「0、1.0、0」をそれぞれかけることにより、「0、3.33、0」の計算結果を得る。同様に、「スープ」に対しては、図14の(A)に示された語彙重み値である「0.45」を逆数にして、つまり「1/0.45」にして、図15の(A)に示されたジャンル重み値「0、0.3、0.7」をそれぞれかけることにより、「0、0.67、1.56」の計算結果を得る。
【0080】
図15の(C)は、図15の(B)の結果に、図15の(A)の和をかけた様子を示す。例えば、「餃子」に対しては、図15の(B)の結果である「0、3.33、0」に図15の(A)の和である「0.5、2.8、0.7」をそれぞれかけることにより、「0、9.33、0」の計算結果を得る。同様に、「スープ」に対しては、図15の(B)の結果である「0、0.67、1.56」に図15の(A)の和である「0.5、2.8、0.7」をそれぞれかけることにより、「0、1.87、1.09」の計算結果を得る。
【0081】
最後に、図15の(D)は各語彙に対して図15の(C)の計算結果をジャンルごとにそれぞれ足し合わせ、その逆数を修正重み値とする様子を示す。例えば、「餃子」に対しては、図15の(C)の結果である「0、9.33、0」に対してジャンルごとの数値を全て足し合わせて「9.33」の計算結果を得る。そして、これを逆数にして修正重み値「0.11」の計算結果を得る。同様に、「スープ」に対しては、図15の(C)の結果である「0、1.87、1.09」に対してジャンルごとの数値を全て足し合わせて「2.96」の計算結果を得る。そして、これを逆数にして修正重み値「0.34」の計算結果を得る。
【0082】
(WFST合成演算、バリエーション3)
次に、バリエーション3について説明する。バリエーション3では、WFSTデータに「位置情報」が付加される。すなわち、文字認識部105が、文字認識処理結果の候補を出力する際に、当該候補の画像内における位置情報をともに出力する。画像内における位置情報を取得するための別途の手段を設けてもよく、文字認識部105が当該取得を行ってもよい。そして、第1文字列遷移データ作成部106は、当該位置情報を付加して、第1WFSTデータを作成し、WFST処理部109および文字列検出部110は、当該位置情報を付加して、WFST合成演算を行い、その結果を出力する。バリエーション3では、WFST合成演算そのものによっては検出語彙の位置までは特定できないので、元の位置情報を別途テーブル(下記の図16の(C)を参照)として用意し、そのテーブル番号を状態遷移に付加する。そうすることで、検出された結果にもそのテーブル番号が付くので、元の位置情報が特定できるようになる(図16の(D)および(E)を参照)。
【0083】
図16はバリエーション3における各機能要素の動作を示すための図である。図16の(C)は、文字認識部105が出力した位置情報を示す。位置情報は位置情報テーブルとして出力されており、x1およびy1により各文字の左上の座標が示され、x2およびy2により各文字の右下の座標が示される。また、各位置情報は「0000」、「0001」等の一連番号で識別される。文字認識部105は、文字認識処理結果の候補を出力する際に、図16の(C)に示したような一連番号をともに出力する。図16の(B)は、第1文字列遷移データ作成部106が作成した位置情報付きの第1WFSTデータを示す。図5の第1WFSTデータと比べると、位置情報の一連番号が付加されている点で異なる。なお、文字スキップのための重み値付きε遷移は省略している。
【0084】
図16の(A)は、位置情報(より正確には位置情報の一連番号)を付加した語彙データの一例を示す。検索用テーブルの場合であれば、図16の(A)は第2文字列遷移データ作成部107が作成した位置情報付きの第2WFSTデータを示す。語彙検出の場合であれば、図16の(A)は第3文字列遷移データ作成部108が作成した位置情報付きの第3WFSTデータを示す。図16の(A)で示されるように、遷移の最初と最後に位置情報の一連番号が付加されており、付加された一連番号の数は図16の(C)に示した位置情報の数の最大数と同じである。この例において位置情報の数の最大数は、「0000」から「9999」までの1万個である。
【0085】
図16の(D)は、図16の(A)の第2WFSTデータまたは第3WFSTデータと、図16の(B)の第1WFSTデータとの合成演算を行った結果を示す。合成演算の結果に位置情報の一連番号が付加されている。そして、図16の(E)に示されるように、合成演算の結果に付加された一連番号と図16の(C)の位置情報テーブルとを照らし合わせることで、「ライン」、「スソ」等の文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【0086】
重複位置の語彙を一つだけ利用する場合は、文字位置の検出済み判定用配列を別途作成し、ベストパス上位から検出語彙の文字位置に対応する配列位置を検出済みとしていく。すでに配列が検出済みとなっていた場合は、語彙が重なったと判定し、同一位置から検出されたキーワードの優先順位の高いものだけを利用する。このように隙間を埋めるように語彙を配置していくことで、優先順位の高い語彙により文字認識結果の補正が行える。
【0087】
(WFST合成演算、バリエーション4)
次に、バリエーション4について説明する。分かち書きが前提の言語の場合、日本語に比べて構成する文字のバリエーションが少ないため、図5のような文字認識候補群のWFSTデータを利用する場合、例えば「pencil」の一部から「pen」だけを検出するというように、単語の一部分だけを検出してしまうおそれがある。そこで、バリエーション4では、WFSTデータに「区切り識別情報(特許請求の範囲における「識別情報」に相当)」を付加する。
【0088】
すなわち、文字認識部105が、文字認識処理結果の候補を出力する際に、単語間の区切りを示す区切り識別情報をともに出力する。区切り識別情報は、文字認識において区切りの文字であると認識された場合に、つまり認識した文字が例えばスペース、ピリオド、括弧等の記号であった場合に、出力される。そして、第1文字列遷移データ作成部106は、当該区切り識別情報を付加して、区切り識別情報付きの第1WFSTデータを作成する。また、第2文字列遷移データ作成部107および第3文字列遷移データ作成部108も区切り識別情報を付加して、区切り識別情報付きの第2WFSTデータおよび第3WFSTデータのそれぞれを作成する。区切り識別情報は上記したスペース、ピリオド、括弧等の記号の場合に付加されるほか、単語の最初と最後にも付加される。そして、WFST処理部109は、WFST処理のための状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行う。
【0089】
図17はバリエーション4における各機能要素の動作を示すための図である。図17の(B)は、画像における文字列が「{two pens}」であった場合に、第1文字列遷移データ作成部106が作成した区切り識別情報付きの第1WFSTデータを示す。記号「{」を認識した文字認識部105がその文字認識処理結果を出力するとともに、区切り識別情報を出力する。これを受け取った第1文字列遷移データ作成部106は記号「{」を入力とし、区切り識別情報「<sp>」を出力とする識別情報付きの第1WFSTデータを作成する。記号「}」についても同様である。「two」と「pens」の間のスペースについても、文字認識の結果がスペースである旨を文字認識部105が出力すると、第1文字列遷移データ作成部106は当該スペースに対して区切り識別情報を割り当てた区切り識別情報付きの第1WFSTデータを作成する。なお、図17においては、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略されている。
【0090】
図17の(A)は、区切り識別情報を付加した分かち書き用の語彙データの一例を示す。検索用テーブルの場合であれば、図17の(A)は第2文字列遷移データ作成部107が作成した区切り識別情報付きの第2WFSTデータを示す。語彙検出の場合であれば、図17の(A)は第3文字列遷移データ作成部108が作成した区切り識別情報付きの第3WFSTデータを示す。図17の(A)で示されるように、単語の最初と最後に区切り識別情報「<sp>」が付加されている。また、英語において複数形を示す「s」に対しては、出力が「<esp>」となるようにする。これにより、複数形の「s」が合成演算の結果で影響しないようにすることができる。
【0091】
図17の(B)に示される第1WFSTデータと、図17の(A)に示される第2WFSTデータまたは第3WFSTデータとの合成演算を行った結果が、図17の(C)に示されている。WFST処理部109が、状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行ったため、つまり図17の(B)に示される「two」や「pens」を単位として当該状態遷移を行い、図17の(A)の第1WFSTデータとの合成演算を行ったため、結果としては「pen」が出力される。
【0092】
これに対し、図17の(D)は、画像における文字列が「pencil.」であった場合に、第1文字列遷移データ作成部106が作成した区切り識別情報付きの第1WFSTデータを示す。記号「.」を認識した文字認識部105がその文字認識処理結果を出力するとともに、区切り識別情報を出力する。これを受け取った第1文字列遷移データ作成部106は記号「.」を入力とし、区切り識別情報「<sp>」を出力とする識別情報付きの第1WFSTデータを作成する。図17の(D)に示される第1WFSTデータと、図17の(A)に示される第2WFSTデータまたは第3WFSTデータとの合成演算を行った結果が、図17の(E)に示されている。WFST処理部109が、状態遷移を行う際に、二つの区切り識別情報により区切られた部分を単位として当該状態遷移を行ったため、つまり図17の(D)に示される「pencil」を単位として当該状態遷移を行い、図17の(A)の第1WFSTデータとの合成演算を行ったため、マッチングする語彙が検出されていない。これにより、「pencil」の一部から「pen」だけが検出されるなど、単語の部分的なスペルのみが検出されることを防止できる。
【0093】
図18は、分かち書き言語の語彙と、分かち書きでない言語の語彙とが組み合わさった場合に対して、バリエーション4における各機能要素の動作を示すための図である。以下に説明する方法では、アルファベットとそれ以外の文字間の遷移に、区切りの識別情報の遷移とε遷移を付加する。これにより、アルファベットとそれ以外の文字が区切りなく存在する場合でも、アルファベットで構成された語彙の検出と、アルファベットとそれ以外の文字が組み合わさった語彙の検出を同時に行うことができる。
【0094】
図18の(A)は、第1文字列遷移データ作成部106が当初作成した区切り識別情報付きの第1WFSTデータを示す。図17と同様の要領で第1WFSTデータが作成され、単語の最初と最後に区切り識別情報「<sp>」が付加されている。図18の(B)は、第1文字列遷移データ作成部106が図18の(A)を修正して作成した区切り識別情報付きの第1WFSTデータを示す。アルファベットとそれ以外の文字間の遷移に、つまり分かち書き言語の語彙と、分かち書きでない言語の語彙との間の遷移に、区切り識別情報が付加されている。
【0095】
更に、区切り識別情報とあわせてε遷移「<eps>」を付加することで、アルファベットとそれ以外の文字が組み合わさった語彙にも対応している。つまり、アルファベットで構成された遷移と、それ以外の文字で構成された遷移とが並列に並んでいると考え、文字間の遷移に図18の(C)に示すような状態遷移を付加する。これにより、アルファベットとそれ以外の文字間の遷移に区切り識別情報「<sp>」の遷移が付加される構造となる。なお、図18においては、初期状態から途中状態へのε遷移、途中状態から最終状態へのε遷移、文字スキップのための重み値付きε遷移は省略されている。
【0096】
(文字認識システム100としての構成例)
続いて、本実施形態の他の構成例について説明する。以上では、本発明が文字認識装置1として構成された場合を説明したが、これに限らず、本発明は、図19に示されるように、端末200およびサーバ300を備えた文字認識システム100として構成されることもできる。図19はこの場合の構成概要図であり、端末200とサーバ300とは通信ネットワークにより互いに通信可能に接続されている。
【0097】
端末200は、機能的構成要素として、画像読み込み部101(特許請求の範囲における「画像入力手段」に相当)、画像二値化部102、文字領域検出部103(特許請求の範囲における「文字領域検出手段」に相当)、文字領域分割部104(特許請求の範囲における「文字領域分割手段」に相当)、文字認識部105(特許請求の範囲における「文字認識手段」に相当)、第1文字列遷移データ作成部106(特許請求の範囲における「第1文字列遷移データ作成手段」に相当)、第2文字列遷移データ作成部107(特許請求の範囲における「第2文字列遷移データ作成手段」に相当)を備える。
【0098】
サーバ300は、機能的構成要素として、第3文字列遷移データ作成部108(特許請求の範囲における「第3文字列遷移データ作成手段」に相当)、WFST処理部109(特許請求の範囲における「有限状態変換手段」に相当)、文字列検出部110(特許請求の範囲における「文字列検出手段」に相当)、語彙DB111(特許請求の範囲における「語彙データベース」に相当)を備える。
【0099】
端末200およびサーバ300が備える機能的構成要素それぞれの説明については、文字認識装置1において説明した内容と重複するため、ここでは説明を省略する。なお、本実施形態では第1文字列遷移データ作成部106および第2文字列遷移データ作成部107が端末200内に存在し、第3文字列遷移データ作成部108がサーバ300内に存在している構成例を挙げているが、これに限らず、第1文字列遷移データ作成部106、第2文字列遷移データ作成部107、第3文字列遷移データ作成部108が端末200、サーバ300の何れに存在していてもよい。
【0100】
図2は端末200のハードウェア構成図としても参照することができる。図2に示すように、端末200は、物理的には、CPU21、ROM22及びRAM23等の主記憶装置、キーボード、マウスをはじめ、カメラ等の画像を読み込むための装置または外部装置からデータを読み込むための装置である入力デバイス24、ディスプレイ等の出力デバイス25、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール26、ハードディスク等の補助記憶装置27などを含む通常のコンピュータシステムとして構成される。入力デバイス24による画像の読み込みは、自装置で撮影された画像であってもよく、または他装置で撮影された画像であってもよい。上述した端末200の各機能は、CPU21、ROM22、RAM23等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU21の制御の元で入力デバイス24、出力デバイス25、通信モジュール26を動作させると共に、主記憶装置22、23や補助記憶装置27におけるデータの読み出し及び書き込みを行うことで実現される。
【0101】
図2はサーバ300のハードウェア構成図としても参照することができる。図2に示すように、サーバ300は、物理的には、CPU31、ROM32及びRAM33等の主記憶装置、キーボード、マウスをはじめ、外部装置からデータを読み込む装置である入力デバイス34、ディスプレイ等の出力デバイス35、他の装置との間でデータの送受信を行うためのネットワークカード等の通信モジュール36、ハードディスク等の補助記憶装置37などを含む通常のコンピュータシステムとして構成される。上述したサーバ300の各機能は、CPU31、ROM32、RAM33等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU31の制御の元で入力デバイス34、出力デバイス35、通信モジュール36を動作させると共に、主記憶装置32、33や補助記憶装置37におけるデータの読み出し及び書き込みを行うことで実現される。
【0102】
(文字認識プログラムとしての構成例)
本発明は、文字認識プログラムとして構成されることもでき、以上の文字認識装置1に関する説明は、コンピュータを文字認識装置1として動作させる文字認識プログラムに関する説明としても捉えることができる。重複する説明は省略するが、文字認識プログラムは、コンピュータを、以上で説明した画像読み込み部101、画像二値化部102、文字領域検出部103、文字領域分割部104、文字認識部105、第1文字列遷移データ作成部106、第2文字列遷移データ作成部107、第3文字列遷移データ作成部108、WFST処理部109、および文字列検出部110として機能させる。文字認識プログラムは、例えば、記録媒体に格納されて提供される。なお、記録媒体としては、フレキシブルディスク、CD、DVD等の記録媒体、ROM等の記録媒体、または半導体メモリ等が例示される。
【0103】
(本実施形態の作用及び効果)
続いて、本実施形態にかかる文字認識装置1の作用及び効果について説明する。本実施形態の文字認識装置1によれば、外部の電話帳等のデータベースを利用しないことから、当該電話帳データベースなどに含まれる大量の単語知識との照合が必要なく、文字認識処理の高速化を図ることができる。つまり、本実施形態によれば、文字認識結果から単語を検出して外部の単語データベースとの照合を行うのではなく、文字認識装置1内に存在する単語・分類情報データベースと文字認識候補群を有限状態トランスデューサ(WFST)で表現し、WFSTの合成演算を行うことで、高速に単語抽出・分類情報抽出・文字位置抽出処理を行うことが可能となる。また、位置情報取得手段や方位情報取得手段等も不要であるため、装置構成を簡素化することができる。つまり、位置情報取得装置や方位情報取得装置を用いず、文字認識装置1内の情報のみを用いて文字認識が可能となる。このような装置構成を用いて、精度よく且つ高速で、情景画像から文字認識を行うことが可能である。
【0104】
また、本実施形態では、画像にノイズが現れる形で文字領域を抽出しても、WFST演算処理による高度な言語的制約を加えることが可能である。これにより当該ノイズを取り除くことができるほか、優先順位を下げることができる。このため、明暗の変動や文字の歪みなど、情景画像特有の問題を有する場合にも認識精度を高めることができる。
【0105】
また、既存手法による文字認識結果に、本実施形態によって検出した語彙を当てはめることで、本実施形態の文字認識装置1等を既存手法の文字認識結果に対してエラー訂正を行うための装置として利用することができる。
【0106】
また、本実施形態によれば、文字認識候補群の第1WFSTデータそのものを画像に対する検索用テーブルとして利用し、本実施形態の文字認識装置1等を、画像にユーザ入力キーワードが存在するか否かを判定する装置等として活用することができる。
【0107】
また、本実施形態によれば、文字認識候補群の第1WFSTデータおよび語彙DB111における第3WFSTデータに対し合成演算を行うことにより、本実施形態の文字認識装置1等を語彙検出装置等として活用することができる。
【0108】
また、本実施形態によれば、第1文字列遷移データ作成部106が重み値を計算するための具体的な手法が提供される。
【0109】
また、本実施形態によれば、第1文字列遷移データ作成部106が重み値を修正するための具体的な手法が提供される。また、重み値の修正により語彙の検出精度を上げることができる。
【0110】
また、本実施形態によれば、文字領域分割部104がオーバーセグメンテーションを行った場合でも適切な対応が可能である。
【0111】
また、本実施形態によれば、第1空遷移、第2空遷移、および第3空遷移を第1WFSTデータに含ませることで、第1WFSTデータと第2WFSTデータまたは第3WFSTデータとの合成演算の精度を高めることができる。
【0112】
また、本実施形態によれば、区切りを示す識別情報を用いることにより、分かち書き言語の対しても、精度よく文字認識を行うことができる。更に、英語のような分かち書きをする言語、日本語のような分かち書きをしない言語の辞書を、語彙を共通にして扱うことができる。
【0113】
また、本実施形態によれば、位置情報を用いることにより、文字認識の結果が画像内のどこに位置しているのかを特定することができる。
【0114】
また、本実施形態によれば、分類情報を用いることにより、文字認識の結果がどのジャンルに属するかを特定することができる。
【符号の説明】
【0115】
1…文字認識装置、100…文字認識システム、101…画像読み込み部、102…画像二値化部、103…文字領域検出部、104…文字領域分割部、105…文字認識部、106…第1文字列遷移データ作成部、107…第2文字列遷移データ作成部、108…第3文字列遷移データ作成部、109…処理部、110…文字列検出部、111…語彙DB、200…端末、300…サーバ。



【特許請求の範囲】
【請求項1】
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、
前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備えることを特徴とする文字認識装置。
【請求項2】
ユーザからキーワードを入力し、前記キーワードの文字列遷移データである第2文字列遷移データを作成する第2文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第1文字列遷移データおよび前記第2文字列遷移データに対して合成演算を行うことにより、前記画像に前記キーワードが存在するか否かを判定する、
ことを特徴とする請求項1に記載の文字認識装置。
【請求項3】
語彙データベースに存在する各語彙の文字列遷移データである第3文字列遷移データを作成する第3文字列遷移データ作成手段を更に備え、
前記有限状態変換手段は、前記第1文字列遷移データおよび前記第3文字列遷移データに対して合成演算を行うことにより、前記画像に存在する語彙を検出する、
ことを特徴とする請求項1に記載の文字認識装置。
【請求項4】
前記文字認識手段は、複数の前記候補に対してそれぞれ優先順位を付けて出力し、
前記第1文字列遷移データ作成手段は、前記優先順位に基づき前記重み値を計算する、
ことを特徴とする請求項1〜3の何れか1項に記載の文字認識装置。
【請求項5】
前記文字認識手段は、少なくとも2種類以上の異なる認識方式を用いて前記文字認識処理を行い、
前記第1文字列遷移データ作成手段は、前記異なる認識方式における前記候補の出力数および前記優先順位に基づき、前記重み値を計算する、
ことを特徴とする請求項4に記載の文字認識装置。
【請求項6】
前記第1文字列遷移データ作成手段は、言語データベースに登録されている単語の文字列遷移を加味して、前記重み値を計算する、
ことを特徴とする請求項1〜5の何れか1項に記載の文字認識装置。
【請求項7】
前記第1文字列遷移データ作成手段は、前記候補の前記画像内における位置、または前記候補の文字サイズに基づき、前記重み値を修正する、
ことを特徴とする請求項1〜6の何れか1項に記載の文字認識装置。
【請求項8】
前記文字領域分割手段が、複数の分割パターンを用いて前記文字領域を分割し、複数種類の前記分割領域を生成した場合に、
前記文字認識手段は、前記複数種類の分割領域それぞれに対して前記文字認識処理を行い、
前記第1文字列遷移データ作成手段は、前記複数種類の分割領域それぞれにおける前記候補に対して前記第1文字列遷移データを作成し、
前記有限状態変換手段は、前記複数種類の分割領域を通じて前記累積重み値が上位のものを前記結果として出力する、
ことを特徴とする請求項1〜7の何れか1項に記載の文字認識装置。
【請求項9】
前記第1文字列遷移データ作成手段は、文字列遷移の初期状態から前記候補への空の遷移である第1空遷移と、前記候補から文字列遷移の最終状態への空の遷移である第2空遷移と、前記候補を一文字単位でスキップするための空の遷移である第3空遷移と、を含んで前記第1文字列遷移データを作成する、
ことを特徴とする請求項1〜8の何れか1項に記載の文字認識装置。
【請求項10】
前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、単語間の区切りを示す識別情報をともに出力し、
前記第1文字列遷移データ作成手段は、前記識別情報を付加して、前記第1文字列遷移データを作成し、
前記有限状態変換手段は、前記状態遷移を行う際に、二つの前記識別情報により区切られた部分を単位として前記状態遷移を行う、
ことを特徴とする請求項1〜9の何れか1項に記載の文字認識装置。
【請求項11】
前記文字認識手段は、前記文字認識処理結果の前記候補を出力する際に、当該候補の前記画像内における位置情報をともに出力し、
前記第1文字列遷移データ作成手段は、前記位置情報を付加して、前記第1文字列遷移データを作成し、
前記有限状態変換手段は、前記位置情報を付加して、前記結果を出力する、
ことを特徴とする請求項1〜10の何れか1項に記載の文字認識装置。
【請求項12】
前記語彙データベースは、語彙に対する分類情報を有し、
前記第2文字列遷移データ作成手段または前記第3文字列遷移データ作成手段は、前記分類情報を付加して、前記第2文字列遷移データまたは前記第3文字列遷移データを作成し、
前記有限状態変換手段は、前記分類情報を付加して、前記結果を出力する、
ことを特徴とする請求項2〜11の何れか1項に記載の文字認識装置。
【請求項13】
語彙と前記分類情報との関連性を示す語彙分類関連性ベクトルを格納する語彙分類関連性ベクトル格納手段を備え、
前記第1文字列遷移データ作成手段は、前記第1文字列遷移データにおける前記候補および前記重み値に対して、前記語彙分類関連性ベクトルの値を加算し、最も大きな値となる分類情報を前記候補に対応する分類情報とし、該分類情報を基に当該候補に対する前記重み値を修正する、
ことを特徴とする請求項12に記載の文字認識装置。
【請求項14】
画像入力手段が、認識対象の文字を含む画像を入力する画像入力ステップと、
文字領域検出手段が、前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出ステップと、
文字領域分割手段が、前記文字領域を一文字単位で分割する文字領域分割ステップと、
文字認識手段が、前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識ステップと、
第1文字列遷移データ作成手段が、前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成ステップと、
有限状態変換手段が、前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換ステップと、
を備えることを特徴とする文字認識方法。
【請求項15】
端末およびサーバを含む文字認識システムであって、
前記端末は、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、
を備え、
前記サーバは、
前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段と、
を備えることを特徴とする文字認識システム。
【請求項16】
コンピュータを、
認識対象の文字を含む画像を入力する画像入力手段と、
前記画像における、前記文字が存在する領域である文字領域を検出する文字領域検出手段と、
前記文字領域を一文字単位で分割する文字領域分割手段と、
前記文字領域分割手段が分割した分割領域に存在する前記文字に対して、一文字ごとの文字認識処理を行い、一文字に付き1つ以上の文字認識処理結果の候補を出力する文字認識手段と、
前記候補を入力し、前記候補への遷移に対する重み値を計算し、前記候補および前記重み値の組に基づく文字列遷移データである第1文字列遷移データを作成する第1文字列遷移データ作成手段と、
前記第1文字列遷移データに基づき状態遷移を順次行い、各状態遷移における重み値を累積して状態遷移ごとの累積重み値を算出し、一つ以上の前記状態遷移の結果を前記累積重み値に基づき出力する有限状態変換手段、
として動作させることを特徴とする文字認識プログラム。




【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図4】
image rotate

【図7】
image rotate