Mendelova univerzita v Brně Provozně ekonomická fakulta
Aplikace strojového vidění ve včelařství Diplomová práce
Vedoucí práce: Ing Oldřich Trenz, Ph.D.
Bc. Michael Lauko
Brno 2013
Rád bych poděkoval vedoucímu své diplomové práce Ing Oldřichu Trenzovi, Ph.D. za potřebné vedení, rady a připomínky. Velmi děkuji svým rodičům a manželce za jejich dlouholetou a bezpodmínečnou podporu při studiu.
Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Brno, 1. 1. 2013
................................................................
4
Abstract Lauko M. Computer Vision Application in Beekeeping. Brno, 2013. Mendel University in Brno, Faculty of Business and Economics. Master thesis supervisor Ing. Oldřich Trenz, Ph.D. Thesis deals with computer vision methods involved in monitorig varroa destructor mite fall. In theoretical part there are described beekeeping issues connected with it, and also comuter vision principles. Moreover, there is evaluation of present solution of this problem. In the second part, there is introduced the methodology of solution and the third part describes process of partial implementation including analysis and design. Keywords: varroa destructor, varroamonitoring, photography, computer vision, Vision Builder
Abstrakt Lauko, M. Aplikace strojového vidění ve včelařství. Brno, 2013. Mendelova univerzita v Brně, Provozně ekonomická fakulta. Vedoucí diplomové práce Ing. Oldřich Trenz, Ph.D. Práce se zabývá využitím metod strojového vidění v monitorování spadu roztoče kleštíka včelího. V teoretické části je popsána včelařská část související problematiky, dále principy strojového vidění a je zhodnoceno současné řešení této úlohy. Druhá část představuje metodiku řešení práce a ve třetí je popsán postup realizace částečné implementace včetně analýzy a návrhu. Klíčová slova: kleštík včelí, varroamonitoring, fotografie, strojové vidění, Vision Builder
5
OBSAH
Obsah 1 Úvod a cíl 1.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Teoretická východiska práce 2.1 Uvedení do včelařské problematiky tématu . 2.1.1 Biologie varroa destructor . . . . . . 2.1.2 Současné způsoby léčení . . . . . . . 2.1.3 Existující alternativy . . . . . . . . . 2.2 Strojové vidění a učení . . . . . . . . . . . . 2.2.1 Strojové vidění . . . . . . . . . . . . 2.2.2 Zpracování obrazu . . . . . . . . . . 2.2.3 Strojové učení . . . . . . . . . . . . . 2.2.4 Dostupné technologie . . . . . . . . . 2.3 Definice problému . . . . . . . . . . . . . . . 2.3.1 Stávající řešení problému . . . . . . . 2.3.2 Stávající řešení vedení úlové evidence 2.3.3 Definice navrhovaného řešení . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
3 Metodika řešení 3.1 Postup při řešení úloh strojového vidění . . . . . . . . . . . . . . . 3.2 Metodika pořízení fotografie . . . . . . . . . . . . . . . . . . . . . . 3.3 Analýza možností řešení problému . . . . . . . . . . . . . . . . . . . 3.3.1 Komplexnost . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Přenositelnost . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Cena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Výběr použité technologie pro částečnou implementaci . . . 3.4 Postup tvorby systému . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Tvorba aplikace . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Ekonomické zhodnocení . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Výhoda používání aplikace včelaři . . . . . . . . . . . . . . . 3.5.2 Možný model využití . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Zhodnocení ekonomické efektivity investice vybranými metodami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Realizace 4.1 Tvorba aplikace v prostředí Vision Builder 4.2 Tvorba systému – Specifikace požadavků . 4.2.1 Úvod . . . . . . . . . . . . . . . . 4.2.2 Všeobecný popis . . . . . . . . . . 4.2.3 Specifikace požadavků . . . . . . . 4.2.4 Ověřovací kritéria . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
7 7 8
. . . . . . . . . . . . .
9 9 10 12 13 17 17 20 24 25 27 27 28 32
. . . . . . . . . . . .
33 34 34 35 35 36 37 38 38 38 40 40 41
. 42 . . . . . .
44 45 51 51 52 53 54
6
OBSAH
4.3 4.4
4.5
Tvorba systému – případy užití . . . . . . Metodika pořizování fotografií . . . . . . . 4.4.1 Velikost a rozlišení . . . . . . . . . 4.4.2 Osvětlení . . . . . . . . . . . . . . 4.4.3 Podložka . . . . . . . . . . . . . . 4.4.4 Stativ . . . . . . . . . . . . . . . . 4.4.5 Pořizování fotografií . . . . . . . . Hodnocení ekonomické efektivity investice 4.5.1 Možný model komerční nabídky . . 4.5.2 Ekonomická efektivita investice . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
55 59 59 60 61 61 63 63 63 65
5 Diskuze
67
6 Závěr
69
7 Reference
70
Přílohy
75
A Specifikace požadavků
76
B Návrh diagnostické podložky
80
1
ÚVOD A CÍL
1
7
Úvod a cíl
1.1
Úvod
Pro mnohé jsou včely hmyz, který produkuje med. Někteří si také vzpomenou na další včelí produkty, například propolis, pyl, mateří kašičku, včelí jed nebo vosk. Málokdo si ale uvědomuje, že zásadním přínosem včel pro člověka není tvorba těchto užitečných, hodnotných a léčivých produktů. To nejdůležitější, co nám včely poskytují, je opylování hmyzosnubných rostlin1 . Mezi tyto rostliny patří ovocné a okrasné stromy, mnoho druhů zeleniny, léčivé bylinky, pícniny, řepka olejka a další rostliny. Včela není jediným opylovačem, ale díky některým charakteristickým vlastnostem je opylovačem takřka ideálním. Albert Einstein prý kdysi prohlásil, že pokud by ” zmizely na zemi včely, zbývají lidem jen čtyři roky života“. Toto tvrzení je na první pohled možná odvážné, nicméně ve skutečnosti poměrně realisticky ukazuje důležitost tohoto hmyzu pro člověka. Jako drtivá většina organismů má také včela medonosná své nepřátele. Mezi ty hlavní patří jak různé choroby virového nebo bakteriálního původu, tak paraziti. Tato práce se věnuje řešení problému spojeného s výskytem parazita kleštíka včelího. Ten svým množením v úle a parazitováním na larvách a dospělcích včel způsobuje nemoc varoózu. Zkušenost ukázala, že při nedostatečné léčbě může mít tento roztoč na včely fatální vliv. Zimu na přelomu let 2007 a 2008 nepřežila v ČR zhruba třetina včelstev. Příčina je z velké části připisována právě varoóze. Kleštík včelí je původně asijský živočich, který byl spolu se včelou východní zavlečen do Evropy na začátku 20. století. Zajímavostí je, že včela východní je vůči němu rezistentní a jeho parazitováním netrpí. V České republice je kleštík rozšířen od 70. let minulého století. Ukázalo se, že léčba farmaceutickými přípravky k úplnému přemožení parazita nevedlo, naopak na některé léky si roztoč vytvořil rezistenci a používání stále silnějších přípravků nemá smysl, protože zdravotně ohrožuje nejen včely, ale díky reziduím v medu také člověka. Zdá se tedy, že reálná je pouze snaha o udržení populace roztoče v určitých mezích, pro včelstvo snesitelných. Jedním z trendů v současném racionálním včelařství je totiž také orientace na varroa-rezistentní včely. V této oblasti probíhají intenzivní výzkumy a vědci se snaží vyšlechtit takové včely, které si s kleštíkem více či méně samy poradí. Díky určitému chování včel dochází k šíření roztoče z jednoho včelstva do druhého. Proto existuje souvislost v úrovni napadení včelstev umístěných blízko sebe v řádech kilometrů. I v souvislosti s touto skutečností vznikla iniciativa Varroamonitoring system (dále VMS). Jde o projekt zřízený Pracovní společností nástavkových včelařů CZ (dále PSNV–CZ) a spočívá v dobrovolném shromažďování údajů o rozšíření roztoče. Přispívající včelař v ideálním případě pravidelně sleduje napadení svých včel podle určitých pravidel a své údaje zveřejní i se svou přibližnou polohou na webovém serveru VMS. Průběžné sledování napadení je důležité jak pro včelaře samotného, tak pro ostatní. V případě, že má včelař aktuální přehled o zamoření 1
Rostliny, u nichž dochází k opylování za asistence hmyzem.
1.2
8
Cíl
svých včelstev, je schopen adekvátně reagovat a léčit tak ani ne nedostatečně, ani příliš intenzivně. Pro ostatní včelaře v okolí tyto údaje slouží jako orientační informace o nebezpečí pro jejich včelstva, ať už sami přispívají nebo ne. V neposlední řadě tento systém umožňuje na regionální či celostátní úrovni reagovat na hrozící nebezpečí v podobě přemnožení kleštíka včelího a například centrálně informovat. Činnost monitorování ale přes její důležitost vykonává jenom mizivá část českých včelařů. Důvodů je k tomu mnoho, ať už jsou objektivní nebo subjektivní. Mezi ty objektivní patří bezesporu časová náročnost. Zvláště při rozsáhlejším chovu je svědomité pravidelné sledování téměř nereálné. Sledování totiž spočívá v počítání roztočů spadlých na speciální podložku umístěnou pod úlem. Některé toto počítání odradí úplně, někteří si jej zjednodušují nejrůznějšími způsoby odhadování a tedy snižování přesností a vypovídací hodnoty. Autor této práce, sám spíše sympatizant včelařství, než včelař, si tedy položil otázku, jestli by bylo možné nějak pomocí prostředků současné umělé inteligence tento proces automatizovat a umožnit tak jednak přesnější monitoring, jednak odbourat překážku nezáživnosti a časové náročnosti. Subjektivní důvody, jako je lidská lenost nebo rezistence vůči novým věcem, se pravděpodobně odstranit nepodaří nikdy.
1.2
Cíl
Cílem práce je navrhnout řešení automatizované identifikace roztoče kleštíka včelího pomocí technologií strojového vidění na diagnostické podložce umístěné pod úlem. Toho bude dosaženo: • seznámením se s dostupnými technologiemi strojového vidění, • analyzováním stávajících řešení této problematiky, • navržením vlastního řešení problému, • sestavením metodiky pro použití předkládaného řešení cílovou skupinou, tedy komunitou včelařů Smyslem práce je umožnit automatizování vysoce stereotypní a také časově (a někdy i fyzicky) náročné činnosti ručního počítání roztočů. Tato činnost je velmi důležitá pro sledování zdravotního stavu včelstev, ale je pro svůj charakter často není vykonávána důsledně nebo vůbec. Ulehčením této činnost dojde pravděpodobně k jejímu rozšíření. Tento problém je v současné době nějakým způsobem řešen. Proto práce bude obsahovat zhodnocení těcho způsobů. Navrhne také možné zařazení řešení práce do těchto stávajících řešení, případně možnost využití řešení jako samostatné služby. �
2
TEORETICKÁ VÝCHODISKA PRÁCE
2
9
Teoretická východiska práce
Kapitola Teoretická východiska se skládá ze tří částí, které se věnují jiné části teorie. V první z nich je vysvětlena včelařská tematika a je zde představen roztoč varroa destructor, jehož monitorování se práce týká a popsán jeho životní cyklus. Dále se autor zabývá závažností problému, který roztoč způsobuje a jsou představena stávající řešení problému s roztočem. Druhá část je věnována strojovému vidění a jsou zde nastíněna některá specifika této oblasti s ohledem na řešenou problematiku. Dále je popsán postup, který je aplikován na data při analýze obrazu. Stručně je představeno také strojové učení pomocí neuronových sítí. V závěru části jsou představeny některé technologie, které je obecně možno využít k řešení úloh strojového rozpoznání obrazu. Poslední část je věnována problému samotnému. Nejprve je zde definován a následují jeho stávající řešení, případně řešení úloh více či méně související s problémem, ze kterých dále bude vycházeno v části realizace.
2.1
Uvedení do včelařské problematiky tématu
Jak již bylo v úvodu a cíli řečeno, práce se zaměřuje na velmi úzkou aplikaci v oblasti strojového vidění a včelařství. Pro samotné konkrétní řešení není nezbytné pokrýt podrobně celou související oblast včelařství, nicméně pro pochopení textu je důležité definovat základní pojmy a popsat některé souvislosti. Kleštík včelí (Varroa destructor Anderson & Trueman, 2000) (Anderson a Trueman, 2000, s. 168) je roztoč, který parazituje na hemolymfě plodu a dospělců včely medonosné (Apis mellifera L.) a včely východní (Apis cerana F.) (Přidal, 2005, s. 23). Včela východní, která je jeho původním hostitelem, však jeho parazitováním netrpí (Büchler, 1994, s. 54), mimo jiné proto, že mají silněji vyvinut instinkt hygienického chování. Na druhé straně pro včelu medonosnou, která je u nás chována převážně, je velmi nebezpečný. Proto se v dalším textu ve spojitosti s kleštíkem bude jednat vždy o včelu medonosnou, pokud nebude uvedeno jinak. Hygienické chování znamená jednak záměrné odstraňování parazitů dospělými včelami sobě nebo navzájem nohami či kusadly (tzv. grooming“, respektive auto” grooming nebo allogrooming (Haydak, 1945)), jednak čistící pud“ spočívající v od” straňování roztoči napadeného plodu před zavíčkováním nebo i po něm (Přidal, 2005, s. 23). Při groomingu je roztoč buď rozkousnut mandibulami nebo jimi či nohami alespoň shozen nebo nucen se přemístit. Pokud kleštík spadne až na dno úlu, je pro něho velmi obtížné až nereálné vrátit se zpět mezi včely a rozmnožovat se. Tím je výrazně sníženo napadení roztoči ve včelstvu. Dělnice včely medonosné sice také provozují“ grooming, nicméně v mnohem menší míře, což vede ke zlepšení podmí” nek pro množení tohoto roztoče a zvýšení jeho nebezpečnosti mj. pro české včelaře. Jedním z řešení problému s kleštíkem je proto v současné době šlechtění včely medonosné na hygienické chování (Danka, Harris, Villa, 2011, s. 746). V případě, že by si včely dokázaly samy poradit s kleštíkem, nebylo by již potřeba používat léčení,
2.1
Uvedení do včelařské problematiky tématu
10
Obrázek 1: Normální složení varroa rodiny“ v buňce včelího plodu, zhruba 11 dní ” po zavíčkování plodu. Horní řada zleva: protonymfa, deuteronymfa, deutrochrysalis. Dolní řada zleva: čerstvě svlečená mladá samička, samička matka, dospělý sameček (Rosenkranz, Aumeier, Ziegelmann, 2009, s. 98). což by vedlo k zefektivnění chovu, neboť léčba je nejen finančně, ale také časově náročná. K tomu je ale, zdá se, ještě dlouhá cesta, a tak zatím nezbývá než vedle šlechtění také používat léčiva. 2.1.1
Biologie varroa destructor
Jak to názorně ukazuje Obrázek 1, u kleštíka včelího se vyskytuje pohlavní dimorfismus2 . Sameček je menší než samička a má také jinou barvu a tvar. Dorůstají velikosti přibližně 0,8 mm a mají okrouhlé, šedobílé a měkké tělo. Samičky naopak dorůstají velikosti až 1,9 mm a mají oválné, hnědé tělo s tvrdým hřbetním štítem (Přidal, 2005, s. 23). Vajíčka jsou přibližně 0,3 mm velká. Přestože se parazité nacházejí jak na dospělcích, tak na včelím plodu, k reprodukci dochází výhradně na zavíčkovaném plodu a samečci dokonce buňku neopustí (Ellis a Zettel Nalen, 2010). Životní cyklus parazita probíhá ve dvou fázích, foretické a reprodukční (Rosenkranz, Aumeier, Ziegelmann, 2009, s. 98). Celý cyklus názorně zobrazuje Obrázek 2. Fáze foretická trvá přibližně 5–11 dní, pokud je ve včelstvu přítomen plod a může trvat 5–6 měsíců v období, kdy plod přítomen není (Huang, 2012, s. 982). V této fázi obvykle samička roztoče existuje na dospělé včele, často na břišní části, kde vykousnutými otvory mezi články saje hemolymfu (Ellis a Zettel Nalen, 2010), přemisťuje se ze včely na včelu a právě v této fázi dochází k přenášení kleštíka z jednoho včelstva do druhého. Děje se to převážně zalétáváním, které je výrazně častější 2 Skutečnost, že samička vypadá jinak než sameček. Rozdíl nespočívá pouze v pohlavních orgánech, ale jde také o rozdíl velikosti, tvaru a dalších rysů.
2.1
Uvedení do včelařské problematiky tématu
11
u trubců než u dělnic (Čermák, 2007, s. 27). Dále také loupením a rojením (Přidal, 2005, s. 25), nebo také zapříčiněním člověka při manipulaci se včelami a jejich transportem. Poté samička přejde do fáze reprodukční, která se odehrává na včelím plodu. Samičky kleštíka několik hodin před zavíčkováním zalézají do buněk (NajiKhoei, 2011, s. 511) – viz Obrázek 2, detaily 1 a 2, přičemž několikanásobně dávají přednost trubčím buňkám před dělničími (Rosenkranz, Aumeier, Ziegelmann, 2009, s. 99). V buňkách vyčkávají ukryty v krmné šťávě do té doby, než několik hodin po zavíčkování larva zkonzumuje veškerou krmnou šťávu (Ifantidis, 1988, s. 393). Před tím, než larva začne vytvářet kokon, samička se na ni přisaje v oblasti zadečkových článků a pevně se přichytí, aby nezůstala uvězněna mezi kokonem a stěnou buňky (Přidal, 2005, s. 24). Poté, co se samička nasytí hemolymfou, začne klást vajíčka – viz Obrázek 2, detail 5. První z nich je neoplozené a rodí se z něj sameček, z dalších, oplozených, se líhnou samičky (Ellis a Zettel Nalen, 2010). Až sameček dospěje, čeká na dně buňky na samičky, až také dospějí a po posledním svlékání se s nimi páří – viz Obrázek 2, detail 8. Před vylíhnutím dělnice stačí dospět pouze sameček a jedna až dvě samičky, v trubčích buňkách, kde se larvy vyvíjí déle, jsou pro roztoče šance ” větší“ (Přidal, 2005, s. 24).
Obrázek 2: Životní cyklus varroa destructor (Peiffer, 2011).
2.1
Uvedení do včelařské problematiky tématu
12
Oplozená samička může po vylíhnutí včely buď začít parazitovat na dospělé včele – viz Obrázek 2, detaily 10 a 1, a přejít tak zpět do fáze foretické, nebo může ihned zalézt do další buňky, která je před zavíčkováním. Tak se z jedné samičky v dělničím plodu za 12 dní mohou se dvěma dcerami stát 3, z nich za dalších 12 dní 9, tedy v ideálním případě“ za 36 dní se z jedné samičky stane 27. Ve skutečnosti ” je toto tempo výrazně pomalejší, nicméně roztoč je schopen rozmnožit se do počtu kritického pro včelstvo i za jeden rok (Přidal, 2005, s. 25). 2.1.2
Současné způsoby léčení
To, že parazit saje včelímu plodu hemolymfu, způsobuje, že včela se rodí s různým stupněm poškození, které zkracuje jejich život (včelky.cz, 2005). Z dlouhodobého hlediska to včelstvo oslabuje a může být pro něj fatální. Nicméně zásadní problém souvisí se skutečností, že kleštík je také přenašečem zhruba dvou desítek různých virových onemocnění, kterým kvůli oslabení a infikaci přímo do hemolymfy řádově snadněji podléhá (Rosenkranz, Aumeier, Ziegelmann, 2009, s. 103). Jak bylo ukázáno, roztoč se v neléčeném včelstvu množí exponenciálně. Neléčené včelstvo od prvního kontaktu s roztočem většinou nepřežívá druhou zimu, třetí však nikdy (Huang, 2012, s. 981).
Obrázek 3: Rozšíření varroa destructor v roce 2010. Červeně vyznačené oblasti jsou země, kde je roztoč rozšířen (Ellis a Zettel Nalen, 2010). Důležité je také uvědomit si, že se nejedná o lokální záležitost, nýbrž celosvětovou. Rozšíření roztoče v roce 2010 na mapě světa graficky zobrazuje Obrázek 3. V Kanadě v zimě 2007–2008 uhynulo 35 % včelstev, přičemž dlouhodobý normál“ je ” 15 %. V USA stejnou zimu uhynulo 36 %, rok předtím to přitom bylo o 13,5 % méně (Beekepers, 2008). Je velmi složité takováto čísla konkretizovat, nicméně šlo o ztráty stovek tisíc včelstev a řádově miliard dolarů za jedinou zimu (Ellis a Zettel Nalen,
2.1
Uvedení do včelařské problematiky tématu
13
2010). V zimě 2007–2008 došlo také na území ČR k plošným ztrátám, v průměru více než 25 %. Proto je zcela nezbytné se tímto roztočem vážně zabývat. Nevýhoda stávajících farmaceutických prostředků je minimálně dvojí. Je to ukládání jejich nebezpečných reziduí ve včelích produktech, obzvláště medu, vosku a propolisu (Čermák, 2011, s. 180). Rezidua jsou nebezpečná jednak pro člověka, jednak pro samotné včely (Rosenkranz, Aumeier, Ziegelmann, 2009, s. 108). Dalším vedlejší efekt je vytváření rezistence roztoče, což znamená adaptaci roztoče na účinnou látku a tedy snížení její účinnosti. Děje se to zapříčiněním biologických, genetických a zootechnických vlivů (Přidal, 2005, s. 24). Existují samozřejmě také látky, které sice kleštíka hubí, ale ani nezanechávají rezidua, ani nedávají vzniknout nebezpečí rezistence. Je to například kyselina mravenčí a přípravky z ní derivované. Tyto látky v ČR zatím ale jako léčivé přípravky nejsou Státní veterinární správou (SVS) povoleny. 2.1.3
Existující alternativy
Z předchozího textu je zřejmé, že řešení spočívá v alternativních zootechnických metodách a to jednak v podobě zásahů do chovu, jednak v selekci přirozené varroatolerance včel. Než se podaří vyselektovat včely s dokonalým hygienickým chováním, tedy naprosto varroatolerantní, je vhodné kombinovat tyto snahy spolu s více či méně preventivním léčením včelstev. Některé úkony SVS přímo přikazuje, některé záleží na samotném včelaři. Důležitá je v takovémto případě správnost úsudku chovatele včel. Nepřiměřeně silný zásah je jednak neekonomický kvůli zvýšení nákladů za léčiva, jednak může vést ke vzniku rezistence, uchování reziduí nebo v některých případech ohrozit kondici včelstva. Příliš slabý zásah na druhou stranu není dostatečně efektivní, a proto včelám pomůže jen částečně. Proto je důležité mít přehled o tom, kolik je ve včelstvu roztočů, tedy o závažnosti zamoření. Za kritickou hranici roztočů ve včelstvu se považuje číslo 2500 (Webster and Delaplane, 2001, s. 234). Samozřejmě není reálné počítat roztoče mezi včelami nebo na plodu, proto byly vypracovány diagnostické metody, které umožní zjistit napadení včelstva co nejdříve. Je to jednak vyhledání samiček na dně úlu jak během léta, před ošetřením i po něm, tak po zimním období, vyšetření trubčího plodu a vyšetření dospělých včel, přičemž se u různých metod při vyšetření včely buď usmrtí nebo ne (Peiffer, 2011). Vzhledem k tomu, že každý zásah do včelstva je jednak stresem pro včely a jednak časově náročný pro včelaře, jako ekonomická se jeví první metoda, tedy sledování spadu roztočů na dno úlu. Přirozený spad“ roztočů je závislý na několika faktorech. Jsou ” to především jejich vlastní chyby při pohybu v úle a mezi hostiteli, usmrcení nebo shození v důsledku groomingu a také přirozená smrt stářím. Pro sledování roztočů na dně úlu je potřeba použít upravené dno, které nahradí původní dno úlu. Jedná se o zasíťovaný rám, který díky vhodné velikosti ok zabraňuje včelám, aby jím prolezly, ale zároveň jsou oka dostatečně veliká k tomu, aby padající roztoč bez problémů propadl a spadl tak až na diagnostickou podložku, která se nachází pod zasíťováním. V literatuře a na internetových fórech existuje
2.1
Uvedení do včelařské problematiky tématu
14
celá řada různých návodů na výrobu varroa-den, stejně tak jejich alternativ. Jeden z modelů dostupných na domovské stránce Varroamonitoring systemu je na Obrázku 4. V ideálním případě možné podložku jednoduše vytahovat zpod úlu a zase ji tam vracet (na Obrázku 4 je podložka vyobrazena červeně). Kvalitní monitoring spočívá v pokud možno dlouhodobém evidenci přirozeného spadu v pravidelných intervalech.
Obrázek 4: Model celozasíťovaného varroadna dle Neumanna (Varroamonitoring system, 2012). Síťované dno má tedy využití při monitorování spadu ať už přirozeného nebo spadu po léčení, používá se při zjišťování účinnosti léčby, v přeneseném smyslu je využíváno také při selekci varroatolerantních včel a existují také studie, které potvrdily pozitivní vliv síťovaného dna na pomalejší zamoření včelstva kleštíkem (Ellis, Delapane, Hood, 2001, s. 813). Pro české včelaře vypracovala Pracovní společnost nástavkových včelařů CZ (PSNV) diagnostickou podložku včetně metodiky jejího použití. Podložku lze zakoupit ve včelařských prodejnách a metodika je volně dostupná na webu projektu Varroamonitoring system (http://www.varroamonitoring.cz). Této podložce byla pro její inovaci udělena na třech zemědělských veletrzích Techagro, Animal Vetex a Silva Regina hned v roce uvedení 2008 cena Grand Prix. Jak bylo uvedeno, za kritickou hranici je považován počet 2500 samiček roztočů ve včelstvu, což odpovídá dennímu přirozenému spadu zhruba 30 samiček. Přitom 0–7 kusů znamená nízké riziko, 8–15 střední a 16–30 vysoké (Přidal a Texl, 2008). Tyto hranice jsou víceméně subjektivní, jsou ale jednoduchým vodítkem. Dobrým nástrojem pro dlouhodobý monitoring včelařova chovu je zmíněný webový projekt PSNV Varroamonitoring system (VMS). Pomocí této aplikace si po zaregistrování může včelař vést evidenci svých chovných stanic a včelstev v nich. Hlavním smyslem je ukládání a sdílení údajů o zamoření kleštíkem a léčení. Kromě toho je také možné u včelstva ukládat další data, jako poloha nebo produkce. Systém umožňuje hromadný import nebo export a ze zadaných dat generuje grafy, které umožňují názornější zpracování. Velmi užitečným nástrojem systému je mapa,
2.1
Uvedení do včelařské problematiky tématu
15
na které se podle zadané polohy zobrazují jednotlivé stanice. Jsou odlišeny podle toho, jak jsou data aktuální a hlavně podle toho, jak jsou zamořeny. Pochopitelně lze vyhledávat v čase a zobrazovat si tak absolutní a průměrné hodnoty pouze za určitá období.
Obrázek 5: Ukázka použití diagnostických podložek PSNV v praxi. Podložky jsou uzpůsobeny tak, aby byla manipulace s nimi snadná a bylo možné je jednoduše vkládat pod úl a zase je vyndávat, aniž by bylo nutné jakkoli zasahovat do úlu a přijít do styku se včelami. (Varroamonitoring system, 2012) V případě, že jsou informace veřejné, můžou mít zásadní vliv na šíření informovanosti o možné blížící se epidemii, jak již bylo řečeno v úvodu práce. Tedy mohou být užitečné nejen pro včelaře samotného, ale i pro jeho okolí, a v důsledku i pro státní orgány. Proto je určitě užitečné, aby tento systém používalo více než 624 uživatelů se 1820 včelstvy (Varroamonitoring system, 2012) v zemi, kde je více než 46 000 včelařů s více než 500 000 evidovanými včelstvy (Český svaz včelařů, 2012). Tomu brání několik skutečností. Jedna z nich je časová náročnost monitoringu, obnáší totiž časově náročné počítání roztočů spadlých na diagnostickou podložku. Počítat roztoče každý den by bylo pravděpodobně pro většinu včelařů nereálné, únosný kompromis je interval jednoho týdne. Po spočítání se odvodí průměr na jeden den. Za jeden týden může na podložku napadat desítka roztočů, může to být ale i u silně napadených včelstev i několik stovek. Pro většinu včelařů může být navíc počítání 2 mm velkého roztoče reálný problém, neboť věkový průměr českých včelařů se dlouhodobě pohybuje kolem 60 let (Jakuš, 2005). Část z nezainteresovaných včelařů o této možnosti nemá dostatek informací, ať už kvůli vlastnímu nezájmu nebo chybou vedoucích zájmových spolků, ve kterých jsou včelaři organizováni, a tak se nemohou svobodně rozhodnout. Nejde pouze informace o VMS samotném, ale také například o alternativních způsobech práce s varoózou. Autor má za to, že nemalé procento včelařů o problému neví nebo
2.1
Uvedení do včelařské problematiky tématu
16
jej ignoruje a další velká část považuje za jediný způsob tlumení varoázy pouze farmaceutické přípravky. A v neposlední řadě je zde určitá část chovatelů, kteří monitoring nepovažují za důležitý, nebo se jim prostě nechce.
Obrázek 6: Úvodní stránka VMS – Varroamonitoring systemu, zobrazovaná nepřihlášenému návštěvníku (Varroamonitoring system, 2012). S lidským nezájmem a rezistencí vůči inovacím se pravděpodobně v krátkém období dělat nic nedá, ostatní překážky je reálné nějak překonat. Přispět k tomu jistě může další vzdělávání ve včelařské obci o alternativních způsobech bojem s kleštíkem tak, aby se každý včelař mohl rozhodnout, jak bude své vlastní včely léčit. Druhým zásadním problémem, tedy tím, jak je reálné zautomatizovat proces počítání spadených roztočů na podložce, se zabývá tato diplomová práce. �
2.2
Strojové vidění a učení
2.2
17
Strojové vidění a učení
Člověk pomocí zraku získává většinu informací ze svého okolí, obvykle je uváděno rozmezí 80—85 % (SONS, 2012). Zdravý člověk je bez problémů schopen určit tvar a barvu květin ve váze, která stojí na stole před ním. Je chopen rozeznat jednotlivé květy, stejně tak odlišit kytici od vázy nebo jejího pozadí. Tuto úlohu je schopen řešit jak v reálu, tak na fotografii nebo obraze. Díky své inteligenci, která je pro člověka v interpretaci viděného zásadní, ji řeší opakovaně a s naprostou samozřejmostí. Pomocí svých zkušeností (naučeného) potom dokáže reagovat na nové situace a zvolit adekvátní reakci. 2.2.1
Strojové vidění
Pro počítač jsou podobné úlohy mnohem složitější. Zabývá se jimi disciplína počítačové vidění. Je to oblast, která se snaží technickými prostředky alespoň částečně napodobit vidění lidské (Šonka a Hlaváč, 1992, s. 11). Jde tedy o rekonstrukci, interpretaci a porozumění 3D scény z jejího 2D obrazu (Ji, 2012, s. 3) a rozhodování na základě zjištěné informace. Je považována za součást kybernetiky nebo umělé inteligence (Hlaváč a Sedláček, 1992, s. 1). Cílem počítačového vidění je tedy mimo jiné zautomatizovat počítačem některé úlohy, které vyžadují zapojení lidského zraku a rozhodnutí na základě vnímaného. Když disciplína na začátku 70. let vznikala, úloha porozumění obrazu a interpretace byla považována za triviální a pouze jako výchozí bod pro další, složitější úlohy vysokoúrovňového uvažování a plánování (Szeliski, 2010, s. 11). Ukázalo se, že problematika je daleko složitější. Přestože je dnes počítačové vidění mnohem dále, stav, že počítač bude bez problémů schopen interpretovat fotografii alespoň na úrovni dvouletého dítěte (ukaž všechna zvířata na obrázku) je ještě v nedohlednu (Szeliski, 2010, s. 3). Proč tomu tak je? Počítačová grafika se pomocí velmi jednoduchých grafických prvků (bodů, přímek, křivek) pokouší vizualizovat člověku informaci z počítače, tedy řeší úkol jak generovat jedničky a nuly tak, aby vypadaly jako např. ovoce“ (Schiele ” a Fritz, 2012, s. 28), kdežto počítačové vidění řeší inverzní problém, ve kterém jde o rozpoznání např. ovoce z jedniček a nul“. Snažíme se totiž z obrazu, který ztratil ” některé důležité informace, zjistit realitu, tedy obnovit neznámé veličiny za po” mocí informací nedostatečných k plnému vyřešení“(Szeliski, 2010, s. 3). Ke ztrátě informace dochází z několika důvodů (Hlaváč a Sedláček, 1992, s. 2): • Perspektivní zobrazení původně trojrozměrné scény do dvojrozměrné obrazové roviny čidla kamery. • Komplikovaný a nejednoznačný vztah mezi jasem, který měří kamera (a většina jiných obrazových senzorů), a tvarem povrchu 3D objektů ve scéně. • Veliké množství obrazových dat. • Šum, který je v obraze reálné scény vždy přítomen.
2.2
Strojové vidění a učení
18
Problém s velkým objemem dat se více či méně podařilo s rostoucím výpočetním výkonem vyřešit, ostatní zůstávají, proto je třeba s nimi nějak pracovat. Porozumění 3D scény se většinou řeší analýzou více obrazů z více míst pohledu (Szeliski, 2010, s. 3). Tato práce se zabývá analýzou obrazu rovinné podložky s objekty vystupující pouze několik milimetrů nad ni, proto problém dále bude zjednodušován na 2D problém, což je obecně velmi často používaná praxe. Šum, který je v obraze obsažen vždy (Šonka a Hlaváč, 1992, s. 16), je třeba brát v úvahu a proto je často potřeba použít pravděpodobnostní techniky, a tedy komplikovanější matematické nástroje (Hlaváč a Sedláček, 1992, s. 2). Podle literatury se porozumění obrazu odehrává na dvou (Šonka a Hlaváč, 1992, s. 11), případně třech (Wu, 2012, s. 6), (Ji, 2012, s. 3) úrovních. Na nižší úrovni (low-level) probíhá analýza digitálních dat ve smyslu hledání základních grafických primitiv pro další zpracování. Například odstraňování šumu, detekce hran, filtrování (Wu, 2012, s. 6). Této fázi se také říká image processing (Šonka a Hlaváč, 1992, s. 12). Vyšší úroveň (high-level vision) spočívá v odvozování sémantiky, tedy rozpoznávání objektů a porozumění scéně. Některé zdroje mezi tyto úrovně vkládají střední úroveň (intermediate-level) tak, že vyšší úroveň rozdělí na dvě s tím, že střední obsahuje detekci objektů, případně pohybu a celkovému porozumění scéně, do vyšší zařazují pouze interpretaci a případně také určité řízení procesů nižší a střední vrstvy (Ji, 2012, s. 4).
Obrázek 7: Detekce SPZ v prostředí VisionLab (Moravské přístroje a. s., 2012). Přestože má před sebou počítačové vidění ještě velmi dlouhou cestu, existuje velké množství způsobů jeho využití. Aplikace, se kterou se pravděpodobně setkáváme nejčastěji, je čtení čárových kódů. Další poměrně běžná je také OCR (Optical Character Recognition – optické rozpoznání znaků), tedy nástroj pro digitalizaci psaných nebo tištěných textů. Jeho adaptací jsou také nástroje na vyhledání a rozpoznání SPZ značek z fotografií aut (Obrázek 7), které se používají u mýtných bran, u rychlostních kamer, u parkovacích automatů, nebo je využívají policejní složky při výkonu povolání. V dopravě jsou také používány aplikace na automatické sledování
2.2
Strojové vidění a učení
19
a vyhodnocování hustoty provozu na silnicích. Rozlišování mezi pěstovanou plodinou a plevelem je používáno v zemědělství při automatické aplikaci herbicidů. K tomu, aby na fotografiích bylo zaostřeno na tvář každé osoby, jsou ve fotoaparátech používány algoritmy na detekci obličeje. Tyto algoritmy jsou hojně používány také jednak pro statické obrazy například na sociálních sítích (Alba Picasa, Facebook), jednak pro analýzu videa k automatizaci dohledu (surveillance) nad osobami nebo objekty. To má využití napříkad v bezpečnosti, ať už soukromého charakteru (ostraha objektů) nebo veřejného (pořádková policie). Tato oblast je vzhledem k možným důsledkům zneužití velmi kontroverzní. Existují také aplikace na rozpoznávání lidských gest nebo mimiky. Ve fotografiích se také používá získávání informací (feature detection) z fotografií pro tvoření panoramatických fotografií a spojování obrazu obecně, nebo také v rozšířené realitě (Augmented Reality). Pomocí počítačové analýzy rohovky, která jednoznačně určuje člověka spolehlivěji než například otisk prstů, byla také v roce 2002 identifikována Sharbat Gula, známá z fotografie Steva McCurry pořízené roku 1984 jako Afgánská dívka“ (Daug” man, 2002). Služba Google Goggles umožňuje vyhledávat pomocí fotografie. Stačí vyfotit pomocí aplikace nějaký předmět zájmu a ta vyhledá informace o známé budově (Obrázek 8) nebo uměleckém díle, přeloží jídelní lístek, vyhledá obrázek produktu na internetových obchodech nebo třeba vyřeší vyfocené sudoku.
Obrázek 8: Příklad použití aplikace Google Goggles – Taj Mahal (Stinger, 2012). Ze sekvence obrazů nebo videa je možné vytvořit 3D obraz objektu, ať už se jedná o scan lidských orgánů nebo historická budova. Pomocí strojového vidění jsou odhalovány zmetky na běžících pásech ve výrobě, nebo stanovována částka vrácených peněz u automatů na vracení lahví a přepravek. To je jen několik základních a běžných aplikací strojového vidění, je jich samozřejmě mnohem více a každý den přibývají.
2.2
Strojové vidění a učení
2.2.2
20
Zpracování obrazu
Zpracovávání vždy předchází získání digitálního obrazu – pořízení obrazu reality, většinou 2D (někdy 3D, nebo sekvence obrazů – záleží na typu snímače voleného podle úlohy). Nemusí se vždy jednat o zachycení funkce jasu, jak je tomu u fotografií, ale může se jednat o rentgenový snímek, snímek hloubky, snímek odrazivosti nebo pohlcování elektromagnetického nebo ultrazvukového záření, případně magnetické rezonance. Tato práce se dále bude zabývat pouze barevnými fotografiemi pořízenými digitálním fotoaparátem, pokud to nebude výslovně uvedeno jinak. Druhou fází je předzpracování (preprocessing). Po této fázi je obraz připraven k tomu, aby s ním daná metoda počítačového vidění mohla pracovat. Vše začíná tzv. analýzou obrazu3 . Při ní jsou zjištěny základní statistické informace o obrazových datech. Je to především histogram, informace o šumu, a také informace o barvách a vyvážení bílé (Moravské přístroje a. s., 2012). Histogram je grafická reprezentace jasových úrovní v digitálních obrazových datech. Jedná se o součet pixelů daného jasu v celém obrazu. Absolutní počet vetšinou nebývá důležitý údaj, jde o relativní rozložení jasu. Bývá rozložen do jednotlivých kanálů dle použitého barevného modelu. Histogram je nejdůležitější globální informací o obraze (Moravské přístroje a. s., 2012). Bývá zobrazován jako sloupcový nebo čárový graf. Informace o barvách mohou být důležité pro hledání oblastí zájmu (Region of Interest) v obraze. Pokud máme informace o barvách, můžeme změnou prahu vyhledávat pouze objekty (pixely) dané barvy. Spolu s informacemi z histogramu můžeme určit také expoziční dobu a vyvážení bílé, tak abychom mohli s obrazovými daty dál bezpečně pracovat a objekty byli schopni detekovat. Většinou je potřeba u obrazu provést nějaké změny, jako například potlačení šumu nebo úpravy histogramu a kontrastu pro snadnější nalezení hran. Jednou z těchto úprav je například také interpolace barev. V případě, že obraz nemá dostatečný kontrast, je možné pomocí úprav histogramu kontrast vylepšit. Například se jedná o transformaci hodnot jasu, nebo ekvalizaci histogramu (Moravské přístroje a. s., 2012). Většinou se ale jedná spíše o úpravy v zájmu lidského oka, pro zpracování počítačem nemají větší význam. Redukce šumu je používaný proces a je realizován u drtivé většiny digitálních obrazů. Dnešní fotoaparáty mají některé šumové filtry zabudovány přímo v procesu pořizování fotografie(Megapixel.cz, 2012). Jedná se tedy o častou, nicméně poměrně složitou a problematickou proceduru. Chybně provedená redukce šumu může zcela znemožnit další zpracovávnání. Proto je potřeba ji provádět správně. Metod pro odstranění šumu je celá řada (Šonka a Hlaváč, 1992, s. 53), (Hlaváč a Sedláček, 1992, s. 30), (Szeliski, 2010, s. 144), (Davies, 2005, s. 24), (Snyder a Qi, 2004, s. 107). Jedná se o velmi složité matematické výpočty, které jsou ale v nástrojích počítačového vidění implementovány. Jedním z nejpoužívanějších filtrů 3
V této práci je tento pojem používán také pro název celého procesu zpracování obrazu pomocí strojového vidění. Pokud nebude uvedeno jinak, jako v tomto případě, analýzou obrazu se myslí celý proces, nikoliv část preprocessingu.
2.2
Strojové vidění a učení
21
je využití Gaussova konvolučního jádra (Moravské přístroje a. s., 2012), používá se totiž také při detekci hran (Davies, 2005, s. 239). Segmentace na objekty rozdělí obraz na jednotlivé objekty, což jsou oblasti, které nás dále zajímají (Šonka a Hlaváč, 1992, s. 15). Jde tedy například o odlišení jednotlivých objektů od pozadí a od sebe navzájem. Jednou z používaných metod segmentování je prahování. Prahování je taková úpravu obrazu, při které dochází k podstatné redukci počtu jasových úrovní. Nej” častěji prahujeme na dvě jasové úrovně — na černou a bílou“ (Moravské přístroje a. s., 2012). Pokud má obrazový bod – pixel vlastnost (jas) nižší, než je určený práh, je přiřazen pozadí, opačném případě patří do objektu (Šonka a Hlaváč, 1992, s. 98). Pokud je práh zvolen špatně, při segmentaci budou k objektům přiřazeny i oblasti, které k nim nepatří, nebo naopak budou části objektů přiřazeny k pozadí scény. Ve většině případů jeden práh pro jeden obraz nestačí (Snyder a Qi, 2004, s. 183) a proto práh někdy nemůžeme určit globálně pro celý obraz, ale je nutné prahování provádět lokálně nebo víceúrovnově. Při lokálním zpracování je nejprve zpracován celý obrázek a poté jsou pixely prahovány na základě jejich okolí v obraze. Typy prahování zobrazuje následující obrázek. S rostoucí kvalitou prahování výrazně roste výpočetní náročnost.
Obrázek 9: Prahování. Vlevo je originální obrázek pořízený digitální kamerou. Druhý zleva je obrázek, na který bylo aplikováno globální prahování. Takovýto obrázek nelze dobře dále zpracovávat. Třetí zleva je obrázek zpracovaný lokálním prahováním a zcela vpravo je ukázka prahování víceúrovňového.(Moravské přístroje a. s., 2012). Segmentace také může probíhat pomocí detekce hran. Jedná se o výkonnější metodu, než jakou je prahování, je totiž většinou obtížnější rozdělit obraz na koherentní objekty, než určit pouze jejich hrany za použití výhradně lokálních informací (Davies, 2005, s. 138). Hrany jsou místa s náhlou změnou jasu (Szeliski, 2010, s. 239). První derivace jasové funkce dosahuje na hraně svého maxima a druhá derivace tedy prochází nulou (Hlaváč a Sedláček, 1992, s. 62). Existuje několik nejpoužívanějších metod, literatura uvádí například Cannyho hranový detektor (Hlaváč a Sedláček, 1992, s. 65), detekci na základě průchodu druhé derivace obrazové funkce nulou (Moravské přístroje a. s., 2012), detekce hran na základě konvolučních masek apro-
2.2
Strojové vidění a učení
22
ximujících derivace obrazové funkce a další. Není smyslem této práce je podrobněji zmiňovat.
Obrázek 10: Obraz kuličkového ložiska a jeho hran detekovaných pomocí vyhodnocování diferencí jasu pixelů v prostředí Control Web/VisionLab (Moravské přístroje a. s., 2012). Poté, co jsou určeny hrany a celé objekty, tak se pomocí transformačního kódování zjišťuje, o jaké geometrické útvary se jedná. Objekty jsou většinou díky zachycení perspektivy na obrazu zdeformované. Jde tedy o lokalizaci: určení orientace, velikost (měřítka) a pozici v prostoru (Schiele a Fritz, 2012, s. 57). Obrázek (obr. 2D) zobrazuje základní rovinné operace, které jsou reverzně prováděny v této fázi rozpoznávání.
Obrázek 11: Základní rovinné transformace prováděné s nalezenými objekty. Translace, podobnost, otočení a afinní nebo perspektivní zobrazení (Szeliski, 2010, s. 311). Jakmile máme popsány objekty ve scéně, můžeme pokračovat porozuměním jejího obsahu (Šonka a Hlaváč, 1992, s. 15). To již je součástí vyšší úrovně a jedná se o největší výzvu celé oblasti. Na všechny předchozí oblasti existují více či méně výkonné algoritmy, nicméně dokonalý a univerzální smysluplný popis obrazu je zatím vlastní pouze člověku. Problém rozpoznávání můžeme rozdělit na několik druhů problémů (Szeliski, 2010, s. 657). Může se jednat o identifikaci (Schiele a Fritz, 2012, s. 57) nebo také
2.2
Strojové vidění a učení
23
rozpoznání instance (Szeliski, 2010, s. 357) – je to černý pes?“, segmentaci, tedy ” oddělení objektů od jejich pozadí nebo například lokalizaci objektu v obraze (Schiele a Fritz, 2012, s. 57). Největší výzvou pro počítačové vidění je klasifikace, kterou (Szeliski, 2010, s. 657) nazývá také detekce objektu – tedy jde o odpověď například na otázku: je to pes?“. Někdy nepotřebujeme na obraze přímo rozlišit o jaké objekty se ” jedná, při některý úlohách stačí například odlišit prvky pozadí od hledaných objektů, nebo rozlišit více druhů objektů podle jejich vlastností. Jedná se o jednoduchou klasifikaci.
Obrázek 12: Příklad jednoduché klasifikace objektů ze vzorů v prostředí Control Web/VisionLab (Moravské přístroje a. s., 2012). Jsme obklopeni světem plným objektu v nejrůznějších barvách, tvarech a podobách. Proto jednoduše není reálné při klasifikaci objektů srovnávat každý objekt s nekonečnou databází uložených vzorů. Tento postup je maximálně možný v případě velmi specializované úloze, kdy je objekt srovnáván pouze s několika vzory. Při porovnávání se totiž určuje míra souhlasu objektu se vzorem pro každé umístění a natočení (Šonka a Hlaváč, 1992, s. 130). Základní rozdíl mezi počítači a člověkem v otázce rozpoznávání je v tom, že počítače přirozeně nemají to, co u člověka nazýváme zkušenost, nebo učení“. Dnešní ” prostředky umělé inteligence používají strojové učení ke zdokonalování rozpoznávání (Szeliski, 2010, s. 714), stejně tak je tomu v dalších oblastech umělé inteligence.
2.2
Strojové vidění a učení
2.2.3
24
Strojové učení
Formální definici strojového učení vyslovil Tom Mitchell (Mitchell, 1997, s. 2): Schopnost počítače učit se ze zkušenosti E s ohledem na třídu úkolů T a výkon ” P. Pokud se jeho výkon na úkolech z T, měřeno podle P, zlepší se zkušeností E.“ Jde tedy o to, aby se stroj (agent) dokázal poučit“ ze svých minulých úspěchů ” a neúspěchů a při aktuálním řešení problému zohlednit své minulé výsledky. Russel a Norwig (Russel a Norvig, 2009, s. 650) uvádí tři možné přístupy při učení. Je to učení s učitelem, učení bez učitele a učení se zpětnou vazbou. V případě prvního má agent ve fázi učení určitou množinu trénovacích dat, která jsou včetně správných výsledků, ke kterým by měl také sám dojít. Učení bez učitele probíhá bez dat, ke kterým má agent výsledek. Agent se učí sám tím, že vyhledává společné znaky, které mají vstupní data a poté je shlukuje na základě těchto podobností (Slezák, 2008, s. 9). V případě učení se zpětnou vazbou se agent učí ze zpětné vazby, kterou mu dává své okolí, jako například taxikář, který nedostane spropitné (Russel a Norvig, 2009, s. 650).
Obrázek 13: Formální neuron (Šíma a Neruda, 1996, s. 24). Při učení strojů se používá matematický model biologického neuronu. Říká se mu perceptron nebo umělý neuron (Mařík a kol., 1993, s. 217). Jedná se o model, jehož výstup je ovlivněn vstupy a je 1, pokud intenzita vstupů překročila určitou hranici a došlo ke vzruchu“ neuronu, v opačném případě 0. Schéma formálního ” neuronu zobrazuje Obrázek 13. Jeden perceptron tedy umožňuje vstupy rozdělit na dvě množiny. To je v praxi málo a proto jsou neurony organizovány do sítí, které umožňují složitější úlohy. Obecně platí, že v síti je výstup jednoho neuronu zároveň vstupem několika neuronů (Šíma a Neruda, 1996, s. 29). Neuronové sítě jsou používány na učení s učitelem a to tak, že na základě výstupů na trénovacích datech jsou upravovány váhy jednotlivých vstupů, aby bylo dosaženo přímé skutečné závislosti výstupů na vstupech.
2.2
Strojové vidění a učení
2.2.4
25
Dostupné technologie
Vzhledem k tomu, že strojové vidění je oblast, která je čím dále více využívaná v nejrůznějších oblastech, jak bylo uvedeno v předchozích částech práce, stejně tak dynamicky jsou vytvářena prostředí k vývoji aplikací strojového vidění. Následující část představuje některé nástroje, které jsou využívány pro počítačové vidění. Fiji je open source balík pro zpracování obrazu založený na ImageJ (Wikipedia.org, 2012a). ImageJ je nástroj založený na programovacím jazyku Java. Jak ImageJ, tak Fiji byly původně určeny pro zpracování obrazu v medicínské oblasti, ImageJ byl vyvinut agenturou National Institutes of Healt, agenturou zodpovědnou za americký výzkum v této oblasti. Vzhledem k tomu, jak vývoj pokročil, začal být zajímavý i pro odborníky z dalších oblastí jako genetika, parazitologie a další. Fiji je distribucí ImageJ spolu s runtime prostředím Java a balíkem pluginů používaných mimo jiné pro strojové vidění (Fiji, 2012). Díky Javě je platformně nezávislý a je k němu k dispozici dostatečná dokumentace. Je k dispozici množství pluginů pro analýzu převážně biologických obrazových dat, od 2D až po 5D (šířka, výška, hloubka, alfa kanál, čas). Software disponuje všemi základními funkcemi pro preprocessing obrazu a pomocí pluginů je například možné natrénovat ve spolupráci se software WEKA (WEKA, 2009) klasifikaci částí obrazů, nebo například hledání objektů různých tvarů zadané velikosti. Velký důraz je u pluginů kladen na zpracování obrazových sekvencí a videa a tracking objektů v nich. AForge.NET je C# framework navržený pro strojové vidění a umělou inteligenci vydaný pod licencí LGPL4 (AForge.NET, 2012). Používá se pro zpracování obrazu, neuronové sítě, genetické algoritmy, fuzzy logiku, robotiku, strojové učení a další. Jedná se o sady knihoven pro jednotlivé oblasti, které je možno využívat jednotlivě. S nástrojem je spojena poměrně malá komunita uživatelů. Mnohem živější je vývoj kolem nástroje OpenCV. OpenCV (Open Computer Vision) je open-source nástroj pro strojové vidění a učení (openCV, 2012). Jedná se o knihovnu s rozhraním v jazyce C++, Python a Java, podporující Windows, Linux, Mac OS, iOS a Android. Vývoj knihovny byl iniciován společností Intel, nyní jej má ve správě Itseez. Domovská stránka projektu dále uvádí, že v balíku je obsaženo více než 2500 optimalizovaných algoritmů, které je možno použít pro rozpoznávání obličejů, identifikaci objektů, klasifikaci lidských pohybů ve videu, tracking kamery nebo objektů, extrakci 3D modelů objektů a další. OpenCV má velmi živou a poměrně velkou komunitu uživatelů. Podle (Bradski a Kaehler, 2008, s. 1) se jedná o nejpropracovanější nástroj pro strojové vidění. Kromě rozsáhlé dokumentace pro platformy Windows, Linux i Mac, je na oficiálních stránkách projektu (www.opencv.org) dostupné velké 4
GNU Lesser General Public License, licence svobodného softwaru, umožňující svobodné i komerční využití (Free Software Foundation, Inc., 2007).
2.2
Strojové vidění a učení
26
množství podpory pro mobilní platformy Android a iOS a to jak ve formě fulltextové dokumentace, návodů, tutoriálů hotových řešení nebo diskuzních fór. Control Web a VisionLab jsou produkty zlínské společnosti Moravské přístroje a. s. je , která se soustředí na vývoj a podporu technologicky vyspělých produktů ” v oblasti elektroniky a programového vybavení“ (Moravské přístroje, a.s., 2012). Její vlajkovou lodí je prostředí Control Web, které slouží k rychlému vývoji aplikací pro průmysl v oblasti řízení systémů. Control Web je vyvíjen společností již od jejího počátku v devadesátých letech. Jeho nástavbou je rozšíření VisionLab, které umožňuje vývoj aplikací pro strojové vidění. K těmto systémům také společnost vyvíjí a poskytuje hardware, především průmyslové počítače, sběrnice a kamery. Nástroje jsou komerční, nicméně vyvíjet lze také ve verzi Control Webu, která je zdarma ke stažení na stránkách výrobce. VisionLab je nutné zakoupit. K oběma nástrojům je vytvořena kompletní a vyčerpávající dokumentace, stejně tak jsou poskytovány se softwarem ukázkové úlohy k většině jeho základních funkcí. Vývojové prostředí Control Web se skládá ze 3 částí. Je to textový editor, grafický editor a datové inspektory. V textovém editoru lze programovat aplikaci pomocí zdrojového kódu. Automaticky generovaný kód je zde v reálném čase aktualizován. Grafický editor umožňuje tvůrci programu vytvářet uživatelské rozhraní. Vkládají se sem z palet nástrojů prvky programu a upravují se zde jejich vlastnosti. V datovém inspektoru se nachází veškeré datové proměnné a konstanty. V tomto manažeru hodnot lze také sledovat, které objekty k nim mají přístup. Aplikace tvořené v Control Webu se skládají z virtuálních přístrojů a datových elementů. Virtuální přístroje představují části řídícího systému, které pracují s datovými elementy. Systém v zásadě odlišuje dva typy aplikací a to aplikace fungující v reálném čase a aplikace řízené daty. Aplikace s reálným časováním jsou vhodné pro přímé řízení systémů a regulaci. Jsou mnohem citlivější na kvalitu návrhu. Aplikace řízené daty mají časování obstarané systémem Control Web a jsou značně jednodušší na návrh. Daty řízené ovládání aplikace je případem i této diplomové práce. Vision Builder je rozšíření systému Lab View americké firmy National Instruments pro strojové vidění. Lab View je návrhový software pro průmysl a výzkum, který umožňuje tvorbu a nasazení měřících a kontrolních systémů díky integraci hardwaru (Lab View, 2012). Jedná se o nástroj podobný Control Webu, nicméně je daleko rozsáhlejší a má také více doplňkových aplikací. Vision Builder je jen jedna z nich. Umožňuje, tak jako VisionLab průmyslovou inspekci pomocí strojového vidění. Komunikuje tedy s kamerami (nebo toto simuluje načtením jimi uložených obrazů) a pomocí dříve uvedených postupů umožňuje analýzu, vyhledání objektů, kontrolu orientace, měření velikosti, počítání objektů, hledání zmetků a samozřejmě další.
2.3
Definice problému
27
Robo Realm je aplikace umožňující počítačové vidění, analýzu obrazu a robotické systémy strojového vidění (RoboRealm, 2012). Jedná se o grafické prostředí pro Windows a umožnuje kombinaci mnoha dostupných modulů. Hlavní využití aplikace je v robotice, zaměřuje se na programování chování robotů na základě vizuálních vjemů. V nástroji je implementováno množství základních a pokročilých algoritmů počítačového vidění a je kolem něj vytvořena živá komunita uživatelů. Přestože primární využití RoboRealmu je robotika, je možné využít algoritmy, které nabízí a vytvořit tak aplikaci analyzující fotografie nebo video. K využití se nabízí detekce hran a objektů, detekce barev, vyhledávání vzorů, a samozřejmě k tomu potřebné nástroje pro preporocessing obrazu. Vytvářený program může komunikovat s okolím pomocí http protokolu, je možné vytvořit také klient–server aplikaci. Kromě toho RoboRealm nabízí práci s motory, servy, a vstupními zařízeními jako kamery nebo jiná čidla. V RoboRealm je možné programovat v jazycích VBScript, Python, a CScript.
2.3
Definice problému
Problémem řešeným v této práci je analýza fotografií podložky včelího úlu. Jde o úlohu strojového vidění a jejím výsledkem je určení počtu roztočů na dně úlu. Východiskem problému je aplikace, která řeší uvedený problém a je poskytnuta libovolnému uživateli. Bude uvažována jako součást systému umožňující správu dat spojených s managementem úlů a včelařské práce. 2.3.1
Stávající řešení problému
Oblast využití strojového vidění a obecně umělé inteligence ve včelařství je obecně velmi nepokrytá. Proběhlo několik výzkumů, které využívaly analýzu videa a klasifikaci buněk včelího díla k selekci na hygienické chování včel, nicméně jedná se o velmi ojedinělou záležitost. Samotná úloha počítání kleštíků na podložce je řešena programem VarroaDetect, jehož licencí disponuje Ing. Květoslav Čermák, CSc. Jedná se o Java applet, který načte adresář fotografií a provede analýzu obrazu. Čermák uvádí (Čermák, 2011, s. 16), že program má asi 5–10% odchylku. Dále uvádí, že se jedná pro něj o přijatelnou odchylku, s tím, že program má tendenci spíše podhodnocovat v případě shlukovaných samiček kleštíka. Uživatelské rozhraní ukazuje Obrázek 14. Program byl pro něj vytvořen na zakázku. Licenci k tomuto programu prodává za 1000 Kč. Více informací se i přes snahu o komunikaci s majitelem nepodařilo získat. Hlavní nevýhodou tohoto programu není nepřesnost, ale hlavně cena. V případě jiného řešení je nutné brát ohled jednak na cenu pro uživatele, jednak na snadnost použití. Zvýšení uživatelského komfortu přinese ovládání přes jednoduché webové rozhraní programu, ke kterému je pro čtení snadno možné přistupovat i z mobilního telefonu a automatické ukládání hodnot do databáze systému.
2.3
Definice problému
28
Obrázek 14: Uživatelské prostředí programu VarroaDetect dr. Čermáka CSc. (Čermák, 2011, s. 16). Již zmiňovaný Varroamonitoring system je řešením, které poskytuje pouze zaznamenávání hodnot, řeší tedy evidenci a zobrazování pouze těchto údajů, žádnou další funkci nemá. 2.3.2
Stávající řešení vedení úlové evidence
Na tomto místě uznal autor za vhodné stručně popsat také stávající řešení využití webových nebo mobilních aplikací v oblasti včelařství. Je to mimo jiné proto, že aplikace využívající strojové vidění je velmi obtížně využitelná jako samostatná aplikace a je velmi vhodné ji integrovat do rozsáhlejšího systému, který poskytuje více funkcí než pouze analýzu fotografií a uchování dat o počtu roztočů na nich. Z výzkumu souvisejícího s jedním ze vznikajících projektů vyplývá, že téměř všichni včelaři provádí vedení včelařských záznamů z prohlídek, liší se pouze způsob, jakým data z nich zaznamenávají (Mandík, 2012, str. 11). Někteří je uchovávají přímo na stanovišti a zaznamenávají přímo na úl pomocí křídy, kamínků, připínáčků, někteří zapisují data na papír, nebo do notebooku. Někteří včelaři zapisují své záznamy do excelových tabulek. V prvních dvou případech buď k archivaci nebo zaznamenávání do počítače nedochází vůbec, nebo většinou dávkově na konci sezóny, kdy není tolik práce v přímé souvislosti se včelami. Existuje také programy, které poskytují rámec pro vedení úlových záznamů. Vzhledem k trendům v IT se v případě starších programů jedná o desktopové aplikace, čím jsou programy novější, lze pozorovat tendenci od desktopu ustupovat k online řešení, k nimž je přidáváno také rozhraní v podobě aplikací do mobilních telefonů. Pravděpodobně nejstarším SW je program Bidata od dánského včelaře jménem Jorn Johanesson. Domovská stránka projektu je http://www.apimo.dk/. Jde o program pro vedení včelařských záznamů z prohlídek a pomůcka při chovu matek. Původně byl šířen komerčně za jednorázový poplatek, nicméně se později autor roz-
2.3
Definice problému
29
hodl šířit jej zdarma. Je dostupný v několika jazycích, kromě dánštiny a angličtiny také němčina, francouzština, čeština a několik dalších. Software není pravděpodobně od roku 2005 dále vyvíjen. Dalším poměrně propracovaným systémem je Beetight od anglického včelaře jménem Matthew Kane. Domovská stránka projektu je http://www.beetight.com/. Tento online systém umožňuje po registraci spravovat včelnice, včelstva a vést u nich úlovou evidenci. Disponuje jednoduchým grafickým rozhraním, které je vhodné i pro přístup z mobilního telefonu. Webové rozhraní je k dispozici v deseti jazykových mutacích, mezi nimiž je i čeština. Služba je dostupná ve dvou cenových pásmech. Webové rozhraní a až 6 úlů je možno používat zdarma. Pokud chce uživatel používat i mobilní aplikaci pro Android nebo iOS, nebo více stanovišť a úlů (až 1000), je nutné uhradit 15 dolarů ročně za tzv. PRO účet. Tato skutečnost je poskytovateli programu vyčítána jak na profiech aplikací na iTunes a Google Play, tak na včelařských fórech. Této otázce bude věnován prostor v části zaměřené na ekonomickou stránku aplikace.
Obrázek 15: Vlevo: webové rozhraní aplikace Beetight – náhled na evidenci včelstev (Beetight.com, 2010). Vpravo: screenshot úvodní obrazovky mobilní aplikace pro systém Android (Google Play, 2011). Pokusem o aplikaci umožňující vedení včelařského deníku je také aplikace iBeekeeper, která je prací německého včelaře jménem Marcel Gläser. Domovská stránka projektu je http://www.ibeekeper.de. Dle komentářů na iTunes se jedná o zajímavou aplikaci, která ale má plno nedostatků. Je dostupná pouze její placená verze za jednorázový poplatek 10 dolarů. Aplikace kromě správy deníku obsahuje také lexikon včelařských pojmů. Velmi zajímavým počinem je aplikce Beeper, respektive Beeper 2.0 od českého včelaře, studenta ČVUT v Praze, Ondřeje Mandíka. Domovská stránka projektu je http://www.ondramandik.com/beeper/. Jeho základním předpokladem je existence jak webového rozhraní, tak aplikace pro Android a jejich synchronizace, respektive sdílení databáze. Autor velmi progresivně bere v potaz jedno ze specifik včelařství a to jednak to, že včelař má při práci opravdu plné ruce práce“ a jednak ”
2.3
Definice problému
30
to, že je má často špinavé od vosku či propolisu, v horším případě je má v pracovních rukavicích. Proto, aby byl program opravdu užitečný a šetřil včelaři čas, nabízí kromě dotykového ovládání také kompletní hlasové ovládání aplikace. Kromě vedení včelařského deníku aplikace podle své webové prezentace nabízí také vedení evidence napadení roztočem varroa destructor a také evidenci a plánování chovu včelích královen libovolnou metodou. Autor programu Beeper nabízí včelařům, kteří se přidají k testování v laboratořích ČVUT licenci aplikace na rok zdarma. Podle domovské stránky probíhá testování, nicméně webová část aplikace není funkční a nepodařilo se získat aktuální autorovo vyjádření o stavu celého projektu.
Obrázek 16: Návrh architektury aplikace Beeper 2.0. Systém tvoří webová a mobilní aplikace. Mobilní aplikaci lze ovládat jak dotykem, tak hlasem (Mandík, 2012). Existuje ještě mnoho aplikací, které se danou problematikou zabývají a umoňují nějakým způsobem organizaci úlových deníků. Jde například o program Buzz (http://www.dataimagesoftware.net/bee.htm), webovou aplikaci MyBeeHives.com, případně HiveTracks.com, která poskytuje některé zajímavé grafické prvky a mapu. Dále je to Bee-Man (http://www.bcms.eidap.com/), který kromě klasické správy úlů a záznamů umožňuje například používání RFID a generování polepek na med v závislosti na zadaných údajích o medu. Program se skládá z desktopové a mobilní aplikace, nicméně potřebuje ke svému fungování speciální mobilní zařízení, který je nutno si od poskytovalete zakoupit. Profesionální nástroj Apitrack z Argentiny (http://www.apitrack.com/), který vedení úlového deníku má pouze jako jednu z vedlejších funkcí, je taktéž dostupný jako desktpová aplikace ve spojení se speciálním handheldem, který je nutno zakoupit. Systém umožňuje velkovčelařům také správu skladů zásob, techniky a další. Tyto programy, snad s výjimkou posledního zmíněného, však nenabízí žádnou významnou funkcionalitu v porovnání s těmi podrobněji popsanými, proto jim nebyl věnován větší prostor. Další využití automatizační techniky nabízí například Karlovarská společnost Apis Digital (http://www.apisdigital.cz/), která nabízí úlovou váhu EMMA. Tato digitální váha pomocí GSM modulu odesílá aktuální hmotnost úlu a tak může včelař sledovat měnící se data a adekvátně reagovat na odvozený zdravotní stav včel, ale hlavně na přirůstající zásoby a přesně tak načasovat vytáčení medu. Jako
2.3
Definice problému
31
Obrázek 17: Vlevo: Hardware úlové váhy Emma. Váha se záznamníkem, propojovací kabely a jejich alternativa GSM modem, ovladač a netbook s programem Apidi. Vpravo: ukázkové vážení elektronickou úlovou váhou Emma. Čáry zhruba v polovině grafu zobrazují aktuální hmotnosti 2 úlů, čáry v dolní části zobrazují aktuální naměřené teploty v úlech (Karásek a Karásek, 2012). doplňek systém také sleduje teplotu v úle. Autoři váhy a software uvádějí na webové prezentaci www.apisdigital.cz hlavní výhody použití jejich systému: Pro včelstvo osazené na váze je známo: • celoroční stav minimálních zásob pro dobrou vitalitu či havarijní nulu • bezpečně hmotnost zásob při podzimním krmení i s vlivem eventuelní loupeže • hmotnost zásob vzniklých pozdní snůškou po zakrmení • průběh zimování a průběh úbytku zásob i vlivem eventuelních mimořádností • stav zásob do jara, zejména před první snůškou, kdy je spotřeba nejvyšší • snůšková období a úseky proluk, pro stanovení optimálních termínů odběru medu • stav zásob v době snůšky a tím možný objem odběru, bez zbytečného rozebírání úlu Pro dvě či více vah na stanovišti lze provádět: • srovnávání strmosti nárůstu i celkový objem zásob více úlů navzájem • výběr nejvhodnějších vlastností včelstev pro šlechtitelské účely • porovnání průběhu a celkových výnosů včelstev navzájem mezi léty • čím více vah na stanovišti, tím objektivněji lze srovnávat úly nevážené
2.3
Definice problému
32
Pro více vah umístěných na více stanovištích lze provádět: • srovnávání grafů přínosu a volba termínú a pořadí stanovišť pro medobraní • srovnávání celých stanovišť pro účely posouzení kvality lokalit Základní cena systému (váha, ovladač se záznamníkem a USB adaptér) je necelých 10 000 Kč. Výrobci nicméně uvádí 1–2letou návratnost investice právě díky lepšímu načasování vytáčení medu a úspoře přímých dopravních nákladů, které odpadají díky vzdálenému dohledu pomocí GSM (Karásek a Karásek, 2011, s. 189). Pokud by byly započítány další přínosy (viz výše), návratnost by byla ještě rychlejší. 2.3.3
Definice navrhovaného řešení
V této sekci byl definován problém jako strojová analýza fotografie podložky včelího úlu za účelem zjištění počtu roztočů na ní. To v současné době dělá pouze jeden placený program, VarroaDetect. Projekt Varroamonitoring system (VMS) je dostupný zdarma, ale poskytuje pouze evidenci zamoření roztočem a jeho zobrazení na mapě. Aplikace pro vedení včelařského deníku jsou desktopové nebo webové a jsou poskytovány jak zdarma, tak za poplatek. Některé z nich také poskytují velmi jednoduchou evidenci zamoření roztočem, ovšem bez přidané hodnoty VMS. Navrhované řešení je vytvoření návrhu aplikace, která fotografie analyzuje a roztoče spočítá. Tato aplikace může být začleněna jako rozšíření do stávajících řešení vedení evidence zamoření roztočem varroa destructor, nebo může být vytvořena nová webová aplikace. Způsobem, jakým toho bude dosaženo, se zabývá kapitola Metodika.
3
METODIKA ŘEŠENÍ
3
33
Metodika řešení
V této kapitole jsou popsány konkrétní předpoklady řešení praktické části a metodiky, které byly používány. Nejprve je shrnut postup řešení úloh strojového vidění, dále je představena metodika, kterou je nutné pořizovat fotografie. Této otázce bude věnován také prostor v pozdějších částech práce. Dále tato kapitola popisuje způsob, jakým byl vybrán software, ve kterém bude zpracovávána a které kritéria byla rozhodující. Je vysvětlen způsob, kterým bude aplikace vytvářena, stejně tak jak bude vytvářen celý systém. Poslední část kapitoly se věnuje ekonomickému zhodnocení investice a pravidlům utváření obchodního modelu nabídky online služby. • Postup při řešení úloh strojového vidění • Určení metodiky pořízení fotografie • Analýza možností řešení problému – Nástroje dostupné zdarma * openCV * ImageJ – Komerční nástroje * VisionLab – Moravské přístroje a. s. * VisionBuilder – National Instruments * VisionPro – Cognex Corporation * RoboRealm – Výběr použité technologie pro částečnou implementaci • Popsání postupu tvorby řešení – Tvorba aplikace – Tvorba webového systému • Ekonomické zhodnocení – Výhoda používání aplikace včelaři – Možný model využití – Zhodnocení ekonomické návratnosti investice vybranými metodami * Čistá současná hodnota * Doba návratnosti
3.1
3.1
Postup při řešení úloh strojového vidění
34
Postup při řešení úloh strojového vidění
Z teoretické části práce vyplývá, že při analýze fotografií u strojového vidění je opakovaně uplatňován poměrně stejný postup. Po pořízení digitálního snímku je tento obraz připraven k analýze pomocí preprocessingu a poté je analyzován. Analýza proběhne buď úspěšně a je znám výsledek dotazu“, nebo jeden z jejích kroků selže. Poté ” závisí na kvalitě aplikace, jestli uživatel vždy pozná, v čem se analýza nepodařila. Příprava na analýzu probíhá v závislosti na typu analýzy. Některé algoritmy klasifikace objektů podle vzorů pracují jak s barevnými, tak černobílými obrazy, některé algoritmy pracují pouze s černobílými. Před zpracováním je z obrazových dat pokud možno odstraněn šum pomocí obvyklých metod. Dále je provedena detekce hran a objektů. Tato úloha bude řešena pomocí klasifikace vzorů. Ta probíhá ve dvou fázích, fáze učení a fáze rozpoznávání. Při vytváření aplikace jsou tedy načteny vzory, které dostatečně reprezentují hledaný objekt. Při používání aplikace jsou tyto vzory vyhledávány v předkládaných obrazových datech. Při implementaci bude nutné brát v úvahu skutečnost, že fotografie nebudou pořizovány za totožných podmínek, ani totožnou technikou. Při testování bude tedy potřeba tato specifika úlohy řešit.
3.2
Metodika pořízení fotografie
Pro další práci v analýze fotografie je zásadní, jakým způsobem je obraz pořízen. V případě, že fotografie podložky s roztoči nebude splňovat některé základní požadavky, její rozpoznání bude buď nepřesné, nebo nemožné. Oba případy jsou nežádoucí, a nelze jednoznačně říci, že druhý by byl horší než první. Pro uživatele je někdy lepší informace o tom, že se analýza nepovedla, než její nepřesný výsledek, aniž by o tom uživatel věděl. Oběma stavům bude proto nezbytné v co největším počtu případů předejít kvalitním digitálním obrazem. To znamená, že je vhodné představit požadavky na obraz tak, aby uživatelé mohli pořídit vlastní fotografie podložky a zároveň s nimi program bez problémů pracoval. V průmyslové inspekci, která je častou aplikací strojového vidění v této podobě, je totiž obvyklé, že pro software provádějící analýzu obrazu jsou vytvořeny uniformní podmínky pro každý ze snímků. Jde hlavně o osvětlení a vzdálenost objektu od kamery. Většina systémů se snaží vytvořit stejné osvětlení, aby aplikace analyzující fotografii mohla vycházet z podobných dat. Druhým znakem je vzdálenost objektu a kamery. V případě, že je snímán například běžící pás se součástkami, nebo přepravka v automatu na vracení lahví přerušující světelnou závoru, je velmi jednoduché pořídit snímky ze stejné vzdálenosti. Tím, že každou dávku fotografií podložek bude pořizovat jiný člověk za pravděpodobně zcela jiných světelných podmínek, celá problematika je tomto případě mnohem složitější. Je proto nutné, aby fotografie alespoň splňovaly nějaké podmínky,
3.3
Analýza možností řešení problému
35
tak aby mohla analýza proběhnout. Budou zohledňovány 4 základní požadavky na ně: • Velikost a rozlišení • Osvětlení • Provedení podložky • Použití stativu
3.3
Analýza možností řešení problému
Jak bylo uvedeno v kapitole Teoretická východiska na straně 25, možností prostředí k vývoji aplikace je několik. Jsou to jak nástroje s otevřenou licencí, tak nástroje komerční. Většina z nich disponuje knihovnami pro některé rozšířené programovací jazyky (frameworky), tedy C++, JAVA, VBS či .NET. Původně uvažované nástroje byly tyto: • Nástroje dostupné zdarma – openCV – ImageJ • Komerční nástroje – VisionLab – Moravské přístroje a. s. – VisionBuilder – National Instruments – VisionPro – Cognex Corporation – PoboRealm Při výběru nástroje pro vývoj aplikace, která je předmětem této práce, tedy připadlo v úvahu několik rozšířených prostředí, která jsou používána na řešení úloh ve spojitosti s počítačovým viděním. Výběr použité technologie probíhal jednak v závislosti na dostupnosti software, jednak v závislosti na splnění kritérií, která byla položena. 3.3.1
Komplexnost
Zásadní požadavkem byla komplexnost, tedy poskytnutí kompletního řešení jedním nástrojem. Dalšími požadavky byla multiplatformnost, respektive platformní nezávislost, nebo alespoň možnost, aby aplikace mohla být využívána na principu klientserver. Doplňkové kritérium výběru byl snadný vývoj aplikace a jejího uživatelského rozhraní. V případě, že na aplikaci pohlížíme pouze jako na samostatný (stand—alone) program, a ne jako na službu (viz níže), komplexnost řešení jedním nástrojem splňují
3.3
Analýza možností řešení problému
36
z těch srovnávaných nástroje OpenCV, VisionLab a VisionBuilder. Tento nárok splňují všechny nástroje, respektive ve všech nástrojích je reálné vytvořit aplikaci, která bude analyzovat fotografii, pracovat s databází a poskytovat rozhraní pro webovou aplikaci, která bude fotografie načítat. Pokud bychom uvažovali, že analýzu obrazu strojovým viděním chceme poskytnout jako službu, další programové vybavení by bylo pravděpodobně potřeba použít v každém případě, i když Control Web, jehož je VisionLab nástavbou, jednoduché generování webového rozhraní umožňuje. S komplexností také souvisí podpora při vývoji. Jak již bylo uvedeno, OpenCV je vyvíjen a podporován komunitou, tedy prostřednictvím diskusních fór a Google groups, komerční nástroje jsou naopak vyvíjeny stabilní společností a poskytují profesionální podporu. To jednak snižuje časové náklady na vývoj software, jednak průmyslově využívané aplikace mají vysoké nároky na kvalitu, proto je pravděpodobné, že tyto nástroje budou splňovat o něco vyšší požadavky. 3.3.2
Přenositelnost
Dalším rozhodovacím kritériem byla platformní nezávislost. Pomocí nástroje OpenCV lze vytvořit aplikaci v jazyce JAVA, která jako applet lze používat v jakémkoli běžně používaném operačním systému. Jako velmi lákavá se jevila i skutečnost, že nástroj přirozeně podporuje vývoj aplikací pro mobilní platformy Android a iOS. Řešení tohoto problému mobilní aplikací by bylo jistě velmi elegantní a konkurenceschopné, nicméně fotoaparáty současných běžných mobilních telefonů zatím nedosahují dostatečných rozlišení, která by byla potřeba pro hladkou analýzu, jak vyplývá z textu výše. Této otázce bude ještě věnován prostor zabývající se možnými rozšířeními a budoucím rozvojem. Dva komerční nástroje představené v teoretické části platformní nezávislost nenabízejí. Společnost National Instruments sice poskytuje svůj hlavní software Lab View pro Windows, Linux i iOS, nicméně Vision Builder je pouze pro Windows. Moravské přístroje a. s. používají pouze platformu Windows. Tyto nástroje je možné ale využít pro řešení typu klient—server a v tomto případě by nezáleželo, odkud klient k aplikaci přistupuje. OpenCV tuto možnost samozřejmě také skýtá. Doplňkovým kritériem byl také komfort při tvoření aplikace. V této otázce mají velkou výhodu uvedené komerční nástroje, protože poskytují vývojové prostředí, které podporuje rychlý vývoj aplikací (Rapid Application Development – RAD). Jak v nástroji VisionLab, tak ve VisionBuilderu se aplikace sestává z posloupnosti kroků. Ty je možné vybírat z připravených kategorizovaných palet a vkládat do konkrétní aplikace. Zdrojový kód aplikace je automaticky generován a upravován. Po nastavení parametrů každého z kroků pomocí GUI je možné je ihned vyzkoušet na konkrétní fotografii a poté buď pokračovat dalším krokem, nebo naopak úpravou parametrů kroku stávajícího. Naproti tomu v OpenCV je nutné aplikaci programovat. Existují samozřejmě vývojová prostředí, která tvorbu aplikací zrychlí a zjednoduší vývoj, jako například IDE Eclipse, Borland Builder a další. Lze také použít velké množství připravených knihoven a tutoriálů, nicméně jde stále o psaní programového kódu.
3.3
Analýza možností řešení problému
3.3.3
37
Cena
Posledním rozhodovacím kritériem, které nebylo zmíněno v teoretické části práce záměrně, je odpověď na otázku, jestli aplikace bude využita komerčně či nikoliv. V případě, že by byla aplikace využita nekomerčně pro volné použití včelaři, pravděpodobně by bez nějakého grantu nebylo reálné použít komerční software. V případě zamýšleného budoucího komerčního využití by připadaly v úvahu i placené programy. Ceny jednotlivých nástrojů: • OpenCV : zdarma pro komerční i nekomerční použití • Fiji: zdarma pro komerční i nekomerční použití • VisionLab: 55 150 Kč + DPH – Control Web 6.1 Vývojová verze: 23 900 Kč + DPH – Control Web 6.1 Runtime: 7150 Kč + DPH – VisionLab: 24 100 Kč + DPH • Vision Builder: 65 690 Kč + DPH – NI Vision Builder AI: 47 900 Kč + DPH – NI Vision Builder AI Run-Time License: 17 790 Kč + DPH • VisionPro – VisionPro: 30 dní demo, poté je nutné zakoupit licenci5 • RoboRealm: 1000 nebo 3200 Kč + DPH – RoboRealm Personal: $49.95 (3200 Kč + DPH @ 20 Kč/$1) nebo – RoboRealm Commercial: $159.9 (3200 Kč + DPH @ 20 Kč/$1) OpenCV, které je vydáno pod BSD licencí6 je možné využít jak pro nekomerční, tak pro komerční účely. K ostrému použití kupovaných nástrojů je nutné koupit vždy runtime verzi, nezáleží na tom, jestli je aplikace využita komerčně, či nikoliv. Vzhledem k nedostatečnému pokrytí trhu v této oblasti a zároveň potenciální vysoké poptávce po službě se autor rozhodl dále uvažovat i placené nástroje. V případě kvality aplikace je reálné buď získání grantu na pořízení software, nebo ko5 Cena je určována individuálně, emailovou komunikací se ji pro dané použití konkrétně zjistit nepodařilo. 6 Berkeley Software Distribution licence je licence pro svobodný software, mezi kterými je ” jednou z nejsvobodnějších. Umožňuje volné šíření licencovaného obsahu, přičemž vyžaduje pouze uvedení autora a informace o licenci, spolu s upozorněním na zřeknutí se odpovědnosti za dílo.“ (Wikipedia.org, 2012b)
3.4
Postup tvorby systému
38
merčního využití aplikace. V každém případě použití je ale nutné důsledně právně ošetřit takovéto počínání, aby nedošlo k narušení autorských práv Mendelovy univerzity v Brně, která ji vzniknou podle Autorského zákona (Česko, 2000, § 60) v rámci školního díla. V případě komerčního využití musí být také dosaženo zajímavějšího obchodního modelu, než je tomu v případě programu VarroaDetect nebo Beetight. 3.3.4
Výběr použité technologie pro částečnou implementaci
Na základě popsaných kritérií bylo rozhodováno mezi těmito technologiemi: • VisionLab • Vision Builder Přestože Mendelova univerzita v Brně disponuje licencí programu VisionLab společnosti Moravské přístroje a.s. a bylo jej k řešení úlohy možno jednoduše použít, a přestože program Vision Builder společnosti National Instruments se autorovi podařilo získat pouze v trial verzi (plně funkční verze omezená pouze časem použití), autor se rozhodl částečnou implementaci realizovat v prostředí Visual Builder. V neprospěch“ Vision Builderu byla také jeho cena, jedná se o produkt, který je ” asi o 10 000 Kč dražší. Autor mohl oba systémy porovnat a vyzkoušet si tak jednak kvalitu, jednak user experience“. Ty mluvily jasně v prospěch nástroje od firmy National Instru” ments. Další popisy budou tedy uváděny s ohledem na tento program, navrhovaná aplikace byla částečně implementována nástrojem Vision Builder.
3.4 3.4.1
Postup tvorby systému Tvorba aplikace
Jedním z rozdílů mezi vývojovým prostředím programů VisionLab a Vision Builder je to, že uživatelské prostředí ve VisionLabu, resp. nadřazenému Control Webu si uživatel volí sám. To neplatí ve Vision Builderu. Ten má přednastavené inspekční prostředí, ve kterém dochází k analýze fotografií. Lze jej upravit, ale je možné využít výchozí podobu. Uživatel tak nemusí nic navrhovat a nastavovat. Tvorba nástroji Vision Builder probíhá v grafickém prostředí, tak jak je ukázáno na Obrázku 18. Struktura aplikace je vizualizována jejím stavovým diagramem v pravém horním rohu vývojového prostředí. V pravém dolním rohu jsou zobrazeny nabízené funkce a kroky aplikace a také jsou tam upravovány jejich parametry. V dolní části vývojové obrazovky se zobrazuje posloupnost kroků, které jsou vykonávány při běhu aplikace spolu s jejich výsledkem (PASS/FAIL). Hlavní prostor zaujímá vnořené okno s právě zpracovávanou fotografií. Jak bylo uvedeno dříve, aplikace bude roztoče hledat pomocí statistické klasifikace vzorů, budou použity neuronové sítě, konkrétně učení s učitelem. Poté, co
3.4
Postup tvorby systému
39
Obrázek 18: Vývojové prostředí Vision Builder. 1. Hlavní okno s výstupem kamery nebo načteným obrázkem. 2. Okno se stavovým diagramem aplikace. 3. Paleta inspekčních kroků. 4. Okno konfigurace stavů. (NI Vision, 2009, s. 18) bude fotografie načtena, je potřeba určit provést redukci šumu a drobné úpravy histogramu. Po určení orientace os je možné přesná lokalizace regionu zájmu (ROI), tedy místa, kde bude porovnávání se vzory probíhat. Až bude tato oblast určena, je možné pokračovat pomocí detekce hran určit objekty. Ty jsou postupně porovnávány s uloženými vzory. Vision Builder vzory uchovává ve speciálním souboru s příponou .clf. Během trénování aplikace budou další nerozpoznané vzory ukládány a soubor se vzory tak rozšiřován. Stejně tak budou ošetřovány negativní klasifikace, tedy případy, kdy bude objekt identifikován jako roztoč, přitom jím nebude. Aplikace bude v zásadě provádět nejjednodušší klasifikaci: bude rozeznávat pouze dva typy objektů. Tedy roztoče a objekty, které roztoči nejsou. Iterativním porovnáváním budou všechny detekované objekty porovnány se vzory a v případě shody s nějakým vzorem bude počítadlo roztočů zvětšeno o jednotku. Až budou porovnány všechny objekty, inspekce se ukončí a na výstup jde jednak informace o úspěšnosti inspekce (PASS/FAIL), jednak počet nalezených objektů. Výstupy analýzy (úspěch a počet) je třeba zobrazit, v ideálním případě je uložit přímo ke konkrétnímu úlu do příslušné databáze. Po natrénování bude aplikace připravena na reálná data a spuštění ostrého provozu.
3.5
Ekonomické zhodnocení
3.5
40
Ekonomické zhodnocení
Vzhledem k zaměření studia autora práce je do ní zařazena také ekonomická stránka problému. Protože jedna z variant je ta, že aplikace bude nabízena komerčně, je vhodné v rámci práce navrhnout také použitý obchodní model. Předpokladem další části je tedy komerční využití, nicméně není zcela jisté, že tomu tak bude. Jak vyplývá z teoretické části, problém s roztočem varroa destructor se netýká pouze České republiky, proto bude nabízen pomocí webového rozhraní ve více jazykových mutacích. Při vývoji celého systému bude od začátku kladen důraz na ne” omezený“ počet používaných jazyků. Základní verze webového systému poskytující uživateli rozhraní ke komunikaci s aplikací bude mít většinu funkcionalit shodných nebo podobných s webovým systémem VMS (www.varroamonitoring.cz). Nepůjde o kopii, protože stávající VMS poskytuje uživateli k webovému uchování informací o spadu opravdu pouze nejnutnější funkce, použijeme-li terminologii Unified Process, jedná se o must-have požadavky pro jakýkoli podobný systém. V případě dalšího rozšíření o další funkce, jako například vedení úlového deníku, zvláště ve spojení s využitím mobilních telefonů se bude jednat o kompletně odlišný systém, protože důraz bude položen na jiné funkce. 3.5.1
Výhoda používání aplikace včelaři
Jak bylo uvedeno dříve, jedním z důvodů neprovádění varramonitoringu je kromě neinformovanosti také časová náročnost této činnosti. Počítání roztočů na jedné podložce zabere asi jednu minutu až dvě, v závislosti na zkušenosti a samozřejmě počtu roztočů. V případě jednotlivých kusů až desítek se tedy nejedná o zcela zásadní úsporu času, která by drobným včelařům ušetřila hodiny času měsíčně, nicméně pořízení fotografie i s umístěním podložky do stativu je otázka vteřin. Trochu jiná situace je u profesionálních včelařů, kteří mají více než 100 včelstev, u kterých je informovanost o jejich zdravotním stavu zásadní. Ti několik hodin týdně ušetřených počítáním roztočů na podložkách mohou využít mnohem efektivněji. A zcela jiná časová úspora je v případě velkých spadů po aplikaci léčiv. Po léčení na podložku padají stovky roztočů a jejich počítání je velmi náročné nejen časově, ale i fyzicky. V této fázi přichází největší význam aplikace – urychlení počítání roztočů na podložce. Údaje o počtu je potřeba ale někam ukládat. Pro racionální včelaření je kromě varroamonitoringu více než užitečné zaznamenávat si další nejrůznější údaje. Je to minimálně vedení včelařského deníku, jak bylo uvedeno dříve v této kapitole. V případě, že je deník veden křídou na stěnu úlu, tato aplikace velkou výhodu včelaři nepřináší. Pokud je ale veden v počítači nebo mobilním telefonu (mobilním zařízení obecně) a to online, velký přínos aplikace je ukládání hodnot přímo do příslušné tabulky v databázi. Počty roztočů jsou díky jednoznačné identifikaci úlu pomocí 1D nebo 2D čárových kódů (EAN, QR, Datamatrix) uloženy automaticky bez dalších mezikroků. Tato funkce včelaři ušetří další hodiny práce měsíčně, protože nedochází k žádnému přepisování čísel z papíru do formulářů. Spolu v kombinaci s dalšími funkcemi navrhovaného systému včelař
3.5
Ekonomické zhodnocení
41
papírové záznamy potřebovat nebude vůbec. To je největší výhoda pro jakéhokoli uživatele. V případě spojení aplikace s nějakým systémem vedení včelařské evidence nebo systémem podobným VMS se tak jedná o potenciálně velmi žádaný nástroj, jehož úspěšnost bude záviset kromě kvality analýzy programu také na komerčním modelu a marketingu. 3.5.2
Možný model využití
Přestože aplikace samotná bude pro včelaře užitečná (jako je užitečný například program VarroaDetect), její přidaná hodnota se násobně zvětší v kombinaci s dalšími funkcemi. Reálně propojitelné funkce nabízí služby Varroamonitoring system, Beetight a Beeper 2.0. Z hlediska psychologického i ekonomického autor považuje jednorázové poplatky za méně vhodné než pravidelné paušální platby. Tento model se také velmi často objevuje u online poskytovaných služeb. Proto při uvažování modelu nabídky bude dále uvažována paušální pravidelná platba za nabízenou službu, nikoliv jednorázová platba při uzavření smlouvy. Autor vychází z vlastní zkušenosti. Pro uživatele–zákazníka je přijatelnější a často reálnější zaplatit pravidelně několikrát menší částku než jednu velkou. Tak se rozmělňuje cena a za několik let tak uživatel zaplatí víc, než by byl ochoten nebo i schopen zaplatit jednorázově. Pro zákazníka i podnik je tato varianta výhodná. Také z hlediska cashflow firmy je dlouhodoběji výhodnější mít pravidelný příjem přibližně stejné výše, než mít příjem možná vyšší, ale zato velmi nepravidelný a hlavně nepredikovatelný. Toto jisté podnikatelské riziko je zmenšováno v případě paušálu a smluv obnovujících se automaticky po skončení. Tak podnik může dopředu o něco lépe odhadovat, jaké budou jeho příjmy a může tak lépe optimalizovat. To jsou hlavní důvody, proč jakákoliv platba spojená se zamýšleným produktem nebude jednorázová, ale pravidelná. Další prvek, kterou bude služba vždy poskytovat, je čas na rozmyšlenou a možnost si všechno vyzkoušet. Tedy dát uživateli–zákazníkovi možnost si zdarma produkt vyzkoušet a nechat na něm, jestli je ochoten za nabízené zaplatit tolik, kolik je po něm požadováno. To je také poměrně často používaná praxe v případě úspěšných business modelů online poskytovaných služeb. Konkrétně to znamená například více tarifních pásem“ podle požadovaných služeb s detailním popisem. Přitom platí, že ” základní verze, poskytující jenom elementární prvky služby, je zdarma nebo za symbolický poplatek. Je možné se také setkat s variantou, že toto pásmo poskytuje také všechny prvky služby, zato ale základního rozsahu. Tedy v případě varroamonitoringu by základní verze například umožňovala monitorování pouze několika málo úlů (1–5), přičemž vyšší tarify by jich umožňovaly daleko více. Příklad času na ” rozmyšlenou“ je to, že při registraci je uživateli nabídnut vyšší tarif na zkoušku“ ” zdarma s tím, že si může vyzkoušet, jestli by se službou byl spokojen natolik, aby za ni zaplatil, nebo se spokojí s tarifem zdarma.
3.5
42
Ekonomické zhodnocení
Po zvolení systému nabízených pásem je vhodné zamyslet se nad tím, jaké jsou mezi včelaři – potenciálními zákazníky – skupiny, a kolik jsou ochotny za službu zaplatit. Tak jako ve většině ostatních oblastí, drtivá většina není ochotna zaplatit nic a chce využívat službu, pouze, když ji bude mít zdarma. Dále jsou to včelaři, jejichž významným zdrojem příjmu je včelaření a jsou za zjednodušení jejich práce ochotní něco zaplatit a další skupina, která závisí pouze na včelaření, svou činnost optimalizovat potřebuje a v případě zajímavosti investice“ pro ně je přípustné za ” kvalitní službu zaplatit. Proto budou dále uvažovány tyto tři hlavní skupiny, přičemž pravděpodobně bude vytvořeno ještě několik (1–3) podskupin. Vzhledem k tomu, že autor je sám nevčelař a většinu informací má buď získánu z literatury nebo intuitivně odvozenu, je velmi pravděpodobné, že navržený systém a model obchodu bude v případě použití nutno upravovat a vylaďovat ve smyslu reálných potřeb. Vhodné bude také zahrnout praktikující“ včelaře do celého procesu ” vývoje služby včetně testování. Protože smyslem této práce je zjednodušení varroamonitoringu obecně, je velmi pravděpodobné, že aplikace zprostředkovávající strojové vidění pro analýzu fotografií podložek bude v dostupná každém z tarifních pásem, tedy zdarma. Primárním cílem není v tomto případě zisk, ale rozšíření řad včelařů, kteří varroamonitoring provádějí. 3.5.3
Zhodnocení ekonomické efektivity investice vybranými metodami
K tomu, aby bylo možno určit, zda je investice pro podnik vůbec reálně výnosná, je používáno několik metod pro výpočet ekonomické efektivity investic. V této práci budou použity dvě z nejpoužívanějších a to metoda čisté současné hodnoty a metoda výpočtu doby návratnosti. Čistá současná hodnota Metoda čisté současné hodnoty je metoda, která umožňuje určit, jaký je rozdíl mezi vynaloženými výdaji na investici a příjmy, které investice přinese. Vzhledem ke snižování hodnoty peněz v čase se budoucí příjmy diskontují. SH =
n ∑
CFt − KV t t=1 (1 + i)
kde: • t je příslušný rok • n je životnost investice • i je diskontní míra • CFt je předpokládaný cashflow v roce t a • KV jsou kapitálové výdaje
(1)
3.5
Ekonomické zhodnocení
43
V případě, že SH investice je větší než nula, investici je vhodné realizovat, v případě srovnávání dvou nebo více investic je výhodnější ta, která má SH vyšší. Doba návratnosti Doba návratnosti ukazuje, za jak dlouho se počáteční náklady do projektu při odhadu budoucích příjmů vrátí. Jedná se o metodu, která je ve srovnání s některými dalšími někdy považována za méně významnou, protože znevýhodňuje strategické podnikové investice, které jsou často charakterizovány pozvolným nástupem příjmů a zvýhodňuje ty, které mají rychlou dobu návratnosti. V případě této práce ale tato námitka není na místě, pokud by ale tato investice byla realizována a nabídka služby spuštěna, je sice pravděpodobné, že nástup příjmů bude pozvolný, nicméně stejně nejde o výpočet, který by měl rozhodovat o tom, jestli investice bude realizována nebo ne.
4
4
REALIZACE
44
Realizace
Nejprve bude popsána částečná implementace aplikace vytvořená v prostředí Vision Builder. Aplikace pro analýzu fotografií podložek nebude nabízena samostatně, ale jako součást systému, který bude online. Uživatel bude mít přístup k rozhraní aplikace pomocí webového prohlížeče. Následuje specifikace požadavků na tento systém podle Standardu ANSI/IEEE číslo 830-1984 pro specifikaci softwarových požadavků. Poté bude popsána provedená analýza systému a také jeho návrh. Budou dodrženy standardy UML 2.0 a metodiky Unified Process. Obrázek 19 ilustruje schéma a použití systému.
Obrázek 19: Schéma a použití navrhovaného systému. Součástí jsou webový, datábázový a aplikační server s runtime verzí software Vison Builder.
4.1
4.1
Tvorba aplikace v prostředí Vision Builder
45
Tvorba aplikace v prostředí Vision Builder
Visual Builder (dále také VB) projekty v něm vytvářené nazývá Inspections, tedy inspekce. Základním předpokladem každé inspekce je obdržení obrazu. Program umožňuje pracovat jak soubory obdrženými po IEEE 1394, Ethernet, USB nebo z IP kamery, tak se soubory uloženými na disku. V případě této aplikace budou soubory obdrženy z webového rozhraní, které bude simulovat gigabitový Ethernet. Pro potřeby částečné implementace se soubory načítají z disku. Po načetní obrazu fotografie je nezbytné určit oblast, kde se objekty budou vyhledávat, tedy region zájmu (dále také ROI). Nezajímá nás totiž při inspekci celá fotografie, ale pouze vnitřek podložky. Jak bude ukázáno dále v této kapitole, je pro zpracování dobré, když obraz není zdeformovaný tím, že byl pořízen zblízka. Předtím je ale provedena úprava obrazu. Vision Builder umožňuje jednoduchou práci s jasem, kontrasem a alfa kanálem. Práce s kontrastem a jasem měla ve výsledku vliv na asi 8
Obrázek 20: Vlevo: obrázek před úpravou. Uprostřed: upravený obrázek. Vpravo: nastavení jasu obrázku ve Vision Assistant. Vision Builder pracuje s ROI ve tvaru bodu, linky, obdélníku, který může být otočen, oválu a mezikrůží, které může mít výseč. Pro určení ROI – vnitřku podložky – použijeme nejprve funkci detekce hran. V obdélníku umístěném v levém horním rohu nejprve hledáme první svislou hranu zprava doleva, přičemž bereme v úvahu pouze přechody ze světlé do tmavé. V podobném obdélníku hledáme první vodorovný přechod ze světlé do tmavé zdola nahoru, viz Obrázek 21. Obdélníky detekující hrany jsou voleny dostatečně velké, aby fungovaly obecně i v případě, že uživatel fotografii vyfotí ne zcela přesně. Pokud jsou obě hrany určeny v pořádku, je nalezen jejich průsečík. Stejný postup hledání hran je aplikován také v pravém dolním rohu. V tomto případě ale hledáme první hranu zleva doprava, respektive shora dolů. Po určení průsečíku dolních hran dostáváme druhý rohový bod hledaného regionu zájmu. Můžeme jej tedy vytvořit.
4.1
Tvorba aplikace v prostředí Vision Builder
46
Obrázek 21: Detekce hran pro vytvoření regionu zájmu (ROI). V plné implementaci aplikace dojde také k načtení 2D čárového kódu QR7 nebo Data Matrix. Tento kód jednoznačně určí daný úl včelaře a bude buď nějakým vnitřním označením, nebo půjde o oficiální registrační číslo úlu. Je vhodné, aby se kód nacházel v dolní části podložky, na fotografii tedy bude napravo. Identifikace úlu je důležitá pro automatické uložení zjištěných výsledků do databáze, ale není to nezbytný krok. Uživatel bude upozorněn, že u příslušné fotografie se identifikace nazdařila a bude nutné ji provést ručně. Testovací podložka na fotografiích v této práci má uprostřed Data Matrix kód. Měl sloužit k určení orientace podložky. V praxi se ale neosvědčil, proto v navrhované výsledné podložce nebude. Data Matrix kódy v rozích podložky slouží k určení rohu o který se jedná, v případě, že podložka bude složena ze dvou nebo 4 fotografií. V této práci při částečné implmentaci s tímto není počítáno, aplikace pracuje pouze s fotografií celé podložky. Vzhledem k výsledkům ale není vyloučeno, že bude nutné je použít při kompletní implementaci. Určení ROI má vliv na přesnost výsledků, je možné že v případě prohledávání celého obrazu by mohlo dojít k nějaké chybě v určení počtu roztočů. Hlavní důvod zmenšení sledovaného regionu je ale zvýšení rychlosti. Na vysoce kontrastním pozadí podložky je v reálu několik stovek až tisíců objektů, které je potřeba klasifikovat. Pokud bychom nevyjmuli pouze vnitřek podložky, ale hledali objekty v celém obraze, podle podmínek by jich tam mohlo být i několikrát více. Nejde tak ani o tmavé okraje, ale o jejich okolí, kde může být předem nedefinovaný obsah. Následuje klasifikace nalezených objektů. Objekty je možné prahovat a tak upravovat, jaké objekty budou brány v úvahu, ať již jde o jejich jas nebo velikost. Samotná klasifikace se děje pomocí neuronových sítí. V samostatném .clf (classifier file) souboru jsou uloženy vzory tříd. Nestačí pouze jedna třída, pro přesnější rozpoznávání je lepší použít minimálně dvě. Jedna slouží jako třída pozitivně rozpoznaných roztočů, druhá třída byla vytvořena pro falešné pozitivní rozpoznání (tedy objekty rozpoznané jako roztoč, přestože jím nejsou). Po přidání falešně pozitivních rozpoznání do příslušné třídy se klasifikace znatelně zlepšila. 7
Quick response
4.1
Tvorba aplikace v prostředí Vision Builder
47
Na začátku a po každé změně klasifikačního souboru .clf je potřeba pro rozpoznávání klasifikátor natrénovat (kliknutím na příslušné tlačítko) na aktuální vzory. Vision Builder pracuje s metodami • Nearest Neighbor • K-Nearest Neighbor • Minimum Mean Distance V aplikaci je použita klasifikační metoda Minimum Mean Distance8 s metrikou Sum9 . Fungování a princip této metody popisuje například (Fisher et al., 2000). U každého objektu, který je klasifikován, jsou zobrazovány mimo jiné dva paramatry: hodnocení klasifikace (Classification Score) a hodnocení identifikace (Identification Score). Klasifikace říká, s jakou určitostí objekt patří do dané třídy a ne do jiné, indentifikace určuje míru shody vzorku s objekty třídy do které je klasifikován. Ukázka úspěšné klasifikace je zobrazena na Obrázku 22. Práh těchoto hodnot pro uznání lze nastavit pro obě klasifikované třídy. Tím lze ovlivňovat přísnost“ ” klasifikace.
Obrázek 22: Ukázka Classification Score a Identification Score pro jeden exemplář roztoče varroa destructor. Ve VB lze pracovat s proměnnými velmi jednoduše pomocí správce proměnných (Variable Manager). Výsledek každé operace je uložen do systémové proměnné, odkud ho lze jednoduše přiřadit do uživatelské proměnné. S výsledkem klasifikace (počtem nalezených roztočů), stejně tak se souřadnicemi ROI získaných pomocí průsečíku hran lze jednoduše dále pracovat. Výsledek klasifikace je ukládán do proměnné nalezenoVD. 8
Metoda efektivní v aplikacích, které mají malou nebo nulovou variabilitu vzorku. Při použití této metody je vstup klasifikován na základě vzdálenosti od středu každé třídy (National Instruments, 2009). 9 Nejčastěji používaná metrika. Známá také jako Manhattanská. Vzdálenost dvou bodů je rovna absolutní hodnotě rozdílu jejich vzdáleností (National Instruments, 2009)
4.1
Tvorba aplikace v prostředí Vision Builder
48
Klasifikace byla v aplikaci nastavena těmito parametry: • Vyhledávání tmavých objektů • Metoda prahování: Automatické clusterování10 • Histogram – Dolní práh: 150 – Horní práh: 255 • Ignorování malých objektů: úroveň 1 • hodnocení identifikace: Varroa – 700, ostatní – 700 • hodnocení klasifikace: Varroa – 750, ostatní – 750 Tabulka 1 ukazuje přibližnou úspešnost klasifikace fotografií různých rozlišení. Poslední sloupec Falešná pozitivita udává, kolik procent z chybovosti bylo způsobeno klasifikováním jiného objektu jako roztoč. Je pochopitelné, že doplněk do 100 % tvořil opačný případ. Tabulka 1: Úspěšnost Rozlišení [MP] 4 8 14 22
aplikace při analýze fotografií různých rozlišení. Úspěšnost [%] Falešná pozitivita [%] 11 95 59 86 85 81 94 77
Aplikace, která byla v rámci této práce implementována, prokazovala podle předpokladů velkou citlivost na světelné podmínky pořízení fotografie. Ty spolu s použitím stativu ovlivňují ostrost fotografie. Velký vliv také mělo rozlišení. V případě vyfocení podložky fotoaparátem s rozlišením nižším než 8 MP klasifikace ani neproběhla a s rozlišením 8 MP proběhla také naprosto nepřijatelně. Se zvětšujícím se rozlišením se klasifikace zpřesňovala. Při vyfocení jedné poloviny podložky fotoaparátem se 14 MP (tzn. včetně překrývání okrajů simulace asi 22 MP) byla klasifikace téměř ideální. I tak se ale objevovaly chyby. Aplikace má tendenci považovat za roztoče i jiné objekty, dochází tedy k nadhodnocování.
10
Klasifikace probíhá rozdělením histogramu obrazu na konečný počet tříd v závislosti na rozpoznaném obraze. Jedná se o nejčastější metodu automatického prahování (National Instruments, 2009).
4.1
Tvorba aplikace v prostředí Vision Builder
49
Obrázek 23: Část okna VB při klasifikaci fotografie. Rozpoznané objekty jsou klasifikovány a označeny červeným rámečkem. V případě pozitivní klasifikace třídy jsou vedle názvu také uvedeny obě hodnoty score. Stavový diagram se pro zobrazení životního cyklu reaktivního objektu hodí více než diagram aktivit, proto byl použit místo něj.
4.1
Tvorba aplikace v prostředí Vision Builder
50
Obrázek 24: Stavový diagram. Ukazuje možné stavy, ve kterých se může nacházet aplikace provádějící analýzu objektů z fotografie.
4.2
Tvorba systému – Specifikace požadavků
4.2
51
Tvorba systému – Specifikace požadavků
Standard ANSI/IEEE číslo 830-1984 pro specifikaci softwarových požadavků stanovuje tuto strukturu Dokumentu specifikace požadavků: • Úvod – Účel systému, Rozsah systému, Definice, zkratky a akronymy, Reference, Přehled dokumentu • Všeobecný popis – Kontext produktu, Základní přehled funkcí, Profil uživatele, Přehled omezujících podmínek, Předpoklady (assumptions) a závislosti • Specifikace požadavků • Ověřovací kritéria – Rozsah výkonnostních charakteristik, Druhy testů, Platné odezvy, Specifické případy • Přílohy • Rejstřík V textu budou uvedeny vybrané části Dokumentu. 4.2.1
Úvod
Účel systému Tento software je určen včelařům na jakékoliv úrovni profesionality. Jeho základním účelem je zjednodušení varroamonitoringu (počítání kleštíků včelích spadlých na diagnostickou podložku v úle) pomocí strojového zpracování pořízené fotografie. Rozsah systému Součástí systému je aplikace, která zpracuje nahranou fotografii dna úlu a pomocí metod umělé inteligence určí počet kleštíků v obraze. Definice, zkratky a akronymy • Aplikace – jedná se o program vytvořený v systému Vision Builder společnosti National Instruments, který využívá strojového vidění ke zpracování obrazu a k určení počtu kleštíků na podložce. • Systém – jedná se o komplet klient-server včetně aplikace pro strojové vidění. Systémem je dále nazýváno kompletní řešení zadání. • Včelstvo – jednotka včelího společenství, obývá jeden úl. Podléhá registrační povinnosti u Českomoravské společnosti chovatelů. • Stanoviště – místo, kde včelař chová jedno a více včelstev. Stejně jako včelstva podléhá registrační povinnosti u Českomoravské společnosti chovatelů. Včelař zpravidla chová včely na 1 a více stanovištích.
4.2
Tvorba systému – Specifikace požadavků
52
• Spad – počet kleštíků, kteří spadnou na diagnostickou podložku během měřeného intervalu. • Diagnostické metody – způsoby určování počtu roztočů ve včelstvu. Může se jednat o přirozený spad, spad po léčení, smyv, práškování cukrem. • Registrační číslo – stanoviště i včelstvo po registraci u ČMSCH dostává číslo, jež ho jednoznačně identifikuje. • Druh včelstva – typ sledovaného včelstva podle využití. Může se jednat o produkční nebo chovné včelstva, také oddělky, smetence nebo zachycené roje. • Sdílení – nastavení zobrazování údajů ostatním uživatelům. Toto nastavení se týká osobních údajů uživatele, údajů o polohách a počtech stanovišť a včelstev, údajů o spadu a léčeních. • Léčení – v případě, že je to vhodné, může včelař včelstvo léčit. Probíhá jednak státem povolenými léčivy, nebo látkami, které nejsou ještě schváleny jako léčiva, nicméně je prokázána jejich účinnost, jinými než klinickými studiemi. Reference
Dokument se neodkazuje na jiné dokumenty.
Přehled dokumentu Dokument se skládá ze 4 hlavních částí. Kromě první úvodní části, kde je definován záměr systému a kde jsou definovány základní pojmy, dokument obsahuje také část Všeobecný popis, část Specifikace požadavků a část Ověřovací kritéria. Dokument neobsahuje přílohy a rejstřík. 4.2.2
Všeobecný popis
Kontext produktu Jedná se o webový systém klient-server, který funguje zcela samostatně, nespolupracuje tedy s žádnou jinou aplikací nebo systémem. Na straně klienta uživatel vytváří stanoviště, včelstva, upravuje je a zaznamenává jejich zamoření. Jednou z voleb zaznamenání zamoření je nahrání pořízené fotografie, kterou serverová část zpracuje a výsledky zobrazí zpět klientovi. Základní přehled funkcí Aplikace umožní uživateli se registrovat, nahrávat fotografie a zobrazovat výsledky jejich zpracování. Uživatel může přistupovat ke svým datům bez ohledu na jejich stáří. K datům ostatních uživatelů může přistupovat pouze v případě, že je mu to jimi povoleno. Zobrazovaná data jsou organizována do grafů a jsou doplněna o odborná doporučení v závislosti na zjištěných hodnotách. Systém automaticky podle čárového kódu přiřadí fotografii k příslušnému včelstvu a dále ke stanovištím. Uživateli je umožněno svá data dále organizovat. Mimo to je možno nastavovat viditelnost pro různé skupiny uživatelů a přidávat poznámky k datům. Základní zobrazení monitorovaných stanic (uživatelů) je realizováno přes API Google Maps.
4.2
Tvorba systému – Specifikace požadavků
53
Profil uživatele Systém rozeznává 3 skupiny uživatelů: náhodný návštěvník, registrovaného uživatele a administrátora. Návštěvník je náhodný návštěvník webové aplikace. Je mu umožněna registrace a omezené zobrazování dat registrovaných uživatelů. Registrovaný uživatel je uživatel, který se registroval a byl administrátorem potvrzen. Je mu umožněno přihlásit se a poté vkládat fotografie k analýze. Výsledky může organizovat do příslušných včelstev a včelnic, může přidávat poznámky ke svým datům a vkládat údaje o provedených zákrocích. Může zobrazovat svoje data a také data ostatních uživatelů na mapě. Administrátor je superuživatel, který má přístup ke všem datům v systému. Administrátor je oprávněn umisťovat uživatele do skupin, které omezují maximální počet sledovaných včelstev a stanovišť. Jedná se o generalizaci uživatele. Přehled omezujících podmínek Na straně uživatele není vyžadován žádný doplňující software nad rámec aktuálního webového prohlížeče dodržujícího standardy. Na straně uživatele není vyžadován žádný doplňující hardware nad rámec klasického transportu fotografií z digitálního fotoaparátu do počítače. Aplikace analyzuje fotografie okamžitě po načtení. Po načtení fotografie na server uživatel obdrží informaci o počtu parazitů na fotografii nejpozději do 30 vteřin. Generování grafů probíhá v reálném čase. Velikost nahrávaných fotografií není omezena. Aplikace je dostupná 24/7. Komunikace klient–server probíhá šifrovaně. Aplikace je připravena pro neomezený počet jazykových mutací. Předpoklady a závislosti Na PHP serveru zákazníka je nainstalována runtime verze programu Vision Builder společnosti National Instruments. 4.2.3
Specifikace požadavků
Unified Process rozděluje požadavky na funkční a nefunkční. Funkční požadavky přitom vyjadřují nějakou činnost, funkci systému, kterou má vykonávat, nefunkční požadavky představují nějaká omezení, která je nutno dodržovat při tvorbě systému. Všechny požadavky jsou v Příloze ??. Následuje příklad funkčního požadavku Zaznamenání zamoření, který ilustruje strukturu zápisu jednotlivých požadavků. Kromě analýzy fotografie, která automaticky uloží do databáze zjištěný počet roztočů, bude moci uživatel tyto údaje sám zaznamenávat nebo upravovat, například v případě, že nebude moci nebo chtít funkci analýzy využívat. FP11. Zaznamenání zamoření • Popis – umožní uživateli vkládat údaje o zamoření včelstva i jiným způsobem než analýzou fotografie. U zadávání údajů si uživatel může vybrat, jakou diagnostickou metodou došel k zadávanému číslu a kdy
4.2
Tvorba systému – Specifikace požadavků
54
• Vstupy – číslo udávající počet roztočů, diagnostická metoda, včelstvo, datum měření • Zpracování – uložení do databáze • Výstupy – zaznamenaný stav zamoření Nefunkční požadavky jsou například požadavky na rozhraní systému, ať už uživatelské nebo hardwarové, požadavky na výkonnost, bezpečnost systému, udržovatelnost a další. Uživatelské rozhraní je realizováno webovým prohlížečem dodržujícím standardy. Uživatel má kromě standardního výstupu prohlížeče možnost tisku stanovišť a údajů o nich, ať už v tabulce nebo grafu. Stejně tak může tisknout jednotlivá včelstva. Chybová hlášení, upozornění a ostatní dialogy jsou zobrazovány v prohlížeči. Hardwarová rozhraní Systém je provozován na PHP serveru. Na serveru je spuštěna runtime verze programu Vision Builder společnosti National Instruments. V ní je spuštěna analytická aplikace systému využívající strojové vidění. Vlastnosti • Dostupnost – Systém je dostupný 24/7. Maximální výpadek systému v roce je 0,1 %. Systém je denně zálohován. • Bezpečnost – Systém využívá výhradně protokolu https zabepečený SSL certifikátem. Činnost uživatelů je logována v databázi. • Udržovatelnost – Systém je modulární, v případě budoucího zájmu jej lze rozšířit o další funkce. • Přenositelnost – Systém je platformně nezávislý. • Snadnost užívání – Systém nevyžaduje žádné specifické nároky na uživatele internetového prohlížeče. 4.2.4
Ověřovací kritéria
Rozsah výkonnostních charakteristik • Základním kritériem hodnocení výkonu aplikace je přesnost určení počtu parazitů na obraze. Součet kladné a záporné odchylky je menší než 5 %. • Dalším kritériem pro hodnocení je rychlost odezvy. Analýza 16MP obrázku netrvá déle než 5 vteřin.
4.3
4.3
Tvorba systému – případy užití
55
Tvorba systému – případy užití
Z analýzy požadavků vyplývají případy použití. Diagram případů užití zobrazuje možné interakce člověka se systémem. Ukazuje tři možné skupiny aktérů systému. Náhodný návštěvník se může registrovat nebo omezeně zobrazit mapu zamoření, registrovanému a přihlášenému uživateli je umožněno vést evidenci vlastních úlů, která spočívá v zakládání, editování a prohlížení stanovišť, úlů, stejně tak jako záznamů o zamoření a léčení. Přihlášený uživatel má možnost zobrazovat mapu zamoření bez omezení. Administrátor, který je generalizací uživatele, může navíc rozdělovat uživatele do skupin a zobrazovat je.
Obrázek 25: Diagram případů užití (Use Case Diagram). Zobrazuje tři aktéry: návštěvník, uživatel a administrátor. Skládá se ze tří systémů: Správa uživatele, Správa úlů a Správa monitoringu a léčení. Vzhledem k charakteru většiny případů užití by se drtivá většina opakovala, případně lišila pouze v ukládaných datech, proto je v případě systému Správa úlů vybrán reprezentativní případ užití č. 6: PřidatStanoviště. Případy užití 12: Analy-
4.3
Tvorba systému – případy užití
56
zovatFotografii a 13: ZobraitMapu jsou ze systému Správa monitoringu a léčení. Ty se výrazně odlišují od ostatních, proto jsou zde vypsány. Případ užití: AnalyzovatFotografii ID: 12 Stručný popis: Uživatel nahraje fotografii, aby zjistil, kolik je na ní roztočů. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Uživatel je přihlášen do systému. Hlavní scénář: 1. Uživatel odešle fotografii systému. 2. Systém podle 2D čárového kódu identifikuje příslušný úl. 3. Systém analyzuje fotografii a zjistí počet roztočů na ní. 4. Systém zobrazí uživateli zjištěný počet roztočů na fotografii. 5. Uživatel potvrdí uložení počtů roztočů k příslušnému úlu. Výstupní podmínky: Údaje o úlu byly uloženy. Alternativní scénáře: FotografieNenačtena ÚlNeidentifikován AnalýzaNeproběhla Případ užití: AnalyzovatFotografii:FotografieNenačtena ID: 12.1 Stručný popis: Systém upozorní uživatele, že fotografie není systémem načtena. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Fotografie není systémem načtena. Alternativní scénář: 1. Scénář začíná krokem 1 hlavního scénáře. 2. Systém upozorní uživatele, že fotografie není systémem načtena. Výstupní podmínky: Analýza fotografie neproběhla.
4.3
Tvorba systému – případy užití
Případ užití: AnalyzovatFotografii:ÚlNeidentifikován ID: 12.2 Stručný popis: Systém upozorní uživatele, že systém z fotografie neidentifikoval úl. Uživatel ho identifikuje ručně. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Úl není z fotografie identifikován. Alternativní scénář: 1. Scénář začíná krokem 2 hlavního scénáře. 2. Systém upozorní uživatele, že systém z fotografie neidentifikoval úl a vyzve ho k ruční identifikaci. 3. Uživatel ručně identifikuje úl. Výstupní podmínky: Úl je identifikován ručně. Případ užití: AnalyzovatFotografii:AnalýzaNeproběhla ID: 12.3 Stručný popis: Systém upozorní uživatele, že analýza fotografie se nezdařila. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Fotografie není systémem načtena. Alternativní scénář: 1. Scénář začíná krokem 3 hlavního scénáře. 2. Systém upozorní uživatele, že analýza fotografie se nezdařila. Výstupní podmínky: Analýza fotografie se nezdařila.
57
4.3
Tvorba systému – případy užití
Scénáře případů užití PřidatStanoviště a ZobrazitMapu.
Případ užití: PřidatStanoviště ID: 6 Stručný popis: Uživatel do své evidence přidá stanoviště. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Uživatel je přihlášen do systému. Hlavní scénář: 1. Uživatel vyplní jméno stanoviště. 2. Systém stanoviště uloží. Výstupní podmínky: Údaje o stanovišti byly uloženy. Alternativní scénáře: Žádné Případ užití: ZobrazitMapu ID: 13 Stručný popis: Uživatel zobrazuje mapu s vizualizací zamoření území. Hlavní aktéři: Uživatel Vedlejší aktéři: Žádní Vstupní podmínky: Uživatel je přihlášen do systému. Systém zobrazuje mapu pomocí API poskytovatele mapových služeb. Hlavní scénář: 1. Uživatel zvolí polohu a přiblížení mapy. 2. Systém zobrazí mapu. Výstupní podmínky: Uživateli je zobrazena mapa. Alternativní scénáře: Žádné
58
4.4
Metodika pořizování fotografií
4.4
59
Metodika pořizování fotografií
Tato část vychází z části Metodika pořízení fotografie na straně 34. 4.4.1
Velikost a rozlišení
Aplikace VarroaDetect požaduje na svůj vstup fotografie alespoň 5,5 megapixelů veliké, nicméně z ústního podání z ústního podání Ing. Modlitby, technického manažera ve společnosti Moravské přístroje a.s. vyplývá, že pro kvalitní zpracování v jejich programu VisionLab by fotografie měla mít kolem 25 megapixelů. Vychází z toho, že k tomu, aby bylo objekt možno nějak spolehlivě zaznamenat a klasifikovat, je vhodné, aby měl minimálně 20 pixelů. Když uvážíme, že roztoč má na delším rozměru necelé 2 mm, potřebujeme na jeden centimetr obrazu asi 100 px. Vzhledem k tomu, že podložka s okrajem má rozměr 40 cm, na kratší stranu fotografie potřebujeme 4000 px. V případě, že bychom započítali pouze minimální okraje, při poměru stran 3:2 se dostáváme na více než 23 MP. To je pro většinu dnešních fotoaparátů stále ne příliš dostupné rozlišení, bude tedy buď potřeba obraz rozdělit na více (ideálně 2 nebo 4) částí, které v dostatečném rozlišení pokryjí celou plochu, nebo se spokojit s rozlišením nižším. Pořizování více fotografií pro jednu podložku rozhodně spěje ke snížení komfortu práce s aplikací. Pro samotnou aplikaci to nutně problém znamenat nemusí, každá část obrazu na sobě může mít čárový kód, který jednoznačně určí, o kterou část dna kterého úlu se jedná. Smyslem aplikace je zvýšení stávajícího komfortu uživatele, proto bude kladen důraz na analýzu jediné fotografie.
Obrázek 26: Čtyři vzorky z použitého .clf souboru. Ilustrace důležitosti rozlišení. První dva vzory (vlevo) pocházejí z fotografie o rozlišení 14 MP, druhé dva (vpravo) pochází z fotografií o simulovaném rozlišení 22 MP. Prvním požadavkem je velikost. 16 MP (4920 × 3264 px) je dnes již poměrně běžně dostupné rozlišení i nejlevnějších kompaktech a poskytuje tak rozumný kompromis mezi velikostí a dostupností. Vstupní fotografie tedy musí mít minimálně tento rozměr. Je pravděpodobné, že pokud uživatel nahraje kvalitní fotografii menšího rozlišení, a aplikace na to bude připravena, analýza také proběhne, otázkou je, s jakou odchylkou. Dalším požadavkem je orientace fotografie. Většina fotoaparátů má integrovaný senzor polohy. Proto automaticky upravuje EXIF hodnoty vypovídající o orientaci snímku. Proto se automaticky fotografie natáčí, pokud jsou vyfoceny v tzv. Portrait režimu ( na stojato“). Aplikace pro jednoduchost bude zpracovávat pouze jeden ”
4.4
Metodika pořizování fotografií
60
formát fotografie, v tzv. Landscape režimu ( na ležato“). Je proto nutné zajistit ” správnou orientaci fotografií, které budou načítány aplikací. Důležitá je také velikost obrazu. Jednak pro co největší rozlišení obrazu a jednak pro snadnou detekci hran podložky je vhodné, aby hrana podložky byla co nejblíže delší straně fotografie. Tak bude podložka zabírat největší možnou část fotografie. Vzhledem k tomu, že podložka úlu typu Langstroth bez okrajů měří 465 × 375 mm, včetně okrajů je to 515 × 425 mm, je vhodnější fotit podložku tak, aby kratší strana fotografie byla rovnoběžná s kratší stranou úlu. Kratší strana úlu je při běžné manipulaci s podložkou orientovaná blíže ke včelaři. Tak bude kromě maximální velikosti obrazu v přeneseném smyslu zajištěna také přibližně stejná vzdálenost podložky a objektivu. 4.4.2
Osvětlení
Jak již bylo uvedeno výše, druhým zásadním požadavkem na fotografii pro analýzu obrazu je její osvětlení. V laboratorních podmínkách je o mnoho jednodušší upravit osvětlení opakovanými zkouškami tak, aby bylo pro analýzu co nejvhodnější. Je dokonce možné použít zadní osvětlení pro maximální kontrast. Vzhledem k charakteru fotografií je jasné, že jejich pořizování v laboratorních ideálních“ podmínkách probíhat nemůže. S ohledem na to, že monitoring probíhá ” u většiny včelařů zhruba polovinu roku (duben až září), u některých celý rok (zvláště profesionální včelaři a výzkumní pracovníci), při fotografování nastává téměř kompletní škála možných počasí a světelných podmínek.
Obrázek 27: Vlevo: Ukázka fotografie podložky pořízená na přímém slunci. Přechod mezi světlem a stínem automatizovanou analýzu ještě více komplikuje. Vpravo: Detail stínů vrhaných sluncem. V terénu jednak není možnost příliš osvětlení upravovat, jednak není možnost ve většině případů provádět opakované snímání (zejména kvůli uživatelskému komfortu), proto je vhodné uvést základní požadavky na osvětlení, tak aby uživatelé aplikace mohli dosáhnout alespoň základních kvalit pro úspěšnou analýzu.
4.4
Metodika pořizování fotografií
61
Velmi vhodné je při fotografování nepoužívat blesk. Vzhledem k tomu, že pořizování snímku probíhá v závislosti na ohniskové vzdálenosti objektivu přibližně z 30–50 cm, při použití blesku by došlo k přesvětlení a to by znamenalo mimo jiné to, že by obraz minimálně části roztočů nedosahoval kontrastu dostatečného pro úspěšný preprocessing. Dále je důležité, aby fotografování probíhalo v době, kdy je ve dne nejvíce světla, tedy kolem poledne, nicméně ne na přímém slunci. Přímé světlo by na podložce vytvářelo stíny, které by deformovaly jednak tvary roztočů a ostatních objektů na podložce, jednak jejich velikost. Proto v žádném případě fotografie nemohou být pořizovány ráno a večer na slunci, protože slunce nízko nad horizontem vrhá velmi dlouhé stíny. 4.4.3
Podložka
Pro zvýšení účinnosti je dobré, aby samotná podložka měla kontrastní barvu jednak vůči svým okrajům, jednak vůči samotným roztočům. Vzhledem k tomu, že dospělá samička kleštíka je barvy tmavě hnědé, je vhodné, aby podložka byla čistě bílá. Kraje jsou černé k jednoduchému určení regionu, ve kterém bude probíhat analýza. Podložka by neměla být z reflexního materiálu, aby nedocházelo k případným odrazům a odleskům, které by mohly analýzu zkreslovat.
Obrázek 28: Vlevo: podložka s bílými okraji a zašlým podkladem je nevhodná pro pořizování fotografií pro automatickou analýzu. Vpravo: Bílá podložka s kontrastními černými okraji je mnohem vhodnější.
4.4.4
Stativ
Je velmi žádoucí, aby fotografie nebyla rozmazaná, ale pokud možno co nejostřejší. Vzhledem k požadavku nepřímého slunečního světla a vypnutého blesku je pravděpodobné, že bude užitečné použít vhodně upravený stativ, který umožní fotit podložku podle výše uvedených kritérií a zároveň ostře. V závislosti na množství světla, kvalitě fotoaparátu a v neposlední řadě také na lidském faktoru to ale nebude nezbytné. Na druhou stranu, stativ, který by byl upraven tak, aby umožňoval
4.4
Metodika pořizování fotografií
62
jednoduché umístění podložky do přesné polohy pod fotoaparát, by kromě přesnosti obrazu, optimální velikosti, ostrosti, přinesl také výrazné urychlení celého procesu. Jedinou komplikací může být příprava takového stativu. Nebude se jednat o klasický monopod nebo tripod, který je běžný u fotoaparátů nebo videokamer. Nutnost jeho použití se při focení podložek v praxi víceméně potvrdila. Při rozlišení 8 MP na vyfocení zhruba 160 cm2 je velmi zřetelná jakákoli nepřesnost a nejistota při držení fotoaparátu. Proto je při focení doporučen stativ. Popis jeho modelu následuje. Stativ by se měl sestávat ze dvou hlavních částí. První z nich je spodní plocha, na které bude podložka pokládána a další částí je držák fotoaparátu. Spodní plocha má na jedné delší a jedné kratší stěně zarážku, aby bylo možno přesně umístit snímanou podložku bez dalšího nastavování. Držák fotoaparátu se skládá ze svislé a vodorovné části. Svislá je v dolní části připevněná ke spodní ploše stativu a v horní části je k ní připevněna pohyblivé rameno, na které se připevní fotoaparát, tak aby mohl vyfotit podložku. Stativ pro toto použití musí být upraven a proto jeho nastavitelné svislé rameno musí být jednak dostatečně dlouhé, aby bylo možno umístěný fotoaparát při použití zoomu nastavit dostatečně vysoko, jednak musí být možné s ramenem posunovat a upevňovat ho podél delší strany spodní plochy. Pro minimální zkreslení je totiž také nutné, aby objektiv fotoaparátu byl pokud možno přesně nad středem podložky. Toho bude možné dosáhnout, pokud budou obě ramena – svislé i vodorovné – pohyblivá a upevnitelná pomocí závitových svorkek. Autor by rád zobrazil i fotografii nebo alespoň model tohoto stativu, nicméně to není možné, protože se mu nepodařilo ho zatím sestrojit dostatečně kvalitně.
Obrázek 29: Srovnání fotografií podle pořízení. Vlevo: fotografie podložky, která má deformovány okraje podložky, byla pořízena zblízka bez použití zoomu. Vpravo: fotografie, která byla pořízena za použití zoomu. Při analýze fotografií byl pozorován poměrně pochopitelný jev. Při fotografování podložky je fotoaparát přibližně 25–30 cm od ní, tak aby pokryl celou její plochu a zároveň byl co nejblíže. Díky tomu byla vyfocená podložka na fotografii zdeformována, což bylo jasně pozorovatelné na jejích okrajích. Autorovi se osvědčilo tedy
4.5
Hodnocení ekonomické efektivity investice
63
při fotografování využít optický zoom fotoaparátu a vyfotit fotografii z větší vzdálenosti. Srovnání obou fotografií ukazuje Obrázek 29 Je třeba myslet na to, že se při tom o něco zhorší světelné podmínky fotografie. Při použití zoomu je nutné stativ použít. Deformované okraje komplikují přesné určení regionu zájmu pro klasifikaci objektů. Vision Builder pracuje pouze s ROI ve tvaru obdélníku nebo kruhu. V případě zdeformování dochází k nepřesnému určení hran podložky a tím k potenciálním nepřesnostem při klasifikaci roztočů. 4.4.5
Pořizování fotografií
Fotografování podložek probíhalo jednak v reálných podmínkách včelnice, jednak v simulovaném prostředí s řízenými podmínkami. Fotografie z reálného prostředí byly pořízeny v ústavním včelíně Mendelovy univerzity v Brně, kterou má pod správou Ústav zoologie, rybářství, hydrobiologie a včelařství, oddělení včelařství. Fotografie podložek byly pořizovány v červenci a srpnu 2011 a v prosinci 2012, pomocí 4 různých fotoaparátů s různým rozlišením: • integrovaný fotoaparát mobilního telefonu HTC Dream s maximálním rozlišením 2048 × 1536 px (3,1 MP) • Canon PowerShot A520 s maximálním rozlišením 2272 × 1704 px (4 MP) • Canon PowerShot A590 IS s maximálním rozlišením 3246 × 2448 px (8 MP) • Olympus SP-800UZ s 4288 × 3216 px (14 MP) Fotografování v řízených podmínkách probíhalo dvěma fotoaparáty s největším rozlišením Canon PowerShot A590 IS a Olympus SP-800UZ.
4.5 4.5.1
Hodnocení ekonomické efektivity investice Možný model komerční nabídky
V části Metodika bylo uvažováno nad tím, jak navrhnout obchodní model, aby byl atraktivní jak pro stranu poptávky, tak pro stranu nabídky. Jeden ze závěrů byl ten, že budou představena tarifní pásma poskytovaných služeb, z nichž si každý uživatel vybere, jaké mu vyhovuje nejvíce. Navrhovaná pásma jsou tedy: • Uživatelé do 5 včelstev – Skupina A • Uživatelé do 50 včelstev – Skupina B • Uživatelé do 100 včelstev – Skupina C • Uživatelé s více než 100 včelstvy – Skupina D V případě, že uvažujeme webový systém pouze jako evidenci spadů s analytickou aplikací a mapovým zobrazením bez dalších rozšíření, funkcionalita pro všechny uživatele bude stejná, omezení spočívá pouze v počtu včelstev, která mohou evidovat.
4.5
Hodnocení ekonomické efektivity investice
64
Pokud bude systém dále rozšířen, platící uživatelé budou dále zvýhodněni. Některé funkce budou dostupné pouze platícím, některé všem, ale s nějakým dalším omezením pro neplatící uživatele. Vždy bude ale dbáno na to, aby i neplatící uživatel mohl komfortně systém používat a měl pro něho význam. V případě, že bude k systému vytvořena v budoucnu mobilní aplikace, bude zdarma dostupná všem uživatelům, omezení budou opět pouze svým tarifním pásmem. Při registraci bude nabídnuto uživateli na měsíc používání nejvyššího tarifního pásma, což bude mít hlavně vliv až v případě dalších funkcionalit systému. Jedním z předpokladů je udržet výše plateb natolik nízko, aby nepředstavovaly žádný reálný problém, aby největším problémem zůstala pouze přirozená averze k nutnosti za něco platit. Dále je důležité, aby samotná platba netvořila další překážku, proto budou implementovány jednoduché způsoby plateb včetně PayPal nebo platby kartou. Zde jsou navrhované platby jednotlivých skupin. • Skupina A – zdarma • Skupina B – 100 Kč ročně • Skupina C – 200 Kč ročně • Skupina D – 500 Kč ročně Jedná se o konzervativní variantu, která předpokládá základní funkci evidence. V případě dalších funkcionalit se platba pravděpodobně zvýší. Konzervativní varianta dále předpokládá toto složení uživatelů: • Skupina A – 90 % • Skupina B – 7 % • Skupina C – 2 % • Skupina D – 1 % Předpokládá se, že první rok po uvedení bude celá služba zdarma, v dalších letech bude již standardně zpoplatněna. Cílem, co se týče počtu uživatelů, je mít na konci prvního roku, který bude zdarma, mít 1000 uživatelů převážně v Česku a na Slovensku, ale také v dalších zemích. V dalších letech je ideálem udržet si nejméně 100% růst, tedy každý další rok počet uživatelů minimálně zdvojnásobit. Může se to zdát velmi málo, nicméně se jedná o konzervativní předpoklad a zároveň je třeba brát v úvahu charakter a složení cílové skupiny. Růstu bude dosaženo propagací hlavně online, ale také využitím tištěných médií. Online propagace bude využívat jak placenou reklamu na včelařských serverech, tak neplacené příspěvky a prezentace na včelařských fórech. Dalším prostředkem budou tzv. Bringer bonusy, tedy slevu na tarif v případě, že uživatel doporučený jiným uživatelem si objedná placený tarif. Tištěná reklama připadá v úvahu, co se týče českých médií v časopise Včelařství, které vydává pro své členy ČSV a časopis Moderní včelař, který vydává PSNV–CZ.
4.5
Hodnocení ekonomické efektivity investice
65
V případě dodržení těchto konzervativních cílů a struktury budou na začátku příslušného roku realizovány tyto platby: • 1. rok – 0 Kč • 2. rok – 16 000 Kč a jejich cizoměnových ekvivalentů • 3. rok – 32 000 Kč • 4. rok – 64 000 Kč • 5. rok – 128 000 Kč • 6. rok – 256 000 Kč • 7. rok – 512 000 Kč Lze předpokládat, že nejpozději během druhého roku v případě zájmu přibude další funkcionalita. Efektivita investice je počítána do 7. roku. V případě, že by ani v 7. roce její současná hodnota nebyla větší než 0, autor ji nepovažuje za zajímavou. 4.5.2
Ekonomická efektivita investice
Než bude stanovena efektivita dané investice, je nutné určit výdaje. Je to jednak zakoupení příslušného software pro provoz aplikace, jednak vytvoření webového rozhraní. • Vision Builder: 65 690 Kč + DPH • Webový systém: 15 000 Kč vč. DPH Webový systém bude tvořen částečně svépomocí a částečně externí spoluprací. Výše DPH je 21 % (od 1. 1. 2013), proto Vision Builder bude stát 79 485 Kč a dohromady je částka přibližně 95 000 Kč. ČSH Metoda Čisté současné hodnoty vychází ze skutečnosti, že peníze získané v budoucnosti mají nižší hodnotu, než peníze získané nyní. Proto jsou tzv. diskontovány, tedy děleny koeficientem výnosové míry. Tu je možné odvodit od diskontní míry aktuálně určené Českou národní bankou, většinou je ale používána úroková míra alternativní investice, protože bývá vyšší. Pro účely této práce byla určena diskontní míra 2,5 %. Dosazujeme do rovnice (1) z kapitoly Metodika. SH =
16000 512000 0 + + ... + − 95000 (1, 025)1 (1, 025)2 (1, 025)7
(2)
Jsou předpokládány zhruba 35% výdaje. Provoz bude realizován na vlastním serveru a TLD11 doméně. Většina výdajů je za propagaci. Po diskontování a odečtení výdajů tedy dostáváme: 11
Top Level Domain – doména nejvyššího řádu, tedy doména .cz, .com a další.
4.5
Hodnocení ekonomické efektivity investice
66
• 1. rok – 0 Kč • 2. rok – 9 899 Kč • 3. rok – 19 315 Kč • 4. rok – 37 688 Kč • 5. rok – 73 537 Kč • 6. rok – 143 486 Kč • 7. rok – 279 973 Kč Po dosazení do rovnice (2) dostáváme SH = 563 897 − 95000 = 468 897
(3)
Čistá součashá hodnota cashflow je tedy větší než 0, v případě dodržení předpokladů je investice realizovatelná. DN Doba návratnosti vypočítává, kdy se daná investice vrátí“, tedy kdy se pří” jmy vyrovnají výdajům, a investice začne vydělávat“. Pro tuto investici s danými ” počátečními výdaji a ročními příjmy je to v pátém roce, přesněji za 4 roky a 140 dní. Rovnice (4) a (5) zobrazují výpočet. To, že dojde k návratu v 5. roce zjistíme z (4), rovnice (5) vypočítává, kdy v roce to nastane. 0,382 roku jednoduše převedeme na 139 dní. 95000 − 9 899 − 19 315 − 37 688 = 28 099
(4)
28 099 = 0, 382 (5) 73 537 To se může zdát vzhledem k době trvání investice velmi dlouhá doba, nicméně je nutné brát v úvahu předpokládané příjmy, které rostou exponenciálně. V takovém případě je opravdu vhodné brát tuto metodu pouze jako doplňkovou, jak bylo uvedeno v kapitole Metodika.
5
5
DISKUZE
67
Diskuze
V práci byla ukázána částečná implementace navrhovaného řešení. Výsledky, které podávala vytvořená aplikace, byly uspokojivé, ale vykazovala velké rozdíly v efektivitě u fotografií s nižším kontrastem mezi plochou podložky a roztoči. V budoucnu by bylo vhodné se na tuto skutečnost zaměřit a vytvořit méně citlivou aplikaci. Nejlepších výsledků dosahovala aplikace při simulovaném rozlišení 22 MP. Toto efektivní rozlišení by bylo vhodné snižit, aby byla aplikace dostupnější pro širší okruh potenciálních uživatelů. Tak vysoká rozlišení stále ještě nejsou u běžných kompaktních fotoaparátů dostupná. Proto by bylo vhodné snížit potřebné rozlišení na 16 MP, což je dostupný standard. Navrhovaná podložka má kromě vysokého kontrastu také na svém povrchu QR kód, který umožní jednoznačně identifikovat úl, aby uživatel nemusel u každé fotografie ručně zadávat, ke kterému včelstvu podložka patří. Velmi důležitým se ukázal vhodný stativ. V textu práce je popsán jeho vzhled. Stativ jednak umožní ostřejší fotografie, jednak se při použití zoomu sníží deformace fotografie. Ostřejší fotografie budou mít nesporný pozivní vliv na kvalitnější rozpoznání. V práci je navrhován webový systém, který tvoří rozhraní aplikace pro veřejné využití. Vybrané řešení realizované v nástroji Vision Builder je pro jednotlivce nákladné, proto se webová služba s malým poplatkem jeví jako vhodné řešení této zatím ne příliš pokryté problematiky. V případě ošetření právních náležitostí ve spojitosti s autorskými právy na školní dílo by se totiž mohlo jednat o zajímavý podnikatelský záměr. Pokud by aplikace byla univerzální a pracovala by i s rozdílnou kvalitou obrazů a do systému by byly doplněny další funkcionality, je reálné, že by o službu byl zájem. V případě načítání stanovišť a včelstev přímo z databáze Českomoravské společnosti chovatelů by se pro včelaře úvodní práce velmi zjednodušila. Po registraci v aplikaci, při které neregistrovaný uživatel zadá nejen jméno a příjmení, ale také Registrační číslo chovatele“ dojde k ověření v databázi Českomoravské společnosti ” chovatelů a v případě shody je na e-mail zadaný při registraci na ČMSCH odeslána žádost k potvrzení registrace do systému. Registraci chovatelů na ČMSCH je povinné provádět každý rok k 1. září, proto je zaručena aktuálnost použitého e-mailu. To by mělo 2 velké výhody: jednak by byli uživetelé jednoznačně identifikováni, jednak by mohla být data o včelaři automaticky načtena z databáze ČMSCH. Jedná se nejen o kontakt na včelaře, ale také o počet stanovišť a včelstev, včetně jejich poloh. To by mělo význam nejen ve zjednodušení správy včelstev pro včelaře, ale zabránilo by to neopraváněným registracím a také částečně zadávání nepravdivých hodnot. Takovéto rozšíření by nicméně vyžadovalo součinnost ČMSCH a také legislativní úpravu, neboť se jedná o osobní údaje. Vzhledem k tomu, že se do registračního formuláře pro ČMSCH zadává poloha parcely, bylo by nutné převést polohu parcely do GPS. Na druhou stranu by moha
5
DISKUZE
68
aplikace umožnit pravidelnou registraci na ČMSCH. Z včelstev by systém vygeneroval formulář, který by po potvrzení odeslal na ČMSCH. Nabízí se evidence výstupu z úlové váhy, úlového teploměru, vlohkoměru. Systém by mohl zajistit komunikaci se zařízením, které by zabezpěčovalo ochranu bezpečnosti úlu, ať už s kamerou, která sleduje pohyb kolem úlu, nebo lokalizační zařízení pracující na bázi GPS nebo GSM. Žel, vandalismus a krádeže se vyskytují i mezi včelaři. Pokud by rozšířený systém umožňoval vedení úlového deníku, jednalo by se o velkou výhodu. Velkým přínosem by také bylo,pokud by navíc byl ovladatelný mobilním zařízením, nebo by k němu byla dostupná mobilní aplikace na některou z rozšířených platforem. Možností, jak využít mobilní techniku například ve spojitosti s čárovými kódy a dohledatelností (traceabilitou) je mnoho.
6
6
ZÁVĚR
69
Závěr
Cílem práce bylo navrhnout řešení automatizované identifikace roztoče kleštíka včelího pomocí technologií strojového vidění na diagnostické podložce umístěné pod úlem. Tento cíl byl splněn, práce předkládá navržené řešení, které bylo v řízených podmínkách ověřeno jako funkční a je připraveno pro implementaci. Kromě toho práce přináší přehled současného využití umělé inteligence ve včelařství a dále užití specializovaných aplikací ve vedení včelařské evidence. Práce také určuje metodiku pořizování fotografií pro použití aplikace včelaři. Využité řešení obnáší zakoupenou licenci specializovaného software Visual Builder, která je pro jednotlivce těžko dostupná. Proto je analyzován a navržen webový systém sloužící jako rozhraní aplikace pro neomezené použití. Je velmi pravděpodobné, že plná implementace navrhované aplikace a její zpřístupnění včelařské veřejnosti by mělo za následek zvýšení povědomí o monitorování roztoče kleštíka včelího a rozšíření řad včelařů, kteří tak činí. To autor považuje za největší přínos práce.
7
7
REFERENCE
70
Reference
AForge.NET : Computer Vision, Artificial Intelligence, Robotics [online] 2012. [cit. 2012-12-20]. Dostupné z: http://www.aforgenet.com/. Anderson, D. L. – Trueman, J. W. H. Varroa jacobsoni (Acari: Varroidae) is more than one species. Experimental & Applied Acarology, March 2000, Volume 24, Issue 3,. 2000. s. 165-189. ISSN: 0168-8162. Beetight - Aplikace pro Android ve službě Google Play [online] 2011. [cit. 2012-12-23]. Dostupné z: https://play.google.com/store/apps/ details?id=com.beetight.android. Beetight :: Beekeeping software and online hive records [online] 2010. [cit. 2012-1223]. Dostupné z: https://www.beetight.com/hives. Bradski, G. – Kaehler, A. Learning OpenCV Sebastopol, CA: O’Reilly Media. 2008. 580 s. ISBN: 0596516134. BSD licence [online] 2012. [cit. 2012-12-18]. Dostupné z: http://cs.wikipedia.org/wiki/BSD_licence. Büchler, R. Varroa Tolerance in Honey Bees – Occurence, Characters and Breeding. Bee World, vol. 75, no. 6, s. 54–70. ISSN: 0005-772X. Čermák, K. Poznatky o varroatoleranci včel ve světě . Moderní včelař, Říjen 2011, Ročník 8, Číslo 6, ISSN: 1214-5793. Čermák, K. Program VarroaDetect na počítání roztočů. Moderní včelař, Duben 2011, Ročník 8, Číslo 2, ISSN: 1214-5793. Čermák, K. Zalétávání včel vyhodnocené pomocí genů. Moderní včelař, Říjen 2007, Ročník 4, Číslo 4, ISSN: 1214-5793. Česko Zákon o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). In: Sbírka zákonů České republiky. 2000, částka 36, s. 1658-1685. ISSN 1211-1244.. Český svaz včelařů, o.s. [online]. [cit. 2012-11-15]. Dostupné z: http://www.vcelarstvi.cz/csv.html. Danka, R. G. – Harris, J. W. – Villa, J. D. Expression of Varroa Sensitive Hygiene (VSH) in Commercial VSHHoney Bees (Hymenoptera: Apidae). Journal of Economic Etymology, June 2011, vol. 104, no. 3, s. 745–749, ISSN: 0022-0493. Daugman, J.. How the Afghan Girl was Identified by Her Iris Patterns [online] 2002?. [cit. 2012-12-12]. Dostupné z: http://www.cl.cam.ac.uk/j̃gd1000/afghan.html.
7
REFERENCE
71
Davies, E. R. Machine Vision: Theory, Algorithms, Practicalities Burlington, MA: Morgan Kaufmann Publishers. 2005. 934 s. ISBN: 0-12-206093-8. Ellis, J. D. – Delapane, K. S. – Hood, W. M. Efficacy of a bottom screen device, Apistan (TM), and Apilife VAR (TM), in controlling Varroa destructor. American Bee Journal, 2001, vol. 141, no. 11. s. 813-816 ISSN: 0002-7626. Ellis J. D. – Zettel Nalen C. M. varroa mite, Varroa destructor Anderson & Trueman [online]. June 2010. [cit. 2012-11-10]. Dostupné z: http://entnemdept.ufl.edu/creatures/misc/bees/varroa_mite.htm. Fiji Is Just ImageJ [online] 2012. [cit. 2012-12-20]. Dostupné z: http://fiji.sc/. Fisher, R. et al. Image Analysis - Classification [online] 2000. [cit. 2012-12-23]. Dostupné z: http://homepages.inf.ed.ac.uk/rbf/HIPR2/classify.htm. FFree Software Foundation, Inc. GNU Lesser General Public License [online] 2007. [cit. 2012-12-23]. Dostupné z: http://www.gnu.org/licenses/lgpl.html. Haydak, M. H. The language of the honey bees. American Bee Journal, October 1945, vol. 85, s. 316-317 ISSN: 0002-7626. Hlaváč, V. – Sedláček, M. Zpracování signálu a obrazu Praha: Elektrotechnická fakulta ČVUT v Praze, 1999, 110 s.. Huang, Z. Varroa Mite Reproductive Biology. American Bee Journal, October 2012, vol. 152, no. 10, s. 981–986, ISSN: 0002-7626. Ifantidis, M. Some aspocts of the process od Varroa Jacobsoni mite entrance into honey bee (Apis mellifera) brood cells. Apidologie, 1988, vol. 19, no. 4, s. 378396, ISSN: 0044-8435. Jakuš, M. O včelařích [online]. [cit. 2012-11-15]. Dostupné z: http://vcely.euweb.cz/Central_O_vcelarich.htm. Karásek, P. – Karásek, J. Apis Digital - Úvod [online] 2012. [cit. 2012-12-23]. Dostupné z: http://www.apisdigital.cz/index.php/ulovavaha/. Karásek, P. – Karásek, J. Přínosy a náklady registračního vážení včelstev. Moderní včelař, Duben 2011, Ročník 8, Číslo 6, ISSN: 1214-5793. Mandík, P. Beeper Mobile 2.0 Praha: České vysoké učení technické v Praze, Fakulta elektrotechnická, 2012. 99 s. Vedoucí diplomové práce Ing. Zdeněk Míkovec, Ph.D.. Mařík, V. a kol. Umělá inteligence (1) Praha: Academia, 1993, 264 s. ISBN 80-200-0496-3. Mitchell, T. Machine learning New York, NY: McGraw-Hill, 1997, 414 s. ISBN 0-07-115467-1.
7
REFERENCE
72
Moravské přístroje a. s. VisionLab – Programový systém strojového vidění v prostředí Control Web [soubor kompilované nápovědy HTML] 2012?. [cit. 201212-23]. Přiloženo k programu VisionLab. NajiKhoei, A. et. al. Behavioral Defenses of Iranian Honey Bees (Apis mellifera meda) Against Varroa destructor. Annals of Biological Research, 2011, vol. 2, no. 6, s. 510-516, ISSN: 0976-1233. National Instruments NI Particle Classification Training Interface Help [soubor kompilované nápovědy HTML] 2009. [cit. 2012-12-23]. Přiloženo k programu VisionLab. NI Vision Builder for Automated Inspection Tutorial Austin, TX: NI press, 2009, 149 s. Noise reduction – redukce šumu [online] [cit. 2012-12-30]. Dostupné z: http://www.megapixel.cz/noise-reduction/. OpenCV [online] 20012. [cit. 2012-12-22]. Dostupné z: http://opencv.org/. O společnosti [online] 2012. [cit. 2012-12-10]. Dostupné z: http://www.mii.cz/cat?id=8&lang=405. Peiffer, L. Varroa Destructor, the Pest [online]. July 2011, [cit. 2011-11-10], Dostupné z: http://mainebeekeepers.org/the-bee-line/varroa-destructor-the-pest/. Přidal, A. Včelařství: cvičení. 1. vyd. Brno: Mendelova zemědělská a lesnická univerzita, 2005, 40 s. ISBN 80-7157-852-5. Přidal, A. – Texl, P.Pracovní návod [online]. 2008, [cit. 2012-11-10] Dostupné z: http://www.varroamonitoring.cz/documents/cs/navod_CZ.pdf. Robotic Machine Vision Software [online] 2012. [cit. 2012-12-23]. Dostupné z: http://www.roborealm.com/. Rosenkranz, P. – Aumeier, P. – Ziegelmann, B. Biology and control of Varroa destructor. Journal of Invertebrate Pathology, November 2009, vol. 103, s. 96–119. ISSN: 0022-2011.. Russel, S. – Norvig, P. Artificial Intelligence: A Modern Approach 3rd ed. Upper Saddle River: Prentice Hall, 2009, 1132 s. ISBN 01-360-4259-7. Schiele, B. – Fritz, M.. Level Computer Vision – Introduction [online] 2012. [cit. 2012-12-10]. Dostupné z: http://www.d2.mpi-inf.mpg.de/sites/default/files/lectures/HighLevel%20Computer%20Vision/cv-ss12-0418-intro-v1.pdf.
7
REFERENCE
73
Sjednocená organizace nevidomých a slabozrakých ČR Vydavatelské a informační služby [online] 2012?. [cit. 2012-12-10]. Dostupné z: http://www.sons.cz/zora/. Slezák, M. Demonstrační úloha na učení bez učitele Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2008. 44 s. Vedoucí bakalářské práce Ing. Petr Honzík, Ph.D.. Snyder, W. E. – Qi, H. Machine Vision New York, NY: Cambridge University Press. 2004. 433 s. ISBN: 978-0-521-83046-1. Stinger, T.Seeing the World Through Google Goggles [online] 2012. [cit. 2012-1210]. Dostupné z: http://iphone.appstorm.net/how-to/internet-how-to/ seeing-the-world-through-google-goggles/. Szeliski, R. Computer Vision: Algorithms and Applications New York, NY: Springer. 2010. 832 s. ISBN: 1848829345 . Šíma, J. – Neruda, R. Teoretické otázky neuronových sítí Vyd. 1. Praha: MATFYZ press, 1996, 390 s. ISBN 80-858-6318-9. Šonka, M. – Hlaváč, V. Počítačové vidění Praha: Grada, 1992, 252 s. ISBN 80-85424-67-3. Ji, Q.. Vision – Introduction [online] 2012. [cit. 2012-12-18]. Dostupné z: http://www.ecse.rpi.edu/Homepages/qji/CV/3dvision_intro.pdf. Varroamonitoring system [online]. [cit. 2012-12-20]. Dostupné z: http://www.varroamonitoring.cz/. včelky.cz. Nemoci a jiné ohrožení včel [online] 2005?. [cit. 2012-11-10]. Dostupné z: http://www.vcelky.cz/nemoci.htm. Webster, T. C. – Delaplane, K. S. Mites of the Honey Bee. Hamilton, IL: Dadant and Sons Inc. 2001. 280 s. ISBN: 0915698110. Weka 3 - Data Mining with Open Source Machine Learning Software in Java [online] 2009. [cit. 2012-12-23].Dostupné z: http://www.cs.waikato.ac.nz/ml/weka/. What is LabVIEW? [online] [cit. 2012-12-23]. Dostupné z: http://sine.ni.com/np/app/main/p/docid/nav-104/lang/cs/fmid/1762/. FIJI (software) [online] 2005?. [cit. 2012-12-20]. Dostupné z: http://en.wikipedia.org/wiki/FIJI_(software). Winter Honey Bee Losses in Canada 2007-2008 [online]. July 2008. [cit. 201211-10]. Dostupné z: http://cba.stonehavenlife.com/2008/07/winter-honey-beelosses-in-canada-2007-2008/.
7
REFERENCE
74
Wu, Y. An Introduction to Computer Vision Illinois, USA: Northewestern University. 2012. 7 s..
Přílohy
A
SPECIFIKACE POŽADAVKŮ
A
76
Specifikace požadavků
Funkční požadavky 1. Registrace • Popis – umožní neregistrovanému uživateli zadat své údaje do formuláře a odeslat registraci • Vstupy – informace o uživateli: jméno a příjmení, trvalé bydliště, registrační číslo včelaře, e-mailový kontakt • Zpracování – kontrola povinných položek, uložení do databáze • Výstupy – registrace uživatele 2. Přihlášení • Popis – umožní přihlášení uživatele pro další práci se systémem • Vstupy – uživatelské jméno a heslo vložené uživatelem • Zpracování – https autentizace • Výstupy – povolení nebo odmítnutí přístupu na základě vložených údajů 3. Editace sdílení • Popis – umožní uživateli nastavovat sdílení údajů • Vstupy – požadovaná úroveň sdílení pro každý druh údajů • Zpracování – uložení do databáze • Výstupy – nastavení sdílení 4. Zobrazení mapy • Popis – umožní uživateli zobrazit mapu a na ní monitorovaná stanoviště. Pokud je uživatel neregistrovaný nebo nepřihlášený, zobrazí se mu pouze mapa regionu (kraje), ze kterého přistupuje a na ní stanice v podobě barevných teček podle stupně zamoření kleštíkem. Přibližování na mapě je zakázáno. V případě, že je uživatel přihlášen, může navíc po kliknutí na tečku zjistit další údaje podle nastaveného sdílení a případně pokračovat na profil stanice. Přibližování na mapě je povoleno přibližně do měřítka 1:200000. • Vstupy – kliknutí myší na různá místa API map • Zpracování – komunikace s mapovým API, výběr z databáze systému • Výstupy – zobrazená mapa
A
SPECIFIKACE POŽADAVKŮ
77
5. Vytvoření stanoviště • Popis – umožní uživateli vytvořit stanoviště, de kterého poté organizuje příslušná včelstva. Přesná poloha je určena z čísla parcely, kterou včelař uvádí v registraci Českomoravské společnosti chovatelů. • Vstupy – označení stanoviště, číslo parcely • Zpracování – vyhledání polohy na mapě z čísla parcely, uložení do databáze • Výstupy – vytvořené stanoviště 6. Editace stanoviště • Popis – umožní upravovat údaje o stanovišti a přidávat poznámky • Vstupy – upravené údaje, vložená poznámka ke stanovišti • Zpracování – vyhledání polohy na mapě z čísla parcely v případě upravy čísla parcely, uložení do databáze • Výstupy – upravené stanoviště 7. Vytvoření včelstva • Popis – umožní vytvořit včelstvo na konkrétním stanovišti. • Vstupy – označení včelstva, jeho registrační číslo, druh včelstva • Zpracování – uložení do databáze • Výstupy – vytvořené včelstvo 8. Editace včelstva • Popis – umožní upravovat údaje o včelstvu a přidávat poznámky • Vstupy – upravené údaje, vložená poznámka ke včelstvu • Zpracování – uložení do databáze • Výstupy – upravené včelstvo 9. Analýza fotografií • Popis – umožní nahrát fotografii podložky na server, kde proběhne její analýza strojovým viděním. Aplikace určí počet roztočů na fotografii a podle čárového kódu, odpovídající registračnímu číslu včelstva na okraji fotografované podložky automaticky číslo uloží k danému včelstvu. Je také využit datum a čas ve fotografii a po potvrzení správnosti uložen.
A
SPECIFIKACE POŽADAVKŮ
78
• Vstupy – načítaná fotografie, potvrzení data pořízení fotografie • Zpracování – nalezená čárového kódu na fotografii a přiřazení k příslušnému včelstvu, nalezení počtu roztočů na fotografii, zjištění data a času pořízení fotografie, uložení do databáze • Výstupy – analyzovaná fotografie, zjištěný počet roztočů uložený k příslušnému včelstvu se správným datam pořízení fotografie 10. Prohlížení zamoření • Popis – umožní uživateli prohlížet údaje o vlastním zamoření a léčení. Údaje jsou organizovány v tabulce podle data pořízení a metody zjištění a dále v přehledném grafu. V případě nastavení sdílení ostatními uživateli je možno prohlížet i jejich údaje. • Vstupy – výběr stanoviště • Zpracování – výběr z databáze a generování tabulky a grafu pro stanoviště • Výstupy – tabulka pro příslušné stanoviště a graf 11. Zaznamenání zamoření • Popis – umožní uživateli vkládat údaje o zamoření včelstva i jiným způsobem než analýzou fotografie. U zadávání údajů si uživatel může vybrat, jakou diagnostickou metodou došel k zadávanému číslu a kdy • Vstupy – číslo udávající počet roztočů, diagnostická metoda, včelstvo, datum měření • Zpracování – uložení do databáze • Výstupy – zaznamenaný stav zamoření 12. Editace zamoření • Popis – umožní editovat zadané údaje o zamoření včelstva • Vstupy – číslo udávající počet roztočů, diagnostická metoda, včelstvo, datum měření • Zpracování – uložení do databáze • Výstupy – upravený stav zamoření
A
SPECIFIKACE POŽADAVKŮ
79
13. Zaznamenání léčení • Popis – na základě doporučení nebo zkušeností v závislosti na stavu zamoření se včelař rozhodne k přiměřenému léčení. Tato funkce mu umožní zaznamenat informace o provedeném léčení • Vstupy – datum, včelstvo, provedený způsob léčení, dávka • Zpracování – uložení do databáze • Výstupy – zaznamenané léčení 14. Editace léčení • Popis – umožní editovat zadané údaje o léčení včelstva • Vstupy – metoda určující způsob léčení, dávka, včelstvo, datum léčení • Zpracování – uložení do databáze • Výstupy – upravený stav léčení Nefunkční požadavky Uživatelské rozhraní: uživatelsé rozhraní je realizováno klasickým webovým prohlížečem dodržujícím standardy. Uživatel má kromě standardního výstupu prohlížeče možnost tisku stanovišť a údajů o nich, ať už v tabulce nebo grafu. Stejně tak může tisknout jednotlivá včelstva. Chybová hlášení, upozornění a ostatní dialogy jsou zobrazovány v prohlížeči. Hardwarová rozhraní: systém je provozován na PHP serveru. Na serveru je spuštěna runtime verze programu Vision Builder společnosti National Instruments. V ní je spuštěna analytická aplikace systému využívající strojové vidění. Vlastnosti • Dostupnost – Systém je dostupný 24/7. Maximální výpadek systému v roce je 0,1 • Bezpečnost – Systém využívá výhradně protokolu https zabepečený SSL certifikátem. Činnost uživatelů je logována v databázi. • Udržovatelnost – Systém je modulární, v případě budoucího zájmu jej lze rozšířit o další funkce. • Přenositelnost – Systém je platformně nezávislý. • Snadnost užívání – Systém nevyžaduje žádné specifické nároky na uživatele internetového prohlížeče. enditemize Další požadavky: nejsou
B
NÁVRH DIAGNOSTICKÉ PODLOŽKY
B
80
Návrh diagnostické podložky
Obrázek 30: Návrh diagnostické podložky pro práci s aplikací. Podložka má vysoký kontrast pro vytvoření co nejpříznivějších podmínek pro automatickou inspekci a obsahuje také QR kód pro identifikaci úlu. Vedle QR kódu je prostor pro případné psaní poznámek. Podložka je ideálně vytvořena z lehce omyvatelného materiálu. Je navržena pro rozměry úlu Langstrth. Je ji samozřejmě možné použít i bez aplikace.