(57)【特許請求の範囲】
【請求項１】
入力画像から特定の被写体を１つまたは複数検出する被写体検出部と、
前記被写体検出部が検出した前記被写体の位置から前記被写体を特定するための識別情報が存在する第一の領域を推定する第一領域推定部と、
前記第一領域推定部が推定した前記第一の領域内において前記識別情報を含む第二の領域を検出する第二領域検出部と、
前記第二領域検出部が検出した前記第二の領域に対して画像処理を行う画像処理部と、
前記画像処理部の処理結果に対して前記識別情報の認識処理を行い、当該認識処理結果と前記入力画像との紐付けを行う識別情報認識部と、を備え、
前記画像処理部は、前記被写体検出部が検出した前記被写体の向きに基づいて、前記第二の領域内に配置されていると推定した前記識別情報に対して所定の画像処理の実行を制御することを特徴とする画像処理装置。
【請求項２】
入力画像から特定の被写体を１つまたは複数検出する被写体検出部と、
前記被写体検出部が検出した前記被写体の位置から前記被写体を特定するための識別情報が存在する第一の領域を推定する第一領域推定部と、
前記第一の領域内において前記識別情報のサイズまたは領域を示す情報から第三の領域を検出する第三領域検出部と、
前記第三領域検出部が検出した前記第三の領域から前記識別情報内の情報数を推測する情報数推測部と、
前記第三領域検出部が検出した前記第三の領域に対して画像処理を行う画像処理部と、
前記画像処理部の処理結果に対して前記識別情報の認識処理を行い、当該認識処理結果と前記入力画像との紐付けを行う識別情報認識部と、を備え、
前記情報数に応じた情報領域を算出し、前記情報領域のうち他の領域と幅または高さが異なる領域が存在するか否かに基づき、当該領域に対応する仮の情報を割り当てる処理の実行を制御することを特徴とする画像処理装置。
【請求項３】
入力画像から特定の被写体を１つまたは複数検出する被写体検出ステップと、
前記被写体検出ステップにおいて検出した前記被写体の位置から前記被写体を特定するための識別情報が存在する第一の領域を推定する第一領域推定ステップと、
前記第一領域推定ステップにおいて推定した前記第一の領域内において前記識別情報を含む第二の領域を検出する第二領域検出ステップと、
前記第二領域検出ステップにおいて検出した前記第二の領域に対して画像処理を行う画像処理ステップであって、前記被写体検出ステップにおいて検出した前記被写体の向きに基づいて、前記第二の領域内に配置されていると推定した前記識別情報に対して所定の画像処理の実行を制御する画像処理ステップと、
前記画像処理ステップの処理結果に対して前記識別情報の認識処理を行い、当該認識処理結果と前記入力画像との紐付けを行う識別情報認識ステップと、
を備えることを特徴とする画像処理方法。
【請求項４】
前記第一の領域内において前記識別情報のサイズまたは領域を示す情報から第三の領域を検出する第三領域検出ステップと、
前記第三領域検出ステップにおいて検出した前記第三の領域から前記識別情報内の情報数を推測する情報数推測ステップをさらに備え、
前記画像処理ステップは、前記第二領域検出ステップにおいて検出した前記第二の領域または前記情報数推測ステップにおいて検出した前記情報数に応じた前記第三の領域内の各領域に対して画像処理を行うことを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記情報数推測ステップは、前記第三の領域の幅または高さから前記情報数を推測し、前記第三の領域内の各領域のうち他の領域と幅または高さが異なる領域が存在する場合に、当該領域に対して、仮の情報を割り当てることを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記被写体検出ステップは、前記被写体の顔位置、前記被写体の頭部から肩にかけた形状、前記被写体の肌領域の少なくとも１つを検出することで被写体を検出することを特徴とする請求項３乃至請求項５の何れか１項に記載の画像処理方法。
【請求項７】
前記画像処理ステップは、前記第二の領域の画像を前記入力画像の基準線に対する傾き角度から所定方向に写像し、文字の間隔を調整する画像処理を行うことを特徴とする請求項３乃至請求項６の何れか１項に記載の画像処理方法。
【請求項８】
入力画像から特定の被写体を１つまたは複数検出する被写体検出ステップと、
前記被写体検出ステップにおいて検出した前記被写体の位置から前記被写体を特定するための識別情報が存在する第一の領域を推定する第一領域推定ステップと、
前記第一の領域内において前記識別情報のサイズまたは領域を示す情報から第三の領域を検出する第三領域検出ステップと、
前記第三領域検出ステップにおいて検出した前記第三の領域から前記識別情報内の情報数を推測する情報数推測ステップであって、前記情報数に応じた情報領域を算出し、前記情報領域のうち他の領域と幅または高さが異なる領域が存在するか否かに基づき、当該領域に対する仮の情報を割り当てる処理の実行を制御する情報数推測ステップと、
前記第三領域検出ステップにおいて検出した前記第三の領域に対して画像処理を行う画像処理ステップと、
前記画像処理ステップの処理結果に対して前記識別情報の認識処理を行い、当該認識処理結果と前記入力画像との紐付けを行う識別情報認識ステップと、
を備えることを特徴とする画像処理方法。
【請求項９】
前記情報数推測ステップは、前記第三の領域の幅または高さから前記情報数を推測することを特徴とする請求項８に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マラソン大会などのイベントで撮影された写真の画像処理システムに関するものである。
【背景技術】
【０００２】
検出したランナーの顔位置に基づき、ゼッケンの位置を推定し、ゼッケン番号をＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）によって読み取る技術が従来技術として知られている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Idan Ben-Ami、Tali Basha、Shai Avidan著、「Racing Bib Number Recognition」、http://www.eng.tau.ac.il/~avidan/papers/RBNR.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１は撮影した画像内から人物のゼッケン番号を読み込む際に、画像内の背景にある看板や道路標識等の文字をゼッケン番号として誤検出してしまうという課題がある。また、画像内から人物の顔を検出できない場合や、ゼッケンが大きく変形し形状が歪んでいる場合に正しくＯＣＲによる文字認識でゼッケン番号を読み取ることができない。そして、ランナーの体に張り付けたゼッケンは、横方向から撮影された場合に奥行きに対して端になるほど変形しており、文字間隔が変化しているという特徴がある。非特許文献１はランナーを正面から撮影した場合を想定しているため、正しくＯＣＲによってゼッケン番号を読み取ることができない。
【０００５】
また、他人との重なりや本人の手などがゼッケンの前に配置されることによって、ゼッケンの一部が隠れてしまい、正しくゼッケン番号を認識できないという課題がある。このようにゼッケン番号の一部のみを検出した場合、正しくゼッケン番号が検出できたかの判断も困難である。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、イベントで撮影した参加者の画像において、検出したゼッケン領域に対して画像処理を行うことでゼッケン番号の認識精度を高め、認識されたゼッケン番号と画像内の人物との紐付けを行う画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載の画像処理装置は、入力画像から特定の被写体を１つまたは複数検出する被写体検出部と、前記被写体検出部が検出した前記被写体の位置から前記被写体を特定するための識別情報が存在する第一の領域を推定する第一領域推定部と、前記第一領域推定部が推定した前記第一の領域内において前記識別情報を含む第二の領域を検出する第二領域検出部と、前記第二領域検出部が検出した前記第二の領域に対して画像処理を行う画像処理部と、前記画像処理部の処理結果に対して前記識別情報の認識処理を行い、当該認識処理結果と前記入力画像との紐付けを行う識別情報認識部と、を備え、前記画像処理部は、前記被写体検出部が検出した前記被写体の向きに基づいて、前記第二の領域内に配置されていると推定した前記識別情報に対して所定の画像処理の実行を制御することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影画像内から効率よくゼッケン領域を検出し、当該ゼッケン領域に対して画像処理を行うことでゼッケン番号の認識精度を高め、認識されたゼッケン番号と人物画像との紐付けを行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態による画像処理装置１００の一例を示すブロック図である。
【図２】画像処理装置１００が、撮影画像を読み込みゼッケン番号と人物画像との紐付けを行うまでを説明するためのフローチャートである。
【図３】被写体検出部１０２が処理する各領域について説明する図である。
【図４】画像処理部１０５がゼッケン文字領域３０４に対して行う傾き補正に関して説明する図である。
【図５】画像処理部１０５が奥行きのあるゼッケン文字領域に対して行う奥行き補正に関して説明する図である。
【図６】本発明の第２の実施形態による画像処理装置１１０の一例を示すブロック図である。
【図７】画像処理装置１１０が、撮影画像を読み込みゼッケン番号と人物画像との紐付けを行うまでを説明するためのフローチャートである。
【図８】ゼッケンのフレームと文字領域の検出について説明するための図である。
【図９】本発明の第３の実施形態による画像処理装置９００の一例を示すブロック図である。
【図１０】画像処理装置９００が、動画再生の同期を行い、ユーザが選択したゼッケン番号のランナーを動画再生するまでを説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態による画像処理装置の一例について図面を参照して説明する。
[第１の実施形態]
【００１１】
図１は、本発明の第１の実施形態による画像処理装置１００の一例を示すブロック図である。
【００１２】
＜画像処理装置１００の構成＞
図示の画像処理装置１００は、パーソナルコンピュータ（ＰＣ）などの装置である。携帯電話や、ＰＤＡ、スマートフォンやタブレット端末などの装置でもよい。
【００１３】
画像処理装置１００は、ハードウェア構成として、ＣＰＵ、メモリ、通信部、および記憶部（ともに不図示）を備えている。
【００１４】
ＣＰＵは画像処理装置１００の全体の制御を司る。メモリはＲＡＭおよびＲＯＭなどであある。
【００１５】
通信部はＬＡＮ、無線通信路およびシリアルインターフェースなどに接続するためのインターフェースであって、画像処理装置に撮影画像を送信するための撮影装置とのデータ送受信を行うための機能部である。
【００１６】
記憶部には、ソフトウェアであるオペレーティングシステム（以下、ＯＳと呼ぶ：不図示）、画像読み込み部１０１、被写体検出部１０２、ゼッケン領域推定部１０３、ゼッケン文字領域検出部１０４、画像処理部１０５、および文字認識部１０６が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらのソフトウェアはメモリに読み出されて、ＣＰＵの制御に従い動作する。
【００１７】
画像読み込み部１０１は、撮影画像およびディスプレイ描画などをメモリから読み込み、画像処理装置１００のメモリ上に展開させる。具体的には、ＪＰＥＧファイルなどの圧縮されたイメージファイルを解凍し、各画素単位のＲＧＢ値順に配列したラスターイメージに展開し、ＰＣ内のメモリ上に展開させる。このとき、読み込んだ撮影画像の画素数が十分に大きくない場合は、被写体検出部１０２における人物領域の検出や、画像処理部１０５、文字認識部１０６での認識精度を十分に保つため、画素間を補間し、十分な画素数に拡大してもよい。また、必要以上に画素数が大きい場合は、処理を高速化させるために、画素を間引いて、縮小してもよい。また、撮影画像の縦横関係を補正するために、必要に応じて撮影画像を回転させてもよい。
【００１８】
被写体検出部１０２は、撮影画像内の人物領域を検出する。人物の検出方法は、人物の顔、口や目などの器官の特徴による検出方法や、頭部から肩にかけたΩ（オメガ）に似た形状による検出方法、人物の肌領域などの色相による検出などがあり、これに限定したものではなく、複数の検出方法を組み合わせてもよい。
【００１９】
ゼッケン領域推定部１０３は、被写体検出部１０２により検出された撮影画像内の人物領域から、顔の位置や肩幅のサイズに基づき、顔より下方向の胴体部分にゼッケン文字領域が存在していると推測する。なお、ゼッケンだけに限定したものではなく、ユニフォームの背番号や被写体の一部に直接書かれた識別情報などでもよい。また、下方向に限定し推測するものではなく、人物の姿勢や撮影画像の構図によって適宜変更可能である。
【００２０】
ゼッケン文字領域検出部１０４は、ゼッケン領域推定部１０３により算出された各領域に対して、文字となりうる領域を検出する。ここで文字は、数字、アルファベット、平仮名、片仮名、漢字、数字および記号やバーコードのパターンなど被写体を一意に識別できる識別子のことである。
【００２１】
画像処理部１０５は、ゼッケン文字領域検出部１０４の各領域に対して、文字認識を行うための前処理となる画像処理を行う。
【００２２】
文字認識部１０６は、画像処理部１０５が処理した画像に対して、候補となる文字の画像特徴を記載した辞書データベースに基づき、文字認識を行いその認識結果を人物画像と紐付ける。人物画像とは、撮影画像中の人物が存在する部分である。
＜画像処理装置１００の処理フロー＞
【００２３】
図２は、図１に示す画像処理装置１００が、撮影画像を読み込みゼッケン番号と人物画像との紐付けを行うまでを説明するためのフローチャートである。
【００２４】
撮影画像が指定されると、処理を開始し画像読み込み部１０１が入力画像として撮影画像の読み込みを行う（ステップＳ２０１）。
【００２５】
次に、被写体検出部１０２が読み込んだ入力画像のラスターイメージ全体をスキャンし、人物の可能性のある画像領域を検出する（ステップＳ２０２）。
【００２６】
被写体検出部１０２が入力画像内に人物の可能性がある画像領域が存在するかを判断し（ステップＳ２０３）、人物が存在する場合は、ステップＳ２０４へ進む。人物が存在しない場合は、ステップＳ２０５へ進む。
【００２７】
ステップＳ２０３において、一人以上の人物が存在する場合、ゼッケン領域推定部１０３が各人物領域毎にゼッケン文字領域が含まれていると推定してスキャンする領域を決定する（ステップＳ２０４）。スキャンする領域は、入力画像の上下および人物領域の幅より決定し、人物の顔より下方向の領域に設定する。ここで、被写体検出部１０２が用いる検出方法によってスキャンする領域の上下サイズおよび幅を変更してもよい。
【００２８】
ステップＳ２０３において、人物が存在しない場合、入力画像内全体をスキャンする領域に決定する（ステップＳ２０５）。
【００２９】
人物毎に決定されたスキャンする領域から、ゼッケン文字領域検出部１０４がゼッケン文字領域を検出する（ステップＳ２０６）。ゼッケン文字領域の候補として、数字や文字などのゼッケン番号と予想される画像領域を検出し、一文字または複数文字を含む画像領域を検出する。ここでゼッケン番号と表現しているが、数字に限定されるものではない。
【００３０】
入力画像内の全ての人物に対して、ゼッケン文字領域検出部１０４が画像領域を検出したかを判断し（ステップＳ２０７）、未検出の人物が存在する場合(ステップＳ２０７でＮｏ)は、ステップＳ２０４の処理に戻り、全ての人物に対してゼッケン文字領域の検出を行う。ステップＳ２０１〜ステップＳ２０７で述べた各領域については、図３を用いて詳細を説明する。
【００３１】
全ての人物のゼッケン文字領域の検出が終了すると(ステップＳ２０７でＹｅｓ。なお、ステップＳ２０３において人物の可能性がある画像領域が見つからない場合を含む)、検出した各ゼッケン文字領域に対して、画像処理部１０５が文字認識を行うための前処理となる画像処理を行う（ステップＳ２０８）。ここで画像処理とは、歪み補正、傾き補正、奥行き補正などである。傾き補正、奥行き補正の詳細は図４、図５を用いて後述する。歪み補正については種々の周知技術が適用可能であるため説明を割愛する。
【００３２】
全てのゼッケン文字領域の画像処理が終了すると、各ゼッケン文字領域に対して、文字認識部１０６が文字認識を行う（ステップＳ２０９）。
【００３３】
文字認識部１０６が文字認識の結果を人物画像に対して紐付ける（ステップＳ２１０）。すべてのゼッケン文字領域の文字認識が終了するとゼッケン番号と人物画像との紐付け処理を終了する。
＜検出領域について＞
【００３４】
図３は、図２において被写体検出部１０２、ゼッケン領域推定部１０３およびゼッケン文字領域検出部１０４が、入力画像内の人物毎に処理を行う各領域を説明する図である。
【００３５】
画像フレーム３０１は撮影した画像のフレームであり、画像読み込み部１０１がイメージデータをメモリ上に展開する。
【００３６】
人物領域３０２は被写体検出部１０２によって検出された人物領域である。
【００３７】
ゼッケン推定領域３０３は、人物領域３０２に対してゼッケン領域推定部１０３が推定したゼッケン推定領域である。ここでゼッケン推定領域３０３を矩形として例示したが、これに限定されるものではなく、人物領域３０２を中心として扇形などであってもよい。
【００３８】
ゼッケン文字領域３０４は、ゼッケン推定領域３０３に対してゼッケン文字領域検出部１０４が検出したゼッケン文字領域である。
＜傾き補正について＞
【００３９】
図４は、画像処理部１０５がゼッケン文字領域３０４に対して行う傾き補正に関して説明する図である。
【００４０】
画像４０１は、ゼッケン文字領域３０４であり、一つまたは複数の文字を含む画像である。画像４０１は、ランナーの衣服に貼り付けられているため、各文字が歪んでおり、全体としても水平より傾いた画像になっている。そのため画像４０１のままでは、各文字を適切に抽出できないため文字認識部１０６での文字認識が困難である。
【００４１】
中間画像４０２、中間画像４０３および中間画像４０４は画像処理部１０５によって補正された中間画像で、ゼッケン文字領域３０４から算出された基準線（水平方向）からの傾き角度に基づいて、アフィン変換により画像４０１を水平方向に写像したものである。なお、ここでいう基準線とは、撮影画像のＸ軸（水平方向）またはＹ軸（垂直方向）に基づいた基準線である。横書きの文字列の場合はＸ軸、縦書きの文字列の場合はＹ軸を基準線とし、その基準線からの傾き角度に基づいた処理を行う。
【００４２】
中間画像４０２、中間画像４０３および中間画像４０４を見ると、それぞれの文字が歪んで、異なる傾きを有している。そのため、中間画像４０４のように垂直方向に隙間がなく文字同士が非常に近接した画像となる場合がある。
【００４３】
中間画像４０２および中間画像４０３は、一文字として認識できる画像だが、中間画像４０４はそれぞれの文字の傾きが異なるため、複数の文字が一文字として認識される画像である。したがって、中間画像４０４のような場合は、文字認識部１０６が正しく各文字を認識することができない。
【００４４】
画像４０５〜画像４０９は、中間画像４０４から画像処理部１０５によって更に補正を加えた画像である。画像処理部１０５は、中間画像４０２、中間画像４０３および中間画像４０４から、各文字の輪郭と位置を検出する。検出した各文字の輪郭の横幅に基づき、垂直方向に各文字の間隔ができるように各文字の位置を水平方向に調整し、画像４０５〜画像４０９を生成する。このように各文字を分離させることで、文字認識部１０６が正しく各文字を認識することが可能となる。
＜奥行き補正について＞
【００４５】
図５は、画像処理部１０５が奥行きのあるゼッケン文字領域に対して行う奥行き補正に関して説明する図である。
【００４６】
画像フレーム５０１は撮影した画像のフレームである。人物領域５０２は被写体検出部１０２によって検出された人物領域である。ゼッケン推定領域５０３は人物領域３０２に対してゼッケン領域推定部１０３が推定したゼッケン推定領域である。ゼッケン文字領域５０４は、ゼッケン推定領域５０３に対してゼッケン文字領域検出部１０４が検出したゼッケン文字領域である。
【００４７】
ゼッケン文字領域５０４のように、横方向を向いた人物のゼッケンは、ゼッケン文字領域の画像に奥行きが生じ、手前から奥へ行くほど、文字幅と文字間隔が狭くなってしまう。このようにゼッケン文字領域５０４のような画像では、文字認識部１０６が、異なる文字幅の影響や隣り合う文字同士を結合して一つの文字として認識してしまうため、正しく文字認識することができない。
【００４８】
そこで被写体検出部１０２は、人物領域５０２において、人物の顔にある口や目などの器官が、正面方向からではなく、右方向または左方向に偏って存在している場合、人物は横向きであると判断する。そして、その偏りの程度から、顔の向き角度を算出する。
【００４９】
画像処理部１０５が、算出した顔の向き角度から画像の補正を行う。
【００５０】
胴体５０５は、上部から人物の胴体を模式化したものである。ここで、胴体５０５は楕円形であり、その向きは顔の向き角度と同等であると推定し、その角度を向き角度５０６とする。これにより、ゼッケン文字領域５０４の画像５０９は、楕円形の前面に貼り付けられた画像であると近似することが可能である。
【００５１】
胴体５０５に対して、ゼッケンが向き角度５０６に基づいたカーブを描いていると想定する。水平軸５０７に対して各文字の間隔を算出し、その間隔（比率）で画像５０９が撮影されたものと想定し、これを想定密度とする。
【００５２】
曲線５１０は、向き角度５０６によって生成された曲線である。画像５０９の文字の傾きを算出し、画像５０９のセンターライン５０８の水平方向（水平軸５０７と同じ方向）に想定密度の逆数を算出する。算出した想定密度の逆数で画像５０９のピクセル間隔を補正するための曲線が曲線５１０である。
【００５３】
曲線５１０の単位角度毎の横方向の局所線分５１１の幅は、画像５０９において、手前から奥に行くほど狭くなっている。
【００５４】
傾き補正を行いながら曲線５１０に基づいて、画像５０９の各文字の画素位置を算出し、各画素の水平方向を伸長および収縮させて文字幅を補正することで補正画像５１２を生成する。なお、伸長および収縮において、画像５０９の画素値の想定密度の逆数倍をそのまま転写してもよく、画像の滑らかさを出すために、近傍位置の画素値から算出した値を使用してもよい。画素値とは、その画素が持つ色の種類や明るさを表す数値である。
【００５５】
このような画像処理を画像処理部１０５が行うことにより、奥行きのあるゼッケン文字領域に対しても文字幅と文字間隔を補正し、文字認識部１０６において正しく文字認識することが可能となる。
【００５６】
また、図４の傾き補正処理と、図５の奥行き補正処理を別個に説明したが、一つの画像処理として、傾き補正と奥行き補正を行ってもよい。
【００５７】
以上、説明したとおり、本発明の第１実施形態によれば、撮影画像内から人物のゼッケンを検出し、傾き補正や奥行き補正といった画像補正することでゼッケン番号を読み取り、ゼッケン番号と人物画像の紐付けを行うことが可能である。
[第２の実施形態]
【００５８】
続いて、本発明の第２の実施形態について説明する。第２の実施形態は、他人との重なりや本人の手などがゼッケンの前に配置されることによって、ゼッケンの一部が隠れてしまい、正しくゼッケン番号を認識できないという課題に対して、検出したゼッケン文字領域から隠れているゼッケン番号を推測することが特徴である。
【００５９】
第２の実施形態による画像処理装置１１０の一例を説明する。本実施形態では第１の実施形態で説明した画像処理装置１００の構成にフレーム領域検出部１０７および文字数推測部１０８を追加している。
【００６０】
図６は、本発明の第２の実施形態による画像処理装置１１０の一例を示すブロック図である。なお、図１に示す画像処理装置１００と同様の構成要素については同一の参照番号を付して説明を省略する。
【００６１】
フレーム領域検出部１０７は、ゼッケン領域推定部１０３より算出された各ゼッケン推定領域に対して、ゼッケンのフレームとなりうるフレーム領域を検出する。
【００６２】
文字数推測部１０８は、フレーム領域検出部１０７が検出したフレーム領域のフレーム幅などから、均等配置されている各桁の位置座標を推測し、その桁数を算出する。なお、ここでいうフレーム幅とは、ゼッケンの文字が並ぶ方向（長辺方向）のことである。また、フレーム幅に限定するものではなくフレーム高にも適用可能である。
＜画像処理装置１１０の処理フロー＞
【００６３】
図７は、図６に示す画像処理装置１１０が、撮影画像を読み込みゼッケン番号と人物画像との紐付けを行うまでを説明するためのフローチャートである。
【００６４】
撮影画像が指定されると、処理を開始し画像読み込み部１０１が入力画像として撮影画像の読み込みを行う（ステップＳ７０１）。
【００６５】
次に、被写体検出部１０２が読み込んだ入力画像のラスターイメージ全体をスキャンし、人物の可能性のある画像領域を検出する（ステップＳ７０２）。
【００６６】
被写体検出部１０２が入力画像内に人物の可能性がある画像領域が存在するかを判断し（ステップＳ７０３）、人物が存在する場合は、ステップＳ７０４へ進む。人物が存在しない場合は、ステップＳ７０５へ進む。
【００６７】
ステップＳ７０３において、一人以上の人物が存在する場合、ゼッケン領域推定部１０３が人物領域毎にゼッケン文字領域が含まれていると推定してスキャンする領域を決定する（ステップＳ７０４）。スキャンする領域は、入力画像の上下および人物領域の幅より決定し、人物の顔より下方向の領域に設定する。ここで、被写体検出部１０２が用いる検出方法によってスキャンする領域の上下サイズおよび幅を変更してもよい。
【００６８】
ステップＳ７０３において、人物が存在しない場合、入力画像内全体をスキャンする領域に決定する（ステップＳ７０５）。
【００６９】
以下に説明するステップＳ７０６とステップＳ７０７〜ステップＳ７０９は並列処理を行う。
【００７０】
人物毎に決定されたスキャンする領域から、ゼッケン文字領域検出部１０４がゼッケン文字領域を検出する（ステップＳ７０６）。ゼッケン文字領域の候補として、数字や文字などのゼッケン番号と予想される画像領域を検出し、一文字または複数文字を含む画像領域を検出する。
【００７１】
各スキャンする領域において、フレーム領域検出部１０７が垂直方向および水平方向のエッジ線を検出し、その位置関係からゼッケンのフレーム領域を検出する（ステップＳ７０７）。
【００７２】
一つ以上のゼッケンのフレーム領域が検出された場合（ステップＳ７０８でＹｅｓ）は、文字数推測部１０８がステップＳ７０７で検出したフレーム領域のフレーム幅などから、各桁の位置座標の領域を算出する（ステップＳ７０９）。
【００７３】
ゼッケンのフレーム領域が検出されなかった場合（ステップＳ７０８でＮｏ）は、ステップＳ７０９の処理は行わず、ステップＳ７１０へ進む。
【００７４】
入力画像内の全ての人物に対して、ゼッケン文字領域検出部１０４が画像領域を検出したかを判断し（ステップＳ７１０）、未検出の人物が存在する場合(ステップＳ７１０でＮｏ)は、ステップＳ７０４の処理に戻り、全ての人物に対してゼッケン文字領域の検出を行う。
【００７５】
全ての人物のゼッケン文字領域の検出が終了すると(ステップＳ７１０でＹｅｓ。なお、ステップＳ７０３において人物の可能性がある画像領域が見つからない場合を含む)、検出した各ゼッケン文字領域と各フレーム領域に対して、画像処理部１０５が文字認識を行うための画像処理を行う（ステップＳ７１１）。なお、ステップＳ７０６で検出したゼッケン文字領域と、ステップＳ７０９で算出した領域が同等の場合、一つの領域として取り扱うためにゼッケン文字領域と各桁の位置座標の領域を結合してもよい。
【００７６】
全てのゼッケン文字領域の画像処理が終了すると、各ゼッケン文字領域に対して、文字認識部１０６が文字認識を行う（ステップＳ７１２）。
【００７７】
文字認識部１０６が文字認識の結果を人物画像に対して紐付ける（ステップＳ７１３）。すべてのゼッケン文字領域の文字認識が終了するとゼッケン番号と人物画像との紐付け処理を終了する。
＜隠れている文字の推測について＞
【００７８】
図８は、ゼッケンのフレームと文字領域の検出について説明するための図である。
【００７９】
図８（Ａ）は撮影された画像である。画像フレーム８０１は撮影した画像のフレームであり、画像読み込み部１０１がイメージデータをメモリ上に展開する。
【００８０】
人物領域８０２は被写体検出部１０２によって検出された人物領域である。
【００８１】
ゼッケン推定領域８０３は、人物領域８０２に対してゼッケン領域推定部１０３が推定したゼッケン推定領域である。
【００８２】
ゼッケン文字領域８０４は、ゼッケン推定領域３０３に対してゼッケン文字領域検出部１０４が検出したゼッケン文字領域である。
【００８３】
ここで、ゼッケン文字領域８０４の一部が、前方の人物との重なりによって隠れてしまい、文字の一部が文字認識部１０６にて読み取ることができない。
【００８４】
図８（Ｂ）の画像８０５は、一部が隠れたゼッケンの画像の例示である。
【００８５】
フレーム領域検出部１０７は、ゼッケン推定領域８０３内の垂直方向および水平方向に連続した近辺の画素値と閾値以上の変化量を有する画素値のエッジとなる画素（エッジ画素）を検出する。垂直方向および水平方向のエッジ画素の位置、および連続する画素数からゼッケンのフレームとなる近似直線を生成する。
【００８６】
図８（Ｃ）に示すゼッケンフレーム領域８０６は、フレーム領域検出部１０７が生成した近似直線により構成されたゼッケンフレーム領域である。
【００８７】
文字数推測部１０８は、検出されたゼッケンフレーム領域８０６の垂直方向の中間付近を検索し、文字領域とする。
【００８８】
文字領域８０７、文字領域８０８、文字領域８０９、文字領域８１０および文字領域８１１は、文字数推測部１０８が検出した文字領域である。
【００８９】
ここで、文字領域８０７は、ゼッケン文字領域８０４のように隠れている文字に対応する文字領域であり、正しく文字領域が検出されない。
【００９０】
一方、正しく文字領域が検出された文字領域８０８〜文字領域８１１は、各桁の文字幅および垂直方向の位置が等しく検出されている。
【００９１】
文字数推測部１０８は、文字幅が等しい文字領域８０８〜文字領域８１１の各桁と、文字幅が異なる文字領域８０７の関係から、一桁の任意文字と四桁の固定文字の画像であると判断することができる。四桁の固定文字は、画像処理部１０５および文字認識部１０６によって文字認識される。一桁の任意文字は、取りうる文字を当てはめることによって、ゼッケンフレーム内の文字を仮に生成する。ここで、当てはめる文字は、数字の０〜９などの文字を当てはめてもよく、事前に設定したイベントの全ゼッケン番号の文字リストを参照して当てはめてもよい。また、同一画像内には同じ文字列を付けた人物は存在しないことを利用し、排他的に生成することも可能である。
【００９２】
なお、例として文字幅から隠れている文字を推測する場合を図６〜図８を用いて説明したが、これに限定されるものではなく、例示した方向と垂直な方向である文字の高さであってもよい。また、ゼッケン番号の各桁に特定の色を使用しているような場合、検出した文字領域に特定の色が含まれているかどうかで判断することも可能である。
【００９３】
以上、説明したとおり、本発明の第２の実施形態によれば、撮影画像内から効率よく人物のゼッケンを検出し、文字領域の文字幅などから隠れたゼッケン番号の文字を推測することが可能である。
【００９４】
また、本発明の第２の実施形態では、ゼッケン文字領域検出部１０４の処理とフレーム領域検出部１０７および文字数推測部１０８の処理を並列で行うと説明したが、並列に限定するものではなく直列の処理であっても、どちらか一方の処理であってもよい。
[第３の実施形態]
【００９５】
続いて、本発明の第３の実施形態について説明する。本実施形態では動画の再生時間ごとに写っている人物のゼッケン番号を認識させて動画の再生時間とゼッケン番号とを紐付ける動画への適用例について例示する。
【００９６】
第３の実施形態は、動画を再生している動画再生アプリケーション（不図示）を画像処理装置が監視し、逐次、静止画像として切り出して、文字認識を行う。次に切り出した静止画像の動画再生時の再生時間と認識文字を記録する。これにより、ユーザが指定した特定のゼッケン番号の人物が写っている動画の再生時間から再生を開始できることが特徴である。
【００９７】
図９は、本発明の第３の実施形態による画像処理装置９００の一例を示すブロック図である。第１の実施形態における画像処理装置１００（図１）の構成に動画再生部９０１を追加している。図１と同一の構成要素については同一の参照番号を付している。第１の実施形態と第２の実施形態と異なる動画再生部９０１、画像読み込み部１０１および文字認識部１０６について以下に説明する。
【００９８】
画像読み込み部１０１は、第１の実施形態および第２の実施形態で説明した機能に加え、動画から静止画を切り出す（生成する）機能を備えている。ここで、動画の切り出し方は、例えば、所定の時間間隔や動画のフレーム毎である。
【００９９】
動画再生部９０１は、動画再生に必要な情報を取り扱う機能部である。必要な情報とは、再生時間情報や、ユーザから指定された情報などである。再生時間情報とは、動画の開始時点から終了時点までの相対的な時間を示した情報である。ユーザから指定された情報とは、被写体のゼッケン番号である。
【０１００】
動画再生部９０１は、画像処理装置９００が認識対象となる動画（対象動画）の再生時間を指定または検出することによって、動画再生部９０１の内部で保持する再生時間情報を動画再生時間に合わせる。動画再生時間とは、対象となる動画の再生時間である。再生時間情報は画像処理装置９００の動画再生部９０１が保持している情報である。動画再生時間とは動画再生アプリケーションが保持する情報であり、対象となる動画が再生されている先頭からの再生時間に関する情報である。
【０１０１】
ここで、再生時間の指定とは、画像処理装置９００から動画再生アプリケーションを起動して、再生開始させることによって、動画再生時間を推定することによる。また再生時間の検出とは、動画再生部９０１が動画再生アプリケーションの画面上に表示されている経過時間の認識や、動画再生アプリケーションからの通知等によって、再生時間情報を検出することである。
【０１０２】
動画再生部９０１は、画像処理装置９００内の再生経過時間を計測することによって、再生時間情報を逐次更新し、動画の現在の再生時間を推測する。
【０１０３】
文字認識部１０６は、第１の実施形態および第２の実施形態で説明した機能に加え、動画再生部９０１によって算出した再生時間情報毎に、画像読み込み部１０１、被写体検出部１０２、ゼッケン領域推定部１０３、ゼッケン文字領域検出部１０４、画像処理部１０５および文字認識部１０６の各機能部の処理を通して認識した文字を再生時間と紐付けてデータベース（不図示）などの記憶部に記録する。
【０１０４】
動画再生部９０１は、文字認識部１０６がデータベースなどに記録した再生時間情報を参照して、ユーザの所定の操作または外部入力にて選択されたゼッケン番号が認識された再生時間を算出し、対象動画に対して、再生時間を指定しながら、動画再生を行う。
【０１０５】
ここで、再生時間の指定は、動画再生アプリケーションに対して、対象動画の指定とともに行う引数等であり、例えば、インターネットのＹｏｕＴｕｂｅ（登録商標）の動画再生においては、ブラウザアプリケーションに対して、対象動画のパスと共に#t=(再生開始時間)を記載して、開始する再生時間を指定することができる。
＜画像処理装置９００の処理フロー＞
【０１０６】
図１０は、図９に示す画像処理装置９００が、動画再生の同期を行い、ユーザが選択したゼッケン番号のランナーを動画再生するためのフローチャートである。ここで同期とは、再生時間情報を動画再生時間に合わせることをいう。
【０１０７】
対象動画を動画再生部９０１にて、再生開始時間を指定して再生、または再生中の動画の現在の再生時間を検出することにより、動画再生部９０１の再生時間情報を動画再生時間に合わせる（ステップＳ１００１）。例えば、画像処理装置９００から動画再生を始めから開始させることによって、再生時間情報＝０として、同期させることができる。ここで、対象動画は、単体のアプリケーションが再生する動画ファイルでもよい。例えば、インターネットのサーバから配信されるストリーミング動画であり、動画再生アプリケーションの表示ウィンドウ領域内に動画再生されていればよい。
【０１０８】
次に、逐次、動画から静止画として画像読み込みと文字認識処理を行うにあたって、動画表示領域内から再生時間の認識や、同期後の再生時間情報のカウントによって、動画の現在の再生時間情報をデータベースの文字認識結果と再生時間情報を紐付けるために算出する（ステップＳ１００２）。
【０１０９】
画像読み込み部１０１は、特定の動画再生アプリケーションの表示ウィンドウ領域を検出し、表示されているイメージ内容をメモリまたはファイルにコピーし、認識処理の入力画像（静止画）を生成する（ステップＳ１００３）。
【０１１０】
ステップＳ１００３にて生成された入力画像に対して文字認識を行う（ステップＳ１００４）。文字認識の詳細については、第１の実施形態の図２のフローチャート（ステップＳ２０１〜ステップＳ２１０）または第２の実施形態の図７のフローチャート（ステップＳ７０１〜ステップＳ７１３）を適用する。
【０１１１】
動画再生部９０１は、ステップＳ１００２にて算出した再生時間情報とステップＳ１００４で認識した文字を記録する（ステップＳ１００５）。ここで、記録先は、画像処理装置９００に配置されているメモリやファイルであり、またインターネットのサーバに対する通知としてもよい。
【０１１２】
対象動画の再生が終了したかを確認し、対象動画の再生が続行している場合（ステップＳ１００６でＮｏ）は、ステップＳ１００２に戻り、次の再生時間情報の算出と入力画像の文字認識を行う。
【０１１３】
対象動画の再生が終了した場合（ステップＳ１００６でＹｅｓ）は、ステップＳ１００５で記録した認識文字の情報に基づき、認識文字をダイアログ等に表示し、ユーザに所定の操作により選択させる（ステップＳ１００７）。なお、外部入力によって選択させてもよく、その場合の一例として他のアプリケーションから再生したい認識文字の指定がなされてもよい。
【０１１４】
ユーザが特定の認識文字を選択しない場合（ステップＳ１００８でＮｏ）は、処理を終了させる。
【０１１５】
ユーザがダイアログ内に表示された認識文字の中から、特定の認識文字を選択した場合（ステップＳ１００８でＹｅｓ）は、ステップＳ１００５で記録した再生時間情報を参照して、ステップＳ１００８にて選択された認識文字の再生時間を検出し、対象動画に対して、再生時間を指定しながら、動画再生を行う（ステップＳ１００９）。
【０１１６】
ここで、再生時間を指定するオプションは、動画ファイルを再生するアプリケーションや、ストリーミング動画を再生するインターネットサーバに対して行うものである。
【０１１７】
なお、図１０の処理フローにおいて、動画再生が終了した後に、ユーザの認識文字選択ステップ（ステップＳ１００７）と時間指定を伴う動画再生ステップ（ステップＳ１００９）を設けた。しかし、サーバと複数のクライアントコンピュータから構成されるインターネットのストリーミング動画のような場合は、一台のクライアントコンピュータ上の本画像処理装置のステップＳ１００６にて動画再生が終了する前に、ステップＳ１００５でサーバに通知した再生時間情報と認識文字の情報により、他のクライアントコンピュータにてステップＳ１００７の認識文字選択ステップとステップＳ１００９の動画再生ステップを行うことも可能である。
【０１１８】
動画内の複数シーンにおいて、ユーザが選択した認識文字が出現する場合は、ステップＳ１００９にて、複数回の時間指定のオプションを用いて、動画再生を行ってもよい。
【０１１９】
以上、説明したとおり、本発明の第３の実施形態によれば、再生動画の中から人物のゼッケンを検出し、再生時間とゼッケン番号を紐付けて記憶し、そのゼッケン番号を指定することによって、再生動画の中から特定のゼッケン番号の人物が映っている動画を再生することが可能である。
【０１２０】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において適宜変更可能である。
【０１２１】
なお、本実施形態では被写体を人物として説明したが、人物に限定したものではなく被写体は動物、車両などでもよい。また、撮影画像内の人物画像に文字認識結果を紐付けるとして説明したが、撮影画像そのものに紐付けてもよい。
【０１２２】
加えて、横書きの文字列を例に説明したが、これに限定されるものではなく、縦書きの文字列や斜め方向の文字列などに適用してもよい。
【０１２３】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給システム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して処理を実行することによっても達成することができる。
【０１２４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
【０１２５】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成しても良い。
【０１２６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
【０１２７】
なお、プログラムコードを供給するため、例えば、フロッピー（登録商標)ディスク、ハードディスク、光磁気ディスク、ＣＤやＤＶＤに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
【符号の説明】
【０１２８】
１００、１１０、９００：画像処理装置
１０１：画像読み込み部
１０２：被写体検出部
１０３：ゼッケン領域推定部
１０４：ゼッケン文字領域検出部
１０５：画像処理部
１０６：文字認識部
１０７：フレーム領域検出部
１０８：文字数推測部
９０１：動画再生部
【図１】
0006430914.tif 000002
【図２】
0006430914.tif 000003
【図３】
0006430914.tif 000004
【図４】
0006430914.tif 000005
【図５】
0006430914.tif 000006
【図６】
0006430914.tif 000007
【図７】
0006430914.tif 000008
【図８】
0006430914.tif 000009
【図９】
0006430914.tif 000010
【図１０】
0006430914.tif 000011