DE102020125197A1 - Feinkörnige objektsegmentierung in video mit tiefen merkmalen und graphischen mehrebenenmodellen - Google Patents

Feinkörnige objektsegmentierung in video mit tiefen merkmalen und graphischen mehrebenenmodellen Download PDF

Info

Publication number
DE102020125197A1
DE102020125197A1 DE102020125197.1A DE102020125197A DE102020125197A1 DE 102020125197 A1 DE102020125197 A1 DE 102020125197A1 DE 102020125197 A DE102020125197 A DE 102020125197A DE 102020125197 A1 DE102020125197 A1 DE 102020125197A1
Authority
DE
Germany
Prior art keywords
segmentation
superpixel
bounding rectangle
pixel
color
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.)
Pending
Application number
DE102020125197.1A
Other languages
English (en)
Inventor
Manan Goel
Anthony Rhodes
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102020125197A1 publication Critical patent/DE102020125197A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Techniken erörtert, die auf die automatische Segmentierung eines Videoframes in Bereiche eines feinkörnigen Objekts von Interesse und eines Hintergrunds unter Verwendung einer Bodenwirklichkeits-Segmentierung eines Objekts in einem vorhergehenden Frame bezogen sind. Derartige Techniken wenden mehrere Ebenen der Segmentierungsverfolgung und -vorhersage basierend auf der Farbe, der Form und der Bewegung der Segmentierung an, um die Objektwahrscheinlichkeiten pro Pixel zu bestimmen, und lösen ein Energiesummationsmodell, um unter Verwendung der Objektwahrscheinlichkeiten eine endgültige Segmentierung für den Videoframe zu erzeugen.

Description

  • HINTERGRUND
  • Die feinkörnige Objektsegmentierung in einem Video, die auch als semantische Segmentierung charakterisiert werden kann, ist eine wichtige Aufgabe in einer großen Anzahl von visuellen Arbeitsabläufen, einschließlich Rotoskopie und „Inpainting“ in der Filmindustrie und in verwandten Industrien. Eine derartige feinkörnige Objektsegmentierung steht vielen Herausforderungen gegenüber, einschließlich Videodaten, die von Natur aus viele Typen von Transformationen und Deformationen enthalten (z. B. nichtlineare Bewegung, Drehung, Einschluss, Helligkeitsänderungen, Perspektivenvariation usw.), die eine genaue Segmentierung schwierig machen. Weiterhin benötigen Graphikkünstler für die Verwendung durch professionelle Videobearbeitungsanwendungen eine Segmentierung mit sehr hoher Wiedergabetreue in jedem Frame.
  • Die aktuellen feinkörnigen Objektsegmentierungstechniken werden oft von Hand oder teilweise von Hand ausgeführt (z. B. manuelles Klicken, manuelle Spline-Korrektur, manuelles Farb-„Seeding“ usw.) und sind außergewöhnlich arbeitsintensiv und erfordern Dutzende oder sogar Hunderte von manuellen Operationen pro Frame. Es gibt ein anhaltendes Interesse, eine automatisierte und verbesserte dichte feinkörnige Objektsegmentierung bereitzustellen. Hinsichtlich dieser und anderer Überlegungen sind die gegenwärtigen Verbesserungen benötigt worden. Derartige Verbesserungen können entscheidend werden, wenn der Wunsch, eine feinkörnige Objektsegmentierung in Video auszuführen, verbreiteter wird.
  • Figurenliste
  • Das hier beschriebene Material ist in den beigefügten Figuren beispielhaft und nicht einschränkend veranschaulicht. Für die Einfachheit und Klarheit der Veranschaulichung sind die in den Figuren veranschaulichten Elemente nicht unbedingt maßstabsgetreu gezeichnet. Die Abmessungen einiger Elemente können z. B. bezüglich anderer Elemente für die Klarheit übertrieben sein. Wo es als angemessen erachtet wurde, sind ferner die Bezugszeichen zwischen den Figuren wiederholt worden, um entsprechende oder analoge Elemente anzugeben; es zeigen:
    • 1 ein beispielhaftes System für die feinkörnige Segmentierung in einem Video;
    • 2 einen beispielhaften Videoframe eines Eingangsvideos, das ein Objekt für die Segmentierung enthält;
    • 3 eine beispielhafte Bodenwirklichkeits-Segmentierung eines Objekts in einem beispielhaften Videoframe;
    • 4 eine beispielhaften Zwillingsverfolger zum Bestimmen von Begrenzungsrechtecken für nachfolgende Videoframes;
    • 5 ein beispielhaftes neuronales Faltungsnetz zur Implementierung in einem Zwillingsverfolger;
    • 6 ein beispielhaftes Farbmischungsmodell-Modul zum Erzeugen farbbasierter Wahrscheinlichkeiten;
    • 7 eine beispielhafte Abstandstransformation, wie sie durch ein Abstandstransformationsmodul auf eine beispielhafte binäre Formschätzung angewendet wird, um eine beispielhafte schwache Formschätzung zu erzeugen;
    • 8 ein beispielhaftes Energieminimierungsmodell-Modul und einen beispielhaften Energieminimierungsmodell-Löser;
    • 9 ein beispielhaftes Superpixel für ein beispielhaftes Begrenzungsrechteck;
    • 10 eine beispielhafte resultierende Segmentierung von Videoframes;
    • 11 einen Ablaufplan, der einen beispielhaften Prozess zum Bereitstellen einer Segmentierung in einem Video veranschaulicht;
    • 12 eine veranschaulichende graphische Darstellung eines beispielhaften Systems zum Bereitstellen einer Segmentierung in einem Video;
    • 13 eine veranschaulichende graphische Darstellung eines beispielhaften Systems; und
    • 14 eine beispielhafte Vorrichtung, die alle in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Implementierungen werden nun bezüglich der beigefügten Figuren beschrieben. Während spezifische Konfigurationen und Anordnungen erörtert werden, sollte erkannt werden, dass dies lediglich für Veranschaulichungszwecke ausgeführt wird. Die Fachleute auf dem relevanten Gebiet erkennen, dass andere Konfigurationen und Anordnungen verwendet werden können, ohne vom Erfindungsgedanken und Schutzumfang der Beschreibung abzuweichen. Es ist für die Fachleute auf dem relevanten Gebiet offensichtlich, dass die hier beschriebenen Techniken und/oder Anordnungen außerdem in verschiedenen anderen Systemen und Anwendungen neben den hier beschriebenen verwendet werden können.
  • Während die folgende Beschreibung z. B. verschiedene Implementierungen darlegt, die sich in Architekturen, wie z. B. System-auf-einem-Chip- (SoC-) Architekturen, augenscheinlich sein können, ist die Implementierung der hier beschriebenen Techniken und/oder Anordnungen nicht auf spezielle Architekturen und/oder Rechensysteme eingeschränkt und kann durch irgendeine Architektur und/oder irgendein Rechensystem für ähnliche Zwecke implementiert sein. Verschiedene Architekturen, die z. B. mehrere integrierte Schaltungs- (IC-) Chips und/oder Baugruppen und/oder verschiedene Rechenvorrichtungen und/oder Unterhaltungselektronik-(CE-) Vorrichtungen, wie z. B. Set-Top-Boxes, Smartphones usw., verwenden, können z. B. die hier beschriebenen Techniken und/oder Anordnungen implementieren. Während die folgende Beschreibung zahlreiche spezifische Einzelheiten, wie z. B. logische Implementierungen, Typen und Beziehungen von Systemkomponenten, logische Partitionierungs-/Integrationswahlen usw., darlegen kann, kann der beanspruchte Gegenstand ohne derartige spezifische Einzelheiten praktiziert werden. In anderen Fällen kann manches Material, wie z. B. Steuerstrukturen und vollständige Software-Anweisungsfolgen, nicht ausführlich gezeigt sein, um das hier offenbarte Material nicht zu verbergen.
  • Das hier offenbarte Material kann in Hardware, Firmware, Software oder irgendeiner Kombination daraus implementiert sein. Das hier offenbarte Material kann außerdem als Anweisungen implementiert sein, die in einem maschinenlesbaren Medium gespeichert sind, das durch einen oder mehrere Prozessoren gelesen und ausgeführt werden kann. Ein maschinenlesbares Medium kann irgendein Medium und/oder irgendeinen Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. eine Rechenvorrichtung) lesbaren Form enthalten. Ein maschinenlesbares Medium kann z. B. einen Festwertspeicher (ROM); einen Schreib-Lese-Speicher (RAM); Magnetplattenspeichermedien; optische Speichermedien; Flash-Speichervorrichtungen; elektrische, optische, akustische oder andere Formen von ausgebreiteten Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere enthalten.
  • Die Verweise in der Beschreibung auf „eine einzige Implementierung“, „eine Implementierung“, „eine beispielhafte Implementierung“ usw. geben an, dass die beschriebene Implementierung ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Eigenschaft enthalten kann, wobei aber nicht jede Ausführungsform notwendigerweise das spezielle Merkmal, die spezielle Struktur oder die speziell Eigenschaft enthalten kann. Überdies beziehen sich derartige Ausdrücke nicht notwendigerweise auf dieselbe Implementierung. Wenn ferner ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben wird, wird behauptet, dass es sich innerhalb des Wissen eines Fachmanns auf dem Gebiet befindet, ein derartiges Merkmal, eine derartige Struktur oder eine derartige Eigenschaft im Zusammengang mit anderen Implementierungen zu bewerkstelligen, ob sie hier explizit beschrieben sind oder nicht.
  • Hier werden Verfahren, Vorrichtungen, Geräte, Rechenplattformen und Artikel beschrieben, die auf die feinkörnige Objektsegmentierung in einem Video unter Verwendung von tiefen Merkmalen und graphischen Mehrebenenmodellen bezogen sind.
  • Wie oben beschrieben worden ist, kann es vorteilhaft sein, eine feinkörnige Objektsegmentierung für jeden Videoframe einer Videosequenz bereitzustellen. Die hier erörterten Techniken stellen einen mehrstufigen Algorithmus bereit, der Qualitätssegmentierungen in Videodaten in einer zeitlich kohärenten Weise wiedergibt, während er eine minimale Eingabe von einem Anwender erfordert. Für eine Videosequenz von Videoframes wird z. B. eine Bodenwirklichkeits-Segmentierung eines Objekts für den ersten Videoframe der Sequenz empfangen. Die Bodenwirklichkeits-Segmentierung ist typischerweise eine binäre pixelweise Datenstruktur, die einen ersten Wert (z. B. eins) für die Pixel, die ein Teil des Objekts von Interesse sind, und einen zweiten Wert (z. B. null) für die Pixel, die kein Teil des Objekts von Interesse sind (und deshalb ein Teil des Hintergrunds sind), bereitstellt. Die Bodenwirklichkeits-Segmentierung kann z. B. eine binäre Objektmaske sein. Unter Verwendung der Bodenwirklichkeits-Segmentierung wird dann eine Segmentierung für ein zweiten, zeitlich nachfolgenden Videoframe unter Verwendung des hier erörterten mehrstufigen Algorithmus bestimmt.
  • In einigen Ausführungsformen wird ein Begrenzungsrechteck für das Objekt im ersten Videoframe durch das Bereitstellen einer äußeren Begrenzung und einer Auffüllung um die Bodenwirklichkeits-Segmentierung erzeugt. Dann wird unter Verwendung eines auf einem Zwillingsverfolger basierenden neuronalen Faltungsnetzes (CNN) ein Begrenzungsrechteck im zweiten Videoframe erzeugt, wie hier weiter erörtert wird. Der Begriff CNN, wie er hier verwendet wird, gibt ein Netz an, das wenigstens eine Faltungsschicht enthält, die einen oder mehrere Filter mit Eingangsvolumen-Merkmalskarten (oder den Eingangs-Videoframe) faltet, um Ausgangs-Merkmalskarten zu erzeugen. Weiterhin wird für die Videosequenz eine Objektorientierungspunkt-Verfolgung (z. B. Gesichtsorientierungspunkt-Verfolgung) ausgeführt. Insbesondere kann die Orientierungspunktverfolgung Orientierungspunkte, die Teil der Bodenwirklichkeits-Segmentierung sind, und/oder andere Orientierungspunkte verfolgen. Die Gesichtsorientierungspunkt-Verfolgung kann z. B, verwendet werden, während das Objekt der Bodenwirklichkeits-Segmentierung nicht notwendigerweise eine Komponente des Gesichts ist, obwohl es in Beziehung stehen kann. Die Objekt-Orientierungspunkte und das Objekt der Segmentierung können z. B. beide den Vordergrundobjekten entsprechen, wobei sie aber nicht notwendigerweise dasselbe Objekt oder ein Teil desselben Objekts sein müssen.
  • Unter Verwendung des Begrenzungsrechtecks des ersten Videoframes und der Bodenwirklichkeits-Segmentierung wird ein Farbmischungsmodell, das z. B. Gaußsche Mischungsmodelle (GMM) des Vordergrunds und des Hintergrunds enthält, unter Verwendung des Bereichs innerhalb des Begrenzungsrechtecks trainiert. Der Begriff Bereich, wie er hier verwendet wird, gibt eine Fläche von Pixelorten und ihre entsprechenden Werte an, die die Farbwerte (z. B. R-, G-, B-Werte) oder irgendwelche anderen hier erörterten pixelweisen Werte sein können. Dann wird das Farbmischungsmodell auf das Begrenzungsrechteck des zweiten Videoframes angewendet, um farbbasierte Wahrscheinlichkeiten für die Pixel des Begrenzungsrechtecks des zweiten Videoframes zu erzeugen. Die farbbasierten Wahrscheinlichkeiten können z. B. für jedes Pixel einen Wert enthalten, der angibt, ob das Pixel ein Teil des Objekts von Interesse ist. Insbesondere kann erwartet werden, dass die Farbe des Objekts zwischen den Frames relativ konsistent ist, so dass ein Farbmischungsmodell, das irgendeine Anzahl von Mischungen in Vordergrund/Hintergrund-Mischungsmodellen (z. B. GMMs) implementiert, implementiert sein kann, um die Farbwahrscheinlichkeitswerte zu bestimmen.
  • Weiterhin ist eine Lichtflusstechnik bezüglich wenigstens der Bodenwirklichkeits-Segmentierung und des Begrenzungsrechtecks im zweiten Videoframe implementiert, um einen Bewegungsvektor für die Segmentierung und entsprechend den Videoframes zu bestimmen. Die Bodenwirklichkeits-Segmentierung wird dann unter Verwendung des Bewegungsvektors (z. B. ein durchschnittlicher Bewegungsvektor aus einem dichten Lichtfluss zwischen der Bodenwirklichkeits-Segmentierung und dem Begrenzungsrechteck) an einen Ort im zweiten Videoframe verschoben. Insbesondere kann die resultierende binäre Formschätzung (z. B. einschließlich der Form der Bodenwirklichkeits-Segmentierung an einem neuen Ort) pixelweise Werte enthalten, die angeben, ob das Pixel ein Teil des Objekts ist. Eine Abstandstransformation wird auf die binäre Formschätzung angewendet, um eine schwache (z. B. nicht-binäre) Formschätzung zu erzeugen, die sich am gleichen Ort befindet, aber höhere Werte in der oder in Richtung der Mitte der Form und kleinere Werte am oder in Richtung der äußeren Begrenzung der Form beibehält. Insbesondere wird erwartet, dass das Objekt die Form zwischen den Frames nicht nur verschiebt und beibehält, wobei die schwache Formschätzung verwendet wird, um derartige Änderungen der Form zu berücksichtigen.
  • Eine affine Transformation, die unter Verwendung der vorher erörterten Orientierungspunktverfolgung bestimmt wurde, wird dann auf die schwache Formschätzung angewendet, um die schwache Formschätzung basierend auf der detektierten Transformation der Orientierungspunkte zwischen den Frames in eine neue Form und/oder an einen neuen Ort zu transformieren. In einigen Ausführungsformen wird eine affine Transformationsmatrix oder eine andere Datenstruktur basierend auf der Verschiebung der entsprechenden Orientierungspunkte zwischen den Frames erzeugt, wobei die resultierende affine Transformationsmatrix oder andere Datenstruktur auf die schwache Formschätzung angewendet wird, um die aktualisierte schwache Formschätzung (z. B. eine zweite schwache Formschätzung) zu erzeugen. Die aktualisierte schwache Formschätzung enthält form- und bewegungsbasierte Wahrscheinlichkeiten für die Pixel innerhalb des Begrenzungsrechtecks des zweiten Videoframes, so dass die form- und bewegungsbasierten Wahrscheinlichkeiten für jedes Pixel einen Wert enthalten können, der angibt, ob das Pixel ein Teil des Objekts von Interesse ist.
  • Die form- und bewegungsbasierten Wahrscheinlichkeitswerte und die vorher erörterten farbbasierten Wahrscheinlichkeitswerte werden dann verschmolzen, um endgültige Wahrscheinlichkeitswerte für die Pixel des Begrenzungsrechtecks des zweiten Videoframes (und nach Bedarf für zusätzliche Pixel) zu erzeugen. Derartige endgültigen Wahrscheinlichkeitswerte können z. B. durch eine pixelweise Multiplikation der form- und bewegungsbasierten Wahrscheinlichkeitswerte und der farbbasierten Wahrscheinlichkeitswerte erzeugt werden. Es können jedoch irgendwelche Verschmelzungstechniken verwendet werden. In einigen Ausführungsformen können die endgültigen Wahrscheinlichkeitswerte mit einem Schwellenwert verglichen werden, um eine Segmentierung des Objekts im zweiten Videoframe zu bestimmen, so dass die endgültigen Wahrscheinlichkeitswerte über dem Schwellenwert auf den ersten Wert (z. B. eins) und die endgültigen Wahrscheinlichkeitswerte an oder unter dem Schwellenwert auf den zweiten Wert (z. B. null) gesetzt werden.
  • Weil jedoch die endgültigen Wahrscheinlichkeitswerte oder -punktzahlen (die als Vordergrundmaske charakterisiert werden können) in einigen Ausführungsformen Diskontinuitäten, Rauschen usw. enthalten können, wird eine auf der graphischen Modellsegmentierung basierende Verbesserung angewendet, um die Segmentierung zu erzeugen. In einigen Ausführungsformen wird ein graphenbasiertes Energiesummationsmodell mit einem unären Energieterm, der auf den endgültigen oder verschmolzenen Wahrscheinlichkeits-Punktzahlen pro Pixel basiert, einem Term der paarweisen Energie, der auf Farbunterschieden zwischen benachbarten Pixeln basiert, und einem Superpixel-Energieterm, der auf den Superpixel-Grenzen basiert, erzeugt und gelöst (oder approximiert), wie hier im Folgenden erörtert wird.
  • Die Lösung kann z. B. eine Segmentierung des Objekts finden, die das graphenbasierte Energiesummationsmodell minimiert, wobei die Ergebnisse der Summationsfunktion des unären Energieterms eine Nichtübereinstimmung zwischen einem Pixel einer Kandidatensegmentierung und der endgültigen Wahrscheinlichkeits-Punktzahl für das Pixel angeben (die Funktion z. B. eine hohe Zahl zurückgibt, wenn die Kandidatensegmentierung ein als Hintergrund gekennzeichnetes Pixel aufweist, wenn es eine hohe endgültige Wahrscheinlichkeits-Punktzahl aufweist, oder umgekehrt), die Ergebnisse der Summationsfunktion des Terms der paarweisen Energie Paare von Pixeln (d. h., benachbarte Pixel) angeben, die ähnliche oder die gleichen Farben aufweisen, die zwischen Vorder- und Hintergrund getrennt sind, (oder umgekehrt), und die Ergebnisse der Summationsfunktion des Superpixel-Energieterms Pixel angeben, die ein Teil eines Superpixels sind und sich in der Hintergrundsegmentierung befinden, während das Superpixel sonst fast vollständig Teil der Vordergrundsegmentierung ist, (oder umgekehrt). Der unäre Term bestraft z. B. Pixelsegmentierungen, die nicht mit der endgültigen oder verschmolzenen Wahrscheinlichkeits-Punktzahl übereinstimmen, der paarweise Term bestraft Pixelsegmentierungen, die benachbarte Pixel mit den gleichen oder ähnlichen Farben in unterschiedlichen Segmentierungen aufweisen, und der Superpixel-Term bestraft Pixelsegmentierungen, die ein oder wenige Pixel in einem Superpixel aufweisen, die nicht mit der dominanten Segmentierung des Superpixels übereinstimmen. Das graphenbasierte Energiesummationsmodell kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelchen geeigneten Techniken, wie z. B. den Boykov-Kolmogorov-Techniken, gelöst oder approximiert werden, um eine Segmentierung für das Objekt (z. B. eine binäre Objektmaske) zu bestimmen, die das Modell minimiert. Die Begriffe gelöst oder Lösung oder ähnliche Begriffe, wie sie hier verwendet werden, geben eine Lösung an, die nicht notwendigerweise die vollständig beste Lösung ist, sondern durch das Anwenden eines Lösers erreicht wird.
  • Die Segmentierung für das Objekt für den zweiten Frame wird dann anstelle der oben erörterten Bodenwirklichkeits-Segmentierung verwendet, wobei die Techniken wiederholt werden, um eine Segmentierung für das Objekt für einen dritten zeitlich nachfolgenden Frame zu bestimmen, usw. Derartige Techniken stellen eine robuste und genaue, feinkörnige Segmentierung im Video (z. B. in den Videodaten) bereit, die sehr wenig oder keine Anwenderwechselwirkung (über die anfängliche Bodenwirklichkeits-Segmentierung hinaus) erfordert. Weiterhin stellen die erörterten Techniken die Vorteile bereit, dass sie modular, allgemein, klassenunabhängig, flexibel und recheneffizient sind. Insbesondere die Verwendung von Begrenzungsrechtecken (oder tiefen Aufmerksamkeitsbereichen) macht die Segmentierung und insbesondere das Lösen des graphenbasierten Energiesummationsmodells, das unäre, paarweise und superpixelbasierte Energien implementiert, rechnerisch machbar, so dass die Segmentierung im hohen Grade räumlich und zeitlich kohärent ist. Weiterhin können die Komponenten des Systems für aufgabenspezifische Aufgaben vorteilhaft feinabgestimmt werden. Derartige abstimmbare Parameter enthalten die Anzahl der Mischungen in den Vordergrund-/Hintergrund-GMMs (z. B. drei), die Abstands-Transformationsmetriken, die Nachbarschaftsgröße für das graphenbasierte Energiesummationsmodell (z. B. 8/4), die Modellparameter für das graphenbasierte Energiesummationsmodell (z. B. die Potts-Modellparameter für den Term der paarweisen Energie), Energiepotentialkoeffizienten für das graphenbasierte Energiesummationsmodell und die Anzahl der Superpixel und/oder das Superpixel-Erzeugungsverfahren für den Superpixel-Energieterm.
  • Die hier erörterten Techniken stellen eine effiziente und robuste Ausbreitung der klassenunabhängigen Objektsegmentierung im Video in einer zeitlich kohärenten Weise unter Verwendung der Farb-, Form- und Bewegungsmerkmale bereit. In einigen Ausführungsformen enthalten die Techniken das Bestimmen von Aufmerksamkeitsbereichen (oder Begrenzungsrechtecken oder vorgeschlagenen Begrenzungsrechtecken) unter Verwendung der Zwillingsverfolgung, das Erzeugen von Farbmischungsmodellen (z. B. GMM-basierte Hintergrund-/Vordergrundmodellen), das Schätzen einer Wahrscheinlichkeitskarte für die Segmentierung (oder früheren Form) unter Verwendung des Lichtflusses und der tiefen Gesichtsorientierungspunkte und das Anwenden einer auf der graphischen Modellsegmentierung basierenden Verbesserung, um eine endgültigen Segmentierung zu erzeugen.
  • 1 veranschaulicht ein beispielhaftes System 100 für die feinkörnige Segmentierung in einem Video, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Das System 100 enthält ein Begrenzungsrechteck-Modul 101, einen Zwillingsverfolger 102, ein Farbmischungsmodell-Modul 103, ein Lichtflussmodul 104, ein Verschiebungsmodul 105, ein Abstandstransformationsmodul 106, ein Modul 107 affiner Transformationen, ein Orientierungspunkt-Verfolgungsmodul 108, ein Verschmelzungsmodul 109, ein Energieminimierungsmodell-Modul 110 und einen Löser 111. Wie gezeigt ist, empfängt das System 100 das Eingangsvideo 121 und eine Bodenwirklichkeits-Segmentierung 122, wobei das System 100 eine oder mehrere Segmentierungen 133 erzeugt, so dass die Bodenwirklichkeits-Segmentierung 122 einen ersten Frame des Eingangsvideos in einen (die) Objektbereich(e) (d. h., einen Vordergrund) und einen (die) Nicht-Objektbereich(e) (d. h., einen Hintergrund) segmentiert.
  • Das System 100 kann einen Prozessor, einen Speicher usw. enthalten, die über irgendeine geeignete Formfaktorvorrichtung implementiert sind, wie hier erörtert ist, um die Segmentierung 133 zu erzeugen. Das System 100 kann z. B. als ein Personalcomputer, ein Laptop-Computer, ein Tablet, ein Phablet, ein Smartphone, eine Digitalkamera, eine Spielkonsole, eine tragbare Vorrichtung, eine Anzeigevorrichtung, eine Alles-in-Einem-Vorrichtung, eine Zwei-in-Eins-Vorrichtung oder dergleichen implementiert sein. Das System 100 kann z. B. eine feinkörnige Segmentierung der Videoframes des Eingangsvideos 121 ausführen, wie hier erörtert ist. In einigen Ausführungsformen enthält System 100 ferner eine oder mehrere Bildaufnahmevorrichtungen, um das Eingangsvideo 121 aufzunehmen, obwohl das Eingangsvideo 121 von einer weiteren Vorrichtung empfangen werden kann.
  • Das System 100 empfängt das Eingangsvideo 121 und die Bodenwirklichkeits-Segmentierung 122. Das Eingangsvideo 121 kann irgendwelche geeigneten Videoframes, Videobilder, Sequenzen von Videoframes, eine Gruppe von Bildern, Gruppen von Bildern, Videodaten oder dergleichen in irgendeiner geeigneten Auflösung enthalten. Das Video kann z. B. eine Videographikanordnung (VGA), hochauflösend (HD), Voll-HD (z. B. 1080p), Video mit 2K-Auflösung, Video mit 4K-Auflösung, Video mit 8K-Auflösung oder dergleichen sein, wobei das Video irgendeine Anzahl von Videoframes, Sequenzen von Videoframes, Bilder, Gruppen von Bildern oder dergleichen enthalten kann. In einigen Ausführungsformen wird das Eingangsvideo 121 vor der Verarbeitung unterabgetastet. Die hier erörterten Techniken werden um der Klarheit der Darstellung willen bezüglich Videoframes erörtert. Derartige Frames können jedoch als Bilder, Videobilder, Folgen von Bildern, Videosequenzen usw. charakterisiert werden. In einigen Ausführungsformen weist das Eingangsvideo drei Kanäle, wie z. B. RGB-Kanäle, auf, obwohl andere Formate, wie z. B. YUV, YCbCR usw., verwendet werden können.
  • Die Bodenwirklichkeits-Segmentierung 122 enthält irgendeine Datenstruktur, die angibt, dass die Pixel eines ersten Videoframes des Eingangsvideos 121 ein Teil eines Objekts sind. Die Bodenwirklichkeits-Segmentierung 122 kann z. B. erste Werte (z. B. eins) für die Pixel des Eingangsvideos 121, die ein Teil eines Objekts von Interesse sind, und zweite Werte (z. B. null) für die Pixel des Eingangsvideos 121, die kein Teil des Objekts von Interesse sind, enthalten, so dass die Bodenwirklichkeits-Segmentierung 122 eine binäre Maske ist. Hier werden die Begriffe Objekt, Objekt von Interesse und Vordergrund synonym verwendet, um ein Element anzugeben, das verfolgt werden soll und für das eine Segmentierung bereitgestellt werden soll. Der Begriff Segmentierung, wie er hier verwendet wird, bezeichnet eine Datenstruktur, die das Objekt oder den Vordergrund angibt, so dass die Segmentierung den Ort und die Form des Objekts oder des Vordergrunds in einem Videoframe angibt.
  • 2 veranschaulicht einen beispielhaften Videoframe 211 des Eingangsvideos 121, der ein Objekt 212 für die Segmentierung enthält, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 2 gezeigt ist, soll für den Videoframe 211 (z. B. einen ersten Videoframe einer Videosequenz) eine Segmentierung in nachfolgenden Videoframes für das Objekt 212 (das innerhalb eines Begrenzungsrechtecks 123 veranschaulicht ist, wie im Folgenden weiter erörtert wird) bereitgestellt werden. In den hier veranschaulichten Beispielen ist das Objekt von Interesse ein Nahtartefakt zwischen den Abschnitten von Gesichtsformen. Um z. B. Gesichter zu animieren, können Gesichtsformen von Frame zu Frame gewechselt oder wiedergegeben werden, was ein unerwünschtes Nahtartefakt zwischen den Gesichtsformen wiedergibt. Es ist wünschenswert, die Naht zu verfolgen und ein „Inpainting“ auszuführen, um einen endgültigen Frame des Videos wiederzugeben, das für einen Betrachter angenehm ist. Die hier erörterten Techniken automatisieren die Segmentierung des Nahtartefakts durch das Bereitstellen einer frame-weisen Segmentierung, wobei der Vordergrund das Nahtartefakt enthält. Die Segmentierung kann dann verwendet werden, um das „Inpainting“ und die Eliminierung des Nahtartefakts wenigstens teilweise zu automatisieren. Obwohl das Objekt 212 um der Klarheit der Darstellung willen bezüglich eines Nahtartefakts veranschaulicht ist, kann es irgendein Objekttyp sein, wie z. B. ein Gesicht, einen Teil eines Gesichts, ein Tier, ein Fahrzeug usw.
  • In 1 empfängt das System 100 z. B. einen Videoclip (d.h., das Eingangsvideo 121), { F i } i = 1 N
    Figure DE102020125197A1_0001
    einschließlich irgendeiner Anzahl N von Frames, Fi. Für den ersten Frame des Videoclips (z. B. den ersten Frame in einer zeitlichen Reihenfolge), Fi, wird die Bodenwirklichkeits-Segmentierung 122, S1, bereitgestellt. Die Bodenwirklichkeits-Segmentierung 122 kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelchen geeigneten Techniken, wie z. B. Computersehen-Techniken oder manuellen Pixelauswahltechniken, erzeugt werden.
  • 3 veranschaulicht eine beispielhafte Bodenwirklichkeits-Segmentierung 122 eines Objekts in einem beispielhaften Videoframe 311, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 3 gezeigt ist, soll für den Videoframe 311 (z. B. einen beispielhaften ersten Videoframe einer Videosequenz) eine Segmentierung in den nachfolgenden Videoframes für ein Objekt bereitgestellt werden, das durch die Bodenwirklichkeits-Segmentierung 122 definiert ist. Weiterhin befindet sich die Bodenwirklichkeits-Segmentierung 122 innerhalb des Begrenzungsrechtecks 123, wie hier weiter erörtert wird. Die Bodenwirklichkeits-Segmentierung 122 kann einen Wert, wie eins, oder eine Maske oder dergleichen bereitstellen, so dass alle Pixel der Bodenwirklichkeits-Segmentierung 122 ein Teil des Objekts von Interesse sind und alle anderen Pixel nicht. Obwohl die veranschaulichte Segmentierung bezüglich der Bodenwirklichkeits-Segmentierung 122 veranschaulicht ist, kann sie irgendeine der Bodenwirklichkeits-Segmentierung 122 oder der Segmentierungen 133 (z. B. der unter Verwendung der erörterten Techniken erzeugten Segmentierungen) sein.
  • In 1 wird die Bodenwirklichkeits-Segmentierung 122 durch das Begrenzungsrechteck-Modul 101 empfangen, das ein Begrenzungsrechteck 123, B1 (das außerdem als BB(1) veranschaulicht ist), um die Bodenwirklichkeits-Segmentierung 122 definiert, so dass sich alle Pixel der Bodenwirklichkeits-Segmentierung 122 innerhalb der Bodenwirklichkeits-Segmentierung 122 befinden und ein Auffüllen der Pixel um die Bodenwirklichkeits-Segmentierung 122 bereitgestellt wird. In 3 befindet sich die Bodenwirklichkeits-Segmentierung 122 vollständig innerhalb des Begrenzungsrechtecks 123, wobei sich wenigstens ein Pixel der Auffüllung zwischen jedem Pixel der äußeren Begrenzung der Bodenwirklichkeits-Segmentierung 122 und dem Begrenzungsrechteck 123 befindet. Das Begrenzungsrechteck 123 kann irgendeine geeignete Form sein, z. B. ein Quadrat oder Rechteck oder eine andere. In einigen Ausführungsformen weist das Begrenzungsrechteck 123 eine Form auf, die der Anwendung anderer Module des Systems 100 förderlich ist.
  • Der Zwillingsverfolger 102 empfängt das Begrenzungsrechteck 123 und das Eingangsvideo 121 (oder relevante Teile davon), wobei der Zwillingsverfolger 102 nachfolgende Aufmerksamkeitsbereiche oder Begrenzungsrechtecke 124, { B i } i = 2 N
    Figure DE102020125197A1_0002
    (die außerdem als BB (N) veranschaulicht sind), bestimmt. Hier können die Begrenzungsrechtecke 124 als Aufmerksamkeitsbereiche, Bereiche von Interesse usw. charakterisiert werden, da sie die Bereiche sind, die wahrscheinlich das Objekt, für das die Segmentierung bereitgestellt wird, einschließen.
  • 4 veranschaulicht einen beispielhaften Zwillingsverfolger 102 zum Bestimmen von Begrenzungsrechtecken für nachfolgende Videoframes, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 4 gezeigt ist, empfängt der Zwillingsverfolger 102 das Begrenzungsrechteck 123 und das Eingangsvideo 121, wobei der Zwillingsverfolger 102 Begrenzungsrechtecke 124 erzeugt, eines für jeden nachfolgenden Frame des Eingangsvideos 121. Wie außerdem gezeigt ist, implementiert der Zwillingsverfolger 102 die neuronalen Faltungsnetze 401 , 402 (die durch phi angegeben sind), um die Merkmalskarten oder -volumen zu erzeugen. In einigen Ausführungsformen sind die neuronalen Faltungsnetze (CNNs) 401, 402 die gleichen (z. B. mit der gleichen Architektur und den gleichen Gewichten), obwohl sie unterschiedlich sein können. Das CNN 401 wird auf das Begrenzungsrechteck 123 (oder ein nachfolgendes Begrenzungsrechteck) angewendet, um eine Merkmalskarte oder einen Merkmalsvektor 411 zu erzeugen, die bzw. der außerdem als eine Merkmalseinbettung des Bildes des Begrenzungsrechtecks charakterisiert werden kann. Das CNN 401 kann z. B. auf ein Eingangsvolumen angewendet werden, das drei Kanäle enthält: einen für jeden Farbkanal der Pixelwerte eines Bildbereichs innerhalb des Begrenzungsrechtecks 123. Das Eingangsvolumen kann deshalb eine Tiefe von drei (Farbkanälen) und eine Höhe und Breite aufweisen, die durch die Größe des Begrenzungsrechtecks 123 definiert sind, die vorherbestimmt sein kann. In 4 ist das dem Begrenzungsrechteck 123 entsprechende Eingangsvolumen als z dargestellt und kann als ein Exemplar oder ein Archetyp charakterisiert werden. Der Merkmalsvektor 411 kann irgendeine geeignete Datenstruktur aufweisen, wie z. B. ein Vektor von Merkmalen (z. B. Werten) aus dem CNN 401. In einigen Ausführungsformen kann der Merkmalsvektor 411 Merkmale enthalten, die bezüglich Objektdetektionstechniken implementiert sind. Wie erörtert ist, ist der Merkmalsvektor 411 eine Einbettung (oder Codierung) des Bildbereichs innerhalb des Begrenzungsrechtecks 123.
  • Weiterhin wird das CNN 402 auf einen Suchbereich 405 angewendet, so dass der Suchbereich 405 ein Teil oder alles eines nachfolgenden Frames (in zeitlicher Reihenfolge) des Eingangsvideos 121 ist. Der Suchbereich 405 kann z. B. ein Eingangsvolumen x mit einer Tiefe von drei (für die Farbkanäle des nachfolgenden Videoframes) und einer Breite und Höhe innerhalb des Videoframes definieren, d. h., der Videoframe selbst ist ein Teil davon (z. B. ein Suchbereich mit vorgegebener Größe, wie z. B. 2x in jeder Richtung des Begrenzungsrechtecks 123, zentriert an einem Ort, der mit dem Begrenzungsrechteck 123 zusammenfällt). Insbesondere das Begrenzen der Größe des Suchbereichs 405 stellt verringerte Berechnungen und wenig bis keinen Verlust bei der Verfolgung bereit. Wie gezeigt ist, erzeugt die Anwendung des CNN 402 auf den Suchbereich 405 (z. B. ein Eingangsvolumen, das dem Suchbereich entspricht) Merkmalskarten oder ein Merkmalsvolumen 412. Insbesondere kann das Merkmalsvolumen 412 einen Merkmalsvektor (z. B. einen Vektor der Einbettungs- oder Codierungswerte) vom CNN 402 für jeden Fleck mit der gleichen Größe wie das Begrenzungsrechteck 123 innerhalb des Suchbereichs 405 enthalten. Das heißt, das CNN 402 kann auf jeden von mehreren Kandidaten 406 in Begrenzungsrechteckgröße innerhalb des Suchbereichs 405 angewendet werden, um für jeden Kandidaten 406 einen Merkmalsvektor zu erzeugen, so dass die Merkmalsvektoren zusammen das Merkmalsvolumen 412 bilden.
  • Der Merkmalsvektor 411 und das Merkmalsvolumen 412 werden dann bei einer Faltungsoperation 403 gefaltet, um eine Punktzahl-Karte 413 mit einer Punktzahl für jeden der Kandidaten 406 zu erzeugen. Wie gezeigt ist, wird der Kandidat 414 mit der höchsten Punktzahl unter allen Kandidaten 406 als ein ausgewähltes Begrenzungsrechteck 124 für den Videoframe bereitgestellt. Es wird z. B. ein Begrenzungsrechteck für einen nachfolgenden Videoframe (bezüglich des Videoframes des Begrenzungsrechtecks 123) ausgewählt, die Verarbeitung wird unter Verwendung des ausgewählten Begrenzungsrechtecks wiederholt, um ein Begrenzungsrechteck für einen weiteren nachfolgenden Frame auszuwählen, usw. Das ausgewählte Begrenzungsrechteck 124 kann irgendeine geeignete Datenstruktur aufweisen, wie z. B. einen Ort innerhalb des Videoframes des Eingangsvideos 121 in einer oberen linken Ecke oder in einer Mitte des Begrenzungsrechtecks 124. In einigen Ausführungsformen weist das Begrenzungsrechteck 124 die gleiche Größe und die gleiche Form wie das Begrenzungsrechteck 123 auf, wobei seine Größe bekannt ist.
  • 5 veranschaulicht ein Beispiel für ein neuronales Faltungsnetz 500 zur Implementierung in einem Zwillingsverfolger, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Das neuronale Faltungsnetz (CNN) 500 kann als eines oder beide der CNNs 401, 402 im Zwillingsverfolger 102 implementiert sein. Wie gezeigt ist, kann das CNN 500 Faltungs- und gleichgerichtete lineare Einheits- (ReLu-) Schichten (die mit einem C gekennzeichnet sind), Schichten des maximalen Zusammenlegens (die mit einem P gekennzeichnet sind), vollständig verbundene Schichten (die mit einem F gekennzeichnet sind) und eine Softmax-Funktion oder -Schicht (die mit einem S gekennzeichnet ist) enthalten, um einen Merkmalsvektor oder eine Merkmalskarte mit den Werten zu erzeugen, der bzw. die ein Eingangsvolumen 501 (z. B. ein Begrenzungsrechteck 123 oder einen Kandidatenbereich 406) codieren oder einbetten. Das CNN 500 kann irgendein geeignetes CNN sein, das eine Architektur aufweist, die eine oder mehrere Faltungsschichten enthält und einen Ausgangs-Merkmalsvektor oder eine Ausgangs-Merkmalskarte bereitstellt. Das CNN 500 wird unter Verwendung irgendeines geeigneten Datensatzes und von Bodenwirklichkeits-Daten vortrainiert. In einer Ausführungsform weist das CNN 500 eine VGG-16-Architektur auf, die abwechselnde Schichten von Faltungs- und Zusammenlegungsoperationen mit Nichtlinearität (z. B. ReLU), gefolgt von einer vollständig verbundenen Schicht oder vollständig verbundenen Schichten und einer Softmax-Operation enthält. Die Ausgabe des CNN 500 (z. B. ein Merkmalsvektor oder eine Merkmalskarte) repräsentiert die Netzmerkmalseinbettung des Eingangsvolumens 501 (z. B. eines Originalbildes).
  • In 4 ist, wie erörtert worden ist, für die Begrenzungsrechteck-Verfolgung (z. B. die Erzeugung eines Aufmerksamkeitsbereichs) der Zwillingsverfolger 102 (oder ein Zwillingsnetz) implementiert. Der Zwillingsverfolger 102 ist vortrainiert und kann als eine vollständiges Zwillings-Faltungsnetz implementiert sein, wie in 4 gezeigt ist. In einigen Ausführungsformen wird der Zwillingsverfolger 102 trainiert, um ein Universal-Ähnlichkeitsmaß zwischen zwei Bildern zu erlernen. Der Zwillingsverfolger 102 kann z. B. vorteilhaft in Bereichen mit einmaligem Lernen, wie z. B. Verfolgung, implementiert sein. Wenn die Verschiebungen eines Archetyps (z), wie sie durch das Begrenzungsrechteck 123 bereitgestellt werden, im Suchbereich 405 (x) (der in 2 mit x bezeichnet ist) vorhanden sind, schickt der Zwillingsverfolger 102 eine große, positive Punktzahl in der Punktzahlkarte 413 zurück, während die Bereiche oder Objekte negative Punktzahlen in der Punktzahlkarte 413 erzeugen. In einigen Ausführungsformen ist der Zwillingsverfolger 102 aus einer tiefen Architektur aufgebaut, um ein genaues Ähnlichkeitsmaß zu erzeugen, das gegenüber verschiedenen Objekttransformationen (z. B. Verschiebungen, Beleuchtungsvariationen, morphologischen Änderungen, Drehungen usw.) für die Objekte innerhalb des Begrenzungsrechtecks 123 robust ist. Nach dem CNNbasierten Einbetten, wie es durch die CNNs 401, 402 bereitgestellt wird, werden der Merkmalsvektor 411 für das Exemplar (Begrenzungsrechteck 123) und der Merkmalsvektor 412 für die Kandidatenbereiche so gefaltet, um ein räumlich aussagekräftiges Gitter von zwillingsbasierten Ähnlichkeitspunktzahlen in der Punktzahlkarte 413 zu erzeugen, die den aktuellen Ort des Verfolgungsobjekts angeben. Die höchste Punktzahl in der Punktzahlkarte 413 entspricht z. B. der wahrscheinlichsten Begrenzungsrechteck-Verfolgung für das Objekt im Begrenzungsrechteck 123. In einigen Ausführungsformen stellt die Faltungsoperation 403 ein vollständige Faltungsnetz bereit und verringert die Anzahl der für die Verfolgung erforderlichen Gesamtberechnungen signifikant. In einigen Ausführungsformen kann ein gleitender Mittelwert der Exemplare aus früheren Videoframes für eine verbesserte Verfolgungsrobustheit aufrechterhalten werden.
  • In 1 werden das Begrenzungsrechteck 123 und die Begrenzungsrechtecke 124 (eines für jeden Frame des Eingangsvideos 121) dem Farbmischungsmodell-Modul 103 bereitgestellt, das für jedes der Begrenzungsrechtecke 124 die Farbwahrscheinlichkeiten 125 erzeugt. Unter Verwendung des Bereichs innerhalb des Begrenzungsrechtecks 123 (z. B. die Videodaten mit drei Farbkanälen für die Pixel innerhalb des Begrenzungsrechtecks 123) und der Bodenwirklichkeits-Segmentierung 122 erzeugt das Farbmischungsmodell-Modul 103 aus einem ersten Videoframe ein oder mehrere Farbmischungsmodelle, wie z. B. Vordergrund- und Hintergrundmischungsmodelle, für irgendeine Anzahl von Farbmischungen, die die Farben innerhalb der Bodenwirklichkeits-Segmentierung 122 (z. B. im Vordergrund) und jene außerhalb der Bodenwirklichkeits-Segmentierung 122 (z. B. im Hintergrund) angeben.
  • Derartige Farbmischungsmodelle werden dann von einem zweiten Videoframe auf das Begrenzungsrechteck 124 (z. B. die Videodaten mit drei Farbkanälen für die Pixel innerhalb des Begrenzungsrechtecks 124) angewendet, um pixelweise Farbwahrscheinlichkeiten für die Pixel innerhalb des Begrenzungsrechtecks 124 bereitzustellen, so dass jede Farbwahrscheinlichkeit eine Wahrscheinlichkeit angibt, dass das Pixel ein Teil des Objekts ist, das der Bodenwirklichkeits-Segmentierung 122 entspricht. Für nachfolgende Frames wird eine derartige Verarbeitung unter Verwendung der Segmentierungen 133 für einen aktuellen Frame, die erzeugt wurden, wie hier weiter erörtert wird, des Begrenzungsrechtecks für den aktuellen Frame und eines Begrenzungsrechtecks für den zeitlich nachfolgenden Frame wiederholt.
  • 6 veranschaulicht ein beispielhaftes Farbmischungsmodell-Modul 103 zum Erzeugen von Farbwahrscheinlichkeiten 125, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 6 gezeigt ist, kann das Farbmischungsmodell-Modul 103 ein Farbmischungsmodell-Erzeugungsmodul 601 und ein Farbmischungsmodell-Anwendungsmodul 602 enthalten. In einigen Ausführungsformen können das Farbmischungsmodell-Erzeugungsmodul 601 und das Farbmischungsmodell-Anwendungsmodul 602 zusammen implementiert sein. Das Farbmischungsmodell-Generierungsmodul 601 kann ein oder mehrere Farbmischungsmodelle, wie z. B. das Vordergrund- und das Hintergrundmischungsmodell 611, erzeugen. In einigen Ausführungsformen werden die Farbmischungsmodelle unter Verwendung der Bodenwirklichkeits-Segmentierung 122 und des Begrenzungsrechtecks 123 erzeugt, wobei derartige Farbmischungsmodelle auf alle nachfolgenden Begrenzungsrechtecke 124 angewendet werden. In anderen Ausführungsformen können die Farbmischungsmodelle basierend auf nachfolgenden Segmentierungen und Begrenzungskästen modifiziert werden, oder es können neue Farbmischungsmodelle basierend auf nachfolgenden Segmentierungen und Begrenzungskästen erzeugt werden.
  • Wie gezeigt ist, können das Vordergrundfarbmodell 612 und das Hintergrundfarbmodell 613 basierend auf der Farbe des Pixels Wahrscheinlichkeiten oder Wahrscheinlichkeitsfunktionen bereitstellen, dass ein Pixel ein Teil eines Vordergrunds oder eines Hintergrunds ist. Das Vordergrundfarbmodell 612 und das Hintergrundfarbmodell 613 werden auf die Pixel eines nachfolgenden Begrenzungsrechtecks 124 angewendet, um Farbwahrscheinlichkeiten zu erzeugen, die Vordergrund-Wahrscheinlichkeiten 614, Hintergrund-Wahrscheinlichkeiten 615 und resultierende Farbwahrscheinlichkeiten 125 enthalten, die für jedes Pixel des Begrenzungsrechtecks 124 eine farbbasierte Wahrscheinlichkeit enthalten, dass das Pixel ein Teil des Objekts von Interesse (z. B. ein Teil des Vordergrunds) ist, wie bezüglich der farbbasierten Wahrscheinlichkeit 616 für das ihr entsprechende Pixel veranschaulicht ist.
  • In einigen Ausführungsformen können das Farbmischungsmodell-Erzeugungsmodul 601 und das Farbmischungsmodell-Anwendungsmodul 602 Gaußsche Mischungsmodelle mit einer Vordergrund-/Hintergrund-Klassifizierung (z. B. im RGB-Farbraum) implementieren, die durch einen Bayes-Klassifikator bestimmt sind, um die Farbwahrscheinlichkeiten in Übereinstimmung mit Gleichung (1) zu erzeugen: p ( V o r d e r g r u n d | x E i n g a n g s p i x e l ) = p ( V o r d e r g r u n d ) V o r d e r g r u n d v o r h e r f 1 V o r d e r g r u n d C l u s t e r K N ( x | f i ) V o r d e r g r u n d G M M
    Figure DE102020125197A1_0003
    wobei p(a|b) eine Wahrscheinlichkeit angibt, ein Mitglied von a zu sein, Vordergrund angibt, dass ein Pixel ein Teil des Objekts von Interesse ist, x (wie gezeigt ist) ein Eingabepixel ist, p(Vordergrund x) deshalb eine Wahrscheinlichkeit angibt, dass ein Eingangspixel ein Teil eines Objekts von Interesse ist, p(Vordergrund) eine Wahrscheinlichkeit aus einem früheren Begrenzungsrechteck angibt, dass das Pixel ein Teil des Vordergrunds war (z. B. aus den Farbwahrscheinlichkeiten 125 aus einem vorherigen Begrenzungsrechteck oder den endgültigen Wahrscheinlichkeiten 131 für ein vorheriges Begrenzungsrechteck), K eine Anzahl von Farb-Clustern (oder -mischungen) ist, die implementiert sind, fi jeden Vordergrund-Cluster abgibt und N eine Normalwahrscheinlichkeitsfunktion ist.
  • In 1 werden die Farbwahrscheinlichkeiten 125 dem Verschmelzungsmodul 109 zum Verschmelzen mit den Form- und Bewegungswahrscheinlichkeiten 129 bereitgestellt, wie im Folgenden weiter erörtert wird. Wie gezeigt ist, empfängt das Lichtflussmodul 104 die Begrenzungsrechtecke 124, die Segmentierungen 133 (einschließlich der Bodenwirklichkeits-Segmentierung 122) und das Eingangsvideo 121 (nach Bedarf). Das Lichtflussmodul 104 bestimmt einen dichten Lichtfluss (z. B. pixelweise Bewegungsvektoren zwischen einer Segmentierung eines aktuellen Frames, Si - 1, und einem Begrenzungsrechteck eines zeitlich nachfolgenden Frames, Bi. Basierend auf dem dichten Lichtfluss wird ein Bewegungsvektor 126 für die Segmentierung (z. B. Bodenwirklichkeits-Segmentierung 122 oder eine nachfolgende Segmentierung 133) bestimmt. In einer Ausführungsform ist der Bewegungsvektor 126 ein Mittelwert der Bewegungsvektoren der Segmentierung Si - 1.
  • Das Verschiebungsmodul 105 empfängt den Bewegungsvektor 126 der Segmentierung Si - 1, wobei das Verschiebungsmodul 105 eine binäre Formschätzung 127 für den aktuellen Frame, Fi, durch das Verschieben der Segmentierung Si - 1 entlang dem Bewegungsvektor 126 erzeugt. Der Begriff Formschätzung und ähnliche Begriffe, wie sie hier verwendet werden, enthalten sowohl die Form als auch den Ort eines Objekts innerhalb eines Videoframes. Derartige Schätzungen können binär oder schwach sein. Die binären Schätzungen weisen Werte von z. B. eins für die Pixel, die als innerhalb des Objekts erachtet werden, und null für die Pixel außerhalb des Objekts auf, während die schwachen Schätzungen Werte in einem speziellen Bereich mit einer speziellen Granularität aufweisen, um die Wahrscheinlichkeiten anzugeben, dass sich die Pixel innerhalb des Objekts befinden.
  • Die binäre Formschätzung 127 stellt dadurch eine geschätzte Form und einen geschätzten Ort eines Objekts von Interesse (z. B. es wie durch die Bodenwirklichkeits-Segmentierung 122 oder eine nachfolgende Segmentierung 133 bereitgestellt wird) in einem nachfolgenden Frame durch die Verschiebung der Segmentierung des vorherigen Frames entlang dem Bewegungsvektor 126 zu dem aktuellen Frame bereit. Die binäre Formschätzung 127 wird durch das Abstandstransformationsmodul 106 empfangen, das eine Abstandstransformation auf die binäre Formschätzung 127 anwendet, um die schwache Formschätzung 128 zu erzeugen. Das Abstandstransformationsmodul 106 kann irgendeine geeignete Abstandstransformation anwenden, die die binären Werte der binären Formschätzung 127 basierend auf einem Abstand des entsprechenden Pixels von einer Mitte des Objekts in nichtbinäre Werte übersetzt. Das heißt, die Wahrscheinlichkeitswerte der schwachen Formschätzung 128 sind in der (oder innerhalb eines speziellen Abstands von der) Mitte der dargestellten Form (oder entlang einer oder mehrerer Mittelachsen der Form) und wenigstens an einer äußeren Begrenzung der Form die größten. Die Funktion, die die Verringerung von der Mitte bis zur äußeren Begrenzung bereitstellt, kann irgendeine Funktion, wie z. B. eine lineare Funktion, sein. Weiterhin kann die Mitte (oder eine oder mehrere Mittelachsen) unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken, wie z. B. Schwerpunkttechniken, bestimmt werden, wobei der Abstand von der Mitte für jedes Pixel unter Verwendung irgendeines geeigneten Abstands, wie z. B. des Euklidische Abstands oder des Manhattan-Abstands, erzeugt werden kann.
  • 7 veranschaulicht eine beispielhafte Abstandstransformation 701, wie sie durch das Abstandstransformationsmodul 106 auf eine beispielhafte binäre Formschätzung angewendet wird, um eine beispielhafte schwache Formschätzung zu erzeugen, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 7 gezeigt ist, stellt die binäre Formschätzung 127 eine geschätzte Form unter Verwendung von Vordergrund- oder Objekt-Pixelwerten (in weiß) eines ersten Werts und Hintergrund- oder Nicht-Objekt-Pixelwerten (in schwarz) eines zweiten Werts bereit. Das Abstandstransformationsmodul 106 wendet die Abstandstransformation 701 an, um die schwache Formschätzung 128 zu bestimmen, die pixelweise Werte innerhalb eines speziellen Bereichs und einer speziellen Granularität (z. B. 0 bis 100 durch Einsen oder 0,00 bis 1,00 durch Hundertstel) aufweist, so dass die Werte eine Punktzahl oder eine Wahrscheinlichkeit bereitstellen, dass das Pixel ein Teil des Vordergrunds oder des Objekts ist. Derartige Wahrscheinlichkeitswerte können z. B. als nicht-binär charakterisiert werden. Die schwache Formschätzung 128 kann dann als eine nichtbinäre Maske verwendet werden, um sie mit anderen Wahrscheinlichkeiten (z. B. farbbasierten Wahrscheinlichkeiten) zu kombinieren, um Punktzahlen oder pixelweise Wahrscheinlichkeiten zu erzeugen, die weiter manipuliert werden können (z. B. durch das Lösen eines energiebasierten Modells, wie im Folgenden weiter erörtert wird), um eine endgültige (binäre) Segmentierung zu erzeugen. Wie in 7 gezeigt ist, weisen die Pixel in der oder in der Nähe der Mitte des Objekts von Interesse der schwachen Formschätzung 128 höhere Werte (z. B. höhere Wahrscheinlichkeiten, dass die Pixel ein Teil des Objekts von Interesse sind) auf, während die Pixel an der oder in der Nähe der äußeren Begrenzung kleinere Werte (z. B. kleinere Wahrscheinlichkeiten, dass die Pixel ein Teil des Objekts von Interesse sind) aufweisen. Derartige Werte können unter Verwendung irgendeiner geeigneten Abstandstransformationsfunktion bestimmt werden.
  • In 1 wird das Eingangsvideo 121 dem Orientierungspunkt-Verfolgungsmodul 108 bereitgestellt, das die Objekt-Orientierungspunkte im Eingangsvideo 121 detektiert und verfolgt. In einigen Ausführungsformen verfolgt das Orientierungspunkt-Verfolgungsmodul 108 die Orientierungspunkte, die für das Objekt der Bodenwirklichkeits-Segmentierung 122 relevant sind, aber nicht notwendigerweise ein Teil des Objekts sind. Das Orientierungspunkt-Verfolgungsmodul 108 kann z. B. Gesichtsorientierungspunkte innerhalb des Eingangsvideos 121 detektieren und verfolgen. Derartige Orientierungspunkte sind typischerweise ein Teil eines Vordergrunds eines Videoframes, wobei ihre Bewegung und Deformation die Bewegung und Deformation anderer Objekte von Interesse in einer Szene angeben können. Das heißt, sowohl wenn das Objekt von Interesse ein Teil eines Gesichts ist (oder mit einem Gesicht kontinuierlich) als auch wenn das Objekt von Interesse und das (die) Gesicht (er) beide lediglich ein Teil des Vordergrunds einer Szene sind, kann die Bewegung von Objekten von Interesse durch die Detektion und das Verfolgen von Gesichtsorientierungspunkten approximiert werden. Wenn das Objekt von Interesse ein Teil eines Szenenhintergrunds ist, können Insbesondere andere Orientierungspunkte detektiert und verwendet werden.
  • Wie gezeigt ist, werden die Orientierungspunktorte 130, { L i } i = 1 N ,
    Figure DE102020125197A1_0004
    vom Orientierungspunkt-Verfolgungsmodul 108 bereitgestellt, so dass die Orientierungspunktorte 130 für jeden der N Frames bereitgestellt werden. Die Orientierungspunktorte 130 können irgendeine geeignete Datenstruktur enthalten, wie z. B. einen Ort und einen Deskriptor für jeden der detektierten Orientierungspunkte. Derartige Orientierungspunkte können irgendwelche Orientierungspunkte, wie z. B. Gesichtsorientierungspunkte (z. B. die Augen, die Nase, die Lippen oder Komponenten davon usw.) oder andere Orientierungspunkte einschließlich Ecken, Kanten usw. sein, wie erörtert worden ist. In einer Ausführungsform wendet das Orientierungspunkt-Verfolgungsmodul 108 einen vortrainierten Gesichtsverfolger an, um die Orte der Gesichtsorientierungspunkte über alle Frames des Eingangsvideos 121 wiederzugeben.
  • Die Orientierungspunktorte 130 und die schwache Formschätzung 128 werden durch das Modul 107 affiner Transformation empfangen, das für den aktuellen Videoframe bezüglich des vorhergehenden Videoframes eine affine Transformation basierend auf der Änderung der Positionen der Orientierungspunktorte 130 für jeden der Frames bestimmt. Die affine Transformation zwischen den Frames Fi - 1 und Fi wird z. B. basierend auf der Änderung der Orientierungspunktorte zwischen den Orientierungspunktorten Li - 1 und den Orientierungspunktorten Li erzeugt. Die affine Transformation kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken, wie z. B. Modellanpassungstechniken der affinen Transformation, bestimmt werden. Die schwache Formschätzung 128 wird dann unter Verwendung der affinen Transformation (z. B. durch Anwendung einer affinen Transformationsmatrix) transformiert, um Form- und Bewegungswahrscheinlichkeiten 129 zu erzeugen.
  • Die Form- und Bewegungswahrscheinlichkeiten 129 enthalten die pixelweisen Wahrscheinlichkeitswerte für jedes Pixel wenigstens des Begrenzungsrechtecks 124, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts von Interesse ist. Derartige Wahrscheinlichkeitswerte sind als die Form- und Bewegungswahrscheinlichkeiten 129 charakterisiert, weil sie basierend auf der Verschiebung (z. B. unter Verwendung des Lichtflusses) einer vorherigen binären Segmentierung (z.B. der Bodenwirklichkeits-Segmentierung 122 oder einer nachfolgenden Segmentierung 133, der Abstandstransformation der verschobenen binären Segmentierung und der affinen Transformation (die z. B. durch die Orientierungspunktverfolgung bestimmt worden ist) der schwachen Formschätzung erzeugt werden. Obwohl derartige Operationen bezüglich einer Reihenfolge der Operation Verschiebung, Abstandstransformation, affine Transformation erörtert worden sind, können sie in irgendeiner Reihenfolge ausgeführt werden, um die Form- und Bewegungswahrscheinlichkeiten 129 zu erzeugen.
  • Die Form- und Bewegungswahrscheinlichkeiten 129 und die vorher erörterten Farbwahrscheinlichkeiten 125 werden durch das Verschmelzungsmodul 109 empfangen. Wie erörtert worden ist, enthalten sowohl die Form- und Bewegungswahrscheinlichkeiten 129 als auch die Farbwahrscheinlichkeiten 125 pixelweise Wahrscheinlichkeitswerte, die auf der Form und der Bewegung bzw. der Farbe basieren, für jedes Pixel wenigstens des Begrenzungsrechtecks 124, so dass die Wahrscheinlichkeitswerte Wahrscheinlichkeiten angeben, dass das Pixel ein Teil des Objekts von Interesse ist. Das Verschmelzungsmodul 109 kann die Form- und Bewegungswahrscheinlichkeiten 129 und die Farbwahrscheinlichkeiten 125 unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken verschmelzen, um verschmolzene Wahrscheinlichkeiten 131 zu erzeugen. Die verschmolzenen Wahrscheinlichkeiten 131 können außerdem als die endgültigen Wahrscheinlichkeiten charakterisiert werden, oder die form-, bewegungs- und farbbasierten Wahrscheinlichkeiten oder verschmolzenen Wahrscheinlichkeiten 131 können gemeinsam als eine approximative Vordergrundmaske charakterisiert werden. In einigen Ausführungsformen werden die Form- und Bewegungswahrscheinlichkeiten 129 und die Farbwahrscheinlichkeiten 125 pixelweise multipliziert, um verschmolzene Wahrscheinlichkeiten 131 zu erzeugen. In einigen Ausführungsformen werden die Form- und Bewegungswahrscheinlichkeiten 129 und die Farbwahrscheinlichkeiten 125 multipliziert, wobei eine Sigmoidfunktion auf die pixelweisen Produkte angewendet wird, um die verschmolzenen Wahrscheinlichkeiten 131 zu bestimmen.
  • In einigen Ausführungsformen werden die verschmolzenen Wahrscheinlichkeiten 131 verwendet, um eine Segmentierung basierend auf Schwellenwert-Techniken zu erzeugen, so dass die Wahrscheinlichkeiten, die im Vergleich zu einem speziellen Schwellenwert vorteilhaft (z. B. größer als ein spezieller Schwellenwert) sind, dem Vordergrund oder dem Objekt von Interesse zugewiesen werden, und die Wahrscheinlichkeiten, die im Vergleich zu dem speziellen Schwellenwert ungünstig (z. B. kleiner als der oder gleich dem bestimmten Schwellenwert) sind, dem Hintergrund zugewiesen werden. Weil die verschmolzenen Wahrscheinlichkeiten 131 jedoch Diskontinuitäten, Rauschen usw. enthalten können, kann eine auf der graphischen Modellsegmentierung basierende Verbesserung vorteilhaft angewendet werden, wie hinsichtlich des Energieminimierungsmodell-Moduls 110 und eines Löser 111 erörtert wird.
  • Das Energieminimierungsmodell-Modul 110 empfängt die verschmolzenen Wahrscheinlichkeiten 131 und erzeugt ein graphenbasiertes Energiesummationsmodell 132, das ein Energieminimierungsproblem bereitstellt. Der Löser 111 wird verwendet, um das graphenbasierte Energiesummationsmodells 132 zu lösen (oder um eine Lösung für das graphenbasierte Energiesummationsmodell 132 zu approximieren), um die Segmentierung 133 bereitzustellen. Das heißt, die Segmentierung 133 stellt eine Segmentierung (z. B. eine binäre Segmentierung) bereit, die das graphenbasierte Energiesummationsmodell 132 minimiert. Das graphenbasierte Energiesummationsmodell 132 stellt Strafen für Kandidatensegmentierungen bereit, die verschiedene Einschränkungen verletzen, wobei die Segmentierung 133 diese Strafen minimiert, wie erörtert worden ist. Wie erörtert worden ist, wird dann die Segmentierung 133 anstelle der Bodenwirklichkeits-Segmentierung 122 für nachfolgende Videoframes verwendet, wobei die Verarbeitung für alle Videoframes des Eingangsvideos 121 wiederholt werden kann, wie erörtert worden ist.
  • 8 veranschaulicht ein beispielhaftes Energieminimierungsmodell-Modul 110 und einen beispielhaften Löser 111, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie in 8 gezeigt ist, kann das Energieminimierungsmodell-Modul 110 ein Modul 801 eines unären Energieterms, ein Modul 802 eines Terms der paarweisen Energie und ein Modul 803 eines Superpixel-Energieterms enthalten, die einen unären Energieterm, einen Term der paarweisen Energie bzw. einen Superpixel-Energieterm erzeugen, die summiert werden können, um ein graphenbasiertes Energiesummationsmodell 132 bereitzustellen.
  • In einigen Ausführungsformen erzeugt das Energieminimierungsmodell-Modul 110 ein Modell zur Minimierung in Übereinstimmung mit Gleichung (2): E ( x ) = i V ψ i ( x i ) + ( i , j ) E ψ i j ( x i , x j ) + c S ψ c ( x c )
    Figure DE102020125197A1_0005
    wobei Ψi(xi) ein unärer Energieterm (oder ein unäres Potential) ist, ψij,(xi, xj) ein Term der paarweisen Energie (oder ein paarweises Potential) ist und yc(xc) ein Superpixel-Energieterm (oder ein Superpixel-Potential) ist.
  • Wie gezeigt ist, werden der unäre Energieterm, der Term der paarweisen Energie und der Superpixel-Energieterm summiert, um das graphenbasierte Energiesummationsmodell zu bestimmen. Der unäre Energieterm summiert die Energien oder die Potentiale über die Scheitelpunkte (V) so, dass die unäre Funktion größere Werte für eine Kandidatensegmentierung (x repräsentiert z. B. eine Kandidatensegmentierung mit pixelweisen Werten von eins oder null, die angeben, ob die Pixel im Objekt enthalten sind), wenn die Kandidatensegmentierung für das Pixel nicht mit der verschmolzenen Wahrscheinlichkeits-Punktzahl für das Pixel (aus den verschmolzenen Wahrscheinlichkeiten 131) übereinstimmt, und kleinere Werte, wenn die Kandidatensegmentierung und die verschmolzenen Wahrscheinlichkeits-Punktzahlen übereinstimmen, bereitstellt. Der unäre Energieterm stellt z. B. für ein Pixel in Reaktion auf eine Kandidatensegmentierung mit einer Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel einen größeren unären Energiewert bereit. Die Funktion des unären Energieterms (ψi) kann irgendeine geeignete Funktion sein, die derartige Ergebnisse, wie z. B. einen Absolutwert der Differenz zwischen dem Kandidatensegmentierungswert für das Pixel und der verschmolzenen Wahrscheinlichkeits-Punktzahl für das Pixel oder ein Quadrat der Differenz, bereitstellt. Der unäre Energieterm stellt z. B. ein Potential bereit, das unter Verwendung der approximativen Vordergrundmaske (der verschmolzenen Wahrscheinlichkeiten 131) bestimmt wird.
  • Der Term der paarweisen Energie summiert die Energien oder Potentiale über die Kanten (E), so dass der Term der paarweisen Energie größere Werte bereitstellt, wenn Paare von Pixeln (xi, xj) in einer Kandidatensegmentierung innerhalb einer bestimmten Nachbarschaftsgröße derselben Segmentierung (Vordergrund oder Hintergrund) zugewiesen sind, aber die gleichen oder ähnliche Farben aufweisen, und kleinere Werte (oder Nullen) bereitstellt, wenn sich Paare von Pixeln in einer Kandidatensegmentierung in derselben Segmentierung befinden und die gleichen oder ähnliche Farben aufweisen oder wenn sich Pixel mit unterschiedlichen Farben in verschiedenen Segmentierungen befinden. Der Term der paarweisen Energie stellt z. B. in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche (oder eine ähnliche) Farbe aufweist, einen größeren Wert der paarweisen Energie für ein Paar von Pixeln bereit. In einigen Ausführungsformen basiert der Term der paarweisen Energie (ψij) auf einem kontrastempfindlichen Potts-Modell, wie in Gleichung (3) gezeigt ist: ψ i j ( x i , x j ) = θ p + θ v e x p ( θ β I i I j 2 )
    Figure DE102020125197A1_0006
    wobei θp, θv und θβ trainierte oder erlernte Parameter sind und Ii und Ij die Farbvektoren von xi bzw. xj sind. Die Farbvektoren können z. B. die RGB-Werte (oder andere Farbraumwerte) der paarweisen Pixel oder deren Vektordarstellungen sein. Wie in Gleichung (3) gezeigt ist, wird, wenn die Farbvektoren die gleichen sind, eine maximale Energie oder ein maximales Potential (z. B. θp + θv) erreicht, wenn sich die Pixel nicht in derselben Segmentierung befinden. Derartige Werte bestrafen Pixel der gleichen oder ähnlicher Farben, die sich nicht in derselben Segmentierung befinden. Wenn die Farbvektoren sehr unterschiedlich sind, wird das minimale Energiepotential oder ein Wert nahe daran (z. B. θp) erreicht, wenn sich Pixel mit sehr unterschiedlichen Farben in unterschiedlichen Segmentierungen befinden (wie z. B. erwartet werden kann).
  • Der Superpixel-Energieterm summiert die Energien oder die Potentiale über die Superpixel (S) oder Superpixel-Grenzen, so dass die Superpixel-Energie größere Werte bereitstellt, wenn die Pixel (xc) innerhalb eines speziellen Superpixels nicht derselben Segmentierung (Vordergrund oder Hintergrund) in einer Kandidatensegmentierung zugewiesen sind, und kleinere Werte (oder Nullen) bereitstellt, wenn sich alle Pixel in einem Superpixel in derselben Segmentierung befinden. Der Superpixel-Energieterm stellt eine Energie oder ein Potential hoher Ordnung bereit, um die ausgewählte Segmentierung zu drängen, kleine Konturen (wie sie durch die Superpixel identifiziert sind) anzupassen. In einigen Ausführungsformen wird das Begrenzungsrechteck 124 zuerst unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken, wie z. B. einer einfachen linearen iterativen Clusterbildung, in Superpixel aufgeteilt, wobei die Superpixel verwendet werden, um den Superpixel-Energieterm zu bestimmen. Der Superpixel-Energieterm (ψc(xc)) kann irgendeine geeignete Funktion anwenden, wie z. B. eine Strafe pro Pixel für irgendwelche Pixel innerhalb eines Superpixels, die sich nicht in derselben Segmentierung wie die anderen Pixel im Superpixel befinden, so dass sich die anderen Pixel wenigstens in einer schwellenwertbegrenzten Mehrheit der Pixel im Superpixel befinden (sich z. B. mehr als 90 % der Pixel in derselben Segmentierung befinden).
  • Der Superpixel-Energieterm kann z. B. für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereitstellen, der größer als der erste Superpixel-Energiewert ist. In anderen Beispielen stellt der Superpixel-Energieterm für eine erste Kandidatensegmentierung mit allen Pixeln eines Superpixels innerhalb des Objekts einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung mit einem Prozentsatz von Pixeln eines Superpixels innerhalb des Objekts, der einen Schwellenwert übersteigt, und wenigstens einem Pixel des Superpixels außerhalb des Objekts einen zweiten Superpixel-Energiewert bereit, der größer als der erste Superpixel-Energiewert ist. Das heißt, wenn ein spezielles Superpixel einen Schwellenprozentsatz von Pixeln innerhalb des Vordergrunds aufweist (oder umgekehrt), kann erwartet werden, dass sich alle Pixel in dem Superpixel im Vordergrund befindet sollten, wobei andernfalls eine Strafe bereitgestellt wird. Für jedes Superpixel kann z. B. der Prozentsatz der Pixel im Vordergrund (oder Hintergrund) bestimmt werden und kann der Prozentsatz mit einem Schwellenwert verglichen werden. Wenn der Prozentsatz kleiner als der Schwellenwert ist (z. B. 90 % oder 95 % oder dergleichen), kann keine Annahme über die Segmentierung des Superpixels gemacht werden und wird keine Strafe angewendet. Wenn der Prozentsatz jedoch den Schwellenwert übersteigt, wenn sich irgendwelche Pixel außerhalb der dominanten Segmentierung befinden, kann eine Strafe angewendet werden (z. B. eine pauschale Strafe oder eine Strafe pro Pixel). Wenn sich alle Pixel in der dominanten Segmentierung befinden, wird keine Strafe angewendet. Derartige Strafen werden als Energien oder Potentiale summiert. Hier werden derartige Begriffe, wie z. B. Energie, Potential, Strafe, im Wesentlichen synonym verwendet, wobei sie ein Ergebnis angeben, das minimiert werden soll.
  • 9 veranschaulicht beispielhafte Superpixel 910 für ein beispielhaftes Begrenzungsrechteck 124, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie gezeigt ist, kann das Begrenzungsrechteck 124 in irgendeine Anzahl von Superpixeln 910 (von denen nur einige um der Klarheit willen einzeln gekennzeichnet sind) aufgeteilt sein, die durch die Superpixel-Grenzen 913 aufgeteilt sein. Die Superpixel 910 enthalten irgendeine Anzahl von Pixeln und können irgendeine Größe und Form aufweisen. Das Begrenzungsrechteck 124 kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken, wie z. B. einfache lineare iterative Clusterbildungs-Techniken, in nicht überlappende Superpixel 910 aufgeteilt werden. Die Superpixel 910 tendieren dazu, das Begrenzungsrechteck 124 in Bereiche aufzuteilen, die ähnliche Farben und/oder Graustufen aufweisen, obwohl andere Faktoren verwendet werden können. Insbesondere kann erwartet werden, dass sich die Gesamtheiten der Superpixel 910 innerhalb derselben Segmentierung (z. B. einer Objektsegmentierung oder einer Hintergrundsegmentierung) befinden.
  • Wie bezüglich 8 erörtert ist, können die Kandidatensegmentierungen, die keine Gesamtheiten von Superpixeln 910 innerhalb derselben Segmentierung aufweisen, unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken bestraft werden. Wenn sich in einer Ausführungsform ein Pixel 914 und ein Pixel 915, beide innerhalb desselben Superpixels 916, in unterschiedlichen Segmentierungen (in einer speziellen Kandidatensegmentierung) befinden, stellt die erörterte Superpixel-Energie eine Strafe (einen hohen Wert) bereit. Wenn z. B. ein Prozentsatz der Pixel des Superpixels 916 ein Teil einer speziellen Segmentierung (z. B. ein Vordergrund oder ein Hintergrund) ist, kann eine Strafe pro Superpixel oder pro Pixel bereitgestellt werden (da es die Annahme verletzt, dass alle Pixel in einem Superpixel ein Teil derselben Segmentierung sind). Wie gezeigt ist, kann für die Pixel, die durch die Pixelgrenze 913 getrennt sind, wie z. B. die Pixel 911 und 912, in einigen Ausführungsformen keine Annahme bezüglich dessen gemacht, ob die Pixel ein Teil derselben oder verschiedener Segmentierungen sind.
  • In 8 wird das graphenbasierte Energiesummationsmodell 132 durch den Löser 111 gelöst, um eine endgültige Segmentierung 133 für den aktuellen Videoframe zu erzeugen, wie gezeigt ist. Wie bezüglich der Bodenwirklichkeits-Segmentierung 122 erörtert worden ist, kann die Segmentierung 133 eine binäre Maske sein, die einen ersten Wert (z. B. eins) für die Pixel, die als ein Teil des zu verfolgenden Objekts erachtet werden, und einen zweiten Wert (z. B. null) für die Pixel, die als außerhalb des Objekts befindlich erachtet werden, enthält. Die Segmentierung 133 wird dann in der nachfolgenden Verarbeitung anstelle der Bodenwirklichkeits-Segmentierung 122 verwendet. Das graphenbasierte Energiesummationsmodell 132 kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken gelöst oder approximiert werden. In einer Ausführungsform wird das graphenbasierte Energiesummationsmodell 132 unter Verwendung von Boykov-Kolmogorov-Techniken gelöst. Die Boykov-Kolmogorov-Techniken können z. B. angewandt werden, um eine Lösung mit minimalem Schnitt und maximalem Fluss an das graphenbasierte Energiesummationsmodell 132 anzunähern. Insbesondere kann die Lösung für das graphenbasierte Energiesummationsmodell 132 eine Näherungslösung und nicht notwendigerweise eine beste Lösung, die auf erschöpfenden Techniken basiert, sein. Der Begriff Kandidatensegmentierung, wie er hier verwendet wird, gibt eine oder mehrere Pixelzuweisungen an, die beim Lösen des graphenbasierten Energiesummationsmodells 132 auszuwerten sind, und gibt nicht notwendigerweise eine vollständige Kandidatensegmentierung eines Videoframes oder eines Teils davon an. Die Änderungen pro Pixel in der Segmentierung zeigen z. B. unterschiedliche Kandidatensegmentierungen.
  • In 1 wird für noch nachfolgende Frames des Eingangsvideos 121 anstelle der Bodenwirklichkeits-Segmentierung die Segmentierung 133 (z. B. eine endgültige binäre Segmentierung) verwendet, wird anstelle des Begrenzungsrechtecks 123 das Begrenzungsrechteck 124 verwendet usw., da eine iterative Verarbeitung ausgeführt wird, um eine Segmentierung jedes Videoframes des Eingangsvideos 121 unter Verwendung der oben erörterten Techniken zu erzeugen.
  • 10 veranschaulicht beispielhaft die resultierende Segmentierung von Videoframes, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie gezeigt ist, kann die Bodenwirklichkeits-Segmentierung 122 bezüglich des Videoframes 311 durch das Video ausgebreitet werden, um die Segmentierung 133 für einen zeitlich nachfolgenden Videoframe 1011 zu bestimmen. Im veranschaulichen Beispiel befindet sich der Videoframe 1011 etwa 40 Frames nach dem Videoframe 133, wobei die Segmentierungen 122, 133 eine Naht (das Objekt von Interesse ist z. B. eine Naht zwischen den Gesichtsteilen einer computererzeugten Puppe) identifizieren. Wie erörtert worden ist, können die offenbarten Techniken auf jeden Objekttyp angewendet werden, wobei sie (bei gegebener Bodenwirklichkeits-Segmentierung 122) automatisch räumlich und zeitlich kohärente Segmentierungen zurückgeben. Derartige Segmentierungen können in einer umfassenden Vielzahl von Kontexten, wie z. B. Videoeffekten, künstlicher Intelligenz, Objekterkennung usw., verwendet werden.
  • 11 ist ein Ablaufplan, der einen beispielhaften Prozess 1100 zum Bereitstellen einer Segmentierung in einem Video veranschaulicht, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Der Prozess 1100 kann eine oder mehrere Operationen 1101-1104 enthalten, wie in 11 veranschaulicht ist. Prozess 1100 kann wenigstens einen Teil eines Videosegmentierungsprozesses bilden. Der Begriff Videosegmentierung, wie er hier verwendet wird, gibt die Segmentierung eines oder mehrerer Videoframes des Videos an, so dass jedes Pixel (oder jeder kleine Pixelbereich) der Videoframes Angaben darüber enthält, ob sich das Pixel innerhalb eines speziellen Bereichs (z. B. des Bereichs eines Objekts von Interesse, eines Primärbereichs usw.) des Videoframes befindet. Als ein nicht einschränkendes Beispiel kann der Prozess 1100 wenigstens einen Teil eines Videosegmentierungsprozesses bilden, der durch das System 100 ausgeführt wird, wie hier erörtert ist. Weiterhin wird der Prozess 1100 hier bezüglich des Systems 1200 nach 12 beschrieben.
  • 12 ist eine veranschaulichende graphische Darstellung eines beispielhaften Systems 1200 zum Bereitstellung einer Segmentierung in einem Video, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 12 gezeigt ist, enthält das System 1200 eine oder mehrere Zentraleinheiten (CPU) 1201 (d. h., Zentralprozessor(en)), eine Graphikverarbeitungseinheit 1202 (d. h., einen Graphikprozessor) und Speicher 1203. Wie außerdem gezeigt ist, kann die Graphikverarbeitungseinheit 1202 das Begrenzungsrechteck-Modul 101, den Zwillingsverfolger 102, das Farbmischungsmodell-Modul 103, das Lichtflussmodul 104, das Verschiebungsmodul 105, das Abstandstransformationsmodul 106, das Modul 107 affiner Transformationen, das Orientierungspunkt-Verfolgungsmodul 108, das Verschmelzungsmodul 109, das Energieminimierungsmodell-Modul 110 und den Löser 111 enthalten oder implementieren. Derartige Module oder Komponenten können implementiert sein, um die hier erörterten Operationen auszuführen. Im Beispiel des Systems 1200 können die Speicher 1203 Videoframe-Daten, Begrenzungsrechteck-Daten, Segmentierungsdaten, Farbwahrscheinlichkeitsdaten, Form- und Bewegungswahrscheinlichkeitsdaten, Daten verschmolzener Wahrscheinlichkeiten, Energiemodelldaten oder irgendwelche anderen hier erörterten Daten oder Datenstrukturen speichern.
  • Wie gezeigt ist, sind in einigen Beispielen das Begrenzungsrechteck-Modul 101, der Zwillingsverfolger 102, das Farbmischungsmodell-Modul 103, das Lichtflussmodul 104, das Verschiebungsmodul 105, das Abstandstransformationsmodul 106, das Modul 107 affiner Transformationen, das Orientierungspunkt-Verfolgungsmodul 108, das Verschmelzungsmodul 109, das Energieminimierungsmodell-Modul 110 und der Löser 111 über die Graphikverarbeitungseinheit 1202 implementiert. In anderen Beispielen sind eines oder mehrere oder Abschnitte des Begrenzungsrechteck-Moduls 101, des Zwillingsverfolgers 102, des Farbmischungsmodell-Moduls 103, des Lichtflussmoduls 104, des Verschiebungsmoduls 105, des Abstandstransformationsmoduls 106, des Moduls 107 affiner Transformationen, des Orientierungspunkt-Verfolgungsmoduls 108, des Verschmelzungsmoduls 109, des Energieminimierungsmodell-Moduls 110 und des Lösers 111 über Zentraleinheiten 1201 oder eine (nicht gezeigte) Bildverarbeitungseinheit des Systems 1200 implementiert. In noch anderen Beispielen können eines oder mehrere oder Abschnitte des Begrenzungsrechteck-Moduls 101, des Zwillingsverfolgers 102, des Farbmischungsmodell-Moduls 103, des Lichtflussmoduls 104, des Verschiebungsmoduls 105, des Abstandstransformationsmoduls 106, des Moduls 107 affiner Transformationen, des Orientierungspunkt-Verfolgungsmoduls 108, des Verschmelzungsmoduls 109, des Energieminimierungsmodell-Moduls 110 und des Lösers 111 über eine Bildgebungs-Verarbeitungspipeline, eine Graphikpipeline oder dergleichen implementiert sein.
  • Die Graphikverarbeitungseinheit 1202 kann irgendeine Anzahl und irgendeinen Typ von Graphikverarbeitungseinheiten enthalten, die die hier erörterten Operationen bereitstellen können. Derartige Operationen können über Software oder Hardware oder eine Kombination daraus implementiert sein. Die Graphikverarbeitungseinheit 1202 kann z. B. eine Schaltungsanordnung enthalten, die dediziert ist, die aus den Speichern 1203 erhaltenen Daten zu manipulieren. Die Zentraleinheiten 1201 können irgendeine Anzahl und irgendeinen Typ von Verarbeitungseinheiten oder -modulen enthalten, die Steuer- und andere höhere Funktionen für das System 1200 bereitstellen und/oder irgendwelche Operationen, wie sie hier erörtert sind, bereitstellen können. Die Speicher 1203 können irgendein Typ des Speichers, wie z. B. flüchtiger Speicher (z. B. statischer Schreib-Lese-Speicher (SRAM), dynamischer Schreib-Lese-Speicher (DRAM) usw.) oder nichtflüchtiger Speicher (z. B. Flash-Speicher usw.) usw. sein. In einem nicht einschränkenden Beispiel können die Speicher 1203 durch einen Cache-Speicher implementiert sein. In einer Ausführungsform sind eines oder mehrere oder Abschnitte des Begrenzungsrechteck-Moduls 101, des Zwillingsverfolgers 102, des Farbmischungsmodell-Moduls 103, des Lichtflussmoduls 104, des Verschiebungsmoduls 105, des Abstandstransformationsmoduls 106, des Moduls 107 affiner Transformationen, des Orientierungspunkt-Verfolgungsmoduls 108, des Verschmelzungsmoduls 109, des Energieminimierungsmodell-Moduls 110 und des Lösers 111 über eine Ausführungseinheit (EU) der Graphikverarbeitungseinheit 1202 implementiert. Die EU kann z. B. eine programmierbare Logik oder Schaltungsanordnung, wie z. B. einen Logikkerne oder -kerne enthalten, die ein breites Spektrum an programmierbaren Logikfunktionen bereitstellen können. In einer Ausführungsform sind eines oder mehrere oder Abschnitte des Begrenzungsrechteck-Moduls 101, des Zwillingsverfolgers 102, des Farbmischungsmodell-Moduls 103, des Lichtflussmoduls 104, des Verschiebungsmoduls 105, des Abstandstransformationsmoduls 106, des Moduls 107 affiner Transformationen, des Orientierungspunkt-Verfolgungsmoduls 108, des Verschmelzungsmoduls 109, des Energieminimierungsmodell-Moduls 110 und des Lösers 111 über dedizierte Hardware, wie z. B. eine Schaltungsanordnung mit fester Funktion oder dergleichen, implementiert. Die Schaltungsanordnung mit fester Funktion kann eine dedizierte Logik oder Schaltungsanordnung enthalten und kann einen Satz von Einsprungpunkten der festen Funktionen bereitstellen, die auf die dedizierte Logik für einen festen Zweck oder eine feste Funktion abgebildet werden können. In einigen Ausführungsformen sind eines oder mehrere oder Abschnitte des Begrenzungsrechteck-Moduls 101, des Zwillingsverfolgers 102, des Farbmischungsmodell-Moduls 103, des Lichtflussmoduls 104, des Verschiebungsmoduls 105, des Abstandstransformationsmoduls 106, des Moduls 107 affiner Transformationen, des Orientierungspunkt-Verfolgungsmoduls 108, des Verschmelzungsmoduls 109, des Energieminimierungsmodell-Moduls 110 und des Lösers 111 über eine anwendungsspezifische integrierte Schaltung (ASIC) implementiert. Die ASIC kann eine integrierte Schaltungsanordnung enthalten, die kundenspezifisch angepasst ist, um die hier erörterten Operationen auszuführen.
  • In der Erörterung nach 11 beginnt der Prozess 1100 mit der Operation 1101, wobei ein Farbmischungsmodell unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes trainiert wird, so dass das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt. Das Objekt kann irgendein Objekt sein, für das eine Segmentierung und Verfolgung gewünscht sind. Die Bodenwirklichkeits-Segmentierung kann wenigstens teilweise basierend auf manuellen Operationen, wie z. B. der Pixelauswahl von Pixeln innerhalb des Objekts, erzeugt werden. Das Begrenzungsrechteck kann so erzeugt werden, dass das Begrenzungsrechteck eine vorgegebene Form aufweisen kann. In einigen Ausführungsformen umgibt das Begrenzungsrechteck die Gesamtheit der Bodenwirklichkeits-Segmentierung, wobei es ein Auffüllen bis zu einer äußeren Begrenzung des Begrenzungsrechtecks bereitstellt.
  • Die Verarbeitung geht in der Operation 1102 weiter, wobei basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes eine erste Formschätzung des Objekts im zweiten Videoframe bestimmt wird. Das zweite Begrenzungsrechteck, das einen Aufmerksamkeitsbereich bereitstellt, in dem die Segmentierung im zweiten Videoframe erwartet wird, kann unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken erzeugt werden. In einigen Ausführungsformen enthält der Prozess 1100 ferner das Bestimmen des zweiten Begrenzungsrechtecks des zweiten Videoframes durch das Anwenden eines vortrainierten Zwillingsverfolger-Faltungsnetzes basierend auf einem Suchbereich des zweiten Videoframes und dem ersten Begrenzungsrechteck als ein Exemplar. Weiterhin kann die erste Formschätzung eine binäre Formschätzung oder eine schwache Formschätzung enthalten, die unter Verwendung irgendeiner geeigneten Technik oder irgendwelcher geeigneter Techniken erzeugt wird. In einigen Ausführungsformen enthält das Bestimmen der ersten Formschätzung das Verschieben der Bodenwirklichkeits-Segmentierung basierend auf dem Lichtfluss und das Anwenden einer Abstandstransformation auf die verschobene Bodenwirklichkeits-Segmentierung. In einigen Ausführungsformen enthält die erste Formschätzung die Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist.
  • Die Verarbeitung geht bei der Operation 1103 weiter, wo eine affine Transformation auf die erste Formschätzung angewendet wird, um eine zweite Formschätzung des Objekts im zweiten Videoframe zu erzeugen. In einigen Ausführungsformen wird die affine Transformation basierend auf der Objektmarkierungs-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt. Die Orientierungspunkte irgendeines Typs, wie z. B. Gesichtsorientierungspunkte, können z. B. unter Verwendung eines vortrainierten Verfolgers verfolgt werden, wobei die verfolgten Orientierungspunkte verwendet werden können, um die affine Transformation zu bestimmen. Die affine Transformation kann durch irgendeine geeignete Datenstruktur, wie z. B. eine affine Transformationsmatrix oder dergleichen, dargestellt sein. In einigen Ausführungsformen enthält die zweite Formschätzung Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist.
  • Die Verarbeitung geht bei der Operation 1104 weiter, wo eine endgültige Segmentierung des Objekts im zweiten Videoframe wenigstens basierend auf der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck bestimmt wird. In einigen Ausführungsformen stellt die endgültige Segmentierung eine binäre Segmentierung des Objekts im zweiten Videoframe bereit. In einigen Ausführungsformen enthält die zweite Formschätzung form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist. In einigen Ausführungsformen erzeugt die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe, so dass die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel enthält, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist. In einigen Ausführungsformen umfasst das Bestimmen der endgültigen Segmentierung das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel, um endgültige Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen. In einigen Ausführungsformen enthält das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel das Multiplizieren der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  • In einigen Ausführungsformen enthält das Bestimmen der endgültigen Segmentierung für das Objekt das Minimieren eines graphenbasierten Energiesummationsmodells, das einen unären Energieterm basierend auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks, einen Term der paarweisen Energie basierend auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks und einen Superpixel-Energieterm basierend auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks enthält. In einigen Ausführungsformen enthält das Minimieren des graphenbasierten Energiesummationsmodells das Bestimmen der endgültigen Segmentierung innerhalb des zweiten Begrenzungsrechtecks, die eine Summe des unären Energieterms, des Terms der paarweisen Energie und des Superpixel-Energieterms minimiert. In einigen Ausführungsformen stellt der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereit, der größer als der erste Superpixel-Energiewert ist. In einigen Ausführungsformen stellt der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die einen Prozentsatz von Pixeln eines Superpixels innerhalb des Objekts, der einen Schwellenwert übersteigt, und wenigstens ein Pixel des Superpixels außerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereit, der größer als der erste Superpixel-Energiewert ist. In einigen Ausführungsformen stellt der unäre Energieterm in Reaktion auf eine Kandidatensegmentierung, die eine Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel aufweist, einen größeren unären Energiewert für ein Pixel bereit. In einigen Ausführungsformen stellt der Term der paarweisen Energie in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche Farbe aufweist, einen größeren Wert der paarweisen Energie für ein Paar von Pixeln bereit. In einigen Ausführungsformen enthält das Minimieren der graphenbasierten Energiesummation das Anwenden eines Boykov-Kolmogorov-Lösers auf die graphenbasierte Energiesummation. In einigen Ausführungsformen werden die Superpixel-Grenzen durch das Anwenden einer einfachen linearen iterativen Clusterbildung auf das zweiten Begrenzungsrechteck erzeugt.
  • Wie hier erörtert ist, wird dann der Prozess 1100 (in relevanten Abschnitten) unter Verwendung der endgültigen Segmentierung für den zweiten Videoframe (anstelle der Bodenwirklichkeits-Segmentierung) wiederholt, um eine endgültige Segmentierung für einen dritten Videoframe anschließend an den zweiten Videoframe zu bestimmen, die verwendet wird, um eine endgültige Segmentierung für einen viertes Videoframe zu bestimmen, usw. Der Prozess 1100 stellt eine Segmentierung eines aktuellen Videoframes basierend auf einer Segmentierung (optional eine Bodenwirklichkeits-Segmentierung) eines vorhergehenden Videoframes bereit. Der Prozess 1100 kann in irgendeiner Anzahl, entweder in Reihe oder parallel, für irgendeine Anzahl von Videoframes, Videosequenzen usw. wiederholt werden.
  • Verschiedene Komponenten der hier beschriebenen Systeme können in Software, Firmware und/oder Hardware und/oder irgendeiner Kombination daraus implementiert sein. Verschiedene Komponenten der hier erörterten Vorrichtungen oder Systeme können z. B. wenigstens teilweise durch die Hardware eines Rechensystems auf einem Chip (SoC) bereitgestellt sein, wie es z. B. in einem Rechensystem, wie z. B. einem Computer, einem Laptop-Computer, einem Tablet oder einem Smartphone, gefunden werden kann. Derartige Komponenten oder Module können z. B. über einen Mehrkern-SoC-Prozessor implementiert sein. Die Fachleute auf dem Gebiet können erkennen, dass die hier beschriebenen Systeme zusätzliche Komponenten enthalten können, die in den entsprechenden Figuren nicht dargestellt sind.
  • Während die Implementierung der hierin erörterten beispielhaften Prozesse das Durchführen aller gezeigten Operationen in der veranschaulichenden Reihenfolge enthalten kann, ist die vorliegende Offenbarung in dieser Hinsicht nicht eingeschränkt, wobei in verschiedenen Beispielen die Implementierung der beispielhaften Prozesse hier nur eine Teilmenge der gezeigten Operationen, Operationen, die in einer anderen Reihenfolge als der veranschaulichten ausgeführt werden, oder zusätzliche Operationen enthalten kann.
  • Zusätzlich können eine oder mehrere der hierin erörterten Operationen in Reaktion auf Anweisungen durchgeführt werden, die durch ein oder mehrere Computerprogrammprodukte bereitgestellt werden. Derartige Programmprodukte können signaltragende Medien enthalten, die Anweisungen bereitstellen, die, wenn sie z. B. durch einen Prozessor ausgeführt werden, die hier beschriebene Funktionalität bereitstellen können. Die Computerprogrammprodukte können in irgendeiner Form eines oder mehrerer maschinenlesbarer Medien bereitgestellt werden. Folglich kann z. B. ein Prozessor, der eine oder mehrere Graphikverarbeitungseinheit(en) oder einen oder mehrere Prozessorkern(e) enthält, in Reaktion auf den Programmcode und/oder die Anweisungen oder die Anweisungssätze, die durch ein oder mehrere maschinenlesbare Medien zu dem Prozessor transportiert werden, einen oder mehrere der Blöcke der beispielhaften Prozesse hier durchführen. Im Allgemeinen kann ein maschinenlesbares Medium Software in der Form von Programmcode und/oder Anweisungen oder Anweisungssätzen transportieren, die bewirken können, dass irgendeine der Vorrichtungen und/oder irgendeines der Systeme, die hier beschrieben sind, wenigstens Abschnitte der erörterten Operationen, Module oder Komponenten, die hier erörtert sind, implementiert.
  • Der Begriff „Modul“, wie er in jeder hierin beschriebenen Implementierung verwendet wird, bezieht sich auf irgendeine Kombination aus Software-Logik, Firmware-Logik, Hardware-Logik und/oder einer Schaltungsanordnung, die konfiguriert sind, die hier beschriebene Funktionalität bereitzustellen. Die Software kann als ein Softwarepaket, ein Code und/oder ein Anweisungssatz oder Anweisungen verkörpert sein, wobei die „Hardware“, wie sie in jeder hier beschriebenen Ausführungsform verwendet wird, z. B. einzeln oder in irgendeiner Kombination eine festverdrahtete Schaltungsanordnung, eine programmierbare Schaltungsanordnung, eine Zustandsmaschinen-Schaltungsanordnung, eine Schaltungsanordnung mit fester Funktion, eine Ausführungseinheits-Schaltungsanordnung und/oder Firmware, die die durch eine programmierbare Schaltungsanordnung ausgeführte Befehle speichert, enthalten kann. Die Module können gemeinsam oder einzeln als eine Schaltungsanordnung verkörpert sein, die einen Teil eines größeren Systems, z. B. einer integrierten Schaltung (IC), eines Systems auf einem Chip (SoC) usw., bildet.
  • 13 ist eine veranschaulichende graphische Darstellung eines beispielhaften Systems 1300, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. In verschiedenen Implementierungen kann System 1300 ein Rechensystem sein, obwohl System 1300 nicht auf diesen Kontext eingeschränkt ist. Das System 1300 kann z. B. in einem Personalcomputer (PC), einem Laptop-Computer, einem Ultra-Laptop-Computer, einem Tablet, einem Phablet, einem Tastfeld, einem tragbaren Computer, einem Hand-Computer, einem Palmtop-Computer, einem persönlichen digitalen Assistenten (PDA), einem Mobiltelephon, einer Kombination Mobiltelephon/PDA, einem Fernsehgerät, einer intelligenten Vorrichtung (z. B. einem Smartphone, einem Smart-Tablet oder einem-Smart-TV), einer mobilen Internetvorrichtung (MID), einer Nachrichtenübermittlungsvorrichtung, einer Datenkommunikationsvorrichtung, einer Peripherievorrichtung, einer Spielkonsole, einer tragbaren Vorrichtung, einer Anzeigevorrichtung, einer Alles-in-einem-Vorrichtung, einer Zwei-in-einem-Vorrichtung usw. enthalten sein.
  • In verschiedenen Implementierungen enthält das System 1300 eine Plattform 1302, die an eine Anzeige 1320 gekoppelt ist. Die Plattform 1302 kann Inhalt von einer Inhaltsvorrichtung, wie z. B. Inhaltsdienst-Vorrichtung(en) 1330 oder Inhaltsliefer-Vorrichtung(en) 1340 oder anderen ähnlichen Inhaltsquellen, wie z. B. einer Kamera oder einem Kameramodul oder dergleichen, empfangen. Ein Navigations-Controller 1350, der ein oder mehrere Navigationsmerkmale enthält, kann verwendet werden, um z. B. mit der Plattform 1302 und/oder der Anzeige 1320 in Wechselwirkung zu treten. Jede dieser Komponenten wird im Folgenden ausführlicher beschrieben.
  • In verschiedenen Implementierungen kann die Plattform 1302 irgendeine Kombination aus einem Chipsatz 1305, einem Prozessor 1310, einem Datenspeicher 1312, einer Antenne 1313, einem Speicher 1314, einem Graphik-Teilsystem 1315, den Anwendungen 1316 und/oder der Funkvorrichtung 1318 enthalten. Der Chipsatz 1305 kann die gegenseitige Verbindung zwischen dem Prozessor 1310, dem Datenspeicher 1312, dem Speicher 1314, dem Graphik-Teilsystem 1315, den Anwendungen 1316 und/oder der Funkvorrichtung 1318 bereitstellen. Der Chipsatz 1305 kann z. B. einen (nicht dargestellten) Speicheradapter enthalten, der eine gegenseitige Verbindung mit dem Speicher 1314 bereitstellen kann.
  • Der Prozessor 1310 kann als ein Computerprozessor mit komplexem Anweisungssatz (CISC-Prozessor) oder ein Computerprozessor mit verringertem Anweisungssatz (RISC-Prozessor), mit dem x86-Befehlssatz kompatible Prozessoren, ein Mehrfachkern oder irgendein anderer Mikroprozessor oder irgendeine andere Zentraleinheit (CPU) implementiert sein. In verschiedenen Implementierungen kann der Prozessor 1310 ein Doppelkern-Prozessor(en), ein Doppelkern-Mobilprozessor(en) usw. sein.
  • Der Datenspeicher 1312 kann als eine flüchtige Speichervorrichtung, wie z. B. ein Schreib-Lese-Speicher (RAM), ein dynamischer Schreib-Lese-Speicher (DRAM) oder ein statischer Schreib-Lese-Speicher (SRAM), implementiert sein, ist aber nicht darauf eingeschränkt.
  • Der Speicher 1314 kann als eine nichtflüchtige Speichervorrichtung, wie z. B. ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk, eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung, ein Flash-Speicher, ein batteriegesicherter SDRAM (synchroner DRAM) und/oder eine netzzugängliche Speichervorrichtung implementiert sein, ist aber nicht darauf eigeschränkt. In verschiedenen Implementierungen kann der Speicher 1314 eine Technik enthalten, um die Speicherleistung zu erhöhen, z. B. einen verbesserten Schutz für wertvolle digitale Medien, wenn mehrere Festplattenlaufwerke enthalten sind.
  • Das Graphik-Teilsystem 1315 kann das Verarbeiten von Bildern, wie z. B. Standbildern, Graphiken oder Video, für die Anzeige ausführen. Das Graphik-Teilsystem 1315 kann z. B. eine Graphikverarbeitungseinheit (GPU), eine visuelle Verarbeitungseinheit (VPU) oder eine Bildverarbeitungseinheit sein. In einigen Beispielen kann das Graphik-Teilsystem 1315 das Wiedergeben abgetasteter Bilder ausführen, wie hier erörtert worden ist. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Graphik-Teilsystem 1315 und die Anzeige 1320 kommunikationstechnisch zu koppeln. Die Schnittstelle kann z. B. irgendeine von einer hochauflösenden Multimedia-Schnittstelle, einem DisplayPort, drahtlosem HDMI und/oder drahtlosen HDkompatibler Techniken sein. Das Graphik-Teilsystem 1315 kann in den Prozessor 1310 oder den Chipsatz 1305 integriert sein. In einigen Implementierungen kann das Graphik-Teilsystem 1315 eine selbstständige Vorrichtung sein, die kommunikationstechnisch an den Chipsatz 1305 gekoppelt ist.
  • Die hier beschriebenen Bildverarbeitungstechniken können in verschiedenen Hardware-Architekturen implementiert sein. Die Bildverarbeitungsfunktionalität kann z. B. innerhalb eines Chipsatzes integriert sein. Alternativ können ein diskreter Graphik- und/oder Bildprozessor und/oder eine anwendungsspezifische integrierte Schaltung verwendet werden. Als eine noch weitere Implementierung kann die Bildverarbeitung durch einen Universalprozessor bereitgestellt sein, der einen Mehrkernprozessor enthält. In weiteren Ausführungsformen können die Funktionen in einer Unterhaltungselektronikvorrichtung implementiert sein.
  • Die Funkvorrichtung 1318 kann ein oder mehrere Funkvorrichtungen enthalten, die Signale unter Verwendung verschiedener geeigneter drahtloser Kommunikationstechniken senden und empfangen können. Derartige Techniken können die Kommunikation über ein oder mehrere drahtlose Netze einschließen. Beispielhafte drahtlose Netze enthalten (sind aber nicht eingeschränkt auf) drahtlose lokale Netze (WLANs), drahtlose persönliche Netze (WPANs), drahtlose Stadtnetze (WMANs), zellenbasierte Netze und Satellitennetze. Beim Kommunizieren über derartige Netze kann die Funkvorrichtung 1318 in Übereinstimmung mit einem oder mehreren anwendbaren Standards in irgendeiner Version arbeiten.
  • In verschiedenen Implementierungen kann die Anzeige 1320 irgendeinen Flachbildschirm oder irgendeine Anzeige enthalten. Die Anzeige 1320 kann z. B. einen Computer-Anzeigeschirm, eine Berührungsschirm-Anzeige, einen Videomonitor, eine fernsehähnliche Vorrichtung und/oder ein Fernsehgerät enthalten. Die Anzeige 1320 kann digital und/oder analog sein. In verschiedenen Implementierungen kann die Anzeige 1320 eine holographische Anzeige sein. Außerdem kann die Anzeige 1320 eine transparente Oberfläche sein, die eine visuelle Projektion empfangen kann. Derartige Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten transportieren. Derartige Projektionen können z. B. eine visuelle Überlagerung für eine Anwendung der mobilen erweiterten Realität (MAR) sein. Unter der Steuerung einer oder mehrerer Software-Anwendungen 1316 kann die Plattform 1302 die Anwenderschnittstelle 1322 auf der Anzeige 1320 anzeigen.
  • In verschiedenen Implementierungen kann (können) die Inhaltsdienst-Vorrichtung(en) 1330 durch irgendeinen nationalen, internationalen und/oder unabhängigen Dienst gehostet sein und folglich z. B. über das Internet für die Plattform 1302 zugänglich sein. Die Inhaltsdienst-Vorrichtung(en) 1330 kann (können) an die Plattform 1302 und/oder an die Anzeige 1320 gekoppelt sein. Die Plattform 1302 und/oder die Inhaltsdienst-Vorrichtung(en) 1330 kann/können an ein Netz 1360 gekoppelt sein, um Medieninformationen an das und von dem Netz 1360 zu übertagen (z. B. zu senden und/oder zu empfangen). Die Inhaltslieferungs-Vorrichtung(en) 1340 kann (können) außerdem an die Plattform 1302 und/oder die Anzeige 1320 gekoppelt sein.
  • In verschiedenen Implementierungen kann (können) die Inhaltsdienst-Vorrichtung(en) 1330 eine Kabelfernsehbox, einen Personalcomputer, ein Netz, ein Telephon, internetfähige Vorrichtungen oder Hausgeräte, die digitale Informationen und/oder digitalen Inhalt liefern können, und irgendeine andere ähnliche Vorrichtung, die Inhalt zwischen Inhaltsanbietern und der Plattform 1302 und/oder der Anzeige 1320 über das Netz 1360 oder direkt unidirektional oder bidirektional übertragen kann, enthalten. Es wird erkannt, dass der Inhalt unidirektional und/oder bidirektional zu und von irgendeiner der Komponenten im System 1300 und einem Inhaltsanbieter über das Netz 1360 übertragen werden kann. Die Beispiele des Inhalts können irgendwelche Medieninformationen, einschließlich z. B. Video, Musik, medizinische und Spielinformationen usw., enthalten.
  • Die Inhaltsdienst-Vorrichtung(en) 1330 kann (können) Inhalt, wie z. B. Kabelfernsehprogramme einschließlich Medieninformationen, digitaler Informationen und/oder anderen Inhalt, empfangen. Beispiele der Inhaltsanbieter können irgendwelche Anbieter von Kabel- oder Satellitenfernsehen oder -radio oder Internet-Inhalt enthalten. Die bereitgestellten Beispiele sind nicht gemeint, die Implementierungen in Übereinstimmung mit der vorliegenden Offenbarung in irgendeiner Weise einzuschränken.
  • In verschiedenen Implementierungen kann die Plattform 1302 Steuersignale vom Navigations-Controller 1350, der ein oder mehrere Navigationsmerkmale aufweist, empfangen. Die Navigationsfunktionen des Navigationscontrollers 1350 können verwendet werden, um z. B. mit der Anwenderschnittstelle 1322 in Wechselwirkung zu treten. In verschiedenen Ausführungsformen kann der Navigations-Controller 1350 eine Zeigevorrichtung sein, die eine Computer-Hardware-Komponente (insbesondere eine menschliche Schnittstellenvorrichtung) sein kann, die es einem Anwender ermöglicht, räumliche (z. B. kontinuierliche und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme, wie z. B. graphische Anwenderschnittstellen (GUI), Fernsehgeräte und Monitore, ermöglichen es dem Anwender, den Computer oder das Fernsehgerät unter Verwendung physischer Gesten zu steuern und ihm Daten bereitzustellen.
  • Die Bewegungen der Navigationsmerkmale des NavigationsControllers 1350 können auf einer Anzeige (z. B. der Anzeige 1320) durch Bewegungen eines Zeigers, einer Schreibmarke, eines Fokusrings oder anderer auf der Anzeige angezeigter visueller Indikatoren repliziert werden. Unter der Steuerung der Software-Anwendungen 1316 können z. B. die Navigationsmerkmale, die sich auf dem Navigations-Controller 1350 befinden, auf virtuelle Navigationsmerkmale abgebildet werden, die z. B. auf der Anwenderschnittstelle 1322 angezeigt werden. In verschiedenen Ausführungsformen kann der Navigations-Controller 1350 keine separate Komponente sein, sondern in die Plattform 1302 und/oder die Anzeige 1320 integriert sein. Die vorliegende Offenbarung ist jedoch nicht auf die hier gezeigten oder beschriebenen Elemente oder in dem hier gezeigten oder beschriebenen Kontext eingeschränkt.
  • In verschiedenen Ausführungsformen können (nicht gezeigte) Treiber eine Technik enthalten, die es den Anwendern ermöglicht, die Plattform 1302 wie ein Fernsehgerät nach dem anfänglichen Hochfahren mit der Berührung einer Schaltfläche ein- und auszuschalten, wenn sie z. B. aktiviert ist. Die Programmlogik kann es der Plattform 1302 ermöglichen, Inhalt an Medienadapter oder andere Inhaltsdienst-Vorrichtung(en) 1330 oder Inhaltsliefer-Vorrichtung(en) 1340 zu streamen, selbst wenn die Plattform „aus“-geschaltet ist. Zusätzlich kann der Chipsatz 1305 z. B. eine Hardware- und/oder Software-Unterstützung für 5.1-Raumklang-Audio und/oder hochauflösendes 13.1-Raumklang-Audio enthalten. Die Treiber können einen Graphiktreiber für integrierte Graphikplattformen enthalten. In verschiedenen Ausführungsformen kann der Graphiktreiber eine Peripheriekomponenten-Zusammenschaltungsexpress-Graphikkarte (PCI-Express-Graphikkarte) umfassen.
  • In verschiedenen Ausführungsformen können irgendeine oder mehrere der im System 1300 gezeigten Komponenten integriert sein. Die Plattform 1302 und die Inhaltsdienst-Vorrichtung(en) 1330 können z. B. integriert sein, oder die Plattform 1302 und die Inhaltsliefer-Vorrichtung(en) 1340 können integriert sein oder die Plattform 1302, die Inhaltsdienst-Vorrichtung(en) 1330 und die Inhaltsliefer-Vorrichtung(en) 1340 können z. B. integriert sein. In verschiedenen Ausführungsformen können die Plattform 1302 und die Anzeige 1320 eine integrierte Einheit sein. Die Anzeige 1320 und die Inhaltsdienst-Vorrichtung(en) 1330 können z. B. integriert sein, oder die Anzeige 1320 und die Inhaltsliefer-Vorrichtung(en) 1340 können integriert sein. Diese Beispiele sind nicht gemeint, um die vorliegende Offenbarung einzuschränken.
  • In verschiedenen Ausführungsformen kann das System 1300 als ein drahtloses System, ein drahtgebundenes System oder eine Kombination aus beidem implementiert sein. Wenn das System 1300 als ein drahtloses System implementiert wird, kann es Komponenten und Schnittstellen enthalten, die für die Kommunikation über ein drahtlose gemeinsam genutzte Medien geeignet sind, wie z. B. eine oder mehrere Antennen, Sender, Empfänger, Sender/Empfänger, Verstärker, Filter, eine Steuerlogik usw. Ein Beispiel gemeinsam benutzter drahtloser Medien kann Abschnitte eines drahtlosen Spektrums, wie z. B. des HF-Spektrums usw., enthalten. Wenn das System 1300 als drahtgebundenes System implementiert wird, kann es Komponenten und Schnittstellen enthalten, die für das Kommunizieren über drahtgebundene Kommunikationsmedien geeignet sind, wie z. B. Eingabe-/Ausgabeadapter (E/A-Adapter), physische Verbinder, um den E/A-Adapter mit einem entsprechenden drahtgebundenen Kommunikationsmedium zu verbinden, eine Netzschnittstellenkarte (NIC), einen Platten-Controller, einen Video-Controller, einen Audio-Controller und dergleichen. Die Beispiele der drahtgebundenen Kommunikationsmedien können einen Draht, ein Kabel, Metallleitungen, eine Leiterplatte (PCB), eine Rückwandplatine, eine Schaltermatrix, ein Halbleitermaterial, ein verdrilltes Leitungspaar, ein Koaxialkabel, eine Faseroptik usw. enthalten.
  • Die Plattform 1302 kann einen oder mehrere logische oder physische Kanäle aufbauen, um Informationen zu übertragen. Die Informationen können Medieninformationen und Steuerinformationen enthalten. Die Medieninformationen können sich auf irgendwelche Daten beziehen, die für einen Anwender bestimmte Inhalte repräsentieren. Die Beispiele der Inhalte können z. B. Daten aus einem Gespräch, einer Videokonferenz, einem Streaming-Video, einer Nachricht der elektronische Post („E-Mail“-Nachricht), Sprachpost-Nachrichten, alphanumerische Symbole, Graphiken, ein Bild, Videos, Text usw. enthalten. Die Daten aus einem Gespräch können z. B. Sprachinformationen, Schweigeperioden, Hintergrundgeräusche, minimales Rauschen, Töne usw. sein. Die Steuerinformationen können sich auf irgendwelche Daten beziehen, die Befehle, Anweisungen oder Steuerwörter repräsentieren, die für ein automatisiertes System bestimmt sind. Die Steuerinformationen können z. B. verwendet werden, Medieninformationen durch ein System zu leiten oder einen Knoten anzuweisen, die Medieninformationen in einer vorgegebenen Weise zu verarbeiten. Die Ausführungsformen sind jedoch nicht auf die Elemente oder den Kontext eingeschränkt, die in 13 gezeigt oder beschrieben sind.
  • Wie oben beschrieben worden ist, kann das System 1300 in verschiedenen physischen Stilen oder Formfaktoren verkörpert sein. 14 veranschaulicht ein Beispiel einer Vorrichtung mit kleinem Formfaktor 1400, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. In einigen Beispielen kann das System 1300 über die Vorrichtung 1400 implementiert sein. In anderen Beispielen können andere hier erörterte Systeme, Komponenten oder Module oder Teile davon über die Vorrichtung 1400 implementiert sein. In verschiedenen Ausführungsformen kann die Vorrichtung 1400 z. B. als eine mobile Rechenvorrichtung mit drahtlosen Fähigkeiten implementiert sein. Eine mobile Rechenvorrichtung kann sich z. B. auf irgendeine Vorrichtung beziehen, die ein Verarbeitungssystem und eine mobile Leistungsquelle oder -versorgung, wie z. B. eine oder mehrere Batterien, aufweist.
  • Die Beispiele einer mobilen Rechenvorrichtung können einen Personalcomputer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Tastfeld, einen tragbaren Computer, einen Hand-Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelephon, eine Kombination Mobiltelefon/PDA, eine intelligente Vorrichtung (z. B. ein Smartphone, ein intelligentes Tablet oder ein intelligentes mobiles Fernsehgerät), ein mobile Internetvorrichtung (MID), eine Nachrichtenübermittlungsvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Kompaktkameras, Super-Zoom-Kameras, digitale Spiegelreflexkameras (DSLR)) usw. enthalten.
  • Die Beispiele einer mobilen Rechenvorrichtung können außerdem Computer enthalten, die angeordnet sind, durch ein Kraftfahrzeug oder einen Roboter implementiert zu sein oder durch eine Person getragen zu werden, wie z. B. Handgelenk-Computer, Finger-Computer, Ring-Computer, Brillen-Computer, Gürtel-Clip-Computer, Armband-Computer, Schuh-Computer, Bekleidungs-Computer und andere tragbare Computer. In verschiedenen Ausführungsformen kann z. B. eine mobile Rechenvorrichtung als ein Smartphone implementiert sein, das sowohl Computeranwendungen als auch Sprachkommunikationen und/oder Datenkommunikationen ausführen kann. Obwohl einige Ausführungsformen beispielhaft mit einer mobilen Rechenvorrichtung beschrieben sein können, die als ein Smartphone implementiert ist, kann erkannt werden, dass andere Ausführungsformen ebenso unter Verwendung anderer drahtloser mobiler Rechenvorrichtungen implementiert sein können. Die Ausführungsformen sind in diesem Kontext nicht eingeschränkt.
  • Wie in 14 gezeigt ist, kann die Vorrichtung 1400 ein Gehäuse mit einer Vorderseite 1401 und einer Rückseite 1402 enthalten. Die Vorrichtung 1400 enthält eine Anzeige 1404, eine Eingabe-/Ausgabe- (E/A-) Vorrichtung 1406, eine Farbkamera 1421, eine Farbkamera 1422 und eine integrierte Antenne 1408. Die Farbkamera 1421 und die Farbkamera 1422 kann z. B. Bilddaten (z. B. linke und rechte Bilder) eingeben, wie hier erörtert wird. Die Vorrichtung 1400 kann außerdem die Navigationsmerkmale 1412 enthalten. Die E/A-Vorrichtung 1406 kann irgendeine geeignete E/A-Vorrichtung zum Eingeben von Informationen in eine mobile Rechenvorrichtung enthalten. Die Beispiele der E/A-Vorrichtung 1406 können eine alphanumerische Tastatur, eine numerisches Kleintastatur, ein Tastfeld, Eingabetasten, Knöpfe, Schalter, Mikrophone, Lautsprecher, eine Spracherkennungsvorrichtung und Software usw. enthalten. Die Informationen können außerdem über ein (nicht gezeigtes) Mikrophon in die Vorrichtung 1400 eingegeben werden oder können durch eine Spracherkennungsvorrichtung digitalisiert werden. Wie gezeigt ist, kann die Vorrichtung 1400 die Farbkameras 1421, 1422 und einen Blitz 1410 enthalten, die in die Rückseite 1402 (oder anderswo) der Vorrichtung 1400 integriert ist. In anderen Beispielen können die Farbkameras 1421, 1422 und der Blitz 1410 in die Vorderseite 1401 der Vorrichtung 1400 integriert sein oder es können sowohl vordere als auch hintere Sätze von Kameras bereitgestellt sein. Die Farbkameras 1421, 1422 und ein Blitz 1410 können Komponenten eines Kameramoduls sein, um Farbbilddaten hervorzubringen, die in ein Bild oder ein Streaming-Video verarbeitet werden können, das zur Anzeige 1404 ausgegeben wird und/oder z. B. über die Antenne 1408 von der Vorrichtung 1400 fernübertragen wird.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination aus beidem implementiert sein. Die Beispiele der Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten usw.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), eine feldprogrammierbare Gatteranordnung (FPGA), Logikgatter, Register, eine Halbleitervorrichtung, Chips, Mikrochips, Chipsätze usw. enthalten. Die Beispiele der Software können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware, Firmware, Software-Module, Routinen, Unterprogramme, Funktionen, Verfahren, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen (API), Anweisungssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder irgendeine Kombination daraus enthalten. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann in Übereinstimmung mit irgendeiner Anzahl von Faktoren variieren, wie z. B. der gewünschten Rechengeschwindigkeit, den Leistungspegeln, den Wärmetoleranzen, dem Verarbeitungszyklusbudget, den Eingangsdatenraten, den Ausgangsdatenraten, den Speicherbetriebsmitteln, den Datenbusgeschwindigkeiten und anderen Entwurfs- oder Leistungsbeschränkungen.
  • Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch repräsentative Anweisungen implementiert sein, die in einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors repräsentiert, die, wenn sie durch eine Maschine gelesen werden, die Maschine veranlassen, die Logik herzustellen, um die hier beschriebenen Techniken auszuführen. Derartige Darstellungen, die als IP-Kerne bekannt sind, können in einem greifbaren, maschinenlesbaren Medium gespeichert sein und an verschiedene Kunden oder Fertigungseinrichtungen geliefert werden, um sie in die Fertigungsmaschinen zu laden, die die Logik oder den Prozessor tatsächlich herstellen.
  • In einer oder mehreren ersten Ausführungsformen umfasst ein Verfahren zum Bereitstellen einer Segmentierung in einem Video das Trainieren eines Farbmischungsmodells unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes, wobei das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt, das Bestimmen basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes einer ersten Formschätzung des Objekts in dem zweiten Videoframe, das Anwenden einer affinen Transformation auf die erste Formschätzung, um eine zweite Formschätzung des Objekts im zweiten Videoframe zu erzeugen, wobei die affine Transformation basierend auf der Objektorientierungspunkt-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt wird, und das Bestimmen einer endgültigen Segmentierung des Objekts im zweiten Videoframe basierend auf wenigstens der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck.
  • In einer oder mehreren zweiten Ausführungsformen bezugnehmend auf die erste Ausführungsform umfassen die zweiten Formschätzungen form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, wobei die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe erzeugt, wobei die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, und wobei das Bestimmen der endgültigen Segmentierung das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  • In einer oder mehreren dritten Ausführungsformen bezugnehmend auf die erste oder die zweite Ausführungsform umfasst das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel das Multiplizieren der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  • In einer oder mehreren vierten Ausführungsformen bezugnehmend auf eine der ersten bis dritten Ausführungsformen umfasst das Bestimmen der endgültigen Segmentierung für das Objekt das Minimieren eines graphenbasierten Energiesummationsmodells, das einen auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks basierenden unären Energieterm, einen auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks basierenden Term der paarweisen Energie und einen auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks basierenden Superpixel-Energieterm umfasst.
  • In einer oder mehreren fünften Ausführungsformen bezugnehmend auf eine der ersten bis vierten Ausführungsformen umfasst das Minimieren des graphenbasierten Energiesummationsmodells das Bestimmen der endgültigen Segmentierung innerhalb des zweiten Begrenzungsrechtecks, die eine Summe des unären Energieterms, des Terms der paarweisen Energie und des Superpixel-Energieterms minimiert.
  • In einer oder mehreren sechsten Ausführungsformen bezugnehmend auf eine der ersten bis fünften Ausführungsformen stellt der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereit, der größer als der erste Superpixel-Energiewert ist.
  • In einer oder mehreren siebenten Ausführungsformen bezugnehmend auf eine der ersten bis sechsten Ausführungsformen stellt der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die einen Prozentsatz von Pixeln eines Superpixels innerhalb des Objekts, der einen Schwellenwert übersteigt, und wenigstens ein Pixel des Superpixels außerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereit, der größer als der erste Superpixel-Energiewert ist.
  • In einer oder mehreren achten Ausführungsformen bezugnehmend auf eine der ersten bis siebenten Ausführungsformen stellt der unäre Energieterm in Reaktion auf eine Kandidatensegmentierung, die eine Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel aufweist, einen größeren unären Energiewert für ein Pixel bereit und stellt der Term der paarweisen Energie in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche Farbe aufweist, für ein Paar von Pixeln einen größeren Wert der paarweisen Energie bereit.
  • In einer oder mehreren neunten Ausführungsformen bezugnehmend auf eine der ersten bis achten Ausführungsformen umfasst das Minimieren der graphenbasierten Energiesummation das Anwenden eines Boykov-Kolmogorov-Lösers auf die graphenbasierte Energiesummation, und wobei die Superpixelgrenzen durch das Anwenden einer einfachen linearen iterativen Clusterbildung auf das zweite Begrenzungsrechteck erzeugt werden.
  • In einer oder mehreren zehnten Ausführungsformen bezugnehmend auf eine der ersten bis neunten Ausführungsformen umfasst das Bestimmen der ersten Formschätzung das Verschieben der Bodenwirklichkeits-Segmentierung basierend auf dem Lichtfluss und das Anwenden einer Abstandstransformation auf die verschobene Bodenwirklichkeits-Segmentierung, wobei die erste und die zweite Formschätzung Wahrscheinlichkeits-Punktzahlen pro Pixel umfassen, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist.
  • In einer oder mehreren elften Ausführungsformen bezugnehmend auf eine der ersten bis weiteren Ausführungsformen umfasst das Verfahren ferner das Bestimmen des zweiten Begrenzungsrechtecks des zweiten Videoframes durch das Anwenden eines vortrainierten Zwillingsverfolger-Faltungsnetzes basierend auf einem Suchbereich des zweiten Videoframes und dem ersten Begrenzungsrechteck als ein Exemplar.
  • In einer oder mehreren zwölften Ausführungsformen enthält eine Vorrichtung oder ein System einen Speicher und einen Prozessor, um ein Verfahren gemäß einer der obigen Ausführungsformen auszuführen.
  • In einer oder mehreren dreizehnten Ausführungsformen enthält wenigstens ein maschinenlesbares Medium mehrere Anweisungen, die in Reaktion darauf, dass sie in einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, ein Verfahren gemäß irgendeiner der obigen Ausführungsformen auszuführen.
  • In einer oder mehreren vierzehnten Ausführungsformen enthält eine Vorrichtung Mittel zum Ausführen eines Verfahrens gemäß einer der obigen Ausführungsformen.
  • Während bestimmte hier dargelegte Merkmale bezüglich verschiedener Ausführungsformen beschrieben worden sind, ist nicht vorgesehen, dass diese Beschreibung in einem einschränkenden Sinn ausgelegt wird. Folglich wird davon ausgegangen, dass sowohl verschiedene Modifikationen der hier beschriebenen Implementierungen als auch andere Implementierungen, die für die Fachleute auf dem Gebiet, zu dem die vorliegende Offenbarung gehört, offensichtlich sind, innerhalb des Erfindungsgedankens und des Schutzumfangs der vorliegenden Offenbarung liegen.
  • Es wird erkannt, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen eingeschränkt sind, sondern mit Modifikationen und Änderungen praktiziert werden können, ohne vom Schutzumfang der beigefügten Ansprüche abzuweichen. Die obigen Ausführungsformen können z. B. eine spezifische Kombination von Merkmalen enthalten. Die obigen Ausführungsformen sind jedoch in dieser Hinsicht nicht eingeschränkt, wobei in verschiedenen Implementierungen die obigen Ausführungsformen das Übernehmen nur einer Teilmenge derartiger Merkmale, das Übernehmen einer anderen Reihenfolge derartiger Merkmale, das Übernehmen einer anderen Kombination derartiger Merkmale und/oder das Übernehmen zusätzlicher Merkmale als jener Merkmale, die explizit aufgeführt sind, enthalten können. Der Schutzumfang der Ausführungsformen sollte deshalb bezüglich der beigefügten Ansprüche zusammen mit dem vollen Schutzumfang der Äquivalente, zu denen diese Ansprüche berechtigt sind, bestimmt werden.

Claims (25)

  1. System zum Bereitstellen einer Segmentierung in einem Video, das umfasst: einen Speicher, um einen aktuellen Videoframe zu speichern; und einen oder mehrere Prozessoren, die an den Speicher gekoppelt sind, wobei der eine oder die mehreren Prozessoren dazu dienen: ein Farbmischungsmodell unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes zu trainieren, wobei das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt; eine erste Formschätzung des Objekts in dem zweiten Videoframe basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes zu bestimmen; eine affine Transformation auf die erste Formschätzung anzuwenden, um eine zweite Formschätzung des Objekts in dem zweiten Videoframe zu erzeugen, wobei die affine Transformation basierend auf der Objektorientierungspunkt-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt wird; und eine endgültige Segmentierung des Objekts im zweiten Videoframe wenigstens basierend auf der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck zu bestimmen.
  2. System nach Anspruch 1, wobei die zweiten Formschätzungen form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, umfassen, wobei die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe erzeugt, wobei die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, und wobei der eine oder die mehreren Prozessoren, um die endgültige Segmentierung zu bestimmen, den einen oder die mehreren Prozessoren umfassen, um die form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und die farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel zu verschmelzen, um endgültige Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  3. System nach Anspruch 2, wobei der eine oder die mehreren Prozessoren, um die form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und die farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel zu verschmelzen, den einen oder die mehreren Prozessoren umfassen, um die form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und die farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel zu multiplizieren, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  4. System nach Anspruch 2, wobei der eine oder die mehreren Prozessoren, um die endgültige Segmentierung für das Objekt zu bestimmen, den einen oder die mehreren Prozessoren umfassen, um ein graphenbasiertes Energiesummationsmodell zu minimieren, das einen auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks basierenden unären Energieterm, einen auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks basierenden Term der paarweisen Energie und einen auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks basierenden Superpixel-Energieterm umfasst.
  5. System nach Anspruch 4, wobei der eine oder die mehreren Prozessoren, um das graphenbasierte Energiesummationsmodell zu minimieren, den einen oder die mehreren Prozessoren umfassen, um die endgültige Segmentierung innerhalb des zweiten Begrenzungsrechtecks zu bestimmen, die eine Summe des unären Energieterms, des Terms der paarweisen Energie und des Superpixel-Energieterms minimiert.
  6. System nach Anspruch 4, wobei der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereitstellt, der größer als der erste Superpixel-Energiewert ist.
  7. System nach Anspruch 4, wobei der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die einen Prozentsatz von Pixeln eines Superpixels innerhalb des Objekts, der einen Schwellenwert übersteigt, und wenigstens ein Pixel des Superpixels außerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereitstellt, der größer als der erste Superpixel-Energiewert ist.
  8. System nach Anspruch 4, wobei der unäre Energieterm in Reaktion auf eine Kandidatensegmentierung, die eine Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel aufweist, einen größeren unären Energiewert für ein Pixel bereitstellt und der Term der paarweisen Energie in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche Farbe aufweist, für ein Paar von Pixeln einen größeren Wert der paarweisen Energie bereitstellt.
  9. System nach Anspruch 4, wobei der eine oder die mehreren Prozessoren, um die graphenbasierte Energiesummation zu minimieren, den einen oder die mehreren Prozessoren umfasst, um einen Bojkov-Kolmogorov-Löser auf die graphenbasierte Energiesummation anzuwenden, und wobei die Superpixelgrenzen durch das Anwenden einer einfachen linearen iterativen Clusterbildung auf das zweite Begrenzungsrechteck erzeugt werden.
  10. System nach einem der Ansprüche 1 bis 9, wobei der eine oder die mehreren Prozessoren, um die erste Formschätzung zu bestimmen, den einen oder die mehreren Prozessoren umfasst, um die Bodenwirklichkeits-Segmentierung basierend auf dem Lichtfluss zu verschieben und eine Abstandstransformation auf die verschobene Bodenwirklichkeits-Segmentierung anzuwenden, wobei die erste und die zweite Formschätzung Wahrscheinlichkeits-Punktzahlen pro Pixel umfassen, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist.
  11. System nach einem der Ansprüche 1 bis 9, wobei der eine oder mehrere Prozessoren dazu dienen: das zweite Begrenzungsrechteck des zweiten Videoframes durch das Anwenden eines vortrainierten Zwillingsverfolger-Faltungsnetzes basierend auf einem Suchbereich des zweiten Videoframes und dem ersten Begrenzungsrechteck als ein Exemplar zu bestimmen.
  12. Verfahren zum Bereitstellen einer Segmentierung in einem Video, das Folgendes umfasst: Trainieren eines Farbmischungsmodells unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes, wobei das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt; Bestimmen basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes einer ersten Formschätzung des Objekts in dem zweiten Videoframe; Anwenden einer affinen Transformation auf die erste Formschätzung, um eine zweite Formschätzung des Objekts im zweiten Videoframe zu erzeugen, wobei die affine Transformation basierend auf der Objektorientierungspunkt-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt wird; und Bestimmen einer endgültigen Segmentierung des Objekts im zweiten Videoframe basierend auf wenigstens der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck.
  13. Verfahren nach Anspruch 12, wobei die zweiten Formschätzungen form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, umfassen, wobei die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe erzeugt, wobei die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, und wobei das Bestimmen der endgültigen Segmentierung das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  14. Verfahren nach Anspruch 13, wobei das Bestimmen der endgültigen Segmentierung für das Objekt das Minimieren eines graphenbasierten Energiesummationsmodells umfasst, das einen auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks basierenden unären Energieterm, einen auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks basierenden Term der paarweisen Energie und einen auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks basierenden Superpixel-Energieterm umfasst.
  15. Verfahren nach Anspruch 14, wobei der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereitstellt, der größer als der erste Superpixel-Energiewert ist.
  16. Verfahren nach Anspruch 14, wobei der unäre Energieterm in Reaktion auf eine Kandidatensegmentierung, die eine Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel aufweist, einen größeren unären Energiewert für ein Pixel bereitstellt und der Term der paarweisen Energie in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche Farbe aufweist, für ein Paar von Pixeln einen größeren Wert der paarweisen Energie bereitstellt.
  17. Verfahren nach einem der Ansprüche 12 bis 16, das ferner Folgendes umfasst: Bestimmen des zweiten Begrenzungsrechtecks des zweiten Videoframes durch das Anwenden eines vortrainierten Zwillingsverfolger-Faltungsnetzes basierend auf einem Suchbereich des zweiten Videoframes und dem ersten Begrenzungsrechteck als ein Exemplar.
  18. Wenigstens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie in einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, eine Segmentierung in einem Video bereitzustellen durch: Trainieren eines Farbmischungsmodells unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes, wobei das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt; Bestimmen basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes einer ersten Formschätzung des Objekts in dem zweiten Videoframe; Anwenden einer affinen Transformation auf die erste Formschätzung, um eine zweite Formschätzung des Objekts im zweiten Videoframe zu erzeugen, wobei die affine Transformation basierend auf der Objektorientierungspunkt-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt wird; und Bestimmen einer endgültigen Segmentierung des Objekts im zweiten Videoframe basierend auf wenigstens der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck.
  19. Maschinenlesbares Medium nach Anspruch 18, wobei die zweiten Formschätzungen form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, umfassen, wobei die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe erzeugt, wobei die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, und wobei das Bestimmen der endgültigen Segmentierung das Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  20. Maschinenlesbares Medium nach Anspruch 19, wobei das Bestimmen der endgültigen Segmentierung für das Objekt das Minimieren eines graphenbasierten Energiesummationsmodells umfasst, das einen auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks basierenden unären Energieterm, einen auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks basierenden Term der paarweisen Energie und einen auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks basierenden Superpixel-Energieterm umfasst.
  21. Maschinenlesbares Medium nach Anspruch 19, wobei der Superpixel-Energieterm für eine erste Kandidatensegmentierung, die alle Pixel eines Superpixels innerhalb des Objekts aufweist, einen ersten Superpixel-Energiewert und für eine zweite Kandidatensegmentierung, die wenigstens ein Pixel des Superpixels außerhalb des Objekts und die verbleibenden Pixel innerhalb des Objekts aufweist, einen zweiten Superpixel-Energiewert bereitstellt, der größer als der erste Superpixel-Energiewert ist.
  22. Maschinenlesbares Medium nach Anspruch 19, wobei der unäre Energieterm in Reaktion auf eine Kandidatensegmentierung, die eine Fehlanpassung bezüglich der endgültigen Wahrscheinlichkeits-Punktzahl pro Pixel für das Pixel aufweist, einen größeren unären Energiewert für ein Pixel bereitstellt und der Term der paarweisen Energie in Reaktion auf die Kandidatensegmentierung, die eines des Paars von Pixeln innerhalb des Objekts und das andere außerhalb des Objekts aufweist, und das Paar von Pixeln, das die gleiche Farbe aufweist, für ein Paar von Pixeln einen größeren Wert der paarweisen Energie bereitstellt.
  23. System, das Folgendes umfasst: Mittel zum Trainieren eines Farbmischungsmodells unter Verwendung eines Bereichs innerhalb eines ersten Begrenzungsrechtecks eines ersten Videoframes, wobei das erste Begrenzungsrechteck eine Bodenwirklichkeits-Segmentierung eines Objekts von einem Hintergrund innerhalb des Begrenzungsrechtecks umgibt; Mittel zum Bestimmen basierend auf einem Lichtfluss zwischen wenigstens der Bodenwirklichkeits-Segmentierung und einem zweiten Begrenzungsrechteck eines zweiten Videoframes einer ersten Formschätzung des Objekts in dem zweiten Videoframe; Mittel zum Anwenden einer affinen Transformation auf die erste Formschätzung, um eine zweite Formschätzung des Objekts im zweiten Videoframe zu erzeugen, wobei die affine Transformation basierend auf der Objektorientierungspunkt-Verfolgung zwischen dem ersten und dem zweiten Videoframe erzeugt wird; und Mittel zum Bestimmen einer endgültigen Segmentierung des Objekts im zweiten Videoframe basierend auf wenigstens der zweiten Formschätzung und der Anwendung des Farbmischungsmodells auf das zweite Begrenzungsrechteck.
  24. System nach Anspruch 23, wobei die zweiten Formschätzungen form- und bewegungsbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, umfassen, wobei die Anwendung des Farbmischungsmodells eine farbbasierte Schätzung der Segmentierung des Objekts im zweiten Videoframe erzeugt, wobei die farbbasierte Schätzung farbbasierte Wahrscheinlichkeits-Punktzahlen pro Pixel umfasst, die eine Wahrscheinlichkeit angeben, dass das Pixel ein Teil des Objekts ist, und wobei die Mittel zum Bestimmen der endgültigen Segmentierung Mittel zum Verschmelzen der form- und bewegungsbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel und der farbbasierten Wahrscheinlichkeits-Punktzahlen pro Pixel umfassen, um die endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel zu erzeugen.
  25. System nach Anspruch 24, wobei die Mittel zum Bestimmen der endgültigen Segmentierung für das Objekt Mittel zum Minimieren eines graphenbasierten Energiesummationsmodells umfassen, das einen auf den endgültigen Wahrscheinlichkeits-Punktzahlen pro Pixel innerhalb des zweiten Begrenzungsrechtecks basierenden unären Energieterm, einen auf den Farbunterschieden zwischen benachbarten Pixeln innerhalb des zweiten Begrenzungsrechtecks basierenden Term der paarweisen Energie und einen auf den Superpixel-Grenzen innerhalb des zweiten Begrenzungsrechtecks basierenden Superpixel-Energieterm umfasst.
DE102020125197.1A 2019-11-08 2020-09-28 Feinkörnige objektsegmentierung in video mit tiefen merkmalen und graphischen mehrebenenmodellen Pending DE102020125197A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/678,428 2019-11-08
US16/678,428 US11763565B2 (en) 2019-11-08 2019-11-08 Fine-grain object segmentation in video with deep features and multi-level graphical models

Publications (1)

Publication Number Publication Date
DE102020125197A1 true DE102020125197A1 (de) 2021-05-12

Family

ID=69639913

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020125197.1A Pending DE102020125197A1 (de) 2019-11-08 2020-09-28 Feinkörnige objektsegmentierung in video mit tiefen merkmalen und graphischen mehrebenenmodellen

Country Status (2)

Country Link
US (2) US11763565B2 (de)
DE (1) DE102020125197A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230064431A1 (en) * 2021-08-31 2023-03-02 Netflix, Inc. Systems and methods for spline-based object tracking

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562805B (zh) * 2017-08-08 2020-04-03 浙江大华技术股份有限公司 一种以图搜图的方法及装置
US11468550B2 (en) 2019-07-22 2022-10-11 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11107219B2 (en) 2019-07-22 2021-08-31 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11631234B2 (en) 2019-07-22 2023-04-18 Adobe, Inc. Automatically detecting user-requested objects in images
KR102311798B1 (ko) * 2019-12-12 2021-10-08 포항공과대학교 산학협력단 다중 객체 추적 방법 및 장치
US11468110B2 (en) 2020-02-25 2022-10-11 Adobe Inc. Utilizing natural language processing and multiple object detection models to automatically select objects in images
US11055566B1 (en) 2020-03-12 2021-07-06 Adobe Inc. Utilizing a large-scale object detector to automatically select objects in digital images
CN111723769B (zh) * 2020-06-30 2023-10-27 北京百度网讯科技有限公司 用于处理图像的方法、装置、设备以及存储介质
US11361484B1 (en) * 2020-12-04 2022-06-14 Argo AI, LLC Methods and systems for ground segmentation using graph-cuts
US11587234B2 (en) * 2021-01-15 2023-02-21 Adobe Inc. Generating class-agnostic object masks in digital images
US11972569B2 (en) 2021-01-26 2024-04-30 Adobe Inc. Segmenting objects in digital images utilizing a multi-object segmentation model framework
CN112861830B (zh) * 2021-04-13 2023-08-25 北京百度网讯科技有限公司 特征提取方法、装置、设备、存储介质以及程序产品
KR20220161839A (ko) * 2021-05-31 2022-12-07 한국전자기술연구원 Gan 구조를 활용한 영상 영역 분할 방법 및 시스템
US11582485B1 (en) * 2021-12-10 2023-02-14 Mitsubishi Electric Research Laboratories, Inc. Scene-aware video encoder system and method
WO2023164857A1 (en) * 2022-03-03 2023-09-07 Nvidia Corporation Optical flow techniques and systems for accurate identification and tracking of moving objects
CN116797598B (zh) * 2023-08-22 2023-11-17 山东万牧农业科技有限公司郯城分公司 基于图像特征的养殖饲料质量精细化检测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2885719B1 (fr) * 2005-05-10 2007-12-07 Thomson Licensing Sa Procede et dispositif de suivi d'objets dans une sequence d'images
US20080136820A1 (en) * 2006-10-20 2008-06-12 Microsoft Corporation Progressive cut: interactive object segmentation
US8175379B2 (en) * 2008-08-22 2012-05-08 Adobe Systems Incorporated Automatic video image segmentation
US8290253B1 (en) * 2009-10-30 2012-10-16 Adobe Systems Incorporated Method and apparatus for applying Gaussian Mixture Models to local image patches using an adaptive color lookup table
US8358691B1 (en) * 2009-10-30 2013-01-22 Adobe Systems Incorporated Methods and apparatus for chatter reduction in video object segmentation using a variable bandwidth search region
CN106327469B (zh) * 2015-06-29 2019-06-18 北京航空航天大学 一种语义标签引导的视频对象分割方法
US10275892B2 (en) * 2016-06-09 2019-04-30 Google Llc Multi-view scene segmentation and propagation
CN106097353B (zh) * 2016-06-15 2018-06-22 北京市商汤科技开发有限公司 基于多层次局部区域融合的物体分割方法及装置、计算设备
US10755142B2 (en) * 2017-09-05 2020-08-25 Cognizant Technology Solutions U.S. Corporation Automated and unsupervised generation of real-world training data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230064431A1 (en) * 2021-08-31 2023-03-02 Netflix, Inc. Systems and methods for spline-based object tracking

Also Published As

Publication number Publication date
US11763565B2 (en) 2023-09-19
US20200074185A1 (en) 2020-03-05
US20230377341A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
DE102020125197A1 (de) Feinkörnige objektsegmentierung in video mit tiefen merkmalen und graphischen mehrebenenmodellen
DE102020123304A1 (de) Tiefes lernen für engmaschige semantische segmentierung in video mit automatisierter interaktivität und verbesserter zeitlicher kohärenz
Li et al. Low-light image and video enhancement using deep learning: A survey
Zhuang et al. Underwater image enhancement with hyper-laplacian reflectance priors
Park et al. Dual autoencoder network for retinex-based low-light image enhancement
Wang et al. AIPNet: Image-to-image single image dehazing with atmospheric illumination prior
Li et al. PDR-Net: Perception-inspired single image dehazing network with refinement
CN110070511B (zh) 图像处理方法和装置、电子设备及存储介质
Teterwak et al. Boundless: Generative adversarial networks for image extension
DE102020129800A1 (de) Interaktive segmentierung mit hoher wiedergabetreue für videodaten mit tief faltenden tessellationen und kontextsensitiven skip-verbindungen
Wu et al. A two-stage underwater enhancement network based on structure decomposition and characteristics of underwater imaging
DE112018007721T5 (de) Aufnehmen und modifizieren von 3D-Gesichtern unter Verwendung neuronaler Bild-und Zeitverfolgungsnetze
EP4198875A1 (de) Bildfusionsverfahren und trainingsverfahren und -vorrichtung für bildfusionsmodell
Liao et al. Edge-aware context encoder for image inpainting
DE102021118479A1 (de) Einbetten von komplexen 3d-objekten in eine erweiterte realitätsszene unter verwendung einer bildsegmentierung
DE112017002119T5 (de) Augenkontaktkorrektur in Echtzeit unter Verwendung von auf neuronalen Netzwerken basierendem maschinellem Lernen
DE112018007730T5 (de) 3d objekterkennung unter verwendung von 3d konvolutionalen neuronalen netzen mit tiefenbasierten multiskalierungsfiltern
CN114627034A (zh) 一种图像增强方法、图像增强模型的训练方法及相关设备
Luvizon et al. Adaptive multiplane image generation from a single internet picture
Zhang et al. Multi-branch and progressive network for low-light image enhancement
Polasek et al. Vision UFormer: Long-range monocular absolute depth estimation
Zhou et al. Single image dehazing based on weighted variational regularized model
US20220398704A1 (en) Intelligent Portrait Photography Enhancement System
Jin et al. Color correction and local contrast enhancement for underwater image enhancement
DE112022001485T5 (de) Verfahren und einrichtungen zum synthetisieren von ansichten mit sechs freiheitsgraden aus spärlichen rgb-tiefe-eingaben