JP6662582B2 - 画像処理装置、画像処理方法および画像処理システム - Google Patents

画像処理装置、画像処理方法および画像処理システム Download PDF

Info

Publication number
JP6662582B2
JP6662582B2 JP2015116189A JP2015116189A JP6662582B2 JP 6662582 B2 JP6662582 B2 JP 6662582B2 JP 2015116189 A JP2015116189 A JP 2015116189A JP 2015116189 A JP2015116189 A JP 2015116189A JP 6662582 B2 JP6662582 B2 JP 6662582B2
Authority
JP
Japan
Prior art keywords
image
processing
unit
image processing
character
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.)
Expired - Fee Related
Application number
JP2015116189A
Other languages
English (en)
Other versions
JP2017004185A5 (ja
JP2017004185A (ja
Inventor
泰 稲葉
泰 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Imaging Systems Inc
Original Assignee
Canon Imaging Systems 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 Imaging Systems Inc filed Critical Canon Imaging Systems Inc
Priority to JP2015116189A priority Critical patent/JP6662582B2/ja
Priority to PCT/JP2016/067469 priority patent/WO2016199933A1/ja
Priority to US15/574,968 priority patent/US20180129915A1/en
Publication of JP2017004185A publication Critical patent/JP2017004185A/ja
Publication of JP2017004185A5 publication Critical patent/JP2017004185A5/ja
Application granted granted Critical
Publication of JP6662582B2 publication Critical patent/JP6662582B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、マラソン大会などのイベントで撮影された写真の画像処理方法に関するものである。
テーマパークやイベント会場などで来園者やイベント参加者などの人物画像をカメラで撮影してデータベースに登録し、来園者やイベント参加者などがデータベースを検索し、所望の人物画像を選択して購入できる画像注文システムがある。
本出願人は、この様な画像注文システムにおいて、人物画像からイベント参加者のゼッケン番号の認識精度を向上させる目的で、入力画像から人物を検出し、検出した人物の顔位置からゼッケンが存在する領域を推定し、推定した領域からゼッケン番号を含む領域を検出することで、検出した領域に対して画像処理を行い、画像処理後の画像からゼッケン番号の文字認識を行い、認識結果と入力画像との紐付けを行う画像処理装置を提案している(特許文献1参照)。
さらに、本出願人は、ゼッケン番号が不明確な場合に複数の入力画像間で画像を比較することにより被写体とゼッケン番号の紐付けを行う画像処理装置を提案している(特許文献2参照)。
特願2014−259258 特願2015−075185
本発明は、出願人自らが先に提案した特許文献1および特許文献2の画像処理装置をさらに拡張・発展させ、大量の撮影画像を処理する画像処理装置において、画像処理の並列化および同期を行うことで従来と比較し処理速度を向上させ、ゼッケン番号の認識精度を向上させた画像処理装置を提供することを目的とする。
上記の課題を解決するために、請求項1に記載の画像処理装置は、複数の入力画像を順次または並列に対象画像として繰り返し処理を行う画像処理装置であって、前記複数の入力画像の処理順序の決定を行なう処理制御部と、前記処理制御部で決定された前記処理順序に従って、処理単位が前記対象画像内に存在する被写体を特定するための識別情報の認識処理を行い、当該認識処理結果と前記対象画像との紐付けを行う第一の画像処理を、前記複数の入力画像に対して非同期で行う一枚処理部と、前記処理単位が、前記対象画像に対する前記第一の画像処理と、当該対象画像と前記処理順序の前または後に連続して位置する参照画像に対する前記第一の画像処理がすべて終了したか否かを判定し、前記第一の画像処理がすべて終了したと判定された場合であって、前記一枚処理部で処理された前記対象画像内に前記識別情報が紐付けられていない被写体が存在する場合に、前記対象画像と前記参照画像との類似度の比較を行い、当該比較結果に基づいて前記参照画像のいずれか1つに紐付けられた識別情報を前記対象画像に紐付ける第二の画像処理を行う一方、前記第一の画像処理が終了していないと判定された場合には、前記第二の画像処理の実行を待機する複数枚処理部と、を備えることを特徴とする。
本発明によれば、撮影画像へのゼッケン番号の紐付け処理を高速に、かつ高精度に行うことが可能となる。
本発明の第1の実施形態による画像処理装置100の一例を示すブロック図である。 画像処理装置100が、並列処理を行いながらゼッケン番号と対象画像との紐付けを行うまでを説明するための処理状態図である。 画像処理装置100が、並列処理を行いながらゼッケン番号と対象画像との紐付けを行うまでを説明するためのフローチャートである。 画像処理装置100が、顔の特徴量に基づいてゼッケン番号と人物画像との紐付けを行うまでの実施形態の画像である。 画像処理装置100が、ゼッケン番号と対象画像との紐付けを行うまでを説明するための本発明の第2の実施形態における処理状態図である。 画像処理装置100が、ゼッケン番号と対象画像との紐付けを行うまでを説明するための本発明の第2の実施形態におけるフローチャートである。 本発明の第3の実施形態による画像処理装置600の一例を示すブロック図である。 画像処理装置600が、ゼッケン番号と対象画像との紐付けを行うまでを説明するための処理状態図である。 画像処理装置600が、ゼッケン番号と対象画像との紐付けを行うまでを説明するためのフローチャートである。
以下、本発明の実施形態による画像処理装置の一例について図面を参照して説明する。
[第1の実施形態]
<画像処理装置100の構成>
図1は、本発明の第1の実施形態による画像処理装置100の一例を示すブロック図である。
図示の画像処理装置100は、パーソナルコンピュータ(PC)などの装置である。携帯電話や、PDA、スマートフォンやタブレット端末などの装置でもよい。
画像処理装置100は、ハードウェア構成として、CPU、メモリ、通信部、および記憶部(ともに不図示)を備えている。なお、メモリは、後述する各スレッドの処理時にグローバルメモリとして使用される。
CPUは画像処理装置100の全体の制御を司る。メモリはRAMおよびROMなどである。
通信部はLAN、無線通信路およびシリアルインターフェースなどに接続するためのインターフェースであって、撮影装置から撮影画像を受信するための機能部である。
記憶部には、ソフトウェアであるオペレーティングシステム(以下、OSと呼ぶ:不図示)、画像読み込み部101、画像ソート部102、一枚処理部110、複数枚処理部120、処理制御部130および他の機能に係るソフトウェアが記憶されている。なお、これらのソフトウェアはメモリに読み出されて、CPUの制御に従い動作する。
以下、各機能部が備える機能について詳述していく。
画像読み込み部101は、撮影画像およびディスプレイ描画などを入力画像としてメモリから読み込み、画像処理装置100のメモリ上に展開させる。具体的には、JPEGファイルなどの圧縮されたイメージファイルを解凍し、各画素単位のRGB値順に配列したラスターイメージに展開し、PC内のメモリ上に展開させる。このとき、読み込んだ入力画像の画素数が十分に大きくない場合は、被写体検出部111における被写体の検出や、画像処理部114、文字認識部115での認識精度を十分に保つため、画素間を補間し、十分な画素数に拡大してもよい。また、必要以上に画素数が大きい場合は、処理を高速化させるために、画素を間引いて、縮小してもよい。また、入力画像の縦横関係を補正するために、必要に応じて撮影画像を回転させてもよい。
画像ソート部102は、画像処理装置100のメモリ上に展開された入力画像を所定の順序でソートする。例えば、入力画像の更新時間・作成時間または入力画像内に記録されたイメージの撮影時間を取得し、時系列で入力画像をソートする。ここで、入力画像のファイルフォーマットは例えばJPEGであり、入力画像が数万枚以上と膨大になる場合には、ソート処理に膨大な時間がかかるため、数十枚単位で区分するなどソートする単位を変更してもよい。
一枚処理部110は、被写体検出部111、ゼッケン領域推定部112、ゼッケン文字領域検出部113、画像処理部114および文字認識部115を備え、画像ソート部102でソートされた順に入力画像を一枚ずつ処理する機能部である。例えば、時系列に早い順または遅い順で並んだ入力画像を処理する。
被写体検出部111は、入力画像内に存在するそれぞれの被写体領域を検出する。被写体の検出方法は、例えば、被写体が人物である場合、人物の顔、口や目などの器官の特徴による検出方法や、頭部の形状特徴による検出方法、人物の肌領域などの色相による検出などがあり、これに限定したものではなく、複数の検出方法を組み合わせてもよい。以下、被写体を人物として説明する。
ゼッケン領域推定部112は、被写体検出部111により検出された入力画像内の人物領域から、顔の位置や肩幅のサイズに基づき、顔より下方向の胴体部分にゼッケン文字領域が存在していると推測する。なお、ゼッケンだけに限定したものではなく、ユニフォームの背番号や被写体の一部に直接書かれた識別情報などでもよい。また、下方向に限定し推測するものではなく、人物の姿勢や撮影画像の構図によって適宜変更可能である。
ゼッケン文字領域検出部113は、ゼッケン領域推定部112により推定された各領域に対して、文字となりうる領域を検出する。ここで文字は、数字、アルファベット、平仮名、片仮名、漢字、数字および記号やバーコードのパターンなど被写体を一意に識別できる識別子のことである。
画像処理部114は、ゼッケン文字領域検出部113の各領域に対して、文字認識を行うための前処理となる画像処理を行う。
文字認識部115は、画像処理部114が処理した入力画像に対して、候補となる文字の画像特徴を記載した辞書データベース(不図示)に基づき、文字認識を行い、その認識結果を人物画像と紐付ける。人物画像とは、入力画像中の人物が存在する部分である。
複数枚処理部120は、特徴量算出部121、特徴量比較部122、文字紐付け部123を備えており、一枚処理部110の処理結果に基づき、対象とする入力画像を時間的に前後する画像を参照して処理するための機能部である。
特徴量算出部121は、入力画像内に存在する各人物や人物領域を検出し、人物の顔、口や目などの器官の特徴量や、人物領域の色相や、画像に対する人物の構図などを基にした特徴量を算出する。ここで、一つの特徴から特徴量としてもよいし、複数の特徴量を組み合わせて、入力画像の特徴量としてもよい。
特徴量比較部122は、特徴量算出部121により算出された入力画像内の特徴量に対し、複数枚間での比較を行う。このとき対象とする入力画像を対象画像とし、画像ソート部102より撮影時間等でソートされた前後n枚ずつの入力画像を参照画像とする。ここで、前後n枚ずつの入力画像の枚数は、イベント状況や撮影画像の撮影間隔などによって変化させてもよい。また、入力画像(例えばJPEG画像)内の撮影時刻などに基づいて一定時間内に撮影された入力画像という条件で可変することも可能である。加えて、参照画像は必ずしも対象画像の前後の参照画像ではなく、前のみの参照画像、後のみの参照画像または前後の参照画像がない場合もある。
文字紐付け部123は、特徴量比較部122の結果にて、対象画像と参照画像の類似度が高い場合に、参照画像に紐付けられたゼッケン番号を対象画像に紐付ける。ここで、紐付ける対象は、対象画像内の被写体としてもよいし、撮影画像そのものに紐付けてもよい。
処理制御部130は、画像読み込み部101から文字紐付け部123まで全体の処理プロセスの順番付けを決定し、各プロセスの生成と破棄を行う。各プロセスの生成において、各処理が遅延しないようプロセス数を決定し、1または複数のプロセスを生成する。生成するプロセス数は、事前に定義された固定数でもよいし、動作環境のコンピュータのメモリ容量や入力画像のサイズ等に基づき、動的にプロセス数を決定してもよい。
ここでプロセスとは、関連する実行ファイルおよび設定情報等がコンピュータメモリ上に読み込まれ、何らかのまとまった処理を実行するアプリケーションプログラムであり、処理の実行単位に相当する。
<画像処理装置100の処理状態>
図2は、図1に示す画像処理装置100が、並列処理を行いながら、ゼッケン番号と対象画像との紐付けを行うまでを説明するための第1の実施形態における処理状態図である。
一枚処理200は画像読み込み部101、画像ソート部102および一枚処理部110が実行する各処理を表している。画像読み込み部101および画像ソート部102が処理する画像生成処理202、被写体検出部111が処理する人物検出処理203、ゼッケン領域推定部112およびゼッケン文字領域検出部113が処理する文字領域検出処理204、画像処理部114および文字認識部115が処理する文字認識処理205、文字認識部115が処理する文字紐付け処理206から構成される。複数枚処理201は複数枚処理部120が実行する処理を表している。特徴量算出部121、特徴量比較部122および文字紐付け部123が処理する特徴量算出比較処理207からなる。
入力画像A用スレッド210〜入力画像I用スレッド218(以降「スレッド210〜スレッド218」と記載)は、画像ソート部102にて撮影時間等でソートされた画像A〜画像Iを読み込んだスレッドである。ここで、入力画像の順番は、撮影時間の古い順に画像Aから画像Iとして説明するが、必ずしも古い順である必要はなく、新しい順に処理を行ってもよい。ここでスレッドとは、処理制御部130内で生成される並列可能な処理単位を示しており、一枚処理部110および複数枚処理部120の各処理を実行するものである。処理制御部130は各入力画像に対して一つのスレッドを割り当て、各処理を行うプロセスをスレッドが呼び出して、対象画像を処理させるものである。
ここで、スレッド210〜スレッド218は、並列で画像生成処理202〜特徴量算出比較処理207によって処理されている。画像ソート部102によってソートされたソート順に画像生成処理202〜特徴量算出比較処理207によって処理され、スレッド210〜スレッド218の順で時系列に処理されていることを示している。各スレッドはグローバルメモリに記録され、他のスレッドの状態を監視することができる。ここで、グローバルメモリとは、全てのスレッドから読み書きができるメモリである。
状態220〜状態228は、スレッド210〜スレッド218が、画像生成処理202〜特徴量算出比較処理207によって処理されている状態を示す。ここで、状態223、状態224、状態225、状態226および状態227は、各スレッドの画像が対応する一枚処理200で処理中であることを表す(黒丸にて表記)。状態220および状態222は、各スレッドの画像が対応する一枚処理200または複数枚処理201で処理完了の状態であることを表す(白丸にて表記)。また、状態221および状態228は、各スレッドの画像が対応する一枚処理200または複数枚処理201で関連する処理が完了するまでの待ちの状態であることを表す(網掛け丸にて表記)。スレッド211では、特徴量算出比較処理207におけるスレッド212を監視して、処理待ち状態であり、スレッド218では同じ画像生成処理202のスレッド217を監視して、処理の完了待ち状態である。
画像生成処理202〜特徴量算出比較処理207にて、処理可能な画像は一つであるため、処理中の状態(黒丸)は、各処理に一つまたはなしである。スレッド218は、入力画像Hのスレッド217の画像生成処理202の処理が終了するまで待機する必要があり、処理待ち(網掛け丸)の状態にある。スレッド217の処理が完了すれば、スレッド218は処理中(黒丸)に移行する。
スレッド212は、入力画像Cの文字紐付け処理206が完了した状態である(白丸)。やがて、次の特徴量算出比較処理207に移り、処理待ちまたは処理中の状態に移行する。
一枚処理200の画像生成処理202〜文字紐付け処理206の機能に対して、各スレッドは干渉せず、前の処理が終了すれば、順次処理状態へ移行する。
一方、複数枚処理201の特徴量算出比較処理207を実行するスレッド211は、対象画像となる入力画像Bと参照画像となる前の入力画像Aと後の入力画像Cの間で同期をとる必要がある。ここで、入力画像Aは少なくとも文字紐付け処理206が終了しているが、入力画像Cは文字紐付け処理206が終了していない場合があるためである。その場合、同期をとらないで特徴量算出比較処理207を行うと、文字紐付け処理206が終了していない場合に、適切な紐付けがされていない参照画像との比較を行うことで対象画像と前後の参照画像を使用した文字紐付け部123のゼッケン番号の紐付けが適切に行われない。そのため、入力画像Bの特徴量算出比較処理207は、入力画像Cの文字紐付け処理206が終了するまで待機する。複数枚処理201で前後の参照画像との同期を取ることにより、ゼッケン番号を紐付ける精度の向上が可能である。
<画像処理装置100の処理フロー>
図3は、図1に示す画像処理装置100が、並列処理を行いながらゼッケン番号と対象画像との紐付けを行うまでを説明するためのフローチャートである。
以下の説明において、対象とする入力画像を対象画像、ソートによって対象画像と連続し、時間的に連続した前後n枚ずつの入力画像を参照画像とする。ここで、前後n枚ずつの入力画像の枚数は、イベント状況や撮影画像の撮影間隔などによって変化させてもよい。また、入力画像(例えばJPEG画像)内の撮影時刻などに基づいて一定時間内に撮影された入力画像という条件で可変することも可能である。加えて、参照画像は必ずしも対象画像の前後の参照画像ではなく、前のみの参照画像、後のみの参照画像または前後の参照画像がない場合もある。
まず、撮影画像全体の処理について図3Aのフローチャートを用いて説明する。
画像生成処理202を行う。具体的には、画像読み込み部101が入力画像として対象画像および前後n枚ずつの(2n+1)枚の読み込みを行い処理を開始し、画像ソート部102が読み込んだ(2n+1)枚を撮影時間などに基づき時間的に連続した画像としてソートを行う(ステップS301)。ここで画像読み込み部101は、画像が圧縮されている場合に圧縮画像の解凍を行う。また、解凍したイメージを回転補正してもよい。ソートすることによって、顔認証した場合に、時系列で前後する他の入力画像内に対象人物が写っている場合が多くなるためである。
一枚処理部110および複数枚処理部120が、入力画像として読み込んだ(2n+1)枚について図2で説明したように並列で処理を行う(ステップS302)。詳細は図3Bで後述する。
複数枚処理部120が、すべての撮影画像について処理が完了したか判断する(ステップS303)。処理が完了した場合(ステップS303でYes)は、処理フローを終了する。すべての撮影画像について処理が完了していない場合(ステップS303でNo)は、ステップS301へ戻り次の入力画像として(2n+1)枚を読み込む。
次に、ステップS302の処理について図3Bのフローチャートを用いて説明する。
ステップS311〜ステップS318までは一枚処理部110が行う処理であり、ステップS319〜ステップS327は複数枚処理部120が行う処理である。
まず、人物検出処理203を行う。被写体検出部111が読み込んだ対象画像のラスターイメージ全体をスキャンし、人物の可能性のある画像領域が存在するか判断する(ステップS311)。
対象画像内に人物の可能性がある画像領域が存在する場合(ステップS311でYes)は、ステップS312へ進む。対象画像内に人物の可能性がある画像領域が存在しない場合(ステップS311でNo)は、処理フローを終了する。
被写体検出部111が対象画像内の人物の可能性がある画像領域から人物を検出する(ステップS312)。
ステップS313〜ステップS315は文字領域検出処理204である。
ゼッケン領域推定部112は、被写体検出部111が検出した人物領域毎にゼッケン文字領域が含まれていると推定してスキャンする領域を決定する(ステップS313)。スキャンする領域は、入力画像の上下および人物領域の幅より決定し、人物の顔より下方向の領域に設定する。ここで、被写体検出部111が用いる検出方法によってスキャンする領域の上下サイズおよび幅を変更してもよい。
人物毎に決定されたスキャンする領域から、ゼッケン文字領域検出部113がゼッケン文字領域を検出する(ステップS314)。ゼッケン文字領域の候補として、数字や文字などのゼッケン番号と予想される画像領域を検出し、一文字または複数文字を含む画像領域を検出する。ここでゼッケン番号と表現しているが、数字に限定されるものではない。
対象画像内のすべての人物に対して、ゼッケン文字領域検出部113が画像領域を検出したかを判断し(ステップS315)、未検出の人物が存在する場合(ステップS315でNo)は、ステップS313の処理に戻り、すべての人物に対してゼッケン文字領域の検出を行う。
ステップS316〜ステップS317は、文字認識処理205である。
対象画像内のすべての人物についてゼッケン文字領域の検出が終了(ステップS315でYes)すると、検出した各ゼッケン文字領域に対して、画像処理部114が文字認識を行うための前処理となる画像処理を行う(ステップS316)。ここで画像処理とは、歪み補正、傾き補正、奥行き補正などである。詳細な処理の説明は、本出願人が先に提出した特願2014−259258にて説明している。
すべてのゼッケン文字領域の画像処理が終了すると、各ゼッケン文字領域に対して、文字認識部115が文字認識を行う(ステップS317)。
文字紐付け処理206を行う。文字認識部115が文字認識の結果を人物画像に対して紐付ける(ステップS318)。
すべてのゼッケン文字領域の文字認識が終了すると1枚の入力画像(ここでは対象画像)の処理を終了する。
同様に前後n枚ずつの参照画像においても、ステップS311〜ステップS318の人物検出と文字認識を行い、人物画像に対して紐付けられた文字の結果を得ることができる。
ここまでの入力画像についての一枚処理200に関するステップS301、ステップS311〜S318では、図2に示すように、各処理がそれぞれの画像と結び付けられたスレッドに対して、並列して動作し、先の処理が完了したことを確認して、それぞれのスレッドが処理を進める。
対象画像は、複数枚処理201である特徴量算出比較処理207へ移る。
複数枚処理部120を実行するスレッドが、対象画像と同様に参照画像について文字認識の結果について紐付けを終えているか判断する(ステップS319)。対象画像と参照画像について紐付けがすべて終わっている場合はステップS320へ進む。終わっていない場合はステップS319へ戻り、対象画像および参照画像の(2n+1)枚の紐付けが終わるまで待機し、複数のスレッド間で同期の処理を行う。同期の処理を行うことで文字認識の結果について紐付けが終わっている参照画像を利用した複数枚処理部120の処理を行うことができる。図2で説明したスレッド211の状態221が、この同期をとるための待機状態を示している。
文字認識部115が対象画像内で文字が紐付けられていない人物がいるか検出する(ステップS320)。対象画像内のすべての人物に適当な文字が紐付けられている場合(ステップS320でNo)、処理フローを終了する。
何らかの文字が紐付けられていない人物がいる場合(ステップS320でYes)、文字認識部115が前後n枚ずつの参照画像内の何らかの文字が紐付けられた人物を検出する(ステップS321)。
参照画像内で何らかの文字が紐付けられた人物がいる場合(ステップS321でYes)、特徴量算出部121が対象画像内の文字が紐付けられていない人物の特徴量を算出する(ステップS322)。参照画像内で何らかの文字が紐付けられた人物がいない場合(ステップS321でNo)、処理フローを終了する。
次に、特徴量算出部121が参照画像内で何らかの文字が紐付けられた人物の特徴量を算出する(ステップS323)。
なお、対象画像と参照画像の特徴量の算出および文字の紐付けについて詳細な処理の説明は、本出願人が先に提出した特願2015−075185にて説明している。
特徴量比較部122が対象画像の文字が紐付けられていない人物の特徴量と、参照画像内で文字が紐付けられた人物の各特徴量において、それぞれの類似度を算出する(ステップS324)。類似度は、例えば値100を持って規格化され、類似度が高いほどそれぞれの特徴量が酷似しており、同一人物である可能性が高い事を示している。
そしてステップS324で算出された類似度の中から、特徴量比較部122が、類似度の最大値を算出する(ステップS325)。
類似度の最大値が、事前に決定づけられた閾値以上あるかを判断する(ステップS326)。閾値以上の場合(ステップS326でYes)は、文字紐付け部123が参照画像内の最大値にあたる特徴量に対応する人物に紐付けられた文字を、対象画像内の文字が紐付けられていない人物に紐付けする(ステップS327)。閾値未満の場合(ステップS326でNo)は、処理フローを終了する。
ここで、類似度の閾値は、機械学習等によって算出された固定の値でもよく。また、顔向き毎に閾値を変えてもよい。また対象画像の解像度や状態等によって、動的に変化させることも可能である。
図4は、入力画像の一例であり、本図を使って、画像処理装置100が、顔の特徴量に基づいてゼッケン番号と人物画像との紐付けを行うまでを説明する。
画像401および画像402は同じ人物を撮影した画像であり、画像ソート部102がソートした場合に時間的に連続する入力画像である。この画像401および画像402を用いて図3Bで説明したフローの各ステップを説明する。
画像401は、顔が正面を向いているが、胴体が横向きでありゼッケン番号の一部が隠れてしまい、ゼッケン番号を文字認識部115がすべて認識することができない。画像処理部114および文字認識部115にて、画像処理して数字を認識するが、正しく数字を認識できない結果となることがステップS311〜ステップS318を通して分かっているものとする。
また、画像402は、同様に顔が正面を向いており、ゼッケン番号を文字認識部115がすべて正しく認識することができることがステップS311〜ステップS318を通して分かっているものとする。
ステップS319において、複数枚処理部120が画像401と画像402の紐付けを終了したと判断し、ステップS320に進む。
ステップS320において、文字認識部115が画像401で人物検出したが、紐付けられている文字がないため、ステップS321にて文字認識部115が、連続した画像402に文字が紐付けられた人物がいるかを判断する。
ステップS322において、特徴量算出部121が画像401の人物の顔の特徴量を算出する。次にステップS323にて、特徴量算出部121が画像402の人物の顔特徴量を算出する。
ステップS324において、特徴量比較部122が、ステップS322およびステップS323で算出した顔の特徴量の類似度を算出する。
ステップS325において、特徴量比較部122が類似度の最大値を算出する。ステップS326にて、閾値と比較し、類似度の最大値が閾値以上であるので、ステップS327において文字紐付け部123が画像402の文字を画像401の人物に紐付ける。
以上、説明したとおり、本発明の第1の実施形態によれば、時間的に連続した他の入力画像の人物の特徴量を用いてゼッケンの文字を紐付ける場合に、入力画像の一枚処理を並列化し、さらに複数枚処理において一枚処理が終わるまで待機し同期をとることにより、処理を従来と比較し高速化し、ゼッケン番号の認識精度を向上させることが可能である。
[第2の実施形態]
続いて、本発明の第2の実施形態について説明する。第1の実施形態では、入力画像の各スレッドを並列化し処理を高速化すること説明した。第2の実施形態では、一枚処理200および複数枚処理201の各処理の中でボトルネックとなる処理を多重化することで、さらに処理を高速化することを説明する。システム構成としては、図1と同等であるため、説明を省略する。
<第2の実施形態の処理状態>
図5は、図1に示す画像処理装置100が、並列処理を行いながら、ゼッケン番号と対象画像との紐付けを行うまでを説明するための第2の実施形態の処理状態図である。
一枚処理200は画像読み込み部101、画像ソート部102および一枚処理部110が実行する各処理を表している。画像読み込み部101および画像ソート部102が処理する画像生成処理202、被写体検出部111が処理する人物検出処理203、ゼッケン領域推定部112およびゼッケン文字領域検出部113が処理する文字領域検出処理204および文字領域検出処理504、画像処理部114および文字認識部115が処理する文字認識処理205、文字認識部115が処理する文字紐付け処理206から構成される。
複数枚処理201は複数枚処理部120が実行する処理を表している。特徴量算出部121、特徴量比較部122および文字紐付け部123が処理する特徴量算出比較処理207および特徴量算出比較処理507からなる。
ここで、文字領域検出処理204は多重化され、同じ処理である文字領域検出処理504が生成されている。特徴量算出比較処理207も多重化され、同じ処理である特徴量算出比較処理507が生成されている。プログラムとしては、文字領域検出処理204と同じ実行ファイルから、異なるメモリ上に読みこまれ、異なるプロセスとして、文字領域検出処理504が生成されている。したがって、文字領域検出処理204と文字領域検出処理504は、同等の処理を行うが、それぞれ干渉することなく動作することができる。
多重化する処理は、処理に時間がかかり並列処理においてボトルネックになる処理である。ここで、文字領域検出処理と特徴量算出比較処理をそれぞれ2つに多重化しているが、コンピュータ全体のメモリやCPUの能力を考慮して、多重化する処理や多重化する数を変化させてもよい。
入力画像A用スレッド510〜入力画像I用スレッド518(以降「スレッド510〜スレッド518」と記載)は、画像ソート部102にて撮影時間等でソートされた画像A〜画像Iを読み込んだスレッドである。入力画像の順番は、撮影時間の古い順に画像Aから画像Iとして説明するが、必ずしも古い順である必要はなく、新しい順に処理を行ってもよい。
ここで、スレッド510〜スレッド518は、並列で画像生成処理202〜特徴量算出比較処理507によって処理されている。画像ソート部102によってソートされたソート順に画像生成処理202〜特徴量算出比較処理507によって処理され、スレッド510〜スレッド518の順で時系列に処理されていることを示している。各スレッドはグローバルメモリに記録され、他のスレッドの状態を監視することができる。
状態520〜状態528は、スレッド510〜スレッド518が、画像生成処理202〜特徴量算出比較処理507によって処理されている状態を示す。ここで、状態520、状態521、状態523〜状態527、状態528は、各スレッドの画像が対応する一枚処理200または複数枚処理201で処理中であることを表す(黒丸にて表記)。状態522は、各スレッドの画像が対応する処理で処理完了の状態であることを表す(白丸にて表記)。
画像生成処理202〜特徴量算出比較処理507にて、処理可能な画像は一つであるため、処理中の状態(黒丸)は、各処理に一つまたはなしである。多重化された文字領域検出処理504および特徴量算出比較処理507は、それぞれ文字領域検出処理204および特徴量算出比較処理207と並列して処理を行うことができる。
各スレッドにおいて多重化されている処理は、互いに干渉することなく、独立して動作することが可能であり、空き状態に変化した処理に対して実行することができる。
複数枚処理201である特徴量算出比較処理207および507を実行するスレッドは、前後の参照画像の文字紐付け処理206が終了するまで待機し同期をとる。同期をとらないで特徴量算出比較処理207を行うと、文字紐付け処理206が終了していない場合に、適切な紐付けがされていない参照画像との比較を行うことで対象画像と前後の参照画像を使用した文字紐付け部123のゼッケン番号の紐付けが適切に行われないためである。例えば、前後の参照画像の数がそれぞれ1の場合、スレッド510の対象画像Aは、特徴量算出比較処理207にて、前の参照画像がないため後の参照画像Bと同期をとり、状態520の処理中の状態(黒丸)となる。また、スレッド511の対象画像Bは、多重化された特徴量算出比較処理507にて、参照画像Aと参照画像Cと同期をとり、状態521の処理中の状態(黒丸)となる。
<第2の実施形態の処理フロー>
図6は、図1に示す画像処理装置100が、並列処理を行いながらゼッケン番号と対象画像との紐付けを行うまでの第2の実施形態を説明するためのフローチャートである。
以下の説明において、第1の実施形態と同様に、対象とする入力画像を対象画像、ソートによって対象画像と連続し、時間的に連続した前後n枚ずつの入力画像を参照画像とする。
撮影画像全体の処理は、第1の実施形態において図3Aで説明したステップS301〜ステップS303と同様である。一枚処理部110と複数枚処理部120が、入力画像として読み込んだ(2n+1)枚について並列で行うステップS302の本実施形態における詳細について図6を用いて説明する。
ステップS601〜ステップS609までは一枚処理部110が行う処理であり、ステップS610〜ステップS619は複数枚処理部120が行う処理である。
まず、人物検出処理203を行う。被写体検出部111が読み込んだ対象画像のラスターイメージ全体をスキャンし、人物の可能性のある画像領域が存在するか判断する(ステップS601)。
対象画像内に人物の可能性がある画像領域が存在する場合(ステップS601でYes)は、ステップS602へ進む。対象画像内に人物の可能性がある画像領域が存在しない場合(ステップS601でNo)は、処理フローを終了する。
被写体検出部111が対象画像内の人物の可能性がある画像領域から人物を検出する(ステップS602)。
ステップS603〜ステップS606は文字領域検出処理204および文字領域検出処理504である。
ゼッケン領域推定部112は、被写体検出部111が検出した人物領域毎にゼッケン文字領域が含まれていると推定してスキャンする領域を決定する(ステップS603)。
ステップS603で各人物位置を元にスキャンする領域を決定した後、処理制御部130によって多重化されている文字領域検出処理504において処理可能プロセスがあるかを判断する(ステップS604)。
処理可能プロセスがない場合(ステップS604でNo)、先のスレッドの処理が終了し、処理可能プロセスが存在するまで、待機する。処理可能プロセスがある場合(ステップS601でYes)、ステップS605へ進む。
人物毎に決定されたスキャンする領域から、ゼッケン文字領域検出部113がゼッケン文字領域を検出する(ステップS605)。ゼッケン文字領域の候補として、数字や文字などのゼッケン番号と予想される画像領域を検出し、一文字または複数文字を含む画像領域を検出する。
対象画像内のすべての人物に対して、ゼッケン文字領域検出部113が画像領域を検出したかを判断し(ステップS606)、未検出の人物が存在する場合(ステップS606でNo)は、ステップS603の処理に戻り、すべての人物に対してゼッケン文字領域の検出を行う。
ステップS607〜ステップS608は、文字認識処理205である。
対象画像内のすべての人物についてゼッケン文字領域の検出が終了(ステップS606でYes)すると、検出した各ゼッケン文字領域に対して、画像処理部114が文字認識を行うための前処理となる画像処理を行う(ステップS607)。
すべてのゼッケン文字領域の画像処理が終了すると、各ゼッケン文字領域に対して、文字認識部115が文字認識を行う(ステップS608)。
文字紐付け処理206を行う。文字認識部115が文字認識の結果を人物画像に対して紐付ける(ステップS609)。
すべてのゼッケン文字領域の文字認識が終了すると1枚の入力画像(ここでは対象画像)の処理を終了する。
同様に前後n枚ずつの参照画像においても、ステップS601〜ステップS609の人物検出と文字認識を行い、人物画像に対して紐付けられた文字の結果を得ることができる。
ここまでの入力画像についての一枚処理200に関する処理は、図2に説明した処理と同様に、各処理がそれぞれの画像と結び付けられたスレッドに対して、並列して動作し、先の処理が完了したことを確認して、それぞれのスレッドが処理を進める。
対象画像は、複数枚処理201である特徴量算出比較処理207および特徴量算出比較処理507へ移る。
複数枚処理部120を実行するスレッドが、対象画像と同様に参照画像について文字認識の結果について紐付けを終えているか判断する(ステップS610)。対象画像と参照画像について紐付けがすべて終わっている場合はステップS511へ進む。終わっていない場合はステップS510へ戻り、対象画像および参照画像の(2n+1)枚の紐付けが終わるまで待機し、複数のスレッド間で同期の処理を行う。同期の処理を行うことで文字認識の結果について紐付けが終わっている参照画像を利用した複数枚処理部120の処理を行うことができる。
複数枚処理201においても、処理制御部130で多重化されている特徴量算出比較処理507において処理可能プロセスがあるかを判断する(ステップS611)。
処理可能プロセスがない場合(ステップS611でNo)、先のスレッドの処理が終了し、処理可能プロセスが存在するまで、待機する。処理可能プロセスがある場合(ステップS611でYes)、ステップS612へ進む。
文字認識部115が対象画像内で文字が紐付けられていない人物がいるか検出する(ステップS612)。対象画像内のすべての人物に適当な文字が紐付けられている場合(ステップS612でNo)、処理フローを終了する。
何らかの文字が紐付けられていない人物がいる場合(ステップS612でYes)、文字認識部115が前後n枚ずつの参照画像内の何らかの文字が紐付けられた人物を検出する(ステップS613)。
参照画像内で何らかの文字が紐付けられた人物がいる場合(ステップS613でYes)、特徴量算出部121が対象画像内の文字が紐付けられていない人物の特徴量を算出する(ステップS614)。参照画像内で何らかの文字が紐付けられた人物がいない場合(ステップS613でNo)、処理フローを終了する。
次に、特徴量算出部121が参照画像内で何らかの文字が紐付けられた人物の特徴量を算出する(ステップS615)。
特徴量比較部122が対象画像の文字が紐付けられていない人物の特徴量と、参照画像内で文字が紐付けられた人物の各特徴量において、それぞれの類似度を算出する(ステップS616)。
そしてステップS516で算出された類似度の中から、特徴量比較部122が、類似度の最大値を算出する(ステップS617)。
類似度の最大値が、事前に決定づけられた閾値以上あるかを判断する(ステップS618)。閾値以上の場合(ステップS618でYes)は、文字紐付け部123が参照画像内の最大値にあたる特徴量に対応する人物に紐付けられた文字を、対象画像内の文字が紐付けられていない人物に紐付けする(ステップS619)。閾値未満の場合(ステップS618でNo)は、処理フローを終了する。
以上、説明したとおり、本発明の第2の実施形態によれば、ボトルネックとなりうる処理を多重化することによって、スレッドが待ち状態になる回数を低減することが可能である。
[第3の実施形態]
<画像処理装置700の構成>
図7は、本発明の第3の実施形態による画像処理装置700の一例を示すブロック図である。第3の実施形態では、複数枚処理201で最適な処理パラメータを算出し、その後の処理へ反映することで、さらに処理を高速化することを説明する
画像読み込み部101〜文字紐付け部123および処理制御部130までは、画像処理装置100と同様の構成であるため、説明を省略する。画像処理装置700の複数枚処理部120は、画像処理装置100の構成に加え、不適文字検出部124、最適パラメータ算出部125を備える。
ゼッケンの一部が手などによって隠れている場合、ゼッケン番号を正しく読み取ることができない。不適文字検出部124は、複数枚の入力画像間で類似度を算出した際に、類似度が高い画像や被写体であるが、ゼッケン番号が同様ではない場合に、番号の一部が隠れている場合などと判断し、不適なゼッケン番号であると検出する。
最適パラメータ算出部125は、不適文字検出部124の検出結果に基づいて、各種の最適な処理パラメータを算出する。例えば、ゼッケン文字領域検出部113において、手などによって隠れている領域を推定して、検出する領域を拡大させるなどの補正を行う。
<画像処理装置700の処理状態>
図8は、図7に示す画像処理装置700が、並列処理を行いながら、ゼッケン番号と対象画像との紐付けを行うまでを説明するための第3の実施形態の処理状態図である。
一枚処理200は画像読み込み部101、画像ソート部102および一枚処理部110が実行する各処理を表している。画像読み込み部101および画像ソート部102が処理する画像生成処理202、被写体検出部111が処理する人物検出処理203、ゼッケン領域推定部112およびゼッケン文字領域検出部113が処理する文字領域検出処理204、画像処理部114および文字認識部115が処理する文字認識処理205、文字認識部115が処理する文字紐付け処理206から構成される。
複数枚処理201は複数枚処理部120が実行する処理を表している。特徴量算出部121、特徴量比較部122および文字紐付け部123が処理する特徴量算出比較処理207、不適文字検出部124および最適パラメータ算出部125が処理する最適パラメータ算出処理808からなる。
入力画像A用スレッド810〜入力画像I用スレッド818(以降「スレッド810〜スレッド818」と記載)は、画像ソート部102にて撮影時間等でソートされた画像A〜画像Iを読み込んだスレッドである。ここで、入力画像の順番は、撮影時間の古い順に画像Aから画像Iとして説明するが、必ずしも古い順である必要はなく、新しい順に処理を行ってもよい。各スレッドはグローバルメモリに記録され、他のスレッドの状態を監視することができる。
状態820〜状態828は、スレッド810〜スレッド818が、画像生成処理202〜特徴量算出比較処理207および最適パラメータ算出処理808によって処理されている状態を示す。ここで、状態822、状態824〜状態828は、各スレッドの画像が対応する一枚処理200または複数枚処理201で処理中であることを表す(黒丸にて表記)。状態820〜状態821、状態823は、各スレッドの画像が対応する一枚処理200または複数枚処理201で処理完了の状態であることを表す(白丸にて表記)
ここで、状態824〜状態828は、スレッド810の最適パラメータ算出処理808の結果によって生成された最適化された処理パラメータを用いて、各処理を実行していることを黒丸または白丸のサイズを拡大して示す。また、状態823は、最適化された処理パラメータを用いて処理が完了したことを示す。
<画像処理装置700の処理フロー>
図9は、図7に示す画像処理装置700が、並列処理を行いながらゼッケン番号と対象画像との紐付けを行うまでの第3の実施形態を説明するためのフローチャートである。
以下の説明において、第1の実施形態と同様に、対象とする入力画像を対象画像、ソートによって対象画像と連続し、時間的に連続した前後n枚ずつの入力画像を参照画像とする。
まず、撮影画像全体の処理について図9Aのフローチャートを用いて説明する。
画像生成処理202を行う。具体的には、画像読み込み部101が処理パラメータを読み込み、入力画像として対象画像および前後n枚ずつの(2n+1)枚の読み込みを行い処理を開始し、画像ソート部102が読み込んだ(2n+1)枚を撮影時間などに基づき時間的に連続した画像としてソートを行う(ステップS901)。ここで画像読み込み部101は、画像が圧縮されている場合に圧縮画像の解凍を行う。また、解凍したイメージを回転補正してもよい。
一枚処理部110および複数枚処理部120が、入力画像として読み込んだ(2n+1)枚について図7で説明したように並列で処理を行う(ステップS902)。詳細は図8Bで後述する。
複数枚処理部120が、すべての撮影画像について処理を完了したか判断する(ステップS903)。処理が完了した場合(ステップS903でYes)は、処理フローを終了する。すべての撮影画像について処理が完了していない場合(ステップS903でNo)は、ステップS904へ進む。
不適文字検出部124が、特徴量の類似度が高い画像間で、同様のゼッケン番号が存在していない適切でないゼッケン番号を抽出する(ステップS904)。ここで、適切でないゼッケン番号とは、例えば、影などによって正しく数字が認識されなかったゼッケン番号などである。
最適パラメータ算出部125が、不適文字検出部124の検出結果に基づいて最適な処理パラメータを算出する(ステップS905)。
ステップS805で算出した新たな処理パラメータは、例えば、コンピュータのグローバルなメモリやファイルに書き込まれる(ステップS906)。ステップS901へ戻り次のスレッドは新たな処理パラメータに基づいて各処理を行う。
次に、ステップS902の処理について図9Bのフローチャートを用いて説明する。
ステップS911〜ステップS918までは一枚処理部110が行う処理であり、ステップS919〜ステップS927は複数枚処理部120が行う処理である。
まず、人物検出処理203を行う。被写体検出部111が読み込んだ対象画像のラスターイメージ全体をスキャンし、人物の可能性がある画像領域が存在するか判断する(ステップS911)。
対象画像内に人物の可能性がある画像領域が存在する場合(ステップS911でYes)は、ステップS912へ進む。対象画像内に人物の可能性がある画像領域が存在しない場合(ステップS911でNo)は、処理フローを終了する。
被写体検出部111が対象画像内の人物の可能性がある画像領域から人物を検出する(ステップS912)。
ステップS913〜ステップS915は文字領域検出処理204である。
ゼッケン領域推定部112は、被写体検出部111が検出した人物領域毎にゼッケン文字領域が含まれていると推定してスキャンする領域を決定する(ステップS913)。スキャンする領域は、入力画像の上下および人物領域の幅より決定し、人物の顔より下方向の領域に設定する。ここで、被写体検出部111が用いる検出方法によってスキャンする領域の上下サイズおよび幅を変更してもよい。
人物毎に決定されたスキャンする領域から、ゼッケン文字領域検出部113がゼッケン文字領域を検出する(ステップS914)。ゼッケン文字領域の候補として、数字や文字などのゼッケン番号と予想される画像領域を検出し、一文字または複数文字を含む画像領域を検出する。ここでゼッケン番号と表現しているが、数字に限定されるものではない。
対象画像内のすべての人物に対して、ゼッケン文字領域検出部113が画像領域を検出したかを判断し(ステップS915)、未検出の人物が存在する場合(ステップS915でNo)は、ステップS813の処理に戻り、すべての人物に対してゼッケン文字領域の検出を行う。
ステップS916〜ステップS917は、文字認識処理205である。
対象画像内のすべての人物についてゼッケン文字領域の検出が終了(ステップS915でYes)すると、検出した各ゼッケン文字領域に対して、画像処理部114が文字認識を行うための前処理となる画像処理を行う(ステップS916)。
すべてのゼッケン文字領域の画像処理が終了すると、各ゼッケン文字領域に対して、文字認識部115が文字認識を行う(ステップS917)。
文字紐付け処理206を行う。文字認識部115が文字認識の結果を人物画像に対して紐付ける(ステップS918)。
すべてのゼッケン文字領域の文字認識が終了すると1枚の入力画像(ここでは対象画像)の処理を終了する。
同様に前後n枚ずつの参照画像においても、ステップS911〜ステップS918の人物検出と文字認識を行い、人物画像に対して紐付けられた文字の結果を得ることができる。
ここまでの入力画像についての一枚処理200に関するステップS901、ステップS911〜S918では、各処理がそれぞれの画像と結び付けられたスレッドに対して、並列して動作し、先の処理が完了したことを確認して、それぞれのスレッドが処理を進める。
対象画像は、複数枚処理201である特徴量算出比較処理207へ移る。
複数枚処理部120を実行するスレッドが、対象画像と同様に参照画像について文字認識の結果について紐付けを終えているか判断する(ステップS919)。対象画像と参照画像について紐付けがすべて終わっている場合はステップS920へ進む。終わっていない場合はステップS819へ戻り、対象画像および参照画像の(2n+1)枚の紐付けが終わるまで待機し、複数のスレッド間で同期の処理を行う。同期の処理を行うことで文字認識の結果について紐付けが終わっている参照画像を利用した複数枚処理部120の処理を行うことができる。
文字認識部115が対象画像内で文字が紐付けられていない人物がいるか検出する(ステップS920)。対象画像内のすべての人物に適当な文字が紐付けられている場合(ステップS920でNo)、処理フローを終了する。
何らかの文字が紐付けられていない人物がいる場合(ステップS920でYes)、文字認識部115が前後n枚ずつの参照画像内の何らかの文字が紐付けられた人物を検出する(ステップS921)。
参照画像内で何らかの文字が紐付けられた人物がいる場合(ステップS921でYes)、特徴量算出部121が対象画像内の文字が紐付けられていない人物の特徴量を算出する(ステップS922)。参照画像内で何らかの文字が紐付けられた人物がいない場合(ステップS921でNo)、処理フローを終了する。
次に、特徴量算出部121が参照画像内で何らかの文字が紐付けられた人物の特徴量を算出する(ステップS923)。
特徴量比較部122が対象画像の文字が紐付けられていない人物の特徴量と、参照画像内で文字が紐付けられた人物の各特徴量において、それぞれの類似度を算出する(ステップS924)。類似度は、例えば値100を持って規格化され、類似度が高いほどそれぞれの特徴量が酷似しており、同一人物である可能性が高い事を示している。
そしてステップS924で算出された類似度の中から、特徴量比較部122が、類似度の最大値を算出する(ステップS925)。
類似度の最大値が、事前に決定づけられた閾値以上あるかを判断する(ステップS926)。閾値以上の場合(ステップS926でYes)は、文字紐付け部123が参照画像内の最大値にあたる特徴量に対応する人物に紐付けられた文字を、対象画像内の文字が紐付けられていない人物に紐付けする(ステップS927)。閾値未満の場合(ステップS926でNo)は、処理フローを終了する。
ここで、類似度の閾値は、機械学習等によって算出された固定の値でもよく。また、顔向き毎に閾値を変えてもよい。また対象画像の解像度や状態等によって、動的に変化させることも可能である。
以上、説明したとおり、本発明の第3実施形態によれば、並列処理における先の処理結果に基づいて、最適にパラメータを生成し、その後の処理に反映させることにより、より精度の高い結果を算出することができる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
実施に当たっては、第1の実施形態〜第3の実施形態の何れかを用いてもよいし、何れか複数を組み合わせてもよい。
以上のように第1の実施形態〜第3の実施形態によれば、イベント参加者の写真にゼッケン文字を紐付けするシステムにおいて、並列処理させ一枚処理では非同期で処理を行い、複数枚処理で一枚処理の終了を待機し同期をとることによって、従来の処理と比較し高速に処理することができ、ゼッケン番号の認識精度を向上させることが可能である。
なお、上述した実施例では、スレッドが自スレッドに前後するスレッドの状態を監視し、処理の待機や同期をとるとしたが、これに限定したものではない。例えば、処理制御部130がスレッド全体を監視・管理することで、複数のスレッド間の非同期および同期をとることが可能である。
また、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して処理を実行することによっても達成することができる。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
101:画像読み込み部
102:画像ソート部
110:一枚処理部
111:被写体検出部
112:ゼッケン領域推定部
113:ゼッケン文字領域検出部
114:画像処理部
115:文字認識部
120:複数枚処理部
121:特徴量算出部
122:特徴量比較部
123:文字紐付け部
124:不適文字検出部
125:最適パラメータ算出部
130:処理制御部

Claims (7)

  1. 複数の入力画像を順次または並列に対象画像として繰り返し処理を行う画像処理装置であって、
    前記複数の入力画像の処理順序の決定を行なう処理制御部と、
    前記処理制御部で決定された前記処理順序に従って、処理単位が前記対象画像内に存在する被写体を特定するための識別情報の認識処理を行い、当該認識処理結果と前記対象画像との紐付けを行う第一の画像処理を、前記複数の入力画像に対して非同期で行う一枚処理部と、
    前記処理単位が、
    前記対象画像に対する前記第一の画像処理と、当該対象画像と前記処理順序の前または後に連続して位置する参照画像に対する前記第一の画像処理がすべて終了したか否かを判定し、
    前記第一の画像処理がすべて終了したと判定された場合であって、前記一枚処理部で処理された前記対象画像内に前記識別情報が紐付けられていない被写体が存在する場合に、前記対象画像と前記参照画像との類似度の比較を行い、当該比較結果に基づいて前記参照画像のいずれか1つに紐付けられた識別情報を前記対象画像に紐付ける第二の画像処理を行う一方、
    前記第一の画像処理が終了していないと判定された場合には、前記第二の画像処理の実行を待機する複数枚処理部と、
    を備えることを特徴とする画像処理装置。
  2. 前記処理制御部は、事前に設定された処理数または動的に決定された処理数に応じて、前記第一の画像処理の実行単位または/および前記第二の画像処理の実行単位を一または複数生成することを特徴とする請求項1に記載の画像処理装置。
  3. 前記一枚処理部は、前記第一の画像処理の実行単位が前記入力画像の前記処理単位よりも少ない場合であって、前記対象画像が当該実行単位で前記第一の画像処理が終了していないと判定された場合には、当該対象画像と前記処理順序の後に連続して位置する前記参照画像に対する前記第一の画像処理の実行を待機することを特徴とする請求項2に記載の画像処理装置。
  4. 前記複数枚処理部は、前記第二の画像処理の実行単位が前記入力画像の前記処理単位よりも少ない場合であって、当該対象画像と前記処理順序の後に連続して位置する前記参照画像に対する前記第一の画像処理の実行または前記第二の画像処理の実行を待機すること特徴とする請求項2または請求項3に記載の画像処理装置。
  5. 前記複数枚処理部は、前記第二の画像処理の処理結果に基づき最適化されたパラメータを算出し、前記処理制御部が生成する前記実行単位へ当該パラメータを反映させる最適パラメータ算出部をさらに備えることを特徴とする請求項2乃至請求項4の何れか1項に記載の画像処理装置。
  6. 複数の入力画像を順次または並列に対象画像として繰り返し処理を行う画像処理装置の画像処理方法であって、
    前記複数の入力画像の処理順序の決定を行なう処理制御ステップと、
    前記処理制御ステップで決定された前記処理順序に従って、処理単位が前記対象画像内に存在する被写体を特定するための識別情報の認識処理を行い、当該認識処理結果と前記対象画像との紐付けを行う第一の画像処理を、前記複数の入力画像に対して非同期で行う一枚処理ステップと、
    前記処理単位が、
    前記対象画像に対する前記第一の画像処理と、当該対象画像と前記処理順序の前または後に連続して位置する参照画像に対する前記第一の画像処理がすべて終了したか否かを判定し、
    前記第一の画像処理がすべて終了したと判定された場合であって、前記一枚処理ステップで処理された前記対象画像内に前記識別情報が紐付けられていない被写体が存在する場合に、前記対象画像と前記参照画像との類似度の比較を行い、当該比較結果に基づいて前記参照画像のいずれか1つに紐付けられた識別情報を前記対象画像に紐付ける第二の画像処理を行う一方、
    前記第一の画像処理が終了していないと判定された場合には、前記第二の画像処理の実行を待機する複数枚処理ステップと、
    を備えることを特徴とする画像処理方法。
  7. 請求項1乃至請求項5の何れか1項に記載の各手段をコンピュータに機能させるためのプログラム。
JP2015116189A 2015-06-09 2015-06-09 画像処理装置、画像処理方法および画像処理システム Expired - Fee Related JP6662582B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015116189A JP6662582B2 (ja) 2015-06-09 2015-06-09 画像処理装置、画像処理方法および画像処理システム
PCT/JP2016/067469 WO2016199933A1 (ja) 2015-06-09 2016-06-07 画像処理装置、画像処理方法および画像処理システム
US15/574,968 US20180129915A1 (en) 2015-06-09 2016-06-07 Image processing apparatus, image processing method, and image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015116189A JP6662582B2 (ja) 2015-06-09 2015-06-09 画像処理装置、画像処理方法および画像処理システム

Publications (3)

Publication Number Publication Date
JP2017004185A JP2017004185A (ja) 2017-01-05
JP2017004185A5 JP2017004185A5 (ja) 2018-07-19
JP6662582B2 true JP6662582B2 (ja) 2020-03-11

Family

ID=57504912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015116189A Expired - Fee Related JP6662582B2 (ja) 2015-06-09 2015-06-09 画像処理装置、画像処理方法および画像処理システム

Country Status (3)

Country Link
US (1) US20180129915A1 (ja)
JP (1) JP6662582B2 (ja)
WO (1) WO2016199933A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01130288A (ja) * 1987-11-16 1989-05-23 Toyo Syst Kaihatsu Kk コンピュータによる移動物体の動作解析方法
JP4174279B2 (ja) * 2002-09-19 2008-10-29 日本放送協会 映像オブジェクト識別・追跡装置、その方法及びそのプログラム
JP2008187591A (ja) * 2007-01-31 2008-08-14 Fujifilm Corp 撮像装置及び撮像方法

Also Published As

Publication number Publication date
WO2016199933A1 (ja) 2016-12-15
US20180129915A1 (en) 2018-05-10
JP2017004185A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
CN108520247B (zh) 对图像中的对象节点的识别方法、装置、终端及可读介质
US11200404B2 (en) Feature point positioning method, storage medium, and computer device
JP5662670B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US8693785B2 (en) Image matching devices and image matching methods thereof
US8929595B2 (en) Dictionary creation using image similarity
JP4372051B2 (ja) 手形状認識装置及びその方法
JP5554984B2 (ja) パターン認識方法およびパターン認識装置
CN109409398B (zh) 图像处理装置、图像处理方法以及存储介质
US10740613B1 (en) Hybrid feature point/watermark-based augmented reality
JP5361524B2 (ja) パターン認識システム及びパターン認識方法
US20180107877A1 (en) Image processing apparatus, image processing method, and image processing system
CN105095853B (zh) 图像处理装置及图像处理方法
KR102236616B1 (ko) 정보 처리 장치, 그의 제어 방법, 및 기억 매체
KR20130120175A (ko) 캐리커처 자동 생성 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2018088049A (ja) 画像処理装置、画像処理方法、及びプログラム
CN107085699B (zh) 信息处理设备、信息处理设备的控制方法和存储介质
CN110717452A (zh) 图像识别方法、装置、终端及计算机可读存储介质
US20230410361A1 (en) Image processing system, processing method, and non-transitory storage medium
KR20230017774A (ko) 정보 처리 장치, 정보 처리 방법, 및 프로그램
JP6669390B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2002258682A (ja) 画像形成装置
JP6662582B2 (ja) 画像処理装置、画像処理方法および画像処理システム
KR20120035360A (ko) 문자 인식 장치 및 방법
JP6717769B2 (ja) 情報処理装置及びプログラム
CN112689085A (zh) 一种识别ppt投屏区域方法、装置、系统和电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200213

R150 Certificate of patent or registration of utility model

Ref document number: 6662582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees