(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-04
(54)【発明の名称】画像の選択的な編集
(51)【国際特許分類】
G06T 11/80 20060101AFI20240226BHJP
G06T 7/00 20170101ALI20240226BHJP
G06F 16/583 20190101ALI20240226BHJP
【FI】
G06T11/80 D
G06T7/00 350B
G06T7/00 660A
G06F16/583
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023548708
(86)(22)【出願日】2022-02-15
(85)【翻訳文提出日】2023-08-10
(86)【国際出願番号】 CN2022076327
(87)【国際公開番号】W WO2022188599
(87)【国際公開日】2022-09-15
(32)【優先日】2021-03-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ピネル、フロリアン
(72)【発明者】
【氏名】コルディコット、ピーター アラン
(72)【発明者】
【氏名】イェ ジュニア、フランク
(72)【発明者】
【氏名】ボビット、ルッセル、パトリック
【テーマコード(参考)】
5B050
5B175
5L096
【Fターム(参考)】
5B050AA03
5B050BA12
5B050BA13
5B050CA01
5B050DA04
5B050DA05
5B050EA19
5B050FA02
5B050GA07
5B050GA08
5B175BA01
5B175DA02
5B175FA01
5B175JA02
5L096AA06
5L096CA02
5L096DA01
5L096DA02
5L096HA11
5L096KA04
(57)【要約】
分析のために機械学習モデルによって使用される一組の属性を決定することと、画像データを受信することと、1つまたは複数のコンピュータ・プロセッサによって、画像データのうちの分析に関連する部分を検出することであって、部分が一組の属性のうちの少なくともいくつかを含む、検出することと、部分から合成部分を生成することであって、合成部分が、検出された部分の属性のうちの少なくともいくつかを保持する、生成することと、部分を合成部分に置き換えて、編集された画像データをもたらすことと、編集された画像データを分析のために提供することとによって、画像を選択的に編集すること。
【特許請求の範囲】
【請求項1】
画像を選択的に編集するコンピュータ実施方法であって、
1つまたは複数のコンピュータ・プロセッサによって、画像データを受信することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記画像データのうちの分析に関連する部分を検出することであって、前記部分が一組の属性を含む、前記検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分から合成部分を生成することであって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分を前記合成部分に置き換えて、編集された画像データをもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、編集された前記画像データを前記分析のために提供することと
を含む、コンピュータ実施方法。
【請求項2】
前記1つまたは複数のコンピュータ・プロセッサによって、機械学習モデルを使用して、編集された前記画像データを分析すること
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記画像データが映像データを含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記アバタおよび前記部分のそれぞれにオーバーレイを適用することであって、前記オーバーレイが複数のセルを含む、前記適用することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすことと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分の前記一組の属性のうちの少なくともいくつかを検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整することと
をさらに含む、請求項4に記載のコンピュータ実施方法。
【請求項6】
前記1つまたは複数のコンピュータ・プロセッサによって、一組の部分を検出することと、
前記一組の部分の各部分について、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記アバタおよび前記部分のそれぞれにオーバーレイを適用することであって、前記オーバーレイが複数のセルを含む、前記適用することと、
前記1つまたは複数のコンピュータ・プロセッサによって、変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすことであって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記置き換えることと、
前記1つまたは複数のコンピュータ・プロセッサによって、機械学習モデルを使用して前記一組の合成部分を分析することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記機械学習モデルを使用して前記一組の部分を分析することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記正確度に従って前記一組の変換から変換を選択することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記変換を利用して、部分から合成部分を生成することと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項7】
画像を選択的に編集するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、1つまたは複数のコンピュータ可読記憶デバイスと、前記1つまたは複数のコンピュータ可読記憶デバイス上に集合的に記憶されたプログラム命令とを備え、記憶された前記プログラム命令が、
画像データを受信するためのプログラム命令と、
前記画像データのうちの分析に関連する部分を検出するためのプログラム命令であって、前記部分が一組の属性を含む、前記プログラム命令と、
前記部分から合成部分を生成するためのプログラム命令であって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記プログラム命令と、
前記部分を前記合成部分に置き換えて、編集された画像データをもたらすためのプログラム命令と、
編集された前記画像データを前記分析のために提供するためのプログラム命令と
を含む、コンピュータ・プログラム製品。
【請求項8】
機械学習モデルを使用して、編集された前記画像データを分析するためのプログラム命令
をさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項9】
前記画像データが映像データを含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項10】
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすためのプログラム命令と
をさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項11】
前記部分の前記一組の属性のうちの少なくともいくつかを検出するためのプログラム命令と、
検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整するためのプログラム命令と
をさらに含む、請求項10に記載のコンピュータ・プログラム製品。
【請求項12】
一組の部分を検出するためのプログラム命令と、
前記一組の部分の各部分について、
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすためのプログラム命令であって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記プログラム命令と、
機械学習モデルを使用して前記一組の合成部分を分析するためのプログラム命令と、
前記機械学習モデルを使用して前記一組の部分を分析するためのプログラム命令と、
前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定するためのプログラム命令と、
前記正確度に従って前記一組の変換から変換を選択するためのプログラム命令と、
前記変換を利用して、部分から合成部分を生成するためのプログラム命令と
をさらに含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項13】
画像を選択的に編集するためのコンピュータ・システムであって、前記コンピュータ・システムが、
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶デバイスと、
前記1つまたは複数のコンピュータ・プロセッサによる実行のために、前記1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたプログラム命令であって、記憶された前記プログラム命令が、
画像データを受信するためのプログラム命令と、
前記画像データのうちの分析に関連する部分を検出するためのプログラム命令であって、前記部分が一組の属性を含む、前記プログラム命令と、
前記部分から合成部分を生成するためのプログラム命令であって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記プログラム命令と、
前記部分を前記合成部分に置き換えて、編集された画像データをもたらすためのプログラム命令と、
編集された前記画像データを前記分析のために提供するためのプログラム命令と
を含む、コンピュータ・システム。
【請求項14】
機械学習モデルを使用して、編集された前記画像データを分析するためのプログラム命令
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項15】
前記画像データが映像データを含む、請求項13に記載のコンピュータ・システム。
【請求項16】
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすためのプログラム命令と
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項17】
前記部分の前記一組の属性のうちの少なくともいくつかを検出するためのプログラム命令と、
検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整するためのプログラム命令と
をさらに含む、請求項16に記載のコンピュータ・システム。
【請求項18】
一組の部分を検出するためのプログラム命令と、
前記一組の部分の各部分について、
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすためのプログラム命令であって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記プログラム命令と、
機械学習モデルを使用して前記一組の合成部分を分析するためのプログラム命令と、
前記機械学習モデルを使用して前記一組の部分を分析するためのプログラム命令と、
前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定するためのプログラム命令と、
前記正確度に従って前記一組の変換から変換を選択するためのプログラム命令と、
前記変換を利用して、部分から合成部分を生成するためのプログラム命令と
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項19】
画像データを選択的に編集するためのコンピュータ実施方法であって、
1つまたは複数のコンピュータ・プロセッサによって、基礎となる画像部分から合成画像部分をもたらす少なくとも1つの画像データ変換を決定することであって、前記合成画像部分が、機械学習モデルによる画像データ部分の検出には十分であるが、画像データ部分の識別には不十分である、前記決定することと、
前記1つまたは複数のコンピュータ・プロセッサによって、画像データ内の基礎となる画像データ部分を検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分に前記少なくとも1つの変換を適用して、合成画像部分をもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像部分を前記合成画像部分に置き換えて、編集された画像データをもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、編集された前記画像データを前記機械学習モデルに提供することと
を含む、コンピュータ実施方法。
【請求項20】
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分および前記アバタに前記少なくとも1つの変換を適用し、前記基礎となる画像データ部分のデータを前記アバタのデータに置き換えて、前記合成画像部分をもたらすことと
をさらに含む、請求項19に記載のコンピュータ実施方法。
【請求項21】
前記少なくとも1つの画像データ変換を決定することが、機械学習モデルの正確度に従って画像データ変換を選択することを含む、請求項19に記載のコンピュータ実施方法。
【請求項22】
前記画像データが映像データを含む、請求項19に記載のコンピュータ実施方法。
【請求項23】
画像データを選択的に編集するための方法であって、
機械学習モデルに関連付けられた一組の画像データ属性を決定することであって、前記一組の画像データ属性が、前記機械学習モデルによるデータ部分検出に十分である、前記決定することと、
前記一組の画像属性に従って画像データを選択的に編集し、編集された画像データをもたらすことと、
編集された前記画像データを前記機械学習モデルに提供することと
を含む、方法。
【請求項24】
前記画像データが映像データを含む、請求項23に記載の方法。
【請求項25】
前記データ部分に関連付けられたアバタを生成することと、
前記データ部分のデータを前記アバタのデータに置き換えて、合成画像部分をもたらすことであって、前記合成画像部分が、前記機械学習モデルによるデータ部分検出に十分な前記一組の画像属性を含み、前記合成画像部分が、前記データ部分としての識別に不十分な画像データ属性を含む、前記置き換えることと
をさらに含む、請求項23に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、画像の分析および選択的な編集に関する。本開示は、詳細には、画像内の顔を検出し、選択的に編集することに関する。
【背景技術】
【0002】
データおよびプライバシ保護規制は、識別可能な人間の顔を含む映像または静止画像の送信を禁止しており、画像に含まれる顔をぼかすことを奨励している。映像分析ソフトウェアは、画像の一部分を画素化すること、または検出された顔をぼかすことによって、顔の検出および難読化を可能にする。画素化またはぼかしは、検出された顔を、顔として完全には認識できない状態にする。その結果、含まれるすべての顔が顔として認識できない状態であるので、いかなる目的であっても、顔に関してこのような映像分析ソフトウェアの出力を分析することができない。同様に、州および郡の情報について車両ライセンス・プレートを検出すること、会社の所属について識別バッジを検出することに特化した分析ソフトウェアは、そのような分析の前にライセンス・プレートが完全に難読化されることにより、対処できない場合がある。
【発明の概要】
【0003】
本開示の1つまたは複数の実施形態の基本的な理解を提供するために、以下に概要を提示する。この概要は、重要な要素または必須の要素を識別することも、特定の実施形態のいかなる範囲または特許請求の範囲のいかなる範囲を線引きすることも意図していない。その唯一の目的は、後述するさらに詳細な説明の前置きとして、簡略化した形式で概念を提示することである。本明細書に記載の1つまたは複数の実施形態では、検出された顔画像の選択的な編集を可能にするシステム、コンピュータ実施方法、装置、またはコンピュータ・プログラム製品あるいはその組合せについて説明する。
【0004】
本発明の態様は、分析のために機械学習モデルによって使用される一組の属性を決定することと、画像データを受信することと、1つまたは複数のコンピュータ・プロセッサによって、画像データのうちの分析に関連する部分を検出することであって、部分が一組の属性のうちの少なくともいくつかを含む、検出することと、部分から合成部分を生成することであって、合成部分が、検出された部分の属性のうちの少なくともいくつかを保持する、生成することと、部分を合成部分に置き換えて、編集された画像データをもたらすことと、編集された画像データを分析のために提供することとによって画像を選択的に編集することに関連する、方法、システム、およびコンピュータ可読媒体を開示する。
【0005】
添付の図面における本開示のいくつかの実施形態に関するより詳細な説明を通じて、本開示の上記および他の目的、特徴、ならびに利点がより明らかになるであろう。本開示の実施形態において、同じ参照符号は一般に、同じ構成要素を指す。
【図面の簡単な説明】
【0006】
【
図1】本発明の一実施形態によるコンピューティング環境の概略図である。
【
図2】本発明の一実施形態による動作シーケンスを示すフローチャートである。
【
図3】本発明の一実施形態による合成画像の生成を示す図である。
【
図4】本発明の一実施形態によるシステム・アーキテクチャを示す図である。
【
図5】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
【
図6】本発明の一実施形態による抽象化モデル層を示す図である。
【発明を実施するための形態】
【0007】
本開示の実施形態が例示されている添付図面を参照しながら、いくつかの実施形態についてより詳細に説明する。しかしながら、本開示は、様々な形態で実装されることが可能であり、したがって、本明細書に開示された実施形態に限定されると解釈されるべきではない。
【0008】
データ規制は、個人のプライバシを保護するために、認識可能な顔画像を含む画像または映像ストリームの使用を禁止している。一例として、顔用マスクの検出、広範な人口統計学的分析、IRカメラを使用した発熱検出を含む使用を対象とした映像分析ソフトウェアは、顔として認識できるが、個人を特定できる程度には認識できない画像を必要とする。典型的な編集システムは、画像の検出された顔を、画素化するか、または完全にぼかし、その結果、以前の顔はすでに識別不能になっており、また以前の顔はすでに顔としても検出不能になっている。顔に関連する情報の分析は、識別可能な顔を必要とせずに続行することはできない。同様に、交通分析ソフトウェアは、様々な車両タイプを検出する能力を必要とすることがあるが、車両のライセンス・プレート情報を識別するまたは読み取る能力を必要としないことがある。開示されたシステムおよび方法は、画像データ内の顔画像部分など、検出可能だが識別不能な画像部分を含む映像および静止画像を可能にする。開示された方法およびシステムは、下流分析モデルの使用を可能にするのに十分な画像属性を保持しているが、関連する画像コンテンツの識別を可能にするには不十分な属性を備えながら、識別可能な画像部分を編集する。
【0009】
一実施形態では、システムの1つまたは複数の構成要素は、ハードウェアまたはソフトウェアあるいはその両方を採用して、本質的に非常に技術的な問題を解決する(例えば、分析のために機械学習モデルによって使用される一組の属性を決定すること、画像データを受信すること、画像データのうちの分析に関連する部分を検出すること、検出された部分から合成部分を生成することであって、合成部分が、検出された部分の一組の属性を保持する、生成すること、検出された部分を合成部分に置き換えて、編集された画像データをもたらすこと、編集された画像を分析のために提供すること、など)。これらの解決策は、抽象的なものではなく、例えば識別なしに顔検出を容易にするために必要な処理能力であるため、人間による一連の知的な行為として実行することはできない。さらに、実行されるプロセスのいくつかは、画像データの選択的な編集に関連する定義済みのタスクを実施するための特殊化されたコンピュータによって実行されてもよい。例えば、特殊化されたコンピュータを使用して、検出可能だが識別不能である画像部分を提供することなどに関連するタスクを実施することができる。
【0010】
映像分析ソフトウェアには、推論を行い、映像ストリームのフレームの特定の部分または静止画像の一部分を検出するように訓練された機械学習モデルを含む。これらのモデルは、動物、顔、道路標識、横断歩道、バス、車、自転車、または他の関心のある物体を検出するように訓練されてもよい。モデルは、画像内の関心のある物体の外観に関連付けられた、重み付けされた属性を含む。外観属性は、物体全体および物体の一部分の形状、様々な角度からの物体の外観、物体のタイプに関連付けられた配色パターン、物体に関連付けられた文脈パターンを含んでもよい。スマート編集方法は、個人の識別バッジから、そのバッジから個人を同時に識別することなく組織を識別することを可能にする。広告からブランドの画像を選択的に編集することにより、広告されている実際のブランドを識別することなく、広告および製品タイプを識別することが可能になる。交通標識、車両、人物を含むシーン要素を、そのような人物または車両を識別することなく検出する。
【0011】
開示された実施形態の適用例は、州および郡の情報を認識できるが完全なライセンス・プレート番号は認識しない、ライセンス・プレートのスマート編集を含む。人物または車両の識別を可能にすることなく、複数のカメラ・ビューにわたって個人または車両を追跡する。開示された実施形態は、文書を個人情報のスマート編集によって匿名化した後に、その文書を分類することを可能にする。
【0012】
一実施形態では、システムは、下流分析モデルを分析し、下流画像分析を成功させるために必要な必須の属性を決定するように構成された、深層学習モデル分析器を含む。この実施形態では、分析器は、スタンドアロン・データ・セット、または映像ストリームなどのアクティブなリアルタイム画像セットのいずれかの検証データ・セットを利用する。システムは、入力画像データを分析し、編集された画像データを出力するスマート編集システムをさらに備え、編集された出力画像データは、識別できないが下流画像分析モデルによって検出できる編集された画像部分を含む。
【0013】
システムは、スマート・カメラ上またはエッジ・クラウド・リソース上に存在する部分検出器(portion detector)およびスマート編集器(smart redactor)であって、スマート編集がカメラ画像処理の一部として行われる、部分検出器およびスマート編集器と、下流深層学習画像分析モデルが存在するクラウド・リソース上または中央サーバ上に存在する深層学習モデル分析器とを有するように構成されてもよい。このような構成では、中央サーバ上の深層学習モデルは、顔用マスクの検出などのさらなる下流分析のために、クラウドまたはエッジ・クラウド・リソースから、編集された画像データを受信する。コンピューティング環境全体にわたるシステム構成要素の割当ては、システム全体の動作にとって必須というわけではない。ローカル・デバイス、エッジ・クラウドおよびクラウド・リソース、ならびに中央サーバ上に様々な部分が存在してもよい。開示されたシステムは、概して、画像データを取得し、下流深層学習モデルの必須属性の必要性に従って画像データを編集し、画像データを編集して、必須属性を含むが個人または他の物体の識別がすでに不可能である編集されたデータを出力する。
【0014】
一例として、顔検出器およびスマート編集器は、1つまたは複数のカメラに接続されたエッジ・クラウド・リソース上で実行される。残りのシステム構成要素は、エッジ・クラウド・リソースから編集された画像データを受信する中央サーバ上で実行される。システム構成要素は、性能を向上させ構成要素に対する不正を防止するために、ハードウェアまたはファームウェアとして実装されてもよい。
【0015】
以下の説明は、開示された実施形態を使用して画像データ内の顔を編集することに焦点を当てている。顔画像編集の例は、本発明の範囲を限定するものとして解釈されるべきではない。一実施形態では、方法は、注釈付き画像データを含む検証データ・セットを利用する。検証データ・セットは、深層学習モデル、この実施形態では顔検出モデルを訓練するために使用される訓練データ・セットであってもよい。検証データ・セットは、1つまたは複数のシステム・カメラから到来する映像ストリームに訓練済みの深層学習顔検出モデルを適用することによって取得された出力であってもよい。検証データ・セットは、別個に供給された映像データ・ストリームのための深層学習モデルの注釈付き出力であってもよい。検証データ・セットは、訓練済みの深層学習モデルを使用して検出された物体を含む。
【0016】
一実施形態では、方法は、検証データ・セットの検出された各物体(例えば、顔)に関連付けられたアバタ、または検出された物体の様式化されたバージョンを生成することによって進行する。生成されるアバタは、基礎となる検出された物体に少し似ているが、個々の対象を識別するのに必要な程度には物体に似ていなくてもよい。例えば、アバタは、人間の顔として認識できるが、特定の顔または個人として識別できないものであってもよい。例示的なアバタ生成方法は、顔画像を受信したときにアバタを生成するように訓練された顔生成器、顔の形状、髪の色などの(例えば、顔の)画像に関連付けられた画像属性を受信したときにアバタを生成するように訓練された生成器の使用を含む。一実施形態では、方法は、検出された物体をその物体に対する一組の可能なアバタと比較し、最も近い比較度を有する可能なアバタを選択することによって、アバタを生成する。例えば、基礎となる物体および可能なアバタのそれぞれは、ベクトルとして表現されてもよく、比較は、基礎となる検出された物体のベクトル値に最も近いベクトル値を有する可能なアバタを決定することを含む。一実施形態では、方法は、検出された物体ごとに、可能な検出された物体のクラスの同じ単一の様式化された表現を使用する。生成されるアバタは、2次元であっても3次元であってもよい。
【0017】
一実施形態では、方法は、検証データ・セットのメンバに従ってアバタを生成した後、各アバタおよび対応する検証データ・セットの各メンバにオーバーレイを適用する。この実施形態では、オーバーレイは、アバタおよび検証セットのメンバのそれぞれを覆う等しいサイズのN×Mグリッドの長方形セルなど、1つまたは複数のセルを含む。一実施形態では、セルは、異なるサイズおよび形状を有し、基礎となる検出された物体の輪郭およびコントラスト領域に関連する。一実施形態では、方法は、セルを物体のランドマーク、目、鼻、口に固定する。一実施形態では、セルは、アバタまたは基礎となる物体全体を覆わない。一実施形態では、オーバーレイは、アバタおよび基礎となる物体の大部分またはすべてを覆う単一のセルを含む。一実施形態では、方法は、単一のアバタ生成器および単一のオーバーレイまたは複数の画像オーバーレイ・プロトコルを利用する。一実施形態では、方法は、複数のアバタ生成器を複数のオーバーレイと組み合わせて使用して、オーバーレイされたアバタと基礎となる検出された物体とのペアリングを生成する。
【0018】
一実施形態では、方法は、検証データ・セットの要素に物体検出を適用する。例えば、方法は、顔画像の検証データ・セットに顔検出分析を適用する。本明細書で使用される顔検出は、データから個人を識別する目的で画像および映像データを分析する顔認識とは対照的に、人間の顔に対応する部分を検出することを目的とする画像または映像の分析を指す。顔検出が、画像の一部分を人間の顔として識別し得るのに対して、顔認識は、その部分を、名前を有する個人の顔として識別する。顔検出分析は、検証データ・セットの各メンバについての境界ボックス、顔のランドマーク、姿勢推定、他の顔属性などの属性を返す。次いで、方法は、データ・セットのメンバごとに、1つまたは複数のアバタ生成器を利用してアバタを生成する。一実施形態では、方法は、顔のランドマークおよび姿勢推定などの顔属性を使用して、生成されたアバタを調整するかまたは歪め、すでに歪んでいるアバタを、基礎となる検出された顔画像にさらに類似させる。次いで、方法は、基礎となる顔画像およびアバタのそれぞれに同じ画像オーバーレイを適用する。次いで、方法は、アバタのオーバーレイ・セルを、基礎となる画像の対応するオーバーレイ・セルに置き換えることによって、1つまたは複数の合成画像を生成する。一実施形態では、方法は、アバタのセルについて完全な不透明度で、またはアバタのセルと基礎となる画像のセルとの間の不透明度比を利用して、アバタのオーバーレイ・セルを、対応する基礎となる画像のオーバーレイ・セル上にオーバーレイする。一実施形態では、方法は、アバタと基礎となる画像とのペアごとに、一組の合成画像を生成する。この実施形態では、この一組は、対応する基礎となる画像のセルの代わりにまたはその上にオーバーレイされた異なる組のアバタのセルを有する画像を含む。一例として、例えば、3×3セルのオーバーレイ・グリッドの場合、アバタからの1つまたは複数のセルを基礎となる画像に置き換える合成変換を用いると、可能な合成画像の完全な組は、2^(3*3)、または512個の固有の合成画像を含む。10×10のオーバーレイ・グリッドの場合、合成画像の全組は、約10^30の合成画像を含む。
【0019】
一実施形態では、方法は、上述の一組の合成画像を利用して深層学習画像分析モデルを分析し、モデルによって使用される属性を決定し、所望の物体の検出に十分な1つまたは複数の組の属性を決定する。この実施形態では、方法は、その組から、合成画像および対応する基礎となる画像を選択し、選択は、他の選択方法のうちの、組のグリッド検索、組のランダム検索、組内のすべての画像の順次選択を使用して行われてもよい。一実施形態では、方法は、検証セット画像を選択し、可能な合成画像変換を選択し、変換に従って合成画像を生成して、基礎となる画像と合成画像とのペアをもたらす。方法は、選択された合成画像/基礎となる画像のペアごとに、深層学習モデルの画像分析ソフトウェアおよび深層学習モデル分類器をペアの各画像に適用する。方法は、2つの画像それぞれの深層学習モデルの予測を比較する。方法は、選択された組の合成画像変換を具現化する一組の選択された画像ペアに関連する各変換について、正確度スコアを決定する。方法は、正確度スコアを、変換を使用して生成された合成画像の正しい予測の数を基礎となる画像の正しい予測の数で除算したものとして決定する。正確度がより高い場合、関連する合成画像変換が、深層学習モデルによって検出できる程度に十分な属性を有する合成画像をもたらすことを示す。この実施形態では、方法は、最も高い正確度スコアを有する合成変換を記録する。
【0020】
一実施形態では、方法は、検出可能であると同時に識別可能でもある顔をもたらす変換など、基礎となる画像のあまりにも多くの属性を保持した検出可能な画像部分をもたらす正確な合成変換を識別し、フィルタリングによって除去する。この実施形態では、基礎となる画像の閾値レベル未満しかアバタの一部分によって置き換えられていない合成画像をもたらす変換は、フィルタリングによって除去されるか、さらなる検討から除外されてもよい。この実施形態では、方法は、顔認識分析などの適切な物体認識分析を合成画像および関連する基礎となる画像に適用し、合成画像および基礎となる画像のそれぞれについて、顔認識特徴ベクトルなどの顔認識結果を比較する。合成画像の特徴ベクトルと基礎となる画像の特徴ベクトルとの間の高度な類似性を示す閾値未満の類似度メトリックを有する変換は、一組の合成画像変換からフィルタリングされる。このような変換は、画像部分の検出に加えて認識を可能にするのに十分な属性を保持する合成画像部分をもたらす。この実施形態では、方法は、残りの組の変換から最も正確度の高い合成画像変換を選択する。このように選択された変換は、下流機械学習モデルによって検出可能であるが、画像部分の単純な検出を超えた認識を可能にするのに十分な属性が欠如している合成画像部分をもたらす。
【0021】
一実施形態では、方法は、画像データの選択的な編集に使用するために、選択された高正確度の合成画像変換のうちの1つまたは複数を利用する。この実施形態では、方法は、画像データを受信し、方法は、画像データに適切な深層学習分析モデルを適用し、モデルに適した顔などの物体を検出する。次いで、方法は、検出された画像部分に選択された合成画像変換を適用し、基礎となる画像から編集された合成画像をもたらす。一実施形態では、次いで、方法は、基礎となる画像を編集された合成画像に置き換え、すでに編集された画像データを出力として、編集された静止画像または編集された映像ストリームのいずれかとして提供する。
【0022】
一実施形態では、方法は、下流機械学習モデルによる画像部分の検出を可能にするのに十分な一組の属性を決定する。方法は、この一組の属性を一組の1つまたは複数の合成画像生成変換として具現化する。方法は、一組の変換を分析して、すでに元の基礎となる画像部分として識別不能な合成画像をもたらす変換を識別する。次いで、これらの識別された変換は、到来した画像データの編集に使用するためにスマート編集器に渡され、すでに元画像データとして識別不能である検出可能な特徴を保持したデータがもたらされる。
【0023】
図1は、開示された発明の実施に関連する例示的なネットワーク・リソースの概略図を提供する。本発明は、命令ストリームを処理する開示された要素のいずれかのプロセッサにおいて実施されてもよい。図に示すように、ネットワーク化されたクライアント・デバイス110は、サーバ・サブシステム102に無線で接続する。クライアント・デバイス104は、ネットワーク114を介してサーバ・サブシステム102に無線で接続する。クライアント・デバイス104および110は、画像データ編集プログラム(図示せず)とともに、そのプログラムを実行するのに十分なコンピューティング・リソース(プロセッサ、メモリ、ネットワーク通信ハードウェア)を備える。クライアント・デバイス104および110は、カメラ、スマートフォン、タブレット、もしくはパーソナル・コンピュータなどのユーザ・インターフェース・デバイス、またはエッジ・クラウド処理デバイスを備えてもよい。
図1に示すように、サーバ・サブシステム102はサーバ・コンピュータ150を備える。
図1は、本発明の一実施形態による、ネットワーク化されたコンピュータ・システム1000内のサーバ・コンピュータ150の構成要素のブロック図を示す。
図1は単に一実装形態の例示を提供するものであり、異なる実施形態が実装され得る環境に関していかなる制限も示唆するものではないことが理解されるべきである。図示された環境に対して多くの変更を加えることができる。
【0024】
サーバ・コンピュータ150は、プロセッサ154、メモリ158、永続ストレージ170、通信ユニット152、入力/出力(I/O)インターフェース156、および通信ファブリック140を含むことができる。通信ファブリック140は、キャッシュ162と、メモリ158と、永続ストレージ170と、通信ユニット152と、入力/出力(I/O)インターフェース156との間の通信を提供する。通信ファブリック140は、プロセッサ(マイクロプロセッサ、通信およびネットワーク・プロセッサなど)と、システム・メモリと、周辺デバイスと、システム内の任意の他のハードウェア構成要素との間でデータまたは制御情報あるいはその両方を渡すように設計された任意のアーキテクチャを用いて実装され得る。例えば、通信ファブリック140は、1つまたは複数のバスを用いて実装され得る。
【0025】
メモリ158および永続ストレージ170は、コンピュータ可読記憶媒体である。この実施形態では、メモリ158は、ランダム・アクセス・メモリ(RAM)160を含む。一般に、メモリ158は、任意の好適な揮発性または不揮発性のコンピュータ可読記憶媒体を含むことができる。キャッシュ162は、メモリ158から最近アクセスされたデータ、および最近アクセスされたデータに近いデータを保持することによってプロセッサ154の性能を向上させる高速メモリである。
【0026】
本発明の実施形態を実施するために使用されるプログラム命令およびデータ、例えば画像データ処理プログラム175は、サーバ・コンピュータ150のそれぞれのプロセッサ154のうちの1つもしくは複数によるキャッシュ162を介した実行またはアクセスあるいはその両方のために、永続ストレージ170に記憶される。この実施形態では、永続ストレージ170は磁気ハード・ディスク・ドライブを含む。磁気ハード・ディスク・ドライブの代替または追加として、永続ストレージ170は、ソリッドステート・ハード・ドライブ、半導体記憶デバイス、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、フラッシュ・メモリ、またはプログラム命令もしくはデジタル情報を記憶することが可能な任意の他のコンピュータ可読記憶媒体を含むことができる。
【0027】
永続ストレージ170によって使用される媒体はまた、取り外し可能であってもよい。例えば、取り外し可能ハード・ドライブが、永続ストレージ170のために使用されてもよい。他の例には、光学ディスクおよび磁気ディスク、サム・ドライブ、ならびに永続ストレージ170の一部でもある別のコンピュータ可読記憶媒体に転送するためにドライブに挿入されるスマート・カードが含まれる。
【0028】
これらの例では、通信ユニット152は、クライアント・コンピューティング・デバイス104および110のリソースを含む、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット152は、1つまたは複数のネットワーク・インターフェース・カードを含む。通信ユニット152は、物理通信リンクおよび無線通信リンクのいずれかまたは両方を使用して通信を提供してもよい。ソフトウェア配布プログラム、ならびに本発明の実装に使用される他のプログラムおよびデータは、通信ユニット152を介してサーバ・コンピュータ150の永続ストレージ170にダウンロードされてもよい。
【0029】
I/Oインターフェース156は、サーバ・コンピュータ150に接続され得る他のデバイスとのデータの入力および出力を可能にする。例えば、I/Oインターフェース156は、キーボード、キーパッド、タッチ・スクリーン、マイクロフォン、デジタル・カメラ、または何らかの他の好適な入力デバイスあるいはその組合せなどの外部デバイス190への接続を提供してもよい。外部デバイス190は、例えば、サム・ドライブ、携帯型の光学ディスクまたは磁気ディスク、およびメモリカードなどの携帯型コンピュータ可読記憶媒体を含むこともできる。本発明の実施形態を実施するために使用されるソフトウェアおよびデータ、例えば、サーバ・コンピュータ150上の画像データ処理プログラム175は、そのような携帯型コンピュータ可読記憶媒体に記憶され、I/Oインターフェース156を介して永続ストレージ170にロードされ得る。I/Oインターフェース156は、ディスプレイ180にも接続する。
【0030】
ディスプレイ180は、データをユーザに表示するためのメカニズムを提供し、例えば、コンピュータ・モニタであってもよい。ディスプレイ180は、タブレット・コンピュータのディスプレイなどのタッチ・スクリーンとしても機能することができる。
【0031】
図2は、本開示の実施に関連する例示的なアクティビティを示すフローチャート200を提供する。プログラムの開始後、ブロック210において、方法は、分析のために機械学習モデルによって使用される属性を決定する。一実施形態では、方法は、下流機械学習モデルを使用して検証データ・セットまたはライブ・ストリーミング・データを処理し、分析のためにモデルにとって関心のある部分を検出する。モデルは、検出された部分ごとに、単一の変換または一連の画像変換を使用して、1つまたは複数の合成画像を生成する。次いで、方法は、変換を評価し、下流モデルによって検出可能であるが、基礎となる対象として認識できる程度に十分な属性をすでに含んでいない画像部分をもたらす変換を識別する。例えば、方法は、依然として人間の顔として検出可能であるが、すでに基礎となる人間の対象者の顔として認識不能である合成画像部分をもたらす変換を識別する。方法は、最も正確度の高い変換、すなわち、合成画像の検出と基礎となる画像の検出との比率が最も高くなる変換を選択する。選択された変換は、下流機械学習モデルの分析属性を具現化する。
【0032】
ブロック220において、方法は、1つまたは複数のカメラから静止画像または映像の形式で画像データを受信する。受信された画像データは、下流機械学習モデルによる画像解析により検出可能な画像部分を含む。
【0033】
ブロック230において、方法は、画像データに下流機械学習モデルを適用して、モデルにとって関心のある画像部分を検出する。ブロック240において、方法は、検出された画像部分に対応する合成画像部分を生成する。一実施形態では、方法は、検出された画像部分ごとにアバタを生成し、基礎となる検出部分とアバタとのペアに変換を適用して、2つの画像部分の変換された組合せとしての合成画像部分を生成する。この実施形態では、合成画像を基礎となる画像により類似させるために、アバタは、顔のランドマークまたは基礎となる画像からの姿勢推定などの属性に従って修正されてもよい。
【0034】
ブロック250において、方法は、検出された部分を上述したような1つまたは複数の変換を使用して生成された合成部分と置き換えて、元画像データを編集する。編集によって画像データ・ストリームがもたらされ、画像データ・ストリームは、ブロック260において、検出された部分の認識分析によるプライバシ問題のリスクなしに、さらなる分析のためのすでに編集された画像部分を検出するために、下流機械学習モデルに提供され、下流機械学習モデルによって分析されてもよい。
【0035】
図3は、アバタ画像および変換を使用して、基礎となる検出画像部分から合成画像を生成するステップを示す一連の概略図を提供する。300Aは、受信した画像データから抽出された、基礎となる検出部分を示す。基礎となる検出部分は、人間の顔画像部分310を含む。300Bは、300Aの検出部分から抽出された属性を使用して生成されたアバタ320を示す。300Aおよび300Bはそれぞれ、画像オーバーレイ315の適用後の、300Aの人間の顔画像部分310、および300Bのアバタ320を示す。画像オーバーレイ315は、顔画像部分310、アバタ320、および合成画像部分330の全部または一部を覆う複数のセルを含む。300Cは、人間の顔画像部分310の対応する部分の代わりにアバタ320の一部分を代用するための変換を使用して生成された合成画像部分330を示す。
【0036】
図4は、本発明の一実施形態によるシステム・アーキテクチャの概略
図400を示す。図に示すように、スマート・カメラ410は、顔検出器412と、スマート顔編集器414とを含む。顔検出器412およびスマート顔編集器414は、スマート・カメラ410のハードウェア構成要素またはソフトウェア構成要素を備えてもよい。図に示すように、スマート顔編集器414は、リモート・サーバ420上に存在する下流深層学習分析器422と通信する。スマート顔編集器414は、顔などの検出された部分を深層学習映像分析ソフトウェア424および深層学習モデル426に渡して、深層学習モデル426によって使用される必須のまたは十分な属性を決定する。スマート顔編集器414はさらに、同じくリモート・サーバ420上に存在する深層学習分析器422と通信して、深層学習モデル426の決定された属性を受信する。
【0037】
映像分析ソフトウェア424は、顔用マスクの検出のためなどの分析のために、スマート編集器414から、編集された画像データを受信する。映像分析ソフトウェア424および深層学習分析器422はそれぞれ、深層学習モデル426と通信し、画像データの検出およびさらなる分析のために深層学習モデル426を利用する。映像分析ソフトウェア424は、さらなる分析および分類のために、その検出された部分の出力を深層学習モデルに渡す。深層学習分析器422は、深層学習モデル426による元画像と合成画像とのペアの処理および分類を分析して、深層学習モデル426によって使用される属性を決定し、決定された属性をスマート編集器414に渡す。
【0038】
一実施形態では、スマート顔編集器414は、深層学習分析器422から1つまたは複数の画像データ変換を受信する。この実施形態では、画像データ変換は、基礎となる画像部分およびアバタ画像に適用されて、基礎となる画像データをアバタ・データで選択的に置き換えることによって合成画像データを生成する。
【0039】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実装はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているまたは後に開発される他の任意のタイプのコンピューティング環境と併せて実装されることが可能である。
【0040】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限の対話で迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの簡便なオンデマンドによるネットワーク・アクセスを可能にするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含み得る。
【0041】
特徴は、次の通りである。
【0042】
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダと人間との対話を必要とすることなく、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0043】
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
【0044】
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用して複数の消費者にサービス提供するようにプール化され、要求に応じて、異なる物理リソースおよび仮想リソースが動的に割当ておよび再割当てされる。消費者は一般に、提供されたリソースの正確な位置について制御も知識も有していないが、より高い抽象化レベル(例えば、国、州、またはデータセンタ)で位置を特定することが可能であり得るという点で、位置の独立性があるといえる。
【0045】
迅速な柔軟性:機能を迅速かつ柔軟に、場合によっては自動的にプロビジョニングして、急速にスケール・アウトし、迅速に解放して急速にスケール・インすることができる。消費者にとっては、プロビジョニングに利用可能な機能は、しばしば無制限であるように見え、いつでも任意の数量で購入することができる。
【0046】
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適した一定の抽象化レベルでの計量機能を活用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用状況を監視、制御、および報告することができ、利用するサービスのプロバイダと消費者との両方に透明性がもたらされる。
【0047】
サービス・モデルは、次の通りである。
【0048】
ソフトウェア・アズ・ア・サービス(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、消費者に提供される機能である。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。限定されたユーザ固有のアプリケーション構成設定の想定される例外として、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理も制御もしない。
【0049】
プラットフォーム・アズ・ア・サービス(PaaS):プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウド・インフラストラクチャ上に展開するために、消費者に提供される機能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージなどの基礎となるクラウド・インフラストラクチャを管理も制御もしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションを制御する。
【0050】
インフラストラクチャ・アズ・ア・サービス(IaaS):オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行することができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングするために、消費者に提供される機能である。消費者は、基礎となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御し、場合によっては選択されたネットワーク構成要素(例えば、ホスト・ファイアウォール)を限定的に制御する。
【0051】
展開モデルは、次の通りである。
【0052】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。このクラウド・インフラストラクチャは、組織または第三者によって管理される場合があり、オンプレミスまたはオフプレミスに存在する場合がある。
【0053】
コミュニティ・クラウド:クラウド・インフラストラクチャは、複数の組織によって共有され、関心事項(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス上の考慮事項)を共有している特定のコミュニティをサポートする。このクラウド・インフラストラクチャは、組織または第三者によって管理される場合があり、オンプレミスまたはオフプレミスに存在する場合がある。
【0054】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界グループにとって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0055】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成であり、これらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性(例えば、クラウド間の負荷分散のためのクラウド・バースティング)を可能にする標準化された技術または専用の技術によって結び付けられる。
【0056】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0057】
次に
図5を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA:personal digital assistant)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどのクラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。これらは、本明細書で上述したようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはその組合せなどの1つまたは複数のネットワーク内で物理的にまたは仮想的にグループ化されてもよい(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド消費者がローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして提供することが可能になる。
図5に示すコンピューティング・デバイス54A~54Nのタイプが例示のみを意図していること、およびコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を介して(例えば、ウェブ・ブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【0058】
次に
図6を参照すると、クラウド・コンピューティング環境50(
図5)によって提供される一組の機能抽象化層が示されている。
図6に示す構成要素、層、および機能は、例示のみを意図しており、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示のように、以下の層および対応する機能が提供される。
【0059】
ハードウェアおよびソフトウェア層60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例には、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング構成要素66が含まれる。いくつかの実施形態では、ソフトウェア構成要素には、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68が含まれる。
【0060】
仮想化層70は、抽象化層を提供し、この層から仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供されてもよい。
【0061】
一例では、管理層80は、以下に記載の機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量および価格決定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことがある。セキュリティは、クラウド消費者およびタスクのための本人確認、ならびにデータおよび他のリソースのための保護を提供する。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるようなクラウド・コンピューティング・リソースの割当ておよび管理を提供する。サービス・レベル・アグリーメント(SLA)の計画および履行85は、SLAに従って将来要求されることが予想されるクラウド・コンピューティング・リソースの事前配置および調達を提供する。
【0062】
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、ならびに画像データ処理プログラム175が含まれる。
【0063】
本発明は、任意の可能な技術的詳細の統合レベルでのシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。本発明は、命令ストリームを処理する単一または並列の任意のシステムで有利に実施されてもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)を含んでもよい。
【0064】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記の任意の好適な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯型コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造体などの機械的に符号化されたデバイス、および上記の任意の好適な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体またはコンピュータ可読記憶デバイスは、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、または電線を介して送信される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0065】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでもよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。
【0066】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードもしくはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体がリモート・コンピュータ上もしくはサーバ上で実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して接続されてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行してもよい。
【0067】
本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、本発明の態様を説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せがコンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【0068】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するための手段を作り出すように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってもよい。これらのコンピュータ可読プログラム命令はまた、命令が集合的に記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに対して特定の方式で機能するように指示できるものであってもよい。
【0069】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するように、コンピュータ実施プロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0070】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、ならびに動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表すことがある。いくつかの代替の実装形態では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、実際には、関与する機能性に応じて、実質的に同時に実行されてもよく、またはそれらのブロックは、場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または作用を実行するか、あるいは専用ハードウェアとコンピュータ命令との組合せを遂行する専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【0071】
本明細書における「一実施形態」、「実施形態」、「例示的な実施形態」などについての言及は、説明される実施形態が特定の特徴、構造、または特性を含み得ることを示すが、それぞれの実施形態が必ずしも特定の特徴、構造、または特性を含むとは限らない。また、このような語句は、必ずしも同じ実施形態を指すとは限らない。さらに、特定の特徴、構造、または特性が、ある実施形態と関連して説明されるとき、明示的に説明されているかどうかに関係なく、他の実施形態と関連するそのような特徴、構造、または特性に影響を与えることは、当業者の知識の範囲内であると考えられる。
【0072】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を限定することを意図するものではない。単数形「a」、「an」および「the」は、本明細書で使用される場合、文脈上特に明記されていない限り、複数形も含むことを意図している。「備える(comprises)」または「備える(comprising)」という用語あるいはその両方は、本明細書で使用される場合、記載された特徴、整数、ステップ、動作、要素、または構成要素あるいはその組合せの存在を示すが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはこれらのグループ、あるいはその組合せの存在または追加を除外するものではないことがさらに理解されよう。
【0073】
本発明の様々な実施形態の説明は、例示を目的として提示されたものであり、網羅的であること、または開示された実施形態に限定されることを意図したものではない。本発明の範囲から逸脱することなく、当業者には多くの修正形態および変形形態が明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用例、もしくは市場で見られる技術に対する技術的改善を最もよく説明するために、または本明細書に開示された実施形態を当業者が理解できるように、選択されたものである。
【手続補正書】
【提出日】2023-12-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像を選択的に編集するコンピュータ実施方法であって、
1つまたは複数のコンピュータ・プロセッサによって、画像データを受信することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記画像データのうちの分析に関連する部分を検出することであって、前記部分が一組の属性を含む、前記検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分から合成部分を生成することであって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分を前記合成部分に置き換えて、編集された画像データをもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、編集された前記画像データを前記分析のために提供することと
を含む、コンピュータ実施方法。
【請求項2】
前記1つまたは複数のコンピュータ・プロセッサによって、機械学習モデルを使用して、編集された前記画像データを分析すること
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記画像データが映像データを含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記アバタおよび前記部分のそれぞれにオーバーレイを適用することであって、前記オーバーレイが複数のセルを含む、前記適用することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすことと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分の前記一組の属性のうちの少なくともいくつかを検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整することと
をさらに含む、請求項4に記載のコンピュータ実施方法。
【請求項6】
前記1つまたは複数のコンピュータ・プロセッサによって、一組の部分を検出することと、
前記一組の部分の各部分について、
前記1つまたは複数のコンピュータ・プロセッサによって、前記部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記アバタおよび前記部分のそれぞれにオーバーレイを適用することであって、前記オーバーレイが複数のセルを含む、前記適用することと、
前記1つまたは複数のコンピュータ・プロセッサによって、変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすことであって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記置き換えることと、
前記1つまたは複数のコンピュータ・プロセッサによって、機械学習モデルを使用して前記一組の合成部分を分析することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記機械学習モデルを使用して前記一組の部分を分析することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記正確度に従って前記一組の変換から変換を選択することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記変換を利用して、部分から合成部分を生成することと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項7】
コンピュータに、
画像データを受信するためのプログラム命令と、
前記画像データのうちの分析に関連する部分を検出するためのプログラム命令であって、前記部分が一組の属性を含む、前記プログラム命令と、
前記部分から合成部分を生成するためのプログラム命令であって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記プログラム命令と、
前記部分を前記合成部分に置き換えて、編集された画像データをもたらすためのプログラム命令と、
編集された前記画像データを前記分析のために提供するためのプログラム命令と
を
実行させる、コンピュータ・プログラム。
【請求項8】
機械学習モデルを使用して、編集された前記画像データを分析するためのプログラム命令
をさらに
実行させる、請求項7に記載のコンピュータ・プログラム。
【請求項9】
前記画像データが映像データを含む、請求項7に記載のコンピュータ・プログラム。
【請求項10】
前記
コンピュータに、
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすためのプログラム命令と
をさらに
実行させる、請求項7に記載のコンピュータ・プログラム。
【請求項11】
前記
コンピュータに、
前記部分の前記一組の属性のうちの少なくともいくつかを検出するためのプログラム命令と、
検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整するためのプログラム命令と
をさらに
実行させる、請求項10に記載のコンピュータ・プログラム。
【請求項12】
前記
コンピュータに、
一組の部分を検出するためのプログラム命令と、
前記一組の部分の各部分について、
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすためのプログラム命令であって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記プログラム命令と、
機械学習モデルを使用して前記一組の合成部分を分析するためのプログラム命令と、
前記機械学習モデルを使用して前記一組の部分を分析するためのプログラム命令と、
前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定するためのプログラム命令と、
前記正確度に従って前記一組の変換から変換を選択するためのプログラム命令と、
前記変換を利用して、部分から合成部分を生成するためのプログラム命令と
をさらに
実行させる、請求項7に記載のコンピュータ・プログラム。
【請求項13】
画像を選択的に編集するためのコンピュータ・システムであって、前記コンピュータ・システムが、
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶デバイスと、
前記1つまたは複数のコンピュータ・プロセッサによる実行のために、前記1つまたは複数のコンピュータ可読記憶デバイス上に記憶されたプログラム命令であって、記憶された前記プログラム命令が、
画像データを受信するためのプログラム命令と、
前記画像データのうちの分析に関連する部分を検出するためのプログラム命令であって、前記部分が一組の属性を含む、前記プログラム命令と、
前記部分から合成部分を生成するためのプログラム命令であって、前記合成部分が前記部分の前記一組の属性のうちの少なくともいくつかを保持する、前記プログラム命令と、
前記部分を前記合成部分に置き換えて、編集された画像データをもたらすためのプログラム命令と、
編集された前記画像データを前記分析のために提供するためのプログラム命令と
を含む、コンピュータ・システム。
【請求項14】
機械学習モデルを使用して、編集された前記画像データを分析するためのプログラム命令
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項15】
前記画像データが映像データを含む、請求項13に記載のコンピュータ・システム。
【請求項16】
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
前記部分のセルを前記アバタのセルに置き換えて、前記合成部分をもたらすためのプログラム命令と
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項17】
前記部分の前記一組の属性のうちの少なくともいくつかを検出するためのプログラム命令と、
検出された前記一組の属性のうちの少なくともいくつかに従って前記アバタを調整するためのプログラム命令と
をさらに含む、請求項16に記載のコンピュータ・システム。
【請求項18】
一組の部分を検出するためのプログラム命令と、
前記一組の部分の各部分について、
前記部分に対するアバタを生成するためのプログラム命令と、
前記アバタおよび前記部分のそれぞれにオーバーレイを適用するためのプログラム命令であって、前記オーバーレイが複数のセルを含む、前記プログラム命令と、
変換に従って、前記部分のセルを前記アバタのセルに置き換えて、一組の合成部分をもたらすためのプログラム命令であって、前記一組の合成部分の各合成部分が一組の変換のうちの1つの変換に関連付けられている、前記プログラム命令と、
機械学習モデルを使用して前記一組の合成部分を分析するためのプログラム命令と、
前記機械学習モデルを使用して前記一組の部分を分析するためのプログラム命令と、
前記一組の合成部分の前記分析および前記一組の部分の前記分析に従って正確度を決定するためのプログラム命令と、
前記正確度に従って前記一組の変換から変換を選択するためのプログラム命令と、
前記変換を利用して、部分から合成部分を生成するためのプログラム命令と
をさらに含む、請求項13に記載のコンピュータ・システム。
【請求項19】
画像データを選択的に編集するためのコンピュータ実施方法であって、
1つまたは複数のコンピュータ・プロセッサによって、基礎となる画像部分から合成画像部分をもたらす少なくとも1つの画像データ変換を決定することであって、前記合成画像部分が、機械学習モデルによる画像データ部分の検出には十分であるが、画像データ部分の識別には不十分である、前記決定することと、
前記1つまたは複数のコンピュータ・プロセッサによって、画像データ内の基礎となる画像データ部分を検出することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分に前記少なくとも1つの変換を適用して、合成画像部分をもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像部分を前記合成画像部分に置き換えて、編集された画像データをもたらすことと、
前記1つまたは複数のコンピュータ・プロセッサによって、編集された前記画像データを前記機械学習モデルに提供することと
を含む、コンピュータ実施方法。
【請求項20】
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分に対するアバタを生成することと、
前記1つまたは複数のコンピュータ・プロセッサによって、前記基礎となる画像データ部分および前記アバタに前記少なくとも1つの変換を適用し、前記基礎となる画像データ部分のデータを前記アバタのデータに置き換えて、前記合成画像部分をもたらすことと
をさらに含む、請求項19に記載のコンピュータ実施方法。
【請求項21】
前記少なくとも1つの画像データ変換を決定することが、機械学習モデルの正確度に従って画像データ変換を選択することを含む、請求項19に記載のコンピュータ実施方法。
【請求項22】
前記画像データが映像データを含む、請求項19に記載のコンピュータ実施方法。
【請求項23】
画像データを選択的に編集するための方法であって、
機械学習モデルに関連付けられた一組の画像データ属性を決定することであって、前記一組の画像データ属性が、前記機械学習モデルによるデータ部分検出に十分である、前記決定することと、
前記一組の画像属性に従って画像データを選択的に編集し、編集された画像データをもたらすことと、
編集された前記画像データを前記機械学習モデルに提供することと
を含む、方法。
【請求項24】
前記画像データが映像データを含む、請求項23に記載の方法。
【請求項25】
前記データ部分に関連付けられたアバタを生成することと、
前記データ部分のデータを前記アバタのデータに置き換えて、合成画像部分をもたらすことであって、前記合成画像部分が、前記機械学習モデルによるデータ部分検出に十分な前記一組の画像属性を含み、前記合成画像部分が、前記データ部分としての識別に不十分な画像データ属性を含む、前記置き換えることと
をさらに含む、請求項23に記載の方法。
【国際調査報告】