የኮምፒዩተር እይታ የቁስ ማወቂያ ቴክኖሎጂ ለብዙ አፕሊኬሽኖች አስፈላጊ ነው። በሮቦቲክስ፣ በክትትል መሳሪያዎች፣ በራስ አሽከርካሪዎች እና በሌሎችም በርካታ አካባቢዎች እንጠቀማለን። ስለዚህ፣ አንዳንድ ነገሮችን በምስል ወይም በቪዲዮ ውስጥ ፈልገን እናውቃቸዋለን።
በጣም ከሚታወቁት አንዱ የነገር መለያ ስልተ ቀመር YOLO ነው። (አንድ ጊዜ ብቻ ነው የምትመለከቱት) የሞዴሎች ስብስብ። እነዚህ ሞዴሎች የተፈጠሩት በ Ultralytics LLC.
የዚህ ተከታታይ የቅርብ ጊዜ ስሪት YOLOv5 ነው። እና፣ በገበያ ላይ ፈጣኑ እና ትክክለኛ የነገር መለያ ሞዴል ነው። የአምሳያው አቅም ወደ አዲስ መረጃ የማጠቃለል አቅም በእጅጉ ተሻሽሏል። በተጨማሪም, ከቀደምት ድግግሞሾች በተሻለ ሁኔታ እንዲሠራ የሚያደርጉ ብዙ ባህሪያትን ይዟል.
YOLOv5 በአንድ ጂፒዩ እስከ 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 በፒቶርች ማዕቀፍ ላይ የተመሰረተ ስለሆነ መጀመሪያ ፒይቶርን መጫን አለቦት።
pip install torch torchvision
2. CUDA ን ይጫኑ፡ YOLOv5ን በጂፒዩ ላይ ለማሄድ ካሰቡ CUDA ን መጫን አለቦት።
3. YOLOv5 ን ይጫኑ፡ ፒቶርች እና CUDAን ካቀናበሩ በኋላ YOLOv5 ን ለማውረድ የሚከተለውን ትዕዛዝ ይጠቀሙ።
pip install yolov5
4-የ YOLOv5 መጫኑን ተከትሎ, አስቀድመው የሰለጠኑ ክብደቶችን ማውረድ አለብዎት. አስቀድመው የሰለጠኑ ክብደቶች በ Ultralytics GitHub repo ውስጥ ይገኛሉ።
ወደታች በማሸብለል ወደ የድረ-ገጹ "ክብደቶች" ክፍል ይሂዱ. አስቀድመው የሰለጠኑ ክብደቶችን እዚህ ሊያገኙት ከሚችሉት ዝርዝር ውስጥ ማውረድ ይችላሉ።
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 እንጠቀማለን። በምርመራዎቹ ላይ ኤንኤምኤስን ለማስፈጸም የOpenCV ላይብረሪ cv2.dnn.NMSBoxes() ዘዴን መጠቀም እንችላለን።
ኤንኤምኤስን በመጠቀም ከሂደት በኋላ ማወቂያዎችን እንዴት ማድረግ እንደሚቻል የሚያሳይ ምሳሌ እዚህ አለ።
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 ቤተሰብ ስሪት ነው። ነገር መለየት ሞዴሎች
. እንዲሁም፣ የሚገኝ በጣም ትክክለኛ የነገር ማወቂያ ሞዴል ነው ብሎ መናገር ተገቢ ነው። ለከፍተኛ ትክክለኛነት እና ፍጥነት ምስጋና ይግባውና ለነገር ፍለጋ ፕሮጀክቶችዎ በደህና መምረጥ ይችላሉ።
Resky Agus
በyolov5 ስለ ማወቂያ መኪና የመጀመሪያ ጆርናል አዘጋጅቻለሁ እና ይህ ድረ-ገጽ ስለዚያ መረጃን ለመፈለግ ረድቶኛል።
ስለ AI በጣም ፍላጎት አለኝ።
ከቻልክ ስለ AI ብዙ ጥያቄ አለኝ ምናልባት ልትረዳኝ ትችላለህ
አመሰግናለሁ