【文献】
Zhilin Yang, et al.,"Review Networks for Caption Generation",arXiv.org,Cornell University,2016年10月27日,https://arxiv.org/pdf/1605.07912.pdf
(58)【調査した分野】(Int.Cl.,DB名)
前記第1ガイドネットワークモデルは、いずれの画像のアノテーションベクトル集合及び属性情報に基づいてガイド情報を生成することに用いられ、前記属性情報は、予測される、前記画像の表現語句に単語が現れる確率を示すことに用いられ、
前記第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成することは、
前記目標画像をマルチインスタンスモデルの入力とし、前記マルチインスタンスモデルによって前記目標画像を処理して、前記目標画像の属性情報を取得することと、
前記第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第3行列に基づき、前記第1アノテーションベクトル集合に対して線形変換を行って、第4行列を取得することと、
前記第4行列及び前記目標画像の属性情報に基づき、第5行列を生成することと、
前記第5行列における各行の最大値に基づいて前記第1ガイド情報を決定することと、
を含むことを特徴とする請求項1に記載の方法。
前記第1ガイド情報に基づき、前記デコーダによって前記第1アノテーションベクトル集合及び前記第1初期入力データをデコードして、前記目標画像の表現語句を取得することは、
前記デコーダが第1リカレントニューラルネットワーク(RNN)モデルを用いる場合、且つ、前記第1RNNモデルがM個の第1時系列ステップを実行することに用いられる場合、前記第1RNNモデルで実行される各第1時系列ステップに対して、前記第1ガイド情報に基づいて前記第1時系列ステップの入力データを決定し、
前記Mが、前記第1RNNモデルが入力データに対して繰り返し処理を行う回数を指し、前記Mが正の整数であり、各第1時系列ステップが前記第1RNNモデルの入力データに対する処理ステップであることと、
前記第1時系列ステップの入力データ、前記第1アノテーションベクトル集合及び前記第1時系列ステップの前の第1時系列ステップの出力データに基づき、前記第1時系列ステップの出力データを決定し、
前記第1時系列ステップが前記M個の第1時系列ステップにおける1番目の第1時系列ステップである場合、前記第1時系列ステップの前の第1時系列ステップの出力データが前記第1初期入力データに基づいて決定することによって取得されたものであることと、
前記M個の第1時系列ステップのすべての出力データに基づき、前記目標画像の表現語句を決定することと、を含むことを特徴とする
請求項1に記載の方法。
前記第1ガイド情報、前記第1アノテーションベクトル集合及び前記第1初期入力データに基づき、レビューアーによって第2アノテーションベクトル集合及び第2初期入力データを決定することは、
第1レビューアーが第2RNNモデルを用いる場合、且つ、前記第2RNNモデルがN個の第2時系列ステップを実行することに用いられる場合、前記第2RNNモデルで実行される各第2時系列ステップに対して、前記第1ガイド情報に基づいて前記第2時系列ステップの入力データを決定し、
前記Nが、前記第2RNNモデルが入力データに対して繰り返し処理を行う回数を指し、前記Nが正の整数であり、各第2時系列ステップが前記第2RNNモデルの入力データに対する処理ステップであることと、
前記第2時系列ステップの入力データ、前記第1アノテーションベクトル集合及び前記第2時系列ステップの前の第2時系列ステップの出力データに基づき、前記第2時系列ステップの出力データを決定し、
前記第2時系列ステップが前記N個の第2時系列ステップにおける1番目の第2時系列ステップである場合、前記第2時系列ステップの前の第2時系列ステップの出力データが前記第1初期入力データに基づいて決定することによって取得されたものであることと、
前記N個の第2時系列ステップにおける最後の第2時系列ステップの出力データに基づき、前記第2初期入力データを決定することと、
前記N個の第2時系列ステップのすべての出力データに基づき、前記第2アノテーションベクトル集合を決定することと、を含むことを特徴とする
請求項7に記載の方法。
前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによりロードされ、前記第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第1行列に基づき、前記第1アノテーションベクトル集合に対して線形変換を行って、第2行列を取得し、
前記第2行列における各行の最大値に基づいて前記第1ガイド情報を決定する操作を実現するように実行されることを特徴とする
請求項10に記載の端末。
前記第1ガイドネットワークモデルは、いずれの画像のアノテーションベクトル集合及び属性情報に基づいてガイド情報を生成することに用いられ、前記属性情報は、予測される、前記画像の表現語句に単語が現れる確率を示すことに用いられ、
前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによりロードされ、
前記目標画像をマルチインスタンスモデルの入力とし、前記マルチインスタンスモデルによって前記目標画像を処理して、前記目標画像の属性情報を取得し、
前記第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第3行列に基づき、前記第1アノテーションベクトル集合に対して線形変換を行って、第4行列を取得し、
前記第4行列及び前記目標画像の属性情報に基づき、第5行列を生成し、
前記第5行列における各行の最大値に基づいて前記第1ガイド情報を決定する操作を実現するように実行されることを特徴とする
請求項10に記載の端末。
【発明を実施するための形態】
【0013】
本願の実施例の技術案をより明確に説明するために、下記に実施例の記述において必要な図面を用いて簡単に説明を行うが、当然ながら、下記に記載する図面は単に本願の実施例の一例であって、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到し得る。
【0014】
本願の目的、技術案及び利点をより明確にするために、下記に図面を参照しながら本願の実施形態を更に詳しく説明する。
【0015】
本願の実施例を詳しく説明する前に、まず本願の実施例の用語を説明する。
【0016】
エンコーダ
エンコーダは、画像をエンコードしてベクトルを生成することに用いられ、通常、エンコーダはCNN(Convolutional Neural Networks、畳み込みニューラルネットワーク)モデルを用いる。
【0017】
デコーダ
デコーダは、エンコーダにより生成されたベクトルに対してデコードすることに用いられ、エンコーダにより生成されたベクトルを画像の表現語句に翻訳するようにする。通常、デコーダはRNN(Recurrent Neural Network、リカレントニューラルネットワーク)モデルを用いる。
【0018】
ガイド情報
ガイド情報は、画像を処理して得られた情報であり、通常、ベクトルとして表れ、デコーダの入力の一部としてデコード過程をガイドすることができる。デコーダにガイド情報を導入することにより、デコーダの性能を向上させることができ、デコーダがより良い表現語句を生成できるように確保し、表現語句の生成品質を向上させることができる。
【0019】
CNNモデル
CNNモデルは、従来の多層ニューラルネットワークに基づいて発展してきた画像に対する分類、認識を行うニューラルネットワークモデルを指し、通常、CNNモデルは、複数の畳み込み層及び少なくとも1つの全結合層を備え、画像に対して特徴抽出を行うことができる。
【0020】
RNNモデル
従来のニューラルネットワークは記憶機能を有せず、つまり、従来のニューラルネットワークは、その入力がコンテクストの関連画なく、独立したデータである。しかしながら、実際の応用では、通常、入力が明らかなコンテクスト特徴を有する直列化した入力であり、例えば予測すべき表現語句内の次の単語であり、この時、ニューラルネットワークの出力が前回の入力に依存する必要がある。つまり、ニューラルネットワークが記憶機能を有するように要求される。それに対して、RNNモデルは、ノードが一定方向で環状に連接されて記憶機能を有するニューラルネットワークであり、内部の記憶機能を利用して入力データを繰り返し処理することができる。
【0021】
図1は本願の実施例に係るRNNモデルの論理構造図であり、
図1の左側に示すように、該RNNモデルは入力層、隠れ層及び出力層の3層構造を備え、隠れ層が環状構造である。入力層が隠れ層に接続され、隠れ層が出力層に接続される。
【0022】
該RNNモデルの機能を説明しやすくするために、
図1の左側に示されるRNNモデルの構造を時系列で展開すると、
図1の右側に示される構造を得ることができる。RNNモデルの入力層で受け取った入力データが一定の時系列で並べるデータであり、つまり、入力層で受け取った入力データが直列データであるため、説明しやすくするために、該直列データをx
1、x
2・・・x
i・・・x
nと記し、該直列データ内の各データのそれぞれに対応する時刻をt
1、t
2・・・t
i・・・t
nと記し、x
1、x
2・・・x
i・・・x
nをそれぞれ処理して得られた出力データをf
1、f
2・・・f
i・・・f
nと記す。RNNモデルにおいて、時系列で各入力データを順に処理するステップは時系列ステップと称されてもよい。nがRNNモデルの入力データに対する繰り返し処理の回数である。
【0023】
図1の右側に示すように、展開後のRNNモデルにおいて、t
1時刻に入力層で受け取った入力データがx
1であり、x
1を隠れ層に渡され、隠れ層がx
1を処理して、処理後のデータを出力層に渡して、t
1時刻の出力データf
1を取得する。t
2時刻に入力層で受け取った入力データがx
2であり、x
2を隠れ層に渡し、この時、隠れ層がt
1時刻の出力データf
1に基づいてx
2を処理して、処理後のデータを出力層に渡して、t
2時刻の出力データf
2を取得する。つまり、任意の時刻t
iに、隠れ層がt
i時刻に入力層の渡した入力データx
iを受け取る以外に、更にt
i−1時刻の出力データf
i−1も受け取り、f
i−1に基づいてx
iを処理して、t
i時刻の出力データf
iを取得する。
【0024】
LSTM(Long Short−Term Memory、長期短期記憶)ネットワークモデル
LSTMネットワークモデルは特別なRNNモデルであり、時系列の間隔及び遅延の長い、重要なイベントを処理、予測することができる。LSTMネットワークモデルはLSTMユニットを備え、LSTMユニットに入力ゲート、忘却ゲート及び出力ゲートが設置され、各時系列ステップにおいて、設置された入力ゲート、忘却ゲート及び出力ゲートに基づいて入力データを処理することができる。
【0025】
図2は本願の実施例に係るLSTMネットワークモデルの論理構造図であり、
図2の左側に示すように、該LSTMネットワークモデルはLSTMユニットを備え、LSTMユニットが環状構造であり、LSTMユニットの実行するいずれの時系列ステップtに対して、該LSTMユニットは時系列ステップtの入力データx
t及び一つ前の時系列ステップt−1の出力データf
t−1を処理して、時系列ステップtの出力データf
tを得ることができる。
【0026】
図2の右側に示すように、時系列で展開したLSTMネットワークモデルにおいて、LSTMユニットは時系列ステップt
1の入力データx
1を受け取った後、x
1を処理して時系列ステップt
1の出力データf
1を得ることができ、次にf
1をLSTMユニットに入力し、LSTMユニットは時系列ステップt
2の入力データx
2を受け取った後、時系列ステップt
nの入力データx
n及び時系列ステップt
n−1の出力データf
n−1に基づいて時系列ステップt
nの出力データf
nを得るまで、f
1及びx
2を処理することができ、時系列ステップt
2の出力データf
2が得られる。nがLSTMネットワークモデルの入力データに対する繰り返し処理の回数である。
【0027】
レビューネット(Review−net)
レビューネットは、エンコーダ−デコーダフレームワークに基づく画像認識ネットワークであり、レビューアー(reviewer)及びデコーダを備える。通常、レビューアー及びデコーダがCNNモデルを用いる。デコーダの性能を向上させるために、レビューアーは、エンコーダにより画像から抽出されたグローバル特徴と局所特徴との相互関係を更に探り、グローバル特徴と局所特徴との相互関係に基づいてデコーダのために初期入力データを生成することができる。
【0028】
次に、本願の実施例の応用シーンを説明する。
【0029】
本願の実施例は早期幼児教育、画像検索、盲人閲読又はチャットシステム等のシーンに適用されてもよく、これらのシーンにおいて一般的に画像を自然言語に自動的に翻訳する必要がある。
【0030】
例えば、幼児が絵を見て物事を認識する能力を向上させるために、本願の実施例に係る画像認識方法を利用して、幼児の見た画像を対応する表現語句に翻訳し、次に、幼児が画像と音声とを組み合わせて画像内容を覚えることができるように、表現語句を音声に変換して再生することができる。
【0031】
更に、例えば、データベースに記憶される大量の画像に対して、本願の実施例に係る画像認識方法を利用して、画像を対応する表現語句に翻訳することができ、画像の表現語句に基づいて画像を正確に分類し、又は画像の表現語句に基づいて画像を正確に検索するようにする。
【0032】
更に、例えば、盲人が認識しようとする画像に対して、まずこの画像を対応する表現語句に翻訳し、次に表現語句を音声に変換して再生し、盲人が聞いた音声によって画像を認識するようし、又は、盲人が点字を閲読することで画像等を認識することができるように、表現語句を点字に変換することができる。
【0033】
更に、例えば、チャットシステムにおいて、チャットウィンドウにおける画像を対応する表現語句に翻訳して、表現語句を表示することができる。
【0034】
説明すべきなのは、本願の実施例は上記複数の応用シーンを例として説明したが、実際の応用では、本願の実施例に係る画像認識方法は更に他のシーンに適用されてもよく、本願の実施例は列挙しない。
【0035】
次に、本願の実施例に係るシステムアーキテクチャを説明する。
【0036】
図3は本願の実施例に係る画像認識システムの構造模式図であり、
図3に示すように、該画像認識システムはエンコーダ10、第1ガイドネットワークモデル20及びデコーダ30を備える。
【0037】
エンコーダ10は認識対象の目標画像をエンコードし、つまり、目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得することに用いられる。特徴ベクトルは目標画像のグローバル特徴を示すことに用いられ、第1アノテーションベクトル集合は目標画像の局所特徴を示すことに用いられる。
【0038】
第1アノテーションベクトル集合に対して、エンコーダ10はそれをそれぞれデコーダ30及び第1ガイドネットワークモデル20に出力することができる。特徴ベクトルに対して、エンコーダ10はそれに対して初期化処理を行って、第1初期入力データを取得し、次に第1初期入力データをデコーダ30に出力することができ、又は、エンコーダ10は特徴ベクトルを他のモデルに出力し、他のモデルによって目標エンコーダ10の出力した特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得して、第1初期入力データをデコーダ30に出力することもできる。
【0039】
第1ガイドネットワークモデル20はエンコーダ10の出力した第1アノテーションベクトル集合に基づいて第1ガイド情報を生成し、次に第1ガイド情報をデコーダ30に出力することに用いられ、該第1ガイドネットワークモデルがサンプル画像のアノテーションベクトル集合によって訓練して取得されたものである。
【0040】
デコーダ30は第1ガイド情報、第1アノテーションベクトル集合及び第1初期入力データに基づいて該目標画像の表現語句を決定することに用いられる。
【0041】
よって、関連技術に比べて、
図3に示される画像認識システムはエンコーダとデコーダとの間にガイドネットワークモデルを追加し、該ガイドネットワークモデルがいずれの画像のアノテーションベクトル集合に基づいて該画像の表現語句を生成することができるため、人為的に設計したガイド情報に比べて、該ガイドネットワークモデルにより生成されたガイド情報は目標画像の表現語句の生成過程に適用でき、精度がより高く、従って、画像のエンコード過程を正確にガイドすることができ、それにより表現語句の生成品質を向上させる。
【0042】
図4は本願の実施例に係る他の画像認識システムの構造模式図であり、
図4に示すように、該画像認識システムはエンコーダ10、第1ガイドネットワークモデル20、デコーダ30及びマルチインスタンスモデル40を備える。
【0043】
図4は
図3におけるエンコーダ10及びデコーダ30の作用と同じであり、具体的な説明は
図3を参照してもよく、ここで詳細な説明は省略する。
【0044】
マルチインスタンスモデル40は認識対象の目標画像を処理して、目標画像の属性情報を取得することに用いられ、該属性情報は、予測される、該目標画像の表現語句に単語が現れる確率を示し、目標画像の属性情報を第1ガイドネットワークモデル20に出力することに用いられる。
【0045】
第1ガイドネットワークモデル20はエンコーダ10の出力した第1アノテーションベクトル集合及びマルチインスタンスモデル40の出力した目標画像の属性情報に基づいて第1ガイド情報を生成することに用いられる。
【0046】
図4では、第1ガイドネットワークモデル20の前にマルチインスタンスモデル40を追加することにより、第1ガイドネットワークモデル20は目標画像の第1アノテーションベクトル集合及び属性情報に基づいて第1ガイド情報を総合的に決定することができ、生成された第1ガイド情報の精度を更に向上させる。
【0047】
図5は本願の実施例に係る別の画像認識システムの構造模式図であり、
図5に示すように、該画像認識システムはエンコーダ10、第1ガイドネットワークモデル20、レビューアー50、第2ガイドネットワークモデル60及びデコーダ30を備える。
【0048】
図5は
図3におけるエンコーダ10の作用と同じであり、具体的な説明は
図3を参照してもよく、ここで詳細な説明は省略する。
【0049】
第1ガイドネットワークモデル20はエンコーダ10の入力した第1アノテーションベクトル集合に基づいて第1ガイド情報を生成して、第1ガイド情報をレビューアー50に出力することに用いられる。
【0050】
レビューアー50は第1初期入力データ、第1アノテーションベクトル集合及び第1ガイド情報に基づいて第2アノテーションベクトル集合及び第2初期入力データを決定して、第2アノテーションベクトル集合及び第2初期入力データをデコーダ30に出力し、第2アノテーションベクトル集合を第2ガイドネットワークモデル60に出力することに用いられる。第2初期入力データはデコーダ30の初期入力データであり、デコーダ30の初期状態を示すことに用いられ、具体的に初期隠れ状態情報及び初期メモリセル状態情報を含んでもよい。
【0051】
第2ガイドネットワークモデル60は第2アノテーションベクトル集合に基づいて第2ガイド情報を生成して、第2ガイド情報をデコーダ30に出力することに用いられ、該第2ガイドネットワークモデルもサンプル画像によって訓練して取得されたものである。
【0052】
デコーダ30は第2ガイド情報に基づき、第2アノテーションベクトル集合及び第2初期入力データをデコードして、該目標画像の表現語句を取得することに用いられる。
【0053】
図5では、エンコーダとデコーダとの間にレビューアーを追加することにより、レビューアーによって目標画像の局所特徴とグローバル特徴との相互関係を更に引き出し、生成された第2アノテーションベクトル集合及び第2初期入力データに目標画像の特徴をより正確に示させることができ、画像認識システムのシステム性能を更に向上させ、更に表現語句の生成品質を向上させる。
【0054】
図6は本願の実施例に係る別の画像認識システムの構造模式図であり、
図6に示すように、該画像認識システムはエンコーダ10、第1ガイドネットワークモデル20、レビューアー50、第2ガイドネットワークモデル60、デコーダ30及びマルチインスタンスモデル40を備える。
【0055】
図6は
図5におけるエンコーダ10、レビューアー50及びデコーダ30の作用と同じであり、具体的な説明は
図5を参照してもよく、ここで詳細な説明は省略する。
【0056】
マルチインスタンスモデル40は認識対象の目標画像を処理して、目標画像の属性情報を取得して、目標画像の属性情報をそれぞれ第1ガイドネットワークモデル20及び第2ガイドネットワークモデル60に出力することに用いられる。
【0057】
第1ガイドネットワークモデル20はエンコーダ10の出力した第1アノテーションベクトル集合及びマルチインスタンスモデル40の出力した目標画像の属性情報に基づいて第1ガイド情報を生成して、第1ガイド情報をレビューアー50に出力することに用いられる。
【0058】
エンコーダ30が第2ガイド情報に基づき、第2アノテーションベクトル集合及び第2初期入力データをエンコードして、目標画像の表現語句を取得するよう、第2ガイドネットワークモデル60はレビューアー50の出力した第2アノテーションベクトル集合及びマルチインスタンスモデル40の出力した目標画像の属性情報に基づいて第2ガイド情報を生成して、第2ガイド情報をデコーダ30に出力することに用いられる。
【0059】
図6では、第1ガイドネットワークモデル20及び第2ガイドネットワークモデル60の前にマルチインスタンスモデル40を追加することにより、第1ガイドネットワークモデル20及び第2ガイドネットワークモデル60はいずれも目標画像の属性情報及びアノテーションベクトル集合に基づいてガイド情報を総合的に決定することができ、生成されたガイド情報の精度を更に向上させる。
【0060】
説明すべきなのは、上記
図3〜
図6に示される画像認識システムはいずれも複数のサンプル画像及び複数のサンプル画像の表現語句に基づいて訓練して取得されてもよく、つまり、訓練によって上記エンコーダ、第1ガイドネットワークモデル、レビューアー、第2ガイドネットワークモデル及びデコーダを取得することができ、これにより、第1ガイドネットワークモデル及び第2ガイドネットワークモデルは訓練中にどのように正確なガイド情報を生成するかを適応的に学習することができ、それによりガイド情報の生成精度を向上させる。
【0061】
次に、上記
図3〜
図6に示される画像認識システムの構造模式図を参照しながら、本願の実施例に係る画像認識方法を詳しく説明する。
図7は本願の実施例に係る画像認識方法のフローチャートであり、該方法が端末により実行されてもよく、該端末が携帯電話、タブレットPC又はコンピュータ等であってもよく、該端末が上記画像認識システムを備えてもよく、例えばインストールされるソフトウェアによって上記画像認識システムをサポートすることができる。
図7に示すように、該方法は下記を含む。
【0062】
ステップ101において、エンコーダによって認識対象の目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得する。
【0063】
認識対象の目標画像を認識するとき、まず目標画像をエンコーダに入力し、エンコーダによって目標画像に対して特徴抽出を行って、それぞれ目標画像の特徴ベクトル及び第1アノテーションベクトル集合を取得することができる。
【0064】
具体的に、エンコーダによって目標画像に対してグローバル特徴抽出を行って、特徴ベクトルを取得し、エンコーダによって目標画像に対して局所特徴抽出を行って、アノテーションベクトル集合を取得することができる。特徴ベクトルは目標画像のグローバル特徴を示すことに用いられ、第2アノテーションベクトル集合におけるアノテーションベクトルは目標画像の局所特徴を示すことに用いられる。
【0065】
好ましくは、エンコーダはCNNモデルを用いてもよく、エンコーダがCNNモデルを用いて目標画像に対して特徴抽出を行う場合、該特徴ベクトルがCNNモデルの最後の全結合層によって抽出して取得されてもよく、該第2アノテーションベクトル集合がCNNモデルの最後の畳み込み層によって抽出して取得されてもよい。
【0066】
ステップ102において、特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得する。
【0067】
第1初期入力データは、エンコーダに入力すべき次の処理モデルの初期入力データを指し、次の処理モデルの初期状態を示すことに用いられ、該次の処理モデルはデコーダ又はレビューアーであってもよい。第1初期入力データは、第1初期隠れ状態情報及び第1初期メモリセル状態情報を含んでもよく、第1初期隠れ状態情報は次の処理モデルの隠れ層の初期状態を示すことに用いられ、第1初期メモリセル状態情報は次の処理モデルのメモリセルの初期状態を示すことに用いられる。
【0068】
具体的に、特徴ベクトルに対して線形変換等の初期化処理を行って、第1初期入力データを取得することができる。且つ、エンコーダによって該特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得してもよいし、他のモデルによってエンコーダの出力した特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得してもよく、本願の実施例は制限しない。
【0069】
例えば、該エンコーダはRNNモデル及び初期化モデルを備えてもよく、RNNモデルは目標画像に対して特徴抽出を行うことに用いられ、初期化モデルは特徴ベクトルに対して初期化処理を行うことに用いられ、該エンコーダはRNNモデルによって画像に対して特徴抽出を行って特徴ベクトルを取得した後、更に初期化モデルによって特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得することができる。
【0070】
又は、エンコーダは目標画像に対して特徴抽出を行うのみに用いられてもよく、且つエンコーダの後に初期化モデルを追加し、該初期化モデルは特徴ベクトルに対して初期化処理を行うことに用いられ、エンコーダによって目標画像に対して特徴抽出を行って特徴ベクトルを取得した後、特徴ベクトルを該初期化モデルに出力することができ、次に該初期化モデルによって該特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得する。
【0071】
ステップ103において、第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成し、該第1ガイドネットワークモデルが、いずれの画像のアノテーションベクトル集合に基づいてガイド情報を生成することに用いられる。
【0072】
具体的に、第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成することは、下記の2つの方式で実現されてもよい。
【0073】
第1実現方式
第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第1行列に基づいて第1アノテーションベクトル集合に対して線形変換を行って、第2行列を取得し、第2行列における各行の最大値に基づいて該第1ガイド情報を決定する。
【0074】
第1ガイドネットワークモデルがサンプル画像のアノテーションベクトル集合に基づいて訓練して取得されてもよい。一実施例において、
図3における各モデルを訓練対象のモデルに変換し、次に複数のサンプル画像及び複数のサンプル画像の表現語句に基づいて変換後の画像認識システムを訓練することができ、訓練中、訓練待ちエンコーダは複数のサンプル画像からアノテーションベクトルをそれぞれ抽出して、訓練待ちガイドネットワークモデルに出力して訓練することができ、このように、画像認識システム全体の訓練を完了した後、訓練待ちガイドネットワークモデルを第1ガイドネットワークモデルに訓練することができる。
【0075】
訓練待ちエンコーダは未訓練のエンコーダであってもよいし、事前訓練後のエンコーダであってもよく、本願の実施例は制限しない。事前訓練後のエンコーダを用いて訓練待ちガイドネットワークモデルに対して訓練することにより、画像認識システム全体の訓練効率を向上させることができ、更にその中の訓練待ちガイドネットワークモデルの訓練効率を向上させる。
【0076】
第1アノテーションベクトル集合も行列形式であり、第1行列は第1ガイドネットワークモデルのモデルパラメータにより形成される、第1アノテーションベクトル集合に対して線形変換を行うための行列である。具体的に、第1アノテーションベクトル集合に対して線形変換を行って、第2行列を取得するよう、第1アノテーションベクトル集合を第1行列に乗じることができる。
【0077】
具体的に、第2行列における各行の最大値に基づいて該第1ガイド情報を決定することは、第2行列における各行の最大値を選択し、次に行数が変化しない限り、選択された最大値を1列の行列に構成して、構成された行列を該第1ガイド情報として決定することを含む。
【0078】
例えば、第1アノテーションベクトル集合が
【数1】
であり、
【数2】
が目標画像から抽出された各アノテーションベクトルであり、第1行列がP
1であり、第1ガイド情報がνであると仮定する場合、下記の式(1)で第1ガイド情報を決定することができ、
【数3】
ここで、max関数とは、処理対象の行列の各行に対して最大値を取って、行数が変化せず列数が1である行列を形成することを意味する。
【0079】
第2実現方式
該第1ガイドネットワークモデルは、いずれの画像のアノテーションベクトル集合及び属性情報に基づいてガイド情報を生成することに用いられる場合、該目標画像をマルチインスタンスモデルの入力とし、該マルチインスタンスモデルによって該目標画像を処理して、該目標画像の属性情報を取得し、該第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第3行列に基づいて該第1アノテーションベクトル集合に対して線形変換を行って、第4行列を取得し、該第4行列及び該目標画像の属性情報に基づき、第5行列を生成し、該第5行列における各行の最大値に基づいて該第1ガイド情報を決定することができる。サンプル画像の属性情報は、予測される、該サンプル画像の表現語句に単語が現れる確率を示すことに用いられる。
【0080】
該マルチインスタンスモデルは複数のサンプル画像及び該複数のサンプル画像の表現語句によって訓練して取得されたものであって、サンプル画像の属性情報のモデルを出力することができ、つまり、該マルチインスタンスモデルは、画像の表現語句内の現れ得る単語の確率を予測することができる。例示的に、該属性情報がMIL(Multi−instance learning、マルチインスタンス学習)情報等であってもよい。
【0081】
ここで、該第1ガイドネットワークモデルがサンプル画像のアノテーションベクトル集合及び属性情報によって訓練して取得されてもよい。例えば、
図4の各モデルを訓練対象のモデルに変換し、次に複数のサンプル画像及び複数のサンプル画像の表現語句に基づいて変換後の画像認識システムを訓練することができ、訓練中、訓練待ちエンコーダはサンプル画像からアノテーションベクトルを抽出して訓練待ちガイドネットワークモデルに出力することができ、且つ訓練対象のマルチインスタンスモデルは画像を処理して属性情報を取得して、属性情報を訓練待ちガイドネットワークモデルに出力することができ、訓練待ちガイドネットワークモデルはサンプル画像のアノテーションベクトル及び属性情報に基づいて訓練することができ、このように、画像認識システム全体の訓練を完了した後、訓練待ちガイドネットワークモデルを該第1ガイドネットワークモデルに訓練することができる。
【0082】
訓練待ちエンコーダは未訓練のエンコーダであってもよいし、事前訓練後のエンコーダであってもよく、訓練対象のマルチインスタンスモデルは未訓練のマルチインスタンスモデルであってもよいし、事前訓練後のマルチインスタンスモデルであってもよく、本願の実施例は制限しない。事前訓練後のエンコーダ及び/又は事前訓練後のマルチインスタンスモデルを用いて訓練待ちガイドネットワークモデルに対して訓練することにより、画像認識システム全体の訓練効率を向上させることができ、その中の訓練待ちガイドネットワークモデルの訓練効率を向上させる。
【0083】
ここで、第1アノテーションベクトル集合も行列形式であり、第3行列は該第1ガイドネットワークモデルのモデルパラメータにより形成される、第1アノテーションベクトル集合に対して線形変換を行うための行列である。具体的に、第1アノテーションベクトル集合に対して線形変換を行って、第4行列を取得するよう、第1アノテーションベクトル集合を第3行列に乗じることができ、次に第4行列及び目標画像の属性情報に基づき、第5行列を生成する。
【0084】
第5行列における各行の最大値に基づいて第1ガイド情報を決定することは、第5行列における各行の最大値を選択し、次に行数が変化しない限り、選択された最大値を1列の行列に構成して、構成された行列を該第1ガイド情報として決定することを含む。
【0085】
具体的に、第1アノテーションベクトル集合が
【数4】
であり、
【数5】
が目標画像から抽出された各アノテーションベクトルであり、第3行列がP
2であり、目標画像の属性情報がeであり、第1ガイド情報がνであると仮定する場合、下記の式(2)で第1ガイド情報νを決定することができ、
【数6】
max関数とは、処理対象の行列の各行に対して最大値を取って、行数が変化せず列数が1である行列を構成することを意味する。
【0086】
以上から、第1ガイドネットワークモデルは学習によって取得されてもよく、つまり、複数のサンプル画像及び複数のサンプル画像の表現語句によって訓練して取得されてもよく、且つ訓練中にガイド情報を自動的に学習することができ、従って、該第1ガイドネットワークモデルによる第1ガイド情報の生成精度がより高く、生成された第1ガイド情報はエンコードのエンコード過程を正確にガイドすることができ、更に目標画像の表現語句の生成品質を向上させることができる。
【0087】
ステップ104において、第1ガイド情報、第1アノテーションベクトル集合及び第1初期入力データに基づき、デコーダによって該目標画像の表現語句を決定する。
【0088】
本願の実施例において、第1ガイド情報、第1アノテーションベクトル集合及び第1初期入力データに基づき、デコーダによって該目標画像の表現語句を決定することは、下記の2つの実現方式を用いてもよい。
【0089】
第1実現方式
第1ガイド情報に基づき、デコーダによって第1アノテーションベクトル集合及び第1初期入力データをデコードして、該目標画像の表現語句を取得する。
【0090】
好ましくは、該デコーダが一般的にRNNモデルを用い、例えばLSTMネットワークモデルを用いてもよい。
【0091】
具体的に、第1ガイド情報に基づき、デコーダによって第1アノテーションベクトル集合及び第1初期入力データをデコードして、該目標画像の表現語句を取得することは、下記のステップ1)〜ステップ3)を含んでもよい。
【0092】
1)該デコーダが第1RNNモデルを用いる場合、且つ、該第1RNNモデルがM個の第1時系列ステップを実行することに用いられる場合、該第1RNNモデルで実行される各第1時系列ステップに対して、該第1目標ガイド情報に基づいて該第1時系列ステップの入力データを決定する。
【0093】
前記Mが、該第1RNNモデルが入力データに対して繰り返し処理を行う回数を指し、該Mが正の整数であり、各第1時系列ステップが該第1RNNモデルの入力データに対する処理ステップである。
【0094】
第1ガイド情報に基づいて該第1時系列ステップの入力データを決定することは、該第1ガイド情報に基づき、下記の式(3)で該第1時系列ステップの入力データを決定することを含んでもよい。
【0095】
【数7】
tが該第1時系列ステップであり、x
tが該第1時系列ステップの入力データであり、Eが単語埋め込み行列であり、且つ、該第1RNNモデルのモデルパラメータであり、y
tが該第1時系列ステップに対応する単語のワンホット(one−hot)ベクトルであり、該第1時系列ステップに対応する単語が該第1時系列ステップの前の第1時系列ステップの出力データに基づいて決定することによって取得されたものであり、Qが第6行列であり、且つ、該第1RNNモデルのモデルパラメータであり、νが該第1ガイド情報である。
【0096】
2)該第1時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第1時系列ステップの前の第1時系列ステップの出力データに基づき、該第1時系列ステップの出力データを決定する。
【0097】
本願の実施例において、該第1RNNモデルによって該第1時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第1時系列ステップの前の第1時系列ステップの出力データを処理して、該第1時系列ステップの出力データを取得することができる。
【0098】
該第1時系列ステップの出力データが隠れ状態情報及びメモリセル状態情報を含んでもよい。且つ、該第1時系列ステップが該M個の第1時系列ステップにおける1番目の第1時系列ステップである場合、該第1時系列ステップの前の第1時系列ステップの出力データが該第1初期入力データに基づいて決定することによって取得されたものである。例えば、該第1初期入力データが第1初期隠れ状態情報h
0及び第1初期メモリセル状態情報c
0を含んで、該第1時系列ステップが1番目の第1時系列ステップである場合、該第1時系列ステップの前の第1時系列ステップの出力データがh
0及びc
0である。
【0099】
本願の実施例において、生成された表現語句の品質を向上させるために、用いた第1RNNモデルがLSTMネットワークモデルであってもよい。LSTMネットワークモデルを例とし、該第1時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第1時系列ステップの前の第1時系列ステップの出力データに基づき、該第1時系列ステップの出力データを決定することは、下記の式(4)と抽象的に示されてもよく、
【数8】
tが該第1時系列ステップであり、xtが該第1時系列ステップの入力データであり、h
t−1が該第1時系列ステップの前の時系列ステップの隠れ状態情報であり、
【数9】
が第1アノテーションベクトル集合であり、htが該第1時系列ステップの隠れ状態情報であり、LSTMがLSTMネットワークモデルの処理過程を示す。
【0100】
具体的に、LSTMネットワークモデルの処理過程は下記の式で示されてもよく、
【数10】
i
t、f
t、c
t及びo
tがそれぞれ該第1時系列ステップの入力ゲート、忘却ゲート、記憶ゲート及び出力ゲートにおける出力データであり、σがLSTMネットワークモデルの活性化関数、例えばsigmoid関数であり、tanh()が双曲線正接関数であり、Tが線形変換用の行列であり、x
tが該第1時系列ステップの入力データであり、h
t−1が該第1時系列ステップの前の時系列ステップの隠れ状態情報であり、d
tが第1アノテーションベクトル集合に基づいて決定することによって取得された目標データであり、c
tが該第1時系列ステップのメモリセル状態情報であり、c
t−1が該第1時系列ステップの前の第1時系列ステップのメモリセル状態情報であり、h
tが該第1時系列ステップの隠れ状態情報である。
【0101】
目標データd
tが第1アノテーションベクトル集合であってもよいし、コンテクストベクトル(Context Vector)であってもよく、該コンテクストベクトルが第1アノテーションベクトル集合及び該第1時系列ステップの前の時系列ステップの隠れ状態情報に基づき、注意モデルによって決定することによって取得されたものである。
【0102】
注意モデルは前の第1時系列ステップが目標画像のどの領域を注意しているかを決定することに用いられてもよく、つまり、
【数11】
内の各アノテーションベクトルのために1つの重み値を計算することができ、アノテーションベクトルの重みが大きければ大きいほど、該アノテーションベクトルが注意されていると示される。
【0103】
可能な実現方式では、該LSTMネットワークモデルは注意モデルが設置されるLSTMネットワークモデルであってもよく、第1アノテーションベクトル集合及び該第1時系列ステップの前の時系列ステップの隠れ状態情報を取得した後、該第1アノテーションベクトル集合及び該第1時系列ステップの前の時系列ステップの隠れ状態情報に基づき、注意モデルによってコンテクストベクトルを決定して、該コンテクストベクトルを該目標データとすることができる。
【0104】
具体的に、該注意モデルはa
iにおけるいずれのアノテーションベクトルa
i及びh
t−1の類似度e
iを計算することができ、次にa
iの注意力の重み
【数12】
を計算し、その後、各アノテーションベクトルの重みを用いてコンテクストベクトル
【数13】
を生成することができる。
【0105】
3)該M個の第1時系列ステップのすべての出力データに基づき、該目標画像の表現語句を決定する。
【0106】
具体的に、該M個の第1時系列ステップにおけるすべての第1時系列ステップの出力データに対して組み合わせ処理を行って、該目標画像の表現語句を取得することができる。実際の応用では、各第1時系列ステップの出力データが一般的に1つの単語であり、次に該M個の第1時系列ステップの出力したM個の単語を組み合わせて、該目標画像の表現語句を取得することができる。
【0107】
図3に示される目標画像を例とし、該M個の第1時系列ステップのすべての出力データがそれぞれ「男の子」「に」「女の子」「贈る」「花」である場合、該目標画像の表現語句が「男の子が女の子に花を贈る」である。
【0108】
更に、目標画像のアノテーションベクトル集合に基づいてガイド情報を正確に生成することができる上記第1ガイドネットワークモデルを取得するために、エンコーダによって目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得する前に、更に、第1訓練待ちエンコーダ、第1訓練待ちガイドネットワークモデル及び第1訓練待ちデコーダを組み合わせて、第1カスケードネットワークモデルを取得し、次に複数のサンプル画像及び該複数のサンプル画像の表現語句に基づき、勾配降下法で該第1カスケードネットワークモデルに対して訓練して、該エンコーダ、該第1ガイドネットワークモデル及び該デコーダを取得することができる。
【0109】
つまり、まず
図3又は
図4の接続方式で第1訓練待ちエンコーダ、第1訓練待ちガイドネットワークモデル及び第1訓練待ちデコーダを、画像を処理して画像の表現語句を取得することができる画像認識システムに構築し、次に複数のサンプル画像及び該複数のサンプル画像の表現語句に基づいて該画像認識システムを訓練することができ、画像認識システムの訓練過程において、その中の第1訓練待ちガイドネットワークモデルに対して訓練することができ、第1訓練待ちガイドネットワークモデルが訓練中にガイド情報を適応的に学習できるようにし、それにより生成されたガイド情報がより正確になるように確保する。
【0110】
第1訓練待ちガイドネットワークモデルの訓練過程において、該第1ガイドネットワークモデルを取得するよう、Multi−label margin loss(間隔に基づくマルチラベル損失関数)を該第1訓練待ちガイドネットワークモデルの損失関数として、該損失関数に基づいて確率的勾配降下法で該第1訓練待ちガイドネットワークモデルのモデルパラメータを調整することができる。
【0111】
実際の訓練では、表記後の訓練セットを用いて訓練することができ、該訓練セットが<サンプル画像、表現語句>対の集合、例えばMSCOCOデータセット(よく使用されるデータセット)等である。
【0112】
第1訓練待ちエンコーダは未訓練のエンコーダであってもよいし、事前訓練後のエンコーダであってもよく、本願の実施例は制限しない。例えば、該第1訓練待ちエンコーダはImageNet(1つのコンピュータ視覚システム認識項目の名称であり、現在世界において画像認識量が最大であるデータベースである)において事前訓練されたCNNモデルを用いてもよく、該CNNモデルはinception V3モデル(CNNモデルの1つ)、Resnetモデル(CNNモデルの1つ)又はVGGモデル(CNNモデルの1つ)等であってもよい。
【0113】
事前訓練後のエンコーダを第1訓練待ちエンコーダとして第1ガイドネットワークモデルに対して訓練することにより、第1カスケードネットワークモデル全体の訓練効率を向上させることができ、更にその中の第1ガイドネットワークモデルの訓練効率を向上させる。
【0114】
説明すべきなのは、本願の実施例において、目標画像を認識して目標画像の表現語句を取得する過程、及びガイドネットワークモデルに対して訓練する過程は同じ端末において実行されてもよいし、異なる端末において実行されてもよく、本願の実施例は制限しない。
【0115】
第2実現方式
第1ガイド情報、第1アノテーションベクトル集合及び第1初期入力データに基づき、レビューアーによって第2アノテーションベクトル集合及び第2初期入力データを決定し、該第2アノテーションベクトル集合に基づき、第2ガイドネットワークモデルによって第2ガイド情報を生成し、該第2ガイド情報に基づき、該エンコーダによって該第2アノテーションベクトル集合及び該第2初期入力データをエンコードして、該目標画像の表現語句を取得する。
【0116】
説明すべきなのは、該第2実現方式は下記
図8の実施例において詳しく説明し、本願の実施例では詳細な説明は省略する。
【0117】
本願の実施例において、エンコーダとデコーダとの間にガイドネットワークモデルを追加し、画像からアノテーションベクトル集合を抽出した後、該アノテーションベクトル集合に基づいて該ガイドネットワークモデルによってガイド情報を生成することができ、該ガイドネットワークモデルがサンプル画像のアノテーションベクトル集合によって訓練して取得されたものであるため、訓練中にどのように画像のアノテーションベクトル集合に基づいてガイド情報を正確に生成するかを適応的に学習することができ、従って、該ガイドネットワークモデルにより生成されたガイド情報の精度がより高く、画像のエンコード過程を正確にガイドすることができ、それにより表現語句の生成品質を向上させる。
【0118】
次に、上記
図5及び
図6に示される画像認識システムの構造模式図を参照しながら、本願の実施例に係る画像認識方法を詳しく説明する。
図8は本願の実施例に係る他の画像認識方法のフローチャートであり、該方法は端末に適用される。
図8に示すように、該方法は下記を含む。
【0119】
ステップ201において、エンコーダによって認識対象の目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得する。
【0120】
ステップ202において、特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得する。
【0121】
ステップ203において、第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成する。
【0122】
ステップ201〜ステップ203の具体的な実現方式は上記ステップ101〜ステップ103の関連説明を参照してもよく、本願の実施例では詳細な説明は省略する。
【0123】
ステップ204において、第1ガイド情報、第1アノテーションベクトル集合及び第1初期入力データに基づき、レビューアーによって第2アノテーションベクトル集合及び第2初期入力データを決定する。
【0124】
本願の実施例において、デコーダ及びレビューアーが一般的にRNNモデルを用いるが、当然ながら、他のモデルを用いてもよく、本願の実施例は制限しない。
【0125】
デコーダの性能を向上させ、更に表現語句の生成品質を向上させるよう、レビューアーはエンコーダが画像から抽出されたグローバル特徴と局所特徴との相互関係を更に引き出して、グローバル特徴と局所特徴との相互関係に基づいてデコーダのために初期入力データ、すなわち第2初期入力データを生成することに用いられる。
【0126】
第1初期入力データはレビューアーに入力すべき入力データを指し、該レビューアーの初期状態を示すことに用いられ、具体的に第1初期隠れ状態情報及び第1初期メモリセル状態情報を含んでもよく、第1初期隠れ状態情報はレビューアーの隠れ層の初期状態を示すことに用いられ、第1初期メモリセル状態情報はレビューアーのメモリセルの初期状態を示すことに用いられる。
【0127】
第2初期入力データはデコーダに入力すべき入力データを指し、該デコーダの初期状態を示すことに用いられ、具体的に第2初期隠れ状態情報及び第2初期メモリセル状態情報を含んでもよく、第2初期隠れ状態情報はデコーダの隠れ層の初期状態を示すことに用いられ、第2初期メモリセル状態情報はデコーダのメモリセルの初期状態を示すことに用いられる。
【0128】
具体的に、該第1ガイド情報、該第1アノテーションベクトル集合及び該第1初期入力データに基づき、レビューアーによって第2アノテーションベクトル集合及び第2初期入力データを決定することは、下記のステップ1)〜ステップ3)を含んでもよい。
【0129】
1)該第1レビューアーが第2RNNモデルを用いる場合、且つ、該第2RNNモデルがN個の第2時系列ステップを実行することに用いられる場合、該第2RNNモデルで実行される各第2時系列ステップに対して、該第1目標ガイド情報に基づいて該第2時系列ステップの入力データを決定する。
【0130】
該Nが、該第2RNNモデルが入力データに対して繰り返し処理を行う回数を指し、該Nが正の整数であり、各第2時系列ステップが該第2RNNモデルの入力データに対する処理ステップである。
【0131】
具体的に、該第2ガイド情報に基づき、下記の式(6)で該第2時系列ステップの入力データを決定することができ、
【数14】
tが該第2時系列ステップであり、x′
tが該第2時系列ステップの入力データであり、E′が単語埋め込み行列であり、且つ、該第2RNNモデルのモデルパラメータであり、Q′が第7行列であり、且つ、該第2RNNモデルのモデルパラメータであり、ν′が該第2ガイド情報である。
【0132】
2)該第2時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第2時系列ステップの前の第2時系列ステップの出力データに基づき、該第2時系列ステップの出力データを決定する。
【0133】
該第2時系列ステップの出力データが隠れ状態情報及びメモリセル状態情報を含んでもよく、該第該第1ガイド情報に基づき、下記の式で該第1時系列ステップの入力データを決定することに用いられ、
時系列ステップが該N個の第2時系列ステップにおける1番目の第2時系列ステップである場合、該第2時系列ステップの前の第2時系列ステップの出力データが該第1初期入力データに基づいて決定することによって取得されたものである。
【0134】
本願の実施例において、該第2RNNモデルによって該第2時系列ステップの入力データ、該第2アノテーションベクトル集合及び該第2時系列ステップの前の第2時系列ステップの出力データを処理して、該第2時系列ステップの出力データを取得することができる。
【0135】
具体的に、該第1時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第1時系列ステップの前の第1時系列ステップの出力データに基づき、該第1時系列ステップの出力データを決定する上記方法を用いて、該第2時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第2時系列ステップの前の第2時系列ステップの出力データに基づき、該第2時系列ステップの出力データを決定することができ、具体的な実現方式は上記関連説明を参照してもよく、ここで詳細な説明は省略する。
【0136】
3)該N個の第2時系列ステップにおける最後の第2時系列ステップの出力データに基づき、該第2初期入力データを決定する。
【0137】
具体的に、最後の第2時系列ステップの出力データを該第2初期入力データとして決定することができ、例えば、最後の第2時系列ステップの隠れ状態情報及びメモリセル状態情報を該第2初期入力データとして決定し、つまり、該目標エンコーダの初期隠れ状態情報及び初期メモリセル状態情報として決定することができる。
【0138】
4)該N個の第2時系列ステップのすべての出力データに基づき、該第2アノテーションベクトル集合を決定する。
【0139】
具体的に、該N個の第2時系列ステップにおけるすべての時系列ステップの隠れ状態情報の集合を該第2アノテーションベクトル集合として決定することができる。
【0140】
ステップ205、該第2アノテーションベクトル集合に基づき、第2目標ガイドネットワークモデルによって第2ガイド情報を生成し、該第2ガイドネットワークモデルは、アノテーションベクトル集合に基づいてガイド情報を生成することに用いられる。
【0141】
具体的に、
図7の実施例におけるステップ103に記載の第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成する上記方法を用いて、第2アノテーションベクトル集合に基づき、第2ガイドネットワークモデルによって第2ガイド情報を生成することができる。具体的な実現方式は上記ステップ103の関連説明を参照してもよく、ここで詳細な説明は省略する。
【0142】
第2ガイドネットワークモデルは第1ガイドネットワークモデルとともにサンプル画像によって訓練して取得されてもよく、訓練中にガイド情報を自動的に学習することができ、従って、該第1ガイドネットワークモデル及び第2ガイドネットワークモデルにより生成されたガイド情報の精度がより高く、生成されたガイド情報はエンコードのエンコード過程を正確にガイドすることができ、更に目標画像の表現語句の生成品質を向上させることができる。
【0143】
ステップ206、該第2ガイド情報に基づき、該エンコーダによって該第2アノテーションベクトル集合及び該第2初期入力データをエンコードして、該目標画像の表現語句を取得する。
【0144】
具体的に、
図7の実施例におけるステップ104に記載の第1ガイド情報に基づき、デコーダによって第1アノテーションベクトル集合及び第1初期入力データをデコードして、該目標画像の表現語句を取得する上記方法を用いて、該第2ガイド情報に基づき、該エンコーダによって該第2アノテーションベクトル集合及び該第2初期入力データをエンコードして、該目標画像の表現語句を取得することができる。具体的な実現方式は上記ステップ104における第1実現方式の関連説明を参照してもよく、ここで詳細な説明は省略する。
【0145】
更に、目標画像の第1アノテーションベクトル集合に基づいて第1ガイド情報を正確に生成することができる上記第1ガイドネットワークモデル、及び第2アノテーションベクトル集合に基づいて第2ガイド情報を正確に生成することができる上記第2ガイドネットワークモデルを取得するために、エンコーダによって目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得する前に、更に、第2訓練待ちエンコーダ、第2訓練待ちガイドネットワークモデル、訓練待ちレビューアー、第3訓練待ちガイドネットワークモデル及び第2訓練待ちデコーダを組み合わせて、第2カスケードネットワークモデルを取得し、次に複数のサンプル画像及び該複数のサンプル画像の表現語句に基づき、勾配降下法で該第2カスケードネットワークモデルに対して訓練して、該エンコーダ、該第1ガイドネットワークモデル、該レビューアー、該第2ガイドネットワークモデル及び該デコーダを取得することができる。
【0146】
つまり、まず
図5の接続方式で第2訓練待ちエンコーダ、第2訓練待ちガイドネットワークモデル、訓練待ちレビューアー、第3訓練待ちガイドネットワークモデル及び第2訓練待ちデコーダを、画像を処理して画像の表現語句を取得することができる画像認識システムに構築し、次に複数のサンプル画像及び該複数のサンプル画像の表現語句に基づいて該画像認識システムを訓練することができ、画像認識システムの訓練過程において、その中の第2訓練待ちガイドネットワークモデル及び第3訓練待ちガイドネットワークモデルに対して訓練することができ、第2訓練待ちガイドネットワークモデル及び第3訓練待ちガイドネットワークモデルが訓練中にガイド情報を適応的に学習できるようにし、それにより生成されたガイド情報がより正確になるように確保する。
【0147】
第2訓練待ちエンコーダは未訓練のエンコーダであってもよいし、事前訓練後のエンコーダであってもよく、訓練レビューアーは未訓練のレビューアーであってもよいし、事前訓練後のレビューアーであってもよく、本願の実施例は制限しない。
【0148】
説明すべきなのは、事前訓練後のエンコーダを第2訓練待ちエンコーダとし、又は事前訓練後のレビューアーを訓練待ちレビューアーとして第1ガイドネットワークモデル及び第2ガイドネットワークモデルに対して訓練することにより、第2カスケードネットワークモデル全体の訓練効率を向上させることができ、更にその中の第1ガイドネットワークモデル及び第2ガイドネットワークモデルの訓練効率を向上させる。
【0149】
更に説明すべきなのは、本願の実施例において、目標画像を認識して目標画像の表現語句を取得する過程、及びガイドネットワークモデルに対して訓練する過程は同じ端末において実行されてもよいし、異なる端末において実行されてもよく、本願の実施例は制限しない。
【0150】
本願の実施例において、エンコーダとデコーダとの間にガイドネットワークモデルを追加し、画像からアノテーションベクトル集合を抽出した後、該アノテーションベクトル集合に基づいて該ガイドネットワークモデルによってガイド情報を生成することができ、該ガイドネットワークモデルがサンプル画像によって訓練して取得されたものであるため、訓練中にガイド情報を適応的に学習することができ、従って、該ガイドネットワークモデルにより生成されたガイド情報の精度がより高く、画像のエンコード過程を正確にガイドすることができ、それにより表現語句の生成品質を向上させる。
【0151】
更に、エンコーダとデコーダとの間にレビューアーを追加することにより、レビューアーによって目標画像の局所特徴とグローバル特徴との相互関係を更に引き出すことができ、生成された第2アノテーションベクトル集合及び第2初期入力データに目標画像の特徴をより正確に示させ、画像認識システムのシステム性能を更に向上させ、更に表現語句の生成品質を向上させる。
【0152】
図9は本願の実施例に係る画像認識装置の構造模式図であり、該装置が端末であってもよい。
図9に示すように、該装置は、
エンコーダによって認識対象の目標画像に対して特徴抽出を行って、特徴ベクトル及び第1アノテーションベクトル集合を取得するための抽出モジュール301と、
該特徴ベクトルに対して初期化処理を行って、第1初期入力データを取得するための処理モジュール302と、
該第1アノテーションベクトル集合に基づき、第1ガイドネットワークモデルによって第1ガイド情報を生成することに用いられ、該第1ガイドネットワークモデルが、いずれの画像のアノテーションベクトル集合に基づいてガイド情報を生成することに用いられる生成モジュール303と、
該第1ガイド情報、該第1アノテーションベクトル集合及び該第1初期入力データに基づき、デコーダによって該目標画像の表現語句を決定するための決定モジュール304と、を備える。
【0153】
好ましくは、
図10に示すように、該生成モジュール303は、
該第1ガイドネットワークモデルにおけるモデルパラメータにより形成される第1行列に基づいて該第1アノテーションベクトル集合に対して線形変換を行って、第2行列を取得するための第1線形変換ユニット3031と、
該第2行列における各行の最大値に基づいて該第1ガイド情報を決定するための第1決定ユニット3032と、を備える。
【0154】
好ましくは、
図11に示すように、該第1ガイドネットワークモデルはいずれの画像のアノテーションベクトル集合及び属性情報に基づいてガイド情報を生成することに用いられ、該属性情報は、予測される、該画像の表現語句に単語が現れる確率を示すことに用いられ、
該生成モジュール303は、
該目標画像をマルチインスタンスモデルの入力とし、該マルチインスタンスモデルによって該目標画像を処理して、該目標画像の属性情報を取得するための処理ユニット3033と、
該第2ガイドネットワークモデルにおけるモデルパラメータにより形成される第3行列に基づいて該第1アノテーションベクトル集合に対して線形変換を行って、第4行列を取得するための第2線形変換ユニット3034と、
該第4行列及び該目標画像の属性情報に基づき、第5行列を生成するための第1生成ユニット3035と、
該第5行列における各行の最大値に基づいて該第1ガイド情報を決定するための第2決定ユニット3036と、を備える。
【0155】
好ましくは、該決定モデル304は、
該第1ガイド情報に基づき、該デコーダによって該第1アノテーションベクトル集合及び該第1初期入力データをデコードして、該目標画像の表現語句を取得することに用いられる。
【0156】
好ましくは、
図12に示すように、該決定モデル304は、
該デコーダが第1リカレントニューラルネットワーク(RNN)モデルを用いる場合、且つ、該第1RNNモデルがM個の第1時系列ステップを実行することに用いられる場合、該第1RNNモデルで実行される各第1時系列ステップに対して、該第1ガイド情報に基づいて該第1時系列ステップの入力データを決定することに用いられ、
該Mが、該第1RNNモデルが入力データに対して繰り返し処理を行う回数を指し、該Mが正の整数であり、各第1時系列ステップが該第1RNNモデルの入力データに対する処理ステップである第3決定ユニット3041と、
該第1時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第1時系列ステップの前の第1時系列ステップの出力データに基づき、該第1時系列ステップの出力データを決定することに用いられ、
該第1時系列ステップが該M個の第1時系列ステップにおける1番目の第1時系列ステップである場合、該第1時系列ステップの前の第1時系列ステップの出力データが該第1初期入力データに基づいて決定することによって取得されたものである第4決定ユニット3042と、
該M個の第1時系列ステップのすべての出力データに基づき、該目標画像の表現語句を決定するための第5決定ユニット3043と、を備える。
【0157】
好ましくは、該第3決定ユニット3041は、
該第1ガイド情報に基づき、下記の式で該第1時系列ステップの入力データを決定することに用いられ、
【数15】
tが該第1時系列ステップであり、x
tが該第1時系列ステップの入力データであり、Eが単語埋め込み行列であり、且つ、該第1RNNモデルのモデルパラメータであり、y
tが該第1時系列ステップに対応する単語のワンホット(one−hot)ベクトルであり、該第1時系列ステップに対応する単語が該第1時系列ステップの前の第1時系列ステップの出力データに基づいて決定することによって取得されたものであり、Qが第6行列であり、且つ、該第1RNNモデルのモデルパラメータであり、νが該第1ガイド情報である。
【0158】
好ましくは、
図13に示すように、該装置は、更に、
第1訓練待ちエンコーダ、第1訓練待ちガイドネットワークモデル及び第1訓練待ちデコーダを組み合わせて、第1カスケードネットワークモデルを取得するための第1組み合わせモジュール305と、
複数のサンプル画像及び該複数のサンプル画像の表現語句に基づき、勾配降下法で該第1カスケードネットワークモデルに対して訓練して、該エンコーダ、該第1ガイドネットワークモデル及び該デコーダを取得するための第1訓練モジュール306と、を備える。
【0159】
好ましくは、
図14に示すように、該決定モデル304は、
該第1ガイド情報、該第1アノテーションベクトル集合及び該第1初期入力データに基づき、レビューアーによって第2アノテーションベクトル集合及び第2初期入力データを決定するための第6決定ユニット3044と、
該第2アノテーションベクトル集合に基づき、第2ガイドネットワークモデルによって第2ガイド情報を生成することに用いられ、該第2ガイドネットワークモデルがサンプル画像によって訓練して取得されたものである第2生成ユニット3045と、
該第2ガイド情報に基づき、該エンコーダによって該第2アノテーションベクトル集合及び該第2初期入力データをエンコードして、該目標画像の表現語句を取得するためのエンコードユニット3046と、を備える。
【0160】
好ましくは、該第6決定ユニット3044は、
該第1レビューアーが第2RNNモデルを用いる場合、且つ、該第2RNNモデルがN個の第2時系列ステップを実行することに用いられる場合、該第2RNNモデルで実行される各第2時系列ステップに対して、該第1目標ガイド情報に基づいて該第2時系列ステップの入力データを決定し、
該Nが、該第2RNNモデルが入力データに対して繰り返し処理を行う回数を指し、該Nが正の整数であり、各第2時系列ステップが該第2RNNモデルの入力データに対する処理ステップであり、
該第2時系列ステップの入力データ、該第1アノテーションベクトル集合及び該第2時系列ステップの前の第2時系列ステップの出力データに基づき、該第2時系列ステップの出力データを決定し、
該第2時系列ステップが該N個の第2時系列ステップにおける1番目の第2時系列ステップである場合、該第2時系列ステップの前の第2時系列ステップの出力データが該第1初期入力データに基づいて決定することによって取得されたものであり、
該N個の第2時系列ステップにおける最後の第2時系列ステップの出力データに基づき、該第2初期入力データを決定し、
該N個の第2時系列ステップのすべての出力データに基づき、該第2アノテーションベクトル集合を決定することに用いられる。
【0161】
好ましくは、
図15に示すように、該装置は、更に、
第2訓練待ちエンコーダ、第2訓練待ちガイドネットワークモデル、訓練待ちレビューアー、第3訓練待ちガイドネットワークモデル及び第2訓練待ちデコーダを組み合わせて、第2カスケードネットワークモデルを取得するための第2組み合わせモジュール307と、
複数のサンプル画像及び該複数のサンプル画像の表現語句に基づき、勾配降下法で該第2カスケードネットワークモデルに対して訓練して、該エンコーダ、該第1ガイドネットワークモデル、該レビューアー、該第2ガイドネットワークモデル及び該デコーダを取得するための第2訓練モジュール308と、を備える。
【0162】
本願の実施例において、エンコーダとデコーダとの間にガイドネットワークモデルを追加し、画像からアノテーションベクトル集合を抽出した後、該アノテーションベクトル集合に基づいて該ガイドネットワークモデルによってガイド情報を生成することができ、該ガイドネットワークモデルがサンプル画像のアノテーションベクトル集合によって訓練して取得されたものであるため、訓練中にどのように画像のアノテーションベクトル集合に基づいてガイド情報を正確に生成するかを適応的に学習することができ、従って、該ガイドネットワークモデルにより生成されたガイド情報の精度がより高く、画像のエンコード過程を正確にガイドすることができ、それにより表現語句の生成品質を向上させる。
【0163】
説明すべきなのは、上記実施例に係る画像認識装置が画像認識を行うとき、上記各機能モジュールの分割のみを例として説明したが、実際の応用では、必要に応じて上記機能を異なる機能モジュールで完了するように分配し、つまり、以上に説明される機能の全部又は一部を完了するよう、装置の内部構造を異なる機能モジュールに分割することができる。また、上記実施例に係る画像認識装置及び画像認識方法の実施例は同じ構想に属し、その具体的な実現過程が方法実施例を参照してもよく、ここで詳細な説明は省略する。
【0164】
図16は本願の実施例に係る端末400の構造模式図である。
図16に示すように、端末400は通信ユニット410、1つ又は1つ以上のコンピュータ可読記憶媒体を含むメモリ420、入力ユニット430、表示ユニット440、センサ450、オーディオ回路460、WIFI(Wireless Fidelity、ワイヤレスフィデリティ)モジュール470、1つ又は1つ以上の処理コアを含むプロセッサ480、及び電源490等の部材を備えてもよい。当業者であれば、
図16に示される端末の構造が端末を制限するためのものではなく、図示より多く又は少ない部材を備え、又はいくつかの部材を組み合わせ、又は異なる部材を配置してもよいと理解される。
【0165】
通信ユニット410は情報を送受信し、又は通話中に信号を受信及び送信することに用いられてもよく、該通信ユニット410はRF(Radio Frequency、無線周波数)回路、ルータ、モデム等のネットワーク通信装置であってもよい。特に、通信ユニット410がRF回路である場合、基地局のダウンリンク情報を受信した後、1つ又は1つ以上のプロセッサ480に送って処理し、また、アップリンクに関わるデータを基地局に送信する。一般的に、通信ユニットとしてのRF回路はアンテナ、少なくとも1つの増幅器、チューナー、1つ又は複数の発振器、加入者識別モジュール(SIM)カード、送受信機、結合器、LNA(Low Noise Amplifier、低雑音増幅器)、デュプレクサ等を含むが、それらに限らない。なお、通信ユニット410は更に無線通信及びネットワーク経由で他の装置と通信することができる。前記無線通信はいずれの通信規格又はプロトコルを用いてもよく、前記通信規格又はプロトコルはGSM(登録商標)(Global System of Mobile communication、モバイル通信用グローバルシステム)、GPRS(General Packet Radio Service、汎用パケット無線サービス)、CDMA(Code Division Multiple Access、符号分割多元接続)、WCDMA(登録商標)(Wideband Code Division Multiple Access、広帯域符号分割多元接続)、LTE(Long Term Evolution、ロングタームエボリューション)、電子メール、SMS(Short Messaging Service、ショートメッセージサービス)等を含むが、それらに限らない。メモリ420がソフトウェアプログラム及びモジュールを記憶することに用いられてもよく、プロセッサ480がメモリ420に記憶されるソフトウェアプログラム及びモジュールを実行することにより、様々な機能アプリケーション及びデータ処理を実行する。メモリ420は主に記憶プログラム領域及び記憶データ領域を備えてもよく、記憶プログラム領域はオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラム(例えば、音声再生機能、画像再生機能等)等を記憶することができ、記憶データ領域は端末400の使用に応じて新規作成されたデータ(例えば、オーディオデータ、電話帳等)等を記憶することができる。なお、メモリ420は高速ランダムアクセスメモリを含んでもよく、更に不揮発性メモリ、例えば少なくとも1つの磁気ディスク記憶装置、フラッシュメモリデバイス又は他の揮発性固体記憶装置を含んでもよい。それに対応して、プロセッサ480及び入力ユニット430のメモリ420へのアクセスを実現するよう、メモリ420は更にメモリコントローラを備えてもよい。
【0166】
入力ユニット430は入力された数字又は文字情報を受信し、ユーザー設定及び機能制御に関連するキーボード、マウス、操作レバー、光学又はトラックボール信号の入力を発生させることに用いられてもよい。好ましくは、入力ユニット430はタッチ操作面431及び他の入力装置432を備えてもよい。タッチ操作面431は更にタッチディスプレイ又はタッチパッドと称され、ユーザーのその上又は近傍のタッチ操作(例えば、ユーザーが指、スタイラス等の任意の適切な物体又は付属品でタッチ操作面431上又はタッチ操作面431近傍に行った操作)を収集して、予め設定されたプログラムに基づいて対応する接続装置を駆動することができる。好ましくは、タッチ操作面431はタッチ検出装置及びタッチコントローラの2つの部分を備えてもよい。タッチ検出装置はユーザーのタッチ位置を検出して、タッチ操作による信号を検出し、信号をタッチコントローラに渡し、タッチコントローラはタッチ検出装置からタッチ情報を受信して、それを接点座標に変換し、更にプロセッサ480に送信して、プロセッサ480から送信された命令を受信して実行することができる。なお、抵抗式、静電容量式、赤外線及び表面音波等の様々なタイプでタッチ操作面431を実現することができる。タッチ操作面431を除き、入力ユニット430は更に他の入力装置432を備えてもよい。好ましくは、他の入力装置432は物理キーボード、機能キー(例えば、音量制御ボタン、切り替えボタン等)、トラックボール、マウス、操作レバー等における1つ又は複数を含むが、それらに限らない。
【0167】
表示ユニット440はユーザーの入力した情報又はユーザーに提供した情報及び端末400の様々なグラフィカルユーザーインターフェースを表示することに用いられてもよく、これらのグラフィカルユーザーインターフェースが図形、テキスト、アイコン、ビデオ及びその任意の組み合わせで構成されてもよい。表示ユニット440は表示パネル441を備えてもよく、好ましくは、LCD(Liquid Crystal Display、液晶ディスプレイ)、OLED(Organic Light−Emitting Diode、有機発光ダイオード)等の形式で表示パネル441を配置することができる。更に、タッチ操作面431は表示パネル441を覆うことができ、タッチ操作面431はその上又は近傍のタッチ操作を検出した後、タッチイベントのタイプを決定するよう、プロセッサ480に伝送し、その後、プロセッサ480はタッチイベントのタイプに基づいて表示パネル441に対応する視覚出力を提供する。
図16では、タッチ操作面431及び表示パネル441が2つの独立した部材として入力及び入力機能を実現するが、いくつかの実施例において、タッチ操作面431及び表示パネル441を統合して入力及び出力機能を実現することができる。
【0168】
端末400は更に少なくとも1つのセンサ450、例えば光センサ、運動センサ及び他のセンサを備えてもよい。光センサは環境光センサ及び近接センサを含んでもよく、環境光センサは環境光の輝度に基づいて表示パネル441の輝度を調整することができ、近接センサは端末400が耳元に移動するとき、表示パネル441及び/又はバックライトを閉じることができる。運動センサの1つとして、重力加速度センサは各方向における(一般的に三軸)加速度の大きさを検出することができ、静止時、重力の大きさ及び方向を検出することができ、携帯電話姿勢を認識するアプリケーション(例えば、横画面と縦画面の切り替え、関連ゲーム、磁力計姿勢の補正)、振動認識関連機能(例えば、万歩計(登録商標)、ハンマリング)等に用いられてもよく、端末400に更に配置できるジャイロスコープ、気圧計、湿度計、温度計、赤外線センサ等の他のセンサは省略する。
【0169】
オーディオ回路460、拡声器461、マイクロホン462はユーザーと端末400とのオーディオインターフェースを提供することができる。オーディオ回路460は受信されたオーディオデータを変換した電気信号を拡声器461に伝送し、拡声器461によって音声信号に変換して出力することができる一方、マイクロホン462は収集された音声信号を電気信号に変換し、オーディオ回路460によって受信してからオーディオデータに変換し、更にオーディオデータをプロセッサ480に出力して処理した後、通信ユニット410によって例えば他の端末に送信し、又は、更なる処理を行うよう、オーディオデータをメモリ420に出力する。外部イヤホンと端末400との通信を実現するよう、オーディオ回路460は更にイヤホンジャックを備えてもよい。
【0170】
無線通信を実現するために、該端末に無線通信ユニット470が配置されてもよく、該無線通信ユニット470がWIFIモジュールであってもよい。WIFIは近距離無線伝送技術に属し、端末400は無線通信ユニット470によってユーザーが電子メールを送受信し、ホームページをブラウジングし及びストリーミングメディア等にアクセスすることに役立ち、ユーザーに無線のブロードバンドインターネットアクセスを提供する。図面に無線通信ユニット470を示すが、それが端末400の不可欠な構造ではなく、必要に応じて発明の本質を変えない範囲内に省略してもよいと理解される。
【0171】
プロセッサ480は端末400のコントロールセンターであり、様々なインターフェース及び回路を利用して携帯電話全体の各部分に接続され、メモリ420に記憶されるソフトウェアプログラム及び/又はモジュールを動作又は実行し、メモリ420に記憶されるデータを呼び出すことにより、端末400の様々な機能及び処理データを実行し、それにより携帯電話全体を監視する。好ましくは、プロセッサ480は1つ又は複数の処理コアを備えてもよく、好ましくは、プロセッサ480はアプリケーションプロセッサ及びモデムプロセッサを統合することができ、アプリケーションプロセッサは主にオペレーティングシステム、ユーザーインターフェース及びアプリケーションプログラム等を処理し、モデムプロセッサは主に無線通信を処理する。上記モデムプロセッサは更にプロセッサ480に統合されなくてもよいと理解される。
【0172】
端末400は更に各部材に給電する電源490(例えば、電池)を備え、好ましくは、電源は電源管理システムによってプロセッサ480に論理的に接続されてもよく、それにより電源管理システムによって充電、放電管理及び電力消費管理等の機能を実現する。電源460は更に1つ又は1つ以上の直流又は交流電源、再充電システム、電源故障検出回路、電源タップ又はインバータ、電源状態インジケータ等の任意のコンポーネントを備えてもよい。
【0173】
図示しないが、端末400は更にWebカメラ、ブルートゥース(登録商標)モジュール等を備えてもよく、ここで詳細な説明は省略する。
【0174】
本実施例において、端末はプロセッサ及びメモリを備え、メモリに更に少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによりロードされ、上記
図7又は
図8の実施例に記載の画像認識方法を実現するように実行される。
【0175】
他の実施例は更にコンピュータ可読記憶媒体を提供し、前記記憶媒体に少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記命令、前記プログラム、前記コードセット又は前記命令セットは、プロセッサによりロードされ、上記
図7又は
図8の実施例に記載の画像認識方法を実現するように実行される。
【0176】
当業者であれば、上記実施例の全部又は一部のステップの実現はハードウェアにより完了してもよいし、プログラムによって関連するハードウェアを命令することで完了してもよく、前記プログラムがコンピュータ可読記憶媒体に記憶されてもよく、上記言及した記憶媒体が読み出し専用メモリ、磁気ディスク又は光ディスク等であってもよいと理解される。
【0177】
以上の説明は本願の実施例の好適な実施例であって、本願の実施例を制限するためのものではなく、本願の実施例の趣旨及び原則内に行ったいかなる修正、等価置換、改良等は、いずれも本願の実施例の保護範囲内に含まれるべきである。