(57)【要約】高い精度かつ短時間で画像を検索できる、画像検索システムを提供する。ニューラルネットワークが設けられた処理部を有する画像検索システムである。ニューラルネットワークは、ニューロンが設けられている層を有する。処理部は、クエリ画像データを、複数のデータベース画像データと比較し、クエリ画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する機能を有する。また、処理部は、抽出画像データから、クエリ画像データに対する一致度が高い領域のデータを、部分画像データとして抽出する機能を有する。層は、ニューラルネットワークに入力された画像データの特徴量に対応する出力値を出力する機能を有する。処理部は、部分画像データを入力した場合の上記出力値を、それぞれの部分画像データについて、クエリ画像データを入力した場合の上記出力値と比較する機能を有する。
2020099985.tif 000002
【特許請求の範囲】
【請求項１】
処理部を有し、
前記処理部は、ニューラルネットワークを有し、
前記ニューラルネットワークは、畳み込み層と、プーリング層と、を有し、
前記処理部は、画像データと、複数のデータベース画像データと、が前記処理部に入力された場合に、前記画像データと、前記データベース画像データと、を比較する機能を有し、
前記処理部は、前記画像データに対する一致度が高い領域を含む前記データベース画像データを、抽出画像データとして抽出する機能を有し、
前記処理部は、前記抽出画像データから、前記画像データに対する一致度が高い領域のデータを、部分画像データとして抽出する機能を有し、
前記プーリング層は、前記画像データが前記ニューラルネットワークに入力された場合に、前記画像データに対応する第１の出力値を出力する機能を有し、
前記プーリング層は、前記部分画像データが前記ニューラルネットワークに入力された場合に、前記部分画像データに対応する第２の出力値を出力する機能を有し、
前記処理部は、前記第１の出力値と、前記第２の出力値と、を比較する機能を有する画像検索システム。
【請求項２】
請求項１において、
前記画像データが有する画素データの数は、前記データベース画像データが有する画素データの数以下である画像検索システム。
【請求項３】
請求項１において、
前記画像データと、前記データベース画像データと、の比較は、領域ベースマッチングにより行う画像検索システム。
【請求項４】
請求項１において、
前記画像データは、複数の画素データを有し、
前記処理部は、入力された前記画像データを基に、前記画素データの数が異なる複数の画像データを生成する機能を有する画像検索システム。
【請求項５】
請求項１において、
前記ニューラルネットワークは、前記データベース画像データを用いて学習を行う機能を有する画像検索システム。
【請求項６】
画像データを、複数のデータベース画像データと比較し、
前記画像データに対する一致度が高い領域を含む前記データベース画像データを、抽出画像データとして抽出し、
前記抽出画像データから、前記画像データに対する一致度が高い領域のデータを、部分画像データとして抽出し、
畳み込み層と、プーリング層と、を有するニューラルネットワークに前記画像データを入力することにより、前記プーリング層から出力される第１の出力値を取得し、
前記ニューラルネットワークに前記部分画像データを入力することにより、前記プーリング層から出力される第２の出力値を取得し、
前記第１の出力値と、前記第２の出力値と、を比較する画像検索方法。
【請求項７】
請求項６において、
前記画像データが有する画素データの数は、前記データベース画像データが有する画素データの数以下である画像検索方法。
【請求項８】
請求項６において、
前記画像データを、前記データベース画像データと領域ベースマッチングにより比較する画像検索方法。
【請求項９】
請求項６において、
前記画像データは、複数の画素データを有し、
前記画像データを基にして、設けられる前記画素データの数が異なる複数の画像データを生成した後、前記画像データを、複数のデータベース画像データと比較する画像検索方法。
【請求項１０】
請求項６において、
前記ニューラルネットワークは、前記データベース画像データを用いて学習を行う画像検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】本発明の一態様は、画像検索システム、及び画像検索方法に関する。【０００２】なお、本発明の一態様は、上記の技術分野に限定されない。本発明の一態様の技術分野としては、半導体装置、表示装置、発光装置、蓄電装置、記憶装置、電子機器、照明装置、それらの駆動方法、又はそれらの製造方法を一例として挙げることができる。
【背景技術】
【０００３】大量の画像が記憶されているデータベースの中から、検索対象の画像（クエリ画像）と類似する画像を一部に含む画像を探し出すために、テンプレートマッチングという方法が用いられている。例えば、特許文献１には、照合用画像の一部と、参照用画像と、に対してテンプレートマッチングを行うことにより、双方の画像の類似度を算出するという発明が記載されている。【０００４】また、様々な用途において、人工知能の活用が検討されている。特に、ニューラルネットワーク等を利用することで、従来のノイマン型コンピュータよりも高性能なコンピュータが実現できると期待されており、近年、電子回路上でニューラルネットワークを構築する種々の研究が進められている。【０００５】例えば、特許文献２には、畳み込みニューラルネットワークの畳み込み演算のための行列データを、しきい値を基準に前半部分と後半部分に２分割することにより、演算量を削減する発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２８４７３１号公報
【特許文献２】特開２０１８−１６００８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】テンプレートマッチングの方法として、特徴ベースマッチング、及び領域ベースマッチングが挙げられる。特徴ベースマッチングでは、画像から特徴点を抽出して特徴量を計算することにより画像間のマッチングを行う。領域ベースマッチングでは、クエリ画像と、テンプレートとなる画像（テンプレート画像）と、を逐一比較することにより、クエリ画像と類似する画像を一部に含むテンプレート画像を抽出する。【０００８】しかしながら、特徴ベースマッチングでは、特徴点の抽出に時間がかかる場合がある。また、領域ベースマッチングでは、特に画像の変形に弱く、画像検索を高い精度で行えない場合がある。【０００９】そこで、本発明の一態様は、高い精度で画像を検索できる、画像検索システムを提供することを課題の一つとする。又は、本発明の一態様は、画像検索を短時間で行える、画像検索システムを提供することを課題の一つとする。又は、本発明の一態様は、新規な画像検索システムを提供することを課題の一つとする。【００１０】又は、本発明の一態様は、高い精度で画像を検索できる、画像検索方法を提供することを課題の一つとする。又は、本発明の一態様は、画像検索を短時間で行える、画像検索方法を提供することを課題の一つとする。又は、本発明の一態様は、新規な画像検索方法を提供することを課題の一つとする。【００１１】なお、これらの課題の記載は、他の課題の存在を妨げるものではない。本発明の一態様は、必ずしも、これらの課題の全てを解決する必要はないものとする。明細書、図面、請求項の記載から、これら以外の課題を抽出することが可能である。
【課題を解決するための手段】
【００１２】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、中間層を有し、中間層は、第１の画像データがニューラルネットワークに入力された場合に、当該第１の画像データに対応する第１の出力値を出力する機能を有し、中間層は、第２の画像データがニューラルネットワークに入力された場合に、当該第２の画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１３】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、畳み込み層と、プーリング層と、を有し、プーリング層は、第１の画像データがニューラルネットワークに入力された場合に、当該第１の画像データに対応する第１の出力値を出力する機能を有し、プーリング層は、第２の画像データがニューラルネットワークに入力された場合に、当該第２の画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１４】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、中間層を有し、処理部は、画像データと、複数のデータベース画像データと、が当該処理部に入力された場合に、画像データと、データベース画像データと、を比較する機能を有し、処理部は、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する機能を有し、中間層は、画像データがニューラルネットワークに入力された場合に、当該画像データに対応する第１の出力値を出力する機能を有し、中間層は、抽出画像データがニューラルネットワークに入力された場合に、当該抽出画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１５】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、畳み込み層と、中間層と、を有し、処理部は、画像データと、複数のデータベース画像データと、が当該処理部に入力された場合に、画像データと、データベース画像データと、を比較する機能を有し、処理部は、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する機能を有し、プーリング層は、画像データがニューラルネットワークに入力された場合に、当該画像データに対応する第１の出力値を出力する機能を有し、プーリング層は、抽出画像データがニューラルネットワークに入力された場合に、当該抽出画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１６】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、中間層を有し、処理部は、画像データと、複数のデータベース画像データと、が当該処理部に入力された場合に、画像データと、データベース画像データと、を比較する機能を有し、処理部は、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する機能を有し、処理部は、抽出画像データから、画像データに対する一致度が高い領域のデータを、部分画像データとして抽出する機能を有し、中間層は、画像データがニューラルネットワークに入力された場合に、当該画像データに対応する第１の出力値を出力する機能を有し、中間層は、部分画像データがニューラルネットワークに入力された場合に、当該部分画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１７】本発明の一態様は、処理部を有し、処理部は、ニューラルネットワークを有し、ニューラルネットワークは、畳み込み層と、プーリング層と、を有し、処理部は、画像データと、複数のデータベース画像データと、が当該処理部に入力された場合に、画像データと、データベース画像データと、を比較する機能を有し、処理部は、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する機能を有し、処理部は、抽出画像データから、画像データに対する一致度が高い領域のデータを、部分画像データとして抽出する機能を有し、プーリング層は、画像データがニューラルネットワークに入力された場合に、当該画像データに対応する第１の出力値を出力する機能を有し、プーリング層は、部分画像データがニューラルネットワークに入力された場合に、当該部分画像データに対応する第２の出力値を出力する機能を有し、処理部は、第１の出力値と、第２の出力値と、を比較する機能を有する画像検索システムである。【００１８】画像データが有する画素データの数は、データベース画像データが有する画素データの数以下であってもよい。【００１９】画像データと、データベース画像データと、の比較は、領域ベースマッチングにより行ってもよい。【００２０】画像データは、複数の画素データを有し、処理部は、入力された画像データを基に、設けられる画素データの数が異なる複数の画像データを生成する機能を有してもよい。【００２１】ニューラルネットワークは、データベース画像データを用いて学習を行う機能を有してもよい。【００２２】本発明の一態様は、中間層を有するニューラルネットワークに第１の画像データを入力することにより、中間層から出力される第１の出力値を取得し、ニューラルネットワークに第２の画像データを入力することにより、中間層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２３】本発明の一態様は、畳み込み層と、プーリング層と、を有するニューラルネットワークに第１の画像データを入力することにより、プーリング層から出力される第１の出力値を取得し、ニューラルネットワークに第２の画像データを入力することにより、プーリング層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２４】本発明の一態様は、画像データを、複数のデータベース画像データと比較し、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出し、中間層を有するニューラルネットワークに画像データを入力することにより、層から出力される第１の出力値を取得し、ニューラルネットワークに抽出画像データを入力することにより、中間層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２５】本発明の一態様は、画像データを、複数のデータベース画像データと比較し、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出し、畳み込み層と、プーリング層と、を有するニューラルネットワークに画像データを入力することにより、層から出力される第１の出力値を取得し、ニューラルネットワークに抽出画像データを入力することにより、プーリング層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２６】本発明の一態様は、画像データを、複数のデータベース画像データと比較し、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出し、抽出画像データから、画像データに対する一致度が高い領域のデータを、部分画像データとして抽出し、中間層を有するニューラルネットワークに画像データを入力することにより、中間層から出力される第１の出力値を取得し、ニューラルネットワークに部分画像データを入力することにより、中間層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２７】本発明の一態様は、画像データを、複数のデータベース画像データと比較し、画像データに対する一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出し、抽出画像データから、画像データに対する一致度が高い領域のデータを、部分画像データとして抽出し、畳み込み層と、プーリング層と、を有するニューラルネットワークに画像データを入力することにより、プーリング層から出力される第１の出力値を取得し、ニューラルネットワークに部分画像データを入力することにより、プーリング層から出力される第２の出力値を取得し、第１の出力値と、第２の出力値と、を比較する画像検索方法である。【００２８】画像データが有する画素データの数は、データベース画像データが有する画素データの数以下であってもよい。【００２９】画像データを、データベース画像データと領域ベースマッチングにより比較してもよい。【００３０】画像データは、複数の画素データを有し、画像データを基にして、設けられる画素データの数が異なる複数の画像データを生成した後、当該画像データを、データベース画像データと比較してもよい。【００３１】ニューラルネットワークは、データベース画像データを用いて学習を行ってもよい。
【発明の効果】
【００３２】本発明の一態様により、高い精度で画像を検索できる、画像検索システムを提供できる。又は、本発明の一態様により、画像検索を短時間で行える、画像検索システムを提供できる。又は、本発明の一態様により、新規な画像検索システムを提供できる。【００３３】又は、本発明の一態様により、高い精度で画像を検索できる、画像検索方法を提供できる。又は、本発明の一態様により、画像検索を短時間で行える、画像検索方法を提供できる。又は、本発明の一態様により、新規な画像検索方法を提供できる。【００３４】なお、これらの効果の記載は、他の効果の存在を妨げるものではない。本発明の一態様は、必ずしも、これらの効果の全てを有する必要はない。明細書、図面、請求項の記載から、これら以外の効果を抽出することが可能である。
【図面の簡単な説明】
【００３５】図１は、画像検索システムの構成例を示すブロック図である。
図２は、画像検索方法の一例を示すフローチャートである。
図３Ａ及び図３Ｂは、画像検索方法の一例を示す図である。
図４は、画像検索方法の一例を示す図である。
図５Ａ、並びに図５Ｂ１及び図５Ｂ２は、画像検索方法の一例を示す図である。
図６Ａ及び図６Ｂは、画像検索方法の一例を示す図である。
図７Ａ及び図７Ｂは、ニューラルネットワークの構成例を示す図である。
図８Ａ及び図８Ｂは、画像検索方法の一例を示す図である。
図９は、画像検索方法の一例を示す図である。
図１０は、ニューラルネットワークの構成例を示す図である。
図１１は、画像検索方法の一例を示す図である。
図１２は、画像検索方法の一例を示すフローチャートである。
図１３Ａ及び図１３Ｂは、画像検索方法の一例を示す図である。
図１４は、画像検索方法の一例を示す図である。
図１５は、画像検索方法の一例を示す図である。
図１６は、実施例に係るニューラルネットワークの構成を示す図である。
【発明を実施するための形態】
【００３６】実施の形態について、図面を用いて詳細に説明する。但し、本発明は以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【００３７】なお、以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、その繰り返しの説明は省略する。また、同様の機能を指す場合には、ハッチパターンを同じくする場合がある。
【００３８】（実施の形態）
本実施の形態では、本発明の一態様の画像検索システム、及び画像検索方法について、図面を用いて説明する。
【００３９】本発明の一態様の画像検索システムは、処理部と、データベースと、を有する。処理部はニューラルネットワークを有し、当該ニューラルネットワークは、ニューロンが設けられた層を有する。
【００４０】本明細書等において、ニューラルネットワークとは、生物の神経回路網を模し、学習によってニューロン同士の結合強度を決定し、問題解決能力を持たせるモデル全般を指す。
【００４１】本明細書等において、ニューラルネットワークについて述べる際に、既にある情報からニューロンとニューロンの結合強度（重み係数ともいう）を決定することを「学習」という。
【００４２】また、本明細書等において、学習によって得られた結合強度を用いてニューラルネットワークを構成し、そこから新たな結論を導くことを「推論」という。
【００４３】処理部には、クエリ画像を表すクエリ画像データと、データベースに記憶されているデータベース画像データとが入力される。本発明の一態様の画像検索システムの使用者は、クエリ画像を処理部に入力する。ここで、クエリ画像の画素数は、例えばデータベース画像の画素数以下とすることができる。本発明の一態様の画像検索システムは、クエリ画像と類似する画像を含むデータベース画像を検索する機能を有する。
【００４４】処理部は、例えば１個のクエリ画像データと、複数のデータベース画像データとを比較する機能を有する。具体的には、まず、クエリ画像データと、データベース画像データと、を領域ベースマッチング等により比較することにより、各データベース画像データの各領域について、クエリ画像データに対する一致度を算出する。次に、一致度が高い領域を含むデータベース画像データを、抽出画像データとして抽出する。その後、抽出画像データから、クエリ画像データに対する一致度が高い領域のデータである部分画像データを抽出する。
【００４５】本明細書等において、１個の画像データとは、例えば１枚の画像に対応する画像データを示す。
【００４６】次に、クエリ画像データと部分画像データとを、処理部が有するニューラルネットワークに入力する。これにより、ニューラルネットワークが有する層から出力される出力値を、処理部が取得することができる。ニューラルネットワークが有する層から出力される出力値は、例えばニューラルネットワークに入力した画像データの特徴量を示す。
【００４７】その後、部分画像データを入力した場合の上記出力値を、それぞれの部分画像データについて、クエリ画像データを入力した場合の上記出力値と比較する。これにより、それぞれの部分画像データについて、クエリ画像データに対する類似度を数値として算出することができる。よって、それぞれの抽出画像データについて、クエリ画像データに対する類似度を数値として算出することができる。
【００４８】以上、本発明の一態様の画像検索システムでは、ニューラルネットワークが有する層から出力される出力値を比較することにより、高い精度で短時間に上記類似度を算出することができる。よって、例えばクエリ画像とデータベース画像とを領域ベースマッチングのみにより比較する場合より、クエリ画像と類似する画像を一部に含むデータベース画像を、高い精度で検索することができる。また、例えばクエリ画像とデータベース画像とを特徴ベースマッチングのみにより比較する場合より、クエリ画像と類似する画像を一部に含むデータベース画像を、短時間で検索することができる。さらに、上記類似度を数値として算出することができることから、例えばそれぞれのデータベース画像において、クエリ画像に対する一致度の順位付けを行うことができる。
【００４９】＜１．画像検索システム＞
図１は、画像検索システム１０の構成例を示すブロック図である。画像検索システム１０は、少なくとも、処理部１３を有する。図１に示す画像検索システム１０は、さらに、入力部１１、伝送路１２、記憶部１５、データベース１７、及び出力部１９を有する。
【００５０】［入力部１１］
入力部１１には、画像検索システム１０の外部から画像データ等が供給される。入力部１１に供給された画像データ等は、伝送路１２を介して、処理部１３、記憶部１５、又はデータベース１７に供給される。
【００５１】［伝送路１２］
伝送路１２は、画像データ等を伝達する機能を有する。入力部１１、処理部１３、記憶部１５、データベース１７、及び出力部１９の間の情報の送受信は、伝送路１２を介して行うことができる。
【００５２】［処理部１３］
処理部１３は、入力部１１、記憶部１５、データベース１７等から供給された画像データ等を用いて、演算、推論等を行う機能を有する。処理部１３はニューラルネットワークを有し、当該ニューラルネットワークを用いて演算、推論等を行うことができる。また、処理部１３はニューラルネットワークを用いない演算等を行うことができる。処理部１３は、演算結果、推論結果等を、記憶部１５、データベース１７、出力部１９等に供給することができる。
【００５３】処理部１３には、チャネル形成領域に金属酸化物を有するトランジスタを用いることが好ましい。当該トランジスタはオフ電流が極めて低いため、当該トランジスタを記憶素子として機能する容量素子に流入した電荷（データ）を保持するためのスイッチとして用いることで、データの保持期間を長期にわたり確保することができる。この特性を、処理部１３が有するレジスタ及びキャッシュメモリのうち少なくとも一方に用いることで、必要なときだけ処理部１３を動作させ、他の場合には直前の処理の情報を当該記憶素子に待避させることにより処理部１３をオフにすることができる。すなわち、ノーマリーオフコンピューティングが可能となり、画像検索システムの低消費電力化を図ることができる。
【００５４】本明細書等において、金属酸化物（ｍｅｔａｌ  ｏｘｉｄｅ）とは、広い意味での金属の酸化物である。金属酸化物は、酸化物絶縁体、酸化物導電体（透明酸化物導電体を含む）、酸化物半導体（Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ又は単にＯＳともいう）等に分類される。例えば、トランジスタの半導体層に金属酸化物を用いた場合、当該金属酸化物を酸化物半導体と呼称する場合がある。つまり、金属酸化物が増幅作用、整流作用、及びスイッチング作用の少なくとも１つを有する場合、当該金属酸化物を、金属酸化物半導体（ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）、略してＯＳということができる。
【００５５】また、本明細書等において、チャネル形成領域に酸化物半導体又は金属酸化物を用いたトランジスタをＯｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒトランジスタ、あるいはＯＳトランジスタという。
【００５６】チャネル形成領域が有する金属酸化物はインジウム（Ｉｎ）を含むことが好ましい。チャネル形成領域が有する金属酸化物がインジウムを含む金属酸化物の場合、ＯＳトランジスタのキャリア移動度（電子移動度）が高くなる。また、チャネル形成領域が有する金属酸化物は、元素Ｍを含む酸化物半導体であると好ましい。元素Ｍは、好ましくは、アルミニウム（Ａｌ）、ガリウム（Ｇａ）又はスズ（Ｓｎ）等とする。そのほかの元素Ｍに適用可能な元素としては、ホウ素（Ｂ）、シリコン（Ｓｉ）、チタン（Ｔｉ）、鉄（Ｆｅ）、ニッケル（Ｎｉ）、ゲルマニウム（Ｇｅ）、イットリウム（Ｙ）、ジルコニウム（Ｚｒ）、モリブデン（Ｍｏ）、ランタン（Ｌａ）、セリウム（Ｃｅ）、ネオジム（Ｎｄ）、ハフニウム（Ｈｆ）、タンタル（Ｔａ）、タングステン（Ｗ）等がある。ただし、元素Ｍとして、前述の元素を複数組み合わせても構わない場合がある。元素Ｍは、例えば、酸素との結合エネルギーが高い元素である。例えば、酸素との結合エネルギーがインジウムよりも高い元素である。また、チャネル形成領域が有する金属酸化物は、亜鉛（Ｚｎ）を含む金属酸化物であると好ましい。亜鉛を含む金属酸化物は結晶化しやすくなる場合がある。
【００５７】チャネル形成領域が有する金属酸化物は、インジウムを含む金属酸化物に限定されない。半導体層は、例えば、亜鉛スズ酸化物、ガリウムスズ酸化物等の、インジウムを含まず、亜鉛を含む金属酸化物、ガリウムを含む金属酸化物、スズを含む金属酸化物等であっても構わない。
【００５８】処理部１３は、例えば、演算回路、又は中央演算装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等を有する。
【００５９】処理部１３は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のマイクロプロセッサを有していてもよい。マイクロプロセッサは、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＦＰＡＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ａｎａｌｏｇ  Ａｒｒａｙ）等のＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によって実現された構成であってもよい。処理部１３は、プロセッサにより種々のプログラムからの命令を解釈し実行することで、各種のデータ処理及びプログラム制御を行うことができる。プロセッサにより実行しうるプログラムは、プロセッサが有するメモリ領域及び記憶部１５のうち少なくとも一方に格納される。
【００６０】処理部１３はメインメモリを有していてもよい。メインメモリは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリ、及びＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性メモリのうち少なくとも一方を有する。
【００６１】ＲＡＭとしては、例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等が用いられ、処理部１３の作業空間として仮想的にメモリ空間が割り当てられ利用される。記憶部１５に格納されたオペレーティングシステム、アプリケーションプログラム、プログラムモジュール、プログラムデータ、及びルックアップテーブル等は、実行のためにＲＡＭにロードされる。ＲＡＭにロードされたこれらのデータ、プログラム、及びプログラムモジュールは、それぞれ、処理部１３に直接アクセスされ、操作される。
【００６２】ＲＯＭには、書き換えを必要としない、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）及びファームウェア等を格納することができる。ＲＯＭとしては、マスクＲＯＭ、ＯＴＰＲＯＭ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等が挙げられる。ＥＰＲＯＭとしては、紫外線照射により記憶データの消去を可能とするＵＶ−ＥＰＲＯＭ（Ｕｌｔｒａ−Ｖｉｏｌｅｔ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等が挙げられる。
【００６３】［記憶部１５］
記憶部１５は、処理部１３が実行するプログラムを記憶する機能を有する。また、記憶部１５は、処理部１３が生成した演算結果及び推論結果、並びに、入力部１１に入力された画像データ等を記憶する機能を有していてもよい。
【００６４】記憶部１５は、揮発性メモリ及び不揮発性メモリのうち少なくとも一方を有する。記憶部１５は、例えば、ＤＲＡＭ、ＳＲＡＭ等の揮発性メモリを有していてもよい。記憶部１５は、例えば、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、抵抗変化型メモリともいう）、ＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、磁気抵抗型メモリともいう）、又はフラッシュメモリ等の不揮発性メモリを有していてもよい。また、記憶部１５は、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ：ＨＤＤ）及びソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ：ＳＳＤ）等の記録メディアドライブを有していてもよい。
【００６５】［データベース１７］
データベース１７は、画像データを記憶する機能を有する。また、データベース１７は、処理部１３が生成した演算結果及び推論結果、並びに、入力部１１に入力された画像データ等を記憶する機能を有していてもよい。なお、記憶部１５及びデータベース１７は互いに分離されていなくてもよい。例えば、画像検索システム１０は、記憶部１５及びデータベース１７の双方の機能を有する記憶ユニットを有していてもよい。
【００６６】本明細書等において、データベース等に記憶されている画像データをデータベース画像データという。また、データベース画像データに対応する画像をデータベース画像という。
【００６７】［出力部１９］
出力部１９は、画像検索システム１０の外部に情報を供給する機能を有する。例えば、処理部１３における演算結果又は推論結果等を外部に供給することができる。
【００６８】＜２．画像検索方法−１＞
図２は、画像検索システム１０を用いた画像検索方法の一例を示すフローチャートである。
【００６９】［ステップＳ０１］
まず、処理部１３に、画像データＧＤとデータベース画像データＧＤＤＢとが入力される。
【００７０】画像データＧＤは、画像検索システム１０の外部から入力部１１に入力される。その後、画像データＧＤは、入力部１１から、伝送路１２を介して処理部１３に供給される。又は、画像データＧＤは、伝送路１２を介して記憶部１５又はデータベース１７に記憶され、記憶部１５又はデータベース１７から、伝送路１２を介して処理部１３に供給されてもよい。
【００７１】データベース画像データＧＤＤＢは、データベース１７から、伝送路１２を介して処理部１３に供給される。又は、データベース画像データＧＤＤＢは、記憶部１５から、伝送路１２を介して処理部１３に供給されてもよい。
【００７２】ここで、画像データＧＤは、例えばクエリ画像データということができる。画像データＧＤに対応する画像の画素数は、データベース画像の画素数以下とすることができる。つまり、クエリ画像の画素数は、データベース画像の画素数以下とすることができる。画像検索システム１０は、画像データＧＤに対応する画像と類似する画像を一部に含むデータベース画像を検索することができる。つまり、画像検索システム１０は、例えばクエリ画像と類似する画像を一部に含むデータベース画像を検索することができる。
【００７３】画像データＧＤ及びデータベース画像データＧＤＤＢは、知的財産の情報が有する図面を表すデータとすることができる。ここで、知的財産の情報としては、例えば特許文献（公開特許公報、特許公報など）、実用新案公報、意匠公報、及び論文などの刊行物が挙げられる。国内で発行された刊行物に限られず、世界各国で発行された刊行物を、知的財産の情報として用いることができる。
【００７４】知的財産の情報は、刊行物に限られない。例えば、画像検索システムの使用者又は使用団体が独自に有する画像ファイルなどの各種ファイルも、画像データＧＤ又はデータベース画像データＧＤＤＢとして用いることができる。
【００７５】さらに、知的財産の情報としては、発明、考案又は意匠を説明する図面等が挙げられる。これらは、画像データＧＤ及びデータベース画像データＧＤＤＢのいずれにも好適である。
【００７６】画像データＧＤは、例えば、出願前の発明、考案又は意匠を説明する図面に対応するデータとすることができる。
【００７７】データベース画像データＧＤＤＢは、例えば、特定の出願人の特許文献に記載されている図面を表すデータ、又は特定の技術分野の特許文献に記載されている図面を表すデータを有することができる。
【００７８】画像検索システム１０を用いることにより、例えば出願前の発明と類似する特許文献、論文、又は工業製品を検索することができる。これにより、出願前の発明に係る先行技術調査をすることができる。関連する先行技術を把握し再検討することで、発明を強化し、他社が回避困難な強い特許になる発明とすることができる。
【００７９】また、画像検索システム１０を用いることにより、例えば発売前の工業製品と類似する特許文献、論文、又は工業製品を検索することができる。データベース画像データＧＤＤＢが自社の特許文献に記載されている画像に対応するデータを有する場合、発売前の工業製品に係る技術が社内で十分に特許出願できているかを確認することができる。又は、データベース画像データＧＤＤＢが他社の特許文献に記載されている画像に対応するデータを有する場合、発売前の工業製品が他社の知的財産権を侵害していないかを確認することができる。関連する先行技術を把握し再検討することで、新たな発明を発掘し、自社の事業に貢献する強い特許になる発明とすることができる。なお、発売前の工業製品に限らず、発売後の工業製品について、検索してもよい。
【００８０】また、例えば、画像検索システム１０を用いて、特定の特許と類似する特許文献、論文、又は工業製品を検索することができる。特に、当該特許の出願日を基準に調べることで、当該特許が無効理由を含まないか、簡便かつ高い精度で調査することができる。
【００８１】［ステップＳ０２］
次に、処理部１３が、画像データＧＤとデータベース画像データＧＤＤＢとを比較し、画像データＧＤに対する一致度が高い領域を含むデータベース画像データＧＤＤＢを抽出する。ここで、抽出したデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとする。画像データＧＤとデータベース画像データＧＤＤＢとの比較は、例えば領域ベースマッチングにより行うことができる。
【００８２】ステップＳ０２の動作の一例について、図３乃至図５を用いて詳細に説明する。ステップＳ０２では、図３Ａに示すように、画像データＧＤをｎ個（ｎは１以上の整数）のデータベース画像データＧＤＤＢのそれぞれと比較する。ここで、ｎは、データベース１７に記憶されているデータベース画像データＧＤＤＢの数と同数でもよいし、それより少なくてもよい。また、ｎは、データベース１７に記憶されているデータベース画像データＧＤＤＢの数よりも多くてもよい。この場合は、データベース１７に記憶されているデータベース画像データＧＤＤＢの他に、記憶部１５に記憶されている画像データ、及び／又は画像検索システム１０の外部から入力部１１を介して処理部１３に入力された画像データと、画像データＧＤとを比較する。なお、ｎがデータベース画像データＧＤＤＢの数以下であっても、記憶部１５に記憶されている画像データ、及び／又は画像検索システム１０の外部から入力部１１を介して処理部１３に入力された画像データと、画像データＧＤとを比較してもよい。
【００８３】ｎが小さい場合、ステップＳ０２の動作を短時間で行うことができる。一方、ｎが大きい場合、画像データＧＤに対する一致度が高い領域を含むデータベース画像データＧＤＤＢの抽出を高い精度で行うことができる。
【００８４】本明細書等において、複数の要素を区別するために、符号の後に［１］、［２］等を記載する場合がある。例えば図３Ａでは、データベース画像データＧＤＤＢ［１］、データベース画像データＧＤＤＢ［２］、データベース画像データＧＤＤＢ［ｎ］と記載して、ｎ個のデータベース画像データＧＤＤＢを区別している。
【００８５】図３Ｂは、画像データＧＤと、データベース画像データＧＤＤＢとを領域ベースマッチングにより比較する場合の手順について説明する図である。ここで、画像データＧＤに対応する画像の画素数は２×２、データベース画像データＧＤＤＢに対応する画像の画素数は４×４とする。つまり、画像データＧＤは２×２の画素データを有し、データベース画像データＧＤＤＢは４×４の画素データを有するとする。
【００８６】図３Ｂにおいて、画像データＧＤが有する２×２の画素データを、それぞれ画素データｄ１１、画素データｄ１２、画素データｄ２１、画素データｄ２２とする。例えば、画像データＧＤにおいて、１行１列目の画素に対応する画素データを画素データｄ１１、１行２列目の画素に対応する画素データを画素データｄ１２、２行１列目の画素に対応する画素データを画素データｄ２１、２行２列目の画素に対応する画素データを画素データｄ２２とする。また、データベース画像データＧＤＤＢが有する４×４の画素データを、それぞれ画素データｄｄｂ１１乃至画素データｄｄｂ４４とする。例えば、データベース画像データＧＤＤＢにおいて、１行１列目の画素に対応する画素データを画素データｄｄｂ１１、１行４列目の画素に対応する画素データを画素データｄｄｂ１４、４行１列目の画素に対応する画素データを画素データｄｄｂ４１、４行４列目の画素に対応する画素データを画素データｄｄｂ４４とする。
【００８７】本明細書等において、画素データとは、画素毎の輝度を表すデータを示す。例えば、画素データが８ビットの場合、各画素の輝度を２５６階調で表すことができる。画像データは、画素データの集合を含むということができ、例えば画素と同数の画素データを含むことができる。例えば、画像の画素数が２×２である場合、当該画像を表す画像データは、２×２の画素データを含むということができる。
【００８８】まず、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄ２１、及び画素データｄｄｂ２２と、を比較する。これにより、画像データＧＤと、データベース画像データＧＤＤＢのうち画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、及び画素データｄｄｂ２２から構成される領域と、の一致度を算出することができる。なお、図３Ｂでは、データベース画像データＧＤＤＢが有する画素データのうち、画像データＧＤと比較される画素データを、比較データ領域２１として点線で囲って示している。
【００８９】次に、比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して１列分移動させ、同様に画素データを比較し、一致度を算出する。具体的には、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１２、画素データｄｄｂ１３、画素データｄｄｂ２２、及び画素データｄｄｂ２３と、を比較する。これにより、画像データＧＤと、データベース画像データＧＤＤＢのうち画素データｄｄｂ１２、画素データｄｄｂ１３、画素データｄｄｂ２２、及び画素データｄｄｂ２３から構成される領域と、の一致度を算出することができる。
【００９０】その後も、比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して１列分移動させ、同様に画素データを比較し、一致度を算出する。具体的には、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１３、画素データｄｄｂ１４、画素データｄｄｂ２３、及び画素データｄｄｂ２４と、を比較する。これにより、画像データＧＤと、データベース画像データＧＤＤＢのうち画素データｄｄｂ１３、画素データｄｄｂ１４、画素データｄｄｂ２３、及び画素データｄｄｂ２４から構成される領域と、の一致度を算出することができる。
【００９１】次に、比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して１行分移動させ、データベース画像データＧＤＤＢが有する画素データのうち、２行目の画素データ、及び３行目の画素データと、画像データＧＤとを上記と同様に１列ごとに比較する。これにより、データベース画像データＧＤＤＢが有する、２行目及び３行目の画素データと、画像データＧＤとの一致度を上記と同様に１列ごとに算出することができる。
【００９２】その後、比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して１行分移動させ、データベース画像データＧＤＤＢが有する画素データのうち、３行目の画素データ、及び４行目の画素データと、画像データＧＤとを上記と同様に１列ごとに比較する。これにより、データベース画像データＧＤＤＢが有する、３行目及び４行目の画素データと、画像データＧＤとの一致度を上記と同様に１列ごとに算出することができる。
【００９３】以上の動作を行った後、例えば最も高い一致度を、データベース画像データＧＤＤＢの画像データＧＤに対する一致度とする。以上をｎ個のデータベース画像データＧＤＤＢのそれぞれについて行う。その後、ｎ個のデータベース画像データＧＤＤＢの中から、画像データＧＤとの一致度が高いデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出する。例えば一致度が高いデータベース画像データＧＤＤＢから順に、規定の数を抽出画像データＧＤＥｘとして抽出してもよい。又は、例えば画像データＧＤとの一致度が規定値以上のデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出してもよい。
【００９４】また、データベース画像データＧＤＤＢの抽出を行わなくてもよい。これは、画像データＧＤとの比較を行ったデータベース画像データＧＤＤＢの全てを、抽出画像データＧＤＥｘとすると言い換えることができる。
【００９５】図４は、データベース画像データＧＤＤＢの抽出について説明する図である。図４は、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［３］から、１個の画像データを抽出画像データＧＤＥｘとして抽出する場合を示している。
【００９６】図４に示す画像データＧＤに対応する画像には、例えばトランジスタの記号が含まれているものとする。また、図４に示すデータベース画像データＧＤＤＢ［２］に対応する画像にはトランジスタの記号が含まれているが、データベース画像データＧＤＤＢ［１］に対応する画像、及びデータベース画像データＧＤＤＢ［３］に対応する画像にはトランジスタの記号が含まれていないものとする。この場合、データベース画像データＧＤＤＢ［２］の画像データＧＤに対する一致度は、データベース画像データＧＤＤＢ［１］及びデータベース画像データＧＤＤＢ［３］の画像データＧＤに対する一致度より高くなる。よって、データベース画像データＧＤＤＢ［２］を、抽出画像データＧＤＥｘとして抽出することができる。
【００９７】なお、画像データＧＤとデータベース画像データＧＤＤＢの比較、及び一致度の算出は、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）、ＮＣＣ（Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ  Ｃｏｒｒｅｌａｔｉｏｎ）、ＺＮＣＣ（Ｚｅｒｏ−ｍｅａｎ  Ｎｏｒｍａｌｉｚｅｄ  Ｃｒｏｓｓ  Ｃｏｒｒｅｌａｔｉｏｎ）、ＰＯＣ（Ｐｈａｓｅ−Ｏｎｌｙ  Ｃｏｒｒｅｌａｔｉｏｎ）等により行うことができる。
【００９８】また、図３Ｂでは比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して１列分、又は１行分ずつ移動させているが、本発明の一態様はこれに限らない。比較データ領域２１をデータベース画像データＧＤＤＢが有する画素データに対して２列分以上移動させてもよいし、２行分以上移動させてもよい。例えば、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、画素データｄｄｂ２２と、を比較した直後に、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１３、画素データｄｄｂ１４、画素データｄｄｂ２３、及び画素データｄｄｂ２４と、を比較してもよい。この場合、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１２、画素データｄｄｂ１３、画素データｄｄｂ２２、及び画素データｄｄｂ２３と、の比較は行わないこととなる。また、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ１３、画素データｄｄｂ１４、画素データｄｄｂ２３、及び画素データｄｄｂ２４と、を比較した直後に、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、画素データｄｄｂ３１、画素データｄｄｂ３２、画素データｄｄｂ４１、画素データｄｄｂ４２と、を比較してもよい。
【００９９】比較データ領域２１の移動幅を大きくすることにより、画像データＧＤが有する画素データと、データベース画像データＧＤＤＢが有する画素データと、の比較演算の回数を減少させることができる。これにより、データベース画像データＧＤＤＢの画像データＧＤに対する一致度の算出を短時間で行うことができる。
【０１００】図３Ａでは、１個の画像データＧＤを、ｎ個のデータベース画像データＧＤＤＢとそれぞれ比較する場合を示しているが、本発明の一態様はこれに限られない。図５Ａに示すように、処理部１３に入力された画像データＧＤを基にして、画素データ数が異なる複数の画像データを生成してもよい。図５Ａは、処理部１３に入力された画像データＧＤを基にして、それぞれ画素データ数が異なる画像データＧＤ［１］、画像データＧＤ［２］、及び画像データＧＤ［３］を生成する場合を示している。図５Ａに示すように、画像データＧＤ［１］に対応する画像の画素数と、画像データＧＤ［２］に対応する画像の画素数と、画像データＧＤ［３］に対応する画像の画素数と、はそれぞれ異なる。つまり、画像データＧＤ［１］乃至画像データＧＤ［３］に対応する画像は、処理部１３に入力された画像データＧＤに対応する画像を拡大又は縮小したものであるということができる。
【０１０１】複数の画像データＧＤを生成する場合、当該複数の画像データＧＤのそれぞれについて、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれと比較する。これにより、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれについて、複数の画像データＧＤのそれぞれに対する一致度を算出することができる。そして、例えば上記複数の画像データＧＤに対する一致度のうち最も高い一致度を、データベース画像データＧＤＤＢの、処理部１３に入力された画像データＧＤに対する一致度とすることができる。
【０１０２】例えば、図５Ａに示す場合では、画像データＧＤ［１］をデータベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれと比較し、画像データＧＤ［２］をデータベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれと比較し、画像データＧＤ［３］をデータベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれと比較する。これにより、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［ｎ］のそれぞれについて、画像データＧＤ［１］に対する一致度、画像データＧＤ［２］に対する一致度、及び画像データＧＤ［３］に対する一致度を算出することができる。
【０１０３】そして、例えば画像データＧＤ［１］に対する一致度、画像データＧＤ［２］に対する一致度、及び画像データＧＤ［３］に対する一致度のうち最も高い一致度を、データベース画像データＧＤＤＢの、処理部１３に入力された画像データＧＤに対する一致度とすることができる。例えば、データベース画像データＧＤＤＢ［１］の画像データＧＤ［１］に対する一致度、画像データＧＤ［２］に対する一致度、及び画像データＧＤ［３］に対する一致度のうち最も高い一致度を、データベース画像データＧＤＤＢ［１］の、処理部１３に入力された画像データＧＤに対する一致度とすることができる。
【０１０４】画像データＧＤに対応する画像と、データベース画像データＧＤＤＢに対応する画像と、に同一の要素が示されている場合であっても、両要素の大きさが異なる場合、当該データベース画像データＧＤＤＢには、画像データＧＤに対する一致度が高い領域が含まれないと判断される可能性がある。図５Ｂ１に示す場合では、画像データＧＤに対応する画像と、データベース画像データＧＤＤＢに対応する画像と、の両方に、トランジスタの記号という同一の要素が示されている。しかし、画像データＧＤに対応する画像に示されているトランジスタの記号の大きさと、データベース画像データＧＤＤＢに対応する画像に示されているトランジスタの記号の大きさとが異なっている。この場合、データベース画像データＧＤＤＢの画像データＧＤに対する一致度が低いと判断される可能性がある。
【０１０５】一方、図５Ｂ２に示す場合では、画像データＧＤに対応する画像と、データベース画像データＧＤＤＢに対応する画像と、の両方に、トランジスタの記号という同一の要素が示されており、さらに両要素の大きさも等しい。よって、データベース画像データＧＤＤＢに、画像データＧＤに対する一致度が高い領域が含まれると処理部１３が判断することができる。
【０１０６】図５Ａに示すように、画素データ数が異なる複数の画像データＧＤを生成することで、画像データＧＤに対応する画像に示されている要素の大きさを拡大、又は縮小することができる。よって、処理部１３に入力された画像データＧＤに対応する画像と、データベース画像データＧＤＤＢに対応する画像と、に同一の要素が異なる大きさで示されている場合であっても、両画像データの一致度を高いものとすることができる。例えば、処理部１３に図５Ｂ１に示す画像データＧＤが処理部１３に入力された場合、当該画像データＧＤが有する画素データの数を異ならせて図５Ｂ２に示す画像データＧＤを生成することにより、データベース画像データＧＤＤＢの画像データＧＤに対する一致度を高いものとすることができる。以上により、データベース画像データＧＤＤＢの、処理部１３に入力された画像データＧＤに対する一致度を高い精度で算出することができる。
【０１０７】［ステップＳ０３］
次に、抽出画像データＧＤＥｘから、画像データＧＤに対する一致度が高い領域のデータである部分画像データＧＤｐａｒｔを処理部１３が抽出する。例えば、図３Ｂに示す方法により、データベース画像データＧＤＤＢの各領域の画像データＧＤに対する一致度をそれぞれ算出した場合、一致度が最も高い領域を部分画像データＧＤｐａｒｔとして抽出する。よって、部分画像データＧＤｐａｒｔが有する画素データの数は、画像データＧＤが有する画素データの数と等しくすることができる。
【０１０８】図６Ａ、図６Ｂは、ステップＳ０３の動作の一例を示す図である。図６Ａ、図６Ｂに示す抽出画像データＧＤＥｘ［１］乃至抽出画像データＧＤＥｘ［４］において、画像データＧＤに対する一致度が高い領域を、ハッチングを付して示している。図６Ａ、図６Ｂに示すように、ハッチングを付した領域を抽出して、部分画像データＧＤｐａｒｔ［１］部分画像データＧＤｐａｒｔ［４］とすることができる。図６Ａ、図６Ｂでは、抽出画像データＧＤＥｘ［１］乃至抽出画像データＧＤＥｘ［４］から抽出した画像データを、それぞれ部分画像データＧＤｐａｒｔ［１］乃至部分画像データＧＤｐａｒｔ［４］としている。
【０１０９】図６Ａは、図３Ａに示すように１個の画像データＧＤに対して、データベース画像データＧＤＤＢとの比較を行った場合を示している。この場合、部分画像データＧＤｐａｒｔに対応する画像の画素数は、全て等しくすることができる。
【０１１０】図６Ｂは、図５Ａに示すように画素データの数が異なる複数の画像データＧＤに対して、データベース画像データＧＤＤＢとの比較を行った場合を示している。この場合、部分画像データＧＤｐａｒｔに対応する画像の画素数は、例えば一致度が最も高い画像データＧＤに対応する画像の画素数と等しくすることができる。よって、部分画像データＧＤｐａｒｔが複数存在する場合、部分画像データＧＤｐａｒｔに対応する画像の画素数が、部分画像データＧＤｐａｒｔごとに異なる場合がある。図６Ｂでは、部分画像データＧＤｐａｒｔ［１］乃至部分画像データＧＤｐａｒｔ［４］に対応する画像の画素数がそれぞれ異なる場合を示している。
【０１１１】なお、部分画像データＧＤｐａｒｔの抽出を行わなくてもよい。この場合は、部分画像データＧＤｐａｒｔを適宜抽出画像データＧＤＥｘと読み替えることで、以降の説明を適用することができる。又は、抽出画像データＧＤＥｘの全体を部分画像データＧＤｐａｒｔとすることができるということができる。例えば、画像データＧＤが有する画素データの数が、抽出画像データＧＤＥｘが有する画素データの数と等しい場合は、部分画像データＧＤｐａｒｔの抽出を行わなくても本発明の一態様の画像検索方法を実行することができる。また、画像データＧＤが有する画素データの数と、抽出画像データＧＤＥｘが有する画素データの数とが異なる場合であっても、部分画像データＧＤｐａｒｔの抽出を行わなくても本発明の一態様の画像検索方法を実行することができる。この場合、例えば画像データＧＤ及び抽出画像データＧＤＥｘの一方又は両方の画像データが有する画素データの数を増加又は減少させることにより、本発明の一態様の画像検索方法を実行することができる。
【０１１２】［ステップＳ０４］
次に、画像データＧＤと部分画像データＧＤｐａｒｔとを、処理部１３が有するニューラルネットワークに入力する。
【０１１３】図７Ａは、処理部１３が有するニューラルネットワークであるニューラルネットワーク３０の構成例を示す図である。ニューラルネットワーク３０は、層３１［１］乃至層３１［ｍ］（ｍは１以上の整数）を有する。
【０１１４】層３１［１］乃至層３１［ｍ］は、ニューロンを有し、各層に設けられているニューロン同士が結合されている。例えば、層３１［１］に設けられているニューロンは、層３１［２］に設けられているニューロンと結合されている。また、層３１［２］に設けられているニューロンは、層３１［１］に設けられているニューロン、及び層３１［３］に設けられているニューロンと結合されている。つまり、層３１［１］乃至層３１［ｍ］により、階層型のニューラルネットワークが構成されている。
【０１１５】画像データＧＤ及び部分画像データＧＤｐａｒｔは層３１［１］に入力され、層３１［１］は入力された画像データに対応するデータを出力する。当該データは層３１［２］に入力され、層３１［２］は入力されたデータに対応するデータを出力する。層３１［ｍ］には層３１［ｍ−１］から出力されたデータが入力され、層３１［ｍ］は当該入力されたデータに対応するデータを出力する。以上より、層３１［１］を入力層、層３１［２］乃至層３１［ｍ−１］を中間層、層３１［ｍ］を出力層とすることができる。
【０１１６】ステップＳ０４では、画像データＧＤをニューラルネットワーク３０に入力した場合に層３１［１］乃至層３１［ｍ］から出力されるデータの値（出力値）を、処理部１３が取得する。また、部分画像データＧＤｐａｒｔをニューラルネットワーク３０に入力した場合に層３１［１］乃至層３１［ｍ］から出力される出力値を、例えば全ての部分画像データＧＤｐａｒｔについて処理部１３が取得する。ここで、層３１［１］乃至層３１［ｍ］から出力される出力値は、例えばニューラルネットワーク３０に入力された画像データの特徴量を表す。
【０１１７】ニューラルネットワーク３０は、例えば層３１［１］乃至層３１［ｍ］から出力される出力値が、ニューラルネットワーク３０に入力された画像データの特徴量を表すようにあらかじめ学習されている。学習は、教師なし学習、教師あり学習等により行うことができる。特に、教師なし学習は、教師データ（正解ラベルともいう）が不要であるため好ましい。また、教師なし学習、教師あり学習のどちらの方法で学習を行う場合であっても、学習アルゴリズムとして誤差逆伝播方式等を用いることができる。
【０１１８】ここで、学習データとして、データベース画像データＧＤＤＢを用いることが好ましい。これにより、例えば層３１［１］乃至層３１［ｍ］から出力される出力値を、ニューラルネットワーク３０に入力された画像データの特徴量を正確に表すものとすることができる。例えば、データベース１７に記憶されているデータベース画像データＧＤＤＢの全てを学習データに用いて、ニーラルネットワーク３０は学習を行うことができる。例えば、データベース画像データＧＤＤＢの一部を学習データに用いて、ニューラルネットワーク３０は学習を行うことができる。例えば、データベース画像データＧＤＤＢの他に、記憶部１５に記憶されている画像データ、及び画像検索システム１０の外部から入力部１１を介して処理部１３に入力された画像データを学習データに用いて、ニューラルネットワーク３０は学習を行うことができる。
【０１１９】なお、学習データとして、データベース画像データＧＤＤＢを用いなくてもよい。例えば、画像検索システム１０の外部から入力部１１を介して処理部１３に入力された画像データのみを学習データに用いて、ニューラルネットワーク３０は学習を行うことができる。
【０１２０】学習データに用いる画像データが有する画素データの数と、ニューラルネットワーク３０に入力する画像データが有する画素データの数とは等しいことが好ましい。よって、ニューラルネットワーク３０が学習を行う際には、学習データに用いるデータベース画像データＧＤＤＢ等は、必要に応じて画素データの数を増加又は減少させて調整することが好ましい。また、ニューラルネットワーク３０に画像データＧＤ又は部分画像データＧＤｐａｒｔを入力する際には、当該画像データＧＤ又は部分画像データＧＤｐａｒｔは必要に応じて画素データの数を増加又は減少させて調整することが好ましい。ここで、画素データの増加は、例えばパディングにより行うことが好ましく、例えばゼロパディングにより行うことが好ましい。
【０１２１】図８Ａは、データベース画像データＧＤＤＢが有する画素データの数の調整について説明する図である。図８Ａに示す場合では、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［４］が有する画素データの数が、全て異なっている。この場合、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［４］をニューラルネットワーク３０の学習データに用いる際には、図８Ａに示すようにデータベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［４］が有する画素データの数を揃えることが好ましい。
【０１２２】図８Ｂは、部分画像データＧＤｐａｒｔが有する画素データの数の調整について説明する図である。部分画像データＧＤｐａｒｔは、データベース１７等に記憶されているデータベース画像データＧＤＤＢが有する画素データの一部である。図８Ｂに示す場合では、部分画像データＧＤｐａｒｔ［１］乃至部分画像データＧＤｐａｒｔ［４］が有する画素データの数が、全て異なっている。このような場合であっても、パディング等により、部分画像データＧＤｐａｒｔが有する画素データの数は、ニューラルネットワーク３０の学習に用いた画像データが有する画素データの数と等しくすることが好ましい。同様に、ニューラルネットワーク３０に画像データＧＤを入力する際には、当該画像データＧＤが有する画素データの数は、ニューラルネットワーク３０の学習に用いた画像データが有する画素データの数と等しくすることが好ましい。
【０１２３】ニューラルネットワーク３０は、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とすることができる。図７Ｂは、ニューラルネットワーク３０としてＣＮＮを適用した場合の、ニューラルネットワーク３０の構成例を示す図である。ここで、ＣＮＮを適用したニューラルネットワーク３０を、ニューラルネットワーク３０ａとする。
【０１２４】ニューラルネットワーク３０ａは、畳み込み層ＣＬ、プーリング層ＰＬ、及び全結合層ＦＣＬを有する。図７Ｂでは、ニューラルネットワーク３０ａが、畳み込み層ＣＬとプーリング層ＰＬをそれぞれｍ層（ｍは１以上の整数）ずつ有し、全結合層ＦＣＬを１層有する場合を示している。なお、ニューラルネットワーク３０ａは、全結合層ＦＣＬを２層以上有してもよい。
【０１２５】畳み込み層ＣＬは、当該畳み込み層ＣＬに入力されたデータに対して畳み込みを行う機能を有する。例えば、畳み込み層ＣＬ［１］は、画像データに対して畳み込みを行う機能を有する。また、畳み込み層ＣＬ［２］は、プーリング層ＰＬ［１］から出力されたデータに対して畳み込みを行う機能を有する。また、畳み込み層ＣＬ［ｍ］は、プーリング層ＰＬ［ｍ−１］から出力されたデータに対して畳み込みを行う機能を有する。
【０１２６】畳み込みは、畳み込み層ＣＬに入力されたデータと、重みフィルタのフィルタ値と、の積和演算を繰り返すことにより行われる。畳み込み層ＣＬにおける畳み込みにより、ニューラルネットワーク３０ａに入力された画像データに対応する画像の特徴等が抽出される。
【０１２７】畳み込みが施されたデータは、活性化関数によって変換された後、プーリング層ＰＬに出力される。活性化関数としては、ＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔｓ）等を用いることができる。ＲｅＬＵは、入力値が負である場合は“０”を出力し、入力値が“０”以上である場合は入力値をそのまま出力する関数である。また、活性化関数として、シグモイド関数、ｔａｎｈ関数等を用いることもできる。
【０１２８】プーリング層ＰＬは、畳み込み層ＣＬから入力されたデータに対してプーリングを行う機能を有する。プーリングは、データを複数の領域に分割し、当該領域ごとに所定のデータを抽出してマトリクス状に配置する処理である。プーリングにより、畳み込み層ＣＬによって抽出された特徴を残しつつ、データ量を小さくすることができる。また、入力データの微小なずれに対するロバスト性を高めることができる。なお、プーリングとしては、最大プーリング、平均プーリング、Ｌｐプーリング等を用いることができる。
【０１２９】全結合層ＦＣＬは、畳み込み及びプーリングが行われた画像データを用いて、画像の判定を行う機能を有する。全結合層ＦＣＬは、ある層の全てのノードが、次の層の全てのノードと接続された構成を有する。畳み込み層ＣＬ又はプーリング層ＰＬから出力されたデータは２次元の特徴マップであり、全結合層ＦＣＬに入力されると１次元に展開される。そして、全結合層ＦＣＬによる推論によって得られたデータが、全結合層ＦＣＬから出力される。
【０１３０】なお、ニューラルネットワーク３０ａの構成は図７Ｂの構成に限定されない。例えば、プーリング層ＰＬが複数の畳み込み層ＣＬごとに設けられていてもよい。つまり、ニューラルネットワーク３０ａが有するプーリング層ＰＬの数は、畳み込み層ＣＬの数より少なくてもよい。また、抽出された特徴の位置情報を極力残したい場合は、プーリング層ＰＬを設けなくてもよい。
【０１３１】ニューラルネットワーク３０ａは学習を行うことにより、重みフィルタのフィルタ値、全結合層ＦＣＬの重み係数等を最適化することができる。
【０１３２】次に、畳み込み層ＣＬにおいて行われる畳み込み処理、及びプーリング層ＰＬにおいて行われるプーリング処理の一例について、図９を用いて説明する。図９において、畳み込み層ＣＬに入力されたデータは、３行３列の入力データ値（入力データ値ｉ１１、入力データ値ｉ１２、入力データ値ｉ１３、入力データ値ｉ２１、入力データ値ｉ２２、入力データ値ｉ２３、入力データ値ｉ３１、入力データ値ｉ３２、入力データ値ｉ３３）を有するとする。また、重みフィルタは、２行２列のフィルタ値（フィルタ値ｆ１１、フィルタ値ｆ１２、フィルタ値ｆ２１、フィルタ値ｆ２２）を有するとする。ここで、例えば畳み込み層ＣＬ［１］に入力される上記入力データ値は、画素データが表す階調値とすることができる。また、例えば畳み込み層ＣＬ［２］に入力される上記入力データ値は、プーリング層ＰＣ［１］の出力値とすることができ、畳み込み層ＣＬ［ｍ］に入力される上記入力データ値は、プーリング層ＰＣ［ｍ−１］の出力値とすることができる。
【０１３３】畳み込みは、入力データ値とフィルタ値との積和演算によって行われる。フィルタ値は、所定の特徴を示すデータ（特徴データという）とすることができる。この場合、入力データ値とフィルタ値を比較することにより、ニューラルネットワーク３０ａに入力された画像データに対して特徴抽出を行うことができる。
【０１３４】図９では、畳み込み層ＣＬが、入力データ値ｉ１１、入力データ値ｉ１２、入力データ値ｉ２１、及び入力データ値ｉ２２に対してフィルタ処理を行うことにより、畳み込み層ＣＬから出力される出力値である畳み込み値Ｃ１１を取得する様子を示している。また、畳み込み層ＣＬが、入力データ値ｉ１２、入力データ値ｉ１３、入力データ値ｉ２２、及び入力データ値ｉ２３に対してフィルタ処理を行うことにより、畳み込み層ＣＬから出力される出力値である畳み込み値Ｃ１２を取得する様子を示している。また、畳み込み層ＣＬが、入力データ値ｉ２１、入力データ値ｉ２２、入力データ値ｉ３１、及び入力データ値ｉ３２に対してフィルタ処理を行うことにより、畳み込み層ＣＬから出力される出力値である畳み込み値Ｃ２１を取得する様子を示している。さらに、畳み込み層ＣＬが、入力データ値ｉ２２、入力データ値ｉ２３、入力データ値ｉ３２、及び入力データ値ｉ３３に対してフィルタ処理を行うことにより、畳み込み層ＣＬから出力される出力値である畳み込み値Ｃ２２を取得する様子を示している。以上より、図９に示す畳み込み処理のストライドは１であるということができる。
【０１３５】畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２は、それぞれ下式に示す積和演算により取得することができる。
【０１３６】
【数１】
2020099985.tif 000003
【０１３７】
【数２】
2020099985.tif 000004
【０１３８】
【数３】
2020099985.tif 000005
【０１３９】
【数４】
2020099985.tif 000006
【０１４０】畳み込み層ＣＬが取得した畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２は、アドレスに従ってマトリクス状に配列された後、プーリング層ＰＬに出力される。具体的には、畳み込み値Ｃ１１は１行１列目に配置され、畳み込み値Ｃ１２は１行２列目に配置され、畳み込み値Ｃ２１は２行１列目に配置され、畳み込み値Ｃ２２は２行２列目に配置される。
【０１４１】図９では、プーリング層ＰＬに畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２が入力され、当該４個の畳み込み値を基に１個の値をプーリング値Ｐとする様子を示している。例えば、畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２のうち、最大値をプーリング値Ｐとすることができる。又は、畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２の平均値をプーリング値Ｐとすることができる。プーリング値Ｐは、プーリング層ＰＬから出力される出力値となる。
【０１４２】図９では、畳み込み層ＣＬに入力されるデータを１個の重みフィルタにより処理する場合を示しているが、２個以上の重みフィルタにより処理してもよい。この場合、ニューラルネットワーク３０ａに入力された画像データに含まれる複数の特徴を抽出することができる。畳み込み層ＣＬに入力されるデータを２個以上の重みフィルタにより処理する場合、フィルタごとに図９に示す処理を行う。また、前述のように図９ではストライドは１としたが、ストライドを２以上としてもよい。
【０１４３】図１０は、ニューラルネットワーク３０ａが有する畳み込み層ＣＬ、及びプーリング層ＰＬの構成例を示す図である。図１０では、畳み込み層ＣＬ及びプーリング層ＰＬが図９に示す動作を行う場合を示している。
【０１４４】図１０には、ニューロン３２を示している。具体的には、ニューロン３２として、ニューロン３２ａ、ニューロン３２ｂ、及びニューロン３２ｃを示している。図１０において、ニューロン３２から出力される出力値を、当該ニューロン３２の内部に記載している。当該出力値は、矢印の方向に出力される。また、当該出力値に重み係数を乗ずる場合は、矢印の近傍に重み係数を記載している。図１０では、フィルタ値ｆ１１、フィルタ値ｆ１２、フィルタ値ｆ２１、及びフィルタ値ｆ２２を重み係数としている。
【０１４５】ニューロン３２ａは、図１０に示す畳み込み層ＣＬの前の層である層Ｌが有するニューロン３２である。層Ｌは、例えば図１０に示す畳み込み層ＣＬが畳み込み層ＣＬ［１］である場合は入力層とすることができ、畳み込み層ＣＬ［２］である場合はプーリング層ＰＬ［１］とすることができ、畳み込み層ＣＬ［ｍ］である場合はプーリング層ＰＬ［ｍ−１］とすることができる。
【０１４６】図１０では、ニューロン３２ａとして、ニューロン３２ａ［１］乃至ニューロン３２ａ［９］を示している。図１０に示す場合において、ニューロン３２ａ［１］は入力データ値ｉ１１を出力し、ニューロン３２ａ［２］は入力データ値ｉ１２を出力し、ニューロン３２ａ［３］は入力データ値ｉ１３を出力し、ニューロン３２ａ［４］は入力データ値ｉ２１を出力し、ニューロン３２ａ［５］は入力データ値ｉ２２を出力し、ニューロン３２ａ［６］は入力データ値ｉ２３を出力し、ニューロン３２ａ［７］は入力データ値ｉ３１を出力し、ニューロン３２ａ［８］は入力データ値ｉ３２を出力し、ニューロン３２ａ［９］は入力データ値ｉ３３を出力する。
【０１４７】ニューロン３２ｂは、図１０に示す畳み込み層ＣＬが有するニューロン３２である。図１０では、ニューロン３２ｂとして、ニューロン３２ｂ［１］乃至ニューロン３２ｂ［４］を示している。
【０１４８】図１０に示す場合において、ニューロン３２ｂ［１］には、入力データ値ｉ１１にフィルタ値ｆ１１を乗じた値と、入力データ値ｉ１２にフィルタ値ｆ１２を乗じた値と、入力データ値ｉ２１にフィルタ値ｆ２１を乗じた値と、入力データ値ｉ２２にフィルタ値ｆ２２を乗じた値と、が入力される。そして、これらの値の和である畳み込み値Ｃ１１が、ニューロン３２ｂ［１］から出力される。
【０１４９】また、ニューロン３２ｂ［２］には、入力データ値ｉ１２にフィルタ値ｆ１１を乗じた値と、入力データ値ｉ１３にフィルタ値ｆ１２を乗じた値と、入力データ値ｉ２２にフィルタ値ｆ２１を乗じた値と、入力データ値ｉ２３にフィルタ値ｆ２２を乗じた値と、が入力される。そして、これらの値の和である畳み込み値Ｃ１２が、ニューロン３２ｂ［２］から出力される。
【０１５０】また、ニューロン３２ｂ［３］には、入力データ値ｉ２１にフィルタ値ｆ１１を乗じた値と、入力データ値ｉ２２にフィルタ値ｆ１２を乗じた値と、入力データ値ｉ３１にフィルタ値ｆ２１を乗じた値と、入力データ値ｉ３２にフィルタ値ｆ２２を乗じた値と、が入力される。そして、これらの値の和である畳み込み値Ｃ２１が、ニューロン３２ｂ［３］から出力される。
【０１５１】さらに、ニューロン３２ｂ［４］には、入力データ値ｉ２２にフィルタ値ｆ１１を乗じた値と、入力データ値ｉ２３にフィルタ値ｆ１２を乗じた値と、入力データ値ｉ３２にフィルタ値ｆ２１を乗じた値と、入力データ値ｉ３３にフィルタ値ｆ２２を乗じた値と、が入力される。そして、これらの値の和である畳み込み値Ｃ２２が、ニューロン３２ｂ［４］から出力される。
【０１５２】図１０に示すように、ニューロン３２ｂ［１］乃至ニューロン３２ｂ［４］のそれぞれは、ニューロン３２ａ［１］乃至ニューロン３２ａ［９］の一部と結合されている。よって、畳み込み層ＣＬは部分結合層であるということができる。
【０１５３】ニューロン３２ｃは、図１０に示すプーリング層ＰＬが有するニューロン３２である。図１０に示す場合において、ニューロン３２ｃには、畳み込み値Ｃ１１、畳み込み値Ｃ１２、畳み込み値Ｃ２１、及び畳み込み値Ｃ２２が入力される。そして、プーリング値Ｐがニューロン３２ｃから出力される。なお、ニューロン３２ｂから出力される畳み込み値には、重み係数は乗じない。前述のように、重み係数は、ニューラルネットワークの学習によって最適化されるパラメータである。よって、プーリング層ＰＬが演算の際用いるパラメータには、学習によって最適化されるパラメータが存在しない構成とすることができる。
【０１５４】［ステップＳ０５］
次に、処理部１３が有するニューラルネットワークに画像データＧＤを入力した場合に当該ニューラルネットワークが有する層から出力される出力値と、部分画像データＧＤｐａｒｔを入力した場合に当該ニューラルネットワークが有する層から出力される出力値と、を比較する。これにより、部分画像データＧＤｐａｒｔの、画像データＧＤに対する類似度を数値として算出する。
【０１５５】処理部１３が図７Ａに示す構成のニューラルネットワーク３０を有する場合、例えば、層３１［１］乃至層３１［ｍ］のいずれかから出力される出力値を比較する。例えば、層３１［ｍ］から出力される出力値を比較する。なお、層３１［１］乃至層３１［ｍ］のうち、１層の出力値のみを比較してもよいし、２層以上の出力値を比較してもよい。多くの層３１の出力値を比較することにより、部分画像データＧＤｐａｒｔの、画像データＧＤに対する類似度を高い精度で算出することができる。
【０１５６】本明細書等において、処理部１３が有するニューラルネットワークに画像データＧＤを入力した場合に当該ニューラルネットワークが有する層から出力される出力値のうち、上記比較を行う出力値を出力値ＶＧＤとする。また、処理部１３が有するニューラルネットワークに部分画像データＧＤｐａｒｔを入力した場合に当該ニューラルネットワークが有する層から出力される出力値のうち、上記比較を行う出力値を出力値ＶＧＤｐａｒｔとする。つまり、ステップＳ０５では、出力値ＶＧＤと出力値ＶＧＤｐａｒｔとを比較する。
【０１５７】図７Ａでは、出力値ＶＧＤ及び出力値ＶＧＤｐａｒｔを、層３１［ｍ］からの出力値としている。
【０１５８】処理部１３が図７Ｂに示す構成のニューラルネットワーク３０ａを有する場合、例えば、プーリング層ＰＬ［１］乃至プーリング層ＰＬ［ｍ］のいずれかから出力される出力値を比較する。例えば、プーリング層ＰＬ［ｍ］からの出力値を比較する。なお、畳み込み層ＰＬ［１］乃至畳み込み層ＰＬ［ｍ］のいずれか出力される出力値を比較してもよいし、全結合層ＦＣＬから出力される出力値を比較してもよい。
【０１５９】また、畳み込み層ＣＬ［１］乃至畳み込み層ＣＬ［ｍ］、プーリング層ＰＬ［１］乃至プーリング層ＰＬ［ｍ］、及び全結合層ＦＣＬのうち、１層の出力値のみを比較してもよいし、２層以上の出力値を比較してもよい。多くの層の出力値を比較することにより、部分画像データＧＤｐａｒｔの、画像データＧＤに対する類似度を高い精度で算出することができる。
【０１６０】図７Ｂでは、出力値ＶＧＤ及び出力値ＶＧＤｐａｒｔを、プーリング層ＰＬ［ｍ］からの出力値としている。
【０１６１】図１１は、ｘ行ｙ列（ｘ、ｙは１以上の整数）のプーリング値Ｐを出力するプーリング層ＰＬからの出力値を、出力値ＶＧＤ及び出力値ＶＧＤｐａｒｔとする場合を示している。図１１に示す場合では、画像データＧＤと、ｋ個（ｋは１以上の整数）の部分画像データＧＤｐａｒｔと、がニューラルネットワーク３０ａに入力されるとしている。
【０１６２】本明細書等において、例えばｋ個の部分画像データＧＤｐａｒｔに対応する出力値ＶＧＤｐａｒｔを、それぞれ出力値ＶＧＤｐａｒｔ［１］乃至出力値ＶＧＤｐａｒｔ［ｋ］と記載して区別している。
【０１６３】図１１等において、出力値ＶＧＤはプーリング値ＰＧＤ［１，１］乃至プーリング値ＰＧＤ［ｘ，ｙ］を有するとしている。また、例えば出力値ＶＧＤｐａｒｔ［１］はプーリング値Ｐ１ｐａｒｔ［１，１］乃至プーリング値Ｐ１ｐａｒｔ［ｘ，ｙ］を有し、出力値ＶＧＤｐａｒｔ［２］はプーリング値Ｐ２ｐａｒｔ［１，１］乃至プーリング値Ｐ２ｐａｒｔ［ｘ，ｙ］を有し、出力値ＶＧＤｐａｒｔ［ｋ］はプーリング値Ｐｋｐａｒｔ［１，１］乃至プーリング値Ｐｋｐａｒｔ［ｘ，ｙ］を有するとしている。
【０１６４】図１１に示す場合では、出力値ＶＧＤを出力値ＶＧＤｐａｒｔ［１］乃至出力値ＶＧＤｐａｒｔ［ｋ］のそれぞれと比較する。これにより、ｋ個の部分画像データＧＤｐａｒｔのそれぞれについて、画像データＧＤに対する類似度を算出する。例えば、コサイン類似度を算出する。又は、ユークリッド類似度、ミンコフスキー類似度等を算出してもよい。以上により、画像データＧＤに対応する画像と類似する画像を一部に含むデータベース画像を検索することができる。
【０１６５】以上、画像検索システム１０では、処理部１３に設けられているニューラルネットワークが有する層の出力値を比較することにより、高い精度で短時間に上記類似度を算出することができる。よって、例えば画像データＧＤとデータベース画像データＧＤＤＢとを領域ベースマッチングのみにより比較する場合より、画像データＧＤに対応する画像と類似する画像を一部に含むデータベース画像を、高い精度で検索することができる。また、例えば画像データＧＤとデータベース画像データＧＤＤＢとを特徴ベースマッチングのみにより比較する場合より、画像データＧＤに対応する画像と類似する画像を一部に含むデータベース画像を、短時間で検索することができる。さらに、上記類似度を数値として算出することができることから、例えばそれぞれのデータベース画像において、画像データＧＤに対応する画像に対する一致度の順位付けを行うことができる。
【０１６６】また、画像検索システム１０では、画像データＧＤとデータベース画像データＧＤＤＢとを領域ベースマッチング等により比較し、画像データＧＤに対する一致度が高い領域を含むデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出している。その後、抽出画像データＧＤＥｘから部分画像データＧＤｐａｒｔを抽出し、画像データＧＤと部分画像データＧＤｐａｒｔを、処理部１３が有するニューラルネットワークに入力している。このように、データベース画像データＧＤＤＢの抽出を行うことにより、画像データＧＤに対応する画像と一致度が高い画像を含まないデータベース画像を表すデータベース画像データＧＤＤＢが、処理部１３が有するニューラルネットワークに入力されることを抑制することができる。よって、画像データＧＤに対応する画像と類似する画像を一部に含むデータベース画像を、高い精度で短時間に検索することができる。なお、画像データＧＤと比較するデータベース画像データＧＤＤＢの数が少ない場合等は、データベース画像データＧＤＤＢの抽出を行わなくても、高い精度で短時間に上記検索を行うことができる。
【０１６７】＜３．画像検索方法−２＞
上記では、処理部１３に入力される画像データＧＤが有する画素データの数が、データベース画像データＧＤＤＢが有する画素データの数以下であるとして、本発明の一態様の画像検索方法を説明したが、本発明の一態様はこれに限らない。処理部１３に入力される画像データＧＤが有する画素データの数が、データベース画像データＧＤＤＢが有する画素データの数より多くてもよい。この場合、画像検索システム１０は、例えばクエリ画像の一部と類似するデータベース画像を検索することができる。
【０１６８】図１２は、画像データＧＤが有する画素データの数が、データベース画像データＧＤＤＢが有する画素データの数より多い場合における、画像検索システム１０を用いた画像検索方法の一例を示すフローチャートである。
【０１６９】［ステップＳ１１］
まず、図２に示すステップＳ０１と同様に、画像データＧＤとデータベース画像データＧＤＤＢとが処理部１３に入力される。
【０１７０】［ステップＳ１２］
次に、処理部１３が、画像データＧＤとデータベース画像データＧＤＤＢとを比較し、画像データＧＤの一部に対する一致度が高いデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出する。画像データＧＤとデータベース画像データＧＤＤＢとの比較は、ステップＳ０２と同様に例えば領域ベースマッチングにより行うことができる。
【０１７１】ステップＳ１２の動作の一例について、図１３及び図１４を用いて詳細に説明する。ステップＳ１２では、図１３Ａに示すように、画像データＧＤをｎ個のデータベース画像データＧＤＤＢのそれぞれと比較する。
【０１７２】図１３Ｂは、画像データＧＤと、データベース画像データＧＤＤＢとを領域ベースマッチングにより比較する場合の手順について説明する図である。ここで、画像データＧＤに対応する画像の画素数は４×４、データベース画像データＧＤＤＢに対応する画像の画素数は２×２とする。つまり、画像データＧＤは４×４の画素データを有し、データベース画像データＧＤＤＢは２×２の画素データを有するとする。
【０１７３】図１３Ｂにおいて、画像データＧＤが有する４×４の画素データを、それぞれ画素データｄ１１乃至画素データｄ４４とする。例えば、画像データＧＤにおいて、１行１列目の画素に対応する画素データを画素データｄ１１、１行４列目の画素に対応する画素データを画素データｄ１４、４行１列目の画素に対応する画素データを画素データｄ４１、４行４列目の画素に対応する画素データを画素データｄ４４とする。また、データベース画像データＧＤＤＢが有する２×２の画素データを、それぞれ画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、画素データｄｄｂ２２とする。例えば、データベース画像データＧＤＤＢにおいて、１行１列目の画素に対応する画素データを画素データｄｄｂ１１、１行２列目の画素に対応する画素データを画素データｄｄｂ１２、２行１列目の画素に対応する画素データを画素データｄｄｂ２１、２行２列目の画素に対応する画素データを画素データｄｄｂ２２とする。
【０１７４】まず、画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、及び画素データｄｄｂ２２と、画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２と、を比較する。これにより、データベース画像データＧＤＤＢと、画像データＧＤのうち画素データｄ１１、画素データｄ１２、画素データｄ２１、及び画素データｄ２２から構成される領域と、の一致度を算出することができる。なお、図１３Ｂでは、画像データＧＤが有する画素データのうち、データベース画像データＧＤＤＢと比較される画素データを、比較データ領域２１として点線で囲って示している。
【０１７５】次に、比較データ領域２１を画像データＧＤが有する画素データに対して１列分移動させ、同様に画素データを比較し、一致度を算出する。具体的には、画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、及び画素データｄｄｂ２２と、画素データｄ１２、画素データｄ１３、画素データｄ２２、及び画素データｄ２３と、を比較する。これにより、データベース画像データＧＤＤＢと、画像データＧＤのうち画素データｄ１２、画素データｄ１３、画素データｄ２２、及び画素データｄ２３から構成される領域と、の一致度を算出することができる。
【０１７６】その後も、比較データ領域２１を画像データＧＤが有する画素データに対して１列分移動させ、同様に画素データを比較し、一致度を算出する。具体的には、画素データｄｄｂ１１、画素データｄｄｂ１２、画素データｄｄｂ２１、及び画素データｄｄｂ２２と、画素データｄ１３、画素データｄ１４、画素データｄ２３、及び画素データｄ２４と、を比較する。これにより、データベース画像データＧＤＤＢと、画像データＧＤのうち画素データｄ１３、画素データｄ１４、画素データｄ２３、及び画素データｄ２４から構成される領域と、の一致度を算出することができる。
【０１７７】次に、比較データ領域２１を画像データＧＤが有する画素データに対して１行分移動させ、画像データＧＤが有する画素データのうち、２行目の画素データ、及び３行目の画素データと、データベース画像データＧＤＤＢとを上記と同様に１列ごとに比較する。これにより、画像データＧＤが有する、２行目及び３行目の画素データと、データベース画像データＧＤＤＢとの一致度を上記と同様に１列ごとに算出することができる。
【０１７８】その後、比較データ領域２１を画像データＧＤが有する画素データに対して１行分移動させ、画像データＧＤが有する画素データのうち、３行目の画素データ、及び４行目の画素データと、データベース画像データＧＤＤＢとを上記と同様に１列ごとに比較する。これにより、画像データＧＤが有する、３行目及び４行目の画素データと、データベース画像データＧＤＤＢとの一致度を上記と同様に１列ごとに算出することができる。
【０１７９】以上の動作を行った後、例えば最も高い一致度を、データベース画像データＧＤＤＢの画像データＧＤに対する一致度とする。以上をｎ個のデータベース画像データＧＤＤＢのそれぞれについて行う。その後、ステップＳ０２と同様に、ｎ個のデータベース画像データＧＤＤＢの中から、画像データＧＤとの一致度が高いデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出する。なお、ステップＳ０２と同様に、データベース画像データＧＤＤＢの抽出を行わなくてもよい。
【０１８０】図１４は、データベース画像データＧＤＤＢの抽出について説明する図である。図１４は、データベース画像データＧＤＤＢ［１］乃至データベース画像データＧＤＤＢ［３］から、１個の画像データを抽出画像データＧＤＥｘとして抽出する場合を示している。
【０１８１】図１４に示す画像データＧＤに対応する画像には、例えばトランジスタの記号、及び容量素子の記号が含まれているものとする。また、図１４に示すデータベース画像データＧＤＤＢ［２］に対応する画像にはトランジスタの記号が含まれているが、データベース画像データＧＤＤＢ［１］に対応する画像、及びデータベース画像データＧＤＤＢ［３］に対応する画像には、トランジスタの記号、及び容量素子の記号のいずれもが含まれていないものとする。この場合、データベース画像データＧＤＤＢ［２］の画像データＧＤに対する一致度は、データベース画像データＧＤＤＢ［１］及びデータベース画像データＧＤＤＢ［３］の画像データＧＤに対する一致度より高くなる。よって、データベース画像データＧＤＤＢ［２］を、抽出画像データＧＤＥｘとして抽出することができる。
【０１８２】なお、画像データＧＤとデータベース画像データＧＤＤＢの比較、及び一致度の算出は、ステップＳ０２で用いることができる方法と同様の方法を用いることができる。また、図１３Ｂでは比較データ領域を画像データＧＤが有する画素データに対して１列分、又は１行分ずつ移動させているが、ステップＳ０２と同様に、比較データ領域２１を画像データＧＤが有する画素データに対して２列分以上移動させてもよいし、２行分以上移動させてもよい。さらに、図５Ａに示す場合と同様に、処理部１３に入力された画像データＧＤを基にして、画素データ数が異なる複数の画像データＧＤを生成してもよい。
【０１８３】［ステップＳ１３］
次に、画像データＧＤから、抽出画像データＧＤＥｘに対する一致度が高い領域のデータである部分画像データＧＤｐａｒｔ−ｑを処理部１３が抽出する。例えば、図１３Ｂに示す方法で、画像データＧＤの各領域の、データベース画像データＧＤＤＢに対する一致度をそれぞれ算出した場合、一致度が最も高い領域を部分画像データＧＤｐａｒｔ−ｑとして抽出する。よって、部分画像データＧＤｐａｒｔ−ｑが有する画素データの数は、抽出画像データＧＤＥｘが有する画素データの数と等しくすることができる。
【０１８４】図１５は、ステップＳ１３の動作の一例を示す図である。図１５に示す画像データＧＤは、左上にトランジスタの記号が表され、右下に容量素子の記号が表された回路図に対応するものとする。そして、抽出画像データＧＤＥｘ［１］に対応する画像はトランジスタの記号を含み、抽出画像データＧＤＥｘ［２］に対応する画像は容量素子の記号を含むものとする。
【０１８５】図１５に示す場合では、画像データＧＤに対応する画像の左上部分が、抽出画像データＧＤＥｘ［１］に対する一致度が最も高い領域となる。したがって、画像データＧＤのうち、左上の領域に対応するデータを部分画像データＧＤｐａｒｔ−ｑ［１］とする。一方、画像データＧＤに対応する画像の右下部分が、抽出画像データＧＤＥｘ［２］に対する一致度が最も高い領域となる。したがって、画像データＧＤのうち、右下の領域に対応するデータを部分画像データＧＤｐａｒｔ−ｑ［２］とする。つまり、１個の画像データＧＤから複数の部分画像データＧＤｐａｒｔ−ｑが抽出されている。
【０１８６】ステップＳ１３において、抽出画像データＧＤＥｘと同数の画像データを、画像データＧＤから部分画像データＧＤｐａｒｔ−ｑとして抽出してもよい。又は、抽出画像データＧＤＥｘより少ない数の画像データを、画像データＧＤから部分画像データＧＤｐａｒｔ−ｑとして抽出してもよい。例えば、複数の抽出画像データＧＤＥｘに対して、一致度が高い画像データＧＤの領域が同一である場合には、当該同一の領域については、画像データＧＤから抽出される部分画像データＧＤｐａｒｔ−ｑの数は１個とすることができる。つまり、同一の部分画像データＧＤｐａｒｔ−ｑを、画像データＧＤから複数抽出しなくてもよい。
【０１８７】なお、部分画像データＧＤｐａｒｔ−ｑの抽出を行わなくてもよい。この場合は、部分画像データＧＤｐａｒｔ−ｑを適宜画像データＧＤと読み替えることで、以降の説明を適用することができる。又は、画像データＧＤの全体を部分画像データＧＤｐａｒｔ−ｑとすることができるということができる。例えば、画像データＧＤが有する画素データの数が、抽出画像データＧＤＥｘが有する画素データの数と等しい場合は、部分画像データＧＤｐａｒｔ−ｑの抽出を行わなくても本発明の一態様の画像検索方法を実行することができる。また、画像データＧＤが有する画素データの数と、抽出画像データＧＤＥｘが有する画素データの数とが異なる場合であっても、部分画像データＧＤｐａｒｔ−ｑの抽出を行わなくても本発明の一態様の画像検索方法を実行することができる。この場合、例えば画像データＧＤ及び抽出画像データＧＤＥｘの一方又は両方の画像データが有する画素データの数を増加又は減少させることにより、本発明の一態様の画像検索方法を実行することができる。
【０１８８】［ステップＳ１４］
次に、部分画像データＧＤｐａｒｔ−ｑと抽出画像データＧＤＥｘとを、処理部１３が有するニューラルネットワークに入力する。当該ニューラルネットワークは、図７Ａ、図７Ｂに示す構成とすることができる。
【０１８９】ステップＳ１４における動作は、適宜画像データＧＤを部分画像データＧＤｐａｒｔ−ｑと読み替え、部分画像データＧＤｐａｒｔを抽出画像データＧＤＥｘと読み替えること等により、ステップＳ０４の説明を参照することができる。なお、画像データＧＤを抽出画像データＧＤＥｘと読み替え、部分画像データＧＤｐａｒｔを部分画像データＧＤｐａｒｔ−ｑと読み替える場合もある。
【０１９０】［ステップＳ１５］
次に、処理部１３が有するニューラルネットワークに抽出画像データＧＤＥｘを入力した場合に当該ニューラルネットワークが有する層から出力される出力値と、部分画像データＧＤｐａｒｔ−ｑを入力した場合に当該ニューラルネットワークが有する層から出力される出力値と、を比較する。これにより、抽出画像データＧＤＥｘの、部分画像データＧＤｐａｒｔ−ｑに対する類似度を数値として算出する。
【０１９１】具体的には、抽出画像データＧＤＥｘの、当該抽出画像データＧＤＥｘに対応する部分画像データＧＤｐａｒｔ−ｑに対する類似度を算出する。例えば、図１５に示すように、画像データＧＤと抽出画像データＧＤＥｘ［１］を比較して画像データＧＤから部分画像データＧＤｐａｒｔ−ｑ［１］を抽出し、画像データＧＤと抽出画像データＧＤＥｘ［２］を比較して画像データＧＤから部分画像データＧＤｐａｒｔ−ｑ［２］を抽出したとする。この場合、例えば抽出画像データＧＤＥｘ［１］の、部分画像データＧＤｐａｒｔ−ｑ［１］に対する類似度を算出する。また、抽出画像データＧＤＥｘ［２］の、部分画像データＧＤｐａｒｔ−ｑ［２］に対する類似度を算出する。
【０１９２】処理部１３が図７Ａに示す構成のニューラルネットワーク３０を有する場合、ステップＳ０５と同様に、例えば、層３１［１］乃至層３１［ｍ］のいずれかから出力される出力値を比較する。例えば、層３１［ｍ］から出力される出力値を比較する。なお、層３１［１］乃至層３１［ｍ］のうち、１層の出力値のみを比較してもよいし、２層以上の出力値を比較してもよい。
【０１９３】処理部１３が図７Ｂに示す構成のニューラルネットワーク３０ａを有する場合、ステップＳ０５と同様に、例えば、プーリング層ＰＬ［１］乃至プーリング層ＰＬ［ｍ］のいずれかから出力される出力値を比較する。例えば、プーリング層ＰＬ［ｍ］からの出力値を比較する。なお、畳み込み層ＰＬ［１］乃至畳み込み層ＰＬ［ｍ］のいずれか出力される出力値を比較してもよいし、全結合層ＦＣＬから出力される出力値を比較してもよい。
【０１９４】本明細書等において、上記比較を行う出力値のうち、処理部１３が有するニューラルネットワークに部分画像データＧＤｐａｒｔ−ｑを入力した場合に当該ニューラルネットワークが有する層から出力される出力値を出力値ＶＧＤｐａｒｔ−ｑとする。また、上記比較を行う出力値のうち、処理部１３が有するニューラルネットワークに抽出画像データＧＤＥｘを入力した場合に当該ニューラルネットワークが有する層から出力される出力値を出力値ＶＧＤＥｘとする。つまり、ステップＳ１５では、出力値ＶＧＤｐａｒｔ−ｑと出力値ＶＧＤＥｘとを比較する。
【０１９５】ステップＳ１５における動作は、適宜出力値ＶＧＤを出力値ＶＧＤｐａｒｔ−ｑと読み替え、出力値ＶＧＤｐａｒｔを出力値ＶＧＤＥｘと読み替えること等により、ステップＳ０５の説明を参照することができる。ステップＳ１５を行うことにより、画像データＧＤに対応する画像の一部と類似するデータベース画像を検索することができる。
【０１９６】前述のように、画像検索システム１０では、処理部１３に設けられているニューラルネットワークが有する層の出力値を比較することにより、高い精度で短時間に、抽出画像データＧＤＥｘの部分画像データＧＤｐａｒｔ−ｑに対する類似度を算出することができる。よって、例えば画像データＧＤとデータベース画像データＧＤＤＢとを領域ベースマッチングのみにより比較する場合より、画像データＧＤに対応する画像の一部と類似するデータベース画像を、高い精度で検索することができる。また、例えば画像データＧＤとデータベース画像データＧＤＤＢとを特徴ベースマッチングのみにより比較する場合より、画像データＧＤに対応する画像の一部と類似するデータベース画像を、短時間で検索することができる。さらに、上記類似度を数値として算出することができることから、例えばそれぞれのデータベース画像において、画像データＧＤに対応する画像に対する一致度の順位付けを行うことができる。
【０１９７】また、画像検索システム１０では、画像データＧＤとデータベース画像データＧＤＤＢとを領域ベースマッチング等により比較し、画像データＧＤの一部に対する一致度が高いデータベース画像データＧＤＤＢを、抽出画像データＧＤＥｘとして抽出している。その後、画像データＧＤから部分画像データＧＤｐａｒｔ−ｑを抽出し、部分画像データＧＤｐａｒｔ−ｑと抽出画像データＧＤＥｘを、処理部１３が有するニューラルネットワークに入力している。このように、データベース画像データＧＤＤＢの抽出を行うことにより、画像データＧＤに対応する画像の一部と一致度が高い画像を含まないデータベース画像を表すデータベース画像データＧＤＤＢが、処理部１３が有するニューラルネットワークに入力されることを抑制することができる。よって、画像データＧＤに対応する画像の一部と類似するデータベース画像を、高い精度で短時間に検索することができる。なお、画像データＧＤと比較するデータベース画像データＧＤＤＢの数が少ない場合等は、データベース画像データＧＤＤＢの抽出を行わなくても、高い精度で短時間に上記検索を行うことができる。
【実施例】
【０１９８】本実施例では、画像検索システムに画像を入力し、当該画像と類似する部分を含むデータベース画像を検索した結果について説明する。【０１９９】本実施例では、画像検索システムに１枚の画像を入力した。その後、当該画像と類似する部分を含むデータベース画像を、条件１と条件２により１００枚ずつ検索した。条件１、条件２のいずれにおいても、画像検索システムに入力した画像は回路図とし、データベース画像として回路図、グラフ等を用意した。【０２００】条件１では、画像検索システムに入力した画像に対応する画像データＧＤと、データベース画像データＧＤＤＢと、を領域ベースマッチングにより比較し、一致度が高い順に１００枚のデータベース画像を検索した。【０２０１】条件２では、実施の形態の図２に示す方法により、画像検索システムに入力した画像と類似する部分を含むデータベース画像を検索した。具体的には、まず、画像データＧＤとデータベース画像データＧＤＤＢとを領域ベースマッチングにより比較し、一致度が高い順に４００個のデータベース画像データＧＤＤＢを抽出画像データＧＤＥｘとして抽出した。次に、４００個の抽出画像データＧＤＥｘのそれぞれについて、画像データＧＤに対する一致度が最も高い領域のデータを部分画像データＧＤｐａｒｔとして抽出した。次に、図１６に示すように、畳み込み層ＣＬ［１］乃至畳み込み層ＣＬ［５］、プーリング層ＰＬ［１］乃至プーリング層ＰＬ［５］、及び全結合層ＦＣＬ［１］乃至全結合層ＦＣＬ［３］から構成されているニューラルネットワークに、画像データＧＤと部分画像データＧＤｐａｒｔとを入力した。次に、ニューラルネットワークに画像データＧＤを入力した場合にプーリング層ＰＬ［５］から出力される出力値を出力値ＶＧＤ、部分画像データＧＤｐａｒｔを入力した場合にプーリング層ＰＬ［５］から出力される出力値を出力値ＶＧＤｐａｒｔとして、出力値ＶＧＤと出力値ＶＧＤｐａｒｔとを比較して類似度を算出した。その後、画像データＧＤに対する類似度が高い順に１００個の部分画像データＧＤｐａｒｔを抽出し、抽出した部分画像データＧＤｐａｒｔを含むデータベース画像を検索した。【０２０２】条件１では、検索された１００枚のデータベース画像のうち、回路図を含む画像は６枚であった。一方、条件２では検索された１００枚のデータベース画像のうち、３０枚が回路図を含む画像であった。以上より、条件２では、画像検索システムに入力した画像と類似する部分を含むデータベース画像を、条件１より多く検索することができることが確認された。
【符号の説明】
【０２０３】１０：画像検索システム、１１：入力部、１２：伝送路、１３：処理部、１５：記憶部、１７：データベース、１９：出力部、２１：比較データ領域、３０：ニューラルネットワーク、３０ａ：ニューラルネットワーク、３１：層、３２：ニューロン、３２ａ：ニューロン、３２ｂ：ニューロン、３２ｃ：ニューロン
【図１】
2020099985.tif 000007
【図２】
2020099985.tif 000008
【図３Ａ】
2020099985.tif 000009
【図３Ｂ】
2020099985.tif 000010
【図４】
2020099985.tif 000011
【図５Ａ】
2020099985.tif 000012
【図５Ｂ１】
2020099985.tif 000013
【図５Ｂ２】
2020099985.tif 000014
【図６Ａ】
2020099985.tif 000015
【図６Ｂ】
2020099985.tif 000016
【図７Ａ】
2020099985.tif 000017
【図７Ｂ】
2020099985.tif 000018
【図８Ａ】
2020099985.tif 000019
【図８Ｂ】
2020099985.tif 000020
【図９】
2020099985.tif 000021
【図１０】
2020099985.tif 000022
【図１１】
2020099985.tif 000023
【図１２】
2020099985.tif 000024
【図１３Ａ】
2020099985.tif 000025
【図１３Ｂ】
2020099985.tif 000026
【図１４】
2020099985.tif 000027
【図１５】
2020099985.tif 000028
【図１６】
2020099985.tif 000029
【国際調査報告】
2020099985.tif 000030
2020099985.tif 000031
2020099985.tif 000032
2020099985.tif 000033