Tuesday, 14 February 2017

Moving Durchschnittliche Hintergrund Subtraktion

Hallo, das wird ein sehr einfacher Artikel, aber Sie werden es sehr hilfreich finden. Es geht um Hintergrund-Extraktion aus einem Video. Angenommen, Sie sind Video von Footage von Verkehr gegeben, kann eine Sache wie diese sein. Verkehr in Indien. Und Sie werden gebeten, einen ungefähren Hintergrund zu finden. Oder so etwas. Hintergrund-Extraktion kommt wichtig in der Objektverfolgung. Wenn Sie bereits ein Bild von der nackten Hintergrund, dann ist es einfach. Aber in vielen Fällen haben Sie nicht ein solches Bild und so, müssen Sie eine zu erstellen. Das ist, wo Running Average kommt praktisch. (Ich dachte darüber nach, wenn ein Mann eine Frage in SOF gefragt hat.) Die Funktion, die wir hier verwenden, um Running Average zu finden, ist cv2.accumulateWeighted (). Wenn wir z. B. ein Video anschauen, halten wir jedes Einzelbild an diese Funktion weiter, und die Funktion hält die Mittelwerte aller Frames, die ihr nach der folgenden Beziehung zugeführt werden, fest: src ist nichts anderes als unser Quellbild. Es kann Graustufen - oder Farbbild und entweder 8-Bit - oder 32-Bit-Gleitkomma sein. Dst ist das Ausgabe - oder Akkumulatorbild mit denselben Kanälen wie das Quellbild und es ist entweder ein 32-Bit - oder ein 64-Bit-Gleitkomma. Auch sollten wir es zuerst auf einen Wert deklarieren, der als Anfangswert genommen wird. Alpha ist das Gewicht des eingegebenen Bildes. Laut Docs regelt alpha die Aktualisierungsgeschwindigkeit (wie schnell der Akkumulator 8220forgets8221 um frühere Bilder handelt). In einfachen Worten, wenn Alpha ein höherer Wert ist, versucht das durchschnittliche Bild auch sehr schnelle und kurze Änderungen in den Daten zu erfassen. Wenn es niedriger Wert ist, wird der Durchschnitt träge und es wird nicht betrachten schnelle Änderungen in den Eingabebildern. Ich werde es ein wenig mit Hilfe von Bildern am Ende des Artikels erklären. In oben Code habe ich zwei Mittelwerte gesetzt, eine mit höheren Alpha-Wert und eine andere mit niedrigeren Alpha-Wert, so können Sie verstehen, Wirkung von Alpha. Zuerst werden beide auf den Anfangsrahmen des Captures gesetzt. Und in Schleife erhalten sie aktualisiert. Sie können einige Resultate in der SOF Verbindung sehen, die ich bereits zur Verfügung stellte. (Ich habe die Ergebnisse hier, können Sie den Code und Alpha-Wert dort): Ich habe meine Webcam und gespeichert Original-Frame und laufenden Durchschnitt zu einem bestimmten Zeitpunkt. Dieses ist ein Rahmen von einem typischen Verkehrsvideo, das von einer stationären Kamera genommen wird. Wie Sie sehen können, geht ein Auto auf die Straße, und die Person versucht, die Straße zu einem bestimmten Zeitpunkt zu überqueren. Aber sehen Sie den laufenden Durchschnitt zu diesem Zeitpunkt. Es gibt keine Person und Auto in diesem Bild (Eigentlich ist es dort, haben einen engen Blick, dann werden Sie es sehen, und die Person ist klarer als Auto, da Auto bewegt sich sehr schnell und über das Bild, es hat nicht viel Effekt auf Durchschnitt, aber Person ist dort für eine lange Zeit, da er langsam ist und sich über die Straße bewegt.) Jetzt müssen wir den Effekt von Alpha auf diesen Bildern sehen. Eine Hintergrund-Subtraktions-Bibliothek Letzte Aktualisierung: 18102016 Letzte Bibliothek Version: 1.9.2 (siehe Release Notes für weitere Informationen) Die BGSLibrary wurde von Andrews Sobral entwickelt und bietet ein einfach zu bedienendes C-Framework, das auf OpenCV basiert, um die Hintergrund-Subtraktion (BGS) in Videos durchzuführen. Die BGSLibrary kompiliert unter Linux, Mac OS X und Windows. Derzeit bietet die Bibliothek 37 BGS-Algorithmen an. Eine große Anzahl von Algorithmen wurden von mehreren Autoren zur Verfügung gestellt. Der Quellcode ist unter GNU GPL v3 Lizenz verfügbar, die Bibliothek ist kostenlos und Open Source für akademische Zwecke. Für Windows-Benutzer wird ein Demo-Projekt für Visual Studio 20102013 bereitgestellt. Eine ausführbare Version von BGSLibrary ist für Windows 32 Bits und 64 Bits verfügbar. Für Linux - und Mac-Benutzer kann ein Makefile verwendet werden, um alle Dateien zu kompilieren. Hinweis: Die BGSLibrary basiert auf OpenCV 2.X, wenn Sie mit OpenCV 3.x verwenden möchten, prüfen Sie bitte unseren opencv3-Zweig. Der PBAS-Algorithmus wurde aus der BGSLibrary entfernt, da er auf dem patentierten Algorithmus ViBE basiert. Einige Algorithmen der bgslibrary sind frei für kommerzielle Zwecke und andere nicht. Zuerst müssen Sie die Autoren der gewünschten Hintergrund-Subtraktion-Methode zu kontaktieren und mit ihnen die entsprechende Lizenz zu überprüfen. Weitere Informationen finden Sie unter: Kann ich eine GPLv3-Software als Teil meiner kommerziellen Anwendung verwenden. Wenn Sie diese Bibliothek für Ihre Publikationen verwenden, zitieren Sie sie bitte als: Sobral, Andrews. BGSLibrary: Eine OpenCV C-Hintergrund-Subtraktionsbibliothek. IX Workshop de Viso Computacional (WVC2013), Rio de Janeiro, Brasilien, Juni 2013. (PDF in brasilianischem Portugiesisch mit englischer Zusammenfassung). Sobral, Andrews Bouwmans, Thierry. BGS Bibliothek: Ein Bibliothek Framework für Algorithmen Evaluation in ForegroundBackground Segmentation. Kapitel zum Handbuch Hintergrundmodellierung und Vordergrunderkennung für Videoüberwachung, CRC Press, Taylor und Francis Group, 2014. (PDF in english). Einige Algorithmen der BGSLibrary wurden erfolgreich in meinen folgenden Beiträgen verwendet: (2014) Sobral, Andrews Vacavant, Antoine. Eine umfassende Überprüfung der Hintergrund-Subtraktion Algorithmen mit synthetischen und realen Videos ausgewertet. (CVIU), 2014. (PDF) (2013) Sobral, Andrews Oliveira, Luciano Schnitman, Leizer Souza, Felippe. (Best Paper Award) Autobahn Verkehrskonstriktion Klassifizierung mit ganzheitlichen Eigenschaften. In der International Conference on Signal Processing, Pattern Recognition and Applications (SPPRA2013), Innsbruck, Österreich, Februar 2013. (Online) (PDF) Liste der in der BGSLibrary verfügbaren Algorithmen Algorithmischer Name (siehe Quelltext) Wie benutzt man BGS Library In anderen C-Code Laden Sie neueste Projekt Quellcode, kopieren Sie packagebgs Verzeichnis zu Ihrem Projekt und erstellen Sie config-Ordner (bgslibrary verwenden Sie es, um XML-Konfigurationsdateien zu speichern). Für Windows-Benutzer steht ein Demo-Projekt für Visual Studio 2010 zur Verfügung. Wie kann man mit dem BGSLibrary-Projekt beitragen? Jeder wird eingeladen, mit dem BGSLibrary-Projekt zusammenzuarbeiten, indem er eine Implementierung von Algorithmen zur Hintergrundsubtraktion (BS) schickt. Sehen Sie bitte folgendes Tutorial: githubandrewssobralbgslibraryblobmasterdocsbgslibraryhowtocontribute. pdf Vollständige Liste der BGSLibrary-Mitarbeiter Ich danke allen, die in irgendeiner Weise zum Erfolg dieser Bibliothek beigetragen haben, insbesondere die folgenden Völker (in alphabetischer Reihenfolge): Ahmed Elgammal (USA) Antoine Vacavant (Frankreich), Benjamin Laugraud (Belgien), Csaba Kertsz (Finnland), Domenico Bloisi (Italien), Donovan Parks (Kanada), Eduardo Barreto Alexandre (Brasilien), Fida EL BAF (Frankreich), Iigo Martnez, (Deutschland), Jena Pei (China), Jian Yao (China), Hemang Shah, Holger Friedrich, Laurence Bender (Argentinien), Lionel Robinault (Frankreich), Luca Iocchi Luiz Vitor Martinez Cardoso (Brasilien), Martin Hofmann, Philipp Tiefenbacher und Gerhard Rigoll (Deutschland), Rim Trabelsi (Tunesien), Simone Gasparini (Frankreich), Stefano Tommesani (Italien), Thierry Bouwmans (Vikas Reddy) Yani Ioannou (Kanada), Zhenjie Zhao (China) und Zoran Zivkovic (Niederlande). Version 1.9.2: Hinzufügen von SuBSENSE - und LOBSTER-Algorithmen von Pierre-Luc et al. (2014). Version 1.9.1: Sigma-Delta-Hintergrund-Subtraktionsalgorithmus (SigmaDeltaBGS) von Manzanera und Richefeu (2004) hinzugefügt. Version 1.9.0: Hinzufügen eines neuen Frameworks für die Hintergrund-Subtraktion unter Verwendung mehrerer Cues (SJNMultiCueBGS) von SeungJong Noh und Moongu Jeon (2012). OpenCV 2.4.8 Unterstützung hinzugefügt (alle Abhängigkeiten sind statisch verknüpft). Version 1.8.0: Addierte unabhängige multimodale Hintergrund-Subtraktion (IMBS) von Domenico Daniele Bloisi (2012). Adaptives Selektives Hintergrundmodell-Lernen wurde hinzugefügt. Version 1.7.0: Texture-Based Foreground Detection mit MRF von Csaba Kertsz hinzugefügt (2011). Einige Verbesserungen und Bugfixes. Version 1.6.0: hinzugefügt KDE von A. Elgammal, D. Harwood, L. S. Davis, Nicht-parametrische Modell für Hintergrund-Subtraktion ECCV00 (dank Elgammal). Texture-basierte Hintergrund-Subtraktion von Marko Heikkila und Matti Pietikainen Eine texturierte Methode zur Modellierung des Hintergrunds und zum Erfassen von bewegten Objekten PAMI06. Added OpenCV 2.4.5 Unterstützung, einige Verbesserungen und Bugfixes. Version 1.5.0: VuMeter von Yann Goyat, Thierry Chateau, Laurent Malaterre und Laurent Trassoudaine (Dank an Antoine Vacavant) aufgenommen. Added OpenCV C MFC App (mit Quellcode) mit BGS Library für Windows Benutzer. Added OpenCV 2.4.4 Unterstützung (alle Abhängigkeiten sind statisch-bye DLLs verbunden), einige Verbesserungen und Bugfixes. Version 1.4.0: PBAS (Pixel-basierter adaptiver Segmenter) von M. Hofmann, P. Tiefenbacher und G. Rigoll. Hinzugefügt T2F-GMM mit MRF von Zhenjie Zhao, Thierry Bouwmans, Xubo Zhang und Yongchun Fang. (Dank Zhenjie Zhao und Thierry Bouwmans) Hinzugefügt GMG von A. Godbehere, A. Matsukawa, K. Goldberg (opencv native). Added OpenCV 2.4.3 Unterstützung (alle Abhängigkeiten sind statisch-bye DLLs verbunden), einige Verbesserungen und Bugfixes. Version 1.3.0: Fuzzy Sugeno und Choquet Integral mit adaptiv-selektivem Hintergrundmodell-Update (dank Thierry Bouwmans) Foreground Mask Analysis Upgrade, jetzt mit der Anzahl der True Positives (TP), True Negatives (TN), False Positives (FP) , Falschnegativ (FN), Erkennungsrate, Präzision, Genauigkeit, Falschnegativrate (FNR), Falschpositionsrate (FPR), True Positive Rate (TPR) und ROC-Bilder (dank Thierry Bouwmans) Unterstützung von OpenCV 2.4 Verbesserungen, Fehlerbehebungen. Version 1.2.0: Mehrschicht-BGS hinzugefügt (dank Jian Yao und Jean-Marc Odobez) Zusätzliche Hintergrund-Subtraktionsmodelle von Laurence Bender (Simple Gaussian, Fuzzy Gaussian, Mischung von Gaussians, Adaptive SOM und Fuzzy Adaptive SOM) Added Vordergrundmaskenanalyse (Ähnlichkeitsmaß) Version 1.1.0: Added Type2-Fuzzy GMM UM und UV (dank Thierry Bouwmans) Unterstützung hinzugefügt, um die durchschnittliche Zeit der Algorithmen zu berechnen (siehe param tictoc in. configFrameProcessor. xml) Version 1.0.0: Erste stabile Version Hinzugefügt 14 Hintergrund-Subtraktionsalgorithmen (07 angepasst von Donovan Parks) Ich versuche, eine einfache Hintergrund-Subtraktionsmethode für die Erfassung von sich bewegenden Objekten in einer bestimmten Szene zu implementieren. Das Ziel ist, Art von Segment aus einer bestimmten Bewegung aus einem Video, um es in einem anderen Video. Der Algorithmus, den ich folge, ist: 1. Nehmen Sie die ersten 25 Frames aus dem Video und durchschnitt sie, um ein Hintergrundmodell zu erhalten. 2. Finden Sie die Standardabweichung dieser 25Frames und speichern Sie die Werte in einem anderen Bild. 3. Nun berechne ich die absolute Differenz zwischen jedem Frame und dem durchschnittlichen Hintergrundmodell pixelweise. Die Ausgabe, die ich erhalte, ist Art einer transparenten Bewegung, die in Weiß hervorgehoben wird (die absolute Differenzierung resultiert in der Transparenz, die ich denke). Ich möchte wissen, ob mein Ansatz richtig ist oder nicht, dass ich eine Segmentierung auf diese Ausgabe als nächsten Schritt tun werde Und auch ich bin immer keine Ahnung, wie die Standard-Abweichung Bild verwenden. Jede Hilfe wird geschätzt. Mich bitte informieren, wenn dieses nicht die Art der Frage ist, die ich im Stapelüberlauf bekannt geben sollte. In diesem Fall wird jede Referenz oder Links zu anderen Seiten hilfreich sein. Gefragt 26. Juni um 9:12 Uhr


No comments:

Post a Comment