JP7072374B2 - ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス - Google Patents

ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス Download PDF

Info

Publication number
JP7072374B2
JP7072374B2 JP2017231464A JP2017231464A JP7072374B2 JP 7072374 B2 JP7072374 B2 JP 7072374B2 JP 2017231464 A JP2017231464 A JP 2017231464A JP 2017231464 A JP2017231464 A JP 2017231464A JP 7072374 B2 JP7072374 B2 JP 7072374B2
Authority
JP
Japan
Prior art keywords
neural network
feature vector
training
image
cost function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017231464A
Other languages
English (en)
Other versions
JP2018139103A (ja
Inventor
マルクス スキャンス,
ニクラス ダニエルソン,
Original Assignee
アクシス アーベー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アクシス アーベー filed Critical アクシス アーベー
Publication of JP2018139103A publication Critical patent/JP2018139103A/ja
Application granted granted Critical
Publication of JP7072374B2 publication Critical patent/JP7072374B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は一般に、画像データを処理して、処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成されるニューラルネットワークをトレーニングするための方法、デバイス、およびコンピュータプログラム製品に関する。本発明はさらに、デバイス上で動作しているニューラルネットワークによって出力された特徴ベクトルを使用して物体を追跡するための、デバイスシステムに関する。
ニューラルネットワークをトレーニングする際、トレーニングおよびニューラルネットワーク(例えばニューラルネットワークのアーキテクチャなど)を取り巻く多くのさまざまな詳細が、ネットワークによって多次元空間がどのように形成されるかに影響を及ぼす。入力データをこの多次元空間上にマッピングすると、その特定の入力データについての特徴ベクトルが形成される。
ニューラルネットワークの目標は、類似の入力データ(すなわち、ニューラルネットワークが入力データの中のどのような類似性を識別するようにトレーニングされるかに応じて、同じアイデンティティまたは同じクラスに属する入力データ)が、その中で相互に近くにマッピングされるとともに、異なる入力データ(すなわち、異なるアイデンティティ/クラスに属する入力データ)が、互いに離れてマッピングされるような、多次元空間(超空間)をセットアップすることである。しかし、この多次元空間がどのように形成されるかは、例えば、
- どのトレーニング入力データが使用されるか、またそれらがどの順序でネットワークに入力されるか、
- 使用されるニューラルネットワークのタイプ、どのような(損失関数または誤差関数としても知られる)コスト関数が実装されるか、ノード層の数、など、
- トレーニングされる際にニューラルネットワークを動作させるデバイスのハードウェアアーキテクチャ、例えばそのハードウェアにおいて浮動小数点数がどのように丸められるか、乗算されるかなど、
- 入力データの圧縮、または計算スピードを上げるための他の最適化、
- ネットワークの重みのランダムな初期化、
- など
に応じて決まる。
さらに、ニューラルネットワークのトレーニングコスト関数(または最適化コスト関数)は多くの場合、ある種の確率関数を備えており、2つのニューラルネットワークのトレーニングを本質的に異なるものにしている。
これは、2つの異なるネットワークの独立したトレーニングが、同じトレーニング入力データを同じ順序で使用して全く同じように行われる場合であっても、ある特定の入力データについてあるニューラルネットワークによって生成された特徴ベクトルが、同じ入力データについて別のニューラルネットワークによって生成された特徴ベクトルと比較され得るという保証はない、ということを意味する。
したがって、この文脈の中での改善が必要とされている。
上記に鑑みて、本発明の目的は、上で論じた欠点のうちの1つまたは複数を解決し、または少なくとも低減させることである。一般に、上記の目的は、添付の独立特許請求項によって達成される。
第1の態様によれば、本発明は、画像データを処理して、処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成される第1のニューラルネットワークをトレーニングするための方法であって、
参照特徴ベクトルを取得するステップであって、参照特徴ベクトルが、第1のトレーニング画像を参照ニューラルネットワークによって処理することによって計算され、参照ニューラルネットワークが、画像データを処理して、処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成される、取得するステップと、
コスト関数を最適化するように第1のニューラルネットワークをトレーニングするステップであって、コスト関数が、参照特徴ベクトルと、第1のトレーニング画像を処理する際に第1のニューラルネットワークによって出力された特徴ベクトルとの間の第1の距離尺度を少なくとも含み、コスト関数が、第1の距離尺度を最小化するように適合される、トレーニングするステップと
を含む、方法によって実現される。
「ニューラルネットワーク」という用語とは、本明細書の文脈では、脳内の膨大なニューロン回路網に端を発する、相互接続されたノード群と理解されたい。ニューラルネットワークは、「人工ニューラルネットワーク」(ANN)という名で呼ばれることもある。「深層学習」という用語も一般に使用されている。この文脈において使用され得る特定のタイプのニューラルネットワークは、畳み込みニューラルネットワーク(CNN)であるが、他の任意のタイプのフィードフォワードニューラルネットワーク(FNN)が使用されてよい。再帰型ニューラルネットワーク(RNN)やディープビリーフネットワーク(DBN)など、他のタイプが使用されてもよい。
「特徴ベクトル」という用語とは、本明細書の文脈では、ニューラルネットワークのトレーニングの間にニューラルネットワークが解析を実施することによって設計された、多次元空間内のベクトルと理解されたい。空間内の次元は、ニューラルネットワークが経験した視覚的特徴を、識別または区分トレーニングの間に最も有用なものとして表すものなので、最も一般には、人間は空間内の次元を把握することができない。この文脈では、したがって、(外観ベクトルとしても知られる)特徴ベクトルが、ニューラルネットワークが処理した画像データ内の例えば物体の、視覚的外観を表す。多次元空間は、類似種の入力データをクラスタ化し、異種の入力データを分離するように、設計されている。ニューラルネットワークがどのような意図で設計されたかに応じて、「類似種」と「異種」は異なるものを意味する。監視意図で設計されたニューラルネットワークにとって最も一般的なケースは、ニューラルネットワークによって処理された画像内の物体(例えば人物)の識別を実施することである。この文脈では、類似種の入力データとは、同じアイデンティティの人物を含む入力データを意味し、一方、異種の入力データとは、異なるアイデンティティの人物を含む入力データを意味する。ニューラルネットワークはこの場合、人物を識別するように、また同じアイデンティティの人物を示す入力データを、例えば画像が異なる角度から撮られていた、などの場合であってもクラスタ化するように、設計される。他の実施形態では、ニューラルネットワークは、同じクラスの入力データをクラスタ化するように(いくつかの共通の関係または属性による、クラス、順序、系列などとしての群への分配)、例えば同じ品種の犬をクラスタ化するように、または例えば車を自転車と分離するように、トレーニングされている。この文脈では、類似種の入力データとは、同じクラスの物体を含む入力データを意味し、一方、異種の入力データとは、異なるクラスの物体を含む入力データを意味する。換言すれば、その狙いは、ネットワークがトレーニングされた解析タスクに関連する、例えば人物の再識別に関連する、視覚的外観の態様の特徴付けを、特徴ベクトルにさせることである。特徴ベクトルは、個々の間の不変の態様を含有し、それにより、2つの画像が同じ人物を描いているか否かを伝えることが可能になっており、ただし、例えば姿勢/角度、照明の差、画像の鮮明さなどによる外観の差への依存性は、特徴ベクトル内で可能な限り抑えられている。
ニューラルネットワークの文脈では、そのようなネットワークはコスト関数を使用してトレーニングされ、このコスト関数を、学習プロセスが最適化しようと試みる(多くの場合、最小化しようと試みるが、コスト関数は最大化されるように設計されることもある)。一般に、ニューラルネットワークは、上述したようなユーザのニーズに従ってデータを処理するようにトレーニングされる必要がある。ニューラルネットワークは、コスト関数に関する性能を最適化するようにトレーニングされるべきである。ニューラルネットワークのトレーニングの間、学習アルゴリズムは、コスト関数の勾配に依拠して、コスト関数の最小値(または最大値)を見い出す。見い出された最小値は、場合によっては、局所的最小値である可能性がある。そのため、本実施形態のこの文脈では、参照特徴ベクトルと第1のニューラルネットワークによって出力された特徴ベクトルとの間の距離尺度が大きい場合、コストが大きく、(コスト関数の勾配に従って)コストをより小さくするように、第1のニューラルネットワークの重みが更新される。
上述したように、ニューラルネットワークをトレーニングする際、トレーニングおよびニューラルネットワークの設計/アーキテクチャを取り巻く多くのさまざまな詳細が、ネットワークによって多次元空間がどのように形成されるかに影響を及ぼす。入力画像データごとの出力特徴ベクトルの値は、空間がどのように形成されるかに応じて決まる。
本発明者らは、本実施形態を用いると、異なるデバイス上に実装されたニューラルネットワークによって処理された画像データからの特徴ベクトルが、例えばデバイスのハードウェアのアーキテクチャ、またはニューラルネットワークのアーキテクチャが異なる場合であっても、比較され得ることに気付いた。これが可能であるのは、参照ニューラルネットワークからの出力が、ニューラルネットワークをトレーニングする際のグラウンドトルースとして使用されているためである。第1のニューラルネットワークを、(共通ニューラルネットワーク、第2のニューラルネットワークなどとも呼ばれ得る)参照ニューラルネットワークから出力された特徴ベクトル(すなわち参照特徴ベクトル)を使用してトレーニングすることによって、第1のニューラルネットワークの多次元空間が、参照ニューラルネットワークの多次元空間に向かって収束する。したがって、参照ニューラルネットワークは、本明細書で述べたようにトレーニングされた任意のニューラルネットワークに対して、正規化効果を有する。
本実施形態のさらなる利点は、第1のニューラルネットワークの実装、例えばニューラルネットワークのアーキテクチャ、ノード数、タイプの選択などが、参照ニューラルネットワークの具体的内容を考慮せずに、またはそれについて知ることなく行われ得る、ということである。さらに、複数の第1のネットワークが、互いのどのような詳細もなしに、または互いの存在を知ることさえなくトレーニングされ得、それでもなお、各ニューラルネットワークの多次元空間が類似しているので、比較可能な出力特徴ベクトルを生成することができる。
本実施形態のさらなる利点は、参照ニューラルネットワークが、例えば膨大な数のトレーニング画像を使用して所望の精度までトレーニングされ得、または非常に精度の高い結果を生成するように構成されたデバイス(「最良」アーキテクチャ)上に実装され得る、ということである。別の利点は、参照ニューラルネットワークのトレーニングについて、トレーニングが専用デバイス上でオフラインで、または第1のニューラルネットワークのトレーニングにずっと先立って行われ得るため、時間制約またはハードウェア制約が存在しない、ということであり得る。参照ニューラルネットワークは、プロプライエタリな秘密のまま保たれ得、公にされる必要がなく、第1のニューラルネットワークにとって参照特徴ベクトルのみがアクセス可能である必要がある。
いくつかの実施形態によれば、参照ニューラルネットワークは、トリプレットベースのコスト関数を使用してトレーニングされており、トリプレットベースのコスト関数は、同じ区分または識別の1対の入力画像を別の区分または識別の第3の入力画像と、同じ区分または識別の1対の入力画像間の第1の距離と、同じ区分または識別の1対の入力画像のうちの一方と第3の入力画像との間の第2の距離との間の差が、少なくとも距離マージン(アルファ)となるように、分離することを目的としており、コスト関数を最適化するように第1のニューラルネットワークをトレーニングするステップが、第1の距離尺度を少なくともアルファを4で割った商まで低減させることを含む。
「トリプレットベースのコスト関数」という用語とは、本明細書の文脈では、第1の区分または識別のものである物体を含む、(アンカーとしても知られる)第1の入力画像と、同じ区分または識別のものである物体を含む、(ポジティブとしても知られる)第2の入力画像との間の距離を、最小化または低減するための関数と理解されたい。トリプレットベースのコスト関数はさらに、第1の入力画像と、別の区分または識別のものである物体を含む、(ネガティブとしても知られる)第3の画像との間の距離が、入力画像のアンカー-ポジティブ対間の距離よりも少なくともアルファ分大きいことを成就すべきである。これは、アルファ値が、画像の特定のトリプレットについてアンカー-ネガティブ対間の距離がアンカー-ポジティブ対間の距離よりも少なくともアルファ分大きくなるように、アンカー-ポジティブ対間およびアンカー-ネガティブ対の分離差を生むために使用される、ということを意味する。アルファは常に正の数であることに留意されたい。トリプレットのアンカー-ポジティブ対間の距離とアンカー-ネガティブ対間の距離との間の差が、アルファよりも小さい場合、コスト関数は、差をアルファに向かって増大させるように、ニューラルネットワークの重みを変更する。アルファ距離マージンへの到達は、反復的なプロセスであり得ることにも留意されたい。トリプレットベースのコスト関数は、差がアルファに向かって増大するように重みを変更するが、アルファ距離マージンは、1回の反復において到達しない場合がある。トレーニングデータベース内のすべての画像についてのすべてのアルファ条件を満足させることは、反復的なプロセスであり、特定のトリプレットについてアルファ距離マージンが達成されず、特定のトリプレットがミーティングアルファマージンにわずかながらも近づくように重みを変更するためにコスト関数に基づいて計算される勾配。しかし、差がすでにアルファよりも大きい場合、コスト関数は、その特定のトリプレットについて、ニューラルネットワークの重みに影響を及ぼさない。よって、ニューラルネットワーク超空間内での、異なる区分または識別のものである画像データの分離が達成される。このアルファ値の詳細については、発表された論文、例えばSchroff他(Google Inc.)による「FaceNet:A Unified Embedding for Face Recognition and Clustering」という論文に、開示されている。
第1のネットワークのトレーニングにおいてアルファ値を使用し、第1のニューラルネットワークの特徴ベクトルと参照ニューラルネットワークから取得した参照特徴ベクトルとの間の距離を、少なくともアルファ/4まで低減させることにより、第1のニューラルネットワークがいつ「十分良好」であるかについて、良好な値が提供され得、トレーニングが停止する可能性のある場合についても、アルファ/4という誤差はやはり、特定の区分の物体が参照ベクトルに比べて誤差があるにもかかわらず正しいクラス内に区分される、ということを意味するので、良好な値が提供され得る。これについては下で、図6、図7に関連してさらに解説する。この実施形態は、トレーニングのスピードを増大させることができる。いくつかの実施形態によれば、参照特徴ベクトルを取得するステップが、第1のトレーニング画像を参照ニューラルネットワークに送信すること、第1のトレーニング画像を参照ニューラルネットワークによって処理すること、および参照ニューラルネットワークから、出力された特徴ベクトルを取得することを含む。このようにして、参照ニューラルネットワークは、以前に第1のトレーニング画像を「見ている」、または第1のトレーニング画像に対してトレーニングされている必要がない。第1のトレーニング画像は、第1のニューラルネットワークの画像処理タスク(例えば地下鉄の駅で、またはオフィスビルの出入り口などにおいて取り込まれた画像を処理すること)に特定の画像とすることができる。次いで、第1のトレーニング画像が参照ニューラルネットワークによって処理され得、次いで、参照ニューラルネットワークが特徴ベクトルを、第1のニューラルネットワークが取得できるように戻す。
いくつかの実施形態によれば、参照特徴ベクトルを取得するステップが、第1のトレーニング画像と関係のあるデータを、特徴ベクトルを備えるデータベース内でのキーとして使用すること、およびキーに対応する値をデータベースから取得することを含む。この実施形態では、特定の画像セットが参照ニューラルネットワークによってすでに処理されており、結果として得られる特徴ベクトルが、対応する画像と関係のあるデータ(例えばハッシュ値など、画像のフィンガープリント)をキーとして使用してデータベース内に記憶されている。したがって、第1のニューラルネットワークのトレーニングは、トレーニング画像と関係のある前記データまたはオプションでトレーニング画像全体を、データベースに送り、データベースがオプションで、データベース内でキーとして使用すべきデータ(例えばハッシュ値)を第1のニューラルネットワークから受信したデータから抽出すること、および参照ニューラルネットワークによってこれまでに生成された(すなわち第1のニューラルネットワークをトレーニングするためのグラウンドトルースである)特徴ベクトルを、データベースから取得することを含むことができる。この実施形態は、第1のニューラルネットワークをトレーニングする際の時間を節約することができ、いくつかの実施形態によれば、トレーニング画像全体が送信される必要がないので、帯域幅も節約することができる。
いくつかの実施形態によれば、第1の距離尺度は、参照特徴ベクトルと第1のニューラルネットワークによって出力された特徴ベクトルとの間の、ユークリッド距離である。これは、計算コストのかからない距離尺度である。別法として、任意のp-ノルムメトリックまたは尺度など、他の距離尺度が使用されてもよい。
いくつかの実施形態によれば、第1のニューラルネットワークと参照ニューラルネットワークは、異なるタイプのニューラルネットワークである。例えば、異なるタイプのソフトウェアライブラリ(例えばOpen Source)、またはネットワークアーキテクチャが、使用されていてよい。そのようなネットワークアーキテクチャの例として、GoogLeNet、AlexNetなどがある。ソフトウェアライブラリの例は、TensorFlow、Caffeなどである。他の実施形態によれば、第1のニューラルネットワークおよび参照ニューラルネットワークは、異なる数量の層、各層内の異なる数量のノード、などを備える。「異なるタイプのニューラルネットワーク」という用語はさらに、第1のニューラルネットワークおよび参照ニューラルネットワークの内部数表現の点で異なるビット幅を包含し、第1のニューラルネットワークおよび参照ニューラルネットワークは、その他の点では同じネットワークアーキテクチャを有してよい。この用語はさらに、プルーニングされている(計算をスピードアップするためにいくつかの小さな重みがゼロに設定される)がその他の点では類似のネットワーク、またはその演算の一部に最適化された関数を使用する(例えば、より小さな精度誤差を生成することのできるいくつかのトリックを使用することによって最適化された畳み込みを行う、特定の関数を有する)ネットワークなどを包含する。
いくつかの実施形態によれば、第1のニューラルネットワークが、第1のハードウェアアーキテクチャを有するデバイスによって実装され、参照ニューラルネットワークが、第1のハードウェアアーキテクチャとは異なる第2のハードウェアアーキテクチャを有するデバイスによって実装される。一例として、第1のニューラルネットワークは、組み込みデバイス上で動作する非常に小さな整数ニューラルネットワークであってよく、一方、参照ニューラルネットワークは、クラウド内または専用のコンピューティングボックス上で動作する、大きな浮動小数点ネットワークである。
いくつかの実施形態によれば、これまでの実施形態のいずれかの実施形態のステップが、複数のトレーニング画像について反復される。
いくつかの実施形態によれば、方法は、第1のニューラルネットワークをバージョン番号と関連付けるステップであって、バージョン番号が、第1のニューラルネットワークが参照ニューラルネットワークからの参照特徴ベクトルを用いてトレーニングされたときの参照ニューラルネットワークのバージョン番号を反映している、ステップをさらに含む。この実施形態と同様のバージョン番号を使用すると、いつ第1のニューラルネットワークをアップグレードまたは再トレーニングする必要があるかを知ることが容易になり得る。
第2の態様では、本発明は、処理能力を有するデバイスによって実行されると第1の態様のいずれかの実施形態の方法を行うように構成された命令をもつコンピュータ可読記憶媒体を提供する。
第3の態様では、本発明は、画像データを処理して、処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成される第1のニューラルネットワークを備えるデバイスであって、
参照特徴ベクトルを取得することであって、参照特徴ベクトルが、第1のトレーニング画像を参照ニューラルネットワークによって処理することによって計算され、参照ニューラルネットワークが、画像データを処理して、処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成される、取得することと、
コスト関数を最適化するように第1のニューラルネットワークをトレーニングすることであって、コスト関数が、参照特徴ベクトルと、第1のトレーニング画像を処理する際に第1のニューラルネットワークによって出力された特徴ベクトルとの間の第1の距離尺度を少なくとも含み、コスト関数が、第1の距離尺度を最小化するように適合される、トレーニングすることと
を行うような構成のプロセッサを備える、デバイスを提供する。
第4の態様では、本発明は、第1の態様に従ってトレーニングされた第1のニューラルネットワークをそれぞれが備えた複数のデバイスを備えるシステムであって、各デバイスがさらに、画像から物体を抽出して、抽出された物体の画像データを第1のニューラルネットワークを使用して処理し、かつ第1のニューラルネットワークから出力された特徴ベクトルを送信するように構成され、システムがさらに、デバイスから特徴ベクトルを受信し、かつデバイスシステムを通じて、受信した特徴ベクトルに基づいて物体を追跡するように構成された、物体追跡ユニットを備える、システムを提供する。
上述したように、共通の参照ニューラルネットワークを使用して、トレーニング画像についての参照特徴ベクトルを提供し、これを他のニューラルネットワークのトレーニングに使用すると、トレーニングされたニューラルネットワークは、類似の多次元空間を生成するように導かれ、それによって、各ニューラルネットワークからの、ある特定の画像についての出力特徴ベクトルが、有意義に比較され得る(というのも、すべての特徴ベクトルが同じ、または非常に類似した、ベクトル空間内に存在するためである)。その結果として、(異なるデバイス上に実装された)異なるニューラルネットワークからの特徴ベクトルが、比較され得、したがって物体の追跡に使用され得る。
いくつかの実施形態によれば、複数のデバイスの各々のデバイスの第1のニューラルネットワークがさらに、バージョン番号と関連付けられ、バージョン番号は、第1のニューラルネットワークがトレーニングされたときの参照ニューラルネットワークのバージョン番号を反映しており、複数のデバイスのうちのあるデバイスのバージョン番号が、その第1のニューラルネットワークから出力された特徴ベクトルと一緒に送信され、物体追跡ユニットが、デバイスシステムを通じて、受信した特徴ベクトルおよびバージョン番号に基づいて物体を追跡するように構成される。
いくつかの実施形態によれば、複数のデバイスのうちの少なくとも1つは、ネットワークカメラであり、この場合、物体は、ネットワークカメラによって取り込まれた画像から抽出される。
いくつかの実施形態によれば、物体追跡ユニットは、複数のデバイスのうちの少なくとも1つ内に実装され、この場合、あるデバイスからの特徴ベクトルの送信は、マルチキャストまたはブロードキャスト送信を使用して遂行される。
いくつかの実施形態によれば、物体追跡ユニットは、複数のデバイスとは別のさらなるデバイス内に実装され、複数のデバイスの各々に接続される。
第2、第3、および第4の態様は一般に、第1の態様と同じ特徴および利点を有し得る。
上記、ならびに本発明の追加の趣旨、特徴、および利点は、類似の要素について同じ参照符号が使用される添付の図面を参照することによって、本発明の実施形態の以下の例示的および非限定的な詳細説明を通じてよりよく理解される。
入力画像を処理して、その入力画像を表す特徴ベクトルを出力する、ニューラルネットワークを示す図である。 2つの異なるニューラルネットワークによって処理された、2次元特徴空間内の2つの物体の特徴ベクトルを示す図である。 諸実施形態によるニューラルネットワークのトレーニングを示す図である。 画像によって取り込まれた物体の追跡に使用されるデバイスシステムを示す図である。 諸実施形態による、ニューラルネットワークをトレーニングするための方法を示す図である。 参照ニューラルネットワークの多次元空間内にマッピングされた同じ区別をもつ画像のクラスタ間の最小距離である距離マージンを示す図である。 第1のニューラルネットワークをトレーニングする際の、参照ニューラルネットワークのアルファ値の使われ方を示す図である。
図1は、例として、ニューラルネットワーク104の機能を示す。ニューラルネットワークを使用することは、ルールベースの手法がうまく機能しないことのある物体認識のようなコンピュータビジョン問題を解決する、良い方途となり得る。ルールベースの手法を使用して、(複雑な)物体の、別のタイプ(すなわちクラス)の他の物体に比べて際立った特徴を定義することは、特に、どのようなタイプの物体が認識され、互いに区別可能である必要があるのかが事前に分かっていないとき、困難な場合がある。ニューラルネットワークの強みの1つがここにある。ニューラルネットワークを用いて物体を識別または区分するとき、出力は特徴ベクトルとすることができる。これについては図1に示されており、図1では、入力画像102(または入力画像データ102)がニューラルネットワーク104によって処理される。ニューラルネットワークからの出力は、特徴ベクトル106である。図1の例では、特徴ベクトル106の次元数は4であるが、これは例にすぎない。特徴ベクトル106は、入力画像102内の物体の視覚的外観を表す。特徴ベクトル106は、ニューラルネットワーク104が解析を実施することによって設計された、多次元空間内のベクトルである。空間内の次元(この例では数は4であり、特徴ベクトル106内の値106a-dによってそれぞれが表現されている)は、ニューラルネットワーク104が経験した視覚的特徴を、ニューラルネットワーク104のトレーニングの間の、物体の識別または区分および異なるアイデンティティ/クラスの物体間の分離にとって最も有用なものとして表すものなので、最も一般には、人間にとって把握することができない。
しかし、上述したように、異なるニューラルネットワークは、同じ物体について(異なる比較不能の特徴空間内の)異なるタイプの特徴ベクトルを生み出すことがある。
図2は、例として、2つの異なるニューラルネットワークによって2次元空間内に作り出された、(図2に4角星およびダイヤモンドとして示される)2つの物体のマッピングを示す。この簡単な例では、2つのニューラルネットワークが、同じ次元数のベクトルを出力している。典型的にはこうであるが、2つの異なるニューラルネットワークによって異なる次元数のベクトルが出力されることがあり得る。多くの場合、ニューラルネットワークを使用して複雑な物体の良好な区分を達成するために、100~1000次元が必要となる。図2では、話を簡単にするために2次元が使用されている。一方のニューラルネットワークは、図2の2次元空間内で、星202を左側(小さい方のx値)に、またダイヤモンド208を右側(大きい方のx値)に区分しており、一方、他方のニューラルネットワークは、星204を右側(大きい方のx値)に、またダイヤモンド206を左側(小さい方のx値)に区分している。2つのニューラルネットワークからの、2つの異なる物体についての特徴ベクトルが、物体を比較するために直接使用されるなら、第1のニューラルネットワークのダイヤモンドが、第2のネットワークの星と照合されることになり、逆も同様である。これは、(同じアイデンティティの、またはいくつかのそれほど典型的でない実施形態では同じクラスの)物体を監視システムを通じて追跡するために、(物体区分に使用される別々のニューラルネットワークをそれぞれが有する)異なる監視カメラ、ビデオエンコーダ、およびビデオサーバが使用されている監視システムにおいて、問題となり得る。
本開示は、この問題の解決策を提供する。要約すると、この問題は、ニューラルネットワークを参照ニューラルネットワークに照らしてトレーニングすることによって解決される。これについては次に、図3に関連して例示され、また図5に例示される。第1のニューラルネットワーク104(すなわちトレーニングすべきニューラルネットワーク)が、画像データ310を処理して、処理された画像データ310についての特徴ベクトル106を形成する値106a-dからなるベクトルを出力するように構成される。特定の入力画像データ310について出力された特徴ベクトル106を、異なるアーキテクチャを有する、または異なるトレーニング画像を使用してトレーニングされる、または仕様の異なるハードウェア上で動作するニューラルネットワークにとって比較可能となるように「強いる」ために、参照ニューラルネットワーク(第2のニューラルネットワーク)302がトレーニングに使用される。参照ニューラルネットワーク302は、所望の精度までトレーニングされるものと仮定される。第1のニューラルネットワーク104のトレーニングの間、例えば参照ニューラルネットワーク302の重みに対して、変更は実施されない。トレーニング画像310について、第1のニューラルネットワーク104は、特徴ベクトル106を計算する。さらに、第1のニューラルネットワーク104は、この特定のトレーニング画像310についてのグラウンドトルース(すなわち正しい特徴ベクトル)として使用される参照特徴ベクトル306を取得S508する。これは、トレーニング画像310についての参照特徴ベクトルを、例えばそのような参照特徴ベクトルを提供するサービス312に要求S502することによって行われ得る。いくつかの実施形態によれば、参照特徴ベクトル306を取得することは、第1のトレーニング画像310を参照ニューラルネットワーク302に送信することを含む。参照ニューラルネットワーク302は次いで、第1のトレーニング画像310を処理S504することができる。第1のニューラルネットワーク104は次いで、参照ニューラルネットワーク302から、出力された特徴ベクトル306(グラウンドトルース)を取得S508することができる。例えば、参照特徴ベクトルを提供するサービス312は、参照ニューラルネットワーク302によって参照特徴ベクトル306が出力されると、参照特徴ベクトル306を要求側ニューラルネットワーク104に送信することができる。この実施形態は、例えば、参照ニューラルネットワーク302が以前に処理していないトレーニング画像を用いた、第1のニューラルネットワーク104のトレーニングを、容易にすることができる。他の実施形態では、参照特徴ベクトル306を取得することは、第1のトレーニング画像310と関係のあるデータ310’を使用すること、およびこのデータ310’を、参照特徴ベクトルを提供するサービス312に送信することを含む。データ310’は、トレーニング画像310の任意のタイプの一意の識別子、例えば、トレーニング画像310全体、トレーニング画像310のハッシュ値、またはトレーニング画像310についての所定の識別子とすることができる。データ310’は次いで、データベース304内でトレーニング画像310についての参照特徴ベクトル306を検索するための、データベース304内でのキーとして使用され得る(オプションで、データ310’はサービス312において、データベースにとって正しいフォーマットであるように前処理され、この場合、前処理されたデータは依然として、第1のトレーニング画像310と関係のあるデータである)。データベース304にはこれまでに、参照特徴ベクトルと参照特徴ベクトルごとの識別子とが提供されており、ここで、参照特徴ベクトルは、参照ニューラルネットワーク302によって計算されたものである。この実施形態では、予め定義された画像セットが決定され、参照ニューラルネットワーク302によって処理されてから、第1のニューラルネットワークのトレーニングが(予め定義された画像セットからの画像をトレーニングに使用して)実施され得る。
参照特徴ベクトル306が取得されると、第1のニューラルネットワーク104が、参照ニューラルネットワーク302によって出力された特徴ベクトルに対して比較可能な特徴ベクトル106を出力するように、トレーニングされ得る。これは、(図3にS様シンボルによって概略的に表現された)コスト関数308を低減させることによって行われ、ここで、コスト関数308は、参照特徴ベクトル306と、第1のトレーニング画像310を処理する際に第1のニューラルネットワーク104によって出力された特徴ベクトル106との間の第1の距離尺度を少なくとも含む。したがって、コスト関数は、例えばニューラルネットワーク内のニューロン(ノード)間の重みを変更することによって、第1の距離尺度を最小化し、それによって出力特徴ベクトル106が参照特徴ベクトルにより近くなる(より比較可能になる)ように、適合される。そのようなコスト関数の詳細は、実装する当業者に委ねられるが、一般に、コスト関数は、第1の距離尺度が少なくとも局所的に最小化される、最小値または最大値に達するように最適化される。
したがって、第1のニューラルネットワークは、コスト関数を最適化するようにトレーニングされ、それによってコスト関数は、出力特徴ベクトル106と参照特徴ベクトル306との間の距離を最小化するように適合される。第1のニューラルネットワークからの特徴ベクトルと参照特徴ベクトルがどれだけ近くなり得るかという点での性能限界はあり得るが、ニューラルネットワークのトレーニングに上記の方法を使用することによって、同じ参照ニューラルネットワークに照らしてトレーニングされたすべてのニューラルネットワークが、何らかの信頼水準内の比較可能な特徴ベクトルを生じさせることができる。いくつかの実施形態によれば、参照ニューラルネットワークのトレーニングに関係するデータは、第1のニューラルネットワークのトレーニングに、妥当な信頼水準に至るまで使用され得る。具体的には、同じ識別または区分をもつ1対の入力画像および別の識別/区分をもつ第3の入力画像を使用したトレーニングを含むいわゆるトリプレットトレーニングを使用して、参照ニューラルネットワークがトレーニングされた場合、第1のニューラルネットワークをトレーニングする際に、そのようなトレーニングのためのいわゆる距離マージンが使用され得る。このタイプのトレーニングでは、ニューラルネットワークのコスト関数は、同じ識別/区分の1対の入力画像を前記別の識別/区分の第3の入力画像と、少なくとも、アルファとも呼ばれる距離マージンを用いて、分離することを目的とする。
図6、図7は、多次元空間内にマッピングされた同じ識別/区分をもつ画像のクラスタ間の最小距離を一部決定する距離マージンアルファαを概略的に表す。図6に見ることができるように、3つのクラスタ602~606のいずれかの間の距離は、アルファα+r1/r2/r3である。値r1は、max(クラスタ604内の最も隔たった特徴ベクトル間の距離,クラスタ606内の最も隔たった特徴ベクトル間の距離)に対応する。同じように、値r2/r3はそれぞれ、クラスタ602、604、および602、606の広がりに応じて決まる。上述の、トリプレットトレーニングを使用して参照ニューラルネットワークをトレーニングする方途によって、最終結果は、トリプレットのすべての組合せがアルファ要件を満たすことが見られる完全なシナリオにおいて、図6に表すようになり、ここで、r1/r2/r3の距離は、画像のクラスタから選択されたトリプレットのすべての組合せが損失関数からゼロ誤差をもたらすような最小距離を表現している。そのような完全な、すなわち画像のクラスタから選択されたトリプレットのすべての組合せが損失関数からゼロ誤差をもたらすトレーニングは、ほとんど起こらないことに留意されたい。これは例えば、トリプレットのすべての組合せに対してトレーニングすることは、その組合せが単に多すぎることから実現可能ではないため、またいずれにせよ、それをうまく実施することの可能である状態にニューラルネットワークが常に収束することが可能であると保証できるとは限らないためである。しかし図6は、よくトレーニングされたネットワークの場合、第1のネットワークのトレーニングの精度に関するアルファ値の現在の議論にとって、十分良好な近似となるものと思われる。
したがって、クラスタ602~606の分離は異なるが、すべてはアルファ値によって一部決定される。この実施形態では、コスト関数を最適化するように第1のニューラルネットワークをトレーニングS510するステップが、第1の距離尺度を少なくともアルファを4で割った商まで低減させることを含む。これは、特定の入力画像についての出力特徴が、正しい区分/識別を招く(すなわち、参照ニューラルネットワークを使用して区分/識別されるように、区分/識別される)ことが、依然として合理的に可能性のある、最小距離である。
図7は、簡単に、第1の距離尺度を少なくともアルファを4で割った商まで最小化するように第1のニューラルネットワークをトレーニングする値の背後にある、論理的根拠を示す。説明しやすくするために、図7では、各画像データが処理され、1次元空間にマッピングされており、すなわち、出力された特徴ベクトルは1つの値を備える。各クラスタ602、606について2つの特徴ベクトルが示されており、これらは、互いに最も遠くに離れているがそれでもなお同じアイデンティティ/クラスを有する特徴ベクトル、すなわち、各クラスタ602、606内の最も隔たった特徴ベクトルを表現している。左側のクラスタ602内の特徴ベクトル間の距離はしたがってd1であり、右側のクラスタ606内の特徴ベクトル間の距離はしたがってd2である。上述したように、多次元空間内の異なるアイデンティティ/クラスの最も近い2つの特徴ベクトル間の距離は、α+max(d1,d2)である。図7に示すように、この分離は、第1のニューラルネットワークをトレーニングする際のいくらかのマージンを可能にし、それでもなお、関与する処理された画像データについて正しい識別/区分を生成する。マージンはこの場合、アルファ/4である。すべての特徴ベクトルが「誤った方向」にアルファ/4だけずれている、すなわち、それによって、同じクラスタ602、604内のサンプル(例えば、各サンプルについての特徴ベクトルを表現する図7の星)間の距離が増大し、かつ隣接するクラスタ内の「外側」サンプル間の距離が増大する場合、異なるアイデンティティ/クラスの最も近い特徴ベクトルはそれでもなお、同じクラスタ602、604内の互いに最も遠くに離れている特徴ベクトルよりも、互いに遠くに離れている。
上述したように、第1のニューラルネットワーク104をトレーニングするための方法を使用すると、たとえ第1のニューラルネットワーク104と第2のニューラルネットワーク302が例えば異なるタイプのニューラルネットワークであっても、それらから比較可能な特徴ベクトルが出力され得る。例えば、参照ニューラルネットワークは、第1のネットワークアーキテクチャを使用して実装されてよく、第1のニューラルネットワークは、異なるネットワークアーキテクチャを使用して実装されてよい。さらに、第1のニューラルネットワーク104をトレーニングするための方法を使用すると、たとえ第1のニューラルネットワーク104が第1のハードウェアアーキテクチャを有するデバイスによって実装され、参照ニューラルネットワーク302が、第1のハードウェアアーキテクチャとは異なる第2のハードウェアアーキテクチャを有するデバイスによって実装されても、第1のニューラルネットワーク104および第2のニューラルネットワーク302から比較可能な特徴ベクトルが出力され得る。したがって、このトレーニング方法は、例えば浮動小数点値を丸める異なる方途に対してロバストである。
第1のトレーニング画像が第1のニューラルネットワークのトレーニングに使用された後、(いずれかの実施形態による)上記の方法が、複数のトレーニング画像について反復(図5のL1)されてよい。
いくつかの実施形態によれば、第1のニューラルネットワーク104がバージョン番号と関連付けられ得、バージョン番号は、第1のニューラルネットワークがトレーニングされたときの参照ニューラルネットワーク302のバージョン番号を反映している。この実施形態は、ニューラルネットワーク間で特徴ベクトルが比較されるときに、同じバージョンの参照ニューラルネットワーク(すなわち参照ニューラルネットワーク302)がトレーニングに使用されていることを確実にするために使用され得る。そうでない場合は、特徴ベクトルの比較を行うことができない。
図4は、例として、本開示に従ってトレーニングされたニューラルネットワークをそれぞれが備えた複数のデバイス404~408を備えるシステム400を示す。したがって、システム400は、ニューラルネットワークからの出力特徴ベクトルが比較され得るので、デバイス間での物体の追跡に使用され得る。例えば、各デバイスは、画像から物体を抽出して、抽出された物体の画像データを第1のニューラルネットワークを使用して処理し、かつ第1のニューラルネットワークから出力された特徴ベクトル106を送信するように構成され得る。いくつかの実施形態によれば、複数のデバイスのうちの少なくとも1つは、ネットワークカメラであり、この場合、物体は、ネットワークカメラによって取り込まれた画像から抽出される。
システム400では、デバイスから特徴ベクトルを受信するように構成された物体追跡ユニット402が、デバイスシステムを通じて、受信した特徴ベクトル106に基づいて物体を追跡するために使用され得る。物体追跡ユニット402は、複数のデバイスのうちの少なくとも1つ内に実装され得、これは、物体追跡ユニット自体が、複数のデバイス404~408に類似のデバイスであること、および物体追跡ユニット自体も、本明細書で述べたようにトレーニングされたニューラルネットワークを備える、ということを意味する。したがって、システム400は、ピアツーピアネットワークまたは他の任意の適切なネットワークアーキテクチャとすることができる。この場合、複数のデバイス404~408のうちのあるデバイスからの特徴ベクトル106の送信は、ユニキャスト、マルチキャスト、またはブロードキャスト送信を使用して遂行され得る。他の実施形態では、物体追跡ユニット402は、複数のデバイス404~408とは別のさらなるデバイス内に実装され、複数のデバイス404~408の各々に接続される。この実施形態では、物体追跡ユニット402は、物体の追跡の中央操作を容易にするために、サーバまたは類似物内に実装され得る。したがって、複数のデバイス404~408と別途の物体追跡ユニット402との間での特徴ベクトルの送信は、専用送信(すなわち特徴ベクトル106の専用レシーバへの)とすることができる。
いくつかの実施形態によれば、複数のデバイスの各々のデバイスの第1のニューラルネットワークがさらに、バージョン番号410と関連付けられる。上述したように、バージョン番号は、第1のニューラルネットワークがトレーニングされたときの参照ニューラルネットワークのバージョン番号を反映している。この場合、複数のデバイス404~408のうちのあるデバイスのバージョン番号410が、その第1のニューラルネットワークから出力された特徴ベクトル106と一緒に送信される。したがって、物体追跡ユニットは、デバイスシステムを通じて、受信した特徴ベクトルおよびバージョン番号に基づいて物体を追跡するように構成され得、同じバージョン番号をもつニューラルネットワークを有するデバイスから受信した特徴ベクトルのみが比較されることを確実にすることができる。
ある受信した特徴ベクトル106についてバージョン番号410が異なる場合、物体追跡ユニット402はその特徴ベクトルを無視することができる。他の実施形態によれば、物体追跡ユニットは、正しいバージョン番号がそのニューラルネットワークに関連付けられている別のデバイス404~406、または例えば正しいバージョン番号と関連付けられたニューラルネットワークを実装したサーバに、誤ったバージョン番号をもつ特徴ベクトルの原因となっている画像データを再処理して、新たな特徴ベクトルを物体追跡ユニット402に送信するように、要求することができる。物体追跡ユニット402は、誤った(古い)バージョン番号をもつニューラルネットワークの更新(再トレーニング)をトリガし、かつ/またはそれに応じてデバイスにフラグをたてることもできる。

Claims (8)

  1. 複数のデバイス(404~408)を備えるシステムであって、各デバイスは別個の第1のニューラルネットワークを有し、前記第1のニューラルネットワークは、画像データ(102、310)を処理して、前記処理された画像データについての特徴ベクトル(106)を形成する値(106a-d)からなるベクトルを出力するように構成され、各デバイスは、
    参照特徴ベクトル(306)を取得(S508)するステップであって、前記参照特徴ベクトルが、第1のトレーニング画像(310)を参照ニューラルネットワーク(302)によって処理することによって計算され、前記参照ニューラルネットワークが、画像データを処理して、前記処理された画像データについての特徴ベクトルを形成する値からなるベクトルを出力するように構成される、取得するステップと、
    コスト関数(308)を最適化するように当該デバイスの前記第1のニューラルネットワークをトレーニング(S510)するステップであって、前記コスト関数が、前記参照特徴ベクトルと、前記第1のトレーニング画像を処理する際に前記第1のニューラルネットワークによって出力された特徴ベクトルとの間の第1の距離尺度を少なくとも含み、前記コスト関数が、前記第1の距離尺度を最小化するように適合され、前記第1のニューラルネットワークと前記参照ニューラルネットワークが、異なるタイプのニューラルネットワークである、トレーニングするステップと
    行うような構成のプロセッサを含み、
    各デバイスがさらに、画像から物体を抽出して、前記抽出された物体の画像データを当該デバイスの前記第1のニューラルネットワークを使用して処理し、かつ前記第1のニューラルネットワークから出力された特徴ベクトル(106)を送信するように構成され、
    前記システムがさらに、前記デバイスから特徴ベクトルを受信し、かつ前記システムを通じて、前記受信した特徴ベクトルに基づいて物体を追跡するように構成された、物体追跡ユニット(402)を備える、システム
  2. 各デバイスの前記第1のニューラルネットワークが、第1のビット幅を含む内部数表現、および第1のネットワークアーキテクチャを有し、前記参照ニューラルネットワークが、第2のビット幅を含む内部数表現、および第2のネットワークアーキテクチャを有し、前記第1のビット幅が前記第2のビット幅とは異なり、かつ/または前記第1のネットワークアーキテクチャが前記第2のネットワークアーキテクチャとは異なる、請求項1に記載のシステム
  3. 前記参照ニューラルネットワークが、トリプレットベースのコスト関数を使用してトレーニングされており、前記トリプレットベースのコスト関数が、同じ区分または識別(602~606)の1対の入力画像を別の区分または識別(602~606)の第3の入力画像と、前記同じ区分または識別の前記1対の入力画像間の第1の距離と、前記同じ区分または識別の前記1対の入力画像のうちの一方と前記第3の入力画像との間の第2の距離との間の差が、少なくとも距離マージン(アルファ(α))となるように、分離することを目的としており、前記コスト関数を最適化するように各デバイスの前記第1のニューラルネットワークをトレーニングする前記ステップが、前記第1の距離尺度を少なくともアルファを4で割った商まで低減させることを含む、請求項1または2に記載のシステム
  4. デバイスの前記プロセッサにより参照特徴ベクトルを取得する前記ステップが、前記第1のトレーニング画像を前記参照ニューラルネットワークに送信すること、前記第1のトレーニング画像を前記参照ニューラルネットワークによって処理(S504)すること、および前記参照ニューラルネットワークから、前記出力された特徴ベクトルを取得することを含む、請求項1から3のいずれか一項に記載のシステム
  5. デバイスの前記プロセッサにより参照特徴ベクトルを取得する前記ステップが、前記第1のトレーニング画像と関係のあるデータ(310’)を、参照特徴ベクトルと参照特徴ベクトルごとの識別子とを備えるデータベース(304)内での識別子として使用すること、ならびに前記識別子に対応する前記参照特徴ベクトルを前記データベースから取得(S506)することを含む、請求項1から3のいずれか一項に記載のシステム
  6. デバイスの前記プロセッサがさらに、請求項1から5のいずれか一項に記載のステップを、複数のトレーニング画像について反復(L1)するように構成されている、請求項1から5のいずれか一項に記載のシステム
  7. 前記複数のデバイスの各々の前記第1のニューラルネットワークがさらに、バージョン番号(410)と関連付けられ、前記バージョン番号が、前記第1のニューラルネットワークがトレーニングされたときの前記参照ニューラルネットワークのバージョン番号を反映しており、前記複数のデバイスのうちのあるデバイスの前記第1のニューラルネットワークに関連付けられた前記バージョン番号が、前記第1のニューラルネットワークから出力された前記特徴ベクトルと一緒に送信され、前記物体追跡ユニットが、前記システムを通じて、前記受信した特徴ベクトルおよび前記バージョン番号に基づいて物体を追跡するように構成される、請求項1から6のいずれか一項に記載のシステム。
  8. 前記物体追跡ユニットが、前記システムを通じて、同じバージョン番号をもつ第1のニューラルネットワークを有するデバイスから受信された特徴ベクトルのみを比較することにより、物体を追跡するように構成される、請求項7に記載のシステム。
JP2017231464A 2016-12-13 2017-12-01 ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス Active JP7072374B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16203595.0 2016-12-13
EP16203595.0A EP3336774B1 (en) 2016-12-13 2016-12-13 Method, computer program product and device for training a neural network

Publications (2)

Publication Number Publication Date
JP2018139103A JP2018139103A (ja) 2018-09-06
JP7072374B2 true JP7072374B2 (ja) 2022-05-20

Family

ID=57609676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017231464A Active JP7072374B2 (ja) 2016-12-13 2017-12-01 ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス

Country Status (6)

Country Link
US (1) US10956781B2 (ja)
EP (1) EP3336774B1 (ja)
JP (1) JP7072374B2 (ja)
KR (1) KR102605599B1 (ja)
CN (1) CN108229539B (ja)
TW (1) TWI803472B (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778867B (zh) * 2016-12-15 2020-07-07 北京旷视科技有限公司 目标检测方法和装置、神经网络训练方法和装置
KR20180071031A (ko) * 2016-12-19 2018-06-27 엘지전자 주식회사 공기조화기 및 그 제어방법
EP3580718A4 (en) * 2017-02-09 2021-01-13 Painted Dog, Inc. METHODS AND APPARATUS FOR DETECTING, FILTERING AND IDENTIFYING OBJECTS IN CONTINUOUS VIDEO
KR102535411B1 (ko) * 2017-11-16 2023-05-23 삼성전자주식회사 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
KR102040953B1 (ko) * 2018-04-10 2019-11-27 엘지전자 주식회사 인공지능에 기반하여 영역 선택적으로 동작하는 공기 조화기, 클라우드 서버, 및 이들의 동작 방법
KR20200000541A (ko) * 2018-06-25 2020-01-03 주식회사 수아랩 인공 신경망의 학습 방법
DE102019208257A1 (de) * 2018-07-03 2020-01-09 Heidelberger Druckmaschinen Ag Druckqualitätsanalyse mit neuronalen Netzen
WO2020011648A1 (en) * 2018-07-13 2020-01-16 Asml Netherlands B.V. Pattern grouping method based on machine learning
CN109101602B (zh) * 2018-08-01 2023-09-12 腾讯科技(深圳)有限公司 图像检索模型训练方法、图像检索方法、设备及存储介质
US20200065676A1 (en) * 2018-08-22 2020-02-27 National Tsing Hua University Neural network method, system, and computer program product with inference-time bitwidth flexibility
EP3617953A1 (en) * 2018-08-30 2020-03-04 Koninklijke Philips N.V. An adaptable neural network
CN110569864A (zh) * 2018-09-04 2019-12-13 阿里巴巴集团控股有限公司 基于gan网络的车损图像生成方法和装置
EP3853764A1 (en) * 2018-09-20 2021-07-28 NVIDIA Corporation Training neural networks for vehicle re-identification
US11308133B2 (en) * 2018-09-28 2022-04-19 International Business Machines Corporation Entity matching using visual information
US11093740B2 (en) * 2018-11-09 2021-08-17 Microsoft Technology Licensing, Llc Supervised OCR training for custom forms
US11042611B2 (en) * 2018-12-10 2021-06-22 XNOR.ai, Inc. Digital watermarking of machine-learning models
US11687761B2 (en) * 2018-12-11 2023-06-27 Amazon Technologies, Inc. Improper neural network input detection and handling
TWI696961B (zh) 2018-12-12 2020-06-21 財團法人工業技術研究院 深度神經網路硬體加速器與其操作方法
EP3667557B1 (en) * 2018-12-13 2021-06-16 Axis AB Method and device for tracking an object
US10904637B2 (en) * 2018-12-17 2021-01-26 Qualcomm Incorporated Embedded rendering engine for media data
DE102018222347A1 (de) * 2018-12-19 2020-06-25 Robert Bosch Gmbh Verfahren zum Trainieren eines neuronalen Netzes
JP7230521B2 (ja) * 2019-01-17 2023-03-01 富士通株式会社 学習方法、学習プログラムおよび学習装置
US10902303B2 (en) * 2019-01-22 2021-01-26 Honda Motor Co., Ltd. Methods and systems for visual recognition using triplet loss
US11080601B2 (en) 2019-04-03 2021-08-03 Mashtraxx Limited Method of training a neural network to reflect emotional perception and related system and method for categorizing and finding associated content
KR102193115B1 (ko) 2019-04-24 2020-12-18 넷마블 주식회사 드로잉 기반 보안 인증을 수행하기 위한 컴퓨터 프로그램
CN110147836B (zh) * 2019-05-13 2021-07-02 腾讯科技(深圳)有限公司 模型训练方法、装置、终端及存储介质
EP3748531A1 (en) * 2019-06-03 2020-12-09 Robert Bosch GmbH Device and method of digital image content recognition, training of the same
CN110263755B (zh) 2019-06-28 2021-04-27 上海鹰瞳医疗科技有限公司 眼底图像识别模型训练方法、眼底图像识别方法和设备
CN110213784B (zh) * 2019-07-05 2022-05-20 中国联合网络通信集团有限公司 一种流量预测方法及装置
US11023783B2 (en) * 2019-09-11 2021-06-01 International Business Machines Corporation Network architecture search with global optimization
US10943353B1 (en) 2019-09-11 2021-03-09 International Business Machines Corporation Handling untrainable conditions in a network architecture search
US12086719B2 (en) * 2019-10-11 2024-09-10 Royal Bank Of Canada System and method of machine learning using embedding networks
CN111126223B (zh) * 2019-12-16 2023-04-18 山西大学 基于光流引导特征的视频行人再识别方法
US11430088B2 (en) * 2019-12-23 2022-08-30 Samsung Electronics Co., Ltd. Method and apparatus for data anonymization
CN111047037B (zh) * 2019-12-27 2024-05-24 北京市商汤科技开发有限公司 数据处理方法、装置、设备及存储介质
RU2726185C1 (ru) 2020-01-21 2020-07-09 Общество с ограниченной ответстсвенностью «Аби Продакшн» Детектирование и идентификация объектов на изображениях
CN113642593B (zh) 2020-04-27 2024-03-01 台达电子工业股份有限公司 影像处理方法与影像处理系统
KR20210133471A (ko) * 2020-04-29 2021-11-08 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN112085701B (zh) * 2020-08-05 2024-06-11 深圳市优必选科技股份有限公司 一种人脸模糊度检测方法、装置、终端设备及存储介质
CN112132199A (zh) * 2020-09-16 2020-12-25 上海眼控科技股份有限公司 图片识别模型的训练方法及设备
GB2599441B (en) 2020-10-02 2024-02-28 Emotional Perception Ai Ltd System and method for recommending semantically relevant content
US11704772B2 (en) * 2020-11-19 2023-07-18 Raytheon Company Image classification system
KR102615815B1 (ko) * 2021-06-04 2023-12-20 네이버 주식회사 검색 질의의 사용자 의도에 기초한 상품 기획전 생성 방법 및 시스템
KR102648300B1 (ko) * 2021-06-09 2024-03-14 네이버 주식회사 검색 질의의 사용자 의도에 기초한 상품군 생성 방법 및 시스템
US11573795B1 (en) * 2021-08-02 2023-02-07 Nvidia Corporation Using a vector processor to configure a direct memory access system for feature tracking operations in a system on a chip
WO2023105661A1 (ja) * 2021-12-08 2023-06-15 日本電気株式会社 人物追跡システム、人物追跡方法、及び、記憶媒体
US20230298350A1 (en) * 2022-03-15 2023-09-21 Genetec Inc. Vehicle identification system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850470A (en) * 1995-08-30 1998-12-15 Siemens Corporate Research, Inc. Neural network for locating and recognizing a deformable object
GB2321363A (en) * 1997-01-21 1998-07-22 Northern Telecom Ltd Telecommunications
AU2003248010B2 (en) * 2002-09-18 2005-09-29 Canon Kabushiki Kaisha Method for Tracking Facial Features in a Video Sequence
AU2002951473A0 (en) * 2002-09-18 2002-10-03 Canon Kabushiki Kaisha Method for tracking facial features in video sequence
RU59842U1 (ru) * 2006-10-03 2006-12-27 Закрытое акционерное общество "Научно-инженерный центр "СИНАПС" Устройство сейсмоакустического обнаружения и классификации движущихся объектов (варианты)
US9256823B2 (en) * 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network
US8559684B1 (en) * 2012-08-15 2013-10-15 Google Inc. Facial recognition similarity threshold adjustment
US9489373B2 (en) * 2013-07-12 2016-11-08 Microsoft Technology Licensing, Llc Interactive segment extraction in computer-human interactive learning
US20150062321A1 (en) * 2013-08-27 2015-03-05 Blackberry Limited Device control by facial feature recognition
US9720934B1 (en) * 2014-03-13 2017-08-01 A9.Com, Inc. Object recognition of feature-sparse or texture-limited subject matter
US9710729B2 (en) 2014-09-04 2017-07-18 Xerox Corporation Domain adaptation for image classification with class priors
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
WO2016096309A1 (en) * 2014-12-15 2016-06-23 Asml Netherlands B.V. Optimization based on machine learning
EP3796235B1 (en) * 2014-12-17 2024-09-04 Google LLC Generating numeric embeddings of images
US9836839B2 (en) 2015-05-28 2017-12-05 Tokitae Llc Image analysis systems and related methods
US10586169B2 (en) * 2015-10-16 2020-03-10 Microsoft Technology Licensing, Llc Common feature protocol for collaborative machine learning
US9798742B2 (en) * 2015-12-21 2017-10-24 International Business Machines Corporation System and method for the identification of personal presence and for enrichment of metadata in image media
CN106056628B (zh) * 2016-05-30 2019-06-18 中国科学院计算技术研究所 基于深度卷积神经网络特征融合的目标跟踪方法及系统
US10083347B2 (en) * 2016-07-29 2018-09-25 NTech lab LLC Face identification using artificial neural network
US10068135B2 (en) * 2016-12-22 2018-09-04 TCL Research America Inc. Face detection, identification, and tracking system for robotic devices
US10025950B1 (en) * 2017-09-17 2018-07-17 Everalbum, Inc Systems and methods for image recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Adriana Romero 他,FIT NETS: HINTS FOR THIN DEEP NETS,arXiv1412.6550v4 [online],2015年03月27日,p1-13,https://arxiv.org/abs/1412.6550v4

Also Published As

Publication number Publication date
TW201822076A (zh) 2018-06-16
KR102605599B1 (ko) 2023-11-23
EP3336774B1 (en) 2020-11-25
TWI803472B (zh) 2023-06-01
CN108229539B (zh) 2023-09-12
US10956781B2 (en) 2021-03-23
KR20180068292A (ko) 2018-06-21
US20180165546A1 (en) 2018-06-14
JP2018139103A (ja) 2018-09-06
CN108229539A (zh) 2018-06-29
EP3336774A1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
JP7072374B2 (ja) ニューラルネットワークをトレーニングするための方法、コンピュータプログラム製品、およびデバイス
US10133792B2 (en) Track reconciliation from multiple data sources
CN107133569B (zh) 基于泛化多标记学习的监控视频多粒度标注方法
CN109447121B (zh) 一种视觉传感器网络多目标跟踪方法、装置及系统
US20120250984A1 (en) Image segmentation for distributed target tracking and scene analysis
Liu et al. Indexing visual features: Real-time loop closure detection using a tree structure
CN104765768A (zh) 海量人脸库的快速准确检索方法
US11068786B1 (en) System and method for domain specific neural network pruning
US20220147771A1 (en) Method and system for training image classification model
CN109784270A (zh) 一种提升人脸图片识别完整性的处理方法
CN111601361A (zh) 一种实时检测Ad hoc网络关键节点的方法及装置
Rintoul et al. Trajectory analysis via a geometric feature space approach
KR20210152269A (ko) 딥러닝 모델 학습 방법 및 이를 수행하기 위한 컴퓨팅 장치
CN108496185B (zh) 用于对象检测的系统和方法
CN115115981A (zh) 数据处理方法、装置、设备、存储介质及计算机程序产品
CN116796038A (zh) 遥感数据检索方法、装置、边缘处理设备及存储介质
KR102514920B1 (ko) 소셜 미디어 데이터에 대한 준 지도 멀티 모달 딥 임베디드 클러스터링을 이용한 인간 활동 인식 방법
Jayarajah et al. Comai: Enabling lightweight, collaborative intelligence by retrofitting vision dnns
KR20240115727A (ko) 비주얼 로컬라이제이션을 수행하기 위한 방법 및 장치
KR101715782B1 (ko) 물체 인식 시스템 및 그 물체 인식 방법
KR102426594B1 (ko) 크라우드소싱 환경에서 객체의 위치를 추정하는 시스템 및 방법
US20220318229A1 (en) Using multiple trained models to reduce data labeling efforts
JP2020181265A (ja) 情報処理装置、システム、情報処理方法及びプログラム
Das et al. An Efficient And Robust Framework For Collaborative Monocular Visual Slam
Cai et al. Adaptive Clustered Federated Learning with Representation Similarity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220510

R150 Certificate of patent or registration of utility model

Ref document number: 7072374

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150