(57)【要約】【課題】情景文字を高精度で抽出すること。【解決手段】画像処理装置において、画像に含まれる第１の領域であって、画素値が第１の値以下である複数の画素が連続する第１の領域と、前記画像に含まれる第２の領域であって、画素値が前記第１の値より大きい第２の値以下である複数の画素が連続する第２の領域とに基づき、前記第１の領域及び前記第２の領域の画素が連続する極値領域を前記画像から抽出する極値領域抽出部と、前記画像に含まれる領域の形状の文字らしさの度合いを判定する判定部とを備え、前記判定部は、前記画像から抽出した前記極値領域に外接する複数の矩形であって、前記画像の平面上で複数の角度だけ回転した前記複数の矩形の長辺と短辺とに基づき、前記極値領域の文字らしさの度合いを判定する。【選択図】図３
2017211976.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれる第１の領域であって、画素値が第１の値以下である複数の画素が連続する第１の領域と、前記画像に含まれる第２の領域であって、画素値が前記第１の値より大きい第２の値以下である複数の画素が連続する第２の領域とに基づき、前記第１の領域及び前記第２の領域の画素が連続する極値領域を前記画像から抽出する極値領域抽出部と、
前記画像に含まれる領域の形状の文字らしさの度合いを判定する判定部と
を備え、
前記判定部は、前記極値領域に外接し、前記画像の平面上で所定の角度だけ回転した矩形の長辺と短辺とに応じて、前記極値領域の文字らしさの度合いを判定する
ことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記判定部は、前記極値領域に外接し、前記画像の平面上で所定の角度だけ回転した矩形の長辺と短辺とのアスペクト比が所定範囲内でない場合に、前記第１の領域の形状の文字らしさの度合いを判定し、
前記アスペクト比が前記所定範囲内である場合、前記第１の領域の形状の文字らしさの度合いを判定しない
ことを特徴とする画像処理装置。
【請求項３】
請求項２記載の画像処理装置において、
前記第１の領域に外接し、前記画像の平面上で前記所定の角度だけ回転した矩形と、前記第２の領域に外接し、前記画像の平面上で前記所定の角度だけ回転した矩形とに基づき、前記極値領域に外接し、前記画像の平面上で所定の角度だけ回転した矩形の前記アスペクト比を算出する算出部を備える
ことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の画像処理装置において、
前記極値領域のうち、立体文字の側面の領域を除去する除去部を備え、
前記判定部は、立体文字の側面の領域が除去された極値領域の形状の文字らしさの度合いを判定する
ことを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記除去部は、前記極値領域に含まれる各画素の値に基づいて、前記極値領域に含まれる各画素を複数のグループに分割し、立体文字の影の部分を含むグループを除去する、
ことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれか一項に記載の画像処理装置において、
第１の極値領域に外接し、前記画像の平面上で前記所定の角度だけ回転した第１の矩形と、第２の極値領域に外接し、前記画像の平面上で前記所定の角度だけ回転した第２の矩形とに基づき、前記第１の極値領域と同一の文字列である前記第２の極値領域を検出する文字列領域検出部を備える
ことを特徴とする画像処理装置。
【請求項７】
請求項６記載の画像処理装置において、
前記文字列領域検出部は、
前記第１の矩形と、前記第２の矩形との間の距離の差、高さの差、及び幅の差の少なくとも一つに基づいて、前記第１の極値領域と、前記第２の極値領域とが、同一の文字列であるか否かを判定する
ことを特徴とする画像処理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の画像処理装置において、
前記画像における文字列に含まれる各極値領域の位置及び大きさに基づき、前記文字列に含まれる各文字の位置及び大きさを推定する推定部と、
前記推定部により推定された各文字の位置及び大きさに応じた範囲から、前記文字列に含まれる各文字に含まれる極値領域を検出する検出部と、
を備えること、
を特徴とする画像処理装置。
【請求項９】
請求項８に記載の画像処理装置において、
前記推定部は、前記文字列に含まれる各極値領域のうち、当該各極値領域の平均より大きい複数の極値領域の位置及び大きさに基づき、前記文字列に含まれる各文字の位置及び大きさを推定すること、
を特徴とする画像処理装置。
【請求項１０】
コンピュータを、
請求項１から９のいずれかに記載の画像処理装置として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、カメラで撮影した画像から、色の近い画素の連続したかたまりである連結成分を抽出し、抽出した連結成分に基づいて、当該画像に写っている文字（情景文字）を認識する技術が知られている。
【０００３】
この情景文字を検出する際、画像における輝度値等の画素値が、最小（または最大）の値である各画素（連結成分）を含む領域を初期領域とし、領域に含める画素の値を段階的に大きく（または小さく）することにより、周辺に比べて画素の値が低い（または高い）領域である極値領域（Extremal Region）を網羅的に抽出する技術が知られている（非特許文献１）。
【０００４】
非特許文献１記載の技術では、例えば従来の２値化を用いて連結成分を抽出する手法と比べ、検出される連結成分の数が多くなるために計算量は増えるものの、周辺とのコントラストの差がそれほど高くない連結成分も抽出できるため、連結成分の検出漏れが少ない。
【０００５】
図１は、非特許文献１に記載された従来の処理フローを説明する図である。以下では、画素値ｖが最小値の画素は、一番色が濃いものとして説明する。まず、画素値ｖが最小値（ｖ＝０）であるような連結成分を抽出する。続いて、画素値ｖが０または１（ｖ＝０〜ｔ（ｔ＝１））であるような連結成分を抽出する。続いて、画素値ｖが０から最大値（ｖ＝０〜ｔ（ｔ＝２５５））になるまでｔを１ずつ加算しながら連結成分を取得していく。これにより、背景よりも色の濃い連結成分を網羅的に取得できる。
【０００６】
続いて、上記の処理とは逆に、画素値ｖが最大値（ｖ＝２５５）であるような連結成分を抽出する処理を行う。すなわち、画素値ｖが２５５または２５４（ｖ＝ｔ〜２５５（ｔ＝２５４））であるような連結成分を抽出する。続いて、画素値ｖが２５５から最小値（ｖ＝ｔ〜２５５（ｔ＝０））になるまでｔを１ずつ減算しながら連結成分を取得していく。これにより、背景よりも色の薄い連結成分を網羅的に取得でき、例えば黒背景に白文字の領域を抜き出すことができる。
【０００７】
そして、抽出した極値領域の形状等の特徴を計算し、文字らしい特徴を持つかどうかを判定する。この際、非特許文献１記載の技術では、増分的に計算可能な記述子（Incrementally Computable Descriptors、ＩＣ記述子）を基にした特徴を用いて、計算コストを削減する。
【０００８】
なお、増分的に計算可能とは、ある領域（親領域）と、その領域を分割した複数の領域（子領域）があった場合に、子領域で計算済みの記述子を利用して、親領域の記述子を計算できる事を言う。すなわち、極値領域の抽出過程において、ある親領域の記述子を計算する際、すでに子領域で計算済みの範囲に関しては計算を省略できる。そのため、計算コストが処理対象の画像の画素数Ｎに対してＮオーダとなり、高速な処理が可能になる。
【０００９】
次に、図２を参照し、増分的に計算可能な記述子について説明する。図２は、従来技術における増分的に計算可能な記述子の例について説明する図である。
【００１０】
図２では、代表的な増分的に計算可能な記述子である、面積（領域のピクセル数）の計算例を示す。ある子領域c1とc2があり、その２つの子領域が繋がった親領域pがあり、それぞれの領域のピクセル数は５、４、９であるとする。
【００１１】
このとき、各領域の面積を個別に求める場合には、必要な計算回数は、ピクセル数の総和になるため、１８回になる。ここで、c1とc2の面積が計算済みであり、それが親領域pに含まれている場合には、pの面積はc1とc2の面積を足すだけで求められる。このような特徴をもつ記述子を増分的に計算可能であるという。面積が増分的に計算可能であることを利用すると、c1、c2、pの各領域の面積を求めるのに必要な計算回数は合計１０回にできる。
【００１２】
非特許文献１記載の技術では、増分的に計算可能な記述子を基にした特徴を用いて、文字かどうかの一次判定を行い、一次判定で文字らしいと判定された領域に対してのみ、より計算コストの高い複雑な特徴を用いて高精度の二次判定を行う。これにより、高速な情景文字検出を実現できる。なお、増分的に計算可能な記述子としては、面積（Area）記述子[a]、境界矩形（Bounding Box）記述子[xmin、ymin、xmax、ymax]、周辺長（Perimeter）記述子[p]、オイラー数（Euler number）記述子[e]、水平方向交差数（Horizontal crossings）記述子[ci]を用いており、上記記述子より、アスペクト比特徴[w/h] (ここでw=xmax−xmin、 h=ymax−ymin)、コンパクト度特徴[√a/p]、ホール数特徴[1-e]、水平方向交差数特徴の４特徴を求めて、一次判定を行っている。
【００１３】
ここで、水平方向交差数特徴は次式で表される。
【００１４】
【数１】
2017211976.tif 000003
二次判定では、一次判定を突破した領域に対し、より計算コストの高いホール・エリア率特徴、凸包率特徴、外周上の変曲点数特徴を計算し、それらと一次判定で用いた特徴を合わせた合計７つの特徴を用いる。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】L. Neumann, J. Matas, "Real-Time Scene Text Localization and Recognition", Proc. in 25th IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), pp.3538-3545(2012)
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、非特許文献１記載の従来技術では、数字・アルファベットと比べて図形形状が複雑な漢字や仮名等の情景文字を抽出する精度が低いという問題がある。
【００１７】
そこで、情景文字を高精度で抽出することを目的とする。
【課題を解決するための手段】
【００１８】
画像処理装置において、画像に含まれる第１の領域であって、画素値が第１の値以下である複数の画素が連続する第１の領域と、前記画像に含まれる第２の領域であって、画素値が前記第１の値より大きい第２の値以下である複数の画素が連続する第２の領域とに基づき、前記第１の領域及び前記第２の領域の画素が連続する極値領域を前記画像から抽出する極値領域抽出部と、前記画像に含まれる領域の形状の文字らしさの度合いを判定する判定部とを備え、前記判定部は、前記画像から抽出した前記極値領域に外接する複数の矩形であって、前記画像の平面上で複数の角度だけ回転した前記複数の矩形の長辺と短辺とに基づき、前記極値領域の文字らしさの度合いを判定する。
【発明の効果】
【００１９】
開示の技術によれば、情景文字を高精度で抽出することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】非特許文献１に記載された従来の処理フローを説明する図である。
【図２】従来技術における増分的に計算可能な記述子の例について説明する図である。
【図３】本実施形態に係る画像処理装置の機能構成を示す機能ブロック図である。
【図４】画像処理装置の処理の一例を示すフローチャートである。
【図５】極値領域抽出処理の一例を示すフローチャートである。
【図６】回転境界矩形記述子の算出例を説明する図である。
【図７】回転アスペクト比特徴の計算例を説明する図である。
【図８】文字らしい極値領域１次抽出処理の一例を示すフローチャートである。
【図９】極値領域のツリー構造の例を示す図である。
【図１０】文字らしい極値領域２次抽出処理の一例を示すフローチャートである。
【図１１】子の極値領域に対する文字度合いの判定を省略する処理について説明する図である。
【図１２】立体文字が写った元画像の例を示す図である。
【図１３】立体側面除去処理の一例を示すフローチャートである。
【図１４】立体文字の側面である影部分を除去する処理を説明する図である。
【図１５】立体文字の側面である影部分を除去する処理を説明する図である。
【図１６】文字列らしい各極値領域１次抽出処理の一例を示すフローチャートである。
【図１７】文字列らしい各極値領域２次抽出処理の一例を示すフローチャートである。
【図１８】文字列らしい各極値領域２次抽出処理を説明する図である。
【図１９】第２の実施形態に係る文字列らしい各極値領域１次抽出処理の一例を示すフローチャートである。
【図２０】複数の角度の各々における同一の文字列を探索する処理について説明する図である。
【図２１】同一の文字列を探索する処理の一例を示すフローチャートである。
【図２２】同一の文字列を探索する処理について説明する図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら本発明の実施形態について説明する。
【００２２】
［第１の実施形態］
＜画像処理装置の機能構成＞
まず、本実施形態に係る画像処理装置の機能構成について、図を用いて説明する。図３は、本実施形態に係る画像処理装置の機能構成を示す機能ブロック図である。
【００２３】
画像処理装置１０は、画像取得部１１、極値領域抽出部１２、算出部１３、文字度合判定部１４、除去部１５、文字列領域検出部１６、推定部１７、検出部１８、記憶部１９、及び出力部２０を有する。
【００２４】
画像取得部１１は、文字が写っている画像（情景画像）のデータを取得する。画像取得部１１が取得する画像は、例えば、カメラやビデオカメラ等の撮像装置で撮影した画像でもよく、または予め蓄積されている画像でもよい。また、上述した撮像装置は、画像処理装置１０の内部に設けられていてもよく、外部に設けられていてもよい。また、上述した画像は、静止画でもよく、動画に含まれる画像フレームでもよい。
【００２５】
極値領域抽出部１２は、画像取得部１１が取得した画像から、画素値が第１の値以下である画素の連続したかたまりである第１の領域と、画素値が前記第１の値より大きい第２の値以下である画素の連続したかたまりである第２の領域を抽出する。そして、極値領域抽出部１２は、第１の領域及び第２の領域の画素の連続したかたまりである極値領域を抽出（生成）する。
【００２６】
算出部１３は、極値領域抽出部１２が抽出した第１の領域に外接する矩形であって、画像の平面上で所定の角度だけ回転した矩形が、当該第１の領域に外接する各位置の座標（第１の各座標）を算出する。
【００２７】
また、算出部１３は、極値領域抽出部１２が抽出した第２の領域に外接する矩形であって、画像の平面上で所定の角度だけ回転した矩形が、当該第２の領域に外接する各位置の座標（第２の各座標）を算出する。
【００２８】
そして、算出部１３は、第１の各座標及び第２の各座標とに基づき、極値領域抽出部１２が抽出した極値領域に外接する矩形であって、画像の平面上で所定の角度だけ回転した矩形のアスペクト比を算出する。
【００２９】
文字度合判定部１４は、領域の形状の文字らしさの度合いを判定する。
【００３０】
文字度合判定部１４は、極値領域の形状の文字らしさの度合いが所定の閾値以上であり、かつ、算出部１３が算出したアスペクト比が所定範囲内である場合に、第１の領域の形状の文字らしさの度合いの判定を省略する。
【００３１】
また、文字度合判定部１４は、極値領域の形状の文字らしさの度合いが所定の閾値以上であり、かつ、算出部１３が算出したアスペクト比が所定範囲内でない場合に、第１の領域の形状の文字らしさの度合いを判定する。
【００３２】
除去部１５は、極値領域のうち、立体文字の側面の領域を除去する。
【００３３】
文字列領域検出部１６は、複数の極値領域の高さ（大きさ）に基づき、画像取得部１１が取得した画像における文字列に含まれる各極値領域を検出する。
【００３４】
推定部１７は、文字列領域検出部１６が検出した各極値領域の位置及び大きさに基づき、前記文字列に含まれる各文字の位置及び大きさを推定する。
【００３５】
検出部１８は、推定部１７が推定した各文字の位置及び大きさに応じた範囲から、前記文字列に含まれる各文字に含まれる極値領域を検出する。
【００３６】
記憶部１９は、極値領域抽出部１２が検出した極値領域のデータ等を記憶する。
【００３７】
出力部２０は、検出部１８が検出した文字列らしい領域を出力する。なお、出力部２０は、ユーザに画像上で当該領域の位置を提示しても良いし、文字認識装置等に当該領域の形状のデータを出力してもよい。
【００３８】
＜処理＞
次に、図４を参照し、画像処理装置１０の処理の概要について説明する。図４は、画像処理装置１０の処理の一例を示すフローチャートである。
【００３９】
まず、ステップＳ１で、画像取得部１１は、画像を取得する。
【００４０】
続いて、ステップＳ２で、極値領域抽出部１２は、当該画像から極値領域を抽出する。
【００４１】
続いて、ステップＳ３で、文字度合判定部１４は、ステップＳ２で抽出した各極値領域について、文字らしいか否かを１次的に判定し、文字らしい各極値領域を抽出する。
【００４２】
続いて、ステップＳ４で、文字度合判定部１４は、ステップＳ３で抽出した各極値領域について、文字らしいか否かを２次的に判定し、文字らしい各極値領域を抽出する。
【００４３】
続いて、ステップＳ５で、文字列領域検出部１６は、ステップＳ４で抽出した各極値領域について、文字列らしいか否かを判定し、文字列らしい各極値領域を抽出する。
【００４４】
続いて、ステップＳ６で、検出部１８は、ステップＳ５で抽出した各極値領域について、文字列らしいか否かを比較的詳細に判定し、文字列らしい各極値領域を抽出する。なお、ステップＳ６では、ステップＳ５で取りこぼした、文字列らしい各極値領域を抽出する。
【００４５】
≪極値領域抽出処理≫
次に、図５を参照し、ステップＳ２の、画像から極値領域を抽出する処理について説明する。図５は、極値領域抽出処理の一例を示すフローチャートである。
【００４６】
まず、ステップＳ１０１で、極値領域抽出部１２は、抽出対象とする画素値を最小値（例えば０）とし、作業用バッファに記憶されている情報を削除（empty）とする。
【００４７】
続いて、ステップＳ１０２で、極値領域抽出部１２は、抽出対象とする画素値である全ての連結成分を抽出する。
【００４８】
続いて、ステップＳ１０３で、極値領域抽出部１２は、抽出した各連結成分のうちの一つの連結成分を処理対象に選択する。
【００４９】
続いて、ステップＳ１０４で、極値領域抽出部１２の特徴算出部１２１は、処理対象の連結成分に対する回転境界矩形記述子を算出する。なお、回転境界矩形記述子の算出方法については後述する。なお、ここで、回転境界矩形記述子のみならず、従来の面積記述子等のＩＣ記述子も算出してもよい。
【００５０】
続いて、ステップＳ１０５で、極値領域抽出部１２は、処理対象の連結成分に隣接する１以上の極値領域に対する参照が作業用バッファに記憶されているか判定する。
【００５１】
処理対象の連結成分に隣接する極値領域に対する参照が作業用バッファに記憶されていなければ（Ｓ１０５：ＮＯ）、ステップＳ１０６で、処理対象の連結成分を新規の極値領域として極値領域記憶バッファに記憶し、当該新規の極値領域に対する参照を作業用バッファに記憶し、後述するステップＳ１１２の処理に進む。
【００５２】
処理対象の連結成分に隣接する極値領域に対する参照が作業用バッファに記憶されていれば（Ｓ１０５：ＹＥＳ）、ステップＳ１０７で、極値領域抽出部１２は、処理対象の連結成分に隣接する各極値領域に対する参照を、作業用バッファから削除する。
【００５３】
ステップＳ１０８で、極値領域抽出部１２は、処理対象の連結成分に隣接する各極値領域と、処理対象の連結成分とを連結して、新規の極値領域とする。
【００５４】
続いて、ステップＳ１０９で、極値領域抽出部１２の特徴算出部１２１は、当該新規の極値領域に対する回転境界矩形記述子を算出する。
【００５５】
続いて、ステップＳ１１０で、極値領域抽出部１２は、当該新規の極値領域を、処理対象の連結成分に隣接する各極値領域の親として極値領域記憶バッファに保存する。
【００５６】
続いて、ステップＳ１１１で、極値領域抽出部１２は、当該新規の極値領域に対する参照を作業用バッファに記憶する。
【００５７】
続いて、ステップＳ１１２で、極値領域抽出部１２は、ステップＳ１０２で抽出した各連結成分のうち、処理対象として未選択の連結成分があるか否か判定する。
【００５８】
処理対象として未選択の連結成分があれば（Ｓ１１２：ＹＥＳ）、ステップＳ１１３で、未選択の連結成分を処理対象に選択し、ステップＳ１０４の処理に進む。
【００５９】
処理対象として未選択の連結成分がなければ（Ｓ１１２：ＮＯ）、ステップＳ１１４で、極値領域抽出部１２は、抽出対象とする画素値の値を１つ増加させる。
【００６０】
続いて、ステップＳ１１５で、極値領域抽出部１２は、抽出対象とする画素値の値が最大値（例えば２５５）を超えたか否か判定する。
【００６１】
抽出対象とする画素値の値が最大値を超えていない場合（Ｓ１１５：ＮＯ）、ステップＳ１０２の処理に進む。
【００６２】
抽出対象とする画素値の値が最大値を超えている場合（Ｓ１１５：ＹＥＳ）、処理を終了する。
【００６３】
上記では、例えば黒い文字を抽出するため、抽出対象とする画素値の初期値を最小値として、初期値から１ずつ増加させていくことにより、背景よりも色の濃い連結成分を網羅的に取得する処理について説明した。
【００６４】
一方、例えば白い文字も抽出するため、抽出対象とする画素値の初期値を最大値として、初期値から１ずつ減少させていくことにより、背景よりも色の薄い連結成分も網羅的に取得してもよい。
【００６５】
≪回転境界矩形記述子算出処理≫
次に、ステップＳ１０４、ステップＳ１０９における回転境界矩形記述子を算出する処理について説明する。
【００６６】
特徴算出部１２１は、dmin、dmax、d−min、d−minの４つの値を有する回転境界矩形記述子を算出する。
【００６７】
極値領域Ｐに含まれる各画素をpi、piの座標をxi、yi、入力画像の高さ（x方向の長さ）をhとすると、dmin、dmax、d−min、d−minは、それぞれ以下の式により算出する。
【００６８】
【数２】
2017211976.tif 000004
【００６９】
【数３】
2017211976.tif 000005
【００７０】
【数４】
2017211976.tif 000006
【００７１】
【数５】
2017211976.tif 000007
ここで、求めたい回転境界矩形記述子の回転角度をθとした場合、c=tan(θ)である。
【００７２】
図６は、回転境界矩形記述子の算出例を説明する図である。図６では、回転境界矩形記述子の回転角度を４５度とした場合の算出例を示す。図６のような座標系にて回転境界矩形記述子を求める場合、dmin、dmax、d−min、d−minを算出することは、それぞれ、最も左上、最も右下、最も左下、最も右上にくる画素を求めることに等しい。
【００７３】
また、ある画素値がv=0〜t(t=i)であるような極値領域pの回転境界矩形記述子を計算する際、その極値領域内に、v=0〜t(t<i)である極値領域cが含まれている場合、極値領域cと重なる画素に関しては新たに計算せずに、計算済みの極値領域cの記述子と、極値領域c以外の領域の画素との計算を行うだけでよい。したがって、抽出した全極値領域のdmin、dmax、d−min、d−minを求めるための計算コストは、画素数Ｎに対してＮオーダ（O(N)）となる。
【００７４】
この回転境界矩形記述子から求まる特徴として、次式で算出できる回転アスペクト比特徴（rotated_aspect）について説明する。
【００７５】
【数６】
2017211976.tif 000008
ここで、式（６）が４５度回転したときのアスペクト比となる場合について説明する。まずdmin、dmax、d−min、d−minより、極値領域を右に４５度回転させた場合の、境界矩形の縦と横の長さについて検討する。ここで、境界矩形とは、対象とする領域に外接する矩形であり、例えば、当該領域を囲い、かつ面積が最少となる矩形のことをいう。dmin、dmaxは、極値領域の構成画素のx+yの最小、最大値である。すなわち、極値領域の画素を貫くx+y=nとなる直線のうち、原点に最も近い直線と、最も遠い直線のnの値を表している。したがって、右に４５度回転した境界矩形の上側の辺は直線x+y= dmin、下側の辺は直線x+y= dmaxと重なる。すなわち、この2つの直線間の距離が４５度回転したときの境界矩形の高さとなる。
【００７６】
ここで、点(xi, yi)と直線ax+by+c = 0の距離を求める以下の式を用いる。
【００７７】
【数７】
2017211976.tif 000009
それにより、例えば式（７）に、点を(0, dmax)、直線をx+y- dmin = 0として代入と、以下が求まる。
【００７８】
【数８】
2017211976.tif 000010
ここで、dmaxは常にdminより大きいため、式（７）は以下に変形できる。
【００７９】
【数９】
2017211976.tif 000011
そして、これが４５度回転したときの境界矩形の高さである。
【００８０】
また、d−min、d−minについても同様に考えると、４５度回転したときの回転境界矩形の横幅は以下となる。
【００８１】
【数１０】
2017211976.tif 000012
よって、以下の式より式（６）が求まる。また、４５度以外の角度に回転したときの回転境界矩形に関しても、同様に式（６）で求めることができる。
【００８２】
【数１１】
2017211976.tif 000013
図７は、回転アスペクト比特徴の計算例を説明する図である。図７では、式（６）より求まる４５度回転アスペクト比特徴の計算例を示す。図７（Ａ）で示すように、伸長度の低い正方形に近い輪郭形状をもつ領域は、従来のアスペクト比と４５度回転アスペクト比のどちらも、おおよそ１に近い値が得られる。
【００８３】
一方、図７（Ｂ）で示すように、伸長度の高い細長い輪郭形状をもつ領域が斜めになっている場合、従来のアスペクト比はおおよそ１に近い値になるが、４５度回転アスペクト比は約０．５３程度となり、従来のアスペクト比と４５度回転アスペクト比の間に大きな違い（差）がでる。
【００８４】
このように、従来のアスペクト比と４５度回転したときの回転アスペクト比との差を見ることで、極値領域の輪郭形状のおおよその伸長度を推定することができる。なお、回転角度として４５度の場合だけでなく、複数の角度の回転アスペクト比を併用すれば、伸長度の推定精度は向上する。文字列検出においては、例えば２２．５度や１５度刻み程度の回転アスペクト比を求める場合でも一定の精度で文字検出ができる。なお、２２．５度刻みとする場合は、２２．５度回転アスペクト比、４５度回転アスペクト比、６７．５度回転アスペクト比の３つを求めることになる。また、１５度刻みとする場合は、１５度回転アスペクト比、３０度回転アスペクト比、４５度回転アスペクト比、６０度回転アスペクト比、７５度回転アスペクト比の５つを求めることになる。
【００８５】
なお、回転アスペクト比特徴の値を扱いやすくするために、例えば次式により、回転アスペクト比特徴が常に１以下の値になるようにしてもよい。
【００８６】
【数１２】
2017211976.tif 000014
≪文字らしい極値領域１次抽出処理≫
次に、図８を参照し、ステップＳ３の、文字らしいか否かを１次的に判定し、文字らしい各極値領域を抽出する処理について説明する。図８は、文字らしい極値領域１次抽出処理の一例を示すフローチャートである。
【００８７】
まず、この段階においては、極値領域記憶バッファに保存された各極値領域の数が比較的多いため、計算コストの高い特徴量を各極値領域に対して算出すると非常に時間がかかる。そこで、計算コストの低いＩＣ記述子を用いた特徴量を各極値領域に対して算出し、算出した特徴量から明らかに文字ではないと推定される極値領域をツリーから削除する。なお、ここで用いる特徴量を用いた文字度合いの判定については、機械学習を用いてあらかじめ訓練しておいたものを用いてもよいし、各特徴について固定の閾値を手動で定めた判定ルールを作るなどしてもよい。
【００８８】
ステップＳ２０１で、文字度合判定部１４は、極値領域抽出部１２が極値領域を抽出し、極値領域記憶バッファに保存した複数の極値領域から、一の極値領域を処理対象に選択する。
【００８９】
続いて、ステップＳ２０２で、文字度合判定部１４は、処理対象の極値領域の回転境界矩形記述子を含むＩＣ記述子から、１次特徴量を算出する。これにより、従来技術と比較して、１次抽出に用いる特徴量を一つ増やせるため、１次抽出の性能が向上する。
【００９０】
続いて、ステップＳ２０３で、文字度合判定部１４は、算出した１次特徴量に基づき、処理対象の極値領域の文字らしさの度合い（文字度合い）を算出する。
【００９１】
続いて、ステップＳ２０４で、文字度合判定部１４は、算出した文字度合いが、所定の閾値より大きいか否かを判定する。
【００９２】
算出した文字度合いが、所定の閾値より大きくない場合（Ｓ２０４：ＮＯ）、ステップＳ２０７の処理に進む。
【００９３】
算出した文字度合いが、所定の閾値より大きい場合（Ｓ２０４：ＹＥＳ）、ステップＳ２０５で、文字度合判定部１４は、処理対象の極値領域と、処理対象の極値領域の親の極値領域との類似度が所定の閾値以上であるか判定する。なお、類似度は、親の極値領域のＩＣ記述子の値と、子の極値領域のＩＣ記述子の値との類似度を用いて算出してもよい。
【００９４】
親の極値領域との類似度が所定の閾値以上でなければ（Ｓ２０５：ＮＯ）、ステップＳ２０８の処理に進む。
【００９５】
親の極値領域との類似度が所定の閾値以上であれば（Ｓ２０５：ＹＥＳ）、ステップＳ２０６で、文字度合判定部１４は、親の極値領域の文字度合いが、処理対象の極値領域の文字度合いより大きいか判定する。
【００９６】
親の極値領域の文字度合いが、処理対象の極値領域の文字度合いより大きい場合（Ｓ２０６：ＹＥＳ）、ステップＳ２０７で、処理対象の極値領域を極値領域記憶バッファから削除する。
【００９７】
親の極値領域の文字度合いが、処理対象の極値領域の文字度合いより大きくない場合（Ｓ２０６：ＮＯ）、ステップＳ２０８で、文字度合判定部１４は、極値領域記憶バッファに保存された各極値領域のうち、未選択の極値領域があるか否かを判定する。
【００９８】
未選択の極値領域があれば（Ｓ２０８：ＹＥＳ）、ステップＳ２０９で、未選択の極値領域を処理対象に選択し、ステップＳ２０２の処理に進む。
【００９９】
未選択の極値領域がなければ（Ｓ２０８：ＮＯ）、処理を終了する。
【０１００】
それにより、文字度合いが低い極値領域を、極値領域のツリーから削除できる。また、類似する極値領域の親子があった場合、文字度合いが低い方を極値領域のツリーから削除できる。
【０１０１】
上述した極値領域抽出処理により、極値領域記憶バッファには、各極値領域が、親の極値領域に関連付けられて記憶される。そして、文字らしい極値領域１次抽出処理で、親の極値領域に関連付けられた各極値領域に基づいて、極値領域記憶バッファから、文字度合いが低く、ＩＣ記述子の値が近いものを削除する。図９は、このときの、極値領域記憶バッファに記憶されている各極値領域と、親の極値領域との関連付けを示す極値領域のツリー構造の例を示す図である。
【０１０２】
≪文字らしい極値領域２次抽出処理≫
次に、図１０を参照し、ステップＳ４の、文字らしいか否かを２次的に判定し、文字らしい各極値領域を抽出する処理について説明する。図１０は、文字らしい極値領域２次抽出処理の一例を示すフローチャートである。
【０１０３】
ステップＳ３０１で、文字度合判定部１４は、まず、作業用バッファに記憶している情報を削除（empty）する。
【０１０４】
続いて、ステップＳ３０２で、文字度合判定部１４は、上述した文字らしい極値領域１次抽出処理により抽出された極値領域が記憶されている極値領域記憶バッファの中から、親の極値領域が対応付けられて記憶されていない全ての極値領域を作業用バッファに格納する。なお、親の極値領域が対応付けられて記憶されていない極値領域とは、図９のツリー図における最も上位（root）の各極値領域５０１である。
【０１０５】
続いて、ステップＳ３０３で、文字度合判定部１４は、作業用バッファに格納されている複数の極値領域のうち、一の極値領域を処理対象に選択する。
【０１０６】
続いて、ステップＳ３０４で、文字度合判定部１４は、処理対象の極値領域に対する参照を、作業用バッファから削除する。
【０１０７】
続いて、ステップＳ３０５で、文字度合判定部１４は、処理対象の極値領域の文字度合いを算出する。なお、ステップＳ３０５では、上述したステップＳ２０３の処理の際よりも、算出にコストがかかる特徴量を用いてもよい。例えば、従来技術と同様に、ホール・エリア率特徴、凸包率特徴、外周上の変曲点数特徴を用いる。なお、これに加えて、回転境界矩形記述子を含むＩＣ記述子も用いてもよい。これにより、上述した文字らしい極値領域１次抽出処理により、一定程度絞られた数の極値領域のみに対して算出にコストがかかる特徴量を用いた文字度合いを算出する処理を行う。
【０１０８】
続いて、ステップＳ３０６で、文字度合判定部１４は、算出した文字度合いが、所定の閾値より大きいか否かを判定する。
【０１０９】
算出した文字度合いが、所定の閾値より大きくない場合（Ｓ３０６：ＮＯ）、ステップＳ３０７で、後述する立体側面除去処理を行う。
【０１１０】
続いて、ステップＳ３０８で、文字度合判定部１４は、立体側面除去処理を行った後の極値領域を処理対象の極値領域とし、処理対象の極値領域の文字度合いを算出する。なおこの処理は、ステップＳ３０５の処理と同様でもよい。
【０１１１】
続いて、ステップＳ３０９で、文字度合判定部１４は、算出した文字度合いが、所定の閾値より大きいか否かを判定する。なお、この処理は、ステップＳ３０６の処理と同様でもよい。
【０１１２】
算出した文字度合いが、所定の閾値より大きい場合（Ｓ３０９：ＹＥＳ）、後述するステップＳ３１０の処理に進む。
【０１１３】
算出した文字度合いが、所定の閾値より大きくない場合（Ｓ３０９：ＮＯ）、後述するステップＳ３１３の処理に進む。
【０１１４】
ステップＳ３０６で算出した文字度合いが、所定の閾値より大きい場合（Ｓ３０６：ＹＥＳ）、ステップＳ３１０で、文字度合判定部１４は、処理対象の極値領域の形状が細長い（伸長度が大きい）か否か、を判定する。なお、処理対象の極値領域の形状が細長いか否かの判定処理については後述する。
【０１１５】
処理対象の極値領域が細長くない場合（Ｓ３１０：ＮＯ）、ステップＳ３１１で、文字度合判定部１４は、処理対象の極値領域に対する参照を第１のリストに追加し、後述するステップＳ３１４の処理に進む。これにより、第１のリストには、文字らしい極値領域が格納される。
【０１１６】
処理対象の極値領域が細長い場合（Ｓ３１０：ＹＥＳ）、ステップＳ３１２で、文字度合判定部１４は、処理対象の極値領域を第２のリストに追加する。これにより、第２のリストには、文字らしく、かつ細長い形状の極値領域が格納される。
【０１１７】
続いて、ステップＳ３１３で、文字度合判定部１４は、処理対象の極値領域の子の極値領域を作業用バッファに追加する。
【０１１８】
続いて、ステップＳ３１４で、文字度合判定部１４は、未選択の極値領域が作業用バッファにあるか否かを判定する。
【０１１９】
未選択の極値領域が作業用バッファにあれば（Ｓ３１４：ＹＥＳ）、ステップＳ３１５で、未選択の極値領域を処理対象に選択し、ステップＳ３０４の処理に進む。
【０１２０】
未選択の極値領域が作業用バッファになければ（Ｓ３１５：ＮＯ）、処理を終了する。
【０１２１】
これにより、極値領域記憶バッファにツリー構造で記憶されている各極値領域について、ツリーの親から順に文字度合いを判定し、文字度合いが高い極値領域については、当該極値領域の子の極値領域に対する文字度合いの判定処理を省略する。なぜなら、文字度合いが高い極値領域の子の極値領域は、文字の一部しか含まれていないと想定できるためである。
【０１２２】
また、その際、細長い極値領域については、当該極値領域の子の極値領域に対する文字度合いの判定処理を省略しないことにより、複数の文字が繋がった極値領域の誤判定を防ぐことができる。
【０１２３】
図１１を参照し、子の極値領域に対する文字度合いの判定処理を省略する例を示す。図１１は、子の極値領域に対する文字度合いの判定を省略する処理について説明する図である。図１１に示すように、文字度合いと、極値領域が細長いか否かの判定とを用いることで、複数の文字が繋がった領域の誤検出を防止しながら、一文字分の領域の検出と、判定処理の省略を行える。
【０１２４】
≪立体側面除去処理≫
次に、図１２乃至図１５を参照し、ステップＳ３０７の、立体側面除去処理について説明する。図１２は、立体文字が写った元画像の例を示す図である。非特許文献１記載の従来技術では、連結成分の画素に近接するすべての背景の画素が連結成分の色に比べて濃い、または薄い領域しか抽出することができない。
【０１２５】
そのため、例えば図１２のように、白い壁に、黒い文字のオブジェクトが立体的に映っている場合、文字の背景（壁面）の色は文字色より薄いが、浮き出た文字の影部分（立体文字の側面）は文字色より濃くなる。この場合、連結成分を抽出する際の画素値ｖの初期値を最小値（ｖ＝０）とすると、立体文字の影部分が比較的初期の段階で抽出される。このため、得られる極値領域のうち、立体文字を含むものには、必ず立体文字の影部分が含まれてしまう。
【０１２６】
一方、連結成分を抽出する際の画素値ｖの初期値を最大値（ｖ＝２５５）とすると、文字の背景部分（壁面）が比較的初期の段階で抽出される。このため、得られる極値領域のうち、立体文字を含むものには、必ず立体文字の背景部分が含まれてしまう。
【０１２７】
このように立体文字が、影部分または背景部分と分離されていないため、例えば、検出した極値領域の形状に基づいて文字認識しようとした場合に、正しく文字認識できない場合いがある。
【０１２８】
そこで、除去部１５は、以下の立体側面除去処理を行う。図１３は、立体側面除去処理の一例を示すフローチャートである。
【０１２９】
ステップＳ３０７−１で、除去部１５は、処理対象の極値領域に含まれる複数の画素（処理対象の極値領域を構成する複数の画素）を、画素値に応じて、複数のグループに分割する。例えば、除去部１５は、処理対象の極値領域に含まれる複数の画素のヒストグラムを分析し、グループ内偏差が小さく、グループ間の画素値（例えば各グループの画素の平均値）の差が大きくなるような閾値で、画素値に応じて複数のグループに分割する。なお、グループの数は、２つに限らない。例えば３つ以上に分割してもよい。
【０１３０】
続いて、ステップＳ３０７−２で、除去部１５は、分離したグループ（成分）のうち、立体文字の影部分を含むグループを除去する。
【０１３１】
ここで、連結成分を抽出する際の画素値ｖの初期値を最小値（ｖ＝０）として処理対象の極値領域を抽出した場合は、まず、画素値の低いグループを除去する。なぜなら、画素値の高いグループを除去することで得られる極値領域は、連結成分を抽出する際に比較的初期の段階ですでに得られているためである。
【０１３２】
連結成分を抽出する際の画素値ｖの初期値を最大値（ｖ＝２５５）として処理対象の極値領域を抽出した場合は、画素値の高いグループを除去する。
【０１３３】
図１４は、立体文字の側面である影部分を除去する処理を説明する図である。図１４では、処理対象の極値領域に含まれる複数の画素の値を横軸、画素の数を縦軸としたヒストグラムの例を示している。除去部１５は、処理対象の極値領域に含まれる複数の画素を、影部分５１１と、文字形状を示す部分５１２とに分離し、影部分５１１の画素を、処理対象の極値領域から除去する。
【０１３４】
図１５は、立体文字の側面である影部分を除去する処理を説明する図である。図１５（Ａ）は、白い壁に、「い」の文字の立体的なオブジェクトが付加されている場合の元画像の例である。図１５（Ｂ）は、元画像から抽出された、処理対象の極値領域の例である。図１５（Ｃ）は、処理対象の極値領域に含まれる複数の画素が、画素値に応じて、複数のグループ５１１、５１２に分割された際の例である。図１５（Ｄ）は、立体文字の影部分５１１を含むグループを除去された後の極値領域の例である。
【０１３５】
なお、ステップＳ３０７−１の処理において、３つ以上のグループに分割した場合は、最も画素値の低い（または高い）グループを１つ削除した極値領域、または画素値の低い（または高い）順にグループを２つ削除した極値領域、というように、複数の極値領域を抽出してもよい。
【０１３６】
なお、処理対象の極値領域の形状から、明らかに文字を内包していないと判断できる場合には、立体側面除去処理を省略してもよい。
【０１３７】
≪立体側面除去処理の変形例≫
連結成分を分離してから除去する代わりに、処理対象の極値領域から、当該処理対象の極値領域を抽出した際とは逆の順で、極値領域を抽出してもよい。例えば、画素値ｖの初期値を最小値（ｖ＝０）として処理対象の極値領域を抽出した場合は、処理対象の極値領域に含まれる各画素について、画素値ｖの初期値を最大値（ｖ＝２５５）として極値領域を行う。
【０１３８】
この場合、ステップＳ３０８、ステップＳ３０９の代わりに、当該処理対象の極値領域を抽出した際とは逆の順で抽出した各極値領域のツリー構造のデータに対し、上述した文字らしい極値領域１次抽出処理を行う。そして、それにより抽出された領域を当該処理対象の極値領域の子の極値領域とし、ステップＳ３１３の処理に進むようにする。
【０１３９】
≪伸長度（細長いか）の判定処理≫
次に、ステップＳ３１０の、極値領域が細長いか否かを判定する処理について説明する。
【０１４０】
複数の文字が隣接している場合、それらの文字が繋がった極値領域がツリーに含まれることがある。このような領域は、文字らしい特徴を多く含んでいるため高い確度で文字らしいと判定されることがある。そのため、文字毎の極値領域を検出したい場合、アスペクト比が１に近くない場合、すなわち領域の形状が細長い極値領域の場合は、その子の極値領域（下位領域）の判定を省略しないようにする。
【０１４１】
カメラまたは被写体が垂直でない状態で撮影された等の場合、回転した漢字や仮名等の文字が画像に含まれ、複数の文字が繋がった極値領域であるにもかかわらずアスペクト比が１に近くなる場合がある。そこで、上述した回転アスペクト比特徴を用いることで、複数の文字が繋がって回転している極値領域については、細長いと判定することができる。
【０１４２】
例えば、アスペクト比、及び全ての回転アスペクト比がともに0.8〜1.2の範囲に収まる場合に、細長くないと判定してもよい。
【０１４３】
≪文字列らしい各極値領域１次抽出処理≫
次に、図１６を参照し、ステップＳ５の、文字列らしいか否かを判定し、文字列らしい各極値領域を抽出する処理について説明する。図１６は、文字列らしい各極値領域１次抽出処理の一例を示すフローチャートである。
【０１４４】
ステップＳ４０１で、文字列領域検出部１６は、作業用バッファに記憶されている情報を削除（empty）する。
【０１４５】
続いて、ステップＳ４０２で、文字列領域検出部１６は、上述した第１のリスト及び第２のリストに格納されている複数の極値領域のうち、一の極値領域ERiを処理対象に選択する。なお、ステップＳ４０２においては、第１のリストのみを用いてもよい。ステップＳ４０２において第１のリスト及び第２のリストの両方を用いる場合、情景文字を抽出する精度は比較的高くなるものの、処理時間は比較的長くなる。ステップＳ４０２において第１のリストのみを用いる場合、処理時間は比較的速くなるものの、情景文字を抽出する精度は比較的低下する。
【０１４６】
具体的には、ステップＳ４０２において第１のリストのみを用いる場合、第１のリストには、細長い形状の極値領域が含まれていないため、例えば、「ｉｉｊ」や「いに」等の細長い形状の極値領域のみで構成される文字列が検出できない。しかし、日本語の情景文字においてそのような文字列は実際にはほぼ存在しないため、実際上は問題ないと考えられる。なお、英語や中国語等においても同様であると考えられる。なお、文字列に１文字でも、細長くない形状の極値領域が含まれていれば、後述するステップＳ４０４乃至ステップＳ４０５の処理により、当該極値領域の周辺に位置する細長い各極値領域を第２のリストから検出できるため、情景文字を抽出する精度は低下しない。
【０１４７】
続いて、ステップＳ４０３で、文字列領域検出部１６は、処理対象の極値領域を要素にもつ配列ERlineiを作成する。
【０１４８】
続いて、ステップＳ４０４で、文字列領域検出部１６は、第１のリスト及び第２のリストに格納されている各極値領域のうち、他の極値領域ERjを処理対象に選択する。
【０１４９】
続いて、ステップＳ４０５で、文字列領域検出部１６は、他の極値領域ERjが、配列ERlineiの要素のいずれかと同じ文字列らしいか否かを判定する。
【０１５０】
なお、文字列領域検出部１６は、例えば、位置座標上の間の距離が所定の閾値以下であって、各極値領域の位置が近い場合に、２つの極値領域が同じ文字列らしいと判定する。
また、文字列領域検出部１６は、各極値領域の高さが近い場合にも、２つの極値領域が同じ文字列らしいと判定する。なお、この場合には、各極値領域の高さとして、上述した回転境界矩形記述子により算出した、各極値領域の斜め方向の高さを用いてもよい。さらに、文字列領域検出部１６は、各極値領域の色（画素値）が近い場合にも、２つの極値領域が同じ文字列らしいと判定する。
【０１５１】
他の極値領域ERjが、配列ERlineiの要素のいずれかと同じ文字列らしくない場合（Ｓ４０５：ＮＯ）、後述するステップＳ４０７の処理に進む。
【０１５２】
他の極値領域ERjが、配列ERlineiの要素のいずれかと同じ文字列らしい場合（Ｓ４０５：ＹＥＳ）、ステップＳ４０６で、文字列領域検出部１６は、他の極値領域ERjを、配列ERlineiの要素として格納する。
【０１５３】
続いて、ステップＳ４０７で、文字列領域検出部１６は、第１のリスト及び第２のリストに格納されている各極値領域のうち、未選択の他の極値領域ERjがあるか否かを判定する。
【０１５４】
未選択の他の極値領域ERjがあれば（Ｓ４０７：ＹＥＳ）、ステップＳ４０８で、文字列領域検出部１６は、未選択の他の極値領域ERjを処理対象に選択し、ステップＳ４０５の処理に進む。
【０１５５】
未選択の他の極値領域ERjがなければ（Ｓ４０７：ＮＯ）、文字列領域検出部１６は、ステップＳ４０９で、配列ERlineiの要素の数が、所定数（例えば３）以上であるか判定する。
【０１５６】
配列ERlineiの要素の数が、所定数以上でなければ（Ｓ４０９：ＮＯ）、ステップＳ４１０で、文字列領域検出部１６は、配列ERlineiを破棄し、後述するステップＳ４１２の処理に進む。
【０１５７】
配列ERlineiの要素の数が、所定数以上であれば（Ｓ４０９：ＹＥＳ）、ステップＳ４１１で、文字列領域検出部１６は、配列ERlineiを配列リストに格納する。
【０１５８】
続いて、ステップＳ４１２で、文字列領域検出部１６は、第１のリスト及び第２のリストに格納されている各極値領域のうち、未選択の一の極値領域ERiがあるか否かを判定する。
【０１５９】
未選択の一の極値領域ERiがあれば（Ｓ４１２：ＹＥＳ）、ステップＳ４１３で、文字列領域検出部１６は、未選択の一の極値領域ERiを処理対象に選択し、ステップＳ４０３の処理に進む。
【０１６０】
未選択の一の極値領域ERiがなければ（Ｓ４１２：ＮＯ）、文字列領域検出部１６は、処理を終了する。
【０１６１】
≪文字列らしい各極値領域２次抽出処理（射影歪み対応）≫
次に、図１７を参照し、ステップＳ６の、文字列らしいか否かを比較的詳細に判定し、文字列らしい各極値領域を抽出する処理について説明する。図１７は、文字列らしい各極値領域２次抽出処理の一例を示すフローチャートである。
【０１６２】
例えば収録済みのニュース素材の動画に含まれる画像から情景文字を検出する場合、裁判所名等を表示する看板が、斜めのアングルから撮影されている場合等がある。この場合、カメラから見て手前側の文字は大きく写り、奥側の文字は小さく写るという射影歪みが生じる。そのため、一の文字列に含まれる各文字の大きさは同程度であるという前提で文字列を検出すると、奥側の小さく写った文字の極値領域や、文字の一部である極値領域を検出できない場合があるという問題がある。そこで、本実施形態では、以下の処理により、このような射影歪みが生じている文字列において、当該文字列に含まれる各文字の位置及び大きさに基づいて、当該文字列を構成する極値領域の探し直しを行う。
【０１６３】
ステップＳ５０１で、推定部１７は、上述した配列リストに格納されている各配列のうち、一の配列ERlineiを処理対象に選択する。
【０１６４】
続いて、ステップＳ５０２で、推定部１７は、処理対象の配列ERlineiの要素である各極値領域のうち、文字列の基準となる複数の極値領域を選択する。なお、この処理の詳細は後述する。
【０１６５】
続いて、ステップＳ５０３で、推定部１７は、基準となる複数の極値領域に近接する２つの直線を算出する。
【０１６６】
続いて、ステップＳ５０４で、推定部１７は、上述した第１のリスト及び第２のリストに格納されている各極値領域のうち、配列リストに格納されている各配列の要素でない極値領域を処理対象として選択する。
【０１６７】
続いて、ステップＳ５０５で、推定部１７は、処理対象の極値領域が、ステップＳ５０３で算出した２つの直線の間に位置するか否かを判定する。
【０１６８】
処理対象の極値領域が、ステップＳ５０３で算出した２つの直線の間に位置しなければ（Ｓ５０５：ＮＯ）、後述するステップＳ５０８の処理に進む。
【０１６９】
処理対象の極値領域が、ステップＳ５０３で算出した２つの直線の間に位置すれば（Ｓ５０５：ＹＥＳ）、ステップＳ５０６で、検出部１８は、処理対象の極値領域が、処理対象の配列ERlineiの要素のいずれかの極値領域と色や位置等が近いか否かを判定する。
【０１７０】
処理対象の極値領域が、処理対象の配列ERlineiの要素のいずれかの極値領域と色や位置等が近くなければ（Ｓ５０６：ＮＯ）、後述するステップＳ５０８の処理に進む。
【０１７１】
処理対象の極値領域が、処理対象の配列ERlineiの要素のいずれかの極値領域と色や位置等が近ければ（Ｓ５０６：ＹＥＳ）、ステップＳ５０７で、検出部１８は、処理対象の極値領域を、処理対象の配列ERlineiの要素として格納する。
【０１７２】
なお、上述したステップＳ４０５では、例えば各極値領域の高さが近いかを判定するが、ステップＳ５０６では、２つの直線の間に位置すれば、高さが近いかについては判定しない。それにより、他の極値領域と比較して極めて小さい極値領域も、処理対象の配列ERlineiの要素として格納される。
【０１７３】
続いて、ステップＳ５０８で、推定部１７は、第１のリスト及び第２のリストに格納されている各極値領域であって、配列リストに格納されている各配列のうちのいずれの配列の要素でもない極値領域のうち、処理対象として未選択の極値領域があるか否か判定する。
【０１７４】
処理対象として未選択の極値領域があれば（Ｓ５０８：ＹＥＳ）、ステップＳ５０９で、推定部１７は、当該未選択の極値領域を処理対象として選択し、ステップＳ５０３の処理に進む。
【０１７５】
処理対象として未選択の極値領域がなければ（Ｓ５０８：ＮＯ）、ステップＳ５１０で、推定部１７は、配列リストに格納されている各配列のうち、処理対象として未選択の配列ERlineiがあるか否か判定する。
【０１７６】
処理対象として未選択の配列ERlineiがあれば（Ｓ５１０：ＹＥＳ）、ステップＳ５１１で、未選択の配列ERlineiを処理対象に選択し、ステップＳ５０２の処理に進む。
【０１７７】
処理対象として未選択の配列ERlineiがなければ（Ｓ５１０：ＮＯ）、推定部１７は、処理を終了する。
【０１７８】
図１８は、文字列らしい各極値領域２次抽出処理を説明する図である。図１８（Ａ）は、情景文字が、手前側の文字が大きく写り、奥側の文字が小さく写る、射影歪みを受けた元画像の例を示す図である。
【０１７９】
図１８（Ｂ）は、上述した文字らしい極値領域２次抽出処理により元画像から抽出された極値領域の例を示す図である。
【０１８０】
図１８（Ｃ）は、上述した文字列らしい各極値領域１次抽出処理により抽出された極値領域の例を示す図である。図１８（Ｂ）と比較し、図１８（Ｃ）は、文字の一部が抽出されなくなっている。
【０１８１】
図１８（Ｄ）は、文字列に含まれる各極値領域の高さ（大きさ）を算出する例を示す図である。例えば、文字列に含まれる各極値領域の半径または直径が、文字列に含まれる各極値領域の高さ（大きさ）とされる。
【０１８２】
図１８（Ｅ）は、ステップＳ５０２で、文字列の基準となる複数の極値領域を選択された際の例を示す図である。図１８（Ｅ）において円５２１、５２２、５２３が外接する極値領域が、文字列の基準として選択される。
【０１８３】
図１８（Ｆ）は、文字列の基準を基に、文字列に含まれる各文字の位置及び大きさを推定する際の例を示す図である。図１８（Ｆ）において、円５２１、５２２、５２３に近接する２つの直線５２４、５２５に挟まれる範囲が、文字列に含まれる各文字の位置及び大きさと推定される。なお、推定部１７は、文字列の基準となる複数の極値領域の位置と大きさの変化に基づき、文字列を構成する各文字の位置と大きさを推定してもよい。そして、検出部１８は、推定された各文字の位置と大きさに基づく範囲に、各文字の極値領域と色などの特徴が近い極値領域がある場合は、当該特徴が近い極値領域を、各文字を構成する極値領域として検出する。
【０１８４】
推定部１７は、文字列領域検出部１６により検出された文字列を左右に１文字分ずつ延長した箇所における文字の位置と大きさを推定してもよい。そして、検出部１８により、延長した箇所に新たな文字らしい極値領域が検出された場合は、新たな文字が検出されなくなる箇所まで、文字の位置と大きさを推定する箇所を繰り返し延長してもよい。
【０１８５】
図１８（Ｇ）は、推定された位置及び大きさから、文字列に含まれる各文字の極値領域が抽出された例を示す図である。
【０１８６】
≪文字列の基準となる複数の極値領域を選択する処理≫
次に、ステップＳ５０２の、処理対象の配列ERlineiの要素である各極値領域のうち、文字列の基準となる複数の極値領域を選択する処理について説明する。
【０１８７】
推定部１７は、処理対象の配列ERlineiの要素である各極値領域のうち、高さ（大きさ）が当該各極値領域の平均より高い（大きい）極値領域を、基準となる極値領域として選択する。これにより、処理対象の配列ERlineiの要素に、文字の小さな一部を構成する極値領域が含まれていた場合でも、文字列の基準を正しく選択できる。なお、高さが当該各極値領域の平均より高い極値領域が複数存在しない場合は、例えば、１番目と２番目に高い極値領域を、基準となる極値領域として選択してもよい。
【０１８８】
また、文字列が射影歪みを受けているとは限らない。そのため、以下のような処理を行うようにしてもよい。
【０１８９】
推定部１７は、処理対象の配列ERlineiの要素である各極値領域のうち、最も高さ（大きさ）が高い（大きい）極値領域を基準とする。
【０１９０】
そして、推定部１７は、上述した第１のリスト及び第２のリストに格納されている各極値領域であって、配列リストに格納されている各配列のうちのいずれの配列の要素でもない極値領域のうち、高さ（大きさ）が当該基準のものに近い極値領域を、処理対象の配列_ERlineiの要素として格納する。
【０１９１】
そして、検出部１８は、上述した文字列らしい各極値領域２次抽出処理にて抽出した配列ERlineiと、配列_ERlineiの文字度合いを算出し、文字度合いが小さい方の配列を削除する。
【０１９２】
［第２の実施形態］
第１の実施形態では、図４のステップＳ５の処理において、文字列らしいか否かを判定し、文字列らしい各極値領域を抽出する処理の一例について説明した。
【０１９３】
第２の実施形態では、図４のステップＳ５の処理において、文字列らしいか否かを判定し、文字列らしい各極値領域を抽出する処理の他の一例について説明する。
【０１９４】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。
【０１９５】
≪文字列らしい各極値領域１次抽出処理≫
次に、図１９を参照し、図４のステップＳ５の、文字列らしいか否かを判定し、文字列らしい各極値領域を抽出する処理の一例について説明する。図１９は、第２の実施形態に係る文字列らしい各極値領域１次抽出処理の一例を示すフローチャートである。
【０１９６】
ステップＳ１４０１で、文字列領域検出部１６は、前段のステップＳ４までの処理で抽出された文字らしい各極値領域を、文字らしさの度合いが高い順にソートする。ここで、文字列領域検出部１６は、例えば、上述の第１のリスト及び第２のリストに含まれる各極値領域について、文字度合判定部１４により判定された文字らしさの度合いが高い順にソートする。なお、第１の実施形態のステップＳ４０２についての説明と同様に、ステップＳ１４０１においては、第１のリストのみを用いてもよい。ステップＳ１４０１において第１のリスト及び第２のリストの両方を用いる場合、情景文字を抽出する精度は比較的高くなるものの、処理時間は比較的長くなる。ステップＳ１４０１において第１のリストのみを用いる場合、処理時間は比較的速くなるものの、情景文字を抽出する精度は比較的低下する。なお、文字列に１文字でも細長くない形状の極値領域が含まれていれば、後述するステップＳ２００１の処理により、当該極値領域の周辺に位置する細長い各極値領域を第２のリストから検出できるため、情景文字を抽出する精度は低下しない。
【０１９７】
続いて、ステップＳ１４０２で、文字列領域検出部１６は、ソートしたリストのうち、最も文字らしさの度合いが高い極値領域を処理対象として選択する。なお、以降で、処理対象として選択された極値領域を、「処理対象の極値領域」と称する。
【０１９８】
続いて、ステップＳ１４０３で、文字列領域検出部１６は、処理対象の極値領域の文字らしさの度合いが、所定の閾値よりも低いか否かを判定する。
【０１９９】
処理対象の極値領域の文字らしさの度合いが、所定の閾値よりも低い場合（ステップＳ１４０３：ＹＥＳ）、処理を終了する。
【０２００】
処理対象の極値領域の文字らしさの度合いが、所定の閾値よりも低くない場合（ステップＳ１４０３：ＮＯ）、ステップＳ１４０４で、文字列領域検出部１６は、処理対象の極値領域を含む領域（１つの極値領域、または複数の極値領域が組み合わされた領域）について、複数の角度の各々における同一の文字列を探索する処理を行う。なお、複数の角度の各々における同一の文字列を探索する処理については後述する。
【０２０１】
続いて、ステップＳ１４０５で、文字列領域検出部１６は、複数の角度の各々で探索した文字列のうち、文字列を構成する各文字の間の「同一の文字列らしさの度合い」が最も高いものを抽出する。ここで、文字列領域検出部１６は、抽出した文字列を、上述した配列リストに格納する。なお、各文字の間の「同一の文字列らしさの度合い」は、例えば、当該各文字の位置、高さ、横幅、ストローク幅、色等の各特徴の分散に基づいて算出してもよい。この場合、文字列領域検出部１６は、例えば、各特徴の分散値に、各特徴量に応じた重み係数を乗算した値の合計値が最も小さい文字列を、「同一の文字列らしさの度合い」が最も高い文字列と判定してもよい。
【０２０２】
続いて、ステップＳ１４０６で、文字列領域検出部１６は、ソートしたリストのうち、文字らしさの度合いが次に高い極値領域があるか否かを判定する。
【０２０３】
文字らしさの度合いが次に高い極値領域があれば（ステップＳ１４０６：ＹＥＳ）、ステップＳ１４０７で、文字列領域検出部１６は、文字らしさの度合いが次に高い極値領域を処理対象として選択し、上述したステップＳ１４０３の処理に進む。
【０２０４】
文字らしさの度合いが次に高い極値領域がなければ（ステップＳ１４０６：ＮＯ）、処理を終了する。
【０２０５】
本実施例では、漢字（中国語の漢字も含む）、仮名（平仮名、カタカナを含む）、ハングル等における、一文字が複数の極値領域に分離されている文字も、抽出対象としている。この場合、複数の極値領域を組み合わせた領域（複合領域）についても、同一の文字列らしさの度合いを算出する対象とする。この場合、複数の極値領域の全ての組み合わせについて、同一の文字列らしさの度合いを算出すると、計算量が膨大となる。そのため、文字列領域検出部１６は、ステップＳ１４０４及びステップＳ１４０５の処理を、文字らしさの度合いが所定の閾値以上である極値領域についてのみ行うようにする。
【０２０６】
次に、図２０を参照し、ステップＳ１４０４の、複数の角度の各々における同一の文字列を探索する処理について説明する。図２０は、複数の角度の各々における同一の文字列を探索する処理について説明する図である。図２０では、中国語で駐車場を示す３文字の漢字が写っている画像において、１５度刻みの角度に沿って、隣接する文字の候補となる極値領域を探索する例を示している。この場合、隣接する文字の候補を探索する方向の角度を、ステップＳ１０３、ステップＳ１０７において、極値領域抽出部１２により、回転境界矩形記述子が算出された際の回転角度と揃えてもよい。すなわち、極値領域抽出部１２により、１５度刻みで回転アスペクト比等の回転境界矩形記述子が算出された場合は、文字列領域検出部１６は、１５度刻みの角度に沿って、隣接する文字の候補となる極値領域を探索する。これにより、回転境界矩形記述子を算出する過程で算出された回転境界矩形を用いて、「同一の文字列らしさの度合いを示すスコア」（以下で単に「スコア」とも称する。）を算出することができるため、算出のための処理量を低減できる。
【０２０７】
ここで、「スコア」は、例えば、比較する２つの極値領域の位置、高さ、横幅、ストローク幅、色等の各特徴量の差分に、各特徴に応じた重み係数を乗算した値の合計値により算出する。この場合、位置、高さ、横幅、ストローク幅等の各特徴は、特徴量の差分が小さい程、より同一の文字列らしいことを示すため、「スコア」の値が小さい程、同一の文字列らしい（「同一の文字列らしさの度合い」が高い）ことを示す。なお、上述の重み係数は、機械学習法等を用いて決定されてもよい。
【０２０８】
文字列領域検出部１６は、「スコア」を算出する際、比較する２つの極値領域の位置、高さ、及び横幅の差分を、回転境界矩形記述子を算出する過程で算出された回転境界矩形を用いて算出する。
【０２０９】
２つの極値領域の位置の差分は、比較する２つの極値領域の各々に対する回転境界矩形間の距離としてもよい。図２０の例では、一番左側の文字６０１に対する回転境界矩形６０１ａの右端と、中央の文字６０２に対する回転境界矩形６０２ａの左端との間の距離が、２つの極値領域の位置の差分とされる。
【０２１０】
２つの極値領域の高さの差分、及び横幅の差分は、比較する２つの極値領域の各々に対する回転境界矩形間の高さの差分、及び横幅の差分としてもよい。図２０の例では、一番左側の文字６０１に対する回転境界矩形６０１ａの高さ及び横幅と、中央の文字６０２に対する回転境界矩形６０２ａの高さ及び横幅との間の差が、それぞれ、２つの極値領域の高さの差分、及び横幅の差分とされる。これにより、従来の、回転していない境界矩形（６０１ｂ、６０２ｂ）を用いる方式と比較して、上下方向のアライメント（整列具合）が揃っているため、同一の文字列に含まれる文字の検出精度が向上する。
【０２１１】
なお、ストローク幅、及び色は、回転とは無関係な特徴である。ストローク幅は、文字の線幅である。色は、極値領域の色である。極値領域の色は、色相（ｈｕｅ）、彩度（ｓａｔｕｒａｔｉｏｎ）、輝度（ｌｕｍｉｎａｎｃｅ）よりなるＨＳＩカラースペースを用いてもよいし、ＲＧＢカラースペースを用いてもよいし、輝度等を用いてもよい。
【０２１２】
次に、図２１を参照し、ステップＳ１４０４の、同一の文字列を探索する処理について説明する。図２１は、同一の文字列を探索する処理の一例を示すフローチャートである。
【０２１３】
ステップＳ２００１で、文字列領域検出部１６は、処理対象の領域に、所定の角度方向で例えば右側に隣接する文字の候補となる極値領域群を、上述した第１のリスト及び第２のリストから探索する。ここで、「処理対象の領域」とは、ステップＳ１４０４における処理対象の極値領域を含む領域であって、１つの極値領域、または複数の極値領域が組み合わされた領域である。なお、ステップＳ１４０１において第１のリストのみを用いた場合であっても、ステップＳ２００１では、第１のリストに含まれる極値領域の周辺に位置する細長い各極値領域も探索するため、第１のリスト及び第２のリストの両方を用いる。
【０２１４】
ここで、文字列領域検出部１６は、色、位置、ストローク幅等の特徴が、処理対象の領域と近い複数の極値領域を探索する。より具体的には、文字列領域検出部１６は、処理対象の領域の特徴と、他の極値領域の特徴との差が所定の閾値未満である場合に、当該他の極値領域を、処理対象の領域に隣接する文字の候補となる極値領域群に含める。これにより、当該候補となる極値領域群に含められる極値領域の数を絞り込むことができるため、以降の計算処理量を低減できる。なお、当該所定の閾値は、機械学習法等を用いて決定されてもよい。
【０２１５】
続いて、ステップＳ２００２で、文字列領域検出部１６は、処理対象の領域と、上述した候補となる極値領域群に含まれる各極値領域との間の「同一の文字列らしさの度合いを示すスコア」を算出する。
【０２１６】
続いて、ステップＳ２００３で、文字列領域検出部１６は、上述した候補となる極値領域群に含まれる各極値領域のうち、処理対象の領域に対する「スコア」の値が最も小さい極値領域を、「隣接する文字の候補（Ｃｎｅｘｔ）」として選択する。
【０２１７】
続いて、ステップＳ２００４で、文字列領域検出部１６は、上述した候補となる極値領域群のうち、「隣接する文字の候補（Ｃｎｅｘｔ）」に含まれない一の極値領域を選択する。
【０２１８】
続いて、ステップＳ２００５で、文字列領域検出部１６は、選択した極値領域と、「隣接する文字の候補（Ｃｎｅｘｔ）」とを組み合わせた領域を「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」とし、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」について、処理対象の領域に対する「スコア」の値を算出する。
【０２１９】
続いて、ステップＳ２００６で、文字列領域検出部１６は、上述した候補となる極値領域群に、未選択の極値領域があるか否かを判定する。
【０２２０】
未選択の極値領域がある場合（ステップＳ２００６：ＹＥＳ）、ステップＳ２００７で、文字列領域検出部１６は、未選択の極値領域を選択する。
【０２２１】
続いて、ステップＳ２００８で、文字列領域検出部１６は、選択した極値領域と、「隣接する文字の候補（Ｃｎｅｘｔ）」とを組み合わせた領域について、処理対象の領域に対する「スコア」の値を算出する。
【０２２２】
続いて、ステップＳ２００９で、文字列領域検出部１６は、ステップＳ２００８で算出した当該組み合わせた領域の「スコア」の値が、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」の「スコア」の値よりも小さいか否かを判定する。
【０２２３】
小さくない場合（ステップＳ２００９：ＮＯ）、ステップＳ２００６の処理に進む。
【０２２４】
小さい場合（ステップＳ２００９：ＹＥＳ）、ステップＳ２０１０で、文字列領域検出部１６は、当該組み合わせた領域を、新たな「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」とし、ステップＳ２００６の処理に進む。
【０２２５】
ステップＳ２００６で、未選択の極値領域がない場合（ステップＳ２００６：ＮＯ）、ステップＳ２０１１で、文字列領域検出部１６は、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」の「スコア」の値が、「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値よりも小さいか否かを判定する。
【０２２６】
小さい場合（ステップＳ２０１１：ＹＥＳ）、ステップＳ２０１２で、文字列領域検出部１６は、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」を、新たな「隣接する文字の候補（Ｃｎｅｘｔ）」とし、ステップＳ２００４の処理に進む。
【０２２７】
小さくない場合（ステップＳ２０１１：ＮＯ）、ステップＳ２０１３で、文字列領域検出部１６は、
【０２２８】
「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値が、所定の閾値よりも小さいか否かを判定する。なお、当該所定の閾値は、機械学習法等を用いて決定されてもよい。
【０２２９】
所定の閾値よりも小さい場合（ステップＳ２０１３：ＹＥＳ）、ステップＳ２０１４で、文字列領域検出部１６は、処理対象の領域と、「隣接する文字の候補（Ｃｎｅｘｔ）」とを、同一の文字列であると判定する。
【０２３０】
続いて、ステップＳ２０１５で、文字列領域検出部１６は、「隣接する文字の候補（Ｃｎｅｘｔ）」を、新たな「処理対象の領域」とし、上述したステップＳ２００１の処理に進む。
【０２３１】
所定の閾値よりも小さくない場合（ステップＳ２０１３：ＮＯ）、処理を終了する。
【０２３２】
次に、図２２を参照し、図２１の同一の文字列を探索する処理について説明する。図２２は、同一の文字列を探索する処理について説明する図である。
【０２３３】
図２２では、中国語の駐車場の看板が写っている画像の例を示す。図２２（Ａ）では、３つの中国語の漢字の文字のうち、一番左側の文字６０１及び中央の文字６０２が、ステップＳ２０１４で、同一の文字列と判定されている例を示す。ステップＳ２０１５で、文字６０１を構成する１以上の極値領域と、「隣接する文字の候補（Ｃｎｅｘｔ）」である文字６０２を構成する１以上の極値領域の組み合わせた領域が、新たな「処理対象の領域」とされ、上述したステップＳ２００１の処理に進む。
【０２３４】
ステップＳ２００３で、各極値領域の、「処理対象の領域」に対する「スコア」が算出される。ここで、図２２（Ｂ）に示す、文字６０１に対する回転境界矩形６０１ａ、及び文字６０２に対する回転境界矩形６０２ａ（「第１の矩形」の一例。）と、一番右側の文字６０３の一部６０４に対する回転境界矩形６０４ａとに基づいて「スコア」が算出される。同様に、領域６０５乃至領域６０８に対する回転境界矩形６０５ａ乃至回転境界矩形６０８ａについても「スコア」が算出される。そして、「スコア」の値が最も小さい、一番右側の文字６０３の一部の領域６０５が、「隣接する文字の候補（Ｃｎｅｘｔ）」とされているものとする。
【０２３５】
そして、ステップＳ２００５乃至ステップＳ２０１０で、「スコア」の値が最も小さい一の極値領域である「隣接する文字の候補（Ｃｎｅｘｔ）」に、他の一の極値領域を組み合わせた領域の、「処理対象の領域」に対する「スコア」が算出される。そして、当該組み合わされた領域のうち、「スコア」の値が最も小さい領域が、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」となる。
【０２３６】
ここで、図２２（Ｃ）に示す、文字６０１に対する回転境界矩形６０１ａ、及び文字６０２に対する回転境界矩形６０２ａと、領域６０５に領域６０４を組み合わせた領域６０３に対する回転境界矩形６０３ａ（「第２の矩形」の一例。）とに基づいて「スコア」が算出される。同様に、領域６０５に領域６０６乃至領域６０８を組み合わせた領域に対する回転境界矩形についても「スコア」が算出される。
【０２３７】
そして、２つの極値領域を組み合わせた領域の「スコア」の値のうち、領域６０５である「隣接する文字の候補（Ｃｎｅｘｔ）」に、領域６０４を組み合わせた領域の「スコア」の値が最も小さいものとすると、領域６０５と領域６０４を組み合わせた領域が、「Ｃｎｅｘｔの候補（Ｃｃａｎｄｉｄａｔｅ）」となる。
【０２３８】
そして、ステップＳ２０１１で、領域６０５と領域６０４を組み合わせた領域の「スコア」の値が、領域６０５である「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値よりも小さいとすると、ステップＳ２０１２で、領域６０５と領域６０４を組み合わせた領域が、新たな「隣接する文字の候補（Ｃｎｅｘｔ）」とされる。
【０２３９】
そして、再度のステップＳ２００５乃至ステップＳ２０１０で、領域６０５及び領域６０４に、他の一の極値領域を組み合わせた領域の、「処理対象の領域」に対する「スコア」が算出される。
【０２４０】
そして、再度のステップＳ２０１１で、領域６０５及び領域６０４に、他の一の極値領域を組み合わせた領域の「スコア」が、領域６０５と領域６０４を組み合わせた領域である「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値よりも小さくないとする。この場合、ステップＳ２０１３で、「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値が所定の閾値よりも小さければ、ステップＳ２０１５で、文字６０１、文字６０２、文字６０３を構成する極値領域群を組み合わせた領域が、新たな「処理対象の領域」とされ、上述したステップＳ２００１の処理に進む。そして、図２２（Ｃ）に示す、文字６０１乃至文字６０３に対する回転境界矩形６０１ａ乃至回転境界矩形６０３ａに基づいて、所定の角度方向に隣接する文字の候補となる極値領域を探索し、再度のステップＳ２０１３で、「隣接する文字の候補（Ｃｎｅｘｔ）」の「スコア」の値が所定の閾値よりも小さければ、処理を終了する。
【０２４１】
＜プログラムについて＞
本実施形態に係る画像処理装置１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶媒体、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示部、並びに外部と通信するためのインターフェースを備えたコンピュータによって構成してもよい。
【０２４２】
その場合、画像処理装置１が有する各機能は、これらの機能を記述したプログラム（画像処理プログラム）をＣＰＵに実行させることによりそれぞれ実現可能となる。また、このプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。つまり、上述した各構成における処理をコンピュータ（ハードウェア）に実行させるためのプログラムを、例えば汎用のＰＣやサーバ等にそのプログラムをインストールすることにより、上述した処理を実現することができる。
【０２４３】
また、上述した実施形態における画像処理装置１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。画像処理装置１の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。
【０２４４】
なお、画像処理装置１は、例えば、取材内容の動画や、過去の放送番組の動画を蓄積した動画データベースから、動画中の画像に写っている文字を文字認識し、当該動画の検索用のタグとして、認識した文字列を当該動画に対応付けて管理するアーカイブシステムに適用することが可能である。また、画像処理装置１は、例えば、カメラで撮影した画像から文字を認識するスマートフォンに適用することも可能である。
【０２４５】
＜まとめ＞
非特許文献１記載の技術では、漢字、仮名、ハングル等、複数の分離された領域により１文字が構成される言語を対象とし、情景文字を抽出する場合、抽出の精度に問題がある。非特許文献１記載の技術が対象とするアルファベットと数字では、「i」と「j」以外は一筆書きできる（一文字を構成する領域が分離していない）が、例えば日本語の「二」、「川」、「い」のような情景文字を抽出する場合、一文字が複数の極値領域に分離されている。そして、アルファベットと数字は１００種類程度であるが、例えば日本語は６千文字程度ある。さらに、情景文字が回転して写っている場合等も考慮すると、情景文字の領域を抽出する際の処理のコストは膨大になるという問題がある。
【０２４６】
これに対し、本実施形態によれば、回転アスペクト比特徴を用いて、極値領域が細長いか否かを判定する。そして、抽出した極値領域のツリー構造上で、文字らしく、かつ細長くない極値領域があった場合、その極値領域より下位に属する極値領域は、その文字の一部分を表す領域であるため、文字らしさを判定する対象としない。これにより、計算コストが重い特徴計算処理を削減でき、例えば回転した漢字、仮名、ハングル等の情景文字に対しても、文字領域検出処理を高速に実行できる。
【０２４７】
また、本実施形態では、抽出した極値領域のツリー構造上で、文字らしく、かつ細長い極値領域があった場合、その極値領域より下位に属する極値領域は、文字らしさを判定する対象とする。それにより、複数の文字がつながった極値領域が誤って検出されるのを防ぐことができる。
【０２４８】
また、従来技術では、文字列の上側のラインと下側のラインが揃っていることを利用して文字列を見つけている。アルファベットや数字等であれば、「i」と「j」以外は一文字が一つの極値領域（連結成分、Connected-Component）であるため、上側のラインと下側のラインが一定程度揃っているか見れば、文字列が斜めに写っていても検出できる。しかしながら、例えば日本語の「カニ」のような文字列が斜めに写っている場合、「ニ」に含まれる２辺のうちの一方のみが、「カ」に隣接する文字として検出される場合がある。また、文字列が２行である場合、下の行に含まれる文字であって、例えば「お」等の複数の極値領域により構成される文字を構成する極値領域が、上の行の文字に隣接する文字として検出される場合がある。
【０２４９】
これに対し、本実施形態によれば、複数の角度方向に沿って、回転境界矩形を用いて同一の文字列らしさの度合いを算出することにより、同一の文字列に含まれる文字の領域を探索する。これにより、漢字、仮名、ハングル等の情景文字に対しても、文字列を検出する精度を向上させることができる。
【０２５０】
なお、上述した実施形態は、漢字、仮名、ハングル等に限らず、複数の分離された領域により１文字が構成される言語の情景文字を抽出する場合に特に好適であるが、アルファベットや数字等の一文字を構成する領域が分離していない情景文字を抽出する場合にも好適である。
【０２５１】
以上、図面を参照して実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【０２５２】
１  画像処理装置
１１  画像取得部
１２  極値領域抽出部
１３  算出部
１４  文字度合判定部
１５  除去部
１６  文字列領域検出部
１７  推定部
１８  検出部
１９  記憶部
２０  出力部
【図１】
2017211976.tif 000015
【図２】
2017211976.tif 000016
【図３】
2017211976.tif 000017
【図４】
2017211976.tif 000018
【図５】
2017211976.tif 000019
【図６】
2017211976.tif 000020
【図７】
2017211976.tif 000021
【図８】
2017211976.tif 000022
【図９】
2017211976.tif 000023
【図１０】
2017211976.tif 000024
【図１１】
2017211976.tif 000025
【図１２】
2017211976.tif 000026
【図１３】
2017211976.tif 000027
【図１４】
2017211976.tif 000028
【図１５】
2017211976.tif 000029
【図１６】
2017211976.tif 000030
【図１７】
2017211976.tif 000031
【図１８】
2017211976.tif 000032
【図１９】
2017211976.tif 000033
【図２０】
2017211976.tif 000034
【図２１】
2017211976.tif 000035
【図２２】
2017211976.tif 000036