Foundation-Model-Assisted Dataset Bootstrapping from Uncurated Visual Data (Auto-Annotation)
Delujoči MVP
ZAP-IT 0.1.0 je na voljo kot neobjavljen lokalni raziskovalni kandidat s preizkušenim paketnim delovnim tokom in omejeno HTTP-storitvijo za posamezno sliko.
Opis
ZAP-IT (Zero-shot Anything Pipeline for Image Tasks) je delujoč MVP, ki z nastavitvami YAML pretvarja neurejene slike in videoposnetke v segmentacijske maske, oznake odprtega besednjaka, izbirno vizualno-jezikovno preverjanje, vizualizacije in anotacije YOLO. Združuje SAM2, CLIP in izbirni preverjevalnik BLIP3. Zbirke in videoposnetke je mogoče obdelovati s paketnim vmesnikom ukazne vrstice, namensko preprost HTTP API za posamezno sliko pa omogoča enostaven začetek in zaporedno obdelavo iz poljubnega odjemalca. MVP je bil kvalificiran na grafični kartici RTX 2080 Ti z 11 GB pomnilnika z uporabo pomnilniško prilagojenega nalaganja modelov, kar dokazuje, da lahko deluje na namenskem gostitelju z razmeroma skromno grafično kartico.
Pričakovani rezultati
Samodejno anotirane učne podatkovne zbirke, izpeljane iz obstoječih posnetkov, vključno z oznakami YOLO, segmentacijskimi maskami, razredi in ocenami, metapodatki posameznih objektov, natančnim zapisom mask RLE, identitetnimi maskami PNG, prekrivnimi vizualizacijami za preverjanje kakovosti, opozorili, časi izvajanja in izvorom konfiguracije. Paketni izvoznik ustvari standardne metapodatke zbirke YOLO in nastavljive razdelitve na učne ter validacijske podatke. Uporabniki lahko nato v izbranem učnem okolju naučijo YOLO ali drug lažji model. ZAP-IT izdela učno podatkovno zbirko; ne izvaja nadaljnjega učenja modela.
Kartica storitve
| Kategorija | Infrastructure and data-related services |
| Domena | Computer Vision, Dataset Engineering |
| Vertikala | Cross-domain |
| Ciljni uporabniki | Industry/SMEs with Uncurated Visual Data, Agritech and Environmental Monitoring, Applied AI Teams, R&D and Innovation Units, Public-Sector Inspection/Monitoring |
| Tip storitve | Pipeline / lokalna storitev |
| Rezultat | Anotacije YOLO; deterministične identitetne maske PNG; natančen RLE posameznih mask; razredi in podatki o gotovosti; metapodatki objektov; prekrivne vizualizacije in omejeni diagnostični artefakti; odgovori API v obliki JSON ali ZIP; paketni izhodi za imenike slik in videoposnetke. |
| Zahteve | Pravice za uporabo vhodnih podatkov in opis naloge YAML z razredi, pozivi, pragovi ter izbirnimi območji zanimanja. Trenutna lokalna storitev zahteva skrbniško upravljano okolje Python/GPU s pripetimi različicami modelov, uporablja en proces in eno aktivno inferenčno zahtevo ter je namenjena zaupanja vredni lokalni uporabi. |
| Omejitve | Trenutni MVP 0.1.0 je neobjavljen lokalni raziskovalni kandidat in ne pomeni produkcijskega SLA ali jamstva za točnost. HTTP API sprejme eno sliko na zahtevo; zbirke in videoposnetki se obdelujejo s paketnim vmesnikom ali zaporednimi klici API. Javni dostop, večnajemništvo ter geometrijski in panoptični izhodi niso del trenutnega kandidata. |
| Na voljo od | Delujoči MVP je na voljo |
| Licenca | Programska oprema ZAP-IT je licencirana z licenco MIT; za temeljne modele veljajo ločeni pogoji. Trenutni raziskovalni model BLIP3 bo pred širšo uporabo zamenjan z različico BLIP3/XGen-MM pod licenco Apache 2.0, nato pa bosta ponovljeni tehnična in licenčna kvalifikacija. |
| Slika | |
| Oznaka slike |
Zakaj je to pomembno za mala in srednja podjetja
Številna mala in srednja podjetja že imajo osnovo za uporaben sistem računalniškega vida: večletne arhive proizvodnih fotografij, posnetke pregledov, slike s terena, posnetke dronov, laboratorijske slike ali videoposnetke stalnih kamer. Običajno jim ne primanjkuje podatkov, temveč dovolj velika in dosledno označena učna zbirka.
Ročno označevanje je drago in počasno, strošek pa je težko upravičiti, preden organizacija pokaže, da bo model ustvaril poslovno vrednost. Nastane problem začetnega koraka: za učenje so potrebne oznake, za odobritev proračuna za označevanje pa je pogosto potreben prepričljiv prikaz delujočega modela.
Praktična obljuba
ZAP-IT uporabi temeljne modele vida za prvi in najdražji krog označevanja. Človeški strokovnjaki se lahko nato osredotočijo na preverjanje kakovosti, dvoumne primere in najpomembnejše posnetke, namesto da bi od začetka ročno risali vsako območje in masko.
ZAP-IT obdeluje obstoječe posnetke; ne ustvarja sintetičnih slik. Rezultat je pregledljiva učna zbirka, s katero lahko uporabnik v izbranem okolju nauči YOLO ali drug manjši model za konkretno nalogo.
flowchart TD
subgraph LEVEL1["1. raven - Zero shot priprava konfiguracije"]
SAMPLES["Več reprezentativnih slik"] --> VLM["Napredni vidni LLM"]
GOAL["Poslovni cilj in definicije razredov"] --> VLM
TEMPLATE["Predloga ZAP-IT YAML in dovoljena shema"] --> VLM
VLM --> DRAFT["Osnutek pozivov negativnih primerov pragov in pravil"]
DRAFT --> HUMAN["Pregled področnega strokovnjaka in validacija sheme"]
HUMAN --> YAML["Različljiva konfiguracija ZAP-IT YAML"]
end
subgraph LEVEL2["2. raven - Zero shot priprava podatkovne zbirke"]
ARCHIVE["Celoten neurejen arhiv slik in videoposnetkov"] --> ZAP["Cevovod temeljnih modelov ZAP-IT"]
ZAP --> QC["Maske oznake ocene metapodatki in vizualizacije kakovosti"]
QC --> DATASET["Učna in validacijska zbirka YOLO"]
end
subgraph LEVEL3["3. raven - Izdelava namenskega modela"]
TRAIN["Učenje in vrednotenje YOLO ali drugega lahkega modela"] --> MODEL["Majhen hiter izvedbeni domenski model"]
end
YAML --> ZAP
DATASET --> TRAIN
Od arhiva do učne podatkovne zbirke
Delovni postopek je namenoma preprost:
- Izberite posnetke. Uporabite imenik slik, videoposnetek ali aplikacijo, ki pošilja slike na HTTP-vmesnik.
- Opišite nalogo v YAML. Določite razrede in pozive, izbirna območja zanimanja, nastavitve tvorjenja mask, pragove filtriranja ter izbirna pravila preverjanja.
- Zaženite cevovod temeljnih modelov. SAM2 predlaga območja, filtriranje odstrani neprimerne kandidate, CLIP dodeli oznake, izbirni vizualno-jezikovni model pa lahko preveri izbrane primere.
- Preglejte dokazila. Preverite oznake, ocene, maske, metapodatke objektov, opozorila in prekrivne vizualizacije. Po potrebi spremenite konfiguracijo in postopek ponovite.
- Izvozite zbirko. Paketni izvoznik zapiše anotacije YOLO, metapodatke zbirke in nastavljivo razdelitev na učne ter validacijske podatke.
- Naučite izvedbeni model. Nastalo zbirko uporabite za učenje YOLO ali drugega lahkega modela. Nadaljnje učenje je namenoma ločeno od ZAP-IT.
Ta ločitev je za MSP koristna. Veliki temeljni modeli med pripravo zbirke prispevajo široko vizualno znanje, končni izvedbeni model pa je lahko manjši, hitrejši, cenejši in specializiran za eno proizvodno nalogo.
Dva načina uporabe MVP
| Vmesnik | Najprimernejša uporaba | Trenutno delovanje |
|---|---|---|
| Paketni vmesnik ukazne vrstice | Obstoječi arhivi slik, videoposnetki in ponovljiva izdelava podatkovnih zbirk | Obdeluje imenike in videoposnetke, zapisuje izbrane vizualne izhode ter izvozi zbirke YOLO z učno/validacijsko razdelitvijo. |
| Lokalni HTTP API | Enostaven začetek, integracija v aplikacije, zvezki in odjemalski delovni tokovi | Sprejme eno sliko in eno varno konfiguracijo YAML na zahtevo ter vrne JSON ali ZIP. Zbirke se obdelajo z običajnimi zaporednimi zahtevami. |
Paketna obdelava
Po namestitvi dokumentiranega okolja GPU in pripetih modelov:
.venv-gpu/bin/python zap-it-batch.py \
--config configs/tomato.yaml \
--input-image-dir /pot/do/slik \
--verbose full
Isti konfiguracijski sistem podpira videovhod. Ko je omogočen izvoz YOLO, izvoznik ustvari oznake ter datoteki dataset.yaml in data.yaml; delež učne in validacijske množice določa nastavitev trainsplit.
Preprosta integracija HTTP
Lokalna storitev izpostavi omejen namenski vmesnik ZAP-IT:
POST /v1/completions
multipart: ena slika + ena konfiguracija YAML
Primer zahteve je namenoma običajen:
curl --fail-with-body \
-H "Authorization: Bearer ${SLAIF_ZAP_IT_API_KEY}" \
-F image=@primer.jpg \
-F config=@naloga.yaml \
-F verbosity=2 \
-F response_format=json \
http://127.0.0.1:${SLAIF_ZAP_IT_PORT}/v1/completions
Odjemalec lahko preprosto prehodi vse datoteke in jih pošlje po eno. Pogodba ene slike na zahtevo poenostavi začetek, obravnavo napak in integracijo; ne omejuje števila slik, ki jih je mogoče obdelati.
Ponovljiv opis naloge
YAML naredi politiko označevanja izrecno in različljivo. Naloga lahko določi predobdelavo, območja zanimanja, kakovostne pragove SAM2, naknadno filtriranje, oznake in pozive CLIP, izbirna pravila preverjanja, vizualizacije ter paketne izhode.
Naslednji skrajšani in veljavni primer se zgleduje po dejanski terenski konfiguraciji goats2.yaml. Nabor pozivov opisuje ciljni objekt z več zornih kotov, negativni razred pa beleži table, rastlinje, žice, sence in oblike, ki jih kamera pogosto zamenja z živaljo.
preprocessing:
roi: "3,1644,5565,1210"
resize: 1.0
mask_generator:
points_per_side: 64
pred_iou_thresh: 0.70
stability_score_thresh: 0.70
min_mask_region_area: 30
crop_n_layers: 2
postsam2processing:
maxsize: 60000
max_w: 300
max_h: 200
clip:
padding: 40
labels:
goat: |
a white Boer goat with a brown head,
a goat partially hidden by tall grass,
a grazing goat seen from a distance,
a horned goat near an electric fence
negative: |
a numbered white field sign,
tall grass and flowering weeds,
a fence wire or an unlabelled post,
a shadow or bright patch shaped like an animal
blip3:
goat:
question: "Is there an animal in the image? Yes or no!"
trueresult: "Yes"
falseresult: "No"
newcategory: goat
"any,0.20":
question: "Is there an animal in the image? Yes or no!"
trueresult: "Yes"
falseresult: "No"
newcategory: goat
visualization:
labels: ["goat"]
sam2:
- id: sam2-review
renderer: annotated
clip:
- id: clip-review
renderer: annotated
export_yolo_det:
labels: "goat"
trainsplit: 80
sample_roi: true
Konfiguracijo je mogoče shraniti ob nastali zbirki, pregledovati kot programsko kodo, ponovno uporabiti na novih posnetkih in primerjati med iteracijami. HTTP-meja sprejme samo algoritmične nastavitve ter zavrne poti, naslove URL, identifikatorje modelov, naprave, ukaze, poverilnice in druge nastavitve gostitelja.
Tudi konfiguracijo je mogoče ustvariti brez učnih primerov
Napredni multimodalni LLM z vidnimi zmogljivostmi lahko pregleda majhen reprezentativen vzorec in pripravi osnutek YAML, še preden obstajata namensko naučen model ali označena zbirka. Na podlagi poslovnega cilja in vzorčnih slik lahko predlaga:
- možne razrede in več pozitivnih opisov za vsak razred;
- za prizor značilne težke negativne primere in verjetne vire lažnih zaznav;
- vprašanja preverjevalnika za kandidate z nizko gotovostjo;
- začetno območje zanimanja, velikostne filtre in kakovostne pragove;
- vizualizacije za pregled kakovosti in zahtevano politiko izvoza YOLO.
Dejanska datoteka goats2.yaml pokaže, zakaj je to pomembno. Njena največja vrednost niso splošni parametri SAM2, temveč obsežen opis videza koze na konkretnem pašniku in, še pomembneje, vsega, kar kamera pogosto vidi in ni koza. Področno znanje postane izvedljiva in različljiva politika označevanja.
Zato je začetni postopek resnično zero-shot: ne potrebuje prej naučenega namenskega detektorja niti obstoječega označenega korpusa. Človeški pregled ostaja pomemben, saj področni strokovnjak določa pomen razredov, sprejemljive napake, zasebnost in končno politiko označevanja. Občutljive slike se smejo prikazati le odobrenemu lokalnemu ali zunanjemu vidnemu modelu skladno s podatkovno politiko organizacije.
Izhodi za učenje in pregled
ZAP-IT ustvarja standardne artefakte in uporabnika ne zaklene v lastniško platformo za označevanje:
- oznake YOLO in metapodatke zbirke;
- nastavljive učne/validacijske razdelitve v paketnem izvozniku;
- segmentacijske maske in deterministične 16-bitne identitetne maske PNG;
- natančen nestisnjen RLE posamezne maske;
- razrede, ocene CLIP in razpoložljive odgovore preverjevalnika;
- omejevalne pravokotnike, površine, težišča in podatke o kakovosti modela;
- prekrivne vizualizacije za preverjanje kakovosti in omejene diagnostične artefakte;
- opozorila, stanje faz, čase izvajanja in izvor konfiguracije;
- strukturirane odgovore JSON ali ZIP iz HTTP-vmesnika.
Ravni HTTP-odgovora se nadgrajujejo:
| Raven | Vrnjeni podatki |
|---|---|
| 0 | Detekcije YOLO in najmanjši metapodatki odgovora |
| 1 | Raven 0 in identitetna maska PNG |
| 2 | Raven 1 ter razredi, ocene, geometrija in razpoložljiva dokazila preverjanja za vsak objekt |
| 3 | Raven 2 ter omejene prekrivne slike, natančen RLE mask, časi, opozorila in izvor podatkov |
Človeški pregled ostaja pomemben
Izhod temeljnih modelov ni samodejno temeljna resnica. Na kakovost anotacij vplivajo vizualna domena, položaj kamere, osvetlitev, velikost objektov, pozivi in pragovi.
ZAP-IT zato prikaže dokazila in ne skriva negotovosti. Očitne primere je mogoče sprejeti množično, primere z nizko gotovostjo ali sporne rezultate pa usmeriti v človeški pregled. Prekrivne vizualizacije razkrijejo sistematične napake, izboljšano konfiguracijo YAML pa je mogoče ponovljivo uporabiti na celotni zbirki.
Brez bližnjice do zagotovljene točnosti
MVP zmanjša strošek izdelave prve verodostojne učne zbirke. Pri uporabi z velikimi posledicami sta še vedno potrebna reprezentativno vrednotenje in tveganju primeren človeški pregled.
Primeri uporabe za MSP
-
Industrijski pregled
Začetne zbirke za napake, manjkajoče komponente, poškodbe površin, stanja montaže ali različice izdelkov.
-
Kmetijstvo in spremljanje okolja
Označevanje poljščin, plevela, zrelosti plodov, škodljivcev, vegetacije, živali ali objektov na posnetkih kamer in dronov.
-
Laboratorijske in raziskovalne slike
Priprava kandidatnih mask in oznak ponavljajočih se vizualnih struktur ob ohranjanju občutljivih podatkov na lokalni infrastrukturi.
-
Pregledi infrastrukture in terena
Pretvorba arhivskih slik ali videoposnetkov pregledov v zbirke za zaznavanje poškodb, objektov in stanj.
Najprimernejši začetni primeri imajo ponovljive vizualne pogoje, razrede, ki jih področni strokovnjaki lahko jasno opišejo, in dovolj strokovnega znanja za ciljno vzorčno preverjanje.
Dokazi za trenutni MVP
ZAP-IT 0.1.0 je zapakiran kot neobjavljen lokalni raziskovalni kandidat. Repozitorij vsebuje tipiziran pomnilniški cevovod, združljivostni paketni sloj, storitev FastAPI, skrbniške skripte, dokumentacijo, preverjanje izdajnih artefaktov in avtomatizirane teste.
V pregledanem stanju kandidata:
- je uspešno prestal 374 testov CPU z lažnimi izvajalniki, en test na pravem GPU pa je izrecno izbiren;
- je bila skupna izmerjena pokritost s testi približno 78 %;
- GitHub CI preverja Python 3.10, 3.11 in 3.12, pakiranje, preizkus nameščenega paketa, celovitost dokumentacije ter izdajne artefakte;
- je analiza CodeQL na trenutni glavni veji uspešna;
- je bila prava modelska pot kvalificirana na namenski grafični kartici RTX 2080 Ti z 11 GB, vključno s pomnilniško prilagojenim zaporednim nalaganjem modelov.
Ti rezultati dokazujejo delujoč MVP, ne pa merila točnosti ali produkcijskega SLA.
Trenutna meja delovanja
Kandidat HTTP trenutno deluje na zaupanja vrednem lokalnem gostitelju GPU z enim procesom in eno aktivno inferenčno zahtevo. Slike, konfiguracije in rezultati zahtev ostanejo v pomnilniku; storitev jih ne shranjuje. Paketni vmesnik namenoma zapisuje izhode podatkovne zbirke, ki jih izbere upravljavec.
Javna izpostavitev, večnajemništvo ter geometrijski in panoptični izhodi niso del trenutnega kandidata. Programska oprema ZAP-IT uporablja licenco MIT, za modele pa veljajo ločeni pogoji. Trenutni raziskovalni model BLIP3 bo zamenjan z različico XGen-MM pod licenco Apache 2.0 in pred širšo uporabo ponovno kvalificiran.
Raziščite in ponovite
Javni repozitorij vsebuje navodila za namestitev, vzorčne konfiguracije, dokumentacijo API, opise algoritmov, varnostne meje, navodila za testiranje in izmerjena dokazila o izvajanju.
Odpri repozitorij ZAP-IT Preberi pogodbo API Preberi navodila za namestitev