Bilgisayarla Görme Yiyecekleri Nasıl Tanır: Yapay Zeka Kalori Takibi Teknolojisinin Perde Arkası

Evrişimli sinir ağları ve görüntü sınıflandırmanın yapay zeka destekli yiyecek tanımayı nasıl mümkün kıldığını keşfedin; Nutrola gibi uygulamaların basit bir fotoğrafı doğru kalori verisine nasıl dönüştürdüğünü öğrenin.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Telefonunuzun kamerasını bir tabak yemeğe her yöneltip anında kalori dökümü aldığınızda, perde arkasında sofistike bir yapay zeka süreçler zinciri devreye girer. Basit bir dokunuş gibi görünen bu işlem, aslında evrişimli sinir ağları, çok etiketli görüntü sınıflandırma ve yıllarca süren bilgisayarla görme araştırmalarını içerir. Bu teknolojinin nasıl çalıştığını anlamak, yapay zeka destekli kalori takibinin neden bu kadar doğru hale geldiğini ve neden gelişmeye devam ettiğini açıklamaya yardımcı olur.

Bu makale, yiyecek tanıma yapay zekasının arkasındaki temel teknolojiyi, sinir ağlarının temel yapı taşlarından tabağınızdaki yiyecekleri tanımlamanın özel mühendislik zorluklarına kadar ele almaktadır.

Bilgisayarla Görme Nedir ve Beslenme İçin Neden Önemlidir?

Bilgisayarla görme, makineleri gerçek dünyadan gelen görsel bilgileri yorumlama ve anlama konusunda eğiten bir yapay zeka dalıdır. İnsanlar bir kase yulaf lapası ile bir tabak makarnayı zahmetsizce ayırt edebilirken, bir bilgisayara aynı şeyi öğretmek milyonlarca etiketlenmiş görüntünün işlenmesini ve görsel kalıpların matematiksel modellerinin oluşturulmasını gerektirir.

Beslenme takibi açısından bilgisayarla görme, diyet öz izlemesindeki en büyük sorun noktasını çözer: manuel veri girişi problemi. Journal of the Academy of Nutrition and Dietetics'te yayımlanan araştırmalar, manuel yiyecek kaydının kalori alımının yüzde 10 ile 45 arasında eksik raporlanmasına yol açtığını göstermiştir. Yazılı açıklamaları bir fotoğrafla değiştirerek bilgisayarla görme, çoğu insanın ilk iki hafta içinde yiyecek takibini bırakmasına neden olan sürtünmeyi ortadan kaldırır.

Problemin Boyutu

Yiyecek tanıma, içerdiği muazzam çeşitlilik nedeniyle en zorlu görüntü sınıflandırma görevlerinden biri olarak kabul edilir:

  • Dünya mutfakları genelinde binlerce farklı yemek bulunmaktadır
  • Aynı yiyecek, hazırlanma yöntemine bağlı olarak çarpıcı biçimde farklı görünebilir
  • Aydınlatma, açı ve servis şekli görünümü etkiler
  • Birden fazla yiyecek genellikle aynı tabağı paylaşır ve eşzamanlı tanımlama gerektirir
  • Porsiyon boyutları düzgün kategorilere ayrılmak yerine sürekli değişim gösterir

Bu zorluklara rağmen, modern yiyecek tanıma sistemleri standart kıyaslamalarda yüzde 90'ın üzerinde ilk-5 doğruluk oranına ulaşmaktadır; yani doğru yiyecek, sistemin en iyi beş tahmininde on seferden dokuzundan fazlasında yer almaktadır.

Evrişimli Sinir Ağları: Yiyecek Tanımanın Temeli

Neredeyse her yiyecek tanıma sisteminin kalbinde, evrişimli sinir ağı veya CNN adı verilen bir derin öğrenme mimarisi bulunur. CNN'leri anlamak, telefonunuzun bir fotoğrafa bakıp size tavuk tikka masala ve basmati pilavı yediğinizi nasıl söyleyebildiğini anlamanın anahtarıdır.

Bir CNN Görüntüyü Nasıl İşler

Bir CNN, görüntüyü her biri giderek daha karmaşık görsel özellikleri algılamak için tasarlanmış bir dizi katmandan geçirerek işler:

Katman 1 - Kenar Algılama: İlk evrişim katmanı basit kenarları ve renk gradyanlarını algılamayı öğrenir. Bir kâsenin kavisli kenarını veya bir et parçası ile sosu arasındaki sınırı tanıyabilir.

Katman 2 - Doku Tanıma: Daha derin katmanlar kenarları dokulara dönüştürür. Ağ, esmer pirinçin taneli dokusunu beyaz pirinçin pürüzsüz yüzeyinden veya ızgara tavuğun lifli dokusunu kızarmış tavuğun parlak görünümünden ayırt etmeye başlar.

Katman 3 - Şekil ve Desen Tanıma: Üst katmanlar dokuları tanınabilir şekillere ve desenlere dönüştürür. Belirli bir dokuya sahip dairesel bir şekil tortilla olarak sınıflandırılabilirken, farklı bir dokuya sahip uzun bir şekil çubuk ekmek olarak tanınır.

Katman 4 - Nesne Tanıma: Son evrişim katmanları, önceki tüm bilgileri birleştirerek yiyecek öğelerinin tamamını tanır. Ağ, belirli bir renk, doku, şekil ve bağlam kombinasyonunun belirli bir yiyeceğe karşılık geldiğini öğrenmiştir.

Havuzlama ve Özellik Haritalarının Rolü

Evrişim katmanları arasında, havuzlama katmanları en önemli özellikleri korurken verilerin uzamsal boyutlarını azaltır. Bu iki amaca hizmet eder: hesaplamayı yönetilebilir kılar ve öteleme değişmezliği sağlar, yani ağ bir yiyecek öğesini çerçevede nerede görünürse görünsün tanıyabilir.

Her evrişim katmanının çıktısına özellik haritası denir. Erken özellik haritaları kenarlar ve renkler gibi düşük seviyeli bilgileri yakalarken, sonraki özellik haritaları "bu bölge spagetti içeriyor" gibi yüksek seviyeli kavramları kodlar. Tipik bir yiyecek tanıma modeli her katmanda yüzlerce özellik haritası üretir.

Yiyecek Tanımada Kullanılan Popüler CNN Mimarileri

Mimari Yıl Temel Yenilik Yiyecek Yapay Zekasındaki Tipik Kullanımı
AlexNet 2012 Derin CNN'lerin ölçekte çalıştığını kanıtladı Erken dönem yiyecek tanıma araştırması
VGGNet 2014 Derinliğin önemini gösterdi Yiyecek veri setleri için özellik çıkarma
GoogLeNet/Inception 2014 Çok ölçekli işleme Verimli mobil yiyecek tanıma
ResNet 2015 Çok derin ağlar için artık bağlantılar Yüksek doğruluklu yiyecek sınıflandırma
EfficientNet 2019 Derinlik, genişlik, çözünürlüğün dengeli ölçeklenmesi Modern mobil yiyecek tanıma uygulamaları
Vision Transformers 2020 Görüntü yamaları için öz-dikkat mekanizması En ileri yiyecek tanıma araştırması

Sınıflandırmadan Çok Etiketli Algılamaya

Erken dönem yiyecek tanıma sistemleri bu görevi basit bir sınıflandırma problemi olarak ele alıyordu: bir görüntü verildiğinde bir yiyecek etiketi tahmin et. Ancak gerçek öğünler nadiren bu kadar basittir. Tipik bir öğle yemeği ana protein, bir garnitür sebze, bir tahıl ve bir sos içerebilir; hepsi aynı tabakta.

Karmaşık Tabaklar İçin Nesne Algılama

Modern yiyecek tanıma sistemleri, tek bir görüntü içinde birden fazla yiyecek öğesini tanımlayıp konumlandırabilen nesne algılama çerçeveleri kullanır. Bu sistemler her bir farklı yiyecek öğesinin etrafına sınırlayıcı kutular çizer ve bunları bağımsız olarak sınıflandırır.

YOLO (You Only Look Once) ve Faster R-CNN gibi mimariler yiyecek algılama için uyarlanmıştır. Bu modeller görüntüyü bir ızgaraya böler ve yiyecek öğelerinin hem konumunu hem de sınıfını eşzamanlı olarak tahmin eder, böylece mobil cihazlarda gerçek zamanlı işleme mümkün olur.

Hassas Sınırlar İçin Anlamsal Bölütleme

Daha da yüksek hassasiyet için bazı sistemler, görüntüdeki her pikseli belirli bir yiyecek kategorisine ait olarak sınıflandıran anlamsal bölütleme kullanır. Bu özellikle salata veya karışık sebze yemekleri gibi farklı malzemelerin örtüştüğü ve iç içe geçtiği karışık yemekler için yararlıdır.

Nutrola'nın Snap & Track özelliği bu yaklaşımların bir kombinasyonunu kullanır. Yemeğinizi fotoğrafladığınızda, sistem önce bireysel yiyecek bölgelerini algılar, ardından her birini sınıflandırır ve son olarak mevcut her öğenin miktarını tahmin eder. Bu çok aşamalı süreç, sistemin basit bir muzdan karmaşık çok çeşitli bir yemeğe kadar her şeyi ele almasını sağlar.

Eğitim Verisi: Doğru Yiyecek Tanımanın Yakıtı

Bir yiyecek tanıma modeli ancak eğitildiği veri kadar iyidir. Yüksek kaliteli bir yiyecek görüntü veri seti oluşturmak, yiyecek yapay zekası geliştirmenin en zorlu ve kaynak yoğun yönlerinden biridir.

Kamuya Açık Kıyaslama Veri Setleri

Birçok kamuya açık veri seti, yiyecek tanıma araştırmalarındaki ilerlemeyi yönlendirmiştir:

  • Food-101: 101 yiyecek kategorisinde 101.000 görüntü içerir, yaygın olarak kıyaslama ölçütü olarak kullanılır
  • ISIA Food-500: 400.000 görüntüyle 500 yiyecek kategorisini kapsar, daha geniş bir kapsam sunar
  • UEC Food-256: 256 kategoriye sahip bir Japon yiyecek veri seti, Asya mutfağı kapsamı için önemlidir
  • Nutrition5k: Yiyecek görüntülerini laboratuvar ortamında elde edilen hassas besin ölçümleriyle eşleştirir

Gerçek Dünya Çeşitliliğinin Zorluğu

Kamuya açık veri setleri, araştırma için değerli olmalarına rağmen, dünya genelinde insanların yediği yiyecek çeşitliliğini tam olarak temsil etmez. Ağırlıklı olarak Batı mutfağıyla eğitilmiş bir model, Güneydoğu Asya yemeklerinde zorlanacaktır ve bunun tersi de geçerlidir. Bu nedenle ticari yiyecek tanıma sistemleri, kamuya açık veri setlerini kullanıcı tabanlarından toplanan özel verilerle destekler.

Nutrola, 50'den fazla ülkedeki kullanıcılara hizmet vermektedir; bu da sistemin günlük olarak muazzam bir mutfak çeşitliliğiyle karşılaştığı anlamına gelir. Bu küresel kullanıcı tabanı, modelin zaman içinde tüm mutfaklardaki tanıma performansını iyileştirmesine yardımcı olan sürekli bir gerçek dünya yiyecek görüntüsü akışı sağlar.

Veri Artırma Teknikleri

Eğitim verilerini yapay olarak genişletmek ve model dayanıklılığını artırmak için mühendisler çeşitli veri artırma teknikleri uygular:

  • Döndürme ve çevirme: Modelin yiyecekleri herhangi bir açıdan tanımasını sağlar
  • Renk bozma: Farklı aydınlatma koşullarını simüle eder
  • Rastgele kırpma: Modele yiyeceklerin kısmi görünümlerini tanımayı öğretir
  • Cutout ve mixup: Modeli tek bir görsel ipucuna güvenmek yerine birden fazla ayırt edici bölgeye odaklanmaya zorlayan gelişmiş teknikler

Nutrola'nın Snap & Track Teknolojisi Nasıl Çalışır

Nutrola'nın Snap & Track özelliği, tüm bu teknolojileri kusursuz bir kullanıcı deneyiminde bir araya getirir. İşte fotoğraf çekme ile kalori dökümünü görme arasındaki yaklaşık iki saniyede neler olur:

  1. Görüntü ön işleme: Fotoğraf, sinir ağının beklediği formata yeniden boyutlandırılır ve normalleştirilir. Girdiyi standartlaştırmak için aydınlatma ve renk düzeltmeleri uygulanır.

  2. Yiyecek algılama: Bir nesne algılama modeli, görüntüdeki farklı yiyecek bölgelerini tanımlar ve her birinin etrafına sınırlayıcı kutular çizer.

  3. Sınıflandırma: Algılanan her bölge, belirli yiyecek öğesini tanımlayan bir sınıflandırma ağından geçirilir. Sistem en iyi adayları ve güven puanlarını değerlendirir.

  4. Porsiyon tahmini: Ayrı bir model, görsel ipuçları ve referans boyutlandırmaya dayanarak tanımlanan her yiyecek öğesinin hacmini ve ağırlığını tahmin eder (bu konu hakkında daha fazla bilgi için porsiyon boyutu tahmini hakkındaki eşlik eden makalemize bakın).

  5. Besin değeri eşleştirme: Tanımlanan yiyecekler ve tahmin edilen porsiyonlar, kalori, makro besinler ve mikro besinleri hesaplamak için kapsamlı bir besin veritabanıyla eşleştirilir.

  6. Kullanıcı doğrulaması: Sonuçlar kullanıcıya sunulur ve kullanıcı tanımlamaları onaylayabilir veya düzeltebilir. Bu geri bildirim döngüsü modeli sürekli olarak iyileştirir.

Bu sürecin tamamı iki saniyeden kısa sürede tamamlanır; bu da arama çubuğuna "ızgara tavuk göğsü" yazıp düzinelerce sonuç arasında gezinmekten daha hızlıdır.

Yiyecek Tanıma Yapay Zekasındaki Zorluklar

Dikkate değer ilerlemeye rağmen, yiyecek tanıma yapay zekası hâlâ araştırmacıların ve mühendislerin aktif olarak çözmeye çalıştığı çeşitli zorluklarla karşı karşıyadır.

Görsel Olarak Benzer Yiyecekler

Bazı yiyecekler fotoğraflarda neredeyse aynı görünür ancak çok farklı besin profillerine sahiptir. Beyaz pirinç ve karnabahar pilavı, normal makarna ve tam buğday makarna, tam yağlı ve az yağlı peynir; kalori ve makro besinler açısından önemli ölçüde farklılık gösteren görsel olarak benzer yiyeceklere örnektir.

Mevcut sistemler bunu bağlamsal ipuçları (tabakta başka ne var), kullanıcı geçmişi (kişinin tipik olarak ne yediği) ve güven düşük olduğunda kullanıcıdan onay isteme yöntemlerinin bir kombinasyonuyla ele alır.

Karışık ve Katmanlı Yemekler

Bir burrito, sandviç veya katmanlı güveç temel bir sorun oluşturur: malzemelerin çoğu görüş alanı dışındadır. Yapay zeka tortillayı görebilir ancak içindeki fasulye, peynir, ekşi krema ve pilavı göremez.

Bu sorunu çözmek için modeller yaygın yemeklerin tipik bileşimini öğrenir. Sistem bir burrito tanımladığında, görünür dış görünüme ve yaygın hazırlama yöntemlerine dayanarak muhtemel iç malzemeleri çıkarabilir. Kullanıcılar daha sonra belirli iç malzemeleri gerektiği şekilde düzeltebilir.

Aydınlatma ve Çevresel Koşullar

Loş restoran aydınlatması, sert flaş ışığı ve renkli ortam ışığı yiyeceklerin görünümünü etkileyebilir. Sarı aydınlatma beyaz pilavı safran pilavı gibi gösterebilirken, mavi tonlu aydınlatma kırmızı eti kahverengi gösterebilir.

Modern sistemler bu sorunu eğitim verisi artırma ve mutlak renk değerlerinden çok doku ve şekle odaklanan renkten bağımsız özellikler oluşturma yoluyla ele alır.

Yiyecek Tanıma Teknolojisinin Geleceği

Yiyecek tanıma yapay zekası hızla gelişmektedir. Birçok yeni trend, yakın gelecekte daha yetenekli sistemlere işaret etmektedir:

Video tabanlı tanıma: Gelecekteki sistemler tek bir fotoğrafı analiz etmek yerine, bir yemeğin kısa video klibini analiz ederek birden fazla açıyı yakalayabilir ve doğruluğu artırabilir.

Artırılmış gerçeklik katmanları: Artırılmış gerçeklik, bir büfe veya restoran menüsünü tararken gerçek zamanlı besin bilgisi sağlayarak yemek yemeden önce bilinçli seçimler yapmanıza yardımcı olabilir.

Çok modlu modeller: Daha eksiksiz bir öğün anlayışı için görsel tanımayı metin (menüler, malzeme listeleri) ve hatta sesle (kullanıcıya "sos eklediniz mi?" diye sorma) birleştirme.

Cihaz üzerinde işleme: Mobil işlemciler daha güçlü hale geldikçe, yapay zeka işlemlerinin daha büyük bir kısmı görüntüleri sunucuya göndermeden doğrudan telefonda gerçekleştirilebilir ve bu da hız ile gizliliği artırır.

Malzeme düzeyinde tanıma: Yemek düzeyindeki sınıflandırmanın ötesine geçerek tek tek malzemeleri ve yaklaşık miktarlarını tanımlama, böylece daha hassas besin hesaplamalarını mümkün kılma.

Doğruluk Neden Sürekli Artıyor

Yiyecek tanıma yapay zekasının en umut verici yönlerinden biri, yerleşik iyileştirme mekanizmasıdır. Bir kullanıcı her fotoğraf çekip sonucu onayladığında veya düzelttiğinde, sistem etiketlenmiş bir veri noktası elde eder. Günlük olarak milyonlarca kullanıcının öğün kaydetmesiyle, Nutrola gibi üretim sistemleri akademik araştırmaların erişemeyeceği bir hızda eğitim verisi biriktirir.

Bu erdemli bir döngü yaratır: daha iyi doğruluk daha fazla kullanıcıya, daha fazla kullanıcı daha fazla veriye, daha fazla veri daha iyi doğruluğa yol açar. İşte bu yüzden bugün deneyimlediğiniz yiyecek tanıma, bir yıl önce mevcut olandan önemli ölçüde daha iyidir ve gelişmeye devam edecektir.

SSS

Yapay zeka yiyecek tanıma, manuel kayıtla karşılaştırıldığında ne kadar doğrudur?

Araştırmalar, yapay zeka yiyecek tanımanın yaygın yiyecekler için yüzde 90'ın üzerinde doğruluk oranlarına ulaşabildiğini göstermiştir; bu oran eğitimli diyetisyenlerin manuel porsiyon tahminlerinin doğruluğuyla karşılaştırılabilir veya daha iyidir. Uzman olmayan kişilerin manuel kaydı genellikle kalori alımını yüzde 10 ile 45 arasında eksik raporlar, bu da yapay zeka destekli kaydı çoğu kişi için daha güvenilir kılar.

Yapay zeka yiyecek tanıma dünya genelindeki mutfaklarla çalışabilir mi?

Evet, ancak mevcut eğitim verilerine bağlı olarak doğruluk mutfağa göre değişir. 50 veya daha fazla ülkede küresel bir kullanıcı tabanına hizmet veren Nutrola gibi sistemler, dünya genelinden kullanıcılardan daha fazla veri topladıkça çeşitli mutfakların tanınmasını sürekli olarak iyileştirir. Bir mutfak eğitim verilerinde ne kadar çok temsil edilirse, tanıma o kadar doğru hale gelir.

Yiyecek tanıma yapay zekası çevrimdışı çalışır mı?

Bu, uygulamaya bağlıdır. Bazı uygulamalar, optimize edilmiş modeller kullanarak görüntüleri cihaz üzerinde işler; bu çevrimdışı çalışır ancak bazı doğruluk kayıplarına neden olabilir. Diğerleri, görüntüleri işlenmek üzere bulut sunucularına gönderir; bu internet bağlantısı gerektirir ancak daha büyük, daha doğru modeller kullanabilir. Birçok modern uygulama, cihaz üzerinde ilk tanımayı gerçekleştirip mümkün olduğunda bulut işlemeyle sonuçları iyileştiren hibrit bir yaklaşım kullanır.

Yapay zeka, restoran yemekleriyle eşleşmeyen ev yapımı yemekleri nasıl ele alır?

Modern yiyecek tanıma sistemleri hem restoran hem de ev yapımı yiyecek görüntüleriyle eğitilmiştir. Tam bir yemeği veritabanındaki tek bir girişle eşleştirmeye çalışmak yerine tek tek bileşenleri tanımlarlar. Dolayısıyla ev yapımı bir sebzeli tavuk yemeği, tek bir menü öğesiyle eşleştirilmek yerine görünür bileşenlerine (tavuk, brokoli, pilav, sos) ayrıştırılır.

Yiyecek fotoğrafı verilerim gizli tutulur mu?

Gizlilik politikaları uygulamaya göre değişir. Nutrola, kullanıcı gizliliğine bağlıdır ve yiyecek görüntülerini yalnızca besin analizi ve model iyileştirme amacıyla kullanır. Görüntüler güvenli bir şekilde işlenir ve üçüncü taraflarla paylaşılmaz. Kullanıcılar, veri işleme uygulamalarıyla ilgili tüm ayrıntılar için gizlilik politikasını inceleyebilir.

Yapay zeka bir yiyeceği yanlış tanımladığında ne olur?

Yapay zeka bir yiyeceği yanlış tanımladığında, kullanıcılar listeden doğru öğeyi seçerek veya doğru yiyeceği yazarak sonucu düzeltebilir. Bu düzeltme, modelin zaman içinde iyileşmesine yardımcı olan değerli bir eğitim verisi olarak işlev görür. Bir sistem belirli bir yiyecek için ne kadar çok düzeltme alırsa, o öğe için doğruluğu o kadar hızlı artar.

Beslenme takibinizi dönüştürmeye hazır mısınız?

Nutrola ile sağlık yolculuklarını dönüştürmüş binlerce kişiye katılın!