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

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

▶ フューチャー株式会社の特許一覧

特開2024-52566文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム
<>
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図1
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図2
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図3
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図4
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図5
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図6
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図7
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図8
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図9
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図10
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図11
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図12
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図13
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図14
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図15
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図16
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図17
  • 特開-文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052566
(43)【公開日】2024-04-11
(54)【発明の名称】文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラム
(51)【国際特許分類】
   G06V 30/12 20220101AFI20240404BHJP
   G06V 30/14 20220101ALI20240404BHJP
   G06V 30/16 20220101ALI20240404BHJP
【FI】
G06V30/12 Z
G06V30/14 340K
G06V30/16
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023147050
(22)【出願日】2023-09-11
(31)【優先権主張番号】P 2022157992
(32)【優先日】2022-09-30
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
(71)【出願人】
【識別番号】399059049
【氏名又は名称】フューチャー株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100111235
【弁理士】
【氏名又は名称】原 裕子
(74)【代理人】
【識別番号】100170575
【弁理士】
【氏名又は名称】森 太士
(72)【発明者】
【氏名】吉田 勇耶
(72)【発明者】
【氏名】片山 敬規
(72)【発明者】
【氏名】末安 重光
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029BB02
5B029BB17
5B029CC18
5B029CC22
5B029CC26
5B029CC28
5B029DD01
5B029EE16
5B029EE17
5B064AA01
5B064AA02
5B064AA05
5B064AA10
5B064AB02
5B064BA01
5B064CA02
5B064CA12
5B064CA13
5B064EA10
5B064EA27
(57)【要約】
【課題】商品等に表示された文字列を簡便に抽出可能な技術を提供する。
【解決手段】文字列抽出装置10は、1種類以上の文字を含む文字列のフォーマットを受け付ける受付部101と、前記フォーマットを記憶する記憶部102と、抽出対象の文字列を含む画像を取得する取得部103と、前記画像から文字を認識する処理部104と、前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する抽出部106と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
1種類以上の文字を含む文字列のフォーマットを受け付ける受付部と、
前記フォーマットを記憶する記憶部と、
抽出対象の文字列を含む画像を取得する取得部と、
前記画像から文字を認識する処理部と、
前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する抽出部と、
を備える文字列抽出装置。
【請求項2】
前記取得部は、
前記フォーマットに適合する文字列が抽出されるまで、前記抽出対象の文字列を含む画像を繰り返し取得する請求項1に記載の文字列抽出装置。
【請求項3】
前記受付部は、
文字の種類と前記種類の文字の連続数とを含むフォーマット設定画面を表示装置に出力する請求項1に記載の文字列抽出装置。
【請求項4】
前記受付部は、
抽出対象の文字列毎に設けられた操作ボタンを含む文字列抽出実行画面を表示装置に出力し、前記操作ボタンが押されることで、前記押された操作ボタンに対応する文字列の抽出が開始される請求項1に記載の文字列抽出装置。
【請求項5】
前記取得部と前記処理部は、
前記操作ボタンが押されている間、前記フォーマットに適合する文字列が抽出されるまで、それぞれの処理を繰り返す請求項4に記載の文字列抽出装置。
【請求項6】
前記取得部と前記処理部は、
前記フォーマットに適合する文字列が抽出されても、前記操作ボタンが押されている間、それぞれの処理を繰り返す請求項5に記載の文字列抽出装置。
【請求項7】
前記処理部は、
前記抽出対象の文字列を含む画像の各画素値に一定の係数を掛ける請求項1に記載の文字列抽出装置。
【請求項8】
前記抽出部は、
前記フォーマットに適合した文字列として、賞味期限又は商品管理番号を抽出する請求項1に記載の文字列抽出装置。
【請求項9】
前記文字は、
数字又は記号を含む請求項1に記載の文字列抽出装置。
【請求項10】
前記文字列抽出装置は、
端末装置に備わる請求項1に記載の文字列抽出装置。
【請求項11】
前記処理部は、
前記画像に含まれる各画素の画素値を周辺の画素との明暗関係を基に変更し、前記変更した画像から文字を認識する請求項1に記載の文字列抽出装置。
【請求項12】
前記抽出部は、
複数の文字列の相対的な位置関係に基づき文字列を抽出する請求項1に記載の文字列抽出装置。
【請求項13】
文字列抽出装置で行う文字列抽出方法において、
1種類以上の文字を含む文字列のフォーマットを受け付け、
前記フォーマットを記憶し、
抽出対象の文字列を含む画像を取得し、
前記画像から文字を認識し、
前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する、
文字列抽出方法。
【請求項14】
請求項1乃至12のいずれかに記載の文字列抽出装置としてコンピュータを機能させる文字列抽出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字列抽出装置、文字列抽出方法、及び、文字列抽出プログラムに関する。
【背景技術】
【0002】
物流倉庫、店舗、工場等では、商品の入荷・出荷検品時にバーコード、賞味期限、商品管理番号を読み取ることで、商品の在庫管理が行われている。商品等に表示された文字を読み取る従来技術としては、特許文献1~特許文献3が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許6938952号公報
【特許文献2】特許6878739号公報
【特許文献3】特許3339122号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
バーコードについては、レーザー光を用いた専用端末で読み取りが行われている。しかしながら、賞味期限及び商品管理番号については、商品の管理者が目視して確認した上で手入力を行っていたため、その作業に手間がかかっていた。
【0005】
本発明は、上記事情に鑑みてなされたものであり、商品等に表示された文字列を簡便に抽出可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様の文字列抽出装置は、1種類以上の文字を含む文字列のフォーマットを受け付ける受付部と、前記フォーマットを記憶する記憶部と、抽出対象の文字列を含む画像を取得する取得部と、前記画像から文字を認識する処理部と、前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する抽出部と、を備える。
【0007】
本発明の一態様の文字列抽出方法は、文字列抽出装置で行う文字列抽出方法において、1種類以上の文字を含む文字列のフォーマットを受け付け、前記フォーマットを記憶し、抽出対象の文字列を含む画像を取得し、前記画像から文字を認識し、前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する。
【0008】
本発明の一態様の文字列抽出プログラムは、上記文字列抽出装置としてコンピュータを機能させる。
【発明の効果】
【0009】
本発明によれば、商品等に表示された文字列を簡便に抽出可能な技術を提供できる。
【図面の簡単な説明】
【0010】
図1】端末装置の構成を示す図である。
図2】抽出対象の文字列のフォーマットを設定する処理フローを示す図である。
図3】設定画面の例を示す図である。
図4】抽出対象の文字列を抽出する処理フローを示す図である。
図5】実行画面の例を示す図である。
図6】一覧表示画面の例を示す図である。
図7】文字列抽出装置の適用例を示す図である。
図8】文字列の抽出結果の例を示す図である。
図9】文字列抽出装置の適用例である。
図10】文字列抽出装置の適用例を示す図である。
図11】文字列抽出装置の適用例を示す図である。
図12】文字列抽出装置の適用例を示す図である。
図13】モルフォロジー変換の例を示す図である。
図14】モルフォロジー変換の適用結果の例を示す図である。
図15】文字列間の相対的位置関係に基づく文字列の抽出例を示す図である。
図16】文字列間の相対的位置関係に基づく文字列の抽出例を示す図である。
図17】文字列間の相対的位置関係に基づく文字列の抽出例を示す図である。
図18】文字列抽出装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
【0012】
[発明の概要]
本発明は、OCR技術を用いて解析した文字から賞味期限や商品管理番号等を抽出する技術を開示する。具体的には、手入力していた賞味期限や商品管理番号等の文字列を画像から自動で抽出する。特に、商品管理番号には決まったフォーマットがないため、そのフォーマットを利用者がカスタマイズできるように設定画面を設計する。
【0013】
なお、文字とは、一般にアルファベットと呼ばれるローマ文字、ギリシャ文字、特殊文字、大文字、小文字、半角文字、全角文字等である。また、文字には、数字及び記号が含まれる。数字とは、ローマ数字、アラビア数字等である。記号とは、ハイフン、カンマ、カッコ、コロン等である。また、文字列とは、文字、数字、記号を任意に組み合わせて連続的に並べたものである。
【0014】
以降、本実施形態では、文字列を抽出する文字列抽出装置を例に説明する。特に、利用者が商品の入荷・出荷検品場所で簡便に取り扱うことができるように、文字列抽出装置をスマートフォン端末やタブレット端末等の端末装置に実装した場合を例に説明する。
【0015】
[端末装置の構成]
図1は、本実施形態に係る端末装置1の構成を示す図である。端末装置1は、画像から抽出対象の文字列を抽出する文字列抽出装置10と、抽出対象の文字列を撮像する撮像装置20と、抽出された文字列を表示する表示装置30と、を備える。撮像装置20とは、端末装置1の備えるカメラである。表示装置30とは、端末装置1の備えるディスプレイである。
【0016】
次に、文字列抽出装置10の機能を説明する。文字列抽出装置10は、図1に示したように、受付部101と、記憶部102と、取得部103と、処理部104と、判定部105と、抽出部106と、を備える。
【0017】
受付部101は、抽出対象の文字列のフォーマットを受け付け、そのフォーマットを記憶部102に記憶させる機能を備える。具体的には、受付部101は、1種類以上の文字の種類と各種類の文字の連続数と文字の種類の順番とをそれぞれ任意に設定可能な、抽出対象の文字列のフォーマットを設定するための設定画面を表示装置30に出力し、利用者に対して所望の文字列のフォーマットを設定させる機能を備える。
【0018】
また、受付部101は、抽出対象の文字列の抽出を実行するための実行画面を表示装置30に出力する機能を備える。その実行画面には、抽出対象の文字列毎に設けられた操作ボタンが含まれている。利用者により所望の操作ボタンが押されることで、押された操作ボタンに対応する所望の文字列の抽出が開始される。
【0019】
記憶部102は、受付部101が受け付けた抽出対象の文字列のフォーマットを記憶する機能を備える。また、記憶部102は、抽出部106が抽出した文字列を記憶する機能を備える。なお、記憶部102は、文字列抽出装置10や端末装置1が取り扱う各種データを記憶可能である。
【0020】
取得部103は、撮像装置20から抽出対象の文字列を含む画像を取得する機能を備える。特に、取得部103は、利用者により設定された抽出対象の文字列のフォーマットに適合する文字列が抽出されるまで、抽出対象の文字列を含む画像を繰り返し取得する機能を備える。なお、取得部103は、撮像装置20そのものであるとしてもよい。
【0021】
処理部104は、取得部103が取得した画像からOCR処理により文字を認識する機能を備える。また、処理部104は、OCR処理により文字を認識する前に、画像の各画素値に一定の係数を掛ける機能を備える。
【0022】
判定部105は、抽出対象の文字列のフォーマットを記憶部102から読み出し、処理部104が画像から認識した文字の中に当該フォーマットに適合した文字列があるか否かを判定する機能を備える。
【0023】
抽出部106は、処理部104が画像から認識した文字の中から上記フォーマットに適合した文字列を抽出する機能を備える。また、抽出部106は、抽出した文字列を表示装置30に出力し、その文字列を記憶部102に記憶させる機能を備える。
【0024】
[文字列抽出装置の動作]
次に、文字列抽出装置10の動作を説明する。
【0025】
最初に、抽出対象の文字列のフォーマットの設定方法を説明する。図2は、抽出対象の文字列のフォーマットを設定する処理フローを示す図である。
【0026】
まず、文字列抽出装置10の受付部101は、抽出対象の文字列のフォーマットを設定するための設定画面を表示装置30に出力する(ステップS101)。
【0027】
次に、利用者により抽出したい文字列のフォーマットが設定画面に入力された後、文字列抽出装置10の受付部101は、その入力された抽出対象の文字列のフォーマットを記憶部102に登録する(ステップS102)。
【0028】
設定画面の例を図3に示す。設定画面40は、文字の型(種類)を選択するための型選択欄41と、選択した文字の連続数を選択するための連続数選択欄42と、設定しようとする文字列のフォーマットを表示するためのフォーマット表示欄43と、を備える。
【0029】
型選択欄41には、1つ以上の逆三角形のボタン411が予め表示されている。そのボタン411が利用者により指でタッチされるとリストが表示される。リスト内には、大文字のローマ文字、小文字のローマ文字、数字、ハイフン等、各文字の型(正確には、各型の代表例)が含まれている。リスト内から所望の型が選択されると、文字の型が決定されフォーマット表示欄43に表示される。
【0030】
文字の型数(種類数)は、増減可能である。2つ以上のボタン411をタッチして文字の型数を2つ以上選択した場合、フォーマット内の文字の型は、設定画面40内の上段から順に決定される。図3の例であれば、1段目の大文字のローマ文字、2段目の数字、3段目の大文字のローマ文字の順に決定される。なお、図3において、「A」は大文字のローマ文字の型の代表例を示し、「1」は数字の型の代表例を示す。
【0031】
連続数選択欄42には、型選択欄41で選択された文字の型について、その文字の型の連続数を選択するための連続数選択バー421が長さを可変可能に文字の型毎に表示され、その連続数のローマ数字が左側に併記されている。
【0032】
例えば、利用者が連続数選択バー421の右端を指でタッチした状態で右方向に所望の連続数の位置までスライドすることで、型選択欄41で選択していた文字の型の連続数が決定されフォーマット表示欄43に表示される。
【0033】
図3の例であれば、1段目の大文字のローマ文字の連続数が4つ、2段目の数字の連続数が2つ、3段目の大文字のローマ文字が1つ、それぞれ設定される。その結果、フォーマット表示欄43には「AAAA11A」が表示され、その「AAAA11A」が抽出対象の文字列のフォーマットとして記憶部102に登録される。
【0034】
ここまで、抽出対象の文字列のフォーマットの設定方法を説明した。なお、抽出対象の文字列のフォーマットは、複数設定可能である。利用者は、商品の入荷・出荷検品時に商品箱の表面に印刷された商品管理番号を確認し、その商品管理番号に係る文字列のフォーマットを登録する。賞味期限については、例えば、「2022.09.28」「22.09.28」「22.9.28」「220928」「2022.09」「22.09」等、賞味期限用のフォーマットが予め設定されている。勿論、賞味期限に係る文字列のフォーマットを登録してもよい。
【0035】
次に、抽出対象の文字列の抽出方法を説明する。図4は、抽出対象の文字列を抽出する処理フローを示す図である。なお、端末装置1の表示装置30には、抽出対象の文字列の抽出を実行するための実行画面が表示されているものとする。
【0036】
まず、利用者は、端末装置1の撮像装置20をオンし、商品箱の表面に印刷されているバーコードを撮像する(ステップS201)。
【0037】
次に、文字列抽出装置10の取得部103は、撮像装置20により撮像されているバーコードを含む画像を取得する(ステップS202)。
【0038】
次に、文字列抽出装置10の処理部104は、取得したバーコードを含む画像からバーコード内のデータ情報を取得し、抽出部106は、そのデータ情報を表示装置30に出力し記憶部102に登録する(ステップS203)。
【0039】
ここまで、バーコード情報を抽出する方法を説明した。上記課題説明欄で説明した通り、バーコードについてはレーザー光を用いた専用端末で読み取りが行われているが、ここでは画像から読み取る方法を説明した。以降、画像から賞味期限や商品管理番号等の文字列を抽出する方法を説明する。
【0040】
次に、利用者が上記商品箱の表面に印刷されている賞味期限を撮像すると、文字列抽出装置10の取得部103は、撮像装置20により撮像されている賞味期限を含む画像を取得する(ステップS204)。
【0041】
次に、利用者は、実行画面に表示されている賞味期限抽出用の操作ボタンを指でタッチし、そのタッチした状態を維持する(ステップS205)。これにより、賞味期限の文字列の抽出処理が開始する。
【0042】
次に、文字列抽出装置10の処理部104は、取得した画像の各画素値に一定の係数を掛け、その後、OCR処理により画像内の文字を認識する(ステップS206)。
【0043】
このように、画像の各画素値に一定の係数を掛けることで、各画素値の濃淡が明瞭になり、その後のOCR処理による文字の認識精度が向上する。例えば、暗い場所でも、文字がかすれていても、商品の包装紙が拠れていても、高精度に文字を認識可能となる。なお、OCR(Optical Character Recognition)は、文字認識手段の例である。他の文字認識手段を用いてもよい。
【0044】
次に、文字列抽出装置10の判定部105は、記憶部102から賞味期限に係る文字列のフォーマットを読み出し、処理部104が認識した文字内に当該フォーマットに適合する文字列があるか否かを判定する(ステップS207)。
【0045】
フォーマットに適合する文字列がない場合には、ステップS204へ戻る。一方、フォーマットに適合する文字列がある場合には、文字列抽出装置10の抽出部106は、処理部104が認識した文字から当該文字列を抽出し、その文字列を表示装置30に出力する(ステップS208)。
【0046】
その後、文字列抽出装置10の取得部103は、賞味期限を含む画像の取得処理を一定時間停止する(ステップS209)。
【0047】
そして、利用者が、表示装置30に表示された文字列を参照し、賞味期限が正しく抽出されたことにより、賞味期限抽出用の操作ボタンから指を離すと(ステップS210)、文字列抽出装置10の抽出部106は、抽出していた文字列を記憶部102に登録する(ステップS211)。これにより、賞味期限の文字列の抽出処理が終了する。
【0048】
ここで、ステップS207で行われた判定の結果、フォーマットに適合する文字列がない場合を説明する。文字列抽出装置10の取得部103は、1秒間に30枚の画像を取得する処理を繰り返し実行しており、この場合、フォーマットに適合する文字列が抽出されるまで、賞味期限を含む画像を繰り返し取得(賞味期限を含む動画を取得)する。
【0049】
つまり、文字列抽出装置10は、賞味期限抽出用の操作ボタンがタッチされ続けている間、フォーマットに適合する文字列が抽出されるまで、取得部103による画像取得処理、処理部104による文字認識処理、判定部105による文字列有無の判定処理を、それぞれ繰り返す。これにより、抽出対象の文字列を確実に抽出可能となる。
【0050】
ただし、抽出された文字列が利用者の意図した文字列でない可能性がある。例えば、賞味期限と消費期限が併記されている場合、文字列のフォーマットは互いに類似しているので、賞味期限ではなく、消費期限の文字列を抽出可能性がある。
【0051】
そこで、文字列抽出装置10は、フォーマットに適合する文字列が抽出されても、賞味期限抽出用の操作ボタンがタッチされ続けている間、取得部103による画像取得処理、処理部104による文字認識処理、判定部105による文字列有無の判定処理を、それぞれ繰り返す。そして、利用者が意図した文字列が抽出された時に操作ボタンから指を離すと、文字列抽出装置10は、その時に表示装置30に表示されている文字列を登録する。
【0052】
ここまで、賞味期限を抽出する場合を例に説明した。商品管理番号を抽出する場合も同様である。利用者が実行画面に表示されている商品管理番号用の操作ボタンを指でタッチし、そのタッチした状態を維持すると、文字列抽出装置10は、商品管理番号の文字列についてステップS204~ステップS211を実行する。
【0053】
実行画面の例を図5に示す。実行画面50は、撮像装置20により撮像されている商品Pの画像を表示するための画像表示欄51と、文字列の抽出結果や操作ボタンを表示するための抽出処理表示欄52と、を備える。
【0054】
図5(a)は、商品Pのバーコード情報を抽出する様子を示す図である。撮像処理を開始し、利用者が画像表示欄51内に設けられた赤色の補助線511の中心に商品Pのバーコードを位置付けると、文字列抽出装置10は、その商品Pのバーコードを含む画像からバーコード内のデータ情報を取得し、そのデータ情報を抽出処理表示欄52内のバーコード表示欄521に表示する。
【0055】
図5(b)は、商品Pの賞味期限を抽出する様子を示す図である。撮像処理を開始し、利用者が抽出処理表示欄52内の賞味期限用の操作ボタンB1をタッチし続け、補助線511の中心に商品Pの賞味期限を位置付けると、文字列抽出装置10は、その商品Pの賞味期限を含む画像から賞味期限の文字列を取得し、その賞味期限の文字列を抽出処理表示欄52内の賞味期限表示欄522に表示する。
【0056】
図5(c)は、商品Pの商品管理番号を抽出する様子を示す図である。撮像処理を開始し、利用者が抽出処理表示欄52内の商品管理番号用の操作ボタンB2をタッチし続け、補助線511の中心に商品Pの商品管理番号を位置付けると、文字列抽出装置10は、その商品Pの商品管理番号を含む画像から商品管理番号の文字列を取得し、その商品管理番号の文字列を抽出処理表示欄52内の商品管理番号表示欄523に表示する。
【0057】
その後、利用者が抽出処理表示欄52内の登録ボタンB3をタッチすると、文字列抽出装置10は、抽出処理表示欄52に表示されているバーコード内のデータ情報、賞味期限、商品管理番号を互いに関連付けて登録する。
【0058】
また、利用者が抽出処理表示欄52内の一覧ボタンB4をタッチすると、文字列抽出装置10は、図6に例示する一覧表示画面60を表示する。一覧表示画面60には、過去に登録された各商品のバーコード内の賞味期限等が表示される。利用者が一覧表示画面60内の撮影に戻るボタンB5をタッチすると、文字列抽出装置10は、図5に示した実行画面50を表示する。
【0059】
[変形例]
本発明は、賞味期限や商品管理番号の他、様々な任意の文字列を抽出する際にも適用可能である。例えば、「111-1111-1111」や「111-1111」のフォーマットを登録することで、電話番号や郵便番号の文字列も抽出可能である。
【0060】
[実施形態の効果]
本実施形態によれば、文字列抽出装置10は、1種類以上の文字を含む文字列のフォーマットを受け付ける受付部101と、前記フォーマットを記憶する記憶部102と、抽出対象の文字列を含む画像を取得する取得部103と、前記画像から文字を認識する処理部104と、前記画像から認識した文字の中から前記フォーマットに適合した文字列を抽出する抽出部106と、を備えるので、商品等に表示された文字列を簡便に抽出できる。
【0061】
これにより、例えば物流倉庫、店舗、工場等で、賞味期限や商品管理番号等、特定の文字列を抽出しなければならない状況において、その特定の文字列を手入力せずに抽出可能となる。それ故、利用者が端末装置1を操作する量が減少する。その結果、商品の検品時間を削減でき、人件費を削減できる効果にも繋がることになる。
【0062】
また、本実施形態によれば、取得部103は、前記フォーマットに適合する文字列が抽出されるまで、前記抽出対象の文字列を含む画像を繰り返し取得するので、抽出対象の文字列を確実に抽出できる。
【0063】
また、本実施形態によれば、受付部101は、文字の種類と前記種類の文字の連続数とを含むフォーマット設定画面を表示装置30に出力するので、抽出対象の文字列のフォーマットを簡便にカスタマイズできる。
【0064】
また、本実施形態によれば、受付部101は、抽出対象の文字列毎に設けられた操作ボタンを含む文字列抽出実行画面を表示装置に出力し、前記操作ボタンが押されることで、前記押された操作ボタンに対応する文字列の抽出が開始されるので、抽出対象の文字列を簡便に抽出できる。
【0065】
また、本実施形態によれば、取得部103と処理部104と判定部105は、前記操作ボタンが押されている間、前記フォーマットに適合する文字列が抽出されるまで、それぞれの処理を繰り返すので、抽出対象の文字列を確実に抽出できる。
【0066】
また、本実施形態によれば、取得部103と処理部104と判定部105は、前記フォーマットに適合する文字列が抽出されても、前記操作ボタンが押されている間、それぞれの処理を繰り返すので、利用者の意図した文字列を抽出できる。
【0067】
また、本実施形態によれば、処理部104は、前記抽出対象の文字列を含む画像の各画素値に一定の係数を掛けるので、文字の認識精度を向上できる。暗い場所でも、文字がかすれていても、商品の包装紙が拠れていても、高精度に文字を認識可能となる。
【0068】
[変形例]
複数の抽出対象の文字列を一度に抽出してもよい。
【0069】
まず、取得部103は、賞味期限と商品管理番号との両方を含む画像を取得する。
【0070】
次に、利用者が実行画面に表示されている操作ボタンを指でタッチすると、処理部104は、OCR処理により画像内の文字を全て認識する。
【0071】
次に、判定部105は、記憶部102から賞味期限と商品管理番号とのそれぞれに係る各文字列のフォーマットを読み出し、処理部104が認識した文字内に当該読み出した各文字列のフォーマットにそれぞれ適合する文字列があるか否かを一度に判定する。
【0072】
各フォーマットに適合する文字列がある場合には、抽出部106は、処理部104が認識した文字から当該適合した文字列をそれぞれ抽出して表示装置30に一度に同一画面内に出力する。
【0073】
このように、複数の文字列のフォーマットにそれぞれ適合する文字列があるか否かを一度に判定するので、複数の抽出対象の文字列を一度に抽出できる。
【0074】
[適用例]
文字列抽出装置10の適用例を説明する。
【0075】
(適用例1)
文字列抽出装置10は、領収書に適用できる。例えば、駐車場、有用道路、百貨店、スーパーマーケット、コンビニエンスストア等の領収書に適用できる。ただし、日本の領収書にはひらがな等も含まれる。また、領収書のフォーマットは一様でない。
【0076】
そこで、受付部101は、ひらがな、全角カタカナ、半角カタカナ、漢字等の日本語文字も受け付け、日本語文字も組み合わせ可能に抽出対象の文字列のフォーマットを受け付ける機能を備える。
【0077】
また、受付部101は、抽出対象の文字列のフォーマットを領収書の種類毎に受け付ける機能を備える。
【0078】
適用例1の文字列抽出装置10の動作を説明する。
【0079】
まず、利用者は、事前に、領収書毎に、抽出対象項目の名称と抽出対象項目に対応する抽出対象の文字列のフォーマットとを入力する。このとき、受付部101は、利用者が入力した抽出対象項目の名称と抽出対象の文字列のフォーマットとを互いに関連付け、利用者が入力した領収書フォーマットIDに更に関連付けて、記憶部102に登録する。
【0080】
例えば、抽出対象項目の名称(駐車場名、清算No、入庫日、入庫時刻、出庫日、出庫時刻、駐車料金等)と、抽出対象の文字列のフォーマット(“ABC駐車場”に対応する「AAA亜亜亜」等)とを、ABC駐車場用の領収書フォーマットIDに関連付けて登録する。「亜」は、漢字の型の代表例である。駐車場XYZ用の領収書フォーマットについても同様に登録する。
【0081】
次に、利用者は、図7に示すように、端末装置1(図1の撮像装置20)でABC駐車場の領収書を撮影する。また、利用者は、端末装置1(図1の表示装置30)で2種類の領収書フォーマットの中からABC駐車場用の領収書フォーマットを選択する。このとき、受付部101は、利用者が選択したABC駐車場用の領収書フォーマットを記憶部102から取得する。
【0082】
次に、処理部104は、OCR処理によりABC駐車場の領収書の画像内から文字を認識する。
【0083】
次に、判定部105は、処理部104が認識した文字内に、ABC駐車場用の領収書フォーマットに係る各文字列のフォーマットにそれぞれ適合する文字列があるか否かを判定する。
【0084】
各フォーマットに適合する文字列がある場合には、抽出部106は、処理部104が認識した文字から当該文字列をそれぞれ抽出し、対応する抽出対象項目に関連付けて表示装置30に出力する。
【0085】
もちろん、駐車場XYZの領収書についても、駐車場XYZ用の領収書フォーマットを用いることで、駐車場XYZの領収書から文字列を抽出することができる。ABC駐車場と駐車場XYZの各領収書からの抽出対象の文字列の抽出結果を図8に示す。
【0086】
このように、適用例1では、日本語文字も用いるので、文字列抽出装置10を日本の領収書に適用できる。また、抽出対象の文字列のフォーマットを領収書の種類毎に登録するので、領収書の種類が異なる毎に文字列のフォーマットを変更必要な手間を省略でき、抽出対象の文字列をより簡便に抽出できる。
【0087】
(適用例2)
文字列抽出装置10は、コンテナに適用できる。
【0088】
図9に示すように、文字列抽出装置10は、コンテナ後扉の情報表示領域AR1付近を撮像することで、その後扉の表面にペイントされたコンテナ番号、コンテナサイズ、コンテナタイプ、重量等を抽出できる。
【0089】
また、文字列抽出装置10は、コンテナ後扉の締結鍵の領域AR2を撮像することで、その締結鍵に貼付又は締結鍵を被覆した封印シールの文字列を抽出できる。
【0090】
その他、文字列抽出装置10は、コンテナの運搬車両等の車両番号の文字列を抽出できる。文字列抽出装置10は、車両、船舶、航空機等に表示等された文字列も抽出できる。例えば、ミキサー車の横や後に掲載された積載情報等の文字列も抽出できる。
【0091】
(適用例3)
文字列抽出装置10は、荷物のケースマークに適用できる。
【0092】
図10に示すように、文字列抽出装置10は、ケースマークの側面等に印字された文字列を抽出できる。文字列抽出装置10は、抽出した文字列とケースマークの画像とを関連付けて記憶し、それらの情報をQRコードに変換してラベルプリンタへ出力することも可能である。
【0093】
(適用例4)
文字列抽出装置10は、伝票に適用できる。
【0094】
図11に示すように、文字列抽出装置10は、配送伝票に記入された文字列を抽出できる。文字列抽出装置10は、手書きの文字列も抽出できる。文字列抽出装置10は、自然言語処理技術を用いて、住所の書き間違いや文字飛ばしによる誤記載を自動補正することも可能である。例えば、「東京都品区」の誤記を「東京都品川区」に変更する。「品川区」の直前に「東京都」を補完する。
【0095】
(適用例5)
文字列抽出装置10は、ラベルに適用できる。
【0096】
図12に示すように、文字列抽出装置10は、ダンボールや折りたたみコンテナに貼付されたラベルの文字列を抽出できる。例えば、図12(a)に示すようなバーコードを含むラベルから文字列及びバーコード内のデータ情報を抽出する。図12(b)に示すようなバーコードを含まないラベルから文字列を抽出する。
【0097】
[OCR処理前の画像加工方法]
ステップS206では、OCR処理前に画像の各画素値に一定の係数を掛けることで、各画素値の濃淡を明瞭化し、その後のOCR処理による文字の認識精度を向上させる方法を説明した。
【0098】
同様の効果を得るため、処理部104は、OCR処理前に画像の各画素に対してモルフォロジー変換を行う機能も備える。具体的には、処理部104は、画像に含まれる各画素の画素値を周辺の画素との明暗関係を基に変更し、変更後の画像から文字を認識する。
【0099】
モルフォロジー変換とは、近傍画素の画素値を考慮して画像内の各画素の画素値を変更することで、画像内のオブジェクトの大きさを調整する技術である。例えば、図13に示すように、元画像又はモルフォロジー変換後の画像に対して、黒色の画素数を増加させる膨張処理、黒色の画素数を低下させる収縮処理を行う。
【0100】
具体的には、所定画素と近傍画素の色の違いを判定し、例えば所定画素が黒色で近傍画素が白色である場合に膨張処理をおこなうときには、近傍画素の色を白色から黒色に変更する。すなわち、各画素の二値の画素値を、周辺の画素との明暗関係を考慮して変更する処理を行う。
【0101】
図14は、モルフォロジー変換の適用結果の例を示す図である。処理部104は、ステップS204で取得した元画像に対して、最初に膨張処理を行い、次に収縮処理を行う。その後、処理部104は、OCR処理により画像内の文字を認識する。
【0102】
このように、膨張処理を施してから収縮処理を行うので、ドット印字やカスレ印字の文字を意味ある文字として繋げることができ、文字全体を鮮明化できる。その反対に印字のインク量が多い場合には、収縮処理のみを行ってもよい。
【0103】
膨張処理と収縮処理の実行順やいずれか一方の処理の選択は、任意である。また、画素の膨張率や収縮率も任意に決定可能である。利用者が設定してもよいし、それぞれの率について同一又は相異なる一定率としてもよい。
【0104】
本画像加工方法によれば、OCR処理前に、画像に含まれる各画素の画素値を周辺の画素との明暗関係を基に変更するので、その後のOCR処理による文字の認識精度を向上でき、抽出対象の文字列をより正確に抽出できる。
【0105】
ここで説明したモルフォロジー変換による画像加工方法は、各画素値に一定の係数を掛ける画像加工方法と組み合わせて実行してもよい。
【0106】
[OCR処理後の文字列抽出方法]
複数の抽出対象の文字列を一度に抽出する場合、複数の抽出対象の文字列のフォーマットが互いに同じときには、1つ以上の文字列に対して複数の文字列のフォーマットが適合するので、意図した抽出結果にならない可能性がある。
【0107】
そこで、文字列同士の相対座標等を考慮した文字列の抽出方法を説明する。
【0108】
抽出部106は、ステップS206でのOCR処理後、ステップS207での文字列の適合判定前に、複数の文字列の相対的な位置関係に基づき文字列を抽出する機能を備える。以降、その抽出方法の具体例を説明する。
【0109】
(文字列間の相対的位置関係に基づく文字列の抽出方法1)
抽出方法1では、抽出対象項目(=文字列)と抽出対象の文字列との相対的位置関係を基に抽出対象の文字列を抽出する。
【0110】
そこで、抽出部106は、抽出対象項目(キーワード)との相対座標を基に抽出対象の文字列を抽出する機能を備える。
【0111】
抽出方法1の文字列抽出装置10の動作を説明する。領収書を例とする。
【0112】
利用者は、事前に、「数字+円」や「¥+数字」等、金額となりうる候補の文字列のフォーマットを設定する。このとき、受付部101は、利用者が入力した抽出対象の文字列のフォーマットを記憶部102に登録する。
【0113】
また、利用者は、事前に、「合計金額」等、抽出したい抽出対象項目の名称を設定する。このとき、受付部101は、利用者が入力した抽出対象項目の名称を記憶部102に登録する。
【0114】
次に、利用者は、端末装置1で領収書を撮影する。
【0115】
次に、処理部104は、OCR処理により領収書の画像から文字を認識する。
【0116】
次に、抽出部106は、処理部104が認識した文字内から抽出対象項目(例えば、「合計金額」)を抽出し、その抽出対象項目をキーワード(キー情報)として決定する。
【0117】
次に、抽出部106は、図15に示すように、処理部104が認識した各文字列M0~M4をそれぞれ矩形で囲み、各矩形の4点の位置座標をそれぞれ取得する。
【0118】
その後、抽出部106は、キーワードの文字列M0について、文字列M0の矩形の4点の位置座標を用いて、その矩形の左辺の中点TLと右辺の中点TRとを結んだ直線Lを求め、その直線Lと交差する左辺SLを持つ矩形の文字列M2を抽出する。他の文字列M1、M3、M4は抽出しない。
【0119】
このように、抽出方法1では、キーワードとの相対座標を基に文字列を抽出するので、キーワードで文字列を一意に絞ることができ、所望の文字列を正確に抽出できる。
【0120】
ここでは、キーワードが所望抽出対象文字列の横にある場合を例に説明したが、キーワードが所望抽出対象文字列の上又は下にある場合でも、類似の方法により所望文字列を抽出できる。
【0121】
また、キーワードと所望抽出対象文字列との位置関係が斜めの場合には、直線Lを所定の角度で傾斜させてもよいし、キーワードの矩形の右上頂点と左下頂点とを結ぶ直線を用いてよい。
【0122】
(文字列間の相対的位置関係に基づく文字列の抽出方法2)
抽出方法2では、抽出対象の文字列同士の相対的位置関係を基に抽出対象の文字列を抽出する。
【0123】
例えば、抽出対象の文字列が複数行にまたがっている場合がある。図9に示したコンテナであれば、コンテナ番号とコンテナサイズとコンテナタイプとを含む広義のコンテナ番号(DICU 12345 5 42G1)が2行に渡りで記載されている。この場合、各行の文字列毎に文字列を抽出することは手間である。
【0124】
そこで、受付部101は、抽出対象の文字列のフォーマットを行の位置に関連付けて受け付け、それらの組み合わせを文字列の抽出条件とする機能を備える。
【0125】
また、判定部105は、処理部104が認識した文字内に、文字列の抽出条件に適合する文字列があるか否かを判定する機能を備える。
【0126】
抽出方法2の文字列抽出装置10の動作を説明する。図9に示したコンテナを例とする。
【0127】
利用者は、事前に、図16に示すように、抽出対象の文字列のフォーマットとして、「1行目:AAAA 111111 1」を設定し、「2行目:11A1」を設定する。すなわち、抽出対象の文字列のフォーマットに対して行の位置を関連付ける。このとき、受付部101は、それらを文字列の抽出条件として記憶部102に登録する。
【0128】
次に、利用者は、端末装置1でコンテナ裏扉を撮影する。
【0129】
次に、処理部104は、OCR処理によりコンテナ裏扉の画像から文字を認識する。
【0130】
次に、判定部105は、処理部104が認識した文字内に、1行目の文字列のフォーマットが「AAAA 111111 1」であり、かつ、2行目の文字列のフォーマットが「11A1」である文字列の抽出条件に適合する文字列があるか否かを判定する。
【0131】
文字列の抽出条件に適合する文字列がある場合には、抽出部106は、その文字列を抽出して表示装置30に出力する。その際、抽出部106は、抽出した各行の文字列を連結して1行に表示してもよい。一方、文字列の抽出条件に適合する文字列がない場合には、抽出部106は、エラーメッセージを表示装置30に出力する。
【0132】
このように、抽出方法2では、抽出対象の文字列同士の位置関係を基に抽出対象の文字列を抽出するので、抽出対象の文字列が複数行にまたがっている場合でも、その文字列を簡便に抽出できる。
【0133】
(文字列間の相対的位置関係に基づく文字列の抽出方法3)
抽出方法3では、抽出対象項目(=文字列)同士の相対的位置関係を基に抽出対象の文字列を抽出する。
【0134】
例えば、図12に示したラベルの場合には、一般に抽出対象の文字列の位置がラベルの種類毎に異なるので、意図した抽出結果にならない可能性がある。
【0135】
そこで、受付部101は、複数の抽出対象項目同士の位置関係を受け付ける機能を備える。位置関係の登録方法は、任意である。例えば、位置関係指定用の画面で各抽出対象項目の位置を指でタッチして指定する方法、抽出対象項目の位置座標を数値で入力する方法が考えられる。
【0136】
また、受付部101は、複数の抽出対象項目同士の位置関係を、ラベルの種類毎に受け付ける機能を備える。
【0137】
また、判定部105は、処理部104が認識した各抽出対象項目の位置関係が、登録された抽出対象項目の位置関係に適合するか否かを判定する機能を備える。
【0138】
抽出方法3の文字列抽出装置10の動作を説明する。図12(a)に示したラベルを例とする。
【0139】
利用者は、事前に、ラベルの種類別に、抽出対象項目間の位置関係を入力する。このとき、受付部101は、利用者が入力した抽出対象項目間の位置関係を、ラベルフォーマットIDに関連付けて、記憶部102に登録する。
【0140】
例えば、図17に示すように、ラベルLB1、LB2のそれぞれについて、利用者により指定された各抽出対象項目(「東京センタ」等)の画面上の位置を登録する。具体的には、抽出対象項目の位置座標、抽出対象項目の位置間の距離、抽出対象項目の位置間の相対角度等が登録される。
【0141】
次に、利用者は、端末装置1(図1の撮像装置20)でラベルLB1を撮影する。また、利用者は、端末装置1(図1の表示装置30)で2種類のラベルの中からラベルLB1のラベルフォーマットを選択する。このとき、受付部101は、利用者が選択したラベルLB1のラベルフォーマットを記憶部102から取得する。
【0142】
次に、処理部104は、OCR処理によりラベルLB1の画像から文字列を認識する。
【0143】
次に、判定部105は、図17に示したように、処理部104が認識した各文字列M1~M4をそれぞれ矩形で囲み、各矩形の4点の中央点CP1~CP4をそれぞれ計算する。その後、判定部105は、文字列M1~M4間の中央点CP1~CP4間の位置関係が、ラベルLB1のラベルフォーマットに係る抽出対象項目間の位置関係に適合するか否かを判定する。互いの位置関係が相似であれば適合すると判定してもよい。
【0144】
その2つの位置関係が互いに適合する場合には、抽出部106は、処理部104が認識した各文字列M1~M4に対応する文字列フォーマットの文字列を抽出して表示装置30に出力する。その2つの位置関係が互いに適合しない場合には、抽出部106は、エラーメッセージを表示装置30に出力する。
【0145】
仮に、ラベルLB1を撮影したにもかかわらずラベルLB2のラベルフォーマットが選択された場合には、ラベルLB2のラベルフォーマットに係る抽出対象項目間の位置関係は、ラベルLB1の画像から認識した文字列間の位置関係と適合しないので、エラーメッセージが表示される。
【0146】
このように、抽出方法3では、抽出対象項目の位置関係をラベルフォーマットの種類毎に登録し、所望のラベルフォーマットについて抽出対象項目の位置関係を基に抽出対象の文字列を抽出するので、所望の文字列を正確に抽出できる。
【0147】
ここでは、抽出対象項目同士の相対的位置関係を基に抽出対象の文字列を抽出する場合を例に説明したが、抽出対象項目と抽出対象の文字列とは一般に横並びの左右一対の組(又は縦並びの上下一対の組)で表示されている場合が多いので、抽出対象項目同士ではなく、抽出対象の文字列同士の相対的位置関係を基に抽出対象の文字列を抽出してもよい。
【0148】
[その他]
本発明は、上記実施形態に限定されない。本発明は、本発明の要旨の範囲内で数々の変形が可能である。
【0149】
上記説明した本実施形態の文字列抽出装置10は、例えば、図17に示すように、CPU901と、メモリ902と、ストレージ903と、通信装置904と、入力装置905と、出力装置906と、を備えた汎用的なコンピュータシステムを用いて実現できる。メモリ902及びストレージ903は、記憶装置である。当該コンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、文字列抽出装置10の各機能が実現される。
【0150】
文字列抽出装置10は、1つのコンピュータで実装されてもよい。文字列抽出装置10は、複数のコンピュータで実装されてもよい。文字列抽出装置10は、コンピュータに実装される仮想マシンであってもよい。文字列抽出装置10用のプログラムは、HDD、SSD、USBメモリ、CD、DVD等のコンピュータ読取り可能な記録媒体に記憶できる。コンピュータ読取り可能な記録媒体とは、例えば、非一時的な記録媒体である。文字列抽出装置10用のプログラムは、通信ネットワークを介して配信することもできる。
【符号の説明】
【0151】
1…端末装置
10…文字列抽出装置
20…撮像装置
30…表示装置
101…受付部
102…記憶部
103…取得部
104…処理部
105…判定部
106…抽出部
901…CPU
902…メモリ
903…ストレージ
904…通信装置
905…入力装置
906…出力装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18