« Home « Kết quả tìm kiếm

NGHIÊN CỨU CÁC THUẬT TOÁN NHẬN DẠNG CẢM XÚC KHUÔN MẶT TRÊN ẢNH 2D


Tóm tắt Xem thử

- 11.2 Nhận dạng cảm xúc khuôn mặt và ứng dụng.
- 21.3 Một số phương pháp nhận dạng cảm xúc khuôn mặt.
- 51.4 Các thách thức trong vấn đề nhận dạng cảm xúc khuôn mặt.
- CÁC PHƯƠNG PHÁP NHẬN DẠNG CẢM XÚC KHUÔN MẶT.
- 253.1 Nhận dạng cảm xúc dựa trên PCA truyền thống.
- 263.1.2 Quá trình nhận dạng.
- 273.2 Nhận dạng cảm xúc dựa trên PCA kết hợp các thuật toán học.
- DANH MỤC HÌNH ẢNH 4Hình 1: Mô hình nhận dạng cảm xúc.
- Phương pháp sử dụng Action Units Phương pháp này nhận dạng cảm xúc dựa trên các đơn vị chuyển động của khuôn mặt (AU).
- để nhận dạng cảm xúc.
- Đây là loại mạng có thể áp dụng phương pháp tính toán khá hiệu quả và mạnh gọi là lan truyền ngược lỗi , để xác định đạo hàm hàm lỗi theo các trọng số và độ dốc trong mạng.
- Đây là một tính chất rất quan trọng của những mạng kiểu này bởi những đạo hàm này đóng vai trò trung tâm trong các giải thuật học của các mạng đa lớp.
- Ánh xạ mạng lan truyền tiến Trong phần này ta sẽ nghiên cứu mô hình mạng neural lan truyền tiến như là một khung tổng quát đại diện cho các hàm ánh xạ phi tuyến giữa tập các biến đầu vào và tập các biến đầu ra.
- 2.1.2.1 Mạng phân lớp Các mạng đơn lớp được xây dựng dựa trên sự kết hợp tuyến tính các biến đầu vào được chuyển đổi bởi một hàm truyền phi tuyến.
- Ta có thể xây dựng được các hàm tổng quát hơn bằng cách nghiên cứu những mô hình mạng có các lớp các nút là liên tiếp, với các kết nối từ tất cả các nút thuộc một lớp tới tất cả các nút thuộc lớp kế tiếp, và không cho phép bất kỳ một loại kết nối nào khác.
- Sau đó độ hoạt động zk của nút ẩn j được tính toán bằng cách chuyển đổi tổng tuyến tính (I.27) sử dụng hàm truyền g.
- Kết xuất của mạng được tính bằng cách chuyển đổi độ hoạt động của các nút ẩn sử dụng một lớp các nút thứ 2.
- Sau đó giá trị này được cho qua hàm truyền phi tuyến.
- Ở đây ta sử dụng kí hiệu để biểu diễn hàm truyền của các nút xuất nhằm chỉ ra rằng hàm này có thể không trùng với hàm đã được sử dụng trong lớp ẩn.
- Tuy nhiên ở đây thì ta chỉ giới hạn nghiên cứu trong phạm vi các mạng lan truyền tiến.
- Mạng lan truyền tiến là mạng không có một kết nối quay lui nào trong mạng.
- Theo Bishop (1995): OVề mặt tổng quát, một mạng được gọi là lan truyền tiến nếu nó có thể gán các số liên tục cho tất cả các nút nhập, tất cả các nút ẩn và nút xuất sao cho mỗi nút chỉ có thể nhận được các kết nối từ các nút nhập hoặc các nút được gán số bé hơn.Õ Với những mạng có tính chất như thế, kết xuất của mạng là các hàm quyết định của các đầu vào, và vì thế toàn bộ mạng được gọi là một ánh xạ hàm phi tuyến đa biến.
- là một hàm truyền phi tuyến, và j thuộc tập tất cả các nút nhập và các nút gửi kết nối tới nút k (Tham số trọng ngưỡng cũng đã được bao hàm ở trong tổng này).
- Quá trình này được gọi là lan truyền tiến các tín hiệu qua mạng.
- Nếu như các hàm truyền của tất cả các nút ẩn trong mạng là tuyến tính, thì với những mạng như thế ta luôn luôn tìm được một mô hình mạng tương đương mà không có một nút ẩn nào.
- Những mạng này được gọi là mạng tuyến tính đa lớp và vì thế không được đi sâu nghiên cứu, mà người ta chỉ chủ yếu nghiên cứu các mạng đa lớp với các hàm truyền của các nút ẩn là phi tuyến.
- Bây giờ chúng ta sẽ xem xét hàm truyền logistic dạng S, trong đó các đầu ra của nó nằm trong khoảng (0,1), có phương trình như sau:.
- Hình vẽ dưới đây biểu diễn một hàm truyền sigmoid cho các nút trong mạng.
- Đây là một hàm mũ có một đặc tính vô cùng quan trọng vi.
- Giải thuật học ở đây sẽ điều chỉnh trọng số của các kết nối giữa các nút để hàm này ánh xạ giá trị của x sang dạng nhị phân, thông thường: f(x.
- Hình 3: Đồ thị hàm truyền sigmoid Trong phần này chúng ta sẽ xem xét các mạng neural với nút xuất tuyến tính.
- Tuy nhiên điều này cũng chẳng hạn chế lớp các hàm mà mạng có thể xấp xỉ hoá.
- Việc sử dụng các hàm sigmoid tại các đầu ra sẽ giới hạn phạm vi có thể xảy ra của các nút xuất thành phạm vi có thể đạt tới được của hàm sigmoid (giá trị kết xuất là từ 0 tới 1), và trong một số trường hợp thì điều này có thể là không mong muốn.
- Thậm chí ngay cả khi giá trị xuất mong muốn là nằm trong giới hạn của hàm sigmoid thì chúng ta vẫn phải chú ý rằng hàm sigmoid g.
- là một hàm đơn điệu tăng, do đó nó có thể lấy nghịch đảo được.
- Tương tự, một nút ẩn dạng sigmoid có thể được tạo ra nhằm xấp xỉ một hàm bậc thang (step) bằng vịêc đặt giá trị cho các trọng số và trọng ngưỡng rất lớn.
- Bất kì một ánh xạ hàm liên tục nào đều có thể được trình bày với độ chính xác tuỳ ý bởi một mạng neural hai lớp trọng số sử dụng các nút ẩn dạng sigmoid (Bishop, 1995).
- Thuật toán lan truyền ngược Bây giờ chúng ta sẽ tập trung nghiên cứu một kĩ thuật rất phổ biến của mạng neural nhiều tầng.
- Chúng ta đã biết việc học dựa trên định nghĩa của hàm lỗi, hàm lỗi này sau đó sẽ được tối thiểu hoá dựa vào các trọng số và các trọng ngưỡng trong mạng.
- Trước tiên ta sẽ xem xét trường hợp mạng sử dụng hàm ngưỡng.
- Vấn đề cần bàn ở đây chính là cách để khởi tạo các trọng số cho mạng như thế nào.
- Công việc này thường được gọi là ‘credit assignment problem’.
- Để giải quyết vấn đề gán trọng số này, chúng ta hãy xem xét một mạng với các hàm truyền phân biệt ,do đó giá trị tổng trọng của các nút xuất sẽ trở thành một hàm phân biệt của các biến nhập và của trọng số và trọng ngưỡng.
- Nếu ta coi hàm lỗi, ví dụ có dạng sai số trung bình bình phương, là một hàm riêng biệt cho các giá trị xuất của mạng thì bản thân nó cũng chính là một hàm phân biệt của các trọng số.
- Do đó chúng ta có thể tính toán được đạo hàm hàm lỗi theo các trọng số, và giá trị đạo hàm này lại có thể dùng để làm cực tiểu hoá hàm lỗi bằng cách sử dụng phương pháp giảm gradient (gradient descent) hoặc các phương pháp tối ưu hoá khác.
- Giải thuật ước lượng đạo hàm hàm lỗi được biết đến với tên gọi lan truyền ngược, nó tương đương với việc lan truyền ngược lỗi trong mạng.
- Cần nói thêm rằng giải thuật lan truyền ngược được sử dụng trong mạng neural có ý nghĩa rất lớn.
- Ví dụ như, kiến trúc của mạng perceptron nhiều tầng cũng thường được gọi là mạng lan truyền ngược.
- Khái niệm lan truyền ngược cũng thường được sử dụng để mô tả quá trình huấn luyện của mạng perceptron nhiều tầng sử dụng phương pháp gradient descent áp dụng trên hàm lỗi dạng sai số trung bình bình phương.
- Để làm rõ hơn về thuật ngữ này chúng ta cần xem xét quá trình luyện mạng một cách kĩ càng.
- Phần lớn các giải thuật luyện mạng đều liên quan đến một thủ tục được lặp đi lặp lại nhằm làm tối thiểu hàm lỗi, bằng cách điều chỉnh trọng số trong một chuỗi các bước.
- Tại bước thứ nhất, cần phải tính đạo hàm hàm lỗi theo các trọng số.
- Vì tại bước này lỗi sẽ được lan truyền ngược trở lại mạng nên chúng ta sẽ sử dụng khái niệm lan truyền ngược để đặc trưng riêng cho việc đánh giá đạo hàm này.
- Tại bước thứ hai, các đạo hàm sẽ được sử dụng trong việc tính toán sự điều chỉnh đối với trọng số.
- Do đó, quá trình xử lý đầu tiên , được biết đến là quá trình lan truyền ngược các lỗi vào trong mạng để đánh giá đạo hàm, có thể được áp dụng đối với rất nhiều laọi mạng khác nhau chứ không chỉ đối với riêng mạng perceptron nhiều tầng.
- Nó cũng có thể được áp dụng với các loại hàm lỗi khác chứ không chỉ là hàm tính sai số bình phương cực tiểu, và để đánh giá các đạo hàm khác này có thể sử dụng các phương pháp khác như phương pháp ma trận Jacobian và Hessian mà chúng ta sẽ xem xét ở phần sau.
- Và cũng tương tự như vậy thì tại bước thứ hai, việc điều chỉnh trọng số sử dụng các đạo hàm đã được tính trước đó có thể thực hiện với nhiều phương pháp tối ưu hoá khác nhau, và rất nhiều trong số các phương pháp đó cho kết quả tốt hơn phương pháp gradient descend.
- Hình 4: Lan truyền ngược Bây giờ chúng ta sẽ áp dụng giải thuật lan truyền ngược cho bất kì một mạng neural có cấu hình lan truyền tiến tuỳ ý, sử dụng các hàm truyền phi tuyến tuỳ ý, và cả hàm lỗi có dạng tuỳ ý.
- Để minh hoạ chúng ta sẽ dùng một mạng có cấu trúc một tầng nút ẩn dạng sigmoid và hàm lỗi là hàm tính theo sai số trung bình bình phương.
- Trong các mạng lan truyền tiến nói chung mỗi nút đều tình tổng trọng hoá các đầu vào của nó theo công thức:.
- Giá trị tổng này được tính trên tất cả các nút có kết nối trực tiếp với nút j.
- Tổng trong (I.35) lại được biến đổi thông qua một hàm truyền phi tuyến g.
- (I.36) Bây giờ chúng ta cần phải xác định giá trị của các trọng số trong mạng thông qua việc tối thiểu hoá hàm lỗi.
- ở đây ta sẽ coi cá hàm lỗi được viết như một tổng của tất cả các lỗi tại mỗi mẫu riêng biệt.Tổng này sẽ được tính trên tất cả các mẫu của tập huấn luyện.
- (I.37) Với n là nhãn của từng mẫu.
- Chúng ta cũng giả định rằng lỗi En có thể được thể hiện như một hàm riêng của các biến đầu ra, có nghĩa la.
- yc) Mục đích của chúng ta ở đây chính là phải tìm ra một hàm nhằm để tính được đạo hàm của hàm lỗi theo các trọng số và trọng ngưỡng của mạng.
- Quá trình này thường được gọi là quá trình lan truyền tiến trong mạng.
- Bây giờ hãy xem xét việc tính đạo hàm của En theo cá trọng số wji.
- Giá trị xuất của các nút sẽ phụ thuộc vào từng mẫu nhập n nào.
- Do đó ta có thể đưa ra công thức tính các đạo hàm riêng như sau:.
- Trong đó Từ công thức (I.40) ta thấy rằng để tính được đạo hàm chúng ta chỉ cần tính giá trị cho mỗi nút ẩn và nút xuất trong mạng và sau đó áp dụng công thức (I.40).
- Với các nút xuất thì việc tính δk là hết sức đơn giản..
- Để tính được δ cho cá nút ẩn, ta cần sử dụng công thức tính đạo hàm riêng:.
- Chúng ta có thể tổng kết lại giải thuật lan truyền ngược nhằm tính đạo hàm hàm lỗi En theo các trọng số trong 4 bước.
- Đưa vector nhập xn vào mạng và lan truyền tiến nó trong mạng sử dụng và để tìm ra giá trị xuất cho tất cả các nút ẩn cũng như nút xuất.
- Tính δ cho tất cả các nút xuất sử dụng công thức · Lan truyền ngựơc các ( bằng công thức để thu được δ cho mỗi nút ẩn trong mạng.
- để tính các đạo hàm.
- Đạo hàm của lỗi tổng E có thể thu được bằng cách lặp đi lặp lại các bước trên đối với trừng mẫu trong tập huấn luyện và sau đó tính tổng trên tất cả các lỗi.
- Trong quá trình tính đạo hàm trên chúng ta đã giả định rằng mỗi nút ẩn cũng như xuất đếu có chung một hàm truyền g.
- Tuy nhiên điều này hoàn toàn có thể tính được với trường hợp mỗi nút khác nhau đếu có các hàm truyền riêng, đơn giản bằng cách đánh dấu dạng của hàm g.
- ứng với từng nút.
- Đặt w là tổng số các trọng số và trọng ngưỡng.
- Do đó một phép tính hàm lỗi (cho một mẫu nhập nào đó) cần O(w) thao tác với w đủ lớn.
- Điều này cho phép số lượng trọng số có thể lớn hơn số lượng nút, trừ những mạng có quá ít kết nối.
- Do vậy, hiệu quả của việc tính toán trong lan truyền ngược sẽ liên quan đến việc tính giá trị của tổng trong công thức (I.35), còn việc tính toán các hàm truyền thì tổng phí khá nhỏ.
- Với tất cả w trọng số thì sẽ có w đạo hàm cần tính toán.
- Với mỗi lần tính đạo hàm như vậy cần phải thực hiện tìm biểu thức hàm lỗi, xác định công thức tính đạo hàm và sau đó tính toán chúng theo giải thuật lan truyền ngược, mỗi công việc đó sẽ đòi hỏi O(w) thao tác.
- Như vậy toàn bộ quá trình tính toán tất cả các đạo hàm sẽ tỉ lệ với O(w2).
- Giải thật lan truyền ngược cho phép các đạo hàm được tính trong O(w) thao tác.
- Điều này cũng dẫn đến rằng cả hai pha lan truyền ngược và lan truyền tiến đều cần O(w) thao tác, việc tính đạo hàm theo công thức (I.43) cũng cần O(w) thao tác.Như vậy giải thuật lan truyền ngược đã làm giảm độ phức tạp tính toán từ O(w2) đến O(w) đối với mỗi vector nhập.
- Vì quá trình luyện mạng, dù có sử dụng lan truyền ngược, có thể cần rất nhiều thời gian, nên việc đạt được hiệu quả như vậy là hết sức quan trọng.Với tổng số N mẫu luyện, số lượng các bước tính toán để đánh giá hàm lỗi trên toàn bộ tập dữ liệu sẽ là N lần bước tính toán của một mẫu.
- Nhận dạng cảm xúc dựa trên PCA kết hợp các thuật toán học Mạng nơron Mô hình:.
- Kết quả nhận dạng được · Vui: 60.
- 4.1 Tổng kết Chương này mô tả thực nghiệm và kết quả của 3 phương pháp nhận dạng cảm xúc.
- Phương pháp này có khả năng nhận dạng tốt, tốc độ nhanh.
- Áp dụng các giải thuật này cho bài toán nhận dạng cảm xúc.
- NGHIÊN CỨU CÁC THUẬT TOÁN NHẬN DẠNG CẢM XÚC KHUÔN MẶT TRÊN ẢNH 2D.
- Nhận dạng cảm xúc.
- Cảm xúc