Software pro identifikaci zvířat ve 3 modifikacích
-
Název výstupu:Software pro identifikaci zvířat ve 3 modifikacích
-
Klíčová slova:classification; segmentation; convolutional neural networks; machine vision
-
Dosažení výstupu:2023
-
Autoři:
Petr Bartoš, Roman Bumbálek, Martin Filip, Zbyněk Havelka, Radim Kuneš, Pavel Olšan, Dominik Smutný, Luboš Smutný, Radim Stehlík, František Špalek, Karel Šramhauser, Ondřej Tupý, Jean De Dieu Marcel Ufitikirezi, Tomáš Zoubek
-
Vlastníci:Jihočeská univerzita v Českých Budějovicích
AGROSOFT Tábor, s.r.o. -
Kód důvěrnosti:C - Obsah výsledku podléhá obchodnímu tajemství (§ 504 Občanského zákoníku), ale název výsledku a popis výsledku a technické parametry výsledku u druhů Z, S (údaje R06, R08, R42, RN8, R46, R37) dodané do RIV jsou upraveny tak, aby byly zveřejnitelné.
V rámci projektu FW01010391 „Vývoj systému pro nepřetržitou identifikaci a etologické sledování zvířat v chovech skotu s využitím metod umělé inteligence“ byl vytvořen software pro identifikaci zvířat ve 3 modifikacích. V každé modifikaci bylo potřeba vytvořit specifický a co nejvíce variabilní dataset. Tyto datasety následně sloužili vždy k vytrénování vybrané konvoluční neuronové sítě architektury YOLO. V každé modifikaci byl použit jiný typ sítě YOLO, jejichž odlišnost spočívala v počtu parametrů, v nich obsažených. Konkrétní hodnoty jednotlivých použitých sítí architektury YOLO jsou následující:
- YOLO typ 1 – 43,7 mil. parametrů
- YOLO typ 2 – 97 mil. parametrů
- YOLO typ 3 – 68 mil. parametrů
Modifikace č. 1: Software pro identifikaci zvířat ve skupině do 10 kusů
Funkčnost a přesnost vytrénovaného modelu konvoluční neuronové sítě YOLO typ 1 určené k identifikaci jednotlivých kusů zvířat ve stádu do 10-ti kusů je představena na obrázku 1, kde je patrné, že vytrénovaný model je bez obtíží schopen v obrazu identifikovat jednotlivé objekty a zároveň spolehlivě určit o jaký konkrétní objekt se jedná (cow 1–6). Pro lepší přehlednost je segmentace každého objektu realizována odlišnou barvou. V rámci takto malé skupiny zvířat bylo možné vybrat objekty, které se značně liší svou texturou zbarvení, i proto byl vytrénovaný model schopen identifikovat jednotlivé objekty s velkou přesností blížící se 100 %.

Obrázek 1: Ukázka výstupu softwaru pro identifikaci zvířat (v modifikaci pro 10 kusů zvířat)
Modifikace č. 2: software pro identifikaci zvířat v modifikaci do 30 kusů zvířat
Původním záměrem 2. modifikace byla aplikace systému algoritmů umožňujících detekci objektů a také jejich segmentaci v rámci scény, v tomto případě detekci hospodářských zvířat v prostředí stáje, tak jako v modifikaci č. 1. Avšak se zvyšujícím se počtem kusů zvířat k detekci a následné segmentaci se zvyšují i hardwarové požadavky, které by dokázaly poskytnout potřebný výpočetní výkon, což by výsledný produkt značně prodražilo. Z těchto důvodů byla v modifikaci č. 2 použita detekce jednotlivých kusů zvířat (ohraničení bounding boxy) a jejich trasování.

Obrázek 2: Ukázka trasování skotu v hlavní části stáje

Obrázek 3: Ukázka trasování skotu v uličce vedoucí k dojírně
Modifikace č. 3: software pro identifikaci zvířat v modifikaci nad 30 kusů zvířat
V rámci etapy řešené v roce 2023 byl vytrénován model konvoluční neuronové sítě zaměřen na identifikaci jednotlivých kusů zvířat ve velké skupině (nad 30 kusů). Zde se ukázalo, že předešlé přístupy mají svá omezení, kvůli kterým je není možné aplikovat na větší stádo. Jako velmi přesný a zároveň technicky nepříliš obtížný způsob se ukázal označování krav čísly pomocí speciálních značících barev, kterými se zvěř běžně označuje. Pro trénování modelu byl vytvořen vstupní dataset dle postupů uvedených v předešlé části této zprávy.

Obrázek 4: Identifikace jednotlivých zvířat v prostředí stáje u lehací části za obtížných světelných podmínek pomocí vytrénovaného modelu konvoluční neuronové sítě YOLO typ 3: neoznačená zvířata – červený bounding box, cow 25 – zelený bounding box, cow 3 – oranžový bounding box, cow 28 – tmavě zelený bounding box, cow 29 – tyrkysový bounding box.
V rámci poslední etapy projektu byl do předešlého softwaru implementován vytrénovaný model sítě MobileNetv3 schopný identifikovat vybrané aktivity zvířat. Do softwaru rozpoznávajícího jednotlivá zvířata ve skupině nad třicet kusů bylo potřeba vytvořit a optimalizovat algoritmy zajišťující jejich propojení a následnou vizualizaci získaných predikcí.

Obrázek 5: Vizualizace aktivit jednotlivých kusů skotu v čase: neoznačené krávy – červený bounding box
Finální podoba komplexního výsledku je zaznamenána na obrázcích 6 a 7. Na obrázku 6 jsou zobrazeny pohledy všech devíti snímacích zařízení, která jsou součástí kamerového systému. Všechny obrázky jsou v reálném čase analyzovány vyvinutým systémem, který nejprve pomocí natrénovaného modelu sítě YOLO typ 3 detekuje jednotlivá zvířata, vytvoří kolem nich bounding box a přiřadí jim správnou třídu. Sousední kamery se částečně překrývají, proto jsou případy, kdy je jedno zvíře v překryvu zaznamenáno oběma kamerami, vyřešeny, tak že je do databáze zaznamenána pouze detekce z kamery, kde bounding box detekovaného objektu zabírá větší plochu. Na oblasti predikovaných bounding boxů je následně implikován natrénovaný model sítě MobileNetv3, který určí aktivitu. Na závěr jsou získaná data vizualizována, viz obrázek 7, a archivována v databázi.

Obrázek 6: Pohledy všech devíti snímacích zařízení, která jsou součástí kamerového systému

Obrázek 7: Grafická vizualizace aktivit jednotlivých kusů skotu v čase.