Görselleştirmelerle bilgisayarla görme uygulamalarını geliştirme
Daha iyi içgörüler elde etmek için bilgisayarla görme uygulamalarından gelen verileri Ultralytics Python paketiyle anlaşılması kolay grafiklere nasıl dönüştüreceğini öğren.

Havaalanı terminallerinden tren istasyonlarına ve alışveriş merkezlerine kadar her dakika devasa miktarda veri oluşturuluyor. Yapay zekâ daha yaygın kullanılmaya başladıkça bu verilerin büyük bir bölümü artık analiz edilip ayrıştırılıyor. Ancak bazen bu yapay zekâ modellerinin sonuçları, kalıpları fark etmeyi veya eğilimleri bir bakışta anlamayı zorlaştırabiliyor. Veri görselleştirme tam da bu noktada yardımcı olur: karmaşık çıktıları anlaşılır ve kolayca sindirilebilir içgörülere dönüştürür.
Bu durum özellikle bilgisayarlı görü uygulamaları için geçerlidir. Bilgisayarlı görü, makinelerin görüntüler ve videolar gibi çevrelerindeki dünyadan gelen görsel bilgileri yorumlamasına ve anlamasına yardımcı olan bir yapay zekâ (AI) dalıdır. Ultralytics YOLO11 gibi görü yapay zekâ modelleri bu tür görsel verileri analiz ederek bilgi edinmeye yardımcı olabilirken veri görselleştirme, bu bilgilerin anlaşılması kolay bir biçime dönüştürülmesini sağlar.
Basitçe ifade etmek gerekirse veri görselleştirme, anlamlı analitik grafikler kullanarak ham verilerle gerçek anlamlandırma arasındaki boşluğu kapatır. Günümüzün veri odaklı dünyasında bu çok önemlidir; çünkü makinelerin yalnızca görevleri yerine getirmesi yeterli değildir, onlardan bir hikâye anlatmalarını da bekleriz.
Hikâye anlatma ihtiyacı, veri görselleştirmenin neden yükselişte olduğunu açıklar; pazarın 2030 yılına kadar $18,36 milyara ulaşması bekleniyor. Daha önce bilgisayarlı görünün değerli iş içgörüleri sunabileceğini incelemiştik. Bugün ise Ultralytics paketini kullanarak bilgisayarlı görü uygulamaları için anlaşılır ve içgörülü analitik grafiklerin nasıl oluşturulacağını adım adım ele alacağız. Hadi başlayalım!

Şekil 1. YOLO11 çıktılarının temelinde veri görselleştirme örneği.
Bilgisayarlı görü uygulamalarında veri görselleştirmeye genel bakış#
Bilgisayarlı görü uygulamalarında veri görselleştirme; nesne algılama ve izleme gibi bilgisayarlı görü görevlerinin sonuçlarını anlaşılması kolay grafiklere veya panolara dönüştürmeyi içerir. Bu görseller, özellikle büyük miktarda video kaydıyla çalışırken kalıpları ve eğilimleri belirlemeye yardımcı olur.
Örneğin saatlerce süren güvenlik kamerası görüntülerini elle incelemek yerine, zaman içinde algılanan araba veya insan sayısını gösteren basit bir çizgi grafik, yoğun saatleri ya da olağandışı sakin dönemleri hızla ortaya çıkarabilir.
Veri görselleştirmenin yararlı olmasının bazı temel nedenleri şunlardır:
-
Karmaşık verileri basitleştirir: Binlerce nesne algılaması bunaltıcı olabilir; ancak çubuk veya pasta grafikleri gibi görselleştirmeler, örneğin hangi nesnelerin en sık göründüğü gibi genel tabloyu görmeyi kolaylaştırır.
-
Eğilimleri ortaya çıkarır: Çizgi ve çubuk grafikler, yaya trafiğinin ne zaman ve nerede artma eğiliminde olduğu gibi zaman içindeki kalıpları belirlemeye yardımcı olur.
-
Zamandan tasarruf sağlar: Videonun her karesini incelemek yerine grafikler; araç hareketlerindeki ani artışlar veya kısıtlı bölgelerdeki olağandışı nesne görünümleri gibi önemli ayrıntıları hızla öne çıkarabilir.
-
İletişimi geliştirir: Görseller, teknik olmayan kitlelerle içgörüleri paylaşmayı kolaylaştırarak herkesin sonuçları daha net anlamasına yardımcı olur.
Farklı veri görselleştirme türleri#
Farklı analitik grafik türleri, bilgisayarlı görü sonuçlarını anlaşılır ve kolayca yorumlanabilir görsellere dönüştürebilir. Diyelim ki güvenlik kamerası görüntülerinde insanları ve araçları algılayan bir bilgisayarlı görü uygulaması üzerinde çalışıyorsun. Bu durumda çizgi grafik, gün boyunca yaya trafiğindeki yoğunlukları izlemek gibi algılama sayısının zaman içinde nasıl değiştiğini göstermek için idealdir.
Benzer şekilde çubuk grafikler, algılanan farklı nesne türlerinin sayılarını karşılaştırmak istediğinde yararlıdır; örneğin videoda daha fazla araba, bisiklet veya yaya olup olmadığını görmeni sağlar. Öte yandan pasta grafikler, her nesne türünün toplam algılamaların yüzde kaçını oluşturduğunu gösterir. Her grafiğin kendine özgü bir kullanım alanı vardır ve karmaşık bilgisayarlı görü verilerinin yorumlanıp paylaşılmasını kolaylaştırır.

Şekil 2. Analitik grafik örnekleri.
Bilgisayarlı görü içgörüleri elde etmek için analitik grafikler oluşturma#
Veri görselleştirmenin ne olduğunu ve farklı analitik grafik türlerinin neden önemli olduğunu incelediğimize göre, bilgisayarlı görü model tahminlerinin sonuçlarını görselleştirmek için Ultralytics Analytics çözümünü nasıl kullanacağına daha yakından bakalım. Adım adım süreci ele almadan önce, Ultralytics paketini ve YOLO11 gibi modelleri eğitip kullanmaya yönelik araçlara ve kurulum seçeneklerine göz atalım.
Ultralytics Python paketi; modelleri eğitmeyi, nesneleri algılamayı, tahminler çalıştırmayı ve sonuçları görselleştirmeyi kolaylaştırır. Başlamak için bir kodlama ortamına ihtiyacın olacak. İşte üç basit seçenek:
-
Komut satırı arayüzü (CLI): Kodunu çalıştırmak için komutlar yazabildiğin, yalnızca metin tabanlı temel bir araçtır. Görsel bir arayüzü yoktur; terminale veya komut istemine talimatlar yazarak etkileşim kurarsın.
-
Jupyter Notebooks: Küçük kod parçalarını ("hücreler" olarak adlandırılır) teker teker yazabildiğin, çalıştırabildiğin ve test edebildiğin etkileşimli bir kodlama ortamıdır. Sonuçları her hücrenin hemen altında göstererek neler olduğunu adım adım anlamayı kolaylaştırır. Özellikle öğrenme ve denemeler için kullanışlıdır.
-
Google Colab: Web tarayıcında çalışan, Jupyter Notebooks'un ücretsiz ve bulut tabanlı bir sürümüdür. Bilgisayarında herhangi bir kurulum gerektirmez ve daha hızlı işlem için ücretsiz GPU'lara erişim sağlar.
Bu araçlar hızlı bir başlangıç yapmak için harikadır; ancak kullanıcılar Ultralytics'i Visual Studio Code (VS Code) gibi Tümleşik Geliştirme Ortamlarına (IDE'ler) veya üretim işlem hatlarına da entegre edebilir. Daha fazla seçenek için resmî Ultralytics belgelerini incele.
adım: Ortamı kurma#
Tercih ettiğin ortamı seçtikten sonra sıradaki adım, ortamı tahminleri çalıştıracak ve sonuçları görselleştirecek şekilde ayarlamaktır. Sana en rahat gelen seçeneğe göre yukarıda belirtilen ortamlardan herhangi birini kullanabilirsin.
Google Colab'da çalışıyorsan varsayılan olarak CPU kullandığını ve bunun performansı yavaşlatabileceğini unutma. İşlemleri hızlandırmak için "Runtime" menüsüne git, "Change runtime type" seçeneğini belirle ve donanım hızlandırıcıyı GPU olarak ayarla (ideal olarak T4).
Ortamını kullanıma hazır hâle getirmek için aşağıda belirtilen komutu kullanarak Ultralytics Python paketini yüklemen gerekir. Colab veya Jupyter gibi notebook tabanlı araçlarda komutun önüne ünlem işareti (!) eklemeyi unutma.
pip install ultralyticsAdım: Video dosyasını indirme#
Sırada üzerinde çalışacağımız bir videoya ihtiyacımız var. Pexels gibi ücretsiz bir stok sitesinden kolayca video indirebilirsin. Ultralytics YOLO11'in algılayabileceği nesneleri içeren bir video seçtiğinden emin ol. Model COCO veri kümesi üzerinde önceden eğitildiği için insan, araba ve bisiklet gibi yaygın nesneleri tanıyabilir.
Bu eğitimde yoğun bir havaalanı terminalindeki bagaj taşıma görüntüsünü kullanacağız. Aynı videoyu kullanabilir veya projen için uygun farklı bir video seçebilirsin.

Şekil 3. Bir havaalanı terminalinde bagaj taşımayı gösteren giriş videosundan bir kare.
Adım: Paketleri içe aktarma#
Sırada gerekli kütüphaneleri içe aktarabilir ve giriş videosunu yükleyebiliriz.
Bilgisayarlı görüde görüntü ve videolarla çalışmak için yaygın olarak kullanılan bir kütüphane olan OpenCV'yi (cv2) içe aktararak başlayacağız. Ayrıca videodan nesne algılaması yapmamıza ve analitik veriler oluşturmamıza yardımcı olan Ultralytics kütüphanesini de içe aktaracağız.
Ardından yolu belirterek video dosyasını açmayı deneyeceğiz. "path/to/video.mp4" ifadesini indirdiğin video dosyasının gerçek konumuyla değiştirdiğinden emin ol.
Ayrıca aşağıdaki kod parçacığında videonun doğru şekilde yüklenip yüklenmediğini kontrol eden basit bir denetim bulunur. Yol yanlışsa veya dosya bozuksa program durur ve şu hata mesajını gösterir: "Error reading video file."
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"Adım: Video yazıcısını hazırlama#
Ardından çıktıyı kaydetmek için bir video yazıcısı ayarlayacağız. Analitiği çalıştırdığımızda kodun bu bölümü, orijinal videonun her karesinden oluşturulan güncellenmiş grafikleri kaydeden yeni bir video dosyası oluşturur.
Aşağıdaki kod parçacığında önce giriş videosundan genişlik, yükseklik ve saniyedeki kare sayısı (fps) gibi temel özellikleri çıkarıyoruz. Bu değerler doğrudan videodan alınır ve çıktıyı yazmak için doğru biçimde olduklarından emin olmak amacıyla tam sayılara dönüştürülür.
Ardından cv2.VideoWriter işlevini kullanarak "analytics_output.avi" adlı yeni bir video dosyası oluşturuyoruz (gerektiğinde adını değiştirebilirsin). Video, yaygın bir video sıkıştırma yöntemi olan MJPG biçimi kullanılarak kaydedilir. Çıkış çözünürlüğü, orijinal videonun boyutundan bağımsız olarak 1280×720 piksele ayarlanır.
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
"analytics_output.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720),
)Adım: Ultralytics Analytics çözümünü ayarlama#
Şimdi videodan grafikler oluşturmak için Ultralytics Analytics çözümünü ayarlayacağız. Verilerin çizgi, pasta, alan veya çubuk grafik gibi nasıl görüntüleneceğini ve hangi YOLO modelinin kullanılacağını seçebilirsin. Bu örnekte hafif "yolo11n.pt" modelini kullanacak ve sonuçları alan grafiği olarak göstereceğiz.
analytics = solutions.Analytics(
show=True,
analytics_type="area",
model="yolo11n.pt",
)Adım: Giriş videosunu işleme#
Kodun son bölümü, videoyu her seferinde bir kare olacak şekilde işleyen bir döngü çalıştırır. Her kare, grafiği gerçek zamanlı olarak güncelleyen analitik aracına aktarılır. Güncellenen grafik daha sonra çıkış videosuna yazılır. Bir kare okunamazsa döngü durur. Tüm kareler işlendikten sonra video kaydedilir ve açık pencereler kapatılır.
frame_count = 0
while cap.isOpened():
success, im0 = cap.read()
if success:
frame_count += 1
results = analytics(im0, frame_count)
out.write(results.plot_im)
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()Adım: Her şeyi bir araya getirme#
Son olarak her şeyi bir araya getirelim. Yalnızca birkaç ek kod satırıyla iki çıkış videosu oluşturabiliriz: biri Ultralytics YOLO11'in sınırlayıcı kutular ve etiketlerle birlikte nesne algılama sonuçlarını, diğeri ise gerçek zamanlı analitik grafiklerini gösterir.
Bunu yapmak için iki VideoWriter örneği ayarlayacağız: biri tahmin videosunu, diğeri analitiği kaydetmek için. Kodun bu sürümünde hem nesne izleme hem de grafik oluşturma bulunur; böylece algılama sonuçlarını görsel içgörülerin yanında görebilirsin.
Tahmin ve analitik çıktılarının her ikisine ait örneklerle birlikte kapsamlı kod aşağıda yer alıyor.
import cv2
from ultralytics import YOLO, solutions
# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"
# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)
# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)
# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')
# Process frames
frame_count = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame_count += 1
pred_frame = model.track(frame, persist=True)[0].plot()
out_pred.write(pred_frame)
resized = cv2.resize(pred_frame, analytics_res)
out_ana.write(analytics(resized, frame_count).plot_im)
cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()Yukarıdaki kod başarıyla çalıştığında iki çıkış videosu oluşturur. “output_predictions.avi” dosyasında sınırlayıcı kutular ve etiketlerle birlikte nesne algılama sonuçları gösterilirken “output_analytics.avi” dosyasında algılamalara dayalı gerçek zamanlı analitik grafikleri görüntülenir.

Şekil 4. “output_predictions.avi” dosyasından bir kare.
Aşağıda tahminlere dayalı analitik çıktısından bir kare yer alıyor. Alan grafiğini kullanarak zaman içinde bavul sayılarındaki değişimler gibi içgörüler elde edebiliriz; örneğin 268. kare civarındaki artış, videonun o bölümünde bavul hareketi veya etkinliği olduğunu gösterir.

Şekil 5. Ultralytics YOLO11 tahminlerinin alan grafiği olarak görselleştirilmesi.
Gerçek dünyadaki bilgisayarlı görü uygulamalarında grafik kullanımı#
Aşağıda veri görselleştirmenin anlamlı bir etki yarattığı bazı gerçek dünya bilgisayarlı görü uygulamaları yer alıyor:
-
Sağlık hizmetleri: Bilgisayarlı görü sistemleri hasta hareketlerini, personel hareketlerini ve ekipman kullanımını gerçek zamanlı olarak izleyebilir. Bu, görselleştirildiğinde hasta yoğunluğunun en yüksek olduğu saatler veya müdahale gecikmeleri gibi kalıpları ortaya çıkarabilen büyük miktarda görsel veri oluşturur.
-
Perakende ve e-ticaret: Görü yapay zekâsı; müşteri hareketlerini, rafların önünde geçirilen süreyi ve ürün etkileşimlerini izlemek için kullanılabilir. Çubuk veya pasta grafikleri gibi görsel analitikler, hangi mağaza bölgelerinin veya ürünlerin en fazla ilgiyi çektiğini ortaya çıkararak perakendecilerin ürün yerleşimini optimize etmesine ve dönüşümleri artırmasına yardımcı olabilir.
-
Üretim: Bilgisayarlı görü modelleriyle donatılmış kameralar, montaj hatlarını kusurlar, güvenlik ihlalleri veya ekipman durumu açısından izleyebilir. Veri görselleştirme, en yaygın kusur türlerindeki eğilimleri gösterebilir veya hata oranlarının en yüksek olduğu dönemleri öne çıkarabilir; böylece daha hızlı karar alınmasını ve önleyici bakımı mümkün kılar.
Önemli çıkarımlar#
Ultralytics paketiyle video görüntülerini, zaman içinde kaç kişinin veya nesnenin göründüğünü izlemek gibi neler olduğunu ortaya koyan anlaşılır ve içgörülü grafiklere kolayca dönüştürebilirsin. Saatlerce süren videoyu elle incelemek yerine, temel kalıpları ve eğilimleri öne çıkaran görsel özetler oluşturarak hızlıca harekete geçmeyi kolaylaştırabilirsin. İster hastanelerde, ister perakende mağazalarında, ister üretim tesislerinde kullanılsın, bu grafikler karmaşık yapay zekâ çıktılarını herkesin anlayıp kullanabileceği içgörülere dönüştürür.
Yapay zekâ hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu incele, topluluğumuzla bağlantı kur ve bilgisayarlı görü projenizi başlatmak için lisanslama seçeneklerimize göz at. Çözümler sayfalarımızda üretimde yapay zekâ ve lojistik sektöründe bilgisayarlı görü gibi yenilikler hakkında daha fazla bilgi edinebilirsin.









