(57)【要約】  オブジェクトを識別及び追跡するシステム及び方法であって、オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録することと、オブジェクトを保持するように指定されたエリアの画像をキャプチャすることと、画像のバージョンを、指定されたエリア内に保持されたこれらのオブジェクトと似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークに提出することと、画像のバージョンでオブジェクトを検出することと、人物の登録された身元を検出されたオブジェクトに関連付けることと、深層ニューラルネットワークが検出されたオブジェクトを認識することができない場合に、画像のバージョンを使用して深層ニューラルネットワークを再訓練することと、検出されたオブジェクトがオブジェクトを保持するように指定されたエリア内にある間、検出されたオブジェクトのロケーションを追跡することと、を含む、システム及び方法。
2022500783.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト識別システムであって、
オブジェクトを保持するように指定されたエリア内に配設されたオブジェクトの画像をキャプチャするように構成された画像センサと、
前記指定されたエリア内に保持されたこれらのオブジェクトと似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークと、
前記画像センサによってキャプチャされた画像を受信する前記画像センサ及び前記深層ニューラルネットワークと通信する、コントローラと、を備え、前記コントローラが、前記オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録することと、前記深層ニューラルネットワークに画像を提出することと、前記人物の前記登録された身元を、前記深層ニューラルネットワークに提出された前記画像内で検出されたオブジェクトに関連付けることと、前記深層ニューラルネットワークが前記提出された画像内で検出された前記オブジェクトを認識することができない場合に、前記提出された画像を使用して前記深層ニューラルネットワークを再訓練することと、前記検出されたオブジェクトが前記オブジェクトを保持するように指定されたエリア内にある間、前記検出されたオブジェクトのロケーションを追跡することと、を行うように構成された１つ以上のプロセッサを含む、オブジェクト識別システム。
【請求項２】
前記コントローラが、前記深層ニューラルネットワークが前記提出された画像内で、前記検出されたオブジェクトを認識することができないことに応答して、前記検出されたオブジェクトについてのラベル付け情報を取得することと、前記ラベル付け情報を、前記深層ニューラルネットワークに提出された前記画像のバージョンと関連付けることと、前記画像の前記バージョン及び関連付けられたラベル付け情報を、前記深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を行うように更に構成されている、請求項１に記載のオブジェクト識別システム。
【請求項３】
前記深層ニューラルネットワークが前記提出された画像内で、前記画像内の前記検出されたオブジェクトを認識することができない場合に、前記コントローラからの要求に応答して、ユーザから前記ラベル付け情報を取得するように構成されている、人的インプット取得モジュールを更に備える、請求項２に記載のオブジェクト識別システム。
【請求項４】
前記コントローラが、前記深層ニューラルネットワークが前記検出されたオブジェクトを認識することができない場合に変化が現れる、前記画像内のエリアを見つけることと、前記エリアの変化に焦点が置かれた、前記画像のバージョンを生成することと、前記画像の前記バージョンを前記深層ニューラルネットワークに提出して、前記深層ニューラルネットワークが前記画像の第２のバージョンで、前記検出されたオブジェクトを認識することができるかどうかを決定することと、を行うように更に構成されている、請求項１に記載のオブジェクト識別システム。
【請求項５】
前記コントローラが、前記深層ニューラルネットワークが前記画像の前記提出されたバージョンで、前記検出されたオブジェクトを認識するかどうかにかかわらず、前記検出されたオブジェクトについてのラベル付け情報を取得することと、前記取得されたラベル付け情報を前記深層ニューラルネットワークに提出された前記画像の前記バージョンに関連付けることと、前記画像の前記バージョン及び関連付けられたラベル付け情報を、前記深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を行うように更に構成されている、請求項４に記載のオブジェクト識別システム。
【請求項６】
前記コントローラが、前記深層ニューラルネットワークが前記画像の前記提出されたバージョンで、前記検出されたオブジェクトを認識した場合に、前記深層ニューラルネットワークから前記ラベル付け情報を取得するように更に構成されている、請求項５に記載のオブジェクト識別システム。
【請求項７】
前記深層ニューラルネットワークが、第１の深層ニューラルネットワークであり、前記第１の深層ニューラルネットワークと並列に動作するように構成された第２の深層ニューラルネットワークを更に含み、前記第１及び第２の深層ニューラルネットワークの各々が、前記画像から得られた画像データに基づいてアウトプットを生成し、前記第１の深層ニューラルネットワークによって得られた前記画像データが、前記第２の深層ニューラルネットワークによって得られた前記画像データとは異なる、請求項１に記載のオブジェクト識別システム。
【請求項８】
前記画像センサの視野と実質的に一致する視野を有する深度センサを更に備え、前記深度センサが、前記深度センサの視野内の画像の深度ピクセル値を取得し、訓練又はオブジェクト認識中に、前記画像が前記深層ニューラルネットワークに提出されると、深度ピクセル値、並びにＲ（赤）、Ｇ（緑）、及びＢ（青）からなる群から取られた３つ未満のピクセル値が、画像データとして前記深層ニューラルネットワークに提出される、請求項１にオブジェクト識別システム。
【請求項９】
前記深層ニューラルネットワークが、リモートサーバシステム上に常駐し、前記コントローラが、前記サーバシステム上の前記深層ニューラルネットワークと通信するためのネットワークインターフェースを更に備える、請求項１に記載のオブジェクト識別システム。
【請求項１０】
オブジェクトを識別及び追跡する方法であって、前記方法が、
オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録するステップと、
前記オブジェクトを保持するように指定されたエリアの画像をキャプチャするステップと、
前記画像のバージョンを、前記指定されたエリア内に保持されたこれらのオブジェクトと似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークに提出するステップと、
前記画像の前記バージョンでオブジェクトを検出するステップと、
前記人物の前記登録された身元を前記検出されたオブジェクトに関連付けるステップと、
前記深層ニューラルネットワークが前記検出されたオブジェクトを認識することができない場合に、前記画像の前記バージョンを使用して前記深層ニューラルネットワークを再訓練するステップと、
前記検出されたオブジェクトが前記オブジェクトを保持するように指定されたエリア内にある間、前記検出されたオブジェクトのロケーションを追跡するステップと、を含む、方法。
【請求項１１】
前記方法が、
前記深層ニューラルネットワークが前記画像の前記バージョンで、前記検出されたオブジェクトを認識することができないことに応答して、前記画像の前記バージョンで検出された前記オブジェクトについてのラベル付け情報を取得することと、
前記ラベル付け情報を前記画像の前記バージョンに関連付けることと、
前記キャプチャされた画像の前記バージョン及び関連付けられたラベル付け情報を、前記深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を更に含む、請求項１０に記載の方法。
【請求項１２】
前記深層ニューラルネットワークが前記画像の前記バージョンで、前記検出されたオブジェクトを認識することができないことに応答して、前記画像の前記バージョンで検出された前記オブジェクトについてのラベル付け情報を取得する前記ステップが、ユーザ供給インプットから前記ラベル付け情報を取得することを含む、請求項１１に記載の方法。
【請求項１３】
前記画像の前記バージョンが、前記画像の第１のバージョンであり、前記方法が、
前記深層ニューラルネットワークが前記画像の前記第１のバージョンで検出された前記オブジェクトを認識することができない場合に変化が現れる、前記画像の前記第１のバージョン内のエリアを見つけることと、
前記変化が見つかったエリアに焦点が置かれた、前記画像の第２のバージョンを生成することと、
前記画像の前記第２のバージョンを前記深層ニューラルネットワークに提出して、前記深層ニューラルネットワークが前記画像の前記第２のバージョンで、前記検出されたオブジェクトを認識することができるかどうかを決定することと、を更に含む、請求項１０に記載の方法。
【請求項１４】
前記方法が、
前記深層ニューラルネットワークが前記画像の前記第２のバージョンで、前記検出されたオブジェクトを認識するかどうかにかかわらず、前記画像の前記第１のバージョンで検出された前記オブジェクトについてのラベル付け情報を取得することと、
前記ラベル付け情報を前記画像の前記第１のバージョンに関連付けることと、
前記キャプチャされた画像の前記第１のバージョン及び関連付けられたラベル付け情報を、前記深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を更に含む、請求項１３に記載の方法。
【請求項１５】
前記画像の前記バージョンで検出された前記オブジェクトについてのラベル付け情報を取得する前記ステップが、前記深層ニューラルネットワークが前記画像の前記バージョンで、前記検出されたオブジェクトを認識した場合に、前記深層ニューラルネットワークから前記ラベル付け情報を取得することを含む、請求項１４に記載の方法。
【請求項１６】
前記深層ニューラルネットワークが、第１の深層ニューラルネットワークであり、前記画像の前記バージョンから取得された画像データを、前記第１の深層ニューラルネットワーク及び第２の深層ニューラルネットワークに並列に提出するステップを更に含み、前記第１の深層ニューラルネットワークに提出された前記画像データが、前記第２の深層ニューラルネットワークに提出された前記画像データとは異なる、請求項１０に記載の方法。
【請求項１７】
前記画像のバージョンを前記深層ニューラルネットワークに提出する前記ステップが、深度ピクセル値、並びにＲ（赤）、Ｇ（緑）、及びＢ（青）からなる群から取られた３つ未満のピクセル値を、画像データとして前記深層ニューラルネットワークに提出することを含む、請求項１０に記載の方法。
【請求項１８】
センサモジュールであって、
画像センサであって、前記画像センサの視野内の画像をキャプチャするように構成されている、画像センサと、
前記画像センサの前記視野と実質的に一致する視野を有する深度センサであって、前記深度センサによってキャプチャされた画像についての推定深度値を取得するように構成されている、深度センサと、
前記画像センサ及び前記深度センサと通信して、前記画像センサによってキャプチャされた前記画像に関連付けられた画像データ、及び前記深度センサによってキャプチャされた前記画像に関連付けられた推定深度値を受信するコントローラと、を備え、前記コントローラが、オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録することと、前記画像センサによってキャプチャされた前記画像に関連付けられた前記画像データ、及び前記深度センサによってキャプチャされた前記画像に関連付けられた前記推定深度値を、前記指定されたエリア内に保持されたこれらのオブジェクトに似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークに提出することと、前記人物の前記登録された身元を、前記深層ニューラルネットワークに提出された、前記画像データ内で検出されたオブジェクト及び推定深度値に関連付けることと、前記深層ニューラルネットワークが前記検出されたオブジェクトを認識することができない場合に、前記深層ニューラルネットワークの後続の再訓練で使用するために、前記画像センサ及び前記深度センサによってキャプチャされた前記画像のバージョンを保存することと、を行うように構成された１つ以上のプロセッサを含む、センサモジュール。
【請求項１９】
前記コントローラが、ネットワークを介して前記深層ニューラルネットワークと通信するためのクラウドインターフェースを更に備える、請求項１８に記載のセンサモジュール。
【請求項２０】
前記深層ニューラルネットワークが前記提出された画像データ及び前記推定深度値に基づいて、前記検出されたオブジェクトを認識することができない場合に、前記コントローラからの要求に応答して、ユーザから前記ラベル付け情報を取得するように構成されている、人的インプット取得モジュールを更に備える、請求項１８に記載のセンサモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、全ての目的のために、仮出願の内容全体が参照により本明細に組み込まれる、２０１８年９月２１日に出願された「Ｍａｃｈｉｎｅ‐Ｌｅａｒｎｉｎｇ‐Ａｓｓｉｓｔｅｄ  Ｓｅｌｆ‐Ｉｍｐｒｏｖｉｎｇ  Ｏｂｊｅｃｔ‐ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ」と題する同時係属中の米国特許仮出願第６２／７３４，４９１号に対する優先権及びその利益を主張するものである。
【０００２】
（発明の分野）
本発明は、概して、オブジェクトを識別するための機械学習システム及び方法に関する。
【背景技術】
【０００３】
様々な消費財及び小売業は、購入及びチェックアウトのプロセスを自動化することによって、顧客の買い物体験を改善することを試みている。かかる自動化は、どんなアイテムを顧客が棚から取ったかを識別することができる、展開システムを伴う。一部のシステムは、これらのアイテムを識別するために、映像監視及び画像処理技術を用いる。しかしながら、キャプチャされた画像内のアイテムの適切な検出及び識別は、様々な要因、例えば、照明条件、陰影、遮られた視界、並びに棚の上のアイテムのロケーション及び位置によって影響が及ぼされる場合がある。一貫性のない結果は、かかるシステムを無効にする。
【発明の概要】
【０００４】
以下に記述される全ての実施例及び特徴は、任意の技術的に可能な方法で組み合わせることができる。
【０００５】
１つの態様では、本発明は、オブジェクト識別システムであって、オブジェクトを保持するように指定されたエリア内に配設されたオブジェクトの画像をキャプチャするように構成された画像センサと、指定されたエリア内に保持されたこれらのオブジェクトと似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークと、画像センサによってキャプチャされた画像を受信する画像センサ及び深層ニューラルネットワークと通信する、コントローラと、を備える、オブジェクト識別システムに関する。コントローラは、オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録することと、深層ニューラルネットワークに画像を提出することと、人物の登録された身元を、深層ニューラルネットワークに提出された画像内で検出されたオブジェクトに関連付けることと、深層ニューラルネットワークが提出された画像内で検出されたオブジェクトを認識することができない場合に、提出された画像を使用して深層ニューラルネットワークを再訓練することと、検出されたオブジェクトがオブジェクトを保持するように指定されたエリア内にある間、検出されたオブジェクトのロケーションを追跡することと、を行うように構成された１つ以上のプロセッサを含む。
【０００６】
コントローラは、深層ニューラルネットワークが提出された画像内で、検出されたオブジェクトを認識することができないことに応答して、検出されたオブジェクトについてのラベル付け情報を取得することと、ラベル付け情報を、深層ニューラルネットワークに提出された画像のバージョンと関連付けることと、画像のバージョン及び関連付けられたラベル付け情報を、深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を行うように更に構成され得る。深層ニューラルネットワークが提出された画像内で、画像内の検出されたオブジェクトを認識することができない場合に、コントローラからの要求に応答して、ユーザからラベル付け情報を取得するように、人的インプット取得モジュールを構成することができる。
【０００７】
コントローラは、深層ニューラルネットワークが検出されたオブジェクトを認識することができない場合に変化が現れる、画像内のエリアを見つけることと、エリアの変化に焦点が置かれた、画像のバージョンを生成することと、画像のバージョンを深層ニューラルネットワークに提出して、深層ニューラルネットワークが画像の第２のバージョンで、検出されたオブジェクトを認識することができるかどうかを決定することと、を行うように更に構成され得る。コントローラは、深層ニューラルネットワークが画像の提出されたバージョンで、検出されたオブジェクトを認識するかどうかにかかわらず、検出されたオブジェクトについてのラベル付け情報を取得することと、取得されたラベル付け情報を深層ニューラルネットワークに提出された画像のバージョンに関連付けることと、画像のバージョン及び関連付けられたラベル付け情報を、深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を行うように更に構成され得る。更に、コントローラは、深層ニューラルネットワークが画像の提出されたバージョンで、検出されたオブジェクトを認識した場合に、深層ニューラルネットワークからラベル付け情報を取得するように更に構成され得る。
【０００８】
深層ニューラルネットワークは、第１の深層ニューラルネットワークであり得、本システムは、第１の深層ニューラルネットワークと並列に動作するように構成された第２の深層ニューラルネットワークを更に含み得る。第１及び第２の深層ニューラルネットワークの各々は、画像から得られた画像データに基づいてアウトプットを生成し、第１の深層ニューラルネットワークによって得られた画像データは、第２の深層ニューラルネットワークによって得られた画像データとは異なる。
【０００９】
オブジェクト識別システムは、画像センサの視野と実質的に一致する視野を有する深度センサを更に備え得る。深度センサは、深度センサの視野内の画像の深度ピクセル値を取得し、訓練又はオブジェクト認識中に、画像が深層ニューラルネットワークに提出されると、深度ピクセル値、並びにＲ（赤）、Ｇ（緑）、及びＢ（青）からなる群から取られた３つ未満のピクセル値が、画像データとして深層ニューラルネットワークに提出される。
【００１０】
深層ニューラルネットワークは、リモートサーバシステム上に常駐し得、コントローラは、サーバシステム上の深層ニューラルネットワークと通信するためのネットワークインターフェースを更に備え得る。
【００１１】
別の態様では、本発明は、オブジェクトを識別及び追跡する方法に関する。本方法は、オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録するステップと、オブジェクトを保持するように指定されたエリアの画像をキャプチャするステップと、画像のバージョンを、指定されたエリア内に保持されたこれらのオブジェクトと似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークに提出するステップと、画像のバージョンでオブジェクトを検出するステップと、人物の登録された身元を検出されたオブジェクトに関連付けるステップと、深層ニューラルネットワークが検出されたオブジェクトを認識することができない場合に、画像のバージョンを使用して深層ニューラルネットワークを再訓練するステップと、検出されたオブジェクトがオブジェクトを保持するように指定されたエリア内にある間、検出されたオブジェクトのロケーションを追跡するステップと、を含む。
【００１２】
方法は、深層ニューラルネットワークが画像のバージョンで、検出されたオブジェクトを認識することができないことに応答して、画像のバージョンで検出されたオブジェクトについてのラベル付け情報を取得することと、ラベル付け情報を画像のバージョンに関連付けることと、キャプチャされた画像のバージョン及び関連付けられたラベル付け情報を、深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を更に含み得る。深層ニューラルネットワークが画像のバージョンで、検出されたオブジェクトを認識することができないことに応答し得る、画像のバージョンで検出されたオブジェクトについてのラベル付け情報を取得するステップは、ユーザ供給インプットからラベル付け情報を取得することを含む。
【００１３】
本方法は、深層ニューラルネットワークが画像の第１のバージョンで検出されたオブジェクトを認識することができない場合に変化が現れる、画像のバージョン内のエリアを見つけることと、変化が見つかったエリアに焦点が置かれた、画像の第２のバージョンを生成することと、画像の第２のバージョンを深層ニューラルネットワークに提出して、深層ニューラルネットワークが画像の第２のバージョンで、検出されたオブジェクトを認識することができるかどうかを決定することと、を更に含み得る。本方法は、深層ニューラルネットワークが画像の第２のバージョンで、検出されたオブジェクトを認識するかどうかにかかわらず、画像の第１のバージョンで検出されたオブジェクトについてのラベル付け情報を取得することと、ラベル付け情報を画像の第１のバージョンに関連付けることと、キャプチャされた画像の第１のバージョン及び関連付けられたラベル付け情報を、深層ニューラルネットワークを再訓練するために使用される画像データベースに記憶することと、を更に含み得る。画像のバージョンで検出されたオブジェクトについてのラベル付け情報を取得するステップは、深層ニューラルネットワークが画像のバージョンで、検出されたオブジェクトを認識した場合に、深層ニューラルネットワークからラベル付け情報を取得することを含み得る。
【００１４】
画像のバージョンを深層ニューラルネットワークに提出するステップは、深度ピクセル値、並びにＲ（赤）、Ｇ（緑）、及びＢ（青）からなる群から取られた３つ未満のピクセル値を、画像データとして深層ニューラルネットワークに提出することを含み得る。
【００１５】
本方法は、画像のバージョンから取得された画像データを、第１の深層ニューラルネットワーク及び第２の深層ニューラルネットワークに並列に提出するステップを更に含み得、第１の深層ニューラルネットワークに提出された画像データは、第２の深層ニューラルネットワークに提出された画像データとは異なる。
【００１６】
別の態様では、本発明は、センサモジュールであって、センサモジュールが、画像センサであって、画像センサの視野内の画像をキャプチャするように構成されている、画像センサと、画像センサの視野と実質的に一致する視野を有する深度センサと、を備える、センサモジュールに関する。深度センサは、深度センサによってキャプチャされた画像についての推定深度値を取得するように構成されている。センサモジュールは、画像センサ及び深度センサと通信して、画像センサによってキャプチャされた画像に関連付けられた画像データ、及び深度センサによってキャプチャされた画像に関連付けられた推定深度値を受信する、コントローラを更に備える。コントローラは、オブジェクトを保持するように指定されたエリアを訪問した人物の身元を登録することと、画像センサによってキャプチャされた画像に関連付けられた画像データ、及び深度センサによってキャプチャされた画像に関連付けられた推定深度値を、指定されたエリア内に保持されたこれらのオブジェクトに似ている、画像内のオブジェクトを検出及び認識するように訓練された深層ニューラルネットワークに提出することと、人物の登録された身元を、深層ニューラルネットワークに提出された、画像データ内で検出されたオブジェクト及び推定深度値に関連付けることと、深層ニューラルネットワークが検出されたオブジェクトを認識することができない場合に、深層ニューラルネットワークの後続の再訓練で使用するために、画像センサ及び深度センサによってキャプチャされた画像のバージョンを保存することと、を行うように構成された１つ以上のプロセッサを含む。
【００１７】
コントローラは、ネットワークを介して深層ニューラルネットワークと通信するためのクラウドインターフェースを更に備え得る。
【００１８】
センサモジュールは、深層ニューラルネットワークが提出された画像データ及び推定深度値に基づいて、検出されたオブジェクトを認識することができない場合に、コントローラからの要求に応答して、ユーザからラベル付け情報を取得するように構成されている、人的インプット取得モジュールを更に備え得る。
【図面の簡単な説明】
【００１９】
本発明の上記の及び更なる利点は、添付図面と併せて以下の説明を参照することによって、よりよく理解することができ、図面内の同様の数字は、様々な図の同様の構造上の要素及び特徴を示す。図面は必ずしも縮尺どおりではなく、代わりに本発明の原理を説明することに重点が置かれている。
【００２０】
【図１】コントローラと、オブジェクトを保持するように指定されたサポート面の視野を有する画像センサと、を含む、機械学習支援によるオブジェクト識別システムの一実施形態を示す。
【図２】図１のコントローラの一実施形態のブロック図である。
【図３】ローカルの機械学習モジュールと通信する人工知能モジュールを含む、機械学習支援によるオブジェクト識別システムの一実施形態の機能ブロック図である。
【図４】リモートの機械学習モジュールと通信する人工知能モジュールを含む、機械学習支援によるオブジェクト識別システムの一実施形態の機能ブロック図である。
【図５】リモートの機械学習モジュールと通信する人工知能モジュールを含む、機械学習支援によるオブジェクト識別システムの別の実施形態の機能ブロック図である。
【図６】深層ニューラルネットワーク又はＤＮＮを含むオブジェクト追跡モジュールの一実施形態のブロック図である。
【図７】コンピュータビジョンモジュールの一実施形態のブロック図である。
【図８】機械学習支援によるオブジェクト識別のためのプロセスの一実施形態のフローチャートである。
【図９】キャプチャされた画像内のオブジェクトを識別するためのプロセス及び任意選択のマルチパス認証プロセスの一実施形態のフローチャートである。
【図１０】ＤＮＮが最初のうちはオブジェクトを識別しない画像でＤＮＮを再訓練するためのプロセスの一実施形態のフローチャートである。
【発明を実施するための形態】
【００２１】
本明細書に記載のオブジェクト識別システム及び方法は、コンピュータビジョンと、機械学習と、深層ニューラルネットワーク（ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ、ＤＮＮ）とを組み合わせて、人々及びオブジェクトの正確な識別及び追跡を可能にする。最初のうち、ＤＮＮは、白紙状態であり、人的支援を伴わずに、オブジェクトを識別することができない可能性があるか、又は画像の所定のセットで訓練されて、ＤＮＮにベースラインが与えられる場合がある。ベースラインのオブジェクト識別能力をＤＮＮに与えるために、ヒトが画像の所定の訓練セットでＤＮＮを訓練する必要がある。その初期訓練の後、オブジェクトを識別するためのＤＮＮの能力が、後続の訓練のために、継続的に改善される。これらの後続の訓練は、ＤＮＮが最初のうちはオブジェクトを識別することができなかった画像に基づく。これらの画像内のオブジェクトは、識別可能になり、ひいては、画像内のオブジェクトを識別する人的に供給された情報ゆえ、又は変化が検出された、画像内の領域にＤＮＮの検出活動を集中させるマルチ認証プロセスゆえに、ＤＮＮを再訓練するために貴重なものになる。
【００２２】
図１は、少なくとも１つのセンサモジュール１０２を有する機械学習支援によるオブジェクト識別システム１００の一実施形態を示す。各センサモジュール１０２は、コントローラ１０４を含み、コントローラ１０４は、１つ以上のカラー（例えば、ＲＧＢ）画像センサ１０６、並びに任意選択で、点線（ｉｎ  ｐｈａｎｔｏｍ）で示される、１つ以上の深度センサ１０８及び光源１１０、並びに任意選択で、無線高周波（ｒａｄｉｏ‐ｆｒｅｑｕｅｎｃｙ、ＲＦ）トランシーバ（図示せず）と通信する。コントローラ１０４は、オブジェクト認識で使用するための深層ニューラルネットワーク（ＤＮＮ）１１２と、後でより詳細に説明する、画像内の変化を検出するためのコンピュータビジョンモジュール１１４と、を実装する。
【００２３】
１つの実施形態では、各センサモジュール１０２は、オブジェクト保持エリアを訪問した人物を登録すること、画像をキャプチャすること、画像を処理すること、オブジェクトを検出すること、機械学習支援による自己改善型オブジェクト認識、オブジェクトの追跡、及びそのように構成されている場合に光ガイドを提供すること、ができる自己完結型電子ユニットである。他の実施形態では、これらの機能のうちの１つ以上は、リモートで行われ（すなわち、センサモジュールでは行われない）、例えば、オブジェクト検出、機械学習支援による自己改善型オブジェクト認識、及びオブジェクト追跡の機能は、センサモジュールとネットワークを介して通信しているリモートコンピューティングサイトで行われ得る。
【００２４】
センサモジュール１０２は、オブジェクト保持エリア内のサポート面１１６近くの固定された位置で展開され得るか、又はモバイルであり得、モバイルデバイスで具現化され得る。固定された展開の実施例として、センサモジュール１０２は、企業サイトの全てのコーナーが網羅されるように、サーベイランス構成で上限から落下し得る。これらのセンサモジュールは、小さくて非侵襲型であり、かつ例えば、出願の全体が参照により本明細書に組み込まれる、２０１８年６月１４日に公開された米国特許出願公開第２０１８／０１６４１１２（Ａ１）に記載されるように、企業全体の個人の識別及びパスを追跡することができる。
【００２５】
センサモジュールのモバイルの実施形態としては、スマートフォン、タブレットコンピュータ、ウェアラブルコンピューティングデバイス、又は１つ以上のプロセッサとともに構成された任意の他のポータブルコンピューティングデバイス、ＲＧＢカメラ、無線通信能力、任意選択の深度センサ、任意選択の光源、並びに画像処理機能と、オブジェクトの検出、追跡、及び認識機能と、自己改善型機械学習機能と、本明細書に記載される任意選択の光ガイド機能とを実施するためのソフトウェアが挙げられるが、これらに限定されない。ソフトウェアは、モバイルデバイス上に記憶され得るダウンロードされたアプリケーション（アプリ）で具現化され得る。移動可能な人物又は機械であることにより、実際には、モバイルデバイスのカメラ（複数可）によってキャプチャされたオブジェクトを認識することができるオブジェクト識別デバイスを携行することができる。例えば、かかるデバイスを有する人物は、ソフトウェアを作動させて、様々なオブジェクトを保持するテーブル（すなわち、サポート面）に接近し、デバイス（すなわち、そのカメラ（複数可））を各オブジェクトに向け、オブジェクトの画像をキャプチャし、オブジェクトのタイプ（身元）を伝えることができる。オブジェクトの身元を得るために、モバイルデバイスは、ＤＮＮをホストするリモートサーバと通信して、リモートサーバに画像を送信し、オブジェクトの身元を受信することができる。
【００２６】
本明細書で光学センサとも称され得る各画像センサ１０６は、カラー情報を提供し、各深度センサ１０８は、キャプチャされた画像のピクセルごとの推定深度を提供する。画像センサ１０６及び深度センサ１０８は、例えば、ＭｉｃｒｏｓｏｆｔのＫｉｎｅｃｔ（商標）などの単一のカメラで具現化され得るか、又は別々のカメラで具現化され得る。画像センサ及び任意選択の深度センサは、サポート面１１６に面するように配設される。サポート面の実施例としては、デスクトップテーブル、棚、及び床空間が挙げられるが、これらに限定されない。概して、サポートは、オブジェクト保持エリア内又はオブジェクト保持エリアに配設される。オブジェクト保持エリアは、例えば、各々が固定されたアクセスを有しているか有していないかにかかわらず、スーパーマーケット、倉庫、在庫、部屋、戸棚、廊下、食器棚、ロッカであり得る。識別及び追跡されるオブジェクトの実施例としては、パッケージ、小包、ボックス、機器、ツール、食品製品、ボトル、ジャー、及び缶が挙げられるが、これらに限定されない。（人々を識別及び追跡することもできる。）各画像センサ１０６は、サポート面１１６によって占有されるエリアの一部又は全てを網羅する視野（ｆｉｅｌｄ  ｏｆ  ｖｉｅｗ、ＦＯＶ）を有し、任意選択の深度センサの視野は、少なくとも画像センサの視野と一致する。各別々のセンサは、サポート面１１６上のエリア及びその上に配置されたオブジェクトの各センサ独自の視点を有する。
【００２７】
コントローラ１０４は、光源１１０を制御して、対象となるオブジェクト又はエリアに応じて、サポート面１１６上に又はサポート面の特定の領域に位置するオブジェクトに光ガイドを提供するように構成され得る。光源１１０の実施例としては、レーザ、プロジェクタ、ＬＥＤ、電球、懐中電灯、及びライトが挙げられるが、これらに限定されない。光源１１０は、サポート面１１６上に配設され得るか、又はサポート面１１６からリモートに配設され、サポート面１１６に方向付けされ得る。
【００２８】
例えば、サポート面上のオブジェクトの視覚的レイアウト、表面上のオブジェクト若しくは領域までの視覚的誘導、及びオブジェクト保持エリアに出入りする人物が使用するためのユーザインターフェースを提供するために、オブジェクト識別システム１００内にディスプレイ１１８を含めることができる。ディスプレイ１１８は、適宜、保持エリアの閾値に又は保持エリア内に位置し得る。ディスプレイ１１８は、インプット／アウトプットデバイス、例えば、物理若しくはく仮想キーボード、キーパッド、バーコードスキャナ、マイクロフォン、カメラとともに構成された電子デバイス（例えば、コンピュータ、スマートフォン、モバイルデバイス）の一部であってもよく、オブジェクト保持エリアに入る人物の身元を登録し、かつ／又はオブジェクトラベルをスキャンするために使用され得る。
【００２９】
コントローラ１０４はまた、ネットワーク接続を介して１つ以上のサーバ１２０（すなわち、サーバシステム）と通信し得る。これらのサーバ（複数可）１２０は、「クラウドサービス」などのサードパーティサービスを実施し得るか、又は企業においてローカル若しくはオンサイトで実装され得る。本明細書で使用される場合、「クラウド」とは、センサモジュール又はローカルコンピュータの代わりに、インターネットなどのリモートネットワーク上で作動するソフトウェア及びサービスを指す。クラウドは、パブリック、プライベート、又はこれらの組み合わせであってもよい。本明細書に記載の原理に適したクラウドサービスの実施例は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ（登録商標）によって提供されるＡｚｕｒｅ（商標）クラウドサービスである。サーバ（複数可）１２０は、センサモジュール１０２によって要求されるクラウドサービスを提供する、仮想機械を作動させ得る。
【００３０】
オブジェクト識別システム１００の動作中、人物は、オブジェクト保持エリアに到達して、オブジェクトを置くこと、オブジェクトを除去すること、保持エリア内の別のスポットにオブジェクトを移動させること、又は検査に値するオブジェクトについて人員にアラートを発することを含む、少なくとも４つのオブジェクト取り扱い行為のうちのいずれか１つ以上を実施する。概して、オブジェクト識別システムは、保持エリアに到達した（すなわち、オブジェクト識別システムとインタラクトした）人物の身元を登録し、各登録された人物を、その人物が取り扱っている１つ以上のオブジェクトに関連付ける。画像処理技術を使用して、オブジェクト識別システムは、保持エリアのリアルタイム画像データを継続的に監視及び取得する。リアルタイム画像データから、オブジェクト識別システムは、かかる各オブジェクトがいつ、サポート面１１６上に配置されたか、サポート面の別の領域に移動されたか、又はサポート面から除去されたかを検出する。保持エリア内のサポート面上に配設されたオブジェクトを検出及び追跡するための技術は、特許出願の全体が参照により本明細書に組み込まれる、２０１６年４月５日に出願された「Ｐａｃｋａｇｅ  Ｔｒａｃｋｉｎｇ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ」と題された米国特許出願公開第１５／０９１，１８０号に見出すことができる。加えて、オブジェクト識別システムは、腐敗しやすいアイテムを識別し、その有効期限の通知をスタッフに送信し得る。又は、オブジェクト識別システムは、棚上の損傷した商品を認識し、それに応じてスタッフに通知し得る。次いで、通知に応答して、スタッフは、当該のアイテムを検査し、その有効期限が過ぎている場合に当該のアイテムを除去するか、又は損傷したパッケージの程度を確認することができる。
【００３１】
オブジェクト識別システムは、サポート面上の、又は取り扱い行為を伴う、各オブジェクトを更に認識する。オブジェクト認識は、検出及び追跡されたオブジェクトのタイプ（例えば、特定のキャリアからのパッケージ、ピクルスのジャー、顕微鏡）を識別するのに役立つ。かかるオブジェクト認識は、所与のオブジェクトを最初のうちに識別する、又は所与のオブジェクトの認識が正しいかどうかを確認するか、若しくは認識を微調整するために、人的インタラクションを伴い得る。オブジェクト識別システムは、機械学習技術を用いて、そのオブジェクト認識能力を改善する。所与のオブジェクトの認識は、オブジェクトが保持エリア内にある間のオブジェクトの追跡を容易にし、オブジェクトの存在又は移動を確認するのに役立つ場合がある。
【００３２】
時折、センサモジュール１０２は、オブジェクト認識が閾値を下回った、つまり、オブジェクト識別システムが画像内のオブジェクトを認識することができない場合に、画像をキャプチャする。オブジェクトを（少なくとも最初のうちは）認識することができないにもかかわらず、オブジェクト識別システムは、依然として、オブジェクトの視覚的特性に基づいて、オブジェクト、つまり、オブジェクトの初期配置、及び保持エリア内の任意の後続のロケーションを追跡することができる。識別不能な画像は、ＤＮＮ  １１２を後で再訓練する目的で保留され、それにより、ＤＮＮは、そのオブジェクトが後続の処理された画像内に存在する場合、以前に認識不能だったオブジェクトを認識することができるようになる。音声認識、ジェスチャ認識、又はキーボードインプットを介した、オブジェクト識別システムとの人的インタラクションにより、識別不能な画像内のオブジェクトをはっきりと識別し、適切なラベルを画像に与えることができる。ジェスチャ認識の実施例は、オブジェクトをタイプ番号３として識別するために３本の指を上げている人物であり、ここで、オブジェクト識別システムは、３本の指のジェスチャと特定のオブジェクトとの関連付け（例えば、３本の指が顕微鏡に対応する）を記憶している。以前に識別不能だった画像内のオブジェクトが認識されるようになった後、人的インプットの助けを借りて、画像及び関連付けられた適切なラベルが画像データベース１２２に記憶される。オブジェクト識別システム１００は、これらの記憶された画像及びラベルを使用して、深層ニューラルネットワーク１１２を再訓練する。以前に識別不能だった画像で深層ニューラルネットワークを再訓練することによって、今度は人的提供情報によって識別可能になり、ニューラルネットワーク１１２は、ますます「よりスマート」になる。経時的に、ニューラルネットワークが後でキャプチャされた画像内のオブジェクトを認識する確率は、１００パーセントに近づく。
【００３３】
画像データベース１２２は、センサモジュール１０２の近位にある中央コンピュータ１２６を介してアクセスされるローカルストレージ１２４内に保持され得る。この実施形態では、中央コンピュータ１２６は、全ての展開されたセンサモジュール１０２に対して、画像データベース１２２へのアクセスを提供する。図１に点線で示される別の実施形態では、画像データベース１２２は、リモートストレージ１２８、例えば、各センサモジュール１０２とサーバ（複数可）１２０を介して通信する「クラウド」に記憶される。これらの最初のうちは識別不能だった画像に加えて、画像データベース１２２はまた、画像の初期訓練セットを保持する。
【００３４】
図２は、図１のコントローラ１０４の一実施形態を示す。コントローラ１０４は、１つ以上のプロセッサ２００を含み、その例としては、各々が標準又はカスタム設計のものである、画像プロセッサ、中央処理ユニット、グラフィックス処理ユニットが挙げられるが、これらに限定されない。１つ以上のプロセッサ２００は、メモリ２０２と通信する。複数のプロセッサ２００の場合、かかるプロセッサは、異なるサイトに位置し（例えば、１つのプロセッサがローカルに（すなわち、センサモジュールに）配設され）、別のプロセッサはリモートに（例えば、「クラウド」に）配設され得る。同様に、メモリ２０２は、ローカル、リモート、又はこれらの組み合わせで配設され得る。
【００３５】
１つ以上のプロセッサ２００は、映像インターフェース２０４、任意選択の光源インターフェース２０６、任意選択のオーディオインターフェース２０８、ネットワークインターフェース２１０、及びＩ／Ｏ構成要素（例えば、ディスプレイ１１８）とのインターフェース２１２と通信する。映像インターフェース２０４により、コントローラ１０４は、センサモジュール１０２内の各画像センサ１０６及び深度センサ１０８（もしあれば）と通信し、光源インターフェース２０６によって、コントローラ１０４は、光源１１０の起動と、光源のタイプに応じて、放出された光ビームを向ける方向とを制御し、オーディオインターフェース２０８によって、コントローラ１０４は、音をキャプチャ又は再生するオーディオデバイスと通信する。
【００３６】
オペレーティングシステム及びインプット／アウトプットルーチンなどの従来のソフトウェアに加えて、メモリ２０２は、深層ニューラルネットワーク（ＤＮＮ）１１２を実装するため、並びに人員登録２１４、画像内のオブジェクト検出２１６、保持エリア内のオブジェクト追跡２１８、画像内のオブジェクト認識２２０、ニューラルネットワークの訓練２２２、画像前処理２２４、画像内の変化追跡２２６、及び任意選択で光ガイド２２８を実施するために、１つ以上のプロセッサ２００を構成するためのプログラムコードを記憶する。１つ以上のプロセッサ２００及びメモリ２０２は、単一又は複数の集積回路（ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＩＣ）デバイス上に、一緒又は個々に実装され得る。更に、メモリ２０２に記憶されたプログラムコードは、異なるサイトに常駐し得る。例えば、ＤＮＮ  １１２を実装するためのプログラムコードは、リモートロケーション（例えば、クラウド上）に常駐し得、ユーザ認識のためのプログラムコードは、ローカル（すなわち、センサモジュール上）に常駐し、ローカルで実行され得る。
【００３７】
簡単な概要では、人員登録２１４のためのプログラムコードは、オブジェクト識別システム１００を使用する個人の身元及び行為を記録し、かかる個人を当該個人が影響を及ぼすオブジェクトに関連付け、オブジェクト検出２１６のためのプログラムコードは、画像処理技術を使用して、画像内のオブジェクトの存在を検出し、オブジェクト追跡２１８のためのプログラムコードは、保持エリア内の検出されたオブジェクトのロケーションを追跡し、オブジェクト認識２２０のためのプログラムコードは、ＤＮＮ  １１２を用いて、画像内のオブジェクトを認識（すなわち、識別若しくは分類）し、ニューラルネットワークの訓練２２２のためのプログラムコードは、特定のタイプのオブジェクトを認識することができるようになるために、ＤＮＮ  １１２を訓練し、画像前処理２２４のためのプログラムコードは、画像編集技術を、キャプチャした画像に適用して、かかる画像内のオブジェクト検出及び認識活動を改善し、変化追跡２２６のためのプログラムコードは、画像内の変化を検出し、画像のラベル付けを支援し、任意選択で、光ガイド２２８のためのプログラムコードは、光源１１０を使用して、オブジェクト及び／若しくはオブジェクト保持エリア内のロケーションまでヒトを誘導する。後でより詳細に説明するように、コントローラ１０４の様々な要素又は機能は、リモートに駐在し得る。つまり、いくつかの実施形態では、コントローラ１０４のいくつかの要素又は機能は、センサモジュール１０２（図１）の一部ではなく、リモート（例えば、「クラウド」内）に常駐する。
【００３８】
図３は、機械学習モジュール３０２と通信する人工知能（ａｒｔｉｆｉｃｉａｌ‐ｉｎｔｅｌｌｉｇｅｎｃｅ、ＡＩ）モジュール３００を含む、オブジェクト識別システム１００の一実施形態の機能ブロック図を示す。ＡＩモジュール３００は、画像取得モジュール３０４と、画像前処理モジュール３０６と、オブジェクト追跡モジュール３０８と、人的インプット取得モジュール３１０と、追跡品質測定モジュール（ｑｕａｌｉｔｙ  ｍｅａｓｕｒｅｍｅｎｔ  ｍｏｄｕｌｅ、ＱＭＭ）３１２と、を含む。機械学習モジュール３０２は、（図１に関連して説明する画像データベース１２２を維持する）ローカルストレージ１２４と、深層ニューラルネットワーク（ＤＮＮ）トレーナ３１４と、を含む。
【００３９】
ＡＩモジュール３００の画像取得モジュール３０４は、画像センサ１０６及び任意選択の深度センサ１０８から画像を取得するように構成されている。キャプチャした画像は、画像前処理モジュール３０６に渡され、画像前処理モジュール３０６は、画像をオブジェクト追跡モジュール３０８に転送する。画像前処理モジュール３０６は、各画像をコンピュータビジョンモジュール１１４に送信し（ライン３１６）、その画像のコピーをＤＮＮ  １１２に送信する（ライン３１８）（代替的に、コンピュータビジョンモジュール１１４が画像のコピーを受信する。
【００４０】
概して、オブジェクト追跡モジュール３０８は、画像内のオブジェクトを検出して、かかるオブジェクトを追跡し、図１のＤＮＮ  １１２を使用してオブジェクト認識を実施するように構成されている。オブジェクト追跡モジュール３０８によって生成された結果は、追跡ＱＭＭ  ３１２に渡され（ライン３２０）、追跡ＱＭＭ  ３１２は、閾値（又は他の基準）を使用して、オブジェクトが画像内で認識されたかどうかを証明する。結果は、次の２つのタイプの情報を含む。１）ＤＮＮが、オブジェクト（又は、画像に応じて複数のオブジェクトのためのエリア）が見つかったと判断する画像内のエリア、及び２）そのエリア（複数可）内にあると考慮される各タイプのオブジェクトの確率のリスト。
【００４１】
オブジェクト追跡モジュール３０８から受信した情報に基づいて、ＱＭＭ  ３１２は、ＤＮＮ  １１２が画像内のオブジェクト（複数可）を識別することに成功したかどうかを決定する。成功の場合、ＱＭＭ  ３１２は、成功の信号を送る（ライン３２２）。コントローラ１０４は、パッケージ追跡アプリケーションなどのオブジェクトの識別を決定することを求めるエンドユーザアプリケーションに応じて、この成功の信号を受信し、状況に応じて、信号に対して応答し得る。
【００４２】
オブジェクトが画像内で識別可能ではない場合、ＱＭＭ  ３１２は、コンピュータビジョンモジュール１１４に通知する（ライン３２４）。コンピュータビジョンモジュール１１４は、任意選択で、画像をＤＮＮ  １１２に送信し（ライン３２６）、この画像は、元の画像から導出され、変化が検出された元の画像内の領域に焦点が置かれる。ＤＮＮ  １１２は、この焦点が置かれた画像内のオブジェクトを識別することを試み得る（ライン３２６）。つまり、ＤＮＮ  １１２は、第２のパスを実施する。第２のパス中にＤＮＮが成功しなかった場合、ＱＭＭ  ３１２は、要求を人的インプット取得モジュール３１０に送信し（ライン３２７）、元の画像内の識別不能なオブジェクトについてのラベル付け情報を求める。ＤＮＮ  １１２が、この焦点が置かれた画像内のオブジェクトを認識することに成功したか失敗したかにかかわらず、コンピュータビジョンモジュール１１４は、中でオブジェクトが最初のうちは認識されなかった元の画像をローカルストレージ１２４に送信する（ライン３２８）。記憶される画像は、人的インプット取得モジュール３１０からの人的提供ラベル（ライン３３２）、又はＤＮＮ  １１２によって生成され（ライン３２０）、ＱＭＭ  ３１２に送信され、次いで、ＱＭＭ  ３１２によって転送されたラベル（ライン３３４）に結び付け／関連付けられる（ボックス３３０）。ＤＮＮトレーナ３１４は、ローカルストレージ１２４内のこれらの画像及びそれらの関連付けられたＩＤ情報（すなわち、ラベル）を使用して、ＤＮＮ  １１２を再訓練する（ライン３３６）。
【００４３】
各センサモジュール１０２（図１）は、ＡＩモジュール３００の機能をローカルで提供するように構成することができ、中央コンピュータ１２６（図１）は、機械学習モジュール３０２の機能を提供するように構成されている。各センサモジュール１０２（図１）は、中央コンピュータ１２６と通信し、中央コンピュータ１２６は、画像データベース１２２内の画像に基づいて、ＤＮＮの訓練を提供する。したがって、異なるセンサモジュールは、同等の画像認識能力を開発する。
【００４４】
図４は、機械学習モジュール４０２と通信する人工知能（ＡＩ）モジュール４００を有する、オブジェクト識別システム１００の別の実施形態の機能ブロック図を示す。概して、図４のオブジェクト識別システムは、機械学習モジュール４０２がリモート、つまり、クラウド内又はインターネット上にあるネットワーク上に常駐するという点で、図３のものとは異なる。更に、この実施形態では、リモート機械学習モジュール４０２は、ＤＮＮ  １１２を含む。したがって、ＤＮＮの演算は、例えば、サードパーティのクラウドサービスによって実施されるリモートサーバ（例えば、図１のサーバ１２０）上で行われる。
【００４５】
具体的には、ＡＩモジュール４００は、画像取得モジュール３０４（図３）と、画像前処理モジュール３０６（図３）と、オブジェクト追跡モジュール４０４と、人的インプット取得モジュール３１０（図３）と、追跡ＱＭＭ  ３１２と、を含む。オブジェクト追跡モジュール４０４は、コンピュータビジョンモジュール１１４及びクラウドインターフェースモジュール４０６を含む。リモートの機械学習モジュール４０２は、クラウド（すなわち、リモート）ストレージ１２８内に画像データベース１２２（図１）を維持し、ＤＮＮ  １１２と、ＤＮＮ  １１２を訓練及び再訓練する（ライン３３６）ために使用されるＤＮＮトレーナ３１４と、を含む。
【００４６】
コンピュータビジョンモジュール１１４、画像取得モジュール３０４、画像前処理モジュール３０６、オブジェクト追跡モジュール４０４、人的インプット取得モジュール３１０、追跡ＱＭＭ  ３１２、クラウド（すなわち、リモート）ストレージ１２８、ＤＮＮトレーナ３１４、及びＤＮＮ  １１２は、図３におけるそれらの対応するモジュールのように動作する。違いは、ＡＩモジュール４００が、そのクラウドインターフェースモジュール４０６を使用して、ネットワークを介して画像取得モジュール３０４から受信した画像を、ＤＮＮ  １１２がそのオブジェクト検出、追跡、及び認識アルゴリズムで使用するために、リモート機械学習モジュール４０２に伝達することである。画像取得モジュール３０４及びコンピュータビジョンモジュール１１４に対して、クラウドインターフェースモジュール４０６は、ＤＮＮであるかのように、これら２つのモジュール３０４、１１４からインプットを受信し、かかるインプットをリモートに常駐するＤＮＮ  １１２に転送する（ライン４０８）、事実上の「仮想ＤＮＮ」である。したがって、リモートサーバ１２０上のプロセッサ（複数可）は、ＤＮＮの演算を実施する。更に、機械学習モジュール４０２は、ＤＮＮ  １１２によって生成された結果（ライン３２０）を、ＡＩモジュール４００のクラウドインターフェースモジュール４０６に戻すように構成されている。クラウドインターフェースモジュール４０６は、これらの結果（ライン４１０）をＱＭＭ  ３１２に転送し、ＱＭＭ  ３１２は、これらの結果から、ＤＮＮ  １１２が画像内のオブジェクトを認識したかどうかを決定する。
【００４７】
ＱＭＭ  ３１２が、ＤＮＮ  １１２が画像内のオブジェクト（複数可）を識別することに成功したと決定した場合、ＱＭＭ  ３１２は、成功の信号を送る（ライン３２２）。オブジェクトが画像内で識別可能ではない場合、ＱＭＭ  ３１２は、コンピュータビジョンモジュール１１４に通知する（ライン３２４）。コンピュータビジョンモジュール１１４は、任意選択で、リモートＤＮＮ  １１２への伝送のために、画像をクラウドインターフェース４１４に送信する（ライン３２６）。この画像は、元の画像から導出され、コンピュータビジョンモジュール１１４が変化を検出した元の画像内の領域に焦点が置かれる。ＤＮＮ  １１２は、この焦点が置かれた画像内のオブジェクトを識別することを試み得る。第２のパス中にＤＮＮが試みたが成功しなかった場合、ＱＭＭ  ３１２は、要求（図示せず）を人的インプット取得モジュール３１０に送信し、元の画像内の識別不能なオブジェクトについてのラベル付け情報を求める。
【００４８】
ＤＮＮ  １１２が、ＤＮＮの第２の試みの間に、この焦点が置かれた画像内のオブジェクトを認識することに成功したか失敗したかにかかわらず、コンピュータビジョンモジュール１１４は、元の画像（又は元の画像の編集済みバージョン）をクラウドストレージ１２８に転送する（ライン３２８）。記憶される画像は、（ＤＮＮが失敗した場合に）人的インプット取得モジュール３１０によって取得された人的提供ラベル（ライン３３２）、又は（ＤＮＮが成功した場合に）成功した第２のパスでＤＮＮ  １１２によって生成され、ＱＭＭ  ３１２によって転送されたラベル（ライン３２０）に結び付けられるか、若しくは関連付けられる（ボックス３３０）。ＤＮＮトレーナ３１４は、リモートストレージ１２８内のこれらの画像及びそれらの関連付けられたＩＤ情報（すなわち、ラベル付け情報）を使用して、ＤＮＮ  １１２を再訓練する。
【００４９】
各センサモジュール１０２（図１）は、ＡＩモジュール４００の機能をローカルで提供するように構成することができ、サーバシステム１２０（図１）は、機械学習モジュール４０２の機能を提供するように構成されている。この実施形態では、リモート機械学習モジュール４０２と通信する全てのセンサモジュール１０２は、ＤＮＮ  １１２及び画像データベース１２２を共有し、ＤＮＮ  １１２の将来の再訓練のための画像に寄与する。概して、同じ画像データベース１２２及びＤＮＮ  １１２へのアクセスを有することによって、全てのセンサモジュールは、同等の画像認識能力を開発する。
【００５０】
図５は、機械学習モジュール５０２と通信する人工知能（ＡＩ）モジュール５００を有する、オブジェクト識別システム１００の別の実施形態の機能ブロック図を示す。各センサモジュール１０２（図１）は、ＡＩモジュール５００の機能をローカルで提供するように構成することができ、サーバシステム１２０（図１）は、機械学習モジュール５０２の機能を提供するように構成されている。概して、図５のオブジェクト識別システムは、図４のＡＩモジュール４００の特定の機能がリモートで行われるという点で、図４のものとは異なる。具体的には、画像前処理モジュール３０６、オブジェクト追跡モジュール３０８、及びＱＭＭ  ３１２は、リモートの機械学習モジュール５０２の一部であり、リモートの機械学習モジュール５０２はまた、ＤＮＮ  １１２と、リモートストレージ１２８と、ＤＮＮトレーナ３１４と、を含む。ＡＩモジュール５００は、クラウドインターフェース５０４と、画像取得モジュール３０４と、人的インプット取得モジュール３１０と、を含む。クラウドインターフェース５０４は、画像取得モジュール３０４と通信して、そこから受信したインプット画像をリモートの画像前処理モジュール３０６に転送する（ライン４５０）。クラウドインターフェース５０４はまた、ＤＮＮ  １１２がインプット画像内の１つ以上のオブジェクトを認識することができる場合に、リモートのＱＭＭ  ３１２からの結果（ライン３２２）とともに、成功した結果インジケータを受信し、クラウドインターフェース５０４は、オブジェクト識別システム１００のアプリケーションによって使用するための結果をアウトプットする。
【００５１】
オブジェクトが画像内で識別可能ではない場合、ＱＭＭ  ３１２は、コンピュータビジョンモジュール１１４に信号を送る（ライン３２４）。「ＤＮＮ失敗」という信号に応答して、コンピュータビジョンモジュール１１４は、コンピュータビジョンモジュール１１４が変化を検出した元の画像内のエリアに焦点が置かれた元の画像（又は元の画像の編集済みバージョン）から導出された画像を、この焦点が置かれた画像内のオブジェクトを識別しようとする試みが、事実上、認証時に第２のパスを実施するために、ＤＮＮ  １１２に送信し（ライン３２６）得る。ＤＮＮ  １１２は、この第２の試みの結果をＱＭＭ  ３１２に送信する（ライン３２０）。
【００５２】
ＤＮＮ  １１２が、第２の試みの間に、焦点が置かれた画像内のオブジェクトを認識することに成功したか失敗したかにかかわらず、リモートのコンピュータビジョンモジュール１１４は、ＤＮＮ  １１２が最初のうちはオブジェクトを認識することができなかった元の画像（又は元の画像の編集済みバージョン）をクラウドストレージ１２８に転送する（ライン３２８）。
【００５３】
オブジェクトが、この焦点が置かれた画像内で識別可能ではない場合、ＱＭＭ  ３１２は、ＡＩモジュール５００に信号を送り（ライン３２７）、人的インプットを要求するようにＡＩモジュール５００に伝える。人的インプット取得モジュール３１０が人的インプットを受信すると、クラウドインターフェース５０４は、クラウドストレージ１２８に人的インプットラベルを送信する（ライン３３２）。記憶される前に、人的インプットラベル（ライン３３２）は、リモートのコンピュータビジョンモジュール１１４から来る画像と組み合わされるか、又はその画像に関連付けられる（ボックス３３０）。
【００５４】
オブジェクトが、焦点が置かれた画像内で識別可能である場合、ＱＭＭ  ３１２は、コンピュータビジョンモジュール１１４によってクラウドストレージ１２８に送信された画像と組み合わされるか、又はその画像に関連付けられる（ボックス３３０）、ＤＮＮ  １１２によって生成されたラベル（ライン３３４）を送信する。前述のように、ＤＮＮトレーナ３１４は、これらの画像、及びリモートストレージ１２８内に維持された画像データベース１２２内のそれらの関連付けられたラベルを使用して、ＤＮＮ  １１２を再訓練する（ライン３３６）。
【００５５】
図６は、図３及び図５に記載のオブジェクト識別システムの実施形態に関連して使用するための、画像前処理モジュール（又は画像プリプロセッサ）３０６及びコンピュータビジョンモジュール１１４を含む、オブジェクト追跡モジュール６００の一実施形態を示す。オブジェクト追跡モジュール６００は、ＤＮＮ  １１２を含む。図４などの、ＤＮＮ  １１２がオブジェクト追跡モジュールに対してリモートである一実施形態では、オブジェクト追跡モジュール６００は、仮想ＤＮＮとして動作し、実際のＤＮＮと通信する、クラウドインターフェースモジュール４０６（図４）を有する。
【００５６】
１つの実施形態では、ＤＮＮ  １１２は、深層学習アーキテクチャ、例えば、インプット層６０２と、アウトプット層６０４と、複数の隠れ層（図示せず）と、を有する、深層畳み込みニューラルネットワークを有する。隠れ層は、１つ以上の畳み込み層と、１つ以上の完全に接続された層と、１つ以上の最大プーリング層と、を含み得る。各畳み込み層及び完全に接続された層は、その前の層からのインプットを受信し、その層の現在のパラメータ値に基づいて、これらのインプットへの変換を適用する。深層学習ニューラルネットワークを実装する例示的なアーキテクチャとしては、ウェブサイトｐｊｒｅｄｄｉｅ．ｃｏｍで利用可能なＤａｒｋｎｅｔ  Ｏｐｅｎ  ｓｏｕｒｃｅ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔフレームワーク、及びウェブサイトｃａｆｆｅ．ｂｅｒｋｅｌｅｙｖｉｓｉｏｎ．ｏｒｇで利用可能なＣａｆｆｅフレームワークが挙げられるが、これらに限定されない。
【００５７】
ＤＮＮ  １１２は、オブジェクトの検出／認識と訓練との２つのプロセスに関与する。オブジェクト検出及び認識の目的のために、画像６０６は、画像取得モジュールからＤＮＮ  １１２へのインプット６０８として提供される。画像６０６は、カラー画像（例えば、ＲＧＢ）、及び任意選択で、深度画像を含む。所与の瞬間にリアルタイムでキャプチャされたカラー及び深度画像は、ペアとしてリンク付けされる。かかる画像は、処理された画像に基づいて、画像データ６０８を生成する画像プリプロセッサ３０６を通して渡され得る。画像プリプロセッサ３０６は、画像６０６がＤＮＮに渡される前に、画像を修正してもよいし、修正しなくてもよい。１つの実施形態では、画像プリプロセッサ３０６は、かかる画像を照明の変化に対してロバスト（すなわち、不変）にすることによって、画像内のオブジェクトを検出するためのＤＮＮの能力を増強させるように決定された１つ以上の画像編集技術を適用するように構成されている。ＲＧＢに関しては、１つの前処理アルゴリズムは、照明の変動、局所的な陰影、及びハイライトの影響に対抗する、一連のステップを使用する。アルゴリズムのステップには、ガンマ補正、ガウシアンフィルタの差分、マスキング、及びコントラスト調整が含まれる。深度データは、ノイズが多い場合があり、深度データがキャプチャされる状況に応じて、消失データを有し得る。周囲光及び高反射性表面は、ノイズ及び消失データの主な要因である。このプリフィルタリングは、これらのアーチファクトが補正され、データが良好に保存されることを確実にする。前処理のステップには、周囲光のフィルタリング、エッジ保存平滑化、ガウシアンぼかし、及び時変的なぼかしが含まれる。深度画像及びＲＧＢ画像の両方が画像プリプロセッサ３０６に渡されると、画像プリプロセッサは、ＲＧＢデータと深度データとをブレンドして画像データ６０８を生成する、ブレンド変換プロセスを実施する。ブレンド変換プロセスの実施例としては、連結によるブレンド又はインターリーブによるブレンドが挙げられるが、これらに限定されず、これらの両方については、以下でより詳細に説明する。
【００５８】
画像データ６０８は、ＤＮＮ  １１２のインプット層６０２に渡される（図６には示されていないが、人的インタラクションによって得られた任意のラベル情報もまた、訓練、オブジェクト認識、又はその両方のためにインプット層６０２に渡される）。画像プレプロセッサ３０６及びコンピュータビジョンモジュール１１４は両方とも、画像データ６０８をＤＮＮ  １１２に提供するように構成されている。画像データ６０８は、カラー画像から取得されたＲＧＢ（赤、緑、青）の各々について、及び任意選択で、深度画像から取られたＤ（深度）についてのピクセル値を含む。図６は、連結によるブレンドを例示しており、各カラー及びピクセル値は、それ自体のチャネルを有し、ＲＧＢ画像は、チャネルを連結することによって深度画像とブレンドされる。Ｄ値が提出されるこれらの実施形態では、全カラー値Ｒ、Ｇ、又はＢよりも少ない値が提出され得る。例えば、Ｒ＋Ｄ、Ｇ＋Ｄ、Ｂ＋Ｄ、Ｒ＋Ｇ＋Ｄ、Ｒ＋Ｂ＋Ｄ、Ｇ＋Ｂ＋Ｄは、全３つのカラー（ＲＧＢ）値よりも少ない値がＤ値と一緒にインプットとして提出される場合の例であり、提出された各値は、それ自体のチャネルを有する。
【００５９】
代替的に、インターリーブによるブレンドは、ＲＧＢ画像を深度画像とブレンドすることができる。このブレンド技術では、ＲＧＢと深度画像とを連結し、チャネルを獲得する代わりに、両方の画像のチャネルは、元の構造、つまり、結果として得られる画像内のチャネルの数が、元のＲＧＢ画像内のチャネルの数からブレンドした後に増加しない構造を保つ方法でブレンドされる。１つのかかる実施例は以下のとおりである。
【００６０】
８ビットの３つのチャネルのＲＧＢ画像、つまり、Ｒチャネルが８ビットを有し、Ｇチャネルが８ビットを有し、Ｂチャネルが８ビットを有することを考慮されたい。更に、深度画像が１６ビットのデータの単一のチャネルである、つまり、Ｄチャネルが１６ビットを有することを考慮されたい。
【００６１】
複数の次元（すなわち、チャネル）からのデータを組み合わせて、データをより少ない次元（すなわち、チャネル）にパックする１つの方法は、Ｍｏｒｔｏｎ  Ｎｕｍｂｅｒ  Ｉｎｔｅｒｌｅａｖｉｎｇである。
【００６２】
例えば、［２５５、１２５、０］のカラーピクセル値［Ｒ、Ｇ、Ｂ］は、３つの８ビットの値がそれぞれ３つの８ビットのＲチャネル、Ｇチャネル、及びＢチャネルを表す、［１１１１１１１１、０１１１１１０１、００００００００］の８ビットのバイナリ表現を有する。
【００６３】
１６ビットの深度値については、３つの８ビットの値が導出される。Ｄ１と称される第１の８ビットの値は、１６ビットの値から８ビットの値への変換を伴う。この変換は、１６ビットの深度値に相当する１０進数を正規化し、正規化された値に８ビット数の最大値（すなわち、２５５）を乗算することによって行われる。例えば、［１４６５］の１０進値を有する元の１６ビットの深度値［Ｄ］を考慮されたい。１０進値［１４６５］を正規化することは、この１０進値を、１６ビット、つまり、［６５０２５］で表すことができる最大１０進値で除算することを伴う。したがって、Ｄ１の乗算され正規化された１０進値＝（１４６５／６５０２５）×２５５＝６（端数切り上げ）。Ｄ１の８ビットのバイナリ表現は、［０００００１１０］である。
【００６４】
次の２バイトは、元の１６ビットの深度値［Ｄ］を、Ｄ２及びＤ３と呼ばれる２つの８ビットバイトにパーティション化することによって得られる。例えば、［１４６５］の前述の１６ビットの深度値［Ｄ］は、［０００００１０１１０１１１００１］のバイナリ表現を有する。８ビットＤ２バイトは、［０００００１０１］である１６ビットの深度値［Ｄ］の第１のバイトに対応し、８ビットＤ３バイトは、［１０１１１００１］である１６ビットの深度値［Ｄ］の第２のバイトに対応する。したがって、［Ｄ２、Ｄ３］＝［０００００１０１、１０１１１００１］。
【００６５】
元の深度値［Ｄ］から導出された３つのバイト［Ｄ１、Ｄ２、Ｄ３］は、［０００００１１０、０００００１０１、１０１１１００１］である。前述のように、３つのチャネルの８ビットのＲＧＢ値は、［１１１１１１１１、０１１１１１０１、００００００００］である。
【００６６】
モートン順序のインターリーブにより、深度値バイト［Ｄ１、Ｄ２、Ｄ３］の３つのチャネル、及びＲＧＢ値［Ｒ、Ｇ、Ｂ］バイトの３つのチャネルから、［ＲＤ１、ＧＤ２、ＢＤ３］など、深度値をＲＧＢ値に付加することによって、１６ビットの３つのチャネル画像を生成する。前の実施例に関して、モートン順序のインターリーブにより、［１１１１１１１１０００００１１０、０１１１１１０１０００００１０１、００００００００１０１１１００１］の３つの１６ビットのチャネルを生成する。この技術は、対応する画像６０６の各ピクセル（すなわち、ＲＧＢ画像及びその関連付けられた深度画像）に対して実行される。結果は、深度及びカラー情報の両方を有する、３つのチャネルの画像である。モートン順序のインターリーブは、所与のピクセルについての深度データとカラーデータとをインターリーブするための技術の単なる一実施例であり、本明細書に記載の原理から逸脱することなく、他のインターリーブ技術が用いられ得ることを理解されたい。
【００６７】
連結技術によるブレンドと同様に、全カラー値Ｒ、Ｇ、又はＢよりも少ない値は、深度値とインターリーブされ得る。例えば、Ｒ＋Ｄ、Ｇ＋Ｄ、Ｂ＋Ｄ、Ｒ＋Ｇ＋Ｄ、Ｒ＋Ｂ＋Ｄ、Ｇ＋Ｂ＋Ｄは、全３つのカラー（ＲＧＢ）値よりも少ない値がＤ値と一緒にインプットとして提出される場合の例である。これらの事例では、カラー及び深度の各インターリーブのために別々のチャネルが存在する。３つ未満のＲＧＢチャネルを使用する場合、Ｄ１、Ｄ２、Ｄ３の深度チャネルのいずれかは、インターリーブするのに役立ち得る。例えば、Ｒ＋Ｄ、Ｇ＋Ｄ、及びＢ＋Ｄなどの組み合わせは各々、１つのチャネルのみを必要とし、Ｒ＋Ｇ＋Ｄ、Ｒ＋Ｂ＋Ｄ、Ｇ＋Ｂ＋Ｄなどの組み合わせは各々、２つのチャネルを有する。１つのＲＧＢチャネルのみを使用する場合、Ｄ１は、Ｄ１深度チャネルが深度情報全体を含むため、好ましい選択である。２つのカラーチャネルを使用する場合、２つの深度チャネル、例えば、Ｄ２及びＤ３がインターリーブに使用される（Ｄ２及びＤ３は一緒になって、深度情報全体を有する）。例示のために、［２５５、１２５、０］のカラーピクセル値［Ｒ、Ｇ、Ｂ］及び［１４６５］の元の深度値を再び使用すると、Ｒ＋Ｇ＋Ｄの組み合わせにより、以下の１６ビットの２つのチャネル［ＲＤ２、ＧＤ３］のインプットデータ［１１１１１１１１０００００１１０、０１１１１１０１０００００１０１］を生成し、Ｄ２及びＤ３は、選択された深度チャネルである。概して、オブジェクト検出を達成する能力は、利用可能な情報がより少なくなるのではなく、より多くなることで利益を得る。したがって、利用可能なカラー及び潜在的な深度データの全てを保つ連結によるブレンドは、インターリーブによるブレンドよりも優れた検出成果を生成し得、これにより、チャネルの数が低減され、全てのカラー及び深度よりも少ないものを使用することができる。インターリーブによるブレンドが連結によるブレンドよりも有利であり得る場合は、それが訓練速度に至る場合である。
【００６８】
アウトプット層６０４は、ＱＭＭに渡されるアウトプット３２０を生成し、これは、クラウドインターフェース４０６（図４）を介してもよい。アウトプット３２０は、画像下分析で検出されたオブジェクトについてのラベルと、オブジェクトが画像内のどこに位置するかの表示と、正確な認識の確率（すなわち、信頼度）を表す値と、を含み得る。
【００６９】
ＤＮＮ  １１２はまた、再訓練で使用されるパラメータ値の更新を受信する目的でＤＮＮトレーナと通信する。
【００７０】
１つの実施形態では、ＤＮＮ  １１２は、並行して動作する２つの深層ニューラルネットワーク（図示せず）から構成されている。一方のニューラルネットワークは、Ｒ、Ｇ、及びＢのピクセル値を受信するが、もう一方のニューラルネットワークは、Ｒ、Ｇ、Ｂ、及びＤの値を受信する。各ニューラルネットワークは、提出された画像データ６０８に基づいて、供給された画像内の１つ以上のオブジェクトを認識することを試みる。各々がアウトプットを生成する。２つのアウトプットを、互いの決定を確認及び／又は拡張する目的で、比較し、かつ／又は組み合わせることができる。例えば、ＲＧＢニューラルネットワークが、画像の特定のエリア内に１つのパッケージが検出されたとの結果を生成し、ＲＧＢＤニューラルネットワークが、同じ特定のエリア内で２つのパッケージが検出されたとの結果を生成することを考慮されたい。２つのニューラルネットワーク（及び論理回路）の確率を比較すると、差分が解決され、結果が１つ又は２つのパッケージのいずれかとして完結すると宣言される。
【００７１】
コンピュータビジョンモジュール１１４は、ＱＭＭと通信して、ＤＮＮ  １１２が画像内のオブジェクトを正常に認識することができなかった場合に、「ＤＮＮ失敗」という信号を受信する。かかる信号を受信すると、コンピュータビジョンモジュール１１４は、ＤＮＮがオブジェクトを識別することができなかった元の画像に対応する画像をアウトプットする（ライン３２８）。この画像は、（例えば、ＤＮＮのオブジェクト識別が失敗した場合にＡＩモジュールからのプロンプトに応答して）人的に供給されたラベル付け情報３３２に関連付けられるようになり得る。このラベル付け情報と画像との組み合わせ６１０は、ストレージに渡され、ここで、画像データベース１２２の一部となる。代替的に、組み合わせ６１０は、ＤＮＮが第２のパスの間にオブジェクトを正常に識別した場合に、（ＤＮＮ  １１２によって生成された）ＱＭＭ  ３１２から来る画像及びラベル付け情報を含む（ライン３３４）。
【００７２】
図７は、コンピュータビジョンモジュール１１４の一実施形態を示す。概して、画像取得モジュールは、ＤＮＮ  １１２がインプットとして必要とするものよりも高い解像度を有する画像をキャプチャし得る。例えば、画像取得モジュールは、３８４０×２１６０ピクセルの画像６０６−１を取得し得るが、ＤＮＮ  １１２は、４１６×４１６ピクセルの画像を必要とする（例えば、必要な演算速度に基づく場合）。したがって、画像前処理モジュール３０６は、元の画像６０６−１をダウンサンプリングして、ＤＮＮ  １１２のインプット解像度と一致するリサイズされた画像６０６−２を生成する。ＤＮ  Ｎ１１２は、リサイズされた画像６０６−２内のオブジェクト（複数可）を検出することを試み、結果をＱＭＭ  ３１２に送信する。ＱＭＭは、ＤＮＮ  １１２が画像内の１つ以上のオブジェクトを正常に検出したかどうかの結果により決定する。
【００７３】
更に、画像前処理モジュール３０６は、元の画像６０６‐１及びリサイズされた画像６０６‐２をコンピュータビジョンモジュール１１４に送信する。コンピュータビジョンモジュール１１４は、変化位置特定モジュール７０２と通信する変化追跡モジュール７００を含む。１つの実施形態では、コンピュータビジョンモジュール１１４は、ＤＮＮ  １１２が画像６０６‐２内のオブジェクトを検出することに失敗した場合に、マルチパス認証プロセスを実施する。オブジェクト検出に失敗した場合、ＱＭＭは、変化追跡モジュール７００に信号を送り、これに応答して、変化追跡モジュール７００は、変化追跡プログラムコード２２６（図２）を実行して、（以前にキャプチャされた画像に関して）変化が現れる、元の画像６０６‐１内のエリア７０４を識別する。
【００７４】
変化位置特定モジュール７０２は、この情報を使用して、検出された変化を含む元の画像内の領域７０４に焦点が置かれた画像６０６‐３を生成する。焦点が置かれた画像６０６‐３は、ＤＮＮ  １１２のインプット解像度と一致する解像度を有する。この解像度を成し遂げるために、変化位置特定モジュール７０２は、変化の領域７０４のサイズを縮小又は拡大する必要があり得る。焦点が置かれた画像６０６‐３は、この画像内のオブジェクトを検出することを試みるＤＮＮ  １１２に渡される。コンピュータビジョンモジュール１１４は、リサイズされた画像６０６‐２をストレージ（ローカル又はリモート）に送信し、焦点が置かれる領域７０４の境界を、これらの境界がリサイズされた画像６０６‐２に変換される際に、マークする。境界情報には、リサイズされた画像６０６−２内の関連する領域の行、列、高さ、及び幅が含まれる。
【００７５】
ストレージ内では、リサイズされた画像６０６‐２は、人的インプットによって提供されたラベル名（ＤＮＮが、焦点が置かれた画像６０６‐３内のオブジェクトを認識することに失敗した場合）、又はＤＮＮ  １１２によって生成されたラベル（ＤＮＮが、焦点が置かれた画像６０６‐３内のオブジェクトを正常に認識した場合）に関連付けられる。リサイズされた画像６０６‐２、マークされた境界、及びラベル情報は、ＤＮＮ  １１２の後続の再訓練において一緒に使用される。
【００７６】
図８は、本明細書に記載の原理によるオブジェクト追跡のためのプロセス８００の一実施形態を示す。人物が、オブジェクトを保持するように指定されたエリアに入る（ステップ８０２）。かかるエリアは、例えば、パッケージを格納するための部屋、又は穀類のボックス若しくはマヨネーズのジャーを保持する棚であり得る。
【００７７】
オブジェクト識別システム１００は、人物の識別を登録する（ステップ８０４）。登録は、自動的に、つまり、人物の意識的な関与なしに行うことができる。例えば、センサモジュール１０２は、例えば、キーフォブ又はスマートフォンなどの、人物によって携行されるデバイスと無線通信することができる。代替的に、コントローラ１０４は、顔認識を実施することができる。人物の識別を得るための技術の他の実施例として、人物は、スキャンするための名前タグを提供する、ＰＩＮコード又はパスワードを入力する、生体情報（例えば、指紋又は網膜スキャン）を提出する、音声認識を可能にするように発話するなど、人物自身を慎重に識別することができる。別の実施形態では、オブジェクト識別システム１００は、骨格追跡（すなわち、個人の骨格構造）を使用して個人を識別し、骨格構造を登録する。人物を登録することに加えて、オブジェクト識別システム１００は、保持エリアにおける人物の到着時間を記録することができる。
【００７８】
ステップ８０６において、オブジェクト識別システム１００は、人物を、保持エリア内の１つ以上のオブジェクトに関連付ける。関連付けは、ユーザインプットから直接行われ得るか、又はユーザによって実施され、システムによって観察される行為に基づいて、間接的に行われ得る。直接的な関連付けの実施例として、システムは、人物が、オブジェクトを置くこと又は除去することなど、訪問の目的に関する情報、及びその目的に関与する各オブジェクトの身元を提供することを、明確に要求することができる。人物は、任意の数のインプット技術、例えば、置かれるパッケージ上のラベルをスキャンすることによって、この情報を提供することができる。代替的に、人物は、オブジェクトの名前をタイプすることによって、又は音声認識及び発話テキスト変換技術を使用する、システムへの発話によって、オブジェクトがどのようなものであるかを識別することができる。影響を受けた各オブジェクトについての情報を受信した後、システムは、そのオブジェクトを、登録された人物の身元に関連付ける。
【００７９】
間接的な関連付けの実施例として、オブジェクト識別システム１００は、保持エリア内で人物によって実施された行為を検出することができる。例えば、画像処理を通じて、システムは、オブジェクトが棚の上に配置されたか又は棚から除去されたことを検出し、次いで、新たに配置されたか又は除去されたオブジェクトを、登録された人物の身元に関連付けることができる。
【００８０】
ステップ８０８において、オブジェクト識別システム１００は、オブジェクトがどのようなものであるかを認識することを試みる。認識は、例えば、「アイテムは顕微鏡」であるとユーザが入力した場合にユーザがシステムに直接供給した情報から生じ得るか、例えば、システムが、既知の身元のオブジェクトが除去されたことを検出したという以前の決定から生じ得るか、又は例えば、システムが、そのオブジェクト認識アルゴリズムを、新たに検出されたオブジェクトの画像に対して実行したというオブジェクト認識から生じ得る。１つの実施形態では、システムは、人的インタラクション、つまり、置かれたか、移動されたか、又は除去されたオブジェクトを識別するようにヒトに尋ねることを自動的に要求する。かかる要求は、システムがシステム自体のオブジェクト認識を試みる前、試みている間、又は試みた後に行われ得る。
【００８１】
人的インタラクションを要求する決定は、キャプチャされた画像からのオブジェクト認識時に、コントローラ１０４がその試みにおいて導出した閾値の値に基づく場合がある。例えば、ステップ８１０において、閾値の値が第１の（例えば、上限）閾値を超えている場合、システムは、オブジェクトが高い信頼度で認識されたと考慮し、人的インタラクションを省くことができ、閾値の値が第１の閾値よりも小さいが、第２の（例えば、下限）閾値よりも大きい場合、システムは、オブジェクトが認識されたが、信頼度は中程度であると考慮し、閾値の値が第２の閾値を下回った場合、システムは、画像内にいずれのオブジェクトも認識されなかったと結論付ける。システムは、決定された閾値の値が上限閾値を下回るが、下限閾値を上回る場合に、人物がシステムの識別を確認又は補正することを要求し（ステップ８１２）、決定された閾値の値が下限閾値を下回る場合には、人物が識別を提供することを要求する（ステップ８１４）ことができる。本明細書に記載の原理から逸脱することなく、２つよりも少ないか又は多い閾値を使用することができる。更に、システムは、閾値の値が上限閾値を超えている場合であっても確認を要求し得るか、又はオブジェクト認識が曖昧であるか、不正確であるか、若しくはうまくいかなった場合にオブジェクトの身元を要求し得る。
【００８２】
保持エリア内での人物の行為は、サポート面上のオブジェクトのレイアウトを変化させ得る。新しいオブジェクトが配置されたか、オブジェクトが除去されたか、オブジェクトが別のロケーションに移動されたか、又はこれらの任意の組み合わせ。オブジェクトの新しい配列は、１つ以上のセンサモジュールの画像センサ及び深度センサに関連して、異なる視点及び変化した角度の不規則性を生成する。機械学習は、カラー及び深度の両方を通じてオブジェクトがどのように見えるかを学習するだけでなく、ここでは、オブジェクトがエリア内の異なるロケーションに配置されるにつれて、各オブジェクトについて様々な視点を学習することができる。この機械学習は、画像センサが見たオブジェクトの動的視点を補償し、識別されたオブジェクトが、視認エリア内の異なるエリア、及び棚内の異なる角度、深度に配置された場合に、どのように同じオブジェクトであり得るかを学習する。したがって、ここで、画像センサによってキャプチャされた画像は、機械学習技術を通じて、オブジェクト認識を改善する機会を提供する。システムは、ニューラルネットワークが（少なくとも最初のうちは）オブジェクトを識別することができず、マルチパス認証の間に、ユーザ又はニューラルネットワークによって提供されたオブジェクトに関するラベル付け情報を必要とした、これらの新たにキャプチャされた画像でニューラルネットワークを再訓練する。システムはまた、人物が保持エリアを去ったときの人物の出発時刻を記録し、かつ次いで、人物の到着時刻及び出発時刻を、オブジェクトに関連付けることができる。
【００８３】
以下の例示を、オブジェクト識別システム１００の１つの実施形態の動作の実施例として考慮されたい。アリスが、いくつかの棚を有する部屋に入る。彼女は、顕微鏡及びスマートフォンを携行している。スマートフォンは、Ｂｌｕｅｔｏｏｔｈ（登録商標）を作動させている。コントローラ１０４は、スマートフォンに接続し、スマートフォンと通信して、人物の身元をアリスだと証明する。更に、コントローラは、例えば、２０１９年４月１６日木曜日の午後１：４２として、アリスが部屋の中に入った時間を証明する。アリスは、棚のうちの１つの上に顕微鏡を置く。画像センサによってキャプチャされた画像の画像処理を通じて、コントローラは、オブジェクト及び顕微鏡のロケーションを検出する。更に、コントローラは、機械学習を用いて、オブジェクトを顕微鏡として認識することができる。コントローラは、その決定を確認するために、コントローラがオブジェクトを正しく認識したか否かをアリスに尋ねることができる。コントローラが、配置されたオブジェクトを認識することができなかった場合、コントローラは、オブジェクトを識別するようにアリスに尋ねることができ、これを、彼女は、オブジェクト識別システムの構成に応じて、電子的に又は言葉でインプットすることができる。代替的に、システムは、オブジェクトのそれ自体の認識にかかわらず、オブジェクトの身元をアリスに尋ねるように構成され得る。次いで、システムは、ローカルで又はサーバ上でリモートで、直ちに又は後で、そのニューラルネットワークを、顕微鏡でキャプチャされた画像、及びもしあれば、アリスが提供した情報で訓練することができる。次いで、アリスが部屋から出発すると、コントローラは、２０１９年４月１６日木曜日の午後１：４８として出発時間を記録する。
【００８４】
ボブが部屋に入り、彼の識別を、ＰＩＮコードを使用してコントローラに提出する。コントローラは、ボブ及び彼が入った時間を、例えば、２０１９年４月１６日木曜日の午後２：５４として、登録する。コントローラは、ボブを識別し、彼の過去の習慣のパターンから、彼の規則的な顕微鏡の使用を認識する。コントローラは、ボブが顕微鏡を探しているかどうかを、聴覚的に、又はディスプレイ画面上に表示されたメッセージによって、尋ねる。ボブが肯定的に回答した場合、コントローラは、光源を照らし、光ビームを、顕微鏡が常駐する棚上のロケーションに方向付ける。ボブは、顕微鏡を棚から除去し、顕微鏡とともに部屋から出発する。システムは、２０１９年４月１６日木曜日の午後２：５６としてボブの出発時間を記録し、かつボブが顕微鏡を取ったことを記録する。アリスによる顕微鏡の到着と、ボブによる顕微鏡の除去と、かかる動作の時間と、その間の顕微鏡の存在と、をリンク付けすることによって、全てが映像記録によって確認され、したがって、システムは、顕微鏡の一連の管理を証明した。この一連の管理の原理は、証拠を取り扱うためのプロセスなど、他の取り組みの分野まで及び得る。本文脈では、一連の管理とは、管理（所持）のシーケンスと、保持エリアの中に入る、保持エリア内を移動する、及び保持エリアから出る、物理的なオブジェクトのロケーションと、の経時的な記録を意味する。オブジェクト識別システムは、画像センサの視界内の別のセクションに移動した場合でも、誰が特定の証拠を証拠部屋に持ち込み、その部屋から証拠を取ったのか、及びその間の部屋内での証拠の正確なロケーション、を理解する。
【００８５】
図９は、画像内のオブジェクトを認識するためのプロセス９００の一実施形態を示す。ステップ９０２において、画像取得モジュール３０４は、キャプチャされた画像を受信する。任意選択で、画像前処理モジュール３０５は、画像をＤＮＮ  １１２に送信する（ステップ９０６）前に、画像を編集する（ステップ９０４）、これには、画像の解像度を低下させることが含まれる。ＤＮＮは、受信した画像内のオブジェクトを検出及び識別することを試みる（ステップ９０８）。
【００８６】
ＤＮＮが画像内の１つ以上のオブジェクトを正常に識別したとＱＭＭ  ３１２が決定した場合（ステップ９１０）、オブジェクト識別システム１００は、例えば、オブジェクト追跡の目的で、識別された各オブジェクトに関する情報を使用する（ステップ９１２）。オブジェクト情報の特定の使用は、オブジェクト識別システムが使用されているアプリケーションに依存する。
【００８７】
代わりに、ＤＮＮが画像内のオブジェクトを識別する試みに失敗したとＱＭＭが決定した場合（ステップ９１０）、ＡＩモジュールは、オブジェクトを識別するようにヒトに尋ねる（ステップ９１４）。要求された情報をヒトが供給した後、任意選択で前処理された画像（ステップ９０４で生成された）は、ＤＮＮを再訓練する際に後で使用するために、人的提供ラベル付け情報とともに画像データベース１２２に記憶される（ステップ９１６）。
【００８８】
図９に点線で示される１つの実施形態では、ＡＩモジュールは、図７に関連して説明したマルチパス認証プロセスを実施する（ステップ９１８）。ステップ９２０において、ＤＮＮが第２のパス内でオブジェクトを識別することができない場合、ＡＩモジュールは、オブジェクトを識別するようにヒトに尋ね（ステップ９１４）、任意選択で前処理された画像は、人的提供ラベル付け情報とともに画像データベース１２２に記憶される（ステップ９１６）。代替的に、ステップ９２０において、ＤＮＮが第２の試みで画像内のオブジェクトを正常に識別した場合、任意選択で前処理された画像は、ＤＮＮを再訓練する際に後で使用するために、ＤＮＮ提供ラベル付け情報とともに記憶される（ステップ９１６）。したがって、ＤＮＮが第２のパスでオブジェクトを識別することができる場合、画像は、ＤＮＮによって生成された識別ラベルとともに保存され、ＤＮＮが第２の試みでオブジェクトを識別することができない場合、画像は、人的供給ラベル情報とともに記憶される。
【００８９】
図１０は、ＤＮＮが最初のうちはオブジェクトを識別しない画像でＤＮＮを再訓練するためのプロセス１０００の一実施形態を示す。定期的に、オブジェクト識別システム１００は、ＤＮＮが、画像データベースに記憶された画像で再訓練されるべきであると決定する。かかる再訓練は、スケジュール（例えば、毎晩、毎週など）に基づく場合がある。
【００９０】
ＤＮＮ  １１２（図１）を再訓練する目的で、ＤＮＮトレーナ３１４（例えば、図３）は、画像データベース１２２内の画像を検索する（ステップ１００２）。かかる画像は、ローカルストレージ１２４又はリモートストレージ１２８に記憶される。画像データベース１２２には、画像の初期訓練セットと、ＤＮＮ  １１２が最初のうちはオブジェクトを識別することができなかった各画像と、が含まれる。
【００９１】
画像データベース内の画像に基づいて、ＤＮＮトレーナ３１４は、新しいニューラルネットワークの重み付けファイルを生成する（ステップ１００４）、ニューラルネットワーク訓練２２２（図２）のためのプログラムコードを作動させる。新しい重み付けファイルには、ＤＮＮ  １１２の「ニューロン」の各々に対する重み付け（すなわち、パラメータ）値が含まれる。ＤＮＮを更新するため、つまり、ＤＮＮを再訓練するために、ＤＮＮトレーナは、この新しい重み付けファイルをＤＮＮに送信して、その後に受信した画像でのオブジェクト検出及び認識のために、ＤＮＮによってＤＮＮのニューロン構造に適用される。
【００９２】
概して、ＤＮＮトレーナは、ＤＮＮに対する現在の重み付けファイルのコピーを維持する。ＤＮＮの再訓練は、全体的又は部分的に行うことができる。全体的に再訓練する場合、ＤＮＮ全体がスクラッチから訓練される、つまり、現在の重み付けファイルは消去され、新たに発生した重み付けファイルに置き換えられる。これはまるで、ＤＮＮが再び白紙状態になり、最初に訓練されたようである。この再訓練では、画像の初期訓練セットと、最初のうちは識別されなかった画像データベースに追加された追加の各画像と、を使用する。
【００９３】
部分的に再訓練する場合、再訓練は、ＤＮＮの特定の層に焦点が置かれ得る。例えば、ＤＮＮが１０個の隠れ層を有すると考慮すると、第７、第８、及び第９の隠れ層のみに再訓練を実施することができ、この動作原理は、焦点が置かれた再訓練が十分であり得る場合に、時間がかかる可能性がある完全なＤＮＮ訓練を実施することを回避することである。この実施例では、第７、第８、及び第９の隠れ層のニューロンに関連付けられた現在の重み付けファイル内のこれらのパラメータ値のみが変更される。ＤＮＮトレーナによって生成され、ＤＮＮに送信される、新しい重み付けファイルは、第７、第８、及び第９の隠れ層のニューロンに対しる新しいパラメータ値と、ＤＮＮの残りのものに対する古いパラメータ値との混合である。
【００９４】
動作中の機械学習の実施例として、アリスが棚の上に顕微鏡を設置することを考慮されたい。アリスの登録時に、オブジェクト識別システム１００がオブジェクトを認識しない場合、システムは、設置されたオブジェクトを識別するようにアリスに尋ね、彼女は、オブジェクトが顕微鏡であると応答し得る。オブジェクト識別システム１００は更に、棚の上のオブジェクトの１つ以上の画像をキャプチャし、キャプチャされた各画像を、アリスが提供した情報（すなわち、オブジェクトが顕微鏡である）に関連付ける。ＤＮＮトレーナは、キャプチャされた各画像、及びアリスが提供した情報を使用して、ニューラルネットワーク１１２を訓練する。この訓練は、顕微鏡を識別するためのシステムの初期訓練であってもよいし、又はシステムの現在の能力に累積されるものであってもよい。いずれの場合も、訓練の後、オブジェクト識別システムは、顕微鏡を識別するのにより適している。
【００９５】
オブジェクトを検出、追跡、及び認識することに関して説明したが、本明細書に記載の機械学習技術は、キャプチャされた画像内の顔、骨格構造、身体位置、及び人々の移動を検出、追跡、及び認識することに及ぶ。オブジェクトの画像を使用して、オブジェクト認識を改善するように深層ニューラルネットワークを訓練するときと同様の様式で、顔の画像を使用して、ユーザ登録の目的で顔認識を改善するように、かかるネットワークを訓練することができ、手、腕、及び脚などの骨格特徴の画像を使用して、個々の人物及びオブジェクトを識別及び追跡する目的のために改善するように、かかるネットワークを訓練することができる。
【００９６】
当業者には理解されるように、本明細書に記載のシステムの態様は、システム、方法、及びコンピュータプログラム製品として具現化され得る。したがって、本明細書に記載のシステムの態様は、完全にハードウェアで、完全にソフトウェアで（ファームウェア、プログラムコード、常駐ソフトウェア、マイクロコードを含むが、これらに限定されない）、又はハードウェアとソフトウェアとの組み合わせで具現化され得る。かかる全ての実施形態は、概して、本明細書では、回路、モジュール、又はシステムと称され得る。更に、本明細書に記載のシステムの態様は、コンピュータプログラム製品であって、コンピュータプログラム製品上に具現化されたコンピュータ可読プログラムコードを有する１つ以上のコンピュータ可読媒体内に具現化された、コンピュータプログラム製品の形態であってもよい。
【００９７】
１つ以上のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体であっても、コンピュータ可読ストレージ媒体であってもよい。コンピュータ可読媒体は、非一時的なコンピュータ可読ストレージ媒体であってもよく、その実施例としては、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、若しくはデバイス、あるいはこれらの任意の好適な組み合わせが挙げられるが、これらに限定されない。
【００９８】
本明細書で使用される場合、コンピュータ可読ストレージ媒体は、命令実行システム、装置、デバイス、コンピュータ、コンピューティングシステム、コンピュータシステム、あるいは命令、コマンド、若しくはデータをインプット、処理、及びアウトプットする任意のプログラマブル機械若しくはデバイスによって、又はこれらと関連して使用するためのプログラムが含まれ得るか、又は当該プログラムを記憶し得る、任意の有形媒体であってもよい。コンピュータ可読ストレージ媒体の特定の実施例の非網羅的なリストには、１つ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、フロッピーディスク、ハードディスク、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、読み出し専用メモリ（ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、ＵＳＢフラッシュドライブ、不揮発性ＲＡＭ（ｎｏｎ‐ｖｏｌａｔｉｌｅ  ＲＡＭ、ＮＶＲＡＭモシクハＮＯＶＲＡＭ）、消去可能なプログラマブル読み出し専用メモリ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＰＲＯＭ若しくはフラッシュメモリ）、フラッシュメモリカード、電気的に消去可能なプログラマブル読み出し専用メモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＥＰＲＯＭ）、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ、ＣＤ‐ＲＯＭ）、ＤＶＤ‐ＲＯＭ、光学ストレージデバイス、磁気ストレージデバイス、又はこれらの任意の好適な組み合わせが含まれる。
【００９９】
コンピュータ可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部として、内部に具現化されたコンピュータ可読プログラムコードを有する伝播データ信号を含み得る。かかる伝播信号は、電気磁気、光学、又はこれらの任意の好適な組み合わせを含むが、これらに限定されない、様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、又はデバイスによって、若しくはこれに関連して使用するためのプログラムを通信するか、伝播するか、又は運ぶことができる、任意のコンピュータ可読媒体であってもよい。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、コンピュータ可読伝播信号媒体でも、伝播信号でもない。
【０１００】
プログラムコードは、例えば、ソースコード、オブジェクトコード、インタープリタ型コード、実行可能コード、又はこれらの組み合わせとして、コンピュータ可読ストレージ媒体上又はコンピュータ可読ストレージ媒体内に記憶されたコンピュータ可読命令として具現化され得る。任意の標準若しくはプロプライエタリのプログラミング言語又はインタープリタ型言語を使用して、コンピュータ実行可能命令を生成することができる。かかる言語の実施例としては、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋、Ｐａｓｃａｌ、ＪＡＶＡ（登録商標）、ＢＡＳＩＣ、Ｓｍａｌｌｔａｌｋ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、及びＶｉｓｕａｌ  Ｃ＋＋が挙げられる。
【０１０１】
コンピュータ可読媒体上に具現化されたプログラムコードの伝送は、無線、有線、光ファイバケーブル、無線高周波（ＲＦ）、又はこれらの任意の好適な組み合わせを含むが、これらに限定されない、任意の適切な媒体を使用して行うことができる。
【０１０２】
プログラムコードは、ユーザのデバイス上で全体的に、ユーザのデバイス上で部分的に、スタンドアロン型のソフトウェアパッケージとして、ユーザのデバイス上で部分的に、及びリモートコンピュータ上で部分的に、又はリモートコンピュータ若しくはサーバ上で全体的に実行することができる。任意のかかるリモートコンピュータが、ローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＬＡＮ）又はワイドエリアネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのデバイスに接続され得るか、又はその接続が、（例えば、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ（インターネットサービスプロバイダ））を使用してインターネットを通じて）外部コンピュータに対して行われ得る。
【０１０３】
更に、本明細書に記載の方法は、専用コンピュータ、プログラムされたマイクロプロセッサ若しくはマイクロコントローラ及び周辺集積回路要素（複数可）、ＡＳＩＣ若しくは他の集積回路、デジタル信号プロセッサ、別個の要素回路などのハードワイヤード電子回路若しくは論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬなどのプログラマブル論理デバイスなどで実装することができる。概して、状態機械であって、本明細書で提案される方法を実装することができる、状態機械を実装することができる任意のデバイスを使用して、本明細書に記載の原理を実装することができる。
【０１０４】
更に、開示される方法は、様々なコンピュータ又はワークステーションプラットフォーム上で使用され得るポータブルソースコードを提供する、オブジェクト又はオブジェクト指向型ソフトウェア開発環境を使用して、ソフトウェアに容易に実装され得る。代替的に、開示されるシステムは、標準論理回路又はＶＬＳＩ設計を使用して、ハードウェアに部分的に又は完全に実装され得る。本明細書に記載の原理に従ってシステムを実装するためにソフトウェア又はハードウェアのどちらを使用するかは、システム、特定の機能、並びに利用中の特定のソフトウェア若しくはハードウェアシステム、又はマイクロプロセッサ若しくはマイクロコンピュータシステムの速度及び／又は効率要件に依存する。しかしながら、本明細書に例示の方法は、本明細書に提供される機能的説明から、並びにコンピュータ及び画像処理技術の一般的な基本知識を用いて、当業者によって、任意の既知の若しくは後に開発されたシステム又は構造、デバイス、及び／若しくはソフトウェアを使用して、ハードウェア及び／又はソフトウェアに容易に実装され得る。
【０１０５】
更に、開示される方法は、プログラムされた汎用コンピュータ上、専用コンピュータ上、マイクロプロセッサ上などで実行されるソフトウェアに容易に実装され得る。これらの例では、本明細書に記載の原理のシステム及び方法は、ＪＡＶＡ（登録商標）又はＣＧＩスクリプトなどのパーソナルコンピュータに埋め込まれたプログラムとして、サーバ又はグラフィックスワークステーション上に常駐するリソースとして、プラグインなどとして実装され得る。システムはまた、システム及び方法をソフトウェア及び／又はハードウェアシステムに物理的に組み込むことによって実装され得る。
【０１０６】
前述の原理を、いくつかの実施形態と併せて説明してきたが、多くの代替例、修正例、及び変形例が、適用可能な技術分野の当業者には明らかになるか、又は明らかであることは明白である。「１つの実施形態」又は「一実施形態」又は「別の実施形態」への言及は、実施形態に関連して説明される特色、特徴、構造、又は特性が、本明細書に記載の少なくとも１つの実施形態に含まれることを意味する。本明細書内の特定の実施形態への言及は、必ずしも全てが同じ実施形態を指すものではない。１つの例示的な実施形態に関連して例示又は説明される特徴が、他の実施形態の特徴と組み合わされてもよい。したがって、本明細書に記載の原理の趣旨及び範囲内にある、かかる全ての代替例、修正例、同等例、及び変形例を包含することが意図される。
【図１】
2022500783.tif 000003
【図２】
2022500783.tif 000004
【図３】
2022500783.tif 000005
【図４】
2022500783.tif 000006
【図５】
2022500783.tif 000007
【図６】
2022500783.tif 000008
【図７】
2022500783.tif 000009
【図８】
2022500783.tif 000010
【図９】
2022500783.tif 000011
【図１０】
2022500783.tif 000012
【国際調査報告】
2022500783.tif 000013