Yeşil çek
Panoya kopyalanan bağlantı

Ultralytics YOLO11 ile yapay zeka destekli drone uygulamaları oluşturun

Ultralytics YOLO11 ile gerçek zamanlı nesne algılama ve drone tabanlı bilgisayar görüşü görevleri sağlayan yapay zeka destekli drone uygulamalarının nasıl oluşturulacağını öğrenin.

Mağaza içi alışveriş ve online alışveriş birbirine benziyor gibi görünebilir, ancak farklı lojistiğe dayanırlar. Mağazalar rafların yenilenmesine ihtiyaç duyarken, online siparişler kapıya teslimata bağlıdır. Teknolojik gelişmeler sayesinde her iki alışveriş deneyimi de paralel olarak yeniden şekilleniyor.

Örneğin, teslimatlarda büyük bir değişim yaşanıyor. Yapay zeka destekli dronlar ürünlerin evlerimize ulaşma şeklini değiştiriyor. Bu akıllı dronların önümüzdeki on yıl içinde yaklaşık 808 milyon teslimat gerçekleştirmesi ve gökyüzünü günlük ticaret için en yeni teslimat rotasına dönüştürmesi bekleniyor.

Teslimat dronları, engellerin etrafında gezinmek ve manevra yapmak için görsel verileri analiz etmek için kullanılan yapay zeka (AI) ve AI'nın bir alt alanı olan bilgisayar görüşü kullanır. Bilgisayarla görme modelleri gibi Ultralytics YOLO11 drone'ların nesneleri gerçek zamanlı olarak algılamasına ve izlemesine yardımcı olarak çevrelerini daha iyi anlamalarını ve etkileşime girmelerini sağlayabilir.

Şekil 1. Bir paketi hedefine götüren bir teslimat drone'u.

Meituan ve DJI gibi şirketler bilgisayarla görmeyi dronlarına entegre etmeye başladı bile. Aslında, droneların çeşitli sektörlerde hızla benimsenmesi, yapay zekalı drone pazarının 2031 yılına kadar 206,9 milyar dolara fırlamasını sağladı. 

Bu makalede, Ultralytics YOLO11 gibi bilgisayarla görme modellerinin drone teslimatları gibi drone tabanlı uygulamalarda nasıl kullanılabileceğine daha yakından bakacağız. Bu teknolojilerin gerçek dünya senaryolarında kullanılmadan önce nasıl geliştirilebileceğini ve test edilebileceğini gösteren bir örnek üzerinden yürüyeceğiz.

Evleri tespit etmek için dronlarda Ultralytics YOLO11 'i kullanma

Teslimat dronlarının önemli bir parçası, gezinirken evleri tespit etme yetenekleridir. Bu yeteneği yeniden oluşturmak ve nasıl çalıştığını anlamak için, bir hava dronu tarafından çekilen görüntülerdeki evleri tanımlayabilen bir bilgisayarla görme modeli eğiteceğiz. Bunun için YOLO11 'i özel olarak eğiteceğiz; bu, etiketli örnekler kullanarak evleri tanımak ve tespit etmek için önceden eğitilmiş bir YOLO11 modeline ince ayar yapmayı içerir.

Bunu yapmak için bir drone'dan yüksek kaliteli video verilerine ihtiyacımız olacak. İlginç bir şekilde, gerçek bir drone'a erişimimiz olmasa bile, yine de gerçekçi hava görüntüleri oluşturabiliriz. Nasıl yapabileceğimize bir göz atalım.

Google Earth Studio kullanarak yapay bir drone çekimi oluşturma

Google Earth Studio, Google Earth'ün uydu ve 3D görüntülerini kullanarak hareketsiz ve animasyonlu içerik oluşturmak için kullanıcılar tarafından kullanılabilen web tabanlı bir animasyon aracıdır. Gerçekçi hava görüntüleri oluşturmak için kullanabiliriz.

İlk adım Google Earth Studio'y u açmak ve aşağıda gösterildiği gibi bir proje oluşturmaktır. 

Oturum açmak için bir Google hesabına ihtiyacınız olacak.

Şekil 2. Google Earth Studio'da bir proje oluşturma.

Giriş yaptıktan sonra yapay drone videonuz için bir konum seçebilirsiniz. Sayfanın sol üst köşesindeki arama çubuğunu kullanarak konumları arayabilirsiniz. Bu eğitim için Kanada'yı seçeceğiz. Ayrıca, evleri tespit etmek için bir model eğiteceğimiz için, drone videomuzun evlerin havadan bir görüntüsüne sahip olması gerekir.

Şekil 3. Google Earth Studio kullanarak bir konum seçme.

Ardından, yapay drone çekiminin hareketini yakalamak için ilk ve son zaman karelerini ayarlayabiliriz. Drone çekimi için başlangıç konumunu seçtikten sonra, aşağıda gösterildiği gibi mavi elmasları kullanarak ilk kareyi ayarlayın. 

Şekil 4. Mavi elmasları kullanarak ilk kareyi ayarlama.

Ardından, drone'un hedefini belirlemek için son kareyi seçebiliriz. Bu, drone çekimi için hareketli bir efekt oluşturmamıza yardımcı olacaktır. Bunu yapmak için, drone çekimi için hareketli efekt oluşturmak amacıyla çubuğu (aşağıda vurgulanmıştır) belirli bir zamana kadar sağa kaydırın. Bir kez daha, son noktayı ayarlamak için mavi elmasları kullanın.

Şekil 5. Çubuğu hareket ettirerek son kareyi ayarlama.

Son olarak, bu projeyi kaydedebilir ve sayfanın sağ üst köşesindeki kırmızı "Render" düğmesine tıklayarak render edebilirsiniz. Bu size drone çekiminin son video çıktısını verecek ve yapay drone video çekimini başarıyla oluşturacaktır.

Şekil 6. Nihai çıktı videosunun oluşturulması.

Drone verileri nasıl etiketlenir?

Artık yapay drone video görüntüleri oluşturduğumuza göre, bir sonraki adım videodaki evleri etiketlemek veya açıklama eklemektir. Ayrıca videonun tek tek karelerini de ayırmamız gerekecek. 

Buna başlamak için LabelImg'yi kuracağız. LabelImg açık kaynaklı bir resim etiketleme aracıdır. Aşağıdaki komutu çalıştırarak pip paket yükleyicisini kullanarak doğrudan terminalden yükleyebilirsiniz: "pip install labelImg".

Kurulumdan sonra, terminalinizde veya komut isteminde 'labelImg' komutunu kullanarak aracı çalıştırabilirsiniz. Bu sizi aşağıda gösterilen sayfaya getirecektir.

Şekil 7. LabelImg aracı arayüzü.

Bu arada, videoyu karelere bölmek için çevrimiçi bir videodan görüntüye dönüştürücü veya FFmpeg adlı bir araç kullanabiliriz. FFmpeg, ses, video, altyazı ve ilgili meta veriler gibi multimedya içeriğini işlemek için kullanılan kütüphaneler ve araçlardan oluşan bir koleksiyondur. 

Drone çekim videosunun her bir karesini ayırmak için aşağıdaki terminal komutunu kullanabilirsiniz:

ffmpeg -i input_video.mp4 -vf fps=1 frame_%04d.jpg

Drone görüntülerinin karelerini ayırdıktan sonra, içlerindeki nesneleri (evleri) etiketlemeye başlayabiliriz. LabelImg aracı aracılığıyla görüntü klasörüne giderek, her görüntüdeki nesneleri etiketleyebiliriz. Etiketlenen her görüntüyü kaydettiğinizden ve doğruladığınızdan emin olun. Görüntülere açıklama ekledikten sonra, artık bu verileri kullanarak YOLO11 'i eğitmeye geçebiliriz.

Şekil 8. Açıklamalı görüntülerin kaydedilmesine bir örnek.

YOLO11 model eğitim iş akışı

YOLO11'i eğitmeye başlamadan önce, resimlerimizi ve etiketlerimizi düzenleyeceğiz. İki klasör oluşturarak başlayın: biri "train" ve diğeri "valid" olarak adlandırılmıştır. Görüntülerinizi bu klasörler arasında paylaştırın. Her birinin içinde, aşağıda gösterildiği gibi görüntüler ve bunlara karşılık gelen etiket dosyaları (metin biçimi) için ayrı alt klasörler oluşturun.

Şekil 9. Görüntü ve etiket klasörlerinin oluşturulmasına bir örnek.

Ardından, YOLO11 modelini aşağıdaki şekilde eğitmeye başlayabiliriz:

  • Adım 1: Ultralytics Python paketini yükleyin. Bunu terminalinizde "pip install ultralytics" komutunu çalıştırarak yapabilirsiniz. Herhangi bir kurulum sorunuyla karşılaşırsanız, bunları çözmenize yardımcı olacak ipuçları ve püf noktaları için sorun giderme kılavuzumuza göz atın.
  • Adım 2: Paketi başarıyla yükledikten sonra, 'data.yaml' adında bir dosya oluşturun. Bu, modeli eğitmek için çok önemli olan bir yapılandırma dosyasıdır. Data.yaml dosyasına şu bilgileri ekleyin: eğitim veri setinizin yolu, doğrulama veri setinizin yolu, sınıf sayısı (nc) ve aşağıda gösterildiği gibi sınıf adlarının (names) bir listesi.
Şekil 10. Bir data.yaml dosyası örneği.

  • Adım 3: 'data.yaml' dosyası yapılandırıldıktan sonra, aşağıdaki Python kodunu kullanarak modelinizi eğitmeye başlayabilirsiniz. Bu kod, önceden eğitilmiş YOLO11 modelini yükler ve yapılandırmalarınıza göre eğitir.
from ultralytics import YOLO

# Load a YOLO11 model
model = YOLO("yolo11n.pt")  # choose your model, e.g., YOLO11 nano

# Train the model with your data and settings
model.train(data="data.yaml", epochs=100, imgsz=640)
  • Adım 4: Eğitim tamamlandığında, aşağıda gösterilene benzer bir çıktı görmelisiniz. Bu, YOLO11 modelinizi drone tabanlı uygulamalar için başarıyla eğittiğiniz anlamına gelir.
Şekil 11. Model eğitiminden sonra gösterilen çıktı.

Drone'larda Ultralytics YOLO11 kullanarak tahminleri çalıştırma

Eğitilen YOLO11 modeli artık çıkarım adı verilen bir süreç aracılığıyla tahminler yapmak için kullanılabilir. Çıkarsama, bir modelin eğitim sırasında öğrendiklerine dayanarak yeni, görülmemiş verileri analiz etmek için kullanılmasını içerir. Bu durumda model, etraflarına sınırlayıcı kutular çizerek görüntülerde veya videolarda evler gibi belirli nesneleri bulmak ve etiketlemek için kullanılabilir.

Bir tahmin çalıştırmak için, aşağıdaki Python kodunu kullanarak bir giriş videosunda eğitilmiş YOLO11 modelini kullanabilirsiniz. Bu örnekte, eğitim için kullanılan yapay drone videosunun aynısını kullanacağız, ancak isterseniz başka bir video dosyası da kullanabilirsiniz.

# Import library
from ultralytics import YOLO

# Load the YOLO model
model = YOLO("best.pt")  # Choose your custom-trained model

# Predict the results from the model
results = model.predict(source="path/to/original/video.mp4", show=True, save=True)

Bu kodu çalıştırdıktan sonra, tahminleri ve sınırlayıcı kutuları içeren çıktı video dosyası kaydedilecektir.

Şekil 12. Çıktı video dosyasından bir kare. 

Ultralytics YOLO11 'i çeşitli uygulamalar için dronlara entegre etme

Drone teslimat paketleri için evleri tespit etmek, bilgisayarla görmenin ve YOLO11 'in nasıl uygulanabileceğinin sadece bir örneğidir. İşte bilgisayarlı görü, YOLO11 ve hava dronlarının gerçek dünyadaki diğer bazı kullanımları:

  • Gözetim ve güvenlik: Yapay zeka dronları geniş alanları gerçek zamanlı olarak izlemek için kullanılabilir. İzinsiz girişleri tespit edebilir, şüpheli faaliyetleri izleyebilir ve ulusal sınırların yanı sıra büyük halka açık etkinliklerde güvenliği artırabilirler. 
  • Afet müdahalesi ve arama kurtarma: Termal kameralar ve nesne algılama özellikleriyle donatılmış dronlar, afet bölgelerinde hayatta kalanların yerinin tespit edilmesine yardımcı olabilir. Ayrıca hasarı değerlendirebilir ve acil durum malzemelerini teslim edebilirler...
  • Tarım ve hassas tarım: Bilgisayar görüşü ile entegre edilmiş dronlar, mahsul sağlığını analiz etmek ve hastalıkları tespit etmek için kullanılabilir ve çiftçilerin maliyetleri düşürürken verimi artırmasına yardımcı olabilir. 
  • Haritalama ve jeo-uzamsal analiz: Yapay zeka dronları, yüksek çözünürlüklü 3D haritalar toplayarak kentsel planlama ve arazi araştırmalarına yardımcı olabilir. Geleneksel yöntemlere göre daha hızlı ve daha doğru arazi değerlendirmeleri sağlarlar. 

Önemli çıkarımlar

Bilgisayar görüşü ile desteklenen yapay zekalı dronlar, paket tesliminden acil durumlara ve çiftçiliğe yardıma kadar birçok sektörü değiştiriyor. Bu kılavuzda, yapay bir drone videosu oluşturmayı, içindeki nesneleri etiketlemeyi, YOLO11'i eğitmeyi ve evleri tespit etmek için kullanmayı ele aldık.

Drone görüntülerine nesne tespiti uygulamak, bu drone'ları daha akıllı hale getirerek nesneleri gerçek zamanlı olarak otomatik olarak tanımalarını ve takip etmelerini sağlar. Teknoloji geliştikçe, yapay zeka güdümlü drone'lar teslimatların daha hızlı yapılmasında, güvenliğin artırılmasında ve afet müdahalesine yardımcı olmada muhtemelen daha da büyük bir rol oynayacaktır.

Vision AI hakkında daha fazla bilgi edinmek için topluluğumuza katılın ve GitHub depomuzu keşfedin ve bilgisayarla görme projelerinizi başlatmak için lisanslama seçeneklerimize göz atın. Üretimde yapay zeka veya otomotiv endüstrisinde bilgisayarla görme gibi yeniliklerle ilgileniyor musunuz? Daha fazlasını keşfetmek için çözüm sayfalarımızı ziyaret edin. 

LinkedIn logosuTwitter logosuFacebook logosuKopya-bağlantı sembolü

Bu kategoride daha fazlasını okuyun

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın