(57)【要約】【課題】画像と、当該画像に関連性のあるテキストと、の両方に対してデータ拡張を行うデータ拡張装置を提案する【解決手段】データ拡張装置は、画像データと、前記画像データに関するテキストデータと、を備えるデータセットが入力される、入力部と、前記画像データについて画像処理を実行する、画像処理部と、前記画像処理の内容に基づいて、前記テキストデータを編集する、テキスト編集部と、前記画像処理された前記画像データと、編集された前記テキストデータと、を備える、拡張データセットを出力する、出力部と、を備える。【選択図】図１
2019096042.tif 000002
【特許請求の範囲】
【請求項１】
画像データと、前記画像データに関するテキストデータと、を備えるデータセットが入力される、入力部と、
前記画像データについて画像処理を実行する、画像処理部と、
前記画像処理の内容に基づいて、前記テキストデータを編集する、テキスト編集部と、
前記画像処理された前記画像データと、編集された前記テキストデータと、を備える、拡張データセットを出力する、出力部と、
を備えるデータ拡張装置。
【請求項２】
前記テキスト編集部は、
前記テキストデータから、前記画像処理に関する表現を抽出する、表現抽出部と、
抽出した前記画像処理に関する表現を、前記画像処理の内容に基づいて置換する、表現置換部と、
を備える、請求項１に記載のデータ拡張装置。
【請求項３】
前記画像処理部は、前記画像処理として、前記画像データの一部又は全部を、回転させ、上下反転させ、及び、左右反転させる処理のうち少なくとも１つを実行する、請求項２に記載のデータ拡張装置。
【請求項４】
前記表現抽出部は、前記画像データ内における相対的な位置についての表現を抽出する、位置表現抽出部であり、
前記表現置換部は、抽出された相対的な位置についての表現を、前記画像処理の内容に基づいて置換する、位置表現置換部であり、
前記テキスト編集部は、前記画像データ内における相対的な位置についての表現を前記画像処理の内容に基づいて編集する、請求項３に記載のデータ拡張装置。
【請求項５】
前記画像処理部は、前記画像処理として、前記画像データの一部又は全部の色に関する情報を変更する処理を実行する、請求項２乃至請求項４のいずれかに記載のデータ拡張装置。
【請求項６】
前記表現抽出部は、前記画像データ内における色についての表現を抽出する、色表現抽出部であり、
前記表現置換部は、抽出された色表現を、前記画像処理の内容に基づいて置換する、色表現置換部であり、
前記テキスト編集部は、前記画像データ内における色についての表現を、前記画像処理の内容に基づいて編集する、請求項５に記載のデータ拡張装置。
【請求項７】
前記画像処理の内容に基づいて、前記テキスト編集部において前記テキストデータの編集ができない場合には、前記画像処理部は、前記画像処理を実行しない、請求項２乃至請求項６のいずれかに記載のデータ拡張装置。
【請求項８】
前記テキスト編集部は、前記表現抽出部が前記画像データに関する表現を抽出できない場合、又は、前記表現置換部が前記画像処理の内容に基づいて表現を置換できない場合に、前記テキストデータの編集ができないと判断する、請求項７に記載のデータ拡張装置。
【請求項９】
画像データと、前記画像データに関するテキストデータと、を備えるデータセットを入力し、
前記画像データについて画像処理を実行し、
前記画像処理の内容に基づいて、前記テキストデータを編集し、
前記画像処理された前記画像データと、編集された前記テキストデータと、を備える、拡張データセットを出力する、
データ拡張方法。
【請求項１０】
コンピュータに、
画像データと、前記画像データに関するテキストデータと、を備えるデータセットを入力する手段、
前記画像データについての画像処理を実行する手段、
前記画像処理の内容に基づいて、前記テキストデータを編集する手段、
前記画像処理された前記画像データと、編集された前記テキストデータと、を備える拡張データセットを出力する手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ拡張装置、データ拡張方法及びプログラムに関する。
【背景技術】
【０００２】
機械学習を行う際に、訓練データの普遍性を確保したい変形を施した拡張データを利用し、訓練データに対するオーバーフィッティングを抑制することがある。これらの手法は、データオーグメンテーションと呼ばれ、主に画像認識又は音声認識の分野で利用されることが多い。普遍性を確保する変形として、特に画像認識の分野においては、画像の切り出し、フリップ又は色ノイズを追加することが行われている。
【０００３】
また、機械学習の応用分野として、画像を認識して物体をピックアップし、相対的な位置を指定して移動させる研究開発が広く行われている。このように物体を移動させる場合、物体の位置関係について、テキストデータを用いた訓練データを用いて学習を行う必要がある。しかしながら、従来のデータオーグメンテーション手法では、画像に写っているものとテキストデータの双方について、矛盾のないように自然にデータを拡張することが困難である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２５２５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、画像と、当該画像に関連性のあるテキストと、の両方に対してデータ拡張を行うデータ拡張装置を提案する。
【課題を解決するための手段】
【０００６】
一実施形態に係るデータ拡張装置は、画像データと、前記画像データに関するテキストデータと、を備えるデータセットが入力される、入力部と、前記画像データについて画像処理を実行する、画像処理部と、前記画像処理の内容に基づいて、前記テキストデータを編集する、テキスト編集部と、前記画像処理された前記画像データと、編集された前記テキストデータと、を備える拡張データセットを出力する、出力部と、を備える。
【発明の効果】
【０００７】
画像とテキストの両方に対して矛盾のないデータ拡張を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係るデータ拡張装置の機能を示すブロック図。
【図２】入力データセットの例を示す図。
【図３】一実施形態に係るテキスト編集部の機能を示すブロック図。
【図４】一実施形態に係るデータ拡張処理を示すフローチャート。
【図５】一実施形態に係る拡張データセットの例を示す図。
【図６】一実施形態に係る処理内容と置換内容の対応例を示す図。
【図７】一実施形態に係る拡張データセットの例を示す図。
【図８】一実施形態に係る拡張データセットの例を示す図。
【図９】一実施形態に係る入力データセット及び拡張データセットの例を示す図。
【図１０】一実施形態に係る入力データセット及び拡張データセットの例を示す図。
【図１１】一実施形態に係る処理内容と置換内容の対応例を示す図。
【図１２】一実施形態に係るデータ拡張装置の機能を示すブロック図。
【図１３】一実施形態に係るデータ拡張処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施形態について説明する。
【００１０】
（第１実施形態）
本実施形態では、画像データ及びテキストデータからなるデータセットを拡張する画像処理を行う場合に、当該画像処理の内容にあわせてテキストデータを画像の変換と矛盾しないように自然な言語として編集して、この画像処理後の画像データ及びテキストデータを拡張データセットとして出力しようとするものである。
【００１１】
図１は、本実施形態に係るデータ拡張装置１の機能を示すブロック図である。データ拡張装置１は、入力部１０と、画像処理部１２と、テキスト編集部１４と、出力部１６と、を備える。
【００１２】
入力部１０は、外部からデータの入力を受け付けるインターフェースである。本実施形態においては、入力部１０は、画像データと、当該画像データに関する内容についてのテキストデータと、を備えるデータセットが入力される。
【００１３】
図２は、入力されるデータセットの画像データとテキストデータとを示す図である。データセット２０には、画像データ２０Ｉと、テキストデータ２０Ｔが備えられる。画像データ２０Ｉは、例えば写真であり、物体２０２、２０４、・・・、２１２が撮影されている。テキストデータ２０Ｔは、画像データ２０Ｉの内容に関するテキストであり、例えば、物体２０２について、「左上にある丸いもの」といったデータである。
【００１４】
画像処理部１２は、入力部１０から画像データ２０Ｉを受け取り、画像データ２０Ｉの画像処理を行う。画像処理の内容は、例えば、画像データ２０Ｉの一部又は全部を、回転させ、上下反転させ、左右反転させる処理、或いは、画像データ２０Ｉの一部又は全部の色を変更する処理である。
【００１５】
テキスト編集部１４は、画像処理部１２が実行する画像処理に対して、その内容に適合するようにテキストデータ２０Ｔを編集する。図３は、テキスト編集部１４の機能を示すブロック図である。テキスト編集部１４は、表現抽出部１４０と、表現置換部１４２と、を備える。
【００１６】
表現抽出部１４０は、入力部１０からはテキストデータ２０Ｔを受け取り、画像処理部１２からは画像処理の処理内容を受け取り、テキストデータ２０Ｔから画像処理に関する表現を抽出する。例えば、画像処理部１２が画像を回転、反転させる等、位置関係を変更する処理を行う場合に、位置に関する単語又はフレーズ等を抽出する。図２に示すテキストデータ２０Ｔでは、「左上」という単語、又は、「左上にある」というフレーズを抽出する。抽出方法については、ＫＭＰ法やＢＭ法といった通常のアルゴリズムを用い手もよいし、他の所謂テキストマイニングの手法を用いてもよい。
【００１７】
表現置換部１４２は、表現抽出部１４０から抽出した表現、及び、画像処理部１２からの画像処理の処理内容を受け取り、抽出した画像処理に関する表現を当該画像処理の内容に合わせて置換する。例えば、抽出したデータが「左上」であり、画像処理が右へ９０度回転させる処理である場合には、「左上」の単語を「右上」へと置換する。
【００１８】
なお、画像処理部１２及びテキスト編集部１４の構成については、画像処理部１２が処理内容を決定してテキスト編集部１４へと通知すると説明したがこれには限られない。例えば、データ拡張装置１が図示しない画像処理内容決定部を備え、決定した画像処理の内容を、画像処理部１２及びテキスト編集部１４へとそれぞれ通知するようにしてもよい。また、上記とは逆に、テキスト編集部１４が抽出した表現から画像処理内容を決定し、画像処理部１２へと通知するようにしてもよい。さらに別の例として、入力部１０を介して処理内容もデータセットとして入力され、又は、データセットとともに画像処理内容が入力され、入力部１０が画像処理部１２及びテキスト編集部１４それぞれへと当該処理内容を通知するようにしてもよい。
【００１９】
図１に戻り、出力部１６は、画像処理部１２からは画像処理を行った入力画像データである拡張画像データを、テキスト編集部１４からはテキスト編集を行った入力テキストデータである拡張テキストデータを受け取り、これらのデータを拡張データセットとして外部へと出力する。
【００２０】
図４は、本実施形態に係るデータ拡張装置１の処理の流れを示すフローチャートである。この図４を用いて、データ拡張装置１の詳しい処理について説明する。
【００２１】
まず、入力部１０を介してデータセットが入力される（ステップＳ１００）。データセットが入力された入力部１０は、データセットから画像データとテキストデータとを抽出し、画像データを画像処理部１２へ、テキストデータをテキスト編集部１４へと出力する。なお、本実施形態は、例えば、機械学習を行う前準備としてのデータ拡張のために用いられるので、そのデータセットの量も膨大な数になることがある。このような場合には、スクリプト等により順次データセットを取得して、入力部１０へと自動的に入力されるようにしてもよい。
【００２２】
次に、画像処理部１２は、画像データに対して画像処理の実行をして拡張画像データを生成するとともに、テキスト編集部１４へ実行した処理内容についての通知をする（ステップＳ１０２）。一例として、画像処理は、画像データの位置を変換する処理を行うものとして、以下説明する。画像データの位置を変換するとは、例えば、画像全体を、９０度の整数倍の回転、上下反転、左右反転又はこれらの組み合わせをする処理のことを言う。
【００２３】
画像処理部１２は、これらを自由に組み合わせて少なくとも１つの画像処理を行ってもよいし、あらかじめ決められた画像処理を行ってもよい。あらかじめ決める場合には、ユーザが入力部１０を介してデータ拡張に用いる変換を指定できるようにしてもよい。すなわち、１つの入力データセットに対し、拡張データセットは１つであるとは限られず、複数の拡張データセットが出力されてもよい。画像処理部１２は、実行する処理を、テキスト編集部１４へと通知する。
【００２４】
これらの、実行及び通知のタイミングは、どちらが先であっても構わない。すなわち、画像処理を実行した後に処理内容の通知を行ってもよいし、処理内容を通知した後に画像処理を実行してもよい。さらに、画像処理部１２内に図示しない処理内容決定部と、処理内容通知部と、処理実行部と、を備え、それぞれが処理内容を選択、決定し、通知し、実行するようにしてもよい。
【００２５】
次に、画像処理部１２から処理内容について通知を受けたテキスト編集部１４の表現抽出部１４０は、画像処理内容に関連する表現を抽出する（ステップＳ１０４）。画像処理内容として、位置に関連する処理が実行されている、又は、実行されるので、表現抽出部１４０は、テキストデータ中の位置に関する情報、特に、相対位置に関する情報を抽出する。図２の例では、「左上」又は「左上にある」といったテキストを抽出する。
【００２６】
次に、表現抽出部１４０は、ステップＳ１０４において表現が抽出されたか否かを判定する（ステップＳ１０６）。
【００２７】
表現が抽出されている場合（ステップＳ１０６：ＹＥＳ）、表現置換部１４２は、画像処理部１２から通知された画像処理内容に基づいて、表現抽出部１４０が抽出した画像に関する表現を、所定のルールにしたがい置換する（ステップＳ１０８）。図２において、画像処理の内容が、画像全体を右へ９０度回転である場合、抽出された「左上」（「左上にある」）の表現を「右上」（「右上にある」）と置換し、拡張テキストデータを生成する。このような置換のルールは、表現置換部１４２に記憶されていてもよいし、データ拡張装置１が図示しない表現置換データベースを備え、当該表現置換データベースに記憶されていてもよい。
【００２８】
次に、出力部１６は、画像処理部１２が生成した拡張画像データ及びテキスト編集部１４が生成した拡張テキストデータを備える拡張データセットを出力する（ステップＳ１１０）。
【００２９】
なお、表現が抽出されなかった場合（ステップＳ１０６：ＮＯ）、出力部１６は、表現を置換していない入力テキストデータを拡張テキストデータとして出力してもよい。また、表現が抽出されなかったことをフラグとして拡張データセットに付与して出力するようにしてもよい。フラグを付与することにより、ユーザがフラグのある拡張データセットを用いない、又は、フラグのある拡張データセットを再確認することを促してもよい。
【００３０】
以上の説明において、画像処理は、位置についての画像処理であるので、この場合、表現抽出部１４０は、位置表現抽出部であってもよく、表現置換部１４２は、位置表現置換部であってもよい。
【００３１】
（変換の具体例）
以下、変換の具体例について説明する。
【００３２】
まず、図２に示すデータセットの位置に関する画像処理を行った場合についての拡張データセットについて説明する。図５は、画像データに対して、９０度右回転をする画像処理をする場合の拡張データセットの生成例を示す図である。
【００３３】
入力されたデータセット２０に対して、画像全体を右に９０度回転させた場合、画像データ２０Ｉは、拡張画像データ２１Ｉのように変換される。画像処理に関しては、一般の手法で実行される。この変換は、画像の存在領域に対して、画像全体の相対的な位置関係を変換するものである。そこで、表現抽出部１４０は、画像処理部１２から受けたこの９０度右回転という情報に基づいて、位置に関するテキストデータの編集を行うと判断する。
【００３４】
入力されているテキストデータ２０Ｔは、「右上にある丸いもの」であるので、表現抽出部１４０（位置表現抽出部）は、当該テキストデータ２０Ｔから、位置に関連する情報である「右上」の単語、又は、「右上にある」のフレーズを抽出する。以下、特に断りの無い限り、単語を抽出するものとする。
【００３５】
図６（ａ）は、このような位置に関する単語を置換する対応表である。このような表をデータベースとして表現置換部１４２（位置表現置換部）は記憶している。また、必ずしも表形式ではなくともよく、位置の状態ごとに、あるいは、処理内容ごとに別個に対応付けられて記憶されているものであってもよい。なお、回転に関しては、時計回りに回転する場合について示しているがこれについてもこの限りではない。表には、左上、上、右上、の場合のみが示されているが、これには限られず、他のデータを含んでいる。
【００３６】
また、「上」に対応するものとして、回転においては括弧が付されているが、これは、必ずしも一意的には決定できないこともあると言う意味である。このようなデータの対応については、ユーザがここに対応付けを許可又は不許可とするようにしてもよいし、画像処理部１２が、例えば、上の中央付近の領域にあるものであれば変換するが、それ以外は変換しないとしてテキスト編集部１４へと通知するようにしてもよい。
【００３７】
この図６（ａ）に記載されている置換にしたがい、表現置換部１４２は、回転が９０度である場合の「左上」に対応する表現として「右上」の表現を取得する。そして、抽出された「左上」の単語を「右上」の単語へと置換し、拡張テキストデータ２１Ｔとして、「右上にある丸いもの」というテキストデータを生成する。
【００３８】
出力部１６は、これらの拡張画像データ２１Ｉ及び拡張テキストデータ２１Ｔを備えるデータセットを、拡張データセット２１として、外部へと出力する。
【００３９】
なお、画像データとテキストデータの対応関係は、必ずしも１対１でなくともよい。例えば、物体２０２の他に、物体２０６の学習も行う場合には、同じ画像データ２０Ｉに対して、テキストデータ２０Ｔ’として、「右上にある三角のもの」としておく。そして、上記と同様に変換し、拡張テキストデータ２１Ｔ’として、「右下にある三角のもの」を生成する。この場合、出力部１６は、生成された拡張画像データ２１Ｉ及び拡張テキストデータ２１Ｔ’を拡張データセット２１’として出力する。
【００４０】
別の出力例としては、拡張テキストデータ２１Ｔ及び拡張テキストデータ２１Ｔ’を併せて拡張画像データ２１Ｉとセットとし、拡張データセット２１として、画像１枚に対して複数のテキストデータを対応させたデータセットを出力するようにしてもよい。
【００４１】
さらに別の例としては、拡張テキストデータ２１Ｔ’を備える拡張データセット２１’には、拡張画像データ２１Ｉ自体は備えられず、拡張データセット２１内の拡張画像データ２１Ｉへの紐付け関係を拡張データセット２１’に備えるようにして、データの記憶容量を削減するようにしてもよい。
【００４２】
図６（ｂ）の表は、相対的な位置表現を示す別の例を示すものである。このように、上下左右以外の表現に対応していてもよい。例えば、図６（ｂ）に示すように、時計を用いた相対位置の表現、別の例としては東西南北の方角を用いた相対位置の表現等、他の表現を用いる場合にも対応表を作成しておくことにより、表現の抽出及び表現の置換が可能となる。
【００４３】
図７は、別の例の画像処理をした場合の拡張データセット２２を示す図である。図７においては、画像処理を画像全体の上下反転処理、としたものである。物体２０２は、拡張画像データにおいては、上下反転された位置、すなわち、左下に位置している。テキストデータ２０Ｔは、「左上にある丸いもの」であるので、上記と同様に、まず、「左上」が抽出される。そして、図６（ａ）に示す対応表にしたがい、「左上」の「上下反転」表現から「左下」と置換され、「左下にある丸いもの」という拡張テキストデータ２２Ｔが生成される。
【００４４】
これらの位置を変更する画像処理は、組み合わせて用いられてもよい。図８は、画像全体の位置を変更する画像処理を組み合わせて拡張画像データを生成したものである。拡張画像データ２３Ｉは、画像データ２０Ｉに対して、右へ９０度回転した後に、左右を反転したものである。別の表現としては、左へ９０度回転した後に、上下を反転したものである。ここでは、右へ９０度回転した後に、左右を反転したものであると考える。
【００４５】
まず、表現抽出部１４０は、上記と同様に、「左上」を位置表現として抽出する。図６（ａ）の対応表にしたがい、右へ９０度回転させ、「左上」の表現は、「右上」の表現へと置換される。続いて、左右を反転させ、この「右上」の表現は、「左上」の表現へと置換される。結果的に生成される拡張テキストデータ２３Ｔは、「左上にある丸いもの」となる。
【００４６】
なお、図８の拡張画像データを生成する画像処理は、画像領域が正方形である場合、左上から右下に向かう対角線に対して画像全体を反転させたものとしてもよい。画像領域が正方形では無い場合、所定の点（画像の左上の点又は中心点等）を通る４５度の直線に対して画像全体を反転させたものとしてもよい。このような変形に対しても対応表を用意しておき、対応表にしたがい表現を置換してもよい。
【００４７】
このような組み合わせは、さらに一般化することが可能である。このような画像の変換は、中心点を設定した後、その点を中心とした一次変換で表すことができる。この一次変換の行列を、例えば、上下反転を表す行列をＴｖ、左右反転を表す行列をＴｈ、θ度時計回りへ回転変換を表す行列をＲ（θ）とした場合に、上記説明したような変換は、Ｔｖ（＝［［１  ０］［０  −１］］）、Ｔｈ（＝［［−１  ０］［０  １］］）及びＲ（θ）（＝［［ｃｏｓ（θ°）  ｓｉｎ（θ°）］［−ｓｉｎ（θ°）  ｃｏｓ（θ°）］］の組み合わせとして表すことが可能である。
【００４８】
このような組み合わせとして分解した後に、対応表にそって、行列積で表された変換行列の後ろ側に現れる変換行列から順に、抽出した表現を置換していくようにしてもよい。すなわち、画像処理自体が各変換の順番で記述されていない場合でも、変換が、上記のＴｖ、Ｔｈ及びＲ（θ）の有限個の積で表すことが可能である場合には、この積で表された変換にしたがって、テキストデータを置換することができる。テキスト編集部１４は、このような画像処理を行った行列を上記の変換行列へと分解する行列演算を行う行列演算部を備えていてもよい。そして、この行列演算部の分解の結果に基づいて、表現置換部１４２が表現の置換を行うようにしてもよい。
【００４９】
上記のみに限られず、例えば、上記の変換行列を利用する前後に平行移動を行うアフィン変換について拡張された対応表を準備しておき、このようなアフィン変換に対応できるようにしておいてもよい。
【００５０】
なお、回転は、９０度単位には限られない。図６（ｂ）を拡張した対応表を準備し、回転の粒度を３０度単位とするようにしてもよい。例えば、図６（ｂ）の回転の箇所の項目を３０度ごとに変更し、１時方向に対して、３０度：２時、６０度：３時、・・・、というように対応表をより細かいものとしてもよい。このような対応表を作成しておくことにより、３０度ごとの変換に対しても、位置表現を変更することが可能となる。別の例として、上述したような東西南北の方角で表す場合には、４５度又は２２．５度単位での回転に対応することも可能である。
【００５１】
上述の例においては、物体が並んでいる場所を上空から見ている様子を示していたが、これらには限らない。図９は、一般的には上下反転をしない画像の例である。
【００５２】
図９（ａ）は、入力されるデータセット２４を示す図であり、図９（ｂ）は、出力される拡張データセット２５を示す。画像データ２４Ｉは、動物が写っている画像であり、一般的には上下反転や回転操作を行うことはない。このような画像に対して、データ拡張を行う場合、例えば、左右反転によるデータ拡張が行われる。このような場合に、行う画像処理をユーザが入力部１０を介して指定できるようにしておいてもよい。
【００５３】
画像処理として、左右反転の処理が行われ、拡張画像データ２５Ｉとして左右反転した画像が生成される。テキストデータ２４Ｔは、「左側の犬の右にいる猫のうち一番左にいる猫」である。表現抽出部１４０は、順に「左」、「右」、「左」という表現を抽出する。そして、表現置換部１４２は、各表現を「右」、「左」、「右」と置換し、拡張テキストデータ２５Ｔとして「右側にいる犬の左にいる猫のうち一番右にいる猫」というテキストデータが生成される。このように、複数の表現がある場合には、各表現について置換を行う。
【００５４】
上述した具体例では、画像全体を処理する例について述べたが、画像の一部を処理するようにしてもよい。図１０は、画像の一部を処理する場合に、拡張データセットを生成する一例を示す図である。
【００５５】
図１０（ａ）に示される、入力されたデータセット２６の画像データ２６Ｉは、その領域が４つのボックスに分割されており、それぞれの領域に物体が設置されている。この画像データ２６Ｉに対して、テキストデータ２６Ｔは、「左上のボックスの右下にある丸いものを左下のボックスへ移動」であったとする。この状態において、画像全体を左右反転する場合、拡張テキストデータは、「右上のボックスの左下にある丸いものを右下のボックスへ移動」となる。
【００５６】
画像データ２６Ｉ中、左上のボックスだけの画像を左右反転して拡張データを生成してもよい。画像処理部１２がこのような画像の一部を変換する場合、そのような通知を受けたテキスト編集部１４は、左上のボックスだけが画像変換されたと判断し、左上のボックスに関する表現を抽出し、置換するようにする。
【００５７】
具体的には、「左上のボックス」、「左上の箱」、「左上の領域」、「左上ボックス」又は「ボックス（左上）」等の語句に続く位置表現を抽出する。この際、「○○のボックス」等、ボックスの位置に係る位置表現を抽出しないように、「左上のボックス」の後に続く位置表現を抽出するようにしてもよい。
【００５８】
上記のように表現の抽出を行うと、「右下にある丸いもの」の「右下」が抽出される一方で、「左上のボックス」、「左下のボックス」の「左上」、「左下」の表現は抽出されないように、表現が抽出される。この後、上述したのと同様に、抽出された「右下」の表現を、図６（ａ）の対応表にしたがい、「左下」へと置換し、拡張テキストデータ２７Ｔを生成する。
【００５９】
もちろん、全体と一部の変換を組み合わせてもよい。左上のボックスを左右反転し、全体を上下反転するようにしてもよい。この場合、拡張テキストデータは、「左下のボックスにある左上にある丸いものを左上のボックスへ移動」となる。このような変換は、まず、一部の変換処理を、上記のボックスの位置に係る位置情報を抽出しないように変換し、次に、ボックスの位置に係る位置情報をも含めて全体の位置情報を変換するようにして実行される。このように、位置に関する様々な変換処理について対応することも可能である。回転処理が入った場合も同様に処理を行うことができる。
【００６０】
以上では、テキストデータの位置表現について説明したが、表現のテキストとしては、色に関するものであってもよい。図１１は、色に関する表現の対応表の一部を示すものである。色の表現を抽出する場合には、表現抽出部１４０は、色表現抽出部であり、表現置換部１４２は、色表現置換部である。
【００６１】
図１１には、例えば、緑色の物体に対して、画像処理として赤色を強くするような処理がされた場合、黄色という表現に変更されることを意味する。また、赤色を強く、等の指定ではなく、赤色を青色に、等の画像処理であっても構わないし、色の反転処理を行うような画像処理であっても構わない。図１１に示された例は、あくまで一例であり、色に関する変換として、表現が置換できるような対応表を作成しておけばよい。例えば、色温度の変更又は彩度、明度の変更を行う画像処理に対しても同様の対応表を作成しておくことにより、これらの変換にも適用することが可能となる。
【００６２】
色表現の抽出及び置換については、上述した位置の場合と同様に行うことが可能である。画像全部に対しての色変換であってもよいし、図１０に示す例のように、画像の一部に対する色変換であってもよい。また、所定の色領域のみを変換するような画像処理であっても、表現の抽出及び置換を行うことが可能である。
【００６３】
さらに、上記では、位置と色とを別々に判断していたが、これには限られず、位置と色の両方を含む画像処理を行って拡張画像データを生成し、当該画像処理に基づいた拡張テキストデータを生成するようにしてもよい。例えば、テキストデータとして、「左上にある赤色のまるいもの」というようなものが入力されてもよい。
【００６４】
以上のように、本実施形態によれば、例えば、学習に用いるデータを拡張したい場合、すなわち、所謂データオーグメンテーションを行いたい場合に、画像とテキストがセットになったデータセットに対して、画像データに行った画像処理内容に対して、矛盾無く、かつ、自然なテキストデータの変換を行うことが可能となる。このように変換することにより、画像データとテキストデータが紐付けられて備えられるデータセットに対して、オーバーフィッティングを抑制したり、さらに、正確な教師データを提供したりすることができ、機械学習における精度の向上を図ることが可能となる。
【００６５】
（第２実施形態）
前述した第１実施形態においては、表現が抽出できない場合にも画像処理を行うこととしたが、画像データとテキストデータがセットとなる場合、拡張テキストデータが生成されないとデータセットを生成する意味が薄れることがある。本実施形態では、このような場合に、データセットを生成しないようにするものである。
【００６６】
図１２（ａ）は、本実施形態に係るデータの流れを記載したデータ拡張装置１のブロック図である。図１と異なる点は、画像処理部１２からテキスト編集部１４へと画像処理内容が通知されるだけではなく、テキスト編集部１４から画像処理部１２へと、画像処理を行うか否かの判定結果を通知する点である。
【００６７】
この画像処理を行うか否かの判断は、テキスト編集部１４の表現抽出部１４０が、画像処理に関する表現を抽出できたか否かによりなされる。別の例としては、表現が抽出できたものの、一意的に表現を置換するのが困難である場合に、画像処理をしない旨の判断をしてもよい。
【００６８】
一意的に置換をするのが困難であるとは、例えば、右へ３０度回転する、といった画像処理である場合に、左上、という位置の表現があったとしても、左上の方向にあるものの位置により、３０度回転しても左上にある場合もあるし、３０度回転することにより右上へと移動することもある。このような場合には、一意的に表現を置換するのが困難であるとして、拡張データを生成しないようにしてもよい。色表現についても、例えば、対応表に記載されていない色変換等がある場合には、一意的に置換をするのが困難であると言える。
【００６９】
また、別の例としては、入力されたデータセットのテキストデータが、「最初にある丸いもの」といった表現である場合である。多くの場合、左上にある丸いもの、と理解することができるが、例えば、この画像を上下左右に反転した場合、丸いものの個数や位置によってどの位置に移動するかは未知である。このような場合には、拡張データセットを生成しないように判断してもよい。
【００７０】
図１２（ｂ）は、テキスト編集部１４のブロック図である。このように表現抽出部１４０が画像処理部１２から画像処理内容を受け取り、画像処理可否判定を画像処理部１２へと通知する。
【００７１】
図１３は、本実施形態に係る処理を示すフローチャートである。この図１３を用いて処理の流れを説明する。
【００７２】
まず、入力部１０は、データセットの入力を受け付ける（ステップＳ２００）。この処理は、図４に示すステップＳ１００と同様である。
【００７３】
次に、画像処理部１２は、テキスト編集部１４の表現抽出部１４０へ画像処理内容の通知を行う（ステップＳ２０２）。このタイミングにおいて、画像処理部１２は、画像処理を実行しなくてもよい。
【００７４】
次に、表現抽出部１４０は、処理に関する表現の抽出を行う（ステップＳ２０４）。この処理は、図４に示すステップＳ１０４と同様である。
【００７５】
次に、表現抽出部１４０は、処理に関する表現が抽出されたか否かを判断する（ステップＳ２０６）。表現が抽出された場合（ステップＳ２０６：ＹＥＳ）、処理に関する表現の置換を行う（ステップＳ２０８）。
【００７６】
次に、表現抽出部１４０は、画像処理部１２へ、画像処理を行う要求をする（ステップＳ２１０）。この要求を受け、画像処理部１２は、画像処理を実行する（ステップＳ２１２）。これ以降の流れは、図４のステップＳ１０８及びステップＳ１１０の流れと同様である。なお、ステップＳ２０８とステップＳ２１０の順番は入れ替えることもできる。入れ替えることにより、例えば、表現置換部１４２による処理に関する表現の置換と、画像処理部１２による画像処理の実行とを並行して行うことも可能である。
【００７７】
一方、処理に関する表現が抽出されなかった場合（ステップＳ２０６：ＮＯ）、表現抽出部１４０は、画像処理を実行しない要求をする（ステップＳ２１６）。この要求を受けた場合、画像処理部１２は、画像処理を行わずに処理を終了する。同様に、テキスト編集部１４も、処理を終了する。
【００７８】
以上のように、本実施形態によっても、前述の実施形態と同様に入力されたデータセットに対する拡張されたデータセットを生成することが可能であるとともに、画像処理内容により拡張テキストデータの生成が可能では無い場合には、画像処理を行わずに処理を終了し、拡張データセットを生成しないようにすることが可能となる。このようにすることにより、生成された拡張データセットにおいて無効となる、例えば、学習に用いることができないデータセットの生成を抑制することが可能となる。
【００７９】
なお、各処理が終了したことは、データ拡張装置１の他の各部へと通知するようにしてもよい。このようにすることにより、処理がスタックしないようにしてもよい。また、別の例としては、複数のデータセットが入力された場合には、これらのデータセットをキューに入れておき、画像処理部１２及びテキスト編集部１４が処理を終了したタイミングにおいて、デキューされるようにしてもよい。
【００８０】
（データセット生成の変形例）
データセットの生成において、３Ｄシミュレータや３ＤＣＡＤ（Computer Aided Design）等を用いる場合、画像データにこれらのＣＡＤ情報をデータセットに含めておいてもよい。このＣＡＤ等の情報を用いることにより、例えば、色表現等は、これらの情報によりＲＧＢの数値で表されていれば、色に関する表現も、より正確に抽出し、置換することが可能となる。また、この場合、物体の形状を変換するような画像処理も可能であり、より広い範囲での拡張データを作成することも可能となる。
【００８１】
別の例として、他の分野において学習されたモデルに基づいた画像データからテキストデータを生成する手法を用い、データセットを生成してもよい。この場合、拡張した目的となる分野の画像に対して、訓練データとなるデータセットとして、自動的に拡張データセットを生成し、用いることも可能となる。
【００８２】
このように、データセットの生成自体をも含めて拡張データセットを生成することも可能である。
【００８３】
以上説明した各実施形態において、画像が正方形ではない場合、９０度回転を行うことにより左右方向又は上下方向に画像がはみ出すことがあるが、はみ出した部分の補正方法については、種々の方法が考えられる。単純な方法としては、画像の縦横のサイズを回転とともに入れ替えて、画像の全領域がそのまま回転されるものであってもよい。
【００８４】
画像の領域が決まっているときは、以下のように処理してもよい。例えば、注目している物体が画像処理を行うことによりはみ出す領域にある場合には、画像処理を行っても注目物体がはみ出さないように平行移動してから回転をしてもよい。他の方法として、画像を正方形に圧縮してもよい。一方、回転することにより、画像外の領域が画像領域内に入ってくる場合には、例えば、ゼロパディングをしてもよいし、画像の縁部分の情報を用いて補間を行うようにしてもよい。
【００８５】
やりとりするデータは、必ずしも図又は上述の実施形態の説明に置いたように、日本語で記憶している必要は無く、例えば、数値に変換してデータベース等に記憶されているものであってもよい。また、各構成要素間の通知についても、フラグ等を数値で表し、送受信するようにしてもよい。
【００８６】
使用する言語は、日本語であるものとして説明したが、これには限られず、英語等の他の言語にも適用することが可能である。
【００８７】
入出力するデータは、画像データとテキストデータを備えるデータセットであるとしたが、これには限られない。画像データとテキストデータ間の対応関係が適切に確保できるのであれば、例えば、画像データ及びテキストデータを別々に入力して処理するものであってもよいし、処理された拡張画像データ及び拡張テキストデータを別々に出力するものであってもよい。一例として、画像データベース及びテキストデータベースがあり、その中から個別に入力され、その中へと個別に出力するものであってもよい。このように、入出力は、必ずしもデータセットであるとは限られない。
【００８８】
以上説明した全ての実施形態及び具体例は、例えば、工業用ロボットによる作業を行う際に、人間の音声により命令をする場合等に応用することが可能である。あらかじめ本実施形態に係るデータ拡張装置１によって拡張データセットを生成し、この拡張データセットを含むデータセットを教師データとして学習をし、モデルを生成しておく。このようにモデルを生成することにより、モデルを介してより柔軟な対応をロボットに実行させることが可能となる。
【００８９】
もっとも、応用範囲は、ロボットには限られず、例えば、位置又は色に関する情報を必要とする画像データとテキストデータのデータセットについて、適用することが可能である。一例として、画像データの内容を描写するテキストを自動生成することが挙げられるが、これに限られず、幅広い分野に応用することが可能である。
【００９０】
なお、上述の説明においては、丸いものを用いたが、もちろんこの丸いものというのは、一例であり、例えば、缶ジュース等であってもよい。他の物体についても、具体的なものが画像に写っているものとする。
【００９１】
上記の全ての記載において、データ拡張装置１の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりＣＰＵ等が実施をしてもよい。ソフトウェアで構成される場合には、データ拡張装置１及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、ＦＰＧＡ等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、ＧＰＵ等のアクセラレータを使用して行ってもよい。
【００９２】
また、本実施形態に係るデータ拡張モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのＣＰＵが格納部に格納されているモデルに基づいて、演算を行い、結果を出力するように動作する。
【００９３】
前述した実施形態において入出力される画像は、カラー画像であってもよいし、変換の内容がカラーに関するものでなければ、グレースケールの画像であってもよい。カラー画像である場合、その表現は、ＲＧＢ、ＲＧＢＡ、ＸＹＺ等、適切に色を表現できるのであれば、どのような色空間を用いてもよい。また、入力される画像データのフォーマットも、生データ、ＰＮＧフォーマット等、適切に画像を表現できるのであれば、どのようなフォーマットであっても構わない。
【００９４】
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【００９５】
１：データ拡張装置
１０：入力部
１２：画像処理部
１４：テキスト編集部
１４０：表現抽出部
１４２：表現置換部
１６：出力部
２０、２４、２６：データセット
２０Ｉ、２４Ｉ、２６Ｉ：画像データ
２０Ｔ、２４Ｔ、２６Ｔ：テキストデータ
２１、２２、２３、２５、２７：拡張データセット
２１Ｉ、２２Ｉ、２３Ｉ、２５Ｉ、２７Ｉ：拡張画像データ
２１Ｔ、２２Ｔ、２３Ｔ、２５Ｔ、２７Ｔ：拡張テキストデータ
【図１】
2019096042.tif 000003
【図２】
2019096042.tif 000004
【図３】
2019096042.tif 000005
【図４】
2019096042.tif 000006
【図５】
2019096042.tif 000007
【図６】
2019096042.tif 000008
【図７】
2019096042.tif 000009
【図８】
2019096042.tif 000010
【図９】
2019096042.tif 000011
【図１０】
2019096042.tif 000012
【図１１】
2019096042.tif 000013
【図１２】
2019096042.tif 000014
【図１３】
2019096042.tif 000015