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

Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf

69 6 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 đề Nhận dạng ảnh mặt người sử dụng mạng nơron
Tác giả Trần Xuân Tứ
Người hướng dẫn PGS.TS Đỗ Năng Toàn
Trường học Đại học Thái Nguyên
Chuyên ngành Khoa học máy tính
Thể loại Luận văn
Năm xuất bản 2011
Thành phố Thái Nguyên
Định dạng
Số trang 69
Dung lượng 2,6 MB

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

Cấu trúc

  • Chương 1: khái quát về xử lý ảnh và trích chọn đặc trưng (13)
    • 1.1 Khái quát về xử lý ảnh (13)
      • 1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh (13)
      • 1.1.2 Thu nhận và biểu diễn ảnh (14)
    • 1.2 Trích chọn đặc trưng (17)
      • 1.2.1 Phương pháp phân tích thành phần chính (17)
      • 1.2.2 Phương pháp phân tách tuyến tính (27)
      • 1.2.3 Phương pháp xử lý hình thái (30)
  • Chương 2: Mạng nơron (43)
    • 2.1 Giới thiệu về mạng nơ-ron (43)
      • 2.1.1 Lịch sử phát triển (43)
      • 2.1.2 Mô hình mạng nơ-ron nhân tạo (45)
    • 2.2 Phạm vi ứng dụng của mạng nơ-ron (55)
      • 2.2.1 Các lĩnh vực ứng dụng mạng nơ-ron (55)
      • 2.2.2 Ưu và nhược điểm của mạng nơ-ron (56)
    • 2.3 Thuật toán học lan truyền ngược (56)
  • Chương 3: Nhận dạng ảnh mặt người sử dụng mạng Nơron (61)
    • 3.1 Bài toán (61)
    • 3.2 Thiết kế hệ thống (61)
      • 3.2.1 Trích chọn đặc trưng (61)
      • 3.2.2 Thiết kế mạng nơron (62)
    • 3.3 Chương trình (62)
      • 3.3.1 Cơ sở dữ liệu ảnh (62)
      • 3.3.2 Môi trường cài đặt (64)
      • 3.3.3 Cài đặt (64)
    • 3.4 Kiểm thử và đánh giá (65)
  • Tài liệu tham khảo (69)

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CNTT&TT TRẦN XUÂN TỨ NHẬN DẠNG ẢNH MẶT NGƯỜI SỬ DỤNG MẠNG NƠRON LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên 2011 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguy[.]

khái quát về xử lý ảnh và trích chọn đặc trưng

Khái quát về xử lý ảnh

1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh

Con người thu nhận thông tin chủ yếu qua các giác quan, với thị giác là giác quan quan trọng nhất Trong những năm gần đây, sự phát triển mạnh mẽ của phần cứng máy tính đã thúc đẩy công nghệ xử lý ảnh và đồ họa, mang lại nhiều ứng dụng thiết thực trong cuộc sống Công nghệ này không chỉ nâng cao trải nghiệm người dùng mà còn đóng vai trò quan trọng trong việc cải thiện tương tác giữa con người và máy móc.

Quá trình xử lý ảnh là thao tác nhằm cải thiện hình ảnh đầu vào để đạt được kết quả mong muốn Kết quả của quá trình này có thể là một hình ảnh chất lượng cao hơn hoặc một kết luận cụ thể.

Quá trình xử lý ảnh liên quan đến việc xem ảnh như một tập hợp các điểm ảnh, mỗi điểm ảnh thể hiện cường độ sáng hoặc một dấu hiệu tại vị trí cụ thể trong không gian Ảnh có thể được mô tả như một hàm n biến P(c1, c2, , cn), cho thấy ảnh trong lĩnh vực xử lý ảnh có thể được coi là ảnh n chiều.

XỬ LÝ ẢNH Ảnh Ảnh

Sơ đồ tổng quát của một hệ thống xử lý ảnh:

Hình 1.2 Các bước cơ bản trong một hệ thống xử lý ảnh

- Các vấn đề cơ bản trong xử lý ảnh

+ Nắn chỉnh biến dạng + Khử nhiễu

+ Chỉnh mức xám + Trích chọn đặc điểm + Nhận dạng

1.1.2 Thu nhận và biểu diễn ảnh

Các thiết bị thu nhận ảnh, bao gồm camera và scanner, có khả năng tạo ra ảnh đen trắng Chúng được chia thành hai loại chính tương ứng với hai định dạng ảnh phổ biến: Raster và Vector.

Raster image capture devices typically include cameras, while vector image capture devices consist of sensors or digitizers that convert raster images into vector formats.

Tiền xử lý Trích chọn đặc điểm

Hệ quyết định Đối sánh rút ra kết luận Hậu xử lý

Biểu diễn ảnh trên máy tính là sản phẩm của quá trình số hóa, được tích hợp trong nhiều thiết bị kỹ thuật khác nhau Mục đích của việc lưu trữ ảnh là để tiết kiệm bộ nhớ và giảm thời gian xử lý.

Việc chọn độ phân giải phù hợp phụ thuộc vào nhu cầu sử dụng và đặc điểm của từng bức ảnh, do đó ảnh thường được phân loại theo hai mô hình cơ bản.

Mô hình Raster là phương pháp phổ biến nhất để biểu diễn hình ảnh hiện nay, trong đó hình ảnh được thể hiện dưới dạng ma trận các điểm ảnh Các hình ảnh này thường được thu nhận từ các thiết bị như camera hoặc scanner Tùy thuộc vào yêu cầu thực tế, mỗi điểm ảnh có thể được biểu diễn bằng một hoặc nhiều bít.

Mô hình Raster rất hiệu quả cho hiển thị và in ấn, nhờ vào công nghệ phần cứng hiện đại cung cấp thiết bị thu nhận ảnh Raster với tốc độ nhanh và chất lượng cao Đặc biệt, Microsoft đã giới thiệu định dạng ảnh DIB (Device Independent Bitmap) như một giải pháp trung gian, giúp cải thiện khả năng hiển thị trong môi trường Windows Hình 1.3 minh họa quy trình hiển thị ảnh Raster thông qua DIB.

Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB

Biểu diễn ảnh không chỉ giúp tiết kiệm không gian lưu trữ mà còn tạo điều kiện thuận lợi cho việc hiển thị và in ấn Bên cạnh đó, nó cũng hỗ trợ dễ dàng trong việc lựa chọn, sao chép, di chuyển và tìm kiếm Trong bối cảnh này, kỹ thuật biểu diễn vector được đánh giá là ưu việt hơn.

Trong mô hình vector, hướng giữa các vector của điểm ảnh lân cận được sử dụng để mã hóa và tái tạo hình ảnh ban đầu Ảnh vector có thể được thu nhận trực tiếp từ các thiết bị số hóa như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình số hóa.

Công nghệ phần cứng mang lại thiết bị xử lý nhanh chóng và chất lượng cho cả đầu vào và đầu ra, tuy nhiên chỉ hỗ trợ ảnh Raster Chính vì vậy, các nghiên cứu về biểu diễn vectơ chủ yếu tập trung vào việc chuyển đổi từ ảnh Raster.

Hình 1.4 Sự chuyển đổi giữa các mô hình biểu diễn ảnh

RASTER Vecter VECTOR RASTER hóa

Trích chọn đặc trưng

Phần này sẽ giới thiệu các phương pháp trích chọn đặc trưng trong luận văn, với mục đích chính là giảm số chiều của dữ liệu, đặc biệt là dữ liệu ảnh mặt người có số điểm ảnh lớn Việc giảm lượng thông tin cần thiết để biểu diễn mà vẫn giữ lại thông tin quan trọng là rất cần thiết Thứ hai, trích chọn đặc trưng giúp phân biệt tốt hơn giữa các mẫu dữ liệu, cho phép các ảnh mặt người được biểu diễn trong không gian mới, làm nổi bật sự khác biệt giữa chúng Các phương pháp sẽ được trình bày bao gồm phân tích thành phần chính, phân tách tuyến tính và xử lý hình thái ảnh mặt người.

1.2.1 Phương pháp phân tích thành phần chính

Phương pháp phân tích thành phần chính (PCA) là một kỹ thuật thống kê quan trọng, được ứng dụng rộng rãi trong nhận dạng khuôn mặt và nén ảnh PCA cũng giúp tìm kiếm các mẫu trong không gian dữ liệu có nhiều chiều, mang lại hiệu quả cao trong việc xử lý và phân tích dữ liệu.

Phương pháp phân tích này nhằm mục đích giảm kích thước ảnh gốc 112×92 (10304 điểm ảnh) mà vẫn giữ lại những đặc điểm quan trọng của khuôn mặt Việc rút gọn này giúp giảm số lượng giá trị cần thiết để biểu diễn ảnh từ 10304 xuống chỉ còn 49 giá trị.

Các nhà thống kê thường quan tâm đến việc lấy mẫu trên một tập dữ liệu

Trong một cuộc bầu cử, tập dữ liệu đại diện cho toàn bộ dân số của một quốc gia, trong khi mẫu là tập con mà nhà thống kê muốn đánh giá để rút ra những nhận định chính xác.

Một trong những thách thức lớn trong thống kê học là khả năng sử dụng phương pháp đánh giá mẫu để rút ra kết luận về xu hướng chung của toàn bộ dân số.

Xét tập ví dụ X = [1, 2, 4, 6, 12, 15, 25, 45, 68, 67, 65, 98], trong đó chỉ số dưới của ký hiệu X dùng để chỉ một số cụ thể trong tập Cụ thể, X 3 đại diện cho số thứ ba trong X với giá trị là 4, và lưu ý rằng X 1 là số đầu tiên trong tập Ký hiệu n được sử dụng để chỉ tổng số phần tử trong tập X.

Giá trị trung bình của mẫu là:

Giá trị trung bình chỉ phản ánh điểm trung bình của dữ liệu mà không thể hiện sự khác biệt giữa các tập dữ liệu Chẳng hạn, hai tập dữ liệu [0, 8, 12, 20] và [8, 9, 11, 12] đều có giá trị trung bình là 10 nhưng có sự phân bố khác nhau Để đánh giá sự trải rộng của dữ liệu, ta cần sử dụng độ lệch chuẩn, là chỉ số đo lường khoảng cách trung bình từ điểm trung bình đến các điểm dữ liệu Công thức tính độ lệch chuẩn giúp phân tích độ biến thiên trong tập dữ liệu.

Phương sai là một hàm đo khác về sự trải rộng của dữ liệu trong một tập

Thực tế nó gần như giống hoàn toàn với độ lệch chuẩn:

Độ lệch chuẩn và phương sai là hai phương pháp đánh giá độ trải rộng của dữ liệu, trong đó s² là ký hiệu cho phương sai của một mẫu Độ lệch chuẩn thường được sử dụng hơn, nhưng phương sai cũng có giá trị trong phân tích Cả hai phương pháp này chỉ áp dụng cho từng chiều riêng lẻ của tập dữ liệu, do đó không thể tính toán sự biến đổi giữa các chiều khác nhau Việc có một phương pháp đánh giá sự biến đổi từ giá trị trung bình của mỗi chiều sẽ rất hữu ích cho việc thống kê dữ liệu.

Hiệp phương sai là một phương pháp đánh giá mối quan hệ giữa hai chiều trong dữ liệu Để tính hiệp phương sai của một chiều với chính nó, phương sai được sử dụng Trong một tập dữ liệu ba chiều (x, y, z), hiệp phương sai có thể được tính giữa các cặp chiều: x và y, y và z, cũng như z và x.

Công thức tính hiệp phương sai gần giống với công thức tính phương sai Công thức tính phương sai có thể được viết lại như sau:

Tương tự, công thức tính hiệp phương sai được viết như sau:

Công thức (1.5) tương tự như công thức (1.4), với sự khác biệt ở nhân tử thứ hai, khi giá trị của X được thay thế bằng giá trị của Y.

Để tính toán, ta nhân độ sai khác giữa giá trị x và giá trị trung bình của x với độ sai khác giữa giá trị y và giá trị trung bình của y cho từng điểm dữ liệu Sau đó, tổng hợp tất cả các giá trị này và chia cho (n - 1).

Từ công thức tính cov(X,Y) trên, bằng cách đổi chỗ hai nhân tử

( − )( − ) ta suy ra cov(X,Y) = cov(Y,X)

Hiệp phương sai chỉ đánh giá mối quan hệ giữa hai chiều trong dữ liệu Khi dữ liệu có nhiều hơn hai chiều, có thể tính được nhiều giá trị hiệp phương sai Ví dụ, từ một tập dữ liệu ba chiều (x, y, z), ta có thể tính cov(x,y), cov(y,z) và cov(z,x) Đối với một tập dữ liệu n chiều, số lượng hiệp phương sai sẽ tăng lên đáng kể.

( )!∗ giá trị hiệp phương sai khác nhau

Các giá trị hiệp phương sai giữa tất cả các chiều khác nhau được tính toán rồi đưa vào một ma trận

Ma trận hiệp phương sai của một tập dữ liệu n chiều được định nghĩa là ma trận n hàng, n cột, trong đó mỗi phần tử tại hàng i, cột j biểu thị giá trị hiệp phương sai giữa chiều thứ i và chiều thứ j Cụ thể, công thức này cho thấy mối liên hệ giữa các chiều trong tập dữ liệu, giúp phân tích sự biến động và mối tương quan giữa chúng.

Trên đường chéo chính của ma trận hiệp phương sai, các giá trị đại diện cho phương sai của từng chiều, tức là hiệp phương sai giữa một chiều và chính nó Thêm vào đó, do cov(a,b) = cov(b,a), ma trận hiệp phương sai có tính đối xứng qua đường chéo chính.

Phần này cung cấp kiến thức cơ bản về đại số ma trận trong phân tích thành phần chính (PCA), đặc biệt tập trung vào các vector riêng và giá trị riêng của một ma trận cho trước.

Mạng nơron

Giới thiệu về mạng nơ-ron

Quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo có thể chia thành bốn giai đoạn như sau:

Giai đoạn một trong nghiên cứu tâm lý học bắt đầu từ công trình của William (1890), liên quan đến sự kết nối của các nơ-ron thần kinh Đến năm 1940, MeCulloch và Pitts đã chỉ ra rằng nơ-ron có thể được mô hình hóa như những thiết bị ngưỡng để thực hiện các phép tính logic Mô hình mạng nơ-ron của McCulloch-Pitts cùng với thuật toán huấn luyện mạng của Hebb được phát triển vào năm 1943, đánh dấu bước tiến quan trọng trong lĩnh vực này.

- Giai đoạn hai: Vào khoảng gần những năm 1960, một số mô hình nơ- ron hoàn thiện hơn đã được đưa ra như: mô hình Perceptron của Rosenblatt

Mô hình Perceptron, được phát triển bởi Widrow vào năm 1962, thu hút nhiều sự chú ý nhờ vào nguyên lý đơn giản của nó Tuy nhiên, Marvin Minsky và Seymour Papert từ MIT đã chỉ ra rằng Perceptron không thể xử lý các hàm logic phức tạp vào năm 1969 Ngược lại, Adaline là một mô hình tuyến tính tự chỉnh, được áp dụng rộng rãi trong các lĩnh vực như điều khiển thích nghi và tách nhiễu, và vẫn tiếp tục phát triển cho đến ngày nay.

Giai đoạn ba của mạng nơ-ron, bắt đầu từ đầu thập niên 80, chứng kiến những đóng góp quan trọng từ các nhà nghiên cứu như Grossberg, Kohonen, Rumelhart và Hopfield Đặc biệt, Hopfield đã phát triển hai loại mạng phản hồi, gồm mạng rời rạc vào năm 1982 và mạng liên tục vào năm 1984, nhấn mạnh khả năng tính toán vượt trội của mạng so với một nơ-ron đơn lẻ Ý tưởng của ông đã được Rumelhart, Hinton và Williams phát triển thành thuật toán sai số truyền ngược, giúp huấn luyện mạng nơ-ron nhiều lớp để giải quyết các bài toán phức tạp Bên cạnh đó, nhiều ứng dụng mạnh mẽ của mạng nơ-ron đã xuất hiện, bao gồm mạng Boltzmann và mạng Neocognition của Fukushima.

Kể từ năm 1987, hội nghị toàn cầu IJCNN (International Joint Conference on Neural Networks) được tổ chức hàng năm, thu hút nhiều nghiên cứu ứng dụng mạng nơ-ron trong các lĩnh vực như kỹ thuật tính, tối ưu, sinh học, y học, thống kê, giao thông và hóa học Đến nay, mạng nơ-ron đã khẳng định vị trí quan trọng của mình trong nhiều ứng dụng khác nhau.

2.1.2 Mô hình mạng nơ-ron nhân tạo

Hệ thần kinh của con người bao gồm khoảng 100 tỷ tế bào thần kinh, hay còn gọi là nơ-ron, mỗi nơ-ron gồm ba phần chính: thân nơ-ron (soma) chứa nhân, đầu thần kinh ra (axon) và hệ thống hình cây thần kinh (dendrite) Mặc dù có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín hiệu, chúng đều có cấu trúc và nguyên lý hoạt động chung Các dây thần kinh có diện tích lớn (0.25 mm²) giúp nhận tín hiệu từ các nơ-ron khác, trong đó đầu thần kinh ra được rẽ nhánh để chuyển giao tín hiệu tới nơ-ron khác qua các khớp thần kinh (synapse) Tại các khớp này, nơ-ron có khả năng sửa đổi tín hiệu thông qua các trọng số.

Khớp nối dây thần kinh ( Đầu Vào) Nhân

Hình 2.1 Mô hình nơ ron sinh học

- Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:

Mỗi nơ-ron nhận tín hiệu từ các tế bào thần kinh khác và tích hợp các tín hiệu này Khi tổng tín hiệu vượt qua ngưỡng nhất định, nơ-ron sẽ phát tín hiệu ra và truyền đi qua dây thần kinh Các nơ-ron kết nối với nhau tạo thành mạng lưới, và độ bền vững của các liên kết này được xác định bởi trọng số liên kết.

- Trọng số và tổng tín hiệu đầu vào:

Mô phỏng nơ-ron sinh học tạo ra nơ-ron nhân tạo, với mỗi nơ-ron có khả năng tiếp nhận nhiều tín hiệu đồng thời thông qua nhiều dây thần kinh vào Tại nơ-ron i, nếu có N tín hiệu vào, mỗi tín hiệu sẽ được gán một trọng số tương ứng, cho phép ước lượng tổng tín hiệu đi vào nơ-ron net i theo nhiều phương thức khác nhau.

(i) Dạng tuyến tính: , (2.1) (ii) Dạng toàn phương: , (2.2)

(iii) Dạng mặt cầu: , (2.3) trong đó  và lần lượt là bán kính và tâm cầu

- Hàm kích hoạt và các quy tắc xác định tín hiệu ra

Cần thiết lập quy tắc để xác định ảnh hưởng của tín hiệu đầu vào tổng so với ngưỡng kích hoạt của nơron Hàm F k được sử dụng để lấy tín hiệu đầu vào tổng s k (t) và giá trị kích hoạt y k (t) hiện tại, từ đó tính toán giá trị kích hoạt mới của nơron k.

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ào tổng của nơron:

Các hàm kích hoạt không nhất thiết phải không giảm và bao gồm nhiều loại hàm ngưỡng khác nhau Một số hàm thường được sử dụng là hàm ngưỡng giới hạn mạnh, hàm tuyến tính hoặc bán tuyến tính, và hàm ngưỡng giới hạn trơn Trong đó, hàm giới hạn trơn, hay còn gọi là hàm sigmoid, được xác định theo dạng chữ S.

Hình 2.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 nơron có thể là một hàm không xác định trước theo tín hiệu vào Khi đó, giá trị kích hoạt không được xác định chính xác bởi tín hiệu vào mà thay vào đó, tín hiệu vào sẽ xác định một xác suất p để nơron nhận giá kích hoạt cao.

1 + / (2.7) trong đó T là một tham số xác định độ dốc của hàm xác suất

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 có khả năng biểu diễn mối quan hệ tuyến tính giữa giá trị của nơron ra và nơron vào, cho phép sử dụng mạng để xấp xỉ hàm một cách hiệu quả.

Để huấn luyện mạng xác lập một siêu phẳng tối ưu với tập mẫu huấn luyện, cần sử dụng các giá trị vào x p và giá trị ra mong muốn d p Đầu ra thực tế y p của mạng sẽ sai khác so với giá trị đích d p một lượng (d p - y p) Quy tắc delta áp dụng hàm giá hoặc hàm lỗi dựa trên các sai khác này để điều chỉnh trọng số của mạng.

Hàm lỗi được xác định như sau:

2 ( − ) (2.9) trong đó chỉ số p chạy trong tập mẫu vào và E p biểu diễn lỗi trên mẫu p

Phương pháp bình phương trung bình tối thiểu (LMS) là kỹ thuật xác định giá trị trọng số nhằm tối ưu hóa hàm lỗi thông qua việc sử dụng phương pháp giảm dần độ dốc.

∆ = − (2.10) trong đó  là một hằng số thích ứng Giá trị đạo hàm là:

Vì các nơron là tuyến tính (công thức (2.8))

∆ = (2.14) trong đó  p = (d p y p ) là sự sai khác giữa đầu ra đích và đầu ra thực sự của mẫu p

Bias là một yếu tố quan trọng trong mạng nơ-ron, giúp tăng khả năng thích nghi trong quá trình học Mỗi nơ-ron trong mạng nơ-ron sử dụng bias sẽ có một giá trị tương ứng, trong đó luôn có một giá trị cố định là 1.

- Mô hình của một nút xử lý (nút thứ i):

V i  f i   U i , (2.16) trong đó : là tín hiệu vào tại nơ-ron i là tín hiệu ra tại nơ-ron i

W ij là trọng số liên kết từ nơ-ron j đến nơ-ron i

 i là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i f i là hàm kích hoạt của nơ-ron i

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

Mạng nơron nhân tạo bao gồm các nơron, là những đơn vị xử lý cơ bản, truyền thông tin qua các kênh kết nối có trọng số Mỗi nơron nhận tín hiệu từ các nơron lân cận hoặc nguồn bên ngoài, thực hiện tính toán và truyền tín hiệu ra ngoài Bên cạnh việc xử lý thông tin, nơron còn có nhiệm vụ điều chỉnh các trọng số để cải thiện hiệu suất của hệ thống.

Phạm vi ứng dụng của mạng nơ-ron

2.2.1 Các lĩnh vực ứng dụng mạng nơ-ron

Khó có thể thống kê đầy đủ các ứng dụng của mạng nơ-ron Tuy nhiên, có thể nêu một số ứng dụng như sau:

- Các hệ thống quân sự

- Vấn đề lập kế hoạch, điều khiển và tìm kiếm

- Các hệ thống năng lượng

Giải quyết các bài toán tối ưu là một thách thức quan trọng, trong đó việc tìm kiếm các thuật toán huấn luyện mạng có thể giúp tìm ra nghiệm cho nhiều loại bài toán tối ưu toàn cục.

Hình 2.8 Mạng nhiều lớp có nối ngược

2.2.2 Ưu và nhược điểm của mạng nơ-ron

- Thiết kế hệ thống thích nghi

- Không đòi hỏi các đặc trưng mở rộng của bài toán (chủ yếu dựa trên tập học)

- Không có các quy tắc và các hướng dẫn thiết kế một cách rõ ràng đối với một ứng dụng nhất định

- Không có cách tổng quát để đánh giá hoạt động bên trong mạng

- Việc học đối với mạng có thể khó (hoặc không thể) thực hiện

- Khó có thể dự đoán trước được hiệu quả của mạng trong tương lai (khả năng tổng quát hoá).

Thuật toán học lan truyền ngược

Mạng nơron truyền thẳng bao gồm nhiều lớp, trong đó mỗi lớp chứa các nơron nhận tín hiệu từ lớp dưới và truyền tín hiệu lên lớp trên mà không có kết nối giữa các nơron trong cùng một lớp Các nơron vào N i gửi tín hiệu đến lớp đầu tiên của các nơron ẩn N h,1 mà không thực hiện xử lý Hàm kích hoạt tại mỗi nơron ẩn là một hàm F i, tính toán dựa trên tín hiệu vào có trọng số và bias Tín hiệu ra từ các nơron ẩn được chuyển tiếp đến lớp tiếp theo N h,2, và quá trình này tiếp tục cho đến lớp cuối cùng của nơron ẩn, nơi tín hiệu được truyền đến lớp nơron ra N o.

Các nơron trong mô hình này sử dụng hàm kích hoạt phi tuyến, cho phép tổng quát hóa quy tắc delta cho các hàm phi tuyến Hàm kích hoạt được xác định là một hàm khả vi của tín hiệu đầu vào tổng.

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

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

2 − (2.22) trong đó là tín hiệu ra mong muốn với nơron 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 (2.20), nhân tử thứ hai là:

Khi đó có định nghĩa:

Quy tắc mới nhận được, tương đương với quy tắc delta, cho thấy độ dốc giảm dần trên mặt phẳng lỗi khi trọng số được điều chỉnh theo công thức.

Cách xác định vai trò của mỗi nơron k trong mạng là thông qua việc tính toán hồi quy đơn giản các  và cài đặt chúng bằng cách lan truyền ngược tín hiệu lỗi Để tính toán, theo quy tắc chuỗi, đạo hàm riêng phần được biểu diễn dưới dạng tích của hai nhân tử: một nhân tử thể hiện sự biến đổi của lỗi dựa trên tín hiệu ra của nơron, và nhân tử còn lại phản ánh sự biến đổi của tín hiệu ra theo sự biến đổi tín hiệu vào.

Với nhân tử thứ hai, theo công thức (2.19) ta có:

Đạo hàm của hàm F tại nơron thứ k, ký hiệu là ′ (2.28), được tính tại nơron vào đến nơron đó Để xác định nhân tử đầu tiên trong công thức (2.27), chúng ta xem xét hai trường hợp Trường hợp đầu tiên, nếu nơron k là nơron ra k = o của mạng, thì theo định nghĩa của E p.

=− − (2.29) 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 (2.28) vào công thức (2.27):

Khi xét đến nơron ra o bất kỳ, công thức tính lỗi được biểu diễn bởi = − ′ (2.30) Trong trường hợp nơron k không phải là nơron ra mà là nơron ẩn k = h, ta không thể 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, ta có thể viết công thức tính lỗi dưới dạng hàm của các tín hiệu vào từ lớp ẩn đến lớp ra; = ( , , , ) và áp dụng quy tắc chuỗi để diễn đạt mối quan hệ này.

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

Công thức (2.30) và (2.27) thiết lập một quy trình đệ quy để tính toán giá trị  cho tất cả các nơron trong mạng Sau đó, giá trị này được áp dụng để tính toán sự thay đổi trọng số theo công thức (2.26) Quy trình này chính là quy tắc delta tổng quát cho mạng truyền thẳng phi tuyến.

Các công thức đã nêu có thể chính xác về mặt toán học, nhưng điều quan trọng là hiểu được ý nghĩa thực tế của chúng Vậy có cách nào để nắm bắt bản chất của lan truyền ngược không?

Quá trình lan truyền ngược trong mạng nơ-ron rất trực quan, bắt đầu bằng việc đưa vào một mẫu học, từ đó các giá trị kích hoạt được truyền đến các nơ-ron ra Tín hiệu đầu ra của mạng sẽ được so sánh với tín hiệu mong muốn, dẫn đến việc phát sinh lỗi e o cho mỗi nơ-ron ra o Mục tiêu là giảm e o xuống bằng 0, và cách đơn giản nhất để thực hiện điều này là áp dụng thuật toán tham lam, điều chỉnh các kết nối trong mạng để dần dần giảm lỗi cho mẫu học Theo quy tắc delta, các trọng số sẽ được chỉnh sửa để giảm thiểu lỗi.

Để điều chỉnh trọng số từ nơron vào đến các nơron ẩn, cần áp dụng quy tắc delta, nhưng vấn đề là không có giá trị  cho các nơron ẩn Để giải quyết điều này, ta sử dụng quy tắc chuỗi để phân tán lỗi từ nơron ra o đến tất cả các nơron ẩn kết nối với nó, theo trọng số tương ứng Mỗi nơron ẩn sẽ nhận được giá trị  từ nơron ra o dựa trên trọng số kết nối giữa chúng, được tính bằng công thức =∑ Ngoài ra, hàm kích hoạt của nơron ẩn, F’, cần được sử dụng cho delta trước khi tiến hành quá trình lan truyền ngược.

Nhận dạng ảnh mặt người sử dụng mạng Nơron

Bài toán

Có nhiều mô hình khác nhau cho bài toán nhận dạng ảnh khuôn mặt Trong luận văn, chúng tôi sử dụng một cơ sở dữ liệu gồm N người, mỗi người có M ảnh khác nhau, tạo thành tập ảnh huấn luyện Hệ thống sẽ học từ tập ảnh này để nhận diện Khi nhận dạng, hệ thống sẽ tiếp nhận một ảnh của một người bất kỳ trong tập N, và đầu ra sẽ xác định người đó là ai trong số N người đã được cung cấp.

Thiết kế hệ thống

Trước khi tiến hành PCA hoặc LDA, các ảnh gốc kích thước 112×92 sẽ được chuyển đổi thành các vector 10304 chiều Để tăng tính đa dạng cho tập ảnh huấn luyện, mỗi ảnh sẽ được bổ sung một ảnh gương tương ứng.

Hình 3.1 Ảnh gốc được bổ sung ảnh gương

Trong chương trình này, khi thực hiện phân tích thành phần chính, các vector riêng được chọn tương ứng với các giá trị riêng lớn hơn hoặc bằng

10 3 , kết quả là có 49 vector riêng được chọn

Trước khi thực hiện LDA, cần giảm số chiều dữ liệu bằng cách sử dụng PCA, vì số chiều 10304 quá lớn Các vector riêng được chọn dựa trên giá trị riêng lớn hơn hoặc bằng 105, nhiều hơn so với phương pháp PCA Trong quá trình xử lý hình thái ảnh, ảnh sau khi biến đổi cũng cần thực hiện phân tích thành phần chính để giảm số chiều trước khi huấn luyện mạng nơron.

Chương trình áp dụng ba mạng nơron riêng biệt tương ứng với từng phương pháp phân tích Phương pháp huấn luyện mạng tương tự như lý thuyết đã trình bày, nhưng tỉ lệ học không cố định Trong quá trình huấn luyện, nếu lỗi mới vượt quá lỗi cũ với tỉ lệ nhất định, các trọng số và bias mới sẽ bị bỏ qua và tỉ lệ học sẽ giảm Ngược lại, nếu lỗi mới nhỏ hơn lỗi cũ, tỉ lệ học sẽ tăng lên và các trọng số cùng bias sẽ được tính lại.

Ba mạng nơron sẽ được huấn luyện độc lập theo ba phương pháp phân tích khác nhau Trong quá trình nhận dạng, ảnh sẽ được biến đổi và tính toán riêng cho từng phương pháp Kết quả từ ba phương pháp này sẽ được so sánh với nhau, và kết quả phù hợp nhất sẽ được chọn làm kết quả nhận dạng cuối cùng của hệ thống, dựa trên khoảng cách Euclide của các ảnh.

Chương trình

3.3.1 Cơ sở dữ liệu ảnh

Trong luận văn này, bộ dữ liệu được sử dụng là từ cơ sở dữ liệu ORL (Olivetti Research Laboratory, Surrey University), bao gồm 40 người khác nhau, mỗi người có 10 bức ảnh Các bức ảnh này rất đa dạng, được chụp ở nhiều thời điểm và góc độ khác nhau, thể hiện nhiều trạng thái như cười, không cười, đeo kính, nheo mắt, miệng mở hoặc đóng, phù hợp cho việc kiểm thử hệ thống.

Hình 3.2 Ảnh gốc trong bộ ảnh ORL

MATLAB là một ngôn ngữ lập trình bậc cao, được sử dụng để cài đặt hệ thống nhờ vào môi trường tính toán kỹ thuật tích hợp, phù hợp cho các thuật toán Nó cung cấp nhiều hàm hỗ trợ cho việc phân tích và hiển thị dữ liệu trực quan, thực hiện các tính toán trong bài toán kỹ thuật, xây dựng mô hình tính toán và lập trình ứng dụng với giao diện đồ họa người dùng.

Mã nguồn của chương trình bao gồm một số module chính như mô tả trong bảng 3.1

Bảng 3.1 Các module chính của chương trình

PCA_based.m Module nhận dạng mặt người theo phương pháp PCA LDA_based.m Module nhận dạng mặt người theo phương pháp LDA

Morpho_based.m Module nhận dạng mặt người theo phương pháp xử lý hình thái Globalvar.m Chứa các biến toàn cục

Recognize.m Module nhận dạng mặt người bằng cách kết hợp cả ba phương pháp trên

GUI.m Cài đặt giao diện người dùng

Hình 3.3 là giao diện chính của chương trình Chương trình gồm ba chức năng Chức năng Training thực hiện huấn luyện các mạng nơron Chức năng

Chức năng Recognize cho phép người dùng nhận dạng bằng cách nhấn nút, chọn ảnh từ cửa sổ mở ra, và hiển thị ảnh đó trên vùng Input Image Sau khi xác định được người tương ứng, chương trình sẽ in ảnh của người đó lên vùng Recognize Person Người dùng có thể thoát chương trình bằng cách sử dụng chức năng Exit.

Hình 3.3 Giao diện chính của chương trình

Kiểm thử và đánh giá

Trong quá trình xây dựng hệ thống, chương trình đã thực hiện nhiều lần thử nghiệm để xác định giá trị tối ưu cho các tham số quan trọng như số lượng đặc trưng được trích chọn, tỉ lệ học của mạng nơron và số lượng nơron ẩn Các tham số này ảnh hưởng lớn đến thời gian thực hiện và độ chính xác của hệ thống Việc trích chọn đặc trưng là bước đầu tiên trong mỗi phương pháp phân tích, với các đặc trưng được chọn theo giá trị ý nghĩa giảm dần đến một ngưỡng nhất định Ngưỡng lớn có thể loại bỏ các đặc trưng quan trọng, trong khi ngưỡng nhỏ có thể dẫn đến thời gian thực hiện tăng và bao gồm cả các đặc trưng không quan trọng Qua thử nghiệm, ngưỡng cho phương pháp PCA được chọn là 10^-3, còn cho LDA và biến đổi hình thái là 10^-5 Đối với mạng nơron, tỉ lệ học ảnh hưởng lớn đến sự hội tụ; tỉ lệ lớn có thể gây dao động và không ổn định, trong khi tỉ lệ nhỏ làm tăng thời gian hội tụ Phương pháp huấn luyện mạng sử dụng tỉ lệ học không cố định, giảm xuống nếu lỗi mới vượt quá lỗi cũ và tăng lên nếu lỗi mới nhỏ hơn lỗi cũ.

Số lượng nơron ẩn trong mạng nơron ảnh hưởng trực tiếp đến thời gian hoạt động và độ chính xác của mạng Mạng có ít nơron ẩn sẽ hoạt động nhanh nhưng có độ chính xác thấp, trong khi mạng với nhiều nơron ẩn sẽ đạt được độ chính xác cao hơn nhưng thời gian xử lý sẽ lâu hơn Tuy nhiên, nếu số lượng nơron ẩn quá nhiều, độ chính xác sẽ giảm Giá trị tối ưu cho số lượng nơron ẩn trong các mạng nơron được xác định là 24.

Bằng cách kết hợp phương pháp phân tích thống kê và biến đổi hình thái, bài toán nhận dạng khuôn mặt đã được cải thiện đáng kể Phương pháp PCA và LDA giúp trích xuất các đặc trưng thống kê, trong khi biến đổi hình thái cung cấp các đặc trưng hình học cần thiết, tạo ra thông tin đầy đủ về từng cá nhân Sau khi trích chọn, các đặc trưng sẽ được đưa vào mạng nơron lan truyền ngược để huấn luyện, với mỗi phương pháp sử dụng một mạng riêng biệt Các tham số huấn luyện như số lượng đặc trưng, số nơron ẩn và hàm kích hoạt đã được tối ưu hóa thông qua nhiều thử nghiệm, nhằm đạt được sự cân bằng tốt nhất giữa thời gian tính toán và độ chính xác của hệ thống.

Trong quá trình nhận dạng, ảnh đầu vào sẽ được trích xuất đặc trưng và đưa vào các mạng nơron tương ứng với từng phương pháp phân tích Đầu ra từ mỗi mạng sẽ là người tương ứng với kết quả của phương pháp đó Các kết quả này sẽ được so sánh với nhau thông qua khoảng cách Euclide với ảnh đầu vào, và hệ thống sẽ chọn kết quả có khoảng cách ngắn nhất Việc kết hợp này giúp tối ưu hóa ưu điểm của từng phương pháp phân tích, đồng thời bù đắp cho nhược điểm của nhau, từ đó nâng cao hiệu quả của hệ thống.

Mặc dù hệ thống đã đạt độ chính xác cao, vẫn còn một tỷ lệ nhỏ chưa chính xác do chưa đánh giá đầy đủ các đặc trưng của khuôn mặt Để phát triển hệ thống hoàn thiện hơn trong các nghiên cứu tiếp theo, việc kết hợp thêm các phương pháp phân tích như nhận dạng mắt, miệng và mũi là rất cần thiết, vì đây là những đặc trưng quan trọng của khuôn mặt.

Ngày đăng: 18/10/2023, 15:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Đỗ Năng Toàn, Phạm Việt Bình (2007), “Giáo trình môn Xử lý ảnh”. Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình môn Xử lý ảnh
Tác giả: Đỗ Năng Toàn, Phạm Việt Bình
Năm: 2007
[1]. Ben Krửse, Patrick van der Smagt (1996), An introduction to Neural Networks, The University of Amsterdam Sách, tạp chí
Tiêu đề: An introduction to Neural Networks
Tác giả: Ben Krűse, Patrick van der Smagt
Nhà XB: The University of Amsterdam
Năm: 1996
[2]. Kresimir Delac, Mislav Grgic (2007), “PCA and LDA based Neural Networks for Human Face Recognition”, Face Recognition, ISBN 978- 3-902613-03-5, I-Tech, Vienna, Austria Sách, tạp chí
Tiêu đề: PCA and LDA based Neural Networks for Human Face Recognition
Tác giả: Kresimir Delac, Mislav Grgic
Nhà XB: I-Tech
Năm: 2007
[3]. Lindsay I. Smith (2002), A Tutorial on Principal Components Analysis, Cornell University, USA Sách, tạp chí
Tiêu đề: A Tutorial on Principal Components Analysis
Tác giả: Lindsay I. Smith
Nhà XB: Cornell University, USA
Năm: 2002
[4]. Ethan Png (2004), Morphological Shared-Weight Neural Network for Face Recognition, University of Manchester Institute of Science and Technology Sách, tạp chí
Tiêu đề: Morphological Shared-Weight Neural Network for Face Recognition
Tác giả: Ethan Png
Nhà XB: University of Manchester Institute of Science and Technology
Năm: 2004
[5]. William K. Pratt (2007), Digital Image Processing, John Wiley & Sons, Inc., Publication Sách, tạp chí
Tiêu đề: Digital Image Processing
Tác giả: William K. Pratt
Nhà XB: John Wiley & Sons, Inc.
Năm: 2007
[6]. W. Zhao, R. Chellappa, P. J. Phillips, A. Rosenfeld (2003), “Face Recognition - A Literature Survey”, ACM Computing Surveys, Vol. 35 (No. 4) Sách, tạp chí
Tiêu đề: Face Recognition - A Literature Survey
Tác giả: W. Zhao, R. Chellappa, P. J. Phillips, A. Rosenfeld
Nhà XB: ACM Computing Surveys
Năm: 2003

HÌNH ẢNH LIÊN QUAN

Hình 1.3. Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.3. Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB (Trang 15)
Hình 1.7. Ảnh gốc trong cơ sở dữ liệu ORL - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.7. Ảnh gốc trong cơ sở dữ liệu ORL (Trang 26)
Hình 1.8. Ảnh sau khi biến đổi theo PCA - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.8. Ảnh sau khi biến đổi theo PCA (Trang 26)
Hình  1.10  là  một  số  ảnh  sau  khi  biến  đổi  theo  phương  pháp  phân  tách  tuyến tính - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
nh 1.10 là một số ảnh sau khi biến đổi theo phương pháp phân tách tuyến tính (Trang 30)
Hình 1.12. Phép dãn ảnh nhị phân - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.12. Phép dãn ảnh nhị phân (Trang 34)
Hình 1.13. Phép co ảnh nhị phân - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.13. Phép co ảnh nhị phân (Trang 35)
Hình 1.16 là một số ảnh mặt người đã được biến đổi qua phép xử lý hình thái. - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 1.16 là một số ảnh mặt người đã được biến đổi qua phép xử lý hình thái (Trang 42)
Hình 2.1. Mô hình nơ ron sinh học - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 2.1. Mô hình nơ ron sinh học (Trang 45)
Hình 2.3. Mô hình một nơ-ron - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 2.3. Mô hình một nơ-ron (Trang 50)
Hình 2.4. Các thành phần cơ bản của mạng nơron nhân tạo - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 2.4. Các thành phần cơ bản của mạng nơron nhân tạo (Trang 51)
Hình 2.7.  Mạng một lớp có nối  ngược - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 2.7. Mạng một lớp có nối ngược (Trang 54)
Hình 2.8. Mạng nhiều lớp có nối  ngược - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 2.8. Mạng nhiều lớp có nối ngược (Trang 55)
Hình 3.2. Ảnh gốc trong bộ ảnh ORL - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 3.2. Ảnh gốc trong bộ ảnh ORL (Trang 63)
Bảng 3.1. Các module chính của chương trình - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Bảng 3.1. Các module chính của chương trình (Trang 64)
Hình 3.3. Giao diện chính của chương trình - Nhận Dạng Ảnh Mặt Người Sử Dụng Mạng Nơron.pdf
Hình 3.3. Giao diện chính của chương trình (Trang 65)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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