(57)【要約】【課題】画像内に含まれるひとかたまりの情報として取り扱われる特徴的な領域毎に、変化の有無を検出することを可能とする情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】第１の表示画面に係る第１表示画面画像、及び第２の表示画面に係る第２表示画面画像を生成する手段と、第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成する第１領域分割手段と、第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成する第２領域分割手段と、第１パーツ画像及び第２パーツ画像の対応関係を特定する手段とを備える。【選択図】図２
2018022238.tif 000002
【特許請求の範囲】
【請求項１】
第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成する手段と、
前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成する第１領域分割手段と、
前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成する第２領域分割手段と、
前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定する手段と
を備える情報処理装置。
【請求項２】
前記第１パーツ画像に対応する前記第２パーツ画像が存在する場合に、前記第１パーツ画像に含まれる各画素について、前記第２表示画面画像との画素値の差分を検出する手段
を更に備える請求項１記載の情報処理装置。
【請求項３】
前記第１のパーツ画像と前記第２表示画面画像との間で差分が検出された画素を示す差分画像を出力する手段
を更に備える請求項２記載の情報処理装置。
【請求項４】
前記第１パーツ画像に対応する前記第２パーツ画像が存在する場合に、前記第１パーツ画像に対応する領域が第２表示画面画像中のどこに位置するかを特定する手段
を更に備える請求項２又は請求項３記載の情報処理装置。
【請求項５】
前記第１パーツ画像に対応する前記第２パーツ画像が存在しない場合に、前記第１パーツ画像を、出現又は消失した領域に係る画像として出力する手段
を更に備える請求項１乃至請求項４のいずれか１項記載の情報処理装置。
【請求項６】
前記第１領域分割手段及び前記第２領域分割手段は、前記第１表示画面画像及び前記第２表示画面画像に含まれる枠で囲われた領域から、前記第１パーツ画像及び前記第２パーツ画像を生成する、
請求項１乃至請求項５のいずれか１項記載の情報処理装置。
【請求項７】
前記第１領域分割手段及び前記第２領域分割手段は、
前記第１表示画面画像及び前記第２表示画面画像に対してモルフォロジ処理を行う手段と、
前記モルフォロジ処理に基づくラベリングを用いてウォーターシェッド処理により領域分割を行う手段と
を含む、請求項１乃至請求項６のいずれか１項記載の情報処理装置。
【請求項８】
第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成するステップと、
前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成するステップと、
前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成するステップと、
前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定するステップと
を情報処理装置が行う情報処理方法。
【請求項９】
第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成する処理と、
前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成する処理と、
前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成する処理と、
前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定する処理と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明に係るいくつかの態様は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ウェブアプリケーションにおけるテスト効率化や信頼性向上のため、画像の同一性や、基準画像に対する変化及び変形を自動解析する技術が各種考えられている。例えば非特許文献１には、ブラウザに表示したウェブアプリケーションのキャプチャ画像を２回撮影し、それらの画像の差分をとることで、回帰テストを行うシステムが記載されている。このシステムでは、ある時点のキャプチャ画像を期待画像とし、それ以降に撮影されたキャプチャ画像を実測画像として、画像の左上から右下に向かって画素値を一つ一つ比較して、画素値の差分を得ることで同一性の検証を行う。例えば異なる日時に撮影された２つの画像である期待画像と実測画像に対して、このシステムを適用することで、画素値の差が生じた部分が差分画像においてハイライトされる。この差分画像を観察することにより、変更が起きた箇所や変化の内容を容易に把握することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】”Ｋｏｂｏｌｄ”、［ｏｎｌｉｎｅ］、２０１４年、ｙａｈｏｏ、［平成２８年５月６日検索］、インターネット＜URL：http://yahoo.github.io/kobold/＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載のシステムを、動的に表示情報やレイアウトが変化するような情報、例えばウェブページに適用すると、変化が発生した位置以降のすべての画素がハイライトされてしまう。例えば、実測画像となるウェブページの上部に、新たな画像フレームが出現すると、それよりも下部の領域はすべて表示位置がずれるため、たとえ表示内容自体には変化がなくとも差分としてハイライトされてしまう。この結果、どの部分に変化が起きたのかを把握しづらいという課題がある。
【０００５】
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、画像内に含まれるひとかたまりの情報として取り扱われる特徴的な領域毎に、変化の有無を検出することを可能とする情報処理装置、情報処理方法、及びプログラムを提供することを目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明に係る１の情報処理装置は、第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成する手段と、前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成する第１領域分割手段と、前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成する第２領域分割手段と、前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定する手段とを備える。
【０００７】
本発明に係る１の情報処理方法は、第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成するステップと、前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成するステップと、前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成するステップと、前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定するステップとを情報処理装置が行う。
【０００８】
本発明に係る１のプログラムは、第１の表示画面に係る第１表示画面画像、及び前記第２の表示画面に係る第２表示画面画像を生成する処理と、前記第１表示画面画像に含まれる領域から、１以上の第１パーツ画像を生成する処理と、前記第２表示画面画像に含まれる領域から、１以上の第２パーツ画像を生成する処理と、前記第１パーツ画像及び前記第２パーツ画像の対応関係を特定する処理とをコンピュータに実行させる。
【０００９】
なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や「手段」、「装置」、「システム」が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や「手段」、「装置」、「システム」の機能が１つの物理的手段や装置により実現されても良い。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る情報処理装置の処理の概要を説明するための図である。
【図２】実施形態に係る情報処理装置の機能構成例を示す図である。
【図３】実施形態に係る情報処理装置が処理する画像の具体例を示す図である。
【図４】実施形態に係る情報処理装置が処理する画像の具体例を示す図である。
【図５】実施形態に係る情報処理装置が処理する画像の具体例を示す図である。
【図６】実施形態に係る情報処理装置が処理する画像の具体例を示す図である。
【図７】実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図８】実施形態に係る情報処理装置のハードウェア構成の具体例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１２】
図１乃至図８は、実施形態を説明するための図である。以下、これらの図を参照しながら、以下の流れに沿って実施形態を説明する。まず、「１」で実施形態に係る情報処理装置の処理の概要を説明する。続いて「２」で情報処理装置の機能構成を、処理対象の画像の具体例を交えて説明する。「３」では、情報処理装置の処理の流れを説明し、「４」では、情報処理装置を実現可能なハードウェア構成の具体例を説明する。最後に、「５」以降で、本実施形態に係る効果等を説明する。
【００１３】
（１．  概要）
まず、図１を参照しながら、実施形態に係る情報処理装置の処理の概要を説明する。本実施形態に係る情報処理装置は、例えばウェブページの表示画面やアプリケーションのＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等、デジタル処理により描画される各種表示画面を比較検証するためのものである。本情報処理装置を用いることにより、例えば、ある時点でＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等に基づいて描画されるウェブページ表示画面と、当該ＨＴＭＬを編集等して生成される更新後のウェブページ表示画面とを比較し、それらの差分を検出することができる。このように更新前後の表示画面の差分を検出することにより、更新作業を行ったユーザは、意図している部分のみが変化しており、予期していない変化が起きていないか等を容易に把握することができる。
【００１４】
上述の通り、本実施形態に係る情報処理装置は、アプリケーションのＵＩ等、デジタル処理により描画される表示画面であれば、種々の画面を処理対象とすることができるが、以下では、更新前（第１の時点）のウェブページ表示画面と更新後（第１の時点よりも後の第２の時点）のウェブページ表示画面を対象に処理を行う場合を中心に説明する。以下では、更新前のウェブページ表示画面のキャプチャ画像を期待画像、更新後のウェブページ表示画面のキャプチャ画像を実測画像とも呼ぶ。
【００１５】
本実施形態に係る画像差分検出処理では、ウェブページの表示画面に対するキャプチャ画像全体同士を比較することにより差分を検出するのではなく、ウェブページの表示画面を複数の領域（パーツ）に分割した上で、領域ごとに比較することにより差分を検出する。以下、詳細に説明する。
【００１６】
ウェブページを制作する際、一般に、関連のある複数の情報を観者がひとかたまりの情報として認識できるように、情報の配置が工夫される。例えば、不動産検索サイトの物件情報のウェブページであれば、物件の概要を表現する物件名や住所、最寄り駅等の情報は、（１）近くにまとめて配置する、（２）これらの情報を縁取り枠で囲う、（３）これらの情報の背景色を周囲の背景色とは異なる色に設定する、というような配置処理を適宜選択又は組み合わせてその配置を行う。このような配置により、観者は、近くにまとまって配置された情報、枠で囲まれた情報、及び背景色の異なる情報は、ひとかたまりの情報として認識する。なお、物件名や住所等、情報の最小構成要素を関連のあるものとしてまとめた配置構成を、以下の説明ではパーツと呼ぶ。
【００１７】
本情報処理装置では、まず、ウェブページのキャプチャ画像として用意された２枚の画像、即ち期待画像及び実測画像をパーツに分割する（図１の「処理１」）。以下、パーツに分割された画像をパーツ画像と呼ぶ。また、期待画像のパーツ画像を期待パーツ画像と呼び、実測画像のパーツ画像を実測パーツ画像と呼ぶ。
【００１８】
パーツ画像の検出方法は、後述するモルフォロジ演算とウォーターシェッド処理を組み合わせて、検出対象として３つ、即ちパーツを囲う枠の検出、背景色の違いの検出、文字列の塊の検出の何れにも対応する。モルフォロジ演算では、結果として内側領域と外側領域の境界線を検出（設定）することができ、ウォーターシェッド処理では、境界線の内側領域と外側領域を判別することができる。この内側は、後述するパーツに相当する部分である。検出対象としては、これら３つの内の一つでも良いし、組み合わせる場合にも対応できる。以下の説明では、まず、境界線の検出について説明する。キャプチャ画像をパーツ画像に分割する処理には、画像の下処理、境界抽出処理、及び領域抽出処理が含まれるが、詳細は後述する。
【００１９】
期待画像及び実測画像のパーツ画像への分割を行った後、情報処理装置は、期待パーツ画像及び実測パーツ画像を対比により対応関係を判定する（図１の「処理２」）。なおこの時、対応関係は、形状が同一であるか否かによって判別される。なお、同一性については、完全同一でなくとも特徴量が類似するか否かにより判定可能である。これにより、多少の更新が加えられていたとしても、対応関係を有するパーツとして判定される。
【００２０】
このようなパーツ画像間での対応関係の検出の後、情報処理装置は、同一パーツの存在、パーツの消失（期待画像には含まれるが実測画像には含まれない期待パーツ画像）、出現（期待画像には含まれなかったが実測画像には含まれる実測パーツ画像）の有無を判定する。出現又は消失したパーツ画像は、出現・消失のいずれの事象であるかが分かるようにファイル名に出現、消失の文字列を含むファイル名が付された画像ファイルとして出力される。この画像ファイルは、出現・消失した画像（パーツ画像）のみが格納されたファイルである。なお、出現／消失パーツ画像については、後述の処理３の処理対象外となる。また、出現／消失パーツ画像の出力方法は、出現／消失パーツ画像のみを出力するだけではなく、期待画像及び実測画像上に、出現・消失したパーツ画像の内容と位置が分かるように出力することもできる。例えば、実測画像上の出現パーツ領域に強調表示処理を施す、期待画像上の消失パーツ領域にはバツ印を付記することにより、出現／消失パーツ画像を判別できるようになる。
【００２１】
期待画像と実測画像との間での対応関係が特定された実測パーツ画像については、期待画像との間で差分を取ることにより差分画像が生成される（図１の「処理３」）。具体的には、情報処理装置は、各実測パーツ画像について、期待画像のどこに対応するパーツが存在するかを探索する。この探索では、実測パーツ画像に相当する期待パーツ画像が存在するかが、例えば構成ピクセルの同一性の度合いに応じて判定される。判定の結果、相当する期待パーツ画像が存在した場合には、情報処理装置は、この期待パーツ画像の期待画像上の座標位置を検出する。情報処理装置はその後、期待画像と実測パーツ画像の間でピクセル毎に画素値を比較する。その結果、差分が検出された部分をハイライトすることにより差分画像が生成され、情報処理装置は、どの部分に変化が生じたかを明確に表示することができる。なお、ここでは実測パーツ画像を基準に、期待パーツ画像及び期待画像を比較対象としているがこれに限られるものではなく、例えば、期待パーツ画像を基準に、実測パーツ画像及び実測画像を比較対象としてもよい。以下の説明では、実測パーツ画像を基準に、期待パーツ画像及び期待画像を比較対象とする場合を中心に説明する。
【００２２】
（２．  機能構成）
以下、図２を参照しながら、本実施形態に係る情報処理装置１００の機能構成を説明する。図２は、情報処理装置１００の機能構成の具体例を示す機能ブロック図である。情報処理装置１００は、入力部１１０Ａ及び１１０Ｂ（以下、総称して入力部１１０ともいう。）、画像生成部１２０Ａ及び１２０Ｂ（以下、総称して画像生成部１２０ともいう。）、パーツ画像生成部１３０Ａ及び１３０Ｂ（以下、総称してパーツ画像生成部１３０ともいう。）、領域比較部１４０、一致判定部１５０、及び出力部１６０を含む。
なお、情報処理装置１００の各機能は、必ずしも１台のコンピュータにより実現する必要はなく、複数台のコンピュータにより実現することも考えられる。
【００２３】
入力部１１０Ａ及び１１０Ｂは、それぞれ、ウェブページデータの入力を受ける。ここで、入力部１１０Ａから入力されるウェブページデータは更新前のもの（後に生成される期待画像に対応）、画像入力部１１０Ｂから入力されるウェブページデータは更新後のもの（後に生成される実測画像に対応）であるとする。
【００２４】
画像生成部１２０Ａ及び１２０Ｂは、それぞれ入力部１１０Ａ及び１１０Ｂから入力されたウェブページデータに対し、生成される表示画面に係る各種画像を生成する。画像生成部１２０Ａ及び１２０Ｂは、それぞれ、カラー画像生成部１２１Ａ及び１２１Ｂ（以下、総称してカラー画像生成部１２１ともいう。）、グレースケール画像生成部１２３Ａ及び１２３Ｂ（以下、総称してグレースケール画像生成部１２３ともいう。）、及び２値化画像生成部１２５Ａ及び１２５Ｂ（以下、総称して２値化画像生成部１２５ともいう。）を含む。
【００２５】
カラー画像生成部１２１は、入力されたウェブページデータに基づき生成されるウェブページ表示画面のカラーのキャプチャ画像である期待画像及び実測画像を生成する。この際、カラー画像生成部１２１Ａ及び１２１Ｂは、両者の間で表示サイズが揃うように、ウェブページ表示画面（例えば横幅のピクセル数や文字の表示サイズ等）を調整する。これにより、期待画像及び実測画像の間で対応するパーツが存在する場合に、両者のサイズを揃えることができる。
【００２６】
グレースケール画像生成部１２３は、カラー画像生成部１２１により生成された期待画像及び実測画像のグレースケール画像を生成する。グレースケール画像は、例えばカラーの期待画像及び実測画像の各画素の持つ輝度値から生成される。図３に、グレースケール画像生成部１２３が生成するグレースケール画像３０の具体例を示す。
【００２７】
２値化画像生成部１２５は、グレースケール画像生成部１２３が生成したグレースケール画像３０を用いて、２値化画像を生成する。当該２値化画像は、例えば閾値以上の値を持つ画素（ピクセル）を黒に、当該閾値未満の値を持つ画素を白としたものである。図４に、２値化画像生成部１２５が生成する２値化画像４０の具体例を示す。なお、図４に示した２値化画像４０は、図３に示したグレースケール画像３０から生成される２値化画像のうち、一部のみを抜粋したものである。
【００２８】
パーツ画像生成部１３０は、画像生成部１２０により生成された期待画像、実測画像、グレースケール画像及び２値化画像を用いて、パーツ画像を生成する。具体的には、パーツ画像生成部１３０は、モルフォロジ演算と呼ばれる輪郭抽出法を用いて輪郭の抽出、即ち囲み枠を形成する。そのためにパーツ画像生成部１３０Ａ及び１３０Ｂは、それぞれ、モルフォロジ処理部１３１Ａ及び１３１Ｂ（以下、総称してモルフォロジ処理部１３１ともいう。）、領域分割部１３３Ａ及び１３３Ｂ（以下、総称して領域分割部１３３ともいう。）、及び小領域削除部１３５Ａ及び１３Ｂ（以下、総称して小領域削除部１３５ともいう。）を含む。
【００２９】
モルフォロジ処理部１３１は、２値化画像生成部１２５により生成された２値化画像に対して、膨張（ｄｉｌａｔｅ）処理、及び収縮（ｅｒｏｄｅ）処理を、それぞれ複数回ずつ行う。このうち膨張処理では、（１−１）各画素の特徴とその近傍の画素の特徴により、同じ領域に属するか否かを判別し、（１−２）特徴が似ていれば併合して一回り大きい領域（大きな囲み枠）を作る。一方収縮処理では、（２−１）各画素の特徴とその近傍の画素の特徴により同じ領域に属するか否かを判別し、（２−２）特徴が似ていれば一回り小さい領域（小さな囲み枠）を作る。
【００３０】
更にモルフォロジ処理部１３１は、このようにして生成された膨張処理後の画像の画素値から収縮処理後の画像の画素値を減算する減算処理を、それぞれの画素に対して行う。これにより、各パーツを囲む囲み枠（境界線）が含まれる境界線領域を示す境界分割画像（モルフォロジ勾配画像）が生成される。図５に、モルフォロジ処理により生成される境界分割画像５０の具体例を示す。図５に示した境界分割画像５０は、図３に示したグレースケール画像３０に基づいて生成される境界分割画像のうち、一部のみを抜粋したものであり、境界線領域は白色で示されている。
【００３１】
領域分割部１３３は、生成された境界分割画像を用いてウォーターシェッド（Ｗａｔｅｒｓｈｅｄ）処理により領域抽出を行うことで、キャプチャ画像（期待画像及び実測画像）をパーツ画像に分割する。ここで、ウォーターシェッド処理は、画像の輝度勾配を山の峰、即ち分水嶺とみなすことにより、輝度勾配が高い、即ち標高が高い位置から流れ込む水が作る分水線で区切られる区域を１つの領域（パーツ）として判別する手法である。
【００３２】
境界分割画像において境界線領域の内縁（小さな囲み枠）で囲まれた領域は、境界線により区切られるべきパーツに含まれるべき領域である。また、境界線領域の外縁（大きな囲み枠）で囲まれた領域は、パーツ外の領域である。境界線領域の内部は、パーツ又はパーツ外のいずれの領域に属すべきかが未知の領域である。領域分割部１３３は、キャプチャ画像の内、このようなパーツ内の領域及びパーツ外の領域に対してラベリングを行った上で、これらの間の境界線領域において、輝度勾配の変化が大きい部分を境界線とし、当該境界線で囲まれた領域を１つの領域（パーツ）とする。
【００３３】
領域分割部１３３はこのようにして生成された画像に対し、パーツ内を黒色、パーツ外を灰色とした領域分割画像を生成する。図６に、領域分割画像の具体例を領域分割画像６０として示す。また領域分割部１３３は、キャプチャ画像（期待画像及び実測画像）中、パーツ内と判別した部分（領域分割画像６０中の黒色部分に対応）を切り出すことで、パーツ画像（期待パーツ画像及び実測パーツ画像）を生成する。
【００３４】
小領域削除部１３５は、領域分割部１３３により生成されたパーツ画像のうち、不要なパーツ画像を削除する。削除するパーツ画像の判別手法としては種々考えられるが、例えば、所定サイズ以下しか持たない小サイズのパーツ画像を不要なものとして削除することが考えられる。この場合、小領域削除部１３５は、例えば１ｋＢ未満など、閾値以下のファイル容量しか持たないパーツ画像を削除すれば良い。
【００３５】
領域比較部１４０は、パーツ画像生成部１３０Ａ及び１３０Ｂにより生成された期待パーツ画像及び実測パーツ画像の間での対応関係を確認する。より具体的には、領域比較部１４０は、作成された１以上の期待パーツ画像及び１以上の実測パーツ画像から、それぞれ特徴点及びその特徴量を抽出する。ここで、特徴点とは、画像に含まれるかどや輪郭などから特徴づけられる点である。特徴点及び特徴量の抽出手法は種々考えられるが、例えば、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）を用いることが考えられる。ＳＩＦＴは形状の拡大や縮小といった変化の影響を受けにくいため、例えば、含まれる文字列や文字数の変化や、それに伴うパーツ画像の大きさ等に多少の変化が生じた場合であっても、好適に特徴点及び特徴量を抽出することが可能である。
【００３６】
領域比較部１４０は、各実測パーツ画像及び各期待パーツ画像に対して、それぞれ特徴点及びその特徴量を算出した上で、各期待パーツ画像と、各実測パーツ画像との間で、対応付けられる特徴量の特徴点があるか否かを探索する。実測パーツ画像に存在する特徴点が期待パーツ画像から検出されなかった場合には、領域比較部１４０はそのパーツを消失したものと判定する。逆に、期待パーツ画像における特徴点が実測パーツ画像から検出されなかった場合には、領域比較部１４０は当該パーツを新たに出現したものと判定する。領域比較部１４０は、出現した実測パーツ画像、及び消失した期待パーツ画像を、出力部１６０に画像ファイルとして出力させる。また、期待パーツ画像との間で対応の取れる実測パーツ画像は、領域比較部１４０から一致判定部１５０に出力される。
【００３７】
一致判定部１５０は、期待画像と実測画像との間で対応関係の存在する各パーツについての差分を検出する。一致判定部１５０は、テンプレートマッチング部１５１及びピクセル比較部１５３を含む。
【００３８】
テンプレートマッチング部１５１は、実測パーツ画像と、期待画像との間でテンプレートマッチングを行う。具体的には、テンプレートマッチング部１５１は、期待画像中の各々の座標位置において、実測パーツ画像と期待画像の一致度を算出していく。算出された一致度が最も高い座標位置が、実測パーツ画像に対応するパーツの期待画像中の座標位置に相当すると考えられる。この際、テンプレートマッチング部１５１は、演算量の低減のため、期待画像のグレースケール画像と実測パーツ画像のグレースケール画像との間で比較を行っても良い。またこのとき、実測パーツ画像に対応する期待パーツ画像が存在する期待画像中の座標位置周辺を中心にテンプレートマッチングを行うことで、演算量を更に低減することが可能である。
【００３９】
ピクセル比較部１５３は、テンプレートマッチング部１５１により特定された期待画像中の座標位置と、実測パーツ画像との間で、画素単位で画素値の比較を行う。その結果、差分が検出された画素について期待画像上でハイライトすることにより、ピクセル比較部１５３は差分画像を生成する。
【００４０】
上述の通り、一致判定部１５０は、領域比較部１４０により対応関係が判明した期待パーツ画像と実測パーツ画像との間で直接比較するのではなく、実測パーツ画像と、全体画像である期待画像との間で比較を行う。これは、パーツ画像生成部１３０により期待パーツ画像及び実測パーツ画像を生成する際に、画素（ピクセル）単位まで揃えて正確にパーツを抽出することが難しい（抽出ゆれが生じる）ためである。もし抽出された期待パーツ画像と実測パーツ画像の領域が１画像でもずれてしまうと、実際にはパーツには全く変化がなかったとしても、ピクセル比較部１５３で画素単位の比較を行うと、パーツ画像全体が差分として抽出されてしまう。この点、一致判定部１５０のように全体画像である期待画像と実測パーツ画像との間で座標位置を特定した上で画素単位の比較を行うことで、パーツ抽出のゆれによる影響を低減することができる。
【００４１】
出力部１６０は、領域比較部１４０により出現又は消失したパーツとして特定された期待パーツ画像及び対応パーツ画像を各々画像ファイルとして出力すると共に、一致判定部１５０により生成された、差分画素がハイライトされた差分画像を画像ファイルとして出力する。
【００４２】
なお、出力部１６０による差分検出結果の出力形式はこれに限られるものではなく、例えば、検出されたパーツ画像の矩形を期待画像や実測画像上に描画し、その際、両者の間で一致したパーツと、不一致のパーツとで異なる手法を用いることにより、差分を把握できるようにしても良い。具体的には、例えば、例えば一致したパーツの枠を緑色、不一致のパーツの枠をその他の色で描画すること等が考えられる。
【００４３】
（３．  情報処理装置１００の処理の流れ）
以下、図７を参照しながら、情報処理装置１００の処理の流れを説明する。図７は、本実施形態に係る情報処理装置１００の処理の流れを示すフローチャートである。
【００４４】
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上１つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを１ステップとして実行することもできる。
【００４５】
まず入力部１１０は、比較したい表示画面の元となるデータ、例えばＨＴＭＬ等で記述されたウェブページデータを読み込む（Ｓ７０１）。このウェブページデータは、例えば、ユーザが更新作業を行う更新前のウェブページデータと、更新後のウェブページデータとすることができる。
【００４６】
画像生成部１２０は入力されたウェブページデータから生成されるウェブページ表示画面のカラーのキャプチャ画像（期待画像及び実測画像）、そのグレースケール画像、及び２値化画像を、更新前後のウェブページデータそれぞれについて作成する（Ｓ７０３）。
【００４７】
次に、モルフォロジ処理部１３１は、生成された２値化画像に対してモルフォロジ処理を行い（Ｓ７０５）、その結果を用いて領域分割部１３３は期待画像及び実測画像の領域分割を行う（Ｓ７０７）。これらの処理の結果生成される期待パーツ画像と実測パーツ画像のうち、例えばサイズが小さいなどで無視すべきパーツ画像は、小領域削除部１３５により削除される（Ｓ７０９）。これらの処理の詳細については、先述したためここでは説明を省略する。
【００４８】
このようにして生成された実測パーツ画像及び期待パーツ画像に対し、領域比較部１４０はそれぞれ特徴点を抽出した上で比較処理を行う（Ｓ７１１）。より具体的には、例えば抽出された１以上の実測パーツ画像から選択された実測パーツ画像と、期待パーツ画像との間で特徴点の比較を行うことにより、対応が取れるか否かを領域比較部１４０は判別する（Ｓ７１１）。その結果、期待画像及び実測画像の間で対応関係の取れなかったパーツ画像、即ち出現又は消失したパーツに係るパーツ画像については（Ｓ７１３のＮｏ）、領域比較部１４０は出力用画像として出力部１６０に渡す（Ｓ７１５）。
【００４９】
一方、対応関係が取れたパーツ画像については（Ｓ７１３のＹｅｓ）、一致判定部１５０による差分の検出処理を行う。より具体的には、まず一致判定部１５０のテンプレートマッチング部１５１は、実測パーツ画像の期待画像に対するテンプレートマッチングを行うことにより、期待画像上のパーツの座標位置を特定する（Ｓ７１７）。次に、ピクセル比較部１５３は、特定された座標位置の期待画像と、実測パーツ画像との間で、画素単位で画素値の比較を行う（Ｓ７１９）。その結果、画素値の差分が検出された画素を、ピクセル比較部１５３は期待画像上でハイライトすることにより差分画像を生成する（Ｓ７２１）。
【００５０】
もしこの時点でまだ未処理のパーツ画像がある場合には（Ｓ７２３のＮｏ）、未処理のパーツ画像に対してＳ７１１乃至Ｓ７２３の処理を行う。全てのパーツ画像の処理が終わると（Ｓ７２３のＹｅｓ）、出力部１６０は、差分がハイライトされた差分画像と、出現又は消失したパーツ画像を出力する（Ｓ７２５）。
【００５１】
（４．  ハードウェア構成）
図８を参照しながら、情報処理装置１００のハードウェア構成について説明する。図８に示すように、情報処理装置１００は、制御部８０１と、通信インタフェース（Ｉ／Ｆ）部８０５と、記憶部８０７と、表示部８１１と、入力部８１３とを含み、各部はバスライン８１５を介して接続される。
【００５２】
制御部８０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ。図示せず）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ。図示せず）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３等を含む。制御部８０１は、記憶部８０７に記憶される制御プログラム８０９を実行することにより、一般的なコンピュータとしての機能に加え、上述した画像差分検出処理を実行可能に構成される。例えば、図２を参照しながら説明した入力部１１０、画像生成部１２０、パーツ画像生成部１３０、領域比較部１４０、一致判定部１５０、及び出力部１６０は、ＲＡＭ８０３に一時記憶された上で、ＣＰＵ上で動作する制御プログラム８０９として実現可能である。
【００５３】
また、ＲＡＭ８０３は、制御プログラム８０９に含まれるコードの他、入力されるウェブページデータや途中段階で生成される実測画像や期待画像、それらのグレースケール画像や２値化画像、パーツ画像等の一部又は全部を一時的に保持する。更にＲＡＭ８０３は、ＣＰＵが各種処理を実行する際のワークエリアとしても使用される。
【００５４】
通信Ｉ／Ｆ部８０５は、必要に応じて外部装置との間で、有線又は無線によるデータ通信を行うためのデバイスである。例えば、入力部１１０から入力を受けるウェブページデータは、通信Ｉ／Ｆ部８０５がネットワークを介してサーバから受信したものであり得る。
【００５５】
記憶部８０７は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリ等の不揮発性の記憶媒体である。記憶部８０７は、一般的なコンピュータとしての機能を実現するためのオペレーティングシステム（ＯＳ）やアプリケーション及びデータ（図示せず）を記憶する。また記憶部８０７は、制御プログラム８０９を記憶する。前述のとおり、図２に示した入力部１１０、画像生成部１２０、パーツ画像生成部１３０、領域比較部１４０、一致判定部１５０、及び出力部１６０は、制御プログラム８０９に含むことができる。
【００５６】
表示部８１１は、ユーザに各種情報を提示するためのディスプレイ装置である。表示部８１１の具体例としては、例えば液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等が挙げられる。出力部１６０により出力された差分画像や出現又は消失パーツを示すパーツ画像は、表示部８１１が表示することができる。
【００５７】
入力部８１３は、管理者から入力を受け付けるためのデバイスである。入力部８１３の具体例としては、キーボードやマウス、タッチパネル等を挙げることができる。
【００５８】
なお、情報処理装置１００は、表示部８１１及び入力部８１３を必ずしも備える必要はない。また表示部８１１及び入力部８１３は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やディスプレイポート等の各種インタフェースを介して外部から情報処理装置１００に接続されても良い。
【００５９】
（５．  本実施形態の効果）
以上説明したように、本実施形態に係る情報処理装置１００は、例えば更新前後の表示画面に係るキャプチャ画像（期待画像及び実測画像）を生成した上で、それらに対し、パーツ画像を生成することにより、パーツ間で差分検出を行う。これにより、パーツの出現／消失／差分があった場合に、容易にかつ好適にそれを検出することが可能である。特に従来は、期待画像と実測画像の全体を比較する場合には、パーツが出現したり消失したりすると、当該パーツに続く画素は全て差分画素として検出され、実際の変化の把握が困難であったが、パーツ毎に比較することで、好適に差分を検出することが可能である。
【００６０】
（６．  付記）
上述の説明では、ウェブページの表示画面の比較を例に説明したが、比較に用いる画像はこれに限られるものではない。具体的には、囲み枠を生成し易い特徴をもった画像、例えば書籍の誌面の文字・挿し絵・写真の比較など、期待画像と実測画像の間で大きさが略同一の関係性を保った種々の画像に適用することができる。また、上述の実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は上述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
【符号の説明】
【００６１】
１００    ：情報処理装置
１１０    ：入力部
１２０    ：画像生成部
１２１    ：カラー画像生成部
１２３    ：グレースケール画像生成部
１３０    ：パーツ画像生成部
１３１    ：モルフォロジ処理部
１３３    ：領域分割部
１３５    ：小領域削除部
１４０    ：領域比較部
１５０    ：一致判定部
１５１    ：テンプレートマッチング部
１５３    ：ピクセル比較部
１６０    ：出力部
８０１    ：制御部
８０３    ：ＲＡＭ
８０５    ：通信インタフェース部
８０７    ：記憶部
８０９    ：制御プログラム
８１１    ：表示部
８１３    ：入力部
８１５    ：バスライン
【図１】
2018022238.tif 000003
【図２】
2018022238.tif 000004
【図３】
2018022238.tif 000005
【図４】
2018022238.tif 000006
【図５】
2018022238.tif 000007
【図６】
2018022238.tif 000008
【図７】
2018022238.tif 000009
【図８】
2018022238.tif 000010