YOLOv8 pildituvastus on suurepärane, kuid mudeli koolitamine on oluline ülesanne, mida ei tohiks unustada.

YOLOv8 on reaalajas objektituvastusalgoritm, mida kasutatakse laialdaselt objektide tuvastamise valdkonnas. See on osa Ultralyticsi välja töötatud sarjast You Only Look Once (YOLO). Algoritm jälgib, tuvastab, segmenteerib eksemplare, hindab poose ja klassifitseerib objekte piltidel ja videotes. Selle eesmärk on olla kiirem ja täpsem kui tema eelkäija algoritmid.

YOLOv8 kasutamine eksperimentaalsetes andmekogumites, nagu CIFAR-10 ja CIFAR-100, on Proof-of-Concept (POC) projektide puhul sageli lihtsam kui reaalsetes andmekogumites, mis nõuavad kohandatud andmekogumeid.

See õpetus juhendab teid YOLOv8 kohandatud andmete õpetamisel.

Pythoni keskkonna seadistamine

Alustage projekti arenduskeskkonna installimisega, järgides alltoodud juhiseid.

  1. Minge terminali ja looge uus kataloog nimega yolov8 projekt:
    mkdir yolov8projekt
  2. Liikuge projektikataloogi ja luua virtuaalne keskkond:
    cd yolov8 projekt
    python -m venv env
  3. instagram viewer
  4. Seejärel aktiveerige virtuaalne keskkond.
    # Windowsis
    env/Scripts/activate

    # Linuxis / macOS-is
    allikas env/bin/activate

    Koodi käitamiseks peate installima Ultralyticsi, objektide tuvastamise ja kujutise segmenteerimise teegi. See on ka YOLOv8 sõltuvus. Installige see kasutades pip käivitades alloleva käsu.
    pip install ultralytics
  5. See käsk installib YOLOv8 eelkoolitatud mudeli, yolov8n.pt. Testige mudelit, käivitades allolevad käsud, et tuvastada valitud pildil või videol vastavalt YOLOv8 abil eelnevalt treenitud kaalud.
    #pildi tuvastamine
    yolo task=tuvastusrežiim=prognoosi mudel=yolov8n.pt source="path/to/image.png"

    #video tuvastamine
    yolo task=tuvastusrežiim=prognoosi mudel=yolov8n.pt source="path/to/video.mp4"

    Kui kõik töötab ideaalselt, on tulemused saadaval yolov8 projekt kataloogis runs/detect/exp alamkataloog.

Kohandatud andmestiku ettevalmistamine

Kohandatud andmestiku ettevalmistamise etapid hõlmavad andmete kogumist, andmete märgistamist ja andmete jagamist (koolitus, testimine, valideerimine).

Andmete kogumine

See on piltide komplekti kogumise protsess, millel on objektid, mida soovite tuvastada. Kasutage kindlasti kvaliteetseid pilte, fookuses ja objektid on selgelt nähtavad. Piltide kogumiseks saate kasutada mitmesuguseid tööriistu, nagu Google Images, Flickr või oma kaamera. Kui teil pole pildiandmestikku, kasutage andmestikku aadressilt avatud pildid andmebaasi. Selles artiklis kasutatakse ehitusplatsi ohutuspilti Kaggle'i andmestik.

Andmete märgistamine

Pärast piltide kogumist peate need märgistama. See tähendab igal pildil olevate objektide ja nende piirdekastide tuvastamist. Saadaval on mitu tööriista, mis aitavad teil oma andmeid sildistada, näiteks LabelImg, CVAT ja Roboflow. Kõik need tööriistad on tasuta kasutamiseks.

Andmete tükeldamine

Masinõppemudelite koolitamiseks peate oma andmed jagama koolitus- ja testikomplektideks. Suure andmemahu kasutamisel proovige kasutada jaotussuhet 70–30%. Muul juhul järgige 80–20%, et vältida mudeli üle- või alasobitamist.

Kasuta poolitatud kaustad, et jagada teie andmed juhuslikult soovitud jaotussuhtega rongi-, testi- ja valideerimiskomplektideks.

YOLOv8 konfigureerimine teie andmestiku jaoks

Pärast andmete märgistamist jätkake YOLOv8 konfigureerimist oma kohandatud andmekogumi jaoks. See hõlmab konfiguratsioonifaili loomist, mis määrab järgmise:

  • Tee teie treeningandmeteni.
  • Teie valideerimisandmete tee.
  • Klasside arv, mida soovite tuvastada.

Looge konfiguratsiooni salvestamiseks fail config.yaml:

tee:(andmestikkataloogtee)
rong:(rongandmestikkaustatee)
test:(testandmestikkaustatee)
kehtiv:(kinnitamineandmestikkaustatee)

# Klassid
nc:5# asendada teie andmestiku klasside arvu alusel

# Klasside nimed
# asendage kõik klassinimed oma klasside nimedega
nimed:['class1','klass2','klass3','klass4','klass 5']

Konfiguratsioonifaili loomine on kasulik viis arvutinägemise mudeli jaoks oluliste parameetrite struktureerimiseks ja salvestamiseks. Värskendage kindlasti faili config.yaml vastavalt oma andmestiku olemusele ja struktuurile.

Kasutage oma andmekogumite jaoks kindlasti õigeid teid, kuna mudeli treenimine tugineb täielikult konfiguratsioonifailile.

YOLOv8 koolitus kohandatud andmete kohta

Kui olete konfiguratsioonifaili loonud, alustage YOLOv8 treenimist. Kasutage oma mudeli koolitamiseks YOLOv8 käsurea tööriista. Käsurea tööriist võtab mitmeid parameetreid, nagu konfiguratsioonifaili tee, epohhide arv ja pildi suurus järgmiselt.

yolo task=tuvastusrežiim=rongimudel=yolov8n.pt data=path/to/config.yaml epochs=10 imgsz=640

Sellel käsul on mitu osa.

ülesanne määrab ülesande tüübi: tuvasta, segmenteeri või klassifitseeri. režiimis tähistab tegevust: rongi, ennusta, val, eksporti, jälgi või etalon. mudel on kasutatav mudel, antud juhul yolov8n.pt. Võite kasutada ka yolov8s/yolov8l/yolov8x.

ajastud tähistab treeningringide arvu (10). imgsz tähistab pildi suurust (640). Pildi suuruseks tuleks alati määrata 32 kordne.

Siin on näide väljundist, mida võite oodata:

Treeninguks kuluv aeg sõltub teie andmestiku suurusest, ajastute arvust ja tuvastatavate klasside arvust. Kui treeningprotsess on lõppenud, on teil koolitatud YOLOv8 mudel, mida kasutate piltidel ja videotes olevate objektide tuvastamiseks.

Pärast treeningu lõppu tehke järeldused uute raskuste põhjal, best.pt

yolo task=detect mode=predict model="runs/train/weights/best.pt" source="image.png"

Navigeerige lehele jookseb/train/exp/weights/best.pt kataloog, et pääseda juurde kohandatud treenitud raskustele. YOLOv8 on salvestanud ennustatud pildi runs/detect/exp alamkataloog.

Mudeli toimivuse hindamine

Saate hinnata YOLOv8 mudeli jõudlust järgmise käsuga, mis hindab mudelit testpiltide komplekti alusel:

yolo val model=yolov8n.pt data=path/to/config.yaml partii=1 imgsz=640

Oodatavad tulemused on järgmised:

Hindamisprotsess loob erinevaid mõõdikuid, nagu täpsus, tagasikutsumine ja F1 skoor. Täppismõõdik mõõdab õigesti tuvastatud objektide protsenti. Tagasikutsumise mõõdik mõõdab objektide protsenti, mille YOLOv8 tuvastab. F1 skoor on täpsus- ja meeldetuletusmõõdikute kaalutud keskmine.

Kohandatud YOLOv8 mudeli juurutamine

Testige oma YOLOv8 mudeli jõudlust.

yolo detect ennustama model=path/to/best.pt source='path/to/image.jpg'

Väljund on järgmine:

Seejärel salvestage mudeli kaalud faili.

yolo export model=path/to/best.pt format=onnx

Kasutage faili mudeli laadimiseks oma rakendusse ja kasutage seda objektide reaalajas tuvastamiseks. Kui juurutate mudeli a pilveteenus, kasutage pilveteenust teenuses olevate piltide ja videote objektide tuvastamiseks.

YOLOv8 Takeaway

Ultralyticsi meeskond on YOLO seeria mudeleid pidevalt täiustanud. See on teinud neist objektide tuvastamise tehnoloogia ja arvutinägemise valdkonna liidrid.

YOLOv8 on täiustatud mudel, mida saate kasutada mitut tüüpi arvutinägemisprojektide käsitlemiseks.