სტუბი Unpacking Yolov8: Ultralytics' Viral Computer Vision Masterpiece - Unite.AI
დაკავშირება ჩვენთან ერთად

ხელოვნური ინტელექტი

Yolov8-ის გახსნა: Ultralytics-ის ვირუსული კომპიუტერული ხედვის შედევრი

mm
განახლებულია on
ბლოგის გამორჩეული სურათი YOLOv8-ისთვის

აქამდე, ობიექტების ამოცნობა სურათებში გამოყენებით კომპიუტერული ხედვის მოდელები დამუშავების დროის გამო რამდენიმე წამიანი შეფერხების ძირითადი ბლოკირება შეექმნა. ამ შეფერხებამ შეაფერხა პრაქტიკული გამოყენება ისეთ შემთხვევებში, როგორიცაა ავტონომიური მართვა. თუმცა, YOLOv8 კომპიუტერული ხედვის მოდელის გამოშვებამ Ultralytics-მა დაარღვია დამუშავების შეფერხება. ახალ მოდელს შეუძლია ობიექტების აღმოჩენა რეალურ დროში შეუდარებელი სიზუსტით და სიჩქარით, რაც მას პოპულარულს ხდის კომპიუტერული ხედვის სივრცეში.

ეს სტატია იკვლევს YOLOv8-ს, მის შესაძლებლობებს და როგორ შეგიძლიათ დააზუსტოთ და შექმნათ თქვენი საკუთარი მოდელები მისი ღია კოდის Github საცავიდან.

Yolov8 განმარტა

YOLOv8-ულტრალიტიკა

YOLO (You Only Live Once) არის პოპულარული კომპიუტერული ხედვის მოდელი, რომელსაც შეუძლია სურათებში ობიექტების აღმოჩენა და სეგმენტირება. მოდელმა რამდენიმე გზა გაიარა განახლებები წარსულში, YOLOv8 აღნიშნავს მე-8 ვერსიას.

როგორც დგას, YOLOv8 ეფუძნება წინა ვერსიების შესაძლებლობებს ძლიერი ახალი ფუნქციებისა და გაუმჯობესებების დანერგვით. ეს საშუალებას აძლევს რეალურ დროში ობიექტების აღმოჩენას სურათსა და ვიდეო მონაცემებში გაუმჯობესებული სიზუსტით და სიზუსტით.

v1-დან v8-მდე: მოკლე ისტორია

Yolov1: 2015 წელს გამოშვებული YOLO-ს პირველი ვერსია დაინერგა, როგორც ერთსაფეხურიანი ობიექტების გამოვლენის მოდელი. მახასიათებლები მოიცავდა მოდელს, რომელიც კითხულობს მთელ სურათს, რათა წინასწარ განსაზღვროს თითოეული შემოსაზღვრული ველი ერთ შეფასებაში.

იოლოვი2: მომდევნო ვერსიამ, რომელიც გამოვიდა 2016 წელს, წარმოადგინა უმაღლესი შესრულება ისეთ ეტალონებზე, როგორიცაა PASCAL VOC და COCO და მუშაობს მაღალი სიჩქარით (67-40 FPS). მას ასევე შეუძლია ზუსტად აღმოაჩინოს 9000-ზე მეტი ობიექტის კატეგორია, თუნდაც შეზღუდული სპეციფიკური გამოვლენის მონაცემებით.

Yolov3: 2018 წელს გაშვებულმა Yolov3-მა წარმოადგინა ახალი ფუნქციები, როგორიცაა უფრო ეფექტური ხერხემლის ქსელი, მრავალი წამყვანები და სივრცითი პირამიდის გაერთიანება მრავალმასშტაბიანი ფუნქციების მოპოვებისთვის.

Yolov4: Yolov4-ის 2020 წელს გამოშვებით, დაინერგა მოზაიკის მონაცემთა გაზრდის ახალი ტექნიკა, რომელიც შესთავაზა გაუმჯობესებულ სასწავლო შესაძლებლობებს.

Yolov5: 2021 წელს გამოშვებულმა Yolov5-მა დაამატა მძლავრი ახალი ფუნქციები, მათ შორის ჰიპერპარამეტრული ოპტიმიზაცია და ინტეგრირებული ექსპერიმენტის თვალთვალი.

Yolov6: Yolov6-ის 2022 წელს გამოშვებით, მოდელი იყო ღია წყარო, რათა ხელი შეუწყოს საზოგადოების განვითარებას. დაინერგა ახალი ფუნქციები, როგორიცაა ახალი თვითდისტილაციის სტრატეგია და წამყვანზე დამხმარე ტრენინგის (AAT) სტრატეგია.

Yolov7: გამოშვებული იმავე 2022 წელს, Yolov7-მა გააუმჯობესა არსებული მოდელი სიჩქარითა და სიზუსტით და იყო ობიექტის აღმოჩენის ყველაზე სწრაფი მოდელი გამოშვების დროს.

რა ხდის YOLOv8 გამორჩეულს?

სურათი, რომელიც აჩვენებს ავტომობილის ამოცნობას

YOLOv8-ის შეუდარებელი სიზუსტე და მაღალი სიჩქარე განასხვავებს კომპიუტერულ ხედვის მოდელს წინა ვერსიებისგან. ეს მნიშვნელოვანი მიღწევაა, რადგან ობიექტების აღმოჩენა შესაძლებელია რეალურ დროში შეფერხებების გარეშე, წინა ვერსიებისგან განსხვავებით.

მაგრამ ამის გარდა, YOLOv8 აღჭურვილია ძლიერი შესაძლებლობებით, რომელიც მოიცავს:

  1. დააკონფიგურიროთ არქიტექტურა: YOLOv8 გთავაზობთ მოქნილ არქიტექტურას, რომელიც დეველოპერებს შეუძლიათ დააკონფიგურირონ თავიანთი სპეციფიკური მოთხოვნების შესაბამისად.
  2. ადაპტური ტრენინგი: YOLOv8-ის ახალი ადაპტური ვარჯიშის შესაძლებლობები, როგორიცაა ვარჯიშის დროს დაკარგვის ფუნქციის დაბალანსება და ტექნიკა, აუმჯობესებს სწავლის სიჩქარეს. ავიღოთ ადამი, რომელიც ხელს უწყობს უკეთეს სიზუსტეს, სწრაფ კონვერგენციას და მთლიანობაში უკეთესი მოდელის შესრულებას.
  3. გამოსახულების გაფართოებული ანალიზი: ახალი სემანტიკური სეგმენტაციისა და კლასის პროგნოზირების შესაძლებლობების საშუალებით, მოდელს შეუძლია აღმოაჩინოს აქტივობები, ფერი, ტექსტურა და ობიექტებს შორის ურთიერთობები, გარდა მისი ძირითადი ობიექტების გამოვლენის ფუნქციისა.
  4. მონაცემთა გაძლიერება: მონაცემთა გაზრდის ახალი ტექნიკა ხელს უწყობს გამოსახულების ვარიაციების ასპექტებს, როგორიცაა დაბალი გარჩევადობა, ოკლუზია და ა.შ., რეალურ სამყაროში ობიექტების აღმოჩენის სიტუაციებში, სადაც პირობები არ არის იდეალური.
  5. ხერხემლის მხარდაჭერა: YOLOv8 გთავაზობთ მრავალი ხერხემლის მხარდაჭერას, მათ შორის CSPDarknet (ნაგულისხმევი ხერხემალი), EfficientNet (მსუბუქი ხერხემალი) და ResNet (კლასიკური ხერხემალი), რომლიდანაც მომხმარებლებს შეუძლიათ აირჩიონ.

მომხმარებლებს შეუძლიათ ხერხემლის მორგებაც კი, CSPDarknet53-ის შეცვლით CNN-ის ნებისმიერი სხვა არქიტექტურით, რომელიც თავსებადია YOLOv8-ის შეყვანისა და გამომავალი ზომებით.

ტრენინგი და დახვეწა YOLOv8

YOLOv8 მოდელი შეიძლება იყოს სრულყოფილად მორგებული, რათა მოერგოს გარკვეული გამოყენების შემთხვევებს, ან მთლიანად გაიაროს ტრენინგი ნულიდან სპეციალიზებული მოდელის შესაქმნელად. დამატებითი დეტალები ტრენინგის პროცედურების შესახებ შეგიძლიათ იხილოთ საიტზე ოფიციალური დოკუმენტაცია.

მოდით გამოვიკვლიოთ, თუ როგორ შეგიძლიათ განახორციელოთ ორივე ეს ოპერაცია.

YOLOV8-ის დაზუსტება მორგებული მონაცემთა ნაკრებით

დაზუსტების ოპერაცია იტვირთება უკვე არსებულ მოდელს და იყენებს მის ნაგულისხმევ წონებს, როგორც საწყის წერტილს ვარჯიშისთვის. ინტუიციურად რომ ვთქვათ, მოდელს ახსოვს მთელი თავისი წინა ცოდნა და დახვეწის ოპერაცია ამატებს ახალ ინფორმაციას წონების შესწორებით.

YOLOv8 მოდელის დაზუსტება შესაძლებელია თქვენი Python კოდით ან ბრძანების ხაზის ინტერფეისის (CLI) მეშვეობით.

1. დაარეგულირეთ YOLOv8 მოდელი Python-ის გამოყენებით

დაიწყეთ Ultralytics პაკეტის თქვენს კოდში იმპორტით. შემდეგ ჩატვირთეთ მორგებული მოდელი, რომლის მომზადებაც გსურთ შემდეგი კოდის გამოყენებით:

პირველი, დააინსტალირეთ Ultralytics ბიბლიოთეკა ოფიციალური დისტრიბუციიდან.

# დააინსტალირეთ Ultralytics პაკეტი PyPI-დან
pip install ultralytics

შემდეგი, შეასრულეთ შემდეგი კოდი Python ფაილში:

ულტრალიტიკის იმპორტიდან YOLO

# ჩატვირთეთ მოდელი
model = YOLO('yolov8n.pt')  # ჩატვირთეთ წინასწარ გაწვრთნილი მოდელი (რეკომენდებულია ტრენინგისთვის)

# მოამზადეთ მოდელი MS COCO მონაცემთა ბაზაზე
შედეგები = model.train(data='coco128.yaml', epochs=100, imgsz=640)

ნაგულისხმევად, კოდი მოამზადებს მოდელს COCO მონაცემთა ბაზის გამოყენებით 100 ეპოქისთვის. თუმცა, თქვენ ასევე შეგიძლიათ დააკონფიგურიროთ ეს პარამეტრები YAML ფაილში ზომის, ეპოქის და ა.შ.

როგორც კი მოდელს მოამზადებთ თქვენი პარამეტრებით და მონაცემთა ბილიკით,  აკონტროლეთ პროგრესი, შეამოწმეთ და დაარეგულირეთ მოდელი და განაგრძეთ გადამზადება სასურველი შედეგების მიღწევამდე.

2. დაარეგულირეთ YOLOv8 მოდელი CLI-ის გამოყენებით

CLI-ის გამოყენებით მოდელის მოსამზადებლად, გაუშვით შემდეგი სკრიპტი ბრძანების სტრიქონში:

yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

CLI ბრძანება ატვირთავს წინასწარ გაწვრთნილ `yolov8n.pt` მოდელს და ავარჯიშებს მას `coco8.yaml` ფაილში განსაზღვრულ მონაცემთა ბაზაზე.

შექმენით თქვენი საკუთარი მოდელი YOLOv8-ით

არსებობს არსებითად 2 გზა, რომ შექმნათ მორგებული მოდელი YOLO ჩარჩოთი:

  • ვარჯიში ნულიდან: ეს მიდგომა საშუალებას გაძლევთ გამოიყენოთ წინასწარ განსაზღვრული YOLOv8 არქიტექტურა, მაგრამ არ გამოიყენებთ წინასწარ მომზადებულ წონას. ტრენინგი ჩატარდება ნულიდან.
  • მორგებული არქიტექტურა: თქვენ შეცვალეთ ნაგულისხმევი YOLO არქიტექტურა და ავარჯიშებთ ახალ სტრუქტურას ნულიდან.

ორივე ამ მეთოდის განხორციელება იგივე რჩება. YOLO მოდელის ნულიდან მოსამზადებლად, გაუშვით შემდეგი Python კოდი:

ულტრალიტიკის იმპორტიდან YOLO

# ჩატვირთეთ მოდელი
model = YOLO('yolov8n.yaml')  # შექმენით ახალი მოდელი YAML-დან

# მოამზადე მოდელი
შედეგები = model.train(data='coco128.yaml', epochs=100, imgsz=640)

გაითვალისწინეთ, რომ ამჯერად ჩვენ ჩატვირთეთ '.yaml' ფაილი '.pt' ფაილის ნაცვლად. YAML ფაილი შეიცავს მოდელის არქიტექტურის ინფორმაციას და წონა არ არის ჩატვირთული. სასწავლო ბრძანება დაიწყებს ამ მოდელის ვარჯიშს ნულიდან.

მორგებული არქიტექტურის მოსამზადებლად, თქვენ უნდა განსაზღვროთ მორგებული სტრუქტურა ".yaml" ფაილში, როგორც ზემოთ "yolov8n.yaml". შემდეგ, თქვენ ატვირთავთ ამ ფაილს და ავარჯიშებთ მოდელს იმავე კოდის გამოყენებით, როგორც ზემოთ.

იმისათვის, რომ შეიტყოთ მეტი ობიექტის ამოცნობის შესახებ AI-ს გამოყენებით და იყოთ ინფორმირებული ხელოვნური ინტელექტის უახლესი ტენდენციების შესახებ, ეწვიეთ გაერთიანდეს.აი.