Itekhnoloji yokubona into yekhompyuter ibalulekile kwizicelo ezininzi. Siyisebenzisa kwiirobhothi, izixhobo zokujonga, iimoto eziziqhubayo, kunye nezinye iindawo ezininzi. Ke, sifumana kwaye siqaphele izinto ezithile kumfanekiso okanye kwividiyo.
Enye eyaziwa kakhulu into yokuchonga ialgorithms yiYOLO (Ujonge Kanye Kuphela) iseti yeemodeli. Le mizekelo yenziwe ngu Ultralytics LLC.
Inguqulelo yamva nje yolu ngcelele yi-YOLOv5. Kwaye, yeyona modeli ikhawulezayo nechanekileyo yokuchonga into kwimarike. Amandla omfuziselo wokwenza ngokubanzi idatha entsha aphuculwe kakhulu. Kwakhona, iqulethe izinto ezininzi eziyenza isebenze ngcono kunophinda-phindo lwangaphambili.
I-YOLOv5 ilungile kwizicelo zexesha lokwenyani kuba inokusebenza imifanekiso ngesantya sokuya kuthi ga kwi-1000 yefreyimu ngomzuzwana kwi-GPU enye.
Kweli nqaku, siya kwazisa i-YOLOv5 kwaye sihambe ngaphaya kweenkcukacha zeendawo zayo zokusebenza.
Uhambo lwe-YOLO: Ukusuka kwi-YOLO ukuya kwi-YOLOv5
UJoseph Redmon et al. ekuqaleni yazisa i-YOLO, iseti yeemodeli zokuchongwa kwezinto, ngo-2016. Imodeli yokuqala ye-YOLO inokuchonga izinto ngexesha langempela. Nangona kunjalo, yayinokuchaneka okuphantsi xa ithelekiswa nezinye iimodeli ngelo xesha.
Iinguqulelo ezininzi eziphuculweyo ze-YOLO zakhululwa kuyo yonke le minyaka. Kwaye ekugqibeleni, i-Ultralytics LLC yenze olona hlelo lutsha lwe-YOLO series, YOLOv5.
I-YOLOv5 yeyona modeli ichanekileyo kwaye ikhawulezayo yokuchonga into ekhoyo ngoku.
Izinto ezibalulekileyo
Iibhokisi ze-Anchor
I-YOLOv5 iqikelela iibhokisi zokubopha izinto ezikumfanekiso usebenzisa iibhokisi zeankile. Imodeli iqikelela ukuba zeziphi iibhokisi ezichazwe kwangaphambili ezinemiba eyahlukeneyo ehambelana kakuhle nento ekumfanekiso usebenzisa iibhokisi zeankile. Ezi ziibhokisi ezichazwe kwangaphambili.
Kwaye, benza ukuba i-YOLOv5 ibone kwaye ifumane izinto ezikumfanekiso ngokuchanekileyo.
Ukwandiswa kwedatha kaMosaic
Xa uqeqesho, i-YOLOv5 isebenzisa indlela eyaziwa ngokuba yi-mosaic ukwandisa idatha. Ukuphuhlisa imifanekiso yoqeqesho emitsha, imodeli yethu idibanisa ngokungenamkhethe iipetshi zeefoto ezininzi. Ngenxa yoko, imodeli iba yomelele kwaye ixhomekeke. Ke ngoko, ifikelela ekudityanisweni kwedatha entsha kunye nokunciphisa ukufakwa ngokugqithisileyo.
Umbhobho woQeqesho owahlukileyo
Umbhobho woqeqesho olulodwa oluxuba eligadiweyo kunye ukufunda okungagadwanga iyasetyenziswa.
Ke, imodeli ifunda kwisampulu encinci kwaye isebenzise igalelo elingabhalwanga ngokufanelekileyo. Oku kwandisa ukusebenza kwemodeli kwaye kwandisa amandla ayo okuvelisa amagalelo amatsha.
Iileya ezishiyekileyo nezingeyiyo intsalela
Uyilo lweYOLOv5 ludibanisa iileya ezishiyekileyo nezingashiyekiyo. Ngokuvumela i-gradients ukuba zihambe ngaphaya kweeleya, iileya ezishiyekileyo zincedisa imodeli ekufundeni iimpawu ezinzima. Kwakhona, iileya ezingezizo intsalela zibonelela ngemodeli ngokuqonda ngakumbi komfanekiso wegalelo. Ngenxa yoko, i-YOLOv5 inokusebenza ngokuchanekileyo nangempumelelo.
Uyisebenzisa njani i-YOLOv5
ufakelo
Ufakelo lwe-YOLOv5 lunokugqityezelwa ngokukhawuleza kusetyenziswa umbhobho. UPip ngumphathi wephakheji yePython. Iinkqubo ngokubanzi zokufakela i-YOLOv5 zezi zilandelayo:
1- Faka iPyTorch: Ngenxa yokuba i-YOLOv5 isekelwe kwisakhelo sePyTorch, kufuneka uqale ufake iPyTorch.
pip install torch torchvision
2. Faka i-CUDA: Kufuneka ufake i-CUDA ukuba unenjongo yokuqhuba i-YOLOv5 kwi-GPU.
3. Faka i-YOLOv5: Emva kokumisela i-PyTorch kunye ne-CUDA, sebenzisa lo myalelo ulandelayo ukukhuphela i-YOLOv5.
pip install yolov5
4-Ukulandela ukufakwa kwe-YOLOv5, kufuneka ukhuphele iintsimbi eziqeqeshwe kwangaphambili. Ubunzima obuqeqeshwe kwangaphambili buyafumaneka kwi-Ultralytics GitHub repo.
Yiya kwindawo "yobunzima" bewebhusayithi ngokuskrolela ezantsi. Unokukhuphela iintsimbi eziqeqeshwe kwangaphambili kuluhlu onokulufumana apha.
5. Khetha iintsimbi esele ziqeqeshiwe kwaye zilungele imeko yakho yosetyenziso. Iseti yedatha okanye uhlobo oluthile lwe-YOLOv5 olufundiweyo iintsimbi zingasetyenziselwa ukucudisa uluhlu.
6- Emva kokukhetha iintsimbi ezifanelekileyo, khetha ubunzima ngokucofa iqhosha elithi "Khuphela" ecaleni kwayo. Iintsimbi ziya kufumaneka ukuze zikhutshelwe njenge. iifayile zept.
7- Dlulisa iintsimbi ezikhutshelweyo kuluhlu. Apha kulapho ubhaqo lweskripthi sakho siza kusebenza khona.
8- Ngeli xesha, unokubaleka ukubonwa kwento kwiifoto okanye iividiyo zakho usebenzisa iintsimbi eziqeqeshwe kwangaphambili kwisikripthi sakho sokufumanisa.
Lungisa iDatha
Kuya kufuneka uthathe la manyathelo alandelayo ukuze ulungele ukusetyenziswa kwedatha nge-YOLOv5:
1. Qokelela idatha: Inyathelo lokuqala kukuqokelela umfanekiso okanye idatha yevidiyo oza kuyidinga ukubona into. Izinto onqwenela ukuzibhaqa kufuneka zibekho kwiifoto okanye kwiividiyo.
2-Fometha idatha: Ungangenisa nje iifoto kwiskripthi sakho ukuba uyazisebenzisa. Kuya kufuneka ujike ividiyo ibe luthotho lweefoto ukuba uceba ukuyisebenzisa enye. Ungakhupha iifreyimu kwimuvi usebenzisa ilayibrari efana ne-OpenCV.
import cv2
img = cv2.imread('path/to/image')
Ngethala leencwadi le-OpenCV, ungasebenzisa lo myalelo ulandelayo ukuguqula ividiyo ibeluthotho lwemifanekiso:
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. Faka ileyibhile kwidatha: Kufuneka uleyibhelishe idatha ukuba usebenzisa idatha yakho. Ukuzoba iibhokisi zokubopha ezijikeleze izinto onqwenela ukuzichonga kwisakhelo ngasinye somfanekiso. Yinkqubo yokuleyibhelishwa kwedatha. Unokusebenzisa izixhobo ezininzi ukukunceda ngalo msebenzi, kuquka iLabelImg kunye neRectLabel.
I-4- Kufuneka uhlukanise idatha kwiiseti zoqeqesho kunye neeseti zokuvavanya emva kokuba uyifake. Oku kubalulekile ekuhloleni ukuba imodeli yakho isebenza kakuhle kangakanani.
5. Okokugqibela, unokufuna ukucubungula kwangaphambili idatha phambi koqeqesho okanye uvavanyo. Oku kunokubandakanya ukukala imifanekiso okanye iividiyo, ukulinganisa amaxabiso epixel, okanye ukusebenzisa iindlela zokwandisa idatha.
Emva kokugqiba la manyathelo, idatha yakho ilungile.
Qhuba isikripthi sokubhaqa
Nanku umzekeliso weskripthi sokufumanisa esihlalutya umfanekiso kwaye sifumane izinto.
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))
Ukuposa emva
Ukunyanzeliswa okungeyona nto iphezulu yenye yezona ndlela ziqhelekileyo emva kokulungiswa kweendlela ezisetyenziselwa ukufumanisa into (NMS). Sisebenzisa i-NMS ukuphelisa iibhokisi ezidityanisiweyo zento enye. Ukuphumeza i-NMS kubhaqo, sinokusebenzisa indlela yethala leencwadi le-OpenCV cv2.dnn.NMSBoxes() indlela.
Nanku umzekelo wendlela yokuposa ubhaqo usebenzisa i-NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
indices = cv2.dnn.NMSBoxes(ukuchongwa, ukuzithemba, conf_thres, nms_thres)
yomfanekiso
Kwimeko yokujonga, sinokuphinda sisebenzise ilayibrari efana ne-OpenCV. Sinokubonisa iibhokisi zokubopha ezijikeleze izinto ezifunyenweyo kumfanekiso wemvelaphi okanye ividiyo. Ukuzoba iibhokisi zokubopha umfanekiso, sebenzisa indlela ye-cv2.rectangle(). Nantsi indlela yokujonga iziphumo kumfanekiso wokuqala:
ngenisa cv2
# Draw the bounding boxes on the image
kuba mna ngokwe indices:
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
izicelo
I-YOLOv5 ngumzekelo oqinileyo wokuchonga into. Ke ngoko, sinokuyisebenzisa kwiimeko ezininzi zehlabathi lokwenyani. Enye yezona zinto zibalaseleyo zisetyenziswa kwiimoto eziziqhubayo. I-YOLOv5 inokuchonga izinto ngexesha langempela njengeemoto kunye nezibane zendlela.
Kwiinkqubo zokucupha, sinokusebenzisa i-YOLOv5 ukuqaphela kunye nokulandelela izinto kwimijelo yevidiyo ephilayo. Ngaphaya koko, i-YOLOv5 inokuba yi-asethi enkulu kwiirobhothi. Inokunceda iirobhothi zibone kwaye ziyiqonde indawo ezingqongileyo. Oku kubaluleke kakhulu kwimisebenzi efana nokuhamba kunye nokukhohlisa.
I-YOLOv5 isenokusetyenziswa kulo naliphi na ishishini elifuna ukuchongwa kwezinto, ezinje ngokuthengisa, ezemidlalo, ezonyango, kunye nokhuseleko.
isiphelo
Okokugqibela, i-YOLOv5 lolona hlobo lwamva nje noluphucukileyo lwentsapho ye-YOLO ye ukubona into imizekelo
. Kwakhona, kufanelekile ukuthetha ukuba yeyona modeli ichanekileyo yokufumanisa into ekhoyo. Ngenxa yokuchaneka kwayo okuphezulu kunye nesantya, ungayikhetha ngokukhuselekileyo kwiiprojekthi zakho zokubona into.
Resky Agus
Ndenza ijenali yokuqala malunga nemoto yokufumanisa nge-yolov5 kwaye le webhu inceda ukukhangela ulwazi malunga naloo nto.
Ndinomdla kakhulu nge-AI.
ukuba unako ndinemibuzo emininzi malunga ne-AI mhlawumbi ungandinceda
Enkosi