Xây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng AndroidXây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng AndroidXây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng AndroidXây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng AndroidXây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng AndroidXây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng Android
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - ĐẶNG THANH TUẤN XÂY DỰNG HỆ THỐNG NHẬN DẠNG THỨC ĂN VÀ DINH DƯỠNG TRÊN NỀN TẢNG ANDROID LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2016 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - ĐẶNG THANH TUẤN XÂY DỰNG HỆ THỐNG NHẬN DẠNG THỨC ĂN VÀ DINH DƯỠNG TRÊN NỀN TẢNG ANDROID CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGÔ QUỐC DŨNG HÀ NỘI - 2016 i LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng hướng dẫn TS Ngô Quốc Dũng, kết đạt luận văn sản phẩm riêng cá nhân, không chép lại người khác Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên công trình, thời gian địa điểm công bố Các số liệu, kết nghiên cứu kết luận trình bày luận văn trung thực chưa công bố hình thức Hà Nội, Ngày… tháng… năm 2016 Tác giả Đặng Thanh Tuấn ii LỜI CẢM ƠN Để hoàn thành luận văn này, nghiên cứu cố gắng thân, em xin gửi lời cảm ơn sâu sắc tới Tiến sĩ Ngô Quốc Dũng, giảng viên trực tiếp hướng dẫn, tận tình bảo định hướng cho em suốt trình nghiên cứu thực luận văn Em xin gửi lời cảm ơn chân thành cảm ơn tất thầy cô giáo Học viện Công nghệ Bưu Viễn thông giảng dạy dìu dắt em trong suốt trình học tập trường từ học đại học sau đại học Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè người bên cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em học tập tốt hoàn thiện luận văn Em xin chân thành cảm ơn! iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v DANH SÁCH BẢNG vi DANH SÁCH HÌNH VẼ vii MỞ ĐẦU 1 Lý chọn đề tài Mục đích nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu CHƯƠNG : TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG THỨC ĂN VÀ DINH DƯỠNG 1.1 Đặt vấn đề 1.2 Những nghiên cứu trước nhận dạng ảnh 1.2.1 Các nghiên cứu đáng ý giới: 1.2.2 Các nghiên cứu đáng ý Việt Nam: 1.3 Cách tiếp cận 1.4 Bài toán đặt 10 1.5 Tổng quan ứng dụng 11 1.6 Kết luận chương 12 CHƯƠNG : PHƯƠNG PHÁP NHẬN DẠNG THỨC ĂN VÀ DINH DƯỠNG 13 2.1 Giới thiệu 13 2.2 Đặt vấn đề 13 2.3 Phân đoạn tiền xử lý ảnh 13 2.3.1 Giới thiệu 13 2.3.2 Phân đoạn ảnh thuật toán K-MEAN 14 2.3.3 Phân đoạn phương pháp K-Nearest Neighbor(KNN)[14] 16 2.3.4 Tiền xử lý ảnh 16 iv 2.4 Một số phương pháp trích chọn đặc trưng đo độ tương đồng ảnh 17 2.4.1 Khái niệm đặc trưng ảnh số 17 2.4.2 Tại phải trích chọn đặc trưng ảnh số ? 17 2.4.3 Trích chọn đặc trưng dựa điểm bật 18 2.4.4 Các phương pháp trích chọn đặc trưng[2] 20 2.5 Các phương pháp phân loại ảnh 30 2.5.1 Tổng quan 30 2.5.2 Quy trình phân loại ảnh 31 2.5.3 Phân loại ảnh phương pháp Support Vector Machine (SVM) 32 2.6 Phương pháp đề xuất 35 2.6.1 Các bước 36 2.7 Kết luận chương 38 CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 40 3.1 Xây dựng liệu 40 3.1.1 So sánh thuật toán trích chọn đặc trưng 40 3.1.3 Xây dựng liệu ứng dụng 42 3.2 Giao diện chương trình chạy Android 49 3.3 Những vấn đề gặp phải 52 3.4 Kết luận chương 53 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 DANH MỤC TÀI LIỆU THAM KHẢO 55 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt IDF Tiếng Anh International Diabetes Federation Tiếng Việt Hiệp hội đái tháo đường giới K-Nearest Neighbor K láng giềng gần Scale Invarian Feature Phép biến đổi đặc trưng bất Transform biến tỷ lệ Speeded Up Robust Thuật toán tăng cường khả Features trích chọn đặc trưng SVM Support Vector Machine Thuật toán hỗ trợ học máy Véc tơ WHO World Health Organization Tổ chức Y tế giới KNN SIFT SURF vi DANH SÁCH BẢNG Bảng 3.1 So sánh thuật toán trích chọn đặc trưng 41 Bảng 3.2 Tỷ lệ xác suất Test ảnh 42 vii DANH SÁCH HÌNH VẼ Hình 1.1 Giao diện phần mềm quản lý dinh dưỡng Wellness Diary Hình 1.2 Sơ đồ nhận dạng thức ăn 10 Hình 1.3 Bảng Tính Calo YAZIO 11 Hình 1.4 Bảng tính Calo FatSecret 11 Hình 2.1 Các điểm bật ảnh 20 Hình 2.2 Bộ mô tả 23 Hình 2.3 Ảnh tích hợp 24 Hình 2.4 Sử dụng ảnh tích hợp cho phép tăng tỷ lệ lọc với giá trị không đổi 26 Hình 2.5 Biểu đồ tỷ lệ phát 27 Hình 2.6 Những điểm quan tâm phát cánh đồng hoa hướng dương 27 Hình 2.7 Phép lọc Haar wavelet 28 Hình 2.8 Gán hướng 29 Hình 2.9 Chi tiết ảnh 30 Hình 2.10 Xây dựng mô tả 30 Hình 2.11 Các mục mô tả miền 31 Hình 2.12 So khớp 31 Hình 2.13 Quy trình huấn luyện ảnh 32 Hình 2.14 Quy trình kiểm thử ảnh 32 Hình 2.15 Bài toán phân lớp với SVM 35 Hình 2.16 Tổng quan phương pháp phân nhiều lớp với SVM 37 Hình 2.17 Trích chọn đặc trưng 37 Hình 2.18 Nhóm descriptor 38 Hình 2.19 Biều đồ xác suất 39 Hình 2.20 Phân loại với SVM 39 Hình 3.1 Bộ liệu thức ăn 42 Hình 3.2 Hình ảnh liệu thức ăn 46 viii Hình 3.3 Quá trình nhận dạng ảnh 50 Hình 3.4 Giao diện khởi động ứng dụng Sfood 51 Hình 3.5 Chụp hình ăn 51 Hình 3.6 Nhận dạng ăn 52 Hình 3.7 Thông tin dinh dưỡng 52 Hình 3.8 Một số chức phụ ứng dụng 53 43 Tôm hùm Bánh giò Quả Na Cà chua 44 Khoai tây chiên Phở bò Đậu rán Cá rán Trứng luộc 45 Rau muống xào Chuối Táo Bánh mỳ Hình 3.2 : Hình ảnh liệu thức ăn Xây dựng 15 liệu cho 15 ăn, gồm 20 ảnh; có 15 ảnh để huấn luyện 05 ảnh để kiểm tra Kích thước ảnh ảnh liệu 100*250 Mỗi liệu gán nhãn cố định để xử lý nhận dạng Trong đó: 1-Thịt gà, 2- Thịt lợn nướng, 3- Tôm hùm, 4-Bánh giò, 5-Na, 6-Cà chua, 7-Khoai 46 tây chiên, 8-Phở bò, 9-Đậu rán, 10-Cá rán, 11-Trứng luộc, 12-Rau muống, 13Chuối, 14-Táo, 15-Bánh mỳ 3.1.3.1 Phần huấn luyện: Khởi tạo biến: Mat descriptors, labelTraining, dataTraining, totalKeypoint, totalLabels, totalCentroid; Mat Centroid; FeatureDetector featureDetector; MatOfKeyPoint matOfKeyPoint; DescriptorExtractor descriptorExtractor; CvSVM svm; Điều chỉnh lại kích thước ảnh 100*250: Imgproc.resize(image,image,new Size(100,250)); Tìm mô tả điểm đặc trưng tất ảnh: featureDetector.detect(image, matOfKeyPoint); *// phát descriptorExtractor.compute(image, matOfKeyPoint, descriptors); int total = descriptors.rows() * descriptors.cols(); *// Mô tả totalKeypoint.push_back(descriptors); Phân cụm tất điểm đặc trưng dựa vào thuật toán KMeans Core.kmeans(totalKeypoint,30,totalLabel,new TermCriteria(TermCriteria.EPS,MAX_ITER,1e5),3,Core.KMEANS_PP_CENTERS,totalCentroid); Ghi lại tâm nhóm để sử dụng bên phần nhận dạng: writeBOW(Centroid,“SURF.DAT”) Gán nhãn cho nhóm, nhãn tên thư mục chứa ăn for (int i = 0; i < listFile.length; i++) { String path = listFile[i].getAbsolutePath(); int[] histogram = processImage(path); Mat tempMat = new Mat(1, histogram.length, 47 CvType.CV_32FC1); for (int j = 0; j < histogram.length; j++) { tempMat.put(0, j, histogram[j]); } Mat tempLabel = new Mat(1, 1, CvType.CV_32FC1); tempLabel.put(0, 0, label); labelTraining.push_back(tempLabel); dataTraining.push_back(tempMat); } Tính tần xuất xuất hiện: for (int i = 0; i < descriptors.rows(); i++) { Mat row = descriptors.row(i); int index = calculateDistance(row, Centroid); histogram[index] = histogram[index] + 1; } Sử dụng SVM xây dựng huấn luyện lưu file xml để sử dụng bên phần nhận dạng svm = new CvSVM(); svm.train(dataTraining, labelTraining, new Mat(), new Mat(), params); svm.save("xml//test.xml"); Cấu trúc file xml nhận được: 48 3.1.3.2 Phần nhận dạng: Gọi file SURF.DAT test.xml để sử dụng totalCentroid=loadBOW(“SURF.DAT”); svm.load(“xml//test.xml”); Thực thao tác tương tự với phần huấn luyện với tập ảnh nhận dạng Xác định nhãn ảnh nhận dạng: int[] histogram = processImage(path); Mat tempMat = new Mat(1, histogram.length, CvType.CV_32FC1); for (int i = 0; i < histogram.length; i++) { tempMat.put(0, i, histogram[i]); } result = svm.predict(tempMat); Kết result nhãn ảnh cần nhận dạng 49 3.1.3.3 Kết quả: Hình 3.3 : Quá trình nhận dạng ảnh Tỉ lệ nhận dạng xác: 67/75(89,33%) 3.2 Giao diện chương trình chạy Android Giao diện khởi động chương trình Sfood Hình 3.4: Giao diện khởi động ứng dụng SFood 50 Người sử dụng dùng điện thoại thông minh chụp lại ảnh ăn trước lựa chọn Hệ thống liên tục nhận lại khung hình ảnh từ điện thoại chế độ Người sử dụng kéo khung giới hạn với mặt hàng thực phẩm hình điện thoại Người sử dụng điều chỉnh khung giới hạn cho phù hợp với ăn Hình 3.5: Chụp hình ăn Quá trình nhận dạng thực phẩm thực vùng khung giới hạn Hình 3.6: Nhận dạng ăn 51 Hệ thống đưa tên ăn nhận dạng lượng dinh dưỡng mà ăn chứa 100g, bao gồm : Hàm lượng Calorie, Protein, Carbon Hình 3.7: Thông tin dinh dưỡng Ngoài chương trình có thêm số chức : Xóa, sửa, chia sẻ hình ảnh thông tin dinh dưỡng ăn với người có kết nối internet với điện thoại 52 Hình 3.8 : Một số chức phụ ứng dụng 3.3 Những vấn đề gặp phải Xây dựng liệu huấn luyện Khác với ăn nước ngoài, ăn Việt Nam thường pha trộn nhiều loại thực phẩm Sự đa dạng ăn Ví dụ bò xào giá, tùy nơi mà tỉ lệ bò giá khác nhau, dẫn đến lượng dinh dưỡng khác Món ăn Việt Nam đa dạng, dẫn tới khó khăn việc cập nhật ăn cho ứng dụng Bộ liệu Luận văn chưa phong phú Chưa xác định khối lượng ăn, người dùng phải nhập khối lượng ăn, gây số bất tiện 53 3.4 Kết luận chương Tìm điểm đặc trưng bất biến vấn đề quan trọng nhận dạng, đặc trưng bất biến với yếu tố co dãn, ánh sáng, góc nhìn,… giúp việc nhận dạng tăng độ xác Có số phương pháp tìm đặc trưng bất biến Hessian Laplace, SIFT, SURF Không có phương pháp tối ưu, phương pháp có ưu nhược điểm riêng riêng Phương pháp Hessian Laplace nhanh tìm keypoint nên độ xác không cao, phương pháp SIFT có độ xác cao thời gian thực lâu, ảnh hưởng đến thời gian nhận dạng Trong phạm vi Luận văn, em thấy phương pháp SURF vừa đảm bảo độ xác, vừa đảm bảo thời gian xử lý Sau trích trọn đặc trưng, bước phân loại ảnh Có nhiều phương pháp phân loại ảnh, phương pháp SVM hiệu SVM có ưu điểm với thuật toán khác KNN, NB, tất liệu tập huấn luyện dùng để tối ưu hóa kết 54 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Những kết đạt Luận văn nghiên cứu việc ứng dụng phương pháp trích chọn đặc trưng phân loại ảnh nhằm giải toán nhận dạng thức ăn dinh dưỡng tảng Android Cụ thể, Luận văn thực nội dung sau: Nghiên cứu thuật toán khác việc trích chọn đặc trưng phân loại ảnh Tìm hiểu điểm mạnh, yếu thuật toán Đề xuất phương pháp Xây dựng ứng dụng nhận dạng thức ăn dinh dưỡng tảng Android dựa vào thuật toán SURF SVM Phân tích yêu cầu thiết kế ứng dụng Xây dựng liệu với ăn quen thuộc người Việt Nam Tuy nhiên số vấn đề mà Luận văn chưa giải được: Chưa tự động xác định khối lượng ăn người dùng chụp lại Bộ liệu chưa phong phú Gặp khó khăn với ăn pha trộn nhiều loại thực phẩm Hướng phát triển Luận văn Tập trung cải thiện độ xác nhận dạng ăn, tính khối lượng giải vấn đề khó khăn với ăn phức tạp Phát triển ứng dụng xây dựng thành hệ thống quản lý dinh dưỡng dựa vào việc nhận dạng ảnh hàm lượng dinh dưỡng ăn Dựa vào thông tin người dùng độ tuổi, cân nặng, chiều cao,…., với việc nhận dạng thức ăn số dinh dưỡng ăn để từ tính toán, đưa lời khuyên cho người sử dụng nên không nên bổ sung thêm thành phần dinh dưỡng cho phù hợp với thể trạng Từ giúp người sử dụng có chế độ dinh dưỡng hợp lý cho 55 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Trần Cao Đệ, Phạm Nguyên Khang (2012), Phân loại văn với máy học vector hỗ trợ định, Số tạp chí 21a(2012) Trang: 52-63 [2] Trần Sơn Hải (2007), Nghiên cứu phương pháp kết hợp đặc trưng màu sắc hình dạng vị trí để truy vấn ảnh, Luận văn Thạc sĩ, Trường Đại học Khoa học tự nhiên, Thành phố Hồ Chí Minh, trang 14 [3] Nguyễn Thị Hoàn (2010), Phương pháp trích chọn đặc trưng ảnh thuật toán học máy tìm kiếm ảnh áp dụng vào toán tìm kiếm sản phẩm, Luận văn thạc sĩ, Trường Đại học công nghệ, Đại học Quốc gia Hà Nội [4] Trần Phước Long, Nguyên Văn Lượng (2003), Nhận dạng người dựa vào thông tin khuôn mặt xuất ảnh, Đồ án tốt nghiệp, Trường Đại học Khoa học tự nhiên Thành phố Hồ Chí Minh [5] Nguyễn Đức Năng (2013), Nghiên cứu xây dựng lọc ảnh thông qua phân loại ảnh kết hợp với gom cụm, Luận văn Thạc sĩ, Trường Đại học Lạc Hồng Tài liệu Tiếng Anh [6] Qian Du (2006), Unsupervised real-time constrained linear discriminant analysis to hyperspectral image classification, Department of Electrical and Computer Engineering, Missisippi State University [7] Svetlana Lazebnik, Cordelia Schmid, Jean Ponce (2006), Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories, University of Illinois [8] David G Lowe (Presented by David Lee 3/20/2006), Object Recognition from Local Scale-Invariant Features, Department Of Computer Science, University of British Columbia 56 [9] Xuezheng Liu, Lei Zhang, Mingjing Li, Hongjiang Zhang, Dingxing Wang (2005), Boosting Image Classification with LDA-based Feature Combination for Digital Photograph Management, Department of Computer Science and Technology, Tsinghua University, Beijing, China [10] Android Application Programming with OpenCV - Published by Packt Publishing Ltd Livery, Place 35 Livery Street , Birmingham B3 2PB, UK ISBN 978–1 – 84969 – 520 -6 [11] Pouladzadeh, Parisa, Shervin Shirmohammadi, and Rana Al-Maghrabi (2014), Measuring calorie and nutrition from food image, Instrumentation and Measurement, IEEE Transactions on 63, no (2014): 1947-1956 [12] Kawano, Yoshihiro, and Katsuki Yanai (2013), Real-time mobile food recognition system, In Computer Vision and Pattern Recognition Workshops (CVPRW), pp 1-7 [13] Xin, ZHENG Zhaobao, ZHANG Haitao, YE Zhiwei (2007), Texture classification of aerial image based on bayesian network augmanted naive bayes, China School of Computer Science, Hubei University of Technology, Wuhan 430068, China [14] Yang, Shulin, Mei Chen, Dean Pomerleau, and Rahul Sukthankar (2010), Food recognition using statistics of pairwise local features, In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pp 22492256 Web tham khảo [15] Bảng thông tin dinh dưỡng ăn Việt Nam : http://www.webthehinh.com/community/threads/48570/, truy cập 5/2016 [16] Giới thiệu mô hình SVM http://www.stdio.vn/articles/read/436/gioi-thieu-ve-mo-hinh-svm, truy cập 4/2016 [17] Máy học Vector https://en.wikipedia.org/wiki/Support_vector_machine, truy cập 4/2016 57 [18] Mô hình Bag-of-features https://rangers.googlecode.com/files/ bof _ classification.pdf, truy cập 4/2016 [19] http://healthplus.vn/viet-nam-dung-dau-ve-toc-do-tang-benh-dai-thao-duongd10960.html, truy cập 4/2016 [...]... y tế tổng thể Do đó, việc xây dựng một hệ thống nhận dạng thức ăn và dinh dưỡng hàng ngày dựa trên điện thoại di động với một chi phí thấp, tự động, mang tính cá nhân là cần thiết Chính vì vậy, em quyết định chọn đề tài: Xây dựng hệ thống nhận dạng thức ăn và dinh dưỡng trên nền tảng Android 2 Mục đích nghiên cứu Hệ thống nhận dạng thức ăn và dinh dưỡng dựa trên điện thoại di động giúp cho người... về nhận dạng thức ăn và dinh dưỡng Trong chương này, Luận văn sẽ trình bày tính cấp thiết cần phải có một ứng dụng quản lý dinh dưỡng Từ đó mục tiêu của Luận văn là nhắm đến xây dựng một ứng dụng dựa trên nền tảng android nhằm quản lý chế độ dinh dưỡng cho người sử dụng đồng thời giới thiệu tổng quan về bài toán nhận dạng thức ăn và dinh dưỡng trên nền tảng Android Chương 2 Phương pháp nhận dạng thức. .. nghiệm và đánh giá Chương này sẽ tiến hành cài đặt, xây dựng chương trình nhận dạng thức ăn và dinh dưỡng trên nền tảng Android, chạy thử, đưa ra các kết quả của hệ thống dựa trên một số thuật toán trích chọn đặc trưng ảnh, đồng thời sẽ có những đánh giá khách quan về các kết quả đạt được 4 CHƯƠNG 1 : TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG THỨC ĂN VÀ DINH DƯỠNG 1.1 Đặt vấn đề Ngày nay, chất lượng sống của... được chế độ ăn theo từng bữa ăn cho phù hợp [12],[16] Các thông tin nhận dạng bao gồm: - Tên thức ăn - Hàm lượng dinh dưỡng ( Calo ) trong thức ăn mà ứng dụng nhận dạng được 12 Trong phạm vi Luận văn này, ứng dụng chứa 15 món ăn Việt Nam mà hệ thống có thể nhận dạng được bằng cách chụp lại món ăn này Ứng dụng đưa ra thông tin về các món ăn khá phong phú Các bước cơ bản để nhận diện món ăn: Người sử... vào nhận dạng thức ăn đơn Phạm vi nghiên cứu: Phát triển một hệ thống nhận dạng thức ăn đơn trên điện thoại di động thông qua việc phân loại hình ảnh của chúng 4 Phương pháp nghiên cứu Luận văn sử dụng thuật toán phân cụm K-means để phân đoạn ảnh rau quả và các món ăn thường ngày Sau đó sử dụng thuật toán hỗ trợ máy vector SVM (support vector machine) để phân loại thức ăn Dữ liệu về hình ảnh thức ăn. .. chỉ việc chụp ảnh món ăn, các thao tác còn lại như tính toán và quản lý về thông tin lượng dinh dưỡng của món ăn sẽ do ứng dụng đảm nhiệm 1.5 Tổng quan về ứng dụng Ứng dụng sẽ nhận dạng thức ăn và hàm lượng dinh dưỡng (calo) cho mỗi người dùng dựa trên cơ sở dữ liệu mà ứng dụng đã học được thông qua việc chụp ảnh thức ăn bằng camera của điện thoại Android và các hình ảnh về món ăn được sưu tầm thông... sự tốn kém cho người cần tư vấn về sức khỏe Do đó, việc xây dựng một hệ thống nhận dạng thức ăn và dinh dưỡng trên mobile trợ giúp cho người bình thường ăn kiêng, giảm cân , đặc biệt không chỉ cho những người bị bệnh tiểu đường mà những người bệnh khác một chế độ dinh dưỡng hợp lý là bắt buộc và cần thiết 1.2 Những nghiên cứu trước đây về nhận dạng ảnh Xử lý ảnh, phân loại ảnh trong những năm gần đây... việc xây dựng một hệ thống nhận dạng thức ăn bằng hình ảnh là cần thiết, nó mang tính cá nhân với chi phí thấp, rất tiện lợi cho người dùng Từ thực phẩm được nhận dạng sẽ ước tính lượng calo tương ứng cho mỗi loại Đây cũng là giải pháp cho vấn đề quản lý dinh dưỡng đã được đề cập ở trên Hình ảnh thức ăn có được từ người dùng chụp lại bằng điện di động với độ phân giải thấp Từ những hình ảnh này hệ thống. .. ảnh món ăn trước khi lựa chọn Hệ thống liên tục nhận lại khung hình ảnh từ điện thoại ở chế độ nền Người sử dụng kéo một khung giới hạn với mặt hàng thực phẩm trên màn hình điện thoại Người sử dụng có thể điều chỉnh khung giới hạn cho phù hợp với món ăn Nhận dạng thực phẩm được thực hiện tại vùng trong khung giới hạn Hệ thống đưa ra tên món ăn nhận dạng được cũng như lượng dinh dưỡng mà món ăn này... morphology) bao gồm open và close để làm mịn hình ảnh phân đoạn Vùng chính cần quan tâm có thức ăn sẽ được trích xuất bằng việc sử dụng các thuộc tính màu sắc và SURF cho việc xác nhận thức ăn Cuối cùng thực hiện sự phân lớp ảnh cho việc xác nhận từng loại thức ăn dựa trên đặc trưng SURF và thuộc tính màu sắc thông qua thuật toán máy hỗ trợ vector (SVM) [1][5] Hình 1.2 : Sơ đồ nhận dạng thức ăn 10 1.4 Bài toán