-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft Lernen eines Erkennungsmodells unter Verwenden einer Verlustfunktion.
-
HINTERGRUND
-
Eine Bildanalyse ist in vielen Bereichen von großer Bedeutung. Ein nichteinschränkendes Beispiel ist die Analyse von Röntgenbildern zum Erkennen von Tumoren, wo es hilfreich ist, über leistungsfähige Erkennungsmodelle zu verfügen, die eine Erkrankung wie einen Lungentumor aus einem Röntgenbild erkennen.
-
Daher besteht auf dem Gebiet ein Bedarf, das oben genannte Problem anzugehen.
-
KU RZDARSTELLU NG
-
Unter einem ersten Aspekt stellt die vorliegende Erfindung ein durch einen Computer implementiertes Verfahren bereit, das aufweist: Erfassen eines Eingangsbildes; Erfassen eines kommentierten Bildes, das einen Bereich von Interesse im Eingangsbild kennzeichnet; Eingeben des Eingangsbildes in ein Erkennungsmodell, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; Berechnen eines Fehlers zwischen dem Ausgangsbild und dem kommentierten Bild unter Verwenden einer Verlustfunktion, die einen Fehler innerhalb des Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des Bereichs von Interesse; und Aktualisieren des Erkennungsmodells derart, dass der Fehler verringert wird.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung eine Vorrichtung bereit, die aufweist: einen Prozessor oder eine programmierbare Schaltungsanordnung; und ein oder mehrere durch einen Computer lesbare Medien, die gemeinsam Befehle enthalten, die in Reaktion darauf, dass sie durch den Prozessor oder der programmierbaren Schaltungsanordnung ausgeführt werden, den Prozessor oder die programmierbare Schaltungsanordnung veranlassen zum: Erfassen eines Eingangsbildes; Erfassen eines kommentierten Bildes, das einen Bereich von Interesse im Eingangsbild kennzeichnet; Eingeben des Eingangsbildes in ein Erkennungsmodell, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; Berechnen eines Fehlers zwischen dem Ausgangsbild und dem kommentierten Bild unter Verwenden einer Verlustfunktion, die einen Fehler innerhalb des Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des Bereichs von Interesse; und Aktualisieren des Erkennungsmodells in einer Weise, dass der Fehler verringert wird.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Bildanalyse bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zum Ausführen durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Ausführen der Schritte der Erfindung auszuführen.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein auf einem durch einen Computer lesbaren Medium gespeichertes und in den internen Speicher eines digitalen Computers ladbares Computerprogramm bereit, das Software-Codeteile aufweist, um bei Ausführen des Programms in einem Computer die Schritte der Erfindung auszuführen.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein oder mehrere durch einen Computer lesbare Speichermedien enthält, die gemeinsam Programmbefehle speichern, die durch einen Prozessor oder eine programmierbare Schaltungsanordnung ausführbar sind, um den Prozessor oder die programmierbare Schaltungsanordnung zu veranlassen, Arbeitsschritte auszuführen, die aufweisen: Erfassen eines Eingangsbildes; Erfassen eines kommentierten Bildes, das einen Bereich von Interesse im Eingangsbild kennzeichnet; Eingeben des Eingangsbildes in ein Erkennungsmodell, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; Berechnen eines Fehlers zwischen dem Ausgangsbild und dem kommentierten Bild unter Verwenden einer Verlustfunktion, die einen Fehler innerhalb des durch das kommentierte Bild gekennzeichneten Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des gekennzeichneten Bereichs von Interesse; und Aktualisieren des Erkennungsmodells derart, dass der Fehler verringert wird.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung eine Vorrichtung bereit, die aufweist: einen Prozessor oder eine programmierbare Schaltungsanordnung; und ein oder mehrere durch einen Computer lesbare Medien, die gemeinsam Anweisungen enthalten, die in Reaktion darauf, dass sie durch den Prozessor oder die programmierbare Schaltungsanordnung ausgeführt werden, den Prozessor oder die programmierbare Schaltungsanordnung veranlassen zum: Realisieren eines neuronalen Netzes zum Erzeugen eines Ausgangsbildes, das einen Zielbereich aus einem Eingangsbild zeigt, wobei das neuronale Netz zwischen einem Eingang und einem Ausgang eine Mehrzahl von Faltungsschichten (convolution layers), eine Mehrzahl von Bündelungsschichten (pooling layers), eine Mehrzahl von Entfaltungsschichten (deconvolution layers) und eine Mehrzahl von Batch-Normalisierungsschichten (batch normalization layers) umfasst; und wobei die Mehrzahl von Batch-Normalisierungsschichten jeweils jede festgelegte Anzahl von Schichten in einem ersten Pfad, der einige aus der Mehrzahl von Faltungsschichten und die Mehrzahl von Bündelungsschichten umfasst, und/oder einem zweiten Pfad angeordnet ist, der den Rest der Mehrzahl von Faltungsschichten und die Mehrzahl von Entfaltungsschichten umfasst.
-
Unter einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein oder mehrere durch einen Computer lesbare Speichermedien umfasst, die gemeinsam Programmanweisungen speichern, die durch einen Prozessor oder eine programmierbare Schaltungsanordnung ausführbar sind, um den Prozessor oder die programmierbare Schaltungsanordnung zu veranlassen, Arbeitsschritte auszuführen, die aufweisen: Realisieren eines neuronalen Netzes zum Erzeugen eines Ausgangsbildes, das einen Zielbereich aus einem Eingangsbild zeigt, wobei das neuronale Netz zwischen einem Eingang und einem Ausgang eine Mehrzahl von Faltungsschichten, eine Mehrzahl von Bündelungsschichten, eine Mehrzahl von Entfaltungsschichten und eine Mehrzahl von Batch-Normalisierungsschichten umfasst; und wobei die Mehrzahl von Batch-Normalisierungsschichten jeweils jede festgelegte Anzahl von Schichten in einem ersten Pfad, der einige aus der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst, und/oder einem zweiten Pfad angeordnet ist, der den Rest der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst.
-
Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein durch einen Computer implementiertes Verfahren bereitgestellt, das aufweist: Erfassen eines Eingangsbildes; Erfassen eines kommentierten Bildes, das einen Bereich von Interesse im Eingangsbild kennzeichnet; Eingeben des Eingangsbildes in ein Erkennungsmodell, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; Berechnen eines Fehlers zwischen dem Ausgangsbild und dem kommentierten Bild unter Verwenden einer Verlustfunktion, die einen Fehler innerhalb des Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des Bereichs von Interesse; und Aktualisieren des Erkennungsmodells derart, dass der Fehler verringert wird.
-
Als die Verlustfunktion kann eine gewichtete Kreuzentropie (weighted cross entropy) verwendet werden. Auf diese Weise können die Fehler unter Verwenden einer gewichteten Kreuzentropie gewichtet werden.
-
Das Erkennungsmodell kann zwischen einem Eingang und einem Ausgang eine oder mehrere Faltungsschichten, eine oder mehrere Bündelungsschichten, eine oder mehrere Entfaltungsschichten und eine oder mehrere Batch-Normalisierungsschichten umfassen. Auf diese Weise beschleunigt das Erkennungsmodell in einigen Ausführungsformen die Konvergenz eines Lernvorgangs und schränkt ein Überlernen ein.
-
Das durch einen Computer implementierte Verfahren kann außerdem aufweisen: Erfassen von mindestens einer Koordinate im Eingangsbild; und Angeben des Bereichs von Interesse entsprechend der mindestens einen Koordinate. Auf diese Weise ist es möglich, den Bereich von Interesse ab mindestens einer Koordinate grob anzugeben.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung bereitgestellt, die aufweist: einen Prozessor oder eine programmierbare Schaltungsanordnung; und ein oder mehrere durch einen Computer lesbare Medien, die gemeinsam Anweisungen enthalten, die in Reaktion darauf, dass sie durch den Prozessor oder die programmierbare Schaltungsanordnung ausgeführt werden, den Prozessor oder die programmierbare Schaltungsanordnung veranlassen, ein Eingangsbild zu erfassen; ein kommentiertes Bild zu erfassen, das einen Bereich von Interesse im Eingangsbild kennzeichnet; das Eingangsbild in ein Erkennungsmodell einzugeben, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; einen Fehler zwischen dem Ausgangsbild und dem kommentierten Bild zu berechnen, wobei eine Verlustfunktion verwendet wird, die einen Fehler innerhalb des Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des Bereichs von Interesse; und das Erkennungsmodell derart zu aktualisieren, dass der Fehler verringert wird. Auf diese Weise erfasst der Prozessor oder die programmierbare Schaltungsanordnung ein Eingangsbild und erlernt das Erkennungsmodell genau.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Computerprogrammprodukt bereitgestellt, das ein oder mehrere durch einen Computer lesbare Speichermedien enthält, die gemeinsam Programmanweisungen speichern, die durch einen Prozessor oder eine programmierbare Schaltungsanordnung ausführbar sind, um den Prozessor oder die programmierbare Schaltungsanordnung zu veranlassen, Arbeitsschritte auszuführen, die aufweisen: Erfassen eines Eingangsbildes; Erfassen eines kommentierten Bildes, das einen Bereich von Interesse im Eingangsbild kennzeichnet; Eingeben des Eingangsbildes in ein Erkennungsmodell, das ein Ausgangsbild erzeugt, das einen Zielbereich aus dem Eingangsbild zeigt; Berechnen eines Fehlers zwischen dem Ausgangsbild und dem kommentierten Bild unter Verwenden einer Verlustfunktion, die einen Fehler innerhalb des durch das kommentierte Bild gekennzeichneten Bereichs von Interesse stärker gewichtet als einen Fehler außerhalb des gekennzeichneten Bereichs von Interesse; und Aktualisieren des Erkennungsmodells derart, dass der Fehler verringert wird. Auf diese Weise ist es möglich, die Genauigkeit im Zusammenhang mit dem maschinellen Lernen des Erkennungsmodells zu erhöhen.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung bereitgestellt, die aufweist: einen Prozessor oder eine programmierbare Schaltungsanordnung; und ein oder mehrere durch einen Computer lesbare Medien, die gemeinsam Anweisungen enthalten, die in Reaktion darauf, dass sie durch den Prozessor oder die programmierbare Schaltungsanordnung ausgeführt werden, den Prozessor oder die programmierbare Schaltungsanordnung veranlassen, ein neuronales Netz zu realisieren, um ein Ausgangsbild zu erzeugen, das einen Zielbereich aus einem Eingangsbild zeigt, wobei das neuronale Netz zwischen einem Eingang und einem Ausgang eine Mehrzahl von Faltungsschichten, eine Mehrzahl von Bündelungsschichten, eine Mehrzahl von Entfaltungsschichten und eine Mehrzahl von Batch-Normalisierungsschichten umfasst, und wobei die Mehrzahl von Batch-Normalisierungsschichten jeweils nach jeder festgelegten Anzahl von Schichten in einem ersten Pfad, der einige aus der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst, und/oder einem zweiten Pfad angeordnet ist, der den Rest der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Computerprogrammprodukt bereitgestellt, das umfasst: ein oder mehrere durch einen Computer lesbare Speichermedien, die gemeinsam Programmanweisungen speichern, die durch einen Prozessor oder eine programmierbare Schaltungsanordnung ausführbar sind, um den Prozessor oder die programmierbare Schaltungsanordnung zu veranlassen, Arbeitsschritte auszuführen, die aufweisen: Realisieren eines neuronalen Netzes zum Erzeugen eines Ausgangsbildes, das einen Zielbereich aus einem Eingangsbild zeigt, wobei das neuronale Netz zwischen einem Eingang und einem Ausgang eine Mehrzahl von Faltungsschichten, eine Mehrzahl von Bündelungsschichten, eine Mehrzahl von Entfaltungsschichten und eine Mehrzahl von Batch-Normalisierungsschichten umfasst, und wobei die Mehrzahl von Batch-Normalisierungsschichten jeweils nach jeder festgelegten Anzahl von Schichten in einem ersten Pfad, der einige aus der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst, und/oder einem zweiten Pfad angeordnet ist, der den Rest der Mehrzahl von Faltungsschichten und der Mehrzahl von Bündelungsschichten umfasst. Auf diese Weise beschleunigt das Erkennungsmodell die Konvergenz eines Lernvorgangs und schränkt Überlernen ein.
-
Die Kurzdarstellungsabschnitt beschreibt nicht unbedingt alle notwendigen Merkmale der Ausführungsformen der vorliegenden Erfindung. Die vorliegende Erfindung kann außerdem eine Teilkombination der oben beschriebenen Merkmale sein. Die oben genannten und weitere Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den beigefügten Zeichnungen hervor.
-
Figurenliste
-
Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren veranschaulicht werden:
- 1 ist ein funktionales Blockschaltbild, das eine Datenverarbeitungsumgebung veranschaulicht, in der ein System zum Lernen eines Erkennungsmodells eine Verlustfunktion gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung verwendet.
- 2 veranschaulicht ein beispielhaftes Netzwerk des Erkennungsmodells in der Umgebung von 1 gemäß mindestens einer Ausführungsform der vorliegenden Erfindung.
- 3 veranschaulicht Verarbeitungsprozesse eines Erkennungsmodells, das in einer Datenverarbeitungseinheit in der Umgebung von 1 ausgeführt wird, gemäß mindestens einer Ausführungsform der vorliegenden Erfindung.
- 4 zeigt ein Beispiel von Vergleichen zwischen Ausgangsbildern gemäß der vorliegenden Ausführungsform und Ausgangsbildern, die durch herkömmliche Lösungsansätze erhalten wurden.
- 5 veranschaulicht ein funktionales Blockschaltbild, das eine Datenverarbeitungsumgebung zeigt, in der eine Modifikation des Systems zum Lernen eines Erkennungsmodells eine Verlustfunktion gemäß mindestens einer Ausführungsform der vorliegenden Erfindung verwendet.
- 6 zeigt ein Beispiel der Angabe eines Bereichs von Interesse durch die Vorrichtung 100 gemäß der vorliegenden Erfindung.
- 7 veranschaulicht ein funktionales Blockschaltbild, das eine Datenverarbeitungsumgebung zeigt, die als weitere Modifikation des Systems zum Lernen eines Erkennungsmodells eine Verlustfunktion gemäß mindestens einer Ausführungsform der vorliegenden Erfindung verwendet.
- 8 ist ein Blockschaltbild von Komponenten von einer oder mehreren Datenverarbeitungseinheiten in der in 1 gezeigten Datenverarbeitungsumgebung gemäß mindestens einer Ausführungsform der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Folgenden werden einige Ausführungsformen der vorliegenden Erfindung beschrieben. Die Ausführungsformen schränken die Erfindung gemäß den Ansprüchen nicht ein, und alle Kombinationen der in den Ausführungsformen beschriebenen Merkmale können die Ausführungsformen umfassen, die durch in der Beschreibung offenbarte Merkmale bereitgestellt werden, jedoch ohne auf diese beschränkt zu sein.
-
1 ist ein funktionales Blockschaltbild einer Vorrichtung 100 gemäß der vorliegenden Erfindung. Bei der Vorrichtung 100 kann es sich um einen Computer wie etwa ein PC (Personal Computer), ein Tablet-Computer, ein Smartphone, eine Arbeitsstation, ein Server-Computer oder ein Universalcomputer, ein Computersystem, in dem eine Mehrzahl von Computern miteinander verbunden sind, oder eine beliebige programmierbare elektronische Einheit oder eine Kombination programmierbarer elektronischer Einheiten handeln, die ein System zum Lernen eines Erkennungsmodells unter Verwenden einer Verlustfunktion ausführen kann. Ein solches Computersystem ist in weit gefasster Definition ebenfalls ein Computer. Des Weiteren kann die Vorrichtung 100 durch eine oder mehrere virtuelle Computerumgebungen implementiert werden, die in einem Computersystem ausgeführt werden können. Allerdings kann es sich bei der Vorrichtung 100 auch um einen spezialisierten Computer handeln, der entwickelt wurde, um ein Erkennungsmodell zu aktualisieren, oder der spezielle Hardware enthalten kann, die von einer speziellen Schaltungsanordnung verwendet wird. Wenn die Vorrichtung 100 eine Verbindung mit dem Internet herstellen kann, kann die Vorrichtung 100 außerdem im Cloud-Computing verwendet werden.
-
Die Vorrichtung 100 verwendet eine Verlustfunktion, um den Fehler zwischen einem kommentierten Bild und einem Ausgangsbild zu berechnen, das durch Eingeben eines Eingangsbildes in ein Erkennungsmodell erzeugt wurde, und aktualisiert das Erkennungsmodell derart, dass dieser Fehler verringert wird. Dabei lernt die Vorrichtung 100 gemäß der vorliegenden Ausführungsform das Erkennungsmodell, indem sie als die Verlustfunktion Fehler in einem Bereich von Interesse (ROI) stärker gewichtet als Fehler außerhalb des Bereichs von Interesse. In der vorliegenden Ausführungsform wird als Beispiel ein Fall gezeigt, in dem die Vorrichtung 100 ein Erkennungsmodell lernt, das eine Erkrankung wie einen Lungentumor aus einem Röntgenbild eines Tieres erkennt. Das Erkennungsmodell umfasst dieses Beispiel, ist jedoch hinsichtlich des Schutzumfangs nicht auf Merkmale beschränkt, die Gewebestrukturen erkennen, wie beispielsweise Tumore bei Tieren. Die Vorrichtung 100 kann ein Erkennungsmodell lernen, das verschiedene Bereiche aus verschiedenen Bildern erkennt. Die Vorrichtung 100 umfasst einen Abschnitt 110 zum Erfassen von Eingangsbildern (input image acquiring section), einen Abschnitt 120 zum Erfassen von kommentierten Bildern (annotated image acquiring section), ein Erkennungsmodell 130, einen Fehlerberechnungsabschnitt 140 (error calculating section), einen Abschnitt 150 zum Speichern von Gewichtungen (weight storage section) und einen Aktualisierungsabschnitt 160 (updating section).
-
Der Abschnitt 110 zum Erfassen von Eingangsbildern ruft eine Mehrzahl von Eingangsbildern ab, die zum besseren Verständnis von bestimmten Ausführungsformen als „Original“-Bilder betrachtet werden. In einer Ausführungsform ruft der Abschnitt 110 zum Erfassen von Eingangsbildern beispielsweise eine Mehrzahl von Röntgenbildern eines Tieres ab. Der Abschnitt 110 zum Erfassen von Eingangsbildern tauscht Daten mit dem Erkennungsmodell 130 aus, so dass die Mehrzahl von erfassten Eingangsbildern dem Erkennungsmodell 130 zugeführt wird.
-
Der Abschnitt 120 zum Erfassen von kommentierten Bildern ruft für jedes aus der Mehrzahl von Eingangsbildern ein kommentiertes Bild ab, das einen Bereich von Interesse im Eingangsbild zeigt. Beispielsweise kann der Abschnitt 120 zum Erfassen von kommentierten Bildern jedes kommentierte Bild abrufen, in dem dem Bereich von Interesse in den Eingangsbildern eine Kennzeichnung beigefügt ist, die anzeigt, dass sich ein Bereich von anderen Bereichen unterscheidet. Der Abschnitt 120 zum Erfassen von kommentierten Bildern übermittelt die erfassten kommentierten Bilder an den Fehlerberechnungsabschnitt 140.
-
Das Erkennungsmodell 130 empfängt die Mehrzahl von Eingangsbildern, die aus dem Abschnitt 110 zum Erfassen von Eingangsbildern abgerufen wurden, und erzeugt jedes Ausgangsbild, das einen Zielbereich aus diesen Eingangsbildern zeigt. In der vorliegenden Ausführungsform wird ein mehrschichtiges neuronales Netz, das im Folgenden ausführlicher beschrieben wird, als Algorithmus des Erkennungsmodells 130 verwendet. Das Erkennungsmodell 130 ist jedoch nicht auf die vorliegende Ausführungsform beschränkt. Stattdessen kann zusätzlich zu dem im Folgenden beschriebenen Modell ein neuronales Netz wie etwa CNN, FCN, SegNet und U-Net oder ein beliebiger Algorithmus, der in der Lage ist, einen Zielbereich zu erkennen, wie beispielsweise eine Stützvektormaschine (support vector machine, SVM) und ein Entscheidungsbaum, als Erkennungsmodell 130 verwendet werden. Das Erkennungsmodell 130 übermittelt die erzeugten Ausgangsbilder an den Fehlerberechnungsabschnitt 140.
-
Der Fehlerberechnungsabschnitt 140 berechnet die jeweiligen Fehler zwischen den vom Erkennungsmodell 130 gelieferten Ausgangsbildern und den vom Abschnitt 120 zum Erfassen von kommentierten Bildern gelieferten kommentierten Bildern unter Verwenden der Verlustfunktion. Dabei verwendet der Fehlerberechnungsabschnitt 140 eine gewichtete Kreuzentropie als die Verlustfunktion, um die Fehler innerhalb des Bereichs von Interesse stärker zu gewichten als die Fehler außerhalb des Bereichs von Interesse. Mit anderen Worten, der Fehlerberechnungsabschnitt 140 gewichtet die Fehler beispielsweise innerhalb des Bereichs, der von einem Arzt als Lungentumor gekennzeichnet wurde, stärker als die Fehler außerhalb dieses Bereichs. Dies wird im Folgenden ausführlicher beschrieben.
-
Der Abschnitt 150 zum Speichern von Gewichtungen speichert im Vorfeld Gewichtungen und übermittelt diese Gewichtungen an den Fehlerberechnungsabschnitt 140. Der Fehlerberechnungsabschnitt 140 nutzt die Gewichtungen mit einer gewichteten Kreuzentropie, um die Fehler zu berechnen.
-
Der Fehlerberechnungsabschnitt 140 wendet die vom Abschnitt 150 zum Speichern von Gewichtungen gelieferten Gewichtungen auf die gewichtete Kreuzentropie an, um die Fehler zwischen den Ausgangsbildern und den kommentierten Bildern zu berechnen, und führt diese Fehler dem Aktualisierungsabschnitt 160 zu.
-
Der Aktualisierungsabschnitt 160 aktualisiert das Erkennungsmodell 130 derart, dass die vom Fehlerberechnungsabschnitt 140 gelieferten Fehler verringert werden. Beispielsweise aktualisiert der Aktualisierungsabschnitt 160 jeden Parameter des Erkennungsmodells derart, dass die Fehler minimiert werden, wobei eine Technik der Rückwärtsausbreitung von Fehlern (error backward propagation technique) verwendet wird. Fachleute würden verstehen, dass die Technik der Rückwärtsausbreitung von Fehlern selbst als Algorithmus für das Lernen eines Erkennungsmodells weithin anerkannt ist.
-
2 zeigt ein beispielhaftes Netzwerk des Erkennungsmodells 130 gemäß der vorliegenden Ausführungsform. Das Erkennungsmodell 130 umfasst zum Beispiel zwischen einem Eingang und einem Ausgang eine oder mehrere Faltungsschichten, eine oder mehrere Bündelungsschichten und eine oder mehrere Batch-Normalisierungsschichten. In der vorliegenden Zeichnung umfasst das Erkennungsmodell 130 zwischen einer Eingangsschicht 210 und einer Ausgangsschicht 260 eine Mehrzahl von Faltungsschichten 220a bis 220w (in ihrer Gesamtheit als „Faltungsschichten 220“ bezeichnet), eine Mehrzahl von Bündelungsschichten 230a bis 230e (in ihrer Gesamtheit als „Bündelungsschichten 230“ bezeichnet), eine Mehrzahl von Entfaltungsschichten 240a bis 240e (in ihrer Gesamtheit als „Entfaltungsschichten 240“ bezeichnet) und eine Mehrzahl von Batch-Normalisierungsschichten 250a bis 250i (in ihrer Gesamtheit als „Batch-Normalisierungsschichten 250“ bezeichnet).
-
Die Faltungsschichten 220 geben jeweils eine Merkmalkarte aus, indem sie einen Faltungsvorgang ausführen, der auf das Eingangsbild angewendet wird, wobei ein Kernel (Filter) mit einer festgelegten Größe verschoben wird.
-
Die Bündelungsschichten 230 komprimieren jeweils Informationen und reduzieren die Abtastrate, um das Eingangsbild in eine Form zu bringen, die leichter zu handhaben ist. In diesem Fall kann jede Bündelungsschicht 230 beispielsweise eine maximale Bündelung (max pooling) verwenden, um einen Maximalwert jedes Bereichs auszuwählen und zu komprimieren, oder eine mittlere Bündelung (average pooling), um den Durchschnittswert jedes Bereichs zu berechnen und zu komprimieren.
-
Die Entfaltungsschichten 240 können jeweils die Größe durch Hinzufügen von Leerzeichen um jedes und/oder zwischen jedem Element in der eingegebenen Merkmalkarte erweitern und führen dann den angewandten Entfaltungsvorgang aus, wobei ein Kernel (Filter) mit einer festgelegten Größe verschoben wird.
-
Die Batch-Normalisierungsschichten 250 ersetzen jeweils die Ausgabe jeder Einheit durch einen neuen Wert, der für jedes Mini-Batch normiert ist. Mit anderen Worten, jede Batch-Normalisierungsschicht 250 führt eine Normalisierung aus, so dass die Elemente von jedem aus einer Mehrzahl von Bildern eine normalisierte Verteilung haben.
-
Das Erkennungsmodell 130 gemäß der vorliegenden Ausführungsform hat beispielsweise einen ersten Pfad, bei dem sich um einen Codierungspfad (coding path) handelt, der die Mehrzahl von Faltungsschichten 220a bis 2201 und die Mehrzahl von Bündelungsschichten 230a bis 230e umfasst, und einen zweiten Pfad, bei dem sich um einen Decodierungspfad (decoding path) handelt, der die Mehrzahl von Faltungsschichten 220m bis 220w und die Mehrzahl von Entfaltungsschichten 240a bis 240e umfasst. Der Codierungspfad und der Decodierungspfad verbinden jeweils Merkmalskarten mit den gleichen Abmessungen.
-
Außerdem ist die Mehrzahl von Batch-Normalisierungsschichten 250 im Erkennungsmodell 130 gemäß der vorliegenden Ausführungsform jeweils jede festgelegte Anzahl von Schichten im ersten Pfad, der einige aus der Mehrzahl von Faltungsschichten 220 und die Mehrzahl von Bündelungsschichten 230 umfasst, und/oder im zweiten Pfad angeordnet, der den Rest der Mehrzahl von Faltungsschichten 220 und die Mehrzahl von Entfaltungsschichten 240 umfasst.
-
Die Mehrzahl von Batch-Normalisierungsschichten 250a bis 250d ist beispielsweise jeweils bei jeder festgelegten Anzahl von Schichten im Codierungspfad angeordnet, und die Mehrzahl von Batch-Normalisierungsschichten 250e bis 250i ist jeweils jede festgelegte Anzahl von Schichten im Decodierungspfad angeordnet. Konkret ist die Mehrzahl von Batch-Normalisierungsschichten 250a bis 250d im Codierungspfad nach den Faltungsschichten 220d, 220f, 220h und 220j angeordnet, die mit dem Decodierungspfad verbunden sind, wie in der vorliegenden Zeichnung gezeigt wird. Außerdem ist die Mehrzahl von Batch-Normalisierungsschichten 250e bis 250h im Decodierungspfad jeweils nach den Faltungsschichten 220n, 220p, 220r, 220t und 220v angeordnet.
-
Auf diese Weise ist gemäß dem Erkennungsmodell 130 der vorliegenden Ausführungsform mindestens eine Batch-Normalisierungsschicht 250 im Codierungspfad und/oder im Decodierungspfad angeordnet, und daher ist es möglich, eine große Änderung der internen Variablenverteilung (interne Kovariatenverschiebung) zu verhindern und die Konvergenz des Lernens zu beschleunigen und auch ein Überlernen einzuschränken. Durch Verwenden eines solchen Erkennungsmodells 130 kann die Vorrichtung 100 gemäß der vorliegenden Ausführungsform das Erkennungsmodell 130 leistungsfähiger lernen, wenn eine korrekte Klassifizierung von Kennzeichnungen aus Kennzeichnungen gelernt wird, die Fehler enthalten.
-
3 veranschaulicht Verarbeitungsprozesse gemäß der vorliegenden Ausführungsform, mit Hilfe derer die Vorrichtung 100 das Erkennungsmodell 130 lernt.
-
Im Schritt 310 erfasst die Vorrichtung 100 eine Mehrzahl von Eingangsbildern. Beispielsweise erfasst der Abschnitt 110 zum Erfassen von Eingangsbildern eine Mehrzahl von Röntgenbildern eines Tieres. Wenn sich die Größen der Bilder voneinander unterscheiden, kann der Abschnitt 110 zum Erfassen von Eingangsbildern Bilder als Eingangsbilder erfassen, die jeweils einer Vorverarbeitung unterzogen wurden (z.B. Normalisieren der Bildelementwerte, Zuschneiden auf eine vorgegebene Form und Größenänderung auf eine vorgegebene Größe). Zu diesem Zeitpunkt kann der Abschnitt 110 zum Erfassen von Eingangsbildern die Mehrzahl von Eingangsbildern beispielsweise über das Internet, über Benutzereingabe oder über eine Speichereinheit oder dergleichen erfassen, die in der Lage ist, Daten zu speichern. Der Abschnitt 110 zum Erfassen von Eingangsbildern führt die Mehrzahl von erfassten Eingangsbildern dem Erkennungsmodell 130 zu.
-
Im Schritt 320 erfasst die Vorrichtung 100 für jedes aus der Mehrzahl von Eingangsbildern ein kommentiertes Bild, das den Bereich von Interesse im Eingangsbild kennzeichnet. Beispielsweise erfasst der Abschnitt 120 zum Erfassen von kommentierten Eingangsbildern jedes kommentierte Bild, in dem Bildelemente innerhalb eines Bereichs, der von einem Arzt als Lungentumor gekennzeichnet wurde, beispielsweise mit einer Klasse c=1 und die Bildelemente außerhalb dieses Bereichs mit einer Klasse c=0 bezeichnet werden. In der obigen Beschreibung wird ein Beispiel gezeigt, in dem jedes Bildelement in Abhängigkeit davon, ob sich das Bildelement innerhalb oder außerhalb des als Lungentumor gekennzeichneten Bereichs liegt, gemäß zwei Klassen (z. B. c=0 und c=1) bezeichnet wird, jedoch ist die vorliegende Ausführungsform nicht darauf beschränkt. Beispielsweise kann der Abschnitt 120 zum Erfassen von kommentierten Eingangsbildern jedes kommentierte Bild erfassen, in dem Bildelemente innerhalb eines Lungenbereichs und auch innerhalb eines Lungentumorbereichs mit einer Klasse c=2, Bildelemente innerhalb eines Lungenbereichs, jedoch außerhalb eines Lungentumorbereichs mit einer Klasse c=1und Bildelemente außerhalb des Lungenbereichs und außerhalb des Lungentumorbereichs mit einer Klasse c=0 bezeichnet sind. Mit anderen Worten, der Abschnitt 120 zum Erfassen von kommentierten Eingangsbildern kann jedes kommentierte Bild erfassen, das entsprechend drei oder mehr Klassen (z.B. c=0, c=1 und c=2) bezeichnet ist. Zu diesem Zeitpunkt kann der Abschnitt 120 zum Erfassen von kommentierten Eingangsbildern jedes kommentierte Bild über ein Netzwerk, über Benutzereingabe oder über eine Speichereinheit oder dergleichen erfassen, die in der Lage ist, Daten zu speichern. Der Abschnitt 120 zum Erfassen von kommentierten Eingangsbildern führt die erfassten kommentierten Bilder dem Fehlerberechnungsabschnitt 140 zu.
-
Im Schritt 330 gibt die Vorrichtung 100 jedes aus der Mehrzahl von im Schritt 310 erfassten Bildern in das Erkennungsmodell 130 ein, das die Ausgangsbilder des Zielbereichs aus den Eingangsbildern erzeugt. Beispielsweise erzeugt das Erkennungsmodell 130 für jedes aus der Mehrzahl von Eingangsbildern ein Ausgangsbild, in dem die Bildelemente innerhalb des als Zielbereich vorhergesagten Bereichs, d.h. des Lungentumorbereichs, im Eingangsbild mit der Klasse c=1 und die Bildelemente außerhalb dieses Bereichs mit der Klasse c=0 bezeichnet sind. Anschließend führt das Erkennungsmodell 130 jedes der erzeugten Ausgangsbilder dem Fehlerberechnungsabschnitt 140 zu. In der obigen Beschreibung wird ein Beispiel gezeigt, in dem die Vorrichtung 100 die Ausgangsbilder nach Erfassen der kommentierten Bilder erzeugt, jedoch ist die Vorrichtung 100 nicht darauf beschränkt. Die Vorrichtung 100 kann die kommentierten Bilder nach Erzeugen der Ausgangsbilder erfassen. Mit anderen Worten, der Schritt 320 kann nach dem Schritt 330 ausgeführt werden.
-
Im Schritt 340 berechnet die Vorrichtung 100 die jeweiligen Fehler zwischen den im Schritt 330 erfassten Ausgangsbildern und den im Schritt 320 erfassten kommentierten Bildern unter Verwenden der Verlustfunktion. Zu diesem Zeitpunkt verwendet der Fehlerberechnungsabschnitt 140 eine Kreuzentropie als die Verlustfunktion. Im Allgemeinen ist eine Kreuzentropie eine Skala, die zwischen zwei Wahrscheinlichkeitsverteilungen definiert ist, bei denen es sich um eine Wahrscheinlichkeitsverteilung und eine Referenzwahrscheinlichkeitsverteilung handelt, einen Minimalwert hat, wenn die Wahrscheinlichkeitsverteilung und die Referenzwahrscheinlichkeitsverteilung gleich sind, und einen Wert hat, der umso größer ist, je mehr sich die Wahrscheinlichkeitsverteilung von der Referenzwahrscheinlichkeitsverteilung unterscheidet. Wenn diese Kreuzentropie beim Berechnen des Fehlers zwischen einem Ausgangsbild und einem kommentierten Bild verwendet wird, ohne Bildelemente im Eingangsbild zu gewichten, wird der Fehler durch Bildelementgruppen mit einer großen Fläche stark beeinflusst. Wenn dies geschieht, beispielsweise wenn ein Fehler im kommentierten Bild enthalten ist, gibt es Fälle, in denen das Erkennungsmodell zum Erkennen des Zielbereichs nicht präzise gelernt werden kann, selbst wenn das Erkennungsmodell aktualisiert wird, um diesen Fehler zu minimieren.
-
Daher gewichtet die Verlustfunktion, die vom Fehlerberechnungsabschnitt 140 zum Berechnen des Fehlers verwendet wird, in der vorliegenden Ausführungsform Fehler innerhalb des Bereichs von Interesse stärker als Fehler außerhalb des Bereichs von Interesse. Zu diesem Zeitpunkt kann der Fehlerberechnungsabschnitt 140 eine gewichtete Kreuzentropie als die Verlustfunktion verwenden. Beispielsweise speichert der Abschnitt 150 zum Speichern von Gewichtungen im Vorfeld die Gewichtungen, die auf diese gewichtete Kreuzentropie angewandt werden müssen, und führt diese Gewichtungen dem Fehlerberechnungsabschnitt 140 zu. Der Fehlerberechnungsabschnitt 140 wendet die vom Abschnitt 150 zum Speichern von Gewichtungen gelieferten Gewichtungen auf die gewichtete Kreuzentropie an, um den Fehler zwischen dem Ausgangsbild und dem kommentierten Bild zu berechnen. Wenn die Fehler innerhalb des Bereichs von Interesse starker gewichtet werden als die Fehler außerhalb des Bereichs von Interesse, kann die Gewichtung im Zielbereich in der gewichteten Kreuzentropie dabei auf einen größeren Wert gesetzt werden als die Gewichtung außerhalb des Zielbereichs. Allerdings kann die Gewichtung auch innerhalb des Bereichs von Interesse in der gewichteten Kreuzentropie auf einen größeren Wert als die Gewichtung außerhalb des Bereichs von Interesse gesetzt werden. Dies wird unter Verwenden von mathematischen Ausdrücken erläutert.
-
Der Fehlerberechnungsabschnitt
140 verwendet beispielsweise die durch den folgenden Ausdruck gezeigte gewichtete Kreuzentropie als die Verlustfunktion. Es sei darauf hingewiesen, dass X die Menge aller Bildelemente „i“ im Eingangsbild, C die Menge aller Klassen c, W
c die Gewichtung einer Klasse c, pic der Wert der Klasse c beim Bildelement „i“ im kommentierten Bild und q
i c der Wert der Klasse c beim Bildelement „i“ im Ausgangsbild ist.
-
Hier wird ein Beispiel beschrieben, in dem der Abschnitt 120 zum Erfassen von kommentierten Bildern das kommentierte Bild erfasst, in dem die Bildelemente innerhalb des bezeichneten Bereichs von Interesse (ROI), der von einem Arzt als Lungentumor gekennzeichnet wurde, als Klasse c=1 und die Bildelemente außerhalb des Bereichs von Interesse als Klasse c=0 bezeichnet sind, und das Erkennungsmodell 130 erzeugt ein Ausgangsbild, in dem die Klasse c=1 Bildelementen innerhalb des Zielbereichs zugeteilt wird, der als Lungentumorbereich im Eingangsbild vorhergesagt wird, und die Klasse c=0 den Bildelementen außerhalb des Zielbereichs zugeteilt wird.
-
In diesem Fall wird der Ausdruck 1 zu dem unten gezeigten Ausdruck erweitert. Insbesondere wird die Kreuzentropie erweitert als die Summe von vier Komponenten, bei denen es sich handelt um (1) eine Komponente, in der die Bildelemente innerhalb des Bereichs von Interesse mit c=1 bezeichnet und als innerhalb des Zielbereichs liegend vorausgesagt werden, (2) eine Komponente, in der die Bildelemente innerhalb des Bereichs von Interesse mit c=0 bezeichnet und als außerhalb des Zielbereichs liegend vorausgesagt werden, (3) eine Komponente, in der die Bildelemente außerhalb des Bereichs von Interesse mit c=1 bezeichnet und als innerhalb des Zielbereichs liegend vorausgesagt werden, und (4) eine Komponente, in der die Bildelemente außerhalb des Bereichs von Interesse mit c=0 bezeichnet und als außerhalb des Zielbereichs liegend vorausgesagt werden.
-
In dem oben beschriebenen Fall ist die Wahrscheinlichkeit, dass ein Bildelement innerhalb des Bereichs von Interesse mit c=0 bezeichnet wird, jedoch gleich 0, und daher ist die zweite Termkomponente im Ausdruck 2 gleich 0. In ähnlicher Weise ist die Wahrscheinlichkeit, dass ein Bildelement außerhalb des Bereichs von Interesse mit c=1 bezeichnet wird, gleich 0, und daher ist die dritte Termkomponente im Ausdruck 2 gleich 0. Die Wahrscheinlichkeit, dass ein Bildelement innerhalb des Bereichs von Interesse mit c=1 bezeichnet wird, und die Wahrscheinlichkeit, dass ein Bildelement außerhalb des Bereichs von Interesse mit c=0 bezeichnet wird, sind beide gleich 1, und daher kann der Ausdruck 2 als der weiter unten gezeigte Ausdruck dargestellt werden. Insbesondere wird die Kreuzentropie als Summe von zwei Komponenten gezeigt, bei denen es sich um eine Komponente handelt, in der die Bildelemente innerhalb des Bereichs von Interesse als innerhalb des Zielbereichs liegend vorausgesagt werden, und um eine Komponente, bei der die Bildelemente außerhalb des Bereichs von Interesse als außerhalb des Zielbereichs liegend vorausgesagt werden.
-
In der vorliegenden Ausführungsform gewichtet die Verlustfunktion die Fehler innerhalb des Bereichs von Interesse stärker als die Fehler außerhalb des Bereichs von Interesse. Mit anderen Worten, im Ausdruck 3 wird die Gewichtung Wc der ersten Termkomponente auf einen größeren Wert gesetzt als die Gewichtung der zweiten Termkomponente. Dabei können bei der gewichteten Kreuzentropie durch Setzen der Gewichtung innerhalb des Zielbereichs auf einen größeren Wert als die Gewichtung außerhalb des Zielbereichs die Fehler innerhalb des Bereichs von Interesse stärker gewichtet werden als die Fehler außerhalb des Bereichs von Interesse. Mit anderen Worten, durch Setzen der Gewichtungen der ersten Termkomponente und der dritten Termkomponente im Ausdruck 2 auf größere Werte als die Gewichtungen der zweiten Termkomponente und der vierten Termkomponente im Ausdruck 2 kann die Gewichtung der ersten Komponente im Ausdruck 3 auf einen größeren Wert als die Gewichtung der zweiten Komponente im Ausdruck 3 gesetzt werden. Allerdings kann bei der gewichteten Kreuzentropie durch Setzen der Gewichtung innerhalb des Bereichs von Interesse auf einen größeren Wert als die Gewichtung außerhalb des Bereichs von Interesse auch der Fehler innerhalb des Bereichs von Interesse stärker gewichtet werden als der Fehler außerhalb des Bereichs von Interesse. Mit anderen Worten, durch Setzen der Gewichtungen der ersten Termkomponente und der zweiten Termkomponente im Ausdruck 2 auf größere Werte als die Gewichtungen der dritten Termkomponente und der vierten Termkomponente im Ausdruck 2 kann die Gewichtung der ersten Termkomponente im Ausdruck 3 auf einen größeren Wert als die Gewichtung der zweiten Termkomponente im Ausdruck 3 gesetzt werden. Anschließend führt der Fehlerberechnungsabschnitt 140 den auf diese Weise berechneten Fehler zwischen dem Ausgangsbild und dem kommentierten Bild dem Aktualisierungsabschnitt 160 zu.
-
Im Schritt 350 aktualisiert die Vorrichtung 100 das Erkennungsmodell 130 derart, dass der im Schritt 340 berechnete Fehler verringert wird. Beispielsweise verwendet der Aktualisierungsabschnitt 160 die Technik der Rückwärtsausbreitung von Fehlern, um jeden Parameter des Erkennungsmodells 130 derart zu aktualisieren, dass dieser Fehler minimiert wird, und beendet sodann den Prozess.
-
Die Vorrichtung 100 kann die Prozesse von Schritt 330 bis Schritt 350 gemäß verschiedenen Lernmethoden wie etwa Batch-Lernen (batch learning), Mini-Batch-Lernen (mini batch learning) und Online-Lernen wiederholt ausführen.
-
4 zeigt ein Beispiel für Vergleiche zwischen Ausgangsbildern gemäß der vorliegenden Ausführungsform und Ausgangsbildern, die durch den herkömmlichen Lösungsansatz erhalten wurden. In der vorliegenden Zeichnung werden Eingangsbilder, durch den herkömmlichen Lösungsansatz erhaltene Ausgangsbilder, gemäß der vorliegenden Ausführungsform erhaltene Ausgangsbilder und Überlagerungsbilder, bei denen die gemäß der vorliegenden Ausführungsform erhaltenen Ausgangsbilder den Eingangsbildern überlagert werden, in der angegebenen Reihenfolge von links nach rechts gezeigt. Wie in der vorliegenden Zeichnung gezeigt wird, war es mit dem Erkennungsmodell gemäß dem herkömmlichen Lösungsansatz nicht möglich, die Eingangsbilder in Klassen zu unterteilen und Vorhersagen zwischen den Lungentumorbereichen und einem anderen Bereich zu treffen. Mit dem Erkennungsmodell 130, das durch die Vorrichtung 100 gemäß der vorliegenden Ausführungsform gelernt wurde, war es im Gegensatz dazu möglich, eine Ausgabe zu erhalten, bei der Lungentumorbereiche (in der Zeichnung in weiß gezeigte Bereiche) und die anderen Bereiche (in der Zeichnung in schwarz gezeigte Bereiche) in Klassen unterteilt werden. Beim Betrachten der Bilder, in denen diese Ausgabe den Eingangsbildern überlagert wird, stimmen die durch das Erkennungsmodell 130 vorhergesagten Zielbereiche überwiegend mit den tatsächlichen Lungentumorbereichen überein, und es ist möglich, die Zuverlässigkeit des Erkennungsmodells 130 zu bestätigen.
-
Auf diese Weise gewichtet die Verlustfunktion gemäß der Vorrichtung 100 der vorliegenden Ausführungsform beim Verwenden der Verlustfunktion zum Berechnen des Fehlers zwischen einem Ausgangsbild und einem kommentierten Bild die Fehler innerhalb des Bereichs von Interesse stärker als die Fehler außerhalb des Bereichs von Interesse. Aufgrund dessen kann die Vorrichtung 100 (i) den Effekt verstärken, der durch die Bildelemente innerhalb des Bereichs von Interesse versursacht wird, und (ii) den Fehler zwischen dem Ausgangsbild und dem kommentierten Bild berechnen. Das Erkennungsmodell wird dann so aktualisiert, dass der auf diese Weise berechnete Fehler minimiert wird, und daher kann die Vorrichtung 100 das Erkennungsmodell 130 zum Erkennen des Zielbereichs genau erlernen, selbst wenn beispielsweise Fehler im kommentierten Bild enthalten sind. Mit anderen Worten, die Vorrichtung 100 kann das Erkennungsmodell 130 durch schwach überwachtes Lernen erlernen, das die korrekte Klassifizierung von Kennzeichnungen aus Fehler enthaltenden Kennzeichnungen lernt.
-
5 veranschaulicht ein funktionales Blockschaltbild der Vorrichtung 100 gemäß einer Modifikation der vorliegenden Ausführungsform. In der vorliegenden Zeichnung sind Komponenten mit derselben Funktion und Konfiguration wie Komponenten in 1 mit denselben Bezugsziffern versehen, und die folgende Beschreibung enthält nur abweichende Punkte. Die Vorrichtung gemäß der vorliegenden Modifikation umfasst außerdem einen Koordinatenerfassungsabschnitt (coordinate acquiring section) 510 und einen Abschnitt 520 zum Angeben von Bereichen von Interesse (region of interest specifying section).
-
Der Koordinatenerfassungsabschnitt 510 erfasst mindestens eine Koordinate im Eingangsbild. Der Koordinatenerfassungsabschnitt 510 führt die mindestens eine erfasste Koordinate dem Abschnitt 520 zum Angeben von Bereichen von Interesse zu. Dabei kann der Koordinatenerfassungsabschnitt 510 die Koordinate von lediglich einem einzigen Punkt im Eingangsbild oder einen Satz einer Mehrzahl von Koordinaten im Eingangsbild erfassen.
-
Der Abschnitt 520 zum Angeben von Bereichen von Interesse gibt den Bereich von Interesse entsprechend der mindestens einen vom Koordinatenerfassungsabschnitt 510 gelieferten Koordinate an. Dabei kann der Abschnitt 520 zum Angeben von Bereichen von Interesse einen festgelegten Bereich als Bereich von Interesse angeben, wobei die mindestens eine Koordinate als Referenz verwendet wird. Stattdessen oder zusätzlich kann der Abschnitt 520 zum Angeben von Bereichen von Interesse einen Bereich als Bereich von Interesse angeben, dessen Textur der Textur an der mindestens einen Koordinate ähnlich ist. Stattdessen oder zusätzlich kann der Abschnitt 520 zum Angeben von Bereichen von Interesse einen Bereich als Bereich von Interesse angeben, der von einem Satz einer Mehrzahl von Koordinaten umgeben ist. Der Abschnitt 520 zum Angeben von Bereichen von Interesse führt dem Abschnitt 120 zum Erfassen von kommentierten Bildern Informationen zu, die den angegebenen Bereich von Interesse betreffen. Der Abschnitt 120 zum Erfassen von kommentierten Bildern ruft das kommentierte Bild entsprechend dem Bereich von Interesse ab, der vom Abschnitt 520 zum Angeben von Bereichen von Interesse angegeben wurde.
-
6 zeigt ein Beispiel des Angebens eines Bereichs von Interesse durch die Vorrichtung 100 gemäß der vorliegenden Modifikation. Beispielsweise zeigt die Vorrichtung 100 ein Eingangsbild auf einem Bildschirm an und empfängt eine Eingabe, die durch Bearbeitung eines Benutzers (zum Beispiel eines Arztes, eines Tierarztes, eines Laboranten oder eines Studierenden, jedoch ohne auf diese beschränkt zu sein) verursacht wurde. Der Koordinatenerfassungsabschnitt 510 ruft auf der Grundlage der Benutzereingabe mindestens eine Koordinate im Eingangsbild ab, z.B. die Koordinate an der durch das Kreuz gekennzeichneten Stelle, wie im linken Bild der vorliegenden Zeichnung gezeigt. Der Abschnitt 520 zum Angeben von Bereichen von Interesse gibt sodann den Bereich von Interesse als einen festgelegten Bereich mit der mindestens einen Koordinate als Referenz an, z.B. den Bereich (in der Zeichnung weiß dargestellt) in Form einer Ellipse mit einer festgelegten Größe, die auf der Koordinate an der durch das Kreuz angezeigten Stelle zentriert ist, wie in der rechten Abbildung in der vorliegenden Zeichnung gezeigt wird.
-
Das Verfahren zum Angeben des Bereichs von Interesse ist jedoch nicht darauf beschränkt. Wie oben beschrieben kann der Abschnitt 520 zum Angeben von Bereichen von Interesse beispielsweise einen Bereich als Bereich von Interesse angeben, dessen Textur ähnlich der Textur an der durch das Kreuz gekennzeichneten Position ist. Weiterhin beispielhaft kann ein Benutzer eine Bearbeitung ausführen wie etwa das Umschließen eines Teilbereichs in einem Eingangsbild durch eine Mausmanipulation oder dergleichen, und der Koordinatenerfassungsabschnitt 510 kann einen Satz einer Mehrzahl von Koordinaten erfassen, die diesen Bereich umgeben. Der Abschnitt 520 zum Angeben von Bereichen von Interesse kann sodann den Bereich als Bereich von Interesse angeben, der von diesem Satz der Mehrzahl von Koordinaten umgeben ist. Außerdem kann der Abschnitt 520 zum Angeben von Bereichen von Interesse eine Kombination der Mehrzahl von oben beschriebenen Spezifikationsverfahren verwenden. Mit anderen Worten, der Abschnitt 520 zum Angeben von Bereichen von Interesse kann einen Bereich mit einer Textur, die ähnlich der Textur von mindestens einer Koordinate ist, innerhalb eines festgelegten Bereichs unter Verwenden von mindestens einer Koordinate als Referenz als Bereich von Interesse angeben. Alternativ kann der Abschnitt 520 zum Angeben von Bereichen von Interesse einen Bereich als Bereich von Interesse angeben, der eine ähnliche Textur in einem Bereich umfasst, der von einem Satz einer Mehrzahl von Koordinaten umgeben ist.
-
Auf diese Weise gibt die Vorrichtung 100 gemäß der vorliegenden Modifikation grob den Bereich von Interesse an, indem der Benutzer mindestens eine Koordinate im Eingangsbild eingibt. Selbst wenn das kommentierte Bild entsprechend dem auf diese Weise grob angegebenen Bereich von Interesse erfasst wird, d.h. ein kommentiertes Bild, das einen Fehler enthält, wird anschließend gemäß der Vorrichtung 100 der vorliegenden Modifikation die korrekte Klassifizierung von Kennzeichnungen aus den Fehler enthaltenden Kennzeichnungen erlernt, und daher ist es möglich, das Erkennungsmodell 130 zum Erkennen des Zielbereichs genau zu erlernen.
-
7 zeigt ein beispielhaftes Blockschaltbild der Vorrichtung 100 gemäß einer anderen Modifikation der vorliegenden Ausführungsform. In der vorliegenden Zeichnung sind Komponenten mit der gleichen Funktion und Konfiguration wie Komponenten in 5 mit den gleichen Bezugsziffern versehen, und die folgende Beschreibung umfasst nur abweichende Punkte. Die Vorrichtung 100 gemäß der vorliegenden Modifikation umfasst außerdem einen Abschnitt 710 zum Anzeigen von Bereichen von Interesse (region of interest display section) und einen Modifizierungsabschnitt (modifying section) 720.
-
Der Abschnitt 710 zum Anzeigen von Bereichen von Interesse zeigt den Bereich von Interesse an, der vom Abschnitt 520 zum Angeben von Bereichen von Interesse zum Beispiel auf einem Monitor oder dergleichen angegeben wird.
-
Während der Bereich 710 zum Anzeigen von Bereichen von Interesse den Bereich von Interesse anzeigt, empfängt der Modifizierungsabschnitt 720 eine Benutzereingabe und modifiziert den Bereich von Interesse, der vom Abschnitt 520 zum Angeben von Bereichen von Interesse angegeben wird.
-
Auf diese Weise verfügt die Vorrichtung 100 gemäß der vorliegenden Modifikation über eine Funktion, den Bereich von Interesse, der durch den Abschnitt 520 zum Anzeigen von Bereichen von Interesse grob angegeben wurde, anzuzeigen und diesen Bereich von Interesse durch den Benutzer modifizieren zu lassen. Auf diese Weise ist es gemäß der Vorrichtung 100 der vorliegenden Modifikation möglich, eine auf der Erfahrung des Benutzers beruhende Modifikation in dem mechanisch angegebenen Bereich von Interesse widerzuspiegeln und ein kommentiertes Bild mit weniger Fehlern zu erfassen.
-
Die oben beschriebenen Ausführungsformen können zum Beispiel auf folgende Weise modifiziert werden. Beispielsweise umfasst die Vorrichtung 100 eine Mehrzahl von Erkennungsmodellen und ruft eine Mehrzahl kommentierter Bilder ab, in denen die Bereiche von Interesse für dasselbe Eingangsbild so eingestellt sind, dass sie unterschiedliche Bereiche haben. Die Vorrichtung 100 kann sodann jedes aus der Mehrzahl von Erkennungsmodellen unter Verwenden der Mehrzahl von kommentierten Bildern erlernen und einen Bereich als den vom Erkennungsmodell 130 ausgegebenen Zielbereich verwenden, in dem sich die von jedem Erkennungsmodell ausgegebenen Zielbereiche überschneiden. Beispielsweise umfasst die Vorrichtung 100 zwei Erkennungsmodelle und ruft für dasselbe Eingangsbild ein kommentiertes Bild ab, in dem der Bereich von Interesse so eingestellt ist, dass er einen verhältnismäßig weiten Bereich umfasst, und ein kommentiertes Bild, in dem der Bereich von Interesse so eingestellt ist, dass er einen verhältnismäßig engen Bereich umfasst. Die Vorrichtung 100 verwendet sodann das kommentierte Bild, in der der Bereich von Interesse so eingestellt ist, dass er einen verhältnismäßig weiten Bereich umfasst, um eines der Erkennungsmodelle zu erlernen, und verwendet das kommentierte Bild, in dem der Bereich von Interesse so eingestellt ist, dass er einen verhältnismäßig engen Bereich umfasst, um das andere Erkennungsmodell zu erlernen. Ein Bereich, der von beiden Erkennungsmodellen als Zielbereich vorhergesagt wurde, kann dann als der vom Erkennungsmodell 130 ausgegebene Zielbereich verwendet werden.
-
Weiterhin beispielhaft können die oben beschriebenen Ausführungsformen auf folgende Weise modifiziert werden. Wenn der Abschnitt 520 zum Angeben von Bereichen von Interesse beispielsweise den Bereich von Interesse entsprechend mindestens einer Koordinate angibt, kann der Bereich 120 zum Erfassen von kommentierten Bildern das kommentierte Bild entsprechend der mindestens einen Koordinate einstellen. Die obige Beschreibung stellt ein Beispiel für einen Fall dar, in dem der Bereich 120 zum Erfassen von kommentierten Bildern ein kommentiertes Bild erfasst, in dem Bildelemente innerhalb des Bereichs von Interesse mit der Klasse c=1 und die Bildelemente außerhalb des Bereichs von Interesse mit der Klasse c=0 bezeichnet werden. Mit anderen Worten, der Abschnitt 120 zum Erfassen von kommentierten Bildern erfasst ein kommentiertes Bild, in dem alle Bildelemente innerhalb des Bereichs von Interesse mit der gleichen Klasse bezeichnet werden. Der Bereich 120 zum Erfassen von kommentierten Bildern kann jedoch ein kommentiertes Bild erfassen, in dem die Bildelemente innerhalb des Bereichs von Interesse mit Klassen bezeichnet werden, die den Positionen dieser Bildelemente entsprechen. Mit anderen Worten, wenn der Abschnitt 520 zum Angeben von Bereichen von Interesse beispielsweise einen Bereich von Interesse angegeben hat, der auf mindestens einer Koordinate zentriert ist, kann der Bereich 120 zum Erfassen von kommentierten Bildern ein kommentiertes Bild erfassen, in dem das Bildelement an der mindestens einen Koordinate mit der Klasse c=1 bezeichnet wird und andere Bildelemente mit einer Klasse näher an 0 bezeichnet werden, je weiter diese Bildelemente von der mindestens einen Koordinate entfernt sind. Auf diese Weise kann die Vorrichtung 100 die Wirkung von Bildelementen in der Nähe der von einem Benutzer bezeichneten Position, auch innerhalb des Bereichs von Interesse, weiter verstärken, um das Erkennungsmodell zu erlernen.
-
Verschiedene Ausführungsformen der vorliegenden Erfindung können unter Bezugnahme auf Ablaufpläne und Blockschaltbilder beschrieben werden, deren Blöcke (1) Schritte von Prozessen, in denen Arbeitsgänge ausgeführt werden, und (2) Abschnitte von Vorrichtungen darstellen können, die für das Ausführen von Arbeitsgängen vorgesehen sind. Bestimmte Schritte und Abschnitte können durch spezielle Schaltungsanordnungen, programmierbare Schaltungsanordnungen, denen auf computerlesbaren Medien gespeicherte computerlesbare Befehle zugeführt werden, und/oder Prozessoren implementiert werden, denen auf computerlesbaren Medien gespeicherte computerlesbare Befehle zugeführt werden. Zu speziellen Schaltungsanordnungen können digitale und/oder analoge Hardware-Schaltungen und integrierte Schaltkreise (IC) und/oder diskrete Schaltkreise gehören. Zu programmierbaren Schaltungsanordnungen können rekonfigurierbare Hardware-Schaltungen mit logischem UND, ODER, XOR, NAND, NOR und anderen logischen Operationen, Flipflops, Register, Speicherelemente usw. gehören, wie beispielsweise vor Ort programmierbare Gatter-Anordnungen (FPGA), programmierbare Logik-Anordnungen (PLA) usw.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zum Speichern in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwenden eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu individualisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich von selbst, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbaren Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Zwar wurden die Ausführungsformen der vorliegenden Erfindung beschrieben, der technische Schutzumfang der Erfindung ist jedoch nicht auf die oben beschriebenen Ausführungsformen eingeschränkt. Für Fachleute ist ersichtlich, dass an den oben beschriebenen Ausführungsformen verschiedene Änderungen und Verbesserungen vorgenommen werden können. Aus dem Schutzumfang der Ansprüche geht auch hervor, dass die mit solchen Änderungen oder Verbesserungen versehenen Ausführungsformen in den technischen Schutzumfang der Erfindung aufgenommen werden können.
-
Die in den Ansprüchen, Ausführungsformen oder Schaubildern dargelegten Vorgänge, Verfahren, Schritte und Stufen jedes Prozesses, der von einem Gerät, System, Programm und Verfahren ausgeführt wird, können in beliebiger Reihenfolge ausgeführt werden, solange die Reihenfolge nicht durch „bevor“, „vor“ o.ä. angegeben wird und solange die Ausgabe eines vorhergehenden Prozesses nicht in einem späteren Prozess verwendet wird. Selbst wenn der Prozessfluss in den Ansprüchen, Ausführungsformen oder Schaubildern unter Verwenden von Formulierungen wie „erste/r/s“ oder „nächste/r/s“ beschrieben wird, bedeutet dies nicht unbedingt, dass der Prozess in dieser Reihenfolge ausgeführt werden muss.
-
8 zeigt eine beispielhafte Hardware-Konfiguration eines Computers, der zum Ausführen der vorstehenden Arbeitsgänge gemäß einer Ausführungsform der vorliegenden Erfindung konfiguriert ist. Ein in einem Computer 700 installiertes Programm kann den Computer 700 veranlassen, als Vorrichtungen der Ausführungsformen der vorliegenden Erfindung oder eines oder mehrerer Abschnitte (einschließlich Module, Komponenten, Elemente usw.) davon zu funktionieren oder Vorgänge auszuführen, die diesen Vorrichtungen zugehörig sind, und/oder kann den Computer 700 veranlassen, Prozesse der Ausführungsformen der vorliegenden Erfindung oder Schritten von diesen auszuführen. Ein solches Programm kann von einer CPU 700-12 ausgeführt werden, um den Computer 700 zu veranlassen, bestimmte Arbeitsgänge auszuführen, die einigen oder allen Blöcken von hierin beschriebenen Ablaufplänen und Blockschaltbildern zugehörig sind.
-
Der Computer 700 gemäß der vorliegenden Ausführungsform umfasst eine CPU 700-12, einen RAM 700-14, eine Grafiksteuereinheit 700-16 und eine Anzeigeeinheit 700-18, deren gegenseitige Verbindung durch eine Host-Steuereinheit 700-10 hergestellt wird. Der Computer 700 umfasst außerdem Ein/Ausgabe-Einheiten wie etwa eine Kommunikationsschnittstelle 700-22, ein Festplattenlaufwerk 700-24, ein DVD-Laufwerk 700-26 und ein IC-Kartenlaufwerk, die über eine Ein/Ausgabe-Steuereinheit 700-20 mit der Host-Steuereinheit 700-10 verbunden sind. Der Computer umfasst außerdem hinreichend bekannte Ein/Ausgabe-Einheiten wie etwa ein ROM 700-30 und eine Tastatur 700-42, die durch einen Ein/Ausgabe-Chip 700-40 mit der Ein/Ausgabe-Steuereinheit 700-20 verbunden sind.
-
Die CPU 700-12 arbeitet entsprechend im ROM 700-30 und im RAM 700-14 gespeicherten Programmen, wodurch sie jede Einheit steuert. Die Grafiksteuereinheit 700-16 erhält von der CPU 700-12 erzeugte Bilddaten in einem Bildpuffer oder dergleichen, der im RAM 700-14 oder in dieser selbst bereitgestellt wird, und veranlasst, dass die Bilddaten auf der Anzeigeeinheit 700-18 angezeigt werden.
-
Die Kommunikationsschnittstelle 700-22 tauscht über ein Netzwerk 700-50 Daten mit anderen elektronischen Einheiten aus. Das Festplattenlaufwerk 700-24 speichert Programme und Daten, die von der CPU 700-12 im Computer 700 verwendet werden. Das DVD-Laufwerk 700-26 liest die Programme oder die Daten aus dem DVD-ROM 700-01 und stellt die Programme oder die Daten über den RAM 700-14 dem Festplattenlaufwerk 700-24 zur Verfügung. Das IC-Kartenlaufwerk liest Programme und Daten aus einer IC-Karte und/oder schreibt Programm und Daten auf die IC-Karte.
-
Der ROM 700-30 speichert ein Boot-Programm oder dergleichen, das zum Zeitpunkt der Aktivierung vom Computer 700 ausgeführt wird, und/oder ein von der Hardware des Computers 700 abhängiges Programm. Der Ein/Ausgabe-Chip 700-40 kann außerdem Ein/Ausgabe-Einheiten über einen parallelen Anschluss, einen seriellen Anschluss, einen Tastaturanschluss, einen Mausanschluss und dergleichen mit der Ein/Ausgabe-Steuereinheit 700-20 verbinden.
-
Über durch einen Computer lesbare Medien wie etwa den DVD-ROM 700-01 oder die IC-Karte wird ein Programm bereitgestellt. Das Programm wird aus den durch einen Computer lesbaren Medien gelesen, im Festplattenlaufwerk 700-24, im RAM 700-14 oder im ROM 700-30 installiert, die auch Beispiele für durch einen Computer lesbare Medien sind, und von der CPU 700-12 ausgeführt. Die in diesen Programmen beschriebene Datenverarbeitung wird in den Computer 700 gelesen, was zu einer Zusammenarbeit zwischen einem Programm und den oben erwähnten verschiedenen Arten von Hardware-Ressourcen führt. Eine Vorrichtung oder ein Verfahren kann darin bestehen, den Betrieb oder das Verarbeiten von Informationen entsprechend der Nutzung des Computers 700-50 in einem Empfangspufferbereich oder dergleichen zu realisieren, der auf dem Aufzeichnungsmedium bereitgestellt wird.
-
Wenn beispielsweise zwischen dem Computer 700 und einer externen Einheit Daten ausgetauscht werden, kann die CPU 700-12 ein in den RAM 700-14 geladenes Kommunikationsprogramm ausführen, um die Kommunikationsschnittstelle 700-22 auf der Grundlage der im Kommunikationsprogramm beschriebenen Verarbeitung anzuweisen, die Kommunikationsverarbeitung auszuführen. Die Kommunikationsschnittstelle 700-22 liest unter der Steuerung der CPU 700-12 Übertragungsdaten, die in einem Übertragungspufferbereich gespeichert sind, der auf einem Aufzeichnungsmedium wie etwa dem RAM 700-14, dem Festplattenlaufwerk 700-24, dem DVD-ROM 700-01 oder der IC-Karte bereitgestellt wird, und überträgt die gelesenen Übertragungsdaten an das Netzwerk 700-50 oder schreibt aus dem Netzwerk 700-50 empfangene Empfangsdaten in einen Empfangspuffer oder dergleichen, der auf dem Aufzeichnungsmedium bereitgestellt wird.
-
Außerdem kann die CPU 700-12 veranlassen, dass die gesamte oder ein notwendiger Teil einer Datei oder einer Datenbank in den RAM 700-14 gelesen wird, wobei die Datei oder die Datenbank in einem externen Aufzeichnungsmedium wie etwa dem Festplattenlaufwerk 700-24, dem DVD-Laufwerk 700-26 (DVD-ROM 700-01), der IC-Karte usw. gespeichert wurden, und verschiedene Arten von Verarbeitung der Daten im RAM 700-14 ausführen. Anschließend kann die CPU 700-12 die verarbeiteten Daten zurück auf das externe Aufzeichnungsmedium schreiben.
-
Verschiedene Arten von Informationen, beispielsweise verschiedene Arten von Programmen, Daten, Tabellen und Datenbanken, können zur Informationsverarbeitung im Aufzeichnungsmedium gespeichert werden. Die CPU 700-12 kann verschiedene Arten von Verarbeitung mit den aus dem RAM 700-14 gelesenen Daten ausführen, darunter verschiedene Arten von Arbeitsschritten, Verarbeiten von Informationen, Bedingungsbeurteilung, bedingte Verzweigung, unbedingte Verzweigung, Suchen/Ersetzen von Informationen usw., wie in dieser Offenbarung beschrieben und durch eine Befehlsfolge von Programmen bezeichnet wird, und schreibt das Ergebnis zurück in den RAM 700-14. Darüber hinaus kann die CPU 700-12 im Aufzeichnungsmedium nach Informationen in einer Datei, einer Datenbank usw. suchen. Wenn beispielsweise eine Mehrzahl von Einträgen im Aufzeichnungsmedium gespeichert ist, wobei jeder einen Attributwert eines ersten Attributs hat, das mit einem Attributwert eines zweiten Attributs verknüpft ist, kann die CPU 700-12 in der Mehrzahl von Einträgen nach einem Eintrag suchen, der die Bedingung erfüllt, dass dessen Attributwert des ersten Attributs bezeichnet ist, und liest den im Eintrag gespeicherten Attributwert des zweiten Attributs aus, wodurch der Attributwert des zweiten Attributs erhalten wird, das mit dem ersten Attribut verknüpft ist, das die festgelegte Bedingung erfüllt.
-
Die oben erläuterten Programm- oder Software-Module können in den durch einen Computer lesbaren Medien im oder in der Nähe des Computers 700 gespeichert werden. Darüber hinaus kann ein Aufzeichnungsmedium wie etwa eine Festplatte oder ein RAM, der in einem mit einem speziellen Kommunikationsnetz oder dem Internet verbundenen Server-System bereitgestellt wird, als durch einen Computer lesbare Medien verwendet werden, wobei das Programm dem Computer 700 über das Netzwerk bereitgestellt wird.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zum Speichern in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwenden eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA) oder programmierbare Logikanordnungen (PLA) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu individualisieren, um Aspekte der vorliegenden Erfindung auszuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich von selbst, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbaren Programmanweisungen ausgeführt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Zwar wurden die Ausführungsformen der vorliegenden Erfindung beschrieben, der technische Schutzumfang der Erfindung ist jedoch nicht auf die oben beschriebenen Ausführungsformen beschränkt. Für Fachleute ist ersichtlich, dass verschiedene Änderungen und Verbesserungen an den oben beschriebenen Ausführungsformen vorgenommen werden können. Aus dem Schutzumfang der Ansprüche ist außerdem ersichtlich, dass die mit solchen Änderungen oder Verbesserungen versehenen Ausführungsformen in den technischen Schutzumfang der Erfindung aufgenommen werden können.
-
Die in den Ansprüchen, Ausführungsformen oder Schaubildern dargelegten Vorgänge, Verfahren, Schritte und Stufen jedes Prozesses, der von einem Gerät, System, Programm und Verfahren ausgeführt wird, können in beliebiger Reihenfolge ausgeführt werden, solange die Reihenfolge nicht durch „bevor“, „vor“ o.ä. angegeben wird und solange die Ausgabe eines vorhergehenden Prozesses nicht in einem späteren Prozess verwendet wird. Selbst wenn der Prozessfluss in den Ansprüchen, Ausführungsformen oder Schaubildern unter Verwenden von Formulierungen wie „erste/r/s“ oder „nächste/r/s“ beschrieben wird, bedeutet dies nicht unbedingt, dass der Prozess in dieser Reihenfolge ausgeführt werden muss.