← Back to list

Kamera ile Stok Tespiti: Gerçek Dünyaya Genellenebilen Bir Computer Vision Uygulaması

Market dolabında hangi ürünün eksik olduğunu anlamak… Kulağa basit geliyor değil mi? Ama kamera görüntülerinden binlerce farklı ürünü doğru…

Deniz Sağmanlı in Türkiye İş Bankası Veri Analitiği ve Yapay Zeka Bölümü · 2025-11-17 13:37 · 0 claps · 7.5 min read
#computer-vision #vision-transformer #densenet #deep-learning #ai
Open on Medium ↗
Wiki topics: MM · Multimodal & Generative Media ML · Machine Learning AI · AI · General ECO · Economy · General EDU · Education & Learning

Kamera ile Stok Tespiti: Gerçek Dünyaya Genellenebilen Bir Computer Vision Uygulaması

Market dolabında hangi ürünün eksik olduğunu anlamak… Kulağa basit geliyor değil mi? Ama kamera görüntülerinden binlerce farklı ürünü doğru şekilde tespit etmek, computer vision dünyasında hâlâ oldukça zor bir problem.

Bu yazıda, yüksek doğruluklu ürün tespiti modellerinin neden genellikle yeni bir dolap modelinde veya yeni bir kamera açısında başarısız olduğunu ve bu soruna karşı geliştirdiğim genelleştirilebilir stok tespiti yaklaşımını anlatacağım.

Neden Zor? — Gerçek Dünyanın Değişkenliği

Computer vision modelleri uzun süredir üretimden sağlığa birçok sektörde kullanılıyor. Ancak perakende sektörü, bu teknolojilerin gerçek hayata genellenmesi açısından en zorlu alanlardan biri. Çünkü laboratuvar ortamında mükemmel çalışan bir model, markette bambaşka bir tabloyla karşılaşıyor.

Bir düşünün:

· Dolaplardaki ürünler bazen yamuk diziliyor,

· Işık bazen çok parlak, bazen loş,

· Ambalajlar farklı baskılarla güncelleniyor,

· Kamera açıları marketten markete değişiyor.

· Yeni dolap ve kamera modelleri kullanılmaya başlanıyor.

İki farklı kamera açısıyla çekilmiş iki farklı dolap modeli (temsili olarak yapay zeka ile üretildi).

İki farklı kamera açısıyla çekilmiş iki farklı dolap modeli (temsili olarak yapay zeka ile üretildi).

Bu çeşitlilik, modelin daha önce gördüğü hiçbir örneğe benzemeyen senaryolar yaratıyor. Sonuç olarak, eğitim verisinde mükemmel performans gösteren model, yeni bir ortamda adeta “şaşırıyor”.

Literatürde bu duruma domain shift (alan kayması) deniyor (Torralba & Efros, 2011). Bu problem, özellikle perakende gibi çok değişken ortamlarda, makine öğrenmesi ve derin öğrenme modellerinin en büyük düşmanlarından biri.

Benim amacım, bu alan kaymalarına rağmen performansını koruyan ve minimum veri ile yeniden eğitilebilen, yani gerçekten genelleştirebilen bir model geliştirmekti.

Çalışmamın cevaplamaya çalıştığı soru ise şu:

“Bir modeli, yalnızca kendi verisiyle değil; yeni, görülmemiş dolaplarda ve kameralarda da güvenilir biçimde çalışacak şekilde minimum veri ile eğitebilir miyiz?”

Farklı Bir Bakış: “Bir Model, İki Zeka”

Klasik derin öğrenme modelleri genellikle tek bir mimariye dayanır. Ama tek bir modelin hem düşük seviyeli görsel detayları (örneğin etiket üzerindeki yazı) hem de yüksek seviyeli bağlamı (örneğin ürünlerin raf içindeki konumu) aynı anda öğrenmesi kolay değildir.

Bu yüzden iki farklı mimariyi bir araya getirdim:

· DenseNet-201 — detaylarda güçlü,

· Vision Transformer (ViT-B/8) — sahneyi kavramada güçlü.

DenseNet-201: Görsel detayların ustası

DenseNet, klasik CNN mimarilerinin evrimleşmiş hâlidir (Huang et al., 2017). Katmanlar arasında “yoğun bağlantılar” kurarak, bir önceki katmandan gelen bilgiyi kaybetmeden yeni özellikler üretir. Bu, modelin kenar, doku, renk gibi mikro desenleri daha net öğrenmesini sağlar.

Vision Transformer (ViT-B/8): Bağlamı anlayan model

ViT ise görseli küçük parçalara (patch’lere) ayırır ve bu parçalar arasındaki ilişkileri “self-attention” mekanizmasıyla öğrenir (Dosovitskiy et al., 2021). Yani sadece bir ürünün kendisine değil, etrafındaki diğer ürünlerle nasıl konumlandığına da dikkat eder.

Bu iki modeli ensemble yapısında birleştirdim. DenseNet detayları okurken, ViT sahnenin mantığını çözüyor; sonuçta iki farklı perspektif tek bir tahminde birleşiyor. Biri “yakın gözlükle”, diğeri “geniş açıyla” bakıyor gibi düşünebilirsiniz.

Model Mimarisi

Model Mimarisi

Veriyle Savaş: Az Ama Etkili

Gerçek market görüntüleriyle çalışmak, teorik veri kümelerine benzemez. Ürünlerin bazıları yüzlerce kez fotoğraflanmışken, bazıları sadece birkaç kez görülmüştür. Bazı ürünler net görünür, bazıları gölgede kalır. Yani veri dengesiz, gürültülü ve kısıtlıdır.

Böyle durumlarda modelin iyi öğrenmesi için sadece çok sayıda görüntüye değil, çeşitliliğe ihtiyaç vardır.

Bu yüzden klasik data augmentation tekniklerini kullandım:

· Görüntü döndürme ve yansıtma (rotation, flip)

· Renk, kontrast ve doygunluk değiştirme

· Rastgele kesme ve yakınlaştırma (random crop & zoom)

Ama bu sadece görsel çeşitlilik yaratmak içindi. Daha da önemlisi, modelin ışık değişimlerine, kamera açısına ve ürün dizilimlerine karşı dayanıklılığını artırmaktı.

Transfer Learning: Başkasının Tecrübesinden Faydalanmak

Sıfırdan bir derin öğrenme modeli eğitmek binlerce saat GPU zamanı ister. Benim yaklaşımımda bu kadar büyük bir kaynak gerekmeden yüksek performans elde etmek mümkündü. Çünkü DenseNet ve ViT zaten büyük veri setlerinde (ImageNet gibi) eğitilmiş modellerdi.

Transfer learning yaklaşımıyla, bu modellerin son katmanlarını yeniden eğiterek, onları raf görüntülerine “uyumlandırdım”. Yani, bir nevi “evrensel görsel bilgiyi” perakende dünyasına adapte ettim (Yosinski et al., 2014).

Bu yöntem, küçük veriyle büyük fark yaratmanın en etkili yollarından biri.

Deneysel Süreç:

Modelin eğitim süreci iki aşamadan oluşuyordu:

  1. Her iki model (DenseNet-201 ve ViT-B/8) ayrı ayrı eğitildi.
  2. Daha sonra, iki modelin tahminleri soft voting yöntemiyle birleştirildi.

Bu yaklaşımın amacı, DenseNet’in detay yakalama gücüyle ViT’in genel sahne anlayışını tek bir çatı altında birleştirmekti.

  1. Aşama: Ayrı Modellerin Eğitimi

DenseNet-201, katmanları arasında yoğun bağlantılar (dense connections) kurarak bilgiyi kaybetmeden ileri taşıyan bir CNN mimarisidir. Bu yapı, özellikle ürün ambalajı, etiket ve renk desenleri gibi düşük seviyeli görsel özellikleri tanımada oldukça başarılıdır.

Vision Transformer (ViT-B/8) ise görüntüyü küçük parçalara (patch) bölerek işler ve bu parçalar arasındaki ilişkileri “attention” mekanizmasıyla öğrenir. Bu sayede, rafın/dolabın tamamındaki düzeni, ürünlerin birbirine olan konumlarını ve sahnenin bağlamını daha iyi yakalayabilir.

Her iki model de önceden ImageNet üzerinde eğitilmiş ağırlıklarla başlatıldı. Böylece temel görsel bilgileri zaten bilen modeller, dolap görüntülerine uyum sağlamak için son katmanlarında tekrar eğitildi. Bu süreçte, DenseNet daha çok mikro desenlere, ViT ise genel yapıya odaklanarak birbirini tamamlayan iki farklı “bakış açısı” geliştirdi.

  1. Aşama: Özelliklerin ve Tahminlerin Birleştirilmesi

Eğitim tamamlandıktan sonra modellerin çıktıları paralel olarak birleştirildi. Burada iki düzeyde entegrasyon yapıldı:

· Özellik düzeyinde (feature fusion): Her iki modelin son katmanlarından alınan özellik temsilleri birleştirildi (concatenation). Böylece, DenseNet’in detay odaklı bakışı ile ViT’in bağlam anlayışı aynı uzayda buluştu.

· Karar düzeyinde (soft voting): Her iki modelin tahmin ettiği sınıf olasılıkları alınarak ortalaması alındı. Bu yöntem, iki modelin “fikirlerini birleştirerek” daha dengeli kararlar vermesini sağladı. Örneğin DenseNet’in emin olduğu bir sınıfta ViT kararsız kaldığında, sistem genel kararı DenseNet yönünde verdi — tersi durumlarda da aynı şekilde denge kuruldu.

Bu sayede model, tek bir mimarinin zayıflıklarına bağlı kalmadan iki farklı bakış açısını bir araya getiren daha sağlam bir yapı haline geldi.

Baz model ile aynı kamerayı kullanıp, yeni bir dolap modelinde stok tespiti yapılınca çıkan sonuçlar.

Baz model ile aynı kamerayı kullanıp, yeni bir dolap modelinde stok tespiti yapılınca çıkan sonuçlar.

  1. Aşama: Değerlendirme ve Gerçek Dünya Testi

Bu aşamaların sayesinde baz modeli elde etmiş olduk. Daha sonra ise yeni bir dolap modeli ya da kamera senaryosu geldiğinde, aynı modeli yeni senaryonun sınıf başına sadece iki resmiyle fine-tune ettiğimizde, o kamera/dolap modeli senaryosuna genellenebilen modeli elde etmiş oluyoruz.

Birleştirilmiş modelin yeni bir dolap veya kameraya genelleştirilme süreci.

Birleştirilmiş modelin yeni bir dolap veya kameraya genelleştirilme süreci.

Son aşamada model, sadece eğitim verisinde değil, fine-tune edildiği yeni senaryoya benzer görüntülerden oluşan ayrı bir test setinde değerlendirildi. Bu test seti, modelin “ezber mi yaptı, yoksa gerçekten genelleyebiliyor mu?” sorusuna yanıt vermek için hazırlandı.

Değerlendirme metrikleri olarak RMSE ve Accuracy kullanıldı.

Genelleştirme yapıldıktan sonra oluşan modelin günümüzde kullanılan few-shot yaklaşımlarıyla accuracy kıyaslaması.

Genelleştirme yapıldıktan sonra oluşan modelin günümüzde kullanılan few-shot yaklaşımlarıyla accuracy kıyaslaması.

Sonuç olarak, DenseNet detaylarda, ViT ise sahne bütünlüğünde öne çıktı. Ancak iki modelin birlikte çalıştığı ensemble yapı, hem mikro hem makro düzeyde en dengeli ve en yüksek performansı sağladı. Soft voting yöntemi, modelin kararlarını “çoğunluk görüşüyle” şekillendirerek sistemin genelleme gücünü artırdı.

Sonuçlar: Gerçek Dünyada Sınav

Sonuçlar umut vericiydi. DenseNet tek başına %93 doğruluk sağlarken, ViT %91 doğrulukta kaldı. Ama her ikisi de yeni mağazalarda %78–80 seviyelerine geriledi. Ensemble model ise %88 doğruluk seviyesinde kalarak farkını ortaya koydu.

Yani model artık sadece gördüğü rafları değil, görmediği mağazaları da anlamaya başlamıştı.

Aydınlatma farkları, ürün karışıklıkları, kamera açıları… Hiçbiri modeli kolay kolay şaşırtmıyordu.

Derinlemesine Analiz: Neden Bu Kadar İyi Çalıştı?

DenseNet detayları çok iyi yakalıyor, ancak sahnenin bütünlüğünü kavrayamıyor. ViT ise sahnenin genel yapısını anlıyor ama küçük farkları kaçırabiliyor. Bu iki mimarinin birleşimi, hem “mikro hem makro düzeyde” bilgi sağlamış oldu.

Bu hibrit yaklaşım, sadece performans artışı değil, aynı zamanda daha dengeli bir karar mekanizması sağladı. ViT’in attention mekanizması, DenseNet’in lokal özelliklerini destekledi. Sonuç: hata payı düşük, genelleme kabiliyeti yüksek bir model.

Bu, literatürde de gözlemlenen bir eğilim: Transformer’lar bağlamsal anlamı öğrenmede mükemmelken, CNN’ler detaylı doku ve şekil farklarını yakalamada hâlâ güçlü (Touvron et al., 2022).

Zorluklar ve Öğrenilen Dersler

Tabii ki her şey sorunsuz değildi. Gerçek dolap görüntülerinde modelin zorlandığı bazı durumlar vardı:

· Benzer ambalajlı ürünler (örneğin aynı markanın farklı aromaları),

· Barkod yansımaları ve parlama,

· Ürünlerin kısmen görünmesi,

· Kamera bulanıklığı.

Bu tür durumlarda modelin kararsız kaldığı gözlendi. Özellikle benzer görünümlü ürünlerde hata yapma olasılığı arttı. Bu da “fine-grained classification” (birbirine çok benzeyen alt sınıfları ayırt etme) problemini gündeme getiriyor (Sun et al., 2018).

Gelecekte bu hataları azaltmak için attention map görselleştirmeleriyle modelin hangi bölgelere odaklandığını analiz etmek, yanlış odaklanmaları düzeltmek mümkün olabilir.

Gerçek Dünya Uygulamaları

Bu sistemin sadece süpermarket raflarında değil, birçok alanda kullanılabileceğini gördük:

· Eczane raf kontrolü: ilaç eksikliklerinin otomatik tespiti,

· Depo stok takibi: kamera üzerinden ürün sayımı,

· Üretim hattı kalite kontrolü: eksik veya hatalı ürünlerin anında algılanması,

· Perakende analitiği: hangi rafın daha çok ilgi gördüğünü analiz etme.

Gelecekte bu tür sistemler gerçek zamanlı çalışacak hale geldiğinde, kamera akışından gelen görüntüler anında analiz edilip eksik ürünler belirlenebilecek. Bu sayede, stok bitmeden yeniden doldurma süreçleri otomatikleşebilecek.

Ayrıca bu tür sistemler, müşteri davranışı analizi için de önemli fırsatlar sunuyor. Kamera verilerinden raf önü etkileşimleri takip edilerek, hangi ürünlerin dikkat çektiği ölçülebilir (Zhang et al., 2022).

Gelecekte Yapılabilecekler:

Bu projede edindiğim en önemli içgörü şu oldu:

Bir modelin gücü, yalnızca öğrendiği veriden değil, hiç görmediği veriye verdiği tepkiden anlaşılır.

Gelecek çalışmalarda birkaç yön öne çıkıyor:

  1. Domain Adaptation: Modelin farklı mağazalardaki veriye otomatik uyum sağlaması. Böylece her yeni mağaza için baştan eğitim gerekmeyecek.

  2. Self-Supervised Learning: Etiketlenmemiş görüntülerden kendi kendine öğrenen sistemler. Bu yaklaşım, veri etiketleme maliyetini ciddi şekilde düşürebilir.

  3. Active Learning: Modelin kararsız kaldığı örnekleri insan uzmana gösterip birlikte öğrenmesi. Böylece model kendi eksiklerini fark edip geliştirebilir.

Bu adımlar, modelin sadece perakendede değil, farklı sektörlerde de genelleştirilebilir hale gelmesini sağlayabilir.

Sonuç

Yoğun dolapların karmaşasında ürünleri otomatik tanımak, sadece bir görüntü işleme problemi değil; genelleme, adaptasyon ve dayanıklılık problemlerinin birleştiği bir alan.

Bu çalışma, sınırlı veriyle bile, doğru mimari kombinasyonları ve stratejik eğitim süreçleriyle, gerçek dünyaya hazır computer vision sistemleri geliştirmenin mümkün olduğunu gösterdi.

DenseNet-201 ve ViT-B/8’in birleşimi, transfer learning ve veri artırma ile desteklendiğinde, model sadece “öğrenen” değil, “anlayan” bir yapıya dönüştü.

“Bir model, yalnızca gördüklerini değil, görmediklerini de anlayabiliyorsa, gerçekten öğrenmiştir.”

Deniz Sağmanlı Data Scientist

📚 Kaynakça: Bu yazı, “A Generalisation Approach to Stock Detection Using Computer Vision” başlıklı yüksek lisans tezimden ve “Generalising Stock Detection in Retail Cabinets with Minimal Data Using a DenseNet and Vision Transformer Ensemble” adlı makalemden derlenmiştir. Ayrıca aşağıdaki kaynaklardan yararlanılmıştır:

· Dosovitskiy, A. et al. (2021). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.

· Huang, G. et al. (2017). Densely Connected Convolutional Networks. CVPR.

· Sun, Q. et al. (2018). Fine-Grained Visual Classification via Deep Learning. IEEE TPAMI.

· Torralba, A. & Efros, A. (2011). Unbiased Look at Dataset Bias. CVPR.

· Touvron, H. et al. (2022). ResMLP: Feedforward Networks for Image Classification with Data-Efficient Training.

· Yosinski, J. et al. (2014). Transferable Features in Deep Neural Networks. NeurIPS.

· Zhang, X. et al. (2022). Retail Visual Analytics: Opportunities and Challenges.


메타데이터
post_id
2c3bcd5ee5f4
slug
kamera-ile-stok-tespiti-gerçek-dünyaya-genellenebilen-bir-computer-vision-uygulaması-2c3bcd5ee5f4
url
https://medium.com/isbank-ai/kamera-ile-stok-tespiti-ger%C3%A7ek-d%C3%BCnyaya-genellenebilen-bir-computer-vision-uygulamas%C4%B1-2c3bcd5ee5f4
canonical_url
https://medium.com/isbank-ai/kamera-ile-stok-tespiti-ger%C3%A7ek-d%C3%BCnyaya-genellenebilen-bir-computer-vision-uygulamas%C4%B1-2c3bcd5ee5f4
author_url
https://medium.com/@dsagmanli1
status
ok
fetched_at
2026-07-26 21:14:45