Đề tài thực hiện thành công trong việc thiết kế mô hình để đánh giá xoài sử dụng thư viện OpenCV (Computer Vision) trên nền Visual Studio, thực hiện thành công quá trình xử lý ảnh nhận dạng đối tượng, xây dựng hệ thống cơ sở dữ liệu và các tiêu chí để đánh giá xoài.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
ỨNG DỤNG XỬ LÝ ẢNH TRONG PHÂN LOẠI TRÁI XOÀI
Họ và tên sinh viên : Võ Quốc Danh Ngành: CƠ ĐIỆN TỬ Niên Khóa: 2013 - 2017
Thành Phố Hồ Chí MinhTháng 6 năm 2017
Trang 2ỨNG DỤNG XỬ LÝ ẢNH TRONG PHÂN LOẠI TRÁI XOÀI
Trang 3LỜI CẢM ƠN
Em xin trân trọng cảm ơn tất cả các quý Thầy, Cô ở Trường Đại Học Nông LâmTp.HCM và quý Thầy, Cô trong khoa Cơ Khí-Công Nghệ đã trang bị cho em nhữngkiến thức quý báu cũng như giúp đỡ em trong suốt quá trình học tập tại trường
Em xin chân thành cảm ơn tất cả các quý Thầy, Cô trong bộ môn Cơ Điện Tử đãgiúp đỡ em nhiệt tình trong thời gian thực hiện đề tài
Em cũng xin bày tỏ sự biết ơn chân thành đối với cô Trần Thị Kim Ngà đã tận tìnhhướng dẫn em trong suốt quá trình làm Luận văn tốt nghiệp
Đặt biệt, em xin cảm ơn quý Thầy, Cô trong Hội Đồng đã dành thời gian nhận xét,góp ý để Luận văn của em hoàn thiện hơn
Cuối cùng, em xin gửi lời cảm ơn đến những người thân cũng như bạn bè đã độngviên, ủng hộ và luôn tạo cho em mọi điều kiện thuận lợi trong suốt quá trình hoànthành Luận văn
Thành phố Hồ Chí Minh, ngày tháng năm 2017
Sinh viên thực hiện
Võ Quốc Danh
Trang 4TÓM TẮT
Đề tài “Ứng dụng xử lý ảnh trong phân loại trái xoài” được thực hiện tại trườngĐại Học Nông Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng 3 đến tháng 5 năm2017
Đề tài thực hiện thành công trong việc thiết kế mô hình để đánh giá xoài sử dụngthư viện OpenCV (Computer Vision) trên nền Visual Studio, thực hiện thành côngquá trình xử lý ảnh nhận dạng đối tượng, xây dựng hệ thống cơ sở dữ liệu và các tiêuchí để đánh giá xoài
Do thời gian thực hiện còn hạn chế, cũng như mức độ rộng lớn của đề tài, nên dù
đã cố gắng hết sức nhưng phương án giải quyết bài toán của em chắc chắn không thểtránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp ý kiến của quý thầy
cô và bạn bè để đề tài của em càng được hoàn thiện hơn
Trang 5MỤC LỤC
LỜI CẢM ƠN ii
TÓM TẮT iii
MỤC LỤC iv
DANH SÁCH CÁC BẢNG vi
DANH SÁCH CÁC HÌNH vii
Chương 1 1
MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Mục đích 2
Chương 2 3
TỔNG QUAN 3
2.1 Giới thiệu chung về xoài 3
2.1.1 Định nghĩa 3
2.1.2 Phân loại 3
2.1.3 Giá trị dinh dưỡng và ý nghĩa kinh tế 4
2.2Các tiêu chuẩn đánh giá chất lượng xoài 5
2.3 Tổng quan về xử lý ảnh 6
2.3.1 Hệ thống xử lý ảnh 6
2.3.2 Cấu trúc ảnh RGB 8
2.3.3 Định dạng ảnh 9
2.3.4 Quá trình tách đối tượng 9
2.4 Phần mềm Visual Studio (VISUAL STUDIO) và OpenCV 10
Chương 3 13
PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU 13
3.1 Phương tiện thực hiện 13
3.1.1 Thiết bị phần cứng 13
3.1.2 Thiết bị phần mềm 13
3.2 Phương pháp thực hiện 13
3.2.1 Nghiên cứu lý thuyết 13
Trang 63.2.2 Bố trí phần cứng 13
Chương 4 15
KẾT QUẢ VÀ THẢO LUẬN 15
4.1 Tổng quan về hệ thống 15
4.1.1 Thiết kế phần cứng 15
4.1.2 Quy trình nhận dạng và xử lý ảnh 16
4.2 Kết quả nhận dạng và xử lý ảnh 16
4.2.1 Sơ đồ khối xử lý ảnh 16
4.2.2 Thu nhận ảnh 17
4.2.3 Tách đối tượng 18
4.2.4 Quá trình nhận dạng sâu bệnh 20
4.2.5 Xác định các thông số xoài 20
4.2.6 Đánh giá sâu bệnh 21
4.2.7 Lưu đồ giải thuật 21
4.3 Khảo nghiệm 23
4.4 Kết luận 30
Chương 5 31
KẾT LUẬN VÀ ĐỀ NGHỊ 31
5.1 Kết quả đạt được 31
5.2 Hướng phát triển đề tài 31
TÀI LIỆU THAM KHẢO 33
PHỤ LỤC 34
Trang 7DANH SÁCH CÁC BẢNG
Bảng 2 1 Bảng thành phần dinh dưỡng trong 100g xoài 5 Bảng 2 2 Bảng phân loại xoài theo khối lượng 6 Bảng 4 1 Kết quả khảo nghiệm 26
Trang 8DANH SÁCH CÁC HÌNH
Hình 2.1 Quả xoài tươi 5
Hình 2.2 Sơ đồ hệ thống xử lý ảnh 7
Hình 2.3 Mô hình không gian màu RGB 9
Hình 2.4 Giao diện VISUAL STUDIO 12
Hình 3.1 Hộp thu hình bản vẽ 14
Hình 4.1 Hộp thu hình thực tế 16
Hình 4.2 Webcam 17
Hình 4.3 Sơ đồ hệ thống xử lý ảnh 17
Hình 4.4 Sơ đồ các quá trình xử lý của phần mềm 18
Hình 4.5 Hình ảnh thu được 19
Hình 4.6 Ảnh xám 20
Hình 4.7 Ảnh sau khi tách đối tượng 20
Hình 4.8 Sơ đồ các quá trình nhận dạng 21
Hình 4.9 Hình sau khi nhận dạng sâu bệnh 21
Hình 4.10 Lưu đồ thuật toán 22
Hình 4.11: Kết quả thu được 23
Hình 4.12: Biểu đồ thể hiện sự chênh lệch giữa hệ thống và thực tế về diện tích quả xoài 28
Hình 4.13: Biểu đồ thể hiện sự chênh lệch giữa hệ thống và thực tế về khối lượng 28
Trang 9Mỹ, đồng thời cung cấp các điều kiện và tiến trình cụ thể để trái xoài xuất hiện tại thịtrường ngay trong mùa vụ tới, cùng với các khu vực khác như Úc và Châu Âu.
Cùng với các máy hiện đại thì việc xử lý xoài ngày càng tốt hơn vì vậy xoài củaViệt Nam ngày càng khẳng định được vị trí của mình Nhận thức được giá trị của việcxuất khẩu xoài mang lại cho nền kinh tế ta đã khắc phục các khiếm khuyết về giốngxoài, chất lượng xoài, công nghệ chế biến Trong đó chất lượng xoài là tiêu chí quantrọng nhất của việc xuất khẩu
Nhưng hầu hết các quy trình giám định đều thực hiện thủ công, đặc biệt là quátrình kiểm định hình dạng, kích thước, nhận định sâu bệnh Cho đến nay, công đoạnnày tuy được cải thiện bằng băng chuyền của một số nhà máy chế biến lớn nhưng chưa
tự động hoàn toàn vẫn còn phụ thuộc nhiều vào nhân công
Tóm lại, xuất khẩu xoài ở Việt Nam tuy vẩn đang phát triển mạnh nhưng muốngiử vững vị trí của mình thì cần phải tối ưu hóa các công đoạn sản xuất hơn nữa.Trong đó, tự động hóa công đoạn đánh giá và phân loại sản phẩm sẽ góp phần khôngnhỏ vào việc tăng năng xuất lao động, tăng độ chính xác sau khi phân loại và nâng tính
an toàn thực phẩm trước khi đóng gói
Trang 101.2 Mục đích
Mục đích của đề tài này là nghiên cứu và khảo nghiệm mô hình đánh giá chấtlượng xoài bằng xử lý ảnh Vì thời gian có hạn cũng như mức độ rộng lớn của đề tài
em chỉ thực hiện nghiên cứu các vấn đề cơ bản sau:
Trang 11Độ và Myanmar Nó là hoa quả quốc gia của Ấn Độ, Pakistan, Philippines, và câyquốc gia của Bangladesh Trong một số nền văn hóa, trái cây và lá của nó được sửdụng như là nghi lễ trang trí tại các đám cưới, lễ kỷ niệm, và nghi lễ tôn giáo.
Xoài thích nghi với khí hậu rộng: loại khí hậu ẩm ướt hoặc khô Điều kiện tựnhiên ở miền nam Việt Nam hoàn toàn thuận lợi cho việc phát triển cây xoài Chiềucao cây xoài khoảng 10-30m Trái của nó hình thuỗn hoặc thon dài, kích thước rấtkhác nhau: dài từ 4 – 25 cm, đường kính từ 2 – 10 cm Màu thay đổi từ xanh đến vàngcam sang đỏ màu trung giang là màu vàng xanh Da xoài dày đều, khi chin thịt màuvàng cam, nhiều nước và thơm Hạt xoài hình dĩa và có xơ
2.1.2 Phân loại
Một số giống xoài thường gặp ở Việt Nam
tươi, thịt dày dẽo, ít xơ, hột nhỏ, ngọt có hương vị thơm ngon được trồngnhiều nơi như: Cái Bè (Tiền Giang), Cao Lãnh (Đồng Tháp)
Trang 12 Xoài cát chu: dể đậu quả, cuống quả hơi lồi và lệch một bên Vỏ quảchín vàng đậm, thịt dẻo và thơm
quả có mùi bưởi Xoài bưởi có loại:
nhão có xơ
dày
(Theo kết quả khảo sát thu thập của trung tâm cây ăn quả Long Định Tiền Giang.)
2.1.3 Giá trị dinh dưỡng và ý nghĩa kinh tế
Xoài thuộc họ đào lộn hột, là cây ăn quả nhiệt đới quan trọng ở nước ta được trồngphổ biến ở nhiều vùng để lấy quả, lấy gổ, trồng cây bóng mát, cây cảnh và cây che phủchống xoái mòn
Trái xoài chín có màu sắc hấp dẫn, ăn ngọt, mùi thơm ngon được nhiều người ưathích và được xem là loại quả quý Giá trị dinh dưỡng của xoài theo phân tích của cáctác giả Ấn Độ : tỉ lệ thịt quả 70% so với trọng lượng quả, hạt 13%, tổng số chất tao16% (đo bằng chiết quan kế cầm tay),đọ chua 0.2% tính theo acid citric, đường tổng số11-12%, giá trị nghiệt lượng 100g là 70 calo Xoài giàu vitamin A,B2 và C Đặc biệt làvitamin A trong 100g ăn được có 4.8mg Ngoài ra có các loại muối khoáng K, Ca, P,Cl
Trang 13Hình 2.1 Quả xoài tươi
Muốn xuất khẩu sang Châu Âu xoài cần có:
+ Giám định về thuốc bảo vệ thưc vật được thực hiện theo quy định của tổ chức
an toàn thực phẩm
+ Về bề ngoài xoài cần có:
Trang 14B 351 - 550
Bảng 2.2 Bảng phân loại xoài theo khối lượng.
Quy định của UNECE (Liên Hiệp Quốc ủy ban kinh tế Châu Âu) về chất lượng tráixoài
=> Với các tiêu chí trên thì đề tài này đáp ứng được các tiêu chí như sau:
+ Phân loại xoài theo khối lượng
+ Tính diện tích quả xoài
+ Tính tổng các diện tích sâu bệnh
+ Tỉ lệ giữa diện tích sâu bệnh và diện tích quả xoài
+ Chiều dài, chiều rộng quả xoài
2.3 Tổng quan về xử lý ảnh
2.3.1 Hệ thống xử lý ảnh
Trang 15Một hệ thống xử lý ảnh điển hình gồm những thành phần sau
Hình 2.2 Sơ đồ hệ thống xử lý ảnh
Từ hình vẽ ta thấy một hệ thống xử ảnh bao gồm thu nhận ảnh, số hóa ảnh, phântích ảnh và cuối cùng là quyết định (tùy thuộc vào yêu cầu ứng dụng cụ thể mà đưa raquyết định cho phù hợp)
2.3.1.1 Thu nhận ảnh và số hóa
Việc thu nhận ảnh có thể thông qua camera Các camera có thể hoặc là tương tự(loại camera ống kiểu CCIR) hoặc là số (loại camera kiểu CCD_Charge CoupbleDevice ) Ảnh củng có thể được thu qua các thiết bị khác như máy quét v v Nếu ảnhnhận được là tương tự nó phải được số hóa nhờ quá trình lấy mẫu và lượng tử hóatrước khi phân tích, xử lý hay lưu trử ảnh
2.3.1.2 Phân tích ảnh
Ở giai đoạn này ảnh được xử lý theo nhiều công đoạn nhỏ như: cải thiện ảnh, khôiphục ảnh để làm nổi bậc một số đặc tính chính của ảnh hay làm ảnh gần với trạng tháigóc Tiếp theo là phát hiện các đặc tính như biên, phân vùng
Số hóa
Phân tích ảnh
Hệ quyết định
Nhận dạng
Lưu trửLưu
trử
Trang 16ma trận vector do ba mảng màu cơ bản trên cấu thành.
Hệ thống tọa độ của các pixel của ảnh đó được biểu diễn bằng tham số f(x,y) nhưsau :
Trang 17Hình 2.3 Mô hình không gian màu RGB 2.3.3 Định dạng ảnh
Trong hệ tọa độ máy tính, ảnh số được lưu trử trong một bộ nhớ hay còn gọi làđịnh dạng tập tin ảnh Có rất nhiều định dạng ảnh khác nhau như JPEG, GIG, TIF, …Nhưng ở đây ta cần quan tâm đến việc xử lý real_time (thời gian thực) Xử lý trựctiếp với hình ảnh thu được không cần phải lưu hình ảnh lại
2.3.4 Quá trình tách đối tượng
Đây là quá trình dùng webcam thu hình sau đó dùng hình thu được cùng với thưviện OpenCV trên nền Visual Studio để nhận dạng đối tượng
Phần quan trọng của quá trình này là phát hiện được biên của đối tượng và có cácphương pháp như sau:
Biên là vấn đề quan trọng trong trích chọn đặc điểm nhằm tiến tới hiểu ảnh.Cho đến nay chưa có định nghĩa chính xác về biên, trong mỗi ứng dụng người ta đưa
ra các độ đo khác nhau về biên, một trong các độ đo đó là độ đo về sự thay đổi độtngột về cấp xám Ví dụ: Đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu
Trang 18nó là điểm đen có ít nhất một điểm trắng bên cạnh Tập hợp các điểm biên tạo nênbiên hay đường bao của đối tượng Xuất phát từ cơ sở này người ta thường sử dụnghai phương pháp phát hiện biên cơ bản:
Phát hiện biên trực tiếp: Phương pháp này làm nổi biên dựa vào sự biến thiênmức xám của ảnh Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là kỹ thuật lấy đạohàm Nếu lấy đạo hàm bậc nhất của ảnh ta có các kỹ thuật Gradient, nếu lấy đạo hàmbậc hai của ảnh ta có kỹ thuật Laplace Ngoài ra còn có một số các tiếp cận khác
Phát hiện biên gián tiếp: Nếu bằng cách nào đó ta phân được ảnh thành cácvùng thì ranh giới giữa các vùng đó gọi là biên Kỹ thuật dò biên và phân vùng ảnh
là hai bài toán đối ngẫu nhau vì dò biên để thực hiện phân lớp đối tượng mà khi đãphân lớp xong nghĩa là đã phân vùng được ảnh và ngược lại, khi đã phân vùng ảnh
đã được phân lớp thành các đối tượng, do đó có thể phát hiện được biên
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh hưởngcủa nhiễu, song nếu sự biến thiên độ sáng không đột ngột, phương pháp tỏ ra kémhiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài đặt, song lại áp dụng khátốt trong trường hợp này Sự khác biệt cơ bản giữa hai phương pháp này là: Phươngpháp phát hiện biên trực tiếp cho ta kết quả là ảnh biên, còn phương pháp phát hiệnbiên trực tiếp cho ta kết quả là đường biên
2.4 Phần mềm Visual Studio và OpenCV
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũngnhư các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nềntảng phát triển phần mềm của Microsoft như Windows API, Windows
Trang 19các vấn đề liên quan tới thị giác máy OpenCV được thiết kế một cách tối ưu, sử dụngtối đa sức mạnh của các dòng chip đa lõi… để thực hiện các phép tính toán trong thờigian thực, nghĩa là tốc độ đáp ứng của nó có thể đủ nhanh cho các ứng dụng thôngthường OpenCV là thư viện được thiết kế để chạy trên nhiều nền tảng khác nhau(cross-patform), nghĩa là nó có thể chạy trên hệ điều hành Window, Linux, Mac, iOS
… Việc sử dụng thư viện OpenCV tuân theo các quy định về sử dụng phần mềm mãnguồn mở BSD do đó bạn có thể sử dụng thư viện này một cách miễn phí cho cả mụcđích phi thương mại lẫn thương mại
Dự án về OpenCV được khởi động từ những năm 1999, đến năm 2000 nó đượcgiới thiệu trong một hội nghị của IEEE về các vấn đề trong thị giác máy và nhận dạng,tuy nhiên bản OpenCV 1.0 mãi tới tận năm 2006 mới chính thức được công bố và năm
2008 bản 1.1 (pre-release) mới được ra đời Tháng 10 năm 2009, bản OpenCV thế hệthứ hai ra đời (thường gọi là phiên bản 2.x), phiên bản này có giao diện của C++ (khácvới phiên bản trước có giao diện của C) và có khá nhiều điểm khác biệt so với phiệnbản thứ nhất Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗ trợ bởWillow Garage, một phòng thí nghiệm chuyên nghiên cứu về công nghệ robot Chođến nay, OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi nhuận(none -profit foundation) và được sự hưởng ứng rất lớn của cộng đồng
Trang 20Khởi động chương trình
Hình 2.4 Giao diện Visual Studio
Tạo một project mới: New > Project, trong cửa sổ New Project chọn Visual C++,Win32 console application Chọn OK, sau đó nhấn Next, hộp thoại tiếp theo xuất hiện,
ở hộp thoại này ta chọn Application type là Console application và Additional option
là Empty project, nhấn Finish để kết thúc quá trình khởi tạo
Project mới được tạo ra là project hoàn toàn trống, ta phải thêm vào đó ít nhất mộtfile nguồn để chương trình có thể chạy được, trong Solution Explorer ta click chuộtphải vào Source Files, chọn Add -> New Item… Hộp thoại Add New Item hiện ra, ta
Trang 21Chương 3
PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1 Phương tiện thực hiện
Đối với phạm vi đề tài này, phương tiện thực hiện sẽ được chia làm hai phần: phầncứng và phần mềm
3.1.1 Thiết bị phần cứng
3.1.2 Thiết bị phần mềm
Phần mềm Visual Studio 2013 + OpenCV
3.2 Phương pháp thực hiện
3.2.1 Nghiên cứu lý thuyết
Webcam được nối với máy tính thông qua cổng usb, sau khi thu nhận ảnh từwebcam phần mềm VISUAL STUDIO sẽ xử lý kết quả và hiển thị lên màn hình máytính
Với các phương pháp và phương tiện nêu trên, ở chương 4 tiếp theo sẽ đề cặp rõhơn về lý thuyết xử lý ảnh và phần mềm VISUAL STUDIO, cũng như ứng dụng lýthuyết đó vào quá trình thực hiện
Trang 22Hình 3.1 Hộp thu hình bãn vẽ
+Hộp có kích thước 30x30x30
+Chất liệu mica có bề dày 2mm
Trang 24Hình 4.2 Webcam
THÔNG SỐ KỸ THUẬT
+Gọi video (640 x 480 pixel)
+Quay video: Tối đa 1024 x 768 pixel
+Ảnh: Tối đa 5 megapixel (phần mềm được cải tiến)
+Tích hợp mic với giảm tiếng ồn
Trang 254.2.1 Sơ đồ khối xử lý ảnh
Hình 4.4 Sơ đồ các quá trình xử lý của phần mềm 4.2.2 Thu nhận ảnh
Đề tài sử dụng webcam giao tiếp với máy tính thông qua cổng USB Như ở trên ta
đã tìm hiểu khái quát về cấu tạo của webcam, bước tiếp theo ta phải lấy ra các ảnh từwebcam để xử lý
Đối với một webcam, chúng ta cần quan tâm đến độ phân giải (spatial resolution)
và hệ số lấy ảnh (frame rate) của chúng Độ phân giải càng cao thì chất lượng ảnh càngđẹp Thông thường các webcam có độ phân giải theo một số chuẩn như CIF (325x288pixels), VGA (640 x 480 pixels), XGA (1024x768 pixels), v.v…
Hệ số lấy ảnh càng cao thì mô tả chuyển động của một đối tượng càng mịn, nhưng
bù lại khoảng thời gian cho phép xác định vị trí của một đối tượng càng nhỏ lại (t=1/f).Thực tế, hệ số lấy ảnh ở một hệ thống đang có là fps (fames per second) Như vậy, cứmỗi giây trình điều khiển của webcam (driver) sẽ lấy được 30 khung hình (frame), cónghĩa là trung bình cứ 33ms máy tính sẽ nhận được 1 frame do driver gửi đến
Thu nhận ảnh từ webcam
Nhận dạng và tách đối tượng
Hiển thị lên màn hìnhKết luận
Xử lý và phân tích ảnh
So sánh với tiêu chuẩn đánh giáXác định thông số đánh giá chất lượng xoài