Phép dãnảnh vàcoảnhtổng quát

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng ảnh mặt người và ứng dụng (Trang 38 - 65)

Thao tác dãn ảnh và co ảnh, nhƣ định nghĩa ở trên theo các biến đổi trúng- trƣợt, còn hạn chế đối với việc chỉnh sửa đối tƣợng bằng một vòng tròn đơn các điểmảnhtrong mỗi lần lặp của quá trình xử lý. Các thao tác này có thể đƣợc tổng quát hóa.

Trƣớc khi đi sâu hơn, ta tìm hiểu một số khái niệm cơ bản của đại số ảnh nhị phân, là cơ sở cho việc định nghĩa các phép dãnảnh và co ảnh tổng quát. Xét một hàm ảnh gốc giá trị nhị phân F(j,k). Một điểmảnh tại tọa độ (j,k) là một thành phần của F(j,k), ký hiệu là, nếu và chỉ nếu nó có giá trị 1. Một ảnh nhị phân B(j,k) là một tập con của một ảnh nhị phân A(j,k), ký hiệu làB(j,k) A(j,k), nếu với mỗi giá trị 1 của A(j,k), B(j,k) cũng có giá trị 1. Phần bù của F(j,k) là một ảnh nhị phân mà các điểmảnh của nó là trạng thái đảo của các điểmảnh tƣơng ứng trong F(j,k). Hình 2.11 là ví dụ về việc xử lý phần bù và các toán tử đại số ảnh khác của một cặp ảnh nhị phân. Một ảnh lật là một ảnh đã đƣợc lật từ trái sang phải và từ trên xuống dƣới. Hình 2.12 là ví dụ về việc lật ảnh. Việc dịch một ảnh, đƣợc xác định bằng hàm:

chính là việc dịch toàn bộ F(j,k) đi r hàng và c cột, trong đó –RrR

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 2.11. Các toán tử đại số ảnh trên các mảng nhị phân

Hình 2.12. Lật và dịch một mảng nhị phân

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Phép dãnảnh tổng quát đƣợc biểu diễn theo ký hiệu nhƣ sau:

trong đó F(j,k) với 1 j, kN là một ảnh nhị phân và H(j,k) với 1 j, kL, L là một số nguyên lẻ, là một mảng nhị phân đƣợc gọi là phần tử cấu trúc. Để dễ ký hiệu, F(j,k) và H(j,k) đƣợc giả sử là các mảng vuông. Phép dãn ảnh tổng quát (phép) có thể đƣợc định nghĩa một cách toán học và đƣợc cài đặt theo nhiều cách. Định nghĩa theo phépcộng Minkowski là:

Có nghĩa là G(j,k) đƣợc hình thành bởi phép hợp tất cả các phép dịch của

F(j,k) với khoảng cách dịch là chỉ số hàng và cột của các điểmảnh của H(j,k) có giá trị logic 1. Hình 2.13 minh họa khái niệm này. Công thức (2.19) trả về kết quả là một mảng G(j,k) kích thƣớcMM đƣợc sắp trùng với góc trái trên của mảng đầu vàoF(j,k). Mảng đầu ra có kích thƣớc M = N+L1, trong đó L là kích thƣớc của phần tử cấu trúc. F(j,k) phải đƣợc dịch về bên phải theo đƣờng chéo chính một khoảngQ = (L1)/2. Hình 2.13 chỉ ra sự khác nhau hoặc loại trừ (XOR) giữa G(j,k) và phép dịch của F(j,k). Thao tác này xác định những điểmảnh nào đã đƣợc bổ sung do kết quả của phép dãnảnh tổng quát.

Một định nghĩa khác của phép dãn ảnh tổng quát đƣợc dựa trên việc quét và xử lý F(j,k) bằng phần tử cấu trúc H(j,k). Với phƣơng pháp này, phép dãn ảnh tổng quát có công thức nhƣ sau:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Công thức (2.20)trả về một mảng ra đƣợc sắp trùng với góc trái trên của mảng vào. Trong các hệ thống xử lý ảnh, để thuận tiện hơn ta lấy điểm trung tâm của các ảnh vào và ra và hạn chế cho kích thƣớc của chúng là giống nhau trên các chiều. Việc này có thể làm đƣợc bằng cách sửa lại công thức (2.20) nhƣ sau:

trong đó S = (L+1)/2.

Định nghĩa theo phép cộng Minkowski của phép dãn ảnh tổng quát trong công thức (2.19) có thể đƣợc sửa lại bằng cách thực hiện phépdịch về phía tâm của phần tử cấu trúc. Trong trƣờng hợp đặc biệt với L = 3, công thức (2.21) đƣợc biểu diễn một cách tƣờng minh nhƣ sau:

Nếu H(j,k) = 1 với 1 j, k 3, khi đóG(j,k) nhƣ đƣợc tính ở công thức (2.22), sẽ cho kết quả giống với phép dãnảnh trúng-trƣợt, nhƣ đã định nghĩa ở công thức (2.15).

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 2.13. Phép dãn ảnh tổng quát dựa theo phép cộng Minkowski

b.Phép co ảnh tổng quát

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

ở đây H(j,k) cũng là phần tử cấu trúc kích thƣớc lẻ LL. Bằng phép cộng Minkowski, phép co ảnh tổng quát (phép) đƣợc định nghĩa là:

Ý nghĩa của quan hệ này là phép co ảnh của F(j,k) dùngH(j,k) là phép giao của tất cả các phép dịch của F(j,k) trong đó khoảng cách dịch chuyển là chỉ số hàng và cột của các điểmảnh của H(j,k) có giá trị 1.

Ngoài ra còn có thểđịnh nghĩa theo công thức khác:

trong đó các phép dịch của F(j,k) theo phép lật của phần tử cấu trúc chứ không phải là H(j,k).

Sử dụng định nghĩa trên, G(j,k) có giá trị 1 khi và chỉ khi các giá trị 1 của

H(j,k) tạo nên một tập con của mẫu tƣơng ứng với các giá trị 1 trong F(j,k) khi

H(j,k) quét qua F(j,k). Lƣu ý rằng các giá trị 0 của H(j,k) không khớp với các giá trị 0 của F(j,k). Với định nghĩa ở công thức (2.24), các phát biểu trên vẫn còn đúng khi F(j,k) đƣợc quét và xử lý bằng phép lật của phần tử cấu trúc. Hình 2.14 biểu diễn việc so sánh kết quả của hai định nghĩa phép co ảnh. Rõ ràng, các kết quả là không giống nhau.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 2.14. So sánh các kết quả của hai phép co ảnh

Phép co ảnhtổng quátđi cặp với phép dãnảnhở công thức (2.21) là:

trong đó S = (L+1)/2. Trong trƣờng hợp đặc biệt với L = 3, công thức (2.26) trở thành:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

Nếu H(j,k) = 1 với 1 j, k3, công thức (2.27) cho kết quả giống với phép co ảnhtám-lân cận trúng-trƣợt đƣợc định nghĩa bởi công thức (2.16).

Hình 2.15minh họa các ví dụ của phép dãn ảnh vàcoảnhtổng quát với phần tử cấu trúc đối xứng 55.

Hình 2.15. Phép dãn ảnh và co ảnh tổng quát với phần tử cấu trúc 55

2.3.3 Dãn và co ảnhđa mức xám

Các toán tử xử lýảnh nhị phân trên có thể mở rộng ra đối vớiảnhđa mức xám. Xét một ảnhđa mức xám F(j,k) đƣợc lƣợng tử hóa với một thang mứcxám nàođó. Khi đó, phép dãn ảnh đối vớiảnhđa mức xám đƣợcđịnh nghĩa nhƣ sau:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

trong đó MAX{S1,..,S9} trả về điểmảnh có giá trị lớn nhất trong chín điểm ảnh của lân cận 3×3. Nếu F(j,k) là giá trị nhị phân, công thức (2.28) trả về giá trị đúng nhƣ phép dãnảnhảnh nhị phân ở công thức (2.15).

Tƣơng tự, phép co ảnhđối với ảnh đa mức xám đƣợc định nghĩa nhƣ sau:

vớiMIN{S1,..,S9} trả về điểmảnhcó giá trị nhỏ nhất trong chínđiểmảnh của lân cận 3×3. Nếu F(j,k) là giá trị nhị phân, công thức (2.29) trả về giá trị đúng nhƣ phépcoảnhảnh nhị phân ở công thức (2.16).

Hình 2.16 là một sốảnh mặt ngƣờiđã đƣợc biến đổi qua phép xử lý hình thái.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

CHƢƠNG 3. MẠNG NƠRON

Chương 2 đã giới thiệu ba phương pháp trích chọn đặc trưng của ảnh. Nhiệm vụ tiếp theo của hệ thống nhận dạng là dựa trên những đặc trưng đã được trích chọn đó, học được cách phân loại ảnh tương ứng với từng người. Trong các phương pháp phân loại hiện nay, nổi trội lên và được quan tâm nhiều đó là mạng nơron nhân tạo. Các mạng nơron nhân tạo có thể được coi như những “mô hình tính toán” với những đặc tính như khả năng thích nghi hay khả năng học, tổng quát hóa, phân cụm hay tổ chức dữ liệu.Thao tác đó có thể được xử lý song song. Trong luận văn này, mạng nơron với thuật toán học lan truyền ngược được sử dụng vì mạng này đã tỏ ra khá hiệu quả đối với bài toán nhận dạng mặt người.

3.1 Giới thiệu mạng nơron

3.1.1 Nơron – đơn vịxử lý cơ bản

Một mạng nơron nhân tạo [3] bao gồm một tập các đơn vị xử lý cơ bản, gọi là nơron, chúng truyền thông tin bằng cách gửi các tín hiệu cho nhau qua các kênh kết nối có trọng số.Mỗi nơron thực hiện một công việc tƣơng đối đơn giản: nhận tín hiệutừ các nơron lân cận hoặc từ nguồn bên ngoài, tính toán tín hiệu ra rồi truyền sang cho các nơron khác. Ngoài việc xử lý này, nhiệm vụ thứ hai của nơron là điều chỉnh lại các trọng số. Hệ thống sẽ đƣợc thực hiện song song vì nhiều nơron có thể thực hiện tính toán ở cùng thời điểm. Hình 3.1 minh họa các thành phần cơ bản của một mạng nơron nhân tạo.

Trong các hệ thống nơron, cầnphân biệt ba loại chính: các nơron vào(ký hiệu là i) nhận dữ liệu từ bên ngoài mạng nơron, các nơron ra(ký hiệu là o)

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

gửi dữ liệu ra ngoài mạng nơron, và các nơron ẩn (ký hiệu là h) vớitín hiệu vàovà ra của chúng chỉ đƣợc duy trì trong mạng.

Hình 3.1. Các thành phần cơ bản của mạng nơron nhân tạo

Trong quá trình tính toán, các nơron có thể đƣợc cập nhật một cách đồng bộ hoặc không đồng bộ. So với việc cập nhật đồng bộ, đôi khi việc cập nhật không đồng bộ lại có một số ƣu điểm.

3.1.2. Liên kết giữa các nơron

Trong hầu hết các trƣờng hợp, ta giả sử rằng mỗi nơron sẽ đóng góp (theo tính chất cộng) vào tín hiệu vào của nơron đƣợc nối đến.Tín hiệu vàotổng tới nơron k là tổng có trọng số của các tín hiệu ra riêng lẻ từ các nơron nối tới nó cộng với biask(t):

Giá trị trọng sốwjk nếu dƣơng thì đƣợc gọi là sự kích thích còn nếu âm gọi là sựức chế. Các quy tắc kết hợp tín hiệu vàophức tạp hơn sẽ đƣợc sử dụng trong một số trƣờng hợp khác. Khi đó sẽ có sự phân biệt giữa tín hiệukích thích và ứcchế. Nơron với quy tắc lan truyền nhƣ công thức (3.1) đƣợc gọi là nơron sigma.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.1.3. Hàmkích hoạt và các quy tắc xác định tín hiệu ra

Cần xác lậpmột quy tắc để xác địnhảnh hƣởng của tín hiệu vàotổng so với ngƣỡngkích hoạt của nơron. Một hàm Fkđƣợc sử dụngđể lấy tín hiệu vàotổng

sk(t) và giá trị kích hoạt yk(t) hiện tại, tính giá trị kích hoạt mới của nơronk:

Thông thƣờng, hàm kích hoạt là một hàm không giảm của tín hiệu vàotổng của nơron:

Các hàm kích hoạt không nhất thiếtphải không giảm. Một số hàm ngƣỡng thƣờngđƣợc sử dụng (hình 3.2): Hàm ngƣỡng giới hạn mạnh (hàm dấu),Hàm tuyến tính hoặc bán tuyến tính,Hàmngƣỡng giới hạn trơn. Hàm giới hạn trơncòn gọilà hàm sigmoid (hàm dạng chữ S) đƣợc xácđịnh nhƣ sau: (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.2. Một số dạng hàm kích hoạt của nơron

Trong một số trƣờng hợp, tín hiệu ra của một nơron có thể là một hàm không xác định trƣớc theo tín hiệu vàotổng của nơron. Khi đó, giá trị kích hoạt sẽ không đƣợc xác định một cách chính xác bởi tín hiệu vào của nơron,

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

mà tín hiệu vào của nơron sẽ xác định một xác suất p để một nơron nhận giá trị kích hoạt cao:

trong đó T là một tham số xác định độ dốc của hàm xác suất.

3.1.4 Quy tắc delta

Xét mạng một lớp có một nơron ra với hàm kích hoạt tuyến tính, tín hiệu ra đƣợc cho đơn giản nhƣ sau:

Mạng đơn giản nhƣ vậy có thể biểu diễn một quan hệ tuyến tính giữa giá trị của nơron ra và giá trị của các nơron vào. Ởđây mạng đƣợc sử dụngđể xấp xỉ hàm.

Giả sử cần huấn luyện mạng để xác lập một siêu phẳng càng khớp càng tốt với tập các mẫu huấn luyện bao gồm các giá trị vàoxp và các giá trị ra mong muốn (đích) dp. Với mỗi mẫu vào, đầu ra của mạng sai khác với giá trị đích dp một lƣợng (dp-yp), trong đó yp là đầu ra thực sự của mẫu. Quy tắc delta sử dụng hàm giá hay hàm lỗi dựa trên những sai khác này để điều chỉnh các trọng số.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

trong đó chỉ số pchạytrong tập mẫu vàovà Ep biểu diễn lỗi trên mẫu p. Phƣơng pháp bình phƣơng trung bìnhtối thiểu (LMS – Least Mean Square)xác địnhcác giá trị của tất cả các trọng số rồi cực tiểu hóa hàm lỗi bằng một phƣơng pháp gọi là độ dốc (gradient)giảm dần:

trong đó  là một hằng số thíchứng. Giá trịđạo hàmlà:

Vì các nơronlàtuyến tính (công thức (3.6))

nên

trong đó p

= (dpyp) là sự sai khác giữa đầu ra đích và đầu ra thực sựcủa mẫu

p.

3.2 Thuật toán họclan truyền ngƣợc

Một mạng nơron truyềnthẳngcó cấu trúc gồm nhiềulớp. Mỗi lớp chứa các nơron nhận tín hiệu vàotừ các nơron ở lớp trực tiếp phía dƣới và gửi tínhiệu ra

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

của chúng cho một lớp trực tiếp phía trên. Không có kết nối nào giữa các nơron trong cùng một lớp. Các nơron vàoNi truyền tín hiệuđến lớp đầu tiên của các nơron ẩn Nh,1. Không xử lý nào đƣợc thực hiện ở các nơron vào. Hàm kích hoạt tạimột nơron ẩn là một hàm Fi của các tín hiệu vàocó trọng số cộng với một bias nhƣ công thức (3.3). Tín hiệu ra của các nơron ẩn này đƣợc phân bổtrên lớp tiếp theo của các nơron ẩn Nh,2, cứ thế tiếp tục đến lớp cuối cùng của các nơron ẩn, ở đó các tín hiệu ra của chúng sẽ đƣợc truyền đến một lớp các nơron ra No (hình 3.3).

Hình 3.3. Mạng nơron l lớp

Do các nơron ởđây đƣợc sử dụngvới hàm kích hoạt phi tuyến, nên có thểtổng quát hóa quy tắc delta đã trình bày ở trên cho các hàm tuyến tính để có thể sử dụng với các hàm phi tuyến.Hàm kích hoạt là một hàm khả vi củatín hiệu vàotổng, đƣợc cho bởi:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Để tổng quát hóa chính xác quy tắc delta ta đặt

Hàm lỗiEpđƣợcđịnh nghĩa là tổng lỗi bình phƣơng của mẫup tại các nơron ra:

trong đó là tín hiệu ra mong muốn với đơn vị o khi mẫu p đƣa vào. Đặt là tổng lỗi bình phƣơng. Ta có thể viết:

Theo công thức (3.14), nhân tử thứ hai là:

Khi đó có định nghĩa: (adsbygoogle = window.adsbygoogle || []).push({});

quy tắc mới nhận đƣợc nàytƣơng đƣơng với quy tắc delta ở trên, trả về kết quảđộ dốc giảm dần trên mặt phẳng lỗi nếu trọng sốđƣợc thay đổitheo công thức:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Cách làm ở đây là nhằmxác định vai trò của đối với mỗi đơn vị k trong mạng. Kết quảlà có sự tính toán hồi quy đơn giản của các  này và có thể cài đặt bằng cách lan truyền ngƣợc các tín hiệu lỗi trong mạng.

Để tính ,theo quy tắc chuỗi, đạo hàm riêng phần này đƣợc viết lại thànhtích của hai nhân tử, một nhân tử phản ánh sự biến đổi của lỗi nhƣ một hàm của tín hiệu ra của nơron, còn một nhân tử phản ánh sự biến đổi của tín hiệu ra nhƣ một hàm của sự biến đổi tín hiệu vào:

Vớinhân tử thứ hai, theo công thức (3.13) ta có:

chính là đạo hàm của hàm F với nơron thứ k, đƣợc tính tại nơron vào đến nơron đó. Để tính nhân tử thứ nhất trong công thức (3.21), ta xét hai trƣờng hợp. Thứ nhất, giả sử nơron k là nơron ra k = o của mạng, khi đó theo định nghĩa của Ep

kết quả này giống nhƣ khi sử dụng quy tắc delta chuẩn. Thay thế kết quả này và kết quả ở công thức (3.22) vào công thức (3.21):

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

với nơron ra o bất kỳ. Trƣờng hợp thứ hai, nếu k không phải là nơron ra mà là nơron ẩnk = h, khi đó không xác định đƣợc sự đóng góp của nơron này vào lỗi ra của mạng. Tuy nhiên, công thức tính lỗi có thể đƣợc viết nhƣ là một hàm của các tín hiệu vàotừ lớp ẩn đến lớp ra; và ta sử dụng quy tắc chuỗi để viết:

Thay thế kết quả này vào công thức (3.21):

Công thức (3.24) và (3.21) xác định một thủ tục đệ quy để tính  của tất cả các nơron trong mạng, và sau đó sử dụng để tính sự thay đổi trọng số theo công thức (3.20). Thủ tục này chính là quy tắc delta tổng quát dùng cho mạng truyền thẳng phi tuyến.

Các công thức nhận đƣợc ở trên có thể là chính xác về mặt toán học, nhƣng thực tế chúng có ý nghĩa gì? Liệu có cách nào để hiểu đƣợc bản chất của lan truyền ngƣợc?

Thực tế, toàn bộ quá trình lan truyền ngƣợc là rất trực quan. Khi một mẫu học đƣợcđƣa vào, các giá trị kích hoạt sẽ đƣợc lan truyền đến các nơron ra và tín hiệu ra thực sự của mạng đƣợc so sánh với tín hiệu ra mong muốn, thông thƣờng làkết thúc với một lỗi nào đó trong các nơron ra. Gọi lỗi này là eo với mỗi nơron ra o. Mụcđích là phải làm cho eo bằng 0.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Cách đơn giản nhất để thực hiện việc này là làm theo thuật toán tham lam: thay đổi các kết nối trong mạng để dần dần eo bằng 0 với mẫu học này. Theo quy tắc delta, để giảm lỗi, các trọng số đƣợcchỉnh sửa theo

Nhƣng chỉ vậy thì chƣa đủ: khi chỉ áp dụng quy tắc này, các trọng số từ nơron vàođến các nơron ẩn sẽ không đƣợc thay đổi và sẽ không có đƣợc khả năng biểu diễn đẩy đủ của mạng truyền thẳng. Để có thể chỉnh sửa đƣợc trọng số từ nơron vàođến các nơron ẩn, cần tiếp tục áp dụng quy tắc delta. Tuy nhiên, trƣờng hợp này lại không có giá trị  cho các nơron ẩn. Điều đó có thể giải quyết bằng quy tắc chuỗi nhƣ sau: phân tán lỗi của một nơron ra o cho tất

Một phần của tài liệu Nghiên cứu phương pháp nhận dạng ảnh mặt người và ứng dụng (Trang 38 - 65)