【解決手段】POI変化を検出する方法では、POIイメージの初期セットおよび合成POIイメージセットを含むトレーニングPOIイメージのベースを生成する。トレーニングPOIイメージのベースを用いてトレーニングPOIイメージのトリプレットを生成し、トレーニングPOIイメージのトリプレットに基づき3−ストリームシャム類型の畳み込みニューラルネットワーク(CNN)をトレーニングさせる。入力された一対のPOIイメージのそれぞれに対し、3−ストリームシャム類型のCNNのストリームを用いてそのイメージのディスクリプタを計算し、イメージのディスクリプタに基づき類似性スコアを計算し、類似性スコア関数を用いて入力された一対のPOIイメージのイメージのディスクリプタに基づき類似性スコアを計算し、類似性スコアに基づきPOI変化を選択的に検出する。
前記第1プロセッサにより、前記2つのPOIイメージそれぞれでそれぞれ見える通路外形のセット間のIoUに基づき、前記2つのトレーニングPOIイメージ間の幾何学的重畳を計算する段階
をさらに含む請求項7に記載の方法。
少なくとも1つのトリプレットは、第1トレーニングイメージの第1サイネージ領域を他のトレーニングPOIイメージからの第2サイネージ領域と入れ替えることによって生成される合成POIイメージを含む、
請求項5に記載の方法。
前記第3プロセッサにより、第3POIイメージのサイネージ領域を第4POIイメージのサイネージ領域と入れ替えることにより、前記サブセットの第3POIイメージに対応する第2合成POIイメージを生成する段階、および
前記第3プロセッサにより、合成POIイメージに前記第4POIイメージのラベルを連関させる段階をさらに含み、
前記記録する段階は、前記第2合成POIイメージを前記最終セットに記録する段階をさらに含む、
請求項10に記載の方法。
前記第1POIイメージの前記サイネージ領域の大きさおよび形状に適応するために前記クロップされたサイネージイメージのうちから前記選択された1つのアフィンワーピングを実行する段階
をさらに含む請求項15に記載の方法。
前記サイネージは、(a)前記POIイメージによって表現される前記POI上に位置された名称、および(b)POIイメージによって表現される前記POI上に位置されたロゴのうちの少なくとも1つを含む
請求項10に記載の方法。
前記POIイメージのそれぞれから前記サイネージ領域を識別する段階は、光学文字認識およびロゴ検出のうちの少なくとも1つを用いて前記POIイメージのそれぞれから前記サイネージ領域を識別する段階を含む
請求項18に記載の方法。
入力された一対のPOIイメージからPOI変化を検出するために畳み込みニューラルネットワーク(CNN)をトレーニングさせるためのトレーニングイメージのベースを生成する方法であって、
プロセッサにより、連関するラベルを有するPOIイメージの初期セットをそれぞれ取得する段階、
前記プロセッサにより、前記初期セットのサブセット内のそれぞれのPOIイメージに対し、該POIイメージからサイネージ領域を識別する段階であって、前記サイネージ領域は、POIイメージによって表現されたPOI上に位置するサイネージを含む、段階、
前記プロセッサにより、第1POIイメージのサイネージ領域を第2POIイメージのサイネージ領域と入れ替えることにより、前記サブセットの第1POIイメージに対応する合成POIイメージを生成する段階、
前記プロセッサにより、前記合成POIイメージに前記第2POIイメージの前記ラベルを連関させる段階、および
前記トレーニングイメージのベースとして、初期セットのPOIイメージおよび合成POIイメージを含むPOIイメージの最終セットを記録する段階
を含む方法。
【発明の概要】
【課題を解決するための手段】
【0015】
このような目的のために、本出願は、入力された一対のPOIイメージからPOI変化を検出するために畳み込みニューラルネットワークをトレーニングさせるためのトレーニングイメージのベースを生成する特徴および方法を提供する。このような方法は、第1サーバのデータプロセッサにより、(a1)ラベリングされたPOIイメージの初期セットを取得する段階、(a2)初期セットのサブセットからのそれぞれのイメージに対し、イメージ内のサイネージ領域を識別する段階(前記サイネージ領域は、イメージによって描写されたPOIの主要視覚的特徴を描写する)、(a3)サブセットの第1イメージに対応する少なくとも1つの合成POIイメージを生成する段階(サイネージ領域は、サブセットの第2イメージの該当のイメージに入れ替えられ、合成POIイメージに第2イメージのラベルを連関させる)、(a4)POIイメージの初期セットおよびそれぞれの生成された合成POIイメージを含むPOIイメージの最終セットをトレーニングイメージのベースとして提供する段階を含む。
【0016】
本出願の追加の特徴は次のとおりとなる。(a2)クロップされた(cropped)サイネージイメージのコレクションを取得する段階を含み、(a3)クロップされたサイネージイメージのコレクションからランダムに選択されたクロップされたサイネージイメージを使用して与えられたイメージのサイネージ領域を代替する段階を含み、(a3)与えられたイメージのサイネージ領域の大きさおよび形状に適応するために選択されたクロップされたサイネージイメージのアフィンワーピング(afine warping)し、以後にポアソンブレンディングする段階を含み、POIの主要な視覚的特徴はPOIの名称および/またはロゴであり、サイネージ領域は(a2)で光学文字認識および/またはロゴ検出を利用してイメージから識別され、それぞれのPOIイメージは、イメージによって表現されたPOIを識別するラベルに連関されるか、またはそれぞれのPOIイメージは、イメージの位置および/または方向、可能であればイメージの6−自由度ポーズを定義するラベルに連関され、それぞれのPOIイメージは、イメージの6−自由度ポーズを定義するラベルに連関され、(a1)は、イメージ取得装置を利用してPOIの地理的に局在する写真を取得することにより、POIイメージたちの初期セットを生成する段階を含む。
【0017】
一特徴として、本出願は、入力された一対のPOIイメージからPOI変化を検出するためにCNN(Convolutional Neural Network)をトレーニングさせる方法を提供する。この方法は、第1サーバのデータプロセッサにより、トレーニングイメージのベースを生成する段階、第2サーバのデータプロセッサにより、複数のトレーニングイメージのトリプレット(triplets)を生成する段階(それぞれのトリプレットは、関連する一対のPOIイメージおよび関連のない一対のPOIイメージを含み、2つのPOIイメージは、これらのラベルに基づいて関連するか否かが判断される)、第2サーバのデータプロセッサにより、複数のトリプレットから、3−ストリームシャム(Siamese)類型のCNNをトレーニングさせる段階を含む。
【0018】
追加の特徴は次のとおりとなる。それぞれのPOIイメージは、イメージの6−自由度ポーズを定義するラベルと連関し、2つのPOIイメージは、これらが第1閾値よりも大きい幾何学的重畳を示す場合には関連があると判断され、これらがそれぞれの6−自由度ポーズに基づき、第2閾値よりも小さな幾何学的重畳を示す場合には関係がないと判断される。2つのイメージ間の幾何学的重畳は、2つのイメージそれぞれでそれぞれ見える通路外形(corridor outlines)のセット間のIoU(intersection−over−union)によって計算され、少なくとも1つのトリプレットは、関連のない一対のPOIイメージとして合成イメージおよび生成された合成イメージから第1イメージを含む。
【0019】
一特徴として、本出願は、入力された一対のPOIイメージからPOI変化を検出する方法を提供する。このような方法は、第2サーバのデータプロセッサにより、3−ストリームシャム類型のCNNをトレーニングさせる段階、第3サーバのデータプロセッサにより、入力された一対のPOIイメージのそれぞれのイメージに対し、CNNのストリームを用いてイメージのディスクリプタを計算する段階、第3サーバのデータプロセッサにより、計算されたディスクリプタの類似性スコア関数に基づいてPOI変化を検出する段階を含む。
【0020】
追加の特徴は次のとおりとなる。入力された一対のPOIイメージのイメージが同一位置で2つの異なるタイムスタンプとしてキャプチャされる。前記方法は、与えられた領域内で、2つの異なるタイムスタンプとしてキャプチャされた、地理的に局在するイメージの2つの与えられたデータセットから取得される複数の一対の入力されたイメージに対して実行される。
【0021】
追加の特徴によると、本出願は、トレーニングイメージのベースを生成するために、畳み込みニューラルネットワーク(CNN)をトレーニングさせるために、または入力された一対のPOIイメージからPOIを検出するために、上述した方法を実行するためのコード命令語を含むコンピュータプログラム製品、およびコンピュータ読み取り可能な媒体を提供し、さらに、トレーニングイメージのベースを生成するために、第1、第2、または第3側面に係る方法を実行するか、畳み込みニューラルネットワーク(CNN)をトレーニングさせるか、または入力された一対のPOIイメージからPOI変化を検出するための、コード命令語を含むコンピュータプログラム製品が記録される。
【0022】
一特徴として、入力された一対のPOIイメージからPOI変化を検出するための方法は、第1プロセッサにより、トレーニングPOIイメージのトリプレットに基づいて3−ストリームシャム類型の畳み込みニューラルネットワーク(CNN)をトレーニングさせる段階、第2プロセッサにより、入力された一対のPOIイメージそれぞれのイメージに対し、3−ストリームシャム類型のCNNのストリームを用いて該当のイメージのディスクリプタを計算する段階、第2プロセッサにより、類似性スコア関数を利用して入力された一対のPOIイメージの前記イメージのディスクリプタに基づいて類似性スコアを計算する段階、および第2プロセッサにより、類似性スコアに基づいてPOI変化を選択的に検出する段階を含む。
【0023】
他の特徴として、POI変化を選択的に検出する段階は、第2プロセッサにより、類似性スコアが閾値よりも大きい場合にPOI変化を検出する段階を含む。
【0024】
他の特徴として、POI変化を選択的に検出する段階は、第2プロセッサにより、類似性スコアが閾値よりも小さい場合にPOI変化を検出しない段階を含む。
【0025】
他の特徴として、入力された一対のPOIイメージのイメージは、2つの異なる時間に同一位置でキャプチャされたものである。
【0026】
他の特徴として、トレーニングPOIイメージのトリプレットに基づいて3−ストリームシャム類型のCNNをトレーニングする段階は、第3プロセッサにより、トレーニングPOIイメージのベースを生成する段階、第1プロセッサにより、トレーニングPOIイメージたちのベースを使用して複数のトレーニングPOIイメージのトリプレットを生成する段階(それぞれのトリプレットは、第1トレーニングPOIイメージ、第1トレーニングPOIイメージと関連する第2トレーニングPOIイメージ、および第1および第2トレーニングPOIイメージとは関係のない第3POIトレーニングイメージを含む)、第1プロセッサにより、トレーニングPOIイメージがそれぞれトレーニングPOIイメージと連関するラベルに基づいて関連性の有無を判断する段階、および第1プロセッサにより、トレーニングPOIイメージのトリプレットに基づいて3−ストリームシャム類型のCNNをトレーニングさせる段階を含む。
【0027】
他の特徴として、ラベルそれぞれは、連関するトレーニングPOIイメージの6−自由度ポーズを含む。
【0028】
他の特徴として、トレーニングPOIイメージの関連性を決定する段階は、第1プロセッサにより、2つのトレーニングPOIイメージが第3閾値よりも大きい幾何学的重畳を示す場合には2つのトレーニングPOIイメージが関連するものであると判断する段階、および第1プロセッサにより、幾何学的重畳が第2閾値よりも小さい場合には2つのトレーニングPOIイメージが関係ないものであると判断する段階を含む。
【0029】
他の特徴として、前記方法は、第1プロセッサにより、2つのPOIイメージのそれぞれで見える通路外形のセット間のIoUに基づき、2つのトレーニングPOIイメージ間の幾何学的重畳を計算する段階をさらに含む。
【0030】
他の特徴として、少なくとも1つのトリプレットは、第1トレーニングイメージの第1サイネージ領域を他のトレーニングPOIイメージからの第2サイネージ領域に入れ替えることによって生成される合成POIイメージを含む。
【0031】
他の特徴として、トレーニングPOIイメージのベースを生成する段階は、第3プロセッサにより、それぞれ連関するラベルを有するPOIイメージの初期セットを取得する段階、第3プロセッサにより、初期セットのサブセット内のそれぞれのPOIイメージに対し、該当のPOIイメージからサイネージ領域を識別する段階(サイネージ領域は、POIイメージによって表現されるPOI上に位置されたサイネージを含む)、第3プロセッサにより、第1POIイメージのサイネージ領域を第2POIイメージのサイネージ領域に入れ替えることにより、サブセットの第1POIイメージに対応する合成POIイメージを生成する段階、第3プロセッサにより、合成POIイメージに第2POIイメージのラベルを連関させる段階、およびトレーニングPOIイメージのベースとして、POIイメージの初期セットおよび合成POIイメージを含むPOIイメージの最終セットを記録する段階を含む。
【0032】
他の特徴として、前記方法は、第3プロセッサにより、第3POIイメージのサイネージ領域を第4POIイメージのサイネージ領域に入れ替えることにより、サブセットの第3POIイメージに対応する第2合成POIイメージを生成する段階、および第3プロセッサにより、合成POIイメージに第4POIイメージのラベルを連関させる段階を含み、前記記録する段階は、第2合成POIイメージを最終セットに記録する段階をさらに含む。
【0033】
他の特徴として、最終セット内のPOIイメージの全体数のうちの少なくとも5%は、他のPOIイメージからサイネージ領域として生成された合成POIイメージである。
【0034】
他の特徴として、最終セット内のPOIイメージの全体数のうちの少なくとも25%は、他のPOIイメージからサイネージ領域として生成された合成POIイメージである。
【0035】
他の特徴として、前記方法は、クロップされたサイネージイメージのコレクションを取得する段階を含み、ここで、合成POIイメージを生成する段階は、第1POIイメージのサイネージ領域を、クロップされたサイネージイメージのコレクションからクロップされたサイネージイメージのうちから選択された1つのクロップされたサイネージイメージに入れ替える段階を含む。
【0036】
他の特徴として、前記方法は、クロップされたサイネージイメージのコレクションからクロップされたサイネージイメージのうちから選択された1つをランダムで選択する段階をさらに含む。
【0037】
他の特徴として、前記方法は、第1POIイメージのサイネージ領域の大きさおよび形状に適応するためにクロップされたサイネージイメージのうちから選択された1つのアフィンワーピング(affine warping)を実行する段階をさらに含む。
【0038】
他の特徴として、前記方法は、ポアソンブレンディングを実行する段階をさらに含む。
【0039】
他の特徴として、サイニジは、(a)POIイメージによって表現されるPOI上に位置された名称、および(b)POIイメージによって表現されたPOI上に位置されたロゴのうちの少なくとも1つを含む。
【0040】
他の特徴として、それぞれのPOIイメージからサイネージ領域を識別する段階は、光学文字認識およびロゴ検出のうちの少なくとも1つを利用してそれぞれのPOIイメージからサイネージ領域を識別する段階を含む。
【0041】
他の特徴として、POIイメージと連関するラベルそれぞれは、POIイメージのうちの1つによって表現されるPOIを識別するラベルを含む。
【0042】
他の特徴として、POIイメージと連関するラベルそれぞれは、POIイメージのうちの1つの位置および方向のうちの少なくとも1つを定義するラベルを含む。
【0043】
他の特徴として、POIイメージと連関するラベルそれぞれは、POIイメージうちの1つの6−自由度ポーズを定義するラベルを含む。
【0044】
他の特徴として、前記方法は、イメージ取得装置を使用してPOIの地理的に局在するイメージを取得することにより、POIイメージの初期セットを生成する段階をさらに含む。
【0045】
他の特徴として、サブセットは、すべての初期セットを含む。
【0046】
一特徴として、入力された一対のPOIイメージのPOI変化を検出する畳み込みニューラルネットワーク(CNN)をトレーニングさせるためのトレーニングイメージのベースを生成する方法は、プロセッサにより、それぞれ連関するラベルを有するPOIイメージの初期セットを取得する段階、プロセッサにより、初期セットのサブセット内のそれぞれのPOIイメージに対し、POIイメージからサイネージ領域を識別する段階(サイネージ領域は、POIイメージによって表現されるPOI上に位置されたサイネージを含む)、プロセッサにより、第1POIイメージのサイネージ領域を第2POIイメージのサイネージ領域に入れ替えることにより、サブセットの第1POIイメージに対応する合成POIイメージを生成する段階、プロセッサにより、第2POIイメージのラベルを合成POIイメージに連関させる段階、およびトレーニングイメージのベースとして、POIイメージの初期セットおよび合成POIイメージを含むPOIイメージの最終セットを記録する段階を含む。
【0047】
一特徴として、入力された一対のPOIイメージのPOI変化を検出するための畳み込みニューラルネットワーク(CNN)をトレーニングさせる方法は、第1プロセッサにより、トレーニングPOIイメージのベースを生成する段階、第2プロセッサにより、複数のトレーニングPOIイメージのトリプレットを生成する段階(それぞれのトリプレットは、第1POIイメージ、第1POIイメージと関連する第2POIイメージ、および第1および第2POIと関連のない第3POIイメージを含む)、第2プロセッサにより、POIイメージがそれぞれPOIイメージと連関するラベルに基づいて関連性を判断する段階、および第2プロセッサにより、トレーニングPOIイメージのトリプレットに基づいて3−ストリームシャム(Siamese)類型のCNNをトレーニングさせる段階を含む。
【0048】
本開示の内容の他の適用分野は、詳細な説明、特許請求の範囲、および図面から明らかになるであろう。詳細な説明および特定の例示は、本発明の例示に過ぎず、本開示の範囲を制限するものではない。
【発明を実施するための形態】
【0050】
アーキテクチャ
本出願は、入力された一対のPOIイメージからPOI変化を検出するために畳み込みニューラルネットワーク(CNN)をトレーニングさせるためのトレーニングイメージのベースを生成する方法、より詳細には、前記第1方法によって生成されるベースから入力された一対のPOIイメージからPOI変化を検出するためにCNNをトレーニングさせる方法、さらに詳細には、前記第2方法によってトレーニングされたCNNを用いて入力された一対のPOIイメージからPOI変化を検出する方法を開示する。
【0051】
上述したように、「関心地点(Point Of Interest)」とは、誰かまたは何かが有用であるか興味のある、適切に位置化された地理的ランドマークを意味してよい。POIの典型的な例としては、レストラン、カフェ、銀行などのようなすべての種類のショップまたは商店がある。ここで、POIは、すべての建物のすべての占有に一般化されてよい。POIの他の例としては、公共の建物、病院、学校、教会、駐車場、警察署、消防署、鉄道駅、空港などを含む。
【0052】
一般的に、POIは、「ウェブマップ」のようにマップに表示されることが可能な「スポット(地点)」を意味する。ウェブマップは、モバイル装置(例えば、スマートフォン、タブレット、ラップトップなど)、または内蔵されているか内蔵されていないアプリケーションを使用するモバイル装置(例えば、自動車コンピュータ、デスクトップ、ディスプレイ、またはプロジェクションユニットなど)のようなクライアント装備10に提供されるマップであってよい。ウェブマップは、ユーザの要求にしたがい、マップ上にディスプレイするためにPOIのデータベースから生成されてよい。
【0053】
POIが使用される状況により、POIは、建築物の外部(例えば、観光名所、政府建物など)にあるのか、または構造物の内部(例えば、POIは、博物館内の芸術物の位置または施設の位置を識別)にあるのかに関係なく、関心があるか関心がないかの特徴(例えば、旅行のときには、ガソリンスタンド、駐車場、レストランなどのようなPOIに関心があると考えられる)を識別してよい。したがって、POIは、互いに異なる状況で互いに異なる意味を有してよい。
【0054】
それぞれのPOIは、特定の位置(一般的に建物)と連関付けて説明され、このような位置のイメージはPOIを示す。
【0055】
「POI変化」とは、入力された一対のイメージに基づき、定義された与えられた期間内(理由は関係なし)に特定の位置のPOIが他のPOIの位置に入れ替わることを意味する。
【0056】
このようなイメージは、2つの異なるタイム−スタンプで同じ位置をキャプチャし(したがって、期間を定義)、それぞれの「以前−イメージ」および「以後−イメージ」として表示される。例えば、同じ位置において、以前−イメージは銀行であり、以後−イメージはファーストフード店である場合、POIは銀行からレストランに変化する。
【0057】
本出願は、POI変化の発生を検出する方法について説明する。方法の出力は、ブーリアン値(Boolean value)、例えば、POI変化が検出されるときの第1値およびPOI変化が検出されないときの第2値に基づいてよい。POI変化が検出されると、「新たな」POIを決定するためにPOI検出器がトリガーされてよい。
【0058】
上述した方法は、POIが時間の経過によって変化したかどうかを、与えられた領域内のそれぞれのPOIに対して自動で決定するために大規模で利用されてよい。言い換えれば、POI変化検出方法は、ほぼ同じ地理的位置(地理的位置の写真)で撮影された2つの与えられた写真(イメージ)のデータセットから取得される複数の入力された一対のイメージに対して実行されてよい。2つのデータセットは、例えば、領域をローミングする車によってキャプチャされてよい。2つのデータセットは、2つの異なる時間(2つの異なるタイム−スタンプを有する)にキャプチャされ、それぞれ「以前−データセット」(「以前−イメージ」のセット)および「以後−データ(「以後−イメージ」のセット)で表示される。
【0059】
図1において、マップは、2つの位置に対してPOI変化が確認された領域を示している。左側において、第1位置(チェックマークで表示)にはPOI変化がないことが分かる。右側において、第2位置(Xで表示)にはPOI変化があることが分かる。
【0060】
上述した方法は、第1サーバおよび/または第2サーバおよび/または第3サーバ1a、1b、1cにより、
図2に示すようなアーキテクチャ内で実現される。第1サーバ1aはベース生成サーバ(第1方法を実現する)であり、第2サーバ1bは学習サーバ(第2方法を実現する)であり、第3サーバ1cはPOI変化検出サーバ(第3方法を実現する)である。2つの機能(例えば、第1サーバ1aおよび第2サーバ1b)またはすべてのサーバの機能は、結合されてよい。代案的に、それぞれのサーバの機能は、プロセッサ回路によって提供されてもよいし、共有プロセッサ回路によって結合されてもよい。
【0061】
第1、第2、および第3サーバ1a、1b、1cそれぞれは、データ交換のためのインターネットのような拡張ネットワーク2に連結する遠隔コンピュータ装備を含む。第1、第2、および第3サーバ1a、1b、1cそれぞれは、データプロセッサのようなデータ処理モジュール11a、11b、11cを含む。第2サーバ1bのデータ処理モジュール11bは、データ処理モジュール11aおよび11cの機能よりも学習が計算集約的であり得るため、データ処理モジュール11aおよび11cよりもさらに大きいデータ処理能力を有してよい。第1、第2、および第3サーバ1a、1b、1cそれぞれは、メモリのような記録モジュール12a、12b、12cを含んでもよい。
【0062】
第1および第2サーバ1aおよび1bは、トレーニングベースを記録したり、これにアクセスしたりしてよい。トレーニングベースは、トレーニングイメージのベースを含んでよく、これは「POIイメージ」とも呼ばれる。それぞれのPOIイメージは、第1および第2サーバ1a、1bで、2つのPOIイメージが「関連」であるか「非関連」であるかを決定できるようにするラベル(または「タグ」)と連関してよい。関連は同じPOIを意味する可能性が高く、非関連は同じPOIを意味する可能性が低い。
【0063】
第1例として、ラベルは、POIイメージによって描写されるPOIを直接識別する。言い換えれば、POIがこのようなイメージによって描写されるトレーニングベースのそれぞれのPOIイメージに対して知らされてよい。例えば、レストランのイメージは、レストラン名のラベルと連関させてよい。
【0064】
第2例として、それぞれのPOIイメージには、位置および/または方向データがラベリングされる。このような例において、POIイメージのラベルは、POIイメージの位置および/または方向を定義する。例えば、ラベルは、位置の3つのコンポーネントおよび方向の3つのコンポーネントを含む6Dポーズを含んでよい。このような場合、これらの位置/方向(ラベル)がほぼ同じであれば(例えば、イメージを取得するとき、カメラが類似する時点を有する場合)、2つのPOIイメージは関連するものと決定されてよい。
【0065】
本出願は、特定のラベリング方式に制限されない。ラベルが図に示すPOIに関する情報を提供し、サーバ1a、1b、1cが2つのPOIイメージの関連性を決定できる限り、ラベルは任意の適切な特性を有してよい。
【0066】
アーキテクチャは、カメラを備えた自動車および6DoFポーズのようなそれぞれの取得されたイメージの位置(例えば、3つのコンポーネント)および/または方向(例えば、3つのコンポーネント)を決定するように構成される地理的位置ユニット(GPSモジュール、LIDARなどのような)のようなイメージ取得装置3をさらに含んでよい。
【0067】
クライアント装備10の1つ以上のアイテムは、ユーザ端末(または、ネットワーク2に連結される)であってよく、サーバ1a、1b、1cから分離されてもよいが、POI情報にアクセスするために1つおよび/またはその他のものと併合されてもよい。例えば、クライアント装備10は、1つ以上のサーバ1a、1b、1cからのPOI情報に基づいてマップ上にPOIを表示するマッピングアプリケーションを実現してよい。
【0068】
シャム(SIAMESE)NN
商店正面に関連する事例において、イメージからPOI変化が検出された後、フランチャイズの認識が検出される。例えば、フランチャイズに変化した場合、POI変化が検出されてよい。本出願では、POI検出器の種類またはPOIフランチャイズに対する明示上な知識は求めない。言い換えれば、本出願は、対応するフランチャイズ(前後)がトレーニング中にまったく見えなかったとしても、商店正面のPOI変化を検出することができる。
【0069】
POI変化の検出問題は、ランキング問題を含むと説明されてよい。ランキングアクセス方式は、入力クエリによる類似性側面において、このクエリと関連するすべてのデータベースエレメントのランキングを予測することを目標とする。類似性は、典型的に当面の課題によって定義される(例えば、任意)。
【0070】
類似性/非類似性インスタンス(この場合、POIの場合)の例示の対から類似性が学習されてよい。ランキングアクセス方式は、「識別」問題を解決し、データセットからクエリに最も類似したインスタンスを見つけ出すもののように見えるが、ランキングアクセス方式が2つのインスタンスの類似性を確認し、2つのインスタンスが類似するかを確認するために利用されてよい。2つのインスタンスが予想どおり類似しない場合、変化がある。
【0071】
ランキングシステムをトレーニングさせる1つ方法は、トリプレット損失を利用する。本出願は、イメージトリプレットに基づいたランキング損失の特定の形態を含む。目標は、クエリイメージで構成されるトリプレット、「関連する」イメージ(クエリイメージと関連するイメージ、すなわち、同じインスタンスのイメージ)と「関連のない」イメージ(言い換えれば、クエリイメージと関連のないイメージ)に明確に適用することにあり、関連イメージのトレーニングされた表現は、関連のないイメージの表現よりもクエリイメージの表現により近い。
【0072】
POIと関連して言葉を変えても、以後−イメージ、以前−イメージ、および他のPOI(例えば、以前イメージのラベルと互換されない/関連のないラベルと連関する任意のPOIイメージ、すなわち、関連がない上に異なるPOIを描写する)のイメージで構成されたトリプレットがある場合、以後−イメージのトレーニングされた表現は、他のPOIのイメージの表現よりも以前−イメージの表現により近い。
【0073】
このために、本出願のCNNは、3−ストリームシャムニューラルネットワークであってよい。3つのストリームそれぞれによって生成されるイメージ表現は、損失によって共同で考慮される。POI変化検出のためのこのようなシャムNNの実施形態は、
図3に示されている。
【0074】
「シャム(Siamese)」NNは、ストリームと呼ばれる2つ以上の同じサブネットワークを含むニューラルネットワークアーキテクチャの類型である。
図3は、3つのストリームが存在する例を示している。「同一」は、同じパラメータおよび加重値で同じ構成を備えることを意味してよい。パラメータアップデートは、すべてのストリームでミラーリングされてよい。
【0075】
畳み込み層(レイヤCONV)および全結合層(fully−connected layer:FC)の加重値の大きさは、イメージの大きさとは無関係であるため、ストリーム間で共有される。すなわち、シャムアーキテクチャは、すべての大きさと縦横比のイメージを処理することができ、テスト時に利用される同じ(高)解像度のイメージを利用してトレーニングされてよい。
【0076】
一般的なResNet−101は、一般化されたマックスプーリング(maxpooling)を基盤とするグローバルプーリング層を有するそれぞれのストリームのバックボーンとして使用されてよい。
【0077】
FC層は、「ディスクリプタ(descriptor)」を出力する。ディスクリプタは、2つの入力を比較する基礎ベクトルであってよい。ストリームが同じ構成を有するため、入力が与えられれば、取得したディスクリプタはそれぞれのストリームに対して等しい。
【0078】
FC層以後のシャムNNの一部(例えば、層)は、損失を計算し、トレーニング中にだけ使用される。次に、ランキング損失は、トレーニングに使用されてよい。I
qをディスクリプタd
qを有するクエリイメージであるとすると、I
+はディスクリプタd
+を有する関連イメージであり、I
−はディスクリプタd
−とは関係のないイメージである。したがって、ランキングトリプレット損失は、次のように定義される。
【0080】
ここで、mは、マージンを制御するスカラである。
【0081】
トリプレット損失をランキング化する例について説明したが、L2標準以外の距離関数のような他の損失関数が使用されてよい。
【0082】
3−ストリームシャムNNは、トリプレットI
a、I
b、I
cによってトレーニングされてよく、ここで、I
aおよびI
bは同じインスタンス(すなわち、同じPOIを示す)を示し、I
cは他のインスタンスを示す(すなわち、異なるPOIを示す)。トリプレット損失に対する次の公式は、インスタンスが何であっても、ディスクリプタd
aとd
bとの距離が常にd
aとd
cとの距離よりも小さくなければならないという事実を適用する。このような関係がいずれかのトリプレットに適用される場合、一般的に、同じインスタンスからのイメージが、異なるインスタンスからのイメージよりも空間においてより近いということを意味する。言い換えれば、2つのイメージディスクリプタの距離を測定すれば、2つのインスタンス間の関係が分かる。
【0085】
【数3】
は、予め決定されている閾値である(以下を参照)。
【0086】
ベース生成方法
トレーニングイメージのベースを生成する方法は、第1サーバ1aのデータプロセッサ11aによって実現される。このような方法は、CNN(特に、3−ストリームシャム類型NN)をトレーニングするためのトレーニングベースを設定する。
【0087】
シャムNNをトレーニングさせるための一般的な設定は、イメージあたりの単一インスタンス(すなわち、単一POIを示すそれぞれのイメージ)を有し、連関するラベルがあるイメージのデータセットを生成する。上述したように、それぞれのラベルは、イメージで描写されたPOIを識別する。トリプレットの生成は、次のとおりに行われる。イメージI
aのラベルをI
aで示す。トリプレットI
a、I
b、I
cを生成するためにI
a=I
bおよびI
a≠I
cを適用する。
【0088】
POI変化検出のためにネットワークをトレーニングすることは、実際にPOIイメージの対の大規模データセットを使用してよく、そのうちの一部にはPOI変化があるか、一部にはPOI変化がない。トレーニングは、データセットをランダムにサンプリングして適切なトリプレットを形成する。しかし、このような大規模データセットを収集することには困難があり、多くの時間が消耗され、費用も多くかかる。
【0089】
POI変化をシミュレーションしてPOI変化の対ないトリプレットI
a、I
b、I
cを直接生成すれば、欠陷が生じる恐れがある。例えば、(トレーニングされた)NNは、天気、閉塞、または季節の商店正面の変化のような変化ではなく、視覚的混乱に対して十分な不変性を学習することができない場合がある。これは、可能な変形の全体パネルを示さないトレーニングに使用される制限されたデータにその原因がある。制限されたデータセットは、POI変化の例示の対だけをシミュレーションすることができる。また、実際のPOI変化を示す同一場所のイメージの例示の対を提供する代りに、2つの異なる場所からの2つの異なるPOIが使用されてよい。しかし、実際には、
図1の右側に示すように、POI「以前」と「以後」の間に特定の類似性または相関関係がある場合がたびたび存在する。
【0090】
本出願は、インスタンスの視覚的アイデンティティの構成を区別する。これを「主要視覚的特徴」と呼ぶ。POIの場合、異なる商店が同じ製品やサービスを販売することもあるため、商店正面自体は特に区別されない。特に、2つの異なるPOIを明白に区別することのできる唯一な要因は、このような主要視覚的特徴であり、これは一般的にPOIの名称および/またはロゴである。多様な実現において、3次元エンブレム、特定のパターン、特定のインテリアなどのような異なる視覚的アイデンティティ特徴が利用されてよい。POIのこのような主要視覚的特徴は、一般的にイメージで識別されて分離される。
【0091】
例えば、
図4aは、トレーニングされたNNの検出が困難な実際のPOI変化の例を示している。商店の所有者(フランチャイズ)は変化したが、商店コンテンツには変化がなく、維持されている。主要視覚的特徴(サイネージ)だけが変更されたが、比較的独特な方式ではない。
【0092】
商店正面のPOIイメージで示される主要視覚的特徴を「サイネージ(signage)」とし、POIイメージの該当の部分を「サイネージ領域(signage region)」とする。サイネージ領域の例は、
図4aにおいて点線の四角形によって定義される。
【0093】
本出願は、サイネージ領域を他のサイネージ領域と合成的に交換し、選択的に、よりリアルなイメージブレンディング技術を利用してトレーニングベースを拡大することにより、POI変化の人工的な例の生成を含む。
【0094】
ベース生成方法は
図8に示されており、POIイメージの初期セットを取得する段階a1から始まり、それぞれのPOIイメージは、記録された連関するラベルを有する。ラベルは、イメージによって描写されたPOIを直接識別するか、イメージの位置および/または方向を定義してよい。以下、2つの実施形態について説明する。初期セットを取得するために多様な技法が利用されてよい。
【0095】
ラベルがPOIを識別する場合、このようなポイントにおける初期セットのそれぞれのイメージは、正しくラベリングされた単一POIを示すものと仮定する。
【0096】
段階a2で、初期セットのサブセットからのそれぞれのイメージに対し、サイネージ領域がイメージから識別されるが、サイネージ領域はイメージによって描写されたPOIの主要視覚的特徴を説明するものであり、特に、イメージと連関するラベル(一般的に名称および/またはロゴ)である。サブセットは、全体初期セットであってもよく、全体初期セットよりも少なくてもよい。サイネージ領域は、例えば、光学文字認識および/またはロゴ検出によってイメージから識別されてよい。
【0097】
サイネージ領域が識別されるとき、サイネージ領域は、「サイネージイメージ(signage image)」、すなわち、サイネージ領域として制限される小さなイメージを得るためにクロップされてよい。段階a2は、異なるイメージからクロップされたサイネージイメージのコレクションを取得する段階を含むことに注目しなければならない。
【0098】
段階a3で、少なくとも1つの「合成」POIイメージが生成される。合成POIイメージは、サイネージ領域がサブセットの第2イメージのサイネージ領域に入れ替えられたサブセットの第1イメージに対応する、人工的に構成されるトレーニングイメージである。言い換えれば、実際にPOIイメージ(第1イメージ)が与えられると、このイメージのサイネージ領域が他のサイネージ領域(第2イメージの領域)に入れ替わる。第2イメージ(他のサイネージ領域から取得されるもの)は、サブセットからランダムに選択されてよい。
【0099】
段階a3は、与えられたイメージのサイネージ領域の大きさおよび形状に適応するために選択されたクロップされたサイネージイメージのアフィンワーピングを含んでよい。これは、よりリアルなポアソンブレンディングに繋がってよい。
【0100】
生成された合成POIイメージの例が
図4bに示されている。それぞれの例において、左側イメージは原本サイネージ領域を含む原本イメージ(第1イメージ)であり、上のイメージは(第2イメージから)選択されたクロップされたサイネージ領域を示し、右側イメージは第1イメージのサイネージ領域を第2イメージのサイネージ領域に入れ替えることで取得された合成POIイメージである。
【0101】
トレーニングに使用するために、合成POIイメージはラベリングされている。合成イメージは、クロップされたサイネージ領域のPOIを示すものと見なされる。
【0102】
原本イメージと合成イメージは、トレーニングベースに追加された新たな非類似(非関連)対を構成する。
【0103】
段階a4で、初期セットのPOIイメージおよびそれぞれの生成された合成POIイメージを含むPOIイメージの最終セットが、トレーニングイメージのベースに提供される。トレーニングは、トレーニングイメージのベースによって実行される。
【0104】
このプロセスは、可視的なサイネージを有するそれぞれのPOIイメージに対して数回にわたって実行されてよい。合成データの生成は、簡単な方式で事前知識を注入できるようにし、不足なデータに対するアクセス方式を強化する。
【0105】
以下でさらに説明するが、トレーニングベースでの最大50%の合成イメージ(すなわち、原本POIイメージあたり最大1つのPOI合成イメージ)によって有利な結果が得られる。トレーニングベースでの合成POIイメージの割合は、4%(および96%の原本POIイメージ)〜80%(および20%の原本POIイメージ)範囲であってよい。多様な実現において、トレーニングベースは、10%〜70%の合成POIイメージを含んでよく、残りは原本POIイメージである。多様な実現において、トレーニングベースは、20%〜60%の合成POIイメージを含んでよく、残りは原本POIイメージである。多様な実現において、トレーニングベースは、40%〜55%の合成POIイメージを含んでよく、残りは原本POIイメージである。
【0106】
POIイメージラベリング
上述した第1例において、それぞれのPOIイメージは、POIを識別するラベルと連関する。このような場合に、段階a1は、キャプチャされたPOIイメージを手動でラベリングすることによって実行されてよい。しかし、キャプチャされたPOIイメージを手動でラベリングすることは、時間と資源の消耗となる。
【0107】
イメージが自動で収集およびラベリングされてよい。しかし、「誤って形成された三重項」が発生する恐れがある。これには3つの理由がある。(1)例えば、
図5aに示すように、1つ以上のインスタンスがイメージ上に示されることがある。(2)単一イメージは、POIの一部だけをカバーするため、同じPOIにおける2つのイメージは、例えば、
図5bに示すように重ならないこともある。(3)一部のイメージはPOIをまったく含まないこともあるが、このようなイメージと対をなすPOIイメージは、
図5cに示すように変化として見なされない。
【0108】
それぞれのPOIイメージに示されたPOIを識別するラベルの正確性のために、ラベルおよびPOIイメージの人間による吟味および検証が実行されてよい。それぞれのPOIイメージが単一POIだけを含むヒューマンレビューが実行されてもよい。
【0109】
2つ目の例として、それぞれのPOIイメージは、6Dポーズのような位置および/または方向データでラベリングされる。これを前提に、トリプレットは、イメージコンテンツ重畳の幾何学的測定に基づいて生成されてよい。2つのイメージが実質的に共通のビューを共有する場合、すなわち、これらが重なる場合に関連をもつ。
【0110】
前記領域のマップが利用可能であると仮定すると、マップは、
図1に示すように、通路外形(例えば、それだけ)を示してよい。地図を使用することができない場合、3D再構成技術によってポーズと地図を取得してよい。
【0112】
【数4】
で表示されるが、ここで、Wは、
図6の例のように、このようなすべてのポイントのセットである。それぞれのイメージI
aに対し、このようなイメージで通路外形のセットを示す幾何学的パラメータV
aが計算されてよい。これは、レイキャスティング(ray casting)によって達成される。イメージのそれぞれのピクセルに対し、カメラレンズから始まる3D光線は、このピクセルを通過した後に初めて発生する
【0114】
2つのイメージI
aおよびI
b間のオーバーラップ0(I
a;I
b)は、可視性セット間の領域の共通部分を和集合で除算したもの(intersection−over−union:IoU)を利用して計算されてよい。
【0116】
2つのイメージに関連性があるか否かは、幾何学的重畳に基づいて決定される。2つのPOIイメージは、第1閾値(0(I
a;I
b)>
τhigh)以上の幾何学的重畳が存在する場合には関連があると判断され(真の対)、第2閾値(0(I
a;I
b)≦
τlow)未満の幾何学的重畳がある場合には非関連(偽りの対)と判断される。
【0117】
第1閾値(
τhigh)は、第2閾値(
τlow)よりも大きいか同じである。例示値は、
τhigh=0.5(すなわち、重畳の50%)および
τlow=0(重畳なし、すなわち、2つのイメージは区分される)である。2つのイメージ間の幾何学的重畳が閾値の範囲内にある場合、
τhigh≧(I
a;I
b)>
τlow)、2つのイメージ間の関係は確実でないと表示されてよい(関連および非関連)。確実でない関係を有する2つのイメージは、同じトリプレットでは使用されない。
【0118】
トレーニング方法
トレーニング方法は、第2サーバ11bのデータプロセッサ11bによって実現され、
図9に示されている。トレーニング方法は、POI変化を検出するために3−ストリームシャム類型のCNNをトレーニングさせる。
【0119】
第1段階aで、トレーニングイメージのベースは、合成POIイメージとして「増強」されるように、
図8を参照しながら説明した第1例(すなわち、それぞれのPOIイメージがPOIを識別するラベルと連関している場合)によって生成される。
【0120】
第1および第2サーバ1b、1cは同じサーバであってよく、段階aは、メモリ12bに記録するために第1サーバ1aから第2サーバ1bへのトレーニングベースの送信を含んでよい。
【0121】
第2段階bにおいて、トレーニングイメージのベースを使用して複数のトレーニングイメージのトリプレットが生成される。それぞれのトリプレットには、一対の関連POIイメージとは関連のないPOIイメージが含まれる。言い換えれば、それぞれのトリプレットは、2つの関連POIイメージおよび2つの異なるPOIイメージとは関連のない第3POIイメージを含む。言い換えれば、トリプレットには3つのイメージが含まれる。トリプレットの第3イメージは、トリプレットの第1イメージまたは第2イメージ(関連あり)とは関連がない。すなわち、I
cがトリプレットI
a、I
b、I
cの「関係のないイメージ」である場合、I
aは、トリプレットの2つの対I
a、I
b(関連するイメージの対)およびI
a、I
c(関連のないイメージの対)に属する。2つのPOIイメージは、ラベルを基準に関連性の有無を判断する。少なくとも1つのトリプレットは、合成イメージと合成イメージが生成された第1イメージの一対の関連のないPOIイメージを含んでよい。例えば、ペアリングがなされれば、トリプレットがランダムに生成されてよい。
【0122】
ラベルがPOI自体を識別する場合、2つのPOIイメージが同じラベルを有する場合、2つのPOIイメージが関連するものと識別されてよい。それぞれのPOIイメージがイメージの6−自由度ポーズを定義するラベルに連関する場合、2つのPOIイメージは、これらのそれぞれの6−自由度ポーズに基づき、幾何学的重畳の関数として関連性の有無が識別されてよい。
【0123】
段階bは、POI変化およびPOI変化対がないことをシミュレーションするために幾何学的重畳制約条件によるトリプレットを選択するために、ベース内のすべてのイメージ対の幾何学的重畳を計算する段階を含んでよい。
【0124】
6DoFの例において、トレーニングベースは、より優れたトレーニングを提供するために実際にPOI変化がないことがある。そうではない場合、トレーニングベースは、同じポーズを有するが互いに異なるPOIを示す一対のPOIイメージを含んでよい。POI変化は稀に発生する。POIイメージが定時または一セッションから近いタイム−スタンプとして収集される場合によりそうなる。
【0125】
3番目の段階cで、シャムNNは、3つのトリプレットの3つのイメージを3つのストリームの入力として使用し、「ランキングトリプレット損失」を損失関数として利用してトレーニングする。トレーニングのためには次が利用される。10
−5の学習速度を、Adamを利用して2000回の繰り返しごとに2で割った。配置の大きさは16であり、32回の繰り返しごとにハードトリプレットマイニングが実行される。ハードトリプレットマイニング中、512個のイメージのフルがランダムでサンプリングされてよい。
【0126】
データ拡大技法(例えば、ランダムスケーリング、カラージッタリング、ランダム回転、ランダムティルティング、ランダム消去、ランダムクロップ)すべてを、実験に対して同じパラメータとともに使用してよい。
【0127】
収斂が数千回繰り返されるまでモデルをトレーニングすれば、すべてのトレーニングトリプレットに対するトリプレットはヌル(null)になる。トリプレット損失がなければ、追加のトレーニング効果が得られないことがある。
【0128】
POI変化検出方法
入力された一対のPOIイメージからPOI変化を検出する方法は、第2サーバ1bのデータプロセッサユニット11cによって実行されてよく、
図10に示されている。この方法は、トレーニングされたCNNによって入力されたPOIイメージを比較することにより、POI変化の発生を判断する。
【0129】
入力された一対のPOIイメージのイメージは、2つの異なるタイムスタンプにおいて同じ位置でキャプチャされてよい。この方法は、2つの異なるタイムスタンプ(「以前−データセット」および「以後−データセット」)からキャプチャされた、地理的に局在するイメージの2つの与えられたデータセット(同じ地理的位置で撮影されたイメージ)から取得された複数の入力イメージ対に対して実行されてよい。特定の領域における周辺のイメージのデータセットは、例えば、X日、週、月、または年ごとにイメージ取得装置3によって定期的にキャプチャされてよい。
【0130】
イメージ対は、イメージ地理的に局在するメタ−データによって形成される。具体的に、2つのイメージI
aおよびI
bは、このうちの少なくとも1つが接近写真(例えば、通路外形までの平均距離が閾値
【0131】
【数7】
未満である)であり、可視性IoUが十分であれば対をなし、
【0132】
【数8】
幾何学的重畳計算方法を参照とする。次の例示的な値または他の適切な値が
【0134】
第1段階a’で、3−ストリームシャムタイプのCNNのトレーニングは、第2サーバ1bによって実行される。トレーニングは、
図9を参照しながら上述した方法と一致する。シャムNNは、一対の関連POIイメージおよび一対の関係のないPOIイメージを含むPOIイメージのトリプレットに基づいてトレーニングされる。
【0135】
第2および第3サーバ1b、1cは同じ装備であってよく、段階a’は、メモリ12cに記録するためにトレーニングされたCNNパラメータおよび加重値を第2サーバ1bから第3サーバ1cに送信することを含んでよい。
【0136】
第2段階b’で、第2サーバ1bのデータプロセッサ11bは、入力されたイメージの評価のためにトレーニングされたCNNを利用する。
【0137】
このために、段階b’は、入力された一対のPOIイメージそれぞれのイメージに対し、CNNのストリームを用いてイメージのディスクリプタを計算する段階を含む。
図3を参照しながら説明したように、2つのストリームがすべて同じであるため、シャムNNの単一ストリームを用いるだけでイメージディスクリプタを計算することができる。多様な実現において、2つのストリームは、2つのディスクリプタを並列で計算するために使用されてよい。
【0138】
3番目の段階c’で、2つのイメージに対して計算されたディスクリプタの類似性スコア関数に基づいてPOI変化を検出してよい。類似性スコアは、2つのディスクリプタの距離を示す。類似性スコアが高いほどPOIが変化する可能性が高まり、その反対も同じである。
【0139】
第1実施形態において、類似性スコアは、予め決定された閾値との比較により、POI変化が発生したかを示す最終結果を判断する。例えば、類似性スコアが予め決定された閾値よりも大きければPOI変化が検出されてよく(入力されたPOIイメージは相異)、類似性スコアが予め決定された閾値よりも小さければPOI変化が検出されなくてよい(入力されたPOIイメージは類似)。
【0140】
第2実施形態において、ラベルの代りに、変化確率を決定するためにシグモイド関数(sigmoid function)のような損失関数が適用されてよい。
【0141】
類似性スコアは、関数S(I
a;I
b)=〈d
a、d
b〉に基づき、すなわち、これらのディスクリプタ間のドット積として与えられてよい。差の標準のような他のスコアリング関数も可能である。
【0142】
この方法は、空間に対するすべてのPOIに対して実行されてよく、空間的集計が利用されてよい。それぞれの通路外形
【0143】
【数10】
は、POI変化スコアS
wを受信し、すべてのイメージ対「(シーイング(seeing))」に対する最大スコアとして計算される。
【0145】
最後に、通路外形スコア{S
w}は、幅が1Dであるガウスカーネル(例えば、
【0146】
【数12】
=2メートル)または他の適切な値を用いて通路外形に沿って局所的に滑らかになる。
【0147】
多様な実現において、与えられた領域から検出されたPOI変化は、可能性に応じてランキングが付与される。POIデータベースをアップデートする前に、変更事項を手動で検討しろという警告が生成(例えば、表示)されてよい。
【0148】
提案されたアクセス法は、多数のイメージ(例えば、数千)を検討してイメージをフィルタリングし、POI変化を示す可能性に対する要約を手動で検討してよい。これは、手動検討および検証にかかる時間と資源消費を減らし、運営の安全性を向上させる。
【0149】
得られた結果は、装備10に提供されてよい。インタラクティブグラフィックユーザインタフェース(GUI)を利用し、ユーザは可能なPOI変化領域をクリックし、各位置でイメージ対を迅速に報告、POI変化の発生を確認することができる。
【0150】
テスト
本方法の効率は、標準mAP(mean−Average−Precision)マトリックによって評価されてよい。mAPは、インスタンス検索システムを評価する方法である。
【0151】
mAP測定は、POI変化可能性と関連して与えられた特定の領域のすべての位置を全体的にランキング化することを目標とするPOI変化検出作業と正確に一致しないこともある。
【0152】
位置をそれぞれの地上−検証POI変化に手動で連結し、地理的地上−検証を定義してよい。テストの際に提案されたシステムの出力(それぞれの位置でPOI変化が発生する可能性を示す値生を成)を地上−検証と比較してよい。
【0153】
POI変化が発生した地上検証地点付近のすべての位置は「陽性(positive)」(5メートル半径)と表示され、他のすべての位置は「陰性(negative)」と表示される(POI変化が発生しなかったことを示す)。全体的にすべての位置の0.75%未満がポジティブと表示されてよい。このような地理的ラベリングが与えられた平均精密度(Average−Precision)は「PCDAP」と呼ばれ、提案されたシステムのグローバル性能を反映する。
【0154】
図7aは、上述した2つのラベリング体系の性能を比較した最初のテストを示している(POIを識別するラベル対イメージの位置および/または方向を定義するラベル)。図に示すように、位置および/または方向を定義するラベリングがより適切に実行されている。
【0155】
図7bは、トレーニングベースで異なる割合の合成イメージによる性能を比べる第2テストを示している。
【0156】
合成イメージを追加すれば、左側の図から分かるように、トレーニングがより難しくなり長引く。しかし、合成イメージを追加すれば、mAPに及ぼす影響が少ない。すなわち、合成イメージを追加すれば、イメージランキングにほとんど影響を及ぼさない。
【0157】
しかし、合成イメージは、PCD APマトリックに大きな影響を及ぼす(多いほど優れている)。合成例を追加すれば、CNNが差別化された視覚的機能である、サイネージに注意を集中させなければならないためである。トレーニング後、最後の畳み込み層の活性化マップは、CNNがサイネージだけに関心を集中するように学習するということを示す。結果的に、サイネージが異なるイメージ間の距離間隔を強化し、POI変化検出をより正確にさせる。
【0158】
例えば、
図4aに示した2つのイメージI
aおよびI
bの距離はそれぞれ、合成イメージを追加するか追加せず、トレーニングされるCNNに対して
【0160】
コンピュータプログラム製品
多様な実現において、本出願は、次のうちの少なくとも1つを実行するための(特に、第1、第2、および/または第3サーバ1a、1b、1cのデータプロセッサ11a、11b、11c上で)コード命令を含むコンピュータプログラム製品を含む、上述したトレーニングイメージのベースを生成する方法、上述した畳み込みニューラルネットワークCNNをトレーニングさせる方法、および上述した入力された一対のPOIイメージからPOI変化を検出する方法を提供する。コンピュータプログラム製品は、コンピュータ装備(例えば、第1、第2、および第3サーバ1a、1b、1cのうちの少なくとも1つ)によって読み取り可能かつ実行可能な記録手段(例えば、メモリ12a、12b、12c)に記録されてよい。
【0161】
結論
主題は、「サイネージ」によって識別されるその主要視覚的特徴を有する、売場正面を識別するPOIに対する特定の参照として説明されたが、添付の特許請求の範囲に定義された主題は、必ずしも特定の特徴として制限されるものではないということが理解できるであろう。または、上述した動作、上述した特定の特徴および動作は、1つの例示的な形態を提供する。例えば、POIは、商店正面の代りに博物館を識別してよく、このようなPOIの主要視覚的特徴(または、サイネージ領域)は、博物館内の作品であってよい。
【0162】
上述した説明は、本質的に例示的なものに過ぎず、この応用または使用を制限しようとするものではない。本開示の広範囲な開示は、多様な形態で実現されてよい。これにより、本開示には特定の例が含まれるが、本開示の本当の範囲は、図面、明細書、および添付の特許請求の範囲の研究によって他の変形が明らかになるため、このように制限されてはならない。方法内の1つ以上の段階は、本開示の原理を変更しない範囲で、異なる順で(または同時に)実行されてもよいことを理解しなければならない。また、それぞれの実施形態には特定の特徴が含まれると説明されたが、本開示内容の任意の実施形態と関連して説明された特徴のうちの任意の1つ以上は、他の実施形態の特徴として実現および/または結合されてよい。その組み合わせは明確に説明されていない。言い換えれば、説明された実施形態は、相互排他的ではなく、1つ以上の実施形態の互いの順列は本開示の範囲内にある。
【0163】
エレメント間(例えば、モジュール、回路エレメント、半導体層など)の空間的および機能的関係は、「連結された(connected)」、「結合された(engaged)」、「隣り合う(adjacent)」、「横に(next to)」、「上位に(on top of)」、「上(above)」、「下(below)」、および「配置された(disposed)」を含む多様な用語によって説明される。「直接(direct)」と明らかに記述されない限り、第1および第2エレメントの関係が前記開示で説明されるときに、その関係は第1および第2エレメントの間に他のエレメントが存在しない直接的な関係であってもよいが、1つ以上のエレメントが第1および第2エレメントの間に(空間的にまたは機能的に)存在する間接的な関係であってもよい。本明細書で使用されたように、文章A、B、およびCのうちの少なくとも1つは、非排他的論理合によって論理A OR B OR Cを意味するものと解釈されなければならず、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を意味するものと解釈されてはならない。
【0164】
図面において、矢印で表示した矢印の方向は、一般的に例示に関心のある情報の流れ(データまたは命令のような)を示す。例えば、エレメントAとエレメントBが多様な情報を交換するとき、エレメントAからエレメントBに送信される情報が例示と関連がある場合、矢印はエレメントAからエレメントBを指してよい。
【0165】
このような偏方向の矢印は、他の情報がエレメントBからエレメントAに送信されないことを意味するものではない。また、エレメントAからエレメントBに送信される情報に対し、エレメントBは、情報の要求または受信確認をエレメントAに送信してよい。
【0166】
以下の定義を含んだ上で、本出願において「モジュール」または「制御機」という用語は、「回路」という用語に置き換えられてよい。「モジュール」という用語は、次を指すか、一部であるか、含んでよい。特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、デジタル、アナログ、または混合アナログ/デジタル離散回路、デジタル、アナログまたは混合アナログ/デジタル集積回路、組合論理回路、FPGA(Field Programmable Gate Array)、コードを実行するプロセッサ回路(共有、専用、またはグループ)、プロセッサ回路によって実行されるコードを記録するメモリ回路(共有、専用、またはグループ)、説明された機能を提供する他の適切なハードウェア構成要素、またはシステムオンチップ(system−on−chip)のように、前記一部または全部の組み合わせであってよい。
【0167】
モジュールは、1つ以上のインタフェース回路を含んでよい。一部の例において、インタフェース回路は、近距離通信網(LAN)、インターネット、広域通信網(WAN)、またはこれらの組み合わせによって接続する有線または無線インタフェースを含んでよい。本開示の任意の与えられたモジュールの機能は、インタフェース回路を介して接続する多数のモジュールに分散されてよい。例えば、多数のモジュールがロードバランシングを許容してよい。他の例において、サーバ(遠隔またはクラウドとも呼ばれる)モジュールは、クライアントモジュールの代わりに一部の機能を果たしてよい。
【0168】
上述で使用された用語コードは、ソフトウェア、ファームウェア、および/またはマイクロコードを含んでよく、プログラム、ルーチン、機能、クラス、データ構造、および/またはオブジェクトを意味してよい。共有プロセッサ回路という用語は、多数のモジュールで一部またはすべてのコードを実行する単一プロセッサ回路を含む。グループプロセッサ回路という用語は、追加のプロセッサ回路と結合して1つ以上のモジュールから一部またはすべてのコードを実行するプロセッサ回路を含む。マルチプロセッサ回路に対する言及は、個別多位相のマルチプロセッサ回路、単一多位相のプロセッサ回路、単一プロセッサ回路のマルチコア、単一プロセッサ回路のマルチスレッド、またはこれらの組み合わせを含む。共有メモリ回路という用語は、多数モジュールの一部またはすべてのコードを記録する単一メモリ回路を含む。グループメモリ回路という用語は、追加のメモリと結合して1つ以上のモジュールからの一部またはすべてのコードを記録するメモリ回路を含む。
【0169】
本明細書で使用される用語であるプロセッサは、データプロセッサ/メモリを有するサーバ機能およびプロセッサ回路を含む。メモリ回路という用語は、コンピュータ読み取り可能な媒体のサブセットを意味する。本明細書で使用されるコンピュータ読み取り可能な媒体という用語は、媒体を介して伝えられる一時的な電気または電磁気信号(例えば、搬送波)を含まず、したがって、コンピュータ読み取り可能な媒体という用語は、類型および非一時的なものと見なされてよい。非一時的、類型のコンピュータ読み取り可能な媒体の非制限的な例は、非揮発性メモリ回路(フラッシュメモリ回路、消去可能プログラミング可能な読み取り専用メモリ回路、またはマスク読み取り専用メモリ回路など)、揮発性メモリ回路(静的ランダムアクセスメモリ回路または動的ランダムアクセスメモリ回路など)、磁気記録媒体(アナログまたはデジタル磁気テープまたはハードディスクドライブなど)、および光学記録媒体(CD、DVDまたはBlu−ray(登録商標)ディスクなど)がある。
【0170】
本出願で説明された装置および方法は、コンピュータプログラムによって実現された1つ以上の特定の機能を実行するように汎用コンピュータを構成することにより、生成された特殊目的コンピュータによって部分的または完全に実現されてよい。上述した機能ブロック、フローチャート構成要素、およびその他の要素は、熟練された技術者またはプログラマーの日常的な作業によってコンピュータプログラムに変換されることのできるソフトウェア仕様として機能する。
【0171】
コンピュータプログラムは、少なくとも1つの非一時的、類型のコンピュータ読み取り可能な媒体に記録されたプロセッサ実行可能な命令語を含む。コンピュータプログラムは、記録されたデータを含んでも、依存してもよい。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用する基本の入力/出力システム(BIOS)、特殊目的コンピュータの特定の装置と相互作用する装置ドライバ、1つ以上のオペレーティングシステム、ユーザ応用プログラム、バックグラウンドサービス、バックグラウンドアプリケーションなどを含んでよい。
【0172】
コンピュータプログラムは次を含んでよい。(i)HTML(ハイパーテキストマークアップ言語)、XML(拡張可能マークアップ言語)、またはJSON(JavaScript Object Notation)、(ii)アセンブリコード、(iii)生成されたオブジェクトコードのような構文分析する説明テキストコンパイラによるソースコード、(iv)インタプリタによって実行されるソースコード、(v)JIT(just−in−time)コンパイラによるコンパイルおよび実行のためのソースコードなどがそれに該当する。例えば、ソースコードは、C、C++、C#、Objective C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(Hypertext Markup Language 5th 改訂版)、Ada、ASP(Active Server Pages)、PHP(PHP:Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB、SIMULINK、およびPython(登録商標)を含んだ言語の構文を使用して作成されてよい。