{"id":181087,"date":"2023-07-21T20:00:00","date_gmt":"2023-07-21T19:00:00","guid":{"rendered":"https:\/\/liora.io\/de\/?p=181087"},"modified":"2026-02-06T06:32:02","modified_gmt":"2026-02-06T05:32:02","slug":"pilzerkennung-wie-computer-vision-bei-der-identifizierung-von-pilzarten-helfen-kann","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/pilzerkennung-wie-computer-vision-bei-der-identifizierung-von-pilzarten-helfen-kann","title":{"rendered":"Pilzerkennung: Wie Computer Vision bei der Identifizierung von Pilzarten helfen kann"},"content":{"rendered":"<h3>Kontext &#8211; Pilzerkennung<\/h3>\n<p>Pilzerkennung: Eine der am weitesten verbreiteten und<strong> \u00e4ltesten Artenbestimmungsmethoden<\/strong> ist die &#8222;morphologische Bestimmung&#8220;, bei der die Individuen anhand ihrer anatomischen Merkmale identifiziert werden. Diese Technik hat jedoch den Nachteil, dass sie nicht immer genau ist, da sie von der Beobachtung und dem<strong> Bestimmungsprotokoll der Person<\/strong> abh\u00e4ngt, die sie durchf\u00fchrt.<\/p>\n<p>Eine Alternative zu dieser Identifizierungstechnik k\u00f6nnten <a href=\"https:\/\/liora.io\/de\/git-opencv-alles-ueber-was-computer-vision-tool\">Computer-Vision-Algorithmen<\/a> sein. Diese Algorithmen erm\u00f6glichen es uns, die Merkmale eines Bildes schnell und genau zu erkennen, so dass die Identifizierung einer Art nur durch ein Foto erfolgen kann, was sie leichter \u00fcbertragbar macht.<\/p>\n<p>Im Folgenden versuchen wir, verschiedene<strong> Pilzbilder mit Hilfe von Computer Vision<\/strong> zu identifizieren. Diese Arbeit wurde zusammen mit meinem Promotionskollegen Cyril Vandenberghe durchgef\u00fchrt und von Adrien Ruimy betreut. Sie entspricht dem Abschlussprojekt des <a href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Liora-Kurses f\u00fcr Datenwissenschaftler<\/a>. Die Entwicklung dauerte hundert Stunden und erm\u00f6glichte es uns, unser neu erworbenes Wissen in einer praktischen Anwendung zu nutzen.<\/p>\n<p>Projektautoren: Karina Castillo &amp; Cyril Vandenberghe.<\/p>\n<h3>Das Projekt<\/h3>\n<h4>Data source<\/h4>\n<p>F\u00fcr dieses Projekt haben wir Daten von <a href=\"\/\">mushroomobserver.org<\/a> verwendet, einer Website, die Bilder von Pilzen sammelt und identifiziert: Die Nutzer laden Bilder hoch, und die Community identifiziert sie. Derzeit z\u00e4hlt die Website \u00fcber 10.000 registrierte Nutzer.<\/p>\n<p>Bei unserer anf\u00e4nglichen Literaturrecherche stellten wir fest, dass ein fr\u00fcheres Projekt auf Github, <a href=\"https:\/\/github.com\/bechtle\/mushroomobser-dataset\">&#8220; mushroomobser-dataset&#8220;<\/a>, diese Seite bereits erkundet hatte, um einen Datensatz mit Bildern aus den Jahren 2006 bis 2016 zu erstellen. Au\u00dferdem enthalten 12 JSON-Dateien zus\u00e4tzliche Informationen zu jedem Bild.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"608\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-v2pJ4VymwVI-F55xa1b2rA-1024x778.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-v2pJ4VymwVI-F55xa1b2rA-1024x778.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-v2pJ4VymwVI-F55xa1b2rA-300x228.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-v2pJ4VymwVI-F55xa1b2rA-768x584.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-v2pJ4VymwVI-F55xa1b2rA.png 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Abb. 1. Beispiel f\u00fcr einen JSON-Eintrag f\u00fcr ein Bild. (Bild von Github: bechtle).<\/figcaption><\/figure>\n<h4>Data Exploration<\/h4>\n<p>Der erste Schritt bei der Verarbeitung unserer Daten bestand darin, einen Datenrahmen mit Informationen \u00fcber die Bilder und die Taxonomie der Pilze zu erstellen. In der Biologie ist eine Taxonomie eine M\u00f6glichkeit, <strong>hierarchische Gruppen auf der Grundlage<\/strong> gemeinsamer Merkmale zu definieren, wie in der Abbildung unten dargestellt:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"399\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-QAW4Cc-KLRAr6rIb0Yix7w-1024x511.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-QAW4Cc-KLRAr6rIb0Yix7w-1024x511.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-QAW4Cc-KLRAr6rIb0Yix7w-300x150.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-QAW4Cc-KLRAr6rIb0Yix7w-768x383.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-QAW4Cc-KLRAr6rIb0Yix7w.jpeg 1255w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Abb. 2. Organisation der Taxonomie (Bild vom Autor).<\/figcaption><\/figure>\n<p>In der Tabelle 1 zeigt die Spalte &#8222;Rang&#8220; die letzte taxonomische Ebene an, die bei der Pilzbestimmung in unserem Datenrahmen erreicht wurde. Wenn also ein Eintrag in der Spalte `Rang` den Wert `KINGDOM` hat, ist der Wert in der Spalte `Label` die allgemeinste Identifikation, z.B. `Fungi`. Die identifizierten Bilder k\u00f6nnen also zu jedem Pilz geh\u00f6ren.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"232\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-gy4Ol0Ho6HvQ6A4j0zYYNA-1024x297.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-gy4Ol0Ho6HvQ6A4j0zYYNA-1024x297.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-gy4Ol0Ho6HvQ6A4j0zYYNA-300x87.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-gy4Ol0Ho6HvQ6A4j0zYYNA-768x223.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-gy4Ol0Ho6HvQ6A4j0zYYNA.jpeg 1260w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Tabelle 1. Beispiel f\u00fcr Werte im Datenrahmen, wenn &#8222;Rang&#8220; = &#8222;KINGDOM&#8220;.<\/figcaption><\/figure>\n<p>Wenn die Spalte `Rang` dagegen `SPECIES` (ein spezifischeres Taxon) ist, haben wir eine detailliertere Beschreibung der Bilder (Tabelle 2).<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"159\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-1c5S6Y_YwSZhVHCBHUhR4g-1024x204.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-1c5S6Y_YwSZhVHCBHUhR4g-1024x204.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-1c5S6Y_YwSZhVHCBHUhR4g-300x60.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-1c5S6Y_YwSZhVHCBHUhR4g-768x153.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-1c5S6Y_YwSZhVHCBHUhR4g.jpeg 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Tabelle 2. Beispiel f\u00fcr Werte im Datenrahmen, wenn &#8222;Rang&#8220; = &#8222;SPECIES&#8220;.<\/figcaption><\/figure>\n<p>Daher wurden Bilder mit den Werten `KINGDOM`, `PHYLUM`, `CLASS` und `ORDER` in der Spalte `rank` verworfen, da sie zu allgemein und nicht informativ sind. Im weiteren Verlauf des Projekts werden wir nur noch mit Daten arbeiten, die zu den Taxa SPECIES, GENUS und FAMILY geh\u00f6ren, wie in der folgenden Abbildung dargestellt:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"399\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ifuPCIhGO7v68XxXopolUA-1024x511.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ifuPCIhGO7v68XxXopolUA-1024x511.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ifuPCIhGO7v68XxXopolUA-300x150.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ifuPCIhGO7v68XxXopolUA-768x383.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ifuPCIhGO7v68XxXopolUA.jpeg 1254w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Abb. 3. Ausgew\u00e4hlte Taxa (Bild vom Autor).<\/figcaption><\/figure>\n<h4>Data Visualisation<\/h4>\n<p>Eine gro\u00dfe Anzahl von Bildern ist f\u00fcr die erfolgreiche <strong>Entwicklung eines Computer Vision Projekts<\/strong> unerl\u00e4sslich. In diesem Projekt ben\u00f6tigen wir Labels (d.h. Werte in der Spalte &#8222;Label&#8220;), um eine gro\u00dfe Anzahl von Bildern f\u00fcr jedes Taxon zu erhalten.<\/p>\n<p>Die folgende Abbildung (Abb. 4) zeigt die Verteilung der Anzahl der Bilder f\u00fcr die Taxa. Jedes der vier Felder zeigt die Anzahl der Bezeichnungen (y-Achse) f\u00fcr ein bestimmtes Taxon (x-Achse), dargestellt durch 1 bis 10 Bilder, 11 bis 100 Bilder, 101 bis 1000 Bilder und \u00fcber 1000 Bilder.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"250\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-i8SP6yWXRGAW2J1kivj_mg-1024x320.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-i8SP6yWXRGAW2J1kivj_mg-1024x320.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-i8SP6yWXRGAW2J1kivj_mg-300x94.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-i8SP6yWXRGAW2J1kivj_mg-768x240.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-i8SP6yWXRGAW2J1kivj_mg.png 1382w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>FIg. 4. Anzahl der Etiketten pro Taxon nach Bereich. (Bild vom Autor).<\/figcaption><\/figure>\n<p>Das Artentaxon ist das ideale, weil es das spezifischste ist. Allerdings entspricht die Anzahl der Labels, die nur durch 1 bis 10 Bilder repr\u00e4sentiert werden, 75 % der <strong>Gesamtzahl der Arten.<\/strong> Im Intervall [101-1000] haben nur sieben Arten mehr als 500 Bilder, und nur eine Art hat mehr als 1000 Bilder.<\/p>\n<p>Im Panel f\u00fcr Kategorien mit mehr als 1000 Bildern beobachten wir dagegen die Taxa Gattung und Familie mit jeweils etwa 40 Bezeichnungen, was sie zu guten Zielen macht. Taxonomisch gesehen ist die Familie die am wenigsten spezifische Ebene, so dass wir eine gr\u00f6\u00dfere Heterogenit\u00e4t der Bilder erwarten w\u00fcrden, wenn wir diese Ebene w\u00e4hlen. Die Gattung scheint also ein guter Kompromiss zwischen der taxonomischen Ebene und der Anzahl der verf\u00fcgbaren Bilder zu sein.<\/p>\n<h4>Final Dataset : Genus Taxa<\/h4>\n<p>Das Balkendiagramm unten zeigt die Anzahl der Bilder f\u00fcr 41 ausgew\u00e4hlte Gattungen (Abb. 5). Wir haben beschlossen, uns auf die 15 hervorgehobenen Gattungen mit ~1.000 Bildern zu beschr\u00e4nken, um die Berechnungszeit zu reduzieren und eine verzerrte Darstellung zu vermeiden. Damit haben wir insgesamt 18.412 Bilder f\u00fcr den Klassifizierungs-\/Modellierungsteil unseres Projekts zur Verf\u00fcgung.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"448\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-uv8wrQ30Blxf8D1YdRJPwA-1024x574.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-uv8wrQ30Blxf8D1YdRJPwA-1024x574.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-uv8wrQ30Blxf8D1YdRJPwA-300x168.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-uv8wrQ30Blxf8D1YdRJPwA-768x431.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-uv8wrQ30Blxf8D1YdRJPwA.png 1213w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Abb. 5. Das Histogramm zeigt die Verteilung der Bilder in den 41 Gattungen mit mehr als 1000 Bildern und den 15 Gattungen, die f\u00fcr die Projektanalysen ausgew\u00e4hlt wurden (im roten Quadrat). (Bild vom Autor)<\/figcaption><\/figure>\n<h3>Klassifizierung mit neuronalen Netzen<\/h3>\n<h4>Architekturen<\/h4>\n<p>Wie bereits erw\u00e4hnt, zielt dieses Projekt darauf ab, Pilzbilder zu identifizieren. Das ist ein typisches Bildklassifizierungsproblem, das in der Regel mit Deep-Learning-Methoden angegangen wird. Um unser Ziel zu erreichen, haben wir drei Modelle getestet, die im Folgenden beschrieben werden.<\/p>\n<p>LeNet<\/p>\n<p>Zun\u00e4chst haben wir unsere Daten mit einem <a href=\"https:\/\/liora.io\/de\/convolutional-neural-network-2\">CNN-Modell<\/a> mit LeNet-Architektur (Y. LeCun et al., 1998) getestet, das f\u00fcr die Bildverarbeitung angepasste Schichten enth\u00e4lt. Wir haben dieses Modell mit zwei Faltungsschichten getestet.<\/p>\n<p>Mit einem Wert von 0,98% Genauigkeit scheint das Basismodell f\u00fcr unser Ziel nicht geeignet zu sein, daher haben wir dieses Modell nicht weiter verfolgt.<\/p>\n<p>VGG16<\/p>\n<p>Als N\u00e4chstes verwendeten wir das VGG16-Modell (Simonyan und Zisserman, 2015), ein Bildklassifizierungsmodell mit einem Transfer Learning-Ansatz.<\/p>\n<p>Im ersten Schritt hatte unser Modell eine Klassifizierungsschicht mit einem sequentiellen Modell, zwei neuronale Schichten (Dense) und zwei Regularisierungsschichten (Dropout).<\/p>\n<p>Die erzielten Ergebnisse waren ermutigend, mit einer Genauigkeit von etwa 70 %, aber das Modell litt unter einer \u00dcberanpassung. Um dem entgegenzuwirken, f\u00fcgten wir eine <strong>Dense-Schicht<\/strong> hinzu und erh\u00f6hten den Dropout-Wert. Abbildung 6 zeigt die endg\u00fcltige Architektur des Modells.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"284\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ccuLJoXZLE7ySYxfB4hGjQ-1024x364.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ccuLJoXZLE7ySYxfB4hGjQ-1024x364.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ccuLJoXZLE7ySYxfB4hGjQ-300x107.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ccuLJoXZLE7ySYxfB4hGjQ-768x273.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-ccuLJoXZLE7ySYxfB4hGjQ.jpeg 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Fig. 6. Final VGG16 Architecture (image by author).<\/figcaption><\/figure>\n<p>Zus\u00e4tzlich haben wir die Callbacks <strong>EarlyStopping und ReduceLROnPlateau<\/strong> aus dem Keras-Paket mit Geduldswerten von 5 bzw. 3 verwendet. Damit erreichten wir eine Genauigkeit von 75,5 % ohne Overfitting.<\/p>\n<p>EfficientNetB1<\/p>\n<p>Die dritte Methode zur Bildklassifizierung, die wir in diesem Projekt verwendeten, war ebenfalls ein Transfer Learning-Ansatz mit dem Tensorflow-Modell EfficientNet (Tan und Le, 2019). Bei der implementierten Klassifizierungsarchitektur haben wir uns von unserem vorherigen Modell (VGG16) inspirieren lassen, da wir damit gute Ergebnisse erzielt haben (Abb. 7). Wir haben auch die Callbacks EarlyStopping und ReduceLROnPlateau mit denselben Werten verwendet.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"285\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-WR5X52mYnAYWvy5vS1Odag-1024x365.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-WR5X52mYnAYWvy5vS1Odag-1024x365.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-WR5X52mYnAYWvy5vS1Odag-300x107.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-WR5X52mYnAYWvy5vS1Odag-768x274.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-WR5X52mYnAYWvy5vS1Odag.jpeg 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Fig. 7. Fnal EfficientNetB1 architecture (image by author).<\/figcaption><\/figure>\n<p>Die ersten Ergebnisse zeigen eine Genauigkeit von etwa 80 %, besser als bei VGG16, aber immer noch eine \u00dcberanpassung. Deshalb haben wir den Wert der Dropout-Schichten erh\u00f6ht und schlie\u00dflich ein Ergebnis von 79 % ohne \u00dcberanpassung erzielt.<\/p>\n<p>Hier siehst du die Vorhersagen des Modells f\u00fcr sechs Bilder:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"796\" height=\"449\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-3_BydMeljxkUSkFguGyCEQ.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-3_BydMeljxkUSkFguGyCEQ.png 796w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-3_BydMeljxkUSkFguGyCEQ-300x169.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-3_BydMeljxkUSkFguGyCEQ-768x433.png 768w\" sizes=\"(max-width: 796px) 100vw, 796px\"><figcaption>Fig. 8. Example of prediction result, showing the predicted genus vs true genus. (image by author).<\/figcaption><\/figure>\n<h4>Error Analysis<\/h4>\n<ul>\n<li>Konfusionsmatrix\n<p>Die Konfusionsmatrix (Abb. 9) zeigt, dass die Klassen 0, 3 und 8 eher den Klassen 7, 4 bzw. 13 zugeordnet werden:<\/li>\n<\/ul>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"616\" height=\"533\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-dyRBEhcoZ9ST5Po4rYDOOQ.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-dyRBEhcoZ9ST5Po4rYDOOQ.png 616w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-dyRBEhcoZ9ST5Po4rYDOOQ-300x260.png 300w\" sizes=\"(max-width: 616px) 100vw, 616px\"><figcaption>Fig. 9. Confusion matrix from EfficientNet prediction (image by author).<\/figcaption><\/figure>\n<p>Die Literatur zeigt, dass diese verwechselten Klassen morphologisch sehr \u00e4hnlich sind und zur selben taxonomischen Familie geh\u00f6ren (Tabelle 3).<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"308\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-JAkeplTY0KtrSQ3NTeepZQ-1024x394.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-JAkeplTY0KtrSQ3NTeepZQ-1024x394.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-JAkeplTY0KtrSQ3NTeepZQ-300x116.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-JAkeplTY0KtrSQ3NTeepZQ-768x296.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-JAkeplTY0KtrSQ3NTeepZQ.png 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Table 3. Confused classes.<\/figcaption><\/figure>\n<p>Die Abbildung 10 zeigt diese morphologischen \u00c4hnlichkeiten zwischen den verwechselten Klassen:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"245\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-_v0_lXNVE-Ol8302C8mUxQ-1024x313.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-_v0_lXNVE-Ol8302C8mUxQ-1024x313.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-_v0_lXNVE-Ol8302C8mUxQ-300x92.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-_v0_lXNVE-Ol8302C8mUxQ-768x235.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-_v0_lXNVE-Ol8302C8mUxQ.jpeg 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Fig. 10. Morphological similarities between confused classes (source: Wikipwdia).<\/figcaption><\/figure>\n<p>Ein Grund f\u00fcr die <strong>Verwirrung der Klassen<\/strong> kann sein, dass die taxonomische Identifizierung der Pilze falsch ist. Die Bilder, die wir verwenden, stammen von einer Webseite, auf der die Nutzer Bilder von Pilzen nur durch das Betrachten der Bilder und nach ihrer Erfahrung klassifizieren und nicht nach einem objektiven taxonomischen Bestimmungsprotokoll.<\/p>\n<p>Angesichts der Ergebnisse der Konfusionsmatrix wollten wir unser Modell ohne eine der verwechselten Gattungen bewerten, um den Einfluss der Daten auf unser Modell zu sehen (siehe Tabelle 4).<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"316\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-OvM7bHWEPLUQuMtokEszsg-1024x405.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-OvM7bHWEPLUQuMtokEszsg-1024x405.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-OvM7bHWEPLUQuMtokEszsg-300x119.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-OvM7bHWEPLUQuMtokEszsg-768x304.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-OvM7bHWEPLUQuMtokEszsg.png 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Table 4. In red the suppresed genus.<\/figcaption><\/figure>\n<p>Der Genauigkeitswert f\u00fcr die 12 Gattungen (ohne die drei ausgeschiedenen) liegt bei 85 %, 6 % h\u00f6her als das vorherige Ergebnis (79 %). Dieses Ergebnis deutet darauf hin, dass wir unsere Genauigkeit wahrscheinlich erh\u00f6hen w\u00fcrden, wenn wir einen <strong>genaueren Datensatz von Klassifizierungen<\/strong> zum Trainieren des Modells gehabt h\u00e4tten.<\/p>\n<p>Qualit\u00e4t der Bilder<\/p>\n<p>Wir haben auch festgestellt, dass die Qualit\u00e4t der Bilder sehr unterschiedlich ist (Abb. 11). Einige Bilder enthalten Elemente, die das Modell daran hindern k\u00f6nnen, den Pilz richtig zu identifizieren, z. B. Bilder mit viel Rauschen um den zu klassifizierenden Pilz (Bilder 1 und 2). Bilder, auf denen kein Pilz zu erkennen ist (Bild 3). Bilder mit mehr als einem Pilz (Bild 4).<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"662\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-afiVjhVh7UNOs1ZPyF8qYQ-1024x847.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-afiVjhVh7UNOs1ZPyF8qYQ-1024x847.png 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-afiVjhVh7UNOs1ZPyF8qYQ-300x248.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-afiVjhVh7UNOs1ZPyF8qYQ-768x635.png 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-afiVjhVh7UNOs1ZPyF8qYQ.png 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Fig. 11. Exemple of image quality (image by author).<\/figcaption><\/figure>\n<h4>Fazit<\/h4>\n<p>Die folgende \u00dcbersichtstabelle (Tabelle 5) zeigt die Genauigkeitswerte f\u00fcr die drei verwendeten Methoden. Wir haben auch den &#8222;<strong>top-k accuracy classification score<\/strong>&#8220; des Pakets sklearn.metrics (Pedregosa et al., 2011.) mit k = 2 und 3 berechnet, um zu beurteilen, wie oft die tats\u00e4chliche Kategorie zwischen den zwei oder drei wahrscheinlichsten Kategorien liegt. Den Ergebnissen zufolge w\u00e4re EfficientNet mit 80 % und 86 % Genauigkeit der am besten geeignete Ansatz f\u00fcr unser Pilzbild-Klassifizierungsproblem.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"307\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-mpzE_M7_TTJPg79biOvTlg-1024x393.jpeg\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-mpzE_M7_TTJPg79biOvTlg-1024x393.jpeg 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-mpzE_M7_TTJPg79biOvTlg-300x115.jpeg 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-mpzE_M7_TTJPg79biOvTlg-768x295.jpeg 768w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/07\/1-mpzE_M7_TTJPg79biOvTlg.jpeg 1400w\" sizes=\"(max-width: 800px) 100vw, 800px\"><figcaption>Table 5. Summary of results.<\/figcaption><\/figure>\n<p>In Anbetracht der Ergebnisse scheint die Computer Vision eine hervorragende Alternative zur morphologischen Klassifizierung von Arten zu sein, wenn das Modell mit einer gro\u00dfen Anzahl von Bildern guter Qualit\u00e4t trainiert werden kann und die auf dem Bild erscheinenden Arten von einem Spezialisten taxonomisch klassifiziert wurden.<\/p>\n<h4>Verbesserungsw\u00fcrdige Bereiche<\/h4>\n<p>Diese Ergebnisse k\u00f6nnen auf verschiedene Weise verbessert werden. Zun\u00e4chst sollte das Modell mit einem angemessenen Datensatz trainiert werden, d. h. mit Bildern besserer Qualit\u00e4t und einer detaillierteren<strong> taxonomischen Klassifizierung<\/strong>. Auch eine Erh\u00f6hung der Anzahl der Bilder pro Label (z. B. von 1000 auf 2000) k\u00f6nnte dazu beitragen, morphologische Klassifizierungsfehler aufgrund subjektiver menschlicher Bewertung zu reduzieren.<\/p>\n<p>Eine weitere Verbesserung w\u00e4re die Erh\u00f6hung der Anzahl der Gattungen. Derzeit haben wir das Modell mit 15 der 41 Gattungen trainiert, die ~1000 Bilder pro Label enthielten. Au\u00dferdem kann die Genauigkeit erh\u00f6ht werden, wenn das gleiche Modell trainiert wird, um weitere Bilder von Pilzen auf Artniveau zu identifizieren.<\/p>\n<p>Schlie\u00dflich k\u00f6nnte die Kombination der Merkmalsextraktion unseres Modells mit einem klassischen Klassifizierungsmodell wie Random Forest oder SVM die Klassifizierung verbessern.<\/p>\n<h3>Referenzen<\/h3>\n<ol>\n<li id=\"a5dd\" data-selectable-paragraph=\"\">Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. 1998. &#8222;Gradient-based learning applied to document recognition&#8220;.Proceedings of the IEEE.<\/li>\n<li id=\"7d7d\" data-selectable-paragraph=\"\">K. Simonyan, A. Zisserman. 2015. &#8222;Very Deep Convolutional Networks for Large-Scale Image Recognition&#8220;. Proceedings of the ICLR.<\/li>\n<li id=\"6e70\" data-selectable-paragraph=\"\">Tan, Mingxing, and Quoc Le. 2019. &#8222;EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks&#8220;. Proceedings of Machine Learning Research 97.<\/li>\n<li id=\"6d87\" data-selectable-paragraph=\"\">F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot and E. Duchesnay. 2011. &#8222;Scikit-learn: Machine Learning in Python&#8220;. Journal of Machine Learning Research.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Kontext &#8211; Pilzerkennung Pilzerkennung: Eine der am weitesten verbreiteten und \u00e4ltesten Artenbestimmungsmethoden ist die &#8222;morphologische Bestimmung&#8220;, bei der die Individuen anhand ihrer anatomischen Merkmale identifiziert werden. Diese Technik hat jedoch den Nachteil, dass sie nicht immer genau ist, da sie von der Beobachtung und dem Bestimmungsprotokoll der Person abh\u00e4ngt, die sie durchf\u00fchrt. Eine Alternative zu [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":181088,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-181087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=181087"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181087\/revisions"}],"predecessor-version":[{"id":217355,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/181087\/revisions\/217355"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/181088"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=181087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=181087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}