CulinAIBot basiert aktuell auf 53 Objekt-Klassen aus Lebensmitteln, Koch-Utensilien und weiteren Objekten in der Küche. Die Bild- und Videodaten hierfür habe ich selbst aufgenommen. Konkret setzen sich die 53 Klassen wie unten beschrieben zusammen.
![]() |
Zur Erhöhung der Robustheit des Datensatzes habe ich z.B. Früchte und Gemüse in verschiedenen Gefäßen (Teller, Schüsseln, …), Umgebungen (Küchenplatte, Kühlschränke) und Seiten (seitlich, von oben, …) aufgenommen. Siehe unten hierfür insb. die Beispielbilder der roten Trauben.
2.3.1.1 Objekt-Klassen
Vorbereitung: Kauf der Lebensmittel.
Erzeugung: Aufnahme der Bilder und Videos mit möglichst hoher Qualität (Auflösung, Beleuchtung).
Nachbereitung: eine Nachbearbeitung war für meine Aufnahmen nicht notwendig.
Lebensmittel (Zahl der Objekt-Klassen = 38):
- Früchte (14):
-
- Äpfel, Bananen, Orange, Trauben, Zitrone, Zwetchken
- Kernobst:
- Äpfel (verschiedene Sorten wie Granny Smith, Gala), Birnen, Quitten,
- Steinobst:
- Pfirsiche, Nektarinen, Kirschen, Pflaumen, Aprikosen, Mangos
- Zitrusfrüchte:
- Orangen, Zitronen, Limetten, Grapefruits, Mandarinen
- Beerenfrüchte:
- Erdbeeren, Blaubeeren (Heidelbeeren), Himbeeren, Brombeeren, Johannisbeeren, Cranberries
- Exotische Früchte:
- Ananas, Kiwi, Papaya, Passionsfrucht, Granatapfel, Drachenfrucht (Pitaya)
- Melonen:
- Wassermelonen, Honigmelonen, Zuckermelonen (Cantaloupe)
- Tropische Früchte:
- Bananen, Kokosnüsse, Litschis, Guaven
-
- Gemüsesorten (14):
- Blattgemüse (1):
- Spinat, Grünkohl, Rucola, Kopfsalat, Eisbergsalat, Mangold
- Wurzelgemüse (2):
- Karotten, Kartoffeln, Süßkartoffeln, Rote Bete, Pastinaken, Rettich, Radieschen
- Kohlgemüse (2):
- Blumenkohl, Brokkoli, Weißkohl, Rosenkohl, Rotkohl, Chinakohl
- Fruchtgemüse (2):
- Tomaten, Paprika, Gurken, Zucchini, Auberginen, Kürbis
- Zwiebelgewächse (3):
- Zwiebeln (weiß, rot), Knoblauch, Lauch, Schalotten, Frühlingszwiebeln
- Hülsenfrüchte (3):
- Grüne Bohnen, Erbsen, Kichererbsen, Linsen
- Knollengemüse:
- Knollensellerie, Kohlrabi, Fenchel
- Pilze (obwohl technisch kein Gemüse) (1):
- Champignons, Steinpilze, Pfifferlinge, Shiitake
- Sprossen und Keimlinge:
- Bohnensprossen, Alfalfa, Mungbohnensprossen
- Blattgemüse (1):
- Fleisch und Fisch:
- Garnelen, Hähnchenbrust, Lachs, Rinderhackfleisch, Schweinekoteletts, Speck
- Getreide und Hülsenfrüchte (7):
- Reis, Nudeln (Penne, Spagetti, Tagliatelle, …), Linsen, Kichererbsen, Quinoa, Haferflocken
- Milchprodukte (1):
- Milch, Butter, Käse (…), Joghurt, Sahne
- Gewürze und Kräuter:
- Basilikum, Curry, Oregano, Pfeffer, Paprika, Rosmarin, Salz
- Backzutaten (1):
- Mehl, Zucker, Backpulver, Hefe, Vanilleextrakt
- Getränke (1):
- Kaffee (Kaffee-Pulver, Kaffee-Bohnen), Saft, Tee, Wasser, Wein
Koch-Utensilien (Zahl der Objekt-Klassen = 15):
- Schneidewerkzeuge (1):
- Messer, Schälmesser, Schneidebrett
- Töpfe und Pfannen (2):
- Bratpfanne, Kochtopf, Suppentopf, Wok
- Backutensilien:
- Backblech, Kuchenform, Auflaufform
- Kochbesteck (3):
- Kochlöffel, Pfannenwender, Schöpflöffel, Teigschaber, Schneebesen
- Mess- und Wiegewerkzeuge:
- Küchenwaage, Messbecher, Messlöffel
- Küchengeräte:
- Mixer, Toaster, Mikrowelle, Herd, Ofen, Kühlschrank, Geschirrspüler, Kaffeemaschine
- Kochgeschirr (9):
- Teller, Schüsseln, Tassen, Gläser, Besteck (Messer, Gabel, Löffel, Kaffeelöffel, Kuchengabel)
Weitere Objekte in der Küche:
- Lagerutensilien:
- Vorratsdosen, Plastikbehälter, Frischhaltefolie, Alufolie
- Reinigungsutensilien:
- Schwämme, Spülmittel, Handtücher, Küchenpapier, Mülleimer
- Schränke und Arbeitsflächen:
- Küchenschränke, Schubladen, Arbeitsplatten
- Kochtimer und Thermometer:
- Küchenthermometer, Eieruhr
Zusätzliche Gegenstände (für spezialisierte Aufgaben):
- Elektrische Kleingeräte:
- Stabmixer, Pürierstab, Wasserkocher, Fritteuse
- Spezielle Kochwerkzeuge:
- Zitronenpresse, Sieb, Nudelholz, Pizzaschneider
Bilder der Klassen des CulinAIBot Bilder-Datensatzes
Beispielbilder der Klasse 001 – Äpfel:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Beispielbilder der Klasse 002 – Bananen:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Beispielbilder der Klasse 003 – Birnen:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Beispielbilder der Klasse 004 – Orangen:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Beispielbilder der Klasse 005 – Trauben:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Bilder mit gemischten Klassen des CulinAIBot Bilder-Datensatzes
Beispielbilder mit gemischten Früchte Klassen:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
Beispielbilder mit beliebig gemischten Klassen:
![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() |
2.3.1.2 Annotation
Im Projekt CulinAIBot nutze ich Object Detection um die Objekte auf den Bildern zuerkennen. Hierfür annotiert man einen bestimmten Bereich auf dem Bild, man markiert das Objekt mit einem Rahmen. Für das Annotieren haben ich in der Vergangenheit Programme wie Annotate (Annotate, 2022), CELUM (CELUM, 2022), Filestage (Filestage, 2022) oder Roboflow (Roboflow, 2022) getestet. Am Ende habe ich mich für meine Projekte für CVAT entschieden, denn es ist sehr intuitiv und ermöglicht eine sehr gute Bildverwaltung für parallele Projekte.
Neben dem Annotieren nutze ich in meinen Projekten auch Arbeitsschritte wie „in grau wandeln“, „drehen“ oder „zuschneiden“. Dazu nutze ich selbstgeschriebene Python Programme.
In vergangenen Projekten haben Vergleichstests zwischen Annotationsmethoden „Square“ und „Segmentation“ bei der Annotation mit „Segmentation“ zu besseren Erkennungsraten geführt.
Im Projekt CulinAIBot habe ich jedoch die Annotation mit „Square“ genutzt, weil die Annotation mit der Methode „Square“ schneller ist und ausreichend gute Ergebnisse lieferte.
Beispiele für Annotiere Bilder
![]() |
![]() |
![]() |
![]() |
![]() |