ڪمپيوٽر وژن جي اعتراض جي ڳولا ٽيڪنالاجي ڪيترن ئي ايپليڪيشنن لاء ضروري آهي. اسان ان کي روبوٽڪس، نگراني جي سامان، خود ڊرائيونگ گاڏين، ۽ ٻين ڪيترن ئي علائقن ۾ استعمال ڪندا آهيون. ان ڪري، اسان کي تصوير يا وڊيو ۾ ڪجهه شيون ڳولڻ ۽ سڃاڻڻ جي ضرورت آهي.
سڀ کان وڌيڪ مشهور مان هڪ اعتراض جي سڃاڻپ الگورتھم YOLO آھي (توهان صرف هڪ ڀيرو ڏسو) ماڊل جو سيٽ. اهي ماڊل ٺاهيل آهن Ultralytics LLC.
هن سيريز جو سڀ کان تازو نسخو آهي YOLOv5. ۽، اهو مارڪيٽ تي تيز ترين ۽ سڀ کان وڌيڪ صحيح اعتراض جي سڃاڻپ ماڊل آهي. نئين ڊيٽا کي عام ڪرڻ لاء ماڊل جي صلاحيت تمام گهڻو بهتر ٿي چڪو آهي. انهي سان گڏ، ان ۾ ڪيتريون ئي خاصيتون شامل آهن جيڪي ان کي اڳئين ورهاڱي کان بهتر ڪارڪردگي ڏين ٿيون.
YOLOv5 حقيقي وقت جي ايپليڪيشنن لاءِ وڏو آهي ڇو ته اهو هڪ GPU تي 1000 فريم في سيڪنڊ جي شرح سان تصويرن کي پروسيس ڪري سگهي ٿو.
هن آرٽيڪل ۾، اسان متعارف ڪنداسين YOLOv5 ۽ ان جي ايپليڪيشن جي علائقن جي تفصيل تي.
YOLO جو سفر: YOLO کان YOLOv5 تائين
Joseph Redmon et al. اصل ۾ YOLO متعارف ڪرايو، اعتراض جي سڃاڻپ جي ماڊل جو هڪ سيٽ، 2016 ۾. شروعاتي YOLO ماڊل حقيقي وقت ۾ شين جي سڃاڻپ ڪري سگهي ٿو. تنهن هوندي به، ان وقت جي ٻين ماڊلز جي مقابلي ۾ هڪ گهٽ درستگي هئي.
YOLO جا ڪيترائي اپ گريڊ ٿيل ورجن سڄن سالن ۾ جاري ڪيا ويا. ۽ نيٺ، Ultralytics LLC ٺاهيو YOLO سيريز جو نئون ايڊيشن، YOLOv5.
YOLOv5 سڀ کان وڌيڪ صحيح ۽ تيز ترين اعتراض جي سڃاڻپ ماڊل آهي جيڪو هن وقت موجود آهي.
اهم خاصيتون
اينڪر باڪس
YOLOv5 لنگر باڪس استعمال ڪندي تصوير ۾ شين لاءِ بائونڊنگ باڪس جي اڳڪٿي ڪري ٿو. ماڊل اڳڪٿي ڪري ٿو ته ڪيترن ئي اڳواٽ بيان ڪيل باڪسن مان ڪھڙا مختلف اسپيڪٽ ريٽس سان گڏ تصوير ۾ موجود شيون لنگر باڪس استعمال ڪندي چڱيءَ طرح ملن ٿا. اهي اڳ ۾ مقرر ٿيل باڪس آهن.
۽، اھي YOLOv5 کي چالو ڪن ٿا ۽ ھڪڙي تصوير ۾ شيون ڳولڻ لاءِ درستگي سان.
Mosaic ڊيٽا واڌارو
جڏهن تربيت، YOLOv5 هڪ طريقو استعمال ڪري ٿو جيڪو موزائيڪ طور سڃاتو وڃي ٿو ڊيٽا وائڻ. جديد تربيتي تصويرون ٺاهڻ لاءِ، اسان جو ماڊل بي ترتيب ڪيترن ئي تصويرن جا پيچ گڏ ڪري ٿو. نتيجي طور، ماڊل وڌيڪ لچڪدار ۽ قابل اعتماد بڻجي ٿو. انهيء ڪري، اهو نئين ڊيٽا کي عام ڪرڻ ۽ اوورفٽنگ کي گهٽائڻ لاء حاصل ڪري ٿو.
هڪ منفرد ٽريننگ پائپ لائن
هڪ منفرد ٽريننگ پائپ لائن جيڪا ملائي ٿي نگراني ۽ غير نگراني تعليم استعمال ٿيندو آهي.
اهڙيء طرح، ماڊل هڪ ننڍڙي نموني مان سکي ٿو ۽ غير ليبل ٿيل ان پٽ کي مؤثر طريقي سان استعمال ڪري ٿو. هي ماڊل جي ڪارڪردگي کي وڌائي ٿو ۽ ان جي صلاحيت کي وڌائي ٿو نئين ان پٽن کي عام ڪرڻ لاءِ.
پرت جيڪي بقايا ۽ غير بقايا آهن
YOLOv5 جو فن تعمير انهن تہن کي گڏ ڪري ٿو جيڪي بقايا ۽ غير بقايا آهن. گريڊيئينٽ کي پرتن جي وچ ۾ وهڻ جي اجازت ڏيڻ سان، بقايا پرتون مشڪل خصوصيتن کي سکڻ ۾ ماڊل جي مدد ڪن ٿيون. انهي سان گڏ، غير رهائشي تہه ماڊل مهيا ڪن ٿيون ان پٽ تصوير جي وڌيڪ جامع گرفت سان. نتيجي طور، YOLOv5 وڌيڪ صحيح ۽ مؤثر طريقي سان ڪم ڪري سگهي ٿو.
ڪيئن استعمال ڪجي YOLOv5
لڳائڻ
YOLOv5 انسٽال ٿي سگھي ٿو جلدي مڪمل ڪري پائپ استعمال ڪندي. Pip هڪ Python پيڪيج مينيجر آهي. YOLOv5 کي انسٽال ڪرڻ لاءِ عام طريقا هن ريت آهن:
1- انسٽال ڪريو PyTorch: ڇاڪاڻ ته YOLOv5 PyTorch فريم ورڪ تي ٻڌل آهي، توهان کي پهريان PyTorch انسٽال ڪرڻ گهرجي.
pip install torch torchvision
2. انسٽال ڪريو CUDA: توھان کي CUDA انسٽال ڪرڻ گھرجي جيڪڏھن توھان چاھيو ٿا YOLOv5 کي GPU تي.
3. YOLOv5 انسٽال ڪريو: PyTorch ۽ CUDA سيٽ ڪرڻ کان پوءِ، ھيٺ ڏنل ڪمانڊ استعمال ڪريو YOLOv5 ڊائون لوڊ ڪرڻ لاءِ.
pip install yolov5
4-YOLOv5 جي انسٽاليشن کان پوءِ، توھان کي لازمي طور تي ڊائون لوڊ ڪرڻ گھرجي اڳ-تربيت ٿيل وزن. اڳ-تربيت ٿيل وزن الٽراليٽڪس گيٽ هب ريپو ۾ موجود آهن.
ڏانھن وڃو "وزن" ويب سائيٽ جو حصو ھيٺ طومار ڪندي. توھان ڊائون لوڊ ڪري سگھوٿا اڳ-تربيت ٿيل وزن فهرست مان توھان ڳولي سگھوٿا هتي.
5. اھي وزن چونڊيو جيڪي اڳ ۾ ئي تربيت يافته آھن ۽ توھان جي استعمال جي صورت ۾ بھترين مناسب آھن. ڊيٽا سيٽ يا خاص YOLOv5 ورزن جنهن ۾ وزن سکيو ويو هو فهرست کي تنگ ڪرڻ لاءِ استعمال ٿي سگهي ٿو.
6- مناسب وزن چونڊڻ کان پوءِ، ان جي اڳيان ”ڊائون لوڊ“ بٽڻ تي ڪلڪ ڪري وزن چونڊيو. وزن ڊائون لوڊ لاءِ دستياب هوندا جيئن. pt فائلون.
7- ڊائون لوڊ ڪيل وزن ڊاريڪٽري ڏانهن منتقل ڪريو. هي آهي جتي توهان جي ڳولڻ واري اسڪرپٽ ڪم ڪندي.
8- هن نقطي تي، توهان پنهنجي فوٽوز يا وڊيوز تي اعتراض جي سڃاڻپ هلائي سگهو ٿا توهان جي سڃاڻپ اسڪرپٽ ۾ اڳ-تربيت ٿيل وزن استعمال ڪندي.
ڊيٽا تيار ڪريو
YOLOv5 سان استعمال لاءِ تيار ڪيل ڊيٽا حاصل ڪرڻ لاءِ توھان کي ھيٺيان عمل ڪرڻ گھرجي:
1. ڊيٽا گڏ ڪريو: پھريون قدم اھو آھي جيڪو تصوير يا وڊيو ڊيٽا گڏ ڪرڻ لاءِ توھان جي ضرورت پوندي اعتراض جي ڳولا. اهي شيون جيڪي توهان ڳولڻ چاهيندا آهن انهن کي فوٽوز يا وڊيوز ۾ موجود هجڻ گهرجي.
2- ڊيٽا کي فارميٽ ڪريو: جيڪڏھن توھان انھن کي استعمال ڪري رھيا آھيو، توھان صرف پنھنجي اسڪرپٽ ۾ تصويرون درآمد ڪري سگھو ٿا. توهان کي لازمي طور تي هڪ وڊيو کي فوٽوز جي هڪ سيريز ۾ تبديل ڪرڻ گهرجي جيڪڏهن توهان هڪ استعمال ڪرڻ جو ارادو ڪيو. توھان ھڪڙي فلم مان فريم ڪڍي سگھو ٿا لائبريري استعمال ڪندي OpenCV وانگر.
import cv2
img = cv2.imread('path/to/image')
OpenCV لائبريري سان، توھان ھيٺ ڏنل حڪم استعمال ڪري سگھو ٿا ھڪڙي وڊيو کي تصويرن جي ھڪڙي سيريز ۾ تبديل ڪرڻ لاء:
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. ڊيٽا کي ليبل ڪريو: جيڪڏھن توھان پنھنجي ڊيٽا سيٽ استعمال ڪري رھيا آھيو توھان کي ڊيٽا کي ليبل ڪرڻ گھرجي. تصوير جي هر فريم ۾ جيڪي شيون توهان سڃاڻڻ چاهيو ٿا انهن جي چوڌاري بائونڊنگ باڪس ٺاهي. اهو ڊيٽا کي ليبل ڪرڻ جو عمل آهي. توھان ھن آپريشن ۾ توھان جي مدد ڪرڻ لاءِ ڪيترائي اوزار استعمال ڪري سگھو ٿا، بشمول LabelImg ۽ RectLabel.
4- توهان کي ٽيگ ڪرڻ کان پوءِ ڊيٽا کي ٽريننگ ۽ ٽيسٽنگ سيٽن ۾ ورهائڻو پوندو. اهو اندازو ڪرڻ لاءِ اهم آهي ته توهان جو ماڊل ڪيترو سٺو ڪم ڪري ٿو.
5. آخرڪار، توهان کي شايد ضرورت هجي ته ڊيٽا کي پروسيس ڪرڻ کان پهريان ٽريننگ يا ٽيسٽ. اهو شامل ڪري سگھي ٿو تصويرن يا وڊيوز کي اسڪيل ڪرڻ، پکسل جي قيمتن کي معياري ڪرڻ، يا ڊيٽا جي واڌاري لاء طريقا استعمال ڪندي.
انهن قدمن کي مڪمل ڪرڻ کان پوء، توهان جي ڊيٽا تيار آهي.
ڊڪشنري اسڪرپٽ کي هلايو
ھتي آھي ھڪڙي ڳولڻ واري اسڪرپٽ جو ھڪڙو مثال جيڪو تصوير جو تجزيو ڪري ٿو ۽ شيون ڳولي ٿو.
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))
پوسٽ پروسيسنگ
غير وڌ کان وڌ دٻائڻ سڀ کان وڌيڪ پوسٽ پروسيسنگ ٽيڪنالاجي مان هڪ آهي استعمال ٿيل اعتراض جي ڳولا (NMS). اسان NMS استعمال ڪريون ٿا اوورليپنگ بائونڊنگ بڪس کي ختم ڪرڻ لاءِ ساڳئي اعتراض لاءِ. NMS تي عمل ڪرڻ لاءِ، اسان استعمال ڪري سگھون ٿا OpenCV لائبريري جي cv2.dnn.NMSBoxes() طريقو.
هتي هڪ مثال آهي NMS استعمال ڪندي پوسٽ پروسيس جي چڪاس ڪيئن ڪجي.
import cv2
# Perform Non-Maxima Suppression (NMS)
انڊيڪس = cv2.dnn.NMSBoxes
نظرثاني
بصري جي صورت ۾، اسان ٻيهر استعمال ڪري سگھون ٿا لائبريري وانگر OpenCV. اسان ماخذ تصوير يا وڊيو تي دريافت ڪيل شين جي چوڌاري بائونڊنگ باڪس ڏيکاري سگهون ٿا. تصوير جي بائونڊنگ باڪس کي ڪڍڻ لاءِ، cv2.rectangle() طريقو استعمال ڪريو. ھتي آھي اصل تصوير تي دريافتن کي ڪيئن ڏسڻ لاء:
درآمد ڪريو cv2
# Draw the bounding boxes on the image
انڊيڪس ۾ 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
اپليڪشن
YOLOv5 ھڪڙو مضبوط اعتراض جي سڃاڻپ ماڊل آھي. ان ڪري، اسان ان کي استعمال ڪري سگھون ٿا ڪيترن ئي حقيقي دنيا جي منظرنامي ۾. سڀ کان وڌيڪ نمايان استعمالن مان هڪ آهي خود ڊرائيونگ ڪارن ۾. YOLOv5 حقيقي وقت ۾ شيون سڃاڻي سگھن ٿيون جهڙوڪ گاڏيون ۽ ٽرئفڪ لائٽون.
نگراني سسٽم ۾، اسان استعمال ڪري سگھون ٿا YOLOv5 لائيو وڊيو اسٽريمز ۾ شيون سڃاڻڻ ۽ ٽريڪ ڪرڻ لاءِ. وڌيڪ، YOLOv5 روبوٽڪس ۾ هڪ وڏو اثاثو ٿي سگهي ٿو. اهو روبوٽ جي مدد ڪري سگهي ٿو انهن جي چوڌاري ڳولڻ ۽ سمجهڻ. هي نيويگيشن ۽ هٿرادو سرگرمين وانگر انتهائي اهم آهي.
YOLOv5 ڪنهن به صنعت ۾ پڻ استعمال ٿي سگھي ٿو جيڪا اعتراض جي ڳولا جي ضرورت آهي، جهڙوڪ پرچون، راندين، طبي، ۽ سيڪيورٽي.
ٿڪل
آخرڪار، YOLOv5 YOLO خاندان جو سڀ کان تازو ۽ نفيس نسخو آهي اعتراض جي ڳولا ماڊل
. انهي سان گڏ، اهو چوڻ مناسب آهي ته اهو سڀ کان وڌيڪ صحيح اعتراض ڳولڻ وارو ماڊل موجود آهي. ان جي اعلي درستگي ۽ رفتار جي مهرباني، توهان محفوظ طور تي پنهنجي اعتراض جي ڳولا جي منصوبن لاء چونڊيو ٿا.
Resky Agus
مان yolov5 سان سڃاڻپ گاڏي بابت پهريون جرنل ٺاهيان ٿو ۽ هي ويب ان بابت معلومات ڳولڻ ۾ مدد ڪري ٿو.
مون کي AI بابت ڏاڍي دلچسپي آهي.
جيڪڏھن توھان ڪري سگھوٿا مون وٽ AI بابت گھڻا سوال آھن شايد توھان مدد ڪري سگھوٿا
توهان جي مهرباني