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

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

▶ 東芝テック株式会社の特許一覧

<>
  • 特開-通信装置及び情報処理プログラム 図1
  • 特開-通信装置及び情報処理プログラム 図2
  • 特開-通信装置及び情報処理プログラム 図3
  • 特開-通信装置及び情報処理プログラム 図4
  • 特開-通信装置及び情報処理プログラム 図5
  • 特開-通信装置及び情報処理プログラム 図6
  • 特開-通信装置及び情報処理プログラム 図7
  • 特開-通信装置及び情報処理プログラム 図8
  • 特開-通信装置及び情報処理プログラム 図9
  • 特開-通信装置及び情報処理プログラム 図10
  • 特開-通信装置及び情報処理プログラム 図11
  • 特開-通信装置及び情報処理プログラム 図12
  • 特開-通信装置及び情報処理プログラム 図13
  • 特開-通信装置及び情報処理プログラム 図14
  • 特開-通信装置及び情報処理プログラム 図15
  • 特開-通信装置及び情報処理プログラム 図16
  • 特開-通信装置及び情報処理プログラム 図17
  • 特開-通信装置及び情報処理プログラム 図18
  • 特開-通信装置及び情報処理プログラム 図19
  • 特開-通信装置及び情報処理プログラム 図20
  • 特開-通信装置及び情報処理プログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024110189
(43)【公開日】2024-08-15
(54)【発明の名称】通信装置及び情報処理プログラム
(51)【国際特許分類】
   G01S 13/84 20060101AFI20240807BHJP
   G06K 7/10 20060101ALI20240807BHJP
【FI】
G01S13/84
G06K7/10 264
G06K7/10 144
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023014625
(22)【出願日】2023-02-02
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】石川 浩由
(72)【発明者】
【氏名】中邑 公紀
【テーマコード(参考)】
5J070
【Fターム(参考)】
5J070AC01
5J070AC02
5J070AC20
5J070AD01
5J070AE20
5J070AF02
5J070AH25
5J070AH31
5J070AH34
5J070AK22
5J070BA01
(57)【要約】
【課題】所定範囲に対する無線タグの位置関係の判定精度を向上させる。
【解決手段】実施形態の通信装置は、アンテナと、取得部と、判定処理部と、出力部とを備える。前記取得部は、前記アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する。前記判定処理部は、前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する。前記出力部は、前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記判定処理部により前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する。
【選択図】図10

【特許請求の範囲】
【請求項1】
アンテナと、
前記アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する取得部と、
前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する判定処理部と、
前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記判定処理部により前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する出力部と、
を備える通信装置。
【請求項2】
前記無線タグに関する複数のタグデータに変曲点が存在し、かつ、前記無線タグに関する複数のタグデータのデータ数が条件を満たす場合、前記判定処理部は、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定する、請求項1に記載の通信装置。
【請求項3】
前記判定処理部は、前記無線タグに関する複数のタグデータに基づいて前記所定範囲内及び前記所定範囲外の一方又は両方に関する相関係数を計算し、前記相関係数が条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定する、請求項1に記載の通信装置。
【請求項4】
前記判定処理部は、互いに異なる複数の学習済モデルへの前記無線タグに関する複数のタグデータの入力に基づいて前記複数の学習済モデルから出力される前記所定範囲に対する前記無線タグの位置関係を示す複数のデータを取得し、前記所定範囲に対する前記無線タグの位置関係を示す複数のデータが条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定し、
前記複数の学習済モデルは、学習データに基づく機械学習により生成されたモデルであり、
前記学習データは、複数の無線タグに関する複数のタグデータ及び前記所定範囲に対する前記複数の無線タグの位置関係を示す複数のデータを含む、
請求項1に記載の通信装置。
【請求項5】
前記判定処理部は、学習済モデルへの前記無線タグに関する複数のタグデータの入力に基づいて前記学習済モデルから出力される前記無線タグが存在する範囲に関するレベルを示すデータを取得し、前記レベルを示すデータが条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定し、
前記学習済モデルは、学習データに基づく機械学習により生成されたモデルであり、
前記学習データは、複数の無線タグに関する複数のタグデータ及び前記所定範囲に対する前記複数の無線タグの位置関係を示す複数のデータを含む、
請求項1に記載の通信装置。
【請求項6】
コンピュータに、
アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する機能と、
前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する機能と、
前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する機能と、
を実行させるための情報処理プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置及び情報処理プログラムに関する。
【背景技術】
【0002】
物品に付された無線タグから送信される電波をアンテナで受信することにより、無線タグが所定範囲内か所定範囲外かを判定する装置がある。このような装置は、アンテナを移動させて無線タグの位相を検出する。装置は、検出された位相に基づいて無線タグが所定範囲内か所定範囲外かを判定する。
【0003】
しかしながら、所定範囲内の無線タグの数が多くなると、無線タグ同士が重なることがある。このような場合、装置による無線タグの位相の検出精度は低下する。これにより、アンテナを走査した際の位相データが欠落するので、位相のデータ数は減る。そのため、装置は、位相に基づいて無線タグが所定範囲内か所定範囲外かを判定することが難しい。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-219284号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態が解決しようとする課題は、所定範囲に対する無線タグの位置関係の判定精度を向上させる技術を提供することである。
【課題を解決するための手段】
【0006】
実施形態の通信装置は、アンテナと、取得部と、判定処理部と、出力部とを備える。前記取得部は、前記アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する。前記判定処理部は、前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する。前記出力部は、前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記判定処理部により前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する。
【図面の簡単な説明】
【0007】
図1図1は、第1の実施形態に係る通信システムの構成の一例を示すブロック図である。
図2図2は、第1の実施形態に係る読取装置の構成の一例を示すブロック図である。
図3図3は、第1の実施形態に係る計測データのデータ構造の一例を示す図である。
図4図4は、第1の実施形態に係る駆動装置の構成の一例を示すブロック図である。
図5図5は、第1の実施形態に係る駆動装置を説明するための模式図である。
図6図6は、第1の実施形態に係る第1の範囲及び第2の範囲を説明するための模式図である。
図7図7は、第1の実施形態に係る端末の構成の一例を示すブロック図である。
図8図8は、第1の実施形態に係る第1の範囲外の無線タグに関する複数の位相データの一例を示すグラフである。
図9図9は、第1の実施形態に係る第1の範囲内の無線タグに関する複数の位相データの一例を示すグラフである。
図10図10は、第1の実施形態に係る読取装置のプロセッサーによる判定処理の一例を示すフローチャートである。
図11図11は、第1の実施形態に係る端末のプロセッサーによる入力用画像の表示処理の一例を示すフローチャートである。
図12図12は、第1の実施形態に係る端末の表示デバイスに表示される入力用画像の一例を示す図である。
図13図13は、第1の実施形態に係る端末のプロセッサーによる一覧画像の表示処理の一例を示すフローチャートである。
図14図14は、第1の実施形態に係る読取装置のプロセッサーによる学習済モデルの生成処理の一例を示すフローチャートである。
図15図15は、第1の実施形態に係る通信システムの変形例を示すブロック図である。
図16図16は、第1の実施形態に係る推論装置の構成の一例を示すブロック図である。
図17図17は、第2の実施形態に係る読取装置のプロセッサーによる判定処理の一例を示すフローチャートである。
図18図18は、第3の実施形態に係る読取装置のプロセッサーによる判定処理の一例を示すフローチャートである。
図19図19は、第3の実施形態に係る読取装置のプロセッサーによる差分が第3の条件を満たすか否かの判定例を示す図である。
図20図20は、第3の実施形態に係る学習済モデルの生成に用いられる重みの初期値を説明する図である。
図21図21は、第4の実施形態に係る読取装置のプロセッサーによる判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
(第1の実施形態)
以下、第1の実施形態に係る通信システムについて図面を用いて説明する。なお、以下の第1の実施形態の説明に用いる各図面は、各部の縮尺を適宜変更している場合がある。また、以下の第1の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。
【0009】
(構成例)
図1は、通信システム1の構成の一例を示すブロック図である。
通信システム1は、通信装置10、端末400及び1以上の物品500に付された1以上の無線タグ600を含む。図1には、1つの物品500に付された1つの無線タグ600が示されるが、通信システム1は、複数の物品500に付された複数の無線タグ600を含んでもよい。なお、通信システム1は、通信装置10及び端末400を含むが、1つ以上の物品500を含まなくてもよい。通信システム1は、情報処理システムの一例である。
【0010】
通信装置10は、無線タグ600と無線通信する装置である。通信装置10は、倉庫内の検品等に適用することができるが、店舗であってもよく、通信装置10の適用例は、これに限定されない。通信装置10は、読取装置100、駆動装置200及びアンテナ300を含む。
【0011】
読取装置100は、駆動装置200及びアンテナ300を制御して、無線タグ600から情報を読み取る装置である。読取装置100は、駆動装置200及びアンテナ300を制御して、無線タグ600に関するタグデータを検出する装置でもある。検出は、計測の意味を含む。読取装置100の構成例については後述する。
【0012】
タグデータは、読取装置100により受信された無線タグ600の電波に基づいて時系列に検出されるデータである。無線タグ600の電波は、無線タグ600から送信された電波である。無線タグ600の電波は、無線タグ600からの電波ということもある。タグデータは、位相データ、ドップラー周波数データ及びRSSI(Received Signal Strength Indicator)データのうちの少なくとも1つを含む。位相データは、読取装置100により受信された無線タグ600の電波の位相を示すデータである。ドップラー周波数データは、読取装置100により受信された無線タグ600の電波の周波数を示すデータである。RSSIデータは、読取装置100により受信された無線タグ600の電波のRSSIを示すデータである。RSSIは、受信強度を示す。受信強度は、電波受信強度又は受信信号強度ともいう。
【0013】
駆動装置200は、アンテナ300を移動する装置である。アンテナ300を移動することは、アンテナ300の位置を移動することを含む。アンテナ300を移動することは、無線タグ600に対するアンテナ300の相対位置を移動することの一例である。アンテナ300の位置は、無線タグ600に対するアンテナ300の相対位置の一例である。駆動装置200の構成例については後述する。
【0014】
アンテナ300は、無線タグ600と通信する。アンテナ300は、電波を送信する。アンテナ300は、無線タグ600の電波を受信する。無線タグ600の電波は、アンテナ300から送信された電波に対する無線タグ600からの応答波の一例である。アンテナ300は、受信した電波を高周波信号に変換し、高周波信号を読取装置100に出力する。
【0015】
端末400は、読取装置100により無線タグ600から読み取られた情報を処理する装置である。端末400は、PC(Personal Computer)等であるが、情報を処理する装置であればよく、これに限定されない。端末400は、情報処理端末の一例である。端末400の構成例については後述する。
【0016】
物品500は、商品等である。
【0017】
無線タグ600は、第1の範囲に対する位置関係を判定する判定対象の無線タグである。例えば、第1の範囲に対する無線タグ600の位置関係は、無線タグ600が第1の範囲内又は無線タグ600が第1の範囲外である。第1の範囲に対する無線タグ600の位置関係を判定することは、無線タグ600が第1の範囲内又は第1の範囲外であると判定することを含む。無線タグ600が第1の範囲内であることは、無線タグ600が第1の範囲内に存在することを含む。無線タグ600が第1の範囲外であることは、無線タグ600が第1の範囲外に存在することを含む。無線タグ600が第1の範囲外であることは、無線タグ600が第1の範囲内ではないことを含む。ここでは、第1の範囲外となる範囲を第2の範囲ともいう。第1の範囲及び第2の範囲は、互いに重複しない異なる範囲である。例えば、第1の範囲及び第2の範囲は、3次元の範囲である。第2の範囲は、第1の範囲と隣接した第1の範囲以外の範囲でもよいし、第1の範囲と隣接しない第1の範囲とは異なる範囲でもよい。範囲は、領域の意味を含む。第1の範囲は、所定範囲の一例である。第1の範囲及び第2の範囲の例については後述する。無線タグ600は、第1の範囲内の無線タグの場合もある。無線タグ600は、第1の範囲外の無線タグの場合もある。
【0018】
無線タグ600は、ICチップ及びアンテナを含むICタグである。無線タグ600は、典型的にはRFID(Radio Frequency Identification)タグである。無線タグ600は、その他のICタグであってもよい。無線タグ600は、アンテナ300から送信された電波をエネルギー源として動作するパッシブ型の無線タグである。無線タグ600は、無変調信号に対してバックスキャッタ変調を行うことで、無線タグ600のICチップに格納されている情報を含む信号を、アンテナを介して送信する。無線タグ600に格納されている情報は、一意に識別可能な識別情報を含んでもよい。以下では、無線タグ600に格納されている識別情報は、「識別情報」と略記することもある。識別情報は、物品500に関するユニーク識別コードでもよい。識別情報は、無線タグ600に関する情報の一例である。
【0019】
読取装置100について、図2を用いて説明する。
図2は、読取装置100の構成の一例を示すブロック図である。
読取装置100は、プロセッサー101、ROM(Read-Only Memory)102、RAM(Random-Access Memory)103、第1接続インターフェース104、第2接続インターフェース105、高周波フロントエンド部106、デジタル振幅変調部107、DA(Digital to Analog)変換部108、AD(Analog to Digital)変換部109、復調部110及び記憶デバイス111を含む。読取装置100に含まれる各部は、バス112等によって接続される。
【0020】
プロセッサー101は、読取装置100の動作に必要な演算及び制御等の処理を行うコンピュータの中枢部分に相当する。プロセッサー101は、ROM102又は記憶デバイス111等に記憶された種々のプログラムをRAM103に展開する。プログラムは、プロセッサー101に種々の処理を実行させるためのプログラムである。プロセッサー101は、RAM103に展開されたプログラムを実行することで、後述する各部を実現し、種々の処理を実行する。
【0021】
プロセッサー101は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、SoC(System On a Chip)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field-Programmable Gate Array)等である。プロセッサー101は、これらのうちの複数を組み合わせたものであってもよい。プロセッサー101は、処理回路の一例である。
【0022】
ROM102は、プロセッサー101を中枢とするコンピュータの主記憶装置に相当する。ROM102は、専らデータの読み出しに用いられる不揮発性メモリである。ROM102は、上記のプログラムを記憶する。ROM102は、プロセッサー101が各種の処理を行う上で使用するデータ又は各種の設定値等を記憶する。
【0023】
RAM103は、プロセッサー101を中枢とするコンピュータの主記憶装置に相当する。RAM103は、データの読み書きに用いられるメモリである。RAM103は、プロセッサー101が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアである。
【0024】
第1接続インターフェース104は、読取装置100が駆動装置200と通信するためのインターフェースである。
【0025】
第2接続インターフェース105は、読取装置100が端末400と通信するためのインターフェースである。
【0026】
高周波フロントエンド部106は、アンテナ300へ高周波信号を出力する。高周波フロントエンド部106は、アンテナ300から高周波信号が入力される。
【0027】
デジタル振幅変調部107は、無線タグ600に送信するデータを、無線タグ600に送信する搬送波に付加する回路である。
【0028】
DA変換部108は、デジタル信号をアナログ信号に変換する回路である。DA変換部108は、デジタル振幅変調部107によって変調されたデジタル信号をアナログ信号に変換する。DA変換部108は、高周波フロントエンド部106を介して、高周波信号をアンテナ300に出力する。
【0029】
AD変換部109は、アナログ信号をデジタル信号に変換する回路である。AD変換部109は、高周波フロントエンド部106を介して、アンテナ300から入力された高周波信号をデジタル信号に変換する。
【0030】
復調部110は、アンテナ300により受信された無線タグ600の電波に基づいて情報を取得する回路である。例えば、復調部110は、公知の技術により、AD変換部109が変換したデジタル信号から、無線タグ600に格納されている情報を取得する。復調部110は、受信された無線タグ600の電波に基づいて無線タグ600に格納されている情報を取得する情報取得部の一例である。
【0031】
復調部110は、アンテナ300により受信された無線タグ600の電波に基づいてタグデータを時系列に検出する回路でもある。復調部110は、公知の技術により、AD変換部109によって変換されたデジタル信号から、位相データを時系列に検出することができる。復調部110は、公知の技術により、AD変換部109によって変換されたデジタル信号から、ドップラー周波数データを時系列に検出することができる。復調部110は、公知の技術により、AD変換部109によって変換されたデジタル信号から、RSSIデータを時系列に検出することができる。復調部110は、アンテナ300により受信された無線タグ600の電波に基づいてタグデータを検出する検出部の一例である。
【0032】
記憶デバイス111は、データ及びプログラム等を記憶する不揮発性メモリで構成される装置である。記憶デバイス111は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等で構成されるが、これらに限定されない。記憶デバイス111は、記憶部の一例である。
【0033】
記憶デバイス111は、計測データ記憶領域1111を含む。
計測データ記憶領域1111は、計測データを記憶する。
計測データは、無線タグ600毎に、タグデータセットを含む。タグデータセットは、アンテナ300の複数の位置における複数のタグデータを含む。タグデータは、駆動装置200による一方向に沿ったアンテナ300の移動に応じて復調部110により検出される。例えば、一方向は、水平方向である。タグデータセットは、アンテナ300の複数の位置データを含む。アンテナ300の複数の位置データは、アンテナ300の複数の位置を示すデータである。アンテナ300の複数の位置は、アンテナ300の移動に基づく複数の位置である。複数のタグデータのそれぞれは、アンテナ300の複数の位置データのそれぞれと関連付けられている。以下では、アンテナ300の複数の位置における複数のタグデータは、「複数のタグデータ」と表記することもある。
【0034】
アンテナ300の複数の位置は、ホームポジションに対応する位置0から位置Lまでの間の一定間隔の位置を含んでもよい。位置0から位置Lまでの間は、一方向に沿って移動するアンテナ300の走査範囲であるものとする。位置0は、第1の地点の一例である。位置Lは、第2の地点の一例である。一定間隔の値は、適宜設定可能である。位置Lは、適宜設定可能である。復調部110は、無線タグ600によっては、位置0から位置Lまでの間の一定間隔の位置の全部についてタグデータを検出することもある。復調部110は、無線タグ600によっては、位置0から位置Lまでの間の一定間隔の位置の一部でしかタグデータを検出しないこともある。計測データは、更新され得る。計測データの構成例については後述する。
【0035】
なお、記憶デバイス111が計測データを記憶する例について説明したが、これに限定されない。RAM103が計測データを記憶してもよい。この場合、RAM103は、記憶部の一例である。
【0036】
記憶デバイス111は、学習データ記憶領域1112を含む。
学習データ記憶領域1112は、学習データを記憶する。学習データは、機械学習に用いられるデータである。学習データは、複数の学習対象無線タグに関する複数の学習用タグデータセットを含む。学習対象無線タグは、無線タグ600と同様に構成された無線タグの一例である。
【0037】
学習用タグデータセットは、アンテナの複数の位置における複数の学習用タグデータを含むタグデータセットの一例である。学習用タグデータは、学習用無線タグに関するタグデータの一例である。学習用タグデータは、駆動装置による一方向に沿ったアンテナの移動に応じて読取装置によりアンテナで受信された学習対象無線タグの電波に基づいて検出される。例えば、一方向は、水平方向である。学習用タグデータは、学習用位相データ、学習用ドップラー周波数データ及び学習用RSSIデータのうちの少なくとも1つを含む。学習用タグデータセットは、アンテナの複数の位置データを含む。アンテナの複数の位置データは、アンテナの複数の位置を示すデータである。アンテナの複数の位置は、アンテナの移動に基づく複数の位置である。複数の学習用タグデータのそれぞれは、アンテナの複数の位置データのそれぞれと関連付けられている。
【0038】
学習対象無線タグは、第1の範囲内の無線タグの場合もある。学習対象無線タグは、第1の範囲外の無線タグの場合もある。複数の学習対象無線タグに関する複数の学習用タグデータセットは、複数の学習対象無線タグに関する複数の学習用タグデータの一例である。
【0039】
読取装置は、読取装置100と同一の読取装置であってもよいし、読取装置100とは異なる読取装置であってもよい。アンテナは、アンテナ300と同一のアンテナであってもよいし、アンテナ300とは異なるアンテナであってもよい。駆動装置は、駆動装置200と同一の駆動装置であってもよいし、駆動装置200とは異なる駆動装置であってもよい。
【0040】
学習データは、複数の正解データを含む。複数の正解データは、第1の範囲に対する複数の学習対象無線タグの位置関係を示す複数のデータである。正解データは、学習対象無線タグ毎に、第1の範囲に対する学習対象無線タグの位置関係を示すデータである。第1の範囲に対する学習対象無線タグの位置関係は、学習対象無線タグが第1の範囲内又は学習対象無線タグが第1の範囲外である。学習対象無線タグが第1の範囲内であることは、学習対象無線タグが第1の範囲内に存在することを含む。学習対象無線タグが第1の範囲外であることは、学習対象無線タグが第1の範囲外に存在することを含む。学習対象無線タグが第1の範囲外であることは、学習対象無線タグが第1の範囲内ではないことを含む。正解データは、ユーザにより入力されたデータである。学習データは、更新され得る。
【0041】
記憶デバイス111は、学習済モデル記憶領域1113を含む。
学習済モデル記憶領域1113は、学習済モデルを記憶する。学習済モデルは、学習データに基づく機械学習により生成されたモデルである。「生成」の表記は、新たに作成の態様だけでなく、更新の態様を含む。
【0042】
学習済モデルは、第1の範囲に対する無線タグ600の位置関係の判定に用いられる。学習済モデルは、無線タグ600毎に、判定用入力データの入力に基づいて、判定用出力データを出力する。判定用入力データは、アンテナ300の複数の位置における複数のタグデータを含む。判定用出力データは、第1の範囲に対する無線タグ600の位置関係を示すデータである。例えば、判定用出力データは、無線タグ600が第1の範囲内であることを示すデータ又は無線タグ600が第1の範囲外であることを示すデータである。
【0043】
バス112は、コントロールバス、アドレスバス及びデータバス等を含む。バス112は、読取装置100の各部で授受される信号を伝送する。
【0044】
なお、読取装置100のハードウェア構成は、上述の構成に限定されるものではない。読取装置100は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0045】
プロセッサー101よって実現される各部について説明する。
プロセッサー101は、移動制御部1011、通信制御部1012、取得部1013、判定処理部1014、出力部1015及びモデル処理部1016を実現する。プロセッサー101によって実現される各部は、各機能ということもできる。プロセッサー101によって実現される各部は、プロセッサー101、ROM102及びRAM103を含む制御部によって実現されるということもできる。
【0046】
移動制御部1011は、駆動装置200を制御することにより、一方向に沿ったアンテナ300の移動を制御する。
【0047】
通信制御部1012は、アンテナ300からの電波の送信の開始及び終了を制御する。
【0048】
取得部1013は、無線タグ600毎に、アンテナ300により受信された無線タグ600の電波に基づいてタグデータを取得する。
【0049】
判定処理部1014は、複数のタグデータが所定条件を満たすか否かを判定する。所定条件は、無線タグ600が判定不可の無線タグか否かを判定するための条件である。判定不可は、判定処理部1014が複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定しないことである。複数のタグデータが所定条件を満たす場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができない。この場合、無線タグ600は、判定不可の無線タグである。複数のタグデータが所定条件を満たさない場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。この場合、無線タグ600は、判定可能な無線タグである。
【0050】
所定条件は、複数のタグデータに変曲点が存在し、かつ、複数のタグデータのデータ数が第1の条件を満たすことである。変曲点については後述する。第1の条件は、データ数についての条件である。第1の条件は、無線タグ600が判定不可の無線タグか否かを判定するための条件である。第1の条件は、データ数が第1の閾値よりも少なく第2の閾値よりも多いことを例にして説明するが、これに限定されない。第1の閾値は、第2の閾値よりも大きい値である。第1の閾値及び第2の閾値は、適宜設定可能である。第1の閾値よりも少なく第2の閾値よりも多いことは、データ数が所定の数値範囲に含まれることの一例である。
【0051】
データ数が第1の閾値よりも少なく第2の閾値よりも多い場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができない。これは、データ数が多くない場合、複数のタグデータの分布が第1の範囲内の無線タグ600と第1の範囲外の無線タグ600とで類似するからである。他方、データ数が第1の閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。これは、データ数が第1の範囲に対する無線タグ600の位置関係の判定に十分である可能性が高いからである。データ数が第2の閾値以下である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。これは、無線タグ600が第1の範囲外である場合、アンテナ300と無線タグ600との距離が離れているので、データ数が元々少ない傾向にあるからである。データ数が少ない場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲外であると判定することができる。
【0052】
データ数が第1の閾値よりも少なく第2の閾値よりも多い場合、データ数は、第1の条件を満たす。他方、データ数が第1の閾値以上である場合、データ数は、第1の条件を満たさない。データ数が第2の閾値以下である場合、データ数は、第1の条件を満たさない。
【0053】
複数のタグデータに変曲点が存在し、かつ、複数のタグデータのデータ数が第1の条件を満たす場合、複数のタグデータは、所定条件を満たす。他方、複数のタグデータに変曲点が存在しない場合、複数のタグデータは、所定条件を満たさない。複数のタグデータに変曲点が存在し、かつ、複数のタグデータのデータ数が第1の条件を満たさない場合、複数のタグデータは、所定条件を満たさない。複数のタグデータが所定条件を満たさない場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。
【0054】
出力部1015は、複数のタグデータが所定条件を満たさない場合、判定結果を端末400に出力する。判定結果は、判定処理部1014により第1の範囲に対する位置関係を判定された無線タグ600についてのものである。判定結果は、判定処理部1014により判定された第1の範囲に対する無線タグ600の位置関係を示すデータを含む。例えば、判定結果は、無線タグ600が第1の範囲内であることを示すデータ又は無線タグ600が第1の範囲外であることを示すデータを含む。判定結果は、識別情報と関連付けられている。
【0055】
出力部1015は、複数のタグデータが所定条件を満たす場合、判定不可情報を端末400に出力する。判定不可情報は、判定処理部1014により第1の範囲に対する位置関係を判定されない無線タグ600に関する情報である。判定不可情報は、識別情報を含む。判定不可情報を端末400に出力するのは、端末400においてユーザに第1の範囲に対する無線タグ600の位置関係を入力させるためである。
【0056】
モデル処理部1016は、学習済モデルを生成する。
【0057】
図3は、計測データのデータ構造の一例を示す図である。
計測データは、無線タグ600毎に、タグデータセットを含む。タグデータセットは、アンテナ300の複数の位置における複数のタグデータを含む。タグデータセットは、位置0から位置Lまでの間の一定間隔aの位置の一部又は全部のそれぞれに関連付けられたタグデータを含む。タグデータセットは、位置0から位置Lまでの間の一定間隔aの位置とは異なる各位置に関連付けられたタグデータを含んでもよい。
【0058】
タグデータセットは、アンテナ300の複数の位置における複数の位相データを含んでもよい。位相の値は、アンテナ300の位置が変わるにつれて変化する。これは、アンテナ300が移動するにつれて、アンテナ300と無線タグ600との距離が変わるからである。位相の値はアンテナ300と無線タグ600との距離に依存するので、複数の位相データの分布は、無線タグ600の位置に応じて異なる。
【0059】
タグデータセットは、アンテナ300の複数の位置における複数のドップラー周波数データを含んでもよい。ドップラー周波数の値は、アンテナ300の位置が変わるにつれて変化する。これは、アンテナ300が無線タグ600に近づく場合と、アンテナ300が無線タグ600から離れる場合とで、ドップラー周波数の値が異なるからである。複数のドップラー周波数データの分布は、無線タグ600の位置に応じて異なる。
【0060】
タグデータセットは、アンテナ300の複数の位置における複数のRSSIデータを含んでもよい。RSSIの値は、アンテナ300の位置が変わるにつれて変化する。これは、アンテナ300が移動するにつれて、アンテナ300と無線タグ600との距離が変わるからである。RSSIの値はアンテナ300と無線タグ600との距離に依存するので、複数のRSSIデータの分布は、無線タグ600の位置に応じて異なる。
【0061】
駆動装置200について、図4及び図5を用いて説明する。
図4は、駆動装置200の構成の一例を示すブロック図である。
駆動装置200は、プロセッサー201、ROM202、RAM203、接続インターフェース204、駆動部205及びホームポジションセンサー206を含む。駆動装置200に含まれる各部は、バス208等によって接続される。
【0062】
プロセッサー201は、駆動装置200の動作に必要な演算及び制御等の処理を行うコンピュータの中枢部分に相当する。プロセッサー201は、ROM202等に記憶された種々のプログラムをRAM203に展開する。プログラムは、プロセッサー201に種々の処理を実行させるためのプログラムである。プロセッサー201は、RAM203に展開されたプログラムを実行することで、種々の処理を実行する。プロセッサー201は、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGA等である。プロセッサー201は、これらのうちの複数を組み合わせたものであってもよい。プロセッサー201は、処理回路の一例である。
【0063】
ROM202は、プロセッサー201を中枢とするコンピュータの主記憶装置に相当する。ROM202は、専らデータの読み出しに用いられる不揮発性メモリである。ROM202は、上記のプログラムを記憶する。ROM202は、プロセッサー201が各種の処理を行う上で使用するデータ又は各種の設定値等を記憶する。
【0064】
RAM203は、プロセッサー201を中枢とするコンピュータの主記憶装置に相当する。RAM203は、データの読み書きに用いられるメモリである。RAM203は、プロセッサー201が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアである。
【0065】
接続インターフェース204は、駆動装置200が読取装置100と通信するためのインターフェースである。
【0066】
駆動部205は、アンテナ300を移動する。例えば、駆動部205は、ステッピングモーターである。
【0067】
ホームポジションセンサー206は、アンテナ300が開始地点にあるか否かを検知するセンサーである。駆動部205がアンテナ300を第1の地点から第2の地点へ移動する場合、開始地点は、第1の地点である。駆動部205がアンテナ300を第2の地点から第1の地点へ移動する場合、開始地点は、第2の地点である。
【0068】
バス208は、コントロールバス、アドレスバス及びデータバス等を含む。バス208は、駆動装置200の各部で授受される信号を伝送する。
【0069】
図5は、駆動装置200を説明するための模式図である。
駆動装置200は、回転軸211、レール212及び移動ステージ213を含む。
【0070】
図5に例示するように、駆動装置200及びアンテナ300は、カウンター台700の下部に配置される。カウンター台700は、無線タグ600が付された物品500を載置する水平面を有する台である。カウンター台700は、載置部の一例である。カウンター台700は、通信システム1又は通信装置10に含まれていてもよい。
【0071】
回転軸211は、駆動部205の駆動力を伝達する。回転軸211とレール212にはネジの溝が形成されている。ネジの溝は、対向して連結している。このため、駆動部205が回転駆動すると、回転軸211が回転し、レール212が回転する。
【0072】
レール212は、一方向に沿って延在する。レール212には、アンテナ300が載置された移動ステージ213が取り付けられている。
【0073】
移動ステージ213は、ボールネジナットを備え、ボールネジナットによりレール212が回転すると、レール212に沿って一方向に移動する。すなわち、移動ステージ213は、図5に示すx軸に沿った水平方向に移動する。また、移動ステージ213は、レール212の回転方向に応じて、一方向に沿って往復移動する。このように、駆動装置200は、アンテナ300をレール212に沿って、x軸に沿った水平の一方向に往復移動させる。
【0074】
なお、駆動装置200のハードウェア構成は、上述の構成に限定されるものではない。駆動装置200は、適宜、上述の構成要素の省略及び変更並びに新たな構成要素の追加を可能とする。
【0075】
第1の範囲及び第2の範囲について説明する。
図6は、第1の範囲81及び第2の範囲82を説明するための模式図であり、カウンター台700を上方から見た平面図である。
【0076】
第1の範囲81及び第2の範囲82は、水平方向に分離された範囲である。第1の範囲81は、カウンター台700の水平面の中央部分に設定された範囲である。第2の範囲82は、カウンター台700の水平面の外周部分及びカウンター台700よりも水平方向の外に設定された範囲である。第2の範囲82は、第1の範囲81を囲むように設定されている。図6では、第2の範囲82は、第1の範囲81と隣接することなく間をあけて設定されているが、これに限定されない。第2の範囲82は、第1の範囲81と隣接していてもよい。
【0077】
なお、第1の範囲81及び第2の範囲82の設定は、これに限定されない。第1の範囲81は、カウンター台700の水平面の中央部分に設定された範囲であり、第2の範囲82は、カウンター台700の水平面の外周部分に設定された範囲であってもよい。第1の範囲81は、カウンター台700の水平面全体に設定された範囲であり、第2の範囲82は、カウンター台700よりも水平方向の外に設定された範囲であってもよい。第2の範囲82は、第1の範囲81を囲むように設定された範囲に限定されない。
【0078】
図7は、端末400の構成の一例を示すブロック図である。
端末400は、プロセッサー401、ROM402、RAM403、接続インターフェース404、記憶デバイス405、入力デバイス406及び表示デバイス407を含む。端末400に含まれる各部は、バス408等によって接続される。プロセッサー401の構成は、プロセッサー101の構成と同様であってもよい。ROM402の構成は、ROM102の構成と同様であってもよい。RAM403の構成は、RAM103の構成と同様であってもよい。接続インターフェース404は、端末400が読取装置100と通信するためのインターフェースである。記憶デバイス405の構成は、記憶デバイス111の構成と同様であってもよい。
【0079】
入力デバイス406は、ユーザ操作に基づく指示を入力可能なデバイスである。入力デバイス406は、押下可能なボタンを含んでいてもよい。入力デバイス406は、表示デバイス407と一体で構成されたタッチパネルを含んでいてもよい。
【0080】
表示デバイス407は、種々の画像を表示可能なデバイスである。表示デバイス407は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であるが、これらに限定されない。
【0081】
複数のタグデータにおける変曲点について説明する。
変曲点は、タグデータの傾きの反転するアンテナ300の位置である。一方向において変曲点となるアンテナ300の位置は、一方向において無線タグ600の存在する位置である。
【0082】
図8は、第1の範囲外の無線タグ600に関する複数の位相データの一例を示すグラフである。
横軸は、水平の一方向に沿ったアンテナ300の位置を示す。縦軸は、位相の値を示す。グラフは、任意の一つの無線タグ600について、位置0から位置Lまでの間の複数の位置のそれぞれにおける位相の値を示す。図8に示すグラフには、丸印で示すように、変曲点が存在する。アンテナ300と無線タグ600との距離が離れているので、データ数は、元々少ない。
【0083】
図9は、第1の範囲内の無線タグ600に関する複数の位相データの一例を示すグラフである。
無線タグ600は、第1の範囲内において1つ以上の他の無線タグ600と重なり合っているものとする。
横軸は、水平の一方向に沿ったアンテナ300の位置を示す。縦軸は、位相の値を示す。グラフは、任意の一つの無線タグ600について、位置0から位置Lまでの間の複数の位置のそれぞれにおける位相の値を示す。図9に示すグラフには、丸印で示すように変曲点が存在する。図9に示すグラフでは、位置0から位置Lまでの間の幾つかの位置で位相データが欠落している。これは、無線タグ600が第1の範囲内において1つ以上の他の無線タグ600と重なり合っているからである。
【0084】
図8に示す第1の範囲外のグラフと図9に示す第1の範囲内のグラフを比較すると、以下のことが分かる。第1の範囲内の無線タグ600に関する複数の位相データ及び第1の範囲外の無線タグ600に関する複数の位相データは、共に変曲点が存在する。第1の範囲内の無線タグ600に関する複数の位相データのデータ数及び第1の範囲外の無線タグ600に関する複数の位相データのデータ数は、共に少ない。そのため、複数の位相データの分布は、第1の範囲内の無線タグ600と第1の範囲外の無線タグ600とで類似する。
【0085】
(動作例)
通信システム1における処理について説明する。
以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0086】
読取装置100のプロセッサー101による判定処理について説明する。判定処理は、無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定する処理である。
【0087】
図10は、読取装置100のプロセッサー101による判定処理の一例を示すフローチャートである。
例えば、カウンター台700には、無線タグ600に格納されている情報を読み取る対象となる1つ以上の物品500が載せられているものとする。カウンター台700の近傍には、無線タグ600に格納されている情報を読み取る対象とならない1つ以上の物品500が存在することもある。
【0088】
読取装置100のプロセッサー101は、ユーザにより端末400で入力された判定処理の開始指示の取得に基づいて、判定処理を開始してもよい。
【0089】
ここでは、開始地点は、第1の地点であるものとする。そのため、駆動部205は、アンテナ300を一方向に第1の地点から第2の地点へ移動する。
【0090】
移動制御部1011は、アンテナ300が開始地点に存在するか否かを判定する(ACT1)。アンテナ300が開始地点に存在しない場合(ACT1、NO)、処理は、ACT1からACT2へ遷移する。アンテナ300が開始地点に存在する場合(ACT1、YES)、処理は、ACT1からACT3へ遷移する。
【0091】
移動制御部1011は、アンテナ300を開始地点へ移動するように制御する(ACT2)。ACT2では、例えば、移動制御部1011は、開始地点への移動指示を駆動装置200に送信する。開始地点への移動指示は、アンテナ300を開始地点へ移動させる指示である。駆動装置200のプロセッサー201は、読取装置100から開始地点への移動指示を受信する。プロセッサー201は、開始地点への移動指示に基づいて、アンテナ300を開始地点へ移動するように駆動部205を制御する。駆動部205は、プロセッサー201による制御に基づいて、アンテナ300を開始地点へ移動する。
【0092】
通信制御部1012は、アンテナ300からの電波送信の開始を制御する(ACT3)。ACT3では、例えば、通信制御部1012は、開始地点からのアンテナ300の移動の開始に基づいて、アンテナ300からの電波送信の開始を制御する。通信制御部1012は、駆動装置200からの移動開始通知に基づいてアンテナ300からの電波送信の開始を制御してもよい。移動開始通知は、開始地点からアンテナ300の移動が開始したことを示してもよい。アンテナ300は、無線タグ600に格納されている情報を読み取るための電波送信を開始する。
【0093】
移動制御部1011は、開始地点に対応する第1の地点から第2の地点までの一方向に沿ったアンテナ300の移動を制御する。例えば、移動制御部1011は、一方向に沿った移動指示を駆動装置200に送信する。一方向に沿った移動指示は、アンテナ300を第1の地点から第2の地点まで第1の方向に移動させる指示である。駆動装置200のプロセッサー201は、読取装置100から一方向に沿った移動指示を受信する。プロセッサー201は、一方向に沿った移動指示に基づいて、アンテナ300を第1の地点から第2の地点まで一方向に移動するように駆動部205を制御する。駆動部205は、プロセッサー201による制御に基づいて、アンテナ300を第1の地点から第2の地点まで一方向に移動する。
【0094】
取得部1013は、無線タグ600毎に、タグデータを取得する(ACT4)。ACT4では、例えば、取得部1013は、無線タグ600毎に、復調部110により検出されたタグデータを取得する。取得部1013がタグデータを取得した場合(ACT4、YES)、処理は、ACT4からACT5へ遷移する。取得部1013がタグデータを取得しない場合(ACT4、NO)、処理は、ACT4からACT6へ遷移する。
【0095】
取得部1013は、タグデータの取得に基づいて、計測データを構成するデータとして、タグデータを計測データ記憶領域1111に保存する(ACT5)。
【0096】
通信制御部1012は、アンテナ300の移動が終了したか否かを判定する(ACT6)。ACT6では、例えば、通信制御部1012は、第1の地点から第2の地点までのアンテナ300の移動が終了したか否かを判定する。通信制御部1012は、駆動装置200からの移動終了通知に基づいて、アンテナ300の移動が終了したと判定してもよい。移動終了通知は、第2の地点への到達によりアンテナ300の移動が終了したことを示してもよい。アンテナ300の移動が終了した場合(ACT6、YES)、処理は、ACT6からACT7へ遷移する。アンテナ300の移動が終了していない場合(ACT6、NO)、処理は、ACT6からACT4へ遷移する。
【0097】
取得部1013は、アンテナ300が第1の地点で移動を開始した後から第2の地点で移動を終了するまでの間、ACT4及びACT5の処理を繰り返す。
【0098】
ACT4では、取得部1013は、無線タグ600毎に、アンテナ300の複数の位置において復調部110により検出された複数のタグデータを取得する。取得部1013は、無線タグ600毎に、アンテナ300の複数の位置において復調部110により検出された複数の位相データ、ドップラー周波数データ又はRSSIデータを取得することができる。
【0099】
ACT5では、取得部1013は、無線タグ600毎に、複数の位置における複数のタグデータを計測データ記憶領域1111に保存する。取得部1013は、無線タグ600毎に、複数の位置における複数の位相データ、ドップラー周波数データ又はRSSIデータを計測データ記憶領域1111に保存することができる。
【0100】
通信制御部1012は、アンテナ300からの電波送信の終了を制御する(ACT7)。ACT7では、例えば、通信制御部1012は、アンテナ300の移動の終了に基づいて、アンテナ300からの電波送信の終了を制御する。アンテナ300の移動の終了は、第1の地点から第2の地点までの一方向に沿ったアンテナ300の移動の終了である。アンテナ300は、無線タグ600に格納されている情報を読み取るための電波送信を終了する。
【0101】
判定処理部1014は、1つの判定対象の無線タグ600を選択する(ACT8)。ACT8では、例えば、判定処理部1014は、タグデータセットが計測データ記憶領域1111に記憶されている1つ以上の無線タグ600から1つの判定対象の無線タグ600を選択する。判定処理部1014は、選択された判定対象の無線タグ600について、ACT9~ACT14の処理を実行する。
【0102】
判定処理部1014は、複数のタグデータに変曲点が存在するか否かを判定する(ACT9)。ACT9では、例えば、判定処理部1014は、複数のタグデータから変曲点を検出する。複数のタグデータに変曲点が存在する場合(ACT9、YES)、処理は、ACT9からACT10へ遷移する。複数のタグデータに変曲点が存在しない場合(ACT9、NO)、処理は、ACT9からACT12へ遷移する。
【0103】
判定処理部1014は、複数のタグデータのデータ数が第1の条件を満たすか否かを判定する(ACT10)。ACT10では、例えば、判定処理部1014は、複数のタグデータのデータ数をカウントする。データ数が第1の条件を満たす場合(ACT10、YES)、処理は、ACT10からACT11へ遷移する。データ数が第1の条件を満たさない場合(ACT10、NO)、処理は、ACT10からACT12へ遷移する。
【0104】
判定処理部1014は、上述のACT9及びACT10の処理により、複数のタグデータが所定条件を満たすか否かを判定する。複数のタグデータに変曲点が存在し、かつ、データ数が第1の条件を満たす場合、判定処理部1014は、複数のタグデータが所定条件を満たすと判定する。複数のタグデータが所定条件を満たす場合、プロセッサー101は、ACT11の処理を実行する。他方、複数のタグデータに変曲点が存在しない場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定する。複数のタグデータに変曲点が存在し、かつ、データ数が第1の条件を満たさない場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定する。複数のタグデータが所定条件を満たさない場合、プロセッサー101は、ACT12~ACT14の処理を実行する。判定処理部1014は、ACT12及びACT13の処理により、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。
【0105】
出力部1015は、第2接続インターフェース105を介して、判定不可情報を端末400に出力する(ACT11)。
【0106】
判定処理部1014は、学習済モデルに、判定用入力データを入力する(ACT12)。ACT12では、例えば、判定処理部1014は、計測データ記憶領域1111に記憶されている計測データに基づいて、判定用入力データを取得する。判定処理部1014は、学習済モデルに、取得した判定用入力データを入力する。
【0107】
判定処理部1014は、学習済モデルへの判定用入力データの入力に基づいて、学習済モデルから出力される判定用出力データを取得する(ACT13)。判定用出力データを取得することは、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定することの一例である。
【0108】
出力部1015は、第2接続インターフェース105を介して、判定結果を端末400に出力する(ACT14)。出力部1015は、第2接続インターフェース105を介して、読取装置100により読み取られた無線タグ600に格納されている情報を端末400に出力してもよい。端末400は、無線タグ600が第1の範囲内か否かに応じて、無線タグ600に格納されている情報の処理の要否を変えてもよい。端末400は、第1の範囲内の無線タグ600に格納されている情報を処理対象としてもよい。第1の範囲内の無線タグ600に格納されている情報を処理対象とすることは、第1の範囲内の無線タグ600を付された物品500を処理対象とすることを含む。端末400は、第1の範囲外の無線タグ600に格納されている情報を処理対象としなくてもよい。第1の範囲外の無線タグ600に格納されている情報を処理対象としないことは、第1の範囲外の無線タグ600を付された物品500を処理対象としないことを含む。
【0109】
判定処理部1014は、全ての判定対象の無線タグ600を選択したか否かを判定する(ACT15)。ACT15では、例えば、判定処理部1014は、タグデータセットが計測データ記憶領域1111に記憶されている全ての無線タグ600を選択したか否かを判定する。
【0110】
判定処理部1014が全ての判定対象の無線タグ600を選択した場合(ACT15、YES)、処理は、終了する。判定処理部1014が全ての判定対象の無線タグ600を選択していない場合(ACT15、NO)、処理は、ACT15からACT8へ遷移する。
【0111】
端末400のプロセッサー401による入力用画像の表示処理について説明する。
入力用画像の表示処理は、端末400の表示デバイス407に入力用画像を表示する処理である。入力用画像は、第1の範囲に対する位置関係を判定されない無線タグ600について、ユーザに第1の範囲に対する無線タグ600の位置関係を入力させるための画像である。ユーザは、入力デバイス406を介して、第1の範囲に対する無線タグ600の位置関係を入力することができる。ユーザは、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲内であることを入力することができる。ユーザは、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲外であることを入力することができる。
【0112】
図11は、端末400のプロセッサー401による入力用画像の表示処理の一例を示すフローチャートである。
【0113】
プロセッサー401は、接続インターフェース404を介して、判定不可情報を読取装置100から取得する(ACT21)。
【0114】
プロセッサー401は、判定不可情報に基づいて、入力用画像を表示デバイス407に表示する(ACT22)。ACT22では、例えば、プロセッサー401は、判定不可情報に含まれる識別情報に基づいて、無線タグ600を付された物品500の情報をサーバから取得する。物品500の情報は、物品500に固有な情報である。例えば、物品500に固有な情報は、物品500の名称を示す情報を含むが、これに限定されない。サーバは、識別情報毎に、識別情報と関連付けられた物品500の情報を記憶してもよい。プロセッサー401は、取得した物品500の情報を認識可能な態様で含む入力用画像を表示デバイス407に表示する。
【0115】
プロセッサー401は、ユーザ操作に基づく入力デバイス406を介した第1の範囲に対する無線タグ600の位置関係の入力を検出する(ACT23)。入力デバイス406を介して第1の範囲に対する無線タグ600の位置関係が入力されない場合(ACT23、NO)、プロセッサー401は、ACT23の処理を継続する。入力デバイス406を介して第1の範囲に対する無線タグ600の位置関係が入力された場合(ACT23、YES)、処理は、ACT23からACT24へ遷移する。
【0116】
プロセッサー401は、入力結果を記憶デバイス405に保存する(ACT24)。入力結果は、ユーザにより入力された第1の範囲に対する無線タグ600の位置関係を示すデータを含む。例えば、入力結果は、無線タグ600が第1の範囲内であることを示すデータ又は無線タグ600が第1の範囲外であることを示すデータを含む。入力結果は、識別情報と関連付けられている。なお、プロセッサー401は、入力結果をRAM403に保存してもよい。
【0117】
図12は、端末400の表示デバイス407に表示される入力用画像IMの一例を示す図である。
入力用画像IMは、物品500が第1の範囲内か否かをユーザに入力させるためのメッセージを含む。メッセージは、物品500の名称を含む。、
入力用画像IMは、物品500が第1の範囲内であることを選択するためのボタンBAを含む。物品500が第1の範囲内であることは、物品500に付された無線タグ600が第1の範囲内であることの一例である。ボタンBAは、無線タグ600が第1の範囲内であることを入力するためのキーの一例である。
【0118】
入力用画像IMは、物品500が第1の範囲外であることを選択するためのボタンBBを含む。物品500が第1の範囲外であることは、物品500に付された無線タグ600が第1の範囲外であることの一例である。ボタンBBは、無線タグ600が第1の範囲外であることを入力するためのキーの一例である。
【0119】
端末400のプロセッサー401による一覧画像の表示処理について説明する。
一覧画像の表示処理は、端末400の表示デバイス407に一覧画像を表示する処理である。一覧画像は、第1の範囲内の各無線タグ600を付された物品500の情報の一覧を示す画像である。第1の範囲内の無線タグ600は、第1の範囲に対する無線タグ600の位置関係として、判定処理部1014により第1の範囲内であると判定された無線タグ600の場合もある。第1の範囲内の無線タグ600は、第1の範囲に対する無線タグ600の位置関係として、ユーザによりにより第1の範囲内と入力された無線タグ600の場合もある。
【0120】
図13は、端末400のプロセッサー401による一覧画像の表示処理の一例を示すフローチャートである。
【0121】
プロセッサー401は、接続インターフェース404を介して、判定結果を読取装置100から取得する(ACT31)。ACT31では、例えば、プロセッサー401は、第1の範囲に対する位置関係を判定された1つ以上の無線タグ600のそれぞれについての判定結果を取得する。
【0122】
プロセッサー401は、第1の範囲に対する位置関係を判定された1つ以上の無線タグ600のそれぞれについての判定結果を記憶デバイス405に保存する(ACT32)。なお、プロセッサー401は、入力結果をRAM403に保存してもよい。
【0123】
プロセッサー401は、無線タグ600が第1の範囲内であることを示す1つ以上の判定結果を記憶デバイス405から抽出する(ACT33)。プロセッサー401は、抽出した1つ以上の判定結果のそれぞれに関連付けられている識別情報を取得する。プロセッサー401は、取得した識別情報毎に、無線タグ600を付された物品500の情報をサーバから取得する。
【0124】
プロセッサー401は、1つ以上の入力結果が記憶デバイス405に記憶されているか否かを判定する(ACT34)。1つ以上の入力結果が記憶デバイス405に記憶されている場合(ACT34、YES)、処理は、ACT34からACT35へ遷移する。1つ以上の入力結果が記憶デバイス405に記憶されていない場合(ACT34、NO)、処理は、ACT34からACT36へ遷移する。
【0125】
プロセッサー401は、無線タグ600が第1の範囲内であることを示す1つ以上の入力結果を記憶デバイス405から抽出する(ACT35)。プロセッサー401は、抽出した1つ以上の入力結果のそれぞれに関連付けられている識別情報を取得する。プロセッサー401は、取得した識別情報毎に、無線タグ600を付された物品500の情報をサーバから取得する。
【0126】
プロセッサー401は、一覧画像を表示デバイス407に表示する(ACT36)。無線タグ600が第1の範囲内であることを示す1つ以上の入力結果が記憶デバイス405に記憶されていない場合を想定する。この場合、一覧画像は、無線タグ600が第1の範囲内であることを示す1つ以上の判定結果に基づいて取得した各無線タグ600を付された物品500の情報を示す。無線タグ600が第1の範囲内であることを示す1つ以上の入力結果が記憶デバイス405に記憶されている場合を想定する。この場合、一覧画像は、無線タグ600が第1の範囲内であることを示す1つ以上の判定結果に基づいて取得した各無線タグ600を付された物品500の情報を示す。一覧画像は、無線タグ600が第1の範囲内であることを示す1つ以上の入力結果に基づいて取得した各無線タグ600を付された物品500の情報を示す。
【0127】
読取装置100のプロセッサー101による学習済モデルの生成処理について説明する。学習済モデルの生成処理は、学習済モデルを生成する処理である。
図14は、読取装置100のプロセッサー101による学習済モデルの生成処理の一例を示すフローチャートである。
モデル処理部1016は、任意のタイミングで学習済モデルの生成処理を開始し、学習済モデルを新たに作成してもよい。モデル処理部1016は、任意のタイミングで学習済モデルの生成処理を開始し、学習済モデルを更新してもよい。
【0128】
モデル処理部1016は、学習データを取得する(ACT41)。ACT41では、例えば、モデル処理部1016は、学習データ記憶領域1112から学習データを取得する。
【0129】
モデル処理部1016は、学習データに基づく機械学習により、学習済モデルを生成する(ACT42)。ACT42では、例えば、モデル処理部1016は、機械学習により、学習データを学習する。モデル処理部1016は、アンテナの複数の位置における複数の学習用タグデータと、第1の範囲に対する学習対象無線タグの位置関係を示す正解データとの関係を推定する。モデル処理部1016は、推定に基づいて学習済モデルを生成する。機械学習は、ニューラルネットワーク等であるが、これに限定されない。
【0130】
複数の学習用位相データは、アンテナと学習用無線タグとの距離によって変化する。複数の学習用位相データの分布は、学習用無線タグの位置に応じて異なる。アンテナの複数の位置における複数の学習用位相データと、学習用無線タグの位置との間には、一定の相関関係があり得る。複数の学習用ドップラー周波数データは、アンテナ300が無線タグ600に近づく場合と、アンテナ300が無線タグ600から離れる場合とで異なる。複数の学習用ドップラー周波数データの分布は、学習用無線タグの位置に応じて異なる。アンテナの複数の位置における複数の学習用ドップラー周波数データと、学習用無線タグの位置との間には、一定の相関関係があり得る。複数の学習用RSSIデータは、アンテナと学習用無線タグとの距離によって変化する。複数の学習用RSSIデータの分布は、学習用無線タグの位置に応じて異なる。アンテナの複数の位置における複数の学習用RSSIデータと、学習用無線タグの位置との間には、一定の相関関係があり得る。このように、アンテナの複数の位置における複数の学習用タグデータと、学習用無線タグの位置との間には、一定の相関関係があり得る。
【0131】
モデル処理部1016は、生成した学習済モデルを学習済モデル記憶領域1113に保存する(ステップS43)。
【0132】
なお、学習済モデルの生成は、読取装置100以外の装置によって実現されてもよい。
【0133】
(変形例)
通信システム1の変形例について説明する。
図15は、通信システム1の変形例を示すブロック図である。
この変形例では、通信装置10は、推論装置900を含む。推論装置900は、学習済モデルに関する処理を実行可能な装置である。読取装置100は、読取装置100が推論装置900と通信するための第3接続インターフェースを含む。
【0134】
図16は、推論装置900の構成の一例を示すブロック図である。
推論装置900は、プロセッサー901、ROM902、RAM903、接続インターフェース904及び記憶デバイス905を含む。推論装置900に含まれる各部は、バス906等によって接続される。プロセッサー901の構成は、プロセッサー101の構成と同様であってもよい。ROM902の構成は、ROM102の構成と同様であってもよい。RAM903の構成は、RAM103の構成と同様であってもよい。接続インターフェース904は、推論装置900が読取装置100と通信するためのインターフェースである。記憶デバイス905の構成は、記憶デバイス111の構成と同様であってもよい。
【0135】
記憶デバイス905は、上述の学習データを記憶する。記憶デバイス905は、上述の学習済モデルを記憶する。
プロセッサー901は、学習済モデルに、無線タグ600毎に、判定用入力データを入力する。プロセッサー901は、無線タグ600毎に、学習済モデルへの判定用入力データの入力に基づいて学習済モデルから出力される判定用出力データを取得する。プロセッサー901は、学習データに基づく機械学習により、学習済モデルを生成する。
【0136】
変形例における読取装置100及び推論装置900の動作例について説明する。
読取装置100の判定処理部1014は、第3接続インターフェースを介して、複数のタグデータが所定条件を満たさない無線タグ600についてのタグデータセットを推論装置900に送信する。推論装置900のプロセッサー901は、接続インターフェース904を介して、タグデータセットを読取装置100から受信する。プロセッサー901は、タグデータセットに基づいて、学習済モデルに、判定用入力データを入力する。プロセッサー901は、学習済モデルへの判定用入力データの入力に基づいて、学習済モデルから出力される判定用出力データを取得する。プロセッサー901は、接続インターフェース904を介して、判定用出力データを読取装置100に送信する。読取装置100の判定処理部1014は、第3接続インターフェースを介して、判定用出力データを推論装置900から受信する。判定用出力データを受信することは、判定用出力データを取得することの一例である。
【0137】
通信システム1の別の変形例について説明する。
この変形例では、通信装置10は、一方向に移動する複数のアンテナ300を含んでもよい。この例では、判定処理部1014は、複数のアンテナ300のそれぞれ複数のタグデータに基づいて、複数のタグデータが所定条件を満たすか否かを判定してもよい。複数のアンテナ300に含まれる第1のアンテナについては、複数のタグデータに変曲点が存在し、かつ、データ数が第1の閾値よりも少なく第2の閾値よりも多いものとする。複数のアンテナ300に含まれる第2のアンテナについて、複数のタグデータに変曲点が存在し、かつ、データ数が第2の閾値以下であるものとする。この場合、判定処理部1014は、複数のタグデータが所定条件を満たすと判定してもよい。他方、複数のアンテナ300に含まれる第1のアンテナについては、複数のタグデータに変曲点が存在し、かつ、データ数が第1の閾値よりも少なく第2の閾値よりも多いものとする。複数のアンテナ300に含まれる第2のアンテナについて、複数のタグデータに変曲点が存在し、かつ、データ数が第1の閾値以上であるものとする。この場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定してもよい。
【0138】
所定の条件の変形例について説明する。
所定条件は、複数のタグデータに変曲点が存在し、かつ、複数のタグデータのデータ数が第1の条件を満たすことである例について説明したが、これに限定されない。所定条件は、複数のタグデータのデータ数が第1の条件を満たすことであってもよい。
【0139】
(効果)
通信装置10は、複数のタグデータに変曲点が存在し、かつ、複数のタグデータのデータ数が第1の条件を満たす場合、通信装置10は、複数のタグデータが所定条件を満たすと判定する。通信装置10は、複数のタグデータが所定条件を満たさない場合、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。他方、通信装置10は、複数のタグデータが所定条件を満たす場合、判定不可情報を出力する。
このように、通信装置10は、複数のタグデータが所定条件を満たすか否かに応じて、第1の範囲に対する無線タグ600の位置関係の判定の要否を変える。通信装置10は、位置関係の判定精度を確保することのできない無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定しない。通信装置10は、この無線タグ600について、ユーザに第1の範囲に対する無線タグ600の位置関係を入力させることができる。したがって、通信装置10は、第1の範囲に対する無線タグ600の位置関係の判定精度を向上させることができる。
【0140】
(第2の実施形態)
以下、第2の実施形態に係る通信システムについて図面を用いて説明する。
第1の実施形態と同様の構成については同一の符号を付し、その説明を省略する。第2の実施形態では、主として、第1の実施形態と異なる部分について説明する。各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【0141】
第2の実施形態は、所定条件が第1の実施形態とは異なる。所定条件は、無線タグ600の相関係数が第2の条件を満たすことである。以下では、無線タグ600の相関係数は、「相関係数」と略記することもある。相関係数は、第1の範囲内及び第1の範囲外の一方又は両方に関する相関係数である。相関係数が第1の範囲内及び第1の範囲外の両方に関する相関係数である場合、相関係数は、第1の範囲内に関する相関係数及び第1の範囲外に関する相関係数を含む。相関係数が第1の範囲内及び第1の範囲外の一方に関する相関係数である場合、相関係数は、第1の範囲内に関する相関係数又は第1の範囲外に関する相関係数を含む。第1の範囲内に関する相関係数は、無線タグ600と第1の範囲内の無線タグとの相関を示す値である。第1の範囲外に関する相関係数は、無線タグ600と第1の範囲外の無線タグとの相関を示す値である。
【0142】
判定処理部1014は、相関関数を用いて、複数のタグデータに基づいて相関係数を計算する。例えば、判定処理部1014は、(式1)に示される相関関数を用いて、相関係数を計算する。相関関数は、(式1)に示される関数に限定されない。
【数1】
rは、相関係数である。nは、データ数(x、y)の個数である。xは、xの値である。yは、yの値である。xは、xの平均である。yは、yの平均である。相関係数は、1に近づくほど正の相関が強くなる。相関係数は、0に近づくほど相関がなくなる。
相関係数は、-1に近づくほど負の相関が強くなる。
【0143】
判定処理部1014は、複数のタグデータ及び第1の範囲内の無線タグに関する比較用タグデータセットに基づいて第1の範囲内に関する相関係数を計算することができる。第1の範囲内の無線タグに関する比較用タグデータセットは、複数の比較用タグデータを含む。比較用タグデータは、第1の範囲内の無線タグに関するタグデータの一例である。複数の比較用タグデータのそれぞれは、アンテナの複数の位置データのそれぞれと関連付けられている。複数の比較用タグデータは、予め取得されたデータである。以下では、第1の範囲内の無線タグに関する比較用タグデータセットは、第1の範囲内の比較用タグデータセットともいう。この例では、(式1)におけるxについてのデータは、複数のタグデータである。(式1)におけるyについてのデータは、第1の範囲内の比較用タグデータセットに含まれる複数の比較用タグデータである。なお、判定処理部1014は、複数のタグデータ及び複数の第1の範囲内の比較用タグデータセットに基づいて、複数の第1の範囲内に関する相関係数を計算してもよい。複数の第1の範囲内の比較用タグデータセットは、第1の範囲内の異なる位置の無線タグに関する比較用タグデータセットである。
【0144】
判定処理部1014は、複数のタグデータ及び第1の範囲外の無線タグに関する比較用タグデータセットに基づいて第1の範囲外に関する相関係数を計算することができる。第1の範囲外の無線タグに関する比較用タグデータセットは、複数の比較用タグデータを含む。比較用タグデータは、第1の範囲外の無線タグに関するタグデータの一例である。複数の比較用タグデータのそれぞれは、アンテナの複数の位置データのそれぞれと関連付けられている。複数の比較用タグデータは、予め取得されたデータである。以下では、第1の範囲外の無線タグに関する比較用タグデータセットは、第1の範囲外の比較用タグデータセットともいう。この例では、(式1)におけるxについてのデータは、複数のタグデータである。(式1)におけるyについてのデータは、第1の範囲外の比較用タグデータセットに含まれる複数の比較用タグデータである。なお、判定処理部1014は、複数のタグデータ及び複数の第1の範囲外の比較用タグデータセットに基づいて、複数の第1の範囲外に関する相関係数を計算してもよい。複数の第1の範囲外の比較用タグデータセットは、第1の範囲外の異なる位置の無線タグに関する比較用タグデータセットである。
【0145】
判定処理部1014は、複数のタグデータの全てのデータを用いて相関係数を計算してもよい。判定処理部1014は、複数のタグデータの一部のデータを用いて相関係数を計算してもよい。複数のタグデータの一部のデータは、複数のタグデータのうち、変曲点のタグデータを含む範囲のデータでもよい。複数のタグデータの一部のデータは、複数のタグデータのうち、変曲点のタグデータを含まない範囲のデータでもよい。
【0146】
第2の条件は、相関係数についての条件である。第2の条件は、無線タグ600が判定不可の無線タグか否かを判定するための条件である。第2の条件は、相関係数が閾値未満であることを例にして説明するが、これに限定されない。第2の条件は、相関係数の絶対値が閾値未満であることでもよい。第1の範囲内に関する相関係数に対する閾値は、第1の範囲外に関する相関係数に対する閾値と同じでも異なってもよい。閾値は、適宜設定可能である。相関係数が閾値未満であること又は相関係数の絶対値が閾値未満であることは、所定の数値範囲に含まれることの一例である。
【0147】
相関係数が第1の範囲内に関する相関係数及び第2の範囲外に関する相関係数を含む場合について説明する。この場合、相関係数が閾値未満であることは、第1の範囲内に関する相関係数が閾値未満及び第1の範囲外に関する相関係数が閾値未満であることでもよい。相関係数が閾値以上であることは、第1の範囲内に関する相関係数が閾値以上又は第1の範囲外に関する相関係数が閾値以上であることでもよい。相関係数が第1の範囲内に関する相関係数を含み、第1の範囲外に関する相関係数を含まない場合について説明する。相関係数が閾値未満であることは、第1の範囲内に関する相関係数が閾値未満であることでもよい。相関係数が閾値以上であることは、第1の範囲内に関する相関係数が閾値以上であることでもよい。相関係数が第1の範囲外に関する相関係数を含み、第1の範囲内に関する相関係数を含まない場合について説明する。相関係数が閾値未満であることは、第1の範囲外に関する相関係数が閾値未満であることでもよい。相関係数が閾値以上であることは、第1の範囲外に関する相関係数が閾値以上であることでもよい。
【0148】
判定処理部1014が複数の第1の範囲内に関する相関係数を計算する場合について説明する。第1の範囲内に関する相関係数が閾値未満であることは、複数の第1の範囲内に関する相関係数の全てが閾値未満であることでもよい。第1の範囲内に関する相関係数が閾値以上であることは、複数の第1の範囲内に関する相関係数のうちの少なくとも1つが閾値以上であることでもよい。判定処理部1014が複数の第1の範囲外に関する相関係数を計算する場合について説明する。第1の範囲外に関する相関係数が閾値未満であることは、複数の第1の範囲外に関する相関係数の全てが閾値未満であることでもよい。第1の範囲外に関する相関係数が閾値以上であることは、複数の第1の範囲外に関する相関係数のうちの少なくとも1つが閾値以上であることでもよい。
【0149】
相関係数が閾値未満である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができない。これは、第1の範囲内に関する相関係数が閾値未満である場合、無線タグ600と第1の範囲内の無線タグとの相関が低いからである。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することが難しい。同様に、第1の範囲外に関する相関係数が閾値未満である場合、無線タグ600と第1の範囲外の無線タグとの相関は低い。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することが難しい。
【0150】
他方、相関係数が閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。これは、第1の範囲内に関する相関係数が閾値以上である場合、無線タグ600と第1の範囲内の無線タグとの相関が高いからである。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することができる。同様に、第1の範囲外に関する相関係数が閾値以上である場合、無線タグ600と第1の範囲外の無線タグとの相関は高い。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することができる。
【0151】
相関係数が閾値未満である場合、相関係数は、第2の条件を満たす。相関係数が第2の条件を満たす場合、複数のタグデータは、所定条件を満たす。他方、相関係数が閾値以上である場合、相関係数は、第2の条件を満たさない。相関係数が第2の条件を満たさない場合、複数のタグデータは、所定条件を満たさない。
【0152】
(構成例)
通信システム1の構成例は、第1の実施形態で説明した通信システム1と同様であるので、その説明を省略する。読取装置100の構成例は、第1の実施形態で説明した読取装置100と同様であるので、その説明を省略する。駆動装置200の構成例は、第1の実施形態で説明した駆動装置200と同様であるので、その説明を省略する。端末400の構成例は、第1の実施形態で説明した端末400と同様であるので、その説明を省略する。
【0153】
(動作例)
通信システム1における処理について説明する。
以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0154】
図17は、読取装置100のプロセッサー101による判定処理の一例を示すフローチャートである。
例えば、カウンター台700には、無線タグ600に格納されている情報を読み取る対象となる1つ以上の物品500が載せられているものとする。カウンター台700の近傍には、無線タグ600に格納されている情報を読み取る対象とならない1つ以上の物品500が存在することもある。
【0155】
読取装置100のプロセッサー101は、ユーザにより端末400で入力された判定処理の開始指示の取得に基づいて、判定処理を開始してもよい。
【0156】
ここでは、開始地点は、第1の地点であるものとする。そのため、駆動部205は、アンテナ300を一方向に第1の地点から第2の地点へ移動する。
【0157】
ACT51~ACT58の処理は、第1の実施形態で説明したACT1~ACT8の処理と同様である。判定処理部1014は、選択された判定対象の無線タグ600について、ACT59~ACT64の処理を実行する。
【0158】
判定処理部1014は、複数のタグデータに基づいて相関係数を計算する(ACT59)。
【0159】
判定処理部1014は、相関係数が第2の条件を満たすか否かを判定する(ACT60)。相関係数が第2の条件を満たす場合(ACT60、YES)、処理は、ACT60からACT61へ遷移する。相関係数が第2の条件を満たさない場合(ACT60、NO)、処理は、ACT60からACT62へ遷移する。
【0160】
判定処理部1014は、上述のACT60の処理により、複数のタグデータが所定条件を満たすか否かを判定する。相関関数が第2の条件を満たす場合、判定処理部1014は、複数のタグデータが所定条件を満たすと判定する。複数のタグデータが所定条件を満たす場合、プロセッサー101は、ACT61の処理を実行する。他方、相関関数が第2の条件を満たさない場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定する。複数のタグデータが所定条件を満たさない場合、プロセッサー101は、ACT62~ACT64の処理を実行する。ACT61~ACT65の処理は、第1の実施形態で説明したACT11~ACT15の処理と同様である。
【0161】
端末400のプロセッサー401による入力用画像の表示処理は、第1の実施形態で説明した入力用画像の表示処理と同様であるので、その説明を省略する。端末400のプロセッサー401による一覧画像の表示処理は、第1の実施形態で説明した一覧画像の表示処理と同様であるので、その説明を省略する。
【0162】
読取装置100のプロセッサー101による学習済モデルの生成処理は、第1の実施形態で説明した学習済モデルの生成処理と同様であるので、その説明を省略する。
【0163】
(変形例)
通信システム1は、第1の実施形態で説明したように推論装置900を含んでいてもよい。推論装置900の構成例は、第1の実施形態で説明した推論装置900と同様であるので、その説明を省略する。
【0164】
第2の条件は、相関係数に代えて、タグデータの変化量についての条件でもよい。例えば、第2の条件は、タグデータの変化量が閾値未満であることでもよい。
【0165】
(効果)
通信装置10は、相関係数が第2の条件を満たす場合、複数のタグデータが所定条件を満たすと判定する。通信装置10は、複数のタグデータが所定条件を満たさない場合、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。他方、通信装置10は、複数のタグデータが所定条件を満たす場合、判定不可情報を出力する。
このように、通信装置10は、相関係数が第2の条件を満たすか否かに応じて、第1の範囲に対する無線タグ600の位置関係の判定の要否を変える。通信装置10は、位置関係の判定精度を確保することのできない無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定しない。通信装置10は、この無線タグ600について、ユーザに第1の範囲に対する無線タグ600の位置関係を入力させることができる。したがって、通信装置10は、第1の範囲に対する無線タグ600の位置関係の判定精度を向上させることができる。
【0166】
(第3の実施形態)
以下、第3の実施形態に係る通信システムについて図面を用いて説明する。
第1の実施形態と同様の構成については同一の符号を付し、その説明を省略する。第3の実施形態では、主として、第1の実施形態と異なる部分について説明する。各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【0167】
第3の実施形態は、所定条件が第1の実施形態とは異なる。所定条件は、複数の学習済モデルから取得される第1の範囲に対する無線タグ600の位置関係を示す複数のデータが第3の条件を満たすことである。複数の学習済モデルは、同じ学習データに基づく機械学習により生成されたモデルであるが、互いに異なる学習済モデルである。例えば、複数の学習済モデルは、重みの初期値が互いに異なる学習済モデルであるが、異なる態様は、これに限定されない。複数の学習済モデルの数は、適宜設定可能である。重みの初期値については後述する。学習データは、第1の実施形態で説明した学習データと同様である。学習済モデルに入力される判定用入力データは、第1の実施形態で説明した判定用入力データと同様である。学習済モデルから出力される判定用出力データは、第1の実施形態で説明した判定用出力データと同様である。
【0168】
第3の条件は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータについての条件である。第3の条件は、無線タグ600が判定不可の無線タグか否かを判定するための条件である。第3の条件は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータに基づく第1の値と第2の値との差分が閾値未満であることを例にして説明するが、これに限定されない。第1の値は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータのうち、無線タグ600が第1の範囲内であることを示すデータの数である。第2の値は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータのうち、無線タグ600が第1の範囲外であることを示すデータの数である。差分は、第1の値及び第2の値のうちの大きい値から小さい値を引いて得られる数である。閾値は、適宜設定可能である。第3の条件は、第1の値及び第2の値が閾値未満であることでもよい。
【0169】
差分が閾値未満である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができない。これは、無線タグ600が第1の範囲内である可能性と無線タグ600が第1の範囲外である可能性が拮抗しているからである。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することが難しい。
【0170】
他方、差分が閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。差分が第1の値から第2の値を引いて得られる値である場合、無線タグ600が第1の範囲内である可能性は、無線タグ600が第1の範囲外である可能性よりも明らかに高い。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することができる。差分が第2の値から第1の値を引いて得られる値である場合、無線タグ600が第1の範囲外である可能性は、無線タグ600が第1の範囲内である可能性よりも明らかに高い。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することができる。
【0171】
差分が閾値未満である場合、差分は、第3の条件を満たす。差分が第3の条件を満たすことは、第1の範囲に対する無線タグ600の位置関係を示す複数のデータが第3の条件を満たすことの一例である。差分が第3の条件を満たす場合、複数のタグデータは、所定条件を満たす。他方、差分が閾値以上である場合、差分は、第3の条件を満たさない。差分が第3の条件を満たさないことは、第1の範囲に対する無線タグ600の位置関係を示す複数のデータが第3の条件を満たさないことの一例である。差分が第3の条件を満たさない場合、複数のタグデータは、所定条件を満たさない。
【0172】
(構成例)
通信システム1の構成例は、第1の実施形態で説明した通信システム1と同様であるので、その説明を省略する。読取装置100の構成例は、第1の実施形態で説明した読取装置100と同様であるが、学習済モデル記憶領域1113は、複数の学習済モデルを記憶する。駆動装置200の構成例は、第1の実施形態で説明した駆動装置200と同様であるので、その説明を省略する。端末400の構成例は、第1の実施形態で説明した端末400と同様であるので、その説明を省略する。
【0173】
(動作例)
通信システム1における処理について説明する。
以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0174】
図18は、読取装置100のプロセッサー101による判定処理の一例を示すフローチャートである。
例えば、カウンター台700には、無線タグ600に格納されている情報を読み取る対象となる1つ以上の物品500が載せられているものとする。カウンター台700の近傍には、無線タグ600に格納されている情報を読み取る対象とならない1つ以上の物品500が存在することもある。
【0175】
読取装置100のプロセッサー101は、ユーザにより端末400で入力された判定処理の開始指示の取得に基づいて、判定処理を開始してもよい。
【0176】
ここでは、開始地点は、第1の地点であるものとする。そのため、駆動部205は、アンテナ300を一方向に第1の地点から第2の地点へ移動する。
【0177】
ACT71~ACT78の処理は、第1の実施形態で説明したACT1~ACT8の処理と同様である。判定処理部1014は、選択された判定対象の無線タグ600について、ACT79~ACT86の処理を実行する。
【0178】
判定処理部1014は、1つの学習済モデルを選択する(ACT79)。ACT79では、例えば、判定処理部1014は、学習済モデル記憶領域1113に記憶されている複数の学習済モデルから1つの学習済モデルを選択する。判定処理部1014は、選択された学習済モデルについて、ACT80及びACT81の処理を実行する。
【0179】
判定処理部1014は、学習済モデルに、判定用入力データを入力する(ACT80)。ACT80では、例えば、判定処理部1014は、計測データ記憶領域1111に記憶されている計測データに基づいて、判定用入力データを取得する。判定処理部1014は、学習済モデルに、取得した判定用入力データを入力する。
【0180】
判定処理部1014は、学習済モデルへの判定用入力データの入力に基づいて、学習済モデルから出力される判定用出力データを取得する(ACT81)。
【0181】
判定処理部1014は、全ての学習済モデルを選択したか否かを判定する(ACT82)。ACT82では、例えば、判定処理部1014は、学習済モデル記憶領域1113に記憶されている全ての学習済モデルを選択したか否かを判定する。
【0182】
判定処理部1014が全ての学習済モデルを選択した場合(ACT82、YES)、処理は、ACT82からACT83へ遷移する。判定処理部1014が全ての学習済モデルを選択していない場合(ACT82、NO)、処理は、ACT82からACT79へ遷移する。判定処理部1014は、全ての学習済モデルについてACT80及びACT81の処理を実行する。これにより、判定処理部1014は、複数の学習済モデルへの判定用入力データの入力に基づいて複数の学習済モデルから出力される複数の判定用出力データを取得する。複数の判定用出力データを取得することは、複数のタグデータに基づいて、第1の範囲に対する無線タグ600の位置関係を示す複数のデータを取得することの一例である。
【0183】
判定処理部1014は、差分が第3の条件を満たすか否かを判定する(ACT83)。ACT83では、例えば、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータに基づいて、第1の値及び第2の値をカウントする。判定処理部1014は、カウントした第1の値及び第2の値に基づいて、差分を計算する。判定処理部1014は、差分を閾値と比較する。
【0184】
差分が第3の条件を満たす場合(ACT83、YES)、処理は、ACT83からACT84へ遷移する。差分が第3の条件を満たさない場合(ACT83、NO)、処理は、ACT83からACT85へ遷移する。
【0185】
判定処理部1014は、上述のACT83の処理により、複数のタグデータが所定条件を満たすか否かを判定する。差分が第3の条件を満たす場合、判定処理部1014は、複数のタグデータが所定条件を満たすと判定する。複数のタグデータが所定条件を満たす場合、プロセッサー101は、ACT84の処理を実行する。ACT84の処理は、第1の実施形態で説明したACT11の処理と同様である。他方、差分が第3の条件を満たさない場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定する。複数のタグデータが所定条件を満たさない場合、プロセッサー101は、ACT85及びACT86の処理を実行する。
【0186】
判定処理部1014は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する(ACT85)。ACT85では、例えば、判定処理部1014は、第1の値及び第2の値のうちの大きい値に基づいて、第1の範囲に対する無線タグ600の位置関係を判定する。第1の値が第2の値よりも大きい場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲内であると判定する。第2の値が第1の値よりも大きい場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲外であると判定する。ACT85の処理は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定することの一例である。
【0187】
出力部1015は、第2接続インターフェース105を介して、判定結果を端末400に出力する(ACT86)。
【0188】
ACT87の処理は、第1の実施形態で説明したACT15の処理と同様である。
【0189】
端末400のプロセッサー401による入力用画像の表示処理は、第1の実施形態で説明した入力用画像の表示処理と同様であるので、その説明を省略する。端末400のプロセッサー401による一覧画像の表示処理は、第1の実施形態で説明した一覧画像の表示処理と同様であるので、その説明を省略する。
【0190】
読取装置100のプロセッサー101による学習済モデルの生成処理は、第1の実施形態で説明した学習済モデルの生成処理と同様であるので、その説明を省略する。モデル処理部1016は、学習データに基づく機械学習により、複数の学習済モデルのそれぞれを生成する。
【0191】
差分が第3の条件を満たすか否かの判定例について説明する。
図19は、読取装置100のプロセッサー101による差分が第3の条件を満たすか否かの判定例を示す図である。
【0192】
ある無線タグ600についての複数のタグデータを対象とする。複数の学習済モデルの数は、7とする。7つの第1の範囲に対する無線タグ600の位置関係を示すデータのうち、無線タグ600が第1の範囲内であることを示すデータの数は、4とする。7つの第1の範囲に対する無線タグ600の位置関係を示すデータのうち、無線タグ600が第1の範囲外であることを示すデータの数は、3とする。差分は、4から3を引いて得られる1である。例えば、閾値は、4とする。この例では、差分は、閾値未満であるので、第3の条件を満たす。そのため、読取装置100は、この無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定しない。読取装置100は、この無線タグ600について、端末400においてユーザに第1の範囲に対する無線タグ600の位置関係を入力させる。
【0193】
学習済モデルの生成に用いられる重みの初期値について説明する。
図20は、学習済モデルの生成に用いられる重みの初期値を説明する図である。
【0194】
重みは、「層」と「層」をつなぐ際に、掛ける値を指す。重みは、(式2)におけるWijである。
【数2】
このままだと線形なので、層を増やす必要がない。非線形にするために、活性化関数を各層に挟んでいる。重みの更新には、損失関数(現在の出力と正解の出力の差)と現在の重みの偏微分(=勾配)が用いられる。重みの初期値は、乱数で与えられる。ただし、勾配消失や表現力の問題を考慮して適切な値を設定する。
【0195】
今回使用した畳み込みでは、
【数3】
の範囲で一様分布に設定している。その重みを利用して、重みの更新を行うため学習ごとに異なる学習済モデルが生成される。乱数のシード値を固定して学習させることで、毎回同じ結果が得られる。
【0196】
(変形例)
通信システム1は、第1の実施形態で説明したように推論装置900を含んでいてもよい。推論装置900の構成例は、第1の実施形態で説明した推論装置900と同様である。記憶デバイス905は、上述の複数の学習済モデルを記憶する。
【0197】
(効果)
通信装置10は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータが第3の条件を満たす場合、複数のタグデータが所定条件を満たすと判定する。通信装置10は、複数のタグデータが所定条件を満たさない場合、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。他方、通信装置10は、複数のタグデータが所定条件を満たす場合、判定不可情報を出力する。
このように、通信装置10は、第1の範囲に対する無線タグ600の位置関係を示す複数のデータが第3の条件を満たすか否かに応じて、第1の範囲に対する無線タグ600の位置関係の判定の要否を変える。通信装置10は、位置関係の判定精度を確保することのできない無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定しない。通信装置10は、この無線タグ600について、ユーザに第1の範囲に対する無線タグ600の位置関係を入力させることができる。したがって、通信装置10は、第1の範囲に対する無線タグ600の位置関係の判定精度を向上させることができる。
【0198】
(第4の実施形態)
以下、第4の実施形態に係る通信システムについて図面を用いて説明する。
第1の実施形態と同様の構成については同一の符号を付し、その説明を省略する。第4の実施形態では、主として、第1の実施形態と異なる部分について説明する。各図面において同一の構成要素に対しては可能な限り同一の符号を付し、重複する説明は省略する。
【0199】
第4の実施形態は、所定条件及び学習済モデルが第1の実施形態とは異なる。所定条件は、学習済モデルから取得される無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たすことである。学習済モデルは、第1の実施形態と同様の学習データに基づく機械学習により生成されたモデルである。学習済モデルは、第1の範囲に対する無線タグ600の位置関係の判定に用いられる。学習済モデルは、無線タグ600毎に、判定用入力データの入力に基づいて、判定用出力データを出力する。判定用入力データは、第1の実施形態と同様に、アンテナ300の複数の位置における複数のタグデータを含む。判定用出力データは、第1の実施形態とは異なり、無線タグ600が存在する範囲に関するレベルを示すデータである。
【0200】
無線タグ600が存在する範囲に関するレベルは、無線タグ600の存在する可能性を示す度合である。レベルは、確率であることを例にして説明するが、これに限定されない。レベルは、10段階等の複数段階のから選択された段階であってもよい。範囲は、第1の範囲又は第2の範囲である。
【0201】
無線タグ600が存在する範囲に関するレベルは、第1の範囲内のレベル及び第1の範囲外のレベルを含んでもよい。第1の範囲内のレベルは、無線タグ600が第1の範囲内であることに関するレベルである。第1の範囲外のレベルは、無線タグ600が第1の範囲外であることに関するレベルである。無線タグ600が存在する範囲に関するレベルは、第1の範囲内のレベルを含み、第1の範囲外のレベルを含まなくてもよい。無線タグ600が存在する範囲に関するレベルは、第1の範囲外のレベルを含み、第1の範囲内のレベルを含まなくてもよい。
【0202】
第4の条件は、無線タグ600が存在する範囲に関するレベルを示すデータについての条件である。第4の条件は、無線タグ600が判定不可の無線タグか否かを判定するための条件である。第4の条件は、無線タグ600が存在する範囲に関するレベルが閾値未満であることを例にして説明するが、これに限定されない。レベルが確率である場合、閾値は、70%等であるが、これに限定されない。第1の範囲内のレベルに対する閾値は、第1の範囲外のレベルに対する閾値と同じでも異なってもよい。閾値は、適宜設定可能である。
【0203】
無線タグ600が存在する範囲に関するレベルが第1の範囲内のレベル及び第1の範囲外のレベルを含む場合について説明する。この場合、無線タグ600が存在する範囲に関するレベルが閾値未満であることは、第1の範囲内のレベルが閾値未満及び第1の範囲外のレベルが閾値未満であることでもよい。無線タグ600が存在する範囲に関するレベルが閾値以上であることは、第1の範囲内のレベルが閾値以上又は第1の範囲外のレベルが閾値以上であることでもよい。無線タグ600が存在する範囲に関するレベルが第1の範囲内のレベルを含み、第1の範囲外のレベルを含まない場合について説明する。無線タグ600が存在する範囲に関するレベルが閾値未満であることは、第1の範囲内のレベルが閾値未満であることでもよい。無線タグ600が存在する範囲に関するレベルが閾値以上であることは、第1の範囲内のレベルが閾値以上であることでもよい。無線タグ600が存在する範囲に関するレベルが第1の範囲外のレベルを含み、第1の範囲内のレベルを含まない場合について説明する。無線タグ600が存在する範囲に関するレベルが閾値未満であることは、第1の範囲外のレベルが閾値未満であることでもよい。無線タグ600が存在する範囲に関するレベルが閾値以上であることは、第1の範囲外のレベルが閾値以上であることでもよい。
【0204】
無線タグ600が存在する範囲に関するレベルが閾値未満である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができない。これは、無線タグ600が第1の範囲内である可能性又は無線タグ600が第1の範囲外である可能性は、十分ではないからである。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することが難しい。
【0205】
他方、無線タグ600が存在する範囲に関するレベルが閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係の判定精度を確保することができる。これは、無線タグ600が第1の範囲内である可能性又は無線タグ600が第1の範囲外である可能性が十分であるからである。この場合、判定処理部1014は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を適切に判定することができる。
【0206】
無線タグ600が存在する範囲に関するレベルが閾値未満である場合、無線タグ600が存在する範囲に関するレベルを示すデータは、第4の条件を満たす。無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たす場合、複数のタグデータは、所定条件を満たす。他方、無線タグ600が存在する範囲に関するレベルが閾値以上である場合、無線タグ600が存在する範囲に関するレベルを示すデータは、第4の条件を満たさない。無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たさない場合、複数のタグデータは、所定条件を満たさない。
【0207】
(構成例)
通信システム1の構成例は、第1の実施形態で説明した通信システム1と同様であるので、その説明を省略する。読取装置100の構成例は、第1の実施形態で説明した読取装置100と同様であるが、学習済モデル記憶領域1113は、上述の学習済モデルを記憶する。駆動装置200の構成例は、第1の実施形態で説明した駆動装置200と同様であるので、その説明を省略する。端末400の構成例は、第1の実施形態で説明した端末400と同様であるので、その説明を省略する。
【0208】
(動作例)
通信システム1における処理について説明する。
以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0209】
図21は、読取装置100のプロセッサー101による判定処理の一例を示すフローチャートである。
例えば、カウンター台700には、無線タグ600に格納されている情報を読み取る対象となる1つ以上の物品500が載せられているものとする。カウンター台700の近傍には、無線タグ600に格納されている情報を読み取る対象とならない1つ以上の物品500が存在することもある。
【0210】
読取装置100のプロセッサー101は、ユーザにより端末400で入力された判定処理の開始指示の取得に基づいて、判定処理を開始してもよい。
【0211】
ここでは、開始地点は、第1の地点であるものとする。そのため、駆動部205は、アンテナ300を一方向に第1の地点から第2の地点へ移動する。
【0212】
ACT91~ACT98の処理は、第1の実施形態で説明したACT1~ACT8の処理と同様である。判定処理部1014は、選択された判定対象の無線タグ600について、ACT99~ACT104の処理を実行する。
【0213】
判定処理部1014は、学習済モデルに、判定用入力データを入力する(ACT99)。ACT99では、例えば、判定処理部1014は、計測データ記憶領域1111に記憶されている計測データに基づいて、判定用入力データを取得する。判定処理部1014は、学習済モデルに、取得した判定用入力データを入力する。
【0214】
判定処理部1014は、学習済モデルへの判定用入力データの入力に基づいて、学習済モデルから出力される判定用出力データを取得する(ACT100)。
【0215】
判定処理部1014は、無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たすか否かを判定する(ACT101)。無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たす場合(ACT101、YES)、処理は、ACT101からACT102へ遷移する。無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たさない場合(ACT101、NO)、処理は、ACT101からACT103へ遷移する。
【0216】
判定処理部1014は、上述のACT101の処理により、複数のタグデータが所定条件を満たすか否かを判定する。無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たす場合、判定処理部1014は、複数のタグデータが所定条件を満たすと判定する。複数のタグデータが所定条件を満たす場合、プロセッサー101は、ACT102の処理を実行する。ACT102の処理は、第1の実施形態で説明したACT11の処理と同様である。他方、無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たさない場合、判定処理部1014は、複数のタグデータが所定条件を満たさないと判定する。複数のタグデータが所定条件を満たさない場合、プロセッサー101は、ACT103及びACT104の処理を実行する。
【0217】
判定処理部1014は、無線タグ600が存在する範囲に関するレベルを示すデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する(ACT103)。第1の範囲内のレベルが閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲内であると判定する。第1の範囲外のレベルが閾値以上である場合、判定処理部1014は、第1の範囲に対する無線タグ600の位置関係として、無線タグ600が第1の範囲外であると判定する。ACT103の処理は、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定することの一例である。
【0218】
出力部1015は、第2接続インターフェース105を介して、判定結果を端末400に出力する(ACT104)。
【0219】
ACT105の処理は、第1の実施形態で説明したACT15の処理と同様である。
【0220】
端末400のプロセッサー401による入力用画像の表示処理は、第1の実施形態で説明した入力用画像の表示処理と同様であるので、その説明を省略する。端末400のプロセッサー401による一覧画像の表示処理は、第1の実施形態で説明した一覧画像の表示処理と同様であるので、その説明を省略する。
【0221】
読取装置100のプロセッサー101による学習済モデルの生成処理は、第1の実施形態で説明した学習済モデルの生成処理と同様であるので、その説明を省略する。モデル処理部1016は、学習データに基づく機械学習により、上述の学習済モデルを生成する。第1の実施形態で説明したように、アンテナの複数の位置における複数の学習用タグデータと、学習用無線タグの位置との間には、一定の相関関係があり得る。そのため、複数のタグデータと、無線タグ600が存在する範囲に関するレベルを示すデータとの間には、一定の相関があり得る。
【0222】
(変形例)
通信システム1は、第1の実施形態で説明したように推論装置900を含んでいてもよい。推論装置900の構成例は、第1の実施形態で説明した推論装置900と同様である。記憶デバイス905は、学習済モデルを記憶する。
【0223】
(効果)
通信装置10は、無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たす場合、複数のタグデータが所定条件を満たすと判定する。通信装置10は、複数のタグデータが所定条件を満たさない場合、複数のタグデータに基づいて第1の範囲に対する無線タグ600の位置関係を判定する。他方、通信装置10は、複数のタグデータが所定条件を満たす場合、判定不可情報を出力する。
このように、通信装置10は、無線タグ600が存在する範囲に関するレベルを示すデータが第4の条件を満たすか否かに応じて、第1の範囲に対する無線タグ600の位置関係の判定の要否を変える。通信装置10は、位置関係の判定精度を確保することのできない無線タグ600について、第1の範囲に対する無線タグ600の位置関係を判定しない。通信装置10は、この無線タグ600について、ユーザに第1の範囲に対する無線タグ600の位置関係を入力させることができる。したがって、通信装置10は、第1の範囲に対する無線タグ600の位置関係の判定精度を向上させることができる。
【0224】
(付記)
実施形態は、以下のように表現することができる。
(1) アンテナと、
前記アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する取得部と、
前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する判定処理部と、
前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記判定処理部により前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する出力部と、
を備える通信装置。
(2) 前記無線タグに関する複数のタグデータに変曲点が存在し、かつ、前記無線タグに関する複数のタグデータのデータ数が条件を満たす場合、前記判定処理部は、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定する、(1)に記載の通信装置。
(3) 前記判定処理部は、前記無線タグに関する複数のタグデータに基づいて前記所定範囲内及び前記所定範囲外の一方又は両方に関する相関係数を計算し、前記相関係数が条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定する、(1)に記載の通信装置。
(4) 前記判定処理部は、互いに異なる複数の学習済モデルへの前記無線タグに関する複数のタグデータの入力に基づいて前記複数の学習済モデルから出力される前記所定範囲に対する前記無線タグの位置関係を示す複数のデータを取得し、前記所定範囲に対する前記無線タグの位置関係を示す複数のデータが条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定し、
前記複数の学習済モデルは、学習データに基づく機械学習により生成されたモデルであり、
前記学習データは、複数の無線タグに関する複数のタグデータ及び前記所定範囲に対する前記複数の無線タグの位置関係を示す複数のデータを含む、
(1)に記載の通信装置。
(5) 前記判定処理部は、学習済モデルへの前記無線タグに関する複数のタグデータの入力に基づいて前記学習済モデルから出力される前記無線タグが存在する範囲に関するレベルを示すデータを取得し、前記レベルを示すデータが条件を満たす場合、前記無線タグに関する複数のタグデータが前記所定条件を満たすと判定し、
前記学習済モデルは、学習データに基づく機械学習により生成されたモデルであり、
前記学習データは、複数の無線タグに関する複数のタグデータ及び前記所定範囲に対する前記複数の無線タグの位置関係を示す複数のデータを含む、
(1)に記載の通信装置。
(6) コンピュータに、
アンテナにより受信された無線タグの電波に基づいて前記無線タグに関するタグデータを取得する機能と、
前記無線タグに対する前記アンテナの複数の相対位置における前記無線タグに関する複数のタグデータが所定条件を満たさない場合、前記無線タグに関する複数のタグデータに基づいて所定範囲に対する前記無線タグの位置関係を判定する機能と、
前記無線タグに関する複数のタグデータが前記所定条件を満たす場合、前記所定範囲に対する位置関係を判定されない前記無線タグに関する情報を出力する機能と、
を実行させるための情報処理プログラム。
【0225】
(他の実施形態)
上記の実施形態では、駆動装置200がアンテナ300を移動する例について説明したが、これに限定されない。アンテナ300の位置は固定であり、駆動装置200は、無線タグ600を移動する装置であってもよい。この例では、駆動装置200は、無線タグ600を載せたステージを移動するようにしてもよい。無線タグ600を移動することは、無線タグ600に対するアンテナ300の相対位置を移動することの一例である。アンテナ300の位置は、無線タグ600に対するアンテナ300の相対位置の一例である。なお、駆動装置200は、アンテナ300及び無線タグ600の両方を移動する装置であってもよい。アンテナ300及び無線タグ600の両方を移動することは、無線タグ600に対するアンテナ300の相対位置を移動することの一例である。アンテナ300の位置は、無線タグ600に対するアンテナ300の相対位置の一例である。
【0226】
通信装置は、上記の例で説明したように複数の装置で実現されてもよいし、複数の装置の機能を一体化した一つの装置で実現されてもよい。読取装置、駆動装置、第1のアンテナ及び第2のアンテナは、機能を一体化した一つの装置で実現されてもよい。読取装置は、機能を分散させた複数の装置で実現されてもよい。
【0227】
上述の実施形態は、装置だけでなく、装置が実行する方法に適用されてもよい。上述の実施形態は、装置のコンピュータに各機能を実行させることが可能なプログラムに適用されてもよい。上述の実施形態は、プログラムを記憶する記録媒体に適用されてもよい。
【0228】
プログラムは、実施形態に係る装置に記憶された状態で譲渡されてよいし、装置に記憶されていない状態で譲渡されてもよい。後者の場合は、プログラムは、ネットワークを介して譲渡されてよいし、記録媒体に記録された状態で譲渡されてもよい。記録媒体は、非一時的な有形の媒体である。記録媒体は、コンピュータ可読媒体である。記録媒体は、CD-ROM、メモリカード等のプログラムを記憶可能かつコンピュータで読取可能な媒体であればよく、その形態は問わない。
【0229】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0230】
1…通信システム、10…通信装置、81…第1の範囲、82…第2の範囲、100…読取装置、101…プロセッサー、102…ROM、103…RAM、104…第1接続インターフェース、105…第2接続インターフェース、106…高周波フロントエンド部、107…デジタル振幅変調部、108…DA変換部、109…AD変換部、110…復調部、111…記憶デバイス、112…バス、200…駆動装置、201…プロセッサー、202…ROM、203…RAM、204…接続インターフェース、205…駆動部、206…ホームポジションセンサー、208…バス、211…回転軸、212…レール、213…移動ステージ、300…アンテナ、400…端末、401…プロセッサー、402…ROM、403…RAM、404…接続インターフェース、405…記憶デバイス、406…入力デバイス、407…表示デバイス、408…バス、500…物品、600…無線タグ、700…カウンター台、900…推論装置、901…プロセッサー、902…ROM、903…RAM、904…接続インターフェース、905…記憶デバイス、906…バス、1011…移動制御部、1012…通信制御部、1013…取得部、1014…判定処理部、1015…出力部、1016…モデル処理部、1111…計測データ記憶領域、1112…学習データ記憶領域、1113…学習済モデル記憶領域。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21