Teknụzụ nchọpụta ihe ọhụụ kọmputa dị mkpa maka ọtụtụ ngwa. Anyị na-eji ya na robotics, akụrụngwa nlegharị anya, ụgbọ ala na-anya onwe ya, na ọtụtụ mpaghara ndị ọzọ. N'ihi ya, anyị ga-achọta ma mata ụfọdụ ihe na foto ma ọ bụ vidiyo.
Otu n'ime ndị a kacha mara amara algọridim njirimara ihe bụ YOLO (Ị na-ahụ naanị otu ugboro) set nke ụdị. A na-emepụta ụdị ndị a site na Ultralytics LLC.
Ụdị usoro isiokwu a kacha ọhụrụ bụ YOLOv5. Ma, ọ bụ ụdị njirimara ihe kachasị ọsọ na nke ziri ezi na ahịa. Ikike nke ihe nlereanya ịchịkọta data ọhụrụ ka emelitere nke ukwuu. Ọzọkwa, ọ nwere ọtụtụ atụmatụ na-eme ka ọ na-arụ ọrụ nke ọma karịa ugboro ugboro.
YOLOv5 dị mma maka ngwa ngwa n'ezie ebe ọ nwere ike hazie foto na ọnụego ruru 1000 okpokolo agba kwa nkeji na otu GPU.
N'isiokwu a, anyị ga-ewebata YOLOv5 ma gafere nkọwa nke mpaghara ngwa ya.
Njem nke YOLO: Site na YOLO ruo YOLOv5
Joseph Redmon et al. na mbụ webatara YOLO, otu ụdị njirimara ihe, na 2016. Ụdị mbụ YOLO nwere ike ịmata ihe n'oge. Agbanyeghị, ọ nwere obere izi ezi ma e jiri ya tụnyere ụdị ndị ọzọ n'oge ahụ.
E wepụtara ọtụtụ ụdị YOLO emelitere n'ime afọ niile. N'ikpeazụ, Ultralytics LLC mepụtara mbipụta YOLO kachasị ọhụrụ, YOLOv5.
YOLOv5 bụ ụdị njirimara ihe kacha zie ezie na ngwa ngwa dị ugbu a.
Atụmatụ dị mkpa
Igbe arịlịka
YOLOv5 na-ebu amụma maka igbe ejichi maka ihe dị na onyonyo site na iji igbe arịlịka. Ihe nlereanya a na-ebu amụma nke n'ime ọtụtụ igbe akọwara mbụ nwere oke akụkụ dị iche iche dabara na ihe dị na foto a site na iji igbe arịlịka. Ndị a bụ igbe akọwara mbụ.
Na, ha na-enyere YOLOv5 aka ịmata na ịchọta ihe dị na foto nke ziri ezi.
Mgbakwunye data Mosaic
Mgbe ọzụzụ, YOLOv5 na-eji usoro a maara dị ka mosaic data augmentation. Iji mepụta foto ọzụzụ ọhụrụ, ihe nlereanya anyị na-ejikọta patches nke ọtụtụ foto na-enweghị usoro. N'ihi ya, ihe nlereanya ahụ na-aghọwanye ihe na-agbanwe agbanwe na ntụkwasị obi. N'ihi ya, ọ na-enweta n'ozuzu na data ọhụrụ na ibelata overfitting.
Pipeline Ọzụzụ Pụrụ Iche
Pipeline ọzụzụ pụrụ iche nke na-agwakọta na-elekọta na mmụta a na-elekọtaghị anya eji.
Ya mere, ihe nlereanya a na-amụta site na obere nlele ma na-eji ntinye enweghị akara nke ọma. Nke a na-ebuli arụmọrụ ihe nlereanya ahụ ma na-ebuli ikike ya ichikota na ntinye ọhụrụ.
N'ígwé ndị fọdụrụ na ndị na-abụghị nke fọdụrụnụ
Ihe owuwu YOLOv5 na-ejikọta ọkwa nke fọdụrụ na nke na-abụghị nke fọdụrụ. Site n'ikwe ka gradients na-asọfe n'ígwé, ihe ndị fọdụrụ na-enyere ihe nlereanya aka ịmụta atụmatụ siri ike. Ọzọkwa, n'ígwé ndị na-abụghị nke fọdụrụ na-enye ihe nlereanya ahụ n'ụzọ zuru oke nke foto ntinye. N'ihi ya, YOLOv5 nwere ike ịrụ ọrụ nke ọma na nke ọma.
Otu esi eji YOLOv5
nwụnye
Enwere ike mechaa nwụnye YOLOv5 ngwa ngwa site na iji pipụ. Pip bụ onye njikwa ngwugwu Python. Usoro izugbe maka ịwụnye YOLOv5 bụ ndị a:
1- Wụnye PyTorch: N'ihi na YOLOv5 dabere na usoro PyTorch, ị ga-ebu ụzọ tinye PyTorch.
pip install torch torchvision
2. Wụnye CUDA: Ị ga-etinyerịrị CUDA ma ọ bụrụ na i bu n'obi ịgba ọsọ YOLOv5 na GPU.
3. Wụnye YOLOv5: Mgbe ịtọlitechara PyTorch na CUDA, jiri iwu na-esonụ budata YOLOv5.
pip install yolov5
4-Na-esochi ntinye nke YOLOv5, ị ga-ebudata ibu arọ ndị a zụrụ azụ. Arọ ndị a zụrụ azụ dị na Ultralytics GitHub repo.
Gaa na akụkụ "arọ" nke weebụsaịtị site na ịpịgharị ala. Ị nwere ike budata ibu a zụrụ azụ site na ndepụta ị nwere ike ịhụ ebe a.
5. Họrọ ihe ọ̀tụ̀tụ̀ ndị a zụrụla azụ ma dabara nke ọma maka ojiji gị. Enwere ike iji dataset ma ọ bụ ụdị YOLOv5 nke amụtara n'ihe dị arọ iji mee ka ndepụta ahụ dị warara.
6- Mgbe ịhọrọ oke nha kwesịrị ekwesị, buru ibu site na ịpị bọtịnụ "Download" n'akụkụ ya. Arọ ahụ ga-adị maka nbudata dị ka. pt faịlụ.
7- Nyefee arọ ebudatara na ndekọ. Nke a bụ ebe edemede nchọpụta gị ga-arụ ọrụ.
8- N'oge a, ị nwere ike mee nchọpụta ihe na foto gị ma ọ bụ vidiyo site na iji ihe a zụrụ azụ na edemede nchọpụta gị.
Kwadebe Data
Ị ga-emerịrị omume ndị a iji kwado data maka ojiji YOLOv5:
1. Chịkọta data: Nzọụkwụ mbụ bụ ịchịkọta foto ma ọ bụ data vidiyo ị ga-achọ nchọpụta ihe. Ihe ịchọrọ ịchọpụta kwesịrị ịdị na foto ma ọ bụ vidiyo.
2- Hazie data: Ị nwere ike ibubata foto na edemede gị ma ọ bụrụ na ị na-eji ha. Ị ga-atụgharịrịrị vidiyo ka ọ bụrụ usoro foto ma ọ bụrụ na ị na-eme atụmatụ iji otu. Ị nwere ike wepụ okpokolo agba na fim site na iji ụlọ akwụkwọ dị ka OpenCV.
import cv2
img = cv2.imread('path/to/image')
Site na ọbá akwụkwọ OpenCV, ị nwere ike iji iwu na-esonụ iji tụgharịa vidiyo ka ọ bụrụ usoro onyonyo:
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. Tinye aha data: Ị ga-ede aha data ma ọ bụrụ na ị na-eji dataset gị. Na-ese igbe ejichi gburugburu ihe ndị ịchọrọ ịmata n'okirikiri onyonyo ọ bụla. Ọ bụ usoro ịkpọ aha data. Ị nwere ike iji ọtụtụ ngwaọrụ nyere gị aka na ọrụ a, gụnyere LabelImg na RectLabel.
4- Ị ga-ekewa data ahụ n'ime ọzụzụ ọzụzụ na ule nyocha mgbe ịmechara ya. Nke a dị oké mkpa maka ịlele ka ihe nlereanya gị si arụ ọrụ nke ọma.
5. N'ikpeazụ, i nwere ike mkpa preprocess data tupu ọzụzụ ma ọ bụ ule. Nke a nwere ike ịgụnye ịcha foto ma ọ bụ vidiyo, ịhazi ụkpụrụ pikselụ, ma ọ bụ iji ụzọ maka nkwalite data.
Mgbe ịmechara usoro ndị a, data gị adịla njikere.
Gbaa ederede nchọpụta ahụ
Nke a bụ ihe atụ nke edemede nchọpụta nke na-enyocha eserese wee chọta ihe.
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))
Nhazi post
Mgbochi na-abụghị nke kachasị bụ otu n'ime usoro nhazi oge a na-ejikarị eme nchọpụta ihe (NMS). Anyị na-eji NMS wepụ igbe ejikọtara ọnụ maka otu ihe ahụ. Iji mee NMS na nchọpụta ahụ, anyị nwere ike iji usoro cv2.dnn.NMSBoxes() nke Ọbá akwụkwọ OpenCV.
Nke a bụ ọmụmaatụ otu esi eme nchọpụta n'ihu n'ihu site na iji NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
indices = cv2.dnn.NMSBoxes(nchọpụta, ntụkwasị obi, conf_thres, nms_thres)
anya
N'ihe banyere ikiri anya, anyị nwere ike iji ụlọ akwụkwọ dị ka OpenCV ọzọ. Anyị nwere ike igosipụta igbe ejichi gburugburu ihe achọpụtara na foto isi mmalite ma ọ bụ vidiyo. Iji see igbe ejichi foto a, jiri usoro cv2.rectangle(). Nke a bụ otu esi ele nchoputa na onyonyo izizi:
mbubata cv2
# Draw the bounding boxes on the image
maka m na 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
ngwa
YOLOv5 bụ ụdị njirimara ihe siri ike. N'ihi ya, anyị nwere ike iji ya mee ihe n'ọtụtụ ọnọdụ dị adị n'ezie. Otu n'ime ihe ndị kacha ewu ewu bụ ụgbọ ala na-anya onwe ya. YOLOv5 nwere ike ịchọpụta ihe dị adị n'oge dị ka ụgbọ ala na ọkụ okporo ụzọ.
Na sistemụ onyunyo, anyị nwere ike iji YOLOv5 mata ma soro ihe dị na iyi vidiyo dị ndụ. Ọzọkwa, YOLOv5 nwere ike ịbụ nnukwu akụ na robotics. Ọ nwere ike inyere robots aka ịchọpụta na ịghọta gburugburu ha. Nke a dị oke mkpa maka mmemme dị ka ịnyagharị na imegharị ihe.
Enwere ike iji YOLOv5 mee ihe na ụlọ ọrụ ọ bụla chọrọ nchọpụta ihe, dị ka mkpọsa, egwuregwu, ahụike na nchekwa.
mmechi
N'ikpeazụ, YOLOv5 bụ ụdị kachasị ọhụrụ na ọkaibe nke ezinụlọ YOLO nke nchọpụta ihe ụdị
. Ọzọkwa, ọ dị mma ịsị na ọ bụ ụdị nchọpụta ihe kacha zie ezie dị. Ekele maka izi ezi na ọsọ ya dị elu, ị nwere ike họrọ ya n'enweghị nsogbu maka ọrụ nchọpụta ihe gị.
Resky Agus
M na-eme akwụkwọ akụkọ mbụ gbasara ụgbọ nchọpụta yolov5 na webụ a na-enyere aka ịchọ ozi gbasara nke ahụ.
Enwere m mmasị na AI.
Ọ bụrụ na ị nwere ike, enwere m ọtụtụ ajụjụ gbasara AI ị nwere ike inyere m aka
Daalụ