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

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

▶ エヌイーシー ラボラトリーズ アメリカ インクの特許一覧

特表2023-548915深層顔認識のためのメタ学習を用いたドメイン一般化マージン
<>
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図1
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図2
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図3
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図4
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図5
  • 特表-深層顔認識のためのメタ学習を用いたドメイン一般化マージン 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-21
(54)【発明の名称】深層顔認識のためのメタ学習を用いたドメイン一般化マージン
(51)【国際特許分類】
   G06N 3/09 20230101AFI20231114BHJP
   G06N 20/00 20190101ALI20231114BHJP
【FI】
G06N3/09
G06N20/00 130
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023528160
(86)(22)【出願日】2021-11-09
(85)【翻訳文提出日】2023-05-10
(86)【国際出願番号】 US2021058612
(87)【国際公開番号】W WO2022103748
(87)【国際公開日】2022-05-19
(31)【優先権主張番号】63/111,658
(32)【優先日】2020-11-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/521,252
(32)【優先日】2021-11-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/114,014
(32)【優先日】2020-11-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】ユ、 シアン
(72)【発明者】
【氏名】ツァイ、 イ-シューアン
(72)【発明者】
【氏名】ファラキ、 マスード
(72)【発明者】
【氏名】モスレミ、 ラミン
(72)【発明者】
【氏名】チャンドラカー、 マンモハン
(72)【発明者】
【氏名】リウ、 チャン
(57)【要約】
深層顔認識のためのモデルを訓練する方法であって、顔認識モデルw(t)を形成するためにサンプルの訓練バッチにフォワード訓練を実行し、メタ学習器に基づき訓練バッチのサンプルの重みを計算し、訓練バッチのモデルの重みに関する訓練バッチの勾配を取得し、訓練バッチの勾配を用いて顔認識モデルw(t)を顔認識モデルwhat(t)に更新し、サンプルの検証バッチを顔認識モデルwhat(t)に転送し、メタ学習器シータ(t)に対する検証バッチの勾配を取得し、検証バッチの勾配及び顔認識モデルwhat(t)を用いて訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新し、更新されたサンプルレベルの重要度の重みに基づいて訓練バッチのアップグレードされた勾配を取得し、訓練バッチのアップグレードされた勾配を用いて、顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新する。
【選択図】図6
【特許請求の範囲】
【請求項1】
深層顔認識のためのモデルを訓練するためのコンピュータで実施する方法であって、
顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行するステップ(610)と、
メタ学習器に基づいて前記訓練バッチのサンプルの重みを計算するステップ(620)と、
プロセッサ装置により、前記訓練バッチのモデルの重みに関する前記訓練バッチの勾配を取得し、前記訓練バッチの前記勾配を用いて前記顔認識モデルw(t)を顔認識モデルwhat(t)に更新するステップ(630)と、
サンプルの検証バッチを前記顔認識モデルwhat(t)に転送するステップ(640)と、
前記プロセッサ装置により、メタ学習器シータ(t)に関する前記検証バッチの勾配を取得し、前記検証バッチの前記勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベルの重要度の重みを取得するために、前記訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新するステップ(650)と、
前記プロセッサ装置により、前記訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて前記訓練バッチのアップグレードされた勾配を取得し(660)、前記訓練バッチの前記アップグレードされた勾配を用いて、前記顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新するステップ(660)と、
を有するコンピュータで実施する方法。
【請求項2】
モデルの訓練に使用される前記訓練バッチにおける前記サンプルのそれぞれの重みは、クラスレベルの重み及び前記アップグレードされたサンプルレベルの重要度の重みを有する、請求項1に記載のコンピュータで実施する方法。
【請求項3】
前記訓練バッチにおける前記サンプルの前記更新されたサンプルレベルの重要度の重みは、前記訓練バッチにおける前記サンプルに関するクラス認識の重みに比例する、請求項2に記載のコンピュータで実施する方法。
【請求項4】
前記検証セットは、前記訓練セットとアイデンティティを共有しない、請求項1に記載のコンピュータで実施する方法。
【請求項5】
前記訓練セットは、民族のバリエーション、姿勢のバリエーション、画像全体のオクルージョン比及び画像のぼけレベルを含むバリエーションを有する、請求項1に記載のコンピュータで実施する方法。
【請求項6】
不十分なバリエーションを強調するように、前記複数のサンプルのそれぞれについて前記サンプルレベルの重要度の重みを動的に更新するために、前記訓練バッチにおける複数の前記サンプルのそれぞれのサンプルのバリエーションをチェックするステップをさらに有する、請求項1に記載のコンピュータで実施する方法。
【請求項7】
前記不十分なバリエーションは、民族のバリエーション、姿勢のバリエーション、画像全体のオクルージョン比及び画像のぼけレベルから成るグループから選択される、請求項6に記載のコンピュータで実施する方法。
【請求項8】
前記訓練バッチにおける前記サンプルの前記更新されたサンプルレベルの重要度の重みは、前記訓練バッチにおける前記サンプル全体で均一ではない、請求項1に記載のコンピュータで実施する方法。
【請求項9】
個々のアイデンティティを生成するために、前記訓練されたモデルw(t+1)を用いて、顔認識セッションを実行するステップをさらに有する、請求項1に記載のコンピュータで実施する方法。
【請求項10】
コンピュータで実行可能な方法をコンピュータに実行させるためのプログラム命令が包含される、非一時的なコンピュータで読み取り可能な記録媒体を有する、深層顔認識のためのモデルを訓練するためのコンピュータプログラム製品であって、
前記方法は、
前記コンピュータのプロセッサ装置により、顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行するステップ(610)と、
前記プロセッサ装置により、メタ学習器に基づいて前記訓練バッチのサンプルの重みを計算するステップ(620)と、
前記プロセッサ装置により、前記訓練バッチのモデルの重みに関する前記訓練バッチの勾配を取得し、前記訓練バッチの前記勾配を用いて前記顔認識モデルw(t)を顔認識モデルwhat(t)に更新するステップ(630)と、
前記プロセッサ装置により、サンプルの検証バッチを前記顔認識モデルwhat(t)に転送するステップ(640)と、
前記プロセッサ装置により、メタ学習器シータ(t)に関する前記検証バッチの勾配を取得し、前記検証バッチの前記勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベルの重要度の重みを取得するために、前記訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新するステップ(650)と、
前記プロセッサ装置により、前記訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて前記訓練バッチのアップグレードされた勾配を取得し(660)、前記訓練バッチの前記アップグレードされた勾配を用いて、前記顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新するステップ(660)と、
を有する、コンピュータプログラム製品。
【請求項11】
モデルの訓練に使用される前記訓練バッチにおける前記サンプルのそれぞれの重みは、クラスレベルの重み及び前記アップグレードされたサンプルレベルの重要度の重みを含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
前記訓練バッチにおける前記サンプルの前記更新されたサンプルレベルの重要度の重みは、前記訓練バッチにおける前記サンプルに関するクラス認識の重みに比例する、請求項11に記載のコンピュータプログラム製品。
【請求項13】
前記検証セットは、前記訓練セットとアイデンティティを共有しない、請求項10に記載のコンピュータプログラム製品。
【請求項14】
前記訓練セットは、民族のバリエーション、姿勢のバリエーション、画像全体のオクルージョン比及び画像のぼけレベルを含むバリエーションを含む、請求項10に記載のコンピュータプログラム製品。
【請求項15】
不十分なバリエーションを強調するように、前記複数のサンプルのそれぞれについて前記サンプルレベルの重要度の重みを動的に更新するために、前記訓練バッチにおける複数の前記サンプルのそれぞれのサンプルのバリエーションをチェックするステップをさらに有する、請求項10に記載のコンピュータプログラム製品。
【請求項16】
前記不十分なバリエーションは、民族のバリエーション、姿勢のバリエーション、画像全体のオクルージョン比及び画像のぼけレベルから成るグループから選択される、請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記訓練バッチにおける前記サンプルの前記更新されたサンプルレベルの重要度の重みは、前記訓練バッチにおける前記サンプル全体で均一ではない、請求項10に記載のコンピュータプログラム製品。
【請求項18】
個々のアイデンティティを生成するために、前記訓練されたモデルw(t+1)を用いて、顔認識セッションを実行するステップをさらに有する、請求項10に記載のコンピュータプログラム製品。
【請求項19】
深層顔認識のためのモデルを訓練するためのコンピュータ処理システムであって、
プログラムコードを格納するためのメモリ装置(140)と、
前記プログラムコードを実行して、
顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行し、
メタ学習器に基づいて前記訓練バッチのサンプルの重みを計算し、
前記訓練バッチのモデルの重みに関する前記訓練バッチの勾配を取得し、前記訓練バッチの前記勾配を用いて前記顔認識モデルw(t)を顔認識モデルwhat(t)に更新し、
サンプルの検証バッチを前記顔認識モデルwhat(t)に転送し、
メタ学習器シータ(t)に対する前記検証バッチの勾配を取得し、前記検証バッチの前記勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベル重要度の重みを取得するために、前記訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新させ、
前記訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて前記訓練バッチのアップグレードされた勾配を取得し、前記訓練バッチの前記アップグレードされた勾配を用いて、前記顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新する、前記メモリ装置と動作可能に接続されたプロセッサ装置(110)と、
を有するコンピュータ処理システム。
【請求項20】
モデルの訓練に使用される前記訓練バッチにおける前記サンプルのそれぞれの重みは、クラスレベルの重み及び前記アップグレードされたサンプルレベルの重要度の重みを有する、請求項19に記載のコンピュータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2021年11月8日に出願された米国特許出願第17/521,252号、2020年11月10日に出願された米国仮特許出願第63/111,658号及び2020年11月16日に出願された米国仮特許出願第63/114,014号を基礎とする優先権を主張し、これらの開示の全てをここに取り込む。
【0002】
本発明は、顔認識に関し、より詳細には、深層顔認識のためのメタ学習を用いたドメイン一般化マージンに関する。
【背景技術】
【0003】
深層顔認識は、いくつかの方法が公のベンチマークで強力な結果を達成することで目覚ましい進歩を遂げた。但し、訓練データの分布には依然として偏りがあり、データが均一なサンプリングで訓練された方法は、特定のファクタ(オクルージョン等)に伴う精度の低下や、モデルの不公平さの認知(少数民族に対するもの等)等の望ましくない結果につながる可能性がある。
【0004】
多種多様なバリエーションを十分にカバーする訓練データを収集することは現実的ではないため、バリエーションの複数のファクタに伴うデータセットの偏りをアルゴリズム的に緩和する訓練方法を開発する必要性が差し迫っている。
【発明の概要】
【0005】
本発明の態様によれば、深層顔認識のためのモデルを訓練するためのコンピュータで実施する方法が提供される。本方法は、顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行することを含む。さらに、本方法は、メタ学習器に基づいて訓練バッチのサンプルの重みを計算することを含む。また、本法は、プロセッサ装置により、訓練バッチのモデルの重みに関する訓練バッチの勾配を取得し、訓練バッチの勾配を用いて顔認識モデルw(t)を顔認識モデルwhat(t)に更新することを含む。さらに、本方法は、サンプルの検証バッチを顔認識モデルwhat(t)に転送することを含む。加えて、本方法は、プロセッサ装置により、メタ学習器シータ(t)に関する検証バッチの勾配を取得し、検証バッチの勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベルの重要度の重みを取得するために、訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新することを含む。さらに、さらに、本方法は、プロセッサ装置により、訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて訓練バッチのアップグレードされた勾配を取得し、訓練バッチの前記アップグレードされた勾配を用いて、顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新することを含む。
【0006】
本発明の他の態様によれば、深層顔認識のためのモデルを訓練するためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラム命令が包含される、非一時的なコンピュータで読み取り可能な記録媒体を含む。プログラム命令は、コンピュータに方法を実行させるためにコンピュータによって実行可能である。本方法は、顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行することを含む。さらに、本方法は、メタ学習器に基づいて訓練バッチのサンプルの重みを計算することを含む。また、本方法は、プロセッサ装置により、訓練バッチのモデルの重みに関する訓練バッチの勾配を取得し、訓練バッチの勾配を用いて顔認識モデルw(t)を顔認識モデルwhat(t)に更新することを含む。さらに、本方法は、サンプルの検証バッチを顔認識モデルwhat(t)に転送することを含む。加えて、本方法は、プロセッサ装置により、メタ学習器シータ(t)に関する検証バッチの勾配を取得し、検証バッチの勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベルの重要度の重みを取得するために、訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新することを含む。さらに、本方法は、プロセッサ装置により、訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて訓練バッチのアップグレードされた勾配を取得し、訓練バッチの前記アップグレードされた勾配を用いて、顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新することを含む。
【0007】
本発明のさらに他の態様によれば、深層顔認識のためのモデルを訓練するためのコンピュータ処理システムが提供される。コンピュータ処理システムは、プログラムコードを格納するためのメモリ装置を含む。コンピュータ処理システムは、顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行する、プログラムコードを実行するためのメモリ装置に動作可能に接続されたプロセッサ装置をさらに含む。さらに、プロセッサ装置は、プログラムコードを実行して、メタ学習器に基づいて訓練バッチのサンプルの重みを計算する。また、プロセッサ装置は、プログラムコードを実行して、訓練バッチのモデルの重みに関する訓練バッチの勾配を取得し、訓練バッチの勾配を用いて顔認識モデルw(t)を顔認識モデルwhat(t)に更新する。さらに、プロセッサ装置は、プログラムコードを実行して、サンプルの検証バッチを顔認識モデルwhat(t)に転送する。加えて、プロセッサ装置は、プログラムコードを実行して、メタ学習器シータ(t)に関する検証バッチの勾配を取得し、検証バッチの勾配及び前記顔認識モデルwhat(t)を用いて、サンプルの更新されたサンプルレベルの重要度の重みを取得するために、訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新する。また、プロセッサ装置は、プログラムコードを実行して、訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みに基づいて訓練バッチのアップグレードされた勾配を取得し、訓練バッチの前記アップグレードされた勾配を用いて、顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に更新する。
【0008】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【0009】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【0010】
図1図1は、本発明の一実施形態による、例示的なコンピューティング装置を示すブロック図である。
【0011】
図2図2は、本発明の一実施形態による、例示的なフレームワーク200を示すブロック図である。
【0012】
図3図3は、本発明の一実施形態による、深層顔認識システム/方法300を示すハイレベルなブロック図である。
【0013】
図4図4は、本発明の一実施形態による、顔認識用のメタ学習のための疑似コード400を示す図である。
【0014】
図5図5は、本発明の一実施形態による、サンプルレベルマージンのメタ学習のための疑似コード500を示す図である。
【0015】
図6図6は、本発明の一実施形態による、サンプルレベルマージンのメタ学習のための例示的な方法600を示すフロー図である。
【発明を実施するための形態】
【0016】
本発明の実施形態は、深層顔認識のためのメタ学習を用いたドメイン一般化マージンを対象とする。用語「マージン」と同じ「サンプルレベルの重要度」の様々な形式とは、本明細書では置き換え可能に使用される。「インスタンス」及び「サンプル」という用語も、本明細書では置き換え可能に使用される。
【0017】
本発明の実施形態は、データの不均衡の複数のファクタ、例えば量、民族、オクルージョン及び頭部姿勢等を統一されたフレームワークで同時に克服する訓練方法を提供する。これは、クラスの再重み付け戦略を使用し、量の不均衡のみを処理するこれまでの作業からの進歩を示す。
【0018】
本発明の実施形態では、バリエーションの各ロングテールファクタを重要度のモデリングに定式化する、インスタンスレベルのバリエーション認識損失(ILVA:variation-aware loss)が提供される。次に、剰余を伴う事前の重要度の加法的モデルを提案する。ここで、剰余は、提供されたメタ訓練セットの下でメタ学習を用いて学習される。最後に、学習された複数の重要度が組み合わされて、いくつかのバリエーションのファクタにわたって訓練データの分布のバランスが再調整される。
【0019】
図1は、本発明の一実施形態による、例示的なコンピューティング装置100を示すブロック図である。コンピューティング装置100は、深層顔認識のためのメタ学習を介してドメイン一般化マージンを提供するように構成されている。
【0020】
コンピューティング装置100は、コンピュータ、サーバ、ラックベースのサーバ、ブレードサーバ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、モバイルコンピューティング装置、ウェアラブルコンピューティング装置、ネットワークアプライアンス、Webアプライアンス、分散コンピューティングシステム、プロセッサベースのシステム及び/または家庭用電化製品を含むがこれらに限定されない、本明細書に記載された機能を実行できる任意のタイプの計算装置またはコンピュータ装置が包含される。追加または代替として、コンピューティング装置100は、1つまたは複数の計算スレッド、メモリスレッドまたは他のラック、スレッド、コンピューティングシャーシ、あるいは物理的に分散されたコンピューティング装置の他のコンポーネントを包含してもよい。図1で示すように、コンピューティング装置100は、プロセッサ110、入出力サブシステム120、メモリ130、データ記憶装置140、通信サブシステム150及び/またはサーバまたは同様の計算で一般的に見られる他のコンポーネント及び装置を例示的に含む。もちろん、コンピューティング装置100は、他の実施形態において、サーバコンピュータに一般的に見られるコンポーネント(例えば、様々な入力/出力装置)等、他のコンポーネントまたは追加のコンポーネントを含んでいてもよい。さらに、いくつかの実施形態において、例示的な構成要素のうちの1つまたは複数を、別の構成要素に組み込む、または別の構成要素の一部を形成してもよい。例えば、メモリ130またはその一部は、いくつかの実施形態において、プロセッサ110に組み込まれていてもよい。
【0021】
プロセッサ110は、本明細書に記載の機能を実現できる任意のタイプのプロセッサを包含してもよい。プロセッサ110は、単一のプロセッサ、複数のプロセッサ、中央処理装置(CPU)、グラフィックス処理装置(GPU)、シングルまたはマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラまたは他のプロセッサまたは処理/制御回路を包含してもよい。
【0022】
メモリ130は、本明細書に記載の機能を実行できる任意のタイプの揮発性または不揮発性メモリまたはデータ記憶装置を包含してもよい。動作中、メモリ130は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ及びドライバ等、コンピューティング装置100の動作中に使用される様々なデータ及びソフトウェアを格納できる。メモリ130は、I/Oサブシステム120を介してプロセッサ110に通信可能に接続され、これはプロセッサ110、メモリ130及びコンピューティング装置100の他のコンポーネントとの入出力動作を容易にする回路及び/またはコンポーネントが包含される。例えば、I/Oサブシステム120は、メモリコントローラハブ、入力/出力制御ハブ、プラットフォームコントローラハブ、統合制御回路、ファームウェア装置、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレース等)及び/または入出力操作を容易にするその他のコンポーネント及びサブシステムで具現化されてもよく、あるいは含んでいてもよい。いくつかの実施形態において、I/Oサブシステム120は、システムオンチップ(SOC)の一部を形成してもよく、プロセッサ110、メモリ130及びコンピューティング装置100の他の構成要素と共に、単一の集積回路チップに組み込まれていてもよい。
【0023】
データ記憶装置140は、例えば、メモリ装置及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブまたはその他のデータ記憶装置等、データの短期または長期の記憶のために構成された任意のタイプの装置または複数の装置で具現化できる。データ記憶装置140は、深層顔認識のためのメタ学習を用いたドメイン一般化マージンを提供するためのプログラムコードを格納できる。コンピューティング装置100の通信サブシステム150は、ネットワークを介してコンピューティング装置100と他のリモート装置との間の通信を可能にする、任意のネットワークインタフェースコントローラまたは他の通信回路、装置、あるいはそれらの集合が包含される。通信サブシステム150は、任意の1つまたは複数の通信技術(例えば、有線または無線通信)及び関連するプロトコル(例えば、イーサネット、InfiniBand(登録商標)、Bluetooth(登録商標)、Wi-Fi(登録商標)、WiMAXなど)を用いて、そのような通信を行うように構成される。
【0024】
示されるように、コンピューティング装置100は、1つまたは複数の周辺装置160を含んでいてもよい。周辺装置160は、任意の数の追加の入力/出力装置、インタフェース装置及び/または他の周辺装置を含んでいてもよい。例えば、いくつかの実施形態において、周辺装置160は、ディスプレイ、タッチスクリーン、グラフィック回路、キーボード、マウス、スピーカシステム、マイクロフォン、ネットワークインタフェース及び/または他の入出力装置、インタフェース装置、ビデオキャプチャ装置及び/または周辺機器を含んでいてもよい。
【0025】
もちろん、コンピューティング装置100は、当業者であれば容易に思いつくような他の要素(図示せず)を含むことも、特定の要素を省略することもできる。例えば、当業者には容易に理解されるように、特定の実施に応じて、様々な他のセンサ、入力装置及び/または出力装置をコンピューティング装置100に含んでいてもよい。例えば、様々なタイプの無線及び/または有線入力装置及び/または出力装置を利用できる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリ等を利用することもできる。処理システム100のこれら及び他の変形例は、本明細書で提供される本発明の教示を考慮すれば、当業者に容易に考えられる。
【0026】
本明細書で用いる「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指す。有用な実施形態において、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行装置等)を含んでいてもよい。1つまたは複数のデータ処理要素は、中央処理装置、グラフィックス処理装置及び/または個別のプロセッサまたはコンピューティング要素ベースのコントローラ(例えば、論理ゲート等)を含んでいてもよい。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリ等)を含んでいてもよい。任意の実施形態において、ハードウェアプロセッササブシステムは、オンボードまたはオフボードとしてもよく、またはハードウェアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)等)で用いるための専用の1つ以上のメモリを含んでいてもよい。
【0027】
いくつかの実施形態において、ハードウェアプロセッササブシステムは、1つまたは複数のソフトウェア要素を含み、実行してもよい。1つまたは複数のソフトウェア要素は、オペレーティングシステム及び/または1つまたは複数のアプリケーション及び/または特定の結果を達成するための特定のコードを含んでいてもよい。
【0028】
他の実施形態において、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つまたは複数の電子処理機能を実行する専用回路を含んでいてもよい。そのような回路は、1つまたは複数の特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)及び/またはプログラマブルロジックアレイ(PLA)を含んでいてもよい。
【0029】
ハードウェアプロセッササブシステムのこれら及び他の変形例もまた本発明の実施形態によって考えられる。
【0030】
図2は、本発明の一実施形態による、例示的なフレームワーク200を示すブロック図である。このフレームワークは、訓練バッチT211を有する訓練セット210、サンプルマイニングプロセス215、検証セット220、検証バッチV221、共有バックボーン230、重要度のマージン240、メタ学習器250、マルチバリエーションマージン260及びIVLA損失270を含む。これらの要素は本明細書の以下でさらに詳細に説明される。
【0031】
図3は、本発明の一実施形態による、深層顔認識システム/方法300を示す高レベルのブロック図である。
【0032】
システム/方法300は、顔認識エンジン訓練ブロック310、損失計算ブロック320、検証セット330、重要度の重み付けメタ学習ブロック340、メタ訓練更新ブロック350及び顔認識エンジン更新ブロック360を含む。
【0033】
認識エンジン訓練ブロック310は、ResNet-101ベースのバックボーンを使用し、サイズ100x100x3のトリミングされた顔画像を入力として受け取る。
【0034】
損失計算ブロック320は、認識エンジンブロックからの出力である特徴ベクトルを入力として取り、該特徴をアイデンティティ関連ロジットに処理し、損失に関するグランドトゥルースのアイデンティティラベルに対してペナルティを課す。
【0035】
検証セット330は、メタ学習段階を実施するために独立して選択される。
【0036】
重要度の重み付けメタ学習340は、現在の訓練セットバッチで最大の補完分布情報を有する検証セット330からサンプルを選択するためにバリエーション損失にペナルティを課すことで、モデルに依存しないメタ学習フレームワークであり、よりバランスの取れた訓練分布に改良する。
【0037】
メタ訓練更新ブロック350は、新たにフィードバックされた検証データを用いて、現在の訓練バッチの重要度の重みを更新する。
【0038】
認識エンジン更新ブロック360。更新された新たな重要度の重みに基づいて損失計算320を再度実行し、この典型的な更新の繰り返しを終了するように認識エンジンの重みを更新する。
【0039】
ここで、訓練データを増大するために、3つの典型的な拡張可能なバリエーション、すなわち、ぼけ、オクルージョン及び頭部姿勢が導入する。もちろん、本発明の意図を維持しつつ、他の変形例を使用してもよい。
【0040】
以下では、ハード事例から学習するために、信頼性を意識した識別損失が導入される。これは、その後、独立した信頼性を有するサブ埋め込みに特徴ベクトルを分割することでさらに拡張される。その後、導入された拡張可能なバリエーションが適用され、特徴の埋め込みがさらに非相関化される。より良い非相関化のために、より多くのバリエーションを探索する、拡張不能なバリエーションの発見が提案される。最後に、推論のために、不確実性に基づくペアワイズなメトリックが提案される。
【0041】
自己教師ありマルチタスク学習。
【0042】
変数の定義は以下の通りである。
x:入力顔画像
y:グラウンドトゥルースのアイデンティティラベル
θ:認識エンジンのモデルパラメータ
w:認識分類器のパラメータ
v:特定のドメインを示す(バリエーション)
i:特徴(310の出力)ベクトル
i:Lidt損失(式(2))のスケールファクタ
m:Lidt損失マージン
【0043】
(1)ハード事例学習に役に立つ。ヘルプの最適化
【数1】
【0044】
メタ学習を用いたドメインバランシング
【数2】
【0045】
ドメイン適応としてのクラスバランシング
【0046】
ロングテール分布Ps(x,y)から独立同分布(i.i.d.)で引き出された訓練セット(ソースドメイン)
【数3】
があるとする。より正確には、クラスの周辺分布Ps(y)はヘビーテールである。何故なら、視覚認識では、まれなクラス例を収集することがしばしば困難であるからである。それでもなお、ビジュアル認識モデルを学習して、全てのクラスで可能な限り間違いを少なくすることが期待される。
【数4】
ここで、推論時間でマージナルクラス分布Pt(y)がよりバランスのとれた(例えば、一様な分布)ターゲットドメインPt(x、y)が望ましい場合、
【数5】
はθによってパラメータ化された認識モデルであり、
【数6】
は0-1損失である。
【数7】
の表記は、少し厳密ではない、訓練中に微分可能なサロゲート損失(クロスエントロピー)にする。
【0047】
次に、重要度サンプリングのトリックを適用して、予想されるエラーを以下のようにロングテールソースドメインと接続する。
【数8】
ここで、
【数9】
である。
【0048】
既存のクラスバランスの取れた方法は、どのようにクラスワイズの重み{wy}を決定するかに焦点を当てており、訓練のために次の目的関数をもたらす。
【数10】
これは、
【数11】
と仮定することで、すなわち、任意のクラスyに関して
【数12】
と仮定することで、予想される推論誤差(式(8))を近似する。この仮定は、ドメイン適応におけるターゲットシフトと呼ばれる。
【0049】
共有条件付き分布
【数13】
の仮定は、一般に、特にテールクラスには当てはまらないと主張される。犬(Dog)の代表的な訓練セットは簡単に作成できるが、ケワダカモ(King Eider)の場合はそうではない。本発明は、ソース条件分布とターゲット条件分布との間の差
【数14】
を明確にモデル化し、クラスバランス方式で改善されたアルゴリズムに到達することを提案する。
【0050】
条件差のモデル化。
【0051】
簡単にするために、条件付き重み
【数15】
を導入し、予想される推論誤差を次のように書き直す。
【数16】
ここで、最終項は誤差の偏りのない推定である。特に、本発明は、ソース及びターゲットドメインの条件付き分布が同じである、すなわち、
【数17】
が許容されるという仮定をしない。したがって、各訓練事例の重みは2つの部位で構成される。一方の成分はクラスワイズの重み
【数18】
であり、他方は条件付き重み
【数19】
である。本発明は、式(11)から実用的なアルゴリズムを導き出すために両方の成分を推定する必要がある。何故なら、訓練セットのクラス分布はロングテールでなければならないと信じられているが、データの基礎となる分布は未知だからである。
【0052】
クラスワイズの重み{Wy}推定
【0053】
本発明は、クラスワイズの重みを、文献において実験的に成功した設計に類似させる。特に、本発明は、最近提案された「有効数」によってクラスワイズの重みを推定する。y番目のクラスにny個の訓練事例があると仮定すると、
【数20】
である。ここで、
【数21】
は推奨値
【数22】
のハイパーパラメータであり、nは訓練事例の数である。
【0054】
条件付き重み
【数23】
のメタ学習。
【0055】
条件付き重みは、メタ学習フレームワークをカスタマイズすることで推定される。
【0056】
主なアイデアは、バランスの取れた開発セット(development set)Dを訓練セットから提供し、それを用いて開発セットで最良のパフォーマンスの認識モデル
【数24】
を生み出す条件付き重みの検索を導くことである。残りの訓練データをTで示す。本発明は、次の問題
【数25】
を伴う
【数26】
を解くことで、条件付き重み
【数27】
を求める。ここで、本発明は、既にバランスがとれている開発セットに損失に重みを付与しない。本質的に、上記の問題は、本発明がエラー推定(式(13)及び(11))を最小化することで認識モデル
【数28】
を学習した後、モデルが開発セット(式(12))で最良の性能を発揮するように、最適な条件付き重みを検索する。
【0057】
ブルートフォース検索、例えば条件付き重みの全ての可能なセット
【数29】
を繰り返すことでは、上記の問題を解決することは困難であろう。可能であっても、重みのセット毎に認識モデル
【数30】
を訓練し、全てから最適なモデルを見つけることは、計算上非常に困難である。
【0058】
代わりに、本発明は、メタ学習フレームワークに修正を加えて、欲張り法(greedy manner)で条件付き重みを検索する。本発明は、現在の時間ステップtが与えられると、重み
【数31】
の探索をモデルパラメータθの更新と共にインターリーブする。
【0059】
【数32】
【0060】
【数33】
【0061】
【数34】
【0062】
第1の式は、現在の条件付き重み
【数35】
(クラスワイズの重みを加えたもの)で重み付けされた損失を用いて、θtについて1ステップ勾配降下法を試みる。更新されたモデルパラメータ
【数36】
は、条件付き重みを1ステップで更新する、バランスの取れた開発セットDで精査される。更新された重み
【数37】
は古いものよりも優れている。つまり、最後の式によって返されたモデルパラメータ
【数38】
は、
【数39】
よりも開発セットで発生する認識エラーが小さくなるはずである。
【数40】
から開始して、本発明は次のラウンドの更新に移る。
【0063】
図4は、本発明の一実施形態による、インスタンスレベルマージンメタ学習のための例示的な疑似コード400を示す図である。
【0064】
ここで、本発明の一実施形態によるアプローチに関してさらなる説明を行う。
【0065】
コサイン損失マージンは、文献には示されていない、サンプリングの重要度として解釈できることを最初に示す。予め定義された定数をマージンとして保証するコサイン損失とは対照的に、本発明は、その重要度を織り込む、各訓練サンプルのインスタンスレベルのバリエーション認識マージンを提案する。さらに、マージンは事前定数項と剰余動的項とに分割される。ここで、後者は複数のバリエーションファクタを表す。最後に、本発明は、メタ学習フレームワークを導入し、各サンプルのマージンの剰余項を適合させる。
【0066】
次に、本発明の一実施形態による、サンプリングの重要度としての解釈マージンについて説明する。
【0067】
【数41】
を、i番目の入力及び対応するラベルとしてxi及びyiを有する訓練セットと仮定する。定数マージン
【数42】
のコサイン損失は、式1によりポジティブサンプルに対して定義される。深層認識モデルのCNNバックボーンを
【数43】
としてモデル化し、Ωをネットワークパラメータとして用いると、
【数44】
は特徴ベクトル
【数45】
とyi番目のクラステンプレート
【数46】
との内積である。マージン
【数47】
は、内積
【数48】
をマージンよりも大きくするための正の定数として設定される。sは訓練の収束を保証するスケールファクタである。
【数49】
【0068】
一方、重要度再重み付け法は、一般にサンプルのロングテール状態に従って各サンプル損失成分を再重み付けする、重要度の重み
【数50】
が導入される。したがって、ネットワークの訓練は、提案された重み付け損失関数の最小化として次のように定式化できる。
【数51】
ここで、Nはクラスの数である。クラスワイズの重み
【数52】
は、通常、クラス毎のサンプル数の逆数に比例するように設計されている。例えば、ルールベースの方法は、
【数53】
で定義される「有効数」として
【数54】
を決定する。ここで、
【数55】
はクラスの量である。式14と式15を組み合わせると、次の式が得られる。
【数56】
【0069】
通常、異なるクラスyiについて、分母部は一般に類似している、すなわち、全て
【数57】
に近い。分子部はさらに次のように変換される。
【数58】
【0070】
式16の再重み付け損失は、
【数59】
が新しいスケーラ及びマージンとして定義される修正コサイン損失と実質的に等しいことが分かる。式14との違いは、新しい式では、スケーラとマージンの両方がクラス認識重み
【数60】
に比例することである。したがって、サンプリングの重要度の学習問題は、新しいコサイン損失フレームワークにおける、クラス毎のマージンmiとスケーラs’を学習するものとして変換できる。本発明は、固定スカラ
【数61】
を考慮し、文献では十分に調査されていない重要度サンプリングの観点からマージンに主として焦点を当てる。上記の説明から、クラス認識マージンmiは、クラスyiのサンプリングの重要度を反映する。ここで、ルールベースの方法を用いてmiの値を割り当てる代わりに、本発明はメタ学習ベースの方法を用いて、最適な重要度がインスタンスのバリエーションを十分に取得しないことを適応的に学習する。すなわち、同じアイデンティティからの2つの顔画像は、一方が通常の状態で取得されたものであり、他方が大きな頭部姿勢または厳しい照明条件下で取得されたものであると、異なる重要度を示すことがある。
【0071】
次に、本発明の一実施形態による、多変量コサインマージンについて説明する。
【0072】
CosFace及び他のコサイン距離ベースの方法は、全ての訓練データに対して等しいサンプリングの重要度を割り当てることに等しい、データセット全体にわたって共有される一定のマージンを仮定する。本明細書で述べるように、インスタンスレベルで重要度をサンプリングすると、より良好なバリエーションの取得が提供され、訓練データの偏りを補償するのに役に立つ、これらのバリエーションが識別損失に反映される。
【0073】
この目的のため、本発明は、各サンプルに重要度の重みを割り当てるために、インスタンスレベルのバリエーション認識マージン
【数62】
を提案する。様々な要因が訓練データのロングテール分布の原因になる可能性があり、これらの要因が異なるインスタンスレベルのマージンのセットにつながるか否かをそれぞれ検討する。本発明は、上述した全てのバリエーションの要因を表す、多変量コサインマージンと呼ばれる統合された単一のマージンを提供するため、民族、頭部姿勢、画像のぼけレベル及びオクルージョンレベル等の一連の列挙可能な要因を組み合わせることを目的とする。正式には、本発明は、ルールベースのマージンを先の
【数63】
とし、各バリエーションの重要度を表す剰余動的項
【数64】
と組み合わせた加法モデルを活用する。
【0074】
ここで、
【数65】
は、クラスyiに関して事前に計算されたクラスレベルマージンである。jはインスタンスレベルのインデックスを表す。
【数66】
【0075】
αはハイパーパラメータであり、
【数67】
はクラスyiのサンプル量である。直観的に、ヘッドクラスのサンプル(nyが大きい)は小さなマージンを受け取り、テールクラスのサンプル(nyが小さい)は大きなマージンを受け取る。
【0076】
式15において、kは、民族に関するeth、頭部姿勢の変化に関するpose、画像全体のオクルージョン比に関するocc及び画像のぼけレベルに関するblurを含む、本発明で定義されたバリエーションを列挙する指数である。本発明は、合成されたオクルージョン及びガウスぼかしを訓練に使用する。λkは、各バリエーションに関する結合係数であり、各バリエーションに関するロングテールサンプル数に反比例する。なお、
【数68】
であり、またこれらの値は、訓練中一定である。最後に、提案したインスタンスレベルマージンを用いて、本発明は次のようにILVA損失関数を定義する。
【数69】
【0077】
ここで、本発明の一実施形態による、バリエーション認識剰余メタ学習について説明する。
【0078】
ここで、本発明の一実施形態による、バリエーション認識剰余メタ学習について説明する。
【0079】
重要度の重みの剰余項を得るために、本発明はメタ学習フレームワークを活用する。これは予め定義された検証セットVを入力として用いる。検証セットは、オリジナルの訓練セットとアイデンティティを共有しない。主なアイデアは、訓練バッチで各サンプルのバリエーションをチェックすることであり、この特定のサンプルからの各バリエーション(民族、頭部姿勢等)の不十分さが強調できるように、メタ学習が各サンプルの重要度を動的に更新することが期待される。このようにハイライトされた剰余をフィードバックして適応コサイン損失マージンを形成することで、提案されたILVA損失は、別の方法で特徴学習を更新する。
【0080】
ここで、本発明の一実施形態による、マルチ分岐ベースラインについて説明する。
【0081】
本明細書で紹介するように、本発明は、クラス量の不均衡に基づいて予め決定された事前定数項と、式15の剰余項
【数70】
とを含む加法定式化としてマージンをモデル化する。本発明は、
【数71】
で示される識別タスクを主タスクと見なし、提案されたILVA損失を適用して認識バックボーンを更新する。さらに、各バリエーションは式における剰余項に対応する。これらのバリエーションに関連する全てのマージンをモデル化するため、本発明はマルチ分岐ベースのフレームワークをセットアップする。具体的には、民族、頭部姿勢、ぼけ及びオクルージョンの列挙されたバリエーションのファクタのそれぞれについて、本発明は分類器
【数72】
を設定する。例えば、コーカサス人、アフリカ系アメリカ人、東アジア人及び南アジア人として定義された民族ラベル
【数73】
を予測するため、本発明は、4つのクラスを有する民族分類器をセットアップする。
【0082】
古典的なマルチタスク学習とは対照的に、バリエーションタスクは共有バックボーン
【数74】
の学習には寄与せず、分類器
【数75】
のパラメータを更新するためにのみ使用される。バリエーション分類器は、メタ学習モジュールの更新に損失フィードバックを提供するために実装される。アイデンティティの特徴の更新にバリエーションの分類器が使用されない理由は、バリエーションが実質的にidに無関係なタスクの識別特徴を促進し、それがidバリアント特徴につながるためである。訓練は敵対的学習に似ている。メインタスクはILVAを用いてバリエーションタスクが分類器を学習する一方で、他のバリエーションに対して不変なid特徴を学習し、検証セットを備えるメタ学習を用いて、ILVA損失のインスタンスレベルのマージンを修正し、テール付きサンプルを強調表示する。
【0083】
バリエーション分類器を訓練する目的は、交差エントロピー損失
【数76】
である。ここで、
【数77】
はバリエーションタスクkのクロスエントロピー損失であり、
【数78】
はバリエーションタスクkよりも少ないサンプルjのラベルである。
【0084】
ここで、本発明の一実施形態による、多変量メタ学習について説明する。
【0085】
ベースラインは重要度の重みを変化させないことで実現される。バリエーションのそれぞれに沿った分布の不均衡を見つけるために、本発明は、訓練された分類器vkの予測ロジットを用いてスコアを示す。バリエーションの分布が近いサンプルは、同様の分類器ロジットをもたらすと考えられる。
【0086】
ここで、本発明の一実施形態による、ハード検証サンプルマイニングに関して説明する。
【0087】
1つの訓練バッチに基づいてテール分布情報(tailed distribution information)を効果的にフィードバックするため、本発明はハードサンプルマイニングを実施し、訓練セットとアイデンティティが重複しない、予め定義された検証セットVから最も典型的なサンプルを検索する。
【数79】
ここで、xbは現在の訓練バッチBからのサンプルである。
【数80】
は、k番目のバリエーション分類器による予測ロジットを表す。次のステップにおいて、提案するハードマイニング手法で選択されたサンプルを用いてメタ学習モジュールを訓練する。
【0088】
次に、提案するメタ学習フレームワークの1回の繰り返しを実行するために必要なステップを説明する。簡単にするために、クラスインデックスiは式から省略し、サンプルインデックスjのみが保持される。
【0089】
次に、本発明の一実施形態による、擬似モデルの更新について説明する。
【0090】
各繰り返しtにおいて、本発明は、訓練データからバッチTを一様にサンプリングし、それを認識モデルに供給して、モデルパラメータΩを更新する。現在のモデルΩでパフォーマンスが向上しない場合、モデルΩの更新を先の繰り返しt-1にロールバックできることに留意されたい。
【数81】
【0091】
次に、本発明の一実施形態による、マージン剰余のメタ更新について説明する。
【0092】
本発明は、式22で記述されたオンラインハードサンプルマイニング法を用いて、検証セットVから検証バッチを作成する。その後、本発明は、先のステップで更新されたモデルパラメータΩtを用いて、マージン剰余項
【数82】
を更新するためにマルチ分岐バリエーション分類損失を活用する。
【0093】
【数83】
と共に、マージン
【数84】
は式15で得られる。更新されたマージン
【数85】
は、複数のバリエーションファクタのバランスを取ることでバリエーションタスクの分類エラーが小さくなるという意味で、先の更新
【数86】
よりも優れている。
【0094】
次に、本発明の一実施形態による、実モデルの更新について説明する。
【0095】
本発明は、得られた新しい重要度のマージン
【数87】
を適用して、実認識モデルの更新を行う。
【数88】
【0096】
アルゴリズムの全体は、図5のアルゴリズム2にまとめられている。本発明は、顔認識モデル
【数89】
の更新を最適に実行しつつ、式24の損失を最小化する最適なマージンmjを追い求める。本発明は、1つの単一ドメインの重み自体が偏りを推定することにつながる、剰余を推定するために
【数90】
の複数の分岐を考慮する。
【0097】
図6は、本発明の一実施形態による、サンプルレベルマージンのメタ学習のための例示的な方法を示すフロー図である。
【0098】
ブロック610において、顔認識モデルw(t)を形成するために、サンプルの訓練バッチでフォワード訓練を実行する。
【0099】
ブロック620において、メタ学習器に基づいて訓練バッチのサンプルの重みを計算する。
【0100】
ブロック630において、訓練バッチのモデルの重みに関する訓練バッチの勾配を取得し、該訓練バッチの勾配を用いて、顔認識モデルw(t)を顔認識モデルWhat(t)に更新する。
【0101】
ブロック640において、サンプルの検証バッチを顔認識モデルWhat(t)に転送する。
【0102】
ブロック650において、メタ学習器シータ(t)に関する検証バッチの勾配を取得し、該検証バッチの勾配及び顔認識モデルWhat(t)を用いて、訓練バッチにおけるサンプルのサンプルレベルの重要度の重みを更新し、訓練バッチにおけるサンプルの更新されたサンプルレベルの重要度の重みを取得する。
【0103】
ブロック660において、訓練バッチにおけるサンプルの更新されたサンプルレベル重要度の重みに基づいて訓練バッチのアップグレードされた勾配を取得し、訓練バッチのアップグレードされた勾配を用いて、顔認識モデルw(t)を次の繰り返しに対応する訓練されたモデルw(t+1)に変換する。
【0104】
次の繰り返しに対応することの重要性。メタ学習ベースのモデルw(t)の更新は、顔認識訓練の不均衡を軽減するために、検証セットからの補完的な情報を利用し、ドメイン(バリエーション)分類器のフィードバックに基づいて分布の不均衡を自動的に発見するため、重要である。訓練は繰り返しであるため、各段階の訓練モデルは先の訓練モデルの更新に基づいている。更新された訓練モデルw(t+1)は、次の繰り返しの開始ポイントある。
【0105】
本発明は、システム、方法及び/または統合可能な技術的詳細レベルのコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータで読み取り可能なプログラム命令を有するコンピュータで読み取り可能な記録媒体(または媒体)を含んでいてもよい。
【0106】
コンピュータで読み取り可能な記録媒体は、命令実行装置で使用される命令を保持及び格納できる有形の装置であってもよい。コンピュータで読み取り可能な記録媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置または上記の任意の適切な組み合わせでもよいが、これらに限定されない。コンピュータで読み取り可能な記録媒体のより具体例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯用コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードまたは命令が記録された溝の隆起構造等の機械的な符号化装置及び前述した任意の適切な組み合わせを含む。本明細書で用いるコンピュータで読み取り可能な記録媒体は、例えば、電波または他の自由に伝搬する電磁波、導波管または他の伝送媒体を通って伝搬する電磁波(例えば、通過する光パルス光ファイバーケーブル)またはワイヤを介して伝送される電気信号等、それ自体が一時的な信号であると解釈されるべきではない。
【0107】
本明細書に記載のコンピュータで読み取り可能なプログラム命令は、コンピュータで読み取り可能な記録媒体からそれぞれのコンピューティング/処理装置に、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/または無線ネットワークを介して外部コンピュータまたは外部記憶装置にダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/またはエッジサーバを有していてもよい。各コンピューティング/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータで読み取り可能なプログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータで読み取り可能な記録媒体に格納するためにコンピュータで読み取り可能なプログラム命令を転送する。
【0108】
本発明の動作を実行するためのコンピュータで読み取り可能なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機種依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、例えばSMALLTAL(登録商標)K、C++等のオブジェクト指向プログラミング言語、並びに、例えば「C」プログラミング言語または同様のプログラミング言語等の従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれであってもよい。コンピュータで読み取り可能なプログラム命令は、全体的にユーザのコンピュータで実行されてもよく、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータで実行されてもよく、部分的にユーザのコンピュータで実行され、かつ部分的にリモートコンピュータで実行されてもよく、全体的にリモートコンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータと接続されてもよく、(例えば、インターネットサービスプロバイダを利用したインターネットを介して)外部コンピュータと接続されてもよい。いくつかの実施形態において、本発明の態様を実行するために、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブルロジックアレイ(PLA)を含む電子回路は、該電子回路をパーソナライズするために、コンピュータで読み取り可能なプログラム命令の状態情報を用いてコンピュータで読み取り可能なプログラム命令を実行してもよい。
【0109】
本発明の態様は、本発明の実施形態による、方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/またはブロック図を参照することで説明される。フローチャート図及び/またはブロック図の各ブロック、並びにフローチャート図及び/またはブロック図におけるブロックの組み合わせは、コンピュータで読み取り可能なプログラム命令によって実行できることを理解されたい。
【0110】
これらのコンピュータで読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/またはブロック図の各ブロックで特定される機能/動作を実現するための手段を作成するように、機械を生成してもよい。また、これらのコンピュータ読み取り可能なプログラム命令は、コンピュータ、プログラム可能なデータ処理装置及び/または他の装置を特定の方法で機能させることができるコンピュータで読み取り可能な記録媒体に格納されていてもよく、命令が格納されたコンピュータで読み取り可能な記録媒体は、フローチャート及び/またはブロック図のブロックまたは各ブロックで特定される機能/動作の態様を実現する命令を含む製品を有する。
【0111】
コンピュータで読み取り可能なプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置または他の装置にロードされ、コンピュータ、他のプログラム可能な装置または他の装置で実行される命令が、フローチャート及び/またはブロック図のブロックまたは各ブロックで特定される機能/動作を実現するように、コンピュータ、他のプログラム可能な装置または他の装置で一連の動作ステップを実行させ、コンピュータで実施されるプロセスを生成する。
【0112】
複数の図におけるフローチャート及びブロック図は、本発明の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の考えられる実施のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定される論理機能を実現するための1つまたは複数の実行可能な命令を含む、モジュール、セグメントまたは命令の一部を表すことができる。一部の代替の実現において、ブロックに記載されている機能は、図に記載されている順序とは異なっていてもよい。例えば、関連する機能に応じて、連続して示す2つのブロックが、実際には実質的に同時に実行されるか、逆の順序で実行されてもよい。ブロック図及び/またはフローチャート図の各ブロック、並びにブロック図及び/またはフローチャート図の各ブロックの組み合わせは、特定される機能または動作を実行する、あるいは専用ハードウェアとコンピュータ命令の組み合わせを実行する、専用ハードウェアベースのシステムによって実現できることにも留意されたい。
【0113】
本明細書では本発明の「一実施形態」または「一実施形態」、ならびにその他の変形形態に言及し、実施形態に関連して説明した特定の機能、構成、特徴などが、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、「一実施形態において」または「一実施形態において」という語句の出現、並びに本明細書全体を通して様々な場所に出現する任意の他の変形形態は、必ずしも全てが同じ実施形態を参照しているわけではない。
【0114】
例えば、「A/B」、「A及び/またはB」、並びに「A及びBのうちの少なくとも1つ」の場合における「/」、「及び/または」、並びに「うちの少なくとも1つ」のうちのいずれかの使用は、第1に挙げた選択肢(A)のみの選択、第2に挙げた選択肢(B)のみの選択、または両方の選択肢(A及びB)の選択を含むことを意図したものと理解すべきである。さらに例を挙げれば、「A、B及び/またはC」、並びに「A、B及びCのうちの少なくとも1つ」の場合、このような表現法は、第1に挙げた選択肢(A)のみの選択、第2に挙げた選択肢(B)のみの選択、第3に挙げた選択肢(C)のみの選択、第1及び第2に挙げた選択肢(A及びB)のみの選択、第1及び第3に挙げた選択肢(A及びC)のみの選択、第2及び第3に挙げた選択肢(B及びC)のみの選択、または3つの選択肢全て(A及びB及びC)の選択を含むことを意図したものである。上述した例は、当業者に容易に明らかとなるように、列挙される多数の項目に応じて拡大適用される。
【0115】
上記は、あらゆる観点において説明的かつ典型的であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。
図1
図2
図3
図4
図5
図6
【国際調査報告】