IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱重工業株式会社の特許一覧

特開2023-136850文字検知装置、文字検知方法及び文字検知プログラム
<>
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図1
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図2
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図3
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図4
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図5
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図6
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図7
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図8
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図9
  • 特開-文字検知装置、文字検知方法及び文字検知プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023136850
(43)【公開日】2023-09-29
(54)【発明の名称】文字検知装置、文字検知方法及び文字検知プログラム
(51)【国際特許分類】
   G06V 30/14 20220101AFI20230922BHJP
【FI】
G06K9/20 340A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022042774
(22)【出願日】2022-03-17
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】飯尾 聡
(72)【発明者】
【氏名】杉本 喜一
(72)【発明者】
【氏名】中尾 健太
【テーマコード(参考)】
5B029
【Fターム(参考)】
5B029CC22
5B029CC25
(57)【要約】      (修正有)
【課題】処理量を抑えつつ、高い精度で文字を検知する文字検知装置、方法及びプログラムを提供する。
【解決手段】文字検知システム100において、プログラム作成装置10は、画像上に定義した各アンカーに対して、対象物の領域を示すデフォルトボックスの設定を取得する取得部70と、各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定した場合に、候補領域を抽出する文字候補抽出部74と、検出する文字の候補領域を、検出した位置、クラス及びデフォルトボックスの種類の情報に基づいて評価する評価部76と、別の画像認識処理による再判定が必要と判定した候補領域に対して文字認識処理を行い、文字らしさを再判定する再判定部78と、評価部と再判定部の判定結果に基づいて文字認識を行う特定候補領域を決定する決定部80と、決定した候補領域に対して文字認識処理を行う認識処理部82と、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得する取得部と、
画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出する文字候補抽出部と、
前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価する評価部と、
評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定する再判定部と、
前記評価部と前記再判定部の判定結果に基づいて文字認識を行う特定候補領域を決定する決定部と、
前記決定部が決定した前記候補領域に対して文字認識処理を行う認識処理部と、を含む文字検知装置。
【請求項2】
前記再判定部は、候補領域について、アンカーの種類と位置に基づいて、記載される文字の種類を決定し、候補領域を文字の種類に基づいて分類し、
文字の種類が同じで、位置が重なる候補領域を、過剰検知の可能性がある候補領域として抽出し、
抽出した候補領域を比較して、評価値が低い候補領域を過剰検知の候補領域とする請求項1に記載の文字検知装置。
【請求項3】
前記再判定部は、前記画像の位置と、表示される文字の種類とを対応付けた基準情報に用いて、候補領域のアンカーの種類と、前記基準情報を比較し、前記アンカーの形状が前記基準情報との差が閾値以上の場合、当該候補領域の評価値を減少させる請求項1または請求項2に記載の文字検知装置。
【請求項4】
前記画像から解析対象の領域を抽出する抽出処理部をさらに有し、
前記文字候補領域抽出部は、前記解析対象の領域から候補領域を抽出する請求項1から請求項3のいずれか一項に記載の文字検知装置。
【請求項5】
前記再判定部は、前記評価部で再判定が必要と判定された候補領域に対して再判定処理を行う請求項1から請求項3のいずれか一項に記載の文字検知装置。
【請求項6】
画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得するステップと、
画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出するステップと、
前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価するステップと、
評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定するステップと、
評価と前記再判定の判定結果に基づいて文字認識を行う特定候補領域を決定するステップと、
決定した前記候補領域に対して文字認識処理を行うステップと、を含む文字検知方法。
【請求項7】
画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得するステップと、
画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出するステップと、
前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価するステップと、
評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定するステップと、
評価と前記再判定の判定結果に基づいて文字認識を行う特定候補領域を決定するステップと、
決定した前記候補領域に対して文字認識処理を行うステップと、をコンピュータに実行させる文字検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文字検知装置、文字検知方法及び文字検知プログラムに関する。
【背景技術】
【0002】
取得した画像から文字情報を検知するシステムとして、自動車の個体識別番号であるナンバープレートの文字情報を検知する技術がある。特許文献1には、画像からナンバープレートを抽出し、ナンバープレートの各位置の文字を抽出し、それぞれの位置で文字認識処理を行い、プレートの番号を検出している。また、文字認識処理としては、ニューラルネットワークを用いて解析を行う技術もある(特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3679958号公報
【特許文献2】特許第6831480号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像から文字を検知する処理では、文字領域を重複して検出してしまうことがある。1つの文字を重複して抽出すると、実際の文字よりも多くの文字を検出することになり、誤読につながる。一方で、重複した領域で誤検知が発生するため、位置などの情報では排除することが困難であり、別の画像処理ロジックによる再判定が必要となる。しかしながら、個別に全検知領域を再判定すると処理時間がかかる。重複した領域かを判定する処理は、画像処理の処理量が増加する。
【0005】
本開示の少なくとも一実施形態は、上記課題を解決するために、処理量を抑えつつ、高い精度で文字を検知できる文字検知装置、文字検知方法及び文字検知プログラムを提供することを課題とする。
【課題を解決するための手段】
【0006】
本開示は、画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得する取得部と、画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出する文字候補抽出部と、前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価する評価部と、評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定する再判定部と、評価部と前記再判定部の判定結果に基づいて文字認識を行う特定候補領域を決定する決定部と、前記決定部が決定した前記候補領域に対して文字認識処理を行う認識処理部と、を含む文字検知装置を提供する。
【0007】
本開示は、画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得するステップと、画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出するステップと、前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価するステップと、評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定するステップと、評価と前記再判定の判定結果に基づいて文字認識を行う特定候補領域を決定するステップと決定した前記候補領域に対して文字認識処理を行うステップと、を含む文字検知方法を提供する。
【0008】
本開示は、画像上にアンカーを定義し、各アンカーに対して、対象物の領域を示す枠であるデフォルトボックスの設定を取得するステップと、画像上に定義される各デフォルトボックス内に、対象物が存在するか否かを判定するクラスの分類を、対象物がいると判定された場合に、正確な対象物領域を推定する位置の推定結果に基づいて候補領域を抽出するステップと、前記構成要素により検出される文字の候補領域を、検出した位置、クラス、デフォルトボックスの種類の情報に基づいて評価するステップと、評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定するステップと、評価と前記再判定の判定結果に基づいて文字認識を行う特定候補領域を決定するステップと決定した前記候補領域に対して文字認識処理を行うステップと、をコンピュータに実行させる文字検知プログラムを提供する。
【発明の効果】
【0009】
上記構成とすることで、処理量を抑えつつ、高い精度で文字を検知できるという効果を奏する。
【図面の簡単な説明】
【0010】
図1図1は、文字検知システムの一例を示すブロック図である。
図2図2は、文字検知システムの画像処理の一例を説明するための説明図である。
図3図3は、画像処理の一例を説明するための説明図である。
図4図4は、画像処理の一例を説明するための説明図である。
図5図5は、画像処理の一例を説明するための説明図である。
図6図6は、文字検知装置の動作の一例を示すフローチャートである。
図7図7は、学習部の動作の一例を示すフローチャートである。
図8図8は、文字検知装置の動作の一例を示すフローチャートである。
図9図9は、文字検知装置の動作の一例を示すフローチャートである。
図10図10は、文字検知装置の動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、本開示に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。さらに、以下に記載した構成要素は適宜組み合わせることが可能であり、また、実施形態が複数ある場合には、各実施形態を組み合わせることも可能である。
【0012】
<対処物検知システム>
図1は、文字検知システムの一例を示すブロック図である。本実施形態に係る文字検知システム100は、プログラム作成装置10と、文字検知装置102と、を含む。文字検知システム100は、プログラム作成装置10で、深層学習を用いて画像から文字の検知を行う文字検知処理を実行できる学習済みプログラムを作成し、文字検知装置102で学習済みプログラムを実行して文字の検知を行う。また、本実施形態のプログラム作成装置10は、文字検知装置としての機能も備える。文字検知装置102は、例えば、車両や飛行体等の移動体や、建造物に設置される。文字検知装置102は、画像を取得し、画像に含まれる文字を検知する。本実施形態では、自動車登録番号標、いわゆるナンバープレートの文字を検知する処理として説明するが、対象はこれに限定されない。なお、文字検知装置102は、ナンバープレートのように、文字の配置に設定された規則がある対象から文字を検知する場合により好適に用いることができる。
【0013】
プログラム作成装置10は、入力部12と、出力部14と、演算部16と、記憶部18と、を含む。入力部12は、キーボード及びマウス、タッチパネル、またはオペレータからの発話を集音するマイク等の入力装置を含み、オペレータが入力装置に対して行う操作に対応する信号を演算部16へ出力する。出力部14は、ディスプレイ等の表示装置を含み、演算部16から出力される表示信号に基づいて、処理結果や処理対象の画像等、各種情報を含む画面を表示する。また、出力部14は、データを記録媒体で出力する記録装置を含んでもよい。また、プログラム作成装置10は、入力部12及び出力部14として、通信インターフェースを用いて、データの送信を行う通信部を含んでいてもよい。通信部は、外部機器と通信を行い取得した各種データ、プログラムを記憶部16に送り、保存する。通信部は、有線の通信回線で外部機器と接続しても、無線の通信回線で外部機器と接続してもよい。
【0014】
演算部16は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の集積回路(プロセッサ)と、作業領域となるメモリとを含み、これらのハードウェア資源を用いて各種プログラムを実行することによって各種処理を実行する。具体的に、演算部16は、記憶部18に記憶されているプログラムを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をプロセッサに実行させることで、各種処理を実行する。演算部16は、教師データ作成部30と、学習部34と、文字検知処理部36と、を含む。演算部16の各部の説明の前に記憶部18について説明する。
【0015】
記憶部18は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部18は、画像データ40と、設定データ42と、学習実行プログラム44と、文字検知プログラム48と、学習済みプログラム50と、を含む。
【0016】
また、記憶部18に記憶されるデータとしては、画像データ40と、設定データ42と、が含まれる。画像データ40は、学習に使用する教師データを含む。教師データは、画像のデータと、画像に文字が含まれる場合、文字が表示される領域(バウンディングボックス)とが対応付けられたデータである。教師データの画像は、学習に用いるデータと、学習後のプログラムの精度の評価するデータとに分かれていてもよい。また、画像データは、文字を検出する必要がある画像データを含んでいてもよい。設定データ42は、学習済みプログラムを実行するための条件の情報等を含む。
【0017】
記憶部18に記憶されるプログラムとしては、学習実行プログラム44と、文字検知プログラム48と、学習済みプログラム50と、がある。学習実行プログラム44は、画像データ40に含まれる教師データを、設定データ42の設定に基づいて深層学習処理を行い、学習済みプログラム50を作成する。深層学習モデルとしては、R-CNN(Regions with Convolutional Neural Networks)やYOLO(You Only Look Once)、SSD(Single Shot multibox Detector)等、画像に含まれる要素を識別するモデルである。深層学習モデルは、画像に含まれている、文字抽出対象の領域、本実施形態ではナンバープレートを抽出する深層学習モデルも含まれる。深層学習モデルは、アンカー(デフォルトボックス)と言われるバウンディングボックスを画像に対して設定し、設定に基づいたアンカー内の特徴量を処理することで、画像から文字が含まれている候補の領域を検出する深層学習モデルを用いることができる。深層学習モデルは、候補領域から文字を検知する深層学習モデルも含まれる。
【0018】
文字検知プログラム48は、学習済みプログラム50を用いて、文字の検出処理を実行するプログラムである。文字検知プログラム48は、画像の取得処理と、画像から対象領域を抽出する処理、アンカーを用いて対象領域の中から文字候補領域を抽出する処理、文字候補領域の評価を行う処理、文字候補領域の過剰検知を抑制する処理、文字候補領域の文字を解析する処理、解析結果に基づいて画像に含まれる文字情報を決定する処理も設定されている。文字検知プログラム48は、画像データを加工する処理を設定いてもよい。学習済みプログラム50は、学習実行プログラム44を実行して作成されたプログラムである。文字検知プログラム48は、学習済みプログラム50を、画像処理を行う演算部で実行することで、学習した判断基準となる特徴量(スコア、評価値)を算出でき、特徴量に基づいて文字を検出する処理を実行する。
【0019】
記憶部18は、記録媒体に記録された学習実行プログラム44と、文字検知プログラム48とを読み込むことで、学習実行プログラム44と、文字検知プログラム48とがインストールされてもよいし、ネットワーク上で提供される学習実行プログラム44と、文字検知プログラム48とを読み込むことで、学習実行プログラム44と、文字検知プログラム48と、がインストールされてもよい。
【0020】
演算部16の各部の機能について説明する。演算部16の各部は、記憶部18に記憶されるプログラムを実行することで、実行することができる。教師データ作成部30は、画像データに文字がある場合、文字の領域を示す枠情報(バウンディングボックス)と文字の種類を示すクラス情報(クラスの分類)を対応付ける。設定される枠は、矩形である。教師データ作成部30は、例えば画像を出力部14に表示させた状態で、入力部12に入力される操作から枠情報を設定する。入力部12に入力される操作は、オペレータが画像を見ながら枠の位置(文字)を囲う位置の情報を入力する操作である。また、教師データ作成部30は、文字検知処理部36で実行した画像の抽出処理の結果を取得してもよい。この場合、抽出した枠の位置が、教師データの正解のデータできるか判定するオペレータの操作を検出し、オペレータにより枠の位置が正しいと判定されたデータを教師データとして取得するようにしてもよい。
【0021】
学習部34は、設定された複数のアンカーを用いて、学習実行プログラム44の処理を実行して、画像データ40の教師データとして深層学習を行い、学習済みプログラムを作成する。ここで、アンカーはアスペクト比、大きさが異なる複数の形状が設定される。また、学習部34は、画像から処理対象の領域を抽出する学習済みプログラムも作成する。学習部34は、処理対象の領域から文字候補領域を抽出する学習済みプログラムも作成する。学習部34は、文字候補領域の文字を解析する学習済みプログラムも作成する。さらに、学習部34は、抽出した文字候補領域が過剰抽出するかを判定する処理を実行する学習済みプログラムも作成してもよい。
【0022】
文字検知処理部36は、文字検知プログラム48を用いて、学習済みプログラム50を処理し、取得した画像に文字が含まれているかを判定する処理、つまり文字検知処理を実行する。文字検知部36は、取得部70と、抽出処理部72と、文字候補抽出部74と、評価部76と、再判定部78と、決定部80と、認識処理部82と、を有する。本実施形態のデフォルトボックスに基づいて、領域を設定する場合、抽出処理部72と、文字候補抽出部74と、評価部76と、再判定部78と、決定部80と、認識処理部82とは、機械学習を行った学習済みプログラム50を用いて一部の処理を実行できる。また、領域の抽出処理等は、パターンマッチング等で行ってもよい。
【0023】
取得部70は、処理対象の画像のデータを取得する。また、取得部70は、処理条件、アンカーの情報等を各部から取得する。抽出処理部72は、画像から処理対象の領域を抽出する、本実施形態では画像からナンバープレートを抽出する。文字候補抽出部74は、処理対象の領域から文字の可能性がある領域を文字候補領域として抽出する。評価部76は、抽出した文字候補領域を評価する。評価部76は、文字候補抽出部74の抽出結果を評価値としても、その他の情報を加えて評価を行ってもよい。再判定部78は、評価部76で、再判定が必要と判定した文字候補領域を再判定し、過剰検知と判定した文字候補領域に対して設定された処理、例えば領域の削除、評価値の減少処理を行う。再判定部78は、評価結果に基づいて候補領域を別の画像認識処理による再判定が必要かを判定し、再判定が必要と判定された候補領域に対して、個別に文字認識処理を行い、文字らしさを再判定する。決定部80は、評価部76で評価し、再判定部で処理していない文字候補領域と、再判定部78で処理した文字候補領域の情報に基づいて、処理対象の領域のうち、文字の解析を行う文字候補領域を決定する。認識処理部82は、文字認識部の結果と、再判定が不要で残しておくべきと判断された候補領域に対して、文字らしさを表すスコアや文字同士の位置関係、認識文字列の仕様などを基に、文字列として最終文字認識する対象と特定する。認識処理部82は、決定部80で決定した文字候補領域に対して文字認識処理を行い、文字を抽出する。また、認識処理部82は、処理した文字候補領域を統合して、画像の文字の情報を作成する。
【0024】
なお、本実施形態では、プログラム作成部10に、教師データ作成部30と、文字検知処理部36と、を備える構成としたが、プログラム作成装置10が備えていなくてもよい。つまり、教師データは、別の装置で作成してもよい。また、画像から文字を検出する処理を実行する文字検知処理部36は、文字検知装置102のみに備えていてもよい。
【0025】
文字検知装置102は、上述したように移動体や建造物に設置される。文字検知装置102は、プログラム作成装置10と通信可能としてもよいが、通信機能を備えなくてもよい。通信機能を備えない文字検知装置102は、各種処理条件が予め設定され、設定された条件に基づいて文字の検知処理を実行する。文字検知装置102は、検出した結果を設置されている機構を制御する制御装置に出力してもよい。
【0026】
文字検知装置102は、カメラ部112と、演算部114と、記憶部116と、報知部118と、を含む。カメラ部112は、対象視野の画像を取得する。カメラ部112は、所定のフレームレートで連続して画像を取得しても、所定の操作をトリガーとして画像を取得してもよい。
【0027】
演算部114は、CPU、GPU等の集積回路(プロセッサ)と、作業領域となるメモリとを含み、これらのハードウェア資源を用いて各種プログラムを実行することによって各種処理を実行する。具体的に、演算部16は、記憶部18に記憶されているプログラムを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をプロセッサに実行させることで、各種処理を実行する。演算部114は、記憶部116に記憶されているプログラムを実行することで、画像から文字を検出する処理を実行する。
【0028】
記憶部116は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部116は、文字検知プログラム120と、学習済みプログラム122を記憶する。
【0029】
報知部118は、オペレータに報知する。報知部118は、スピーカ、発光装置、ディスプレイ等である。報知部118は、演算部114で処理を実行し、画像に含まれる文字を検出した場合、通知した文字情報、本実施形態ではナンバープレートの情報をオペレータに報知する。また、報知部118は、ナンバープレートの文字情報が、報知対象のナンバープレートの場合、報知するようにしてもよい。
【0030】
図2は、文字検知システムの画像処理の一例を説明するための説明図である。図3から図5は、それぞれ画像処理の一例を説明するための説明図である。
【0031】
本実施形態の文字検知処理部36は、設定されている深層学習による画像処理を行うことで、画像に文字が含まれているかを判定する。学習部34は、教師データ作成部30で作成した教師データを用いて、機械学習、例えば深層学習を行うことで、文字検知処理部36で実行する学習済みプログラムを作成する。
【0032】
ここで、本実施形態の深層学習は、図2に示すように、対象の画像に対して畳み込み処理等を行い、画像を分割する分割数が異なる、つまり、処理上の1つのセルの大きさが異なる複数の画像を作成し、各画像の各セルで、設定されているアンカーを用いた処理を実行する設定である。
【0033】
つまり、1つの画像を図2に示すように、特徴量マップ202を処理して、特徴量マップ202よりも分割数が少ない特徴量マップ202Aを作成する。特徴量マップ202Aは、1つのセル210Aが、セル210よりも画像全体に対して占める割合が大きい。特徴量マップ202Aに対して同様の処理を複数回実行して、1つのセル(領域)210Bのみ設定された特徴量マップ202Bを生成する。ここで、異なる分割数に移行する際の処理は、深層学習で実行される演算処理で各種パラメータが設定される。
【0034】
ここで、深層学習の設定では、1つのセルの評価を算出するために、情報を取得する枠の情報として、アンカー212が設定される。本実施形態のアンカー212は、評価対象のセルの中心と、中心が一致するように設定される。また、アンカー212は、セルに対する大きさが設定されており、セルが大きくなると、アンカー212も大きくなる。また、深層学習で処理を行うアンカー212は、複数設定される。
【0035】
次に、教師データについて説明する。図3に示す画像150は、ナンバープレート160を含む画像である。画像150は、ナンバープレート160が含まれる領域152の情報を有する。領域152の情報が処理対象の領域の情報となる。また、画像150は、ナンバープレート160に含まれる文字162のそれぞれに対して、枠170が設定される。枠170は、領域情報であり、文字が表示されていることを示す情報、つまりバウンディングボックスである。枠170は、画像150、領域152上での位置情報となる。図3に示すように、画像150、領域152に文字を囲う枠170の情報が対応付けられた情報が正解データ、教師データの画像データとなる。また、1つの文字に対して、枠170a、170bを設定し、一方を正解データ、他方を過剰検知の文字候補領域(不正解、誤検出の領域)のデータとして対応付けてもよい。
【0036】
文字検知プログラム100は、枠170の情報を含む画像150を含む複数の画像のデータを教師データに対して、設定されたアンカーを各セルに適応させつつ学習処理を行うことで、文字候補領域と当該文字候補領域の評価値を抽出することができる学習済みモデルを作成する。
【0037】
図4及び図5は、図3の画像を解析する状態を模式的に示している。図4に示す特徴量マップ(分割マップ)240は、8行8列で画像を分割している。図5示す特徴量マップ240aは、4行4列で分割される。特徴量マップ240は、セル252に対応するアンカーユニット242に示すように各セルに対してアスペクト比が異なる複数のアンカー250a、250b、250c、250dが適用され、それぞれのアンカーについてアンカーの領域に含まれる画像の特徴量の比較が行われる。特徴量マップ240aも同様である。
【0038】
このように、文字検知システム100は、特徴量マップのセルのそれぞれにアンカーを適用して、アンカー内の画像を深層学習で処理することで、画像データ内に文字が含まれるかを検出する。
【0039】
ここで、文字が表示される領域、教師データではバウンディングボックスとアンカーとの重なる割合である一致度が、高い状態を維持できると、学習の精度も高くなり、文字を高い精度で検出することができる。ここで、一致度は、IoU(Intersection over Union)で評価される。
【0040】
<文字検知方法>
図6を用いて、文字検知方法の一例について説明する。図6は、文字検知装置の動作の一例を示すフローチャートである。文字検知装置102は、演算部114で、文字検知プログラム120を処理することで、図6の処理を実行する。演算部114は、文字検知プログラム120での処理時に学習済みプログラム122を用いた演算を行う。図6の処理は、文字検知装置102で実行する処理として説明するが、プログラム作成装置10に画像データを供給し、文字検知処理部36で同様の処理を実行してもよい。
【0041】
文字検知装置102は、取得部70を用いて、画像データを取得する(ステップS12)。具体的には、文字検知装置102は、カメラ部112で画像を取得する。文字検知装置102は、抽出処理部72を用いて、処理対象の領域の抽出処理、つまりナンバープレート(プレート領域)の抽出処理を行う(ステップS14)。
【0042】
文字検知装置102は、文字候補抽出部74を用いて、プレート領域から文字候補領域の抽出処理を行う(ステップS16)。文字候補抽出部74は、学習済みプログラムを用いて、複数の形状のアンカーで、プレート領域の各画素の評価を行う処理を実行し、文字候補領域を抽出する。これにより、図3に示すように、複数の文字候補領域が抽出される。
【0043】
文字検知装置102は、評価部76、再判定部78を用いて、文字候補領域の再判定処理を行う(ステップS18)。具体的には、文字検知装置102は、評価部76で文字候補領域を評価し、再判定が必要な文字候補領域と、再判定が不要な文字候補領域とに分ける。ここで、再判定が不要な文字候補領域は、過剰検知の可能性がなく文字が記載されていると判定できる文字候補領域や、評価値が一定値以下で文字候補として選定される基準を満たしていない文字候補領域が含まれる。文字検知装置102は、再判定部78は、再判定が必要な文字候補領域に対して再判定処理を行う。ステップS18の処理は後述する。
【0044】
文字検知装置102は、決定部80を用いて、評価部76の処理結果及び再判定部78の判定結果に基づいて、解析する文字候補領域を決定する(ステップS20)。文字検知装置102は、認識処理部82を用いて、決定した文字候補領域に対して文字認識処理を行う(ステップS22)。認識処理部82は、決定部80で決定された文字候補領域のみに対して、文字認識処理を行う。認識処理部82は、文字認識処理を行った結果を統合して検知した文字として出力する。
【0045】
<学習済みプログラム作成方法>
図7は、学習部の動作の一例を示すフローチャートである。図7に示す処理は、学習部34が学習実行プログラムを演算処理することで実行する。図7は、複数のアンカーを用いて文字候補領域を抽出する学習済みプログラムを作成する一例である。画像から対象領域を抽出する学習済みプログラムも同様に作成することができる。文字候補領域を評価する学習済みプログラム、文字候補領域から文字を抽出する学習済みプログラムは、アンカーの情報に代えて文字の形状情報等を用いることで作成することができる。
【0046】
学習部34は、文字の領域情報を含む、教師データを取得する(ステップS30)。学習部34は、アンカーの設定を読み出す(ステップS32)。つまり、学習部34は、アンカー設定部32で設定したアンカーのサイズ情報、アスペクト比の情報を読み出す。学習部34は、教師データとアンカーの情報に基づいて深層学習を実行する(ステップS34)。学習部34は、教師データの画像をアンカーの情報に基づいて深層学習モデルを設定し、設定したモデルを用いて、教師データの画像の学習を行う。これにより、学習部34は、教師データを用いた学習を実行した学習済みプログラムを生成する。
【0047】
学習部34は、学習結果を評価用の画像で評価する(ステップS36)。ここで、評価用の画像は、文字を含んでいる画像、含んでいない画像の両方を含んだデータセットである。評価用の画像は、文字が含んでいるか含んでいないかを示す情報が対応付けられている。学習部34は、評価時点の学習済みプログラムで評価用画像についての文字の検出を行うことで、文字が含まれている評価用画像の文字が検出できているか、文字が含まれていない評価用画像について文字が含まれているという誤検出を行っているか等を評価する。学習部34は、評価として、検出率、誤検出率等を算出する。
【0048】
学習部34は、評価を算出したら、学習を終了するかを判定する(ステップS38)。学習終了の評価基準は、任意に設定することができ、例えば、学習を行った回数や、演算量を基準としてもよく、検出率、誤検出率が設定した性能を満たした場合に処理終了としてもよい。
【0049】
学習部34は、学習終了ではない(ステップS38でNo)と判定した場合、深層学習の条件を調整し(ステップS40)、ステップS34に戻る。これにより、再度学習処理を実行する。ここで、深層学習の条件としては、特に限定されないが、ステップS34で学習開始時の学習プログラムとして、現時点の学習プログラムを設定することや、教師データの画像の一部入れ替え等がある。学習部34は、学習終了である(ステップS38でYes)と判定した場合、学習結果のプログラムを学習済みプログラムに設定し(ステップS42)、処理を終了する。
【0050】
学習部34は、以上のように、アンカーを用いて、深層学習処理を実行し、学習済みプログラムを作成する。
【0051】
<文字候補領域の抽出処理>
次に、図8を用いて、文字候補抽出部の処理の一例を説明する。図8は、文字検知装置の動作の一例を示すフローチャートである。文字候補抽出部74は、抽出処理部72で抽出した領域のデータに対して図8の処理を行い、文字候補領域を抽出する。文字候補抽出部74は、アンカーを決定する(ステップS50)。文字候補抽出部74は、プレート領域の各画素について、評価値を算出する(ステップS52)。文字候補抽出部74は、学習済みプログラムを用いて、各画素での評価値、本実施形態ではIoUを算出する。
【0052】
文字候補抽出部74は、抽出が完了したかを判定する(ステップS54)。つまり、対象の全てのアンカーについて、評価を行ったかを判定する。文字候補抽出部74は、抽出が完了していない(ステップS54でNo)と判定した場合、ステップS50に戻り、評価値を算出していないアンカーを用いて、評価値の算出処理を行う。
【0053】
文字候補抽出部74は、抽出が完了した(ステップS54でYes)と判定した場合、評価値に基づいて文字候補領域の抽出を行う(ステップS56)。文字候補抽出部74は、例えば評価値が閾値以上となる領域を文字候補領域として抽出する。文字候補抽出部74は、評価値と、プレート領域内の位置とに基づいて、文字候補領域を抽出してもよい。
【0054】
<評価部及び再判定部の処理>
次に、図9を用いて、評価部76と再判定部78の処理の一例を説明する。図9は、文字検知装置の動作の一例を示すフローチャートである。文字検知装置102は、評価部76と再判定部78で、図9に示す処理を行う。
【0055】
文字検知装置102は、評価部76を用いて、文字候補領域の位置、文字種類のクラスの分類を行う(ステップS60)。評価部76は、プレート領域内での文字候補領域の位置の情報を検出し、アンカーの形状、プレート領域内での文字候補領域の位置に基づいて、文字候補領域の文字のクラス(種類)を分類する。文字のクラスの種類としては、数字、文字の種類(アルファベット、ひらがな、漢字)、記号等の分類である。また、同じ数字でも、丸があるか、角があるかや、類似度で、複数の種類に分類してもよい。文字の分類は、予め設定される。
【0056】
文字検知装置102は、評価部76を用いて、文字候補領域を特定する(ステップS62)。評価部76は、文字候補領域の中から処理する文字候補領域を選択する。文字検知装置102は、評価部76を用いて、特定した文字候補領域は再判定が必要であるかを判定する(ステップS64)。評価部76は、過剰検知の可能性のある文字候補領域を、再判定が必要であると判定する。具体的には、文字候補領域と重なる別の文字候補領域がある。文字候補領域の近傍に同じ文字の種類の別の文字候補領域がある等である。評価部76は、位置と評価値に基づいて判定してもよい。再判定の基準は、予め設定される。また、判定に学習済みプログラムを用い、過剰検知が否かを判定させてもよい。
【0057】
文字検知装置102は、再判定が必要ない(ステップS64でNo)と判定した場合、ステップS72に進む。文字検知装置102は、再判定が必要である(ステップS64でYes)と判定した場合、再判定部78を用いて、対象の文字候補領域と類似する文字候補領域を特定する(ステップS66)。再判定部78は、同じ文字を抽出している可能性がある文字候補領域を特定する。なお、類似する文字候補領域は、1つに限定されず、複数でもよい。
【0058】
文字検知装置102は、再判定部78を用いて、対象の複数の文字候補領域を比較し、過剰検知の領域であるかを判定する(ステップS68)。再判定部78は、特定した文字候補領域が、類似する文字候補領域と同じ文字であり、かつ、類似する文字候補領域よりも評価値が低い場合、特定した文字候補領域を過剰検知の領域であると判定する。
【0059】
文字検知装置102は、過剰検知の領域ではない(ステップS68でNo)と判定した場合、ステップS72に進む。文字検知装置102は、過剰検知の領域である(ステップS68でYes)と判定した場合、対象の文字候補領域を排除し(ステップS70)、ステップS72に進む。
【0060】
文字検知装置102は、ステップS70の処理を行った後、ステップS64でNoと判定した場合、ステップS68でNoと判定して場合、文字候補領域の評価が完了したかを判定する(ステップS72)。文字検知装置102は、評価完了ではない(ステップS72でNo)と判定した場合、ステップS62に戻り、評価していない文字候補領域についての処理を行う。文字検知装置102は、評価完了である(ステップS72でYes)と判定した場合、図9の処理を終了する。
【0061】
文字検知装置102は、以上のように、アンカーを用いて文字候補領域を抽出し、文字候補領域の情報に基づいて、過剰検知の文字候補領域に対する処理を行う、本実施形態では過剰検知の文字候補領域を削除することで、過剰検知の文字に対する文字認識処理を行うことを抑制できる。また、文字検知装置102は、文字認識した後に過剰検出する場合よりも演算量を低減することができる。これにより、文字検知処理102で実行する演算量を低減しつつ、文字の過剰検知を抑制できる。文字の過剰検知を抑制できることで、文字の検知精度をより高くすることができる。
【0062】
また、文字検知装置102は、アンカーを用いて文字候補領域を抽出することで、対象物、本実施形態ではナンバープレート画像の対象領域内での姿勢が種々の姿勢で領域内での文字の位置が変化している場合も、文字を高い精度で検出することができる。
【0063】
また、文字検知装置102は、文字の種類に基づいてクラスの分類を行うことで、過剰検出の文字候補領域の検出精度を高くすることができる。例えば、アンカーの形状に基づいて、数字の7と8を別のクラスとすることで、隣接していても別の文字と特定することができる。
【0064】
<評価部及び再判定部の処理の変形例>
次に、図10を用いて、評価部76と再判定部78の処理の他の例を説明する。図10は、文字検知装置の動作の他の例を示すフローチャートである。文字検知装置102は、評価部76と再判定部78で、図10に示す処理を行う。図10に示す処理は、過剰検知領域であると判定した場合の対象の文字候補領域に行う処理以外は、図9に示す処理と同じ処理を行う。図9の処置と同じ処理については、詳細な説明を省略する。
【0065】
文字検知装置102は、評価部76を用いて、文字候補領域の位置、文字種類のクラスの分類を行う(ステップS60)。文字検知装置102は、評価部76を用いて、文字候補領域を特定する(ステップS62)。文字検知装置102は、評価部76を用いて、特定した文字候補領域は再判定が必要であるかを判定する(ステップS64)。
【0066】
文字検知装置102は、再判定が必要ない(ステップS64でNo)と判定した場合、ステップS72に進む。文字検知装置102は、再判定が必要である(ステップS64でYes)と判定した場合、再判定部78を用いて、対象の文字候補領域と類似する文字候補領域を特定する(ステップS66)。文字検知装置102は、再判定部78を用いて、対象の複数の文字候補領域を比較し、過剰検知の領域であるかを判定する(ステップS68)。
【0067】
文字検知装置102は、過剰検知の領域ではない(ステップS68でNo)と判定した場合、ステップS72に進む。文字検知装置102は、過剰検知の領域である(ステップS68でYes)と判定した場合、対象の文字候補領域の評価値を下げ(ステップS82)、ステップS72に進む。
【0068】
文字検知装置102は、ステップS60の処理を行った後、ステップS64でNoと判定した場合、ステップS68でNoと判定して場合、文字候補領域の評価が完了したかを判定する(ステップS72)。文字検知装置102は、評価完了ではない(ステップS72でNo)と判定した場合、ステップS62に戻り、評価していない文字候補領域についての処理を行う。文字検知装置102は、評価完了である(ステップS72でYes)と判定した場合、図10の処理を終了する。
【0069】
文字検装置102は、図10に示すように、荷重検出の領域であると判定した場合、その文字候補領域の評価値を下げる処理をしてもよい。この場合、文字候補領域の評価値を文字の解析を行う基準の評価値よりも下の評価値とする。このように、処理を行うことでも、決定部80の処理時に過剰検知の文字候補領域を、文字の解析を行う領域から外すことができ、文字の解析を行う処理を行う対象の領域を低減することができる。
【符号の説明】
【0070】
10 プログラム作成装置
12 入力部
14 出力部
16 演算部
18 記憶部
30 教師データ作成部
32 アンカー設定部
34 学習部
36 文字検知処理部
40 画像データ
42 設定データ
44 学習実行プログラム
46 アンカー設定プログラム
48、120 文字検知プログラム
50、122 学習済みプログラム
70 取得部
72 抽出処理部
74 文字候補抽出部
76 評価部
78 再判定部
80 決定部
82 認識処理部
100 文字検知システム
102 文字検知装置
112 カメラ部
114 演算部
116 記憶部
118 報知部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10