A metric learning based system for retail product recognition and novel class discovery
Metrik öğrenme tabanlı ürün tanıma ve yeni ürün keşfetme sistemi
- Tez No: 841232
- Danışmanlar: PROF. DR. HAZIM KEMAL EKENEL
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 66
Özet
Modern dünyada perakende pazar araştırmaları ve otomatik stok yönetimi gibi uygulamalar, kasiyersiz marketler ve jet kasa teknolojileri, market ürünlerinin bilgisayarla görü yöntemleri kullanılarak tanınmasını gerektirmiştir. Perakende ürünlerinin otomatik tanınması, envanter yönetimi, planogram uyumu, raf takip ve otomatik ödeme sistemleri gibi birçok uygulamada hayati bir rol oynamaktadır. Geleneksel manuel perakende ürün tanıma (RPR) yöntemleri zaman alıcı ve hata yapmaya eğilimli olduğundan, bu süreci otomatikleştirmek için bilgisayarlı görü tekniklerinin benimsenmesi gerekmektedir. Market raf ve reyon görselleri üzerindeki ürünleri tanımak için geliştirilen modern yaklaşımlar, ürünün tespiti ve sınıflandırılmasını içeren iki aşamalı bir sistem ile sağlanmaktadır. Bu çalışmada, ilk aşamanın yani ürünlerin yer tespitinin başarıyla yapılabildiği varsayımına dayanarak ikinci aşamaya odaklandık ve ürünlerin tanınarak sınıflandırıldığı, yeni veya ambalaj değişikliği yapılan ürünlerin keşfedildiği, öbeklendiği ve tanınabildiği bir sistem geliştirdik. Ürün tanıma ve yeni ürünlerin öbeklenme başarılarını arttırmaya yönelik farklı evrişimsel sinir ağlarını, farklı kayıp fonksiyonları ile denetimli olarak eğiterek performansa etkilerini inceledik. Sistemin bu kabiliyetlerine ek olarak, bilinen sınıflardan veya keşfedilen yeni ürünlerden örneklerin sisteme kolay bir şekilde eklenebilmesi için verimli bir yöntem öneriyoruz. Çeşitli perakende satış noktalarından topladığımız resimler üzerinde belirlenen sağlık, ağız bakım, soslar, alkollü içecekler ve akaryakıt istasyon marketi olmak üzere 5 kategoriden, 994 sınıftan toplam 750 bin örnek etiketlenerek yeni ve bu çalışmaya özel bir veri kümesi oluşturulmuştur. Bu veri kümesini hazırlarken tüm ürün sınıflarını kapsamak mümkün olmadığı için belirlediğimiz listenin dışında kalan ürünler etiketlenmeden bırakılmıştır. Bu ürünler bilinmeyen ürünler olarak tanımlanmıştır. 600 bin örnek eğitim, 75 bin örnek geçerleme ve 75 bin örnek ise test kümesi olarak ayrılmıştır. Ayrıca, yeni ürün keşfetme ve tanıma başarımlarının ölçülebilmesi için veri kümesindeki sınıfların %20'si rastgele seçilmiş ve“yeni ürünler”olarak ayrılmıştır. Geliştirdiğimiz sistemin ürün tanıma kısmında ürün resimlerinden öznitelik çıkaran bir evrişimsel sinir ağı, bilinen ürünlerin özniteliklerinin saklandığı vektör veri tabanı, ve sınıflandırma yapabilmek için k-en yakın komşu modülü bulunur. İlk adımda, öznitelik çıkarıcı ağ, market raf resimlerinden bilinen ürünlerin kesilmesi ile oluşturulan veri kümesi üzerinde denetimli (supervised) olarak eğitilir. Daha sonra, eğitim kümesinin öznitelik vektörleri çıkarılarak veri tabanına eklenir. Son olarak, test aşamasında tanınmak üzere sorgulanan kesit örneğinin öznitelik vektörü çıkarılır ve oluşturulan veri tabanında benzerlik araması ve k-en yakın komşu sınıflandırması yapılır. Öznitelik çıkarıcı olarak ResNet, EfficientNet ve ConvNext evrişimsel sinir ağı ailelerinden mimariler ile deneyler yapılmıştır. Nihai sistemde toplam 15 evrişimsel katman ve 15.6 milyon parametreye sahip ConvNext_nano mimarisi kullanılmıştır. Sistemin sonraki aşamalarında bellek ve hesaplama verimliliği sağlamak için global ortaklama (global average pooling) katmanından sonra eklediğimiz darboğaz katmanı ile öznitelik vektör boyutu 640'tan 64'e düşürülmüştür. ConvNext ailesinde aktivasyon fonksiyonu olarak GELU, ara çıktıları normalleştirme için ise katman normalleştirme (LayerNorm) kullanılmıştır. Ayrıca eğitim esnasında kullanılan 994 nöronluk bir sınıflandırma katmanı bulunur. Denetimli eğitimde girdi olarak alınan ürün kesitleri en veya boyda siyah boşlukla doldurularak 224x224 boyutuna ölçeklendirilmiştir. Veri çeşitlendirmek amacıyla rastgele rotasyon, Gauss bulanıklaştırma ve parlaklık-kontrast değiştirme teknikleri uygulanmıştır. Optimizasyonda, Cross-Entropy ve ArcFace kayıpları birlikte kullanılmıştır. ArcFace kayıp fonksiyonu, öznitelikleri sınıf sayısı kadar çıkışa sahip bir katmana sokar ve öznitelik uzayında sınıf-içi ve sınıflar-arası uzaklıkları optimize eder. Öznitelik vektörü veri tabanı olarak FAISS kullanılmıştır. FAISS'in tercih edilme sebebi, grafik işlem birimini (GPU) kullanarak gerçek zamanlı k-en yakın komşu benzerlik araması yapabilmesi ve bu nedenle büyük veri kümeleri üzerinde yüksek performans sağlamasıdır. Bilinen ürünler veri kümesinden çıkarılan 650 bin öznitelik vektörü normalleştirme yapılarak veri tabanına eklenmiştir. Test aşamasında örnek bir raf resminden tespit edilen ürünlerin öznitelik vektörleri, yığın halde sorgu olarak kullanılır. Sorgular ve veri tabanındaki referans vektörlerin arasında iç çarpım yapılarak kosinüs benzerlikleri hesaplanır. Sorgulanan örneğin en yakınlarıyla benzerliği belli bir eşik değerinden yüksek ise, en benzer $k$ örnekten en çok tekrar eden sınıf etiketi atanır. Aksi durumda ise bilinmeyen ürün olarak işaretlenir ve öznitelik vektörü ayrı bir veri tabanına eklenir. Önerdiğimiz yeni ürün keşfi yaklaşımında ürün tanıma kısmında bilinmeyen ürün olarak işaretlenen ürünlerin özniteliklerinin tutulduğu ayrı bir vektör veri tabanı bulunur. Burada biriken örnekler k-ortalama algoritması ile öbeklenir. Veri etiketleme uzmanı tarafından kontrol edilen bu öbekler, yeni bir sınıf olarak bilinen ürünler veri tabanına tek seferde eklenebilir. Yeni ürün keşfi başarımı artırmak için uyguladığımız yöntemde, etiketlenmeyen ve bilinmeyen ürünlerden oluşan veri kümesi üzerinde öz-denetimli makelemeli ön-eğitim (self-supervised masked image pre-training) yaparak veri kümesindeki çok çeşitli bilinmeyen ürünler için temsil öğrenme başarısını artırdık. Ürün tanıma probleminde başarımın ölçümü için k-en yakın komşu sınıflandırma doğruluk oranı ve k-hassasiyeti (precision@k) ölçütleri takip edilmiştir. Yeni ürün keşfi başarısını ölçmek için öbekleme doğruluğu takip edilmiştir. Öbekleme doğruluğu, her bir veri noktasının gerçek sınıfı ve öbekleme sonucu tahmin edilen sınıflar arasındaki eşleştirmeler kullanılarak hesaplanır. Bu eşleştirmeleri bulmak için, Macar Algoritması kullanılır. Nihai sistemimiz ile test veri setinde gerçekleştirdiğimiz deneyler sonucunda, ürün tanıma işleminde %93.7 doğruluk oranı ve %93.03 k-hassasiyeti elde ettik. Ayrıca yeni ürün keşfi konusunda taban yaklaşımımızla ortalama %67.58, geliştirilmiş yaklaşımımızla ise %69.38 kümeleme doğruluklarına ulaştık. Bu sonuçlar, geliştirdiğimiz sistemin perakende sektöründe ürün tanıma sorununa başarılı bir çözüm sunduğunu göstermektedir. Metrik öğrenme tabanlı perakende ürün tanıma sisteminin geliştirilmesinin yanı sıra, modelimizin performansı üzerinde farklı hiperparametrelerin etkisini araştırmak için bir ayrıştırma çalışması yaptık. Bu çalışmada, girdi görüntüsü ön işlemesiyle ilgili olarak, sonuçlar, ürün kesitlerinin orijinal oranlarının korunmasının daha iyi öznitelik çıkarımı ve tanıma doğruluğuna katkıda bulunabileceğini göstermektedir. Darboğaz katmanından sonra dropout uygulaması ve bir aktivasyon katmanının eklenmesi, modelin performansını iyileştirmek için faydalı olduğunu kanıtlamıştır. ArcFace marjin hiperparametresinin, modelin farklı ürün sınıfları arasındaki ayırt etme yeteneği üzerinde etkisi olduğu bulunmuştur. Marjin değerini ayarlayarak, sınıflandırma doğruluğunda değişiklikler gözlemledik. Darboğaz katmanında farklı vektör boyutlarını keşfederken, evrişimsel ağın çıktılarını darboğaz katmanı olmadan doğrudan kullanmanın en yüksek doğruluğu sağladığını bulduk. Bununla birlikte, 64 vektör boyutu seçmek, temsil kapasitesi ile hesaplama verimliliği arasında iyi bir denge sağlayarak rekabetçi performans elde etmemizi sağladı. Genel olarak, ayrıştırma çalışmamızın bulguları, çeşitli hiperparametrelerin model performansı üzerindeki etkisi hakkında değerli içgörüler sağlamaktadır. Bu hiperparametreleri hassas bir şekilde ayarlayarak, modelin performansını optimize edebilir ve perakende ürünleri doğru bir şekilde tanıma ve sınıflandırma yeteneğini artırabiliriz.
Özet (Çeviri)
Automatic recognition of retail products plays a vital role in numerous applications, including inventory management, planogram compliance, shelf monitoring and automated checkout systems. Traditional manual methods of retail product recognition (RPR) are time-consuming and error-prone, motivating the adoption of computer vision techniques for automating this process. In this thesis, we investigate how traditional RPR systems work, address their limitations and propose solutions by developing a metric learning based RPR system with the capability of novel product discovery. Assuming that the first stage, which is the localization of the products, is successfully accomplished, we focused on the second stage where products are recognized, classified, and new or rebranded items are discovered, clustered, and identified. In developing the retail product recognition system, our contributions include comparing eight different feature extractors using a combination of metric learning loss functions and modern convolutional neural network (CNN) architectures. Additionally, we propose two approaches for the automatic discovery of new or rebranded products: a baseline method and an improved approach. The baseline method serves as the foundation for comparison, while the enhanced approach represents our novel and more effective solution which leverages masked image pretraining on unlabeled datasets and increases clustering performance of our model. Furthermore, we achieved the capability of adding a new product class to the recognition system with just a few examples, without the need for retraining. These contributions enhance the accuracy and flexibility of our RPR system. We have created a custom labeled dataset consisting of a total of 994 classes and 750,000 samples for use in the development and testing stages. In order to ensure product diversity, we determined product classes from different retail sales channels and categories while constructing the dataset and collected visual data. Additionally, to measure the success of discovering and recognizing new products, we randomly selected 20% of the classes in our dataset and set them aside as“novel products”. Our system consists of the ConvNext_nano feature extractor, feature vector database, similarity search, and clustering algorithm. Through tests conducted on the test dataset, we achieved an accuracy rate of 93.7% and k-precision of 93.03% in product identification, as well as an average clustering accuracy of 67.58% with the baseline method and 69.38% with our improved method in new product discovery. These results demonstrate that our developed system provides a successful solution to the problem of product recognition in the retail sector. In addition to developing the metric learning-based RPR system, we conducted an ablation study to investigate the effects of different hyperparameters on the performance of our model. The ablation study findings provided valuable insights into the effects of different hyperparameters and preprocessing techniques on the performance of our RPR system, further validating the effectiveness of our proposed solutions.
Benzer Tezler
- Multi-product, multi-stage production planning model and decision support system suggestion for F&B industry
Yiyecek içecek sektörü için çok ürünlü, çok aşamalı üretim planlamasına yönelik model ve karar destek sistemi önerisi
GÜZİN TİRKEŞ
Doktora
İngilizce
2016
Endüstri ve Endüstri MühendisliğiAtılım ÜniversitesiMühendislik Sistemlerinin Modellenmesi ve Tasarımı Ana Bilim Dalı
PROF. DR. NEŞE ÇELEBİ
DOÇ. DR. MURAT KOYUNCU
- Perakende sektöründe dinamik fiyatlandırma ile gelir optimizasyonu
Revenue optimization application with dynamic pricing in retail industry
SİNEM BATMACA
Yüksek Lisans
Türkçe
2021
Endüstri ve Endüstri Mühendisliğiİstanbul Üniversitesi-CerrahpaşaEndüstri Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SİNEM BÜYÜKSAATÇI KİRİŞ
- Perakende hazır giyim firmasında makine öğrenmesi yöntemleriyle satış tahmini
Sales forecasting in a retail fashion company using machine learning methods
ŞEYMA GÖNEN HALICI
Yüksek Lisans
Türkçe
2024
İşletmeİstanbul Teknik Üniversitesiİşletme Ana Bilim Dalı
PROF. DR. FERHAN ÇEBİ
- Overcoming payment behavior challenges: Classifying buy now pay later users with machine learning
Ödeme alışkanlığı zorluklarını aşmak: Makine öğrenimi ile şimdi al sonra öde kullanıcılarını sınıflandırma
ÖMÜR ÖZDOĞAN
Yüksek Lisans
İngilizce
2024
Bankacılıkİstanbul Teknik ÜniversitesiBüyük Veri ve Veri Analitiği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ MEHMET ALİ ERGÜN
- Enriching predictive models using graph embeddings
Tahminleme modellerinin çizge gömmeleri kullanılarak zenginleştirilmesi
YAREN YILMAZ
Yüksek Lisans
İngilizce
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ŞULE ÖĞÜDÜCÜ