Trong những năm gần đây, nhiều loại hệ thống nhận dạng cử chỉ bàn tay đã được đề xuất và phát triển theo hướng thực hành sử dụng vào trong cuộc sống thực cũng như việc nghiên cứu các giả
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐIỆN - ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG
ỨNG DỤNG XỬ LÝ ẢNH TRONG ĐIỀU KHIỂN THIẾT BỊ BẰNG CỬ CHỈ TAY
Trang 2TRƯỜ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
Trang 3BỘ 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
DỤNG KIT RASPBERRY PI
GVHD: ThS.Ngô Quốc Cường SVTH: Ngô Hoài Bảo 12141476
Nguyễn Trung Đạt 12141049
Trang 4LỜI CAM ĐOAN
Đề tài này là do nhóm 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
Nguyễn Trung Đạt
Ngô Hoài Bảo
Trang 5
LỜI CẢM ƠN
Em xin gởi lời cảm ơn sâu sắc đến thầy Ngô Quốc Cường đã trực tiếp hướng dẫn
và tận tình giúp đỡ tạo điều kiện để hoàn thành tốt đề tài
Em xin gởi lời chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tử đã tạo những điều kiện tốt nhất cho em hoàn thành đề tài
Em cũng gửi lời đồng cảm ơn đến các bạn lớp 12141DT2 đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài
Xin chân thành cảm ơn!
Người thực hiện đề tài
Nguyễn Trung Đạt
Trang 6Trang bìa I Nhiệm vụ đồ án II Lịch trình 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 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 3
1.3 NỘI DUNG NGHIÊN CỨU 3
1.4 GIỚI HẠN 3
1.5 BỐ CỤC ĐỀ TÀI 5
Chương 2 CƠ SỞ LÝ THUYẾT 6
2.1 TÌM HIỂU KIT RASPBERRY PI 2(RPI2) 6
2.2 NGÔN NGỮ KÝ HIỆU 7
2.3 TÌM HIỂU XỬ LÝ ẢNH 8
2.3.1GIỚI THIỆU 8
2.3.1.1 Phần thu nhận ảnh (Image Acquisition) 9
2.3.1.2 Tiền xử lý (Image Processing) 9
2.3.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh 9
2.3.1.4 Biểu diễn ảnh (Image Representation) 9
2.3.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) 9
2.3.1.6 Cơ sở tri thức (Knowledge Base) 10
2.3.2 NHỮNG VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH 10
2.3.2.1 Điểm ảnh ( Picture Element) 10
2.3.2.2 Ảnh 10
2.3.2.3 Độ phân giải của ảnh 11
2.3.2.4 Mức xám của ảnh 11
2.3.2.5 Ảnh nhị phân 12
2.3.2.6 Ảnh màu 12
2.3.2.7 Khử nhiễu 12
2.3.2.8 Chỉnh mức xám 12
Trang 72.4 PHÁT HIỆN MÀU DA DỰA VÀO KHÔNG GIAN MÀU 13
2.4.1 GIỚI THIỆU 13
2.4.2 CHUYỂN ẢNH MÀU THÀNH ẢNH XÁM 13
2.4.3 KHÔNG GIAN MÀU 14
2.4.3.1 Không gian màu RGB 15
2.4.3.2 Không gian màu HSV 16
2.5 THUẬT TOÁN ADABOOST VÀ MÔ HÌNH CASCADE 16
2.5.1 ĐẶC TRƯNG HAAR-LIKE 16
2.5.2 ĐẶC TRƯNG HISTOGRAM OF ORIENTED GRADIENTS (HOG) 18
2.5.2.1 Rút trích đặc trưng HOG trong ảnh 19
2.5.2.2 Chuẩn hóa vector đặc trưng cho từng block 22
2.5.3 THUẬT TOÁN TĂNG TỐC ADABOOST 23
2.5.4 MÔ HÌNH CASCADE 26
2.5.4.1 Giai đoạn huấn luyện của bộ phân loại (stage) 28
2.5.4.2 Tầng phân loại (Cascade) 28
Chương 3 TÍNH TOÁN THIẾT KẾ 31
3.1 GIỚI THIỆU 31
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 31
3.2.1 THIIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG 31
3.2.2 TÍNH TOÁN VÀ THIẾT KẾ MẠCH 31
3.2.2.1 Khối nhận dạng cử chỉ 31
3.2.2.2 Khối công suất 33
3.3 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 34
Chương 4 THI CÔNG HỆ THỐNG 35
4.1 GIỚI THIỆU 35
4.2 THI CÔNG 35
4.2.1 DANH SÁCH LINH KIỆN 35
4.2.2 SƠ ĐỒ SẮP XẾP LINH KIỆN 35
4.2.3 SƠ ĐỒ MẠCH IN 36
4.3 LẬP TRÌNH HỆ THỐNG NHẬN DẠNG CỬ CHỈ TAY 37
4.3.1 LƯU ĐỒ GIẢI THUẬT NHẬN DIỆN CỬ CHỈ TAY BẰNG NGƯỠNG MÀU DA 37
4.3.2 QUY TRÌNH HUẤN LUYỆN PHÁT HIỆN BÀN TAY TRÊN MÁY TÍNH 39
Trang 8Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
6.1 KẾT LUẬN 50
6.2 HƯỚNG PHÁT TRIỂN 50
TÀI LIỆU THAM KHẢO
PHỤ LỤC
A HƯỚNG DẪN SỬ DỤNG
B CODE CHƯƠNG TRÌNH
Trang 9LIỆT KÊ HÌNH VẼ
Hình 2.1 Kit Raspberry Pi 2 Model B v1.1 6
Hình 2.2 Cử chỉ bàn tay số từ 1-10 của ASL 8
Hình 2.3 Mô tả các bước cơ bản trong xử lý ảnh 8
Hình 2.4 Ảnh RGB 14
Hình 2.5 Chuyển ảnh màu thành ảnh xám 14
Hình 2.6 Các màu cơ sở 15
Hình 2.7 Không gian màu RGB 15
Hình 2.8 Không gian màu HSV 16
Hình 2.9 Đặc trưng theo cạnh 16
Hình 2.10 Đặc trưng theo đường 17
Hình 2.11 Đặc trưng xung quanh tâm 17
Hình 2.12 Đặc trưng theo đường chéo 17
Hình 2.13 Ảnh chia nhỏ tại vị trí (x,y) 18
Hình 2.14 Tổng giá trị pixel nằm trong vùng A 18
Hình 2.15 R-HOG và C-HOG 19
Hình 2.16 Mỗi khối (block) gồm 9 ô 20
Hình 2.17 Các khối được xếp chồng lên nhau 20
Hình 2.18 Tính góc và biên độ theo X-Gradient và Y-Gradient 21
Hình 2.19 Các bước rút trích đặc trưng trong HOG 22
Hình 2.20 Lược đồ cơ bản của AdaBoost 23
Hình 2.21 Thuật toán học AdaBoost 24
Hình 2.22 Dùng chuỗi Cascade để phát hiện cửa sổ con phù hợp 27
Hình 2.23 Cấu trúc chuỗi Cascade song song 28
Hình 2.24 Cấu trúc của chuỗi cascade nối tiếp, với N giai đoạn học huấn luyện 29
Hình 3.1 Sơ đồ khối hệ thống 31
Hình 3.2 Sơ đồ chân kit raspberry Pi 2 32
Hình 3.3 Camera pi kết nối với kit Raspberry pi 33
Hình 3.4 Sơ đồ nguyên lý khối công suất 33
Hình 3.5 Sơ đồ kết nối khối công suất với kit Raspberry pi 34
Hình 4.1 Sơ đồ sắp xếp linh kiện trên phần mềm 36
Hình 4.2 Sơ đồ sắp xếp linh kiện thực tế 36
Trang 10Hình 4.8 Giao diện Training Image Labeler sau khi thêm hình ảnh tích cực 41
Hình 4.9 Ảnh sau khi xác định ROI 42
Hình 4.10 Tên ROI cần xuất 42
Hình 4.11 Thư mục chứa file L305_GOP MAT, thư mục “po”, “ne” 43
Hình 5.1 Hộp sản phẩm 47
Hình 5.2 Mặt trước hộp sản phẩm 48
Hình 5.3 Kết nối mạch công suất với raspberry pi 49
Trang 11LIỆT KÊ BẢNG
Bảng 1.1 Nội dung nghiên cứu 3
Bảng 1.2 Tập cử chỉ đề xuất 4
Bảng 2.1 Cấu hình Raspberry Pi 2 model B v1.1 7
Bảng 3.1 Bảng linh kiện và dòng điện tiêu thụ 34
Bảng 4.1 Danh sách linh kiện 35
Bảng 4.2 Kết quả mô phỏng 44
Bảng 6.1 Kết luận 50
Trang 12Cùng với sự phát triển của khoa học công nghệ, các thiết bị điện tử đều dần phát triển theo hướng tự động hóa, thông minh, càng hiểu ý con người Trong những năm gần đây, nhiều loại hệ thống nhận dạng cử chỉ bàn tay đã được đề xuất và phát triển theo hướng ứng dụng thực tế có nhiều thành tựu đáng kể
Đề tài thực hiện nhận dạng cử chỉ tay sử dụng phương pháp nhận diện màu da kết hợp với file huấn luyện phát hiện bàn tay được tạo ra từ thuật toán huấn luyện HOG, thuật toán tăng tốc ADABOOST Hệ thống đưa ra gồm có 5 cử chỉ, được thiết
kế sao cho khi phát hiện cử chỉ tay từ camera thời gian thực đưa ra lệnh điều khiển 4 thiết bị
Mô hình nhận dạng chạy trên nền kit Raspberry Pi 2 model B v1.1, sử dụng ngôn ngữ Python và thư viện có sẵn OpenCV
Trong điều kiện môi trường thích hợp (ánh sáng, màu nền đơn giản, không có màu trùng ngưỡng với màu da) kết quả nhận diện khoảng 85%
Trang 13Trong những năm gần đây, nhiều loại hệ thống nhận dạng cử chỉ bàn tay đã được đề xuất và phát triển theo hướng thực hành sử dụng vào trong cuộc sống thực cũng như việc nghiên cứu các giải thuật nhận dạng một cách chính xác hơn:
Nghiên cứu của Chen Chiung Hsieh và Dung Hua Liou về nhận dạng cử chỉ bằng lịch sử chuyển động ảnh [1] Các khung hình được tích lũy trong các hình ảnh lịch sử chuyển động Sử dụng các báo động sai lọc ra nếu số lượng điểm ảnh da phát hiện nhỏ hơn một ngưỡng nhất định Hệ thống được xây dựng trên các khối: Digital Zoom, phát hiện màu da, nhận dạng cử chỉ
Kumar Sarma nghiên cứu nhận dạng cử chỉ bằng găng tay cảm biến Data Glove [2] Bằng việc sử dụng lối ra số của serson gia tốc MEMS gắn liền với các ngón tay và sử dụng vi điều khiển Máy tính phân tích và xử lý thông tin dữ liệu và thực hiện các thuật toán
bàn tay người theo thời gian thực” của nhóm nghiên cứu trẻ thuộc Khoa Công nghệ Thông tin, Học viện Kỹ thuật Quân sự do tiến sỹ Trần Nguyên Ngọc làm
Trang 14tin và điều khiển thiết bị từ xa, điều khiển robot trợ giúp người khuyết tật, tích hợp điều khiển tivi, máy nghe nhạc…
cử chỉ bàn tay sử dụng phân cụm K-MEANS và mạng NƠ-RON” do 2 sinh viên Võ Đắc Thọ và Trần Quang Tráng thực hiện vào năm 2014 [4] Giúp tìm hiểu được tổng quát về xử lý ảnh, tìm hiểu được các phương pháp nhận dạng cử chỉ tay, mô phỏng các tập lệnh liên quan đến đề tài bằng matlab Tuy nhiên đề tài chỉ dừng lại nhiều ở mức lý thuyết và sử dụng mô phỏng để kiểm chứng kết quả nên còn nhiều hạn chế trong thực tế
Bên cạnh đó còn có các đề tài ứng dụng xử lý ảnh về nhận dạng khuôn mặt, điển hình như: “Nhận diện khuôn mặt ứng dụng trong bảo mật và chấm công dùng kít raspberry pi” do 2 sinh viên Duy và Tâm thực hiện năm 2015 [5] Đạt được kết quả nhận diện thành công 95% trong khoảng cách 0.5m, tuy nhiên
ảnh chỉ chụp trong điều kiện ánh sáng bình thường , tốc độ xử lý chậm 5 phút
Tâm thực hiện năm 2014 [6], đã phát hiện được đúng trên 90% với khoảng cách
từ 0.2-1.2 m, nhưng còn tồn tại nhược điểm: Không thể quay trái phải với góc >
40° trên windown và 20° trên kit, chưa đáp ứng được tốc độ hay xử lý có phần hạn chế với người đeo kính,…
Đề tài “Ứng dụng xử lý ảnh trong điều khiển thiết bị bằng cử chỉ tay sử
dụng kit raspberry pi” của nhóm xây dựng với mong muốn góp một phần thúc
đẩy sự phát triển trong nhận dạng cử chỉ, thông qua việc tìm hiểu và kế thừa các thành tựu đã có từ các công trình nghiên cứu trước Về mặt kỹ thuật, đề tài giúp con người tương tác với hệ thống thiết bị, không còn bó buộc trong những cách tương tác truyền thống (như thông qua bàn phím máy tính, con chuột hoặc điện thoại…) mà chuyển sang tương tác trực tiếp bằng cử chỉ Ngoài ra có thể giúp người khiếm thính nhận biết ngôn ngữ qua cử chỉ bàn tay, người có vấn đề về cơ bắp điều khiển một số thiết bị gia dụng, Về mặt nghiên cứu khoa học, hệ thống nhận dạng cử chỉ của nhóm ứng dụng phương pháp tối ưu nhất có đầy đủ tri thức
về nhận dạng và dữ liệu huấn luyện giúp nhận biết được chính xác các dạng cử chỉ,
có khả năng đưa ra kết quả chính xác cao
Trang 15CHƯƠNG 1 TỔNG QUAN
1.2 MỤC TIÊU
Tách được bàn tay một cách nhanh chóng, chính xác, nhận dạng được một số
cử chỉ với nền đơn giản Thiết kế và thi công mô hình, giao diện điều khiển 4 thiết bị bằng cách chụp ảnh bằng camera qua kit raspberry pi 2
1.3 NỘI DUNG NGHIÊN CỨU
Bảng 1.1 Nội dung nghiên cứu
Tuần 1
Tìm hiểu xử lý ảnh và các công trình nghiên cứu liên quan đến đề tài
Trang 16Nhóm thực hiện được nhận diện 4 cử chỉ bàn tay với thời gian thực Được mô
Trang 17CHƯƠNG 1 TỔNG QUAN
Môi trường nhận dạng không phức tạp: Đầy đủ ánh sáng (ánh sáng mặt trời sáng, trưa hoặc đèn chiếu sáng đầy đủ), môi trường ít nhiễu(không có màu tương tự ngưỡng màu da, nền không quá nhiều đồ vật ảnh hưởng đến loại trừ nền trong nhận diện)
Chương 2: Cơ sở lý thuyết
Trong chương này trình bày về kiến thức tổng quát các vấn đề liên quan đến đề tài: Ngôn ngữ ký hiệu, cử chỉ bàn tay, các vấn đề về xử lý ảnh, màu da, thuật toán huấn luyện và đặc tính kĩ thuật của kit Raspberry Pi 2
Chương 3: Tính toán thiết kế
Trong chương này trình bày sơ đồ khối của hệ thống, sơ đồ nguyên lý của toàn mạch và tính toán chi tiết các linh kiện cần sử dụng
Chương 4: Thi công hệ thống
Trong chương này trình bày tổng thể phần cứng, thi công mạch điều khiển, hướng lập trình và kết quả mô phỏng
Chương 5: Kết quả-nhận xét-đánh giá
Trình bày về các mặt làm được cũng như chưa làm được, kết quả thực tế của hệ thống nhận dạng đã làm được
Chương 6: Kết luận và hướng phát triển
Nhận xét tổng quát về đề tài, mở ra hướng phát triển, ứng dụng thực tiễn trong cuộc sống
Trang 18Chương 2 CƠ SỞ LÝ THUYẾT
Ý tưởng để làm cho máy móc hiểu ngôn ngữ con người, cụ thể trong đề tài là
cử chỉ bàn tay, cần phải tìm hiểu đầy đủ tri thức về cách truyền nhận, xử lý hình ảnh cũng như công cụ để xử lý những tín hiệu đưa về, đưa ra các tín hiệu phù hợp Trong chương này, nhóm sẽ trình bày chi tiết và đầy đủ nhất cách tiếp cận và xử lý của đề tài
2.1 TÌM HIỂU KIT RASPBERRY PI 2(RPI2)
Hình 2.1 Kit Raspberry Pi 2 Model B v1.1 [7]
Raspberry Pi được phát triển bởi Raspberry Pi Foundation (Anh) nhằm sử dụng trong giảng dạy kiến thức cơ bản về khoa học máy tính RPI 2 là máy tính siêu nhỏ (to bằng thẻ tín dụng) giá rẻ (khoảng dưới 1 triệu đồng) và tiêu thụ điện năng cực ít (khoảng 3Wh, chỉ bằng 1/13 lần so với bóng điện tuýp 1,2m) Raspberry Pi được phát triển lần đầu vào năm 2009, cho đến năm 2015 là bản Raspberry Pi 2 Model B v1.1
RPI có thể chạy các hệ điều hành nền Linux như Raspbian, OpenELEC, archLinux,…và đặc biệt là Microsoft đã tuyên bố RPI có thể chạy Windows 10 Với vai trò như một máy tính cá nhân, RPI 2 có thể dùng làm những server không yêu cầu năng lực xử lý cao như NAS, Media Server, Firewall,…
Trang 19CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
RPI 2 cũng có thể dùng với webcam, IP cam,…như một hệ thống giám sát với các tính năng phát hiện chuyển động, phát hiện âm thanh,…
Bảng 2.1 Cấu hình Raspberry Pi 2 model B v1.1 [8]
2.2 NGÔN NGỮ KÝ HIỆU
Ngôn ngữ ký hiệu hay ngôn ngữ dấu hiệu, thủ ngữ là ngôn ngữ dùng những biểu hiện của bàn tay thay cho âm thanh của tiếng nói Ngôn ngữ ký hiệu do người điếc tạo ra nhằm giúp họ có thể giao tiếp với nhau trong cộng đồng của mình và tiếp thu tri thức của xã hội
Ngôn ngữ ký hiệu Mỹ (American Sign Language- gọi tắt ASL) là ngôn ngữ dấu hiệu chiếm ưu thế của cộng đồng người khiếm thính tại Hoa Kỳ và trên cả thế giới ASL có nguồn gốc từ những năm đầu thế kỷ 19 trong các trường học dành cho người khiếm thính ở Hartford, Connecticut từ một tình huống tiếp xúc ngôn ngữ [9]
Trang 20Hình 2.2 Cử chỉ bàn tay số từ 1-10 của ASL [10]
2.3 TÌM HIỂU XỬ LÝ ẢNH
2.3.1 GIỚI THIỆU
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó 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 ảnh và phân tích ả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 [11]
Trong xử lý ảnh có các bước cơ bản cần thiết sau: Đầu tiên, ảnh tự nhiên từ thế giới 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 nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh
Hình 2.3 Mô tả các bước cơ bản trong xử lý ảnh
Trang 21CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Sơ đồ này bao gồm các thành phần sau:
2.3.1.1 Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng 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ố hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camera 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 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)
2.3.1.2 Tiền xử lý (Image Processing)
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õ hơn, nét hơn
2.3.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh
phân tích, nhận dạng ả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.3.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 với 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 Selection) 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.3.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Trang 22theo ý 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ể được 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ý 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: - Nhận dạng theo tham số - 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 đang được áp dụng trong khoa học và công nghệ là: Nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
2.3.1.6 Cơ sở tri thức (Knowledge Base)
Ảnh là một đố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ử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được phát huy
2.3.2 NHỮNG VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH
2.3.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ố hoá Số hoá ả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 xám) Khoảng cách giữa các điể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 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, y)
2.3.2.2 Ảnh
Ảnh được xem như là một tập hợp các điểm ảnh
Bất kỳ hình ảnh từ một máy quét hoặc từ một Camera số hay trong máy tính là một hình ảnh kỹ thuật số Hình ảnh máy tính đã được “số hóa”, đây là quá trình chuyển đổi từ hình ảnh màu sắc thực tế thành các dữ liệu số bao gồm các hàng và cột của hàng triệu mẫu màu được đo từ hình ảnh ban đầu
Một máy ảnh kỹ thuật số dùng chip CCD (Change Coupled Device) đằng sau ống kính, CCD bao gồm một mạng lưới các điểm bắt sáng được phủ bằng lớp bọc màu (đỏ - Red, xanh lục – Green, xanh dương – Blue), mỗi điểm ảnh chỉ bắt một màu Do
Trang 23CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
đó khi chụp ảnh (cửa sập mở), ánh sáng qua ống kính và được lưu lại trên bề mặt chip cảm biến dưới dạng điểm ảnh Mỗi điểm ảnh có một mức điện áp khác nhau sẽ được chuyển đến bộ phận đọc giá trị theo từng hàng Giá trị mỗi điểm ảnh sẽ được khuếch đại và được đưa vào bộ chuyển đổi tín hiệu tương tự sang tín hiệu số, cuối cùng đổ vào
bộ xử lý để tái hiện lại hình ảnh đã chụp Chính quá trình đọc thông tin thực hiện theo từng hàng đã làm cho tốc độ xử lý ảnh chậm, thiếu hoặc thừa sáng Đối với máy ảnh
kỹ thuật số dùng chip CMOS tại các điểm bắt sáng có sẵn mạch điện hỗ trợ dễ dàng tích hợp ngay quá trình xử lý điểm ảnh Với cấu trúc này, mỗi điểm ảnh sẽ được xử lý ngay tại chỗ và đồng loạt truyền tín hiệu số về bộ xử lý để tái hiện hình ảnh đã chụp nên tốc độ xử lý nhanh hơn rất nhiều
Cảm biến nhìn thấy màu sắc và độ sáng của từng khu vực nhỏ là lấy mẫu Đó là giá trị màu sắc của từng khu vực được đo và ghi thành giá trị số đại diện cho màu sắc Quá trình này được gọi là số hóa hình ảnh Dữ liệu được tổ hợp thành các hàng và cột
để giữ lại vị trí của từng khu vực hình ảnh Mỗi giá trị dữ liệu đó chính là điểm ảnh Các dữ liệu hình ảnh là bao gồm các giá trị màu RGB số trong một mạng lưới các hàng và cột Khi tất cả các dữ liệu ảnh được kết hợp lại và sao chép liên tiếp, chính xác trật tự cột trên giấy in hoặc hoặc màn hình máy tính, não bộ con người nhận ra hình ảnh ban đầu
2.3.2.3 Độ phân giải của ảnh
Độ phân giải của ảnh là mật độ đ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 * 200 điểm ảnh (320*200) Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn
Trang 24Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255
2.3.2.5 Ảnh nhị phân
Là ảnh chỉ có 2 mức đen trắng phân biệt, tức dùng 1 bit mô tả 21 mức khác nhau Nói cách khác, mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1
Ý nghĩa ứng dụng của ảnh nhị phân: Xử lý dữ liệu và cấu trúc hình học
Cơ sở của các phương pháp xử lý: Lý thuyết tập hợp, đại số logic, lý thuyết hình học…
Nhị phân hóa tạo ảnh nhị phân:
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh:
Nhiều hệ thống: Là nhiễu có quy luật có thể khử bằng các phép biến đổi
Nhiễu ngẫu nhiên: Vết bẩn không rõ nguyên nhân → khắc phục bằng các phép lọc
Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh
2.3.2.9 Nhận dạng ảnh
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong
(2.1)
Trang 25CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
nhiều ngành khoa học khác nhau Mẫu ở đây có thể là ảnh của vân tay, ảnh của một vật nào đó được chọn, một chữ viết, khuôn mặt người …
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ
để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu
2.4 PHÁT HIỆN MÀU DA DỰA VÀO KHÔNG GIAN MÀU
Hạn chế: định ra đường biên vùng không dễ vì bị ảnh hưởng bởi nhiễu, tập ảnh,
độ chiếu sáng…
2.4.2 CHUYỂN ẢNH MÀU THÀNH ẢNH XÁM
Đơn vị tế bào của ảnh số là pixel Tùy theo mỗi định dạng là ảnh màu hay ảnh xám mà từng pixel có thông số khác nhau Đối với ảnh màu từng pixel sẽ mang thông tin của 3 màu cơ bản tạo ra bản màu khả biến là đỏ (R), xanh lá (G) và xanh biển (B) [Thomas 1892] Trong mỗi pixel của ảnh màu, 3 màu cơ bản R, G và B được bố trí sát nhau và có cường độ sáng khác nhau Thông thường, mỗi màu cơ bản được biểu diễn bằng 8 bit tương ứng 256 mức độ màu khác nhau
Trang 26Hình 2.4 Ảnh RGB
Như vậy mỗi pixel chúng ta có 28*3 =224 màu (khoảng 16,78 triệu màu) Đối với ảnh xám, thông thường mỗi pixel mang thông tin của 256 mức xám (tương ứng với 8 bit) như vậy ảnh xám hoàn toàn có thể tái hiện đầy đủ cấu trúc của một ảnh màu tương ứng thông qua 8 mặt phẳng bit theo tọa độ xám
Hình 2.5 Chuyển ảnh màu thành ảnh xám
Trong hầu hết quá trình xử lý ảnh, chúng ta chủ yếu chỉ quan tâm đến cấu trúc ảnh và bỏ qua sự ảnh hưởng của yếu tố màu sắc
2.4.3 KHÔNG GIAN MÀU
Như ta đã biết thì khi cho ánh sáng trắng đi qua lăng kính ta sẽ thu được một dãy phổ màu bao gồm 6 màu rộng: Tím, lam, lục, vàng, cam, đỏ Nếu nhìn kỹ thì sẽ không có ranh giới rõ ràng giữa các màu mà màu này sẽ từ từ chuyển sang màu kia Mắt chúng ta nhìn thấy được là do ánh sáng phản xạ từ vật thể Tất cả các màu được tạo ra từ 3 màu cơ bản (màu sơ cấp) là: Đỏ (R), lam (B) và lục (G) Các màu cơ bản
Trang 27CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
trộn lại với nhau theo một tỉ lệ nhất định để tạo ra các màu thứ cấp Trộn ba màu sơ cấp hoặc trộn một màu thứ cấp với màu sơ cấp ngược với nó sẽ tạo ra được ánh sáng trắng
Hình 2.6 Các màu cơ sở
VD : Đỏ + lam = tím
Lục + lam = xanh
2.4.3.1 Không gian màu RGB
Hình 2.7 Không gian màu RGB
Không gian màu RGB chia các màu ra các thành phần màu chính là R (Red_đỏ), G (Green_xanh lá), B (Blue_xanh dương) Các màu R, G, B được gọi là các màu chính hay màu cơ bản vì ánh sáng của ba màu này có thể phối hợp ở những cường độ khác nhau để tạo ra các màu khác
Trang 28họa, tuy nhiên nó chưa phải là lý tưởng cho các ứng dụng về phát hiện và nhận dạng vật thể Các thành phần màu đỏ, xanh dương, xanh lá có sự liên kết chặt chẽ sẽ gây khó khăn trong việc thực hiện một số thuật toán xử lý ảnh
2.4.3.2 Không gian màu HSV
Không gian HSV bao gồm ba thành phần Hue (sắc màu), Saturation (bão hòa màu) và Value (độ sáng, một số trường hợp có thể gọi là Brightness)
Sắc màu (Hue) thể hiện sự đáp ứng về màu sắc xung quanh thang đo sắc màu Các sắc màu trên thang đo sẽ chạy từ Đỏ-Vàng-Xanh Lá-Xanh lam-Xanh Dương-Tím-
Đỏ
Theo lý thuyết một không gian HSV có hình dáng như một hình nón
Hình 2.8 Không gian màu HSV
2.5 THUẬT TOÁN ADABOOST VÀ MÔ HÌNH CASCADE
2.5.1 ĐẶC TRƯNG HAAR-LIKE
Đặc trưng Haar-like được sử dụng trong việc nhận dạng đối tượng trong ảnh số được phát biểu bởi Viola và Jones gồm 4 đặc trưng cơ bản để xác định một đối tượng trong ảnh Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối chữ nhật mang giá trị “đen” hoặc “trắng” Những khối chữ nhật này thể hiện sự liên hệ tương quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể diễn đạt được
Hình 2.9 Đặc trưng theo cạnh
Trang 29CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Hình 2.10 Đặc trưng theo đường
Hình 2.11 Đặc trưng xung quanh tâm
Hình 2.12 Đặc trưng theo đường chéo
Giá trị của đặc trưng Haar-like được xác định bởi độ chênh lệch giữa tổng các giá trị pixel mức xám nằm trong vùng đen so với vùng trắng
f(x) = Tổng vùng đen (các mức xám của pixel) - Tổng vùng trắng (các mức xám của pixel)
Sử dụng giá trị này, so sánh với các giá trị của các giá trị pixel thô, các đặc trưng Haarlike có thể tăng/giảm sự thay đổi in-class/out-of-class (bên trong hay bên ngoài lớp bàn tay), do đó sẽ làm cho bộ phân loại dễ hơn
Cách dùng “ảnh chia nhỏ” (integral image) giúp tính toán nhanh chóng các đặc trưng Haar-like
Hình chia nhỏ ở vị trí (x,y) bằng tổng các giá trị pixel phía bên trái của tọa độ (x,y) bao gồm:
Trang 30Hình 2.13 Ảnh chia nhỏ tại vị trí (x,y)
Tổng giá trị pixel trong vùng “A”:
Hình 2.14 Tổng giá trị pixel nằm trong vùng A
Tiếp theo, để chọn các đặc trưng Haar-like dùng cho việc thiết lập ngưỡng, Viola và Jones sử dụng một phương pháp máy học được gọi là AdaBoost AdaBoost
sẽ kết hợp các bộ phân loại yếu để tạo thành một bộ phân loại mạnh Với bộ phân loại yếu chỉ cho ra câu trả lời chính xác chỉ hơn viện đoán một cách ngẫu nhiên một chút, còn bộ phân loại mạnh có thể đưa ra câu trả lời chính xác trên 60%
2.5.2 ĐẶC TRƯNG HISTOGRAM OF ORIENTED GRADIENTS (HOG)
HOG là đặc trưng được dùng nhiều nhất trong lĩnh vực phát hiện đối tượng Kỹ thuật này được đề xuất bởi Bill Triggs và Navel Dalal vào năm 2005 tại viện nghiên cứu INRIA
Trang 31CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Ý tưởng chính trong đặc trưng HOG là hình dạng và trạng thái của vật có thể được đặc trưng bằng sự phân bố về gradient (cường độ biến thiên màu/mức xám) và hướng của cạnh Đặc trưng này được phát triển dựa trên SIFT, đặc trưng HOG được tính trên cả một vùng Do sự biến thiên màu sắc trong các vùng là khác nhau, kết quả
là mỗi vùng sẽ cho ra một vector đặc trưng của nó Vì vậy để có đặc trưng của toàn bộ cửa sổ (Window) ta phải kết hợp nhiều vùng liên tiếp lại với nhau
Đặc trưng HOG có một số biến thể thường gặp như: R-HOG, R2-HOG, HOG Các đặc trưng này khác nhau ở cách phân bố và hình dạng các ô như sau:
C-Hình 2.15 R-HOG và C-HOG
C-HOG: Mỗi ô có hình dạng là hình tròn
2.5.2.1 Rút trích đặc trưng HOG trong ảnh
Từ một ảnh cho trước, qua việc rút trích đặc trưng trên ảnh đó cho ta được một vector đại diện cho đối tượng đó Việc rút ra được các vector đặc trưng như vậy giúp chúng ta chuyển không gian ảnh sang không gian vector để có thể xử lí và tính toán đơn giản hơn trên máy tính
Phương pháp tổng quan để tính toán đặc trưng HOG trên một cửa sổ (window) bất kỳ:
Phân chia cửa sổ (window) cần tính HOG thành nhiều khối (block) Mỗi khối gồm nhiều ô (cell) Các ô phải có kích thước bằng nhau, số lượng ô trong mỗi khối là bằng nhau
Các khối này được đặt chồng lên nhau, khoảng cách giữa hai khối con liên tiếp nhau phải là một hằng số
Trang 32Hình 2.16 Mỗi khối (block) gồm 9 ô
Hình 2.17 Các khối được xếp chồng lên nhau
Sau khi đã phân chia cửa sổ cần tính toán HOG như trên Ta tiến hành rút trích đặc trưng như sau:
Tính toán đặc trưng trên từng vùng:
Tính toán đặc trưng trên từng ô nhỏ(cell)
Tính toán đặc trưng trên từng khối (block) bằng cách kết hợp các ô lại với nhau
Thu thập đặc trưng của các vùng trên ảnh:
Tính và chuẩn hóa vector trên từng block
Thu thập các đặc trưng HOG cho các cửa sổ
Sau đây là chi tiết thuật toán rút trích đặc trưng HOG Để minh họa thuật toán, ta
có thể chọn một ví dụ như sau để tính vector đặc trưng HOG và số lượng thành phần của vector đó: Giả sử ta có một ảnh với kích thước là 64x128 pixels Ta chia ảnh này thành các cell với kích thước 8x8 pixels Và ta chọn kích thước của block là 2x2 cell
SCALE, sau đó tiến hành cân bằng histogram trên ảnh GRAY SCALE để giảm
đi sự ảnh hưởng của sự thay đổi ánh sáng
theo chiều X [-1 0 1] và theo chiều Y [
−101] và thu được 2 ảnh gradient-x và gradient-y có kích thước bằng kích thước ảnh GRAY SCALE và cho thấy sự biến thiên màu sắc nói trên
Trang 33CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
gradien-y như hình vẽ:
Hình 2.18 Tính góc và biên độ theo X-Gradient và Y-Gradient
Việc lưu trữ chính xác từng giá trị góc (orientation) của từng vị trí (x,y) không mang lại nhiều kết quả, do vậy ta sẽ chia không gian góc ra thành các pin Việc phân chia pin càng nhỏ sẽ càng làm tăng độ chính xác, thực nghiệm cho thấy kích thước bin khoảng 20° cho kết quả tốt nhất Do đó từ 0 - 180 ta chia thành 9 bin như sau: 20, 21- 40, 41- 60, 61- 80, 81- 100, 101- 120, 121- 140, 141- 160, 161- 180
Bước 4: Ứng với mỗi bin trên ta tiến hành thống kê biên độ (magnitude) tại từng vị trí Với mỗi bin, tại vị trí (x,y) nếu như góc (orientation) thuộc về bin đó thì giá trị của bin đó tại vị trí (x,y) bằng giá trị biên độ, ngược lại giá trị bin tại (x,y) bằng 0
mỗi cell sẽ gồm 9 thành phần tương ứng với 9 bin, và giá trị tại thành phần i bằng tổng giá trị các điểm trong bin I mà có tọa độ nằm trong cell đó
đặc trưng của từng cell trong block lại với nhau để được vector đặc trưng của một block và chuẩn hóa lại các vector đặc trưng của block này Việc chuẩn hóa đặc trưng trong block sẽ được bàn chi tiết ở phần sau Như vậy vector đặc trưng của block sẽ gồm 9x4 = 36 thành phần
Trang 34cách nhau một khoảng bằng kích thước của cell theo mỗi chiều (hoặc bằng phân nửa kích thước của cell) Như vậy vector đặc trưng của window = số block trong window *36 = ((64-16)/8+1)*((128-16)/8+1)*36=7*15*36= 3780 thành phần
Hình 2.19 Các bước rút trích đặc trưng trong HOG
2.5.2.2 Chuẩn hóa vector đặc trưng cho từng block
Để chuẩn hóa vector cho cả window, ta chuẩn hóa đặc trưng cho từng vector của từng block Theo Wei Jiang, ta sử dụng các phương pháp sau để chuẩn hóa vector đặc trưng của từng block
L2-norm:
L1-norm:
(2.3)
(2.4)