სარჩევი[დამალვა][ჩვენება]
- რა არის გამოსახულების კლასიფიკაცია?
- როგორ მუშაობს სურათების კლასიფიკაცია?
სურათების კლასიფიკაცია Tensorflow & Keras-ის გამოყენებით პითონში+-
- 1. ინსტალაციის მოთხოვნები
- 2. დამოკიდებულების იმპორტი
- 3. პარამეტრების ინიციალიზაცია
- 4. მონაცემთა ნაკრების ჩატვირთვა
- 5. მოდელის შექმნა
- 6. მოდელის სწავლება
- მოდელის ტესტირება
- 7. კომუნალური საშუალებების იმპორტი ტესტირებისთვის
- 8. პითონის დირექტორიას დამზადება
- 9. იტვირთება ტესტის მონაცემები და მოდელი
- 10. შეფასება და პროგნოზირება
- 11. შედეგები
- დასკვნა
დამამშვიდებელია იმის ცოდნა, რომ ჩვენ მოვახერხეთ რობოტებისთვის ჩვენი თანდაყოლილი შესაძლებლობების სწავლა და მათი გარემოს აღქმა. ფუნდამენტური გამოწვევა არის ის, რომ კომპიუტერებს ასწავლიან ადამიანების მსგავსად „დანახვას“, გაცილებით მეტი დრო და ძალისხმევა დასჭირდება.
თუმცა, როდესაც გავითვალისწინებთ იმ პრაქტიკულ მნიშვნელობას, რომელსაც ეს უნარი ამჟამად აძლევს ორგანიზაციებსა და საწარმოებს, ძალისხმევა ღირს. ამ სტატიაში თქვენ გაეცნობით სურათების კლასიფიკაციას, როგორ მუშაობს და მის პრაქტიკულ განხორციელებას. Მოდით დავიწყოთ.
რა არის გამოსახულების კლასიფიკაცია?
გამოსახულების მიწოდების სამუშაო ა ნერვული ქსელის და ამ სურათისთვის ეტიკეტის რაიმე ფორმის გამოტანა ცნობილია როგორც გამოსახულების ამოცნობა. ქსელის გამომავალი ეტიკეტი შეესაბამება წინასწარ განსაზღვრულ კლასს.
შეიძლება იყოს მრავალი კლასი, რომელიც ენიჭება სურათს, ან უბრალოდ ერთი. როდესაც არსებობს მხოლოდ ერთი კლასი, ხშირად გამოიყენება ტერმინი "აღიარება", ხოლო როდესაც არსებობს რამდენიმე კლასი, ხშირად გამოიყენება ტერმინი "კლასიფიკაცია".
ობიექტის გამოვლენა არის სურათების კლასიფიკაციის ქვეჯგუფი, რომელშიც აღმოჩენილია ობიექტების კონკრეტული შემთხვევები, როგორც მოცემულ კლასს, როგორიცაა ცხოველები, მანქანები ან ადამიანები.
როგორ მუშაობს სურათების კლასიფიკაცია?
პიქსელების სახით გამოსახულება აანალიზებს კომპიუტერს. ის ამას ახორციელებს სურათს განიხილავს, როგორც მატრიცების კოლექციას, რომლის ზომა განისაზღვრება გამოსახულების გარჩევადობით. მარტივად რომ ვთქვათ, სურათების კლასიფიკაცია არის სტატისტიკური მონაცემების შესწავლა ალგორითმების გამოყენებით კომპიუტერის პერსპექტივიდან.
გამოსახულების კლასიფიკაცია მიიღწევა გამოსახულების ციფრული დამუშავებისას პიქსელების წინასწარ განსაზღვრულ ჯგუფებად ან „კლასებად“ დაჯგუფებით. ალგორითმები სურათს ყოფს საყურადღებო მახასიათებლების თანმიმდევრობით, რაც ამცირებს საბოლოო კლასიფიკატორის ტვირთს.
ეს თვისებები აცნობებს კლასიფიკატორს გამოსახულების მნიშვნელობისა და პოტენციური კლასიფიკაციის შესახებ. იმის გამო, რომ სურათის კლასიფიკაციის დანარჩენი პროცესები მასზეა დამოკიდებული, დამახასიათებელი ამოღების მეთოდი ყველაზე კრიტიკული ეტაპია.
ის მოწოდებული მონაცემები ალგორითმისთვის ასევე გადამწყვეტია გამოსახულების კლასიფიკაცია, განსაკუთრებით ზედამხედველობითი კლასიფიკაცია. კლასზე დაფუძნებული მონაცემთა დისბალანსის მქონე საშინელ მონაცემთა ბაზასთან შედარებით, სურათის და ანოტაციის დაბალი ხარისხით, კარგად ოპტიმიზებული კლასიფიკაციის მონაცემთა ნაკრები შესანიშნავად მუშაობს.
სურათების კლასიფიკაცია Tensorflow & Keras-ის გამოყენებით პითონში
ჩვენ გამოვიყენებთ CIFAR-10 მონაცემთა ნაკრები (რომელიც მოიცავს თვითმფრინავებს, თვითმფრინავებს, ფრინველებს და სხვა 7 ნივთს).
1. ინსტალაციის მოთხოვნები
ქვემოთ მოცემული კოდი დააინსტალირებს ყველა წინაპირობას.
2. დამოკიდებულების იმპორტი
შექმენით train.py ფაილი Python-ში. ქვემოთ მოცემული კოდი შემოაქვს Tensorflow და Keras დამოკიდებულებებს.
3. პარამეტრების ინიციალიზაცია
CIFAR-10 მოიცავს მხოლოდ 10 სურათის კატეგორიას, შესაბამისად, კლასების რაოდენობა უბრალოდ ეხება კლასიფიცირებულ კატეგორიების რაოდენობას.
4. მონაცემთა ნაკრების ჩატვირთვა
ფუნქცია იყენებს Tensorflow Datasets მოდულს მონაცემთა ნაკრების ჩასატვირთად და ჩვენ დავაყენეთ ინფორმაცია True-ზე, რათა მივიღოთ გარკვეული ინფორმაცია მის შესახებ. თქვენ შეგიძლიათ ამობეჭდოთ ის, რომ ნახოთ რა არის ველები და მათი მნიშვნელობები და ჩვენ გამოვიყენებთ ინფორმაციას სასწავლო და ტესტირების კომპლექტებში ნიმუშების რაოდენობის მოსაპოვებლად.
5. მოდელის შექმნა
ახლა ჩვენ ავაშენებთ სამ ფენას, თითოეული შედგება ორი ConvNet-ისგან max-pooling და ReLU აქტივაციის ფუნქციით, რასაც მოჰყვება სრულად დაკავშირებული 1024 ერთეული სისტემა. ResNet50-თან ან Xception-თან შედარებით, რომლებიც უახლესი მოდელებია, ეს შეიძლება იყოს შედარებით პატარა მოდელი.
6. მოდელის სწავლება
მე გამოვიყენე Tensorboard სიზუსტისა და დანაკარგის გასაზომად თითოეულ ეპოქაში და მოგვაწოდეს მშვენიერი ჩვენება მონაცემთა იმპორტისა და მოდელის გენერირების შემდეგ. გაუშვით შემდეგი კოდი; თქვენი CPU/GPU-დან გამომდინარე, ტრენინგს რამდენიმე წუთი დასჭირდება.
tensorboard-ის გამოსაყენებლად, უბრალოდ ჩაწერეთ შემდეგი ბრძანება ტერმინალში ან ბრძანების სტრიქონში მიმდინარე დირექტორიაში:
თქვენ ნახავთ, რომ ვალიდაციის დანაკარგი მცირდება და სიზუსტე იზრდება დაახლოებით 81%-მდე. Შესანიშნავია!
მოდელის ტესტირება
როდესაც ვარჯიში დასრულდება, საბოლოო მოდელი და წონები შეინახება შედეგების საქაღალდეში, რაც საშუალებას გვაძლევს ვივარჯიშოთ ერთხელ და გავაკეთოთ წინასწარმეტყველება, როცა ვირჩევთ. მიჰყევით კოდს ახალ პითონის ფაილში სახელად test.py.
7. კომუნალური საშუალებების იმპორტი ტესტირებისთვის
8. პითონის დირექტორიას დამზადება
შექმენით პითონის ლექსიკონი, რომელიც თარგმნის თითოეულ მთელ მნიშვნელობას მონაცემთა ნაკრების შესაბამის ეტიკეტზე:
9. იტვირთება ტესტის მონაცემები და მოდელი
შემდეგი კოდი ჩატვირთავს ტესტის მონაცემებს და მოდელს.
10. შეფასება და პროგნოზირება
შემდეგი კოდი შეაფასებს და გააკეთებს პროგნოზებს ბაყაყის სურათებზე.
11. შედეგები
მოდელმა ბაყაყი იწინასწარმეტყველა 80.62% სიზუსტით.
დასკვნა
კარგი, ჩვენ დავასრულეთ ეს გაკვეთილი. მიუხედავად იმისა, რომ 80.62% არ არის კარგი პატარა CNN-ისთვის, მე გირჩევთ შეცვალოთ მოდელი ან გადახედოთ ResNet50, Xception ან სხვა უახლესი მოდელებს უკეთესი შედეგისთვის.
ახლა, როდესაც თქვენ შექმენით თქვენი პირველი გამოსახულების ამოცნობის ქსელი Keras-ში, უნდა ექსპერიმენტი გააკეთოთ მოდელთან, რათა აღმოაჩინოთ, თუ როგორ მოქმედებს სხვადასხვა პარამეტრი მის შესრულებაზე.
დატოვე პასუხი