DE202015009137U1 - Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern - Google Patents

Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern Download PDF

Info

Publication number
DE202015009137U1
DE202015009137U1 DE202015009137.7U DE202015009137U DE202015009137U1 DE 202015009137 U1 DE202015009137 U1 DE 202015009137U1 DE 202015009137 U DE202015009137 U DE 202015009137U DE 202015009137 U1 DE202015009137 U1 DE 202015009137U1
Authority
DE
Germany
Prior art keywords
viewport
viewports
potential
prospective
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202015009137.7U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202015009137U1 publication Critical patent/DE202015009137U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Abstract

System zur Auswahl von Ansichtsfenstern, das System Folgendes umfassend: eines oder mehrere Computergeräte, zu Folgendem konfiguriert: eine Anforderung für ein bestimmtes Bild zu empfangen; einen Satz an potenziellen Ansichtsfenstern innerhalb des bestimmten Bildes zu identifizieren, worin jedes potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern ein Unterabschnitt des bestimmten Bildes ist; Merkmale innerhalb jedes potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern zu identifizieren; eine Punktzahl für jedes angegebene potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern zu berechnen, basierend zumindest teilweise auf einem Gewichtungsvektor, der über einen Satz an Merkmalgewichtungen und die identifizierten Merkmale innerhalb des angegebenen potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern verfügt; ein Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern auf Basis der berechneten Punktzahlen auszuwählen; und das ausgewählte Ansichtsfenster und das bestimmte Bild als Antwort auf die Anfrage bereitzustellen.

Description

  • VERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung bezieht sich auf die U.S.-Patentanmeldung Nr. 14/317,639, eingereicht am 27. Juni 2014, deren Offenbarung hierin als Verweis aufgenommen ist.
  • HINTERGRUND
  • Unterschiedliche Systeme stellen Benutzern Bilder unterschiedlicher Standorte zur Verfügung. Einige Systeme stellen Benutzern Panoramabilder oder Panoramabilder mit einem allgemein erweiterten Sichtbereich zur Verfügung. Panoramabilder können beispielsweise ein Bild oder eine Sammlung von Bildern beinhalten, die über einen Sichtbereich verfügen, der weiter als der des menschlichen Auges ist, z. B. 180 Grad oder weiter. Einige Panoramabilder können auch eine 360-Grad-Sicht eines Standortes bereitstellen.
  • KURZDARSTELLUNG
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen. Aspekte der Offenbarung beschreiben ein computerimplementiertes Verfahren für die Auswahl von Ansichtsfenstern, bei denen ein Ansichtsfenster einen Teilabschnitt eines Bildes darstellt. Das Verfahren beinhaltet den Empfang einer Anfrage für ein bestimmtes Bild durch eines oder mehrere Computergeräte; das Identifizieren eines Satzes an potenziellen Ansichtsfenstern innerhalb des bestimmten Bildes durch eines oder mehrere Computergeräte; das Identifizieren von Merkmalen innerhalb der Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern durch eines oder mehrere Computergeräte; das durch eines oder mehrere Computergeräte durchgeführte Berechnen einer Punktzahl für jedes angegebene Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern, basierend zumindest teilweise auf einem Gewichtungsvektor, der über einen Satz an Merkmalgewichtungen und den identifizierten Merkmalen innerhalb des angegebenen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern verfügt; die Auswahl eines Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern auf der Basis der berechneten Punktzahl von einem oder mehreren Computergeräten; und das Bereitstellen des ausgewählten Ansichtsfensters und des jeweiligen Bildes als Antwort auf die Anfrage durch eines oder mehrere Computergeräte.
  • In einem Beispiel beinhaltet das Verfahren auch den Empfang eines Satzes an Trainingspanoramabildern. Mindestens eines der Trainingspanoramabilder des Satzes wird mit Informationen in Verbindung gebracht, die ein interessantestes Ansichtsfenster in diesem Panoramabild identifizieren. In dieser Hinsicht beinhaltet das Verfahren vor dem Berechnen der Punktzahl für jedes Ansichtsfenster auch das Verwenden des Satzes an Trainingspanoramabildern als Trainingsdatensatz, um die Merkmalgewichtungen der Gewichtungsvektoren feinzusteuern. Darüber hinaus oder alternativ dazu beinhaltet das Verfahren auch das Identifizieren eines potenziellen Ansichtsfensters mindestens dieses einen Panoramabildes, das sich mit mindestens einem Abschnitt des interessantesten Ansichtsfensters überschneidet und das potenzielle Ansichtsfenster mindestens dieses einen Panoramabildes, das sich mit mindestens dem Abschnitt des interessantesten Ansichtsfensters überschneidet, wird ferner als Trainingsdatensatz verwendet, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. In diesem Beispiel beinhaltet das Verfahren das Identifizieren eines potenziellen Ansichtsfensters des mindestens einen Panoramabildes, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet und ferner die Verwendung das potenziellen Ansichtsfensters des mindestens eines Panoramabildes, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet, als Trainingsdatensatz, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. Darüber hinaus oder alternativ dazu beinhaltet das Verfahren auch das Identifizieren eines zweiten Satzes an potenziellen Ansichtsfenstern für jedes Panoramabild des Satzes an Panoramabildern. Jedes gegebene potenzielle Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern wird hier jeweils mit Informationen in Verbindung gebracht, die das gegebene potenzielle Ansichtsfenster nicht als das interessanteste Ansichtsfenster für ein entsprechendes Panoramabild des gegebenen potenziellen Ansichtsfensters identifizieren. Das Verfahren beinhaltet auch das Verarbeiten jedes Ansichtsfensters des zweiten Satzes an potenziellen Ansichtsfenstern, um Merkmale zu identifizieren und ferner die Verwendung der identifizierten Merkmale in jedem Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern als Trainingsdatensatz, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  • In einem anderen Beispiel beinhaltet die Anfrage Informationen, die ein Seitenverhältnis des Ansichtsfensters identifizieren, und das Identifizieren des Satzes an potenziellen Ansichtsfenstern basiert ferner auf einem Seitenverhältnis. In einem anderen Beispiel ist die Anfrage nach dem Ansichtsfenster ein Teil der Anfrage nach den Suchergebnissen und das Verfahren beinhaltet auch die Auswahl eines Ansichtsfensters eines zweiten Panoramabildes basierend auf dem Gewichtungsvektor sowie das Bereitstellen des ausgewählten Ansichtsfensters des zweiten Panoramabildes mit dem ausgewählten Ansichtsfenster und einem Satz an Suchergebnissen.
  • Ein weiterer Aspekt der Offenbarung stellt ein System zum Auswählen von Ansichtsfenstern bereit, bei dem ein Ansichtsfenster einen Teilabschnitt des Bildes darstellt. Das System beinhaltet eines oder mehrere Computergeräte, die konfiguriert sind, um eine Anfrage für ein bestimmtes Bild zu empfangen; einen Satz an potenziellen Ansichtsfenstern innerhalb des bestimmten Bildes zu identifizieren; Merkmale innerhalb der Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern zu identifizieren; eine Punktzahl für jedes gegebene Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern basierend zumindest teilweise auf einem Gewichtungsvektor zu berechnen, der über einen Satz an Merkmalgewichtungen und identifizierten Figuren innerhalb dieses angegebenen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern verfügt; die Auswahl eines Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern basierend auf der berechneten Punktzahl; und das Bereitstellen des ausgewählten Ansichtsfensters und des bestimmten Bildes als Antwort auf die Anfrage.
  • In einem Beispiel sind das eine oder die mehreren Computergeräte auch konfiguriert, um einen Satz an Trainingspanoramabildern zu empfangen. Mindestens eines der Trainingspanoramabilder des Satzes wird mit Informationen in Verbindung gebracht, die ein interessantestes Ansichtsfenster in diesem Panoramabild identifizieren. In dieser Hinsicht sind eines oder mehrere Computergeräte konfiguriert, um vor dem Berechnen der Punktzahl jedes Ansichtsfensters den Satz an Trainingspanoramabildern als Trainingsdaten zu verwenden, um die Merkmalgewichtungen des Merkmalvektors feinzusteuern. In diesem Beispiel sind eines oder mehrere Computergeräte ferner konfiguriert, um ein potenzielles Ansichtsfenster mindestens dieses einen Panoramabildes zu identifizieren, das sich mit mindestens einem Abschnitt des interessantesten Ansichtsfensters überschneidet, und das potenzielle Ansichtsfenster des mindestens einen Ansichtsfensters, das sich mit mindestens dem Abschnitt des interessantesten Ansichtsfensters überschneidet, wird ferner als Trainingsdatensatz verwendet, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. Darüber hinaus oder alternativ dazu werden das eine oder die mehreren Computergeräte ferner konfiguriert, um ein potenzielles Ansichtsfenster des mindestens einen Panoramabildes zu identifizieren, das sich vollständig mit dem interessantesten Ansichtsfenster überschneidet und das Ansichtsfenster des mindestens einen Panoramabildes, das sich vollständig mit dem interessantesten Ansichtsfenster überschneidet, wird ferner als Trainingsdatensatz verwendet, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. Darüber hinaus oder alternativ dazu werden das eine oder die mehreren Computergeräte ferner konfiguriert, um einen zweiten Satz an potenziellen Ansichtsfenstern für jedes Panoramabild des Satzes an Panoramabildern zu identifizieren. Jedes gegebene potenzielle Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern wird hier jeweils mit Informationen in Verbindung gebracht, die das gegebene potenzielle Ansichtsfenster nicht als das interessanteste Ansichtsfenster für ein entsprechendes Panoramabild des gegebenen potenziellen Ansichtsfensters identifizieren. Das eine oder die mehreren Computergeräte werden auch konfiguriert, um jedes Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern zu verarbeiten, um Merkmale zu identifizieren und die in jedem Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern identifizierten Merkmale werden ferner als Trainingsdatensatz verwendet, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  • In einem anderen Beispiel beinhaltet die Anfrage Informationen, die ein Seitenverhältnis des Ansichtsfensters identifizieren, und das Identifizieren des Satzes an potenziellen Ansichtsfenstern basiert ferner auf dem Seitenverhältnis. In einem weiteren Beispiel ist die Anfrage nach einem Ansichtsfenster Teil einer Anfrage nach Suchergebnissen und das eine oder die mehreren Computergeräte werden auch konfiguriert, um ein Ansichtsfenster eines zweiten Panoramabildes auf Basis des Gewichtungsvektors auszuwählen, und um das zweite Ansichtsfenster des zweiten Panoramabildes mit dem ausgewählten Ansichtsfenster und einem Satz an Suchergebnissen bereitzustellen.
  • Ein weiterer Aspekt der Offenbarung stellt ein nicht transitorisches computerlesbares Speichermedium bereit, auf dem computerlesbare Anweisungen eines Programms gespeichert werden. Wenn die Anweisungen von einem Prozessor ausgeführt werden, veranlassen Sie den Prozessor dazu, ein Verfahren zum Auswählen von Ansichtsfenstern durchzuführen, bei dem ein Ansichtsfenster einen Unterabschnitt eines Bildes darstellt. Das Verfahren beinhaltet den Empfang einer Anfrage nach einem bestimmten Bild; das Identifizieren eines Satzes an potenziellen Ansichtsfenstern innerhalb des bestimmten Bildes; das Identifizieren von Merkmalen innerhalb des Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern; das Berechnen einer Punktzahl für jedes gegebene Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern, basierend zumindest teilweise auf einem Gewichtungsvektor mit einem Satz an Merkmalgewichtungen und den identifizierten Merkmalen innerhalb des gegebenen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern; die Auswahl eines Ansichtsfensters aus dem Satz an potenziellen Ansichtsfenstern basierend auf der berechneten Punktzahl; und das Bereitstellen des ausgewählten Ansichtsfensters und des bestimmten Bildes als Antwort auf die Anfrage.
  • In einem Beispiel beinhaltet das Verfahren auch den Empfang eines Satzes an Trainingspanoramabildern. Mindestens eines der Trainingspanoramabilder des Satzes wird mit Informationen in Verbindung gebracht, die ein interessantestes Ansichtsfenster in diesem Panoramabild identifizieren. In dieser Hinsicht beinhaltet das Verfahren vor dem Berechnen der Punktzahl für jedes Ansichtsfenster auch das Verwenden des Satzes an Trainingspanoramabildern als Trainingsdatensatz, um die Merkmalgewichtungen der Gewichtungsvektoren feinzusteuern. Darüber hinaus oder alternativ dazu beinhaltet das Verfahren auch das Identifizieren eines potenziellen Ansichtsfensters mindestens dieses einen Panoramabildes, das sich mit mindestens einem Abschnitt des interessantesten Ansichtsfensters überschneidet und das potenzielle Ansichtsfenster mindestens dieses einen Panoramabildes, das sich mit mindestens dem Abschnitt des interessantesten Ansichtsfensters überschneidet, wird ferner als Trainingsdatensatz verwendet, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. In diesem Beispiel beinhaltet das Verfahren das Identifizieren eines potenziellen Ansichtsfensters des mindestens einen Panoramabildes, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet und ferner die Verwendung das potenziellen Ansichtsfensters des mindestens eines Panoramabildes, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet, als Trainingsdatensatz, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern. Darüber hinaus oder alternativ dazu beinhaltet das Verfahren auch das Identifizieren eines zweiten Satzes an potenziellen Ansichtsfenstern für jedes Panoramabild des Satzes an Panoramabildern. Jedes gegebene potenzielle Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern wird hier jeweils mit Informationen in Verbindung gebracht, die das gegebene potenzielle Ansichtsfenster nicht als das interessanteste Ansichtsfenster für ein entsprechendes Panoramabild des gegebenen potenziellen Ansichtsfensters identifizieren. Das Verfahren beinhaltet auch das Verarbeiten jedes Ansichtsfensters des zweiten Satzes an potenziellen Ansichtsfenstern, um Merkmale zu identifizieren und ferner die Verwendung der identifizierten Merkmale in jedem Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern als Trainingsdatensatz, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  • In einem anderen Beispiel beinhaltet die Anfrage Informationen, die ein Seitenverhältnis des Ansichtsfensters identifizieren, und das Identifizieren des Satzes an potenziellen Ansichtsfenstern basiert ferner auf einem Seitenverhältnis. In einem anderen Beispiel ist die Anfrage nach dem Ansichtsfenster ein Teil der Anfrage nach den Suchergebnissen und das Verfahren beinhaltet auch die Auswahl eines Ansichtsfensters eines zweiten Panoramabildes basierend auf dem Gewichtungsvektor sowie das Bereitstellen des ausgewählten Ansichtsfensters des zweiten Panoramabildes mit dem ausgewählten Ansichtsfenster und einem Satz an Suchergebnissen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Funktionsdiagramm eines Beispielsystems gemäß den Aspekten der vorliegenden Offenbarung.
  • 2 ist ein Bilddiagramm des Beispielsystems aus 1.
  • 3 ist ein Beispiel eines Trainingsdatensatzes gemäß den Aspekten dieser Offenbarung.
  • 4 ist ein Beispiel eines Trainingsdatensatzes und der zugehörigen hervorstechenden Ansichtsfenster gemäß den Aspekten der Offenbarung.
  • 5 ist ein Beispiel eines Trainingsdatensatzes und eines Sliding-Window-Algorithmus gemäß den Aspekten der Offenbarung.
  • 6 ist ein Beispiel möglicher Ansichtsfenster, die sich entweder teilweise oder vollständig mit hervorstechenden Ansichtsfenstern überschneiden.
  • 7 ist ein Flussdiagramm gemäß Aspekten der Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • ÜBERSICHT
  • Die Technologie betrifft das automatische Identifizieren und Präsentieren von hervorstechenden Unterabschnitten von Bildern, wie etwa Panoramabildern, die von Benutzern höchstwahrscheinlich als interessant oder attraktiv empfunden werden. Als ein Beispiel kann ein System Panoramabilder auswählen, die dem Benutzer eines Computergeräts präsentiert werden. Aufgrund der Schwierigkeit, ein gesamtes Panoramabild auf einmal ohne Störungen anzuzeigen, könnte das System einen Unterabschnitt des Panoramabildes auswählen, das auf dem Client-Computergerät angezeigt werden soll. Wie oben bemerkt, kann ein Unterabschnitt eines Bildes (z. B. ein Bereich des Bildes, der nicht die Gesamtanzahl der Pixel des Bildes beinhaltet) oder ein „Ansichtsfenster” aufgrund seiner wahrscheinlich im Vergleich zu anderen Unterabschnitten desselben Bildes hohen Ausgeprägtheit ausgewählt werden. Für den Benutzer kann somit der Eindruck entstehen, dass das System Bilder automatisch zurecht schneidet, um lediglich ihre interessantesten Bereiche wiederzugeben.
  • Um einen Unterabschnitt zu wählen, kann einem Modell beigebracht werden, einen Trainingsdatensatz zu verwenden. Diese Trainingsdaten könnten einen Satz an Panoramabildern beinhalten, unter denen mindestens einige der Panoramabilder mit Informationen in Verbindung gebracht werden, die ein Ansichtsfenster des Panoramabildes identifizieren, das von einem Betreiber als das interessanteste betrachtet wurde. Als ein Beispiel kann ein Betreiber eine Person sein, die das Panoramabild aufgenommen hat, oder einfach jemand, der das Bild bearbeitet hat. In diesem Zusammenhang kann eine Person ein Ansichtsfenster auswählen, indem sie beispielsweise ein Rechteck oder eine sonstige Form identifiziert, die ihrer Ansicht nach die interessantesten Details des Panoramabildes enthält. In einigen Beispielen kann die Form ein bestimmtes Seitenverhältnis (z. B. m Pixel mal n Pixel) aufweisen, obwohl verschiedene andere Größen ebenfalls verwendet werden können. In einigen Beispielen können die Trainingsdaten auch Ansichtsfenster beinhalten, die ein Betreiber als am wenigsten interessant identifiziert hat, obwohl eine derartige Eingabe nicht unbedingt erforderlich ist.
  • Die Trainingsdaten können verarbeitet werden, um die Panoramen in eine Anzahl möglicher Ansichtsfenster zu teilen, einschließlich derjenigen, die als interessant und derjenigen, die als nicht interessant identifiziert werden. Zum Beispiel kann ein Sliding-Window-Algorithmus dazu verwendet werden, um jedes mögliche Ansichtsfenster zu identifizieren, sofern spezifische Dimensionen für ein Ansichtsfenster gegeben sind. In einigen Fällen kann dies Ansichtsfenster beinhalten, die als am wenigsten interessant identifiziert wurden. Die Ansichtsfenster, die als nicht interessant identifiziert wurden, können alle die gleiche Größe aufweisen (z. B. m Pixel mal n Pixel). In diesem Zusammenhang können mindestens einige der möglichen Ansichtsfenster sich komplett oder teilweise mit denjenigen Ansichtsfenstern überschneiden, die als interessant identifiziert wurden.
  • Die Trainingsdaten können dann z. B. als Eingabe für das maschinelle Lernen verwendet werden, um einen Gewichtungsvektor auszugeben. Computerbildverarbeitungstechniken können beispielsweise verwendet werden, um Merkmale von möglichen Ansichtsfenstern zu extrahieren. Exemplarische Merkmale können Farben, Formen, Objekte, Beschaffenheit, Ansichtsfenstergröße, und -standort, Merkmalkombinationen, usw. beinhalten. Der Gewichtungsvektor kann eine Reihe von Gewichtungen für jedes der aus den möglichen Ansichtsfenstern extrahierten Merkmale beinhalten. Die Gewichtungen identifizieren, wie interessant dieser bestimmte Merkmaltyp ist. In diesem Zusammenhang können Trainingsdaten verwendet werden, um den Gewichtungsfaktor feinzusteuern.
  • Der Gewichtungsvektor kann dann verwendet werden, um interessante Abschnitte der Bilder angesichts eines bestimmten Seitenverhältnisses zu identifizieren. Es kann wieder ein Sliding-Window-Algorithmus verwendet werden, um mögliche Ansichtsfenster zu identifizieren. Jedes mögliche Ansichtsfenster kann dann verarbeitet werden, um Merkmale zu identifizieren und einen Merkmalvektor zu generieren. Der Gewichtungsvektor kann dann verwendet werden, um dem Merkmalvektor Punkte zu verleihen. Das Ansichtsfenster, das über den Merkmalvektor mit dem höchsten Punkteanteil verfügt, kann als das interessanteste Ansichtsfenster identifiziert werden. Eine ähnliche Berechnung kann verwendet werden, um das interessanteste Ansichtsfenster zu ermitteln, das zwischen jeder Anzahl von Bildern über ein bestimmtes Seitenverhältnis verfügt. In einigen Fallen kann diese Berechnung unter Verwendung einer Non-Maximum-Suppression verbessert werden.
  • Somit kann der Gewichtungsvektor verwendet werden, um nicht nur zu ermitteln welche Bilder Benutzern präsentiert werden sollen, sondern auch welche Abschnitte dieser Bilder dem Benutzer angezeigt werden sollen. Die oben beschriebenen Merkmale können beispielsweise verwendet werden, um zu bestimmen, wie ein gegebenes Bild als Teil eines Satzes von Suchergebnissen, als Teil eines Satzes von Miniaturansichten interessanter Bilder im Zusammenhang mit einer Karte anzuzeigen ist, die auf dem mobilen Gerät eines Benutzers (z. B., ein Tablett oder ein Telefon) oder in einem Webbrowser, usw. angezeigt wird.
  • Während die oben beschriebenen Merkmale in Bezug zu Panoramabildern verdeutlicht werden, können dieselben Techniken verwendet werden, um hervorstechende Abschnitte von Bildern zu identifizieren, die keine Panoramabilder sind. In dieser Hinsicht können die Trainingsdaten auch Bilder beinhalten, die keine Panoramabilder sind und die mit Informationen im Zusammenhang stehen, die sowohl das interessanteste Ansichtsfenster identifizieren als auch Bilder, die keine Panoramabilder sind, und die nicht mit derartigen Informationen in Verbindung stehen.
  • Wie oben bemerkt, ermöglicht der Gewichtungsvektor eine Bestimmung des interessantesten Ansichtsfensters eines beliebigen Bildes. Das System muss eigentlich keine bestimmten Objekte im Bild identifizieren oder eine Karte mit herausragenden Stellen für jedes Bild generieren, um dies zu erzielen.
  • BEISPIELSYSTEME
  • 1 und 2 beinhalten ein Beispielsystem 100, in welchem die vorstehend beschriebenen Merkmale implementiert sein können. Dieses soll nicht als den Umfang der Offenbarung oder Nützlichkeit der hierin beschriebenen Merkmale einschränkend betrachtet werden. In diesem Beispiel kann System 100 Berechnungsvorrichtungen 110, 120, 130 und 140 sowie ein Speichersystem 150 beinhalten. Computergerät 110 kann einen oder mehr Prozessoren 112, Speicher 114 und andere Komponenten enthalten, die typischerweise in Universal-Computergeräten vorliegen. Speicher 114 von Computergerät 110 kann Informationen speichern, die von Prozessor 112 abgerufen werden können, einschließlich Anweisungen 116, die durch den Prozessor 112 ausgeführt werden können.
  • Speicher kann außerdem Daten 118 enthalten, die durch den Prozessor abgerufen, manipuliert oder gespeichert werden können. Bei dem Speicher kann es sich um einen nicht transitorischen Speicher handeln, der in der Lage ist, Informationen zu speichern, auf die der Prozessor zugreifen kann, wie etwa eine Festplatte, eine Speicherkarte, ROM, RAM, DVD, CD-ROM, beschreibbare Speicher und Read-Only-Speicher.
  • Die Anweisungen 116 können ein beliebiger Satz von Anweisungen sein, die direkt, wie Maschinencode, oder indirekt, wie Skripte, durch den Prozessor ausgeführt werden können. Diesbezüglich können die Begriffe „Anweisungen”, „Schritte” und „Programme” hierin austauschbar verwendet sein. Die Anweisungen können in Objektcodeformat zur direkten Verarbeitung durch den Prozessor oder in jeder anderen Computergerätsprache, die Skripte oder Sammlungen von unabhängigen Quellcode-Modulen beinhaltet, die auf Anforderung interpretiert oder vorab kompiliert werden. Funktionen, Verfahren und Routinen der Anweisungen werden unten ausführlicher erklärt.
  • Daten 118 können gemäß den Anweisungen 116 durch Prozessor 112 abgerufen, gespeichert oder modifiziert werden. Beispielsweise können, obwohl der hierin beschriebene Gegenstand nicht durch eine beliebige bestimmte Datenstruktur beschränkt ist, die Daten in Computerregistern, als Tabelle, die viele verschiedene Felder und Datensätze aufweist, oder XML-Dokumenten gespeichert werden. Die Daten können außerdem in einem beliebigen computergerätlesbaren Format wie, aber nicht beschränkt auf, Binärwerte, ASCII oder Unicode formatiert sein. Des Weiteren können die Daten beliebige Informationen umfassen, die ausreichend sind, um die relevanten Informationen zu identifizieren, wie Zahlen, beschreibenden Text, proprietäre Codes, Zeiger, Referenzen auf Daten, die in anderen Speichern wie anderen Netzwerkstandorten gespeichert sind, oder Informationen, die von einer Funktion verwendet werden, um die relevanten Daten zu berechnen, umfassen.
  • Der eine oder die mehreren Prozessoren 112 können jeden herkömmlichen Prozessor, wie eine im Handel erhältliche CPU, beinhalten. Alternativ kann der Prozessor eine dedizierte Komponente wie ein ASIC oder ein anderer hardwarebasierter Prozessor sein. Obwohl nicht notwendig, können Computergeräte 110 spezialisierte Hardwarekomponenten beinhalten, um spezifische Rechenprozesse wie Decodieren von Video, Abgleichen von Videoframes mit Bildern, Verzerren von Videos, Codieren verzerrter Videos usw. schneller und effizienter durchzuführen.
  • Obwohl 1 funktionsmäßig den Prozessor, Speicher und andere Elemente von Computergerät 110 als im gleichen Block befindlich darstellt, können der Prozessor, Computer, Computergerät oder Speicher tatsächlich mehrere Prozessoren, Computer, Computergeräte oder Speicher umfassen, die innerhalb desselben physischen Gehäuses gelagert sein können. Der Speicher kann beispielsweise eine Festplatte oder anderes Speichermedium sein, das sich in einem Gehäuse befindet, das anders als das von Computergeräten 110 ist. Dementsprechend werden Referenzen auf einen Prozessor, Computer, Computergerät oder Speicher so verstanden, als sie Referenzen auf eine Sammlung von Prozessoren, Computern, Computergeräten oder Speichern beinhalten, die parallel arbeiten können oder nicht. Die Computergeräte 110 können beispielsweise Server-Computergeräte beinhalten, die als eine lastverteilende Serverfarm arbeiten. Weiterhin, obwohl einige nachstehend beschriebenen Funktionen als auf einem einzigen Computergerät, das einen einzigen Prozessor aufweist, stattfindend beschrieben sind, können verschiedene Aspekte des hierin beschriebenen Gegenstandes durch mehrere Computergeräte implementiert werden, beispielsweise Weitergabe von Informationen über ein Netzwerk 160.
  • Die Computergeräte 110 können an verschiedenen Knoten des Netzwerks 160 und imstande sein, direkt und indirekt mit anderen Knoten des Netzwerks 160 zu kommunizieren. Obwohl in den 12 nur einige Computergeräte abgebildet sind, versteht es sich von selbst, dass ein typisches System eine große Anzahl an miteinander verbundenen Computergeräten beinhalten kann, wobei sich jedes einzelne Computergerät an einem unterschiedlichen Knoten des Netzwerks 160 befindet. Das Netzwerk 160 und dazwischenliegende Knoten, die hierin beschrieben sind, können unter Verwendung verschiedener Protokolle und Systeme vernetzt sein, sodass das Netzwerk Teil des Internets, Word Wide Web, spezifischer Intranets, Langstreckennetze oder lokaler Netzwerke sein kann. Das Netzwerk kann Standardkommunikationsprotokolle, wie Ethernet, WLAN und HTTP, Protokolle, die proprietär für eine oder mehrere Unternehmen sind, und verschiedene Kombinationen der vorstehenden nutzen. Obwohl bestimmte Vorteile erzielt werden, wenn Informationen wie oben beschrieben übertragen oder empfangen werden, sind andere Aspekte des hierin beschriebenen Gegenstands nicht auf eine bestimmte Art der Übertragung von Informationen beschränkt.
  • Als ein Beispiel können Computergeräte 110 einen oder mehrere Webserver beinhalten, die in der Lage sind, mit Speichersystem 150 sowie Computergeräten 120, 130 und 140 über das Netzwerk zu kommunizieren. Server-Computergeräte 110 können beispielsweise Netzwerke 160 verwenden, um einem Benutzer, wie etwa Benutzer 220, 230, oder 240 Informationen auf einem Display, wie etwa Displays 122, 132, oder 142, der Computergeräte 120, 130 oder 140 zu übermitteln oder zu präsentieren. Diesbezüglich können Computergeräte 120, 130 und 140 als Client-Computergeräte erachtet werden und können alle oder einige der nachstehend beschriebenen Funktionalitäten durchführen.
  • Alle Client-Computergeräte können, wie vorstehend beschrieben, auf ähnliche Weise wie die Server-Computergeräte 110 mit einem oder mehreren Prozessoren, einem Speicher und Anweisungen konfiguriert werden. Bei jedem Client-Computergerät 120, 130 oder 140 kann es sich um einen zur Verwendung durch einen Benutzer 220, 250, 250 vorgesehenen Personal-Computer handeln, die über sämtliche Komponenten verfügt, die normalerweise mit einem Personal-Computer in Verbindung gebracht werden, wie etwa eine zentrale Recheneinheit (CPU), ein Speicher (z. B. RAM und interne Festplatten), der Daten und Anweisungen speichert, ein Display, wie etwa Displays 122, 132, oder 142 (z. B. ein Monitor, der über einen Bildschirm, einen Touchscreen, einen Projektor, einen Fernseher und eine sonstige Vorrichtung verfügt, die betrieben werden können, um Informationen anzuzeigen), und ein Benutzereingabegerät 124 (z. B. eine Maus, eine Tastatur, einen Touchscreen oder ein Mikrofon). Das Client-Computergerät kann außerdem eine Kamera zum Aufnehmen von Videostreams, Lautsprecher, eine Netzwerkschnittstellenvorrichtung und alle der Komponenten, die zum Verbinden dieser Elemente miteinander verwendet werden, beinhalten.
  • Obwohl die Client-Computergeräte 120, 130 und 140 jeweils ein persönliches Computergerät in voller Größe umfassen können, können sie alternativ mobile Computergeräte umfassen, die fähig sind, Daten drahtlos über ein Netzwerk wie das Internet mit einem Server auszutauschen. Nur exemplarisch kann ein Client-Computergerät 120 ein Mobiltelefon oder eine Vorrichtung wie ein funkfähiger PDA, ein Tablet-PC oder ein Netbook sein, die in der Lage sind, Informationen über das Internet abzurufen. In einem anderen Beispiel kann Client-Computergerät 130 ein am Kopf befestigtes Computersystem sein. Als ein Beispiel kann der Benutzer Informationen unter Verwendung einer kleinen Tastatur, eines Tastenfeldes, Mikrofons, unter Verwendung visueller Signale mit einer Kamera oder eines Touchscreens eingeben.
  • Das Speichersystem 150 kann Bilder speichern. Mindestens einige dieser Bilder können Panoramabilder, wie etwa die oben beschriebenen, beinhalten, die über einen Sichtbereich verfügen, der größer als der des menschlichen Auges ist, z. B. 180° oder größer. Neben Bildern kann das Speichersystem 150 auch Informationen speichern, die mit denjenigen Bildern, wie etwa Ansichtsfenstern oder Unterabschnitten der ausgewählten Bilder in Verbindung gebracht werden, die, wie weiter unten näher beschrieben, hervorstechen. Die Informationen zu den Ansichtsfenstern können gespeichert werden, sodass sie verwendet werden können, um eine bestimmte Teilmenge an Pixeln eines Bildes zu identifizieren, und um nur diese Teilmenge an Pixeln anzuzeigen.
  • Neben Bildern kann das Speichersystem 150 auch ein Modell und Trainingsdaten speichern, die verwendet werden können, um das Modell zu aktualisieren oder zu generieren. In einigen Beispielen kann das Modell einen Gewichtungsvektor beinhalten und die Trainingsdaten können sowohl einen Satz an Bildern als auch Unterabschnitte oder Ansichtsfenster dieser Bilder beinhalten, die, wie weiter unten näher beschrieben, als hervorstechend oder interessant identifiziert wurden. Während die hierin beschriebenen Merkmale in Bezug zu Panoramabildern verdeutlicht werden, können dieselben Techniken verwendet werden, um hervorstechende Abschnitte von Bildern, die keine Panoramabilder sind, zu identifizieren. In dieser Hinsicht können Trainingsdaten auch Bilder beinhalten, bei denen es sich um keine Panoramabilder handelt und die mit Informationen in Verbindung gebracht werden, die sowohl hervorstechende Ansichtsfenster als auch Bilder identifizieren, bei denen es sich um keine Panoramabilder handelt, und die nicht mit derartigen Informationen in Verbindung gebracht werden.
  • Speichersystem 150 kann, wie Speicher 114 auch, jede Art eines rechnergestützten Speichers, der fähig ist, Informationen zu speichern, die von Server 110 abgerufen werden können, sein, wie eine Festplatte, Speicherkarte, ROM, RAM, DVD, CD-ROM, beschreibbare und ausschließlich lesbare Speicher. Zusätzlich kann Speichersystem 150 ein verteiltes Speichersystem sein, wobei Daten auf mehreren verschiedenen Speichervorrichtungen gespeichert werden, die sich physisch an demselben oder unterschiedlichen geografischen Standorten befinden können. Wie in 1 gezeigt, kann das Speichersystem 150 über das Netzwerk 160 mit den Computergeräten verbunden werden und/oder kann direkt mit allen Computergeräten 110140 (nicht dargestellt) verbunden werden bzw. in dieselben integriert werden.
  • BEISPIELVERFAHREN
  • Wie oben bemerkt, kann das Modell zur Auswahl von Ansichtsfenstern unter Verwendung des Trainingsdatensatzes des Speichersystems 150 trainiert werden. Wie oben bemerkt können diese Trainingsdaten einen Satz an Bildern, wie etwa die in 3 dargestellten Panoramabilder, beinhalten. Exemplarische Trainingsdaten 300 beinhalten zwei Panoramabilder 302 und 322. Diese Panoramabilder können an unterschiedlichen Standorten, Daten und Zeiten aufgenommen worden sein.
  • Mindestens einige der Sätze an Trainingsdaten können mit Informationen zur Identifizierung eines Ansichtsfensters oder Unterabschnitts des Bildes in Verbindung gebracht werden, die als interessant erachtet werden. Etwas Interessantes ist oft Geschmackssache und kann zumindest am Anfang von einem menschlichen Bediener manuell bestimmt werden, indem dieser sich die Bilder ansieht und einen Unterabschnitt des Bildes auswählt. Als ein Beispiel kann ein Bediener eine Person sein, die das Panoramabild aufgenommen hat, oder die sich das Bild einfach nur angesehen hat. In diesem Zusammenhang kann eine Person ein Ansichtsfenster auswählen, indem sie beispielsweise ein Rechteck oder eine sonstige Form identifiziert, die ihrer Ansicht nach die interessantesten Details des Panoramabildes enthält. Dies kann unter Verwendung einer Anwendung oder eines anderen Computertools zum Auswählen oder Zeichnen des Ansichtsfensters und zum Senden dieser Informationen an einen oder mehrere Server-Computergeräte 110 erzielt werden, sodass sie in dem Speichersystem 150 als Teil des Satzes an Trainingsdaten gespeichert werden. In einigen Beispielen kann die Form über bestimmte Dimensionen oder ein bestimmtes Seitenverhältnis (z. B. m Pixel×n Pixel) verfügen, obwohl auch unterschiedliche andere Größen verwendet werden können.
  • 4 ist ein Beispiel 400 von Trainingsdaten 300, die das hervorstechende Ansichtsfenster 402, das mit Panoramabild 302 in Verbindung gebracht wird und das hervorstechende Ansichtsfenster 422, das mit Panoramabild 322 in Verbindung gebracht wird, beinhalten. Jedes hervorstechende Ansichtsfenster kann mit einer Kennzeichnung in Verbindung gebracht werden, die das Ansichtsfenster als hervorstechend identifiziert. Wie oben bemerkt, können diese hervorstechenden Ansichtsfenster von einem Bediener identifiziert werden. In diesem Beispiel verfügen beide Ansichtsfenster 402 und 422 ungefähr über dieselbe Größe (z. B. Form und Anzahl der Pixel). Wie oben bemerkt, können jedoch auch viele andere Formen und Größen verwendet werden. In dieser Hinsicht können die Abmessungen oder Seitenverhältnisse der Ansichtsfenster 402 und 422 eigentlich unterschiedlich ausfallen.
  • In einigen Beispielen können die Trainingsdaten auch Ansichtsfenster beinhalten, die ein Bediener als am wenigsten interessant identifiziert hat, obwohl eine derartige Eingabe vielleicht nicht erforderlich ist. Ansichtsfenster 422 kann von einem Bediener beispielsweise als das uninteressanteste oder am wenigsten hervorstechende Ansichtsfenster im Panoramabild 322 identifiziert worden sein, während Ansichtsfenster 402 von einem Bediener als das hervorstechendste Ansichtsfenster im Panoramabild 302 ausgewählt worden ist. Wieder können die Ansichtsfenster eine bestimmte Größe und eine bestimmte Form aufweisen, sodass für ein gegebenes Bild das herausstechendste Ansichtsfenster einer ersten Größe sich vom herausstechendsten Ansichtsfenster einer zweiten Größe unterscheidenden kann (vollkommen, teilweise, oder ohne jegliche Überschneidungen), die sich von der ersten Größe unterscheidet.
  • Die Trainingsdaten können verarbeitet werden, um die Panoramabilder in eine Anzahl an möglichen Ansichtsfenstern zu teilen. Wie aus Beispiel 500 der 5 ersichtlich, kann ein Sliding-Window-Algorithmus, der beispielsweise über feste Abmessungen verfügt (wie etwa m mal n Pixel), verwendet werden, um jedes mögliche Ansichtsfenster zu identifizieren. Sliding-Window-Algorithmen 502 und 522 können beispielsweise um Panoramabilder 302 und 322 herumbewegt werden, um einen Satz an möglichen Ansichtsfenstern für jedes Bild zu identifizieren. Diese möglichen Ansichtsfenster können sich, je nach der Anzahl und Größe der möglichen Ansichtsfenster im Satz, entweder überschneiden oder nicht überschneiden.
  • Wie in Beispiel 600 der 6 ersichtlich, können sich die möglichen Ansichtsfenster teilweise oder vollständig mit den Ansichtsfenstern überschneiden, die von den Bedienern als hervorstechend identifiziert werden. Das mögliche Ansichtsfenster 602 überschneidet sich beispielsweise nur teilweise mit dem hervorstechenden Ansichtsfenster 402. Das mögliche Ansichtsfenster 622 überschneidet sich vollständig mit dem hervorstechenden Ansichtsfenster 422. Da das mögliche Ansichtsfenster 622 jedoch größer als das herausstechende Ansichtsfenster 422 ausfällt, kann das mögliche Ansichtsfenster 622 zusätzliche Merkmale des Panoramabildes 322 beinhalten. In diesem Zusammenhang können die Abmessungen der möglichen Ansichtsfenster dieselben sein oder sich von den Abmessungen aller hervorstechenden Ansichtsfenster unterscheiden. Diese möglichen Ansichtsfenster können dann mit einem Kennzeichen identifiziert werden, das angibt, dass die möglichen Ansichtsfenster nicht herausstechend sind. Falls die Abmessungen der möglichen und herausstechenden Ansichtsfenster gleich sind, können das mögliche Ansichtsfenster und das herausstechende Ansichtsfenster darüber hinaus in einigen Fällen identisch sein oder sich auf perfekte Weise überschneiden. In einem derartigen Beispiel können mögliche Ansichtsfenster mit einer Kennzeichnung in Verbindung gebracht werden, die angibt, dass es sich beim möglichen Ansichtsfenster um ein herausstechendes Ansichtsfenster handelt. Ähnliche Beispiele können auch für nicht herausstechende Ansichtsfenster verwendet werden.
  • Die Trainingsdaten, einschließlich der Bilder, möglichen Ansichtsfenster, herausstechenden Ansichtsfenster und Kennzeichnungen können dann als Eingabe für das maschinelle Lernen verwendet werden, um einen Gewichtungsvektor auszugeben. Computerbildverarbeitungstechniken, wie etwa diejenigen, die Histogramme unterschiedlicher Merkmale oder globale Deskriptoren verwenden, können zur Anwendung kommen, um Merkmale von möglichen Ansichtsfenstern zu extrahieren. Exemplarische Merkmale können Farben, Formen, Objekte, Beschaffenheit, Ansichtsfenstergrößen und -standorte, Kombinationen der Merkmale, usw. beinhalten.
  • Wie oben bemerkt, kann der Gewichtungsvektor eine Reihe an Gewichtungen für jedes der aus den möglichen Ansichtsfenstern extrahierten Merkmale beinhalten. In dieser Hinsicht kann es sich bei dem Gewichtungsvektor um einen Vektor reellwertiger Zahlen handeln, wie zum Beispiel: W ⇀ = [0, .789, –1.42, 0, 0, .207, –.389]. Die Dimensionalität des Vektors oder die Gesamtanzahl der Werte des Vektors kann der Anzahl an zu betrachtenden Merkmalen entsprechen.
  • Die Gewichtungen können identifizieren, wie hervorstechend oder interessant eine bestimmte Art von Merkmal ist, mit anderen Worten ausgedrückt, je höher die Gewichtung, desto interessanter. Merkmale, die Teile von Ansichtsfenstern mit einer hervorstechenden Kennzeichnung sind, verfügen somit über eine höhere Wahrscheinlichkeit, im Gewichtungsvektor mit einer höheren Gewichtung versehen zu werden. Dementsprechend werden die Trainingsdaten verwendet, um den Gewichtungsvektor feinzusteuern. Da maschinelles Lernen verwendet wird, kann der Gewichtungsvektor im Laufe der Zeit feingesteuert werden, sodass sobald neue Bilder, potenzielle Ansichtsfenster, hervorstechende Ansichtsfenster, und Kennzeichnungen zu den Trainingsdaten hinzugefügt werden, der Gewichtungsvektor auf Basis der aktualisierten Trainingsdaten noch weiter feingesteuert wird.
  • Der Gewichtungsvektor kann dann verwendet werden, um in jedem Bild ein hervorstechendes Ansichtsfenster zu identifizieren. Wie bei den Trainingsdaten können individuelle Bilder des Speichersystems 150 verarbeitet werden, um einen Satz an möglichen Ansichtsfenstern zu identifizieren. Wieder kann ein Sliding-Window-Algorithmus von m mal n Pixel verwendet werden, um mögliche Ansichtsfenster des Satzes zu identifizieren. Um Merkmale zu identifizieren, kann jedes mögliche Ansichtsfenster dann beispielsweise unter Verwendung der oben beschriebenen Computeransichtsverarbeitung verarbeitet werden. Diese Merkmale können zu einem Merkmalvektor kombiniert werden, der Werte aufführt, die repräsentieren, welche Merkmale in einem bestimmten möglichen Ansichtsfenster identifiziert wurden, beispielsweise F ⇀ = [0.89, –0.34, 0, 1.28, 0, –1.89, 0.25]. Dieser Merkmalvektor kann die tatsächliche Verteilung von Merkmalen im Ansichtsfenster enthalten. Die Gewichtungen des Gewichtungsvektors können dann verwendet werden, um eine Punktzahl für die Merkmalvektoren für jedes der möglichen Ansichtsfenster des Satzes zu berechnen, beispielsweise durch das Ermitteln eines Skalarproduktes zwischen dem Merkmal und den Gewichtungsvektoren. In einigen Fällen kann diese Berechnung unter Verwendung einer Non-Maximum-Suppression verbessert werden. Das Ansichtsfenster, das über den Merkmalvektor mit der höchsten Punktzahl oder das Skalarprodukt mit dem höchsten Wert zwischen dem Merkmalvektor für dieses Ansichtsfenster und dem Gewichtungsvektor verfügt, (W ⇀·F ⇀), kann als das hervorstechende Ansichtsfenster identifiziert werden.
  • Eine ähnliche Berechnung kann verwendet werden, um das interessanteste Ansichtsfenster zu ermitteln, das über unterschiedliche Abmessungen verfügt bzw. unterschiedliche Seitenverhältnisse aufweist. In dieser Hinsicht kann es ein standardmäßiges Seitenverhältnis für bestimmte Arten von Bildern geben, beispielsweise ausgehend davon, ob es sich bei dem Bild um ein Panoramabild handelt (z. B. der Sichtbereich) bzw. auf Basis der Anzahl von Pixeln im Bild. Wenn ein Benutzer (oder ein anforderndes Client-Computergerät) ein hervorstechendes Ansichtsfenster anfordert, das über bestimmte Abmessungen verfügt oder dessen spezifisches Seitenverhältnis sich vom Standardwert unterscheidet, können die Abmessungen der Ansichtsfenster des Satzes an möglichen Ansichtsfenstern ausgewählt werden, um diesen spezifischen Abmessungen zu entsprechen. Wieder kann sich das hervorstechendste Ansichtsfenster für ein gegebenes Bild vollkommen von unterschiedlichen Abmessungen für Ansichtsfenster unterscheiden.
  • Sobald das hervorstechendste Ansichtsfenster für ein gegebenes Bild, wie oben beschrieben, identifiziert wurde, kann das hervorstechendste Ansichtsfenster mit dem gegebenen Bild in Verbindung gebracht werden und diese Verbindung kann im Speicher, wie etwa im Speichersystem 150, gespeichert werden. In dieser Hinsicht können als Antwort auf eine von einem oder mehreren Server-Computergeräten 110 empfangene Anforderung zum Abrufen eines Bildes, beispielsweise zur Anzeige für einen Benutzer auf dem Client-Computergerät, das hervorstechendste Ansichtsfenster mit dem angeforderten Bild sowie das Bild für das Client-Computergerät bereitgestellt werden. Sobald das hervorstechendste Ansichtsfenster abgerufen wurde, kann es dem Benutzer auf dem Client-Computergerät angezeigt werden, sodass der Benutzer nur dieses Ansichtsfenster oder den Unterabschnitt des Bildes sieht, das dem hervorstechendsten Ansichtsfenster entspricht. Dies kann sich als besonders nützlich erweisen, wenn es sich bei dem Bild um ein Panoramabild oder ein Bild mit einem weiten Sichtbereich von beispielsweise über 90 Grad handelt. Als ein Beispiel können die hervorstechendsten Ansichtsfenster verwendet werden, um einen Satz an Bildsuchergebnissen anzuzeigen, sodass ein oder mehrere Bilder der Suchergebnisse unter Verwendung eines damit in Verbindung stehenden hervorstechendsten Ansichtsfenster angezeigt werden. Als weiteres Beispiel kann das hervorstechendste Ansichtsfenster verwendet werden, um diese Bilder anzuzeigen, wenn ein Satz an Bildern mit einer Karte in Beziehung steht, die auf einem Client-Computergerät angezeigt wird.
  • Alternativ kann das hervorstechendste Ansichtsfenster in Echtzeit identifiziert werden, anstatt das hervorstechendste Ansichtsfenster zu identifizieren und die Informationen im Speicher zum Abruf in Antwort auf eine Anfrage nach einem Bild zu speichern. In dieser Hinsicht können das eine oder die mehreren Server-Computergeräte als Antwort auf eine Anfrage nach einem oder mehreren Bildern, wie etwa eine Bildsuchanfrage von einem Client-Computergerät, eines oder mehrere in Frage kommende Bilder identifizieren und dann diese Bilder verarbeiten, um das hervorstechendste Ansichtsfenster zu identifizieren. Somit können eines oder mehrere relevante Bilder an die anfragenden Client-Computergeräte zusammen mit Informationen zur Identifizierung aller hervorstechendsten Ansichtsfenster dieses einen oder dieser mehreren Bilder gesendet werden, die auf dem Client-Computergerät angezeigt werden sollen.
  • Flussdiagramm 700 aus 7 ist ein Beispiel einiger der vorstehend beschriebenen Aspekte, die durch einen oder mehrere Prozessoren auf einem Client-Computergerät und/oder einem oder mehreren Server-Computergeräten durchgeführt werden, wie vorstehend angemerkt. Bei Block 702 wird beispielsweise ein Satz von Panoramabildern empfangen. Mindestens eines der Panoramabilder des Satzes wird mit Informationen in Verbindung gebracht, die in diesem Panoramabild ein interessantestes Ansichtsfenster identifizieren. Der Satz an Panoramabildern wird als Trainingsdatensatz verwendet, um einen Gewichtungsvektor, der an Block 704 über einen Satz an Merkmalgewichtungen verfügt, feinzusteuern. Dieser Gewichtungsvektor wird dann für eine spätere Verwendung bei Block 706 gespeichert. Diese Schritte können sich wiederholen, während zusätzliche Panoramabilder zum Satz hinzugefügt werden.
  • Bei Block 708 wird eine Anforderung zur Auswahl eines Ansichtsfensters für ein bestimmtes Panoramabild empfangen. Ein Satz an potenziellen Ansichtsfenstern wird innerhalb des bestimmten Panoramabildes identifiziert, und Merkmale werden innerhalb der Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern bei Block 710 identifiziert. Eine Punktzahl wird dann für jedes angegebene Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern berechnet, basierend zumindest teilweise auf dem gespeicherten Gewichtungsvektor und den identifizierten Merkmalen innerhalb dieses angegebenen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern bei Block 712. Wieder verfügt der gespeicherte Gewichtungsvektor über einen Satz an Merkmalgewichtungen, die als Teil der Berechnung verwendet werden. Ein Ansichtsfenster wird von einem Satz an potenziellen Ansichtsfenstern auf der Basis der berechneten Punktzahl bei Block 714 ausgewählt. Dieses ausgewählte Ansichtsfenster kann beispielsweise über die höchste berechnete Punktzahl des Satzes an potenziellen Ansichtsfenstern verfügen. Das ausgewählte Ansichtsfenster wird dann als Antwort auf die Anfrage nach der Auswahl des Ansichtsfensters für das bestimmte Bild bei Block 716 bereitgestellt.
  • Die meisten der vorstehenden alternativen Beispiele schließen sich nicht gegenseitig aus, können aber in unterschiedlichen Kombinationen implementiert werden, um charakteristische Vorteile zu erzielen. Auch wenn diese und andere Variationen und Kombinationen der oben beschriebenen Merkmale verwendet werden können, ohne von dem in den Ansprüchen definierten Gegenstand abzuweichen, ist die vorstehende Beschreibung der Ausführungsformen nur als Veranschaulichung und nicht als Einschränkung des in den Ansprüchen definierten Gegenstands anzusehen. Beispielsweise muss bei der Durchführung der vorhergehenden Operationen nicht die genaue oben beschriebene Reihenfolge eingehalten werden. Stattdessen können unterschiedliche Schritte in unterschiedlicher Reihenfolge oder simultan durchgeführt werden. Sofern nicht anderweitig angegeben, können auch Schritte ausgelassen werden. Darüber hinaus darf die Angabe der hierin beschriebenen Beispiele und Klauseln, die mit Begriffen wie etwa „zum Beispiel”, „einschließlich” und dergleichen formuliert werden, nicht als Einschränkung des Gegenstands der Ansprüche auf diese spezifischen Beispiele interpretiert werden, da die Beispiele lediglich dazu dienen, eine der vielen möglichen Ausführungsformen zu veranschaulichen. Ferner können dieselben Referenznummern in unterschiedlichen Zeichnungen dieselben oder ähnliche Elemente identifizieren.
  • INDUSTRIELLE ANWENDBARKEIT
  • Die vorliegende Offenbarung kann verwendet werden, um hervorstechende Unterabschnitte von Bildern automatisch zu identifizieren und zu präsentieren, wie etwa Panoramabilder, die von Benutzern höchstwahrscheinlich als interessant oder attraktiv empfunden werden.

Claims (13)

  1. System zur Auswahl von Ansichtsfenstern, das System Folgendes umfassend: eines oder mehrere Computergeräte, zu Folgendem konfiguriert: eine Anforderung für ein bestimmtes Bild zu empfangen; einen Satz an potenziellen Ansichtsfenstern innerhalb des bestimmten Bildes zu identifizieren, worin jedes potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern ein Unterabschnitt des bestimmten Bildes ist; Merkmale innerhalb jedes potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern zu identifizieren; eine Punktzahl für jedes angegebene potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern zu berechnen, basierend zumindest teilweise auf einem Gewichtungsvektor, der über einen Satz an Merkmalgewichtungen und die identifizierten Merkmale innerhalb des angegebenen potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern verfügt; ein Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern auf Basis der berechneten Punktzahlen auszuwählen; und das ausgewählte Ansichtsfenster und das bestimmte Bild als Antwort auf die Anfrage bereitzustellen.
  2. System nach Anspruch 1, worin eines oder mehrere Computergeräte ferner zu Folgendem konfiguriert sind: einen Satz an Trainingspanoramabildern zu empfangen, worin mindestens eines der Trainingspanoramabilder des Satzes mit Informationen in Verbindung gebracht werden, die das interessanteste Ansichtsfenster in diesem Panoramabild identifizieren; und vor dem Berechnen der Punktzahl für jedes Ansichtsfenster, den Satz an Trainingspanoramabildern als Trainingsdatensatz zu nutzen, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  3. System nach Anspruch 2, worin die einen oder mehreren Computergeräte ferner konfiguriert sind, um: ein potenzielles Ansichtsfenster des mindestens einen Panoramabildes zu identifizieren, das sich mit mindestens einem Abschnitt des interessantesten Ansichtsfensters überschneidet, und worin das potenzielle Ansichtsfenster des mindestens einen Panoramabildes, das sich mit mindestens dem Abschnitt des interessantesten Ansichtsfensters überschneidet, ferner als Trainingsdatensatz verwendet wird, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  4. System nach Anspruch 2, worin die einen oder mehreren Computergeräte ferner konfiguriert sind, um: ein potenzielles Ansichtsfenster des mindestens einen Panoramabildes zu identifizieren, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet, und worin das potenzielle Ansichtsfenster des mindestens einen Panoramabildes, das sich mit dem interessantesten Ansichtsfenster vollständig überschneidet, ferner als Trainingsdatensatz verwendet wird, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  5. System nach Anspruch 2, worin die einen oder mehreren Computergeräte ferner konfiguriert sind, um: einen zweiten Satz an potenziellen Ansichtsfenstern für jedes Panoramabild des Satzes an Panoramabildern zu identifizieren, worin jedes angegebene potenzielle Panoramabild des zweiten Satzes an potenziellen Panoramabildern jeweils mit Informationen in Verbindung gebracht wird, die das angegebene potenzielle Ansichtsfenster nicht als das interessanteste Ansichtsfenster für ein entsprechendes Panoramabild des angegebenen potenziellen Ansichtsfensters identifizieren; jedes potenzielle Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern zu verarbeiten, um Merkmale zu identifizieren; worin die in jedem potenziellen Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern identifizierten Merkmale des Weiteren als Trainingsdatensatz verwendet werden, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  6. System nach Anspruch 1, worin: die Anforderung Informationen beinhaltet, die ein Seitenverhältnis des Ansichtsfensters identifizieren; und das Identifizieren des Satzes an potenziellen Ansichtsfenstern des Weiteren auf dem Seitenverhältnis basiert.
  7. System nach Anspruch 1, worin die Anforderung des Ansichtsfensters Teil einer Anforderung von Ergebnissen ist und wobei eines oder mehrere Computergeräte ferner zu Folgendem konfiguriert sind: ein Ansichtsfenster eines zweiten Panoramabildes auf Basis des Gewichtungsvektors auszuwählen; und das ausgewählte Ansichtsfensters des zweiten Panoramabildes mit dem ausgewählten Ansichtsfenster und einem Satz an Suchergebnissen bereitzustellen.
  8. Speichermedium, nicht transitorisch, computerlesbar, in dem computerlesbare Anweisungen eines Programms gespeichert werden, wobei die Anweisungen, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, ein Verfahren für die Auswahl von Ansichtsfenstern auszuführen, das Verfahren Folgendes umfassend: den Empfang einer Anforderung für ein bestimmtes Bild; das Identifizieren eines Satzes an potenziellen Ansichtsfenstern innerhalb eines bestimmten Bildes mittels eines oder mehrerer Computergeräte, worin jedes potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern einen Unterabschnitt des jeweiligen Bildes darstellt; das Identifizieren von Merkmalen innerhalb jedes potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern; das Berechnen einer Punktzahl für jedes gegebene potenzielle Ansichtsfenster des Satzes an potenziellen Ansichtsfenstern, basierend zumindest teilweise auf einem Gewichtungsvektor, der über einen Satz an Merkmalgewichtungen und die identifizierten Merkmale innerhalb des angegebenen potenziellen Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern verfügt; die Auswahl eines Ansichtsfensters des Satzes an potenziellen Ansichtsfenstern auf Basis der berechneten Punktzahlen; und das Bereitstellen ausgewählter Ansichtsfenster und das bestimmte Bild als Antwort auf die Anfrage.
  9. Medium nach Anspruch 8, worin das Verfahren weiterhin Folgendes umfasst: den Empfang eines Satzes an Trainingspanoramabildern, worin mindestens eines der Trainingspanoramabilder des Satzes mit Informationen in Verbindung gebracht wird, die das interessanteste Ansichtsfenster in diesem Panoramabild identifizieren; und das Verwenden des Satzes an Trainingspanoramabildern als Trainingsdatensatz vor dem Berechnen der Punktzahl für jedes Ansichtsfenster, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  10. Medium nach Anspruch 8, worin das Verfahren weiterhin Folgendes umfasst: das Identifizieren eines potenziellen Ansichtsfensters des mindestens einen Panoramabildes, das sich mit mindestens einem Abschnitt des interessantesten Ansichtsfensters überschneidet, und worin das potenzielle Ansichtsfenster des mindestens einen Panoramabildes, das sich mit mindestens dem Abschnitt des interessantesten Ansichtsfensters überschneidet, ferner als Trainingsdatensatz verwendet wird, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  11. Medium nach Anspruch 8, worin das Verfahren weiterhin Folgendes umfasst: das Identifizieren eines zweiten Satzes an potenziellen Ansichtsfenstern für jedes Panoramabild des Satzes an Panoramabildern, worin jedes angegebene potenzielle Panoramabild des zweiten Satzes an potenziellen Panoramabildern jeweils mit Informationen in Verbindung gebracht wird, die das angegebene potenzielle Ansichtsfenster nicht als das interessanteste Ansichtsfenster für ein entsprechendes Panoramabild des angegebenen potenziellen Ansichtsfensters identifizieren; das Verarbeiten jedes potenziellen Ansichtsfensters des zweiten Satzes an potenziellen Ansichtsfenstern, um Merkmale zu identifizieren; worin die in jedem potenziellen Ansichtsfenster des zweiten Satzes an potenziellen Ansichtsfenstern identifizierten Merkmale des Weiteren als Trainingsdatensatz verwendet werden, um die Merkmalgewichtungen des Gewichtungsvektors feinzusteuern.
  12. Medium nach Anspruch 8, worin: die Anforderung des Ansichtsfensters Informationen beinhaltet, die ein Seitenverhältnis des Ansichtsfensters identifizieren; und das Identifizieren des Satzes an potenziellen Ansichtsfenstern des Weiteren auf dem Seitenverhältnis basiert.
  13. Medium nach Anspruch 8, worin die Anforderung des Ansichtsfensters Teil einer Anforderung von Ergebnissen ist und wobei das Verfahren des Weiteren Folgendes umfasst: die Auswahl eines Ansichtsfensters eines zweiten Panoramabildes auf der Basis des Gewichtungsvektors; und das Bereitstellen des ausgewählten Ansichtsfensters des zweiten Panoramabildes mit dem ausgewählten Ansichtsfenster und einem Satz an Suchergebnissen.
DE202015009137.7U 2014-06-27 2015-06-23 Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern Active DE202015009137U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/317,639 US9569498B2 (en) 2014-06-27 2014-06-27 Using image features to extract viewports from images
US14/317,639 2014-06-27

Publications (1)

Publication Number Publication Date
DE202015009137U1 true DE202015009137U1 (de) 2016-11-04

Family

ID=53539929

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202015009137.7U Active DE202015009137U1 (de) 2014-06-27 2015-06-23 Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern

Country Status (5)

Country Link
US (1) US9569498B2 (de)
EP (1) EP3161726A1 (de)
CN (1) CN106462768B (de)
DE (1) DE202015009137U1 (de)
WO (1) WO2015200304A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US9715638B1 (en) * 2015-12-31 2017-07-25 Nokia Technologies Oy Method and apparatus for identifying salient subimages within a panoramic image
US10841557B2 (en) * 2016-05-12 2020-11-17 Samsung Electronics Co., Ltd. Content navigation
CN107888987B (zh) * 2016-09-29 2019-12-06 华为技术有限公司 一种全景视频播放方法及装置
US11636572B2 (en) 2016-12-29 2023-04-25 Nokia Technologies Oy Method and apparatus for determining and varying the panning speed of an image based on saliency
US10237614B2 (en) * 2017-04-19 2019-03-19 Cisco Technology, Inc. Content viewing verification system
US10417276B2 (en) * 2017-05-15 2019-09-17 Adobe, Inc. Thumbnail generation from panoramic images
CN112559887B (zh) * 2020-12-25 2023-09-05 北京百度网讯科技有限公司 全景图与兴趣点挂接的方法及构建全景图推荐模型的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPM701394A0 (en) * 1994-07-22 1994-08-18 Monash University A graphical display system
US8683519B2 (en) * 2007-09-26 2014-03-25 At&T Intellectual Property I, L.P. Favorites mosaic
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
WO2012132237A1 (ja) * 2011-03-31 2012-10-04 パナソニック株式会社 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム
US20130035853A1 (en) * 2011-08-03 2013-02-07 Google Inc. Prominence-Based Generation and Rendering of Map Features
US8750613B2 (en) 2011-12-13 2014-06-10 The Nielsen Company (Us), Llc Detecting objects in images using color histograms
US8898150B1 (en) * 2012-09-10 2014-11-25 Google Inc. Collecting image search event information

Also Published As

Publication number Publication date
US20150379086A1 (en) 2015-12-31
CN106462768A (zh) 2017-02-22
WO2015200304A1 (en) 2015-12-30
EP3161726A1 (de) 2017-05-03
US9569498B2 (en) 2017-02-14
CN106462768B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
DE202015009137U1 (de) Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern
DE112016001830T5 (de) Das Entdecken von Unternehmen aus Bildern
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE112017006406T5 (de) Intelligentes automatisches zuschneiden von bildern
DE112017002799T5 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE202014010922U1 (de) Erzeugung von Tiefenkarten
DE102016010868A1 (de) Suchen unter Verwendung von in Bildern gefundenen spezifischen Attributen
DE102016010744A1 (de) Modifizieren von zumindest einem Attribut von einem Bild mit zumindest einem Attribut, das von einem anderen Bild extrahiert wurde
EP2691934B1 (de) Phantombilddatenbank (3d)
DE202016006008U1 (de) Automatische Erkennung von Panoramagesten
DE112007001789B9 (de) Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE202016006110U1 (de) Erweiterung des Sichtfeldes von Fotografie
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE112019001175T5 (de) Visuelles Feedback zum Prozesszustand
DE112014001658T5 (de) Nachverfolgungsverarbeitungsvorrichtung und Nachverfolgungsverarbeitungssystem, das damit ausgestattet ist, und Nachverfolgungsverarbeitungsverfahren
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE112008000017T5 (de) Abbilden von Bildern mit Gestaltbeschreibern
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
DE102019007796A1 (de) Einsetzen eines der Detektion kritischer Kanten dienenden neuronalen Netzwerkes und eines geometrischen Modells zum Bestimmen von Kameraparametern aus einem einzigen Digitalbild
DE102018003475A1 (de) Formbasierte Grafiksuche
DE112016001039T5 (de) Vorrichtung und Verfahren zur Extraktion eines interessierenden Bereichs
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06T0001000000

Ipc: G06K0009320000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009320000

Ipc: G06V0030146000

R152 Utility model maintained after payment of third maintenance fee after eight years