Vì vậy, nhóm thực hiện đồ án với mong muốn chế tạo ra mô hình chống trộm sử dụng xử lý ảnh kết hợp với sử dụng kit Arduino được giám sát bằng máy tính thông qua Laptop và tin nhắn Nhận
Trang 1BỘ 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 -
THÔNG MINH
Trang 2BỘ 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
Trang 3KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH
Tp HCM, ngày 16 tháng 7 năm 2018
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Tăng Nguyễn Công Thiên MSSV: 13141328
Chuyên ngành: Điện tử công nghiệp Mã ngành: 141
2 Nội dung thực hiện:
Để tài thực hiện nội dung phát hiện người và nhận diện khuôn mặt với đầu vào là hình ảnh lấy được từ webcam, kết quả sẽ được gửi qua arduino để điều khiển Servo SG90, Module Sim 800A, Chuông, 2 Led đơn Nhóm sẽ thực hiện các nôi dung như sau:
Tìm hiểu về Matlab
Tìm hiểu về Arduino Uno R3
Cài đặt thưc viện cho Arduino và các liên kết giữa Matlab và Arduino
Tìm hiểu các thuật toán nhận diện, phát hiện người và khuôn mặt
Xây dựng quá trình xử lý ảnh đầu vào
Xây dựng hệ thống phát hiện người và nhận diện khuôn mặt đồng thời gửi dữ liệu thu được qua Arduino
Xây dựng chương trình điều khiển servo SG90, Module Sim 800A, chuông, 2 Led đơn
Đánh giá kết quả thực hiện
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/07/2018
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Võ Đức Dũng
Trang 4TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tiến hành xây dựng cơ sở dữ liệu để lưu giữ khuôn mặt
Thi công mô hình
Lắp đặt và kết nối các thiết vị ngoại vi
10 Kiểm tra lỗi và chạy thử chương trình trên mô
hình hoàn chỉnh
Trang 6LỜI CAM ĐOAN
Đề tài này là do nhóm sinh viên Tăng Nguyễn Công Thiên tự thực hiện, dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Tăng Nguyễn Công Thiên
Trang 7LỜI CẢM ƠN
Trong thời gian thực hiện đề tài, những người thực hiện được sự giúp đỡ của gia đình, quý thầy cô và bạn bè nên đề tài đã được hoàn thành Những người thực hiện xin chân thành gửi lời cảm ơn đến:
Thầy Võ Đức Dũng, giảng viên trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện để nhóm có thể hoàn thành tốt đề tài
Những người thực hiện cũng xin chân thành cám ơn đến các thầy cô trong khoa Điện - Điện tử của trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã tận tình dạy dỗ, chỉ bảo, cung cấp cho những người thực hiện những kiến thức nền, chuyên môn làm cơ sở để hoàn thành đề tài này
Cảm ơn gia đình đã động viên và luôn luôn bên cạnh trong những lúc khó khăn nhất
Xin gửi lời cảm ơn đến những người bạn sinh viên khoa Điện-Điện tử đã giúp đỡ những người thực hiện đề tài để có thể hoàn thành tốt đề tài này
Xin chân thành cảm ơn!
Người thực hiện đề tài:
Tăng Nguyễn Công Thiên
Trang 8MỤC LỤC
Trang bìa i
Nhiệm vụ đồ án ii
Lịch trình thực hiện đồ án tốt nghiệp iii
Cam đoan iv
Lời cảm ơn v
Mục lục vi
Liệt kê hình vẽ ix
Liệt kê bảng vẽ xi
Tóm tắt xii
CHƯƠNG 1 TỔNG QUAN 1
1.1 LÝ DO CHỌN ĐỀ TÀI 1
1.2 MỤC TIÊU 2
1.2.1 Mục tiêu 2
1.2.2 Giới hạn 2
1.3 BỐ CỤC ĐỒ ÁN TỐT NHIỆP 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 GIỚI THIỆU VỀ HỆ THỐNG XỬ LÝ ẢNH 4
2.1.1 Phần thu nhận ảnh (Image Acquisiton) 5
2.1.2 Tiền xử lý (Image Processing) 6
2.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh 6
2.1.4 Biểu diễn ảnh (Image Representation) 6
2.1.5 Nhận dạng và nội suy (Image Recognition and Interpretation) 6
2.1.6 Cơ sở tri thức 7
2.1.7 Các thành phần cơ bản của hệ thống 7
2.2 NHỮNG VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH 8
2.2.1 Điểm ảnh (Picture Element) 8
2.2.2 Độ phân giải của ảnh 8
Trang 9KẾ, THI CÔNG ĐỀ TÀI 9
2.3.1 Mạch Arduino Uno R3 9
2.3.2 Tổng quan về động cơ Servo 14
2.3.3 Tổng quan về Buzzer 14
2.3.4 Module SIM 800A 15
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 16
3.1 TỔNG QUAN CÁC KỸ THUẬT NHẬN BIẾT MÀU DA DỰA TRÊN TÍNH CHẤT ĐIỂM ẢNH 16
3.1.1 Giới thiệu 16
3.1.2 Không gian màu sử dụng cho mô hình hóa màu da 16
3.1.2.1 Không gian màu RGB 17
3.1.2.2 Không gian RGB chuẩn hóa 17
3.1.2.3 Không gian màu HIS, HSV, HSL 18
3.1.2.4 Không gian màu HIS 18
3.1.2.5 Không gian màu HSV 19
3.1.2.6 Không gian màu HSL 20
3.1.2.7 Không gian màu TSL 21
3.1.2.8 Không gian màu Y 21
3.1.2.9 Các hệ tọa độ không gian màu khác 22
3.1.3 Mô hình hóa màu da 22
3.1.3.1 Xác đinh ngưỡng cụ thể một điểm ảnh là màu da 22
3.1.3.2 Phương pháp mô hình hóa màu da sử dụng phân phôi không tham số 23 3.1.3.3 Bảng tra cứu chuẩn cứu (LUT – Lookup Table) 23
3.1.3.4 Phân lớp Bayes (bayes Classifier) 24
3.1.3.5 Tổng kết phương pháp không tham số 25
3.1.3.6 Mô hình hóa phân phối màu da có tham số 25
3.1.3.7 Mô hình dựa trên phân phối Gauss đơn 26
3.1.3.8 Mô hình kết hợp trên dựa trên phân phối Gauss 26
3.1.3.9 Đa phân phối Gauss 27
3.1.3.10 Tổng kết các phương pháp mô hình hóa theo tham số 27
3.1.4 So sánh kết quả các mô hình 27
Trang 103.1.6 Chọn lựa không gian màu và phương pháp mô hình hóa dùn để nhận biết
màu da cho đồ án 29
3.2 PHÂN TÍCH THÀNH PHẦN CHÍNH PCA 30
3.2.1 Tổng quan về phương pháp PCA 30
3.2.1.1 Giới thiệu 30
3.2.1.2 Ý tưởng 30
3.2.2 Trích chọn đặc trưng khuôn mặt người dựa trên phương pháp PCA 34
3.2.2.1 Chuyển đổi ảnh 34
3.2.2.2 Tính khuôn mặt người trung bình 35
3.2.2.3 Trừ mỗi ảnh cho mặt trung bình 35
3.2.2.4 Xây dựng ma trận hợp phương sai 35
3.2.2.5 Phép chiếu 36
3.3 PHÂN TÍCH HOG 37
3.3.1 Giới thiệu 37
3.3.2 Chuẩn hóa hình ảnh trước khi xử lý 38
3.3.3 Tính toán gradient 38
3.3.4 Lấy votes trong mỗi cell 39
3.3.5 Chuẩn hóa các block 40
3.3.6 Sử dụng trong bài toán object recognition 40
3.3 KẾT NỐI VỚI THIẾT BỊ NGOẠI VI 41
3.4.1 Khối xử lý trung tâm 42
3.4.2 Khối Module Sim 800A 42
3.4.3 Khối động cơ servo 43
3.4.4 Khối hiển thị và báo động 44
3.4.5 Khối nguồn 45
3.4.6 Sơ đồ nguyên lý hệ thống ngoại vi 46
CHƯƠNG 4 THI CÔNG HỆ THỐNG 47
4.1 GIỚI THIỆU 47
4.2 THI CÔNG HỆ THỐNG 47
4.2.1 Hệ thống nhận hiện chuyển động 47
4.2.1 Hệ thống nhận diện khuôn mặt 50
4.2.2.1 Lưu đồ giải thuật của hệ thống nhận diện khuôn mặt 50
Trang 114.2.2.5 Trích xuất đặc trưng của khuôn mặt 53
4.2.2.6 Xuất kết quả 54
4.2.3 Hệ thống cảnh báo 55
4.3 GIỚI THIỆU CHƯƠNG TRÌNH 57
4.3.1 Hệ thống phát hiện chuyển động 57
4.3.2 Hệ thống nhận diện khuôn mặt 58
4.4 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 62
4.4.1 Đóng gói bộ điều khiển 62
4.4.1 Thi công mô hình 63
CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 65
5.1 KẾT QUẢ 65
5.2 NHẬN XÉT – ĐÁNH GIÁ 76
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 77
6.1 KẾT LUẬN 77
6.2 HƯỚNG PHÁT TRIỂN 78
TÀI LIỆU THAM KHẢO 79
PHỤ LỤC……… 80
Trang 12LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1 Các bước cơ bản trong xử lý ảnh 5
Hình 2.2 Các thành phần chính cảu hệ thống xử lý ảnh 7
Hình 2.3 Arduino UNO R3 10
Hình 2.4 Sơ Đồ Chân Arduino UNO R3 10
Hình 2.5 Động cơ Servo 14
Hình 2.6 Buzzer 14
Hình 2.7 Module Sim 800A 15
Hình 3.1 Không gian màu RGB 17
Hình 3.2 Không gian màu HSV 19
Hình 3.3 Ý tưởng chính của PCA 34
Hình 3.4 Biểu đồ dựa trên Gy,Gx 39
Hình 3.5 Các cell trong một block 40
Hình 3.6 Sơ đồ kết nối ngoại vi 41
Hình 3.7 Module Sim 800A 42
Hình 3.8 Sơ đồ nguyên lý kết nối Module Sim 800A vào Arduino Uno R3 43
Hình 3.9 Động cơ Servo 43
Hình 3.10 Sơ đồ nguyên lý kết nối Arduino Uno R3 với động cơ Servo 44
Hình 3.11 Sơ đồ kết nối Arduino Uno R3 với Buzzer 45
Hình 3.12 Nguồn tổ ong 12V 5A 46
Hình 3.13 Nguồn tổ ong 5V 4A 46
Hình 3.14 Sơ đồ nguyên lý hệ thống ngoại vi 46
Hình 4.1 Lưu đồ của hệ thống nhận diện chuyển động 47
Hình 4.2 Lưu đồ đưa hình ảnh vào hệ thống phát hiện chuyển động 48
Hình 4.3 Lưu đồ của nhận diện chuyển động 49
Hình 4.4 Hệ thống nhận diện có chuyển động và khoanh vùng chuyển động 49
Hình 4.5 Lưu đồ của hệ thống nhận diện khuôn mặt 50
Hình 4.6 Lưu đồ của hệ thống huấn luyện 51
Hình 4.7 Một số ảnh mẫu trong cơ sở dữ liệu 52
Hình 4.8 Lưu đồ tiến trình 53
Hình 4.9 Lưu đồ hệ thống cảnh báo chuyển động 55
Trang 13Hình 4.13 Giao diện chính của hệ thống phát hiện chuyển động khi đang hoạt động 58
Hình 4.14Giao diện chính của hệ thống nhận diện khuôn mặt 59
Hình 4.15 Thêm ảnh cho cơ sở dữ liệu 59
Hình 4.16 Huấn luyện cho cơ sở dữ liệu 60
Hình 4.17Tiến hành so sánh khuôn mặt với ảnh trong cơ sở dữ liệu 60
Hình 4.18 Cho phép xóa ảnh trong cơ sở dữ liệu 61
Hình 4.19 Các khuôn mặt có sẵn trong cơ sở dữ liệu 61
Hình 4.20 Xóa tất cả ảnh trong cơ sở dữ liệu 62
Hình 4.21 Sơ đồ bố trí linh kiện mặt trước mô hình 62
Hình 4.22 Hình dạng mặt bên mô hình 63
Hình 4.23 Hình dạng mặt trên mô hình 64
Hình 5.1 Phát hiện chuyển động người ở phía trước 65
Hình 5.2 Phát hiện chuyển động người ở phía sau 66
Hình 5.3 Phát hiện chuyển động người khi đang cúi xuống 66
Hình 5.4 Hệ thống cảnh báo gửi tin nhắn đến cho gia chủ 67
Hình 5.5 Đèn và chuông hoạt động khi có chuyển động 67
Hình 5.6Ảnh chụp lại từ camera trong điều kiện ánh sáng yếu 68
Hình 5.7Giao diện chính của hệ thống nhận diện khuôn mặt 68
Hình 5.8 Tiến hành thêm hình ảnh vào kho lưu trữ 69
Hình 5.9 Chọn thiết bị để quét môi trường 69
Hình 5.10 Chọn thiết bị để quét môi trường 70
Hình 5.11 Phát hiện ra khuôn mặt 70
Hình 5.12 Yêu cầu nhập tên 71
Hình 5.13 Huấn luyện hệ thống 71
Hình 5.14Đang tiến hành huấn luyện hệ thống 72
Hình 5.15 Đã hoàn tấc huấn luyện 72
Hình 5.16 Tiến hành so sánh khuôn mặt 73
Hình 5.17 Phát hiện ra khuôn mặt có sẵn trong cơ sở dữ liệu 73
Hình 5.18Cửa mở ra trong 6 giây sau đó tự động đóng lại 74
Hình 5.19Phát hiện ra khuôn mặt không có trong cỡ sở dữ liệu 74
Hình 5.20Đèn cảnh báo sáng lên kèm theo chuông 75
Trang 14LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1 Các thông số của Arduino UNO R3 11
Bảng 3.1 Kết quả nhận biết đúng sai của các phương pháp 28
Trang 15Hiện nay, hệ thống chống trộm ngày càng phổ biến và được tích hợp thêm nhiều các thiết bị điện tử để nâng cao tính hiệu quả của hệ thống Vì thế hệ thống chống trộm ngày càng được ứng dụng nhiều hơn vào thực tiễn đời sống như không cho người lạ xâm nhập, bảo vệ tài sản,… đã được đưa vào các hộ gia đình, công ty, trường học,
Với mục đích muốn tiếp cận với các công nghệ đang phát triển trên Vì vậy, nhóm thực hiện đồ án với mong muốn chế tạo ra mô hình chống trộm sử dụng xử lý ảnh kết hợp với sử dụng kit Arduino được giám sát bằng máy tính thông qua Laptop và tin nhắn
Nhận diện khuôn mặt và so sánh khuôn mặt đã quét với kho dữ liệu để đưa
ra hướng xử lý mở cửa hay không
Hệ thống mở rộng bao gồm:
Hệ thống điều khiển thiết bị từ xa thông qua Internet, hiển thị tất cả thông tin
mà camera thu được vào thiết bị di động
Mô hình sử dụng kit Arduino Uno R3 làm vi điều khiển trung tâm để điều khiển các module mở rộng như Module Sim 800A, Buzzer, Servo
Đóng mở cửa bằng cách sử dụng động cơ Servo Người dùng tương tác sử dụng thông qua camera được đặt sẵn
Hệ thống cảnh báo bằng Module Sim 800A gửi tin nhắn cảnh báo khi có người lạ đột nhập
Trang 16CHƯƠNG 1 TỔNG QUAN
CHƯƠNG 1 TỔNG QUAN
1.1 LÝ DO CHỌN ĐỀ TÀI
Tình hình an ninh trật tự đang là vấn đề nhức nhối của toàn xã hội, đặt biệt là vấn đề trộm cắp tài sản tại tư gia khiến cho gia chủ phải tốn rất nhiều thời gian và công sức trong việc bảo vệ tài sản
Dù ở mức độ trộm cắp nào đi chăng nữa cũng để lại là những hậu quả ảnh hưởng trực tiếp cho gia chủ Và một trong những nguyên nhân chủ yếu của nạn trộm cắp chính
là an ninh lỏng lẻo giúp kẻ trộm có cơ hội ra tay Hiện nay khóa đang là hình thức được
sử dụng thông dụng nhất Tuy nhiên những tên trộm hoàn toàn có thể bẻ, phá được khóa, thậm chí là khóa số điện tử Do đó cần phải có những thiết bị báo trộm, vừa để chủ nhà nhận biết được có kẻ trộm đột nhâp, vừa để tên trộm khi biết đã bị phát hiện sẽ hoảng loạn sẽ phải quay đầu bỏ chạy ngay Với những ngôi nhà thông minh hay căn hộ chung
cư, thiết bị báo trộm lại càng cần thiết
Chính vì cần có biện pháp hiệu quả hơn trong vấn đề an ninh, phòng chống những rủi ro có thể xảy ra nên nhóm sinh viên chúng em chọn đề tài “Ứng dụng xử lý ảnh thiết
kế thi công mạch chống trộm thông minh.” để làm đồ án tốt nghiệp
Nhằm khắc phục một phần và ngăn ngừa những hậu quả nêu trên, nhóm sinh viên
chúng em chọn đề tài “Ứng dụng xử lý ảnh thiết kế thi công mạch chống trộm thông
minh” để làm đồ án tốt nghiệp
Đây là một đề tài không quá mới mẻ, đã được nghiên cứu nhiều trong các đề tài trước đây Và kết quả cho thấy rằng độ chính xác nằm ở mức trung bình Đề tài đã khắc phục những hạn chế như vẫn có thể so sánh liên tục với những kho ảnh đã lưu trữ, cảnh báo cho người dùng … nhằm tăng độ chính xác trong việc phát hiện có kẻ lạ
Trang 17Thiết kế và thi công được hệ thống chống trộm thông minh thông qua quá trình xử
lý ảnh nhận diện chuyển động và nhận dạng khuôn mặt để cảnh báo bằng tin nhắn SMS
và báo động đồng thơi đóng mở cửa
1.2.2 Giới hạn
Đặc tính của hệ thống xử lý ảnh thông thường bị ảnh hưởng bởi nhiều yếu tố Trong điều kiện thực tế cho phép nhóm thực hiện đề tài trong một số điều kiện giới hạn sau: Điều kiện thu nhận hình ảnh ngày và đêm, trong điều kiện ánh sáng ổn định
Khuôn mặt không trang điểm hoặc bị biến dạng
Không thể xác định được mắt khi khuôn mặt nghiêng, xoay trái, xoay phải một góc lớn hơn 45 độ, cúi xuống hoặc ngước lên một góc lớn hơn 300 độ
Khoảng cách từ camera đến đối tượng dưới 1.2 mét, trên khoảng cách này thì việc nhận dạng sẽ không được chính xác
Chưa xây dựng app android để người dùng có khả năng quản lý hệ thống từ xa
Giới thiệu khái quát về các linh kiện sử dụng trong thiết kế, thi công đề tài
Chương 3: Tính toán thiết kế
Tổng quan các kỹ thuật nhận biết màu da dựa trên tính chất điểm ảnh
Phân tích thành phần chính bằng PCA
Phân tích HOG
Trang 18CHƯƠNG 1 TỔNG QUAN
Chương 4: Thi công và giới thiệu chương trình
Giới thiệu
Thi công hệ thống
Giới thiệu chương trình
Đóng gói và thi công mô hình
Chương 5: Kết quả_Nhận xét_Đánh giá
Trang 19Xử lý ảnh là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từ các thiết bị như camera, webcam… Do đó, xử lý ảnh đã được ứng dụng và phát triển trong rất nhiều lĩnh vực quan trọng như:
Trong lĩnh vực quân sự: xử lý và nhận dạng ảnh quân sự
Trong lĩnh vực giao tiếp người máy: nhận dạng ảnh, xử lý âm thanh, đồ họa
Trong lĩnh vực an, bảo mật: nhận diện khuôn mặt người, nhận diện vân tay, mẫu mắt, …
Trong lĩnh vực giải trí: trò chơi điện tử
Trong lĩnh vực y tế: Xử lý ảnh y sinh, chụp X quang, MRI,…
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền từ Luân đôn đế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 Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh số được thuận lợi hơn Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh 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 Các phương pháp tri thức nhân tạo như mạng nơ-ron nhân tạo, các thuật
Trang 20CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
toán xử lý hiện đâị và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu được nhiều kết quả khả quan hơn
Sau đây, ta sẽ xét các bước cần thiết trong quá trình xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới bên ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo Mặt khác, ảnh cũng có thể tiếp theo Mặt khác ảnh có thể được quét từ vệ tinh chụp trực tiếp bằng máy quét ảnh
Hình 2.1 dưới đây mô tả các bước cơ bản trong xử lý ảnh
Hình 2.1 Các bước cơ bản trong xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
2.1.1 Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera mà hoặc trắng đen Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hóa (như loại CCD – Change Coupled Device) là loại photodiot tạo
Trang 21Camera thường dùng là loại quét dùng: ảnh tạo ra có dạng hai chiều Chất lượng ả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)
2.1.2 Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý
để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ nét hơn
2.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vừng ảnh là tách một ảnh ban đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận diện ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu chữ về địa chỉ hoặc tên người thành các
từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
2.1.4 Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết ở các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp là 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( Feature Extration) 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 Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng
ta miêu tả các đặc trưng của từng ký tự giúp phận biệt ký tự này với ký tự khác
2.1.5 Nhận dạng và nôi suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh 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 trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác nhau về ảnh Theo lý
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
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
2.1.6 Cơ sơ tri thức
Ảnh là một dối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiều Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người
ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử ly đó, nhiều khâu hiện nay đã xử lý theo phương pháp trí tuệ con người
2.1.7 Các thành phần cơ bản của hệ thống xử lý ảnh
Hình 2.2 Các thành phần chính của hệ thống xử lý ảnh
Một hệ thống xử lý ảnh cơ bản có thể gồm:máy tính các nhân kèm theo vi mạch chuyển đổi đồ họa VGA hoặc SVGA Nếu điều kiện cho phép, nên có một hệ thống như hình 2.2, bao gồm một máy tính PC kem theo thiết bị xử lý ảnh, nối với cổng vào của thiết bị thu nhận ảnh là một video camera và cổng ra nối với một màn hình
Khi hệ thống này thực hiện một quá trình xử lý ảnh, đầu tiên, ảnh sẽ được nhận qua thiết bị thu nhận ảnh Ảnh này có thể là ảnh đen trắng hoặc ảnh màu, chất lượng ảnh tùy
Trang 23được đưa qua thiết bị xử lý ảnh, Ảnh sau khi được xử lý sẽ được đưa ra thiết bị hiển thị/ thực thi để xuất kết quả cuối cùng (hiển thị kết quả ra màn hình hoặc thực thi chức năng của thiết bị: mở cửa, cảnh báo,…)
2.2.1 Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Đề xử lý bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức sáng) Khoảng cách giữa các diểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy được gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa
độ (x,)
Định nghĩa:
Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
2.2.2 Độ phân giải của ảnh
Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ của điểm ảnh được ấn định
trên một ảnh số được hiển thị
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật
độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc nhân với 200 điểm ảnh (320*200) Rõ ràng cùng màn hình CGA 12 inch ta nhận thấy mịn hơn màn hình CGA 17
Trang 24CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
inch độ phân giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhwung diện tích màn hình rộng hơn thì dộ mịn (liên tục của các điểm) kém hơn
2.2.3 Mức xám của ảnh
Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh va độ xám của nó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường được dùng trong xử lý ảnh
Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị
Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế giới
đa màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 256*256*256 hay triệu màu Vì khi biểu diễn dưới dạng số, các giá trị RGB thường được ghi bằng 3 cặp số nguyên giữa 0 và 255, mỗi số đại diện cho cường độ của 3 màu: Red (255, 0, 0) Blue (0, 255, 0) Green (0, 0, 255)
2.2.4 Định nghĩa ảnh số
Ảnh số là tập hợp các ddiemr ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật
THIẾT KẾ, THI CÔNG ĐỀ TÀI
2.3.1 Mạch Arduino Uno R3
Hình dáng và công dụng của mạch Arduino Uno R3
Trang 25Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với
nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch
nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit
Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog,
14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến
một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới
chuyên nghiệp để tạo ra những nhiết bị có khả năng tương tác với môi trường thông qua
các cảm biến và các cơ cấu chấp hành Những ví dụ phổ biến cho những người yêu thích
mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động
Hình 2.3 Arduino UNO R3
Trang 26CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hình 2.4 Sơ Đồ Chân Arduino Uno R3
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Dòng tối đa trên mỗi chân
Trang 27SRAM 2 KB(ATmega328)
Bảng 2.1 Các thông số của Arduino UNO R3
Một vài thông số của Arduino UNO R3
Arduino UNO sử dụng vi điều khiển ATmega328
Số chân Digital I/O: 14 (6 chân PWM)
Số chân Analog: 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O: 30 mA
Dòng ra tối đa (5V): 500 mA
Dòng ra tối đa (3.3V): 50 mA
Bộ nhớ flash: 32 KB (ATmega328)
Các chân năng lƣợng :
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này, luôn là 5V Mặc dù vậy , không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Trang 28CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Bộ nhớ của Arduino Uno R3:
Sử dụng vi điều khiển Atmega328
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ nhớ này
2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu ở đây Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM
Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào đây mà không
phải lo bị mất khi mất điện giống như dữ liệu trên SRAM
Các cổng vào/ra:
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Một số chân digital
có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial
Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối
bluetooth thường thấy nói nôm na chính là kết nối Serial không dây
Chân giao tiếp SPI:10 (SS),11 (MOSI),12 (MISO),13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các
thiết bị khác
Led 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này
được người dùng sử dụng, led sẽ sáng
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) Nói một cách đơn giản, có thể điều
chỉnh được điện áp ra ở chân này từ mức 0V đến 5V
Trang 29Hàm analogWrite() trong Arduino giúp việc tạo 1 xung dễ dàng hơn Hàm này
truyền vào tham số cho phép thay đổi chu kì xung, bạn có thể tính toán ra được chu kì xung như ở bảng trên Tần số xung được Arduino thiết lập mặc định
Đối với board Arduino UNO, xung trên các chân 3,9,10,11 có tần số là 490Hz, xung trên chân 5,6 có tần số 980Hz
Arduino UNO còn có 6 chân analog (A0 → A5): cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên
board, có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu cấp điện áp 2.5V vào chân này thì có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit
Nhiệm vụ của analogRead() là đọc giá trị điện áp từ một chân Analog ADC
AnalogRead luôn trả về 1 số nguyên nằm trong khoảng từ 0 đến 1023 tương ứng với
thang điện áp (mặc định) từ 0 đến 5V Bạn có thể điều chỉnh thang điện áp này bằng
hàm analogReference
Hàm analogRead() cần 100 micro giây để thực hiện
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
2.3.2 Tổng quan về động cơ Servo
Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường
cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,
Trang 30CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hình 2.5 Động cơ Servo 2.3.3 Tổng quan về Buzzer
Buzzer còn gọi là loa mini hay còi báo Nó dùng để phát ra các âm thanh Nó gồm 2 chân: Chân GND nối GND arduino và chân tín hiệu nối pin arduino Ta sẽ lập trình để nó phát ra cao độ hay cường độ hay âm sắc gì đó thay đổi (Mù âm nhạc) từ đó tạo ra những bản nhạc thú vị mang phong cách arduino
Hình 2.6 Buzzer 2.3.4 Module sim 800A
Module Sim800A là một module GSM/GPRS cực kỳ nhỏ gọn tích hợp nguồn xung
và IC đệm thiết kế cho các ứng dụng cần độ bền và độ ổn định cao Giao tiếp vật lý trong ứng dụng điện thoại của SIM 800A là 68 chân, nó cung cấp tất cả các giao diện vật lý giữa module Sim và board mạch
Trang 31Hình 2.7 Module Sim800A
Trang 32CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
CHƯƠNG 3 TÍNH TOÁN THIẾT KẾ
3.1 TỔNG QUAN CÁC KỸ THUẬT NHẬN BIẾT MÀU DA DỰA TRÊN TÍNH CHẤT ĐIỂM ẢNH
3.1.1 Giới thiệu
Dựa vào màu sắc của da người là một trong những phương pháp được dùng để phát hiện mặt người, tuy nhiên nếu chỉ đơn thuần sử dụng màu sắc không thôi thì rất khó có thể đạt được hiệu quả cao trong khuôn mặt để đối chiếu với những khuôn mặt đã lưu trữ trước đó trong kho dữ liệu.Vì trong các khung cảnh thì có rất nhiều vật có màu sắc tương
tự như màu của khuôn mặt Tuy nhiên nếu kết hợp phương pháp này với các phương pháp khác lại có thể mang lại hiệu quả cao Vì kinh nghiệm cho thấy màu da người có đặc tình màu riêng biệt và đặc tính này cho phép dễ dàng nhận ra đâu là da người Thông thường trong hướng tiếp cận phát hiện mặt người dựa trên thông tin xuất hiện trong ảnh thì màu
da được sử dụng như mộ bước phân vùng các vùng ảnh có màu sắc giống màu da, điều đó cho phép giảm không gian tìm kiếm khuôn mặt, cải thiện hiệu năng của hệ thống tìm kiếm
Phát hiện màu da dựa trên đặc tính điểm ảnh có một lịch sử phát triển khá dài, tuy nhiên trong khuôn khổ tổng quan này, nhóm thực hiện chỉ đề cập và so sánh những kỹ thuật đã được công bố và đánh giá hiệu quả
Mục đích cuối cùng của phần tổng quan này là thu thập các kỹ thuật đã được công
bố, mô tả những ý tưởng chính của kỹ thuật đó, tổng hợp và đưa ra những ưu điểm, nhược điểm và những đặc trưng của từng kỹ thuật Từ đó, nhóm thực hiện sẽ đưa ra quyết định lựa chọn kỹ thuật phu hợp dùng để phân vùng vùng màu da áp dụng cho đồ án này
3.1.2 Không gian màu sử dụng cho mô hình hóa màu da
Trong lĩnh vực đo màu da, cũng như các lính vực trong truyền tín hiệu hình ảnh và video sử dụng rất nhiều không gian màu với các tính chất khác nhau và trong số đó nhiều
Trang 33không gian màu được áp dụng cho vấn đề mô hình hóa màu da Sau đây là tóm lược nhóm các không gian màu được sử dụng rộng rãi nhất cũng hư các tính chất của chúng
3.1.2.1 Không gian màu RGB
RGB là không gian màu cơ bản được áp dụng từ lâu cho màn hình CRT Trong không gian màu này, mỗi điểm màu là sự kết hợp của ba thành phần đơn màu (Đỏ-Red, Xanh lục-Green, Xanh da trời-Blue) Đây là một trong những không gian màu được sử dụng phổ biến nhất cho việc xử lý và lưu trữ dữ liệu ảnh số Tuy nhiên do tính chất tương quan cao giữa các kênh, giá trị cảm nhận không đồn 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 RGB không được ưa thích sử dụng co 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
Hình 3.1 Không gian màu RGB 3.1.2.2 Không gian RGB chuẩn hóa
Không gian RGB chuẩn hóa là không gian màu nhận được từ không gian RGB cơ bản theo công thức chuẩn hóa đơn giản sau đây:
; g
;
(3.1)
Trang 34CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
Có thể dễ dang nhận thấy rằng, trong không gian này, r+g+b = 1 Do đó chỉ cần hai trong ba thành phần trên là đủ để biểu diễn không gian màu này, thành phần thứ ba sẽ không còn giá trị và có thể được bỏ qua, để rút ngắn được số chiều của không gian này Hai thành phần còn lại thường được gọi là các thành phần “màu tinh khiết” (pure color) Thông thường, hai thành phần r và b thường được giữ lại, còn g bị rút bỏ đi Tính chất cần chú ý của không gian màu này đó là tính bất biến đối với sự thay đổi về hướng của bề mặt Nghĩa là nếu như không quan tâm đến ánh sáng xung quanh, thì không gian chuẩn hóa RGB là bất biến đối với sự thay đổi về hướng về mặt liên quan đến nguồn chiếu (tất nhiên là dưới một vai giả thiết nhất định) Kết hợp với phép chuyển đổi đơn giản từ không gian màu RGB cơ bản mà không gian RGB chuẩn hóa này ngày càng được sử dụng rộng rãi trong nhiều lĩnh vực, trong đó có lĩnh vực nhận dạng
3.1.2.3 Không gian màu HIS, HSV, HSL
Không gian màu này dựa trên tính bão hòa màu được giới thiệu khi có những nhu cầu trong việc xác định số lượng tính chất màu Chúng miêu tả màu sắc với những giá trị thuộc về trực giá, dựa trên ý kiến của các họa sỹ về những trạng thái khác nhau của màu sắc, trạng thái bão hòa cũng như từng tông màu khác nhau Hue biểu thị cho màu trội ( màu đỏ, màu lục, màu đỏ tía và màu vàng) của một vùng ảnh, saturation (độ bão hòa) là thước đo cho giới mức ngưỡng màu của một vùng ảnh Các khái niệm như “intensity” (cường độ), “lightness” (tính dịu) hay “value” (giá trị) liên quan đến độ sáng của màu Giá trị trực giác của các thành phần màu của không gian màu là ưu điểm mà giúp cho không gian này được sử dụng phổ biến trong vấn đề phần vùng da
3.1.2.4 Không gian màu HIS
HIS là viết tắt của Hue, Saturation, Intensity Không gian màu gồm 3 thành phần H,
S, I Trong không gian màu này, các màu đều được biểu diễn dựa trên 3 thành phần H, S,
I này
H được viết tắt cho Hue, nghĩa là màu sắc Thành phần này biểu diễn màu sắc vốn
có của các màu như: đỏ, xanh da trời, da cam,… Nó có giá trị từ 0 đến 360 độ S là viết
Trang 35trong hóa học, với dung môi là màu trắng và chất tan là màu I được viết tắt cho Intensity,
3.1.2.5 Không gian màu HSV
HSV là viết tắt của Hue, Saturation, Value Trong đó, hai thành phần H, S cũng tương tự như của HIS, riêng V là thành phần biểu thị giá trị dộ sáng Trong không gian màu màu này, các màu đều cũng được biểu diễn dựa trên 3 thành phần H, S, V này
Công thức biến đổi từ không gian RGB sang không gian HSV như sau:
) ) )
) ) )
Trang 36CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
Hình 3.2 Không gian màu HSV 3.1.2.6 Không gian màu HSL
HSL là viết tắt của Hue, Saturation, Lightness Nó tương tự như không gian màu HSV (L tường ứng với V cùng chỉ cường độ sáng) Không gian này chú trọng đến các thành phần của sự cảm nhận màu sắc của mắt (Hue, Saturation, Lightness) hơn không gian RGB Tuy nhiên, không gian HSL thực ra cũng chỉ là phép biến đổi gần đúng của không gian RGB mà thôi
Công thức biến đổi từ không gian RGB sang không gian HSL như sau:
L=(Max + Min)/2
{
)
(3.4)
{
))
))
Trong đó:{
Trang 37
Ngoài ra, ba không gian màu này còn có thể tính Hue va Saturation bằng cách sử dụng hàm log cho các thành phần màu của không gian màu RGB Phương pháp này có thể làm giảm sự dộc lập của các thành phần màu theo mức sáng
Hệ tọa độ giữa Hue và Saturation có thể gây ra nhiều khó khăn trong mô hình màu
da, chính vì vậy người ta còn chuyện nó sang hệ tọa độ Đề các theo công thức sau:
X = S cos H; Y = S sin H
(3.5)
3.1.2.7 Không gian màu TSL
TSL là viết tắt của Tint, Saturation, Lightness Trong đó hai thành phần S, L cũng tường tự như HSL, riêng T là thành phần biểu thị sác thái của màu Trong không gian này, các màu đều cũng được biểu diễn dựa trên 3 thành phần T, S, L này
Không gian chuẩn hóa thành phần màu và độ sáng TSL được chuyển từ không gian chuẩn hóa RGB theo công thức:
[ ]
{
( )
( )
3.1.2.8 Không gian màu Y
Trang 38CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
Y là không gian màu được sử dụng nhiều vấn đề nén ảnh Màu sắc được biểu diễn bởi luma (đó là giá trị độ sáng được tính toán từ không gian RGB), gồm va thành phần, một thành phần là tổng các trọng số từ RGB, hai thành phần màu khác nhau và được tạo ra bằng cách từ hai thành phần Red và Blue trong không gian màu RGB Công thức để chuyển đổi như sau:
L = 0.299R + 0.587g + 0.114B
= R-Y
(3.7)
= B-Y
Việc chuyển đổi đơn giản, tính phân chia rõ ràng của độ sáng và các thành phần màu
là những đặc tính giúp cho không gian nay lôi cuốn các nha nghiên cứu sử dụng cho việc
mô hình hóa màu da
3.1.2.9 Các hệ tọa độ không gian màu khác
Bên cạnh Y , một không gian màu khác được tạo ra từ chuyển đổi tuyến tính không gian RGB được sử dụng trong vấn đề phát hiện màu da Như là YES, YUV hay YIQ Tuy nhiên chúng ít được sử dụng hơn
3.1.3 Mô hình hóa màu da
Mục đích cuối cùng của phát hiện màu da là xây dựng một quy tắc có tính quyết định Đây là quy tắc sẽ giúp phân biệt một điểm ảnh là da hay không phải là da người Thông thường, quy tắc này thiết lập một giá trị đo cho phép tính toán mức độ tương đồng giữa một điểm ảnh màu với đặc trưng màu da Giá trị đo này được thiết lập như thế nào, công thức ra sao tùy thuộc vào từng phương pháp môt hình hóa màu da
3.1.3.1 Xác định ngưỡng cụ thể một điểm ảnh là màu da
Trong một số không gian màu, phương pháp xây dựng và xếp lớp da bằng cách xác định rõ ràng (thông qua một số quy tắc) biên giới các giá trị của điểm ảnh là màu da hay
Trang 39Trong không gian RGB:
(R,G,B) được xếp thuộc lớp màu da nếu như:
Tuy nhiên, với kết quả đạt được, chúng ta vẫn có thể tìm ra được những quy tắc cho phép nhận biết chắc chắn một điểm ảnh không phải là màu da Những quy tắc này có thể được sử dụng làm bước lọc khởi tạo cho các phương phân lớp phức tạp hơn giữa vùng màu da và vùng không phải màu da Nó giúp cho quá trình phân lớp được thực hiện nhanh chóng hơn và đỡ tốn công hơn
3.1.3.2 Phương pháp mô hình hóa màu da sử dụng phân phối không tham số
Ý tưởng chính của phương pháp mô hình hóa màu da không tham số đó là ước lượng phân phối màu da từ dữ liệu huấn luyện mà không xuất phát từ một mô hình rõ ràng nào của màu da Kết quả của phương pháp này thường được biểu diễn dưới dạng một bản đồ phân bố màu da (SPM – Skin Probability Map) Mỗi một giá trị phân bố được gán cho mỗi điểm trong không gian màu
3.1.3.3 Bảng tra cứu chuẩn cứu (LUT – Lookup Table)
Một số thuật toán phát hiện mặt người và bám sát mặt người sử dụng một lược đồ mức xám dựa trên hướng tiếp cận phân vùng các điểm ảnh là màu da Không gian màu được lượng tử hóa thành từng nhóm, mỗi một nhóm đáp ứng cho một khoảng các thành
Trang 40CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ
phân màu Các nhóm lược đồ được tham chiêu tới một bảng gọi là bảng tra cứu Mỗi một nhóm lưu trữ một số lượng lần xuất hiện của một màu khi tiến hành huấn luyện ảnh da người Sau quá trình huấn luyện, biểu đồ sẽ tính toán và chuẩn hóa, chuyển sang giá trị biểu đồ trong phân phối xác xuất miền rời rạc:
3.1.3.4 Phân lớp Bayes (Bayes Classifier)
Giá trị của ) trong công thức (3.6) là một điều kiện xác xuất, | ) xác xuất một màu quan sát c là một pixel màu da Và xác xuất thích hợp được dùng để phát hiện màu da đó là | ) xác xuất quan sát màu được màu da khi xuất hiện một giá trị màu c rời rạc Để tính giá trị này, ta sử dụng công thức Bayes quen thuộc:
| ) | ) )
| ) ) | ) )
(3.9)
Trong đó | )và | ) được tính trực tiếp từ biểu đồ màu da và không màu
da Xác suât toàn phần | )và | ) thì được ước lượng từ một số lượng các mẫu
là màu da và không màu da trong tập huấn luyện Bất đẳng thức | ) , trong đó
là một giá trị ngưỡng, có thể được sử dụng để trở thành quy tắc trong phát hiện màu da Công thức trên đôi khi hơi phức tạp và để có thể tránh điều này, nếu như thực sự không cần phải biết một cách chính xác suất | ) | ) mà chỉ cần biết tỷ số giữa chúng thì ta thường đưa về công thức như sau:
| )
| ) )