YOLO26 ile tanış: yeni nesil görsel AI.
Ultralytics
Ultralytics YOLO

Bilgisayarlı görü projelerinde hız tahmini için Ultralytics YOLOv8

Ultralytics YOLOv8 modelinin bilgisayarlı görü projelerinde hız tahmini için nasıl kullanılabileceğini keşfet. Basit bir kodlama örneği ile kendin dene.

ABAbirami Vina
5 min read
Bilgisayarlı görü projelerinde hız tahmini için Ultralytics YOLOv8

Hepimiz muhtemelen hız sınırı trafik işaretlerini görmüşüzdür. Hatta bazılarımız posta veya e-posta yoluyla otomatik bir hız sınırı ihlali bildirimi bile almış olabilir. Yapay zeka (AI) tabanlı trafik yönetim sistemleri, bilgisayarlı görü sayesinde hız ihlallerini otomatik olarak tespit edebilir. Trafik ışıklarında ve otoyollarda bulunan kameralar tarafından yakalanan gerçek zamanlı görüntüler, hız tahmini yapmak ve yol güvenliğini artırmak için kullanılır.

Hız tahmini sadece otoyol güvenliği ile sınırlı değildir. Spor, otonom araçlar ve daha pek çok farklı uygulamada kullanılabilir. Bu makalede, bilgisayarlı görü projelerinde hız tahmini için Ultralytics YOLOv8 modelini nasıl kullanabileceğini tartışacağız. Ayrıca, kendin deneyebilmen için adım adım bir kod örneği üzerinden geçeceğiz. Hadi başlayalım!

Link to this sectionHız tahmini trafik yönetimini kolaylaştırır#

Dünya Sağlık Örgütü'ne (WHO) göre, her yıl yaklaşık 1,19 milyon insan aşırı hız kaynaklı trafik kazaları nedeniyle hayatını kaybetmektedir. Ayrıca, 20 ila 50 milyon kişi daha ölümcül olmayan yaralanmalara maruz kalmakta ve bunların birçoğu engellilikle sonuçlanmaktadır. Hız tahmini kazaları önlemeye, hayat kurtarmaya ve yollarımızı güvenli ve verimli tutmaya yardımcı olduğundan, trafik güvenliğinin önemi abartılamaz.

Bilgisayarlı görü kullanarak hız tahmini, nesnelerin ne kadar hızlı hareket ettiğini hesaplamak için video karelerindeki nesnelerin tespit edilmesini ve takip edilmesini içerir. YOLOv8 gibi algoritmalar, araç gibi nesneleri ardışık kareler boyunca tanımlayabilir ve takip edebilir. Sistem, gerçek dünya mesafelerini ölçmek için kalibre edilmiş kameralar veya referans noktaları kullanarak bu nesnelerin katettiği mesafeyi ölçer. Nesnelerin iki nokta arasında hareket etmesinin ne kadar sürdüğünü zamanlayarak, sistem mesafe-zaman oranını kullanarak hızlarını hesaplar.

Ultralytics YOLOv8 modelini kullanarak hız tahmini

Şekil 1. Ultralytics YOLOv8 modelini kullanarak hız tahmini.

Hız sınırını aşanları yakalamanın yanı sıra, AI entegreli hız tahmin sistemleri trafik hakkında tahminler yapmak için veri toplayabilir. Bu tahminler, sinyal zamanlamalarını optimize etmek ve kaynak tahsisi gibi trafik yönetimi görevlerini destekleyebilir. Trafik modellerine ve trafik sıkışıklığının nedenlerine ilişkin içgörüler, trafiği azaltmak için yeni yollar planlamada kullanılabilir.

Link to this sectionHız tahmininin diğer sektörlerdeki uygulamaları#

Hız tahmini uygulamaları sadece yolları izlemenin ötesine geçer. Ayrıca sporcuların performansını izlemek, otonom araçların çevrelerinde hareket eden nesnelerin hızını anlamalarına yardımcı olmak, şüpheli davranışları tespit etmek vb. durumlar için kullanışlı olabilir. Bir kameranın bir nesnenin hızını ölçmek için kullanılabileceği her yerde, bilgisayarlı görü ile hız tahmini kullanılabilir.

İşte hız tahmininin kullanıldığı bazı örnekler:

  • Tesla'nın otonom araçları, çarpışmaları önlemek için vizyon tabanlı hız tahmini kullanır.
  • Bilgisayarlı görü ve hız tahmini, atletizm etkinliklerinde performans analizini iyileştirmek için 2024 Olimpiyat Oyunları'nda kullanılacaktır.
  • Akıllı şehirler, yürüme hızlarını izlemek ve kentsel hareketliliği ve güvenliği artırmak için yaya yürüyüş analizi araştırmaları yapmaktadır. Bu sistemler, sürücüleri yayaların varlığı konusunda uyarabilir ve kazaları önleyebilir.
  • Hayvan davranış izleme sistemleri, hayvan hareketini takip etmek ve sıkıntı veya hastalık belirtilerini tespit etmek için hız tahminini kullanır.

Bir kişinin yürüme hızını ölçen hız tahmini

Şekil 2. Hız tahmini, bir kişinin yürüme hızını ölçebilir.

Link to this sectionBilgisayarlı görü ile hız tahmininin faydaları#

Vizyon tabanlı hız tahmin sistemleri, gelişmiş doğrulukları, maliyet etkinlikleri ve esneklikleri nedeniyle geleneksel sensör tabanlı yöntemlerin yerini almaktadır. LiDAR gibi pahalı sensörlere dayanan sistemlerin aksine, bilgisayarlı görü hızı gerçek zamanlı olarak izlemek ve analiz etmek için standart kameralar kullanır. Hız tahmini için bilgisayarlı görü çözümleri, mevcut trafik altyapısı ile sorunsuz bir şekilde entegre edilebilir. Ayrıca, bu sistemler, genel trafik akışını ve güvenliğini iyileştirmek için araç tipi tanımlama ve trafik modeli analizi gibi bir dizi karmaşık görevi gerçekleştirecek şekilde oluşturulabilir.

Link to this sectionKendin dene: YOLOv8 kullanarak hız tahmini#

Artık hız tahmini ve uygulamaları hakkında net bir anlayışa sahip olduğumuza göre, kod aracılığıyla hız tahminini bilgisayarlı görü projelerine nasıl entegre edebileceğine daha yakından bakalım. YOLOv8 modelini kullanarak hareketli araçları tespit edeceğiz ve hızlarını tahmin edeceğiz.

Bu örnek, internetten indirilen bir yoldaki araçların videosunu kullanır. Aynı videoyu veya herhangi bir ilgili videoyu kullanabilirsin. YOLOv8 modeli, her aracın merkezini tanımlar ve bu merkezin video karesindeki yatay bir çizgiyi ne kadar hızlı geçtiğine göre hızını hesaplar.

Derinlemesine incelemeden önce, bu durumda mesafe hesaplamasının yaklaşık olduğunu ve Öklid Mesafesine dayandığını unutmamak önemlidir. Kamera kalibrasyonu hesaba katılmamıştır, bu nedenle hız tahmini tamamen doğru olmayabilir. Ayrıca, tahmin edilen hız GPU'nun hızına bağlı olarak değişebilir.

Adım 1: Ultralytics paketini kurarak başlayacağız. Komut istemini veya terminalini aç ve aşağıda gösterilen komutu çalıştır.

pip install ultralytics

Kurulum süreciyle ilgili adım adım talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza göz at. YOLOv8 için gerekli paketleri yüklerken herhangi bir sorunla karşılaşırsan, Genel Sorunlar kılavuzumuzda çözümler ve faydalı ipuçları mevcuttur.

Adım 2: Ardından, gerekli kütüphaneleri içe aktaracağız. OpenCV kütüphanesi video işlemeyi yönetmemize yardımcı olacak.

import cv2
from ultralytics import YOLO, solutions

Adım 3: Daha sonra, YOLOv8 modelini yükleyebilir ve modelin tespit edebileceği sınıfların isimlerini alabiliriz.

model = YOLO("yolov8n.pt")
names = model.model.names

Hangi modelin projen için en uygun olduğunu anlamak için desteklediğimiz tüm modellere göz at.

Adım 4: Bu adımda, OpenCV'nin VideoCapture modülünü kullanarak girdi video dosyasını açacağız. Ayrıca videonun genişliğini, yüksekliğini ve saniyedeki kare sayısını (fps) çıkaracağız.

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

Adım 5: Burada, hız tahmininin nihai sonuçlarını kaydetmek için video yazıcıyı başlatacağız. Çıktı video dosyası “speed_estimation.avi” olarak kaydedilecektir.

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Adım 6: Bir sonraki adımda, hız tahmini için çizgi noktalarını tanımlayabiliriz. Girdi videomuz için bu çizgi, çerçevenin ortasına yatay olarak yerleştirilecektir. Girdi videona bağlı olarak çizgiyi en uygun konumlara yerleştirmek için değerlerle oynamaktan çekinme.

line_pts = [(0, 360), (1280, 360)]

Adım 7: Şimdi, tanımlanan çizgi noktalarını ve sınıf adlarını kullanarak hız tahmin nesnesini başlatabiliriz.

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

Adım 8: Betiğin çekirdeği videoyu kare kare işler. Her kareyi okuruz, nesneleri tespit eder ve takip ederiz. Takip edilen nesnelerin hızı tahmin edilir ve açıklamalı kare çıktı videosuna yazılır.

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

Adım 9: Son olarak, video yakalama ve yazıcı nesnelerini serbest bırakır ve tüm OpenCV pencerelerini kapatırız.

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Adım 10: Betiğini kaydet. Terminalinden veya komut isteminden çalışıyorsan, betiği aşağıdaki komutu kullanarak çalıştır:

python your_script_name.py

Link to this sectionVizyon tabanlı hız tahmininin zorlukları#

Bilgisayarlı görü kullanarak hız tahminini uygulamadaki zorlukları anlamak da önemlidir. Yağmur, sis veya kar gibi elverişsiz hava koşulları, yolun görünürlüğünü engelleyebildikleri için sistemde sorunlara neden olabilir. Benzer şekilde, diğer araçların veya nesnelerin neden olduğu tıkanıklıklar (okluzyonlar), bu sistemlerin hedef bir aracın hızını doğru bir şekilde takip etmesini ve tahmin etmesini zorlaştırabilir. Gölgelere veya güneşten gelen parlamaya neden olan kötü ışık koşulları da hız tahmini görevini daha da karmaşık hale getirebilir.

Bir diğer zorluk hesaplama gücü ile ilgilidir. Hızı gerçek zamanlı olarak tahmin etmek için, yüksek kaliteli trafik kameralarından gelen çok sayıda görsel veriyi işlememiz gerekir. Çözümün, tüm bunları halletmek ve gecikme olmadan hızlı çalıştığından emin olmak için pahalı donanım gerektirebilir.

Ardından gizlilik meselesi var. Bu sistemler tarafından toplanan veriler, bireyin markası, modeli ve plaka bilgisi gibi, rızası olmadan toplanan araç detaylarını içerebilir. Bazı modern HD kameralar, arabanın içindeki yolcuların görüntülerini bile yakalayabilir. Bu tür veri toplama, büyük bir özenle ele alınması gereken ciddi etik ve yasal sorunları beraberinde getirebilir.

Link to this sectionGeleceğe doğru hızla ilerlemek#

Hız tahmini için Ultralytics YOLOv8 modelini kullanmak, birçok kullanım alanı için esnek ve verimli bir çözüm sağlar. Zorlu koşullarda doğruluk ve gizlilik sorunlarını ele alma gibi zorluklar olsa da, avantajları çok fazladır. Bilgisayarlı görü destekli hız tahmini, eski yöntemlere kıyasla daha uygun maliyetli, uyarlanabilir ve kesindir. Ulaşım, spor, gözetim ve sürücüsüz araçlar gibi çeşitli sektörlerde faydalıdır. Tüm faydaları ve uygulamalarıyla, geleceğin akıllı sistemlerinin önemli bir parçası olmaya adaydır.

Interested in AI? Connect with our community! Explore our GitHub repository to learn more about how we are using AI to create innovative solutions in various industries like healthcare and agriculture. Collaborate, innovate, and learn with us! 🚀

Explore solutions

Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin
Real-time AI that works with your team

Robotikte AI

Daha akıllı makineleri Ultralytics YOLO modelleriyle destekle. Robotikteki Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Lojistikte Yapay Zeka

Ultralytics YOLO modelleri ile lojistiği kolaylaştır. Görü Yapay Zekası; paket inceleme, ayıklama, araç takibi ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Real-time AI that works with your team

Perakendede AI

Perakendeyi Ultralytics YOLO modelleri ile yeniden hayal et. Görü Yapay Zekası; envanter takibi, raf izleme, sıra yönetimi ve daha akıllı müşteri içgörüleri sağlar.
Daha fazla bilgi edin
Real-time AI that works with your team

Sağlıkta Yapay Zeka

Ultralytics YOLO modelleriyle sağlık çözümleri oluştur. Sağlıkta görüntü tabanlı yapay zeka; daha hızlı tıbbi görüntülemeyi, daha akıllı teşhisleri ve hasta izlemeyi güçlendirir.
Daha fazla bilgi edin
Real-time AI that works with your team

Üretimde Yapay Zeka

Ultralytics YOLO modelleri ile üretimi optimize et. Görü Yapay Zekası; kalite kontrol, kusur tespiti, KKD uyumu ve montaj hattı otomasyonunu yönlendirir.
Daha fazla bilgi edin
Real-time AI that works with your operation

Otomotivde yapay zeka

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygula. Görüntü tabanlı yapay zeka; yol güvenliğini, sürücü yardımını ve araç otomasyonunu daha akıllı yollar için geliştirir.
Daha fazla bilgi edin
Real-time AI tailored to your operation

Tarımda yapay zeka

Ultralytics YOLO modelleriyle akıllı tarıma görüntü tabanlı yapay zeka getir. Daha yüksek ve akıllı verimler için mahsul takibini, hayvancılık izlemeyi ve hassas tarımı güçlendir.
Daha fazla bilgi edin

Yapay zekanın geleceğini birlikte inşa edelim!

Yolculuğuna makine öğreniminin geleceğiyle başla