(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】製品の画像捕捉中に推薦を生成するシステムおよび方法
(51)【国際特許分類】
G06T 7/73 20170101AFI20240911BHJP
H04N 23/60 20230101ALI20240911BHJP
【FI】
G06T7/73
H04N23/60 100
(21)【出願番号】P 2021071640
(22)【出願日】2021-04-21
【審査請求日】2024-03-01
(32)【優先日】2020-12-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】520289589
【氏名又は名称】ショッピファイ インコーポレイテッド
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】ベンジャミン ルイ
(72)【発明者】
【氏名】グドゥル サイ ニハス
(72)【発明者】
【氏名】サリム バトローニ
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2016-144050(JP,A)
【文献】欧州特許出願公開第3654625(EP,A1)
【文献】中国特許出願公開第110493517(CN,A)
【文献】国際公開第2013/075295(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
H04N 23/00-23/959
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、前記コンピュータ実装方法は、
ユーザデバイス内のカメラからカメラライブストリームを取得することであって、前記カメラライブストリームは、特定の製品の画像データを含む、ことと、
前記特定の製品の前記画像データを分析し、前記特定の製品を識別することと、
前記特定の製品を一つ以上の製品のコレクションと関連付け、前記識別された特定の製品に基づいて前記コレクションの前記一つ以上の製品の画像を取得することと、
前記特定の製品の前記画像データを処理し、画像特徴を識別することと、
少なくともコレクションのうちの一つ以上の製品の画像の画像データの画像分析に基づいて、前記コレクションのうちの前記一つ以上の製品の前記画像に共通する一つ以上のベースライン画像特徴を決定することと、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための一つ以上の推薦を生成するために、前記一つ以上のベースライン画像特徴を前記特定の製品の前記画像データの一つ以上の画像特徴と比較することと、
前記ユーザデバイス上での前記カメラライブストリームと一緒の表示のために、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための前記一つ以上の推薦を生成することと
を含
み、
前記比較することは、前記一つ以上のベースライン画像特徴のうちの少なくとも一つの平均値を、一つ以上の前記識別された前記画像特徴のうちの対応する画像特徴と比較することに基づき、前記平均値は、前記コレクションの前記一つ以上の製品の前記画像に基づいて算出される、
コンピュータ実装方法。
【請求項2】
前記特定の製品の前記画像データの前記一つ以上の画像特徴が前記一つ以上のベースライン画像特徴の閾値内であるまで、前記比較することおよび生成することを繰り返すこと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記特定の製品の前記画像データの前記一つ以上の画像特徴が、前記一つ以上のベースライン画像特徴の前記閾値内にあることに応じて、前記ユーザデバイスに前記特定の製品の一つ以上の画像を捕捉させることをさらに含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記カメラライブストリームを取得することに先立って、前記特定の製品に関する情報を取得することと、
前記特定の製品に関する前記情報に基づいて、前記コレクションのうちの前記一つ以上の製品の画像を取得することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記コレクションのうちの前記一つ以上の製品の前記画像は、
ユーザによって以前に捕捉された画像である、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記推薦は、前記ベースライン画像特徴により一致した前記特定の製品のさらなる画像を捕捉するために生成される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記画像特徴は、画像解像度、ピクセル密度、画像輝度、被写界深度、フォーカス、前記画像内の製品のサイズ、前記画像内の製品の角度、前記画像内の製品の向き、または前記製品と背景との間のコントラストのうちの少なくとも一つを含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記一つ以上の推薦は、形状、テキスト、関連製品の画像、またはアニメーションのうちの少なくとも一つを含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
システムであって、前記システムは、
一つ以上のプロセッサと、
プロセッサ実行可能な命令を含むプロセッサ読み取り可能なストレージ媒体と
を備え、
前記プロセッサ実行可能な命令は、前記一つ以上のプロセッサによって実行されると、
ユーザデバイス内のカメラからカメラライブストリームを取得することであって、前記カメラライブストリームは、特定の製品の画像データを含む、ことと、
前記特定の製品の前記画像データを分析し、前記特定の製品を識別することと、
前記特定の製品を一つ以上の製品のコレクションと関連付け、前記識別された特定の製品に基づいて前記コレクションの前記一つ以上の製品の画像を取得することと、
前記特定の製品の前記画像データを処理し、画像特徴を識別することと、
少なくともコレクションのうちの一つ以上の製品の画像の画像データの画像分析に基づいて、前記コレクションのうちの前記一つ以上の製品の前記画像に共通する一つ以上のベースライン画像特徴を決定することと、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための一つ以上の推薦を生成するために、前記一つ以上のベースライン画像特徴を前記特定の製品の前記画像データの一つ以上の画像特徴と比較することと、
前記ユーザデバイス上での前記カメラライブストリームと一緒の表示のために、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための前記一つ以上の推薦を生成することと、
を前記一つ以上のプロセッサに実行
させ、
前記比較することは、前記一つ以上のベースライン画像特徴のうちの少なくとも一つの平均値を、一つ以上の前記識別された前記画像特徴のうちの対応する画像特徴と比較することに基づき、前記平均値は、前記コレクションの前記一つ以上の製品の前記画像に基づいて算出される、
システム。
【請求項10】
前記プロセッサ実行可能な命令は、前記一つ以上のプロセッサによって実行されると、
前記特定の製品の前記画像データの前記一つ以上の画像特徴が前記一つ以上のベースライン画像特徴の閾値内であるまで、前記比較することおよび生成することを繰り返すこと
を前記一つ以上のプロセッサにさらに実行させる、請求項
9に記載のシステム。
【請求項11】
前記プロセッサ実行可能な命令は、前記一つ以上のプロセッサによって実行されると、
前記特定の製品の前記画像データの前記一つ以上の画像特徴が、前記一つ以上のベースライン画像特徴の前記閾値内にあることに応じて、前記ユーザデバイスに前記特定の製品の一つ以上の画像を捕捉させること、
を前記一つ以上のプロセッサにさらに実行させる、請求項
10に記載のシステム。
【請求項12】
前記プロセッサ実行可能な命令は、前記一つ以上のプロセッサによって実行されると、
前記カメラライブストリームを取得することに先立って、前記特定の製品に関する情報を取得することと、
前記特定の製品に関する前記情報に基づいて、前記コレクションのうちの前記一つ以上の製品の画像を取得することと
を前記一つ以上のプロセッサにさらに実行させる、請求項
9に記載のシステム。
【請求項13】
前記コレクションのうちの前記一つ以上の製品の前記画像は、
ユーザによって以前に捕捉された画像である、請求項
9に記載のシステム。
【請求項14】
前記推薦は、前記ベースライン画像特徴により一致した前記特定の製品のさらなる画像を捕捉するために生成される、請求項
9に記載のシステム。
【請求項15】
ユーザデバイスをさらに備え、前記ユーザデバイスは、
前記一つ以上のプロセッサと、
前記一つ以上のプロセッサに結合されたディスプレイと、
カメラと
を備え、
前記カメラは、画像センサを含み、前記カメラは、前記カメラライブストリームを前記一つ以上のプロセッサに提供するように構成されている、請求項
9に記載のシステム。
【請求項16】
プロセッサ実行可能な命令を記憶している非一過性のコンピュータ読み取り可能な媒体であって、前記プロセッサ実行可能な命令は、一つ以上のプロセッサによって実行されると、
ユーザデバイス内のカメラからカメラライブストリームを取得することであって、前記カメラライブストリームは、特定の製品の画像データを含む、ことと、
前記特定の製品の前記画像データを分析し、前記特定の製品を識別することと、
前記特定の製品を一つ以上の製品のコレクションと関連付け、前記識別された特定の製品に基づいて前記コレクションの前記一つ以上の製品の画像を取得することと、
前記特定の製品の前記画像データを処理し、画像特徴を識別することと、
少なくともコレクションのうちの一つ以上の製品の画像の画像データの画像分析に基づいて、前記コレクションのうちの前記一つ以上の製品の前記画像に共通する一つ以上のベースライン画像特徴を決定することと、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための一つ以上の推薦を生成するために、前記一つ以上のベースライン画像特徴を前記特定の製品の前記画像データの一つ以上の画像特徴と比較することと、
前記ユーザデバイス上での前記カメラライブストリームと一緒の表示のために、
前記特定の製品の前記画像データの前記一つ以上の画像特徴を調整するための前記一つ以上の推薦を生成することと、
を前記一つ以上のプロセッサに実行
させ、
前記比較することは、前記一つ以上のベースライン画像特徴のうちの少なくとも一つの平均値を、一つ以上の前記識別された前記画像特徴のうちの対応する画像特徴と比較することに基づき、前記平均値は、前記コレクションの前記一つ以上の製品の前記画像に基づいて算出される、
非一過性のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(分野)
本開示は、製品の画像を捕捉することに関しており、特に、製品の画像捕捉中に推薦を生成することに関している。
【背景技術】
【0002】
(背景)
いくつかのオンラインカタログプラットフォームにおいて、ユーザは1つ以上の製品の写真を撮影することを課され得る。製品および/または写真は、互いに関連付けられ得るので、写真間の一致性が非常に重要である。例えば、同一の店舗で販売されている異なる製品の写真、または同じコレクション内の異なる製品の写真が撮影され得る。別の例として、同一の製品の異なるバリエーション(色、サイズ等)の写真が撮影され得る。顧客は、同時に複数の関連する写真を視認し得るか、または関連する写真を矢継ぎ早に視認し得る。関連する写真の任意の視覚的差異が、顧客にとっての貧しい体験をもたらし得、それは、低減したブランドアピールおよび/または売上につながり得る。
【発明の概要】
【課題を解決するための手段】
【0003】
いくつかのオンラインカタログプラットフォームにおいて、ユーザは、1つ以上の製品の写真を撮影することを課され得る。製品および/または写真は、互いに関連付けられ得るので、写真間の一致が非常に重要である。例えば、同一の店舗で販売されている異なる製品の写真、または同一のコレクション内の異なる製品の写真が撮影され得る。別の例として、同一の製品の異なるバリエーション(色、サイズ等)の写真が撮影され得る。顧客は、同時に複数の関連する写真を視認し得るか、または関連する写真を矢継ぎ早に視認し得る。関連する写真の任意の視覚的差異が、顧客にとっての貧しい体験をもたらし得、それは、低減したブランドアピールおよび/または売上につながり得る。
【0004】
視覚的差異は、アスペクト比、製品視認角度、カメラ角度、前景と背景との間の深度、照明、背景オブジェクト、背景クラッター、背景合成、フレームにおける製品の位置付け等の差異から生じ得る。
【0005】
ユーザは、関連する製品の写真を撮影し得、後処理作業を用いてこれらの写真間の任意の不一致を補正することを試行し得る。この点において、ユーザは、一致していない写真が、所望される一致を達成するために編集可能でないことがあることを認識し得、したがって、ユーザは、プロセス全体を再開する必要があるだろう。これは、通常のユーザにとって難題であり、ユーザをいらだたせ得、複数の無駄な試行につながり得る。
【0006】
一側面において、本願は、製品の画像捕捉中に推薦を生成するシステムおよび方法を提供する。システムおよび方法は、ユーザデバイス内のカメラからカメラライブストリームを取得し得、カメラライブストリームは、特定の製品の画像データを含む。コレクションのうちの1つ以上の製品の画像に共通する1つ以上のベースライン画像特徴は、少なくともコレクションのうちの1つ以上の製品の画像の画像データの画像分析に基づいて決定され得る。1つ以上のベースライン画像特徴は、特定の製品の画像データの1つ以上の画像特徴と比較され得、1つ以上の推薦が生成され得る。1つ以上の推薦は、ユーザデバイス上にカメラライブストリームと一緒に表示され得る。この態様では、推薦は、1つ以上の画像特徴が同一のコレクション内の1つ以上の画像の画像特徴と一致していることを確実にするように調節するようにユーザに命令し得る。
【0007】
一側面において、コンピュータ実装方法が提供され得る。コンピュータ実装方法は、ユーザデバイス内のカメラからカメラライブストリームを取得することであって、カメラライブストリームは、特定の製品の画像データを含む、ことと;少なくともコレクションのうちの1つ以上の製品の画像の画像データの画像分析に基づいて、コレクションのうちの1つ以上の製品の画像に共通する1つ以上のベースライン画像特徴を決定することと;1つ以上の推薦を生成するために、1つ以上のベースライン画像特徴を特定の製品の画像データの1つ以上の画像特徴と比較することと;ユーザデバイス上にカメラライブストリームと一緒に表示するために、1つ以上の推薦を生成することとを含み得る。
【0008】
1つ以上の実施形態において、1つ以上の推薦は、特定の製品の画像データの1つ以上の画像特徴を調節するための推薦であり得る。
【0009】
1つ以上の実施形態において、方法は、特定の製品の画像データの1つ以上の画像特徴が1つ以上のベースライン画像特徴の閾値内であるまで、比較および生成を繰り返すことをさらに含み得る。
【0010】
1つ以上の実施形態において、方法は、特定の製品の画像データの1つ以上の画像特徴が1つ以上のベースライン画像特徴の閾値内であることに応答して、ユーザデバイスに特定の製品の1つ以上の画像を捕捉させることをさらに含み得る。
【0011】
1つ以上の実施形態において、方法は、特定の製品の画像データを分析して特定の製品を識別することと;識別された特定の製品に基づいてコレクションのうちの1つ以上の製品の画像を取得することとをさらに含み得る。
【0012】
1つ以上の実施形態において、方法は、カメラライブストリームを取得する前に特定の製品に関する情報を取得することと;特定の製品に関する情報に基づいてコレクションのうちの1つ以上の製品の画像を取得することとをさらに含み得る。
【0013】
1つ以上の実施形態において、コレクションのうちの1つ以上の製品の画像は、ユーザによって以前に捕捉された画像であり得る。
【0014】
1つ以上の実施形態において、推薦は、よりベースライン画像特徴に一致した特定の製品のさらなる画像を捕捉するために生成され得る。
【0015】
1つ以上の実施形態において、画像特徴は、画像解像度、ピクセル密度、画像輝度、被写界輝度、フォーカス、画像内の製品のサイズ、画像内の製品の角度、画像内の製品の向き、または製品と背景との間のコントラストのうちの少なくとも1つを含み得る。
【0016】
1つ以上の実施形態において、1つ以上の推薦は、形状、テキスト、関連する製品の画像、またはアニメーションのうちの少なくとも1つを含み得る。
【0017】
別の側面によると、システムが提供され得る。システムは、1つ以上のプロセッサと;プロセッサ実行可能な命令を含むプロセッサ読み取り可能なストレージ媒体とを備え得、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサがユーザデバイス内のカメラからカメラライブストリームを取得することを引き起こし(カメラライブストリームは、特定の製品の画像データを含む);コレクションのうちの1つ以上の製品の画像の画像データの画像分析に基づいて、コレクションの1つ以上の製品の画像に共通する1つ以上のベースライン画像特徴を決定し;1つ以上の推薦を生成するために、1つ以上のベースライン画像特徴を特定の製品の画像の1つ以上の画像特徴と比較し;ユーザデバイス上にカメラライブストリームと一緒に表示するために1つ以上の推薦を生成し得る。
【0018】
1つ以上の実施形態において、1つ以上の推薦は、特定の製品の画像データの1つ以上の画像特徴を調節するための推薦であり得る。
【0019】
1つ以上の実施形態において、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、さらに、特定の製品の画像データの1つ以上の画像特徴が1つ以上のベースライン画像特徴の閾値内になるまで、1つ以上のプロセッサが比較することおよび生成することを繰り返すことを引き起こし得る。
【0020】
1つ以上の実施形態において、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、特定の製品の画像データの1つ以上の画像特徴が1つ以上のベースライン画像特徴の閾値内にあることに応答して、ユーザデバイスに特定の製品の1つ以上の画像を捕捉させることを1つ以上のプロセッサにさらに行わせ得る。
【0021】
1つ以上の実施形態において、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、特定の製品の画像データを分析して特定の製品を識別し;識別された特定の製品に基づいてコレクションのうちの1つ以上の製品の画像を取得することを1つ以上のプロセッサにさらに行わせ得る。
【0022】
1つ以上の実施形態において、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、カメラライブストリームを取得する前に特定の製品に関する情報を取得し;特定の製品に関する情報に基づいて、コレクションのうちの1つ以上の製品の画像を取得することを1つ以上のプロセッサにさらに行わせ得る。
【0023】
1つ以上の実施形態において、コレクションのうちの1つ以上の製品の画像は、ユーザによって以前に捕捉された画像であり得る。
【0024】
1つ以上の実施形態において、推薦は、よりベースライン画像特徴に一致した特定の製品のさらなる画像を捕捉するために生成され得る。
【0025】
1つ以上の実施形態において、システムは、ユーザデバイスを備え得、ユーザデバイスは、1つ以上のプロセッサと;1つ以上のプロセッサに結合されたディスプレイと;カメラとを備え、カメラは、画像センサを含み、1つ以上のプロセッサにライブカメラストリームを提供する。
【0026】
別の側面によると、プロセッサ実行可能な命令を記憶している非一過性のコンピュータ読み取り可能な媒体が提供され得、プロセッサ実行可能な命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサが本明細書中で説明される方法のうちのいずれかを実行することを引き起こし得る。
【0027】
別の側面によると、コンピュータプログラムが提供され得、コンピュータプログラムは、プロセッサにおいて実行されると、本明細書中で説明される方法のうちのいずれかを実行するように構成されている。
本発明は、例えば以下を提供する。
(項目1)
コンピュータ実装方法であって、前記コンピュータ実装方法は、
ユーザデバイス内のカメラからカメラライブストリームを取得することであって、前記カメラライブストリームは、特定の製品の画像データを含む、ことと、
前記特定の製品の前記画像データを処理し、画像特徴を識別することと、
少なくともコレクションのうちの1つ以上の製品の画像の画像データの画像分析に基づいて、前記コレクションのうちの前記1つ以上の製品の前記画像に共通する1つ以上のベースライン画像特徴を決定することと、
前記1つ以上のベースライン画像特徴を前記特定の製品の前記画像データの前記識別された画像特徴のうちの1つ以上と比較することによって、1つ以上の推薦を生成することと、
前記ユーザデバイス上での前記カメラライブストリームと一緒の表示のために、前記1つ以上の推薦を生成することと
を含む、コンピュータ実装方法。
(項目2)
前記1つ以上の推薦は、前記特定の製品の前記画像データの前記1つ以上の画像特徴を調節するための推薦である、上記項目に記載のコンピュータ実装方法。
(項目3)
前記特定の製品の前記画像データの前記識別された画像特徴のうちの前記1つ以上が前記1つ以上のベースライン画像特徴の閾値内であるまで、前記比較することおよび生成することを繰り返すこと
をさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目4)
前記特定の製品の前記画像データの前記識別された画像特徴のうちの前記1つ以上が前記1つ以上のベースライン画像特徴の前記閾値内にあることに応答して、前記ユーザデバイスに前記特定の製品の1つ以上の画像を捕捉させることをさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目5)
前記特定の製品の前記画像データを分析し、前記特定の製品を識別することと、
前記識別された特定の製品に基づいて、前記コレクションのうちの前記1つ以上の製品の画像を取得することと
をさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目6)
前記カメラライブストリームを取得することに先立って、前記特定の製品に関する情報を取得することと、
前記特定の製品に関する前記情報に基づいて、前記コレクションのうちの前記1つ以上の製品の画像を取得することと
をさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目7)
前記コレクションのうちの前記1つ以上の製品の前記画像は、前記ユーザによって以前に捕捉された画像である、上記項目のいずれかに記載のコンピュータ実装方法。
(項目8)
前記推薦は、前記ベースライン画像特徴により一致した前記特定の製品のさらなる画像を捕捉するために生成される、上記項目のいずれかに記載のコンピュータ実装方法。
(項目9)
前記画像特徴は、画像解像度、ピクセル密度、画像輝度、被写界深度、フォーカス、前記画像内の製品のサイズ、前記画像内の製品の角度、前記画像内の製品の向き、または前記製品と背景との間のコントラストのうちの少なくとも1つを含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目10)
前記1つ以上の推薦は、形状、テキスト、関連製品の画像、またはアニメーションのうちの少なくとも1つを含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目11)
システムであって、前記システムは、
1つ以上のプロセッサと、
プロセッサ実行可能な命令を含むプロセッサ読み取り可能なストレージ媒体と
を備え、
前記プロセッサ実行可能な命令は、前記1つ以上のプロセッサによって実行されると、上記項目のいずれかに記載の方法を前記1つ以上のプロセッサに実行させる、システム。
(項目12)
ユーザデバイスをさらに備え、前記ユーザデバイスは、
前記1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたディスプレイと、
カメラと
を備え、
前記カメラは、画像センサを含み、前記カメラは、前記ライブカメラストリームを前記1つ以上のプロセッサに提供するように構成されている、上記項目のいずれかに記載のシステム。
(項目13)
プロセッサ実行可能な命令を記憶している非一過性のコンピュータ読み取り可能な媒体であって、前記プロセッサ読み取り可能な命令は、1つ以上のプロセッサによって実行されると、上記項目のいずれかに記載の方法を前記1つ以上のプロセッサに実行させる、非一過性のコンピュータ読み取り可能な媒体。
(項目14)
コンピュータプログラムであって、前記コンピュータプログラムは、1つ以上のプロセッサにおいて実行されると、上記項目のいずれかに記載の方法を実行するように構成されている、コンピュータプログラム。
(摘要)
画像捕捉中に推薦を生成するシステムおよび方法が提供される。方法は、ユーザデバイス内のカメラからカメラライブストリームを取得することであって、カメラライブストリームは、特定の製品の画像データを含む、ことと;少なくともコレクションのうちの1つ以上の製品の画像の画像データの画像分析に基づいて、コレクションのうちの1つ以上の製品の画像に共通する1つ以上のベースライン画像特徴を決定することと;1つ以上のベースライン画像特徴を特定の製品の画像データの1つ以上の画像特徴と比較することによって1つ以上の推薦を生成することと;ユーザデバイス上でのカメラライブストリームと一緒の表示のために1つ以上の推薦を生成することとを含む。
【図面の簡単な説明】
【0028】
実施形態は、添付の図面を参照して例としてのみ説明される。
【0029】
【
図1】
図1は、ある実施形態による例示的eコマースプラットフォームのブロック図である。
【0030】
【
図2】
図2は、ある実施形態によるアドミニストレータのホームページの例である。
【0031】
【
図3】
図3は、ある実施形態による別の例示的eコマースプラットフォームのブロック図である。
【0032】
【
図4】
図4は、ある実施形態による製品の画像捕捉中に推薦を生成する例示的システムを例証するブロック図である。
【0033】
【
図5】
図5は、ある実施形態による例示的製品画像特徴をルックアップテーブルの形式で例証する図である。
【0034】
【
図6】
図6は、ある実施形態による製品の画像捕捉中に推薦を生成する例示的方法を例証するフローチャートである。
【0035】
【
図7】
図7は、ある実施形態によるコレクション内の1つ以上の製品の画像を取得する例示的方法を例証するフローチャートである。
【0036】
【
図8】
図8は、ある実施形態によるコレクション内の1つ以上の製品の画像を取得する別の例示的方法を例証するフローチャートである。
【0037】
【
図9】
図9は、ある実施形態によるスクリーンページを例証している。
【0038】
【
図10】
図10は、ある実施形態による1つ以上の画像を捕捉する例示的方法を例証するフローチャートである。
【0039】
【
図11】
図11は、ある実施形態によるスクリーンページを例証している。
【0040】
【
図12】
図12は、ある実施形態によるスクリーンページを例証している。
【発明を実施するための形態】
【0041】
例証の目的のために、これから、特定の例示的実施形態が、図面と共に以下でより詳細に説明される。
【0042】
例示的eコマースプラットフォーム
いくつかの実施形態では、要求されないが、本明細書中で開示される方法は、eコマースプラットフォームにおいて、またはそれに関連付けられて実施され得る。したがって、背景としてeコマースプラットフォームの例が説明される。
【0043】
図1は、一実施形態によるeコマースプラットフォーム100を例証している。eコマースプラットフォーム100は、商人の製品およびサービスを顧客に提供するために用いられ得る。本開示は、製品およびサービスを購入するための装置、システムおよびプロセスを用いることを構想しているが、本明細書中の説明は、単純化のため、製品に言及する。この開示全体にわたる製品への全ての言及は、物理的製品、デジタルコンテンツ、チケット、サブスクリプション、提供されるサービス等を含む製品および/またはサービスにも言及していることを理解されるべきである。
【0044】
本開示は、全体にわたって、「商人」および「顧客」は、個人より多いこともあることを構想しているが、単純化のため、本明細書中の説明は、概してそのように商人および顧客(または「購入者」)を言及する。商人および顧客への全ての言及が、この開示全体にわたって、個人、会社、企業、コンピューティングエンティティ等の群を言及し、製品の営利または非営利の交換を表し得ることも理解されるべきである。さらに、本開示は、全体にわたって、「商人」および「顧客」に言及し、そのように彼らの役割を説明するが、eコマースプラットフォーム100は、eコマース環境においてユーザをより一般的にサポートすることを理解されるべきであり、この開示全体にわたる商人および顧客への全ての言及は、ユーザが、商人ユーザ(例えば、製品の売り手、小売業者、卸売業者、またはプロバイダ)、顧客ユーザ(例えば、製品の買い手、購入エージェント、または製品のユーザ)、潜在的ユーザ(例えば、閲覧しているユーザおよびまだ購入を確約していないユーザ、製品をマーケティングし販売することにおける潜在的な使用についてeコマースプラットフォーム100を評価するユーザ等)、サービスプロバイダユーザ(例えば、配送プロバイダ112、金融プロバイダ等)、会社ユーザまたは企業ユーザ(例えば、製品の購入、販売、または使用を代表する会社、事業者ユーザ、顧客関連または顧客管理の代理人等)、情報テクノロジーユーザ、コンピューティングエンティティユーザ(例えば、製品の購入、販売、または使用のためのコンピューティングボット)である場合等のユーザに言及していることも理解されるべきである。
【0045】
eコマースプラットフォーム100は、商人に彼らのビジネスを管理するためのオンラインリソースおよびオンラインファシリティを提供する集中型システムを提供し得る。本明細書中で説明されるファシリティは、プラットフォーム100の一部または外部であり得る1つ以上のプロセッサにおいてコンピュータソフトウェア、モジュール、プログラムコード、および/または命令を実行する機械を通じて部分的または全体的に展開され得る。商人は、例えば、オンラインストア138を通じて、チャンネル110A-Bを通じて、物理的場所にあるPOSデバイス152(例えば、キオスク、端末、リーダ、プリンタ、3Dプリンタ等を通じて物理的な店頭または他の場所)を通じて、顧客におけるeコマース体験を実装することによって、eコマースプラットフォーム100を通じて彼らのビジネスを管理することによって、eコマースプラットフォーム100の通信ファシリティ129を通じて顧客と相互作用することによって、またはこれらの任意の組み合わせによって、顧客とのコマースを管理するために、eコマースプラットフォーム100を活用し得る。商人は、顧客との唯一のコマースプレゼンスとして、または物理的店舗(例えば、「ブリックアンドモルタル」小売店)、プラットフォーム外の商人のウェブサイト104(例えば、コマースインターネットウェブサイト、またはeコマースプラットフォームとは別個で商人によって、またはその代理でサポートされた他のインターネットもしくはウェブプロパティまたはアセット)を通じて等、他の商人コマースファシリティと共にeコマースプラットフォーム100を活用し得る。しかしながら、これらの「他の」商人コマースファシリティも、eコマースプラットフォーム内に統合され得る(例えば、商人の物理的店舗内のPOSデバイス152がeコマースプラットフォーム100につながれる場合、プラットフォーム外の商人のウェブサイト104からオンラインストア138にコンテンツをつなぐ「買うボタン」を通じて、プラットフォーム外の商人のウェブサイト104がeコマースプラットフォーム100内に結び付けられている場合等)。
【0046】
オンラインストア138は、複数の仮想的店頭を備えているマルチテナントファシリティを表し得る。実施形態では、商人は、例えば商人デバイス102(例えば、コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス等)を通じて、オンラインストア138内の1つ以上の店頭を管理し、数多くの異なるチャンネル110A-B(例えば、オンラインストア138、POSデバイス152を通じた物理的店頭、(ソーシャルネットワーク、ソーシャルメディアページ、ソーシャルメディアメッセージシステム等のウェブサイトまたはソーシャルメディアチャンネルに統合された電子的買うボタンを通じた電子的市場等)を通じて製品を顧客に提供し得る。商人は、チャンネル110A-Bを横断して販売し、そして、eコマースプラットフォーム100を通じて彼らの販売を管理し得、チャンネル110Aは、eコマースプラットフォーム100の内部に、またはeコマースチャンネル110Bの外部から提供され得る。商人は、例えば彼らの物理的小売店で販売し、ポップアップで販売し、卸売りを通して販売し、電話で販売し、そして、eコマースプラットフォーム100を通じて彼らの販売を管理し得る。商人は、これらの全てまたは任意の組み合わせを使用し、POSデバイス152を活用している物理的店頭を通してビジネスを維持し、オンラインストア138を通じて仮想的店頭を維持し、顧客相互作用に影響を与えるために通信ファシリティ129を活用し、販売の利益を向上させるために分析132を活用し得る。この開示全体にわたって、オンラインストア138および店頭という語は、同義的に、eコマースプラットフォーム100を通じた商人のオンラインeコマース提供主体を指すために用いられ得、オンラインストア138は、(例えば、複数の商人のための)eコマースプラットフォーム100によってサポートされた店頭のマルチテナント集合体、または個々の商人の店頭(例えば、商人のオンラインストア)を指し得る。
【0047】
いくつかの実施形態では、顧客は、顧客デバイス150(例えば、コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス等)、POSデバイス152(例えば、小売りデバイス、キオスク、自動勘定システム等)、または業界で知られている任意の他のコマースインタフェースデバイスを通じて相互作用し得る。eコマースプラットフォーム100は、オンラインストア138を通じて、物理的場所(例えば、商人の店頭または他の場所)にあるPOSデバイス152を通じて、顧客に到達すること、電気通信ファシリティ129を介した顧客との対話を通じて顧客とのコマースを促進すること等を可能とし得、顧客に到達し顧客と相互作用するために利用可能な実通路または仮想通路に関して、顧客に到達し商人サービスを促進するためのシステムを提供する。
【0048】
いくつかの実施形態では、本明細書中でさらに説明されるように、eコマースプラットフォーム100は、プロセッサおよびメモリを含む処理ファシリティを通じて実装され得、処理ファシリティは、一連の命令を記憶しており、命令が実行されたとき、eコマースプラットフォーム100は、本明細書で説明されるようにeコマースを実施し、機能をサポートする。処理ファシリティは、サーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピューティングプラットフォーム、クラウドコンピューティングプラットフォーム、固定コンピューティングプラットフォーム、または他のコンピューティングプラットフォームの一部であり、eコマースプラットフォーム100の電子コンポーネント、商人デバイス102、支払いゲートウェイ106、アプリケーション開発者、チャンネル110A-B、配送プロバイダ112、顧客デバイス150、販売時点管理デバイス152等の間の電子的接続および通信を提供し得る。eコマースプラットフォーム100は、ソフトウェアがサブスクリプションベースでライセンスを与えられ、一元的にホストされた(たとえば、Webブラウザまたは他のアプリケーションを介してクライアント(例えば、シンクライアント)を用いてユーザによってアクセスされる、POSデバイスによってアクセスされる等)ソフトウェアおよび送達モデル等における、クラウドコンピューティングサービス、ソフトウェア・アズ・ア・サービス(SaaS)、インフラストラクチャ・アズ・ア・サービス(IaaS)、プラットフォーム・アズ・ア・サービス(PaaS)、デスクトップ・アズ・ア・サービス(DaaS)、管理型ソフトウェア・アズ・ア・サービス(MSaaS)、モバイル・バックエンド・アズ・ア・サービス(MBaaS)、情報テクノロジ管理・アズ・ア・サービス(ITMaaS)等として実装され得る。いくつかの実施形態では、eコマースプラットフォーム100の要素は、種々のプラットフォーム、およびiOS、Android等のオペレーティングシステムにおいて、ならびにWeb上等で動作するように実装され得る(例えば、アドミニストレータ114は、多くの場合、iOS、Android用の所与のオンラインストア、およびWebにおいて実装され、各々は同様の機能を有する)。
【0049】
いくつかの実施形態では、オンラインストア138は、eコマースプラットフォーム100のサーバによって提供されるウェブページを通じて顧客デバイス150にサービス提供され得る。サーバは、ブラウザまたは顧客デバイス150にインストールされた他のアプリケーションからウェブページの要求を受信し得、ブラウザ(または他のアプリケーション)は、IPアドレスを通じてサーバに接続し、IPアドレスは、ドメイン名を翻訳することによって取得される。これに対し、サーバは、要求されたウェブページを送り返す。ウェブページは、Hypertext Markup Language(HTML)、テンプレート言語、JavaScript(登録商標)またはこれらの任意の組み合わせで記述されているか、またはそれらを含み得る。例えば、HTMLは、ウェブページのレイアウト、フォーマット、およびコンテンツ等のウェブページに関する静的情報を記述するコンピュータ言語である。ウェブサイトの設計者および開発者は、テンプレート言語を用いて、複数のページで同一である静的コンテンツと、1つのページから次のページへと変化する動的コンテンツとを組み合わせるウェブページを構築し得る。テンプレート言語は、オンラインストアからのデータでページを動的に追加する一方で、ウェブページのレイアウトを画定する静的要素を再利用することを可能とし得る。静的要素は、HTMLで書かれ得、動的要素は、テンプレート言語で書かれ得る。ファイル内のテンプレート言語要素は、プレースホルダーとして機能し、それによって、ファイル内のコードは、コンパイルされて顧客デバイス150に送られ、その後、テンプレート言語は、テーマがインストールされるとき等に、オンラインストア138からのデータによって置き換えられる。テンプレートおよびテーマは、タグ、オブジェクト、およびフィルタを考慮し得る。そして、クライアントデバイスウェブブラウザ(または他のアプリケーション)は、それに応じて、ページをレンダリングする。
【0050】
いくつかの実施形態では、オンラインストア138は、eコマースプラットフォーム100によって顧客に提供され得、顧客は、種々の取り扱い製品を閲覧および購入し得る(例えば、製品をカートに追加する、買うボタンを通じて即購入する等)。オンラインストア138は、製品が(直接商人から購入するのではなく)eコマースプラットフォーム100を通じて提供されていることを顧客が必ずしも気付かない透明な手法で顧客に提供され得る。商人は、商人が構成可能なドメイン名、カスタマイズ可能なHTMLテーマ等を用いて、彼らのオンラインストア138をカスタマイズし得る。商人は、テーマシステムを通じて彼らのウェブサイトの見た目および雰囲気をカスタマイズし得、例えば、商人は、オンラインストア138の製品のヒエラルキー内に示される同一の下位の製品およびビジネスデータを示しながらオンラインストアのテーマを変更することによって、彼らのオンラインストアの見た目および雰囲気を選択および変更し得る。テーマは、テーマエディタおよびデザインインタフェースを通じてさらにカスタマイズされ得、デザインインタフェースは、ユーザが彼らのウェブサイトのデザインを柔軟にカスタマイズすることを可能とする。テーマは、特有の色、フォント、および予め構築されているレイアウトスキーム等の側面を変更するテーマ特有の設定を用いることによってもカスタマイズされ得る。オンラインストアは、ウェブサイトコンテンツのためのコンテンツ管理システムを実装し得る。商人は、ブログ投稿または静的ページを作り、ブログ、記事等を通じて彼らのオンラインストア138にそれらを発信するのみならず、ナビゲーションメニューも構成し得る。商人は、システムによる格納(例えば、データ134)等のために、画像(例えば、製品の画像)、ビデオ、コンテンツ、データ等をeコマースプラットフォーム100にアップロードし得る。いくつかの実施形態では、eコマースプラットフォーム100は、画像をサイズ変更し、画像を製品に関連付け、画像にテキストを追加し関連付け、新たな製品バリエーションの画像を追加し、画像を保護するため等の機能を提供し得る。
【0051】
本明細書中で説明されるように、eコマースプラットフォーム100は、オンラインストア138、電話を介してのみならず、本明細書中で説明されるような物理的POSデバイス152も含む多くの異なるチャンネル110A-Bを通じて、製品の取引ファシリティを商人に提供し得る。eコマースプラットフォーム100は、ビジネスサポートサービス116、アドミニストレータ114等を含み、それらは、彼らのオンラインストアに関連付けられたドメインサービス118、顧客との取引を促進するための支払いサービス120、購入された製品の配送オプションを顧客に提供するための配送サービス122、製品の保護および信頼性に関連付けられたリスクおよび保証サービス124、商人の請求等を提供する等、オンラインビジネスを営業することに関連付けられ得る。サービス116は、支払処理のための支払いゲートウェイ106、製品の配送を捗らせるための配送プロバイダ112等を通じて、eコマースプラットフォーム100を介してまたは外部ファシリティに関連付けられて提供され得る。
【0052】
いくつかの実施形態では、eコマースプラットフォーム100は、リアルタイムの最新情報、追跡、自動的レート計算、バルクオーダ―準備、ラベル印刷等を商人に提供する等、統合型配送サービス122を(例えば、eコマースプラットフォーム配送ファシリティを通じて、または第三の配送キャリアを通じて)提供し得る。
【0053】
図2は、アドミニストレータ114のホームページに関する非限定的な実施形態を描写し、日ごとのタスク、店舗の現在の活動、および商人が彼らのビジネスを構築するために取るべき次のステップについての情報を示し得る。いくつかの実施形態では、商人は、商人デバイス102を介して(デスクトップコンピュータまたはモバイルデバイスから等)アドミニストレータ114にログインし、商人のオンラインストア138の局面(オンラインストア138の現在の活動を視認すること、オンラインストア138のカタログを更新すること、注文、現在の訪問者の活動、および全体の注文活動等を管理すること等)を管理し得る。いくつかの実施形態では、商人は、例えば
図2に示されるようなサイドバーを用いることによって、アドミニストレータ114の異なるセクションにアクセスすることが可能であり得る。アドミニストレータ114のセクションは、注文、製品、顧客、取り扱い報告および割引を含む商人のビジネスの核となる局面にアクセスし、それを管理するための種々のインタフェースを含み得る。アドミニストレータ114は、店舗のための販売チャンネルを管理するためのインタフェースも含み得、インタフェースは、オンラインストア、店舗にアクセスするために顧客に利用可能にされたモバイルアプリケーション(単数または複数)(モバイルアプリ)、POSデバイス、および/または買うボタンを含む。アドミニストレータ114は、商人のアカウントにインストールされたアプリケーション(アプリ)を管理するためのインタフェース(商人のオンラインストア138およびアカウントに適用される設定)も含み得る。商人は、製品、ページ、または他の情報を見つけるために検索バーを用い得る。商人が使用しているデバイス102またはソフトウェアアプリケーションに依存して、商人は、アドミニストレータ114を通じて異なる機能を可能とされ得る。例えば、商人がブラウザからアドミニストレータ114にログインする場合、彼らは、彼らのオンラインストア138の全ての局面を管理することが可能であり得る。商人が彼らのモバイルデバイスから(例えばモバイルアプリケーションを介して)ログインする場合、彼らは、オンラインストア138の現在の活動を眺める、オンラインストア138のカタログを更新する、注文を管理する等、彼らのオンラインストア138の側面の全てまたは一部を視認することが可能であり得る。
【0054】
コマースおよびオンラインストア138への訪問者に関するより詳細な情報は、商人のビジネス全体に関する売上概要、活動している販売チャンネルに関する特定の売上および従業員データ等を表示する等、獲得レポートまたはメトリクスを通じて見られ得る。レポートは、獲得レポート、行動レポート、顧客レポート、金融レポート、マーケティングレポート、売上レポート、カスタムレポート等を含み得る。商人は、ドロップダウンメニュー等を用いることによって、様々な期間(例えば、日、週、月等)から様々なチャンネル110A-Bに関する売上データを見ることが可能であり得る。概観ダッシュボードも、店舗の売上および契約データのより詳細な図を望む商人に提供され得る。ホームメトリクスセクションにおける活動フィードは、商人のアカウントにおける活動の概観を例証するために提供され得る。例えば、「全ての現在の活動を見る」ダッシュボードボタンをクリックすることによって、商人は、彼らのアカウントにおける現在の活動のより長いフィードを見ることが可能であり得る。ホームページは、例えばアカウントステータス、成長、現在の顧客の活動等に基づいて、商人のオンラインストア138についての通知を示し得る。通知は、支払いを取り込む、履行された注文をマーキングする、完了した注文をアーカイブする等のプロセスを通じたナビゲーションで商人を支援するために提供され得る。
【0055】
eコマースプラットフォーム100は、商人、顧客、商人デバイス102、顧客デバイス150、POSデバイス152等の間の通信相互作用を収集し分析するための電子メッセージ集約ファシリティを活用する等、電子通信を提供しマーケティングをするための通信ファシリティ129および関連付けられた商人インタフェースを提供し、製品の販売を提供するポテンシャルを増加させる等のために通信を集約し分析し得る。例えば、顧客は、製品に関連する質問を有し得、質問は、顧客と商人(または商人を代理する自動化されたプロセッサベースの代理人)との間の対話を生み出し得、通信ファシリティ129は、相互作用を分析し、販売に関する利益をどのように向上するかについて商人に分析を提供する。
【0056】
eコマースプラットフォーム100は、例えばセキュアカードサーバ環境を通じて、顧客との安全な金融取引のためのプラットフォーム支払いファシリティ120を提供し得る。eコマースプラットフォーム100は、例えば、支払いカードインダストリーデータ(PCI)環境(例えば、カードサーバ)等にクレジットカード情報を記憶し得、金融情報を照合し、商人に請求書を送り、(例えば、現金を用いているとき)eコマースプラットフォーム100金融機関口座と商人の銀行口座との間の自動決済(ACH)振替を実施する。これらのシステムは、Sarbanes―Oxley Act(SOX)コンプライアンス、および、それらの開発および動作において要求される高いレベルの注意を有し得る。プラットフォーム支払いファシリティ120は、例えば資金の貸し出し(例えば、貸出ファンド、現金前貸し等)および保険の付保を通して、商人に金融サポートも提供し得る。加えて、eコマースプラットフォーム100は、マーケティングおよびパートナーサービスのセットを提供し、eコマースプラットフォーム100とパートナーとの間の関係を制御し得る。それらは、新たな商人をeコマースプラットフォーム100に接続し、搭載し得る。これらのサービスは、商人がeコマースプラットフォーム100を横断して作業することを容易にすることによって商人の成長を可能とし得る。これらのサービスを通じて、商人は、eコマースプラットフォーム100を介したヘルプファシリティを提供され得る。
【0057】
いくつかの実施形態では、オンラインストア138は、数多くの独立して運営される店頭をサポートし、毎日の各種の製品に関する大量の取引データを処理し得る。取引データは、顧客連絡先情報、請求情報、配送情報、購入された製品の情報、与えられたサービスの情報、およびeコマースプラットフォーム100を通したビジネスに関連付けられた任意の他の情報を含み得る。いくつかの実施形態では、eコマースプラットフォーム100は、データファシリティ134内にこのデータを記憶し得る。取引データは、分析132を生み出すために処理され得、ひいては、商人または第三のコマースエンティティに提供されて、顧客の傾向、マーケティングおよび売上の洞察、売上を向上するための推薦、顧客行動の評価、マーケティングおよび売上のモデル化、詐欺の傾向等を提供し、オンラインコマースに関連付けられ、レポートを通してダッシュボードインタフェースで提供され得る。eコマースプラットフォーム100は、ビジネスおよび商人の取引についての情報を記憶し得、データファシリティ134は、データを強化し、データに貢献し、データを精錬し、データを抽出する多くの手段を有し得、収集されたデータは、経時的にeコマースプラットフォーム100の局面の改善を可能とし得る。
【0058】
図1を再度参照すると、いくつかの実施形態では、eコマースプラットフォーム100は、コンテンツ管理、タスク自動化、およびデータ管理のためのコマース管理エンジン136で構成され、(例えば、製品、在庫、顧客、注文、提携、供給者、レポート、金融、リスクおよび詐欺等に関連付けられた)複数のオンラインストア138のサポートおよびサービスを可能とし得るが、eコマースプラットフォーム100は、アプリケーション142A-Bを通して拡張可能であり得、アプリケーション142A-Bは、多種多様な商人オンラインストア、POSデバイス、製品、およびサービスに適応するために要求されるより高い柔軟性およびカスタム処理を可能にし、アプリケーション142Aが、eコマースプラットフォーム100の内部に提供され得、または、アプリケーション142Bが、eコマースプラットフォーム100の外部に提供され得る。いくつかの実施形態では、アプリケーション142Aは、プラットフォーム100を提供する同じパーティによって、または異なるパーティによって提供され得る。いくつかの実施形態では、アプリケーション142Bは、プラットフォーム100を提供する同じパーティによって、または異なるパーティによって提供され得る。コマース管理エンジン136は、例えば顧客識別子、注文識別子、オンラインストア識別子等による機能およびデータの分配(例えば、共有)を通じた柔軟性およびスケーラビリティのために構成され得る。コマース管理エンジン136は、店舗特有のビジネスロジックに適応し得、いくつかの実施形態では、アドミニストレータ114および/またはオンラインストア138を統合し得る。
【0059】
コマース管理エンジン136は、eコマースプラットフォーム100のベースまたは「核となる」機能を含み、そのため、本明細書中で説明されるように、オンラインストア138をサポートする全ての機能が、含めるのに適切であるわけではないこともある。例えば、コマース管理エンジン136内に含まれる機能は、「核となる」機能性のしきい値を超える必要があり得、「核となる」機能性のしきい値を通して、機能がコマース体験にとっての核であること(例えば、横断チャンネル、アドミニストレータインタフェース、商人の場所、産業、製品タイプ等のオンラインストア活動の大部分の共通性)、機能がオンラインストア138を横断して再利用可能であること(例えば核となる機能を横断して再利用/修正され得る機能)、同時に単一のオンラインストア138のコンテキストに限定されること(例えば、オンラインストア「分離原理」を実装し、この原理において、コードは、同時に複数のオンラインストア138と相互作用することが可能であるべきではなく、分離原理は、オンラインストア138が互いのデータにアクセスできないことを保証する)、取引仕事量を提供すること等が決定され得る。多くの要求される特徴が、コマース管理エンジン136によって直接提供されるか、または、アプリケーション142A-Bおよびチャンネル110A-Bへのアプリケーションプログラミングインタフェース(API)接続を通じたその拡張等によってインタフェース140A-Bを通して可能とされる(インタフェース140Aは、eコマースプラットフォーム100内のアプリケーション142Aおよび/またはチャンネル110Aに提供され、または、インタフェース140Bは、eコマースプラットフォーム100の外部のアプリケーション142Bおよび/またはチャンネル110Bに提供され得る)かのいずれかである場合、どの機能が実装されるかということの制御をメンテナンスすることが、コマース管理エンジン136が応答可能であり続けることを可能とし得る。概して、プラットフォーム100は、(拡張機能、コネクタ、API等であり得る)インタフェース140A-Bを含み得、インタフェース140A-Bは、他のプラットフォーム、システム、ソフトウェア、データソース、コード等への接続およびそれらとの通信を促進する。そのようなインタフェース140A-Bは、さらに概略的に、コマース管理エンジン136のインタフェース140A、またはプラットフォーム100のインタフェース140Bであり得る。ケアがコマース管理エンジン136内の規制機能に与えられない場合、低速データベースまたは致命的ではないバックエンドの破壊を通じたインフラストラクチャの劣化を通して、オフラインになっているデータセンター等による致命的なインフラストラクチャの破壊を通して、新たなコードが展開され、それが予期されるより実行するために長い時間を要することを通して、応答性が損なわれ得る。これらの状況を防ぐためにまたは軽減させるために、コマース管理エンジン136は、例えばタイムアウト、クエリ、劣化を防ぐバックプレッシャー等を活用する構成を通じて応答性を維持するように構成され得る。
【0060】
オンラインストアデータを分離することは、オンラインストア138間および商人間のデータプライバシーを維持するために重要であるが、例えば注文リスク査定システムまたはプラットフォーム支払いファシリティ(注文リスク査定システムおよびプラットフォーム支払いファシリティの両方は、うまく実施するために複数のオンラインストア138からの情報を要求する)において相互店舗データを収集し使用する理由が存在し得る。いくつかの実施形態では、分離原理に違反することなく、これらのコンポーネントをコマース管理エンジン136の外部に移動させること、およびeコマースプラットフォーム100内のそれら自身のインフラストラクチャ内に移動させることが好まれ得る。
【0061】
いくつかの実施形態では、eコマースプラットフォーム100は、プラットフォーム支払いファシリティ120を提供し得、プラットフォーム支払いファシリティ120は、コマース管理エンジン136からのデータを活用するが分離原理に違反しないように外部に配置され得るコンポーネントの別の例である。プラットフォーム支払いファシリティ120は、オンラインストア138と相互作用する顧客が、コマース管理エンジン136によって安全に記憶された彼らの支払い情報を有することを可能とし、それによって、彼らは一度しか支払い情報を入力する必要がない。顧客が異なるオンラインストア138を訪問するとき、彼らが以前にその店舗に行ったことがない場合であっても、プラットフォーム支払いファシリティ120は、彼らの情報を回収し、より迅速で正確な勘定を可能とする。これは、クロスプラットフォームネットワーク効果を提供し得、例えば顧客の購入に関する使用の容易さのおかげでより頻繁に勘定をするより多くの顧客が存在するので、eコマースプラットフォーム100は、より多くの商人が参加するにつれてその商人により有用となる。このネットワークの効果を最大化するために、所与の顧客に関する支払い情報は、オンラインストアの勘定から回収可能であり得、情報がオンラインストア138にわたって全体的に利用可能となることを可能とする。各オンラインストア138が任意の他のオンラインストア138に接続してそこに記憶された支払い情報を回収することが可能であることは、困難であり、誤りを起こしやすい。結果的に、プラットフォーム支払いファシリティは、コマース管理エンジン136の外部で実装され得る。
【0062】
コマース管理エンジン136内に含まれていない機能に関して、アプリケーション142A-Bは、eコマースプラットフォーム100に特徴を追加する手段を提供する。アプリケーション142A-Bは、例えば、商人のオンラインストア138にあるデータにアクセスし、これを修正し、アドミニストレータ114を通じてタスクを実施し、ユーザインタフェースを通じて商人のための新たなフローを創出し得る(例えば、それは、拡張機能/APIを通じて示される)。商人は、アプリケーション検索、推薦およびサポートプラットフォーム128またはシステムを通じてアプリケーション142A-Bを発見しインストールすることが可能とされ得る。いくつかの実施形態では、核となる製品、核となる拡張ポイント、アプリケーション、およびアドミニストレータ114が、共に作業するように開発され得る。例えば、アプリケーション拡張ポイントは、アドミニストレータ114の内部に構築され得、それによって、核となる特徴が、アプリケーションによって拡張され得、アプリケーションは、拡張機能を通じて機能を商人に送達し得る。
【0063】
いくつかの実施形態では、アプリケーション142A-Bは、インタフェース140A-Bを通じて機能を商人に送達し得、例えば、アプリケーション142A-Bは、取引データを商人に示すことが可能であり(例えば、アプリ:「エンジン、内臓アプリSDKを用いてモバイル管理およびウェブ管理内の私のアプリデータを示して」)、および/またはコマース管理エンジン136は、要求された作業を実施することをアプリケーションに依頼することが可能である(エンジン:「アプリ、この勘定に関する地方税計算を私に提示して」)。
【0064】
アプリケーション142A-Bは、例えば、オンラインストア138およびチャンネル110A-Bをサポートし、商人サポートを提供し、他のサービスと統合し得る。コマース管理エンジン136がオンラインストア138にサービスの基盤を提供し得る場合、アプリケーション142A-Bは、商人が特定のニーズおよび時には独自のニーズを満足させるための手段を提供し得る。異なる商人は、異なるニーズを有するため、異なるアプリケーション142A-Bから恩恵を受け得る。アプリケーション142A-Bは、アプリケーション分類(カテゴリ)の開発を通じてeコマースプラットフォーム100を通してより見出され得、アプリケーション分類は、例えば、検索、ランキング、および推薦モデルをサポートするアプリケーションデータサービスを通じて、およびアプリケーションストア、ホーム情報カード、アプリケーション設定ページ等のアプリケーション発見インタフェースを通じて、アプリケーションが商人のために実施する機能のタイプによってアプリケーションがタグ付けされることを可能とする。
【0065】
アプリケーション142A-Bは、インタフェース140A-Bを通じてコマース管理エンジン136に接続され得、例えば、APIを活用して、(REST、GraphQL等を通じて)コマース管理エンジン136を通じてまたはその中で利用可能な機能およびデータをアプリケーションの機能に公開する。例えば、eコマースプラットフォーム100は、アプリケーション拡張機能、プロセスフローサービス、開発者向けリソース等を含む商人およびパートナー向けの製品およびサービスにAPIインタフェース140A-Bを提供し得る。顧客がより頻繁にモバイルデバイスをショッピングのために用いることによって、モバイル使用に関連しているアプリケーション142A-Bは、関連する増大するコマーストラフィックをサポートするためのAPIのより拡張的な使用からの恩恵を受け得る。(例えばアプリケーション開発のために提供されるような)アプリケーションおよびAPIの使用を通じて提供される柔軟性は、eコマースプラットフォーム100が、コマース管理エンジン136に継続的な変更を要求することなく商人(および内部APIを通じた内部開発者)の新しい独自のニーズにより良く適応することを可能にし、従って、商人が必要とするものを商人が必要とするときに商人に提供する。例えば、配送サービス122は、配送またはキャリアサービスAPIを通じてコマース管理エンジン136と統合され得、従って、eコマースプラットフォーム100がコマース管理エンジン136で実行しているコードに直接的に影響を及ぼすことなく、配送サービス機能を提供することを可能にする。
【0066】
バックオフィス動作に関連する問題(商人向けのアプリケーション142A-B)およびオンラインストア138における問題(顧客向けのアプリケーション142A-B)等、多くの商人の問題は、パートナーがアプリケーション開発を通じて商人ワークフローを改善および拡張することによって解決され得る。ビジネスをする一部として、多くの商人は、バックオフィスタスク(例えば、販促、在庫、割引、履行等)およびオンラインストアタスク(例えば、彼らのオンラインストアショップに関連したアプリケーション、フラッシュセール、新製品の注文等)のために毎日モバイルおよびウェブ関連のアプリケーションを用い、アプリケーション142A-Bは、拡張機能/API140A-Bを通じて、急速に成長する市場において製品を容易に見て購入することを助ける。いくつかの実施形態では、パートナー、アプリケーション開発者、内部アプリケーションファシリティ等は、例えばアプリケーションインタフェースをサンドボックスするアドミニストレータ114内のフレームを創出することを通じて、ソフトウェア開発キット(SDK)を提供され得る。いくつかの実施形態では、アドミニストレータ114は、フレーム内で発生することを制御せず、発生したことに気付かないこともある。SDKは、ユーザインタフェースキットと共に用いられ、例えばコマース管理エンジン136の拡張機能として機能するeコマースプラットフォーム100のルックアンドフィールを模したインタフェースを生成し得る。
【0067】
APIを活用するアプリケーション142A-Bは、要求されたデータをプルし得るが、それらは、更新が発生するときにデータがプッシュされる必要もある。例えば顧客創出、製品変更、または注文取消等の更新イベントは、サブスクリプションモデルにおいて実装され得る。更新イベントは、ローカルデータベースを同期させること、外部統合パートナーに通知すること等のためにコマース管理エンジン136の変更された状態に関して必要とされる更新を商人に提供し得る。更新イベントは、例えば更新イベントサブスクリプションを通じて更新を確認するためにコマース管理エンジン136を常にポーリングする必要なく、この機能を可能とし得る。いくつかの実施形態では、更新イベントサブスクリプションに関連する変更が発生すると、コマース管理エンジン136は、予め定義されたコールバックURL等に要求を送り得る。この要求の本体は、オブジェクトの新たな状態と、アクションまたはイベントの記述とを含み得る。更新イベントサブスクリプションは、アドミニストレータファシリティ114において手動で、または(例えばAPI140A-Bを介して)自動で創出され得る。いくつかの実施形態では、更新イベントは、待ち行列に入れられ、それらをトリガした状態変更から非同期で処理され得、それは、リアルタイムで分配されない更新イベント通知を生み出し得る。
【0068】
いくつかの実施形態では、eコマースプラットフォーム100は、アプリケーション検索、推薦およびサポートプラットフォーム128を提供し得る。アプリケーション検索、推薦およびサポートプラットフォーム128は、アプリケーションの開発において支援するための開発者製品およびツールと、(例えば、開発インタフェースを開発者に提供するため、アドミニストレータのアプリケーションの管理のため、商人のアプリケーションのカスタマイズのため等の)アプリケーションダッシュボードと、(例えば、インストールされる前に基準が満たされなければならない公衆アクセスのため、または商人による私的な使用のため等の公共アクセスのための)アプリケーション142A-Bへのアクセスを提供することに関する許可をインストールおよび提供するためのファシリティと、商人のオンラインストア138のニーズを満足させるアプリケーション142A-Bを商人が検索することを容易にするためのアプリケーション検索と、商人がどのようにして彼らのオンラインストア138を通じたユーザ体験を改善し得るかについての提案を商人に提供するためのアプリケーション推薦と、コマース管理エンジン136内の核となるアプリケーション能力の記述と等を含み得る。これらのサポートファシリティは、任意のエンティティによって実施されるアプリケーション開発によって活用され得、任意のエンティティは、彼ら自身のアプリケーション142A-Bを開発する商人、アプリケーション142A-Bを開発する第三開発者(例えば、アプリケーション142A-Bは、商人によって契約され、公衆に提供するために独自で開発され、eコマースプラットフォーム100に関連付けられた使用のために契約される)、またはeコマースプラットフォーム100に関連付けられた内部パーソナルリソースによって開発されるアプリケーション142Aもしくは142Bを含む。いくつかの実施形態では、アプリケーション142A-Bは、例えば、アプリケーションに(例えばAPIを通して)リンクするために、アプリケーションを検索するために、アプリケーション推薦を作成するために、アプリケーション識別子(ID)を割り当てられ得る。
【0069】
コマース管理エンジン136は、eコマースプラットフォーム100のベース機能を含み、これらの機能をAPI140A-Bを通じてアプリケーション142A-Bに公開し得る。API140A-Bは、アプリケーション開発を通じて構築されたアプリケーションの異なるタイプを可能とし得る。アプリケーション142A-Bは、商人の多様なニーズを満足させることを可能とし得るが、大まかに3つのカテゴリにグループに分けられ得る:顧客向けアプリケーション、商人向けアプリケーション、統合アプリケーション等。顧客向けアプリケーション142A-Bは、オンラインストア138またはチャンネル110A-Bを含み得、オンラインストア138またはチャンネル110A-Bは、商人が製品をリストアップしそれらを購入してもらうことが可能な場所(例えば、オンラインストア、フラッシュセールのためのアプリケーション(例えば、商人製品または第三者リソースによる突発的なセールス機会からのもの)、モバイルストアアプリケーション、ソーシャルメディアチャンネル、卸売り購入を提供するためのアプリケーション等)である。商人向けアプリケーション142A-Bは、商人が、(例えば、ウェブもしくはウェブサイト、またはモバイルデバイスに関連するアプリケーションを通じて)彼らのオンラインストア138を管理すること、彼らのビジネスを(例えばPOSデバイスに関連するアプリケーションを通じて)営業すること、(例えば配送(例えば置き配)に関連するアプリケーション、自動化されたエージェントの使用、プロセスフロー開発および改善の使用を通じて)彼らのビジネスを成長させること等を可能とするアプリケーションを含む。統合アプリケーションは、配送プロバイダ112および支払いゲートウェイ等のビジネスの営業に関する有用な統合を提供するアプリケーションを含み得る。
【0070】
いくつかの実施形態では、アプリケーション開発者は、アプリケーションプロキシを用いて、外部の場所からデータをフェッチし、それをオンラインストア138のページに表示し得る。これらのプロキシページにおけるコンテンツは、例えば動的であり、更新されることが可能であり得る。アプリケーションプロキシは、画像ギャラリ、統計、カスタムフォーム、および他の種類の動的コンテンツを表示するために有用であり得る。eコマースプラットフォーム100の核となるアプリケーション構造は、アプリケーション142A-Bで構築される増加した数の商人体験を可能とし、それによって、コマース管理エンジン136は、より一般的に活用されるコマースのビジネスロジックに焦点を当て続けることができる。
【0071】
eコマースプラットフォーム100は、商人が柔軟で透明性のある態様で顧客に接触することを可能とする洗練されたシステムアーキテクチャを通じてオンラインショッピング体験を提供する。典型的な顧客体験は、例示的な購入ワークフローの実施形態を通じてより理解され得、ワークフローにおいて、顧客は、チャンネル110A-Bにある商人の製品を閲覧し、彼らが買いたい物を彼らのカートに追加し、勘定に進み、彼らのカートのコンテンツの支払いをし、商人への注文の創出をもたらす。そして、商人は、注文をレビューおよび履行(または取消)し得る。そして、製品は、顧客に送達される。顧客が満足しない場合、彼らは製品を商人に返却し得る。
【0072】
例示的な実施形態では、顧客は、チャンネル110A-Bにある商人の製品を閲覧し得る。チャンネル110A-Bは、顧客が製品を見て買い得る場所である。いくつかの実施形態では、チャンネル110A-Bは、アプリケーション142A-B(可能な例外は、コマース管理エンジン136内に統合されるオンラインストア138である)としてモデル化され得る。販促コンポーネントは、商人が、彼らが販売したい物および彼らがそれを販売する場所を説明することを可能とし得る。製品とチャンネルとの間の関連付けは、製品出版物としてモデル化され、例えば製品リストアップAPIを介してチャンネルアプリケーションによってアクセスされ得る。製品は、サイズおよび色、ならびに、極小かつ緑であるバリエーション、または大きいサイズかつ青であるバリエーション等、利用可能なオプションを全てのオプションの特定の組み合わせに拡大する多くのバリエーション等の多くのオプションを有し得る。製品は、少なくとも1つのバリエーション(例えば、「デフォルトバリエーション」は、どのオプションもない製品として創出される)を有し得る。閲覧および管理を促進するために、製品は、例えば、コレクションにグルーピングされ、製品識別子(例えば、在庫品維持ユニット(SKU))等を提供され得る。製品のコレクションは、例えば手動で製品を1つのコレクションに分類すること(例えば、カスタムコレクション)か、または自動的な分類(例えばスマートコレクション)のためのルールセット等を構築することのいずれかによって構築され得る。製品は、例えば仮想現実または拡張現実インタフェースを通じて、2D画像、3D画像、回転図画像として閲覧され得る。
【0073】
いくつかの実施形態では、顧客は、彼らが買いたい物を彼らのカートに追加し得る(代替となる実施形態では、製品は、本明細書中で説明されるように、例えば買うボタンを通じて直接購入され得る)。顧客は、彼らのショッピングカートに製品バリエーションを追加し得る。ショッピングカートモデルは、チャンネル特有であり得る。オンラインストア138カートは、複数のカートラインアイテムから構成され得、各カートラインアイテムは、製品バリエーションに関する量を追跡する。商人は、カートスクリプトを用いて、顧客のカートのコンテンツに基づいて顧客に特別なプロモーションを提供し得る。製品をカートに追加することは、顧客または商人からの何らかの約束を意味せず、カートの寿命は数分の単位であり得るので、カートは、いくつかの場合、短期データ記憶装置に持続させられ得る。しかしながら、多くの実装では、顧客セッションは、数分のみ継続し得る一方で、商人および/または顧客は、以前のセッションにおいて構築されたカートに戻す可能性を有することを望み得る。よって、カート(例えば、製品アイテムデータおよびユーザ識別子を取り込まれたショッピングカートデータ構造)は、プラットフォーム100上の永続メモリに記憶され得る。
【0074】
典型的なセッションでは、顧客は、彼らのショッピングカートに1つ以上のアイテムを追加した後、ある時点で勘定に進む。勘定コンポーネントは、顧客向けの注文創出プロセスとしてウェブ勘定を実装し得る。勘定APIは、いくつかのチャンネルアプリケーションによって用いられるコンピュータ向けの注文創出プロセスとして提供され、(例えば、販売時点情報管理として)顧客に代わって注文を創出し得る。勘定は、カートから創出され、eメールアドレス、請求書、および配送詳細等の顧客の情報を記録し得る。勘定の時、商人は、価格設定を確約する。顧客が取引を完了しない場合、eコマースプラットフォーム100は、メモリ内にショッピングカートデータ構造を保持し、それによって、顧客は、次のセッションにおいて部分的に完了したカート(例えば破棄されたカート特徴)に戻し得る。
【0075】
勘定は、顧客の配送先住所に基づいて税および配送費用を計算し得る。勘定は、税コンポーネントに税の計算を委任し、送達コンポーネントに配送費用の計算を委任し得る。価格設定コンポーネントは、商人が割引コードを創出することを可能とし得る。割引は、顧客を引き付け、マーケティングキャンペーンの成果を評価するために、商人によって用いられ得る。割引および他のカスタム価格システムは、例えば価格ルール(例えば、満たされたときに一連の資格を示す一連の必須条件)を通じて、同一のプラットフォームピースの上部に実装され得る。例えば、必須条件は、「注文の小計が$100より高い」または「配送費用が$10を下回る」等のアイテムであり得、資格は、「注文全体の20%割引」または「$10引き製品X、YおよびZ」等のアイテムであり得る。
【0076】
そして、顧客は、彼らのカートのコンテンツの支払いをし、これは、商人への注文の創出をもたらす。チャンネル110A-Bは、コマース管理エンジン136を用いて、お金、通貨または店舗の価値の蓄え(ドルまたは暗号通貨等)を顧客と商人との間で移動させ得る。種々の支払いプロバイダ(例えば、オンライン支払いシステム、モバイル支払いシステム、デジタルウォレット、クレジットカードケートウェイ等)との通信は、支払い処理コンポーネント内で実装され得る。支払いゲートウェイ106との実際の相互作用は、カードサーバ環境を通じて提供され得る。いくつかの実施形態では、支払いゲートウェイ106は、例えば主要な国際クレジットカードプロセッサを組み込んだ国際支払いを承認し得る。カードサーバ環境は、カードサーバアプリケーション、カードシンク、ホステッドフィールド等を含み得る。この環境は、機密クレジットカード情報のセキュアゲートキーパーとして機能し得る。いくつかの実施形態では、ほとんどのプロセスは、支払い処理ジョブによって組織化され得る。コマース管理エンジン136は、サイト外支払いゲートウェイ106を通じたもの(例えば、顧客が別のウェブサイトに向け直される)、手動によるもの(例えば、現金)、オンライン支払方法(例えば、オンライン支払システム、モバイル支払いシステム、デジタルウォレット、クレジットカードゲートウェイ等)、ギフトカード等、多くの他の支払い方法をサポートし得る。勘定プロセスの最後に、注文が創出される。注文は、商人と顧客との間の販売契約であり、商人は、注文にリストアップされた商品およびサービス(例えば、注文ラインアイテム、配送ラインアイテム等)を提供することに同意し、顧客は、(税を含む)支払いを提供することに同意する。このプロセスは、販売コンポーネントでモデル化され得る。コマース管理エンジン136勘定によらないチャンネル110A-Bは、注文APIを用いて注文を創出し得る。注文が創出されると、通知コンポーネントを介して、注文確認通知が、顧客に送られ得、注文完了通知が商人に送られ得る。売り過ぎを回避するために、注文処理ジョブが始動するとき、在庫が予約され得る(例えば、商人は、各バリエーションの在庫方針からこの行動を制御し得る)。在庫予約は、短い時間スパン(数分)を有し得、フラッシュセール(例えば、ターゲットインパルス購入等の短時間提供される割引またはプロモーション)をサポートするために、非常に高速かつスケーラブルである必要があり得る。支払いが失敗した場合、予約が解除される。支払いが成功し、注文が創出されたとき、予約が、特定の場所に割り当てられた長期在庫確約に変換される。在庫コンポーネントは、バリエーションが保管される場所を記録し得、在庫追跡が可能であるバリエーションに関して、量を追跡する。在庫は、在庫アイテム(量および場所が管理されるアイテムを表す商人向けコンセプト)から製品バリエーション(製品リストのテンプレートを表す顧客向けコンセプト)を切り離し得る。在庫レベルコンポーネントは、販売取り扱い量、注文が確約された量、または在庫転送コンポーネントから(例えば、ベンダーから)の仕入れ量を追跡し得る。
【0077】
そして、商人は、注文をレビューし、履行(または取消)し得る。レビューコンポーネントは、ビジネスプロセス商人の使用を実装し、実際にそれらを履行する前に注文が履行に適していることを保証し得る。注文は、詐欺であり得、確認(例えばIDチェック)を要求し、彼らの資金を受領することを確実するために待つことを商人に要求する支払い方法を有し得る。リスクおよび推薦は、注文リスクモデルで永続化され得る。注文リスクは、例えば、詐欺検出ツールから生成され、注文リスクAPIを通じて第三者によって提出され得る。履行に進む前、商人は、支払い情報(例えば、クレジットカード情報)を捕捉するか、または(例えば、銀行送金、小切手等を介して)それを受領することを待って注文が支払われたことをマークする必要があり得る。それから、商人は、送達のために製品を準備し得る。いくつかの実施形態では、このビジネスプロセスは、履行コンポーネントによって実装され得る。履行コンポーネントは、在庫場所および履行サービスに基づいて作業の論理的履行単位に注文のラインアイテムをグルーピングし得る。商人は、作業の単位をレビューし、これを調節し、商人が箱から製品を取り出して梱包するときに用いられる(例えば、商人に管理された場所における)手動履行サービスを通じて、関連する履行サービスをトリガし、配送ラベルを購入してその追跡番号を入力するか、または、単に履行されたことをアイテムにマークし得る。カスタム履行サービスは、eメールを(例えば、API接続を提供しない場所に)送り得る。API履行サービスは、第三者をトリガし得、第三者が、履行記録を作成する。レガシー履行サービスは、コマース管理エンジン136から第三者へのカスタムAPIコールをトリガし得る(例えば、Amazonによる履行)。ギフトカード履行サービスは、ギフトカードをプロビジョニングし(例えば、番号を生成する)、アクティブにし得る。商人は、注文プリンタアプリケーションを用い、梱包票を印刷し得る。履行プロセスは、アイテムが箱に梱包され、配送の準備がされるとき、配送されるとき、追跡されるとき、送達されるとき、顧客によって受領されたことが確認されるとき等に実行され得る。
【0078】
顧客が満足しない場合、彼らは、製品(単数または複数)を商人に返却し得る。商人が、アイテムを「販売できない」ことを経験し得るビジネスプロセスは、返却コンポーネントによって実装され得る。返却は、各種の異なるアクションから成り得、各種の異なるアクションは、例えば、再入庫(販売された製品が実際にビジネスに復帰し、再び販売可能である場合)、払い戻し(顧客から集めたお金が部分的または全額返却される場合)、どのくらいのお金が払い戻されたかを通知する会計調節(例えば、何らかの再入庫料金が存在する場合、または商品が返却されておらず、顧客の手元に残っている場合を含む)等である。返却は、販売契約(例えば注文)の変更を表し得、eコマースプラットフォーム100は、(例えば、税に関する)法規違反に関するコンプライアンスの問題を商人に知らせ得る。いくつかの実施形態では、eコマースプラットフォーム100は、商人が経時的に販売契約の変更を追跡することを可能とし、これは、販売モデルコンポーネント(例えば、アイテムに発生した販売関連のイベントを記録する追加専用の日にちベースの台帳)を通じて実装される。
【0079】
Eコマースプラットフォームを用いて画像捕捉中に推薦を生成する実装
eコマースプラットフォーム100は、商人の製品の画像を生成するプロセス中に商人を助け、または支援し得る。
図3は、
図1のeコマースプラットフォーム100であるが製品画像推薦エンジン300を含むeコマースプラットフォームを例証している。製品画像推薦エンジン300は、ユーザによって生成された製品画像を取得して分析し、ユーザに推薦を能動的に提供して製品画像一致性を向上させるコンピュータ実装システムの例である。ある例では、ユーザは商人であり、商人は、オンラインストア138での提示のために彼らの製品を撮っている。彼らの製品を撮るプロセス中、製品画像推薦エンジンは、オンラインストア138内の特定のコレクションのうちの1つ以上の製品の以前に取得された画像に共通する1つ以上のベースライン画像特徴を決定する。商人デバイス102は、撮られた製品の画像データを含むライブカメラストリームを送信する。製品画像推薦エンジン300は、決定された1つ以上のベースライン画像特徴を撮られた製品の画像データの1つ以上の画像特徴と比較し、製品画像一致性を向上させるために1つ以上の画像特徴を調節するための1つ以上の推薦を商人に提供する。
【0080】
製品画像推薦エンジン300は、
図3において、eコマースプラットフォーム100の他とは異なるコンポーネントとして例証されているが、これは単なる例である。同様に、または、代わりに、製品画像推薦エンジンは、eコマースプラットフォーム100の別のコンポーネントによって提供され得る。いくつかの実施形態では、アプリケーション142A-Bの一方または両方が、商人に利用可能な製品画像推薦エンジンを提供する。さらに、いくつかの実施形態では、コマース管理エンジン136が、製品画像推薦エンジンを提供する。eコマースプラットフォーム100は、1つ以上のパーティによって提供される複数の製品画像推薦エンジンを含み得る。複数の製品画像推薦エンジンは、同一の態様で、同様の態様で、および/または他とは異なる態様で実装され得る。加えて、製品画像推薦エンジンの少なくとも一部は、商人デバイス102において実装され得る。例えば、商人デバイス102は、製品画像推薦エンジンをソフトウェアアプリケーションとしてローカルに記憶して実行し得る。
【0081】
以下でさらに詳細に議論されるように、製品画像推薦エンジン300は、本明細書中で説明される機能のうちの少なくともいくつかを実装し得る。以下で説明される実施形態は、eコマースプラットフォーム100に関連付けられて実装され得るが、以下で説明される実施形態は、
図1~
図3の特定のeコマースプラットフォーム100に限定されない。したがって、以下の実施形態は、概して、任意のeコマースプラットフォームに関連して提示され得る。より広くは、以下のことは、eコマースプラットフォームの例に関連して説明されるが、本願の主題は、より広く適用され得る。例えば、本願の主題は、関連する画像の一致した写真の組を生み出すことが所望される他のシナリオ(例えば、(特定のタイプまたはクラスの異なるアイテムを示す)ガイドまたは教科書、卒業アルバム、カタログ、雑誌等での使用のための画像プレートの組を準備するとき等)に適用可能であり得る。
製品画像
【0082】
本明細書中で用いられる場合、「製品画像」という語は、製品を例証しまたは描写する任意の画像を指す。特定の実施形態では、製品画像は、オンラインストアでの販売のために提供される製品を提示しまたは表示するために用いられる。同様に、または、代わりに、製品画像は、例えば広告または記事等の他の形式の媒体で用いられ得る。
【0083】
製品画像が生成される態様は、本明細書中で限定されない。製品画像は、少なくとも部分的に、例えばカメラまたはスキャナを用いて物理的製品または物体の画像を捕捉することによって生成され得る。少なくとも部分的にコンピュータ生成画像(CGI)を用いて生成された製品画像も想定される。製品画像は、2次元(2D)または3次元(3D)であり得る。
【0084】
いくつかの実施形態では、製品画像がアニメーション化される。例えば、製品画像は、製品のビデオを含み得る。製品の3Dスキャンが、種々の角度からの製品を例証するアニメーション化された製品画像に変換され得る。
【0085】
上で指摘したように、顧客は、しばしば、製品画像においてどのように製品が提示されているかに基づいて製品の質を判断する。顧客は、典型的に、物理的製品を検査するオプションを有しておらず、したがって、顧客は、その関連する製品画像に基づいて製品を判断し得るので、このことは、オンラインショッピングに特に関連し得る。いくつかの場合、顧客は、製品画像の質による影響を受け得る。
【0086】
本明細書中で用いられる場合、製品画像の「質」は、製品画像によって伝えられる製品の知覚価値に関係している。製品画像の質に影響する要因は、製品画像を生成するために用いられたデバイスの特性に限定されない。例えば、製品を撮るために用いられるカメラの特性、および製品が撮られる条件の両方が、結果的な製品画像の質に影響し得る。質の高い製品画像は、顧客にとって魅力的な態様で製品を写す画像であり、典型的に、より高い市場成功に関連付けられる。対照的に、質の低い製品画像は、顧客にとって不明確な態様、あいまいな態様、さもなければ魅力的でない態様で製品を写す画像である。特に、例えば質の低い製品画像がオンラインストア内の同様の製品の質の高い製品画像の横で顧客に表示されるとき、これらの質の低い製品画像は、より低い市場成功につながり得る。よって、多くの商人は、彼らの製品の質の高い製品画像を所望する。
【0087】
市場成功は、ものが商業市場においてどれだけ受け入れられているかに関係している。いくつかの場合、製品画像の市場成功は、少なくとも部分的に、製品画像に表示される製品の市場成功の観点で測られる。しかしながら、一般的に、製品画像の市場成功は、各種の態様のうちのいずれかで測られまたは定量化され得る。以下は、製品画像の市場成功を示す測定可能なメトリクスまたはパラメータの非限定的なリストである:
・製品の売上の量および/または金額等の売上データ;
・同様の製品に関する売上の総数に対する製品の売上の量;
・製品または製品画像を視認した顧客の数を含むページビュー(例えば、製品画像に関連付けられたウェブサイトのリンクのクリックスルーレート);
・製品画像を拡大した顧客;
・顧客が製品画像を視認することにかけた平均時間;
・製品画像がプロの製品写真家によって撮影されたか否か;
・製品画像に関連付けられた製品画像または製品のソーシャルメディアリシェアリング;
・同一の商人によって販売されている他の製品画像との一致性または類似性(例えば、同一の商人によって販売されている他の製品画像と一致したパラメータ値または同様のパラメータ値を有する製品画像(そのさらなる詳細は以下で提供される));および、
・同一の商人によって販売されているコレクション内の他の製品画像との一致性または類似性(例えば、同一の商人によって販売されているコレクション中の他の製品画像と一致したパラメータ値または同様のパラメータ値を有する製品画像(そのさらなる詳細は以下で提供される))。
【0088】
所望される標的値(単数または複数)を満たし、またはそれを上回るように決定されるこれらのパラメータのうちのいずれか1つまたはそれらの任意の組み合わせは、高い市場成功を示し得る。一方、所望される標的値(単数または複数)を下回るように決定されるこれらのパラメータのうちのいずれか1つまたは任意の組み合わせは、低い市場成功を示し得る。つまり、(上のパラメータのうちのいずれか1つによって示されまたは測られる)製品画像の市場成功を向上させることは、直接的に、または間接的に、製品の増加した売上につながり得る。したがって、本明細書中で提供されるいくつかの実施形態は、コレクション内の他の製品画像との一致性を向上させるための画像捕捉中の推薦の生成に関係している。
画像捕捉中に推薦を生成することの実装
【0089】
図4は、画像捕捉中に推薦を生成する例示的システム400を例証するブロック図である。システム400は、製品画像推薦エンジン402、ネットワーク426、および商人デバイス430を含む。
【0090】
製品画像推薦エンジン402は、プロセッサ404と、メモリ406と、ネットワークインタフェース408とを含む。プロセッサ404は、メモリ406に記憶された命令を実行する1つ以上のプロセッサによって実装され得る。あるいは、プロセッサ404のうちのいくつかまたは全てが、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)、またはプログラムされたフィールドプログラマブルゲートアレイ(FPGA)等の専用回路を用いて実装され得る。
【0091】
この実施形態では、メモリ406が、製品画像特徴モデル410を記憶しており、製品画像特徴モデル410は、特定のコレクション内の画像に関する製品画像一致性を向上させるために用いられ得る。換言すれば、製品画像特徴モデル410は、特定のコレクション内の1つ以上の製品画像に関する平均画像特徴を記憶し得る。そのような画像特徴の非限定的な例は:
・画像解像度;
・画像のピクセル密度;
・画像輝度;
・被写界深度;
・フォーカス;
・(例えば、製品によって占められる面積のパーセンテージ、および/または製品によって占められるピクセル数の点での)画像における製品のサイズ;
・画像における製品の角度または向き;および、
・製品と背景との間のコントラスト
を含む。
【0092】
製品画像特徴モデル410は、特定の商人および/または製品の特定のコレクションに特有であるか、またはそれらに依存している。例えば、商人が、複数の異なるコーヒーマグを販売するオンラインストアを経営している場合、その商人およびコーヒーマグに特有の製品画像特徴モデルが生成され得る。
【0093】
製品画像特徴モデル410は、各種の態様のうちのいずれかで実装され得る。製品画像特徴モデルの例示的実装は、ルックアップテーブルを含む。しかしながら、製品画像モデルの他の実装も構想される。
【0094】
ルックアップテーブル実装において、表は、異なる製品画像特徴のリスト、各製品画像特徴に関する値および閾値を記憶し得る。これらの値は、コレクション内の1つ以上の製品の1つ以上の以前に捕捉された製品画像に基づいて決定され得る。例えば、値は、コレクション内の1つ以上の以前に捕捉された製品画像に関する画像特徴の平均値に基づいて決定され得る。
【0095】
ルックアップテーブル内に記憶された製品画像特徴は、ベースライン画像特徴と称され得る。異なるルックアップテーブルが、異なる商人に関する異なる製品のコレクションおよび/または異なる製品タイプのために用いられ得る。例えば、特定の商人に関するオンラインストア内の各コレクションは、関連するルックアップテーブルを有し得る。
【0096】
図5は、ルックアップテーブル500の形式で例示的製品画像特徴モデルを例証する図である。ルックアップテーブル500は、特定の商人に関するコーヒーマグのコレクション内の製品画像特有である。ルックアップテーブルは、製品画像の複数のベースライン画像特徴に関する値および閾値を定義する。値は、コレクション内の以前に取得された製品画像の平均値である。閾値は、一致しているとみなされるために画像特徴がベースライン画像特徴にどれだけ近くなければならないかを定義する。ルックアップテーブル500において定義される画像特徴は、以下でさらに詳細に議論されるように、画像解像度、画像輝度、被写界深度、焦点、マグのサイズ、マグの傾き、マグの方位角、およびコントラストを含む。
【0097】
画像解像度は、画像内のピクセル数に関係している。ルックアップテーブル500において、画像解像度は、メガピクセル単位で測定される。画像解像度の平均値は15メガピクセルであり、それは、コレクション内の以前に取得された製品画像の画像分解能の平均値が15メガピクセルであることを示す。閾値は、0.5メガピクセルに設定され、これは、14.5メガピクセルと15.5メガピクセルとの間の任意の画像解像度が、平均値に十分近いとみなされ、一致しているとみなされることを示している。
【0098】
平均画像輝度は、画像の全体的な明るさまたは暗さに関係している。ルックアップテーブル500において、平均画像輝度は、最大画像輝度のパーセンテージとして定義される。ある実施形態では、平均画像輝度は、例えば、変換アルゴリズムを用いて画像のピクセルを色相、彩度、明度(HSV)に変換し、明度Vの平均を決定することによって決定され得る。最大画像輝度(100%)は、各ピクセルがその輝度値に設定され、完全に白い画像を生ずるときである。0%の画像輝度は、完全に黒い画像である。他の実施形態では、画像輝度は、別様に定義され得る。画像輝度の平均値は55%であり、それは、コレクション内の以前に取得された製品画像の画像輝度の平均値が55%であることを示している。閾値は1%に設定され、これは、54%と56%との間の任意の画像輝度が平均明度に十分近いとみなされ、一致しているとみなされることを示している。
【0099】
ルックアップテーブル500において、被写界深度は、コーヒーマグが製品画像内でどの程度フォーカスされているかに関係している。被写界深度の平均値は21cmであり、それは、コレクション内の以前に取得された製品画像の被写界深度が21cmであることを示している。閾値は1cmに設定され、これは、19cmと22cmとの間の任意の被写界深度が平均値に十分近いとみなされ、一致しているとみなされることを示している。
【0100】
ルックアップテーブル500において、焦点は、コーヒーマグの前面に対して測定される。コーヒーマグの前面は、任意の挿絵が示される場所であり得、フォーカスは、これらの挿絵をより明確に示すようにコーヒーマグのこの面にあることが理想的である。焦点の平均値は0.5cmであり、それは、コレクション内の以前に取得された製品画像の焦点の平均値が0.5cmであることを示す。閾値は0.05cmに設定され、これは、0.45cmと0.55cmとの間の任意の焦点が平均値に十分近いとみなされ、一致しているとみなされることを示している。
【0101】
ルックアップテーブル500において、マグのサイズは、製品画像内のコーヒーマグのサイズに関係している。これは、コーヒーマグによって占められる製品画像内のピクセルのパーセンテージの点から測定される。製品画像の全体を満たす画像は、製品画像内のピクセルの100%を占めるように見なされ得る。マグのサイズの平均値は70%であり、それは、コレクション内の以前に取得された製品画像のマグのサイズの平均値が70%であることを示している。閾値は2%に設定され、これは、68%と72%との間の任意のマグのサイズが平均値に十分に近いとみなされ、一致しているとみなされることを示している。
【0102】
ルックアップテーブル500において、マグの傾きは、水平に対する製品画像内のコーヒーマグの角度を定義する。ある実施形態では、マグの傾きは、例えばユーザデバイスのセンサの向きを決定することによって決定され得る。0°の傾きは、製品画像内の平らな面に置かれているように見えるコーヒーマグを表している。0°でない傾き値は、コーヒーマグが斜面上にあることから、またはカメラが水平面に対して傾いていることから生じ得る。マグの平均の傾きは0.2°であり、それは、コレクション内の以前に取得された製品画像のマグの平均の傾きが0.2°であることを示している。閾値は0.01°に設定され、これは、0.19°と0.21°との間のマグの任意の傾きが平均値に十分近いとみなされ、一致しているとみなされることを示している。
【0103】
マグの方位角は、製品画像内に表示されているコーヒーマグの部分または側面を定義している。ルックアップテーブル500において、方位角は、コーヒーマグのハンドルに対して定義されている。0°の方位角を有するコーヒーマグの製品画像は、カメラに向けられたハンドルを有し得る。90°の方位角を有するコーヒーマグの製品画像は、製品画像において横から視認されるコーヒーマグのハンドルを有し、顧客がハンドルの形状を認識することを可能にし得る。マグの平均方位角は91°であり、それは、コレクション内の以前に取得された製品画像のマグの平均方位角が91°であることを示している。閾値は1°に設定され、これは、90°と92°との間のマグの任意の方位角が平均値に十分近いとみなされ、一致しているとみなされる。
【0104】
コントラストは、製品画像の背景からコーヒーマグがどれだけ目立っているかに関係している。ルックアップテーブル500において、コントラストは、背景の平均輝度に対するコーヒーマグの平均輝度の比率として定義されている。このコントラストは、1より大きくともよいし、1より小さくともよい。例えば、暗いコーヒーマグと明るい背景とは、1未満のコントラストを生み出し得るのに対し、明るいコーヒーマグと暗い背景とは、1より大きいコントラストを生み出し得る。ルックアップテーブル500において、コーヒーマグは明るいコーヒーマグおよび暗い背景であることが想定されている。そのため、マグカップの平均コントラストは2:1であり、それは、コレクション内の以前に取得された製品画像のマグの平均コントラストが3:1であることを示している。閾値は0.5に設定されており、それは、2.95:1と3.05:1との間の任意のコントラストが平均値に十分近いと見なされ、一致していると見なされることを示している。
【0105】
ルックアップテーブル500に含まれる各ベースライン画像特徴は、コレクション内の1つ以上の以前に取得された製品画像に基づく平均ベースライン画像特徴として示されているが、代わりのものが利用可能であることが理解されるであろう。例えば、単一の以前に取得された製品画像が、ベースライン画像特徴を決定するために用いられ得る。この例では、各ベースライン画像特徴は、単一の以前に取得された製品画像を分析することによって決定され得る。換言すれば、各ベースライン画像特徴は、平均ベースライン特徴ではなく、むしろ、単一の以前に取得された製品画像におけるベースライン画像特徴と等しいものとして設定され得る。別の例では、デフォルトベースライン画像特徴が用いられ得る。例えば、正方形のアスペクト比がデフォルトとして設定され得る。この例では、デフォルトベースライン画像特徴は、ユーザによって調節され、または上書きされ得、調節または上書きされた値が、ユーザのための新たなデフォルトベースライン画像特徴として設定され得る。
【0106】
ルックアップテーブル500に示される特定のベースライン画像特徴、値および閾値は単に例として提供されることを留意されるべきである。この例は、限定的ではない。コーヒーマグであるか別のタイプの製品であるかに関わらず、他のルックアップテーブルは、異なる数のベースライン画像特徴、異なるタイプのベースライン画像特徴、ベースライン画像特徴を特徴づけるための異なるメトリクス、異なる平均値および異なる閾値を含み得る。
図5に示されるもの以外の他の形式のルックアップテーブルも構想され得る。
【0107】
ルックアップテーブル500は、製品の画像捕捉中に推薦を生成して特定のコレクション内の画像の画像一致性を向上させるために、製品画像推薦エンジン402によって用いられ得る。例えば、画像捕捉中、任意の画像特徴がルックアップテーブル500において定義されたベースライン画像特徴の閾値内にない場合、その画像特徴は、特定のコレクション内の他の製品画像に一致していないと見なされ得る。
【0108】
再度
図4を参照すると、メモリ406は、製品画像特徴モデル生成部412も記憶しており、製品画像特徴モデル生成部412は、製品画像特徴モデル410の生成を促進する。製品画像特徴モデル410が生成されると、それは、新たなデータが利用可能となるときに更新され得る。例えば、1つ以上の新たな製品画像がユーザによって撮影され、コレクションに追加されると、製品画像特徴モデル410は、ベースライン画像特徴の平均値を決定すると、新たな製品画像を含むように更新され得る。この更新も、製品画像特徴モデル生成部412によって促進され得る。
【0109】
いくつかの実装では、製品画像特徴モデル生成部412は、プロセッサ404によって実行可能であるソフトウェアアプリケーションを提供し、ソフトウェアアプリケーションは、コレクション内の1つ以上の以前に取得された製品画像が製品画像特徴モデル410を生成するとき、用いられるように、または無視されるように、ユーザが選択し、または選択解除することを可能にする。
【0110】
いくつかの実装では、製品画像特徴モデル生成部412は、プロセッサ404によって実行可能であるソフトウェアアプリケーションを提供し、ソフトウェアアプリケーションは、ユーザが製品画像特徴モデル410の少なくとも一部を手動で更新することを可能にする。例えば、製品画像特徴モデル生成部412は、ルックアップテーブルを生成し、ユーザがルックアップテーブルにおける閾値を手動で調節することを可能にし得る。
【0111】
メモリ406は、ルックアップテーブルを生成するために製品画像特徴モデル生成部412によって用いられるデータ416を記憶している。データ416は、eコマースプラットフォーム内の以前に取得された製品画像から獲得され得る。これらの以前に取得された製品画像は、オンラインストアでの販売のために製品を表示するために用いられている製品画像、および/または用いられていた製品画像を含み得る。いくつかの実装では、データ416は、例えば
図1のデータファシリティ134等、eコマースプラットフォームのデータファシリティによって提供され得る。データ416は、eコマースプラットフォームに関連する他の情報を記憶しているより大きいデータセットの一部を形成し得る。あるいは、データ416は、製品画像推薦に特有なデータセットであり得る。製品画像推薦エンジン402は、データ416内の新たな情報を継続的または定期的に獲得し記憶し得る。同様に、新たな情報が利用可能になると、より古い情報がデータ416から除去され得る。
【0112】
特定の以前に取得された製品画像に関するデータ416は、以下の情報のうちのいずれかまたは全てを記憶し得る:
・製品タイプ;
・製品コレクション;
・製品画像が属する商人;または、
・製品画像の画像特徴。
【0113】
メモリ406は、画像分析部414をさらに含む。画像分析部414は、製品画像を受信するように構成され得、製品画像の画像特徴を決定し得る。いくつかの場合、画像分析部414は、データ416内に格納された1つ以上の以前に取得された製品画像の画像特徴を決定するために用いられる。同様に、または、代わりに、画像分析部414は、商人からカメラライブストリームの一部として受信される製品画像に関する製品画像特徴を決定するために用いられ得る。
【0114】
いくつかの実装では、画像分析部414は、プロセッサ404によって実行される画像分析アルゴリズムであるか、またはそれを含む。画像分析アルゴリズムは、製品画像内の製品と背景との間の境界を位置決めするための画像セグメンテーションプロセスを含み得る。これは、例えば製品によって占められる製品画像のパーセンテージ等の特定の画像特徴を決定するときに役立ち得る。
【0115】
画像分析アルゴリズムの例は、スケール不変特徴変換(SIFT)である、SIFTアルゴリズムは、標的画像から対象のポイント(SIFTフレームワークにおいてキーポイントと呼ばれる)を抽出する。抽出されたキーポイントは、それら自体の場所、スケール、および回転の情報を運び、それらの情報は、画像の特徴を検出し説明することを助ける。そして、検出された特徴は、製品画像の画像特徴を決定するために用いられ得る。SIFTアルゴリズムに関するさらなる詳細、およびいくつかの他の例示的画像分析アルゴリズムは、Richard Szeliskiによる「Computer Vision:Algorithms and Applications」(2010年春)に見られ得、その内容は、それら全体が参照によって本明細書中に援用される。
【0116】
製品画像推薦エンジン402内のネットワークインタフェース408が、ネットワーク426上の通信のために提供される。ネットワークインタフェース408の構造は、実装特有である。例えば、いくつかの実装では、ネットワークインタフェース408は、ネットワークインタフェースカード(NIC)、コンピュータポート(例えば、プラグまたはケーブルが接続する物理的コンセント)および/またはネットワークソケットを含み得る。
【0117】
商人デバイス430は、ユーザデバイスの例である。商人デバイス430は、商人によって所有されており、および/または用いられるモバイルフォン、タブレット、ラップトップ、またはコンピュータであり得る。商人デバイス430は、プロセッサ432、メモリ434、カメラ436、ユーザインタフェース438およびネットワークインタフェース440を含む。ユーザインタフェースの例は、ディスプレイスクリーン(タッチスクリーンであり得る)、キーボード、および/またはマウスである。ネットワークインタフェース440は、ネットワーク426上で通信するために提供される。ネットワークインタフェース440の構造は、商人デバイス430がどのようにネットワーク426とインタフェース接続するかに依存する。例えば、商人デバイス430がモバイルフォンまたはタブレットである場合、ネットワークインタフェース440は、アンテナを有する送信機/受信機を含み、ネットワーク426に無線伝送を送信し/ネットワーク426から無線伝送を受信し得る。商人デバイスがネットワークケーブルでネットワークに接続されたパーソナルコンピュータである場合、ネットワークインタフェース440は、例えば、NIC、コンピュータポート、ネットワークソケットを含み得る。プロセッサ432は、商人デバイス430によって実施される動作の全てを直接実施し、または命令する。これらの動作の例は、ユーザインタフェース438から受信されたユーザ入力を処理すること、ネットワーク426上の伝送のための情報を準備すること、ネットワーク426上で受信されたデータを処理すること、およびディスプレイスクリーンに情報を表示するように命令することを含む。プロセッサ432は、メモリ434に記憶された命令を実行する1つ以上のプロセッサによって実装され得る。あるいは、プロセッサ432のうちのいくつかまたは全てが、ASIC、GPU、またはプログラムされたFPGA等の専用回路を用いて実装され得る。カメラ436が、メモリ434に記憶され得る写真を撮影するために提供される。カメラ436は、物体の画像を生成するためのデバイスの一例である。同様に、または、代わりに、商人デバイスは、例えばスキャナ等の他のデバイスを含み得る。カメラ436は、商人デバイス430のコンポーネントとして示されているが、代わりに、カメラは、例えば商人デバイスとは別個で実装され、有線接続または無線接続を介して商人デバイスと通信し得る。
【0118】
図4では、1つの商人デバイスが例として示されている。一般的に、複数の商人デバイスが、製品画像推薦エンジン402と通信し得る。
【0119】
製品画像推薦エンジン402は、各種の態様のうちのいずれかで実装され得る。例えば、製品画像推薦エンジン402は、eコマースプラットフォームによって提供される核となる機能として、またはeコマースプラットフォームによってサポートされるアプリケーションによって、eコマースプラットフォームによって実装され得る。同様に、または、代わりに、製品画像推薦エンジン402は、eコマースプラットフォームの外部で実装され得る。いくつかの実施形態では、製品画像推薦エンジンは、商人デバイス430等のユーザデバイスにおいて部分的または全体的に実装される。例えば、ソフトウェアアプリケーションが、ユーザデバイスにインストールされ得、ユーザデバイスは、ローカルで(すなわち、ユーザデバイス上で)画像分析を実施し推薦を生成する。ソフトウェアアプリケーションは、サーバから製品画像特徴モデル410および/または画像分析部414をダウンロードし得、それらは、製品画像推薦エンジンまたはeコマースプラットフォームの一部であることも、一部でないこともある。
【0120】
システム400は、ユーザが製品画像を捕捉するプロセスにある間、推薦をユーザに提供し得る。製品の画像捕捉中に推薦を生成する例示的方法600が、
図6を参照して以下で説明される。方法600は、コンピューティングデバイスが説明される動作を実行することを引き起こすために適切なコンピュータ実行可能な命令を有するコンピューティングデバイスによって実装され得る。命令は、コンピューティングデバイス上で実行するアプリケーションによって実装され得る。方法600は、商人デバイス430(
図4)等のユーザデバイスによって全体的または部分的に実装され得る。商人デバイス430(
図4)は、製品画像推薦エンジン402を活用し得る。いくつかの実装では、ユーザデバイスは、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスに方法600のうちの少なくともいくつかの動作をオフロードし得る。
【0121】
方法600は、ユーザデバイス内のカメラからカメラライブストリームを取得することを含み、カメラライブストリームは、特定の製品の画像データを含む(ステップ610)。
【0122】
この実施形態では、カメラ機能が、ユーザデバイスのカメラからリアルタイムライブストリーム画像を取得するために開始される。リアルタイムライブストリームは、カメラからの画像のストリームを提供し、それは、ライブモード、プレビューモード、またはビューファインダーモードと称され得る。画像のライブストリームは、例えば画像プロセッサを用いて前処理され得る。いくつかの場合、処理は、特定の製品を識別しおよび/または追跡するための特徴検出を含む。
【0123】
ライブストリームの処理は、処理されたライブストリームを生み出す。処理は、例えば、画像をトリミングしてトリミングされたライブストリームを取得すること、および/または画像をスケーリングしてスケーリングされたライブストリームを取得することを含み得る。処理されたライブストリームは、ライブストリームとして表示され得る。
【0124】
処理は、例えば、検出された特定の製品に隣接する画像の一部(例えば、画像の背景部分)を変更することを含み得る。背景の変更は、背景をぼかすこと、または背景を均一な色値で満たすことを含み得る。
【0125】
処理は、例えば、ライブストリームの画像内の画像パラメータを変更することを含み得る。画像パラメータは、例えば、輝度、色相、彩度、ホワイトバランス、または他のそのようなパラメータを含み得る。
【0126】
特定の製品の検出は、特徴検出を採用し得、いくつかの場合、予想される物理的アイテムに関連付けられる定義された形状または特徴のセットによって導かれ得る。例は、箱、缶、ボトル、カートン、バッグ、または他のそのような小売パッケージを含み得る。衣類小売店の例では、例示的物理的アイテムは、衣類形状であり得る。特徴検出は、縁、しみ、角を識別するための任意の適切な技術を含み得、画像における対象の識別されたパッチに関係する特徴ディスクリプタまたは特徴ベクトルを取得し得る。特徴ディスクリプタは、特徴ディスクリプタを特徴のライブラリまたはデータベースと合致させるように試行することを通して分析され得る。分析は、物体を認識することを試みるために、スケール不変特徴変換(SIFT)または他のそのような画像分析技術を用いて、局所的特徴を数学的に記述し、それらを特徴のデータベース内のエントリと比較し得る。種々のコンピュータビジョン技術が、特徴検出を実装することに採用され得る。
【0127】
いくつかの場合、特定の製品の検出は、データの抽出をさらに含み得る。データ抽出は、例えば、対象の領域内のロゴまたはグラフィックスを目的としたさらなる特徴検出を含み得る。いくつかの場合、光学的文字認識(OCR)のようなテキスト認識アルゴリズムが、特定の製品を含む画像の部分からテキストを抽出するために採用され得る。いくつかの場合、特徴検出は、関連するラベル、棚札、下げ札、または特定の製品に関する他の識別データを識別するために採用され得る。
【0128】
方法600は、コレクションの1つ以上の製品の画像に共通する1つ以上のベースライン画像特徴を決定することを含む(ステップ620)。
【0129】
この実施形態において、ステップ620は、コレクション内の1つ以上の製品の画像を取得することを必要とする。コレクションは、製品のコレクションであり、特定の製品は、その一部である。例示的コレクションは、「コーヒーマグ」であり得、そのため、ユーザによって以前に捕捉された1つ以上のコーヒーマグの画像が取得される。この例における特定の製品も、コーヒーマグである。
【0130】
ある実施形態では、
図7に示される方法700にしたがって、特定の製品が識別され得、1つ以上の製品の画像が、識別された特定の製品に基づいて取得され得る。方法700は、コンピューティングデバイスによって実装され得、コンピューティングデバイスは、コンピューティングデバイスが説明される動作を実行することを引き起こすために適切なコンピュータ実行可能な命令を有する。命令は、コンピューティングデバイスにおいて実行するアプリケーションによって実装され得る。方法700は、商人デバイス430(
図4)等のユーザデバイスによって全体的または部分的に実装され得る。商人デバイス430(
図4)は、製品画像推薦エンジン402を活用し得る。いくつかの実装では、ユーザデバイスは、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスに方法700のうちの少なくともいくつかの動作をオフロードし得る。
【0131】
方法700は、特定の製品の画像データを分析して特定の製品を識別することを含む(ステップ710)。ステップ710は、例えば、画像分析部414(
図4)を用いて実施され得る。この実施形態では、カメラライブストリームに含まれる画像データは、特定の製品を識別するために分析され得る。例えば、特定の製品の識別は、特徴検出を採用し得、いくつかの場合、予想される物理的アイテムに関連付けられる定義された形状または特徴のセットによって導かれ得る。特徴検出は、縁、しみ、角を識別するための任意の適切な技術を含み得、画像における対象の識別されたパッチに関係する特徴ディスクリプタまたは特徴ベクトルを取得し得る。特徴ディスクリプタは、特徴ディスクリプタを特徴のライブラリまたはデータベースに合致させるように試行することを通して分析され得る。分析は、物体を認識することを試みるために、スケール不変特徴変換(SIFT)または他のそのような画像分析技術を用いて、局所的特徴を数学的に記述し、それらを特徴のデータベース内のエントリと比較し得る。種々のコンピュータビジョン技術が、特徴検出を実装することに採用され得る。画像データは、リアルタイムで処理され得、処理された画像は、ライブカメラストリームとして示され得る。
【0132】
特定の製品が識別されると、コレクション内の1つ以上の製品の画像が、識別された特定の製品に基づいて取得され得る(ステップ720)。例えば、特定の製品は、コーヒーマグであるとして識別され得、そのため、ユーザによって以前に捕捉された1つ以上のコーヒーマグの画像が取得され得る。画像は、ユーザデバイス上のメモリから取得され得、または、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスから取得され得る。
【0133】
別の実施形態では、
図8に示される方法800にしたがって、特定の製品に関する情報が取得され得、1つ以上の製品の画像が、この情報に基づいて取得され得る。方法800は、コンピューティングデバイスによって実装され得、コンピューティングデバイスは、コンピューティングデバイスが説明される動作を実行するために適切なコンピュータ実行可能な命令を有する。命令は、コンピューティングデバイス上で実行するアプリケーションによって実装され得る。方法800は、商人デバイス430(
図4)等のユーザデバイスによって、全体的または部分的に実装され得る。商人デバイス430(
図4)は、製品画像推薦エンジン402を活用し得る。いくつかの実装では、ユーザデバイスは、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスに方法800のうちの少なくともいくつかの動作をオフロードし得る。
【0134】
方法800は、特定の製品に関する情報を取得することを含む(ステップ810)。この実施形態では、画像捕捉を開始する前、ユーザデバイスは、特定の製品に関する情報を要求するグラフィカルユーザインタフェースを表示し得る。例えば、グラフィカルユーザインタフェースは、特定の製品が追加されるべきカテゴリを選択するために用いられ得るドロップダウンメニュー等、選択可能なオプションを含み得る。ドロップダウンメニューにリストアップされたカテゴリは、ユーザの店舗で利用可能な製品の全てのカテゴリを含み得る。ユーザは、カテゴリのうちの1つを選択し得、それによって、特定の製品に関する情報が取得される。
【0135】
コレクション内の1つ以上の製品の画像が、特定の製品に関する情報に基づいて取得され得る(ステップ820)。例えば、特定の製品に関する情報は、ユーザが「コーヒーマグ」カテゴリを選択することに基づき得、そのため、ユーザによって以前に捕捉され、選択されたカテゴリ内に含まれる1つ以上のコーヒーマグの画像が取得され得る。画像は、ユーザデバイス上のメモリから取得され得るか、または、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスから取得され得る。
【0136】
別の実施形態では、特定の製品に関する情報は、特定の製品が店舗に追加されるようになったコマースワークフローに基づいて自動的に決定され得る。例えば、商人は、彼らの製品コレクションのうちの1つを視認し得、「コレクションに新製品を追加する」オプションに関連する選択可能なオプションを選択し得る。
【0137】
別の実施形態では、ユーザは、1つ以上のベースライン特徴を決定するために用いられるべき1つ以上の画像を選択し得る。例えば、グラフィカルユーザインタフェースが、ユーザデバイス上に表示され得、グラフィカルユーザインタフェースは、ユーザによって以前に捕捉された1つ以上の画像を含み得る。ユーザは、例えばユーザデバイスに関連付けられた入力インタフェースを用いて、表示された画像のうちの1つ以上を選択し得る。例えば、ユーザは、画像の表示された場所に対応する場所においてユーザデバイスのディスプレイスクリーン上でのタップジェスチャを実施することによって、画像を選択し得る。グラフィカルユーザインタフェースは、ユーザによって選択されたときにユーザが1つ以上の製品の画像を選択することを完了したことを示し得る選択可能なオプションを含み得る。
【0138】
別の実施形態では、特定のカテゴリが、推薦を生成するときに含まれるべきでない1つ以上の外れ値画像を含み得る。例えば、カテゴリ内の1つ以上の画像は、サプライヤから取得された画像であり得、したがって、ユーザによって以前に捕捉された画像ではない。この実施形態では、特定の製品が追加されるべきカテゴリが決定されると、ユーザは、1つ以上のベースライン特徴を決定するために用いられる1つ以上の画像を選択し得る。例えば、グラフィカルユーザインタフェースが、ユーザデバイス上に表示され得、グラフィカルユーザインタフェースは、ユーザによって以前の捕捉されたそのカテゴリ内の1つ以上の画像を含み得る。ユーザによって選択されない画像は、無視されるか、さもなければ、ベースライン画像特徴を生成するときに用いられない。
【0139】
1つ以上の実施形態では、カテゴリが、特定の製品のために未だ存在しないこともある。そのため、グラフィカルユーザインタフェースが、新たなカテゴリを追加する選択可能なオプションを含み得る。
【0140】
コレクション内の1つ以上の製品の画像が取得されると、コレクションの1つ以上の製品の画像に共通する1つ以上のベースライン特徴が決定される。ベースライン画像特徴の非限定的な例は:
・画像解像度;
・画像のピクセル密度;
・画像輝度;
・被写界深度;
・フォーカス;
・(例えば、製品によって占められる面積のパーセンテージおよび/または製品によって占められるピクセル数の点からの)画像内の製品のサイズ;
・画像内の製品の角度または向き;および、
・製品と背景との間のコントラスト
を含む。
【0141】
この実施形態では、製品画像特徴モデル生成部412が、本明細書で説明されるルックアップテーブル500と同様のルックアップテーブルを生成するために用いられ得る。特に、1つ以上のベースライン画像特徴の平均は、例えば画像分析部414を用いて1つ以上の製品の画像を分析することによって算出され得る。言及されるように、単一の画像が用いられ得、そのため、単一の画像を分析して単一の画像の1つ以上のベースライン特徴を決定することによって、1つ以上のベースライン画像特徴が決定され得る。
【0142】
言及されるように、カテゴリが、特定の製品のために未だ存在しないことがあり得、そのため、グラフィカルユーザインタフェースが、新たなカテゴリを追加する選択可能なオプションを含み得る。ユーザは、新たなカテゴリ外の1つ以上の製品の以前に捕捉された画像を選択することを要求され得、これらの選択された画像は、1つ以上のベースライン画像特徴を決定するために用いられ得る。例えば、特定の製品は、新たな「コーヒーマグ」カテゴリに属し得、ユーザは、1つ以上のベースライン画像特徴を決定するために用いられる以前に捕捉された「ビールマグ」の画像を選択し得る。
【0143】
方法600は、1つ以上のベースライン画像特徴を特定の製品の画像データの1つ以上の画像特徴と比較することを含む(ステップ630)。
【0144】
この実施形態では、特定の製品の画像データの1つ以上の画像特徴が、決定され、対応するベースライン画像特徴と比較される。言及されるように、ベースライン画像特徴は、マグのサイズを含み得る。ルックアップテーブル500を参照すると、「コーヒーマグ」コレクション内の1つ以上の画像内のコーヒーマグのサイズの平均値が、70%として算出され得る。閾値は2%であり、これは、68%と72%との間のマグの任意サイズが平均値に十分近いとみなされ、一致しているとみなされることを示している。特定の製品の画像データ内の特定の製品(すなわちコーヒーマグ)のサイズは、60%であるように決定され得る。そのため、画像データ内の特定の製品のサイズは、それがベースライン画像特徴の閾値の外にあるので、小さすぎる。
【0145】
方法600は、ユーザデバイス上でのカメラライブストリームと一緒の表示のために、1つ以上の推薦を生成することを含む(ステップ640)。1つ以上の推薦は、1つ以上のベースライン画像特徴を特定の製品の画像データの1つ以上の画像特徴と比較することに基づく。推薦は、製品画像一致性を向上させるために生成される。
【0146】
推薦は、カメラの設定を変更するための推薦および/または特定の製品が位置する環境の条件を変更するための推薦を含み得る。画像特徴は、製品画像を撮影するために用いられるカメラの性能、カメラの設定、および特定の製品が位置する環境の条件に依存し得る。以下は、1つ以上の画像特徴を調節するために変更され得る性能、設定および条件の非限定的なリストである:
・カメラ解像度;
・カメラ感度;
・アパーチャサイズ;
・露光時間;
・ズーム設定;
・フィルタリング;
・フラッシュ設定;
・カメラから製品までの距離;
・カメラに対する製品の向き;
・カメラモード(例えば、ポートレートモード);
・用いられる光源(単数または複数);および、
・用いられる背景(単数または複数);
・(例えば、製品によって占められる面積のパーセンテージおよび/または製品によって占められるピクセル数の点での)画像内の製品のサイズ;
・画像内の製品の角度または向き;
・製品と背景との間のコントラスト;および、
・1つ以上の背景製品の除去。
【0147】
推薦は、商人がコレクション内の1つ以上の以前に捕捉された画像の画像特徴に一致する画像特徴を有する画像を生成することを助けるために生成される。この態様では、商人は、コレクション内の製品間で一致した画像を取得するために、さもなければそれらを生成するために、経験または高価な装備を有することを要求されない。
【0148】
いくつかの実装では、推薦は、商人への命令を含む。例えば、命令は、光源、背景、カメラから製品までの距離、および/またはカメラに対する製品の向きを変更するためのものであり得る。いくつかの実装では、推薦は、商人デバイス430によって自動的に実施され得る命令を含む。例えば、命令は、カメラ436に関する感度、露光時間、ズーム設定、フィルタリング、および/またはフラッシュ設定を変更するためのものであり得る。この例では、推薦は、ユーザ通知の形式であり得、命令は、ユーザ介入なしに自動的に実施され得る。
【0149】
推薦は、1つ以上のベースライン画像特徴を特定の製品の画像データの1つ以上の画像特徴と比較することに基づいて生成され得、これは、ルックアップテーブルを用いて行われ得る。特定の製品の画像データの1つ以上の画像特徴がルックアップテーブルに規定された閾値の外にあるとき、画像特徴は、ベースライン画像特徴と一致していないとみなされ、したがって、コレクション内の1つ以上の以前に捕捉された画像と一致していない画像を生成し得る。したがって、推薦が、その画像特徴を対応するベースライン画像特徴の閾値内にするために生成される。例えば
図5のルックアップテーブル500を参照すると、「コーヒーマグ」コレクション内の1つ以上の製品の画像内のコーヒーマグのサイズの平均値が、70%として算出され得る。閾値は2%であり、これは、68%と72%との間のマグの任意のサイズが平均値に十分近いとみなされ、一致しているとみなされることを示している。特定の製品の画像データ内の特定の製品(すなわちコーヒーマグ)のサイズが60%である場合、製品画像推薦エンジン402は、カメラをズームインするための推薦、またはカメラをより特定の製品の近くにするための推薦を生成し得る。
【0150】
言及されるように、1つ以上の推薦は、ユーザデバイス上でのカメラライブストリームと一緒の表示のために生成される。ユーザデバイスは、そのディスプレイスクリーン上に推薦を表示するように命令され得る。推薦は、カメラライブストリームに関連付けられて表示され得る。推薦は、特定の製品の画像がコレクション内の1つ以上の以前に取得された画像に一致していないことを商人に知らせ得る。推薦は、1つ以上の性能、設定または条件を調節して画像を調節し、1つ以上の画像特徴がコレクション内の1つ以上の画像特徴に一致していることを確実にするように、商人に命令し得る。複数の製品が識別される場合、推薦は、どの製品が撮像されるべきかを選択することをユーザに要求することを含み得、および/または、ユーザが背景から他の識別された製品を除去することを提案し得る。
【0151】
推薦は、形状、テキスト、関連製品の画像、またはアニメーションのうちの少なくとも1つを含み得る。推薦は、ユーザデバイス上のカメラライブストリームに重複させられまたは重ねられ、ユーザが推薦を視認することを助け得る。推薦は、スクリーンページ上に表示され得る。例示的スクリーンページ900が、
図9に示されている。見られ得るように、スクリーンページ900は、カメラのビューファインダーを含む。カメラは、背景906の前の表面904に置かれたコーヒーマグ902の画像を捕捉するために用いられている。スクリーンページ900は、ユーザがスクリーンページ900に示される画像を捕捉し保存することを可能にするボタン914を含む。推薦908、910、912は、カメラライブストリームに重複させられ、または重ねられ、ユーザが推薦をより良く視認することを助ける。
【0152】
推薦908、910は、コーヒーマグに対してカメラを20°回転させることに関係している。特に、推薦908は、カメラを20°回転させるようにユーザに命令するテキストを含み、推薦910は、カメラがどのように回転させられるべきかをユーザが視認することを助けるための矢印である。推薦910は、アニメーション化された矢印であり得、矢印は、それが指し示す方向に連続的に伸びている。これらの推薦は、特定の製品の画像データの傾き画像特徴をルックアップテーブル500内のベースライン傾き画像特徴と比較することによって生成され得る。
【0153】
推薦912は、より暗い背景を用いるようにユーザに命令するテキストを含む。推薦912は、特定の製品の画像データのコントラスト画像特徴をベースラインコントラスト画像特徴と比較することによって生成され得る。
【0154】
推薦908、910、912に基づいて、ユーザはカメラの向きを変え、背景を変更し得る。推薦は、能動的に更新され得、方法600の比較するステップおよび生成するステップは、画像特徴が対応するベースライン画像特徴の閾値内になるまで繰り返され得る。これは、
図10に示される方法1000によって行われ得る。方法1000は、コンピューティングデバイスによって実装され得、コンピューティングデバイスは、コンピューティングデバイスが説明される動作を実行することを引き起こすために適切なコンピュータ実行可能な命令を有する。命令は、コンピューティングデバイス上で実行するアプリケーションによって実装され得る。方法1000は、商人デバイス430(
図4)等のユーザデバイスによって全体的または部分的に実装され得る。商人デバイス430(
図4)は、製品画像推薦エンジン402を活用し得る。いくつかの実装において、ユーザデバイスは、例えば製品画像推薦エンジン402(
図4)またはeコマースプラットフォームの一部であり得るサーバ等の外部デバイスに方法1000のうちの少なくともいくつかの動作をオフロードし得る。
【0155】
方法1000は、ベースライン画像特徴を特定の製品の画像データの現在の画像特徴と比較することを含む(ステップ1010)。この実施形態では、特定の製品の画像データの画像特徴が、ステップ630を参照して本明細書中で説明されるそれと同様の態様で連続的に決定され得る。
【0156】
画像特徴がベースライン画像特徴の閾値内にあるかどうかを決定するために、チェックが実施される(ステップ1020)。画像特徴がベースライン画像特徴の閾値内にないことが決定されると、推薦が更新され得(ステップ1030)、方法は、ステップ1010に戻り、ベースライン画像特徴は、更新された画像特徴と比較される。
【0157】
ステップ1020中、画像特徴がベースライン画像特徴の閾値内にあることが決定されると、対応する推薦が、除去され、さもなければ消失し得、その特定の製品の1つ以上の画像が捕捉される(ステップ1040)。この実施形態では、捕捉された画像は、ライブフィードのフレームから取得され得るか、または静的画像として捕捉され得る。捕捉イベントは、命令の受信(例えば、ボタンの押下、またはスクリーンタップ)によってトリガされ得る。例えば、ユーザは、スクリーンページ900のボタン914を選択して画像を捕捉し得る。
【0158】
ある例では、捕捉イベントは、1つ以上の画像特徴が対応するベースライン画像特徴の閾値内にあるときにのみ利用可能であり得る。例えば、スクリーンページ900のボタン914は、1つ以上の画像特徴が対応するベースライン画像特徴の閾値内になるまで無効化され得る。
【0159】
別の実施形態では、捕捉イベントは自動であり得る。例えば、データは、ユーザデバイスに関連付けられた1つ以上のセンサから取得され得る。データは、ユーザデバイスが静止しているかまたは移動していないときを判定するために分析され得る。ユーザデバイスが一定期間静止していることが判定されると、1つ以上の画像が、ユーザからのさらなる入力なく自動で捕捉され得る。
【0160】
捕捉された画像(単数または複数)は、レビューのためにユーザデバイスのスクリーンページ上での表示のために利用可能であり得る。スクリーンページは、画像を受け取ること、または画像を再び撮影することを行うための1つ以上の選択可能なオプションを含み得る。画像が受け取られと、画像は、メモリに記憶され得る。スクリーンページは、本明細書中で説明される方法に基づいて生成された追加の推薦を含み得る。例えば、取得された画像は、1つ以上の画像特徴が依然として一致していないとみなされるかどうかを決定するために分析され得る。別の例として、画像が取得された後、ユーザは、ルックアップテーブル内の閾値を低減させる選択可能なオプションを提供され得る。ユーザが選択可能なオプションを選択すると、閾値が、更新され、さもなければ低減させられ得、ユーザは、さらにより一致した画像を取得するために、低減させられた閾値で別のピクチャを撮影することを促され得る。
【0161】
ライブカメラストリームにおいて同時に複数の推薦1102、1104を表示する別の例示的スクリーンページ1100が、
図11に示されている。推薦1102、1104は、画像内の製品(コーヒーマグ902)のサイズに関係している。例えば、本明細書中で説明される方法を用いて、コーヒーマグが画像において少なすぎるピクセルを占めている点で、対応するベースライン画像特徴と比較してコーヒーマグが小さすぎることが決定され得る。そのため、推薦1102は、よりコーヒーマグ902の近くにカメラを移動させるようにユーザに命令するテキストを含む。推薦1104は、箱、輪郭またはハンドルを含み、それらは、対応するベースライン画像特徴に基づくコーヒーマグ902のサイズをユーザが視認することを助ける。ユーザは、コーヒーマグ902が箱を満たすまでよりコーヒーマグ902の近くにカメラを移動させ得る。そして、推薦1102、1104は、スクリーンページから消失し得、画像が捕捉され得る。
【0162】
ライブカメラストリームにおいて同時に推薦1202、1204を表示する別の例示的スクリーンページ1200が、
図12に示されている。推薦1202、1204は、画像内の製品(コーヒーマグ902)のサイズおよび画像内の製品の角度に関係している。推薦1202は、コーヒーマグ902が推薦1204と概して重複するようにカメラを移動させるようにユーザに命令するテキストを含む。推薦1204は、画像内の製品のサイズのベースライン画像特徴に基づくコーヒーマグの画像を含む。推薦1204は、コレクション内の以前に捕捉された画像から取得されたカットアウトであり得る。推薦1204は、コーヒーマグ902が推薦1204に重複させられたときにコーヒーマグ902を見ることが可能である点で、半透明である。
【0163】
別の実施形態では、ハンドルが、製品の識別された角の周辺に表示され得る。例えば、例示的スクリーンページ1200は、コーヒーマグ902の識別された角の周辺のハンドルと、推薦1204とを含み得る。この態様では、ユーザは、コーヒーマグ902のハンドルおよび推薦1204のハンドルが重複するまで、1つ以上の画像特徴を調節し得る。
【0164】
別の実施形態では、コーヒーマグの画像の形式(
図12に示される推薦1204等)で推薦を示すのではなく、推薦は、画像である製品の角が位置付けられるべき場所を識別するハンドルの形式であり得る。この態様では、ユーザは、コーヒーマグ902のハンドルおよび表示されたハンドルが重複するまで、1つ以上の画像特徴を調節し得る。
【0165】
少なくともいくつかの実施形態において、画像捕捉が開始されるときに推薦が提供され得ることが認識されるであろう。例えば、画像捕捉が開始されると、推薦は、ライブカメラストリームに自動で重複させられ、コレクション内の1つ以上の製品の画像の対応するベースライン画像特徴に基づく製品のサイズを示し得る。推薦は、例えば、
図11に示される推薦1104または
図12に示される推薦1204と同様であり得る。この態様では、ユーザは、画像内の製品のサイズのベースライン画像特徴を示す初期推薦を提供される。
【0166】
少なくともいくつかの実施形態において、推薦は、進行および/または成功を示すユーザへのフィードバックを含み得る。例えば、推薦は、ユーザがユーザデバイスの角度を調節し、画像内の製品の角度の画像特徴を調節することを要求し得る。ユーザがユーザデバイスの角度を調節するにつれて、画像内の製品の現在の角度が、対応するベースライン画像特徴と一緒に表示され得る。ユーザデバイスの角度がさらに調節されると、画像内の製品の現在の角度は、ユーザが角度を対応するベースライン画像特徴の閾値内に調節し終えるまで更新され得る。画像内の製品の角度がベースライン画像特徴の閾値内にあると、成功を示す通知がユーザに表示され得る。
【0167】
少なくともいくつかの実施形態において、推薦は、1つ以上の画像特徴を調節することにおけるユーザによる進行を示す進行バーを含み得る。例えば、推薦は、ユーザがユーザデバイスの角度を調節し、画像内の製品の角度の画像特徴を調節することを要求し得る。ユーザがユーザデバイスを回転させると、進行バーが、表示され、ユーザデバイスを回転させることにおけるユーザの進行を更新し得る。進行バーは、画像内の製品の角度がベースライン画像特徴の閾値内にあるときに満杯として示され得る。
【0168】
少なくともいくつかの実施形態において、画像特徴を調節することの成功を示すアラートまたは他のフィードバックがユーザに提供され得る。例えば、ユーザデバイスは、成功を示すために、振動させられ、または聴覚的アラートを出力させられ得る。
【0169】
少なくともいくつかの実施形態において、製品画像は、3次元であり得、そのため、ユーザデバイスは、例えば3次元カメラを含み得る。この実施形態において、推薦は、3次元製品画像を捕捉することに基づいて提供され得る。例えば、推薦は、3次元カメラを製品の周辺で物理的に移動させる推薦を含み得る。
【0170】
少なくともいくつかの実施形態において、製品画像は、製品ビデオの一部であり得る。この実施形態では、推薦は、製品ビデオを補足することに基づいて提供され得る。例えば、推薦は、ビデオ捕捉中カメラおよび/または製品をどのように移動させるかに関する推薦を含み得る。
【0171】
本明細書中で説明される例示的方法のステップのうちのいくつかがその動作に本質的な影響を及ぼすことなく異なる順序でまたは同時に実施され得ることが理解されるであろう。
実装
【0172】
本明細書中で説明される方法およびシステムは、部分的または全体的に機械を通じて展開され得、機械は、コンピュータソフトウェア、プログラムコード、および/または命令をプロセッサにおいて実行する。プロセッサは、サーバ、クラウドサーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピューティングプラットフォーム、固定コンピューティングプラットフォーム、または他のコンピューティングプラットフォームの一部であり得る。プロセッサは、プログラム命令、コード、バイナリ命令等を実行することが可能な任意の種類の演算デバイスまたは処理デバイスであり得る。プロセッサは、単一のプロセッサ、デジタルプロセッサ、組み込み型プロセッサ、マイクロプロセッサ、または、任意の変種(コプロセッサ等(数値演算コプロセッサ、グラフィックコプロセッサ、通信コプロセッサ等))であり得、またはそれらを含み得、それらは、それらに記憶されたプログラムコードまたはプログラム命令の実行を直接または間接的に促進し得る。加えて、プロセッサは、複数のプログラム、スレッド、およびコードの実行を可能にし得る。スレッドは、プロセッサの性能を高めるために、およびアプリケーションの同時の動作を促進するために、同時に実行され得る。実装として、本明細書中で説明される方法、プログラムコード、プログラム命令等は、1つ以上のスレッドで実装され得る。スレッドは、他のスレッドに関連付けられた優先度を割り当て得る他のスレッドを生じ得る;プロセッサは、優先度に基づいて、またはプログラムコード内で提供される命令に基づく任意の他の順序に基づいて、これらのスレッドを実行し得る。プロセッサは、本明細書中および他の場所で説明されるような方法、コード、命令およびプログラムを記憶するメモリを含み得る。プロセッサは、本明細書中または他の場所で説明されるような方法、コード、および命令を記憶し得るストレージ媒体にインタフェースを通じてアクセスし得る。コンピューティングデバイスデバイスまたは処理デバイスによって実行されることが可能な方法、プログラム、コード、プログラム命令または他のタイプの命令を記憶するための、プロセッサに関連付けられたストレージ媒体は、CD-ROM、DVD、メモリ、ハードディスク、フラッシュドライブ、RAM、ROM、キャッシュ等のうちの1つ以上を含み得るが、それらに限定されなくともよい。
【0173】
プロセッサは、マルチプロセッサの速度および性能を高め得る1つ以上のコアを含み得る。実施形態において、プロセッサは、2つ以上の独立したコア(ダイと呼ばれる)を組み合わせるデュアルコアプロセッサ、クアッドコアプロセッサ、他のチップレベルマルチプロセッサ等であり得る。
【0174】
本明細書中で説明される方法およびシステムは、機械を通じて展開され得、機械は、サーバ、クラウドサーバ、クライアント、ファイヤウォール、ゲートウェイ、ハブ、ルータ、または他のそのようなコンピュータおよび/またはネットワークハードウェアにおいてコンピュータソフトウェアを実行する。ソフトウェアプログラムは、ファイルサーバ、プリントサーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、および他の変種(二次サーバ、ホストサーバ、分散型サーバ等)を含み得るサーバに関連付けられ得る。サーバは、メモリ、プロセッサ、コンピュータ読み取り可能な媒体、ストレージ媒体、(物理的および仮想的)ポート、通信デバイス、およびインタフェースのうちの1つ以上を含み得、それらは、有線媒体または無線媒体を通じて、他のサーバ、クライアント、機械、およびデバイスにアクセス可能である。本明細書中および他の場所で説明される方法、プログラム、またはコードは、サーバによって実行され得る。加えて、本願中で説明される方法の実行のために要求される他のデバイスは、サーバに関連付けられたインフラストラクチャの一部とみなされ得る。
【0175】
サーバは、他のデバイスへのインタフェースを提供し得、他のデバイスは、クライアント、他のサーバ、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散型サーバ等を含むが、これらに限定されない。加えて、この結合および/または接続は、ネットワークにわたるプログラムの遠隔実行を促進し得る。これらのデバイスのうちのいくつかまたは全てのネットワーキングは、本開示の範囲から逸脱することなく1つ以上の場所でのプログラムまたは方法の並列処理を促進し得る。加えて、インタフェースを通じてサーバに取り付けられるデバイスのうちのいずれかは、方法、プログラム、コード、および/または命令を記憶することが可能な少なくとも1つのストレージ媒体を含み得る。中央リポジトリは、異なるデバイスにおいて実行されるためのプログラム命令を提供し得る。この実装では、遠隔リポジトリは、プログラムコード、命令、およびプログラムのためのストレージ媒体として機能し得る。
【0176】
ソフトウェアプログラムは、クライアントに関連付けられ得、クライアントは、ファイルクライアント、プリントクライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、および他の変種(二次クライアント、ホストクライアント、分散型クライアント等)を含む。クライアントは、メモリ、プロセッサ、コンピュータ読み取り可能な媒体、ストレージ媒体、(物理的および仮想的)ポート、通信デバイス、およびインタフェースのうちの1つ以上を含み得、それらは、有線媒体または無線媒体を通じて他のクライアント、サーバ、機械、およびデバイスにアクセス可能である。本明細書中および他の場所で説明される方法、プログラムまたはコードは、クライアントによって実行され得る。加えて、本願で説明される方法の実行のために要求される他のデバイスは、クライアントに関連付けられるインフラストラクチャの一部とみなされ得る。
【0177】
クライアントは、他のデバイスへのインタフェースを提供し得、他のデバイスは、サーバ、他のクライアント、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散型サーバ等を含むがそれらに限定されない。加えて、この結合および/または接続は、ネットワークにわたるプログラムの遠隔実行を促進し得る。これらのデバイスのうちのいくつかまたは全てのネットワーキングは、本開示の範囲から逸脱することなく1つ以上の場所でのプログラムまたは方法の並列処理を促進し得る。加えて、インタフェースを通じてクライアントに取り付けられるデバイスのうちのいずれかは、方法、プログラム、アプリケーション、コードおよび/または命令を記憶することが可能な少なくとも1つのストレージ媒体を含み得る。中央リポジトリは、異なるデバイスにおいて実行されるためのプログラム命令を提供し得る。この実装では、遠隔リポジトリは、プログラムコード、命令、およびプログラムのためのストレージ媒体として機能し得る。
【0178】
本明細書中で説明される方法およびシステムは、部分的または全体的にネットワークインフラストラクチャを通じて展開され得る。ネットワークインフラストラクチャは、業界において既知のコンピューティングデバイス、サーバ、ルータ、ハブ、ファイヤウォール、クライアント、パーソナルコンピュータ、通信デバイス、ルーティングデバイスならびに他のアクティブデバイスおよびパッシブデバイス、モジュール、ならびに/または、コンポーネント等の要素を含み得る。ネットワークインフラストラクチャに関連付けられるコンピューティングデバイス(単数または複数)および/または非コンピューティングデバイス(単数または複数)は、他のコンポーネントとは別に、フラッシュメモリ、バッファ、スタック、RAM、ROM等のストレージ媒体を含み得る。本明細書中および他の場所で説明されるプロセス、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの1つ以上によって実行され得る。
【0179】
本明細書中および他の場所で説明される方法、プログラムコード、および命令は、有線ネットワークまたは無線ネットワークにおいて動作し得る異なるデバイスにおいて実装され得る。無線ネットワークの例は、第4世代(4G)ネットワーク(例えば、Long Term Evolution(LTE))または第5世代(5G)ネットワークのみならず、無線ローカルエリアネットワーク(WLAN)等の携帯電話ネットワークではないものも含む。しかしながら、それらにおいて記述される原理は、他のタイプのネットワークにも同様に当てはまり得る。
【0180】
本明細書中および他の場所で説明される動作、方法、プログラムコード、および命令は、モバイルデバイスにおいて、またはモバイルデバイスを通じて実装され得る。モバイルデバイスは、ナビゲーションデバイス、携帯電話、モバイルフォン、モバイルパーソナルデジタルアシスタント、ラップトップ、パームトップ、ネットブック、ページャ、電子書籍リーダ、音楽プレイヤ等を含み得る。これらのデバイスは、他のコンポーネントとは別に、フラッシュメモリ、バッファ、RAM、ROM、および1つ以上のコンピューティングデバイス等のストレージ媒体を含み得る。モバイルデバイスに関連付けられたコンピューティングデバイスは、そこに記憶されたプログラムコード、方法、命令を実行することが可能であり得る。あるいは、モバイルデバイスは、他のデバイスと組み合わせて命令を実行するように構成され得る。モバイルデバイスは、サーバとインタフェース接続されプログラムコードを実行するように構成されたベースステーションと通信し得る。モバイルデバイスは、ピアツピアネットワーク、メッシュネットワーク、または他の通信ネットワークにおいて通信し得る。プログラムコードは、サーバに関連付けられたストレージ媒体に記憶され、サーバ内に組み込まれたコンピューティングデバイスによって実行され得る。ベースステーションは、コンピューティングデバイスとストレージ媒体とを含み得る。ストレージデバイスは、ベースステーションに関連付けられたコンピューティングデバイスによって実行されるプログラムコードおよび命令を記憶し得る。
【0181】
コンピュータソフトウェア、プログラムコード、および/または命令は、機械読み取り可能な媒体に記憶され、および/またはアクセスされ得、機械読み取り可能な媒体は:いくらかの時間間隔で演算するために用いられるデジタルデータを保持するコンピュータコンポーネント、デバイス、および記録媒体;ランダムアクセスメモリ(RAM)として知られる半導体ストレージ;典型的に、光ディスク、ハードディスク等の磁気ストレージ形態、テープ、ドラム、カード、および他のタイプ等のより永久的なストレージであるマスストレージ;プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリ;CD、DVD等の光ストレージ;フラッシュメモリ(例えば、USBスティックまたはキー)、フロッピー(登録商標)ディスク、磁気テープ、紙テープ、パンチカード、スタンドアロン型RAMディスク、Zipドライブ、リムーバブルマスストレージ、オフライン等のリムーバブル媒体;ダイナミックメモリ、静的メモリ、読み取り/書き込みストレージ、変更可能ストレージ、読み取り専用メモリ、ランダムアクセスメモリ、シークエンシャルアクセスメモリ、場所アドレス可能メモリ、ファイルアドレス可能メモリ、コンテンツアドレス可能メモリ、ネットワーク取り付け型ストレージ、ストレージエリアネットワーク、バーコード、磁気インク等の他のコンピュータメモリを含み得る。
【0182】
本明細書中で説明される方法およびシステムは、物理的アイテムおよび/または無形アイテムを1つの状態から別の状態に変形させ得る。同様に、本明細書中で説明される方法およびシステムは、物理的アイテムおよび/または無形アイテム表すデータを1つの状態から別の状態に(利用データから正規化された利用データセットに等)を変形させ得る。
【0183】
図面全体にわたるフローチャートおよびブロック図を含む本明細書中で説明され描写される要素は、要素間の論理的境界を意味する。しかしながら、ソフトウェアまたはハードウェアエンジニアリング慣行にしたがって、描写された要素およびその機能は、プログラム命令を実行可能なプロセッサを有するコンピュータ実行可能な媒体を通じて機械において実装され得、プログラム命令は、一体的ソフトウェア構造として、スタンドアロン型ソフトウェアモジュールとして、または、外部ルーチン、コード、サービス等を展開するモジュールとして、または、これらの任意の組み合わせとして記憶され得、全てのそのような実装が、本開示の範囲内にあり得る。そのような機械の例は、パーソナルデジタルアシスタント、ラップトップ、パーソナルコンピュータ、モバイルフォン、他のハンドヘルドコンピューティングデバイス、医療機器、有線または無線通信デバイス、トランスデューサ、チップ、計算機、衛星、タブレットPC、電子書籍、ガジェット、電子デバイス、人工知能を有するデバイス、コンピューティングデバイス、ネットワーク設備、サーバ、ルータ等を含み得るがそれらに限定されないこともある。さらに、フローチャートおよびブロック図に描写される要素、または任意の他の論理コンポーネントは、プログラム命令を実行可能な機械において実装され得る。したがって、前述の図面および説明は、開示されるシステムの機能的側面を説明する一方で、これらの機能的側面を実装するためのソフトウェアの特定の配置は、明確に述べられるか、さもなければ文脈において明らかでない限り、これらの説明から推測されるべきではない。同様に、上で識別され、説明される種々のステップが変動し得ること、およびステップの順序が本明細書中で開示される技術の特定の用途に適合し得ることが認識されるであろう。全てのそのような変更物および変形物が、この開示の範囲内に属するように意図されている。そのため、種々のステップのための順序の描写および/または説明は、特定の用途によって要求されない限り、または、明確に述べられさもなければ文脈から明らかでない限り、それらのステップのために特定の順序の実行を必要とするように理解されるべきではない。
【0184】
上で説明される方法および/またはプロセス、ならびにそれらのステップは、特定の用途のために適したハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの任意の組み合わせとして実現され得る。ハードウェアは、汎用コンピュータ、および/または、専用コンピューティングデバイス、または特定のコンピューティングデバイスもしくは特定のコンピューティングデバイスの特定の側面またはコンポーネントを含み得る。プロセスは、内部メモリおよび/または外部メモリと一緒に、1つ以上のマイクロプロセッサ、マイクロコントローラ、組み込み型マイクロコントローラ、プログラマブルデジタル信号プロセッサ、または他のプログラマブルデバイスにおいて実現され得る。同様に、または、代わりに、プロセスは、電気信号を処理するように構成され得る特定用途向け集積回路、プログラマブルゲートアレイ、プログラマブルアレイロジック、もしくは任意の他のデバイス、または、デバイスの組み合わせにおいて具現化され得る。プロセスのうちの1つ以上が機械読み取り可能な媒体において実行されることが可能なコンピュータ実行可能なコードとして実現され得ることがさらに認識されるであろう。
【0185】
コンピュータ実行可能なコードは、C等の構造化プログラミング言語、C++等のオブジェクト指向型プログラミング言語、または、任意の他の高級プログラミング言語または低級プログラミング言語(アセンブリ言語、ハードウェア記述言語、およびデータベースプログラミング言語およびテクノロジを含む)を用いて作り出され得、それらは、上のデバイスのみならず、プログラム命令を実行可能なプロセッサの組み合わせ、プロセッサアーキテクチャ、またはハードウェアとソフトウェアとの組み合わせ、または、任意の他の機械のうちの1つにおいても実行されるように記憶され、コンパイルされ、または解読され得る。
【0186】
したがって、一側面において、上で説明される各方法およびそれらの組み合わせは、1つ以上のコンピューティングデバイスにおいて実行するとそのステップを実施するコンピュータ実行可能なコードとして具現化され得る。別の側面では、方法は、システムとして具現化され得、システムは、方法のステップを実施し、多くの態様でデバイスにわたって分散され得、または、機能の全てが専用スタンドアロン型デバイスまたは他のハードウェアに統合され得る。別の側面では、上で説明されるプロセスに関連付けられるステップを実施するための手段は、上で説明されたハードウェアおよび/またはソフトウェアのうちのいずれかを含み得る。全てのそのような並べ替えおよび組み合わせが、本開示の範囲内に属するように意図される。