-
Technisches Gebiet
-
Eine Ausführungsform der vorliegenden Erfindung betrifft ein Bildsuchsystem und ein Bildsuchverfahren.
-
Es sei angemerkt, dass eine Ausführungsform der vorliegenden Erfindung nicht auf das vorstehende technische Gebiet beschränkt ist. Beispiele für das technische Gebiet einer Ausführungsform der vorliegenden Erfindung umfassen eine Halbleitervorrichtung, eine Anzeigevorrichtung, eine Licht emittierende Vorrichtung, eine Energiespeichervorrichtung, eine Speichervorrichtung, ein elektronisches Gerät, eine Beleuchtungsvorrichtung, ein Betriebsverfahren dafür und ein Herstellungsverfahren dafür.
-
Stand der Technik
-
Eine Recherche zum Stand der Technik vor der Anmeldung einer Erfindung kann aufzeigen, ob es bereits ein mit dieser in Zusammenhang stehendes geistiges Eigentum gibt. Referenzen, wie z. B. inländische oder ausländische Patentdokumente und Aufsätze, die durch die Recherche zum Stand der Technik erhalten werden, sind hilfreich, um die Neuheit und erfinderische Tätigkeit der Erfindung zu bestätigen und zu entscheiden, ob die Anmeldung eingereicht werden soll. Darüber hinaus kann eine Patentnichtigkeitsrecherche der Referenzen zeigen, ob die Möglichkeit besteht, dass das Patentrecht eines Anmelders für ungültig erklärt werden könnte, oder ob man das Patentrecht eines anderen Anmelders für ungültig erklären kann.
-
Beispielsweise kann die vorstehende Recherche zum Stand der Technik erfolgen, indem Referenzen, die Zeichnungen offenbaren, die einer eine Technik vor der Anmeldung verkörpernden Zeichnung ähnlich sind, gesucht werden. Wenn insbesondere beispielsweise ein Benutzer eine Zeichnung in ein Bildsuchsystem eingibt, können Referenzen gesucht werden, die Zeichnungen umfassen, die der eingegebenen Zeichnung ähnlich sind.
-
Bilder, die einem eingegebenen Bild ähnlich sind, können beispielsweise unter Verwendung eines neuronalen Netzes gesucht werden. Beispielsweise offenbart Patentdokument 1 ein Verfahren, in dem die Ähnlichkeit zwischen Bildern unter Verwendung eines neuronalen Netzes beurteilt wird.
-
[Referenz]
-
[Patentdokument]
-
[Patentdokument 1] Japanische Patentoffenlegungsschrift Nr. 2017-207947
-
Zusammenfassung der Erfindung
-
Durch die Erfindung zu lösendes Problem
-
Wenn die Ähnlichkeit zwischen einem eingegebenen Bild und einem zu suchenden Bild unter Verwendung von nur Bilddaten berechnet wird, wird beispielsweise mitunter ein Bild, dessen Konzept sich von demjenigen des eingegebenen Bildes unterscheidet, gesucht. Demzufolge wird in einigen Fällen ein Bild, das als Rauschen dient, in dem Suchergebnis vermischt, und deswegen kann ein Bild, das gesucht werden soll, nicht ausgegeben werden. Dementsprechend kann sich die Suchgenauigkeit eines ähnlichen Bildes verringern.
-
Eine Aufgabe einer Ausführungsform der vorliegenden Erfindung ist daher, ein Bildsuchsystem mit hoher Suchgenauigkeit bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Bildsuchsystem, das eine kurze Suche ermöglicht, bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Bildsuchsystem, das eine einfache Suche ermöglicht, bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein neuartiges Bildsuchsystem bereitzustellen.
-
Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Bildsuchverfahren mit hoher Suchgenauigkeit bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Bildsuchverfahren, das eine kurze Suche ermöglicht, bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein Bildsuchverfahren, das eine einfache Suche ermöglicht, bereitzustellen. Eine weitere Aufgabe einer Ausführungsform der vorliegenden Erfindung ist, ein neuartiges Bildsuchverfahren bereitzustellen.
-
Es sei angemerkt, dass die Beschreibung dieser Aufgaben dem Vorhandensein weiterer Aufgaben nicht im Wege steht. Eine Ausführungsform der vorliegenden Erfindung muss nicht notwendigerweise sämtliche Aufgaben erfüllen. Weitere Aufgaben können aus der Erläuterung der Beschreibung, der Zeichnungen und der Patentansprüche abgeleitet werden.
-
Mittel zur Lösung des Problems
-
Eine Ausführungsform der vorliegenden Erfindung ist ein Bildsuchsystem, umfassend: eine Datenbank; einen Verarbeitungsabschnitt; und einen Eingabeabschnitt, wobei die Datenbank derart funktioniert, dass sie Dokumentdaten und mehrere Datenbankbilddaten speichert, der Verarbeitungsabschnitt derart funktioniert, dass er Daten über die Menge an Datenbankbildmerkmalen, die die Menge an Merkmalen der Datenbankbilddaten darstellen, für jede der mehreren Datenbankbilddaten erfasst, der Verarbeitungsabschnitt derart funktioniert, dass er mehrere Datenbankkennzeichen unter Verwendung der Dokumentdaten erzeugt und die Datenbankkennzeichen mit den Datenbankbilddaten verlinkt, der Verarbeitungsabschnitt derart funktioniert, dass er Datenbankkennzeichenvektoren, die die Datenbankkennzeichen darstellen, für die jeweiligen mehreren Datenbankkennzeichen erfasst, der Verarbeitungsabschnitt derart funktioniert, dass er dann, wenn Abfragebilddaten in den Eingabeabschnitt eingegeben werden, Daten über die Menge an Abfragebildmerkmalen, die die Menge an Merkmalen der Abfragebilddaten darstellen, erfasst, der Verarbeitungsabschnitt derart funktioniert, dass er eine erste Ähnlichkeit, die eine Ähnlichkeit der Datenbankbilddaten mit den Abfragebilddaten ist, für jede der mehreren Datenbankbilddaten berechnet, der Verarbeitungsabschnitt derart funktioniert, dass er Abfragekennzeichen, die mit den Abfragebilddaten verlinkt werden, auf Basis der ersten Ähnlichkeit unter Verwendung eines Teils der Datenbankkennzeichen erfasst, der Verarbeitungsabschnitt derart funktioniert, dass er Abfragekennzeichenvektoren, die die Abfragekennzeichen darstellen, erfasst, der Verarbeitungsabschnitt derart funktioniert, dass er erste Daten erfasst, die die Daten über die Menge an Datenbankbildmerkmalen und die Datenbankkennzeichenvektoren umfassen, der Verarbeitungsabschnitt derart funktioniert, dass er zweite Daten erfasst, die die Daten über die Menge an Abfragebildmerkmalen und die Abfragekennzeichenvektoren umfassen, und der Verarbeitungsabschnitt derart funktioniert, dass er eine zweite Ähnlichkeit, die eine Ähnlichkeit der ersten Daten mit den zweiten Daten ist, berechnet.
-
Bei der vorstehenden Ausführungsform können die Datenbankkennzeichen jeweils ein Wort umfassen.
-
Bei der vorstehenden Ausführungsform kann der Verarbeitungsabschnitt derart funktionieren, dass er die Datenbankkennzeichen durch eine morphologische Analyse der Dokumentdaten erzeugt.
-
Bei der vorstehenden Ausführungsform kann der Verarbeitungsabschnitt ein erstes neuronales Netz und ein zweites neuronales Netz umfassen, die Daten über die Menge an Datenbankbildmerkmalen und die Daten über die Menge an Abfragebildmerkmalen können unter Verwendung des ersten neuronalen Netzes erfasst werden, und die Datenbankkennzeichenvektoren und die Abfragekennzeichenvektoren können unter Verwendung des zweiten neuronalen Netzes erfasst werden.
-
Bei der vorstehenden Ausführungsform kann das erste neuronale Netz eine Faltungsschicht und eine Pooling-Schicht umfassen, und die Daten über die Menge an Datenbankbildmerkmalen und die Daten über die Menge an Abfragebildmerkmalen können von der Pooling-Schicht ausgegeben werden.
-
Bei der vorstehenden Ausführungsform kann es sich bei den Datenbankkennzeichenvektoren und den Abfragekennzeichenvektoren um Worteinbettungsvektoren handeln.
-
Bei der vorstehenden Ausführungsform kann es sich bei der ersten Ähnlichkeit und der zweiten Ähnlichkeit um Kosinusähnlichkeiten handeln.
-
Eine weitere Ausführungsform der vorliegenden Erfindung ist ein Bildsuchverfahren mit einem Bildsuchsystem mit einer Datenbank, die Dokumentdaten und mehrere Datenbankbilder speichert, und einem Eingabeabschnitt, umfassend: Erfassen von Daten über die Menge an Datenbankbildmerkmalen, die die Menge an Merkmalen der Datenbankbilddaten darstellen, für jede der mehreren Datenbankbilddaten; Erzeugen mehrerer Datenbankkennzeichen unter Verwendung der Dokumentdaten und Verlinken der Datenbankkennzeichen mit den Datenbankbilddaten; Erfassen von Datenbankkennzeichenvektoren, die die Datenbankkennzeichen darstellen, für die jeweiligen mehreren Datenbankkennzeichen; Eingeben von Abfragebilddaten in den Eingabeabschnitt; Erfassen von Daten über die Menge an Abfragebildmerkmalen, die die Menge an Merkmalen der Abfragebilddaten darstellen; Berechnen einer ersten Ähnlichkeit, die eine Ähnlichkeit der Datenbankbilddaten mit den Abfragebilddaten ist, für jede der mehreren Datenbankbilddaten; Erfassen von Abfragekennzeichen, die mit den Abfragebilddaten verlinkt werden, auf Basis der ersten Ähnlichkeit unter Verwendung eines Teils der Datenbankkennzeichen; Erfassen von Abfragekennzeichenvektoren, die die Abfragekennzeichen darstellen; Erfassen von ersten Daten, die die Daten über die Menge an Datenbankbildmerkmalen und die Datenbankkennzeichenvektoren umfassen, und zweiten Daten, die die Daten über die Menge an Abfragebildmerkmalen und die Abfragekennzeichenvektoren umfassen; und Berechnen einer zweiten Ähnlichkeit, die eine Ähnlichkeit der ersten Daten mit den zweiten Daten ist.
-
Bei der vorstehenden Ausführungsform können die Datenbankkennzeichen jeweils ein Wort umfassen.
-
Bei der vorstehenden Ausführungsform können die Datenbankkennzeichen durch eine morphologische Analyse der Dokumentdaten erzeugt werden.
-
Bei der vorstehenden Ausführungsform können die Daten über die Menge an Datenbankbildmerkmalen und die Daten über die Menge an Abfragebildmerkmalen unter Verwendung eines ersten neuronalen Netzes erfasst werden, und die Datenbankkennzeichenvektoren und die Abfragekennzeichenvektoren können unter Verwendung eines zweiten neuronalen Netzes erfasst werden.
-
Bei der vorstehenden Ausführungsform kann das erste neuronale Netz eine Faltungsschicht und eine Pooling-Schicht umfassen, und die Daten über die Menge an Datenbankbildmerkmalen und die Daten über die Menge an Abfragebildmerkmalen können von der Pooling-Schicht ausgegeben werden.
-
Bei der vorstehenden Ausführungsform kann es sich bei den Datenbankkennzeichenvektoren und den Abfragekennzeichenvektoren um Worteinbettungsvektoren handeln.
-
Bei der vorstehenden Ausführungsform kann es sich bei der ersten Ähnlichkeit und der zweiten Ähnlichkeit um Kosinusähnlichkeiten handeln.
-
Wirkung der Erfindung
-
Einer Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchsystem mit hoher Suchgenauigkeit bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchsystem, das eine kurze Suche ermöglicht, bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchsystem, das eine einfache Suche ermöglicht, bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein neuartiges Bildsuchsystem bereitgestellt werden.
-
Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchverfahren mit hoher Suchgenauigkeit bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchverfahren, das eine kurze Suche ermöglicht, bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein Bildsuchverfahren, das eine einfache Suche ermöglicht, bereitgestellt werden. Einer weiteren Ausführungsform der vorliegenden Erfindung entsprechend kann ein neuartiges Bildsuchverfahren bereitgestellt werden.
-
Es sei angemerkt, dass die Beschreibung dieser Wirkungen dem Vorhandensein weiterer Wirkungen nicht im Wege steht. Eine Ausführungsform der vorliegenden Erfindung muss nicht notwendigerweise sämtliche Wirkungen aufweisen. Weitere Wirkungen können aus der Erläuterung der Beschreibung, der Zeichnungen und der Patentansprüche abgeleitet werden.
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Bildsuchsystems darstellt.
- 2 ist ein Ablaufdiagramm, das ein Beispiel für ein Verfahren zur Erzeugung von Suchdaten darstellt.
- 3A und 3B stellen jeweils ein Konfigurationsbeispiel eines neuronalen Netzes dar.
- 4 stellt Beispiele für einen Faltungsvorgang und einen Pooling-Vorgang dar.
- 5 stellt ein Konfigurationsbeispiel eines neuronalen Netzes dar.
- 6A und 6B stellen jeweils ein Beispiel für ein Verfahren zur Erzeugung von Suchdaten dar.
- 7A stellt ein Beispiel für ein Verfahren zur Erzeugung von Suchdaten dar.
- 7B stellt ein Konfigurationsbeispiel eines neuronalen Netzes dar.
- 8A und 8B stellen ein Beispiel für ein Verfahren zur Erzeugung von Suchdaten dar.
- 9 ist ein Ablaufdiagramm, das ein Beispiel für ein Bildsuchverfahren darstellt.
- 10 stellt ein Beispiel für ein Bildsuchverfahren dar.
- 11A und 11B stellen ein Beispiel für ein Bildsuchverfahren dar.
- 12A und 12B stellen ein Beispiel für ein Bildsuchverfahren dar.
- 13 stellt ein Beispiel für ein Bildsuchverfahren dar.
- 14 ist ein Ablaufdiagramm, das ein Beispiel für ein Bildsuchverfahren darstellt.
- 15 stellt ein Beispiel für ein Bildsuchverfahren dar.
- 16A und 16B stellen ein Beispiel für ein Bildsuchverfahren dar.
- 17 ist ein Ablaufdiagramm, das ein Beispiel für ein Bildsuchverfahren darstellt.
- 18A und 18B stellen jeweils ein Beispiel für ein Bildsuchverfahren dar.
- 19 stellt ein Beispiel für ein Bildsuchverfahren dar.
- 20A, 20B1 und 20B2 stellen jeweils ein Beispiel für ein Bildsuchverfahren dar.
- 21A und 21B stellen jeweils ein Beispiel für ein Bildsuchverfahren dar.
- 22A und 22B stellen jeweils ein Beispiel für ein Bildsuchverfahren dar.
- 23 ist ein Ablaufdiagramm, das ein Beispiel für ein Bildsuchverfahren darstellt.
- 24A und 24B stellen jeweils ein Beispiel für ein Bildsuchverfahren dar.
- 25 stellt ein Beispiel für ein Bildsuchverfahren dar.
- 26 stellt ein Beispiel für ein Bildsuchverfahren dar.
-
Ausführungsformen der Erfindung
-
Ausführungsformen werden unter Bezugnahme auf die Zeichnungen im Einzelnen beschrieben. Es sei angemerkt, dass die vorliegende Erfindung nicht auf die folgende Beschreibung beschränkt ist und dass es sich Fachleuten ohne Weiteres erschließt, dass Modi und Details der vorliegenden Erfindung auf verschiedene Weise modifiziert werden können, ohne vom Erfindungsgedanken und Schutzbereich der vorliegenden Erfindung abzuweichen. Daher sollte die vorliegende Erfindung nicht als auf die Beschreibung der folgenden Ausführungsformen beschränkt angesehen werden.
-
(Ausführungsform 1)
-
Bei dieser Ausführungsform werden ein Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung und ein Bildsuchverfahren unter Bezugnahme auf die Zeichnungen beschrieben.
-
Das Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung umfasst einen Eingabeabschnitt, eine Datenbank und einen Verarbeitungsabschnitt. Der Verarbeitungsabschnitt umfasst ein erstes neuronales Netz und ein zweites neuronales Netz. In den ersten und zweiten neuronalen Netzen sind Schichten, die Neuronen umfassen, bereitgestellt.
-
In dieser Beschreibung und dergleichen bezieht sich ein neuronales Netz auf ein allgemeines Modell, das ein biologisches neuronales Netz simuliert, die Verbindungsstärke zwischen Neuronen durch Lernen bestimmt und die Fähigkeit besitzt, Probleme zu lösen.
-
Bei der Beschreibung des neuronalen Netzes in dieser Beschreibung und dergleichen wird die Bestimmung der Verbindungsstärke zwischen einem Neuron und einem weiteren Neuron (auch als Gewichtskoeffizient bezeichnet) aus den vorhandenen Informationen als „Lernen“ bezeichnet.
-
In dieser Beschreibung und dergleichen wird eine Folgerung eines neuen Schlusses aus einem neuronalen Netz, das mit der durch Lernen erhaltenen Verbindungsstärke gebildet wird, als „Inferenz“ bezeichnet.
-
In der Datenbank sind Bilddaten gespeichert. Wenn ein Benutzer des Bildsuchsystems einer Ausführungsform der vorliegenden Erfindung Bilddaten in den Eingabeabschnitt eingibt, sucht das Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung nach Bilddaten, die den eingegebenen Bilddaten ähnlich sind, in der Datenbank und gibt die gesuchten Bilddaten aus.
-
In dieser Beschreibung und dergleichen werden die Bilddaten, die in der Datenbank gespeichert sind, als Datenbankbilddaten bezeichnet. Die Bilddaten, die in den Eingabeabschnitt eingegeben werden, werden als Abfragebilddaten bezeichnet. Des Weiteren werden die Datenbankbilddaten und die Abfragebilddaten gegebenenfalls kollektiv einfach als Bilddaten bezeichnet.
-
Im Folgenden wird ein Bildsuchverfahren mit dem Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung beschrieben.
-
Daten über die Menge an Bildmerkmalen können erfasst werden, indem Bilddaten in das erste neuronale Netz, das in dem Verarbeitungsabschnitt enthalten ist, eingegeben werden.
-
In dieser Beschreibung und dergleichen werden Daten, die die Menge an Merkmalen der Bilddaten darstellen, als Daten über die Menge an Bildmerkmalen bezeichnet. Beispielsweise werden Daten, die die Menge an Merkmalen der Datenbankbilddaten darstellen, als Daten über die Menge an Datenbankbildmerkmalen bezeichnet, und Daten, die die Menge an Merkmalen der Abfragebilddaten darstellen, werden als Daten über die Menge an Abfragebildmerkmalen bezeichnet.
-
Das erste neuronale Netz kann beispielsweise als faltendes neuronales Netz bzw. als Convolutional Neural Network, das eine Faltungsschicht und eine Pooling-Schicht umfasst, realisiert werden. Wenn es sich bei dem ersten neuronalen Netz um ein faltendes neuronales Netz handelt, können die Daten, die durch Eingeben der Bilddaten in das erste neuronale Netz von der Pooling-Schicht ausgegeben werden, als Daten über die Menge an Bildmerkmalen verwendet werden.
-
Ferner werden Kennzeichen mit den Datenbankbilddaten verlinkt. Beispielsweise kann die Verlinkung der Kennzeichen erfolgen, indem Dokumentdaten, die mit den Datenbankbilddaten verlinkt werden, in der Datenbank gespeichert werden und eine morphologische Analyse an diesen Dokumentdaten durchgeführt wird. Als diese Kennzeichen können Schlüsselwörter verwendet werden, die Konzepte, technische Inhalte, bemerkenswerte Punkte und dergleichen der Bilder darstellen, die den Datenbankbilddaten entsprechen. Beispielsweise kann ein Kennzeichen ein Wort darstellen. Mehrere Kennzeichen können mit den Datenbankbilddaten verlinkt werden.
-
In dieser Beschreibung und dergleichen werden Kennzeichen, die mit den Datenbankbilddaten verlinkt sind, als Datenbankkennzeichen bezeichnet. Kennzeichen, die mit den Abfragebilddaten verlinkt sind, werden als Abfragekennzeichen bezeichnet.
-
Wenn die Kennzeichen in das zweite neuronale Netz, das in dem Verarbeitungsabschnitt enthalten ist, eingegeben werden, können die Kennzeichen durch Vektoren dargestellt werden. Beispielsweise können die Kennzeichen durch 300-dimensionale Worteinbettungsvektoren dargestellt werden.
-
In dieser Beschreibung und dergleichen werden Vektoren, die die Kennzeichen darstellen, als Kennzeichenvektoren bezeichnet. Beispielsweise werden Vektoren, die die Datenbankkennzeichen darstellen, als Datenbankkennzeichenvektoren bezeichnet, und Vektoren, die die Abfragekennzeichen darstellen, werden als Abfragekennzeichenvektoren bezeichnet. Ein Kennzeichenvektor bezieht sich auf einen Kennzeichenvektor, der einem Kennzeichen entspricht.
-
In dieser Beschreibung und dergleichen bezieht sich der Begriff „Vektor“ auf eine Gruppe von mehreren Werten. Die Anzahl von Werten, die einen Vektor bilden, wird als Anzahl von Dimensionen bezeichnet. Beispielsweise kann ein Vektor, der durch (5, 1, 4, 3, 2) dargestellt wird, als fünfdimensionaler Vektor angesehen werden. Es sei angemerkt, dass die Werte, die einen Vektor bilden, gegebenenfalls als Komponenten bezeichnet werden.
-
In dem Bildsuchverfahren mit dem Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung werden abgesehen von den Datenbankbilddaten die Daten über die Menge an Datenbankbildmerkmalen, die die Menge an Merkmalen dieser Datenbankbilder darstellen, im Voraus in der Datenbank gespeichert. Außerdem werden auch die Datenbankkennzeichen, die mit den Datenbankbilddaten verlinkt sind, und die Datenbankkennzeichenvektoren, die diese Datenbankkennzeichen darstellen, im Voraus in der Datenbank gespeichert. Es sei angemerkt, dass die Datenbankkennzeichen selbst nicht notwendigerweise in der Datenbank gespeichert sein müssen.
-
In dem Bildsuchverfahren mit dem Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung werden dann, wenn der Benutzer des Bildsuchsystems die Abfragebilddaten in den Eingabeabschnitt eingibt, die Abfragebilddaten in das erste neuronale Netz eingegeben, und somit werden die Daten über die Menge an Abfragebildmerkmalen erzeugt. Als Nächstes werden unter Verwendung der Daten über die Menge an Datenbankbildmerkmalen und der Daten über die Menge an Abfragebildmerkmalen die Ähnlichkeit der Datenbankbilddaten mit den Abfragebilddaten berechnet. Beispielsweise wird die Kosinusähnlichkeit berechnet. Die Berechnung der Ähnlichkeit mit den Abfragebilddaten kann beispielsweise für jede der gesamten Datenbankbilddaten durchgeführt werden.
-
Danach werden auf Basis des Berechnungsergebnisses der Ähnlichkeit die Abfragekennzeichen unter Verwendung der Datenbankkennzeichen erfasst. Als Abfragekennzeichen können beispielsweise aus den Datenbankkennzeichen, die mit den Datenbankbilddaten mit hoher Ähnlichkeit verlinkt sind, Datenbankkennzeichen mit hoher Vorkommenshäufigkeit ausgewählt werden. Es sei angemerkt, dass die Anzahl von Abfragekennzeichen beispielsweise gleich der Anzahl von Datenbankkennzeichen sein kann, die mit einem Stück der Datenbankbilddaten verlinkt sind.
-
In dieser Beschreibung und dergleichen bezieht sich ein Stück der Bilddaten beispielsweise auf Bilddaten, die ein Bild darstellen, das in einer Bildperiode angezeigt wird.
-
Als Nächstes werden erste Daten erfasst, die die Daten über die Menge an Datenbankbildmerkmalen und die Datenbankkennzeichenvektoren umfassen. Ferner werden zweite Daten erfasst, die die Daten über die Menge an Abfragebildmerkmalen und die Abfragekennzeichenvektoren umfassen. Danach wird die Ähnlichkeit zwischen den ersten Daten und den zweiten Daten berechnet, um die Ähnlichkeit der Datenbankbilddaten mit den Abfragebilddaten zu korrigieren. Dieses Korrigieren erfolgt beispielsweise durch Berechnung der Kosinusähnlichkeit zwischen den ersten Daten und den zweiten Daten.
-
Hier kann ein Stück der ersten Daten beispielsweise ein Stück der Daten über die Menge an Datenbankbildmerkmalen und Datenbankkennzeichenvektoren umfassen, die den Datenbankkennzeichen entsprechen, die mit den diesen Daten über die Menge an Datenbankbildmerkmalen entsprechenden Datenbankbilddaten verlinkt sind. Das heißt, dass die Anzahl von ersten Daten gleich der Anzahl von Daten über die Menge an Datenbankbildmerkmalen sein kann. Ein Stück der zweiten Daten kann die Daten über die Menge an Abfragebildmerkmalen und Abfragekennzeichenvektoren umfassen, deren Anzahl gleich der Anzahl von Datenbankkennzeichenvektoren ist, die in einem Stück der ersten Daten enthalten sind.
-
Als Nächstes werden Ranking-Daten, die Informationen über die Rangordnung der korrigierten Ähnlichkeit umfassen, erzeugt und als Suchergebnis nach außerhalb des Bildsuchsystems einer Ausführungsform der vorliegenden Erfindung ausgegeben. Dieses Korrigieren der Ähnlichkeit der Datenbankbilddaten mit den Abfragebilddaten kann verhindern, dass beispielsweise ein Datenbankbild gesucht wird, bei dem die Menge an Merkmalen derjenigen des Abfragebildes ähnlich ist aber sich das Konzept von demjenigen des Abfragebildes unterscheidet. Somit kann verhindert werden, dass ein Bild, das als Rauschen dient, in dem Suchergebnis vermischt wird und ein Bild, das gesucht werden soll, nicht ausgegeben wird. Daher kann das Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung eine genaue Suche durchführen.
-
In dem Bildsuchverfahren mit dem Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung werden die Abfragekennzeichen unter Verwendung der Datenbankkennzeichen erfasst. Dieses Erfassungsverfahren ist einfacher beispielsweise als ein Verfahren, in dem die Abfragekennzeichen auf Basis der Daten über die Menge an Abfragebildmerkmalen erfasst werden. Das Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung kann somit eine kurze Suche durchführen. Darüber hinaus können durch das Verfahren, in dem die Abfragekennzeichen unter Verwendung der Datenbankkennzeichen erfasst werden, beispielsweise im Vergleich zu einem Verfahren, in dem der Benutzer des Bildsuchsystems einer Ausführungsform der vorliegenden Erfindung sämtliche Abfragekennzeichen zuweist, Kennzeichen, die ein Konzept, einen technischen Inhalt, einen bemerkenswerten Punkt und dergleichen des den Abfragebilddaten entsprechenden Bildes darstellen, umfangreich erfasst werden. Daher kann das Bildsuchsystem einer Ausführungsform der vorliegenden Erfindung eine einfache und genaue Suche durchführen.
-
<1-1. Bildsuchsystem>
-
1 ist ein Blockdiagramm, das ein Konfigurationsbeispiel eines Bildsuchsystems 10 darstellt. Es sei angemerkt, dass Bestandteile des Blockdiagramms in Zeichnungen, die dieser Beschreibung beiliegen, je nach ihren Funktionen unterteilt und in eigenständigen Blöcken dargestellt werden, wobei es in der Praxis jedoch schwierig ist, die Bestandteile vollständig entsprechend ihren Funktionen zu unterteilen, und es ist möglich, dass ein Bestandteil mehrere Funktionen aufweist. Darüber hinaus kann sich eine Funktion auf mehrere Bestandteile verteilen; so können beispielsweise mehrere Verarbeitungen, die in einem Verarbeitungsabschnitt 13 durchgeführt werden, auf unterschiedlichen Servern ausgeführt werden.
-
Das Bildsuchsystem 10 umfasst mindestens den Verarbeitungsabschnitt 13. Das in 1 dargestellte Bildsuchsystem 10 umfasst ferner einen Eingabeabschnitt 11, einen Übertragungsweg 12, einen Speicherabschnitt 15, eine Datenbank 17 und einen Ausgabeabschnitt 19.
-
[Eingabeabschnitt 11]
-
Bilddaten oder dergleichen werden dem Eingabeabschnitt 11 von außerhalb des Bildsuchsystems 10 zugeführt. Die Bilddaten oder dergleichen, die dem Eingabeabschnitt 11 zugeführt worden sind, werden dem Verarbeitungsabschnitt 13, dem Speicherabschnitt 15 oder der Datenbank 17 über den Übertragungsweg 12 zugeführt. Wie vorstehend beschrieben, werden die Bilddaten, die in den Eingabeabschnitt 11 eingegeben werden, als Abfragebilddaten bezeichnet.
-
[Übertragungsweg 12]
-
Der Übertragungsweg 12 funktioniert derart, dass er Bilddaten oder dergleichen überträgt. Das Übertragen und Empfangen von Informationen zwischen dem Eingabeabschnitt 11, dem Verarbeitungsabschnitt 13, dem Speicherabschnitt 15, der Datenbank 17 und dem Ausgabeabschnitt 19 kann über den Übertragungsweg 12 durchgeführt werden.
-
[Verarbeitungsabschnitt 13]
-
Der Verarbeitungsabschnitt 13 funktioniert derart, dass er unter Verwendung der Bilddaten oder dergleichen, die von dem Eingabeabschnitt 11, dem Speicherabschnitt 15, der Datenbank 17 oder dergleichen zugeführt werden, eine Berechnung, eine Inferenz oder dergleichen durchführt. Der Verarbeitungsabschnitt 13 umfasst ein neuronales Netz und kann unter Verwendung dieses neuronalen Netzes eine Berechnung, eine Inferenz oder dergleichen durchführen. Der Verarbeitungsabschnitt 13 kann ferner eine Berechnung oder dergleichen durchführen, ohne das neuronale Netz zu verwenden. Der Verarbeitungsabschnitt 13 kann dem Speicherabschnitt 15, der Datenbank 17, dem Ausgabeabschnitt 19 oder dergleichen ein Berechnungsergebnis, ein Inferenzergebnis oder dergleichen zuführen.
-
Ein Transistor, dessen Kanalbildungsbereich ein Metalloxid enthält, wird vorzugsweise für den Verarbeitungsabschnitt 13 verwendet. Dieser Transistor weist einen sehr niedrigen Sperrstrom auf; wenn dieser Transistor als Schalter zum Halten elektrischer Ladung (Daten), die in einen als Speicherelement dienenden Kondensator fließt, verwendet wird, kann daher eine lange Datenhaltezeit gewährleistet werden. Wenn dieser Transistor für ein Register und/oder einen Cache-Speicher, welche in dem Verarbeitungsabschnitt 13 enthalten sind, verwendet wird, kann der Verarbeitungsabschnitt 13 nur bei Bedarf betrieben werden und kann ansonsten ausgeschaltet werden, indem Informationen, die unmittelbar vor dem Ausschalten verarbeitet werden, in diesem Speicherelement gespeichert werden. Das heißt, dass eine Normally-Off-Berechnung möglich ist und der Stromverbrauch des Bildsuchsystems verringert werden kann.
-
In dieser Beschreibung und dergleichen bedeutet ein Metalloxid im weiteren Sinne ein Oxid eines Metalls. Metalloxide werden in einen Oxidisolator, einen Oxidleiter (darunter auch einen durchsichtigen Oxidleiter), einen Oxidhalbleiter (oxide semiconductor; auch einfach als OS bezeichnet) und dergleichen eingeteilt. Wenn beispielsweise ein Metalloxid für eine Halbleiterschicht eines Transistors verwendet wird, wird dieses Metalloxid in einigen Fällen als Oxidhalbleiter bezeichnet. Das heißt, dass ein Metalloxid, das mindestens eine Verstärkungsfunktion, eine Gleichrichterfunktion oder eine Schaltfunktion aufweist, als Metalloxidhalbleiter (metal oxide semiconductor) oder kurz als OS bezeichnet werden kann.
-
In dieser Beschreibung und dergleichen wird ein Transistor, bei dem ein Oxidhalbleiter oder ein Metalloxid für einen Kanalbildungsbereich verwendet wird, als Oxidhalbleitertransistor oder als OS-Transistor bezeichnet.
-
Das Metalloxid, das in dem Kanalbildungsbereich enthalten ist, enthält vorzugsweise Indium (In). Wenn es sich bei dem Metalloxid, das in dem Kanalbildungsbereich enthalten ist, um ein Indium enthaltendes Metalloxid handelt, erhöht sich die Ladungsträgerbeweglichkeit (Elektronenbeweglichkeit) des OS-Transistors. Bei dem Metalloxid, das in dem Kanalbildungsbereich enthalten ist, handelt es sich vorzugsweise um einen Oxidhalbleiter, der ein Element M enthält. Das Element M ist vorzugsweise Aluminium (AI), Gallium (Ga), Zinn (Sn) oder dergleichen. Weitere Elemente, die als Element M verwendet werden können, sind Bor (B), Silizium (Si), Titan (Ti), Eisen (Fe), Nickel (Ni), Germanium (Ge), Yttrium (Y), Zirkonium (Zr), Molybdän (Mo), Lanthan (La), Cer (Ce), Neodym (Nd), Hafnium (Hf), Tantal (Ta), Wolfram (W) und dergleichen. Es sei angemerkt, dass eine Vielzahl der vorstehenden Elemente in Kombination als Element M verwendet werden kann. Das Element M ist beispielsweise ein Element mit einer hohen Bindungsenergie an Sauerstoff. Es handelt sich beispielsweise um ein Element, dessen Bindungsenergie an Sauerstoff höher ist als diejenige von Indium. Bei dem Metalloxid, das in dem Kanalbildungsbereich enthalten ist, handelt es sich vorzugsweise um ein Zink (Zn) enthaltendes Metalloxid. Das Zink enthaltende Metalloxid wird in einigen Fällen mit hoher Wahrscheinlichkeit kristallisiert.
-
Das Metalloxid, das in dem Kanalbildungsbereich enthalten ist, ist nicht auf ein Indium enthaltendes Metalloxid beschränkt. Es kann sich bei der Halbleiterschicht beispielsweise um ein Metalloxid, das Zink, aber kein Indium enthält, ein Metalloxid, das Gallium, aber kein Indium enthält, oder ein Metalloxid handeln, das Zinn, aber kein Indium enthält, z. B. ein Zinkzinnoxid oder ein Galliumzinnoxid.
-
Der Verarbeitungsabschnitt 13 umfasst beispielsweise eine arithmetische Schaltung, einen Hauptprozessor (central processing unit, CPU) oder dergleichen.
-
Der Verarbeitungsabschnitt 13 kann einen Mikroprozessor, wie z. B. einen digitalen Signalprozessor (DSP) oder einen Grafikprozessor (graphics processing unit, GPU) umfassen. Der Mikroprozessor kann mit einer programmierbaren logischen Vorrichtung (programmable logic device, PLD), wie z. B. einer feldprogrammierbaren Gateanordnung (field programmable gate array, FPGA) oder einer feldprogrammierbaren Analoganordnung (field programmable analog array, FPAA), realisiert werden. Der Verarbeitungsabschnitt 13 kann mit einem Prozessor Befehle von verschiedenen Programmen interpretieren und ausführen, um verschiedene Arten von Daten zu verarbeiten und verschiedene Arten von Programmen zu steuern. Die von dem Prozessor auszuführenden Programme sind in einem Speicherbereich des Prozessors und/oder in dem Speicherabschnitt 15 gespeichert.
-
Der Verarbeitungsabschnitt 13 kann einen Hauptspeicher umfassen. Der Hauptspeicher umfasst einen flüchtigen Speicher, wie z. B. ein Random Access Memory (RAM), und/oder einen nichtflüchtigen Speicher, wie z. B. ein Read Only Memory (ROM).
-
Beispielsweise wird ein Dynamic Random Access Memory (DRAM), ein Static Random Access Memory (SRAM) oder dergleichen als RAM verwendet, und ein Speicherplatz wird virtuell als Arbeitsbereich dem Verarbeitungsabschnitt 13 zugewiesen und genutzt. Ein Betriebssystem, ein Applikationsprogramm, ein Programmmodul, Programmdaten, eine Look-Up-Tabelle und dergleichen, welche in dem Speicherabschnitt 15 gespeichert sind, werden in das RAM heruntergeladen, um ausgeführt zu werden. Die Daten, das Programm und das Programmmodul, welche in das RAM heruntergeladen worden sind, werden direkt von dem Verarbeitungsabschnitt 13 zugegriffen und manipuliert.
-
In dem ROM können ein Basic Input/Output System (BIOS), eine Firmware und dergleichen gespeichert werden, wobei bei diesen ein Neuschreiben unnötig ist. Beispiele für ein ROM umfassen ein Masken-ROM, ein One-Time Programmable Read-Only Memory (OTPROM) und ein Erasable Programmable Read-Only Memory (EPROM). Beispiele für ein EPROM umfassen ein Ultra-Violet Erasable Programmable Read-Only Memory (UV-EPROM), das gespeicherte Daten durch UV-Bestrahlung löschen kann, ein Electrically Erasable Programmable Read-Only Memory (EEPROM) und einen Flash-Speicher.
-
[Speicherabschnitt 15]
-
Der Speicherabschnitt 15 funktioniert derart, dass er ein Programm speichert, das der Verarbeitungsabschnitt 13 ausführen soll. Der Speicherabschnitt 15 kann ferner derart funktionieren, dass er ein Berechnungsergebnis und ein Inferenzergebnis, welche von dem Verarbeitungsabschnitt 13 erzeugt werden, sowie Bilddaten oder dergleichen, die in den Eingabeabschnitt 11 eingegeben werden, speichert.
-
Der Speicherabschnitt 15 umfasst einen flüchtigen Speicher und/oder einen nichtflüchtigen Speicher. Zum Beispiel kann der Speicherabschnitt 15 einen flüchtigen Speicher, wie z. B. ein DRAM oder ein SRAM, umfassen. Zum Beispiel kann der Speicherabschnitt 15 einen nichtflüchtigen Speicher, wie z. B. ein Resistive Random Access Memory (ReRAM), ein Phase Change Random Access Memory (PRAM), ein Ferroelectric Random Access Memory (FeRAM), ein Magnetoresistive Random Access Memory (MRAM) oder einen Flash-Speicher, umfassen. Der Speicherabschnitt 15 kann ein Speichermedienlaufwerk, wie z. B. ein Festplattenlaufwerk (Hard Disc Drive, HDD) oder ein Solid-State-Laufwerk (Solid State Drive, SSD), umfassen.
-
[Datenbank 17]
-
Die Datenbank 17 funktioniert derart, dass sie zu suchende Bilddaten speichert. Wie vorstehend beschrieben, werden die Bilddaten, die in der Datenbank gespeichert sind, als Datenbankbilddaten bezeichnet. Die Datenbank 17 funktioniert ferner derart, dass sie ein Berechnungsergebnis und ein Inferenzergebnis, welche von dem Verarbeitungsabschnitt 13 erzeugt werden, speichert. Sie kann ferner derart funktionieren, dass sie die Bilddaten oder dergleichen, die in den Eingabeabschnitt 11 eingegeben werden, speichert. Es sei angemerkt, dass der Speicherabschnitt 15 und die Datenbank 17 nicht notwendigerweise voneinander getrennt sein müssen. Beispielsweise kann das Bildsuchsystem 10 eine Speichereinheit umfassen, die sowohl die Funktion des Speicherabschnitts 15 als auch die Funktion der Datenbank 17 aufweist.
-
[Ausgabeabschnitt 19]
-
Der Ausgabeabschnitt 19 funktioniert derart, dass er Informationen nach außerhalb des Bildsuchsystems 10 zuführt. Beispielsweise kann ein Berechnungsergebnis, ein Inferenzergebnis oder dergleichen des Verarbeitungsabschnitts 13 nach außen zugeführt werden.
-
<1-2. Bildsuchverfahren-1>
-
Zunächst wird die im Vorfeld durchgeführte Verarbeitung für eine Suche mit dem Bildsuchsystem 10 beschrieben. 2 ist ein Ablaufdiagramm, das ein Beispiel für ein Verfahren dieser Verarbeitung darstellt.
-
[Schritt S01]
-
Zunächst werden Datenbankbilddaten GDDB von der Datenbank 17 über den Übertragungsweg 12 in den Verarbeitungsabschnitt 13 eingegeben. Die Datenbankbilddaten GDDB können als Daten definiert werden, die Zeichnungen darstellen, die in Informationen über das geistige Eigentum enthalten sind. Hier umfassen Beispiele für die Informationen über das geistige Eigentum Publikationen, wie z. B. Patentdokumente (z. B. Offenlegungsschriften und Patentschriften), Gebrauchsmusterveröffentlichungen, Designveröffentlichungen und Aufsätze. Als Informationen über das geistige Eigentum können nicht nur im Inland, sondern auch im Ausland herausgegebene Publikationen verwendet werden.
-
Die Informationen über das geistige Eigentum sind nicht auf Publikationen beschränkt. Beispielsweise können auch verschiedene Dateien, wie z. B. Bilddateien, die ein Benutzer oder eine Benutzergruppe des Bildsuchsystems besitzt, als Datenbankbilddaten GDDB verwendet werden. Weitere Beispiele für die Informationen über das geistige Eigentum umfassen Zeichnungen, die jeweils eine Erfindung, eine Vorrichtung oder ein Design darstellen.
-
Die Datenbankbilddaten GDDB können ferner beispielsweise Daten, die Zeichnungen darstellen, die in Patentdokumenten eines bestimmten Anmelders offenbart sind, oder Daten umfassen, die Zeichnungen darstellen, die in Patentdokumenten auf einem bestimmten technischen Gebiet offenbart sind.
-
Das Bildsuchsystem 10 funktioniert derart, dass es die Datenbankbilddaten GDDB sucht, die den Abfragebilddaten ähnlich sind. Mit dem Bildsuchsystem 10 kann man daher beispielsweise ein Patentdokument, einen Aufsatz oder ein gewerbliches Produkt suchen, das/der einer Erfindung vor der Anmeldung ähnlich ist. Auf diese Weise kann der Stand der Technik, der sich auf die Erfindung vor der Anmeldung bezieht, recherchiert werden. Die Kenntnis und Überprüfung des relevanten Stands der Technik verstärkt die Erfindung, und somit kann ein starkes Patent erhalten werden, das andere Unternehmen nur mit Schwierigkeiten vermeiden können.
-
Mit dem Bildsuchsystem 10 kann man ferner beispielsweise ein Patentdokument, einen Aufsatz oder ein gewerbliches Produkt suchen, das/der einem gewerblichen Produkt vor dem Verkauf ähnlich ist. Wenn die Datenbankbilddaten GDDB Daten umfassen, die Bildern in eigenen Patentdokumenten entsprechen, kann gecheckt werden, ob eine Technik, die ein gewerbliches Produkt vor dem Verkauf betrifft, ausreichend als eigenes Patent angemeldet worden ist. Wenn die Datenbankbilddaten GDDB Daten umfassen, die Bildern in Patentdokumenten anderer Unternehmen entsprechen, kann gecheckt werden, ob ein gewerbliches Produkt vor dem Verkauf das geistige Eigentumsrecht der anderen Unternehmen verletzt. Die Kenntnis und Überprüfung des relevanten Standes der Technik führt zur Entdeckung einer neuartigen Erfindung, und somit kann ein starkes Patent erhalten werden, das zum eigenen Geschäft beiträgt. Es sei angemerkt, dass die Suche nach einem gewerblichen Produkt nach dem Verkauf ebenso durchgeführt werden kann wie die Suche nach einem gewerblichen Produkt vor dem Verkauf.
-
Beispielsweise kann mit dem Bildsuchsystem 10 ein Patentdokument, ein Aufsatz oder ein gewerbliches Produkt, das/der einem bestimmten Patent ähnlich ist, gesucht werden. Insbesondere kann eine Suche auf der Grundlage des Anmeldedatums des bestimmten Patents leicht und genau zeigen, ob dieses Patent Nichtigkeitsgründe enthält.
-
[Schritt S02]
-
Als Nächstes werden die Datenbankbilddaten GDDB in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben.
-
3A stellt ein Konfigurationsbeispiel eines neuronalen Netzes 30 dar, das das in dem Verarbeitungsabschnitt 13 enthaltene neuronale Netz ist. Das neuronale Netz 30 umfasst Schichten 31[1] bis 31[m] (m ist eine ganze Zahl von 1 oder mehr).
-
Die Schichten 31[1] bis 31[m] umfassen Neuronen, wobei die Neuronen in den jeweiligen Schichten miteinander verbunden sind. Beispielsweise ist ein Neuron in der Schicht 31[1] mit einem Neuron in der Schicht 31[2] verbunden. Das Neuron in der Schicht 31[2] ist mit dem Neuron in der Schicht 31[1] und einem Neuron in der Schicht 31[3] verbunden. Das heißt, dass die Schichten 31[1] bis 31[m] ein hierarchisches neuronales Netz bilden.
-
Die Datenbankbilddaten GDDB werden in die Schicht 31[1] eingegeben, und die Schicht 31[1] gibt Daten aus, die den eingegebenen Bilddaten entsprechen. Diese Daten werden in die Schicht 31[2] eingegeben, und die Schicht 31[2] gibt Daten aus, die den eingegebenen Daten entsprechen. In die Schicht 31[m] werden Daten eingegeben, die von der Schicht 31[m-1] ausgegeben werden, und die Schicht 31[m] gibt Daten aus, die diesen eingegebenen Daten entsprechen. Auf diese Weise kann die Schicht 31[1] als Eingabeschicht dienen, die Schichten 31[2] bis 31[m-1] können als Zwischenschichten dienen, und die Schicht 31[m] kann als Ausgabeschicht dienen.
-
Das neuronale Netz 30 hat im Voraus derart gelernt, dass beispielsweise die Daten, die von den Schichten 31[1] bis 31[m] ausgegeben werden, die Menge an Merkmalen der in das neuronale Netz 30 eingegebenen Bilddaten darstellen. Das Lernen kann als unüberwachtes Lernen, überwachtes Lernen oder dergleichen erfolgen. Im Besonderen wird unüberwachtes Lernen bevorzugt, da Trainingsdaten (auch als Labels bezeichnet) unnötig sind. Sowohl beim unüberwachten Lernen als auch beim überwachten Lernen kann Backpropagation bzw. Fehlerrückführung oder dergleichen als Lernalgorithmus verwendet werden.
-
Als Lerndaten werden hier vorzugsweise die Datenbankbilddaten GDDB verwendet. Somit können beispielsweise die Daten, die von den Schichten 31[1] bis 31[m] ausgegeben werden, genau die Menge an Merkmalen der in das neuronale Netz 30 eingegebenen Bilddaten darstellen. Beispielsweise kann das neuronale Netz 30 lernen, wobei dabei die gesamten Datenbankbilddaten GDDB, die in der Datenbank 17 gespeichert sind, als Lerndaten verwendet werden. Beispielsweise kann das neuronale Netz 30 lernen, wobei dabei ein Teil der Datenbankbilddaten GDDB als Lerndaten verwendet wird. Beispielsweise kann das neuronale Netz 30 lernen, wobei dabei abgesehen von den Datenbankbilddaten GDDB die Bilddaten, die in dem Speicherabschnitt 15 gespeichert sind, und Bilddaten, die von außerhalb des Bildsuchsystems 10 über den Eingabeabschnitt 11 in den Verarbeitungsabschnitt 13 eingegeben werden, als Lerndaten verwendet werden.
-
Es sei angemerkt, dass als Lerndaten die Datenbankbilddaten GDDB nicht notwendigerweise verwendet werden müssen. Beispielsweise kann das neuronale Netz 30 lernen, wobei dabei lediglich die Bilddaten, die von außerhalb des Bildsuchsystems 10 über den Eingabeabschnitt 11 in den Verarbeitungsabschnitt 13 eingegeben werden, als Lerndaten verwendet werden.
-
Das neuronale Netz 30 kann als faltendes neuronales Netz (Convolutional Neural Network, CNN) realisiert werden. 3B stellt ein Konfigurationsbeispiel des neuronalen Netzes 30 dar, in dem als neuronales Netz 30 ein CNN eingesetzt wird. Hier wird das neuronale Netz 30, bei dem ein CNN eingesetzt wird, als neuronales Netz 30a bezeichnet.
-
Das neuronale Netz 30a umfasst Faltungsschichten CL, Pooling-Schichten PL und eine vollständig verbundene Schicht FCL. 3B stellt ein Bespiel dar, in dem das neuronale Netz 30a m Faltungsschichten CL und m Pooling-Schichten PL (m ist eine ganze Zahl von 1 oder mehr) sowie eine vollständig verbundene Schicht FCL umfasst. Es sei angemerkt, dass das neuronale Netz 30a zwei oder mehr vollständig verbundene Schichten FCL umfassen kann.
-
Die Faltungsschicht CL funktioniert derart, dass sie eine Faltung an Daten durchführt, die in diese Faltungsschicht CL eingegeben werden. Beispielsweise funktioniert eine Faltungsschicht CL[1] derart, dass sie eine Faltung an Bilddaten durchführt, die in den Verarbeitungsabschnitt 13 eingegeben werden. Eine Faltungsschicht CL[2] funktioniert derart, dass sie eine Faltung an Daten durchführt, die von einer Pooling-Schicht PL[1] ausgegeben werden. Eine Faltungsschicht CL[m] funktioniert derart, dass sie eine Faltung an Daten durchführt, die von einer Pooling-Schicht PL[m-1] ausgegeben werden.
-
Die Faltung erfolgt, indem die Produktsumme von Daten, die in die Faltungsschicht CL eingegeben werden, und Gewichtsfiltern wiederholt berechnet wird. Durch die Faltung in der Faltungsschicht CL werden Merkmale oder dergleichen eines Bildes, das den in das neuronale Netz 30a eingegebenen Bilddaten entspricht, extrahiert.
-
Die gefalteten Daten werden mit einer Aktivierungsfunktion umgewandelt und dann an die Pooling-Schicht PL ausgegeben. Als Aktivierungsfunktion kann eine Rectified Linear Unit (ReLU) oder dergleichen verwendet werden. Die ReLU ist eine Funktion, bei der „0“ ausgegeben wird, wenn der Eingabewert negativ ist, und der Eingabewert direkt ausgegeben wird, wenn der Eingabewert „0“ oder mehr ist. Als Aktivierungsfunktion kann alternativ eine Sigmoidfunktion, eine Tanh-Funktion oder dergleichen verwendet werden.
-
Die Pooling-Schicht PL funktioniert derart, dass sie ein Pooling an Daten durchführt, die von der Faltungsschicht CL eingegeben werden. Das Pooling ist eine Verarbeitung, in der Daten in mehrere Bereiche unterteilt werden und für jeden dieser Bereiche vorbestimmte Daten extrahiert und in einer Matrix angeordnet werden. Durch das Pooling kann die Datenmenge verringert werden, während die mit der Faltungsschicht CL extrahierten Merkmale übrig gelassen werden. Ferner kann die Robustheit gegen eine sehr kleine Abweichung der Eingabedaten erhöht werden. Es sei angemerkt, dass Max-Pooling, Mean-Pooling, Lp-Pooling oder dergleichen als Pooling verwendet werden kann.
-
Die vollständig verbundene Schicht FCL funktioniert derart, dass sie unter Verwendung der Daten, die von der Pooling-Schicht PL[m] ausgegeben werden, ein Bild beurteilt. Die vollständig verbundene Schicht FCL weist eine Konfiguration auf, in der sämtliche Knoten einer Schicht mit sämtlichen Knoten der nächsten Schicht verbunden sind. Wenn die Daten, die von der Faltungsschicht CL oder der Pooling-Schicht PL ausgegeben werden und bei denen es sich um eine zweidimensionale Aktivierungskarte bzw. Feature Map handelt, in die vollständig verbundene Schicht FCL eingegeben werden, werden diese Daten eindimensional dekomprimiert. Dann wird ein Vektor, der durch eine Inferenz der vollständig verbundenen Schicht FCL erhalten wird, von der vollständig verbundenen Schicht FCL ausgegeben.
-
Es sei angemerkt, dass die Konfiguration des neuronalen Netzes 30a nicht auf die Konzentration in 3B beschränkt ist. Beispielsweise kann eine Pooling-Schicht PL für mehrere Faltungsschichten CL bereitgestellt sein. Das heißt, dass in dem neuronalen Netz 30a die Anzahl von Pooling-Schichten PL weniger sein kann als die Anzahl von Faltungsschichten CL. Wenn die Positionsinformationen der extrahierten Merkmale möglichst übrig gelassen werden sollen, muss die Pooling-Schicht PL nicht notwendigerweise bereitgestellt sein.
-
In dem neuronalen Netz 30a können der Filterwert eines Gewichtsfilters, der Gewichtskoeffizient der vollständig verbundenen Schicht FCL und dergleichen durch Lernen optimiert werden.
-
Als Nächstes werden Beispiele für einen Faltungsvorgang, der in der Faltungsschicht CL durchgeführt wird, und einen Pooling-Vorgang, der in der Pooling-Schicht PL durchgeführt wird, anhand von 4 beschrieben. In 4 umfassen die Daten, die in die Faltungsschicht CL eingegeben werden, Eingabedatenwerte in drei Zeilen und drei Spalten (einen Eingabedatenwert i11, einen Eingabedatenwert i12, einen Eingabedatenwert i13, einen Eingabedatenwert i21, einen Eingabedatenwert i22, einen Eingabedatenwert i23, einen Eingabedatenwert i31, einen Eingabedatenwert i32 und einen Eingabedatenwert i33). Der Gewichtsfilter umfasst Filterwerte in zwei Zeilen und zwei Spalten (einen Filterwert f11, einen Filterwert f12, einen Filterwert f21 und einen Filterwert f22).
-
Hier können beispielsweise als Daten, die in die Faltungsschicht CL[1] eingegeben werden, Bilddaten verwendet werden. In diesem Fall können die vorstehenden Eingabedatenwerte als Pixelwerte, die in den Bilddaten enthalten sind, definiert werden.
-
In dieser Beschreibung und dergleichen bezieht sich der Pixelwert auf einen Wert, der die Abstufung der Leuchtdichte von Licht, das ein Pixel emittiert, darstellt. Wenn beispielsweise der Pixelwert ein 8-Bit-Wert ist, kann das Pixel Licht mit einer 256-stufigen Leuchtdichte emittieren. Die Bilddaten können eine Gruppe von Pixelwerten aufweisen, beispielsweise können sie Pixelwerte aufweisen, deren Anzahl gleich derjenigen von Pixeln ist. Wenn beispielsweise die Anzahl von Pixeln eines Bildes 2 × 2 beträgt, können die Bilddaten, die dieses Bild darstellen, 2 × 2 Pixelwerte aufweisen.
-
Beispielsweise kann es sich bei den vorstehenden Eingabedatenwerten, die in die Faltungsschicht CL[2] eingegeben werden, um den Ausgabewert einer Pooling-Schicht PC[1] handeln, und bei den vorstehenden Eingabedatenwerten, die in die Faltungsschicht CL[m] eingegeben werden, kann es sich um den Ausgabewert einer Pooling-Schicht PC[m-1] handeln.
-
Die Faltung erfolgt durch eine Berechnung der Produktsumme der Eingabedatenwerte und der Filterwerte. Als Filterwerte können Daten, die vorbestimmte Merkmale darstellen (als Merkmaldaten bezeichnet), verwendet werden. In diesem Fall können Merkmale der Bilddaten, die in das neuronale Netz 30a eingegeben werden, extrahiert werden, indem die Eingabedatenwerte mit den Filterwerten verglichen werden.
-
4 stellt die Art und Weise dar, in der die Faltungsschicht CL einen Filtervorgang an dem Eingabedatenwert i11, dem Eingabedatenwert i12, dem Eingabedatenwert i21 und dem Eingabedatenwert i22 durchführt und somit ein Faltungswert C11, der in den von der Faltungsschicht CL ausgegebenen Daten enthalten ist, erfasst wird. 4 stellt auch die Art und Weise dar, in der die Faltungsschicht CL einen Filtervorgang an dem Eingabedatenwert i12, dem Eingabedatenwert i13, dem Eingabedatenwert i22 und dem Eingabedatenwert i23 durchführt und somit ein Faltungswert C12, der in den von der Faltungsschicht CL ausgegebenen Daten enthalten ist, erfasst wird. 4 stellt auch die Art und Weise dar, in der die Faltungsschicht CL einen Filtervorgang an dem Eingabedatenwert i21, dem Eingabedatenwert i22, dem Eingabedatenwert i31 und dem Eingabedatenwert i32 durchführt und somit ein Faltungswert C21, der in den von der Faltungsschicht CL ausgegebenen Daten enthalten ist, erfasst wird. 4 stellt ferner die Art und Weise dar, in der die Faltungsschicht CL einen Filtervorgang an dem Eingabedatenwert i22, dem Eingabedatenwert i23, dem Eingabedatenwert i32 und dem Eingabedatenwert i33 durchführt und somit ein Faltungswert C22, der in den von der Faltungsschicht CL ausgegebenen Daten enthalten ist, erfasst wird. Folglich ist ersichtlich, dass der Schritt des in 4 dargestellten Faltungsvorgangs 1 beträgt.
-
Der Faltungswert C11, der Faltungswert C12, der Faltungswert C21 und der Faltungswert C22 können durch eine Produkt-Summen-Operation gemäß den jeweiligen folgenden Formeln erfasst werden.
(Formel 1)
(Formel 2)
(Formel 3)
(Formel 4)
-
Der Faltungswert C11, der Faltungswert C12, der Faltungswert C21 und der Faltungswert C22, welche die Faltungsschicht CL erfasst hat, werden gemäß den Adressen in einer Matrix angeordnet und dann an die Pooling-Schicht PL ausgegeben. Insbesondere wird der Faltungswert C11 in der ersten Zeile und der ersten Spalte angeordnet, der Faltungswert C12 wird in der ersten Zeile und der zweiten Spalte angeordnet, der Faltungswert C21 wird in der zweiten Zeile und der ersten Spalte angeordnet, und der Faltungswert C22 wird in der zweiten Zeile und der zweiten Spalte angeordnet.
-
4 stellt die Art und Weise dar, in der der Faltungswert C11, der Faltungswert C12, der Faltungswert C21 und der Faltungswert C22 in die Pooling-Schicht PL eingegeben werden und auf Basis dieser vier Faltungswerte ein Wert als Pooling-Wert P erhalten wird. Als Pooling-Wert P kann beispielsweise der Maximalwert aus dem Faltungswert C11, dem Faltungswert C12, dem Faltungswert C21 und dem Faltungswert C22 gewählt werden. Alternativ kann ein Durchschnittswert des Faltungswertes C11, des Faltungswertes C12, des Faltungswertes C21 und des Faltungswertes C22 als Pooling-Wert P verwendet werden. Bei dem Pooling-Wert P handelt es sich um den Ausgabewert, der von der Pooling-Schicht PL ausgegeben wird.
-
4 stellt das Beispiel dar, in dem die Daten, die in die Faltungsschicht CL eingegeben werden, mit einem Gewichtsfilter verarbeitet werden; jedoch können sie mit zwei oder mehr Gewichtsfiltern verarbeitet werden. In diesem Fall können mehrere Merkmale, die in den in das neuronale Netz 30a eingegebenen Bilddaten enthalten sind, extrahiert werden. Wenn die Daten, die in die Faltungsschicht CL eingegeben werden, mit zwei oder mehr Gewichtsfiltern verarbeitet werden, werden die in 4 dargestellten Vorgänge für jeden Filter durchgeführt. Obwohl, wie vorstehend beschrieben, der Schritt in 4 1 beträgt, kann der Schritt 2 oder mehr sein.
-
5 stellt ein Konfigurationsbeispiel der Faltungsschicht CL und der Pooling-Schicht PL dar, welche in dem neuronalen Netz 30a enthalten sind. 5 stellt ein Beispiel dar, in dem die Faltungsschicht CL und die Pooling-Schicht PL die in 4 dargestellten Vorgänge durchführen.
-
5 stellt Neuronen 32 dar. Als Neuronen 32 sind insbesondere Neuronen 32a, Neuronen 32b und ein Neuron 32c dargestellt. In 5 sind Werte, die von den Neuronen 32 ausgegeben werden, in den entsprechenden Neuronen 32 gezeigt. Diese Werte werden in Richtung der Pfeile ausgegeben. Wenn diese Werte mit Gewichtskoeffizienten multipliziert werden, sind die Gewichtskoeffizienten in der Nähe der Pfeile gezeigt. In 5 dienen der Filterwert f11, der Filterwert f12, der Filterwert f21 und der Filterwert f22 als Gewichtskoeffizienten.
-
Bei den Neuronen 32a handelt es sich um die Neuronen 32, die in einer Schicht L enthalten sind, die eine Schicht vor der in 5 dargestellten Faltungsschicht CL ist. Die Schicht L kann beispielsweise als Eingabeschicht dienen, wenn es sich bei der in 5 dargestellten Faltungsschicht CL um die Faltungsschicht CL[1] handelt, kann als Pooling-Schicht PL[1] dienen, wenn es sich um die Faltungsschicht CL[2] handelt, und kann als Pooling-Schicht PL[m-1] dienen, wenn es sich um die Faltungsschicht CL[m] handelt.
-
5 stellt als Neuronen 32a Neuronen 32a[1] bis 32a[9] dar. In dem in 5 dargestellten Fall gibt das Neuron 32a[1] den Eingabedatenwert i11 aus, das Neuron 32a[2] gibt den Eingabedatenwert i12 aus, das Neuron 32a[3] gibt den Eingabedatenwert i13 aus, das Neuron 32a[4] gibt den Eingabedatenwert i21 aus, das Neuron 32a[5] gibt den Eingabedatenwert i22 aus, das Neuron 32a[6] gibt den Eingabedatenwert i23 aus, das Neuron 32a[7] gibt den Eingabedatenwert i31 aus, das Neuron 32a[8] gibt den Eingabedatenwert i32 aus, und das Neuron 32a[9] gibt den Eingabedatenwert i33 aus.
-
Bei den Neuronen 32b handelt es sich um die Neuronen 32, die in der in 5 dargestellten Faltungsschicht CL enthalten sind. 5 stellt als Neuronen 32b Neuronen 32b[1] bis 32b[4] dar.
-
In dem in 5 dargestellten Fall werden das Produkt des Eingabedatenwertes i11 mit dem Filterwert f11, das Produkt des Eingabedatenwertes i12 mit dem Filterwert f12, das Produkt des Eingabedatenwertes i21 mit dem Filterwert f21 und das Produkt des Eingabedatenwertes i22 mit dem Filterwert f22 in das Neuron 32b[1] eingegeben. Dann wird der Faltungswert C11, der die Summe dieser Werte ist, von dem Neuron 32b[1] ausgegeben.
-
Des Weiteren werden das Produkt des Eingabedatenwertes i12 mit dem Filterwert f11, das Produkt des Eingabedatenwertes i13 mit dem Filterwert f12, das Produkt des Eingabedatenwertes i22 mit dem Filterwert f21 und das Produkt des Eingabedatenwertes i23 mit dem Filterwert f22 in das Neuron 32b[2] eingegeben. Dann wird der Faltungswert C12, der die Summe dieser Werte ist, von dem Neuron 32b[2] ausgegeben.
-
Des Weiteren werden das Produkt des Eingabedatenwertes i21 mit dem Filterwert f11, das Produkt des Eingabedatenwertes i22 mit dem Filterwert f12, das Produkt des Eingabedatenwertes i31 mit dem Filterwert f21 und das Produkt des Eingabedatenwertes i32 mit dem Filterwert f22 in das Neuron 32b[3] eingegeben. Dann wird der Faltungswert C21, der die Summe dieser Werte ist, von dem Neuron 32b[3] ausgegeben.
-
Ferner werden das Produkt des Eingabedatenwertes i22 mit dem Filterwert f11, das Produkt des Eingabedatenwertes i23 mit dem Filterwert f12, das Produkt des Eingabedatenwertes i32 mit dem Filterwert f21 und das Produkt des Eingabedatenwertes i33 mit dem Filterwert f22 in das Neuron 32b[4] eingegeben. Dann wird der Faltungswert C22, der die Summe dieser Werte ist, von dem Neuron 32b[4] ausgegeben.
-
Wie in 5 dargestellt, sind die Neuronen 32b[1] bis 32b[4] jeweils mit einigen der Neuronen 32a[1] bis 32a[9] verbunden. Daher kann die Faltungsschicht CL als teilweise verbundene Schicht angesehen werden.
-
Bei dem Neuron 32c handelt es sich um das Neuron 32, das in der in 5 dargestellten Pooling-Schicht PL enthalten ist. In dem in 5 dargestellten Fall werden der Faltungswert C11, der Faltungswert C12, der Faltungswert C21 und der Faltungswert C22 in das Neuron 32c eingegeben. Dann wird der Pooling-Wert P von dem Neuron 32c ausgegeben. Es sei angemerkt, dass die Faltungswerte, die von den Neuronen 32b ausgegeben werden, mit keinem Gewichtskoeffizienten multipliziert werden. Wie vorstehend beschrieben, ist der Gewichtskoeffizient ein Parameter, der durch Lernen des neuronalen Netzes optimiert wird. Daher ist eine Konfiguration möglich, in der kein Parameter, der durch Lernen optimiert wird, bei der Berechnung in der Pooling-Schicht PL verwendet wird.
-
Folglich kann, indem die Datenbankbilddaten GDDB in das neuronale Netz 30 eingegeben werden, der Verarbeitungsabschnitt 13 Daten über die Menge an Datenbankbildmerkmalen GFDDB erfassen, die die Menge an Merkmalen der Datenbankbilddaten GDDB darstellen. Wie in 3A dargestellt, können beispielsweise die Daten, die von der Schicht 31[m] ausgegeben werden, als Daten über die Menge an Datenbankbildmerkmalen GFDDB verwendet werden. Wie in 3B dargestellt, können alternativ die Daten, die von der Pooling-Schicht PL[m] ausgegeben werden, als Daten über die Menge an Datenbankbildmerkmalen GFDDB verwendet werden. Es sei angemerkt, dass die Daten über die Menge an Datenbankbildmerkmalen GFDDB Daten umfassen können, die von zwei oder mehr Schichten ausgegeben werden. Wenn die Daten über die Menge an Datenbankbildmerkmalen GFDDB Daten umfassen, die von einer Vielzahl von Schichten ausgegeben werden, können die Daten über die Menge an Datenbankbildmerkmalen GFDDB genauer die Merkmale der Datenbankbilddaten GDDB darstellen. Die Daten über die Menge an Datenbankbildmerkmalen GFDDB, die der Verarbeitungsabschnitt 13 erfasst hat, können in der Datenbank 17 gespeichert werden.
-
[Schritt S03]
-
Als Nächstes erfasst der Verarbeitungsabschnitt 13 Datenbankkennzeichen TAGDB, die mit den Datenbankbilddaten GDDB verlinkt werden. Die Datenbankkennzeichen TAGDB werden vorzugsweise derart erfasst, dass es sich bei den Datenbankkennzeichen TAGDB um die Kennzeichen handelt, die Konzepte, technische Inhalte, bemerkenswerte Punkte und dergleichen der Bilder darstellen, die den Datenbankbilddaten GDDB entsprechen. 6A stellt ein Beispiel für ein Verfahren zum Erfassen der Datenbankkennzeichen TAGDB dar. Es sei angemerkt, dass die Darstellung der in 6A gezeigten Daten nur ein Beispiel ist und die Daten nicht darauf beschränkt sind. Zudem sind auch die Daten, die Vektoren und dergleichen, welche in anderen Zeichnungen gezeigt sind, nur beispielhaft dargestellt, und sie sind nicht auf die dargestellten Inhalte beschränkt.
-
Wenn in dieser Beschreibung und dergleichen mehrere Elemente, die mit den gleichen Bezugszeichen bezeichnet werden, voneinander unterscheiden werden sollen, werden ihren Bezugszeichen Kennungen, wie z. B. „[1]“ und „[2]“, hinzugefügt.
-
In dem in 6A dargestellten Verfahren werden beispielsweise Kennzeichen mit den jeweiligen Datenbankbilddaten GDDB[1] bis GDDB[100] verlinkt. Dokumentdaten TDDB, die den Datenbankbilddaten GDDB entsprechen, werden im Voraus in der Datenbank 17 gespeichert. Des Weiteren sind Zeichnungsnummern mit den Datenbankbilddaten GDDB verlinkt.
-
Als Dokumentdaten TDDB können beispielsweise Daten verwendet werden, die Dokumenten in Publikationen, wie z. B. Patentdokumenten, Gebrauchsmusterveröffentlichungen, Designveröffentlichungen und Aufsätzen, entsprechen, die die durch die Datenbankbilddaten GDDB dargestellten Zeichnungen aufweisen. Wenn beispielsweise die Publikation, die die durch die Datenbankbilddaten GDDB dargestellten Zeichnung aufweist, ein Patentdokument oder eine Gebrauchsmusterveröffentlichung ist, können Daten, die der Beschreibung entsprechen, als Dokumentdaten TDDB verwendet werden. Alternativ können Daten, die den Patentansprüchen, den Ansprüchen des Gebrauchsmusters oder der Zusammenfassung entsprechen, als Dokumentdaten TDDB verwendet werden. Wenn die Publikation, die die Datenbankbilddaten GDDB aufweist, eine Designveröffentlichung ist, können Daten, die der Anmeldung entsprechen, als Dokumentdaten TDDB verwendet werden.
-
Wenn beispielsweise Daten, die einer Beschreibung, einem Aufsatz oder dergleichen entsprechen, als Dokumentdaten TDDB verwendet werden, können die Datenbankkennzeichen TAGDB durch eine morphologische Analyse an einem Absatz, in dem die durch die Datenbankbilddaten GDDB dargestellten Zeichnung beschrieben wird, erfasst werden. 6A stellt ein Beispiel dar, in dem die Zeichnungsnummer eines Bildes, das den Datenbankbilddaten GDDB[1] entspricht, „1“ ist und der Absatz [0xx0] eines Dokumentes, das durch mit den Datenbankbilddaten GDDB[1] verlinkte Dokumentdaten TDDB[1] dargestellt wird, „1 ist“ beschreibt. Daher können Datenbankkennzeichen TAGDB[1] beispielsweise durch eine morphologische Analyse an einem Text im Absatz [0xx0] unter Annahme erfasst werden, dass die Erläuterung der durch die Datenbankbilddaten GDDB[1] dargestellten Zeichnung im Absatz [0xx0] vorhanden ist. 6A stellt ferner ein Beispiel dar, in dem die Zeichnungsnummer eines Bildes, das den Bilddaten GDDB[100] entspricht, „15“ ist und der Absatz [0xx7] eines Dokumentes, das durch mit den Datenbankbilddaten GDDB[100] verlinkte Dokumentdaten TDDB[100] dargestellt wird, „15 ist“ beschreibt. Daher können Datenbankkennzeichen TAGDB[100] beispielsweise durch eine morphologische Analyse an einem Text im Absatz [0xx7] unter Annahme erfasst werden, dass die Erläuterung der durch die Datenbankbilddaten GDDB[100] dargestellten Zeichnung im Absatz [0xx7] vorhanden ist.
-
Es sei angemerkt, dass sich nicht sämtliche Dokumentdaten TDDB unbedingt voneinander unterscheiden müssen. Wenn beispielsweise die Datenbankbilddaten GDDB[1] „1“ einer vorbestimmten Publikation entsprechen und die Datenbankbilddaten GDDB[2] „2“ derselben Publikation entsprechen, kann das durch die Dokumentdaten TDDB[1] dargestellte Dokument gleich dem durch die Dokumentdaten TDDB[2] dargestellten Dokument sein.
-
Bei der morphologischen Analyse wird der in einer natürlichen Sprache geschriebene Text in Morpheme (kleinste sprachlich sinnvolle Einheiten) zerlegt, und die Wortarten oder dergleichen der Morpheme können bestimmt werden. Daher können beispielsweise nur die Nomina im Absatz [0xx0] extrahiert werden, um die Datenbankkennzeichen TAGDB[1] zu erfassen. In dem in 6A dargestellten Fall dienen die Wörter „Schaltplan“, „aaa“, „bbb“, „ccc“, „ddd“ und dergleichen als Datenbankkennzeichen TAGDB[1]. Die Wörter „Blockdiagramm“, „ggg“, „aaa“, „ccc“, „hhh“ und dergleichen dienen als Datenbankkennzeichen TAGDB[100].
-
Wie vorstehend beschrieben, können die Datenbankkennzeichen TAGDB beispielsweise durch eine morphologische Analyse an den Dokumentdaten TDDB, die mit den Datenbankbilddaten GDDB verlinkt sind, erfasst werden. Indem die Datenbankkennzeichen TAGDB durch dieses Verfahren erfasst werden, können Kennzeichen, die Konzepte, technische Inhalte, bemerkenswerte Punkte und dergleichen der Bilder darstellen, die den Datenbankbilddaten GDDB entsprechen, umfangreich erfasst werden.
-
In dieser Beschreibung und dergleichen bezeichnet ein Kennzeichen beispielsweise ein Wort. In dem in 6A dargestellten Fall kann beispielsweise die Anzahl von Datenbankkennzeichen TAGDB[1] fünf oder mehr sein. Die Anzahl von Datenbankkennzeichen TAGDB[100] kann fünf oder mehr sein.
-
Es sei angemerkt, dass beispielsweise nicht sämtliche Wörter, die durch die morphologische Analyse extrahiert werden, unbedingt als Datenbankkennzeichen TAGDB verwendet werden müssen. Beispielsweise kann eine vorbestimmte Anzahl von Wörtern aus den extrahierten Wörtern extrahiert werden, und die extrahierten Wörter können dann als Datenbankkennzeichen TAGDB verwendet werden. Beispielsweise kann nur eine vorbestimmte Anzahl von Wörtern mit hoher Term Frequency-Inverse Document Frequency (TF-IDF) aus den extrahierten Wörtern extrahiert werden, und die extrahierten Wörter können dann als Datenbankkennzeichen TAGDB verwendet werden. Das Bildsuchverfahren mit dem Bildsuchsystem 10 kann vereinfacht werden, wenn die Anzahl von Datenbankkennzeichen TAGDB, die mit den Datenbankbilddaten GDDB verlinkt werden, zwischen den mehreren Datenbankbilddaten GDDB gleich ist.
-
Die TF-IDF wird auf Grundlage von zwei Indikatoren, nämlich der Vorkommenshäufigkeit (term frequency, TF) von Wörtern und der inversen Dokumenthäufigkeit (inverse document frequency, IDF), berechnet. Daher weist ein Wort, das überall im Dokument häufig vorkommt, eine hohe TF und eine niedrige IDF auf. Dieses Wort weist dementsprechend eine niedrigere TF-IDF auf als ein Wort, das eine hohe Vorkommenshäufigkeit in einem Absatz oder dergleichen, aus dem Kandidatenwörter für die Datenbankkennzeichen TAGDB extrahiert werden, und eine niedrige Vorkommenshäufigkeit in den anderen Absätzen oder dergleichen aufweist. Beispielsweise gibt es eine Möglichkeit, dass es sich bei einem Wort, das überall im Dokument häufig vorkommt, nicht um ein Wort handelt, das ein Merkmal, wie z. B. ein Konzept, einen technischen Inhalt oder einen bemerkenswerten Punkt, des Bildes stark darstellt. Wenn die Datenbankkennzeichen TAGDB mithilfe der TF-IDF erfasst werden, können daher die Datenbankkennzeichen TAGDB erfasst werden, die Merkmale des Datenbankbildes stärker darstellen beispielsweise als wenn die Datenbankkennzeichen TAGDB nur mithilfe der TF erfasst werden. Folglich kann das Bildsuchsystem 10 eine genaue Suche durchführen. Es sei angemerkt, dass die Datenbankkennzeichen TAGDB beispielsweise nur mithilfe der TF erfasst werden können, ohne die TF-IDF zu berechnen. In diesem Fall kann die Berechnung, die der Verarbeitungsabschnitt 13 durchführt, vereinfacht werden.
-
Es sei angemerkt, dass eine morphologische Analyse an Texten in zwei oder mehr Absätzen durchgeführt werden kann. Beispielsweise kann eine morphologische Analyse abgesehen von einem Absatz, in dem die durch die Datenbankbilddaten GDDB dargestellte Zeichnung als erläutert angesehen wird, auch an Absätzen vor und nach diesem Absatz durchgeführt werden. Wenn beispielsweise eine morphologische Analyse an den in 6A dargestellten Dokumentdaten TDDB[1] durchgeführt wird, kann abgesehen von dem Absatz [0xx0] auch der nächste Absatz [0xx1] der morphologischen Analyse unterzogen werden. In diesem Fall kann beispielsweise das Wort „eee“ im Absatz [0xx1] als Datenbankkennzeichen TAGDB[1] angenommen werden. Wenn beispielsweise eine morphologische Analyse an den in 6A dargestellten Dokumentdaten TDDB[100] durchgeführt wird, kann abgesehen von dem Absatz [0xx7] auch der vorherige Absatz [0xx6] der morphologischen Analyse unterzogen werden. In diesem Fall kann beispielsweise das Wort „fff“ im Absatz [0xx6] als Datenbankkennzeichen TAGDB[100] angenommen werden.
-
Alternativ kann eine morphologische Analyse an allen Absätzen durchgeführt werden, in denen die mit den Datenbankbilddaten GDDB verlinkte Zeichnungsnummer beschrieben ist. Alternativ kann eine morphologische Analyse an einem Absatz durchgeführt werden, in dem die mit den Datenbankbilddaten GDDB verlinkte Zeichnungsnummer beschrieben ist und keine andere Zeichnungsnummer beschrieben ist.
-
Alternativ kann eine morphologische Analyse nur an einigen Sätzen durchgeführt werden, die in dem Text in einem vorbestimmten Absatz enthalten sind. In dem in 6A dargestellten Fall können beispielsweise in dem Text im Absatz [0xx0] nur Sätze, die „1 ist“ enthalten, einer morphologischen Analyse unterzogen werden. In diesem Fall handelt es sich bei dem Wort „ddd“ nicht um das Datenbankkennzeichen TAGDB[1].
-
Es sei angemerkt, dass nicht nur Wörter selbst in dem Dokument, das durch die Dokumentdaten TDDB dargestellt wird, sondern auch Synonyme dieser Wörter als Datenbankkennzeichen TAGDB verwendet werden können. Beispielsweise können Synonymwörterbuchdaten im Voraus in dem Speicherabschnitt 15 oder der Datenbank 17 gespeichert werden, und Wörter, die durch eine morphologische Analyse extrahiert werden, und Wörter, das als Synonyme dieser Wörter im Synonymwörterbuch eingetragen sind, können als Datenbankkennzeichen TAGDB verwendet werden. Die hier gemeinten Synonyme können aus einem allgemein erhältlichen Synonymwörterbuch gewählt werden; jedoch können auch Synonyme, die mittels der Worteinbettung extrahiert werden, verwendet werden. Die Extraktion der Synonyme mittels der Worteinbettung kann unter Verwendung einer Datenbank durchgeführt werden, die ein anderes Dokument auf dem Gebiet, zu dem das zu suchende Dokument gehört, enthält.
-
Indem nicht nur Wörter selbst in dem Dokument, das durch die Dokumentdaten TDDB dargestellt wird, sondern auch Synonyme dieser Wörter als Datenbankkennzeichen TAGDB verwendet werden, können die Datenbankkennzeichen TAGDB Merkmale, wie z. B. Konzepte, technische Inhalte und bemerkenswerte Punkte, der Datenbankbilddaten GDDB stark darstellen.
-
Es sei angemerkt, dass die Datenbankkennzeichen TAGDB erfasst werden können, ohne die morphologische Analyse zu verwenden. Beispielsweise können die Datenbankkennzeichen TAGDB auf Basis der Daten über die Menge an Datenbankbildmerkmalen GFDDB erfasst werden.
-
6B stellt ein Beispiel für ein Verfahren zum Verlinken der Zeichnungsnummern mit den Datenbankbilddaten GDDB dar. In 6B sind die Bilddaten GDDB[1] und die Bilddaten GDDB[2] sowie die Dokumentdaten TDDB in Publikationsdaten PD enthalten. Eine Publikation, die durch die Publikationsdaten PD dargestellt wird, weist einen Text „1 xxx“ und einen Text „2 yyy“ auf. Es sei angemerkt, dass Daten, die den Text „1 xxx“ darstellen, und Daten, die den Text „2 yyy“ darstellen, nicht in den Dokumentdaten TDDB enthalten sind. Zudem werden „x1“, „x2“, „x1 < x2“, gestrichelte Linien, Pfeile und dergleichen in 6B der Einfachheit der Beschreibung halber gezeigt, und diese sind tatsächlich nicht in der Publikation, die durch die Publikationsdaten PD dargestellt wird, vorhanden.
-
In dem in 6B dargestellten Verfahren kann dann, wenn beispielsweise ein Text „Fig. N“ in einem vorbestimmten Abstand von einer Zeichnung vorhanden ist, die Zeichnungsnummer einer Zeichnung, die sich dem Text „Fig. N“ am nächsten befindet, als „N“ bezeichnet werden. Hier kann beispielsweise der Abstand zwischen den Koordinaten, die das Zentrum des Textes darstellen (zentralen Koordinaten), und den zentralen Koordinaten der Zeichnung als Abstand vom Text bis zur Zeichnung definiert werden. Es sei angemerkt, dass „N“ nicht auf eine ganze Zahl beschränkt ist; beispielsweise kann es ein Zeichnen umfassen. Beispielsweise kann N „1 (A)“ sein.
-
In dem in 6B dargestellten Fall ist ein Abstand x1 zwischen den zentralen Koordinaten des Textes „1 xxx“ und den zentralen Koordinaten einer Zeichnung, die den Datenbankbilddaten GDDB[1] entspricht, kürzer als ein Abstand x2 zwischen den zentralen Koordinaten des Textes „1 xxx“ und den zentralen Koordinaten einer Zeichnung, die den Datenbankbilddaten GDDB[2] entsprechen. Daher kann festgestellt werden, dass die Zeichnung, die sich dem Text „1 xxx“ am nächsten befindet, die Datenbankbilddaten GDDB[1] ist. Folglich kann „1“ als Zeichnungsnummer mit den Datenbankbilddaten GDDB[1] verlinkt werden.
-
6B stellt ferner ein Beispiel dar, in dem in dem Dokument, das durch die Dokumentdaten TDDB dargestellt wird, der Absatz [0zz3] „1 ist“ beschreibt und der Absatz [0zz4] „2 ist“ beschreibt. In dem in 6B dargestellten Fall können daher die Datenbankkennzeichen TAGDB[1], die mit den Datenbankbilddaten GDDB[1] verlinkt werden, beispielsweise durch eine morphologische Analyse an einem Text im Absatz [0zz3] erfasst werden. In 6B dienen die Wörter „Blockdiagramm“, „iii“, „kkk“, „hhh“, „ppp“ und dergleichen im Absatz [0zz3] als Datenbankkennzeichen TAGDB[1].
-
Es sei angemerkt, dass beispielsweise die zentralen Koordinaten aller Zeichnungen in einer ersten eindimensionalen Anordnung angeordnet werden können und beispielsweise die zentralen Koordinaten aller Texte „Fig. N“ in einer zweiten eindimensionalen Anordnung angeordnet werden können. Die Koordinaten, die in der ersten eindimensionalen Anordnung enthalten sind, und die Koordinaten, die in der zweiten eindimensionalen Anordnung enthalten sind, können dann miteinander verglichen werden, und mit jeder Zeichnung kann der Text „Fig. N“ in Koordinaten, die sich dieser am nächsten befinden, verlinkt werden. Das heißt, dass die Zeichnungsnummer der Zeichnung in Koordinaten, die den Koordinaten, die die Position des Textes „Fig. N“ darstellen, am nächsten liegen, durch „N“ gekennzeichnet werden kann. Die Koordinaten, die in der ersten eindimensionalen Anordnung enthalten sind, und die Koordinaten, die in der zweiten eindimensionalen Anordnung enthalten sind, können miteinander verglichen werden, indem beispielsweise die Summe der Zweierpotenz der Differenz zwischen den x-Koordinaten und der Zweierpotenz der Differenz zwischen den y-Koordinaten berechnet wird. Beim Vergleich durch dieses Verfahren kann beispielsweise ein Element, bei dem die vorstehende Summe am kleinsten ist, als Element in den nächsten Koordinaten definiert werden.
-
Durch das vorstehende Verfahren kann der Verarbeitungsabschnitt 13 die Datenbankkennzeichen TAGDB erfassen. Die Datenbankkennzeichen TAGDB, die der Verarbeitungsabschnitt 13 erfasst hat, können in der Datenbank 17 gespeichert werden.
-
[Schritt S04]
-
Als Nächstes werden die Datenbankkennzeichen TAGDB durch Vektoren dargestellt. Die Vektoren, die die Datenbankkennzeichen TAGDB darstellen, werden als Datenbankkennzeichenvektoren TAGVDB bezeichnet. 7A zeigt die Darstellung der Datenbankkennzeichen TAGDB in 6A durch die Vektoren.
-
Die Datenbankkennzeichenvektoren TAGVDB können erfasst werden, in dem die Datenbankkennzeichen TAGDB beispielsweise in ein neuronales Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben werden. In diesem Fall kann es sich bei den Datenbankkennzeichenvektoren TAGVDB beispielsweise um Worteinbettungsvektoren handeln. Der Worteinbettungsvektor bezeichnet einen Vektor, der einen kontinuierlichen Wert darstellt, in dem ein Wort in Bezug auf jedes Merkmalelement (Dimension) quantifiziert ist. Die Vektoren von Wörtern mit ähnlichen Bedeutungen nähern sich einander an.
-
Das neuronale Netz, das für die Erfassung der Worteinbettungsvektoren verwendet wird, kann eine Konfiguration aufweisen, die sich von derjenigen des neuronalen Netzes unterscheidet, das für die Erfassung der vorstehend beschriebenen Daten über die Menge an Bildmerkmalen verwendet wird. 7B stellt ein Konfigurationsbeispiel eines neuronalen Netzes 40 dar, das ein neuronales Netz ist, das für die Erfassung der Worteinbettungsvektoren verwendet wird.
-
In dieser Beschreibung und dergleichen wird gegebenenfalls beispielsweise das neuronale Netz, das für die Erfassung der Daten über die Menge an Bildmerkmalen verwendet wird, als erstes neuronales Netz bezeichnet und wird das neuronale Netz, das für die Erfassung der Worteinbettungsvektoren verwendet wird, als zweites neuronales Netz bezeichnet. Es sei angemerkt, dass diese Ordnungszahlen lediglich beispielhaft verwendet werden; beispielsweise kann das neuronale Netz, das für die Erfassung der Worteinbettungsvektoren verwendet werden, als erstes neuronales Netz bezeichnet werden, und das neuronale Netz, das für die Erfassung der Daten über die Menge an Bildmerkmalen verwendet wird, kann als zweites neuronales Netz bezeichnet werden. Außerdem kann beispielsweise das neuronale Netz, das für die Erfassung der Daten über die Menge an Bildmerkmalen verwendet wird, als drittes neuronales Netz oder dergleichen bezeichnet werden; alternativ kann beispielsweise das neuronale Netz, das für die Erfassung der Worteinbettungsvektoren verwendet wird, als drittes neuronales Netz oder dergleichen bezeichnet werden.
-
Wie in 7B dargestellt, umfasst das neuronale Netz 40 eine Eingabeschicht IL, eine Zwischenschicht ML und eine Ausgabeschicht OL. Das neuronale Netz 40 kann hier eine Zwischenschicht ML umfassen. Das neuronale Netz 40 kann die Worteinbettungsvektoren, die die in die Eingabeschicht IL eingegebenen Wörter darstellen, beispielsweise unter Verwendung des Open-Source-Algorithmus „Word2Vec“ erfassen. Im Folgenden wird ein Beispiel für ein Verfahren beschrieben, in dem das neuronale Netz 40 mit der in 7B dargestellten Konfiguration die Datenbankkennzeichenvektoren TAGVDB erfasst, die die in die Eingabeschicht IL eingegebenen Datenbankkennzeichen TAGDB darstellen.
-
Als Vektoren werden One-Hot-Vektoren, die die Datenbankkennzeichen TAGDB darstellen, in die Eingabeschicht IL eingegeben. Hier kann in dem One-Hot-Vektor eine Komponente ein Wort darstellen, wobei eine Komponente, die dem in die Eingabeschicht IL eingegebenen Wort entspricht, 1 darstellt und die anderen Komponenten 0 darstellen. Das heißt, dass es sich bei dem One-Hot-Vektor um einen Vektor handelt, in dem eine Komponente 1 darstellt und die anderen Komponenten sämtlich 0 darstellen. Die Anzahl von Neuronen, die in der Eingabeschicht IL enthalten sind, kann gleich der Anzahl von Komponenten sein, die diesen One-Hot-Vektor bilden.
-
Die Zwischenschicht ML funktioniert derart, dass sie die Worteinbettungsvektoren auf Basis der One-Hot-Vektoren, die in die Eingabeschicht IL eingegeben werden, erzeugt. Die Zwischenschicht ML kann die Worteinbettungsvektoren erzeugen, indem beispielsweise die One-Hot-Vektoren mit vorbestimmten Gewichten multipliziert werden. Diese Gewichte können durch eine Matrix dargestellt werden, und das neuronale Netz 40 kann somit die Worteinbettungsvektoren durch eine Berechnung der Produktsumme der One-Hot-Vektoren und der Gewichtsmatrix erzeugen.
-
Es sei angemerkt, dass die Anzahl von Neuronen, die in der Zwischenschicht ML enthalten sind, gleich der Anzahl von Dimensionen der Worteinbettungsvektoren sein kann. Wenn beispielsweise die Anzahl von Dimensionen der Worteinbettungsvektoren 300 beträgt, kann die Zwischenschicht ML 300 Neuronen umfassen.
-
Die vorstehende Gewichtsmatrix kann durch Lernen, z. B. überwachtes Lernen, erfasst werden. Insbesondere wird ein One-Hot-Vektor, der ein Wort darstellt, in die Eingabeschicht IL eingegeben, und ein One-Hot-Vektor, der ein Umgebungswort des in die Eingabeschicht IL eingegebenen Wortes darstellt, wird in die Ausgabeschicht OL eingegeben. Für ein Wort, das in die Eingabeschicht IL eingegeben wird, werden hier mehrere Umgebungswörter in die Ausgabeschicht OL eingegeben. Dann werden Werte der Gewichtsmatrix des neuronalen Netzes 40 derart angepasst, dass die Ausgabeschicht OL die Wahrscheinlichkeiten der Umgebungswörter des in die Eingabeschicht IL eingegeben Wortes ausgeben kann. Es sei angemerkt, dass beispielsweise eines der Neuronen, die in der Ausgabeschicht OL enthalten sind, einem Wort entspricht. Das Vorstehende ist ein Beispiel für das Lernverfahren des neuronalen Netzes 40.
-
Wie vorstehend beschrieben, kann sowohl in der Eingabeschicht IL als auch in der Ausgabeschicht OL ein Neuron einem Wort entsprechen. Daher kann die Anzahl von Neuronen, die in der Eingabeschicht IL enthalten sind, gleich der Anzahl von Neuronen sein, die in der Ausgabeschicht OL enthalten sind.
-
Die Anzahl von Neuronen, die in der Zwischenschicht ML enthalten sind, kann weniger sein als die Anzahl von Neuronen, die in der Eingabeschicht IL enthalten sind. Beispielsweise kann die Anzahl von Wörtern, die das neuronale Netz 40 verarbeiten kann, d. h. die Anzahl von Neuronen, die in der Eingabeschicht IL enthalten sind, 10000 betragen, und die Anzahl von Dimensionen der Worteinbettungsvektoren, d. h. die Anzahl von Neuronen, die in der Zwischenschicht ML enthalten sind, kann 300 betragen. In der Worteinbettung kann daher die Anzahl von Dimensionen klein gehalten werden, selbst wenn die Anzahl von darstellbaren Wörtern zunimmt; deshalb ist weniger wahrscheinlich, dass der Berechnungsbetrag ansteigt, selbst wenn die Anzahl von darstellbaren Wörtern zunimmt. Das Bildsuchsystem 10 kann somit eine kurze Suche durchführen.
-
Durch das vorstehende Verfahren kann der Verarbeitungsabschnitt 13 die Datenbankkennzeichenvektoren TAGVDB erfassen. Die Datenbankkennzeichenvektoren TAGVDB, die der Verarbeitungsabschnitt 13 erfasst hat, können in der Datenbank 17 gespeichert werden.
-
Insofern erfasst in den Schritten S01 bis S04 der Verarbeitungsabschnitt 13 die Daten über die Menge an Datenbankbildmerkmalen GFDDB, die Datenbankkennzeichen TAGDB und die Datenbankkennzeichenvektoren TAGVDB, und diese werden in der Datenbank 17 gespeichert. Somit kann das Bildsuchsystem 10 nach einem Datenbankbild, das einem Abfragebild ähnlich ist, suchen. Es sei angemerkt, dass die Datenbankkennzeichen TAGDB nicht notwendigerweise in der Datenbank 17 gespeichert werden müssen.
-
In dem in 2 dargestellten Verfahren erfasst der Verarbeitungsabschnitt 13 im Schritt S01 und Schritt S02 die Daten über die Menge an Datenbankbildmerkmalen GFDDB, und im Schritt S03 und Schritt S04 erfasst dann der Verarbeitungsabschnitt 13 die Datenbankkennzeichen TAGDB und die Datenbankkennzeichenvektoren TAGVDB; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Beispielsweise kann der Verarbeitungsabschnitt 13 die Daten über die Menge an Datenbankbildmerkmalen GFDDB erfassen, nachdem er die Datenbankkennzeichen TAGDB und die Datenbankkennzeichenvektoren TAGVDB erfasst hat.
-
In dem in 2 dargestellten Verfahren werden die Vektoren, die von dem neuronalen Netz 40 ausgegeben werden, indem die Datenbankkennzeichen TAGDB in das neuronale Netz 40 eingegeben werden, direkt als Datenbankkennzeichenvektoren TAGVDB verwendet; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Im Folgenden wird eine Variante des Erfassungsverfahrens der Datenbankkennzeichenvektoren TAGVDB beschrieben.
-
Zunächst erfasst der Verarbeitungsabschnitt 13 Kandidatenwörter der Datenbankkennzeichen TAGDB. Die Kandidatenwörter der Datenbankkennzeichen TAGDB können, wie in 6A und 6B dargestellt, beispielsweise durch eine morphologische Analyse erfasst werden.
-
Als Nächstes werden die erfassten Wörter durch Vektoren dargestellt. Beispielsweise können die erfassten Wörter durch Worteinbettungsvektoren dargestellt werden, indem diese in das neuronale Netz 40 eingegeben werden.
-
Danach wird ein Clustering an den Worteinbettungsvektoren durchgeführt, um eine vorbestimmte Anzahl von Clustern zu erzeugen. Beispielsweise werden Cluster erzeugt, deren Anzahl gleich der Anzahl von Datenbankkennzeichen TAGDB ist, die erfassen werden sollen. Das Clustering kann durch ein k-Means-Verfahren, ein Density-Based Spatial Clustering of Applications with Noise- (DBSCAN-) Verfahren oder dergleichen erfolgen.
-
8A stellt ein Beispiel dar, in dem 20 Wörter als Kandidaten der Kennzeichen, die mit den Datenbankbilddaten GDDB[1] verlinkt werden, von dem Verarbeitungsabschnitt 13 erfasst werden und diese Wörter durch die jeweiligen Datenbankwortvektoren WORDVDB dargestellt werden. 8A stellt ferner ein Beispiel dar, in dem fünf Cluster (ein Cluster CST1, ein Cluster CST2, ein Cluster CST3, ein Cluster CST4 und ein Cluster CST5) auf Basis der 20 Datenbankwortvektoren WORDVDB erzeugt werden. Es sei angemerkt, dass es sich der Einfachheit der Beschreibung halber bei den in 8A dargestellten Vektoren jeweils um einen zweidimensionalen Vektor handelt, wobei die Richtung der horizontalen Achse eine Komponente des zweidimensionalen Vektors darstellt und die Richtung der vertikalen Achse die andere Komponente des zweidimensionalen Vektors darstellt; jedoch kann es sich bei den Datenbankwortvektoren WORDVDB oder dergleichen jeweils tatsächlich beispielsweise um einen 300-dimensionalen Vektor handeln.
-
Als Nächstes wird für jeden der Cluster CST1 bis CST5 ein Vektor ermittelt, der einen repräsentativen Punkt darstellt. Diese Vektoren, die die jeweiligen repräsentativen Punkte darstellen, können dann als Datenbankkennzeichenvektoren TAGVDB[1] bestimmt werden. 8A stellt ein Beispiel dar, in dem ein Vektor, der den repräsentativen Punkt des Clusters CST1 darstellt, als Datenbankkennzeichenvektor TAGV1DB[1] bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST2 darstellt, als Datenbankkennzeichenvektor TAGV2DB[1] bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST3 darstellt, als Datenbankkennzeichenvektor TAGV3DB[1] bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST4 darstellt, als Datenbankkennzeichenvektor TAGV4DB[1] bezeichnet wird und ein Vektor, der den repräsentativen Punkt des Clusters CST5 darstellt, als Datenbankkennzeichenvektor TAGV5DB[1] bezeichnet wird.
-
Als jede Komponente des vorstehenden Vektors, der den repräsentativen Punkt darstellt, kann beispielsweise ein Durchschnittswert jeder Komponente der Datenbankwortvektoren WORDVDB, die in dem Cluster enthalten sind, verwendet werden. Wenn beispielsweise ein Cluster fünf Datenbankwortvektoren WORDVDB, nämlich (0,1;0,7), (0,2;0,5), (0,3;0,5), (0,4;0,2) und (0,5;0,1), umfasst, kann als Vektor, der den repräsentativen Punkt dieses Clusters darstellt, beispielsweise (0,3;0,4) gewählt werden. Durch das vorstehende Verfahren kann der Verarbeitungsabschnitt 13 die Datenbankkennzeichenvektoren TAGVDB[1] erfassen.
-
Datenbankkennzeichenvektoren TAGVDB[2] und folgenden Datenbankkennzeichenvektoren können ebenfalls durch ein ähnliches Verfahren erfasst werden. 8B ist eine Tabelle, die Komponenten jedes Vektors zeigt, wobei für jede der Datenbankbilddaten GDBB[1] bis GDDB[100] fünf Datenbankkennzeichenvektoren TAGVDB (ein Datenbankkennzeichenvektor TAGV1DB, ein Datenbankkennzeichenvektor TAGV2DB, ein Datenbankkennzeichenvektor TAGV3DB, ein Datenbankkennzeichenvektor TAGV4DB und ein Datenbankkennzeichenvektor TAGV5DB) erfasst werden. Es sei angemerkt, dass die Komponenten in 8B der Einfachheit der Beschreibung halber beispielhaft gezeigt sind.
-
Wie in 8B gezeigt, können die Datenbankkennzeichenvektoren TAGVDB jeweils mit einem Gewicht versehen werden. Dieses Gewicht kann beispielsweise als Wert definiert werden, der erhalten wird, indem die Anzahl von Datenbankwortvektoren WORDVDB, die in einem Cluster enthalten sind, durch die Gesamtzahl der Wörter, die als Kandidaten der Kennzeichen, die mit den Datenbankbilddaten GDDB verlinkt werden, der Verarbeitungsabschnitt 13 erfasst hat, dividiert wird. 8A und 8B stellen ein Beispiel dar, in dem der Verarbeitungsabschnitt 13 20 Wörter als Kandidaten der Kennzeichen, die mit den Datenbankbilddaten GDDB[1] verlinkt werden, erfasst hat. In diesem Beispiel umfasst der Cluster CST1 acht Datenbankwortvektoren WORDVDB, der Cluster CST2 umfasst vier Datenbankwortvektoren WORDVDB, der Cluster CST3 umfasst zwei Datenbankwortvektoren WORDVDB, der Cluster CST4 umfasst drei Datenbankwortvektoren WORDVDB, und der Cluster CST5 umfasst drei Datenbankwortvektoren WORDVDB. Wie in 8B gezeigt, kann daher beispielsweise für die Datenbankbilddaten GDDB[1] das Gewicht des Datenbankkennzeichenvektors TAGV1DB[1], der in dem Cluster CST1 enthalten ist, 8/20 betragen, das Gewicht des Datenbankkennzeichenvektors TAGV2DB[1], der in dem Cluster CST2 enthalten ist, kann 4/20 betragen, das Gewicht des Datenbankkennzeichenvektors TAGV3DB[1], der in dem Cluster CST3 enthalten ist, kann 2/20 betragen, das Gewicht des Datenbankkennzeichenvektors TAGV4DB[1], der in dem Cluster CST4 enthalten ist, kann 3/20 betragen, und das Gewicht des Datenbankkennzeichenvektors TAGV5DB[1], der in dem Cluster CST5 enthalten ist, kann 3/20 betragen.
-
Durch das vorstehende Verfahren kann beispielsweise das Gewicht eines Kennzeichenvektors, der ein Merkmal, wie z. B. ein Konzept, einen technischen Inhalt oder einen bemerkenswerten Punkt, der Datenbankbilddaten GDDB stark darstellt, vergrößert werden. Demzufolge kann das Bildsuchsystem 10 eine genaue Suche durchführen.
-
Als Nächstes wird ein Bildsuchverfahren mit dem Bildsuchsystem 10 beschrieben. 9 ist ein Ablaufdiagramm, das ein Beispiel für ein Verfahren dieser Verarbeitung darstellt.
-
[Schritt S11]
-
Zunächst gibt ein Benutzer des Bildsuchsystems 10 Abfragebilddaten GDQ in den Eingabeabschnitt 11 ein. Die Abfragebilddaten GDQ werden dem Verarbeitungsabschnitt 13 von dem Eingabeabschnitt 11 über den Übertragungsweg 12 zugeführt. Alternativ können die Abfragebilddaten GDQ über den Übertragungsweg 12 in dem Speicherabschnitt 15 oder der Datenbank 17 gespeichert und dem Verarbeitungsabschnitt 13 von dem Speicherabschnitt 15 oder der Datenbank 17 über den Übertragungsweg 12 zugeführt werden.
-
Die Abfragebilddaten GDQ können z. B. ein Bild oder dergleichen umfassen, das eine Erfindung, eine Vorrichtung bzw. ein Design vor der Anmeldung, ein gewerbliches Produkt vor dem Verkauf, eine technische Information oder einen technischen Gedanken darstellt.
-
[Schritt S12]
-
Als Nächstes werden die Abfragebilddaten GDQ in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben. Beispielsweise können die Abfragebilddaten GDQ in das neuronale Netz 30 mit der in 3A oder 3B dargestellten Konfiguration eingegeben werden. Somit kann der Verarbeitungsabschnitt 13 Daten über die Menge an Abfragebildmerkmalen GFDQ erfassen, die die Menge an Merkmalen der Abfragebilddaten GDQ darstellen. Beispielsweise können die Daten, die von der in 3A dargestellten Schicht 31[m] ausgegeben werden, als Daten über die Menge an Abfragebildmerkmalen GFDQ verwendet werden. Alternativ können die Daten, die von der in 3B dargestellten Pooling-Schicht PL[m] ausgegeben werden, als Daten über die Menge an Abfragebildmerkmalen GFDQ verwendet werden. Es sei angemerkt, dass die Daten über die Menge an Abfragebildmerkmalen GFDQ wie die Daten über die Menge an Datenbankbildmerkmalen GFDDB Daten umfassen können, die von zwei oder mehr Schichten ausgegeben werden. Wenn die Daten über die Menge an Abfragebildmerkmalen GFDQ Daten umfassen, die von einer Vielzahl von Schichten ausgegeben werden, können die Daten über die Menge an Abfragebildmerkmalen GFDQ genauer die Merkmale der Abfragebilddaten GDQ darstellen.
-
[Schritt S13]
-
Als Nächstes berechnet der Verarbeitungsabschnitt 13 die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ.
-
10 stellt eine Berechnung der Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ dar. 10 stellt ein Beispiel dar, in dem ein Stück der Abfragebilddaten GDQ und 100 Datenbankbilddaten GDDB in das in 3B dargestellte neuronale Netz 30a eingegeben werden. 10 stellt ferner ein Beispiel dar, in dem die Daten über die Menge an Abfragebildmerkmalen GFDQ und die Daten über die Menge an Datenbankbildmerkmalen GFDDB jeweils Pooling-Werte P in x Zeilen und y Spalten (x und y sind jeweils eine ganze Zahl von 1 oder mehr) aufweisen.
-
In dieser Beschreibung und dergleichen werden die Pooling-Werte, die in den Daten über die Menge an Abfragebildmerkmalen GFDQ enthalten sind, als Pooling-Werte PQ bezeichnet und werden die Pooling-Werte, die in den Daten über die Menge an Datenbankbildmerkmalen GFDDB enthalten sind, als Pooling-Werte PDB bezeichnet. Beispielsweise werden die Pooling-Werte, die in Daten über die Menge an Datenbankbildmerkmalen GFDDB[1] enthalten sind, als Pooling-Werte P1DB bezeichnet, und die Pooling-Werte, die in Daten über die Menge an Datenbankbildmerkmalen GFDDB[100] enthalten sind, werden als Pooling-Werte P100DB bezeichnet.
-
In dem in 10 dargestellten Fall wird für jede der Daten über die Menge an Datenbankbildmerkmalen GFDDB[1] bis GFDDB[100] die Ähnlichkeit mit den Daten über die Menge an Abfragebildmerkmalen GFDQ berechnet. Diese Ähnlichkeiten können dann als Ähnlichkeiten der Datenbankbilddaten GDBB[1] bis GDDB[100] mit den Abfragebilddaten GDQ verwendet werden. Es sei angemerkt, dass für sämtliche Daten über die Menge an Datenbankbildmerkmalen GFDDB, die in der Datenbank 17 gespeichert sind, die Ähnlichkeiten mit den Daten über die Menge an Abfragebildmerkmalen GFDQ berechnet werden können. Alternativ können für einen Teil der Daten über die Menge an Datenbankbildmerkmalen GFDDB, die in der Datenbank 17 gespeichert sind, die Ähnlichkeiten mit den Daten über die Menge an Abfragebildmerkmalen GFDQ berechnet werden.
-
Als jede der vorstehenden Ähnlichkeiten wird beispielsweise eine Kosinusähnlichkeit bevorzugt. Alternativ kann auch eine euklidische Ähnlichkeit oder eine Minkowski-Ähnlichkeit eingesetzt werden. Beispielsweise kann die Kosinusähnlichkeit der Daten über die Menge an Datenbankbildmerkmalen GFD
DB[1] mit den Daten über die Menge an Abfragebildmerkmalen GFD
Q gemäß der folgenden Formel berechnet werden. Ein größerer Wert der Kosinusähnlichkeit bedeutet, dass die Datenbankbilddaten GD
DB den Abfragebilddaten GD
Q ähnlicher sind.
(Formel 5)
-
Die Kosinusähnlichkeiten der Daten über die Menge an Datenbankbildmerkmalen GFDDB[2] bis GFDDB[100] mit den Daten über die Menge an Abfragebildmerkmalen GFDQ können ebenfalls durch ein ähnliches Verfahren berechnet werden. Auf diese Weise können die Ähnlichkeiten der Datenbankbilddaten GDBB[1] bis GDDB[100] mit den Abfragebilddaten GDQ berechnet werden.
-
Indem die Kosinusähnlichkeit als Ähnlichkeit berechnet wird, kann das Bildsuchsystem 10 eine genaue Suche durchführen. Darüber hinaus kann die Kosinusähnlichkeit durch einfache Berechnung ermittelt werden. Wenn der Verarbeitungsabschnitt 13 einen GPU umfasst, kann daher die Ähnlichkeit mit dem GPU ermittelt werden. Demzufolge kann die Ähnlichkeit in kurzer Zeit berechnet werden, und das Bildsuchsystem 10 kann eine kurze Suche durchführen.
-
[Schritt S14]
-
Als Nächstes erfasst der Verarbeitungsabschnitt 13 Abfragekennzeichen TAGQ, die die mit den Abfragebilddaten GDQ verlinkten Kennzeichen sind, auf Basis des Berechnungsergebnisses der Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ.
-
11A und 11B stellen ein Beispiel für ein Erfassungsverfahren der Abfragekennzeichen TAGQ dar. Wie in 11A dargestellt, werden zunächst die Datenbankbilddaten GDDB[1] bis GDDB[100] auf Basis der Ähnlichkeit, die im Schritt S13 berechnet worden ist, neu angeordnet. Beispielsweise werden sie ausgehend von den Datenbankbilddaten GDDB, die die höchste Ähnlichkeit mit den Abfragebilddaten GDQ aufweisen, in der absteigenden Reihenfolge neu angeordnet. In dem in 11A dargestellten Fall weisen die Datenbankbilddaten GDDB[2] die höchste Ähnlichkeit von 0,999 auf, die Datenbankbilddaten GDDB[31] weisen die zweithöchste Ähnlichkeit von 0,971 auf, die Datenbankbilddaten GDDB[73] weisen die dritthöchste Ähnlichkeit von 0,964 auf, die Datenbankbilddaten GDDB[52] weisen die vierthöchste Ähnlichkeit von 0,951 auf, und die Datenbankbilddaten GDDB[28] weisen die fünfthöchste Ähnlichkeit von 0,937 auf.
-
Als Nächstes werden die Datenbankkennzeichen TAGDB extrahiert, die mit den Datenbankbilddaten GDDB mit hoher Ähnlichkeit verlinkt sind. In dem in 11A dargestellten Fall werden die Datenbankkennzeichen TAGDB extrahiert, die mit den Datenbankbilddaten GDDB mit der höchsten bis fünfthöchsten Ähnlichkeit verlinkt sind. Insbesondere werden die Kennzeichen „aaa“, „bbb“, „ccc“, „ddd“ und „eee“, die mit den Datenbankbilddaten GDDB[2] verlinkt sind, die Kennzeichen „aaa“, „ccc“, „fff“, „ggg“ und „hhh“, die mit den Datenbankbilddaten GDDB[31] verlinkt sind, die Kennzeichen „aaa“, „bbb“, „fff“, „iii“ und „kkk“, die mit den Datenbankbilddaten GDDB[73] verlinkt sind, die Kennzeichen „aaa“, „ccc“, „ggg“, „ppp“ und „qqq“, die mit den Datenbankbilddaten GDDB[52] verlinkt sind, sowie die Kennzeichen „aaa“, „kkk“, „rrr“, „sss“ und „ttt“, die mit den Datenbankbilddaten GDDB[28] verlinkt sind, extrahiert. Wie in 11A dargestellt, können sich die extrahierten Kennzeichen überlappen.
-
Es sei angemerkt, dass in der vorstehenden Beschreibung die Anzahl von Datenbankbilddaten GDDB, aus denen die Datenbankkennzeichen TAGDB extrahiert werden, auf eine vorbestimmte Anzahl eingestellt ist; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Beispielsweise können Datenbankkennzeichen extrahiert werden, die mit den Datenbankbilddaten GDDB verlinkt sind, deren Ähnlichkeit einen vorbestimmten Wert oder mehr aufweist. Das heißt, dass die Anzahl von Datenbankbilddaten GDDB, aus denen die Datenbankkennzeichen TAGDB extrahiert werden, nicht notwendigerweise fest sein muss.
-
Danach wird, wie in 11B dargestellt, für jedes der extrahierten Kennzeichen die Anzahl der Vorkommen berechnet. Da beispielsweise das Kennzeichen „aaa“ mit allen der Datenbankbilddaten GDDB[2], der Datenbankbilddaten GDDB[31], der Datenbankbilddaten GDDB[73], der Datenbankbilddaten GDDB[52] und der Datenbankbilddaten GDDB[28] verlinkt ist, beträgt die Anzahl der Vorkommen 5. Da das Kennzeichen „ddd“ mit nur den Datenbankbilddaten GDDB[2] unter den Datenbankbilddaten GDDB[2], den Datenbankbilddaten GDDB[31], den Datenbankbilddaten GDDB[73], den Datenbankbilddaten GDDB[52] und den Datenbankbilddaten GDDB[28] verlinkt ist, beträgt die Anzahl der Vorkommen 1.
-
Als Nächstes wird, wie in 11B dargestellt, beispielsweise ferner eine vorbestimmte Anzahl von Kennzeichen in der absteigenden Reihenfolge der Anzahl der Vorkommen extrahiert, und diese extrahierten Kennzeichen werden als Abfragekennzeichen TAGQ verwendet. In dem in 11B dargestellten Fall werden fünf Kennzeichen als Abfragekennzeichen TAGQ in der absteigenden Reihenfolge der Anzahl der Vorkommen extrahiert. Insbesondere werden das Kennzeichen „aaa“, das die höchste Anzahl der Vorkommen von 5 aufweist, und das Kennzeichen „ccc“, das die zweithöchste Anzahl der Vorkommen von 3 aufweist, extrahiert.
-
Wenn mehrere Kennzeichen mit der gleichen Anzahl der Vorkommen vorhanden sind und nicht alle dieser mehreren Kennzeichen extrahiert werden können, können beispielsweise Kennzeichen, die mit den Datenbankbilddaten GDDB mit höherer Ähnlichkeit verlinkt sind, extrahiert werden. Beispielsweise wird die Rangordnung der Ähnlichkeit der Datenbankbilddaten GDDB durch numerische Werte dargestellt. Für die Kennzeichen mit der gleichen Anzahl der Vorkommen werden dann die Summen der numerischen Werte, die die Rangordnung der Ähnlichkeit der verlinkten Datenbankbilddaten GDDB darstellen, miteinander verglichen, und die Kennzeichen können in der aufsteigenden Reihenfolge der Summe extrahiert werden.
-
In dem in 11B dargestellten Fall beträgt die Anzahl von Abfragekennzeichen TAGQ 5, die Anzahl der Vorkommen des Kennzeichens „aaa“ beträgt 5, und die Anzahl der Vorkommen des Kennzeichens „ccc“ beträgt 3. Daher müssen drei Kennzeichen aus den Kennzeichen mit einer Anzahl der Vorkommen von 2 oder weniger extrahiert werden. Jedoch weisen vier Kennzeichen, nämlich „bbb“, „fff“, „ggg“ und „kkk“, eine Anzahl der Vorkommen von 2 auf. Deshalb müssen drei Kennzeichen aus diesen vier Kennzeichen ausgewählt werden. Hier beträgt die Rangordnung der Ähnlichkeit der Datenbankbilddaten GDDB[2], mit denen das Kennzeichen „bbb“ verlinkt ist, 1, und die Rangordnung der Ähnlichkeit der Datenbankbilddaten GDDB[73] beträgt 3. Bezüglich des Kennzeichens „bbb“ beträgt daher die Summe der Rangordnungen der Ähnlichkeit 4. In ähnlicher Weise beträgt bezüglich des Kennzeichens „fff“ die Summe der Rangordnungen der Ähnlichkeit 5, bezüglich des Kennzeichens „ggg“ beträgt die Summe der Rangordnungen der Ähnlichkeit 6, und bezüglich des Kennzeichens „kkk“ beträgt die Summe der Rangordnungen der Ähnlichkeit 8. Daher weist unter den Kennzeichen mit der Anzahl der Vorkommen von 2 das Kennzeichen „bbb“ die niedrigste Summe der Rangordnungen der Ähnlichkeit auf, gefolgt von den Kennzeichen „fff“, „ggg“ und „kkk“ in der aufsteigenden Reihenfolge. Folglich können die Kennzeichen „bbb“, „fff“ und „ggg“ als Abfragekennzeichen TAGQ verwendet werden.
-
Das Vorstehende zusammengefasst: In dem in 11B dargestellten Fall können das Kennzeichen „aaa“ mit der Anzahl der Vorkommen von 5, das Kennzeichen „ccc“ mit der Anzahl der Vorkommen von 3 sowie die Kennzeichen „bbb“, „fff“ und „ggg“, die unter den Kennzeichen mit der Anzahl der Vorkommen von 2 die niedrigste bis drittniedrigste Summe der Rangordnungen der Ähnlichkeit aufweisen, als Abfragekennzeichen TAGQ verwendet werden.
-
Es sei angemerkt, dass die Abfragekennzeichen TAGQ nicht nur Wörter selbst, die in den Datenbankkennzeichen TAGDB enthalten sind, sondern auch Synonyme der Wörter, die in den Datenbankkennzeichen TAGDB enthalten sind, umfassen können. Beispielsweise können Synonymwörterbuchdaten im Voraus in dem Speicherabschnitt 15 oder der Datenbank 17 gespeichert werden, so dass die Abfragekennzeichen TAGQ die Wörter, die in den Datenbankkennzeichen TAGDB enthalten sind, und Wörter, die als Synonyme dieser Wörter im Synonymwörterbuch eingetragen sind, umfassen können.
-
In dem in 11B dargestellten Fall wählt der Verarbeitungsabschnitt 13 die Abfragekennzeichen TAGQ automatisch aus den extrahierten Datenbankkennzeichen TAGDB aus; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Beispielsweise können die extrahierten Datenbankkennzeichen TAGDB dem Benutzer des Bildsuchsystems 10 gezeigt werden, und der Benutzer des Bildsuchsystems 10 kann Kennzeichen, die als Abfragekennzeichen TAGQ verwendet werden, aus den gezeigten Kennzeichen auswählen. Alternativ können beispielsweise Datenbankbilder mit hoher Ähnlichkeit dem Benutzer des Bildsuchsystems 10 gezeigt werden, und der Benutzer des Bildsuchsystems 10 kann die gezeigten Datenbankbilder auswählen. Dann können die gesamten Datenbankkennzeichen TAGDB oder einige der Datenbankkennzeichen TAGDB, die mit den Datenbankbilddaten GDDB verlinkt sind, die die ausgewählten Datenbankbilder darstellen, als Abfragekennzeichen TAGQ verwendet werden.
-
In dem in 11A und 11B dargestellten Verfahren werden die Abfragekennzeichen TAGQ aus den Datenbankkennzeichen TAGDB ausgewählt; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Beispielsweise können neue Kennzeichen auf Basis der Datenbankkennzeichen TAGDB erzeugt werden, und diese Kennzeichen können als Abfragekennzeichen TAGQ verwendet werden. Im Folgenden wird ein Beispiel für ein Verfahren beschrieben, in dem der Verarbeitungsabschnitt 13 Abfragekennzeichenvektoren TAGVQ, die die Abfragekennzeichen TAGQ darstellen, unter Verwendung der Datenbankkennzeichenvektoren TAGVDB, die die Datenbankkennzeichen TAGDB darstellen, erfasst.
-
Das anhand von 11A beschriebene Verfahren kann auch auf den Fall angewendet werden, in dem die Abfragekennzeichenvektoren TAGVQ durch das nachstehend beschriebene Verfahren erfasst werden. Das heißt, dass die Datenbankkennzeichen TAGDB durch ein Verfahren, das dem in 11A dargestellten Verfahren ähnlich ist, extrahiert werden können.
-
Nach der Extraktion der Datenbankkennzeichen TAGDB wird ein Clustering an den Datenbankkennzeichenvektoren TAGVDB, die die extrahierten Datenbankkennzeichen TAGDB darstellen, durchgeführt, um eine vorbestimmte Anzahl von Clustern zu erzeugen. Beispielsweise werden Cluster erzeugt, deren Anzahl gleich der Anzahl von Abfragekennzeichen TAGQ ist, die erfasst werden sollen. Das Clustering kann durch ein k-Means-Verfahren, ein DBSCAN-Verfahren oder dergleichen erfolgen.
-
12A stellt ein Beispiel dar, in dem der Verarbeitungsabschnitt 13 die in 11A dargestellten 25 Datenbankkennzeichen TAGDB erfasst. 12A stellt ferner ein Beispiel dar, in dem fünf Cluster (der Cluster CST1, der Cluster CST2, der Cluster CST3, der Cluster CST4 und der Cluster CST5) auf Basis der Datenbankkennzeichenvektoren TAGVDB, die den in 11A dargestellten Datenbankkennzeichen TAGDB entsprechen, erzeugt werden. Es sei angemerkt, dass es sich der Einfachheit der Beschreibung halber bei den in 12A dargestellten Vektoren jeweils um einen zweidimensionalen Vektor handelt, wobei die Richtung der horizontalen Achse eine Komponente des zweidimensionalen Vektors darstellt und die Richtung der vertikalen Achse die andere Komponente des zweidimensionalen Vektors darstellt; jedoch kann es sich tatsächlich beispielsweise um einen 300-dimensionalen Vektor handeln. Die Zahlen in den in 12A gezeigten Klammern stellen jeweils die Anzahl der Vorkommen des extrahierten Datenbankkennzeichens TAGDB dar. Beispielsweise deutet „aaa(5)“ darauf hin, dass die Anzahl der Vorkommen des Kennzeichens „aaa“ 5 beträgt.
-
Als Nächstes wird für jeden der Cluster CST1 bis CST5 ein Vektor ermittelt, der einen repräsentativen Punkt darstellt. Diese Vektoren, die die jeweiligen repräsentativen Punkte darstellen, können dann als Abfragekennzeichenvektoren TAGVQ bestimmt werden. 12A stellt ein Beispiel dar, in dem ein Vektor, der den repräsentativen Punkt des Clusters CST1 darstellt, als Abfragekennzeichenvektor TAGV1Q bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST2 darstellt, als Abfragekennzeichenvektor TAGV2DB bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST3 darstellt, als Abfragekennzeichenvektor TAGV3Q bezeichnet wird, ein Vektor, der den repräsentativen Punkt des Clusters CST4 darstellt, als Abfragekennzeichenvektor TAGV4Q bezeichnet wird und ein Vektor, der den repräsentativen Punkt des Clusters CST5 darstellt, als Abfragekennzeichenvektor TAGV5Q bezeichnet wird.
-
Als jede Komponente des vorstehenden Vektors, der den repräsentativen Punkt darstellt, kann beispielsweise ein Durchschnittswert jeder Komponente der Datenbankkennzeichenvektoren TAGVDB, die in dem Cluster enthalten sind, verwendet werden. Durch das vorstehende Verfahren kann der Verarbeitungsabschnitt 13 die Abfragekennzeichenvektoren TAGVQ erfassen.
-
12B ist eine Tabelle, die die Komponenten der Abfragekennzeichenvektoren TAGV1Q bis TAGV5Q zeigen. Es sei angemerkt, dass die Komponenten in 12B der Einfachheit der Beschreibung halber beispielhaft gezeigt sind.
-
Wie in 12B gezeigt, können die Abfragekennzeichenvektoren TAGVQ jeweils mit einem Gewicht versehen werden. Dieses Gewicht kann beispielsweise als Wert definiert werden, der erhalten wird, indem die Anzahl von Datenbankkennzeichenvektoren TAGVDB, die in einem Cluster enthalten sind, durch die Gesamtzahl der Datenbankkennzeichen TAGDB, die durch das beispielsweise in 12A dargestellte Verfahren extrahiert werden, dividiert wird. 12A und 12B stellen ein Beispiel dar, in dem 25 Datenbankkennzeichen TAGDB extrahiert werden. In diesem Beispiel umfasst der Cluster CST1 elf Datenbankkennzeichenvektoren TAGVDB, der Cluster CST2 umfasst vier Datenbankkennzeichenvektoren TAGVDB, der Cluster CST3 umfasst fünf Datenbankkennzeichenvektoren TAGVDB, der Cluster CST4 umfasst zwei Datenbankkennzeichenvektoren TAGVDB, und der Cluster CST5 umfasst drei Datenbankkennzeichenvektoren TAGVDB. Wie in 12B gezeigt, kann daher das Gewicht des Abfragekennzeichenvektors TAGV1Q, der in dem Cluster CST1 enthalten ist, 11/25 betragen, das Gewicht des Abfragekennzeichenvektors TAGV2Q, der in dem Cluster CST2 enthalten ist, kann 4/25 betragen, das Gewicht des Abfragekennzeichenvektors TAGV3Q, der in dem Cluster CST3 enthalten ist, kann 5/25 betragen, das Gewicht des Abfragekennzeichenvektors TAGV4Q, der in dem Cluster CST4 enthalten ist, kann 2/25 betragen, und das Gewicht des Abfragekennzeichenvektors TAGV5Q, der in dem Cluster CST5 enthalten ist, kann 3/25 betragen.
-
Durch das vorstehende Verfahren kann beispielsweise das Gewicht eines Kennzeichenvektors, der ein Merkmal, wie z. B. ein Konzept, einen technischen Inhalt oder einen bemerkenswerten Punkt, der Abfragebilddaten GDQ stark darstellt, vergrößert werden. Demzufolge kann das Bildsuchsystem 10 eine genaue Suche durchführen.
-
Das im Schritt S13 und Schritt S14 gezeigte Erfassungsverfahren der Abfragekennzeichen TAGQ ist einfacher beispielsweise als ein Verfahren, in dem die Abfragekennzeichen TAGQ nicht auf Basis der Datenbankkennzeichen TAGDB erfasst werden. Das Bildsuchsystem 10 kann somit eine kurze Suche durchführen. Darüber hinaus ermöglicht die Erfassung der Abfragekennzeichen TAGQ durch das im Schritt S13 und Schritt S14 gezeigte Verfahren, dass beispielsweise im Vergleich zu dem Fall, in dem der Benutzer des Bildsuchsystems 10 sämtliche Abfragekennzeichen TAGQ zuweist und kein Kandidat des Abfragekennzeichens TAGQ diesem Benutzer gezeigt wird, Kennzeichen, die ein Konzept, einen technischen Inhalt, einen bemerkenswerten Punkt und dergleichen des den Abfragebilddaten GDQ entsprechenden Bildes darstellen, umfangreich erfasst werden. Daher kann das Bildsuchsystem 10 eine einfache und genaue Suche durchführen.
-
[Schritt S15]
-
Als Nächstes erfasst der Verarbeitungsabschnitt 13 Daten DDB, die die Daten über die Menge an Datenbankbildmerkmalen GFDDB und die Datenbankkennzeichenvektoren TAGVDB umfassen. Der Verarbeitungsabschnitt 13 erfasst ferner Daten DQ, die die Daten über die Menge an Abfragebildmerkmalen GFDQ und die Abfragekennzeichenvektoren TAGVQ umfassen.
-
13 stellt ein Konfigurationsbeispiel der Daten DDB und der Daten DQ dar. Die Konfiguration der Daten über die Menge an Datenbankbildmerkmalen GFDDB und der Daten über die Menge an Abfragebildmerkmalen GFDQ kann der in 10 dargestellten Konfiguration ähnlich sein. Die Datenbankkennzeichenvektoren TAGVDB können jeweils Komponenten VCDB[1] bis VCDB[h] (h ist eine ganze Zahl von 2 oder mehr) umfassen. Der Abfragekennzeichenvektor TAGVQ kann Komponenten VCQ[1] bis VCQ[h] umfassen. Wenn hier beispielsweise fünf Kennzeichen, die jeweils durch einen 300-dimensionalen Vektor dargestellt werden, mit einem Stück der Bilddaten verlinkt sind, beträgt h 1500.
-
In dieser Beschreibung und dergleichen werden beispielsweise die Komponenten des Datenbankkennzeichenvektors TAGVDB[1] als Komponenten VC1DB bezeichnet, und Komponenten eines Datenbankkennzeichenvektors TAGVDB[100] werden als Komponenten VC100DB bezeichnet.
-
Wie vorstehend beschrieben, kann der Begriff „Komponente“ gegebenenfalls durch den Begriff „Wert“ ersetzt werden. In diesem Fall können sowohl die Daten über die Menge an Bildmerkmalen als auch der Kennzeichenvektor als Gruppe mehrerer Werte angesehen werden. Daher können der Begriff „Daten“ und der Begriff „Vektor“ gegebenenfalls untereinander ausgetauscht werden.
-
[Schritt S16]
-
Als Nächstes berechnet der Verarbeitungsabschnitt 13 die Ähnlichkeit der Daten DDB mit den Daten DQ. In dem in 13 dargestellten Fall wird für jede der Daten DDB[1] bis DDB[100] die Ähnlichkeit mit den Daten DQ berechnet. Diese Ähnlichkeiten können dann als Ähnlichkeiten der Datenbankbilddaten GDDB[1] bis GDDB[100] mit den Abfragebilddaten GDQ verwendet werden. Demzufolge kann die im Schritt S13 von dem Verarbeitungsabschnitt 13 berechnete Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ korrigiert werden.
-
Wenn hier, wie in 8B und 12B gezeigt, die Kennzeichenvektoren jeweils mit einem Gewicht versehen werden, kann die Gewichtung beispielsweise durch Multiplizieren der Komponenten dieser Kennzeichenvektoren mit den jeweiligen Gewichten erfolgen.
-
Die Art der Ähnlichkeit der Daten DDB mit den Daten DQ ist vorzugsweise gleich derjenigen der Ähnlichkeit, die im Schritt S13 der Verarbeitungsabschnitt 13 berechnet hat. Wenn beispielsweise im Schritt S13 eine Kosinusähnlichkeit berechnet worden ist, wird vorzugsweise eine Kosinusähnlichkeit als Ähnlichkeit der Daten DDB mit den Daten DQ berechnet.
-
Beispielsweise kann die Kosinusähnlichkeit der Daten D
DB[1] mit den Daten D
Q gemäß der folgenden Formel berechnet werden.
(Formel 6)
-
Die Kosinusähnlichkeiten der Daten DDB[2] bis DBB[100] mit den Daten DQ können ebenfalls durch ein ähnliches Verfahren berechnet werden. Auf diese Weise können die Ähnlichkeiten der Daten DDB[1] bis DDB[100] mit den Daten DQ berechnet werden. Demzufolge können die im Schritt S13 berechneten Ähnlichkeiten der Datenbankbilddaten GDDB[1] bis GDDB[100] mit den Abfragebilddaten GDQ korrigiert werden.
-
Es sei angemerkt, dass das Suchergebnis verändert werden kann, indem das Verhältnis der Anzahl von Werten, die in den Daten über die Menge an Bildmerkmalen enthalten sind, zu der Anzahl von Komponenten des Kennzeichenvektors angepasst wird. Wenn beispielsweise die Anzahl von Werten, die in den Daten über die Menge an Abfragebildmerkmalen GFDQ enthalten sind, und die Anzahl von Werten, die in den Daten über die Menge an Datenbankbildmerkmalen GFDDB enthalten sind, erhöht werden oder wenn die Anzahl von Komponenten des Abfragekennzeichenvektors TAGVQ und die Anzahl von Komponenten des Datenbankkennzeichenvektors TAGVDB verringert werden, wird bei der korrigierten Ähnlichkeit die Menge an Bildmerkmalen betont. Wenn beispielsweise die Menge an Merkmalen der Datenbankbilddaten GDDB ähnlich der Menge an Merkmalen der Abfragebilddaten GDQ ist, obwohl es eine gewisse Differenz zwischen den Datenbankkennzeichen TAGDB und den Abfragekennzeichen TAGQ gibt, ist die korrigierte Ähnlichkeit dieser Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ hoch. Wenn andererseits die Anzahl von Werten, die in den Daten über die Menge an Abfragebildmerkmalen GFDQ enthalten sind, und die Anzahl von Werten, die in den Daten über die Menge an Datenbankbildmerkmalen GFDDB enthalten sind, verringert werden oder wenn die Anzahl von Komponenten des Abfragekennzeichenvektors TAGVQ und die Anzahl von Komponenten des Datenbankkennzeichenvektors TAGVDB erhöht werden, werden bei der korrigierten Ähnlichkeit die Kennzeichen betont. Wenn beispielsweise die Datenbankkennzeichen TAGDB ähnlich den Abfragekennzeichen TAGQ sind, obwohl es eine gewisse Differenz zwischen der Menge an Merkmalen der Datenbankbilddaten GDDB und der Menge an Merkmalen der Abfragebilddaten GDQ gibt, ist die korrigierte Ähnlichkeit dieser Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ hoch.
-
Um die Anzahl von Komponenten des Kennzeichenvektors zu erhöhen oder verringern, kann die Anzahl von Kennzeichen, die mit den Bilddaten verlinkt werden, erhöht oder verringert werden. Zudem kann die Ähnlichkeit, bei der die Kennzeichen betont sind, berechnet werden, indem beispielsweise nur einige Werte der Werte, die in den Daten über die Menge an Bildmerkmalen enthalten sind, für die Berechnung der Ähnlichkeit verwendet werden. Beispielsweise werden Werte, die die Menge an Merkmalen der Abschnitte des Bildes darstellen, die keinen starken Eindruck machen, nicht für die Berechnung der Ähnlichkeit verwendet, so dass die Ähnlichkeit, bei der die Kennzeichen betont sind, berechnet werden kann, während verhindert werden kann, dass die Ähnlichkeit eines Datenbankbildes, dessen Erscheinungsbild sich von demjenigen des Abfragebildes wesentlich unterscheidet, erhöht wird. Demzufolge kann das Bildsuchsystem 10 eine genaue Suche durchführen.
-
Zudem kann das Suchergebnis verändert werden, indem die Werte, die in den Daten über die Menge an Bildmerkmalen enthalten sind, oder die Komponenten des Kennzeichenvektors jeweils mit einem vorbestimmten Koeffizienten multipliziert werden. Wenn beispielsweise die Werte, die in den Daten über die Menge an Abfragebildmerkmalen GFDQ enthalten sind, und die Werte, die in den Daten über die Menge an Datenbankbildmerkmalen GFDDB enthalten sind, jeweils mit einer reellen Zahl von mehr als 1 multipliziert werden, kann bei der korrigierten Ähnlichkeit die Menge an Bildmerkmalen betont werden. Wenn die Komponenten des Abfragekennzeichenvektors TAGVQ und die Komponenten des Datenbankkennzeichenvektors TAGVDB jeweils mit einer reellen Zahl von mehr als oder gleich 0 und weniger als 1 multipliziert werden, kann bei der korrigierten Ähnlichkeit die Menge an Bildmerkmalen betont werden. Wenn beispielsweise die Werte, die in den Daten über die Menge an Abfragebildmerkmalen GFDQ enthalten sind, und die Werte, die in den Daten über die Menge an Datenbankbildmerkmalen GFDDB enthalten sind, jeweils mit einer reellen Zahl von mehr als oder gleich 0 und weniger als 1 multipliziert werden, können bei der korrigierten Ähnlichkeit die Kennzeichen betont werden. Wenn die Komponenten des Abfragekennzeichenvektors TAGVQ und die Komponenten des Datenbankkennzeichenvektors TAGVDB jeweils mit einer reellen Zahl von mehr als 1 multipliziert werden, können bei der korrigierten Ähnlichkeit die Kennzeichen betont werden.
-
[Schritt S17]
-
Als Nächstes erzeugt der Verarbeitungsabschnitt 13 Ranking-Daten, die Informationen über die Rangordnung der im Schritt S16 berechneten korrigierten Ähnlichkeit umfassen, und gibt die Ranking-Daten als Suchergebnis nach außerhalb des Bildsuchsystems 10 aus.
-
Der Verarbeitungsabschnitt 13 kann dem Speicherabschnitt 15 oder der Datenbank 17 die Ranking-Daten über den Übertragungsweg 12 zuführen. Darüber hinaus kann der Verarbeitungsabschnitt 13 dem Ausgabeabschnitt 19 die Ranking-Daten über den Übertragungsweg 12 zuführen. Der Ausgabeabschnitt 19 kann demzufolge der Außenseite des Bildsuchsystem 10 die Ranking-Daten zuführen.
-
Die Ranking-Daten können die Rangordnung der Ähnlichkeit jedes Datenbankbildes mit dem Abfragebild, den Wert der Ähnlichkeit und dergleichen umfassen. Es sei angemerkt, dass die Ranking-Daten vorzugsweise Dateipfade in die Datenbankbilder umfassen. Somit kann der Benutzer des Bildsuchsystems 10 ausgehend von den Ranking-Daten leicht auf ein Zielbild zugreifen. Des Weiteren können die Kennzeichen, die mit einem Abfragebild und einem ausgegebenen Datenbankbild verlinkt sind, derart konfiguriert sein, dass man diese Kennzeichen überprüfen kann. Wenn außerdem beispielsweise Publikationsdaten, die die Datenbankbilder aufweisende Publikationen darstellen, in der Datenbank 17 oder dergleichen gespeichert sind, kann der Benutzer des Bildsuchsystems 10 leicht auf eine Publikation zugreifen, die ein mit den Ranking-Daten verlinktes Datenbankbild aufweist. Das Vorstehende ist ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10.
-
In dem Bildsuchverfahren mit dem Bildsuchsystem 10 wird zunächst die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ berechnet, ohne Kennzeichen zu verlinken. Danach werden sie mit den Kennzeichen verlinkt, und diese Ähnlichkeit wird korrigiert. Somit kann verhindert werden, dass beispielsweise ein Datenbankbild gesucht wird, bei dem die Menge an Merkmalen derjenigen des Abfragebildes ähnlich ist aber sich das Konzept, der technische Inhalt, der bemerkenswerte Punkt oder dergleichen von demjenigen des Abfragebildes unterscheidet.
-
Beispielsweise erfasst der Verarbeitungsabschnitt 13 die Abfragekennzeichen TAGQ auf Basis der Datenbankkennzeichen TAGDB, die mit den Datenbankbilddaten GDDB mit der höchsten bis fünfthöchsten Ähnlichkeit mit den Abfragebilddaten GDQ verlinkt sind. In diesem Fall kann verhindert werden, dass Bilddaten, bei denen sich das Konzept, der technische Inhalt, der bemerkenswerte Punkt oder dergleichen von demjenigen des Abfragebildes unterscheidet, in den Datenbankbilddaten GDDB mit der sechsthöchsten und anschließenden Ähnlichkeit vermischt werden. Somit kann verhindert werden, dass ein Bild, das als Rauschen dient, in dem Suchergebnis vermischt wird und ein Bild, das gesucht werden soll, nicht ausgegeben wird. Auf diese Weise kann das Bildsuchsystem 10 eine genaue Suche durchführen.
-
In dem Bildsuchverfahren mit dem Bildsuchsystem 10 werden die Abfragekennzeichen TAGQ auf Basis der Datenbankkennzeichen TAGDB erfasst. Dieses Erfassungsverfahren ist einfacher als ein Verfahren, in dem die Abfragekennzeichen TAGQ nicht auf Basis der Datenbankkennzeichen TAGDB erfasst werden. Das Bildsuchsystem 10 kann somit eine kurze Suche durchführen. Darüber hinaus ermöglicht das Verfahren, in dem die Abfragekennzeichen TAGQ auf Basis der Datenbankkennzeichen TAGDB erfasst werden, dass beispielsweise im Vergleich zu dem Fall, in dem der Benutzer des Bildsuchsystems 10 sämtliche Abfragekennzeichen TAGQ zuweist und kein Kandidat des Abfragekennzeichens TAGQ diesem Benutzer gezeigt wird, Kennzeichen, die ein Konzept, ein Merkmal, einen technischen Inhalt, einen bemerkenswerten Punkt und dergleichen des den Abfragebilddaten GDQ entsprechenden Bildes darstellen, umfangreich erfasst werden. Daher kann das Bildsuchsystem 10 eine einfache und genaue Suche durchführen.
-
<1-3. Bildsuchverfahren-2>
-
In dem beispielsweise in 9 dargestellten Bildsuchverfahren gibt der Benutzer des Bildsuchsystems 10 kein Abfragekennzeichen TAGQ ein; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. 14 ist ein Ablaufdiagramm, das ein Beispiel für ein Bildsuchverfahren mit dem Bildsuchsystem 10 darstellt, wobei der Benutzer des Bildsuchsystems 10 einige der Abfragekennzeichen TAGQ manuell eingibt. Es sei angemerkt, dass auch beim Betrieb des Bildsuchsystems 10 durch das in 14 dargestellte Verfahren wie beim Betrieb des Bildsuchsystems 10 durch das in 9 dargestellte Bildsuchverfahren vorzugsweise die in 2 dargestellte Verarbeitung im Voraus durchgeführt wird.
-
[Schritt S21]
-
Zunächst gibt der Benutzer des Bildsuchsystems 10 abgesehen von den Abfragebilddaten GDQ die Abfragekennzeichen TAGQ in den Eingabeabschnitt 11 ein. Der Benutzer des Bildsuchsystems 10 kann die Anzahl von Abfragekennzeichen TAGQ, die dieser Benutzer eingibt, und die Inhalte der Abfragekennzeichen TAGQ willkürlich einstellen. Ferner kann der Benutzer auch die Anzahl von Abfragekennzeichen TAGQ, darunter auch Abfragekennzeichen TAGQ, die in einem späteren Schritt automatisch erfasst werden, einstellen.
-
15 stellt die Eingabe der Abfragebilddaten GDQ und der Abfragekennzeichen TAGQ in den Eingabeabschnitt 11 dar. In dem in 15 dargestellten Fall gibt der Benutzer des Bildsuchsystems 10 abgesehen von den Abfragebilddaten GDQ zwei Abfragekennzeichen TAGQ ein, nämlich „Schaltplan“ und „Halbleiter“, die die Abfragebilddaten GDQ darstellen.
-
Hier kann das Berechnungsergebnis der Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ verändert werden, indem die Abfragekennzeichen TAGQ, die in den Eingabeabschnitt 11 eingegeben werden, verändert werden. Wenn beispielsweise ein Abfragekennzeichen TAGQ „Kondensator“ in den Eingabeabschnitt 11 eingegeben wird, kann die Ähnlichkeit der Datenbankbilddaten, die einen Schaltplan ohne Kondensator darstellen, verringert werden.
-
[Schritt S22]
-
Als Nächstes werden die Abfragebilddaten GDQ in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben. Beispielsweise können die Abfragebilddaten GDQ in das neuronale Netz 30 mit der in 3A oder 3B dargestellten Konfiguration eingegeben werden. Demzufolge kann der Verarbeitungsabschnitt 13 die Daten über die Menge an Abfragebildmerkmalen GFDQ erfassen, die die Menge an Merkmalen der Abfragebilddaten GDQ darstellen.
-
[Schritt S23]
-
Als Nächstes erfasst der Verarbeitungsabschnitt 13 die Daten DDB, die die Daten über die Menge an Datenbankbildmerkmalen GFDDB und die Datenbankkennzeichenvektoren TAGVDB umfassen. Der Verarbeitungsabschnitt 13 erfasst ferner die Daten DQ, die die Daten über die Menge an Abfragebildmerkmalen GFDQ und die Abfragekennzeichenvektoren TAGVQ umfassen.
-
Wenn hier die Anzahl von Datenbankkennzeichen TAGDB, die mit einem Stück der Datenbankbilddaten GDDB verlinkt sind, höher ist als die Anzahl von Abfragekennzeichen TAGQ, die in den Eingabeabschnitt 11 eingegeben werden, werden Kennzeichen, die in den Daten DDB zu enthalten sind, aus den mit den Datenbankbilddaten GDDB verlinkten Kennzeichen ausgewählt. Beispielsweise sind fünf Datenbankkennzeichen TAGDB mit einem Stück der Datenbankbilddaten GDDB verlinkt. Des Weiteren beträgt die Anzahl von Abfragekennzeichen TAGQ, die in den Eingabeabschnitt 11 eingegeben werden, zwei. In diesem Fall können unter den fünf Datenbankkennzeichen TAGDB beispielsweise das Kennzeichen mit der höchsten TF-IDF und das Kennzeichen mit der zweithöchsten TF-IDF als Kennzeichen, die in den Daten DDB zu enthalten sind, definiert werden.
-
[Schritt S24]
-
Als Nächstes berechnet der Verarbeitungsabschnitt 13 die Ähnlichkeit der Daten GDDB mit den Daten GDQ. Diese Ähnlichkeit kann durch ein Verfahren, das dem in 13 dargestellten Verfahren ähnlich ist, berechnet werden.
-
[Schritt S25]
-
Als Nächstes werden die Abfragekennzeichen TAGQ auf Basis des Berechnungsergebnisses der Ähnlichkeit der Daten DDB mit den Daten DQ zugesetzt und/oder modifiziert.
-
16A und 16B stellen ein Beispiel für ein Zusatzverfahren der Abfragekennzeichen TAGQ dar. Wie in 16A dargestellt, werden zunächst die Daten DDB auf Basis der Ähnlichkeit, die im Schritt S24 berechnet worden ist, neu angeordnet. 16A stellt ein Beispiel dar, in dem 100 Daten DDB neu angeordnet werden. Beispielsweise werden sie ausgehend von den Daten DDB mit der höchsten Ähnlichkeit mit den Daten DQ in der absteigenden Reihenfolge neu angeordnet. In dem in 16A dargestellten Fall weisen die Daten DDB[2] die höchste Ähnlichkeit von 0,999 auf, die Daten DDB[41] weisen die zweithöchste Ähnlichkeit von 0,971 auf, die Daten DDB[53] weisen die dritthöchste Ähnlichkeit von 0,964 auf, die Daten DDB[22] weisen die vierthöchste Ähnlichkeit von 0,951 auf, und die Daten DDB[88] weisen die fünfthöchste Ähnlichkeit von 0,937 auf.
-
Als Nächstes werden die Datenbankkennzeichen TAGDB extrahiert, die mit den Datenbankbilddaten GDDB verlinkt sind, die in den Daten DDB mit hoher Ähnlichkeit enthalten sind. In dem in 16A dargestellten Fall werden die Datenbankkennzeichen TAGDB extrahiert, die mit den Datenbankbilddaten GDDB verlinkt sind, die in den Daten DDB mit der höchsten bis fünfthöchsten Ähnlichkeit enthalten sind. Insbesondere werden die Kennzeichen „aaa“, „bbb“, „ccc“, „ddd“ und „eee“, die mit den Datenbankbilddaten GDDB[2] verlinkt sind, die Kennzeichen „aaa“, „ccc“, „fff“, „ggg“ und „hhh“, die mit den Datenbankbilddaten GDDB[41] verlinkt sind, die Kennzeichen „aaa“, „bbb“, „fff“, „iii“ und „kkk“, die mit den Datenbankbilddaten GDDB[53] verlinkt sind, die Kennzeichen „aaa“, „ccc“, „ggg“, „ppp“ und „qqq“, die mit den Datenbankbilddaten GDDB[22] verlinkt sind, sowie die Kennzeichen „aaa“, „kkk“, „rrr“, „sss“ und „ttt“, die mit den Datenbankbilddaten GDDB[88] verlinkt sind, extrahiert. Wie in dem in 11A dargestellten Fall können sich die extrahierten Kennzeichen überlappen.
-
Wie in 16B dargestellt, wird danach für jedes der extrahierten Kennzeichen die Anzahl der Vorkommen berechnet.
-
Als Nächstes wird, wie in 16B dargestellt, ferner eine vorbestimmte Anzahl von Kennzeichen aus den vorstehenden extrahierten Kennzeichen extrahiert, und diese extrahierten Kennzeichen werden als neue Abfragekennzeichen TAGQ verwendet. In dem in 16B dargestellten Fall sind bereits im Schritt S21 zwei Kennzeichen („Schaltplan“ und „Halbleiter“) als Abfragekennzeichen TAGQ erfasst worden. Dann werden drei Kennzeichen zugesetzt, so dass die Anzahl von Abfragekennzeichen TAGQ gleich der Anzahl von Datenbankkennzeichen TAGDB, die mit einem Stück der Datenbankbilddaten GDDB verlinkt sind, nämlich 5, wird.
-
Die Kennzeichen, die als neue Abfragekennzeichen TAGQ verwendet werden, können durch ein Verfahren, das dem in 11B dargestellten Verfahren ähnlich ist, extrahiert werden. Beispielsweise können die Kennzeichen in der absteigenden Reihenfolge der Anzahl der Vorkommen extrahiert werden. Wenn mehrere Kennzeichen mit der gleichen Anzahl der Vorkommen vorhanden sind und nicht alle dieser mehreren Kennzeichen extrahiert werden können, können beispielsweise Kennzeichen extrahiert werden, die mit den Datenbankbilddaten GDDB verlinkt sind, die in den Daten DDB mit höherer Ähnlichkeit enthalten sind. In dem in 16B dargestellten Fall können die Kennzeichen „aaa“, „bbb“ und „ccc“ als neue Abfragekennzeichen TAGQ extrahiert werden.
-
Das Vorstehende zusammengefasst: In dem in 16B dargestellten Fall können die Kennzeichen „Schaltplan“ und „Halbleiter“, die der Benutzer des Bildsuchsystems 10 im Schritt S21 in den Eingabeabschnitt 11 eingegeben hat, sowie die zusätzlichen Kennzeichen „aaa“, „bbb“, „ccc“, d. h. fünf Kennzeichen, als neue Abfragekennzeichen TAGQ verwendet werden.
-
Es sei angemerkt, dass einige oder die gesamten Abfragekennzeichen TAGQ, die der Benutzer des Bildsuchsystems 10 in den Eingabeabschnitt 11 eingegeben hat, gelöscht werden können. Beispielsweise können die Kennzeichen „Schaltplan“ und „Halbleiter“ aus den Kennzeichen TAGQ gelöscht werden, und dann können fünf Kennzeichen aus den in 16B dargestellten Kennzeichen extrahiert und als neue Kennzeichen TAGQ verwendet werden. In diesem Fall können beispielsweise die Kennzeichen „aaa“, „bbb“, „ccc“, „fff“ und „ggg“ als neue Kennzeichen TAGQ verwendet werden.
-
[Schritt S26]
-
Als Nächstes werden die Kennzeichen, die in den Daten DDB enthalten sind, entsprechend dem Zusatz und/oder der Modifikation der Abfragekennzeichen TAGQ zugesetzt und/oder modifiziert. Beispielsweise wird die Anzahl von Datenbankkennzeichenvektoren TAGVDB, die in einem Stück der Daten DDB enthalten sind, der Anzahl von Abfragekennzeichen TAGQ gleichgemacht.
-
[Schritt S27]
-
Als Nächstes berechnet der Verarbeitungsabschnitt 13 nochmals die Ähnlichkeit der Daten GDDB mit den Daten GDQ. Diese Ähnlichkeit kann durch ein Verfahren, das dem im Schritt S24 gezeigten Verfahren ähnlich ist, berechnet werden. Demzufolge kann die Ähnlichkeit der Daten GDDB mit den Daten GDQ korrigiert werden.
-
[Schritt S28]
-
Als Nächstes erzeugt der Verarbeitungsabschnitt 13 Ranking-Daten, die Informationen über die Rangordnung der im Schritt S27 berechneten korrigierten Ähnlichkeit umfassen, und gibt die Ranking-Daten als Suchergebnis nach außerhalb des Bildsuchsystems 10 aus. Demzufolge kann der Benutzer des Bildsuchsystems 10 beispielsweise die Rangordnung der Ähnlichkeit jedes Datenbankbildes mit dem Abfragebild, den Wert der Ähnlichkeit, ein gesuchtes Datenbankbild, die Kennzeichen und dergleichen überprüfen.
-
[Schritt S29 und Schritt S30]
-
Als Nächstes beurteilt der Benutzer des Bildsuchsystems 10, ob die Ranking-Daten ein erwartetes Ergebnis aufweisen. Im Falle des erwarteten Ergebnisses wird die Suche beendet. Wenn das erwartete Ergebnis nicht erhalten worden ist, werden die Abfragekennzeichen TAGQ von dem Benutzer des Bildsuchsystems 10 zugesetzt und/oder modifiziert, und dann wird der Vorgang zu dem Schritt S23 zurückgekehrt. Das Vorstehende ist ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10.
-
Diese Ausführungsform kann je nach Bedarf mit der anderen Ausführungsform kombiniert werden. Wenn mehrere Konfigurationsbeispiele bei einer Ausführungsform in dieser Beschreibung gezeigt werden, können die Konfigurationsbeispiele je nach Bedarf miteinander kombiniert werden.
-
(Ausführungsform 2)
-
Bei der Ausführungsform 1 berechnet das Bildsuchsystem 10 die Ähnlichkeit der Abfragebilddaten GDQ mit den Datenbankbilddaten GDDB, indem der gesamte Bereich der Datenbankbilddaten GDDB mit dem gesamten Bereich der Abfragebilddaten GDQ verglichen wird; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ kann berechnet werden, indem beispielsweise ein Bereich der Datenbankbilddaten GDDB mit dem gesamten Bereich der Abfragebilddaten GDQ verglichen wird. Alternativ kann die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ berechnet werden, indem der gesamte Bereich der Datenbankbilddaten GDDB mit einem Bereich der Abfragebilddaten GDQ verglichen wird.
-
<2-1. Bildsuchverfahren-3>
-
17 stellt ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10 dar, wobei die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ berechnet wird, indem ein Bereich der Datenbankbilddaten GDDB mit dem gesamten Bereich der Abfragebilddaten GDQ verglichen wird. Das Bildsuchsystem 10 führt zunächst den in 9 dargestellten Schritt S11 oder den in 14 dargestellten Schritt 21 durch.
-
[Schritt S31]
-
Als Nächstes vergleicht der Verarbeitungsabschnitt 13 die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB miteinander, um die Datenbankbilddaten GDDB zu extrahieren, die einen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ umfassen. Hier werden die extrahierten Datenbankbilddaten GDDB als extrahierte Bilddaten GDEx bezeichnet. Der Vergleich zwischen den Abfragebilddaten GDQ und den Datenbankbilddaten GDDB kann beispielsweise durch flächenbasierte Zuordnung bzw. Area-Based-Matching erfolgen.
-
Ein Beispiel für Vorgänge im Schritt S31 wird anhand von 18 bis 20 ausführlich beschrieben. Wie in 18A dargestellt, werden im Schritt S31 die Abfragebilddaten GDQ mit jeder von n (n ist eine ganze Zahl von 1 oder mehr) Datenbankbilddaten GDDB verglichen. Hier kann n gleich oder weniger als die Anzahl von Datenbankbilddaten GDDB sein, die in der Datenbank 17 gespeichert sind. Alternativ kann n mehr als die Anzahl von Datenbankbilddaten GDDB sein, die in der Datenbank 17 gespeichert sind. In diesem Fall werden abgesehen von den Datenbankbilddaten GDDB, die in der Datenbank 17 gespeichert sind, Bilddaten, die in dem Speicherabschnitt 15 gespeichert sind, oder Bilddaten, die von außerhalb des Bildsuchsystems 10 über den Eingabeabschnitt 11 in den Verarbeitungsabschnitt 13 eingegeben werden, mit den Abfragebilddaten GDQ verglichen. Es sei angemerkt, dass selbst dann, wenn n weniger als oder gleich der Anzahl von Datenbankbilddaten GDDB ist, die Bilddaten, die in dem Speicherabschnitt 15 gespeichert sind, oder die Bilddaten, die von außerhalb des Bildsuchsystems 10 über den Eingabeabschnitt 11 in den Verarbeitungsabschnitt 13 eingegeben werden, mit den Abfragebilddaten GDQ verglichen werden können.
-
Wenn n klein ist, können die Vorgänge im Schritt S31 in kurzer Zeit durchgeführt werden. Wenn andererseits n groß ist, können die Datenbankbilddaten GDDB, die einen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ umfassen, mit hoher Genauigkeit extrahiert werden.
-
18B stellt ein Verfahren dar, in dem die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB durch flächenbasierte Zuordnung miteinander verglichen werden. Hier beträgt die Pixelzahl eines Bildes, das den Abfragebilddaten GDQ entspricht, 2 × 2, und die Pixelzahl eines Bildes, das den Datenbankbilddaten GDDB entspricht, beträgt 4 × 4. Das heißt, dass die Abfragebilddaten GDQ 2 × 2 Pixelwerte aufweisen und die Datenbankbilddaten GDDB 4 × 4 Pixelwerte aufweisen.
-
In 18B werden die 2 × 2 Pixelwerte der Abfragebilddaten GDQ als Pixelwert vq11, Pixelwert vq12, Pixelwert vq21 und Pixelwert vq22 bezeichnet. In den Abfragebilddaten GDQ wird beispielsweise der Pixelwert, der dem Pixel in der ersten Zeile und der ersten Spalte entspricht, als Pixelwert vq11 bezeichnet, der Pixelwert, der dem Pixel in der ersten Zeile und der zweiten Spalte entspricht, wird als Pixelwert vq12 bezeichnet, der Pixelwert, der dem Pixel in der zweiten Zeile und der ersten Spalte entspricht, wird als Pixelwert vq21 bezeichnet, und der Pixelwert, der dem Pixel in der zweiten Zeile und der zweiten Spalte entspricht, wird als Pixelwert vq22 bezeichnet. Des Weiteren werden die 4 × 4 Pixelwerte der Datenbankbilddaten GDDB als Pixelwerte vdb11 bis vdb44 bezeichnet. In den Datenbankbilddaten GDDB wird beispielsweise der Pixelwert, der dem Pixel in der ersten Zeile und der ersten Spalte entspricht, als Pixelwert vdb11 bezeichnet, der Pixelwert, der dem Pixel in der ersten Zeile und der vierten Spalte entspricht, wird als Pixelwert vdb14 bezeichnet, der Pixelwert, der dem Pixel in der vierten Zeile und der ersten Spalte entspricht, wird als Pixelwert vdb41 bezeichnet, und der Pixelwert, der dem Pixel in der vierten Zeile und der vierten Spalte entspricht, wird als Pixelwert vdb44 bezeichnet.
-
Zunächst werden der Pixelwert vq11, der Pixelwert vq12, der Pixelwert vq21 und der Pixelwert vq22 mit dem Pixelwert vdb11, dem Pixelwert vdb12, dem Pixelwert vdb21 und dem Pixelwert vdb22 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Abfragebilddaten GDQ und einem Bereich der Datenbankbilddaten GDDB, der aus dem Pixelwert vdb11, dem Pixelwert vdb12, dem Pixelwert vdb21 und dem Pixelwert vdb22 besteht, berechnet werden. Es sei angemerkt, dass in 18B unter den Pixelwerten der Datenbankbilddaten GDDB die Pixelwerte, die mit den Abfragebilddaten GDQ verglichen werden, als Vergleichsdatenbereich 21 von Punktlinien umgeben sind.
-
Als Nächstes wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um eine Spalte verschoben, und die Pixelwerte werden auf ähnliche Weise verglichen, um den Übereinstimmungsgrad zu berechnen. Insbesondere werden der Pixelwert vq11, der Pixelwert vq12, der Pixelwert vq21 und der Pixelwert vq22 mit dem Pixelwert vdb12, dem Pixelwert vdb13, dem Pixelwert vdb22 und dem Pixelwert vdb23 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Abfragebilddaten GDQ und einem Bereich der Datenbankbilddaten GDDB, der aus dem Pixelwert vdb12, dem Pixelwert vdb13, dem Pixelwert vdb22 und dem Pixelwert vdb23 besteht, berechnet werden.
-
Anschließend wird ebenfalls der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um eine Spalte verschoben, und die Pixelwerte werden auf ähnliche Weise verglichen, um den Übereinstimmungsgrad zu berechnen. Insbesondere werden der Pixelwert vq11, der Pixelwert vq12, der Pixelwert vq21 und der Pixelwert vq22 mit dem Pixelwert vdb13, dem Pixelwert vdb14, dem Pixelwert vdb23 und dem Pixelwert vdb24 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Abfragebilddaten GDQ und einem Bereich der Datenbankbilddaten GDDB, der aus dem Pixelwert vdb13, dem Pixelwert vdb14, dem Pixelwert vdb23 und dem Pixelwert vdb24 besteht, berechnet werden.
-
Als Nächstes wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um eine Zeile verschoben, und die Pixelwerte in der zweiten Zeile und die Pixelwerte in der dritten Zeile der Datenbankbilddaten GDDB werden mit den Pixelwerten der Abfragebilddaten GDQ auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen einem Bereich der Datenbankbilddaten GDDB, der aus den Pixelwerten in deren zweiten Zeile und deren dritten Zeile besteht, und den Abfragebilddaten GDQ auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte berechnet werden.
-
Danach wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um eine Zeile verschoben, und die Pixelwerte in der dritten Zeile und die Pixelwerte in der vierten Zeile der Datenbankbilddaten GDDB werden mit den Pixelwerten der Abfragebilddaten GDQ auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Pixelwerten in der dritten Zeile und der vierten Zeile der Datenbankbilddaten GDDB und den Abfragebilddaten GDQ auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte berechnet werden.
-
Nach den vorstehenden Vorgängen wird beispielsweise der höchste Übereinstimmungsgrad als Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ gewählt. Diese Vorgänge werden für jede der n Datenbankbilddaten GDDB durchgeführt. Danach werden die Datenbankbilddaten GDDB mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ als extrahierte Bilddaten GDEx aus den n Datenbankbilddaten GDDB extrahiert. Beispielsweise kann eine bestimmte Anzahl von Datenbankbilddaten GDDB als extrahierte Bilddaten GDEx in der absteigenden Reihenfolge des Übereinstimmungsgrades extrahiert werden. Alternativ können beispielsweise die Datenbankbilddaten GDDB, deren Übereinstimmungsgrad mit den Abfragebilddaten GDQ einen bestimmten Wert oder mehr aufweist, als extrahierte Bilddaten GDEx extrahiert werden.
-
Die Datenbankbilddaten GDDB müssen nicht notwendigerweise extrahiert werden. Dies bedeutet also, dass sämtliche Datenbankbilddaten GDDB, die mit den Abfragebilddaten GDQ verglichen worden sind, als extrahierte Bilddaten GDEx verwendet werden.
-
19 stellt die Extraktion der Datenbankbilddaten GDDB dar. 19 stellt ein Beispiel dar, in dem ein Stück der Bilddaten als extrahierte Bilddaten GDEx aus den Datenbankbilddaten GDDB[1] bis GDDB[3] extrahiert wird.
-
Ein in 19 dargestelltes Bild, das den Abfragebilddaten GDQ entspricht, weist beispielsweise ein Symbol eines Transistors auf. Ein in 19 dargestelltes Bild, das den Datenbankbilddaten GDDB[2] entspricht, weist ein Symbol eines Transistors auf, während ein Bild, das den Datenbankbilddaten GDDB[1] entspricht, und ein Bild, das den Datenbankbilddaten GDDB[3] entspricht, kein Symbol eines Transistors aufweisen. In diesem Fall ist der Übereinstimmungsgrad der Datenbankbilddaten GDDB[2] mit den Abfragebilddaten GDQ höher als die Übereinstimmungsgrade der Datenbankbilddaten GDDB[1] und der Datenbankbilddaten GDDB[3] mit den Abfragebilddaten GDQ. Daher können die Datenbankbilddaten GDDB[2] als extrahierte Bilddaten GDEx extrahiert werden.
-
Es sei angemerkt, dass der Vergleich zwischen den Abfragebilddaten GDQ und den Datenbankbilddaten GDDB sowie die Berechnung des Übereinstimmungsgrades durch Summe der absoluten Differenzen (SAD), Sum of Squared Differences (SSD), normalisierte Kreuzkorrelation (normalized cross correlation, NCC), Zero-mean Normalized Cross Correlation (ZNCC), Phase-Only Correlation (POC) oder dergleichen erfolgen können.
-
In 18B wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um eine Spalte oder eine Zeile verschoben; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Der Vergleichsdatenbereich 21 kann in Bezug auf die Pixelwerte der Datenbankbilddaten GDDB um zwei oder mehr Spalten oder um zwei oder mehr Zeilen verschoben werden. Beispielsweise können direkt nach dem Vergleich des Pixelwertes vq11, des Pixelwertes vq12, des Pixelwertes vq21 und des Pixelwertes vq22 mit dem Pixelwert vdb11, dem Pixelwert vdb12, dem Pixelwert vdb21 und dem Pixelwert vdb22 der Pixelwert vq11, der Pixelwert vq12, der Pixelwert vq21 und der Pixelwert vq22 mit dem Pixelwert vdb13, dem Pixelwert vdb14, dem Pixelwert vdb23 und dem Pixelwert vdb24 verglichen werden. In diesem Fall wird kein Vergleich des Pixelwertes vq11, des Pixelwertes vq12, des Pixelwertes vq21 und des Pixelwertes vq22 mit dem Pixelwert vdb12, dem Pixelwert vdb13, dem Pixelwert vdb22 und dem Pixelwert vdb23 durchgeführt. Des Weiteren können direkt nach dem Vergleich des Pixelwertes vq11, des Pixelwertes vq12, des Pixelwertes vq21 und des Pixelwertes vq22 mit dem Pixelwert vdb13, dem Pixelwert vdb14, dem Pixelwert vdb23 und dem Pixelwert vdb24 der Pixelwert vq11, der Pixelwert vq12, der Pixelwert vq21 und der Pixelwert vq22 mit dem Pixelwert vdb31, dem Pixelwert vdb32, dem Pixelwert vdb41 und dem Pixelwert vdb42 verglichen werden.
-
Wenn der Verschiebungsabstand des Vergleichsdatenbereichs 21 erhöht wird, kann die Anzahl von Vergleichsrechnungen zwischen den Pixelwerten der Abfragebilddaten GDQ und den Pixelwerten der Datenbankbilddaten GDDB verringert werden. Demzufolge kann der Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ in kurzer Zeit berechnet werden.
-
18A stellt das Beispiel dar, in dem ein Stück der Abfragebilddaten GDQ mit jeder der n Datenbankbilddaten GDDB verglichen wird; jedoch ist eine Ausführungsform der vorliegenden Erfindung nicht darauf beschränkt. Wie in 20A dargestellt, können mehrere Abfragebilddaten GDQ, die sich durch die Anzahl von Pixelwerten voneinander unterscheiden, auf Basis der Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, erzeugt werden. 20A stellt ein Beispiel dar, in dem Abfragebilddaten GDQ[1], Abfragebilddaten GDQ[2] und Abfragebilddaten GDQ[3], welche sich durch die Anzahl von Pixelwerten voneinander unterscheiden, auf Basis der Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, erzeugt werden. Wie in 20A dargestellt, unterscheiden sich die Pixelzahl eines Bildes, das den Abfragebilddaten GDQ[1] entspricht, die Pixelzahl eines Bildes, das den Abfragebilddaten GDQ[2] entspricht, und die Pixelzahl eines Bildes, das den Abfragebilddaten GDQ[3] entspricht, voneinander. Das heißt, dass die Bilder, die den Abfragebilddaten GDQ[1] bis GDQ[3] entsprechen, jeweils ein erweitertes oder verkleinertes Bild des Bildes sind, das den Abfragebilddaten GDQ entspricht, die in den Verarbeitungsabschnitt 13 eingegeben werden.
-
Wenn mehrere Abfragebilddaten GDQ erzeugt werden, werden die Datenbankbilddaten GDDB[1] bis GDDB[n] jeweils mit jeder dieser mehreren Abfragebilddaten GDQ verglichen. Demzufolge kann der Übereinstimmungsgrad jeder der Datenbankbilddaten GDDB[1] bis GDDB[n] mit jeder der mehreren Abfragebilddaten GDQ berechnet werden. Dann kann beispielsweise unter den Übereinstimmungsgraden mit den vorstehenden mehreren Abfragebilddaten GDQ der höchste Übereinstimmungsgrad als Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, gewählt werden.
-
In dem in 20A dargestellten Fall werden beispielsweise die Abfragebilddaten GDQ[1] mit jeder der Datenbankbilddaten GDDB[1] bis GDDB[n] verglichen, die Abfragebilddaten GDQ[2] werden mit jeder der Datenbankbilddaten GDDB[1] bis GDDB[n] verglichen, und die Abfragebilddaten GDQ[3] werden mit jeder der Datenbankbilddaten GDDB[1] bis GDDB[n] verglichen. Demzufolge können für jede der Datenbankbilddaten GDDB[1] bis GDDB[n] der Übereinstimmungsgrad mit den Abfragebilddaten GDQ[1], der Übereinstimmungsgrad mit den Abfragebilddaten GDQ[2] und der Übereinstimmungsgrad mit den Abfragebilddaten GDQ[3] berechnet werden.
-
Dann kann beispielsweise unter dem Übereinstimmungsgrad mit den Abfragebilddaten GDQ[1], dem Übereinstimmungsgrad mit den Abfragebilddaten GDQ[2] und dem Übereinstimmungsgrad mit den Abfragebilddaten GDQ[3] der höchste Übereinstimmungsgrad als Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, gewählt werden. Beispielsweise kann unter dem Übereinstimmungsgrad der Datenbankbilddaten GDDB[1] mit den Abfragebilddaten GDQ[1], dem Übereinstimmungsgrad mit den Abfragebilddaten GDQ[2] und dem Übereinstimmungsgrad mit den Abfragebilddaten GDQ[3] der höchste Übereinstimmungsgrad als Übereinstimmungsgrad der Datenbankbilddaten GDDB[1] mit den Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, gewählt werden.
-
Wenn das Bild, das den Abfragebilddaten GDQ entspricht, und das Bild, das den Datenbankbilddaten GDDB entspricht, identische Elemente aufweisen, wobei sich die beiden Elemente jedoch durch die Größe voneinander unterscheiden, gibt es eine Möglichkeit, dass es beurteilt wird, dass diese Datenbankbilddaten GDDB keinen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ umfassen. In dem in 20B1 dargestellten Fall weisen sowohl das Bild, das den Abfragebilddaten GDQ entspricht, als auch das Bild, das den Datenbankbilddaten GDDB entspricht, identische Elemente, nämlich Symbole eines Transistors, auf. Jedoch unterscheidet sich die Größe des Symbols des Transistors, das in dem den Abfragebilddaten GDQ entsprechenden Bild gezeigt ist, von der Größe des Symbols des Transistors, das in dem den Datenbankbilddaten GDDB entsprechenden Bild gezeigt ist. In diesem Fall gibt es eine Möglichkeit, dass es beurteilt wird, dass der Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ niedrig ist.
-
In dem in 20B2 dargestellten Fall weisen andererseits sowohl das Bild, das den Abfragebilddaten GDQ entspricht, als auch das Bild, das den Datenbankbilddaten GDDB entspricht, identische Elemente, nämlich Symbole eines Transistors, auf, wobei die beiden Elemente ferner die gleiche Größe aufweisen. Daher kann der Verarbeitungsabschnitt 13 beurteilen, dass die Datenbankbilddaten GDDB einen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ umfassen.
-
Wie in 20A dargestellt, kann die Größe des Elementes, das in dem den Abfragebilddaten GDQ entsprechenden Bild gezeigt ist, erhöht oder verringert werden, indem mehrere Abfragebilddaten GDQ, die sich durch die Anzahl von Pixelwerten voneinander unterscheiden, erzeugt werden. Daher kann selbst dann, wenn das Bild, das den in den Verarbeitungsabschnitt 13 eingegebenen Abfragebilddaten GDQ entspricht, und das Bild, das den Datenbankbilddaten GDDB entspricht, identische Elemente mit unterschiedlichen Größen aufweisen, der Übereinstimmungsgrad zwischen den beiden Bilddaten erhöht werden. Wenn beispielsweise die in 20B1 dargestellten Abfragebilddaten GDQ in den Verarbeitungsabschnitt 13 eingegeben werden, werden die in 20B2 dargestellten Abfragebilddaten GDQ derart erzeugt, dass die Anzahl von Pixelwerten der Abfragebilddaten GDQ variiert; daher kann der Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ erhöht werden. Auf diese Weise kann der Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, mit hoher Genauigkeit berechnet werden.
-
[Schritt S32]
-
Als Nächstes extrahiert der Verarbeitungsabschnitt 13 Teilbilddaten GDpart, die Daten über einen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ sind, aus den extrahierten Bilddaten GDEx. Wenn beispielsweise der Übereinstimmungsgrad jedes Bereichs der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ durch das in 18B dargestellte Verfahren berechnet wird, wird ein Bereich mit dem höchsten Übereinstimmungsgrad als Teilbilddaten GDpart extrahiert. Daher kann die Anzahl von Pixelwerten der Teilbilddaten GDpart gleich der Anzahl von Pixelwerten der Abfragebilddaten GDQ sein.
-
21A und 21 B stellen jeweils ein Beispiel für einen Vorgang im Schritt S32 dar. In extrahierten Bilddaten GDEx[1] bis GDEx[4], die in 21A und 21B dargestellt sind, sind Bereiche mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ mit Schraffuren versehen. Wie in 21A und 21B dargestellt, können die Bereiche mit den Schraffuren extrahiert und als Teilbilddaten GDpart[1] bis GDpart[4] verwendet werden. In 21A und 21B werden Bilddaten, die aus den extrahierten Bilddaten GDEx[1] bis GDEx[4] extrahiert werden, als Teilbilddaten GDpart[1] bis GDpart[4] bezeichnet.
-
21A stellt ein Beispiel dar, in dem, wie in 18A dargestellt, die Datenbankbilddaten GDDB mit einem Stück der Abfragebilddaten GDQ verglichen werden. In diesem Fall können sämtliche Bilder, die den Teilbilddaten GDpart entsprechen, die gleiche Pixelzahl aufweisen.
-
21B stellt ein Beispiel dar, in dem, wie in 20A dargestellt, die Datenbankbilddaten GDDB mit mehreren Abfragebilddaten GDQ, die sich durch die Anzahl von Pixelwerten voneinander unterscheiden, verglichen werden. In diesem Fall kann die Pixelzahl eines Bildes, das den Teilbilddaten GDpart entspricht, beispielsweise gleich der Pixelzahl eines Bildes sein, das den Abfragebilddaten GDQ mit dem höchsten Übereinstimmungsgrad entspricht. Wenn mehrere Teilbilddaten GDpart vorhanden sind, können sich daher die Pixelzahlen der Bilder, die den Teilbilddaten GDpart entsprechen, unter Umständen zwischen den Teilbilddaten GDpart voneinander unterscheiden. 21B stellt ein Beispiel dar, in dem sich die Pixelzahlen der Bilder, die den Teilbilddaten GDpart[1] bis GDpart[4] entsprechen, voneinander unterscheiden.
-
Es sei angemerkt, dass die Teilbilddaten GDpart nicht notwendigerweise extrahiert werden müssen. In diesem Fall kann die folgende Beschreibung angewendet werden, wenn der Begriff „Teilbilddaten GDpart“ angemessen durch den Begriff „extrahierte Bilddaten GDEx“ ersetzt wird. Alternativ können die gesamten extrahierten Bilddaten GDEx als Teilbilddaten GDpart angesehen werden. Beispielsweise werden/wird die Anzahl von Pixelwerten der Abfragebilddaten GDQ und/oder diejenige der extrahierten Bilddaten GDEx erhöht oder verringert, wodurch das Bildsuchverfahren mit dem Bildsuchsystem 10 ausgeführt werden kann, ohne die Teilbilddaten GDpart zu extrahieren.
-
[Schritt S33]
-
Als Nächstes werden die Abfragebilddaten GDQ in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben, so dass der Verarbeitungsabschnitt 13 die Daten über die Menge an Abfragebildmerkmalen GFDQ erfasst. Ferner werden die Teilbilddaten GDpart in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben, so dass der Verarbeitungsabschnitt 13 die Daten über die Menge an Datenbankbildmerkmalen GFDDB erfasst. Die Abfragebilddaten GDQ und die Teilbilddaten GDpart können beispielsweise in das neuronale Netz 30 mit der in 3A oder 3B dargestellten Konfiguration eingegeben werden. Es sei angemerkt, dass dann, wenn das Bildsuchsystem 10 durch das in 17 dargestellte Verfahren betrieben wird, der in 2 dargestellte Schritt S02 nicht durchgeführt werden muss. Das heißt, dass die Daten über die Menge an Datenbankbildmerkmalen GFDDB, die die Menge an Merkmalen des gesamten Bereichs der Datenbankbilddaten GDDB darstellen, nicht notwendigerweise erfasst werden müssen.
-
Wie bei der Ausführungsform 1 beschrieben, können die Datenbankbilddaten GDDB als Lerndaten des neuronalen Netzes 30 verwendet werden. Hier ist die Anzahl von Pixelwerten der Bilddaten, die als Lerndaten verwendet werden, vorzugsweise gleich der Anzahl von Pixelwerten der Bilddaten, die in das neuronale Netz 30 eingegeben werden. Daher wird beim Lernen des neuronalen Netzes 30 die Anzahl von Pixelwerten der Datenbankbilddaten GDDB oder dergleichen, die als Lerndaten verwendet werden, vorzugsweise nach Bedarf zur Anpassung erhöht oder verringert. Bei der Eingabe der Abfragebilddaten GDQ oder der Teilbilddaten GDpart in das neuronale Netz 30 wird vorzugsweise die Anzahl von Pixelwerten dieser Abfragebilddaten GDQ oder dieser Teilbilddaten GDpart nach Bedarf erhöht oder verringert. Hier wird der Pixelwert vorzugsweise zum Beispiel durch Padding, z. B. Null-Padding, erhöht.
-
22A stellt die Anpassung der Anzahl von Pixelwerten der Datenbankbilddaten GDDB dar. In dem in 22A dargestellten Fall unterscheiden sich die Anzahlen von Pixelwerten der Datenbankbilddaten GDDB[1] bis GDDB[4] vollständig voneinander. In diesem Fall werden bei der Verwendung der Datenbankbilddaten GDDB[1] bis GDDB[4] als Lerndaten des neuronalen Netzes 30, wie in 22A dargestellt, die Anzahlen von Pixelwerten dieser Bilddaten vorzugsweise einander gleichgemacht.
-
22B stellt die Anpassung der Anzahl von Pixelwerten der Teilbilddaten GDpart dar. Die Anzahl von Pixelwerten der Teilbilddaten GDpart ist vorzugsweise gleich der Anzahl von Pixelwerten der Bilddaten, die für das Lernen des neuronalen Netzes 30 verwendet worden sind. Bei der Eingabe der Abfragebilddaten GDQ in das neuronale Netz 30 ist ebenfalls die Anzahl von Pixelwerten dieser Abfragebilddaten GDQ vorzugsweise gleich der Anzahl von Pixelwerten der Bilddaten, die für das Lernen des neuronalen Netzes 30 verwendet worden sind.
-
Nach dem Schritt S33 führt das Bildsuchsystem 10 den in 9 dargestellten Schritt S13 oder den in 14 dargestellten Schritt S23 durch. Wenn insbesondere der Schritt S11 vor dem Schritt S31 durchgeführt worden ist, wird der Schritt S13 nach dem Schritt S33 durchgeführt; wenn der Schritt S21 vor dem Schritt S31 durchgeführt worden ist, wird der Schritt S23 nach dem Schritt S33 durchgeführt. Das Vorstehende ist ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10, wobei die Ähnlichkeit der Abfragebilddaten GDQ mit den Datenbankbilddaten GDDB berechnet wird, indem ein Bereich der Datenbankbilddaten GDDB mit dem gesamten Bereich der Abfragebilddaten GDQ verglichen wird.
-
In dem in 17 dargestellten Verfahren werden die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB durch flächenbasierte Zuordnung oder dergleichen miteinander verglichen, und dann werden die Datenbankbilddaten GDDB, die einen Bereich mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ umfassen, als extrahierte Bilddaten GDEx extrahiert. Danach wird der vorstehende Bereich mit hohem Übereinstimmungsgrad als Teilbilddaten GDpart aus den extrahierten Bilddaten GDEx extrahiert, und die Abfragebilddaten GDQ und die Teilbilddaten GDpart werden in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben. Wenn auf diese Weise die Datenbankbilddaten GDDB extrahiert werden, kann verhindert werden, dass die Datenbankbilddaten GDDB, die ein Datenbankbild darstellen, das kein Bild mit hohem Übereinstimmungsgrad mit dem den Abfragebilddaten GDQ entsprechenden Bild umfasst, in das in dem Verarbeitungsabschnitt 13 enthaltene neuronale Netz eingegeben werden. Daher kann ein Datenbankbild, das teilweise ein Bild umfasst, das dem den Abfragebilddaten GDQ entsprechenden Bild ähnlich ist, mit hoher Genauigkeit in kurzer Zeit gesucht werden. Es sei angemerkt, dass dann, wenn beispielsweise die Anzahl von Datenbankbilddaten GDDB, die mit den Abfragebilddaten GDQ verglichen werden, klein ist, die vorstehende Suche mit hoher Genauigkeit in kurzer Zeit durchgeführt werden kann, ohne die Datenbankbilddaten GDDB zu extrahieren.
-
<2-2. Bildsuchverfahren-4>
-
23 stellt ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10 dar, wobei die Ähnlichkeit der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ berechnet wird, indem der gesamte Bereich der Datenbankbilddaten GDDB mit einem Bereich der Abfragebilddaten GDQ verglichen wird. Zunächst führt das Bildsuchsystem 10 den in 9 dargestellten Schritt S11 oder den in 14 dargestellten Schritt 21 durch.
-
[Schritt S41]
-
Als Nächstes vergleicht der Verarbeitungsabschnitt 13 die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB miteinander und extrahiert die Datenbankbilddaten GDDB, die einen hohen Übereinstimmungsgrad mit einem Teil der Abfragebilddaten GDQ aufweisen, als extrahierte Bilddaten GDEx. Wie im Schritt S31 können die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB beispielsweise durch flächenbasierte Zuordnung miteinander verglichen werden.
-
Ein Beispiel für Vorgänge im Schritt S41 wird anhand von 24 und 25 ausführlich beschrieben. Im Schritt S41 werden, wie in 24A dargestellt, die Abfragebilddaten GDQ mit jeder der n Datenbankbilddaten GDDB verglichen.
-
24B stellt ein Verfahren dar, in dem die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB durch flächenbasierte Zuordnung miteinander verglichen werden. Hier beträgt die Pixelzahl des Bildes, das den Abfragebilddaten GDQ entspricht, 4 × 4, und die Pixelzahl des Bildes, das den Datenbankbilddaten GDDB entspricht, beträgt 2 × 2. Das heißt, dass die Abfragebilddaten GDQ 4 × 4 Pixelwerte aufweisen und die Datenbankbilddaten GDDB 2 × 2 Pixelwerte aufweisen.
-
In 24B werden die 4 × 4 Pixelwerte der Abfragebilddaten GDQ als Pixelwerte vq11 bis vq44 bezeichnet. In den Abfragebilddaten GDQ wird beispielsweise der Pixelwert, der dem Pixel in der ersten Zeile und der ersten Spalte entspricht, als Pixelwert vq11 bezeichnet, der Pixelwert, der dem Pixel in der ersten Zeile und der vierten Spalte entspricht, wird als Pixelwert vq14 bezeichnet, der Pixelwert, der dem Pixel in der vierten Zeile und der ersten Spalte entspricht, wird als Pixelwert vq41 bezeichnet, und der Pixelwert, der dem Pixel in der vierten Zeile und der vierten Spalte entspricht, wird als Pixelwert vq44 bezeichnet. Des Weiteren werden die 2 × 2 Pixelwerte der Datenbankbilddaten GDDB als Pixelwert vdb11, Pixelwert vdb12, Pixelwert vdb21 und Pixelwert vdb22 bezeichnet. In den Datenbankbilddaten GDDB wird beispielsweise der Pixelwert, der dem Pixel in der ersten Zeile und der ersten Spalte entspricht, als Pixelwert vdb11 bezeichnet, der Pixelwert, der dem Pixel in der ersten Zeile und der zweiten Spalte entspricht, wird als Pixelwert vdb12 bezeichnet, der Pixelwert, der dem Pixel in der zweiten Zeile und der ersten Spalte entspricht, wird als Pixelwert vdb21 bezeichnet, und der Pixelwert, der dem Pixel in der zweiten Zeile und der zweiten Spalte entspricht, wird als Pixelwert vdb22 bezeichnet.
-
Zunächst werden der Pixelwert vdb11, der Pixelwert vdb12, der Pixelwert vdb21 und der Pixelwert vdb22 mit dem Pixelwert vq11, dem Pixelwert vq12, dem Pixelwert vq21 und dem Pixelwert vq22 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Datenbankbilddaten GDDB und einem Bereich der Abfragebilddaten GDQ, der aus dem Pixelwert vq11, dem Pixelwert vq12, dem Pixelwert vq21 und dem Pixelwert vq22 besteht, berechnet werden. Es sei angemerkt, dass in 24B unter den Pixelwerten der Abfragebilddaten GDQ die Pixelwerte, die mit den Datenbankbilddaten GDDB verglichen werden, als Vergleichsdatenbereich 21 von Punktlinien umgeben sind.
-
Als Nächstes wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um eine Spalte verschoben, und die Pixelwerte werden auf ähnliche Weise verglichen, um den Übereinstimmungsgrad zu berechnen. Insbesondere werden der Pixelwert vdb11, der Pixelwert vdb12, der Pixelwert vdb21 und der Pixelwert vdb22 mit dem Pixelwert vq12, dem Pixelwert vq13, dem Pixelwert vq22 und dem Pixelwert vq23 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Datenbankbilddaten GDDB und einem Bereich der Abfragebilddaten GDQ, der aus dem Pixelwert vq12, dem Pixelwert vq13, dem Pixelwert vq22 und dem Pixelwert vq23 besteht, berechnet werden.
-
Anschließend wird ebenfalls der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um eine Spalte verschoben, und die Pixelwerte werden auf ähnliche Weise verglichen, um den Übereinstimmungsgrad zu berechnen. Insbesondere werden der Pixelwert vdb11, der Pixelwert vdb12, der Pixelwert vdb21 und der Pixelwert vdb22 mit dem Pixelwert vq13, dem Pixelwert vq14, dem Pixelwert vq23 und dem Pixelwert vq24 verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen den Datenbankbilddaten GDDB und einem Bereich der Abfragebilddaten GDQ, der aus dem Pixelwert vq13, dem Pixelwert vq14, dem Pixelwert vq23 und dem Pixelwert vq24 besteht, berechnet werden.
-
Als Nächstes wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um eine Zeile verschoben, und die Pixelwerte in der zweiten Zeile und die Pixelwerte in der dritten Zeile der Abfragebilddaten GDQ werden mit den Pixelwerten der Datenbankbilddaten GDDB auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen einem Bereich der Abfragebilddaten GDQ, der aus den Pixelwerten in deren zweiten Zeile und deren dritten Zeile besteht, und den Datenbankbilddaten GDDB auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte berechnet werden.
-
Danach wird der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um eine Zeile verschoben, und die Pixelwerte in der dritten Zeile und die Pixelwerte in der vierten Zeile der Abfragebilddaten GDQ werden mit den Pixelwerten der Datenbankbilddaten GDDB auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte verglichen. Demzufolge kann der Übereinstimmungsgrad zwischen einem Bereich der Abfragebilddaten GDQ, der aus den Pixelwerten in deren dritten Zeile und deren vierten Zeile besteht, und den Datenbankbilddaten GDDB auf eine Weise, die der vorstehenden Weise ähnlich ist, für jede Spalte berechnet werden.
-
Nach den vorstehenden Vorgängen wird beispielsweise der höchste Übereinstimmungsgrad als Übereinstimmungsgrad der Datenbankbilddaten GDDB mit den Abfragebilddaten GDQ gewählt. Diese Vorgänge werden für jede der n Datenbankbilddaten GDDB durchgeführt. Danach werden wie im Schritt S31 die Datenbankbilddaten GDDB mit hohem Übereinstimmungsgrad mit den Abfragebilddaten GDQ als extrahierte Bilddaten GDEx aus den n Datenbankbilddaten GDDB extrahiert. Es sei angemerkt, dass wie im Schritt S31 die Datenbankbilddaten GDDB nicht notwendigerweise extrahiert werden müssen.
-
25 stellt die Extraktion der Datenbankbilddaten GDDB dar. 25 stellt ein Beispiel dar, in dem ein Stück der Bilddaten als extrahierte Bilddaten GDEx aus den Datenbankbilddaten GDDB[1] bis GDDB[3] extrahiert wird.
-
Ein in 25 dargestelltes Bild, das den Abfragebilddaten GDQ entspricht, weist beispielsweise ein Symbol eines Transistors und ein Symbol eines Kondensators auf. Ein in 25 dargestelltes Bild, das den Datenbankbilddaten GDDB[2] entspricht, weist ein Symbol eines Transistors auf, während ein Bild, das den Datenbankbilddaten GDDB[1] entspricht, und ein Bild, das den Datenbankbilddaten GDDB[3] entspricht, weder ein Symbol eines Transistors noch ein Symbol eines Kondensators aufweisen. In diesem Fall ist der Übereinstimmungsgrad der Datenbankbilddaten GDDB[2] mit den Abfragebilddaten GDQ höher als die Übereinstimmungsgrade der Datenbankbilddaten GDDB[1] und der Datenbankbilddaten GDDB[3] mit den Abfragebilddaten GDQ. Daher können die Datenbankbilddaten GDDB[2] als extrahierte Bilddaten GDEx extrahiert werden.
-
Es sei angemerkt, dass bei dem Vergleich zwischen den Abfragebilddaten GDQ und den Datenbankbilddaten GDDB sowie der Berechnung des Übereinstimmungsgrades ein Verfahren, das dem im Schritt S31 verwendbaren Verfahren ähnlich ist, verwendet werden kann. In 24B wird der Vergleichsdatenbereich in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um eine Spalte oder eine Zeile verschoben; jedoch kann wie im Schritt S31 der Vergleichsdatenbereich 21 in Bezug auf die Pixelwerte der Abfragebilddaten GDQ um zwei oder mehr Spalten oder um zwei oder mehr Zeilen verschoben werden. Wie in dem in 20A dargestellten Fall können ferner mehrere Abfragebilddaten GDQ, die sich durch die Anzahl von Pixelwerten voneinander unterscheiden, auf Basis der Abfragebilddaten GDQ, die in den Verarbeitungsabschnitt 13 eingegeben werden, erzeugt werden.
-
[Schritt S42]
-
Als Nächstes extrahiert der Verarbeitungsabschnitt 13 Teilbilddaten GDpart-Q, die Daten über einen Bereich mit hohem Übereinstimmungsgrad mit den extrahierten Bilddaten GDEx sind, aus den Abfragebilddaten GDQ. Wenn beispielsweise der Übereinstimmungsgrad jedes Bereichs der Abfragebilddaten GDQ mit den Datenbankbilddaten GDDB durch das in 24B dargestellte Verfahren berechnet wird, wird ein Bereich mit dem höchsten Übereinstimmungsgrad als Teilbilddaten GDpart-Q extrahiert. Daher kann die Anzahl von Pixelwerten der Teilbilddaten GDpart-Q gleich der Anzahl von Pixelwerten der extrahierten Bilddaten GDEx sein.
-
26 stellt ein Beispiel für einen Vorgang im Schritt S42 dar. In dem in 26 dargestellten Fall handelt es sich bei einem oberen linken Abschnitt des Bildes, das den Abfragebilddaten GDQ entspricht, um einen Bereich mit dem höchsten Übereinstimmungsgrad mit den extrahierten Bilddaten GDEx[1]. Daher werden unter den Abfragebilddaten GDQ Daten, die dem oberen linken Bereich entsprechen, als Teilbilddaten GDpart-Q[1] gewählt. Andererseits handelt es sich bei einem unteren rechten Abschnitt des Bildes, das den Abfragebilddaten GDQ entspricht, um einen Bereich mit dem höchsten Übereinstimmungsgrad mit den extrahierten Bilddaten GDEx[2], Daher werden unter den Abfragebilddaten GDQ Daten, die dem unteren rechten Bereich entsprechen, als Teilbilddaten GDpart-Q[2] gewählt. Das heißt, dass mehrere Teilbilddaten GDpart-Q aus einem Stück der Abfragebilddaten GDQ extrahiert werden.
-
Im Schritt S42 können Bilddaten, deren Anzahl gleich derjenigen der extrahierten Bilddaten GDEx ist, als Teilbilddaten GDpart-Q aus den Abfragebilddaten GDQ extrahiert werden. Alternativ können Bilddaten, deren Anzahl weniger ist als diejenige der extrahierten Bilddaten GDEx, als Teilbilddaten GDpart-Q aus den Abfragebilddaten GDQ extrahiert werden. Wenn beispielsweise mehrere extrahierte Bilddaten GDEx hohe Übereinstimmungsgrade mit dem gleichen Bereich der Abfragebilddaten GDQ aufweisen, kann für diesen gleichen Bereich die Anzahl von Teilbilddaten GDpart-Q, die aus den Abfragebilddaten GDQ extrahiert werden, 1 betragen. Das heißt, dass mehrere identische Teilbilddaten GDpart-Q nicht notwendigerweise aus den Abfragebilddaten GDQ extrahiert werden müssen.
-
Es sei angemerkt, dass die Teilbilddaten GDpart-Q nicht notwendigerweise extrahiert werden müssen. In diesem Fall kann die folgende Beschreibung angewendet werden, wenn der Begriff „Teilbilddaten GDpart-Q“ angemessen durch den Begriff „Abfragebilddaten GDQ“ ersetzt wird. Alternativ können die gesamten Abfragebilddaten GDQ als Teilbilddaten GDpart-Q angesehen werden. Beispielsweise werden/wird die Anzahl von Pixelwerten der Abfragebilddaten GDQ und/oder diejenige der extrahierten Bilddaten GDEx erhöht oder verringert, wodurch das Bildsuchverfahren mit dem Bildsuchsystem 10 ausgeführt werden kann, ohne die Teilbilddaten GDpart-Q zu extrahieren.
-
[Schritt S43]
-
Als Nächstes werden die Teilbilddaten GDpart-Q und die extrahierten Bilddaten GDEx in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben.
-
Bezüglich eines Vorgangs im Schritt S43 kann auf die Beschreibung des Schrittes S33 verwiesen werden, wenn dabei beispielsweise der Begriff „Abfragebilddaten GDQ“ angemessen durch den Begriff „Teilbilddaten GDpart-Q“ ersetzt wird und der Begriff „Teilbilddaten GDpart“ angemessen durch den Begriff „extrahierte Bilddaten GDEx“ ersetzt wird. Es sei angemerkt, dass unter Umständen der Begriff „Abfragebilddaten GDQ“ durch den Begriff „extrahierte Bilddaten GDEx“ ersetzt werden kann und der Begriff „Teilbilddaten GDpart“ durch den Begriff „Teilbilddaten GDpart-Q“ ersetzt werden kann.
-
Das Vorstehende ist ein Beispiel für das Bildsuchverfahren mit dem Bildsuchsystem 10, wobei die Ähnlichkeit der Abfragebilddaten GDQ mit den Datenbankbilddaten GDDB berechnet wird, indem der gesamte Bereich der Datenbankbilddaten GDDB mit einem Bereich der Abfragebilddaten GDQ verglichen wird.
-
In dem in 23 dargestellten Verfahren werden die Abfragebilddaten GDQ und die Datenbankbilddaten GDDB durch flächenbasierte Zuordnung oder dergleichen miteinander verglichen, und dann werden die Datenbankbilddaten GDDB, die einen hohen Übereinstimmungsgrad mit einem Teil der Abfragebilddaten GDQ aufweisen, als extrahierte Bilddaten GDEx extrahiert. Danach wird der vorstehende Bereich mit hohem Übereinstimmungsgrad als Teilbilddaten GDpart-Q aus den Abfragebilddaten GDQ extrahiert, und die Teilbilddaten GDpart-Q und die extrahierten Bilddaten GDEx werden in das neuronale Netz, das in dem Verarbeitungsabschnitt 13 enthalten ist, eingegeben. Wenn auf diese Weise die Datenbankbilddaten GDDB extrahiert werden, kann verhindert werden, dass die Datenbankbilddaten GDDB, die ein Datenbankbild darstellen, das kein Bild mit hohem Übereinstimmungsgrad mit dem den Abfragebilddaten GDQ entsprechenden Bild umfasst, in das in dem Verarbeitungsabschnitt 13 enthaltene neuronale Netz eingegeben werden. Daher kann ein Datenbankbild, das einem Teil des den Abfragebilddaten GDQ entsprechenden Bildes ähnlich ist, mit hoher Genauigkeit in kurzer Zeit gesucht werden. Es sei angemerkt, dass dann, wenn beispielsweise die Anzahl von Datenbankbilddaten GDDB, die mit den Abfragebilddaten GDQ verglichen werden, klein ist, die vorstehende Suche mit hoher Genauigkeit in kurzer Zeit durchgeführt werden kann, ohne die Datenbankbilddaten GDDB zu extrahieren.
-
Diese Ausführungsform kann je nach Bedarf mit der anderen Ausführungsform kombiniert werden. Wenn mehrere Konfigurationsbeispiele bei einer Ausführungsform in dieser Beschreibung gezeigt werden, können die Konfigurationsbeispiele je nach Bedarf miteinander kombiniert werden.
-
[Beispiel]
-
In diesem Beispiel wurde ein Bild in ein Bildsuchsystem eingegeben, und Datenbankbilder, die diesem Bild ähnlich sind, wurden gesucht; es werden die Suchergebnisse beschrieben.
-
In diesem Beispiel wurde ein Bild als Abfragebild in das Bildsuchsystem eingegeben. Danach wurden 100 Datenbankbilder, die diesem Bild ähnlich sind, sowohl unter einer Bedingung 1 als auch unter einer Bedingung 2 gesucht. Sowohl bei der Bedingung 1 als auch bei der Bedingung 2 wurde eine schematische Darstellung einer Halbleiterherstellungsvorrichtung als Abfragebild verwendet. Als Datenbankbilder wurden abgesehen von schematischen Darstellungen von Halbleiterherstellungsvorrichtungen, Schaltpläne, Schaltungsanlagepläne, Blockdiagramme und dergleichen vorbereitet. Ferner handelt es sich bei den Datenbankbildern um Zeichnungen, die in Patentdokumenten offenbart sind.
-
Bei der Bedingung 1 wurden die in 9 dargestellten Schritte S11 bis S13 durchgeführt, um die Ähnlichkeit jeder der Datenbankbilder mit dem Abfragebild zu berechnen. Danach wurde der Schritt S17 durchgeführt, um Ranking-Daten zu erzeugen, die die Datenbankbilder mit der höchsten bis hunderthöchsten Ähnlichkeit in der absteigenden Reihenfolge darstellen.
-
Bei der Bedingung 2 wurden zunächst Datenbankkennzeichen durch die in 2 dargestellten Schritte S01 bis S04 aus den Beschreibungen der Patentdokumente erfasst, in denen die Datenbankbilder offenbart sind. Als Nächstes wurden die in 9 dargestellten Schritte S11 bis S13 durchgeführt, um die Ähnlichkeit jeder der Datenbankbilder mit dem Abfragebild zu berechnen, und dann wurden die Schritte S14 bis S16 durchgeführt, um diese Ähnlichkeit zu korrigieren. Danach wurde der Schritt S17 durchgeführt, um Ranking-Daten zu erzeugen, die die Datenbankbilder mit der höchsten bis hunderthöchsten korrigierten Ähnlichkeit in der absteigenden Reihenfolge darstellen.
-
Unter der Bedingung 1 stellen 14 Bilder der Datenbankbilder, die die höchste bis hunderthöchste Ähnlichkeit mit dem Abfragebild aufweisen, jeweils wie das Abfragebild eine Halbleiterherstellungsvorrichtung dar, während die restlichen 86 Bilder jeweils einen Schaltplan, einen Schaltungsanlageplan, ein Blockdiagramm oder dergleichen darstellen. Unter der Bedingung 2 stellen andererseits alle 100 Bilder jeweils eine Halbleiterherstellungsvorrichtung dar.
-
Folglich wurde festgestellt, dass unter der Bedingung 2 mehr Datenbankbilder, deren Konzepte dem Konzept des Abfragebildes ähnlich sind, gesucht werden konnten als unter der Bedingung 1.
-
Bezugszeichenliste
-
- 10:
- Bildsuchsystem,
- 11:
- Eingabeabschnitt,
- 12:
- Übertragungsweg,
- 13:
- Verarbeitungsabschnitt,
- 15:
- Speicherabschnitt,
- 17:
- Datenbank,
- 19:
- Ausgabeabschnitt,
- 21:
- Vergleichsdatenbereich,
- 30:
- neuronales Netz,
- 30a:
- neuronales Netz,
- 31:
- Schicht,
- 32:
- Neuron,
- 32a:
- Neuron,
- 32b:
- Neuron,
- 32c:
- Neuron,
- 40:
- neuronales Netz