Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

DBSCAN gruppiert dicht beieinanderliegende Punkte zu Clustern beliebiger Form und kennzeichnet vereinzelte Punkte als Rauschen, ohne dass die Anzahl der Cluster vorgegeben werden muss. Mit Code.

DBSCAN (dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen) ist ein Algorithmus für unüberwachtes Lernen, der eng beieinanderliegende Punkte zu Clustern zusammenfasst und Punkte in dünn besiedelten Bereichen als Rauschen kennzeichnet. Martin Ester, Hans-Peter Kriegel, Jörg Sander und Xiaowei Xu stellten den Algorithmus 1996 auf der KDD-Konferenz vor. Er benötigt keine vorgegebene Anzahl von Clustern, findet Cluster beliebiger Form – etwa Ringe, Halbmonde oder gewundene Straßen – und seine Rauschmarkierung dient zugleich als einfache Form der Anomalieerkennung. Der gesamte Algorithmus wird durch zwei Parameter gesteuert: den Radius der Nachbarschaft und die Anzahl der Punkte, ab der eine Nachbarschaft als dicht gilt.

Kernpunkte, Randpunkte und Rauschen#

DBSCAN betrachtet für jeden Punkt dessen Nachbarschaft – die Menge der Punkte innerhalb eines Abstands von eps – und zählt die enthaltenen Punkte:

  • Kernpunkt: Hat mindestens min_samples Punkte in seiner Nachbarschaft; in der Implementierung von scikit-learn wird der Punkt selbst mitgezählt. Kernpunkte bilden den dichten inneren Bereich eines Clusters.
  • Randpunkt: Hat zu wenige Nachbarn, um ein Kernpunkt zu sein, liegt aber höchstens eps von einem Kernpunkt entfernt. Randpunkte bilden die Ränder eines Clusters.
  • Rauschpunkt: Ist weder Kern- noch Randpunkt, gehört daher zu keinem Cluster und erhält das Label -1.

Ein Cluster wächst ausgehend von jedem noch nicht besuchten Kernpunkt. DBSCAN fügt alle Punkte in dessen Nachbarschaft hinzu und wiederholt den Vorgang für jeden neu hinzugefügten Kernpunkt, bis keine weiteren Punkte erreichbar sind. So bildet eine Kette überlappender dichter Nachbarschaften unabhängig von ihrem Verlauf ein einziges Cluster. Randpunkte werden einem Cluster zugeordnet, vergrößern es aber nicht. Bei einer gegebenen Eingabereihenfolge ist das Ergebnis deterministisch. Ein Randpunkt, der von zwei Clustern aus erreichbar ist, wird jedoch dem Cluster zugeordnet, das ihn zuerst erreicht. Daher kann sich die Zuordnung von Randpunkten ändern, wenn die Daten gemischt werden.

eps und min_samples auswählen#

Der Radius eps ist am wichtigsten und hängt vom Maßstab der Daten ab. Deshalb werden die Merkmale üblicherweise zuerst standardisiert. Ist der Radius zu klein, bleiben die meisten Punkte Rauschen. Ist er zu groß, verschmelzen benachbarte Cluster zu einem einzigen. Eine verbreitete Faustregel sortiert den Abstand jedes Punktes zu seinem k-ten nächsten Nachbarn, wobei k gleich min_samples ist, und wählt eps am Knick der Kurve aus, an dem die Abstände stark anzusteigen beginnen. Höhere Werte für min_samples machen das Clustering toleranter gegenüber Rauschen und sind bei großen oder verrauschten Datensätzen üblich. In hochdimensionalen Räumen wie Bildeinbettungen ähneln sich die Abstände zwischen den Punkten immer stärker. Daher reduzieren Anwenderinnen und Anwender die Dimensionalität häufig vor DBSCAN, etwa mit der Hauptkomponentenanalyse (PCA).

DBSCAN im Vergleich zu K-Means und HDBSCAN#

K-Means-Clustering benötigt die Anzahl der Cluster im Voraus, ordnet jeden Punkt dem nächstgelegenen Schwerpunkt zu und bevorzugt daher kompakte, runde Cluster. Ausreißer werden dabei ebenfalls einer Gruppe zugewiesen. DBSCAN ermittelt die Anzahl der Cluster anhand der Dichte und lässt Ausreißer außen vor. Seine Schwäche ist ein einziger globaler Wert für eps: Bei Clustern mit sehr unterschiedlicher Dichte trennt kein Radius zugleich die dünn besiedelten Cluster vom Rauschen und die dichten Cluster voneinander. HDBSCAN begegnet diesem Problem, indem es DBSCAN im Grunde für alle Werte von eps ausführt und die stabilsten Cluster beibehält. Beide Algorithmen sind neben dem verwandten OPTICS im Clustering-Modul von scikit-learn enthalten.

In diesem Beispiel werden zwei ineinandergreifende Halbmonde mit 20 hinzugefügten zufälligen Ausreißern gruppiert. Die Ergebnisse werden anhand des korrigierten Rand-Index mit den wahren Gruppen verglichen, wobei 1.0 einer perfekten Übereinstimmung entspricht:

import numpy as np
from sklearn.cluster import DBSCAN, KMeans
from sklearn.datasets import make_moons
from sklearn.metrics import adjusted_rand_score

# Two interleaving crescents plus 20 scattered outliers (true label -1)
X, y = make_moons(n_samples=300, noise=0.05, random_state=0)
rng = np.random.default_rng(0)
X = np.vstack([X, rng.uniform(-1.5, 2.5, size=(20, 2))])
y = np.concatenate([y, np.full(20, -1)])

# DBSCAN infers clusters from density; k-means is told there are 2
db_labels = DBSCAN(eps=0.2, min_samples=5).fit_predict(X)
km_labels = KMeans(n_clusters=2, random_state=0).fit_predict(X)

print(f"DBSCAN: {db_labels.max() + 1} clusters, {(db_labels == -1).sum()} noise points")
print(f"ARI: DBSCAN {adjusted_rand_score(y, db_labels):.2f}, k-means {adjusted_rand_score(y, km_labels):.2f}")

Das Skript gibt für DBSCAN 2 Cluster und 15 Rauschpunkte sowie korrigierte Rand-Indizes von 0.97 für DBSCAN und 0.20 für k-means aus. DBSCAN bildet beide Halbmonde nach und sondert die Ausreißer ab, die außerhalb davon liegen. K-means trennt die Halbmonde dagegen mit einer geraden Grenze, obwohl die korrekte Anzahl der Cluster vorgegeben wurde.

Anwendungen in der Praxis#

  • LiDAR-Wahrnehmung: Bei Verarbeitungsketten für autonome Fahrzeuge und Robotik werden zunächst Bodenpunkte aus einem LiDAR-Scan entfernt und anschließend die übrigen 3D-Punkte zu einzelnen Hindernissen gruppiert. Dichtebasiertes Clustering ist dabei eine gängige Wahl, da die Anzahl der Objekte unbekannt ist.
  • Nachbearbeitung von Erkennungen: Die Boxmittelpunkte von YOLO26-Erkennungen, verfügbar als result.boxes.xywh, lassen sich mit DBSCAN gruppieren, um Menschenansammlungen oder wiederkehrende Fehlerstellen in einer Produktionslinie zu finden. Vereinzelte Erkennungen werden dabei als Rauschen ausgesondert.
  • Betrugs- und Sensorüberwachung: Transaktionen oder Messwerte mit der Kennzeichnung -1 liegen weit entfernt von jeder dichten Gruppe normalen Verhaltens und kommen daher für eine Überprüfung infrage.
  • Geodatenanalyse: Liefer- und Fahrdienstunternehmen clustern GPS-Punkte, um häufige Haltepunkte und stark frequentierte Abholorte zu finden. DBSCAN in Scikit-learn akzeptiert metric="haversine" für Breiten- und Längengrade im Bogenmaß. In diesem Fall ist eps ein Winkel auf der Einheitskugel, sodass ein Radius von 100 Metern zu eps = 0.1 / 6371 wird, wobei der mittlere Erdradius von 6.371 km verwendet wird.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens