Journal
/
/
Görüntü Tabanlı Diyet Değerlendirmesi için Derin Sinir Ağları
JoVE Journal
Engineering
Author Produced
This content is Free Access.
JoVE Journal Engineering
Deep Neural Networks for Image-Based Dietary Assessment

Görüntü Tabanlı Diyet Değerlendirmesi için Derin Sinir Ağları

8,691 Views

13:19 min

March 13, 2021

DOI:

13:19 min
March 13, 2021

30 Views
,

Transcript

Automatically generated

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, alandaki en son teknolojiyi temsil eden derin sinir ağlarını kullanarak diyet değerlendirmesine yönelik bu tür görüntü tabanlı yaklaşımlara odaklanacağız.

Özellikle, biri gıda görüntü tanıma, biri gıda kopyalarının veya sahte yiyeceklerin görüntü segmentasyonu ve diğeri gerçek gıdanın görüntü segmentasyonu için olmak üzere üç çözüm sunacağız. Gıda görüntü tanıma modelinin çıktıları olacak farklı yiyecek ve içeceklerin bir listesini toplayın. Yiyecek ve içecek listesini TXT veya CSV gibi bir metin dosyasına kaydedin.

Bu makalenin yazarları tarafından kullanılan metin dosyasının gıda maddeleri dot TXT altındaki ek dosyalarda bulunabileceğini ve 520 Sloven gıda maddesinin bir listesini içerdiğini unutmayın. Her gıda öğesinin görüntülerini listeden indirmek için Google özel arama API’sini kullanan ve bunları her gıda öğesi için ayrı bir klasöre kaydeden bir Python komut dosyası yazın veya indirin. Bu makalenin yazarları tarafından kullanılan Python komut dosyasının, indirme görüntüleri dot pi altındaki ek dosyalarda bulunabileceğini unutmayın.

Bu komut dosyası kullanılıyorsa, Python komut dosyası kodundaki geliştirici anahtar değişkeni geliştirici anahtar satırı sekiz ve Python komut dosyası kodundaki özel arama motoru kimliği değişkeni CX satırı 28’in, kullanılan Google hesabına özgü değerlerle değiştirilmesi gerekir. Python komut dosyasını adım 1.1.3’ten çalıştırın. CLoDSA kitaplığını kullanarak 90 derece döndürerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun.

Bu makalenin yazarları tarafından kullanılan tüm CLoDSA komutlarını içeren Python komut dosyasının NutriNet alt çizgi büyütme noktası pi altındaki ek dosyalarda bulunan bir dosyada bulunabileceğini unutmayın. CLoDSA kitaplığını kullanarak 180 derece döndürerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun. CLoDSA kitaplığını kullanarak 270 derece döndürerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun.

CLoDSA kitaplığını kullanarak yatay olarak çevirerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun. CLoDSA kitaplığını kullanarak, ona rastgele renk gürültüsü ekleyerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun. CLoDSA kitaplığını kullanarak %25 oranında yakınlaştırarak gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun.

Orijinal görüntülerle birlikte 1.3.1 ile 1.3.6 adımlarının görüntülerini yeni bir gıda görüntüsü veri kümesine kaydedin. Toplamda, gıda görüntüsü başına yedi varyant. Gıda görüntüsü veri kümesini adım 1.3.7’den NVIDI basamak ortamına aktararak veri kümesini eğitim, doğrulama ve test alt kümelerine bölün.

NutriNet mimarisinin tanım metnini kopyalayıp NVIDIA basamaklarına yapıştırın. NutriNet mimarisi tanımının NutriNet dot proto TXT altındaki ek dosyalarda bulunabileceğini unutmayın. İsteğe bağlı olarak, NVIDIA basamaklarında eğitim hiper parametrelerini tanımlayın veya varsayılan değerleri kullanın.

Bu makalenin yazarları tarafından kullanılan hiper parametreler, NutriNet alt çizgi hiper parametreleri dot proto TXT altındaki ek dosyalarda bulunan bir dosyada bulunabilir. NutriNet modelinin eğitimini çalıştırın. Eğitim tamamlandıktan sonra, en iyi performans gösteren NutriNet model yinelemesini alın.

Bu model daha sonra bu yaklaşımın performansını test etmek için kullanılır. En iyi performans gösteren model yinelemesini belirlemenin birden çok yolu olduğunu unutmayın. Daha fazla ayrıntı için makale metinlerine bakın.

Sahte gıda görüntülerinin bir veri kümesini edinin. Bu makalenin yazarlarının laboratuvar ortamında toplanan sahte yiyeceklerin görüntülerini aldıklarını unutmayın. Piksel düzeyindeki her gıda görüntüsüne manuel olarak açıklama ekleme.

Görüntüdeki her piksel, hangi gıda sınıfına ait olduğu hakkında bilgi içermelidir. Bunu başarmak için birçok araç olduğunu unutmayın. Bu makalenin yazarları JavaScript segment ek açıklamalayıcısını kullandı.

Bu adımın sonucu, her pikselin gıda sınıflarından birini temsil ettiği gıda görüntüsü veri kümesinden her görüntü için bir ek açıklama görüntüsüdür. Bölüm 1.3’tekiyle aynı adımları gerçekleştirin, ancak yalnızca gıda görüntüsü veri kümesinin eğitim alt kümesindeki görüntülerde gerçekleştirin. Adım 1.3.5 dışında, tüm veri büyütme adımlarının ilgili ek açıklama görüntülerinde de gerçekleştirilmesi gerektiğini unutmayın.

1.4.2 adımı dışında bölüm 1.4’tekiyle aynı adımları uygulayın. Bu adımın yerine 2.3.2 ve 2.3.3 adımlarını gerçekleştirin. Bu makalenin yazarları tarafından kullanılan eğitim hiper parametrelerinin FCN-8S alt çizgi hiper parametreleri dot proto TXT altındaki ek dosyalarda bulunabileceğini unutmayın.

FCN-8S mimarisinin tanım metnini kopyalayıp NVIDIA basamaklarına yapıştırın. Önceden eğitilmiş FCN-8S model ağırlıklarını NVIDIA basamaklarına girin. Bu model ağırlıklarının Pascal görsel nesne sınıfları veri kümesinde önceden eğitildiğini ve internette bulunabileceğini unutmayın.

Food Recognition Challenge web sitesinden yemek görseli veri setini indirin. 1.3.1 ile 1.3.4 arasında adımlar gerçekleştirin. Bu makalenin yazarları tarafından kullanılan tüm CLoDSA komutlarını içeren Python komut dosyasının, FRC alt çizgi büyütme noktası pi altındaki ek dosyalarda bulunan dosyada bulunabileceğini unutmayın.

CLoDSA kitaplığını kullanarak, ona gauss bulanıklığı ekleyerek gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun. CLoDSA kitaplığını kullanarak, her görüntüyü keskinleştirerek gıda görüntüsü veri kümesinden yeni bir sürümünü oluşturun. CLoDSA kitaplığını kullanarak gama düzeltmesi uygulayarak gıda görüntüsü veri kümesinden her görüntünün yeni bir sürümünü oluşturun.

Orijinal görüntülerle birlikte 3.2.1 ile 3.2.4 adımlarının görüntülerini yeni bir gıda görüntüsü veri kümesine kaydedin. Toplamda, gıda görüntüsü başına sekiz varyant. Orijinal görüntülerle birlikte 3.2.2 ile 3.2.4 adımlarının görüntülerini yeni bir gıda görüntüsü veri kümesine kaydedin.

Toplamda, gıda görüntüsü başına dört varyant. MM Algılama kitaplığındaki varolan HTC ResNet 101 mimarisi tanımını, 3.1.1, 3.2.5 ve 3.2.6 adımlarındaki gıda görüntü veri kümelerini kabul etmek için değiştirin. İsteğe bağlı olarak, eğitim hiper parametrelerini tanımlamak veya varsayılan değerleri kullanmak için HTC ResNet 101 mimari tanımını adım 3.3.1’den değiştirin.

Değiştirilen HTC ResNet 101 mimari tanımının HTC alt çizgi ResNet 101 dot pi altındaki ek dosyalarda bulunabileceğini unutmayın. HTC ResNet 101 modelinin eğitimini MM Algılama kitaplığını kullanarak 3.1.1 adımındaki gıda görüntü veri kümelerinde çalıştırın. 3.3.3 adımındaki eğitim tamamlandıktan sonra, en iyi performans gösteren HTC ResNet 101 model yinelemesini alın ve 3.2.5 adımından itibaren gıda görüntü verileri kümesinde eğitimin bir sonraki aşamasını çalıştırarak ince ayar yapın.

En iyi performans gösteren model yinelemesini belirlemenin birden çok yolu olduğunu unutmayın. Daha fazla ayrıntı için makale metinlerine bakın. Bu, sonraki adımlar için de geçerlidir.

3.3.4 adımındaki eğitim tamamlandıktan sonra, en iyi performans gösteren HTC ResNet 101 model yinelemesini alın ve 3.2.6 adımından gıda görüntü veri kümesinde eğitimin bir sonraki aşamasını çalıştırarak ince ayar yapın. 3.3.5 adımındaki eğitim tamamlandıktan sonra, en iyi performans gösteren HTC ResNet 101 model yinelemesini alın ve 3.2.5 adımından itibaren gıda görüntü verileri kümesinde eğitimin bir sonraki aşamasını tekrar çalıştırarak ince ayar yapın. 3.3.6 adımındaki eğitim tamamlandıktan sonra, en iyi performans gösteren HTC ResNet 101 model yinelemesini alın.

Bu model daha sonra bu yaklaşımın performansını test etmek için kullanılır. 3.3.3 ile 3.3.7 arasında atılan adımların, bu makalenin yazarları tarafından tanımlanan amaçlar için en iyi sonuçları verdiğini unutmayın. En uygun eğitim ve veri büyütme adımlarını bulmak için her veri kümesi için deneme gereklidir.

Trend modelini test ettikten sonra NutriNet, alexnet’ten yaklaşık% 2 ve zamanın popüler derin sinir ağı mimarileri olan GoogLeNet’ten biraz daha yüksek olan tanıma veri kümesinde% 86.72 sınıflandırma doğruluğu elde etti. FCN-8S sahte gıda görüntüsü segmentasyon modelinin doğruluğunu ölçmek için piksel doğruluk ölçüsü kullanıldı. Eğitimli FCN-8S modelinin doğruluğu %92,18’dir Gıda görüntü segmentasyonu için ResNet tabanlı çözüm, Gıda Tanıma Mücadelesi’nde tanımlanan hassas ölçü kullanılarak değerlendirildi.

Bu önlemi kullanarak tren modeli ortalama %59,2 hassasiyet elde etti ve bu da Gıda Tanıma Mücadelesi’nde ikinci sırada yer aldı. 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ır. Bu makalede sunulan çalışmalarımız bunu daha da kanıtlamaya hizmet ediyor.

Tek çıkışlı gıda görüntü tanıma yaklaşımı basittir ve basit uygulamalar için kullanılabilir. Gıda görüntüsü segmentasyon yaklaşımı açıklamalı görüntülerin hazırlanmasında daha fazla çalışma gerektirir, ancak gerçek dünya görüntüleri için çok daha uygulanabilir. Gelecekte, amacımız gerçek dünya görüntüleri üzerinde geliştirilen prosedürleri daha fazla değerlendirmek olacaktır.

Gerçek dünya doğrulamasına yönelik ilk adım, gerçek dünya gıda görüntülerinin bir veri setini içeren Food Recognition Challenge tarafından sağlandı. 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.

Summary

Automatically generated

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.

Read Article