
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:14

Python ve opencv'deki Haar sınıflandırıcıları oldukça zor ama kolay bir iştir.
Görüntü algılama ve sınıflandırmada sıklıkla sorunlarla karşılaşıyoruz. en iyi çözüm, kendi sınıflandırıcınızı oluşturmaktır. Burada birkaç komut ve uzun ama basit python programları ile kendi görüntü sınıflandırıcılarımızı yapmayı öğreniyoruz.
Sınıflandırma, çok sayıda negatif ve pozitif görüntü gerektirir. Negatifler gerekli nesneyi içermezken, pozitifler algılanacak nesneyi içerir.
Yaklaşık 2000 negatif ve pozitif gereklidir. Python programı, görüntüyü gri tonlamalı ve uygun bir boyuta dönüştürür, böylece sınıflandırıcılar oluşturmak için en uygun zamanı alır.
Adım 1: Gerekli Yazılımlar
Kendi sınıflandırıcınızı oluşturmak için aşağıdaki yazılımlara ihtiyacınız var
1) OpenCV: kullandığım sürüm 3.4.2. versiyonu internette kolayca bulunabilir.
2) Python: Kullanılan sürüm 3.6.2'dir. python.org'dan indirilebilir
Ayrıca bir web kamerasına ihtiyacınız var (elbette).
Adım 2: Görüntüleri İndirme
İlk adım, sınıflandırılacak nesnenin net bir resmini çekmektir.
Bilgisayarın işlemesi daha uzun zaman aldığından boyut çok büyük olmamalıdır. 50'ye 50 boyutunda aldım.
Sonra olumsuz ve olumlu görüntüleri indiriyoruz. Onları çevrimiçi olarak bulabilirsiniz. Ancak 'https://image-net.org' adresinden görüntüleri indirmek için python kodunu kullanıyoruz.
Ardından görüntüleri gri tonlamaya ve normal boyuta dönüştürüyoruz. Bu, kodda da uygulanmaktadır. Kod ayrıca herhangi bir hatalı görüntüyü de kaldırır
Şimdiye kadar dizininiz nesne resmini içermelidir, örneğin watch5050-j.webp
Veri klasörü oluşturulmamışsa, manuel olarak yapın
Python kodu,.py dosyasında sağlanır
Adım 3: OpenCV'de Pozitif Örnekler Oluşturma


Şimdi opencv_createsamples dizinine gidin ve yukarıda belirtilen tüm içeriği ekleyin
komut isteminde opencv_createsamples ve opencv_traincascade uygulamalarını bulmak için C:\opencv342\build\x64\vc14\bin adresine gidin
şimdi aşağıdaki komutları yürütün
opencv_createsamples -img watch5050-j.webp
Bu komut, 1950 nesnesinin pozitif örneklerini tam olarak oluşturmak içindir ve pozitif görüntülerin info.lst tanım dosyası açıklama şu şekilde olmalıdır 0001_0014_0045_0028_0028-j.webp
Şimdi klasör şunları içeriyor
bilgi
neg görüntüler klasörü
bg.txt dosyası
boş veri klasörü
Adım 4: Pozitif Vektör Dosyası Oluşturma

Şimdi pozitif görüntülerin yolunu sağlayan pozitif vektör dosyasını oluşturun, açıklama dosyası
Aşağıdaki komutu kullanın
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec pozitifler.vec
Şimdiye kadar dizinin içeriği aşağıdaki gibi olmalıdır:
--neg
----olumsuz resimler.jpg
--opencv
--bilgi
--veri
--pozitifler.vec
--bg.txt
--watch5050.jpg(gerekli nesne resmi)
Adım 5: Sınıflandırıcıyı Eğitmek



Şimdi haar kaskadını eğitelim ve xml dosyasını oluşturalım
Aşağıdaki komutu kullanın
opencv_traincascade -veri verileri -vec pozitifler.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
Aşamalar 10 Aşamaları artırmak daha fazla işlem gerektirir ancak sınıflandırıcı çok daha verimlidir.
Şimdi haarcascade oluşturuldu Tamamlanması yaklaşık iki saat sürüyor Oradaki veri klasörünü açın cascade.xml Bu, oluşturulan sınıflandırıcıdır
Adım 6: Sınıflandırıcıyı Test Etme
Veri klasörü, yukarıdaki resimde gösterildiği gibi dosyaları içerir.
Sınıflandırıcı oluşturulduktan sonra object_detect.py programını çalıştırarak sınıflandırıcının çalışıp çalışmadığını görebiliriz. classifier.xml dosyasını python dizinine yerleştirmeyi unutmayın.
7. Adım: Özel Teşekkürler
Harika bir python programcısı olan Sentdex'e buradan teşekkür etmek istiyorum.
Yukarıda belirtilen isimle bir youtube adı var ve bana çok yardımcı olan videonun bu bağlantısı var
Kodun çoğu senddex'ten kopyalandı. Sendex'ten çok yardım almama rağmen, yine de birçok sorunla karşılaştım. Ben sadece deneyimimi paylaşmak istedim.
Umarım bu anlatı size yardımcı olmuştur!!! Daha fazlası için takipte kalın.
BR
Tahir Ul Hak
Önerilen:
HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: 6 Adım (Resimlerle)

HuskyLens Kullanarak Yapay Zeka ve Görüntü Tanıma: Hey, naber beyler! Akarsh burada CETech'ten. Bu projede, DFRobot'tan HuskyLens'e bir göz atacağız. Yüz Tanıma gibi çeşitli Yapay Zeka işlemlerini yapabilen, AI destekli bir kamera modülüdür
Raspberry Pi ile Görüntü İşleme: OpenCV Kurulumu ve Görüntü Renk Ayrımı: 4 Adım

Raspberry Pi ile Görüntü İşleme: OpenCV Kurulumu ve Görüntü Renk Ayrımı: Bu gönderi, takip edilecek birkaç görüntü işleme eğitiminden ilkidir. Bir görüntüyü oluşturan piksellere daha yakından bakıyoruz, Raspberry Pi'ye OpenCV yüklemeyi öğreniyoruz ve ayrıca bir görüntü yakalamak için test komut dosyaları yazıyoruz ve ayrıca c
OpenCV Kullanarak Python'da Renk Algılama: 8 Adım

OpenCV Kullanarak Python'da Renk Algılama: Merhaba! Bu talimat, openCV kitaplığı kullanılarak python'daki bir görüntüden belirli bir rengin nasıl çıkarılacağı konusunda rehberlik etmek için kullanılır. Bu teknikte yeniyseniz endişelenmeyin, bu kılavuzun sonunda kendi renginizi programlayabileceksiniz
Uno ile ESP8266 WeMos D1 R1 Wifi İşlemci Kullanarak ESP32-Cam ile Görüntü Yakalama ve Gönderme: 7 Adım

ESP8266 WeMos D1 R1 Uno ile Wifi İşlemci Kullanarak ESP32-Cam ile Görüntü Yakalayın ve Gönderin: Uno ile ESP8266 WeMos D1 R1 WiFI İşlemci kullanarak ESP32-Cam (OV2640) kullanarak görüntü yakalayın ve e-postaya gönderin, Google Drive'a kaydedin ve gönderin Twilio'yu kullanan Whatsapp.Requirements: Uno'lu ESP8266 WeMos D1 R1 WiFI İşlemci (https://protosupplies
Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım

Raspberry Pi ve AIS328DQTR Kullanarak İvmeyi Python Kullanarak İzleme: İvme sonludur, bence bazı Fizik yasalarına göre. Karaya çıkan en hızlı yaratık, arada bir avını yakalamak için en yüksek hızını kullanır. NS