(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-13
(45)【発行日】2022-04-21
(54)【発明の名称】コンピュータシステム、情報コード読取方法及びプログラム
(51)【国際特許分類】
G06K 7/14 20060101AFI20220414BHJP
【FI】
G06K7/14 082
G06K7/14 060
G06K7/14 043
(21)【出願番号】P 2021517720
(86)(22)【出願日】2020-01-31
(86)【国際出願番号】 JP2020003630
(87)【国際公開番号】W WO2021152819
(87)【国際公開日】2021-08-05
【審査請求日】2021-03-29
【早期審査対象出願】
(73)【特許権者】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】100177220
【氏名又は名称】小木 智彦
(72)【発明者】
【氏名】徳田 祐二
(72)【発明者】
【氏名】加藤 龍一
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2012-064110(JP,A)
【文献】特開平06-139396(JP,A)
【文献】特開2019-049967(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/10-7/14
(57)【特許請求の範囲】
【請求項1】
情報コードを読み取るコンピュータシステムであって、
前記情報コードが撮影された画像を取得する取得手段と、
取得した前記画像を解析する解析手段と、
前記画像の解析結果と、学習済みの前記情報コードの特徴量とに基づいて、前記情報コードを検出する検出手段と、
検出した前記情報コードを認識できなかった場合、当該情報コードを拡大する拡大手段と、
拡大後の前記情報コードを認識する認識手段と、
認識した前記情報コードの画像における座標を算出する算出手段と、
取得した前記画像を、算出した前記座標に合成して、前記学習済みの情報コードの特徴量を更新する更新手段と、
を備え、
前記拡大手段は、検出した前記画像中に複数の情報コードが存在する場合、
所定の条件に基づいて、複数の内の何れかの情報コードを拡大
し、
前記座標は、前記情報コードの中心点であることを特徴とするコンピュータシステム。
【請求項2】
前記所定の条件は、情報コードの座標、サイズ、または説明テキストの有無である、
ことを特徴とする請求項1に記載のコンピュータシステム。
【請求項3】
前記拡大手段は、検出した前記画像中に複数の情報コードが存在する場合、
前記所定の条件に基づいて、順次、拡大する、
ことを特徴とする請求項1に記載のコンピュータシステム。
【請求項4】
情報コードを読み取るコンピュータシステムが実行する情報コード読取方法であって、
前記情報コードが撮影された画像を取得するステップと、
取得した前記画像を解析するステップと、
前記画像の解析結果と、学習済みの前記情報コードの特徴量とに基づいて、前記情報コードを検出するステップと、
検出した前記情報コードを認識できなかった場合、当該情報コードを拡大するステップと、
拡大後の前記情報コードを認識するステップと、
認識した前記情報コードの画像における座標を算出するステップと、
取得した前記画像を、算出した前記座標に合成して、前記学習済みの情報コードの特徴量を更新するステップと、
を備え、
前記拡大するステップは、検出した前記画像中に複数の情報コードが存在する場合、
所定の条件に基づいて、複数の内の何れかの情報コードを拡大
し、
前記座標は、前記情報コードの中心点であることを特徴とする情報コード読取方法。
【請求項5】
情報コードを読み取るコンピュータに、
前記情報コードが撮影された画像を取得するステップ、
取得した前記画像を解析するステップ、
前記画像の解析結果と、学習済みの前記情報コードの特徴量とに基づいて、前記情報コードを検出するステップ、
検出した前記情報コードを認識できなかった場合、当該情報コードを拡大するステップ、
拡大後の前記情報コードを認識するステップ、
認識した前記情報コードの画像における座標を算出するステップ、
取得した前記画像を、算出した前記座標に合成して、前記学習済みの情報コードの特徴量を更新するステップ、
を実行させ、
前記拡大するステップは、検出した前記画像中に複数の情報コードが存在する場合、
所定の条件に基づいて、複数の内の何れかの情報コードを拡大
し、
前記座標は、前記情報コードの中心点であるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報コードを読み取るコンピュータシステム、情報コード読取方法及びプログラムに関する。
【背景技術】
【0002】
近年、物品管理、作業管理、入退場管理、会員証、決済等の様々な用途において、情報コード(例えば、一次元コード、二次元コード、ARマーカ)が活用されている。このような情報コードの活用は、アプリケーションや読取装置等により、表示された情報コードを読み取ることにより行われる。
【0003】
このような情報コードを活用する技術の例として、複数の情報コードが含まれる画像の中から、ユーザが所望する情報コードを指定し、この指定された情報コードを拡大して撮影することにより、このユーザが所望した情報コードを読み取るシステムが開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のシステムでは、ユーザが読み取る情報コードを指定する必要があるため、ユーザが、どの情報コードを指定すべきかの判断ができないおそれがあった。
【0006】
本発明は、画像に含まれる情報コードのサイズが小さい場合や複数の情報コードが存在する場合であっても、情報コードを読み取ることが可能なコンピュータシステム、情報コード読取方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では、以下のような解決手段を提供する。
【0008】
本発明は、情報コードを読み取るコンピュータシステムであって、
前記情報コードが撮影された画像を取得する取得手段と、
取得した前記画像を解析する解析手段と、
前記画像の解析結果と、学習済みの前記情報コードの特徴量とに基づいて、前記情報コードを検出する検出手段と、
検出した前記情報コードを認識できなかった場合、当該情報コードを拡大する拡大手段と、
拡大後の前記情報コードを認識する認識手段と、
認識した前記情報コードの画像における座標を算出する算出手段と、
取得した前記画像を、算出した前記座標に合成して、前記学習済みの情報コードの特徴量を更新する更新手段と、
を備え、
前記拡大手段は、検出した前記画像中に複数の情報コードが存在する場合、所定の条件に基づいて、複数の内の何れかの情報コードを拡大し、
前記座標は、前記情報コードの中心点であることを特徴とするコンピュータシステムを提供する。
【0009】
本発明によれば、情報コードを読み取るコンピュータシステムは、前記情報コードが撮影された画像を取得し、取得した前記画像を解析し、前記画像の解析結果と、学習済みの前記情報コードの特徴量とに基づいて、前記情報コードを検出し、検出した前記情報コードを認識できなかった場合、当該情報コードを拡大し、拡大後の前記情報コードを認識し、認識した前記情報コードの画像における座標を算出し、取得した前記画像を、算出した前記座標に合成して、前記学習済みの情報コードの特徴量を更新し、検出した前記画像中に複数の情報コードが存在する場合、所定の条件に基づいて、複数の内の何れかの情報コードを拡大し、前記座標は、前記情報コードの中心点である。
【0010】
本発明は、システムのカテゴリであるが、方法及びプログラム等の他のカテゴリにおいても、そのカテゴリに応じた同様の作用・効果を発揮する。
【発明の効果】
【0011】
本発明によれば、画像に含まれる情報コードのサイズが小さい場合や複数の情報コードが存在する場合であっても、情報コードを読み取ることが可能なコンピュータシステム、情報コード読取方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、情報コード読取システム1の概要を示す図である。
【
図2】
図2は、情報コード読取システム1の全体構成図である。
【
図3】
図3は、コンピュータ10が実行する学習処理のフローチャートを示す図である。
【
図4】
図4は、コンピュータ10が実行する情報コード読取処理のフローチャートを示す図である。
【
図5】
図5は、コンピュータ10が実行する再学習処理のフローチャートを示す図である。
【
図6】
図6は、情報コードが含まれる画像の一例を模式的に示す図である。
【
図7】
図7は、情報コードを拡大した状態を模式的に示す図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも例であって、本発明の技術的範囲はこれに限られるものではない。
【0014】
[情報コード読取システム1の概要]
本発明の好適な実施形態の概要について、
図1に基づいて説明する。
図1は、本発明の好適な実施形態である情報コード読取システム1の概要を説明するための図である。情報コード読取システム1は、コンピュータ10から構成され、情報コードを読み取るコンピュータシステムである。
【0015】
なお、情報コード読取システム1は、カメラ等の撮影装置、撮影機能を備えた端末装置(例えば、スマートフォンやタブレット端末等の携帯端末や、スマートグラス等のヘッドマウントディスプレイやスマートウォッチといったウェアラブル端末)、その他の端末や装置類等が含まれていてもよい。この場合、情報コード読取システム1は、コンピュータ10と、含まれる端末や装置類等との何れか又は複数の組み合わせにより実行する事になる。
【0016】
また、情報コード読取システム1は、例えば、コンピュータ10等の1台のコンピュータで実現されてもよいし、クラウドコンピュータのように、複数のコンピュータで実現されてもよい。
【0017】
また、情報コード読取システム1は、コンピュータ10の代わりに、上述した端末装置から構成されてもよい。
【0018】
コンピュータ10は、上述した撮影装置、端末装置、その他の端末や装置類等と、公衆回線網等を介して、データ通信可能に接続されており、必要なデータや情報の送受信を実行する。
【0019】
コンピュータ10は、情報コードが撮影された画像を取得する。例えば、撮影装置や端末装置は、情報コードを撮影し、撮影した画像をコンピュータ10に送信する。コンピュータ10は、この画像を受信することにより、情報コードが撮影された画像を取得することになる。
【0020】
なお、情報コード読取システム1が、端末装置から構成される場合、この端末装置が、情報コードを撮影することにより、情報コードが撮影された画像を取得することになる。
【0021】
コンピュータ10は、取得した画像を解析する。例えば、コンピュータ10は、取得した画像を画像解析し、この画像における特徴量を抽出する。特徴量は、例えば、形状、輪郭、色相、画素値の平均や分散やヒストグラム等の統計的な数値である。例えば、二次元コードである場合、コンピュータ10は、この画像に存在するファインダパターン、アライメントパターン、クワイエットゾーン、タイミングパターン等の特有のものを特徴量として抽出する。一次元コードやARマーカ等の他のものであっても同様に、特有のものを特徴量として抽出する。
【0022】
コンピュータ10は、解析結果と、学習済みの情報コードの特徴量とに基づいて、情報コードを検出する。コンピュータ10は、予め、情報コードの特徴量を機械学習し、この学習結果に基づいた情報コード検出用学習済モデルを作成する。コンピュータ10は、今回抽出した特徴量と、予め作成した情報コード検出用学習済モデルとに基づいて、取得した画像に存在する情報コードを検出する。
【0023】
コンピュータ10は、検出した情報コードを認識できなかった場合、この情報コードを拡大する。例えば、コンピュータ10は、検出した情報コードの認識を試行する。コンピュータ10が、検出した情報コードを認識できなかった場合とは、例えば、検出した情報コードの大きさが、十分ではない(すなわち、所定の大きさよりも小さい)場合、検出した情報コードが複数存在する(すなわち、一の情報コードを特定できない)場合である。コンピュータ10は、このような、検出した情報コードを認識できなかった場合、この情報コードを、認識可能なサイズまで拡大する。
【0024】
コンピュータ10は、拡大後の情報コードを認識する。例えば、コンピュータ10は、拡大後の情報コードを認識し、この情報コードに格納された情報等を読み取る。
【0025】
なお、コンピュータ10は、今回認識した情報コードの画像における座標を算出し、取得した画像と、この座標とに基づいて、学習済みの情報コードの特徴量を更新する構成であってもよい。例えば、コンピュータ10は、今回認識した情報コードの画像における座標を算出する。コンピュータ10は、算出した座標と、画像とに基づいて、新たな学習用データセットを作成し、この作成した学習用データセットと、予め作成した情報コード検出用学習済モデルとに基づいて、情報コード検出用学習済モデルを更新する。コンピュータ10は、次回以降の情報コードの検出の際、この更新後の情報コード検出用学習済モデルを用いることになる。
【0026】
次に、情報コード読取システム1が実行する処理の概要について説明する。
【0027】
はじめに、コンピュータ10は、情報コードが撮影された画像を取得する(ステップS01)。撮影装置や端末装置は、情報コードを撮影し、撮影した画像をコンピュータ10に送信する。コンピュータ10は、この画像を受信する。この結果、コンピュータ10は、情報コードが撮影された画像を取得することになる。
【0028】
コンピュータ10は、取得した画像を解析する(ステップS02)。コンピュータ10は、取得した画像を画像解析し、この画像における上述した特徴量を抽出する。
【0029】
コンピュータ10は、解析結果と、学習済みの情報コードの特徴量とに基づいて、情報コードを検出する(ステップS03)。コンピュータ10は、情報コードの特徴量を機械学習して作成した情報コード検出用学習済モデルと、今回抽出した特徴量とに基づいて、取得した画像に存在する情報コードを検出する。
【0030】
コンピュータ10は、検出した情報コードを認識できなかった場合、この情報コードを拡大する(ステップS04)。コンピュータ10は、この情報コードの認識を試行する。コンピュータ10は、認識を試行した結果、情報コードの認識ができなかった場合、この情報コードを認識可能なサイズにまで拡大する。コンピュータ10は、画像中に一の情報コードのみを検出した場合、この一の情報コードを拡大する。また、コンピュータ10は、画像中に複数の情報コードを検出した場合、所定の条件に基づいて、複数の内の何れかの情報コードを拡大する。なお、コンピュータ10は、画像中に複数の情報コードを検出した場合、この複数の情報コードを、所定の条件に基づいて、順次、拡大する構成であってもよい。
【0031】
コンピュータ10は、拡大後の情報コードを認識する(ステップS05)。コンピュータ10は、拡大した情報コードを認識し、この情報コードに格納された情報等を読み取る。
【0032】
以上が、情報コード読取システム1が実行する処理の概要である。
【0033】
[情報コード読取システム1のシステム構成]
図2に基づいて、本発明の好適な実施形態である情報コード読取システム1のシステム構成について説明する。
図2は、本発明の好適な実施形態である情報コード読取システム1のシステム構成を示す図である。
図2において、情報コード読取システム1は、コンピュータ10から構成され、一次元コード、二次元コード、ARマーカ等の情報コードを読み取るコンピュータシステムである。
【0034】
コンピュータ10は、撮影装置、端末装置、その他の端末や装置類等と、公衆回線網等を介して、データ通信可能に接続されており、必要なデータや情報の送受信を実行する。
【0035】
なお、情報コード読取システム1は、撮影装置、端末装置、その他の端末や装置類等が含まれていてもよい。この場合、情報コード読取システム1は、後述する各処理を、コンピュータ10と含まれる端末や装置類等との何れか又は複数の組み合わせにより実行することになる。
【0036】
また、情報コード読取システム1は、例えば、コンピュータ10等の1台のコンピュータで実現されてもよいし、クラウドコンピュータのように、複数のコンピュータで実現されてもよい。
【0037】
また、情報コード読取システム1は、コンピュータ10の代わりに、上述した端末装置で構成されてもよい。
【0038】
コンピュータ10は、制御部として、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部として、他の端末や装置等と通信可能にするためのデバイス、例えば、IEEE802.11に準拠したWi―Fi(Wireless―Fidelity)対応デバイス等を備える。また、コンピュータ10は、記録部として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。また、コンピュータ10は、処理部として、各種処理を実行する各種デバイス等を備える。
【0039】
コンピュータ10において、制御部が所定のプログラムを読み込むことにより、通信部と協働して、学習データセット取得モジュール20、画像取得モジュール21を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、記録部と協働して、記録モジュール30を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、処理部と協働して、解析モジュール40、学習モジュール41、モデル作成モジュール42、検出モジュール43、認識モジュール44、認識判断モジュール45、拡大モジュール46、算出モジュール47、合成モジュール48、モデル更新モジュール49を実現する。
【0040】
[学習処理]
図3に基づいて、情報コード読取システム1が実行する学習処理について説明する。
図3は、コンピュータ10が実行する学習処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0041】
学習データセット取得モジュール20は、情報コードの学習用データセットを取得する(ステップS10)。ステップS10において、学習データセット取得モジュール20は、他のコンピュータや外部サーバ等から、この学習用データセットを取得する。この学習用データセットは、例えば、一又は複数の情報コードが撮影された画像である。
【0042】
解析モジュール40は、取得した学習用データセットを解析する(ステップS11)。ステップS11において、解析モジュール40は、この学習用データセットを、画像解析し、情報コードの特徴量を抽出する。特徴量は、上述した通り、二次元コードである場合、ファインダパターン、アライメントパターン、クワイエットゾーン、タイミングパターン等の二次元コードに特有のものであり、一次元コードやARマーカ等の他のものである場合、これらの其々に特有のものである。
【0043】
学習モジュール41は、解析結果に基づいて、機械学習を実行する(ステップS12)。ステップS12において、学習モジュール41は、機械学習として、抽出した特徴量を教師とした教師あり学習を実行する。
【0044】
モデル作成モジュール42は、学習結果に基づいて、情報コード検出用学習済モデルを作成する(ステップS13)。ステップS13において、モデル作成モジュール42は、学習した情報コードの特徴量を組み込んだ情報コード検出用学習済モデルを作成する。
【0045】
記録モジュール30は、作成した情報コード検出用学習済モデルを、自身に記録する(ステップS14)。コンピュータ10は、後述する処理において、この記録した情報コード検出用学習済モデルを用いることになる。
【0046】
以上が、学習処理である。
【0047】
[情報コード読取処理]
図4に基づいて、情報コード読取システム1が実行する情報コード読取処理について説明する。
図4は、コンピュータ10が実行する情報コード読取処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0048】
画像取得モジュール21は、情報コードが撮影された画像を取得する(ステップS20)。ステップS20において、画像取得モジュール21は、撮影装置や端末装置がこの情報コードを撮影した画像を取得する。このとき、撮影装置や端末装置が、この画像を送信し、画像取得モジュール21が、この画像を受信することにより、画像取得モジュール21は、この画像を取得することになる。
【0049】
なお、情報コード読取システム1が、端末装置から構成される場合、この端末装置が、情報コードを撮影することにより、情報コードが撮影された画像を取得することになる。端末装置は、後述する処理を、この撮影した画像を用いて実行する構成となる。
【0050】
解析モジュール40は、取得した画像を解析する(ステップS21)。ステップS21において、解析モジュール40は、取得した画像の特徴量を抽出する。解析モジュール40は、特徴量として、上述した通り、形状、輪郭、色相、画素値の平均や分散やヒストグラム等の統計的な数値を抽出し、一次元コード、二次元コード、ARマーカ等における固有のものを抽出する。
【0051】
検出モジュール43は、解析結果と、学習済みの情報コードの特徴量とに基づいて、情報コードを検出する(ステップS22)。ステップS22において、検出モジュール43は、今回抽出した特徴量と、上述した学習処理により作成した情報コード検出用学習済モデルとに基づいて、この処理を実行する。検出モジュール43は、今回抽出した特徴量と、情報コード検出用学習済モデルにおける特徴量とを比較し、一致又は近似するか否かを判断し、一致又は近似するものを、情報コードであるものと検出する。
【0052】
なお、コンピュータ10は、情報コードを検出できなかった場合、本処理を終了する。
【0053】
認識モジュール44は、検出した情報コードを認識する(ステップS23)。ステップS23において、認識モジュール44は、この情報コードに格納された情報を読み取ることを試行する。
【0054】
認識判断モジュール45は、情報コードを認識できたか否かを判断する(ステップS24)。ステップS24において、認識判断モジュール45は、検出した情報コードの大きさが十分ではない場合、検出した情報コードが複数存在する場合であるとき、情報コードを認識できなかったと判断することになる。認識判断モジュール45は、情報コードを認識できたと判断した場合(ステップS24 YES)、認識モジュール44は、この情報コードに格納された情報を読み取る(ステップ25)。コンピュータ10は、読み取った情報に基づいて、必要な処理を実行することになる。
【0055】
一方、ステップS24において、認識判断モジュール45は、情報コードを認識できかなかったと判断した場合(ステップS24 NO)、拡大モジュール46は、検出した情報コードを拡大する(ステップS26)。ステップS26において、拡大モジュール46は、検出した情報コードのサイズを拡大する。コンピュータ10は、認識できなかったことの理由が、検出した情報コードのサイズにあると判断するためである。具体的には、画像中に存在する情報コードが、認識するに足るサイズではなかったと判断するためである。
【0056】
拡大モジュール46は、認識モジュール44が認識できなかった情報コードが一つであった場合、この一の情報コードを拡大する。
【0057】
また、拡大モジュール46は、認識モジュール44が認識できなかった情報コードが複数存在する場合、所定の条件に基づいて、拡大する一の情報コードを特定する。所定の条件は、例えば、情報コードの座標(例えば、画面中央に近い、画面中央から遠い、画面端に近い、画面端から遠い)、情報コードのサイズ(例えば、最大、最小)、情報コードの説明テキストの有無である。拡大モジュール46は、この特定した一の情報コードを拡大する。
【0058】
なお、コンピュータ10は、画像中に複数の情報コードを検出した場合、この複数の情報コードを、所定の条件に基づいて、順次、拡大する構成であってもよい。
【0059】
また、コンピュータ10は、認識できなかった原因が、サイズ以外の場合、例えば、破損や汚損、歪み等である場合、コンピュータ10は、情報コードを拡大するのでなく、認識できないと判断し、本処理を終了する。すなわち、コンピュータ10は、拡大しても認識できない情報コードについては、拡大せずに、本処理を終了することになる。
【0060】
認識モジュール44は、拡大後の情報コードを認識する(ステップS27)。ステップS27において、認識モジュール44は、この拡大後の情報コードを認識し、この情報コードに格納された情報を読み取る。コンピュータ10は、読み取った情報に基づいて、必要な処理を実行することになる。
【0061】
図6及び
図7に基づいて、上述した情報コード読取処理について説明する。
図6は、情報コードが撮影された画像の一例を模式的に示した図である。
図6において、画像200には、複数の情報コード210が存在する。検出モジュール43は、この画像200の解析の結果、9個の情報コード210-218を検出する。認識モジュール44の試行の結果、認識判断モジュール45は、この9個の情報コード210-218を認識できなかったと判断するものとする。拡大モジュール46は、この9個の情報コード210-218のうち、所定の条件(例えば、画面中央に位置する情報コード214)に基づいて、一の情報コード214を特定し、特定した一の情報コード214を拡大する。
【0062】
図7は、拡大後情報コードの一例を模式的に示したものである。
図7において、拡大後情報コード300は、特定された一の情報コード214を、認識可能なサイズにまで拡大したものである。認識モジュール44は、この拡大後情報コード300を認識することにより、この情報コード214に格納された情報を読み取る。
【0063】
以上が、情報コード読取処理である。
【0064】
[再学習処理]
図5に基づいて、情報コード読取システム1が実行する再学習処理について説明する。
図5は、コンピュータ10が実行する再学習処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0065】
算出モジュール47は、上述した情報コード読取処理により認識した情報コードの、画像における座標を算出する(ステップS30)。ステップS30において、算出モジュール47は、この画像における座標として、XY座標により、この画像における情報コードの座標を算出する。このとき、情報コードの中心を、この座標として算出する。
【0066】
合成モジュール48は、算出した座標と、画像とを合成する(ステップS31)。ステップS31において、合成モジュール48は、画像に、座標及び情報コードの特徴量を合成する。合成モジュール48は、画像における、この情報コードに該当する座標に、情報コードの特徴量を合成することになる。コンピュータ10は、この合成結果を、再学習用データセットとして、後述する処理に用いる。
【0067】
学習モジュール41は、上述した学習処理により作成した情報コード検出用学習済モデルと、合成結果とに基づいて、情報コードの特徴量を再学習する(ステップS32)。ステップS32において、学習モジュール41は、情報コード検出用学習済モデルと、再学習用データセットとに基づいて、情報コードの画像における座標及び情報コードの特徴量を再学習する。
【0068】
モデル更新モジュール49は、再学習の結果に基づいて、記録モジュール30が記録する情報コード検出用学習済モデルを更新する(ステップS33)。ステップS33において、モデル更新モジュール49は、再学習した情報コードの画像における座標及び情報コードの特徴量を、情報コード検出用学習済モデルに組み込むことにより、情報コード検出用学習済モデルを更新する。
【0069】
この結果、モデル更新モジュール49は、取得した画像と、算出した座標とに基づいて、学習済みの情報コードの特徴量を更新することになる。
【0070】
記録モジュール30は、更新後の情報コード検出用学習済モデルを記録する(ステップS34)。コンピュータ10は、再度、上述した情報コード読取処理を実行する際、本処理により記録した更新後の情報コード検出用学習済モデルを用いる。
【0071】
以上が、再学習更処理である。
【0072】
上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態で提供される。また、プログラムは、例えば、フレキシブルディスク、CD(CD-ROMなど)、DVD(DVD-ROM、DVD-RAMなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記録装置又は外部記録装置に転送し記録して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記録装置(記録媒体)に予め記録しておき、その記録装置から通信回線を介してコンピュータに提供するようにしてもよい。
【0073】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0074】
1 情報コード読取システム10 コンピュータ