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

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

▶ ネイバー コーポレーションの特許一覧 ▶ LINE株式会社の特許一覧

特許7085600画像間の類似度を利用した類似領域強調方法およびシステム
<>
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図1
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図2
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図3
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図4
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図5
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図6
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図7
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図8
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図9
  • 特許-画像間の類似度を利用した類似領域強調方法およびシステム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-08
(45)【発行日】2022-06-16
(54)【発明の名称】画像間の類似度を利用した類似領域強調方法およびシステム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220609BHJP
   G06T 1/00 20060101ALI20220609BHJP
【FI】
G06T7/00 350C
G06T1/00 200E
【請求項の数】 15
(21)【出願番号】P 2020147716
(22)【出願日】2020-09-02
(65)【公開番号】P2021039758
(43)【公開日】2021-03-11
【審査請求日】2020-09-02
(31)【優先権主張番号】10-2019-0108964
(32)【優先日】2019-09-03
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】321003371
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】金 仁植
(72)【発明者】
【氏名】全 希宰
(72)【発明者】
【氏名】高 秉秀
(72)【発明者】
【氏名】金 永俊
(72)【発明者】
【氏名】金 鍾澤
【審査官】松浦 功
(56)【参考文献】
【文献】特表2019-512829(JP,A)
【文献】特開2014-191369(JP,A)
【文献】特開2017-156886(JP,A)
【文献】米国特許出願公開第2014/0089326(US,A1)
【文献】JUN, HeeJae et al.,Combination of Multiple Global Descriptors for Image Retrieval [online],2019年03月26日,インターネット,<URL: https://arxiv.org/pdf/1903.10663v1.pdf>,[検索日 2021.09.03]
【文献】STYLIANOU, A. et al.,Visualizing Deep Similarity Networks,2019 IEEE Winter Conference on Applications of Computer Vision (WACV) [online],IEEE,2019年01月,pp. 2029-2037,インターネット,<URL: https://ieeexplore.ieee.org/document/8659098>,[検索日 2021.08.31]
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06T 1/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
画像間の類似度を計算する畳み込みニューラルネットワーク(CNN)モデルで空間情報を復元する空間類似度マップ(ssm)を構成するための空間類似度マップモジュール
を含み、
前記空間類似度マップモジュールは、前記CNNモデルの出力に接続される複数のプーリング分岐を含み、
前記各プーリング分岐は、前記CNNモデルが出力する特徴マップをプーリングして互いに異なるグローバルディスクリプタを生成するものであり、
前記空間類似度マップモジュールは、
前記各プーリング分岐が出力するグローバルディスクリプタに基づくベクトルを利用して前記空間類似度マップを構成するものであり、前記各プーリング分岐が出力する複数のグローバルディスクリプタを連結した組み合わせディスクリプタに基づき学習するモデルを含み、
各プーリング分岐の埋め込みの次元が異なる場合、埋め込みそれぞれに加重値を付与すること、
を特徴とする、コンピュータシステム。
【請求項2】
前記空間類似度マップモジュールは、
各プーリング分岐に全結合(FC)層を有するネットワークモデルを含むこと
を特徴とする、請求項1に記載のコンピュータシステム。
【請求項3】
前記空間類似度マップモジュールは、
前記FC層の埋め込みのあとにプーリング結合を行って得られる類似度マップを生成した後、各プーリング分岐の類似度マップを平均して前記空間類似度マップを生成すること
を特徴とする、請求項2に記載のコンピュータシステム。
【請求項4】
前記少なくとも1つのプロセッサは、
前記複数のグローバルディスクリプタに対して空間的に分布された類似指数を視覚化すること
を特徴とする、請求項1に記載のコンピュータシステム。
【請求項5】
前記少なくとも1つのプロセッサは、
前記空間類似度マップに基づいてクエリ画像を他の画像の埋め込みと比較し、類似指数に寄与した領域である核心領域を視覚化する核心領域視覚化モジュール
をさらに含む、請求項1に記載のコンピュータシステム。
【請求項6】
前記少なくとも1つのプロセッサは、前記空間類似度マップモジュールを実現するためのグラフィカル処理ユニット(GPU)、および
前記核心領域視覚化モジュールを実現するための中央処理ユニット(CPU)を含む、
請求項に記載のコンピュータシステム。
【請求項7】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
CNNモデルで取得した特徴マップに基づいてクエリ画像を他の画像と比較し、前記クエリ画像で前記他の画像との類似指数に寄与した領域である核心領域を視覚化する核心領域視覚化モジュール
含み、
前記核心領域視覚化モジュールは、
前記クエリ画像から、物体が含まれる少なくとも1つの物体領域を分離し、
前記物体領域それぞれに対して類似画像を検索して前記類似画像との類似指数に寄与した核心領域を抽出し、
前記物体領域別に、核心領域を前記クエリ画像上に配置して視覚化する、
コンピュータシステム。
【請求項8】
前記核心領域視覚化モジュールは、
前記クエリ画像と前記他の画像の間の空間類似度マップで閾値以上の類似度を有する領域を、前記核心領域として抽出すること
を特徴とする、請求項に記載のコンピュータシステム。
【請求項9】
前記核心領域視覚化モジュールは、
前記クエリ画像に対する検索結果として前記他の画像を提供する場合、前記クエリ画像上に前記核心領域を他の領域と区分して表示すること
を特徴とする、請求項に記載のコンピュータシステム。
【請求項10】
コンピュータシステムが実行する類似領域強調方法であって、
前記コンピュータシステムは、少なくとも1つのプロセッサを含み、
当該類似領域強調方法は、
前記少なくとも1つのプロセッサが、CNNモデルで特徴マップをプーリングした状態のベクトルを利用して空間情報を復元する空間類似度マップを構成する段階、および
前記少なくとも1つのプロセッサが、前記空間類似度マップに基づいてクエリ画像を他の画像と比較し、類似指数に寄与した領域である核心領域を視覚化する段階
含み、
前記視覚化する段階は、
前記クエリ画像から、物体が含まれる少なくとも1つの物体領域を分離する段階、
前記物体領域それぞれに対して類似画像を検索して前記類似画像との類似指数に寄与した核心領域を抽出する段階、および
前記物体領域別に、核心領域を前記クエリ画像上に配置して視覚化する段階
を含む、
類似領域強調方法。
【請求項11】
前記CNNモデルは、多重プーリング分岐における複数のグローバルディスクリプタを連結して学習するモデルであって、各プーリング分岐にFC層を有するネットワークモデルを含み、
前記構成する段階は、
前記FC層の埋め込みのあとにプーリング結合を行って得られる類似度マップを生成した後、各プーリング分岐の類似度マップを平均して前記空間類似度マップを生成すること
を特徴とする、請求項10に記載の類似領域強調方法。
【請求項12】
前記視覚化する段階は、
前記クエリ画像と前記他の画像の間の空間類似度マップで閾値以上の類似度を有する領域を、前記核心領域として抽出する段階
を含む、請求項10に記載の類似領域強調方法。
【請求項13】
前記視覚化する段階は、
前記クエリ画像に対する検索結果として前記他の画像を提供する場合、前記クエリ画像上に前記核心領域を他の領域と区分して表示すること
を特徴とする、請求項10に記載の類似領域強調方法。
【請求項14】
請求項10~13のうちのいずれか一項に記載の類似領域強調方法をコンピュータシステムに実行させる、コンピュータプログラム。
【請求項15】
請求項10~13のうちのいずれか一項に記載の類似領域強調方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、埋め込みベクトル(embedding vector)を利用して類似の画像を検索する技術に関する。
【背景技術】
【0002】
畳み込みニューラルネットワーク(CNN:convolution neural network)基盤の画像ディスクリプタは、分類(classification)、物体検出(object detection)、セマンティックセグメンテーション(semantic segmentation)を含んだコンピュータビジョン技術において一般的なディスクリプタとして利用されている。この他にも、画像キャプション(image captioning)や画像質問応答(visual question answering)のように、極めて意味のある研究にも利用されている。
【0003】
CNN基盤の画像ディスクリプタを活用する最近の研究では、ローカルディスクリプタマッチング(local descriptor matching)に依存する従来の方法を適用しており、空間検証(spatial verification)によって再び順位をつける即刻的なレベル画像検索のために適用されている。
【0004】
画像検索(image retrieval)分野において、CNNのあとにプーリング(average pooling、max pooling、generalized mean poolingなど)結果として出た特徴をグローバルディスクリプタ(global descriptor)として使用することができる。また、畳み込み層(convolution layers)のあとに全結合層(FC層(fully connected layers))を追加し、FC層から出た特徴をグローバルディスクリプタとして使用することもできる。ここで、FC層は、次元の数(dimensionality)を減少させるために使用されるものであり、次元の数を減少する必要がない場合にはFC層は省略することができる。
【0005】
一例として、特許文献1(登録日2018年11月5日)には、畳み込みニューラルネットワークを利用した映像検索技術が開示されている。
【0006】
画像検索分野において、深層畳み込みニューラルネットワークを利用して多次元ベクトルである画像埋め込みを生成する。与えられたクエリ画像に対して埋め込まれたクエリ画像と関連して埋め込まれたインデックス画像の類似性に基づいてインデックス画像の順位が決定されるが、このとき、類似性の一般的な選択は、単位長さからなる2つの画像の類似性である。
【0007】
このような画像埋め込みにより、鳥の種(CUB200データセット)や自動車のモデル(CARS196データセット)を識別することができる。数千個の類似画像のうちから最も類似する画像として同じ種やモデルを探索することを、細部(fine-grained)画像検索作業と呼ぶ。
【0008】
近年では、CNNバックボーン(backbone)で画像埋め込みを生成する方法や、ネットワークを最適化するための損失関数を利用する方法などを適用している。
【0009】
類似性学習分野において、グローバルプーリング方法(global pooling method)によって生成された代表的なグローバルディスクリプタには、畳み込みのサムプーリング(SPoC:sum pooling of convolution)、畳み込みの最大活性化(MAC:maximum activation of convolution)、一般化平均プーリング(GeM:generalized-mean pooling)が含まれる。各グローバルディスクリプタはそれぞれ属性が異なるため、その性能はデータセットによって変わる。例えば、画像表現において、SPoCはより大きな領域を活性化させる反面、MACはより多くの集中領域を活性化させる。能力を高めるために、加重和プーリング(weighted sum pooling)、加重値GeM、領域(regional)MAC(R-MAC)などのような代表的なグローバルディスクリプタの変形が存在する。
【先行技術文献】
【特許文献】
【0010】
【文献】韓国登録特許第10-1917369号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
グローバルプーリング方法によって生成されたグローバルディスクリプタに対して空間的に分布された類似指数を視覚化する方法を提供する。
【0012】
画像間の類似度を計算するCNNモデルでベクトルを用いて空間情報を復元する類似度マップ(similarity map)を構成する方法を提供する。
【0013】
CNN特徴またはその組み合わせによって得られた画像間の類似度を利用して類似領域を強調する方法を提供する。
【課題を解決するための手段】
【0014】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、画像間の類似度を計算する畳み込みニューラルネットワーク(CNN:convolution neural network)モデルで空間情報を復元する空間類似度マップ(ssm:spatial similarity map)を構成するための空間類似度マップモジュールを含み、前記空間類似度マップモジュールは、前記CNNモデルで特徴マップをプーリング(pooling)した状態のベクトルを利用して前記空間類似度マップを構成するものであり、多重プーリング分岐における複数のグローバルディスクリプタ(global descriptor)を連結して(concatenate)学習するモデルを含むことを特徴とする、コンピュータシステムを提供する。
【0015】
一側面によると、前記空間類似度マップモジュールは、各プーリング分岐に全結合(FC:fully-connected)層を有するネットワークモデルを含んでよい。
【0016】
他の側面によると、前記空間類似度マップモジュールは、前記FC層の埋め込みのあとにプーリング結合(aggregation)が含まれる類似度マップを生成した後、各プーリング分岐の類似度マップを平均して前記空間類似度マップを生成してよい。
【0017】
また他の側面によると、前記空間類似度マップモジュールは、各プーリング分岐の埋め込みの次元が異なる場合、埋め込みそれぞれに加重値を付与してよい。
【0018】
また他の側面によると、前記少なくとも1つのプロセッサは、前記複数のグローバルディスクリプタに対して空間的に分布された類似指数を視覚化してよい。
【0019】
また他の側面によると、前記少なくとも1つのプロセッサは、前記空間類似度マップに基づいてクエリ画像を他の画像の埋め込みと比較し、類似指数に寄与した領域(salientcue)である核心領域を視覚化する核心領域視覚化モジュールをさらに含んでよい。
【0020】
さらに他の側面によると、前記少なくとも1つのプロセッサは、前記空間類似度マップモジュールを実現するためのグラフィクス処理ユニット(GPU:graphics processing unit)、および前記核心領域視覚化モジュールを実現するための中央処理ユニット(CPU:central processing unit)を含んでよい。
【0021】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、CNNモデルで取得した特徴マップに基づいてクエリ画像を他の画像と比較し、前記クエリ画像で前記他の画像との類似指数に寄与した領域である核心領域を視覚化する核心領域視覚化モジュールを含む、コンピュータシステムを提供する。
【0022】
一側面によると、前記核心領域視覚化モジュールは、前記クエリ画像と前記他の画像の間の空間類似度マップで閾値以上の類似度を有する領域を、前記核心領域として抽出してよい。
【0023】
他の側面によると、前記核心領域視覚化モジュールは、前記クエリ画像に対する検索結果として前記他の画像を提供する場合、前記核心領域を他の領域と区分して前記クエリ画像上に表示してよい。
【0024】
また他の側面によると、前記核心領域視覚化モジュールは、前記クエリ画像から、物体(object)が含まれる少なくとも1つの物体領域を分離し、前記物体領域それぞれに対して類似画像を検索して前記類似画像との類似指数に寄与した核心領域を抽出し、前記物体領域別の核心領域を前記クエリ画像上に配置して視覚化してよい。
【0025】
コンピュータシステムが実行する類似領域強調方法であって、前記コンピュータシステムは、少なくとも1つのプロセッサを含み、当該類似領域強調方法は、前記少なくとも1つのプロセッサが、CNNモデルによって特徴マップをプーリングした状態のベクトルを利用して空間情報を復元する空間類似度マップを構成する段階、および前記少なくとも1つのプロセッサが、前記空間類似度マップに基づいてクエリ画像を他の画像と比較し、類似指数に寄与した領域である核心領域を視覚化する段階を含む、類似領域強調方法を提供する。
【0026】
前記類似領域強調方法を前記コンピュータシステムに実行させるために非一時的なコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
【0027】
前記類似領域強調方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【発明の効果】
【0028】
本発明の実施形態によると、グローバルプーリング方法によって生成されたグローバルディスクリプタに対して空間的に分布された類似指数を視覚化することができ、ディスクリプタを柔軟な次元のサイズで組み合わせて拡張することができる。
【0029】
本発明の実施形態によると、画像検索で検索領域を強調するために類似指数を活用することができ、クエリ画像を他の画像の埋め込みと比較し、類似指数に寄与した領域を視覚化することができる。
【0030】
本発明の実施形態によると、CNN特徴またはその組み合わせによって得られた画像間の類似度を利用した類似領域強調アルゴリズムにより、特徴結合(feature aggregation)方法であるSPoC、MAC、GeMプーリングによって得られた埋め込みすべてに適用可能であり、多様なサイズの埋め込みが組み合わされた場合にも適用可能である。
【図面の簡単な説明】
【0031】
図1】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
図2】本発明の一実施形態における、画像検索のためのCGD(combination of multiple global descriptors)フレームワークを示した図である。
図3】本発明の一実施形態における、画像間の類似度を利用した類似領域強調システムを示したブロック図である。
図4】本発明の一実施形態における、空間類似度マップを構成するためのネットワーク構造の例を示した図である。
図5】本発明の一実施形態における、空間類似度マップを求めるアルゴリズムを適用することができるCNN構造の一例を示した図である。
図6】本発明の一実施形態における、空間類似度マップを生成するためのアルゴリズムの例を示した図である。
図7】本発明の一実施形態における、検索結果が存在する核心領域を抽出して視覚化する過程の一例を説明するための図である。
図8】本発明の一実施形態における、類似領域強調システムの性能改善のためのシステム構造の例を示した図である。
図9】本発明の一実施形態における、類似領域強調システムの性能改善のためのシステム構造の例を示した図である。
図10】本発明の一実施形態における、クエリ画像に含まれる物体別に検索結果が存在する核心領域を抽出して視覚化する過程の例を説明するための図である。
【発明を実施するための形態】
【0032】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【0033】
本発明の実施形態は、埋め込みベクトルを利用して類似の画像を検索する技術に関し、特に、CNN特徴またはその組み合わせによって得られた2つの画像間の類似度を利用し、検索結果が存在する類似領域を強調して視覚化する技術に関する。
【0034】
図1は、本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。例えば、本発明の実施形態に係る類似領域強調システムが図1のコンピュータシステム100によって実現されてよい。図1に示すように、コンピュータシステム100は、類似領域強調方法を実行するための構成要素として、プロセッサ110、メモリ120、永続的記録装置130、バス140、入力/出力インタフェース150、およびネットワークインタフェース160を含んでよい。
【0035】
プロセッサ110は、類似領域強調のための構成要素として、命令語のシーケンスを処理することのできる任意の装置を含んでもよいし、その一部であってもよい。プロセッサ110は、例えば、コンピュータプロセッサ、移動装置または他の電子装置内のプロセッサおよび/またはデジタルプロセッサを含んでよい。プロセッサ110は、例えば、サーバコンピューティングデバイス、サーバコンピュータ、一連のサーバコンピュータ、サーバファーム、クラウドコンピュータ、コンテンツプラットフォームなどに含まれてよい。プロセッサ110は、バス140を介してメモリ120と連結してよい。
【0036】
メモリ120は、コンピュータシステム100によって使用されるか、これから出力される情報を記録するための揮発性メモリ、永続的、仮想、またはその他のメモリを含んでよい。メモリ120は、例えば、RAM(random access memory)および/またはDRAM(dynamic RAM)を含んでよい。メモリ120は、コンピュータシステム100の状態情報のような任意の情報を記録することに使用されてよい。メモリ120は、例えば、類似領域強調のための命令語を含むコンピュータシステム100の命令語を記録することに使用されてよい。コンピュータシステム100は、必要な場合あるいは適切な場合に、1つ以上のプロセッサ110を含んでよい。
【0037】
バス140は、コンピュータシステム100の多様なコンポーネント間の相互作用を可能にする通信基盤の構造を含んでよい。バス140は、例えば、コンピュータシステム100のコンポーネントとの間、例えば、プロセッサ110とメモリ120との間にデータを運搬してよい。バス140は、コンピュータシステム100のコンポーネント間の無線および/または有線通信媒体を含んでよく、並列、直列、または他のトポロジ配列を含んでよい。
【0038】
永続的記録装置130は、(例えば、メモリ120に比べて)所定の延長された期間にわたってデータを記録するためにコンピュータシステム100によって使用されるようなメモリ、または他の永続的記録装置のようなコンポーネントを含んでよい。永続的記録装置130は、コンピュータシステム100内のプロセッサ110によって使用されるような不揮発性メインメモリを含んでよい。永続的記録装置130は、例えば、フラッシュメモリ、ハードディスク、光ディスク、または他のコンピュータ読み取り可能媒体を含んでよい。
【0039】
入力/出力インタフェース150は、キーボード、マウス、音声命令入力、ディスプレイ、または他の入力または出力装置に対するインタフェースを含んでよい。構成命令および/または類似領域強調のための入力は、入力/出力インタフェース150に受信されてよい。
【0040】
ネットワークインタフェース160は、近距離ネットワーク、またはインターネットのようなネットワークに対する1つ以上のインタフェースを含んでよい。ネットワークインタフェース160は、有線または無線接続に対するインタフェースを含んでよい。構成命令および/または類似領域強調のための入力は、ネットワークインタフェース160に受信されてよい。
【0041】
また、他の実施形態において、コンピュータシステム100は、図1の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム100は、上述した入力/出力インタフェース150と連結する入力/出力装置のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ(transceiver)、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0042】
本発明の実施形態は、CNN特徴またはその組み合わせによって得られた2つの画像間の類似度を利用し、検索結果が存在する類似領域を強調して視覚化する技術に関する。
【0043】
先ず、互いに異なるグローバルディスクリプタを単一モデルによって一度に学習して使用することのできる深層学習モデルフレームワークについて、次のように説明する。
【0044】
I.画像検索のためのCGD(combination of multiple global descriptors)フレームワーク
エンドツーエンド方式によって訓練することができる間、複数のグローバルディスクリプタを活用してアンサンブル学習のような効果を得る、新たなフレームワークを提案する。本発明に係るフレームワークは、グローバルディスクリプタ、CNNバックボーン、損失およびデータセットにより、柔軟かつ拡張可能である。さらに、本発明に係るフレームワークは、訓練のためのいくつかの追加の媒介変数を必要とするだけで、追加の戦略や注意機構は必要としない。
【0045】
アンサンブル学習とは、複数名の学習者を訓練させて成果を引き上げ、訓練された学習者によって組み合わされた結果を得ることで有名な技法であって、過去数十年間にわたり画像検索に広く利用されている。しかし、従来のアンサンブル技法は、モデルの複雑性の増加が演算費用の増加に繋がり、学習者間のダイバーシティを算出するために追加の制御が必要になるという短所を抱えていた。
【0046】
本発明に係るフレームワークは、ダイバーシティの統制なく、エンドツーエンド方式によって訓練されることができるときにアンサンブル技法のアイディアを活用することができる。
【0047】
図2は、本発明の一実施形態における、画像検索のためのCGD(combination of multiple global descriptors)フレームワークを示した図である。
【0048】
本発明に係るCGDフレームワーク200は、上述したコンピュータシステム100によって実現されてよく、ディスクリプタ学習のための構成要素としてプロセッサ110に含まれてよい。
【0049】
図2を参照すると、CGDフレームワーク200は、CNNバックボーンネットワーク201と、2つのモジュールであるメインモジュール210および補助モジュール220で構成されてよい。
【0050】
ここで、メインモジュール210は、画像表現(image representation)を学習する役割を担うものであって、順位損失(ranking loss)のための複数のグローバルディスクリプタの組み合わせで構成される。また、補助モジュール220は、分類損失(classification loss)でCNNを微調整するための役割を担う。
【0051】
CGDフレームワーク200は、エンドツーエンド方式により、メインモジュール210からの順位損失と補助モジュール220からの分類損失の合計である最終損失として訓練されてよい。
【0052】
1.CNNバックボーンネットワーク201
CNNバックボーンネットワーク201としては、すべてのCNNモデルが使用可能である。CGDフレームワーク200は、BN-Inception、ShuffleNet-v2、ResNet、またはこの他の変形モデルなどのようなCNNバックボーンが使用されてよく、例えば、図2に示すように、ResNet-50をCNNバックボーンネットワーク201として使用してよい。
【0053】
一例として、CNNバックボーンネットワーク201は、4段階のネットワークを利用してよいが、このとき、最後の特徴マップ(feature map)でより多くの情報を保存するために、3段階(stage3)と4段階(stage4)の間のダウンサンプリング動作を放棄することで該当のネットワークを修正してよい。これにより、224×224の入力サイズに対する14×14サイズの特徴マップが提供されるため、グローバルディスクリプタの個別性能が向上するようになる。言い換えれば、グローバルディスクリプタの性能向上のために、ResNet-50の3段階(stage3)後から最後の段階(stage4)前までにダウンサンプリングをしないことで、より多くの情報が含まれるようにする。
【0054】
2.メインモジュール210:複数のグローバルディスクリプタ
メインモジュール210は、CNNバックボーンネットワーク201の最後の特徴マップから多様な特徴結合(feature aggregation)方法によってグローバルディスクリプタを抽出し、FC層との正規化(normalization)を経る。
【0055】
メインモジュール210で抽出されたグローバルディスクリプタは、連結され(concatenate)、正規化を経た後、1つの最終グローバルディスクリプタを形成するようになる。このとき、最終グローバルディスクリプタは、順位損失によってインスタンスレベル(instance level)で学習される。ここで、順位損失は、距離学習(metric learning)のための損失と代替可能であり、代表的にtriplet損失が使用されてよい。
【0056】
より詳しく説明すると、メインモジュール210には、最後の畳み込み層で互いに異なるグローバルディスクリプタを用いて各画像表現を出力する複数の分岐(branch)が含まれる。一例として、メインモジュール210は、SPoC(sum pooling of convolution)、MAC(maximum activation of convolution)、GeM(generalized-mean pooling)を含み、各分岐で最も代表的なグローバルディスクリプタの3つの類型を使用する。
【0057】
メインモジュール210に含まれる分岐の個数は増やしたり減らしたりが可能であり、ユーザのニーズに合うように、使用するグローバルディスクリプタを変形および組み合わせもよい。
【0058】
画像Iが与えられたとき、最後の畳み込み層の出力はC×H×W次元の3Dテンソル(tensor)xとなるが、ここで、Cは特徴マップの数である。xを特徴マップc∈{1...C}のH×W活性化セットであると仮定する。ネットワーク出力は2D特徴マップのCチャネルで構成される。グローバルディスクリプタは、xを入力として使用し、プーリングプロセスによる出力としてベクトルfを生成する。このようなプーリング方法は、数式(1)のように一般化してよい。
【0059】
【数1】
【0060】
=1のときはSPoCをf(s)と、p→∞のときはSPoCをf(m)と定義し、残り場合に対してはGeMをf(g)と定義する。GeMは、実験によって固定されたpパラメータ3を使用してよく、実施形態によっては、パラメータpをユーザが手動で設定してもよいし、あるいはパラメータp自体を学習することも可能である。
【0061】
i番目の分岐の出力特徴ベクトル
【数2】
は、FC層による次元の減少、およびl-正規化(normalization)層による正規化によって生成される。
【0062】
【数3】
【0063】
i∈{1...n}とするとき、nは分岐の数であり、WはFC層の加重値であって、グローバルディスクリプタ
【数4】
は、a=sのときはSPoC、a=mのときはMAC、a=gのときはGeMであってよい。
【0064】
本発明に係るCGDフレームワーク200の組み合わせディスクリプタψCGDである最終特徴ベクトルは、多様な分岐の出力特徴ベクトルを連結し、l-正規化を順に実行する。
【0065】
【数5】
【0066】
∈{s,m,g}とするとき、
【数6】
は連結(concatenation)である。
【0067】
このような組み合わせディスクリプタは、すべての類型の順位損失で訓練可能であるが、一例として、batch-hard triplet lossを代表的に使用する。
【0068】
CGDフレームワーク200では、多数のグローバルディスクリプタを組み合わせることで2つの長所が得られる。1つ目に、いくつかの追加の媒介変数だけでアンサンブル学習のような効果を発揮する。上述した研究と同じようなアンサンブル学習の効果が得られるようになるが、これをエンドツーエンド方式で訓練させるようにするために、CGDフレームワーク200は、単一CNNバックボーンネットワーク201から複数のグローバルディスクリプタを抽出している。2つ目に、ダイバーシティの統制なく、各分岐の出力に対して他の属性を自動で提供する。近年の研究では、学習者間のダイバーシティを奨励するために特別にデザインされた損失を提案しているが、CGDフレームワーク200は分岐間のダイバーシティを統制するために特別にデザインされた損失は必要としない。
【0069】
グローバルディスクリプタに対する多様な組み合わせの性能を実験によって比較して、ディスクリプタの組み合わせを探索してよい。ただし、各データの出力特徴の次元により、性能の差が大きくない場合ある。例えば、SPoC 1536次元と768次元の性能が大きくなければ、SPoC1536次元(単一グローバルディスクリプタ)よりもSPoC768次元+GeM768次元(多重グローバルディスクリプタ)の組み合わせを使用する方が、より優れた性能を得ることができる。
【0070】
3.補助モジュール220:分類損失
補助モジュール220は、埋め込みのカテゴリカル水準(categorical level)で学習するために、メインモジュール210の1番目のグローバルディスクリプタから出力される画像表現を分類損失に基づいて学習してよい。分類損失による学習時には、性能向上のためにラベル平滑化(label smoothing)と温度スケーリング(temperature scaling)技術を適用してよい。
【0071】
言い換えれば、補助モジュール220は、補助分類損失を利用して、メインモジュール210の1番目のグローバルディスクリプタに基づいてCNNバックボーンを微調整する。補助モジュール220は、メインモジュール210に含まれるグローバルディスクリプタのうちの1番目のグローバルディスクリプタから出る画像表現を分類損失によって学習してよい。これは2段階で構成された接近法に基づき、これはCNNバックボーンを分類損失とともに微調整して畳み込みフィルタを改善した後、ネットワークを微調整してグローバルディスクリプタの性能を改善する。
【0072】
CGDフレームワーク200では、このような処理方式を修正することで、エンドツーエンド訓練のために一度だけの段階を経るようにする。補助分類損失がある訓練は、等級間分離属性のある画像表現を可能にし、順位損失だけに対して使用するよりも、ネットワークが迅速かつ安定するように訓練するようにサポートする。
【0073】
ソフトマックス交差エントロピー損失(softmax loss)における温度スケーリングとラベル平滑化は、分類損失の訓練に役立つものであり、ソフトマックス損失は数式(4)のように定義される。
【0074】
【数7】
【0075】
ここで、N、M、yはそれぞれ、配置のサイズ、クラスの個数、およびi番目の入力のIDラベルを意味する。Wとbはそれぞれ、訓練可能な加重値とバイアス(bias)である。また、fは、1番目の分岐のグローバルディスクリプタであるが、ここで、Tは基本値(default value)1の温度パラメータである。
【0076】
数式(4)で、低温パラメータTを使用した温度スケーリングは、より困難な例に対してより大きな勾配(gradient)を割り当て、クラス内のコンパクトおよびクラス間のスプレッド-アウトの埋め込みに有効に活用される。ラベル平滑化は、モデルを強化し、訓練中のラベルドロップアウトの限界効果を推定し、一般化を改善する。したがって、オーバーフィッティングを防ぎ、より優れた埋め込み方法を学習するために補助分類損失にラベル平滑化と温度スケーリングを追加する。
【0077】
分類損失の計算のための1番目のグローバルディスクリプタは、各グローバルディスクリプタの性能を考慮した上で決定してよい。一例として、組み合わせに使用しようとするグローバルディスクリプタを単一分岐に使用して学習を進めた後、その中でも優れた性能のグローバルディスクリプタを分類損失計算のための1番目のグローバルディスクリプタとして使用してよい。例えば、SPoC、MAC、GeMそれぞれを学習した結果性能がGeM>SPoC>MACであれば、GeM+MACの組み合わせがMAC+GeMの組み合わせよりも優れた性能を出す傾向にあるため、これを考慮した上で、分類損失の計算のためのグローバルディスクリプタとしてGeMを使用してよい。
【0078】
4.フレームワークの構成
CGDフレームワーク200は、グローバルディスクリプタ分岐の個数によって拡張されてよく、グローバルディスクリプタの構成によって他の類型のネットワークを許容する。例えば、3つのグローバルディスクリプタ(SPoC、MAC、GeM)を使用し、補助分類損失に対して単独で最初のグローバルディスクリプタを使用するため、12個の可能な構成が生成されてよい。
【0079】
説明の便宜のために、SPoCはS、MACはM、GeMはGと略称し、表記のうちの最初の文字は補助分類損失に使用される1番目のグローバルディスクリプタを示すことにする。CGDフレームワーク200は、1つのCNNバックボーンネットワーク201から3つのグローバルディスクリプタS、M、Gを抽出してよく、このとき、グローバルディスクリプタS、M、Gを基準に12個の構成(S、M、G、SM、MS、SG、GS、MG、GM、SMG、MSG、GSM)が可能となる。すべてのグローバルディスクリプタが組み合わされて順位損失で学習され、1番目のグローバルディスクリプタだけが分類損失で付加的に学習されてよい。例えば、SMGの場合、グローバルディスクリプタSだけが分類損失で付加的に学習され、すべてのS、M、およびGは組み合わされて(SM、MS、SG、GS、MG、GM、SMG、MSG、GSM)順位損失で学習される。
【0080】
したがって、複数のグローバルディスクリプタを、アンサンブル学習のために多様なモデルを個別に学習する従来の方法とは異なり、本発明は、1つのモデルをエンドツーエンドによって学習するだけで、アンサンブル学習のような効果を得ることができる。従来の方法は、アンサンブル学習のために個別に製作された損失によってダイバーシティを統制する反面、本方法では、ダイバーシティを統制しなくてもアンサンブル学習のような効果を得ることができる。本発明によると、最終グローバルディスクリプタを画像検索に使用してよく、必要によっては、より小さな次元を使用するために、連結する(concatenate)直前の画像表現を使用してよい。ユーザのニーズによって多様なグローバルディスクリプタの使用が可能であり、グローバルディスクリプタの個数を調節してモデルの拡張および縮小が可能である。
【0081】
次に、CNN特徴またはその組み合わせによって得られた2つの画像間の類似度を利用して検索結果が存在する類似領域を強調する方法およびシステムの具体的な実施形態について説明する。
【0082】
図3を参照すると、プロセッサ110は、類似領域強調方法を実行するための構成要素として、画像間の類似度を計算するCNNモデルでベクトルを利用して空間情報を復元する空間類似度マップ(ssm:spatial similarity map)を構成するための空間類似度マップモジュール(spatial similarity map module)310、および空間類似度マップに基づいてクエリ画像301を他の画像の埋め込み302と比較して、検索結果が存在する画像領域を視覚化する核心領域視覚化モジュール(salient cue visualization module)320を含んでよい。
【0083】
II.空間類似度マップモジュール310
一部の研究では、類似性学習のための視覚化方法を提案している。ResNet50バックボーンと平均プーリング、およびマックスプーリングにより、次元を追加で減少せずに画像埋め込みを実行することができる。しかし、大きな次元(1024または2048)が適用されたモデルには容量の効率性の問題によって使用されておらず、視覚化方法は大きな次元のモデルだけに対して言及しているものであるため、実際には、使用されるモデルに視覚化方法を直接適用するのは不適である。
【0084】
本実施形態では、出力埋め込みが柔軟な次元のサイズの複数プーリング分岐、およびFC層から出るより一般的な画像埋め込みネットワークを提案する。
【0085】
1.SPoc、Maxプーリングの視覚化
画像埋め込みは、入力によって画像が与えられるときに画像を表現することのできる多次元のベクトルを返還するものであるが、ここで、多次元のベクトルは、以後の画像検索に使用されてよい。
【0086】
図4を参照すると、プロセッサ110の空間類似度マップモジュール310は、CNNモデルで特徴マップ401をプーリングした状態のベクトル402を利用して空間類似度マップ403を構成してよい。
【0087】
特に、本発明の実施形態に係る空間類似度マップモジュール310は、図2を参照しながら説明したCGDフレームワーク200を利用して改善されたネットワークモデルを含んでよい。一例として、図5に示すように、特徴マップ401をプーリングした状態のベクトル402に、図2を参照しながら説明したメインモジュール210のFC層以下の構成を追加してよく、より効率的なベクトルを構成する方法によって埋め込みサイズを変更するためのFC層を取り入れた場合にも、画像検索のための類似度マップを構成してよい。言い換えれば、多重プーリング分岐で埋め込みを行い、FC層のあるネットワークでも類似度マップを得ることができる。
【0088】
空間類似度マップモジュール310に適用可能なCGDフレームワーク200は一例に過ぎず、これに限定されてはならず、3つのグローバルディスクリプタ(SPoC、MAC、GeM)、および以後に適用されたFC層、あるいはこれらの組み合わせに対してすべて適用可能である。
【0089】
空間類似度マップを求めるアルゴリズムを適用することができるCNN構造の例は、以下の表1のとおりである。
【0090】
【表1】
【0091】
SPoCとMaxプーリング埋め込みが空間類似度マップを生産する方式を示すために、以下の数式(5)を使用する。比較を容易にするために、作業で類似の表記法を採択する。2つの画像の類似性を測定するための最も一般的な選択は、l2標準化の埋め込みにおけるコサイン類似性である。
【0092】
【数8】
【0093】
ここで、βは、特徴マップで一部プーリング方法によって集計された特徴を意味し、次元のサイズは、特徴マップのチャネル数と等しい。
【0094】
SpoCの場合、埋め込みは、特徴マップに空間的に分布された特徴の平均であり、次元の埋め込みサイズを有する1次元ベクトルとなるであろう。
【0095】
【数9】
【0096】
追加演算の単純な分配法則(distributive law)(数式(6))は、各空間的位置から類似指数の寄与を分解するのに十分である。
【0097】
【数10】
【0098】
ここで、Zは、K||β(i)||||β(j)||の正規化因子(normalizing factor)である。同じように、Maxプーリング集計は、数式(8)のように表現されてよい。
【0099】
【数11】
【0100】
結合方法によって定義した類似指数の寄与度に基づき、互いに異なる位置に対して加重値を有するサロゲートテンソル(surrogate tensor)
【数12】
について説明する。
【0101】
【数13】
は、数式(9)のように表現されてよい。
【0102】
【数14】
【0103】
【数15】
【0104】
2.FC層のあとの埋め込み
図2を参照しながら説明したように、次元を減らすためにFC層を使用する。FC層のあとの最終埋め込みはγ=Wβ+bとしてよく、Wは加重値を、bはバイアスを意味する。
【0105】
例えば、SPoC集計を含んだ空間類似度マップは、数式(11)のように定義されてよい。
【0106】
【数16】
【0107】
ここで、Wは次元(埋め込み次元、特徴マップ次元)のサイズであり、Zは正規化因子K||γ(i)||||γ(j)||である。Maxプーリングでソロゲイトを使用するため、SPoCもソロゲイトを持つようになる。
【0108】
【数17】
【0109】
ソロゲイトテンソル
【数18】
を取り入れることにより、より一般化された等式形態を作成することができる。
【0110】
3.Maxプーリング
数式(13)に数式(9)のMaxプーリングソロゲイトを適用すれば、FC層の埋め込みのあとに、Maxプーリング結合が含まれる類似度マップを得ることができる。
【0111】
【数19】
【0112】
4.GeM
GeM結合(aggregation)は、数式(14)のように定義されてよい。
【0113】
【数20】
【0114】
GeM結合のソロゲイトテンソルは、数式(15)のように定義されてよい。
【0115】
【数21】
【0116】
数式(13)に数式(15)のGeMソロゲイトを適用すれば、FC層の埋め込みのあとに、GeMプーリング結合によって空間類似度マップを得ることができる。
【0117】
p=1の場合、GeMプーリングはSPoCプーリングと等しい。また、p=1で、GeMのソロゲイトテンではSPoCソロゲイトと等しい。
【0118】
5.連結するグローバルディスクリプタの視覚化
図6に示したテーブルは、構成例と実行過程を示したアルゴリズムの例示図である。
【0119】
多数のグローバルディスクリプタの連結(concatenation)後の最終埋め込みのドット積(dotproduct)は、同じ種類のプーリング分岐から埋め込まれた各ドット積の加重合計を意味してよい。各プーリング分岐が同じ次元を採択して連結前にl2正規化されたと仮定することで、類似度マップは各プーリング分岐の類似度マップを平均して生成することができる。
【0120】
各埋め込みの次元が異なる場合、図6のテーブルで35行目に説明されたように、埋め込みそれぞれに加重値を付与してよい。
【0121】
したがって、プロセッサ110は、入力画像を他の画像の埋め込みと比較するときに、類似指数に寄与した領域を理解するために視覚化を提供することができる。特に、プロセッサ110は、3つのグローバルディスクリプタ(SPoC、MAC、GeM)に対して空間的に分布された類似指数を視覚化することができ、柔軟な次元のサイズで組み合わせて埋め込みを拡張することができる。
【0122】
上述した類似度マップ生成アルゴリズムは、類似度マップを生成するためのネットワークモデルとして、図2を参照しながら説明したネットワークモデルと図4を参照しながら説明したネットワークモデルとが結合された形態の改善されたモデルはもちろん、FC層やベクトル連結における逆(inverse)演算が可能な構造のネットワークモデルであればすべて適用可能である。
【0123】
III.核心領域視覚化モジュール320
プロセッサ110の核心領域視覚化モジュール320は、2つの画像間の空間類似度マップに基づいてクエリ画像301を他の画像の埋め込み302と比較し、検索結果が存在する画像領域を視覚化する役割を担う。
【0124】
図7を参照すると、核心領域視覚化モジュール320は、空間類似度マップモジュール310で生成された初期空間類似度マップ71を受信した後、一定の範囲の定数値に変換することで定数化された空間類似度マップ72を生成してよい。例えば、初期空間類似度マップ71が14×14の格子形態の構造で構成された場合、負数値を切り捨てて0~255範囲の値に変更して定数化された空間類似度マップ72を生成してよい。
【0125】
核心領域視覚化モジュール320は、定数化された空間類似度マップ72から閾値(threshold)以上の類似度を有する格子を抽出することで、閾値空間類似度マップ73を生成してよい。例えば、閾値自動選択方式によって定数化された空間類似度マップ72において、全体類似度の30%以上の格子を残す方式によって閾値空間類似度マップ73を生成してよく、この他にも二分探索(binary search)によって閾値空間類似度マップ73を生成してもよい。
【0126】
核心領域視覚化モジュール320は、閾値空間類似度マップ73で閾値以上の類似度を有する格子を対象として隣接する格子をグルーピングすることで、クエリ画像301でグルーピング領域と対応する核心領域74を生成してよい。核心領域視覚化モジュール320は、閾値以上の類似度をもつ格子を上下左右に隣接する格子と束ねる方式で核心領域74を生成してよい。例えば、核心領域視覚化モジュール320は、コンピュータビジョン基盤の輪郭検出関数(OpenCV findContours)を利用して核心領域74を検出してよい。
【0127】
核心領域視覚化モジュール320は、クエリ画像301に検索結果が存在する画像領域である核心領域74を表示してよい。このとき、核心領域視覚化モジュール320は、各領域の類似度和を基準として核心領域74を互いに異なるように区分して表示してよいが、例えば、核心領域74のうちで類似度和が最も大きい領域は赤色で表示し、残りは緑色で表示してよい。
【0128】
したがって、核心領域視覚化モジュール320は、クエリ画像301を他の画像の埋め込み302と比較し、検索結果として類似指数に寄与した領域(salientcue)、すなわち、核心領域74に対する視覚化を提供することができる。
【0129】
IV.システム構造および適用技術
本発明の実施形態は、画像検索と関連する処理速度を向上させるためのシステム構造を含んでよい。
【0130】
プロセッサ110は、コンピュータプロセッサとしてCPU(中央処理装置)およびGPU(グラフィック処理装置)を含んでよい。空間類似度マップモジュール310と核心領域視覚化モジュール320をどのようなプロセッサ(CPU、GPU)を利用して実現するかにより、性能に差が生じるようになる。
【0131】
図8を参照すると、クエリ画像301を埋め込みする埋め込みモジュールは、GPU811で実現されてよく、クエリ画像301の埋め込み801と他の画像の埋め込み302に対して空間類似度マップ71を生成する空間類似度マップモジュール310、および空間類似度マップ71に基づいてクエリ画像301で検索結果が存在する核心領域74を視覚化する核心領域視覚化モジュール320は、CPU812で実現されてよい。
【0132】
空間類似度マップモジュール310と核心領域視覚化モジュール320の両方ともCPU812で実現する場合には、CPU812に瓶首現象が発生して画像の検索速度が低下することがある。
【0133】
一方、図9を参照すると、クエリ画像301を埋め込みする埋め込みモジュールとともに、クエリ画像301の埋め込みと他の画像の埋め込み302に対して空間類似度マップ71を生成する空間類似度マップモジュール310はGPU911で実現し、空間類似度マップ71に基づいてクエリ画像301で検索結果が存在する核心領域74を視覚化する核心領域視覚化モジュール320はCPU912で実現してよい。
【0134】
したがって、空間類似度マップモジュール310はGPU911を利用して実現し、核心領域視覚化モジュール320はCPU912を利用して実現することにより、画像の処理量と処理速度を向上させることができる。
【0135】
さらに、本発明の実施形態は、クエリ画像に物体が2つ以上ある場合、それぞれの物体ごとに検索結果が存在する核心領域を視覚化してよい。
【0136】
図10を参照すると、プロセッサ110は、クエリ画像301から、物体が含まれる領域(以下、「物体領域」と称する)1002を分離した後、物体領域1002それぞれに対して類似画像1003を検索してよい。このとき、核心領域視覚化モジュール320は、物体領域1002それぞれに対して検索結果が存在する領域、言い換えれば、類似画像1003との類似指数に寄与した核心領域1004を抽出した後、物体領域1002ごとに核心領域1004をクエリ画像301上に配置させて(composition)最終視覚化を提供してよい。
【0137】
したがって、本発明の実施形態は、画像をクエリとして画像を検索する場合、検索結果として他の画像を提供するにおいて、クエリ画像のどの領域のために検索結果画像が選定されたか、該当の領域を強調することができる。言い換えれば、クエリ画像のどの部分が検索結果画像と関連するかを判断することにより、ユーザがより直観的に認知可能な視覚化を提供することができる。
【0138】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0139】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0140】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0141】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって代替されたり置換されたとしても、適切な結果を達成することができる。
【0142】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0143】
301:クエリ画像
302:画像の埋め込み
310:空間類似度マップモジュール
320:核心領域視覚化モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10