கணினி பார்வையின் பொருள் கண்டறிதல் தொழில்நுட்பம் பல பயன்பாடுகளுக்கு அவசியம். ரோபாட்டிக்ஸ், கண்காணிப்பு உபகரணங்கள், சுய-ஓட்டுநர் ஆட்டோமொபைல்கள் மற்றும் பல பகுதிகளில் இதைப் பயன்படுத்துகிறோம். எனவே, ஒரு படம் அல்லது வீடியோவில் சில விஷயங்களைக் கண்டுபிடித்து அடையாளம் காண முடியும்.
மிகவும் பிரபலமான ஒன்று பொருள் அடையாள வழிமுறைகள் YOLO ஆகும் (நீங்கள் ஒருமுறை மட்டும் பாருங்கள்) மாதிரிகளின் தொகுப்பு. இந்த மாதிரிகள் உருவாக்கப்படுகின்றன அல்ட்ராலிடிக்ஸ் எல்எல்சி.
இந்தத் தொடரின் மிகச் சமீபத்திய பதிப்பு YOLOv5 ஆகும். மேலும், இது சந்தையில் உள்ள விரைவான மற்றும் மிகவும் துல்லியமான பொருள் அடையாள மாதிரியாகும். புதிய தரவுகளைப் பொதுமைப்படுத்துவதற்கான மாதிரியின் திறன் பெரிதும் மேம்படுத்தப்பட்டுள்ளது. மேலும், இது முந்தைய மறு செய்கைகளை விட சிறப்பாக செயல்படும் பல அம்சங்களைக் கொண்டுள்ளது.
YOLOv5 நிகழ்நேர பயன்பாடுகளுக்கு சிறந்தது, ஏனெனில் இது ஒரு GPU இல் வினாடிக்கு 1000 பிரேம்கள் வரை படங்களை செயலாக்க முடியும்.
இந்த கட்டுரையில், YOLOv5 ஐ அறிமுகப்படுத்துவோம் மற்றும் அதன் பயன்பாட்டின் பகுதிகளின் விவரங்களைப் பார்ப்போம்.
YOLOவின் பயணம்: YOLOவிலிருந்து YOLOv5 வரை
ஜோசப் ரெட்மன் மற்றும் பலர். முதலில் 2016 ஆம் ஆண்டு YOLO என்ற பொருள் அடையாள மாதிரிகளின் தொகுப்பை அறிமுகப்படுத்தியது. ஆரம்ப YOLO மாதிரியானது உண்மையான நேரத்தில் பொருட்களை அடையாளம் காண முடியும். இருப்பினும், அந்த நேரத்தில் மற்ற மாடல்களுடன் ஒப்பிடும்போது இது குறைந்த துல்லியத்தைக் கொண்டிருந்தது.
YOLO இன் பல மேம்படுத்தப்பட்ட பதிப்புகள் பல ஆண்டுகளாக வெளியிடப்பட்டன. இறுதியாக, Ultralytics LLC ஆனது YOLO தொடரின் புதிய பதிப்பான YOLOv5 ஐ உருவாக்கியது.
YOLOv5 என்பது தற்போது கிடைக்கும் மிகவும் துல்லியமான மற்றும் விரைவான பொருள் அடையாள மாதிரி ஆகும்.
முக்கிய அம்சங்கள்
ஆங்கர் பெட்டிகள்
YOLOv5 நங்கூரப் பெட்டிகளைப் பயன்படுத்தி ஒரு படத்தில் உள்ள பொருட்களுக்கான எல்லைப் பெட்டிகளை முன்னறிவிக்கிறது. பல்வேறு விகிதங்களைக் கொண்ட முன் வரையறுக்கப்பட்ட பெட்டிகளில் எது நங்கூரப் பெட்டிகளைப் பயன்படுத்தி படத்தில் உள்ள உருப்படியுடன் சிறப்பாகப் பொருந்துகிறது என்பதை மாதிரி கணித்துள்ளது. இவை முன் வரையறுக்கப்பட்ட பெட்டிகள்.
மேலும், அவை YOLOv5 ஐ ஒரு படத்தில் உள்ள உருப்படிகளை துல்லியமாக அடையாளம் கண்டு கண்டுபிடிக்க உதவுகின்றன.
மொசைக் தரவு பெருக்கம்
பயிற்சியின் போது, YOLOv5 மொசைக் எனப்படும் ஒரு முறையைப் பயன்படுத்துகிறது தரவு பெருக்குதல். புதிய பயிற்சி படங்களை உருவாக்க, எங்கள் மாதிரி தோராயமாக பல புகைப்படங்களின் இணைப்புகளை இணைக்கிறது. இதன் விளைவாக, மாதிரி மிகவும் மீள் மற்றும் நம்பகமானதாக மாறும். எனவே, இது புதிய தரவுகளைப் பொதுமைப்படுத்துகிறது மற்றும் அதிகப்படியான பொருத்தத்தைக் குறைக்கிறது.
ஒரு தனித்துவமான பயிற்சி பைப்லைன்
கண்காணிக்கப்படும் மற்றும் கலக்கப்படும் ஒரு தனித்துவமான பயிற்சிக் குழாய் மேற்பார்வை செய்யப்படாத கற்றல் பயன்படுத்தப்படுகிறது.
எனவே, மாதிரி ஒரு சிறிய மாதிரியிலிருந்து கற்றுக்கொள்கிறது மற்றும் பெயரிடப்படாத உள்ளீட்டை திறம்பட பயன்படுத்துகிறது. இது மாதிரியின் செயல்திறனை அதிகரிக்கிறது மற்றும் புதிய உள்ளீடுகளுக்கு பொதுமைப்படுத்தும் திறனை அதிகரிக்கிறது.
எஞ்சிய மற்றும் எஞ்சாத அடுக்குகள்
YOLOv5 இன் கட்டிடக்கலை எஞ்சிய மற்றும் எஞ்சியிருக்கும் அடுக்குகளை ஒருங்கிணைக்கிறது. அடுக்குகள் முழுவதும் சாய்வுகளை அனுமதிப்பதன் மூலம், கடினமான அம்சங்களைக் கற்றுக்கொள்வதில் எஞ்சிய அடுக்குகள் மாதிரிக்கு உதவுகின்றன. மேலும், எஞ்சியவை அல்லாத அடுக்குகள், உள்ளீட்டுப் படத்தைப் பற்றிய விரிவான புரிதலுடன் மாதிரியை வழங்குகின்றன. இதன் விளைவாக, YOLOv5 மிகவும் துல்லியமாகவும் திறமையாகவும் செயல்பட முடியும்.
YOLov5 ஐ எவ்வாறு பயன்படுத்துவது
நிறுவல்
YOLOv5 நிறுவல் பிப்பைப் பயன்படுத்தி விரைவாக முடிக்கப்படலாம். பிப் ஒரு பைதான் தொகுப்பு மேலாளர். YOLOv5 ஐ நிறுவுவதற்கான பொதுவான நடைமுறைகள் பின்வருமாறு:
1- PyTorch ஐ நிறுவவும்: YOLOv5 PyTorch கட்டமைப்பை அடிப்படையாகக் கொண்டிருப்பதால், நீங்கள் முதலில் PyTorch ஐ நிறுவ வேண்டும்.
pip install torch torchvision
2. CUDA ஐ நிறுவவும்: நீங்கள் YOLOv5 ஐ GPU இல் இயக்க விரும்பினால், CUDA ஐ நிறுவ வேண்டும்.
3. YOLOv5 ஐ நிறுவவும்: PyTorch மற்றும் CUDA ஐ அமைத்த பிறகு, YOLOv5 ஐப் பதிவிறக்க பின்வரும் கட்டளையைப் பயன்படுத்தவும்.
pip install yolov5
4-YOLOv5 இன் நிறுவலைத் தொடர்ந்து, நீங்கள் முன் பயிற்சி பெற்ற எடைகளைப் பதிவிறக்க வேண்டும். முன் பயிற்சி பெற்ற எடைகள் Ultralytics GitHub ரெப்போவில் கிடைக்கும்.
கீழே ஸ்க்ரோலிங் செய்வதன் மூலம் இணையதளத்தின் "எடைகள்" பகுதிக்குச் செல்லவும். நீங்கள் இங்கே காணக்கூடிய பட்டியலில் இருந்து முன் பயிற்சி பெற்ற எடைகளை பதிவிறக்கம் செய்யலாம்.
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(கண்டறிதல்கள், நம்பிக்கைகள், conf_thres, nms_thres)
காட்சிப்படுத்தல்
காட்சிப்படுத்தல் விஷயத்தில், OpenCV போன்ற நூலகத்தை மீண்டும் பயன்படுத்தலாம். மூலப் படம் அல்லது வீடியோவில் கண்டுபிடிக்கப்பட்ட பொருட்களைச் சுற்றி உள்ள எல்லைப் பெட்டிகளைக் காட்டலாம். படத்தின் எல்லைப் பெட்டிகளை வரைய, cv2.rectangle() முறையைப் பயன்படுத்தவும். அசல் படத்தில் கண்டறிதல்களை எவ்வாறு பார்ப்பது என்பது இங்கே:
cv2 ஐ இறக்குமதி செய்க
# Draw the bounding boxes on the image
குறியீடுகளில் நான்:
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 குடும்பத்தின் மிக சமீபத்திய மற்றும் அதிநவீன பதிப்பாகும் பொருள் கண்டறிதல் மாதிரிகள்
. மேலும், இது கிடைக்கக்கூடிய மிகத் துல்லியமான பொருள் கண்டறிதல் மாதிரி என்று சொல்வது நியாயமானது. அதன் உயர் துல்லியம் மற்றும் வேகத்திற்கு நன்றி, உங்கள் பொருள் கண்டறிதல் திட்டங்களுக்கு நீங்கள் பாதுகாப்பாக தேர்வு செய்யலாம்.
ரெஸ்கி அகஸ்
நான் yolov5 உடன் கண்டறிதல் வாகனத்தைப் பற்றிய முதல் இதழை உருவாக்குகிறேன், அதைப் பற்றிய தகவல்களைத் தேட இந்த இணையம் எனக்கு உதவுகிறது.
நான் AI பற்றி மிகவும் ஆர்வமாக உள்ளேன்.
உங்களுக்கு AI பற்றி நிறைய கேள்விகள் இருந்தால் நீங்கள் எனக்கு உதவலாம்
நன்றி