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

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

<>
  • -画像判定装置、画像判定方法及びプログラム 図1
  • -画像判定装置、画像判定方法及びプログラム 図2
  • -画像判定装置、画像判定方法及びプログラム 図3
  • -画像判定装置、画像判定方法及びプログラム 図4
  • -画像判定装置、画像判定方法及びプログラム 図5
  • -画像判定装置、画像判定方法及びプログラム 図6
  • -画像判定装置、画像判定方法及びプログラム 図7
  • -画像判定装置、画像判定方法及びプログラム 図8
  • -画像判定装置、画像判定方法及びプログラム 図9
  • -画像判定装置、画像判定方法及びプログラム 図10
  • -画像判定装置、画像判定方法及びプログラム 図11
  • -画像判定装置、画像判定方法及びプログラム 図12
  • -画像判定装置、画像判定方法及びプログラム 図13
  • -画像判定装置、画像判定方法及びプログラム 図14
  • -画像判定装置、画像判定方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】画像判定装置、画像判定方法及びプログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20241114BHJP
   G06T 7/00 20170101ALI20241114BHJP
【FI】
G06T7/70 A
G06T7/00 350B
【請求項の数】 8
(21)【出願番号】P 2023206941
(22)【出願日】2023-12-07
(62)【分割の表示】P 2022548264の分割
【原出願日】2020-09-08
(65)【公開番号】P2024015273
(43)【公開日】2024-02-01
【審査請求日】2023-12-07
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】蔡 永男
(72)【発明者】
【氏名】プラキャッシャー プリーサム
【審査官】菊池 伸郎
(56)【参考文献】
【文献】特開2016-218977(JP,A)
【文献】国際公開第2019/156706(WO,A1)
【文献】特開2019-219766(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-7/90
G06V 10/000-40/70
(57)【特許請求の範囲】
【請求項1】
画像が入力され、該画像中のオブジェクトに関するオブジェクトデータを出力する第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトに関する前記オブジェクトデータである第1オブジェクトデータを取得するとともに、第2画像から該第2画像中のオブジェクトに関する前記オブジェクトデータである第2オブジェクトデータを取得するオブジェクトデータ取得手段と、
前記第1オブジェクトデータ及び前記第2オブジェクトデータが入力され、前記第1画像及び前記第2画像の実質同一性を出力する第2の機械学習モデルを用いて、前記第1画像及び前記第2画像の実質同一性を判定する判定手段と、
を含み、
前記第1画像は、第1の実行環境で表示される、コンピュータアプリケーションのスクリーン画像であり、
前記第2画像は、前記第1の実行環境とは異なる第2の実行環境で表示される、コンピュータアプリケーションのスクリーン画像である、
ことを特徴とする画像判定装置。
【請求項2】
前記オブジェクトデータは、前記画像中のオブジェクトの配置を示すデータを含む、
ことを特徴とする請求項1に記載の画像判定装置。
【請求項3】
前記第2の機械学習モデルは全結合層を含み、
前記第2の機械学習モデルは、所定配置規則に従って、同一又は類似の第1及び第2のベース画像のそれぞれに所与のオブジェクトを重畳させることで生成される第1トレーニング画像及び第2トレーニング画像から得られる、該第1トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第1学習オブジェクトデータ、及び該第2トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第2学習オブジェクトデータにより学習され、
前記第1トレーニング画像は、前記第1のベース画像に対し、前記所与のオブジェクトを、所与の位置に所与の大きさで重畳させることで生成される画像であり、
前記第2トレーニング画像は、前記第2のベース画像に対し、前記所与のオブジェクトを重畳させずに生成される画像であり、
前記第1トレーニング画像及び前記第2トレーニング画像は前記実質同一性がないものとして、前記第2の機械学習モデルが学習される、
ことを特徴とする請求項2に記載の画像判定装置。
【請求項4】
前記第2の機械学習モデルは全結合層を含み、
前記第2の機械学習モデルは、所定配置規則に従って、同一又は類似の第1及び第2のベース画像のそれぞれに所与のオブジェクトを重畳させることで生成される第1トレーニング画像及び第2トレーニング画像から得られる、該第1トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第1学習オブジェクトデータ、及び該第2トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第2学習オブジェクトデータにより学習され、
前記第1トレーニング画像は、前記第1のベース画像に対し、前記所与のオブジェクトを、所与の位置に所与の大きさで重畳させることで生成される画像であり、
前記第2トレーニング画像は、前記第2のベース画像に対し、前記所与のオブジェクトを、前記所与の位置とは異なる位置に重畳させることで生成される画像であり、
前記第1トレーニング画像及び前記第2トレーニング画像は前記実質同一性がないものとして、前記第2の機械学習モデルが学習される、
ことを特徴とする請求項2に記載の画像判定装置。
【請求項5】
前記第2の機械学習モデルは全結合層を含み、
前記第2の機械学習モデルは、所定配置規則に従って、同一又は類似の第1及び第2のベース画像のそれぞれに所与のオブジェクトを重畳させることで生成される第1トレーニング画像及び第2トレーニング画像から得られる、該第1トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第1学習オブジェクトデータ、及び該第2トレーニング画像中のオブジェクトに関する前記オブジェクトデータである第2学習オブジェクトデータにより学習され、
前記第1トレーニング画像は、前記第1のベース画像に対し、前記所与のオブジェクトを、所与の位置に所与の大きさで重畳させることで生成される画像であり、
前記第2トレーニング画像は、前記第2のベース画像に対し、前記所与のオブジェクトを、前記所与の大きさとは異なる大きさで重畳させることで生成される画像であり、
前記第1トレーニング画像及び前記第2トレーニング画像は前記実質同一性があるものとして、前記第2の機械学習モデルは学習される、
ことを特徴とする請求項2に記載の画像判定装置。
【請求項6】
前記オブジェクトデータは、前記画像中のオブジェクトの属性を示すデータを含む、
ことを特徴とする請求項1乃至5のいずれかに記載の画像判定装置。
【請求項7】
画像が入力され、該画像中のオブジェクトに関するオブジェクトデータを出力する第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトに関する前記オブジェクトデータである第1オブジェクトデータを取得するステップと、
前記第1の機械学習モデルを用いて、第2画像から該第2画像中のオブジェクトに関する前記オブジェクトデータである第2オブジェクトデータを取得するステップと、
第2の機械学習モデルを用いて、前記第1オブジェクトデータ及び前記第2オブジェクトデータから、前記第1画像及び前記第2画像の実質同一性を判定するステップと、
を含み、
前記第1画像は、第1の実行環境で表示される、コンピュータアプリケーションのスクリーン画像であり、
前記第2画像は、前記第1の実行環境とは異なる第2の実行環境で表示される、コンピュータアプリケーションのスクリーン画像である、
ことを特徴とする画像判定方法。
【請求項8】
画像が入力され、該画像中のオブジェクトに関するオブジェクトデータを出力する第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトに関する前記オブジェクトデータである第1オブジェクトデータを取得するステップと、
前記第1の機械学習モデルを用いて、第2画像から該第2画像中のオブジェクトに関する前記オブジェクトデータである第2オブジェクトデータを取得するステップと、
第2の機械学習モデルを用いて、前記第1オブジェクトデータ及び前記第2オブジェクトデータから、前記第1画像及び前記第2画像の実質同一性を判定するステップと、
をコンピュータに実行させ、
前記第1画像は、第1の実行環境で表示される、コンピュータアプリケーションのスクリーン画像であり、
前記第2画像は、前記第1の実行環境とは異なる第2の実行環境で表示される、コンピュータアプリケーションのスクリーン画像である、
プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像判定装置、画像判定方法及びプログラムに関し、特に複数の画像の実質的同一性を判定する技術に関する。
【背景技術】
【0002】
コンピュータ技術の分野において、それぞれオブジェクトが配置されている複数の画像が実質的に同一であるか否かを判定するニーズは多い。例えば、コンピュータアプリケーションのスクリーン画像は、特定のスマートフォンなどの選択された1つの実行環境で表示されることを前提に、人手によりデザインされる。こうしたスクリーン画像には、ボタン、画像、入力フォームなどのオブジェクトが配置されている。1つの実行環境のためのスクリーン画像のデザインが完成すると、実質的に同一のデザインのスクリーン画像が、他の実行環境にも移植される。これにより、実質的に同一のスクリーン画像を様々な実行環境で提供できるようになる。例えば、特定の製造者の特定のスマートフォンに向けてデザインされたスクリーン画像は、同一の製造者の他のスマートフォンや、異なる製造者のスマートフォンに向けて、人手又はコンピュータソフトウェアによる自動変換により移植される。このようにして得られた複数のスクリーン画像は、従来、目視でその実質同一性が確認されることが多かった。しかしながら、コンピュータアプリケーションの実行環境の数が増えるにつれ、そのような確認作業を自動化する必要性が高まっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
コンピュータアプリケーションの実行環境により、画面のサイズ、アスペクト比、解像度が異なる。またオペレーションシステムなどの実行環境により提供され、各スクリーン画像に含められるボタン等のオブジェクトは、その外観が少なからず異なっている。このため、複数のスクリーン画像を画素単位で比較しても、それらの実質同一性を確認することは困難である。また、機械学習モデルにそれらスクリーン画像を入力することで、それら画像の実質同一性を判定することも考えられるが、学習量が膨大になってしまうという問題が懸念される。
【0004】
なお、コンピュータアプリケーションのスクリーン画像の他にも、各種環境で閲覧される電子書籍のページ画像や、各種環境で閲覧されるウェブコンテンツ画像など、オブジェクトが配置された複数画像の実質同一性を判定するニーズは多数存在する。
本発明は上記課題に鑑みてなされたものであって、その目的は、それぞれオブジェクトが配置されている複数の画像の実質同一性を簡易且つ正しく判定できる画像判定装置、画像判定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の一側面に係る画像判定装置は、画像が入力され、該画像中のオブジェクトの属性及び配置を示すオブジェクトデータを出力する第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトの属性及び配置を示す第1オブジェクトデータを取得するとともに、第2画像から該第2画像中のオブジェクトの属性及び配置を示す第2オブジェクトデータを取得するオブジェクトデータ取得手段と、前記第1オブジェクトデータ及び前記第2オブジェクトデータが入力され、前記第1画像及び前記第2画像の実質同一性を出力する第2の機械学習モデルを用いて、前記第1画像及び前記第2画像の実質同一性を判定する判定手段と、を含む。
【0006】
ここで、前記第1の機械学習モデルはR-CNNを含んでよい。
【0007】
また、前記第1の機械学習モデルは、所与のベース画像に複数のオブジェクトの一部又は全部を重畳させることで生成されるトレーニング画像により学習されてよい。
【0008】
また、前記第2機械学習モデルは全結合層を含んでよい。
【0009】
前記第2機械学習モデルは、前記全結合層の上流側に、前記第1オブジェクトデータ及び前記第2オブジェクトデータに基づく入力データの次元数を削減する畳込み層及びプーリング層を含んでよい。
【0010】
また、前記第2の機械学習モデルは、所定配置規則に従って、同一又は類似の第1及び第2のベース画像のそれぞれに所与のオブジェクトを重畳させることで生成される第1トレーニング画像及び第2トレーニング画像から得られる、前記第1トレーニング画像中のオブジェクトの属性及び配置を示す第1学習オブジェクトデータ、及び前記第2トレーニング画像中のオブジェクトの属性及び配置を示す第2学習オブジェクトデータにより学習されてよい。
【0011】
また、本発明の他の側面に係る画像判定方法は、第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトの属性及び配置を示す第1オブジェクトデータを取得するステップと、前記第1の機械学習モデルを用いて、第2画像から該第2画像中のオブジェクトの属性及び配置を示す第2オブジェクトデータを取得するステップと、第2の機械学習モデルを用いて、前記第1オブジェクトデータ及び前記第2オブジェクトデータから、前記第1画像及び前記第2画像の実質同一性を判定するステップと、を含む。
【0012】
ここで、前記第1の機械学習モデルはR-CNNを含んでよい。
【0013】
また、上記方法は、所与のベース画像に複数のオブジェクトの一部又は全部を重畳させることで生成されるトレーニング画像により、前記第1機械学習モデルの学習を実行するステップをさらに含んでよい。
【0014】
また、前記第2機械学習モデルは全結合層を含んでよい。
【0015】
また、前記第2機械学習モデルは、前記全結合層の上流側に、前記第1オブジェクトデータ及び前記第2オブジェクトデータに基づく入力データの次元数を削減する畳込み層及びプーリング層を含んでよい。
【0016】
また、上記方法は、所定配置規則に従って、同一又は類似の第1及び第2のベース画像のそれぞれに所与のオブジェクトを重畳させることで第1トレーニング画像及び第2トレーニング画像を生成するステップと、前記第1トレーニング画像及び前記第2トレーニング画像のそれぞれを前記第1機械学習モデルに入力することにより、前記第1トレーニング画像中のオブジェクトの属性及び配置を示す第1学習オブジェクトデータ、及び前記第2トレーニング画像中のオブジェクトの属性及び配置を示す第2学習オブジェクトデータを取得するステップと、前記第1学習オブジェクトデータ及び前記第2学習オブジェクトデータにより前記第2機械学習モデルの学習を実行するステップと、をさらに含んでよい。
【0017】
また、本発明のさらに他の側面に係るプログラムは、第1の機械学習モデルを用いて、第1画像から該第1画像中のオブジェクトの属性及び配置を示す第1オブジェクトデータを取得するステップと、前記第1の機械学習モデルを用いて、第2画像から該第2画像中のオブジェクトの属性及び配置を示す第2オブジェクトデータを取得するステップと、第2の機械学習モデルを用いて、前記第1オブジェクトデータ及び前記第2オブジェクトデータから、前記第1画像及び前記第2画像の実質同一性を判定するステップと、をコンピュータに実行させるためのプログラムである。このプログラムは、光磁気ディスクや半導体メモリなどのコンピュータ可読情報記憶媒体に格納されてよい。
【図面の簡単な説明】
【0018】
図1】本発明の実施形態に係る画像判定装置のブロック図である。
図2】2つのスクリーン画像の同一性判定例を示す図である。
図3】他の実施形態に係る画像判定装置のブロック図である。
図4】CNNの構成例を示す図である。
図5】CNNの他の構成例を示す図である。
図6】R-CNNの学習に用いる学習装置のブロック図である。
図7】ベース画像の例を示す図である。
図8】オブジェクト画像の例を示す図である。
図9】オブジェクト属性テーブルの例を示す図である。
図10】トレーニング画像の例を示す図である。
図11図10に示されるトレーニング画像に対応する正解データを示す図である。
図12】R-CNNの学習処理を示すフロー図である。
図13】CNNの学習に用いる学習装置のブロック図である。
図14】CNNの学習に用いる正例及び負例に係るトレーニングデータを示す図である。
図15】CNNの学習処理を示すフロー図である。
【発明を実施するための形態】
【0019】
本発明の一実施形態について図面に基づき詳細に説明する。なお、以下の説明においては、同一部分については各図面において同一符号を付し、適宜説明を省略する。
【0020】
図1は、本発明の一実施形態に係る画像判定装置の機能ブロック図である。同図に示される各機能ブロックは、CPUやメモリを中心に構成されたコンピュータ上で、本発明の一実施形態に係る画像判定プログラムが実行されることにより、実現される。同図に示される画像判定装置10は、2つのスクリーン画像の実質同一性を判定するものである。
【0021】
各スクリーン画像には、上述のようにボタン等のオブジェクトが配置されている。画像判定装置10は、2つのスクリーン画像に含まれるオブジェクトの数、それぞれのオブジェクトの属性、当該スクリーン画像中でのそれぞれのオブジェクトの配置に基づき、それら2つのスクリーン画像の実質同一性を判定する。ここで、オブジェクトの属性は、例えばオブジェクトの種類や色情報である。オブジェクトの種類としては、ボタン、ロゴ画像、商標画像、入力フォームなどが挙げられる。オブジェクトの色情報としては、当該オブジェクトの1又は複数の代表色の情報、平均色の情報などを採用してよい。
【0022】
ここで、2つの画像に「実質同一性がある」とは、各画像に含まれるオブジェクト画像の数、それぞれの属性及び配置が、事前に定義された正例規則に合致する場合をいう。また、2つの画像に「実質同一性がない」とは、各画像に含まれるオブジェクト画像の数、それぞれの属性及び配置が、事前に定義された負例規則に合致する場合をいう。
【0023】
図1に示される画像判定装置10によれば、図2(a)に示すようにスクリーン画像の左上にオブジェクトAが配置されており、右下にオブジェクトBが配置されている場合には、同図(b)に示すように、オブジェクトAだけが同じ位置に配置されており、オブジェクトBが失われているスクリーン画像は、同図(a)に示されるスクリーン画像と実質同一性がないと判断される。すなわち、オブジェクト数が不一致のスクリーン画像は実質同一性がないと判断される。
【0024】
また、同図(c)に示すように、オブジェクトAは同じ位置に配置されているものの、オブジェクトBは水平方向にずれて配置されているスクリーン画像も、同図(a)に示されるスクリーン画像と実質同一性がないと判断される。すなわち、対応するオブジェクトが水平方向にずれて配置されているスクリーン画像も、同図(a)に示されるスクリーン画像と実質同一性がないと判断される。
【0025】
一方、同図(d)に示すように、オブジェクトBの大きさが異なるスクリーン画像や、同図(e)に示すように、オブジェクトAの大きさが異なるスクリーン画像は、同図(a)に示されるスクリーン画像と実質同一性があると判断される。すなわち、2つのスクリーン画像を比較したとき、オブジェクトの数、属性、配置が同じであれば、オブジェクトの大きさが異なっても、両スクリーン画像には実質同一性があると判断される。
【0026】
このような実質同一性の判断を実現するため、図1に示すように、画像判定装置10は、第1の機械学習モデルであるR-CNN(Regions with Convolutional Neural Networks)12と、第2の機械学習モデルであるCNN(Convolutional Neural Networks)14と、を含んで構成されている。R-CNN12には、比較対象である2つのスクリーン画像のうちスクリーン画像Aが入力されると、該スクリーン画像Aに含まれるオブジェクトの属性及び配置を示すオブジェクトデータAが出力される。また、それら2つのスクリーン画像のうちスクリーン画像Bが入力されると、該スクリーン画像Bに含まれるオブジェクトの属性及び配置を示すオブジェクトデータBが出力される。これらオブジェクトデータA及びオブジェクトデータBはCNN14に入力される。CNN14では、これらオブジェクトデータA及びオブジェクトデータBに基づいて、スクリーン画像A及びスクリーン画像Bに実質同一性があるか否かを出力する。
【0027】
なお、ここではR-CNN12にスクリーン画像A及びスクリーン画像Bを順次入力し、オブジェクトデータA及びオブジェクトデータBを順次得るようにしたが、図3に示すように、2つのR-CNN12を並列するようにしてCNN14の前段に設け、スクリーン画像AからオブジェクトデータAを生成するのと並行して、スクリーン画像BからオブジェクトデータBを生成するようにしてもよい。
【0028】
図1において、R-CNN12は、オブジェクト検出のための機械学習モデルであり、例えばオリジナルのR-CNN、Fast R-CNN、Faster R-CNN、MASK R-CNNといった公知のオブジェクト検出用機械学習モデルにより構成されてよい。本実施形態では、R-CNN12としてFaster R-CNNを一例として採用する。R-CNN12に画像が入力されると、該画像に含まれるオブジェクトのそれぞれについて、入力画像における配置及び当該オブジェクトの属性を示すオブジェクトデータが出力される。入力画像中の各オブジェクトの配置は、オブジェクトデータ中、例えばアンカーボックスにより特定される。
【0029】
CNN14は、図4に示すように、データ統合部15、それぞれ畳込み層及びプーリング層の組からなる、複数段の次元削減部16、一次元化部17、及び複数段の全結合層18を含んでいる。データ統合部15は、R-CNN12から出力されるオブジェクトデータA及びオブジェクトデータBを結合(Concatenate)して1の入力データを生成する。例えば、オブジェクトデータA及びオブジェクトデータBは、オブジェクトの序数を示す1つの次元(例えば300個のデータを含んでよい。)、オブジェクトの大きさ及び配置を示す2つの次元(例えば各次元に4個のデータを含んでよい。)、オブジェクトの属性を示す1つの次元(例えば1024個のデータを含んでよい。)からなる、4次元テンソルデータであってよい。データ統合部15は、例えばオブジェクトの序数の次元を2倍のサイズに伸長させることで、オブジェクトデータA及びオブジェクトBを結合し、入力データを得てよい。この場合、オブジェクトの序数1~300には、スクリーン画像Aに含まれるオブジェクトが割り当てられ、オブジェクトの序数301~600には、スクリーン画像Bに含まれるオブジェクトが割り当てられる。
【0030】
データ統合部15により生成される入力データは複数段の次元削減部16により次元削減が行われ、最終段の次元削減部16から2次元の中間データが出力される。一次元化部17は、中間データを一次元化し、一次元化された中間データを最初の段の全結合層18に入力する。最終段の全結合層18は、一次元化された中間データから1次元(2個のデータを含んでよい。)の同一性判定結果を出力する。同一性判定結果は、スクリーン画像A及びスクリーン画像Bの同一性がある程度を示すデータと、そのような同一性がない程度を示すデータと、を含む。
【0031】
図4に示すCNN14によれば、スクリーン画像A及びスクリーン画像Bのそれぞれに含まれるオブジェクトの属性及び配置から、スクリーン画像A及びスクリーン画像Bの実質同一性の有無を判定できるようになる。
【0032】
なお、図4ではオブジェクトデータA及びオブジェクトデータBを結合して入力データを得て、この入力データの次元削減を行うようにしたが、オブジェクトデータA及びオブジェクトデータBのそれぞれに対して次元削減を行うようにしてよい。すなわち、図5に示すCNN14のように、畳込み層及びプーリング層をそれぞれ含む複数段の次元削減部16aにより、オブジェクトデータAの次元削減を行うとともに、次元削減部16aと同一機能の次元削減部16bにより、オブジェクトデータAの次元削減と並行して、オブジェクトデータBの次元削減を行ってよい。次元削減部16a,16bの出力はそれぞれ2次元の中間データであり、データ統合部19は、各中間データを1次元化し、それら結合(Concatenate)して1の1次元の中間データを出力する。データ統合部19から出力される中間データは複数段の全結合層18に入力され、最終段からは同一性判定結果が出力される。
【0033】
図5に示すCNN14を用いても、スクリーン画像A及びスクリーン画像Bのそれぞれに含まれるオブジェクトの属性及び配置から、スクリーン画像A及びスクリーン画像Bの実質同一性の有無を判定できるようになる。
【0034】
ここで、R-CNN12及びCNN14の学習について説明する。
【0035】
図6は、R-CNN12の学習を行う学習装置20の構成を示す図である。同図に示される各機能ブロックは、CPUやメモリを中心に構成されたコンピュータ上で、本発明の一実施形態に係るプログラムが実行されることにより、実現される。同図に示すように、学習装置20は、R-CNN12の内部パラメータを更新することによりR-CNN12の学習を実行するトレーニング部21、R-CNN12の学習に用いるトレーニングデータを生成するトレーニングデータ生成部22、トレーニングデータを生成する際に用いるベース画像を記憶するベース画像記憶部24、同様にトレーニングデータを生成する際に用いるオブジェクト画像を記憶するオブジェクト画像記憶部26を含んでいる。
【0036】
図7は、ベース画像記憶部24に記憶されるベース画像の例を示している。ベース画像は、スクリーン画像の基礎となるラスタ形式の画像データであり、同図(a)は、全面に文章が表わされたベース画像を示している。同図(b)は白色無地のベース画像を示している。同図(c)は、有色無地のページ上部及び文書が表わされた下部からなるベース画像を示している。同図(d)は、複数ブロックに区分され、各ブロックに文書が表わされたベース画像を示している。ベース画像記憶部24は、こうしたラスタ形式のベース画像を多数記憶している。
【0037】
図8は、オブジェクト画像記憶部26に記憶されるオブジェクト画像の例を示している。オブジェクト画像は、スクリーン画像の基礎となるラスタ形式の画像データであり、スクリーン画像中に配置される、ボタンや入力フォームなどのオブジェクトの外観を示している。同図(a)は、オブジェクト画像の一種であるロゴ画像を示している。同図に示すオブジェクト画像には、オブジェクト番号「001」が付与されている。同図(b)は、オブジェクト画像の一種である入力フォーム画像を示している。同図に示すオブジェクト画像には、オブジェクト番号「002」が付与されている。同図(c)は、オブジェクト画像の一種であるボタン画像を示している。同図に示すオブジェクト画像には、オブジェクト番号「003」が付与されている。同図(d)は、オブジェクト画像の一種である商標画像を示している。同図に示すオブジェクト画像には、オブジェクト番号「004」が付与されている。オブジェクト画像記憶部26は、こうしたラスタ形式のオブジェクト画像を多数記憶している。
【0038】
オブジェクト画像記憶部26では、多数のオブジェクト画像に加えて、図9に示されるオブジェクト属性テーブルを記憶している。オブジェクト属性テーブルは、オブジェクト画像記憶部26に記憶される各オブジェクト画像の属性を記憶するものである。具体的には、オブジェクト属性テーブルは、各オブジェクト番号に関連づけて、該番号に係るオブジェクト画像の種類及び色情報を記憶するものである。例えば、オブジェクト属性テーブルでは、図8(a)に示されるオブジェクト画像のオブジェクト番号「001」に関連づけて、該オブジェクト画像の種類「ロゴ」及び該オブジェクト画像の色情報「赤・白」が記憶されている。
【0039】
トレーニングデータ生成部22は、ベース画像記憶部24及びオブジェクト画像記憶部26に記憶されたデータに基づいて、多数のトレーニングデータを生成する。トレーニングデータは、トレーニング画像と正解データを含んでいる。
【0040】
図10は、トレーニングデータ生成部22により生成されるトレーニング画像の例を示している。同図(a)に示されるトレーニング画像は、図7(b)に示されるベース画像に、図8(a)に示されるオブジェクト画像、図8(d)に示されるオブジェクト画像及び図8(b)に示されるオブジェクト画像を重畳させることにより、生成されたものである。また、図10(b)に示されるトレーニング画像は、図7(a)に示されるベース画像に、図8(b)に示されるオブジェクト画像及び図8(c)に示されるオブジェクト画像を重畳させることにより、生成されたものである。
【0041】
トレーニング画像を生成する際に用いるベース画像は、ベース画像記憶部24に記憶される多数のベース画像の中から、トレーニングデータ生成部22によりランダムに選択される。また、ベース画像に重畳させるオブジェクト画像も、オブジェクト画像記憶部24に記憶される多数のベース画像の中から、トレーニングデータ生成部22によりランダムに選択される。さらに、各オブジェクト画像の配置(位置及び大きさ)も、トレーニングデータ生成部22によりランダムに決定される。
【0042】
図11は、トレーニングデータ生成部22により生成される正解データの例を示している。同図(a)は、図10(a)に示されるトレーニング画像に対する正解データを示している。この正解データには、トレーニング画像に3つのオブジェクト画像が含まれていること、1番目のオブジェクト画像の配置は「(XA1,YA1)-(XB1,YB1)」であり、属性は「ロゴ,赤・白」であること、2番目のオブジェクト画像の配置は「(XA2,YA2)-(XB2,YB2)」であり、属性は「マーク,黄」であること、3番目のオブジェクト画像の配置は「(XA3,YA3)-(XB3,YB3)」であり、属性は「フォーム,白・黒」でること、が示されている。すなわち、正解データは、トレーニング画像に含まれるオブジェクト画像の数、及び各オブジェクト画像の配置及び属性を示している。同様に、図11(b)は、図10(b)に示されるトレーニング画像に対する正解データを示している。
【0043】
トレーニングデータ生成部22は、トレーニング画像を生成する際、ベース画像に重畳させるオブジェクト画像をランダムに選択し、その配置もランダムに決定している。トレーニングデータ生成部22は、選択されたオブジェクト画像の属性を、図9に示されるオブジェクト属性テーブルから読み出し、図11に示す正解データに含めるとともに、決定されたオブジェクト画像の配置も、図11に示す正解データに含めることで、トレーニング画像に対応する正解データを生成している。
【0044】
トレーニング部21は、トレーニングデータ生成部22により生成されるトレーニングデータを用いてR-CNN12の学習処理を実行する。具体的には、トレーニングデータに含まれるトレーニング画像を順次R-CNN12に入力し、オブジェクトデータの出力を得る。この出力と、トレーニングデータに含まれる正解データとの差分を演算し、この差分が小さくなるようにR-CNN12の内部パラメータを更新する。
【0045】
図12は、学習装置20の動作フロー図である。学習装置20は、まずトレーニングデータ生成部22が、オブジェクト画像記憶部26に記憶されたオブジェクト画像をランダムに選択する(S101)。ここで、選択するオブジェクト画像の数もランダムに決定される。次に、トレーニングデータ生成部22が、ベース画像記憶部24からランダムに1つのベース画像を選択する(S102)。
【0046】
トレーニングデータ生成部22は、選択されたベース画像に対し、選択されたオブジェクト画像を配置することで、トレーニング画像を生成する(S103)。このとき、トレーニングデータ生成部22は、各オブジェクト画像について、配置及びサイズをランダムに決定する。
【0047】
トレーニングデータ生成部22は、さらに、S101乃至S103での処理内容に応じて、図11に例示される正解データを生成し、S103で生成されたトレーニング画像とともに、トレーニングデータに含める(S104)。
【0048】
S101乃至S104の処理を所定数のトレーニングデータが生成されるまで繰り返した後(S105)、生成されたトレーニングデータを用いてトレーニング部21がR-CNN12の学習処理を実行する(S106)。
【0049】
次に、図13は、CNN14の学習を行う学習装置30の構成を示す図である。同図に示される各機能ブロックは、CPUやメモリを中心に構成されたコンピュータ上で、本発明の一実施形態に係るプログラムが実行されることにより、実現される。同図に示すように、学習装置30は、CNN14の内部パラメータを更新することによりCNN14の学習を実行するトレーニング部31、CNN14の学習に用いるトレーニングデータを生成するトレーニングデータ生成部32、ベース画像記憶部24及びオブジェクト画像記憶部26を含んでいる。トレーニングデータ生成部32は、ベース画像記憶部24に記憶されているベース画像、及びオブジェクト画像記憶部26に記憶されているオブジェクト画像を用いて、正例及び負例に係るトレーニングデータを生成する。各トレーニングデータには、正例、すなわち実質同一性のあるトレーニング画像のペア、又は負例、すなわち実質同一性のないトレーニング画像のペアが含まれる。
【0050】
図14は、CNN14の学習に用いる、正例及び負例に係るトレーニング画像を示す図である。同図(a)にはトレーニング画像のペアの一方の例が示されている。当該一方のトレーニング画像は、ランダムに選択されるベース画像に対し、ランダムに選択された複数のオブジェクト画像を、ランダムな位置に、ランダムな大きさで、それぞれ配置することにより生成される。同図(a)では、全体に文書が表わされたベース画像に対し、オブジェクト画像A及びBが配置されている。
【0051】
同図(b)は、第1の負例規則を適用して生成された他方のトレーニング画像を示している。第1の負例規則では、一方のトレーニング画像に含められたオブジェクト画像の一部が除去される。例えば、同図(b)のトレーニング画像は、同図(a)のトレーニング画像とは異なり、オブジェクト画像Bを含んでいない。
【0052】
同図(c)は、第2の負例規則を適用して生成された他方のトレーニング画像を示している。第2の負例規則では、一方のトレーニング画像に含められたオブジェクト画像の一部が水平方向に移動される。例えば、同図(c)のトレーニング画像では、同図(a)のトレーニング画像に比べて、オブジェクト画像Bが左方向にずれている。
【0053】
同図(d)は、正例規則を適用して生成された他方のトレーニング画像を示している。正例規則では、一方のトレーニング画像に含められたオブジェクト画像の一部が拡大又は縮小される。例えば、同図(d)のトレーニング画像では、同図(a)のトレーニング画像に比べて、オブジェクト画像Aが拡大されている。
【0054】
トレーニング部31は、こうして生成されるトレーニングデータを用いて、CNN14の学習処理を実行する。具体的には、トレーニングデータに含まれる2つのトレーニング画像を順次R-CNN12に入力し、2つのオブジェクトデータを取得する。そして、それらオブジェクトデータをCNN14に入力する。トレーニング部31は、CNN14から出力される同一性判定結果を取得し、同一性判定結果が正しいものとなるよう、CNN14の内部パラメータを更新する。すなわち、正例に係るトレーニング画像をR-CNN12に入力した場合には、CNN14から出力される同一性判定結果が実質的同一であることを示すものになるよう、内部パラメータを更新する。逆に、負例に係るトレーニング画像をR-CNN12に入力した場合には、CNN14から出力される同一性判定結果が実質的同一でないことを示すものになるよう、内部パラメータを更新する。
【0055】
図15は、学習装置30の動作フロー図である。同図に示すように、学習装置30では、まずトレーニングデータ生成部32がオブジェクト画像記憶部26からランダムにオブジェクト画像を選択する(S201)。さらにトレーニングデータ生成部32は、ベース画像記憶部24からランダムにベース画像を選択する(S202)。そして、トレーニングデータ生成部32は、選択されたベース画像に対し、各オブジェクト画像を重畳させることで、トレーニング画像Aを生成する(S203)。このとき、各オブジェクト画像の位置及び大きさをランダムに決定する。
【0056】
次に、トレーニングデータ生成部32は、正例規則又は負例規則を適用して、選択されたベース画像に対し、選択されたオブジェクト画像の全部又は一部を重畳させることで、トレーニング画像Bを生成する(S204)。例えば、第1の負例規則を適用する場合には、選択されたオブジェクト画像のうち一部を、選択されたベース画像に重畳させずに、トレーニング画像Bを生成する。第2の負例規則を適用する場合には、選択されたオブジェクト画像のうち一部を、右方向又は左方向に移動させてから、選択されたベース画像に重畳させることで、トレーニング画像Bを生成する。正例規則を適用する場合には、選択されたオブジェクト画像のうち一部を、拡大又は縮小させてから、選択されたベース画像に重畳させることで、トレーニング画像Bを生成する。
【0057】
その後、トレーニングデータ生成部32は、生成されたトレーニング画像A及びBのペアと、それらが正例であるか負例であるかの区別と、を含むトレーニングデータを生成し、記憶させる(S205)。
【0058】
S201乃至S205の処理を所定数のトレーニングデータが生成されるまで繰り返した後(S206)、生成されたトレーニングデータを用いてトレーニング部31がCNN14の学習処理を実行する(S207)。
【0059】
以上説明した画像判定装置10によれば、比較対象となる2つのスクリーン画像のそれぞれから、それらに含まれるオブジェクト画像の属性及び位置を示すオブジェクトデータが得られる。そして、2つのオブジェクトデータに基づいて、2つのスクリーン画像の実質同一性の有無が判定される。実質同一性の有無の判定のために、正例規則及び負例規則に従って生成された多数のトレーニング画像ペアにより、CNN14が事前に訓練される。本実施形態によれば、2つのスクリーン画像の実質同一性を好適に判定することができる。
【0060】
具体的には、本発明者らは、500枚のベース画像と33種類のオブジェクト画像を用いて、R-CNN12のために5000のトレーニングデータ、CNN14のために8000のトレーニングデータを生成し、R-CNN12及びCNN14の学習を実施したところ、スクリーン画像の実質同一性の判定精度はおよそ86%となり、十分実用に耐えることが分かった。
【0061】
なお、本発明の範囲は上記実施形態に限定されず、種々の変形を包含する。例えば、本発明はスクリーン画像のみならず、電子書籍のページ画像やウェブコンテンツ画像など、様々な画像にも同様に適用することができる。
【符号の説明】
【0062】
10 画像判定装置、12 R-CNN、14 CNN、15,19 データ統合部、16,16a 畳み込み層及びプーリング層、17 一次元化部、18 全結合層、20,30 学習装置、21,31 トレーニング部、22,32 トレーニングデータ生成部、24 ベース画像記憶部、26 オブジェクト画像記憶部。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15