Uygulanabilir hedef tespit kodu burada, sizi bir saniye içinde kilitleyin

Lei Feng Net Not: Bu makale, Lei Feng'in altyazı grubu tarafından derlenen teknik bir blogdur, orijinal başlığı 10 satır kodlu Nesne Algılama ve yazarı Moses Olafenwa'dır.

Tercüme | Zhipeng Yu tarafından redaksiyon | Tao Chen tarafından düzenlendi | MY

Bilgisayar görüşü, yapay zekanın önemli bir alanıdır. Bilgisayar görüşü, bilgisayarların görüntüleri ve sahneleri tanımasını ve anlamasını sağlayan bilgisayarlar ve yazılım sistemleri hakkında bir bilimdir. Bilgisayar görüşü ayrıca görüntü tanıma, hedef algılama, görüntü oluşturma ve görüntünün süper çözünürlüklü yeniden yapılandırılması gibi dal alanlarını da içerir. Pek çok pratik ihtiyaç nedeniyle, nesne algılama bilgisayarla görmedeki en değerli alan olabilir. Bu eğitimde, kısaca hedef tespit kavramını, geliştiricilerin karşılaştığı zorlukları ve etkili hedef tespit kodunu içeren sağladığımız çözümleri tanıtacağım.

En son hedef tespit algoritmalarını uygulamalarda veya sistemlerde kullanmak zordur ve bu algoritmalara dayalı yeni uygulamalar oluşturmak da kolay değildir. Erken hedef tespiti, OpenCV'de (ana bilgisayar görme kitaplığı) sağlananlar gibi geleneksel algoritmaları kullanır, ancak bu klasik algoritmalar farklı senaryolarda çok kararlı değildir.

2012'de derin öğrenmenin atılımı ve hızla yaygınlaşması bize R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet ve SSD ve YOLO gibi yeni ve oldukça hassas hedef tespit algoritmaları ve yöntemleri getirdi. Hedef tespit algoritması. Derin öğrenmeye (ayrıca makine öğrenmesine dayalı) dayalı bu algoritmaları ve yöntemleri kullanmak, belirli bir matematik temeli ve derin öğrenme çerçevesi gerektirir. Şu anda, hedef tespit teknolojisini kullanarak yeni ürünlerin entegrasyonu ve geliştirilmesine adanmış milyonlarca programcı ve yazılım geliştiricisi bulunmaktadır. Ancak, bu teknoloji çok karmaşık ve zor olduğu için, algoritmayı gerçek geliştirmeye doğrudan uygulamanız sizin için zordur.

Ekibimiz birkaç ay önce bu sorunu fark etti, bu nedenle biz ve John Olafenwa, programcıların ve yazılım geliştiricilerin en son hedef algılama algoritmalarını yalnızca birkaç satır kodla kullanmasına olanak tanıyan bir python kitaplığı olan ImageAI'yi ortaklaşa geliştirdik. Kendi projenize entegre edin.

ImageAI hedef tespiti için kullanılırken aşağıdaki adımlar gereklidir:

  • Python'u mevcut sisteme yükleyin

  • ImageAI ve ilgili bağımlılıkları yükleyin

  • Hedef tespit modeli dosyasını indirin

  • Örnek kodu çalıştırın (yalnızca 10 satır)

  • Başlayalım.

  • Python3'ü resmi web sitesinden indirin

  • https://python.org

    2. Aşağıdaki bağımlı paketleri kurmak için pip komutunu kullanın:

    i. Tensorflow

    pip tensorflow yüklemek

    ii. Uyumsuz

    pip install numpy

    iii. Bilim

    pip yüklemek scipy

    iv. OpenCV

    pip opencv-python yükle

    v. Yastık

    pip yastık takmak

    vi. Matplotlib

    pip matplotlib yüklemek

    vii. H5py

    pip h5py yükle

    viii. Keras

    pip kurulum keras

    ix. ImageAI

    pip kurulumu

    https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.1/imageai-2.0.1-py3-none-any.whl

    3. Hedef tespiti için RetinaNet model dosyası bağlantısını indirin.

    iyi! Bağımlı paketleri kurduğunuza göre, artık ilk hedef tespit için kod yazmaya başlayabilirsiniz. Bir Python dosyası oluşturun ve onu adlandırın (örneğin, FirstDetection.py) ve ardından içine aşağıdaki kodu yazın. RetinaNet model dosyasını ve algılanacak görüntüyü python dosyasını içeren klasöre kopyalayın.

    FirstDetection.py

    Ardından kodu çalıştırın ve sonuçların konsola çıkmasını bekleyin. Sonuçlar görüntülendikten sonra, FirstDetection.py'nin bulunduğu klasöre gidin ve yeni kaydedilen resmi bulacaksınız. Lütfen aşağıdaki 2 resim örneğine bir göz atın, yeni resim kod çalıştırıldıktan sonra kaydedilecektir.

    Kodu çalıştırmadan önce:

    Resim kaynağı: alzheimers.co.uk

    Resim kaynağı: Wikicommons

    Kodu çalıştırdıktan sonra:

    Konsol, yukarıdaki şekilde sonuçlanır:

    kişi: 55.8402955532074

    kişi: 53.21805477142334

    kişi: 69.25139427185059

    kişi: 76.41745209693909

    bisiklet: 80.30363917350769

    kişi: 83.58567953109741

    kişi: 89.06581997871399

    kamyon: 63.10953497886658

    kişi: 69.82483863830566

    kişi: 77.11606621742249

    otobüs: 98.00949096679688

    kamyon: 84.02870297431946

    araba: 71.98476791381836

    Konsol, yukarıdaki şekilde sonuçlanır:

    kişi: 71.10445499420166

    kişi: 59.28672552108765

    kişi: 59.61582064628601

    kişi: 75.86382627487183

    motosiklet: 60.1050078868866

    otobüs: 99.39600229263306

    araba: 74.05484318733215

    kişi: 67.31776595115662

    kişi: 63.53200078010559

    kişi: 78.2265305519104

    kişi: 62.880998849868774

    kişi: 72.93365597724915

    kişi: 60.01397967338562

    kişi: 81.05944991111755

    motosiklet: 50.591760873794556

    motosiklet: 58.719027042388916

    kişi: 71.69321775436401

    bisiklet: 91.86570048332214

    motosiklet: 85.38855314254761

    Şimdi bu 10 satırlık kodun nasıl çalıştığını açıklamama izin verin.

    Yukarıdaki 3 satır kodda, ilk satırda ImageAI nesne algılama sınıfını ve ikinci satırda python os sınıfını içe aktardık. Ardından, python dosyalarını, RetinaNet model dosyalarını ve görüntüleri kaydetmek için kullanılan klasörün yol adresini kaydetmek için üçüncü satırda bir değişken tanımlanır.

    Yukarıdaki 5 satırlık kodda, ilk satırda hedef algılama sınıfının bir örneğini tanımlıyoruz, ikinci satırda örneğin model türünü RetinaNet olarak ayarlıyoruz ve örneğin model yolunu RetinaNet model dosyamızın üçüncü satırda bulunduğu yere ayarlıyoruz. Dördüncü satırda model hedef algılama sınıfının örneğine yüklenir Beşinci satırda algılama fonksiyonunu çağırır ve dosya giriş ve çıkış yolunu parametre olarak geçiririz.

    Yukarıdaki iki kod satırında, ilk satır, dedektör.detectObjectsFromImage işlevi tarafından döndürülen tüm sonuçları yinelemek için kullanılır ve ikinci satır, görüntüde algılanan her hedefin adını ve olasılığını çıkarmak için kullanılır.

    ImageAI ayrıca birçok güçlü özelleştirme özelliğine sahiptir. Örneğin, resimde tespit edilen her nesne çıkarılabilir. Aşağıda gösterildiği gibi, extract_detected_objects = True parametresini DetectObjectsFromImage işlevine geçirerek elde edilebilir, hedef algılama sınıfı görüntü nesnesi için bir klasör oluşturacak, algılanan her bir alt görüntüyü çıkaracak ve her bir alt görüntüyü oluşturulan Yeni klasörde ve her görüntünün yolunu içeren bir dizi döndürün.

    Bu yöntemi ilk resme uyguluyoruz ve çıkarılan alt resimlerden bazıları şu şekildedir:

    Tüm yayaların resimleri iyi bir şekilde çıkarılmıştır. Yerden tasarruf etmek için burada sadece bir parça gösterilmektedir.

    ImageAI, özelleştirilmiş hedef algılama görevleri ve dağıtım projeleri için kullanılabilecek birçok yararlı işlev sağlar. Desteklenen özelliklerden bazıları şunlardır:

    - Minimum olasılığı ayarlayın : Varsayılan olarak, algılama olasılığı yüzdesi 50'den az olan nesneler görüntülenmeyecektir. Bu değeri yüksek hassasiyet gerektiren sahnelerde artırabilir veya tüm olası hedefleri tespit etmeniz gerektiğinde azaltabilirsiniz.

    - Özel hedef tespiti : CustomObject sınıfını kullanarak, algılama sınıfına bir veya daha fazla bağımsız hedefi algılamasını söyleyebilirsiniz.

    - Algılama hızı : Algılama süresini kısaltmak için algılama hızı "hızlı", "daha hızlı" ve "en hızlı" olarak ayarlanabilir.

    - Giriş tipi : Girdi parametresi, görüntü yolu, Numpy dizisi veya görüntü dosyası akışı türü olarak belirtilebilir.

    - Çıktı türü : DetectionObjectsFromImage işlevinin görüntüleri döndürme yönteminin bir dosya mı yoksa Numpy dizisi mi olduğunu belirtebilirsiniz.

    ImageAI'de yukarıdaki işlevler ve diğer bilgisayarla görme işlevlerinin ayrıntılı bilgilerini ve belgelerini resmi GitHub deposunda bulabilirsiniz.

    https://github.com/OlafenwaMoses/ImageAI

    Bu makalenin size yardımcı olduğunu düşünüyorsanız veya onunla da ilgileniyorsanız, lütfen beğenin. Arkadaşlarınızla ve meslektaşlarınızla paylaşmaktan çekinmeyin.

    Herhangi bir sorunuz, öneriniz varsa veya benimle iletişime geçmek istiyorsanız. Lütfen guymodscientist@gmail.com adresine bir e-posta gönderin. Benimle ayrıca Twitter hesabım olan @OlafenwaMoses ve Facebook https://www.facebook.com/moses.olafenwa aracılığıyla da iletişime geçebilirsiniz.

    Orijinal bağlantı: https://towardsdatascience.com/object-detection-with-10-lines-of-code-d6cb4d86f606

    Lei Feng Ağı Lei Feng Ağı

    Land Rover 2017 Aurora 398.000-69.8 milyon yuan fiyatla satışa sunuldu
    önceki
    Ultraman'da 4 nadir canavar
    Sonraki
    Dai Wei dahili bir mektup gönderdi: Her kuruştan sorumlu olun! Ofo depozitonun merkezde iade edildiğini yalanladı!
    En moda ekspres ekipmanı patlatın, Vetements'ın bir sonraki dalgası olan "DHL" yeni çalışmaları ilk olarak gösterilecek
    Transformers "Bumblebee" 700 milyon gişeyi aştı, Bumblebee'nin popülaritesi izleyicinin "yeni favorisi" oldu
    Lenovo Z5Pro, Qualcomm Snapdragon 855'i mi piyasaya sürdü? Bu, başka bir üreticinin ürünleri bu ayın sonunda teslim edip edemeyeceğine bağlı!
    OFF-WHITE yeni ortak adı! Kanye ile derin bir dostluğu olan Virgil, bu sefer iş birliği arayışında kimdir?
    M4 artık en iyi yer değil, oyuncular sonunda hatırladı!
    Bahar Şenliği çevresinde piyasada bulunan bu kadar çok SUV varken, yıl sonu bonusunuz için hazır mısınız?
    "Küçük Domuz Peppa Çin Yeni Yılı", çevrimdışı "havaalanı flaşı" bağlantısının sürpriz bir yükseltmesi olan fragmanın ilk Kantonca versiyonunu ortaya koyuyor
    Changcheng orta sınıf amiral gemisi modelini piyasaya sürdü, Lenovo Z5s uygun maliyetli ve fiyatın alt çizgisine nüfuz ediyor!
    Tubuların yeni üyeleri çok güzel görünüyor ve bir sonraki başlayacağınız ayakkabı çifti burada
    En çok hangi yatakhaneyi seversin?
    Pürüzsüz ve güçlü performans! Bunlar, çocuklar için cep telefonu satın almak için en iyi seçeneklerdir
    To Top