cluster-analysis

___ qstnhdr ___ Clustering Bildsegmente in opencv ___ answer23843118 ___

Ich bin mir nicht ganz sicher, ob Sie wirklich nach Clustering suchen (im Sinne von Data Mining).

Clustering wird verwendet, um ähnliche Objekte gemäß einer Abstandsfunktion zu gruppieren. In Ihrem Fall würde die Entfernungsfunktion nur die räumlichen Qualitäten verwenden. Außerdem müssen Sie beim k-means-Clustering ein k angeben, das Sie wahrscheinlich vorher nicht kennen.

Es scheint mir, dass Sie nur alle Rechtecke zusammenführen wollen, deren Ränder näher beieinander liegen als ein vorbestimmter Schwellenwert. Versuchen Sie als erstes, alle Rechtecke zusammenzufassen, die sich berühren oder die näher beieinander liegen als die halbe Spielerhöhe.

Wahrscheinlich möchten Sie eine Größenprüfung einbeziehen, um das Risiko zu minimieren, dass zwei Spieler zu einem zusammengeführt werden.

Bearbeiten: Wenn Sie wirklich einen Cluster-Algorithmus verwenden möchten, verwenden Sie einen, der die Anzahl der Cluster für Sie schätzt.

    
___ answer23997322 ___

Dieses Problem kann durch den dbscan Clustering-Algorithmus nahezu perfekt gelöst werden. Im Folgenden stelle ich die Implementierung und das Ergebnisbild vor. Gray Blob bedeutet Ausreißer oder Rauschen nach dbscan. Ich habe einfach Boxen als Eingabedaten verwendet. Anfänglich wurden Kastenzentren für die Abstandsfunktion verwendet. Für Boxen reicht es jedoch nicht aus, die Entfernung korrekt zu beschreiben. Die aktuelle Distanzfunktion verwendet also den Mindestabstand aller 8 Ecken von zwei Boxen.

%Vor%

    
___ answer23844375 ___

Ich stimme Sebastian Schmitz zu: Sie sollten wahrscheinlich nicht nach Clustering suchen.

Erwarten Sie nicht, dass eine uninformierte Methode wie k-means für Sie magisch wirkt. Insbesondere eine, die so grob ist wie eine Heuristik wie k-means, und die in einer idealisierten mathematischen Welt lebt, nicht in chaotischen, realen Daten.

Sie haben ein gutes Verständnis für was Sie wollen. Versuchen Sie, diese Intuition in Code zu fassen. In Ihrem Fall scheinen Sie nach verbundenen Komponenten zu suchen.

Berücksichtigen Sie das Downsampling Ihres Bilds auf eine niedrigere Auflösung und wiederholen Sie dann denselben Prozess! Oder führen Sie es sofort mit der niedrigeren Auflösung aus (um Komprimierungsartefakte zu reduzieren und die Leistung zu verbessern). Oder fügen Sie Filter hinzu, z. B. zum Weichzeichnen.

Ich würde beste und schnellste Ergebnisse erwarten, wenn ich die verbundenen Komponenten im Downsampling / gefilterten Bild betrachte.

    
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ tag123opencv ___ OpenCV (Open Source Computer Vision) ist eine plattformübergreifende Bibliothek von Programmierfunktionen für die Echtzeit-Bildverarbeitung. Es wurde 1999 offiziell von Intel ins Leben gerufen und wird nun von Itseez unterstützt. Verwendet werden: Mensch-Computer-Interaktion; Objektidentifikation, Segmentierung und Erkennung; Gesichtserkennung; Gestenerkennung; Bewegungsverfolgung, Bewegung Verständnis; Stereo- und Multikamera-Kalibrierung und Tiefenberechnung; Mobile Robotik. ___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ tag123imageprocessing ___ Alles, was mit digitaler Bildverarbeitung zu tun hat, d. h. die Theorie und die Techniken, die verwendet werden, um Informationen aus digitalen Bildern zu extrahieren oder zu manipulieren. ___ tag123clusteranalyse ___ Clusteranalyse ist der Prozess der Gruppierung "ähnlicher" Objekte in Gruppen, die als "Cluster" bekannt sind, zusammen mit der Analyse dieser Ergebnisse. ___ answer33523899 ___

Ich schätze, Sie können Ihren ursprünglichen Versuch verbessern, indem Sie morphologische Transformationen verwenden. Werfen Sie einen Blick auf Ссылка . Wahrscheinlich kannst du danach für jede Entität mit einem geschlossenen Satz umgehen, besonders mit separaten Spielern, so wie du dein Originalbild bekommen hast.

    
___ qstntxt ___

Ich arbeite an der Bewegungserkennung mit nicht-statischen Kamera mit opencv. Ich benutze einen ziemlich einfachen Hintergrundsubtraktions- und Schwellenwertansatz, um einen umfassenden Eindruck von allem zu bekommen, was sich in einem Beispielvideo bewegt. Nach der Schwellenwertbildung lade ich alle trennbaren "Patches" von weißen Pixeln ein, speichere sie als unabhängige Komponenten und färbe sie zufällig mit Rot, Grün oder Blau. Das Bild unten zeigt dies für ein Fußballvideo, wo alle diese Komponenten sichtbar sind.

Ich erstelle Rechtecke über diese erkannten Komponenten und erhalte dieses Bild:

So kann ich die Herausforderung hier sehen. Ich möchte alle "ähnlichen" und nahegelegenen Komponenten in einer einzigen Einheit zusammenfassen, so dass die Rechtecke im Ausgabebild einen Spieler zeigen, der sich als Ganzes bewegt (und nicht seine unabhängigen Glieder). Ich habe versucht, K-Means Clustering zu machen, aber da ich im Idealfall die Anzahl der sich bewegenden Entitäten nicht kennen würde, könnte ich keine Fortschritte machen.

Bitte zeigen Sie mir, wie ich das machen kann. Danke

    
___
2
Antworten

Welche Bedeutung hat die Semi-Clustering-Formel in der Google Pregel-Arbeit?

Der Semi-Clustering-Algorithmus wird im Google Pregel-Dokument erwähnt. Der Score eines Semi-Clusters wird mit der folgenden Formel berechnet wo Ic ist die Summe der Gewichte aller inneren Kanten Bc ist die Summe der Gewichte aller...
02.07.2012, 12:42
2
Antworten

Partitionierung eines Float-Arrays in ähnliche Segmente (Clustering)

Ich habe ein Array von Schwimmern wie folgt: %Vor% Nun möchte ich das Array wie folgt partitionieren: %Vor% // [200] wird aufgrund der geringeren Cluster-Unterstützung als Ausreißer betrachtet Ich muss diese Art von Segment für mehrer...
05.07.2013, 01:33
4
Antworten

Prüfe, ob eine Regex eine andere Regex abdeckt

Ich versuche, einen Textclusteralgorithmus zu implementieren. Der Algorithmus gruppiert ähnliche Zeilen von Rohtext, indem er sie durch Regex ersetzt, und aggregiert die Anzahl von Mustern, die zu jedem Regex passen, um eine saubere Zusammenfass...
27.03.2012, 10:42
4
Antworten

Clustering großen Vektorraum

Ich mache einige Tests, bei denen eine große Anzahl sehr großer Vektoren mit geringer Dichte gruppiert wird, die die Terme-Frequenz-Invers-Dokument-Häufigkeit verschiedener hypertextueller Dokumente darstellen. Welchen Algorithmus würden Sie vor...
08.10.2009, 18:51
1
Antwort

Networkx-Graph-Clustering

in Networkx, wie kann ich Knoten basierend auf Knotenfarbe gruppieren? Zum Beispiel habe ich 100 Knoten, einige von ihnen sind nahe an Schwarz, während andere nahe am Weiß sind. Im Graph-Layout möchte ich, dass Knoten mit ähnlicher Farbe nahe be...
02.03.2012, 23:56
1
Antwort

Wie führe ich Cluster mit Gewichten / Dichte in Python aus? Etwas wie Kmeans mit Gewichten?

Meine Daten sind wie folgt: %Vor% Ich möchte in der Lage sein, die Daten in N Cluster zu gruppieren (sagen wir 3). Normalerweise würde ich ein kmeans verwenden: %Vor% Das Problem dabei ist, dass es keine Gewichtung berücksichtigt (in die...
11.07.2017, 03:51
1
Antwort

Abrufen der Anzahl von Beobachtungen in Clustern (k) unter Höhe (z)

Gegeben ein Dendrogramm y, das eine k Anzahl von Clustern unter dem Höhenwert z hat, würde ich gerne wissen: Wie viele Beobachtungen wurden zur Bildung der Clusteranzahl (k) verwendet? Hier sind ein paar reproduzierbare Codes und Bilder,...
24.10.2013, 16:29
4
Antworten

In scikit-learn, kann DBSCAN spärliche Matrix verwenden?

Ich habe einen Speicherfehler bekommen, als ich den dbscan-Algorithmus von scikit ausgeführt habe. Meine Daten sind ungefähr 20000 * 10000, es ist eine binäre Matrix. (Vielleicht ist es nicht geeignet, DBSCAN mit einer solchen Matrix zu verwe...
19.04.2013, 01:49
2
Antworten

Entfernte Funktion für gemischte Variablen (kategorisch und numerisch)

Ich möchte einen Satz von Jobs unscharf zusammenfassen. Auftragsattribute sind: Kategorisch : Position, Diplom, Fähigkeiten Numerisch : Gehalt, langjährige Erfahrung Meine Frage ist: Wie berechnet man die Entfernung zwischen versc...
07.08.2011, 14:27
2
Antworten

Wie werden die Schwellenwerte für T1 und T2 für Canopy Clustering ausgewählt?

Ich versuche, den Canopy-Clustering-Algorithmus zusammen mit K-Means zu implementieren. Ich habe online einige Suchen durchgeführt, die sagen, Canopy-Clustering zu verwenden, um Ihre anfänglichen Startpunkte in K-means zu erhalten, das Problem i...
28.08.2011, 22:17