1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhận dạng bảng chữ cái ngôn ngữ ký hiệu

42 697 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 2,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhận dạng bảng chữ cái ngôn ngữ ký hiệu

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA TPHCM

KHOA ĐIỆN-ĐIỆN TỬ

ĐỀ TÀI: Nhận dạng bảng chữ cái ngôn ngữ ký hiệu

Giảng viên hướng dẫn : TS Hà Hoàng Kha

Trang 2

TPHCM 9-2016 LỜI MỞ ĐẦU

Tương tác người - máy là một lĩnh vực nghiên cứu thu hút nhiều sự quan tâm của cácnhà khoa học trên thế giới cũng như trong nước trong thời gian gần đây Mục tiêu của các nghiêncứu này nhằm hướng tới các hệ tương tác người – máy, nghĩa là có thể dùng các phương tiệntương tác thông qua cử chỉ, điệu bộ, tiếng nói,… để tương tác giữa người và máy

Hiện tại, con người chủ yếu tương tác với máy tính thông qua chuột và bàn phím Với sựphát triển nhanh chóng của công nghệ và khoa học máy tính, người ta muốn có những sự tươngtác mới dễ dàng hơn, nhanh hơn, tiện lợi hơn cho người sử dụng giống như sử dụng những cửchỉ thông thường của con người hoặc bằng tiếng nói Trên thực tế, một số kỹ thuật trong lĩnh vựcThị giác máy tính và Học máy có thể cho phép máy tính biểu diễn và nhận dạng cử chỉ tay haygiọng nói của con người

Trong đồ án này, chúng em đã phát triển phương pháp sử dụng dữ liệu video độ sâu từkinect, sử dụng thông tin xương (Skeleton) để nhận dạng bảng chữ cái theo cử chỉ bàn tay

Bài báo cáo đồ án này gồm 6 chương

Chương 1: Giới thiệu chung

Chương 2: Hệ thống xử lý ảnh

Chương 3: Nhận dạng với thuật toán Support Vector Machine

Chương 4: Khái quát về nhận dạng và trích chọn đặc trưng theo phương pháp PCAChương 5: Tìm hiểu và ứng dụng của Kinect

Chương 6: Xây dựng hệ thống nhận dạng bảng chữ cái theo ngôn ngữ ký hiệu

Để hoàn thành tốt đồ án này, chúng em xin chân thành cảm ơn tới thầy Hà Hoàng Kha,

đã tạo điều kiện thuận lợi và giúp đỡ chúng em trong suốt quá trình thực hiện

Trang 3

MỤC LỤC 1

CHƯƠNG 1 GIỚI THIỆU CHUNG 1

1.1 Bài toán phát hiện đối tượng 1

1.2 Nhiệm vụ của đề tài 2

1.3 Tổng quát về bài toán nhận dạng ký hiệu bàn tay 3

1.3.1 Các đề tài trong nước 4

1.3.2 Các đề tài trên thế giới 5

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH 7

2.1 Giới thiệu về hệ thống xử lý ảnh 7

2.2 Cơ bản về ảnh và các hàm xử lý ảnh cơ bản trong matlab 9

2.2.1 Các kiểu ảnh trong matlab 9

2.2.1.1 Ảnh index 9

2.2.1.2 Ảnh grayscale 10

2.2.1.3 Ảnh nhị phân 11

2.2.1.4 Ảnh RGB 11

2.2.2 Các hàm xử lý ảnh 12

2.2.2.1 Đọc và ghi dữ liệu ảnh 12

2.2.2.2 Chuyển đổi giữ các kiểu dữ liệu, kiểu ảnh 12

2.2.2.3 Các hàm chuyển đổi giữa các kiểu ảnh 13

2.2.2.4 Thay đổi kích thước ảnh 14

2.2.2.5 Phép quay ảnh 15

2.2.2.6 Trích xuất ảnh 15

CHƯƠNG 3 NHẬN DẠNG VỚI THUẬT TOÁN SUPPORT VECTOR MACHINE 17

3.1 Bài toán phân lớp 17

3.2 Bài toán phân 2 lớp cho SVM 17

3.2.1 SVM cho bài toán phân lớp tuyến tính 19

3.2.2 SVM cho bài toán phân lớp phi tuyến 22

CHƯƠNG 4 KHÁI QUÁT VỀ NHẬN DẠNG THEO PHƯƠNG PHÁP PCA 24

4.1 Khái quát về nhận dạng ngôn ngữ ký hiệu 24

4.1.1 Hệ thống nhận dạng tổng quát 24

Trang 4

4.2 Đặc trưng PCA và bài toán nhận dạng ngôn ngữ ký hiệu 25

4.2.1 Giới thiệu 25

4.2.2 Đặc trưng PCA 25

4.3 Trích chọn đặc trong PCA và huấn luyện 25

4.3.1 Nhận các cử chỉ bàn tay từ cơ sở dữ liệu – tập luyện 25

4.3.2 Tính toán giá trị trung bình 26

4.3.3 Tính ma trận hiệp biến 26

4.3.4 Tính các trị riêng và vector đặc trưng của ma trận hiệp biến 26

4.3.5 Lựa chọn các thành phần và xây dựng vector đặc trưng 27

4.4 Nhận dạng dựa trên đặc trưng PCA ( Gesture Recoginition) 27

4.4.1 Trích rút đặc trưng PCA 27

4.4.2 Chuẩn hóa, trừ đi vector trung bình 27

4.4.3 Đưa vào không gian đặc trưng 27

4.4.4 Tương ứng Φ với  28

4.4.5 Tính khoảng cách er 28

4.4.6 So sánh khoảng cách ngưỡng và rút ra kết luận 28

CHƯƠNG 5 TÌM HIỂU VÀ ỨNG DỤNG CỦA KINECT 29

5.1 Giới thiệu về Kinect 29

5.2 Thư viện SDK 1.0 29

5.3 Tương tác Kinect với Matlab 30

CHƯƠNG 6 HỆ THỐNG NHẬN DẠNG BẢNG CHỮ THEO NGÔN NGỮ KÝ HIỆU 33

6.1 Thiết kế hệ thống theo phương pháp SVM 33

6.2 Phân tích mô hình 33

Trang 5

CHƯƠNG 1 GIỚI THIỆU CHUNG 1.1 Bài toán phát hiện đối tượng

Từ xưa con người luôn mong muốn chế tạo một thiết bị "biết suy nghĩ và làm việc giống

như con người" Hiện nay trên thế giới, nhiều nước phát triển đã chế tạo được những con Robot

có khả năng "suy nghĩ" và "tự hoạt động độc lập" gần giống như con người Để Robot có khả năng

như trên, ngoài các yêu cầu về phần cứng và phần mềm điều khiển thì yếu tố quan trọng không

thể thiếu đó là "thị giác máy tính (Computer Vision)" "Thị giác máy tính" tương tự như "đôi mắt" của con người, nhờ đó Robot có thể "quan sát" được thế giới xung quanh chúng để có thể đưa ra phản

ứng với bên ngoài Đây là hướng nghiên cứu đang được quan tâm hiện nay trên thế giới cũngnhư ở Việt Nam

Nhận dạng cử chỉ (Gesture Recognition) là một hướng nghiên cứu trong lĩnh vực Thị giác máy tính với mục tiêu giúp máy tính có thể hiểu được cử chỉ con người thông qua việc sử

dụng các mô hình toán học Cử chỉ có thể xuất phát từ chuyển động của nhiều bộ phận khác nhautrên cơ thể, nhưng thường thấy nhất là từ gương mặt hoặc bàn tay.Ở nước ta, hoạt động nghiêncứu và thiết kế các hệ thống nhận dạng đang có những bước đầu phát triển trong các trường đạihọc Các đề tài nghiên cứu khoa học và luận văn trước đây chủ yếu tập trung vào các mảng nhưnhận dạng khuôn mặt và cảm xúc trên khuôn mặt, nhận dạng dấu vân tay để hỗ trợ điều khiểntrong các hệ thống an ninh… Tuy nhiên, các đề tài liên quan tới giao tiếp giữa người và máy tínhthông qua cử chỉ bàn tay vẫn còn chưa được phát triển đầy đủ

Hình 1.1 Điều khiển máy tính từ xa bằng tay

Trang 6

CHƯƠNG 1 GIỚI THIỆU CHUNG

Nhận thấy đây là hướng phát triển mới và có tiềm năng ứng dụng cao, đồ án tốt nghiệp đãtập trung vào việc kết hợp những kiến thức về thị giác máy tính và xử lí ảnh số để nhận dạng cửchỉ bàn tay, từ đó sử dụng cho việc nhận dạng bảng chữ cái giúp người khuyết tật giao tiếp vớingười bình thường

Do ưu điểm nổi trội về tốc độ nhận dạng và độ chính xác cao, mô hình machine learning

dùng Principal Component Analysis (PCA) và Support Vector Machine (SVM) được chọn đểthực hiện bộ nhận dạng trong đồ án này Đây là mô hình đủ mạnh để có thể dùng trong các ứngdụng giao tiếp thời gian thực giữa người và máy tính, đồng thời cũng là mô hình được hỗ trợ đầy

đủ trong phần mềm MATLAB do công ty MathWorks cung cấp và phát triển Đồng thời thiết bịđược sử dụng trong việc nhận dạng người trong môi trường thật là Kinect, đây là thiết bị cảmbiến ngoại vi thu chuyển động phát triển bởi Microsoft Với dữ liệu chiều sâu, có thể lấy đượckhung xương của một người khi đứng trước cảm biến Với bộ khung xương đó có thể nhận biếtđược cử chỉ của người sử dụng

Hình 1.1 Thiết bị Kinect Xbox Version 1

1.2 Nhiệm vụ của đề tài

Tìm hiểu tổng quan về xử lý ảnh số, các thuật toán lọc nhiễu, bắt ảnh động cũng như pháthiện chuyển động, xử lý và nhận dạng Tìm hiểu thư viện xử lý ảnh dùng phần mềm MATLAB

Nghiên cứu cơ sở lý thuyết của thuật toán nhận dạng PCA và thuật toán SVM cũng nhưcác quá trình xử lý ảnh số Từ đó thu thập ảnh mẫu và huấn luyện bộ nhận dạng

Tìm hiểu so sánh ưu, khuyết điểm của 2 thuật toán PCA và SVM trong nhận dạng cử chỉ tay

Ý nghĩa thực tế và phạm vi ứng dụng

Hiện nay vấn đề giúp người tàn tật hoà nhập cuộc sống là một vấn đề rất được xã hộ quantâm và ủng hộ Với đề tài này, người câm có thể hoàn toàn giao tiếp với người bình thường thôngqua việc sử dụng ký hiệu ngôn ngữ tay để diễn đạt

Trang 7

Ngoài ra, nhận diện cử chỉ tay có thể được ứng dụng vào công nghiệp, ta có thể chế tạođược các Robot có thể bám theo các cử động của bàn tay để hoạt động trong các môi trường khắcnghiệt mà con người khó tiếp cận như khu vực có phóng xạ cao, khu vực dễ xảy ra tai nạn.Trong lĩnh vực giải trí, ta có thể tích hợp công nghệ xử lý ảnh lên các Smart House, Smart TV,Smart Phone, laptop, v.v… giúp chúng ta tương tác với các thiết bị này hay điều khiển các thiết

bị trong gia đình với các cử chỉ của bàn tay

1.3 Tổng quát về bài toán nhận dạng ký hiệu bàn tay

Bài toán nhận dạng cử chỉ bàn tay có độ khó khá cao do bàn tay là một cấu trúc rất phứctạp với nhiều đốt và khớp khác nhau Điều này đặt ra nhiều thách thức cho quá trình xây dựng đềtài

Để tương tác hiệu quả với người dùng, hệ thống phải đạt được tốc độ nhận dạng đủ nhanh

để có thể hoạt động ở chế độ thời gian thực Kết quả sẽ không được chấp nhận nếu người câmphải chờ nhiều giây để cử chỉ của họ được hiện lên màn hình Đáp ứng nhanh là một trong nhữngyêu cầu quan trọng nhất Bài toán nhận dạng cử chỉ có thể phân thành hai loại chính là nhận dạng

cử chỉ tĩnh và nhận dạng cử chỉ động

di chuyển của bàn tay

liên tục của bàn tay trong một khoảng thời gian xác định

Hệ thống nhận dạng cử chỉ bàn tay trong luận văn này được xây dựng để có khả năng nhậndạng và phân loại các cử chỉ tĩnh khác nhau: trong phạm vi của đồ án hệ thống nhận dạng gồm

26 cử chỉ tương đương với 26 ký tự trong bảng chữ cái

Trang 8

CHƯƠNG 1 GIỚI THIỆU CHUNG

Hình 1.2 Bảng chữ cái ngôn ngữ ký hiệu

1.3.1 Các đề tài trong nước

Ở nước ta, công trình thực hiện nhận dạng cử chỉ bàn tay còn chưa nhiều Đáng chú ý nhất là các đề tài:

Tìm hiểu kỹ thuật phát hiện người trong video để giám sát lớp học" của Nguyễn Xuân

Tường Huy và Nguyễn Hoàng Vũ

Trong luận văn này, họ đã dùng nhiều phương pháp khác nhau như: rút trích đặc trưng, phương pháp phát hiện màu để phát hiện có bàn tay đưa lên trong lớp học

Trang 9

1.3.2 Các đề tài trên thế giới

Ở các nước, các nhà nghiên cứu đã tiếp cận bài toán nhận dạng cử chỉ bàn tay theo rất nhiều hướng khác nhau như dựa vào màu sắc bàn tay, hình dáng bàn tay hay công trình của Viola & Jones dùng các đặc trưng Haar-like

Công trình của J Yao et al

Ứng dụng này tập trung vào việc phát hiện chuyển động của cánh tay trong môi trường lớp học Đây là bài toán khó do phông nền phức tạp và bị tác động bởi nhiễu, điều kiện ánh sáng thay đổi, vật thể cần nhận dạng có số lượng nhiều và kích thước nhỏ Một hệ thống quan sát tinh

vi có khả năng phát hiện khi sinh viên đưa tay lên muốn đặt câu hỏi trong lớp được thực hiện trong công trình này Hệ thống thực hiện khá tốt chức năng phát hiện cánh tay đưa lên trong lớp học, mặc dù cần nhiều cải tiến nữa để tăng độ tin cậy để áp dụng vào thực tế Nhận dạng sai thường rơi vào những trường hợp đặc biệt, ví dụ như sinh viên đứng lên hay đi lại trong lớp, hay khi phông nền có những mảng màu trùng với màu da Độ chính xác 80% còn khá thấp, khó ứng dụng trong điều khiển

Công trình của L Bretzner et al

Công trình giới thiệu các thuật toán và hệ thống dùng để nhận biết và theo dõi cử chỉ bàn tay.Bàn tay được biểu thị thông qua sự phân tầng các đặc điểm màu sắc của hình ảnh ở những kích thước khác nhau cùng những quan hệ về kích thước, vị trí và hướng Với mỗi hình ảnh nhận vào,

hệ thống sẽ phân tích và phát hiện những đặc điểm màu sắc ở những kích thước khác nhau Các trạng thái của bàn tay được phát hiện đồng bộ và theo dõi dùng phương pháp lọc từng phần, dùng kĩ thuật lấy mẫu theo lớp phân tầng Tuy nhiên, công trình này vẫn còn tồn tại nhiều những

khuyết điểm chung của việc nhận dạng thông qua màu da giống như công trình của J Yao et al

đã nêu ở trên

Công trình của B Ionescu et al

Theo phương pháp được đề xuất bởi Freeman and Roth, những kí hiệu tĩnh dùng biểu đồ định hướng cục bộ để phân loại những cử chỉ bàn tay khác nhau Ở đây, ta cần thực hiện một số thao tác huấn luyện, theo đó biểu đồ định hướng được tính toán trên tập huấn luyện có tối thiểu 3mẫu cho mỗi kí hiệu bàn tay Biểu đồ cử chỉ nhận vào sẽ được so sánh với thông số của tập huấn luyện Mỗi cử chỉ được biểu hiện thông qua một chuỗi những những hình ảnh Những kí hiệu động phản ánh những chuyển động và vị trí trong không gian của cử chỉ

Trang 10

CHƯƠNG 1 GIỚI THIỆU CHUNG

Thuật toán cho kết quả nhận dạng 100%, nhưng chỉ làm việc được trong điều kiện đơn giản hóa phông nền và tốc độ nhận dạng vẫn còn chậm

Công trình của P Viola et al.

Công trình này mô tả phương pháp nhận dạng vật thể có thể xử lí ảnh với tốc độ rất nhanh tỉ

lệ phát hiện đúng vật thể rất cao Viola và Jones đã đề xuất 3 điểm nổi bật

Thứ nhất là khái niệm "Integral Image" cho phép tính toán các đặc điểm nhận dạng rất nhanh Thứ hai là thuật toán AdaBoost cho phép lựa chọn những đặc điểm quan trọng và những tầng phân loại hoạt động hiệu quả

Cuối cùng là phương pháp kết hợp những bộ phân loại thành những tầng cho phép những vùng phông nền không chứa vật thể bị loại nhanh ngay từ những tầng đầu và dành nhiều thời gian hơn vào việc tính toán những vùng ảnh có khả năng chứa vật thể Cách tiếp cận mới này chophép giảm thời gian tính toán trong khi vẫn đảm bảo được tỉ lệ nhận dạng cao khoảng gần 94%, tốc độ tăng khoảng 15 lần so với các công trình trước đó Do những đặc điểm nổi trội trên nên

mô hình có thể được áp dụng cho các ứng dụng nhận dạng thời gian thực

Trang 11

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH2.1 Giới thiệu về hệ thống xử lý ảnh

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 các 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 cho nó

Hình 2.1 Hệ thống xử lý ảnh

Thường ảnh nhận qua camera là ảnh tương tự, cũng có loại camera đã số hoá

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 để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trênphong 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

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ânbiệ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

Trang 12

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH

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

các khâu tiếp theo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ rất lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hóa) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region)

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 su y 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…

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

Trang 13

Hình 2.2: Sơ đồ phân tích, xử lí ảnh và lưu đồ thông tin giữa các khối

2.2 Cơ bản về ảnh và các hàm xử lý ảnh cơ bản trong matlab

2.2.1 Các kiểu ảnh trong matlab

2.2.1.1 Ảnh index

Ảnh được biểu diễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trận màu (còn gọi là bản đồ màu) map Ma trận dữ liệu có thể thuộc kiểu uint8, uint16 hoặc double Ma trận màu là một ma trận kich thước m x 3 gồm các thành phần thuộc kiểu double có giá trị trong khoảng [0 1] Mỗi hàng của ma trận xác định thành phần red, green, blue của một màu trong tổng

số m màu được sử dụng trong ảnh Giá trị của một phần tử trong ma trận dữ liệu ảnh cho biết màu của điểm ảnh đó nằm ở hàng nào trong ma trận màu

Trang 14

Hình 2.4 Ảnh xám

Trang 15

Hình 2.6 Biểu diễn ảnh RGB

Trang 16

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH

2.2.2 Các hàm xử lý ảnh

2.2.2.1 Đọc và ghi dữ liệu ảnh

Hàm imread đọc các file ảnh với bất kỳ các định dạng ảnh đã biết hiện nay và lưu lại

dưới dạng một ma trận biểu diễn ảnh trong Matlab

Cú pháp : A=imread(filename,fmt)

Hàm imwrite cho phép lưu một ảnh biểu diễn bằng một ma trận trong Matlab thành một

file ảnh dưới một trong các định dạng đã biết

Cú pháp : imwrite(A,filename,fmt)

Hàm imfinfo dùng để xem các thông số của một file ảnh nào đó

Cú pháp :imfinfo(filename,fmt) Các thông tin được cung cấp bởi hàm imfinfo là :

filename, filemoddate, filesize, format, formatversion, width, height, bitdepth, colortype

2.2.2.2 Chuyển đổi giữ các kiểu dữ liệu, kiểu ảnh

 Chuyển đổi giữa các kiểu dữ liệu ảnh

Matlab cung cấp sẵn các hàm thực hiện chuyển kiểu cho các ma trận biểu diễn ảnh, bao

gồm : im2double, im2uint8 và im2uint16 Tuy nhiên, khi thực hiện chuyển kiểu giữa các dữ

liệu ảnh cần lưu ý một số điều sau:

Khi chuyển từ một kiểu dữ liệu dùng nhiều bit sang một kiểu dữ liệu dùng it bit hơn thì một số thông tin chi tiết về bức ảnh ban đầu sẽ bị mất

Không phải lúc nào cũng có thể chuyển đổi kiểu dữ liệu đối với kiểu ảnh indexed, vì các giá trị của ma trận ảnh xác định một địa chỉ trong bản đồ màu chứ không phải là giá trị màu, do

đó không thể lượng tử hóa được

Trang 17

2.2.2.3 Các hàm chuyển đổi giữa các kiểu ảnh

Gray2ind [X,MAP] = gray2ind(I,N)

[X,MAP] = gray2ind(BW,N)

Chuyển đổi ảnh nhị phân BW hoặc ảnhintensity thành ảnh index thông qua ma trận màu tuyến tính gray(N)

grayslice X=grayslice(I,N)

X=grayslice(I,V

Chuyển đổi ảnh trắng đen thành ảnh indexbằng cách lấy ngưỡng Các giá trị ngưỡng được xác định bởi vector V hoặc bởi N (khi đó các giá trị ngưỡng là 1/n, 2/n, (n-1)/n)

ind2gray i = ind2gray(x,map) Chuyển đổi ảnh index I với ma trận màu

rgb2ind(rgb,tol)

Chuyển ảnh RGB rgb thành ảnh index [x,map]:

TH1: N<=65535, số màu tối đa là NTH2: mỗi pixel được xấp xỉ đến màu gần giống nhất trong bản màu map

TH3: tol ∈ [0,1], số màu tối đa:

(floor(1/tol)+1)^3

Trang 18

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH

2.2.2.4 Thay đổi kích thước ảnh

Hàm imresize cho phép người sử dụng thay đổi kích thước của ảnh Ngoài kích thước

ảnh mới, người sử dụng còn có thể xác định phương pháp nội suy sẽ dùng và loại bộ lọc dùng để chống aliasing

b = imresize(a,m,Method)

Dòng lệnh trên tạo ảnh mới b có kích thước gấp m lần ảnh gốc a Method là một chuỗi xác định phương pháp nội suy sẽ dùng: ‘nearest’ (lân cận gần nhất), ‘bilinear’ (song tuyến tính) hoặc ‘bicubic’ Phương pháp mặc định là ‘nearest’ Thay vì xác định tỷ số m,

ta có thể xác định trực tiếp kích thước ảnh mới theo đơn vị pixel bằng cách dùng cú pháp:

b = imresize(a,[mrows mcols],method)

Trong đó mrows và mcols là số cột và số hàng của ảnh mới Hoặc ta cũng có thể xác định cụ thể bậc của bộ lọc chống aliasing (kích thước mặc định là 11x11) hoặc cung cấp cụ thể đáp ứng xung h của bộ lọc theo các cú pháp dưới đây:

Trang 19

2.2.2.5 Phép quay ảnh

Để thực hiện các phép quay ảnh, ta có thể sử dụng hàm imrotate Ngoài hai thông số cơ

bản là ảnh gốc và góc quay, người sử dụng cũng có thể xác định phương pháp nội suy sẽ dùng,

và kích thước của ảnh mới (đủ lớn để chứa ảnh mới hay chỉ bằng kích thước ảnh cũ).Thông số mặc định là ‘nearest’ (lân cận gần nhất) và ‘loose’ (tăng kích thước nếu cần) Trong trường hợp tăng kích thước, các điểm ảnh ở ngoải phần ảnh gốc sẽ được set về 0 (màu đen) Dưới đây là

cú pháp của hàm này, với Bbox là chuỗi xác định kích thước ảnh mới

Cú pháp:

b = imrotate(a,angle,Method,Bbox)

Hình 2.8 Minh hoạ phép quay ảnh

2.2.2.6 Trích xuất ảnh

Khi cần trích xuất một phần của ảnh gốc, ta dùng hàm imcrop Khi sử dụng hàm này,

người sử dụng có thể có hai lựa chọn: xác định cụ thể vị trí của phần ảnh cần trích (dưới dạng hình chữ nhật) bằng cách cung cấp các thông số vị trí khi gọi hàm hoặc sử dụng mouse để chọn phần ảnh cần trích xuất Nếu chọn cách thứ nhất, ta dùng cú pháp như sau:

x2 = imcrop(x,map,rect) % Ảnh indexed

a2 = imcrop(a,rect) % Ảnh grayscale hoặc RGB

Trong đó rect = [Xmin Ymin width height], với (Xmin,Ymin) là toạ độ góc trên bên trái của phần ảnh cần trích, width và height là chiều rộng và chiều cao của phần ảnh cần trích

Nếu dùng cách thứ hai, ta không cần cung cấp thông số rect, khi thực hiện hàm này, con trỏ sẽ chuyển sang dạng chữ thập, người dùng sẽ drag chuột để chọn phần ảnh cần trích sao đó

thả chuột Hàm imcrop sẽ trả về phần ảnh nằm trong phạm vi xác định bởi mouse

Trang 20

CHƯƠNG 2 HỆ THỐNG XỬ LÝ ẢNH

Nếu không cung cấp thông số ảnh gốc, hàm imcrop sẽ mặc định chọn ảnh trên hệ trục

tọa độ hiện hành Ngoài ra, trong trường hợp xác định bằng mouse, người sử dụng có thể truy xuất các thông tin về vị trí và kích thước của phần ảnh đã chọn bằng cách yêu cầu thêm các output của hàm này:

[A2,rect] = imcrop(A)

[X2,rect] = imcrop(X,map)

Trang 21

CHƯƠNG 3 NHẬN DẠNG VỚI THUẬT TOÁN SUPPORT

VECTOR MACHINE 3.1 Bài toán phân lớp

Phân lớp (classification) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước Các mẫu dữ liệu hay các đối tượng được xếp vào các lớp dựa vào giá trị của các thuộc tính (attributes) cho một mẫu dữ liệu hay đối tượng Sau khi đã xếp tất cả các đối tượng đã biết trước vào các lớp tương ứng thì mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối tượng chứa trong lớp đó

Quá trình phân lớp còn được gọi là quá trình gán nhãn cho các tập dữ liệu Nhiệm vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình (bộ) phân lớp để khi có một dữ liệu mới vào thì mô hình phân lớp sẽ cho biết dữ liệu đó thuộc lớp nào Có nhiều cách để biểu diễn một mô hình phân lớp và có rất nhiều thuật toán giải quyết nó Các thuật toán phân lớp tiêu biểu bao gồmnhư mạng neural, cây quyết định, suy luận quy nạp, mạng Beyesian, Support V ector Machine (SVM), … Trong các kỹ thuật đó, SVM được coi là công cụ mạnh, phổ biến và đặc biệt thích hợp cho phân lớp dữ liệu lớn và nhiều chiều

3.2 Bài toán phân 2 lớp cho SVM

Hình thức đơn giản của việc phân lớp là phân lớp nhị phân: phân biệt giữa các đối tượng thuộc về một trong hai lớp: dương (+1) hoặc âm (-1) SVMs sử dụng hai khái niệm để giải quyết vấn đề này: phân lớp biên rộng và hàm kernel Ý tưởng của phân lớp biên rộng có thể được minhhọa bởi sự phân lớp của các điểm trong không gian hai chiều (Hình 1) Một cách đơn giản để phân lớp các điểm này là sử dụng một đường thẳng để phân tách các điểm nằm ở một bên là dương và các điểm bên kia là âm Mục tiêu của SVM là xây dựng một siêu phẳng giữa hai lớp sao cho khoảng cách từ nó tới các điểm gần siêu phẳng của hai lớp là cực đại

Ngày đăng: 25/02/2017, 10:55

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Điều khiển máy tính từ xa bằng tay - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 1.1 Điều khiển máy tính từ xa bằng tay (Trang 4)
Hình 1.1 Thiết bị Kinect Xbox Version 1 - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 1.1 Thiết bị Kinect Xbox Version 1 (Trang 5)
Hình 2.3: Ảnh index - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.3 Ảnh index (Trang 13)
Hình 2.4 Ảnh xám - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.4 Ảnh xám (Trang 13)
Hình 2.5 Ảnh nhị phân - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.5 Ảnh nhị phân (Trang 14)
Hình 2.6 Biểu diễn ảnh RGB - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.6 Biểu diễn ảnh RGB (Trang 14)
Hình 2.7 Tăng kích thước ảnh - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.7 Tăng kích thước ảnh (Trang 17)
Hình 2.8 Minh hoạ phép quay ảnh - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 2.8 Minh hoạ phép quay ảnh (Trang 18)
Hình 3.2 Phân lớp tuyến tính (H 1 ) và (H 2 ) bởi siêu phẳng - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 3.2 Phân lớp tuyến tính (H 1 ) và (H 2 ) bởi siêu phẳng (Trang 22)
Hình 3.3 Phân lớp tuyến tính có một số điểm nhiễu - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 3.3 Phân lớp tuyến tính có một số điểm nhiễu (Trang 24)
Hình 3.4 Ảnh hưởng của hằng số biên mềm C trên ranh giới quyết định - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 3.4 Ảnh hưởng của hằng số biên mềm C trên ranh giới quyết định (Trang 25)
Hình 3.5 Tập dữ liệu không thể phân chia tuyến tính - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 3.5 Tập dữ liệu không thể phân chia tuyến tính (Trang 25)
Hình 6.1 Hình ảnh bàn tay  huấn luyện và nhận dạng Các bước thu thập ảnh cơ bản với Image Acquisition Toolbox - Nhận dạng bảng chữ cái ngôn ngữ ký hiệu
Hình 6.1 Hình ảnh bàn tay huấn luyện và nhận dạng Các bước thu thập ảnh cơ bản với Image Acquisition Toolbox (Trang 37)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w