System zur Erkennung von Betrug durch Schüler yolov8

Das Betrugserkennungssystem für Schüler nutzt die Technologie der künstlichen Intelligenz des Netzwerkmodells yolov8. Das Betrugserkennungssystem für Schüler installiert Überwachungsgeräte im Prüfungsraum, um das Betrugsverhalten der Schüler in Echtzeit zu überwachen. Wenn ein Schüler betrügt, erkennt und zeichnet das System zur Betrugserkennung für Schüler die Informationen automatisch auf. Die Kernfunktionen und Änderungen des YOLOv8-Algorithmus lassen sich wie folgt zusammenfassen: Es wird ein brandneues SOTA-  Modell bereitgestellt  , einschließlich eines Zielerkennungsnetzwerks mit einer Auflösung von P5 640 und P6 1280 und einem auf YOLACT basierenden Instanzsegmentierungsmodell. Wie YOLOv5 werden auch unterschiedliche Größenmodelle der N/S/M/L/X-Skalen basierend auf dem Skalierungsfaktor bereitgestellt, um den Anforderungen verschiedener Szenarien gerecht zu werden. Das Backbone-Netzwerk und der Halsteil beziehen sich möglicherweise auf die ELAN-Designidee von YOLOv7, ersetzen  C3 die Struktur von YOLOv5 durch eine reichhaltigere Gradientenflussstruktur  C2f und passen die Anzahl der Kanäle für Modelle mit unterschiedlichem Maßstab an.

Es gehört zur sorgfältigen Feinabstimmung der Modellstruktur und ist nicht länger ein hirnloser Parametersatz zur Anwendung aller Modelle, was die Modellleistung erheblich verbessert. Allerdings sind Vorgänge wie Split in diesem C2f-Modul nicht mehr so ​​benutzerfreundlich für die Bereitstellung spezifischer Hardware wie zuvor. Kopf: Im Vergleich zu yolov5 weist der Kopfteil zwei wesentliche Verbesserungen auf: 1) Er wird durch die aktuelle gängige entkoppelte Kopfstruktur (Entkoppelter Kopf) ersetzt, die die Klassifizierungs- und Erkennungsköpfe trennt. 2) Gleichzeitig ist dies auch der Fall von „Ankerbasiert“ zu „Ankerfrei“ geändert. Verlust: 1) YOLOv8 hat die vorherige IOU-Matching- oder einseitige Verhältnisverteilungsmethode aufgegeben, aber die positive und negative Stichproben-Matching-Methode des Task-Aligned Assigner verwendet. 2) und führte Distribution Focal Loss (DFL) ein. Trainieren: Der Datenverbesserungsteil des Trainings führt die letzten 10 Epochen in YOLOX ein, um den Mosiac-Verbesserungsvorgang auszuschalten, wodurch die Genauigkeit effektiv verbessert werden kann.

Aus dem oben Gesagten ist ersichtlich, dass sich YOLOv8 hauptsächlich auf das verwandte Design von Algorithmen wie YOLOX, YOLOv6, YOLOv7 und PPYOLOE bezieht, die kürzlich vorgeschlagen wurden. Es gibt nicht viele Innovationen an sich und ist auf die technische Praxis ausgerichtet. Im Folgenden werden verschiedene Verbesserungen von YOLOv8 im Detail entsprechend den fünf Teilen Modellstrukturdesign, Verlustberechnung, Trainingsdatenverbesserung, Trainingsstrategie und Modellbegründungsprozess vorgestellt, und der Instanzsegmentierungsteil wird nicht vorübergehend beschrieben. Die meisten modernen Zieldetektoren machen viel Aufhebens um die positiven und negativen Probenzuteilungsstrategien, wie z. B. simOTA von YOLOX, TaskAlignedAssigner von TOOD und DynamicSoftLabelAssigner von RTMDet. Die meisten dieser Zuweiser sind dynamische Zuweisungsstrategien, während YOLOv5 immer noch statische Zuweisungsstrategien verwendet. In Anbetracht der Überlegenheit der dynamischen Zuordnungsstrategie verweist der YOLOv8-Algorithmus direkt auf den TaskAlignedAssigner von TOOD.


 

Die Adapterschnittstelle definiert die folgenden Methoden:

öffentliches abstraktes void registerDataSetObserver (DataSetObserver-Beobachter)

Der Adapter stellt eine Datenquelle dar. Diese Datenquelle kann sich ändern, z. B. durch Hinzufügen von Daten, Löschen von Daten und Ändern von Daten. Wenn sich die Daten ändern, muss er die entsprechende AdapterView benachrichtigen, um entsprechende Änderungen vorzunehmen. Um diese Funktion zu realisieren, verwendet der Adapter den Beobachtermodus. Der Adapter selbst entspricht dem beobachteten Objekt und die AdapterView entspricht dem Beobachter. Registrieren Sie den Beobachter für den Adapter, indem Sie die Methode registerDataSetObserver aufrufen.

public abstract void unregisterDataSetObserver (DataSetObserver-Beobachter)

Heben Sie die Registrierung des Beobachters auf, indem Sie die Methode unregisterDataSetObserver aufrufen.

public abstract int getCount() gibt die Anzahl der Daten im Adapter zurück.

öffentliches abstraktes Objekt getItem (int-Position)

Die Daten im Adapter ähneln einem Array, und jedes darin enthaltene Element entspricht einem Datenelement. Jedes Datenelement hat eine Indexposition, dh die Position, und das entsprechende Datenelement im Adapter kann entsprechend abgerufen werden zur Stelle.

public abstract long getItemId (int-Position)

Rufen Sie die ID des angegebenen Positionsdatenelements ab. Normalerweise wird die Position als ID verwendet. Im Adapter wird relativ gesehen die Position häufiger verwendet als die ID.

öffentlicher abstrakter boolescher Wert hasStableIds ()

hasStableIds gibt an, ob sich die ID des ursprünglichen Datenelements ändert, wenn sich die Datenquelle ändert. Wenn es „true“ zurückgibt, bedeutet dies, dass die ID unverändert bleibt, und wenn es „false“ zurückgibt, bedeutet dies, dass sie sich ändern kann. Die von Android bereitgestellte hasStableIds-Methode der Adapter-Unterklassen (einschließlich direkter und indirekter Unterklassen) gibt alle false zurück.

öffentliche abstrakte Ansicht getView (int-Position, Ansicht konvertierenView, ViewGroup-Elternteil)

getView ist eine sehr wichtige Methode in Adapter, die entsprechend dem Index des Datenelements entsprechende UI-Elemente für AdapterView erstellt.

Supongo que te gusta

Origin blog.csdn.net/KO_159/article/details/131097538
Recomendado
Clasificación