A pixelektől a mérésekig: szegmentálás, jellemzők és detektálás.
Áttekintés
A gépi látás a képeket számokká alakítja: mely pixelek növények, mekkora egy termés, hol van egy gyom. A mezőgazdaságban a feladatok többnyire háromfélék: szegmentálás (az érdekes pixelek kijelölése), osztályozás (megnevezni, mi van a képen) és detektálás (objektumok megkeresése és helyük megadása).
Fő fogalmak
Színterek
Az RGB keveri a színt és a fényerőt. A HSV elválasztja a színezetet a fényerőtől, ami hasznos a termés érettségénél, de a fényre nem érzéketlen: a vizsgálatunkban kb. 3000 lx alatt a felismert paradicsom mérete csökkent.
Vegetációs indexek
Egyszerű csatornaaritmetika, például az Excess Green (ExG = 2g − r − b kromatikus koordinátákon) szinte tanítóadat nélkül elválasztja a zöld növényt a talajtól.
Jellemzőalapú és mélytanulás
A kézzel kialakított jellemzők (alak, színhisztogram, textúra) és egy klasszikus osztályozó kevés képpel is működnek; a CNN-hez több ezer kép kell, de maga tanulja a jellemzőket.
Kiértékelés
Precision, recall és F1 értékeket a tanításhoz nem használt képeken kell megadni, és érdemes a tévesztési mátrixot is nézni, nem csak egy számot.
Kódpéldák
Zöld növények szétválasztása a talajtól Excess Green indexszel és Otsu-küszöböléssel
import cv2, numpy as np
img = cv2.imread("field.jpg").astype(np.float32)
b, g, r = cv2.split(img / img.sum(axis=2, keepdims=True).clip(1e-6)) # chromatic coordinates
exg = 2 * g - r - b # Excess Green index
exg8 = cv2.normalize(exg, None, 0, 255, cv2.NORM_MINMAX).astype(np.uint8)
_, mask = cv2.threshold(exg8, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
cv2.imwrite("plant_mask.png", mask)
Érett (piros) pixelek keresése HSV színtérben
import cv2
hsv = cv2.cvtColor(cv2.imread("tomato.jpg"), cv2.COLOR_BGR2HSV)
# red wraps around hue 0, so two ranges; thresholds are examples, tune them on your own images
mask = cv2.inRange(hsv, (0, 100, 60), (10, 255, 255)) | cv2.inRange(hsv, (170, 100, 60), (180, 255, 255))
print("ripe pixels:", int((mask > 0).sum()))
Esettanulmány
Esettanulmányok a munkáimból: hány kép elég egy jellemzőalapú osztályozóhoz, és hogyan változtatja a megvilágítás a színalapú paradicsom-felismerést.
Hivatkozások a saját munkáimból
2024Q2
Weed Detection and Classification with Computer Vision Using a Limited Image Dataset
L. Moldvai, P. Á. Mesterházi, G. Teschner, A. Nyéki
Applied Sciences 2024, 14(11), 4839
Összefoglaló
Hány tanítókép elég? Hagyományos, jellemzőalapú gépi látást (alak-, távolságtranszformációs, színhisztogram- és textúrajellemzők) és hat osztályozót teszteltünk gyomfajonként 5–160 képpel, négyosztályos feladatban. Fajonként 160 képpel 94,56 %-os recall érhető el, ami a mélytanulás pontosságát közelíti az adatmennyiség tizedével.
The Effect of Illumination on HSV Colour Segmentation for Ripe Tomatoes based on Machine Vision
B. Ambrus, A. Nyéki, G. Teschner, L. Moldvai
Chemical Engineering Transactions 2024, 114, 829–834
Összefoglaló
Érett paradicsom HSV színtérben történő szegmentálását vizsgáltuk 15 különböző mesterséges megvilágítási szinten. Az eredmények 3000 lx fölött stabilak; alatta a detektált méret egyre kisebb, 1600 lx körül a valódi méretnek csak a fele mérhető, ezért a pontos méréshez a megfelelő megvilágítás kulcsfontosságú.
Innovative computer vision methods for tomato (Solanum lycopersicum) detection and cultivation: a review
L. Moldvai, A. Nyéki
Discover Applied Sciences 2025, 7, 975
Összefoglaló
Áttekintő tanulmány a paradicsomtermesztésben alkalmazott gépi látás, mélytanulás és MI legújabb eredményeiről: termésosztályozás, számlálás és hozambecslés, növényegészség-monitorozás (gyomok, kártevők, levélbetegségek), járműnavigáció és szüretelő robotok, az elmúlt két év képfeldolgozó algoritmusaira fókuszálva.