CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 1.1 Tổng quan các mô hình giả mạo khuôn mặt Hơn 30 năm trước, Photoshop xuất hiện đã làm thay đổi hoàn toàn cách mà con người tiếp nhận tin tức. Những hình ảnh mà chúng ta nhìn thấy được trong cuộc sống hằng ngày có thể là sản phầm của một quá trình cắt ghép kỳ công. Khi đó, người dùng bắt đầu hoài nghi về độ chính xác của hình ảnh. Nhưng giờ đây, với sự phát triển mạnh của khoa học công nghệ nói chung và công nghệ giả mạo khuôn mặt nói riêng, video cũng phải chịu chung số phận bị giả mạo như hình ảnh.
Nhiều mô hình thuật toán giả mạo khuôn mặt trên video xuất hiện mạnh mẽ. Trong đó nổi bật nhất có các mô hình như GAN, Deepfake.1 Giới thiệu Generative Adversarial Networks (GAN) [2] là một trong số các mô hình mạnh trong lớp mô hình mạng nơ-ron sử dụng phương pháp học không giám sát. Mô hình này được giới thiệu và phát triển bởi Ian J. Về cơ bản, GAN được tạo thành từ một hệ thống gồm hai mô hình mạng nơ-ron cạnh tranh với nhau và có thể phân tích, nắm bắt và sao chép các biến thể trong bộ dữ liệu.2 Mô hình hoạt động Mô hình GANs có thể được chia thành ba phần: Giai đoạn sinh dữ liệu: mô tả khả năng sinh ra dữ liệu mới.
Giai đoạn phát hiện đối nghịch: huấn luyện một mô hình được thực hiện trong môi trường đối nghịch. Giai đoạn huấn luyện bằng mạng nơ-ron: Sử dụng các mô hình mạng nơ-ron cho mục đích huấn luyện thuật toán. 4 Kiến trúc của GAN bao gồm hai thành phần nhỏ là một mô hình sinh để sinh ra dữ liệu mới và một mô hình phân biệt để xác định các thực thể thật giả. Mô hình sinh tạo các mẫu dữ liệu giả (có thể là hình ảnh, âm thanh, v.) và cố gắng đánh lừa mô hình phân biệt.
Mặt khác, mô hình phân biệt cố gắng tìm mẫu thật và mẫu giả. Mô hình sinh và phân biệt đều là mạng nơ-ron và cả hai đều chạy cạnh tranh với nhau trong giai đoạn huấn luyện. Các bước được thực hiện lặp đi lặp lại nhiều lần và mô hình huấn luyện ngày càng tốt hơn trong các công việc tương ứng sau mỗi lần lặp lại. Công việc có thể được hình dung bằng sơ đồ hình 1.1 Sơ đồ quy trình sinh video giả mạo của mô hình GANs Ở đây, mô hình sinh nắm bắt việc phân phối dữ liệu và được huấn luyện theo cách tối đa hóa xác suất của mô hình phân biệt trong việc phát hiện.
GAN được xây dựng dưới dạng trò chơi minmax, trong mô hình phân biệt cố gắng giảm thiểu phần thưởng V(D, G) và mô hình sinh đang cố gắng tối đa hóa sự mất mát, được mô tả bằng toán học theo công thức (1-1). min max V(D,G) G D (1-1) V(D,G) = 5 Trong đó: G: trình sinh D: trình phân biệt pdata(x) phân phối của dữ liệu thực pz(z): phân phối trình sinh x: mẫu từ pdata(x) z: mẫu từ pz(z) D(x): Mạng phân biệt G(z): Mạng sinh dữ liệu Vì vậy, về cơ bản, huấn luyện một GANs có hai phần: Phần 1: Mô hình phân biệt được huấn luyện trong khi trình sinh dữ liệu không hoạt động. Trong giai đoạn này, mạng chỉ được truyền về phía trước và không có sự lan truyền ngược nào được thực hiện. Mô hình phân biệt được huấn luyện về dữ liệu thực cho “n” lần và xem liệu có thể dự đoán chính xác chúng là thật hay không.
Ngoài ra, trong giai đoạn này, mô hình phân biệt cũng được huấn luyện về dữ liệu được tạo giả từ mô hình sinh và xem liệu có thể dự đoán chính xác chúng là giả hay không. Phần 2: Mô hình sinh được huấn luyện trong khi mô hình phân biệt không hoạt động. Sau khi mô hình phân biệt được huấn luyện bởi dữ liệu giả tạo, chúng ta có thể nhận được dự đoán của mô hình phân biệt và sử dụng kết quả để huấn luyện và nhận được tốt hơn từ trạng thái trước để thử và đánh lừa mô hình phân biệt. Phương pháp trên được lặp lại trong một vài lần và sau đó kiểm tra dữ liệu giả xem có thể đánh lừa được mô hình phân biệt.
Nếu dữ liệu có vẻ chấp nhận được, thì việc huấn luyện được dừng lại, nếu không, quá trình huấn luyện tiếp tục. 6 Mô hình trở nên mạnh mẽ nhờ khả năng tự học không giám sát. Tác giả mô hình đã nhận được hầu hết các mạng nơ-ron đều có thể bị đánh lừa vào việc phân loại sai bằng cách chỉ thêm một lượng nhiễu nhỏ vào dữ liệu gốc. Nhưng đặc biệt là mô hình sau khi thêm nhiễu vào lại có độ tin cậy cao hơn vào dự đoán sai so với khi dự đoán chính xác.
Lý do có sự nghịch lý này đó là vì hầu hết các mô hình máy học đều học được từ một lượng dữ liệu hạn chế, đây là một nhược điểm vô cùng lớn khiến mô hình dễ bị lừa. Mặc dù, có vẻ như ranh giới phân tách giữa các lớp khác nhau là tuyến tính, nhưng trong thực tế, thậm chí một thay đổi nhỏ trong một điểm trong không gian tính năng có thể dẫn đến phân loại dữ liệu sai.1 Giới thiệu Nhờ những phát triển gần đây của máy học, công nghệ xử lý và chế tạo hình ảnh, video đã đạt đến một mức độ tinh vi mới. Điểm mấu chốt của xu hướng này là Deepfake, nó được tạo bằng cách chèn các khuôn mặt được tổng hợp từ sử dụng máy học vào hình ảnh hay video gốc, biến hình khuôn mặt của một người để mô phỏng các hình ảnh khuôn mặt của người khác, nhưng vẫn giữ nguyên nét mặt như hình 1.2 Hình ảnh giả mạo Tổng thống Mỹ bằng deepfake 7 Hiện tại, có hai ứng dụng chính được sử dụng để tạo deepfake là FakeApp và Faceswap. Bất kể loại nào, quy trình làm giả hầu như giống nhau và yêu cầu ba bước: trích xuất đặc trưng, huấn luyện và sáng tạo [3].2 Mô hình hoạt động ❖ Trích xuất đặc trưng Deepfake là mô hình hoán đổi khuôn mặt sử dụng học sâu.
Các mô hình này thường đòi hỏi lượng dữ liệu lớn, nếu không có hàng trăm, hàng ngàn hình ảnh khuôn mặt, bạn sẽ không thể tạo video deepfake. Đây là một trong những nhược điểm của Deepfake. Một cách để giải quyết vấn đề này là thu thập một số video clip có hình ảnh những người bạn muốn giả mạo. Quá trình trích xuất đặc trưng đề cập đến quá trình trích xuất tất cả các khung hình từ các video clip này, xác định các khuôn mặt và căn chỉnh chúng.
Việc căn chỉnh là rất quan trọng, vì mạng nơ-ron thực hiện hoán đổi khuôn mặt yêu cầu tất cả các mặt phải có cùng kích thước (thường là 256 X 256 pixel) và các tính năng được căn chỉnh. Phát hiện và căn chỉnh khuôn mặt là một vấn đề chủ yếu cần giải quyết và được hầu hết các ứng dụng thực hiện rất hiệu quả. ❖ Huấn luyện Huấn luyện là một thuật ngữ kỹ thuật mượn từ máy học. Trong trường hợp này, huấn luyện đề cập đến quá trình cho phép một mạng nơ-ron chuyển đổi mặt này thành mặt khác.
Giai đoạn huấn luyện chỉ cần được thực hiện một lần. Sau khi hoàn thành, mô hình có thể chuyển đổi khuôn mặt từ người A thành người B. Mô hình xây dựng một bộ mã hóa để mã hóa tất cả các hình ảnh này bằng cách sử dụng mạng CNN. Sau đó, sử dụng một bộ giải mã để xây dựng lại hình ảnh.
Bộ mã hóa tự động gồm bộ mã hóa và bộ giải mã này có hơn một triệu thông số nhưng 8 không đủ để ghi nhớ tất cả các hình ảnh. Vì vậy, bộ mã hóa cần trích xuất các tính năng quan trọng nhất để tạo lại đầu vào ban đầu. Để giải mã các tính năng, mô hình sử dụng các bộ giải mã riêng cho người A và người B. Bây giờ, thuật toán huấn luyện bộ mã hóa và bộ giải mã sử dụng lan truyền ngược sao cho đầu vào sẽ khớp so với đầu ra như hình 1.
Quá trình này tốn khá nhiều thời gian.3 Quá trình huấn luyện bộ mã hóa và giải mã của deepfake ❖ Sáng tạo Sau huấn luyện, thuật toán xử lý từng khung hình video để hoán đổi khuôn mặt của người này với người khác. Sử dụng tính năng nhận diện khuôn mặt, thuật toán trích xuất khuôn mặt của người A và đưa vào bộ mã hóa. Tuy nhiên, thay vì cho bộ giải mã ban đầu của người A, thuật toán sử dụng bộ giải mã của người B để dựng lại hình ảnh. Tức là chúng ta vẽ người B với các tính năng của A trong video gốc.
Sau đó, hợp nhất khuôn mặt vừa tạo vào hình ảnh gốc (hình 1. Theo trực giác, bộ mã hóa đang phát hiện góc mặt, màu da, nét mặt, ánh sáng và các thông tin quan trọng khác để tái tạo lại người A. Khi chúng ta sử dụng bộ giải mã thứ hai để tái tạo hình ảnh, chúng ta đang vẽ người B nhưng với bối cảnh của A. Trong bức ảnh dưới đây, hình ảnh được dựng lại có các nhân vật khuôn mặt của người khác trong khi duy trì biểu cảm khuôn mặt của video mục tiêu.4 Quá trình sáng tạo ra nội dung video giả mạo của deepfake 1.2 Tổng quan bài toán phát hiện giả mạo khuôn mặt trong video 1.1 Giới thiệu bài toán Sự phát triển mạnh mẽ của các mô hình giả mạo khuôn mặt đã mang lại nhiều ảnh hưởng tiêu cực.
Các ứng dụng làm giả video có thể được sử dụng để tạo tin giả và các trò lừa bịp độc hại. Đặc biệt là các nội dung về chính trị, xã hội với các video về người nổi tiếng và các chính trị gia bị giả mạo khuôn mặt. Cùng với các hình thức khác, thông tin sai lệch được chia sẻ rộng rãi thông qua các phương tiện truyền thông, nổi bật nhất là thông qua mạng xã hội. Các hình thức mạo danh đã trở thành một vấn đề nghiêm trọng với ảnh hưởng, tác động không hề nhỏ, khi người dùng bình thường không thể nhận biết được đâu là video thật, đâu là video giả mạo.
Vì vậy, một nhu cầu cấp thiết cần có các phương pháp hiệu quả để phát hiện được các video đã giả mạo khuôn mặt. Và bài toán chính được đặt ra để nghiên cứu và giải quyết trong luận văn này là xây dựng mô hình để nhận biết khuôn mặt có bị giả mạo trong video hay không? 1.