Nghiên cứu phát hiện vết nứt trên vỏ trứng cút dùng xử lý ảnh và mạng nơron
Tóm tắt. Bài báo đề xuất phương pháp mói trong việc phát hiện vết nứt trên vỏ trứng cút, phương pháp này dùng kết hợp xử lý ảnh vói mạng nơ ron. Giá trị histogram của ảnh rọi trứng cút được sử dụng làm dữ liệu huấn luyện mạng và kiểm tra độ chính xác của phương pháp đề xuất. Đầu tiên, các ánh sáng trắng, vàng, đỏ từ led luxeon được sử dụng để thử nghiệm và lựa chọn ánh sáng thích hợp cho việc rọi trứng cút. Trong đó, ánh sáng vàng cho kết quả tốt hơn ánh sáng trắng và đỏ, vết nứt hiển thị rõ hơn, sai lệch histogram ảnh rọi giữa trứng có vết nứt và trứng còn nguyên cũng lón hơn. Kết quả bưóc đầu đạt được vói độ chính xác là 85,1% cho trường hợp trứng không vết nứt, 87,98% cho trường hợp trứng có vết nứt và mức chính xác trung bình đạt được là 86,54%.
Tóm tắt nội dung tài liệu: Nghiên cứu phát hiện vết nứt trên vỏ trứng cút dùng xử lý ảnh và mạng nơron
NGHIÊN CỨU PHÁT HIỆN VET NỨT TRÊN Vỏ TRỨNG CÚT DÙNG XỬ LÝ ẢNH VÀ MẠNG NƠRON ĐỖ HOÀNG SƠN, NGUYỄN TAN TIEN Khoa Cơ khí, Trường ĐH Bách khoa Tp. Hồ Chí Minh Tóm tắt. Bài báo đề xuất phương pháp mói trong việc phát hiện vết nứt trên vỏ trứng cút, phương pháp này dùng kết hợp xử lý ảnh vói mạng nơ ron. Giá trị histogram của ảnh rọi trứng cút được sử dụng làm dữ liệu huấn luyện mạng và kiểm tra độ chính xác của phương pháp đề xuất. Đầu tiên, các ánh sáng trắng, vàng, đỏ từ led luxeon được sử dụng để thử nghiệm và lựa chọn ánh sáng thích hợp cho việc rọi trứng cút. Trong đó, ánh sáng vàng cho kết quả tốt hơn ánh sáng trắng và đỏ, vết nứt hiển thị rõ hơn, sai lệch histogram ảnh rọi giữa trứng có vết nứt và trứng còn nguyên cũng lón hơn. Kết quả bưóc đầu đạt được vói độ chính xác là 85,1% cho trường hợp trứng không vết nứt, 87,98% cho trường hợp trứng có vết nứt và mức chính xác trung bình đạt được là 86,54%. Từ khóa. Phân loại trứng cút, xử lý ảnh, mạng nơron. Abstract. This paper proposed a new method to detect cracks on the quail egg shell, which was used image processing combined with neural network. Histogram of many images of candling quail egg was used as training data for neural network and to check the accuracy of the proposed method. First, the white light, yellow and red of LED Luxeonwas used to test and select the appropriate light for the illumination of quail eggs. In particular, the result was better for the yellow light. Cracks was showed clearly, bias histogram of images of candling quail egg between egg cracks and intact eggs was largerthan the red and the white light. Initial results achieved with an accuracy of 85,1% for the eggs without cracking, 87,98% for the case of cracks' and the average accuracy was86,54%. Key words. Quail eggs grading, image processing, neural networks. ĐẶT VẤN ĐỀ Trứng là loại thực phẩm rất quen thuộc với con người, rất thuận tiện, dễ chế biến, nhiều giá trị dinh dưỡng và phù hợp với mọi lứa tuổi. Năm 1964 tại thủ đô của Italia, Hội đồng quốc tế về trứng gia cầm (IEC- International Egg Commission) đã đề nghị chọn ngày thứ sáu của tuần thứ hai trong tháng 10 hàng năm làm “Ngày thế giới về trứng gia cầm” (World Egg Day). Đây là sự ghi nhận và tôn vinh của con người trẽn toàn thế giới về giá trị tuyệt vời của trứng với sức khoẻ. Theo tạp chí Sức khỏe của Mỹ khuyến cáo, sáu loại trứng sau đây là những thực phẩm có lợi cho sức khỏe con người: trứng vịt, trứng cút, trứng ngỗng, trứng đà điểu, trứng gà tây và trứng gà (Rodale Institute, 4.2012). Tại Việt nam, trứng cút đã và đang là một nguồn thực phẩm thông dụng và có nhu cầu cao. Tuy nhiẽn, việc sản xuất con giống vẫn đang là vấn đề nan giải. Hiện nay, việc phát hiện và phân loại trứng nứt vẫn còn làm thủ công với năng suất và độ chính xác thấp khiến tỉ kệ hao hụt trong việc ấp trứng còn khá cao do không phát hiện được trứng nứt để có thể loại bỏ trước khi ấp. Việc phát hiện vết nứt trẽn trứng cút thành công sẽ là co sỏ cho bài toán phân loại trứng cút tự động sau này. Vết nứt trẽn vỏ trứng cút thường xuất hiện trong quá trình vận chuyển khi chưa đóng gói, các vết nứt này có mức độ, hình dạng, vị trí khác nhau. Ngoài ra, những vệt màu trẽn bề mặt vỏ trứng cút cũng phân bố một cách ngẫu nhiẽn. Vì vậy, cần một phưong pháp có khả năng đáp ứng tốt trong điều kiện này. Theo tìm hiểu của nhóm nghiẽn cứu, các nghiẽn cứu về vấn đề tưong tự với trứng gà được tiến hành khá nhiều trẽn thế giới và có phưong pháp đã được áp dụng rộng rãi trong sản xuất, mang lại hiệu quả kinh tế cao. Năm 1991, bài báo [1] của tác giả R.T. Elster và cộng sự đã áp dụng công nghệ xử lý ảnh vào việc phát hiện vết nứt của vỏ trứng. Tác giả đã tiến hành thử nghiệm với trứng gà, bằng cách đặt trứng cần phân tích trẽn đèn soi và bẽn trẽn đặt một camera quan sát có tác dụng ghi nhận ảnh phục vụ cho việc phân tích. Tác giả đã tiến hành thử nghiệm trẽn 113 trứng gà loại A với độ chính xác đạt được là 96%. Năm 1992, tác giả J.W. Goodrum và các cộng sự [2] cũng đã tiến hành phân tích phát hiện vết nứt trẽn vỏ trứng gà bằng công nghệ xử lý ảnh. Tác giả đã có những cải tiến so với [12] bằng cách đặt trứng cần phân tích lẽn hệ thống con lăn, điều này cho phép quan sát ỏ nhiều góc độ khác nhau. Mỗi trứng, tác giả phân tích ảnh ỏ 3 góc độ lệch nhau 120 độ, điều này giúp việc phân tích trứng được chính xác hon. Năm 1996, tác giả V.C.Patel và cộng sự [3] đã sử dụng công nghệ xử lý ảnh kết hợp với mạng no ron trong việc phát hiện các vệt máu bẽn trong trứng và vết nứt, vết bẩn ỏ vỏ trứng. Tác giả tiến hành phân tích và huấn luyện mạng no ron bằng các giá trị phân bố màu (histogram) ảnh xám. Trong việc phát hiện vết máu, V.C.Patel và các cộng sự đã sử dụng mạng no ron 3 lớp với 256 ngõ vào (tưong ứng với 256 giá trị của histogram), 32 nút ỏ lớp ẩn và 1 ngõ ra. Độ chính xác của phưong pháp đạt được là 90% khi tiến hành huấn luyện với 180 mẫu và kiểm tra 10.000 trứng, trong đó có 90 trứng có vệt máu, 297 trứng bị nứt và 96 trứng có vết bẩn. Năm 1998, [4] V.C.Patel và cộng sự đã phát triển thẽm so với phưong pháp trong [3] bằng việc sử dụng ảnh màu thay cho ảnh xám, các giá trị ngõ vào mạng no ron là 384 giá trị histogram ảnh màu, cụ thể là 128 giá trị histogram ảnh đon sắc đỏ (kết hợp 2 giá trị liẽn tiếp trong 256 giá trị histogram), 128 giá trị histogram ảnh đon sắc xanh lá và 128 giá trị histogram ảnh đon sắc xanh dưong. Cấu trúc mạng được sử dụng cho việc phát hiện vết máu là 384 ngõ vào, 24 nút lớp ẩn, 1 ngõ ra và thay đổi số nút lớp ẩn thành 40 cho việc phát hiện vết bẩn. Độ chính xác trung bình của phưong pháp là 92,8% cho phát hiện vệt máu, 85% cho phát hiện bẩn và 87,8% cho phát hiện vết nứt. Để lấy được vùng không gian trứng cần phân tích, loại bỏ vùng không gian xung quanh, H.R. Pourreza và cộng [6] đã sử dụng một mặt nạ hình elip. Hình elip sử dụng có kích thước nhỏ hon kích thước trứng và có góc lệch tưong ứng với góc lệch của trứngcần phân tích. Ngoài phưong pháp thu nhận ảnh rọi là ánh sáng xuyẽn qua trứng, Loredana Lunadei và công sự [8] đã sử dụng ánh sáng phản xạ từ trứng để ghi nhận và phân tích. Độ chính xác đạt được của phưong pháp này là 97% khi áp dụng trẽn trứng gà.Đối với trường hợp các vết nứt nhỏ, tác giả K.C. Lawrence và cộng sự [7] đã đề xuất phưong pháp dùng thay đổi áp suất khi thu nhận ảnh rọi của trứng gà. Phưong pháp này đã phát huy hiệu quả với độ chính xác đạt được là 99,6%. Hiện nay, nhóm nghiẽn cứu vẫn chưa tìm được tài liệu nghiẽn cứu nào của các tác giả trong và ngoài nước về việc phát hiện vết nứt trẽn vỏ trứng cút. Có thể vì lý do trứng cút có kích thước nhỏ (dàiX rộng = 34,87x26,2mm), vỏ trứng mỏng (0,27mm) [5], những vệt màu xuất hiện ngẫu nhiẽn trẽn vỏ trứng cút gây khó khăn cho việc phân tích và xử lý. Vì vậy, nhóm nghiẽn cứu muốn tìm hiểu và phát triển một phưong pháp có thể học theo cách quan sát của con người trong việc phát hiện vết nứttrẽn vỏ trứng cút. PHƯƠNG ÁN ĐỀ XUẤT Nhóm nghiẽn cứu sẽ tập trung vào việc nhận dạng sự tồn tại của vết nứt trẽn vỏ trứng cút bằng công nghệ xử lý ảnh và sử dụng kết hợp mạng no ron hồi tiếp. Trong quá trình thử nghiệm, nhóm nghiẽn cứu nhận thấy đèn rọi trứng ảnh hướng nhiều đến khả năng hiển thị của vết nứt trẽn vỏ trứng cút. Vì vậy, nhóm nghiẽn cứu sẽ tiến hành một số so sánh để lựa chọn ánh sáng phù hợp cho việc rọi trứng cút. Màu sắc ánh sáng được sử dụng trong quá trình thực nghiệm và so sánh là ánh sáng từ led luxeon với ba màu: trắng, vàng, đỏ. Để tạo tập mẫu phục vụ cho việc huấn luyện mạng no ron và kiểm tra độ chính xác của phưong pháp, mỗi trứng cút được chụp ở ít nhất 3 góc độ khác nhau (xoay quanh trục đối xứng của trứng) nhằm phát hiện sự tồn tại của vết nứt được chính xác hon. Các thông số của tập mẫu là các giá trị histogram của ảnh rọi trứng cút. Ảnh rọi được sử dụng là ảnh màu loại 8 bit, thuộc không gian màu RGB. Các giá trị ngõ vào của mạng no ron là tập hợp của 768 giá trị histogram, trong đó gồm 256 giá trị histogram ảnh màu đỏ, 256 giá trị histogram ảnh màu xanh lá và 256 giá trị histogram ảnh màu xanh dưong. Trong đề tài này, nhóm nghiẽn cứu đã kết hợp thuật toán di truyền để tìm ra số nút lớp ẩn cho cấu hình mạng no ron, mạng no ron sử dụng là mạng 3 lớp.Chưong trình được viết trẽn phần mềm Microsoft visual studio 2010 với sự hỗ trợ của thư viện Opencv (Open Source Computer Vision) phiẽn bản 2.2. Opencv là một thư viện mã nguồn mở, được xây dựng với nhiều công cụ xử lý ảnh mạnh mẽ (hon 500 hàm chức năng, 2500 thuật toán) và rất thông dụng. Thư viện opencv thích hợp chạy trẽn nền C/C++ và trẽn phần mềm Microsoft visual studio. Trong thư viện này có tích hợp sẵn mạng no ron hồi tiếp MLP. Vì vậy, Opencv thật sự là một công cụ đắt lực cho việc xây dựng chưong trình thực nghiệm và đánh giá hiệu quả của phưong pháp. Cách thu nhận ảnh Hệ thống thu nhận ảnh bao gồm các phần chính sau:Đế: Nâng đò và bố trí các bộ phận khác. Đèn chiếu: Tạo điều kiện thuận lợi cho việc quan sát trứng. Hệ thống con lăn: Giúp quan sát trứng ở nhiều góc độ khác nhau. Camera quan sát: Thu nhận ảnh rọi của trứng để đưa vào máy tính xử lý. Máy tính: Xử lý hình ảnh và đưa ra kết quả. Toàn bộ quá trình thu nhận ảnh rọi trứng cút được thực hiện trong buồng tối để giảm bớt ảnh hưởng của ánh sáng bẽn ngoài, các bộ phận chính của hệ thống được bố trí như hình 1. Phần mềm sử dụng: Phần mềm Microsoft visual studio 2010 và thư viện Opencv 2.2. Thiết bị thu nhận ảnh dùng máy ảnh Panasonic Lumix DMC F3, 12.1 Megapixels, loại cảm biến CCD 1/2.33 inch. Đèn rọi trứng dùng đèn led siẽu sáng Luxeon loại 3W, điện áp 3V (hình 2). Hình 1. Hệ thống thu nhận ảnh rọi trứng cút Hình 2. Led luxeon Lựa chọn màu ánh sáng rọi trứng Để lựa chọn màu ánh sáng rọi trứng, trong phần này sẽ tiến hành thử nghiệm với 3 loại màu sắc ánh sáng là trắng, vàng và đỏ. Đầu tiên chúng ta sẽ quan sát ảnh rọi của trứng có vết nứt trong bảng 1: Dựa vào bảng so sánh trẽn, quan sát bằng mắt thường ta có thể thấy được với ánh sáng trắng và ánh sáng vàng cho kết quả tốt hon so với ánh sáng đỏ, vết nứt trong ảnh rọi hiện thị rõ ràng hon trong đa số trường hợp. B.2. Bảng so sánh histogram ánh sáng trắng Tiếp theo, để lựa chọn được ánh sáng nào cho kết quả tốt hơn, chúng ta tiến hành so sánh sự khác biệt về histogram của ảnh rọi trứng cút bị nứt và không bị nứt giữa ánh sáng trắng và ánh sáng vàng. - Anh sáng trắng: Ánh sáng vàng: Sau khi so sánh sự khác biệt giữa trứng có vết nứt và không có vết nứt khi rọi bằng ánh sáng trắng, tiếp đến chúng ta sẽ xem sự khác biệt này với ánh sáng vàng. Qua đó, ta sẽ chọn ánh sáng nào cho sự khác biệt lớn hơn. Qua sự so sánh trẽn, ta có thể thấy được ánh sáng vàng cho kết quả tốt hơn ánh sáng trắng và ánh sáng đỏ. Vì vậy, trong phần thực nghiệm của đề tài này nhóm nghiẽn cứu lựa chọn ánh sáng vàng cho việc rọi trứng cút. Thu thập mẫu và phân tích - Thu thập mẫu: Nhờ hệ thống con lăn, trứng cút sẽ được quan sát ở nhiều góc độ khác nhau và ít nhất là 3 góc độ. Điều này giúp cho việc nhận biết vết nứt trẽn vỏ trứng cút được chính xác hơn. Do đặc trưng vỏ bề ngoài của trứng cút có nhiều vệt màu với kích thước, hình dạng và phân bố khác nhau, màu sắc, cường độ sáng của ảnh rọi cũng khác nhau, vì vậy ta cần tạo ra tập mẫu với số lượng ảnh mẫu tương đối lớn, nhằm đưa độ chính xác của phương pháp đạt mức yẽu cầu.Ảnh rọi trứng sau khi ghi nhận được sẽ tiến hành áp dụng một số công cụ trong xử lý ảnh số nhằm lọc nhiễu, cải thiện chất lượng ảnh và phân đoạn, khoanh vùng vị trí, biẽn dạng trứng. Sau đó dùng một mặt nạ hình elip để loại bỏ vùng không gian xung quanh, chỉ giữ lại vùng không gian ảnh của trứng cần phân tích, điều này cũng giúp giảm bớt ảnh hưởng của môi trường bẽn ngoài. Để tạo mặt nạ hình elip, trong thư viện opencv2.2 có hỗ trợ hàm fitEllipse, hàm này có ưu điểm là dựng được hình elip với kích thước và góc quay phù hợp với biẽn dạng vật. Sau khi có được các thông số, hình elip được vẽ bằng lệnh ellipse(). Kích thước của hình elip được B.3. Bảng so sánh histogram ánh sáng vàng nhân thêm một hệ số lớn hơn 1 (1.05) để đảm bảo lấy được nhiều nhất có thể vùng trứng cần phân tích. Tập mẫu huấn luyện sẽ ghi nhận ảnh rọi của trứng cút ở nhiều góc độ (5-7 vị trí) nhằm tăng xác xuất xuất hiện trong quá trình phân tích và kiểm tra. Tập mẫu này bao gồm 1381 ảnh rọi của trứng không có vết nứt và 3219 ảnh rọi có vết nứt. Ảnh mẫu có vết nứt cần nhiều hon so với trường hợp không có vết nứt vì có nhiều mức độ, trường hợp nứt khác nhau và ta cũng ưu tiên phát hiện, loại bỏ trứng có vết nứt.Vì vậy, mỗi trứng không chỉ được chụp ở nhiều góc độ mà còn được chụp với những mức độ nứt khác nhau, điều này làm tăng tính đa dạng cho tập mẫu. - Cấu hình mạng: Mạng được sử dụng trong trường hợp này là mạng hồi tiếp MLP 3 lớp: Số nút ngõ vào là 768 (tưong ứng với 256 giá trị phân bố màu của màu đỏ, 256 màu xanh lá, 256 màu xanh dưong).Số nút lớp ẩn là 148 (ứng với tập mẫu 5164), số nút ngõ ra là 1 (tưong ứng với 2 trường hợp là nứt hoặc không nứt).Hàm kích hoạt sử dụng hàm sigmoid. Hệ số learning rate là 0,01 và momentum là 0,1. KẾT QUẢ THỰC NGHIÊM VÀ NHẬN XÉT Bước đầu, độ chính xác của phưong pháp khi tiến hành trên tập mẫu huấn luyện là trên 99% cho cả trường hợp nứt và không nứt. Tuy nhiên, khi tiến hành kiểm tra ngoài tập mẫu thì độ chính xác của phưong pháp còn thấp, đạt 84,856% cho trường hợp không có vết nứt và 92% cho trường hợp có vết nứt. Trong quá trình tạo tập mẫu huấn luyện và kiểm tra, nhóm nghiên cứu đã ghi nhận một số kết quả như sau: * Trường hợp trùng có vết nứt. (1): Tổng số lượng. (2) Cho từng trường hợp: nứt - không nứt. Khi tập mẫu huấn luyện tăng lên thì độ chính xác của phưong pháp, đối với ảnh của trứng có vết nứt và không có vết nứt, dần tiến về một mức trung bình. Trong đó độ chính xác với ảnh có vết nứt tăng lên khi tập mẫu được tăng lên. KẾT LUẬN Bài toán được thực nghiệm trên tập mẫu 5164 ảnh, trong đó 38% ảnh của trứng còn nguyên và 62% ảnh của trứng có vết nứt. Ánh sáng được sử dụng để rọi trứng cút là ánh sáng vàng từ led luxeon, ánh sáng này cho kết quả tốt hon trong việc phát hiện vết nứt so với ánh sáng trắng và ánh sáng đỏ. Bảng 4. kết quả đạt được của phương pháp Mau huấn luyện Số lượng mẫu Số nút lớp ẩn Két quả (1) (2) (1) 1095 283 812* 20 99,909% 2552 765 1787* 22 99,53% 3640 1235 2405* 46 99,313% 4485 1655 2830* 141 99,487% 5164 1982 3182* 148 99,225% 5164 1982 3182* 148 99,225% Mau kiềm tra Số lượng mẫu Kêt quả (1) (2) (1) (2) 466 146 75,75% 76,71% 320* 75,31%* 272 68 87,5% 73,529% 204* 92,157%* 517 255 78,917% 73,333% 262* 84,351%* 679 327 80,707% 72,783% 352* 88.068%* 294 143 90,476% 84,615% 151* 96,027% 416 208 86,539% 85,096% 208* 87,981%* Phương pháp đề xuất bước đầu cho kết quả khả quan với độ chính xác đạt được là 85,1% cho trường hợp trứng không vết nứt, 87,98% cho trường hợp trứng có vết nứt và mức chính xác trung bình là 86,54%. Kết quả hiện tại còn thấp vì chất lượng và sự đa dạng của tập mẫu chưa cao, thực nghiệm chỉ áp dụng cho trứng cút có vết nứt rõ ràng, có thể nhận biết bằng mắt thường qua ảnh rọi. Nhóm nghiên cứu đang tiếp tục phát triển theo hướng này và cải thiện chất lượng tập mẫu để có thể hoàn thiện giải pháp đề xuất. Nhóm nghiên cứu hy vọng có thể đạt được độ chính xác ít nhất là 90% cho cả trường hợp nứt và không nứt. TÀI LIÊU THAM KHẢO R.T. Elster and J.W. Goodrum, Dectection of cracks in eggs using machine vision, American Society of Agricultural Engineers 34 (1991) 307-312. J.W. Goodrum, R.T. Elster, Machine vision for crack detection in rotating eggs, American Society Agricultural Engineers 35 (Aug. 1992) 1323-1328. V.C. Patel, R.W. McClendon, and J.W. Goodrum, Detection of blood spot and dirt stain in egg using computer vision and neural networks, American Society Agricultural Engineers 12 (2) (1996) 253-258. V.C. Patel, R.W. McClendon, and J.W. Goodrum, Color computer vision and artificial neural networks for the detection of defects in poultry eggs, Artificial Intelligence 12 (1998) 163-176. R. Polat and S.Tarhan, Mechanical behaviour under compression loading and some physical parameters of Japanese quail(Coturnix coturnix japonica) eggs, Czech J.Anim. Sci. 52 (2007) 50-56. H.R. Pourreza, R.S. Pourreza, and et. al., Automatic detection of eggshell defects based on machine vision, Journal of Animal and Veterinary Advances 7 (2008) 1200-1203. K.C. Lawrence, S.C. Yoon, and et. al., Modified pressure system for imaging egg cracks, American Society of Agricultural and Biological Engineers 52 (3) (2009) 983-990. Loredana Lunadei, Luis Ruiz-Garcia, and et. al., Automatic identification of defects on eggshell through a multispectral vision system, Food Bioprocess Technol, 2011 (Doi 10.1007/s11947- 011-0672-x). Ngày nhận bài 01 - 3 - 2013 Nhận lại sau sửa ngày 04 - 6 - 2013
File đính kèm:
- nghien_cuu_phat_hien_vet_nut_tren_vo_trung_cut_dung_xu_ly_an.doc
- 2778_10583_1_pb_6613_483362.pdf