説明

判定装置、判定システム、判定方法及びコンピュータプログラム

【課題】ICタグの通過領域を判定する判定装置、判定システム、判定方法及びコンピュータプログラムの提供。
【解決手段】リーダは、アンテナANTを通じてICタグの探索処理を実施し(S21)、得られた読取パターンと基準データとの類似度を判定する。このとき、アンテナ毎の平均読取枚数を計算し(S25)、読取パターンの正規化を行う(S27)。読取パターンの正規化は、基準データとの比較によって正規化後のパターンの長さを算出し、算出した長さとなるように読取パターンの伸張処理または短縮処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、ICタグの通過領域を判定する判定装置、判定システム、判定方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、RFID(Radio Frequency IDentification)が様々な分野で使用されている。RFIDは、無線通信によって、IC(Integrated Circuit)タグに記憶されている固有の識別情報を含むデータを読み出したり、ICタグにデータを書き込んだりする技術である。
【0003】
RFIDには、タグが電池を内蔵し、動作のための電力が内部的に供給されるアクティブ型と、電池を内蔵せず、リーダ装置から送信される高周波によって供給される電力によって動作するパッシブ型とが存在する。
【0004】
電池を内蔵しないパッシブ型は、アクティブ型に比べ、比較的低価格で提供できるため、物流分野を含めた多様な領域において利用が期待されている。
また、RFIDの周波数帯としてUHF帯(860〜960MHz)を用いた場合、パッシブ型でも読取範囲が他の周波数帯に比較して広く、一度に複数のタグを読み取ることができる。
このため、例えば物流分野において、多数の物品に貼られた複数のタグを一括で読み取り、検品を行うことなどが可能となる。
【0005】
しかしながら、UHF帯を用いて読取範囲を広くした場合、管理者が意図しないタグの情報を読みとる場合がある。例えば、倉庫などでの入出荷検品時、通常は検品ゲートから離れていて読めない位置に置かれている物品のタグが、フォークリフトなどが物品の近くを通過することでフォークリフトに反射した電波により、タグの情報を読み取ることがある。また、複数のゲートが併置されている場合、隣接するゲートに侵入してきた物品のタグを読み取る可能性もあり、誤判定が生じる可能性がある。
【0006】
このような場合、タグに記憶されたIDに基づくフィルタリングを行うことで、不要なタグを排除できる場合がある。一例として、IDが物品の種別(たとえば、パレットなのか、個品なのかの種別)によって階層化されている場合などは、事前に物品の種別を表す種別データを知っていることにより、パレットタグを示すタグIDを排除することができる。
【0007】
また、意図しないタグ読み取りが電波の反射に起因する場合などは、物品に付されたタグに対して定期的に複数回の検知を実行し、タグのIDを所定回数以上連続検知できなかった場合、反射によって偶然読み取れたものとして排除する方法も知られている(例えば、特許文献1参照)。
【0008】
しかしながら、対象タグと不要タグとが同種類の物品である場合、階層化されたIDに含まれる種別データによる分別はできない。
【0009】
他に、意図しないタグ読み取りを排除するために、電波吸収板などで読取範囲を物理的に隔離する方法があるが、設置現場での作業工数が大きく増大するという問題がある。
【0010】
更に、フェーズドアレイ型などの指向性を変化させることのできるアンテナを使用することで本来の読取範囲外にあるタグを見つけて不要タグとみなす方法もあるが、読取装置が高価になるという問題が新たに発生する。
【0011】
これらの問題点を解決するために、本願発明者らは、先の出願において、通信可能な領域内にあるタグから非接触でデータを繰り返し読み取るリーダ(読取装置)および制御システムにおいて、事前に収集した読取結果の時系列データから時系列データ上に与えた類似度によってクラスタリングした結果を基準データとして持ち、読み取ったデータを基準データとの類似度計算を行うことによって必要データ又は不要データに分類する方式を開示している(特許文献2及び3を参照)。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2005−275960号公報
【特許文献2】特願2008−298770号公報
【特許文献3】特願2009−999924号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかしながら、読み取ったデータを基準データと比較することによって必要データと不要データとに分類する、先の出願の方式では、基準データ収集時と運用時とにおいて読取条件(タグ枚数、移動速度など)が一致していることが前提となる。基準データ収集時及び運用時の読取条件が異なる場合、比較すべき読取結果の時系列データが変動し、判定精度が劣化するからである。
【0014】
例えば、運用時において、タグの枚数が基準データ収集時よりも倍程度に多い物品を基準データ収集時と同じ移動速度で移動させた場合、同一タグの読取回数が半分程度に減ることが考えられる。換言すると、この条件下では、アンテナの交信範囲内にタグが留まる時間は基準データ収集時とほぼ同じであるのに対し、1回の探索で読み取られるタグの枚数が2倍になるため、1回の探索処理が完了するまでの応答時間も約2倍の長さが必要となる。その結果、アンテナの交信範囲内に留まる時間における探索処理の実行回数が基準データ収集時の約半分となる。
このような場合、読取結果の時系列データの長さが半分程度になり、基準データとの類似度が低下するため、本来必要と判定されるべきタグが不要と判定されてしまったり、逆に本来不要と判定されるべきタグが必要と判定されてしまうことがある。
【0015】
さらに、タグ付きの物品を運ぶ際の移動速度が異なる場合も問題となる。基準データ収集時と運用時との間で移動速度が異なる場合、アンテナの交信範囲内にタグが留まる時間が変化するため、読取回数が変動する。
このような場合も、基準データとの類似度に影響を及ぼし、判定精度の劣化が起こりうる。
【0016】
実際の運用では、事前に行った基準データ収集時の条件と異なる読取条件で運用することはしばしばあると考えられ、そのような場合の判定精度の劣化は重要な課題である。
【0017】
本願は、上記の課題を解決するため、基準データ収集時の条件と異なる条件でタグの読み取りを行ったとしても、判定制度の劣化を低減することができる判定装置、判定システム、判定方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0018】
本願に開示する判定装置は、被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得するデータ取得部と、特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記データ取得部が取得したデータとを比較して、前記データ取得部が取得したデータを、そのデータ長が前記基準データのデータ長と等しくなるように補正するデータ補正部と、該データ補正部が補正したデータと前記基準データとの類似度を判定する類似度判定部と、該類似度判定部による判定結果に基づき、被検出体が前記特定の領域を通過したか否かを判定する判定部とを備えることを特徴とする。
【発明の効果】
【0019】
本願によれば、基準データ収集時の被検出体の検出状況と運用時の被検出体の検出状況が異なっていた場合に、基準データとの類似度が本来の値よりも低下してしまうことに起因する判定精度の劣化を低減することができる。
【図面の簡単な説明】
【0020】
【図1】実施の形態1に係るICタグ読取システムの全体構成を示す模式図である。
【図2】判定エリアの具体例を説明する模式図である。
【図3】上位サーバ及びリーダのハードウェア構成を説明するブロック図である。
【図4】上位サーバ及びリーダの機能構成を説明するブロック図である。
【図5】読取パターンの一例を示す模式図である。
【図6】アンテナ毎の平均読取回数の一例を示す模式図である。
【図7】基準データの生成手順を示すフローチャートである。
【図8】運用時のタグ読取処理の手順を示すフローチャートである。
【図9】正規化処理の処理手順を示すフローチャートである。
【図10】読取パターンの伸張処理の手順を示すフローチャートである。
【図11】実施の形態3に係る上位サーバ及びリーダの機能構成を説明するブロック図である。
【発明を実施するための形態】
【0021】
以下、本願の判定システムをICタグ読取システムに適用した実施の形態について、図面を用いて具体的に説明する。
実施の形態1.
図1は実施の形態1に係るICタグ読取システムの全体構成を示す模式図である。実施の形態1に係るICタグ読取システムは、上位サーバ100、リーダ200、アンテナANT1〜ANT4、ICタグ10を含む。
なお、以下の説明において、アンテナANT1〜ANT4を互いに区別して説明する必要がない場合には、アンテナANTと記載することとする。
【0022】
上位サーバ100は、リーダ200により読み取られたICタグ10の情報を集約し、業務アプリケーションに渡す。
【0023】
上位サーバ100とリーダ200とは、有線又は無線のLAN、WAN、又はその他のネットワークによって接続されている。リーダ200には、複数のアンテナANTが接続されており、アンテナANTを介した無線通信によりコマンド、応答の送受信を行うことによって、ICタグ10との間でデータの送受信を行う。
【0024】
コマンド、応答の送受信は、予め定められたプロトコルに従って行われる。例えば、860〜960MHzの通信周波数帯域を用いるUHF帯ICタグ用の標準プロトコルとして、ISO18000−6タイプCなどの規格が用いられる。
【0025】
リーダ200は、自律的に動作し、予め与えられた条件に従って、ICタグ10の読み取りを繰り返し行う。ICタグ10の読取時に、リーダ200は、接続されたアンテナANTから一定の電波強度で電波の届く範囲にある1又は複数のICタグ10と交信する。リーダ200は、ICタグ10から受け取ったデータを予め与えられたタイミングで上位サーバ100へ返す。
上位サーバ100は、リーダ200から送信されるデータを、予め与えられたプログラムに従って処理する。
【0026】
ICタグ10は、固有の識別データ(Identifier、以下IDと呼ぶ)を記憶するメモリ、所定の処理を実行するICチップ、及び無線通信を可能にするアンテナ等を備える。ICタグ10は、IDによって識別すべき物品に貼付されたり、人によって所持されたりする。また、ICタグ10には、添付対象に関するデータ(例えば、物品の種類や製造日等)が格納されていてもよい。
【0027】
本実施の形態で説明するICタグ10は、UHF帯の通信周波数帯域を用いた電波方式のものであり、リーダ200のアンテナANTから送信される高周波を受信することで電流を発生するものである。発生した電流は、整流後に調整された供給電圧としてICタグ10の各部に供給され、ICタグ10は、動作可能となる。
なお、上記の動作は、電池を内蔵しないパッシブ型のICタグに関するものであるが、電池を内蔵するアクティブ型のICタグを利用することも可能である。
【0028】
本実施の形態では、図1に示すように、リーダ200に接続された複数のアンテナANTが、アンテナANTの読取範囲の論理和領域を判定エリアA1、A2として受け持つことになる。図1に示した例では、ゲートG1を通過するICタグ10の読み取り領域として、2枚のアンテナANT1,ANT2により判定エリアA1を形成している様子を示している。ゲートG2を通過するICタグ10を読み取るための判定エリアA2についても同様である。
【0029】
このように、本実施の形態では、それぞれ2枚のアンテナANTにより1つの判定エリアを担当する構成としたが、1枚のアンテナANTが1つの判定エリアを担当することとしてもよく、3枚以上のアンテナが1つの判定エリアを担当する構成としてもよい。
また、本実施の形態では、4枚のアンテナANT1〜ANT4を1台のリーダ200で管理する構成としたが、アンテナの枚数、リーダの台数は、適宜設定し得るものである。
【0030】
図2は判定エリアA1,A2の具体例を説明する模式図である。判定エリアA1は、例えば、ICタグ10を添付した物品を運ぶフォークリフトや台車が通過するゲートG1である。判定エリアA2についても同様である。
例えば、配送センタなどにおいて、配送先の異なるトラックに物品を積み込むために、複数のゲートG1,G2が設置され、各ゲートG1,G2にてICタグ10を読み取るために、アンテナANT1〜ANT4が設置される。ゲートG1,G2の識別情報は、判定エリアA1,A2としてリーダ200及び上位サーバ100により管理される。
【0031】
なお、ICタグ10を添付した物品を運ぶフォークリフトや台車がゲートG1を通過する際、このICタグ10は、アンテナANT1,ANT2により読み取られるだけでなく、アンテナANT4により読み取られる可能性がある。また、ICタグ10を添付した物品を運ぶフォークリフトや台車がゲートG2を通過する際、このICタグ10は、アンテナANT3,ANT4により読み取られるだけでなく、アンテナANT1により読み取られる可能性もある。
このため、本願では、後述するように、読取パターンの基準データを用いた類似度判定を行うことにより、ゲートG1,G2の何れを通過したのかを判定するようにしている。
【0032】
図3は上位サーバ100及びリーダ200のハードウェア構成を説明するブロック図である。上位サーバ100は、制御部101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、通信部104、記憶部105、表示部106、操作部107を備え、それらがバスを介して互いに接続されている。
【0033】
制御部101は、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)等を備える。MPUを備える場合には、ROM102及びRAM103が制御部101に組み込まれる場合もある。
制御部101は、所定のタイミングに従って、ROM102又は記憶部105に格納されているコンピュータプログラムを適宜RAM103上に読み出して実行するとともに、上述したハードウェア各部の動作を制御する。
【0034】
ROM102には、本願の判定方法を実現するために必要なコンピュータプログラム、上述したハードウェア各部を動作させるために必要なコンピュータプログラムが予め格納されている。
【0035】
RAM103は、例えば、DRAM(Dynamic RAM)、SRAM(Static RAM)、フラッシュメモリなどであり、制御部101によるコンピュータプログラムの実行時に発生する、種々のデータ(例えば、演算結果、読み取りデータ、各種パラメータ)が一時的に記憶される。
【0036】
通信部104は、有線又は無線のネットワークを介してリーダ200とのデータ通信を行い、リーダ200が読み取ったICタグ10のデータを受信する。
【0037】
操作部107は、操作者が上位サーバ100を操作するために必要な入力インタフェースを備えている。表示部106は、例えば液晶ディスプレイであり、制御部101からの指示に従って、上位サーバ100の動作状況、操作部107を介して入力された情報、操作者に対して通知すべき情報などを表示する。
【0038】
表示部106及び操作部107は、操作者とのインタフェースを提供するものである。上位サーバ100が、ネットワークを介して他の機器からの操作入力、他の機器への出力を行う構成としてもよく、必ずしも表示部106及び操作部107を備えている必要はない。
【0039】
記憶部105は、ハードディスク又はフラッシュメモリのような不揮発性の記憶装置である。記憶部105には、リーダ200から収集した基準データ等が記憶される。本実施の形態では、本願の判定方法を実現するために必要なコンピュータプログラム、ハードウェア各部を動作させるために必要なコンピュータプログラムをROM102に格納する構成としたが、これらのコンピュータプログラムを記憶部105に格納する構成としてもよい。
【0040】
次に、リーダ200のハードウェア構成を説明する。リーダ200は、制御部201、通信部202、RF部203、記憶部204、外部入出力部206を備え、それらがバスを介して相互に接続されている。
RF部203には、ICタグ10からデータを取得するアンテナANTが接続される。本実施の形態では、リーダ200のRF部203にアンテナANT1〜ANT4が接続される。
【0041】
リーダ200の制御部201は、記憶部204に予め記憶されている動作手順に従って、RF部203及びアンテナANTを介してICタグ10との無線通信を行なう。記憶部204は、ハードディスク又はフラッシュメモリのような不揮発性の記憶装置である。
【0042】
外部入出力部206は、光学センサ、触感センサ等のセンサ250からの入力を受け取り、PLC(Programmable Logic Controller)等の外部デバイスの制御装置に対して信号を出力するためのインタフェースを提供する。センサ250が、物品や人の通過を検知することによって、外部入出力部206を介してリーダ200が物品や人の通過を認識することができ、タグ読取処理の開始・終了などを制御することができる。
【0043】
リーダ200は、以下の手順に従って、ICタグ10との間でデータの送受信を行う。リーダ200は、まず、アンテナANTの読取可能範囲に存在するICタグ10の探索(インベントリ)を行う。すなわち、リーダ200は、探索コマンドを示す無線信号をアンテナANTから出力する。リーダ200が送信した探索コマンドを受信したICタグ10は、各部に電圧が供給され、動作可能となった後、探索コマンドへの応答として自己の識別データ(タグID)をリーダ200へ送信する。
これにより、リーダ200は、ICタグ10のタグIDを識別することができ、リーダ200とICタグ10との間でデータの送受信が可能になる。
【0044】
リーダ200が探索コマンドを送信する際、アンテナANTの通信可能範囲に複数のICタグ10,10,…,10が存在する場合には、複数のICタグ10,10,…,10が探索コマンドへの応答を同時に送信するため、互いの応答が干渉し、リーダ200が応答を受信できない状況(衝突)が発生しうる。
【0045】
これを回避するために、リーダ200及びICタグ10に衝突回避機能が実装されている。衝突が発生した場合、リーダ200とICタグ10との間で定められた衝突回避プロトコルに従って、ICタグ10からの一時的な応答抑制などが行われ、最終的に残った一つのICタグ10からタグIDを含む応答をリーダ200が受信することにより、ICタグ10の識別が行われる。未応答のICタグ10が残っている場合には、リーダ200から連続して送信されるコマンドに従って同様の衝突回避の手順が踏まれ、1つずつタグIDの識別が行われる。結果として応答可能なICタグ10のすべてのタグIDをリーダ200は取得することができる。
【0046】
ICタグ10がタグIDの他に物品等のデータを持つ場合には、リーダ200とICタグ10との間でさらにデータ読取コマンドやデータ書込コマンドを送受信することにより、データの読み出しや書き込みを行なうことができる。
【0047】
リーダ200は、事前に指定された条件に従って自律的に探索コマンドを繰返し発信する。ICタグ10は、探索コマンドを受信する都度、記憶しているデータを発信する。したがって、リーダ200は、探索コマンドを発信する都度、接続されたアンテナANTの読取可能範囲に存在するICタグ10が毎回応答し、電波環境に問題がなければ、各ICタグ10が応答した回数分のデータを受信することとなる。
リーダ200及び上位サーバ100は、このタグID毎の繰り返し受信した時系列のパターンを用いて、不要タグ読取フィルタリング処理を行う。
【0048】
図4は上位サーバ100及びリーダ200の機能構成を説明するブロック図である。上位サーバ100に格納されているアプリケーション111は、例えば、リーダ200が読み取ったタグの情報を用いて、生産、物流、在庫管理などの各種業務に応じた処理を行なう。
【0049】
タグデータ処理部113は、リーダ200から報告されたタグID等のデータをアプリケーション111が要求する形式に変形して、受け渡す役割を有する。
【0050】
記憶部105には、上位サーバ100がタグデータを受け取ることができるリーダ200の情報(リーダ情報)、リーダ200が担当する判定エリアの情報(判定エリア情報)が記憶される。
【0051】
通信部104は、有線または無線の各種プロトコルに従った手順により、リーダ200と通信を行う。
【0052】
リーダ200は、運用に先立って設定された読取制御設定に従って自律的に動作し、ICタグ10の読み取りを行う。
【0053】
読取制御設定はリーダ200の記憶部204に保存され、使用する1又は複数のアンテナANTおよびその順序、個々のアンテナANTから繰り返し探索コマンドを送信する回数や時間、読み取ったタグIDに対してID以外のデータの読み書きを行う場合には、読み書き用コマンドの指定などが記述されている。
【0054】
読取制御部211は、記憶部204から読取制御設定の内容をロードし、記述された制御手順に従って、各々のアンテナANTに対応するRF部203に対してICタグ10の探索(インベントリ)コマンドを送信するよう制御し、ICタグ10からの応答を読み取る。
【0055】
基準データ生成部212は、事前にリーダ200が収集した理想的な読取パターンである想定パターンなどの情報からフィルタリングにおける基準データを生成する。生成された基準データは記憶部105に記録される。
【0056】
正規化処理部213は、運用時に取得するタグ応答を、タグID毎の時系列データとして処理し、後述する正規化処理により時系列データを補正した後、類似度判定部214に渡す。
【0057】
類似度判定部214は、正規化処理部213から渡される時系列データと、記憶部204に記憶されている基準データとの比較を行い、最適なクラスタデータとの類似度を計算する。類似度判定部214が行う類似度判定の処理手順については後に詳述することとする。
【0058】
次に、正規化処理部213が扱う時系列データについて説明する。
リーダ200は、記憶部204に記憶されている読取制御設定に従って、一つまたは複数のアンテナANTを繰り返し使用しながら、探索(インベントリ)コマンドを繰り返し発行する。各探索コマンドの応答結果は、使用したアンテナ、読み取れたタグIDのリスト、リストの個数、読み取りにかかった時間(通常は数十〜数百ミリ秒)などの情報と共に、正規化処理部213に渡される。このとき、探索コマンドの応答結果は、判定エリア毎、タグID毎にまとめて時系列順のデータとして正規化処理部213内のメモリに一時的に記憶される。この正規化処理部213内のメモリに記憶される時系列のデータを読取パターンと呼ぶ。
また、正規化処理部213は、各アンテナANT毎に各回で読み取られたICタグ10の枚数の和を取り、最低1枚のICタグ10を読んだ読取回数で除算することにより、アンテナANT毎の平均読取回数を算出し、内部のメモリに保持する。
【0059】
図5は読取パターンの一例を示す模式図である。図5(a)は、判定エリアA1(ゲートG1)での読取パターン、図5(b)は、判定エリアA2(ゲートG2)での読取パターンの一例を示したものである。上述したように、ゲートG1では2枚のアンテナANT1,ANT2が判定エリアA1を担当し、ゲートG2では2枚のアンテナANT3,ANT4が判定エリアA2を担当する。
【0060】
それぞれの読取パターンにおいて、行方向(横軸)のT1,T1+a1,…,T1+a11は時刻の系列を表しており、リーダ200が、探索コマンドを発行した時刻を示している。本実施の形態では、リーダ200は、各時刻において探索コマンドを発行するアンテナをアンテナANT1,ANT2,ANT3,ANT4の順序で切り換えながら、繰り返し探索コマンドを発行するものとしている。探索コマンドは、必ずしも一定の時間間隔で発行されるものではなく、リーダ200の制御部201が制御する適宜のタイミングで発行されるものである。なお、a1,a2,…,a11は、数十msec程度の時間である。
【0061】
また、読取パターンの列方向(縦軸)の左端は、読み取ったICタグ10のタグIDが記述されている。図5に示した例では、id1〜id4のタグIDを持つICタグ10を読み取ったことを示している。
【0062】
読取パターンの各欄に示す記号A〜Cは、それぞれアンテナANT1,ANT2,ANT3を示す記号である。なお、アンテナANT4を示す記号はDであるが、図5に示す例では、アンテナANT4による読み取りがなかったことを表している。また、空欄はICタグ10の読み取りがなかったことを表している。
【0063】
図5(a)に示した読取パターンは、時刻T1,T1+a4,T1+a8において、アンテナANT1が探索コマンドを発行した結果、id1のタグIDを有するICタグ10とid2のタグIDを有するICタグ10とを読み取り、時刻T1+a1,T1+a5,T1+a9において、アンテナANT2が探索コマンドを発行した結果、id3のタグIDを有するICタグ10とid4のタグIDを有するICタグ10とを読み取ったパターンを示している。一方、図5(b)に示した読取パターンは、時刻T1+a2,T1+a6において、アンテナANT3が探索コマンドを発行した結果、id1のタグIDを有するICタグ10とid2のタグIDを有するICタグ10とを読み取ったパターンを示している。
【0064】
読取パターンの各行を記号列として表記するために、空欄をアンダースコアで表記し、例えば、判定エリアA1におけるid1の行を、「A___A___A___」のように表記することもできる。
また、アンテナ出力を2段階に変化させる場合、出力が大きいときには大文字で「A」のように表記し、出力が小さいときには小文字で「a」のように表記してもよい。
【0065】
図5の例では、行方向(横軸)に時刻の系列をとっているが、探索コマンドの発行回数を横軸に持つことも可能である。以下の説明では、複雑さを避けるために、横軸に探索コマンドの発行回数を持つものとする。
【0066】
本実施形態では、運用時に読み取ったタグ毎の読取パターンを、事前に収集して記憶してある基準データと比較し、類似度を求めることで、もっとも確からしい判定エリアを決定する。
【0067】
図6はアンテナANT毎の平均読取回数の一例を示す模式図である。図6に示した例では、ゲートG1を構成するアンテナANT1での平均読取回数が1.9回、アンテナANT2での平均読取回数が2.0回であることを示す。また、ゲートG2を構成するアンテナANT3での平均読取回数が1.9回、アンテナANT4については読み取りがなかったことを示している。
【0068】
次に、基準データについて説明する。基準データを生成する際、運用時と同じように各リーダ200を動作させておき、運用時と同様の積載形態にて、ICタグ10が添付された物品を配置または移動させながら、データの収集を行う。各々の判定エリア毎に複数回(例えば、5回〜10回)の読み取りを行い、収集したデータに基づいて上位サーバ100が基準データを生成する。
【0069】
図7は基準データの生成手順を示すフローチャートである。まず、事前に基準データ生成用タグ群を用意しておく。具体的には、運用時と同様にタグを添付した複数の物品を積載することにより、基準データ生成用タグ群を構成し、運用時と同様の移動手段によって移動又は配置する。移動手段としては、フォークリフト、台車、コンベアなどを用いることができる。
【0070】
リーダ200は、通常の運用時と同様の条件(移動速度など)で基準データ生成用タグ群の読み取りを行う(ステップS11)。このとき、基準データ生成部212は、読取制御部211に指示を与えてICタグ10の探索(インベントリ)を連続的に行う。
【0071】
ICタグ10の探索結果は基準データ生成部212に返される。基準データ生成部212は、探索結果を基にタグID毎の読取パターンとアンテナ毎の平均読取枚数を計算し、一時的に保存する(ステップS12)。
基準データ生成用タグ群を各ゲートに通過させ、ICタグ10を読み取らせる処理を、所定回数だけ繰り返す。基準データ生成部212は、読取処理を実行する都度、読取パターン及び平均読取回数を計算し、計算結果をタグID毎、判定エリア毎に保存する。
【0072】
リーダ200の読取制御部211は、ステップS12の処理の後、所定回数の読取処理が終了したか否かを判断し(ステップS13)、所定回数の読取処理が終了していない場合には(S13:NO)、処理をステップS11へ戻す。
【0073】
所定回数の読取処理が終了した場合(S13:YES)、リーダ200は、各判定エリア毎に読取パターンのクラスタリングを行う(ステップS14)。クラスタリングには、すでに知られている各種のクラスタリング手法を用いることができる。例えば、基準となる類似度の計算方法として、以下の方法を用いることができる。まず、2つの読取パターンのそれぞれの記号列を比較し、どちらも「_」であるか又は一方が「_」であれば0を、「_」以外の同じ記号(例えば、共に「A」、共に「B」など)であれば1を、異なる記号であれば−1(マイナス1)を加算してゆき、得られた整数値を全体の読取回数で除算することによって仮の類似度を求める。そして、読取パターンをずらしながら類似度計算を行い、最大の類似度を2つの読取パターンの類似度として求める。
このように各読取パターン間の類似度を算出してクラスタリングを行い、いくつかの典型的な読取パターンのクラスタを生成する。
【0074】
リーダ200の基準データ生成部212は、クラスタリングを行った後、各クラスタにおける平均読取枚数を計算する(ステップS15)。すなわち、基準データ生成部212は、各クラスタにおいて、クラスタに含まれる各読取パターンに付随するアンテナ毎の平均読取枚数についてアンテナ毎に平均を取る。通常は、全ての読取試行の読取パターンがクラスタには含まれるので、各アンテナANT毎に平均読取回数の平均を取ればよい。
【0075】
基準データ生成部212は、以上の処理を行った後に、クラスタ及びクラスタに付随するアンテナ毎の平均読取枚数を基準データとしてメモリに保存する(ステップS16)。
【0076】
次に、運用時におけるタグ読取処理の手順について説明する。図8は運用時のタグ読取処理の手順を示すフローチャートである。リーダ200の読取制御部211は、例えば、上位サーバ100からの読取開始指示を受け、記憶部204に記憶されている読取制御設定に従い、リーダ200に接続されているアンテナANTを順次使用して各判定エリアでの探索(インベントリ)処理を繰り返し行う(ステップS21)。
なお、センサ250を用いて人や物品の通過を検知し、探索処理の開始トリガを与える構成としてもよい。この場合、上位サーバ100からの読取開示指示の入力処理を省略してもよい。
【0077】
読取制御部211は、ICタグ10の探索処理と正規化処理部213への探索結果の報告とを繰り返し実行する。正規化処理部213は、読取制御部211から報告される探索結果(ICタグ10の読取結果)を待ちながら、与えられた終了条件を満たすまで、読取制御部211から報告される探索結果を一時的に記憶する(ステップS22)。ここで、リーダ200によるタグ読み取りが一定時間ないことを終了条件として用いることができる。
また、センサ250を用いて、判定エリアを通過する人や物品が検知されないことを終了条件としてもよい。
【0078】
正規化処理部213は、終了条件を満たすか否かを判断し(ステップS23)、終了条件を満たさない場合には(S23:NO)、処理をステップS21へ戻す。
【0079】
終了条件を満たすと判断した場合(S23:YES)、正規化処理部213は、読み取ったタグIDのうち、未処理のタグIDを1つ選択した上で(ステップS24)、そのタグIDを有するICタグ10の読取パターンPxを生成すると共に、アンテナANT毎の平均読取枚数を計算する(ステップS25)。
【0080】
例えば、アンテナANT1,ANT2の2枚で交互にICタグ10の読み取りを行うこととした場合、アンテナANT1,ANT2での平均読取枚数n_a、n_bは、次式により計算される。
【0081】
【数1】

【0082】
ここで、niは、i回目の読取結果における読取枚数であり、c_aは、アンテナANT1でタグ読み取りがあった回数、c_bは、アンテナANT2でタグ読み取りがあった回数を示す。また、uは、当該正規化処理にて処理するタグ読み取りの全回数を2で割った値の整数部である。
なお、数式1は、アンテナ枚数が2枚の場合の各アンテナでの平均読取枚数を表す式であるが、アンテナ枚数が3枚以上の場合についても、同様の計算方法を用いて、平均読取枚数を計算することができる。
【0083】
正規化処理部213は、ステップS25の処理の後、基準データからクラスタCkを一つ選択する。ただし、初期値はk=1、基準データの全クラスタ数をnとする(ステップS26)。
【0084】
次いで、正規化処理部213は、基準データのクラスタCkを用いて読取パターンPxを正規化する(ステップS27)。ステップS27で実行する正規化処理の詳細については後述することとする。正規化処理部213にて正規化された読取パターンN(Pk)は、リーダ200の類似度判定部214へ通知される。
【0085】
類似度判定部214は、正規化処理部213で正規化された読取パターンN(Pk)とクラスタCkとの類似度Skxを算出する(ステップS28)。類似度Skxの算出手順は、基準データの生成時と同様の手順を用いることができる。すなわち、正規化された読取パターンN(Pk)の記号列とクラスタCkが持つ記号列とを比較し、どちらも「_」であるか又は一方が「_」であれば0を、「_」以外の同じ記号(例えば、共に「A」、共に「B」など)であれば1を、異なる記号であれば−1(マイナス1)を加算してゆき、得られた整数値を全体の読取回数で除算することによって仮の類似度を求める。そして、比較対象を時間軸方向にずらしながら類似度計算を行い、最大の類似度を両者の類似度Skxとして求める。
【0086】
類似度判定部214による類似度Skxの算出が終了した場合、正規化処理部213は、カウンタkの値を1だけインクリメントし(ステップS29)、k≦nの条件を満たすか否かを判断する(ステップS30)。k≦nの条件を満たさない場合には(S30:NO)、処理をステップS27へ戻す。
【0087】
k≦nの条件を満たす場合には(S30:YES)、類似度Skxのうち最大のkを選択する(ステップS31)。
次いで、未処理のタグIDがあるか否かを判断し(ステップS32)、未処理のタグIDがある場合には(S32:YES)、処理をステップS24へ戻す。未処理のタグIDがない場合には(S32:NO)、本フローチャートによる処理を終了する。
【0088】
正規化処理部213は、以下の手順に従って選択された読取パターンの正規化を行う。図9は正規化処理の処理手順を示すフローチャートである。正規化処理においては、ある一定範囲内の変動であれば、同一時間内における読取回数は平均読取枚数に反比例すると仮定している。
読取パターンPx、クラスタCkに対するアンテナ毎の平均読取枚数をそれぞれ(n_a,n_b)及び(nk_a,nk_b)としたとき、Pxに対するCkの平均読取枚数の比の逆数として正規化係数γkを以下のように算出する(ステップS271)。
【0089】
【数2】

【0090】
なお、本実施の形態における正規化係数γkが、Pkに対するCkの平均読取枚数の比の逆数をとるのは、正規化処理の対象である平均読取回数と平均読取枚数とは反比例の関係にあるためである。
【0091】
この正規化係数γkを用いて、読取パターンPxを正規化した正規化読取パターンN(Px)を以下の手順で生成する。
【0092】
まず、全読取回数がwの読取パターンPx(以下、長さwの読取パターンPx)を、Px=c(1)c(2)c(3)…c(w)のように記号列で表記する(ステップS272)。
ここで、c(1),c(2),c(3)…,c(w)のそれぞれには、読み取ったアンテナANTを識別する「A」,「B」等の記号、又は読み取りがなかったことを示す「_」の記号が入る。ただし、c(1)には「_」以外の記号が入るものとする。
【0093】
次に、読取パターンPxから部分パターンpp(Px,y)を生成する(ステップS273)。アンテナ枚数がs枚(通常は、s≦4で運用される)としたとき、y番目(1≦y≦s)のアンテナANTの部分パターンpp(Px,y)を、以下のように与える。
【0094】
【数3】

【0095】
ここで、h=int(w/s)、r=mod(w,s)である。int(w/s)は、w/sという実数値の整数部分(すなわち、小数点1桁以下を切り捨てた値)を表す。mod(w,s)は、sを法としたwの剰余を表す。
【0096】
例えば、読取パターンPxが「A_ABA_A_A_A」である場合、部分パターンpp(Px,1)は「AAAAAA」、部分パターンpp(Py,2)は「_B___」のように表記される。ここで、一般的には、y=1のときにアンテナANT1(記号列「A」)が対応し、y=2のときにアンテナANT2(記号列「B」)に対応するものではない。
【0097】
読取パターンPxの長さ(文字数)をwとしたとき、正規化後の読取パターンN(Px)の長さw’を次のように算出する(ステップS274)。すなわち、本実施の形態では、平均読取枚数が増えれば、読取回数(長さ)が減るという関係を仮定しているため、平均読取枚数の比の逆数を表すγkを、読取パターンPxの長さwに乗算することで、正規化後の長さw’を以下のように定めている。
【0098】
【数4】

【0099】
読取パターンPxの長さwと正規化後の読取パターンN(Px)の長さw’の差分d(w)=w’−wを、各部分パターンに振り分けて、以下のように、読取パターンPxを伸張または短縮する(ステップS275)。
【0100】
次に、正規化処理部213における読取パターンPxの伸張処理について説明する。図10は読取パターンPxの伸張処理の手順を示すフローチャートである。d(w)>0の場合、正規化処理部213は、以下の各ステップの処理を実行し、読取パターンPxの伸張を行う。まず、h’=int((d(w)+r)/s)、r’=mod(d(w)+r,s)とし、y番目(1≦y≦s)のアンテナANTの部分パターンpp(Px,y)の長さをh_yとした場合、部分パターンpp(Px,y)を伸張した後の、新たな部分パターンpp’(Px,y)の長さh’_yを、以下のように算出する(ステップS281)。
【0101】
【数5】

【0102】
ここで、γ’=h’(y)/h(y)とし、pp(Px,y)=c(1)c(2)c(3)…c(h(y))とおくと、pp’(Px,y)は、以下のように構成される。
【0103】
まず、初期値として、i=i’=1、j=j’=1、m=2、x=()(ヌル文字列)を設定する(ステップS282)。
次いで、int(i×γ’)≧mの条件を満たすか否かを判断し(ステップS283)、満たす場合には(S283:YES)、i’=int(i×γ’)とした上で(ステップS284)、c(j),…,c(i)を、次の手順により、c’(j’),…,c(i’)に変換する。
int(i×γ’)≧mの条件を満たさない場合には(S283:NO)、後述するステップS293の処理へ以降させる。
【0104】
ここで、c’(j’)=c(j),…,c’(j’+p)=c(i)とし、p=i−j、p’=i’−j’−pとする(ステップS285)。
【0105】
c(i)が「_」であるか否かを判断し(ステップS286)、c(i)が「_」でない場合(S286:NO)、c(i)をp’回だけ繰り返して、c’(j’+p)に連結する(ステップS287)。
【0106】
c(i)が「_」であり(S286:YES)、c(i+1)が存在する場合には(S288:YES)、c(i)を(p’−1)回だけ繰り返して、c’(j’)…c’(j’+p)に連結した上で、最後にc(i+1)の値を連結する(ステップS289)。
【0107】
c(i)が「_」であり(S286:YES)、c(i+1)が存在しない場合には(S288:NO)、c(i)をp’回だけ繰り返して、c’(j’)…c’(j’+p)に連結する(ステップS290)。
【0108】
ステップS287、ステップS289、ステップS290の各処理の後、c’(j’)…c’(i’)をxに連結する(ステップS291)。すなわち、x=x・c’(j’)…c’(i’)を作成する。
【0109】
次いで、j=i+1、j’=i’+1とした上で(ステップS292)、i及びmの値を1だけインクリメントし(ステップS293)、i>h_yであるか否かを判断する(ステップS294)。
i>h_yでない場合には(S294:NO)、処理をステップS283へ戻し、i>h_yである場合には(S294:YES)、本フローチャートによる処理を終了する。
【0110】
以上では、読取パターンPxの伸張処理について説明したが、読取パターンPxを短縮する場合についても、伸張処理と同様の手順にて短縮後の読取パターンN(Px)を得ることができる。読取パターンPxの短縮処理は、d(w)<0の場合に実行する。
なお、d(w)=0の場合には、N(Px)=Pxである。すなわち、正規化前後で読取パターンの長さに変換が生じない場合には、正規化前の読取パターンPxをそのまま正規化後の読取パターンN(Px)とする。
【0111】
以上のように、d(w)>0における読取パターンPxの伸張処理、d(w)<0における読取パターンPxの短縮処理、d(w)=0における正規化前の読取パターンを正規化後の読取パターンとする処理を実行することにより、正規化処理部213は、正規化した読取パターンN(Px)を生成する。上述したような手順により、元の読取パターンPxの文字列のバランスを保持したまま、読取パターンPxを伸張又は短縮した読取パターンN(Px)を得ることができる。
【0112】
実施の形態2.
実施の形態1では、ICタグ10が貼り付けられた物品の移動速度は、運用時と基準データ収集時とで略同一として、運用時に取得した読取パターンを正規化した。しかしながら、リーダ200が取得するデータを基に物品の移動速度は推定可能であるため、移動速度も考慮して読取パターンを正規化することも可能である。
実施の形態2では、ICタグ10が貼り付けられた物品の移動速度を考慮して、読取パターンを正規化する構成について説明する。
【0113】
物品の移動速度は、読取制御部211から報告される読取結果のリストからアンテナ交信範囲内の読取開始と読取終了との時間間隔を測定することによって推定することができる。ただし、移動は等速度で動いていることを前提としている。
【0114】
基準データ取得時の読取開始と読取終了との時間間隔T_k、運用時の読取開始と読取終了との時間間隔をTとした場合、時間間隔の比αkは、αk=T_k/Tにより算出することができる。
【0115】
タグ読み取りによって得られる読取パターンPxの長さ(全読取回数)をwとしたとき、正規化後の長さがw’=int(w×γk×αk)となるように、読取パターンPxの伸張又は短縮を行う。ここで、γkは、実施の形態1で説明した、基準データ生成時と運用時における平均読取枚数の比の逆数を表す係数である。
正規化後の長さがw’となるように読取パターンPxを伸張又は短縮する手法は、実施の形態1と全く同様である。すなわち、読取パターンPxの長さwと正規化後の読取パターンN(Px)の長さw’の差分を、読取パターンPxから生成した部分パターンのそれぞれに振り分けて、読取パターンPxを伸張または短縮する。
【0116】
実施の形態2では、ICタグ10が貼り付けられた物品の移動速度が、基準データ収集時と運用時との間で略同一であるという前提が不要となるため、運用形態に左右されずに判定精度の劣化を防止することができる。
【0117】
実施の形態3.
実施の形態1では、基準データの生成、読取パターンの正規化、類似度判定の各処理をリーダ200側で行うシステム構成としたが、上位サーバ100側で行う構成としてもよい。
実施の形態3では、リーダ200を介して取得するICタグ10の検出結果を基に、上位サーバ100が基準データの生成、読取パターンの正規化、類似度判定の各処理を行う構成について説明する。
【0118】
図11は実施の形態3に係る上位サーバ100及びリーダ200の機能構成を説明するブロック図である。リーダ200は、読取制御設定に従って自律的に動作し、ICタグ10の読み取りを行う。読取制御部211は、記憶部204から読取制御設定の内容をロードし、記述されている制御手順に従って、各々のアンテナANTに対応するRF部203に対してICタグ10の探索(インベントリ)コマンドを送信するよう制御し、ICタグ10からの応答を読み取る。
本実施の形態では、読み取ったタグIDの情報を、通信部202を介して上位サーバ100へ送信する。
【0119】
上位サーバ100は、通信部104を通じて受信したリーダ200からのタグIDのデータを基に基準データを生成する基準データ生成部112を備える。基準データの生成手法は、実施の形態1と全く同様である。
また、上位サーバ100のタグデータ処理部113は、通信部104を通じて新たに受信したリーダ200からのタグIDのデータを正規化する正規化処理部113aと、正規化したデータを基に基準データとの類似度判定を行う類似度判定部113bとを備える。正規化処理部113aが実行する正規化処理、及び類似度判定部113bが実行する類似度判定処理は、実施の形態1のリーダ200が実施する正規化処理及び類似度判定処理と全く同様である。
【0120】
実施の形態2では、現場に設置するリーダの構成を簡略化することができ、現場での設置の柔軟性が向上する。
【0121】
以上の実施の形態に関し、更に以下の付記を開示する。
【0122】
(付記1)
被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得するデータ取得部と、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記データ取得部が取得したデータとを比較して、前記データ取得部が取得したデータを、そのデータ長が前記基準データのデータ長と等しくなるように補正するデータ補正部と、
該データ補正部が補正したデータと前記基準データとの類似度を判定する類似度判定部と、
該類似度判定部による判定結果に基づき、被検出体が前記特定の領域を通過したか否かを判定する判定部と
を備えることを特徴とする判定装置。
【0123】
(付記2)
前記データ補正部は、前記基準データを生成した際の被検出体の検出状況を示す値と前記データ取得部が新たにデータを取得した際の被検出体の検出状況を示す値との比を算出し、算出した比を用いて、前記データ取得部が新たに取得したデータを正規化するようにしてあることを特徴とする付記1に記載の判定装置。
【0124】
(付記3)
前記データ補正部による比較対象の検出状況を示す値は、前記検出器が検出した被検出体の個数であることを特徴とする付記2に記載の判定装置。
【0125】
(付記4)
前記データ補正部による比較対象の検出状況を示す値は、被検出体が前記特定の領域を通過するのに要した時間であることを特徴とする付記2に記載の判定装置。
【0126】
(付記5)
前記データ補正部は、算出した比に応じて、前記データを伸張又は短縮するようにしてあることを特徴とする付記4に記載の判定装置。
【0127】
(付記6)
前記データ補正部は、前記データを時間方向に複数に分割した部分データを生成し、算出した比に応じて、生成した部分データの夫々を伸張又は短縮するようにしてあることを特徴とする付記5に記載の判定装置。
【0128】
(付記7)
被検出体の検出結果に応じたデータを時系列的に出力する検出器と、
該検出器が出力するデータを取得するデータ取得部、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記データ取得部が取得したデータとを比較して、前記データ取得部が取得したデータを、そのデータ長が前記基準データのデータ長と等しくなるように補正するデータ補正部、
該データ補正部が補正したデータと前記基準データとの類似度を判定する類似度判定部、及び
該類似度判定部による判定結果に基づき、被検出体が前記特定の領域を通過したか否かを判定する判定部を備える判定装置と
を含むことを特徴とする判定システム。
【0129】
(付記8)
被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得し、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記検出器から取得したデータとを比較し、
比較した結果に基づいて、前記取得したデータをそのデータ長が前記基準データのデータ長と等しくなるように補正し、
補正して得られるデータと前記基準データとの類似度を判定し、
判定した結果に基づき、被検出体が前記特定の領域を通過したか否かを判定することを特徴とする判定方法。
【0130】
(付記9)
コンピュータに、被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得させるステップと、
コンピュータに、特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記検出器から取得したデータとを比較させるステップと、
コンピュータに、比較させた結果に基づいて、前記取得したデータをそのデータ長が前記基準データのデータ長と等しくなるように補正させるステップと、
コンピュータに、補正して得られるデータと前記基準データとの類似度を判定させるステップと、
コンピュータに、判定させた結果に基づき、被検出体が前記特定の領域を通過したか否かを判定させるステップと
を実行させることを特徴とするコンピュータプログラム。
【符号の説明】
【0131】
10 ICタグ(被検出体)
100 上位サーバ
101 制御部
102 ROM
103 RAM
104 通信部
105 記憶部
106 表示部
107 操作部
200 リーダ(判定装置)
201 制御部
202 通信部
203 RF部
204 記憶部
206 外部入出力部
250 センサ
ANT アンテナ(検出器)

【特許請求の範囲】
【請求項1】
被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得するデータ取得部と、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記データ取得部が取得したデータとを比較して、前記データ取得部が取得したデータを、そのデータ長が前記基準データのデータ長と等しくなるように補正するデータ補正部と、
該データ補正部が補正したデータと前記基準データとの類似度を判定する類似度判定部と、
該類似度判定部による判定結果に基づき、被検出体が前記特定の領域を通過したか否かを判定する判定部と
を備えることを特徴とする判定装置。
【請求項2】
前記データ補正部は、前記基準データを生成した際の被検出体の検出状況を示す値と前記データ取得部が新たにデータを取得した際の被検出体の検出状況を示す値との比を算出し、算出した比を用いて、前記データ取得部が新たに取得したデータを正規化するようにしてあることを特徴とする請求項1に記載の判定装置。
【請求項3】
被検出体の検出結果に応じたデータを時系列的に出力する検出器と、
該検出器が出力するデータを取得するデータ取得部、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記データ取得部が取得したデータとを比較して、前記データ取得部が取得したデータを、そのデータ長が前記基準データのデータ長と等しくなるように補正するデータ補正部、
該データ補正部が補正したデータと前記基準データとの類似度を判定する類似度判定部、及び
該類似度判定部による判定結果に基づき、被検出体が前記特定の領域を通過したか否かを判定する判定部を備える判定装置と
を含むことを特徴とする判定システム。
【請求項4】
被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得し、
特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記検出器から取得したデータとを比較し、
比較した結果に基づいて、前記取得したデータをそのデータ長が前記基準データのデータ長と等しくなるように補正し、
補正して得られるデータと前記基準データとの類似度を判定し、
判定した結果に基づき、被検出体が前記特定の領域を通過したか否かを判定することを特徴とする判定方法。
【請求項5】
コンピュータに、被検出体の検出結果に応じたデータを時系列的に出力する検出器からデータを取得させるステップと、
コンピュータに、特定の領域を被検出体が通過した際に前記検出器が出力すべきデータを示す基準データと前記検出器から取得したデータとを比較させるステップと、
コンピュータに、比較させた結果に基づいて、前記取得したデータをそのデータ長が前記基準データのデータ長と等しくなるように補正させるステップと、
コンピュータに、補正して得られるデータと前記基準データとの類似度を判定させるステップと、
コンピュータに、判定させた結果に基づき、被検出体が前記特定の領域を通過したか否かを判定させるステップと
を実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate