(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-09
(54)【発明の名称】画像キャプションの方法、装置、計算機器及び記憶媒体
(51)【国際特許分類】
G06V 10/82 20220101AFI20221101BHJP
G06T 7/00 20170101ALI20221101BHJP
【FI】
G06V10/82
G06T7/00 350C
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022513610
(86)(22)【出願日】2020-08-27
(85)【翻訳文提出日】2022-03-09
(86)【国際出願番号】 CN2020111602
(87)【国際公開番号】W WO2021037113
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】201910797332.X
(32)【優先日】2019-08-27
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522075313
【氏名又は名称】北京金山数字▲娯▼▲楽▼科技有限公司
【氏名又は名称原語表記】Beijing Kingsoft Digital Entertainment CO.,LTD.
【住所又は居所原語表記】No.002,11th Floor,Building 5,No.33 Xierqi Middle Road,Haidian District,Beijing 100085,CHINA
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】宋 振旗
(72)【発明者】
【氏名】李 長亮
(72)【発明者】
【氏名】廖 敏鵬
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】
本願は画像キャプションの方法、装置、計算機器及び記憶媒体を提供する。前記方法は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得することと、複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、ターゲット画像に対応する大域画像特徴を生成することと、第2特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、ターゲット画像に対応するターゲット検出特徴を取得することと、ターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文をターゲット画像のキャプション文とすることとを含む。これにより、後続するターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して翻訳文を生成するプロセスでは、より豊富な画像情報を含む大域画像特徴を参照とし、出力した翻訳文をより正確にすることができる。
【特許請求の範囲】
【請求項1】
複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各前記第1特徴抽出モデルに生成された画像特徴を取得することと、
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成することと、
第2特徴抽出モデルを用いて前記ターゲット画像に対して特徴抽出を行って、前記ターゲット画像に対応するターゲット検出特徴を取得することと、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とすることとを含む、画像キャプションの方法。
【請求項2】
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成することは、
前記複数の第1特徴抽出モデルに生成された画像特徴のそれぞれに対して、対応する第1自己注意層によって特徴抽出を行って、複数の中間特徴を取得することと、
前記複数の中間特徴をスティッチングして、初期大域特徴を生成することと、
少なくとも1つの第2自己注意層によって前記初期大域特徴に対して融合処理を行って、大域画像特徴を生成することとを含む、請求項1に記載の方法。
【請求項3】
前記翻訳モデルは、エンコーダとデコーダとを含み、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とすることは、
前記ターゲット検出特徴と前記大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成することと、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成することと、
前記デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、前記翻訳文を前記ターゲット画像のキャプション文とすることとを含む、請求項1または2に記載の方法。
【請求項4】
前記エンコーダはN個の順次接続された符号化層を含み、Nは1より大きい整数であり、
前記ターゲット検出特徴と前記大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成することは、
S11:前記ターゲット検出特徴と前記大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得することと、
S12:i-1番目の符号化層の出力ベクトルと前記大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得し、2≦i≦Nであることと、
S13:iがNに等しいかどうかを判断し、等しくない場合はiを1だけインクリメントしてステップS12を実行し、等しい場合はステップS14を実行することと、
S14:N番目の符号化層の出力ベクトルを前記エンコーダの出力の符号化ベクトルとすることとを含む、請求項3に記載の方法。
【請求項5】
前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
前記ターゲット検出特徴と前記大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得することは、
前記ターゲット検出特徴を第1符号化自己注意層に入力して、第1中間ベクトルを取得
することと、
前記第1中間ベクトルと前記大域画像特徴とを前記第2符号化自己注意層に入力して、第2中間ベクトルを取得することと、
前記第2中間ベクトルを前記第1フィードフォワード層により処理して、1番目の符号化層の出力ベクトルを取得することとを含む、請求項4に記載の方法。
【請求項6】
前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
i-1番目の符号化層の出力ベクトルと前記大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得することは、
前記i-1番目の符号化層の出力ベクトルを第1符号化自己注意層に入力して、第3中間ベクトルを取得することと、
前記第3中間ベクトルと前記大域画像特徴とを第2符号化自己注意層に入力して、第4中間ベクトルを取得することと、
前記第4中間ベクトルを第1フィードフォワード層により処理して、i番目の符号化層の出力ベクトルを取得することとを含む、請求項4または5に記載の方法。
【請求項7】
前記デコーダはM個の順次接続された復号化層を含み、Mは1より大きい整数であり、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成することは、
S21:参照復号化ベクトルと、前記符号化ベクトルと、前記大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得することと、
S22:j-1番目の復号化層の出力ベクトルと、前記符号化ベクトルと、前記大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得し、2≦j≦Mであることと、
S23:jがMに等しいかどうかを判断し、等しくない場合はjを1だけインクリメントしてステップS22を実行し、等しい場合はステップS24を実行することと、
S24:M番目の復号化層の出力ベクトルを前記デコーダの出力の復号化ベクトルとすることとを含む、請求項3~6のいずれか1項に記載の方法。
【請求項8】
前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と、第2フィードフォワード層とを含み、
参照復号化ベクトルと、前記符号化ベクトルと、前記大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得することは、
前記参照復号化ベクトルを前記第1復号化自己注意層により処理して、第5中間ベクトルを取得することと、
前記第5中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第6中間ベクトルを取得することと、
前記第6中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第7中間ベクトルを取得することと、
前記第7中間ベクトルを第2フィードフォワード層により処理して、1番目の復号化層の出力ベクトルを取得することとを含む、請求項7に記載の方法。
【請求項9】
前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と、第2フィードフォワード層とを含み、
j-1番目の復号化層の出力ベクトルと、符号化ベクトルと、大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得することは、
j-1番目の復号化層の出力ベクトルを前記第1復号化自己注意層により処理して、第8中間ベクトルを取得することと、
前記第8中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理し
て、第9中間ベクトルを取得することと、
前記第9中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第10中間ベクトルを取得することと、
前記第10中間ベクトルを前記第2フィードフォワード層により処理して、j番目の復号化層の出力ベクトルを取得することとを含む、請求項7または8に記載の方法。
【請求項10】
複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各前記第1特徴抽出モデルに生成された画像特徴を取得するように構成されている、特徴抽出モジュールと、
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成するように構成されている、大域画像特徴抽出モジュールと、
第2特徴抽出モデルを用いて前記ターゲット画像に対して特徴抽出を行って、前記ターゲット画像に対応するターゲット検出特徴を取得するように構成されている、ターゲット検出特徴抽出モジュールと、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とするように構成されている、翻訳モジュールとを含む、画像キャプションの装置。
【請求項11】
前記大域画像特徴抽出モジュールは、
前記複数の第1特徴抽出モデルに生成された画像特徴のそれぞれに対して対応する第1自己注意層によって特徴抽出を行って、複数の中間特徴を取得し、
複数の中間特徴をスティッチングして、初期大域特徴を生成し、
少なくとも1つの第2自己注意層によって初期大域特徴に対して融合処理を行って、大域画像特徴を生成するように構成されている、請求項10に記載の装置。
【請求項12】
前記翻訳モデルは、エンコーダとデコーダとを含み、
前記翻訳モジュールは、
前記ターゲット検出特徴と大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成するように構成されている、符号化モジュールと、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成するように構成されている、復号化モジュールと、
前記デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、前記翻訳文を前記ターゲット画像のキャプション文とするように構成されている、文生成モジュールとを含む、請求項10または11に記載の装置。
【請求項13】
前記エンコーダはN個の順次接続された符号化層を含み、Nは1より大きい整数であり、
前記符号化モジュールは、
前記ターゲット検出特徴と大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得するように構成されている、第1処理手段と
i-1番目の符号化層の出力ベクトルと大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得するように構成されており、2≦i≦Nである、第2処理手段と、
iがNに等しいかどうかを判断し、等しくない場合はiを1だけインクリメントして第2処理手段を実行し、等しい場合は符号化ベクトル生成手段を実行するように構成されている、第1判断手段と、
N番目の符号化層の出力ベクトルをエンコーダの出力の符号化ベクトルとするように構成されている、符号化ベクトル生成手段とを含む、請求項12に記載の装置。
【請求項14】
前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
前記第1処理手段は、前記ターゲット検出特徴を第1符号化自己注意層に入力して、第1中間ベクトルを取得し、第1中間ベクトルと大域画像特徴とを第2符号化自己注意層に入力して、第2中間ベクトルを取得し、前記第2中間ベクトルを第1フィードフォワード層により処理して、1番目の符号化層の出力ベクトルを取得するように構成されている、請求項13に記載の装置。
【請求項15】
前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
第2処理手段は、前記i-1番目の符号化層の出力ベクトルを第1符号化自己注意層に入力して、第3中間ベクトルを取得し、第3中間ベクトルと大域画像特徴とを第2符号化自己注意層に入力して、第4中間ベクトルを取得し、前記第4中間ベクトルを第1フィードフォワード層により処理して、i番目の符号化層の出力ベクトルを取得するように構成されている、請求項13または14に記載の装置。
【請求項16】
前記デコーダはM個の順次接続された復号化層を含み、Mは1より大きい整数であり、
前記復号化モジュールは、
参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得するように構成されている第3処理手段と、
j-1番目の復号化層の出力ベクトルと、符号化ベクトルと、大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得するように構成されており、2≦j≦Mである、第4処理手段と、
jがMに等しいかどうかを判断し、等しくない場合はjを1だけインクリメントして第4処理手段を実行し、等しい場合は復号化ベクトル生成手段を実行するように構成されている、第2判断手段と、
M番目の復号化層の出力ベクトルをデコーダの出力の復号化ベクトルとするように構成されている、復号化ベクトル生成手段とを含む、請求項12~15のいずれかに記載の装置。
【請求項17】
前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と第2フィードフォワード層とを含み、
第3処理手段は、参照復号化ベクトルを第1復号化自己注意層により処理して、第5中間ベクトルを取得し、第5中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第6中間ベクトルを取得し、第6中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第7中間ベクトルを取得し、第7中間ベクトルを第2フィードフォワード層により処理して、1番目の復号化層の出力ベクトルを取得するように構成されている、請求項16に記載の装置。
【請求項18】
前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と第2フィードフォワード層とを含み、
第4処理手段は、j-1番目の復号化層の出力ベクトルを前記第1復号化自己注意層により処理して、第8中間ベクトルを取得し、第8中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第9中間ベクトルを取得し、第9中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第10中間ベクトルを取得し、第10中間ベクトルを第2フィードフォワード層により処理して、j番目の復号化層の出力ベクトルを取得するように構成されている、請求項16または17に記載の装置。
【請求項19】
メモリと、プロセッサと、メモリに格納されているプロセッサが実行可能なコンピュータコマンドとを含み、前記プロセッサは当該コマンドを実行すると請求項1~9のいずれか1項に記載の方法を実現する、計算機器を提供する。
【請求項20】
コンピュータコマンドが記憶されているコンピューター読み取り可能な記憶媒体であって、当該コマンドがプロセッサによって実行されると請求項1~9のいずれか1項に記載の方法を実現する、コンピューター読み取り可能な記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2019年08月27日に中国国家知的財産権局に提出された、出願番号が201910797332.Xであり、発明名称が「画像キャプションの方法、装置、計算機器及び記憶媒体」である中国特許出願に基づき優先権を主張し、その全体が参照により本願に組み込まれる。
【技術分野】
【0002】
本願は画像処理技術分野、特に画像キャプションの方法、装置、計算機器及び記憶媒体に関する。
【背景技術】
【0003】
「画像キャプション」とは、画像に基づいて説明する文を自動的に生成することを意味し、「お話づくり」に類似する。画像キャプションは、人間にとって簡単で自然なものであるが、機械にとっては非常に挑戦的なものになる。何故なら、機械は画像中の物体を検出可能だけではなく、さらに物体間の相互関係を理解して、適切な表現で表す必要がある。
【0004】
従来技術において、画像キャプションのプロセスでは、ターゲット画像から局所情報と大域情報とが機械により抽出され、大域情報と局所情報とが翻訳モデルに入力され、翻訳モデルが出力した文を画像に対応するキャプション情報とする必要がある。従来の画像キャプションタスクでは、通常、単一の特徴抽出モデルを使ってターゲット画像に対して大域情報を抽出する。この場合、特徴抽出モデルが大域情報を抽出することは、当該特徴抽出モデル自身の性能に依存する。一部の特徴抽出モデルは画像中のある一種の情報に注目し、一部の特徴抽出モデルは画像中の他の種の情報に注目する。これにより、後続するプロセスでは、翻訳モデルは画像に対応する完全な大域情報を参照とすることができなくなって、出力した文に誤りがあることになることが多い。
【発明の概要】
【0005】
このような事情に鑑み、従来技術の技術的欠陥を解決するために、本願の実施例は画像キャプションの方法、装置、計算機器及び記憶媒体を提供する。
【0006】
第1形態として、本願の実施例は、
複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各前記第1特徴抽出モデルに生成された画像特徴を取得することと、
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成することと、
第2特徴抽出モデルを用いて前記ターゲット画像に対して特徴抽出を行って、前記ターゲット画像に対応するターゲット検出特徴を取得することと、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とすることとを含む、画像キャプションの方法を提供する。
【0007】
好ましくは、前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成することは、
前記複数の第1特徴抽出モデルに生成された画像特徴のそれぞれに対して対応する第1自己注意層によって特徴抽出を行って、複数の中間特徴を取得することと、
複数の前記中間特徴をスティッチングして、初期大域特徴を生成することと、
少なくとも1つの第2自己注意層によって前記初期大域特徴に対して融合処理を行って、大域画像特徴を生成することとを含む。
【0008】
好ましくは、前記翻訳モデルは、エンコーダとデコーダとを含み、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とすることは、
前記ターゲット検出特徴と前記大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成することと、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成することと、
前記デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、前記翻訳文を前記ターゲット画像のキャプション文とすることとを含む。
【0009】
好ましくは、エンコーダはN個の順次接続された符号化層を含み、Nは1より大きい整数であり、
前記ターゲット検出特徴と前記大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成することは、
S11:前記ターゲット検出特徴と前記大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得することと、
S12:i-1番目の符号化層の出力ベクトルと前記大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得し、2≦i≦Nであることと、
S13:iがNに等しいかどうかを判断し、等しくない場合はiを1だけインクリメントしてステップS12を実行し、等しい場合はステップS14を実行することと、
S14:N番目の符号化層の出力ベクトルを前記エンコーダの出力の符号化ベクトルとすることとを含む。
【0010】
好ましくは、前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
前記ターゲット検出特徴と前記大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得することは、
前記ターゲット検出特徴を第1符号化自己注意層に入力して、第1中間ベクトルを取得することと、
前記第1中間ベクトルと前記大域画像特徴とを前記第2符号化自己注意層に入力して、第2中間ベクトルを取得することと、
前記第2中間ベクトルを前記第1フィードフォワード層により処理して、1番目の符号化層の出力ベクトルを取得することとを含む。
【0011】
好ましくは、前記符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
i-1番目の符号化層の出力ベクトルと前記大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得することは、
前記i-1番目の符号化層の出力ベクトルを第1符号化自己注意層に入力して、第3中間ベクトルを取得することと、
前記第3中間ベクトルと前記大域画像特徴とを第2符号化自己注意層に入力して、第4中間ベクトルを取得することと、
前記第4中間ベクトルを第1フィードフォワード層により処理して、i番目の符号化層の出力ベクトルを取得することとを含む。
【0012】
好ましくは、デコーダはのM個の順次接続された復号化層を含み、Mは1より大きい整
数であり、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成することは、
S21:参照復号化ベクトルと、前記符号化ベクトルと、前記大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得することと、
S22:j-1番目の復号化層の出力ベクトルと、前記符号化ベクトルと、前記大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得し、2≦j≦Mであることと、
S23:jがMに等しいかどうかを判断し、等しくない場合はjを1だけインクリメントしてステップS22を実行し、等しい場合はステップS24を実行することと、
S24:M番目の復号化層の出力ベクトルを前記デコーダの出力の復号化ベクトルとすることとを含む。
【0013】
好ましくは、前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と第2フィードフォワード層とを含み、
参照復号化ベクトルと、前記符号化ベクトルと、前記大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得することは、
前記参照復号化ベクトルを前記第1復号化自己注意層により処理して、第5中間ベクトルを取得することと、
前記第5中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第6中間ベクトルを取得することと、
前記第6中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第7中間ベクトルを取得することと、
第7中間ベクトルを第2フィードフォワード層により処理して、1番目の復号化層の出力ベクトルを取得することとを含む。
【0014】
好ましくは、前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と第2フィードフォワード層とを含み、
j-1番目の復号化層の出力ベクトルと、符号化ベクトルと、大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得することは、
j-1番目の復号化層の出力ベクトルを前記第1復号化自己注意層により処理して、第8中間ベクトルを取得することと、
前記第8中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第9中間ベクトルを取得することと、
前記第9中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第10中間ベクトルを取得することと、
前記第10中間ベクトルを前記第2フィードフォワード層により処理して、j番目の復号化層の出力ベクトルを取得することとを含む。
【0015】
第2形態として、本願の実施例は、
複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各前記第1特徴抽出モデルに生成された画像特徴を取得するように構成されている、特徴抽出モジュールと、
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成するように構成されている、大域画像特徴抽出モジュールと、
第2特徴抽出モデルを用いて前記ターゲット画像に対して特徴抽出を行って、前記ターゲット画像に対応するターゲット検出特徴を取得するように構成されている、ターゲット検出特徴抽出モジュールと、
前記ターゲット画像に対応する前記大域画像特徴と前記ターゲット検出特徴とを翻訳モ
デルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とするように構成されている、翻訳モジュールとを含む、画像キャプションの装置を提供する。
【0016】
第3形態として、本願の実施例は、
メモリと、プロセッサと、メモリに格納されているプロセッサが実行可能なコンピュータコマンドとを含み、前記プロセッサは当該コマンドを実行すると、上記の画像キャプションの方法のステップを実現する、計算機器を提供する。
【0017】
第4形態として、本願の実施例は、コンピュータコマンドが記憶されているコンピューター読み取り可能な記憶媒体であって、当該コマンドがプロセッサによって実行されると、上記の画像キャプションの方法のステップを実現する、コンピューター読み取り可能な記憶媒体を提供する。
【0018】
第5形態として、本願の実施例は、実行されると、上記の画像キャプションの方法のステップを実現する、コンピュータープログラム製品を提供する。
【0019】
本願に提供した画像キャプションの方法、装置、計算機器及び記憶媒体は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得し、複数の第1特徴抽出モデルに生成された画像特徴を融合してターゲット画像に対応する大域画像特徴を生成する。これは、単一の特徴抽出モデルがモデル自身の性能に依存し過ぎるという欠陥を克服し、従来技術である単一の特徴抽出モデルによる画像特徴に比べて、単一の特徴抽出モデルが抽出した画像特徴の性能が単一である欠陥を軽減できる。これにより、後続するターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して翻訳文を生成するプロセスでは、より豊富な画像情報を含む大域画像特徴を参照とし、出力した翻訳文をより正確にすることができる。
【0020】
次に、本願は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行い、複数の第1特徴抽出モデルが抽出した画像特徴をスティッチングして、初期大域特徴を取得する。これにより、初期大域特徴にできるだけターゲット画像の特徴をより完全に含める。そして、複数の第2自己注意層により融合を行って、注目すべきターゲット領域を取得する。その後、この領域に対して、より多くの注意計算リソースを投入し、より多くのターゲット画像に関する詳細情報を取得し、他の無関係な情報を無視する。このようなメカニズムによって、限られる注意計算リソースを利用して大量の情報から価値が高い情報を素早く選出して、より豊富な画像情報を含む大域画像特徴を得ることができる。
【0021】
さらに、本願は、ターゲット検出特徴と大域画像特徴とをエンコーダに入力する。これにより、各復号化層の復号化のプロセスでは、豊富な画像情報を含む大域画像特徴を背景情報とすることができ、復号化によって得られた復号化ベクトルと画像情報との対応度をより高くし、出力した翻訳文をより正確にすることができる。
【0022】
なお、本願は、大域画像特徴をデコーダの各復号化層に入力する。これにより、各復号化層の復号化のプロセスでは、豊富な画像情報を含む大域画像特徴を背景情報とすることができ、復号化によって得られた復号化ベクトルと画像情報との対応度をより高くし、出力した翻訳文をより正確にすることができる。
【図面の簡単な説明】
【0023】
本願の実施例及び従来技術の技術案をより明確に説明するために、以下、実施例及び従来技術に必要な図面を簡単に説明する。無論、以下に説明される図面は単に本願のいくつかの実施例に過ぎず、当業者であれば、創造的な働きをせずに、これらの図面に基づいて
他の図面を得ることができる。
【0024】
【
図1】
図1は本願の一実施例の計算機器の構成模式図である。
【
図2】
図2は本願の一実施例の画像キャプションの方法の模式的フローチャートである。
【
図3】
図3は本願の一実施例の画像キャプションの方法の模式的フローチャートである。
【
図4】
図4は本願の一実施例の翻訳モデルの符号化層の構成模式図である。
【
図5】
図5は本願の一実施例の翻訳モデルの復号化層の構成模式図である。
【
図6】
図6は本願の他の実施例の画像キャプションの方法の模式図である。
【
図7】
図7は本願の他の実施例の画像キャプションの装置の構成模式図である。
【発明を実施するための形態】
【0025】
以下、本願の実施例の目的、技術案及び利点をより明確にするために、図面を参照しながら例を挙げて本願の実施例をさらに詳しく説明する。無論、説明される実施例は単に本願の実施例の一部であり、全ての実施例ではない。本願の実施例に基づいて、当業者が創造的な労働を必要とせずに得られる全ての他の実施例は何れも本願の保護範囲に該当する。
【0026】
本明細書の1つまたは複数の実施例に使用された用語は、特定実施例を説明するものに過ぎず、本明細書の1つまたは複数の実施例を制限するものではない。本明細書の1つまたは複数の実施例、及び請求項に使用された単数形の「1種」や「前記」、「当該」は、文脈に他の意味を明確に示さない限り、複数形も含む。なお、本明細書の1つまたは複数の実施例に使用された「及び/または」という用語は、挙げられた1つまたは複数の関連するアイテムの任意またはすべての可能な組み合わせを含むことが理解すべきである。
【0027】
本明細書の1つまたは複数の実施例において、第1、第2などの用語を使用して様々な情報を説明すること可能であるが、これらの情報はこれらの用語に限定されるものではないことを理解すべきである。これらの用語は、同じ種類の情報を互いに区別するのみに使用される。例えば、本明細書の1つまたは複数の実施例から逸脱することない場合、第1は、第2と呼ばれることもできるし、類似に、第2は、文脈に応じて、第1と呼ばれることもできる。
【0028】
まず、本願の1つまたは複数の実施例に係る用語について説明する。
【0029】
画像特徴融合:画像特徴入力段階において、単一の画像特徴の代わりに、複数の事前にトレーニングした畳み込みネットワークによって抽出された特徴を使って融合を行うことで、トレーニングネットワークにより豊富な特徴入力を提供することである。
【0030】
RNN(Recurrent Neural Network)モデル:フィードバック構造を備えるニューラルネットワークであって、その出力は、現在の入力とネットワークの重み値に関連するだけでなく、以前のネットワークの入力にも関連する。RNNモデルは、時点を跨いで自己結合する隠れ層を添加することで、時間に対してモデルを作る。換言すると、隠れ層のフィードバックは、出力端だけではなく、次の時間の隠れ層にも伝達される。
【0031】
Transformer:翻訳モデルであって、そのアーキテクチャーは、エンコーダ(encoder)-デコーダ(decoder)であることを含む。エンコーダは、翻訳対象のソース文を符号化してベクトルを生成することを実現する。デコーダは、ソース文のベクトルを復号化して対応するターゲット文を生成することを実現する。
【0032】
画像キャプション(image caption):コンピュータビジョンと、自然言
語処理と、機械学習とを融合した総合的な課題であり、画像に基づいて画像コンテンツを説明できる自然言語の文を生成する。平たく言えば、画像をキャプション文に翻訳することである。
【0033】
自己注意計算:例えば、文を入力して自己注意計算を行うと、その中の各単語はいずれも当該文における全ての単語と自己注意計算を行う。その目的は、文中の単語の依存関係を学習し、文の内部構造を把握することである。入力された画像特徴に対して自己注意計算を行うと、各特徴に対して他の特徴と自己注意計算を行う。その目的は、画像内部の特徴依存関係を学習することである。
【0034】
大域画像特徴:ターゲット画像に対応する全ての特徴である。
【0035】
ターゲット検出特徴:ターゲット画像における特定領域の特徴である。
【0036】
本願では、画像キャプションの方法、装置、計算機器及びコンピューター読み取り可能な記憶媒体を提出する。以下の実施例によって、それぞれを詳しく説明する。
【0037】
図1は本願の一実施例に係る計算機器100のブロック構成図を示す。当該計算機器100の部品は、メモリ110とプロセッサ120を含むが、それらに限られない。プロセッサ120とメモリ110とは、バス130により接続され、データベース150はデータを格納することに用いられる。
【0038】
計算機器100は、アクセス機器140をさらに含む。アクセス機器140により、計算機器100は、1つまたは複数のネットワーク160を介して通信できることになる。例えば、計算機器100は、アクセス機器140により、ネットワーク160を介してデータベース150と通信することができる。これらのネットワークの例示は、公衆交換電話網(PSTN)、構内ネットワーク(LAN)、広域通信網(WAN)、パーソナルエリアネットワーク(PAN)またはインターネットのような通信ネットワークの組み合わせなどを含む。アクセス機器140は、有線または無線の任意のタイプのネットワークインタフェース(例えば、ネットワークインターフェースカード(NIC))の1つまたは複数、例えば、IEEE802.11無線構内ネットワーク(WLAN)無線インタフェ
ース、ワイマックス(Wi-MAX)インタフェース、イーサネットインタフェース、ユニバーサルシリアルバス(USB)インタフェース、セルラーネットワークインタフェース、ブルートゥースインタフェース、近距離無線通信(NFC)インタフェースなどを含む。
【0039】
本願の一実施例において、計算機器100の上記部品、及び
図1に示さない他の部品は、例えばバスで互いに接続することができる。
図1に示す計算機器のブロック構成図は、例示に過ぎず、本明細書の範囲を限定するものではないことを理解すべきである。当業者であれば、必要に応じて他の部品を追加または交換してもよい。
【0040】
計算機器100は、任意のタイプの据え置き型または携帯型計算機器であり、携帯型コンピュータまたは携帯型計算機器(例えば、タブレットコンピュータ、パーソナルデジタルアシスタント、ラップトップコンピュータ、ノートパソコン、ネットブックなど)、携帯電話(例えば、スマートフォン)、ウェアラブル計算機器(例えば、スマートウォッチ、スマートグラスなど)または他のタイプの携帯機器、或いは、例えばデスクトップパソコンまたはPCなどの据え置き型計算機器を含む。計算機器100は、携帯型または据え置き型のサーバーであってもよい。
【0041】
プロセッサ120は、
図2に示す方法におけるステップを実行できる。
図2は、本願の一実施例に係る画像キャプションの方法の模式的フローチャートであって、ステップ201からステップ204を含む。
【0042】
ステップ201:複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得する。
【0043】
具体的には、第1特徴抽出モデルは複数であってもよい。本願では、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行う。第1特徴抽出モデルのタイプは、VGG(Visual Geometry Group Network)、Resn
etモデル、Densnetモデル、inceptionv3モデルなどの畳み込みネットワークモデルを含んでもよい。
【0044】
一可能な実施形態として、複数の第1特徴モデルが抽出した画像特徴のサイズは同じである。第1特徴モデルの畳み込み層のパラメータを設定することにより、画像特徴のサイズを調整できる。サイズが同じであることに加えて、各画像特徴のチャンネル数も同じでもよい。例えば、抽出された画像特徴のダイメンションは224*224*3と表してもよい。その中、224*224は、画像特徴の高さ*幅を、即ち画像特徴のサイズを表す。3は、チャンネル数であり、即ち画像特徴の個数である。一般的に、入力された画像の高さと幅は等しく、畳み込み層の畳み込みカーネルのサイズは実際のニーズに応じて設定されることができ、通常に使用される畳み込みカーネルが1*1*1、3*3*3、5*5*5、7*7*7などである。
【0045】
一可能な実施形態として、複数の第1特徴モデルに生成された画像特徴のサイズはいずれも同じであるが、画像特徴の個数(チャンネル数)は互いに異なってもよい。例えば、1番目の第1特徴抽出モデルに生成された画像特徴はP*Q*L1であり、つまり、画像特徴はL1個であり、画像特徴のサイズはP*Qである。2番目の第1特徴抽出モデルに生成された画像特徴はP*Q*L2であり、つまり、画像特徴がL2個であり、画像特徴のサイズはP*Qである。P*Qは画像特徴の高さ*幅であり、L1とL2のそれぞれは1番目の第1特徴モデルと2番目の第1特徴モデルに生成された画像特徴の個数である。
【0046】
202:複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、ターゲット画像に対応する大域画像特徴を生成する。
【0047】
ポアソン融合方法、加重平均法、フェザーアルゴリズム、ラプラシアン融合アルゴリズム、自己注意アルゴリズム等によって、各第1特徴抽出モデルに生成された画像特徴を融合処理して、ターゲット画像に対応する大域画像特徴を取得する。
【0048】
一可能な実施形態として、ステップ202は以下のステップを含む。
【0049】
S2021:複数の第1特徴抽出モデルに生成された画像特徴のそれぞれに対して対応する第1自己注意層によって特徴抽出を行って、複数の中間特徴を取得する。
【0050】
第1自己注意層はマルチヘッド自己注意層とフィードフォワード層とを含む。このステップにおいて、第1自己注意層の個数と第1特徴抽出モデルの個数は同じである。
【0051】
各第1特徴抽出モデルは、それぞれに応じた第1自己注意層に対応してもよい。例えば、5つの第1特徴抽出モデルを例として、当該5つの第1特徴モデルはいずれも同じ画像を処理して対応する画像特徴を生成する。そして、各第1特徴抽出モデルに生成された画
像特徴のそれぞれに対して対応する第1自己注意層によって特徴抽出を行って、生成した中間特徴を取得する。
【0052】
S2022:複数の中間特徴をスティッチングして、初期大域特徴を生成する。
【0053】
スティッチング処理は、contact関数を呼び出すことで実現できる。
【0054】
例えば、5つの第1特徴抽出モデルを例として、5つの第1特徴抽出モデルに対応する第1自己注意層が生成した中間特徴をスティッチング処理して、1つの初期大域特徴を生成する。例えば、1番目の第1特徴抽出モデルに対応する第1自己注意層は、A1個の中間特徴を生成し、中間特徴のサイズがP*Qである。2番目の第1特徴抽出モデルに対応する第1自己注意層は、A2個の中間特徴を生成し、中間特徴のサイズがP*Qである。3番目の第1特徴抽出モデルに対応する第1自己注意層は、A3個の中間特徴を生成し、中間特徴のサイズがP*Qである。4番目の第1特徴抽出モデルに対応する第1自己注意層は、A4個の中間特徴を生成し、中間特徴のサイズがP*Qである。5番目の第1特徴抽出モデルに対応する第1自己注意層は、A5個の中間特徴を生成し、中間特徴のサイズがP*Qである。それで、スティッチング処理された初期大域特徴は、(A1+A2+A3+A4+A5)個の特徴を含む。
【0055】
このステップにおいて、複数の中間特徴をスティッチングするが、更なる融合処理をしないため、中間特徴に比べて、生成された初期大域特徴は、特徴間の関係は変化しないことが理解できる。これは、初期大域特徴の特徴が一部重複し、このような特徴が後続するステップにおいてさらに処理されることも意味する。
【0056】
S2023:少なくとも1つの第2自己注意層によって初期大域特徴に対して融合処理を行って、大域画像特徴を生成する。
【0057】
第2自己注意層はマルチヘッド自己注意層とフィードフォワード層とを含む。このステップにおいて、第2自己注意層の個数は複数であってもよく、実際のニーズに応じてカスタマイズで設定されてよい。
【0058】
一実施形態として、第2自己注意層の構成と第1自己注意層の構成とは同じであってもよい。その目的は、いずれも、後続するステップにおいて処理すべくベクトルを抽出するように、入力されたベクトルに対して自己注意処理を行うことである。しかし、第1自己注意層と第2自己注意層とがいずれも複数である場合、複数の第1自己注意層は、並行に各第1特徴抽出モデルに生成された画像特徴を処理するが、第2自己注意層は、順次に初期大域特徴を一層ずつ処理すること、という点で異なる。
【0059】
複数の中間特徴によってスティッチングして生成した初期大域特徴は、第2自己注意層によって融合処理を行って、異なる特徴間の相互融合を促進する。
【0060】
例えば、初期大域特徴に含まれているCクラスの特徴C1とCクラスの特徴C2とに対して、両者の関連性は比較的に強い。第2自己注意層によって融合処理を行うプロセスでは、第2自己注意層は関連性の強い特徴C1とC2に注目し、特徴C1とC2を融合して特徴C1'を得る。
【0061】
また、例えば、初期大域特徴は、複数の重複なDクラスの特徴D1を含む。第2自己注意層によって融合処理を行うプロセスでは、第2自己注意層は複数の重複な特徴D1に注目し、複数の重複な特徴D1を1つのDクラスの特徴D1に生成する。
【0062】
本実施例において、例えば、ポアソン融合方法、加重平均法、フェザーアルゴリズム、ラプラシアン融合アルゴリズム、自己注意アルゴリズム等、多くの特徴融合の方法がある。本実施例では、自己注意アルゴリズムを用いることが好ましい。
【0063】
例えば、キーバリューペア(key-value)で入力情報を表することができる。アドレスKeyはキーを表し、valueは当該キーに対応するバリューを表す。「キー」は注意力分布を計算することに用いられ、「バリュー」は集約情報を計算することに用いられる。これで、n個の入力情報は、(K,V)= [(k1,v1),(k2,v2),...,(k
n,vn)]と表することができる。
【0064】
具体的に、まず、式(1)によって、QueryとKeyとの類似度を計算する。
【数1】
ここで、Siは注意力スコアであり、
QはQueryであって、クエリベクトルであり、
kiは各keyベクトルに対応する。
【0065】
そして、式(2)によって、softmax関数で注意力スコアに対して数値変換を行う。正規化を行って、全ての重み係数の和が1である確率分布を得ることができる。一方で、softmax関数の特性で重要な要素の重みを強調することもできる。
【数2】
ここで、αiは重み係数である。
【0066】
最後に、式(3)によって、重み係数に基づき、valueに対して加重加算を行う。
【数3】
ここで、v_iはvalueベクトルである。
【0067】
自己注意計算によって、(A1+A2+A3+A4+A5)個の特徴を含む初期大域特徴に対して第2自己注意層で融合処理を行って、A’個の特徴の大域画像特徴を得ることができる。一般的に、A'は(A1+A2+A3+A4+A5)の以下である。
【0068】
203:第2特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、ターゲット画像に対応するターゲット検出特徴を取得する。
【0069】
本願では、ターゲット画像に対して局所情報の抽出を実現するように、第2特徴モデルは、ターゲット検出特徴モデルであることができる。
【0070】
このステップ203において、画像中の関心領域を識別するために、第2特徴抽出モデルとして、Faster-RNN(Faster Regions with CNN features)モデルを選択してよい。そして、設定された閾値によって、複数の関心領域に対応する関心枠の重ね合わせを許可する。これにより、画像コンテンツをさらに効果的に理解できる。
【0071】
Faster-RNNがターゲット検出特徴を抽出することは、主に以下のステップを
含む。
1)特徴抽出:ターゲット画像全体を入力として、ターゲット画像の特徴層を取得する。2)候補領域:選択調査(Selective Search)等の方法によって、ター
ゲット画像から関心領域を抽出し、これらの関心領域に対応する関心枠を一つずつ最後の特徴層に投影する。
3)領域正規化:特徴層の各候補領域の候補枠に対してプーリング操作を行って、固定サイズの特徴表現を取得する。
4)分類:2つの全結合層によって、それぞれSoftmax多分類関数を用いてターゲット識別を行って、最終的なターゲット検出特徴を取得する。
【0072】
204:ターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文をターゲット画像のキャプション文とする。
【0073】
翻訳モデルは、エンコーダとデコーダとを含む。翻訳モデルは、例えば、Transformerモデル、RNNモデル等、多種類がある。本実施例は、出力した文をより正確させるために、Transformerモデルを用いることが好ましい。
【0074】
RNNモデルと比べ、Transformerモデルは、ループが必要なく、入力ターゲット画像に対応する大域画像特徴とターゲット検出特徴を並行に処理するとともに、自己注意メカニズムにより特徴を互いに融合する。Transformerモデルは、RNNよりトレーニング速度がはるかに速く、翻訳結果もRNNの翻訳結果に比べてより正確である。
【0075】
一実施形態として、翻訳文は、複数の翻訳単語を含んでもよい。デコーダにとって、1回の復号で1つの翻訳単語が得られる。前記翻訳文の1番目の翻訳単語にとって、前記参照復号化ベクトルは事前設定の初期復号化ベクトルであり、前記翻訳文の1番目の翻訳単語以外の他の翻訳単語にとって、その参照復号化ベクトルは1つ前の翻訳単語に対応する復号化ベクトルである。
【0076】
本願に提供した画像キャプションの方法は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得し、複数の第1特徴抽出モデルに生成された画像特徴を融合してターゲット画像に対応する大域画像特徴を生成する。これは、単一の特徴抽出モデルがモデル自身の性能に依存し過ぎるという欠陥を克服し、従来技術である単一の特徴抽出モデルによる画像特徴に比べて、単一の特徴抽出モデルが抽出した画像特徴の性能が単一であるという欠陥を緩和できる。これにより、後続するターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して翻訳文を生成するプロセスでは、より豊富な画像情報を含む大域画像特徴を参照とし、出力した翻訳文をより正確にすることができる。
【0077】
本願の一実施例の画像キャプションの方法は、
図3に示すように、以下のステップをさらに含んでもよい。
301:複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得する。
302:複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、ターゲット画像に対応する大域画像特徴を生成する。
303:第2特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、ターゲット画像に対応するターゲット検出特徴を取得する。
【0078】
ステップ301~303については、前述した実施例におけるステップ201~203と同じであり、詳細的な説明は前述した実施例に参照することができるため、ここで繰り
返し説明しない。
【0079】
304:ターゲット検出特徴と大域画像特徴とを翻訳モデルのエンコーダに入力して、エンコーダの出力の符号化ベクトルを生成する。
【0080】
好ましくは、エンコーダは、1つの符号化層を含んでよいが、複数の符号化層を含んでもよい。本実施例は、エンコーダはN個の順次接続された符号化層を含むことを例として説明し、N>1である。ステップ304は、以下のステップS3041~S3044を含む。
【0081】
S3041:前記ターゲット検出特徴と大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得する。
S3042:i-1番目の符号化層の出力ベクトルと大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得し、2≦i≦Nである。
S3043:iがNに等しいかどうかを判断する。等しくない場合はiを1だけインクリメントしてステップS3042を実行し、等しい場合はステップS3044を実行する。
S3044:N番目の符号化層の出力ベクトルをエンコーダが出力する符号化ベクトルとする。
【0082】
大域画像特徴と1番目の符号化層の出力ベクトルとを2番目の符号化層に入力し、2番目の符号化層の出力ベクトルを取得する。大域画像特徴と2番目の符号化層の出力ベクトルとを3番目の符号化層に入力し、3番目の符号化層の出力ベクトルを取得する。このように、N番目の符号化層の出力ベクトルが得られるまで続けられる。
【0083】
本願の実施例では、符号化層側において、大域画像特徴を各符号化層に入力して、各符号化層の処理においてターゲット検出特徴にいずれも大域画像特徴を融合することで、ターゲット検出特徴の特徴表現を強化する。
【0084】
一可能な実施形態として、
図4を参照して、符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含む。
ステップS3041は、前記ターゲット検出特徴を第1符号化自己注意層に入力して、第1中間ベクトルを取得することと、第1中間ベクトルと大域画像特徴とを第2符号化自己注意層に入力して、第2中間ベクトルを取得することと、前記第2中間ベクトルを第1フィードフォワード層により処理して、1番目の符号化層の出力ベクトルを取得することとを含む。
【0085】
ステップS3042は、前記i-1番目の符号化層の出力ベクトルを第1符号化自己注意層に入力して、第3中間ベクトルを取得することと、第3中間ベクトルと大域画像特徴とを第2符号化自己注意層に入力して、第4中間ベクトルを取得することと、前記第4中間ベクトルを第1フィードフォワード層により処理して、i番目の符号化層の出力ベクトルを取得することとを含む。
【0086】
305:符号化ベクトルと大域画像特徴とをデコーダに入力して、デコーダの出力の復号化ベクトルを生成する。
【0087】
好ましくは、デコーダは、1つの復号化層を含んでよいが、複数の復号化層を含んでもよい。本実施例は、デコーダはM個の順次接続された復号化層を含むことを例として説明し、M>1である。
【0088】
ステップ305は、以下のステップS3041~S3054を含む。
S3051:参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得し、
前記翻訳文の1番目の翻訳単語にとって、前記参照復号化ベクトルは初期復号化ベクトルであり、
前記翻訳文の他の翻訳単語にとって、前記参照復号化ベクトルは1つ前の翻訳単語に対応する復号化ベクトルである。
【0089】
S3052:j-1番目の復号化層の出力ベクトルと、符号化ベクトルと、大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得し、2≦j≦Mである。
【0090】
S3053:jがMに等しいかどうかを判断し、等しくない場合はjを1だけインクリメントしてステップS3052を実行し、等しい場合はステップS3054を実行する。
【0091】
S3054:M番目の復号化層の出力ベクトルをデコーダが出力する復号化ベクトルとする。
【0092】
符号化ベクトルと、大域画像特徴と1番目の復号化層の出力ベクトルとを2番目の復号化層に入力して、2番目の復号化層の出力ベクトルを取得する。符号化ベクトルと、大域画像特徴と2番目の復号化層の出力ベクトルとを3番目の復号化層に入力して、3番目の復号化層の出力ベクトルを取得する。このように、M番目の復号化層の出力ベクトルを取得するまで続けられる。
【0093】
本願の実施例では、大域画像特徴をデコーダの各復号化層に入力する。これにより、各復号化層の復号化のプロセスでは、豊富な画像情報を含む大域画像特徴を背景情報とすることができ、復号化によって得られた復号化ベクトルと画像情報との対応度をより高くし、出力した翻訳文をより正確にすることができる。
【0094】
一可能な実施形態として、
図5を参照して、復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と第2フィードフォワード層とを含む。
【0095】
ステップS3051は、参照復号化ベクトルを前記第1復号化自己注意層により処理して、第5中間ベクトルを取得することと、第5中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第6中間ベクトルを取得することと、第6中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第7中間ベクトルを取得することと、第7中間ベクトルを第2フィードフォワード層により処理して、1番目の復号化層の出力ベクトルを取得することとを含む。
【0096】
ステップS3052は、j-1番目の復号化層の出力ベクトルを前記第1復号化自己注意層により処理して、第8中間ベクトルを取得することと、第8中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第9中間ベクトルを取得することと、第9中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第10中間ベクトルを取得することと、第10中間ベクトルを第2フィードフォワード層により処理して、j番目の復号化層の出力ベクトルを取得することを含む。
【0097】
306:デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、翻訳文をターゲット画像のキャプション文とする。
【0098】
一可能な実施形態として、前記デコーダの出力の復号化ベクトルに基づいて対応する翻
訳単語を生成し、前記翻訳単語に基づいて翻訳文を生成する。
【0099】
好ましくは、翻訳文は、複数の翻訳単語を含んでもよい。デコーダにとって、1回の復号化で1つの翻訳単語が得られる。前記翻訳文の1番目の翻訳単語にとって、前記参照復号化ベクトルは事前設定の初期復号化ベクトルであり、前記翻訳文の1番目の翻訳単語以外の他の翻訳単語にとって、その参照復号化ベクトルは1つ前の翻訳単語に対応する復号化ベクトルである。
【0100】
本願に提供した画像キャプションの方法は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得し、複数の第1特徴抽出モデルに生成された画像特徴を融合してターゲット画像に対応する大域画像特徴を生成する。これは、単一の特徴抽出モデルがモデル自身の性能に依存し過ぎるという欠陥を克服し、従来技術である単一の特徴抽出モデルによる画像特徴に比べて、単一の特徴抽出モデルが抽出した画像特徴の性能が単一であるという欠陥を緩和できる。これにより、後続するターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して翻訳文を生成するプロセスでは、より豊富な画像情報を含む大域画像特徴を参照とし、出力した翻訳文をより正確にすることができる。
【0101】
次に、本実施例は、複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行い、複数の第1特徴抽出モデルが抽出した画像特徴をスティッチングして、初期大域特徴を取得する。これにより、初期大域特徴にできるだけターゲット画像の特徴をより完全に含める。そして、複数の第2自己注意層により融合を行って、注目すべきターゲット領域を取得する。その後、この領域に対して、より多くの注意計算リソースを投入し、より多くのターゲット画像に関する詳細情報を取得し、他の無関係な情報を無視する。このようなメカニズムによって、限られる注意計算リソースを利用して大量の情報から価値が高い情報を素早く選出して、より豊富な画像情報を含む大域画像特徴を得ることができる。
【0102】
さらに、この方法は、大域画像特徴をデコーダの各復号化層に入力する。これにより、各復号化層の復号化のプロセスでは、豊富な画像情報を含む大域画像特徴を背景情報とすることができ、復号化によって得られた復号化ベクトルと画像情報との対応度をより高くし、出力した翻訳文をより正確にすることができる。
【0103】
本実施例の画像キャプションの方法は、エンコーダ-デコーダという機械翻訳モデルに適用する。本願の画像キャプション的方法をより明確に説明するために、
図6を参照して、Transformer翻訳モデルを例として模式的な説明をする。
図6には、VGG、Resnet、Densnet、inceptionv3という4つの第1特徴抽出モデルと、4つの第1自己注意層と、K個の第2自己注意層と、1つの第2特徴抽出モデルと、Transformer翻訳モデルとを含む。Contactはcontact関数と指し、リンク関数の一種である。
【0104】
本実施例の画像キャプションの方法は、以下のステップS61~S68を含む。
S61:4つの第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1特徴抽出モデルに生成された画像特徴を取得する。
【0105】
S62:4つの第1特徴抽出モデルに生成された画像特徴のそれぞれに対して対応する第1自己注意層により処理して、生成した中間特徴を取得する。
対応する第1自己注意層により1番目の第1特徴抽出モデルに生成された画像特徴を処理して、A1個の中間特徴を取得し、中間特徴のサイズはP*Qである。対応する第1自己注意層により2番目の第1特徴抽出モデルに生成された画像特徴を処理して、A2個の
中間特徴を取得し、中間特徴のサイズはP*Qである。対応する第1自己注意層により3番目の第1特徴抽出モデルに生成された画像特徴を処理して、A3個の中間特徴を取得し、中間特徴のサイズはP*Qである。対応する第1自己注意層により4番目の第1特徴抽出モデルに生成された画像特徴を処理して、A4個の中間特徴を取得し、中間特徴のサイズはP*Qである。
【0106】
S63:4つの中間特徴をスティッチングして、初期大域特徴を生成する。
4つの中間特徴をスティッチングして、(A1+A2+A3+A4)個の特徴を含む初期大域特徴を生成する。
【0107】
S64:K個の第2自己注意層によって初期大域特徴に対して融合処理を行って、大域画像特徴を生成する。
本実施例において、K=3である。
(A1+A2+A3+A4)個の特徴を含む初期大域特徴に対して融合処理を行って、A'個の特徴を含む大域画像特徴を生成する。一般的に、A'≦(A1+A2+A3+A4)である。
【0108】
S65:第2特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、ターゲット画像に対応するターゲット検出特徴を取得する。
本実施例では、第2特徴抽出モデルがFaster RNN(Faster Regions with CNN features)モデルである。
【0109】
S66:ターゲット検出特徴と大域画像特徴とをTransformer翻訳モデルのエンコーダに入力して、エンコーダの出力の符号化ベクトルを生成する。
【0110】
S67:参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とをデコーダに入力して、デコーダの出力の復号化ベクトルを生成する。
エンコーダはN個の符号化層を含み、デコーダはM個の復号化層を含む。
【0111】
S68:デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、前記翻訳文を前記ターゲット画像のキャプション文とする。
【0112】
キャプション文は、Transformerモデルの性能に応じて、異なる種類のキャプション文が出力されてよい。Transformerモデルの性能は、サンプル集合のトレーニングによって形成されることができる。例えば、サンプル集合は、「中国語翻訳待ち文+フランス語翻訳文」の集合や、「英語翻訳待ち文+日本語翻訳文」の集合または「画像特徴+英語翻訳文」の集合である。本実施例には、Transformerモデルの性能が入力された画像特徴に基づいて翻訳して英語の翻訳文を生成することを例として説明する。
【0113】
好ましくは、入力された初期参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とに応じて、デコーダは復号化ベクトルを出力し、1番目の単語「a」が得られる。1番目の単語「a」に対応するベクトルを参照として、2番目の単語「boy」を復号化する。2番目の単語「boy」に対応するベクトルを参照復号化ベクトルとして、デコーダが参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とに応じて次の単語「play」が得られる……このように、キャプション文「A boy play football on football field」が得られる。
【0114】
図7を参照して、本願の一実施例は、
複数の第1特徴抽出モデルを用いてターゲット画像に対して特徴抽出を行って、各第1
特徴抽出モデルに生成された画像特徴を取得するように構成されている、特徴抽出モジュール701と、
前記複数の第1特徴抽出モデルに生成された画像特徴に対して融合処理を行って、前記ターゲット画像に対応する大域画像特徴を生成するように構成されている、大域画像特徴抽出モジュール702と、
第2特徴抽出モデルを用いて前記ターゲット画像に対して特徴抽出を行って、前記ターゲット画像に対応するターゲット検出特徴を取得するように構成されている、ターゲット検出特徴抽出モジュール703と、
前記ターゲット画像に対応する大域画像特徴とターゲット検出特徴とを翻訳モデルに入力して、生成された翻訳文を前記ターゲット画像のキャプション文とするように構成されている、翻訳モジュール704とを含む、画像キャプションの装置をさらに提供する。
【0115】
好ましくは、大域画像特徴抽出モジュール702は、具体的に、
前記複数の第1特徴抽出モデルに生成された画像特徴のそれぞれに対して対応する第1自己注意層によって特徴抽出を行って、複数の中間特徴を取得し、
複数の中間特徴をスティッチングして、初期大域特徴を生成し、
少なくとも1つの第2自己注意層によって初期大域特徴に対して融合処理を行って、大域画像特徴を生成するように構成されている。
【0116】
好ましくは、翻訳モデルはエンコーダとデコーダとを含み、
前記翻訳モジュール704は、
前記ターゲット検出特徴と大域画像特徴とを前記翻訳モデルのエンコーダに入力して、前記エンコーダの出力の符号化ベクトルを生成するように構成されている、符号化モジュールと、
前記符号化ベクトルと前記大域画像特徴とをデコーダに入力して、前記デコーダの出力の復号化ベクトルを生成するように構成されている、復号化モジュールと、
前記デコーダの出力の復号化ベクトルに基づいて対応する翻訳文を生成し、前記翻訳文を前記ターゲット画像のキャプション文とするように構成されている、文生成モジュールとを含む。
【0117】
好ましくは、前記エンコーダはN個の順次接続された符号化層を含み、Nは1より大きい整数であり、
符号化モジュールは、
前記ターゲット検出特徴と大域画像特徴とを1番目の符号化層に入力して、1番目の符号化層の出力ベクトルを取得するように構成されている、第1処理手段と、
i-1番目の符号化層の出力ベクトルと大域画像特徴とをi番目の符号化層に入力して、i番目の符号化層の出力ベクトルを取得するように構成されており、2≦i≦Nである、第2処理手段と、
iがNに等しいかどうかを判断し、等しくない場合はiを1だけインクリメントして第2処理手段を実行し、等しい場合は符号化ベクトル生成手段を実行するように構成されている、第1判断手段と、
N番目の符号化層の出力ベクトルをエンコーダの出力の符号化ベクトルとするように構成されている、符号化ベクトル生成手段と、を含む。
【0118】
好ましくは、符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、第1処理手段は具体的に、前記ターゲット検出特徴を第1符号化自己注意層に入力して、第1中間ベクトルを取得し、第1中間ベクトルと大域画像特徴とを第2符号化自己注意層に入力して、第2中間ベクトルを取得し、前記第2中間ベクトルを第1フィードフォワード層により処理して、1番目の符号化層の出力ベクトルを取得するように構成されている。
【0119】
好ましくは、符号化層は、第1符号化自己注意層と、第2符号化自己注意層と、第1フィードフォワード層とを含み、
第2処理手段は、具体的に、
前記i-1番目の符号化層の出力ベクトルを第1符号化自己注意層に入力して、第3中間ベクトルを取得し、
第3中間ベクトルと前記大域画像特徴とを第2符号化自己注意層に入力して、第4中間ベクトルを取得し、
第4中間ベクトルを第1フィードフォワード層により処理して、i番目の符号化層の出力ベクトルを取得するように構成されている。
【0120】
好ましくは、デコーダはのM個の順次接続された復号化層を含み、Mは1より大きい整数であり、
前記復号化モジュールは、
参照復号化ベクトルと、符号化ベクトルと、大域画像特徴とを1番目の復号化層に入力して、1番目の復号化層の出力ベクトルを取得するように構成されている、第3処理手段と
j-1番目の復号化層の出力ベクトルと、符号化ベクトルと、大域画像特徴とをj番目の復号化層に入力して、j番目の復号化層の出力ベクトルを取得するように構成されており、2≦j≦Mである、第4処理手段と、
jがMに等しいかどうかを判断し、等しくない場合はjを1だけインクリメントして第4処理手段を実行し、等しい場合は復号化ベクトル生成手段を実行するように構成されている、第2判断手段と、
M番目の復号化層の出力ベクトルをデコーダの出力の復号化ベクトルとするように構成されている、復号化ベクトル生成手段とを含む。
【0121】
好ましくは、前記復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層、と第2フィードフォワード層とを含み、
第3処理手段は、具体的に、
参照復号化ベクトルを第1復号化自己注意層により処理して、第5中間ベクトルを取得し、
第5中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第6中間ベクトルを取得し、
第6中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第7中間ベクトルを取得し、
第7中間ベクトルを第2フィードフォワード層により処理して、1番目の復号化層の出力ベクトルを取得するように構成されている。
【0122】
好ましくは、復号化層は、第1復号化自己注意層と、第2復号化自己注意層と、第3復号化自己注意層と、第2フィードフォワード層とを含み、
第4処理手段は、具体的に、
j-1番目の復号化層の出力ベクトルを前記第1復号化自己注意層により処理して、第8中間ベクトルを取得し、
第8中間ベクトルと前記大域画像特徴とを前記第2復号化自己注意層により処理して、第9中間ベクトルを取得し、
第9中間ベクトルと前記符号化ベクトルとを前記第3復号化自己注意層により処理して、第10中間ベクトルを取得し、
第10中間ベクトルを第2フィードフォワード層により処理して、j番目の復号化層の出力ベクトルを取得するように構成されている。
【0123】
上記は、本実施例の画像キャプションの装置の模式的な技術案である。なお、当該画像キャプションの装置の技術案と上記した画像キャプションの方法の技術案は同じ思想に属し、画像キャプションの装置の技術案に詳しく説明しなかった詳細内容は、いずれも上記した画像キャプションの方法の技術案の説明を参照することができる。
【0124】
本願の一実施例は、コンピューター読み取り可能な記憶媒体をさらに提供する。前記コンピューター読み取り可能な記憶媒体は、コンピュータコマンドが記憶されているコンピューター読み取り可能な記憶媒体であって、当該コマンドがプロセッサによって実行されると上記の画像キャプションの方法のステップを実現する。
【0125】
上記は、本実施例のコンピューター読み取り可能な記憶媒体の模式的な技術案である。なお、当該記憶媒体の技術案と上記した画像キャプションの方法の技術案は同じ思想に属し、記憶媒体の技術案に詳しく説明しなかった詳細内容は、いずれも上記した画像キャプションの方法の技術案の説明を参照することができる。
【0126】
本願の一実施例は、コンピュータープログラム製品をさらに提供する。前記コンピュータープログラム製品は、実行されると、上記の画像キャプションの方法のステップを実現する。
【0127】
前記コンピュータコマンドは、コンピュータプログラムコードを含む。前記コンピュータプログラムコードはソースコードの形式、オブジェクトコードの形式、実行可能なファイルまたはある中間形式等であってもよい。前記コンピュータ読み取り可能な媒体は、前記コンピュータプログラムコードを記録できる何らかの実装体または装置、記録媒体、
USBメモリ、リムーバブルハードドライブ、磁気ディスク、光ディスク、コンピュータメモリ、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気キャリア信号、通信信号及びソフトウェア配布媒体等を含んでもよい。なお、前記コンピュータ読み取り可能な媒体に含まれるコンテンツは、法域内の立法と特許実務の要件にしたがって適当に増減してもよく、例えばいくつかの法域に、立法と特許実務にしたがってコンピュータ読み取り可能な媒体は電気キャリア信号と通信信号を含まない。
【0128】
なお、前述した各方法の実施例に対して、説明の便宜上、一連の動作の組み合わせとして説明したが、本願によれば、いくつかのステップは他の順序にしたり、同時に行ったりしてもよいので、本願は説明した動作の順序に制限されないことは、当業者が理解すべきである。次に、明細書に説明した実施例が好ましい実施例であり、かかる動作とモジュールが本願に必ずしも必要ではないことは、当業者が理解すべきである。
【0129】
以上の実施例において、各実施例の説明はそれぞれ強調されるものがあり、一実施例に詳しく説明しなかった部分については、他の実施例の関連説明を参照すればよい。
【0130】
以上開示した本願の好ましい実施例は、本願の説明を補助するものに過ぎない。任意選択的な実施例は、全部の詳細が記載されているわけではなく、本出願を前記実施形態に制限するものでもない。無論、明細書の内容に応じて、多くの修正及び変形を行うことが可能である。本願の原理と実際的な応用をより明確に説明して、当業者を本願をより十分に理解し利用させるために、本明細書はこれらの実施例を選出して具体的に説明する。本願は、請求の範囲とその全ての内容及び同等なもののみによって制限される。
【国際調査報告】