(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】複数の画像にわたって行う物体の追跡
(51)【国際特許分類】
G06T 7/20 20170101AFI20240409BHJP
【FI】
G06T7/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023560573
(86)(22)【出願日】2022-04-05
(85)【翻訳文提出日】2023-11-23
(86)【国際出願番号】 US2022023480
(87)【国際公開番号】W WO2022216708
(87)【国際公開日】2022-10-13
(32)【優先日】2021-04-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523371953
【氏名又は名称】アイリス テクノロジー インコーポレイテッド
(74)【代理人】
【識別番号】100147511
【氏名又は名称】北来 亘
(72)【発明者】
【氏名】スタウト,デビッド
(72)【発明者】
【氏名】ベアード,イーサン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096CA05
5L096FA67
5L096FA69
5L096HA05
(57)【要約】
システムが、プロセッサと、命令を格納しているメモリとを含み、それらの命令は、プロセッサによって実行されたときに、カメラによって取り込まれた複数の画像を画像処理システムから受信することと、モデルを使用して、物体を複数の画像からの1つの画像において検知することと、モデル、および以前に識別された物体のデータベースを使用して、検知された物体を識別することとを行うようにプロセッサを構成する。それらの命令は、識別された物体の移動を複数の画像からの一連の画像にわたって追跡するようにプロセッサを構成する。それらの命令は、複数の画像に基づいて、識別された物体がカメラのビューから消えたときを検知するようにプロセッサを構成する。それらの命令は、識別された物体の最初および最後の検知ならびに識別された物体の移動の方向に基づいて、識別された物体に関する結果を特定するようにプロセッサを構成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサと、
命令を格納しているメモリと
を含むシステムであって、前記命令が、前記プロセッサによって実行されたときに、
カメラによって取り込まれた複数の画像を画像処理システムから受信することと、
モデルを使用して、物体を前記複数の画像からの1つの画像において検知することと、
前記モデル、および以前に識別された物体のデータベースを使用して、前記検知された物体を識別することと、
前記識別された物体の移動を前記複数の画像からの一連の画像にわたって追跡することと、
前記複数の画像に基づいて、前記識別された物体が前記カメラのビューから消えたときを検知することと、
前記識別された物体の移動の方向を特定することと、
前記移動の方向における前記物体の後続の検知を、高められた確実性を伴って予測することと、
前記識別された物体の最初および最後の検知ならびに前記識別された物体の前記移動の方向に基づいて、前記識別された物体に関する結果を特定することとを行うように前記プロセッサを構成する、システム。
【請求項2】
前記結果を特定することは、前記識別された物体が、観察されているエリアに留まっていると、または前記識別された物体が、観察されている前記エリアから出ていると特定することを含む、請求項1に記載のシステム。
【請求項3】
前記命令が、
前記識別された物体の検知のそれぞれのインスタンスに関して、
前記識別された物体の前記検知にタイムスタンプを割り振ることと、
前記識別された物体にラベルを割り振ることと、
前記識別された物体に関してバウンディングボックス座標を割り振ることと、
前記識別された物体に関する検知履歴に前記タイムスタンプ、前記ラベル、および前記バウンディングボックス座標を格納することと、
前記識別された物体に関する前記検知履歴に基づいて、前記識別された物体の前記最初および最後の検知ならびに前記識別された物体の前記移動の方向を特定することとを行うように前記プロセッサを構成する、請求項1に記載のシステム。
【請求項4】
前記命令が、前記識別された物体の検知のそれぞれのインスタンスに関して、
前記ラベルに関して確実性スコアを割り振ることと、
前記識別された物体のそれぞれの連続した検知に伴って前記確実性スコアを高めることとを行うように前記プロセッサを構成する、請求項3に記載のシステム。
【請求項5】
前記命令が、
前記識別された物体を前記複数の画像からのN1個の画像において検知することであって、N1が、1よりも大きい整数である、検知することと、
前記識別された物体が、前記N1個の画像の後に消えているが、前記N1個の画像に続く前記複数の画像のうちのN2個以下の画像において再び現れている場合には、前記N2個の画像において検知されている前記識別された物体が、前記N1個の画像において検知されている前記識別された物体の継続された検知であると特定することとを行うように前記プロセッサを構成する、請求項1に記載のシステム。
【請求項6】
前記命令は、前記識別された物体が、前記複数の画像のうちのN1+N2個の画像において検知されていない場合には、前記識別された物体が前記カメラのビューの外にあると特定するように前記プロセッサを構成する、請求項5に記載のシステム。
【請求項7】
プロセッサと、
命令を格納しているメモリと
を含むシステムであって、前記命令が、前記プロセッサによって実行されたときに、
第1のカメラおよび第2のカメラによって取り込まれた画像を画像処理システムから受信することと、
モデルを使用して、物体を前記画像において検知することと、
前記モデル、および以前に識別された物体のデータベースを使用して、前記検知された物体を識別することと、
前記識別された物体を前記第2のカメラからの前記画像のうちの1つにおいて検知したことに応答して、前記識別された物体を、高められた確実性を伴って前記第1のカメラからの前記画像のうちの1つにおいて検知することと、
前記画像における前記識別された物体の複数の検知を相関付けることによって、前記識別された物体の移動を前記複数の画像にわたって追跡することとを行うように前記プロセッサを構成する、システム。
【請求項8】
前記命令が、
前記識別された物体が前記第1および第2のカメラからの複数の前記画像にわたって同じ方向に移動していることを検知することと、
前記識別された物体が前記第1および第2のカメラからの前記複数の前記画像にわたって前記同じ方向に移動していることを検知したことに応答して、前記識別された物体の前記移動を、高められた確実性を伴って追跡することとを行うように前記プロセッサを構成する、請求項7に記載のシステム。
【請求項9】
前記命令が、前記移動の方向における前記物体の後続の検知を、高められた確実性を伴って予測するように前記プロセッサを構成する、請求項8に記載のシステム。
【請求項10】
前記命令が、
前記識別された物体が前記第1のカメラのビューから消えたときを検知することと、
前記識別された物体が前記第1のカメラのビューから消えたことに応答して、前記識別された物体の前記移動を前記第2のカメラからの複数の前記画像において追跡することとを行うように前記プロセッサを構成する、請求項7に記載のシステム。
【請求項11】
前記命令が、
前記識別された物体が前記第2のカメラのビューから消えたときを検知することと、
前記第1および第2のカメラからの前記画像における前記識別された物体の最初および最後の検知ならびに前記識別された物体の移動の方向を特定することと、
前記識別された物体の前記最初および最後の検知ならびに前記識別された物体の前記移動の方向に基づいて、前記識別された物体に関する結果を特定することとを行うように前記プロセッサを構成する、請求項10に記載のシステム。
【請求項12】
前記結果を特定することは、前記識別された物体が、観察されているエリアに留まっていると、または前記識別された物体が、観察されている前記エリアから出ていると特定することを含む、請求項11に記載のシステム。
【請求項13】
前記命令が、
前記識別された物体の検知のそれぞれのインスタンスに関して、
前記識別された物体の前記検知にタイムスタンプを割り振ることと、
前記識別された物体にラベルを割り振ることと、
前記識別された物体に関してバウンディングボックス座標を割り振ることと、
前記識別された物体に関する検知履歴に前記タイムスタンプ、前記ラベル、および前記バウンディングボックス座標を格納することと、
前記識別された物体に関する前記検知履歴を相関付けることによって、前記識別された物体の前記最初および最後の検知ならびに前記識別された物体の前記移動の方向を特定することとを行うように前記プロセッサを構成する、請求項11に記載のシステム。
【請求項14】
前記命令が、
前記識別された物体の検知のそれぞれのインスタンスに関して、
前記識別された物体の前記検知にタイムスタンプを割り振ることと、
前記識別された物体にラベルを割り振ることと、
前記識別された物体に関してバウンディングボックス座標を割り振ることと、
前記識別された物体に関する検知履歴に前記タイムスタンプ、前記ラベル、および前記バウンディングボックス座標を格納することと、
前記識別された物体に関する前記検知履歴を相関付けることによって、前記識別された物体の前記移動を前記複数の画像にわたって追跡することとを行うように前記プロセッサを構成する、請求項7に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月9日に出願された米国特許仮出願第63/173,265号の利益を主張するものである。上で言及されている出願の開示全体は、参照によって本明細書に組み込まれている。
【0002】
本開示は、全般的には、物体を複数の画像において検知することに関し、より詳細には、物体の移動をそれらの画像にわたって追跡することに関する。
【背景技術】
【0003】
ここで提供される背景技術の記述は、本開示のコンテキストを全般的に提示するという目的のためのものである。この背景技術のセクションにおいて記述されている範囲で、現在名前が挙がっている発明者たちの業績、ならびに出願の時点で従来技術としてその他の点で適格ではない可能性があるこの記述の側面は、本開示に反する従来技術として明示的にも黙示的にも認められない。
【0004】
さまざまな技術が、物体の画像を取り込むために使用されている。たとえば、医学の分野においては、超音波、磁気共鳴画像法(MRI)、コンピュータ断層撮影(CT)スキャン、およびその他の技術が、臓器の画像を取り込むために使用されている。外科的処置がモニタされ、カメラを使用して画像が取り込まれる。小売り用途においては、店舗の棚の上に、または倉庫内に蓄えられている物品の画像を取り込むカメラを使用して、在庫の減少および補充をモニタすることが可能である。自動車業界においては、車両上に、または車両内に取り付けられているカメラが、車両の周りの物体の画像を取り込む。セキュリティーシステムにおいては、カメラが、建物の中および周りのエリアをモニタし、画像を記録する。天文および宇宙関連の用途においては、カメラが、天体の画像を取り込む。危険な用途においては、カメラが、危険な物質および/またはオペレーションを含むプロセスをモニタし、それらのプロセスの画像を取り込む。ロボット工学においては、カメラによって取り込まれた画像に基づいてロボットが動作する、といった具合である。
【発明の概要】
【課題を解決するための手段】
【0005】
プロセッサと、命令を格納しているメモリとを含むシステムであって、それらの命令が、プロセッサによって実行されたときに、カメラによって取り込まれた複数の画像を画像処理システムから受信することと、モデルを使用して、物体を複数の画像からの1つの画像において検知することと、モデル、および以前に識別された物体のデータベースを使用して、検知された物体を識別することとを行うようにプロセッサを構成する、システム。それらの命令は、識別された物体の移動を複数の画像からの一連の画像にわたって追跡するようにプロセッサを構成する。それらの命令は、複数の画像に基づいて、識別された物体がカメラのビューから消えたときを検知するようにプロセッサを構成する。それらの命令は、識別された物体の最初および最後の検知ならびに識別された物体の移動の方向に基づいて、識別された物体に関する結果を特定するようにプロセッサを構成する。
【0006】
別の特徴においては、結果を特定することは、識別された物体が、観察されているエリアに留まっていると、または識別された物体が、観察されているエリアから出ていると特定することを含む。
【0007】
その他の特徴においては、それらの命令は、識別された物体の検知のそれぞれのインスタンス(instance)に関して、識別された物体の検知にタイムスタンプを割り振ることと、識別された物体にラベルを割り振ることと、識別された物体に関してバウンディングボックス座標を割り振ることとを行うようにプロセッサを構成する。それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、識別された物体に関する検知履歴にタイムスタンプ、ラベル、およびバウンディングボックス座標を格納するようにプロセッサを構成する。それらの命令は、識別された物体に関する検知履歴に基づいて、識別された物体の最初および最後の検知ならびに識別された物体の移動の方向を特定するようにプロセッサを構成する。
【0008】
その他の特徴においては、それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、ラベルに関して確実性スコアを割り振ることと、識別された物体のそれぞれの連続した検知に伴って確実性スコアを高めることとを行うようにプロセッサを構成する。
【0009】
別の特徴においては、それらの命令は、移動の方向における物体の後続の検知を、高められた確実性を伴って予測するようにプロセッサを構成する。
【0010】
その他の特徴においては、それらの命令は、識別された物体を複数の画像からのN1個の画像において検知することであって、N1が、1よりも大きい整数である、検知することを行うようにプロセッサを構成する。それらの命令は、識別された物体が、N1個の画像の後に消えているが、N1個の画像に続く複数の画像のうちのN2個以下の画像において再び現れている場合には、N2個の画像において検知されている識別された物体が、N1個の画像において検知されている識別された物体の継続された検知であると特定するようにプロセッサを構成する。
【0011】
別の特徴においては、それらの命令は、識別された物体が、複数の画像のうちのN1+N2個の画像において検知されていない場合には、識別された物体がカメラのビューの外にあると特定するようにプロセッサを構成する。
【0012】
さらに他の特徴においては、システムが、プロセッサと、命令を格納しているメモリとを含み、それらの命令は、プロセッサによって実行されたときに、第1および第2のカメラによって取り込まれた画像を画像処理システムから受信することと、モデルを使用して、物体を画像において検知することと、モデル、および以前に識別された物体のデータベースを使用して、検知された物体を識別することとを行うようにプロセッサを構成する。それらの命令は、画像における識別された物体の複数の検知を相関付けることによって、識別された物体の移動を複数の画像にわたって追跡するようにプロセッサを構成する。
【0013】
別の特徴においては、それらの命令は、識別された物体を第2のカメラからの画像のうちの1つにおいて検知したことに応答して、識別された物体を、高められた確実性を伴って第1のカメラからの画像のうちの1つにおいて検知するようにプロセッサを構成する。
【0014】
その他の特徴においては、それらの命令は、識別された物体が第1および第2のカメラからの複数の画像にわたって同じ方向に移動していることを検知するようにプロセッサを構成する。それらの命令は、識別された物体が第1および第2のカメラからの複数の画像にわたって同じ方向に移動していることを検知したことに応答して、識別された物体の移動を、高められた確実性を伴って追跡するようにプロセッサを構成する。
【0015】
別の特徴においては、それらの命令は、移動の方向における物体の後続の検知を、高められた確実性を伴って予測するようにプロセッサを構成する。
【0016】
その他の特徴においては、それらの命令は、識別された物体が第1のカメラのビューから消えたときを検知するようにプロセッサを構成する。それらの命令は、識別された物体が第1のカメラのビューから消えたことに応答して、識別された物体の移動を第2のカメラからの複数の画像において追跡するようにプロセッサを構成する。
【0017】
その他の特徴においては、それらの命令は、識別された物体が第2のカメラのビューから消えたときを検知するようにプロセッサを構成する。それらの命令は、第1および第2のカメラからの画像における識別された物体の最初および最後の検知ならびに識別された物体の移動の方向を特定するようにプロセッサを構成する。それらの命令は、識別された物体の最初および最後の検知ならびに識別された物体の移動の方向に基づいて、識別された物体に関する結果を特定するようにプロセッサを構成する。
【0018】
別の特徴においては、結果を特定することは、識別された物体が、観察されているエリアに留まっていること、または識別された物体が、観察されているエリアから出ていると特定することを含む。
【0019】
その他の特徴においては、それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、識別された物体の検知にタイムスタンプを割り振ることと、識別された物体にラベルを割り振ることと、識別された物体に関してバウンディングボックス座標を割り振ることとを行うようにプロセッサを構成する。それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、識別された物体に関する検知履歴にタイムスタンプ、ラベル、およびバウンディングボックス座標を格納するようにプロセッサを構成する。それらの命令は、識別された物体に関する検知履歴を相関付けることによって、識別された物体の最初および最後の検知ならびに識別された物体の移動の方向を特定するようにプロセッサを構成する。
【0020】
その他の特徴においては、それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、識別された物体の検知にタイムスタンプを割り振ることと、識別された物体にラベルを割り振ることと、識別された物体に関してバウンディングボックス座標を割り振ることとを行うようにプロセッサを構成する。それらの命令は、識別された物体の検知のそれぞれのインスタンスに関して、識別された物体に関する検知履歴にタイムスタンプ、ラベル、およびバウンディングボックス座標を格納するようにプロセッサを構成する。それらの命令は、識別された物体に関する検知履歴を相関付けることによって、識別された物体の移動を複数の画像にわたって追跡するようにプロセッサを構成する。
【0021】
本開示のさらなる適用領域が、詳細な記述、特許請求の範囲、および図面から明らかになるであろう。詳細な記述および具体的な例は、例示という目的のみを意図されており、本開示の範囲を限定することを意図されているものではない。
【0022】
本開示は、詳細な記述および添付の図面から、より完全に理解されるようになるであろう。
【図面の簡単な説明】
【0023】
【
図1】本開示による、物体を画像において検知し、物体の移動を複数の画像にわたって追跡するためのシステムを示す図である。
【
図2】本開示による、物体を画像において検知し、物体の移動を複数の画像にわたって追跡するためのシステムを示す図である。
【
図3】本開示による、物体を画像において検知し、物体の移動を複数の画像にわたって追跡するための方法を示す図である。
【
図4A】本開示による、物体を画像において検知し、物体を複数の画像にわたって追跡し、物体の移動の方向を特定するための方法を示す図である。
【
図4B】バウンディングボックス座標を使用して、追跡されている物体に関する移動の方向を特定することの例を示す図である。
【
図5】本開示による、追跡されている物体がビューの外へ出たときを特定するための方法を示す図である。
【
図6】本開示による、追跡されている物体がビューの外へ出たときの結果を特定するための方法を示す図である。
【
図7】本開示による、複数のソース(たとえば、複数のカメラ)から受信された複数の画像にわたって物体を検知して追跡するための方法を示す図である。
【
図8】本開示による、複数のソースから受信された複数の画像にわたって物体を検知して追跡し、物体の移動の方向を、高められた確実性を伴って特定するための方法を示す図である。
【
図9】本開示による、物体が1つのカメラのビューの外へ出たが、その後に別のカメラのビューにおいて現れた場合に、複数のカメラから受信された複数の画像にわたって物体を検知して追跡するための方法を示す図である。
【
図10】本開示による、一方のカメラのビューが遮られ、その一方で他方のカメラが引き続き物体を見ている場合に、2つのカメラから受信された複数の画像にわたって物体を検知して追跡するための方法を示す図である。
【0024】
図面においては、同様のおよび/または同じ要素を識別するために参照番号が再利用される場合がある。
【発明を実施するための形態】
【0025】
本開示は、さまざまな技術を使用して取り込まれた画像において物体を検知することに関し、そして検知された物体の移動を一連の画像にわたって追跡することに関する。具体的には、機械学習ベースのモデルが、画像を処理して、それらの画像に取り込まれている物体を識別して位置特定する。モデルが認識するようにトレーニングされている物体が、モデルへの画像入力において現れた場合には、モデルは、その物体に識別ラベルを割り振り、その物体に割り振られた識別ラベルに関する確実性スコアを割り振り、画像における物体の場所を表す一式の座標を提供し、それらの座標は、画像における物体の周囲にバウンディングボックスを構築するために使用される。バウンディングボックスは、物体を追跡するために使用される。一連の画像がモデルによって処理され、複数の画像にわたって連続して物体が検知された場合には、以降で詳細に説明されているように、バウンディングボックスを使用して、物体の移動を一連の画像において追跡することが可能である。
【0026】
モデルが認識するようにトレーニングされている物体を含む第1の画像がモデルによって処理された場合には、システムは、追跡される物体の構造を始動することによって、識別された物体を追跡することを開始する。追跡される物体の構造は、モデルによって割り振られる物体のタイプを指す物体のラベルと、モデルによって物体に割り振られる検知の履歴と、たとえ検知された複数の物体が同じタイプのものであっても個々の物体検知の間を区別するためにモデルによって物体検知のそれぞれのインスタンスに割り振られる一意の識別子とを含む複数のプロパティーを有する。追跡される物体が最初に検知された場合には、識別ラベルおよび新たな物体識別子が、追跡される物体に割り振られ、第1のバウンディングボックスが、追跡される物体の検知履歴に格納される。
【0027】
後続の画像がモデルによって処理され、以前に検知された物体(すなわち、追跡されている物体)の新たな検知がモデルによって行われた場合には、システムは、その新たな検知を既存の追跡されている物体に対して比較する。追跡されている物体の新たな検知においては、追跡されている物体は、その追跡されている物体の過去の検知に割り振られた確実性スコアよりも高い確実性スコアを割り振られる。追跡されている物体の新たな検知が、追跡されている物体の最後に記録された検知から所定の範囲内に生じた場合には、その新たな検知は、その追跡されている物体の継続とみなされ、追跡されている物体の検知履歴に加えられる。追跡されている物体の複数の検知が、単一の物体に関する所定の範囲内に収まっている場合には、追跡されている物体の最も近い検知が、その物体の継続とみなされ、または追跡されている物体の履歴が、十分なデータを有する場合には、その履歴を使用して、追跡されている物体の動きのおよその方向を特定することが可能である。およその方向を予測子として使用して、その方向における追跡されている物体の新たな検知を優先することが可能である。
【0028】
追跡されている物体が、所定の数の画像内で検知されない場合には、その物体は、ビューの外にある(すなわち、ビューから消えている)とみなされ、追跡システムは、物体の検知または移動の結果について決定を下すように促される。物体が画像の特定のセグメントに達すること等など、使用事例に応じて、その他の基準を使用して、意思決定を促すことも可能である。物体がビューの外にあるとみなされて、追跡システムが、その物体に関する決定を下すように促されると、物体の検知履歴および識別情報を使用して、その物体に関する結果が特定される。物体の検知履歴から引き出して使用することが可能である観察結果は、起点(すなわち、物体が最初に検知されたときにその物体がどこにあったか)、物体の離脱のポイント(すなわち、物体のビューが失われたときにその物体がどこにあったか)、および物体のビューが失われたときにその物体が移動していたおよその方向を含む。
【0029】
いくつかの用途においては、複数のソースからの(たとえば、別々のカメラによって取り込まれた)画像をモデルによって処理することが可能であり、複数のソースからの複数の検知を相関付けて、物体検知および物体追跡を改善することが可能である。たとえば、2つの異なるソースからの画像は、同じ物体の別々のビューを提供することが可能である。複数のソースからの画像において同じ物体が検知された場合には、その物体の識別情報は、単一のソースからの画像においてその物体が検知された場合よりも高い確実性スコアを割り振られることが可能である。さらに、複数のソースからの画像を使用して、物体追跡を改善することが可能である。たとえば、複数のソースからの画像を使用して実行される物体追跡は、追跡されている物体が移動している方向を確認することが可能である。さらに、追跡されている物体が、1つのソースからの画像においてはビューの外へ出る可能性があるものの、その追跡されている物体は、別のソースからの画像においては引き続きビュー内にある可能性があり、そのため、さらに追跡されることが可能である。追跡されている物体が最終的にビューの外へ実際に出た場合には、複数のソースを使用した物体追跡は、追跡されている物体に関して、単一のソースからの画像に基づいて特定される結果よりも良好な結果を提供することが可能である。
【0030】
加えて、複数のソースを使用して物品が追跡されている場合には、モデルは、タイムスタンプを使用して、その物品が特定のソースによって最初に検知されたときと、その物品が特定のソースによって最後に更新されたときとをマークすることが可能である。これは、意思決定プロセスにおけるさらなる複雑さおよび冗長性を可能にする。これは、たとえば、物品のビューが1つのソースからは妨げられているものの、別のソースがその物品を引き続き観察しているケースにおいて役立つ。
【0031】
たとえば、追跡プロセスの開始時に物品がカメラ1およびカメラ2のビューに入ると想定する。物品が両方のカメラによって最初に検知されたときにタイムスタンプが取得される。その後、追跡プロセス中に障害が生じ、それによって、カメラ1ではもはや物品は見えないが、カメラ2では物品を見ることが可能である。モデルは、カメラ1が物品を見た最後の時間のタイムスタンプを保持する。物品がカメラ2のビューから離れるか、またはその他の形で意思決定をトリガーするまで、物品はカメラ2によって追跡され続ける。物品はカメラ1から失われたものの、物品は依然としてカメラ2によって追跡されている。したがってモデルは、物品が最後のカメラ(すなわち、この例においてはカメラ2)のビューから離れるまで待つことが可能である。物品は次いで、観察されているエリアから離れ、今度はカメラ2も、物品のビューを失っている。モデルは次いで、追跡された物品について決定を下すように促される。
【0032】
意思決定の一環として、モデルは、物品が両方のカメラによって最初に検知されたときと、物品が両方のカメラによって最後に検知されたときとのタイムスタンプを比較して、物品の起点についての最も古い情報をどちらのカメラが有しているか、および物品がどこに行ったかについての最新の情報をどちらのカメラが有しているかを特定する。この例においては、カメラ1およびカメラ2が同時に物品を検知したが、障害に起因して、カメラ1が物品を見失い、その後にカメラ2が物品を見失った。モデルは、カメラ2によって提供された情報を利用して、物品の離脱ポイントを特定し、物品に関する結果を特定する。
【0033】
本開示のシステムおよび方法は、特定の用途向けにカスタマイズされているターンキーソリューションとしてバンドルされることが可能である。あるいは、モデルなど、システムおよび方法の少なくともいくつかの部分は、サービスとしてのソフトウェア(Software-as-a-Service(SaaS))として実装されることが可能である。SaaS(サース)部分は、クラウドにおいてホストされること、ローカルの画像取り込みシステムとインターフェースで接続されること、およびサブスクリプションベースで供給されることが可能である。本開示のこれらおよびその他の特徴について、ここでさらに詳細に記述する。
【0034】
本開示は、下記のように編成されている。物体を画像において検知し、物体の移動を複数の画像にわたって追跡するためのシステムが、
図1および
図2を参照しながら示され、記述される。物体を画像において検知し、物体の移動を複数の画像にわたって追跡するための方法が、
図3を参照しながら示され、記述される。物体を画像において検知し、物体を複数の画像にわたって追跡し、物体の移動の方向を特定するための方法が、
図4Aを参照しながら示され、記述される。バウンディングボックス座標を使用して、追跡されている物体に関する移動の方向を特定することの例が、
図4Bを参照しながら示され、記述される。追跡されている物体がビューの外へ出たときを特定するための方法が、
図5を参照しながら示され、記述される。追跡されている物体がビューの外へ出たときの結果を特定するための方法が、
図6を参照しながら示され、記述される。
【0035】
その後に、複数のソース(たとえば、複数のカメラ)から受信された複数の画像にわたって物体を検知して追跡するための方法が、
図7を参照しながら示され、記述される。複数のソースから受信された複数の画像にわたって物体を検知して追跡し、物体の移動の方向を、高められた確実性を伴って特定するための方法が、
図8を参照しながら示され、記述される。物体が1つのカメラのビューの外へ出たが、その後に別のカメラのビューにおいて現れた場合に、複数のカメラから受信された複数の画像にわたって物体を検知して追跡するための方法が、
図9を参照しながら示され、記述される。一方のカメラのビューが遮られ、その一方で他方のカメラが引き続き物体を見ている場合に、2つのカメラから受信された複数の画像にわたって物体を検知して追跡するための方法が、
図10を参照しながら示され、記述される。
【0036】
図1は、本開示による、物体を画像において検知し、物体の移動を複数の画像にわたって追跡するためのシステム100を示している。システム100は、画像取り込みシステム102、画像処理システム104、物体検知システム106、および物体追跡システム108を含む。たとえば、画像取り込みシステム102は、カメラなど、1つまたは複数の画像取り込みデバイスを含む。たとえば、画像処理システム104は、画像の色、明るさ、コントラストなどの属性を調整することによって、画像からノイズをフィルタリングすることにより、画像取り込みシステム102によって取り込まれた画像を処理する。
【0037】
物体検知システム106は、以降でさらに詳細に記述されているように、本開示による画像処理システム104から受信された処理済み画像において1つまたは複数の物体を検知する。物体追跡システム108は、以降でさらに詳細に記述されているように、本開示による物体検知システム106によって検知された1つまたは複数の物体を追跡する。物体検知システム106は、
図2においてさらに詳細に示されている。
【0038】
物体検知システム106および物体追跡システム108のそれぞれは、以降で
図3~
図10を参照して記述されている1つまたは複数の方法を実行する1つまたは複数のプロセッサおよびメモリを含む。言い換えれば、物体検知システム106および物体追跡システム108のそれぞれは、1つまたは複数のモジュールを含むものとして実装されることが可能であり、それらのモジュールは、以降で本開示のシステムおよび方法の記述に続いて定義されている。
【0039】
いくつかの例においては、物体検知システム106および物体追跡システム108は、単一のシステム(たとえば、単一のモジュール)へと統合されることが可能である。いくつかの例においては、物体検知システム106は、物体追跡を実行することも可能である。いくつかの例においては、物体追跡システム108は、以降で詳細に説明されているように、追跡されている物体がビューの外へ出た後に結果の特定を実行することが可能である。
【0040】
図2は、本開示による物体検知システム106をさらに詳細に示している。たとえば、物体検知システム106は、物体検知モデル120、物体データベース122、および履歴データベース124を含む。物体検知モデル120は、画像処理システム104から受信された画像において物体を検知するように(たとえば、機械学習を使用して)トレーニングされている。たとえば、物体検知モデル120は、画像取り込みシステム102の1つまたは複数のカメラによって取り込まれた物体の1つまたは複数のビューに基づいて物体を識別するようにトレーニングされている。1つまたは複数のカメラによってさまざまな角度から取り込まれたビュー(すなわち、画像)は、画像処理システム104による処理の後に物体データベース122に格納される。物体データベース122は、物体検知モデル120が検知するようにトレーニングされているさまざまな物体の多くのビューを格納する。
【0041】
使用時に、物体検知モデル120は、以降で詳細に記述されている方法を使用して、画像処理システム104から受信された画像において物体を検知する。物体が検知された場合には、物体検知モデル120は、検知された物体を、物体データベース122に格納されている1つまたは複数の物体に比較する。検知された物体と一致する物体が物体データベース122において見つかった場合には、物体検知モデル120は、検知された物体にさまざまなパラメータを割り振る。それらのパラメータは、検知された物体に関する識別ラベル、割り振られた識別ラベルに関する確実性スコア、物体の検知のインスタンスに関する識別子、および検知された物体に関するバウンディングボックス座標を含み、それらのバウンディングボックス座標は、画像における検知された物体の場所を示す。これらのパラメータは、物体の検知のインスタンスに関するタイムスタンプとともに、履歴データベース124における検知された物体の検知履歴に格納される。物体検知モデル120は、以降で詳細に記述されている方法を使用して、検知履歴を用いて、検知された物体を追跡し、追跡されている物体の移動の方向を特定する。
【0042】
上述されているように、システム100は、特定の用途向けに(たとえば、小売りまたは医療用途向けに)カスタマイズされているターンキーソリューションとして供給されることが可能である。あるいは、画像処理システム104、物体検知システム106、物体追跡システム108のうちの少なくとも1つは、Software-as-a-Service(SaaS)としてクラウドにおいて実装されること、ローカルに配備されている画像取り込みシステム102とインターフェースで接続されること、およびサブスクリプションベースで供給されることが可能である。
【0043】
図3は、本開示による、物体を画像において検知し、物体の移動を複数の画像にわたって追跡するための方法150を示している。方法150は、
図3を参照しながら全般的に、そして
図4~
図6を参照しながらさらに具体的に(すなわち、詳細に)示され、記述されている。方法150は、一部は物体検知システム106の物体検知モデル120によって、そして一部は物体追跡システム108によって実行される。
【0044】
152において、物体検知モデル120は、画像処理システム104から受信された画像において物体を識別する。物体検知については、
図4を参照しながらさらに詳細に後述されている。154において、物体検知モデル120は、画像処理システム104から受信された一連の画像において物体を検知することによって、物体の移動を追跡する。物体検知モデル120は、追跡されている物体の検知の履歴を履歴データベース124において保持する。物体追跡については、
図4および
図5を参照しながらさらに詳細に後述されている。
【0045】
156において、物体追跡システム108は、以降で
図5を参照しながら説明されているように、追跡されている物体がビューの外にあるかどうかを特定する。追跡されている物体がビューの外にない場合には、方法150は154へ戻る(すなわち、物体検知モデル120は、引き続き物体を追跡する)。追跡されている物体がビューの外にある場合には、158において、物体追跡システム108は、以降で
図6を参照しながら詳細に説明されているように、追跡されている物体に関する結果(たとえば、追跡されている物体に何が起こったのか)を特定する。
【0046】
図4Aは、本開示による、物体を画像において検知し、物体を複数の画像にわたって追跡し、物体の移動の方向を特定するための方法200をさらに詳細に示している。202において、物体検知モデル120は、ソースから画像を受信する。204において、物体検知モデル120は、物体を第1の画像において検知する。206において、物体検知モデル120は、その検知に識別子を割り振る。208において、物体検知モデル120は、物体データベース122を使用して(すなわち、検知された物体を物体データベース122における物体に比較することによって)、検知された物体を識別する。210において、物体検知モデル120は、識別された物体にラベルを割り振る。212において、物体検知モデル120は、識別された物体に割り振られたラベルに確実性スコアを割り振る。214において、物体検知モデル120は、識別された物体に関するバウンディングボックス座標を提供する(
図4Bを参照しながら詳細に示されている)。216において、物体検知モデル120は、検知データ(すなわち、識別子、ラベル、確実性スコア、およびバウンディングボックス座標)を、履歴データベース124における識別された物体に関して保持されている履歴に格納する。
【0047】
218において、物体検知モデル120は、物体を次の画像において検知する。220において、物体検知モデル120は、その検知に識別子を割り振る。222において、物体検知モデル120は、物体データベース122を使用して、検知された物体を識別する。224において、物体検知モデル120は、識別された物体にラベルを割り振る(すなわち、検知された物体を物体データベース122における物体に比較することによって)。226において、物体検知モデル120は、次の画像において識別された物体が、前の画像において識別された同じ物体であるかどうかを特定する。次の画像において識別された物体が、前の画像において識別された同じ物体ではない場合には、方法200は212へ戻る。
【0048】
次の画像において識別された物体が、前の画像において識別された同じ物体である場合には、228において、物体検知モデル120は、次の画像における識別された物体に割り振られたラベルに、より高い確実性スコアを割り振る。230において、物体検知モデル120は、次の画像における識別された物体に関するバウンディングボックス座標を提供する(
図4Bを参照しながら詳細に示されている)。232において、物体検知モデル120は、検知データ(すなわち、識別子、ラベル、確実性スコア、およびバウンディングボックス(Bounding Box)座標)を、履歴データベース124における識別された物体に関して保持されている履歴に加える。
【0049】
234において、物体追跡システム108は、識別された物体に関する履歴に格納されているバウンディングボックス座標に基づいて、識別された物体に関する移動の方向を特定する。たとえば、物体追跡システム108は、追跡されている物体の最後の検知のインスタンスにおけるバウンディングボックス座標から、追跡されている物体の最初の検知のインスタンスにおけるバウンディングボックス座標を差し引くことによって、追跡されている物体に関する移動の方向を特定する。
【0050】
図4Bは、バウンディングボックス座標を使用して、追跡されている物体に関する移動の方向を特定することの例を示している。示されている例においては、物体242が、一連の画像240-1、240-2、...、および240-N(まとめて画像240)において追跡されており、ここでは、Nは正の整数である。それぞれの画像240においては、物体242が、上で説明されているように検知されて識別されたときに、バウンディングボックス244が物体242に割り振られる。それぞれのバウンディングボックス244は、(x1,y1)、(x2,y2)、(x3,y3)、および(x4,y4)という座標を有する。任意の2つの画像240-iと240-jとの間において計算されることが可能である物体242の移動の方向は、バウンディングボックス244-iの座標からバウンディングボックス244-jの座標を差し引くことによって計算されることが可能である。
【0051】
たとえば、画像240-1と240-2との間における物体242の移動の方向246-1は、バウンディングボックス244-2と244-1との座標の間における差である。画像240-2と240-Nとの間における物体242の移動の方向246-2は、バウンディングボックス244-Nと244-2との座標の間における差である。物体242が画像240-1において最初に検知され、画像240-Nにおいて最後に検知された場合には、画像240-1と240-Nとの間における物体242の移動の正味の方向246-3は、バウンディングボックス244-Nと244-1との座標の間における差である。
【0052】
図5は、本開示による、追跡されている物体がビューの外へ出たときを特定するための方法250を示している。252において、物体検知モデル120は、ソースから画像を受信する。254において、物体検知モデル120は、上で
図4を参照しながら説明されているように一連の画像において物体検知を実行する。256において、物体検知モデル120は、識別された物体がN1個の連続した画像において検知されなかったかどうかを特定し、ここでは、N1は正の整数である。方法250は254へ戻り、識別された物体が引き続き検知されるならば、物体検知モデル120は、引き続き物体検知を実行する。
【0053】
識別された物体がN1個の連続した画像において検知されなかった場合には、258において、物体検知モデル120は、識別された物体がN1個の画像に続くさらなるN2個の連続した画像において検知されなかったかどうか(すなわち、識別された物体がN1+N2個の連続した画像において検知されなかったかどうか)を特定し、ここでは、N2は正の整数である。識別された物体がさらなるN2個の連続した画像において検知された場合(すなわち、識別された物体がN1個の画像においては検知されなかったが、N1個の画像に続くN2個の画像においては検知された場合)には、260において、物体検知モデル120は、その検知が、N1個の画像よりも前の画像において識別された同じ物体の継続である(すなわち、識別された物体は、同じ物体である)と特定し、方法250は254に戻り、物体検知モデル120は、引き続き物体検知を実行する。
【0054】
識別された物体がN1個の画像に続くさらなるN2個の連続した画像において検知されなかった場合(すなわち、識別された物体がN1+N2個の連続した画像において検知されなかった場合)には、262において、物体検知モデル120は、識別された物体がビューの外にあると特定する。264において、物体追跡システム108は、以降で
図6を参照しながら詳細に説明されているように、追跡されている物体に関する結果(たとえば、追跡されている物体に何が起こったのか)を特定する。
【0055】
図6は、本開示による、追跡されている物体がビューの外へ出たときの結果を特定するための方法280を示している。282において、物体追跡システム108は、履歴データベース124における追跡されている物体に関する履歴に格納されている検知データを取り出す。284において、物体追跡システム108は、追跡されている物体の起点(すなわち、最初の検知のインスタンス)を(たとえば、追跡されている物体の最初の検知のインスタンスにおいて物体検知モデル120によって提供されたバウンディングボックス座標に基づいて)位置特定する。286において、物体追跡システム108は、追跡されている物体の離脱のポイント(すなわち、最後の検知のインスタンス)を(たとえば、追跡されている物体の最後の検知のインスタンスにおいて物体検知モデル120によって提供されたバウンディングボックス座標に基づいて)位置特定する。
【0056】
288において、物体追跡システム108は、追跡されている物体に関して特定された起点および離脱のポイントに基づいて、追跡されている物体に関する移動の方向を特定する。たとえば、物体追跡システム108は、追跡されている物体の最後の検知のインスタンスにおけるバウンディングボックス座標から、追跡されている物体の最初の検知のインスタンスにおけるバウンディングボックス座標を差し引くことによって、追跡されている物体に関する移動の方向を特定する。
【0057】
290において、物体追跡システム108は、追跡されている物体の移動の特定された方向に基づいて、追跡されている物体に関する結果(すなわち、追跡されている物体がビューの外へ出たときに、追跡されている物体に何が起こったのか)を特定する。たとえば、物体追跡システム108は、追跡されている物体が、観察中のエリアへ入ったか、または観察中のエリアの外へ出たかを特定する。たとえば、観察されているエリアは、モニタされている(たとえば、キャビネット、冷蔵庫などの)保管棚であり得、追跡されている物体は、食品(たとえば、牛乳パック)であり得る。たとえば、観察されているエリアは、モニタされている手術領域(たとえば、腹部)であり得、追跡されている物体は、手術器具(たとえば、メス)であり得る。たとえば、観察されているエリアは、モニタされている宇宙空間における領域であり得、追跡されている物体は、天体(たとえば、星、惑星など)であり得る、といった具合である。
【0058】
図7は、本開示による、複数のソース(たとえば、複数のカメラ)から受信された複数の画像にわたって物体を検知して追跡するための方法300を示している。302において、物体検知モデル120は、第1のソースからの画像(たとえば、画像取り込みシステム102の第1のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。304において、物体検知モデル120は、第2のソースからの画像(たとえば、画像取り込みシステム102の第2のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。306において、画像検知モデル120は、
図8を参照しながらさらに詳細に後述されているように、第1および第2のソースから受信された画像に基づいて物体検知を実行する。308において、画像検知モデル120は、
図8~
図10を参照しながらさらに詳細に後述されているように、第1および第2のソースから受信された画像に基づいて実行された複数の物体検知を相関付けて、物体検知および追跡を改善する。
【0059】
図8は、本開示による、複数のソースから受信された複数の画像にわたって物体を検知して追跡し、物体の移動の方向を、高められた確実性を伴って特定するための方法350を示している。352において、物体検知モデル120は、第1のソースからの画像(たとえば、画像取り込みシステム102の第1のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。354において、物体検知モデル120は、第2のソースからの画像(たとえば、画像取り込みシステム102の第2のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。
【0060】
356において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1のソースから受信された第1の画像において物体を検知する。358において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された第2の画像において物体を検知する。360において、物体検知モデル120は、第1および第2の画像において検知された複数の物体が同じ物体であるかどうかを特定する。第1および第2の画像において検知された複数の物体が同じ物体ではない場合には、方法350は352へ戻り、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1および第2のソースから受信された画像において引き続き物体を検知する。第1および第2の画像において検知された複数の物体が同じ物体である場合には、物体検知モデル120は、第2の画像において検知された物体に割り振られたラベルに、前に第1の画像において検知された物体に割り振られたラベルに割り振られた確実性スコアよりも高い確実性スコアを割り振る。
【0061】
364において、物体検知モデル120は、
図6を参照しながら上述されているように、第1および第2の画像において検知された物体の移動の方向を特定する。物体検知モデル120は、第1および第2の画像において検知された複数の物体の移動の方向が同じであるかどうかを特定する。第1および第2の画像において検知された複数の物体の移動の方向が同じである場合には、366において、物体検知モデル120は、第1および第2の画像において検知された物体の移動の方向における高められた確実性を示し、方法350は終了する。加えて、物体検知モデル120は、その方向を使用して、その方向における物体の後続の検知を、高められた確実性を伴って予測する。すなわち、物体検知モデル120は、その方向を予測子として使用して、その方向における追跡されている物体の新たな検知を優先することが可能である。
【0062】
第1および第2の画像において検知された複数の物体の移動の方向が同じではない場合には、368において、物体検知モデル120は、是正措置を提案または開始し、方法350は終了する。たとえば、是正措置は、2つのカメラによって見られている同じ物体が、散開する方向に移動しているというアラートを生成することを含むことが可能であり、このアラートは、システム100における問題を示す場合がある(たとえば、システム100の1つまたは複数の要素が更新される必要がある場合がある)。
【0063】
図9は、本開示による、物体が1つのカメラのビューの外へ出たが、その後に別のカメラのビューにおいて現れた場合に、複数のカメラから受信された複数の画像にわたって物体を検知して追跡するための方法400を示している。402において、物体検知モデル120は、第1のソースからの画像(たとえば、画像取り込みシステム102の第1のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。404において、物体検知モデル120は、第2のソースからの画像(たとえば、画像取り込みシステム102の第2のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。406において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1のソースから受信された第1の画像において物体を検知する。
【0064】
408において、物体検知モデル120は、
図5を参照しながら上述されているように、第1のソースから受信された画像から物体がビューの外へ出ているかどうかを特定する。物体がビューの外へ出ていない場合には、方法400は406へ戻り、物体検知モデル120は、第1のソースから受信された画像に基づいて引き続き物体を検知して追跡する。
【0065】
第1のソースから受信された画像から物体がビューの外へ出ている場合には、410において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された第2の画像において物体を検知する。412において、物体検知モデル120は、第1および第2のソースからの第1および第2の画像において検知された複数の物体が同じ物体であるかどうかを特定する。第1および第2の画像において検知された複数の物体が同じ物体ではない場合には、方法400は402へ戻り、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1および第2のソースから受信された画像において引き続き物体を検知する。第1および第2の画像において検知された複数の物体が同じ物体である場合には、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された画像において引き続き物体を検知して追跡する。
【0066】
416において、物体検知モデル120は、
図5を参照しながら上述されているように、第2のソースから受信された画像から物体がビューの外へ出ているかどうかを特定する。物体がビューの外へ出ていない場合には、方法400は414へ戻り、物体検知モデル120は、第2のソースから受信された画像に基づいて引き続き物体を検知して追跡する。第2のソースから受信された画像から物体がビューの外へ出ている場合には、418において、物体追跡システム108は、第1および第2のソースの両方から受信された画像における物体の検知の履歴を履歴データベース124から取り出す。
【0067】
420において、物体追跡システム108は、追跡されている物体の起点(すなわち、第1および第2のソースから受信された画像における最初の検知のインスタンス)を位置特定する。たとえば、物体追跡システム108は、第1および第2のソースから受信された画像における追跡されている物体の最初の検知のインスタンスにおいて物体検知モデル120によって提供されたバウンディングボックス座標に基づいて起点を位置特定する。
【0068】
422において、物体追跡システム108は、追跡されている物体の離脱のポイント(すなわち、第1および第2のソースから受信された画像における最後の検知のインスタンス)を位置特定する。たとえば、物体追跡システム108は、第1および第2のソースから受信された画像における追跡されている物体の最後の検知のインスタンスにおいて物体検知モデル120によって提供されたバウンディングボックス座標に基づいて離脱のポイントを位置特定する。
【0069】
424において、物体追跡システム108は、追跡されている物体に関して特定された起点および離脱のポイントに基づいて、追跡されている物体に関する移動の方向を特定する。426において、物体追跡システム108は、追跡されている物体の移動の特定された方向に基づいて、追跡されている物体に関する結果(すなわち、追跡されている物体がビューの外へ出たときに、追跡されている物体に何が起こったのか)を特定する。たとえば、物体追跡システム108は、追跡されている物体が、第1および第2のソースによって観察されているエリアへ入ったか、またはそのエリアの外へ出たかを特定し、その例は、上で
図6を参照しながら提供されており、したがって、簡潔にするために繰り返されない。
【0070】
図10は、本開示による、一方のカメラのビューが遮られ、その一方で他方のカメラが引き続き物体を見ている場合に、2つのカメラから受信された複数の画像にわたって物体を検知して追跡するための方法450を示している。452において、物体検知モデル120は、第1のソースからの画像(たとえば、画像取り込みシステム102の第1のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。454において、物体検知モデル120は、第2のソースからの画像(たとえば、画像取り込みシステム102の第2のカメラによって取り込まれ、画像処理システム104によって処理された画像)を受信する。
【0071】
456において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1のソースから受信された第1の画像において物体を検知する。物体検知モデル120は、第1のソースによる物体の最初のビューにタイムスタンプを付ける(すなわち、物体検知モデル120は、第1のソースから受信された画像に基づいて物体の検知の最初のインスタンスにタイムスタンプを付ける)。タイムスタンプを付けられた検知データは、履歴データベース124における追跡されている物体の検知履歴に格納される。
【0072】
458において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された第2の画像において同じ物体を検知する。物体検知モデル120は、第2のソースによる物体の最初のビューにタイムスタンプを付ける(すなわち、物体検知モデル120は、第2のソースから受信された画像に基づいて物体の検知の最初のインスタンスにタイムスタンプを付ける)。タイムスタンプを付けられた検知データは、履歴データベース124における追跡されている物体の検知履歴に格納される。
【0073】
460において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1および第2のソースから受信された画像において引き続き物体を検知して追跡する。462において、物体検知モデル120は、
図5を参照しながら上述されているように、第1のソースから受信された画像から物体がビューの外へ出ているかどうかを特定する。物体がビューの外へ出ていない場合には、方法450は460へ戻り、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第1および第2のソースから受信された画像に基づいて引き続き物体を検知して追跡する。
【0074】
第1のソースから受信された画像から物体がビューの外へ出ている場合には、464において、物体検知モデル120は、第1のソースによる物体の最後のビューにタイムスタンプを付ける(すなわち、物体検知モデル120は、第1のソースから受信された画像に基づいて物体の検知の最後のインスタンスにタイムスタンプを付ける)。タイムスタンプを付けられた検知データは、履歴データベース124における追跡されている物体の検知履歴に格納される。466において、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された画像に基づいて引き続き物体を検知して追跡する。
【0075】
468において、物体検知モデル120は、
図5を参照しながら上述されているように、第2のソースから受信された画像から物体がビューの外へ出ているかどうかを特定する。第2のソースから受信された画像から物体がビューの外へ出ていない場合には、方法450は466へ戻り、物体検知モデル120は、
図4および
図5を参照しながら上述されているように、第2のソースから受信された画像に基づいて引き続き物体を検知して追跡する。第2のソースから受信された画像から物体がビューの外へ出ている場合には、470において、物体検知モデル120は、第2のソースによる物体の最後のビューにタイムスタンプを付ける(すなわち、物体検知モデル120は、第2のソースから受信された画像に基づいて物体の検知の最後のインスタンスにタイムスタンプを付ける)。タイムスタンプを付けられた検知データは、履歴データベース124における追跡されている物体の検知履歴に格納される。
【0076】
472において、履歴データベース124における追跡されている物体の検知履歴に格納されているタイムスタンプを付けられた検知データに基づいて、物体追跡システム108は、第2のソースからの画像から入手された物体に関する検知データが、第1のソースからの画像から入手された物体に関する検知データよりも時間において後のものであると特定する。すなわち、物体追跡システム108は、第2のソースからの画像から入手された物体に関する検知データが、その物体に関する最新の検知データであると特定する。具体的には、物体追跡システム108は、物体が両方のソースからの画像において最初に検知されたときと、物体が両方のソースからの画像において最後に検知されたときとのタイムスタンプを比較する。その比較に基づいて、物体追跡システム108は、物体の起点についての最も古い情報をどちらのソースからの検知データが有しているか(この例においては、第1のソース)と、物体がどこへ行ったかについての最新の情報をどちらのソースからの検知データが有しているか(この例においては、第2のソース)とを特定する。
【0077】
474において、物体追跡システム108は、第1および第2のソースの両方から受信された画像における追跡されている物体の検知の履歴を履歴データベース124から取り出す。476において、物体追跡システム108は、追跡されている物体の起点(すなわち、第1および第2のソースから受信された画像における追跡されている物体の最初の検知のインスタンス)を位置特定する。たとえば、物体追跡システム108は、第1および第2のソースから受信された画像における追跡されている物体の最初の検知のインスタンスにおいて物体検知モデル120によって提供されたタイムスタンプに基づいて起点を位置特定する。
【0078】
422において、物体追跡システム108は、追跡されている物体の離脱のポイント(すなわち、第2のソースから受信された画像における最後の検知のインスタンス)を位置特定する。たとえば、物体追跡システム108は、上で説明されているように、追跡されている物体に関する最新の検知データとして特定される、第2のソースから受信された画像における追跡されている物体の最後の検知のインスタンスにおいて物体検知モデル120によって提供されたタイムスタンプに基づいて離脱のポイントを位置特定する。
【0079】
480において、物体追跡システム108は、追跡されている物体に関して特定された起点および離脱のポイントに基づいて、追跡されている物体に関する移動の方向を特定する。482において、物体追跡システム108は、追跡されている物体の移動の特定された方向に基づいて、追跡されている物体に関する結果(すなわち、追跡されている物体がビューの外へ出たときに、追跡されている物体に何が起こったのか)を特定する。たとえば、物体追跡システム108は、追跡されている物体が、観察中のエリアへ入ったか、または観察中のエリアの外へ出たかを特定し、その例は、上で
図6を参照しながら提供されており、したがって、簡潔にするために繰り返されない。
【0080】
上記のシステムおよび方法を使用して物体を検知して追跡することの説明例を提供する。システム100は、冷蔵庫に加えられる物品および冷蔵庫から取り出される物品をモニタするようにセットアップされており、物体検知モデル120は、食品を認識するようにトレーニングされていると想定する。システム100は、画像の1つの側が冷蔵庫のドアであり、その他のすべての側が冷蔵庫から離れているということを知らされている。画像が、物体検知モデル120に渡される。物体検知モデル120は、画像における物品を牛乳として認識し、その履歴へと渡された最初の検知に伴って物体を追跡することを開始する。最初の検知は、バウンディングボックスの座標を冷蔵庫から離れたところに置く。さらにいくつかの画像が処理される。それぞれの処理された画像は、牛乳がビューの外にあるとみなされるまで、その物品が移動しているように見える方向が冷蔵庫の方であるということを示している。システム100は次いで、物品に何が起こったのかについて決定を下すように促される。物体の検知履歴における最初の検知は、冷蔵庫から離れており、物品がビューの外へ出る前の最後の検知は、画像の冷蔵庫側に非常に近かった。最後の検知のうちのいくつかを使用して、システム100は、ビューが失われたときに牛乳がまだ冷蔵庫に向かって移動していたと特定する。これらのすべての要因によって、システム100は、新たな牛乳という物品が冷蔵庫に加えられていると特定する。
【0081】
これらのシステムおよび方法を使用して、外科的処置において使用される物体の在庫を保持することが可能である。外科的処置の終了時の在庫は、外科的処置の開始時の在庫と一致しなければならない。2つの在庫が一致しない場合には、システム100は、外科的処置において使用される1つまたは複数の物体または器具が行方不明であるというアラートを発することが可能である。これらのシステムおよび方法を使用して、家庭における冷蔵庫およびキャビネットにおける在庫を管理することが可能である。このシステムおよび方法を使用して、店舗、自動販売機などにおける在庫を管理することが可能である。その他の多くの使用が考えられる。
【0082】
前述の記述は、本質的に例示にすぎず、本開示、その適用、または使用を限定することを意図されているものではない。本開示の広範な教示は、さまざまな形態で実施されることが可能である。そのため、本開示は特定の例を含むが、本開示の真の範囲は、そのように限定されるべきではない。なぜなら、図面、本明細書、および以下の特許請求の範囲を検討すれば、その他の修正が明らかになるからである。本開示の原理を変更することなく、方法内の1つまたは複数のステップを異なる順序で(または同時に)実行することが可能であるということを理解されたい。さらに、実施形態のうちのそれぞれは、特定の特徴を有するものとして上述されているが、本開示のいずれかの実施形態に関して記述されているそれらの特徴のいずれか1つまたは複数は、その他の実施形態のうちのいずれかの特徴において実施されること、および/またはそれらの特徴と組み合わされることが、たとえその組合せが明示的に記述されていなくても、可能である。言い換えれば、記述されている複数の実施形態は、相互に排他的ではなく、1つまたは複数の実施形態の互いとの置換は、本開示の範囲内である。
【0083】
複数の要素の間における(たとえば、複数のモジュール、複数の回路要素、複数の半導体層などの間における)空間上のおよび機能上の関係は、「接続されている」、「係合されている」、「結合されている」、「隣接している」、「隣にある」、「の上にある」、「上方にある」、「下にある」、および「配置されている」を含むさまざまな用語を使用して記述されている。「直接的」であると明示的に記述されていない限り、第1の要素と第2の要素との間における関係が、上記の開示において記述されている場合には、その関係は、第1の要素と第2の要素との間にその他の介在要素が存在していない直接的な関係であることが可能であるが、第1の要素と第2の要素との間に1つまたは複数の介在要素が(空間上または機能上のいずれかで)存在している間接的な関係であることも可能である。本明細書において使用される際には、「A、B、およびCのうちの少なくとも1つ」というフレーズは、非排他的論理和を使用した論理(AまたはBまたはC)を意味すると解釈されるべきであり、「Aの少なくとも1つ、Bの少なくとも1つ、およびCの少なくとも1つ」を意味すると解釈されるべきではない。
【0084】
図において、矢印の方向(矢先によって示されている)は、一般には、図示にとっての対象である情報(データまたは命令など)の流れを示す。たとえば、要素Aと要素Bがさまざまな情報をやり取りするが、要素Aから要素Bへ伝送される情報が図示にとって関連がある場合には、矢印は、要素Aから要素Bを指すことが可能である。この一方向の矢印は、その他の情報は要素Bから要素Aへ伝送されないということを意味するものではない。さらに、要素Aから要素Bへ送信される情報に関しては、要素Bは、その情報を求める要求またはその情報の受信確認を要素Aへ送信することが可能である。
【0085】
本出願においては、下記の定義を含めて、「モジュール」という用語または「コントローラ」という用語は、「回路」という用語と置き換えられることが可能である。「モジュール」という用語は、特定用途向け集積回路(ASIC)、デジタル、アナログ、もしくはアナログ/デジタル混合ディスクリート回路、デジタル、アナログ、もしくはアナログ/デジタル混合集積回路、組合せ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードを実行するプロセッサ回路(共有、専用、もしくはグループ)、プロセッサ回路によって実行されるコードを格納するメモリ回路(共有、専用、もしくはグループ)、記述されている機能性を提供するその他の適切なハードウェアコンポーネント、または、システムオンチップにおいてなど、上記のうちのいくつかもしくはすべての組合せを指すこと、それらの一部であること、またはそれらを含むことが可能である。
【0086】
モジュールは、1つまたは複数のインターフェース回路を含むことが可能である。いくつかの例においては、インターフェース回路は、ローカルエリアネットワーク(LAN)、インターネット、ワイドエリアネットワーク(WAN)、またはそれらの組合せに接続されている有線またはワイヤレスインターフェースを含むことが可能である。本開示の任意の所与のモジュールの機能性は、インターフェース回路を介して接続されている複数のモジュールの間において分散されることが可能である。たとえば、複数のモジュールは、負荷バランシングを可能にすることができる。さらなる例においては、サーバ(リモートまたはクラウドとしても知られている)モジュールが、クライアントモジュールに代わっていくつかの機能性を達成することが可能である。
【0087】
上で使用されているコードという用語は、ソフトウェア、ファームウェア、および/またはマイクロコードを含むことが可能であり、プログラム、ルーチン、関数、クラス、データ構造、および/またはオブジェクトを指すことが可能である。共有プロセッサ回路という用語は、複数のモジュールからのいくつかのまたはすべてのコードを実行する単一のプロセッサ回路を包含する。グループプロセッサ回路という用語は、さらなるプロセッサ回路と組み合わせて、1つまたは複数のモジュールからのいくつかのまたはすべてのコードを実行するプロセッサ回路を包含する。複数のプロセッサ回路への言及は、個別のダイ上の複数のプロセッサ回路、単一のダイ上の複数のプロセッサ回路、単一のプロセッサ回路の複数のコア、単一のプロセッサ回路の複数のスレッド、または上記の組合せを包含する。共有メモリ回路という用語は、複数のモジュールからのいくつかのまたはすべてのコードを格納する単一のメモリ回路を包含する。グループメモリ回路という用語は、さらなるメモリと組み合わせて、1つまたは複数のモジュールからのいくつかのまたはすべてのコードを格納するメモリ回路を包含する。
【0088】
メモリ回路という用語は、コンピュータ可読メディアという用語のサブセットである。コンピュータ可読メディアという用語は、本明細書において使用される際には、(搬送波上でなど)メディアを通じて伝搬する一時的な電気または電磁信号を包含せず、そのため、コンピュータ可読メディアという用語は、有形で非一時的であるとみなされることが可能である。非一時的な有形のコンピュータ可読メディアの非限定的な例は、不揮発性メモリ回路(フラッシュメモリ回路、消去可能プログラマブル読み取り専用メモリ回路、またはマスク読み取り専用メモリ回路など)、揮発性メモリ回路(スタティックランダムアクセスメモリ回路またはダイナミックランダムアクセスメモリ回路など)、磁気ストレージメディア(アナログもしくはデジタルの磁気テープまたはハードディスクドライブなど)、および光ストレージメディア(CD、DVD、またはブルーレイディスクなど)である。
【0089】
本出願において記述されている装置および方法は、コンピュータプログラムにおいて具体化される1つまたは複数の特定の機能を実行するように汎用コンピュータを構成することによって作成された専用コンピュータによって部分的にまたは完全に実装されることが可能である。上述されている機能ブロック、フローチャートコンポーネント、およびその他の要素は、ソフトウェア仕様としての役割を果たし、それらのソフトウェア仕様は、熟練した技術者またはプログラマーのルーチンワークによってコンピュータプログラムへと変換されることが可能である。
【0090】
コンピュータプログラムは、少なくとも1つの非一時的な有形のコンピュータ可読メディア上に格納されているプロセッサ実行可能命令を含む。コンピュータプログラムは、格納されているデータを含むかまたはそれらのデータに依存する場合もある。コンピュータプログラムは、専用コンピュータのハードウェアと対話する基本入出力システム(BIOS)、専用コンピュータの特定のデバイスと対話するデバイスドライバ、1つまたは複数のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを包含することが可能である。
【0091】
コンピュータプログラムは、(i)HTML(hypertext markup language)、XML(extensible markup language)、またはJSON(JavaScript Object Notation)など、解析されることになる説明テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されたオブジェクトコード、(iv)インタープリタによる実行のためのソースコード、(v)ジャストインタイムコンパイラによるコンパイルおよび実行のためのソースコードなどを含むことが可能である。単に例として、ソースコードは、C、C++、C♯、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(Hypertext Markup Language 5th revision)、Ada、ASP(Active Server Pages)、PHP(PHP:Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB(登録商標)、SIMULINK(登録商標)、およびPython(登録商標)を含む言語からのシンタックスを使用して書かれることが可能である。
【国際調査報告】