Systém pre rozpoznávanie jedla, vyvinutý spoločnosťou Asseco Solutions, využíva strojové učenie na identifikáciu, kategorizáciu a analýzu jedál na obrázkoch zachytených kamerou. Systém je navrhnutý na použitie v kantínach na automatizáciu procesu rozpoznávania jedla a zberu údajov.
Aplikácia je hostovaná na platforme Azure a je prístupná na Food Detection Asseco Solutions Portal: https://fooddetectionassecosolutions.azurewebsites.net/
Aby sme zabezpečili presnosť a účinnosť modelu, vykonávame rôzne úlohy:
- Manažment denných menu: Starostlivo vytvárame denné menu, ktoré slúžia ako tréningové údaje pre model, čím zabezpečujeme, že bude aktuálny s najnovšími receptmi a ingredienciami.
- Rozširovanie kulinárskych obzorov: Neustále obohacujeme našu databázu pridávaním a úpravou nových jedál, čím rozširujeme znalostnú základňu modelu a umožňujeme rozpoznávať širší sortiment jedál.
- Dohľad nad tréningom modelu: Pozorne sledujeme automatizovaný proces tréningu, aby sme zabezpečili, že sa model efektívne učí z poskytnutých údajov.
- Ladenie post-labelingom: Keď je to potrebné, manuálne prehodnocujeme a upravujeme predpovede modelu pomocou techník post-labelingu, čím zvyšujeme jeho presnosť a zabezpečujeme optimálny výkon.
- Získavanie poznatkov s Grafanou: Využívame silné vizualizačné nástroje Grafana na získavanie cenných poznatkov o výkone modelu a identifikáciu oblastí na zlepšenie.
Pred použitím systému rozpoznávania jedla budete potrebovať nasledovné:
- Predplatné Azure s nasadenými potrebnými zdrojmi, zahrňujúc:
- Azure Machine Learning workspace
- Účet na úložisku
- Container register
- Kubernetes službu
- Azure SQL databázu
- IoT Hub
- Device Provisioning Service
- Aplikáciu AssecoCameraCapture nainštalovanú na zariadení, ktoré bude používané na zachytávanie obrázkov jedál
- Inštalácia zariadenia - kamery:
- Nainštalujte aplikáciu AssecoCameraCapture na zariadenie.
- Konfigurujte aplikáciu nasledujúcimi nastaveniami:
- Storage account connection string - reťazec pre pripojenie na účet úložiska Azure, kde budú ukladané zachytené fotografie jedál.
- IoT Hub connection string - reťazec pripojenia pre Azure IoT Hub, ku ktorému sa zariadenie pripojí.
- Device ID: Toto je jedinečný identifikátor pre zariadenie.
- Prístup k portálu:
- Kalendár sa používa na správu jedál - vytvárajú sa denné menu, ktoré budú použité na tréning modelu so špecifickými jedlami pre daný deň.
- Vyberte deň v kalendári a vyberte všetky položky, ktoré budú podávané v ten deň.
- Okrem denných menu môžete tiež upravovať jedlá, vytvárať nové jedlá, aktualizovať a vymazávať existujúce jedlá.

Vytvorenie menu:
- Vyberte položky jedla pre daný deň, vrátane hlavných jedál, príloh, nápojov atď.
- Kliknite na tlačidlo "Vytvoriť" v pravom hornom rohu pre vygenerovanie datasetu. Tým sa spustí automatizovaná úloha strojového učenia a model sa natrénuje, aby rozpoznával vybrané položky jedla.
Farebné indikátory pre každú položku jedla ukazujú počet označených obrázkov:
- Červená: Menej ako 20 označených obrázkov.
- Žltá: 20-50 označených obrázkov.
- Zelená: Viac ako 50 označených obrázkov.
- Niektoré jedlá môžu byť presne rozpoznané aj s malým počtom označených obrázkov.

Kategórie jedál používané v projekte:
- Hlavné jedlo
- Príloha
- Nápoj
- Dekorácia na tanieri
- Šalát v miske
- Dezert
- Omáčka/Dip/Dressing
Pokiaľ by sa urobila chyba pri vytváraní menu, menu môže byť zmazané (červené tlačidlo Delete) a znovu vytvorené.
Zoznam jedál, nad ktorými bol natrénovaný model, sa zobrazí v hlavnej časti menu s kalendárom.

- Pre vytvorenie nového jedla kliknite na "New" a vyplňte potrebné údaje.


- Prejdite do editácie jedla kliknutím na "Edit Food" v pravom hornom rohu.
- Vyhľadajte príslušné jedlo a aktualizujte jeho informácie podľa potreby.


- Použite tlačidlo "Update statistics" na obnovenie počtu označených obrázkov pre každé jedlo.

Účel: Táto sekcia sa používa na označovanie nových jedál na obrázkoch v procese pre-labelingu, alebo na hodnotenie kvality predikcií a úpravu predpovedí modelu.
Ako používať:
- Použite tlačidlá "Previous" a "Next" na navigáciu medzi obrázkami.
- Kliknite na "Označiť" na kreslenie okolo položky jedla pomocou kurzora myši.
- Použite "Like", ak je predikcia modelu presná.
- Ak je predikcia nesprávna, použite "Dislike" na otvorenie okna na označovanie a vykonanie potrebných úprav.
- Uložte svoje anotácie pomocou tlačidla "Save". Pôvodné nezmenené označenia sú zelené a nové označenia sú odlíšené červenou.

- Otvorenie okna pre nové označovanie:
- Kliknite na "Label" na otvorenie okna, kde môžete označovať jedlá na obrázku pomocou kurzora myši.
- Oprava predikcií:
- Ak je predikcia nesprávna, kliknite na "Dislike" pre otvorenie okna na označovanie a vykonanie potrebných úprav.
- Anotovanie – Výber obrázku:

- Anotovanie – Sekcia označovania:

- Anotovanie – Výber názvu, označovanie a kontrola nového označenia:

- Anotovanie – Uloženie nového označenia:

- Anotovanie – Uloženie obrázka s poslednými zmenami:

- Anotovanie – Použitie tlačidiel "Like" a "Dislike":


- Sekcia štatistík zobrazuje stav hodnotenia obrázkov pre konkrétny deň.
- Zelená označuje dobré obrázky, zatiaľ čo červená ukazuje obrázky, kde sú potrebné úpravy označení.
Táto sekcia zobrazuje informácie o vytváraní dátovej sady z vybraných anotovaných údajov, priebeh automatizovaných úloh strojového učenia a stav nasadenia modelu. Zahŕňa:
- Dátum: Dátum, pre ktorý bolo menu vytvorené.
- Zariadenie: Názov konkrétneho zariadenia.
- Informácie: Záznamy o čase začatia a ukončenia tréningu a procese nasadenia modelu.
- Položky: Počet položiek menu pre daný deň.

¶ Kľúčové body
- Označte nové jedlá, čo je prvá časť procesu pre-labelingu.
- Spustite automatizovaný proces tréningu, vytvárajúci úlohu strojového učenia pomocou modelu RESnet50.
- Prehodnoťte a upravte predikcie modelu v sekcii anotácií na zlepšenie presnosti.
- Opakujte proces, kým nebude dostatok údajov označených.
- Keď budete spokojní s výsledkami, môžete nasadiť model do produkcie. Toto umožní aplikácii AssecoCameraCapture rozpoznávať položky jedál v reálnom čase.
Pre technickú podporu kontaktujte tím. Udržujte svoje zariadenie aktualizované a pri riešení problémov skontrolujte najnovšie inštrukcie pre nastavenie systému.
- SQL databáza: Ukladá výsledky anotácií, predikcie, údaje kalendára a ďalšie.
- Azure resources: Spravuje zdroje a infraštruktúru, vrátane pracoviska ML, úložiska a služieb Kubernetes.