BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
PHÂN LOẠI SẢN PHẨM BÚT CHÌ
THEO MÀU SẮC
GVHD: PGS.TS. Nguyễn Thanh Hải
SVTH: Trần Văn Tuấn
MSSV: 13141414
SVTH: Phạm Văn Long
MSSV: 13141171
Tp. Hồ Chí Minh – 1/2020
BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
PHÂN LOẠI SẢN PHẨM BÚT CHÌ
THEO MÀU SẮC
GVHD: PGS.TS. Nguyễn Thanh Hải
SVTH: Trần Văn Tuấn
MSSV: 13141414
SVTH: Phạm Văn Long
MSSV: 13141171
Tp. Hồ Chí Minh - 12/2019
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
----o0o---Tp. HCM, ngày 18 tháng 12 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên:
Chuyên ngành:
Hệ đào tạo:
Khóa:
Trần Văn Tuấn
Phạm Văn Long
Kỹ thuật Điện - Điện tử
Đại học chính quy
2013
MSSV: 13141414
MSSV: 13141171
Mã ngành: 01
Mã hệ:
1
Lớp:
13141DT1A
I. TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM
BÚT CHÌ THEO MÀU SẮC
II. NHIỆM VỤ
1. Các số liệu ban đầu:
-
Kích thước băng tải 1: chiều dài 30cm, chiều rộng 20cm, chiều cao 25cm.
-
Kích thước băng tải 2: chiều dài 100cm, chiều rộng 20cm, chiều cao 20cm.
-
Webcam Logitech C270p đóng vai trò thu nhận ảnh đầu vào.
-
Board Arduino Uno R3 là bộ điều khiển trung tâm của mô hình.
-
Dùng động cơ Servo 5V để gạt sản phẩm.
-
Động cơ DC 12V điều khiển kéo băng tải.
2. Nội dung thực hiện:
-
Nghiên cứu, tìm hiểu Webcam Logitech C270p.
-
Nghiên cứu, tìm hiểu động cơ Servo và board Arduino Uno R3.
-
Nghiên cứu, tìm hiểu phần mềm lập trình Matlab.
-
Nghiên cứu, tìm hiểu các thuật toán và các hàm, các không gian màu áp dụng cho
việc xử lý màu sắc.
-
Viết code chương trình Matlab xử lý ảnh, màu sắc.
-
Xây dựng chương trình điều khiển mô hình giao tiếp giữa Matlab và Arduino.
-
Thiết kế, xây dựng phần cứng của mô hình.
-
Chạy thử nghiệm, cân chỉnh và sửa lỗi mô hình.
-
Viết báo cáo luận văn.
-
Báo cáo đề tài tốt nghiệp.
ii
III. NGÀY GIAO NHIỆM VỤ:
07/10/2019
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2020
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN:
PGS.TS. Nguyễn Thanh Hải
CÁN BỘ HƯỚNG DẪN
BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
iii
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
----o0o---Tp. HCM, ngày 18 tháng 12 năm 2019
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Trần Văn Tuấn
Lớp: 13141DT1A
MSSV: 13141414
Họ tên sinh viên 2: Phạm Văn Long
Lớp: 13141DT1A
MSSV: 13141171
Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM BÚT
CHÌ THEO MÀU SẮC
Tuần/ngày
Tuần 1
Từ 7/10/2019
Nội dung
Xác nhận
GVHD
- Gặp GVHD nhận đề tài.
- Viết đề cương chi tiết.
đến 13/10/2019
Tuần 2
- Tìm hiểu và tham khảo các đề tài đã nghiên cứu có liên
Từ 14/10/2019
quan đến điều khiển, giám sát và xử lý hình ảnh dùng
đến 20/10/2019
Arduino và Matlab.
Tuần 3
- Gặp và báo cáo với GVHD về hướng thực hiện đề tài.
Từ 21/10/2019
- Tìm hiểu và cài đặt ngôn ngữ lập trình Matlab cho máy
đến 27/10/2019
Tuần 4
Từ 28/10/2019
tính.
- Tìm hiểu vi điều khiển Arduino Uno R3.
- Tìm hiểu động cơ, webcam phục vụ cho đề tài.
đến 3/11/2019
Tuần 5
Từ 4/11/2019
đến 10/11/2019
- Cài đặt driver cho webcam và cài đặt Arduino cho
Matlab.
- Kết nối Arduino và webcam với Matlab.
- Kết nối Arduino với động cơ, servo.
Tuần 6
Từ 11/11/2019
đến 17/11/2019
- Báo cáo tiến độ cho GVHD.
- Viết chương trình trên Matlab phân tích và xử lý màu
sắc.
- Chạy mô phỏng kết quả trên máy tính.
iv
Tuần 7
- Báo cáo tiến độ cho GVHD.
Từ 18/11/2019
- Viết chương trình điều khiển động cơ trên MatLab.
đến 24/11/2019
- Chạy mô phỏng, kiểm tra hoạt động của cảm biến và
động cơ.
Tuần 8
- Báo cáo tiến độ cho GVHD.
Từ 25/11/2019
- Lắp ráp các khối điều khiển vào mô hình.
đến 1/12/2019
- Viết chương trình toàn bộ hệ thống và kiểm tra lỗi.
Tuần 9
- Báo cáo tiến độ cho GVHD.
Từ 2/12/2019
- Chạy thử nghiệm và cân chỉnh các khối điều khiển trên
đến 8/12/2019
mô hình.
Tuần 10
Từ 9/12/2019
- Báo cáo tiến độ cho GVHD.
- Hoàn thành mô hình.
đến 15/12/2019
Tuần 11
Từ 16/12/2019
- Báo cáo tiến độ cho GVHD.
- Viết báo cáo luận văn.
đến 22/12/2019
Tuần 12
- Hoàn thiện báo cáo, chuẩn bị gặp GVPB và bảo vệ.
Từ 23/12/2019
đến 29/12/2019
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
v
LỜI CAM ĐOAN
Đề tài này là do chúng em tự thực hiện dựa vào một số tài liệu và công trình nghiên
cứu, không sao chép từ tài liệu hay công trình đã có trước đó. Nếu có sao chép chúng em
hoàn toàn chịu trách nhiệm.
Sinh viên thực hiện đề tài
Trần Văn Tuấn
Phạm Văn Long
vi
LỜI CẢM ƠN
Tục ngữ có câu “Uống nước nhớ nguồn, ăn quả nhớ người trồng cây”. Trên thực tế
không có sự thành công nào mà không gắn liền với những sự hỗ trợ dù ít hay nhiều, dù
gián tiếp hay trực tiếp. Trong quá trình thực hiện đề tài tốt nghiệp chúng em gặp phải những
rào cản khó khăn cũng như hạn chế về kiến thức và đã được Thầy PGS.TS. Nguyễn Thanh
Hải hướng dẫn tận tình, chu đáo. Vì thế, trong lời đầu tiên của quyển báo cáo đồ án tốt
nghiệp này, chúng em xin dành lời cảm ơn chân thành sâu sắc nhất đến Thầy PGS.TS.
Nguyễn Thanh Hải và các Thầy Cô trong bộ môn Điện Tử Công Nghiệp – Y Sinh của
Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, cũng như dành lời cảm ơn
đến cha mẹ, gia đình đã luôn động viên, hỗ trợ để chúng em có thể hoàn thành tốt đồ án
này.
Với kiến thức và kinh nghiệm còn hạn chế, bài báo cáo của chúng em chắc chắn
không thể tránh khỏi những sai sót. Chúng em rất mong nhận được sự chỉ bảo và những
đóng góp quý báu của quý Thầy Cô để chúng em có điều kiện bổ sung, hoàn thiện đề tài
hơn.
Một lần nữa, chúng em xin chân thành cảm ơn!
Sinh viên thực hiện đề tài
Trần Văn Tuấn
Phạm Văn Long
vii
MỤC LỤC
Trang bìa ........................................................................................................................ i
Nhiệm vụ đồ án ............................................................................................................. ii
Lịch trình...................................................................................................................... iv
Cam đoan ..................................................................................................................... vi
Lời cảm ơn .................................................................................................................. vii
Mục lục ...................................................................................................................... viii
Liệt kê hình vẽ ............................................................................................................. xi
Liệt kê bảng ............................................................................................................... xiv
Tóm tắt ....................................................................................................................... xv
CHƯƠNG 1. TỔNG QUAN ...................................................................................... 1
1.1 Đặt vấn đề ........................................................................................................... 1
1.2 Mục tiêu .............................................................................................................. 2
1.3 Nội dung nghiên cứu ........................................................................................... 2
1.4 Giới hạn của đề tài .............................................................................................. 3
1.5 Bố cục ................................................................................................................. 3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .......................................................................... 4
2.1 Giới thiệu về xử lý ảnh ....................................................................................... 4
2.1.1 Thu nhận ảnh ................................................................................................... 4
2.1.2 Tiền xử lý ảnh .................................................................................................. 5
2.1.3 Phân đoạn ảnh ................................................................................................. 6
2.1.4 Biểu diễn và mô tả ảnh .................................................................................... 6
2.1.5 Nhận dạng và nội suy ...................................................................................... 7
2.2 Không gian màu của ảnh .................................................................................... 7
2.2.1 Không gian màu RGB ..................................................................................... 7
viii
2.2.2 Không gian màu HSV ..................................................................................... 9
2.2.3 Chuyển đổi RGB sang HSV .......................................................................... 10
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ. .......................................................... 11
3.1 Thiết kế phần cứng ............................................................................................ 12
3.1.1 Khối nguồn ..................................................................................................... 12
3.1.2 Khối thu nhận ảnh .......................................................................................... 13
3.1.3 Khối điều khiển .............................................................................................. 13
3.1.4 Khối thực thi .................................................................................................. 15
3.2 Phần mềm xử lý ảnh.......................................................................................... 17
3.2.1 Kết nối Webcam với Matlab .......................................................................... 18
3.2.2 Kết nối Arduino với Matlab ........................................................................... 19
3.3 Phương pháp xác định màu của bút chì ............................................................ 19
3.3.1 Bộ lọc trung bình............................................................................................ 20
3.3.2 Chuyển đổi RGB sang HSV .......................................................................... 21
3.3.3 Phân ngưỡng .................................................................................................. 21
3.3.4 Xác định màu bút chì ..................................................................................... 23
3.4 Sơ đồ kết nối hệ thống ...................................................................................... 23
3.5 Nguyên lý hoạt động ......................................................................................... 24
CHƯƠNG 4. THI CÔNG HỆ THỐNG ................................................................ 26
4.1 Thi công hệ thống ............................................................................................... 26
4.2 Lập trình hệ thống............................................................................................... 30
4.2.1 Lưu đồ giải thuật mô phỏng ............................................................................ 30
4.2.2 Lưu đồ giải thuật hệ thống ............................................................................... 31
4.2.3 Lưu đồ giải thuật xác định màu sắc ................................................................. 32
4.3 Tài liệu hướng dẫn sử dụng, thao tác ................................................................. 34
ix
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ........................................... 37
5.1 Thu thập dữ liệu ảnh ........................................................................................... 37
5.2 Kết quả quá trình thực hiện đề tài....................................................................... 38
5.2.1 Kết quả tính toán thời gian thu nhận ảnh......................................................... 38
5.2.2 Kết quả xử lý màu sắc ..................................................................................... 38
5.2.3 Kết quả xử lý trên mô hình .............................................................................. 40
5.2.4 Kết quả thống kê .............................................................................................. 43
5.3 Nhận xét và đánh giá chung ............................................................................... 44
CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. ..................................... 45
6.1 Kết luận............................................................................................................... 45
6.2 Hướng phát triển ................................................................................................. 45
TÀI LIỆU THAM KHẢO
PHỤ LỤC
......................................................................................................... xvi
x
LIỆT KÊ HÌNH VẼ
Hình
Trang
Hình 2.1: Các giai đoạn chính trong xử lý ảnh ............................................................. 4
Hình 2.2: Cách thức nhân chập điểm ảnh với cửa sổ lọc .............................................. 5
Hình 2.3: Không gian màu RGB ................................................................................... 8
Hình 2.4: Hệ tọa độ màu RGB ...................................................................................... 8
Hình 2.5: Không gian màu HSV ................................................................................... 9
Hình 3.1: Sơ đồ khối của hệ thống phân loại bút chì .................................................... 11
Hình 3.2: Nguồn Adapter 12V ...................................................................................... 12
Hình 3.3: Webcam Logitech C270p ............................................................................. 13
Hình 3.4: Mặt trước và sau của board Arduino UNO R3 ............................................. 14
Hình 3.5: Động cơ DC .................................................................................................. 15
Hình 3.6: Động cơ RC Servo S3003 ............................................................................. 16
Hình 3.7: Module 2 Relay ............................................................................................. 17
Hình 3.8: Giao diện chính của Matlab .......................................................................... 18
Hình 3.9: Cửa sổ Command Window của Matlab khi gõ lệnh webcamlist .................. 18
Hình 3.10: Cửa sổ Command Window của Matlab khi gõ lệnh arduino ...................... 19
Hình 3.11: Sơ đồ khối xác định màu của bút chì .......................................................... 19
Hình 3.12: Sơ đồ hoạt động của bộ lọc trung bình ....................................................... 20
Hình 3.13a: Ảnh RGB gốc của bút chì ......................................................................... 20
Hình 3.13b: Ảnh RGB đã qua bộ lọc trung bình của bút chì ........................................ 20
Hình 3.14: Sơ đồ hoạt động bộ chuyển đổi RGB sang HSV ........................................ 21
Hình 3.15: Ảnh khi được chuyển đổi sang HSV .......................................................... 21
Hình 3.16: Ảnh vòng màu HSV 360° ........................................................................... 21
Hình 3.17: Ảnh nhị phân của bút chì sau khi phân ngưỡng .......................................... 22
xi
Hình 3.18: Ảnh RGB của bút chì được tái hiện sau khi nhân chập .............................. 22
Hình 3.19: Sơ đồ kết nối hệ thống ................................................................................ 23
Hình 3.20: Sơ đồ nguyên lý hệ thống ........................................................................... 24
Hình 4.1: Hình dạng mô hình thực tế hoàn chỉnh ......................................................... 26
Hình 4.2: Vị trí đặt Webcam Logitech C270p .............................................................. 27
Hình 4.3: Vị trí đặt động cơ DC .................................................................................... 27
Hình 4.4: Vị trí đặt board Arduino Uno R3 và Module Relay ..................................... 28
Hình 4.5: Vị trí đặt 2 động cơ Servo ............................................................................. 28
Hình 4.6: Vị trí đặt 2 khay chứa bút chì ........................................................................ 29
Hình 4.7: Vị trí đặt buồng tối ........................................................................................ 29
Hình 4.8: Lưu đồ giải thuật mô phỏng .......................................................................... 30
Hình 4.9: Lưu đồ giải thuật hệ thống ............................................................................ 31
Hình 4.10: Lưu đồ giải thuật xác định màu sắc ............................................................ 33
Hình 4.11: Giao diện khi khởi động Matlab ................................................................. 34
Hình 4.12: Nút Run trong giao diện Matlab ................................................................. 35
Hình 4.13: Giao diện điều khiển ................................................................................... 35
Hình 4.14: Kết quả thu được ......................................................................................... 36
Hình 5.1: Tập ảnh thu thập 7 màu sắc khác nhau ......................................................... 37
Hình 5.2a: Ảnh tiền xử lý của bút chì màu đỏ .............................................................. 38
Hình 5.2b: Ảnh nhị phân của bút chì màu đỏ ............................................................... 38
Hình 5.2c: Ảnh phân vùng của bút chì màu đỏ ............................................................. 38
Hình 5.3a: Ảnh tiền xử lý của bút chì màu cam ........................................................... 38
Hình 5.3b: Ảnh nhị phân của bút chì màu cam ............................................................. 38
Hình 5.3c: Ảnh phân vùng của bút chì màu cam .......................................................... 38
Hình 5.4a: Ảnh tiền xử lý của bút chì màu vàng .......................................................... 39
Hình 5.4b: Ảnh nhị phân của bút chì màu vàng............................................................ 39
xii
Hình 5.4c: Ảnh phân vùng của bút chì màu vàng ......................................................... 39
Hình 5.5a: Ảnh tiền xử lý của bút chì màu lục ............................................................. 39
Hình 5.5b: Ảnh nhị phân của bút chì màu lục .............................................................. 39
Hình 5.5c: Ảnh phân vùng của bút chì màu lục ............................................................ 39
Hình 5.6a: Ảnh tiền xử lý của bút chì màu lam ............................................................ 39
Hình 5.6b: Ảnh nhị phân của bút chì màu lam ............................................................. 39
Hình 5.6c: Ảnh phân vùng của bút chì màu lam ........................................................... 39
Hình 5.7a: Ảnh tiền xử lý của bút chì màu hồng .......................................................... 40
Hình 5.7b: Ảnh nhị phân của bút chì màu hồng ........................................................... 40
Hình 5.7c: Ảnh phân vùng của bút chì màu hồng ......................................................... 40
Hình 5.8a: Ảnh tiền xử lý của bút chì màu tím ............................................................. 40
Hình 5.8b: Ảnh nhị phân của bút chì màu tím .............................................................. 40
Hình 5.8c: Ảnh phân vùng của bút chì màu tím ........................................................... 40
Hình 5.9: Bút chì nhập liệu trên băng tải 1 ................................................................... 41
Hình 5.10: Bút chì đi vào buồng tối .............................................................................. 41
Hình 5.11: Bút chì ra khỏi buồng tối ............................................................................ 42
Hình 5.12: Bút chì được tay gạt mở ra đón lấy ............................................................. 42
Hình 5.13: Tay gạt đóng lại gạt bút chì lăn xuống khay ............................................... 43
xiii
LIỆT KÊ BẢNG
Bảng
Trang
Bảng 3.1: Danh sách các linh kiện ............................................................................. 12
Bảng 3.2: Thông số kỹ thuật của Arduino Uno R3 ..................................................... 14
Bảng 3.3: Bảng giá trị thông số HSV của từng màu.................................................... 23
Bảng 5.1: Kết quả thống kê khi đưa vào bút chì có màu sắc nằm trong dữ liệu ............ 43
Bảng 5.2: Kết quả thống kê khi đưa vào bút chì có màu không nằm trong dữ liệu........ 44
xiv
TÓM TẮT
Ngày nay việc sử dụng xử lý ảnh là rất phổ biến như trong sản xuất công nghiệp,
trí tuệ nhân tạo. Do vậy, đề tài thiết kế và thi công mô hình hệ thống cho việc phân loại
màu sắc từng cây bút chì là cần thiết. Cụ thể, trong đồ án tốt nghiệp này bút chì sau khi
nhận diện màu sắc sẽ được đưa vào từng hộp, mỗi hộp gồm bảy cây bút chì có màu sắc
khác nhau là đỏ, cam, vàng, lục, lam, hồng, tím dùng kỹ thuật xử lý ảnh. Nếu hộp bút
chì thiếu màu nào trong bảy màu, servo sẽ gạt bút chì còn thiếu vào lần lượt hộp 1 và
hộp 2, nếu cả hai hộp đều có màu đó rồi, bút chì sẽ tiếp tục đi thẳng. Động cơ DC sẽ kéo
băng tải hoạt động, bút chì được đặt trên băng tải và được băng tải di chuyển. Khi bút
chì đi vào buồng tối, thiết bị thu nhận ảnh sẽ thực hiên việc thu nhận ảnh cây bút chì và
gửi dữ liệu cho máy tính để xử lý màu sắc. Khi máy tính xử lý xong sẽ truyền dữ liệu
xuống Arduino Uno R3 để điều khiển servo phân loại màu sắc bút chì.
Máy tính xử lý phân loại màu sắc dựa trên ngôn ngữ lập trình Matlab. Phần mềm
Matlab cung cấp môi trường tính toán số và lập trình do công ty MathWorks thiết kế,
cho phép thực hiện thuật toán, vẽ đồ thị, tạo giao diện người dùng cũng như liên kết với
các chương trình máy tính được viết trên ngôn ngữ khác như C/C++ của Arduino, giúp
cho việc xử lý trở nên dễ dàng hơn.
xv
CHƯƠNG 1. TỔNG QUAN
Chương 1. TỔNG QUAN
1.1
ĐẶT VẤN ĐỀ
Khoa học kỹ thuật luôn phát triển trong tất cả các lĩnh vực, nhất là các ngành
sản xuất. Việc đòi hỏi cải tiến và nâng cấp hệ thống sản xuất luôn là ưu tiên hàng đầu.
Một trong những cải tiến và nâng cấp đó là tự động hóa hệ thống phân loại sản phẩm.
Hệ thống này giúp cho sản xuất được linh hoạt hơn, tiết kiệm thời gian và nhân lực,
tăng năng suất, đem lại lợi ích kinh tế cao và hiệu quả. Công nghiệp đòi hỏi phải ngày
càng chính xác và nhanh chóng để đáp ứng được xu thế hiện đại hóa. Các ngành công
nghiệp đóng gói sản phẩm, dược phẩm cũng như trong lĩnh vực điện, điện tử là những
ngành cần sự chính xác trong kiểm tra đầu ra, và để thay thế con người trong việc
kiểm tra thành phẩm với một tốc độ và sự chính xác cao, công nghệ xử lý ảnh ra đời
và không ngừng phát triển để ngày càng hoàn thiện hơn.
Sự ra đời của xử lý ảnh và những ứng dụng của nó là rất cần thiết cho cuộc
sống. Xử lý ảnh đã có từ rất lâu và đã được vận dụng trong những lĩnh vực như dân
sự, quân sự, y tế và nhiều lĩnh vực khác. Ứng dụng đầu tiên được biết đến là nâng cao
chất lượng ảnh báo được truyền qua cáp từ London đến New York từ những năm
1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân
giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm
1955. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng
ảnh phát triển không ngừng. Tuy nhiên, mới chỉ khoảng một thập niên trở lại đây,
kiến thức xử lý ảnh mới được đưa vào để giảng dạy tại một vài trường đại học tại
Việt Nam nhưng cũng chỉ hạn chế ở một vài trường lớn tại Thành phố Hồ Chí Minh
và Hà Nội [1-2].
Hiện nay, các ứng dụng về xử lý ảnh đã bước đầu được triển khai trên một số
lĩnh vực như lắp đặt hệ thống nhận dạng biển số xe, nhận dạng vân tay, nhận dạng
mã vạch ở Việt Nam. Tuy nhiên nhìn một cách tổng quan thì số lượng các ứng dụng
trên thực tế vẫn là quá ít, lĩnh vực này sẽ còn phát triển mạnh mẽ trong tương lai nếu
được quan tâm một cách nghiêm túc [3]. Đã có nhiều công trình trước đó nghiên cứu
về đề tài này như đồ án “Nhận diện cảm xúc khuôn mặt người” của Nguyễn Thị Đài
Trang – Hà Tiến Dương [4] sử dụng camera, động cơ servo cùng với board Arduino
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
1
CHƯƠNG 1. TỔNG QUAN
Uno R3 và phần mềm Matlab vào việc nhận diện cảm xúc vui để mở cửa, cảm xúc
buồn để bật đèn, cảm xúc ngạc nhiên để đóng cửa và tắt đèn. Hay tác giả Nguyễn
Phạm Anh Tuấn đã nghiên cứu đề tài khoa học “Nhận dạng biển số xe” dùng camera
và kỹ thuật tách biên cùng với chuyển ảnh nhị phân để nhận dạng biển số xe bất kì
[5].
Và theo đó, xử lý ảnh trong phân loại sản phẩm đã và đang được nghiên cứu
phát triển với tốc độ nhanh chóng. Để phân loại sản phẩm có rất nhiều phương pháp,
tuy nhiên hiện nay phương pháp phân loại dựa vào màu sắc chưa được ứng dụng
nhiều và cũng có rất nhiều phương pháp như dùng cảm biến màu sắc, kính lọc màu.
Trên cơ sở đó, chúng em đã tìm hiểu và quyết định chọn đề tài mang tính nghiên cứu,
ứng dụng cao, phù hợp với sự phát triển của các ngành sản xuất là “Thiết kế và thi
công hệ thống phân loại sản phẩm bút chì theo màu sắc” bằng phương pháp xử lý ảnh
trên phần mềm Matlab.
MỤC TIÊU
1.2
Thiết kế và thi công một hệ thống phân loại bút chì, trong đó sử dụng Webcam
để thực hiện việc thu nhận hình ảnh bút chì, rồi gửi dữ liệu vào máy tính để xử lý màu
sắc cho việc phân loại 7 màu sắc khác nhau của bút chì. Hệ thống sử dụng bộ xử lý
trung tâm là vi điều khiển Arduino Uno R3 nhận dữ liệu từ máy tính.
NỘI DUNG NGHIÊN CỨU
1.3
Đề tài được thực hiện qua những nội dung như sau:
-
Nghiên cứu, tìm hiểu Webcam Logitech C270p.
-
Nghiên cứu, tìm hiểu động cơ Servo và board Arduino Uno R3.
-
Nghiên cứu, tìm hiểu phần mềm lập trình Matlab.
-
Nghiên cứu, tìm hiểu các thuật toán và các hàm, các không gian màu áp dụng
cho việc xử lý màu sắc.
-
Viết code chương trình Matlab xử lý ảnh, màu sắc.
-
Xây dựng chương trình điều khiển mô hình giao tiếp giữa Matlab và Arduino.
-
Thiết kế, xây dựng phần cứng của mô hình.
-
Chạy thử nghiệm, cân chỉnh và sửa lỗi mô hình.
-
Viết báo cáo luận văn.
-
Báo cáo đề tài tốt nghiệp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
2
CHƯƠNG 1. TỔNG QUAN
GIỚI HẠN CỦA ĐỀ TÀI
1.4
Đề tài này chỉ tập trung vào việc xác định màu sắc của cây bút chì cụ thể: màu
đỏ, cam, vàng, lục, lam, hồng, tím. Không đánh giá chất lượng của bút chì. Do đó,
các bức ảnh đưa vào được thực hiện như sau:
1.5
-
Bút chì được đặt trên phông nền có màu sắc không trùng với màu của bút chì.
-
Xử lý và phân loại màu sắc từng cây bút chì trên hệ thống.
-
Ảnh được chụp trong điều kiện ánh sáng bình thường, cố định.
-
Đề tài chỉ giới hạn trong mô hình thu nhỏ.
BỐ CỤC
Chương 1: Tổng Quan
Đặt vấn đề liên quan đến đề tài, tìm hiểu những lý do và sự cần thiết để thực
hiện đề tài, mục tiêu hoàn thành, giới hạn cũng như những bước đi từ cơ bản đến cụ
thể mà nhóm sẽ thực hiện trong quá trình nghiên cứu đề tài.
Chương 2: Cơ Sở Lý Thuyết
Trình bày các kiến thức về các bước cơ bản trong xử lý ảnh, không gian màu
của ảnh.
Chương 3: Thiết Kế Hệ Thống
Trình bày sơ đồ khối của hệ thống, thiết kế cho từng khối. Sơ đồ kết nối phần
cứng, nguyên lý hoạt động.
Chương 4: Thi Công Hệ Thống
Lắp đặt webcam, động cơ servo, buồng tối và khay chứa bút chì cho mô hình
băng tải, trình bày lưu đồ giải thuật và viết chương trình phân tích màu sắc bút chì
cho mô hình.
Chương 5: Kết Quả, Nhận Xét và Đánh Giá
Trình bày kết quả đã đạt được, đưa ra những bàn luận về sản phẩm và viết tài
liệu hướng dẫn hệ thống.
Chương 6: Kết Luận và Hướng Phát Triển
Kết luận chung về đề tài và hướng phát triển của nó.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Chương 2. CƠ SỞ LÝ THUYẾT
2.1
GIỚI THIỆU VỀ XỬ LÝ ẢNH
Xử lý ảnh kỹ thuật số là một trong những đối tượng nghiên cứu của lĩnh vực
thị giác máy tính (computer vision), cùng với phương pháp thu nhận, phân tích và
nhận dạng các hình ảnh. Cũng như xử lý dữ liệu bằng đồ họa, xử lý ảnh số là một
phần của tin học ứng dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân
tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương
trình. Xử lý ảnh số bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc
mã hóa các ảnh tự nhiên.
Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh đã
phát triển một cách mạnh mẽ và có nhiều ứng dụng thực tiễn trong cuộc sống. Có thể
liệt kê những ứng dụng của xử lý ảnh như: khôi phục, chỉnh sửa hình ảnh; các lĩnh
vực nhận dạng như nhận dạng chữ viết, vân tay; thị giác máy tính, chuyển động của
robot; xe không người lái, xe tự hành; ứng dụng trong an ninh và giám sát; các ứng
dụng trong y học như nội soi, xử lý tế bào;
Mô tả cụ thể các bước cơ bản trong một hệ thống xử lý ảnh:
Thu nhận ảnh
(Camera,
Scanner)
Tiền xử lý
ảnh
Phân đoạn
ảnh
Biểu diễn và
mô tả ảnh
Nhận dạng và
nội suy
Hình 2.1: Các giai đoạn chính trong xử lý ảnh [6].
2.1.1 Thu Nhận Ảnh
Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình xử lý ảnh.
Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, máy scan. Sau đó các tín
hiệu này sẽ được số hóa. Các thông số quan trọng ở đây là độ phân giải, chất lượng
màu và tốc độ thu nhận ảnh của các thiết bị. Chất lượng của một ảnh thu nhận được
phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1.2 Tiền Xử Lý Ảnh
Ở bước này, ảnh sẽ được xử lý để cải thiện về độ tương phản, khử nhiễu,…
với mục đích làm cho chất lượng ảnh trở nên tốt hơn, rõ nét hơn. Quá trình này thường
được thực hiện bởi các bộ lọc. Bộ lọc trung bình được sử dụng chính trong bước tiền
xử lý ảnh này, nó là bộ lọc mà mỗi điểm ảnh được thay thế bằng trung bình trọng số
của các điểm lân cận nhằm loại bỏ những điểm ảnh biến đổi lớn hơn so với điểm lân
cận (hay còn gọi là nhiễu). Bộ lọc trung bình được định nghĩa:
g(x, y) = ∑ ∑(k,l)∈W a(k, l)f(x − k, y − l)
(2.1)
Trong kỹ thuật lọc trên, nếu ta dùng các trọng số như nhau thì phương trình
trên trở thành:
g(x, y) =
1
N
∑ ∑(k,l)∈W f(x − k, y − l)
(2.2)
Với: f(x, y) là ảnh đầu vào.
g(x, y) là ảnh đầu ra.
a(k, l) là cửa sổ lọc (mặt nạ).
Trong lọc trung bình, người ta thường ưu tiên cho các hướng để bảo vệ biên
của ảnh khỏi bị mờ khi làm trơn ảnh. Các kiểu mặt nạ được sử dụng tùy theo các
trường hợp khác nhau.
Hình 2.2: Cách thức nhân chập điểm ảnh với cửa sổ lọc [7].
𝑔(𝑥, 𝑦) =
1
[𝑓(𝑥 − 1, 𝑦 − 1) + 𝑓 (𝑥 − 1, 𝑦) + 𝑓(𝑥 − 1, 𝑦 + 1)
9
+ 𝑓 (𝑥, 𝑦 − 1) + 𝑓 (𝑥, 𝑦) + 𝑓 (𝑥, 𝑦 + 1)
+ 𝑓 (𝑥 + 1, 𝑦 − 1) + 𝑓 (𝑥 + 1, 𝑦) + 𝑓 (𝑥 + 1, 𝑦 + 1)]
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1.3 Phân Đoạn Ảnh
Phân đoạn hay còn gọi phân vùng ảnh là phân tích ảnh thành những thành phần
có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác
định các vùng liên thông có thể là cùng màu, cùng mức xám,… Mục đích của phân
đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần tử khác nhau cấu tạo nên ảnh
thô, để tìm ra các đặc trưng của ảnh. Với các thao tác: tìm biên, tách biên, phân loại
đối tượng. Sử dụng các phương pháp: phát hiện biên cục bộ, dò biên, phân vùng theo
miền đồng nhất, phân vùng dựa theo đường biên.
Trong đề tài này nhóm chúng em đã sử dụng bộ tách biên Sobel để tách biên
ảnh. Bộ tách biên Sobel dùng mặt nạ Sobel để tính các đạo hàm bậc nhất Gx và Gy.
Các mặt nạ này được thiết kế để tìm ra các đường biên theo chiều đứng và chiều
ngang một cách tốt nhất.
1
Mặt nạ Sobel theo hàng: [2
1
Mặt nạ Sobel theo cột:
0
0
0
−1
[0
1
−1
−2]
−1
−2
0
2
−1
0]
1
(2.3)
(2.4)
Để tính Gx và Gy ta dựa vào mặt nạ Sobel như sau. Gọi z là giá trị pixel trong
𝑧1 𝑧2 𝑧3
một lân cận kích thước 3x3: [𝑧4 𝑧5 𝑧6 ]
(2.5)
𝑧7 𝑧8 𝑧9
Công thức tính:
2 [(
𝐺𝑋=
𝑧7 + 2𝑧8 + 𝑧9 ) − (𝑧1 + 2𝑧2 + 𝑧3 )]2
(2.6)
2 [(
𝐺𝑌=
𝑧3 + 2𝑧6 + 𝑧9 ) − (𝑧1 + 2𝑧4 + 𝑧7 )]2
(2.7)
1
𝑔 = [𝐺𝑋2 + 𝐺𝑌2 ]2
(2.8)
2.1.4 Biểu Diễn Và Mô Tả Ảnh
Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh
thô, trong đó có hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh
thuộc về chính vùng ảnh đó. Việc biến đổi các số liệu này thành dạng thích hợp là
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
6
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh
gọi là trích chọn đặc trưng gắn với việc tách các đặc tính của ảnh dưới dạng các thông
tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác
trong phạm vi ảnh nhận được. Dựa vào phần tử đặc trưng của ảnh đó là pixel. Ta có
thể biểu diễn ảnh bằng hàm toán học, hoặc các ma trận điểm.
2.1.5 Nhận Dạng Và Nội Suy
Nhận dạng ảnh có thể nhìn nhận một cách đơn giản là quá trình xác định ảnh,
liên quan đến mô tả đối tượng mà ta muốn đặc tả về nó. Quá trình này thường thu
được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước.
Nội suy là phán đoán theo ý nghĩa dựa trên cơ sở nhận dạng. Theo lý thuyết
về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh
cơ bản là: nhận dạng theo tham số và nhận dạng theo cấu trúc. Một số đối tượng nhận
dạng khá phổ biến hiện nay là: nhận dạng ký tự, nhận dạng vân tay, nhận dạng khuôn
mặt.
Ứng dụng trong đề tài này, sau khi ảnh được phân tích và xử lý xong, quá trình
nhận dạng màu sắc của ảnh được thực hiện so sánh với ảnh ban đầu được chụp từ
webcam. Dựa trên cơ sở nhận dạng, ta biết được màu sắc là màu gì.
2.2
KHÔNG GIAN MÀU CỦA ẢNH
Không gian màu là những phương pháp định lượng màu sắc được thiết lập
công thức một cách khoa học. Hệ thống không gian màu dùng mô hình toán học để
xác định màu, biểu diễn mỗi màu dưới dạng số học, bằng cách đó ta có thể chọn và
lặp lại màu nào đó thật chính xác. Trên thực tế, có rất nhiều không gian màu khác
nhau để sử dụng vào những mục đích khác nhau như: RGB, HSV, HSL, CMYK.
Trong đó, RGB và HSV là hai không gian màu cơ bản và ứng dụng nhiều nhất. Còn
không gian màu CMYK thường được sử dụng trong in ấn màu.
2.2.1 Không Gian Màu RGB
Không gian màu RGB là một không gian màu cơ bản trong xử lý ảnh, sử dụng
mô hình bổ sung trong đó ánh sáng đỏ, xanh lá cây, xanh da trời được tổ hợp với nhau
theo nhiều phương thức khác nhau để tạo thành các màu khác nhau. Tất cả đều là sự
pha trộn của 3 màu cơ bản là Red, Green và Blue.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
7
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Hình 2.3: Không gian màu RGB
Ta cũng cần lưu ý rằng, tự bản thân mô hình màu RGB không định nghĩa thế
nào là “đỏ”, “xanh lá”, “xanh dương” một cách chính xác, vì thế với cùng các giá trị
như nhau của RGB có thể mô tả các màu tương đối khác nhau trên các thiết bị khác
nhau có cùng một mô hình màu. Trong khi chúng cùng chia sẻ một mô hình màu
chung, không gian màu thực sự của chúng là dao động một cách đáng kể.
Trong biểu diễn số trên máy tính, ảnh màu RGB có thể sử dụng số bit màu là
16, 24, 32 hoặc 48 bit. Điểm ảnh có số bit màu càng cao thì màu sắc của điểm ảnh
càng được biểu diễn chính xác.
Mô hình màu RGB được biểu diễn bởi khối lập phương với các trục R, G, B
như sau:
Hình 2.4: Hệ tọa độ màu RGB
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
8
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Thông thường ảnh số được mã hóa bằng 24 bit thông tin cho mỗi điểm ảnh
(bit per pixel hay bpp), nghĩa là 8bit ứng với mỗi kênh R, G, B, thì mỗi kênh màu này
sẽ nhận giá trị từ 0-255. Với một giá trị của mỗi kênh màu khác nhau kết hợp lại với
nhau ta sẽ được một màu khác nhau, như vậy mô hình RGB có thể biểu diễn 28*28*28
= 16,777,216 màu.
Khi biểu diễn dưới dạng số, các giá trị RGB trong mô hình 24bpp thông thường
được ghi bằng cặp ba số nguyên giữa 0-255, mỗi số đại diện cho cường độ của màu
đỏ, xanh lá, xanh lam. Ví dụ như màu đen là sự kết hợp của các kênh màu (R, G, B)
với giá trị tương ứng (0, 0, 0), màu trắng có giá trị (255, 255, 255), màu đỏ có giá trị
(255, 0, 0), màu xanh lơ có giá trị (0, 255, 255), màu vàng có giá trị (255, 255, 0),
màu hồng có giá trị (255, 0, 255) và một số màu khác.
Tuy nhiên, do tính tương quan cao giữa các kênh, giá trị cảm nhận không đồng
nhất, sự pha trộn giữa dữ liệu thành phần màu và dữ liệu về độ sáng mà không gian
màu RGB không được ưa chuộng sử dụng cho việc phân tích màu cũng như trong
các thuật toán nhận dạng dựa trên màu sắc.
2.2.2 Không Gian Màu HSV
Không gian màu HSV được dùng nhiều trong việc phân tích và chỉnh sửa ảnh.
Hệ màu này dựa vào 3 thông số để mô tả màu sắc bao gồm: H = Hue: vùng màu; S =
Saturation: độ bão hòa; V = Value: giá trị hay cường độ sáng. Không gian màu này
thường được biểu diễn dưới dạng hình nón ngược hoặc hình trụ.
Hình 2.5: Không gian màu HSV
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
9