Görüntü ve Video Anlayışı İçin Vizyon Dil Modeli İstem Mühendisliği Rehberi

Görüntü Dil Modelleri (VLM’ler), hızla gelişiyor. 2020’de, ilk VLM’ler üretken yapay zeka alanında devrim yaratarak, büyük dil modellerine görsel anlayış getirdiler. Ancak bu ilk VLM’ler, yalnızca metin ve tek görüntü girdisini anlama kapasitesine sahipti.

Aradan geçen birkaç yıl içinde, VLM’ler artık birden fazla görüntü ve video girdisini anlayabiliyor ve görsel soru-cevap (VQA), başlıklandırma, arama ve özetleme gibi gelişmiş görsel-dil görevlerini yerine getirebiliyor.

A graph showing different techniques for improving VLM accuracy as data and compute scales up, including prompt engineering, prompt learning, PEFT, and fine-tuning.
Şekil 1. NVIDIA NeMo’daki model özelleştirme araçlarının seti

VLM doğruluğu, belirli kullanım durumları için prompt ve model ağırlıklarını ayarlayarak artırılabilir. Model ağırlıklarını ayarlamak, PEFT gibi verimli tekniklerle yapılabilir, ancak yine de yeterli veri ve hesaplama gücü gerektirir.

Ancak, prompt mühendisliği ve bağlamda öğrenme gibi yöntemler de çıktı kalitesini artırmak için kullanılabilir. Bu yöntem, modelin çalışma zamanı sırasında metin girdisini ayarlamak kadar basittir.

Bu yazı, VLM’lerin evrimini ve bir VLM’yi tek görüntü, çoklu görüntü ve video anlama kullanım durumları için nasıl etkili bir şekilde kullanabileceğinizi anlatmaktadır. VLM’ler ve görsel yapay zeka ajanları hakkında daha fazla bilgi için Görsel Analitik: AI Ajanları ile Video Analitiklerini Açma web seminerine kaydolun.

Tek Görüntü Anlama

Bir VLM, tek bir görüntüden öğeleri tanımlama, açıklama, sınıflandırma ve bu görüntü üzerinde akıl yürütme yeteneğine sahiptir. Bazı VLM’ler, belirli nesneler için sınır kutusu koordinatları sağlama ve görüntüdeki metni çevirme gibi gelişmiş yeteneklere sahiptir. Bu, bir görüntünün metinle sınıflandırılması veya başlıklandırılması gereken kullanım durumlarında en iyi şekilde çalışır.

Tek görüntü yeteneği, canlı yayınlarda temel olayların tespit edilmesinde de kullanılabilir. Bu, bir canlı yayından sırayla bir kare örnekleyerek ve VLM’ye neyi araması gerektiğini tanımlayan bir prompt ile sağlanabilir. Bu, tespit edilmesi gereken olayların büyük, belirgin ve yavaş hareket eden nesneler olduğu durumlarda özellikle iyi çalışır.

Ayrıca, VLM’den yanıtları yapılandırılmış bir formatta (örneğin JSON) çıkarması istenebilir, böylece yanıtlar kolayca ayrıştırılıp bir veritabanına veya bildirim hizmetine gönderilebilir.

Örneğin, Llama-3.2-90b-vision-instruct modeline aşağıdaki prompt ve görüntü (Şekil 2) sağlanmıştır.

Şekil 2. VLM için soru-cevap amacıyla kullanılan giriş görüntüsü

Prompt: Yangın söndürücüsü var mı? Yangın var mı? İtfaiyeciler var mı? Her bir soruya olan cevabı JSON formatında çıkartın.

VLM yanıtı:

[ { "soru": "Yangın söndürücüsü var mı?", "cevap": "Evet" },
  { "soru": "Yangın var mı?", "cevap": "Evet" },
  { "soru": "İtfaiyeciler var mı?", "cevap": "Evet" }
]

VLM, her bir soruya doğru yanıt vererek çıktısını yapılandırılmış bir biçimde sağlayabilmiştir.

Bu yöntem, VLM’nin video girdisi üzerinde işlem yapabilmesini sağlasa da, modeli yalnızca bir kareyi örnekleyerek kullanmak, zaman içinde olan hareketler veya eğilimleri belirlemesi için gereken zamansal anlayışı sınırlamaktadır. Bu, çoklu görüntü ve video VLM’leri ile geliştirilebilir.

Çoklu Görüntü Anlama

Pek çok VLM, birden fazla görüntüyü girdi olarak kabul edebilmekte, böylece modelin giriş görüntüleri arasında karşılaştırma ve öğrenme yapmasını sağlamaktadır.

VLM’ler genel olarak geniş bir yelpazede sıfırdan öğrenme yeteneğine sahiptir. Bununla beraber, VLM’lerden belirli bir alana özgü daha hassas yanıtlar almak için çalışıldığında, genellikle bütün bağlamın eksikliği nedeniyle zorlanmaktadırlar.

Bu durumu daha iyi anlamak için, bir VLM’ye ürünlerin stok seviyesini tahmin ettirdik. Bu, perakende alanında kritik bir kullanım durumudur çünkü stokların azalmasını önlemek için çalışanları otomatik olarak uyarabilir.

Bir masa görüntüsü (Şekil 3) sağlayarak, stoksuz kalmasını önlemek için bu masanın tam olarak dolu olduğunu varsaydık ve Cosmos Nemotron 34B modeline stok seviyesini tahmin etmesini istedik.

Şekil 3. Perakende stok seviyesinin tespiti için tek görüntü VLM girişi

Prompt: Atıştırmalık masasının stok seviyesini 0-100 arasında tahmin et.

VLM yanıtı:

Atıştırmalık masası iyi şekilde stoklanmış görünüyor. Çeşitli atıştırmalıklar ve ödüllerle dolmuş. Raflarda çeşitli nesneler, cips, kurabiyeler ve diğer atıştırmalıklar yer almakta. Masa düzgün bir şekilde düzenlenmiş görünüyor ve her öğe belirlenen bir yerde konumlandırılmış. Görseldeki görünümüne göre, stok seviyesini yaklaşık 80-90 olarak değerlendirdim, bu da masanın iyi stoklandığını ve bir kalabalığa hitap etmeye hazır olduğu anlamına geliyor.

Model, masanın 80-90% dolu olduğunu belirtmesine rağmen, insan gözüne oldukça düşük bir stok seviyesinin olduğu barizdir. Model, tek bir görüntüyü incelediğinde, dönemin neye benzer olduğunu bilmediği için bu durumu değerlendirmekte zorlanmıştır.

Cosmos Nemotron 34B çoklu görüntü yeteneği ile, modelin daha fazla bağlam sağlamasına imkan tanıyan tam dolu bir atıştırmalık masasının diğer bir görüntüsünü (Şekil 4) sağladık.

Şekil 4. Perakende stok seviyesinin tespiti için VLM’ye verilen bağlam öğrenme girişi

Prompt: İlk olarak iki görüntünün stok seviyelerini karşılaştırın ve her bir görüntü için stok seviyesini tahmin edin.

VLM yanıtı:

İlk görüntü, çeşitli atıştırmalıklarla dolu bir sergileme alanını gösterirken, ikinci görüntü daha az dolu bir sergiyi göstermektedir. Görsel karşılaştırmaya dayanarak, ilk görüntüyü yaklaşık olarak 80-90%, ikinci görüntüyü ise 20-30% dolu olarak tahmin ediyorum.

Model, ek görüntüyü referans olarak sağladığında ikinci görüntünün stok seviyesini %20-30 olarak tahmin edebilmiştir; bu da önceki tahminine göre çok daha doğru bir sonuçtur.

Çoklu görüntü girişi, kullanıcıların girdiğine bağlı olarak dinamik olarak örnek görüntülerin eklendiği daha karmaşık multimodal RAG tesislerinde de kullanılabilir. Çoklu görüntü VLM’leri, bir videodan bir dizi kare örnekleyerek temel video anlayışı için de kullanılabilir.

Bununla birlikte, çoklu görüntü girişi kabul eden birçok VLM, sınırlı bağlam penceresine (10-20 kare) sahip olup, video verileri üzerinde eğitim yapılmamış olabilir. Gerçek video girişlerini anlamak için, video odaklı veri kümesine ve geniş bir bağlam penceresine eğitilmiş bir VLM kullanılması önerilmektedir.

Video Anlama

En son VLM’ler, uzun bağlam uzunlukları, çerçeve sıkıştırma ve video eğitim verileri ile tam video anlama yeteneklerine sahiptir. Bu, VLM’lerin daha uzun videoları sindirmelerine ve zaman içinde hareketleri ve eğilimleri anlamalarına yardımcı olur.

İlk örnekte, bir canlı yayından bir kare kullanarak yangın tespit etmeye çalıştık; ancak bu yöntem, yangının büyüyüp küçüldüğünü anlamakta yetersiz kalmaktadır çünkü zamansal bağlamdan yoksundur.

Uzun bağlam ve video anlayışına sahip bir VLM, çok sayıda kareyi zaman aralığında işleyerek yangının büyüyüp büyümediğini anlamaktadır. Aşağıda, Cosmos Nemotron model ailesinden bazı örnekler verilmiştir.

İzlenen Görsel Anlama

İzlenen görsel anlayışa sahip VLM’ler, çerçeveleri ardışık bir sıralamada işleyerek zaman içinde eylemlerin ve olayların gelişimini yakalamayı sağlar. Multi-image modellerinin yalnızca sınırlı sayıda kareyi doğrudan işlediği durumun aksine, ardışık video modelleri, eylemlerin zamanla ilerleyişini izleyerek neden-sonuç ilişkilerini kurabilmektedir.

Bu, videodaki olayların neden-sonuç ilişkisini yakalamak istediğiniz durumlarda yardımcıdır; çünkü bu, eylemlerin zaman içinde ilerleyişini izleme imkanı sunar.

Aşağıdaki örnekler, bir çalışanın bir kutuyu bir deposunda düşürdüğü video üzerinden verilmiştir. Farklı prompt ve yanıtları inceleyelim.

Şekil 5. VLM’ye sahne anlayışı için girilen depo videosu

Prompt: Bu videoda ne oluyor?

VLM yanıtı:

Video, bir depo çalışanının sarı güvenlik yeleği ve kaskı ile çeşitli görevler gerçekleştirdiğini gösteriyor. Çalışan depoda yürüyüp kutuları taşıyor ve raf üniteleriyle etkileşimde bulunuyor. Depo, "C", "D", "E" ve "F" gibi etiketlere sahip yeşil metal raflarla doludur.

Çalışan, raflardan öğeleri düzenlemek veya almak amacıyla hareket ediyor gibi görünüyor. Bir noktada, yerde bir kutuyu almak için eğiliyor. Çalışanın hareketleri, görevine aktif bir şekilde katıldığını, belki de ürünleri sıralayarak veya stoklayarak iş için hazırlık yaptığını göstermektedir.

Depo ortamı, aydınlatmasının fluoresan ışıklarla yapıldığı iyi bir şekilde aydınlatılmıştır. Çalışanın güvenlik ekipmanları, reflektif yeleği ve kaskıyla birlikte, bu endüstriyel ortamda güvenlik protokollerine uyulduğunu göstermektedir.

Genel olarak, video bir depo çalışanının tipik bir gününü yakalamakta ve işin fiziksel doğasını ve depolama tesisinin düzenini sergilemektedir.

Model, çevre hakkında detaya sahip bir yanıt vermiş olsa da, çalışanın bir kutu düşürdüğünü doğru bir şekilde belirleyememiştir. Şimdi bu durumu doğrudan soralım.

Prompt: Çalışan herhangi bir kutu düşürdü mü?

VLM yanıtı:

Evet, çalışan bir kutu düşürdü. Videoda, çalışanın önünde yerde duran bir kutuyu görebiliyoruz. Bu, çalışanın onu taşırken kutuyu düşürdüğünü öne sürmektedir.

Bu durumda model, çalışanın kutuyu düşürmüş olabileceğini anlaşılmıştır. Bu durum, genel prompt‘ların tüm nüansları yakalamadığına işaret etmektedir; dolayısıyla, VLM’nin spesifik bir şeye odaklanmasını sağlamak önemlidir. Prompt‘u biraz daha değiştirelim.

Prompt: Bu depo videosunun görsel ve anlatısal unsurlarını detaylı bir şekilde açıklayın. Varsa tüm anormallikleri veya tehlikeleri vurgulayın.

VLM yanıtı:

Video, "C", "D", "E" ve "F" harfleri ile etiketlenmiş yüksek metal raflarıyla bir depoyu göstermektedir. Raflar, kutular ve paketler de dahil olmak üzere çeşitli nesnelerle doludur. Zemin beton olup, aydınlatma yapaydır; bu, tipik bir kapalı endüstriyel ortamdır. Bir yüksek görünürlükteki yelek ve hardhat giyen çalışanın raflar arasında yürüdüğü görülmektedir. Çalışan, bir karton kutu taşıyor ve daha sonra kutuyu yere düşürüyor.

Model, önemli detayları ve bir çalışanın kutuyu düşürmesi gibi olayları yakalayabilmiştir. Detaylı yanıtlar, daha sonra videoyla soru-cevap yapmanızı kolaylaştırır. Video anlama yeteneği olan VLM’ler, eylemlerin zaman içindeki yöneltilerini anlayabildiği için yönlendirilmiş soruları da yanıtlayabilir.

Prompt: Çalışan sahneye hangi yönden girdi?

VLM yanıtı:

Çalışan, sahneye sağ taraftan girdi.

Bununla birlikte, bu modeller genellikle kesin zamansal konumlandırmadan yoksundur, bu da belirli olayların ne zaman gerçekleştiğini tespit etme yetilerini sınırlamaktadır.

Prompt: Çalışan kutuyu ne zaman düşürdü?

VLM yanıtı:

Çalışan, kutuyu ikinci görüntüde düşürdü.

Zamansal Konumlandırma

Zamansal konumlandırma teknikleri kullanan VLM’ler, video anlayışını artırarak kritik olayların ne zaman ve nerede gerçekleştiğini açıkça öğrenir. Bu modeller, Zamansal Dikkat Mekanizmaları gibi dikkat mekanizmaları ekleyerek görsel ve metinsel modları daha etkili bir şekilde hizalarlar. Bu da videolardaki “ne zaman” sorularını daha iyi yanıtlamalarına yardımcı olur.

Prompt: Çalışan kutuyu ne zaman düşürdü?

VLM yanıtı:

0:04-0:06 Çalışan kutuyu 4. ve 6. saniyeler arasında düşürdü. Bu süre zarfında çalışanın kutuyu yere düşürdüğünü görebiliriz.

VLM’ler için en uygun prompt formatı, modelin mimarisine ve eğitim sırasında kullanılan açıklama çiftlerinin doğasına bağlıdır. Farklı eğitim veri setleri, bir VLM’nin prompt‘a nasıl yanıt vereceğini etkiler.

Sonuç

Bu yazıda VLM’lerin ilk olarak yalnızca tek görüntü girişi desteklemesinden uzun video girişlerinde karmaşık zaman akışı mantığına kadar evrimini inceledik. VLM’lerle başlamak için build.nvidia.com adresini ziyaret ederek yazıda gösterilen bazı prompt‘ları deneyebilirsiniz. Teknik sorularınız için Görsel AI Ajanı forumuna göz atabilirsiniz.

VLM’ler, çeşitli görsel yapay zeka ajanları inşa etmek için kullanılabilir. /NVIDIA/metropolis-nim-workflows GitHub deposundaki örnek görsel AI iş akışlarından birini keşfedin. Video analitiği AI ajanı inşa etmek için video arama ve özetleme için AI mimarisini deneyin.

VLM’ler ve görsel AI ajanları hakkında daha fazla bilgi için Görsel Analitik: AI Ajanları ile Video Analitiklerini Açma web seminerine kaydolun.

Büyük dil modellerinin prompt mühendisliğine dair daha fazla bilgi için Büyük Dil Modellerine Giriş: Prompt Mühendisliği ve P-Tuning adlı yazıya göz atın.

Kaynak

Nvdia Blog

Exit mobile version