Detekcia objektov rastlín
- 222
Jedným z dôležitých krokov na ceste k umelej inteligencii je detekcia objektov. V našom dnešnom malom príklade sa snažíme odhaliť burinu, ktorá sa objavuje v rozkopanej oblasti, a automaticky ju extrahovať z pôvodného obrázka. Obrázok bol zhotovený v mojej malej záhrade pomocou jednoduchého telefónu so systémom Android.
V tomto malom príklade používame len metódy spracovania obrazu bez umelej inteligencie. Výsledné obrázky sú však dobrým vstupom na trénovanie umelej inteligencie alebo na konkrétne použitie.
Na konkrétnu úlohu použijeme OpenCV a jazyk Python. V poľnohospodárstve existuje mnoho podobných úloh, pri ktorých je potrebné extrahovať alebo rozpoznať objekty z daného obrázka.
Nasledujúce obrázky zobrazujú pôvodnú fotografiu s poľom a burinou. Je dôležité poznamenať, že obrázok má pomerne silné tieňové efekty, ktoré našťastie nemajú vplyv na detekciu buriny.
Ale pozrime sa na to poporiadku:
- Pôvodný obrázok sa najprv prekreslí z RGB na HSV.
- Z farebného rozsahu HSV extrahujeme zelenú farbu, t. j. ženské časti.
- Potom vytvoríme obraz v odtieňoch sivej.
- Ktorý pomocou prahového procesu prevedieme na binárny obraz.
- Výsledný obraz je stále veľmi zašumený, preto použijeme proces Erode-Dilate na odstránenie šumu, odstránenie nadbytočných častí a vyplnenie medzier.
- Potom spočítame a vyfarbíme každú rastlinu alebo skupinu rastlín.
- Definujeme ohraničenie pre každú z týchto oblastí.
- Potom orežeme obrázky a vytvoríme galériu, znázornenú o niečo nižšie.
Výsledok:
Pár poznámok:
Výššie uvedený malý skript možno použiť na zvýraznenie rastlín nad tisíckami podobných obrázkov a vytvoriť malý obrázok až z desiatok tisíc obrázkov.
Ďalšou zaujímavosťou je, že systém zistil malé rastliny, okvetné lístky, ktoré som si nevšimol a mal som podozrenie, že ide o chybu. Ale keď som pôvodný obrázok zväčšil, ukázalo sa, že, jéj, naozaj je tam malá burina, ale v tieni medzi chumáčmi si ju ľudské oko nevšimlo.
V praktickom použití je dobré odfiltrovať výrastky na okrajoch obrázkov, pretože priame neprirodzené rezy môžu byť pre algoritmy vykonávajúce rozpoznávanie alebo výučbu trochu zavádzajúce.
To je pre dnešok všetko. Dúfam, že sa vám tento malý program páčil. Bol to len malý nástroj na rýchle generovanie vzoriek na výučbu a testovanie umelej inteligencie. Budem o tom informovať v niektorom z budúcich článkov.