(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169440
(43)【公開日】2023-11-30
(54)【発明の名称】端末、サーバ、タスク実行方法及び情報提供方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20231122BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020136887
(22)【出願日】2020-08-14
(71)【出願人】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】菊池 悠太
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】物品を対象とした何れかのタスクを処理するための技術を提供することである。
【解決手段】本開示の一態様は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備え、前記少なくとも1つのプロセッサは、物品の識別情報をサーバに送信することと、前記サーバから前記物品に関する物品情報を受信することと、前記物品情報に基づいて、前記物品に関するタスクを実行することと、を実行可能に構成され、前記物品に関するタスクは、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかである、端末に関する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
物品の識別情報をサーバに送信することと、
前記サーバから前記物品に関する物品情報を受信することと、
前記物品情報に基づいて、前記物品に関するタスクを実行することと、
を実行可能に構成され、
前記物品に関するタスクは、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかである、
端末。
【請求項2】
前記物品情報は、少なくとも、前記物品の形状、前記物品の重量、前記物品の物品種別、前記物品を操作する際の留意事項、又は、前記物品の3Dモデルの何れかに関する情報を含む、請求項1記載の端末。
【請求項3】
前記物品情報は、前記物品の3Dモデルを含み、
前記タスクは、少なくとも前記3Dモデルを用いた前記物品の把持又は前記3Dモデルを用いた前記物品の認識の何れかである、
請求項1又は2記載の端末。
【請求項4】
前記物品情報は、前記物品に関するタスクを実行するための機械学習モデルの更新情報を含む、請求項1乃至3何れか一項記載の端末。
【請求項5】
前記少なくとも1つのプロセッサは更に、前記サーバから前記機械学習モデルを受信すること、を実行可能に構成され、
前記更新情報は、受信した前記機械学習モデルの更新情報である、
請求項4に記載の端末。
【請求項6】
前記少なくとも1つのプロセッサは更に、更新前の前記機械学習モデルを前記サーバに送信すること、を実行可能に構成され、
前記更新情報は、送信した前記機械学習モデルの更新情報である、
請求項4に記載の端末。
【請求項7】
前記更新情報は、少なくとも、前記機械学習モデルのパラメータ、又は、前記機械学習モデルの勾配情報の何れかを含む、請求項4乃至6何れか一項記載の端末。
【請求項8】
前記少なくとも1つのプロセッサは更に、
前記端末の種別情報を前記サーバに送信することと、
前記識別情報と前記種別情報とに対応する前記物品情報を前記サーバから受信することと、
を実行可能に構成される、
請求項1乃至7何れか一項記載の端末。
【請求項9】
少なくとも1つのメモリと、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
物品の識別情報を端末から受信することと、
前記物品に関する物品情報を前記端末に送信することと、
を実行可能に構成され、
前記物品情報は、前記端末が、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかを実行する際に必要な情報である、
サーバ。
【請求項10】
少なくとも1つのプロセッサが、物品の識別情報をサーバに送信することと、
前記少なくとも1つのプロセッサが、前記サーバから前記物品に関する物品情報を受信することと、
前記少なくとも1つのプロセッサが、前記物品情報に基づき前記物品に関するタスクを実行することと、
を有し、
前記物品に関するタスクは、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかである、
タスク実行方法。
【請求項11】
少なくとも1つのプロセッサが、物品の識別情報を端末から受信することと、
前記少なくとも1つのプロセッサが、前記物品に関する物品情報を前記端末に送信することと、
を有し、
前記物品情報は、前記端末が、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかを実行する際に必要な情報である、
情報提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、端末、サーバ、タスク実行方法及び情報提供方法に関する。
【背景技術】
【0002】
製造現場や物流現場においてロボットの利用が拡大している。例えば、工場では、様々な製造工程にロボットが導入されてきている。また、物流倉庫では、商品の運搬・搬出にロボットが利用されてきている。
【0003】
ロボットの普及によって、オフィスや家庭においてもロボットの導入が検討されてきている。例えば、ロボットにオフィスや宅内の物品を把持や移動させたりすることが検討されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願公開第2020/0014761号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の課題は、物品を対象とした何れかのタスクを処理するための技術を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本開示の一態様は、少なくとも1つのメモリと、少なくとも1つのプロセッサと、を備え、前記少なくとも1つのプロセッサは、物品の識別情報をサーバに送信することと、前記サーバから前記物品に関する物品情報を受信することと、前記物品情報に基づいて、前記物品に関するタスクを実行することと、を実行可能に構成され、前記物品に関するタスクは、少なくとも前記物品の操作又は前記物品に関する情報の推論の何れかである、端末に関する。
【図面の簡単な説明】
【0007】
【
図1】本開示の一実施例による物品操作システムを示す概略図である。
【
図2】本開示の一実施例によるサーバの機能構成を示すブロック図である。
【
図3】本開示の一実施例による端末の機能構成を示すブロック図である。
【
図4】本開示の一実施例によるニューラルネットワークを示す図である。
【
図5】本開示の一実施例によるサーバによる物品情報の送受信処理を示すフローチャートである。
【
図6】本開示の一実施例による端末による物品操作制御処理を示すフローチャートである。
【
図7】本開示の一実施例によるサーバ及び端末のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、図面に基づいて本開示の実施の形態を説明する。
【0009】
以下の実施例では、物品の操作(例えば、把持、移動、搬送等)、物品に関する情報の推論(例えば、認識、検品、異常検知等)、物品に関する情報の提示等、物品を対象として何らかのタスクを実行する端末(例えば、ロボット、スマートスピーカー、AR(Augumented Reality)/MR(Mixed Reality)グラス、スマートフォン、ゲーム機、移動体等)と、物品を対象としたタスクを実行するのに利用される物品情報を端末に提供するサーバとが開示される。なお、端末・サーバともに複数台備えてもよい。また、複数の端末のうちの1つ以上の端末が、サーバとしての役割を実行してもよい。
【0010】
以下の実施例は、物品を対象としたタスクとして、物品に対する物理的操作を実行する端末に着目して説明するが、本開示によるタスクは、これに限定されるものでない。例えば、本開示によるタスクは、物品を把持することや押すことや引っ張ること(例えば、物品の整列、陳列等)、物品の搬送(例えば、ベルトコンベアによる物品の搬送等)等の物品との物理的な接触を伴うタスクだけでなく、物品の認識(例えば、物品の位置や姿勢を他のデバイスに伝える等)、物品の検品や異常検知(例えば、当該物品の3Dモデルとの比較、傷の検出等)等の物品との物理的接触を伴わないタスク(物品に関する情報の推論等)を含んでもよい。
[物品操作システム]
まず、
図1を参照して、本開示の一実施例による物品操作システムを説明する。
図1は、本開示の一実施例による物品操作システムを示す概略図である。
【0011】
図1に示されるように、物品操作システム10は、サーバ100及び端末200を有する。サーバ100は、例えば、ネットワークを介しユーザの端末200に通信接続され、端末200は、サーバ100から取得した物品情報を利用して、取得した物品情報に対応する物品を操作する。端末200は、例えば、物品を把持、移動等するロボットであってもよい。しかしながら、本開示による端末は、これに限定されず、スマートスピーカー(例えば、商品としての物品の取り扱い情報やキャンペーン情報などに関する音声や画像の出力)、AR/MRグラス(例えば、物品の3Dモデルを利用した説明、情報等の提示)、スマートフォン(例えば、ARアプリ)、ゲーム機(付属のカメラにより撮像された画像のゲーム内での利用)、カメラ、センサ、ディスプレイ等を備えたデバイス(例えば、観葉植物の水分状態、栄養状態、日照状態等を監視し、登録されている適切な状態に基づき水分や栄養を補給したり、日照を調整するデバイス、天井や壁面に動画等を投影するプロジェクタ及び当該デバイスの制御プログラム)であってもよい。また、端末200は、物品情報として取得した物品の3Dモデルを利用して、物品を認識してもよいし、物品を把持してもよい。また、物品操作システム10は、物品に関するタスクに対応したタスク処理システムとして実現されうる。
【0012】
例えば、物品情報は、当該物品の形状、重量、種別などのように物品に関する情報であってもよい。また、物品情報は、当該物品を操作する際の留意事項(例えば、把持する箇所、壊れやすい箇所など)などのように当該物品を操作する際に直接的に又は間接的に必要となる情報であってもよい。
【0013】
また、端末200がニューラルネットワークモデルを利用して、当該物品を操作する場合、物品情報は、当該ニューラルネットワークモデルに対するパラメータ、勾配情報等の更新情報であってもよい。この場合、端末200は、例えば、予め保持する物品操作のためのニューラルネットワークモデルに対して、取得した物品情報に示されたパラメータによって当該ニューラルネットワークモデルのパラメータを置換したり、あるいは、取得した物品情報に示された勾配情報に従ってニューラルネットワークモデルを更新してもよい。そして、端末200は、カメラ等によって取得した物品の画像と、ユーザからの操作指示とを更新されたニューラルネットワークモデルに入力し、ニューラルネットワークモデルから出力される操作手順に従って物品を操作する。なお、ニューラルネットワークに入力する情報は、マイクロフォンで取得した物品が発する音に関する情報であってもよい。
【0014】
例えば、把持の場合、物品情報は、搭載されている把持モデルに依存した情報(ニューラルネットワークモデルに対する追加パラメータであってもよいし、キーポイントベースならその商品用のキーポイントであってもよい)であってもよい。また、物品情報は、把持のために接触してはならない部分を3Dモデル上で特定したもの、何れかのプロトコルに従って記述される把持、置く等のため、重量、重心位置、柔らかい部分、固い部分、耐荷重、上に物を重ねていいか、何かの上に置いていいか、押しのけてもいいか、などのデフォルト値を示してもよい。また、物品情報は、デフォルトの片付け場所(例えば、家具に家具タイプ等が登録され、部屋タイプ(例えば、キッチン)と収納タイプ(例えば、戸棚)の組み合わせで片付け場所を指定してもよい。また、載置の場合、物品情報は、デフォルト姿勢(例えば、ペットボトルはひっくり返して置かない等)を示してもよい。ペットボトルの場合、物品情報は、「キャップ」、「本体」、「ラベル」のような パーツ情報であってもよく、パート毎に「注ぐ、運ぶときに持つ部分」、「ひねって開けるための部分」など 機能面でのアノテーションを示してもよい。また、物品情報は、組み立て家具の場合、その組み立て方を3Dモデルを使って提示するCGモデル(ARでの表示やスマホでの表示)であってもよい。また、物品情報は、観葉植物の場合、その世話の仕方、目安の水分量、日照量などを示してもよい。また、物品情報は、物品を操作するための3Dモデル等の情報でもよく、端末200はこの物品情報に基づいて物品を操作することができる。また、物品情報が物品に関する情報を含み、端末200がこの情報を少なくとも音声又は画像のいずれかを用いて出力するようにしてもよい。物品プロバイダ50は、キャンペーン等の物品の一時的な追加情報を含む各種情報を(初回登録時以外も必要があれば)追加又は更新し、端末200にプッシュ送信してもよい。
【0015】
ステップS101において、サーバ100は、物品プロバイダ50から物品に関する物品情報を取得する。物品プロバイダ50は、ユーザに販売又は提供される物品の形状情報、重量、物品種別、3D CAD等の3Dモデル、留意事項、ニューラルネットワークモデルの更新情報等を示す物品情報を予め生成し、サーバ100に登録する。なお、物品プロバイダ50は、当該物品を製造、販売等する企業等のコンピュータによって実現されてもよい。しかしながら、本開示による物品情報は、これに限定されず、サーバ100によって生成されてもよい。また、ニューラルネットワークモデルの更新情報は、サーバ100によって生成されてもよい。この場合、物品プロバイダ50は、ニューラルネットワークの訓練に用いる画像集合や訓練したニューラルネットワークの性能を検証するための(正解アノテーション付き)画像集合をサーバ100に提供してもよい。また、ニューラルネットワークモデルの更新情報は、端末200によって生成されてもよい。この場合、生成された更新情報は、各端末200からサーバ100に送信され、サーバ100は、各端末200から受信した各端末200に個別の更新情報に基づきニューラルネットワークモデルの更新情報を生成し、各端末200に配信してもよい。また、物品プロバイダ50は物品そのものをサーバ100の管理者へ送付し、物品情報の登録を委託しても良い。
【0016】
ステップS102において、サーバ100は、取得した物品情報に対して当該物品を識別する物品識別情報を生成し、生成した物品識別情報を物品プロバイダ50に送信する。また、サーバ100は、物品プロバイダ50から取得した物品情報と、当該物品の物品識別情報とを関連付けて保持する。しかしながら、本開示による物品識別情報は、これに限定されず、物品プロバイダ50によって生成され、サーバ100に提供されてもよい。また、端末200に有用な情報が、サーバ100の内部のシミュレータ等で補完されてもよい。例えば、ビジョン用のニューラルネットワークの訓練に加えて、(端末200がロボットである場合)、把持等の動作に関するシミュレーションを行って、把持用のニューラルネットワークの更新情報や安定した把持姿勢の情報等が、サーバ100から提供されてもよい。
【0017】
ステップS103において、端末200は、物品プロバイダ50から物品と当該物品の物品識別情報(物品の識別情報)とを取得する。例えば、ユーザがある物品を店頭で購入すると、端末200は、当該物品に添付される説明書、当該物品の包装箱等に記載されたバーコード等を撮像することによって、当該物品の物品識別情報を取得してもよい。また、端末200は、当該物品を撮像した画像と物品識別情報とを関連付けて保持してもよい。これにより、端末200がカメラ等によって操作対象の物品を特定すると、当該物品に対応する物品識別情報を抽出することができる。また、物品識別情報は、物品自体から取得されてもよい。例えば、物品自体に物品識別情報が記載されていてもよく、端末200は、当該記載を読み取ることによって物品識別情報を取得してもよい。また、端末200のカメラで取得した物品の画像情報等を物品識別情報としてもよい。
【0018】
ステップS104において、端末200は、物品の物品識別情報をサーバ100に送信する。例えば、端末200は、自らネットワークに接続し、物品識別情報をサーバ100に送信してもよいし、あるいは、ユーザのスマートフォンなどの他の通信装置を介し物品識別情報をサーバ100に送信してもよい。
【0019】
ステップS105において、サーバ100は、受信した物品識別情報に対応する物品情報を端末200に送信する。端末200は、受信した物品情報を保持し、当該物品情報に基づき物品に対する操作を制御する。なお、端末200は、ユーザのスマートフォンなどの他の通信装置を介して物品情報をサーバ100から取得してもよい。
【0020】
ここで、端末200は、物品識別情報の取得時に当該物品の物品情報をサーバ100から取得してもよいし、あるいは、当該物品の操作時に物品情報をサーバ100から取得してもよい。
【0021】
なお、上述した実施例では、物品プロバイダ50とサーバ100とは別々の装置であったが、本開示はこれに限定されず、物品プロバイダ50とサーバ100とは同一の装置として実現されてもよい。
[サーバ]
次に、
図2を参照して、本開示の一実施例によるサーバ100を説明する。
図2は、本開示の一実施例によるサーバ100の機能構成を示すブロック図である。
【0022】
図2に示されるように、サーバ100は、物品情報受付部110、物品識別情報割当部120及び物品情報格納部130を有する。
【0023】
物品情報受付部110は、物品の物品情報を受け付ける。具体的には、物品情報受付部110は、物品プロバイダ50から物品情報を受け付ける。例えば、物品情報は、当該物品の形状情報、重量、物品種別、留意事項などを示すものであってもよい。また、物品情報は、物品に対する操作を制御するためのニューラルネットワークモデルの更新情報を示すものであってもよい。例えば、更新情報は、訓練済みのニューラルネットワークモデルに対する更新用のパラメータ又は勾配情報を含んでもよい。
【0024】
物品識別情報割当部120は、物品を識別する物品識別情報を当該物品に割り当てる。具体的には、物品プロバイダ50から物品情報を受け付けると、物品識別情報割当部120は、受け付けた物品情報の物品を一意的に識別する物品識別情報を当該物品に付与し、付与した物品識別情報を物品プロバイダ50に提供する。例えば、物品識別情報は、英数字の文字列であってもよく、1次元又は2次元バーコードに変換可能であってもよい。
【0025】
物品情報格納部130は、受け付けた物品情報を格納する。具体的には、物品情報格納部130は、物品プロバイダ50から受け付けた物品情報を、当該物品の物品識別情報と関連付けてデータベース等に格納する。後述するように、端末200又は端末200に通信接続された当該ユーザのスマートフォン等の通信装置から物品識別情報を取得すると、物品情報格納部130は、取得した物品識別情報に対応する物品情報を端末200又は通信装置に提供する。なお、物品識別情報として物品の画像情報を取得した場合、この画像情報に対して認識処理を実行して物品を特定し、特定した物品に対応する物品情報を端末200又は通信装置に提供してもよい。
【0026】
一実施例では、物品情報格納部130は、端末200の種別情報に対応する物品情報を端末200に提供してもよい。例えば、端末200が物品に関するタスクを実行するためのニューラルネットワークモデルなどの機械学習モデルを備える場合、物品情報格納部130は、当該機械学習モデルに対する更新情報を端末200に提供してもよい。このため、端末200は、サーバ100に対する物品情報取得要求に自らの種別情報を含めてもよい。
【0027】
また、一実施例では、端末200は、自端末で保有するニューラルネットワークモデルなどの物品に関するタスクを実行するための機械学習モデルに関する情報をサーバ100に送信し、物品情報格納部130は、受信した機械学習モデルに関する情報に基づいて、端末200に送信する物品情報を制御してもよい。
【0028】
また、一実施例では、サーバ100は、種別情報に基づいて端末200が実行する物品を対象とするタスクを特定し、このタスクに必要な物品情報を端末200に送信するようにしてもよい。
【0029】
また、一実施例では、物品情報格納部130は、端末200によって所望される物品情報を端末200に提供してもよい。例えば、端末200が操作対象の物品の重量を所望する場合、物品情報格納部130は、物品の重量を物品情報として端末200に提供してもよい。
【0030】
なお、上述した実施例では、サーバ100が物品情報を端末200に提供しているが、本開示による物品情報は、物品プロバイダ50から端末200に直接提供されてもよい。例えば、追加的な物品情報又は更新された物品情報が、適宜物品プロバイダ50から端末200にプッシュ送信されてもよい。
[端末]
次に、
図3を参照して、本開示の一実施例による端末200を説明する。
図3は、本開示の一実施例による端末200の機能構成を示すブロック図である。
【0031】
図3に示されるように、端末200は、ユーザインタフェース部210、情報格納部220及び制御部230を有する。
【0032】
ユーザインタフェース部210は、ユーザインタフェースを提供する。具体的には、ユーザが物品を入手すると、ユーザインタフェース部210は、当該物品の物品識別情報を取得する。例えば、ユーザが物品識別情報を示すバーコードを撮像することによって、あるいは、物品識別情報を示す英数字の文字列を入力することによって、ユーザインタフェース部210は、物品識別情報を取得してもよい。また、ユーザインタフェース部210は、物品プロバイダ50から物品識別情報を取得してもよい。
【0033】
また、ユーザから操作指示を受け付けると、ユーザインタフェース部210は、当該操作指示を制御部230に提供する。具体的には、端末200がアームを備えたロボットとして実現される場合、操作指示は、端末200に物品を把持、移動、搬送させるものであってもよい。例えば、操作指示は、「位置Aにある物品Xを位置Bに移動して下さい」などのユーザによる音声指示であってもよい。この場合、端末200は、何れか既存の音声認識技術を利用して、当該音声指示を「物品Xを位置Aから位置Bに移動する」操作指示であると認識してもよい。なお、ユーザインタフェース部210は、事前に登録されたタスク又はユーザにより登録されたタスクを受け付けてもよく、この場合、登録されたタスク対象の物品が操作対象として追加されてもよい。
【0034】
情報格納部220は、取得した物品識別情報を格納する。具体的には、情報格納部220は、ユーザインタフェース部210によって取得された物品識別情報を格納する。例えば、情報格納部220は、物品識別情報と、当該物品の画像とを関連付けて格納してもよい。また、物品情報が取得されている場合、情報格納部220は、物品識別情報と物品情報とを関連付けて格納してもよい。
【0035】
制御部230は、物品に対する操作を制御する。具体的には、制御部230は、ユーザからの操作指示に従って、操作対象の物品の物品情報を抽出し、抽出した物品情報に基づき当該物品に対する操作を制御する。なお、制御部230は、事前に登録されたタスク又はユーザにより登録されたタスクについて、登録されたタスク対象の物品を操作対象として追加してもよい。
【0036】
例えば、操作指示が卓上に置かれた本を本棚に移動するように、アームを備えたロボットとして実現される端末200に指示するものである場合、制御部230は、操作対象の本を撮像し、撮像した本の画像に対応する物品識別情報を情報格納部220から抽出する。
【0037】
抽出した物品識別情報に対応する物品情報が情報格納部220に格納されている場合、制御部230は、当該物品情報に従って本を卓上から本棚に移動するようアームを制御する。例えば、物品情報が本の形状情報(例えば、A5サイズ、A4サイズ、ページ数など)及び物品種別(例えば、ソフトカバー、ハードカバーなど)を示す場合、制御部230は、取得した物品情報に適してアームを制御し、本を把持し、本棚に移動してもよい。
【0038】
他方、抽出した物品識別情報に対応する物品情報が情報格納部220に格納されていない場合、制御部230は、物品識別情報と共に、当該物品の物品情報に対する取得要求をサーバ100に送信し、サーバ100から要求した物品情報を取得する。そして、制御部230は、取得した物品情報を情報格納部220に格納すると共に、同様にして物品情報に従って本を卓上から本棚に移動するようアームを制御する。
【0039】
また、物品に対する操作を制御するための機械学習モデルがサーバ100から端末200に事前に提供されてもよく、制御部230は、当該機械学習モデルを利用して、ユーザからの操作指示に従って物品に対する操作を制御してもよい。この場合、物品情報は、当該物品を適切に操作するための機械学習モデルに対する更新情報であってもよい。
【0040】
例えば、機械学習モデルが端末200に事前に提供されているニューラルネットワークモデルである場合、制御部230は、操作対象の物品の更新情報を取得し、取得した更新情報に従ってニューラルネットワークモデルを更新してもよい。また、制御部230は、更新前のニューラルネットワークモデルをサーバ100に送信し、当該送信したニューラルネットワークモデルの更新情報をサーバ100から受信し、受信した更新情報に従ってニューラルネットワークモデルを更新してもよい。具体的には、更新情報がニューラルネットワークモデルのパラメータである場合、制御部230は、取得したパラメータによってニューラルネットワークモデルを更新し、更新されたニューラルネットワークモデルによって物品に対する操作を制御してもよい。また、更新情報がニューラルネットワークモデルの勾配情報である場合、制御部230は、取得した勾配情報によってニューラルネットワークモデルを更新し、更新されたニューラルネットワークモデルによって物品に対する操作を制御してもよい。すなわち、端末200は、サーバ100からベースとなる機械学習モデルを取得し、取得した機械学習モデルをサーバ100から送信される更新情報に基づいて、更新してもよい。この場合、サーバ100は、端末200が保有する機械学習モデルの情報を端末IDと紐づけて管理することが可能になる。また、サーバ100は、端末200から取得した物体識別情報に基づいて、端末200に対して適した更新情報を送信することが可能になる。また、端末200が保有する機械学習モデルをサーバ100に送信し、サーバ側でこの機械学習モデルに対する更新情報を生成するようにしてもよい。このように、更新情報は、機械学習モデルのパラメータと機械学習モデルの勾配情報との一方又は双方を含んでもよい。
【0041】
一例として、端末200に事前に提供されたニューラルネットワークモデルが、
図4に示される特徴抽出部、物体識別部及び物体識別拡張部から構成されているとする。ここで、特徴抽出部は、例えば、畳み込みニューラルネットワークとして実現されてもよい。また、物体識別部は、物体種別毎の情報(ベクトル)と特徴とのマッチングを行うニューラルネットワークのsoftmax層、識別器、マッチング部であってもよい。物体識別拡張部は、新規な物体に関する物体情報を追加する。この場合、操作対象の物品に対する物品情報は、物体識別拡張部として示されるように、物体識別部に対する付加部分を示すものであってもよい。このような更新情報を取得すると、制御部230は、更新情報に従って物体識別部に付加部分を追加し、特徴抽出部及び物体識別拡張部によって当該物品に対する操作を制御する。具体的には、制御部230は、物品の画像を特徴抽出部に入力し、特徴ベクトル又は特徴マップを取得する。そして、制御部230は、取得した特徴ベクトル又は特徴マップを物体識別部320に入力し、取得した特徴ベクトル又は特徴マップと、追加物体情報とに従って物体種別を特定し、特定した物体種別に従って当該物品に対する操作を制御する。ここで、物体種別は、当該物体が撮像されているバウンディングボックスやセグメンテーションマスクなどであってもよい。
【0042】
一実施例では、制御部230は、端末200の種別情報をサーバ100に送信し、物品識別情報と種別情報とに対応する物品情報をサーバ100から取得してもよい。すなわち、物品情報は、端末200の種別(例えば、ロボット、スマートスピーカー、AR(Augumented Reality)/MR(Mixed Reality)グラス、スマートフォン、ゲーム機、移動体等)に応じて準備されていてもよく、制御部230は、端末200の種別情報をサーバ100に送信し、端末200の種別に対応した物品情報をサーバ100から取得してもよい。
[物品情報の送受信処理]
次に、
図5を参照して、本開示の一実施例による物品情報の送受信処理を説明する。当該送受信処理は、上述したサーバ100によって実行され、例えば、サーバ100の1つ以上のメモリに格納されたプログラムを1つ以上のプロセッサが実行することによって実現されうる。
図5は、本開示の一実施例による物品情報の送受信処理を示すフローチャートである。
【0043】
図5に示されるように、ステップS201において、サーバ100は、物品プロバイダ50から物品情報を受け付ける。例えば、物品プロバイダ50は、物品の販売前などに、当該物品の物品情報の登録要求をサーバ100に送信してもよい。ここで、物品情報は、物品の形状、物品の重量、物品の物品種別、物品を操作する際の留意事項、及び物品の3Dモデルの何れかに関する情報の何れか1つ以上を含んでもよい。
【0044】
ステップS202において、サーバ100は、取得した物品情報の物品に対して物品識別情報を付与し、付与した物品識別情報を物品プロバイダ50に返す。サーバ100は、取得した物品情報と物品識別情報とを関連付けてデータベース等に格納する。
【0045】
ステップS203において、サーバ100は、端末200から物品識別情報を含む物品情報取得要求受信する。例えば、ユーザがある物品に対する操作指示を端末200に与えた場合、端末200は、操作対象の物品の物品識別情報をサーバ100に送信する。
【0046】
ステップS204において、サーバ100は、受信した物品識別情報に対応する物品情報を端末200に返す。例えば、物品情報は、当該物品の形状情報、重量、物品種別、留意事項などを示すものであってもよい。
【0047】
ここで、サーバ100は、端末200の端末種別に対応する物品情報を提供してもよいし、端末200が所望する物品情報を端末200に提供してもよい。例えば、端末200が物品に対する操作を制御するためのニューラルネットワークモデルを有する端末種別である場合、サーバ100は、当該ニューラルネットワークモデルの更新情報を物品情報として提供してもよい。例えば、更新情報は、ニューラルネットワークモデルのパラメータ又は勾配情報を含んでもよい。
【0048】
なお、上述した実施例では、サーバ100が物品情報を端末200に提供しているが、本開示による物品情報は、物品プロバイダ50から端末200に直接提供されてもよい。例えば、追加的な物品情報又は更新された物品情報が、適宜物品プロバイダ50から端末200にプッシュ送信されてもよい。
[物品操作制御処理]
次に、
図6を参照して、本開示の一実施例による物品操作制御処理を説明する。当該物品操作制御処理は、上述した端末200によって実行され、例えば、端末200の1つ以上のメモリに格納されたプログラムを1つ以上のプロセッサが実行することによって実現されうる。
図6は、本開示の一実施例による物品操作制御処理を示すフローチャートである。
【0049】
図6に示されるように、ステップS301において、端末200は、物品プロバイダ50から物品識別情報を取得する。例えば、ユーザが物品を購入した際、端末200は、物品プロバイダ50から提供される物品識別情報を取得してもよい。端末200は、取得した物品識別情報と当該物品の画像とを関連付けて保持してもよい。なお、端末200は、物品プロバイダ50からではなく、購入した物品そのもの若しくはその付属品から物品識別情報を取得してもよい。また、端末200は、ユーザのスマートフォンなどの他の通信装置を介して物品情報を取得してもよい。
【0050】
ステップS302において、端末200は、ユーザから物品に対する操作指示を受け付ける。具体的には、操作指示は、端末200に物品を把持、移動させるものであってもよい。例えば、操作指示は、「位置Aにある物品Xを位置Bに移動して下さい」などのユーザによる音声指示であってもよい。この場合、端末200は、何れか既存の音声認識技術を利用して、当該音声指示を「物品Xを位置Aから位置Bに移動する」操作指示であると認識してもよい。なお、ステップS302は省略されてもよい。物品に対する操作指示が与えられない場合であっても、端末200は、新たに取得(購入)された物品の物品情報をサーバ100から取得してもよい。
【0051】
ステップS303において、端末200は、操作対象の物品の物品識別情報をサーバ100に送信する。例えば、端末200は、操作対象の物品をカメラ等で撮像し、当該物品に対応する画像から物品識別情報を特定する。そして、端末200は、特定した物品識別情報を含む物品情報取得要求をサーバ100に送信する。また、端末200は、端末種別及び/又は所望の物品情報種別(例えば、形状情報、重量、物品種別、留意事項、ニューラルネットワークモデルの更新情報など)を物品情報取得要求に含めてもよい。なお、端末200は、ユーザのスマートフォンなどの他の通信装置を介して、サーバ100と通信をしてもよい。
【0052】
なお、端末200が当該物品の物品情報を既に取得している場合、端末200は、ステップS303を省略してもよい。
【0053】
ステップS304において、端末200は、サーバ100から物品情報を受信する。端末200は、受信した物品情報を、物品識別情報と関連付けて保持してもよい。
【0054】
ステップS305において、端末200は、物品情報に従って物品に対する操作を制御する。例えば、操作指示が物品の把持であって、物品情報が物品の形状情報である場合、端末200は、形状情報に基づきアーム等を利用して物品を把持する。また、操作指示が物品の移動であって、物品情報がニューラルネットワークモデルの更新情報である場合、端末200は、取得した更新情報に従ってニューラルネットワークモデルを更新し、更新したニューラルネットワークモデルに物品の画像を入力し、出力値に従って当該物品を操作する。
【0055】
なお、本開示は、上述した実施例に限定されるものでない。一実施例では、サーバ100と端末200とは、機械学習モデルの情報を共有してもよい。具体的には、サーバ100は、グローバルな機械学習モデルを保持し、これを端末200に送信してもよい。また、製造時、販売時等の初期段階において、グローバルな機械学習モデルを予め端末200に保有させてもよい。あるいは、サーバ100は、機械学習モデルを送信せず、端末200によって保持される機械学習モデルを取得してもよい。
【0056】
また、一実施例では、端末200は、操作対象の物品の識別情報をサーバ100に送信する際、当該情報を暗号化してもよい。また、サーバ100は、物品を操作するための機械学習モデルの全体でなく更新情報を生成又は選択してもよい。例えば、サーバ100は、端末200の操作対象となる物品について機械学習モデルを予め学習し、当該機械学習モデルの更新情報を生成してもよい。更新情報は、グローバルな機械学習モデルを端末200の操作対象となる物品向けに更新するために必要な情報であってもよい。また、更新情報は、例えば、ニューラルネットワークモデルの一部のパラメータ、勾配情報又は当該物品(又はその3Dモデル)に特化した情報であってもよい。また、サーバ100は、端末200の操作対象となる物品向けの更新情報を新たに生成してもよい。
【0057】
また、一実施例では、サーバ100は、端末200から機械学習モデルを受信した場合、この機械学習モデルを端末200の操作対象となる物品向けに更新するために必要な情報を更新情報として端末200に送信してもよい。
【0058】
また、一実施例では、サーバ100は、機械学習モデルの更新情報を端末200に送信してもよい。端末200は、受信した更新情報を利用して機械学習モデルを更新し、物品を操作してもよい。端末200は、受信した更新情報を利用してグローバルな機械学習モデルを更新してもよい。端末200は、更新情報に含まれる勾配情報を用いて、ニューラルネットワークモデルの重みを更新してもよい。また、端末200は、更新情報に含まれるパラメータをニューラルネットワークモデルの一部のパラメータとして利用することでモデルを更新してもよい。なお、ニューラルネットワークモデルは機械学習モデルの一例であり、その他の種類のモデルを用いてもよい。
【0059】
上述した実施例によると、サーバ100は、機械学習モデル全体を送信する必要がなく、操作対象の物品に特化した更新情報を豊富な計算リソースを利用して生成可能である。また、サーバ100は、各種端末200に共通の汎用モデルでなく、端末200に特化した機械学習モデルを構築可能であり、物品の操作性能を向上させることができる。
【0060】
なお、サーバ100から端末200に送信する物品情報には、上述した実施例に記載した全ての物品情報を含めてもよいし、一部の物品情報の組み合わせを含めてもよい。また、端末200は、受信した物品情報の一部を利用して物品に関するタスクを実行してもよい。
[ハードウェア構成]
前述した実施形態における各装置(サーバ100又は端末200)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0061】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0062】
図7は、前述した実施形態における各装置(サーバ100又は端末200)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72(メモリ)と、補助記憶装置73(メモリ)と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
【0063】
図7のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図7では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(サーバ100又は端末200)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0064】
前述した実施形態における各装置(サーバ100又は端末200)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0065】
プロセッサ71は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ71は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ71は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ71は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0066】
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ71は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
【0067】
前述した実施形態における各装置(サーバ100又は端末200)は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0068】
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置72に記憶された情報がプロセッサ71により読み出される。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(サーバ100又は端末200)において各種データを保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部72は、主記憶装置72又は補助記憶装置73により実現されてもよい。
【0069】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(サーバ100又は端末200)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0070】
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0071】
デバイスインタフェース75は、外部装置9Bと直接接続するUSB等のインタフェースである。
【0072】
外部装置9Aはコンピュータ7とネットワークを介して接続されている装置である。外部装置9Bはコンピュータ7と直接接続されている装置である。
【0073】
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0074】
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0075】
また、外部装置9Aまた外部装置9Bは、記憶装置(メモリ)であってもよい。例えば、外部装置9Aはネットワークストレージ等であってもよく、外部装置9BはHDD等のストレージであってもよい。
【0076】
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置(サーバ100又は端末200)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bの処理結果の一部又は全部を送信又は受信してもよい。
【0077】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0078】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0079】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0080】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0081】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0082】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0083】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0084】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0085】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
【0086】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0087】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0088】
10 物品操作システム
50 物品プロバイダ
100 サーバ
110 物品情報受付部
120 物品識別情報割当部
130 物品情報格納部
200 端末
210 ユーザインタフェース部
220 情報格納部
230 制御部