László Moldvai EN | HU

← Tudásbázis

Gépi látás

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.

2024Q3

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ú.

2025Q2

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.