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

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

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特許7393475画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
<>
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図1
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図2
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図3
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図4
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図5
  • 特許-画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
(51)【国際特許分類】
   G06F 16/532 20190101AFI20231129BHJP
   G06T 7/00 20170101ALI20231129BHJP
   G06F 16/56 20190101ALI20231129BHJP
【FI】
G06F16/532
G06T7/00 300F
G06F16/56
【請求項の数】 17
【外国語出願】
(21)【出願番号】P 2022090080
(22)【出願日】2022-06-02
(65)【公開番号】P2022126678
(43)【公開日】2022-08-30
【審査請求日】2022-06-29
(31)【優先権主張番号】202110943222.7
(32)【優先日】2021-08-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000914
【氏名又は名称】弁理士法人WisePlus
(72)【発明者】
【氏名】バイ, ルイビン
(72)【発明者】
【氏名】ウェイ, シァン
(72)【発明者】
【氏名】スン, イーポン
(72)【発明者】
【氏名】ヤオ, クン
(72)【発明者】
【氏名】リウ, ジントゥオ
(72)【発明者】
【氏名】ハン, ジュンユー
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2013-015902(JP,A)
【文献】中国特許出願公開第111027622(CN,A)
【文献】特開2012-221148(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される画像を検索するための方法であって、
ターゲット画像を含むクエリ要求を受信したことに応答して、前記ターゲット画像からターゲット主体を検出するステップと、
検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、前記ターゲット主体から同一特徴、類似特徴及びカテゴリを含む主体特徴を抽出するステップと、
前記ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得するステップと、
検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択するステップと、を含む画像を検索するための方法。
【請求項2】
ターゲット主体が検出されない場合、又は検出されたターゲット主体の検出フレームの信頼度が第1閾値以下である場合、前記ターゲット画像から同一特徴、類似特徴、カテゴリ及びペアリング特徴を含む画像全体の特徴を抽出するステップと、
前記ターゲット画像の画像全体の特徴を、データベースに事前に記憶された候補画像の画像全体の特徴と照合して、候補画像の類似スコア、同一スコア及びペアリングスコアを取得するステップと、
検索結果の出力として、類似スコア、同一スコア及びペアリングスコアに従って所定数の候補画像を選択するステップと、をさらに含む請求項1に記載の方法。
【請求項3】
前記ターゲット主体から主体特徴を抽出することは、
類似特徴モデルによって、前記ターゲット主体から類似特徴を抽出するステップと、
同一特徴モデルによって、前記ターゲット主体から局所画像の同一特徴を抽出するステップと、
分類モデルによって、前記ターゲット主体からカテゴリを抽出するステップと、を含む請求項1に記載の方法。
【請求項4】
検出フレームのサイズがサイズ閾値よりも小さいか、又は信頼度が第2閾値よりも小さい検出フレームをフィルタリングするステップをさらに含む請求項1に記載の方法。
【請求項5】
検出フレームの数が1よりも大きい場合、各ターゲット主体の検出フレームの位置、面積及び候補画像の類似スコアと同一スコアに従って一意のターゲット主体を決定するステップをさらに含む請求項4に記載の方法。
【請求項6】
前記検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択することは、
候補画像の類似スコアと同一スコアに従って候補画像の一致度を計算するステップと、
一致度が最も高い第1候補画像がフィルタリング条件を満たしていない場合、検索結果の出力として、一致度の降順で所定数の候補画像を選択するステップと、を含む請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記フィルタリング条件は、
第1候補画像は、同一スコアが第1同一閾値よりも小さく、類似スコアが第1類似閾値よりも小さいこと、
第1候補画像は、同一スコアが第2同一閾値よりも小さく、類似スコアが第2類似閾値よりも小さく、ターゲット主体の粗粒度カテゴリと第1候補画像の粗粒度カテゴリはいずれも、所定の粗粒度カテゴリに属すること、
第1候補画像は、同一スコアが第3同一閾値よりも小さく、類似スコアが第3類似閾値よりも小さく、ターゲット主体の細粒度カテゴリと第1候補画像の細粒度カテゴリとの差異は、所定の差異閾値よりも大きいこと、
第1候補画像は、同一スコアが第4同一閾値よりも小さく、類似スコアが第4類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定の細粒度カテゴリに属する頻度、及び第1候補画像の細粒度カテゴリが所定の細粒度カテゴリに属する頻度はいずれも、所定の頻度閾値よりも大きいこと、
第1候補画像がeコマースからのものである場合、第1候補画像は、同一スコアが第5同一閾値よりも小さく、類似スコアが第5類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定のアイテムカテゴリに属すること
のうちの少なくとも1つを含む請求項6に記載の方法。
【請求項8】
ターゲット画像を含むクエリ要求を受信したことに応答して、前記ターゲット画像からターゲット主体を検出するように構成されている検出ユニットと、
検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、前記ターゲット主体から同一特徴、類似特徴及びカテゴリを含む主体特徴を抽出するように構成されている抽出ユニットと、
前記ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得するように構成されている一致ユニットと、
検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択するように構成されている出力ユニットと、を含む画像を検索するための装置。
【請求項9】
前記抽出ユニットは、ターゲット主体が検出されない場合、又は検出されたターゲット主体の検出フレームの信頼度が第1閾値以下である場合、前記ターゲット画像から同一特徴、類似特徴、カテゴリ及びペアリング特徴を含む画像全体の特徴を抽出するようにさらに構成されており、
前記一致ユニットは、前記ターゲット画像の画像全体の特徴を、データベースに事前に記憶された候補画像の画像全体の特徴と照合して、候補画像の類似スコア、同一スコア及びペアリングスコアを取得するようにさらに構成されており、
前記出力ユニットは、検索結果の出力として、類似スコア、同一スコア及びペアリングスコアに従って所定数の候補画像を選択するようにさらに構成されている請求項8に記載の装置。
【請求項10】
前記抽出ユニットは、
類似特徴モデルによって、前記ターゲット主体から類似特徴を抽出し、
同一特徴モデルによって、前記ターゲット主体から局所画像の同一特徴を抽出し、
分類モデルによって、前記ターゲット主体からカテゴリを抽出するようにさらに構成されている請求項8に記載の装置。
【請求項11】
検出フレームのサイズがサイズ閾値よりも小さいか、又は信頼度が第2閾値よりも小さい検出フレームをフィルタリングするように構成されているフィルタリングユニットをさらに含む請求項8に記載の装置。
【請求項12】
前記フィルタリングユニットは、
検出フレームの数が1よりも大きい場合、各ターゲット主体の検出フレームの位置、面積及び候補画像の類似スコアと同一スコアに従って一意のターゲット主体を決定するようにさらに構成されている請求項11に記載の装置。
【請求項13】
前記出力ユニットは、
候補画像の類似スコアと同一スコアに従って候補画像の一致度を計算し、
一致度が最も高い第1候補画像がフィルタリング条件を満たしていない場合、検索結果の出力として、一致度の降順で所定数の候補画像を選択するようにさらに構成されている請求項8~12のいずれか一項に記載の装置。
【請求項14】
前記フィルタリング条件は、
第1候補画像は、同一スコアが第1同一閾値よりも小さく、類似スコアが第1類似閾値よりも小さいこと、
第1候補画像は、同一スコアが第2同一閾値よりも小さく、類似スコアが第2類似閾値よりも小さく、ターゲット主体の粗粒度カテゴリと第1候補画像の粗粒度カテゴリはいずれも、所定の粗粒度カテゴリに属すること、
第1候補画像は、同一スコアが第3同一閾値よりも小さく、類似スコアが第3類似閾値よりも小さく、ターゲット主体の細粒度カテゴリと第1候補画像の細粒度カテゴリとの差異は、所定の差異閾値よりも大きいこと、
第1候補画像は、同一スコアが第4同一閾値よりも小さく、類似スコアが第4類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定の細粒度カテゴリに属する頻度、及び第1候補画像の細粒度カテゴリが所定の細粒度カテゴリに属する頻度はいずれも、所定の頻度閾値よりも大きいこと、
第1候補画像がeコマースからのものである場合、第1候補画像は、同一スコアが第5同一閾値よりも小さく、類似スコアが第5類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定のアイテムカテゴリに属すること
のうちの少なくとも1つを含む請求項13に記載の装置。
【請求項15】
少なくとも1つのプロセッサ、及び
前記少なくとも1つのプロセッサに通信可能に接続されるメモリを含む電子デバイスであって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサが請求項1~5のいずれか一項に記載の方法を実行できる、電子デバイス。
【請求項16】
コンピュータに請求項1~5のいずれか一項に記載の方法を実行させるために使用されるコンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体。
【請求項17】
プロセッサによって実行されると、請求項1~5のいずれか一項に記載の方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、人工知能の技術分野に関し、特にコンピュータビジョン及び深層学習の技術分野に関し、グラフィックス処理及び画像識別などのシナリオに適用することができる。
【背景技術】
【0002】
商品画像検索技術とは、ユーザが撮影した画像を商品ライブラリーで検索して、同一又は類似の商品を見つけ、商品の販売又は関連商品の推奨を行い、商品の検索と探しの利便性を向上させ、ユーザの購入体験を最適化するということを指す。商品検索は、eコマースにおけるモバイル向けビジュアル検索の重要なアプリケーションである。商品画像検索の開発は、ユーザのショッピングに便利を提供するだけでなく、モバイル端末へのeコマース開発を促進する。
【0003】
一般的な商品検索スキームは、商品画像に基づく検索スキームである。ユーザが入力した画像に応じて、検索システムは、同一又は類似の商品を返す。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、画像を検索するための方法、装置、システム、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラムを提供する。
【0005】
本開示の第1態様によれば、
ターゲット画像を含むクエリ要求を受信したことに応答して、前記ターゲット画像からターゲット主体を検出するステップと、
検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、前記ターゲット主体から同一特徴、類似特徴及びカテゴリを含む主体特徴を抽出するステップと、
前記ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得するステップと、
検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択するステップと、を含む方法を提供する。
【0006】
本開示の第2態様によれば、画像を検索するための装置を提供し、該装置は、
ターゲット画像を含むクエリ要求を受信したことに応答して、前記ターゲット画像からターゲット主体を検出するように構成されている検出ユニットと、
検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、前記ターゲット主体から同一特徴、類似特徴及びカテゴリを含む主体特徴を抽出するように構成されている抽出ユニットと、
前記ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得するように構成されている一致ユニットと、
検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択するように構成されている出力ユニットと、を含む。
【0007】
本開示の第3態様によれば、画像を検索するためのシステムを提供し、該システムは、
ターゲット画像を含むクエリ要求を受信し、クエリ要求を高度な検索層に渡して処理し、高度な検索層から返された検索結果を出力するために使用される統一アクセス層と、
ターゲット画像の特徴を抽出し、特徴を基本的な検索層に渡して処理し、基本的な検索層から受信した候補画像をマージして得られた検索結果を前記統一アクセス層に返すために使用される高度な検索層と、
前記高度な検索層が提供する特徴に従って、ローカル磁気ディスクに記憶されたデータベースから一致する候補画像を検索し、最高の類似スコアと同一スコアを有する所定数の候補画像を返すために使用されるシャードの少なくとも1つを含む基本的な検索層と、を含む。
【0008】
本開示の第4態様によれば、電子デバイスを提供し、該電子デバイスは、少なくとも1つのプロセッサ、及び、前記少なくとも1つのプロセッサに通信可能に接続されるメモリを含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサが第1態様による方法を実行できる。
【0009】
本開示の第5態様によれば、コンピュータに第1態様による方法を実行させるために使用されるコンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【0010】
本開示の第6態様によれば、プロセッサによって実行されると、第1態様による方法を実現するコンピュータプログラムを提供する。
【0011】
本開示の実施例が提供する画像を検索するための方法、装置及びシステムは、同一特徴及び類似特徴を検索及び照合することにより、同一又は類似の商品を正確に返して、ユーザの意図を満たすことができる。
【0012】
このセクションで説明されることは、本開示の実施例の主要又は重要な特徴を特定することを意図するものではなく、本開示の範囲を限定するためにも使用されないことが理解されるべきである。本開示のその他の特徴は、以下の明細書から容易に理解される。
【0013】
以下の図面は、本解決策をよりよく理解するために使用されており、本開示を限定するものではない。
【図面の簡単な説明】
【0014】
図1】本開示の一実施例を適用できる例示的なシステムアーキテクチャを示す図である。
図2】本開示による画像を検索するための方法の一実施例を示すフローチャートである。
図3】本開示による画像を検索するための方法の一適用シナリオを示す概略図である。
図4】本開示による画像を検索するための方法のさらに別の実施例を示すフローチャートである。
図5】本開示による画像を検索するための装置の一実施例を示す構造概略図である。
図6】本開示の実施例の電子デバイスを実装するのに適したコンピュータシステムの構造概略図である。
【発明を実施するための形態】
【0015】
以下、本開示の例示的な実施例について図面を参照して説明する。理解を容易にするために、それには、本開示の実施例のさまざまな詳細が含まれており、それらは、単なる例示的なものと見なされるべきである。したがって、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載された実施例のさまざまな変更及び修正を実行できることを理解するべきである。同様に、わかりやすく簡潔に説明をするために、以下の説明では、公知の機能と構造の説明が省略される。
【0016】
図1は、本開示の画像を検索するための方法又は画像を検索するための装置を適用できる実施例の例示的なシステムアーキテクチャ100を示す。
【0017】
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104及びサーバ105を含み得る。ネットワーク104は、端末装置101、102、103とサーバ105との間の通信リンクの媒体を提供するために使用される。ネットワーク104は、有線、無線通信リンク又は光ファイバケーブルなどのさまざまな接続タイプを含み得る。
【0018】
ユーザは、端末装置101、102、103を使用して、ネットワーク104を介してサーバ105と対話することにより、メッセージなどを受信又は送信することができる。端末装置101、102、103には、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、インスタントメッセージングツール、メールボックスクライアント、ソーシャルプラットフォームソフトウェアなどのさまざまな通信クライアントアプリケーションがインストールされてもよい。
【0019】
端末装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合、それらは、スマートフォン、タブレットコンピュータ、電子書籍リーダー、MP3プレーヤー(MovingPictureExpertsGroupAudioLayerIII、ムービングピクチャーエキスパートグループオーディオレイヤー3)、MP4(MovingPictureExpertsGroupAudioLayerIV、ムービングピクチャーエキスパートグループオーディオレイヤー4)プレーヤー、ノートパソコン及びデスクトップコンピュータなどを含むがこれらに限定されない、ディスプレイを有し、且つウェブブラウジングをサポートするさまざまな電子デバイスであってもよい。端末装置101、102、103がソフトウェアである場合、それらは、上記に挙げた電子デバイスにインストールされてもよい。それらは、複数のソフトウェア又はソフトウェアモジュール(たとえば、分散サービスを提供するために使用される)として実装されてもよいし、単一のソフトウェア又はソフトウェアモジュールとして実装されてもよい。ここでは特に限定されない。
【0020】
サーバ105は、端末装置101、102、103が提示した画像に検索結果を提供するバックグラウンド検索サーバなどのさまざまなサービスを提供するサーバであってもよい。バックグラウンド検索サーバは、受信した検索要求などのデータを分析して処理し、処理結果(検索結果など)を端末装置にフィードバックすることができる。
【0021】
サーバ105には、画像を検索するためのシステムがインストールされる。当該システムは、統一アクセス層、高度な検索層(AdvancedSearch、ASと略称される)及び基本的な検索層を含む。
【0022】
1.統一アクセス層は、ターゲット画像を含むクエリ要求を受信し、クエリ要求を高度な検索層に渡して処理し、高度な検索層から返された検索結果を出力するために使用される。それは、PythonとPHPで実装でき、外界への最後のインターフェース層である。さらに、それは、前置処理、バックエンドサービスへのアクセス、及び後置処理も担当することができる。
【0023】
2.高度な検索層(AdvancedSearch、ASと略称される)は、ターゲット画像の特徴を抽出し、特徴を基本的な検索層に渡して処理し、基本的な検索層から受信した候補画像をマージして得られた検索結果を前記統一アクセス層に返すために使用される。高度な検索層は、最初に主体を検出し、次に特徴を抽出することができる。それは、検索結果をフィルタリングして統一アクセス層に返すこともできる。
【0024】
3.基本的な検索層は、シャードの少なくとも1つを含み、各シャードは、前記高度な検索層が提供する特徴に従って、ローカル磁気ディスクに記憶されたデータベース内の一致する候補画像を検索し、最高の類似スコアと同一スコアを有する所定数の候補画像を返すために使用される。それは、磁気ディスクからインデックスをロード又は読み取り、ASが提供する特徴に従って、インデックスから検索及びスコアリングし、最終的にスコアが最も高いK個の結果を返すという責任がある。基本的な検索層(BasicSearch、BSと略称される)では、すなわちBS内の各シャードはいずれも、要求を受信し、各シャードがインデックスの一部であるため、要求は、常にすべての異なるシャードのBSに送信される。たとえば、最終的にTOP200の結果が必要な場合、各シャードはいずれも、要求に応じてTOP200の結果を検索して取得し、このようにして、AS層で総インデックスのTOP200を取得することができる。
【0025】
なお、サーバは、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバはハードウェアである場合、複数のサーバからなる分散サーバクラスターとして実装されてもよいし、単一のサーバとして実装されてもよい。サーバはソフトウェアである場合、複数のソフトウェア又はソフトウェアモジュール(たとえば、分散サービスを提供するための複数のソフトウェア又はソフトウェアモジュール)として実装されてもよいし、単一のソフトウェア又はソフトウェアモジュールとして実装されてもよい。ここでは特に限定されない。サーバは、分散システムのサーバであってもよいし、ブロックチェーンと組み合わせたサーバであってもよい。サーバは、クラウドサーバであってもよいし、人工知能技術を備えたスマートクラウドコンピューティングサーバ又はスマートクラウドホストであってもよい。
【0026】
なお、本開示の実施例が提供する画像を検索するための方法は、一般にサーバ105により実行され、したがって、画像を検索するための装置は、一般にサーバ105に設けられる。
【0027】
図1の端末装置、ネットワーク及びサーバの数は、単なる例示であることが理解されるべきである。実装のニーズに応じて、任意の数の端末装置、ネットワーク及びサーバを有することができる。
【0028】
図2を引き続き参照すると、それは、本開示による画像を検索するための方法の一実施例のフロー200を示す。画像を検索するための当該方法は、以下のステップを含む。
【0029】
ステップ201:ターゲット画像を含むクエリ要求を受信したことに応答して、ターゲット画像からターゲット主体を検出する。
【0030】
本実施例では、画像を検索するための方法の実行主体(たとえば、図1に示すサーバ)は、有線接続方法又は無線接続方法により、ユーザがそれを使用して画像を検索する端末から、ターゲット画像を含むクエリ要求を受信することができる。ターゲット主体は、従来技術のさまざまな手段により、ターゲット画像からを検出することができる。たとえば、検出モデルによって検出する。ターゲット主体のタイプに応じて、対応する検出モデルを選択することができる。ターゲット主体が商品である場合、事前に大量の商品画像をサンプルとして商品検出モデルを訓練予測することができる。次に、検出時に、ターゲット画像を商品検出モデルに入力することにより、ターゲット画像から商品主体を検出することができる。
【0031】
オプションで、検出前に、ユーザが入力した画像の画像サイズ調整などの前処理操作を実行し、デフォルトでは、検出モデルと特徴抽出モデルに渡された画像が大きすぎるのを避けるために、最小辺の長さが1000以下である。次に、検出モデルによって、ターゲット主体を検出し、複数のターゲット主体を検出した場合、サイズや信頼度の小さい検出フレームをフィルタリングし、検出結果を信頼度でソートし、最大TOP2の結果を取得することができる。信頼差が大きい場合は、TOP1の結果しか取得することができない。
【0032】
ステップ202:検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、ターゲット主体から主体特徴を抽出する。
【0033】
本実施例では、検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合は、検出されたターゲット主体が信頼できることを意味し、ターゲット主体から特徴を抽出することができ、そうでない場合、画像全体から特徴を抽出する必要があり、その特定のプロセスは、フロー400に示すとおりである。主体特徴は、同一特徴、類似特徴及びカテゴリを含む。同一特徴は、ターゲット主体の局所画像一致を実行するために使用される際の特徴であり、注意力メカニズムの畳み込みニューラルネットワークにより抽出することができる。類似特徴は、ターゲット主体の完全画像一致を実行するために使用される際の特徴であり、畳み込みニューラルネットワークにより抽出することができる。カテゴリは、「QRコード(登録商標)、顔、植物、文字、料理、商品」の6種類のカテゴリなどの粗粒度カテゴリであってもよい。カテゴリは、80,000種類のカテゴリなどの細粒度カテゴリであってもよい。
【0034】
特徴モデルによって、同一特徴、類似特徴及びカテゴリを抽出することができる。特徴モデルは、数千万のデータ訓練に基づいて得られた深層学習モデルであり、従来の機械学習特徴モデルと比較して、より強力な表現能力を有している。
【0035】
ステップ203:ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得する。
【0036】
本実施例では、多数の候補画像は、データベースに事前に記憶され、各候補画像の主体特徴も事前に抽出されている。したがって、ターゲット画像と候補画像との間で主体特徴一致を実行することができる。ターゲット画像の類似特徴と候補画像の類似特徴との間の距離を計算して、候補画像の類似スコアを取得し、その距離が遠いほど、スコアが低くなっている。ターゲット画像の同一特徴と候補画像の同一特徴との間の距離を計算して、候補画像の同一スコアを取得し、その距離が遠いほど、スコアが低くなっている。コサイン距離、ユークリッド距離などのさまざまな既存の距離計算方法を使用することができる。
【0037】
ステップ204:検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択する。
【0038】
本実施例では、候補画像の場合、最初に降順で同一スコアをソートし、そして、同一スコアの同じ候補画像を類似スコアの降順でソートすることができる。次に、上位にある所定数の候補画像を検索結果として出力する。類似スコアと同一スコアの加重和でソートすることもできる。データベースには、候補画像が記憶されるだけでなく、候補画像に対応する主体の関連情報が記憶され、それは、リンク付きの候補画像を出力することができる。ユーザが候補画像をクリックすると、候補画像に対応する主体の関連情報にリンクすることができる。
【0039】
オプションで、類似スコアと同一スコアの低い候補画像を事前にフィルタリングして、ソートに参加させないようにすることができる。
【0040】
本開示の上記実施例が提供する方法は、同一及び類似の画像を識別する精度を向上させることができ、検出モデル及び特徴抽出モデルの能力に依存しない。
【0041】
本実施例のいくつかのオプションの実装方法では、ターゲット主体から主体特徴を抽出することは、類似特徴モデルによって、ターゲット主体から類似特徴を抽出することと、同一特徴モデルによって、ターゲット主体から局所画像の同一特徴を抽出することと、分類モデルによって、ターゲット主体からカテゴリを抽出することと、を含む。類似特徴モデル、同一特徴モデル及びターゲット分類モデルによって、類似特徴、同一特徴及びカテゴリをそれぞれ抽出することができる。ここで、類似特徴モデルは、ユーザが入力したターゲット画像とデータベース画像との類似度を計算するために使用される、ディープネットワークに基づくモデルである。同一特徴モデルは、ディープネットワークに基づく局所画像特徴であり、同じ商品間の局所特性をより適切に表すことができる。ターゲット分類モデルは、入力画像を分類するディープネットワークに基づく分類モデルであり、入力画像内の非ターゲットの要求をフィルタリングするために使用される。
【0042】
類似特徴モデルは、通常の畳み込みニューラルネットワークであってもよい。同一特徴モデルは、注意力メカニズムに基づく畳み込みニューラルネットワークであってもよい。このようにして、同一特徴及び類似特徴を、ターゲットを絞った方法で抽出することができ、それにより同じ画像及び類似画像をより正確に識別することができる。画像の一致速度が向上している。
【0043】
ターゲット分類モデルは、粗粒度カテゴリモデルと細粒度カテゴリモデルの2つを含むこともできる。粗粒度カテゴリモデルは、6種類のターゲットを識別することができる。細粒度カテゴリモデルは、80,000種類のターゲットを識別することができる。このようにして、非ターゲットの画像を事前に粗粒度モデルによってフィルタリングして、無駄な作業を避けることができる。2つの分類モデルによって、それぞれ2つの分類結果を取得することができる。
【0044】
本実施例のいくつかのオプションの実装方法では、当該方法は、検出フレームのサイズがサイズ閾値よりも小さいか、又は信頼度が第2閾値よりも小さい検出フレームをフィルタリングすることをさらに含む。ターゲット検出時には、複数のターゲット主体が検出される場合があり、ユーザが検索したいターゲットは確実に意図的にズームインされるため、サイズに応じて信頼できないものをフィルタリングすることができる。また、信頼性の低いターゲット主体をフィルタリングすることもできる。このようにして、後続の一致プロセスの計算量を軽減し、クエリの速度と精度を向上させることができる。
【0045】
本実施例のいくつかのオプションの実装方法では、当該方法は、検出フレームの数が1よりも大きい場合、各ターゲット主体の検出フレームの位置、面積及び候補画像の類似スコアと同一スコアに従って一意のターゲット主体を決定することをさらに含む。前のフィルタリングの後、1つ以上の信頼できるターゲット主体が存在する可能性があり、検出フレームの位置と面積に従ってフィルタリングすることを選択することができ、画像の中央にあり、且つ面積が所定の面積閾値を超えるターゲット主体を保持する。複数のターゲット主体がさらにある場合、一致プロセスの類似スコアと同一スコアでフィルタリングする。たとえば、ターゲット主体Aの検索結果では、類似スコアと同一スコアが0.5以下であるのに対し、ターゲット主体Bの検索結果では、類似スコアと同一スコアが最大0.9である場合、ターゲット主体Bは、ユーザが検索したい主体と見なされる。
【0046】
本実施例のいくつかのオプションの実装方法では、類似スコアと同一スコアに従って、検索結果の出力として所定数の候補画像を選択し、それは、候補画像の類似スコアと同一スコアに従って候補画像の一致度を計算することを含む。一致度が最も高い第1候補画像がフィルタリング条件を満たしていない場合、検索結果の出力として、一致度の降順で所定数の候補画像を選択する。候補画像の類似スコアと同一スコアの加重和を一致度として使用することができ、そのうちの同一スコアの重みをより大きく設定することができる。一致度が最も高い候補画像を第1候補画像と名付け、第1候補画像がフィルタリング条件を満たしている場合、ユーザが送信した画像が識別されるタイプではない(たとえば、商品画像ではない)と見なされ、検索結果を返すことを拒否する。第1候補画像の一部のパラメータがフィルタリング条件を満たしていない場合、検索結果を出力することができる。このようにして、識別拒否機能を実現することができ、非ターゲット画像の入力に対して、検索結果が出力されない。
【0047】
本実施例のいくつかのオプションの実装方法では、フィルタリング条件は、以下のうちの少なくとも1つを含む。
【0048】
5つのグループのフィルタリング条件を以下に示し、閾値は、「第1」、「第2」...で区別され、昇順で閾値をソートする。つまり、第1同一閾値<第2同一閾値<第3同一閾値<第4同一閾値<第5同一閾値であり、第1類似閾値<第2類似閾値<第3類似閾値<第4類似閾値<第5類似閾値である。
【0049】
1.第1候補画像は、同一スコアが第1同一閾値よりも小さく、類似スコアが第1類似閾値よりも小さい。返されたTop1結果の同一スコアや類似スコアなどで、異なる閾値を設定し、粗いフィルタリングを実行する。
【0050】
2.第1候補画像は、同一スコアが第2同一閾値よりも小さく、類似スコアが第2類似閾値よりも小さく、ターゲット主体の粗粒度カテゴリと第1候補画像の粗粒度カテゴリはいずれも、所定の粗粒度カテゴリに属する。分類モデルには、粗粒度モデルが粗粒度を出力するカテゴリ(たとえば、6タイプ)、細粒度モデルが細粒度を出力するカテゴリ(たとえば、80,000種類のタイプ)の2つのタイプがある。それは、主に非ターゲットのカテゴリをフィルタリングするために使用される。たとえば、ターゲットが商品である場合、非商品カテゴリ(QRコード(登録商標)、顔、植物、文字、料理)をフィルタリングすることができる。
【0051】
3.第1候補画像は、同一スコアが第3同一閾値よりも小さく、類似スコアが第3類似閾値よりも小さく、ターゲット主体の細粒度カテゴリと第1候補画像の細粒度カテゴリとの差異は、所定の差異閾値よりも大きい。たとえば、ターゲット主体の細粒度カテゴリでのトップスの確率が0.9であり、第1候補画像の細粒度カテゴリでのトップスの確率が0.05である場合、差異が大きすぎるため、一致したTOP1の結果が信頼できず、残りの結果の信頼性はさらに低くるため、すべての候補画像は、フィルタリングされる。
【0052】
4.第1候補画像は、同一スコアが第4同一閾値よりも小さく、類似スコアが第4類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定の細粒度カテゴリに属する頻度、及び第1候補画像の細粒度カテゴリが所定の細粒度カテゴリに属する頻度はいずれも、所定の頻度閾値よりも大きい。カテゴリには複数のレベルがあり、前のカテゴリの出現頻度を統計することができる。たとえば、「本の表紙」、「スクリーンショット」、「不自然な画像」、「絵画」、「病理図」、「ボトルドリンク」、「建築」、「金物」などの非商品カテゴリをフィルタリングする。
【0053】
5.第1候補画像がeコマースからのものである場合、第1候補画像は、同一スコアが第5同一閾値よりも小さく、類似スコアが第5類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定のアイテムカテゴリに属する。「本」、「衣類と下着」、「自動車の付属品」、「ギフトバッグ」、「楽器玩具」などのeコマースのシナリオで誤認しやすい商品の種類をフィルタリングすることができる。
【0054】
上記フィルタリング条件により、非ターゲット画像をフィルタリングし、ユーザの意図に真に合ったリコール結果を返すことができる。
【0055】
図3を引き続き参照すると、図3は、本実施例による画像を検索するための方法の適用シナリオの概略図である。図3の適用シナリオでは、ユーザは、端末を介して左端の画像を入力する。端末は、画像をサーバにアップロードし、そしてサーバは、最初に主体検出を実行し、2つの主体を検出し、次に主体の面積sに応じて1つの主体をフィルタリングし、人体領域を保持する。続いて、人体の特徴を抽出して分類し、6種類の粗粒度分類結果と80,000種類の分類結果を取得する。人体領域の画像をデータベース内の画像と照合して、各候補画像の同一スコアと類似スコアを取得する(ペアリングスコアは、画像全体の特徴のペアリング特徴に従って計算することもできる)。その後、ソートすると、左から2番目の図は、TOP1の結果である。TOP1の結果に従って、ユーザが入力した画像が商品画像であるかどうかを判断する。TOP1の結果がフィルタリング条件を満たしていない場合、検索結果を出力することができ、そうでない場合、検索結果の出力を拒否する。
【0056】
図4をさらに参照すると、それは、画像を検索するための方法のさらに別の実施例のフロー400を示す。画像を検索するための当該方法のフロー400は、以下のステップを含む。
【0057】
ステップ401:ターゲット画像を含むクエリ要求を受信したことに応答して、ターゲット画像からターゲット主体を検出する。
【0058】
ステップ401は、基本的にステップ201と同じであるため、繰り返されない。
【0059】
ステップ402:ターゲット主体が検出されない場合、又は検出されたターゲット主体の検出フレームの信頼度が第1閾値以下である場合、ターゲット画像から同一特徴、類似特徴、カテゴリ及びペアリング特徴を含む画像全体の特徴を抽出する。
【0060】
本実施例では、同一特徴、類似特徴、及びカテゴリを抽出する方法は、基本的にステップ202と同じであるため、繰り返されない。ペアリング特徴は、類似特徴に似ているが、コンテンツが少なくなっており、ペアリング特徴は、2つの画像がペアになっているかどうかを判断するために使用される特徴である。ペアリングモデルによりペアリング特徴を抽出することができる。ペアリングモデルも畳み込みニューラルネットワークの一種であるが、それは、類似特徴モデルの構造よりも小さくなっている。
【0061】
ステップ403:ターゲット画像の画像全体の特徴をデータベースに事前に記憶された候補画像の画像全体の特徴と照合して、候補画像の類似スコア、同一スコア及びペアリングスコアを取得する。
【0062】
本実施例では、類似スコアと同一スコアの計算プロセスは、基本的にステップ203と同じであるため、繰り返されない。ペアリングスコアは、ペアリング特徴間の距離に基づいて計算され、距離が遠いほど、ペアリングスコアが低くなっている。コサイン距離、ユークリッド距離などのさまざまな既存の距離計算方法を使用することができる。
【0063】
ステップ404:検索結果の出力として、類似スコア、同一スコア及びペアリングスコアに従って所定数の候補画像を選択する。
【0064】
本実施例では、一致度は、類似スコア、同一スコア及びペアリングスコアの加重和により計算することができ、次に、検索結果の出力として、一致度の降順で所定数の候補画像を選択する。フィルタリング条件では、同一スコアと類似スコアを組み合わせてペアリングスコアの閾値を設定することもできる。たとえば、フィルタリング条件の第1セットは、第1候補画像は、同一スコアが第1同一閾値よりも小さく、類似スコアが第1類似閾値よりも小さく、ペアリングスコアは、第1ペアリング閾値よりも小さいように設定されてもよい。
【0065】
図4から分かるように、図2に対応する実施例と比較して、本実施例における画像を検索するための方法のフロー400は、信頼できるターゲット主体が検出されていない場合に、画像全体の特徴が抽出され、ペアリング特徴が追加されることを具体化する。それにより一致検索の精度を向上させることができる。信頼できるターゲット主体が検出されていない場合のランダム一致も避けられる。
【0066】
図5をさらに参照すると、上記の各図に示される方法の実現として、本開示は、画像を検索するための装置の一実施例を提供し、当該装置の実施例は、図2に示される方法の実施例に対応し、当該装置は、さまざまな電子デバイスに特に適用することができる。
【0067】
図5に示すように、本実施例の画像を検索するための装置500は、検出ユニット501、抽出ユニット502、一致ユニット503及び出力ユニット504を含む。ここで、検出ユニット501は、ターゲット画像を含むクエリ要求を受信したことに応答して、ターゲット画像からターゲット主体を検出するように構成されている。抽出ユニット502は、検出されたターゲット主体の検出フレームの信頼度が第1閾値よりも大きい場合、ターゲット主体から同一特徴、類似特徴及びカテゴリを含む主体特徴を抽出するように構成されている。一致ユニット503は、ターゲット画像の主体特徴を、データベースに事前に記憶された候補画像の主体特徴と照合して、候補画像の類似スコアと同一スコアを取得するように構成されている。出力ユニット504は、検索結果の出力として、類似スコアと同一スコアに従って所定数の候補画像を選択するように構成されている。
【0068】
本実施例では、画像を検索するための装置600の検出ユニット501、抽出ユニット502、一致ユニット503及び出力ユニット504の特定の処理は、図2に対応する実施例におけるステップ201、ステップ202、ステップ203、及びステップ204を参照することができる。
【0069】
本実施例のいくつかのオプションの実装方法では、抽出ユニット502は、ターゲット主体が検出されない場合、又は検出されたターゲット主体の検出フレームの信頼度が第1閾値以下である場合、ターゲット画像から同一特徴、類似特徴、カテゴリ及びペアリング特徴を含む画像全体の特徴を抽出するようにさらに構成されている。一致ユニット503は、ターゲット画像の画像全体の特徴を、データベースに事前に記憶された候補画像の画像全体の特徴と照合して、候補画像の類似スコア、同一スコア及びペアリングスコアを取得するようにさらに構成されている。出力ユニット504は、検索結果の出力として、類似スコア、同一スコア及びペアリングスコアに従って所定数の候補画像を選択するようにさらに構成されている。
【0070】
本実施例のいくつかのオプションの実装方法では、抽出ユニット502は、類似特徴モデルによって、ターゲット主体から類似特徴を抽出し、同一特徴モデルによって、ターゲット主体から局所画像の同一特徴を抽出し、分類モデルによって、ターゲット主体からカテゴリを抽出するようにさらに構成されている。
【0071】
本実施例のいくつかのオプションの実装方法では、装置500は、フィルタリングユニット(図示せず)をさらに含み、検出フレームのサイズがサイズ閾値よりも小さいか、又は信頼度が第2閾値よりも小さい検出フレームをフィルタリングするように構成されている。
【0072】
本実施例のいくつかのオプションの実装方法では、フィルタリングユニットは、検出フレームの数が1よりも大きい場合、各ターゲット主体の検出フレームの位置、面積及び候補画像の類似スコアと同一スコアに従って一意のターゲット主体を決定するようにさらに構成されている。
【0073】
本実施例のいくつかのオプションの実装方法では、出力ユニット504は、候補画像の類似スコアと同一スコアに従って候補画像の一致度を計算するようにさらに構成されている。一致度が最も高い第1候補画像がフィルタリング条件を満たしていない場合、検索結果の出力として、一致度の降順で所定数の候補画像を選択する。
【0074】
本実施例のいくつかのオプションの実装方法では、フィルタリング条件は、
第1候補画像は、同一スコアが第1同一閾値よりも小さく、類似スコアが第1類似閾値よりも小さいこと、
第1候補画像は、同一スコアが第2同一閾値よりも小さく、類似スコアが第2類似閾値よりも小さく、ターゲット主体の粗粒度カテゴリと第1候補画像の粗粒度カテゴリはいずれも、所定の粗粒度カテゴリに属すること、
第1候補画像は、同一スコアが第3同一閾値よりも小さく、類似スコアが第3類似閾値よりも小さく、ターゲット主体の細粒度カテゴリと第1候補画像の細粒度カテゴリとの差異は、所定の差異閾値よりも大きいこと、
第1候補画像は、同一スコアが第4同一閾値よりも小さく、類似スコアが第4類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定の細粒度カテゴリに属する頻度、及び第1候補画像の細粒度カテゴリが所定の細粒度カテゴリに属する頻度はいずれも、所定の頻度閾値よりも大きいこと、
第1候補画像がeコマースからのものである場合、第1候補画像は、同一スコアが第5同一閾値よりも小さく、類似スコアが第5類似閾値よりも小さく、ターゲット主体の細粒度カテゴリが所定のアイテムカテゴリに属することのうちの少なくとも1つを含む。
【0075】
本開示の技術的解決手段では、関係するユーザの個人情報の取得、記憶及び適用などはいずれも、関連法規の規定に準拠し、公序良俗に違反していない。
【0076】
本開示の実施例によれば、本開示は、電子デバイス、可読記憶媒体及びコンピュータプログラム製品をさらに提供する。
【0077】
電子デバイスであって、少なくとも1つのプロセッサ、及び前記少なくとも1つのプロセッサに通信可能に接続されるメモリを含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサがフロー200又は400に記載された方法を実行できる。
【0078】
コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、前記コンピュータにフロー200又は400に記載された方法を実行させるために使用される。
【0079】
コンピュータプログラム製品であって、コンピュータプログラムを含み、前記コンピュータプログラムがプロセッサによって実行されると、フロー200又は400に記載された方法を実現する。
【0080】
図6は、本開示の実施例を実施するために使用され得る例示的な電子デバイス600の概略ブロック図を示す。電子デバイスは、ラップトップ、デスクトップコンピュータ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適切なコンピュータなどのさまざまな形式のデジタルコンピュータを表すことを目的としている。電子デバイスは、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス及びその他の同様のコンピューティングデバイスなどのさまざまな形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は、単なる例であり、本明細書で説明及び/又は要求される本開示の実現を限定することを意図したものではない。
【0081】
図6に示すように、デバイス600は、読み取り専用メモリ(ROM)602に記憶されるコンピュータプログラム又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされるコンピュータプログラムに応じて、さまざまな適切な操作及び処理を実行できる計算ユニット601を含む。RAM603には、デバイス600の操作に必要なさまざまなプログラムやデータが記憶されてもよい。計算ユニット601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
【0082】
デバイス600における複数のコンポーネントは、I/Oインターフェース605に接続されており、キーボード、マウスなどの入力ユニット606と、さまざまなタイプのディスプレイ、スピーカーなどの出力ユニット607と、磁気ディスク、光ディスクなどの記憶ユニット608と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット609とを含む。通信ユニット609は、デバイス600がインターネットのコンピュータネットワーク及び/又はさまざまな電気通信ネットワークなどを介して、他のデバイスと情報/データを交換することを可能にする。
【0083】
計算ユニット601は、処理及び計算能力を有するさまざまな汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット601のいくつかの例として、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、さまざまな専用の人工知能(AI)計算チップ、各種の機械学習モデルアルゴリズムを実行する計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット601は、画像を検索するための方法などの上記の各方法及び処理を実行する。たとえば、いくつかの実施例では、画像を検索するための方法は、記憶ユニット608などの機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実装されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を介してデバイス600にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM603にロードされ、計算ユニット601によって実行される場合、上記の画像を検索するための方法の1つ又は複数のステップが実行されてもよい。代替的に、他の実施例では、計算ユニット601は、他の任意の適切な手段(たとえば、ファームウェアによって)によって、画像を検索するための方法を実行するように構成されてもよい。
【0084】
上記に記載されたシステム及び技術のさまざまな実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、ロードプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実装されてもよい。これらのさまざまな実施形態は、1つ又は複数のコンピュータプログラムに実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈され得、当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、且つデータ及び命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができることを含み得る。
【0085】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを採用してプログラミングすることができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供され得、それによりプログラムコードは、プロセッサ又はコントローラによって実行されると、フローチャート及び/又はブロック図で示される機能/操作が実施される。プログラムコードは、完全に機械で実行され、部分的に機械で実行され、独立したソフトウェアパッケージとして部分的に機械で実行され、部分的にリモートマシンで実行され、又は完全にリモートマシン又はサーバで実行されてもよい。
【0086】
本開示のコンテキストでは、機械読み取り可能な媒体は、有形的な媒体であってもよく、命令実行システム、装置又はデバイスによって使用されるか、又は命令実行システム、装置又はデバイスと組み合わせて使用されるプログラムを含むか、又は記憶することができる。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置又はデバイス、又は上記の任意の適切な組み合わせを含み得るが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ又は複数の配線に基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学的記憶デバイス、磁気的記憶デバイス、又は上記に記載された任意の適切な組み合わせを含む。
【0087】
ユーザとの対話を提供するために、コンピュータ上で、本明細書で説明されるシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するための表示装置(たとえば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(たとえば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとの対話を提供するために使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(たとえば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力、音声入力又は触覚入力を含む)でユーザからの入力を受信することができる。
【0088】
本明細書で説明されるシステム及び技術は、バックグラウンドコンポーネントを含む計算システム(たとえば、データサーバとして)、又はミドルウェアコンポーネントを含む計算システム(たとえば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含む計算システム(たとえば、グラフィカルユーザインターフェース又はインターネットブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインターフェース又は当該インターネットブラウザを介して、本明細書で説明されるシステム及び技術の実施形態と対話することができる)、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含む計算システムで実施することができる。任意の形態又は媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって、システムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
【0089】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介して対話する。対応するコンピュータ上で実行され、クライアント-サーバの関係を互いに有するコンピュータプログラムによってクライアントとサーバの関係を生成する。サーバは、クラウドサーバであってもよいし、分散システムのサーバであってもよいし、又はブロックチェーンと組み合わせたサーバであってもよい。
【0090】
上記に示されるさまざまな形態のフローを使用して、再ソートし、ステップを追加又は削除することができることが理解されるべきである。たとえば、本開示に記載されている各ステップは、並列に実行されてもよいし、順次に実行されてもよいし、異なる順序で実行されてもよく、本開示で開示されている技術的解決手段が所望の結果を実現できる限り、本明細書では限定しない。
【0091】
上記特定の実施形態は、本開示の保護範囲を限定するものではない。当業者は、設計要件及び他の要因に応じて、さまざまな修正、組み合わせ、サブコンビネーション及び置換を行うことができると理解すべきである。本開示の精神及び原則内で行われる任意の修正、同等の置換及び改善などはいずれも、本開示の保護範囲内に含まれるべきである。

図1
図2
図3
図4
図5
図6