NHẬN DẠNG CỬ CHỈ BÀN TAY BẰNG PHƯƠNG PHÁP MẠNG NƠRON (MỚI NHẤT). Áp dụng cho điều khiển truyền hình và một số ứng dụng khác trong kỹ thuật điều khiển tự động như Rôbốt. Hiện tại đã và đang có sức thu hút rất lớn đối với nhiều người trong xã hội ngày nay. Nhìn chung phát triển với tốc độ rất nhanh. Gần đây được áp dụng nhiều trong các ứng dụng khoa học và kỹ thuật.
Trang 1I
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH -VIỄN THÔNG
ĐỒ ÁN 2
NHẬN DẠNG CỬ CHỈ BÀN TAY NGƯỜI BẰNG
PHƯƠNG PHÁP MẠNG NƠ-RON Ngành Công Nghệ Kỹ Thuật Điện Tử Truyền Thông
Sinh viên: ĐẶNG VĂN THUẬN
Trang 2II
LỜI CẢM ƠN
Đồ án môn học 2 được hoàn thành tại khoa Điện – Điện Tử trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Có được đề tài này là dựa trên ý tưởng của nhóm dưới sự hướng dẫn và chỉ bảo tận tình của Thầy Th.s Trương Quang Phúc
Do khoảng thời gian và kiến thức còn hạn hẹp, mặc dù nhóm đã cố gắng hoàn thành đồ án môn học 2 này đúng thời hạn Nhưng không tránh khỏi những thiếu xót mong Quý thầy cô thông cảm Nhóm mong nhận được những ý kiến đóng góp tận tình của quý thầy cô và các bạn
Cuối cùng nhóm thực hiện xin gửi lời chân thành cảm ơn đến Thầy Th.s Trương Quang Phúc đã hướng dẫn và các Thầy (cô) trong khoa Điện - Điện Tử đã tạo điều kiện cho nhóm thực hiện và hoàn thành đề tài này
Tp Hồ Chí Minh, tháng 1 năm 2016
Nhóm sinh viên thực hiện
Đặng Văn Thuận-Nguyễn Ngọc Duy Lâm
Trang 3III
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN 1
1.1 GIỚI THIỆU 1
1.2 LÝ DO CHỌN ĐỀ TÀI 1
1.3 NHIỆM VỤ CỦA ĐỀ TÀI 2
1.4 GIỚI HẠN ĐỀ TÀI 2
1.5 CÁC PHƯƠNG PHÁP THỰC HIỆN 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 XỬ LÝ ẢNH VÀ CÁC VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH 4
2.1.1 Khái niệm xử lý ảnh 4
2.1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh 6
2.2 CÁC KỸ THUẬT XỬ LÝ ẢNH SỐ 11
2.2.1 Mục đích của việc xử lý ảnh số 11
2.2.2 Kỹ thuật nâng cao chất lượng ảnh 11
2.2.3 Kỹ thuật biến đổi ảnh 12
2.2.4 Kỹ thuật phân tích ảnh 12
2.2.5 Kỹ thuật nhận dạng ảnh 12
2.3 CÁC KỸ THUẬT XỬ LÝ ẢNH SỐ 13
2.3.1 Giới thiệu 13
2.3.2 Không gian màu RGB 14
2.3.3 Không gian màu YCrCb 15
2.3.4 Không gian màu HSV 16
2.3.5 Phát hiện bàn tay dựa trên màu da 17
2.4 TỔNG QUAN VỀ BIÊN VÀ CÁC KỸ THUẬT TÁCH BIÊN 20
2.4.1 Tổng quan về biên 20
2.4.2 Kỹ thuật phát hiện biên Gradient 21
2.4.3 Kỹ thuật Gradient 22
2.4.4 Toán tử Robert 22
2.4.5 Toán tử Sobel 23
Trang 4IV
2.5 TỔNG QUAN VỀ MÔ HÌNH MẠNG NƠ-RON 23
2.5.1 Giới thiệu mạng nơ-ron 23
2.5.2 Mạng Perceptron 27
2.5.3 Mạng Perception đa lớp 31
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ KẾT QUẢ MÔ PHỎNG 34
3.1 THIẾT KẾ HỆ THỐNG 34
3.1.1 Sơ đồ khối 34
3.1.2 Yêu cầu về dữ liệu ảnh 36
3.2 TIẾN TRÌNH NHẬN DẠNG 36
36
3.2.1 Chuẩn hóa ảnh đầu vào 37
3.2.2 Trích chọn đặc trưng ảnh 37
3.2.3 Huấn luyện dùng mạng Nơ-ron 39
3.2.4 Xuất kết quả hệ thống nhận dạng cử chỉ 43
3.3 KẾT QUẢ 43
3.3.1 Nhận dạng ảnh tỉnh 43
3.4 ĐÁNH GIÁ ĐỘ CHÍNH XÁC 48
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 50
4.1 KẾT LUẬN 50
4.2 ĐÁNH GIÁ HỆ THỐNG NHẬN DẠNG 50
4.2.1 Ưu điểm 50
4.2.2 Khuyết điểm 50
4.3 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 51
PHỤ LỤC MÃ NGUỒN CHƯƠNG TRÌNH 52
TÀI LIỆU THAM KHẢO 67
Trang 5có thể giao tiếp từ xa mà không cần phải có tiếp xúc với vật lý với máy tính So với các hệ thống điều khiển bằng lệnh âm thanh, một hệ thống thị giác sẽ thích hợp hơn trong môi trường ồn ào hoặc trong trường hợp
âm thanh bị nhiễu
Phát hiện vùng da là một công cụ rất hữu ích trong việc nhận dạng ảnh Nó cho phép nhiều khu vực của một ảnh được loại bỏ một cách nhanh chóng và hiệu quả, mà không lãng phí thời gian để làm tương quan tốn kém hoặc các hình thức tính toán phân tích đắt tiền
khác
1.2 LÝ DO CHỌN ĐỀ TÀI
Nhận dạng các cử chỉ bàn tay người là cách tự nhiên khi tương tác người – máy và ngày nay nhiều nhà nghiên cứu trong các học viện và ngành công nghiệp đang quan tâm đến hướng này Nó cho phép con người tương tác với máy rất dễ dàng và thuận tiện mà không cần phải mang thêm bất kỳ thiết bị nào khác Đã có rất nhiều ứng dụng dựa trên cử chỉ bàn tay như: Thiết kế 3D, điều khiển từ xa, ngôn ngữ ký hiệu… Nhận thấy tác dụng của nhận dạng cử chỉ nên nhóm quyết định chọn đè tài này để nghiên cứu
Trang 62
1.3 NHIỆM VỤ CỦA ĐỀ TÀI
- Tìm hiểu tổng quát về lý thuyết xử lý ảnh
- Tìm hiểu phương pháp mạng nơ-ron tiến hành nhận dạng cử chỉ
- Tìm hiểu và mô phỏng các lệnh liên quan đến đề tài dùng phần mềm matlab
- Các loại không gian màu
- Tổng quan về biên và các kỹ thuật tách biên
- Tổng quan về mô hình mạng nơ-ron
Chương 3: Thiết kế hệ thống và kết quả mô phỏng
Trang 8Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai
trò quan trọng nhất 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 và đồ họa phát triển một cách mạnh mẽ và có nhiều ứng dụng trong
cuộc sống Xử lý ảnh và đồ họa đóng vai trò quan trọng trong tương lai người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm
cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một
ảnh “tốt hơn” hay một kết luận
Hình 2.1: Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là
đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng
trong không gian và nó có thể xem như một hàm n biến P(c1, c2,…., cn) Do đó, ảnh
trong xử lý có thể xem như ảnh n chiều Các bước cơ bản trong hệ thống xử lý ảnh
được mô tả qua hình 1.2
Hình 2.2: Các bước cơ bản trong một hệ thống xử lý ảnh
Sơ đồ trên bao gồm các thành phần sau:
Ảnh “tốt hơn”
Kết luận
Trang 95
- Thu nhận ảnh (Image Acquisition): ảnh có thể nhận qua camera màu hoặc
đen trắng Chất lượng một ảnh thu được phụ thuộc vào thiết bị thu, môi trường (ánh sáng, phong cảnh)
- Tiền xử lý ảnh (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õ hơn, nét hơn
- Phân đoạn ảnh (Segmentation): tách một ảnh đầu vào thành các vùng thành
phần để biểu diễn, phân tích, 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
- Biểu diễn ảnh (Image Representation): đầu ra của ả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 Nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng mịn và càng thể hiện rõ hơn chi tiết của ảnh
- 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ể đượ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 cử chỉ, nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
- 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
Trang 10Định nghĩa: Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (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
Một file ảnh là tập hợp nhiều điểm ảnh được minh họa hình 2.1
Trang 117
Hình 2.4: Mảng hai chiều của một file ảnh
Vậy ảnh được xem như một ma trận tọa độ ảnh Do đó hàm f(x,y) còn có thể biểu diễn dưới dạng ma trận như sau:
f(x,y)=
[
𝒇(𝟎, 𝟎)𝒇(𝟎, 𝟏) … 𝒇(𝟎, 𝑵 − 𝟏)𝒇(𝟏, 𝟎)𝒇(𝟏, 𝟏) … 𝒇(𝟏, 𝑵 − 𝟏) .𝒇(𝑴 − 𝟏, 𝟎)𝒇(𝑴 − 𝟏, 𝟏) … 𝒇(𝑴 − 𝟏, 𝑵 − 𝟏)]
(2.1)
Hay
A =[
𝒂𝟎,𝟎𝒂𝟎,𝟏 … 𝒂𝟎,𝑵−𝟏
𝒂𝟏,𝟎𝒂𝟏,𝟏 … 𝒂𝟏,𝑵−𝟏
𝒂𝑴−𝟏,𝟎𝒂𝑴−𝟏,𝟏 … 𝒂𝑴−𝟏,𝑵−𝟏]
(2.2)
Trong đó, ai,j = f(x=i,y=j)=f(i,j) , với M là số hàng, N là số cột
Trang 128
2.1.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
2.1.2.3 Độ phân giải của ảnh
Độ phân giải (Resolution) 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
Cá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 vì 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
Hình 2.4: Minh họa mức xám sau khi mã hóa
Trang 13Ví dụ, điểm ảnh ở vị trí (10,5,1), (10,5,2), (10,5,3) Các file ảnh hiện nay thường sử dụng 8 bit cho một thành phần màu, nghĩa là mất 24 bit cho mỗi điểm ảnh (khoảng
16 triệu màu) Theo lý thuyết màu do Thomas đưa ra mọi màu đều có thể tổ hợp từ 3 màu cơ bản sau:
Red : (R) = 700nm
Green : (G) = 546.1 nm
Blue : (B) = 435.8 nm
Cũng theo tổ chức quốc tế về chuẩn hóa màu CIE (Commision
Internationaled Eclairage ) đã đưa ra một số tiêu chuẩn để biểu diễn màu
Trang 1511
2.1.2.7 Chuyển ảnh màu RGB thành ảnh mức xám ( Gray level)
Ảnh gốc thường là ảnh màu 24 bit màu nên khó nhận dạng ta cần phải
chuyển về ảnh xám dữ liệu 8 bit để dễ nhận dạng hơn Nghĩa là mỗi pixel được biểu diễn 256 cấp độ xám theo công thức:
X= 0,2125*R + 0,7145*G + 0,0721*B (2.3) Quá trình chuyển đổi mức xám tuy có làm mất đi một số thông tin nhưng cũng có thể chấp nhận được
2.2 CÁC KỸ THUẬT XỬ LÝ ẢNH SỐ
2.2.1 Mục đích của việc xử lý ảnh số
Mục đích đặt ra cho việc xử lý ảnh bao gồm hai mục đích:
Thứ nhất: Biến đổi ảnh hay sự tăng cường ảnh nhằm thu lại ảnh tốt hơn
Để rồi từ đó nhận được nhiều thông tin về ảnh hơn, ta có thể quan sát và đánh giá được
Thứ hai: Nhận dạng ảnh hay đón nhận ảnh một cách tự động
2.2.2 Kỹ thuật nâng cao chất lượng ảnh
Nâng cao chất lượng ảnh là một bước quan trọng tạo tiền đề cho xử lý ảnh Làm nổi bật một số đặc tính của ảnh như thay đổi độ tương phản, lọc nhiễu, nổi biên, làm trơn biên ảnh, nhằm hoàn thiện trạng thái quan sát của một ảnh
Tăng cường ảnh không phải là làm tăng lượng thông tin vốn có trong ảnh làm nổi bật các đặc trưng đã chọn Tức điều chỉnh mức xám của điểm ảnh Dùng phương pháp ánh xạ làm thay đổi giá trị điểm sáng
Khôi phục ảnh bao gồm quá trình lọc ảnh, khử nhiễu do môi trường bên ngoài hay các hệ thống thu nhận, phát hiện và lưu trữ ảnh thu được, thông qua các
bộ lọc trong miền không gian và trong miền biến đổi Nhằm làm giảm bớt các biến dạngđể khôi phục lại ảnh giống như ảnh gốc
Kỹ thuật nâng cao chất lượng ảnh gồm : các kỹ thuật không phụ thuộc vào
Trang 1612
không gian và các kỹ thuật phụ thuộc vào không gian
Kỹ thuật không phụ thuộc vào không gian bao gồm các phép như : tăng giảm
độ sáng, tách ngưỡng, bó cụm, cân bằng histogram, tách ngưỡng tự động, biến đổi cấp xám tổng thể
Kỹ thuật phụ thuộc vào không gian bao gồm các phép như : phép cuộn và
mẫu, lọc trung vị, lọc trung bình,
2.2.3 Kỹ thuật biến đổi ảnh
Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn vị, và các kỹ thuật dùng để biến đổi ảnh làm giảm thứ nguyên của ảnh để việc xử lý ảnh được hiệu quả hơn Có nhiều loại biến đổi được dùng như: biến đổi Fourier, Sin,
Cosin,…
2.2.4 Kỹ thuật phân tích ảnh
Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của một ảnh
để đưa ra một mô tả đầy đủ về ảnh Nhằm mục đích xác định biên của ảnh Có nhiều
kỹ thuật khác nhau như lọc vi phân hay dò theo quy hoạch động Người ta cũng dùng các kỹ thuật để phân vùng ảnh Từ ảnh thu được, người ta tiến hành kỹ thuật tách hay hợp dựa theo các tiêu chuẩn đánh giá như: màu sắc, cường độ… Phương pháp được biết đến như nhị phân hóa đường biên Cuối cùng, phải kể đến các kỹ
thuật phân lớp dựa theo cấu trúc
2.2.5 Kỹ thuật nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta muốn đặc tả nó Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tính chủ yếu của đối tượng Có hai kiểu mô tả đối tượng :
Mô tả tham số ( nhận dạng theo tham số)
Mô tả theo cấu trúc ( nhận dạng theo cấu trúc)
Người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tượng
Trang 17Tấ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 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
Lược đồ xám của ảnh: Một phương pháp thường dùng trong xử lí ảnh số là
xem xét cường độ sáng của ảnh f(x,y) như là biến ngẫu nhiên có hàm phân bố xác suất là pk (f) Hàm phân bố xác suất của ảnh mang thông tin toàn cục về nội dung chứa trong ảnh Tuy nhiên hàm phân bố xác suất tổng quát thường không đáp ứng được do đó thường dùng hàm phân bố xác suất thực nghiệm xác định từ ảnh để thay thế gọi là hàm histogram Histogram của ảnh số với mức xám có tầm trong khoảng [0, L-1] là hàm:
𝑝 𝑘(𝑓
𝑘)=𝑛𝑘𝑛
(2.4)
Với 𝑓𝑘 là mức xám thứ k
𝑛𝑘 là số pixel trong ảnh có mức xám thứ k
𝑛 tổng số pixel trong ảnh 𝑘: 0,1,2,…., L-1
Lược đồ xám bao gồm trục hoành biểu diễn mức xám và trục tung biểu diễn
số lượng điểm sáng tương ứng Đối với ảnh xám thông thường, giá trị của trục hoành nằm trong khoảng từ 0 - 255
Trang 1814
Hình 2.8: Lược đồ histogram
2.3.2 Không gian màu RGB
Hình 2.9: 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 đỏ), 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
(Red-độ khác nhau để tạo ra các màu khác Mô hình RGB được thể hiện bởi một hình lập phương Trong một ảnh 24 bit với 8 bit cho mỗi màu chính thì màu đỏ sẽ có giá trị (255,0,0), màu xanh dương (0,0,255), màu xanh lá (0,255,0) Mô hình này được thiết kế cho phần lớn hệ thống đồ họ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,
Trang 19R >95 và G > 40 và B > 20 Max(R, G, B) - Min(R, G, B) > 15 (2.5)
2.3.3 Không gian màu YCrCb
YCrCb được định nghĩa nhằm phục vụ các mục đích xử lý video số Nó có quan hệ với một số không gian màu như YIQ, YUV Trong khi YCrCb là hệ thống màu số thì các không gian YIQ và YUV là hệ thống tương tự phục vụ cho các chuẩn PAL và NTSC Các không gian màu này sẽ chia RGB ra các thành phần chói, và thành phần màu nhằm sử dụng cho các ứng dụng nén ảnh Do đó chúng thường được sử dụng trong các hệ thống truyền hình
Hình 2.10: Không gian màu YcrCb
Trang 2016
YcrCb là không gian màu được sử dụng nhiều trong vấn đề nén ảnh màu sắc được biểu diễn bởi luma(đó là giá trị độ sáng tính từ không gian RGB).Gồm ba 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 Red
và Blue trong không gian màu RGB Công thức để chuyển đổi như sau:
Y = 0.299R +0.587G + 0.114B (2.6) {𝐶𝑟 = 𝑅 − 𝑌
Điều kiện để phân tách màu da
13585
80
Cr Cb
Y
Với Y,Cb,Cr[0 255] (2.9)
2.3.4 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-Đỏ
Bão hòa màu để chỉ cường độ sáng của màu Một màu có độ bão hòa lớn nhất
có thể xem như một màu tinh khiết và “sâu”, cũng như khi chúng ta giảm độ bão hòa, những màu sắc sẽ bị xóa dần cho đến khi đạt giá trị không nó sẽ trở thành màu trắng
Theo lý thuyết một không gian HSV có hình dáng như một hình nón Nếu quan sát ở mặt phẳng các đường tròn bao quanh hình nón, các giá trị về màu sắc (Hue) sẽ được thể hiện bởi góc của mỗi màu so với trục hình nón, (trục hình nón sẽ được gán với màu đỏ) Độ bão hòa màu được thể hiện như là khoảng cách từ tâm các đường tròn Độ bão hòa lớn nhất nằm ở biên của hình nón Độ sáng được mô tả bởi vị trí theo chiều dọc hình nón Ở vị trí đỉnh của hình nón, sẽ không có bất kì độ sáng nào Và ở đáy của nón, độ sáng sẽ lớn nhất
Trang 2117
Hình 2.11: Không gian màu HSV
Có rất nhiều ứng dụng sử dụng mô hình HSV Các hệ thống nhận diện sử dụng HSV để phát hiện màu vật thể Các thuật toán xử lý ảnh như biến đổi độ sáng,
xử lý lược đồ xám…sử dụng thành phần độ sáng của ảnh
Cũng giống như không gian YcbCr, không gian HSV cũng có nhiều thuận lợi hơn RGB trong việc phát hiện bàn tay dựa trên màu da Bằng việc trích xuất thành phần sắc màu, hệ thống có thể dễ dàng nhận biết được các vùng không da để loại bỏ theo luật 19<H<240 (vùng không phải da) Tuy nhiên, việc xử lý màu da, ảnh thu nhận được phải chỉ vùng da duy nhất là bàn tay hoặc phải áp dụng thêm một số thuật toán như xác định kích thước, hình dạng…để loại bỏ các vùng da không thuộc bàn tay như tay, chân…
Ưu điểm và nhược điểm phát hiện màu da dựa trên không gian màu
Phương pháp chỉ dựa trên cảm nhận chung của con người về các
ngưỡng, chưa có một lý thuyết, giải thuật cụ thể thống nhất để cho kết quả tổng quát và chính xác nhất
2.3.5 Phát hiện bàn tay dựa trên màu da
Nhận dạng ảnh là một trong những kỹ thuật quan trọng trong xử lý ảnh số Sự phát triển của máy tính, hệ thống nhúng, mạng Nơron đã kéo theo nhiều ứng dụng dựa trên việc nhận dạng Một trong những ứng dụng đó là việc phát hiện và nhận diện cử chỉ bàn tay Kỹ thuật nhận diện cử chỉ bàn tay đã và đang được nghiên cứu
Trang 2218
trong những năm gần đây với nhiều giải thuật nhằm tăng tốc độ cũng như là tính chính xác của việc nhận diện
Sử dụng không gian màu RGB để phát hiện bàn tay
Trong không gian màu RGB, phương pháp xây dựng và xếp lớp màu 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 không Ngưỡng điểm ảnh được cho là phù hợp với màu da:
R >95 và G > 40 và B > 20 Max(R, G, B) - Min(R, G, B) > 15 (2.10)
là tìm được chính xác nhất vị trí bàn tay Các kỹ thuật phát hiện bàn tay hiện tại dựa trên những đặc điểm chung của con người như: hình dạng, màu da, … Trong giới hạn đề tài, người thực hiện sẽ giới sẽ thực hiện phương pháp phổ biến trong phát hiện bàn tay ở các hệ thống: phương pháp phát hiện bàn tay dựa trên đặc trưng màu
da
Kỹ thuật phát hiện dựa trên màu da là một kỹ thuật đơn giản và tương đối hiệu quả cho việc phát hiện và tìm kiếm vị trí bàn tay trên ảnh Kỹ thuật này sẽ tìm kiếm những điểm ảnh có đáp ứng gần với màu da người nhất và loại bỏ các vùng khác trên ảnh Quá trình đề nghị cho kỹ thuật phát hiện bàn tay dựa trên màu dựa trên các bước sau:
Trang 2319
Hình 2.12: Sơ đồ tổng quát quá trình phát hiện bàn tay
Chức năng của các khối:
Ảnh đầu vào: ảnh bàn tay cần đưa vào để nhận dạng
Xử lý nâng cao chất lượng ảnh: ảnh vào có thể bị nhiễu dẫn đến biểu
diễn thông tin đối tượng trong ảnh không chính xác, do vậy dùng bộ lọc
để xử lý
Trích các thành phần không gian RGB của ảnh: phân tích các thành phần R,G,B của ảnh
So sánh giá trị ngưỡng phù hợp với màu da: từ các thành phần R,G,B
của ảnh đã được xác định đem so sánh với giá trị ngưỡng được cho là phù
hợp với màu da của không gian RGB
Xác định vị trí và tách bàn tay: Sau khi so sánh sử dụng các thuật toán
ẢNH
SO SÁNH VỚI GIÁ TRỊ NGƯỠNG PHÙ HỢP MÀU DA
XÁC ĐỊNH VỊ TRÍ TÁCH
BÀN TAY
Trang 2420
Ý tưởng thuật toán:
Ảnh nhị phân thu được, lấy các điểm ảnh trắng ( ảnh bàn tay) Ta tiến hành theo các bước:
+ Quét theo cột từ trái sang phải, quét theo hàng từ trên xuống dưới, tính tổng các pixel
+ Xác định chiều rộng ( W) : W = Cmax – Cmin (Cmax ,Cmin là vị trí cột có tổng
Các đặc trưng của ảnh thường bao gồm các thành phần như: mật độ xám, phân
bố xác suất, phân bố không gian, biên ảnh Biên là một vấn đề chủ yếu và đặc biệt quan trọng trong phân tích ảnh vì các kĩ thuật phân đoạn ảnh chủ yếu dựa vào biên
2.4.1.1 Tìm hiểu về biên của ảnh
Hiện nay có nhiều định nghĩa về biên ảnh và mỗi định nghĩa được sử dụng trong một số trường hợp nhất định Song nhìn chung, ta có thể hiểu là:
Một điểm ảnh có thể coi là biên nếu ở đó có sự thay đổi đột ngột về mức xám
Ví dụ: Đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu nó là điểm đen có
ít nhất một điểm trắng bên cạnh
Tập hợp các điểm biên tạo thành biên, hay còn gọi là đường bao của ảnh (boundary) Chẳng hạn, trong một ảnh nhị phân, một điểm có thể được gọi là biên nếu đây là một điểm đen và có ít nhất một điểm trắng nằm trong lân cận điểm đó Mỗi một biên là một thuộc tính gắn liền với một điểm riêng biệt và được tính toán từ những điểm lân cận nó Đó là một biến Vector bao gồm hai thành phần:
Độ lớn của Gadient
Hướng φ được quay đối với hướng Gradient ψ
Trang 2521
2.4.1.2 Vai trò của biên trong nhận dạng
Đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích nhận dạng ảnh Người ta sử dụng đường biên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng dùng các vùng ảnh để tìm đường phân cách
Như đã đề cập tới ở phần tổng quan về một hệ thống nhận dạng và xử lý ảnh, quá trình nhận dạng có hai giai đoạn cần thực hiện:
Giai đoạn học: Các đặc điểm của đối tượng mẫu được lưu trữ (gọi là học mẫu) và tập các phần tử mẫu được chia thành các lớp
Giai đoạn nhận dạng: Khi có đối tượng cần nhận dạng, các đặc điểm của đối tượng sẽ được trích chọn và sử dụng hàm quyết định để xác định đối tượng cần nhận dạng thuộc lớp nào
2.4.2 Kỹ thuật phát hiện biên Gradient
Kỹ thuật Gradient là kỹ thuật dò biên cục bộ dựa vào cực đại của đạo hàm Đây
là phép toán lấy đạo hàm bậc nhất trong không gian hai chiều
Theo định nghĩa, gradient là một véctơ có các thành phần biểu thị tốc độ thay đổi giá trị mức xám của điểm ảnh, ta có:
dy
y x f dy y x f fy y
y x f
dx
y x f y dx x f fx x
y x f
),(),
()
,(
),(),()
,(
Tuy ta nói là lấy đạo hàm nhưng thực chất chỉ là mô phỏng và xấp xỉ đạo hàm bằng các kỹ thuật nhân chập (cuộn theo mẫu) vì ảnh số là tín hiệu rời rạc nên đạo hàm không tồn tại
Gradient trong tọa độ góc (r,θ), với r là vectơ, θ là góc
sin'cos')
,(
y
f dr
dy y
f dr
dx x
f dr
r df
Tức: f'xcos f'y sin 0 hay:
Trang 26'cossin
y x y
x
f f f
va y
f
x f arctg r
f
f tg
)),(()
,(
),(),()
,(
2
0 2
2 2
1
n m g artg n
m
A n m g n m g n m g
1
0 g m n g m n
Việc xấp xỉ đạo hàm bậc nhất theo các hướng x và y được thực hiện thông qua
2 mặt nạ nhân chập tương ứng sẽ cho ta các kỹ thuật phát hiện biên khác nhau
2.4.4 Toán tử Robert
Robert áp dụng công thức tính Gradient tại điểm (x, y) như hình sau:
Với mỗi điểm ảnh I(x,y) đạo hàm theo x, y được ký hiệu tương ứng: gx, gy:
),()1,(
),(),1(
y x I y
x I g
y x I y x I g y
Trang 270 1
( , ) , ( , )
) , ( )
, (
2 1
2 1
1
n m g n m g Max
A
n m g n m g
2 0 2
1 0 1
0 0 0
1 2 1
2.5 TỔNG QUAN VỀ MÔ HÌNH MẠNG NƠ-RON
2.5.1 Giới thiệu mạng nơ-ron
2.5.1.1 Mạng Nơ-ron sinh học
Nơ-ron là thành phần cơ bản của bộ não con người Sơ đồ cấu tạo của một nơ-ron sinh học gồm có ba thành phần chính được mô tả ở hình 3.2
Hướng ngang (x) Hướng dọc (y)
Trang 2824
Hình 2.13: Mô hình 2 Nơ-ron sinh học
Thân nơ-ron (Cell body): nhân của nơ-ron được đặt ở đây
Các nhánh (Dendrite): đây chính là các mạng dạng cây của các dây thần kinh
để nối các cell body với nhau
Sợi trục (Axon): Đây là một kết nối hình trụ dài và mang các tín hiệu từ đó
ra ngoài Phần cuối của axon được chia thành nhiều nhánh nhỏ kết thúc trong một cơ quan nhỏ hình củ hành được gọi là synapse mà tại đây các nơ-ron đưa các tín hiệu của nó vào các nơ-ron khác Những điểm tiếp nhận với các synapse trên các nơ-ron khác có thể ở các dendrite hay chính cell body
Các tín hiệu đưa ra bởi một synapse và được nhận bởi các dendrite là các kích thích điện từ Việc truyền tín hiệu như trên liên quan đến một quá trình hóa học phức tạp mà trong đó các chất truyền đặc trưng được giải phóng từ phía gửi của nơi kết nối Điều này làm tăng hoặc giảm hiệu điện thế bên trong nhân của nơ-ron nhận nơ-ron nhận sẽ kích hoạt (fire) nếu điện thế vượt khỏi một ngưỡng nào đó và một xung (hoặc điện thế hoạt động ) với độ mạnh ( cường độ ) và thời gian tồn tại cố định được gửi ra ngoài thông qua axon tới phần nhánh của nó rồi tới các chổ nối synapse với các nơ-ron khác Sau khi kích hoạt, nơ-ron sẽ chờ trong một thời gian được gọi là chu kì, trước khi nó có thể được kích hoạt lại Synapse là hưng phấn ( excitatory ) nếu chúng cho phép các kích thích truyên qua gây ra tình trạng kích hoạt ( fire ) đối với nơ-ron nhận Ngược lại, chúng là ức chế ( inhibitory ) nếu các kích thích truyền qua làm ngăn trở trạng thái kích hoạt ( fire ) của nơ-ron nhận
2.5.1.2 Mạng Nơ-ron nhân tạo
Mạng neuron nhân tạo, Artificial Neural Network (ANN), là một mô hình xử
lý thông tin phỏng theo cách thức xử lý thông tin của các hệ neuron sinh học ANN được ứng dụng rộng rãi trong lĩnh vực khoa học máy tính, cụ thể là các dạng bài toán phân lớp: dự đoán, nhận dạng,… ANN được tạo nên từ một lượng các phần tử
Trang 2925
(neuron) kết nối với nhau thông qua các trọng số liên kết Một ANN được cấu hình cho một ứng dụng cụ thể thông qua quá trình học từ tập các mẫu huấn luyện cho trước
Trong vấn đề nhận dạng cử chỉ bàn tay, mạng nơ-ron tỏ ra ưu thế hơn các phương pháp khác (so sánh ảnh biểu tượng tệp với ảnh biểu tượng mẫu có sẵn, xác định hình dạng đường bao,…) ở chỗ tốn rất ít thời gian cho thủ tục tiền xử lý, trích trọn đặc trưng,… Bên cạnh đó, phương pháp này hầu như không bị ảnh hưởng bởi nhiễu trên ảnh biểu tượng, mang tính tổng quát Mặt khác các phương pháp ra quyết định trong nhận dạng truyền thống được cài đặt tĩnh trong chương trình, khi muốn
bổ sung thêm các mẫu học mới cần phải thiết kế lại chương trình Trong khi với mạng nơ-ron, chỉ cần cung cấp một tập mẫu huấn luyện mới là có thể bổ sung vào
“bộ nhớ mạng” những giá trị tính toán mới mà không ảnh hưởng đến cấu trúc
chương trình ban đầu
2.5.1.3 Mô hình mạng nơ-ron
Hình 2.14: Mô hình mạng nơ-ron
Nơ-ron là một đơn vị xử lý thông tin cơ bản cho sự vận hành của mạng nơ-ron
Mô hình nơ-ron gồm có ba phần:
Một tập “synapse” hoặc “nối kết” được tiêu biểu bằng trọng lượng
(weight) của nó Ví dụ, một tín hiệu ở sinapse nhập j kết nối với nơ-ron k sẽ nhân với trọng lượng synapse tương ứng ở trạng thái hoạt động, nếu không nó là âm
Một bộ cộng (adder) để cộng những tín hiệu ngõ vào(input), nhân với trọng lượng tương ứng của synapse của nơ-ron Phép toán này được gọi là phép tổ hợp tuyến tính “ linear combiner”
Trang 30k w x u
Giá trị các nút trong lớp ẩn và trong lớp xuất là giá trị của hàm truyền với tham
số là tổng trọng hóa Về mặt hình học đồ thị của hàm truyền có dạng chữ S nên ta còn gọi là hàm chữ S
Một hàm s(u) là một hàm truyền dạng S nếu nó thỏa:
s(u) là hàm bị chặn Nghĩa là các giá trị của s(u) không bao giờ được vượt quá chặn trên cũng như thấp hơn chặn dưới bất chấp giá trị của u
s(u) là hàm đơn điệu tăng Giá trị của s(u) luôn tăng khi giá trị của u tăng
s(u) là hàm liên tục và trơn Vì hàm s(u) liên tục nên nó không có khe và góc cạnh Do tính liên tục trơn, hàm có đạo hàm và độ dốc của nó rõ ràng và phân biệt tại từng điểm.Mọi hàm thỏa ba tính chất trên đều có thể sử dụng làm hàm truyền
trong mạng Tuy nhiên trong thực tế hàm sigmoid g(u) thường được sử dụng rộng
rãi
Hàm sigmoid được định nghĩa như sau:
u e
u g
11
1)(
k
Trang 31e u
Hàm hyperpol có liên quan mật thiết với hàm sigmoid:
1 ) ( 2 ) (u g u
Hàm tang-hyperpol:
u u
u u
e e
e e
u
0
1 g(u)
Trang 3228
Hình 2.16: Mô hình mạng Perceptron 1 lớp
Khi cho một tập p vectơ mẫu vào , tín hiệu đầu ra là:
Hàm hoạt hóa thường được sử dụng trong mạng Perceptron 1 lớp là hàm
hardlim, khi đó tín hiệu đầu ra sẽ là:
y
Trang 33Hình 2.17: Biên quyết định trong không gian mẫu
Biên quyết định được xác định bởi các vectơ đầu vào tương ứng với
bằng không Do đó biên quyết định được xác định bằng phương trình sau:
0 ,
2 1 , 1 1 ,
i net W P b w p w p w p b
(kết quả đích) Như vậy luật học này thuộc loại được giám sát
Luật học Perceptron được mô tả như sau:
Bước 1:Cung cấp tập huấn luyện gồm K cặp mẫu vào và kết quả ra đích
Bước 2: Đặt các giá trị ban đầu bất kỳ cho các trọng số và hệ số bias
Trang 3430
Bước 3: Lần lượt cho các mẫu lan truyền qua mạng được vectơ tín hiệu
Bước 4: Tính các sai số tại các đầu ra của mạng theo công thức sau:
với t i là kết quả ra đích tại nơ-ron i của lớp ra còn là tín hiệu ra thực tế của nó
Bước 5: Hiệu chỉnh các ma trận trọng số và các hệ số bias của S ron lớp ra:
nơ-S i
P a t W P e W
W i moi i cu i k T i cu (i i) k T , 1 , , (2.26) Bước 6: Mỗi lần hiệu chỉnh xong các ma trận và các bi thì lặp lại bước 3 Quá trình lặp cho đến khi sai số đều bằng 0, tức là khi đó ta sẽ có được ma
trận trọng số và các hệ số bias thích ứng với K mẫu học Cách hiệu chỉnh
tham số của mạng dựa vào sai số e như trên được gọi là phương pháp tối thiểu hóa
lỗi dự đoán (prediction error)
a) Sự hội tụ
Rosenblatt đã chứng minh được phép lặp của quá trình huấn luyện luôn hội tụ về
ma trận trọng số và các hệ số bias mà với chúng mạng hoàn toàn đạt được một sự phân lớp các mẫu như mong muốn Tất nhiên điều kiện ở đây là không gian mẫu phải tồn tại biên quyết định, hay còn gọi là không gian mẫu khả tách tuyến tính (linearly inseparabe).Trong phạm vi luận văn không trình bày về chứng minh này, ở đây chỉ xin đưa ra khái niệm không gian mẫu khả tách tuyến tính
Hình 2.18: Không gian mẫu khả tách tuyến tính
Mạng Peceptron 1 lớp không giải quyết được các bài toán không có khả năng phân lớp mẫu một cách tuyến tính bằng các siêu phẳng, tức là các bài toán không có khả năng tách tuyến tính Một ví dụ kinh điển do Minsky và Papert đưa ra để chứng minh hạn chế của mạng Perceptron đó là tập mẫu học với quan hệ đầu vào/ đầu ra theo hàm XOR
K P K
Trang 3511
,1
00
,0
0
4 4
3 1
2 2
Ta biết rằng một đầu ra của mạng Perceptron phân chia không gian mẫu thành 2S
vùng, như vậy khi có S nơ-ron lớp ra,không gian mẫu sẽ được phân chia thành vùng
Để phân lớp cho một mẫu,ta phải kết hợp kết quả của tất cả các đầu ra Cách kết hợp này giống một hàm logíc Nếu chúng ta sử dụng thêm một lớp nơ-ron làm
nhiệm vụ kết hợp này thì ta được cấu hình mạng Perceptron đa lớp
Hình 2.20: Phân tách không gian mẫu với mạng Perceptron 2 nơ-ron lớp ra
2.5.3 Mạng Perception đa lớp
2.5.3.1 Kiến trúc mạng