1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình nhận dạng và xử lý ảnh phần 2 ts hoàng văn dũng

84 3 0

Đ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

Tiêu đề Giáo trình nhận dạng và xử lý ảnh phần 2
Tác giả TS. Hoàng Văn Dũng
Trường học University of Science and Technology, Vietnam Academy of Science and Technology
Chuyên ngành Xử lý ảnh và Nhận dạng hình ảnh
Thể loại Giáo trình
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 84
Dung lượng 11,63 MB

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

Nội dung

Hiện nay, SURF được sử dụng nhiều trong vấn đề xác định vị trí vànhận dạng đối tượng như nhận dạng người, mặt người, xây dựng mô hình 3D 3Dreconstruction, theo vết đối tượng và so khớp đ

Trang 1

CHƯƠNG 5 ĐẶC TRƯNG NÂNG CAO VÀ SO KHỚP ẢNHBiểu diễn dữ liệu ở mức thấp như xử lý trực tiếp trên điểm ảnh thường cho độ chínhxác thấp Vì vậy, nhằm nâng cao hiệu quả của các hệ thống nhận dạng, các nhà nghiêncứu chú trọng tìm, đề xuất giải pháp trích chọn đặc trưng mức cao, có độ phức tạp lớn

để có thể làm nổi bật đặc trưng đối tượng trong ảnh Chương 5 tập trung giới thiệu cácphương pháp mô tả đặc trưng nâng cao như SIFT, SURF, HOG, Haar-like feature vàcác phương pháp so khớp ảnh, lọc nhiễu

5.1 Giới thiệu chung

Trong lĩnh vực xử lý ảnh, có rất nhiều bài toán liên quan đến so khớp ảnh như nhậndạng đối tượng, ước lượng chuyển động vật thể (motion estimation), xây dựng môhình 3D (3D reconstruction) và theo vết chuyển động (motion tracking) Nhiệm vụ của

so khớp ảnh (matching) là so sánh sự tương đồng giữa mẫu ảnh với một ảnh khác đểphát hiện ra vị trí tương ứng của vật thể Hai ảnh này có thể chụp liên tục hoặc bất kỳlúc nào, bất kỳ vị trí nào miễn sao có mẫu chung trong hai ảnh Trong thực tế, pháthiện các đối tượng tương ứng giữa hai ảnh đặt ra thách thức lớn, vì mỗi ảnh chụp ởmỗi vị trí, góc chụp khác nhau, có độ nghiêng, góc lệch, độ biến dạng khác nhau Phầnnày trình bày một số phương pháp mô tả đặc trưng và so khớp ảnh được ứng dụngnhiều hiện nay

5.2 Mô tả đặc trưng SIFT

5.2.1 Đặc trưng SIFT

Phương pháp mô tả đặc trưng SIFT (Scale-invariant feature transform) được đề xuấtbởi David Lowe [29], lần đầu tiên trình bày tại hội thảo quốc tế về thị giác máy tínhvào năm 1999 Sau đó, phương pháp SIFT được hoàn thiện và xuất bản tại tạp chíquốc tế về thị giác máy tính năm 2004[25] SIFT hoạt động rất hiệu quả trong cáctrường hợp ảnh bị biến dạng, co giãn, quay ảnh, góc nhìn khác nhau SIFT là mộttrong những phương pháp nổi tiếng trong lĩnh vực nhận dạng, so khớp ảnh và đượcdùng khá phổ biến Hiện nay, kỹ thuật SIFT đã được đăng kí bản quyền bởi tác giảDavid Lowe, hoàn toàn miễn phí khi sử dụng cho mục đích nghiên cứu, học tập, tuynhiên nếu sử dụng cho mục đích thương mại thì phải xin phép bản quyền Bộ mô tảđặc trưng này dựa vào lược đồ (histogram) giá trị gradient theo hướng và độ lớn củacác điểm ảnh trong một vùng ảnh cục bộ (block) Nói cách khác, mô tả đặc trưng SIFTđược dùng để mô tả sự phân phối đặc trưng trong vùng ảnh quanh điểm chính (hay còngọi là điểm chính, keypoint) được phát hiện (xác định) nhờ vào tính chất bất biến theobiến đổi hình học và điều kiện ánh sáng Nhằm mô tả những đặc điểm khác nhau giữa

Trang 2

các keypoint phục vụ việc đối sánh ảnh, cần có bộ mô tả đặc trưng phù hợp Mộtphương pháp mô tả đặc trưng tốt nếu nó có khả năng bất biến khi thay đổi ánh sáng,quay ảnh, co giãn và các vấn đề biến dạng do thay đổi góc chụp hoặc thay đổi hìnhdáng của đối tượng (deformable).

Thuật toán SIFT có một số bước quan trọng như sau:

- Xác định điểm cực trị trong không gian tỷ lệ (scale-space extrema detection)

- Xác định vị trí điểm chính (keypoint localization)

- Trích xuất đặc trưng và gán hướng cho điểm chính (orientation assignment)

- Mô tả đặc trưng điểm chính (keypoint descriptor)

5.2.2 Quá trình xử lý SIFT

Thuật toán SIFT được thực hiện theo các bước chính sau[25]:

5.2.2.1 Xác định cực trị trong không gian tỷ lệ

Theo tác giả Lower, bước đầu tiên của thuật toán là xác định các điểm chính(keypoint) có đặc điểm nổi bật là điểm cực trị trong không gian tỷ lệ

Hình 5.1 Đối tượng trong vùng cửa sổ thay đổi khi co giãn ảnhTrong hình ví dụ này, với ảnh kích thước nhỏ cửa sổ chứa đối tượng là góc, khiphóng to kích thước ảnh, với cùng kích thước vùng cửa sổ, nó sẽ không chứa đốitượng góc mà là một đường cong (hoặc thậm chí xấp xỉ đoạn thẳng) Như vậy cùngmột đối tượng nhưng ở các kích thước ảnh khác nhau sẽ cho kết quả là các hình dángđối tượng khác nhau Do đó, cần có giải pháp xử lý phát hiện ra những vùng (điểmảnh) cho kết quả bất biến trong trường hợp co giãn kích thước đối tượng (gọi là khônggian tỷ lệ -scale space) Các phương pháp lọc không gian tỷ lệ (scale-space filtering)nhằm mục đích giải quyết vấn đề này gọi là xác định điểm cực trị trong không gian tỷ

lệ (scale space extrema detection) Phương pháp SIFT tính độ khác nhau ở các mứccủa bộ lọc Gaussian gọi là DoG (Difference of Gaussians) DoG được tính trên từngđiểm ảnh bằng cách lấy nhiều mức lọc Gaussian với các giá trị phương sai khác nhau.Ảnh đầu vào được tích chập với các mặt nạ lọc, các mặt nạ lọc được tạo ra theo phânphối Gaussian nhằm làm mờ ảnh

Sau khi tính được giá trị DoG toàn ảnh ở các mức scale, xét trên từng vị trí pixel để

so sánh với các láng giềng trong vùng 3x3x3, tương ứng với 3 bảng DoG (như hìnhminh họa) với 8 láng giềng (neighbors)- trong vùng kích thước 3 x 3 cùng mức tỷ lệ;

Trang 3

ứng ở mức phía dưới Nếu giá trị DoG tại vị trí đó là local extrema (cực trị cục bộ: lớnnhất hoặc nhỏ nhất) thì nó là điểm cực trị tại vị trí ở mức scale hiện tại Những điểmđược lựa chọn này là điểm tiềm năng trở thành điểm chính (potential keypoint).

Hình 5.2 Tính DoG theo các mức tỷ lệ tạo thành hình chóp [25]

Hàm phân phối Gaussian được xác định theo công thức sau:

2 2

2 / 2 ( 2

2

1 )

( , , ) ( , , ) ( , )

Để tìm những điểm nổi bật có tính bất biến cao với phép tỷ lệ, ta sẽ tìm cực trị cục

bộ của hàm sai khác DoG (Difference of Gaussian) Hàm này được tính toán từ độ sailệch giữa 2 không gian tỷ lệ đo kế tiếp nhau của ảnh với tham số độ lệch là một hằng

số Giá trị DoG được tính theo công thức như sau:

Trang 4

(c)Hình 5.4 Kết quả minh họa tính DoG và tính xác điểm cực trị: (a) ảnh đầu vào vàcác điểm tiềm năng bất biến, (b) áp dụng lọc Gaussian với các giá trị  và các mức cogiãn kích thước khác nhau; (c) Giá trị DoG tương ứng với kết quả ở hình (b)

5.2.2.2 Xác định vị trí keypoint

Thông thường bước xác định điểm cực trị trên các mức scale sẽ cho kết quả rấtnhiều ứng viên là điểm chính (keypoint candidates), nhưng trong đó có nhiều điểmkhông ổn định (unstable) Do vậy, sau khi xác định được những điểm cực trị cục bộ cókhả năng trở thành keypoint, nhiệm vụ tiếp theo là lọc ra điểm kết quả chính xác hơn,

có độ ổn định cao hơn, thông thường đó là những điểm ít biết đổi khi biến đổi ảnh.Bước này cho phép xóa đi những điểm có độ tương phản thấp hoặc biểu diễn đặc trưnghạn chế dọc theo các cạnh Như ta biết, biến đổi DoG rất nhạy cảm với cạnh (edge), đểloại bỏ những điểm thuộc cạnh, SIFT dùng biến đổi tương tự Harris corner detectorbằng cách dùng ma trận Hessian 2x2 để tính những đường cong chính, khi giá trị riênglớn hơn một ngưỡng nào đó thì keypoint cũng bị loại Quá trình được thực hiện nhưsau[25]:

Từ kết quả bước trước ta có tập điểm ứng viên keypoint, nhưng đây không phải là

vị trí chính xác của keypoint, mỗi điểm ứng viên được thực hiện nội suy với dữ liệuxung quanh để xác định vị trí chính xác của nó Ta thực hiện biến đổi hàm bậc hai bachiều (3D) để thiết lập các điểm cục bộ nhằm xác định vị trí cực đại tương ứng với vịtrí chính xác của các điểm ảnh Tác giả đã sử dụng khai triển Taylor của hàm khônggian tỷ lệ với tâm nằm ở điểm chính

x x

D x x x

D D

Trang 5

Với D và đạo hàm của nó được ước lượng tại giá trị điểm chính và x( , , )x y T làkhoảng dịch chuyển từ điểm chính này Vị trí cực trị ˆx được xác định bằng cách lấyđạo hàm của hàm này đối với x và tính đạo hàm tại 0,

x

D x

ˆ

( )

D x Thực hiện thay thế phương trình 5.5 vào phương trình 5.4 trên, ta có kết quả:

x x

D D

xy xx

( ) xx yy

2 ( ) xx yy ( xy)

Trang 6

Nếu bất phương trình này nhận giá trị sai thì điểm chính bị loại bỏ khỏi danh sáchcác keypoint đã chọn Trong công trình nghiên cứu [25], tác giả Lowe cũng chỉ ra rằngviệc kiểm tra này rất hiệu quả, với ít hơn 20 phép toán cần thực hiện để kiểm tra mộtkeypoint Tác giả Lowe đã thực nghiệm với giá trị r=10 để loại bỏ các keypoint có tỷ

lệ đường cong chính lớn hơn 10 Kết quả được thể hiện trong minh họa sau:

Hình 5.5 Kết quả xác định các keypoint16: (a) tập các ứng viên keypoint ban đầu, (b)loại bỏ những điểm có độ tương phản thấp, (c) loại bỏ những điểm dọc biên

5.2.2.3 Gán hướng cho các keypoint

Trong bước này, mỗi keypoint được gán một hoặc một số hướng dựa vào các hướnggradient ảnh Đây là bước quan trọng để có thể mô tả đặc trưng bất biến khi đối tượng

bị quay Mỗi keypoint được gán với một ràng buộc có hướng dựa trên tập đặc trưngảnh cục bộ Đầu tiên, ta xử lý với ảnh được làm mờ với phân phối Gaussian L x y , ,tại mỗi mức tỷ lệ (scale) của keypoint ở bước trước để nó bất biến với việc biến đổikích thước đối tượng (scale-invarian) Việc tính độ lớn và hướng gradient dựa trên

độ Như vậy, tổng cộng sẽ gồm 36 hướng khác nhau Mỗi mẫu thêm vào lược đồ đượcgán trọng số là giá trị độ lớn và đường tròn trọng số Gaussian  =1.5 lần tỷ lệ củakeypoint Các bin là cực đại cục bộ trong lược đồ tương ứng với hướng trội củagradient cục bộ ở vùng đó Xác định hướng trội nhất (tương ứng với bin cao nhất), sau

đó bất kỳ hướng nào có giá trị lớn hơn 80% giá trị lớn nhất được xem như là mộtkeypoint với hướng đó Như vậy, một keypoint cũng có thể có nhiều hơn một hướng

Trang 7

5.2.2.4 Mô tả đặc trưng keypoint

Bước trước ta đã tìm được vị trí các keypoint tại các mức tỷ lệ cụ thể và gán hướngcho keypoint Để có thể sử dụng các keypoint trong việc đối sánh so khớp ảnh và phục

vụ cho các mục đích xử lý khác đạt độ chính xác cao, cần thiết phải mô tả đặc trưngcác keypoint dựa vào tính chất vùng ảnh bao quanh keypoint Mục đích của bước này

là tính vector mô tả đặc trưng cho các keypoint sao cho sự mô tả này có độ phân biệtcao, đảm bảo tính bất biến với điều kiện ánh sáng, vị trí, quay ảnh, biến đổi kích thước

và biến dạng đối tượng, đặc biệt trong xử lý biến đổi hình học 3D Mô tả đặc trưngmỗi keypoint được giới hạn trong một vùng bao quanh vị trí keypoint với kích thước16×16 pixels (có thể định nghĩa kích thước khác) Vùng này được chia nhỏ thành 4×4vùng con, tương ứng mỗi vùng con là 4×4 pixel Mỗi vùng con tính trong lược đồ với

8 hướng khác nhau Như vậy, bộ mô tả đặc trưng keypoint được biểu diễn bằng vectorvới số chiều 4×4×8=128 phần tử Vector này sau đó được chuẩn hóa (về độ dài đơn vị)nhằm mục đích làm nổi bật khả năng bất biến với biến đổi hình học và biến đổi độchiếu sáng Để giảm ảnh hưởng của độ sáng phi tuyến tính, cường độ gradient lớn cóthể áp dụng ngưỡng các giá trị vào vector đặc trưng, mỗi giá trị không lớn hơnngưỡng Giá trị ngưỡng được xác định giá trị 0.2 được sử dụng và sau đó vector đượcchuẩn hóa lại, trong đó ngưỡng bằng 0.2 được lựa chọn theo kinh nghiệm

Hình 5.6 Mô tả đặc trưng keypoint bằng lược đồ hướng gradient [25]

Sau khi ghép tích lũy độ lớn gradient trong vùng 4×4 pixel thu được mô tả mỗi cell,mỗi mô tả cell là một vector 8 hướng Trong hình là minh họa cho biểu diễn 2×2 vùngcon, mỗi vùng có 4×4 pixels Hình bên trái mô tả gradient tại mỗi pixel với hướng và

độ lớn thể hiện theo hướng mũi tên và độ dài tương ứng Hình bên phải là lược đồ theohướng và độ lớn gradient trong mỗi vùng 4×4 pixel

5.3 Mô tả đặc trưng SURF

5.3.1 Giới thiệu về đặc trưng SURF

Đặc trưng SURF (speeded up robust features) được giới thiệu năm 2006 bởi nhómtác giả Herbert Bay, Tinne Tuytelaars và Luc Van Gool trong công trình nghiên cứutrình bày tại hội thảo châu Âu về thị giác máy tính [28] Cách tiếp cận của phươngpháp này tương đối giống với phương pháp SIFT[25], tuy nhiên phương pháp này cótốc độ trích rút đặc trưng nhanh hơn vài lần so với SIFT những vẫn đảm bảo được độ

Trang 8

chính xác như SIFT (theo nhóm tác giả nhận định) Tương tự như phương pháp SIFT,SURF đã được đăng ký bản quyền về lĩnh vực phát hiện và mô tả đặc trưng trong thịgiác máy tính Hiện nay, SURF được sử dụng nhiều trong vấn đề xác định vị trí vànhận dạng đối tượng như nhận dạng người, mặt người, xây dựng mô hình 3D (3Dreconstruction), theo vết đối tượng và so khớp đối tượng giữa các ảnh,… Để phát hiệncác điểm quan tâm (interest point), SURF sử dụng phương pháp phát hiện đốmHessian, vì cách tiếp cận này có thể tính toán với 3 toán tử số nguyên bằng cách sửdụng phương pháp tích phân ảnh (integral image) Mô tả đặc trưng được thực hiện dựavào tổng giá trị Haar wavelet quanh keypoint SURF cũng sử dụng phương pháp cựctrị không gian tỷ lệ để tìm điểm đặc trưng chính (keypoint) Các đặc trưng củakeypoint được mô tả và biểu diễn dưới dạng vector biểu diễn độ lớn và hướng gradientphân phối đặc trưng Phương pháp SURF cũng gồm hai bước chính là thuật toán pháthiện keypoint (detection) và mô tả đặc trưng vùng dữ liệu quanh keypoint (keypointdescription).

SURF phát hiện điểm quan tâm bằng cách sử dụng phương pháp nhận dạng đốmtheo ma trận Hessian Định thức ma trận Hessian được dùng để đo sự thay đổi cục bộquanh một điểm và các điểm được chọn tại những vị trí định thức đạt giá trị cực đại.SURF cũng sử dụng định thức Hessian cho việc lựa chọn mức tỷ lệ Cho một điểmp(x,y) của ảnh I và hệ số tỷ lệ , khi đó ma trận Hessian H(p,) được xác định nhưsau:

Trang 9

Hình 5.7 Sử dụng phương pháp integral image để tính nhanh tổng trong vùnghình chữ nhật (mức xám thể hiện tương đối giá trị lưu trong bảng).

Với L pxx( , ), L pxy( , ), L pyx( , ), L pyy( , ) là các tích chập của đạo hàm bậc 2 củaGaussian với ảnh I(x, y) tại điểm x, y tương ứng  2 g ( ) /  x 2, ký hiệu tương ứng là Dxx,

Như vậy, định thức Hessian có thể được xác định như sau:

xx yy xy

Với w là trọng số cân bằng biểu thức của định thức Hessian tùy thuộc vào các hệ số

tỷ lệ Điều này là cần thiết để duy trì năng lực giữa nhân Gaussian và xấp xỉ Gaussian:

Tập điểm chính được xác định ở các mức tỷ lệ khác nhau, vì so sánh ảnh thườngyêu cầu thực hiện trên ảnh với nhiều mức tỷ lệ khác nhau Trong các thuật toán pháthiện đặc trưng khác, người ta thường xử lý trên nhiều mức tỷ lệ ảnh gọi là kim tự thápảnh (image pyramids) Ảnh được làm mờ với bộ lọc Gaussian, sau đó tiếp tục áp dụnglại cho mức scale cao hơn (hoặc thấp hơn) theo kích thước ảnh để tìm kiếm các điểmquan tâm Với phương pháp SURF, ở mức thấp nhất trong không gian tỷ lệ nhận được

từ đầu ra của bộ lọc 9×9 Do vậy, khác với phương pháp trước (ví dụ SIFT), không

S

Trang 10

gian tỷ lệ trong SURF được thực hiện bằng cách áp dụng các bộ lọc với kích thướckhác nhau Theo đó, không gian tỷ lệ được phân tích với kích thước bộ lọc tăng dầnlên thay vì giảm dần kích thước ảnh Đầu ra của bộ lọc 9×9 xem như là mức khởi tạovới hệ số tỷ lệ s=1.2 (tương ứng với đạo hàm Gaussian với =1.2) Các mức sau đóthu được bằng cách lọc với mặt nạ lớn hơn, ví dụ như 9×9, 15×15, 21×21,…

Việc xử lý loại trừ không cực đại (non-maximum suppression) đối với điểm chínhtrong vùng láng giềng 3×3×3 được áp dụng để xác định vị trí điểm quan tâm trong ảnh

và trên các mức tỷ lệ khác nhau Cực đại của định thức ma trận Hessian sau đó đượcnội suy trên không gian ảnh và không gian scale bằng cách sử dụng phương phápBrown [30] Nội suy không gian tỷ lệ là bước đặc biệt quan trọng, vì sự khác nhau về

tỷ lệ giữa các lớp đầu của mỗi quãng là tương đối lớn

Hình 5.9 Các vùng điểm chính được phát hiện bằng Hessian dùng trong SURF

5.3.3 Mô tả đặc trưng SURF

Mục tiêu của bước này là cung cấp bộ mô tả đặc trưng ảnh có tính đơn nhất và bềnvững cho mỗi keypoint Việc mô tả dựa trên sự phân phối cường độ sáng của mộtvùng quanh keypoint Số chiều của bộ mô tả có ảnh hưởng trực tiếp đến cả việc tínhtoán và độ chính xác đối với các bước sau như so sánh mẫu, nhận dạng mẫu,… Một bộ

mô tả với số chiều nhỏ có thể vững về tính biến đổi giao diện tuy nhiên nó có thể gặpphải vấn đề không cung cấp đủ sự khác biệt giữa các mô tả keypoint dẫn đến có quánhiều nhầm lẫn trong kết quả so sánh mẫu

Tương tự như phương pháp SIFT, bước này thực hiện gán hướng dựa vào thông tintrong vùng tròn xung quanh keypoint, sắp xếp hướng được chọn và trích xuất đặctrưng SURF Để nhận được bộ mô tả bất biến với phép biến đổi quay, hướng chính củakeypoint cần được xác định Tính toán giá trị của Haar wavelet theo các hướng x và ytrong hình tròn xung quanh keypoint bán kính 6s, với s là mức tỷ lệ tương ứng màkeypoint được tìm thấy Giá trị này được trọng số hóa bằng hàm phân phối Gaussianvới tâm chính là vị trí của keypoint Hướng trội được ước lượng bằng việc tính tổnggiá trị phản hồi trong cửa số hướng với kích thước xác định trước

Trang 11

Tính tổng giá trị phản hồi theo chiều ngang và chiều dọc, hai tổng phản hồi sau đótạo thành vector hướng cục bộ Giá trị lớn nhất trên toàn bộ vector sẽ được sử dụngxác định hướng của keypoint Kích thước cửa sổ trượt là một tham số cần lựa chọn cẩnthận để thu được bộ mô tả có độ cân bằng giữa tính bền vững và độ phân giải góc.

Hình 5.10 Gán hướng, sử dụng một cửa sổ kích thước /3 phát hiện hướng trội tại cácđiểm với vùng tròn láng giềng quanh keypoint [28]

Phương pháp SURF mô tả đặc trưng keypoint bằng phản hồi Haar wavelet Để mô

tả một vùng xung quanh keypoint, dữ liệu được trích xuất ra trong một vùng hìnhvuông với tâm của vùng chính là vị trí keypoint và hướng đã được xác định ở bướctrước Kích thước cửa sổ là 20s, với s là giá trị mức tỷ lệ Vùng này được gọi là vùngquan tâm (interest region) Vùng quan tâm được chia thành 4×4 vùng con thể hiệnthông tin trên miền không gian ảnh lân cận Bộ lọc Haar wavelet được dùng nhằmtrích xuất trên toàn bộ không gian ảnh Wavelet tác động trên hai hướng dọc và ngang

và được cộng dồn theo các giá trị dyvà dx trên mỗi vùng vuông con Ta có thể sử dụnggiá trị tuyệt đối |dy| và |dx| cộng dồn để lấy thông tin về độ lớn của sự thay đổi cường

độ sáng trên ảnh

Hình 5.11 Biểu diễn đặc trưng keypoint: (a) vùng trích xuất đặc trưng, (b) chia vùng

quan tâm thành 4×4 vùng con, mỗi vùng có kích thước 2×2 [28]

Mỗi vùng con được mô tả bởi một vector bốn chiều với giá trị như sau:

Trang 12

thấy SURF-64 có tốc độ tính nhanh mà vẫn đảm bảo tính bền vững của đặc trưng.Haar-wavelet bất biến với sự thay đổi của ánh sáng và sự tương phản khi chuẩn hóavector đặc trưng về đơn vị (norm).

5.4 Mô tả đặc trưng Haar

5.4.1 Đặc trưng Haar

Phương pháp biểu diễn đặc trưng Haar-like feature (gọi tắt là phương pháp Haar)được giới thiệu bởi Viola và Jones [31] tại hội nghị quốc tế về thị giác máy tính vànhận dạng mẫu năm 2001 Phương pháp Haar phát triển dựa trên nguyên lý Haar-wavelet, dùng các đáp ứng cải thiện từ ba bậc đầu tiên của sóng Haar-wavelet như làtập đặc trưng:

1

Nguyên lý cơ bản phương pháp Haar là tính độ sai khác về tổng giá trị mức xámgiữa các vùng với nhau Phương pháp Haar lần đầu tiên được giới thiệu và áp dụngthành công cho nhận dạng mặt người theo thời gian thực nhờ kết hợp phương pháptính nhanh theo tích phân ảnh (intergral image) Ban đầu, bộ mô tả Haar chỉ sử dụng 4loại mẫu đặc trưng cơ bản là sự kết hợp của hai, ba hoặc bốn vùng phân phối theo cácdạng tương ứng như minh họa

( , ) white regions ( , ) black regions

Hình 5.12 Các mẫu đặc trưng cơ bản của Haar: (a) các khối và phân phối của nó theo

đề xuất của Viola [31], (b) ứng dụng trong nhận dạng mặt người

Như vậy, mỗi đặc trưng Haar chính là giá trị khác biệt giữa tổng giá trị mức xámđiểm ảnh trong vùng đen và vùng trắng tương ứng theo từng loại mẫu và từng kíchthước vùng khác nhau Trong thực nghiệm và ứng dụng thực tế, kích thước của mỗihình chữ nhật đen và trắng được thay đổi tương ứng từ ngưỡng dưới đến ngưỡng trên,mỗi lần thay đổi theo hệ số tỷ lệ nào đó để trích ra tập nhiều đặc trưng và được ghépkết hợp lại với nhau theo một thứ tự nhất định thành một vector đặc trưng

5.4.2 Trích xuất đặc trưng Haar

Để tính các giá trị của đặc trưng Haar, ta phải tính tổng giá trị pixel trong các vùngtrên ảnh Việc này được thực hiện lặp đi lặp lại toàn bộ vị trí trên ảnh mẫu (quét qua

Trang 13

đặc trưng Haar là tuy giá trị mức xám pixel không đổi nhưng việc tính tổng được lặp

đi lặp lại nhiều lần dẫn đến chi phí tính toán lớn, không đáp ứng được đòi hỏi xử lýthời gian thực (real time) Do đó, tác giả Viola và Jones [31] đã đề xuất giải pháp tínhnhanh đặc trưng mà không cần thực hiện lặp lại cho mỗi mức scale ảnh và mỗi kíchthước vùng (đen/ trắng) bằng cách sử dụng phương pháp tích phân ảnh (integralimage) Phương pháp này sử dụng một mảng hai chiều có kích thước bằng với kíchcủa ảnh để lưu trữ tổng giá trị cộng dồn pixel từ trái qua phải, từ trên xuống dưới.Nghĩa là mỗi phần tử của mảng này được tính bằng tổng tích lũy của toàn bộ điểm ảnh

từ đầu tiên đến vị trí phần tử hiện tại theo công thức:

Hình 5.13 Tính nhanh tổng giá trị pixel trong vùng chữ nhật bất kỳ [31]

Bảng tổng tích lũy CS được sử dụng để tính tổng giá trị các pixel trong vùng chữnhật bất kỳ với chỉ cần 4 phép truy xuất Trong hình minh họa, cần tính tổng giá trịpixel trong vùng chữ nhật ABCD của ảnh I bằng cách sử dụng bảng CS để thực hiệntheo công thức:

Sum ABCD CS C CS B CS D CS A   5.22

Số phép toán cần thiết để tính mỗi đặc trưng Haar phụ thuộc vào số vùng chữ nhật

ta muốn tính tổng nhân với 4 phép truy xuất Ví dụ đặc trưng là sự sai khác giữa 2vùng đen trắng thì cần 2×4- 2= 6 phép truy xuất Nếu đặc trưng Haar là sự khác biệtgiữa 2 vùng đen và 1 vùng trắng hoặc ngược lại giữa 2 vùng trắng và 1 vùng đen thì sốphép truy xuất là 4×3- 4=8

5.4.3 Mở rộng đặc trưng Haar

Để nâng cao hiệu quả sử dụng đặc trưng Haar trong nhận dạng đối tượng, các loạimẫu trích đặc trưng được nhóm tác giả Rainer Lienhart và Jochen Maydt đề xuất mởrộng nhằm tập trung làm nổi bật các đặc tính của đối tượng như: Đặc trưng cạnh (edgefeatures), đặc trưng đường (line features), đặc trưng xung quanh tâm (center-surroundfeatures) như hình minh họa Cách tiếp cận này cũng dựa vào các phép tính nhanh đặc

Trang 14

trưng Haar trên hình chữ nhật nằm ngang hoặc dọc của nhóm tác giả Viola và Jones[31], các hình chữ nhật trong trường hợp này có thể được quay 45o Với mỗi loại mẫu

mở rộng có công thức tính nhanh khác nhau[32]

Hình 5.14 Mở rộng đặc trưng Haar [32]: (a) vùng chữ nhật được mở rộng theo hướng

quay 45o, (b) các loại hình dáng của đặc trưng mở rộng

Nhằm phù hợp với bài toán nhận dạng người đi bộ và các đối tượng có hình dángxiên, nhóm tác giả trong[33], đã đề xuất mở rộng phương pháp mô tả đặc trưng Haartheo hướng không chỉ sử dụng hình chữ nhật nằm vuông góc với trục hoành hoặc quay

45omà sử dụng các hình dáng hình bình hành để mô tả đặc trưng Haar, như minh họa:

Hình 5.15 Mở rộng đặc trưng Haar bằng cách sử dụng hình bình hành [33].Một trong những đặc trưng Haar là khả năng tính toán nhanh đáp ứng yêu cầu xử lýthời gian thực Việc tính toán đặc trưng Haar chủ yếu dựa vào hình dáng đặc biệt củavùng ảnh tính tổng giá trị mức xám là các hình chữ nhật, vuông góc hoặc song songvới trục hoành hoặc quay 45o Tuy nhiên, với hình dáng vùng là hình bình hành, việctính nhanh cần được thay đổi để phù hợp và có khả năng sử dụng phương pháp tíchphân ảnh Có 4 loại hình dáng hình bình hành cơ bản được mô tả như trong hình trên,tương ứng là 4 công thức tính tổng tích lũy theo góc chéo của hình bình hành Dạngthứ nhất được tính theo công thức:

Trang 15

   

m (4)( , ) n ( , ) (4)( , -1) (4)( 1, 1)- (4) 1, ,

tổng giá trị pixel trong vùng hình bình hành [33]

5.5 Mô tả đặc trưng HOG

5.5.1 Đặc trưng HOG

Đặc trưng HOG (Histograms of Oriented Gradients) được đề xuất bởi nhóm tác giảDalal và Trigg [34], trình bày lần đầu tại hội thảo quốc tế chuyên ngành thị giác máytính và nhận dạng mẫu năm 2005 Bộ mô tả đặc trưng HOG được dùng phổ biến trongnhiều bài toán nhận dạng mẫu như nhận dạng người, nhận dạng xe, biển báo giaothông và nhiều loại đối tượng khác Đặc trưng HOG có thể mô tả hình dáng và tư thếcủa đối tượng theo sự phân bố về hướng của gradient mức xám ảnh HOG thuộc nhómphương pháp mô tả đặc trưng toàn vùng ảnh về đối tượng, đặc trưng được biểu diễndưới dạng một vector Ví dụ, để mô tả hình dáng người, bộ mô tả HOG là một tập đặctrưng toàn cục mô tả về phân phối hình dáng của đối tượng người trong mẫu (hay còngọi trong một window) Qua việc trích rút đặc trưng trên mẫu ảnh cho trước, ta thuđược một vector đặc trưng của đối tượng trong ảnh đó Tương tự như các phương pháp

Trang 16

biểu diễn đặc trưng khác, HOG biến đổi không gian ảnh sang không gian vector đặctrưng để có thể xử lý đơn giản hơn và đạt độ chính xác cao hơn trên ảnh thô bằng cáccông cụ trí tuệ nhân tạo trong lĩnh vực nhận dạng mẫu.

5.5.2 Quá trình trích rút đặc trưng HOG

Quá trình xử lý liên quan đến cách chia mẫu ảnh đầu vào thành lưới các cell và tínhvector đặc trưng HOG theo phương pháp thông dụng nhất áp dụng cho bài toán nhậndạng người Để phù hợp với các bài toán nhận dạng đối tượng khác nhau, cần cónhững biến đổi phù hợp nhằm đạt kết quả chính xác cao và thời gian tính toán tối ưunhất Quá trình trích rút đặc trưng HOG được thực hiện theo các bước như sau:

Quá trình chia mẫu ảnh đầu vào phục vụ tính đặc trưng HOG được thực hiện nhưsau: Mỗi mẫu ảnh đầu vào (window) được xác định kích thước chuẩn hóa là 128×64pixels, mẫu được chia thành các cell kích thước 8×8 pixels (có thể chia cell dạng hìnhtròn), mỗi block gồm 2×2 cells (tương ứng 16×16 pixels) xếp chồng lên nhau, mỗiblock chồng lên 50% block láng giềng Do đó, với kích thước mẫu đầu vào là 128×64được chia thành 7×15 blocks =105 blocks Mỗi cell xây dựng lược đồ 9 bin dựa vàohướng gradient (vector 9 phần tử), mỗi block hình thành nên 36 phần tử (4 cell× 9phần tử/cell) Cuối cùng, liên kết tập vector đặc trưng theo block hình thành nên vectorđặc trưng HOG của mỗi mẫu ảnh

Hình 5.17 Mẫu ảnh đầu vào được chia thành các cell và block để tính đặc trưng HOG.Quá trình trích rút đặc trưng HOG như sau:

- Bước 1: Tiền xử lý thực hiện chuẩn hóa màu, lọc nhiễu, chuyển ảnh màu qua ảnh

đa mức xám, Việc trích rút đặc trưng HOG thường được thực hiện trên ảnh đa mứcxám, nếu ảnh đầu vào là ảnh màu sẽ được chuyển thành ảnh đa mức xám Tuy nhiên,HOG cũng có thể trích rút trên ảnh màu theo từng kênh màu Sau đó chuẩn hóagamma trên ảnh đa mức xám để giảm đi ảnh hưởng của sự thay đổi ánh sáng Theo tác

Trích xuất đặc trưng trên toàn mẫu ảnh

- Mỗi cell chứa 8x8 pixels

- Số cell theo chiều ngang 64pixel/8pixel =8

- Số cell theo chiều dọc 128pixel/8pixel =16

- Có 105 block với 7 block theo chiều ngang và 15 block theo chiều dọc.

Trang 17

giả Dalal and Triggs [34] đã chỉ ra rằng việc chuẩn hóa này có thể được bỏ qua màkhông làm ảnh hưởng lớn đến độ chính xác của HOG.

- Bước 2: Tính gradient ảnh trên tất cả các pixel của ảnh Phương pháp phổ biếnnhất để tính gradient ảnh là sử dụng mặt nạ lọc một chiều theo các hướng X (ngang) và

Y (dọc) như sau:

Tính độ lớn (biên độ) và hướng gradient Tùy thuộc vào từng bài toán cụ thể ta cónhiều cách xác định hướng khác nhau, như sử dụng hướng theo 360 độ hoặc 180 độ,gradient tính có dấu hoặc không có dấu Không tính dấu có nghĩa là gradient ngượcchiều nhau được xem là như nhau, không phân biệt từ đen qua trắng hoặc trắng quađen Tính độ lớn gradient có thể không cần thiết nếu như việc tính lược đồ gradient chỉdựa vào hướng Trong trường hợp độ lớn gradient được sử dụng như là trọng số đểtính giá trị các bin thì cần đến giá trị độ lớn gradient Giá trị độ lớn và hướng được tínhđơn giản theo công thức:

2 2 y

x G G

và Y, (c) hướng và độ lớn gradient

- Bước 3: Chia hướng theo các bin của lược đồ hướng gradient: Mỗi pixel trong cáccell đóng góp một trọng số cho mỗi kênh (bin) của lược đồ dựa vào hướng gradientcủa nó Như đã phân tích ở trên, các cell có thể là lưới hình vuông hoặc hình quạt vàcác kênh của lược đồ gradient có thể nằm trong phạm vi [0, 180] (gradient không tínhdấu) hoặc [0, 360] (gradient tính dấu) tùy thuộc vào từng ứng dụng Cụ thể, tác giả

Trang 18

Dalal và Triggs [34] đã chứng minh rằng sử dụng 9 kênh để biểu diễn lược đồ gradientkhông tính dấu, mỗi kênh tương ứng với 20ocho kết quả tối ưu đối với bài toán nhậndạng người Khi phân chia gradient theo hướng mỗi phần tử tại mỗi pixel đóng góptrọng số theo mức độ "gần" hướng của nó với 2 bin liền kề Ví dụ nếu một vectorgradient có góc là 80o thì cộng thêm 1/2 độ lớn của nó vào bin có tâm tại 700 và 1/2

độ lớn của nó vào bin có tâm tại 900, nhưng nếu một vector gradient có góc là 750 thìcộng thêm 3/4 độ lớn của nó vào bin có tâm tại 700 và 1/4 độ lớn của nó vào bin cótâm tại 900

Vector đặc trưng của mỗi cell sẽ gồm 9 phần tử tương ứng với 9 bin và giá trị tạiphần tử thứ i bằng tổng giá trị có trọng số theo hướng tương ứng có tọa độ nằm trongcell đó

Như vậy, bước này cần các tham số là số bin hướng (9 bins hoặc 18 bins) của lược

đồ, kích thước cell (thông thường chọn 8×8 pixels)

Hình 5.20 Chia hướng theo các bin của lược đồ hướng gradient

- Bước 4: Tính và chuẩn hóa vector đặc trưng cho từng block: Để tính vector đặctrưng trong mỗi block cần xác định kích thước block (thông thường mỗi block gồm2×2=4 cells) và mức độ chồng lên nhau (overlap) giữa các block (mặc định là chồng ½với block láng giềng) Vector đặc trưng của mỗi block là việc ghép liên tiếp các vectorđặc trưng từng cell trong block theo một thứ tự nhất định Như vậy, theo các tham sốmặc định ở trên thì mỗi vector đặc trưng của block sẽ gồm 9 bins × 4 cells = 36 phần

tử Công thức tổng quát để tính kích thước vector đặc trưng của block là sốcells/block× số bin/cell

Tiếp theo là chuẩn hóa vector đặc trưng của mỗi block Có nhiều phương phápchuẩn hóa khác nhau như L1-norm, L2-norm, L1_sqrt Theo Dalal và Triggs[34],chuẩn hóa L2-norm cho kết quả tốt, chuẩn hóa L1-norm làm giảm hiệu suất 5%, cònnếu không chuẩn hóa thì giảm hiệu suất 27% Việc chuẩn hóa được thực hiện như sau:gọi  là vector đặc trưng của một block cho trước,  là một hằng số rất bé để tránhtrường hợp chia cho không, mỗi kiểu chuẩn hóa được tính theo từng công thức sau:

2 22

Trang 19

- Bước 5: Tính vector đặc trưng cho toàn bộ mẫu ảnh Bước này chỉ việc ghép cácvector đặc trưng của từng block lại với nhau theo một thứ tự nhất định để được vectorđặc trưng ảnh Thông thường trong trích xuất đặc trưng HOG, các block không táchbiệt nhau mà chồng lên nhau, cách nhau một khoảng bằng kích thước cell theo mỗichiều Như mô tả ở phần đầu về cách chia ảnh thành các lưới cells và block trên mỗimẫu ảnh kích thước 64× 128 pixels, ta có 7× 15=105 blocks trên toàn mẫu Mỗi blockchứa 4 cells với 9 bins/cell Do vậy, kích thước vector đặc trưng của mẫu ảnh là 105blocks× 36 phần tử = 3780 phần tử.

Quá trình trích rút đặc trưng HOG được mô tả lại như sau:

Mẫu ảnh vào Tiền xử lý Tính gradients

Chia hướng và nhóm theo hướng gradient trên các cells

Tính đặc trưng và chuẩn hóa theo block

Trích xuất đặc trưng trên toàn

mẫu ảnh

Hình 5.21 Sơ đồ tổng quan về trích rút đặc trưng HOG[34]

Công thức tổng quát tính số phần tử của vector đặc trưng HOG:

b là kích thước block (tính theo cell);

 là khoảng trượt giữa các block (tính theo cell);

cell

w là chiều rộng mẫu (tính theo cell);

cell

h là chiều cao mẫu (tính theo cell);

5.5.3 Các biến thể của biểu diễn đặc trưng HOG

Các biến thể của phương pháp HOG[34] gồm: R – HOG (rectangular HOG), HOG (circular HOG), center-surround HOG, R2 –HOG

Trang 20

C RC HOG (Rectangular HOG): Phân chia mẫu thành các cell và các block Cell làlưới hình vuông giống như đã trình bày ở phần trên.

- C-HOG (Circular HOG): Các cell trong block được định nghĩa là những dạng hìnhtròn xác định theo bán kính và góc Cell trung tâm của block được chia thành các bintheo góc và bán kính Các bin góc được phân bố đều theo hình tròn Các bán kính binđược tính theo tỉ lệ log, do đó kết quả là các bin ở xa tâm có kích thước lớn hơn tăngkích thước bin ở gần tâm Phương pháp biểu diễn C-HOG khá giống phương phápShape-Context

- Centre-Surround HOG: Cấu trúc dựa trên R-HOG và C-HOG Phương pháp nàykhông đánh trọng số nên các cell chỉ được chuẩn hóa một lần Do đó, cách tiếp cậnnày cho phép tính toán nhanh đặc trưng HOG

- R2-HOG: Sử dụng gradient theo cạnh, tính thêm đạo hàm bậc hai, nối hai kết quảlược đồ gradient lại với nhau để tạo thành vector đặc trưng

Hình 5.22 Các biến thể mô tả HOG: (a) R-HOG, (b) C-HOG và (c) single C-HOG

Hình 5.23 Trích xuất đặc trưng HOG: (a) mẫu ảnh, (b) trực quan hóa đặt trưng HOG,(c) và (d) mức độ ảnh hưởng các block trên mẫu positive và negative [34].5.6 So khớp ảnh

5.6.1 Giới thiệu về so khớp ảnh

Kỹ thuật so khớp (matching) là tập hợp các phương pháp nhằm so sánh, tìm kiếmmột phần của ảnh giống với mẫu đưa vào (templete) hoặc tìm kiến sự giống nhau giữahai vùng của hai ảnh đầu vào Kỹ thuật so khớp ảnh được sử dụng nhiều trong sảnxuất, kiểm soát chất lượng, điều hướng robot, xây dựng mô hình 3D, nhận dạng đốitượng,… Việc so khớp ảnh thường dựa vào sự phân phối thông tin cạnh, góc trên ảnh

đa mức xám, ảnh màu liên các đến đối tượng trong ảnh Trong xử lý ảnh, một phương

Trang 21

pháp so khớp tốt nếu nó có khả năng giải quyết được vấn đề co giãn tỷ lệ không gianảnh, quay ảnh, điều kiện sáng thay đổi, sự biến dạng của đối tượng và sự thay đổi gócquan sát,… Có nhiều cách tiếp cận khác nhau trong so khớp ảnh như so khớp dựa vàođặc trưng (Feature-based approach), so khớp dựa vào mẫu (template-basedapproach),… Trong phần này, cách tiếp cận dựa vào đặc trưng được giới thiệu với cácloại bộ mô tả điển hình được sử dụng khá phổ biến và có độ chính xác cao như SIFT

và SURF

5.6.2 Thuật toán Brute- Force

Về mặt tổng quát, thuật toán Brute Force (BF) là một dạng thuật toán vét cạn, thựchiện kiểm tra tất cả các trường hợp có thể có, bao gồm cả trường hợp đúng và trườnghợp dư thừa, để tìm kiếm lời giải cho bài toán Trong so khớp ảnh, BF thực hiện lấymột bộ mô tả đặc trưng trong tập thứ nhất và tìm cách so sánh với tất cả các đặc trưngtrong tập thứ hai để tìm đặc điểm 1 vị trí tương đồng theo một độ đo tương tự nào đó.Kết quả trả về là phần tử nào “gần” nhất Quá trình lặp lại cho các phần tử tiếp theotrong tập thứ nhất đến khi tất cả các phần tử đều được so khớp Độ đo khoảng cáchđược dùng trong BF có thể SSD (sum of squared difference- bình phương sai số), SAD(sum of absolute difference - tổng giá trị tuyện đối sai số), độ tương quan chuẩn tắc,

5.6.3 So khớp ảnh dùng bộ mô tả SIFT

Để thực hiện so khớp giữa hai ảnh, chương trình nhận dạng cần được mô tả đặctrưng keypoint SIFT của tác giả Lowe [25]17 Trong ví dụ này, giả sử có hai ảnh đầuvào, sử dụng phương pháp SIFT để phát hiện và mô tả đặc trưng được lưu trong des1

và des2 với các vị trí keypoint tương ứng trong loc1 và loc2 Mỗi mô tả của keypointtrong des1được tính độ tương tự với des2, sau đó lựa chọn phần tử tương tự nhất vớiphần tử hiện tại trong des1, nếu độ khác biệt nhỏ hơn một ngưỡng nào đó thì xem nhưhai keypoint là tương đương nhau và được xác định là khớp với nhau, ngược lại thìkhông có keypoint nào trong des2 khớp với nó Quá trình lặp lại cho các keypoint kếtiếp trong des1 Sau đó thực hiện xác định vị trí các cặp keypoint khớp với nhau Kếtquả trả về là số điểm tương ứng khớp với nhau và vị trí tương ứng của từng cặpkeypoint giữa hai ảnh Quá trình thực hiện được mô tả như sau:

[~, des1, loc1] = sift(image1);

[~, des2, loc2] = sift(image2);

Trang 22

Hình 5.24 Kết quả so khớp: (a) Các cặp điểm tương ứng giữa hai ảnh tuần tự, (b)

tương ứng trong mô hình 3D

5.6.4 So khớp ảnh dùng bộ mô tả SURF

Một trong những ưu điểm quan trọng của phương pháp biểu diễn đặc trưng SURF làquá trình trích rút đặc trưng nhanh nhờ sử dụng kỹ thuật tích phân ảnh và phép loại trừcác điểm phi cực đại Việc so khớp đặc trưng SURF cũng được thực hiện một cáchnhanh chóng bằng cách thực hiện bước đánh chỉ mục đơn giản dựa trên dấu Laplacian(theo trace của ma trận Hessian) Nó không yêu cầu tính toán trong bước so khớp này

vì tập giá trị đã được thực hiện trong quá trình tìm kiếm điểm đặc trưng Dấu củaLaplacian giúp phân biệt đốm (blob) sáng trên nền tối hoặc đốm tối trên nền sáng Kỹthuật này giúp quá trình so khớp nhanh hơn nhiều trong trường hợp tốt nhất do khôngphải tốn chi phí tính toán dấu của Laplacian

Hình 5.25 Các keypoint ở đốm sáng và đóm tối không khớp với nhau[28]

Trang 23

Do vậy, việc so khớp các đặc trưng chỉ cần thực hiện trên các keypoint tại các đốm

có cùng kiểu tương phản (sáng đến tối hoặc tối đến sáng) Việc cực tiểu hóa thông tincho phép quá trình so khớp được nhanh hơn mà không làm giảm độ chính xác của bộ

mô tả Việc so khớp ảnh có thể thực hiện theo phương pháp đầy đủ (exhaustive) hoặcphương pháp xấp xỉ (approximate) Phương pháp so khớp đầy đủ thực hiện tínhkhoảng cách từng đôi một giữa các vector đặc trưng Ngược lại phương pháp xấp xỉ sửdụng việc tìm kiếm các láng giềng gần nhất, thường nó áp dụng cho các tập đặc trưnglớn [35] Bộ mô tả và so khớp ảnh đã được cài đặt và cung cấp thành các hàm mặcđịnh trong Matlab sử dụng dễ dàng như ví dụ sau:

Hình 5.26 So khớp ảnh bằng mô tả SURF, các cặp điểm tương ứng giữa 2 ảnh

5.6.5 So khớp dựa vào điểm góc Harris

Quá trình thực hiện việc so khớp dựa vào điểm góc (corner) có các bước sau:

+ Tìm kiếm điểm góc theo phương pháp Harris được tập keypoint;

+ Mô tả đặc trưng ảnh tại các vị trí keypoint;

+ So khớp các vector mô tả đặc trưng của từng keypoint giữa hai tập mẫu và tập đốisánh với nhau

Tương tự như so khớp dùng bộ mô tả SURF, mô tả góc theo Harris cũng được thựchiện theo phương pháp đầy đủ hoặc phương pháp xấp xỉ [35] Để đo mức độ khácnhau giữa hai vector đặc trưng giữa hai ảnh tương ứng ta có thể sử dụng khoảng cáchEuclidean:

Trang 24

i

Với một số khả năng sau:

- Trả về tất cả vector đặc trưng có khoảng cách nhỏ hơn hằng số ngưỡng cụ thể chotrước nào đó

- Láng giềng gần nhất: Trả về vector có khoảng cách d bé nhất

- Tỷ lệ khoảng cách láng giềng gần nhất (NNDR- nearest neighbor distance ratio)được xác định NNDR=d1/d2 với khoảng cách gần thứ nhất và gần thứ hai Nếu NNDRnhỏ thì láng giềng có độ sai khác nhỏ

I1 = rgb2gray(imread('viprectification_deskLeft.png'));I2 = rgb2gray(imread('viprectification_deskRight.png'));tform = maketform('affine',[1 0 0; 1 1 0; 0 0 1]);

5.7 Kỹ thuật lọc nhiễu trong so khớp ảnh

5.7.1 Lọc theo bình phương tối thiểu

Phương pháp lọc bình phương tối thiểu (least squares filter-LS) là lớp phương pháplọc thích ứng bằng cách tìm kiếm các hệ số lọc tương ứng giữa hai thực thể cần sosánh sao cho bình phương sai số là nhỏ nhất Bài toán tối ưu hóa lựa chọn các bộ hệ sốsao cho việc so khớp có sai số đạt giá trị cực tiểu dựa vào sai số thống kê trung bình

Trang 25

của bình phương lỗi (error) Như vậy, cách giải quyết bài toán theo phương pháp nàythuộc cách tiếp cận xác suất thống kê cổ điển.

Tổng quát về phương pháp bình phương tối thiểu được mô tả như sau:

Cho tập các bộ dữ liệu (xi, yi) với i=1…n trong đó xilà điểm mẫu đầu vào (example)

và yi là giá trị kỳ vọng Yêu cầu bài toán là tìm một hàm số f thỏa mãn điều kiện f(xi)

≈ yisao cho sai số giữa f và y là nhỏ nhất

Cần xác định hàm f theo các điều kiện phụ thuộc tham số x và kỳ vọng y Giả sửhàm f biến đổi tùy thuộc vào một số tham số pjvới j = 1, 2, , m theo công thức f(x)

Hình 5.28 Mô tả sai số giữa giá trị ước lượng và giá trị kỳ vọng18

Cách tiếp cận theo bình phương sai số tối thiểu cho phép tìm ra tập ước lượng khớpnhất cho tất cả các điểm kỳ vọng dựa trên điều kiện tiêu chuẩn đánh giá là tổng cáckhoảng cách từng điểm kỳ vọng đến điểm ước lượng là nhỏ nhất, khoảng cách này gọi

là sai số (error) Tuy nhiên, trong thực tế dữ liệu thường chứa nhiễu (hoặc còn gọi làngoại lai - outlier), nếu nhiễu trong dữ liệu nhiều thì ảnh hưởng rất lớn đến kết quả Dovậy, cách tiếp cận này dẫn đến không hiệu quả, sai số lớn trong trường hợp dữ liệu cónhiều nhiễu

5.7.2 Phương pháp đồng thuận ngẫu nhiên

Phương pháp lọc đồng thuận ngẫu nhiên (RANSAC- Random sample consensus) làphương pháp lặp nhằm ước lượng các tham số của mô hình toán học từ tập dữ liệu

18 https://commons.wikimedia.org/wiki/File:Linear_least_squares2.png

Trang 26

được quan sát có chứa dữ liệu nhiễu (hay còn gọi là nhiễu ngoại lai-outliers) Kỹ thuậtRANSAC được sử dụng nhiều trong loại trừ các bộ dữ liệu nhận dạng sai do nhiễutrong quá trình so khớp ảnh Kỹ thuật này được đề xuất bởi nhóm tác giả Fischler andBolles năm 1981[36], được xây dựng trên giả thiết rằng việc giải quyết bài toán thựchiện trên các bộ dữ liệu đúng (hoặc sai số nhỏ gọi là inliers) và loại trừ được các nhiễulớn Điều này khác với phương pháp LMS (Least mean squares) là dùng toàn bộ cáctập dữ liệu để làm tiêu chuẩn đánh giá, nghĩa là dùng cả các bộ dữ liệu đúng và dữ liệunhiễu để đánh giá chất lượng so khớp Trong RANSAC, phân phối của tập dữ liệuđược mô tả theo tập tham số mô hình, bao gồm cả dữ liệu chứa nhiễu Khi một môhình được xây dựng lên, các bộ dữ liệu nhiễu sẽ không phù hợp với mô hình và do đó

nó dễ dàng bị loại bỏ khi tính giá trị lỗi để so sánh, lựa chọn đánh giá tiêu chuẩn tối

ưu Việc đánh giá cũng được thực hiện theo nguyên tắc “bỏ phiếu”, nghĩa là ý tưởngcủa RANSAC giống việc bỏ phiếu: Từ tập các phần tử dữ liệu (các điểm), có thể lựachọn ngẫu nhiên các tập con khác nhau để xây dựng các mô hình khác nhau Xây dựngngưỡng để xác định phần tử được tham gia “bầu cử” theo từng mô hình; tiến hành bỏphiếu, với mỗi mô hình đã xây dựng từ tập con (ngẫu nhiên), tính khoảng cách từ mỗiphần tử đến mô hình, phần tử nào có khoảng cách vượt quá ngưỡng bị xem như nhiễu

và nằm ngoài mô hình (outliers), phần tử nào có khoảng cách nhỏ hơn ngưỡng đượcgọi là điểm trong (inliers); Đánh giá mô hình thông qua phiếu bầu, tức là mô hình nào

có nhiều phần tử inliers hơn sẽ được xem là mô hình tốt nhất và được chọn

Hình 5.29 Lọc RANRAC: Các điểm trong (xanh), điểm ngoại lai (đỏ)

Kỹ thuật RANSAC được tóm tắt như sau:

Cho tập dữ liệu đầu vào (gọi là giá trị quan sát được) Tìm cách xây dựng một môhình để ước lượng giá trị, với một bộ tham số cụ thể nào đó sao cho phù hợp với bộ dữliệu quan đã cho

Quá trình lặp được thực hiện như sau:

1) Lựa chọn ngẫu nhiên tập con từ dữ liệu đầu vào, gọi là tập inliers của mô hình.2) Xây dựng một mô hình phù hợp với tập dữ liệu inliers mô hình ở bước 1

Ngưỡng

Trang 27

3) Thực hiện đánh giá toàn bộ các phần tử dữ liệu đầu vào với mô hình hiện tại.Những phần tử nào phù hợp với mô hình (theo một tiêu chí đánh giá nào đó - lossfunction) thì được gọi là tập đồng thuận (consensus, bầu).

4) Mô hình ước lượng được gọi là phù hợp tốt nếu nó có đủ số phần tử đồng thuận.5) Sau đó, mô hình hiện tại có thể được cải thiện bằng cách ước lượng lại, sử dụngtất cả các phần tử đồng thuận

Quá trình này được lặp lại với số lần xác định trước Với mỗi lần thực hiện một môhình mới được đưa vào để thay thế những mô hình đã tìm được ở các lần lặp trước đónếu nó có số phần tử đồng thuận tốt hơn hoặc có thể bị loại bỏ nếu số lượng các phần

tử đồng thuận không đạt ngưỡng

Như vậy, phương pháp RANSAC dựa vào số phần tử đồng thuận (inliers) để đánhgiá mức độ tốt và không bị ảnh hưởng của các phần tử ngoại lai (outliers), trong khi đóphương pháp bình phương tối thiểu xét trên tập tất cả các phần tử (kể cả những phần tửnhiễu) sao cho bình phương sai số giữa giá trị thu nhận được và giá trị ước lượng là bénhất

Ví dụ minh họa thuật toán RANSAC:

%Tạo bộ dữ liệu để test Giả sử tìm hàm tuyến tính y=ax+b

bestPa1=0;bestP2=0;

% Chọn ngẫu nhiên 2 điểm bất kỳ

idx = randperm(number,num); samp = data(:,idx);

%Xây dựng ax+by+c=0 với a=-kLineN(2),b=kLineN(1)

% Cập nhật lại mô hình mới nếu tốt hơn các trước

if inNum>=round(inliersR*numbe) && inNum>bestNum

bestNum = inNum;

par1=(samp(2,2)-samp(2,1))/(samp(1,2)-samp(1,1)); par2= samp(2,1)-par1*samp(1,1);

bestPa1=par1; bestP2=par2;

end

end

Trang 28

bestPara=[bestPa1,bestP2]; % Trả về mô hình tốt nhất

% Plot the data points

figure; plot(data(1,:),data(2,:), 'o' );hold on ;

% Plot the best fitting line

figure;

imshow(boxI);

title( 'Image of a Box' );

sceneI = imread( 'clutteredDesk.jpg' );

figure;

imshow(sceneI);

title( 'Image of a Cluttered Scene' );

[boxF, boxP] = extractFeatures(boxI, boxP);

[sceneF, scenePo] = extractFeatures(sceneI,scenePo);

% So khớp ảnh và hiển thị các cặp điểm tương ứng

boxPairs = matchFeatures(boxF, sceneF);

mBoxP = boxP(boxPairs(:, 1), :);

mSceneP = scenePo(boxPairs(:, 2), :);

figure;

% Step 5: Lọc nhiễu theo biến đổi hình học

[tform, inBoxP, inSceneP] =

Trang 29

Kết quả được thể hiện trong hình dưới đây Đọc vào một ảnh mẫu là đối tượng cầntìm kiếm (a) và một ảnh toàn cảnh trong đó có chứa đối tượng cần tìm kiếm (c) Sửdụng phương pháp trích xuất đặc trưng SURF để phát hiện những điểm chính(keypoint) mà có đặc trưng tốt trong mỗi ảnh Với ảnh mẫu chỉ sử dụng 100 điểmchính tốt nhất, được thể hiện trong hình (b) và 300 điểm chính tốt nhất trong ảnh toàncảnh (d) Sau đó tiến hành mô tả đặc trưng tại các vị trí điểm chính này dưới dạng cácvector đặc trưng Hai tập vector đặc trưng từ ảnh mẫu và ảnh toàn cảnh được so khớpvới nhau sao cho khả năng tương tự giữa chúng là lớn nhất và thu được các cặp điểmtương tự tốt nhất với nhau như trong ảnh (e) Vì trong ảnh có nhiều vùng có tính chấttương tự nhau, do vậy để loại trừ nhiễu cần thực hiện việc lọc nhiễu dựa vào tính chấtbiến đổi hình học của đối tượng trong ảnh mẫu tương ứng với hình ảnh của nó trongảnh toàn cảnh bằng phương pháp lọc biến đối affine để thu được kết quả đã loại bỏngoại lai (f) Cuối cùng, dựa vào kích thước của mẫu và các tham số biến đổi hình họctương ứng giữa các cặp điểm chính đã được trích xuất để xác định vị trí của mẫu trongảnh toàn cảnh (g), nghĩa là đối tượng trong ảnh mẫu được tìm kiếm và nhận dạng được

vị trí của nó trong ảnh toàn cảnh

(e)

Trang 30

(g)Hình 5.30 Quá trình xử lý: trích xuất đặc trưng (b, d), so khớp đặc trưng (e, f) nhậndạng mẫu trong ảnh (g)

Câu hỏi và bài tập

1 Cài đặt thuật toán nhận dạng điểm góc, trích xuất mô tả đặc trưng điểm góc bằngphương pháp đã học

2 Cài đặt các thuật toán tìm kiếm keypoint và mô tả đặc trưng điểm ảnh theo cácphương pháp SIFT, SURF và đánh giá khả năng thực hiện của nó theo ý kiến cá nhân

3 Viết chương trình đọc vào một ảnh, dùng phương pháp Harris để phát hiện điểmgóc và hiển thị đánh dấu cộng (+) màu đỏ tại các vị trí điểm góc tìm được

4 Viết chương trình đọc vào một ảnh mẫu (ex1) và ảnh toàn cảnh (Img) có chứa đốitượng ảnh mẫu (ex1), thực hiện trích xuất điểm chính (keypoint) bằng phương phápHarris và biểu diễn đặc trưng theo một trong các phương pháp đã học và tiến hành sokhớp để tìm ra vị trí của mẫu (ex1) trong ảnh toàn cảnh (Img)

5 Viết chương trình đọc vào hai ảnh được chụp ở vị trí gần nhau (cảnh trong ảnhtrùng nhau khoảng 80%), sử dụng phương pháp Harris để phát hiện điểm góc trong haiảnh, biểu diễn mô tả đặc trưng và tiến hành so khớp, sau đó hiển thị các đường thẳngnối các cặp điểm tương ứng trong hai ảnh, các vị trí điểm chính đánh dấu “+”

6 Cài đặt thuật toán biểu diễn đặc trưng Haar, HOG để trích xuất đặc trưng ảnh

7 Tạo một tập ảnh đa mức xám gồm 100 ảnh (gọi là các mẫu) có cùng kích thước

128 x256 Viết chương trình đọc vào các ảnh và sử dụng thuật toán biểu diễn đặc trưngHaar để trích chọn đặc trưng theo dạng 1×2 (trắng phải - đen trái) và 2×1 (trắng trên -đen dưới), với mỗi mẫu lưu trữ thành một vector, dùng mảng 2 chiều A100×n để lưutoàn bộ đặc trưng các mẫu, với n là độ dài vector đặc trưng của mỗi mẫu

Trang 31

8 Viết chương trình đọc vào hai ảnh chụp khác thời điểm nhau về cùng một đốitượng, sử dụng phương pháp SIFT, SURF trích chọn điểm chính, biểu diễn đặc trưng

và so khớp, sau đó hiển thị các đường thẳng nối các cặp điểm tương ứng trong hai ảnh,các vị trí điểm chính đánh dấu “+” Bằng trực quan hãy đánh giá chất lượng giữa haiphương pháp này

9 Viết chương trình đọc vào một ảnh mẫu (ex1) và ảnh toàn cảnh (Img) có chứa đốitượng ảnh mẫu (ex1), thực hiện trích xuất điểm chính bằng phương pháp SIFT, SURF

và mô tả đặc trưng theo một trong các phương pháp đã học và tiến hành so khớp chúng

để tìm ra vị trí của mẫu (ex1) trong ảnh toàn cảnh (Img) Bằng trực quan hãy đánh giáchất lượng giữa hai phương pháp này

Trang 32

CHƯƠNG 6 KỸ THUẬT NHẬN DẠNG

Một trong những vấn đề quan trọng của thị giác máy tính là khả năng kết hợp cácphương pháp trí tuệ nhân tạo với xử lý đặc trưng ảnh vào việc phát hiện, nhận dạng vàđịnh danh đối tượng Nhận dạng mẫu có nhiều ứng dụng trong các hệ thống tương tácngười máy Để cung cấp kiến thức giải quyết vấn đề trên, chương này giới thiệu một

số kỹ thuật học máy liên quan đến việc phân loại và nhận dạng mẫu như cây quyếtđịnh, mạng neural, SVM, boosting, rừng ngẫu nhiên (random forest) Các kỹ thuậtđược trình bày theo hướng áp dụng trong nhận dạng mẫu, tuy nhiên các kỹ thuật nàycũng có thể dùng cho nhiều kiểu dữ liệu khác nhau như xử lý văn bản (text), số(number), giọng nói (voice),… Phần cuối trình bày kỹ thuật xử lý nhận dạng mẫu vàvấn đề nhận dạng đối tượng trong ảnh toàn cảnh

6.1 Giới thiệu chung

Thuật ngữ phân loại trong lĩnh vực khai phá dữ liệu được hiểu là việc gán đối tượngvào một trong các lớp được xác định trước Phân loại là dạng bài toán phổ biến và cónhiều ứng dụng khác nhau trong các hệ thống tự động [37] Trong lĩnh vực xử lý ảnh,bài toán phân loại mẫu (pattern recognition) và nhận dạng đối tượng (objectrecognition) được hiểu là việc phân loại, xác định các mẫu thuộc lớp nào đó một cáchchính xác dựa vào việc đo lường về đối tượng dựa trên các đặc trưng của đối tượng.Nói cách khác, nhận dạng đối tượng nhằm mục đích phân loại các mẫu (dữ liệu) dựatrên kiến thức có trước về đối tượng hoặc dựa vào thông tin thống kê, đo lường đượctrích rút ra từ các mẫu trong tập dữ liệu huấn luyện Hiện nay, có nhiều cách tiếp cậnnhư nhận dạng người trong các hệ thống tương tác người máy; nhận dạng khuôn mặt

và định danh cá thể, nhận dạng phương tiện giao thông trong các hệ thống giao thôngminh, hỗ trợ lái xe; nhận dạng hành động trong các hệ thống giám sát thông minh,chăm sóc y tế; nhận dạng chữ viết,… Lĩnh vực nhận dạng đối tượng liên quan đến cácphương pháp, kỹ thuật của xử lý ảnh và học máy Để huấn luyện mô hình và nhậndạng đối tượng, các mẫu dữ liệu thường được số hóa và biểu diễn thành vector đặctrưng trong một không gian đa chiều tương ứng, được gọi là không gian đặc trưng.Nhờ vào vector đặc trưng này để có thể phân tích, đánh giá nhằm xây dựng được môhình đối tượng phục vụ phân loại, nhận dạng chúng Trong nhận dạng, các phươngpháp học máy có giám sát và không giám sát đều được nghiên cứu và ứng dụng Các

kỹ thuật học máy có giám sát thường được sử dụng như cây quyết định, mạng neural,SVM, Boosting, rừng ngẫu nhiên (random forest) Nhận dạng theo học máy có giám

Trang 33

bởi “chuyên gia” để phân tích và xây dựng mô hình nhận dạng Tập dữ liệu mẫu đểhọc được gọi là tập dữ liệu huấn luyện và quá trình phân tích, xây dựng mô hình đốitượng được gọi là quá trình huấn luyện máy nhận dạng hay huấn luyện mô hình.Ngược lại, các phương pháp học không có giám sát, tập dữ liệu phân loại không cầnđược gán nhãn trước mà bản thân thuật toán phải tự phân loại, xác định lớp của đốitượng dựa vào phân tích, thống kê từ các đặc trưng của tập mẫu dữ liệu đưa vào.Quá trình nhận dạng đối tượng được mô tả bằng sơ đồ tổng quát như sau:

Hình 6.1 Sơ đồ tổng quát quá trình nhận dạng đối tượng6.2 Cây quyết định

6.2.1 Khái niệm

Cây quyết định (decision tree) là một lĩnh vực nghiên cứu cụ thể của ngành họcmáy Các kỹ thuật cây quyết định được sử dụng khá nhiều trong các lĩnh vực khai phátri thức và nhận dạng mẫu [38] Cây quyết định là một kiểu mô hình dự báo (predictivemodel), được xây dựng trên cơ sở cấu trúc cây, dùng để phân lớp các mẫu dữ liệu dựavào chuỗi các luật suy diễn (rules) Trong mô tả cấu trúc cây của cây quyết định, cácnút lá đại diện cho các quyết định phân loại, các nhánh đại diện cho luật kết hợp cácthuộc tính để dẫn tới phân loại nào đó Một cây quyết định có thể được huấn luyệnbằng cách chia tập dữ liệu huấn luyện thành các tập con để kiểm tra theo từng giá trịthuộc tính đơn hoặc một nhóm các thuộc tính Việc phân loại có thể được mô tả như làcác kết hợp phân loại đơn giản bằng cách sử dụng kỹ thuật suy diễn toán học Quátrình huấn luyện mô hình phân loại là quá trình xây dựng cây quyết định Hiện nay cónhiều phương pháp xây dựng cây quyết định cho bài toán phân loại đối tượng [39] nhưID3, C4.5,

6.2.2 Thuật toán ID3 xây dựng cây quyết định

Thuật toán ID3 lần đầu được giới thiệu bởi Quinlan năm 1979 trong công trìnhnghiên cứu đăng ở tạp chí các hệ chuyên gia [40] Thuật toán huấn luyện xây dựng câyquyết định ID3 khá đơn giản nhưng được áp dụng thành công trong nhiều lĩnh vựckhác nhau Thuật toán ID3 hoạt động hiệu quả vì cách thức biểu diễn tri thức huấnluyện, độ phức tạp tính toán và sử dụng khả năng thông minh (heuristic) trong việcchọn lựa các thuộc tính ứng viên để xây dựng các nút trên cây ID3 xử lý hiệu quả vớivấn đề dữ liệu chứa nhiễu Xét về thuật toán, ID3 là thuật toán lặp để từng bước xâydựng lần lượt các nút trong mô hình cây phân cấp

Phân tíchđặc trưng

Phânloại

Trang 34

Thuật toán ID3 bắt đầu với tập dữ liệu đầu vào S được xem là nút gốc Với mỗi lầnlặp, thuật toán thực hiện xây dựng nút phân loại với các thuộc tính của tập dữ liệu Schưa được sử dụng ở các lần lặp trước đó Thực hiện tính toán giá trị entropy H (hoặc

độ lợi thông tin information gain - IG) của từng thuộc tính (hoặc nhóm thuộc tính).Sau đó lựa chọn thuộc tính có giá trị entropy nhỏ nhất (hoặc độ lợi thông tin lớn nhất)

để xây dựng nhánh hiện tại bằng cách chia tập S thành các tập con Su dựa vào thuộctính vừa được chọn Thuật toán được lặp lại một cách đệ quy với các tập con vừa đượcchia Sucho đến khi cây đạt đến độ sâu quy định hoặc đạt được tiêu chuẩn kỳ vọng xácđịnh trước nào đó Nội dung thuật toán ID3 được tóm tắt như sau:

Bước 1: Tính giá trị entropy lần lượt cho tất cả thuộc tính của tập dữ liệu S

Bước 2: Lựa chọn thuộc tính A “tốt nhất” (entropy nhỏ nhất hoặc độ lợi thông tinlớn nhất) để tạo một nút của cây quyết định

Bước 3: Sử dụng thuộc tính A để phân chia tập S thành các tập con Su, mỗi tập conđược đưa về mỗi nhánh nhất định tùy theo giá trị cụ thể

Bước 4: Lặp lại quá trình này cho các cây con tương ứng với các tập Sucho mỗi câycon (Suđóng vai trò như tập S của lần lặp kế tiếp)

Quá trình xây dựng cây con được kết thúc nếu thỏa mãn một trong các điều kiệnsau:

+ Tất cả phần tử của tập con hiện tại Suđều thuộc về cùng một lớp cicụ thể Khi đónút đang xét ở nhánh hiện tại được thiết lập thành nút lá và trả về giá trị lớp ci là lớpcủa tập con này Nghĩa là khi một mẫu dữ liệu được phân về nhánh này thì mẫu dữ liệu

sẽ được xác định thuộc về lớp ci

+ Không còn thuộc tính nào nữa để lựa chọn (đã chọn hết ở các lần lặp trước đó),nhưng vẫn còn các mẫu vẫn chưa xác định thuộc về lớp nào cả thì nút này sẽ đượcthiết lập thành nút lá và trả về giá trị là lớp có nhiều mẫu nhất trong tập con Suhiện tại(thực hiện theo nguyên tắc bỏ phiếu, lớp nào nhiều nhất sẽ được sử dụng làm giá trị trả

về của nút lá)

+ Không còn mẫu dữ liệu nào nữa trong tập con Su, thì tạo ra nút lá mới và giá trị trả

về là lớp phổ biến nhất trong tập con tại nút cha của nó

Cây quyết định được xây dựng với mỗi nút không phải là nút lá đại diện cho mộtthuộc tính (nhóm thuộc tính) được chọn trên tập dữ liệu đã được chia, nút lá đại diệncho nhãn là giá trị của lớp được trả về của cây tại nhánh đó

ID3(Tập huấn luyện S, tập lớp Class, tập thuộc tính Attri)

{

Tạo nút gốc cây quyết định Root (hoặc gốc cây con ở lần lặp sau);

IF (tất cả các mẫu S đều thuộc cùng lớp C) THEN

Trang 35

IF (Tập thuộc tính Attri là rỗng) THEN

RETURN (Lớp C=lớp phổ biến nhất của S);

A ← Thuộc tính trong tập Attri: Thuộc tính có khả năng phân loại “tốt nhất” đối với S; Root ← A: Gán thuộc tính A cho nút Root;

FOR (mỗi giá trị v i của thuộc tính A) {

Thêm vào cây con mới của nút Root hiện tại ứng với giá trị của A là v i ;

Lấy tập con gồm các mẫu thuộc S sao cho giá trị thuộc tính A là v i :

S u = {x|xS và x(A)=v i };

IF (S u = ) THEN

Tạo nút con của Root với nhãn C=lớp phổ biến nhất của S u ;

ELSE Tạo nhánh mới của Root với cây con được sinh ra theo đệ quy ID3:

ID3(S u , Class, Attributes- {A});

Với thuật toán ID3, độ đo entropy được tính với mỗi thuộc tính còn lại Thuộc tính

có giá trị entropy nhỏ nhất (độ chắc chắn thông tin lớn nhất) được sử dụng để chia táchtập S trong lần lặp hiện tại

Độ lợi thông tin GI cũng được sử dụng trong đánh giá độ chắc chắn thông tin, là độ

đo sự khác biệt của entropy từ đầu cho đến khi S được phân tách dựa vào thuộc tính A.Nói cách khác mức độ không chắc chắn trong S được giảm xuống sau phân tách S dựavào thuộc tính A, được tính theo công thức:

Trang 36

Độ lợi thông tin có thể được tính cho mỗi thuộc tính còn lại Thuộc tính có độ lợithông tin lớn nhất được dùng để phân tách tập S trong lần lặp hiện tại.

6.2.3 Thuật toán C4.5 xây dựng cây quyết định

Thuật toán tạo cây quyết định C4.5 được phát triển, mở rộng trên cơ sở thuật toánID3 bởi cùng tác giả Quinlan[41] Thuật toán tập trung phát triển theo hướng giảiquyết các bài toán liên quan đến thuộc tính rời rạc và liên tục, các giá trị thuộc tínhthiếu, các thuộc tính với chi phí khác nhau và đặc biệt là vấn đề tỉa cành để tạo ra câyquyết định cân bằng hơn Tác giả phần mềm học máy Weka đã mô tả “C4.5 là mộtchương trình cây quyết định tiêu chuẩn mà có lẽ kỹ thuật học máy được sử dụng rộngrãi nhất trong thực tế cho đến nay” C4.5 càng trở nên phổ biến hơn sau khi được xếphạng nhất trong nhóm 10 thuật toán trong lĩnh vực khai phá dữ liệu được công bố năm2008[42]

Một số phát triển của C4.5 so với thuật toán cơ sở ID3 như sau[43]:

- Giải quyết cả hai loại thuộc tính liên tục và rời rạc: Để giải quyết thuộc tính liêntục, C4.5 tạo ra một ngưỡng sau đó phân tách danh sách theo tập có giá trị thuộc tínhtrên ngưỡng và tập có giá trị nhỏ hơn hoặc bằng ngưỡng

+ Giải quyết vấn đề dữ liệu huấn luyện có giá trị thuộc tính thiếu: C4.5 cho phép giátrị thuộc tính được đánh dấu “?” cho trường hợp thuộc tính thiếu Giá trị thuộc tínhthiếu sẽ không được sử dụng trong việc tính giá trị entropy và độ lợi thông tin

+ Giải quyết các thuộc tính với chi phí (cost) khác nhau

+ Giải quyết vấn đề tỉa cành của cây sau khi tạo: C4.5 quay lại toàn bộ cây sau khiđược tạo ra và cố gắng loại bỏ các cành không hữu ích thay thể chúng bằng các nút lá.Tương tự như thuật toán ID3, thuật toán C4.5 xây dựng cây quyết định bằng cách sửdụng độ đo entropy và độ lợi thông tin để làm tiêu chuẩn xây dựng các nút trong cây

Có một số trường hợp đặc biệt như sau:

+ Tất cả các mẫu trong danh sách đều thuộc về cùng một lớp, khi đó đơn giản chỉviệc tạo ra nút lá cho cây quyết định và gán nhãn giá trị trả về là lớp của tập mẫu dữliệu này

+ Không có thuộc tính nào để cung cấp thông tin nữa, khi đó C4.5 tạo ra một nútquyết định cao hơn được gọi là nút lá và gán nhãn giá trị trả về là giá trị của lớp chiếmphần đông trong tập dữ liệu hiện tại

+ Trường hợp lớp không nhìn thấy trước, C4.5 tạo ra một nút quyết định trên cây sửdụng giá trị kỳ vọng làm giá trị trả về của nút

Một số bước chính của thuật toán được mô tả như sau:

Bước 1.Kiểm tra trên tập dữ liệu hiện tại với các trường hợp đặc biệt.

Bước 2 Mỗi thuộc tính a, tính tỷ lệ độ lợi thông tin từ việc chia tách bằng thuộc tính a.

Trang 37

Bước 4: Tạo một nút quyến định với chia tách dựa vào thuộc tính a_best.

Bước 4: Thực hiện lặp lại với tập con thu được bởi một phân tách trên thuộc tính a_best

và thêm vào các nút con.

6.2.4 Rừng ngẫu nhiên

Rừng ngẫu nhiên (random forest-RF) được phát triển chủ yếu dựa vào tập các câyquyết định (decision tree) được xây dựng bằng cách lựa chọn ngẫu nhiên các tập conthuộc tính từ tập thuộc tính ban đầu Việc lựa chọn tập con thuộc tính ngẫu nhiênkhông nhất thiết phải tách rời nhau Như vậy việc lựa chọn thuộc tính và xây dựng mỗicây được thực hiện theo thuật toán có tính chất ngẫu nhiên Rừng ngẫu nhiên RF được

đề xuất bởi Tin Kam Ho [44] năm 1998 trên tạp chí của IEEE về phân tích mẫu vàmáy thông minh Tương tự như cây quyết định, rừng ngẫu nhiên cũng là một dạngthuật toán học có giám sát Một số điểm mạnh của thuật toán RF là có thể sử dụng cho

cả bài toán phân loại và bài toán hồi quy, có thể xử lý trong trường hợp dữ liệu thiếugiá trị, khi rừng có nhiều cây hơn có thể giúp giải quyết bài toán overfitting với dữliệu Kỹ thuật rừng ngẫu nhiên được sử dụng nhiều trong lĩnh vực thị giác máy tính,phân loại đối tượng

Một số nội dung chính của thuật toán RF được mô tả như sau:

Đầu vào là bộ dữ liệu huấn luyện (X, Y) với X là tập mẫu dữ liệu với m đặc trưng (thuộc tính)

và Y là tập nhãn tương ứng;

Bước 1: Chọn ngẫu nhiên k thuộc tính từ tập m thuộc tính với k << m;

Bước 2: Từ tập k thuộc tính, xác định thuộc tính d có khả năng phân loại “tốt nhất” và tạo ra

một nút phân loại;

Bước 3: Chia tập dữ liệu trên tập thuộc tính k theo nút d vừa tìm được;

Bước 4: Lặp lại bước 1-3 cho đến khi đã xây dựng xong cây với tập thuộc tính k;

Bước 5: Lặp lại bước 1-4 để xây dựng tập các cây của rừng ngẫu nhiên.

Ví dụ minh họa sử dụng hàm trong Matlab để huấn luyện mô hình và đánh giá phânloại dữ liệu với hàm TreeBagger là hàm xây dựng mô hình phân loại bằng kỹ thuậtrừng ngẫu nhiên

view(ModelRF.Trees{1}, 'Mode' , 'graph' ); % Xem cây 1

view(ModelRF.Trees{2}, 'Mode' , 'graph' ); % Xem cây 2

Trang 38

6.3 Kỹ thuật Boosting

Kỹ thuật Boosting là một dạng thuật toán học máy quần thể (machine learningensemble algorithm) bằng cách xây dựng nhiều bộ phân loại cùng lúc (tương tự nhưrừng ngẫu nhiên) và sau đó kết hợp chúng lại theo trọng số xác định của từng phân loạithành phần Mỗi bộ phân loại thành phần được gọi là phân loại yếu (weak classifier),các bộ phân loại yếu được hợp lại với nhau tạo thành một phân loại mạnh (strongclassifier) Một trong những thuật toán phổ biến của boosting là AdaBoost (Adaptiveboosting), được đề xuất bởi Freund và Schapire năm 1999[45] AdaBoost là bộ phânloại mạnh phi tuyến, hoạt động trên nguyên tắc kết hợp các bộ phân loại yếu theotrọng số để tạo ra một bộ phân loại mạnh hơn theo kiểu thích ứng (với mẫu dữ liệu).Theo đó, AdaBoost sử dụng các trọng số để đánh dấu các mẫu khó phân loại Càngvào những mức sâu của phân loại yếu, bộ phân loại càng tập trung vào những mẫu khóphân loại, trong khi những mẫu phân loại dễ sẽ có giá trị ảnh hướng nhỏ hơn Nghĩa làtrong quá trình huấn luyện, mỗi bộ phân loại yếu tiến hành cập nhật lại trọng số theohướng giảm dần trọng số các mẫu phân loại đúng (các mẫu dễ) và tăng trọng số củanhững mẫu phân loại sai (các mẫu khó) để áp dụng cho việc xây dựng các bộ phân loạiyếu sau đó Dựa trên ý tưởng này, các bộ phân loại sau có thể tập trung chủ yếu vàocác mẫu khó mà bộ phân loại trước đó phân loại không đúng Cuối cùng, các bộ phânloại yếu được kết hợp lại theo trọng số tùy thuộc độ chính xác phân loại của chúng đểtạo ra bộ phân loại mạnh

Thuật toán AdaBoost được mô tả tóm tắt như sau :

Tập mẫu huấn luyện (X,Y) với X={x 1 , x 2 , , x n } là tập dữ liệu mẫu và Y={y 1 , y 2 , , y n },

+ Chọn phân loại yếu h t (x):

Tìm phân loại yếu ( ) h x sao cho hàm cực tiểu lỗit  , với tỷ lệ lỗi là tổng trọng sốtcác phân loại sai t wi t, | (h xt( )i  yi) với i=1, , n

Trang 39

  1

1 ( ) 0 0

T

t t t

Ví dụ minh họa sử dụng thuật toán AdaBoost trong huấn luyện mô hình:

Trang 40

MaxThresh=PosMax ;

MinMinThresh=PosMin;

MinThresh=PosMean -(PosMean -PosMin)*(j/Loop);

C1= (PosThresh < MinThresh | PosThresh > MaxThresh); C2= (NegThresh >= MinThresh & NegThresh <= MaxThresh); PosErr= sum(PosWeights(C1));

MinThresh=MinMinThresh;

MaxThresh=PosMean +(PosMax -PosMean)*(i/Loop);

C1= (PosThresh < MinThresh | PosThresh > MaxThresh); C2= (NegThresh >= MinThresh & NegThresh <= MaxThresh); PosErr= sum(PosWeights(C1));

dữ liệu huấn luyện thuộc hai loại xác định trước, thuật toán SVM tiến hành huấn luyện

để xây dựng mô hình nhằm phân loại các mẫu dữ liệu theo các lớp tương ứng như tập

dữ liệu huấn luyện Một mô hình SVM là một cách biểu diễn các vector hỗ trợ phânloại trong không gian nhiều chiều và lựa chọn siêu phẳng (hyperplane) phân loại giữahai lớp sao cho cực đại khoảng cách từ các mẫu dữ liệu huấn luyện (các điểm trongkhông gian n chiều) tới mặt phẳng phân loại Các mẫu mới đưa vào để phân loại phảiđược biểu diễn trong cùng một không gian như tập huấn luyện và SVM phân loại vào

Ngày đăng: 21/07/2023, 16:58

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