[PYTHON] [Artikel lesen] Selbstüberwachtes Lernen Papierkommentar Teil 1 ~ dichtes Tracking Entwicklungsgeschichte ~

Einführung

Ich werde die selbstüberwachten Lernpapiere erklären, die ich in letzter Zeit oft höre. Es gibt jedoch viele selbstüberwachte Artikel, daher werde ich mich dieses Mal auf die Aufgabe __dense Tracking __ konzentrieren und den Entwicklungsprozess bis in die Gegenwart verfolgen. Es gibt fünf nächste Papiere zu erklären.

[1] Tracking entsteht durch Kolorieren von Videos ^ 1 __ Abkürzung Vid. Color __ [2] Lernen der Korrespondenz aus der Zykluskonsistenz der Zeit ^ 2 __ Abkürzungszykluszeit__ [3] Selbstüberwachtes Lernen für den Videokorrespondenzfluss ^ 3 __ Abkürzung CorrFlow__ [4]: Gemeinsames selbstüberwachtes Lernen für zeitliche Korrespondenz ^ 4 __ Abkürzung UVC__ [5]: MAST: Ein speichererweiterter, selbstüberwachter Tracker ^ 5 __ Abkürzung MAST__

Das fünfte Papier ist das neueste in CVPR2020 angenommene Papier, das in Teil 2 (in Kürze) erläutert wird. Das 1. bis 4. Buch sind im 5. Artikel als Vergleichsmethode zur Selbstüberwachung aufgeführt. Daher beabsichtige ich, den Ablauf der Aufgabe der dichten Verfolgung zu verfolgen, indem ich die Teile 1 und 2 zusammen lese. スクリーンショット 2020-04-16 21.40.44.png Abb. 1 Leistungsvergleich für dichtes Tracking (selbstüberwachtes System) [^ 5]

Die verwendeten Zahlen stammen aus dem Quellpapier, sofern nicht anders angegeben.

Tracking Emerges by Colorizing Videos[1] Dies ist ein repräsentatives Papier von Video selbst überwacht. Bitte sehen Sie zuerst die Demo.

Die Grundidee, was Sie in dieser Demo tun, ist die gleiche wie bei Optical Flow. (Leicht verständliche Erklärung des optischen Flusses) Es sagt voraus, welchem Pixel in der Zeit $ T $ Frame jedes Pixel in der Zeit $ T-1 $ Frame entspricht. Wenn Sie das Pixel des Ziels angeben, das Sie mit der Maske im ersten Frame verfolgen möchten, können Sie das Ziel verfolgen, indem Sie die Bewegung des Pixels in den nachfolgenden Frames erfassen.

Zusätzlich zur Maske kann die Schlüsselpunktverfolgung wie die Gelenkposition auf die gleiche Weise durchgeführt werden. スクリーンショット 2020-04-10 18.51.49.png Abbildung 2 Tracking-Etikettendaten Solche Aufgaben werden manchmal als dense Tracking bezeichnet, da Pixel eng zwischen Frames zugeordnet werden.

Colorization Wie lernst du es? Herkömmliche Netzwerke wie die Vorhersage des optischen Flusses geben den richtigen optischen Fluss als Anmerkung an. In diesem Artikel wird jedoch ein Lernen vorgeschlagen, für das keine Anmerkungen erforderlich sind. Das ist Videofarbung. スクリーンショット 2020-04-05 18.51.51.png Abbildung 3 Farbwiederherstellung mithilfe von Video

Die beiden Frames von __Target und Reference werden einmal in Graustufen konvertiert, und durch Durchlaufen durch CNN wird die Bewegung des Pixels vorhergesagt und die Entsprechung (Zeiger) der Pixelposition erhalten. Anschließend wird die Farbe des Zielrahmens vorhergesagt, indem sie mit dem Zeiger aus der Farbe des Referenzrahmens kopiert wird. __ __ Auf diese Weise können Sie den Verlust berechnen, ob die Vorhersage mit der vorhergesagten Farbe und der tatsächlichen Farbe des Zielrahmens korrekt ist, und das Lernen ist ohne die Anmerkung des optischen Flusses möglich.

Dieser Abschnitt beschreibt die spezifische Berechnungsmethode. Ziel ist es, einen Zeiger zu erstellen, um die Farbe des Zielrahmens aus der Farbe des Referenzrahmens zu kopieren. Es kann wie folgt ausgedrückt werden, indem es mit einer Formel multipliziert wird. $y_{j}=\sum_{i} A_{i j} c_{i}$

$ y_ {j} $ ist die vorhergesagte Farbe des j-ten Pixels des Zielrahmens und $ c_ {i} $ ist die i-te Pixelfarbe des Referenzrahmens. Wenn die Formel schwer zu verstehen ist, lesen Sie bitte den Referenzartikel Und $ A_ {i j} $ ist die Konvertierungsmatrix vom i-ten Pixel zum j-ten Pixel. Das heißt, ein Zeiger. Dieses Mal wird das Element von $ A_ {i, j} $ von sofmax auf 0 ~ 1 gesetzt, so dass auf mehrere Pixel verwiesen werden kann.

スクリーンショット 2020-04-05 18.00.40.png Abbildung 4 Netzwerkstruktur Zunächst werden, wie in der obigen Abbildung gezeigt, sowohl der Referenzrahmen als auch der Zielrahmen in Graustufen konvertiert, und dann wird jeder Merkmalsvektor $ f $ durch CNN erhalten. Um nun einen Zeiger zu erstellen, müssen wir nur die Ähnlichkeit zwischen dem i-ten Pixel des Referenzrahmens und dem j-ten Pixel des Zielrahmens kennen, also nehmen wir das innere Produkt. $A_{i,j}=f_{i}^Tf_{j}$

Dieses Mal möchte ich jedoch die Ähnlichkeit als eine Wahrscheinlichkeit von 0 zu 1 normalisieren, also werde ich die mit Softmax multiplizierte verwenden. $A_{i j}=\frac{\exp \left(f_{i}^{T} f_{j}\right)}{\sum_{k} \exp \left(f_{k}^{T} f_{j}\right)}$

Nachdem Sie einen Zeiger haben, können Sie den Fehler mit der Farbe des Zielrahmens wie unten gezeigt berechnen.

\min _{\theta} \sum_{j} \mathcal{L}\left(y_{j}, c_{j}\right)

Als Ergänzung wird in diesem Dokument anstelle der Vorhersage des RGB-Werts zur Vereinfachung des Problems nach der Konvertierung in den Laborbereich eine Clusterbildung nach km im Datensatz durchgeführt, die in 16 Clustertypen und klassifizierte Farben unterteilt ist. Es wird durch die Klassifizierung (Kreuzentropieverlust) von formuliert.

Das Obige ist der Rahmen der Selbstüberwachung, der in diesem Papier vorgeschlagen wird. Es ist zu klug, die Farbe vor der Konvertierung als Etikett zu verwenden, indem Sie sie in Graustufen konvertieren. Es ist uns gelungen, automatisch ein Etikett zu erstellen, indem wir davon ausgehen, dass derselbe Teil desselben Objekts im Video dieselbe Farbe hat (zumindest zwischen kurzen Bildern). Von nun an werde ich die Geschichte der selbstüberwachten Entwicklung ausgehend von diesem Artikel verfolgen.

Learning Correspondence from the Cycle-consistency of Time [2] Als nächstes möchte ich die Papiere von CVPR 2019 vorstellen. Die Abkürzung ist Cycle Time. Im Gegensatz zur Kolorierung generiert diese Methode automatisch Beschriftungen mit der Idee der __Kykluskonsistenz __. スクリーンショット 2020-04-06 9.25.37.png Abbildung 5 Zykluskonsistenz

Einfach ausgedrückt ist __Kykluskonsistenz __ die Idee, dass __ "Wenn Sie zurückkehren, sollte es dem ursprünglichen Zustand entsprechen" __. Wie in der obigen Abbildung gezeigt, spielen Sie das Video zuerst in umgekehrter Reihenfolge ab, sagen Sie die Position zum Zeitpunkt $ T-1 $ von der Objektposition zum Zeitpunkt $ T $ und die Position zum Zeitpunkt $ T-2 $ aus der Vorhersage des Zeitpunkts $ T-1 $ voraus. Machen. Wenn Sie diesmal vorwärts spielen und die Zeit $ T-1 $, $ T $ aus der Vorhersage der Zeit $ T-2 $, der Objektposition zum ersten angegebenen Zeitpunkt $ T $ und der durch die Vorwärtswiedergabe zurückgegebenen Zeit vorhersagen Die $ T $ -Positionsvorhersagen sollten übereinstimmen. Es ist Zykluskonsistenz, dies zu vergleichen und den Verlust zu berechnen.

Schauen wir uns den Inhalt des Papiers genauer an.

Vorgeschlagene Methode

スクリーンショット 2020-04-06 21.13.55.png Abbildung 6 Netzwerkdiagramm

Vorhersagen werden Patch für Patch getroffen. Das heißt, lassen Sie uns darüber nachdenken, vorherzusagen, wo im Bild von $ T-i + 2 $ der aus $ T-i + 1 $ entsprechend geschnittene Patch entspricht. Dies geschieht durch das Netzwerk $ \ mathcal {T} $. Schauen wir uns also den Inhalt an. $ \ mathcal {T} $ ist zuerst das Bild der Zeit $ T-i + 2 $, __ $ I_ {T-i + 2} $ __ und Patch _, geschnitten aus dem Bild der Zeit $ T-i + 1 $ Führen Sie beide $ p {T-i + 1} $ __ durch einen Resnet-basierten Encoder, um die entsprechende Feature-Map __ $ x ^ I, x ^ p $ __ zu extrahieren. Als nächstes können Sie auf die gleiche Weise wie zuvor, wenn Sie das innere Produkt nehmen, die Ähnlichkeitsmatrix $ A (i, j) $ erhalten. $A(j, i)=\frac{\exp \left(x^{I}(j)^{\top} x^{p}(i)\right)}{\sum_{j} \exp \left(x^{I}(j)^{\top} x^{p}(i)\right)}$

Dieses Mal möchte ich jedoch nicht nur die Entsprechung von Farben, sondern auch die Entsprechung von Positionskoordinaten sehen, sodass die Koordinaten konvertiert werden müssen.

Daher wird durch Durchleiten der Matrix $ A (j, i) $ durch ein flaches Netzwerk der geometrische Konvertierungsparameter $ \ theta $ ausgegeben. Wenn Sie danach die Koordinaten von $ I_ {T-i + 2} $ gemäß $ \ theta $ konvertieren, können Sie den vorhergesagten Patch bei $ T-i + 2 $ erhalten.

Auf die gleiche Weise können Sie $ T-i + 3 $ aus $ T-i + 2 $ vorhersagen und den Vorgang wiederholen, um die sequentielle Wiedergabe aufeinanderfolgender $ i $ Frames ($ ti $ bis $ t-1 ) vorherzusagen. Sie können so schreiben. $\mathcal{T}^{(i)}\left(x_{t-i}^{I}, x^{p}\right)=\mathcal{T}\left(x_{t-1}^{I}, \mathcal{T}\left(x_{t-2}^{I}, \ldots \mathcal{T}\left(x_{t-i}^{I}, x^{p}\right)\right)\right)$$

Auch die Rückwärtswiedergabe ist dieselbe $\mathcal{T}^{(-i)}\left(x_{t-1}^{I}, x^{p}\right)=\mathcal{T}\left(x_{t-i}^{I}, \mathcal{T}\left(x_{t-i+1}^{I}, \ldots \mathcal{T}\left(x_{t-1}^{I}, x^{p}\right)\right)\right)$ Wenn Sie diese beiden Ausdrücke kombinieren, ist der Verlust der Zykluskonsistenz wie folgt.

\mathcal{L}_{l o n g}^{i}=l_{\theta}\left(x_{t}^{p}, \mathcal{T}^{(i)}\left(x_{t-i+1}^{I}, \mathcal{T}^{(-i)}\left(x_{t-1}^{I}, x_{t}^{p}\right)\right)\right)

$ l_ {\ theta} $ ist eine Funktion, die die Abweichung der Patch-Koordinaten mit MSE berechnet.

Außerdem wird nicht nur die Position, sondern auch die Differenz zwischen den Feature-Maps der Patches berechnet.

\mathcal{L}_{s i m}^{i}=-\left\langle x_{t}^{p}, \mathcal{T}\left(x_{t-i}^{I}, x_{t}^{p}\right)\right\rangle

Das ist die Grundidee der Zykluskonsistenz.

Wenn dies jedoch unverändert bleibt, ist es nicht möglich, die folgenden Fälle zu behandeln, in denen das Objekt ausgeblendet und wieder sichtbar ist. スクリーンショット 2020-04-06 22.04.19.png Abb. 7 Wenn die Zykluskonsistenz schwierig ist (links: Die Vorderseite des Gesichts ist nicht zu sehen. Rechts: Der Rahmen ist eingeklemmt)

In der obigen Abbildung scheint es, selbst wenn es schwierig ist, benachbarte Frames zuzuordnen, möglich zu sein, dass sie entfernten Frames zugeordnet werden können. Daher sind in diesem Artikel nicht nur die benachbarten Bilder in chronologischer Reihenfolge enthalten, sondern auch die Vorhersage des Überspringens von $ i $ Frames.

\mathcal{L}_{s k i p}^{i}=l_{\theta}\left(x_{t}^{p}, \mathcal{T}\left(x_{t}^{I}, \mathcal{T}\left(x_{t-i}^{I}, x_{t}^{p}\right)\right)\right)

Es war lang, aber der endgültige Verlust ist die Summe der oben genannten drei Verluste.

\mathcal{L}=\sum_{i=1}^{k} \mathcal{L}_{s i m}^{i}+\lambda \mathcal{L}_{s k i p}^{i}+\lambda \mathcal{L}_{l o n g}^{i}

Kann geschrieben werden als. Die Formel ist länger geworden, aber ich hoffe, Sie können ein Gefühl für die Zykluskonsistenz bekommen.

Self-supervised Learning for Video Correspondence Flow[3] In den beiden vorhergehenden Arbeiten haben wir zwei selbstüberwachte Methoden gesehen: Kolorierung und Zykluskonsistenz. Als nächstes werde ich ein Papier vorstellen, das beides kombiniert. Die Abkürzung ist Color Flow.

スクリーンショット 2020-04-07 23.38.27.png Abbildung 8 Algorithmuserkennungsbild

Dieses Dokument ist so strukturiert, dass die zu Beginn eingeführten Probleme des Videos zur Videofarbung aufgelistet und Methoden zu deren Lösung vorgeschlagen werden. In Bezug auf die aufgeführten Probleme gibt es die folgenden zwei Punkte.

__ Problem 1 __: Da der Abgleich durchgeführt wird, nachdem die Farbinformationen grau skaliert wurden, fehlen die speziellen Farbinformationen. __ Problem 2 __: Wenn die Anzahl der vorherzusagenden Frames länger wird, häufen sich falsche Vorhersagen und die Vorhersagen driften.

Schauen wir uns vor diesem Hintergrund die vorgeschlagene Methode an.

Vorgeschlagene Methode

Herausforderung 1

Das Löschen eines Farbbilds auf eine Graustufe und das anschließende Einfügen in ein CNN zur Vorhersage ist eine ziemliche Verschwendung, da RGB-Farbinformationen nicht zur Vorhersage der Übereinstimmung verwendet werden können. Es ist jedoch notwendig, einen Engpass zu setzen, um als selbst beaufsichtigt zu trainieren.

Daher wird bei dieser Methode der Engpass durch zufälliges Setzen des RGB-Kanals auf 0 festgelegt, anstatt einfach auf Graustufen zu fallen. (Siehe Abbildung unten) Zusätzlich fügen wir Störungen wie Helligkeit und Kontrast hinzu.

スクリーンショット 2020-04-08 21.33.03.png Abbildung 9 Verbesserung des Engpasses

Auf diese Weise wird das Lernen möglich, während einige Farbinformationen beibehalten werden. Darüber hinaus können Sie den Effekt eines Aussetzers erwarten, indem Sie den Kanal zufällig auf 0 setzen, und Sie können automatisch eine Datenerweiterung durchführen, indem Sie eine Helligkeitsänderung hinzufügen. Es ist zu erwarten, dass sich die Robustheit erheblich verbessert, verglichen mit dem einfachen Ablegen auf Graustufen. Zum Zeitpunkt des Tests ist dies einfach, da Sie nur RGB so eingeben müssen, wie es ist

Herausforderung 2

Offensichtlich ist es schwierig vorherzusagen, ob die zu vergleichenden Bilder zeitlich getrennt sind. Insbesondere bei Okklusionen und Formänderungen wird es schwieriger, einen entsprechenden Punkt zu finden. Sobald die Vorhersage falsch ist, wird der nächste Rahmen basierend auf dieser Vorhersage vorhergesagt, so dass sich Fehler ansammeln und die Vorhersage stetig driftet. Dieses Papier schlägt vor, ein solches Problem auf lange Sicht zu lösen, dass die Farbe der Modellvorhersage manchmal als Farbe der Grundwahrheit verwendet wird.

\hat{I}_{n}=\left\{\begin{array}{ll}\psi\left(A_{(n-1, n)}, I_{n-1}\right) & (1) \\ \psi\left(A_{(n-1, n)}, \hat{I}_{n-1}\right) & (2)\end{array}\right.

Die obige Gleichung (1) sagt die Farbe $ \ hat {I} _ {n} $ zum Zeitpunkt $ n $ unter Verwendung des Bildes $ I_ {n-1} $ zum Zeitpunkt $ n-1 $ voraus.

Gelegentlich wird anstelle von $ I_ {n-1} $ wie in (2) die vorherige Vorhersage $ \ hat {I} _ {n-1} $ für die Vorhersage verwendet. Auf diese Weise versucht der Track, sich von dem unvorhersehbaren Zustand zu erholen. Der Prozentsatz der verwendeten Vorhersagefarben steigt, wenn das Modell lernt. Diese Idee wird als Scheduled Sampling bezeichnet und ist eine in Seq2Seq weit verbreitete Methode.

Und schließlich wird die langfristige Prognose auch durch die Zykluskonsistenz eingeschränkt, um die Robustheit weiter zu verbessern. Der endgültige Verlust sieht folgendermaßen aus:

L=\alpha_{1} \cdot \sum_{i=1}^{n} \mathcal{L}_{1}\left(I_{i}, \hat{l}_{i}\right)+\alpha_{2} \cdot \sum_{j=n}^{1} \mathcal{L}_{2}\left(I_{j}, \hat{l}_{j}\right)

$ L_ {1} und L_ {2} $ sind die Farbvorhersagefehler in der Vorwärts- bzw. Rückwärts-Zykluskonsistenz. Beachten Sie, dass das Papier nicht wie das zweite Papier den Zykluskonsistenzverlust selbst verwendet. Die Kolorierung ist das Hauptaugenmerk und die Zykluskonsistenz wird als Regularisierer zur langfristigen Unterstützung verwendet.

Joint-task Self-supervised Learning for Temporal Correspondence [4] Das nächste Papier stammt von NeuroIPS 2019. Die Abkürzung ist UVC. (Ich wusste nicht, woher der Name stammt, also lass es mich wissen, wenn du es weißt.) Das Merkmal dieses Papiers ist nun, dass die Begrenzungsrahmenvorhersage eingefügt wird, bevor die Pixelpegelanpassung durchgeführt wird. Siehe die Abbildung unten. スクリーンショット 2020-04-12 1.31.00.png Abbildung 10 Vergleich der Übereinstimmung auf Pixelebene (untere Abbildung) und der Übereinstimmung auf Boxebene (obere Abbildung)

Abbildung (b) wird nur auf Pixelebene wie in früheren Veröffentlichungen angepasst. Am Beispiel der gelben Linie gibt es beispielsweise zwei Personen, die in roter Kleidung kamen, sodass die Antwort falsch ist. Wie Sie sehen können, ist die Übereinstimmung auf Pixelebene effektiv, um kleine Änderungen in Objekten zu sehen, aber nicht für die Übereinstimmung mit semantischen Elementen von __object (unveränderlich für Rotation und Ansichtspunkt). __ __ Andererseits ist die Erkennung durch den Begrenzungsrahmen umgekehrt und wird als komplementär zueinander angesehen. Sollten wir daher zuerst den Kastenbereich wie in Fig. (A) gezeigt erfassen und dann eine Übereinstimmungsvorhersage auf Pixelebene innerhalb dieses Bereichs machen? Das ist der Zweck des Papiers.

Vorgeschlagene Methode

スクリーンショット 2020-04-12 1.51.25.png Abbildung 11 Netzwerkdiagramm

Der Kastenbereich wird in der ersten Hälfte der Abbildung erkannt (Lokalisierung auf Regionsebene), und die Pixelanpassung wird in dem Bereich durchgeführt, der in der zweiten Hälfte gefunden wurde (feinkörnige Anpassung).

Region level localization Das Ziel ist es, eine bbox zu finden, in der der im Referenzrahmen geschnittene Patch dem Zielrahmen entspricht. Wie im Beispiel werden beide auf Graustufen reduziert und dann durch CNN geleitet, um die bekannte Ähnlichkeitsmatrix zu berechnen. $A_{i j}=\frac{\exp \left(f_{1 i}^{\top} f_{2 j}\right)}{\sum_{k} \exp \left(f_{1 k}^{\top} f_{2 j}\right)}, \quad \forall i \in\left[1, N_{1}\right], j \in\left[1, N_{2}\right]$

Bis zu diesem Punkt ähnelt das Verfahren dem Verfahren im zweiten Artikel (Zykluszeit). In CycleTime wurde diese Matrix durch ein zusätzliches Netzwerk geleitet, um die Positionskoordinaten abzubilden. In diesem Artikel sollte $ A_ {ij} $ jedoch fast spärlich sein (die Elemente der Matrix sind 1 für nur ein entsprechendes Pixel und 0 für die anderen Elemente), und die Positionskoordinaten werden durch die folgende Formel konvertiert. .. $l_{j}^{12}=\sum_{k=1}^{N_{1}} l_{k}^{11} A_{k j}, \quad \forall j \in\left[1, N_{2}\right]$

Wobei $ l_ {j} ^ {mn} $ die Koordinaten des Bildes $ m $ sind, das sich zum $ j $ -ten Pixel des Bildes $ n $ bewegt. Siehe ergänzenden Artikel 2

Mit dieser Formel können Sie herausfinden, welche Pixelkoordinaten von $ p_ {1} $ zu jedem Pixel von $ f_ {2} $ verschoben werden. Wenn Sie dagegen nach $ l_ {j} ^ {21} $ fragen, können Sie herausfinden, wo sich $ p_ {1} $ in $ f_ {2} $ befindet. Wenn Sie hier den Durchschnitt von $ l_ {j} ^ {21} $ bilden, können Sie die Begrenzungsrahmenmitte $ C ^ {21} $ berechnen. C^{21}=\frac{1}{N_{1}} \sum_{i=1}^{N_{1}} l_{i}^{21} Da die Mitte des Begrenzungsrahmens geschätzt wurde, definieren wir auch die Größe des Rahmens. $ w $, $ h $ ist einfach definiert als der Durchschnittswert der Abweichung zwischen jeder Koordinate von $ l_ {j} ^ {21} $ und dem Zentrum $ C . $\hat{w}=\frac{2}{N_{1}} \sum_{i=1}^{N_{1}}\left|x_{i}-C^{21}(x)\right|_{1}$$

Mit dem oben Gesagten haben wir die bbox erfolgreich in $ f_ {2} $ geschätzt. Die Feature-Map $ p_ {2} $, die durch Ausschneiden von $ f_ {2} $ in dieser bbox erhalten wird, wird für den nächsten feinkörnigen Abgleich verwendet.

Fine-grained matching スクリーンショット 2020-04-12 10.40.32.png Abbildung 12 Netzwerk (feinkörniger Übereinstimmungsabschnitt)

Danach können Sie wie im ersten Artikel die Ähnlichkeitsmatrix $ A_ {pp} $ mit $ p_ {1} $, $ p_ {2} $ berechnen und die Farbe wiederherstellen. In diesem Artikel wird die Farbe jedoch nicht direkt mit dem Zeiger kopiert, sondern durch die Encoder-Decoder-Methode vorhergesagt (siehe Abbildung). In diesem Artikel argumentiere ich, dass globalere Kontextinformationen verwendet werden können, da der Vorteil darin besteht, dass CNN sie einbettet, anstatt $ A_ {pp} $ direkt zu verwenden. Loss Es gibt drei Haupttypen von Verlusten. Der erste ist Verlust__, ob die Farbwiederherstellung korrekt durchgeführt wurde (die Formel ist in der Veröffentlichung nicht beschrieben, wurde jedoch mit dem Verlust von L1 verglichen, wenn sie implementiert wurde). Die zweite ist eine Einschränkung der bbox-Vorhersage, die als Concentration Regularization bezeichnet wird. Dadurch wird versucht, die Pixel so weit wie möglich zusammenzubringen, vorausgesetzt, die Pixel in der bbox sind beim Bewegen näher beieinander. (Siehe die linke Seite der Abbildung unten)

スクリーンショット 2020-04-12 10.53.24.png Abbildung 13 Bild von zwei Regularisierungen, die für den Verlust verwendet werden

L_{c}=\left\{\begin{array}{ll}0, & \left\|l_{j}^{21}(x)-C^{21}(x)\right\|_{1} \leq w \text { and }\left\|l_{j}^{21}(y)-C^{21}(y)\right\|_{1} \leq h \\ \frac{1}{N_{1}} \sum_{j=1}^{N_{1}}\left\|l_{j}^{21}-C^{21}\right\|_{2}, & \text { otherwise }\end{array}\right.

Durch die Bestrafung der entsprechenden Punkte, die über die bbox hinausgehen, kann verhindert werden, dass nur ein Ort einem völlig anderen Ort zugeordnet wird.

Die dritte ist eine Einschränkung namens Orthogonale Regularisierung. Dies entspricht im Wesentlichen der Zykluskonsistenz zwischen zwei Frames. Die Idee war, dass die Zykluskonsistenz nach der Konvertierung von Frame 1 zu Frame 2 und dann von Frame 2 zu Frame 1 wiederhergestellt wird. Hier hatte die Entsprechung zwischen den Frame-zu-Frame-Koordinaten $ l $ und der Feature-Map $ f $ die folgenden Beziehungen, wie im Kapitel bbox erläutert.

l^{\hat{1} 2}=l^{11} A_{1 \rightarrow 2}, \quad l^{\hat{1} 1}=l^{\hat{1} 2} A_{2 \rightarrow 1}
\hat{f}_{2}=f_{1} A_{1 \rightarrow 2}, \quad \hat{f}_{1}=\hat{f}_{2} A_{2 \rightarrow 1}

Hier können wir sehen, dass $ A_ {1 \ rightarrow 2} ^ {-1} = A_ {2 \ rightarrow 1} $ eingerichtet werden sollte, damit die Zykluskonsistenz hergestellt wird.

Wenn es hier eine Eins-zu-Eins-Pixel-Entsprechung gibt, wird dies durch $ f_ {1} f_ {1} ^ {\ top} = f_ {2} f_ {2} ^ {\ top} $ angezeigt. Wir können also davon ausgehen, dass sich die absolute Menge an Farbe (Farbeergie) nicht geändert hat. Siehe ergänzenden Artikel 3

Wenn Sie das oben Gesagte verwenden, geht $ A $ wie $ A_ {2 \ rightarrow 1} = A_ {1 \ rightarrow 2} ^ {-1} = A_ {1 \ rightarrow 2} ^ {\ top} $ direkt aufeinander zu Wenn es __ ist, kann abgeleitet werden, dass die Zykluskonsistenz hergestellt ist.

Ableitung
\hat{f}_{2}=f_{1} A_{1 \rightarrow 2}

Beide Seiten umkehren $f_{2}^{\top}=(f_{1} A_{1 \rightarrow 2})^{\top}=A_{1 \rightarrow 2}^{\top}f_{1}^{\top}$ Deshalb $f_{2}f_{2}^{\top}=f_{1} A_{1 \rightarrow 2}A_{1 \rightarrow 2}^{\top}f_{1}^{\top}$ Weil dies $ f_ {1} f_ {1} ^ {\ top} = f_ {2} f_ {2} ^ {\ top} $ erfüllt $ A_ {1 \ rightarrow 2} ^ {-1} = A_ {1 \ rightarrow 2} ^ {\ top} $ gilt

Daher kann der Zykluskonsistenzverlust leicht berechnet werden, indem der MSE-Verlust von $ f_ {1} $ und $ A_ {1 \ rightarrow 2} ^ {\ top} A_ {1 \ rightarrow 2} f_ {1} $ genommen wird. Dies ist die orthogonale Regularisierung. Natürlich wird die gleiche Berechnung für die Koordinate $ l $ durchgeführt.

parkour.gif lab-coat.gif

Erkennungsbeispiel (vom Autor github)

Zusammenfassung

Bisher habe ich vier Artikel über Selbstüberwachung für eine dichte Verfolgung vorgestellt.

Diese vier Bücher haben in ähnlichen Studien viel gemeinsam, aber ich denke, Sie können den Trend spüren, die Methode der dichten Verfolgung nach und nach zu verbessern.

Als persönliche Reflexion befürchte ich, dass die Erklärung mit vielen mathematischen Formeln es zum schwierigsten Artikel in meiner Geschichte gemacht hat. (Bitte kommentieren Sie, wenn Sie Vorschläge haben)

Es ist jedoch sehr interessant und attraktiv, unbeschriftetes Lernen mit interessanten Ideen wie dem Färben der Graustufen und dem Wiederholen der Vorwärts- und Rückwärtswiedergabe zu ermöglichen. Ich hoffe, dass die Leser dies auch verstehen können.

Siehe auch Teil 2 in Kürze


  1. Vondrick, C., Shrivastava, A., Fathi, A., Guadarrama, S., & Murphy, K. (2018). Tracking emerges by colorizing videos. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 11217 LNCS, 402–419. https://doi.org/10.1007/978-3-030-01261-8_24 ↩︎

  2. Wang, X., Jabri, A., & Efros, A. A. (2019). Learning Correspondence from the Cycle-consistency of Time. Retrieved from https://arxiv.org/abs/1903.07593 ↩︎

  3. Lai, Z. (2019). Self-supervised Learning for Video Correspondence Flow. Retrieved from https://arxiv.org/abs/1905.00875 ↩︎

  4. Li, X., Liu, S., De Mello, S., Wang, X., Kautz, J., & Yang, M.-H. (2019). Joint-task Self-supervised Learning for Temporal Correspondence. Retrieved from https://arxiv.org/abs/1909.11895 ↩︎

Recommended Posts

[Artikel lesen] Selbstüberwachtes Lernen Papierkommentar Teil 1 ~ dichtes Tracking Entwicklungsgeschichte ~
Grundlagen des Lernens mit einem Lehrer Teil 1 - Einfache Regression - (Hinweis)
Grundlagen des Lernens mit einem Lehrer Teil 3 - Multiple Regression (Implementierung) - (Anmerkungen) -
Python: Überwachtes Lernen: Hyperparameter Teil 1
Lernen mit dem Lehrer 1 Grundlagen des Lernens mit dem Lehrer (Klassifizierung)
Python: Überwachtes Lernen: Hyperparameter Teil 2