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 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 CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2016 i Luận văn hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: Tiến sĩ Ngô Quốc Dũng Phản biện 1: ………………………………………………………………………… Phản biện 2: ……………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Công nghệ Bưu Viễn thông Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thông MỞ ĐẦU Lý chọn đề tài Thức ăn hàng ngày phần tất yếu sống Thức ăn với chế độ dinh dưỡng hợp lý đem lại sức khỏe tốt cho người Ngược lại, chế độ dinh dưỡng không hợp lý dẫn tới số bệnh lý tiểu đường, béo phì, mỡ máu, tim mạch Trong năm gần đây, bệnh tiểu đường (hay gọi đái tháo đường) trở thành vấn đề lo ngại lớn giới y khoa cộng đồng Chi phí chữa trị cho bệnh tiểu đường ngốn ngân sách lớn quốc gia Theo dự kiến người mắc tiểu đường tăng lên khoảng 7-8 triệu người vào năm 2025 Đây số đáng báo động cho thấy tốc độ gia tăng nhanh số lượng người bệnh Nghiêm trọng hơn, thực trạng bệnh tiểu đường tim mạch bị trẻ hóa béo phì gây nhiều biến chứng khó lường Điều cho thấy cần có chế độ dinh dưỡng khoa học riêng cho cá nhân, đảm bảo tốt sống mà trì sức khỏe thể Bên cạnh đó, nay, để có điện thoại thông minh không vấn đề khó khăn nữa, việc sử dụng điện thoại di động hỗ trợ chế độ dinh dưỡng hợp lý thông qua hình ảnh phương pháp đem lại hiệu đáng kể Nó kết nối nhanh khoảng cách sức khỏe cá nhân công nghệ, người dùng thông tin dinh dưỡng họ, cách giám sát thực phẩm dựa thiết bị tính toán cầm tay cá nhân thông qua chế độ ăn uống hàng ngày Cho phép họ theo dõi tình trạng sức khỏe hàng ngày để giảm chi phí y tế tổng thể Do đó, việc xây dựng hệ thống nhận dạng thức ăn dinh dưỡng hàng ngày dựa điện thoại di động với chi phí thấp, tự động, mang tính cá nhân cần thiết Chính vậy, em định chọn đề tài: “Xây dựng hệ thống nhận dạng thức ăn dinh dƣỡng tảng Android” 2 Mục đích nghiên cứu Hệ thống nhận dạng thức ăn dinh dưỡng dựa điện thoại di động giúp cho người dùng thuận tiện việc quản lý theo dõi chế độ dinh dưỡng hàng ngày thông qua việc ăn uống, góp phần nâng cao hiệu việc giữ gìn, trì sức khỏe giảm cân Đối tƣợng phạm vi nghiên cứu Đối tượng nghiên cứu: Trên thực tế thức ăn hàng ngày đa dạng, phong phú khó nhận dạng đặc điểm bên chúng giống (ví dụ thịt lợn thịt bò) Nên khuôn khổ luận văn đề tài tập trung vào nhận dạng thức ăn đơn Phạm vi nghiên cứu: Phát triển hệ thống nhận dạng thức ăn đơn điện thoại di động thông qua việc phân loại hình ảnh chúng 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 ă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 hình ảnh thức ăn (khoảng 300 - 400 ảnh từ 15 loại thức ăn khác nhau) thu thập cách chụp hình điện thoại di động với độ phân giải thấp số hình ảnh tìm kiếm từ internet Cuối thuật toán nhận dạng đánh giá tập liệu Nội dung luận văn trình bày chương với nội dung sau : Chƣơng Tổng quan nhận dạng thức ăn dinh dƣỡng Trong chương này, luận văn trình bày tính cấp thiết cần phải có ứng dụng quản lý dinh dưỡng Từ mục tiêu luận văn nhắm đến xây dựng ứng dụng dựa 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 toán nhận dạng thức ăn dinh dưỡng tảng Android Chƣơng Phƣơng pháp nhận dạng thức ăn dinh dƣỡng Chương trình bày số khái niệm phân loại xử lý ảnh, số phương pháp liên quan đến thuộc tính, kỹ thuật việc nhận dạng thức ăn dựa hình ảnh thông qua thuật toán trích chọn đặc trưng Qua làm tiền đề để nghiên cứu sâu kỹ thuật trích chọn nội dung ảnh đối sánh ảnh Chƣơng Cài đặt thử nghiệm đánh giá Chương tiến hành cài đặt, xây dựng chương trình nhận dạng thức ăn dinh dưỡng tảng Android, chạy thử, đưa kết hệ thống dựa số thuật toán trích chọn đặc trưng ảnh, đồng thời có đánh giá khách quan kết đạt 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 đề Vấn đề kiểm soát ăn uống trở nên vô hệ trọng cho trường hợp cá biệt, người có vấn đề không tốt sức khỏe Chính mà áp dụng chương trình dinh dưỡng hợp lý biện pháp điều trị bản, cần thiết quan trọng, không giúp phòng ngừa bệnh tiểu đường mà giúp phòng ngừa hàng loạt bệnh mãn tính khác tim mạch, cao huyết áp, ung thư, Nhờ góp phần giúp cho sống thành viên gia đình rộng sống cộng đồng xã hội ngày cải thiện Cùng với đó, thực phẩm cung cấp cho bữa ăn thường đa dạng, việc lựa chọn thực phẩm cho phù hợp băn khoăn cho nhiều người nội trợ Họ cần nhiều hiểu biết vấn đề cần có hỗ trợ riêng để ước tính lượng Calo từ thực phẩm cung cấp cho bữa ăn hàng ngày., nhu cầu lượng cho người già, người lao động, người trẻ, trẻ em, người bệnh, Để có tư vấn thường xuyên chuyên gia Y tế hạn chế thường gây tốn cho người cần tư vấn sức khỏe Do đó, việc xây dựng hệ thống nhận dạng thức ăn dinh dưỡng mobile trợ giúp cho người bình thường ăn kiêng, giảm cân , đặc biệt không cho người bị bệnh tiểu đường mà người bệnh khác chế độ dinh dưỡng hợp lý bắt buộc cần thiết 1.2 Những nghiên cứu trƣớc nhận dạng ảnh Xử lý ảnh, phân loại ảnh năm gần lĩnh vực giới khoa học quan tâm mà nước 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 Để thuận lợi cho việc theo dõi tình trạng sức khỏe hàng ngày, việc xây dựng hệ thống nhận dạng thức ăn hình ảnh cần thiết, mang tính cá nhân với chi phí thấp, tiện lợi cho người dùng Từ thực phẩm nhận dạng ước tính lượng calo tương ứng cho loại Đây giải pháp cho vấn đề quản lý dinh dưỡng đề cập Hình ảnh thức ăn có từ người dùng chụp lại điện di động với độ phân giải thấp Từ hình ảnh hệ thống thực phân loại thực phẩm qua hai bước: phân đoạn làm mịn ảnh Mỗi hình ảnh có từ bề mặt loại thức ăn, rau, quả, củ, số lượng màu sắc chưa xác định, phương thức giám sát cần thiết để phân vùng ảnh Và thuật toán phân cụm K-mean thực cho việc phân đoạn màu sắc thực ảnh Khi chụp hình khung cảnh thực hình ảnh chứa đựng đối tượng xung quanh đầy ý nghĩa, làm phát sinh số cụm (nhỏ) liên quan đến đối tượng quan tâm Để loại bỏ đối tượng này, ta áp dụng toán tử hình thái (mathematical morphology) bao gồm open close để làm mịn hình ảnh phân đoạn Vùng cần quan tâm có thức ăn trích xuất việc sử dụng thuộc tính màu sắc SURF cho việc xác nhận thức ăn Cuối thực phân lớp ảnh cho việc xác nhận loại thức ăn dựa đặc trưng SURF 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 1.4 Bài toán đặt Luận văn xây dựng ứng dụng nhằm giải vấn đề Thao tác người dùng đơn giản, họ việc chụp ảnh ăn, thao tác lại tính toán quản lý thông tin lượng dinh dưỡng ăn ứng dụng đảm nhiệm 1.5 Tổng quan ứng dụng Ứng dụng nhận dạng thức ăn hàm lượng dinh dưỡng (calo) cho người dùng dựa sở liệu mà ứng dụng học thông qua việc chụp ảnh thức ăn camera điện thoại Android hình ảnh ăn sưu tầm thông qua internet Từ giúp cho người dùng tự tính toán, điều chỉnh chế độ ăn theo 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 ) thức ăn mà ứng dụng nhận dạng 1.6 Kết luận chƣơng Trong chương này, luận văn trình bày tính cấp thiết cần phải có ứng dụng quản lý dinh dưỡng số hạn chế ứng dụng có Từ mục tiêu luận văn nhắm đến xây dựng ứng dụng tảng android nhằm quản lý chế độ dinh dưỡng cho người sử dụng Để nâng cao tính tương tác ứng dụng người sử dụng, luận văn nhắm đến ứng dụng thời gian thực với độ xác cao CHƢƠNG : PHƢƠNG PHÁP NHẬN DẠNG THỨC ĂN VÀ DINH DƢỠNG 2.1 Giới thiệu Chương sâu vào trình bày hai thuật toán sử dụng hệ thống nhận dạng thực phẩm hình ảnh thuật toán K-mean thuật toán máy hỗ trợ vector (SVM) Cách phân đoạn ảnh đầu vào dựa thuật toán K-mean để trích chọn đặc trưng Và sử dụng thuật toán SVM cho việc phân loại ảnh 2.2 Đặt vấn đề Phân loại hình ảnh nhiều lĩnh vực ý nghiên cứu năm gần Một cách tổng quan, phân loại hình ảnh trình gán ảnh vào hay nhiều lớp ảnh xác định từ trước Người ta phân loại ảnh cách thủ công, tức nhìn vào nội dung ảnh sau gán chúng vào hay nhiều lớp cụ thể Hệ thống quản lý tập ảnh gồm nhiều ảnh việc làm tốn nhiều thời gian, công sức không khả thi Do mà phải có phương pháp phân loại tự động Để phân loại tự động, người ta sử dụng phương pháp máy học trí tuệ nhân tạo định, Naive Bayes, K láng giềng gần nhất, giải thuật clustering,…[14] Một ứng dụng quan trọng phân loại ảnh tự động hệ thống tìm kiếm ảnh Từ tập ảnh phân lớp sẵn, tất ảnh miền tìm kiếm xử lý rút vector đặc trưng sau đưa qua phân nhóm để hình thành nhóm đặc trưng gán nhãn lớp tương ứng 2.3 Phân đoạn tiền xử lý ảnh 2.3.1 Giới thiệu 2.3.2 Phân đoạn ảnh thuật toán K-MEAN K-Mean thuật toán quan trọng sử dụng phổ biến kỹ thuật phân cụm Tư tưởng thuật toán K-Mean tìm cách phân nhóm đối tượng cho vào K cụm (K số cụm xác đinh trước, K nguyên dương) cho tổng bình phương khoảng cách đối tượng đến tâm nhóm nhỏ Giải thuật K- mean: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm đại diện tâm cụm Tính khoảng cách đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean) Nhóm đối tượng vào nhóm gần Xác định lại tâm cho nhóm Thực lại bước thay đổi nhóm đối tượng 2.3.3 Phân đoạn phương pháp K-Nearest Neighbor(KNN)[14] K-Nearest Neighbor phương pháp truyền thống tiếng theo hướng tiếp cận thống kê nghiên cứu nhiều năm qua KNN đánh giá phương pháp tốt sử dụng từ thời kỳ đầu nghiên cứu phân loại hình ảnh 2.3.4 Tiền xử lý ảnh Để việc nhận dạng ảnh tập trung vào đối tượng quan tâm Ta cần loại bỏ đối tượng không liên quan tới nhận dạng phông xung quanh đối tượng quan tâm, dụng cụ xử lý thực phẩm, vật đựng thực phẩm,… Nhằm tăng cường chất lượng ảnh, mà công đoạn tiền xử lý bước nhằm loại bỏ nhiễu, khắc phục khiếm khuyết bước thu nhận ảnh không tốt việc làm quan trọng 2.4 Một số phƣơng pháp trích chọn đặc trƣng đo độ tƣơng đồng ảnh 2.4.1 Khái niệm đặc trưng ảnh số 10 g Bộ mô tả dựa tổng đặc trưng Haar Wavelet h Lập mục so khớp Nếu độ tương phản điểm quan tâm khác (tối sáng sáng tối), ứng viên không xem so khớp có giá trị 2.5 Các phƣơng pháp phân loại ảnh 2.5.1 Tổng quan Phân loại ảnh trình phức tạp đòi hỏi phải xem xét nhiều yếu tố Nhìn chung bước trình phân loại ảnh bao gồm: xác định hệ thống phân loại cụ thể phù hợp, lựa chọn mẫu đào tạo, tiền xử lý ảnh, khai thác tính năng, lựa chọn phương pháp tiếp cận phân loại phù hợp, đánh giá độ xác Nhu cầu người sử dụng, quy mô công trình nghiên cứu, điều kiện kinh tế, kỹ nhà phân tích yếu tố quan trọng ảnh hưởng đến lựa chọn liệu, thiết kế thủ tục phân loại, kết thủ tục phân loại 2.5.2 Quy trình phân loại ảnh Train Label Train Images Feature Selection Trained Classifier Trained Classifier Hình 2.13 : Quy trình huấn luyện ảnh Test Images Feature Selection Trained Classifier Hình 2.14 : Quy trình kiểm thử ảnh Lable Prediction 11 2.5.3 Phân loại ảnh phương pháp Support Vector Machine(SVM) 2.5.3.1 Tổng quát SVM Phân lớp (classification) dự đoán (prediction) hai toán có nhiều ứng dụng tất lĩnh vực Có nhiều phương pháp nghiên cứu ứng dụng cho toán dạng như: mạng Nơron nhân tạo, phương pháp học thống kê,… Trong phần này, sâu nghiên cứu phương pháp Support Vector Machines, phương pháp hiệu SVM coi công cụ mạnh cho toàn phân lớp phi tuyến Phương pháp thực phân lớp dựa nguyên lý cực tiểu hóa rủi ro có cấu trúc SRM (Structural Risk Minimization), xem phương pháp phân lớp giám sát không tham số tinh vi Các hàm công cụ đa dạng SVM cho phép tạo không gian chuyển đổi để xây dựng mặt phẳng phân lớp SVM dạng chuẩn lấy tập hợp liệu đầu vào dự báo liệu đầu vào ứng với lớp (class) số hai lớp mà liệu có khả rơi vào Điều làm cho dạng chuẩn SVM trở nên tính xác suất mà công cụ binary tuyến tính Bài toán phân lớp, sử dụng SVM nhằm mục đích tìm siêu phẳng có biên cực đại lớp mẫu âm mẫu dương, đồng thời cực tiểu hóa mẫu không phân chia tập huấn luyện SVM dựa sở toán học vững Tuy nhiên việc huấn luyện mẫu sử dụng SVM đòi hỏi phải giải toán tối ưu nhiều biến Ban đầu, SVM phát triển để giải toán phân lớp, sau tính ưu việt, ứng dụng rộng rãi để giả toán hồi quy 2.5.3.2 Bài toán phân lớp Phân lớp trình nhóm đối tượng “giống” vào “một lớp” dựa đặc trưng liệu chúng Tuy nhiên, phân lớp hoạt động tiềm ẩn tư người nhận dạng giới thực, đóng vai trò quan trọng làm sở đưa dự báo, định Phân lớp cách mô tả lớp giúp cho tri thức định dạng lưu trữ 12 Việc giải toán phân lớp trình xây dựng mô hình (các hàm, luật…) để định đối tượng, vật thể thuộc vào lớp dựa đặc trưng liệu chúng Quá trình phân lớp trở nên khó khăn đối tượng có nhiều đặc trưng liệu, trình phân lớp cần xác định đặc trưng cần thiết cho việc phân lớp, đặc trưng dư thừa 2.5.3.3 Bài toán phân lớp với SVM Bài toán đặt là: Xác định hàm phân lớp để phân lớp mẫu tương lai, nghĩa với liệu xt cần phải xác định xt phân vào lớp +1 hay lớp -1? 2.5.3.4 Bài toán phân nhiều lớp với SVM Để phân nhiều lớp kĩ thuật SVM nguyên thủy chia không gian liệu thành phần trình lặp lại nhiều lần Như vậy, toán phân nhiều lớp sử dụng phương pháp SVM hoàn toàn thực giống toán hai lớp Bằng cách sử dụng chiến lược “một đối một” (one – against – one) Giả sử toán cần phân loại có k lớp (k>1), chiến lược “một đối một” tiến hành k(k-1)/2 lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp tiến hành phân tách với k-1 lớp lại để xác định k-1 hàm phân tách dựa vào toán phân hai lớp phương pháp SVM 2.6 Phƣơng pháp đề xuất Khi xử lý ảnh cho bước phân đoạn ảnh ta gặp số trường hợp như: - Vị trí thực phẩm hình - Sự đa dạng hình dạng - Sự thay đổi kết cấu hình ảnh Với nhứng vấn đề gặp phải, việc lựa chọn xây dựng điểm cục bất biến cần thiết Luận văn áp dụng phân tích thành phần đặc trưng bất biến ảnh cụ thể thuật toán SURF phục vụ cho việc tiến hành rút lấy đặc trưng bất biến 13 ảnh sau dùng giải thuật SVM để tiến hành phân lớp Thực nghiệm cho thấy độ xác cao, phù hợp để áp dụng vào hệ thống phân lớp tự động 2.6.1 Các bước Hình 2.16 : Tổng quan phƣơng pháp phân nhiều lớp với SVM Bƣớc 1: Trích chọn đặc trƣng Hình 2.17: Trích chọn đặc trƣng Phần gồm bước: - Detector: Phát Interested Point( Keypoint ) 14 - Descriptor: Sau phát Interested Point cần cách để biểu diễn Interested Point thành feature vector, nhiệm vụ Descriptor Descroptor SURF cho feature vector có 64 phần tử Bản chất SURF chọn số keypoint, dùng descriptor để đặc trưng cho vùng xung quanh keypoint Nhờ feature vector SURF bất biến với local image region SURF bất biến với scale tính descriptor, SURF tính scale keypoint Tức bước detect, phát keypoint điểm nào, dùng ảnh scale để tính descriptor Bƣớc 2: Phần gồm bước chính: Nhóm descriptor phát bước vào nhóm thuật toán KMeans Ví dụ: KMeans với K=3 Hình 2.18: Nhóm descriptor Xây dựng biểu đồ xác xuất : 15 Hình 2.19: Biều đồ xác suất Bƣớc 3: Phân loại với SVM Hình 2.20: Phân loại với SVM Dựa vào liệu thu từ bước trước thuật toán SVM, xác định nhãn cho đối tượng cần nhận diện 2.7 Kết luận chƣơng Qua chương 2, luận văn làm rõ số yếu tố quan trọng ảnh hưởng đến trình phân loại ảnh: Cần tập liệu huấn luyện chuẩn đủ lớn thuật toán học phân loại Nếu có tập liệu chuẩn đủ lớn trình huấn luyện tốt có kết qủa phân loại tốt sau học 16 Các phương pháp hầu hết sử dụng mô hình vector để biểu diễn ảnh, phương pháp rút trích đặc trưng ảnh đóng vai trò quan trọng trình biểu diễn ảnh vector Thuật toán sử dụng để phân loại phải có thời gian xử lý hợp lý, thời gian bao gồm: thời gian học, thời gian phân loại ảnh, thuật toán phải có tính tăng cường (incremental function) nghĩa không phân loại lại toàn tập ảnh thêm số ảnh vào tập liệu mà phân loại ảnh mà thôi, thuật toán phải có khả giảm độ nhiễu (noise) phân loại ảnh 17 CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ Trong chương này, đề tài trình bày phần sau đây: 3.1 Xây dựng liệu 3.2 Giao diện chương trình chạy Android 3.3 Những vấn đề gặp phải 3.4 Kết luận chương 3.1 Xây dựng liệu 3.1.1 So sánh thuật toán trích chọn đặc trưng Bảng 3.1: So sánh thuật toán trích chọn đặc trƣng Phương pháp Kết Thời gian(giây) SURF 38173 SIFT 40907 Hessian-Laplace 30524 Từ bảng kết quả, phương pháp Hessian-Laplace thời gian thực nhanh số lượng điểm ảnh rút lại thấp hết Điều ảnh hưởng không nhỏ tới tính xác chương trình, hai phương pháp lại, SIFT có kết nhanh SURF lại thời gian thực lại chậm hơn, ảnh hưởng đến tương tác ứng dụng với người dùng Với điều em nhận thấy khả thi định chọn SURF làm phương pháp rút đặc trưng ảnh cho chương trình 3.1.2 Xây dựng liệu đánh giá độ xác thuật toán SURF Bộ liệu gồm 15 phần, phần gồm 20 ảnh chụp góc độ khác Ảnh test phải đảm bảo khác với ảnh đầu vào Số lượng ảnh đầu vào đến 18 Bảng 3.2: Tỷ lệ xác suất Test ảnh Input Test Tỉ lệ 60.25 % 72.6 83.2 % 91.5 % 5 92 % 3.1.3 Xây dựng liệu ứng dụng Trong phạm vi luận văn, em xây dựng liệu gồm15 ăn quen thuộc với người dân Việt Nam - Gà quay - Thịt xiên nướng - Tôm hùm - Bánh giò - Na - Cà chua - Khoai tây chiên - Phở bò - Đậu rán - Cá rán - Trứng luộc - Rau muống xào - Chuối - Quả táo - Bánh mỳ 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 19 Mỗi liệu gán nhãn cố định để xử lý nhận dạng 3.1.3.1 Phần huấn luyện: Khởi tạo biến: Điều chỉnh lại kích thước ảnh 100*250: Tìm mô tả điểm đặc trưng tất ảnh Phân cụm tất điểm đặc trưng dựa vào thuật toán KMeans Ghi lại tâm nhóm để sử dụng bên phần nhận dạng: Gán nhãn cho nhóm, nhãn tên thư mục chứa ăn Tính tần xuất xuất hiện: 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 3.1.3.2 Phần nhận dạng: 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: Kết result nhãn ảnh cần nhận dạng 3.1.3.3 Kết quả: 3.2 Giao diện chƣơng trình chạy Android 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 20 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 21 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Những kết đạt đƣợc 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 22 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 [9] Xuezheng Liu, Lei Zhang, Mingjing Li, Hongjiang Zhang, Dingxing Wang (2005), Boosting Image Classification with LDA-based Feature Combination 23 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 [18] Mô hình Bag-of-features https://rangers.googlecode.com/files/ bof _ classification.pdf, truy cập 4/2016 24 [19] http://healthplus.vn/viet-nam-dung-dau-ve-toc-do-tang-benh-dai-thao-duongd10960.html, truy cập 4/2016 [...]... khó khăn với những món ăn là sự pha trộn của nhiều loại thực phẩm 2 Hƣớng phát triển tiếp theo của luận văn Tập trung cải thiện độ chính xác khi nhận dạng món ăn, tính được khối lượng và giải quyết những vấn đề khó khăn với những món ăn phức tạp Phát triển ứng dụng và 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 và hàm lượng dinh dưỡng của món ăn Dựa vào các thông tin người... phương pháp Xây dựng ứng dụng nhận dạng thức ăn và dinh dưỡng trên nền tảng Android dựa vào thuật toán SURF và SVM Phân tích yêu cầu và thiết kế ứng dụng Xây dựng bộ dữ liệu với những món ăn quen thuộc người Việt Nam Tuy nhiên vẫn còn một số vấn đề mà luận văn chưa giải quyết được: Chưa tự động xác định được khối lượng món ăn do người dùng chụp lại Bộ dữ liệu chưa phong phú Gặp khó khăn với những... file xml để sử dụng bên phần nhận dạng 3.1.3.2 Phần nhận dạng: Thực hiện các thao tác tương tự như với phần huấn luyện nhưng với tập ảnh nhận dạng Xác định nhãn của ảnh nhận dạng: Kết quả result là nhãn của ảnh cần nhận dạng 3.1.3.3 Kết quả: 3.2 Giao diện chƣơng trình chạy trên Android 3.3 Những vấn đề gặp phải Xây dựng bộ dữ liệu huấn luyện Khác với món ăn nước ngoài, món ăn Việt Nam thường là sự pha... tối ưu hóa kết quả 21 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 1 Những kết quả đã đạt đƣợc Luận văn đã nghiên cứu việc ứng dụng các phương pháp trích chọn đặc trưng và phân loại ảnh nhằm giải quyết bài toán nhận dạng thức ăn và dinh dưỡng trên nền tảng Android Cụ thể, luận văn đã thực hiện được các nội dung sau: Nghiên cứu các thuật toán khác nhau trong việc trích chọn đặc trưng và phân loại ảnh Tìm hiểu những... của nhiều loại thực phẩm Sự đa dạng của món ăn Ví dụ cùng món bò xào giá, tùy từng nơi mà tỉ lệ của bò và giá khác nhau, dẫn đến lượng dinh dưỡng cũng khác nhau Món ăn của Việt Nam rất đa dạng, dẫn tới khó khăn trong việc cập nhật món ăn cho ứng dụng Bộ dữ liệu trong luận văn chưa phong phú Chưa xác định được khối lượng món ăn, người dùng vẫn phải nhập khối lượng món ăn, gây ra một số bất tiện 20... tin người dùng về độ tuổi, cân nặng, chiều cao,…., cùng với việc nhận dạng thức ăn và chỉ số dinh dưỡng của món ăn hiện tại để từ đó có thể tính toán, đưa ra lời khuyên cho người sử dụng nên hoặc không nên bổ sung thêm những thành phần dinh dưỡng nào cho phù hợp với thể trạng hiện tại Từ đó có thể giúp người sử dụng có được một chế độ dinh dưỡng hợp lý cho mình 22 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu... 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 hiện trên ả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 và xây dựng bộ 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... % 3.1.3 Xây dựng bộ dữ liệu của ứng dụng Trong phạm vi luận văn, em xây dựng bộ dữ liệu gồm15 món ăn quen thuộc với người dân Việt Nam - Gà quay - Thịt xiên nướng - Tôm hùm - Bánh giò - Na - Cà chua - Khoai tây chiên - Phở bò - Đậu rán - Cá rán - Trứng luộc - Rau muống xào - Chuối - Quả táo - Bánh mỳ Xây dựng 15 bộ dữ liệu cho 15 món ăn, mỗi bộ gồm 20 ảnh; trong đó có 15 ảnh để huấn luyện và 05 ảnh... cố định để xử lý và nhận dạng 3.1.3.1 Phần huấn luyện: Khởi tạo biến: Điều chỉnh lại kích thước của ảnh về 100*250: Tìm ra và mô tả điểm đặc trưng của tất cả các ảnh Phân cụm tất cả các điểm đặc trưng dựa vào thuật toán KMeans Ghi lại tâm của các nhóm để sử dụng bên phần nhận dạng: Gán nhãn cho mỗi nhóm, nhãn chính là tên thư mục chứa món ăn Tính tần xuất xuất hiện: Sử dụng SVM xây dựng bộ huấn luyện... các đối tượng “giống” nhau vào “một lớp” dựa trên các đặc trưng dữ liệu của chúng Tuy nhiên, phân lớp là một hoạt động tiềm ẩn trong tư duy con người khi nhận dạng thế giới thực, đóng vai trò quan trọng làm cơ sở đưa ra các dự báo, các quyết định Phân lớp và cách mô tả các lớp giúp cho tri thức được định dạng và lưu trữ trong đó 12 Việc giải bài toán phân lớp là quá trình xây dựng một mô hình (các hàm,