Tha teicneòlas lorg nithean lèirsinn coimpiutair riatanach airson grunn thagraidhean. Bidh sinn ga chleachdadh ann an innealan-fuadain, uidheamachd sgrùdaidh, càraichean fèin-dràibhidh, agus mòran a bharrachd raointean. Mar sin, gheibh sinn rudan sònraichte a lorg agus aithneachadh ann an dealbh no bhidio.
Aon den fheadhainn as ainmeil Is e YOLO algorithms aithneachaidh nì (Cha bhith thu a’ coimhead ach aon uair) seata de mhodalan. Tha na modailean sin air an cruthachadh le Ultralytics LLC.
Is e YOLOv5 an dreach as ùire den t-sreath seo. Agus, is e am modal aithneachaidh stuth as luaithe agus as mionaidiche air a’ mhargaidh. Tha comas a' mhodail airson a bhith coitcheann gu dàta ùr air a leasachadh gu mòr. Cuideachd, tha mòran fheartan ann a tha ga dhèanamh nas fheàrr na ath-aithrisean nas tràithe.
Tha YOLOv5 air leth math airson tagraidhean fìor-ùine oir is urrainn dha dealbhan a phròiseasadh aig ìre suas ri 1000 frèamaichean san diog air aon GPU.
San artaigil seo, bheir sinn a-steach YOLOv5 agus thèid sinn thairis air mion-fhiosrachadh mu na raointean tagraidh aige.
Turas YOLO: Bho YOLO gu YOLOv5
Eòsaph Redmon et al. thug e a-steach an YOLO an toiseach, seata de mhodalan aithneachaidh nithean, ann an 2016. Dh’ fhaodadh modal tùsail YOLO nithean aithneachadh ann an àm fìor. Ach, bha cruinneas ìosal aige an taca ri modalan eile aig an àm sin.
Chaidh grunn dhreachan leasaichte de YOLO fhoillseachadh tro na bliadhnaichean. Agus mu dheireadh, chruthaich Ultralytics LLC an deasachadh as ùire den t-sreath YOLO, YOLOv5.
Is e YOLOv5 am modal aithneachaidh stuth as ceart agus as luaithe a tha ri fhaighinn an-dràsta.
Feartan cudromach
Bogsaichean Anchor
Tha YOLOv5 a’ ro-innse bogsaichean crìche airson nithean ann an ìomhaigh a’ cleachdadh bogsaichean acair. Tha am modail a’ ro-innse dè am measg mòran de bhogsaichean ro-mhìnichte le diofar cho-mheasan taobh a tha nas freagarraiche don rud san dealbh a’ cleachdadh bogsaichean acair. Tha iad sin nam bogsaichean ro-mhìnichte.
Agus, leigidh iad le YOLOv5 nithean aithneachadh agus a lorg ann an dealbh le mionaideachd.
Meudachadh dàta mosaic
Nuair a bhios tu a’ trèanadh, bidh YOLOv5 a’ cleachdadh modh ris an canar breac-dhualadh meudachadh dàta. Gus dealbhan trèanaidh ùra a leasachadh, bidh am modail againn air thuaiream a’ cothlamadh pìosan de ghrunn dhealbhan. Mar thoradh air an sin, bidh am modail a 'fàs nas seasmhaiche agus nas earbsaiche. Mar sin, bidh e a’ faighinn coitcheann gu dàta ùr agus a’ lughdachadh cus uidheamachadh.
Pìob trèanaidh gun samhail
Pìoba trèanaidh gun samhail a bhios a’ measgachadh fo stiùir agus ionnsachadh gun stiùireadh a chleachdadh.
Mar sin, bidh am modail ag ionnsachadh bho shampall nas lugha agus a’ cleachdadh cuir a-steach gun ainm gu h-èifeachdach. Bidh seo ag àrdachadh coileanadh a’ mhodail agus a’ cur ris a’ chomas aige a bhith coitcheann gu cuir a-steach ùr.
Sreathan a tha air fhàgail agus nach eil air fhàgail
Tha ailtireachd YOLOv5 a’ cothlamadh sreathan a tha air fhàgail agus nach eil air fhàgail. Le bhith a’ leigeil le caiseadan sruthadh thairis air na sreathan, bidh sreathan fuigheall a’ cuideachadh a’ mhodail ann a bhith ag ionnsachadh feartan duilich. Cuideachd, tha sreathan neo-mhaireannach a’ toirt tuigse nas coileanta don mhodail air an dealbh cuir a-steach. Mar thoradh air an sin, faodaidh YOLOv5 obrachadh nas mionaidiche agus nas èifeachdaiche.
Mar a chleachdas tu YOLOv5
stàladh
Faodar stàladh YOLOv5 a chrìochnachadh gu sgiobalta le bhith a ’cleachdadh pip. Tha Pip na mhanaidsear pacaid Python. Tha na modhan coitcheann airson stàladh YOLOv5 mar a leanas:
1- Stàlaich PyTorch: Leis gu bheil YOLOv5 stèidhichte air frèam PyTorch, feumaidh tu PyTorch a stàladh an toiseach.
pip install torch torchvision
2. Stàlaich CUDA: Feumaidh tu CUDA a stàladh ma tha thu an dùil YOLOv5 a ruith air GPU.
3. Stàlaich YOLOv5: An dèidh dhut PyTorch agus CUDA a stèidheachadh, cleachd an àithne a leanas gus YOLOv5 a luchdachadh sìos.
pip install yolov5
4-Às deidh dhut YOLOv5 a chuir a-steach, feumaidh tu na cuideaman ro-thrèanadh a luchdachadh sìos. Tha na cuideaman ro-thrèanadh rim faighinn ann an repo Ultralytics GitHub.
Rach don phàirt “cuideaman” den làrach-lìn le bhith a’ gluasad sìos. Faodaidh tu cuideaman ro-thrèanadh a luchdachadh sìos bhon liosta a lorgas tu an seo.
5. Tagh na cuideaman a tha air an trèanadh mar-thà agus a fhreagras air a' chùis cleachdaidh agad. Faodar an stòr-dàta no an dreach sònraichte YOLOv5 a chaidh na cuideaman ionnsachadh a chleachdadh gus an liosta a chaolachadh.
6- Às deidh dhut na cuideaman ceart a thaghadh, tagh an cuideam le bhith a’ briogadh air a ’phutan“ Luchdaich sìos ”ri thaobh. Bidh na cuideaman rim faighinn airson an luchdachadh sìos mar. faidhlichean pt.
7- Cuir thairis na cuideaman a chaidh a luchdachadh sìos chun eòlaire. Seo far am bi an sgriobt lorgaidh agad ag obair.
8- Aig an ìre seo, faodaidh tu lorg nithean a ruith air na dealbhan no na bhideothan agad a’ cleachdadh na cuideaman ro-thrèanadh anns an sgriobt lorgaidh agad.
Ullaich an dàta
Feumaidh tu na gnìomhan a leanas a ghabhail gus am bi an dàta deiseil airson a chleachdadh le YOLOv5:
1. Cruinnich an dàta: Is e a 'chiad cheum an dàta dealbh no bhidio a chruinneachadh a dh' fheumas tu lorg nithean. Bu chòir na rudan a tha thu airson a lorg a bhith an làthair anns na dealbhan no na bhideothan.
2- Cruth an dàta: Faodaidh tu dìreach dealbhan a thoirt a-steach don sgriobt agad ma tha thu gan cleachdadh. Feumaidh tu bhidio a thionndadh gu sreath de dhealbhan ma tha thu am beachd fear a chleachdadh. Faodaidh tu na frèamaichean a thoirt a-mach à film a’ cleachdadh leabharlann mar OpenCV.
import cv2
img = cv2.imread('path/to/image')
Leis an leabharlann OpenCV, faodaidh tu an àithne a leanas a chleachdadh gus bhidio a thionndadh gu sreath de dhealbhan:
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. Label an dàta: Feumaidh tu an dàta a chomharrachadh ma tha thu a' cleachdadh an dàta agad. A’ tarraing bhogsaichean crìche timcheall nan nithean a tha thu airson aithneachadh anns gach frèam de dh’ìomhaigh. Is e am pròiseas a bhith a’ comharrachadh an dàta. Faodaidh tu grunn innealan a chleachdadh gus do chuideachadh leis an obair seo, a’ gabhail a-steach LabelImg agus RectLabel.
4- Feumaidh tu an dàta a roinn ann an seataichean trèanaidh is deuchainn às deidh dhut a bhith air a tagadh. Tha seo deatamach airson measadh a dhèanamh air dè cho math 'sa tha am modail agad a' coileanadh.
5. Mu dheireadh, is dòcha gum feum thu an dàta a phròiseasadh ro-làimh mus trèanadh no deuchainn. Faodaidh seo a bhith a’ toirt a-steach sgèileadh nan dealbhan no na bhideothan, a’ gnàthachadh luachan piogsail, no a’ cleachdadh dhòighean airson dàta a mheudachadh.
Às deidh na ceumannan seo a chrìochnachadh, tha an dàta agad deiseil.
Ruith an sgriobt lorgaidh
Seo dealbh de sgriobt lorgaidh a nì mion-sgrùdadh air dealbh agus a lorgas nithean.
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))
Post-giollachd
Is e casg neo-as àirde aon de na dòighean iar-giullachd as trice a thathas a’ cleachdadh ann an lorg nithean (NMS). Bidh sinn a’ cleachdadh NMS gus cuir às do bhogsaichean crìche a tha a’ dol thairis air an aon rud. Gus NMS a chuir an gnìomh air na lorgaidhean, is urrainn dhuinn modh cv2.dnn.NMSBoxes() leabharlann OpenCV a chleachdadh.
Seo eisimpleir de mar as urrainn dhut lorgaidhean a phostadh a’ cleachdadh NMS.
import cv2
# Perform Non-Maxima Suppression (NMS)
clàran-amais = cv2.dnn.NMSBoxes (lorgaidhean, dìomhaireachdan, conf_thres, nms_thres)
Visualization
A thaobh fradharc, is urrainn dhuinn leabharlann mar OpenCV a chleachdadh a-rithist. Is urrainn dhuinn na bogsaichean crìche timcheall nan nithean a chaidh a lorg a thaisbeanadh air an dealbh stòr no bhidio. Gus bogsaichean crìche na h-ìomhaigh a tharraing, cleachd am modh cv2.rectangle(). Seo mar a chì thu na lorgaidhean air an ìomhaigh thùsail:
toirt a-steach cv2
# Draw the bounding boxes on the image
dhomh ann an clàr-amais:
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
Tagraidhean
Tha YOLOv5 na mhodal aithneachaidh stuth làidir. Mar sin, is urrainn dhuinn a chleachdadh ann an iomadh suidheachadh san t-saoghal fhìor. Tha aon de na cleachdaidhean as follaisiche ann an càraichean fèin-dràibhidh. Is urrainn dha YOLOv5 nithean a chomharrachadh ann an àm fìor leithid càraichean agus solais trafaic.
Ann an siostaman sgrùdaidh, is urrainn dhuinn YOLOv5 a chleachdadh gus nithean aithneachadh agus lorg ann an sruthan bhidio beò. A bharrachd air an sin, faodaidh YOLOv5 a bhith na mhaoin mhòr ann an robotics. Faodaidh e innealan-fuadain a chuideachadh gus na tha timcheall orra a lorg agus a thuigsinn. Tha seo air leth cudromach airson gnìomhan leithid seòladh agus làimhseachadh.
Faodar YOLOv5 a chleachdadh cuideachd ann an gnìomhachas sam bith a dh’ fheumas lorg nithean, leithid reic, spòrs, meidigeach agus tèarainteachd.
Co-dhùnadh
Mu dheireadh, is e YOLOv5 an dreach as ùire agus as ionnsaichte de theaghlach YOLO de lorg nithean Modalan
. Cuideachd, tha e cothromach a ràdh gur e seo am modail lorg nithean as ceart a tha ri fhaighinn. Taing dha cho mionaideach ‘s a tha e, faodaidh tu a thaghadh gu sàbhailte airson do phròiseactan lorg stuthan.
Resky Agus
Bidh mi a’ dèanamh a’ chiad iris mu charbad lorgaidh le yolov5 agus tha an làrach-lìn seo gar cuideachadh gus fiosrachadh a lorg mu dheidhinn sin.
Tha ùidh mhòr agam ann an AI.
mas urrainn dhut tha tòrr cheistean agam mu AI is dòcha gun urrainn dhut mo chuideachadh
Tapadh leat