การคำนวณแคลอรีจากรูปถ่ายทำงานอย่างไร

โมเดลประมวลผลภาพแยกอาหารออกจากกัน ประเมินปริมาณ แล้วดึงค่าจากฐานข้อมูลโภชนาการ จุดที่วิธีนี้ทำได้ดีและจุดที่ไม่ได้

อ่าน 7 นาทีอัปเดตเมื่อ:

สรุปสั้น ๆ

การคำนวณแคลอรีจากรูปถ่ายเกิดขึ้นสามขั้นตอน คือ การระบุชนิดอาหาร การประเมินปริมาณ และการเทียบกับฐานข้อมูล สำหรับอาหารที่มองเห็นชัดและแยกจากกัน ค่าที่ได้มักใช้งานได้จริง แต่กับอาหารที่จมอยู่ในซอส วางซ้อนกัน หรืออยู่ในภาชนะปิด ความคลาดเคลื่อนจะกว้างขึ้นมาก ด้วยเหตุนี้แอปที่ทำจริงจังจะไม่บันทึกผลทันที แต่เปิดหน้าจอให้แก้ไขก่อนเสมอ

สามปัญหา ไม่ใช่ปัญหาเดียว

การเปลี่ยนรูปอาหารให้กลายเป็นตัวเลขแคลอรีคือการแก้ปัญหาสามอย่างที่แยกจากกัน และแต่ละอย่างมีช่วงความคลาดเคลื่อนของตัวเอง การมองแยกทีละขั้นคือวิธีที่ใช้ได้จริงที่สุดในการตัดสินว่าควรเชื่อตัวเลขนั้นแค่ไหน

ขั้นตอนทำงานต่อเนื่องกัน ความผิดพลาดในขั้นแรกจึงส่งต่อไปข้างหน้า ถ้าโมเดลอ่านบัลเกอร์เป็นข้าว ค่าแคลอรีก็ผิด แม้จะประเมินปริมาณได้แม่นยำก็ตาม

  • การระบุชนิดอาหาร: หาว่าในจานมีอะไรบ้าง ถ้าเป็นจานรวมต้องแยกหาแต่ละองค์ประกอบ
  • การประเมินปริมาณ: แปลงพื้นที่ในภาพให้เป็นน้ำหนักจริง โดยใช้เส้นผ่านศูนย์กลางจาน ช้อนส้อม และความลึกของถ้วยเป็นตัวอ้างอิง
  • การเทียบฐานข้อมูล: นำอาหารที่ระบุได้และน้ำหนักโดยประมาณไปคูณกับค่าจากตารางองค์ประกอบอาหาร

ส่วนที่ยากคือปริมาณ ไม่ใช่การระบุชนิด

ทุกวันนี้โมเดลประมวลผลภาพระบุชนิดอาหารได้ดีอย่างน่าประหลาดใจ ปัญหาที่ยากจริง ๆ คือการก้าวจากภาพสองมิติไปสู่ปริมาตรสามมิติ ถ้วยซุปสองใบที่ถ่ายจากมุมเดียวกันอาจมี 200 มล. กับ 350 มล. แต่ในภาพดูแทบไม่ต่างกันเลย

การประเมินปริมาณจึงอาศัยวัตถุอ้างอิง จานอาหารมาตรฐานมีเส้นผ่านศูนย์กลางราว 26-28 ซม. ช้อนชาเท่ากับ 5 มล. ช้อนโต๊ะเท่ากับ 15 มล. โมเดลจะมองหาขนาดที่รู้อยู่แล้วเหล่านี้ในเฟรมแล้วสร้างมาตราส่วนขึ้นมา หากไม่มีตัวอ้างอิงใดอยู่ในภาพ เช่น ถ่ายใกล้จนขอบจานหลุดออกไป ค่าที่ประเมินจะแย่ลงอย่างเห็นได้ชัด

  • ให้จานทั้งใบอยู่ในเฟรม และถ่ายจากด้านบนแทนการถ่ายใกล้
  • ในจานรวม ให้แยกองค์ประกอบออกจากกันเท่าที่ทำได้
  • ระบุซอสและน้ำมันแยกต่างหาก น้ำมันมะกอกที่มองไม่เห็นอาจทำให้สลัดจานหนึ่งมีแคลอรีเป็นสองเท่า

ไขมันคือแคลอรีที่มองไม่เห็น

แหล่งความคลาดเคลื่อนเดี่ยวที่ใหญ่ที่สุดในการประเมินจากภาพคือไขมันที่เติมเข้าไป น้ำมันมะกอกหนึ่งช้อนโต๊ะให้พลังงานราว 120 แคลอรี และมักไม่ปรากฏในภาพเลย อกไก่ย่างชิ้นเดียวกันจะมีแคลอรีเพิ่มอีก 240 ทันทีที่ผัดด้วยน้ำมันสองช้อน

นี่ไม่ใช่ข้อบกพร่องของวิธีการเสียทีเดียว แต่เป็นขีดจำกัดทางกายภาพ ไม่มีโมเดลใดรู้ในสิ่งที่กล้องไม่เห็น การกินนอกบ้านยิ่งทำให้ความไม่แน่นอนสูงขึ้น เพราะแม้แต่คุณเองก็ไม่รู้ว่าน้ำมันลงกระทะไปเท่าไร

ช่วงคลาดเคลื่อนหมายความว่าอย่างไรจริง ๆ

เป้าหมายของการจดบันทึกอาหารไม่ใช่ความแม่นยำสมบูรณ์ แต่คือการวัดที่คงเส้นคงวา บนเป้าหมายวันละ 2,000 แคลอรี การพลาดไป 100 แคลอรีในมื้อหนึ่งคิดเป็นความคลาดเคลื่อน 5% และไม่ทำให้แนวโน้มรายสัปดาห์เพี้ยน สิ่งที่ทำให้เพี้ยนคือความคลาดเคลื่อนเชิงระบบ การนับไขมันต่ำกว่าจริงทุกวันสะสมเป็นหลายพันแคลอรีต่อเดือน

ข้อสรุปเชิงปฏิบัติคือ ให้ดูค่าเฉลี่ยรายสัปดาห์ที่ได้จากวิธีเดิมอย่างสม่ำเสมอ ไม่ใช่ตัวเลขเดี่ยว ๆ ถ้าน้ำหนักไม่ขยับ ให้ตั้งคำถามกับนิสัยการบันทึกก่อนจะไปลดเป้าหมาย เพราะเกือบทุกครั้งจะมีรายการหนึ่งที่คุณไม่ได้นับ

ได้ผลตรงไหน ไม่ได้ผลตรงไหน

คุณค่าของวิธีนี้มาจากการที่ทำต่อเนื่องได้ มากกว่ามาจากความแม่นยำ ในแอปนับแคลอรีแบบเดิม การบันทึกหนึ่งมื้อกินเวลาหลายนาที และคนส่วนใหญ่เลิกภายในสองสัปดาห์ บันทึกที่ใช้เวลาสามวินาทีและคลาดเคลื่อน 10% ย่อมดีกว่าบันทึกสมบูรณ์แบบที่ไม่มีใครทำต่อ

สถานการณ์คุณภาพการประเมิน
อาหารจานเดียว แยกชัด มองเห็นเต็มดี
จานรวมแต่แยกองค์ประกอบได้พอใช้ถึงดี
อาหารที่ถูกซอสหรือครีมกลบต่ำ
ภาชนะปิด แรป หรือแป้งห่อไส้ต่ำมาก
สินค้าบรรจุที่อ่านบาร์โค้ดได้แม่นยำ

คำถามที่พบบ่อย

ชั่งน้ำหนักอาหารแม่นกว่าถ่ายรูปไหม

ใช่ ข้อมูลที่ได้จากการชั่งแม่นกว่าเสมอ แต่การชั่งเพิ่มงานวันละไม่กี่นาที และคนส่วนใหญ่เลิกทำหลังผ่านไปไม่กี่สัปดาห์ วิธีที่แม่นที่สุดคือวิธีที่คุณทำได้ต่อเนื่อง การชั่งที่บ้านและถ่ายรูปเมื่อกินนอกบ้านจึงเป็นทางสายกลางที่เหมาะกับคนส่วนใหญ่

ทำไมถ่ายอาหารจานเดิมสองครั้งได้ตัวเลขต่างกัน

เพราะมุมกล้อง แสง และวัตถุอ้างอิงในเฟรมเปลี่ยนไป การประเมินปริมาณจึงเปลี่ยนตาม ถ้าต้องการผลที่คงเส้นคงวามากขึ้น ให้ถ่ายจานทั้งใบจากด้านบนที่ระยะใกล้เคียงกันทุกครั้ง

ใช้งานแบบออฟไลน์ได้ไหม

การวิเคราะห์ต้องใช้การเชื่อมต่อ เพราะภาพถูกประมวลผลบนเซิร์ฟเวอร์ ส่วนมื้อที่บันทึกไว้แล้วและข้อมูลย้อนหลังยังดูได้ขณะออฟไลน์

แหล่งอ้างอิง

  1. 1.

    Thames Q, Karpur A, Norris W, Xia F, Panait L, Weyand T, Sim J Nutrition5k: Towards Automatic Nutritional Understanding of Generic Food. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021.

  2. 2.

    Lu Y, Stathopoulou T, Vasiloglou MF, Pinault LF, Kiley C, Spanakis EK, Mougiakakou S goFOODTM: An Artificial Intelligence System for Dietary Assessment of Food Images. Sensors, 20(15):4283, 2020.

  3. 3.

    Vasiloglou MF, Mougiakakou S, Aubry E, et al. A Comparative Study on Carbohydrate Estimation: GoCARB vs. Dietitians. Nutrients, 10(6):741, 2018.

ภาษา