Method Article
Bu makalede sunulan çalışmanın amacı, mobil cihazlar tarafından çekilen görüntülerden yiyecek ve içecek öğelerinin otomatik olarak tanınması için teknoloji geliştirmektir. Teknoloji iki farklı yaklaşımdan oluşur - birincisi gıda görüntüsü tanımayı gerçekleştirirken ikincisi gıda görüntüsü segmentasyonunu gerçekleştirir.
Manuel diyet değerlendirme yaklaşımları ile ilgili sorunlar ve maliyetler nedeniyle, işi kolaylaştırmak ve hızlandırmak ve kalitesini artırmak için otomatik çözümler gereklidir. Bugün, otomatik çözümler, bir kişinin diyet alımını akıllı telefon kamerasıyla görüntü çekmek gibi çok daha basit bir şekilde kaydedebilir. Bu yazıda, diyet değerlendirmesine yönelik bu tür görüntü tabanlı yaklaşımlara odaklanacağız. Gıda görüntü tanıma sorunu için derin sinir ağları son yıllarda en son teknolojiye ulaştı ve bu alandaki çalışmalarımızı sunuyoruz. Özellikle, ilk olarak NutriNet adı verilen derin bir sinir ağı mimarisi kullanarak yiyecek ve içecek görüntü tanıma yöntemini açıklıyoruz. Bu yöntem, derin öğrenme tabanlı yiyecek görüntüsü tanımanın ilk günlerinde yapılan çoğu araştırma gibi, görüntü başına bir çıktı ile sınırlıdır ve bu nedenle birden fazla yiyecek veya içecek öğesine sahip görüntüler için uygun değildir. Bu nedenle, gıda görüntüsü segmentasyonunu gerçekleştiren yaklaşımlar, görüntüdeki herhangi bir sayıda yiyecek veya içecek öğesini tanımlayabildikleri için önemli ölçüde daha sağlamdır. Bu nedenle, gıda görüntüsü segmentasyonu için iki yöntem de sunuyoruz - biri tamamen konvolüsyonal ağlara (FCN'ler) ve diğeri derin artık ağlara (ResNet) dayanmaktadır.
Diyet değerlendirmesi, bireyin diyetinin eyleme geçilebilir alanlarını belirlemede önemli bir adımdır. Bununla birlikte, geleneksel manuel yaklaşımlar kullanarak diyet değerlendirmesi yapmak önemli maliyetlerle ilişkilidir. Bu yaklaşımlar, genellikle birey tarafından kendi kendini raporlamaya dayandığı için hatalara da eğilimlidir. Otomatik diyet değerlendirmesi, gıda alımını ölçmek ve nitelemenin daha basit bir yolunu sağlayarak bu sorunları ele eder. Böyle bir yaklaşım, kaçırılan yemekler, gıda hacmini doğru bir şekilde değerlendirememe gibi manuel yaklaşımlarda bulunan bazı hataları da hafifletebilir. Bu nedenle, farklı yiyecek ve içecekleri tanımlayan ve gıda alımını ölçen çözümler geliştirerek diyet değerlendirmesini otomatikleştirmenin açık yararları vardır1. Bu çözümler, yiyecek ve içecek öğelerinin (bundan böyle 'gıda maddeleri') besin değerlerinin tahmin edilmesini sağlamak için de kullanılabilir. Sonuç olarak, otomatik diyet değerlendirmesi birden fazla uygulama için yararlıdır - diyetisyenlerin hastalarının diyetlerini daha kolay ve doğru bir şekilde izlemelerine ve analiz etmelerine izin vermek gibi kesinlikle tıbbi kullanımlardan, genel popülasyonu hedefleyen refah uygulamalarının içindeki kullanıma kadar.
Gıda maddelerini görüntülerden otomatik olarak tanımak zorlu bir bilgisayar görme sorunudur. Bunun nedeni, yiyeceklerin tipik olarak deforme olabilen nesneler olması ve gıda maddesinin görsel bilgilerinin büyük bir kısmının hazırlanması sırasında kaybedilebilmesidir. Ek olarak, farklı yiyecekler birbirine çok benzer görünebilir ve aynı yiyecek birden fazla görüntüde önemli ölçüde farklı görünebilir2. Ayrıca, tanıma doğruluğu görüntü kalitesi, gıda maddesinin başka bir öğe tarafından engellenip engellenmediği, görüntünün çekildiği mesafe vb. İçecek öğelerini tanımak, bir görüntüde bulunan sınırlı miktarda görsel bilgi olan kendi zorluk kümesini sunar. Bu bilgiler içecek rengi, içecek kabı rengi ve yapısı ve optimum görüntü koşullarında içecek yoğunluğu2olabilir.
Yiyecek öğelerini görüntülerden başarıyla tanımak için, her yiyecek ve içecek sınıfının özelliklerini öğrenmek gerekir. Bu geleneksel olarak,renk, doku,boyutvb. Bu özellik çıkarıcılara örnek olarak birden çok çekirdek öğrenimi4, çift yönlü yerel özellikler5 ve özellikler torbası model6 verilebilir. Gıda görüntülerinin karmaşıklığı nedeniyle, bu yaklaşımlar çoğunlukla düşük bir sınıflandırma doğruluğu elde etti -% 10 ila% 40arasında 3,4,5. Bunun nedeni, manuel yaklaşımın yeterince doğru olacak kadar sağlam olmamasıdır. Bir gıda maddesi görünüşte önemli ölçüde değişebileceğinden, tüm bu varyansları manuel olarak kapsamak mümkün değildir. Gıda sınıflarının sayısı 5 azaltıldığında veya farklı görüntü özellikleribirleştirildiğinde manuelolarak tanımlanmış özellik çıkarıcılarla daha yüksek sınıflandırma doğruluğu elde edilebilir6, böylece bu soruna daha karmaşık çözümlere ihtiyaç olduğunu gösterir.
Bu nedenle derin öğrenmenin gıda imaj tanıma sorunu için çok etkili olduğu kanıtlanmıştır. Derin öğrenme veya derin sinir ağları, biyolojik beyinlerden esinlendi ve birden fazla işlem katmanından oluşan hesaplama modellerinin, bir dizi giriş görüntüsü7,8üzerinde eğitim yoluyla özellikleri otomatik olarak öğrenmesine izin verir. Bu nedenle, derin öğrenme, çeşitli araştırma alanlarında sanatın durumunu önemli ölçüdegeliştirmiştir 7Bilgisayar görüşü ve daha sonra gıda görüntüsü tanıma ile bunlardan biriolmak 2.
Özellikle, derin konvolüsyonel sinir ağları (DCNN'ler) yiyecek görüntü tanıma için en popüler olanıdır - bu ağlar, bireysel nöronların görsel alanda çakışan bölgelere tepki vererek görsel girdiyi anlamaya çalıştıkları hayvanların görsel sisteminden esinlenir9. Bir convolutional sinir ağı giriş görüntüsünü alır ve ağ katmanlarının her birinde, en yaygın olanı konvolüsyonel, tam bağlı ve havuza alma katmanları olan bir dizi işlem gerçekleştirir. Evrişimsel katmanlar, giriş verilerindeki belirli özelliklere yanıt veren öğrenilebilir filtreler içerirken, tam bağlı katmanlar, ondan daha üst düzey bilgi edinmek için diğer katmanlardan çıktı verileri besteler. Katmanları havuzu oluşturmanın amacı, giriş verilerini aşağıörneklemektir 2. Popüler olduğu kanıtlanan derin öğrenme modellerini kullanmaya yönelik iki yaklaşım vardır: bu makalede derin öğrenme mimarisi olarak adlandırılan mevcut bir derin sinir ağı tanımı10,11' i almak veya yeni bir derin öğrenme mimarisi tanımlamak12,13ve bunlardan herhangi birini bir gıda görüntüsü veri kümesinde eğitmek. Her iki yaklaşımın da güçlü ve zayıf yönleri vardır - mevcut bir derin öğrenme mimarisini kullanırken, diğer sorunlar için iyi performans gösteren bir mimari seçilebilir ve istenen sorun için ince ayar yapılabilir, böylece zamandan tasarruf edilebilir ve doğrulanmış bir mimarinin seçilmesini sağlar. Öte yandan, yeni bir derin öğrenme mimarisi tanımlamak daha yoğundur, ancak özellikle bir sorunun özelliklerini dikkate almak ve böylece teorik olarak bu sorun için daha iyi performans gösteren mimarilerin geliştirilmesine izin verir.
Bu yazıda her iki yaklaşımı da sunuyoruz. Gıda görüntü tanıma sorunu için, yeni bir DCNN mimarisi geliştirdik NutriNet2, tanınmış AlexNet mimarisinin bir modifikasyonu14. AlexNet'e kıyasla iki ana fark vardır: NutriNet, 512x512 piksel görüntüleri giriş olarak kabul eder (AlexNet için 256x256 piksel görüntülerin aksine) ve NutriNet sinir ağının başında ek bir evlilik katmanına sahiptir. Bu iki değişiklik, tanıma veri kümesi görüntülerinden mümkün olduğunca fazla bilgi ayıklamak için tanıtıldı. Daha yüksek çözünürlüklü görüntülere sahip olmak, görüntülerde daha fazla bilgi olduğu ve daha fazla konvoksiyon katmanına sahip olduğu anlamına geliyordu, bu da görüntülerden ek bilgi çıkarabileceği anlamına geliyordu. AlexNet'in yaklaşık 60 milyon parametresine kıyasla NutriNet daha az parametre içerir: yaklaşık 33 milyon. Bunun nedeni, ek eşlem katmanı2'ninneden olduğu ilk tam bağlı katmandaki boyutsallık farkıdır. Şekil 1, NutriNet mimarisinin bir diyagramını içerir. NutriNet modelini eğitmek için kullanılan yemek görüntüleri internetten toplanmıştır - prosedür protokol metninde açıklanmıştır.
Gıda görüntüsü segmentasyon sorunu için iki farklı mevcut mimari kullandık: tamamen konvolüsyonal ağlar (FCN'ler)15 ve derin artık ağlar (ResNet)16, her ikisi de ilgili gıda görüntü segmentasyon çözümlerini geliştirmek için kullandığımızda görüntü segmentasyonu için en son teknolojiyi temsil ediyordu. Long ve ark.: FCN-32s, FCN-16s ve FCN-8s15tarafından tanıtılan birden fazla FCN varyantı vardır. FCN-32s, FCN'nin son katmanının tahminlerine göre bir piksel haritası oluştururken, FCN-16s varyantı bu tahminleri önceki bir katmandakilerle birleştirir. FCN-8s başka bir katmanın tahminlerini dikkate alıyor ve bu nedenle en iyi tahılda tahminlerde bulunabiliyor, bu yüzden gıda görüntüsü tanıma için uygun. Kullandığımız FCN-8'ler PASCAL Görsel Nesne Sınıfları (PASCAL VOC) veri kümesi17 üzerinde önceden eğitildi ve gerçek gıdaya görsel benzerlikleri ve piksel seviyesindeki gerçek gıdanın açıklamalı görüntülerinin olmaması nedeniyle gıda replikalarının (bundan böyle 'sahte gıda')18 görüntüleri üzerinde eğitildi ve test edildi. Farklı davranışsal çalışmalarda sahte yiyecekler kullanılmakta ve tüm çalışma katılımcılarından tüm yemekler için görüntüler alınmaktadır. Bu görüntülerin gıda içeriği bilindiğinden, görüntü veri kümesini derin öğrenme modeli eğitimi için kullanışlı hale getirir. Veri kümesi işleme adımları protokol metninde açıklanmıştır.
ResNet tabanlı çözüm, Gıda Tanıma Mücadelesi (FRC)19kapsamında geliştirilmiştir. ResNet-10116 omurgalı Karma Görev Basamaklı (HTC)20 yöntemini kullanır. Bu, farklı özellik çıkarıcıları veya omurgaları kullanabilen görüntü segmentasyon sorunu için son teknoloji ürünü bir yaklaşımdır. Diğer omurga ağlarını da, özellikle ResNet-5016gibi diğer ResNet varyantlarını da göz önünde bulundurduk, ancak ResNet-101, giriş görüntülerini yeterince karmaşık bir şekilde temsil etme derinliği ve yeteneği nedeniyle en uygun olanıydı. HTC ResNet-101 modelini eğitmek için kullanılan veri kümesi, artırılmış görüntüler eklenmiş FRC veri kümesiydi. Bu büyütmeler protokol metninde sunulur.
Bu makale, hangi derin öğrenme mimarilerinin ve veri büyütme adımlarının gıda görüntüsü tanıma ve segmentasyon sorunları için iyi performans gösterdiği hakkında bilgi arayan makine öğrenimi uzmanlarının yanı sıra, diyet değerlendirmesinde kullanılmak üzere gıda görüntüsü tanıma yaklaşımımızı kullanmak isteyen beslenme araştırmacıları için bir kaynak olarak tasarlanmıştır. Aşağıdaki paragraflarda, gıda görüntü tanıma alanından derin öğrenme çözümleri ve veri kümeleri sunulmuştur. Protokol metninde, üç yaklaşımın her birinin otomatik diyet değerlendirmesi için kullanılabilecek derin sinir ağı modellerini eğitmek için nasıl kullanıldığını detaylandırıyoruz. Ayrıca, her protokol bölümü, eğitim ve test için kullanılan gıda görüntüsü veri kümelerinin nasıl alındığını ve işlendiğinin açıklamasını içerir.
DCNN'ler genellikle gıda görüntüsü tanıma ve segmentasyon için diğer yöntemlerden önemli ölçüde daha iyi sonuçlar elde etti, bu yüzden alandaki son araştırmaların büyük çoğunluğu bu ağlara dayanıyor. Kawano ve arkadaşları manuel yaklaşımları tamamlamak için DCNN'leri kullandı21 ve UEC-FOOD100 veri kümesinde% 72.26 sınıflandırma doğruluğuelde etti 22. Christodoulidis ve ark. bunları sadece kendi edindiği bir veri kümesinde% 84.90 daha yüksek bir doğruluk elde etmek için kullandı23. Tanno ve arkadaşları DeepFoodCam geliştirdi - DCNNs24kullanan gıda görüntüsü tanıma için bir akıllı telefon uygulaması . Liu ve arkadaşları, DCNNs25kullanarak Nesnelerin İnterneti tabanlı bir diyet değerlendirmesi yapan bir sistem sundu. Martinel ve arkadaşları, gıda görüntüleri26'nın özelliklerinden yararlanan ve Food-101 verikümesi27'de% 90.27 doğruluk bildiren DCNN tabanlı bir yaklaşım sundu. Zhou ve arkadaşları, gıda alanında derin öğrenme çözümlerinin bir incelemesini yaptı28.
Son zamanlarda, Zhao ve arkadaşları özellikle mobil uygulamalarda gıda görüntüsü tanıma için bir ağ önerdi29. Bu yaklaşım, daha büyük bir 'öğretmen' ağından öğrenen daha küçük bir 'öğrenci' ağı kullanır. Bununla birlikte, UEC-FOOD25630'da% 84 doğruluk ve Food-101 veri kümesinde% 91.2 doğruluk elde etmeyi başardılar27. Hafız ve arkadaşları, yalnızca içecek görüntü tanıma çözümü geliştirmek için DCNN'leri kullandı ve% 98.5131gibi çok yüksek bir doğruluk bildirdi. Shimoda ve arkadaşları, piksel açısından ek açıklama kullanmadan gıda görüntülerindeki plaka bölgelerini tespit etmek için yeni bir yöntem tanımladı32. Ciocca ve arkadaşları, 11 farklı durumda (katı, dilimlenmiş, kremalı macun vb.) 20 farklı gıda sınıfından gıda maddelerini içeren yeni bir veri kümesi tanıttı ve gıda sınıfı33'eek olarak gıda durumunu tanıyabilen eğitim tanıma modelleri için yaklaşımlarını sundu. Knez ve ark. mobil cihazlar için gıda görüntü tanıma çözümlerini değerlendirdi34. Son olarak, Furtado ve arkadaşları, insan görsel sisteminin DCNN'lerin performansına kıyasla nasıl olduğu üzerine bir çalışma yaptı ve insan tanımanın hala % 80'e karşı% 74.535doğrulukla DCNN'lerden daha iyi performans gösterdi. Yazarlar, az sayıda gıda sınıfı ile DCNN'lerin iyi performans gösterdiğini, ancak yüzlerce sınıfa sahip bir veri kümesinde, insan tanıma doğruluğunun35'inüzerinde olduğunu belirterek sorunun karmaşıklığını vurguladı.
Son teknoloji sonuçlarına rağmen, derin öğrenmenin büyük bir dezavantajı vardır - modeli eğitmek için büyük bir giriş veri kümesi gerektirir. Gıda görüntüsü tanıma durumunda, büyük bir gıda görüntüsü veri kümesi gereklidir ve bu veri kümesinin mümkün olduğunca çok farklı gerçek dünya senaryosunu kapsaması gerekir. Pratikte bu, her bir yiyecek veya içecek öğesi için büyük bir görüntü koleksiyonu gerektiği ve veri kümesinde mümkün olduğunca çok sayıda farklı öğenin bulunması gerektiği anlamına gelir. Veri kümesinde belirli bir öğe için yeterli görüntü yoksa, bu öğenin başarıyla tanınması olası değildir. Öte yandan, veri kümesi tarafından sadece az sayıda öğe kapsanırsa, çözüm kapsam olarak sınırlanacak ve yalnızca bir avuç farklı yiyecek ve içeceği tanıyabilecektir.
Geçmişte birden çok veri kümesi kullanılabilir hale getirildi. Pittsburgh Fast-Food Image Dataset (PFID)3, gıda görüntü tanıma alanında daha fazla araştırmayı teşvik etmek için tanıtıldı. Elektro-İletişim Üniversitesi Gıda 100 (UEC-FOOD100)22 ve Elektro İletişim Üniversitesi Gıda 256 (UEC-FOOD256)30 veri kümesi, UEC-FOOD256 veri kümesi durumunda bazı uluslararası yemeklerle genişletilen Japon yemekleri içerir. Food-101 veri kümesi, bir web sitesinden edinilen popüler yemekleri içerir27. Food-5036 ve Video Alma Grubu Gıda 172 (VireoFood-172)37 veri kümesi, Çin merkezli gıda görüntüleri koleksiyonlarıdır. Milano-Bicocca Üniversitesi 2016 (UNIMIB2016) veri kümesi, bir İtalyan kantininden yemek tepsilerinin görüntülerinden oluşur38. Recipe1M, yemek tarifleri ve yemek görüntülerinin geniş ölçekli bir verikümesidir 39. Food-475 veri kümesi40, daha önce yayımlanan dört gıda görüntü veri kümesi27,30,36,37'yi bir arada toplar. Pekin Teknoloji ve İşletme Üniversitesi Gıda 60 (BTBUFood-60), gıda tespiti için bir görüntü veri kümesidir41. Son zamanlarda, ISIA Food-500 veri kümesi42 çeşitli gıda görüntüleri kullanıma sunuldu. Kamuya açık diğer gıda görüntü veri kümelerine kıyasla, 500 gıda sınıfına ayrılmış çok sayıda görüntü içerir ve multimedya gıda tanıma çözümlerinin geliştirilmesini ilerletmek içindir42.
1. NutriNet ile gıda görüntü tanıma
2. FCN'lerle gıda görüntüsü segmentasyonu
3. HTC ResNet ile gıda görüntüsü segmentasyonu
NutriNet, zamanın üç popüler derin öğrenme mimarisine karşı test edildi: AlexNet14, GoogLeNet51 ve ResNet16. En uygun değerleri tanımlamak için tüm mimariler için birden fazla eğitim parametresi de test edilmiştir2. Bunlar arasında, kayıp işlevinin nasıl en aza indirildiğini belirleyen çözücü tipi seçimi vardır. Bu işlev, sınıflandırma doğruluğundan ziyade eğitim sırasında optimizasyon için daha uygun olduğu için sinir ağlarını eğitmek için birincil kalite ölçüsüdür. Üç çözücü test ettik: Stochastic Gradyan Descent (SGD)52, Nesterov's Accelerated Gradient (NAG)53 ve Adaptive Gradyan algoritması (AdaGrad)54. İkinci parametre, aynı anda işlenen görüntü sayısını tanımlayan toplu iş boyutudur. Derin öğrenme mimarisinin derinliği, daha derin mimariler GPU belleğinde daha fazla alan gerektirdiğinden, bu parametrenin değerini belirledi - bu yaklaşımın sonucu, belleğin derinlik ne olursa olsun tüm mimariler için tamamen görüntülerle dolu olmasıydı. Üçüncü parametre, sinir ağı parametrelerinin eğitim sırasında değiştirilme hızını tanımlayan öğrenme hızıdır. Bu parametre, aynı anda işlenen görüntülerin sayısı yakınsama oranını belirlediğinden, toplu iş boyutuyla birlikte ayarlanmıştır. AlexNet modelleri 256 görüntülük bir toplu iş boyutu ve 0,02 temel öğrenme oranı kullanılarak eğitildi; NutriNet 128 görüntülük bir toplu iş boyutu ve 0,01 oranı kullandı; GoogLeNet 64 resim ve 0.005 oranı; ve ResNet 16 resim ve 0.00125 oranı. Tüm mimariler için üç parametre daha düzeltildi: öğrenme hızı ilkesi (aşağı adım), adım boyutu (%30) ve gama (0.1). Bu parametreler, öğrenme oranının her çağda nasıl değiştiğini birlikte açıklar. Bu yaklaşımın arkasındaki fikir, modelin optimal kayıp değerine ne kadar yaklaşırsa o kadar ince ayar yapmak için öğrenme oranının kademeli olarak düşürülmesidir. Son olarak, eğitim dönemlerinin sayısı da tüm derin öğrenme mimarileri için 150'ye sabitlendi2.
NutriNet'in elde ettiği tüm parametreler arasında en iyi sonuç, alexnet için en iyi sonuçtan yaklaşık% 2 daha yüksek ve GoogLeNet'in en iyi sonucundan biraz daha yüksek olan tanıma veri kümesinde% 86.72'lik bir sınıflandırma doğruluğuydu. Genel olarak en iyi performans gösteren mimari ResNet 'tir (%1 civarında), ancak ResNet için eğitim süresi NutriNet'e kıyasla önemli ölçüde daha yüksektir (yaklaşık beş kat daha fazladır), bu da modellerin doğruluğu ve tanınabilir gıda maddelerinin sayısını artırmak için sürekli olarak yeniden eğitilmesi durumunda önemlidir. NutriNet, AlexNet ve GoogLeNet en iyi sonuçlarını AdaGrad çözücüsünü kullanarak elde etti, ResNet'in en iyi modeli ise NAG çözücüyü kullandı. NutriNet ayrıca kamuya açık UNIMIB2016 gıda görüntü veri kümesi38üzerinde test edildi. Bu veri kümesi, 73 farklı gıda maddesinin 3.616 görüntülerini içerir. NutriNet, bu veri kümesinde % 86,39'luk bir tanıma doğruluğu elde etti ve veri kümesinin yazarlarının % 85,80 olan temel tanıma sonucunu biraz geride bıraktı. Ek olarak, NutriNet, 115 farklı yiyecek ve içecek öğesinin 200 gerçek dünyadaki görüntüsünden oluşan küçük bir veri kümesinde test edildi ve NutriNet% 55'lik bir doğruluk elde etti.
FCN-8s sahte gıda görüntü segmentasyon modelini eğitmek için, bu görev için en iyi performansı gösterdiğini bulduğumuz için çözücü tipi olarak Adam55'i kullandık. Temel öğrenme oranı çok düşük olarak 0.0001 olarak belirlendi. Sayının düşük olmasının nedeni, aynı anda yalnızca bir görüntünün işlenebiliyor olmasıdır, bu da piksel düzeyinde sınıflandırma işleminin bir sonucudur. Bu yaklaşım için GPU bellek gereksinimleri görüntü düzeyi sınıflandırmasından önemli ölçüde daha büyüktür. Bu nedenle, parametrelerin çok hızlı değiştirilmemesi ve daha az optimal değerlere yakınsaması için öğrenme oranının düşük olarak ayarlanmaları gerekiyordu. Eğitim dönemi sayısı 100 olarak ayarlanırken, öğrenme hızı politikası, adım boyutu ve gama, bu parametreler en doğru modelleri ürettiği için sırasıyla % 34 ve 0.1 olarak belirlendi.
FCN-8s modelinin doğruluk ölçümleri, geleneksel derin öğrenme ağlarının sınıflandırma doğruluğuna benzer olan piksel doğruluğu ölçüsü15kullanılarak gerçekleştirildi, temel fark, doğruluğun görüntü düzeyi yerine piksel düzeyinde hesaplanmış olmasıdır:
BURADA PA piksel doğruluk ölçüsüdür, nij, j sınıfına ait olduğunu tahmin ettiğim sınıftaki piksel sayısıdır ve ti = Φj nij, zemin gerçeği etiketlerinde sınıftan toplam pikselsayısıdır 1. Başka bir deyişle, piksel doğruluk ölçüsü, doğru tahmin edilen piksellerin toplam piksel sayısına bölünmesiyle hesaplanır. Eğitimli FCN-8s modelinin son isabet oranı %92,18 idi. Şekil 2, sahte gıda görüntü veri kümesinden (eğitim, doğrulama ve test alt kümelerinin her birinden bir tane) ve ilgili temel doğruluk ve model tahmin etiketlerinden üç örnek görüntü gösterir.
HTC20 ResNet-101 modelini gıda görüntüsü segmentasyonu için eğitmek için parametreler şu şekilde ayarlandı: kullanılan çözücü türü SGD idi çünkü diğer çözücü türlerini geride bıraktı. Temel öğrenme oranı 0,00125 ve toplu iş boyutu 2 görüntü olarak ayarlandı. Eğitim dönemlerinin sayısı eğitim aşaması başına 40 olarak belirlendi ve birden fazla eğitim aşaması gerçekleştirildi - önce artırılmış görüntüler olmadan orijinal FRC veri kümesinde, daha sonra 8x artırılmış ve 4x artırılmış FRC veri kümesinde, her seferinde en iyi performans gösteren modeli alarak ve bir sonraki eğitim aşamasında ince ayar yaparak. Eğitim aşamaları hakkında daha fazla ayrıntı protokol metninin bölüm 3.3'unda bulunabilir. Son olarak, öğrenme oranının azaldığı zaman için sabit dönemler (ilk eğitim aşaması için 28 ve 35 dönemleri) ile birlikte geri adım öğrenme politikası kullanılmıştır. Dikkat etmesi gereken önemli bir şey, bu eğitim aşamaları dizisi FRC kapsamındaki testlerimizde en iyi sonuçları verirken, başka bir veri kümesi kullanmanın en iyi sonuçları üretmek için farklı bir sıra gerektirebileceğidir.
Gıda görüntüsü segmentasyonu için bu ResNet tabanlı çözüm, aşağıdaki hassas önlem19kullanılarak değerlendirildi:
burada P hassastır, TP gıda görüntüsü segmentasyon modeli tarafından gerçek pozitif tahminlerin sayısıdır, FP yanlış pozitif tahminlerin sayısıdır ve IoU bu denklemle hesaplanan Birlik Üzerinde Kesişimdir:
burada Örtüşmemiş Alan, temel gerçekle örtüşen modelin tahmin sayısını temsil eder ve Area of Union, modelin toplam tahmin sayısını hem piksel düzeyinde hem de her bir gıda sınıfı için temel gerçekle birlikte temsil eder. Geri çağırma ikincil bir ölçü olarak kullanılır ve aşağıdaki formül19kullanılarak benzer şekilde hesaplanır:
burada R geri çağrılır ve FN gıda görüntü segmentasyon modeli tarafından yanlış negatif tahminlerin sayısıdır. Hassasiyet ve geri çağırma önlemleri daha sonra temel gerçeklerdeki tüm sınıflarda ortalamaya göre ölçülür. Bu önlemleri kullanarak, modelimiz ortalama% 59.2 hassasiyet ve ortalama% 82.1 geri çağırma elde etti, bu da Gıda Tanıma Challenge19'unikinci turunda ikinci sırada yer aldı. Bu sonuç ortalama hassas ölçüm açısından birinci sıranın %4,2, üçüncülüğün ise %5,3 önünde gerçekleşti. Tablo 1, yarışmaya katılan ilk 4 katılımcının sonuçlarını içerir.
Şekil 1: NutriNet derin sinir ağı mimarisinin şeması. Bu rakam Mezgec ve ark.2.'de yayınlanmıştır. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Şekil 2: Sahte gıda görüntü veri kümesinden görüntüler. Orijinal görüntüler (solda), manuel olarak etiketlenmiş yer gerçeği etiketleri (ortada) ve FCN-8s modelinden tahminler (sağda). Bu rakam Mezgec ve ark.1. Bu rakamın daha büyük bir sürümünü görüntülemek için lütfen buraya tıklayın.
Takım Adı | Yerleşim | Ortalama Duyarlık | Ortalama Geri Çekme |
rssfete | 1 | 63.4% | 88.6% |
simon_mezgec | 2 | 59.2% | 82.1% |
arimboux | 3 | 53.9% | 73.5% |
latentvec | 4 | 48.7% | 71.1% |
Tablo 1: Gıda Tanıma Mücadelesi'nin ikinci turundan ilk 4 sonuçları. Birincil performans ölçüsü olarak ortalama hassasiyet ve ikincil ölçü olarak ortalama geri çağırma alınır. Sonuçlar resmi yarışma skor tablosundan alınmıştır19.
Ek Dosyalar. Bu Dosyayı indirmek için lütfen tıklayınız.
Son yıllarda, derin sinir ağları gıda görüntülerini tanımak için uygun bir çözüm olarak birçok kez doğrulanmıştır10,11,12,21,23,25,26,29,31,33. Bu makalede sunulan çalışmamız, bu1,2. Tek çıkışlı gıda görüntü tanıma yaklaşımı basittir ve yalnızca bir yiyecek veya içecek öğesine sahip görüntülerin beklendiği basit uygulamalar için kullanılabilir2.
Gıda görüntüsü segmentasyon yaklaşımı, gıda maddelerinin sayısında herhangi bir kısıtlama olmaksızın, genel olarak gıda görüntülerini tanımak için özellikle uygun görünmektedir1. Görüntünün her bir pikselini sınıflandırarak çalıştığından, yalnızca görüntüdeki herhangi bir sayıda gıda öğesini tanımakla kalmaz, aynı zamanda bir gıda öğesinin nerede bulunduğunu ve ne kadar büyük olduğunu da belirtebilirsiniz. İkincisi daha sonra, özellikle bir referans nesnesi veya sabit mesafeli bir kamera ile kullanılıyorsa, gıda ağırlığı tahminini gerçekleştirmek için kullanılabilir.
3 , 22,27,30 , 36,37,38,39,40,41,42yiyecek görüntü kümelerinin kullanılabilirliği ile ilgili bazı çalışmalar yapılmıştır ve özellikle dünyanın farklı bölgelerinden gıda görüntü veri kümelerinin toplanması söz konusu olduğunda, gelecekte daha sağlam çözümler geliştirilmesini sağlayacak daha fazlasının yapılmasını umuyoruz. Şu anda, otomatik gıda görüntü tanıma çözümlerinin doğruluğu henüz insan düzeyinde doğruluğa ulaşmamıştır35ve bu büyük ölçüde yetersiz boyut ve kalitede gıda görüntü veri kümelerinin kullanımı nedeniyle muhtemeldir.
Gelecekte, amacımız gerçek dünyadaki görüntüler üzerinde geliştirilen prosedürleri daha fazla değerlendirmek olacaktır. Genel olarak, bu alandaki veri kümeleri genellikle kontrollü ortamlarda çekilen görüntüleri veya tanıma için el ile en iyi duruma getirilmiş görüntüleri içerir. Bu nedenle, bireylerin tanımak isteyebileceği tüm farklı yiyecek ve içecek öğelerini kapsayacak şekilde geniş ve çeşitli bir gerçek dünya gıda görüntü veri kümesi toplamak önemlidir. Bu yöndeki ilk adım, gerçek dünyadaki gıda görüntülerinin bir veri kümesini içeren Food Recognition Challenge tarafından sağlandı19, ancak dünyanın dört bir yanından gelen gıda görüntüleri ve diyetisyenlerle işbirliği içinde bu yaklaşımı doğrulamak için daha fazla çalışma yapılması gerekiyor.
Yazarların açıklayacak bir şeyi yok.
Yazarlar, Sahte gıda görüntü veri kümesini sağladığı için Avustralya Newcastle Üniversitesi'nden Tamara Bucher'e teşekkür etmek istiyor. Bu çalışma Avrupa Birliği'nin Horizon 2020 araştırma ve inovasyon programları (hibe numaraları 863059 - FNS-Cloud, 769661 - SAAM) tarafından desteklendi; ve Sloven Araştırma Ajansı (hibe numarası P2-0098). Avrupa Birliği ve Sloven Araştırma Ajansı'nın bu makalenin tasarımında, analizinde veya yazılmasında hiçbir rolü yoktur.
Name | Company | Catalog Number | Comments |
HARDWARE | |||
NVIDIA GPU | NVIDIA | N/A | An NVIDIA GPU is needed as some of the software frameworks below will not work otherwise. https://www.nvidia.com |
SOFTWARE | |||
Caffe | Berkeley AI Research | N/A | Caffe is a deep learning framework. https://caffe.berkeleyvision.org |
CLoDSA | Jónathan Heras | N/A | CLoDSA is a Python image augmentation library. https://github.com/joheras/CLoDSA |
Google API Client | N/A | Google API Client is a Python client library for Google's discovery-based APIs. https://github.com/googleapis/google-api-python-client | |
JavaScript Segment Annotator | Kota Yamaguchi | N/A | JavaScript Segment Annotator is a JavaScript image annotation tool. https://github.com/kyamagu/js-segment-annotator |
MMDetection | Multimedia Laboratory, CUHK | N/A | MMDetection is an object detection toolbox based on PyTorch. https://github.com/open-mmlab/mmdetection |
NVIDIA DIGITS | NVIDIA | N/A | NVIDIA DIGITS is a wrapper for Caffe that provides a graphical web interface. https://developer.nvidia.com/digits |
OpenCV | Intel | N/A | OpenCV is a library for computer vision. https://opencv.org |
Python | Python Software Foundation | N/A | Python is a programming language. https://www.python.org |
PyTorch | Facebook AI Research | N/A | PyTorch is a machine learning framework. https://pytorch.org |
Ubuntu OS | Canonical | N/A | Ubuntu 14.04 is the OS used by the authors and offers compatibility with all of the software frameworks and tools above. https://ubuntu.com |
Bu JoVE makalesinin metnini veya resimlerini yeniden kullanma izni talebi
Izin talebiThis article has been published
Video Coming Soon
JoVE Hakkında
Telif Hakkı © 2020 MyJove Corporation. Tüm hakları saklıdır