It-teknoloġija tal-iskoperta tal-oġġetti tal-viżjoni bil-kompjuter hija essenzjali għal bosta applikazzjonijiet. Aħna nużawha fir-robotika, tagħmir ta 'sorveljanza, karozzi li jsuqu waħedhom, u ħafna aktar oqsma. Għalhekk, insibu u nagħrfu ċerti affarijiet fi stampa jew vidjo.
Wieħed mill-aktar magħrufa algoritmi ta 'identifikazzjoni tal-oġġett huwa l-YOLO (Int Ħares Darba biss) sett ta' mudelli. Dawn il-mudelli huma maħluqa minn Ultralytics LLC.
L-aktar verżjoni riċenti ta 'din is-serje hija YOLOv5. U, huwa l-mudell ta 'identifikazzjoni tal-oġġett l-aktar mgħaġġel u preċiż fis-suq. Il-kapaċità tal-mudell li jiġġeneralizza għal data ġdida tjiebet ħafna. Barra minn hekk, fih ħafna karatteristiċi li jagħmluha taħdem aħjar minn iterazzjonijiet preċedenti.
YOLOv5 huwa kbir għal applikazzjonijiet f'ħin reali peress li jista 'jipproċessa stampi b'rata ta' sa 1000 frejm kull sekonda fuq GPU waħda.
F'dan l-artikolu, aħna se nintroduċu YOLOv5 u nimxu fuq id-dettalji tal-oqsma ta 'applikazzjoni tiegħu.
Vjaġġ ta 'YOLO: Minn YOLO għal YOLOv5
Joseph Redmon et al. oriġinarjament introduċa l-YOLO, sett ta 'mudelli ta' identifikazzjoni ta 'oġġetti, fl-2016. Il-mudell YOLO inizjali jista' jidentifika oġġetti f'ħin reali. Madankollu, kellha preċiżjoni baxxa meta mqabbla ma 'mudelli oħra f'dak iż-żmien.
Diversi verżjonijiet aġġornati ta 'YOLO ġew rilaxxati matul is-snin. U fl-aħħarnett, Ultralytics LLC ħolqot l-aktar edizzjoni ġdida tas-serje YOLO, YOLOv5.
YOLOv5 huwa l-aktar mudell ta 'identifikazzjoni tal-oġġett preċiż u l-aktar mgħaġġel disponibbli bħalissa.
Karatteristiċi importanti
Kaxxi tal-Ankra
YOLOv5 ibassar kaxxi tal-konfini għal oġġetti f'immaġini bl-użu ta' kaxxi tal-ankri. Il-mudell ibassar liema minn ħafna kaxxi definiti minn qabel b'diversi proporzjonijiet ta 'aspett jaqbel l-aħjar mal-oġġett fl-istampa bl-użu ta' kaxxi tal-ankri. Dawn huma kaxxi definiti minn qabel.
U, jippermettu lil YOLOv5 jagħraf u jsib oġġetti fi stampa bi preċiżjoni.
Żieda tad-dejta tal-mużajk
Waqt it-taħriġ, YOLOv5 juża metodu magħruf bħala mużajk tkabbir tad-data. Biex tiżviluppa stampi ta 'taħriġ frisk, il-mudell tagħna jgħaqqad bl-addoċċ irqajja ta' diversi ritratti. Bħala riżultat, il-mudell isir aktar reżiljenti u affidabbli. Għalhekk, jiġrilha tiġġeneralizza għal dejta ġdida u tnaqqas it-twaħħil żejjed.
Pipeline ta' Taħriġ Uniku
Pipeline ta 'taħriġ uniku li tħallat sorveljati u tagħlim mhux sorveljat jintuża.
Għalhekk, il-mudell jitgħallem minn kampjun iżgħar u jutilizza input mhux ittikkettat b'mod effettiv. Dan isaħħaħ il-prestazzjoni tal-mudell u jsaħħaħ il-kapaċità tiegħu li jiġġeneralizza għal inputs ġodda.
Saffi li huma residwi u mhux residwi
L-arkitettura ta 'YOLOv5 tgħaqqad saffi li huma residwi u mhux residwi. Billi jippermettu l-gradjenti jiċċirkolaw mas-saffi, saffi residwi jassistu lill-mudell fit-tagħlim ta 'karatteristiċi diffiċli. Ukoll, saffi mhux residwi jipprovdu lill-mudell ħakma aktar komprensiva tal-istampa tal-input. Bħala riżultat, YOLOv5 jista 'jopera b'mod aktar preċiż u effettiv.
Kif tuża YOLOv5
installazzjoni
L-installazzjoni ta 'YOLOv5 tista' titlesta malajr bl-użu ta 'pip. Pip huwa maniġer tal-pakketti Python. Il-proċeduri ġenerali għall-installazzjoni ta 'YOLOv5 huma kif ġej:
1- Installa PyTorch: Minħabba li YOLOv5 huwa bbażat fuq il-qafas PyTorch, l-ewwel trid tinstalla PyTorch.
pip install torch torchvision
2. Installa CUDA: Għandek tinstalla CUDA jekk għandek il-ħsieb li tħaddem YOLOv5 fuq GPU.
3. Installa YOLOv5: Wara li twaqqaf PyTorch u CUDA, uża l-kmand li ġej biex tniżżel YOLOv5.
pip install yolov5
4-Wara l-installazzjoni ta 'YOLOv5, trid tniżżel il-piżijiet imħarrġa minn qabel. Il-piżijiet imħarrġa minn qabel huma disponibbli fir-repo Ultralytics GitHub.
Mur fil-parti "piżijiet" tal-websajt billi tiskrollja 'l isfel. Tista' tniżżel piżijiet imħarrġa minn qabel mil-lista li tista' ssib hawn.
5. Agħżel il-piżijiet li huma diġà mħarrġa u l-aħjar jaqdu l-każ tal-użu tiegħek. Is-sett tad-dejta jew il-verżjoni YOLOv5 partikolari li tgħallmu l-piżijiet jistgħu jintużaw biex inaqqsu l-lista.
6- Wara li tagħżel il-piżijiet xierqa, agħżel il-piż billi tikklikkja l-buttuna "Niżżel" ħdejha. Il-piżijiet se jkunu disponibbli biex jitniżżel bħala. pt fajls.
7- Ittrasferixxi l-piżijiet imniżżla fid-direttorju. Dan huwa fejn se jkun qed jopera l-iskrittura ta' skoperta tiegħek.
8- F'dan il-punt, tista 'tmexxi l-iskoperta tal-oġġett fuq ir-ritratti jew il-vidjows tiegħek billi tuża l-piżijiet imħarrġa minn qabel fl-iskrittura ta' skoperta tiegħek.
Ipprepara d-Dejta
Trid tieħu l-azzjonijiet li ġejjin biex id-dejta tkun lesta għall-użu ma' YOLOv5:
1. Iġbor id-dejta: L-ewwel pass huwa li tiġbor id-dejta tal-istampa jew tal-vidjo li jkollok bżonn għaliha sejbien ta 'oġġett. L-affarijiet li tixtieq tiskopri għandhom ikunu preżenti fir-ritratti jew videos.
2- Format id-dejta: Tista' timporta ritratti fl-iskrittura tiegħek jekk qed tużahom. Int trid iddawwar vidjo f'serje ta 'ritratti jekk qed tippjana li tuża waħda. Tista' tiġbed il-frejms minn film billi tuża librerija bħal OpenCV.
import cv2
img = cv2.imread('path/to/image')
Bil-librerija OpenCV, tista 'tuża l-kmand li ġej biex iddawwar vidjo f'serje ta' immaġini:
import cv2
cap = cv2.VideoCapture('path/to/video')
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
3. Ittikkettja d-dejta: Għandek ittikketta d-dejta jekk qed tuża s-sett tad-dejta tiegħek. Tpinġija ta' kaxxi tal-konfini madwar l-oġġetti li tixtieq tidentifika f'kull qafas ta' immaġini. Huwa l-proċess tat-tikkettar tad-dejta. Tista' tuża diversi għodod biex jgħinuk f'din l-operazzjoni, inklużi LabelImg u RectLabel.
4- Int trid taqsam id-dejta f'settijiet ta' taħriġ u ttestjar wara li tkun ittikkettat. Dan huwa kruċjali biex jiġi vvalutat kemm il-mudell tiegħek jaħdem tajjeb.
5. Fl-aħħarnett, jista 'jkollok bżonn tipproċessa minn qabel id-dejta qabel it-taħriġ jew l-ittestjar. Dan jista' jinvolvi l-iskala tal-istampi jew il-vidjows, l-istandardizzazzjoni tal-valuri tal-pixel, jew l-użu ta' metodi għat-tkabbir tad-dejta.
Wara li tlesti dawn il-passi, id-dejta tiegħek hija lesta.
Mexxi l-iskrittura ta' skoperta
Hawnhekk hawn illustrazzjoni ta 'kitba ta' skoperta li tanalizza stampa u ssib oġġetti.
import yolov5
import cv2
# Pre-trained weights should be loaded.
weights = 'path/to/weights.pt'
# Set the detection confidence level
conf_thres = 0.5
# Set the Non-Maxima Suppression (NMS) threshold
nms_thres = 0.5
# Create the detector object
detector = yolov5.YOLOv5(weights, conf_thres, nms_thres)
# Load the image
img = cv2.imread('path/to/image')
# Perform object detection
detections = detector.detect(img)
# Print the detections
for x1, y1, x2, y2, conf, cls_conf, cls_pred in detections:
print("Object:", classes[int(cls_pred)])
print("Confidence:", conf)
print("Bounding box:", (x1, y1, x2, y2))
Wara l-ipproċessar
Is-soppressjoni mhux massima hija waħda mit-tekniki ta' wara l-ipproċessar l-aktar frekwenti użati fl-iskoperta tal-oġġetti (NMS). Aħna nużaw l-NMS biex neliminaw kaxxi tal-konfini li jikkoinċidu għall-istess oġġett. Biex tesegwixxi NMS fuq l-iskoperti, nistgħu nużaw il-metodu cv2.dnn.NMSBoxes() tal-librerija OpenCV.
Hawn eżempju ta 'kif wara l-proċess ta' detezzjonijiet bl-użu ta 'NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
indiċi = cv2.dnn.NMSBoxes (skoperti, kunfidenza, conf_thres, nms_thres)
Viżwalizzazzjoni
Fil-każ tal-viżwalizzazzjoni, nistgħu nerġgħu nużaw librerija bħal OpenCV. Nistgħu nuru l-kaxxi tal-konfini madwar l-oġġetti skoperti fuq l-istampa jew il-vidjo tas-sors. Biex tiġbed il-kaxxi tal-konfini tal-immaġni, uża l-metodu cv2.rectangle(). Hawn kif tara l-iskoperti fuq l-immaġni oriġinali:
importazzjoni cv2
# Draw the bounding boxes on the image
għal I fl-indiċi:
i = i[0]
x1, y1, x2, y2 = detections[i][0], detections[i][1], detections[i][2], detections[i][3]
cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2)
cv2.putText(img, classes[class_ids[i]], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# Show the image
cv2.imshow("Object Detection", img)
cv2
applikazzjonijiet
YOLOv5 huwa mudell b'saħħtu ta 'identifikazzjoni ta' oġġetti. Għalhekk, nistgħu nagħmlu użu minnha f'ħafna xenarji tad-dinja reali. Wieħed mill-aktar użi prominenti huwa fil-karozzi li jsuqu waħedhom. YOLOv5 jista 'jidentifika oġġetti f'ħin reali bħal karozzi u dwal tat-traffiku.
F'sistemi ta 'sorveljanza, nistgħu nużaw YOLOv5 biex nirrikonoxxu u nsegwu oġġetti fi flussi ta' vidjow ħajjin. Barra minn hekk, YOLOv5 jista 'jkun vantaġġ kbir fir-robotika. Jista 'jgħin lir-robots jiskopru u jifhmu l-madwar. Dan huwa estremament importanti għal attivitajiet bħan-navigazzjoni u l-manipulazzjoni.
YOLOv5 jista 'jintuża wkoll fi kwalunkwe industrija li teħtieġ skoperta ta' oġġetti, bħal bejgħ bl-imnut, sports, mediċi u sigurtà.
konklużjoni
Fl-aħħarnett, YOLOv5 hija l-aktar verżjoni riċenti u sofistikata tal-familja YOLO ta ' sejbien ta 'oġġett mudelli
. Ukoll, huwa ġust li wieħed jgħid li huwa l-aktar mudell preċiż ta 'skoperta ta' oġġetti disponibbli. Grazzi għall-eżattezza u l-veloċità għolja tagħha, tista 'tagħżelha b'mod sikur għall-proġetti ta' sejbien ta 'oġġetti tiegħek.
Resky Agus
Nagħmel l-ewwel ġurnal dwar il-vettura ta 'skoperta ma' yolov5 u din il-web tgħinni biex infittex informazzjoni dwar dan.
Jien interessat ħafna dwar l-AI.
jekk tista' għandi ħafna mistoqsija dwar l-AI forsi tista' tgħinni
Grazzi