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

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

▶ 三菱電機インフォメーションシステムズ株式会社の特許一覧

特許7580550文字認識装置、文字認識方法及び文字認識プログラム
<>
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図1
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図2
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図3
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図4
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図5
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図6
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図7
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図8
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図9
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図10
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図11
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図12
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図13
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図14
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図15
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図16
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図17
  • 特許-文字認識装置、文字認識方法及び文字認識プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】文字認識装置、文字認識方法及び文字認識プログラム
(51)【国際特許分類】
   G06V 30/24 20220101AFI20241101BHJP
   G06V 30/14 20220101ALI20241101BHJP
   H01L 21/02 20060101ALI20241101BHJP
【FI】
G06V30/24 620B
G06V30/14 340B
H01L21/02 A
【請求項の数】 18
(21)【出願番号】P 2023164081
(22)【出願日】2023-09-27
【審査請求日】2023-09-27
(73)【特許権者】
【識別番号】394013002
【氏名又は名称】三菱電機インフォメーションシステムズ株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】和田 知也
(72)【発明者】
【氏名】山足 光義
(72)【発明者】
【氏名】中尾 尭理
(72)【発明者】
【氏名】西濱 令
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】特開2018-173818(JP,A)
【文献】特開2018-018366(JP,A)
【文献】欧州特許出願公開第2830024(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/24
G06V 30/14
H01L 21/02
(57)【特許請求の範囲】
【請求項1】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得部と、
前記画像取得部によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取部と、
前記正解桁数の各桁を対象の桁として、前記読取部によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定部と
を備え
前記読取部は、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字として設定する文字認識装置。
【請求項2】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得部と、
前記画像取得部によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取部と、
前記正解桁数の各桁を対象の桁として、前記読取部によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定部と
を備え
前記読取部は、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、j=1,...,iの各j桁目に設定された文字をj+1桁目の文字に設定し直すとともに、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として1桁目の文字に設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字としてi+1桁目に設定する文字認識装置。
【請求項3】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得部と、
前記画像取得部によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取部と、
前記正解桁数の各桁を対象の桁として、前記読取部によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定部と
を備え
前記読取部は、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記欠損文字とされたスペースの部分画像を前記画像データから切り出して、前記部分画像から文字が読み取れた場合には、読み取れた文字を前記欠損文字の代わりに設定する文字認識装置。
【請求項4】
前記画像取得部は、前記対象物の画像データを1枚ずつ順に取得し、
前記読取部は、前記画像取得部によって取得された前記画像データを順に前記対象の画像データとして前記各桁の文字を読み取り、
前記推定部は、前記対象の桁について同じ文字が基準回数読み取られた場合に、前記対象の桁の文字を読み取られた文字として推定する
請求項1~3のいずれかに記載の文字認識装置。
【請求項5】
前記読取部は、2つの文字が検知された領域の重複度が基準割合よりも高い場合には、前記2つの文字のうち確信度の低い方の文字を除去した上で、前記各桁の文字を読み取る請求項1~3のいずれかに記載の文字認識装置。
【請求項6】
前記文字認識装置は、さらに、
記憶装置に記憶された複数の正解文字列から、事前に指定された全ての指定桁が、前記推定部によって推定された文字と同じ文字である正解文字列を特定する点検部
を備える請求項に記載の文字認識装置。
【請求項7】
前記画像取得部は、背景画像の変化により前記対象物が前記カメラの撮影領域に設定されたことが認識されると前記画像データの取得を開始し、前記点検部によって前記正解文字列が特定されると前記画像データの取得を終了する
請求項に記載の文字認識装置。
【請求項8】
前記文字認識装置は、さらに、
記憶装置に記憶された複数の正解文字列から、前記推定部によって文字が推定された全ての桁が、推定された文字と同じ文字である正解文字列を候補文字列として特定する点検部
を備える請求項に記載の文字認識装置。
【請求項9】
前記画像取得部は、背景画像の変化により前記対象物が前記カメラの撮影領域に設定されたことが認識されると前記画像データの取得を開始し、前記点検部によって特定された前記候補文字列が1つになると前記画像データの取得を終了する
請求項に記載の文字認識装置。
【請求項10】
前記文字認識装置は、さらに、
前記画像取得部によって取得された画像データに、文字を認識する領域である認識領域を示したガイドを重畳させて表示する表示部
を備える請求項1~3のいずれかに記載の文字認識装置。
【請求項11】
前記読取部は、前記ガイドが示す前記認識領域部分から文字列を読み取る
請求項10に記載の文字認識装置。
【請求項12】
前記文字認識装置は、さらに、
画像データと直近に取得された画像データである読取開始判定用背景画像との特徴の類似度が第2閾値以上あるときに、前記読取部に対して読み取りを開始するように制御する読取制御部
を備える請求項1~3のいずれかに記載の文字認識装置。
【請求項13】
コンピュータが、カメラにより対象物を撮影して、前記対象物の複数の画像データを取得し、
コンピュータが、前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取り、
コンピュータが、前記正解桁数の各桁を対象の桁として、前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定し、
コンピュータが、前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
コンピュータが、前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字として設定する文字認識方法。
【請求項14】
コンピュータが、カメラにより対象物を撮影して、前記対象物の複数の画像データを取得し、
コンピュータが、前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取り、
コンピュータが、前記正解桁数の各桁を対象の桁として、前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定し、
コンピュータが、前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
コンピュータが、前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、j=1,...,iの各j桁目に設定された文字をj+1桁目の文字に設定し直すとともに、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として1桁目の文字に設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字としてi+1桁目に設定する文字認識方法。
【請求項15】
コンピュータが、カメラにより対象物を撮影して、前記対象物の複数の画像データを取得し、
コンピュータが、前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取り、
コンピュータが、前記正解桁数の各桁を対象の桁として、前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定し、
コンピュータが、前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
コンピュータが、前記欠損文字とされたスペースの部分画像を前記画像データから切り出して、前記部分画像から文字が読み取れた場合には、読み取れた文字を前記欠損文字の代わりに設定する文字認識方法。
【請求項16】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得処理と、
前記画像取得処理によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取処理と、
前記正解桁数の各桁を対象の桁として、前記読取処理によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定処理と
を行う文字認識装置としてコンピュータを機能させ
前記読取処理では、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字として設定する文字認識プログラム。
【請求項17】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得処理と、
前記画像取得処理によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取処理と、
前記正解桁数の各桁を対象の桁として、前記読取処理によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定処理と
を行う文字認識装置としてコンピュータを機能させ
前記読取処理では、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、j=1,...,iの各j桁目に設定された文字をj+1桁目の文字に設定し直すとともに、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として1桁目の文字に設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字としてi+1桁目に設定する文字認識プログラム。
【請求項18】
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得処理と、
前記画像取得処理によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取処理と、
前記正解桁数の各桁を対象の桁として、前記読取処理によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定処理と
を行う文字認識装置としてコンピュータを機能させ
前記読取処理では、
前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取り、
前記欠損文字とされたスペースの部分画像を前記画像データから切り出して、前記部分画像から文字が読み取れた場合には、読み取れた文字を前記欠損文字の代わりに設定する文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ウェハ等の対象物に示されたID等の文字列を読み取る技術に関する。IDは、IDentifierの略である。
【背景技術】
【0002】
ウェハ等の対象物に対して加工を行う際には、対象物が正しいかを目視で点検している。しかし、対象物に示された文字が小さい、照明の反射で文字が見づらい等が原因となり、目視による点検に誤りが生じ易い。その結果、誤った対象物に対して加工を行ってしまう可能性がある。また、目視での点検をするために、作業員を別途割り当てる必要がある等、点検に手間と工数とがかかっている。
【0003】
特許文献1には、ウェハを回転台に載せ、ウェハの切欠部の位置に基づきIDの記載位置を特定することが記載されている。特許文献1では、回転台によりウェハを回転させてIDの記載位置をカメラの撮影領域に移動させ、IDを読み取っている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-261501号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、IDの記載位置を特定して、回転台によりIDの記載位置をカメラの撮影領域に移動させることにより、IDを精度よく読み取り可能にしている。しかし、特許文献1では、回転台にウェハを載せる必要があり、ウェハが間違っていた場合の手戻りが大きい。また、特許文献1では、回転台によりウェハを回転させるため、ウェハを機材である回転台に接触させており、ウェハに傷が付く可能性がある。また回転台に載せた後にウェハに傷が発見された場合に、傷が回転台の載せる前後のどちらで付いたかの判別ができず、責任の切り分けが困難になる。
本開示は、回転台等を用いることなく、対象物に示された文字列を精度よく読み取り可能にすることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る文字認識装置は、
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得部と、
前記画像取得部によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取部と、
前記正解桁数の各桁を対象の桁として、前記読取部によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定部と
を備える。
【発明の効果】
【0007】
本開示では、複数の画像データから正解桁数の各桁について文字を読み取り、桁毎に文字を推定する。これにより、回転台等を用いて文字列が示された位置が正確に特定できていなくても、精度よく文字列を読み取り可能になる。
【図面の簡単な説明】
【0008】
図1】実施の形態1に係る文字認識装置10の構成図。
図2】実施の形態1に係る文字認識装置10の全体的な処理のフローチャート。
図3】実施の形態1に係る正解桁数32と正解文字列33と指定桁34との例を示す図。
図4】実施の形態1に係る文字認識装置10の使用方法の説明図。
図5】実施の形態1に係る画面表示処理及び認識領域表示処理の説明図。
図6】実施の形態1に係る推定画像表示処理の説明図。
図7】実施の形態1に係る推定文字表示処理の説明図。
図8】実施の形態1に係る読取処理のフローチャート。
図9】実施の形態1に係る重複除去処理の説明図。
図10】実施の形態1に係る欠損充足処理のフローチャート。
図11】実施の形態1に係る欠損設定処理の説明図。
図12】実施の形態1に係る欠損充足処理の説明図。
図13】実施の形態1に係る余白計算処理の説明図。
図14】実施の形態1に係る左側設定処理の説明図。
図15】実施の形態1に係る右側設定処理の説明図。
図16】実施の形態1に係る推定処理及び点検処理の説明図。
図17】実施の形態1に係る文字確定処理の説明図。
図18】変形例1に係るガイドの説明図。
【発明を実施するための形態】
【0009】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る文字認識装置10の構成を説明する。
文字認識装置10は、コンピュータである。
文字認識装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0010】
プロセッサ11は、プロセッシングを行うICである。ICはIntegrated Circuitの略である。プロセッサ11は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
【0011】
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
【0012】
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ13は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
【0013】
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB、HDMI(登録商標)のポートである。USBは、Universal Serial Busの略である。HDMIは、High-Definition Multimedia Interfaceの略である。
【0014】
文字認識装置10は、通信インタフェース14を介して、カメラ41と、表示装置42と接続されている。カメラ41は、対象物を撮影するための撮影装置である。表示装置42は、読取結果等を表示するためのLCD等のディスプレイである。LCDは、Liquid Crystal Displayの略である。
【0015】
文字認識装置10は、機能構成要素として、画像取得部21と、読取制御部22と、読取部23と、推定部24と、点検部25と、表示部26とを備える。文字認識装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、文字認識装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、文字認識装置10の各機能構成要素の機能が実現される。
【0016】
ストレージ13には、背景画像31と、正解桁数32と、複数の正解文字列33と、指定桁34とが記憶される。
【0017】
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
【0018】
***動作の説明***
図2から図17を参照して、実施の形態1に係る文字認識装置10の動作を説明する。
実施の形態1に係る文字認識装置10の動作手順は、実施の形態1に係る文字認識方法に相当する。また、実施の形態1に係る文字認識装置10の動作を実現するプログラムは、実施の形態1に係る文字認識プログラムに相当する。
【0019】
実施の形態1では、数十枚等のひとまとまりの対象物に対してIDに応じた加工を行うことを想定する。ここでは、各対象物には、同じ桁数の、対象物毎に異なるIDが示されているとする。
【0020】
図2を参照して、実施の形態1に係る文字認識装置10の全体的な処理を説明する。
図2の処理の前提として、ユーザによって、背景画像31と、正解桁数32と、複数の正解文字列33と、指定桁34とがストレージ13に設定される。
背景画像31は、カメラ41の撮影領域にウェハ等の対象物がない状態で、カメラ41によって撮影を行い得られた画像データである。正解桁数32は、対象物に示された文字列の桁数である。実施の形態1では、正解桁数32は、対象物に示されたIDの桁数である。正解文字列33は、対象物の示された文字列である。実施の形態1では、正解文字列33は、対象物に示されたIDであり、全ての対象物に示されたIDそれぞれが正解文字列33として設定される。指定桁34は、推定が必須の1つ以上の桁である。実施の形態1では、指定桁34は、IDを一意に特定するために必須な1つ以上の桁である。例えば、ひとまとまりの対象物に割り振られたIDが7桁であり、上位2桁は共通しているとする。この場合には、指定桁34として、7桁のうち下5桁が指定される。
正解桁数32と正解文字列33と指定桁34とは、例えば、図3に示すように、1つのデータとして設定されていてもよい。図3では、正解桁数32が示す桁数の桁毎に、正解の文字と、指定桁34が示す必須な桁であるか否かとが示されている。上位2桁(1桁目と、2桁目)はIDのうち共通している部分のため必須判断ではFalse(必須ではない)とし、下位5桁はIDの特定のための必須な桁となるため、True(必須である)と定義される。
【0021】
実施の形態1では、図4に示すように、カメラ41の撮影領域に、作業員が手で対象物を移動させ、カメラ41によって得られた対象物の画像データから対象物に示された文字列であるIDを読み取る。作業員は、対象物に傷が付かないように保護用の手袋等を着用した上で、対象物を保持する。読み取られたIDが意図したIDであった場合に、対象物に対して加工が行われる準備が完了した状態になる。
【0022】
(ステップS101:背景読込処理)
読取制御部22は、ストレージ13から背景画像31を読み込む。
【0023】
(ステップS102:第1画像取得処理)
画像取得部21は、カメラ41によって撮影領域を撮影して得られた画像データを取得する。なお、カメラ41には、事前に解像度等が指定されているとする。
【0024】
(ステップS103:画像表示処理)
図5の(A)に示すように、表示部26は、ステップS102で取得された画像データに、文字を認識する認識領域を示したガイドを重畳させて表示装置42に表示する。ガイドは、事前に左上の(x,y)座標と、右下の(x,y)座標とが指定されているとする。
【0025】
(ステップS104:認識領域表示処理)
図5の(B)に示すように、表示部26は、ステップS102で取得された画像データのうち、ガイドが示す認識領域部分の画像を表示装置42に表示する。
【0026】
(ステップS105:背景判定処理)
読取制御部22は、ステップS102で取得された画像データと、ステップS101で読み込まれた背景画像31とを比較する。読取制御部22は、画像データと背景画像31との差分が第1閾値以上であるか否かを判定する。
読取制御部22は、差分が第1閾値以上である場合には、カメラ41の撮影領域に対象物が入ったとして、処理をステップS106に進める。一方、読取制御部22は、差分が第1閾値未満である場合には、カメラ41の撮影領域に対象物が入っていないとして、処理をステップS102に戻す。処理がステップS102に戻された場合には、ステップS102で新たに画像データが取得される。
【0027】
(ステップS106:前画像設定処理)
読取制御部22は、直近に取得された画像データを読取開始判定用背景画像に設定する。直近に取得された画像データとは、ステップS102で取得された画像データ、又は、後述するステップS107で取得された画像データである。
【0028】
(ステップS107:第2画像取得処理)
画像取得部21は、カメラ41によって撮影領域を撮影して得られた画像データを取得する。
【0029】
(ステップS108:前画像判定処理)
読取制御部22は、ステップS107で取得された画像データと、ステップS106で設定された読取開始判定用背景画像とを比較する。読取制御部22は、画像データと読取開始判定用背景画像との特徴の類似度が第2閾値未満であるか否かを判定する。
読取制御部22は、特徴の類似度が第2閾値未満である場合には、文字列であるIDの位置を認識領域に合わせている最中であるとして、処理をステップS106に戻す。一方、読取制御部22は、特徴の類似度が第2閾値以上である場合には、文字列であるIDの位置を認識領域に合わせ終わったとして、処理をステップS109に進める。
【0030】
(ステップS109:読取処理)
読取部23は、直近に取得された画像データを対象の画像データとして、正解桁数32の各桁について、その桁の文字を対象の画像データから読み取る。
ステップS109の処理の実行が1度目の場合には、直近に取得された画像データは、ステップS107で取得された画像データである。ステップS109の処理が2度目以降の場合には、直近に取得された画像データは、ステップS114で取得された画像データである。
【0031】
(ステップS110:推定処理)
推定部24は、正解桁数32の各桁を対象の桁として、これまでにステップS109で読み取られた対象の桁の文字から対象の桁の文字を推定する。
【0032】
(ステップS111:推定画像表示処理)
図6の(A)に示すように、表示部26は、ステップS109で読み取りに用いられた画像データを表示する。また、図6の(B)に示すように、表示部26は、ステップS109で読み取りに用いられた画像データのうち、ガイドが示す認識領域部分の画像を表示装置42に表示する。
【0033】
(ステップS112:推定文字表示処理)
図7に示すように、表示部26は、ステップS110で推定された文字を表示する。ここでは、推定が済んでいる桁の文字だけが表示され、推定が済んでいない桁の文字は空欄が表示される。
【0034】
(ステップS113:点検処理)
点検部25は、正解文字列33及び指定桁34を用いて推定が済んだか点検する。
点検部25は、推定が済んだ場合には、処理を終了する。一方、点検部25は、推定が済んでいない場合には、処理をステップS102に戻す。
ステップS113で点検部25は、正解文字列33のうち、必須判断がTrueと定義された指定桁34の推定が完了しているかを点検する。なお必須項目がFalseを含む正解桁数32全体を点検するように構成してもよい。
【0035】
図8を参照して、実施の形態1に係る読取処理(図2のステップS109)を説明する。
(ステップS201:第1切出処理)
読取部23は、対象の画像データから、認識領域の中心位置を基準として、物体検知モデルの入力サイズの部分画像を切り出す。例えば、読取部23は、認識領域の中心位置を中心位置とする入力サイズの部分画像を切り出す。
物体検知モデルは、画像データを入力として、文字を検知する学習済モデルである。物体検知モデルは、入力とする画像データのサイズである入力サイズが定められている。
【0036】
(ステップS202:第1文字認識処理)
読取部23は、ステップS201で切り出された部分画像を、物体検知モデルに入力する。
物体検知モデルは、入力された画像データから文字を検知し、検知された文字の位置と、検知された文字の認識結果とを出力する。ここでは、文字の位置として、検知された文字を囲った矩形の検知枠が出力されるとする。文字の認識結果は、検知された文字がどの文字であるかと、認識の確信度とを示す。
【0037】
(ステップS203:範囲外除去処理)
読取部23は、ステップS202で物体検知モデルによって検知された文字のうち、認識領域外の文字を除去する。具体的には、読取部23は、検知枠の基準割合以上が認識領域外にある文字を除去する。これにより、認識領域内の文字だけが残る。
【0038】
(ステップS204:重複除去処理)
読取部23は、2つの文字が検知された領域の重複度が基準割合よりも高い場合には、2つの文字のうち確信度の低い方の文字を除去する。
図9を参照して具体的に説明する。物体検知モデルから出力された検知枠に重なりがある場合がある。検知枠が少しずれており、隣り合う文字の検知枠が重なってしまう場合もあるが、1つの文字が複数回検出されてしまい検知枠が重なる場合もある。読取部23は、隣り合う文字の検知枠が重なってしまった場合には、検知枠をそのままにする。一方、読取部23は、1つの文字が複数回検出されてしまった場合については、1つの検知枠だけを残して残りの検知枠を除去する。つまり、図9の検知枠Uと検知枠Vとが重なっている部分に関しては、検知枠をそのままにする。一方、読取部23は、図9の検知枠Xと検知枠Yとが重なっている部分に関しては、一方の検知枠を除去する。
これを実現するために、読取部23は、検知枠同士のIoUを計算する。IoUは、Intersection over Unionの略である。そして、読取部23は、IoUが除去閾値以上の場合には、確信度が低い方の検知枠を除去する。
【0039】
(ステップS205:変数設定処理)
読取部23は、変数Aに正解桁数32を設定する。読取部23は、変数BにステップS203及びステップS204の処理を経て残っている検知枠の数を設定する。読取部23は、変数iに初期値として1を設定する。
【0040】
(ステップS206:検知枠数判定処理)
読取部23は、変数Aと変数Bとを比較する。読取部23は、変数A=変数Bの場合には、正解桁数32と同じ数の文字が検知されているとして、処理をステップS207に進める。読取部23は、変数A>変数Bの場合には、検知されていない欠損文字があるとして、処理をステップS208に進める。読取部23は、変数A<変数Bの場合には、不適切な検知が行われているとして、読取処理を止めるとともに推定処理等をスキップして、処理をステップS102に戻る。
【0041】
(ステップS207:結果設定処理)
読取部23は、検出された文字を指定側(実施の形態1では、左側とする)から順に、各桁の文字に設定する。つまり、読取部23は、最も左側の文字を1桁目の文字に設定する。読取部23は、左側から2番目の文字を2桁目の文字に設定する。これを繰り返し、最も指定側と逆側(実施の形態1では右側)の文字を正解桁数32が示す桁数目の文字に設定する。
【0042】
(ステップS208:欠損充足処理)
読取部23は、欠損文字の位置を特定する。
具体的には、読取部23は、検出された複数の文字のうち指定側(実施の形態1では左側)の文字を1桁目の文字に設定する。読取部23は、i=1から順に、i桁目の文字と右側の隣接する文字との間の距離が基準距離以内の場合には、隣接する文字をi+1桁目の文字に設定する。読取部23は、i桁目の文字と隣接する文字との間の距離が基準距離よりも長い場合には、i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定する。
【0043】
(ステップS209:結果出力処理)
読取部23は、正解桁数32の各桁について読み取った文字を推定部24に出力する。
【0044】
図10を参照して、実施の形態1に係る欠損充足処理(図8のステップS208)を説明する。
(ステップS301:平均幅計算処理)
読取部23は、ステップS203及びステップS204の処理を経て残っている検知枠の幅の平均値と高さの平均値と検知枠左上の縦方向の座標(y軸)の平均値とを計算する。読取部23は、幅の平均値を基準距離に設定する。
【0045】
(ステップS302:1桁目設定処理)
読取部23は、検出された複数の文字のうち指定側の文字を1桁目の文字に設定する。
【0046】
(ステップS303:枠間距離計算処理)
読取部23は、変数iを用いて、左側からi番目の検知枠と、左側からi+1番目の検知枠との間の距離を計算する。
【0047】
(ステップS304:距離判定処理)
読取部23は、ステップS303で計算された距離が、基準距離以内であるかを判定する。
読取部23は、計算された距離が基準距離以内である場合には、処理をステップS305に進める。一方、読取部23は、計算された距離が基準距離よりも長い場合には、処理をステップS306に進める。
【0048】
(ステップS305:i+1桁目設定処理)
読取部23は、左側からi+1番目の検知枠の文字をi+1桁目の文字に設定する。
【0049】
(ステップS306:欠損設定処理)
図11のi=1のケースのように、読取部23は、左側からi番目の検知枠の右側の基準幅のスペースであって、左側からi番目の検知枠と同じ高さ範囲のスペースを欠損文字としてi+1桁目に設定する。ここでは、基準幅は、ステップS301で計算された幅の平均値とする。この際、読取部23は、欠損文字として設定したスペースに検知枠を設定する。
読取部23は、対象の画像データから、i+1桁目に設定されたスペースの部分画像を切り出す。
【0050】
(ステップS307:第2文字認識処理)
読取部23は、ステップS306で切り出された部分画像を、文字認識モデルに入力する。
文字認識モデルは、入力された画像データに示された文字を認識し、認識結果を出力する。文字認識モデルは、例えば、CNNによって構成される。CNNは、Convolutional Neural Networkの略である。つまり、文字認識モデルは、物体検知モデルとは異なり、文字の位置を検知したりはしない。一方で、文字認識モデルは、物体検知モデルよりも高精度に文字を認識できる可能性がある。
読取部23は、文字認識モデルによって文字が認識された場合には、i+1桁目に認識された文字を設定する。一方、読取部23は、文字認識モデルによって文字が認識されなかった場合には、i+1桁目は欠損文字のままとする。
【0051】
(ステップS308:インクリメント処理)
読取部23は、変数iに1加算する。
【0052】
(ステップS309:変数判定処理)
読取部23は、変数i=変数Aであるか否かを判定する。読取部23は、変数i=変数Aである場合には、処理を終了する。一方、読取部23は、変数i=変数Aでない場合には、処理をステップS310に進める。
【0053】
(ステップS310:枠判定処理)
読取部23は、左側からi番目の検知枠よりも右側に検知枠があるか否かを判定する。読取部23は、検知枠がある場合には、処理をステップS303に戻す。一方、読取部23は、検知枠がない場合には、処理をステップS311に進める。検知枠がない場合とは、検知された全ての文字がいずれかの桁の文字として設定されたことを意味する。
【0054】
図12に示すように、ステップS303からステップS310の処理が繰り返し実行されることにより、最も左側の検知枠と、最も右側の検知枠との間の欠損が順次特定される。しかし、最も左側の検知枠よりも左側と、最も右側の検知枠よりも右側との欠損については、ステップS303からステップS310の処理では特定されない。そこで、ステップS311からステップS317の処理により、最も左側の検知枠よりも左側と、最も右側の検知枠よりも右側との欠損が特定される。
【0055】
(ステップS311:余白計算処理)
図13に示すように、読取部23は、最も左側にある検知枠から、認識領域の左側の端部までの距離を第1距離として計算する。また、読取部23は、最も右側にある検知枠から、認識領域の右側の端部までの距離を第2距離として計算する。
【0056】
(ステップS312:左右判定処理)
読取部23は、ステップS311で計算された第1距離と第2距離とのどちらが長いかを判定する。
読取部23は、第1距離が長い場合には、処理をステップS313に進める。一方、読取部23は、第2距離が長い場合には、処理をステップS314に進める。なお、読取部23は、第1距離と第2距離とが同じ長さの場合には、ステップS313とステップS314とのうち、事前に定められた方に処理を進める。ここでは、読取部23は、第1距離と第2距離とが同じ長さの場合には、処理をステップS314に進めるものとする。
【0057】
(ステップS313:左側設定処理)
図14に示すように、読取部23は、ステップS302とステップS305とステップS306とで、これまでにj=1,...,iの各j桁目に設定された文字を、j+1桁目の文字に設定し直す。そして、読取部23は、最も左側の検知枠の左側の基準幅のスペースであって、最も左側の検知枠と同じ高さ範囲のスペースを欠損文字として1桁目に設定する。この際、読取部23は、欠損文字として設定したスペースに検知枠を設定する。
読取部23は、対象の画像データから、1桁目に設定されたスペースの部分画像を切り出す。切り出すときは、ステップS301で算出した縦方向の左上座標の平均値から幅の平均値と高さの平均値とから特定されるスペースを切り出す。
【0058】
(ステップS314:右側設定処理)
図15に示すように、読取部23は、最も右側の検知枠の右側の基準幅のスペースであって、最も右側の検知枠と同じ高さ範囲のスペースを欠損文字としてi+1桁目に設定する。この際、読取部23は、欠損文字として設定したスペースに検知枠を設定する。
読取部23は、対象の画像データから、i+1桁目に設定されたスペースの部分画像を切り出す。
【0059】
(ステップS315:第3文字認識定処理)
読取部23は、ステップS313又はステップS314で切り出された部分画像を、文字認識モデルに入力する。読取部23は、文字認識モデルによって文字が認識された場合には、ステップS313又はステップS314の欠損文字に代えて、認識された文字を設定する。一方、読取部23は、文字認識モデルによって文字が認識されなかった場合には、欠損文字のままとする。
【0060】
(ステップS316:インクリメント処理)
読取部23は、変数iに1加算する。
【0061】
(ステップS317:変数判定処理)
読取部23は、変数i=変数Aであるか否かを判定する。読取部23は、変数i=変数Aである場合には、処理を終了する。一方、読取部23は、変数i=変数Aでない場合には、処理をステップS311に戻す。
【0062】
図16を参照して、実施の形態1に係る推定処理(図2のステップS110)及び点検処理(図2のステップS113)を説明する。
ステップS401からステップS402の処理が推定処理に対応する。ステップS403からステップS405の処理が点検処理に対応する。
【0063】
(ステップS401:読取文字記録処理)
推定部24は、正解桁数32の桁毎に、ステップS109で読み取られた文字をメモリ12に記録する。
【0064】
(ステップS402:文字確定処理)
推定部24は、正解桁数32の各桁を対象の桁として、対象の桁について同じ文字が基準回数読み取られた場合に、対象の桁の文字を読み取られた文字として推定する。例えば、図17に示すように、基準回数を4とする。この場合には、推定部24は、対象の桁について、ステップS401で記録された文字を参照して、同じ文字が4個存在する場合には、対象の桁の文字がその文字であると推定する。
推定部24は、文字が推定された桁については、文字確定済として、次からのステップS402では処理対象外とする。
【0065】
(ステップS403:正解比較処理)
点検部25は、ステップS402で文字確定済となった桁について、推定された文字と、複数の正解文字列33それぞれにおける文字とを比較する。
【0066】
(ステップS404:終了判定処理)
点検部25は、指定桁34が示す全ての桁について文字が一致する正解文字列33が特定されたか、又は、設定時間が経過したかのいずれかの状態であるかを判定する。点検部25は、いずれかの状態である場合には、処理をステップS405に進める。一方、点検部25は、いずれの状態でもない場合には、処理を図2のステップ114に進める。
【0067】
(ステップS405:正解判定処理)
指定桁34が示す全ての桁について文字が一致する正解文字列33が特定された場合には、表示部26は特定された正解文字列33を表示装置42に表示して、処理を終了する。一方、指定桁34が示す全ての桁について文字が一致する正解文字列33が特定されていない場合には、表示部26は正解を特定できない旨を表示装置42に表示して、処理を終了する。
【0068】
***実施の形態1の効果***
以上のように、実施の形態1に係る文字認識装置10は、複数の画像データから正解桁数32の各桁について文字を読み取り、桁毎に文字を推定する。これにより、回転台等を用いて文字列が示された位置が正確に特定できていなくても、精度よく文字列を読み取り可能になる。
また実施の形態において、ガイドが示す認識領域部分のみの文字列を読み取るように構成するので、文字の推定の精度向上が見込まれる。さらにガイドは、対象物の形状やIDの桁数等により、円や楕円等任意の形状にすることができる。
【0069】
実施の形態1に係る文字認識装置10は、検出できなかった欠損文字を特定する。これにより、桁毎に文字を読み取ることが可能である。
【0070】
実施の形態1に係る文字認識装置10は、欠損文字については、文字認識モデルにより文字認識を行う。これにより、物体検知モデルでは認識できなかった文字についても、認識できる可能性がある。そのため、文字の認識精度が高くなり、対象物に示された文字列を早期に特定可能になる。
【0071】
実施の形態1に係る文字認識装置10は、検知された領域の重複が大きい場合には、確信度が低い方の文字を除去する。これにより、1つの文字が重複して検知されてしまい、桁がずれることが防止される。
【0072】
実施の形態1に係る文字認識装置10は、推定された各桁の文字を、正解文字列33の対応する桁の文字と比較することにより、推定された文字列に対応する正解文字列33を特定する。そして、実施の形態1に係る文字認識装置10は、推定された文字列に対応する正解文字列33が特定されると画像データの取得を終了する。これにより、不要に処理を繰り返すことがない。
【0073】
実施の形態1に係る文字認識装置10は、背景画像の変化により対象物がカメラ41の撮影領域に設定されたことが認識されると、画像データの取得を開始する。これにより、簡便に処理を開始することが可能である。対象物がカメラ41の撮影領域に設定されたかを判定するため、画像データと背景画像31との差分を取るために用いる第1閾値は、画像データと背景画像31との差分が確認できる閾値となる。また対象物がカメラ41の撮影領域に固定されたかを判定するため、画像データと読取開始判定用背景との差分を取るために用いる第2閾値は、画像データと読取開始判定用背景画像との差分が確認できる閾値となる。第1閾値及び第2閾値は、動的に変更することも可能である。
【0074】
***他の構成***
<変形例1>
実施の形態1では、図2のステップS103で画像データに、文字を認識する認識領域を示したガイドを重畳させて表示した。図18に示すように、ガイドは、認識領域だけでなく、1桁目の位置を示してもよい。ガイドが1桁目の位置を示すことにより、1桁目の文字が正しい位置に設定される可能性が高くなる。そのため、実際の1桁目の文字が1桁目の文字として認識される可能性が高くなる。
【0075】
そこで、実際の1桁目の文字が1桁目の文字として認識されることを前提としてもよい。この場合には、図10の処理を簡略化することができる。具体的には、ステップS311からステップS313の処理を省略することができる。これは、初めに1桁目として特定された文字よりも左側に文字は存在しないことが前提となるためである。したがって、ステップS311からステップS317の処理では、右側に欠損文字があるとして、順次特定されることになる。
【0076】
<変形例2>
実施の形態1では、図16のステップS404で、点検部25は、指定桁34が示す全ての桁について文字が一致する正解文字列33が特定されたかを判定した。しかし、図16のステップS403で点検部25は、ステップS402で文字確定済となった全ての桁について、文字が一致する正解文字列33を候補文字列として特定するようにしてもよい。そして、図16のステップS404で点検部25は、指定桁34が示す全ての桁について文字が一致する正解文字列33が特定されたかを判定することに代えて、特定された候補文字列が1つになったか否かを判定してもよい。
なお、変形例2の処理を採用する場合には、指定桁34は不要である。
【0077】
変形例2の処理を採用した場合において、図16のステップS404で設定時間が経過したと判定された場合には、表示部26は、特定されている複数の候補文字列を表示してもよい。
【0078】
<変形例3>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例3として、各機能構成要素はハードウェアで実現されてもよい。この変形例3について、実施の形態1と異なる点を説明する。
【0079】
各機能構成要素がハードウェアで実現される場合には、文字認識装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0080】
電子回路15としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field-Programmable Gate Arrayの略である。
各機能構成要素を1つの電子回路15で実現してもよいし、各機能構成要素を複数の電子回路15に分散させて実現してもよい。
【0081】
<変形例4>
変形例4として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0082】
プロセッサ11とメモリ12とストレージ13と電子回路15とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0083】
また、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。
【0084】
以下、本開示の諸態様を付記としてまとめて記載する。
(付記1)
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得部と、
前記画像取得部によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取部と、
前記正解桁数の各桁を対象の桁として、前記読取部によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定部と
を備える文字認識装置。
(付記2)
前記画像取得部は、前記対象物の画像データを1枚ずつ順に取得し、
前記読取部は、前記画像取得部によって取得された前記画像データを順に前記対象の画像データとして前記各桁の文字を読み取り、
前記推定部は、前記対象の桁について同じ文字が基準回数読み取られた場合に、前記対象の桁の文字を読み取られた文字として推定する
付記1に記載の文字認識装置。
(付記3)
前記読取部は、前記対象の画像データから複数の文字を検知し、検知された前記複数の文字のうち指定側の文字を1桁目の文字に設定し、i=1から前記複数の文字がいずれかの桁の文字として設定されるまで、i桁目の文字と隣接する文字との間の距離が基準距離以内の場合には、前記隣接する文字をi+1桁目の文字に設定した上でiに1加算し、i桁目の文字と隣接する文字との間の距離が前記基準距離よりも長い場合には、前記i桁目の文字の隣の基準幅のスペースを欠損文字としてi+1桁目の文字に設定した上でiに1加算することにより、前記各桁の文字を読み取る
付記1又は2に記載の文字認識装置。
(付記4)
前記読取部は、前記複数の文字がいずれかの桁の文字として設定された状態において、文字が設定された桁数が正解桁数よりも少ない場合には、前記複数の文字のうち最も指定側の文字と、文字を認識する領域の前記指定側の端部との距離である第1距離を計算するとともに、前記複数の文字のうち最も指定側と逆側の文字と、文字を認識する領域の前記指定側と逆側の端部との距離である第2距離を計算して、前記第1距離が前記第2距離よりも長い場合には、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字として設定する
付記3に記載の文字認識装置。
(付記5)
前記読取部は、前記第1距離が前記第2距離よりも長い場合には、j=1,...,iの各j桁目に設定された文字をj+1桁目の文字に設定し直すとともに、前記最も指定側の文字の前記指定側の基準幅のスペースを欠損文字として1桁目の文字に設定し、前記第2距離が前記第1距離よりも長い場合には、前記最も指定側と逆側の文字の前記指定側と逆側の基準幅のスペースを欠損文字としてi+1桁目に設定する
付記4に記載の文字認識装置。
(付記6)
前記読取部は、前記欠損文字とされたスペースの部分画像を前記画像データから切り出して、前記部分画像から文字が読み取れた場合には、読み取れた文字を前記欠損文字の代わりに設定する
付記3から5までのいずれか1項に記載の文字認識装置。
(付記7)
前記読取部は、2つの文字が検知された領域の重複度が基準割合よりも高い場合には、前記2つの文字のうち確信度の低い方の文字を除去した上で、前記各桁の文字を読み取る付記3から6までのいずれか1項に記載の文字認識装置。
(付記8)
前記文字認識装置は、さらに、
記憶装置に記憶された複数の正解文字列から、事前に指定された全ての指定桁が、前記推定部によって推定された文字と同じ文字である正解文字列を特定する点検部
を備える付記2に記載の文字認識装置。
(付記9)
前記画像取得部は、背景画像の変化により前記対象物が前記カメラの撮影領域に設定されたことが認識されると前記画像データの取得を開始し、前記点検部によって前記正解文字列が特定されると前記画像データの取得を終了する
付記8に記載の文字認識装置。
(付記10)
前記文字認識装置は、さらに、
記憶装置に記憶された複数の正解文字列から、前記推定部によって文字が推定された全ての桁が、推定された文字と同じ文字である正解文字列を候補文字列として特定する点検部
を備える付記2に記載の文字認識装置。
(付記11)
前記画像取得部は、背景画像の変化により前記対象物が前記カメラの撮影領域に設定されたことが認識されると前記画像データの取得を開始し、前記点検部によって特定された前記候補文字列が1つになると前記画像データの取得を終了する
付記10に記載の文字認識装置。
(付記12)
前記文字認識装置は、さらに、
前記画像取得部によって取得された画像データに、文字を認識する領域である認識領域を示したガイドを重畳させて表示する表示部
を備える付記1から11までのいずれか1項に記載の文字認識装置。
(付記13)
前記読取部は、前記ガイドが示す前記認識領域部分から文字列を読み取る
付記12に記載の文字認識装置。
(付記14)
前記文字認識装置は、さらに、
画像データと直近に取得された画像データである読取開始判定用背景画像との特徴の類似度が第2閾値以上あるときに、前記読取部に対して読み取りを開始するように制御する読取制御部
を備える付記1から13のいずれか1項に記載の文字認識装置。
(付記15)
コンピュータが、カメラにより対象物を撮影して、前記対象物の複数の画像データを取得し、
コンピュータが、前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取り、
コンピュータが、前記正解桁数の各桁を対象の桁として、前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する文字認識方法。
(付記16)
カメラにより対象物を撮影して、前記対象物の複数の画像データを取得する画像取得処理と、
前記画像取得処理によって取得された前記複数の画像データそれぞれを対象の画像データとして、前記対象物に示されている文字列の桁数である正解桁数の各桁について、その桁の文字を前記対象の画像データから読み取る読取処理と、
前記正解桁数の各桁を対象の桁として、前記読取処理によって前記複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する推定処理と
を行う文字認識装置としてコンピュータを機能させる文字認識プログラム。
【0085】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0086】
10 文字認識装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、21 画像取得部、22 読取制御部、23 読取部、24 推定部、25 点検部、26 表示部、31 背景画像、32 正解桁数、33 正解文字列、34 指定桁、41 カメラ、42 表示装置。
【要約】
【課題】回転台等を用いることなく、対象物に刻印された文字列を精度よく読み取り可能にする。
【解決手段】画像取得部21は、カメラ41により対象物を撮影して、対象物の複数の画像データを取得する。読取部23は、複数の画像データそれぞれを対象の画像データとして、対象物に刻印されている文字列の桁数である正解桁数の各桁について、その桁の文字を対象の画像データから読み取る。推定部24は、正解桁数の各桁を対象の桁として、複数の画像データそれぞれから読み取られた対象の桁の文字から対象の桁の文字を推定する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18