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

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

▶ 富士電機株式会社の特許一覧

特開2024-61191文字認識装置、文字認識方法、及び文字認識プログラム
<>
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図1
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図2
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図3
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図4
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図5
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図6
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図7
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図8
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図9
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図10
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図11
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図12
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図13
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図14
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図15
  • 特開-文字認識装置、文字認識方法、及び文字認識プログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024061191
(43)【公開日】2024-05-07
(54)【発明の名称】文字認識装置、文字認識方法、及び文字認識プログラム
(51)【国際特許分類】
   G06V 30/14 20220101AFI20240425BHJP
   G06T 7/50 20170101ALI20240425BHJP
【FI】
G06V30/14 340A
G06T7/50
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022168968
(22)【出願日】2022-10-21
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100132067
【弁理士】
【氏名又は名称】岡田 喜雅
(74)【代理人】
【識別番号】100157967
【弁理士】
【氏名又は名称】管田 洋明
(72)【発明者】
【氏名】田嶋 海南人
(72)【発明者】
【氏名】関段 友哉
(72)【発明者】
【氏名】石河 範明
【テーマコード(参考)】
5B029
5L096
【Fターム(参考)】
5B029AA05
5B029CC25
5L096FA02
5L096GA51
5L096KA04
(57)【要約】
【課題】物体の表面に立体的に形成された文字を効率的に認識する。
【解決手段】推定部は、学習対象画像と学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定する。特定部は、複数の画素それぞれの深度に基づいて、処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、処理対象画像内の認識対象領域を特定する。認識部は、認識対象領域から文字を認識する。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習対象画像と前記学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定する推定部と、
前記複数の画素それぞれの深度に基づいて、前記処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、前記処理対象画像内の認識対象領域を特定する特定部と、
前記認識対象領域から前記文字を認識する認識部と、
を備えることを特徴とする文字認識装置。
【請求項2】
前記特定部は、前記認識対象物体の表面の深度と前記認識対象物体の背景の深度との間の深度に対応する第1閾値と、前記複数の画素それぞれの深度とを用いて、前記認識対象物体の表面が写っている、前記処理対象画像内の第1画像領域を特定し、前記第1画像領域から前記認識対象領域を特定することを特徴とする請求項1記載の文字認識装置。
【請求項3】
前記特定部は、前記文字の表面の深度と前記認識対象物体の表面の深度との間の深度に対応する第2閾値と、前記第1画像領域内の複数の画素それぞれの深度とを用いて、前記第1画像領域から第2画像領域を特定し、前記第2画像領域を前記認識対象領域として用いることを特徴とする請求項2記載の文字認識装置。
【請求項4】
前記認識対象物体の表面には複数の文字が立体的に形成されており、
前記特定部は、前記第2閾値と前記第1画像領域内の複数の画素それぞれの深度とを用いて、前記第1画像領域から複数の画像領域が特定された場合、前記複数の画像領域のうち1つ以上の画像領域を拡大することで、前記複数の画像領域を統合した統合領域を生成し、前記統合領域を前記第2画像領域に決定することを特徴とする請求項3記載の文字認識装置。
【請求項5】
前記認識対象物体は、鋳鉄管であり、
前記認識対象物体の表面は、前記鋳鉄管の端面であり、
前記認識対象物体の表面に立体的に形成された文字は、前記鋳鉄管の端面に形成された鋳出し文字であり、
前記第1閾値は、前記鋳鉄管の端面の深度よりも深く、かつ、前記鋳鉄管の背景の深度よりも浅い深度に対応し、
前記第2閾値は、前記鋳出し文字の表面の深度よりも深く、かつ、前記鋳鉄管の端面の深度よりも浅い深度に対応することを特徴とする請求項3又は4記載の文字認識装置。
【請求項6】
コンピュータが、
学習対象画像と前記学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定し、
前記複数の画素それぞれの深度に基づいて、前記処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、前記処理対象画像内の認識対象領域を特定し、
前記認識対象領域から前記文字を認識する、
ことを特徴とする文字認識方法。
【請求項7】
学習対象画像と前記学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定し、
前記複数の画素それぞれの深度に基づいて、前記処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、前記処理対象画像内の認識対象領域を特定し、
前記認識対象領域から前記文字を認識する、
処理をコンピュータに実行させるための文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字認識装置、文字認識方法、及び文字認識プログラムに関する。
【背景技術】
【0002】
鋳鉄管の端面に凸状に形成された鋳出し文字の認識に関連して、鋳型文字を高い信頼性をもって安定的に認識する鋳型文字種別認識装置が知られている(例えば、特許文献1を参照)。
【0003】
特許文献1の鋳型文字種別認識装置は、鋳型文字の測定形状に対応する多数の測定点の三次元位置情報を含む測定点データを入力し、鋳型文字の基準形状に対応する多数の基準点の位置情報を含む基準点データを格納する。鋳型文字種別認識装置は、対応する測定点と基準点との間の距離を逐次収束させる逐次収束処理に基づいて測定点と基準点とを位置合わせすることで、測定形状と基準形状との位置合わせを行う。鋳型文字種別認識装置は、位置合わせされた測定形状と基準形状との間の相違を示す差分量を算定し、差分量から測定形状が示す鋳型文字の文字種を特定する。
【0004】
円柱状である測定対象物を軸芯方向から見たときの表面において外周円に沿い表面に対する凹凸により形成された文字を読み取ることが可能な文字読み取り装置も知られている(例えば、特許文献2を参照)。
【0005】
特許文献2の文字読み取り装置は、円柱状である測定対象物を軸芯方向から見たときの表面において、外周円に沿うように表面に対する凹凸により形成された文字を光切断法により計測する。文字読み取り装置は、表面の高さデータを測定可能な位置に配置された測定対象物を軸芯周りに一定方向に回転させ、測定対象物の表面の外周側から中心側までの所定の区間を走査することにより、表面の外周側から中心側までの凹凸の高さを測定する。文字読み取り装置は、表面の中心側の点を中心点として一定微小変位角ごとに高さのプロファイルデータを取得し、プロファイルデータを画像濃淡データに変換する。
【0006】
鋳鉄管の自動管種判別を、簡易、スピーディ、かつ正確に行う管種判別装置も知られている(例えば、特許文献3を参照)。
【0007】
特許文献3の管種判別装置は、鋳鉄管のフランジ表面に設けられた管種表示用凹凸文字のフランジ径方向全長に亘ってレーザ光を照射し、レーザ光のフランジ面からの反射光を受けて、凹凸文字のフランジF径方向の凹凸状態を一次元情報として読み取る。管種判別装置は、一次元情報と凹凸文字の予め設定された基準情報とを比較して、鋳鉄管の種別を判別する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2012-123565号公報
【特許文献2】特開2016-33797号公報
【特許文献3】特開平10-261046号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1~特許文献3の装置によれば、鋳鉄管の端面に形成された鋳出し文字等を認識又は判別することができる。しかしながら、これらの装置では、レーザ光等を用いて鋳出し文字の3次元形状を計測する計測装置が用いられているため、ハードウェアコストが増大するとともに、計測装置の制御及び鋳出し文字の計測のための処理時間が増大する。
【0010】
なお、かかる問題は、鋳鉄管の端面に形成された鋳出し文字を認識する場合に限らず、様々な物体の表面に立体的に形成された文字を認識する場合において生ずるものである。
【0011】
1つの側面において、本発明は、物体の表面に立体的に形成された文字を効率的に認識することを目的とする。
【課題を解決するための手段】
【0012】
1つの実施形態によれば、文字認識装置は、推定部、特定部、及び認識部を含む。推定部は、学習対象画像と学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定する。
【0013】
特定部は、複数の画素それぞれの深度に基づいて、処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、処理対象画像内の認識対象領域を特定する。認識部は、認識対象領域から文字を認識する。
【発明の効果】
【0014】
1つの側面において、物体の表面に立体的に形成された文字を効率的に認識することができる。
【図面の簡単な説明】
【0015】
図1】実施形態の文字認識装置の機能的構成図である。
図2】第1の文字認識処理のフローチャートである。
図3】文字認識システムの構成図である。
図4】OCRサーバの機能的構成図である。
図5】前処理のフローチャートである。
図6】深度マップを示す図である。
図7】第2の文字認識処理のフローチャートである。
図8】第1抽出処理のフローチャートである。
図9】処理対象画像の深度マップを示す図である。
図10】第1のマスキング結果を示す図である。
図11】第2抽出処理のフローチャートである。
図12】第2のマスキング結果を示す図である。
図13】外接矩形を示す図である。
図14】認識対象領域を示す図である。
図15】複数の外接矩形を示す図である。
図16】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0017】
図1は、実施形態の文字認識装置の機能的構成例を示している。図1の文字認識装置101は、推定部111、特定部112、及び認識部113を含む。
【0018】
図2は、図1の文字認識装置101が行う第1の文字認識処理の例を示すフローチャートである。まず、推定部111は、学習対象画像と学習対象画像に写っている物体の深度とに基づく機械学習により生成された深度推定モデルを用いて、撮像装置により撮影された処理対象画像内の複数の画素それぞれの深度を推定する(ステップ201)。
【0019】
特定部112は、複数の画素それぞれの深度に基づいて、処理対象画像に写っている認識対象物体の表面に立体的に形成された文字が存在する、処理対象画像内の認識対象領域を特定する(ステップ202)。認識部113は、認識対象領域から文字を認識する(ステップ203)。
【0020】
図1の文字認識装置101によれば、物体の表面に立体的に形成された文字を効率的に認識することができる。
【0021】
図3は、図1の文字認識装置101を含む文字認識システムの構成例を示している。図3の文字認識システムは、CCD(Charge-Coupled Device)カメラ311、コントローラ312、画像取得装置313、NAS(Network-Attached Storage)314、及びOCR(Optical Character Recognition)サーバ315を含む。
【0022】
CCDカメラ311は、撮像装置に対応する。画像取得装置313及びOCRサーバ315は、情報処理装置(コンピュータ)である。OCRサーバ315は、図1の文字認識装置101に対応する。
【0023】
鋳鉄管321の端面322には、1つ又は複数の鋳出し文字を含む鋳出し文字列323が形成されている。鋳鉄管321は、認識対象物体に対応し、端面322は、認識対象物体の表面に対応し、鋳出し文字列323は、認識対象物体の表面に立体的に形成された文字に対応する。
【0024】
CCDカメラ311は、鋳鉄管321の端面322を撮影し、撮影した画像をコントローラ312へ出力する。コントローラ312は、CCDカメラ311を制御し、CCDカメラ311から画像を受信する。画像取得装置313は、コントローラ312から画像を取得し、通信ネットワークを介して、取得した画像をNAS314へ送信する。NAS314は、画像取得装置313から受信した画像を記憶する。
【0025】
OCRサーバ315は、通信ネットワークを介して、NAS314から画像を取得し、単眼深度推定を行うことで、取得した画像に写っている物体の深度を推定する。
【0026】
物体の深度は、CCDカメラ311によって撮影された画像の奥行方向の距離を表し、CCDカメラ311から物体までの距離に対応する。例えば、鋳鉄管321の端面322は、画像の背景に写っている物体よりもCCDカメラ311に近い位置に存在し、鋳出し文字列323の表面は、端面322よりもCCDカメラ311に近い位置に存在する。したがって、端面322の深度は、背景の深度よりも浅く、鋳出し文字列323の表面の深度は、端面322の深度よりも浅い。
【0027】
CCDカメラ311から端面322までの距離は、鋳鉄管321のサイズによって変動するが、例えば、1m~3mの程度である。
【0028】
CCDカメラ311から背景の物体までの距離は、物体の位置によって変動する。CCDカメラ311から最も近い背景の物体までの距離は、例えば、CCDカメラ311から端面322までの距離に0.3mを加算した程度である。
【0029】
CCDカメラ311から鋳出し文字列323の表面までの距離は、鋳鉄管321のサイズによって変動するが、例えば、CCDカメラ311から端面322までの距離から0.01mを減算した程度である。
【0030】
OCRサーバ315は、推定された深度を利用して、画像内の認識対象領域を特定し、認識対象領域に対する文字認識を行うことで、鋳出し文字列323を認識する。
【0031】
図4は、図3のOCRサーバ315の機能的構成例を示している。図4のOCRサーバ315は、取得部411、前処理部412、推定部413、特定部414、認識部415、出力部416、及び記憶部417を含む。推定部413、特定部414、認識部415は、図1の推定部111、特定部112、及び認識部113にそれぞれ対応する。
【0032】
記憶部417は、単眼深度推定に用いられる深度推定モデル421を記憶する。深度推定モデル421は、訓練データを機械学習モデルに与えて機械学習を行うことで生成された学習済みモデルである。機械学習に用いられる訓練データは、複数の学習対象画像と、各学習対象画像に写っている物体の深度とを含む。深度推定モデル421は、入力された画像から、画像内の複数の画素それぞれが示す物体の深度を推定して出力する。
【0033】
文字認識処理の前処理において、CCDカメラ311は、鋳鉄管321の端面322を撮影し、取得部411は、撮影された画像をNAS314から取得する。
【0034】
前処理部412は、深度推定モデル421を用いて、取得された画像内の各画素が示す物体の深度を推定することで、取得された画像の深度マップを生成する。深度マップは、各画素の位置に対応付けられた深度を含む。そして、前処理部412は、深度マップに基づいて、深度に対する閾値TH1及び閾値TH2を設定し、閾値TH1、閾値TH2、及び拡大率を含む制御情報422を生成して、記憶部417に格納する。
【0035】
TH1は、鋳鉄管321の端面322の深度と鋳鉄管321の背景の深度との間の深度に対応する閾値である。TH1は、端面322の深度よりも深く、かつ、背景の深度よりも浅い深度に対応する。したがって、TH1を用いることで、撮影された画像に含まれる端面322を示す画素と、背景を示す画素とを分離することができる。TH1は、第1閾値の一例である。
【0036】
TH2は、鋳出し文字列323の表面の深度と鋳鉄管321の端面322の深度との間の深度に対応する閾値である。TH2は、鋳出し文字列323の表面の深度よりも深く、かつ、端面322の深度よりも浅い深度に対応する。したがって、TH2を用いることで、撮影された画像に含まれる鋳出し文字列323を示す画素と、端面322を示す画素とを分離することができる。TH2は、第2閾値の一例である。
【0037】
拡大率は、拡大前の画像領域のサイズに対する拡大後の画像領域のサイズの割合を表す。拡大率は、文字認識処理において撮影された処理対象画像423から、鋳出し文字列323が存在する画像領域として、複数の画像領域が特定された場合に、各画像領域を拡大するために用いられる。
【0038】
文字認識処理において、CCDカメラ311は、鋳鉄管321の端面322を撮影する。文字認識処理において撮影される鋳鉄管321は、前処理において撮影された鋳鉄管321と同じ鋳鉄管であってもよく、別の鋳鉄管であってもよい。取得部411は、撮影された画像をNAS314から取得し、処理対象画像423として記憶部417に格納する。
【0039】
推定部413は、深度推定モデル421を用いて、処理対象画像423内の各画素が示す物体の深度を推定することで、処理対象画像423の深度マップを生成する。
【0040】
特定部414は、処理対象画像423の深度マップが示す各画素の深度を、制御情報422に含まれるTH1と比較し、処理対象画像423において、TH1以下の深度を有する画素の集合を含む画像領域R1を特定する。画像領域R1は、第1画像領域の一例である。
【0041】
次に、特定部414は、画像領域R1内の各画素の深度を、制御情報422に含まれるTH2と比較し、画像領域R1において、TH2以下の深度を有する画素の集合を含む画像領域R2を特定する。画像領域R2は、第2画像領域の一例である。特定部414は、画像領域R2を認識対象領域として用いて、認識対象領域を示す領域情報を認識部415へ出力する。
【0042】
鋳出し文字列323が複数の鋳出し文字を含んでいる場合、画像領域R1から、TH2以下の深度を有する画素の集合を含む複数の画像領域が特定されることがある。この場合、特定部414は、それらの画像領域のうち1つ以上の画像領域を、制御情報422に含まれる拡大率を用いて拡大することで、複数の画像領域を統合した統合領域を生成し、統合領域を画像領域R2に決定する。
【0043】
認識部415は、特定部414から出力される領域情報が示す認識対象領域の文字認識を行うことで、鋳出し文字列323に含まれる各文字を認識し、認識された文字列を示す認識結果424を、記憶部417に格納する。出力部416は、認識結果424を出力する。
【0044】
図5は、図4のOCRサーバ315が行う前処理の例を示すフローチャートである。まず、前処理部412は、深度推定モデル421を、文字認識システムに適した状態に調整する(ステップ501)。ステップ501における調整は、深度推定モデル421が受け付ける画像のサイズ又は明るさの調整であってもよい。
【0045】
次に、前処理部412は、深度推定モデル421を用いて、鋳鉄管321の端面322を撮影した画像内の各画素が示す物体の深度を推定することで、深度マップを生成する(ステップ502)。
【0046】
図6は、深度マップの例を示している。図6(a)は、鋳鉄管321の端面322を撮影した画像の例を示している。図6(a)の画像には、鋳出し文字列323を含む端面322が写っている。
【0047】
図6(b)は、図6(a)の画像から生成された深度マップの例を示している。深度マップの領域601の深度は、鋳出し文字列323の表面の深度を表し、領域602の深度は、端面322の深度を表す。領域603及び領域604の深度は、鋳鉄管321の背景の深度を表す。
【0048】
次に、前処理部412は、深度マップに基づいて閾値TH1を設定する(ステップ503)。例えば、ユーザは、深度マップから、鋳鉄管321の端面322の深度と、CCDカメラ311から最も近い背景の物体の深度とを読み取り、それらの深度の中間の値をTH1としてOCRサーバ315に入力する。そして、前処理部412は、ユーザから入力された値をTH1として設定する。図6(b)の深度マップの場合、領域602の深度と、領域603及び領域604の深度との中間の値がTH1として設定される。
【0049】
次に、前処理部412は、深度マップに基づいて閾値TH2を設定する(ステップ504)。例えば、ユーザは、深度マップから、鋳出し文字列323の表面の深度と、鋳鉄管321の端面322の深度とを読み取り、それらの深度の中間の値をTH2としてOCRサーバ315に入力する。そして、前処理部412は、ユーザから入力された値をTH2として設定する。図6(b)の深度マップの場合、領域601の深度と領域602の深度との中間の値がTH2として設定される。
【0050】
次に、前処理部412は、拡大率を設定し、TH1、TH2、及び拡大率を含む制御情報422を生成する(ステップ505)。例えば、ユーザは、鋳出し文字列323のサイズに基づいて拡大率の値を決定し、OCRサーバ315に入力する。そして、前処理部412は、ユーザから入力された値を拡大率として設定する。
【0051】
図7は、図4のOCRサーバ315が行う第2の文字認識処理の例を示すフローチャートである。まず、CCDカメラ311は、鋳鉄管321の端面322を撮影する(ステップ701)。
【0052】
次に、取得部411は、撮影された画像をNAS314から取得し、取得された画像に対する画像補正を行う(ステップ702)。そして、取得部411は、補正後の画像を、処理対象画像423として記憶部417に格納する。ステップ702における画像補正は、画像のサイズ又は明るさの補正であってもよい。
【0053】
次に、推定部413は、深度推定モデル421を用いて、処理対象画像423内の各画素が示す物体の深度を推定することで、処理対象画像423の深度マップを生成する(ステップ703)。
【0054】
次に、特定部414は、処理対象画像423の深度マップを用いて、第1抽出処理を行い(ステップ704)、第2抽出処理を行う(ステップ705)。特定部414は、第1抽出処理及び第2抽出処理を行うことで、処理対象画像423内の認識対象領域を特定し、認識対象領域を示す領域情報を認識部415へ出力する。
【0055】
次に、認識部415は、認識対象領域の文字認識を行うことで、鋳出し文字列323に含まれる各文字を認識し、認識された文字列を示す認識結果424を生成する(ステップ706)。そして、出力部416は、認識結果424を出力する。
【0056】
図8は、図7のステップ704における第1抽出処理の例を示すフローチャートである。まず、特定部414は、処理対象画像423の深度マップにおいて、制御情報422に含まれるTH1よりも大きな深度を有する領域をマスキングすることで、鋳鉄管321の端面322に対応する領域を特定する(ステップ801)。
【0057】
図9は、処理対象画像423の深度マップの例を示している。図9(a)は、処理対象画像423の例を示している。図9(a)の処理対象画像423には、鋳出し文字列323を含む端面322、円901、及び円902が写っている。円901及び円902は、鋳鉄管321の背景に写り込んでいる円形の物体を表す。
【0058】
図9(b)は、図9(a)の処理対象画像423から生成された深度マップの例を示している。深度マップの領域911の深度は、端面322の深度を表す。領域912及び領域913の深度は、鋳鉄管321の背景の深度を表す。
【0059】
図10は、図9(b)の深度マップに対する第1のマスキング結果の例を示している。図10のマスキング結果では、TH1よりも大きな深度を有するマスキング領域が黒く塗りつぶされている。TH1以下の深度を有する非マスキング領域は、鋳鉄管321の端面322に対応している。
【0060】
次に、特定部414は、マスキング結果から2つの円を検出する(ステップ802)。特定部414は、例えば、所定の図形検出アルゴリズムを用いて、マスキング結果から各円の中心の座標及び半径を検出する。これにより、処理対象画像423において、非マスキング領域に対応する画像領域を特定して、その画像領域の座標を取得することができる。所定の図形検出アルゴリズムは、ハフ変換であってもよい。検出された2つの円は、端面322の外側の円と内側の円にそれぞれ対応している。
【0061】
次に、特定部414は、検出された2つの円のうち、大きい方の円を含む画像領域を、画像領域R1として処理対象画像423から抽出する(ステップ803)。例えば、図9(a)の処理対象画像423から抽出される画像領域R1は、図6(a)の画像と同様である。
【0062】
このように、TH1よりも大きな深度を有する領域をマスキングしてから円を検出することで、鋳鉄管321の背景に写り込んでいる円形の物体を、端面322として誤検出することを防止できる。
【0063】
図11は、図7のステップ705における第2抽出処理の例を示すフローチャートである。まず、特定部414は、深度マップから画像領域R1に対応する領域を抽出する。そして、特定部414は、抽出された領域において、制御情報422に含まれるTH2よりも大きな深度を有する領域をマスキングすることで、鋳出し文字列323の表面に対応する領域を特定する(ステップ1101)。例えば、図9(b)の深度マップにおいて、画像領域R1に対応する領域は、図6(b)の深度マップと同様である。
【0064】
図12は、図6(b)の深度マップに対する第2のマスキング結果の例を示している。図12のマスキング結果では、TH2よりも大きな深度を有するマスキング領域が黒く塗りつぶされている。TH2以下の深度を有する非マスキング領域は、鋳出し文字列323の表面に対応している。
【0065】
次に、特定部414は、非マスキング領域の外接矩形を検出し(ステップ1102)、検出された外接矩形の個数をチェックする(ステップ1103)。非マスキング領域の外接矩形を検出することで、処理対象画像423において、非マスキング領域に対応する画像領域を特定して、その画像領域の座標を取得することができる。
【0066】
1つの外接矩形のみが検出された場合(ステップ1103,YES)、特定部414は、その外接矩形に対応する画像領域を、画像領域R2として処理対象画像423から抽出する(ステップ1104)。そして、特定部414は、画像領域R2を認識対象領域に決定する。
【0067】
図13は、図12のマスキング結果から検出された外接矩形の例を示している。図13の外接矩形は、鋳出し文字列323に外接する単一の矩形を表している。
【0068】
図14は、図13の外接矩形に対応する認識対象領域の例を示している。図14(a)は、図6(a)の画像領域R1において、図13の外接矩形に対応する画像領域R2の例を示している。画像領域1401は、画像領域R2を表す。
【0069】
図14(b)は、図14(a)の画像領域R1から抽出された画像領域1401の例を示している。図14(b)の画像領域1401には、鋳出し文字列323が写っている。
【0070】
ところで、ステップ1102では、鋳出し文字列323に含まれる文字の間隔が離れている等の原因により、複数の外接矩形が検出されることがある。
【0071】
複数の外接矩形が検出された場合(ステップ1103,NO)、特定部414は、それらの外接矩形のうち、1つ又は複数の外接矩形を、制御情報422に含まれる拡大率に従って拡大する(ステップ1105)。そして、特定部414は、各外接矩形の内部の深度を、非マスキング領域に対応する深度に変更して(ステップ1106)、ステップ1102以降の処理を繰り返す。これにより、複数の外接矩形それぞれに対応する画像領域が統合されて、統合領域が生成され、統合領域が画像領域R2として抽出される。
【0072】
図15は、図12のマスキング結果から検出された複数の外接矩形の例を示している。図15(a)は、図12のマスキング結果から検出された2つの外接矩形の例を示している。図15(b)は、図15(a)の2つの外接矩形それぞれを拡大した結果の例を示している。
【0073】
図15(c)は、図15(b)の2つの外接矩形内の深度を変更した結果の例を示している。図15(c)では、2つの外接矩形内の領域が白く塗りつぶされている。図15(c)の深度マップから非マスキング領域の外接矩形を再度検出することで、図13と同様に、単一の外接矩形を検出することができる。
【0074】
図7の文字認識処理によれば、深度マップを用いることで、処理対象画像423内の認識対象領域を容易に特定することができる。このため、処理対象画像423全体を走査しながら文字認識を行う必要がなく、鋳鉄管321の端面322に形成された鋳出し文字列323を効率的に認識することができる。
【0075】
図3の鋳鉄管321の端面322には鋳出し文字列323が形成されているが、鋳出し文字列323の代わりに、凹状の打刻文字列が形成されていてもよい。端面322に打刻文字列が形成されている場合、打刻文字列の表面は、鋳鉄管321の背景よりもCCDカメラ311に近く、かつ、端面322よりもCCDカメラ311から遠い位置に存在する。したがって、打刻文字列の表面の深度は、背景の深度よりも浅く、端面322の深度よりも深い。
【0076】
この場合、TH1としては、打刻文字列の表面の深度と鋳鉄管321の背景の深度との間の深度に対応する閾値が用いられ、TH2としては、端面322の深度と打刻文字列の表面の深度との間の深度に対応する閾値が用いられる。
【0077】
図8のステップ801では、深度マップにおいて、TH1よりも大きな深度を有する領域をマスキングすることで、端面322に対応する領域を特定することができる。一方、図11のステップ1101では、画像領域R1に対応する領域において、TH2よりも小さな深度を有する領域をマスキングすることで、打刻文字列の表面に対応する領域を特定することができる。
【0078】
図1の文字認識装置101の構成は一例に過ぎず、文字認識装置101の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
【0079】
図3の文字認識システムの構成は一例に過ぎず、文字認識システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、文字認識システムは、鋳鉄管321の端面322に形成された鋳出し文字列323の代わりに、他の物体の表面に立体的に形成された文字を認識してもよい。
【0080】
図4のOCRサーバ315の構成は一例に過ぎず、文字認識システムの用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。
【0081】
図2図5図7図8、及び図11に示したフローチャートは一例に過ぎず、文字認識装置101又は文字認識システムの構成又は条件に応じて、一部の処理を省略又は変更してもよい。例えば、図11の第2抽出処理において複数の外接矩形が検出された場合、特定部414は、各外接矩形を拡大して深度を変更する代わりに、複数の外接矩形に外接する大きな外接矩形を検出してもよい。
【0082】
図6図9図10、及び図12図15に示した画像、深度マップ、又はマスキング結果は一例に過ぎず、画像、深度マップ、及びマスキング結果は、撮影される物体に応じて変化する。
【0083】
図16は、図1の文字認識装置101及び図4のOCRサーバ315として用いられる情報処理装置のハードウェア構成例を示している。図16の情報処理装置は、CPU1601、メモリ1602、入力装置1603、出力装置1604、補助記憶装置1605、媒体駆動装置1606、及びネットワーク接続装置1607を含む。これらの構成要素はハードウェアであり、バス1608により互いに接続されている。
【0084】
メモリ1602は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリであり、処理に用いられるプログラム及びデータを記憶する。メモリ1602は、図4の記憶部417として動作してもよい。
【0085】
CPU1601(プロセッサ)は、例えば、メモリ1602を利用してプログラムを実行することにより、図1の推定部111、特定部112、及び認識部113として動作する。CPU1601は、メモリ1602を利用してプログラムを実行することにより、図4の取得部411、前処理部412、推定部413、特定部414、及び認識部415としても動作する。
【0086】
入力装置1603は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1604は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置1604は、図4の出力部416として動作してもよい。処理結果は、認識結果424であってもよい。
【0087】
補助記憶装置1605は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1605は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置1605にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。補助記憶装置1605は、図4の記憶部417として動作してもよい。
【0088】
媒体駆動装置1606は、可搬型記録媒体1609を駆動し、その記録内容にアクセスする。可搬型記録媒体1609は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1609は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、可搬型記録媒体1609にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。
【0089】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1602、補助記憶装置1605、又は可搬型記録媒体1609のような、物理的な(非一時的な)記録媒体である。
【0090】
ネットワーク接続装置1607は、通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、ネットワーク接続装置1607を介して、図3のNAS314から画像を取得することができる。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1607を介して受信し、それらをメモリ1602にロードして使用することもできる。ネットワーク接続装置1607は、図4の出力部416として動作してもよい。
【0091】
図3の画像取得装置313としては、図16と同様の情報処理装置を用いることができる。
【0092】
なお、情報処理装置が図16のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、オペレータ又はユーザとのインタフェースが不要な場合は、入力装置1603及び出力装置1604を省略してもよい。可搬型記録媒体1609を使用しない場合は、媒体駆動装置1606を省略してもよい。
【0093】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【0094】
101 文字認識装置
111、413 推定部
112、414 特定部
113、415 認識部
311 CCDカメラ
312 コントローラ
313 画像取得装置
314 NAS
315 OCRサーバ
321 鋳鉄管
322 端面
323 鋳出し文字列
411 取得部
412 前処理部
416 出力部
417 記憶部
421 深度推定モデル
422 制御情報
423 処理対象画像
424 認識結果
601~604、911~913 領域
901、902 円
1401 画像領域
1601 CPU
1602 メモリ
1603 入力装置
1604 出力装置
1605 補助記憶装置
1606 媒体駆動装置
1607 ネットワーク接続装置
1608 バス
1609 可搬型記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16