Chương 2 : CÁC PHƯƠNG PHÁP TẠO HÌNH ẢNH ẢO
2.7 Few-Shot Adversarial Learning của Realistic Neural talking Head Models:
Models:
Phương pháp tạo mẫu ảo với sự trợ giúp của GANs, Zakharov và cộng sự [17] đã sử dụng các điểm đặc trưng khn mặt được trích xuất để đại diện cho sự biến đổi trong lớp và chiến lược siêu học được sử dụng để làm cho mơ hình tạo ra mẫu ảo chất lượng cao trong đào tạo đối tượng.
2.7.1 Giới thiệu:
Hình 2.7.1. Kết quả của việc tổng hợp hình ảnh khn mặt nói chuyện bằng cách sử dụng các dấu vết mốc khn mặt được trích xuất từ một chuỗi video khác nhau của cùng một người (ở bên trái) và sử dụng mốc khuôn mặt của một người khác (ở bên phải). Kết quả được điều chỉnh dựa trên các mốc lấy từ khung đích, trong khi khung nguồn là một ví dụ từ tập huấn luyện. Các mơ hình khn mặt biết nói ở bên trái được đào tạo bằng cách sử dụng tám khung, trong khi các mơ hình bên phải được đào tạo một lần.
Trong bài báo này, nhóm tác giả coi trọng việc tạo ra các mơ hình khn mặt nói chuyện thực tế ảnh được cá nhân hóa, tức là các hệ thống có thể tổng hợp chuỗi video hợp lý về cách diễn đạt và bắt chước giọng nói của một cá nhân cụ thể. Cụ thể hơn, xem xét vấn đề tổng hợp các hình ảnh đầu được cá nhân hóa bằng ảnh thực với một tập hợp các đặc điểm (landmarks) khuôn mặt, điều này thúc đẩy hoạt ảnh của mơ hình.
Tổng hợp chuỗi khn mặt nói chuyện thực tế rất khó khăn, vì 2 lý do:
Đầu tiên, khn mặt người có độ phức tạp cao về trắc quang, hình học và động học. Sự phức tạp này không chỉ bắt nguồn từ việc tạo mẫu khn mặt (nơi có một số lượng lớn các phương pháp tạo mẫu) mà còn từ việc tạo mẫu khoang miệng, tóc và quần áo.
Báo cáo thực tập tốt nghiệp GHVD: Đặng Nguyên Châu
Thứ hai là sự nhạy bén của hệ thống thị giác của con người đối với những sai sót nhỏ trong việc tạo mơ hình ngoại hình của khn mặt. Khả năng chịu đựng sai lầm của mơ hình thấp như vậy giải thích sự phổ biến hiện nay của các hình đại diện giống như phim hoạt hình phi thực tế trong nhiều hệ thống hội nghị từ xa được triển khai trên thực tế. Bài báo sẽ trình bày một hệ thống để tạo ra các mơ hình mặt biết nói từ một số ít các bức ảnh (được gọi là few-shot learning) và với thời gian đào tạo giới hạn. Trên thực tế, hệ thống có thể tạo ra một kết quả hợp lý dựa trên một bức ảnh duy nhất (one-shot learning) trong khi thêm một vài bức ảnh nữa làm tăng độ trung thực của q trình cá nhân hóa. Các đầu nói chuyện được tạo ra bởi mơ hình này là các ConvNets sâu tổng hợp các khung hình video theo cách trực tiếp bằng một chuỗi hoạt động phức tạp chứ không phải bằng cách uốn cong.
Khả năng học tập trong vài lần có được nhờ q trình mở rộng pre-training (học tập tổng hợp) trên một kho dữ liệu lớn các video về đầu nói chuyện tương ứng với các diễn giả khác nhau có ngoại hình đa dạng. Trong q trình meta-learning, hệ thống mơ phỏng các nhiệm vụ học tập trong vài lần chụp và học cách chuyển đổi các vị trí mốc thành các bức ảnh được cá nhân hóa trơng thực tế, cung cấp một bộ hình ảnh đào tạo nhỏ với người này. Trong các thử nghiệm, chúng ta cung cấp các so sánh về đầu biết nói do hệ thống này tạo ra với các mơ hình đầu biết nói thần kinh thay thế thơng qua các phép đo định lượng và nghiên cứu người dùng, trong đó phương pháp của chúng ta tạo ra hình ảnh đủ chân thực và độ trung thực cá nhân hóa.
Thiết kế của hệ thống vay mượn rất nhiều từ những tiến bộ gần đây trong việc tạo mơ hình tổng về hình ảnh. Do đó, kiến trúc ta sử dụng đào tạo đối nghịch và cụ thể hơn là các
ý tưởng đằng sau các yếu tố phân biệt có điều kiện, bao gồm các yếu tố phân biệt dự báo. Giai đoạn meta-learning sử dụng cơ chế chuẩn hóa phiên bản thích ứng, được chứng minh là hữu ích trong các nhiệm vụ tạo có điều kiện quy mơ lớn.
2.7.2 Chi tiết phương pháp:
Hình 2.7.2. Kiến trúc meta-learning liên quan đến mạng embedder ánh xạ các hình ảnh khn mặt (với các đặc điểm khn mặt ước tính) với các vectơ nhúng, chứa thơng tin độc lập với tư thế. Mạng trình tạo ánh xạ các mốc khuôn mặt đầu vào vào các khung đầu ra thông qua tập hợp các lớp chập, được điều chế bởi các vectơ nhúng thơng qua chuẩn hóa phiên bản thích ứng. Trong q trình meta-learning, chúng ta chuyển các tập hợp khung từ cùng một video qua trình nhúng, tính trung bình các kết quả lần nhúng và sử dụng chúng để dự đốn các thơng số thích ứng của trình tạo Generator. Sau đó, chuyển các điểm mốc của một khung hình khác qua Generator, so sánh hình ảnh thu được với ground truth.
Giả sử sẵn có M chuỗi video, chứa những khn mặt biết nói của những người khác nhau. Biễu diễn bằng xi(t) - chuỗi video thứ i và khung hình thứ t. Sử dụng mã căn chỉnh khn mặt có sẵn để lấy được các đường nét đặc điểm của khn mặt.
Trong meta-learning, có 3 mạng network được đào tạo:
Embedder: , lấy một khung hình video xi(s), một hình ảnh mốc liên quan yi(s), và ánh xạ các đầu vào này thành một vectơ N chiều
êi(s).
Generator: lấy hình ảnh cột mốc yi(t) cho khung video mà trình nhúng khơng nhìn thấy, dự đốn video nhúng êi và
xuất ra khung video tổng hợp. Bộ tạo generator được đào tạo để tối đa hóa sự giống nhau giữa đầu ra của nó và khung ground
truth. Tất cả tham số của nó được chia thành 2 loại: tham số chung ̂ và tham số riêng
Báo cáo thực tập tốt nghiệp GHVD: Đặng Nguyên Châu
của người ̂ . chỉ ̂ được huấn luyện trực tiếp, trong khi ̂ được dự đoán từ vectơ nhúng
bằng cách sử dụng ma trận chiếu có thể huấn luyện :
Discriminator: , lấy một khung hình video xi(t), một hình ảnh mốc liên quan yi(t) và chỉ số của trình tự huấn luyện i. Ở đây, θ, W, w0 và b biểu thị các tham số có thể học được kết hợp với bộ phân biệt. Bộ phân biệt chứa phần ConvNet V (xi (t), yi (t); θ) ánh xạ khung đầu vào và hình ảnh mốc thành một vectơ N chiều. Bộ phân biệt dự đốn một điểm vơ hướng duy nhất (điểm số thực) r, cho biết liệu khung đầu vào xi (t) có phải là khung thực của chuỗi video thứ i hay khơng và liệu nó có khớp với tư thế đầu vào yi (t) hay không, dựa trên kết quả đầu ra của phần ConvNet của nó và các tham số W, w0, b.
Các thơng số của cả ba mạng đều được đào tạo theo kiểu đối nghịch.
b. Giai đoạn học tổng hợp (Meta-learning):
Nó được thực hiện bằng cách mô phỏng các tập K-shot learning (K = 8 trong các thí nghiệm của chúng ta). Trong mỗi tập, chúng ta vẽ ngẫu nhiên một chuỗi video đào tạo i và một khung hình t từ chuỗi đó. Ngồi t, ta vẽ ngẫu nhiên thêm K khung s1, s2, ..., sK từ cùng một dãy.
Sau đó, chúng ta tính ei ước tính của lần nhúng video thứ i bằng cách đơn giản lấy trung bình các lần nhúng ˆei (sk) được dự đốn cho các khung hình bổ sung này.
Việc tái tạo ˆxi (t) của khung thứ t, dựa trên phép nhúng ước tính ˆei, sau đó được tính:
Các tham số của trình tạo nhúng và trình tạo sau đó được tối ưu hóa để giảm thiểu.
Do đó, có hai loại video nhúng trong hệ thống: loại do trình nhúng tính tốn và loại tương ứng với các cột của ma trận W trong bộ phân biệt.
c. Học vài lần bằng cách tinh chỉnh:
Sau q trình meta-learning, chúng ta có thể sử dụng trình nhúng siêu đã học để ước tính việc nhúng cho chuỗi phần đầu biết nói mới:
Sử dụng lại các tham số φ được ước tính trước đó. Một cách đơn giản để tạo các khung hình mới, tương ứng với các hình ảnh mốc mới, sau đó là áp dụng trình tạo bằng cách sử dụng phép nhúng ước tính ˆeNEW và các tham số siêu học ψ, cũng như ma trận phép chiếu P.
Q trình tinh chỉnh có thể được coi là một phiên bản đơn giản hóa của siêu học với một chuỗi video duy nhất và số lượng khung hình nhỏ hơn, bao gồm:
Bộ tạo generator: G (y (t), ˆeNEW; ψ, P) bây giờ được thay thế bằng G ′ (y (t); ψ, ψ ′). Như trước đây, nó lấy ảnh mốc y (t) và xuất ra khung tổng hợp ˆx (t). Quan trọng là, các tham số của bộ tạo dành riêng cho từng người, mà chúng ta ký hiệu là ψ ′, hiện được tối ưu hóa trực tiếp cùng với các tham số chung của từng người ψ. Chúng ta vẫn sử dụng phép nhúng được tính tốn ˆeNEW và ma trận chiếu P được ước tính ở giai đoạn siêu học để khởi tạo ψ ′, tức là chúng ta bắt đầu với ψ ′ = PˆeNEW.
Bộ phân biệt: D ′ (x (t), y (t); θ, w ′, b), như trước đây, tính điểm số thực. Các tham số θ của phần ConvNet V (x (t), y (t); θ) và độ lệch b của nó được khởi tạo từ kết quả của giai đoạn siêu học.
2.7.3 Kết quả thí nghiệm:
Hình 2.7.3. So sánh trên tập dữ liệu VoxCeleb1.
Báo cáo thực tập tốt nghiệp GHVD: Đặng Nguyên Châu
Đối với mỗi phương pháp được so sánh, thực hiện học một lần và vài lần trên video của một người khơng được nhìn thấy trong q trình học meta hoặc đào tạo trước. Ta đặt số khung huấn luyện bằng T (cột ngoài cùng bên trái). Một trong các khung đào tạo được hiển thị trong cột nguồn Source. Các cột tiếp theo hiển thị hình ảnh trung thực cơ bản Ground truth, được lấy từ phần thử nghiệm của chuỗi video và kết quả được tạo của các phương pháp được so sánh.
Hình 2.7.4. Kết quả cho các mơ hình tốt nhất của chúng ta trên tập dữ liệu VoxCeleb2. Trong khi biến thể chuyển tiếp cho phép tìm hiểu nhanh (thời gian thực) các hình đại diện mới, việc tinh chỉnh cuối cùng mang lại độ chân thực và độ trung thực tốt hơn.
Hình 2.7.5. Áp dụng vào những bức ảnh tĩnh.
2.7.4 Kết luận:
Bài báo đã trình bày một khn khổ để học tổng hợp các mơ hình tổng hợp đối nghịch, có thể đào tạo những khn mặt ảo biết nói có độ thực tế cao dưới dạng mạng generator sâu. Điều quan trọng, chỉ cần một số ít ảnh (ít nhất là một) để tạo một mơ hình mới.
Hiện tại, những hạn chế chính của phương pháp này là biểu diễn bắt chước. Sử dụng các điểm mốc của một người khác dẫn đến sự khơng phù hợp về tính cách.
Báo cáo thực tập tốt nghiệp GHVD: Đặng Nguyên Châu
2.8 Tạo khn mặt để học ít lần sử dụng Generative Adversarial Networks (GAN):
2.8.1 Giới thiệu:
Nhóm tác giả điều chỉnh trình tạo từ Generative Adversarial Networks (GAN) để tăng kích thước cho tập dữ liệu đào tạo, bao gồm tập cơ sở, tập dữ liệu có sẵn và tập mới, một tập dữ liệu giới hạn nhất định, đồng thời áp dụng học chuyển giao như một backend. Dựa trên nghiên cứu thử nghiệm,nhóm tác giả tiến hành phân tích các phương pháp nâng cao dữ liệu khác nhau, quan sát mức độ ảnh hưởng của mỗi phương pháp đến độ chính xác của nhận dạng. Cuối cùng, kết luận rằng thuật tốn được đề xuất để tạo khn mặt có hiệu quả trong việc cải thiện độ chính xác nhận dạng và độ bao phủ ở độ chính xác 99% bằng cách sử dụng cả tập cơ sở và tập mới.
Low-shot Learning hiện đang được nghiên cứu tích cực để giải quyết vấn đề tập dữ liệu hạn chế trong nhận dạng bằng cách bắt chước quá trình của não người, con người có thể nhận ra chỉ sau khi học một vài hình ảnh của đối tượng, và đơi khi thậm chí có thể hiểu một cách trực quan mà khơng cần học.
Trong bài báo này sử dụng phương pháp Transfer Learning do Thrun đề xuất để đào tạo một mơ hình với một tập dữ liệu lớn (tức là tập cơ sở) để xây dựng một bộ trích xuất tính năng. Sau đó, tinh chỉnh để học nhãn thực tế của đối tượng bằng tập dữ liệu hình ảnh mới, nhỏ (tức là tập mới) không trùng lặp với tập cơ sở.
Sử dụng học chuyển giao Transfer Learning như một phần mềm phụ trợ (backend), nhóm tác giả triển khai nhiều bộ tạo dữ liệu khác nhau để tăng cả tập cơ sở và tập mới nhằm đạt được độ chính xác cao hơn trong nhận dạng. Đối với việc tạo hình ảnh, bài báo trình bày một mơ hình đào tạo kết hợp giữa việc học chuyển giao và tạo dữ liệu cho nhận dạng khuôn mặt.
Hình 2.8.1. Tổng quan về thuật tốn được đề xuất.
Phần 2, sử dụng các biến thể của GAN để tạo ra các khn mặt dưới nhiều tư thế và thuộc tính khác nhau. Sử dụng một bộ dữ liệu cơ sở để đào tạo GAN nhằm xây dựng một bộ tạo mặt.
Phần 3, phân tích kết quả nhận dạng khn mặt bằng cách sử dụng mọi kết hợp khác nhau để tăng tập dữ liệu. Đối với tập dữ liệu, tập cơ sở dựa trên MS-Celeb-1M Challenge-2 và CelebA.
2.8.2 Chi tiết phương pháp:
a. Cơng trình liên quan:
Low-shot learning: Ở đây bài báo sử dụng phương pháp tạo ra bằng cách tăng cường hoặc bằng cách sử dụng dữ liệu nhất định để mở rộng tập dữ liệu.
Data augmentation và generation: Phương pháp đơn giản nhất trong tạo dữ liệu là tăng cường thông qua chuyển đổi hình ảnh đơn giản: sử dụng dịch hình ảnh, xoay, thêm nhiễu và pha trộn màu sắc để biến đổi hình ảnh gốc nhằm tạo dữ liệu bổ sung.
Tuy nhiên, các phương pháp này tạo ra phiên bản trùng lặp của dữ liệu gốc; do đó tập dữ liệu vẫn thiếu các biến thể trong lớp. Để xử lý vấn đề này, đã có những nỗ lực tinh chỉnh
Báo cáo thực tập tốt nghiệp GHVD: Đặng Nguyên Châu
dữ liệu để chuyển đổi dữ liệu ban đầu thành các features, do đó, sự thay đổi của tập dữ liệu được tăng lên.
Generative adversarial network (GAN): là một mơ hình mạnh mẽ để mơ hình hóa và tạo hình ảnh theo cách khơng giám sát. Mạng của họ bao gồm bộ tạo và bộ phân biệt hoạt động đối nghịch nhau để học cách tổng quát hóa của tập dữ liệu đã cho. Tuy nhiên, sự khác biệt nhỏ về thông số và lựa chọn cấu trúc có thể dẫn đến kết quả khơng đều, kém, khiến cho việc đào tạo trong các ứng dụng trở nên khó khăn.
Variational Autoencoder VAE / GAN: điều chỉnh Bộ mã tự động biến đổi (VAE) thành GAN để tối đa hóa lợi thế của cả hai mơ hình, sử dụng bộ phân biệt của GAN để tính tốn feature-wise loss cho bộ giải mã đào tạo của VAE. Feature-wise loss này đã cải thiện hiệu suất đáng kể so với pixel-wise loss.
Hình 2.8.2. Các khn mặt được tái tạo bằng VAE / GAN. Hàng trên: Các khuôn mặt đầu vào. Hàng dưới: Các khn mặt được tái tạo tương ứng.
Nhóm tác giả sử dụng BEGAN vào mơ hình như một phương tiện để tạo ra ảnh trên tập dữ liệu ảnh low-shot. BEGAN đã được đề xuất bởi Berthelot và cộng sự, để giải quyết vấn đề mất cân bằng của bộ tạo và bộ phân biệt bằng cách đưa hệ số cân bằng vào mơ hình. Những nỗ lực của họ đã cải thiện đáng kể hiệu suất của quá trình tạo hình ảnh, hiển thị thành cơng hình ảnh khn mặt được xây dựng lại mịn và sắc nét.
Hình 2.8.3. Các khn mặt được tái tạo bằng BEGAN. Hàng trên cùng: Hình ảnh đầu vào. Hàng giữa: Đầu ra từ BEGAN mà không bỏ qua kết nối. Hàng dưới cùng: Hình ảnh được tạo từ BEGAN với kết nối bỏ qua. Các đầu ra có kết nối bỏ qua giống với hình ảnh đầu vào hơn.
b. Tạo khuôn mặt để nhận dạng khuôn mặt:
Trong phần này mô tả chi tiết về khung nhận dạng khuôn mặt. Trước tiên, xem xét mạng generation và mạng nhận dạng khn mặt, sau đó giới thiệu các phương pháp nâng cao dữ liệu và đề xuất chương trình đào tạo mạng.
• Mạng Generation:
Bài báo sử dụng VAE / GAN và BEGAN cho các mạng Generation. Trong VAE / GAN, chỉ số đã học sẽ thay thế pixel tương đồng được sử dụng trong kiến trúc GAN ban đầu.