« Home « Kết quả tìm kiếm

Nhận Dạng Hình Ảnh Thực Phẩm Bằng Phương Pháp Deep Learning


Tóm tắt Xem thử

- Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày DOI: 10.15625/vap NHẬN DẠNG HÌNH ẢNH THỰC PHẨM BẰNG PHƯƠNG PHÁP DEEP LEARNING Phan Anh Cang1, Nguyễn Thanh Hoàng1, Trần Hồ Đạt1, Nguyễn Văn Hiếu1, Phan Thượng Cang2 1 Khoa Công nghệ thông tin, Trƣờng Đại học Sƣ phạm Kỹ thuật Vĩnh Long 2 Khoa Công nghệ thông tin và Truyền thông, Trƣờng Đại học Cần Thơ [email protected], [email protected], [email protected], [email protected], [email protected] TÓM TẮT: Thói quen ăn uống không hợp lý là một trong những yếu tố nguy cơ hàng đầu dẫn đến tử vong và gánh nặng bệnh tật toàn cầu.
- Để có chế độ ăn uống lành mạnh cần nắm rõ những giá trị dinh dưỡng của các thực phẩm cũng như cách lựa chọn thực phẩm cho các bữa ăn.
- Hệ thống nhận dạng thực phẩm tự động và dự đoán dinh dưỡng của thực phẩm ngày càng cần thiết nhằm cung cấp được một chế độ ăn lành mạnh chính là chìa khóa để giải quyết các vấn đề dinh dưỡng bao gồm cả thừa, thiếu dinh dưỡng và thiếu vi chất dinh dưỡng.
- Trong nghiên cứu này, chúng tôi đề xuất hệ thống không chỉ có thể tự động nhận biết các thực phẩm mà còn có thể cho phép ước tính giá trị dinh dưỡng của chúng, làm cho chúng hữu ích trong việc lập kế hoạch ăn uống sao cho phù hợp với chế độ ăn uống của những người khác nhau.
- Chúng tôi thực hiện thu thập cơ sở dữ liệu ảnh thực phẩm cho hệ thống nhận dạng thực phẩm phục vụ huấn luyện và phát hiện 17 loại thực phẩm phổ biến.
- Bên cạnh đó, chúng tôi đề xuất mô hình mạng nơron tích chập (Faster R-CNN) sử dụng kiến trúc AlexNet và VGG16 trong nhận dạng hình ảnh thực phẩm và gợi ý giá trị dinh dưỡng của thực phẩm.
- Kết quả thực nghiệm cho thấy phương pháp của chúng tôi cho kết quả nhận dạng hiệu quả trên hầu hết các loại thực phẩm.
- Từ khóa: Faster R-CNN, mạng nơron tích chập, nhận dạng hình ảnh thực phẩm.
- GIỚI THIỆU Sự xuất hiện ngày càng nhiều của thực phẩm chế biến, tốc độ đô thị hóa cao cùng với sự thay đổi lối sống kéo theo sự thay đổi trong cách ăn uống, ngày nay con ngƣời tiêu thụ ngày càng nhiều các thức ăn giàu năng lƣợng, chất béo, đƣờng tự do, muối.
- Vì vậy, việc phát hiện, nhận dạng hình ảnh thực phẩm để đƣa ra các gợi ý về các thành phần dinh dƣỡng của thực phẩm trở nên cần thiết.
- Sự phát triển vƣợt bậc của các phƣơng pháp học sâu đã giúp thị giác máy tính đạt đƣợc những thành tựu đáng kể trong lĩnh vực nhận dạng ảnh, trong đó có bài toán nhận dạng thực phẩm.
- thu thập và xây dựng cơ sở dữ liệu ảnh cho hệ thống nhận dạng 17 loại thực phẩm.
- ứng dụng mô hình mạng Faster R-CNN phát hiện đối tƣợng trong ảnh.
- một số kết quả thực nghiệm đạt đƣợc.
- Các nhà nghiên cứu đã không ngừng cố gắng phát triển và cải thiện mô hình học sâu nhằm ngày càng nâng cao chất lƣợng nhận dạng ảnh hơn.
- Mặc dù trƣớc đây chƣa có bất kỳ hệ thống nhận dạng thành phần thực phẩm chuyên dụng nào, nhƣng đã có nhiều cách tiếp cận để nhận dạng hình ảnh thực phẩm trong quá khứ sẽ đƣợc đề cập ngắn gọn về những hệ thống tiêu biểu dƣới đây.
- Đầu tiên là nhóm nghiên cứu của Yang [1] sử dụng thuật toán STF (Semantic texton forests) ứng dụng trên 61 loại thực phẩm dựa trên tập ảnh thức ăn nhanh (Pittsburgh Fast-food Image Dataset) và kết hợp nó với mô hình SVM cho kết quả chính xác đƣợc 28,2.
- Nhóm Matsuda [2] sử dụng phƣơng pháp mô hình biến dạng phân phối (Deformable part model) để xử lý trích chọn đặc trƣng, sử dụng cửa sổ trƣợt trên ảnh theo định dạng kim tự tháp và áp dụng mô hình SVM để phân loại đối tƣợng.
- Họ đạt đƣợc 55,8 % cho phƣơng pháp nhận dạng nhiều đối tƣợng và 68,9 % cho phƣơng pháp nhận dạng một đối tƣợng, cải thiện đáng kể so với những nghiên cứu trƣớc đây.
- Với sự ra đời của mạng nơron tích chập là sự lựa chọn tối ƣu trong bải toán nhận dạng ảnh.
- Vào năm 2014, một phiên bản mới hơn dựa trên tập ảnh UEC-FOOD100 cũng đƣợc xuất bản, tập ảnh UEC-FOOD256 (University of Electro-Communications Food 256) chứa 256 loại thực phẩm khác nhau trong khi với tập ảnh UEC-FOOD100 thì chỉ chứa 100 loại và đạt đƣợc độ chính xác là 67,57 % trên tập này.
- Mạng nơron tích chập (CNN - Convolutional Neural Network) Mạng nơron tích chập (CNN - Convolutional Neural Network) là một trong những mô hình mạng phổ biến trong các hệ thống nhận dạng.
- Trong mô hình mạng nơron tích chập lan truyền thẳng thì mỗi nơron đầu vào cho mỗi nơron đầu ra trong các tầng tiếp theo, mô hình này gọi là mạng liên kết đầy đủ (Fully- connected).
- Kiến trúc của R- CNN gồm 3 thành phần: vùng đề xuất hình ảnh (Region proposal).
- Ngay sau đó, Shaoqing Ren [4] và các cộng sự đề xuất mạng Faster R-CNN cải thiện hơn nữa về tốc độ huấn luyện và nhận dạng.
- Mô hình mạng Faster R-CNN đƣợc mô tả theo Hình 2.
- Kiến trúc mô hình mạng Faster R-CNN [5] Theo [5] Faster R-CNN có tốc độ nhanh hơn 10 lần so với Fast R-CNN và hơn 200 lần so với khi chạy bằng thuật toán R-CNN.
- Kết quả thực nghiệm đƣợc tác giả trình bày trong Hình 3.
- So sánh thời gian các thuật toán phát hiện đối tƣợng 422 NHẬN DẠNG HÌNH ẢNH THỰC PHẨM BẰNG PHƢƠNG PHÁP DEEP LEARNING Trong nội dung bài báo, chúng tôi đề xuất phƣơng pháp phát hiện thành phần trong ảnh thực phẩm dựa trên mô hình mạng Faster R-CNN.
- Bƣớc kế tiếp, chúng tôi tiến hành so sánh và đánh giá các mô hình với mục đích tìm ra mô hình tốt nhất trong nhận dạng.
- Một trong những lý do cần xét tới tiêu chí này vì có rất nhiều trƣờng hợp mô hình chạy tốt trên tập dữ liệu chuẩn, nhƣng bị hạn chế trên tập dữ liệu thực tế do tính phức tạp của dữ liệu.
- Để đánh giá các yếu tố này, chúng tôi sử dụng các độ đo đánh giá mô hình của bài toán nhận dạng đối tƣợng nhằm tìm ra mô hình có độ chính xác cao nhất ứng dụng hiệu quả trong bài toán nhận dạng ảnh thực phẩm.
- Kiến trúc mạng AlexNet và VGGNet AlexNet là kiến trúc mạng nơron tích chập đầu tiên đặt nền móng cho các kiến trúc mạng nơron sử dụng mạng nơron tích chập.
- Kiến trúc mô hình mạng AlexNet đƣợc trình bày trong Hình 4.
- Mô hình mạng AlexNet [6] Kiến trúc này sử dụng 5 tầng của mạng nơron tích chập để phân loại cho 1000 lớp.
- Kiến trúc của mô hình này đƣợc mô tả trong Hình 2.4.
- Kiến trúc của mạng VGG16 [6] Phan Anh Cang, Nguyễn Thanh Hoàng, Trần Hồ Đạt, Nguyễn Văn Hiếu, Phan Thƣợng Cang 423 Kiến trúc của mạng VGGNet đƣợc mô tả trong Hình 5 là một chuẩn thiết kế mạng học sâu của Visual Geometry Group thuộc đại học Oxford.
- Mô hình này đơn giản và có độ sâu hơn so với kiến trúc AlexNet.
- Tất cả các tầng của mạng nơron tích chập trong mô hình này gồm có bộ lọc 3x3 với bƣớc nhảy = 1, kích thƣớc lề = 1 và tầng tổng hợp cực đại.
- Dựa trên các nghiên cứu của tác giả [7], [5] cho thấy việc rút trích đặc trựng và nhận dạng ảnh thực phẩm dựa trên kiến trúc AlexNet và VGG16 cho kết quả tốt.
- Vì vậy, trong nội dung bài báo này chúng tôi đề xuất mô hình mạng nơron tích chập (Faster R-CNN) sử dụng kiến trúc AlexNet và VGG16 trong nhận dạng hình ảnh thực phẩm.
- Độ đo đánh giá mô hình Độ đo mAP (Mean Average Precision) [8] theo chuẩn đánh giá PASCAL VOC [9] đƣợc sử dụng để đánh giá cho các mô hình phát hiện đối tƣợng trong ảnh theo công thức (1).
- Đo thời gian huấn luyện mô hình bằng giờ và thời gian dự đoán trên từng ảnh bằng giây.
- MÔ HÌNH ĐỀ XUẤT Trong các mô hình nhận dạng thực phẩm trƣớc đây việc nhận dạng ảnh thực phẩm đƣợc thực hiện hiện bằng phƣơng pháp trích xuất đặc trƣng trực tiếp từ ảnh đầu vào sau đó sử dụng bộ phân loại để thực hiện nhận dạng các loại thực phẩm.
- Tuy nhiên, nhƣợc điểm của phƣơng pháp này gặp khó khăn trong việc trích xuất đặc trƣng từ ảnh, độ chính xác trong nhận dạng không cao và có xu hƣớng giảm dần khi số lƣợng ảnh đầu vào tăng lên.
- Trong các nghiên cứu gần đây đã minh chứng việc thực hiện nhận dạng ảnh bằng phƣơng pháp Deep Learning sẽ có kết quả tốt hơn các phƣơng pháp trƣớc đây và độ chính xác sẽ tăng dần khi tập dữ liệu ảnh đầu vào lớn.
- Do đó, chúng tôi đề xuất mô hình tổng quát nhận dạng thực phẩm bằng phƣơng pháp Deep Learning nhằm tối ƣu hóa công việc trích xuất đặc trƣng trên ảnh đầu vào và tăng cƣờng độ chính xác trong quá trình nhận dạng.
- Bộ trích Bộ phân chọn đặc loại trƣng Ảnh đầu vào Faster R-CNN Kết quả nhận dạng Hình 6.
- Mô hình tổng quát đề xuất hệ nhận dạng ảnh thực phẩm bằng phƣơng pháp Faster R-CNN Hình 6 mô tả quá trình nhận dạng đƣợc thực hiện bao gồm các bƣớc: (1) Huấn luyện ảnh đầu vào bằng mô hình Faster R-CNN.
- (2) Thực hiện kiểm thử và tinh chỉnh các trọng số nhằm tìm ra mô hình tốt nhất.
- (3) Nhận dạng ảnh thực phẩm dựa trên mô hình Faster R-CNN và đánh giá độ chính xác.
- Từ Hình 6 ta thấy mô hình mạng Faster R-CNN và mạng CNN đều có kiến trúc tổng quát chung, cho nên mô hình vẫn gồm ba giai đoạn chính là giai đoạn huấn luyện, giai đoạn đánh giá và giai đoạn kiểm thử, các thành phần trong hai giai đoạn huấn luyện và đánh giá gồm có bộ trích chọn đặc trƣng và bộ phân loại, nhận dạng và bộ xác định vị trí bao đóng.
- Trong mỗi lần học, các đánh giá sẽ đƣợc chuẩn đoán và so khớp chất lƣợng của mỗi pha và chọn ra mô hình dự đoán tốt nhất.
- Riêng với pha kiểm thử, mô hình bắt đầu dự đoán, tính toán các số liệu liên quan đến chất lƣợng mô hình và đánh giá kết quả cho mô hình.
- Sau đó mô hình này sẽ đƣợc ứng dụng vào triển khai thực tế.
- Phát hiện đối tượng trong ảnh bằng mô hình Faster R-CNN: Các bƣớc thực hiện bao gồm: 1.
- Lựa chọn mô hình có giá trị mAP cao nhất, tính toán độ chính xác cho mô hình.
- 424 NHẬN DẠNG HÌNH ẢNH THỰC PHẨM BẰNG PHƢƠNG PHÁP DEEP LEARNING 4.
- Lựa chọn mô hình có độ chính xác cao đƣa vào nhận dạng.
- Xây dựng hệ thống nhận dạng Bên cạnh đó, chúng tôi xây dựng hệ thống nhận dạng ảnh thực phẩm bao gồm 3 module: Công cụ suy luận Hình 7.
- Hệ thống nhận dạng ảnh thực phẩm Nhƣ Hình 7 hệ thống nhận dạng các thành phần thực phẩm trong món ăn đƣợc thiết kế theo mô hình client- server trong đó: Giai đoạn một là giai đoạn giao diện ngƣời dùng, cụ thể là ứng dụng client trên điện thoại di động và website, quản lý tƣơng tác ngƣời dùng nhƣ chụp ảnh, chọn ảnh gửi lên server và hiển thị kết quả nhận dạng do server gửi về.
- Server thực hiện xử lý các yêu cầu từ client, nhƣ quản lý và phân phối các luồng xử lý độc lập, đảm bảo hiệu năng và chất lƣợng tính toán nhận dạng cho nhiều client trong cùng một thời điểm.
- Giai đoạn ba, server còn đảm nhiệm xây dựng mô hình, tinh chỉnh và quản lý các phiên bản mô hình nhận dạng cho hệ thống và quản lý dữ liệu, bao gồm các thông tin về thành phần thực phẩm có trong món ăn, mỗi thành phần đều có các thông tin chi tiết về số lƣợng calo, protein, chất béo.
- KẾT QUẢ THỰC NGHIỆM 4.1.
- Môi trường và dữ liệu kiểm thử Cấu hình thử nghiệm: Môi trƣờng đƣợc sử dụng để huấn luyện mô hình nhận dạng các thành phần thực phẩm món ăn là máy tính với vi xử lý intel core i5, bộ nhớ trong 16 GB, bộ xử lý đồ họa GTX 1060 với kích thƣớc bộ nhớ là 6 GB, hệ điều hành Ubuntu 16.04, ngôn ngữ Python với framework là CNTK (Computational Network Toolkit).
- Sau quá trình tìm hiểu và so sánh các framework, chúng tôi đã quyết định chọn CNTK làm công cụ cài đặt triển khai ứng dụng cho bài toán nhận dạng các thành phần trong ảnh bởi Microsoft đã tích hợp các mã nguồn có sẵn cho mô hình Faster R-CNN giúp giảm thời gian xây dựng mô hình huấn luyện.
- Tập dữ liệu huấn luyện: Do tập ảnh dùng để nhận dạng thành phần trong món ăn không có gán nhãn sẵn nên chúng tôi đã tự gán nhãn thủ công một tập ảnh riêng để sử dụng từ các hình ảnh đƣợc lấy trong tập ảnh Food-101 [12].
- Tập ảnh Food-101 là bộ dữ liệu hình gồm 101 loại thực phẩm (Hình 8), mỗi loại thực phẩm có 1.000 hình (tổng hình trong tập ảnh là 101.000 hình).
- Tập ảnh Food-101 Phan Anh Cang, Nguyễn Thanh Hoàng, Trần Hồ Đạt, Nguyễn Văn Hiếu, Phan Thƣợng Cang 425 Tập ảnh dùng để nhận dạng gồm 17 loại thành phần khác nhau (gọi tắt là tập ảnh) nhƣ: bánh mì, bánh ngô, bún, chanh, cà chua, cá, giá, đậu, hành lá, hành tây, khoai tây, nƣớc sốt, phô mai, rau húng quế, thịt bò, thịt heo, tƣơng cà, xúc xích.
- Chúng tôi sử dụng lại tập ảnh đã đƣợc xây dựng từ mô hình mạng Faster R-CNN.
- Tập ảnh cũng gồm 17 loại thực phẩm khác nhau.
- Hình ảnh trên tập dữ liệu và kết quả tƣơng ứng với đầu ra của mô hình Hình 9 mô tả ứng dụng chúng tôi đã xây dựng thực hiện nhận dạng hình ảnh với các loại thực phẩm khác nhau với kết quả đầu ra tƣơng ứng đƣợc thể hiện bên cạnh.
- Xác định tham số huấn luyện: Chúng tôi thực hiện huấn luyện trên mô hình Faster R-CNN sử dụng kiến trúc AlexNet và VGG16 với các tập ảnh tỉ lệ 6:2:2 và 7:1:2.
- Mô hình sẽ đƣợc huấn luyện trên ảnh đầu vào có kích thƣớc 512x512.
- Điều chỉnh tầng softmax của mô hình ứng với 17 loại thực phẩm.
- Về thuật toán tối ƣu, mô hình sử dụng thuật toán SGD để tối ƣu hàm lỗi.
- Kết quả huấn luyện trên mô hình Faster R-CNN sử dụng kiến trúc AlexNet và VGG16 với các tập ảnh tỉ lệ 6:2:2 và 7:1:2 nhƣ sau: Hình 10.
- Quá trình học của mô hình mạng Faster R-CNN sử dụng kiến trúc VGG16 trên tập dữ liệu tỉ lệ 6:2:2 426 NHẬN DẠNG HÌNH ẢNH THỰC PHẨM BẰNG PHƢƠNG PHÁP DEEP LEARNING Hình 11.
- Quá trình học của mô hình mạng Faster R-CNN sử dụng kiến trúc VGG16 trên tập dữ liệu tỉ lệ 7:1:2 Hình 10 và Hình 11 biểu diễn quá trình học của mô hình Faster R-CNN, với loss là độ lỗi trên tập dữ liệu huấn luyện, mAP là độ đo đƣợc tính trên tập dữ liệu đánh giá, ta thấy giá trị độ đo mAP ngƣng tăng khi mô hình đã qua 12 lần học và sau đó bão hòa, chúng ta sẽ sử dụng mô hình đƣợc sao lƣu tại lần học thứ 12 làm mô hình cho việc đánh giá cho tập dữ liệu kiểm thử.
- Phƣơng pháp tƣơng tự cũng đƣợc áp dụng cho các mô hình khác.
- Kết quả nhận dạng của 2 mô hình đƣợc trình bày trong phần kết quả thực nghiệm.
- Kết quả thực nghiệm Chúng tôi thực hiện so sánh trên tập dữ liệu huấn luyện sử dụng công thức (1) và (2) đƣợc trình bày trong mục 2.4.
- Kết quả nhận dạng trên mô hình Faster R-CNN sử dụng kiến trúc AlexNet và VGG16 với các tập ảnh tỉ lệ 6:2:2 và 7:1:2 trên 17 loại thực phẩm nhƣ sau: Bảng 1.
- So sánh kết quả từng thực phẩm giữa 2 kiến trúc AlexNet và VGG16 sử dụng độ đo AP Thành phần thực AlexNet VGG16 phẩm 6:2:2.
- Kết quả so sánh độ đo mAP giữa 2 kiến trúc AlexNet và VGG16 Kiến trúc AlexNet VGG16 mAP.
- Dựa vào kết quả Bảng 1 và Bảng 2 cho thấy kiến trúc VGG16 cho chất lƣợng nhận dạng tốt hơn hẳn so với kiến trúc AlexNet, trong đó tập ảnh tỉ lệ 6:2:2 với kiến trúc VGG16 tốt hơn 7,75 % so với kiến trúc AlexNet với cùng tập ảnh.
- Chất lƣợng tƣơng tự đƣợc biểu hiện trên tập ảnh tỉ lệ 7:1:2, kiến trúc VGG16 nhận dạng tốt hơn tới 5,59 % so với AlexNet.
- Phần lớn chất lƣợng mô hình trên kiến trúc VGG16 đều cao hơn chất lƣợng trên kiến trúc Alex về mọi mặt, chứng minh rằng VGG16 có khả năng chọn lọc đặc trƣng tốt hơn và chính xác hơn dựa vào tính chất học sâu của mô hình với 13 lớp tích chập trong khi đó AlexNet chỉ có 5 lớp tích chập.
- Hầu hết kết quả kiểm nghiệm trên tập dữ liệu tỉ lệ 7:1:2 đều cao hơn so với tập tỉ lệ 6:2:2 trên từng thành phần thực phẩm nhƣng có một số thành phần tập 6:2:2 biểu hiện tốt hơn nhƣ bánh mỳ, cá, khoai tây, rau húng quế và tƣơng cà.
- Phan Anh Cang, Nguyễn Thanh Hoàng, Trần Hồ Đạt, Nguyễn Văn Hiếu, Phan Thƣợng Cang 427 Thời gian Mô hình Hình 12.
- Biểu đồ phân bố về thời gian thực hiện của các mô hình Trong Hình 12, mô hình Faster R-CNN với các kiến trúc AlexNet, VGG16 là có thời gian tối đa từ 3 đến 6 giờ cho mỗi 30 lần học khác nhau.
- Thông qua kết quả về thời gian và độ chính xác của bảng số liệu chúng tôi thấy rằng độ chính xác của các mô hình ảnh hƣởng nhiều vào mạng cơ sở khi rút trích đặc trƣng và phần mạng phía sau dùng để xử lý đặc trƣng cũng nhƣ hàm tính độ lỗi khi huấn luyện của các mô hình.
- KẾT LUẬN Trong nghiên cứu này, chúng tôi thực hiện nhận dạng và phân loại tự động thực phẩm trong các ảnh màu.
- Chúng tôi thực hiện thu thập cơ sở dữ liệu ảnh thực phẩm từ nhiều nguồn khác nhau cho hệ thống nhận dạng thực phẩm và hoàn thiện xây dựng bộ cơ sở dữ liệu ảnh phục vụ huấn luyện phát hiện đối tƣợng thực phẩm cho 17 loại phổ biến.
- Chúng tôi đã xây dựng hệ thống nhận dạng thực phẩm bằng phƣơng pháp Faster R-CNN.
- Kết quả thực nghiệm cho thấy phƣơng pháp đề xuất đạt kết quả chính xác cao trong nhận dạng một số loại thực phẩm phổ biến.
- Trong nghiên cứu sắp tới, chúng tôi tiếp tục cải tiến tập dữ liệu phong phú hơn so với 17 loại tại thời điểm hiện tại đồng thời tăng tốc độ nhận dạng của phƣơng pháp đề xuất.
- Mặt khác, chúng tôi thực hiện so sánh, đánh giá với các kiến trúc mạng khác (Yolo, Mark-RCNN.
- nhằm tìm ra phƣơng pháp tối ƣu trong việc cung cấp thông tin chính xác và hiệu quả về giá trị dinh dƣỡng của các loại thực phẩm để mọi ngƣời có chế độ ăn lành mạnh chính là chìa khóa giải quyết các vấn đề dinh dƣỡng bao gồm cả thừa, thiếu dinh dƣỡng và thiếu vi chất dinh dƣỡng.
- Proceedings 428 NHẬN DẠNG HÌNH ẢNH THỰC PHẨM BẰNG PHƢƠNG PHÁP DEEP LEARNING of the IEEE Conference on Computer Vision and Pattern Recognition, 2018