(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-06
(54)【発明の名称】ロボット装置のための未知のオブジェクトの識別
(51)【国際特許分類】
G06V 10/74 20220101AFI20230330BHJP
G06T 7/00 20170101ALI20230330BHJP
【FI】
G06V10/74
G06T7/00 300F
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022549665
(86)(22)【出願日】2020-11-19
(85)【翻訳文提出日】2022-10-17
(86)【国際出願番号】 US2020061352
(87)【国際公開番号】W WO2021167663
(87)【国際公開日】2021-08-26
(32)【優先日】2020-02-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518102470
【氏名又は名称】トヨタ リサーチ インスティテュート,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(72)【発明者】
【氏名】クリシュナ シャンカー
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096FA59
5L096FA70
5L096GA51
5L096JA03
5L096JA11
(57)【要約】
オブジェクトを識別するための方法は、環境の画像から未知のオブジェクトの特徴ベクトルを生成すること含む。また、本方法は、未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較することを含む。さらに、本方法は、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定することを含む。さらに、本方法は、決定することに基づいて未知のオブジェクトを識別することを含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
オブジェクトを識別するための方法であって、
環境の画像から未知のオブジェクトの特徴ベクトルを生成すること、
前記未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較すること、
前記未知のオブジェクトの特徴ベクトルと前記既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定すること、及び
前記決定することに基づいて前記未知のオブジェクトを識別すること、
を含む、方法。
【請求項2】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは、多次元ベクトルを含む、請求項1に記載の方法。
【請求項3】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは、形状、色、サイズ、及び質感の少なくとも1つを含む特性に対応する、請求項1に記載の方法。
【請求項4】
前記未知のオブジェクトの特徴ベクトルは、画像と同じ数の行及び列を含み、
前記未知のオブジェクトの特徴ベクトルは、画像のピクセル又は記述子ごとのN-チャネルを含む、
請求項1に記載の方法。
【請求項5】
前記既知のオブジェクトの各々は、多数の特徴ベクトルを含み、
各多数の特徴ベクトルは、異なるビューから取得される画像に基づく、
請求項1に記載の方法。
【請求項6】
それらの特徴ベクトルの間の相違性が前記しきい値よりも小さく、及び/又はそれらの特徴ベクトルの間の前記類似性が前記しきい値よりも大きいときに、前記未知のオブジェクトが前記既知のオブジェクトの1つと同じであると推測することをさらに含む、請求項1に記載の方法。
【請求項7】
オブジェクトを識別するためのシステムであって、
メモリ、及び
少なくとも1つのプロセッサを備え、前記少なくとも1つのプロセッサは、
環境の画像から未知のオブジェクトの特徴ベクトルを生成し、
前記未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較し、
前記未知のオブジェクトの特徴ベクトルと前記既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定し、
決定に基づいて前記未知のオブジェクトを識別するように構成される、
システム。
【請求項8】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは、多次元ベクトルを含む、請求項7に記載のシステム。
【請求項9】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは、形状、色、サイズ、及び/又は質感を含む特性に対応する、請求項7に記載のシステム。
【請求項10】
前記未知のオブジェクトの特徴ベクトルは、画像と同じ数の行及び列を含み、
前記未知のオブジェクトの特徴ベクトルは、画像のピクセル又は記述子ごとのN-チャネルを含む、
請求項7に記載のシステム。
【請求項11】
前記既知のオブジェクトの各々は、多数の特徴ベクトルを含み、
各多数の特徴ベクトルは、異なるビューから取得される画像に基づく、
請求項7に記載のシステム。
【請求項12】
前記少なくとも1つのプロセッサは、それらの特徴ベクトルの間の相違性が前記しきい値より小さく、及び/又はそれらの特徴ベクトルの間の前記類似性が前記しきい値よりも大きいとき、前記未知のオブジェクトが前記既知のオブジェクトの1つと同じであると推測するようにさらに構成される、請求項7に記載のシステム。
【請求項13】
オブジェクトを識別するために記録され、プロセッサによって実行されるプログラム・コードを有する非一時的なコンピュータ可読媒体であって、
環境の画像から未知のオブジェクトの特徴ベクトルを生成するプログラム・コード、
前記未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較するプログラム・コード、
前記未知のオブジェクトの特徴ベクトルと前記既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定するプログラム・コード、及び
決定に基づいて前記未知のオブジェクトを識別するプログラム・コードを含む、
非一時的なコンピュータ可読媒体。
【請求項14】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは多次元ベクトルを含む、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
前記未知のオブジェクトの特徴ベクトル及び前記既知のオブジェクトの各々の特徴ベクトルは、形状、色、サイズ、及び/又は質感を含む特性に対応する、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記未知のオブジェクトの特徴ベクトルは、画像と同じ数の行及び列を含み、
前記未知のオブジェクトの特徴ベクトルは、画像のピクセル又は記述子ごとのN-チャネルを含む、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記既知のオブジェクトの各々は、多数の特徴ベクトルを含み、
各多数の特徴ベクトルは、異なるビューから取得される画像に基づく、
請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項18】
それらの特徴ベクトルの間の相違性が前記しきい値よりも小さく、及び/又はそれらの特徴ベクトルの間の前記類似性が前記しきい値よりも大きいとき、前記未知のオブジェクトが前記既知のオブジェクトの1つと同じであると推論するプログラム・コードをさらに含む、請求項13に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の特定の態様は、一般に、ロボット装置に関連し、より具体的には、すでに学習されたオブジェクトの要素の視覚的認識及び分析を通じてロボット装置に未知のオブジェクトを教えるためのシステム及び方法に関連する。
【背景技術】
【0002】
ロボット支援技術が向上するにつれて、ロボットは、家などの環境で人々が実施する多種多様なタスクを実行するようにプログラムされてもよい。従来、分類器は、特定のオブジェクトのインスタンスを含むトレーニング・セットで分類器をトレーニングすることによってオブジェクトを識別する。このような場合、分類器がトレーニング・セットに含まれていないオブジェクトに直面するとき、分類器は最も近い既知のオブジェクトを選択する。ただし、この選択は正しくないことがある。学習された/既知のオブジェクトの要素及び特徴に基づいて未知のオブジェクトを識別するために分類器を改善することが望ましい。
【発明の概要】
【0003】
オブジェクトを識別するための方法は、環境の画像から未知のオブジェクトの特徴ベクトルを生成することを含む。また、この方法は、未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較することを含む。さらに、この方法は、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定することを含む。さらに、この方法は、決定に基づいて未知のオブジェクトを識別することを含む。
【0004】
オブジェクトを識別するためのシステムを説明する。システムは、メモリ及びメモリに結合された1つ又は複数のプロセッサを有する。プロセッサは、環境の画像から未知のオブジェクトの特徴ベクトルを生成するように構成される。また、プロセッサは、未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較するように構成される。さらに、プロセッサは、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定するように構成される。さらに、プロセッサは、決定に基づいて未知のオブジェクトを識別するように構成される。
【0005】
非一時的プログラム・コードが記録された非一時的なコンピュータ可読媒体を説明する。プログラム・コードは、オブジェクトを識別するために使用される。プログラム・コードはプロセッサによって実行され、環境の画像から未知のオブジェクトの特徴ベクトルを生成するためのプログラム・コードが含まれる。また、プログラム・コードには、未知のオブジェクトの特徴ベクトルを既知のオブジェクトの特徴ベクトルと比較するためのプログラム・コードが含まれる。さらに、プログラム・コードには、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定するためのプログラム・コードが含まれる。さらに、プログラム・コードには、決定に基づいて未知のオブジェクトを識別するためのプログラム・コードが含まれる。
【0006】
以下の詳細な説明をよりよく理解するために、これは、本開示の特徴及び技術的利点をかなり広く概説した。本開示の追加の特徴及び利点を以下に説明する。この本開示は、本開示の同じ目的を実行するための他の構造を修正又は設計するための基礎として容易に利用できることを当業者は理解すべきである。また、そのような同等の構造は、添付の特許請求の範囲に記載されている本開示の教示から逸脱しないことも当業者によって認識されるべきである。本開示の特徴であると考えられる新規の特徴は、その構成と操作方法の両方に関して、さらなる目的及び利点とともに、添付の図と併せて検討するとき、以下の説明からよりよく理解されるであろう。しかしながら、各図は、例示及び説明のみを目的として提供されており、本開示の制限の定義を意図するものではないことを明確に理解するべきである。
【0007】
本開示の特徴、性質、及び利点は、同様の参照文字が全体を通して対応して識別する図面と併せて解釈されるとき、以下に記載される詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【0008】
【
図2】本開示の態様による、分類器の例示的アーキテクチャを示す図である。
【
図3】本開示の態様による、ロボットをトレーニングするために使用されるトレーニング環境の画像を示す図である。
【
図4】本開示の態様による、ロボット装置のセンサーによって捉えられた環境の画像の例を示す図である。
【
図5】本開示の態様による、未知のオブジェクトを認識するためのロボット装置のハードウェア実装の例を示す図である。
【
図6】本開示の一態様による、ロボット装置が未知のオブジェクトを認識するための方法を示す図である。
【発明を実施するための形態】
【0009】
添付の図面に関連して以下に記載される詳細な説明は、様々な構成の説明として意図されており、本明細書に記載の概念が実施できる唯一の構成を表すように意図されるものではない。詳細な説明には、様々な概念を完全に理解するための特定の詳細が含まれる。しかしながら、これらの概念は、これらの特定の詳細なしに実施できることは当業者には明らかであろう。場合によっては、そのような概念を曖昧にすることを避けるために、よく知られた構造及び構成要素がブロック図の形で示される。
【0010】
教示に基づいて、当業者は、本開示の範囲が、本開示の他の任意の態様とは独立して実装されるか、又は組み合わされるかにかかわらず、本開示の任意の態様をカバーするように意図されていることを理解するべきである。例えば、装置を実装してもよいし、又は方法は、記載された任意の数の態様を使用して実施してもよい。さらに、本開示の範囲は、説明される本開示の様々な態様に加えて、又はそれ以外の他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法をカバーするように意図される。本開示の任意の態様は、特許請求の範囲の1つ又は複数の要素によって具体化されてもよいことを理解するべきである。
【0011】
“例示的”という用語は、本明細書では、“例、実例、又は例示として役立つこと”を意味するために使用される。本明細書で“例示的”として記載されるいかなる態様も、必ずしも他の態様よりも好ましい又は有利であると解釈されるべきではない。
【0012】
特定の態様が本明細書に記載されているが、これらの態様の多くの変形及び順列は、本開示の範囲内にある。好ましい態様のいくつかの利益及び利点が言及されているが、本開示の範囲は、特定の利益、用途、又は目的に限定されるように意図されるものではない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワーク、及びプロトコルに広く適用可能であるように意図されており、それらのいくつかは、好ましい態様の図及び以下の説明の例として示されている。詳細な説明及び図面は、限定するのではなく、本開示の単なる例示であり、本開示の範囲は、添付の特許請求の範囲及びその同等物によって定義される。
【0013】
ロボット装置は、1つ又は複数のセンサーを使用して、環境内のオブジェクトを識別することができる。センサーには、赤-緑-青(RGB)カメラ、無線検出及び測距(RADAR)センサー、光検出及び測距(LiDAR)センサー、又は別のタイプのセンサーが含まれてもよい。従来、知覚ソフトウェアは、トレーニング・セットに含まれていたオブジェクトを認識するために使用される。トレーニング・セット内のオブジェクトは、既知のオブジェクト又は古いオブジェクトと呼ばれてもよい。トレーニングに使用されなかったオブジェクトは、未知のオブジェクト又は新しいオブジェクトと呼ばれてもよい。分類器が未知のオブジェクトに直面するとき、分類器は最も類似した既知のオブジェクトを選択してもよい。ただし、この選択は正しくないことがある。
【0014】
本開示の態様は、学習された/既知のオブジェクトの要素及び特徴に基づいて、新しい又は未知のオブジェクトを識別するためにロボット・システムをトレーニングするためのシステム及び方法を対象とする。また、ロボット・システムは、ロボット装置又はロボットと呼ばれてもよい。ロボット・システムは、自律的又は半自律的であってもよい。
【0015】
オブジェクトは、人工オブジェクト(例えば、椅子、机、車、本など)、自然オブジェクト(例えば、岩、果実、木、動物など)、及び人間を含んでもよい。一態様では、ロボット・システムは、検出されたオブジェクトごとにN次元ベクトル又は多次元ベクトルを予測する。例えば、ロボット・システムは16次元ベクトルを予測する。いくつかの態様において、多次元ベクトルは、10から20の間の任意の値を含んでもよい。もちろん、他の値を使用してもよい。多次元ベクトルは、既知の各オブジェクトに関連する複数のピクセルのピクセルごとに予測してもよい。既知のオブジェクトの特性を表す特徴ベクトルは、既知のオブジェクトの各ピクセルに割り当てられる。各ピクセルは、異なるビュー/角度から取得された画像に基づく多数の特徴ベクトルに関連付けることができる。
【0016】
オブジェクトのトレーニング・セットが与えられると、ニューラル・ネットワークは、異なるオブジェクトのN次元ベクトル又は多次元ベクトルで符号化される。多次元ベクトルの値は、形状、色、サイズ、質感、又は同種のものの特徴ベクトル又はオブジェクトの埋め込みを捉えることができる。その結果、分類器がトレーニングされているオブジェクトとは異なる未知のオブジェクトを、異なるオブジェクトの多次元ベクトルに基づいて識別することができる。
【0017】
例えば、ニューラル・ネットワークは、5つの異なるタイプの果実でトレーニングされ、後で、他の全てとは異なる未知の果実に導入されてもよい。一態様では、未知の果実を含む環境の画像は、ロボット装置のセンサーによって捉えられることがある。例えば、ロボット装置に関連するニューラル・ネットワークは、画像から未知の果実の出力を生成する。出力には、未知の果実の特徴ベクトルが含まれる。特徴ベクトルは、多次元ベクトルであってもよい。特徴ベクトルは、未知の果実のピクセルごとに決定されてもよい。
【0018】
本開示で使用されるニューラル・ネットワーク・アーキテクチャは、入力を受信し、いくつかの畳み込みを実行し、最終出力がテンソルであるネットワーク層(例えば、畳み込み層)を含む。一態様では、テンソルに関連する特徴ベクトルは、画像と同じ数の行及び列を含む。しかしながら、従来のテンソルのように3つのチャネルを有する代わりに、テンソルは、ピクセル(例えば、ピクセル座標)ごとにN-チャネル(例えば、16)を含んでもよい。例えば、ネットワークによって処理される初期画像の全てのピクセルについて、出力のピクセルごとに16個の値が存在することがある。
【0019】
ニューラル・ネットワークは、未知の果実の特徴(例えば、特徴ベクトル)を使用して、未知の果実のタイプを推測することができる。ロボット装置に関連するニューラル・ネットワークは、未知の果実の特徴ベクトルを既知の果実の特徴ベクトルと比較する。比較に基づいて、ニューラル・ネットワークは未知の果実を分類してもよい。
【0020】
例えば、ニューラル・ネットワークは、既知の果実の色の知識に基づいて果実の色を決定することができる。さらに、ニューラル・ネットワークは、質感が既知の果実の質感により類似していると決定してもよい。質感及び色は、未知の果実を分類する多次元ベクトルの1つ又は複数の値によって定義してもよい。さらに、果実の形状は、既知の果実の形状に基づいて識別してもよい。また、形状は、多次元ベクトルの1つ又は複数の値としても定義される。
【0021】
分類器が異なるクラスに対応するオブジェクトでトレーニングされるとき、トレーニング・クラスのオブジェクトと特性を共有する未知のオブジェクトは、トレーニングされる特性との類似性に基づいて識別することができる。ニューラル・ネットワークは、未知のオブジェクトと既知のオブジェクトの間の相違点及び類似点を決定する。例えば、ニューラル・ネットワークは、未知の果実の特徴ベクトルと既知の果実の特徴ベクトルとの間の相違性及び/又は類似性がしきい値を満たすかどうかを決定する。選択された既知の果実は、未知の果実に最も類似している既知の果実であってもよい。例えば、未知の果実の質感及び形状は、ライムに類似している。したがって、この場合、既知の果実の選択された1つはライムである。
【0022】
次いで、ニューラル・ネットワークは、しきい値を使用した決定に基づいて未知の果実を推測又は識別する。例えば、未知の果実の特徴ベクトルとライムの1つ又は複数の特徴ベクトルとの間の類似性が類似性しきい値よりも大きいとき、未知の果実はライムとして識別される。類似性の比較に加えて、また、相違性の比較を使用して、未知の果実の種類を推測することもできる。例えば、未知の果実の特徴ベクトルとライムの1つ又は複数の特徴ベクトルとの相違性が相違性しきい値よりも小さいとき、未知の果実はライムとして識別される。
【0023】
一態様では、第6の果実の特徴ベクトルと、特定された既知の果実(例えば、ライム)の1つ又は複数の特徴ベクトルとの間の類似性が類似性しきい値より小さいとき、未知の果実は識別できないことがある。代替的に又は追加的に、未知の果実の特徴ベクトルと特定された既知の果実の1つ又は複数の特徴ベクトルとの間の相違性が相違性しきい値よりも大きいとき、未知の果実は識別できないことがある。
【0024】
したがって、本開示の態様は、トレーニングされたオブジェクトの要素に基づいて未知のオブジェクトを学習することができるネットワークを提供する。具体的には、ネットワークは、トレーニングされたオブジェクトと未知のオブジェクトの特性の間の類似性と相違性を決定することにより、未知のオブジェクトを学習する(例えば、識別する)。
【0025】
図1は、分類器システム100の例を示している。分類器システム100は、本明細書に開示される方法及び他の機能を実行するように実装される。分類器システム100は、単一の包含システムとして示されているが、様々な実施形態では、分類器システム100は、集中型サーバー、クラウド-ベース・サービスなどとして提供することができる構成要素から構成される分散システムであることが理解するべきである。
【0026】
分類器システム100は、プロセッサ110を含む。プロセッサ110は、分散処理リソース、個々のローカル・プロセッサ(例えば、CPU、GPU、又はアプリケーション特定プロセッサ)を表すことができ、又は分類器システム100は、データ・バス又は別の通信パスを介してプロセッサ110にアクセスすることができる。一態様では、分類器システム100は、メモリ120を含む。メモリ120は、ランダム-アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハード-ディスク・ドライブ、フラッシュ・メモリ、プロセッサ・キャッシュ、又は他の適切なメモリである。
【0027】
分類器システム100の態様は、クラウド-ベース・サービス(例えば、サービスとしてのソフトウェア)、集中型サービス、及び/又は他のタイプのサービスとして実装されてもよい。さらに、1つ又は複数の態様において、分類器システム100は、別個のデータ・ストア、メモリ120、又は別の適切な構成に格納されるデータベース150を含む。データベース150は、オブジェクトの画像データを含んでもよい。
【0028】
一態様では、機械学習モジュールは、畳み込みニューラル・ネットワーク(CNN)又は他の適切な深層学習アルゴリズムなどの機械学習実装を含む。
【0029】
さらなる態様では、分類器は、分類器がそのローカル・メモリに格納されるように分類器が実装されるロボット装置に提供することができる。したがって、ロボット装置は、カメラ190からのオブジェクトを分析するために分類器を実装することができ、その結果、ロボット装置は環境内のオブジェクトを認識できるようになる。
【0030】
図2は、分類器200の例示的アーキテクチャを提供する。図示されるように、分類器200は、畳み込みニューラル・ネットワーク(CNN)を含む。分類器200は、入力画像の変換を提供するための変換モジュールを含むことができる。分類器200は、機械学習の実装を、入力データ(例えば、画像)に対して前処理を実行する変換実装と対にする。例えば、変換モジュールは画像の入力を受け入れ、入力に対して前処理を実行し、変換された入力をCNNを形成する畳み込みノード層に渡す。1つの構成では、各畳み込み(convolutional)層の後に最大プーリング(pooling)層が続き、1つ又は複数の態様で、整流線形活性化(ReLu)によって接続される。最後の畳み込み層は、完全に接続されたReLu層にフィードする。
【0031】
図3は、本開示の態様による、ロボット装置300をトレーニングするために使用されるトレーニング環境302の画像301を示している。
図3の例では、ロボット装置300は人型ロボットであり、トレーニング環境302はキッチンである。本開示の態様は、人型ロボットに限定されない。ロボット装置300は、ドローン又は車両など、任意のタイプの自律型又は半自律型のデバイスであってもよい。さらに、ロボット装置300は、任意のタイプの環境であってもよい。ロボット装置300は、本開示の態様による未知のオブジェクトを識別するようにトレーニングされてもよい。
【0032】
一構成では、ロボット装置300は、ロボット装置300の1つ又は複数のセンサーを介してトレーニング環境302の画像301を取得する。ロボット装置300は、画像301内の1つ又は複数のオブジェクトを検出及び位置特定することができる。ローカリゼーションとは、画像301内で検出されたオブジェクトの位置(例えば、座標)を決定することを指す。従来のオブジェクト検出システムでは、境界ボックスは、画像301で検出されたオブジェクトの位置を示すことができる。検出されたオブジェクトは、テーブル304、押し込まれた椅子306、閉じた窓308、ボトル310、器具320及び322、カウンタ340、シンク342、ハンドル332を有するキャビネット330、又は画像301内の全てのオブジェクトなどの1つ又は複数の特定のクラスのオブジェクトであってもよい。オブジェクトは、事前にトレーニングされたオブジェクト検出ニューラル・ネットワークなどのオブジェクト検出システムを使用して検出及び識別することができる。
【0033】
ロボット装置300の3Dカメラは、異なるビュー/角度からトレーニング環境302及びオブジェクト(例えば、テーブル上のライム又はリンゴ)の画像を捉える。環境の3Dモデルは、捉えられた画像から生成される。3Dモデルは、3Dカメラによって捉えられた画像301の視点とは異なる視点から画像を作成するように使用される。例えば、トレーニング中、3Dカメラはオブジェクト(例えば、リンゴ)の画像をある角度から捉える。オブジェクトの特徴ベクトルは、3Dカメラの角度(例えば、ビュー)に対して決定してもよい。一態様では、オブジェクトが捉えられるビューは、オブジェクトの周りの円又は何らかのパスに外挿される。オブジェクトの各ビューからの特徴ベクトルは、オブジェクトの例として収集される。ニューラル・ネットワークの前後関係においては、埋め込み又は特徴ベクトルは、離散変数の低次元の学習された連続ベクトルの表現である。
【0034】
本開示の態様は、ニューラル・ネットワークの出力(例えば、16次元出力)を使用して、ロボット装置に未知のオブジェクトを識別することを教えるシステムを対象とする。例えば、オブジェクトのトレーニング・セットが与えられると、ニューラル・ネットワークは様々なオブジェクトのN次元ベクトルで符号化される。N次元ベクトルの値は、オブジェクトのトレーニング・セットの各々の選択されたピクセルごとに、形状、色、サイズ、質感、又は同種のもののオブジェクトの特徴ベクトルを捉えることができる。その結果、分類器がトレーニングされたオブジェクトとは異なる未知のオブジェクトが、トレーニングされた様々なオブジェクトのN次元ベクトルに基づいて識別することができる。したがって、ロボット装置は、ニューラル・ネットワークのトレーニング局面の後に未知のオブジェクトを識別する。
【0035】
例えば、ロボット装置が未知のオブジェクトを識別しながら仕事をするとき、ロボット装置のニューラル・ネットワークは、入力として画像(例えば、RGB画像)を受信し、画像の各ピクセルに割り当てられた値を含む特徴ベクトルを出力する。特徴ベクトルは、ある特徴を別の特徴から区別するための数値の“指紋”を提供するために、一連の数字に符号化された画像の特徴を含むことができる。特徴ベクトルは、異なる画像のピクセル対応ごとに確立できる特徴記述子として機能する。特徴ベクトルは各ピクセルで定義できるため、キーフレーム(画像)は、画像内のあらゆるピクセルを含むように広くすることも、特定されたピクセル又はユーザー定義マスク内のピクセルのみを使用するように狭くすることもできる。
【0036】
一態様では、ニューラル・ネットワーク(例えば、高密度埋め込みネットワーク)は、入力画像を処理し、画像のピクセルのN次元特徴ベクトルを出力する。入力画像の各ピクセルは、16次元の特徴ベクトルに対応することがある。ユーザーは、画像の1つのピクセル又は記述子を選択することのみできる。特徴ベクトル及び画像を組み合わせてボクセル・マップを生成することができる。また、特徴ベクトルは、未知のオブジェクトのピクセルの特徴ベクトルを既知のオブジェクトのピクセルの特徴ベクトル(例えば、既知のオブジェクトの特徴ベクトル)と比較するマッチャー(例えば、キーフレーム又は画像マッチャー)に入力することができる。
【0037】
一態様では、トレーニング・オブジェクト及び未知のオブジェクトのセットの画像は、異なるビュー/角度から取得することができる。オブジェクト(例えば、リンゴ、ボトルなど)の各セットは、様々な角度から教えることができる。一態様では、ロボット装置は、選択されたピクセルを3次元表現に外挿することができる。したがって、ロボット装置が動き回るとき、ユーザーの介入なしに特徴ベクトルを一致させることができる。このように、分類器の精度は、ユーザーからのさらなる相互作用なしに向上することがある。したがって、ユーザーの相互作用時間が短縮される。ユーザーの相互作用時間が短縮されるため、より多くのデータが取得されることがある。
【0038】
例えば、リンゴは1つの角度から教えられ、次いでその角度は、リンゴの周りの円又はある経路に外挿される。リンゴの例として、リンゴのビューごとに特徴ベクトルを取得することができる。リンゴのいくつかの例を取得できる。これにより、未知のオブジェクトを既知のオブジェクトの様々なビュー/角度に対応する特徴ベクトルと比較できるので、未知のオブジェクトの識別の信頼性が向上する。
【0039】
単一ピクセルを特徴ベクトルの3次元表現に外挿する特徴は、トレーニング・オブジェクトの異なるセットでロボット装置をトレーニングするために使用される。トレーニング又は教育段階からのデータはロボット装置に入力され、未知のオブジェクトを認識するために使用される。例えば、前面ラベルが背面ラベルと異なる前面ラベル及び背面ラベルがあるソーダ缶について考えてみる。単一の選択されたピクセルで前面ラベルと背面ラベルの両方を識別する能力は、ユーザーからの相互作用が減少するため、有利である。
【0040】
一態様では、ロボット装置は、深度情報及び3次元特徴を使用して、オブジェクトのピクセルを3次元位置にマッピングする。ロボット装置が同じオブジェクトの周りを移動するとき、ロボット装置は深度情報を使用してオブジェクトのピクセルを選択することができる。選択されたピクセルは3次元点であって、それは最初のピクセル及び最初の視点に対応する第1の投影点である。ロボットが移動するとき、3次元点は、新しいカメラの位置又はオブジェクトを表す視点に再投影することができる。様々な視点に関連する特徴ベクトルは、オブジェクトのピクセルに一致し、未知のオブジェクトの認識に使用するために保存される。
【0041】
図4は、本開示の態様による、ロボット装置400のセンサーによって捉えられた環境402の画像450の例を示している。センサーは三次元カメラであってもよい。環境402は、テーブル404に未知のオブジェクト(例えば、未知の果実410)を含むダイニング・エリア(例えば、レストランのダイニング・エリア)である。また、環境には、椅子406、窓408、キャビネット430、及びキャビネット430上の器具420,422が含まれる。一例では、ロボット装置400に関連するニューラル・ネットワークは、5つの異なるタイプの果実(例えば、バナナ、リンゴ、ライム、ブルーベリー、及びブドウ)でトレーニングされる。ニューラル・ネットワークは、他の全てと異なる未知の果実410に後で導入される。
【0042】
ロボット装置400に関連するニューラル・ネットワークは、特徴ベクトルを使用して、未知の果実410のタイプを推測又は識別することができる。一態様では、ニューラル・ネットワークは、未知の果実410の特徴ベクトルを既知の果実の特徴ベクトルと比較する。例えば、ニューラル・ネットワークは、既知の果実の色の知識に基づいて、未知の果実410の色を決定してもよい。さらに、ニューラル・ネットワークは、既知の果実の質感に基づいて、未知の果実410の質感を決定してもよい。未知の果実410の丸い形状は、既知の果実の形状と同一であると決定してもよい。
【0043】
ニューラル・ネットワークは、未知の果実410と既知の果実の特徴ベクトルの間の相違性及び類似性を決定する。例えば、ニューラル・ネットワークは、未知の果実410の特徴ベクトルと既知の果実の選択された1つ(例えば、ライム)の特徴ベクトルとの間の相違性及び/又は類似性がしきい値を満たすかどうかを決定する。ニューラル・ネットワークは、しきい値を使用した決定に基づいて未知の果実410を識別する。
【0044】
例えば、未知の果実410は、未知の果実410の特徴ベクトルとライムの1つ又は複数の特徴ベクトルとの間の類似性が類似性しきい値よりも大きいときに、ライムとして識別される。類似性の比較に加えて、また、相違性の比較を使用して、未知の果実410のタイプを推測することができる。この例では、未知の果実410は、未知の果実の特徴ベクトルとライムの1つ又は複数の特徴ベクトルとの間の相違性が相違性しきい値より小さいとき、ライムとして識別される。
【0045】
図5は、本開示の態様による、オブジェクト識別システム500のハードウェア実装の例を示す図である。オブジェクト識別システム500は、車両、ロボット装置、又は別のデバイスの構成要素であってもよい。例えば、
図5に示すように、オブジェクト識別システム500は、ロボット装置400の構成要素である。
【0046】
本開示の態様は、ロボット装置400の構成要素であるオブジェクト識別システム500に限定されない。また、バス、ボート、ドローン、又は車両などの他のデバイスは、オブジェクト識別システム500を使用するために企図される。ロボット装置400は、少なくとも自律動作モード及び手動動作モードで動作してもよい。
【0047】
オブジェクト識別システム500は、一般にバス550によって表されるバス・アーキテクチャで実装されてもよい。バス550は、オブジェクト識別システム500の特定の用途及び全体的な設計制約に応じて、任意の数の相互接続バス及びブリッジを含んでもよい。バス550は、1つ又は複数のプロセッサ及び/又はハードウェア・モジュールを含む様々な回路を互いに連結し、プロセッサ520、通信モジュール522、位置モジュール524、センサー・モジュール502、移動モジュール526、ナビゲーションモジュール528、及びコンピュータ可読媒体530で表される。また、バス550は、タイミング・ソース、周辺機器、電圧レギュレータ、及び電力管理回路などの様々な他の回路を連結することができ、これらは技術分野で周知であり、したがって、これ以上説明はしない。
【0048】
オブジェクト識別システム500は、プロセッサ520、センサー・モジュール502、オブジェクト識別モジュール510、オブジェクト照合モジュール512、通信モジュール522、位置モジュール524、移動モジュール526、ナビゲーションモジュール528、及びコンピュータ可読媒体530に結合されるトランシーバ540を含む。トランシーバ540は、アンテナ542に結合される。トランシーバ540は、送信媒体を介して他の様々なデバイスと通信する。例えば、トランシーバ540は、ユーザー又はリモート・デバイスからの送信を介してコマンドを受信することができる。別の例として、トランシーバ540は、統計及び他の情報をオブジェクト識別モジュール510からサーバー(図示せず)に送信することができる。
【0049】
オブジェクト識別システム500は、コンピュータ可読媒体530に結合されたプロセッサ520を含む。プロセッサ520は、本開示による機能を提供するために、コンピュータ可読媒体530に格納されたソフトウェアの実行を含む処理を実行する。ソフトウェアは、プロセッサ520によって実行されると、オブジェクト識別システム500に、ロボット装置400、又はモジュール502、510、512、522、524、526、及び528のいずれかなどの特定のデバイスについて説明された様々な機能を実行させる。また、コンピュータ可読媒体530は、ソフトウェアを実行するときに、プロセッサ520によって操作されるデータを格納するために使用されてもよい。
【0050】
センサー・モジュール502は、第1センサー504及び第2センサー506などの異なるセンサーを介して測定値を取得することができる。第1センサー504は、立体カメラ又は赤-緑-青(RGB)カメラなどの、3D画像を捉えるための視覚センサーであってもよい。第2センサー506は、光検出及び測距(LiDAR)センサー又は無線検出及び測距(RADAR)センサーなどの測距センサーであってもよい。もちろん、本開示の態様は、例えば、熱、ソナー、及び/又はレーザーなどの他のタイプのセンサーもまた、第1センサー504及び第2センサー506のいずれかについて企図されるので、前述のセンサーに限定されない。
【0051】
第1センサー504及び第2センサー506の測定値は、本明細書に記載の機能を実装するためのコンピュータ可読媒体530と併せて使用される、プロセッサ520、センサー・モジュール502、オブジェクト識別モジュール510、通信モジュール522、位置モジュール524、移動モジュール526、ナビゲーションモジュール528のうちの1つ又は複数によって処理されてもよい。一構成では、第1センサー504及び第2センサー506によって捉えられたデータは、トランシーバ540を介して外部デバイスに送信されてもよい。第1センサー504及び第2センサー506は、ロボット装置400に結合されてもよいし、又はロボット装置400と通信されてもよい。
【0052】
位置モジュール524は、ロボット装置400の位置を決定することができる。例えば、位置モジュール524は、全地球測位システム(GPS)を使用して、ロボット装置400の位置を決定することができる。通信モジュール522は、トランシーバ540を介して通信を容易にすることができる。例えば、通信モジュール522は、WiFi、ロング・ターム・エボリューション(LTE)、5Gなどの異なる無線プロトコルを介して通信機能を提供するように構成されてもよい。また、通信モジュール522は、オブジェクト識別システム500のモジュールではないロボット装置400の他の構成要素と通信するために使用されてもよい。
【0053】
移動モジュール526は、ロボット装置400の移動を容易にすることができる。別の例として、移動モジュール526は、モーター及び/又は電池などのロボット装置400の1つ又は複数の電源と通信することができる。移動は、車輪、可動肢、プロペラ、トレッド、フィン、ジェット・エンジン、及び/又はその他の移動源を介して証明することができる。
【0054】
ロボット装置400は、環境内のオブジェクトを識別するために、第1センサー504及び第2センサー506などの1つ又は複数のセンサーを使用してもよい。センサーには、赤-緑-青(RGB)カメラ、無線検出及び測距(RADAR)センサー、光検出及び測距(LiDAR)センサー、又は別のタイプのセンサーが含まれてもよい。一態様では、環境の画像は、ロボット装置400のオブジェクト識別システム500によって受信される。オブジェクト識別システム500は、環境の画像で識別された未知のオブジェクトの出力を生成するオブジェクト識別モジュール510を含む。出力には、未知のオブジェクトの特徴ベクトルが含まれる。
【0055】
オブジェクト識別モジュール510は、オブジェクト照合モジュール512(例えば、キーフレーム又はイメージ・マッチャー)を含んでもよい。例えば、特徴ベクトルは、未知のオブジェクトのピクセルの特徴ベクトルを既知のオブジェクトのピクセルの特徴ベクトルと比較するオブジェクト照合モジュール512に入力することができる。オブジェクト識別モジュール510は、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの選択された1つの特徴ベクトルとの間の相違性及び/又は類似性がしきい値を満たすかどうかを決定する。次いで、オブジェクト識別モジュール510は、決定に基づいて未知のオブジェクトを識別する。モジュールは、プロセッサ520で実行し、コンピュータ可読媒体530に常駐/格納されるソフトウェア・モジュール、プロセッサ520に結合された1つ又は複数のハードウェア・モジュール、又はそれらのいくつかの組み合わせであってもよい。
【0056】
オブジェクト識別モジュール510は、センサー・モジュール502、トランシーバ540、プロセッサ520、通信モジュール522、位置モジュール524、移動モジュール526、ナビゲーションモジュール528、及びコンピュータ可読媒体530と通信することができる。一構成では、オブジェクト識別モジュール510は、センサー・モジュール502からセンサー・データを受信する。センサー・モジュール502は、第1センサー504及び第2センサー506からセンサー・データを受信することができる。本開示の態様によれば、センサー・モジュール502は、データをフィルタリングして、ノイズを除去し、データを符号化し、データを復号し、データを一つにまとめ、フレームを抽出し、又は他の機能を実行することができる。代替構成では、オブジェクト識別モジュール510は、第1センサー504及び第2センサー506から直接センサー・データを受信することができる。
【0057】
一構成では、オブジェクト識別モジュール510は、プロセッサ520、位置モジュール524、コンピュータ可読媒体530、第1センサー504、及び/又は第2センサー506からの情報に基づいて、検出されたオブジェクトを識別する。
【0058】
図6は、本開示の一態様による、ロボット装置が未知のオブジェクトを認識するための方法600を示している。ブロック602では、環境の画像から未知のオブジェクトの特徴ベクトルが生成される。ブロック604では、未知のオブジェクトの特徴ベクトルは、既知のオブジェクトの特徴ベクトルと比較される。ブロック606では、ロボット装置は、未知のオブジェクトの特徴ベクトルと既知のオブジェクトの1つの特徴ベクトルとの間の類似性がしきい値を満たすかどうかを決定する。ブロック608では、ロボット装置は、決定に基づいて未知のオブジェクトを識別する。
【0059】
上記の方法の様々な操作は、対応する機能を実行することができる任意の適切な手段によって実行してもよい。この手段は、回路、特定用途向け集積回路(ASIC)、又はプロセッサを含むがこれらに限定されない、様々なハードウェア及び/又はソフトウェア構成要素及び/又はモジュールを含んでもよい。一般に、図に示されている操作がある場合、それらの操作には、同様の番号が付けられた対応する見返り手段と機能の構成要素が含まれることがある。
【0060】
本明細書で使用される場合、“決定すること”という用語は、多種多様な作用を包含する。例えば、“決定する”ことは、計算すること、コンピュータで計算すること、処理すること、導出すること、調査すること、検索すること(例えば、テーブル、データベース、又は別のデータ構造で検索すること)、確認すること、及び同種のものを含んでもよい。さらに、“決定すること”は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリ内のデータにアクセスすること)及び同種のものを含んでもよい。さらに、“決定すること”には、解決すること、選択すること、選ぶこと、確立すること、及び同種のものが含まれてもよい。
【0061】
本明細書で使用されるように、アイテムのリストの“少なくとも1つ”を指す句は、単一のメンバーを含む、それらのアイテムの任意の組み合わせを指す。一例として、“a、b、又はcの少なくとも1つ”は、a、b、c、a-b、a-c、b-c、及びa-b-cをカバーすることを意図している。
【0062】
本開示に関連して説明される様々な例示的な論理ブロック、モジュール、及び回路は、本開示に従って構成されたプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ信号(FPGA)又は他のプログラマブル・ロジック・デバイス(PLD)、ディスクリート・ゲート又はトランジスタ・ロジック、ディスクリート・ハードウェア構成要素、又は本明細書に記載の機能を実行するように設計されたそれらの任意の組み合わせを用いて実装又は実行されてもよい。プロセッサは、本明細書に記載されるように特別に構成されたマイクロプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであってもよい。また、プロセッサは、コンピューティング・デバイスの組み合わせ、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと併せて1つ又は複数のマイクロプロセッサ、又は本明細書に記載されるような他の特別な構成として実装されてもよい。
【0063】
本開示に関連して説明される方法又はアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェア・モジュール、又は2つの組み合わせで直接具体化されてもよい。ソフトウェア・モジュールは、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュ・メモリ、消去可能プログラマブル読み取り専用メモリ(EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、レジスタ、ハード・ディスク、リムーバブル・ディスク、CD-ROM、又はその他の光ディスク記憶、磁気ディスク記憶、又はその他の磁気記憶デバイス、又は命令の形式で目的のプログラム・コードを伝送又は保存するために使用できるその他の任意の媒体、又はコンピュータからアクセスできるデータ構造を含み、記憶又は機械読み取り可能媒体に常駐してもよい。ソフトウェア・モジュールは、単一の命令又は多くの命令を含み、いくつかの異なるコード・セグメントにわたって、異なるプログラムの間で、複数の記憶媒体にわたって分散されてもよい。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようなプロセッサに結合することができる。あるいは、記憶媒体はプロセッサに不可欠であることもある。
【0064】
本明細書に開示される方法は、記載された方法を達成するための1つ又は複数のステップ又はアクションを含む。方法のステップ及び/又はアクションは、特許請求の範囲から逸脱することなく、互いに交換することができる。言い換えれば、特定のステップ又はアクションの順序が特定されていない限り、特定のステップ及び/又はアクションの順序及び/又は使用は、特許請求の範囲から逸脱することなく変更することができる。
【0065】
説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装されてもよい。ハードウェアに実装されている場合、例示的なハードウェア構成は、デバイス内の処理システムを備えてもよい。処理システムは、バス・アーキテクチャで実装してもよい。バスには、処理システムの特定のアプリケーション及び全体的な設計制約に応じて、相互接続するバス及びブリッジをいくつでも含めることができる。バスは、プロセッサ、機械可読媒体、及びバス・インターフェースを含む様々な回路を相互に連結することができる。バス・インターフェースは、とりわけ、バスを介してネットワーク・アダプタを処理システムに接続することができる。ネットワーク・アダプタは、信号処理機能を実装することがある。また、特定の態様では、また、ユーザー・インターフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)はバスに接続されてもよい。また、バスは、タイミング・ソース、周辺機器、電圧レギュレータ、電力管理回路、及び同種のもののその他の様々な回路を連結することができ、このことは技術分野でよく知られ、したがって、これ以上説明はしない。
【0066】
プロセッサは、機械可読媒体に格納されたソフトウェアの実行を含み、バス及び処理の管理に関与してもよい。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又は別の方法で呼ばれるかどうかにかかわらず、命令、データ、又はそれらの任意の組み合わせを意味すると解釈されるものとする。
【0067】
ハードウェア実装において、機械可読媒体は、プロセッサとは別の処理システムの一部であってもよい。しかしながら、当業者が容易に理解するように、機械可読媒体又はその任意の部分は、処理システムの外部にあってもよい。例として、機械可読媒体は、伝送線路、データによって変調された搬送波、及び/又はデバイスとは別のコンピュータ製品を含んでもよく、これらは全て、バス・インターフェースを介してプロセッサによってアクセスされてもよい。あるいは、又はさらに、機械可読媒体又はその任意の部分は、キャッシュ及び/又は特殊なレジスタ・ファイルを伴う場合など、プロセッサに統合されることがある。説明する様々な構成要素は、局部の構成要素などの特定の位置を持っていると説明できるが、分散コンピューティング・システムの一部として構成されている特定の構成要素など、様々な方法で構成することもできる。
【0068】
処理システムは、プロセッサ機能を提供する1つ又は複数のマイクロプロセッサと、機械可読媒体の少なくとも一部を提供する外部メモリとで構成されてもよく、全て、外部バス・アーキテクチャを介して他の支持回路と一緒に連結される。あるいは、処理システムは、ニューロン・モデル及び本明細書に記載の神経系のモデルを実装するための1つ又は複数のニューロモルフィック・プロセッサを含んでもよい。別の代替案として、処理システムは、プロセッサ、バス・インターフェース、ユーザー・インターフェース、支持回路、及び単一のチップに統合された機械可読媒体の少なくとも一部を備えた特定用途向け集積回路(ASIC)で実装されてもよい。あるいは、処理システムは、1つ又は複数のフィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル・ロジック・デバイス(PLD)、コントローラ、ステート・マシン、ゲート・ロジック、ディスクリート・ハードウェア構成要素、その他の任意の適切な回路、又はこの本開示を通して説明される様々な機能を実行できる回路の任意の組み合わせで実装されてもよい。当業者は、特定の用途及びシステム全体に課せられる全体的な設計制約に応じて、処理システムについて説明される機能を実装するための最良の方法を認識するであろう。
【0069】
機械可読媒体は、いくつかのソフトウェア・モジュールを含んでもよい。ソフトウェア・モジュールは、送信モジュール及び受信モジュールを含んでもよい。各ソフトウェア・モジュールは、単一の記憶・デバイスに常駐することも、多数の記憶・デバイスに分散することもできる。例として、トリガー・イベントが発生するときにソフトウェア・モジュールをハード・ドライブからRAMにロードすることができる。ソフトウェア・モジュールの実行中に、プロセッサはアクセス速度を上げるためにいくつかの命令をキャッシュにロードすることがある。次いで、1つ又は複数のキャッシュ・ラインを、プロセッサによる実行のために特別な目的のレジスタ・ファイルにロードすることができる。以下のソフトウェア・モジュールの機能を参照するとき、そのような機能は、そのソフトウェア・モジュールからの命令を実行するときにプロセッサによって実装されることを理解するだろう。さらに、本開示の態様は、そのような態様を実装するプロセッサ、コンピュータ、機械、又は他のシステムの機能に改善をもたらすことを理解するべきである。
【0070】
ソフトウェアで実装される場合、機能は、コンピュータ可読媒体に1つ又は複数の命令又はコードとして格納又は送信されてもよい。コンピュータ可読媒体は、コンピュータ・記憶媒体と、ある場所から別の場所へのコンピュータ・プログラムの転送を容易にする任意の記憶媒体を含む通信媒体の両方を含む。さらに、接続は全てコンピュータ可読媒体と適切に呼ばれる。例えば、ソフトウェアがウェブサイト、サーバー、又はその他のリモート・ソースから、同軸ケーブル、光ファイバー・ケーブル、ツイスト・ペア、デジタル加入者回線(DSL)、又は赤外線(IR)、無線、マイクロ波などのワイヤレス・テクノロジーを使用して送信される場合、次いで、同軸ケーブル、光ファイバー・ケーブル、ツイスト・ペア、DSL、又は赤外線、無線、マイクロ波などのワイヤレス・テクノロジーは、媒体の定義に含まれる。本明細書で使用されるようなディスク及びディスクには、コンパクト・ディスク(CD)、レーザー・ディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)・ディスク、及びディスクが通常は磁気的にデータを再生するのに対し、ディスクが光学的にレーザーでデータを再生するブルーレイ・ディスクが含まれる。したがって、いくつかの態様では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体(例えば、有形媒体)を含んでもよい。さらに、他の態様では、コンピュータ可読媒体は、一時的なコンピュータ可読媒体(例えば、信号)を含んでもよい。また、上記の組み合わせは、コンピュータ可読媒体の範囲に含めるべきである。
【0071】
したがって、特定の態様は、本明細書に提示される操作を実行するためのコンピュータ・プログラム製品を含んでもよい。例えば、そのようなコンピュータ・プログラム製品は、命令が格納された(及び/又は符号化された)コンピュータ可読媒体を含んでもよく、命令は、本明細書に記載の操作を実行するために1つ又は複数のプロセッサによって実行可能である。特定の態様では、コンピュータ・プログラム製品は、包装材料を含んでもよい。
【0072】
さらに、本明細書に記載の方法及び技術を実行するためのモジュール及び/又は他の適切な手段は、必要に応じて、ユーザー端末及び/又は基地局によってダウンロード及び/又は他の方法で取得できることを理解するべきである。例えば、そのようなデバイスは、本明細書に記載の方法を実行するための手段の転送を容易にするためにサーバーに結合することができる。あるいは、本明細書に記載の様々な方法は、ユーザー端末及び/又は基地局が、記憶手段をデバイスに結合又は提供するときに様々な方法を取得することができるように、記憶手段を介して提供することができる。さらに、本明細書に記載の方法及び技術をデバイスに提供するための他の任意の適切な技術を利用することができる。
【0073】
特許請求の範囲は、上に示した正確な構成及び構成要素に限定されないことを理解するべきである。特許請求の範囲から逸脱することなく、上記の方法及び装置の配置、操作、及び詳細において、様々な修正、変更、及び変形を行うことができる。
【国際調査報告】