Perakende sektöründe envanter yönetimi, raf düzeni optimizasyonu ve müşteri davranış analizi gibi operasyonel süreçler, geleneksel yöntemlerle oldukça zaman alıcı ve hataya açık olabilir. Bu makale, yapay zeka ve bilgisayar görüşünün gücünü kullanarak bu zorlukları aşmanın modern bir yolunu sunuyor: DigitalOcean GPU’ları üzerinde YOLO26 ile perakende nesne tespiti. Okuyucular, bu ileri teknolojinin temel prensiplerinden, pratik uygulama adımlarına kadar her şeyi öğrenerek kendi çözümlerini geliştirebilecekler.
Perakende Sektöründe Nesne Tespiti Neden Bu Kadar Önemli Hale Geldi?
Günümüz rekabetçi perakende dünyasında, verimlilik ve doğruluk, işletmelerin ayakta kalması ve büyümesi için hayati önem taşımaktadır. Market raflarındaki ürünlerin manuel olarak sayılması, stok durumunun anlık takibi, son kullanma tarihi geçmiş ürünlerin tespiti veya müşterilerin mağaza içi hareketlerinin analizi gibi görevler, insan gücüyle yapıldığında hem maliyetli hem de hataya açıktır. Bu süreçlerdeki aksaklıklar, kayıp satışlara, müşteri memnuniyetsizliğine ve operasyonel israfa yol açabilir. İşte tam da bu noktada, yapay zeka destekli nesne tespiti teknolojileri, perakende sektörüne devrim niteliğinde çözümler sunmaktadır.
Nesne tespiti, bilgisayar görüşünün bir alt dalıdır ve bir görüntü veya video içindeki belirli nesnelerin konumunu (sınır kutuları ile) ve sınıfını (etiketini) belirlemeyi amaçlar. Perakende bağlamında bu, bir raftaki belirli bir ürünün (örneğin, “kola şişesi” veya “cips paketi”) nerede olduğunu ve kaç tane olduğunu otomatik olarak anlamak anlamına gelir. Bu yetenek, envanter doğruluğunu artırarak stok fazlasını veya eksikliğini önler, raf düzenini optimize ederek ürünlerin her zaman erişilebilir olmasını sağlar ve hatta müşteri davranışlarını analiz ederek mağaza içi deneyimi kişiselleştirmek için değerli içgörüler sunar.
Yapay zeka modellerinin hızla gelişmesiyle birlikte, özellikle YOLO (You Only Look Once) gibi gerçek zamanlı nesne tespit algoritmaları, bu tür uygulamalar için ideal hale gelmiştir. YOLO’nun daha yeni ve gelişmiş bir versiyonu olan YOLO26 (varsayımsal olarak en güncel sürüm), daha yüksek doğruluk ve daha hızlı çıkarım yetenekleri sunarak perakende operasyonlarını daha da ileriye taşımaktadır. Ancak bu tür gelişmiş modellerin eğitimi, yoğun hesaplama gücü gerektirir. Bu noktada, bulut tabanlı GPU hizmetleri, özellikle DigitalOcean’ın sunduğu uygun maliyetli ve erişilebilir GPU dropletleri, işletmeler için cazip bir seçenek haline gelmektedir. DigitalOcean GPU’ları, model eğitim sürecini hızlandırarak, perakendecilerin yenilikçi çözümlerini daha hızlı bir şekilde hayata geçirmelerine olanak tanır. Bu makale boyunca, YOLO26’yı DigitalOcean GPU’ları üzerinde perakende nesne tespiti için nasıl eğiteceğinizi adım adım keşfedeceğiz, böylece siz de mağaza operasyonlarınızı optimize edebilir ve rekabet avantajı elde edebilirsiniz.
YOLO26 ve Nesne Tespiti Temelleri: Perakende İçin Ne Anlama Geliyor?
Nesne tespiti, bir görüntünün veya videonun neresinde ne olduğunu anlamakla ilgilenen bir bilgisayar görüşü görevidir. Bu, sadece bir nesnenin varlığını belirtmekle kalmaz, aynı zamanda o nesnenin görüntü içindeki tam konumunu (genellikle bir sınırlayıcı kutu ile) ve hangi sınıfa ait olduğunu (örneğin, “kola”, “cips”, “ekmek”) da belirler. Perakende sektöründe bu yetenek, manuel süreçleri otomatikleştirmek ve operasyonel verimliliği artırmak için kritik öneme sahiptir.
Geleneksel nesne tespiti yaklaşımları genellikle iki aşamalıydı: önce potansiyel nesne bölgeleri önerilir, sonra bu bölgelerdeki nesneler sınıflandırılırdı. Bu yöntemler doğru sonuçlar verse de, genellikle yavaştı ve gerçek zamanlı uygulamalar için uygun değildi. İşte bu noktada YOLO (You Only Look Once) devrim yarattı. YOLO, tek bir sinir ağı kullanarak hem nesne sınıflandırmasını hem de konumlandırmasını aynı anda gerçekleştirir. Bu “tek seferde bak” yaklaşımı, onu inanılmaz derecede hızlı yapar ve kameralardan gelen canlı yayınlar gibi gerçek zamanlı senaryolarda dahi yüksek performans sergilemesini sağlar. YOLO’nun sonraki versiyonları (YOLOv3, YOLOv4, YOLOv5, YOLOv8 vb.) performans ve doğrulukta sürekli iyileştirmeler getirmiştir. YOLO26, bu evrimin en yeni halkası olarak, önceki versiyonların güçlü yanlarını daha da ileriye taşıyan, daha verimli bir mimari ve geliştirilmiş öğrenme algoritmaları sunan varsayımsal bir modeldir. Bu, perakende ortamlarında daha küçük veya daha zorlu nesneleri bile daha doğru bir şekilde tespit edebileceği anlamına gelir.
Peki, YOLO26 perakende için tam olarak ne anlama geliyor? Öncelikle, otomatik envanter yönetimi sağlar. Raflardaki ürünlerin sayısını sürekli olarak izleyebilir, stok seviyelerini güncelleyebilir ve belirli bir ürünün stokta azaldığını veya bittiğini otomatik olarak belirleyebilir. İkinci olarak, raf düzeni optimizasyonunda kilit bir rol oynar. Ürünlerin doğru yerleşimde olup olmadığını, raf boşluklarını veya yanlış yerleştirilmiş ürünleri tespit edebilir. Bu, mağazanın görsel çekiciliğini artırır ve müşterilerin aradıkları ürünleri daha kolay bulmalarına yardımcı olur. Üçüncü olarak, müşteri davranış analizi için zemin hazırlar. Müşterilerin hangi ürünlere daha çok baktığını, hangi reyonlarda daha fazla zaman geçirdiğini veya belirli bir ürünü alıp almadığını anonim olarak izleyerek, mağaza düzenini ve pazarlama stratejilerini optimize etmek için değerli veriler sunar. Son olarak, kasa otomasyonu ve hızlı ödeme sistemlerinde kullanılabilir. Müşterilerin sepetlerindeki ürünleri otomatik olarak tanıyarak, ödeme sürecini hızlandırabilir ve insan hatasını minimize edebilir. Bu sayede, kuyruk süreleri azalır ve müşteri deneyimi önemli ölçüde iyileşir. YOLO26 gibi gelişmiş bir modelin bu yetenekleri, perakendecilere sadece maliyet tasarrufu sağlamakla kalmaz, aynı zamanda rekabet avantajı elde etmelerine ve daha verimli, müşteri odaklı bir işletme modeli oluşturmalarına yardımcı olur. Tüm bu uygulamaların temelinde, modelin doğru ve güncel bir veri seti üzerinde etkili bir şekilde eğitilmesi yatmaktadır.
DigitalOcean GPU Dropletleri: Neden Doğru Seçim?
Yapay zeka modelleri, özellikle de derin öğrenme tabanlı nesne tespit modelleri, eğitim süreçlerinde muazzam bir hesaplama gücü gerektirir. Bu modellerin binlerce veya milyonlarca görüntü üzerinde öğrenmesi gerektiği düşünüldüğünde, CPU’lar bu iş yükünü kaldırmakta yetersiz kalır. İşte bu noktada Grafik İşlem Birimleri (GPU’lar) devreye girer. GPU’lar, paralel işleme yetenekleri sayesinde, derin öğrenme algoritmalarının gerektirdiği matris çarpımı ve diğer matematiksel işlemleri CPU’lara kıyasla kat kat daha hızlı gerçekleştirebilirler. Ancak, yüksek performanslı GPU donanımına yatırım yapmak, özellikle küçük ve orta ölçekli işletmeler için önemli bir maliyet kalemi olabilir.
Bulut bilişim, bu soruna esnek ve maliyet etkin bir çözüm sunar. DigitalOcean, geliştiricilere ve işletmelere yönelik basitliği ve uygun fiyatlandırmasıyla öne çıkan bir bulut sağlayıcısıdır. Son zamanlarda kullanıma sunduğu GPU dropletleri ise, yapay zeka ve makine öğrenimi projeleri için güçlü bir platform sağlamaktadır. Peki, DigitalOcean GPU dropletleri neden YOLO26 ile perakende nesne tespiti eğitimi için doğru seçimdir?
Öncelikle, erişilebilirlik ve kullanım kolaylığı DigitalOcean’ın en büyük avantajlarından biridir. Karmaşık bulut arayüzleri ve jargon yerine, sade ve anlaşılır bir kontrol paneli sunar. Bir GPU dropletini birkaç tıklamayla oluşturabilir, işletim sistemini (genellikle Ubuntu) seçebilir ve gerekli yazılımları kolayca kurabilirsiniz. Bu, özellikle bulut bilişime yeni başlayan veya hızlı bir şekilde prototip geliştirmek isteyen ekipler için büyük bir kolaylık sağlar.
İkinci olarak, maliyet etkinliği DigitalOcean’ı cazip kılar. Diğer bazı büyük bulut sağlayıcılarına kıyasla daha rekabetçi fiyatlandırma modelleri sunar. GPU dropletleri, saatlik bazda ücretlendirildiğinden, sadece kullandığınız kadar ödersiniz. Bu, model eğitimi gibi yoğun ancak aralıklı iş yükleri için idealdir. Yüksek performanslı bir GPU’ya kalıcı olarak yatırım yapmak yerine, projenizin ihtiyaç duyduğu süre boyunca bulutta kiralayabilirsiniz.
Üçüncü olarak, yüksek performanslı donanım sunar. DigitalOcean GPU dropletleri, genellikle NVIDIA’nın güçlü GPU’larını (örneğin, NVIDIA A100 veya V100 gibi seriler) içerir. Bu GPU’lar, derin öğrenme eğitimini hızlandırmak için özel olarak tasarlanmıştır ve YOLO26 gibi modellerin karmaşık hesaplamalarını çok daha kısa sürede tamamlamasını sağlar. Bu sayede, daha fazla deneme yapabilir, farklı hiperparametreleri test edebilir ve modelinizin performansını daha hızlı bir şekilde optimize edebilirsiniz.
Son olarak, ölçeklenebilirlik DigitalOcean’ın sunduğu önemli bir avantajdır. Projeniz büyüdükçe veya daha fazla hesaplama gücüne ihtiyaç duyduğunuzda, dropletinizi kolayca yükseltebilir veya birden fazla GPU dropletini bir araya getirerek dağıtılmış eğitim yapabilirsiniz. Bu esneklik, perakende sektöründeki dinamik ihtiyaçlara hızla uyum sağlamanıza olanak tanır. Tüm bu faktörler bir araya geldiğinde, DigitalOcean GPU dropletleri, YOLO26 ile perakende nesne tespiti projeleri için güçlü, uygun maliyetli ve kullanımı kolay bir platform sunarak, geliştiricilerin ve işletmelerin inovasyon yapmasının önünü açar.
Perakende Veri Seti Hazırlığı ve Etiketleme Süreci Nasıl İşler?
Yapay zeka modelinin başarısı, büyük ölçüde eğitildiği veri setinin kalitesine ve çeşitliliğine bağlıdır. YOLO26 gibi bir nesne tespit modelini perakende ürünlerini tanımak üzere eğitmek için, modelin öğrenmesi gereken her bir ürünün farklı açılardan, farklı aydınlatma koşullarında ve farklı arka planlarda çekilmiş çok sayıda görüntüsüne ihtiyacımız vardır. Bu süreç, veri toplama, etiketleme ve veri setini düzenleme aşamalarını içerir.
İlk adım, veri toplamadır. Perakende senaryosu için bu, genellikle mağaza içi kameralardan alınan görüntüler, ürün kataloglarından veya e-ticaret sitelerinden elde edilen fotoğraflar anlamına gelir. Çeşitlilik çok önemlidir; ürünler raflarda farklı şekillerde (dik, yan yatmış, kısmen kapalı), farklı miktarlarda ve farklı ürünlerle birlikte görünebilir. Mümkünse, günün farklı saatlerinde (farklı ışıklandırma) ve farklı mağazalardan (farklı raf düzenleri) görüntüler toplamak, modelin genelleme yeteneğini artıracaktır. Her bir ürün sınıfı için (örneğin, “kola”, “cips”, “su”) yeterli sayıda örnek olduğundan emin olunmalıdır; genellikle her sınıf için en az birkaç yüz, tercihen binlerce görüntü önerilir.
Veriler toplandıktan sonra, en kritik aşamalardan biri olan etiketleme (annotation) süreci başlar. Etiketleme, her bir görüntüdeki hedef nesnelerin (perakende ürünleri) etrafına sınırlayıcı kutular (bounding boxes) çizmek ve bu kutulara doğru sınıf etiketini (örneğin, “kola” veya “cips”) atamak anlamına gelir. Bu işlem, LabelImg, CVAT veya Roboflow gibi özel etiketleme araçları kullanılarak manuel olarak yapılır. Etiketleme sırasında tutarlılık çok önemlidir. Örneğin, bir kola şişesini her zaman aynı şekilde çerçevelediğinizden ve etiketleme yönergelerinize sadık kaldığınızdan emin olun. Yanlış veya tutarsız etiketler, modelin öğrenme sürecini olumsuz etkiler ve performansını düşürür.
Etiketleme tamamlandıktan sonra, veri setinin kalitesini artırmak için veri artırma (data augmentation) teknikleri uygulanabilir. Bu teknikler, mevcut görüntüleri hafifçe değiştirerek (döndürme, çevirme, parlaklık ayarı, kontrast değişimi, kırpma, gürültü ekleme vb.) yapay olarak yeni eğitim örnekleri oluşturur. Bu, modelin farklı varyasyonlara karşı daha sağlam olmasını sağlar ve aşırı öğrenmeyi (overfitting) azaltır. Veri artırma, özellikle sınırlı veri setlerine sahip olunan durumlarda çok faydalıdır.
Son olarak, veri seti eğitim, doğrulama ve test kümelerine ayrılmalıdır. Genellikle %70-80 eğitim, %10-15 doğrulama ve %10-15 test oranı kullanılır. Eğitim kümesi, modelin öğrenmesi için kullanılır. Doğrulama kümesi, eğitim sırasında modelin performansını izlemek ve hiperparametreleri ayarlamak için kullanılır. Test kümesi ise, modelin daha önce hiç görmediği veriler üzerinde gerçek dünya performansını ölçmek için bir kez kullanılır ve modelin genelleme yeteneğinin tarafsız bir değerlendirmesini sağlar. Ayrıca, veri setinde sınıf dengesizliği olup olmadığını kontrol etmek önemlidir (yani, bazı ürün sınıflarının diğerlerinden çok daha fazla örneğe sahip olması). Dengesizlik durumunda, daha az örneği olan sınıfları artırmak veya ağırlıklandırma teknikleri kullanmak gerekebilir. Tüm bu adımlar, YOLO26 modelinizin perakende ortamında güvenilir ve doğru sonuçlar vermesi için temel bir zemin oluşturur.
YOLO26 Eğitim Ortamının DigitalOcean Üzerinde Kurulumu
DigitalOcean GPU dropletiniz hazır olduğunda, YOLO26 modelinizi eğitmek için gerekli yazılım ortamını kurmanız gerekir. Bu süreç, NVIDIA sürücüleri ve CUDA Toolkit’in doğru şekilde yapılandırılmasından, Python bağımlılıklarının yüklenmesine kadar birkaç adımı içerir. DigitalOcean genellikle GPU dropletlerinde temel NVIDIA sürücülerini ve CUDA’yı önceden kurmuş olsa da, her zaman kontrol etmek ve gerekirse güncellemek iyi bir uygulamadır.
DigitalOcean Droplet Oluşturma ve SSH Bağlantısı
İlk olarak, DigitalOcean kontrol panelinizden “Create” (Oluştur) butonuna tıklayarak yeni bir Droplet oluşturun. İşletim sistemi olarak Ubuntu’nun en son LTS sürümünü (örneğin, Ubuntu 22.04) seçmeniz önerilir. Ardından, “GPU Optimized” (GPU Optimize Edilmiş) planlarından birini seçerek size uygun GPU’lu bir droplet yapılandırması belirleyin. SSH anahtarınızı eklemeyi unutmayın, bu güvenli bağlantı için gereklidir. Droplet oluşturulduktan sonra, size verilen IP adresi ile SSH üzerinden bağlanabilirsiniz:
ssh root@your_droplet_ip
Bağlandıktan sonra, sistem paketlerini güncelleyerek başlayın:
sudo apt update && sudo apt upgrade -y
NVIDIA Sürücüleri ve CUDA Toolkit Kurulumu
DigitalOcean GPU dropletleri genellikle NVIDIA sürücüleri ve CUDA Toolkit ile birlikte gelir. Ancak, sürüm uyumluluğunu kontrol etmek veya gerekirse daha yeni bir sürüm yüklemek önemlidir. nvidia-smi komutunu çalıştırarak sürücülerin ve CUDA’nın durumunu kontrol edebilirsiniz:
nvidia-smi
Eğer komut çalışmazsa veya eski bir sürümle karşılaşırsanız, NVIDIA’nın resmi web sitesinden veya Ubuntu depolarından güncel sürücüleri ve CUDA Toolkit’i yüklemeniz gerekebilir. Bu süreç, genellikle birkaç komutla halledilebilir, ancak doğru sürümü seçtiğinizden emin olun.
Python ve Sanal Ortam Kurulumu
Yapay zeka projeleri için Python ve sanal ortamlar kullanmak en iyi uygulamadır. Bu, proje bağımlılıklarınızın sistem genelindeki Python kurulumunuzla çakışmasını önler. Python ve venv (sanal ortam aracı) kurulumu:
sudo apt install python3-pip python3-venv -y
python3 -m venv yolovenv
source yolovenv/bin/activate
Artık yolovenv adında bir sanal ortamınız var ve bu ortam etkin durumda. Tüm Python bağımlılıkları bu ortama yüklenecektir.
YOLO26 Deposu ve Bağımlılıkları Kurulumu
YOLO26 (varsayımsal olarak Ultralytics tarafından geliştirilmiş bir sürüm) genellikle bir Git deposu olarak bulunur. Bu depoyu klonlamanız ve bağımlılıklarını yüklemeniz gerekir:
git clone https://github.com/ultralytics/yolov26.git # veya benzeri resmi depo
cd yolov26
pip install -r requirements.txt
Bu komutlar, YOLO26 kodunu indirir ve eğitim için gerekli tüm Python kütüphanelerini (PyTorch, OpenCV, NumPy vb.) sanal ortamınıza yükler. requirements.txt dosyası, tüm bu bağımlılıkları listeler. Kurulum tamamlandığında, DigitalOcean GPU dropletiniz YOLO26 modelinizi eğitmek için tamamen hazır hale gelmiş olacaktır. Artık kendi perakende veri setinizi kullanarak modelinizi özelleştirmeye başlayabilirsiniz.
YOLO26 Modelinin Eğitimi ve Performans Optimizasyonu
YOLO26 eğitim ortamınızı DigitalOcean GPU dropletinizde kurduktan sonra, sıra kendi perakende veri setinizle modelinizi eğitmeye gelir. Bu süreç, önceden eğitilmiş ağırlıkların kullanılmasından, hiperparametre ayarlarına ve eğitim metriklerinin izlenmesine kadar çeşitli adımları içerir. Amaç, perakende ürünlerinizi doğru ve hızlı bir şekilde tespit edebilen yüksek performanslı bir model elde etmektir.
Veri Yapılandırması: data.yaml Dosyası
YOLO modelleri, veri setinizin nerede olduğunu, kaç sınıfınız olduğunu ve bu sınıfların adlarını tanımlayan bir .yaml dosyasına ihtiyaç duyar. Bu dosya, modelin hangi verilerle çalışacağını bilmesini sağlar. Örnek bir data.yaml dosyası şöyle görünebilir:
# data.yaml dosya örneği
train: /path/to/your/dataset/images/train # Eğitim görsellerinin yolu
val: /path/to/your/dataset/images/val # Doğrulama görsellerinin yolu
test: /path/to/your/dataset/images/test # Test görsellerinin yolu (isteğe bağlı)
nc: 5 # Sınıf sayısı (örneğin: cola, cips, çikolata, su, ekmek)
names: ['cola', 'cips', 'çikolata', 'su', 'ekmek'] # Sınıf adları
Bu dosyayı, YOLO26 projenizin kök dizinine veya kolayca erişebileceğiniz bir yere kaydedin. /path/to/your/dataset/images/train gibi yolları kendi veri setinizin yollarıyla değiştirmeyi unutmayın.
Transfer Öğrenimi ve Önceden Eğitilmiş Ağırlıklar
YOLO26 gibi modelleri sıfırdan eğitmek, genellikle çok büyük veri setleri ve uzun eğitim süreleri gerektirir. Ancak, transfer öğrenimi sayesinde bu süreci önemli ölçüde hızlandırabiliriz. Transfer öğrenimi, büyük bir veri seti (örneğin, COCO veri seti) üzerinde zaten eğitilmiş bir modelin ağırlıklarını alıp, kendi küçük ve özel veri setimiz üzerinde bu ağırlıkları ince ayar yaparak kullanma tekniğidir. Bu, modelin genel özellikleri (kenarları, şekilleri algılama gibi) zaten öğrenmiş olduğu anlamına gelir ve bizim sadece perakende ürünlerimize özgü detayları öğretmemiz yeterli olur. Bu, eğitim süresini kısaltır ve genellikle daha iyi performans sağlar. YOLO26 için, yolov26s.pt (small), yolov26m.pt (medium) gibi önceden eğitilmiş ağırlık dosyalarını kullanabilirsiniz.
Eğitim Komutu ve Hiperparametreler
Eğitim süreci, genellikle train.py veya model.py gibi bir Python betiği aracılığıyla başlatılır. İşte temel bir eğitim komutu örneği ve açıklamaları:
python train.py --imgsz 640 --batch 16 --epochs 100 --data data.yaml --weights yolov26s.pt --name perakende_egitim
--imgsz 640: Eğitilecek görüntülerin boyutunu belirler (640×640 piksel). Modelin performansını etkileyen önemli bir parametredir.--batch 16: Her eğitim adımında işlenecek görüntü sayısını (batch size) ayarlar. Daha büyük batch size’lar, genellikle daha hızlı eğitim süresi ve daha kararlı gradyanlar anlamına gelir, ancak daha fazla GPU belleği gerektirir. DigitalOcean GPU’nuzun belleğine göre bu değeri ayarlayın.--epochs 100: Modelin tüm eğitim veri setini kaç kez göreceğini belirtir. Bu değer, modelin ne kadar öğreneceğini belirler.--data data.yaml: Yukarıda hazırladığımızdata.yamldosyasının yolunu belirtir.--weights yolov26s.pt: Başlangıç için kullanılacak önceden eğitilmiş ağırlık dosyasını belirtir.--name perakende_egitim: Eğitim sonuçlarının kaydedileceği klasörün adını belirler (örneğin,runs/train/perakende_egitim).
Diğer önemli hiperparametreler arasında öğrenme oranı (--lr), optimizatör seçimi (Adam, SGD vb.), momentum ve ağırlık düşüşü (weight decay) bulunur. Bu parametrelerin doğru ayarlanması, modelin performansını büyük ölçüde etkileyebilir. Genellikle, başlangıç değerleriyle başlayıp, doğrulama kümesi üzerindeki performansa göre ince ayar yapmak en iyi yaklaşımdır.
Eğitim Sırasında Metrikleri İzleme ve Optimizasyon
Eğitim süresince, modelin performansını izlemek için çeşitli metrikler takip edilir. En önemlileri şunlardır:
- Loss (Kayıp): Modelin tahminlerinin gerçek değerlerden ne kadar saptığını gösterir. Eğitim ve doğrulama kaybının düşmesi beklenir.
- mAP (mean Average Precision): Nesne tespiti modelleri için en önemli performans metriklerinden biridir. Modelin hem doğruluk hem de geri çağırma yeteneğini bir araya getirir. Genellikle
mAP@0.5(IoU eşiği 0.5 olan ortalama hassasiyet) vemAP@0.5:0.95(farklı IoU eşiklerinde ortalama hassasiyet) olarak raporlanır. - Precision (Kesinlik): Modelin “evet” dediği durumlarda ne kadar doğru olduğunu gösterir.
- Recall (Geri Çağırma): Tüm gerçek pozitiflerin ne kadarını bulabildiğini gösterir.
Eğitim sırasında bu metrikleri izleyerek, modelin aşırı öğrenip öğrenmediğini (doğrulama kaybının artması) veya yeterince öğrenip öğrenmediğini anlayabilirsiniz. Erken durdurma (early stopping), doğrulama kaybı belirli bir sayıda epoch boyunca iyileşmediğinde eğitimi otomatik olarak durduran bir tekniktir, bu da aşırı öğrenmeyi önler ve zaman kazandırır. Ayrıca, eğitim sırasında modelin ağırlıklarını düzenli olarak kaydetmek (checkpointing), en iyi performans gösteren modeli daha sonra kullanmanızı sağlar. Performans optimizasyonu için daha fazla veri artırma tekniği kullanmak, model mimarisini değiştirmek (daha küçük veya daha büyük bir YOLO26 modeli), veya daha gelişmiş optimizasyon algoritmalarını denemek gibi yollar izlenebilir. DigitalOcean GPU’ları sayesinde bu denemeleri daha hızlı yapabilir ve en uygun modeli bulabilirsiniz.
Eğitilmiş Modelin Değerlendirilmesi ve DigitalOcean’da Dağıtımı
YOLO26 modelinizi perakende veri setiniz üzerinde başarıyla eğittikten sonra, modelin gerçek dünya senaryolarında ne kadar iyi performans gösterdiğini anlamak için kapsamlı bir değerlendirme yapmanız ve ardından onu kullanılabilir hale getirmeniz gerekir. Bu aşama, modelinizin operasyonel değeri ve ticari uygulanabilirliği açısından kritik öneme sahiptir.
Eğitilmiş Modelin Değerlendirilmesi
Model değerlendirmesi için, eğitim sürecinde hiç kullanılmamış, bağımsız bir test veri setine ihtiyacımız vardır. Bu, modelin yeni veriler üzerindeki genelleme yeteneğini tarafsız bir şekilde ölçmemizi sağlar. Değerlendirme komutu genellikle eğitim komutuna benzerdir:
# Modeli test etme (varsayımsal)
python val.py --imgsz 640 --data data.yaml --weights runs/train/perakende_egitim/weights/best.pt --task test
Bu komut, modelinizin test kümesi üzerinde mAP, Precision, Recall ve F1-score gibi metrikleri hesaplayacaktır. Bu metrikleri dikkatlice yorumlamak önemlidir:
- mAP (mean Average Precision): Modelin genel performansının en iyi göstergesidir. Yüksek mAP, modelin hem doğru hem de kapsamlı tespitler yaptığını gösterir.
- Precision (Kesinlik): Modelin yaptığı pozitif tahminlerin ne kadarının gerçekten doğru olduğunu gösterir. Yüksek kesinlik, yanlış pozitiflerin (örneğin, kola olmayan bir şeyi kola olarak etiketleme) az olduğunu belirtir.
- Recall (Geri Çağırma): Modelin tüm gerçek pozitifleri ne kadar iyi bulduğunu gösterir. Yüksek geri çağırma, modelin gözden kaçırdığı nesnelerin az olduğunu belirtir.
- F1-score: Precision ve Recall’ın harmonik ortalamasıdır ve bu iki metriği dengeleyen tek bir değer sunar.
Bu metrikler, her bir sınıf için ayrı ayrı da raporlanabilir. Eğer belirli bir ürün sınıfında performans düşükse, o sınıfa ait daha fazla veri toplamak veya etiketleme kalitesini kontrol etmek gerekebilir. Ayrıca, modelin hızını (FPS – saniyedeki kare sayısı) da değerlendirmek, gerçek zamanlı uygulamalar için ne kadar uygun olduğunu anlamak açısından önemlidir.
Model Optimizasyonu ve Dağıtım Senaryoları
Modeliniz beklentileri karşılıyorsa, onu dağıtıma hazır hale getirmek için bazı optimizasyonlar yapabilirsiniz. Bu, model boyutunu küçültmeyi ve çıkarım hızını artırmayı amaçlar:
- Nicemleme (Quantization): Modelin ağırlıklarını daha düşük hassasiyetli sayılarla (örneğin, 32-bit float yerine 16-bit float veya 8-bit int) temsil ederek dosya boyutunu küçültür ve çıkarım hızını artırır.
- Budama (Pruning): Modeldeki gereksiz nöronları veya bağlantıları kaldırarak daha küçük ve daha hızlı bir model oluşturur.
- Model Dışa Aktarma: Modeli ONNX, OpenVINO veya TensorRT gibi farklı formatlara dönüştürerek çeşitli donanım ve yazılım platformlarında daha verimli çalışmasını sağlayabilirsiniz.
Dağıtım senaryoları, perakende sektöründeki ihtiyacınıza göre değişiklik gösterebilir:
- Edge Cihazlarda (Mağaza İçi Kameralar): Envanter takibi veya raf denetimi gibi görevler için model, doğrudan mağaza içindeki kameralara veya yerel işlem birimlerine entegre edilebilir. Bu, düşük gecikme süresi ve ağ bağımsızlığı sağlar.
- Web API’si Olarak: Modeli bir Flask veya FastAPI uygulaması kullanarak bir REST API olarak DigitalOcean dropletinizde çalıştırabilirsiniz. Bu, diğer uygulamaların (mobil uygulamalar, web siteleri, envanter yönetim sistemleri) API çağrıları yaparak nesne tespiti hizmetini kullanmasına olanak tanır.
- DigitalOcean App Platform veya Kubernetes: Daha büyük ölçekli ve yönetimi kolay dağıtımlar için, modelinizi DigitalOcean App Platform’da bir konteyner olarak veya DigitalOcean Kubernetes servisi üzerinde dağıtabilirsiniz. Bu, otomatik ölçeklendirme, yük dengeleme ve kolay yönetim gibi avantajlar sunar.
Örnek bir çıkarım (inference) komutu:
# Örnek bir resim üzerinde çıkarım yapma
python detect.py --source /path/to/image.jpg --weights runs/train/perakende_egitim/weights/best.pt --conf 0.5 --save-txt --save-conf
Bu komut, belirtilen resim üzerinde nesne tespiti yapar, sonuçları görüntüler ve isterseniz sınırlayıcı kutu koordinatlarını ve güven skorlarını bir metin dosyasına kaydeder. conf parametresi, modelin bir tespiti ne kadar güvenle yaptığını gösteren eşiği ayarlar. Yüksek bir eşik, daha az ancak daha güvenilir tespitler anlamına gelir.
Modeli dağıttıktan sonra, performansını gerçek zamanlı olarak izlemek ve periyodik olarak yeniden eğitmek (yeni verilerle veya değişen ürün yelpazesiyle) önemlidir. Bu sürekli iyileştirme döngüsü, perakende operasyonlarınız için modelinizin her zaman güncel ve etkili kalmasını sağlayacaktır.
Mobil Uyumlu Tasarım İçin CSS İpuçları
Bir web uygulaması veya raporlama arayüzü geliştirirken, mobil uyumluluk modern web tasarımının temelidir. Kullanıcıların farklı cihaz boyutlarında (telefonlar, tabletler, masaüstü bilgisayarlar) içeriğinizi sorunsuz bir şekilde görüntüleyebilmesi ve etkileşimde bulunabilmesi gerekir. İşte bu tür bir içerik için temel mobil uyumluluk ipuçları:
- Viewport Meta Etiketi: Her HTML sayfasının
bölümüne aşağıdaki meta etiketini eklemek, tarayıcılara sayfanın cihaz genişliğine göre ölçeklenmesini söyler:<meta name="viewport" content="width=device-width, initial-scale=1.0">Bu, sayfanın mobil cihazlarda doğru şekilde görüntülenmesini sağlar.
- Esnek Resimler: Resimlerinizi kapsayıcılarına göre ölçeklendirmek için CSS kullanın:
img { max-width: 100%; height: auto; display: block; /* Gereksiz boşlukları önlemek için */ }Bu, resimlerin küçük ekranlarda taşmasını engeller.
- Medya Sorguları (
@media): Belirli ekran boyutları için farklı stiller tanımlamak için medya sorgularını kullanın. Örneğin, küçük ekranlarda yazı tipi boyutlarını veya sütun düzenlerini değiştirebilirsiniz:/* Örnek bir CSS medya sorgusu */ @media screen and (max-width: 768px) { body { font-size: 16px; /* Küçük ekranlarda daha okunur font boyutu */ } h2 { font-size: 24px; } table, pre { overflow-x: auto; /* Tablo ve kod blokları için yatay kaydırma */ -webkit-overflow-scrolling: touch; /* iOS'ta daha akıcı kaydırma */ } /* Gerekirse sütun düzenlerini tek sütuna indirme */ .container { flex-direction: column; } }Bu örnek, 768 pikselden daha küçük ekranlarda belirli stil değişikliklerini uygular.
overflow-x: auto;özellikle geniş tablolar veya kod blokları için önemlidir, çünkü içeriğin ekran dışına taşmasını engeller ve yatay kaydırma çubuğu ekler. - Esnek Izgaralar ve Flexbox/Grid: Sayfa düzeninizi oluştururken
flexboxveyaCSS Gridgibi modern CSS düzenleme tekniklerini kullanın. Bu teknikler, içeriğin farklı ekran boyutlarına dinamik olarak uyum sağlamasını kolaylaştırır. - Dokunmatik Dostu Elementler: Butonlar ve bağlantılar gibi etkileşimli elementlerin mobil cihazlarda kolayca tıklanabilmesi için yeterince büyük olduğundan emin olun (minimum 44×44 piksel önerilir).
Bu temel CSS prensiplerini uygulayarak, YOLO26 perakende nesne tespiti projenizin çıktılarını (örneğin, tespit sonuçlarını gösteren bir kontrol paneli) her cihazda kullanıcı dostu ve erişilebilir hale getirebilirsiniz.
Vaka Analizi: Perakende Envanter Yönetiminde YOLO26
Hayal edin ki, Türkiye’nin önde gelen süpermarket zincirlerinden biri olan “Marketim”in operasyon direktörüsünüz. Marketim, binlerce ürün çeşidiyle yüzlerce şubeye sahip ve envanter yönetimi, raf düzeni ve ürün stok takibi süreçlerinde ciddi zorluklar yaşıyor. Geleneksel yöntemlerle yapılan manuel sayımlar, haftalar sürüyor, insan hatasına açık ve anlık stok bilgisi sağlamadığı için kayıp satışlara ve müşteri memnuniyetsizliğine neden oluyor. Ayrıca, raf boşlukları veya yanlış yerleştirilmiş ürünler, mağazanın genel estetiğini bozuyor ve alışveriş deneyimini olumsuz etkiliyor.
Marketim, bu sorunları çözmek için yapay zeka destekli bir çözüm arayışına giriyor ve YOLO26 ile perakende nesne tespiti projesine yatırım yapmaya karar veriyor. Projenin ana hedefi, mağaza raflarındaki ürünleri gerçek zamanlı olarak otomatik olarak tespit etmek, saymak ve stok seviyelerini anlık olarak güncellemektir.
Uygulama Süreci:
- Veri Toplama ve Etiketleme: Marketim, seçilen pilot mağazalardaki raflardan binlerce ürün görüntüsü topluyor. Bu görüntüler, farklı aydınlatma koşullarında, farklı açılardan ve ürünlerin çeşitli yerleşimlerini (dik, yatık, kısmen gizli vb.) içerecek şekilde çeşitlendiriliyor. Ardından, bir etiketleme ekibi, her bir ürünün etrafına sınırlayıcı kutular çizerek ve doğru ürün kategorisiyle etiketleyerek veri setini hazırlıyor. Özellikle Marketim’e özgü markalar ve ürünler için özel sınıflar oluşturuluyor (örn. “Marketim Kola”, “Marketim Cips”).
- DigitalOcean GPU Droplet Kurulumu: DigitalOcean’dan güçlü NVIDIA A100 GPU’lara sahip birden fazla droplet kiralanıyor. Gerekli tüm Python kütüphaneleri, CUDA Toolkit ve YOLO26 deposu bu dropletlere kuruluyor.
- YOLO26 Eğitimi: Marketim’in özel veri seti kullanılarak YOLO26 modeli eğitiliyor. Transfer öğrenimi yaklaşımıyla, COCO veri seti üzerinde önceden eğitilmiş YOLO26 ağırlıkları temel alınıyor. Eğitim sırasında
batch_sizeveepochsgibi hiperparametreler optimize ediliyor. Model, mAP ve recall gibi metrikler açısından yüksek performans göstermesi için 200 epoch boyunca eğitiliyor. - Değerlendirme ve Dağıtım: Eğitilmiş model, daha önce hiç görmediği bir test veri seti üzerinde %92 mAP@0.5 skoruyla başarılı bulunuyor. Modelin çıkarım hızı, saniyede 30 kare (30 FPS) olarak ölçülüyor, bu da gerçek zamanlı uygulamalar için yeterince hızlı olduğu anlamına geliyor. Model, daha sonra optimize edilerek (nicemleme ile) Marketim şubelerindeki IP kameralara bağlı yerel edge cihazlara dağıtılıyor.
Elde Edilen Faydalar:
- Anlık Envanter Doğruluğu: Model, raflardaki ürünleri sürekli izleyerek stok seviyelerini anlık olarak güncelliyor. Bu sayede, “Marketim” yöneticileri hangi ürünlerin azaldığını veya bittiğini hemen görüp tedarik zincirini optimize edebiliyor.
- Raf Düzeni Optimizasyonu: Boş raf alanları, yanlış yerleştirilmiş ürünler veya son kullanma tarihi yaklaşan ürünler otomatik olarak tespit ediliyor. Bu, mağaza personelinin daha verimli çalışmasını sağlıyor ve görsel düzeni iyileştiriyor.
- Kayıp Satışların Azalması: Stokta olmayan ürünler nedeniyle oluşan kayıp satışlar önemli ölçüde azalıyor, çünkü ürünler bitmeden önce raflara yerleştirilebiliyor.
- Operasyonel Maliyet Tasarrufu: Manuel envanter sayımı ve raf denetimi için harcanan insan gücü ve zaman maliyetleri düşüyor. Personel, daha katma değerli görevlere odaklanabiliyor.
- Geliştirilmiş Müşteri Deneyimi: Müşteriler aradıkları ürünleri her zaman raflarda bulabiliyor, bu da alışveriş deneyimini olumlu etkiliyor ve müşteri memnuniyetini artırıyor.
Bu vaka analizi, YOLO26 ve DigitalOcean GPU’larının perakende sektöründe nasıl somut ve ölçülebilir faydalar sağlayabileceğini açıkça göstermektedir. Marketim örneği, yapay zekanın sadece bir teknoloji olmaktan öte, işletmeler için gerçek bir rekabet avantajı ve operasyonel mükemmellik aracı olduğunu kanıtlamaktadır.
Sonuç: Perakende Sektörünün Geleceği ve YOLO26’nın Rolü
Perakende sektörü, dijitalleşme ve yapay zeka teknolojileriyle büyük bir dönüşüm yaşıyor. Müşteri beklentilerinin artması, operasyonel verimlilik baskısı ve rekabetin yoğunlaşması, işletmeleri geleneksel yöntemlerden uzaklaşarak yenilikçi çözümlere yöneltiyor. Bu makalede ele aldığımız YOLO26 ile perakende nesne tespiti, bu dönüşümün en güçlü araçlarından biri olarak öne çıkmaktadır. DigitalOcean GPU’larının sunduğu esneklik, maliyet etkinliği ve yüksek performans sayesinde, küçükten büyüğe her ölçekteki perakende işletmesi, bu ileri teknolojiyi kolayca benimseyebilir ve kendi operasyonlarına entegre edebilir.
YOLO26’nın gerçek zamanlı ve yüksek doğrulukta nesne tespit yetenekleri, envanter yönetiminden raf düzeni optimizasyonuna, müşteri davranış analizinden kasa otomasyonuna kadar perakende operasyonlarının birçok alanında devrim yaratma potansiyeli taşımaktadır. Manuel ve hataya açık süreçlerin otomasyonu, sadece maliyet tasarrufu sağlamakla kalmaz, aynı zamanda çalışanların daha stratejik ve katma değerli görevlere odaklanmasına olanak tanır. Müşteriler için ise daha iyi ürün bulunabilirliği, daha düzenli mağazalar ve daha hızlı alışveriş deneyimi anlamına gelir.
Gelecekte, perakende sektöründe yapay zeka destekli bilgisayar görüşünün rolü daha da artacaktır. Dinamik fiyatlandırma, kişiselleştirilmiş ürün önerileri, hırsızlık önleme ve hatta mağaza içi robotik sistemlerle entegrasyon gibi alanlarda YOLO26 gibi modellerin kullanımı yaygınlaşacaktır. DigitalOcean gibi bulut sağlayıcıları ise, bu tür yenilikçi projelerin hayata geçirilmesi için gerekli altyapıyı sağlayarak, yapay zeka ekosisteminin büyümesine katkıda bulunmaya devam edecektir. Perakendeciler için şimdi, bu teknolojileri benimseme ve geleceğin akıllı mağazalarını inşa etme zamanıdır.
Sıkça Sorulan Sorular
-
S1: YOLO26 eğitimi ne kadar sürer?
C1: Eğitim süresi, veri setinizin boyutu ve karmaşıklığına, kullanılan GPU’nun gücüne, seçilen YOLO26 modelinin mimarisine ve ayarlanan
epochssayısına bağlıdır. Küçük bir veri seti (birkaç bin görüntü) ve DigitalOcean’daki güçlü bir GPU ile birkaç saatten birkaç güne kadar sürebilir. Büyük veri setleri ve daha karmaşık modeller için bu süre haftalara yayılabilir. -
S2: DigitalOcean GPU dropletleri maliyetli mi?
C2: DigitalOcean, diğer büyük bulut sağlayıcılarına kıyasla genellikle daha rekabetçi fiyatlandırma sunar. GPU dropletleri saatlik olarak ücretlendirilir, bu da sadece kullandığınız süre kadar ödeme yapacağınız anlamına gelir. Bu, özellikle model eğitimi gibi yoğun ama aralıklı iş yükleri için maliyet etkin bir çözüm sunar. Maliyet, seçilen GPU türüne ve kullanım süresine göre değişir.
-
S3: Kendi veri setimi oluşturmak ne kadar zor?
C3: Kendi veri setinizi oluşturmak, veri toplama ve etiketleme süreçlerini içerir. Bu süreç, özellikle büyük ve çeşitli bir veri seti hedefleniyorsa zaman alıcı ve dikkat gerektiren bir iştir. Ancak, LabelImg veya CVAT gibi araçlar bu süreci kolaylaştırır. Veri setinin kalitesi, modelin başarısı için kritik olduğundan, bu aşamaya yeterince zaman ve özen göstermek önemlidir.
-
S4: YOLO26 hangi perakende sorunlarını çözebilir?
C4: YOLO26, otomatik envanter yönetimi, raf düzeni optimizasyonu, boş raf tespiti, yanlış yerleştirilmiş ürünlerin belirlenmesi, son kullanma tarihi takibi, müşteri davranış analizi ve kasa otomasyonu gibi birçok perakende sorununu çözebilir. Temel olarak, bir görüntü veya video içindeki ürünleri tanıma ve konumlandırma yeteneği gerektiren her yerde kullanılabilir.
-
S5: Modeli eğittikten sonra nasıl kullanabilirim?
C5: Eğitilmiş YOLO26 modelinizi, farklı senaryolarda kullanabilirsiniz. Bir web API’si olarak DigitalOcean dropletinizde çalıştırabilir, mağaza içi kameralara bağlı edge cihazlara entegre edebilir veya bir mobil uygulamada kullanmak üzere optimize edebilirsiniz. Modelin çıktıları (tespit edilen nesnelerin konumları ve sınıfları), envanter yönetim sistemlerine, raporlama panellerine veya diğer operasyonel araçlara entegre edilebilir.