Tignoolajiyada ogaanshaha shayga kombuyuutarku waxay muhiim u tahay codsiyo badan. Waxaan u isticmaalnaa qalab-robotik, qalabka ilaalinta, baabuurta is-wada, iyo meelo kale oo badan. Sidaa darteed, waxaynu ka heli karnaa oo ku aqoonsan karnaa waxyaabo gaar ah sawir ama muuqaal.
Mid ka mid ah kuwa ugu caansan Algorithms-yada aqoonsiga shayga waa YOLO (You Only Look once) set of model. Moodooyinkaas waxaa abuuray Ultralytics LLC.
Nooca ugu dambeeyay ee taxanahan waa YOLOv5. Oo, waa nooca aqoonsiga shayga ugu dhaqsaha badan uguna saxsan ee suuqa. Awoodda moodeelka si uu u gudbiyo xog cusub si weyn ayaa loo hagaajiyay. Sidoo kale, waxay ka kooban tahay sifooyin badan oo ka dhigaya inay si ka fiican u qabato soo noqnoqoshada hore.
YOLOv5 aad bay ugu fiican tahay codsiyada wakhtiga-dhabta ah maadaama ay ku shaqayn karto sawiro ilaa 1000 fiim ilbiriqsi kasta hal GPU.
Maqaalkan, waxaan ku soo bandhigi doonaa YOLOv5 oo aan dul mari doonaa faahfaahinta meelaha codsiga.
Socdaalka YOLO: Laga bilaabo YOLO ilaa YOLOv5
Joseph Redmon iyo al. markii hore waxa la soo bandhigay YOLO, oo ah nooc ka mid ah noocyada aqoonsiga shayga, sanadka 2016. Qaabka bilowga ah ee YOLO waxa uu garan karaa walxaha wakhtiga dhabta ah. Si kastaba ha ahaatee, waxay lahayd saxnaan hoose marka la barbar dhigo moodooyinka kale ee wakhtigaas.
Dhowr nooc oo YOLO ah oo la cusboonaysiiyay ayaa la sii daayay sannadihii oo dhan. Ugu dambeyntiina, Ultralytics LLC waxay abuurtay daabacaadda cusub ee taxanaha YOLO, YOLOv5.
YOLOv5 waa kan ugu saxsan uguna dhaqsaha badan qaabka aqoonsiga shayga hadda la heli karo.
Qiimaha Muhiimka ah
Sanduuqyada Barroosinka
YOLOv5 waxay saadaalisaa sanduuqyada ku-xiran ee walxaha ku jira sawirka iyadoo la adeegsanayo sanduuqyada barroosinka. Qaabku wuxuu saadaaliyaa sanduuqyada badan ee horay loo sii qeexay ee leh saamiyo kala duwan sida ugu fiican ee u dhigma shayga sawirka ku jira isagoo isticmaalaya sanduuqyada barroosinka. Kuwani waa sanduuqyo horay loo sii qeexay.
Iyo, waxay awood u siinayaan YOLOv5 inay aqoonsato oo ay ka hesho walxaha sawirka si sax ah.
Kordhinta xogta Muuse
Marka tababarka, YOLOv5 shaqeeya hab loo yaqaan mosaic kordhinta xogta. Si loo horumariyo sawiro tababar oo cusub, moodelkeenu si aan kala sooc lahayn ayuu isugu daraa balastar dhowr sawir ah. Natiijo ahaan, qaabku wuxuu noqdaa mid adkeysi badan oo la isku halleyn karo. Sidaa darteed, waxay ku soo ururinaysaa xog cusub waxayna hoos u dhigaysaa ku-habboonaanta.
Dhuumaha Tababarka Gaarka ah
Dhuun tababar gaar ah oo isku dhafan kormeerayaal iyo waxbarashada aan la ilaalin waxaa loo isticmaalaa.
Sidaa darteed, moodeelku waxa uu wax ka bartaa muunad yar oo waxa uu si wax ku ool ah u isticmaalaa gelinta aan la calaamadin. Tani waxay kor u qaadaysaa waxqabadka moodeelka oo waxay kor u qaadaysaa awooddeeda si ay u soo koobto agab cusub.
Lakabyo hadhaaga ah iyo kuwa aan hadhaaga ahayn
Qaab dhismeedka YOLOv5 wuxuu isku daraa lakabyo hadhaaga ah iyo kuwa aan hadhayn. Adiga oo u oggolaanaya gradients inay ku qulqulaan lakabyada, lakabyada hadhaagu waxay caawiyaan moodeelka barashada sifooyin adag. Sidoo kale, lakabyada aan hadhaaga ahayn ayaa siinaya moodeelka si aad u fahamto sawirka wax gelinta. Natiijo ahaan, YOLOv5 waxay u shaqayn kartaa si sax ah oo waxtar leh.
Sida Loo Isticmaalo YOLOv5
Rakibaadda
Ku rakibida YOLOv5 waxaa laga yaabaa in si dhakhso leh loo dhammeeyo iyadoo la isticmaalayo pip. Pip waa maareeyaha xirmada Python. Nidaamyada guud ee lagu rakibo YOLOv5 waa sida soo socota:
1- Ku rakib PyTorch: Sababtoo ah YOLOv5 waxay ku salaysan tahay qaabka PyTorch, waa inaad marka hore rakibtaa PyTorch.
pip install torch torchvision
2. Ku rakib CUDA: Waa inaad ku rakibtaa CUDA haddii aad doonayso inaad ku socodsiiso YOLOv5 GPU.
3. Ku rakib YOLOv5: Kadib dejinta PyTorch iyo CUDA, adeegso amarka soo socda si aad u soo dejiso YOLOv5.
pip install yolov5
4-Ka dib rakibidda YOLOv5, waa inaad soo dejisaa miisaanka horay loo tababaray. Miisaanka horay loo tababaray ayaa laga heli karaa Ultralytics GitHub repo.
Tag qaybta "miisaanka" ee mareegaha adiga oo hoos u riixaya. Waxaad ka soo dejisan kartaa miisaanka horay loo tababaray liiska aad ka heli karto halkan.
5. Dooro miisaanka hore loo tababaray oo sida ugu fiican ugu habboon kiiskaaga isticmaalka. Xogta ama nooca gaarka ah ee YOLOv5 ee miisaanka la bartay ayaa laga yaabaa in loo isticmaalo si loo yareeyo liiska.
6- Kadib markaad doorato miisaanka saxda ah, qaado miisaanka adigoo gujinaya badhanka "Download" ee ku xiga. Miisaanka ayaa diyaar u ah soo dejinta sida. pt faylasha.
7- Ku wareeji miisaanka la soo dejiyay hagaha. Halkani waa halka qoraalkaaga ogaanshaha uu ka shaqayn doono.
8- Halkaa marka ay marayso, waxaad ku socodsiin kartaa ogaanshaha shayga sawiradaada ama fiidiyowyada adiga oo isticmaalaya miisaankii hore loo tababaray ee qoraalkaaga ogaanshaha.
Diyaari Xogta
Waa inaad qaaddaa tallaabooyinka soo socda si aad xogta ugu diyaargarowdo isticmaalka YOLOv5:
1. Soo ururi xogta: Tallaabada ugu horreysa waa inaad ururiso xogta sawirka ama muuqaalka aad u baahan doonto ogaanshaha shay. Waxyaabaha aad rabto inaad ogaato waa inay ku jiraan sawirada ama fiidiyowyada.
2- Format the data: Waxa laga yaabaa in aad soo geliso sawiro qoraalkaaga haddii aad isticmaalayso. Waa inaad fiidiyoow u beddeshaa sawirro taxane ah haddii aad qorsheyneyso inaad mid isticmaasho. Waxaad ka soo saari kartaa fareemada filimka adigoo isticmaalaya maktabad sida OpenCV.
import cv2
img = cv2.imread('path/to/image')
Maktabada OpenCV, waxaad isticmaali kartaa amarkan soo socda si aad fiidyowga ugu rogto sawirro taxane ah:
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. Calaamadee xogta: Waa inaad calaamadisaa xogta haddii aad isticmaalayso xogtaada. Ku sawirida santuuqyada kuxiran hareeraha walxaha aad rabto inaad ku aqoonsato qaab kasta oo sawir ah. Waa habka lagu calaamadiyo xogta. Waxaad isticmaali kartaa dhowr qalab si ay kaaga caawiyaan hawlgalkan, oo ay ku jiraan LabelImg iyo RectLabel.
4- Waa in aad xogta u qaybisaa tababar iyo tijaabo kadib marka aad calaamadiso. Tani waxay muhiim u tahay qiimaynta sida wanaagsan ee moodeelkaagu u shaqeeyo.
5. Ugu dambeyntii, waxaa laga yaabaa inaad u baahato inaad horay u sii waddo xogta ka hor tababarka ama imtixaanka. Tani waxay keeni kartaa in la miisaamo sawirada ama fiidyaha, habaynta qiyamka pixel-ka, ama isticmaalka habab xogta lagu kordhiyo.
Kadib dhamaystirka talaabooyinkan, xogtaadu waa diyaar.
Ku socodsii qoraalka ogaanshaha
Halkan waxaa ah sawirka qoraalka ogaanshaha kaas oo falanqaynaya sawirka oo helaya walxaha.
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))
Dib-u-habeyn
Cadaadiska aan ugu badnaan waa mid ka mid ah farsamooyinka habaynta ka dib ee inta badan loo isticmaalo ogaanshaha shayga (NMS). Waxaan u isticmaalnaa NMS si aan u baabi'inno sanduuqyada isku dhejinta ee isku shay isku mid ah. Si loo hirgeliyo NMS ee ogaanshaha, waxaan isticmaali karnaa habka cv2.dnn.NMSBoxes() maktabadda OpenCV.
Waa kuwan tusaale ku saabsan sida loo ogaado habka ka dib iyadoo la isticmaalayo NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
Indices = cv2.dnn.NMSBoxes (ogaanshaha, kalsoonida, conf_thres, nms_thres)
muuqaalaynta
Xaaladda aragga, waxaan mar kale isticmaali karnaa maktabad sida OpenCV. Waxaan muujin karnaa santuuqyada ku xeeran walxaha la helay ee ku yaal sawirka isha ama fiidiyowga. Si aad u sawirto sanduuqyada kuxiran sawirka, isticmaal habka cv2.rectangle(). Waa kan sida loo arko ogaanshaha sawirka asalka ah:
soo dejinta cv2
# Draw the bounding boxes on the image
aniga oo ku jira tusmooyinka:
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
Codsiyada
YOLOv5 waa nooca aqoonsiga shay xooggan. Sidaa darteed, waxaan uga faa'iideysan karnaa xaalado badan oo adduunka dhabta ah. Mid ka mid ah isticmaalka ugu caansan waa baabuurta iswada. YOLOv5 waxay aqoonsan kartaa walxaha wakhtiga dhabta ah sida baabuurta iyo nalalka taraafiggu.
Nidaamyada ilaalinta, waxaan u isticmaali karnaa YOLOv5 si aan u aqoonsanno oo aan ula socono walxaha ku jira qulqulka fiidyaha tooska ah. Intaa waxaa dheer, YOLOv5 waxay noqon kartaa hanti weyn oo ku jirta robotics. Waxay ka caawin kartaa robots inay ogaadaan oo fahmaan hareerahooda. Tani aad bay muhiim ugu tahay hawlaha sida hagidda iyo wax-is-daba-marinta.
YOLOv5 waxa kale oo laga yaabaa in laga faa'iidaysto warshad kasta oo u baahan ogaanshaha shay, sida tafaariiqda, ciyaaraha, caafimaadka, iyo amniga.
Ugu Dambeyn
Ugu dambeyntii, YOLOv5 waa nooca ugu dambeeyay uguna casrisan ee qoyska YOLO ee ogaanshaha shay Moodooyinka
. Sidoo kale, waa cadaalad in la yiraahdo waa qaabka ogaanshaha shayga ugu saxsan ee la heli karo. Waad ku mahadsan tahay saxnaanta sare iyo xawaaraha, waxaad si badbaado leh u dooran kartaa mashaariicdaada ogaanshaha shayga.
Resky Agous
Waxaan sameeyay joornaal ugu horeysay oo ku saabsan gaariga lagu ogaanayo yolov5 iyo shabakadaan waxay kaa caawineysaa raadinta macluumaadka ku saabsan taas.
Waxaan aad u xiiseynayaa AI.
Haddii aad awoodid waxaan qabaa su'aalo badan oo ku saabsan AI waxaa laga yaabaa inaad i caawin karto
Mahadsanid