1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay

84 1,1K 4

Đ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 84
Dung lượng 2,24 MB

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

Nội dung

Hình ảnh tương lai trong phim Minority Report của Steven Spielberg cho chúng ta thấy, Tom Cruise mở lên một màn hình kỹ thuật số với kích thước bằng bức tường chỉ đơn giản bằng cách giơ

Trang 1

CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH -o0o -

Năm 2009

Trang 2

Với thời gian làm đề tài tại Phòng Công Nghệ Tri Thức và Công Nghệ Tính Toán (DFCK) – Viện Cơ Học và Tin Học Ứng Dụng (IAMI), em đã được làm việc trong một môi trường khoa học, nghiêm túc và thân mật

Đầu tiên, em xin chân thành cảm ơn đến Ban lãnh đạo Viện Cơ Học và Tin Học Ứng Dụng, đặc biệt là thầy giáo - Thạc sĩ Đào Văn Tuyết – Trưởng phòng Công Nghệ Tính Toán và Công Nghệ Tri Thức đã tận tình hướng dẫn, giúp đỡ em trong suốt thời gian thực tập và tốt nghiệp tại đây

Em cũng xin gửi lời cảm ơn Khoa Công Nghệ Thông Tin, Học Viện Công Nghệ Bưu Chính Viễn Thông TP.HCM và thầy-Tiến sĩ Trần Công Hùng đã tạo điều kiện cho chúng em hoàn tất đồ án tốt nghiệp trong đợt này

Em xin chân thành cảm ơn các thầy cô của Học Viện Công Nghệ Bưu Chính Viễn Thông TP.HCM đã cung cấp những kiến thức vững chắc giúp chúng em tự tin hơn khi gặp phải những vấn đề mới lạ và khó khăn

Cuối cùng, cho em gửi lời cảm ơn đến gia đình và tất cả những người đã luôn khuyến khích giúp đỡ em trong quá trình thực hiện đề tài thực tập tốt nghiệp này

Sinh viên

Lê Xuân Tiến

Trang 3

MỤC LỤC i

DANH MỤC CÁC HÌNH VẼ ii

DANH MỤC CÁC BẢNG v

THUẬT NGỮ VIẾT TẮT vi

MỞ ĐẦU vii

CHƯƠNG 1 TỔNG QUAN 1

1.1 Nhận dạng dáng điệu trong tương tác giữa người-máy 1

1.2 Ứng dụng và những khó khăn 2

1.3 Tổng quan về phương pháp tiếp cận 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 7

2.1 Nhận dạng hình dáng tĩnh của bàn tay (hand-posture) 7

2.1.1 Mô hình màu 7

2.1.2 Trừ nền bằng mô hình CodeBook 12

2.1.3 Tìm đường viền (contour) và biến đổi hình thái học 20

2.1.4 Phát hiện vùng da 27

2.1.5 Mô tả hình dạng (Shape Descriptor) 27

2.1.6 Tìm láng giềng gần nhất theo phép tính xấp xỉ (ANN) 35

2.1.7 Dynamic Time Warping 39

2.1.8 Phương pháp nhận dạng Support Vector Machine (SVM) 43

2.2 Nhận dạng dáng điệu của tay (hand-gesture) 58

2.2.1 Tìm kiếm theo tỉ lệ vàng (Golden Section Search) 58

2.2.2 Nhận dạng gesture với DTW và GSS 61

CHƯƠNG 3 THỰC NGHIỆM 64

3.1 Giới thiệu 64

3.2 Công cụ và thiết bị 67

3.2.1 Phần cứng 67

3.2.2 Phần mềm, thư viện và môi trường phát triển 67

3.3 Thiết kế và phát triển 68

3.4 Mục đích và phương pháp 70

3.5 Kết quả thu được 70

KẾT LUẬN 74

TÀI LIỆU THAM KHẢO 75

Trang 4

Hình 1.3-1: Nhận dạng dáng điệu dựa trên Data-glove (trái) và thị giác máy (phải) 2

Hình 1.3-2: Ví dụ hand posture (trái) và hand gesture (phải) 3

Hình 1.3-3: Mô hình tổng quan 3

Hình 1.3-4: Quan sát cảnh nền và phát hiện đối tượng cận cảnh bằng phương pháp trừ nền 4

Hình 1.3-5: Phát hiện vùng da để xác định vị trí bàn tay, sau đó chuẩn hóa vùng bàn tay này 4

Hình 1.3-6: Các bước xử lý của hệ thống 5

Hình 2.1-1: Mô hình màu RGB 7

Hình 2.1-2: Mô hình màu YUV 9

Hình 2.1-3: Mô hình màu HSV 10

Hình 2.1-4: Ảnh màu thành ảnh xám 11

Hình 2.1-5: Giá trị vùng lấy mẫu theo thời gian 14

Hình 2.1-6: Vị trí 4 điểm lấy mẫu (a) và sự phân phối giá trị điểm ảnh trong không gian RGB của 4 điểm ảnh (b) 15

Hình 2.1-7: Mô hình màu đề xuất – tách biệt độ biến dạng màu và độ sáng 16

Hình 2.1-8: Mô hình hóa phát hiện theo lớp Hình bên trái là ảnh gốc, ở giữa: đối tượng nền tạm thời; bên phải: đối tượng foreground 18

Hình 2.1-9: Phát hiện sự thay đổi điều kiện ánh sáng toàn cục 19

Hình 2.1-10: Tìm contour bằng cách lần ngược chiều kim đồng hồ 20

Hình 2.1-11 : Các chuỗi tín hiệu rời rạc từ biểu diễn theo tham số của contour ở trên… 21

Hình 2.1-12: Sự khác nhau giữa internal contour và external contour 22

Hình 2.1-13: Thuật toán dò viền 22

Hình 2.1-14: Mặt nạ chain-code dùng trong thuật toán tìm viền 23

Hình 2.1-15: Biểu diễn contour bằng 8-connected chain-code 23

Trang 5

thuộc contour, pixel hiện tại, và pixel kế tiếp tại mỗi bước 24

Hình 2.1-17: Trường hợp đặc biệt khi pixel “tiếp theo” chính là pixel “trước” của contour 25

Hình 2.1-18: Các thành tố cấu trúc với nhiều hình dạng và kích thước khác nhau 26

Hình 2.1-19: Ảnh gốc (a) và Thành tố cấu trúc (SE) (b) 26

Hình 2.1-20: Áp dụng toán tử erosion thông qua SE tại các vị trí khác nhau của ảnh

26

Hình 2.1-21: Kết quả áp dụng toán tử dilation 28

Hình 2.1-22: Hệ thống phân loại của các phương pháp tiếp cận trong rút trích đặc trưng hình dạng 30

Hình 2.1-23: (a) Shape không có biên bao (b) (c) 2 shape cùng biên nhưng nội dung bên trong khác nhau 31

Hình 2.1-24: (a) mẫu (b) mẫu (a) quay đi 90 độ; (c), (d) là phổ Fourier của (a) và (b) 32

Hình 2.1-25: (a), (c), (d) là các ảnh shape gốc trong không gian tọa độ cực (b) ảnh tọa độ cực của (a) được vẽ trong tọa độ Cartesian 33

Hình 2.1-26: (a), (b) là ảnh tọa độ cực của hai mẫu trong hình minh họa 6.2 (a), (b); (c), (d) là phổ Fourier của (a) và (b) 36

Hình 2.1-27: Láng giềng xấp xỉ (1 + ϵ) của q 36

Hình 2.1-28: cây k-d và cây bbd 37

Hình 2.1-29: Cây k-d mẫu 38

Hình 2.1-30: Tìm kiếm xấp xỉ trên cây k-d, với các vùng màu xám không cần xét đến 39

Hình 2.1-31: Sự khác biệt trong cách khớp các mẫu khi so sánh 2 chuỗi thời gian 39

Hình 2.1-32: Cách khớp các mẫu của 2 chuỗi thời gian theo DTW 40

Hình 2.1-33: Ma trận chi phí D với khoảng cách warp path cực tiểu từ D(1,1) đến D(|X|,|Y|) 41

Hình 2.1-34: Thứ tự mà bảng ma trận chi phí được điền vào 42

Hình 2.1-35: Hai constraint Sakoe-Chuba Band (trái) và Itakura Parallelogram (phải) 43

Trang 6

Hình 2.1-37: Minh họa tính chất của ||w|| 47

Hình 2.1-38: Không thể phân hoạch tập mẫu trên bằng một siêu phẳng 50

Hình 2-39: Một mặt phân chia phi tuyến có thể trở thành một siêu phẳng trong không gian lớn hơn 51

Hình 2.1-40 Mặt phẳng [-1,1]x[1,-1] trong R2 thành mặt cong trong R3 53

Hình 2.1-41: Đường cong phân chia tập mẫu và các lỗi 54

Hình 2.1-42: RBF Gaussian kernel có thể chuyển một mặt bất kỳ thành một siêu phẳng 55

Hàm 2.1-43: Hàm nhận dạng của SVM 2-vs-rest có giá trị bé nhất, nên mẫu cần nhận dạng là lớp thứ 2 55

Hình 2.1-44: SVM loại trừ 56

Hình 2.1-45: Sơ đồ loại trừ trong các tình huống 57

Hình 2.1-46: SVM với nhân linear, polynomial và RBF 59

Hình 2.1-47: Quá trình Golden Section Search 61

Hình 2.1-48: Quay góc khởi đầu về góc 0o 64

Hình 3.1-1: Mô hình liên kết của hệ thống 64

Hình 3.1-2: Cách thực hiện gesture số 0 64

Hình 3.1-3: Giao diện chương trình Client 65

Hình 3.1-4: Quá trình nhận dạng posture của server 66

Hình 3.1-5: Quá trình trừ nền 66

Hình 3.1-6: Thực hiện morphological filtering, và chuẩn hóa mặt nạ tay thu được bằng các phép biến đổi hình học như quay, tịnh tiến, tỉ lệ 67

Hình 3.3-1: UML Sequence Diagram của chương trình 69

Hình 3.5-1: Ra hiệu “Up”, để chuyển lựa chọn lên mục “Pictures + Videos” 70

Hình 3.5-2: Ra hiệu “Left” để chuyển qua mục Picture Library bên trái Play favorites 73

Hình 3.5-3: Ra hiệu “Pop-up Menu” để mở context menu của mục hiện tại 73

Trang 7

Bảng 1.3-1: Các lớp mẫu posture của bàn tay 22

Bảng 1.3-2: Các lớp mẫu gesture của bàn tay 22

Bảng 2.1-1: Hàm invert(d) 22

Bảng 2.3.1: Các lớp posture và gesture của hệ thống 62

Bảng 2.2-2: Thư viện và công cụ dùng để phát triển 66

Bảng 3.5-1: Thông tin cấu hình để giả lập sự kiện bàn phím 66

Trang 8

HCI Human-Computer Interaction

DTW Dynamic Time Warping

ANN Approximate Nearest Neighbor

GSS Golden Section Search

GFD Generic Fourier Descriptor

PFT Polar Fourier Transform

SVM Support Vector Machine

Trang 9

Hình ảnh tương lai trong phim Minority Report của Steven Spielberg cho chúng ta thấy, Tom Cruise mở lên một màn hình kỹ thuật số với kích thước bằng bức tường chỉ đơn giản bằng cách giơ tay lên, đôi bàn tay mang găng màu đen và được kết nối mạng không dây Tựa như một người chỉ huy dàn nhạc, anh ta cử động tay trong không trung

để ra hiệu ngắt, chơi tiếp tục, phóng đại và kéo bằng cách lướt tay và xoay cổ tay Minority Report xảy ra vào năm 2054 Công nghệ cảm ứng không tiếp xúc mà Minority Report cho thấy có thể diễn ra sớm hơn nhiều thập niên bởi lẽ ngành thị giác máy (computer vision) đã đạt được những tiến bộ đáng kể trong những năm gần đây

Từ xa xưa, ngôn ngữ cơ thể (hay dáng điệu, cử chỉ) luôn kèm theo một ý nghĩa nhất định, và đóng một vai trò quan trọng trong quá trình trao đổi thông tin Cử chỉ tay mang một tình thái bổ sung riêng biệt vào lời nói để bày tỏ những quan điểm Thông tin kết hợp với cử chỉ tay trong đối thoại ở góc độ nào đó chính là sự kết hợp tổng thể không gian và thời gian Vì vậy, việc tương tác tự nhiên giữa con người và các thiết bị máy móc có thể đạt được bằng cách sử dụng cử điệu tay trong việc giao tiếp Cảm ứng không tiếp xúc sẽ chính là một cuộc cách mạng kế tiếp, sau sự thành công của hệ thống tương tác bằng cảm ứng đơn điểm hay đa điểm (multi-touch) hiện nay Hãy thử tưởng tượng chúng ta điều khiển các thiết bị điện tử trong gia đình mà không cần dùng đến remote hay điều khiển một thiết bị nào đó mà do điều kiện khách quan khó có thể nhấn các phím điều khiển (điều khiển robot thông minh, vừa lái xe vừa chỉnh hệ thống phần mềm-giải trí trong xe,…) Đó quả thực là một viễn cảnh hết sức hấp dẫn và mang lại nhiều trải nghiệm thú vị

Cũng chính vì bị hấp dẫn bởi viễn cảnh đó, đề tài này chính là một sự tìm hiểu các công trình nghiên cứu hiện nay liên quan đến vấn đề trên Sử dụng những kết quả tìm hiểu được để xây dựng thử nghiệm một hệ thống tương tác giữa người và ứng dụng giải trí đa phương tiện Windows Media Center trên máy thông qua các hình ảnh cử chỉ của một bàn tay thu được từ webcam

Do đây còn là một vấn đề rất mới với chúng em nên trong quá trình thực hiện đề tài không tránh khỏi những điểm chưa hoàn chỉnh, kính mong quý thầy cô và các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn

Em xin chân thành cảm ơn

Trang 10

“If I have seen further than others, it is by standing upon the shoulders of giants.”

Isaac Newton

1.1 Nhận dạng dáng điệu trong tương tác giữa người-máy

Từ xa xưa, ngôn ngữ cơ thể (hay dáng điệu) luôn kèm theo một ý nghĩa nhất định và đóng một vai trò quan trọng trong quá trình trao đổi thông tin Ngôn ngữ cơ thể, đặc biệt là ngôn ngữ bàn tay ngày càng được xem là một trong những phương pháp tương tác giữa người với máy (human-computer interaction) rất tự nhiên và trực quan

Phương pháp tương tác với máy dựa trên dáng điệu được ứng dụng lầu đầu tiên vào năm 1963 bởi Ivan Sutherland Đây là tiền thân của những phương pháp dáng điệu dựa trên nét (stroke-based), sử dụng một bút phát sáng để điều khiển các đối tượng trên màn hình Phương pháp này đã khơi nguồn cho những phương pháp nhập liệu ký tự trên các thiết bị di động, PDA và các thiết bị tương tác thông qua bút (pen-based) ngày nay

Kể từ đó, tương tác bằng cử chỉ ngày càng nhận được nhiều sự quan tâm của các nhà nghiên cứu Wexelblat (1995), Quek (1994), Sturman cùng cộng sự của ông sử dụng một găng tay có các bộ cảm biến về vị trí và chuyển động để phát triển các chương trình tương tác thực tại ảo (virtual reality), cho phép điều khiển các đối tượng số bằng các chuyển động tự nhiên của đôi tay Giữa những năm 1980, thị giác máy (computer vision) ngày càng được chú ý trong ngành khoa học máy tính, tuy nhiên mãi đến năm

1995, Freeman và Weissman (1995) mới lần đầu tiên công bố hệ thống điều khiển âm lượng và kênh trong tivi dựa trên thị giác máy (vision-based)

Ở nước ta, lĩnh vực nghiên cứu về tương tác người - máy đã bắt đầu nhận được những

sự quan tâm nhất định trong thời gian gần đây như việc thành lập phòng thí nghiệm

“Tương tác người-máy” của Đại học Công Nghệ Hà Nội vào tháng 6/2008

Mặc dù công trình nghiên cứu ở trên đã vạch ra một hướng mới về cách con người tương tác với máy mà không phải dùng thiết bị điều khiển Chúng ta sử dụng chính ngôn ngữ cơ thể rất trực quan và gần gũi để tương tác với môi trường xung quanh Tuy vậy, ngày nay tương tác không chạm dựa trên thị giác máy vẫn còn nhiều khó khăn trong việc áp dụng vào môi trường thực tế Vì thế, nó vẫn đang là một chủ đề đầy thú

vị, thử thách nhiều nhà nghiên cứu

Trang 11

1.2 Ứng dụng và những khó khăn

Nhận dạng ngôn ngữ cơ thể có thể được ứng dụng trong nhiều lĩnh vực như: thực tại

ảo, điều khiển robot, tay cơ khí tự động, ngôn ngữ tay của người khiếm thị, điều khiển các thiết bị điện tử trong gia đình, các hệ thống giải trí và âm nhạc, Nó mang đến cho chúng ta những phương pháp mới trong việc tương tác với thế giới xung quanh Tuy có một tương lai rất hứa hẹn nhưng việc xây dựng các hệ thống tương tác người-máy dựa trên dáng điệu cơ thể vẫn còn rất nhiều khó khăn thực tế, đặc biệt là các hệ thống dựa trên thị giác máy (computer-vision based) Bởi môi trường của người điều khiển là động và phức tạp, bị chi phối bởi nhiều yếu tố như điều kiện ánh sáng, phông nền… Vì vậy việc tách đối tượng quan tâm ra khỏi cảnh nền hay còn gọi là trừ nền (background subtraction) để có thể phân tích chuyển động một cách chính xác hơn hoặc nhận diện vùng da (skin detection), nhận dạng hình dáng của bàn tay, … vẫn còn

là một thách thức đối với nhiều nhà nghiên cứu

1.3 Tổng quan về phương pháp tiếp cận

Vấn đề chính trong việc tương tác thông qua dáng điệu đó là làm sao cho máy có thể

“hiểu” được các ngôn ngữ cơ thể này Những cách tiếp cận cho bài toán trên thường được chia làm hai loại: “dựa vào dữ liệu thu được từ các cảm biến trên găng tay” (Data-Glove based) và “dựa trên thị giác máy” (Vision-Based) Trong mỗi phương pháp tiếp cận lại có hai vấn đề con đó là: Nhận dạng dáng điệu bàn tay tĩnh - tức hình dạng của tay (posture) và nhận dạng chuyển động của bàn tay (dynamic hand gestures)

Hình 1.3-1: Nhận dạng dáng điệu dựa trên Data-glove (trái) và thị giác máy (phải)

Trang 12

Hình 1.3-2: Ví dụ về hand posture (trái) và hand gesture (phải)

Tiếp cận dùng “data-glove” mặc nhiên phải có găng tay cảm biến mắc tiền và cũng làm mất đi phần nào ý nghĩa của việc điều khiển thông qua dáng điệu của tay, đó là dùng ngôn ngữ bàn tay để tương tác mà không cần phải sử dụng một thiết bị trợ giúp nào gắn kèm Vì vậy đề tài này tiếp cận theo hướng dựa trên thị giác máy với mô hình tổng quan như sau:

Hình 1.3-3: Mô hình tổng quan

Ảnh đầu vào thu được từ webcam sẽ được xử lý bằng các thuật toán xử lý ảnh, sau đó tiến hành rút trích đặc trưng (feature extraction) để nhận dạng posture và gesture dựa vào các dữ liệu là các mẫu đã được huấn luyện

Như vậy giả sử rằng ảnh đầu vào chỉ có duy nhất một bàn tay ở một thời điểm, đầu tiên ta sẽ phải phát hiện xem bàn tay nằm ở vị trí nào trong bức ảnh Vì ảnh bàn tay sẽ chồng lấp với ảnh của cảnh nền nên việc xử lý sẽ rất khó khăn, do đó ta dùng phương pháp trừ nền (background subtraction) để loại bỏ phông nền trong quá trình phát hiện bàn tay nhằm giảm độ phức tạp Chương trình sẽ quan sát cảnh nền một thời gian, khi

có đối tượng mới đi vào nó sẽ so sánh và tách được đối tượng cận cảnh này (foreground) Khi đó ta chỉ tập trung tìm kiếm bàn tay trên vùng foreground như hình minh họa sau

Hình 1.3-4: Quan sát cảnh nền và phát hiện đối tượng cận cảnh bằng phương pháp

trừ nền

Trang 13

Công việc tiếp theo đó là phát hiện bàn tay trong vùng đối tượng cận cảnh, vì bàn tay

sẽ gắn liền với phần cánh tay nên việc tách bàn tay ra khỏi vùng cánh tay là một điều không dễ mà hiện nay vẫn chưa có một thuật toán nào giải quyết được hiệu quả Do

đó, ta giới hạn độ phức tạp của đề tài thông qua việc giả sử người đó mặc áo dài tay, lúc này chỉ cần dùng thủ tục phát hiện da (skin detection) trên đối tượng cận cảnh thì

Bảng 1.3-1: Các lớp mẫu posture của bàn tay

Kết thúc các bước trên, chương trình đã có thể nhận dạng được hình dáng tĩnh của bàn tay (posture) Trong quá trình nhận dạng posture, ta lưu lại tọa độ của bàn tay, tập hợp các tọa độ này theo thời gian chính là một chuyển động của bàn tay (gesture) Tập tọa

độ theo thời gian trên sẽ được chuyển vào thủ tục nhận dạng hình dáng chuyển động

Ở đây, ta dùng phương pháp One Dollar và khoảng cách DTW giữa tập tọa độ này đến lần lượt các mẫu chuyển động trong cơ sở dữ liệu của chương trình

Bảng 1.3-2: Các lớp mẫu gesture của hệ thống

Như vậy, trình tự các bước xử lý của chương trình được tóm tắt lại như sau:

Trang 14

Mục 2.3 trình bày các phương pháp nhận dạng dáng điệu cử động của bàn tay như GSS và DTW

Chương 3 là phần thực nghiệm, tập trung vào việc thiết kế và phát triển hệ thống này, giới thiệu các thư viện, môi trường phát triển, các giao thức, sơ đồ thiết kế và trình bày các kết quả thu được…

Cuối cùng là phần kết luận, tóm tắt lại các kết quả cũng như các điểm hạn chế và hướng phát triển tiếp theo

Trang 15

Một góc phố cổ Hà Nội

Tranh của danh họa Bùi Xuân Phái (1920-1988)

Trang 16

“He who loves practice without theory is like the sailor who boards ship without a rudder and

compass and never knows where he may cast.”

– Leonardo da Vinci

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Nhận dạng hình dáng tĩnh của bàn tay (hand-posture)

Trong phần này sẽ giới thiệu những phương pháp, thuật toán dùng để nhận dạng hình dáng tĩnh của bàn tay hay còn gọi là hand-posture

2.1.1 Mô hình màu

Tổ chức quốc tế về chuẩn hóa màu CIE (Commission Internationale d’Eclairage) đưa

ra một số chuẩn để biểu diễn màu Các hệ này có các chuẩn riêng Hệ chuẩn màu RGB dùng 3 màu cơ bản R, G, B và ký hiệu RGBCIE để phân biệt với các chuẩn khác Như đã nêu trên, một màu là tổ hợp của các màu cơ bản theo một tỷ lệ nào đó Như vậy, mỗi pixel ảnh màu ký hiệu Px, được viết: (T: trong công thức dưới đây là ký hiệu chuyển vị)

Px = [red, green, blue]T

Người ta dùng hệ tọa độ ba màu R-G-B (tương ứng với hệ tọa độ x-y-z) để biểu diễn màu như sau:

Hình 2.1-1: Mô hình màu RGB

Trong cách biểu diễn này ta có công thức:

đỏ + lục + lơ =1 Công thức này gọi là công thức Maxwell Trong hình trên, tam giác tạo bởi ba đường đứt đoạn gọi là tam giác Maxwell Màu trắng trong hệ tọa độ này được tính bởi:

Trang 17

2.1.1.b Biến đổi mô hình màu

Mô hình màu do CIE đề xuất có tác dụng như một hệ quy chiếu và không biểu diễn hết các màu Trên thực tế, phụ thuộc vào các ứng dụng khác nhau người ta đưa ra các mô hình biểu diễn màu khác nhau Thí dụ:

- Mô hình NTSC: dùng 3 màu R, G, B áp dụng cho màn hình màu, ký hiệu RGBNTSC

- Mô hình CMY (Cyan Magenta Yellow): thường dùng cho in ảnh màu

- Mô hình YIQ: cho truyền hình màu

Việc chuyển đổi giữa các không gian biểu diễn màu được thực hiện theo nguyên tắc sau:

Nếu gọi χ là không gian biểu diễn các màu ban đầu; χ’ không gian biểu diễn màu mới;

A là ma trận biểu diễn phép biến đổi Ta có quan hệ sau:

−0.001 0.059 1.128  







Trang 18

2.1.1.c Mô hình YUV

Mô hình YUV qui định một không gian màu được tạo bởi một độ sáng và hai thành phần màu (chrominance) YUV được sử dụng trong hệ thống phát sóng truyền hình theo chuẩn PAL, đây là chuẩn ở phần lớn các nước

Hình 2.1-2: Mô hình màu YUV

Mô hình YUV giúp tạo ra màu đúng với nhận thức của con người hơn chuẩn RGB, là loại được dùng trong các thiết bị đồ họa máy tính, nhưng không chuẩn bằng không gian màu HSV

Y đại diện cho thành phần độ sáng, U và V là đại diện cho các thành phần màu Không gian màu YCbCr hay YPbPr, được sử dụng trong các thiết bị phát hình, đều xuất phát

từ nó (Cb/Pb và Cr/Pr là những phiên bản biến thể của U và V), và đôi khi bị gọi một cách không chính xác là "YUV" Không gian màu YIQ được dùng trong các hệ thống truyền hình NTSC cũng liên quan đến nó, tuy nhiên lại đơn giản hơn nó nhiều

Các tín hiệu YUV đều xuất phát từ các nguồn RGB Các giá trị trọng số của R, G và B được cộng lại với nhau để tạo ra một tín hiệu Y đơn, để biểu diễn độ sáng chung tại một điểm đó Tín hiệu U sau đó được tạo ra bằng cách trừ Y khỏi tín hiệu xanh lam (B của RGB), và được nhân với một tỉ lệ có sẵn; còn V được tính bằng cách trừ Y khỏi màu đỏ (R của RGB), và nhân tỉ lệ với một hệ số khác

Các công thức sau có thể dùng để tính toán Y, U và V từ R, G và B:

&%' = 

0.299 0.587 0.114

−0.147 −0.289 0.4360.615 −0.515 −0.100 







Trang 19

2.1.1.d Mô hình màu HSV

Không gian màu HSB, còn gọi là không gian màu HSV, là một không gian màu dựa trên ba số liệu:

* H: (Hue) Vùng màu

* S: (Saturation) Độ bão hòa màu

* B (hay V): (Bright hay Value) Độ sáng

Hình 2.1-3: Mô hình màu HSV

Trang 20

2.1.1.e 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

ba màu cơ bản tạo ra bản màu khả kiến là Đỏ (R), Xanh lá (G) và Xanh biển (B) Trong mỗi pixel của ảnh màu, ba 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

Như vậy mỗi pixel chúng ta sẽ có 28x3 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 tám mặt phẳng bit theo độ 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 của ảnh

và bỏ qua ảnh hưởng của yếu tố màu sắc Do đó bước chuyển từ ảnh màu thành ảnh xám là một công đoạn phổ biến trong các quá trình xử lý ảnh vì nó làm tăng tốc độ xử

lý là giảm mức độ phức tạp của các thuật toán trên ảnh

Chúng ta có công thức chuyển các thông số giá trị màu của một pixel thành mức xám tương ứng như sau:

G=α.CR+β.CG+δ.CBGTrong đó các giá trị CR, CG và CB lần lượt là các mức độ màu Đỏ, Xanh lá và Xanh biển của pixel màu Các hệ số α, β, và δ là các giá trị thay đổi tùy thuộc hệ màu Với

hệ mày RGB ta có α = 0.3, β = 0.59, δ = 0.11

Hình 2.1-4: Ảnh màu thành ảnh xám

Trang 21

2.1.2 Trừ nền bằng mô hình CodeBook

Đây là một thuật toán phân tách phông nền và đối tượng cận cảnh thời gian thực Các giá trị tại mỗi điểm ảnh của phông nền được lượng tử hóa vào các codebook (CB) là một dạng nén của nền trong một chuỗi ảnh Việc này giúp ta lưu sự thay đổi có cấu trúc của phông nền trong một thời gian dài khi điều kiện bộ nhớ giới hạn So với những thuật toán khác thì codebook hiệu quả về không gian nhớ và tốc độ CB làm việc được trong những cảnh có nền lay động hoặc điều kiện ánh sáng thay đổi

Việc tách các đối tượng di chuyển trong một chuỗi video thu được từ một camera tĩnh

là bước đầu tiên trong bài toán giám sát Cách tiếp cận phổ biến và đơn giản nhất đó là trừ nền Ý tưởng của việc trừ nền chính là trừ ảnh hiện tại cho một mô hình phông nền tham chiếu Kết quả của phép trừ này sẽ cho ta các đối tượng mới xuất hiện hoặc là không đứng yên

Một mô hình nền đơn giản nhất sẽ giả sử rằng độ sáng của mỗi điểm ảnh có thể được

mô hình hóa bằng một phân phối đơn mốt (unimodal distribution) Hạn chế của mô hình trên là không thể giải quyết vấn đề đa nền, ví dụ như cảnh nền có một hàng cây lung lay trong gió Mô hình MOG (Mixture of Gaussians) được đưa ra để xử lý các nền không tĩnh và phức tạp Tuy vậy MOG cũng có vài điểm yếu đó là khó mô hình hóa các điều kiện biến đổi nhanh Ngoài ra, do phụ thuộc vào việc tốc độ học cần thích ứng với sự thay đổi của nền, nên tốc độ học chậm thì sẽ khó phát hiện những thay đổi đột ngột, còn tốc độ học nhanh thì các chuyển động chậm sẽ dễ bị bỏ sót Để giải quyết những vấn đề này, kỹ thuật không tham biến (non-parametric technique) sẽ ước lượng hàm mật độ xác suất tại mỗi điểm ảnh từ rất nhiều mẫu đã được đề xuất Mô hình có thể thích nghi với những sự thay đổi nhanh trong nền và phát hiện các đối tượng với độ nhạy cao Kỹ thuật không tham biến ít hiệu quả nếu lấy mẫu nền trong một thời gian dài do ràng buộc về không gian nhớ Thuật toán CB sẽ xây dựng mô hình nền được nén ở tỉ lệ cao nên sẽ vượt qua vấn đề trên

Thuật toán CB sử dụng kỹ thuật lượng tử hóa/gom cụm của Kohonen để xây dựng mô hình nền từ việc quan sát một dãy dài liên tiếp Với mỗi điểm ảnh, nó sẽ tạo một codebook bao gồm một hoặc nhiều codeword Các mẫu tại mỗi điểm ảnh được gom nhóm vào tập những codeword dựa vào metric biến dạng màu cùng biên của độ sáng Quá trình phát hiện nền sẽ kiểm tra sự khác biệt giữa ảnh hiện tại và mô hình nền dựa vào độ lệch của màu và độ sáng Một điểm ảnh sẽ được phân loại thuộc nền nếu nó thỏa 2 điều kiện:

1 biến dạng màu của một số codeword bé hơn ngưỡng

2 độ sáng nằm trong khoảng độ sáng của codeword

ngược lại nó sẽ được xếp vào foreground

Trang 22

Thuật toán khởi tạo codebook:

Đặt X là một chuỗi huấn luyện cho mỗi điểm ảnh bao gồm N RGB vectơ:

X = {x1, x2, , xN}

C = {c1, c2, , cL} là codebook gồm có L codeword của điểm ảnh Mỗi điểm ảnh sẽ có kích thước codebook khác nhau phụ thuộc vào sự biến thiên của mẫu

Mỗi codeword ci , i=1 L, chứa một vectơ RGB vi = (Ri, Gi, Bi) và một tập 6 biến auxi

= (Iimin, Iimax, fi, λi, pi, qi) Tập auxi chứa các biến về giá trị độ sáng và thời gian:

Ĭi, Îi Là độ sáng cực tiểu và cực đại của tất cả những điểm ảnh được gán vào

codeword này

f Tần số xuất hiện của codeword

λ Maximum negative run-length (MNRL) chính là khoảng thời gian lâu

nhất trong suốt giai đoạn huấn luyện mà codeword không lặp lại

p, q Thời gian truy cập lần đầu tiên và cuối cùng của codeword đó

Trong suốt giai đoạn huấn luyện, giá trị xt được lấy mẫu tại thời điểm t sẽ được so sánh với codebook hiện tại để xác định xem nếu có codeword cm nào khớp không (m là chỉ số của codeword) Ta dùng codeword này như là xấp xỉ mã hóa của mẫu (sample’s encoding approximation) Để biết đâu là codeword khớp nhất, ta dùng độ biến dạng màu và biên giới hạn của độ sáng, chi tiết thuật toán như sau:

Trang 23

Hai điều kiện (a) và (b) trong bước II (ii) (sẽ được làm rõ hơn ở biểu thức (2,3) ở bên dưới) thỏa mãn khi màu của xt và cm là đủ “gần” và độ sáng của xt nằm trong giới hạn chấp nhận được của cm Thay vì tìm láng giềng gần nhất, ta chỉ cần tìm codeword đầu tiên thỏa 2 điều kiện này, ε1 là ngưỡng lấy mẫu (băng thông) Để tăng tốc độ của thuật toán ta có thể sắp xếp các codeword theo thứ tự được cập nhật gần nhất lên đầu danh sách codebook Các codeword khớp thường là các codeword nằm ở đầu danh sách vì vậy việc sắp xếp này giúp quá trình so khớp hiệu quả hơn

Maxium negative run-length

Nền thật bao gồm các điểm ảnh tĩnh và các điểm ảnh nền động, thường là tựa tuần hoàn (quasi-periodic) – tức các giá trị lặp lại trong một khoảng thời gian nào đó Điều này thúc đẩy tiêu chuẩn thời gian cùa MNRL (λ), được định như là khoảng thời gian lớn nhất mà codeword không lặp lại trong giai đoạn huấn luyện Ví dụ trong hình minh họa 2.1-5, một điểm ảnh nằm trên rìa của chiếc lá cây được lấy mẫu và biểu đồ hóa sự biến thiên độ sáng theo thời gian Codeword của màu trời có F rất nhỏ, khoảng 15, của màu lá cây là 100 Tuy nhiên, codeword của cơ thể người lại có F rất lớn, 280

Đặt M và T M là mô hình nền (đã được lọc thời gian) và giá trị ngưỡng Thông thường, chọn Tm bằng phân nửa số frame huấn luyện, N/2

Trang 24

minh họa 2.1-7 Mô hình này sẽ xem các giá trị của điểm ảnh thuộc nền nằm dọc theo các trục chính của codeword thuộc biên thấp và cao của độ sáng Khi ta có một điểm ảnh đầu vào xt=(R, G, B) và codeword ci với vi = (Ri, Gi, Bi),

Hình 2.1-6: Vị trí 4 điểm lấy mẫu (a) và sự phân phối giá trị điểm ảnh trong không

gian RGB của 4 điểm ảnh (b)

Trang 25

Hình 2.1-7: Mô hình màu đề xuất – tách biệt độ biến dạng màu và độ sáng

Ta đặt Î và Ĭ chính là max và min của độ sáng tất cả những điểm ảnh được gán vào codeword Để chấp nhận sự thay đổi của độ sáng trong một phạm vi nhất định giới hạn trong mức bóng và mức điểm sáng ta cho [Ilow, Ihi] cho mỗi codeword như sau:

Ilow = αÎ , Ihi = ^[_ `aÎ,bĬc với α<1, β>1

Thông thường chọn α trong khoảng [0.4, 0.7], β ϵ [1.1, 1.5]

Brightness(I, <Ĭ, Î>) = dGY7e , _ế7 >ghi ≤ ‖8S‖ ≤ >kN

III qE8I = dDUYelYU7_Z _ế7 rℎô_l rℎớQv6TrlYU7_Z, _lượT Xạ[ p

ε 2 là ngưỡng phát hiện Một điểm ảnh sẽ được xem là thuộc foreground nếu không tìm thấy 1 codeword nào thỏa 2 điều kiện trên, ngược lại nó sẽ được phân loại thuộc nền

Trang 26

Cải tiến

Để làm cho kỹ thuật này thực tế hữu dụng với các hệ thống giám sát, chúng ta có thể cải tiến thuật toán căn bản như trên thành mô hình hóa/phát hiện theo lớp và cập nhật codebook thích nghi

Mô hình hóa và phát hiện theo lớp

Mô hình hóa và phát hiện theo lớp vẫn có khả năng phát hiện ra các đối tượng foreground trên các nền mới thu được trong giai đoạn phát hiện Nếu chúng ta không

có những lớp nền đó, những đối tượng foreground cần quan tâm (vd người) sẽ bị nhập chung với các đối tượng di chuyển khác (vd xe hơi)

Các cảnh có thể bị thay đổi sau giai đoạn huyến luyện Ví dụ: xe hơi vào đỗ lại, một cuốn sách bị lấy đi, v.v Những sự thay đổi này cần được sử dụng để cập nhật lại mô hình nền Chúng ta làm việc này bằng cách thêm một mô hình H gọi là bộ đệm và 3 tham số TH, Tadd và Tdelete Chu kỳ của các điểm ảnh đầu vào được lọc bởi TH, giống như chúng ta đã làm trong phần mô hình hóa nền Những giá trị xuất hiện lại trong một khoảng thời gian nhất định (Tadd) được thêm vào mô hình nền như là nền tạm thời Chúng ta giả sử nền thu được từ giai đoạn là nền cố định Các giá trị nền không được truy xuất một thời gian dài (Tdelete) sẽ được xóa khỏi mô hình nền Như vậy, một điểm ảnh có thể được phân vào trong 4 lớp con sau:

1 Nền cố định

2 Nền tạm thời

3 Foreground trong bộ đệm

4 Foreground không tìm thấy trong các lớp trên

I Sau khi huấn luyện, thu được mô hình nền M Tạo mô hình bộ đệm H

II Với các điểm ảnh đầu vào x, tìm một codeword trong M khớp với x Nếu

tìm thấy thì cập nhật lại codeword

III Ngược lại, tìm codeword trong H khớp với nó và cập nhật lại Nếu không

tìm thấy codeword nào khớp thì tạo codeword mới h và thêm nó vào H

IV Lọc tất cả các codeword trong bộ đệm dựa vào TH

H ← H – {hi | hi ϵ H, λ của hi lớn hơn TH}

V Chuyển các codeword trong bộ đệm đủ lâu vào M

M ← M υ {hi | hi ϵ H, λ của hi lớn hơn Tadd }

VI Xóa các codeword không được truy xuất một thời gian dài trong M

M ← M - {ci | ci ϵ M, λ của ci lớn hơn Tdelete }

VII Lặp lại bước II

Như trong hình minh họa dưới đây, người đàn ông lấy 2 chiếc hộp sau ra khỏi cốp khi

đỗ xe Chiếc xe và 2 chiếc hộp được đánh nhãn bằng màu khác nhau dựa vào access-time’ là nền tạm thời trong khi người đàn ông vẫn được xem như là đối tượng foreground

Trang 27

‘first-Hình 2.1-8: Mô hình hóa phát hiện theo lớp ‘first-Hình bên trái là ảnh gốc, ở giữa: đối

tượng nền tạm thời; bên phải: đối tượng foreground

Trang 28

Cập nhật codebook thích nghi – phát hiện trong điều kiện thay đổi độ chiếu sáng toàn cục

Thay đổi chiếu sáng toàn cục (vd, có mây di chuyển ngang) làm cho việc trừ nền ở ngoài trời trở nên khó khăn Từ thực nghiệm ta thấy rằng, giá trị của điểm ảnh biến thiên khác nhau trên các bề mặt khác nhau (bóng hoặc nhám) và dưới những mức chiếu sáng khác nhau (tối hoặc sáng) Các codeword cần được cập nhật thích nghi với

sự thay đổi độ sáng Ta có thể thực hiện việc này bằng cách thay biểu thức cập nhật vmthành

vm ← ɣxt + (1-ɣ)vm

σ2m← pδ2 + (1-p)σ2m

trong bước II (iv) của thuật toán dựng codebook ɣ và p là tốc độ học σm được khởi tạo khi bắt đầu thuật toán, σ2m là sự biến thiên độ biến dạng màu toàn thể Cuối cùng, hàm colordist() trong biểu thức số 2 được sửa lại là

colordist(x t ,v i ) = w

x y

Trang 29

2.1.3 Tìm đường viền (contour) và biến đổi hình thái học

Trong phần này sẽ thảo luận phương pháp tìm đường viền của một đối tượng biểu diễn bằng nhị phân, cũng như việc giảm các pixel “nhiễu” bằng phép lọc theo hình thái học (morphological filtering)

Hình 2.1-10: Tìm contour bằng cách lần ngược chiều kim đồng hồ

Kết quả thu được ở hình trên là tập các điểm theo thứ tự:

(4,2), (5,2), (6,2), (7,2), (8,2), (9,2), (9,3), (9,4), (9,5), (9,6), (9,7), (8,7), (7,7), (6,7), (5,7), (4,7), (4,6), (4,5), (4,4), (4,3)

Ta thấy rằng, có thể biểu diễn theo tham số tập điểm trên thành hai chuỗi số nguyên theo tọa độ x, y như sau:

x = {4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 4, 4, 4, 4 }

y = { 2, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 6, 5, 4, 3 }

Trang 30

Hình 2.1-11 : Các chuỗi tín hiệu rời rạc từ biểu diễn theo tham số của contour ở trên

Phụ thuộc vào việc các điểm viền có thuộc đối tượng hay không, ta chia chúng thành hai loại: viền nội (internal contour) và viền ngoại (external contour) Hình minh họa dưới đây sẽ cho thấy sự khác biệt của hai loại contour này:

Hình 2.1-12: Sự khác nhau giữa internal contour và external contour

Trang 31

Có rất nhiều thuật toán để tìm contour trong ảnh nhị phân như sử dụng Run-length codes, chain-codes Thuật toán trình bày dưới đây dùng để tìm external contour, ý tưởng của nó như sau:

Đầu tiên tìm một điểm bắt đầu bằng cách quét lần lượt từng dòng cho đến khi gặp được một điểm mà quanh nó có một điểm màu đen Sau khi có được điểm bắt đầu, thuật toán sẽ bám theo viền của đối tượng cho đến khi trở về điểm xuất phát

Hình 2.1-13: Thuật toán dò viền

Để tìm ra đâu là điểm thuộc contour tiếp theo, tại mỗi bước ta đặt mặt nạ 8-connected (chain-code directions) sao cho điểm chính giữa (P) của nó trùng với điểm contour hiện tại Sau đó ta xét trạng thái của ma trận chain-code này để quyết định điểm tiếp theo

Hình 2.1-14: Mặt nạ chain-code dùng trong thuật toán tìm viền

Trang 32

Hình 2.1-15: Biểu diễn contour bằng 8-connected chain-code

Giả sử ta có 3 pixel là P, C, N tương ứng với pixel trước thuộc contour, pixel hiện tại,

và pixel kế tiếp như bảng 2.1-1; dpc là hướng từ pixel P đến pixel C, ngược lại dcp = invert(dpc)

Bảng 2.1-1: Hàm invert(d)

Hình 2.1-16: Thuật toán tìm viền sử dụng 3 pixel P, C, N tương ứng với pixel trước

Trang 33

Từ hướng dcp, thuật toán sẽ xét các pixel kế cận theo hướng ngược chiều kim đồng hồ

để tìm ra pixel đi tiếp, ta chỉ chấp nhận pixel trước cũng chính là pixel kế tiếp khi không thể tìm ra một ứng viên khác như Hình 2.1-17 dưới đây

Hình 2.1-17: Trường hợp đặc biệt khi pixel “tiếp theo” chính là pixel “trước” của

}

}

Trang 34

2.1.3.b Morphological Filtering

Hình thái toán học (Mathematical morphology) là một tập các phép toán dùng để phân tích ảnh và xử lý tín hiệu số đa chiều dựa trên các thông tin về mẫu hình dạng (shape) được chọn Trong đó, tín hiệu đầu vào được so sánh một cách cục bộ với S (thành tố cấu trúc - structuring elements) có dạng bất kì, tại điểm tham chiếu R (thông thường R

là tâm của S và ánh xạ tương ứng tới tín hiệu đang xét)

Hình 2.1-18: Các thành tố cấu trúc với nhiều hình dạng và kích thước khác nhau

Mục tiêu của việc ứng dụng Morphology là để chuyển đổi tín hiệu thành những tín hiệu mới đơn giản hơn bằng việc loại bỏ các thông tin không cần thiết Hình thái toán học sử dụng các toán tử hình thái (Morphological operators) mà có thể được ứng dụng với các tín hiệu nhị phân và đa mức xám như là những công cụ cho quá trình xử lý Toán tử căn bản nhất đồng thời cũng là thành phần cấu thành các toán tử morphology phức tạp hơn đó là erosion và dilation Trong phần này chỉ định nghĩa các toán tử một cách đơn giản, bỏ qua những diễn giải toán học phức tạp để có thể dễ dàng ứng dụng trong thực hành

Trong xử lý ảnh, các toán tử Morphological thường nhận một ảnh nhị phân (binary image) hay ảnh đa mức xám (grayscale image) và một phần tử cấu trúc (structuring element) như là dữ liệu đầu vào, sau đó kết hợp chúng bằng cách sử dụng tập phép toán như giao, hợp, bao gồm, bù (intersection, union, inclusion, complement), cho ra một hình ảnh kết quả có cùng kích thước Chúng xử lý các đối tượng trong ảnh đầu vào dựa trên những đặc tính về hình dạng đã được xác định trong cấu trúc của thành tố cấu trúc Bằng việc chọn kích thước, hình dạng và pattern của vùng điểm ảnh lân cận điểm ảnh muốn xem xét (thể hiện trên S), ta có thể xây dựng một toán tử Morphology

mà nhạy cảm với những hình dạng cụ thể trên ảnh được cho

Với toán tử erosion, phần tử cấu trúc sẽ ốp lên các pixel (i,j) sao cho (i, j) là điểm trung tâm của phần tử cấu trúc, nếu toàn bộ phần tử cấu trúc thuộc đối tượng thì f[i,j] =

1, ngược lại f[i, j] = 0 Vì vậy phép toán này sẽ làm đối tượng co rút lại, trong khi phép toán dilation với f[i, j] = 1 khi có tối thiểu 1 pixel thuộc đối tượng sẽ giúp làm nở đối tượng ra

Trang 35

(a) (b)

Hình 2.1-19: Ảnh gốc (a) và Thành tố cấu trúc (SE) (b)

Hình 2.1-20: Áp dụng toán tử erosion thông qua SE tại các vị trí khác nhau của ảnh

Hình 2.1-21: Kết quả áp dụng toán tử dilation

Trang 36

2.1.4 Phát hiện vùng da

Phân vùng da (skin segmentation) trong ảnh màu là một bước tiền xử lý trong nhiều ứng dụng xử lý ảnh Có rất nhiều phương pháp để xác định một pixel là màu da hay không Những phương pháp này thường được xếp vào 3 loại sau: tham số, không tham

số, gom cụm vùng da bằng các ngưỡng Phương pháp đơn giản hay được dùng trong các ứng dụng đòi hỏi thời gian đáp ứng nhanh (real-time) đó là giới hạn vùng màu da bằng các biên (ngưỡng) trong không gian màu Do đòi hỏi tính đáp ứng nhanh, sau một vài thử nghiệm đề tài này sử dụng phương pháp giới hạn bằng biên trên không gian màu YCbCr và dò tìm theo bảng trong không gian RGB

Chai và K N Ngan [2] đã phát triển một thuật toán để phát hiện các tính chất phân phối theo không gian của màu da con người Làm việc trên không gian màu YCbCr, nhóm tác giả Chai Và Ngan đã phát hiện ra vùng giá trị Cb và Cr mà màu da thường rơi vào

2.1.5 Mô tả hình dạng (Shape Descriptor)

Mô tả hình dạng là một tập các số được sinh ra nhằm miêu tả các đặc trưng hình dạng (shape feature) Rút trích đặc trưng hình dạng (shape feature extraction) và biểu diễn chúng đóng một vai trò quan trọng trong việc truy xuất hình dạng, nhận dạng và phân loại, xấp xỉ và đơn giản hóa hình dạng,…

Rất nhiều phương pháp miêu tả shape và đo độ tương đồng đã được phát triển trước đây, gần đây cũng có một số phương pháp mới được giới thiệu Có ba phương pháp phân loại chính như sau:

Trang 37

• Phương pháp dựa trên đường viền (contour-based) và dựa trên miền based) Đây là những phương pháp phân loại quen thuộc và phổ biến được đề xuất bởi MPEG-7 Mỗi phương pháp lại được xếp vào một trong hai cách tiếp cận: tiếp cận có cấu trúc hoặc là tiếp cận tổng thể tùy thuộc vào việc nó miêu tả shape như là một khối tổng thể hay là những phần/vùng con

(region-• Phương pháp miền không gian và miền biến đổi Các phương pháp trong miền không gian so khớp các shape dựa vào các điểm (hoặc đặc trưng điểm) cơ sở, trong miền đặc trưng thì dựa trên các đặc trưng (vectơ) cơ sở

• Information Preserving (IP) và Non-information Preserving (NIP) Các phương pháp IP giúp dựng lại shape chính xác từ descriptor của nó, trong khi NIP chỉ

có thể tái tạo lại một cách không chắc chắn

Không giống như các phương pháp phân loại truyền thống, các tiếp cận của việc rút trích đặc trưng và miêu tả dựa trên hình dạng được phân ra theo cách tiếp cận xử lý của chúng Hình minh họa dưới đây biểu diễn hệ thống bộ phân loại của các phương pháp tiếp cận rút trích đặc trưng hình dạng:

Hình 2.1-22: Hệ thống phân loại của các phương pháp tiếp cận trong rút trích đặc

trưng hình dạng

Trang 38

2.1.5.a Biểu diễn hình dạng bằng hàm một chiều

Hàm một chiều thu được từ các tọa độ biên của shape thường được gọi là shape signature Hệ tọa độ phức (Complex coordinates), hàm khoảng cách trung tâm (Centroid distance function) , Tangent angle, hàm độ cong (Curvature function), hàm diện tích (Area function), Triangle-area và hàm độ dài Chord thường được dùng làm shape signature

Các shape signature hay được sử dụng như là phần tiền xử lý của các thuật toán rút trích đặc trưng khác, ví dụ mô tả Fourier, Wavelet…

Một số hàm shape signature thông dụng:

Centroid Distance Function

Hàm khoảng cách trung tâm biểu diễn khoảng cách từ các điểm biên so với điểm trung tâm (gx, gy) của shape

YE_I = {E8E_I − lI)+ E}E_I − l~I)|3/)

Do trừ với điểm trung tâm nên hàm hệ tọa độ phức và hàm khoảng cách trung tâm đều bất biến với phép tịnh tiến

Fourier descriptor (FD) thu được bằng cách áp dụng biến đổi Fourier vào Shape Signature Shape signature là hàm một chiều thu được từ các tọa độ biên Các hệ số biến đổi Fourier đã được chuẩn hóa được gọi là Fourier descriptor của shape Vậy ta thấy rằng, FD của các signature khác nhau sẽ thực thi khác nhau trong việc truy xuất shape Theo một số bài báo thì FD từ hàm khoảng cách trung tâm (centroid distance function) r(t) thường thực thi tốt hơn các FD của các shape signature khác nói chung Biến đổi Fourier rời rạc của hàm r(t) như sau:

6€ =P  Y1 EGI exp ƒ−„2…_GP † , _ = 0, 1, … , P − 1

ˆ3 S‰Š

Trang 39

Vì centroid distance function r(t) chỉ bất biến với phép tịnh tiến và phép quay, các hệ

số Fourier thu được cần phải được chuẩn hóa để mô tả không phụ thuộc vào điểm bắt đầu và phép dãn

Phương pháp mô tả Fourier một chiều đã được ứng dụng thành công trong nhiều ứng dụng biểu diễn hình dạng 1-D FD trở nên phổ biến nhờ tính đơn giản, chuẩn hóa dễ, quá trình so khớp đơn giản, hiệu quả với nhiễu Tuy nhiên phương pháp 1-D FD này cũng có hạn chế trong nhiều trường hợp như hình minh họa bên dưới

Hình 2.1-23: (a) Shape không có biên bao (b) (c) 2 shape cùng biên nhưng nội dung

bên trong khác nhau

Những giới hạn này làm cho phương pháp mô tả Fourier một chiều khó trở thành một phương pháp mô tả tổng quát được

Biến đổi Fourier hai chiều liên tục và rời rạc của một ảnh shape f(x,y) (0 ≤ x ≤ M, 0 ≤

y ≤ N, M và N là chiều rộng và cao của ảnh) như sau:

‹E7, +I = Œ DE8, }I exp{−„2…E78 + +}I| Z8Z}

Trang 40

phép quay là quan trọng bởi vì những shape giống nhau có thể quay về các hướng khác nhau

Ví dụ, trong hình minh họa dưới đây, hai mẫu có cùng shape, tuy nhiên phân phối phổ Fourier trên mặt phẳng tần số lại khác nhau gây khó khăn cho việc so khớp hai shape

Hình 2.1-24: (a) mẫu (b) mẫu (a) quay đi 90 độ; (c), (d) là phổ Fourier của (a) và (b)

Do vậy, ta chuyển ảnh về hệ tọa độ cực và sau đó áp dụng biến đổi Polar Fourier (PFT) Lúc này dữ liệu đầu ra của PFT sẽ bất biến với phép quay

Để áp dụng PFT, cả f(x,y) và phổ F(u,v) phải được chuyển về không gian tọa độ cực:

Ta có, Jacobian là r Thay (1.3), (1.4) vào (1.1) ta có biến đổi Fourier cực (PFT1):

Biến đổi Polar Fourier rời rạc PFT1 sẽ là:

‹3=g, ψ,@ = ∑ ∑ D=Y• N •, WN@ r— exp {−„2…Y•gV[_EWN+ ψ,I| (1.6) Với rp = p/R, θi = i(2π/T) (0 ≤ i ≤ T), ρl = l (0 ≤ l ≤ R) và ψm = mθi R và T là giải của tần số bán kính (radial frequency) và tần số góc (angular frequency)

Ngày đăng: 02/01/2015, 04:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] D. Chai và K. N. Ngan, “Face segmentation using skin colour map in videophone applications”, IEEE Transactions on Circuits and Systems for Video Technology 9 (4) (1999) 551-564 Sách, tạp chí
Tiêu đề: Face segmentation using skin colour map in videophone applications
[4] Francesca Gasparini, Raimondo Schettini, “Skin Detection using Color Pixel Classification with Application” Sách, tạp chí
Tiêu đề: Skin Detection using Color Pixel Classification with Application
[6] Jacob O. Wobbrock, Andrew D. Wilson , Yang Li, “Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes” Sách, tạp chí
Tiêu đề: Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes
[8] Martin Ester, Hans-Peter Kriegel, Jửrg Sander, Xiaowei Xu, “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise” Sách, tạp chí
Tiêu đề: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise
[9] Shahzad Malik, “Real-time Hand Tracking and Finger Tracking for Interaction” Sách, tạp chí
Tiêu đề: Real-time Hand Tracking and Finger Tracking for Interaction
[10] Stan Salvador và Philip Chan, “FastDTW: Toward Accurate Dynamic Time Warping in Linear Time and Space” Sách, tạp chí
Tiêu đề: FastDTW: Toward Accurate Dynamic Time Warping in Linear Time and Space
[11] V. Vapnik, “Nature of statistical learning theory”, Springer-Verlag, 2000 Sách, tạp chí
Tiêu đề: Nature of statistical learning theory
[12] Zhang Dengsheng, Guojun Lu, “Generic Fourier Descriptor for Shape-based Image Retrieval” Sách, tạp chí
Tiêu đề: Generic Fourier Descriptor for Shape-based Image Retrieval
[1] Nguyễn Thị Bạch Kim, Giáo trình các phương pháp tối ưu, lý thuyết và thuật toán, NXB Bách Khoa Hà Nội.Tiếng Anh Khác
[3] David M. Mount, Sunil Arya, ”An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions”, ACM-SIAM, 1994, pp. 573-582 Khác
[5] John Shawe-Taylor, Nello Cristianini, Support Vector Machines and other kernel- based learning methods, Cambridge University Press, 2000 Khác
[7] Mathias Kửlsch, Vision Based Hand Gesture Interfaces for Wearable Computing and Virtual Environments, Ph. D. Dissertation, August 2004 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.3-6: Các bước xử lý của hệ thống - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 1.3 6: Các bước xử lý của hệ thống (Trang 14)
Hình 2.1-4: Ảnh màu thành ảnh xám. - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 4: Ảnh màu thành ảnh xám (Trang 20)
Hình 2.1-8: Mô hình hóa phát hiện theo lớp. Hình bên trái là ảnh gốc, ở giữa: đối - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 8: Mô hình hóa phát hiện theo lớp. Hình bên trái là ảnh gốc, ở giữa: đối (Trang 27)
Hình 2.1-9: Phát hiện sự thay đổi điều kiện ánh sáng toàn cục - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 9: Phát hiện sự thay đổi điều kiện ánh sáng toàn cục (Trang 28)
Hình 2.1-11 : Các chuỗi tín hiệu rời rạc từ biểu diễn theo tham số của contour ở trên - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 11 : Các chuỗi tín hiệu rời rạc từ biểu diễn theo tham số của contour ở trên (Trang 30)
Hình 2.1-12: Sự khác nhau giữa internal contour và external contour. - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 12: Sự khác nhau giữa internal contour và external contour (Trang 30)
Hình 2.1-15: Biểu diễn contour bằng 8-connected chain-code - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 15: Biểu diễn contour bằng 8-connected chain-code (Trang 32)
Hình 2.1-20: Áp dụng toán tử erosion thông qua SE tại các vị trí khác nhau của ảnh - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 20: Áp dụng toán tử erosion thông qua SE tại các vị trí khác nhau của ảnh (Trang 35)
Hình 2.1-22: Hệ thống phân loại của các phương pháp tiếp cận trong rút trích đặc - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 22: Hệ thống phân loại của các phương pháp tiếp cận trong rút trích đặc (Trang 37)
Hình 2.1-24: (a) mẫu (b) mẫu (a) quay đi 90 độ; (c), (d) là phổ Fourier của (a) và (b) - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 24: (a) mẫu (b) mẫu (a) quay đi 90 độ; (c), (d) là phổ Fourier của (a) và (b) (Trang 40)
Hình 2.1-25: (a), (c), (d) là các ảnh shape gốc trong không gian tọa độ cực. (b) ảnh - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 25: (a), (c), (d) là các ảnh shape gốc trong không gian tọa độ cực. (b) ảnh (Trang 41)
Hình 2.1-26: (a), (b) là ảnh tọa độ cực của hai mẫu trong hình minh họa 6.2 (a), (b); - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 26: (a), (b) là ảnh tọa độ cực của hai mẫu trong hình minh họa 6.2 (a), (b); (Trang 42)
Hình 2.1-28: cây k-d và cây bbd. - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 28: cây k-d và cây bbd (Trang 45)
Hình 2.1-29: Cây k-d mẫu - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 29: Cây k-d mẫu (Trang 46)
Hình 2.1-30: Tìm kiếm xấp xỉ trên cây k-d, với các vùng màu xám không cần xét đến. - xây dựng hệ thống tương tác giữa người và máy thông qua nhận dạng cử chỉ bàn tay
Hình 2.1 30: Tìm kiếm xấp xỉ trên cây k-d, với các vùng màu xám không cần xét đến (Trang 47)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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