国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung Python-Tutorial Eine kurze Einführung in den SORT-Tracking-Algorithmus und sein Python-Implementierungsbeispiel

Eine kurze Einführung in den SORT-Tracking-Algorithmus und sein Python-Implementierungsbeispiel

Jan 23, 2024 pm 11:18 PM
Maschinelles Lernen Algorithmuskonzept

Eine kurze Einführung in den SORT-Tracking-Algorithmus und sein Python-Implementierungsbeispiel

SORT (Simple Online and Realtime Tracking) ist ein auf dem Kalman-Filter basierender Zielverfolgungsalgorithmus, der sich bewegende Ziele in Echtzeitszenen zuverl?ssig verfolgen kann. Der SORT-Algorithmus wurde ursprünglich 2016 von Alex Bewley und anderen vorgeschlagen. Er wird h?ufig in verschiedenen Anwendungen im Bereich Computer Vision eingesetzt, wie z. B. Videoüberwachung, autonomes Fahren, Roboternavigation usw. Der

SORT-Algorithmus basiert haupts?chlich auf zwei Kernideen: der Kalman-Filterung und dem ungarischen Algorithmus. Der Kalman-Filter ist ein Algorithmus zur Sch?tzung des Systemzustands. Er kann das dynamische Modell des Systems und Sensormessungen verwenden, um den Systemzustand vorherzusagen und zu aktualisieren und so die Genauigkeit der Zustandssch?tzung zu verbessern. Der ungarische Algorithmus ist ein Algorithmus zur L?sung des Problems der maximalen Gewichtsanpassung bei zweiteiligen Diagrammen. Er kann die maximale Gewichtsanpassung bei gegebenen zweiteiligen Diagrammen ermitteln.

Die Hauptschritte des SORT-Algorithmus sind wie folgt:

Zielerkennung: Verwenden Sie Zielerkennungsalgorithmen (wie YOLO, SSD usw.), um Zielinformationen im aktuellen Frame zu extrahieren.

Zustandsvorhersage: Verwenden Sie für jedes verfolgte Ziel den Kalman-Filter, um seinen Zustand vorherzusagen.

Datenzuordnung: Basierend auf dem Vorhersagestatus und den Zielinformationen im aktuellen Frame verwenden Sie den ungarischen Algorithmus, um eine Datenzuordnung durchzuführen und das Ziel zu finden, das jedem verfolgten Ziel im aktuellen Frame entspricht.

Statusaktualisierung: Verwenden Sie für jedes verfolgte Ziel den Kalman-Filter, um seinen Status zu aktualisieren.

Zielausgabe: Geben Sie die Statusinformationen und Tracking-Ergebnisse jedes verfolgten Ziels aus.

In der Computer Vision kann der SORT-Algorithmus auf verschiedene Zielverfolgungsszenarien angewendet werden. Bei der Videoüberwachung kann der SORT-Algorithmus beispielsweise sich bewegende Ziele in Echtzeit verfolgen und so ungew?hnliches Verhalten am Tatort erkennen und frühzeitig warnen. Im Bereich des autonomen Fahrens kann der SORT-Algorithmus andere Fahrzeuge, Fu?g?nger und andere Verkehrsteilnehmer verfolgen, um eine autonome Navigation und Hindernisvermeidung von Fahrzeugen zu erreichen. Bei der Roboternavigation kann der SORT-Algorithmus sich bewegende Ziele verfolgen, um eine autonome Navigation und Hindernisvermeidung des Roboters zu erreichen.

Das Folgende ist ein einfacher Beispielcode, der in Python implementiert ist:

#python
import numpy as np
from filterpy.kalman import KalmanFilter
from scipy.optimize import linear_sum_assignment

class Track:

def init(self,prediction,track_id,track_lifetime):
    self.prediction=np.atleast_2d(prediction)
    self.track_id=track_id
    self.track_lifetime=track_lifetime
    self.age=0
    self.total_visible_count=1
    self.consecutive_invisible_count=0

def predict(self, kf):
    self.prediction = kf.predict()
    self.age += 1

def update(self, detection, kf):
    self.prediction = kf.update(detection)
    self.total_visible_count += 1
    self.consecutive_invisible_count = 0

def mark_missed(self):
    self.consecutive_invisible_count += 1

def is_dead(self):
    return self.consecutive_invisible_count >= self.track_lifetime

class Tracker:

def init(self,track_lifetime,detection_variance,process_variance):
    self.next_track_id=0
    self.tracks=[]
    self.track_lifetime=track_lifetime
    self.detection_variance=detection_variance
    self.process_variance=process_variance
    self.kf=KalmanFilter(dim_x=4,dim_z=2)
    self.kf.F=np.array([[1,0,1,0],
                    [0,1,0,1],
                    [0,0,1,0],
                    [0,0,0,1]])
    self.kf.H=np.array([[1,0,0,0],
                    [0,1,0,0]])
    self.kf.R=np.array([[self.detection_variance,0],
                    [0,self.detection_variance]])
    self.kf.Q=np.array([[self.process_variance,0,0,0],
                    [0,self.process_variance,0,0],
                    [0,0,self.process_variance,0],
                    [0,0,0,self.process_variance]])

def update(self, detections):
    # predict track positions using Kalman filter
    for track in self.tracks:
        track.predict(self.kf)

    # associate detections with tracks using Hungarian algorithm
    if len(detections) > 0:
        num_tracks = len(self.tracks)
        num_detections = len(detections)
        cost_matrix = np.zeros((num_tracks, num_detections))
        for i, track in enumerate(self.tracks):
            for j, detection in enumerate(detections):
                diff = track.prediction - detection
                distance = np.sqrt(diff[0,0]**2 + diff[0,1]**2)
                cost_matrix[i,j] = distance
        row_indices, col_indices = linear_sum_assignment(cost_matrix)
        unassigned_tracks = set(range(num_tracks)) - set(row_indices)
        unassigned_detections = set(range(num_detections)) - set(col_indices)
        for i, j in zip(row_indices, col_indices):
            self.tracks[i].update(detections[j], self.kf)
        for i in unassigned_tracks:
            self.tracks[i].mark_missed()
        for j in unassigned_detections:
            new_track = Track(detections[j], self.next_track_id, self.track_lifetime)
            self.tracks.append(new_track)
            self.next_track_id += 1

    # remove dead tracks
    self.tracks = [track for track in self.tracks if not track.is_dead()]

    # return list of track positions
    return [track.prediction.tolist()[0] for track in self.tracks]

Der obige Code implementiert einen einfachen SORT-Tracking-Algorithmus, der den Kalman-Filter verwendet, um die Zielposition und -geschwindigkeit vorherzusagen und zu sch?tzen, und dann den ungarischen Algorithmus zur Ausführung verwendet Verfolgung des Ziels und schlie?lich Bestimmung, ob das Ziel tot ist, basierend auf der Anzahl der aufeinanderfolgenden Unsichtbarkeiten des Ziels, und Entfernung des toten Ziels. Der obige Code implementiert einen einfachen SORT-Verfolgungsalgorithmus, der den Kalman-Filter verwendet, um die Position und Geschwindigkeit des Ziels vorherzusagen und zu sch?tzen, dann den ungarischen Algorithmus zum Zuordnen des Ziels zu verwenden und schlie?lich zu beurteilen, ob das Ziel tot ist, und den Tod anhand der Zahl zu entfernen von aufeinanderfolgenden unsichtbaren Zeiten des Ziels.

Neben dem SORT-Algorithmus gibt es viele weitere Zielverfolgungsalgorithmen, wie z. B. Kalman-Filter, Partikelfilter, Multizielverfolgung usw. Jeder Algorithmus hat seine anwendbaren Szenarien, Vor- und Nachteile. In praktischen Anwendungen ist es notwendig, basierend auf spezifischen Szenarien und Anforderungen einen geeigneten Algorithmus zur Zielverfolgung auszuw?hlen.

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in den SORT-Tracking-Algorithmus und sein Python-Implementierungsbeispiel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
In diesem Artikel erfahren Sie mehr über SHAP: Modellerkl?rung für maschinelles Lernen In diesem Artikel erfahren Sie mehr über SHAP: Modellerkl?rung für maschinelles Lernen Jun 01, 2024 am 10:58 AM

In den Bereichen maschinelles Lernen und Datenwissenschaft stand die Interpretierbarkeit von Modellen schon immer im Fokus von Forschern und Praktikern. Mit der weit verbreiteten Anwendung komplexer Modelle wie Deep Learning und Ensemble-Methoden ist das Verst?ndnis des Entscheidungsprozesses des Modells besonders wichtig geworden. Explainable AI|XAI tr?gt dazu bei, Vertrauen in maschinelle Lernmodelle aufzubauen, indem es die Transparenz des Modells erh?ht. Eine Verbesserung der Modelltransparenz kann durch Methoden wie den weit verbreiteten Einsatz mehrerer komplexer Modelle sowie der Entscheidungsprozesse zur Erl?uterung der Modelle erreicht werden. Zu diesen Methoden geh?ren die Analyse der Merkmalsbedeutung, die Sch?tzung des Modellvorhersageintervalls, lokale Interpretierbarkeitsalgorithmen usw. Die Merkmalswichtigkeitsanalyse kann den Entscheidungsprozess des Modells erkl?ren, indem sie den Grad des Einflusses des Modells auf die Eingabemerkmale bewertet. Sch?tzung des Modellvorhersageintervalls

Identifizieren Sie über- und Unteranpassung anhand von Lernkurven Identifizieren Sie über- und Unteranpassung anhand von Lernkurven Apr 29, 2024 pm 06:50 PM

In diesem Artikel wird vorgestellt, wie überanpassung und Unteranpassung in Modellen für maschinelles Lernen mithilfe von Lernkurven effektiv identifiziert werden k?nnen. Unteranpassung und überanpassung 1. überanpassung Wenn ein Modell mit den Daten übertrainiert ist, sodass es daraus Rauschen lernt, spricht man von einer überanpassung des Modells. Ein überangepasstes Modell lernt jedes Beispiel so perfekt, dass es ein unsichtbares/neues Beispiel falsch klassifiziert. Für ein überangepasstes Modell erhalten wir einen perfekten/nahezu perfekten Trainingssatzwert und einen schrecklichen Validierungssatz-/Testwert. Leicht ge?ndert: ?Ursache der überanpassung: Verwenden Sie ein komplexes Modell, um ein einfaches Problem zu l?sen und Rauschen aus den Daten zu extrahieren. Weil ein kleiner Datensatz als Trainingssatz m?glicherweise nicht die korrekte Darstellung aller Daten darstellt. 2. Unteranpassung Heru.“

Transparent! Eine ausführliche Analyse der Prinzipien der wichtigsten Modelle des maschinellen Lernens! Transparent! Eine ausführliche Analyse der Prinzipien der wichtigsten Modelle des maschinellen Lernens! Apr 12, 2024 pm 05:55 PM

Laienhaft ausgedrückt ist ein Modell für maschinelles Lernen eine mathematische Funktion, die Eingabedaten einer vorhergesagten Ausgabe zuordnet. Genauer gesagt ist ein Modell für maschinelles Lernen eine mathematische Funktion, die Modellparameter anpasst, indem sie aus Trainingsdaten lernt, um den Fehler zwischen der vorhergesagten Ausgabe und der wahren Bezeichnung zu minimieren. Beim maschinellen Lernen gibt es viele Modelle, z. B. logistische Regressionsmodelle, Entscheidungsbaummodelle, Support-Vektor-Maschinenmodelle usw. Jedes Modell verfügt über seine anwendbaren Datentypen und Problemtypen. Gleichzeitig gibt es viele Gemeinsamkeiten zwischen verschiedenen Modellen oder es gibt einen verborgenen Weg für die Modellentwicklung. Am Beispiel des konnektionistischen Perzeptrons k?nnen wir es durch Erh?hen der Anzahl verborgener Schichten des Perzeptrons in ein tiefes neuronales Netzwerk umwandeln. Wenn dem Perzeptron eine Kernelfunktion hinzugefügt wird, kann es in eine SVM umgewandelt werden. Dieses hier

Die Entwicklung der künstlichen Intelligenz in der Weltraumforschung und der Siedlungstechnik Die Entwicklung der künstlichen Intelligenz in der Weltraumforschung und der Siedlungstechnik Apr 29, 2024 pm 03:25 PM

In den 1950er Jahren wurde die künstliche Intelligenz (KI) geboren. Damals entdeckten Forscher, dass Maschinen menschen?hnliche Aufgaben wie das Denken ausführen k?nnen. Sp?ter, in den 1960er Jahren, finanzierte das US-Verteidigungsministerium künstliche Intelligenz und richtete Labore für die weitere Entwicklung ein. Forscher finden Anwendungen für künstliche Intelligenz in vielen Bereichen, etwa bei der Erforschung des Weltraums und beim überleben in extremen Umgebungen. Unter Weltraumforschung versteht man die Erforschung des Universums, das das gesamte Universum au?erhalb der Erde umfasst. Der Weltraum wird als extreme Umgebung eingestuft, da sich seine Bedingungen von denen auf der Erde unterscheiden. Um im Weltraum zu überleben, müssen viele Faktoren berücksichtigt und Vorkehrungen getroffen werden. Wissenschaftler und Forscher glauben, dass die Erforschung des Weltraums und das Verst?ndnis des aktuellen Zustands aller Dinge dazu beitragen k?nnen, die Funktionsweise des Universums zu verstehen und sich auf m?gliche Umweltkrisen vorzubereiten

Fünf Schulen des maschinellen Lernens, die Sie nicht kennen Fünf Schulen des maschinellen Lernens, die Sie nicht kennen Jun 05, 2024 pm 08:51 PM

Maschinelles Lernen ist ein wichtiger Zweig der künstlichen Intelligenz, der Computern die M?glichkeit gibt, aus Daten zu lernen und ihre F?higkeiten zu verbessern, ohne explizit programmiert zu werden. Maschinelles Lernen hat ein breites Anwendungsspektrum in verschiedenen Bereichen, von der Bilderkennung und der Verarbeitung natürlicher Sprache bis hin zu Empfehlungssystemen und Betrugserkennung, und es ver?ndert unsere Lebensweise. Im Bereich des maschinellen Lernens gibt es viele verschiedene Methoden und Theorien, von denen die fünf einflussreichsten Methoden als ?Fünf Schulen des maschinellen Lernens“ bezeichnet werden. Die fünf Hauptschulen sind die symbolische Schule, die konnektionistische Schule, die evolution?re Schule, die Bayes'sche Schule und die Analogieschule. 1. Der Symbolismus, auch Symbolismus genannt, betont die Verwendung von Symbolen zum logischen Denken und zum Ausdruck von Wissen. Diese Denkrichtung glaubt, dass Lernen ein Prozess der umgekehrten Schlussfolgerung durch das Vorhandene ist

Implementierung von Algorithmen für maschinelles Lernen in C++: H?ufige Herausforderungen und L?sungen Implementierung von Algorithmen für maschinelles Lernen in C++: H?ufige Herausforderungen und L?sungen Jun 03, 2024 pm 01:25 PM

Zu den h?ufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, geh?ren Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den L?sungen geh?ren die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische F?lle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Erkl?rbare KI: Erkl?ren komplexer KI/ML-Modelle Erkl?rbare KI: Erkl?ren komplexer KI/ML-Modelle Jun 03, 2024 pm 10:08 PM

übersetzer |. Rezensiert von Li Rui |. Chonglou Modelle für künstliche Intelligenz (KI) und maschinelles Lernen (ML) werden heutzutage immer komplexer, und die von diesen Modellen erzeugten Ergebnisse sind eine Blackbox, die den Stakeholdern nicht erkl?rt werden kann. Explainable AI (XAI) zielt darauf ab, dieses Problem zu l?sen, indem es Stakeholdern erm?glicht, die Funktionsweise dieser Modelle zu verstehen, sicherzustellen, dass sie verstehen, wie diese Modelle tats?chlich Entscheidungen treffen, und Transparenz in KI-Systemen, Vertrauen und Verantwortlichkeit zur L?sung dieses Problems gew?hrleistet. In diesem Artikel werden verschiedene Techniken der erkl?rbaren künstlichen Intelligenz (XAI) untersucht, um ihre zugrunde liegenden Prinzipien zu veranschaulichen. Mehrere Gründe, warum erkl?rbare KI von entscheidender Bedeutung ist. Vertrauen und Transparenz: Damit KI-Systeme allgemein akzeptiert und vertrauenswürdig sind, müssen Benutzer verstehen, wie Entscheidungen getroffen werden

Ist Flash Attention stabil? Meta und Harvard stellten fest, dass die Gewichtsabweichungen ihrer Modelle um Gr??enordnungen schwankten Ist Flash Attention stabil? Meta und Harvard stellten fest, dass die Gewichtsabweichungen ihrer Modelle um Gr??enordnungen schwankten May 30, 2024 pm 01:24 PM

MetaFAIR hat sich mit Harvard zusammengetan, um einen neuen Forschungsrahmen zur Optimierung der Datenverzerrung bereitzustellen, die bei der Durchführung gro? angelegten maschinellen Lernens entsteht. Es ist bekannt, dass das Training gro?er Sprachmodelle oft Monate dauert und Hunderte oder sogar Tausende von GPUs verwendet. Am Beispiel des Modells LLaMA270B erfordert das Training insgesamt 1.720.320 GPU-Stunden. Das Training gro?er Modelle stellt aufgrund des Umfangs und der Komplexit?t dieser Arbeitsbelastungen einzigartige systemische Herausforderungen dar. In letzter Zeit haben viele Institutionen über Instabilit?t im Trainingsprozess beim Training generativer SOTA-KI-Modelle berichtet. Diese treten normalerweise in Form von Verlustspitzen auf. Beim PaLM-Modell von Google kam es beispielsweise w?hrend des Trainingsprozesses zu Instabilit?ten. Numerische Voreingenommenheit ist die Hauptursache für diese Trainingsungenauigkeit.

See all articles