Bei diesem Projekt wurden neuronale Netze trainiert, die in der Lage sind, Hunderassen zu erkennen - zum einen mittels Transfer Learning und zum anderen mit einem von Grund auf neu erstelltem Netz. Zudem kann der Algorithmus Menschen erkennen und eine Hunderasse vorschlagen, die der Person am ähnlichsten sieht. Eine detaillierte Beschreibung folgt weiter unten.
Im ersten Schritt wurde ein Klassifizierer für Gesichter implementiert. Hierzu wurde ein Haar-Cascaden Klassifizierer von OpenCV genutzt. Zum Testen wurden 2 Datensätze genutzt - einer mit Bildern von Menschen und einer mit Bildern von Hunden. Dieser Klassifizierer ist in der Lage, 97% der Personen als Mensch zu erkennen; allerdings erkennt er fälschlicherweise im Datensatz von Hunden in 17% Menschen. Um Hunde ebenfalls zuverlässig zu erkennen, wird daher ein neuronales Netz genutzt. Es wird auf ein vortrainiertes VGG16 zurückgegriffen, das 99% der Hunde richtig klassifiziert und nur 2% der Menschen falsch.
Nach erfolgreicher Erkennung von Menschen und Hunden wird anschließend die Hunderasse bestimmt. Hierfür wird ein eigenes CNN mit PyTorch aufgebaut, bestehend aus 5 Convolutional Ebenen mit Pooling Ebenen, gefolgt von vollständig vernetzten Ebenen mit 20% Dropout. Dieses Netz wird mit einer Batch Größe von 16 über 25 Epochen trainiert. Anschließend wird ein weiteres CNN trainiert - ein ResNet512 mit dem Verfahren des Transfer Learnings. Hiermit kann über die gleiche Anzahl an Epochen eine Genauigkeit von 86% erreicht werden, die über der Genauigkeit des ersten CNNs liegt.
Mit Hilfe dieser Modelle wurde ein Algorithmus geschrieben, der die Hunderasse angibt, sobald ein Hund im Bild detektiert wird. Falls ein Mensch in dem Bild erkannt wird, gibt er die Hunderasse aus, die der Person am ähnlichsten ist.
Die an dieser Stelle vorgesehenen Inhalte können aufgrund Ihrer aktuellen Cookie-Einstellungen nicht angezeigt werden.
Diese Webseite bietet möglicherweise Inhalte oder Funktionalitäten an, die von Drittanbietern eigenverantwortlich zur Verfügung gestellt werden. Diese Drittanbieter können eigene Cookies setzen, z.B. um die Nutzeraktivität zu verfolgen oder ihre Angebote zu personalisieren und zu optimieren.
Diese Webseite verwendet Cookies, um Besuchern ein optimales Nutzererlebnis zu bieten. Bestimmte Inhalte von Drittanbietern werden nur angezeigt, wenn die entsprechende Option aktiviert ist. Die Datenverarbeitung kann dann auch in einem Drittland erfolgen. Weitere Informationen hierzu in der Datenschutzerklärung.