Data processing and analysis

Back

Lecture 9

Computer vision: the image as measurement

Mi romlik el a modell előtt — kalibráció, cellaméret, csempézés —, milyen feladattípusok vannak és mit jelent a címkéjük az adatban, és mit mérünk valójában, amikor egy képi modellt jónak mondunk.

Start with AikoDeck66 slides · 90 min

  1. 01

    A kép mint mérés

    Három hiba, amelyik a modell előtt keletkezik

    Ez a modul a gépi látásról szól, és rögtön az elején elmondom, mi lesz a vezérfonal. A kép nem illusztráció, hanem MÉRÉS. Van mértékegysége — milliméter per képpont —, van referenciája, és van hibája. Ebben a blokkban három olyan hibát nézünk meg, amelyik a modell ELŐTT keletkezik. Ezeket egyetlen háló sem javítja meg, mert nincs bennük az információ, amit elvesztettünk.

  2. 02

    Milliméter per képpont — és a referencia

    A skála a távolsággal arányos. Aki síkon kívül kalibrál, arányos méretbeli hibát kap.

    A méretbecslés legegyszerűbb képlete: a tárgy valódi mérete a képen mért képpontszám szorozva a skálatényezővel. A skálatényező viszont a kalibrálási TÁVOLSÁGTÓL függ — és ha a tárgy nem ott van, ahol a kalibráló etalon volt, a hiba egyenesen arányos az elcsúszással. A második képlet ezt mondja ki: öt százalékkal távolabb kalibrálva öt százalék méretbeli hiba. A demó ezt ellenőrzi is: a mért görbe és a zárt alak eltérése két a mínusz tizenhatodikon — vagyis a számábrázolás pontossága.

  3. 03

    Számold ki: mennyit visz el a rossz referencia

    A `cv-calibration` demó esete: 5 %-kal távolabb kalibrálva.

    Két csúszka: hol volt a kalibráló etalon, és hol van a tárgy. Az alapbeállítás öt százalék eltérés — és a méretbeli hiba pontosan öt százalék. Nézd meg, hogy a hiba ARÁNYOS: tíz százalék távolsághiba tíz százalék méretbeli hibát ad. És ami a fontosabb: ez RENDSZERES hiba. Nem csökken attól, hogy több felvételt készítesz, mert minden felvételen ugyanabba az irányba téved. A mérési lánc hibája csak a mérési láncban javítható.

  4. 04

    A kalibrálás hibája, megmérve

    A `cv-calibration` demó ábrája: a távolsághiba zárt alakja és a lencsetorzítás sugár menti profilja.

    Itt a teljes mérés. A bal oldali panel a távolsághibát mutatja: egyenes arány, és a mért pontok a zárt alakon ülnek. A jobb oldali a lencsetorzítás a képmező sugara mentén — és ez nem lineáris, hanem a szélek felé gyorsuló. Ezért van az, hogy a középen mért tárgy pontos, a sarokban mért pedig tíz százalékkal téved. Ha a mérési feladatod méretbecslés, akkor vagy torzításkorrekciót kell futtatnod, vagy a képmező közepére kell tenni a tárgyat.

  5. 05

    Futtasd le magad

    A `cv-calibration` cellája: skálatényező, távolsághiba és a torzítás sugár menti profilja.

    A cella itt fut. A csavar a torzítási együttható: erősítsd mínusz nulla nulla nyolcra, és nézd meg, mennyit visz el a képmező széle. Ebből megtudod, hogy a saját objektíveddel mekkora képmezőrészt szabad mérésre használni — és ez a szám a projekt első oldalára való.

  6. 06

    A keverékképpont: amit a táblaszél elvisz

    A hiba nem a tábla méretétől függ, hanem a KERÜLET/TERÜLET aránytól.

    A második hiba a cellaméret. Egy műholdas vagy drónos rács celláinak egy része a táblaszélen ül: félig tábla, félig út vagy árok. Ezek a keverékképpontok, és az átlagot LEFELÉ húzzák, mert a táblán kívüli érték kisebb. A demó ezt két táblaalakon mérte meg, azonos területtel. A zömök táblán harminc méteres cellánál a képpontok tizennégy egész egy százaléka kevert. A keskeny táblán ugyanez sokkal rosszabb — mert nem a terület számít, hanem a kerület per terület arány.

  7. 07

    A negatív puffer — és miért működik

    A hiba a kevert hányad és a kontraszt szorzata. Mindkettő csökkenthető, de máshogy.

    A gyógymód egyszerű, és a képletből következik. Ha a határt egy cellányit BEFELÉ húzzuk, akkor a kevert cellák kiesnek a számításból. Az ár az, hogy elveszítünk egy cellányi sávot a tábla szélén — vagyis területet cserélünk pontosságra. A demó megmérte: negatív puffer nélkül harminc méteres cellánál az átlaghiba mínusz nulla nulla két NDVI-egység, pufferrel viszont nulla, négy tizedesjegyig. A torzítás nem csökken — ELTŰNIK.

  8. 08

    Két táblaalak, öt cellaméret

    A `cv-resolution` demó ábrája: keverékképpont-arány, átlaghiba és területhiba, két táblaalakon.

    A teljes mérés. Nézd meg a két táblaalak görbéit egymás mellett: azonos területnél a keskeny tábla végig rosszabb, és a különbség a cellamérettel nő. És figyeld meg a területhiba oszlopát is — ott van egy tanulságos szabálytalanság: ahol a tábla szélessége éppen egész számú cella, ott a hiba kisebb. Ez nem zaj, hanem a rács és a tábla illeszkedése, és pontosan ezért átlagol a demó több rácseltolásra.

  9. 09

    A felbontás futtatva

    A `cv-resolution` cellája: két táblaalak, öt cellaméret, keverékképpont, átlaghiba és puffer.

    A cella itt fut. Érdemes a saját tábláid alakjával végigszámolni: a kerület és a terület egy térinformatikai fájlból kiolvasható, és onnantól a képlet megmondja, mekkora cellaméretnél mennyi a várható torzítás. Ez az a fajta számítás, amit érdemes egyszer megcsinálni, mielőtt drága felbontást vásárolunk.

  10. 10

    Csempézés: az elveszett és a kétszer számolt

    800 valódi objektum. Átfedés nélkül 815, elegendő átfedéssel pontosan 800.

    A harmadik hiba a csempézés. A nagy felvételt darabokra vágjuk, mert egyben nem fér a memóriába — és a csempék határán álló objektumok vagy kettévágódnak, vagy mindkét csempén megjelennek. A demó nyolcszáz objektumot tett egy kétezerszer kétezres képre, és megmérte, mennyit számol a csempézés. Átfedés nélkül nyolcszáztizenötöt. Az átfedés növelésével a hiba csökken — de csak akkor, ha az átfedés legalább akkora, mint az objektum ÁTMÉRŐJE.

  11. 11

    A csempeátfedés ára

    A `cv-tiling` demó ábrája: megszámolt objektum az átfedés függvényében, összevonással és anélkül.

    A teljes görbe. A két sorozat közti rés az, amit az összevonás megtakarít. Az objektum sugara hét képpont, tehát az átmérője tizennégy — és nézd meg, hol találja el a pontos darabszámot az összevonásos sorozat: pontosan tizennégynél. Ez nem véletlen egybeesés, hanem a szabály: az átfedés legyen legalább akkora, mint a legnagyobb objektum átmérője.

  12. 12

    A csempézés futtatva

    A `cv-tiling` cellája: hat átfedés, összevonással és anélkül, tökéletes detektálás mellett.

    A cella itt fut. Ez a demó azért fontos, mert a hiba itt nem a modellben van: a detektálás TÖKÉLETES, minden objektumot megtalál. A darabszám mégis téved, pusztán a feldarabolástól. Ez a modul egyik visszatérő gondolata — a feldolgozási lánc hibája nem a modell hibája, és nem is ott javítható.

  13. 13

    A képi lánc — felvételtől a döntésig

    felvétel — kamera, drón, műhold; a megvilágítás és a kalibráció itt dől el · georeferálás — GDAL, rasterio, QGIS: a képpontból itt lesz hely · előfeldolgozás — OpenCV: színtér, szűrés, csempézés, maszkolás · címkézés — CVAT, Label Studio; a kimenet COCO, VOC vagy YOLO formátum · modell — detektor- vagy szegmentálócsalád, saját adaton finomhangolva · futtatás — ONNX-re exportálva, peremeszközön vagy kiszolgálón · mérce — a FELADAT mérőszáma: darabszám, terület, riasztás ára

    A modul eszközeit is érdemes egészben látni. A lánc hét lépés, és a modell csak az ötödik. Ez nem stílus: a hiba nagy része az első négyben keletkezik, és ott is kell megjavítani. Felvétel, georeferálás, előfeldolgozás, címkézés, modell, futtatás, mérce. Figyeld meg, hogy a modell két oldalán is van munka — és hogy a lánc a MÉRCÉVEL ér véget, nem a modellel.

  14. 14

    Kérdés

    Rendszeres 3 %-os alulszámlálás, F1 = 0,95. Mi az első lépés?

    Egy drónos számlálás rendszeresen három százalékkal kevesebbet mutat, mint a kézi számlálás. A detektáló modell F1-értéke 0,95. Mi az első, amit megnézel?

    Question

    1. 1. A feldolgozási lánc: a csempézést és a kalibrációt — ezek a modell ELŐTT rontanak.
    2. 2. Újratanítod a modellt több adaton.
    3. 3. Emeled a detektálási küszöböt, hogy több objektumot találjon.

    A RENDSZERES eltérés a lánc hibájára utal, nem a modellre: véletlen modellhiba nem egy irányba téved. A `cv-tiling` mérése pontosan ezt mutatja — tökéletes detektálással is 800 helyett 786-ot számolhatunk. A harmadik válasz ráadásul a precizitást rontaná el a fedés javításáért, anélkül hogy a rendszeres torzítás okát megtaláltuk volna.

  15. 15

    A rész fogalmai

    Méretkalibráció · Lencsetorzítás — a kép széle felé gyorsuló geometriai torzítás; a képmező felénél 2,6 %, a sarokban 10,5 % méretbeli hiba · Kamerakalibráció · Csempézés · Képalkotás

    Az első blokk fogalmai. Mindhárom a képalkotásról szól, nem a modellről — és mind a három a modell előtt dől el.

  16. 16

    A feladat alakja

    A feladattípust a CÍMKE alakja adja, nem a modell

    Az első blokk arról szólt, mi romlik el a modell ELŐTT. Ez a blokk arról, hogy mi az a feladat, amit egyáltalán megfogalmazunk. És itt jön a modul leggyakoribb hibája: a feladatot a modell után választják — valaki talál egy jól működő detektort, és onnantól minden kérdés detektálási kérdés lesz. Pedig a feladattípus nem modell. Címkeforma.

  17. 17

    Mérés és szétvágás

    Amikor a modellmérőszám szép, a feladaté pedig nem

    A második blokk arról szól, mit mérünk valójában, amikor egy képi modellt jónak mondunk. Öt mérés, és mind az ötben ugyanaz a szerkezet: a szokásos modellmérőszám szép, a FELADAT mérőszáma viszont nem. Ez a modul legfontosabb blokkja, mert a projektmunkában ezen múlik minden.

  18. 18

    Nyolc feladattípus, a címke felbontása szerint

    Képosztályozás — egy címke az egész képre: „van rozsda” · Képi regresszió — egy SZÁM az egész képre: „31 % borítottság” · Objektumdetektálás — befoglaló doboz és osztály objektumonként · Szemantikus szegmentálás — képpontonként osztály; az egyedeket NEM különbözteti meg · Példányszegmentálás — képpontonkénti maszk EGYEDENKÉNT: terület és darabszám együtt · Kulcspont-detektálás — megnevezett pontok objektumonként: méret, tartás, irány · Számlálás — darabszám; detektálásból összegezve vagy közvetlen sűrűségbecslésből · Objektumkövetés — azonosság képkockákon át: ugyanaz az egyed, ugyanaz az azonosító

    Alulról felfelé nő a címke felbontása, és vele a címkézés ára. Legalul a képszintű címke: egy szó az egész képre. Fölötte a folytonos szám ugyanoda. Aztán a doboz objektumonként, aztán a képpontonkénti osztály, aztán a képpontonkénti EGYED. A kulcspont külön ág: nem több terület, hanem megnevezett pontok. És legfölül a követés, ami időben is összeköt. A lényeg a nyíl iránya: durvább címkéből a finomabb kérdés NEM válaszolható meg. Ez a címkefelbontás felső korlátja, és ezt a projekt legelején kell eldönteni.

  19. 19

    Az alapvonal, ami nem háló

    Két szorzás, két kivonás, egy küszöb. Déli fényen 93,3 % — ez az alapvonal.

    Mielőtt bármilyen hálóról beszélnénk: a zöldtöbblet-index három szorzás és két kivonás. Kétszer a zöld csatorna, mínusz a vörös, mínusz a kék. Erre egy küszöb, és kész a gyomfelismerés. A demó szerint ez déli fényen kilencvenhárom egész három százalékot ad. Ez az alapvonal — és ha a hálód ezt nem veri meg, akkor a háló nem hoz semmit. A második képlet a javítás: ha a csatornák összegére normálunk, a képlet a megvilágítás erősségétől függetlenné válik.

  20. 20

    Mi van a címkefájlban, és mi a mérce

    feladat | mi van a címkefájlban | mi a mérce · képosztályozás | képazonosító + egy osztálynév; egyetlen szöveges oszlop | pontosság, F₁, ROC-AUC — osztályonként, ha kiegyensúlyozatlan · képi regresszió | képazonosító + egy szám | MAE, RMSE, R² — ugyanúgy, mint táblázatos adaton · objektumdetektálás | objektumonként (osztály, x, y, szélesség, magasság), normálva vagy képpontban | mAP IoU-küszöbön (0,5 vagy 0,5–0,95), precizitás és fedés méretsávonként · szemantikus szegmentálás | osztálytérkép: a képpel azonos méretű egész értékű raszter | IoU vagy Dice osztályonként, majd átlag (mIoU) · példányszegmentálás | egyedenként poligon vagy futáshossz-kódolt (RLE) maszk + osztály | maszk-alapú mAP; darabszámnál külön a darabszámhiba · kulcspont-detektálás | objektumonként pontlista (x, y, látható-e) rögzített sorrendben | OKS-alapú mAP; a láthatósági jelző kezelése külön szabály · számlálás | darabszám képenként, vagy sűrűségtérkép | a darabszám hibája ÉS annak IRÁNYA — nem a detektálási F₁ · objektumkövetés | képkockánként (azonosító, doboz); az azonosító képkockákon át állandó | MOTA és IDF1 külön; a detektálás és az azonosság két különböző hiba

    Ez a blokk legfontosabb táblázata. A középső oszlop az, amit a legtöbb tananyag kihagy: hogy néz ki az adat. Nem elvont — ez az, amit a címkéző eszköz kiír, és amit a betöltőnek olvasnia kell. A jobb oldali oszlop pedig a mérce, és figyeld meg, hogy MINDEGYIK más. Ugyanaz a modell két feladathoz két különböző számot ad, és a kettő nem hasonlítható össze.

  21. 21

    A csúszó küszöb, megmérve

    A `cv-baseline` demó ábrája: a nyers és a normált index eloszlása két megvilágításon.

    Itt a teljes mérés. A bal oldali panel a két megvilágítás hisztogramja a nyers indexszel: látszik, hogy a délutáni eloszlás egyben eltolódott, és a rögzített küszöb rossz helyre került. A jobb oldalon ugyanez normálva: a két eloszlás egymásra esik, és ugyanaz a küszöb mindkettőn jó. Ez a modul egyik legfontosabb képe, mert megmutatja, hogy az üzemi romlás gyakran nem a modellben van, hanem egyetlen beállított számban.

  22. 22

    Képosztályozás és képi regresszió

    Képosztályozás: egyetlen osztálycímke a TELJES képre; a modell bármiből dolgozhat, ami a képen van — a háttér is tanulható. · Képi regresszió: egyetlen folytonos szám a teljes képre — borítottság, beérettség, becsült tömeg. Ugyanaz a szerkezet, más címketípus. · Olcsó címkézni: másodpercek képenként, szakértelem alig kell · Nem ellenőrizhető, MIT nézett a modell — lokalizáció nélkül nincs mire visszakérdezni · A védekezés a szétvágás: felvételi nap, tábla és eszköz szerint kell szétvágni, nem véletlenül

    A két legolcsóbb címkeforma, és a két legkönnyebben félrevezető. Az ok közös: egyikben sincs lokalizáció, tehát a modell BÁRMIBŐL dolgozhat, ami a képen van. A rozsdás leveleket délután fényképezték, az egészségeseket délelőtt? A modell a fényt tanulja meg, és a teszten is jól teljesít — amíg a teszt ugyanabból a napból van. Ezt a hibát nem a modell mérőszáma mutatja meg, hanem a szétvágás, és ez a következő blokk tárgya.

  23. 23

    Az alapvonal futtatva

    A `cv-baseline` cellája: ExG és normált ExG, két megvilágításon, azonos küszöbbel.

    A cella itt fut. Ez negyven sor numpy, és kilencvenöt százalékot ad. Mielőtt bárki hálót tanít erre a feladatra, ezt le kell futtatnia — mert ez lesz az a szám, amit meg kell verni. És ha a háló kilencvenhat százalékot ad tízezer címkézett képért cserébe, az nem győzelem, hanem költség.

  24. 24

    Detektálás, szegmentálás, példányszegmentálás

    Objektumdetektálás: befoglaló doboz és osztály EGYEDENKÉNT — darabszámhoz elég, területhez durva (a doboz hátteret is tartalmaz). · Szemantikus szegmentálás: képpontonkénti osztály, egyedek nélkül — területarányra pontos, darabszámra alkalmatlan. · Példányszegmentálás: képpontonkénti maszk egyedenként — terület ÉS darabszám, a legdrágább címkézéssel. · A választás a KÉRDÉSBŐL jön: borítottság → szemantikus · darabszám → detektálás · mindkettő → példány

    A három lokalizáló feladat, és a különbségük egy mondatban. A detektálás dobozt ad: gyors, olcsó, és a darabszámhoz elég. A szemantikus szegmentálás képpontonkénti osztályt ad: TERÜLETRE pontos, de két összeérő levél egyetlen folt — darabszámhoz alkalmatlan. A példányszegmentálás mindkettőt adja, és háromszor-ötször annyi címkézési időbe kerül. A választás tehát nem pontossági kérdés: a feltett kérdés dönti el. Ha a kérdés borítottság, szemantikus kell. Ha darabszám, detektálás. Ha mindkettő, példány.

  25. 25

    Mikor melyik eszköz — és mi az ára

    megközelítés | mikor elég | mi az ára · színindex és küszöb (ExG, NDVI) | zöld kontra talaj, borítottság, folthatárok | nulla címke — de a küszöb megvilágításfüggő · klasszikus képfeldolgozás (OpenCV) | alak, méret, kontúr, morfológia; kalibrált mérés | nulla címke — de kézi szabályok, és törékeny · előretanított detektor finomhangolása | objektumonkénti számlálás, betegségosztályozás | néhány száz–ezer címkézett kép, és videokártya · irányítható szegmentálás (SAM-vonal) | maszk pontból vagy dobozból — CÍMKÉZÉST gyorsít | osztálycímkét nem ad: nem tudja, mit rajzolt körbe

    Négy szint, növekvő költséggel. A képlet alapú index ingyen van, és a demónk szerint kilencvenöt százalékot ad — ez az alapvonal. A klasszikus képfeldolgozás akkor jön, ha alakot is kell nézni. Az előretanított detektor finomhangolása akkor, ha az objektumokat egyenként kell megszámolni — és itt már címkézett adat kell. Az irányítható szegmentálás pedig nem osztályozó: címkézést gyorsít. A jobb oldali oszlop a valódi döntés: nem a pontosság, hanem az, mibe kerül.

  26. 26

    A lokalizáció mércéi: IoU, Dice, mAP

    A Dice és az IoU ugyanazt méri, más skálán. 0,5-ös IoU = 0,67-es Dice — a két szám sosem vethető össze közvetlenül.

    Három képlet. Az első az átfedési arány: a metszet osztva az unióval. A második a Dice: kétszeres metszet osztva a két terület összegével — ugyanazt méri, de MEGENGEDŐBB, és a harmadik sor mondja meg, mennyivel. Nulla egész ötös IoU nulla egész hatvanhetes Dice. Ezért nem szabad soha összehasonlítani egy IoU-értéket egy Dice-értékkel — az orvosi és a növényi irodalom Dice-t jelent, a detektálási Ioú-t, és az olvasó észre sem veszi. A negyedik sor az mAP: a precizitás-fedés görbe alatti terület osztályonként, egy IoU-KÜSZÖB mellett. A küszöb kiírása nélkül a szám nem értelmezhető.

  27. 27

    Tartományeltolódás: ugyanaz a modell, más fény

    11,6 pont esés, és a modell közben nem jelez semmit.

    Ugyanez a jelenség egy tanult modellen. A demó egy színalapú osztályozót tanít déli fényen, aztán délutánin teszteli. Az esés tizenegy egész hat százalékpont. És most jön a lényeg: a modell NEM JELEZ hibát. A döntési rés — az, hogy mennyire magabiztos — hetven százalékról ötvenre megy, vagyis nem omlik össze. A modell ugyanolyan magabiztosan mond rosszat. Ezért nem elég a modell kimenetét figyelni: a BEMENET eloszlását kell nézni.

  28. 28

    Számold ki: IoU és Dice ugyanarra a maszkra

    A Dice mindig nagyobb az IoU-nál. A két szám ugyanazt a maszkot írja le — csak más skálán.

    Egy csúszka, és egy számpár, amit érdemes fejben tartani. Állítsd az IoU-t nulla egész ötre: a Dice nulla egész hatvanhét. Nulla egész hétnél nulla egész nyolcvankettő. Nulla egész kilencnél nulla egész kilencvenöt. A Dice MINDIG nagyobb, és a kettő közti rés a középső tartományban a legnagyobb. Aki Dice-t jelent és IoU-t olvas, az minden esetben jobbnak látja a modellt, mint amilyen — és fordítva.

  29. 29

    Az eltolódás és ami visszahozza

    A `cv-domainshift` demó ábrája: a két tartomány eloszlása és a négy kezelés pontossága.

    A teljes kép. A bal oldalon a két tartomány színeloszlása, a jobb oldalon a pontosság a négy kezeléssel. A tanulság sorrendje itt is fontos: először MÉRD MEG, hogy van-e eltolódás — ehhez nem kell címke, elég a bemenetek eloszlása. Csak utána válassz korrekciót. Aki fordítva csinálja, az vaktában normalizál, és néha ront vele.

  30. 30

    Amikor a szép mérőszám rossz darabszámot takar

    F₁ = 0,918, és a darabszám mégis −5,8 %-kal téved, 200-ból 190 felvételen LEFELÉ.

    Itt a mérés. Kétszáz felvétel, közel huszonnégyezer objektum. Az F-egy nulla egész kilencszáztizennyolc — ezt a számot bátran leírná bárki egy jelentésbe. A darabszám mégis átlagosan mínusz öt egész nyolc százalékkal téved, és kétszáz felvételből SZÁZKILENCVENEN lefelé. Ha a hiba véletlen volna, ez a fele lenne. Az ok a méretfüggés: a legkisebb negyedet a detektor hatvannégy egész kilenc százalékban találja meg, a többit kilencvenhét egész kettőben. A téves riasztások ezt részben elfedik, de nem javítják — egy hiányzó kalász helyére nem az kerül, amit tévesen bejelöltünk.

  31. 31

    Az eltolódás futtatva

    A `cv-domainshift` cellája: két megvilágítás, négy kezelés, és a döntési rés mindkét tartományon.

    A cella itt fut. A csavar a színhőmérséklet-váltás: erősítsd, és nézd meg, meddig bírja a szürkevilág-korrekció. Az önellenőrzés is a cellában van: az azonos fényen mért kilencvenegy egész egy százalék a felső határ — ha egy korrekció ezt túllépné, valami hibás a mérésben.

  32. 32

    Számold ki: honnan jön a darabszámhiba

    A darabszám akkor pontos, ha a fedés és a precizitás EGYENLŐ — nem akkor, ha mindkettő magas.

    Két csúszka, és egy képlet, ami az előző dia számát magyarázza. A mért darabszám a valódinak a fedés osztva precizitás-szorosa — ez egyszerű algebra, nem közelítés. A `cv-metric` demó értékeivel: fedés nulla egész nyolcszázkilencvenegy, precizitás nulla egész kilencszáznegyvenhét, a hányados nulla egész kilencszáznégy, tehát mínusz öt egész kilenc százalék. A demó felvételenként átlagolva mínusz öt egész nyolcat mér; a különbség a két átlagolás sorrendjéből jön, nem hibából. És a fontos következmény: a darabszám akkor és csak akkor pontos, ha a fedés és a precizitás EGYENLŐ — nem akkor, ha mindkettő magas.

  33. 33

    F1 = 0,918 — és mégis 5,8 %-kal alulszámlál

    Az F1 a két mérőszám közepét méri. A darabszám a HÁNYADOSUKAT.

    És itt a modul legfontosabb mérése. Egy detektáló precizitása kilencvennégy egész hét, fedése nyolcvankilenc egész egy, az F1-je nulla egész kilencszáztizennyolc. Ez egy jelentésben kifogástalanul néz ki. A darabszám viszont rendszeresen öt egész nyolc százalékkal kevesebb. És ez nem véletlen szórás: a kétszáz felvételből száznyolcvanban alulszámlál. Ha a hiba véletlen lenne, ez a fele lenne. A képlet megmondja, miért: a darabszám hibája a fedés és a precizitás KÜLÖNBSÉGÉBŐL jön, az F1 viszont a közepüket méri.

  34. 34

    Kulcspont és követés

    Kulcspont-detektálás: megnevezett pontok objektumonként, rögzített sorrendben, láthatósági jelzővel — méret, tartás, irány mérésére. A befoglaló doboz ezeket nem hordozza. · Objektumkövetés: azonosító képkockákon át. A nehézség nem a detektálás, hanem a takarás utáni visszaazonosítás. · A követés mérése KÉT hiba: a detektálásé és az azonosságé — a MOTA összegzi, az IDF1 külön az azonosságot méri

    A két feladat, amit agrárban a legritkábban vesznek elő, pedig gyakran ezek a helyesek. A kulcspont akkor kell, ha a kérdés MÉRET, TARTÁS vagy IRÁNY: a kalász hossza a tövétől a csúcsáig, az állat ízületeinek szöge. Ezt a befoglaló doboz nem hordozza — egy ferdén álló kalász doboza nagyobb, mint egy egyenesé, ugyanolyan hossz mellett. A követés pedig akkor, ha a kérdés IDŐBELI: mennyit mozog egy egyed, mennyit eszik, mikor sántít.

  35. 35

    Az átfedési arány (IoU) — és a 0,5-ös szokás

    A szokásos találatküszöb 0,5. Ez megállapodás, nem tétel — a feladat dönti el, mennyi elég.

    Egy detektálás akkor számít találatnak, ha elég jól fedi a valódi objektumot. Az „elég jól” mérőszáma az átfedési arány: a metszet területe osztva az unióéval. Egy és nulla között van, és a szokásos küszöb nulla egész öt. De nézd meg, mit jelent ez: két azonos méretű doboz ötven százalékos átfedéshez körülbelül a szélességük harmadával csúszhat el. Számlálási feladatnál ez elfogadható. Méretbecslésnél nem — ott a doboz pontossága maga az eredmény.

  36. 36

    Agrárkérdés és a hozzá tartozó feladat

    agrárkérdés | a hozzá tartozó feladat | a gyakori tévedés · Mekkora a gyomborítottság a táblán? | szemantikus szegmentálás | detektálás: a doboz hátteret is tartalmaz, tehát a területet felülbecsli · Hány kalász van a négyzetméteren? | detektálás vagy sűrűségbecslés | szegmentálás: az összeérő kalászok egyetlen folttá olvadnak · Beteg-e ez a levél? | képosztályozás | detektálás: fölösleges címkézés, ha a kérdésben nincs „hol” · Milyen arányban érett be a tábla? | képi regresszió vagy szemantikus szegmentálás | osztályozás három kategóriára: a folytonos válasz kerekítése információt dob el · Mekkorák az egyedi kalászok? | kulcspont | detektálás: a ferde objektum doboza nagyobb, mint a hossza · Hány állat és mennyit mozog? | detektálás + követés | képkockánkénti detektálás követés nélkül: a darabszám jó, az egyedi idő nem · Mekkora a kártétel foltja és hány folt van? | példányszegmentálás | szemantikus szegmentálás: területet ad, darabszámot nem

    És a záró táblázat: kérdés, feladat, és a leggyakoribb tévedés. A jobb oldali oszlopot olvasd el figyelmesen — mindegyik sor egy valódi projekthiba. A leggyakoribb közülük az első: valaki gyomborítottságot akar mérni, és detektálást tanít, mert az volt kéznél. A doboz viszont hátteret is tartalmaz, tehát a területet rendszeresen felülbecsli — és ez a hiba nem véletlen, hanem irányított.

  37. 37

    A darabszám-hiba eloszlása

    A `cv-metric` demó ábrája: a darabszám-hiba eloszlása és a fedés méret szerint.

    A teljes mérés. A bal oldali panel a darabszám-hiba eloszlása kétszáz felvételen: nézd meg, hogy az egész eloszlás a nulla BAL oldalán ül. Ez a rendszeres torzítás képe. A jobb oldalon a fedés méret szerint — innen jön a magyarázat. A tanulság: ha a feladat számlálás, akkor a jelentésbe a DARABSZÁM hibája való, nem az F1. A modellmérőszám eszköz; a mérce a feladaté.

  38. 38

    A mérőszám futtatva

    A `cv-metric` cellája: precizitás, fedés, F1, és a darabszám hibája kétszáz felvételen.

    A cella itt fut. Ezt a mérést érdemes a saját projektedre is megcsinálni: vedd a detektálásaidat, számold ki az F1-et, aztán számold ki a darabszám hibáját is — és nézd meg, egy irányba téved-e. Ha igen, akkor rendszeres torzításod van, és azt kalibrációval javítani lehet, modellcserével nem feltétlenül.

  39. 39

    Valódi képek, valódi predikciók

    Három fénykép, három predikció, és mérés ground truth nélkül

    Eddig szintetikus képeken mértünk, és ennek jó oka volt: ott pontosan tudjuk, mennyi a növény, tehát a hibát a forrásáig lehet vinni. Most megfordítjuk. Három valódi fénykép, szabad licenccel, és három predikció rajtuk: egy képlet, egy kézzel tanított osztályozó, és egy előtanított mély háló. Egyik mérésnél sincs annotált igazságmaszk — és a blokk egyik tanulsága éppen az, hogy enélkül is lehet becsületesen mérni, ha jól teszed fel a kérdést.

  40. 40

    Ugyanaz a növény a tanítóban és a teszten

    99,8 % kontra 64,0 %. A különbséget a szétvágás adja, nem a modell.

    A negyedik mérés a 8. hét anyagának képi változata. Száz növény, mindegyikről öt felvétel. Ha képenként sorsolunk szétvágást, ugyanannak a növénynek a képei a tanítóba ÉS a tesztbe is kerülnek — és a modell kilencvenkilenc egész nyolc százalékot ad. Ha növény szerint vágunk, hatvannégyet. Harmincöt egész nyolc százalékpont, amit a rossz szétvágás ingyen ad. A demó a mechanizmust is megméri: véletlen szétvágásnál a legközelebbi szomszéd az esetek kilencvennyolc egész négy százalékában ugyanaz a növény.

  41. 41

    A három kép, és miért éppen ez a három

    Könnyű · nehéz · nulla-kontroll. Ground truth maszk nincs — de a kontrollon ismert a helyes válasz.

    A képek nem véletlenül ezek. Az első könnyű eset: zöld kukorica vörös talajon, éles színkontraszt. A második nehéz: zöld zab száraz kukoricaszár alatt, jó részben árnyékban. A harmadik a legfontosabb — sávos talajművelés után gyakorlatilag nincs rajta zöld. Ez a NULLA-KONTROLL, és ez az egyetlen kép, amelynek az igazságát ránézésre ki lehet mondani. Enélkül a másik kettőn csak azt tudnánk mérni, melyik eljárás mást mond; a kontrollal azt is, melyik mond rosszat.

  42. 42

    A szivárgás ára, képi adaton

    A `cv-leakage` demó ábrája: véletlen és egyed szerinti szétvágás, öt felvételszámon.

    A teljes mérés. Ez az a dia, amit érdemes megjegyezni a projektmunkához: a képi adatnál a szétvágás egysége szinte SOHA nem a kép. Ugyanaz a növény, ugyanaz a tábla, ugyanaz a felvételi nap — mindhárom szivárgási csatorna. A szabály egyszerű: a szétvágás egysége az legyen, amiről a modellnek majd üzemben is nyilatkoznia kell.

  43. 43

    Mit jelöl meg növénynek — három eljárás, három valódi kép

    Az alsó sor jobb szélső panelje a blokk lényege: az Otsu egy zöld nélküli képen 98,8 %-ot jelöl meg.

    Itt a mérés, és ezt az ábrát érdemes lassan végignézni. A sorok a képek, az oszlopok az eljárások, a sárga az, amit a gép növénynek nevezett. Felül a kukorica: a nyers zöldindex a talajra is ráfest, a normált szorosabb, az Otsu óvatos. Középen a zab: a nyers index az egész képet befedi, ötvenkilenc százalék. És most nézd meg a legalsó sort, a jobb szélső panelt. Ez a tarlós kép. Nincs rajta zöld. És az egész kép sárgán világít: kilencvennyolc egész nyolc százalék.

  44. 44

    A szivárgás futtatva

    A `cv-leakage` cellája: két szétvágás, öt felvételszám, és a szivárgás mechanizmusa.

    A cella itt fut. A csavar az egyedi jel erőssége: gyengítsd nulla egész négyre, és nézd meg, mennyivel kisebb a szivárgás ára. Ebből megtudod, hogy a szivárgás nagysága attól függ, MENNYIRE egyedi a növény — vagyis hogy a te adatodon mekkora kockázat.

  45. 45

    Miért csúszik el a nyers zöldindex

    A nyers index a fénnyel szorzódik. A normált nem — az f kiesik, azonosan.

    Írjuk fel, mi a baj. Az első sor a tankönyvi zöldtöbblet: kétszer a zöld, mínusz a piros és a kék. A második sor a baj: ha a képet f-szeres fénnyel vesszük fel, mindhárom csatorna f-szeres lesz, tehát a KÜLÖNBSÉG is — a küszöb alatta elcsúszik. A harmadik sor a javítás: ugyanazt a képletet a csatornák összegére normáljuk. És most nézd meg a negyediket: az f kiesik. Nem közelítőleg, hanem azonosan. Egyetlen osztás, és a mérőszám függetlenné vált a megvilágítástól.

  46. 46

    Az annotációs formátumok — és ahol elcsúsznak

    formátum | ahogy a dobozt leírja | ahol elcsúszik · COCO JSON | [x_bal, y_felső, szélesség, magasság] képpontban | a sarok vagy a középpont: itt a BAL FELSŐ sarok · Pascal VOC XML | [x_min, y_min, x_max, y_max] képpontban | két sarok, nem sarok és méret — más szám négy helyen · YOLO szöveges | osztály, x_közép, y_közép, szélesség, magasság — NORMÁLVA | 0 és 1 közötti értékek: képpontként olvasva minden a bal felső sarokba kerül · maszk (RLE vagy poligon) | képpontonkénti hovatartozás | a maszk és a doboz nem ugyanaz: egy ferde objektum doboza fele háttér

    És egy gyakorlati dia, ami sok órát megspórol. Három elterjedt címkeformátum van, és a köztük való átváltás a modul leggyakoribb néma hibaforrása. Nem azért, mert bonyolult, hanem mert mindegyik MÁST ért doboz alatt: az egyik két sarkot, a másik középpontot és méretet; az egyik képpontban, a másik a kép szélességére normálva. Ha rosszul konvertálsz, a modell tanul valamit — csak nem azt, amit akartál —, és a hiba csak a kirajzolt dobozokon látszik.

  47. 47

    Számold ki: a nyers zöldindex és a fény

    Told a fény csúszkáját. Az index vele mozog — pedig a szín nem változott.

    Négy csúszka: a három csatorna és a megvilágítás. Ez a NYERS index. Állítsd be a zöldre nulla egész ötöt, a másik kettőre nulla egész hármat — az index nulla egész négy. Most told a fényt egy egész ötre, és nézd meg a számot: nulla egész hat lett. Ugyanaz a növény, ugyanaz a szín, másfélszeres index. Ha a küszöböd nulla egész ötvenen áll, akkor ez a képpont délelőtt talaj, délután növény.

  48. 48

    Követés: amit a csordaszint elfed

    Tökéletes detektálás mellett is: 100 azonosítócsere = 14,9 pont egyedi hiba.

    Az utolsó mérés. Tizenkét egyed, egy óra felvétel, TÖKÉLETES detektálás — minden egyed minden képkockán megvan. Csak az azonosítók cserélődnek néha. A csordaszintű átlag ettől nem mozdul, egyáltalán nem: ha csak összeadjuk az aktív egyedeket, a csere nem számít, mert az egyik egyedtől elvett időt a másiknak adja. Az EGYEDI mérés viszont romlik: száz cserénél tizennégy egész kilenc százalékpont. Ha tehát egyedi viselkedést mérsz, a követés minősége maga a mérés minősége.

  49. 49

    Számold ki: ugyanez normálva

    Ugyanaz a fény-csúszka, és a szám meg sem rezdül. Az f kiemelhető, tehát kiesik.

    Ugyanaz a négy csúszka, ugyanazok az alapértékek, csak a képlet normált. Told a fény csúszkáját nulla egész háromtól kettőig. A szám NEM mozdul. Nem alig — egyáltalán nem, mert az f a számlálóból és a nevezőből is kiemelhető, és kiesik. Ez az a pillanat, amikor egy mérnöki probléma megoldása nem nagyobb modell, hanem egy osztás.

  50. 50

    Az azonosítóváltás hatása, két szinten

    A `cv-tracking` demó ábrája: egyedi és csordaszintű hiba öt cseregyakoriságon.

    A teljes mérés. A felső görbe az egyedi mérés hibája a cseregyakoriság függvényében: monoton nő. Az alsó vonal a csordaszintű hiba, és az végig a nullán fekszik. Két dolgot érdemes leolvasni. Az első: a csordaszintű nulla nem mérési eredmény, hanem azonosság — az összeg a cseréktől definíció szerint nem változik. A második: a görbe nem egyenletes. Tizenöt cseréig meredeken nő, aztán ellaposodik, mert egy már összekevert egyedet nehéz tovább rontani.

  51. 51

    Ugyanaz a kép más fénnyel

    A vízszintes vonal a stabil mérőszám. De a stabilitás nem ugyanaz, mint a helyesség.

    És itt a söprés. Három panel, mindegyikben ugyanaz a három kép, a vízszintes tengelyen a megvilágítás nulla egész héttől egy egész háromig. A bal panel a nyers index: a zab görbéje negyvenhatról hetvenre mászik, tehát ugyanaz a tábla huszonnégy százalékponttal többnek látszik, ha kisüt a nap. A középső a normált: vízszintes vonalak. A jobb oldali az Otsu — szintén vízszintes, de nézd meg, hol fut a zöld vonal: kilencvenkilencen. Stabilan téved.

  52. 52

    A követés futtatva

    A `cv-tracking` cellája: öt cseregyakoriság, egyedi és csordaszintű hibával.

    Az utolsó cella. A csavar az egyedszám: állítsd harmincra. A kérdés az, hogy nagyobb csordánál ugyanannyi csere mennyit ront. A várakozás az, hogy kevesebbet, mert a cserék több egyed között oszlanak el — de ezt meg kell mérni, nem elég várni.

  53. 53

    A kézi jelölés: kilenc folt egy fényképen

    Négy növény- és öt talajfolt, mindegyik kivágva és ránézésre ellenőrizve. 13 500 címkézett képpont — a kép 3,8 %-a.

    A második predikció tanul. Kilenc foltot jelöltem meg kézzel ezen a képen — négyet növénynek, ötöt talajnak —, és ez a kép mutatja, hol vannak. Egy dolgot mondok el róla, mert tanulság: az első körben a jelölt növényfoltjaim fele talaj lett, mert kétszáz képponttal mellébecsültem a koordinátákat. Nem hibaüzenet mondta meg. Az, hogy kivágtam a foltokat, egymás mellé raktam, és ránéztem. A rosszul jelölt folt csendben rossz modellt ad.

  54. 54

    Kérdés

    Csordaszinten stabil, egyedi szinten használhatatlan. Mi az ok?

    Egy istállói kameraredszer csordaszinten stabil aktivitási átlagot mutat, de az állatorvos szerint az egyedi riasztások használhatatlanok. Mi a legvalószínűbb ok?

    Question

    1. 1. A detektálás rossz: nem találja meg az állatokat.
    2. 2. Az azonosítók cserélődnek — ez a csordaszintű összeget nem, az egyedit viszont rontja.
    3. 3. A kamera felbontása kevés.

    Ha a detektálás lenne rossz, a csordaszintű átlag is romlana — az is az összeget méri. A `cv-tracking` demó pontosan ezt választja szét: TÖKÉLETES detektálás mellett is 14,9 százalékpont egyedi hiba jön ki száz cseréből, miközben a csordaszintű hiba azonosan nulla. A tünet — egyik szint jó, a másik nem — magára a követésre mutat.

  55. 55

    A predikció a teljes képen — és a szétvágás ára

    A rés modellfüggő: 1,2 · 1,8 · 3,4 százalékpont. A magolóé a legnagyobb.

    Balra a fénykép, középen amit a modell mond: minden képpontra egy valószínűség, sárga a növény. A növények tisztán kirajzolódnak. Jobbra viszont a fontosabb rész. Ugyanaz a modell, ugyanaz az adat, kétféle szétvágás: képpont szerint véletlenül, és folt szerint. A rés a logisztikus regressziónál egy egész kettő, a véletlen erdőnél egy egész nyolc, a magoló 1-NN-nél három egész négy százalékpont. A sorrend a magyarázat: a szivárgás akkor nagy, ha a modell MEGJEGYEZNI tud.

  56. 56

    A modul öt mérése, egy táblázatban

    mérés | ami szépen néz ki | ami a feladatról szól · alapvonal | ExG 93,3 % déli fényen | ugyanaz a küszöb délután 88,2 % — a küszöb csúszott, nem a képlet · tartományeltolódás | a modell magabiztos marad (rés 50,5 %) | a pontosság 11,6 ponttal esik, és semmi nem jelez · detektálás | F1 = 0,918 | a darabszám rendszeresen 5,8 %-kal kevesebb · szétvágás | 99,8 % véletlen szétvágással | 64,0 % növény szerint — a különbség a szivárgás · követés | csordaszinten 0,00 pp hiba | egyedi szinten 14,9 pp száz azonosítócserénél

    Az egész modul összefoglalása. Minden sor ugyanazt a szerkezetet mutatja: van egy szám, ami szép, és van egy másik, ami a feladatról szól. A projektmunkádban a második oszlop az, amit a beadandó első oldalára kell írni.

  57. 57

    Egy valódi előtanított háló ugyanezeken a képeken

    „pot” 28,4 % · „ear” 30,2 % · „doormat” 77,2 %. Az ezer osztály között nincs olyan, hogy „40 %-os borítottság”.

    A harmadik predikció egy igazi mély modell: a MobileNetV2, ahogy az ImageNet ezer osztályára betanították. Nem tanítjuk tovább, csak megkérdezzük. A kukoricatáblára azt mondja: cserép, huszonnyolc százalék. A zabosra: kalász, harminc. És a tarlós képre — nézzétek meg — lábtörlő, hetvenhét egész két százalék. Hetvenhét százalékos magabiztossággal. Egyik címke sem téves az ImageNet értelmében; egyik sem válasz arra, amit a gazdálkodó kérdez.

  58. 58

    A modul fogalmai

    Méretkalibráció · Lencsetorzítás — a kép széle felé gyorsuló geometriai hiba; a sarokban 10,5 % méretbeli eltérés · Csempézés · Átfedési arány (IoU) — a metszet osztva az unióval; ez dönti el, mi számít találatnak, és a küszöbét ki kell írni · A feladat mérőszáma — nem a modellé: számlálásnál a darabszám hibája, riasztásnál a téves riasztás ára · Tartományeltolódás — más fény, más évszak, más tábla; a modell nem jelzi, csak rosszabbul dönt · Objektumkövetés · Azonosítóváltás · Transzfer tanulás · Zöldtöbblet-index

    Ennyi a modul. Ezek a fogalmak mind a nyolc projektben előkerülnek, és mindegyikhez tartozik futtatható mérés.

  59. 59

    Ugyanaz a tábla, más felvétel — más válasz

    Öt megvilágítás → 5 címke · öt kivágás → 11 címke. A stabil eset mindkettőnél 3 volna.

    És a stabilitás. Bal oldalon a megvilágítás: öt beállítás, és a három képre összesen öt különböző top-1 címke jön ki — három volna a stabil eset. Jobb oldalon a kivágás: ugyanabból a képből vett öt részlet, és tizenegy különböző címke. A kukoricatábla öt részletére a modell azt mondta: cserép, indiai kobra, tatu, kalász, fejes káposzta. Ugyanaz a tábla. Öt részlet. Öt állat és növény.

  60. 60

    Transzfer tanulás

    Transzfer tanulás: egy nagy adathalmazon előtanított modell ÚJRAFELHASZNÁLÁSA egy másik, jellemzően kisebb feladatra — az alsó rétegek általános képi jellemzőit megtartva, a feladatspecifikus fejet lecserélve és a saját címkéken hangolva. · Amit megtartunk: az él-, textúra- és alakfelismerő rétegek — ezek feladatfüggetlenek · Amit lecserélünk: a kimeneti fej, amely az ImageNet ezer osztályára szavaz · Amit nyerünk: néhány száz saját kép is elég lehet a hangoláshoz, több tízezer helyett · Amit NEM old meg: a doméneltolódást — ha a saját képeink is más napszakban készülnek, mint az üzemiek, a hiba megmarad

    A meghatározás a dián, és a lényeg a második mondatban: nem a modellt dobjuk el, hanem a FEJÉT. Az előtanított háló alsó rétegei éleket, textúrákat, foltokat ismernek fel — ez minden képen ugyanaz, akár macska van rajta, akár kukorica. Amit cserélni kell, az a legfelső réteg, amelyik ezerféle ImageNet-osztályra szavaz. A helyére a MI címkéink kerülnek, és néhány száz saját kép elég szokott lenni a hangoláshoz. Ez az, ami a projektmodult egy félév alatt teljesíthetővé teszi.

  61. 61

    A modul rövidítései — ami MÉR

    Rövidítés | Feloldás | Mit jelent · IoU | Intersection over Union — átfedési arány | a metszet osztva az unióval; a szokásos találatküszöb 0,5, de ez megállapodás · Dice | Dice-együttható | 2·metszet osztva a két terület összegével; ugyanazt méri, mint az IoU, de megengedőbb — D = 2·IoU/(1+IoU) · mAP | mean Average Precision | a PR-görbe alatti terület osztályonként, IoU-küszöb mellett; a küszöb nélkül nem értelmezhető · OKS | Object Keypoint Similarity | a kulcspont IoU-megfelelője: a ponthiba az objektum méretéhez mérve · MOTA | Multiple Object Tracking Accuracy | a követés összesített hibája: hiányzás, téves riasztás és azonosítóváltás együtt · IDF1 | Identity F1 | kifejezetten az AZONOSSÁG megtartását méri; tökéletes detektálás mellett is lehet alacsony · MAE | Mean Absolute Error — átlagos abszolút hiba | a képi regresszió mércéje, a kimenet egységében · RMSE | Root Mean Squared Error — négyzetes középhiba | ugyanott, de a nagy hibákat aránytalanul bünteti · ROC-AUC | Receiver Operating Characteristic — görbe alatti terület | a rangsorolás jósága küszöbtől függetlenül; a véletlen rangsoroló 0,500 · ExG | Excess Green — zöldtöbblet-index | 2G − R − B; a legolcsóbb növény–talaj szétválasztás · NDVI | Normalized Difference Vegetation Index | (NIR − vörös) ÷ (NIR + vörös); infravöröset látó kamera kell hozzá · RGB | Red, Green, Blue | a kamera három csatornája; ebből számol az ExG · NIR | Near InfraRed — közeli infravörös | a növény ebben erősen visszaver, a talaj nem — ezen áll az NDVI · TP, FP, FN, TN | a zavarási mátrix négy cellája | valódi találat, téves riasztás, kimaradt eset, helyes nem — itt IoU-küszöb dönti el, mi a találat · K/T | kerület ÷ terület | a táblaalak mérőszáma; ettől függ a keverékképpontok aránya, nem a tábla méretétől

    A gépi látás rövidítései két csoportba esnek, és ezért két táblán állnak. Ez az első: amivel MÉRÜNK. Az átfedési aránytól a zavarási mátrixig, plusz a képi indexek. Ezeket tudni kell, mert ezek a számok kerülnek a jelentésbe — és ezeket keverik össze a leggyakrabban.

  62. 62

    A három predikció egymás mellett

    eljárás | mit kíván | mikor jó, és mikor nem · zöldindex küszöbbel (`cv-fedettseg`) | semmit: egy képlet és egy szám | azonnal indul, és normálva stabil is; de csak SZÍN alapján dönt — a sárguló növényt nem látja meg · kézzel tanított pixelosztályozó (`cv-pixelosztalyozo`) | tíz perc jelölés képenként, szakértői szemmel | színen túli jellemzőket is használ (textúra); de a jelölés minősége a felső korlát, és folt szerint kell értékelni · előtanított mély háló (`cv-eloretanitott`) | semmit — de a címkéi nem a mi kérdésünkre válaszolnak | önmagában használhatatlan agrárkérdésre; transzfer tanulással viszont néhány száz saját kép is elég · transzfer tanulással hangolt háló | néhány száz SAJÁT, címkézett kép és egy GPU-óra | ez a projektmodul valódi célja; a doméneltolódás ellen adatbővítés kell mellé

    Összefoglaló táblázat. A jobb oldali oszlopot olvasd el először: mindhárom eljárásnak van olyan helyzete, ahol rossz választás. És figyeld meg a középső oszlopot — a címkézési költséget. Ez az, ami a projekttervben a leggyakrabban hiányzik, pedig ez a legnagyobb tétel.

  63. 63

    A modul rövidítései — amivel DOLGOZUNK

    Rövidítés | Feloldás | Mit jelent · CC | Creative Commons | szabad licenccsalád; a licenc a képpel EGYÜTT utazik · CC0 | Creative Commons Zero | közkincs: a származékos mű sem terhelt · BY-SA | Attribution-ShareAlike | a származékos művet is ugyanezzel a licenccel kell továbbadni · AGPL | Affero General Public License | a ráépülő művekre is kiterjed — ezért esett ki modellként · MobileNetV2 | könnyű konvolúciós háló | beágyazott futtatásra; a kurzus az ImageNet-en tanított, Apache 2.0 változatát futtatja · GPU | Graphics Processing Unit | párhuzamos számolóegység; a háló tanítása ezen megy · COCO | Common Objects in Context | annotációs formátum; a doboz [x_bal, y_felső, szélesség, magasság] képpontban · VOC | Visual Object Classes (Pascal VOC) | annotációs formátum; a doboz két sarokkal, képpontban · YOLO | You Only Look Once | detektorcsalád, és az annotációs formátum neve is: osztály és NORMÁLT középpont-méret · SAM | Segment Anything Model | irányítható szegmentálás: pontból vagy dobozból ad maszkot, osztálycímke nélkül · ONNX | Open Neural Network eXchange | keretrendszer-független modellformátum; a tanítás és az üzemeltetés így válik szét · RLE | Run-Length Encoding | futamhossz-kódolás; a maszkok tömör tárolása · JSON, XML | adatcsere-formátumok | a COCO JSON-ban, a Pascal VOC XML-ben tárolja a címkéket · GDAL | Geospatial Data Abstraction Library | térinformatikai raszterkönyvtár: vetületváltás, csempézés, mintavétel · QGIS | Quantum GIS | nyílt forráskódú térinformatikai felület · CVAT | Computer Vision Annotation Tool | címkéző felület több annotátorral és verziókövetéssel · OpenCV | Open Source Computer Vision Library | programkönyvtár, nem rövidítés: a klasszikus képfeldolgozás munkalova

    A második tábla az eszközöké, a formátumoké és a licenceké. Ezeket nem kell fejből tudni — vissza lehet lapozni. Egyet emelnék ki, az utolsó hármat: a licenc ugyanolyan tervezési korlát, mint a pontosság. A modul modellje azért MobileNetV2 és nem a YOLO-vonal, mert az utóbbi AGPL, és az ráragadna az egész kurzustárolóra.

  64. 64

    A modul három diagramtípusa, ugyanazon az adaton

    A gépi látás modul három diagramtípusa, ugyanazon az öt értéken.

    Ahogy minden diasor végén: a használt típusok egymás mellett, ugyanazon az öt értéken. Ebben a modulban három szerepel. Az oszlop a kezelések és a szétvágások összevetésére, a vonal ott, ahol egy folytonos paraméter mentén nézünk végig valamit — a csempeátfedésen vagy a cseregyakoriságon. A harmadik panel a demóábra: a képi eloszlások és a hisztogramok olyan rajzot kívánnak, amit a dia saját rajzolója nem tud.

  65. 65

    Most te következel: hány címkét ad ugyanarra a táblára

    A `cv-eloretanitott` cellája. A `KIVAGAS` átírásával a predikció stabilitása mérhető.

    A demó a saját gépeden fut — a böngészős futtatókörnyezetben nincs onnxruntime, és a tizennégy megabájtos modell sem utazik a kerékkel. A csavar a `KIVAGAS`: állítsd tizenkettőre. A kérdés: hány különböző címke jön ki ugyanarról az EGY tábláról, ha tizenkét részletet nézünk meg belőle? És a második kérdés, ami fontosabb: ha egy modell ugyanarra a táblára több különböző dolgot mond a kivágástól függően, mit jelent az, hogy „nyolcvan százalékos pontosságú”?

  66. 66

    A gépi látás modul diagramtípusai

    diagramtípus | mit olvasol le róla | mire NEM jó · oszlop | kategóriák nagyságrendje és sorrendje — a hossz maga az érték | időbeli alakulás: a sorrend nem látszik rajta · vonal | folytonos paraméter menti alakulás: a meredekség és a fordulópontok | kategóriák összevetése: a vonal sorrendet állít oda is, ahol nincs · demóábra | amit a keretrendszer rajza nem tud: eloszlás, hisztogram, képi panel | saját adatod: ez a demó kimenete, nem szerkeszthető a dián

    És a táblázat. A modul szinte végig összevetéseket mutat — ez a kezelés kontra az a kezelés, ez a szétvágás kontra az a szétvágás —, oda pedig az oszlop való. A vonal ott jelenik meg, ahol a köztes értékekről is állítunk valamit: a csempeátfedésen és a cseregyakoriságon. A középső oszlop a fontos, a jobb oldali még inkább.