AI-mallit ja alustat
YOLOv8:n purkaminen: Ultralyticsin virallinen tietokoneen näkömalli

Tähän asti objektien havaitseminen kuvissa tietokoneen näkömallien avulla on kohtannut suuren esteen muutamien sekuntien viiveen muodossa prosessointiajassa. Tämä viive on estänyt käytännön soveltamisen käyttötapauksissa, kuten esimerkiksi itseohjautuvissa ajoneuvoissa. Ultralyticsin julkaisema YOLOv8-tietokoneen näkömalli on kuitenkin murtanut prosessointiviiveen. Uusi malli voi havaita objekteja reaaliajassa ennennäkemättömällä tarkkuudella ja nopeudella, mikä tekee siitä suositun tietokoneen näkötilassa.
Tämä artikkeli tutkii YOLOv8:aa, sen ominaisuuksia ja sitä, miten voit hienosäätää ja luoda omia malleja sen avoimen lähdekoodin Github-arkistosta.
YOLOv8 selitetty
YOLO (You Only Live Once) on suosittu tietokoneen näkömalli, joka pystyy havaitsemaan ja jakamaan objekteja kuvissa. Malli on käynyt läpi useita päivityksiä menneisyydessä, ja YOLOv8 on 8. versio.
Nykyisellään YOLOv8 perustuu edellisten versioiden ominaisuuksiin ja esittelee voimakkaita uusia ominaisuuksia ja parannuksia. Tämä mahdollistaa reaaliaikaisen objektien havaitsemisen kuvissa ja videodataa parannetulla tarkkuudella ja tarkkuudella.
Yolov1:stä v8:aan: Lyhyt historia
Yolov1: Ensimmäinen YOLO-versio julkaistiin vuonna 2015, ja se esiteltiin yksivaiheisen objektien havaitsemismallina. Ominaisuuksiin kuului mallin lukeminen koko kuvasta jokaisen bounding boxin ennustamiseksi yhdessä arvioinnissa.
Yolov2: Seuraava versio, joka julkaistiin vuonna 2016, esitti huipputason suorituskyvyn PASCAL VOC- ja COCO-benchmarkkeissa ja toimi korkeilla nopeuksilla (67-40 FPS). Se pystyi myös tarkasti havaitsemaan yli 9000 objektin luokkaa, vaikka havaintodataa oli rajoitettu.
Yolov3: Vuonna 2018 julkaistu Yolov3 esitteli uusia ominaisuuksia, kuten tehokkaamman rungon verkon, useita ankkureita ja avaruuden pyramidipoolingin monimuotoisten ominaisuuksien poimimiseksi.
Yolov4: Yolov4:n julkaisun myötä vuonna 2020 esiteltiin uusi Mosaic-dataugmentaatio, joka paransi koulutusominaisuuksia.
Yolov5: Vuonna 2021 julkaistu Yolov5 lisäsi voimakkaita uusia ominaisuuksia, kuten hyperparametrien optimoinnin ja integroidun kokeen seurannan.
Yolov6: Vuonna 2022 julkaistu Yolov6 avasi mallin yhteisölliseen kehitykseen. Uusia ominaisuuksia esiteltiin, kuten uusi itsesidontastrategia ja ankkuriohjattu koulutusstrategia.
Yolov7: Samaan aikaan julkaistu Yolov7 paransi olemassa olevaa mallia nopeudessa ja tarkkuudessa ja oli nopein objektien havaitsemismalli julkaisuhetkellä.
Mikä tekee YOLOv8:sta erityisen?

YOLOv8:n vertaamaton tarkkuus ja korkea nopeus tekevät siitä erityisen tietokoneen näkömallin edellisistä versioista. Se on merkittävä saavutus, koska objekteja voidaan nyt havaita reaaliajassa ilman viiveitä, toisin kuin edellisissä versioissa.
Mutta lisäksi YOLOv8 sisältää voimakkaita ominaisuuksia, jotka sisältävät:
- Mukautettava arkkitehtuuri: YOLOv8 tarjoaa joustavan arkkitehtuurin, jonka kehittäjät voivat mukauttaa omiin tarpeisiinsa.
- Adaptiivinen koulutus: YOLOv8:n uudet adaptiiviset koulutusominaisuudet, kuten tappiofunktion tasapainotus koulutuksen aikana ja tekniikat, parantavat oppimisnopeutta. Esimerkiksi Adam, joka edistää parempaa tarkkuutta, nopeampaa suppenevaa ja yleisesti parempaa mallin suorituskykyä.
- Edistynyt kuva-analyysi: Uusien semanttisten segmentointi- ja luokitusominaisuuksien kautta malli voi havaita toimintoja, värejä, tekstuuria ja jopa objektien välisiä suhteita ydinobjektien havaitsemisen lisäksi.
- Data-augmentaatio: Uudet data-augmentaatiotekniikat auttavat käsittelemään kuvamuutoksia, kuten matalaa resoluutiota, peittämistä jne., todellisissa objektien havaitsemistilanteissa, joissa olosuhteet eivät ole ihanteellisia.
- Tukirangan tuki: YOLOv8 tarjoaa tuen useille tukirangoille, mukaan lukien CSPDarknet (oletusrunko), EfficientNet (kevyt runko) ja ResNet (perinteinen runko), joita käyttäjät voivat valita.
Käyttäjät voivat myös mukauttaa tukirangan korvaamalla CSPDarknet53: n minkä tahansa toimintakykyisen CNN-arkkitehtuurin, joka on yhteensopiva YOLOv8:n syöte- ja tulostusulottuvuuksien kanssa.
YOLOv8:n koulutus ja hienosäätö
YOLOv8-mallia voidaan joko hienosäätää tietyissä käyttötapauksissa tai kouluttaa kokonaan alusta lähtien luomaan erikoistunut malli. Lisätietoja koulutusmenetelmistä löytyy virallisesta dokumentaatiosta.
Tutustumme siihen, miten voit suorittaa molemmat toimenpiteet.
Hienosäätö YOLOV8:lla omalla tietojoukolla
Hienosäätöoperaatio lataa olemassa olevan mallin ja käyttää sen oletusarvoisia painoja koulutuksen aloituskohtana. Intuitiivisesti puhuen, malli muistaa kaiken aiemman tietämyksensä, ja hienosäätöoperaatio lisää uutta tietoa säätämällä painoja.
YOLOv8-mallia voidaan hienosäätää Python-koodilla tai komentoriviliittymän (CLI) kautta.
1. Hienosäätö YOLOv8-mallia Pythonilla
Aloita tuomalla Ultralytics-paketti koodiisi. Lataa sitten mukautettu malli, jonka haluat kouluttaa, seuraavalla koodilla:
Ensimmäisenä asenna Ultralytics-kirjasto virallisesta jakelusta.
| # Asenna ultralytics-paketti PyPI:stä pip install ultralytics |
Seuraavaksi suorita seuraava koodi Python-tiedostossa:
| from ultralytics import YOLO
# Lataa malli # Kouluta malli MS COCO -tietojoukolla |
Oletusarvoisesti koodi kouluttaa mallin COCO-tietojoukolla 100 epochin ajan. Voit kuitenkin myös konfiguroida nämä asetukset määrittämällä koon, epochin jne. YAML-tiedostossa.
Kun olet kouluttanut mallin asetuksillasi ja tietojoukkosi polulla, seuraa edistymistä, testaa ja säädä mallia ja jatka koulutusta, kunnes saavutat haluamasi tulokset.
2. Hienosäätö YOLOv8-mallia CLI:llä
Kouluttaaksesi mallin CLI:llä, suorita seuraava skripti komentorivillä:
| yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 |
CLI-komento lataa esikoulutetun `yolov8n.pt`-mallin ja kouluttaa sen edelleen tietojoukolla, joka on määritelty `coco8.yaml`-tiedostossa.
Oman mallin luominen YOLOv8:lla
On kaksi tapaa luoda mukautettu malli YOLO-kehyksellä:
- Koulutus alusta: Tämä lähestymistapa sallii käytön YOLOv8:n esitetyssä arkkitehtuurissa, mutta EI KÄYTÄ esikoulutettuja painoja. Koulutus tapahtuu alusta.
- Mukautettu arkkitehtuuri: Voit muokata oletusarvoista YOLO-arkkitehtuuria ja kouluttaa uuden rakenteen alusta.
Molemmissa tapauksissa toteutus on sama. Kouluttaaksesi YOLO-mallin alusta, suorita seuraava Python-koodi:
| from ultralytics import YOLO
# Lataa malli # Kouluta malli |
Huomaa, että tässä tapauksessa ladataan `.yaml`-tiedosto sen sijaan, että `.pt`-tiedostoa. YAML-tiedosto sisältää arkkitehtuuritiedot mallista, eikä painoja ladata. Koulutuskomennolla aloitetaan mallin koulutus alusta.
Voit myös kouluttaa mukautetun arkkitehtuurin määrittelemällä mukautetun rakenteen `.yaml`-tiedostossa, kuten `yolov8n.yaml`-tiedostossa. Lataa sitten tämän tiedoston ja kouluta mallia samalla koodilla kuin edellä.
Lisätietoja objektien havaitsemisesta käyttäen tekoälyä ja pysymisestä ajan tasalla viimeisimmän tekoälytrendin kanssa, vieraile unite.ai-sivustolla.













