(57)【要約】  今日、人工ニューラルネットワークは、手動でタグ付けされた画像の大きいセットでトレーニングされる。一般に、より良好なトレーニングのために、トレーニングデータはできるだけ大きくなければならない。残念なことに、画像に手動でタグ付けすることは時間がかかりかつエラーに影響されやすく、人工ニューラルネットワークをトレーニングするために用いるタグ付けされたデータの大きなセットを作成することを困難にしている。この問題に対処するために、発明者は特徴抽出ユニットおよび高速学習分類器を使用して自動的にタグおよびタグ画像を学習するスマートタグ付けユーティリティを開発し、データの大きいセットにタグ付けする時間を減らした。特徴抽出ユニットおよび高速学習分類器は、画像から抽出される特徴とラベルを関連付けて、同じラベルによって画像からの類似の特徴または他の画像にタグ付けする人工ニューラルネットワークとして実装することができる。さらに、スマートタグ付けシステムは、ユーザ調整からその提案されたタグ付けまで学習することができる。これにより、タグ付け時間とエラーが減少する。【選択図】図１Ｂ
2020511723.tif 000002
【特許請求の範囲】
【請求項１】
画像のシーケンスにタグ付けする方法であって、
ユーザによって、画像のシーケンスの第一の画像のオブジェクトの表現の第一のインスタンスにタグ付けするステップと、
少なくとも一つのプロセッサによって、前記第一の画像の前記ユーザによってタグ付けされた前記オブジェクトの前記表現を学習するステップと、
前記少なくとも一つのプロセッサによって、画像の前記シーケンスの前記オブジェクトの前記表現の第二のインスタンスにタグ付けするステップと、
前記ユーザによって、前記少なくとも一つのプロセッサによって作成される前記オブジェクトの前記表現の前記第二のインスタンスのタグおよび／または位置の調整を実行するステップと、
前記少なくとも一つのプロセッサによって、前記調整に基づいて、画像の前記シーケンスの前記オブジェクトの前記表現の第三のインスタンスにタグ付けするステップと
を含む方法。
【請求項２】
前記オブジェクトの前記表現の前記第二のインスタンスが画像の前記シーケンスの前記第一の画像にある、請求項１に記載の方法。
【請求項３】
前記オブジェクトの前記表現の前記第二のインスタンスが画像の前記シーケンスの別の画像にある、請求項１に記載の方法。
【請求項４】
前記ユーザによって、前記少なくとも一つのプロセッサによって作成される前記オブジェクトの前記表現の前記第三のインスタンスのタグおよび／または位置の調整を実行するステップと、
前記少なくとも一つのプロセッサによって、前記オブジェクトの前記表現の前記第三のインスタンスのタグおよび／または位置の前記調整に基づいて、画像の前記シーケンスの前記オブジェクトの前記表現の第四のインスタンスにタグ付けするステップと
をさらに含む請求項１に記載の方法。
【請求項５】
前記少なくとも一つのプロセッサ上で実行される高速学習分類器を介して、前記第一の画像の前記ユーザによってタグ付けされた前記オブジェクトの前記表現を分類するステップをさらに含む請求項１に記載の方法。
【請求項６】
前記オブジェクトの前記表現の前記第三のインスタンスにタグ付けするステップが、
動作可能に前記高速学習分類器に連結されたニューラルネットワークによって、前記オブジェクトの前記表現の前記第三のインスタンスの特徴を表す畳み込み出力を抽出するステップと、
前記高速学習分類器によって、前記畳み込み出力に基づいて前記オブジェクトの前記表現の前記第三のインスタンスを分類するステップと
を含む、請求項５に記載の方法。
【請求項７】
前記オブジェクトの前記表現の前記第二のインスタンスにタグ付けするステップが、
前記少なくとも一つのプロセッサ上で実行されるニューラルネットワークによって、前記オブジェクトの前記表現の前記第二のインスタンスの特徴を表す畳み込み出力を抽出するステップと、
動作可能に前記ニューラルネットワークに連結された分類器によって、前記畳み込み出力に基づいて前記オブジェクトの前記表現の前記第二のインスタンスを分類するステップと
を含む、請求項１に記載の方法。
【請求項８】
画像のシーケンスにタグ付けするシステムであって、
ユーザが画像の前記シーケンスの第一の画像のオブジェクトの表現の第一のインスタンスにタグ付けすることを可能にする、ユーザインターフェースと、
前記第一の画像の前記ユーザによってタグ付けされる前記オブジェクトの前記表現を学習して、画像の前記シーケンスの前記オブジェクトの前記表現の第二のインスタンスにタグ付けする、動作可能に前記ユーザインターフェースに連結された少なくとも一つのプロセッサと
を含み、
前記ユーザインターフェースは、前記ユーザが前記少なくとも一つのプロセッサによって作成される前記オブジェクトの前記表現の前記第二のインスタンスのタグおよび／または位置の調整を実行することを可能にし、前記少なくとも一つのプロセッサは、前記調整に基づいて画像の前記シーケンスの前記オブジェクトの前記表現の第三のインスタンスにタグ付けするように構成される、システム。
【請求項９】
ユーザインターフェースは、前記ユーザが前記少なくとも一つのプロセッサによって作成される前記オブジェクトの前記表現の前記第三のインスタンスのタグおよび／または位置の調整を前記ユーザによって実行することを可能にし、前記少なくとも一つのプロセッサは、前記オブジェクトの前記表現の前記第三のインスタンスの前記タグおよび／または位置の前記調整に基づいて、画像の前記シーケンスの前記オブジェクトの前記表現の第四のインスタンスにタグ付けするように構成される、請求項８に記載のシステム。
【請求項１０】
前記オブジェクトの前記表現の前記第二のインスタンスが画像の前記シーケンスの前記第一の画像にある、請求項８に記載のシステム。
【請求項１１】
前記オブジェクトの前記表現の前記第二のインスタンスが画像の前記シーケンスの第二の画像にある、請求項８に記載のシステム。
【請求項１２】
前記プロセッサが、高速学習分類器を実装して、前記第一の画像の前記ユーザによってタグ付けされる前記オブジェクトの前記表現を分類するように構成される、請求項８に記載のシステム。
【請求項１３】
前記プロセッサが、ニューラルネットワークを実装して、前記オブジェクトの前記表現の前記第二のインスタンスおよび前記オブジェクトの前記表現の前記第三のインスタンスのうち少なくとも一つに対応する特徴を表す少なくとも一つの畳み込み出力を抽出するようにさらに構成され、
前記分類器が、少なくとも一つの畳み込み出力に基づいて前記オブジェクトの前記表現の前記第二のインスタンスおよび前記前記オブジェクトの前記表現の前記第三のインスタンスのうち少なくとも一つを分類するように構成される、請求項１２に記載のシステム。
【請求項１４】
データストリームのオブジェクトにタグ付けする方法であって、
少なくとも一つのプロセッサ上で実行されるニューラルネットワークによって、データストリームからの第一の畳み込み出力を抽出するステップであって、前記データストリームはオブジェクトの第一のクラスの少なくとも二つの表現を含み、前記第一の畳み込み出力はオブジェクトの前記第一のカテゴリの第一の表現の特徴を表す、抽出するステップと、
前記ニューラルネットワークに動作可能に連結された分類器によって、前記第一の表現を前記第一の畳み込み出力に基づいてオブジェクトの前記第一のカテゴリに分類するステップと、
前記分類器に動作可能に結合されたユーザインターフェースを介して、前記第一のカテゴリに基づいて前記第一の表現のためのタグおよび／または位置を表示するステップと、
前記ユーザインターフェースを介してユーザによって、前記第一の表現のための前記タグおよび／または前記位置の調整を実行するステップと、
前記分類器によって、前記調整に基づいて前記オブジェクトの前記少なくとも一つの表現の前記タグおよび／または前記位置を学習するステップと
を含む方法。
【請求項１５】
前記タグが第一のタグであり、前記位置が第一の位置であり、
前記ニューラルネットワークによって、第二の畳み込み出力を前記データストリームから抽出するステップであって、前記第二の畳み込み出力はオブジェクトの前記第一のカテゴリの第二の表現の特徴を表す、抽出するステップと、
前記分類器によって、前記第二の畳み込み出力ならびに前記第一の表現のための前記タグおよび／または前記位置の前記調整に基づいて前記第二の表現を前記第一のカテゴリに分類するステップと、
前記ユーザインターフェースを介して、前記第一のカテゴリに基づいて第二のタグおよび／または第二の位置を表示するステップと
をさらに含む請求項１４に記載の方法。
【請求項１６】
前記分類器によって、前記第一の表現の前記タグおよび／または位置が正しいという信頼値を決定するステップと、
前記信頼値を前記ユーザに表示するステップと
をさらに含む請求項１４に記載の方法。
【請求項１７】
前記オブジェクトが第一のオブジェクトであり、前記タグが第一のタグであり、
前記分類器によって、オブジェクトの第二のカテゴリのための第二のタグを学習するステップであって、前記データストリームがオブジェクトの前記第二のカテゴリの少なくとも一つの表現を含む、学習するステップをさらに含む請求項１４に記載の方法。
【請求項１８】
前記ニューラルネットワークによって、後続のデータストリームから後続の畳み込み出力を抽出するステップであって、前記後続のデータストリームはオブジェクトの前記第二のカテゴリの少なくとも一つの他の表現を含み、前記後続の畳み込み出力はオブジェクトの前記第二のカテゴリの前記少なくとも一つの他の表現の特徴を表す、抽出するステップと、
前記分類器によって、前記後続の畳み込み出力および前記第二のタグに基づいてオブジェクトの前記第二のカテゴリの前記少なくとも一つの他の表現を前記第二のカテゴリに分類するステップと、
前記ユーザインターフェースを介して、前記第二のタグを表示するステップと
をさらに含む、請求項１７に記載の方法。
【請求項１９】
前記第一の畳み込み出力を抽出するステップが、
前記データストリームの第一の画像の複数の分割されたサブエリアを生成するステップと、
前記ニューラルネットワークによって、前記複数の分割されたサブエリアのそれぞれをコード化するステップと
を含む、請求項１８に記載の方法。
【請求項２０】
少なくとも一つのプロセッサであって、
第一の畳み込み出力をデータストリームから抽出するニューラルネットワークであって、前記データストリームはオブジェクトの第一のカテゴリの少なくとも二つの表現を含み、前記第一の畳み込み出力はオブジェクトの前記第一のカテゴリの第一の表現の特徴を表す、ニューラルネットワークと、
前記第一の畳み込み出力に基づいて前記第一の表現を前記第一のカテゴリに分類し、ユーザによる調整に基づいて前記オブジェクトの前記第一の表現のタグおよび／または位置を学習する高速学習モジュールと、を実装するように構成される、少なくとも一つのプロセッサと、
前記第一の表現のための前記タグおよび／または前記位置を表示して、前記ユーザが前記第一の表現の前記タグおよび／または前記位置の前記調整を実行することを可能にする、動作可能に前記少なくとも一つのプロセッサに結合されたユーザインターフェースと
を含むシステム。
【請求項２１】
前記タグが第一のタグであり、
前記位置が第一の位置であり、
前記ニューラルネットワークが第二の畳み込み出力を前記データストリームから抽出するように構成され、前記第二の畳み込み出力はオブジェクトの前記第一のカテゴリの第二の表現の特徴を表し、
前記高速学習モジュールが、前記第二の畳み込み出力および前記オブジェクトの前記少なくとも一つの表現の前記第一のインスタンスのための前記第一のタグおよび／または前記第一の位置の前記調整に基づいて、前記第二の表現を前記第一のカテゴリに分類するように構成され、
前記ユーザインターフェースが前記第一のカテゴリに基づいて第二のタグおよび第二の位置を表示するようにさらに構成される、請求項２０に記載のシステム。
【請求項２２】
前記高速学習モジュールは前記第一のタグおよび／または前記第一の位置が正しいという信頼値を決定するように構成され、
前記ユーザインターフェースが前記ユーザに前記信頼値を表示するようにさらに構成される、請求項２０に記載のシステム。
【請求項２３】
前記タグが第一のタグであり、前記高速学習モジュールがオブジェクトの第二のカテゴリのための第二のタグを学習するようにさらに構成され、前記データストリームがオブジェクトの前記第二のカテゴリの少なくとも一つの表現を含む、請求項２０に記載のシステム。
【請求項２４】
前記ニューラルネットワークが後続のデータストリームから後続の畳み込み出力を抽出するようにさらに構成され、前記後続のデータストリームはオブジェクトの前記第二のカテゴリの少なくとも一つの他の表現を含み、前記後続の畳み込み出力はオブジェクトの前記第二のカテゴリの前記少なくとも一つの他の表現の特徴を表し、
前記高速学習モジュールが、前記後続の畳み込み出力および前記第二のタグに基づいてオブジェクトの前記第二のカテゴリの前記少なくとも一つの他の表現を前記第二のカテゴリに分類するようにさらに構成され、
前記ユーザインターフェースが前記第二のタグを表示するようにさらに構成される、請求項２３に記載のシステム。
【請求項２５】
前記ニューラルネットワークが、
前記データストリームの第一の画像の複数の分割されたサブエリアを生成し、
前記複数の分割されたサブエリアのそれぞれをコード化するようにさらに構成される、請求項２０に記載のシステム。
【請求項２６】
オブジェクトの複数のインスタンスにタグ付けする方法であって、
特徴抽出モジュールによって、前記複数のインスタンスの前記オブジェクトの第一のインスタンスを表す第一の特徴ベクトルを抽出するステップと、
ユーザインターフェースを介して、第一のラベルによって前記オブジェクトの前記第一のインスタンスにタグ付けするステップと、
分類器モジュールによって、前記第一の特徴ベクトルを前記第一のラベルと関連付けるステップと、
前記特徴抽出モジュールによって、前記複数のインスタンスの前記オブジェクトの第二のインスタンスを表す第二の特徴ベクトルを抽出するステップと、
前記分類器モジュールによって、前記第一の特徴ベクトルと前記第二の特徴ベクトルの間の距離を計算するステップと、
前記分類器モジュールによって、定義済み閾値との差の比較を実行するステップと、
前記分類器モジュールによって、前記比較に基づいて前記オブジェクトの前記第二のインスタンスを分類するステップと
を含む方法。
【請求項２７】
前記比較に基づいて前記第一のラベルによって前記オブジェクトの前記第二のインスタンスにタグ付けするステップをさらに含む請求項２６に記載の方法。
【請求項２８】
前記比較に基づいて前記分類の信頼度を決定するステップをさらに含む請求項２６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願に対する相互参照
本出願は、米国特許出願第６２／４７２，９２５号（２０１７年３月１７日出願）の米国特許法１１９条（ｅ）の優先権利益を主張し、その米国特許出願の内容は本明細書の一部をなすものとする。
【背景技術】
【０００２】
入力層と出力層との間に配置されるニューロンの多くの層を含む畳み込みニューラルネットワーク（ＣＮＮ, Convolutional Neural Network）を含む従来の深層ニューラルネットワーク（ＤＮＮ, Deep Neural Network）は、特定のデータセットに対してトレーニングのために数千回または数百万回の繰り返しサイクルを必要とする。このトレーニングが起こる前に、データセット内のすべての画像を人間のユーザによってタグ付けしなければならない。タグ付けのプロセスには、個々のオブジェクトの分類および検出／セグメンテーションのための特定のオブジェクトとして、各画像の個々の領域の分類またはラベル付けのために画像全体のラベル付けをすることが必要な場合がある。
【０００３】
従来の画像タグ付けは、遅くて時間のかかるプロセスである。人間は、コンピュータ、タブレットまたはスマートフォン上の画像を見て、画像の一つ以上のオブジェクトを識別し、それらのオブジェクトに説明的なタグ（例えば、「木」、「住宅」または「車」）でタグ付けする。関心オブジェクトに手動でタグ付けする際の主要な難しさには、速度の遅さならびに注意散漫および疲労によって生じるヒューマンエラーの影響を受けやすいことが含まれる。これらの問題によって、二種類の課題が生じ、それは、トレーニングのためのデータ準備に学術的な設定以外の場合ではどこでも容認できないほど長い時間がかかり得るということ、そして、不適切にタグ付けされたデータが、ＤＮＮが許容可能なパフォーマンス基準に達することができないほどタグ付けの品質は後続の学習の品質に直接影響を及ぼすということである。
【発明の概要】
【０００４】
本発明の技術の実施形態は、画像のシーケンスをタグ付けするための方法およびシステムを含む。例示的な方法は、ユーザインターフェースを介してユーザによって、画像のシーケンスの第一の画像でのオブジェクトの表現の第一のインスタンスをタグ付けすることを含む。少なくとも一つのプロセッサは、第一の画像においてユーザによってタグ付けされるオブジェクトの表現を学習して、画像のシーケンスのオブジェクトの表現の第二のインスタンスにタグ付けする。ユーザは、プロセッサによって作成されたオブジェクトの表現の第二のインスタンスのタグおよび／または位置の調整を実行する。そしてプロセッサは、調整に基づいて、画像のシーケンスのオブジェクトの表現の第三のインスタンスにタグ付けする。
【０００５】
オブジェクトの表現の第二のインスタンスは、画像のシーケンスの第一の画像の中かまたは画像のシーケンスの別の画像の中にあり得る。
【０００６】
いくつかの場合、ユーザは、プロセッサによって作成されるオブジェクトの表現の第三のインスタンスのタグおよび／または位置の調整を実行してもよく、またプロセッサは、オブジェクトの表現の第三のインスタンスのタグおよび／または位置の調整に基づいて、画像のシーケンスの、オブジェクトの表現の第四のインスタンスにタグを付ける。
【０００７】
この方法の例は、プロセッサ上で実行される高速学習分類器を介して分類することも含むことができ、オブジェクトの表現は、第一の画像でユーザによってタグ付けされたオブジェクトの表現である。この場合、オブジェクトの表現の第三のインスタンスのタグ付けは、高速学習分類器に動作可能に連結されたニューラルネットワークを用いて、オブジェクトの表現の第三のインスタンスの特徴を表す畳み込み出力を抽出することを含み得る。高速学習分類器は、畳み込み出力に基づいてオブジェクトの表現の第三のインスタンスを分類する。
【０００８】
この方法の例は、プロセッサ上で実行されるニューラルネットワークを用いてオブジェクトの表現の第二のインスタンスの特徴を表す畳み込み出力を抽出することによって表現の第二のインスタンスにタグ付けすること、および、動作可能にニューラルネットワークに連結された分類器を用いて畳み込み出力に基づいてオブジェクトの表現の第二のインスタンスを分類することも含み得る。
【０００９】
画像のシーケンスをタグ付けするためのシステムは、ユーザインターフェースと、ユーザインターフェースに動作可能に連結された少なくとも一つのプロセッサとを含み得る。動作中、ユーザインターフェースは、ユーザが画像のシーケンスの第一の画像内のオブジェクトの表現の第一のインスタンスにタグ付けすることを可能にする。また、プロセッサは、第一の画像のユーザによってタグ付けされたオブジェクトの表現を学習し、画像のシーケンスのオブジェクトの表現の第二のインスタンスにタグを付ける。ユーザインターフェースは、ユーザが少なくとも一つのプロセッサによって作成されたオブジェクトの表現の第二のインスタンスのタグおよび／または位置の調整を実行することを可能にし、プロセッサは調整に基づいて画像のシーケンスのオブジェクトの表現の第三のインスタンスにタグ付けする。
【００１０】
本技術の他の実施形態には、データストリーム内のオブジェクトにタグ付けするための方法およびシステムが含まれる。例示的なシステムは、ニューラルネットワークと高速学習モジュールとを実装するよう構成された少なくとも一つのプロセッサ、およびプロセッサに動作可能に連結されたユーザインターフェースを含む。動作中、ニューラルネットワークは、オブジェクトの第一のカテゴリの少なくとも二つの表現を含むデータストリームから、第一の畳み込み出力を抽出する。この第一の畳み込み出力は、オブジェクトの第一のカテゴリの第一の表現の特徴を表す。高速学習モジュールは、第一の畳み込み出力に基づいて第一の表現を第一のカテゴリに分類し、ユーザによる調整に基づいて、タグおよび／またはオブジェクトの第一の表現の位置を学習する。また、ユーザインターフェースは、第一の表現のためのタグおよび／または位置を表示し、ユーザが第一の表現のタグおよび／または位置の調整を実行できるようにする。
【００１１】
いくつかの場合では、タグは第一のタグであり、位置は第一の位置である。これらの場合、ニューラルネットワークは、データストリームから第二の畳み込み出力を抽出してもよい。この第二の畳み込み出力は、オブジェクトの第一のカテゴリの第二の表現の特徴を表す。そして、これらの場合、分類器は、第二の畳み込み出力および第一の表現のためのタグおよび／または位置の調整に基づいて、第二の表現を第一のカテゴリに分類する。ユーザインターフェースは、第一のカテゴリに基づいて、第二のタグおよび／または第二の位置を表示してもよい。
【００１２】
必要に応じて、分類器は、第一の表現のタグおよび／または位置が正しいという信頼値を決定することができる。ユーザインターフェースは、ユーザに信頼値を表示してもよい。
【００１３】
オブジェクトが第一のオブジェクトであり、タグが第一のタグである場合、分類器は、データストリーム内で表されるオブジェクトの第二のカテゴリのための第二のタグを学習できる。これらの場合、ニューラルネットワークは、オブジェクトの第二のカテゴリの少なくとも一つの他の表現を含む後続データストリームから後続の畳み込み出力を抽出することができる。この後続の畳み込み出力は、オブジェクトの第二のカテゴリの他の表現の特徴を表す。分類器は、後続の畳み込み出力および第二のタグに基づいて、オブジェクトの第二のカテゴリの他の表現を第二のカテゴリに分類する。また、ユーザインターフェースは第二のタグを表示する。これらの場合、ニューラルネットワークは、データストリーム内の第一の画像の複数の分割されたサブエリアを生成し、複数の分割されたサブエリアの各々をコード化することによって、第一の畳み込み出力を抽出し得る。
【００１４】
本技術のさらに別の実施形態は、オブジェクトの複数のインスタンスにタグ付けする方法を含む。この方法の例は、特徴抽出モジュールを使用して複数のインスタンスのオブジェクトの第一のインスタンスを表す第一の特徴ベクトルを抽出することを含む。ユーザは、ユーザインターフェースを介してオブジェクトの第一のインスタンスに第一のラベルをタグ付けする。分類器モジュールは、第一の特徴ベクトルを第一のラベルと関連付ける。特徴抽出モジュールは、複数のインスタンスのオブジェクトの第二のインスタンスを表す第二の特徴ベクトルを抽出する。分類器モジュールは、第一の特徴ベクトルと第二の特徴ベクトルとの間の距離を計算し、所定の閾値との差の比較を実行して、比較に基づいてオブジェクトの第二のインスタンスを分類する。必要に応じて、オブジェクトの第二のインスタンスは、比較に基づいて第一のラベルでタグ付けされてもよい。そして、分類器モジュールは、比較に基づいて分類の信頼度を判定してもよい。
【００１５】
当然のことながら、前述の概念および以下でより詳細に論じる追加的概念のすべての組み合わせは（このような概念は相互に矛盾していないという前提で）、本明細書に開示される本発明の主題の一部であると考えられる。特に、本開示の最後に現れる請求項に記載された主題のすべての組み合わせは、本明細書に開示される発明主題の一部であると考えられる。また当然のことながら、参照により組み込まれるあらゆる開示において明示的に用いられる用語は、本明細書に開示される特定の概念と最も一致する意味を与える必要がある。
【図面の簡単な説明】
【００１６】
当業者であれば、図面が主として例示的な目的であること、そして本明細書に記載される本発明の主題の範囲を制限することを意図していないことを理解する。図面は必ずしも一定の比率ではなく、一部の例では、本明細書に開示される本発明の主題の様々な態様は、異なる特徴の理解を容易にするために図面内で誇張または拡大され得る。図面では、同様の参照文字は一般的に、同様の特徴（例えば、機能的に類似した、および／または構造的に類似した要素）を意味する。
【００１７】
【図１Ａ】図１Ａは、プロセッサ実装された畳み込みニューラルネットワークと高速学習分類器によるデータストリームのタグ付けおよびラベル付けに関するオンラインのインクリメンタルリアルタイム学習のプロセスを示す。
【００１８】
【図１Ｂ】図１Ｂは、本発明のスマートタグ付けシステムを用いて、一つ以上の画像（例えば、データベース内のビデオまたは画像のフレーム）におけるオブジェクトにタグ付けする動作ワークフローを示す。
【００１９】
【図２】図２Ａ〜２Ｄは、ユーザの視点からの発明のスマートタグ付けシステムの動作ワークフローを示す。
【００２０】
【図３】図３は、ユーザタグが第一のオブジェクトの第一のインスタンスにタグ付けした後の例示的実装のスクリーンショットを示す。
【００２１】
【図４】図４は、システムが前のステップから学習をして第一のオブジェクトの第二のインスタンスをタグ付けするためのユーザへの示唆を行った後の、例示的実装のスクリーンショットを示す。
【００２２】
【図５】図５は、ユーザがシステムによって作成された提案を修正した後の、例示的実装のスクリーンショットを示す。
【００２３】
【図６】図６は、ビデオまたは他の画像データの同じフレームまたは異なるフレーム内のユーザ選択オブジェクトに類似したオブジェクトに自動的にタグ付けすることができるスマートタグ付けユーティリティの実装の模式的な概略である。
【発明を実施するための形態】
【００２４】
深層ニューラルネットワークおよび畳み込みニューラルネットワークを含むバックプレーシングベースのニューラルネットワークの能力は、これらのアーキテクチャの性能を高めて検証する大量のトレーニングおよびテストデータの利用可能性に依存する。しかし、大量のラベル付けされたかまたはタグ付けされたデータを作成するのは、手動で、煩雑かつ高コストのプロセスである。
【００２５】
本出願は、データストリーム（例えば、赤／緑／青（ＲＧＢ）画像、ポイントクラウドデータ、ＩＲ画像、ハイパースペクトル画像またはこれらもしくは他のデータの組合せ）において識別されて、位置検出されるべき関心オブジェクトに自動的にタグ付けするか、注釈を付けるかまたは、ラベルを付けることに関係する。これらのタグ付けされたデータストリームの一つの使用法は、適切なトレーニングのために何千もの画像を使用するバックプロパゲーションベースの深層ニューラルネットワークを含む管理されたニューラルネットワークのトレーニングおよびテスト中に利用される、トレーニングおよびグラウンドトゥルースデータを作成することである。「注釈付け」、「ラベル付け」、および「タグ付け」という用語は、本文書で互換的に使用される。「高速学習」という用語は、本出願いおいて、異なるバックプロパゲーションが、例えば単一の例から、前に提示されたデータ（のすべて）について全体システムを再トレーニングすることを必要とせずに、インクリメンタルにアップデートされることができる方法を記載するために使用される。高速学習は「バッチ」トレーニングと対照的であり、オブジェクトの単一の新しいインスタンスを学習するためにさえデータの大きなコーパスの反復表現を含む。
【００２６】
本明細書に記述した技術は、自動化されたリアルタイムの高速学習ステップを導入することによって、手動でデータにラベル付けする正確性を加速および改善する。この高速学習は、タグ付けされた項目の第一のインスタンスと同じ画像、後続の画像、またはその両方において、タグ付けされた項目の後続の出現のための候補タグを提案する。逆に、データをタグ付けする現在の技術は、各フレーム（例えば、ビデオストリームのフレーム）の関心のオブジェクトのそれぞれにラベル付けしている人間に依存する。
【００２７】
本発明の方法は、ユーザに対するインタラクティブな支援を導入する。このインタラクティブな支援は、スマートタグ付けシステムまたはユーティリティとも呼ばれるニューラルネットワークベースの自動アシスタントの形態であり、データのラベル付けにおける人間のプロセス中に新たなタグを高速に学習する能力がある。自動のアシスタントは、新しいデータのためのラベル付けまたはラベルの示唆を行い、その示唆されたラベルに対するユーザから修正を受け、ユーザが自動のアシスタントによってなされるあり得る誤りを修正し続ける際に、反復的に自動ラベル付けの質を精緻化する。これにより、システムがそれ自体上のより多くの作業を行い、それが学習したことをユーザから遠ざけるとともに、ユーザが関心対象の新しいオブジェクトに集中し、自動タグの検証を行うことができるという利点がある。結果として、タグ付けプロセスは、より多くの画像が処理されるにつれてより高速となる。我々の研究は、単純な人間のタグ付け者に対して最大４０％のタグ付け速度の改善を示しており、言い換えれば、発明のスマートタグ付けユーティリティでの支援は、これまで画像にタグ付けしたことのない者の手動タグ付けの４０％である。
【００２８】
図１Ａは、このタグ付けプロセス１０の実施例を示す。
１．ユーザは、フレーム１のオブジェクトの第一のインスタンスにタグ付けする（例えば、図１Ａの１２で）。例えば、ユーザは、境界ポリゴンを描画することができ、フレーム１上のオブジェクト、例えば、木にタグ付けすることができる。
２．スマートタグ付けユーティリティの一つ以上のプロセッサ上で実行される分類器は、タグ付けされたオブジェクトを表す特徴をユーザによって定義されたタグと関連付けることによって、（例えば、図１Ａの１４で）オブジェクトの第一のインスタンスを学習する。ステップ１（木のタグ付け）の例では、分類器はタグ付け直後に木を学習する。
３．プロセッサは、（例えば、図１Ａの１６で）オブジェクトの後続のインスタンスにタグ付けすることができる。例えば、プロセッサによって実行される畳み込みニューラルネットワークは、（例えば、図１Ａの１８で）フレームからの特徴を抽出することができる。分類器は、（例えば、図１Ａの２０で）抽出された特徴をユーザ定義タグと関連付けられた抽出された特徴に対するそれらの類似性に基づいて分類する。例えば、プロセッサは、フレーム１の他の木にタグ付けすることができる。異なる場合、ニューラルネットワークはフレーム１から他の木の特徴を抽出し、分類器はそれらを適切に分類する。各木は、境界ポリゴンに関連付けられた信頼値を有し、いくつかの視覚的表示（例えば、境界ポリゴンの色、点線または破線の境界ポリゴン輪郭など）を介して、他の、手動でラベル付けされたオブジェクトと区別され得る。信頼値は、関心オブジェクトの分類またはトラッキングのためのいくつかの方法によって割り当てることができ、ここで、信頼度は、例えば、０と１の間のスカラーであり得て、そこで、１は関心オブジェクトが特定のクラスに属するという絶対信頼度を示す。特定のオブジェクトは、クラスの階層と関連付けられた確率の分布を有することができる。例えば、オブジェクトは、木として、またプラントとして同時に分類され得る。
４．必要に応じて、２２で、ユーザはラベルを調整するかまたはフレーム１の機械が生成する境界ポリゴンの位置または形状を編集し、分類器は高速学習を利用してその知識を更新して、ユーザによってまだ検証されていないフレーム１のオブジェクトの提案を更新する。これにより、必要に応じて、オブジェクトがフレーム１で充分にタグ付けされるまで、フレーム１のタグ付けされたオブジェクトを自動的にアップデートすることができる。
５．ユーザはフレーム２をロードする。
６．スマートタグ付けユーティリティは、フレーム１において学習されるオブジェクトがフレーム２に現れる場合、それらに自動的にタグ付けする。別の言い方をすれば、スマートタグ付けユーティリティは、フレーム１のタグのいずれかがフレーム２のオブジェクトにタグ付けする場合、ユーザの調整を考慮に入れて、オブジェクトを自動的にタグ付けする。
７．必要に応じて、ユーザは、フレーム１に存在しない新しいオブジェクトを追加するか、または次のフレームに進み、いずれの場合も、ステップ１〜７で説明したプロセスは、提供された画像の所望のオブジェクトがタグ付けされるまで、またはユーザがプロセスを終了するまで、繰り返す。
【００２９】
この方法は、矩形、ポリゴン、またはピクセルベースのタグ付けなど、いかなる関心領域にも適用することができる。ポリゴンであるかピクセルベースのタグ付けにおいて、オブジェクトの陰影は画像の領域よりはむしろ詳細に描写され、背景の領域がタグ付けされているオブジェクトに含まれることができる、矩形であるかポリゴンのタグに関して「ターゲットのピクセル」カウントを増加させる。
【００３０】
様々な技術を採用して高速学習アーキテクチャを導入することができ、その中には、例えば、
・別のニューラルネットワーク、サポートベクトル機械、または決定木などの、ＤＮＮが高速分類器への入力としての役割を果たす機能セットを提供する、高速分類器を有するＤＮＮの組合せと、
・画像のターゲットサブセット（例えば、キーポイントトラッカ）上で短時間に初期化できる特徴検出およびトラッキングプロセスと、
・上述した技術のいかなる組合せも含むことができるが、これに限定するものではない。
【００３１】
本発明の技術は、バックプロパゲーションベースのニューラルネットワーク、特にＤＮＮのトレーニングのためのデータセットの効率的かつコスト効果の高い準備を可能にし、さらに一般的に言えば、リアルタイムで自律走行車両、ドローンまたは他のロボットを制御するなどの目的のためのデータ解析を実行する、並列型、分散方程式系の学習を合理化する。
【００３２】
より具体的には、本発明の技術の実施例は、データストリーム（例えば、フレーム）またはフレームのシーケンスの特定のオブジェクトの各発生に手動でタグ付けするプロセス、および、データセット準備と関連した手作業および経費を減らすことによってオブジェクトを最適に選択するプロセスを、改善するかまたは置き換える。
【００３３】
［データストリームのタグ付けおよびラベル付けのためのインクリメンタルリアルタイム学習のプロセス］
図１Ｂは、発明のスマートタグ付けシステムの動作プロセスのフローチャートを示す。この例では、システムは画像に動作を行うが、それは異なったオブジェクトを有する人間が理解可能な２Ｄ表現またはタグ付けされるべき関心領域を備え得るいかなるデータにも同等によく動作を行うことができる。ユーザは、システムを開始し（１００）、画像のセットまたはビデオファイルをシステムへロードする。ビデオファイルの場合、追加の処理ステップは、ビデオをキーフレームのシーケンスに分解して、冗長な画像の数を減らす。この分解は、ビデオファイルにコード化されるキーフレーム情報を使用して自動的に行うか、ユーザによって手動で行うか、またはその両方で行うことができる。画像のシーケンスが準備できると、システムはタグ付けされていないフレームがあるかどうか調べ（１０５）、残ったものが無い場合、終了する（１１０）。タグ付けされるべきフレームがある場合、システムは第一のフレームをロードして（１１５）、このフレームで特徴抽出を実行する（１２０）。別の言い方をすれば、システムは第一のフレームをロードして、システムの一つ以上のプロセッサ上のニューラルネットワークは畳み込み出力を抽出して、第一のフレーム上の特徴を表す特徴ベクトルを作成する。特徴抽出の実施の詳細は、下記の対応するセクションに概説されている。
【００３４】
同時に、システムは、それがすでに知識を有するかどうかをチェックする（１２５）。この知識は、抽出された特徴ベクトルと対応するラベルとの間の以前に学習した関連性のセットを含み得る。以前に学習した知識が抽出された特徴ベクトルと対応するラベルとの間の関連性を含む場合、一つ以上のプロセッサ上で実行される分類器は、抽出された特徴ベクトルをそれぞれのラベルで分類する。抽出された特徴ベクトルを分類するために、システムは特徴マッチングを実施する。例えば、システムは、抽出された特徴ベクトルを、システムに既知の特徴（および特徴ベクトル）（例えば、以前に学習された知識）と比較する。比較は、抽出された特徴ベクトルとシステムにとって既知である特徴の間の特徴空間の距離を計測する距離メトリック（例えば、関連した特徴空間のユークリッドノルム）に基づいて実行される。次に、システムは差に基づいてオブジェクトを分類する。抽出された特徴とシステムの既存の知識の第一のオブジェクトのための特徴の間の差が閾値より小さい場合、システムは特徴を潜在的な第一のオブジェクトとして分類する。距離と閾値の間の実際の距離または差は、一致の品質を示す信頼値であり得るか、それを導き出すために用いることができる。
【００３５】
システムは、タグ付けセッションの後にこのような知識を保存することができ、この保存された知識は新しいセッションの開始時にユーザによってロードされ得る。これは、現在タグ付けされている画像のセットが、ユーザおよびシステムが以前タグ付けをした同じドメインから来る場合、特に有用であり得る。知識が事前ロードされていない場合、システムはフレームをユーザに表示し（１３０）、ユーザ入力を待つ（１３５）。システムに以前の知識がない第一のフレームの場合、ユーザは、ユーザインターフェースを介して第一の画像内のオブジェクトの一つ以上のインスタンスに手動でタグ付けする（１４０）。ユーザが画像内の第一のオブジェクトの第一のインスタンスにタグ付けすると、システムはタグ付けされたオブジェクトの機能および関連するラベルを学習する（１４５）。このステージに関係する高速学習分類器の詳細は、下記の対応するセクションに記載されている。
【００３６】
システムがフレーム内のタグ付けされたオブジェクトの特徴を学習した後、システムはフレームを処理して、それがフレーム内の同じオブジェクトの他のインスタンスを発見することができるかどうかをチェックする（１５０）。システムが以前のセッションから知識を事前ロードした場合、第一のフレームが同じプロセスを通してユーザに表示される前に、それが既知のオブジェクトを発見（１５０）しようとすることができることに留意されたい。システムが画像で発見したオブジェクトのインスタンスについて、システムは、アタッチされたラベルを有する境界ポリゴンを作成し（１５５）、境界ポリゴンを画像に重畳し（１６０）、重畳された境界ポリゴンおよびタグを有する画像をユーザに表示する（１３０）。いくつかの例では、システムが作成するタグにユーザが満足していない場合、ユーザはユーザインターフェースを介してタグを調整することができる。分類器は、調整されたタグを学習して、その知識を更新する。それから、内側のループ（１７０）は、ユーザがこのフレーム用のタグ付けに満足するまで、ユーザが新しいオブジェクトを追加して、システム予測を修正するのを継続する。ユーザが満足すると、システムはタグ付けすべきフレームがまだ存在するかどうかチェックし（１０５）、存在する場合は、システムは次のフレームをロードし（１１５）、特徴抽出を実行し（１２０）、内側のループ（１７０）に再び入る。この場合、システムは少なくとも一つ前のフレームからの事前知識を有するので、内側のループ（１７０）は、ワークフローの下側分岐を通して入ってきて、システムはユーザにフレームを表示（１３０）する前に予測（１５０、１５５、１６０）を行う、ということに留意する。
【００３７】
プロセス全体は、画像がタグ付けされるまで、またはユーザがワークフローを終了するまで続けられる。終了する前に、システムはこのセッションでユーザから取得した知識を保存することができるので、次のセッションでそれを再利用できる。
【００３８】
［ユーザの視点からの動作手順］
図２Ａ〜２Ｄは、ユーザの視点から図１Ｂの動作ワークフローを示す。システムは、図２Ａで示すように、いくつかの入力様式（例えば、マウス（２００）またはタッチスクリーン（２１０））をシステム操作の制御のため、そして、画像のタグ付けのためにユーザに提供することができる。タグ付けすべきフレームのシーケンスは、システムがインストールされるローカルコンピュータ上の画像で占められるディレクトリ、画像で占められる遠隔ディレクトリ、または画像のためのローカルであるか遠隔ファイル名を含んでいるプレーンテキストもしくはマークアップ文書のいずれかとして、あるいは一つ以上のビデオファイルとして、ユーザによってロードされる。後者の場合、ビデオは、システムによってキーフレームのシーケンスに分割される。いずれの場合でも、システムは、処理するフレームのシーケンス（２２０）が定義され、かつ最初のフレームがシステムにロードされると動作準備ができて、その結果ユーザが画面上の画像を見る。ユーザが希望する場合、ユーザは本明細書に記載されたシステムのトレーニングを受けたバージョンをロードし、タグ付けプロセスをさらに速くし、タスクの手動部分を減少させることさえできる。
【００３９】
図２Ｂにおいて、ユーザは、フレーム１の、例えば、矩形の境界ボックス（２３０）を有する木を選択する。あるいは、候補領域を選択する他の方法が可能であり、例えば、ユーザは図３〜５に示すようにポリゴンを描くことができる。システムは、境界ポリゴンの範囲内の特徴の組合せを学習し、特徴のその組合せをユーザにより提供されるラベル（例えば、「木」）と関連付ける。学習プロセスは、例示実装において１００ミリ秒以内に完了する高速学習手順である。プロセスが非常に高速であるので、システムはフレームの同じオブジェクトの他のまだタグ付けされていないインスタンスについてユーザに示唆を提供することが可能である。この例示実装ではこれらの示唆はまた計算に１００ミリ秒未満しかかからないので、ユーザにとって非常にシームレスに、ユーザが一つのオブジェクトにタグ付けし終わった直後に、システムは画像の同じオブジェクトの他のインスタンス（２４０）のためのタグ付けを提案する。
【００４０】
最初に、特に前にトレーニングを受けたシステムが事前ロードされていない場合、システムによって作成された示唆（２４０）は、ユーザの観点からはかなりかけ離れている場合がある。次に、ユーザは、完全に誤っている予測を拒否し、正しい境界ポリゴンのために誤っているラベルを調整し、図２Ｃに示すように正しいラベルのための分類器によって示唆される境界ポリゴンを調整し、および／または、正しい提案を受け入れることができる。プロセスを単純化するために、分類器（２４０、２６０）によって示唆される境界ポリゴンは点線で表示することができ、ユーザの元のタグ付け（２３０、２７０）および受入れられた修正（２５０）は、図２Ｃおよび２Ｄに示すように破線または実線で表示することができる。受け入れられた修正は、オブジェクトの特定クラスをさらに精緻化し再トレーニングしてタグ付けへのさらなる示唆を改善するためにシステムが用いることができる、別の入力を構成する。
【００４１】
次に、プロセスは、図２Ｄに示すように、後続フレームについて継続し、ここで、新しいオブジェクト（２７０）はユーザによってタグ付けされることができ、前にタグ付けされたオブジェクト（２６０）は、システムが、それが画像にマークするオブジェクトに対するその示唆においてどの程度確信しているかについて示すそれらの関連するクラスおよび信頼値によって視覚化され得る。システムがますますトレーニングされるにつれて、ユーザとの対話処理は、主に示唆を修正することから、システムによりなされる示唆を受け入れることにシフトし、それは、手動で画像にタグ付けするよりも、著しく労力が少なく、かつ非常により高速なものである。単純なタグ付け者に対してはテストデータセットの全体的なタグ付け速度は最高４０％の増加が見られ、専門のタグ付け者に対してはより急激ではないが著しい増加が見られた。
【００４２】
図３〜５は、例示のスマートタグ付けシステムのグラフィカルユーザインターフェースからのスクリーンショットを提供する。ユーザは、手動タグ付けツール（３００）を起動し、既存のラベルのリストからラベルを選択するか、新規なラベルを作成し、第一の自転車に乗る人（３１０）の周りにポリゴンを描画する。ポリゴンの色は、この例で選択したラベルを表す。このポリゴンは手動で作成されたため、それは承認された状態（３２０）を自動的に得る。これらのアクションの結果を図３に示す。それから、スマートタグ付けシステムの高速分類器は、ポリゴン（３１０）の範囲内の特徴を学習し、それらを第一の自転車に乗る人のためのユーザのラベルと関連付ける。次に、システムはフレーム全体の特徴を見て、画像内の別の自転車に乗る人を発見して、それ（４００）の周辺でポリゴンを作成することを試み、図４に示すように他の自転車に乗る人の上に重畳されたポリゴンをユーザに示す。ポリゴンがシステムによって作成されるため、それは提案の信頼値とともに「提案された」とマークされる（４１０）ことに留意する。最後に、図５は、ユーザが手動修正ツール（３００）を再起動させて、第二の自転車に乗る人（５００）のためのポリゴンをアップデートしたこと、そして、それが現在承認されたラベル（５１０）を得ていることを示す。ユーザは、ここで必要に応じてフレームの他のオブジェクトにタグ付けすることができるか、矢印ボタン（５３０）を使用して次のフレームへ行くことができるか、または、「タグ付け完了」ボタン（５４０）を押すことによってセッションを完了することができる。
【００４３】
［スマートタグ付けシステム］
図６は、本明細書に記載されるスマートタグ付けユーティリティを実装するためのハードウェア構成である、スマートタグ付けシステムを示す。感覚情報（例えば、ＲＧＢ、赤外線（ＩＲ）、および／またはＬＩＤＡＲ画像）は、ロボット、ドローン、自動運転車両、玩具ロボット、工業用ロボット、および／またはその他の装置（６１０）に由来する。代替的な実施形態は、単離されたかまたはネットワーク化されたセンサ（例えば、カメラ、ＬＩＤＡＲ６２０）からのデータを導き出し得る。さらに、データは既存のデータベース（６３０）内に編成されてもよい。データは、ユーザ（６４０）がデータ（画像）を視覚化し、画像にタグ付けし、タグ付けされた画像を視覚化し、必要に応じてタグを調整するために使用できるユーザインターフェース（６５０）を装備したコンピューティング装置に送信される。コンピューティング装置は、デジタル信号処理ユニット、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、中央処理装置（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、および／または図１Ｂのワークフローを実施するのに十分なこれらのプロセッサの組合せなどの一つ以上のプロセッサまたは処理ユニット（６７０）を備えた、モバイルデバイス（例えば、スマートフォン、タブレット、ラップトップ）、デスクトップ、またはサーバとすることができる。これらの処理ユニット（６７０）は、タグを学習して自動的に適用および調整する特徴抽出部および分類器を実装するために使用され得る。いくつかのソフトウェアモジュールを含むアーキテクチャは、メモリ（６８０）に保存され、実行のために処理ユニット（６７０）にロードされ得る。タグ付けされた画像は、ユーザ（６４０）に表示するためにＵＩ（６５０）で視覚化され、別個のデータベース（６６０）内に保存することができる。
【００４４】
［特徴抽出モジュール］
特徴解析モジュール（図６の１２０、図１の６７２）は、本明細書に記載される自動スマートタグ付けシステムの二つのコア構成要素の一つである。それは、表示された形式でシステムへの入力を受信する。システムのグラフィカルユーザインターフェースでの視覚化およびタグ付けの便宜のために、生の外部入力の２Ｄ表現が好ましいが、それは入力様式を視覚映像だけに制限はしない。音は高速フーリエ変換の後２Ｄで表現することができ、他の入力様式は他の手段によって２Ｄ表現にすることができる。テキスト入力は、テキストとして表示し、システムに供給することができる。仮想および拡張現実システムなどの３Ｄディスプレイの進歩により、システムが３Ｄデータの受け入れとタグ付けを行うことが可能になる。
【００４５】
特徴抽出モジュールの出力は、特徴ベクトルのセットである。タグ付けの性質に応じて、特徴ベクトルのセットは、（例えば、シーンの認識のために画像全体が一度にタグ付けされる単純なケースにおける）画像当たりの一つの特徴ベクトル、またはこれらの特徴が見つかる画像の関連する領域を有する複数の特徴ベクトルであることができる。これらの領域は、タグ付けプロセスの最終的な目的に応じて、矩形の境界ボックス、より複雑な形のポリゴンまたはピクセル的なマスクとさえ同じ程度に単純でありえる。
【００４６】
本明細書に記載の例示的実装は、特徴抽出のための深層畳み込みニューラルネットワークを使用する。畳み込みニューラルネットワーク（ＣＮＮ）は畳み込みユニットを使用し、ここでユニットフィルタ（重みベクトル）の受容フィールドは、入力の高さおよび幅寸法全体に段階的に移動される。各フィルターは小さいため、パラメータの数は完全に接続された層と比較して大幅に減少する。オブジェクトが一つの空間位置にあるときにそのオブジェクトのために特徴のセットが抽出され得る場合、特徴の同じセットは、オブジェクトを含む特徴がオブジェクトの空間位置から独立しているので、それが他のいかなる空間位置にも現れるときに、同じオブジェクトのために抽出され得る。これらの不変性は、入力のコード化が視覚の変化に対する向上した安定度を持ち、その意味は、入力が変化する（例えば、オブジェクトが、画像フレームにおいてわずかに並進して、回転する）につれて、出力値は入力値よりも非常に小さくしか変化しない、という特徴空間を提供する。
【００４７】
畳み込みニューラルネットワークは一般化も得意である。一般化とは、トレーニングを受けた様式内で、トレーニングを受けたデータと同一ではないテストデータに対してネットワークが類似の出力を生成できることを意味する。クラス特有の特徴のセットを定義する主要な規則性を学習するには、大量のデータが必要である。ネットワークが多くのクラスでトレーニングされている場合、フィルターがクラス間で共有される下位層は、同じ様式の入力に対する良好な規則性のセットを提供する。したがって、一つのタスクについてトレーニングを受けたＣＮＮは、他のタスクの初期化として使用される場合、または下位層が新しい高レベルの表現のプロセッサとして使用される場合、優れた結果を提供できる。例えば、自然の画像は統計的特性の共通セットを共有する。下位層の学習された特徴はかなりクラスから独立しているので、それらは、ユーザがタグ付けしようとしているクラスが、ＣＮＮが関係していたクラスの一つでない場合であっても、再利用することができる。それは、これらの特徴ベクトルを取り込んで、それらをシステムの高速学習分類器部分（図１Ｂの１５０）への入力として供給するのに十分である。
【００４８】
タグ付けプロセスのターゲットの最終結果に応じて、異なるＣＮＮは特徴抽出器として機能することができる。全体のシーンの認識のために、Ａｌｅｘｎｅｔ、ＧｏｏｇＬｅＮｅｔまたはＲｅｓＮｅｔのバージョンが、利用可能なハードウェアの計算能力に応じて使用できる。平均プーリング層は、画像の位置全体にプーリングしてシーン特徴ベクトル全体を作成するために、これらのネットワークの最後の特徴層の後に追加されなければならない。システムがトレーニング検出ネットワークのデータセットを作成するために使用される場合、同じネットワークが平均プーリングなしで用いられることができ、または、ｆＲＣＮＮのような領域提案ネットワークがより良い空間的精度のためにその代わりに使われることができる。画像セグメンテーションがターゲットである場合、Ｍａｓｋ  ＲＣＮＮ、ＦＣＮまたはＵ−Ｎｅｔのようなセグメンテーションネットワークが特徴抽出およびマスク生成のために使用できる。これらのマスクは、表示および修正のためにポリゴンに変換できる。図３〜５に示される例示的な実装に対して、ＦＣＮのカスタムメイドのバージョンが使用された。
【００４９】
特徴抽出モジュールの代替的な実装は、限定するものではないが、スケール不変特徴変換（ＳＩＦＴ）、高速化頑強特徴（ＳＵＲＦ）、Ｈａａｒ−ｌｉｋｅ特徴検出器、次元縮退、構成要素分析、及びその他のものであって、システムタグ付けすることを必要とする異なるオブジェクトに対して十分に明瞭であり、十分に高速に動作することができるのでシステムが特徴セットを計算する一方でユーザは目立つほどの時間の間待つことのない、特徴ベクトルを作成するものである限り、特徴抽出のためのいかなる適当な技法も、使用することができる。
【００５０】
［高速学習分類器モジュール］
高速学習分類器モジュール（図１Ｂの１５０、図６の６７４）は、特徴抽出モジュール（図１Ｂの１２０）によって作成される特徴ベクトルを取り込み、分類または特徴マッチングを実行して、特徴の所与のセットごとに、クラスラベルを出力する。一つの例示的な実装は、単純なテンプレートマッチングとすることができ、システムは、既知のオブジェクトごとにユーザ入力に基づいて得られるテンプレート特徴ベクトルを格納する。特徴ベクトルの入力セットが提示される場合、これらのベクトルの各々は、現在の入力とテンプレートとの間の差異を測定するために、いくつかの距離メトリック（例えば、関連特徴空間のユークリッドノルム）に基づいてテンプレートベクトルと比較される。次に、分類器は、可能性のあるオブジェクトとして設定された閾値より小さい差分メトリックを有する特徴ベクトルをマークする。距離の逆数の値は、この分類スキームの信頼度測定値として機能することができる。
【００５１】
高速学習に従う他の技術はこのテンプレートマッチング技術のための分類器で置換されることができ、その技術には、回帰分析法（例えば、直線回帰、ロジスティック回帰、ミニマックス分析）、カーネル方法（例えば、サポートベクトルマシン）、ベイズモデル、アンサンブル方法（例えば、専門家のアンサンブル）、決定木（例えば、インクリメンタル決定木、超高速決定木およびその派生物）、適応共鳴理論ベースのモデル（例えば、Ｆｕｚｚｙ  ＡＲＴＭＡＰ）および線形差別的オンラインアルゴリズム（例えば、オンラインの受動的積極的アルゴリズム）を含む。例えば、図３〜５に示される実装は、高速学習のための変更されたＡＲＴＭＡＰを使用する。変更は、ＡＲＴＭＡＰの順序従属性を減らして、統計整合性を改善して、それが新しいオブジェクトを学習するにつれてシステムメモリのフットプリントの成長を減らす。
【００５２】
［結論］
本明細書において様々な発明的実施形態が記述され、例示されてきたが、当業者は、本明細書に記載の機能を実施および／または結果ならびに一つ以上の利点を得るための様々な他の手段および／または構造を容易に展開することができ、かかる変形および／または変更の各々は、本明細書に記載の発明の実施形態の範囲内であると見なされる。より一般的に言えば、当業者は、本明細書に記載されるすべてのパラメータ、寸法、材料、および構成が、例示的であり、実際のパラメータ、寸法、材料、および／または構成が特定の用途または本発明の教示が使用される用途に依存することを容易に理解するであろう。当業者は、本明細書に記載される特定の発明的実施形態に対する多数の同等物を通常の実験を用いて認識することができ、または確認することができる。したがって、前述の実施形態は、例としてのみ提示され、添付した請求項およびその同等物の範囲内で、本発明の実施形態が特に記載され特許請求の範囲で特に記載されている以外にも実施され得ることを理解されたい。本開示の発明的実施形態は、本明細書に記載される個々の特徴、システム、物品、材料、キット、および／または方法を対象とする。さらに、二つ以上のこうした特徴、システム、物品、材料、キット、および／または方法の任意の組み合わせは、こうした特徴、システム、物品、材料、キット、および／または方法が相互に矛盾しない場合、本開示の本発明の範囲内に含まれる。
【００５３】
上述の実施形態は、多数の方法のいずれかで実施することができる。例えば、本明細書に開示される技術の実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実施されてもよい。ソフトウェアで実装される場合、ソフトウェアコードは、単一のコンピュータに提供されているか、複数のコンピュータの間で分散されているかどうかにかかわらず、任意の適切なプロセッサまたはプロセッサの集合で実行され得る。
【００５４】
さらに、コンピュータは、ラック搭載型コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレット型コンピュータなど、多数の形態のいずれかで具体化され得ることが理解されるべきである。加えて、コンピュータは、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォンまたはその他任意の適切な携帯型または固定電子装置を含む、コンピュータとして一般的に見なされるが、適切な処理能力を持つ装置内に埋め込まれてもよい。
【００５５】
また、コンピュータは一つ以上の入力および出力デバイスを有し得る。これらの装置は、とりわけ、ユーザインターフェースを提示するために使用することができる。ユーザインターフェースを提供するために使用できる出力装置の例としては、出力およびスピーカーの視覚的表現、または出力の可聴表現のためのその他の音声発生装置のプリンターまたはディスプレイ画面が挙げられる。ユーザインターフェースに使用できる入力装置の例には、キーボード、およびマウス、タッチパッド、およびデジタイザタブレットなどのポインティング装置が含まれる。別の例として、コンピュータは、発言認識または他の可聴フォーマットで入力情報を受信してもよい。
【００５６】
こうしたコンピュータは、ローカルエリアネットワーク、またはエンタープライズネットワークなどの広域ネットワーク、インテリジェントネットワーク（ＩＮ）またはインターネットなど、任意の適切な形態の一つ以上のネットワークによって相互接続されてもよい。こうしたネットワークは、任意の適切な技術に基づいてもよく、任意の適切なプロトコルに従って動作してもよく、無線ネットワーク、有線ネットワーク、または光ファイバーネットワークを含んでもよい。
【００５７】
本明細書に概説した様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのうちのいずれか一つを用いる一つ以上のプロセッサに実行可能なソフトウェアとしてコード化されてもよい。さらに、こうしたソフトウェアは、多数の適切なプログラミング言語および／またはプログラミングまたはスクリプトツールのいずれかを使用して記述されてもよく、またフレームワークまたは仮想マシン上で実行される実行可能な機械コードまたは中間コードとしてコンパイルされてもよい。
【００５８】
これに関して、様々な発明の概念は、一つ以上のコンピュータまたは他のプロセッサ上で実行された場合に、上述の本発明の様々な実施形態を実施する方法を実行する一つ以上のプログラムによってコード化されるコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）（例えば、コンピュータメモリ、一つ以上のフロッピーディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイスの回路構成または他の非一時的媒体もしくは有形のコンピュータ記憶媒体）として具現化され得る。コンピュータ可読媒体または媒体は、上述のように、その上に保存されたプログラムまたはプログラムを一つ以上の異なるコンピュータまたは他のプロセッサにロードして、本発明の様々な態様を実施することができるように、移動可能であり得る。
【００５９】
「プログラム」または「ソフトウェア」という用語は、本明細書では、上述のように、コンピュータまたは他のプロセッサをプログラムするために使用することができる任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを一般的に意味するために本明細書で使用される。さらに、当然のことながら、一態様によると、実行される本発明の方法を実行する一つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に属する必要はなく、本発明の様々な態様を実施するための多数の異なるコンピュータまたはプロセッサの間でモジュール形式で分散されてもよい。
【００６０】
コンピュータ実行可能命令は、一つ以上のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなどの多くの形態であってもよい。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常は、プログラムモジュールの機能は、様々な実施形態において望ましいように組み合わせられてもよく、または分散されてもよい。
【００６１】
また、データ構造は、任意の適切な形態でコンピュータ可読媒体内に保存されてもよい。例示の簡略化のために、データ構造は、データ構造の位置に関連するフィールドを有するように示されてもよい。このような関係は、フィールド間の関係を伝えるコンピュータ可読媒体内の位置を有するフィールドの記憶を割り当てることによって同様に達成され得る。しかしながら、データ要素間の関係を確立するポインタ、タグまたはその他の機構を使用することを含む、データ構造のフィールドの情報間の関係を確立するために適切な任意の機構を使用し得る。
【００６２】
また、様々な発明の概念が、一つ以上の方法として具現化されてもよく、その例が提供されている。方法の一部として実行される動作は、任意の適切な方法で順序付けられ得る。したがって、動作が例示されるものとは異なる順序で実行される実施形態を造ることができ、それは、例示的実施形態において連続的動作として示されている場合であっても、いくつかの動作を同時に実行することを含むことができる。
【００６３】
本明細書で定義および使用されるすべての定義は、辞書定義、参照により組み込まれる文書の定義、および／または定義された用語の通常の意味を統制するものと理解されるべきである。
【００６４】
本明細書および請求項で使用される場合、不定冠詞「ａ」および「ａｎ」は、明確にそうでないと示されない限り、「少なくとも一つ」を意味すると理解されるべきである。
【００６５】
本明細書および請求項で使用される場合、「および／または」という語句は、結合された要素の「いずれかまたは両方」を意味し、すなわち、一部の場合においては結合的に存在し、他の場合には分離的に存在する要素を意味すると理解されるべきである。「および／または」で挙げられる複数の要素は、同じ形態で、すなわち、結合された要素の「一つ以上」であると解釈されるべきである。その他の要素は、具体的に識別される要素に関連するかまたは関連しないかに関わらず、「および／または」節によって識別される要素以外に随意に存在してもよい。したがって、非限定的な例として、「Ａおよび／またはＢ」に対する参照は、「含む」などの制限のない語法と連動して使われるときに、一実施形態においては、Ａのみ（任意選択的にＢ以外の要素を含む）を指すことができ、別の実施形態においては、Ｂのみ（任意選択的にＡ以外の要素を含む）を指すことができ、また別の実施形態においては、ＡおよびＢ両方（任意選択的に他の要素を含む）を指すことができるなどである。
【００６６】
本明細書および請求項において使用される場合、「または」は、上記で定義された「および／または」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を分離するとき、「または」または「および／または」は包括的なものとして解釈され、すなわち、多数の要素のまたは要素のリスト、および随意にリストに無い追加の項目、のうち少なくとも一つを含むが、二つ以上も含むものとして解釈される。それとは反対に明確に指示した用語だけ、例えば「のうち一つだけ」、もしくは「のうち正確に一つ」、または請求項において使われるときに、「から成る」という用語だけは、多数の要素またはリストの要素のうち正確に一要素の包含を指す。一般に、本明細書で使用される場合、「または」という用語は、排他性の用語、例えば、「いずれか」、「のうち一つ」、「のうち一つだけ」または「のうち正確に一つ」が先行するときには、排他的な代替物（すなわち「両方ともでなくどちらか一方」）を示すとしか解釈されない。「から基本的に成る」は、請求項において使用される場合、特許法の分野において使用される通常の意味を有するものとする。
【００６７】
本明細書で使用される場合、「約」および「およそ」という用語は、記述された値のプラスマイナス１０％を一般的に意味する。
【００６８】
本明細書および請求項で使用される場合、一つ以上の要素のリストを参照する「少なくとも一つ」という語句は、要素のリストの要素のいずれか一つ以上から選択される少なくとも一つの要素を意味するが、しかし、必ずしも要素のリストの範囲内で具体的に列挙したそれぞれのどの要素の少なくとも一つも含むというわけではなく、また要素のリストのいかなる要素の組合せも除外するものではない、と理解されるべきである。この定義はまた、「少なくとも一つ」というフレーズが指す要素のリストの範囲内で具体的に識別される要素以外の要素が、具体的に識別される要素に関連があるか関連が無いかにかかわらず、任意に存在し得ることを許容する。したがって、非限定的な例として、「ＡおよびＢのうち少なくとも一つ」（または、等価的に、「ＡまたはＢのうち少なくとも一つ」、または、等価的に「Ａおよび／またはＢのうち少なくとも一つ」）は、一実施形態においては、Ｂは存在せず、少なくとも一つの、任意選択的には二つ以上を含むＡ（任意選択的にＢ以外の要素を含む）を指すことができ、別の実施形態においては、Ａは存在せず、少なくとも一つの、任意選択的には二つ以上を含むＢ（任意選択的にＡ以外の要素を含む）を指すことができ、また別の実施形態においては、少なくとも一つの、任意選択的には二つ以上を含むＡ、および少なくとも一つの、任意選択的には二つ以上を含むＢ（および、任意選択的に他の要素を含む）を指すことができるなどである。
【００６９】
請求項ならびに、上記の明細書で、すべての移行語句、例えば「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「運ぶ」「有する」、「含む（ｃｏｎｔａｉｎｉｎｇ）」、「含む（ｉｎｖｏｌｖｉｎｇ）」、「保持する」、「構成される」および同様のものは、制限がないと理解され、すなわち、含むがそれに限定はされないということを意味する。「から成る」および「実質的に成る」という移行語句のみが、米国特許庁特許審査基準、セクション２１１１．０３に記載されている、それぞれ閉鎖的または半閉鎖的な移行の語句であるものとする。
【図１Ａ】
2020511723.tif 000003
【図１Ｂ】
2020511723.tif 000004
【図２】
2020511723.tif 000005
【図３】
2020511723.tif 000006
【図４】
2020511723.tif 000007
【図５】
2020511723.tif 000008
【図６】
2020511723.tif 000009
【国際調査報告】
2020511723.tif 000010
2020511723.tif 000011
2020511723.tif 000012