(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-07-05
(54)【発明の名称】ウェブ環境を介して個人と対話するための人工知能ベース撮像システム及び方法
(51)【国際特許分類】
G06T 11/80 20060101AFI20230628BHJP
H04L 67/02 20220101ALI20230628BHJP
G06F 3/0481 20220101ALI20230628BHJP
G06T 7/00 20170101ALI20230628BHJP
G06Q 50/10 20120101ALI20230628BHJP
【FI】
G06T11/80 A
H04L67/02
G06F3/0481
G06T7/00 660A
G06Q50/10
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022574095
(86)(22)【出願日】2021-06-08
(85)【翻訳文提出日】2022-12-01
(86)【国際出願番号】 US2021036305
(87)【国際公開番号】W WO2021252428
(87)【国際公開日】2021-12-16
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】590005058
【氏名又は名称】ザ プロクター アンド ギャンブル カンパニー
【氏名又は名称原語表記】THE PROCTER & GAMBLE COMPANY
【住所又は居所原語表記】One Procter & Gamble Plaza, Cincinnati, OH 45202,United States of America
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】マーク ポール ロレンツィ
(72)【発明者】
【氏名】ゼラン サン
【テーマコード(参考)】
5B050
5E555
5L049
5L096
【Fターム(参考)】
5B050BA06
5B050BA12
5B050CA07
5B050DA04
5B050EA06
5B050EA07
5B050EA13
5B050EA18
5B050EA19
5B050FA02
5B050FA05
5B050FA09
5B050GA08
5E555AA59
5E555BA02
5E555BA04
5E555BB04
5E555BC04
5E555BE17
5E555CA42
5E555DB53
5E555EA05
5E555EA18
5E555EA19
5E555EA22
5E555EA27
5E555FA00
5L049CC12
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
ウェブ環境を介して個人と対話するための人工知能ベースシステム及び方法が記載される。プロビジョニングサーバは、そのプロビジョニングサーバのメモリに格納された事前定義された撮像コードのための、クライアントデバイス上で実行する、ウェブブラウザからのリクエストを受信するように構成される。そのプロビジョニングサーバは、事前定義された撮像コードをウェブブラウザに転送することによって、そのリクエストに応答する。その事前定義された撮像コードは、クライアントデバイスによって実行されて、そのクライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、クライアントデバイスのメモリに、個人の1つ以上の画像をロードすることと、その個人の1つ以上の画像の画像分析に基づいて、その個人の1つ以上の人物属性を決定することと、対話型GUI内のその個人の1つ以上の人物属性をレンダリングすることとを行うように構成されている。
【特許請求の範囲】
【請求項1】
ウェブ環境を介して個人と対話するように構成された人工知能ベース撮像システムであって、前記人工知能ベース撮像システムは、
プロビジョニングサーバであって、1つ以上のプロセッサと、1つ以上のメモリと、を備え、クライアントデバイス上で実行するウェブブラウザからのリクエストに応答するように構成されている、プロビジョニングサーバと、
前記プロビジョニングサーバの前記1つ以上のメモリに格納された事前定義された撮像コードと、
前記プロビジョニングサーバの前記1つ以上のプロセッサ上で実行するように構成されたコンピュータ処理命令と
を備え、
前記コンピュータ処理命令は、前記プロビジョニングサーバに、前記ウェブブラウザからのリクエストを受信すると、前記事前定義された撮像コードを前記ウェブブラウザに転送させ、
前記事前定義された撮像コードは、前記事前定義された撮像コードが前記ウェブブラウザによって受信されたときに、前記ウェブブラウザによって前記クライアントデバイスのメモリに格納されるように構成されており、
前記事前定義された撮像コードは、前記事前定義された撮像コードが前記ウェブブラウザによって受信されると、前記クライアントデバイスのクライアントプロセッサによって実行されるように構成されており、
前記事前定義された撮像コードは、前記クライアントプロセッサによる実行の際、
前記クライアントデバイスのディスプレイ上の前記ウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、
前記クライアントデバイスのメモリに、個人の1つ以上の画像をロードすることと、
前記個人の前記1つ以上の画像の画像分析に基づいて、前記個人の1つ以上の人物属性を決定することと、
前記対話型GUI内の前記個人の前記1つ以上の人物属性をレンダリングすることとを行うように構成されており、好ましくは、前記1つ以上の人物属性は、前記個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含み、
前記事前定義された撮像コードは、前記プロビジョニングサーバと通信することなく、前記ウェブブラウザ内で実行可能であり、
前記事前定義された撮像コードは、前記クライアントデバイスの前記メモリにキャッシュされ、前記事前定義された撮像コードは、前記ウェブブラウザに割り当てられたように前記メモリの少なくとも一部分にアクセスすることを許可される、人工知能ベース撮像システム。
【請求項2】
前記事前定義された撮像コードは、ウェブアセンブリ(WASM)ベースモジュール及び1つ以上のスクリプトを含む、請求項1に記載の人工知能ベース撮像システム。
【請求項3】
前記WASMベースモジュールは、機械学習撮像モデルを含み、前記機械学習撮像モデルは、前記個人の前記1つ以上の画像を入力し、かつ前記個人の前記人物属性を決定するように構成されている、請求項2に記載の人工知能ベース撮像システム。
【請求項4】
前記事前定義された撮像コードは、少なくともTENSORFLOWベースライブラリを実装する機械学習撮像モデルを含む、請求項1~3のいずれか一項に記載の人工知能ベース撮像システム。
【請求項5】
前記事前定義された撮像コードは、単一の送信中に、前記プロビジョニングサーバから前記ウェブブラウザに転送される、請求項1~4のいずれか一項に記載の人工知能ベース撮像システム。
【請求項6】
前記事前定義された撮像コードの少なくとも一部分は、前記個人の前記1つ以上の画像の捕捉前、又は捕捉中に、前記クライアントデバイスの前記メモリにキャッシュされる、請求項5に記載の人工知能ベース撮像システム。
【請求項7】
前記ウェブブラウザは、ハイパーテキストマークアップ言語(HTML)を受信するように構成されている、請求項1~6のいずれか一項に記載の人工知能ベース撮像システム。
【請求項8】
前記事前定義された撮像コードは、個人識別可能情報(PII)を前記プロビジョニングサーバに送信することなく、前記ウェブブラウザ内で実行可能である、請求項1~7のいずれか一項に記載の人工知能ベース撮像システム。
【請求項9】
前記事前定義された撮像コードは、前記クライアントプロセッサによる実行の際、前記対話型GUI内の前記個人の前記1つ以上の人物属性を用いて、前記1つ以上の画像をレンダリングするように更に構成されている、請求項1~8のいずれか一項に記載の人工知能ベース撮像システム。
【請求項10】
前記事前定義された撮像コードは、前記クライアントプロセッサによる実行の際、前記個人の前記1つ以上の人物属性に基づいて、1つ以上の製品を前記個人に推奨するように更に構成されている、請求項1~9のいずれか一項に記載の人工知能ベース撮像システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、人工知能ベース撮像システム及び方法に関し、より具体的には、ウェブ環境を介して個人と対話するための人工知能ベース撮像システム及び方法に関する。
【背景技術】
【0002】
従来のウェブベースの通信は、通常、サーバとの複数の前後、往復の通信を行って動作するために、ウェブブラウザ、又はクライアントデバイスのネイティブオペレーティングシステム上で実行するネイティブアプリケーション(アプリ)を必要とする。そのような通信は、通常、クライアントデバイスに、複雑なタスクの負担を軽減させる必要があり、サーバは、通常、従来のクライアントデバイスのタスクと比べた場合、そのようなタスクを処理するためのより多くのコンピュータ処理リソースを有するため、サーバに対して広範な処理及びメモリリソースを必要とする場合がある。しかしながら、そのような前後、往復通信は、性能及びセキュリティに関連するいくつかの問題を作り出す可能性がある。まず、従来のウェブブラウザ又はネイティブアプリの性能は、それが通信するコンピュータネットワークの速度、待ち時間、及び潜在的なエラーに左右され、この場合、ウェブブラウザ又はネイティブアプリは、不良又は障害のあるネットワーク又は接続を介して、ロード又は動作することができない場合がある。更に、不良接続により、従来のウェブアプリケーションに、低下した速度又は容量で実行させる場合がある。これは、画像又はビデオなどの、大きなサイズのファイル又は情報を伝送又は使用するソフトウェアアプリケーションの場合、特にそうである。例えば、画像及び/又はビデオは、一般に、広いネットワーク帯域幅を必要とするため、ネットワーク遅延を引き起こす可能性があり、そのような広い帯域幅がない場合、クライアント及びサーバの両サイドで遅延及び/又はエラーを経験する可能性がある。いくつかのネイティブアプリは、画像を処理することができるが、そのようなネイティブアプリは、少なくとも2つの異なる開発用オペレーティングシステムを必要とし、複数のオペレーティングシステムにわたって、様々なハードウェアとの複数のデバイスの互換性をチェックして効果的に動作する必要があるため、望ましくない。これらの理由から、ネイティブアプリは、エラーを引き起こす可能性があり、この場合、ネイティブアプリは、メンテナンスされず、それ以外の場合では、不断のバージョン管理及びメンテナンスを必要とし、配布料金が必要となり得る、第三者プラットフォーム販売業者(例えば、APPLEアプリストア又はGOOGLEプレイストア)によってチェック及び承認されねばならない。更に、消費者は、必須ではないネイティブアプリをダウンロードすることにますます気が進まなくなり、これにより、そのようなネイティブアプリの好ましさが更に減退する。
【0003】
従来のウェブベース通信は、セキュリティ保護されていないため、追加の問題が起きる。トランスポート層セキュリティ(Transport Layer Security、TLS)及びセキュアソケット層(secure sockets layer、SSL)などのセキュリティベースプロトコルは、ウェブベース通信のセキュリティを向上させることができるが、そのようなプロトコルは、必ずしも安全ではなく、不正改ざん又は不正アクセスされる可能性があり、サイバー攻撃者が、傍受されたウェブベースの通信の基礎情報にアクセスするのを可能にしてしまう。そのようなサイバー攻撃は、個人情報(例えば、個人識別可能情報(personal identifiable information、PII))に対して、特に問題であり、この場合、ユーザ、及びユーザが通信するウェブサイト又はサーバを提供する会社は、通常、個人情報の保護及びプライバシーについて非常に敏感である。したがって、これは、特に、個人情報がプライバシー規制の主要な対象となるため、個人情報がますます重要になっていることを示している。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述の理由から、ウェブ環境を介して個人と対話するための人工知能ベース撮像システム及び方法が必要とされている。
【課題を解決するための手段】
【0005】
一般に、本明細書に記載される、ウェブ環境を介して個人と対話するための人工知能ベース撮像システム及び方法は、PIIなどの個人情報を処理するためのより安全な環境を提供する。一般に、本明細書に記述されるように、PIIは、特定の個人又は人物を識別するために、潜在的に使用され得るデータである。PIIの例としては、個人のフルネーム、社会保障番号、運転免許証番号、銀行口座番号、パスポート番号、及び/又は電子メールアドレスが挙げられる。また、PIIには、個人の画像も含まれ得る。例えば、そのようなPIIには、「自撮り」画像なども含まれ得る。
【0006】
本明細書に記載される、人工知能ベース撮像システム及び方法を用いると、私的情報は、コンピュータネットワークを介して伝達される必要がなく、したがって、サイバー攻撃による傍受の影響を受けない。特に、開示されるシステム及び方法は、インターネットへの常時接続を必要とせずに動作することができ、この場合、(必ずしも、私的情報の転送を伴わない)初期接続又は送信のみが、事前定義された撮像コードを転送してクライアントデバイス上で実行するために必要である。PIIなどのあらゆる私的情報は、事前定義された撮像コードによって、ユーザのクライアントデバイス上でローカルに格納又は処理され得る。更に、開示される人工知能ベース撮像システム及び方法は、ユーザ、及び/又はそのユーザに限定した製品推奨を作成するための、人工知能画像分析を提供して、画像(例えば、自撮り)に関する画像分析を強化し、注釈し、ないし実行することによって、より強力な機能を提供する。
【0007】
より具体的には、本明細書に記載されるように、人工知能ベース撮像システムは、ウェブ環境を介して個人と対話するように構成される。この人工知能ベース撮像システムは、1つ以上のプロセッサと、1つ以上のメモリとを備える、プロビジョニングサーバを備える。このプロビジョニングサーバは、クライアントデバイス上で実行するウェブブラウザからのリクエストに応答するように構成され得る。更に、事前定義された撮像コードは、サーバの1つ以上のメモリに格納され得る。コンピュータ処理命令は、プロビジョニングサーバの1つ以上のプロセッサ上で実行するように構成され得る。このコンピュータ処理命令は、プロビジョニングサーバに、ウェブブラウザからのリクエストを受信すると、事前定義された撮像コードをウェブブラウザに転送させることができる。事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されるときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成され得る。更に、事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成され得る。事前定義された撮像コードは、クライアントプロセッサによる実行の際、クライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(graphical user interface、GUI)をレンダリングすることと、そのクライアントデバイスのメモリに個人の1つ以上の画像をロードすることと、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを行うように構成され得る。追加的又は代替的に、いくつかの実施形態では、事前定義された撮像コードは、プロビジョニングサーバと通信することなく、ウェブブラウザ内で実行可能である。なおも更に、追加的又は代替的に、いくつかの実施形態では、事前定義された撮像コードは、クライアントデバイスのメモリ内にキャッシュされ得、そこでは、事前定義された撮像コードは、ウェブブラウザに割り当てられたようにメモリの少なくとも一部分にアクセスすることを許可される。
【0008】
更に、本明細書に記載されるように、ウェブ環境を介して個人と対話するための人工知能ベース撮像方法が開示される。人工知能ベース撮像方法は、プロビジョニングサーバにおいて、事前定義された撮像コードについての、ウェブブラウザからのリクエストを受信することを含み、そのプロビジョニングサーバは、事前定義された撮像コードを格納するメモリにアクセスする。知能ベース撮像方法は、プロビジョニングサーバがそのリクエストに応答して、事前定義された撮像コードをウェブブラウザに転送することを更に含む。ウェブブラウザは、クライアントデバイス上で実行することができる。事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されるときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成され得る。更に、事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成され得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、クライアントデバイスのディスプレイ上のウェブブラウザ内のGUIをレンダリングすることを更に含み得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、クライアントデバイスのメモリに、個人の1つ以上の画像をロードすることを更に含み得る。人工知能ベース撮像方法は、個人の1つ以上の画像の画像分析に基づいて、事前定義された撮像コードを用いて、個人の1つ以上の人物属性を決定することを更に含み得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることを更に含み得る。追加的、又は代替的に、いくつかの実施形態では、事前定義された撮像コードは、プロビジョニングサーバと通信することなく、ウェブブラウザ内で実行可能であり得る。なおも更に、追加的に又は代替的に、いくつかの実施形態では、事前定義された撮像コードは、クライアントデバイスのメモリにキャッシュされ得、事前定義された撮像コードは、ウェブブラウザに割り当てられたようにメモリの少なくとも一部分にアクセスすることを許可される。
【0009】
更に、本明細書に記載されるように、人工知能ベース撮像システムは、ウェブ環境を介して個人と対話するように構成される。この人工知能ベース撮像システムは、1つ以上のプロセッサと、1つ以上のメモリとを備える、プロビジョニングサーバを備える。このプロビジョニングサーバは、クライアントデバイス上で実行するウェブブラウザからのリクエストに応答するように構成され得る。更に、事前定義された撮像コードは、サーバの1つ以上のメモリに格納されるように構成され得る。なおも更に、コンピュータ処理命令は、プロビジョニングサーバの1つ以上のプロセッサ上で実行するように構成され得る。このコンピュータ処理命令は、プロビジョニングサーバに、ウェブブラウザからのリクエストを受信すると、事前定義された撮像コードをウェブブラウザに転送させることができる。更に、事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されるときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成され得る。なおも更に、事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成され得る。事前定義された撮像コードは、クライアントプロセッサによる実行の際、クライアントデバイスのディスプレイ上のウェブブラウザ内のGUIをレンダリングすることと、そのクライアントデバイスのメモリに個人の1つ以上の画像をロードすることと、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを行うように構成され得る。追加的又は代替的に、いくつかの実施形態では、1つ以上の人物属性は、個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含み得る。
【0010】
更に、本明細書に記載されるように、ウェブ環境を介して個人と対話するための人工知能ベース撮像方法が開示される。人工知能ベース撮像方法は、プロビジョニングサーバにおいて、事前定義された撮像コードについての、ウェブブラウザからのリクエストを受信することを含み、そのプロビジョニングサーバは、事前定義された撮像コードを格納するメモリにアクセスする。知能ベース撮像方法は、事前定義された撮像コードをウェブブラウザに転送することによって、プロビジョニングサーバによりリクエストに応答することを更に含む。ウェブブラウザは、クライアントデバイス上で実行することができる。事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されるときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成され得る。更に、事前定義された撮像コードは、その事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成され得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、クライアントデバイスのディスプレイ上のウェブブラウザ内のGUIをレンダリングすることを更に含み得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、クライアントデバイスのメモリに、個人の1つ以上の画像をロードすることを更に含み得る。人工知能ベース撮像方法は、個人の1つ以上の画像の画像分析に基づいて、事前定義された撮像コードを用いて、個人の1つ以上の人物属性を決定することを更に含み得る。人工知能ベース撮像方法は、事前定義された撮像コードを用いて、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることを更に含み得る。追加的又は代替的に、いくつかの実施形態では、1つ以上の人物属性は、個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含み得る。
【0011】
本明細書の上記の開示によれば、例えば、クライアントデバイスのセキュリティが事前定義された撮像コードの使用によって強化される場合に、そのクライアントデバイスが改善されることを説明するため、本開示は、コンピュータ機能、又は少なくとも他の技術に対する改善を含む。事前定義された撮像コードは、クライアントデバイスによって受信及び実行されると、それ自体十分であるため、公衆ネットワーク(例えば、インターネット)を介してユーザの私的又は個人情報を送信しない。これは、そのような情報がサイバー攻撃者によって傍受されることを防止する。すなわち、本開示は、データが固有のセキュリティ脆弱性を有するネットワークを介して送信される必要がないために安全であることから、コンピュータ自体又は「任意の他の技術若しくは技術分野」の機能における改善を記載する。これは、少なくとも、従来のウェブ通信がセキュリティ問題/サイバー攻撃を受けやすく、SSL及び/又はTLSなどの安全なプロトコル標準規格によって送信される場合であってもそのようなウェブ通信が傍受及び不正アクセスされる可能性があるため、先行技術よりも改善している。
【0012】
更に、例えば、クライアントデバイスが、事前定義された撮像コードの使用を通じて、クライアントデバイス上のみで又は少なくとも大部分で実行することによって、より高い解像度の撮像分析を提供することができることを、本開示が説明するため、本開示は、コンピュータ機能の改善、又は少なくとも他の技術に対する改善を含む。これらの利点は、画像及び他の個人情報がアプリの動作時に必要になる場合、及びアプリが大きなファイル(例えば、画像)を使用して高度な処理を必要とする場合に、特にアプリにとって重要であり得る。事前定義された撮像コードを使用して、クライアントデバイスは、特に大きなファイル又はデータ、例えば、画像データの送信を介して、典型的なネットワーク通信からの遅延をもはや経験しないために、より速いデータ処理が達成される。逆に、事前定義された撮像コードを用いると、クライアントデバイスは、恒久的なインターネット接続を必要としない。様々な実施形態では、送信及びロードされた後(例えば、使用前毎に1回)、事前定義された撮像コードは、その後、サーバへのデータ接続が全くないか、又はほとんどない状態で動作することができる。
【0013】
更に、本開示は、十分に理解されていること、ルーチン、現場での従来の活動以外の特別な特徴、又は特定の有用なアプリケーション、例えば、本明細書に記載されるようなウェブ環境を介して個人と対話するための人工知能ベース撮像システム及び方法に特許請求の範囲を限定する、従来と異なったステップを追加することを含む。
【0014】
例示を介して示され説明されている好ましい実施形態に関する以下の説明から、利点が、当業者に対してより明らかになるであろう。これから理解されるように、本実施形態は、他の及び異なる実施形態を可能にすることができ、それらの詳細は、様々な態様において修正可能である。したがって、図面及び説明は、本質的に例示的なものとみなされるべきであり、限定されるものとみなされるべきではない。
【図面の簡単な説明】
【0015】
以下に説明される図は、本明細書に開示されるシステム及び方法の様々な態様を示す。各図は、開示されるシステム及び方法の特定の態様の実施形態を示すこと、及び、図の各々は、それらの可能性のある実施形態に合致することを意図されていることを理解されたい。更に、可能な限り、以下の説明は、以下の図に含まれる参照数字を参照しており、その中で、複数の図に示してある特徴は、首尾一貫した参照数字を用いて指定される。
【0016】
図面には、現在考察されている構成が示されているが、その現在の実施形態は、示されている厳密な構成及び手段に限定されないことを理解されたい。
【
図1】本明細書に開示された様々な実施形態による、ウェブ環境を介して個人と対話するように構成された例示的な人工知能ベース撮像システムを示す。
【
図2】本明細書に開示された様々な実施形態による、
図1の人工知能ベース撮像システムのプロビジョニングサーバから受信されたときの、事前定義された撮像コードを実装する例示的なクライアントデバイスの略図を示す。
【
図3】本明細書に開示された様々な実施形態による、ウェブ環境を介して個人と対話するための例示的な人工知能ベース撮像方法の略図を示す。
【
図4】
図3の方法による、かつ本明細書に開示された様々な実施形態による、ウェブ環境を介して個人と対話するための更なる例示的な人工知能ベース撮像方法の略図を示し、ここでは、個人の1つ以上の人物属性は、その個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含む。
【
図5】
図1~4について説明されたような人工知能ベース撮像システム又は方法のいずれかの例示的な画像を示し、本明細書に開示された様々な実施形態による、個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含む、その個人の1つ以上の人物属性を示す個人を含む。
【
図6】
図5の個人の1つ以上の人物属性に基づいて、1つ以上の製品を推奨するための例示的なディスプレイ又はユーザインターフェースを示す。
【0017】
これらの図は、例示のみを目的として、好ましい実施形態を示している。本明細書に例示されるシステム及び方法の代替的な実施形態は、本明細書に記載の発明の原理から逸脱することなく使用され得る。
【発明を実施するための形態】
【0018】
図1は、本明細書に開示された様々な実施形態による、ウェブ環境を介して個人と対話するように構成された例示的な人工知能ベース撮像システム100を示す。
図1の例示的な実施形態では、人工知能ベース撮像システム100は、サーバ102を備え、このサーバは、1つ以上のコンピュータサーバを含み得る。様々な実施形態では、サーバ102は、複数のサーバを含み、これらのサーバは、サーバファームの部分として、複数の冗長な又は複製されたサーバを含み得る。なおも更なる実施形態では、サーバ102は、クラウドベースのサーバとして実装され得る。例えば、サーバ102は、MICROSOFT AZURE、AMAZON AWS等の任意の1つ以上のクラウドベースのプラットフォームであってもよい。サーバ102は、1つ以上のプロセッサ104、並びに1つ以上のコンピュータメモリ106を含むことができる。サーバ102は、本明細書では、「プロビジョニングサーバ」と称される場合がある。
【0019】
メモリ106には、読み取り専用メモリ(read-only memory、ROM)、電子プログラマブル読み取り専用メモリ(electronic programmable read-only memory、EPROM)、ランダムアクセスメモリ(random access memory、RAM)、消去可能電子プログラマブル読み取り専用メモリ(erasable electronic programmable read-only memory、EEPROM)、及び/又は他のハードドライブ、フラッシュメモリ、MicroSDカードなどの、1つ以上の形態の揮発性及び/又は不揮発性メモリの固定及び/又は取り外し可能メモリが含まれ得る。メモリ106は、本明細書で考察されるように、機能、アプリ、方法、又は他のソフトウェアを容易にすることができるオペレーティングシステム(operating system、OS)(例えば、Microsoft Windows、Linux、Unix等)を格納することができる。メモリ106はまた、本明細書に記載されるように、ウェブブラウザ又はクライアントデバイスに送信又は転送するための事前定義された撮像コード108を格納することもできる。追加的、又は代替的に、事前定義された撮像コード108はまた、データベース105内にも格納され得、このデータベースは、サーバ102にアクセス可能であるか、ないし通信可能に結合される。メモリ106はまた、機械可読命令も格納することができ、この機械可読命令は、1つ以上のアプリケーション、1つ以上のソフトウェアコンポーネント、及び/又は1つ以上のアプリケーションプログラミングインターフェース(application programming interfaces、API)のうちのいずれかを含み、それらは、本明細書内の様々なフロー図、説明図、略図、図、及び/又は他の開示について例示、図示、又は説明されているように、任意の方法、プロセス、要素、又は制限などの、本明細書に記載の特徴、機能、又は他の開示を容易にするか又は実行するように実装され得る。例えば、アプリケーション、ソフトウェアコンポーネント、又はAPIのうちの少なくともいくつかは、撮像ベースの機械学習モデル又はコンポーネント、及び/又は事前定義された撮像コード108であってもよく、それらを含んでもよく、ないしそれらの部分であってもよく、この場合、各々は、本明細書で考察されるそれらの様々な機能を容易にするように構成されている。1つ以上の他のアプリケーションが想定され得、プロセッサ104によって実行されることを理解されたい。
【0020】
プロセッサ104は、プロセッサ104及びメモリ106との間で、電子データ、データパケット、ないし電子信号を伝送することを担うコンピュータバスを介してメモリ106に接続されて、本明細書内の様々なフロー図、説明図、略図、図、及び/又は他の開示について例示、図示、又は説明されているように、機械可読命令、方法、プロセス、要素、又は制限を実装又は実行することができる。
【0021】
プロセッサ104は、コンピュータバスを介してメモリ106とインターフェース接続して、オペレーティングシステム(OS)を実行することができる。プロセッサ104はまた、コンピュータバスを介してメモリ106ともインターフェース接続して、メモリ106及び/又はデータベース104(例えば、Oracle、DB2、MySQLなどのリレーショナルデータベース、又はMongoDBなどのNoSQLベースのデータベース)に格納されるデータを作成、読み取り、更新、削除、ないしアクセス若しくは対話することもできる。メモリ106及び/又はデータベース104に格納されたデータには、例えば、1つ以上のサーチリクエスト、1つ以上のトランザクション詳細、及びユーザのプロファイル情報を含む、本明細書に記載のデータ又は情報のうちのいずれかの全て又は部分が含まれ得る。
【0022】
サーバ102は、1つ以上の外部/ネットワークポートを介して、本明細書に記載のコンピュータネットワーク120及び/又はターミナル109(レンダリング又は視覚化するための)などの1つ以上のネットワーク又はローカルターミナルにデータを伝達(例えば、送信及び受信)するように構成された通信コンポーネントを更に含むことができる。いくつかの実施形態では、サーバ102は、電子リクエストを受信及び応答することを担うASP.NET、JavaJ2EE、Ruby on Rails、Node.js、ウェブサービス、又はオンラインAPIなどのクライアントサーバプラットフォーム技術を含むことができる。サーバ102は、コンピュータバスを介して、メモリ106(その中に格納されたアプリケーション、コンポーネント、API、データ等を含む)及び/又はデータベース105と対話することができるクライアントサーバプラットフォーム技術を実装して、本明細書内の様々なフロー図、説明図、略図、図、及び/又は他の開示について例示、図示、又は説明されているように、機械可読命令、方法、プロセス、要素、又は制限を実現又は実行することができる。いくつかの実施形態によれば、サーバ102は、IEEE標準規格、3GPP標準規格、又は他の標準規格に従って機能し、コンピュータネットワーク120に接続された外部/ネットワークポートを介してデータの受信及び送信に使用され得る1つ以上の送受信機(例えば、WWAN、WLAN、及び/又はWPAN送受信機)を含むか、又はそれと対話することができる。いくつかの実施形態では、コンピュータネットワーク120は、プライベートネットワーク又はローカルエリアネットワーク(local area network、LAN)を含み得る。追加的、又は代替的に、コンピュータネットワーク120は、インターネットなどの公衆ネットワークを含み得る。
【0023】
サーバ102は、管理者又はオペレータに情報を提示し、かつ/又は管理者又はオペレータから入力を受信するように構成されたオペレータインターフェースを更に含むか、又は実装することができる。
図1に示すように、オペレータインターフェースは、ディスプレイ画面を提供することができる(例えば、ターミナル109を介して)。サーバ102はまた、I/Oコンポーネント(例えば、ポート、容量性又は抵抗性タッチセンシティブ入力パネル、キー、ボタン、照明、LED)も提供することができ、それらは、サーバ102を介して直接アクセス可能であり得、若しくはそのサーバに取り付けられ得るか、又はターミナル109を介して間接的にアクセス可能であり得、若しくはそのターミナルに取り付けられ得る。いくつかの実施形態によれば、管理者又はオペレータは、ターミナル109を介してサーバ102にアクセスして、情報を再調査し、変更を行い、訓練データを入力し、かつ/又は他の機能を実行することができる。
【0024】
本明細書で上述したように、いくつかの実施形態では、サーバ102は、「クラウド」ネットワークの部分として本明細書で考察されたような機能を実行し、ないしクラウド内の他のハードウェア又はソフトウェアコンポーネントと通信して、本明細書に記載のデータ又は情報を送信し、取り出し、ないし分析することができる。
【0025】
通常、コンピュータプログラム若しくはコンピュータベース製品、アプリケーション、又はコード(例えば、本明細書に記載の事前定義された撮像コード若しくは他のコンピュータ処理命令)は、内部に具現化されたそのようなコンピュータ可読プログラムコード若しくはコンピュータ命令を有するコンピュータ使用可能記憶媒体、又は有形の非一時的コンピュータ可読媒体(例えば、標準的なランダムアクセスメモリ(RAM)、光ディスク、ユニバーサルシリアルバス(universal serial bus、USB)ドライブ等)上に格納することができ、コンピュータ可読プログラムコード又はコンピュータ命令は、プロセッサ104(例えば、メモリ106内のそれぞれのオペレーティングシステムに関連して作業する)上にインストールされ得、ないしそのプロセッサによって実行されるように適合され得、本明細書内の様々なフロー図、説明図、略図、図、及び/又は他の開示について例示、図示、又は説明されているように、機械可読命令、方法、プロセス、要素、又は制限を容易にし、実現し、又は実行することができる。これに関して、プログラムコードは、任意の所望のプログラム言語で実装されてもよく、機械コード、アセンブリコード、バイトコード、インタープリット型ソースコード等として(例えば、Golang、Python、C、C++、C#、Objective-C、Java、Scala、ActionScript、JavaScript、HTML、CSS、XML等を介して)、実装されてもよい。
【0026】
図1に示すように、サーバ102は、コンピュータネットワーク120を介して1つ以上のクライアントデバイス111c1~111c3に、かつ/又は、基地局111b及び112bを介してクライアントデバイス112c1~112c3に、通信可能に接続されている。いくつかの実施形態では、基地局111b及び112bは、セルタワーなどのセルラー基地局を含むことができ、それらは、NMT、GSM、CDMA、UMMTS、LTE、5G等を含む、様々な移動電話標準規格のうちのいずれか1つ以上に基づいて、無線通信121を介して、1つ以上のクライアントデバイス111c1~111c3、及び112c1~112c3と通信する。追加的又は代替的に、基地局111b及び112bは、非限定的な例によってIEEE802.11a/b/c/g、BLUETOOTH標準規格等を含む、様々な無線標準規格のうちのいずれか1つ以上に基づいて、無線通信122を介して1つ以上のクライアントデバイス111c1~111c3、及び112c1~112c3と通信するルータ、無線スイッチ、又は他のそのような無線接続ポイントを含み得る。
【0027】
1つ以上のクライアントデバイス111c1~111c3、及び/又は112c1~112c3のうちのいずれも、非限定的な例によって、APPLE iPhone若しくはiPadデバイス、又はGOOGLE ANDROIDベースの移動電話若しくはテーブルが含まれる、携帯電話、移動電話、タブレットデバイス、パーソナルデータアシスタンス(personal data assistance、PDA)等を含み得る。更に、1つ以上のクライアントデバイス111c1~111c3、及び/又は112c1~112c3は、AppleのiOS及び/又はGoogleのAndroidオペレーションシステムなどのオペレーティングシステム(OS)又はモバイルプラットフォームを実装又は実行することができる。1つ以上のクライアントデバイス111c1~111c3、及び/又は112c1~112c3のうちのいずれも、本明細書内の様々な実施形態で説明されているように、コンピュータ処理命令又はコード(例えば、事前定義された撮像コード)を格納、実装、又は実行するための1つ以上のプロセッサ及び/又は1つ以上のメモリを含み得る。
【0028】
図2は、本明細書に開示された様々な実施形態による、
図1の人工知能ベース撮像システム100のプロビジョニングサーバ102から受信されたときの、事前定義された撮像コード108を実装する例示的なクライアントデバイス200の略図を示す。クライアントデバイス200は、
図1について本明細書に記載されているように、クライアントデバイス111c1~111c3、及び/又は112c1~112c3のうちのいずれかであり得る。
図2では、クライアントデバイス200は、例えば、Apple iPhoneデバイス又はGoogle Androidデバイスなどの携帯電話として例示されている。ただし、クライアントデバイス200は、例えば、本明細書に記載されているように、タブレット、PDA、又は他のそのような同様のクライアントデバイスであり得ることを理解されたい。
【0029】
図2の例では、クライアントデバイス200は、CPU202(例えば、プロセッサ)及びカメラ204を含む。カメラ204は、デジタル画像(例えば、画素ベースの画像)を撮影し、捕捉し、ないし生成するように構成され、少なくともいくつかの実施形態では、クライアントデバイス200のメモリ203にそのような画像を格納することができる。メモリ203は、CPU202によって、通信可能に結合されるか、又はアクセス可能である。CPU202は、クライアントデバイス200のディスプレイ画面201上のウェブブラウザ210を実装するための命令を含む、コンピュータ処理命令を実装又は実行することができる。様々な実施形態では、ウェブブラウザ210は、クライアントデバイス200の所与のオペレーティングシステムのためのモバイルアプリケーション(アプリ)又はネイティブアプリとして実装され得る。ウェブブラウザ210の使用により、人工知能ベース撮像システム及び方法の非常に広範囲の配布及び/又は利用可能性が提供されて、本明細書に記載の人工知能ベース撮像システム及び方法のトラフィック及び使用を推進する。すなわち、ウェブブラウザ210は、オペレーティングシステム又はクライアントデバイスモデル、例えば、クライアントデバイス200とは関係なく、人工知能ベース撮像システム及び方法の実装及び実行を可能にする。
【0030】
本明細書に記載されているように、クライアントデバイス200は、基地局111b及び/又は112bから無線通信121及び/又は122を受信するための無線送受信機を含むことができる。本明細書に記載の様々な実施形態では、クライアントデバイス200及び/又はウェブブラウザ210は、プロビジョニングサーバ102から事前定義された撮像コード108をリクエストするための命令を実装又は実行することができる。例えば、
図2について示されているように、いくつかの実施形態では、事前定義された撮像コード108は、非限定的な例によって、JavaScript(.js)ファイル、ウェブアセンブリモジュール(web assembly module、WASM)、及び/又は同様のものなどのスクリプトとして、クライアントデバイス200及び/又はウェブブラウザ210に転送され得る。様々な実施形態では、事前定義された撮像コード108は、クライアントデバイス200のメモリ203に格納又はキャッシュされ得る。いくつかの実施形態では、事前定義された撮像コード108は、ディスプレイ画面201上にテキスト及び/又は画像を表示するためのグラフィカルユーザインターフェース(GUI)218を、少なくとも部分的に、レンダリングないし露出させるためのアクセスを更に含み、実装し、有することができる。追加的、又は代替的に、ウェブブラウザ210は、ディスプレイ画面201上にテキスト及び/又は画像を表示するためのGUI218を、少なくとも部分的に、レンダリングないし露出させるためのアクセスを含み、実装し、有することができる。
【0031】
事前定義された撮像コード108は、カメラ204によって捕捉されたデジタル画像に対して撮像分析及び/又は撮像アルゴリズムを提供する。例えば、様々な実施形態では、そのような撮像分析及び/又は撮像アルゴリズムは、事前定義された撮像コード108の事前定義されたか又はコンパイルされたコードによって実装され得る。そのようなコードは、ウェブアセンブリ(WASM)を含み得るが、これに限定されない。通常、WASMは、ウェブブラウザ(例えば、ウェブブラウザ210)などのホスト環境内で実行又は実装され得る実行可能プログラムの生成のためのポータブルバイナリコードフォーマットである。このWASMは、実行可能プログラムであるため、それは、例えば、独立型JavaScript及びカスケーディングスタイルシート(cascading style sheets、CSS)を含む、従来のブラウザベース技術と比較して、ウェブブラウザ内に高性能を提供する。追加的又は代替的に、事前定義された撮像コード108はまた、TENSORFLOWライブラリ(例えば、Tensorflow.js)などの第三者ライブラリからのコードなどのスクリプト又はコードも含み得る。例えば、本明細書に記載されているように、TENSORFLOWライブラリは、デジタル画像を分析するための人工知能アルゴリズムを用いて、事前定義された撮像コード108を提供する。追加的、又は代替的に、事前定義された撮像コード108は、WASMコード及び/又は第三者コード(例えば、TENSORFLOW)をロードし、キャッシュし、ないし対話する、独自のJavaScript及びCSSを含む。様々な実施形態では、本明細書に記載されているように、事前定義された撮像コード108は、方法、フロー図、アルゴリズム、又はそれらの部分を実装するためのWASM及びJavaScriptコード(例えば、Tensorflow.js及び/又は独自のJavaScript)のうちの1つ以上の各々を含む。
【0032】
図2に示すように、様々な実施形態では、カメラ204を使用して(例えば、GUI218からリクエストされたときに)、「自撮り」220、例えば、自ら撮影した写真などのデジタル画像を捕捉することができる。
図2に自撮りについて説明されているが、本明細書では、他のデジタル画像も想定される(例えば、ターゲットの個人以外の人物によって撮影された写真)ことを理解されたい。いくつかの実施形態では、
図2に示されているように、「自撮り」220は、GUI218を介して、任意選択的に表示され得る。追加的、又は代替的に、「自撮り」220は、本明細書に記載されているように、個人の1つ以上の画像の画像分析に基づいて、その個人の1つ以上の人物属性を決定することを含み得る撮像分析のために、事前定義された撮像コード108に提供され得る。加えて、これは、GUI218上で、又はその部分として、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることを更に含み得る。そのような撮像分析の結果222(例えば、1つ以上の人物属性のうちのいずれか)は、GUI218上に表示され得る。このようにして、人工知能ベース撮像システム100は、ウェブ環境を介して個人と対話するように構成されている。
図2によって示されているように、捕捉及び分析されたいずれのデジタル画像も、任意のネットワーク(例えば、コンピュータネットワーク120)を介してサーバには送信されないことに留意されたい。このようにして、PII(例えば、個人の自撮り)は、コンピュータネットワーク上で傍受されるリスクがなくなり、その結果、人工知能ベース撮像システム100及びクライアントデバイス200のセキュリティは、全体として向上する。
【0033】
図3は、本明細書に開示された様々な実施形態による、ウェブ環境を介して個人と対話するための例示的な人工知能ベース撮像方法300の略図を示す。ブロック302において、人工知能ベース撮像方法300は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)で、事前定義された撮像コード(例えば、事前定義された撮像コード108)について、ウェブブラウザ(例えば、ウェブブラウザ210)からのリクエスト(例えば、ハイパーテキスト転送(hypertext transfer、HTTP)リクエスト)を受信することを含む。本明細書に記載されているように、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)は、事前定義された撮像コードを格納するメモリ(例えば、データベース105及び/又はメモリ106)にアクセスする。
【0034】
ブロック304において、人工知能ベース撮像方法300は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)によって、リクエストに応答して、事前定義された撮像コード(例えば、事前定義された撮像コード108)をウェブブラウザ(例えば、ウェブブラウザ210)に転送することを更に含み、この場合、ウェブブラウザは、クライアントデバイス(例えば、クライアントデバイス200)上で実行している。様々な実施形態では、ウェブブラウザ210は、ウェブブラウザ210のユーザインターフェース(例えば、GUI218)又はディスプレイの少なくとも一部分をレンダリングする際に使用するために、プロビジョニングサーバ102からハイパーテキストマークアップ言語(hypertext markup language、HTML)を受信するように構成されている。
【0035】
様々な実施形態では、事前定義された撮像コード108は、例えば、事前定義された撮像コード108がウェブブラウザによって受信されたときに、ウェブブラウザ(例えば、ウェブブラウザ210)によってクライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)に格納されるように構成されている。追加的又は代替的に、様々な実施形態では、事前定義された撮像コード108は、事前定義された撮像コード108がウェブブラウザ210によって受信されると、クライアントデバイス(例えば、クライアントデバイス200)のクライアントプロセッサ(例えば、CPU202)によって実行されるように構成されている。
【0036】
ブロック306において、人工知能ベース撮像方法300は、事前定義された撮像コード108を用いて、クライアントデバイス(例えば、クライアントデバイス200)のディスプレイ(例えば、表示画面201)上のウェブブラウザ(例えば、ウェブブラウザ210)内の対話型グラフィカルユーザインターフェース(例えば、GUI218)をレンダリングすることを更に含む。
【0037】
ブロック308において、人工知能ベース撮像方法300は、事前定義された撮像コード(例えば、事前定義された撮像コード108)を用いて、個人の1つ以上の画像(例えば、カメラ204によって捕捉されたときの)をクライアントデバイスのメモリ(例えば、メモリ203)にロードすることを更に含む。
【0038】
ブロック310において、人工知能ベース撮像方法300は、事前定義された撮像コード(例えば、事前定義された撮像コード108)を用いて、個人の1つ以上の画像の画像分析に基づいて、その個人の1つ以上の人物属性を決定することを更に含む。様々な実施形態では、画像分析は、個人の1つ以上の画像の画素データに基づいて、機械学習モデル、ニューラルネットワーク、又は他の人工知能モデルを訓練及び/又は使用して、その個人の1つ以上の人物属性を決定することを含む。例えば、様々な実施形態では、本明細書に記載されているように、機械学習撮像モデルは、教師あり又は教師なし機械学習プログラム又はアルゴリズムを使用して訓練され得る。機械学習プログラム又はアルゴリズムは、ニューラルネットワークを使用することができ、そのニューラルネットワークは、畳み込みニューラルネットワーク、深層学習ニューラルネットワーク、又は特定の関心領域内での2つ以上の特徴若しくは特徴データセットを学習する混合学習モジュール又はプログラムであってもよい。これらの機械学習プログラム又はアルゴリズムには、自然言語処理、意味解析、自動推論、回帰分析、サポートベクタマシン(support vector machine、SVM)分析、決定樹解析、ランダムフォレスト分析、K近傍法分析、単純ベイズ分析、クラスタリング、強化学習、並びに/又は他の機械学習アルゴリズム及び/若しくは技術もまた含まれ得る。機械学習は、既存のデータ内のパターンを識別及び認識すること(個人の複数の人物属性を有する画像内の画素データに基づいて、モデルを訓練することなど)を必要として、後続のデータの予測又は識別を行うこと(新しい個人の新しい画素データに関するモデルを使用して、そのような新しい個人の新しい1つ以上の人物属性を決定することなど)を容易にすることができる。
【0039】
本明細書に記載の機械学習撮像モデルのものなどの機械学習モデルは、例示的な(例えば、「訓練データ、」)入力又はデータ(「特徴」及び「ラベル」と呼ばれる場合がある)に基づいて作成及び訓練されて、試験レベル又は生産レベルのデータ又は入力などの新しい入力の、有効で信頼できる予測を行うことができる。教師あり機械学習では、サーバ、コンピュータ処理デバイス、ないしプロセッサ上で動作する機械学習プログラムは、例示的な入力(例えば、「特徴」)、及びそれらの関連する又は観察される出力(例えば、「ラベル」)を提供されて、機械学習プログラム又はアルゴリズムは、例えば、モデルの様々な特徴カテゴリにわたって重み付け若しくは他の測定項目をそのモデルに対して決定すること及び/又は割り当てることによって、出力(例えば、ラベル)に対してそのような入力(例えば、「特徴」)をマッピングする規則、関係、ないし機械学習「モデル」を決定又は発見することができる。次いで、そのような規則、関係、ないしモデルは、後続の入力が提供されて、そのモデルがサーバ、コンピュータ処理デバイス、ないしプロセッサ上で実行され、発見された規則、関係、又はモデルに基づいて、期待される出力を予測することができる。
【0040】
教師なし機械学習では、サーバ、コンピュータ処理デバイス、ないしプロセッサは、ラベル付けされていない例示的な入力において、それ自体の構造を見出すことが必要とされ得、この場合、例えば、複数の訓練反復が、サーバ、コンピュータ処理デバイス、ないしプロセッサによって実行されて、満足なモデル、例えば、試験レベル又は生産レベルのデータ又は入力が与えられたときに、十分な予測精度を提供するモデルが生成されるまで、複数世代のモデルを訓練する。本明細書の開示は、そのような教師あり又は教師なし機械学習技術のうちの一方又は両方を使用することができる。
【0041】
画像分析は、1人以上の個人の画像の画素データに基づいて、機械学習撮像モデルを訓練することを含み得る。追加的、又は代替的に、画像分析は、以前に訓練されたときに機械学習撮像モデルを使用して、その個人の1つ以上の画像に基づいて、その個人の1つ以上の人物属性を決定することを含み得る。このようにして、画素データ(例えば、口、毛の生え際、顔、又はその部分などの、個人の1つ以上の特徴を選別する)を使用し、機械学習撮像モデルを訓練又は使用して、個人の1つ以上の人物属性を決定することができる。そのような人物属性には、個人の顔特徴(例えば、肌又は顔の毛の特徴)、口、例えば、歯(単数又は複数)に関連する必要性(例えば、歯垢、着色、若しくは他の口の問題)、又は髪ベース特徴(例えば、髪の長さ、髪の着色等)の特徴が含まれ得るが、これらに限定されない。
【0042】
いくつかの実施形態では、事前定義された撮像コード108は、クライアントデバイス200に送信されるときに、ウェブアセンブリ(WASM)ベースのモジュール及び1つ以上のスクリプト(例えば、JavaScriptコード)を含む。様々な実施形態では、(本明細書に記載されているように)WASMベースモジュールは、機械学習撮像モデルを含む。本明細書に記載されているように、機械学習撮像モデルは、個人の1つ以上の画像を入力し、その個人の人物属性を決定するように構成されている。いくつかの実施形態では、1つ以上のスクリプト、又は、より一般的には、事前定義された撮像コード108は、機械学習撮像モデルを含むことができ、この場合、機械学習撮像モデルは、少なくともTENSORFLOWベースのライブラリを実装又は使用する。追加的、又は代替的に、機械学習撮像モデルは、PYTORCHライブラリ又はSCIKIT-LEARN Pythonライブラリを含む、他の人工知能ベース第三者パッケージ又はライブラリを含み、実装し、ないし使用することができる。
【0043】
図3を参照すると、ブロック312において、人工知能ベース撮像方法300は、事前定義された撮像コード(例えば、事前定義された撮像コード108)を用いて、対話型GUI(例えば、GUI218)内の個人の1つ以上の人物属性をレンダリングすることを更に含む。様々な実施形態では、事前定義された撮像コード108は、クライアントプロセッサ(例えば、CPU202)による実行の際、対話型GUI(例えば、GUI218)内の個人の1つ以上の人物属性を有する1つ以上の画像をレンダリングするように更に構成されている。
【0044】
様々な実施形態では、事前定義された撮像コード108は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)と通信することなく、ウェブブラウザ(例えば、ウェブブラウザ210)内で実行可能である。いくつかの実施形態では、事前定義された撮像コード108は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)からウェブブラウザ(例えば、ウェブブラウザ210)への単一の送信中に転送され得る。追加的、又は代替的に、事前定義された撮像コードは、個人識別可能情報(PII)をプロビジョニングサーバ(例えば、プロビジョニングサーバ102)に送信することなく、ウェブブラウザ(例えば、ウェブブラウザ210)内で実行可能である。
【0045】
様々な実施形態では、事前定義された撮像コード108は、クライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)にキャッシュされ、この場合、その事前定義された撮像コード108は、ウェブブラウザ(例えば、ウェブブラウザ210)に割り当てられたようにメモリ(例えば、メモリ203)の少なくとも一部分にアクセスすることができる。追加的、又は代替的に、事前定義された撮像コード108は、ウェブブラウザ(例えば、ウェブブラウザ210)に対して割り当てられていないか、ないしウェブブラウザに対して割り当てられたメモリから分離されているときに、メモリ(例えば、メモリ203)の少なくとも一部分にアクセスすることができる。いくつかの実施形態では、事前定義された撮像コード108の少なくとも一部分は、個人の1つ以上の画像を捕捉前又は捕捉中に、クライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)にキャッシュされる。
【0046】
図4は、
図3の方法300による、ウェブ環境を介して個人と対話するための更なる例示的な人工知能ベース撮像方法400の略図を示し、本明細書に開示された様々な実施形態による、個人の1つ以上の人物属性は、その個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含む。
【0047】
図4の方法400は、
図5の例示的な画像500の画像分析について説明している。より概して、
図5は、それぞれ、個人501の
図1~4ついて説明されたように、人工知能ベース撮像システム又は方法のいずれかによる画像分析のための画像500を例示し、この図は、本明細書に開示された様々な実施形態による、個人501の1つ以上の顔特徴(例えば、肌502、目504、眉506、唇512)、1つ以上の口特徴(例えば、歯若しくはスルー(through)(図示せず))、又は1つ以上の髪ベース特徴(例えば、髪522)を含む、その個人501の1つ以上の人物属性502~522を示す。
図5によって例示されているように、画像500は、人物属性502~522の各々に対応する画素データ、及び個人501の画像500内のそれらのそれぞれの領域及び/又は場所を含む。1つ以上の人物属性502~522のうちのいずれかの画素データは、カメラ204によって捕捉され、本明細書に記載されているように、例えば、機械学習撮像モデル、例えば、WASMモジュールを含む、事前定義された撮像コード108によって分析され得る。
【0048】
図4を参照すると、ブロック402において、方法400は、事前定義された撮像コード(例えば、事前定義された撮像コード108)のために、ウェブブラウザ(例えば、ウェブブラウザ210)からのリクエストをプロビジョニングサーバ(例えば、プロビジョニングサーバ102)に送信するクライアントデバイス200を含む。プロビジョニングサーバは、事前定義された撮像コード108を格納するメモリ(例えば、データベース105及び/又はメモリ106)にアクセスすることができる。様々な実施形態では、本明細書に記載されているように、そのリクエストは、ソフトウェア、コード、命令、又は他のそのような資産(例えば、事前定義された撮像コード108)をリクエストして人工知能ベース撮像分析を可能にする、初期の又は事前にロードされたウェブページなどの、ウェブページ内のリンクから行われ得る。追加的、又は代替的に、リクエストは、例えば、クライアントデバイス200のメモリ203に格納されたリンク又はアドレスなどの事前定義されたリンクから行われ得る。
【0049】
ブロック404において、方法400は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)がリクエストに応答して、事前定義された撮像コード108をウェブブラウザ(例えば、クライアントデバイス200上で実行するウェブブラウザ210)に転送することを更に含む。
図4の非限定的な例によって示されているように、プロビジョニングサーバからの応答は、ハイパーテキストマークアップ言語(HTML)、JavaScript(js)、カスケーディングスタイルシート(CSS)スクリプト、及びWASMコード(例えば、画像500、及び/又は個人の画像の撮像分析を行うための機械学習MLモデルを含むWASMコード)を含むソフトウェア、コード、並びに/又は命令を含む。例えば、事前定義された撮像コード108は、ブロック406において、全体として又は部分的に転送されるときに、そのようなソフトウェア、コード、及び/又は命令を含むことができる。例えば、事前定義された撮像コード108は、機械学習(machine learning、ML)モデルを含むWASMコードを含む場合があるが、この場合、プロビジョニングサーバ102からの応答の残りの部分が、独自のコード若しくは第三者コード(例えば、TensorFlow.js)などのJavaScript、及び/又はクライアントデバイス200のディスプレイ画面201上のフロントエンドUI(例えば、UI218)をフォーマット、配列、若しくは生成するために、ウェブブラウザ210によって使用するためのHTML及びCSSを含むことができる。例えば、様々な実施形態では、ウェブブラウザ210は、ユーザインターフェース(例えば、GUI218)の少なくとも一部分、又はウェブブラウザ210のディスプレイをレンダリングする際に使用するために、プロビジョニングサーバ102からハイパーテキストマークアップ言語(HTML)を受信するように構成されている。
【0050】
様々な実施形態では、事前定義された撮像コード108は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)と通信することなく、ウェブブラウザ(例えば、ウェブブラウザ210)内で実行可能である。いくつかの実施形態では、事前定義された撮像コード108は、プロビジョニングサーバ(例えば、プロビジョニングサーバ102)からウェブブラウザ(例えば、ウェブブラウザ210)への単一の送信中に転送され得る。追加的、又は代替的に、事前定義された撮像コードは、個人識別可能情報(PII)をプロビジョニングサーバ(例えば、プロビジョニングサーバ102)に送信することなく、ウェブブラウザ(例えば、ウェブブラウザ210)内で実行可能である。このようにして、WASMコードは、ウェブブラウザ210と対話することができ、このウェブブラウザは、HTML、JavaScriptを介するか、ないし、プロビジョニングサーバ102から処理又は情報をリクエストする必要なしに、ウェブブラウザ210を更新することを含む。そのような対話は、例えば、テキスト及び/又は画像、例えば、画像500及び関連するテキストを、ウェブブラウザ210のGUI218を介して表示させる、ウェブブラウザ210のウェブページのドキュメントオブジェクトモデル(document object model、DOM)と対話することを含み得る。
【0051】
ブロック406において、方法400は、ウェブブラウザ210によって使用されるか、又は少なくともそのウェブブラウザによって共有されるキャッシュ又はメモリ(例えば、メモリ203)に、事前定義された撮像コード108をロード又は格納することを更に含む。様々な実施形態では、事前定義された撮像コード108は、事前定義された撮像コード108がウェブブラウザ(例えば、ウェブブラウザ210)によって受信されると、クライアントデバイス(例えば、クライアントデバイス200)のクライアントプロセッサ(例えば、CPU202)によって実行されるように構成されている。例えば、
図4に示すように、JavaScriptファイル(例えば、プロビジョニングサーバ102によって受信される)は、事前定義された撮像コード108がウェブブラウザ210によって受信されたときに、ウェブブラウザ210及び/又はクライアントデバイス200に、事前定義された撮像コード108をクライアントデバイス200のメモリ203に格納するように命令することができる。
【0052】
ブロック408において、方法400は、ウェブブラウザ210が、プロビジョニングサーバ102によって受信されるものなどの、HTML及びCSSスクリプト、コード、並びに/又は命令を読み取って、GUI218をレンダリングすることを更に含む。すなわち、クライアントデバイス200上でのウェブブラウザ210の実行は、事前定義された撮像コード108、及び/又はHTML、JavaScript、CSS、若しくはプロビジョニングサーバ102によって受信された他の命令を用いて、クライアントデバイス200のディスプレイ(例えば、ウェブブラウザ210)上のウェブブラウザ210内のGUI(例えば、GUI218)をレンダリングすることができる。
【0053】
ブロック410において、個人501などのユーザは、カメラ204を用いて、1つ以上の画像(例えば、「自撮り」画像又はフレームなどの画像500)を捕捉することができる。
【0054】
ブロック412において、方法400は、サイズ、解像度を更新すること、又は画像(例えば、画像500)をクロッピングすることなどの、画像(例えば、画像500)の画像最適化を含むことができる。いくつかの実施形態では、そのような最適化は、画像(例えば、画像500)の画素又は領域を更新、変更、選択、及び/又はクロッピングすることによって、関心領域(例えば、1つ以上の人物属性の領域502~522など)を変更することを含み得る。そのような画像最適化は、プロビジョニングサーバ102から転送されたときの、JavaScriptスクリプト若しくは他のコード、又は命令によって実行され得る。
【0055】
ブロック420において、方法400は、メモリ(例えば、メモリ203)に、機械学習撮像モデル(例えば、WASMベースモデル)をロードすることを更に含む。これは、事前定義された撮像コード108を、全体として又は部分的にメモリ203にロードすることを含み得る。本明細書に記載されているように、事前定義された撮像コード108は、WASMベースモジュール及び1つ以上のスクリプトを含み得る。様々な実施形態では、そのようなスクリプトは、クライアントデバイス200上での動作又は実行のために、WASMベースモジュールを格納、ロード、及び/又は構成するためのJavaScriptファイルを含み得る。
【0056】
事前定義された撮像コード108は、クライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)内にキャッシュされ得、そこでは、事前定義された撮像コード108は、ウェブブラウザ(例えば、ウェブブラウザ210)に割り当てられたようにメモリ(例えば、メモリ203)の少なくとも一部分にアクセスすることが許可される。
図5に示すように、事前定義された撮像コード108の少なくとも一部分は、個人(例えば、個人501)の1つ以上の画像(例えば、画像500)を捕捉前又は捕捉中に、クライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)にキャッシュされる。
【0057】
ブロック422において、方法400は、事前定義された撮像コード108を用いて、クライアントデバイス(例えば、クライアントデバイス200)のメモリ(例えば、メモリ203)に、個人501の1つ以上の画像(例えば、画像500)をロードすることを更に含む。様々な実施形態では、事前定義された撮像コード108によって提供されたときのJavaScriptコード又はそのような他の命令は、画像をロードすることができる。
図5に示すように、1つ以上の画像は、画像分析のための機械学習撮像モデルに提供され得る。
【0058】
図4によって例示されているように、WASMベースモジュールは、機械学習撮像モデルを含むことができる。WASMベースモジュールは、クライアントデバイス200のCPU202によって実行されて、画像500の画像分析を実行することができる。画像分析は、1人以上の個人(例えば、個人501)の画像(例えば、画像500)の画素データに基づいて、機械学習撮像モデルを訓練又は更新することを含み得る。追加的、又は代替的に、画像分析は、以前に訓練されたように、WASMベースモジュールの機械学習撮像モデルを使用して、個人(例えば、個人501)の1つ以上の画像(例えば、画像500)に基づいて、個人の1つ以上の人物属性(例えば、人物属性502~522)を決定することを含み得る。画像500の画素データ(例えば、毛の生え際、顔、肌、又はその部分などの、個人の1つ以上の特徴を選別する)を使用して、WASMベース機械学習撮像モデルを訓練するか、又は既存の機械モデルに、個人の1つ以上の人物属性を決定させることができる。そのような人物属性には、例えば、
図5の画像500について示され、かつ説明されているように、個人の顔特徴(例えば、肌若しくは顔の毛の特徴)、口、例えば、歯(単数又は複数)に関連する必要性(例えば、歯垢、着色、若しくは他の口の問題)、又は髪ベースの特徴(例えば、髪の長さ、髪の着色等)の特徴が含まれ得るが、これらに限定されない。機械学習モデルはまた、訓練され得、また、個人の非画像又はテキストベースのデータを使用することができ、そのデータには、人口統計上のデータ(例えば、年齢、性別等)及び地理的位置、領域の湿度等が含まれるが、これらに限定されない。
【0059】
ブロック424において、方法400は、事前定義された撮像コード108を用いて、個人(例えば、500)の1つ以上の画像(例えば、画像500)の画像分析に基づいて、個人501の1つ以上の人物属性(例えば、人物属性502~522)を決定することを更に含む。例えば、これには、WASMベース機械学習撮像モデルなどの機械学習撮像モデルの結果が含まれ得る。
【0060】
様々な実施形態では、機械学習撮像モデルは、個人(例えば、個人501)の画像(例えば、画像500)の画素データを特徴データとして入力することができる。機械学習撮像モデルは、ブロック424での結果として、ラベルデータを出力することができ、このラベルデータには、数値データ(例えば、個人501の年齢)、分類データ(例えば、人物属性522の分類「1」又は「2」を有する髪の長さ、及び/又は人物属性504の目の色「緑」又は「青」)、又は識別データ(例えば、人物属性502の肌領域)が含まれ得る。追加的、又は代替的に、機械学習撮像モデルは、ブロック424での結果として、視覚化又は注釈を含むことができるラベルデータを出力することができる。そのような視覚化又は注釈は、可能性のある関心領域(例えば、人物属性502~522)を強調表示する画像又はビデオ画像(例えば、画像500)を含み得る。いくつかの実施形態では、そのような視覚化又は注釈は、
図5によって示されているような画像500の領域又は部分(例えば、人物属性502~522)によって例示されているように、マーク付き又は強調表示された特定の領域を用いて、リアルタイム又はほぼリアルタイムでディスプレイ画面201上に示すことができる。いくつかの実施形態では、そのようなマーク付き又は強調表示された特定の領域は、拡張現実(augmented reality、AR)画像として示すことができ、この場合、個人(例えば、個人501)の顔、又は他の身体部分は、画像500上に重ね合わされ、かつディスプレイ画面201上に見える注釈付きマーキング(例えば、人物属性502~522)を用いて、リアルタイム又はほぼリアルタイムで示される。
【0061】
ブロック426において、方法400は、ブロック424について説明されているように、機械学習撮像モデルによって生成又は制作されたときに、その結果をGUI218上に表示することを更に含む。クライアントデバイス200は、事前定義された撮像コード108(例えば、本明細書に記載のスクリプト及び又は他の命令を含む)を用いて、対話型GUI(例えば、ディスプレイ画面201)内の、個人501の1つ以上の画像及び関連する人物属性(例えば、502~522のうちのいずれか1つ)をレンダリングすることができる。上述のように、1つ以上の人物属性502~522は、個人501の1つ以上の顔特徴(例えば、肌502、目504、眉506、又は唇512)、1つ以上の口特徴(例えば、歯(図示せず))、又は1つ以上の髪ベース特徴(例えば、髪522)を含み得る。それらの画像は、本明細書に記載されているように、静止画像、ビデオ画像(すなわち、フレーム)、注釈付き画像、ARベース画像等として、レンダリングすることができる。
【0062】
様々な実施形態では、決定又は分析されたときの結果又は画像は、(例えば、ディスプレイ画面201を介して)1つ以上の対応する推奨製品とともに表示することができるか、又はその推奨製品を表示するために使用することができる。例えば、個人の人物属性(例えば、人物属性502~522)の画像データから決定されたときに、年齢、しわ、目の色、髪の色、髪の長さ等に対応する推奨製品(例えば、化粧品又はファンデーション)を、ユーザ又は個人に表示するか、ないし推奨することができる。
【0063】
図6は、
図5の個人501の1つ以上の人物属性(例えば、502及び522)に基づいて、1つ以上の製品(例えば、製品602p及び622p)を推奨するための例示的なディスプレイ又はユーザインターフェース600を示している。
図6の例では、ユーザインターフェース600は、本明細書に記載のユーザインターフェース218であり得、又はその部分として表示され得る。例えば、様々な実施形態では、機械学習撮像モデル(及び/又は、例えば、本明細書に記載されているようなWASMモジュール)の出力又は結果を使用して、個人501の1つ以上の人物属性(例えば、502及び522)の画像分析(例えば、画像500の画素データの分析)に基づいて、対応する製品の推奨を生成又は識別することができる。そのような推奨には、練り歯磨き(例えば、口の属性の場合)、又は特定の製品の使用方法(例えば、特定の推奨される美容クリームを適用する方法)などの製品が含まれ得る。他の例としては、ヘアケア、例えば、推奨製品を使用して、ユーザ若しくは個人に推奨される、髪の身づくろい動作又はヘアスタイルを達成する方法に関するテキスト又はビデオのマニュアルの表示が挙げられ得る。
【0064】
図6の例では、ユーザインターフェース600は、画像500の画像分析によって、かつ
図5の個人501の1つ以上の人物属性(例えば、502及び522)について決定されたときに、推奨製品のリスト601を含む。リスト601は、それぞれ、人物属性502及び522に対応する少なくとも2つの製品602p及び622pを含む。リスト601は、人物属性502(例えば、肌属性)についての第1の推奨602を含み、この場合、推奨製品602pは、画像500の分析による機械学習撮像モデル(例えば、事前定義された撮像コード108の)によって検出されたときに、個人501の1つ以上の識別された特徴(例えば、しわ)に対処することができるスキンケア製品である。
【0065】
同様に、リスト601は、人物属性522(例えば、髪属性)についての第2の推奨602を含み、この場合、推奨製品622pは、画像500の分析による機械学習撮像モデル(例えば、事前定義された撮像コード108の)によって検出されたときに、個人501の1つ以上の識別された特徴(例えば、枝毛の分かれた部分、ふけ、又は髪の光沢)に対処することができるヘアケア製品である。同じ又は異なる人物属性についてのそのような他の製品には、本明細書に記載されているようなものが含まれ、また、同様な様式で推奨することもできる。
【0066】
ユーザインターフェース600は、それぞれ、ユーザ(例えば、個人501)が対応製品、例えば、602p及び622pを購入又は出荷するために選択することが可能になる、選択可能なUIボタン602s及び622sを更に含むことができる。いくつかの実施形態では、選択可能なUIボタン602s及び622sの選択により、推奨製品をユーザ(例えば、個人501)に出荷させることができ、かつ/又はその個人がその製品に関心があることを第三者に通知することができる。
【0067】
本開示の態様
以下の態様は、本明細書の開示による例として提供されるものであり、本開示の範囲を限定することを意図するものではない。
【0068】
態様1.ウェブ環境を介して個人と対話するように構成された人工知能ベース撮像システムであって、人工知能ベース撮像システムは、プロビジョニングサーバであって、1つ以上のプロセッサと、1つ以上のメモリとを備え、クライアントデバイス上で実行するウェブブラウザからのリクエストに応答するように構成されている、プロビジョニングサーバと、サーバの1つ以上のメモリに格納された事前定義された撮像コードと、プロビジョニングサーバの1つ以上のプロセッサ上で実行するように構成されたコンピュータ処理命令とを備え、コンピュータ処理命令は、プロビジョニングサーバに、ウェブブラウザからのリクエストを受信すると、事前定義された撮像コードをウェブブラウザに転送させ、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されたときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成されており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成されており、事前定義された撮像コードは、クライアントプロセッサによる実行の際、クライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、クライアントデバイスのメモリに、個人の1つ以上の画像をロードすることと、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを行うように構成されており、事前定義された撮像コードは、プロビジョニングサーバと通信することなく、ウェブブラウザ内で実行可能であり、事前定義された撮像コードは、クライアントデバイスのメモリ内にキャッシュされ、事前定義された撮像コードは、ウェブブラウザに割り当てられたようにメモリの少なくとも一部分にアクセスすることを許可される、人工知能ベース撮像システム。
態様2.事前定義された撮像コードは、ウェブアセンブリ(WASM)ベースモジュール及び1つ以上のスクリプトを含む、態様1に記載の人工知能ベース撮像システム。
態様3.WASMベースモジュールは、機械学習撮像モデルを含み、機械学習撮像モデルは、個人の1つ以上の画像を入力し、かつ個人の人物属性を決定するように構成されている、態様2に記載の人工知能ベース撮像システム。
態様4.事前定義された撮像コードは、少なくともTENSORFLOWベースライブラリを実装する機械学習撮像モデルを含む、態様1~3のいずれか1つに記載の人工知能ベース撮像システム。
態様5.事前定義された撮像コードは、単一の送信中に、プロビジョニングサーバからウェブブラウザに転送される、態様1~4のいずれか1つに記載の人工知能ベース撮像システム。
態様6.事前定義された撮像コードの少なくとも一部分は、個人の1つ以上の画像の捕捉前、又は捕捉中に、クライアントデバイスのメモリにキャッシュされる、態様5に記載の人工知能ベース撮像システム。
態様7.ウェブブラウザは、ハイパーテキストマークアップ言語(HTML)を受信するように構成されている、態様1~6のいずれか1つに記載の人工知能ベース撮像システム。
態様8.事前定義された撮像コードは、個人識別可能情報(PII)をプロビジョニングサーバに送信することなく、ウェブブラウザ内で実行可能である、態様1~7のいずれか1つに記載の人工知能ベース撮像システム。
態様9.事前定義された撮像コードは、クライアントプロセッサによる実行の際、対話型GUI内の個人の1つ以上の人物属性を用いて、1つ以上の画像をレンダリングするように更に構成されている、態様1~8のいずれか1つに記載の人工知能ベース撮像システム。
態様10.ウェブ環境を介して個人と対話するための人工知能ベース撮像方法であって、人工知能ベース撮像方法は、プロビジョニングサーバにおいて、事前定義された撮像コードについて、ウェブブラウザからのリクエストを受信することであって、プロビジョニングサーバは、事前定義された撮像コードを格納するメモリへのアクセスを有する、受信することと、プロビジョニングサーバによって、事前定義された撮像コードをウェブブラウザに転送することにより、リクエストに応答することであって、ウェブブラウザは、クライアントデバイス上で実行しており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されたときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成されており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成されている、応答することと、事前定義された撮像コードを用いて、クライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、事前定義された撮像コードを用いて、個人の1つ以上の画像をクライアントデバイスのメモリにロードすることと、事前定義された撮像コードを用いて、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、事前定義された撮像コードを用いて、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを含み、事前定義された撮像コードは、プロビジョニングサーバと通信することなく、ウェブブラウザ内で実行可能であり、事前定義された撮像コードは、クライアントデバイスのメモリにキャッシュされ、事前定義された撮像コードは、ウェブブラウザに割り当てられたようにメモリの少なくとも一部分にアクセスすることを許可される、人工知能ベース撮像方法。
態様11.事前定義された撮像コードは、ウェブアセンブリ(WASM)ベースモジュール及び1つ以上のスクリプトを含む、態様10に記載の人工知能ベース撮像システム。
態様12.WASMベースモジュールは、機械学習撮像モデルを含み、機械学習撮像モデルは、個人の1つ以上の画像を入力し、個人の人物属性を決定するように構成されている、態様11に記載の人工知能ベース撮像システム。
態様13.事前定義された撮像コードは、少なくともTENSORFLOWベースライブラリを実装する機械学習撮像モデルを含む、態様10~12のいずれか1つに記載の人工知能ベース撮像システム。
態様14.事前定義された撮像コードは、単一の送信中に、プロビジョニングサーバからウェブブラウザに転送される、態様10~13のいずれか1つに記載の人工知能ベース撮像システム。
態様15.事前定義された撮像コードの少なくとも一部分は、個人の1つ以上の画像を捕捉前又は捕捉中に、クライアントデバイスのメモリにキャッシュされる、態様14に記載の人工知能ベース撮像システム。
態様16.ウェブブラウザは、ハイパーテキストマークアップ言語(HTML)を受信するように構成されている、態様10~15のいずれか1つに記載の人工知能ベース撮像システム。
態様17.事前定義された撮像コードは、個人識別可能情報(PII)をプロビジョニングサーバに送信することなく、ウェブブラウザ内で実行可能である、態様10~16のいずれか1つに記載の人工知能ベース撮像システム。
態様18.事前定義された撮像コードは、クライアントプロセッサの実行の際、対話型GUI内の個人の1つ以上の人物属性を有する1つ以上の画像をレンダリングするように更に構成されている、態様10~17のいずれか1つに記載の人工知能ベース撮像システム。
態様19.ウェブ環境を介して個人と対話するように構成された人工知能ベース撮像システムであって、人工知能ベース撮像システムは、プロビジョニングサーバであって、1つ以上のプロセッサと、1つ以上のメモリとを備え、クライアントデバイス上で実行するウェブブラウザからのリクエストに応答するように構成されている、プロビジョニングサーバと、サーバの1つ以上のメモリに格納された事前定義された撮像コードと、プロビジョニングサーバの1つ以上のプロセッサ上で実行するように構成されたコンピュータ処理命令とを備え、コンピュータ処理命令は、プロビジョニングサーバに、ウェブブラウザからのリクエストを受信すると、事前定義された撮像コードをウェブブラウザに転送させ、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されたときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成されており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成されており、事前定義された撮像コードは、クライアントプロセッサによる実行の際、クライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、クライアントデバイスのメモリに個人の1つ以上の画像をロードすることと、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを行うように構成されており、事前定義された撮像コードは、個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含む、人工知能ベース撮像システム。
態様20.事前定義された撮像コードは、クライアントプロセッサによる実行の際、個人の1つ以上の人物属性に基づいて、1つ以上の製品を個人に推奨するように更に構成されている、態様19に記載の人工知能ベース撮像システム。
態様21.ウェブ環境を介して個人と対話するための人工知能ベース撮像方法であって、人工知能ベース撮像方法は、プロビジョニングサーバにおいて、事前定義された撮像コードについて、ウェブブラウザからのリクエストを受信することであって、プロビジョニングサーバは、事前定義された撮像コードを格納するメモリへのアクセスを有する、受信することと、プロビジョニングサーバによって、事前定義された撮像コードをウェブブラウザに転送することにより、リクエストに応答することであって、ウェブブラウザは、クライアントデバイス上で実行しており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されたときに、ウェブブラウザによってクライアントデバイスのメモリに格納されるように構成されており、事前定義された撮像コードは、事前定義された撮像コードがウェブブラウザによって受信されると、クライアントデバイスのクライアントプロセッサによって実行されるように構成されている、応答することと、事前定義された撮像コードを用いて、クライアントデバイスのディスプレイ上のウェブブラウザ内の対話型グラフィカルユーザインターフェース(GUI)をレンダリングすることと、事前定義された撮像コードを用いて、個人の1つ以上の画像をクライアントデバイスのメモリにロードすることと、事前定義された撮像コードを用いて、個人の1つ以上の画像の画像分析に基づいて、個人の1つ以上の人物属性を決定することと、事前定義された撮像コードを用いて、対話型GUI内の個人の1つ以上の人物属性をレンダリングすることとを含み、1つ以上の人物属性は、個人の1つ以上の顔特徴、1つ以上の口特徴、又は1つ以上の髪ベース特徴を含む、人工知能ベース撮像方法。
態様22.事前定義された撮像コードは、クライアントプロセッサによる実行の際、個人の1つ以上の人物属性に基づいて、個人に1つ以上の製品を推奨するように更に構成されている、態様21に記載の人工知能ベース撮像方法。
【0069】
追加の考慮事項
本明細書の開示は、多数の異なる実施形態の詳細な説明を記載するものであるが、本明細書の法的範囲は、本特許及び等価物の最後に記載された特許請求の範囲の語句によって定義されることを理解されたい。この詳細な説明は例示的なものとしてのみ解釈されるべきであり、全ての可能な実施形態を説明することは非現実的であるので、全ての可能な実施形態を説明するものではない。現在の技術か、又は本特許の出願日以降に開発された技術のいずれかを使用して、多数の代替の実施形態を実施することができるが、このような実施形態は、依然として、特許請求の範囲の範囲内に収まることになる。
【0070】
以下の追加の考慮事項は、前述の考察に適用される。本明細書全体を通して、複数の実例が、単一の実例として説明される構成要素、動作、又は構造を実装してもよい。1つ以上の方法の個々の動作が別個の動作として図示及び説明されているが、個々の動作のうちの1つ以上が同時に実施されてもよく、また動作が図示の順序で実施される必要はない。例示的な構成における別個の構成要素として提示される構造及び機能は、組み合わされた構造又は構成要素として実現されてもよい。同様に、単一の構成要素として提示される構造及び機能は、別個の構成要素としても実現され得る。これら及び他の変形、修正、追加、及び改善も本明細書の本主題の範囲内に含まれる。
【0071】
加えて、特定の実施形態は、論理又はいくつかのルーチン、サブルーチン、アプリケーション、又は指示を含むものとして本明細書に記載されている。これらは、ソフトウェア(例えば、機械可読媒体上に若しくは送信信号内に具現化されたコード)又はハードウェアのいずれかを構築し得る。ハードウェアでは、ルーチンなどは、特定の動作を実施することが可能な有形のユニットであり、特定の様式で構成又は配置され得る。例示的な実施形態では、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント若しくはサーバコンピュータシステム)又はコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサ若しくはプロセッサのグループ)が、本明細書に記載されるような特定の動作を実施するように動作するハードウェアモジュールとしてソフトウェア(例えば、アプリケーション若しくはアプリケーション部分)によって構成されてもよい。
【0072】
本明細書に記載される例示的方法の様々な動作は、少なくとも部分的に、関連する動作を実施するように一時的に構成された(例えば、ソフトウェアによって)又は恒久的に構成された1つ以上のプロセッサによって実施されてもよい。一時的に構成されたか、又は恒久的に構成されたかにかかわらず、このようなプロセッサは、1つ以上の動作若しくは機能を実施するように動作するプロセッサ実装モジュールを形成し得る。本明細書で言及されるモジュールは、いくつかの例示的な実施形態では、プロセッサ実装モジュールを含み得る。
【0073】
同様に、本明細書に記載される方法又はルーチンは、少なくとも部分的にプロセッサ実装され得る。例えば、ある方法の動作のうちの少なくともいくつかは、1つ以上のプロセッサ又はプロセッサ実装ハードウェアモジュールによって実施され得る。それらの動作の特定の性能は、1つ以上のプロセッサに分散されてもよく、単一のマシン内に存在するだけでなく、多数のマシンにわたって展開されてもよい。いくつかの例示的な実施形態では、プロセッサ(1つ又は複数)は、単一の場所に配置されてもよく、これに対して、他の実施形態では、プロセッサは、いくつかの場所にわたって分散されてもよい。
【0074】
それらの動作の特定の性能は、1つ以上のプロセッサに分散されてもよく、単一のマシン内に存在するだけでなく、多数のマシンにわたって展開されてもよい。いくつかの例示的な実施形態では、1つ以上のプロセッサ又はプロセッサ実装モジュールが、単一の地理的場所(例えば、家庭環境、オフィス環境、又はサーバファーム内)に配置されてもよい。他の実施形態では、1つ以上のプロセッサ又はプロセッサ実装モジュールは、多数の地理的場所にわたって分散されてもよい。
【0075】
この詳細な説明は例示的なものとしてのみ解釈されるべきであり、また、全ての可能な実施形態を説明することは不可能ではないとしても非現実的であるので、全ての可能な実施形態を説明するものではない。当業者は、現在の技術か、又は本出願の出願日後に開発される技術のいずれかを使用して、多数の代替的な実施形態を実現することができる。
【0076】
当業者は、本発明の範囲から逸脱することなく、上記の実施形態に関して多種多様な修正、変更、及び組み合わせを行うことができ、そのような修正、変更、及び組み合わせが、本発明の概念の周囲内にあるとみなされ得ることを認識するであろう。
【0077】
本特許出願の最後にある特許請求の範囲は、「のための手段」又は「のためのステップ」という言語などの、従来の手段プラス機能言語が明示的に列挙されていない限り、米国特許法第112条(f)の下で解釈されることを意図するものではない。本明細書に記載のシステム及び方法は、コンピュータ機能の改善を対象とし、従来のコンピュータの機能を改善する。
【0078】
本明細書に開示される寸法及び値は、列挙された正確な数値に厳密に限定されるものとして理解されるべきではない。その代わりに、特に指示がない限り、そのような寸法は各々、列挙された値とその値を囲む機能的に同等な範囲との両方を意味することが意図される。例えば、「40mm」と開示された寸法は、「約40mm」を意味することが意図される。
【0079】
相互参照される又は関連するあらゆる特許又は特許出願、及び本出願が優先権又はその利益を主張する任意の特許出願又は特許を含む、本明細書に引用される全ての文書は、除外又は限定することを明言しない限りにおいて、参照によりその全体が本明細書に組み込まれる。いかなる文献の引用も、本明細書中で開示又は特許請求されるいかなる発明に対する先行技術であるとはみなされず、あるいはそれを単独で又は他の任意の参考文献(単数又は複数)と組み合わせたときに、そのようないかなる発明も教示、示唆又は開示するとはみなされない。更に、本文書における用語の任意の意味又は定義が、参照により組み込まれた文書内の同じ用語の任意の意味又は定義と矛盾する場合、本文書においてその用語に与えられた意味又は定義が適用されるものとする。
【0080】
本発明の特定の実施形態を例示及び説明してきたが、本発明の趣旨及び範囲から逸脱することなく様々な他の変更及び修正を行うことができる点は当業者には明白であろう。したがって、本発明の範囲内にある全てのそのような変更及び修正を添付の特許請求の範囲に網羅することが意図される。
【国際調査報告】