IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7425527物体検出のインクリメンタル学習システムおよび方法
<>
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図1
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図2
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図3
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図4
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図5
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図6
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図7
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図8
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図9
  • 特許-物体検出のインクリメンタル学習システムおよび方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-23
(45)【発行日】2024-01-31
(54)【発明の名称】物体検出のインクリメンタル学習システムおよび方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240124BHJP
   G06N 3/08 20230101ALI20240124BHJP
【FI】
G06T7/00 350C
G06N3/08
【請求項の数】 12
(21)【出願番号】P 2021551931
(86)(22)【出願日】2020-03-13
(65)【公表番号】
(43)【公表日】2022-05-10
(86)【国際出願番号】 IB2020052301
(87)【国際公開番号】W WO2020188436
(87)【国際公開日】2020-09-24
【審査請求日】2022-08-24
(31)【優先権主張番号】16/360,563
(32)【優先日】2019-03-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ゾウ、ワン
(72)【発明者】
【氏名】チャン、シユ
(72)【発明者】
【氏名】ソーサ、ノーマ、エディス
(72)【発明者】
【氏名】シスボト、エムラ アキン
【審査官】片岡 利延
(56)【参考文献】
【文献】特開平05-181972(JP,A)
【文献】特開2017-211689(JP,A)
【文献】特開2012-235796(JP,A)
【文献】Konstantin Shmelkov et al.,“Incremental Learning of Object Detectors without Catastrophic Forgetting”,[online],2017年,pp.3400-3409,https://openaccess.thecvf.com/content_ICCV_2017/papers/Shmelkov_Incremental_Learning_of_ICCV_2017_paper.pdf
【文献】Guobin Chen et al.,“Learning Efficient Object Detection Models with Knowledge Distillation”,[online],2017年,https://www.nec-labs.com/documents/67/Learning_Efficient_Object_Detection_Models_with_Knowledge_Distillation.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
以前に学習した1つまたは複数の物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための方法であって、
全体的検出確度基準が満たされるまで2段階ニューラル・ネットワーク物体検出器を繰返し更新することにより、前記2段階ニューラル・ネットワーク物体検出器を、画像内の追加の物体クラスに属する物体を見つけて識別するように訓練すること
を含み、
前記更新することが、前記以前に学習した1つまたは複数の物体クラスに属する物体を見つけて識別する初期能力の損失を最小化することと、加えて前記追加の物体クラスに属する前記物体を見つけて識別する能力を最大化することとの釣合いをとるように実行され、
前記全体的検出確度基準が満たされているかどうかを評価することが、
前記2段階ニューラル・ネットワーク物体検出器の初期バージョンによって出力された領域提案を、前記2段階ニューラル・ネットワーク物体検出器の現在のバージョンによって出力された現在の領域提案と比較することに基づいて、領域提案蒸留損失を決定することであって、前記領域提案蒸留損失が、以前に学習した物体クラスに属する物体を見つける能力の低下を定量化する、前記領域提案蒸留損失を決定すること、および
前記2段階ニューラル・ネットワーク物体検出器の前記初期バージョンによって取得された以前に学習した物体の物体予測を、前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンによって出力された物体予測と比較することに基づいて、以前に学習した物体の物体識別蒸留損失を決定すること
を含む、方法。
【請求項2】
前記以前に学習した1つまたは複数の物体クラスのいずれかに属する物体に対する検出確度が所定の閾値より低下した場合に、更新前の前記2段階ニューラル・ネットワーク物体検出器に復帰すること
を含む、請求項1に記載の方法。
【請求項3】
前記2段階ニューラル・ネットワーク物体検出器が、前記領域提案蒸留損失および前記以前に学習した物体の物体識別蒸留損失を最小化するように更新される、
請求項1に記載の方法。
【請求項4】
前記2段階ニューラル・ネットワーク物体検出器が、全損失に最適化法を適用することによって更新され、前記全損失が、
前記領域提案蒸留損失、
前記以前に学習した物体の物体識別蒸留損失、
前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンの領域提案ネットワーク損失、および
前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンの物体識別損失
を結合したものであり、
前記領域提案ネットワーク損失および前記物体識別損失がそれぞれ、前記追加の物体クラスに属する前記物体を見つけて識別する前記能力を定量化する、
請求項に記載の方法。
【請求項5】
前記最適化法が、前記全損失に適用される確率的勾配降下法である、
請求項に記載の方法。
【請求項6】
別の全体的検出確度基準が満たされるまで前記2段階ニューラル・ネットワーク物体検出器を繰返し追加的に更新することにより、前記2段階ニューラル・ネットワーク物体検出器を、別の追加の物体クラスに属する物体を見つけて識別するように、追加訓練すること
をさらに含み、
前記追加的に更新することが、前記以前に学習した1つまたは複数の物体クラスに属する前記物体および前記追加のクラスに属する前記物体を見つけて識別する能力の損失を最小化し、その一方で、前記別の追加の物体クラスに属する前記物体を見つけて識別する追加の能力を最大化するように実行される、
請求項1に記載の方法。
【請求項7】
前記2段階ニューラル・ネットワーク物体検出器が、同時に、前記追加の物体クラスに属する前記物体および別の追加の物体クラスに属する物体を見つけて識別するように訓練される、
請求項1に記載の方法。
【請求項8】
前記2段階ニューラル・ネットワーク物体検出器を、前記追加の物体クラスに属する前記物体を見つけて識別するように訓練するよう求めるユーザ・リクエストを受け取ること、および
前記追加の物体クラスに属する物体を含む訓練画像をインターネットから探し出すこと
のうちの少なくとも一方をさらに含む、請求項1に記載の方法。
【請求項9】
以前に学習した物体クラスの破局的忘却を伴うことなしに物体検出をインクリメンタル学習するための方法であって、
少なくとも1つの以前に学習した物体クラスに属する物体を検出することができる2段階ニューラル・ネットワーク物体検出器の初期バージョンに知られていない物体クラスに属する物体を含む訓練画像を受け取ること、および
前記訓練画像のうちの複数の画像を1画像ずつ使用して、所定の条件が満たされるまで、最初は知られていない前記物体クラスの前記物体を検出するように前記2段階ニューラル・ネットワーク物体検出器を訓練すること
を含み、前記訓練することが、
前記複数の画像のうちの1つの画像を、前記2段階ニューラル・ネットワーク物体検出器の前記初期バージョンに入力して、前記少なくとも1つの以前に学習した物体クラスに対する第1の領域提案および第1の物体予測を取得し、
前記1つの画像を、前記2段階ニューラル・ネットワーク物体検出器の現在のバージョンに入力して、前記少なくとも1つの以前に学習した物体クラスおよび最初は知られていない前記物体クラスに対する第2の領域提案および第2の物体予測を取得し、
前記第1の領域提案を前記第2の領域提案と比較して、前記少なくとも1つの以前に学習した物体クラスの物体を見つける能力の低下を定量化する領域提案蒸留損失を推定し、
前記第1の物体予測を前記第2の物体予測と比較して、前記少なくとも1つの以前に学習した物体クラスの前記物体を識別する能力の低下を定量化する物体識別蒸留損失を推定し、
前記第2の領域提案を前記1つの画像のグラウンドトルース・ラベルと比較して、最初は知られていない前記物体クラスに対する領域提案ネットワーク損失を推定し、
前記第2の物体予測を前記グラウンドトルース・ラベルと比較して、最初は知られていない前記物体クラスに対する物体識別損失を推定し、
前記領域提案蒸留損失、前記物体識別蒸留損失、前記領域提案ネットワーク損失および前記物体識別損失を結合した全損失を計算し、
前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンを、前記全損失を最小化するように更新すること
によって実行され、
訓練の繰返し回数が所定の回数に達したとき、または全損失の低下率が所定の閾値よりも低いときに、前記所定の条件が満たされる、
方法。
【請求項10】
以前に学習した1つまたは複数の物体クラスの破局的忘却を伴わない画像内での物体検出のインクリメンタル学習をするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータに、請求項1ないしのいずれか1項に記載の方法を実行させる、コンピュータ・プログラム。
【請求項11】
以前に学習した1つまたは複数の物体クラスの破局的忘却を伴わない画像内での物体検出のインクリメンタル学習をするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータに、
訓練画像のうちの複数の画像を1画像ずつ使用して、所定の条件が満たされるまで、最初は知られていない前記物体クラスの前記物体を検出するように2段階ニューラル・ネットワーク物体検出器を訓練すること
を実行させ、前記訓練することが、
前記複数の画像のうちの1つの画像を、前記2段階ニューラル・ネットワーク物体検出器の初期バージョンに入力して、前記少なくとも1つの以前に学習した物体クラスに対する第1の領域提案および第1の物体予測を取得し、
前記1つの画像を、前記2段階ニューラル・ネットワーク物体検出器の現在のバージョンに入力して、前記少なくとも1つの以前に学習した物体クラスおよび最初は知られていない前記物体クラスに対する第2の領域提案および第2の物体予測を取得し、
前記第1の領域提案を前記第2の領域提案と比較して、前記少なくとも1つの以前に学習した物体クラスの物体を見つける能力の低下を定量化する領域提案蒸留損失を推定し、
前記第1の物体予測を前記第2の物体予測と比較して、前記少なくとも1つの以前に学習した物体クラスの前記物体を識別する能力の低下を定量化する物体識別蒸留損失を推定し、
前記第2の領域提案を前記1つの画像のグラウンドトルース・ラベルと比較して、最初は知られていない前記物体クラスに対する領域提案ネットワーク損失を推定し、
前記第2の物体予測を前記グラウンドトルース・ラベルと比較して、最初は知られていない前記物体クラスに対する物体識別損失を推定し、
前記領域提案蒸留損失、前記物体識別蒸留損失、前記領域提案ネットワーク損失および前記物体識別損失を結合した全損失を計算し、
前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンを、前記全損失を最小化するように更新すること
によって実行され、
訓練の繰返し回数が所定の回数に達したとき、または全損失の低下率が所定の閾値よりも低いときに、前記所定の条件が満たされる、
コンピュータ・プログラム。
【請求項12】
以前に学習した物体クラスの破局的忘却を伴わない物体検出のインクリメンタル学習のためのシステムであって、
ユーザ・インタフェースを有するコンピューティング・デバイスであって、2段階ニューラル・ネットワーク物体検出器を使用して物体を見つけて識別し、クラウド・サーバと通信するように構成されている前記コンピューティング・デバイスと、
訓練画像を集め、以前に学習した物体クラスに属する物体を見つけて識別する前記2段階ニューラル・ネットワーク物体検出器の初期バージョンを記憶し、前記コンピューティング・デバイスおよびインターネットと通信するように構成されている前記クラウド・サーバと、
を備え、
前記コンピューティング・デバイスと前記クラウド・サーバのうちの少なくとも一方が、全体的検出確度基準が満たされるまで、以前に学習した物体クラスに属する物体を見つけて識別することができる前記2段階ニューラル・ネットワーク物体検出器を繰返し更新することにより、前記2段階ニューラル・ネットワーク物体検出器を、追加の物体クラスに属する物体を見つけて識別するように訓練するように構成されており、
前記更新することが、前記1つまたは複数の物体クラスに属する物体を見つけて識別する前記2段階ニューラル・ネットワーク物体検出器の初期能力の損失を最小化することと、加えて前記追加の物体クラスに属する物体を見つけて識別する前記2段階ニューラル・ネットワーク物体検出器の能力を最大化することとの釣合いをとるように実行され、
前記全体的検出確度基準が満たされているかどうかを評価することが、
前記2段階ニューラル・ネットワーク物体検出器の初期バージョンによって出力された領域提案を、前記2段階ニューラル・ネットワーク物体検出器の現在のバージョンによって出力された現在の領域提案と比較することに基づいて、領域提案蒸留損失を決定することであって、前記領域提案蒸留損失が、以前に学習した物体クラスに属する物体を見つける能力の低下を定量化する、前記領域提案蒸留損失を決定すること、および
前記2段階ニューラル・ネットワーク物体検出器の前記初期バージョンによって取得された以前に学習した物体の物体予測を、前記2段階ニューラル・ネットワーク物体検出器の前記現在のバージョンによって出力された物体予測と比較することに基づいて、以前に学習した物体の物体識別蒸留損失を決定すること
を含む、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像内もしくはビデオ内またはその両方で物体を検出することに関する。
【背景技術】
【0002】
医療用画像の自動解析および画像認識ベースのセキュリティなどの現実のさまざまな用途では、画像内もしくはビデオ内またはその両方で物体(すなわち、知られている物体クラスのインスタンス)を検出する。近年、画像内もしくはビデオ内またはその両方での物体検出は、ニューラル・ネットワークの開発によってかなりの恩恵をうけた。本明細書で使用される場合、用語「物体検出器」は「ニューラル・ネットワーク物体検出器」の短縮形である。ニューラル・ネットワーク物体検出器は本質的に、一組のパラメータによって特徴づけられるモデルである。物体検出は、画像内もしくはビデオ内またはその両方で物体の位置および物体のタイプまたはクラスを決定することを含む。従来の物体検出器は、1段階または2段階物体検出器を利用する。1段階物体検出器、例えば、ユー・オンリー・ルック・ワンス(You-Only-Look-Once、YOLO)、およびシングル・ショット・デテクション(Single-Shot-Detection、SSD)は、格子ベースの物体予測を固定された回数だけ実行することにより、どこに物体が存在するのかということと、どんな物体が存在するのかということを同時に決定する。2段階物体検出器は、知られている物体がおそらく位置する領域を提案し、次いで、これとは別に、提案した領域に特定の物体予測(例えば、確率)を関連づける。
【0003】
しかしながら、ニューラル・ネットワークには、破局的忘却(catastrophic forgetting)を伴うという欠点、すなわち、第2のクラスの物体を検出するように所与の物体検出器を再訓練するためにインクリメンタル学習が使用されているときに、第1のクラスの物体を検出する能力を失うという欠点があり、これによって、インクリメンタル学習は、最後まで一貫した検出とは両立しないものとなる。破局的忘却を回避する試みには、以前に学習したクラスを検出するための物体検出器と並列に、新たなクラスに対する専用の新たな物体検出器をランさせることが含まれ、この試みでは、必要な計算リソース(メモリおよび実行能力)が2倍になる。別の手法では、新たなクラスと以前に学習したクラスの両方に属する物体の組合せを含む画像を用いて物体検出器を訓練するが、そのような組み合わされたデータセットは入手可能でないことがある。新たなクラスの物体の画像と以前に学習したクラスの物体の画像の両方を含む大きなデータセットを用いた物体検出器の訓練はさらに、必要な計算リソースを劇的に増大させる。
【0004】
予め計算された物体提案(object proposal)を使用し、したがって低速でランする高速な領域畳込みニューラル・ネットワーク(region convolutional neural network)(RCNN)アーキテクチャが、K.シュメルコフ(K. Shmelkov)によって、"Incremental Learning of Object Detectors without Catastrophic Forgetting", International Conference on Computer Vision (2017)の中で提案された。この論文は、知識の蒸留(knowledge distillation)を使用して、領域分類器に新たなクラスを追加することを論じているが、これには問題がある。なぜなら、より高速なRCNNのようなより先進のアーキテクチャに上記の方法を直接に適用することができないためである。
【0005】
ニューラル・ネットワーク・ベースの物体検出モデルは、PASCAL VOCおよびCOCOなどの物体検出データセットに関して従来から訓練されている。PASCAL VOCおよびCOCOはそれぞれ20個および80個のカテゴリを有する。検出することができる物体クラスは、モデルを訓練するために使用したデータセットによって決まる。一旦、モデルを訓練してしまうと、対象とする全てのクラスに対するラベル付きのデータを用いてネットワーク全体を再訓練しない限りは、物体クラスを変更することができない。
【0006】
既存のモデルに対する訓練データ(画像)をユーザが入手できない(例えば、対応するそれぞれのウェブサイトが低速であるかまたは利用可能でない)場合、またはオリジナル・データにアクセスする権利をユーザが持たない場合、ユーザは、ユーザにとって意味のあるものとなった新たな物体クラスを追加することによりモデルを更新することができない。
【0007】
したがって、新たな物体クラスに属する物体を検出するように訓練されるときに以前に学習した物体クラスの破局的忘却を回避することができるニューラル・ネットワーク物体検出器(すなわち、方法およびデバイス)が望まれている。ユーザが新たな物体クラスを追加したい場合に臨時にカスタマイズすることができ、リクエストされたときに物体検出モデルを更新することができる、より先進の物体検出システムが求められている。
【先行技術文献】
【非特許文献】
【0008】
【文献】"Incremental Learning of Object Detectors without Catastrophic Forgetting", International Conference on Computer Vision (2017)
【発明の概要】
【0009】
例示的な実施形態は、以前に学習したクラスに属する物体を検出することの破局的忘却を伴うことなしに新たな物体クラスをインクリメンタル学習する(すなわち、新たなクラスに属する物体を検出するように物体検出器を訓練する)ための方法を対象としている。この物体検出器は、全損失(total loss)を使用して更新され、この全損失は、物体検出器を訓練するために以前に使用した画像へのアクセスを必要とすることなしに、新たなクラスの物体を検出する能力と以前に学習したクラスの物体を検出する能力との釣合いをとることを可能にする。訓練され更新された物体検出器は、以前に学習した物体クラスに属する物体を検出する能力を保持し、その一方で、物体検出器の検出能力を、新たな物体クラスに属する物体に拡張する。
【0010】
他の例示的な実施形態は、システムであって、知られている物体クラスを検出し、ユーザと(例えば、自然言語を介して)対話し、新たな物体クラスを追加するよう求めるリクエストをユーザから受け取り、必要な訓練データを自律的に集め、以前に学習した物体クラスに属する物体を検出する能力を劇的に失うことなしに、物体検出器を、新たなクラスに属する物体を見つけて識別するように再訓練するシステムを対象としている。一実施形態では、このシステムが、新たな物体クラスの推奨およびリクエストをユーザに提供する。
【0011】
例示的な実施形態は、以前に学習した物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための方法を対象としている。この方法は、全体的検出確度基準(overall detection accuracy criterion)が満たされるまで既存の2段階ニューラル・ネットワーク物体検出器を繰返し更新することにより、この2段階ニューラル・ネットワーク物体検出器を、画像内の少なくとも1つの追加の物体クラスに属する物体を見つけて識別するように訓練することを含む。この更新は、以前に学習した1つまたは複数の物体クラスに属する物体を見つけて識別する初期能力の損失を最小化することと、追加の物体クラスに属する物体を見つけて識別する能力を最大化することとの釣合いをとるように実行される。
【0012】
別の例示的な実施形態は、以前に学習した物体クラスの破局的忘却を伴うことなしに物体検出をインクリメンタル学習するための方法であって、少なくとも1つの以前に学習した物体クラスに属する物体を検出することができる2段階ニューラル・ネットワーク物体検出器の初期バージョン(initial version)に知られていない物体クラスに属する物体を含む訓練画像を受け取ることを含む方法を対象としている。この方法はさらに、訓練画像のうちの複数の画像を1画像ずつ使用して、所定の条件が満たされるまで、最初は知られていない物体クラスの物体を検出するように2段階ニューラル・ネットワーク物体検出器を訓練することを含む。この訓練は、(1)前記複数の画像のうちの1つの画像を、2段階ニューラル・ネットワーク物体検出器の初期バージョンに入力して、前記少なくとも1つの以前に学習した物体クラスに対する第1の領域提案(region proposal)および第1の物体予測を取得すること、(2)前記1つの画像を、2段階ニューラル・ネットワーク物体検出器の現在のバージョンに入力して、前記少なくとも1つの以前に学習した物体クラスおよび最初は知られていない前記物体クラスに対する第2の領域提案および第2の物体予測を取得すること、(3)第1の領域提案を第2の領域提案と比較して、前記少なくとも1つの以前に学習した物体クラスの物体を見つける能力の低下を定量化する領域提案蒸留損失(region proposal distillation loss)を推定すること、(4)第1の物体予測を第2の物体予測と比較して、前記少なくとも1つの以前に学習した物体クラスの前記物体を識別する能力の低下を定量化する物体識別蒸留損失を推定すること、(5)第2の領域提案を1つの画像のグラウンドトルース・ラベル(ground-truth label)と比較して、最初は知られていない前記物体クラスに対する領域提案ネットワーク損失を推定すること、(6)第2の物体予測をグラウンドトルース・ラベルと比較して、最初は知られていない前記物体クラスに対する物体識別損失を推定すること、(7)領域提案蒸留損失、物体識別蒸留損失、領域提案ネットワーク損失および物体識別損失を結合した全損失を計算すること、ならびに(8)2段階ニューラル・ネットワーク物体検出器の現在のバージョンを、全損失を最小化するように更新することを含む。訓練の繰返し回数が所定の回数に達したとき、または全損失の低下率(total loss decrease rate)が所定の閾値よりも低いときに、前記所定の条件は満たされる。
【0013】
例示的な実施形態は、コンピュータ可読コードを含み、このコンピュータ可読コードが、コンピュータによって読まれたときに、このコンピュータに、以前に学習した1つまたは複数の物体クラスの破局的忘却を伴わない画像内での物体検出のインクリメンタル学習のための方法を実行させる、コンピュータ可読媒体を対象としている。この方法は、全体的検出確度基準が満たされるまで2段階ニューラル・ネットワーク物体検出器を繰返し更新することにより、2段階ニューラル・ネットワーク物体検出器を、追加の物体クラスに属する物体を見つけて識別するように訓練することを含む。この更新は、以前に学習した1つまたは複数の物体クラスに属する物体を見つけて識別する初期能力の損失を最小化することと、追加の物体クラスに属する物体を見つけて識別する能力を最大化することとの釣合いをとるように実行される。
【0014】
他の例示的な実施形態は、以前に学習した物体クラスの破局的忘却を伴わない物体検出のインクリメンタル学習のためのシステムを対象としている。システムはそれぞれ、画像を受け取り、2段階ニューラル・ネットワーク物体検出器を使用して物体を見つけて識別し、クラウド・サーバと通信するように構成されているコンピューティング・デバイスと、このクラウド・サーバとを含む。このクラウド・サーバは、訓練画像を集め、1つまたは複数の物体クラスを見つけて識別する2段階ニューラル・ネットワーク物体検出器の初期バージョンを記憶し、コンピューティング・デバイスおよびインターネットと通信するように構成されている。コンピューティング・デバイスとクラウド・サーバのうちの少なくとも一方は、全体的検出確度基準が満たされるまで、1つまたは複数の物体クラスに属する物体を見つけて識別することが最初からできる2段階ニューラル・ネットワーク物体検出器を繰返し更新することにより、2段階ニューラル・ネットワーク物体検出器を、追加の物体クラスに属する物体を見つけて識別するように訓練するように構成されており、この更新は、1つまたは複数の物体クラスに属する物体を見つけて識別する2段階ニューラル・ネットワーク物体検出器の初期能力の損失を最小化することと、追加の物体クラスに属する物体を見つけて識別する2段階ニューラル・ネットワーク物体検出器の能力を最大化することとの釣合いをとるように実行される。
【0015】
次に、添付図面を参照して、本発明の実施形態を、単なる例として説明する。
【図面の簡単な説明】
【0016】
図1】一実施形態による、破局的忘却を伴うことなしに物体検出をインクリメンタル学習することを示す概略図である。
図2】一実施形態による、以前に学習した1つまたは複数の物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための方法の流れ図である。
図3】同じ画像を入力として使用した、物体検出器の初期バージョンの出力と同じ物体検出器の訓練されたバージョンの出力とを示す図である。
図4】一実施形態による物体検出システムを示す図である。
図5】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
図6】本発明の一実施形態による抽象化モデル層を示す図である。
図7】一実施形態による物体検出を示す流れ図である。
図8】一実施形態による、新たなクラスを追加するための方法の流れ図である。
図9】一実施形態による、アキュラシー・アウェア・モデル(accuracy-aware model)の改良を示す流れ図である。
図10】一実施形態による、ユーザ・リクエストを受け取ったときに物体検出モデルに新たな物体クラスを追加することを示す流れ図である。
【発明を実施するための形態】
【0017】
以下の説明で使用される図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは動作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0018】
以下で説明する例示的な実施形態は、以前に学習した物体クラスに属する物体を検出することの破局的忘却を伴うことなしに、新たなクラスに属する物体を検出するインクリメンタル学習を対象としている。物体検出器の訓練は、(A)新たなクラスに属する物体を、そのような物体が画像内のどこに位置するのか、および画像内にほかにどんな物体が存在するのかに関わらず、検出する(すなわち、物体を見つけて識別する)ことができるものに、物体検出器をすること、(B)以前に学習したクラスに属する物体を検出する良好な性能を維持すること、(C)合理的な数のモデル・パラメータを使用すること、およびモデルを使用するための許容されるメモリ必要量を有すること、ならびに(D)新たな物体クラスを識別するための分類器および新たな物体クラスに属する物体を見つけるための特徴表現を共同で更新するエンド・ツー・エンド学習機構を提供することを目指している。
【0019】
図1は、一実施形態による、以前に学習した物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習することを概略的に表している。「教師ネットワーク(T)(Teacher Network (T))」と呼ばれる、2段階物体検出器の初期バージョンは、以前に学習した物体クラスに属する物体を検出すること(すなわち、物体を見つけて識別すること)ができる。「生徒ネットワーク(S)(Student Network (S))」と呼ばれる、2段階ニューラル・ネットワーク物体検出器の現在のバージョンは、新たな物体クラスに属する物体を検出するように訓練されている。以下の説明は、単一の新たな物体クラスに関するものだが、複数の物体クラスを逐次的にまたは同時に追加することもできる。生徒ネットワークは、教師ネットワークからのパラメータから始まるが、生徒ネットワークからの出力は、新たな物体クラスに属する物体を検出するように拡張されている。
【0020】
訓練画像100は、新たな物体クラスに属する物体を含むが、以前に学習した物体クラスに属する物体を含んでいてもよい。これらの訓練画像は、教師ネットワーク110および生徒ネットワーク120に1画像ずつまたはバッチ(batch)ごとに(すなわち、両方のネットワークについては並列に、訓練画像については直列に)入力される。入力画像ごとに、教師ネットワーク110は、特徴ベクトル112を抽出するために使用される教師領域提案(RPN(T))111を与え、さらに、以前に学習した物体クラスのうちの1つの物体クラスを、教師RPNのそれぞれの領域内の物体に対応するものとして識別する教師物体予測113を与える。さらに、入力画像ごとに、生徒ネットワーク120は、特徴ベクトル122を抽出するために使用される生徒領域提案(RPN)121を与え、さらに、以前に学習した物体クラスのうちの1つの物体クラスまたは新たな物体クラスを、RPNのそれぞれの領域内の物体に対応するものとして識別する生徒物体予測123を与える。
【0021】
教師ネットワークの出力および生徒ネットワークの出力に基づいて検出確度を推定することができる。以前に学習した物体クラスの物体を見つける生徒ネットワークの能力の低下を定量化する領域提案ネットワーク蒸留損失131は、教師領域提案111を生徒領域提案121と比較することに基づく。以前に学習した物体クラスの物体を識別する生徒ネットワークの能力の低下を定量化する物体識別蒸留損失132は、教師物体予測113を生徒物体予測123と比較することに基づく。
【0022】
さらに、生徒ネットワークの出力を、訓練画像に関連したグラウンドトルース・ラベルと比較することは、新たな物体クラスに属する物体を見つけることに関係した生徒ネットワークの領域提案損失141、および新たな物体クラスに属する物体を識別することに関係した生徒ネットワークの物体識別損失142を推定することを可能にする。機械学習では、用語「グラウンドトルース」が、訓練セットの分類ラベルを指し、または、より単純に言うと、訓練画像内の物体の実際の位置および識別を指す。
【0023】
一実施形態では、領域提案ネットワーク蒸留損失、物体識別蒸留損失、領域提案ネットワーク損失および物体識別損失を結合することによって、全損失が定義される。次いで、全損失を最小化するように生徒ネットワークを更新することができる。この結合は、これらの損失の相対的尺度の単純な加法、または、これらの損失の相対的尺度の重み付けされた加法とすることができる。数学的形式は以下のとおりである。
【数1】
上式で、Ltotalは全損失、
【数2】
は領域提案ネットワーク蒸留損失、
【数3】
は物体識別蒸留損失、
【数4】
は領域提案ネットワーク損失、
【数5】
は物体識別損失、λ1...λは対応する重みである。
【0024】
物体検出器を更新する際に全損失を使用することは、以前に学習した物体クラスに属する物体を検出する物体検出器の能力の損失を最小化することと、新たに追加された物体クラスに属する物体を検出する物体検出器の能力を最大化することとの釣合いをとる1つの手法である。しかしながら、この釣合いを達成する他の手法もある。例えば、以前に学習した個々のいずれかの物体クラスに属する物体を検出する能力の損失、能力の平均損失、もしくは追加された物体クラスに属する物体を検出する能力、またはこれらの組合せなどに、予め定められた限度を設けることもできる(追加された物体クラスに属する物体を検出する能力のケースでは、この予め定められた限度が、それを超えなければならない閾値である)。
【0025】
図2は、一実施形態による、破局的忘却を伴うことなしに物体検出をインクリメンタル学習するための方法200の流れ図である。少なくとも1つの以前に学習した物体クラスに属する物体を検出することができる2段階ニューラル・ネットワーク物体検出器の初期バージョンに知られていない物体クラスに属する物体を含む訓練画像を受け取る210。訓練画像は、それぞれ位置(例えば、枠(box)とすることができる領域)およびその中の物体の物体クラスを示す関連グラウンドトルース・ラベルを有する。
【0026】
220で、訓練画像を1画像ずつまたはバッチごとに使用して、所定の条件が満たされるまで、最初は知られていない物体クラスの物体を検出するように2段階ニューラル・ネットワーク物体検出器を訓練する。この所定の条件は、所定の回数の繰返しを完了させること、閾値確度(threshold accuracy)を達成すること、または損失をさらに低減させることができないこととすることができる。2段階ニューラル・ネットワーク物体検出器の訓練は、複数の画像のうちのそれぞれの画像に対して以下の操作を実行することを含む。
(1)画像を、2段階ニューラル・ネットワーク物体検出器の初期バージョン(例えば、教師ネットワーク)に入力して、以前に学習した物体クラスの第1の領域提案および第1の物体予測を取得する操作、
(2)画像を、2段階ニューラル・ネットワーク物体検出器の現在のバージョン(例えば、生徒ネットワーク)に入力して、以前に学習した物体クラスおよび新たな物体クラスの第2の領域提案および第2の物体予測を取得する操作、
(3)第1の領域提案を第2の領域提案と比較して、以前に学習した物体クラスに属する物体を見つける能力の低下を定量化する領域提案蒸留損失を推定する操作、
(4)第1の物体予測を第2の物体予測と比較して、以前に学習した物体クラスの物体を識別する能力の低下を定量化する物体識別蒸留損失を推定する操作、
(5)第2の領域提案を画像のグラウンドトルース・ラベルと比較して、前記新たな物体クラスに対する領域提案ネットワーク損失を推定する操作、
(6)第2の物体予測をグラウンドトルース・ラベルと比較して、前記新たな物体クラスに対する物体識別損失を推定する操作、
(7)領域提案蒸留損失、物体識別蒸留損失、領域提案ネットワーク損失および物体識別損失を結合することによって、全損失を計算する操作、ならびに
(8)2段階ニューラル・ネットワーク物体検出器の現在のバージョンを、全損失を最小化するように更新する操作。この更新では、知られているさまざまな方法のうちのいずれかの方法を使用して(例えば、確率的勾配降下法(stochastic gradient descent method)を全損失に適用することによって)、ニューラル・ネットワークのパラメータを調整することができる。
【0027】
より一般的に言うと、以前に学習した物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための方法は、全体的検出確度基準が満たされるまで、2段階ニューラル・ネットワーク物体検出器を、追加の物体クラスに属する物体を見つけて識別するように訓練することを実行する。全体的検出確度は、以前に学習した物体クラスおよび追加の物体クラスを検出する訓練された物体検出器の能力を記述する。例えば、確率として表現された予測の和が、確度閾値または予測確率を超えなければならない。なぜならば、それぞれの物体が、下限の閾値確度を超えなければならないためである。
【0028】
2段階ニューラル・ネットワーク物体検出器は、以前に学習した物体クラスに属する物体を見つけて識別する物体検出器の初期能力の損失を最小化することと、加えて追加の物体クラスに属する物体を見つけて識別する物体検出器の能力を最大化することとの釣合いをとるように、繰返し更新される。能力は、全ての検出のうちの正しい検出の百分率、偽陽性検出または偽陰性検出の数と結合された予測確率の平均などによって測定することができる。以前に学習した物体クラスに属する物体を見つけて識別する初期能力の損失は、蒸留損失の和(または重み付けされた和)とすることができる。このような損失は、物体検出器の初期(訓練されていない)バージョンの出力を物体検出器の訓練された(現在の)バージョンの出力と比較することによって決定される。
【0029】
全体的検出確度基準は、領域提案蒸留損失および物体識別蒸留損失を決定することによって評価することができる。「蒸留損失」は、新たな物体クラスを追加することによる、対応するそれぞれの能力の低下を示す。領域提案蒸留損失は、同じ入力訓練画像について、2段階ニューラル・ネットワーク物体検出器の初期バージョンによって出力された領域提案を、2段階ニューラル・ネットワーク物体検出器の現在のバージョンによって出力された現在の領域提案と比較することに基づく。
【0030】
物体識別蒸留損失は、2段階ニューラル・ネットワーク物体検出器の初期バージョンによって出力された以前に学習した物体の物体予測(previously-learned-object prediction output)を、2段階ニューラル・ネットワーク物体検出器の現在のバージョンによって出力された物体予測と比較することに基づく。蒸留損失を決定するためのこの比較は、以前に学習した物体クラスの視点から実行される。2段階ニューラル・ネットワーク物体検出器は、領域提案蒸留損失および物体識別蒸留損失を最小化するように更新される。
【0031】
図3は、19個の物体クラスに対して訓練された物体検出器の初期バージョンによる左側の画像310の2つの物体(椅子およびバナナ)の物体検出(すなわち、枠の中の位置および物体識別)、ならびに20個の物体クラス(すなわち、さらにラップトップを検出するための物体クラス)に対して訓練された2段階ニューラル・ネットワーク物体検出器のバージョンによる右側の画像320の2つの物体および追加の物体(すなわち、ラップトップ)の物体検出を例示的に示している。領域提案はそれぞれ、長方形の枠312、314および322~326からなる。物体予測は、特定の物体確率として、すなわち、古くからのクラスとしての「椅子」は0.98、「バナナ」は0.95、新たなクラスとしての「ラップトップ」は0.99(後:椅子0.96、バナナ0.95)として表現することができ、それに従ってテキストを更新することができる。
【0032】
左側の画像については、枠312の中の椅子の確率が0.98(1は確実であることを示す)、枠314の中のバナナの確率が0.99である。右側の画像については、枠322の中の椅子の確率が0.96、枠324の中のバナナの確率が0.95、枠328の中のラップトップの確率が0.99である。
【0033】
図4は、一実施形態による物体検出システム400を示している。この物体検出システムは、コンピューティング・デバイス410およびクラウド・デバイス420(例えば、サーバ)を含む。コンピューティング・デバイスは、カメラ402から画像/ビデオ入力を受け取ること、および表示画面408に画像/ビデオ出力を送信することができる。コンピューティング・デバイスはさら、マイクロホン404から音声入力を受け取ること、およびスピーカ406に音声出力を送信することができる。
【0034】
コンピューティング・デバイスに画像/ビデオ入力を提供するカメラ402は、スマート・ホンもしくはスマート・グラスに組み込まれていてもよく、または独立型のカメラであってもよい。マイクロホン404は、ユーザによって発声されたユーザ・リクエストを、音声入力としてコンピューティング・デバイスに提供することを可能にする。
【0035】
コンピューティング・デバイス410は、音声およびビデオ入力ならびに音声およびビデオ出力を処理し、物体検出を実施し、クラウド/サーバ420と通信するように構成されている。クラウド/サーバ420は、物体検出を実施し、コンピューティング・デバイスから受け取ったユーザ・リクエストを処理し、ウェブ430から訓練画像を集め、物体検出器の初期バージョンを記憶するように構成されている。
【0036】
コンピューティング・デバイス410とクラウド/サーバ420のうちの少なくとも一方は、以前に学習した物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための(例えば、上で説明したような)方法を実行するように構成されている。クラウド/サーバによってインクリメンタル学習が実行されるときには、追加の物体クラスに属する物体を検出するように訓練された物体検出器がコンピューティング・デバイスに送られる。コンピューティング・デバイスによってこの方法が実行されるときには、クラウド/サーバが、訓練画像および物体検出器の初期バージョンをコンピューティング・デバイスに提供する。
【0037】
クラウド・コンピューティングに関する詳細な説明が提供されるが、本明細書に記載された教示の実施態様はクラウド・コンピューティング環境だけに限定されないことを理解すべきである。むしろ、本発明の実施形態は、現在知られているまたは後に開発される他の任意のタイプのコンピューティング環境に関連して実施することができる。クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソース、例えばネットワーク、ネットワーク帯域、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス、の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配信モデルである。
【0038】
このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント(deployment)モデルを含むことができる。5つの特徴は、オンデマンド・セルフサービス、ブロード・ネットワーク・アクセス、リソース・プーリング(resource pooling)、ラピッド・エラスティシティ(rapid elasticity)およびメジャード・サービス(measured service)である。オンデマンド・セルフサービスに関して、クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能の供給を、このサービスのプロバイダとのヒューマン・インタラクションを必要とすることなく必要に応じて自動的に一方向的に受けることができる。ブロード・ネットワーク・アクセスは、ネットワーク上で利用可能であり、異種のシンまたはシック・クライアント・プラットホーム、例えば移動電話、ラップトップおよびPDAによる使用を促進する標準的機構を通してアクセスされる機能を指す。リソース・プーリングに関しては、マルチテナント・モデルを使用して多数のコンシューマにサービスを提供するために、プロバイダのコンピューティング・リソースがプールされており、要求に応じて、異なる物理リソースおよび仮想リソースが動的に割当ておよび再割当てされる。コンシューマは一般に、提供されたリソースの正確な位置を制御できずまたは正確な位置を知らないが、より高次の抽象化レベル、例えば国、州またはデータセンターで位置を指定することができるという意味で、位置独立の感覚がある。ラピッド・エラスティシティは、素早くスケールアウトするために迅速かつ弾力的に、場合によっては自動的に供給することができ、素早くスケールインするために迅速にリリースすることができる機能を指す。コンシューマにとって、供給に利用可能な機能はしばしば無限であるように見え、いつでも好きな量だけ購入することができる。メジャード・サービスに関して、クラウド・システムは、サービスのタイプ、例えばストレージ、処理、帯域および使用中ユーザ・アカウントに対して適切なある抽象化レベルで計測機能に介入することによって、リソースの使用状況を自動的に制御および最適化する。リソースの使用状況を監視、制御および報告して、利用されているサービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0039】
3つのサービス・モデルは、ソフトウェア・アズ・ア・サービス(SaaS)、プラットフォーム・アズ・ア・サービス(PaaS)およびインフラストラクチャ・アズ・ア・サービス(IaaS)である。ソフトウェア・アズ・ア・サービスは、クラウド・インフラストラクチャ上でランしているプロバイダのアプリケーションを使用する機能をコンシューマに提供する。ウェブ・ブラウザなどのシン・クライアント・インタフェース、例えばウェブ・ベースの電子メールを通してさまざまなクライアント・デバイスからアプリケーションにアクセス可能である。コンシューマは、限られたユーザ固有のアプリケーション構成の設定を除けば、ネットワーク、サーバ、オペレーティング・システム、ストレージまたは個々のアプリケーション機能を含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしない。プラットフォーム・アズ・ア・サービスは、クラウド・インフラストラクチャ上で、プロバイダがサポートするプログラム言語およびツールを使用して作成されたコンシューマ作成または取得のアプリケーションをデプロイする機能をコンシューマに提供する。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成は制御することができる。インフラストラクチャ・アズ・ア・サービスは、処理、ストレージ、ネットワークおよび他の基本的なコンピューティング・リソースを供給する機能をコンシューマに提供する。コンシューマは任意のソフトウェアをデプロイし、ランさせることができ、これらのソフトウェアは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、オペレーティング・システム、ストレージおよびデプロイされたアプリケーションは制御することができ、場合によっては、選択されたネットワーク構成要素、例えばホスト・ファイアウォールを限定的に制御することができる。
【0040】
デプロイメント・モデルは、プライベート・クラウド、コミュニティ・クラウド、パブリック・クラウドおよびハイブリッド・クラウドである。プライベート・クラウド・インフラストラクチャは、組織体のためだけに運営される。このインフラストラクチャは、その組織体または第三者が管理することができ、オンプレミス(on-premises)またはオフプレミス(off-premises)で存在することができる。コミュニティ・クラウド・インフラストラクチャは、いくつかの組織体によって共有され、利害、例えばミッション、セキュリティ要件、ポリシーおよびコンプライアンス上の問題を共有する特定のコミュニティをサポートする。このインフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミスで存在することができる。パブリック・クラウド・インフラストラクチャは、一般大衆または大きな産業グループが利用可能であり、クラウド・サービスを販売している組織体によって所有される。ハイブリッド・クラウド・インフラストラクチャは、固有のエンティティ(entity)を維持しているが、データおよびアプリケーション・ポータビリティを可能にする標準化された技術または独占技術、例えばクラウド間のロード・バランシングのためのクラウド・バースティング(cloud bursting)によって1つに結合された2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の合成体である。
【0041】
クラウド・コンピューティング環境は、ステートレス性、低結合、モジュール性および意味論的相互運用性(semantic interoperability)に重きを置くサービス指向の環境である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。次に図5を参照すると、例示的なクラウド・コンピューティング環境500が示されている。示されているとおり、クラウド・コンピューティング環境500は1つまたは複数のクラウド・コンピューティング・ノード510を含み、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイス、例えばパーソナル・ディジタル・アシスタント(PDA)もしくは携帯電話520、デスクトップ・コンピュータ530、ラップトップ・コンピュータ540または自動車コンピュータ・システム550あるいはこれらの組合せは、これらのノードと通信することができる。ノード510は互いに通信することができる。それらのノードは、上で説明したプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの1つまたは複数のネットワークに、物理的にまたは仮想的にグループ分けされていることがある(図示せず)。これによって、クラウド・コンピューティング環境500は、インフラストラクチャ、プラットホームもしくはソフトウェアまたはこれらの組合せをサービスとして提供することができ、そのため、クラウド・コンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。図5に示されたタイプのコンピューティング・デバイス520~550は単なる例であることが意図されていること、ならびにコンピューティング・ノード510およびクラウド・コンピューティング環境500は、任意のタイプのネットワーク上もしくはアドレス指定可能なネットワーク接続上またはその両方で、例えばウェブ・ブラウザを使用して、コンピュータ化された任意のタイプのデバイスと通信することができることが理解される。
【0042】
次に図6を参照すると、クラウド・コンピューティング環境500によって提供される一組の機能抽象化層が示されている。図1、2および4に示された構成要素、層および機能は単なる例であることが意図されており、本発明の実施形態はそれらに限定されないことを予め理解しておくべきである。図示のとおり、以下の層および対応する機能が提供される。ハードウェアおよびソフトウェア層660は、ハードウェア構成要素およびソフトウェア構成要素からなる。ハードウェア構成要素の例は、メインフレーム661、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ662、サーバ663、ブレード・サーバ(blade server)664、ストレージ・デバイス665ならびにネットワークおよびネットワーキング構成要素666を含む。いくつかの実施形態では、ソフトウェア構成要素が、ネットワーク・アプリケーション・サーバ・ソフトウェア667およびデータベース・ソフトウェア668を含む。
【0043】
仮想化層670は抽象化層であり、この層は、仮想サーバ671、仮想ストレージ672、仮想ネットワーク673(仮想専用ネットワークとすることができる)、仮想アプリケーションおよびオペレーティング・システム674、ならびに仮想クライアント675などの1つまたは複数の仮想エンティティを含む。
【0044】
一例では、管理層680が、次に説明する機能を提供することができる。リソース供給681は、クラウド・コンピューティング環境内でタスクを実行する目的に利用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計量および価格決定682は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースがアプリケーション・ソフトウェア・ライセンスを含むことがある。セキュリティは、クラウド・コンシューマおよびタスクの識別確認ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータル683は、コンシューマおよびシステム管理者に、クラウド・コンピューティング環境へのアクセスを提供する。サービス水準管理684は、必要なサービス水準が達成されるようなクラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス水準合意(Service Level Agreement)(SLA)計画および履行685は、SLAによって将来必要になると予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0045】
ワークロード層690は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例は、マッピングおよびナビゲーション691、ソフトウェア開発およびライフサイクル管理692、仮想教室教育配信693、データ解析処理694、トランザクション処理695、ならびにインクリメンタル学習物体検出696を含む。
【0046】
図7~10は、図4に示されたシステム400によって実行することができる方法の流れ図である。これらの流れ図は、コンピューティング・デバイス410またはクラウド/サーバ420によって実行されるステップを示している。物体検出器は、コンピューティング・デバイス410によってまたはクラウド/サーバ420によってランさせることができる。図7は、ローカル物体検出またはクラウド物体検出を含む物体検出を示す流れ図である。710で、コンピューティング・デバイスがカメラ(例えば、402)から画像を受け取る。物体検出をローカルで実行する場合には(すなわち、ブロック720の「はい」の枝)、730で、ローカル・コンピューティング・デバイス上で物体検出器をランさせる。物体検出をクラウドで実行する場合(すなわち、ブロック720の「いいえ」の枝)、コンピューティング・デバイスは、760で、受け取った画像をクラウド/サーバに送り、それによって、770で物体検出器がクラウド/サーバ上でランすることを可能にする。次いで、検出結果をユーザに出力する。すなわち、740で検出結果を(例えば、表示画面408に)表示し、もしくは750で検出結果を(例えば、スピーカ406を使用して)通知し、またはその両方を実行する。物体検出が継続する場合(すなわち、ブロック780の「いいえ」の枝)、コンピューティング・デバイスは、710で、他の画像を処理することができる。例えば、ビデオ・ストリームが画像のバッチとして受け取られたときに、検出は継続することがある。
【0047】
図8は、クラスAと称される新たな物体クラスを、図7で使用した検出器などの既存の物体検出器に追加するための方法の流れ図である。この方法は、インクリメンタル訓練に使用することができる訓練データセットの取得を示しており、入力に含まれているもの(画像もしくは名称)、既存の訓練データセットを取得する能力、または新たな訓練データセットを生成する必要性に基づく。
【0048】
810で、コンピューティング・デバイスが、物体検出器の以前に学習した物体クラスにクラスAを音声入力として追加することを求めるユーザ・リクエストを受け取る。コンピューティング・デバイスは、820で、マイクロホンから自然言語として受け取ったユーザ・リクエストからクラスAの名称を抽出し、またはカメラによって提供された物体クラスAの代表画像(representative image)を取得する。前者の場合、コンピューティング・デバイスは、830で、クラスAの名称をクラウド/サーバに送る。後者の場合、コンピューティング・デバイスは、代表画像をクラウド/サーバに送る。
【0049】
クラスAの名称を受け取ると、クラウド/サーバは、840で、ウェブ上で、リクエストされたクラスAを含む既存の画像を探索する。850で、このような画像が入手可能でないと判定された場合、860で、クラスAの物体のサンプル画像を提供するようユーザに求める。そのような画像が入手可能である場合には、それらの画像を集めて一組の訓練画像を形成し、870で、インクリメンタル学習によって、クラスAに属する物体を検出することができるように物体検出器を更新する。880で、更新された物体検出器をコンピューティング・デバイスに提供する。コンピューティング・デバイスは次いで、890で、クラスA検出能力に関する音声またはビデオ・フィードバックをユーザに提供してもよい。
【0050】
820に戻る。コンピューティング・デバイスが物体クラスAの代表画像を取得した場合、コンピューティング・デバイスは、825で、クラスA物体の写真を用意し、835で、その写真をクラウド/サーバに送る。写真またはユーザからのサンプル画像を受け取ると、クラウド/サーバは、845で、受け取った写真もしくはサンプル画像に似た視覚的特徴、またはクラス名を使用して、ウェブ上で画像を探索する。クラウド/サーバは、855で、クラスAの一組の訓練画像を生成し、870で、それらの訓練画像を使用して物体検出器を更新する。
【0051】
図9は、アキュラシー・アウェア・モデルの訓練を示す流れ図である。この方法は、新たなクラスの追加が円滑にいかない場合に提供することができる選択肢を示している。910で、n個の物体クラスからなるオリジナル・セットおよびm個のクラスからなる追加セットに属する物体を検出することができる検出モデルD_n+mから開始し、920で、コンピューティング・デバイスが、新たなカテゴリcを追加するよう求めるユーザ・リクエストを受け取る。コンピューティング・デバイスは、930で、クラスcの名称またはクラスcの代表画像をクラウド/サーバに送る。クラウド/サーバは、940で、検出モデルを、物体検出器が既に検出することができるm+n個の物体クラスに物体クラスcを追加するように更新する。コンピューティング・デバイスは次いで、950で、訓練によって生じた、m+n個の物体クラス(カテゴリとも呼ばれる)に対する検出確度の低下(すなわち、検出確度D_n+mと検出確度D_m+n+cとの差)を調べる。いずれかのカテゴリに対する検出確度が大幅に低下した場合(ブロック960の枝「はい」)、システムは、970で、D_n+mモデルに復帰し、980で、新たな検出モデルD_n+cを生成し、990で、D_n+mとDn+cとを並行して使用する。検出確度が大幅には低下しなかった場合(ブロック960の枝「いいえ」)、コンピューティング・デバイスは、965で、物体検出にD_n+m+cモデルを使用する。
【0052】
図10は、ユーザ・リクエストを受け取ったときに物体検出モデルに新たな物体を追加することを示す流れ図である。1010で、コンピューティング・デバイスが、既存の物体検出モデルに新たな物体を追加するよう求めるユーザ・リクエストを含む音声入力を受け取る。1020で、コンピューティング・デバイスが、その新たな物体の画像(例えば、さまざまな角度から見たそのような新たな物体の写真)を受け取る。コンピューティング・デバイスは、1030で、それらの画像(写真)をクラウド/サーバに送る。サーバは、1040で、その新たな物体クラスを含むように既存の検出モデルを更新し、1050で、更新されたモデルをコンピューティング・デバイスに送る。
【0053】
本発明の例示的な実施形態による方法およびシステムは、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい一実施形態では、本発明が、ソフトウェアで実施され、このソフトウェアは、限定はされないが、ファームウェア、常駐ソフトウェアおよびマイクロコードを含む。さらに、例示的な方法およびシステムは、コンピュータ、論理処理ユニットもしくは任意の命令実行システムによって使用されるプログラム・コード、またはコンピュータ、論理処理ユニットもしくは任意の命令実行システムとともに使用されるプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明の目的上、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって使用されるプログラムまたは命令実行システム、装置もしくはデバイスとともに使用されるプログラムを含み、記憶し、伝達し、伝搬し、または輸送することができる任意の装置とすることができる。適当なコンピュータ使用可能媒体またはコンピュータ可読媒体は、限定はされないが、電子、磁気、光学、電磁気、赤外または半導体システム(または装置もしくはデバイス)もしくは伝搬媒体を含む。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、リジッド・マグネティック・ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク-リード・オンリー・メモリ(CD-ROM)、コンパクト・ディスク-読出し/書込み(CD-R/W)およびDVDを含む。
【0054】
プログラム・コードを記憶もしくは実行またはその両方をするのに適したデータ処理システムは、限定はされないが、システム・バスを通してメモリ要素に直接にまたは間接的に結合された少なくとも1つのプロセッサを含む。このメモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量ストレージおよびキャッシュ・メモリを含み、キャッシュ・メモリは、実行中に大容量ストレージからコードを取り出さなければならない回数を減らすために、少なくとも一部のプログラム・コードの一過性の記憶を提供する。限定はされないが、キーボード、ディスプレイおよびポインティング・デバイスを含む入力/出力デバイスないしI/Oデバイスを、直接にまたはI/Oコントローラを介してこのシステムに結合することができる。データ処理システムを、専用ネットワークまたは公衆ネットワークを介して他のデータ処理システムまたは遠隔プリンタもしくはストレージ・デバイスに結合することを可能にするため、本発明による方法およびシステムの例示的な実施形態はさらに、システムに結合されたネットワーク・アダプタを含む。現在利用可能な適当なタイプのネットワーク・アダプタは、限定はされないが、モデム、ケーブル・モデム、DSLモデム、Ethernet(登録商標)カードおよびこれらの組合せを含む。
【0055】
一実施形態では、本発明が、機械実行可能コードまたはコンピュータ実行可能コードを含む機械可読媒体またはコンピュータ可読媒体であって、この機械実行可能コードまたはコンピュータ実行可能コードが、機械またはコンピュータによって読まれたときに、その機械またはコンピュータに、以前に学習した物体クラスの破局的忘却を伴うことなしに画像内での物体検出をインクリメンタル学習するための方法を実行させる、機械可読媒体またはコンピュータ可読媒体を対象としている。この機械実行可能コードまたはコンピュータ実行可能コードは、機械またはコンピュータが読み、実行することができる任意のタイプのコードまたは言語とすることができ、また、機械語、アセンブラ言語、より高次の言語、オブジェクト指向言語およびスクリプト言語を含む、当技術分野で知られており、当技術分野で使用可能な適当な言語または構文で表現することができる。このコンピュータ実行可能コードは、本発明によるシステムによって利用されるコンピュータ・ネットワーク内に配されたデータベース、そのようなコンピュータ・ネットワークと通信するデータベース、およびそのようなコンピュータ・ネットワークによってアクセス可能なデータベースを含む、適当な任意のストレージ媒体またはデータベース上に記憶することができ、また、本発明の表現形態を制御するために使用される制御システムを含む、当技術分野で知られており、当技術分野で使用可能な適当な任意のハードウェア・プラットフォーム上で実行することができる。
【0056】
本明細書に開示された本発明の例示的な実施形態が本発明の目的を達成することは明白だが、当業者は、多数の変更およびその他の実施形態を考案することができることが理解される。さらに、任意の実施形態からの特徴もしくは要素またはその両方を、単独で、または他の実施形態とともに使用することができ、また、本発明による方法のステップまたは要素は、適当な任意の順序で実行または遂行することができる。したがって、添付の特許請求の範囲は、このような全ての変更および実施形態をカバーすることが意図されていること、および、このような全ての変更および実施形態は本発明の思想および範囲に含まれであろうことが理解されるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10