קאָמפּיוטער זעאונג ס כייפעץ דיטעקשאַן טעכנאָלאָגיע איז יקערדיק פֿאַר פילע אַפּלאַקיישאַנז. מיר נוצן עס אין ראָובאַטיקס, סערוויילאַנס ויסריכט, זיך-דרייווינג אָטאַמאָובילז און פילע מער געביטן. דעריבער, מיר באַקומען צו געפֿינען און דערקענען זיכער טינגז אין אַ בילד אָדער ווידעא.
איינער פון די מערסט באַוווסט אַלגערידאַמז פון כייפעץ לעגיטימאַציע איז די YOLO (איר נאָר קוק אַמאָל) שטעלן פון מאָדעלס. די מאָדעלס זענען באשאפן דורך Ultralytics LLC.
די לעצטע ווערסיע פון דעם סעריע איז YOLOv5. און, עס איז די קוויקיסט און מערסט גענוי כייפעץ לעגיטימאַציע מאָדעל אויף די מאַרק. די קאַפּאַציטעט פון די מאָדעל צו גענעראַליזירן צו נייַע דאַטן איז זייער ימפּרוווד. אויך, עס כּולל פילע פֿעיִקייטן וואָס מאַכן עס בעסער ווי פריער יטעריישאַנז.
YOLOv5 איז גרויס פֿאַר פאַקטיש-צייט אַפּלאַקיישאַנז זינט עס קענען פּראָצעס בילדער מיט אַ קורס פון אַרויף צו 1000 ראָמען פּער סעקונדע אויף אַ איין גפּו.
אין דעם אַרטיקל, מיר וועלן באַקענען YOLOv5 און גיין איבער די דעטאַילס פון זייַן אַפּלאַקיישאַן געביטן.
YOLO נסיעה: פֿון YOLO צו YOLOv5
יוסף רעדמאָן עט על. ערידזשנאַלי באַקענענ די YOLO, אַ גאַנג פון אָבדזשעקט לעגיטימאַציע מאָדעלס, אין 2016. דער ערשט 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: איר מוזן ינסטאַלירן CUDA אויב איר בדעה צו לויפן YOLOv5 אויף אַ גפּו.
3. ינסטאַלירן YOLOv5: נאָך באַשטעטיקן PyTorch און CUDA, נוצן די פאלגענדע באַפֿעל צו אָפּלאָדירן YOLOv5.
pip install yolov5
4-נאָך די ינסטאַלירונג פון YOLOv5, איר מוזן אראפקאפיע די פאַר-טריינד ווייץ. די פאַר-טריינד ווייץ זענען בנימצא אין די Ultralytics GitHub רעפּאָ.
גיין צו די "ווייץ" טייל פון די וועבזייטל דורך סקראָללינג אַראָפּ. איר קענט אראפקאפיע פאַר-טריינד ווייץ פון דער רשימה איר קענען געפֿינען דאָ.
5. אויסקלייַבן די ווייץ וואָס זענען שוין טריינד און בעסטער פּאַסיק פֿאַר דיין נוצן פאַל. די דאַטאַסעט אָדער די באַזונדער YOLOv5 ווערסיע וואָס די ווייץ זענען געלערנט קען זיין געוויינט צו שמאָל די רשימה.
6- נאָך טשוזינג די געהעריק ווייץ, קלייַבן די וואָג דורך געבן אַ קליק דעם "Download" קנעפּל ווייַטער צו עס. די ווייץ וועט זיין בארעכטיגט פֿאַר אראפקאפיע ווי. 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 אויף די דיטעקשאַנז, מיר קענען נוצן די 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 און דעם וועב העלפּס מיר צו זוכן אינפֿאָרמאַציע וועגן דעם.
איך בין זייער אינטערעסירט אין אַי.
אויב איר קענען, איך האָבן אַ פּלאַץ פון פֿראגן וועגן אַי, אפֿשר איר קענען העלפֿן מיר
אדאנק