[go: up one dir, main page]

JPWO2018037666A1 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JPWO2018037666A1
JPWO2018037666A1 JP2018535470A JP2018535470A JPWO2018037666A1 JP WO2018037666 A1 JPWO2018037666 A1 JP WO2018037666A1 JP 2018535470 A JP2018535470 A JP 2018535470A JP 2018535470 A JP2018535470 A JP 2018535470A JP WO2018037666 A1 JPWO2018037666 A1 JP WO2018037666A1
Authority
JP
Japan
Prior art keywords
marker
markers
identifier
information
grouping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018535470A
Other languages
English (en)
Other versions
JP6471835B2 (ja
Inventor
真 則枝
真 則枝
誠 吉本
誠 吉本
才田 好則
好則 才田
浩揮 小菅
浩揮 小菅
吉祥 青柳
吉祥 青柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2018037666A1 publication Critical patent/JPWO2018037666A1/ja
Application granted granted Critical
Publication of JP6471835B2 publication Critical patent/JP6471835B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

情報処理装置(2000)は、変換部(2020)及び算出部(2040)を有する。変換部(2020)は、カメラ画像(10)から複数のマーカを検出する。変換部(2020)は、検出されたマーカを、対応するサブ識別子情報に変換する。算出部(2040)は、変換部(2020)によって変換された複数のサブ識別子を用いて、識別子を算出する。

Description

本発明は、情報処理装置、制御方法、及びプログラムに関する。
カメラ画像からマーカを検出する技術が開発されている。例えば AR(Augmented Reality)の分野では、「カメラ画像から AR マーカを検出し、カメラ画像に対してその AR マーカに対応する仮想オブジェクトを重畳させてディスプレイに表示する」といった処理が行われる。
カメラ画像からマーカを検出する処理には、オブジェクト検出処理が利用される。オブジェクト検出処理では、例えばテンプレートマッチングや特徴量マッチングなどの技術が用いられる。テンプレートマッチングでは、マーカを表すテンプレート画像にマッチする画像領域をカメラ画像から検出することにより、マーカの検出が行われる。また、特徴量マッチングでは、マーカの特徴量にマッチする特徴量を持つ画像領域をカメラ画像から検出することにより、マーカの検出が行われる。
カメラ画像からマーカを検出する技術は、例えば特許文献1に開示されている。特許文献1の表示装置は、テンプレートマッチングを用いて、撮影画像からマーカ画像を検出する。さらに、表示装置は、検出されたマーカ画像に関連づけられている仮想オブジェクトを撮像画像に重ねて表示する。
マーカは、物の識別にも利用されている。例えば特許文献2は、紙メディアの紙面上にその紙メディアの識別子を表すマーカを付しておくことにより、マーカを用いて紙メディアを識別する技術を開示している。
特開2015−153046号公報 特開2016−122271号公報
マーカを用いて物を識別する場合、識別したい物の数に比例してマーカの種類が多くなる。例えば、100個の製品をマーカで識別したい場合には、互いに異なる100種類のマーカが必要となる。一方、1000個の製品をマーカで識別したい場合には、互いに異なる1000種類のマーカが必要となる。
そして、マーカの種類が多くなると、カメラ画像からマーカを検出する処理の負荷が高くなる。これは、カメラ画像に対し、複数のマーカそれぞれの検出を試みる処理が行われるためである。例えば、マーカが1000種類ある場合に、テンプレートマッチングを用いてカメラ画像に含まれるマーカを認識する処理を実行するとする。この場合、1000個のテンプレート画像それぞれについて、テンプレート画像にマッチする領域をカメラ画像から検出する処理が実行される。
本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、カメラ画像からマーカを検出する処理の負荷を軽減する技術を提供することである。
本発明の情報処理装置は、(1)画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換手段と、(2)複数の前記第1識別子から第2識別子を算出する算出手段と、を有する。
本発明の制御方法は、コンピュータによって実行される。
当該制御方法は、(1)画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換ステップと、(2)複数の前記第1識別子から第2識別子を算出する算出ステップと、を有する。
本発明のプログラムは、本発明の制御方法の各ステップをコンピュータに実行させる。
本発明によれば、カメラ画像からマーカを検出する処理の負荷を軽減する技術が提供される。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
実施形態1の情報処理装置を例示するブロック図である。 情報処理装置によって実行される処理を概念的に説明するための図である。 情報処理装置を実現するための計算機を例示する図である。 実施形態1の情報処理装置によって実行される処理の流れを例示するフローチャートである。 マーカ間のスペースが図2のケースよりも小さい例を例示する図である。 マーカの間のスペースを有効活用する例を示す図である。 マーカがトレーの4隅に配置されるケースを例示する図である。 情報量が異なる2つのマーカによって1つの識別子を表すケースを例示する図である。 テンプレートマッチングに利用されるサブ識別子情報をテーブル形式で表す図である。 特徴量マッチングに利用されるサブ識別子情報をテーブル形式で表す図である。 マーカの付近にサブ識別子の結合順序を示す数値が示されている様子を例示する図である。 実施形態2の情報処理装置を例示するブロック図である。 実施形態2の情報処理装置によって扱われるカメラ画像を例示する図である。 距離に基づいてマーカをグループに分ける方法を例示する第1の図である。 距離に基づいてマーカをグループに分ける方法を例示する第2の図である。 マーカ間の距離及びマーカの向きに基づくグループ分けを例示する第1の図である。 マーカ間の距離及びマーカの向きに基づくグループに分けを例示する第2の図である。 マーカ間の距離及びマーカの向きに基づくグループ分けを例示する第3の図である。 マーカの付近に設けられている方向情報を例示する図である。 向きの特定が可能なマーカを例示する図である。 マーカの位置を頂点として扱うことで所定の形状が構成される例を示す図である。 マーカで特定される辺によって所定の形状が構成される例を示す図である。 枠を表すグループ分け情報を用いてグループ分けを行う方法を例示する図である。 マーカの構成要素が他のマーカを囲む枠となるケースを例示する図である。 マーカの内部に設けられたサブマーカを用いてマーカのグループ分けを行う方法を例示する図である。 実施形態2の情報処理装置によって実行される処理の流れを例示するフローチャートである。 マーカと誤り検出情報との対応付けを例示する図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
[実施形態1]
図1は、実施形態1の情報処理装置2000を例示するブロック図である。情報処理装置2000は、カメラ画像の中から、第1識別子を表すマーカを検出する。カメラ画像は、カメラによって撮像された景色を含む画像である。マーカは、カメラで撮像することができる任意の印である。そして、情報処理装置2000は、検出された各マーカによって表される第1識別子を用いて、1つの第2識別子を算出する。以下、第1識別子をサブ識別子と表記する。また、第2識別子を単に識別子と表記する。
図2は、情報処理装置2000によって実行される処理を概念的に説明するための図である。カメラ画像10は、情報処理装置2000によって扱われるカメラ画像である。この例において、マーカはバーコード20である。バーコード以外のマーカの例については後述する。カメラ画像10には、3つのバーコード20が含まれる。各バーコード20は、1から9のいずれかのサブ識別子を表すものであるとする。なお、図2においてバーコード20を囲んでいる点線は、説明のために図示されているものであり、実際にはカメラ画像10に含まれていない。この点線については、以降の図においても同様である。
バーコード20−1からバーコード20−3は、その組み合わせによって1つの識別子を表す。この例では、バーコード20−1に対応するサブ識別子、バーコード20−2に対応するサブ識別子、及びバーコード20−3に対応するサブ識別子をこの順に結合することにより、1つの識別子が算出されるとする。
まず情報処理装置2000は、カメラ画像10から、バーコード20−1、バーコード20−2、及びバーコード20−3をそれぞれ検出する。さらに情報処理装置2000は、これらのマーカによって表されるサブ識別子を用いて、1つの識別子を算出する。ここで、バーコード20−1によって表されるサブ識別子が「1」であり、バーコード20−2によって表されるサブ識別子が「5」であり、バーコード20−3によって表されるサブ識別子が「6」であるとする。すると、情報処理装置2000は、「156」という識別子を算出する。
ここで、上述の例は、情報処理装置2000に関する理解を容易にするための例示であり、情報処理装置2000の動作は上述の例に限定されない。
情報処理装置2000は、変換部2020及び算出部2040を有する。変換部2020は、カメラ画像10からマーカを検出する。変換部2020は、検出されたマーカを、対応するサブ識別子に変換する。
算出部2040は、複数のサブ識別子を用いて識別子を算出する。識別子は、複数のサブ識別子に基づいて算出可能な識別子である。例えば識別子は、複数のサブ識別子を所定の順序で結合することで算出される。図2の例の場合、「1」、「5」、及び「6」というサブ識別子をこの順序で結合することにより、「156」という識別子が算出される。
なお、サブ識別子から識別子を算出する方法は、上記の方法に限定されない。識別子の算出方法の詳細については後述する。
<作用・効果>
このように、本実施形態の情報処理装置2000が扱う識別子は、複数のマーカそれぞれによって表されるサブ識別子の組み合わせを用いて算出される。言い換えれば、1つの識別子に対し、複数のマーカの組み合わせが対応する。こうすることで、1つの識別子を1つのマーカで表す場合と比較し、カメラ画像10からマーカを検出する処理の負荷が小さくなる。
例えば、マーカを使って1000個の製品を識別したいとする。この場合に、各製品の識別子に対して1つのマーカを対応づけるとする。つまり、1000種類のマーカを使って製品の識別が行われる。この場合、カメラ画像10からマーカを検出する装置は、1000種類のマーカそれぞれの検出を試みる。例えばテンプレートマッチングを用いてカメラ画像10からマーカを検出するためには、1000個のテンプレート画像それぞれについて、テンプレートマッチングの処理が必要となる。
一方、1000個の製品それぞれの識別子を、3つのマーカを使って表すとする。例えば「00」〜「09」のいずれかを表すマーカ、「10」〜「19」のいずれかを表すマーカ、及び「20」〜「29」のいずれかを表すマーカを利用する。この3つのマーカの組み合わせを用いれば、「10通り×10通り×10通り=1000通り」の識別子を表現できる。つまり、30種類のマーカで1000個の製品を識別することができる。
このように、複数のマーカの組み合わせで1つの識別子を表すことにより、識別に必要なマーカの総数を減らすことができる。そのため、1つのマーカで1つの識別子を表す場合と比較し、マーカを検出する処理の負荷が小さくなる。
例えば上述の例の場合、カメラ画像10からマーカを検出するために必要な処理は、30個のテンプレート画像それぞれについてのテンプレートマッチングである。よって、1000個のテンプレート画像それぞれについてテンプレートマッチングを行わなければならない場合よりも、マーカを検出する処理の負荷が小さい。
また、マーカの総数を減らせることには、マーカの事前登録に要する手間を削減できるというメリットもある。例えばテンプレートマッチングでマーカを検出する場合、各マーカのテンプレート画像を予めデータベースなどに登録しておく必要がある。マーカの総数が減れば、テータベースなどへ登録しておかなければならないマーカの総数も減る。よって、マーカの事前登録に要する手間が少なくなる。
以下、本実施形態についてさらに詳細を述べる。
<情報処理装置20000を実現するハードウエアの例>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。
図3は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、携帯端末(タブレット端末やスマートフォン)、Personal Computer(PC)、又はサーバマシンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1040は、CPU(Central Processing Unit)や GPU(Graphics Processing Unit)などの演算処理装置である。メモリ1060は、RAM(Random Access Memory)などを用いて実現されるメモリである。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、又はフラッシュメモリなどを用いて実現されるストレージデバイスである。
入出力インタフェース1100は、計算機1000を周辺デバイスと接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
ストレージデバイス1080は、情報処理装置2000の各機能を実現するためのプログラムモジュールを記憶している。プロセッサ1040は、このプログラムモジュールをメモリ1060に読み出して実行することで、情報処理装置2000の各機能を実現する。
<処理の流れ>
図4は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。変換部2020は、カメラ画像10を取得する(S102)。変換部2020は、カメラ画像10から複数のマーカを検出する(S104)。変換部2020は、各マーカをサブ識別子に変換する(S106)。算出部2040は、複数のサブ識別子から識別子を算出する(S108)。
<カメラ画像10について>
カメラ画像10は、カメラによって撮像された景色を含む画像である。カメラ画像10は、カメラによって生成された非圧縮のカメラ画像であってもよいし、カメラによって生成された非圧縮のカメラ画像を圧縮することによって生成されたカメラ画像であってもよい。上記圧縮処理は、カメラによって行われてもよいし、カメラ以外の装置によって行われてもよい。
<カメラ画像10の取得:S102>
変換部2020はカメラ画像10を取得する(S102)。変換部2020がカメラ画像10を取得する方法は任意である。例えば変換部2020は、カメラ画像10が記憶されている記憶装置にアクセスして、カメラ画像10を取得する。カメラ画像10が記憶されている記憶装置は、カメラ画像10を生成した装置(例えばカメラ)の内部に設けられていてもよいし、外部に設けられていてもよい。また変換部2020は、カメラ画像10を生成した装置などによって送信されるカメラ画像10を受信することで、カメラ画像10を取得してもよい。
<マーカについて>
カメラ画像10において、サブ識別子はマーカによって表されている。マーカは、カメラで撮像することができる任意の印である。例えばマーカは、サブ識別子を表す文字列(数値列を含む)である。この場合、マーカは、サブ識別子をそのまま表す文字列であってもよいし、サブ識別子とは異なる文字列であってもよい。
また例えば、マーカは、サブ識別子が符号化されたコードである。例えばこのコードは、バーコードや QR コード(登録商標)である。図2の例において、マーカはバーコードである。また例えば、マーカは、任意の記号や模様であってもよい。なお、マーカは、AR 技術で利用される AR マーカであってもよいし、それ以外のマーカであってもよい。
マーカによって表される情報には、サブ識別子以外の情報も含まれてよい。例えばマーカは、マーカが設けられる物の識別子を構成するサブ識別子に加え、その物のサイズや値段に関する情報などを含みうる。
マーカを設ける場所としては、任意の場所を採用することができる。例えばマーカは、製品(例えば電化製品)、製品の部品、食品、服飾品、書籍、又は文書(ポスターなど)の種々の動産に設けられる。またマーカは、上述した種々の動産を製造するための機械やこれらの動産の入れ物(包装や容器)に設けられてもよい。また例えば、マーカは、人の身体に描画されていてもよい。また例えば、マーカは、壁、床、又は柱などの不動産に設けられてもよい。
1つの識別子を表すために設けられる複数のマーカは、これらを互いに区別できる程度のスペースを空けて配置されればよく、そのスペースの大きさは任意である。図5は、マーカ間のスペースが図2のケースよりも小さい例を例示する図である。図5では、バーコード20−1からバーコード20−3によって1つの識別子が表されている。
図5の例のようにマーカ間のスペースを小さくすると、限られたスペースの中で各マーカを大きくできる。マーカが大きいと、カメラでマーカを撮像する際に、マーカから比較的離れた位置で撮像を行うことができる。また、マーカの撮像に用いるカメラに要求される解像度が低くなるため、マーカの撮像に必要なカメラを安価にすることができる。
一方で、マーカの間のスペースが大きくすると、マーカの間のスペースを有効活用できる。図6は、マーカの間のスペースを有効活用する例を示す図である。図6(a)では、1つの識別子を表す3つのマーカが、紙の隅に設けられている。このようにすることで、この紙に文書などを印字することができる。
図6(b)では、1つの識別子を表すマーカが、トレーの縁に設けられている。そのため、このトレーに物が載せられている状態であっても、マーカを撮像することができる。
図6(b)のトレーを利用するケースの例として、工場のラインにおいて部品を入れたトレーをベルトコンベアーで運搬するケースについて説明する。トレー単位で部品を管理するために、各トレーには識別子が与えられる。この際、各トレーの識別子を、トレーの縁に印字された複数のマーカで表すようにする。こうすれば、トレーに部品が入っている時(例えば、部品を入れたトレーがベルトコンベアーで運搬されている時)であっても、トレーを撮像してカメラ画像10を生成することができる。
なお、トレーの縁にマーカを配置する方法の他の例として、例えば図7に示す配置なども採用しうる。図7は、マーカがトレーの4隅に配置されるケースを例示する図である。このようにマーカをトレーの隅に配置することで、図6(b)のケースよりもマーカが目立ちにくくなっている。
一方、図6(b)のケースでは、トレーの辺の部分にマーカを配置することで、図7のケースよりもマーカが大きくなっている。こうすることで、カメラ画像10にマーカが大きく写るため、マーカの検出精度が高くなる。
1つの識別子を表すために利用されるマーカの数(サブ識別子の数)は任意である。例えば図6(a)では、1つの識別子を表すために3個のマーカが利用されている。一方で、図6(b)の例では、1つの識別子を表すために4個のマーカが利用されている。
1つの識別子を表すために利用される複数のマーカそれぞれの情報量は、同じであってもよいし、異なっていてもよい。ここでいうマーカの情報量は、マーカによって表されるサブ識別子を用いて識別可能な物の数を意味する。マーカの情報量は、サブ識別子の情報量とも表現できる。
例えば、サブ識別子が1桁の数値(0から9)であるとする。この場合、サブ識別子によって識別できる物の数は10個である。一方、サブ識別子が2桁の数値(00から99)であるとする。この場合、サブ識別子によって識別できる物の数は100個である。よって、後者のサブ識別子の方が前者のサブ識別子よりも情報量が多い。
マーカの大きさは、マーカの情報量が多いほど大きくすることが好適である。図8は、情報量が異なる2つのマーカによって1つの識別子を表すケースを例示する図である。ここで、バーコード20−1によって表されるサブ識別子は123という3桁の数値である。一方、バーコード20−2によって表されるサブ識別子は25という2桁の数値である。よって、バーコード20−1の情報量はバーコード20−2の情報量よりも多い。そこで図8では、バーコード20−1の大きさを、バーコード20−2の大きさよりも大きくしている。
ただし、マーカの大きさとマーカの情報量との関係は、上述の関係に限定されない。例えば、マーカの情報量が多いほど、マーカの大きさを小さくするようにしてもよい。また、情報量にかかわらずマーカの大きさを同じにしてもよい。
<マーカの検出とサブ識別子への変換:S104、S106>
変換部2020は、カメラ画像10の中からマーカを検出する(S104)。そして変換部2020は、検出されたマーカをサブ識別子に変換する(S106)。
例えば変換部2020は、サブ識別子情報を用いて、マーカの検出及びサブ識別子への変換を行う。サブ識別子情報は、マーカとサブ識別子とを対応づける情報である。サブ識別子情報の詳細については後述する。
マーカの検出には、例えばテンプレートマッチングや特徴量マッチングが利用される。以下、テンプレートマッチングと特徴量マッチングのそれぞれについて、具体的に説明する。
<<テンプレートマッチングについて>>
テンプレートマッチングを行う変換部2020は、テンプレート画像とサブ識別子とを対応づけたサブ識別子情報を利用する。図9は、テンプレートマッチングに利用されるサブ識別子情報をテーブル形式で表す図である。図9のテーブルをテーブル200と呼ぶ。テーブル200は、テンプレート画像202とサブ識別子204という2つの列を有する。
変換部2020は、カメラ画像10に含まれる画像領域と、テンプレート画像202に示されるテンプレート画像とのマッチングを行うことで、テンプレート画像にマッチするマーカを検出する。そして、変換部2020は、検出されたマーカを、対応するサブ識別子に変換する。マーカに対応するサブ識別子は、検出されたマーカにマッチするテンプレート画像202と対応づけられているサブ識別子204である。
例えば図9のテーブル200の1行目のレコードは、図2のバーコード20−1を表すテンプレート画像に対して、「1」というサブ識別子を対応づけている。そのため、図2のカメラ画像10について、図9のテーブル200を用いてマーカの検出を行うと、バーコード20−1が検出される。そこで変換部2020は、検出されたバーコード20−1を「1」というサブ識別子に変換する。
<<特徴量マッチングについて>>
特徴量マッチングを行う変換部2020は、マーカの特徴量とサブ識別子とを対応づけたサブ識別子情報を利用する。マーカの特徴量は、マーカの外観の特徴を表す1つ以上のスカラ値やベクトル値などで表される。図10は、特徴量マッチングに利用されるサブ識別子情報をテーブル形式で表す図である。図10のテーブルをテーブル300と呼ぶ。テーブル300は、特徴量302とサブ識別子304という2つの列を有する。
変換部2020は、カメラ画像10に含まれる画像領域と、特徴量302に示される特徴量とのマッチングを行うことで、マーカの検出を行う。そして、変換部2020は、検出されたマーカを、対応するサブ識別子に変換する。マーカに対応するサブ識別子は、検出されたマーカを表す特徴量302に対応付けられているサブ識別子304である。
サブ識別子情報は、情報処理装置2000の内部又は外部に設けられている記憶装置に記憶されている。変換部2020は、この記憶装置に記憶されているサブ識別子情報を取得して利用する。
<識別子の算出:S108>
算出部2040は、複数のサブ識別子を用いて1つの識別子を算出する(S108)。サブ識別子から識別子を算出する方法には、様々な方法を採用することができる。例えば、算出部2040は、サブ識別子の組み合わせを識別子として扱う。また例えば、算出部2040は、サブ識別子を所定の順序で結合することで識別子を算出する。また例えば、算出部2040は、サブ識別子から識別子を算出するための所定の演算式に各サブ識別子を入力することで、識別子を算出する。以下、それぞれの方法について具体的に説明する。
<<方法1:サブ識別子の組み合わせ>>
算出部2040は、サブ識別子の組み合わせを、そのまま識別子として扱う。例えば、3つのマーカからそれぞれ、01、25、及び32というサブ識別子が算出されたとする。この場合、算出部2040は、サブ識別子の集合「01、25、32」を識別子として扱う。
<<方法2:サブ識別子の結合>>
算出部2040は、サブ識別子を所定の順序で結合することで識別子を算出する。例えば図2の例では、「1」、「5」、及び「6」というサブ識別子をこの順序で結合することにより、「156」という識別子が算出されている。
ここで、サブ識別子を結合する所定の順序を定める方法は様々である。例えば所定の順序は、カメラ画像10における各マーカの位置関係によって定められる。例えば、図2の例において、「マーカが存在しない空白領域を始点として反時計回り」という所定の順序を定めておく。こうすると、サブ識別子の結合順序は、「バーコード20−1に対応するサブ識別子、バーコード20−2に対応するサブ識別子、バーコード20−3に対応するサブ識別子」という順序になる。
また例えば、所定の順序を定めるための情報がマーカの付近に示されていてもよい。図11は、マーカの付近にサブ識別子の結合順序を示す数値が示されている様子を例示する図である。図11において、バーコード20−1、バーコード20−2、及びバーコード20−3の付近にそれぞれ、「3」、「1」、及び「2」という数値が示されている。この場合、サブ識別子の結合順序は、「バーコード20−2に対応するサブ識別子、バーコード20−3に対応するサブ識別子、バーコード20−1に対応するサブ識別子」となる。
このようにマーカの付近に結合順序を定める情報が示されている場合、算出部2040は、マーカが検出された画像領域の周辺にある画像領域から、結合順序を定める情報を抽出する。この周辺領域は、例えばマーカが検出された画像領域から所定距離離れた位置を含む画像領域である。
また、サブ識別子の値に基づいてサブ識別子の結合順序が分かるように、サブ識別子が定められていてもよい。この方法は、1つの識別子を構成する各サブ識別子の値が互いに重複しないようにすることで実現できる。例えば1つの識別子が、(1)00から09のいずれかの値をとるサブ識別子、(2)10から19のいずれかの値をとるサブ識別子、及び(3)20から29のいずれかの値をとるサブ識別子をこの順で結合することで構成されるとする。この場合、カメラ画像10から検出される3つのマーカはそれぞれ、(1)から(3)のいずれかに変換される。そして算出部2040は、(1)に該当するサブ識別子、(2)に該当するサブ識別子、及び(3)に該当するサブ識別子という順序で結合することで、識別子を算出する。
<<方法3:演算式を用いた算出>>
算出部2040は、サブ識別子を所定の演算式に入力することで識別子を算出する。数式(1)は、サブ識別子から識別子を算出する演算式の例である。I は識別子を表し、sub_k は k 番目のサブ識別子を表す。なお数式(1)において、サブ識別子及び識別子は共に数値である。
Figure 2018037666
例えば、1つの識別子が3つのサブ識別子で表されるとする。また、3つのサブ識別子がそれぞれ、十の位と一の位が0である3桁の数値(000、100、200、・・・、又は900)、一の位が0である2桁の数値(00、10、20、・・・、又は90)、及び1桁の数値(0、1、2、・・・、9)であるとする。この場合、変換部2020は、数式(1)に3つのサブ識別子を入力することで、これらサブ識別子の和を計算する。こうすることで、3桁の数値で表される識別子が算出される。この方法によれば、識別子は、3桁の任意の数値とすることができる。
[実施形態2]
図12は、実施形態2の情報処理装置2000を例示するブロック図である。下記で説明する点を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
本実施形態では、カメラ画像10を用いて複数の識別子が算出される。言い換えれば、カメラ画像10において、或る識別子の算出に利用されるマーカと、別の識別の算出に利用されるマーカとが混在している。
そこで実施形態2の情報処理装置2000は、グルーピング部2060を有する。グルーピング部2060は、複数のマーカをグループに分割する。算出部2040は、グループごとに、そのグループに含まれる各マーカによって表されるサブ識別子を用いて、1つの識別子を算出する。
図13は、実施形態2の情報処理装置2000によって扱われるカメラ画像10を例示する図である。図13のカメラ画像10には、図2のカメラ画像10に含まれるバーコード20−1からバーコード20−3に加え、バーコード20−4からバーコード20−6が含まれる。
図13の例において、グルーピング部2060は、バーコード20−1からバーコード20−3の3つをグループ1に含める。また、グルーピング部2060は、バーコード20−4からバーコード20−6の3つを、グループ2に含める。なお、マーカをグループに分ける具体的な方法については後述する。
算出部2040は、グループ1とグループ2のそれぞれから識別子を算出する。ここで、バーコード20−1からバーコード20−6によって表されるサブ識別子はそれぞれ、「1」、「5」、「6」、「7」、「8」、及び「9」であるとする。
まず算出部2040は、グループ1について、バーコード20−1からバーコード20−3によって表されるサブ識別子を結合して「156」という識別子を算出する。さらに算出部2040は、グループ2について、バーコード20−4からバーコード20−6によって表されるサブ識別子を結合して「789」という識別子を算出する。このように、カメラ画像10に含まれる複数のバーコード20から、2つの識別子が算出される。
グルーピング部2060がマーカをグループに分ける方法は様々である。例えば、(1)カメラ画像10における各マーカの相対位置に基づいてグループ分けを行う方法、及び(2)マーカのグループ分けを表す情報に基づいてグループ分けを行う方法などがある。以下、それぞれの方法について具体的に説明する。
<マーカの相対位置に基づくグループ分け>
相対位置に基づいてマーカをグループに分ける方法には、様々な方法がある。例えば、(1)マーカ間の距離に基づく方法、(2)マーカ間の距離及びマーカの向きに基づく方法、及び(3)マーカによって構成される形状に基づく方法などがある。以下、その方法を例示する。
<<マーカ間の距離に基づくグループ分け>>
グルーピング部2060は、マーカ間の距離に基づいて、マーカをグループに分ける。より具体的には、グルーピング部2060は、互いに近くに位置する所定個のマーカを同じグループに含める。
図14は、距離に基づいてマーカをグループに分ける方法を例示する第1の図である。この例において、識別子は3つのサブ識別子の組み合わせで算出される。まず変換部2020は、カメラ画像10の中から、バーコード20−1からバーコード20−9を検出する。次にグルーピング部2060は、バーコード20−1の中心から各バーコード20までの距離を算出する。そしてグルーピング部2060は、バーコード20−1の中心からの距離が最も短いバーコード20及び2番目に短いバーコード20を特定する。図14において、前者はバーコード20−2、後者はバーコード20−3である。そこでグルーピング部2060は、バーコード20−1からバーコード20−3を同じグループ(グループ1)に含める。
次にグルーピング部2060は、バーコード20−4の中心から、所属するグループが決定していない他のバーコード20(バーコード20−5からバーコード20−9)までの距離を算出する。そしてグルーピング部2060は、バーコード20−4の中心からの距離が最も短いバーコード20及び2番目に短いバーコード20を特定する。前者はバーコード20−5、後者はバーコード20−6である。そこでグルーピング部2060は、バーコード20−4からバーコード20−6を同じグループ(グループ2)に含める。
最後にグルーピング部2060は、所属するグループが決定していない3つのバーコード20を同じグループ(グループ3)に含める。
ここで上述の例において、グルーピング部2060は、最初にバーコード20−1を処理対象とし、次にバーコード20−4を処理対象としている。しかし、処理対象とするマーカの順序は任意である。例えばグルーピング部2060は、変換部2020によって検出された時点が早いマーカから順に処理対象とする。また例えば、グルーピング部2060は、サブ識別子の値が小さいマーカから順に処理対象とする。
また例えば、各グループの代表とするマーカ(以下、代表マーカ)を予め定めておき、代表マーカをグルーピング部2060の処理対象としてもよい。グルーピング部2060は、各代表マーカとの間の距離に基づいて、代表マーカ以外のマーカが所属するグループを決定する。
例えば図14の例において、バーコード20−1、バーコード20−4、及びバーコード20−7を代表マーカとする。この場合、各バーコード20は、バーコード20−1を含むグループ、バーコード20−4を含むグループ、及びバーコード20−7を含むグループのいずれかに所属する。グルーピング部2060は、代表マーカとの間の距離に基づいて、代表マーカ以外のマーカをいずれかのグループに含める。
代表マーカは、代表マーカ以外のマーカと判別可能に設けられている。例えば代表マーカの付近又は代表マーカの内部には、所定の印(文字列、記号、又は模様など)が設けられる。代表マーカの定義は、予めグルーピング部2060に設定されていてもよいし、グルーピング部2060からアクセス可能な記憶装置に記憶されていてもよい。
グルーピング部2060の処理対象とするマーカの順番を決める方法や、代表マーカを定めておくという方法については、後述する他のグループ分けの方法においても同様に適用できる。
このようにマーカの間の距離のみに着目してマーカをグループに分ける場合、マーカの向きなどを考慮する必要がない。そのため、マーカをグループに分ける処理の負荷が小さくなる。また、製品などに手動でマーカを設置する場合に、マーカの距離を考慮するだけでよく、マーカの向きなどを考慮しなくてよい。そのため、マーカを設置する作業が容易になる。
なお、互いに近くに位置するマーカを同じグループに含める方法は、上述の方法に限定されない。例えばグルーピング部2060は、「或るマーカAから所定距離以内の場所に位置するマーカを、マーカAと同じグループに含める」という方法でマーカをグループに分けてもよい。
図15は、距離に基づいてマーカをグループに分ける方法を例示する第2の図である。この例では、所定距離を r とする。図15において、バーコード20−1の中心からの距離が所定距離 r 以下の場所に位置しているバーコード20は、バーコード20−2及びバーコード20−3である。そこでグルーピング部2060は、バーコード20−1からバーコード20−3を同じグループ(グループ1)に含める。所定距離 r は、例えばバーコード20の大きさ(例えば横幅)に対する相対的な長さで定義される。
なお、この方法の場合、グループに含まれるマーカの数は固定であってもよいし、固定でなくてもよい。前者の場合に、同じグループに含まれるマーカの数が所定個よりも多い場合、例えばグルーピング部2060は、エラー出力を行う。この場合、例えばマーカの撮像やマーカの設置においてミスがあったと考えられる。
<<マーカ間の距離及びマーカの向きに基づくグループ分け>>
グルーピング部2060は、マーカ間の距離及びマーカの向きに基づいて、マーカをグループに分ける。以下、その方法をいくつか例示する。なお、マーカの向きの特定方法については後述する。
<<<方法1>>>
例えばグルーピング部2060は、「或るマーカAの中心から見て所定方向に位置する各マーカのうち、マーカAからの距離が短い順に所定個のマーカを、マーカAと同じグループに含める」という方法でマーカをグループに分ける。
図16は、マーカ間の距離及びマーカの向きに基づくグループ分けを例示する第1の図である。この例において、識別子は3つのサブ識別子の組み合わせによって算出される。つまり、上記所定個は2個である。また、所定方向は上方向である。
まずグルーピング部2060は、バーコード20−1の中心よりも上方向にあるバーコード20を特定する。ここでは、バーコード20−2からバーコード20−6が特定される。次にグルーピング部2060は、バーコード20−2からバーコード20−6について、バーコード20−1の中心からの距離を算出する。グルーピング部2060は、バーコード20−1からの距離がもっとも短いバーコード20として、バーコード20−3を特定する。さらにグルーピング部2060は、バーコード20−1からの距離が2番目に短いバーコード20として、バーコード20−2を特定する。そこでグルーピング部2060は、バーコード20−1からバーコード20−3を同じグループに含める。バーコード20−4からバーコード20−9も同様の方法でグループに分けられる。
<<<方法2>>>
また例えば、グルーピング部2060は、「或るマーカAの中心から見て所定方向に位置するマーカのうち、マーカAからの距離が所定距離以下であるマーカを、マーカAと同じグループに含める」という方法でマーカをグループに分けてもよい。図17は、マーカ間の距離及びマーカの向きに基づくグループに分けを例示する第2の図である。この例においても、識別子は3つのサブ識別子の組み合わせによって算出される。また、所定方向は上方向であり、所定距離は r である。所定距離 r は、例えばバーコード20−Aの大きさ(例えば横幅)に対する相対的な距離で定義される。
図17の例において、バーコード20−1の中心よりも上方向にあるバーコード20は、バーコード20−2からバーコード20−6である。さらに、バーコード20−2からバーコード20−6のうち、バーコード20−1からの距離が所定距離 r 以下であるバーコード20は、バーコード20−2及びバーコード20−3である。そこで、グルーピング部2060は、バーコード20−1からバーコード20−3を同じグループに含める。
<<<方法3>>>
また例えば、グルーピング部2060は、「マーカの中心から所定方向に所定距離離れた位置(以下、基準点)が互いに近いマーカ同士を同じグループに含める」という方法でマーカをグループに分けてもよい。図18は、マーカ間の距離及びマーカの向きに基づくグループ分けを例示する第3の図である。この例においても、識別子は3つのサブ識別子の組み合わせによって算出される。また、所定方向は上方向であり、所定距離は r である。所定距離 r は、例えばバーコード20−Aの大きさ(例えば横幅)に対する相対的な距離で定義される。
まずグルーピング部2060は、各バーコード20について、バーコード20の中心から上方向に距離 r 離れた位置である基準点22を算出する。そして、各基準点22の間の距離に基づいて、バーコード20をグループに分ける。例えばグルーピング部2060は、バーコード20−1に対応する基準点22−1から最も近い基準点及び2番目に近い基準点22を特定する。ここでは、前者としてバーコード20−2に対応する基準点22−2が特定され、後者としてバーコード20−3に対応する基準点22−3が特定される。そこでグルーピング部2060は、バーコード20−1からバーコード20−3を同じグループに含める。同様に、グルーピング部2060は、バーコード20−4からバーコード20−6を同じグループに含める。
なお、グルーピング部2060は、上記基準点22間の距離が所定距離 r2 以下である場合に、それらの基準点22に対応するバーコード20を同じグループに含めるようにしてもよい。
ここで、図15、図16、及び図18の例において、マーカの距離のみに着目してみる。例えば図15と図16の場合、バーコード20−7やバーコード20−8の方が、バーコード20−2やバーコード20−3よりも、バーコード20−1に近くに位置する。そのため、近い距離にあるバーコード20を同じグループに含めるという方法を採用すると、バーコード20−1と同じグループに含まれるのはバーコード20−7とバーコード20−8となる。しかし、マーカの向きを考慮することにより、バーコード20−7とバーコード20−8は、バーコード20−1と同じグループに含められない。
図18の場合、バーコード20−2とバーコード20−5が近くに配置されている。しかし、マーカの向きを考慮したグループ分けにより、これらのバーコード20は同じグループに含まれていない。
このようにマーカの向きを考慮したグループ分けを行うと、異なるグループに所属させるマーカを近接して配置することが可能となる。つまり、マーカを密集させて配置することができる。よって、マーカを配置する場所のスペースを有効活用できるようになる。
<<<マーカの向きの特定方法>>>
グルーピング部2060がマーカの向きを特定する方法は様々である。例えば、マーカの向きの特定に利用できる情報(方向情報)がマーカの付近に設けられているとする。この場合、グルーピング部2060は、マーカの付近に設けられている方向情報を検出し、この方向情報を利用してマーカの向きを特定する。
方向情報は、文字列、記号、又は模様などの任意の印である。方向情報の定義は、予めグルーピング部2060に設定されていてもよいし、グルーピング部2060からアクセス可能な記憶装置に記憶されていてもよい。
図19は、マーカの付近に設けられている方向情報を例示する図である。図19において、マーカはバーコード20である。また図19において、方向情報は、バーコード20の下に付されている文字列60である。
グルーピング部2060は、カメラ画像10からバーコード20を検出し、さらに検出したバーコード20の付近から文字列60を検出する。そして、グルーピング部2060は、バーコード20と文字列60との位置関係に基づいて、バーコード20の向きを特定する。例えば図19において、グルーピング部2060は、「方向30が下方となる向き」をバーコード20の向きとして特定する。
なお、カメラ画像10にマーカが複数含まれていると、方向情報である文字列60も複数含まれている。そこで、例えばグルーピング部2060は、バーコード20と、そのバーコード20の最も近くに配置されている文字列60とを対応づける。そして、グルーピング部2060は、バーコード20と、そのバーコード20に対応する文字列60との位置関係に基づいて、バーコード20の向きを特定する。
また、マーカの向きは、マーカ自体によって特定可能であってもよい。これは、マーカを非対称な印にすることで可能となる。図20は、向きの特定が可能なマーカを例示する図である。図20(a)のマーカ70−1は、下方にのみ文字列を含む。図20(b)のマーカ70−2は、上辺が下辺よりも短い台形の形状をしている。図20(c)のマーカ70−3は、枠線で囲われており、なおかつ枠線内の上方のスペースが下方のスペースよりも狭い。
図20のマーカは、いずれも上下が非対称な図形である。グルーピング部2060は、このようなマーカの非対称性を利用して、マーカの向きを特定する。例えば図20の各マーカ70の向きはいずれも、「方向30がマーカ70の下方となる向き」である。
<<マーカによって構成される形状に基づくグループ分け>>
グルーピング部2060は、1つの所定の形状の辺又は頂点を構成する複数のマーカを1つのグループに含める。図21は、マーカの位置を頂点として扱うことで所定の形状が構成される例を示す図である。図21(a)において、バーコード20−1からバーコード20−3の各中心は、正三角形80の頂点に位置している。言い換えれば、バーコード20−1からバーコード20−3は、1つの正三角形80を構成している。そこで図21の例の場合、グルーピング部2060は、1つの正三角形80の各頂点を表す3つのバーコード20を、1つのグループに含める。
図21(b)において、カメラ画像10には6つのバーコード20が含まれている。まずグルーピング部2060は、各バーコード20について中心を検出する。そしてグルーピング部2060は、検出した各中心を、正三角形80の頂点を構成する3つの中心ごとにグループ分けする。この例では、バーコード20−1からバーコード20−3の各中心によって1つの正三角形80−1が構成されている。また、バーコード20−4からバーコード20−6の各中心によって正三角形80−2が構成されている。そこでグルーピング部2060は、バーコード20−1からバーコード20−3を1つのグループに含める。またグルーピング部2060は、バーコード20−4からバーコード20−6を、他の1つのグループに含める。
図22は、マーカで特定される辺によって所定の形状が構成される例を示す図である。図22(a)において、各バーコード20の中心を通る長手方向の直線が、正方形90の各辺を構成している。言い換えれば、バーコード20−1からバーコード20−4は、1つの正方形90を構成している。そこで図22(a)の例の場合、グルーピング部2060は、1つの正方形90の各辺を表す4つのバーコード20−1からバーコード20−9を、1つのグループに含める。
図22(b)において、カメラ画像10には8つのバーコード20が含まれている。まずグルーピング部2060は、各バーコード20について中心を検出する。次に、グルーピング部2060は、各バーコード20について、バーコード20の中心を通り、なおかつバーコード20の長手方向に延びる直線100を算出する。そしてグルーピング部2060は、1つの正方形を構成する4つの直線100を特定し、その4つの直線100に対応するバーコード20を同じグループに含める。
図22(b)では、直線100−1から直線100−4によって1つの正方形90が構成されている。そこでグルーピング部2060は、直線100−1から直線100−4に対応するバーコード20−1からバーコード20−4を、1つのグループに含める。同様に、直線100−5から直線100−8によって1つの正方形90が構成されている。そこでグルーピング部2060は、直線100−5から直線100−8に対応するバーコード20−5からバーコード20−8を1つのグループに含める。
以上のように、所定の形状を構成するマーカを同じグループに含める方法を採用する場合においても、異なるグループに属するマーカを近くに配置することが可能である。例えば図21(b)において、バーコード20−3とバーコード20−4は近くに配置され絵いる。このように、異なるグループに属するマーカを近くに配置できることで、マーカを配置するスペースを有効活用することができるようになる。
<グループ分けを表す情報に基づくグループ分け>
グルーピング部2060は、カメラ画像10の中から、マーカのグループ分けを表す情報(以下、グループ分け情報)を検出する。そしてグルーピング部2060は、グループ分け情報に基づいてマーカのグループ分けを行う。以下、グループ分け情報についていくつか例示する。
<<グループ分け情報の例1>>
グループ分け情報は、例えば同じグループに所属すべきマーカを囲む枠である。この場合、グルーピング部2060は、カメラ画像10から、複数のマーカを囲む枠を検出する。そして、グルーピング部2060は、この枠線で囲われている各マーカを同じグループに含める。
図23は、枠を表すグループ分け情報を用いてグループ分けを行う方法を例示する図である。図23において、バーコード20−1からバーコード20−3は枠線50−1で囲われている。また、バーコード20−4からバーコード20−6は枠線50−2で囲われている。
そこでグルーピング部2060は、バーコード20−1からバーコード20−3を1つのグループに含める。またグルーピング部2060は、バーコード20−4からバーコード20−6を他の1つのグループに含める。
ここで、同じグループに所属すべきマーカを囲む枠は、マーカの構成要素であってもよい。図24は、マーカの構成要素が他のマーカを囲む枠となるケースを例示する図である。図24において、マーカ70−1は、内部が中空となっている。そして、その中空部分に、マーカ70−2及びマーカ70−3が入っている。つまり、マーカ70−2とマーカ70−3が、マーカ70−1の構成要素である枠によって囲われている。グルーピング部2060は、マーカ70−1の中空部分に位置しているマーカ70−2及びマーカ70−3を、マーカ70−1と同じグループに含める。
このように、同じグループに含めるマーカを囲う枠をマーカの構成要素で実現することにより、マーカを検出する処理と、枠を検出する処理を同時に行うことができる。よって、グループ分け情報の検出に要する処理の負荷が小さくなる。
<<グループ分け情報の例2>>
グループ分け情報は、例えばマーカの内部又はマーカの付近に設けられる任意の印(以下、サブマーカ)である。サブマーカは、例えば文字列、記号、又は模様などである。図25は、マーカの内部に設けられたサブマーカを用いてマーカのグループ分けを行う方法を例示する図である。図25において、同じグループに所属すべきマーカ70には、共通の数値を表すサブマーカ110が設けられている。
マーカ70−1からマーカ70−3の内部には、いずれも「0」というサブマーカ110が含まれている。一方、マーカ70−4からマーカ70−6の内部には、いずれも「1」というサブマーカ110が含まれている。
そこでグルーピング部2060は、「0」というサブマーカ110を有するマーカ70−1からマーカ70−3を1つのグループに含める。また、グルーピング部2060は、「1」というサブマーカ110を有するバーコード20−4からバーコード20−6を、他の1つのグループに含める。
サブマーカ110を用いてマーカ70のグループ分けを表す方法によれば、同じグループに所属すべき複数のマーカ70それぞれを、カメラの画角に収まる任意の場所に設置することができる。よって、マーカ70の設置場所の自由度が高くなる。
なお、マーカ70の内部にサブマーカ110を含めておくと、マーカ70の検出とサブマーカ110の検出を同時に行うことができる。よって、グループ分け情報の検出に要する処理の負荷が小さくなる。
グループ分け情報を用いてグループ分けを行う方法を採用すると、マーカのグループを人の目で容易に判断できる。よって、手動でマーカを設置する際に、その作業が容易になる。また、マーカの設置場所に誤りがないかどうかを容易に判断することができる。
グループ分け情報の定義は、予めグルーピング部2060に設定されていてもよいし、グルーピング部2060からアクセス可能な記憶装置に記憶されていてもよい。
<処理の流れ>
図26は、実施形態2の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。図22のS102からS106において実行される処理は、図4のS102からS106において実行される処理と同様である。
S202において、グルーピング部2060は、マーカをグループに分ける。S204において、算出部2040は、グループごとに、グループに含まれる各マーカによって表されるサブ識別子から、1つの識別子を算出する。
<ハードウエア構成の例>
実施形態2の情報処理装置2000のハードウエア構成は、例えば実施形態1の情報処理装置2000と同様に、図3で表される。実施形態2のストレージデバイス1080には、実施形態2の情報処理装置2000の各機能を実現するプログラムモジュールがさらに含まれる。
<作用・効果>
本実施形態の情報処理装置2000によれば、カメラ画像10の中に、互いに異なる識別子の算出に利用されるマーカ(異なるグループに属するマーカ)が含まれてもよい。そのため、互いに異なる識別子の算出に利用されるマーカがカメラ画像10に含まれてはいけない場合と比較し、より狭い範囲に多くのマーカを設置できる。その結果、識別対象の物をより密集して配置できるようになる。
[実施形態3]
実施形態3の情報処理装置2000は、実施形態1の情報処理装置2000と同様に図1で表されるか、又は実施形態2の情報処理装置2000と同様に図12で表される。下記で説明する点を除き、実施形態1の情報処理装置2000又は実施形態2の情報処理装置2000と同様の機能を有する。
実施形態3の算出部2040は、サブ識別子の誤り検出を行う。具体的には、或るマーカから得られる情報に、他のマーカから得られるべきサブ識別子の誤り検出に用いる情報(以下、誤り検出情報)を含めておく。誤り検出情報は、例えばパリティビットである。
例えば、情報処理装置2000が、3つのマーカA、B、及びCのそれぞれから、サブ識別子X、Y、及びZを得て、1つの識別子を算出するとする。この場合、例えば、マーカAから得られるサブ識別子Xの誤り検出情報を、マーカBに対応づけておく。具体的には、サブ識別子情報において、マーカBに、サブ識別子Xの誤り検出情報を対応づけておく。算出部2040は、この誤り検出情報を用いることで、マーカAから得られたサブ識別子Xについて誤り検出を行う。
この例において、サブ識別子Xの誤り検出情報は、マーカBに対応付けられているサブ識別子Yの一部であってもよい。例えば、サブ識別子Yの末尾の1ビットを、サブ識別子Xのパリティビットとしておく。
或るサブ識別子の誤り検出情報は、他の1つのマーカだけでなく、他の複数のマーカに対応づけられていてよい。例えば上述の例では、マーカAから得られるサブ識別子Xの誤り検出情報を、マーカBとマーカCの双方に対応づけておく。
どのサブ識別子の誤り検出情報をどのマーカに対応づけておくかは任意である。図27は、マーカと誤り検出情報との対応付けを例示する図である。図27では、バーコード20から得られるサブ識別子の誤りを検出するための誤り検出情報を、そのバーコード20から見て反時計回りに隣接しているバーコード20に対して対応づけている。例えば、バーコード20−1から得られるサブ識別子の誤りを検出するための誤り検出情報は、バーコード20−2と対応づけられている。
なお、誤り検出情報は、前述したパリティビットに限定されない。データの誤りを検出する技術自体には、既存の種々の技術を利用できる。
サブ識別子について誤りが検出された場合の処理は任意である。例えば情報処理装置2000は、エラー情報を出力して、識別子を算出する処理を終了する。例えばエラー情報は、情報処理装置2000に接続されているディスプレイ装置に表示されるテキストメッセージや、情報処理装置2000に接続されているスピーカから出力される音声メッセージなどである。
算出部2040は、誤りが検出されたサブ識別子について誤り訂正を行う機能をさらに有していてもよい。この場合、マーカから得られる情報に、誤り検出情報だけでなく、誤り訂正に用いる情報(誤り訂正情報)をさらに含めておく。
例えば前述の例において、マーカAから得られるサブ識別子Xを2つに分割することで、x1とx2という2つのデータが得られるとする。この場合、例えばこれらx1とx2を誤り訂正情報として用いる。例えばサブ識別子情報において、マーカBに対してx1を対応づけておき、マーカCに対してx2を対応づけておく。そして、サブ識別子Xについて誤りが検出された場合、算出部2040は、マーカBに対応づけられているx1とマーカCに対応づけられているx2とを用いて、サブ識別子Xを復旧する。
なお、誤り訂正の方法は上述の例に限定されない。データの誤りを訂正する技術自体には、既存の種々の技術を利用できる。
<ハードウエア構成の例>
実施形態3の情報処理装置2000のハードウエア構成は、例えば実施形態1の情報処理装置2000と同様に、図3で表される。実施形態3のストレージデバイス1080には、実施形態2の情報処理装置2000の各機能を実現するプログラムモジュールがさらに含まれる。
<作用・効果>
カメラ画像10に含まれるマーカから得られたサブ識別子が、本来そのマーカから得られるべき識別子(サブ識別子情報においてそのマーカと対応づけられているサブ識別子)とは異なっていることがありうる。例えばこのようなことは、マーカが汚れていたり、環境光などの影響でカメラ画像10の一部が白飛びしていたりするような場合に起こりうる。
本実施形態によれば、或るマーカから得られるサブ識別子の誤り検出に用いる情報が、他のマーカから得られる情報に含まれている。こうすることで、情報処理装置2000は、或るマーカから得られたサブ識別子が正しいものであるか否かを判断することができる。よって、カメラ画像10から誤ったサブ識別子が得られること、ひいてはカメラ画像10から誤った識別子が得られることを防ぐことができる。
さらに、サブ識別子の誤り検出に加え、誤り訂正が行われてもよい。誤り訂正を行うことで、或るマーカから得られたサブ識別子に誤りがあったとしても、その誤りを訂正することで、正しいサブ識別子を得ることができる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
この出願は、2016年8月24日に出願された日本出願特願2016−163578号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明の情報処理装置は、(1)画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換手段と、(2)複数の前記第1識別子から第2識別子を算出する算出手段と、(3)前記画像に含まれる複数のマーカをグループに分けるグルーピング手段と、を有する。前記算出手段は、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する。
本発明の制御方法は、コンピュータによって実行される。
当該制御方法は、(1)画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換ステップと、(2)複数の前記第1識別子から第2識別子を算出する算出ステップと、(3) 前記画像に含まれる複数のマーカをグループに分けるグルーピングステップと、を有する。前記算出ステップにおいて、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する。
この出願は、2016年8月24日に出願された日本出願特願2016−163578号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換手段と、
複数の前記第1識別子から第2識別子を算出する算出手段と、を有する情報処理装置。
2. 前記画像に含まれる複数のマーカをグループに分けるグルーピング手段を有し、
前記算出手段は、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する、1.に記載の情報処理装置。
3. 前記グルーピング手段は、相対位置が所定の関係にある複数の前記マーカを同じグループに含める、2.に記載の情報処理装置。
4. 前記グルーピング手段は、相対距離が所定距離以下である複数の前記マーカを同じグループに含める、3.に記載の情報処理装置。
5. 前記グルーピング手段は、前記マーカ間の距離及び各前記マーカの向きに基づいて、同じグループに含める複数の前記マーカを決定する、3.に記載の情報処理装置。
6. 前記グルーピング手段は、各前記マーカについて、そのマーカから所定方向に所定距離離れた位置を算出し、前記算出された位置が互いに所定の関係を満たす複数の前記マーカを同じグループに含める、5.に記載の情報処理装置。
7. 各マーカには方向を特定できる方向情報が対応づけられており、
前記方向情報は前記画像に含まれており、
前記グルーピング手段は、前記方向情報を用いて各前記マーカの向きを特定する、5.又は6.に記載の情報処理装置。
8. 前記方向情報は前記マーカに含まれる、7.に記載の情報処理装置。
9. 前記相対位置は、所定形状の辺又は頂点である、3.に記載の情報処理装置。
10. 前記画像は、マーカのグループ分けを示すグループ分け情報を含み、
前記グルーピング手段は、前記グループ分け情報を用いて複数の前記マーカをグループに分ける、2.に記載の情報処理装置。
11. 前記グループ分け情報は、同じグループに所属すべき前記マーカを囲む枠である、10.に記載の情報処理装置。
12. 前記枠は前記マーカの構成要素である、11.に記載の情報処理装置。
13. 前記グループ分け情報は、同じグループに所属すべき複数の前記マーカそれぞれの内部又は付近に設けられている共通のサブマーカである、10.に記載の情報処理装置。
14. 前記画像から検出される第1の前記マーカには、前記画像から検出される第2の前記マーカから変換される前記第1識別子に誤りがあるか否かを検出するための誤り検出情報が対応づけられており、
前記算出手段は、第1の前記マーカに対応づけられている前記誤り検出情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを検出する、1.乃至13.いずれか一つに記載の情報処理装置。
15. 第1の前記マーカには、第2の前記マーカから検出される前記第1識別子の誤りを訂正するための誤り訂正情報が対応づけられており、
前記算出手段は、第1の前記マーカに対応づけられている前記誤り訂正情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを訂正する、14.に記載の情報処理装置。
16. コンピュータによって実行される制御方法であって、
画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換ステップと、
複数の前記第1識別子から第2識別子を算出する算出ステップと、を有する制御方法。
17. 前記画像に含まれる複数のマーカをグループに分けるグルーピングステップを有し、
前記算出ステップにおいて、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する、16.に記載の制御方法。
18. 前記グルーピングステップにおいて、相対位置が所定の関係にある複数の前記マーカを同じグループに含める、17.に記載の制御方法。
19. 前記グルーピングステップにおいて、相対距離が所定距離以下である複数の前記マーカを同じグループに含める、18.に記載の制御方法。
20. 前記グルーピングステップにおいて、前記マーカ間の距離及び各前記マーカの向きに基づいて、同じグループに含める複数の前記マーカを決定する、18.に記載の制御方法。
21. 前記グルーピングステップにおいて、各前記マーカについて、そのマーカから所定方向に所定距離離れた位置を算出し、前記算出された位置が互いに所定の関係を満たす複数の前記マーカを同じグループに含める、20.に記載の制御方法。
22. 各マーカには方向を特定できる方向情報が対応づけられており、
前記方向情報は前記画像に含まれており、
前記グルーピングステップにおいて、前記方向情報を用いて各前記マーカの向きを特定する、20.又は21.に記載の制御方法。
23. 前記方向情報は前記マーカに含まれる、22.に記載の制御方法。
24. 前記相対位置は、所定形状の辺又は頂点である、18.に記載の制御方法。
25. 前記画像は、マーカのグループ分けを示すグループ分け情報を含み、
前記グルーピングステップにおいて、前記グループ分け情報を用いて複数の前記マーカをグループに分ける、17.に記載の制御方法。
26. 前記グループ分け情報は、同じグループに所属すべき前記マーカを囲む枠である、25.に記載の制御方法。
27. 前記枠は前記マーカの構成要素である、26.に記載の制御方法。
28. 前記グループ分け情報は、同じグループに所属すべき複数の前記マーカそれぞれの内部又は付近に設けられている共通のサブマーカである、25.に記載の制御方法。
29. 前記画像から検出される第1の前記マーカには、前記画像から検出される第2の前記マーカから変換される前記第1識別子に誤りがあるか否かを検出するための誤り検出情報が対応づけられており、
前記算出ステップにおいて、第1の前記マーカに対応づけられている前記誤り検出情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを検出する、16.乃至18.いずれか一つに記載の制御方法。
30. 第1の前記マーカには、第2の前記マーカから検出される前記第1識別子の誤りを訂正するための誤り訂正情報が対応づけられており、
前記算出ステップにおいて、第1の前記マーカに対応づけられている前記誤り訂正情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを訂正する、29.に記載の制御方法。
31. 16.乃至30.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。

Claims (31)

  1. 画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換手段と、
    複数の前記第1識別子から第2識別子を算出する算出手段と、を有する情報処理装置。
  2. 前記画像に含まれる複数のマーカをグループに分けるグルーピング手段を有し、
    前記算出手段は、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する、請求項1に記載の情報処理装置。
  3. 前記グルーピング手段は、相対位置が所定の関係にある複数の前記マーカを同じグループに含める、請求項2に記載の情報処理装置。
  4. 前記グルーピング手段は、相対距離が所定距離以下である複数の前記マーカを同じグループに含める、請求項3に記載の情報処理装置。
  5. 前記グルーピング手段は、前記マーカ間の距離及び各前記マーカの向きに基づいて、同じグループに含める複数の前記マーカを決定する、請求項3に記載の情報処理装置。
  6. 前記グルーピング手段は、各前記マーカについて、そのマーカから所定方向に所定距離離れた位置を算出し、前記算出された位置が互いに所定の関係を満たす複数の前記マーカを同じグループに含める、請求項5に記載の情報処理装置。
  7. 各マーカには方向を特定できる方向情報が対応づけられており、
    前記方向情報は前記画像に含まれており、
    前記グルーピング手段は、前記方向情報を用いて各前記マーカの向きを特定する、請求項5又は6に記載の情報処理装置。
  8. 前記方向情報は前記マーカに含まれる、請求項7に記載の情報処理装置。
  9. 前記相対位置は、所定形状の辺又は頂点である、請求項3に記載の情報処理装置。
  10. 前記画像は、マーカのグループ分けを示すグループ分け情報を含み、
    前記グルーピング手段は、前記グループ分け情報を用いて複数の前記マーカをグループに分ける、請求項2に記載の情報処理装置。
  11. 前記グループ分け情報は、同じグループに所属すべき前記マーカを囲む枠である、請求項10に記載の情報処理装置。
  12. 前記枠は前記マーカの構成要素である、請求項11に記載の情報処理装置。
  13. 前記グループ分け情報は、同じグループに所属すべき複数の前記マーカそれぞれの内部又は付近に設けられている共通のサブマーカである、請求項10に記載の情報処理装置。
  14. 前記画像から検出される第1の前記マーカには、前記画像から検出される第2の前記マーカから変換される前記第1識別子に誤りがあるか否かを検出するための誤り検出情報が対応づけられており、
    前記算出手段は、第1の前記マーカに対応づけられている前記誤り検出情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを検出する、請求項1乃至13いずれか一つに記載の情報処理装置。
  15. 第1の前記マーカには、第2の前記マーカから検出される前記第1識別子の誤りを訂正するための誤り訂正情報が対応づけられており、
    前記算出手段は、第1の前記マーカに対応づけられている前記誤り訂正情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを訂正する、請求項14に記載の情報処理装置。
  16. コンピュータによって実行される制御方法であって、
    画像の中から、第1識別子を表すマーカを複数検出し、各前記マーカを前記第1識別子に変換する変換ステップと、
    複数の前記第1識別子から第2識別子を算出する算出ステップと、を有する制御方法。
  17. 前記画像に含まれる複数のマーカをグループに分けるグルーピングステップを有し、
    前記算出ステップにおいて、前記グループごとに、そのグループに含まれる複数の前記第1識別子から前記第2識別子を算出する、請求項16に記載の制御方法。
  18. 前記グルーピングステップにおいて、相対位置が所定の関係にある複数の前記マーカを同じグループに含める、請求項17に記載の制御方法。
  19. 前記グルーピングステップにおいて、相対距離が所定距離以下である複数の前記マーカを同じグループに含める、請求項18に記載の制御方法。
  20. 前記グルーピングステップにおいて、前記マーカ間の距離及び各前記マーカの向きに基づいて、同じグループに含める複数の前記マーカを決定する、請求項18に記載の制御方法。
  21. 前記グルーピングステップにおいて、各前記マーカについて、そのマーカから所定方向に所定距離離れた位置を算出し、前記算出された位置が互いに所定の関係を満たす複数の前記マーカを同じグループに含める、請求項20に記載の制御方法。
  22. 各マーカには方向を特定できる方向情報が対応づけられており、
    前記方向情報は前記画像に含まれており、
    前記グルーピングステップにおいて、前記方向情報を用いて各前記マーカの向きを特定する、請求項20又は21に記載の制御方法。
  23. 前記方向情報は前記マーカに含まれる、請求項22に記載の制御方法。
  24. 前記相対位置は、所定形状の辺又は頂点である、請求項18に記載の制御方法。
  25. 前記画像は、マーカのグループ分けを示すグループ分け情報を含み、
    前記グルーピングステップにおいて、前記グループ分け情報を用いて複数の前記マーカをグループに分ける、請求項17に記載の制御方法。
  26. 前記グループ分け情報は、同じグループに所属すべき前記マーカを囲む枠である、請求項25に記載の制御方法。
  27. 前記枠は前記マーカの構成要素である、請求項26に記載の制御方法。
  28. 前記グループ分け情報は、同じグループに所属すべき複数の前記マーカそれぞれの内部又は付近に設けられている共通のサブマーカである、請求項25に記載の制御方法。
  29. 前記画像から検出される第1の前記マーカには、前記画像から検出される第2の前記マーカから変換される前記第1識別子に誤りがあるか否かを検出するための誤り検出情報が対応づけられており、
    前記算出ステップにおいて、第1の前記マーカに対応づけられている前記誤り検出情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを検出する、請求項16乃至18いずれか一つに記載の制御方法。
  30. 第1の前記マーカには、第2の前記マーカから検出される前記第1識別子の誤りを訂正するための誤り訂正情報が対応づけられており、
    前記算出ステップにおいて、第1の前記マーカに対応づけられている前記誤り訂正情報を用いて、第2の前記マーカから変換される前記第1識別子の誤りを訂正する、請求項29に記載の制御方法。
  31. 請求項16乃至30いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
JP2018535470A 2016-08-24 2017-06-07 情報処理装置、制御方法、及びプログラム Active JP6471835B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016163578 2016-08-24
JP2016163578 2016-08-24
PCT/JP2017/021091 WO2018037666A1 (ja) 2016-08-24 2017-06-07 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018037666A1 true JPWO2018037666A1 (ja) 2018-12-27
JP6471835B2 JP6471835B2 (ja) 2019-02-20

Family

ID=61245873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018535470A Active JP6471835B2 (ja) 2016-08-24 2017-06-07 情報処理装置、制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US10860826B2 (ja)
JP (1) JP6471835B2 (ja)
TW (1) TWI700669B (ja)
WO (1) WO2018037666A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7435998B2 (ja) * 2019-09-17 2024-02-21 日本電気通信システム株式会社 物品位置管理装置、物品、物品位置管理システム、物品位置管理方法及びプログラム
JP7427851B2 (ja) * 2019-12-24 2024-02-06 ワム・グランド・デザイン株式会社 コード処理装置、コード処理方法、およびプログラム
JP7448281B2 (ja) * 2020-03-27 2024-03-12 日本電気通信システム株式会社 二次元マーカの認識装置、方法、プログラム及びシステム
JP7677426B2 (ja) * 2021-07-06 2025-05-15 日本電気株式会社 情報処理システム、方法、およびプログラム
JP7630145B2 (ja) * 2022-07-05 2025-02-17 ワム・システム・デザイン株式会社 グループコード、情報取得装置、情報取得方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074287A (ja) * 2000-08-30 2002-03-15 Denso Corp データ記憶媒体及び情報端末装置
JP2004295523A (ja) * 2003-03-27 2004-10-21 Brother Ind Ltd バーコード画像生成装置及びプログラム
JP2007219779A (ja) * 2006-02-16 2007-08-30 Fuji Xerox Co Ltd 二次元コード生成システムおよび二次元コード生成プログラム
JP2009295108A (ja) * 2008-06-09 2009-12-17 Denso Wave Inc 情報コード読取装置及び情報コード読取方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223201A (ja) * 1993-01-22 1994-08-12 Matsushita Electric Ind Co Ltd 並列画像生成装置
JP3514947B2 (ja) * 1997-06-05 2004-04-05 シャープ株式会社 3次元画像処理装置及び3次元画像処理方法
US6802450B2 (en) * 2002-08-07 2004-10-12 Shenzhen Syscan Technology Co. Ltd Guiding a scanning device to decode 2D symbols
DE10331447A1 (de) * 2003-07-10 2005-02-17 Western Investments Capital S. A. Meßanordnung
ITRM20040562A1 (it) * 2004-11-12 2005-02-12 St Microelectronics Srl Metodo di vettorializzazione di una immagine digitale.
JP6323040B2 (ja) 2014-02-12 2018-05-16 株式会社リコー 画像処理装置、画像処理方法およびプログラム
JP6215190B2 (ja) 2014-12-24 2017-10-18 株式会社メディア・ソリューション・センター 紙メディアを使用するマーケティングシステム
US11935044B2 (en) * 2018-08-09 2024-03-19 SSenStone Inc. System, method and program for providing financial transaction by virtual code, virtual code generator and virtual code verification device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002074287A (ja) * 2000-08-30 2002-03-15 Denso Corp データ記憶媒体及び情報端末装置
JP2004295523A (ja) * 2003-03-27 2004-10-21 Brother Ind Ltd バーコード画像生成装置及びプログラム
JP2007219779A (ja) * 2006-02-16 2007-08-30 Fuji Xerox Co Ltd 二次元コード生成システムおよび二次元コード生成プログラム
JP2009295108A (ja) * 2008-06-09 2009-12-17 Denso Wave Inc 情報コード読取装置及び情報コード読取方法

Also Published As

Publication number Publication date
WO2018037666A1 (ja) 2018-03-01
TWI700669B (zh) 2020-08-01
US10860826B2 (en) 2020-12-08
TW201807668A (zh) 2018-03-01
US20190347458A1 (en) 2019-11-14
JP6471835B2 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
JP6471835B2 (ja) 情報処理装置、制御方法、及びプログラム
US12373780B2 (en) Information processing apparatus, control method, and program
JP6202215B2 (ja) 情報処理装置、棚札管理システム、制御方法、及びプログラム
US9324304B2 (en) Information display apparatus, method thereof and program thereof
JP6202216B2 (ja) 情報処理装置、棚札管理システム、制御方法、及びプログラム
JP6397977B2 (ja) ドットパターン、ドットパターン形成媒体、ドットパターンの画像データを生成するプログラム、ドットパターン形成装置、光学装置、光学読み取り装置、情報入出力装置、ドットパターン読み取り装置
US20160292628A1 (en) Method, and storage medium
CN113065536B (zh) 处理表格的方法、计算设备和计算机可读存储介质
AU2017380263B2 (en) Method for detecting and recognising long-range high-density visual markers
JP6557525B2 (ja) 検品方法および検品システム
JP2015045952A (ja) 位置情報表示システム及び方法
US10740614B2 (en) Information processing device, information processing method, and program storing medium
JP2025056891A (ja) 情報処理装置、情報処理方法、及びプログラム
US20250322353A1 (en) Information processing apparatus, control method, and program
JP2006331322A (ja) 検索用タグ及びこれを使用した情報検索システム
TW201405346A (zh) 產生一圖像條碼與一導航圖像的方法、電腦程式產品及導航裝置
CN112257712A (zh) 一种火车票图像摆正方法、装置、计算机装置及计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180919

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180919

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6471835

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150