14.293 kez okundu 14.293 kez okundu
Oca 212018
 
14.294 kez okundu

OpenCV ile Yüz Tanıma

OpenCVOpenCV kütüphanesi BSD lisansı ile yayınlanan bir kütüphane. Hem akademik, hem de ticari kullanıma açık. Kütüphanenin asıl odaklandığı konu gerçek zamanlı uygulamalar için hızlı ve etkin hesaplama araç ve yöntemlerinin geliştirilmesi.

En son sürümü OpenCV 3.4, 23 Aralık 2017 tarihinde duyurulan kütüphane, bugüne kadar yaklaşık 11 milyon kez indirilmiş. Github üzerinde 25,988 opencv projesi mevcut. Bunlardan 6193 adedi Python ile yapılmış.

Bu yazımda size bir github projesini tanıtacağım: https://github.com/ageitgey/face_recognition/

İnsan yüzlerini tanımak amacıyla geliştirilmiş bir proje bu. MIT lisansıyla paylaşılıyor. Güncel.

Bu projeyi Ubuntu 16.04 üzerinde, Python 3.5.2 ile test ettim.

Tek resim üzerinde olduğu gibi, video kareleri ve webcam görüntüleri üzerinde de verimli bir şekilde çalışıyor.

Yüz tanıma kodlarını çalıştırmak için gereken kurulumların nasıl yapılacağı proje sayfasında ayrıntılı bir şekilde anlatılmış. Ben tekrarlamayacağım.

Proje sayfasında verilen örnek kodların hepsini tek tek test ettim. Hepsi çalışır durumda. Sadece webcam ile görüntü tarama kodlarında küçük bir değişiklik yapmam gerekti. Çünkü benim bilgisayarımın webcam kamerası görüntüleri tepetaklak gösteriyor. Sizin bilgisayarınızda benimki gibi bir sorun yoksa, eklediğim düzeltme işlemine de gerek duymayacaksınız.

Önce kodları paylaşayım (Bu kodlar, kendisine bir resim dosyasıyla tanıtılan yüzü, gerçek zamanlı webcam görüntülerinde yakalayıp işaretliyor. Orijinal kodlarda ‘obama.jpg’ kullanılmakta. Aynı kodların başka görseller üzerinde de etkin bir şekilde çalıştığını göstermek amacıyla kendi resmimi tanıttım.) :

Kodları test ettiğim bilgisayardaki sistem ve kütüphaneler şöyle:
Ubuntu 16.04
Python 3.5.2
OpenCV 3.2.0
face-recognition 1.0.0

Kodlar çok açık ve anlaşılır şekilde yazılmış. Ayrıntıya girmeyeceğim. Betiği durdurmak istediğinizde ‘q’ butonuna basmanız yeterli.

Aynı kodları test etmek için siz de kendi fotoğrafınızı kullanabilirsiniz.

Videoda betiğin nasıl çalıştığını görmek mümkün. Tanıtım fotoğrafımda gözlük yok. Ama gözlük taktığımda bile tanıma sorunu olmuyor. Yüzün orta bölümünde büyükçe bir bölüm kapatılırsa, tanıma ancak o zaman engelleniyor.

Şu anda elimde Raspberry Pi için kamera olmadığından testlerimi sadece dizüstü bilgisayarımda yaptım. Uygun bir zamanda aynı işlemleri Raspberry Pi üzerinde de tekrarlayacağım.

Beni izlemeye devam edin.

Ahmet Aksoy

Referanslar:

  6 Yanıt - “OpenCV ile Yüz Tanıma”

  1. Hocam iyi günler 33.satırda betik hata veriyor (small_frame = cv2.resize(frame,(0,0),fx=0.25,fy=0.25))
    Hata mesajıda şu:

    cv2.error: /io/opencv/modules/imgproc/src/resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function resize

    Burada boyutlandırma ile ilgili bir hata veriyor galiba

    • Merhaba,
      Kodda bir sorun görünmüyor. Ancak sizin görüntüyü üreten cihazınızla ilgili bir sorununuz olabilir gibi.
      Bu satırın başına # koyup deneyin. Ekranda görüntü oluşuyor mu?

  2. Hocam merhabalar,

    Ben Windows 10 işletim sistemi üzerinde çalışıyorum face_recongition modulü yüklemeye çalıştığımda hata alıyorum cmd komut satırına

    yazıyorum ve karışılığında şöyle bir hata alıyorum;

    Command “c:\python27\python.exe -u -c “import setuptools, tokenize;__file__=’c:\\users\\yakup\\appdata\\local\\temp\\pip-install-xcitja\\dlib\\setup.py’;f=getattr(tokenize, ‘open’, open)(__file__);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, __file__, ‘exec’))” install –record c:\users\yakup\appdata\local\temp\pip-record-ckielj\install-record.txt –single-version-externally-managed –compile” failed with error code 1 in c:\users\yakup\appdata\local\temp\pip-install-xcitja\dlib\

    acaba bu hata ile ilgili bir fikriniz var mı ?

    bir kaç yabanbı kaynağı inceledim orda önce dlib yüklemem gerektiğini söylemişler

    bu kod yardımıyla dlib yüklemeye çalışıyorum ondada yine buna benzer bir hata alıyorum. Cmd komut istemcisini yönetici olarak çalıştırdım fakat hala problem var

    • Merhaba,
      Ben Python 3 ile çalışıyorum. Size de öyle yapmanızı öneririm. Çünkü bir yıl sonra resmi Python 2 desteği tamamen kalkacak.
      Yine de durumu görebilmek için Windows 10 üzerine Python 2.7.15 kurdum ve “pip install face_recognition” komutu verdim.
      Önce “cmake” kurmamı istedi. “cmake” kurulumundan sonra da “dlib” derleme hatası verdi. Doğrudan “dlib” kurmak istediğimde yine aynı sorunla karşılaştım.
      Kısacası “Python 2.7” için “dlib” ve dolayısıyla “face_recognition” kurulumunda sistemsel bir sorun olduğu görülüyor.
      Hata mesajını internet üzerinde araştırarak bir çözüm üretmek mümkün olabilir ama, değmeyeceğini düşünüyorum.
      Size de Python 3 kurmanızı ve bundan sonraki çalışmalarınızı onunla sürdürmenizi öneriyorum.
      İyi çalışmalar.

      • Merhabalar ben python 3.5 kullanıyorum fakat hala olmuyor Cmake yi indirdim fakat dlib ve face recognition da aynı hataları alıyorum

        • Merhaba,
          https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv adresinden kendi sisteminize uygun olan OpenCV’yi indirip kurabilirsiniz. Burada, derlenmiş farklı kütüphaneleri de vardır..
          Ancak, Python sürümünüze uygun 32bit veya 64 bit seçeneğini doğru şekilde belirlemeniz gerekir.
          Hala sorun yaşıyorsanız, tekrar mesaj yazın.
          İyi çalışmalar.

 Bir yanıt bırakın

Bu HTML tagleri ve özellikleri kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(gerekli)

(gerekli)

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Önceki yazıyı okuyun:
Tensorflow ile Acemi Şiirler

Tensorflow ile Acemi Şiirler Bu yazımda internet üzerinden rasgele derlenmiş şiirler kullanarak eğittiğim sistemden aldığım -şiirimsi- çıktıları paylaşacağım. Henüz abartılı...

Kapat