Tải bản đầy đủ (.doc) (36 trang)

Báo Cáo Đồ Án Cơ Sở 5 Đề Tài Xây Dựng Ứng Dụng Xử Lý Ảnh Deepfake.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.73 MB, 36 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT-HÀN

BÁO CÁO
ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI: Xây dựng ứng dụng xử lý ảnh Deepfake


LỜI MỞ ĐẦU

Đào tạo bậc đại học hệ kỹ sư địi hỏi sinh viên ngồi việc thành thạo kỹ năng
lập trình thì việc hiểu rõ bản chất của các giao thức, ngơn ngữ lập trình và mơi
trường… là rất quan trọng. Chính vì vậy ngồi việc giảng dạy về ngơn ngữ lập trình
cùng giải thuật thì các Thầy cơ giảng viên tại trường luôn luôn hướng sinh viên đến
cái cốt lõi nhất để sinh viên hiểu và nắm rõ được bản chất. Chuẩn bị tốt cho việc tốt
nghiệp và kiến thức sau này. Với hướng đi đó, nhóm chúng em đã chọn đề tài “Xây
dựng ứng dụng xử lý ảnh Deepfake”, bằng việc ứng dụng những gì đã học trong
mơn xử lý ảnh. Tuy đề tài không mới nhưng việc nắm rõ được bản chất và thành
thạo khả năng lập trình xử lý ảnh địi hỏi thời gian và kiến thức phải thật vững chắc.
Với việc đã từng học về các mơ hình hàm lọc ảnh, q trình biến đổi phân tích
các chi tiết, nhóm chúng em đã từng bước hồn thành đề tài đã chọn, tuy vậy vẫn
cịn nhiều thiếu sót cần hồn thiện và tiếp tục phát triển.
Nhóm em đã thực hiện đề tài này bằng cách sự dụng các công cụ rất phổ biến
trong lĩnh vực xây dựng ứng dụng xử lý ảnh có thể kể ra một vài thứ như: PyCharm
IDE, Thư viện OpenCV, ngôn ngữ Python... Cùng với đó nhóm em cũng áp dụng các
kiến thức cần thiết của môn xử lý ảnh vào để thực hiện đề tài. Nhóm em đã xây
dựng được các chức năng cơ bản cho ứng dụng như: Phát hiện được khuôn mặt, xử
lý các điểm đặc trưng trên khuôn mặt, hốn đổi khn mặt. Cuối cùng nhóm em xin
gửi lời cảm ơn chân thành nhất đến giảng viên hướng dẫn là ThS. Trần Đình Sơn


cũng như các Thầy cơ trong Trường đã tạo điều kiện giúp đỡ nhóm em trong thời
gian qua để có thể hồn thành tốt được đề tài của mình.


MỤC LỤC

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT........................................................................5
1.1

TỔNG QUAN VỀ NGÔN NGỮ PYTHON.............................................................................................5
1.1.1

Python là gì?.......................................................................................................................5

1.1.2

Ứng dụng của Python........................................................................................................5

1.1.3

Những đặc điểm cơ bản của Python..................................................................................6

1.2

TỔNG QUAN VỀ XỬ LÝ ẢNH..........................................................................................................7
1.2.1

Xử lý ảnh là gì?...................................................................................................................7

1.2.2


Một số khái niệm cơ bản....................................................................................................9

1.3

TỔNG QUAN VỀ MEDIAPIPE.......................................................................................................13
1.3.1

Mediapipe là gì?...............................................................................................................13

1.3.2

Mediapipe face landmark................................................................................................14

1.3.3

Mediapipe face detection................................................................................................15

CHƯƠNG 2 CÁC KỸ THUẬT XỬ LÝ ẢNH VÀ DEEPFAKE...................................16
2.1

CẢI THIỆN ẢNH VÀ NÂNG CAO CHẤT LƯỢNG ẢNH...........................................................................16
2.1.1

Khái niệm.........................................................................................................................16

2.1.2

Xử lý điểm ảnh.................................................................................................................17


2.2

TÁCH NHIỄU VÀ PHÂN NGƯỠNG.................................................................................................17

2.3

KHƠI PHỤC ẢNH......................................................................................................................19

2.4

XỬ LÝ ẢNH MÀU......................................................................................................................19
2.4.1

Cơ sở về màu....................................................................................................................19

2.4.2

Các mơ hình màu.............................................................................................................20

2.5

PHƯƠNG PHÁP PHÁT HIỆN BIÊN..................................................................................................21
2.5.1

2.6

Các kỹ thuật phát hiện biên ảnh......................................................................................21
TÌM HIỂU CƠNG NGHỆ DEEPFAKE................................................................................................22

2.6.1


Khái niệm.........................................................................................................................22

2.6.2

Những mối lo về công nghệ deepfake.............................................................................23


2.6.3

Những lợi ích mà Deepfake mang lại..............................................................................23

CHƯƠNG 3 TRIỂN KHAI XÂY DỰNG ỨNG DỤNG...........................................24
3.1

MƠ TẢ BÀI TỐN.....................................................................................................................24

3.2

THIẾT KẾ CÁC CHỨC NĂNG NHẬN DIỆN VÀ XỬ LÝ............................................................................24
3.2.1

Lấy dữ liệu đầu vào..........................................................................................................24

3.2.2

Tìm Landmark points.......................................................................................................26

3.2.3


Triangulation source and destination..............................................................................26

3.2.4

Extract và warp triangles.................................................................................................27

3.2.5

Liên kết các tam giác đã xử lý..........................................................................................28

3.2.6

Thay thế khuôn mặt đã xử lý với destination..................................................................29

3.2.7

Seamless Cloning..............................................................................................................30

3.3

KẾT QUẢ ĐẠT ĐƯỢC.................................................................................................................30
3.3.1

Giao diện chính................................................................................................................30

3.3.2

Giao diện chọn ảnh..........................................................................................................31

3.3.3


Giao diện snipping cut......................................................................................................31

3.3.4

Giao diện hoàn thiện ảnh.................................................................................................32

KẾT LUẬN 33
1

KẾT QUẢ ĐẠT ĐƯỢC......................................................................................................................33

2

HẠN CHẾ.....................................................................................................................................33

3

HƯỚNG PHÁT TRIỂN......................................................................................................................33

Tài liệu tham khảo.............................................................................................34


DANH MỤC HÌNH ẢNH
HÌNH 1: QUÁ TRÌNH XỬ LÝ ẢNH....................................................................................................... 7
HÌNH 2: SƠ ĐỒ CÁC BƯỚC CƠ BẢN.................................................................................................. 8
HÌNH 3: HÌNH ẢNH MÌNH HỌA......................................................................................................... 9
HÌNH 4: BIỂU DIỄN TRÊN TRỤC TỌA ĐỘ..........................................................................................10
HÌNH 5: BIỂU DIỄN TRÊN MA TRẬN ẢNH......................................................................................... 11
HÌNH 6: QUAN HỆ GIỮA CÁC ĐIỂM ẢNH.........................................................................................12

HÌNH 7: MƠ PHỎNG THỰC TẾ........................................................................................................ 15
HÌNH 8: MƠ PHỎNG THỰC TẾ........................................................................................................ 16
HÌNH 9: TÁCH NHIỄU VÀ PHÂN NGƯỠNG.......................................................................................17
HÌNH 10: ĐỒ THỊ RGB (RED GREEN BLUE).......................................................................................20
HÌNH 11: HÌNH GỐC 24
HÌNH 12: HÌNH MUỐN SỬA............................................................................................................ 24
HÌNH 13: QT CÁC ĐIỂM TRÊN KHN MẶT.................................................................................25
HÌNH 14: Q TRÌNH XỬ LÝ........................................................................................................... 25
HÌNH 15: QUÁ TRÌNH XỬ LÝ........................................................................................................... 26
HÌNH 16: PHÂN TÍCH CHI TIẾT ĐIỂM ẢNH........................................................................................27
HÌNH 17: SAU KHI ĐÃ LẤY MẪU...................................................................................................... 28
HÌNH 18: BƯỚC CHUẨN BỊ GHÉP ẢNH............................................................................................28
HÌNH 19: ẢNH ĐÃ HỒN THIỆN...................................................................................................... 29
HÌNH 20: GIAO DIỆN CHÍNH CỦA ỨNG DỤNG.................................................................................29
HÌNH 21: GIAO DIỆN CHỌN ẢNH CẦN XỬ LÝ...................................................................................30
HÌNH 22: GIAO DIỆN SNIPPING CUT................................................................................................ 30
HÌNH 23: GIAO DIỆN KHI ĐÃ HOÀN THÀNH.....................................................................................31


Chương 1
1.1

Cơ sở lý thuyết

Tổng quan về ngôn ngữ Python

Python là gì?
Python là ngơn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra
bởi Guido van Rossum. Nó dễ dàng để tìm hiểu và đang nổi lên như một trong
những ngơn ngữ lập trình nhập mơn tốt nhất cho người lần đầu tiếp xúc với ngôn

ngữ lập trình.
Python hồn tồn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động.
Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu
quả đối với lập trình hướng đối tượng. Cú pháp lệnh của Python là điểm cộng vô
cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở
thành một ngơn ngữ lý tưởng để viết script và phát triển ứng dụng trong nhiều lĩnh
vực, ở hầu hết các nền tảng.

Ứng dụng của Python
Ngày nay Python được sử dụng với các mục đích sau:
Lập trình ứng dụng web: Bạn có thể tạo web app có khả năng mở rộng
(scalable) được bằng cách sử dụng framework và CMS (Hệ thống quản trị nội dung)
được tích hợp trong Python.
Khoa học và tính tốn: Có nhiều thư viện trong Python cho khoa học và tính
tốn số liệu, như SciPy và NumPy, được sử dụng cho những mục đích chung chung
trong tính tốn. Và, có những thư viện cụ thể như: EarthPy cho khoa học trái đất,
AstroPy cho Thiên văn học,... Ngồi ra, Python cịn được sử dụng nhiều trong
machine learning, khai thác dữ liệu và deep learning.
Tạo nguyên mẫu phần mềm: Python chậm hơn khi so sánh với các ngôn ngữ
được biên dịch như C++ và Java. Nó có thể khơng phải là lựa chọn tốt nếu nguồn lực
bị giới hạn và yêu cầu về hiệu quả là bắt buộc.
3


Ngơn ngữ tốt để dạy lập trình: Python được nhiều cơng ty, trường học sử dụng
để dạy lập trình cho trẻ em và những người mới lần đầu học lập trình. Bên cạnh
những tính năng và khả năng tuyệt vời thì cú pháp đơn giản và dễ sử dụng của nó là
lý do chính cho việc này.

Những đặc điểm cơ bản của Python

Ngơn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng.
Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngơn ngữ lập trình khác như
C++, Java, C#. Python làm cho việc lập trình trở nên thú vị, cho phép bạn tập trung
vào những giải pháp chứ không phải cú pháp.
Miễn phí, mã nguồn mở: Bạn có thể tự do sử dụng và phân phối Python, thậm
chí là dùng nó cho mục đích thương mại. Vì là mã nguồn mở, bạn khơng những có
thể sử dụng các phần mềm, chương trình được viết trong Python mà cịn có thể
thay đổi mã nguồn của nó. Python có một cộng đồng rộng lớn, khơng ngừng cải
thiện nó mỗi lần cập nhật.
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này
sang nền tảng khác và chạy nó mà khơng có bất kỳ thay đổi nào. Nó chạy liền mạch
trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự phức tạp
rất lớn, bạn có thể dễ dàng kết hợp các phần code bằng C, C++ và những ngơn ngữ
khác (có thể gọi được từ C) vào code Python. Điều này sẽ cung cấp cho ứng dụng
của bạn những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ
lập trình khác khó có thể làm được.
Ngơn ngữ thơng dịch cấp cao: Không giống như C/C++, với Python, bạn khơng
phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những dữ liệu
vô nghĩa,... Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngơn ngữ
máy tính có thể hiểu. Bạn khơng cần lo lắng về bất kỳ hoạt động ở cấp thấp nào.
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một số
lượng lớn thư viện tiêu chuẩn giúp cho cơng việc lập trình của bạn trở nên dễ thở
hơn rất nhiều, đơn giản vì khơng phải tự viết tất cả code.
4


1.2 Tổng quan về xử lý ảnh
Xử lý ảnh là gì?
Con người thu nhận thơng tin qua các giác quan, trong đó thị giác đóng vai trị

quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng máy tính,
xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong
cuộc sống. Xử lý ảnh và đồ hoạ đóng một vai trị quan trọng trong tương tác người
máy.
Q trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một
ảnh “tốt hơn” hoặc một kết luận.

Hình 1: Quá trình xử lý ảnh

Xử lý ảnh được chia theo 3 loại khác nhau:
 Mức thấp: Đầu vào(input) là một hình ảnh, và đầu ra(output) là một
hình ảnh, các kỹ thuật: loại bỏ nhiễu, làm sắc nét ảnh...
 Mức trung bình: Đầu vào(input) là một hình ảnh và đầu ra(output) là
một thuộc tính, các kỹ thuật: Nhận dạng đối tượng, phân đoạn ảnh...
 Mức cao: Đầu vào(input) là một hình ảnh và đầu ra(output) là khả năng
hiểu được hỉnh ảnh của máy, các kỹ thuật: hiểu cảnh vật, và nhận biết
chuyển động,...
Các ứng dụng của xử lý ảnh trong đời sống:
 Ứng dụng trong y học.
 Hệ thống thông tin địa lý (Geographic Information Systems -GIS).
 Thiên văn – khí tượng – thủy văn.
5


 Kiểm tra hàng hóa sản xuất.
 Các hiệu ứng nghệ thuật (movie, edit picture,...).
Các bước cơ bản trong xử lý ảnh

Hình 2: Sơ đồ các bước cơ bản


 Thu nhận ảnh (Image acquisition): Ảnh có thể nhận qua camera màu
hoặc đen trắng. Thường ảnh nhận qua camera là ảnh tương tự, cũng có
loại camera số hịa là loại Photodiot tạo cường độ sáng tại mỗi điểm
ảnh. Camera thường dùng là loại qt dịng, ảnh tạo ra có dạng hai
chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu,
môi trường (ánh sáng, phong cảnh).
 Tiền xử lý (Image processing): Sau khi thu nhận ảnh, ảnh có thể bị nhiễu,
hoặc có độ tương phản thấp nên cần đưa vào bộ tiền xử lý ảnh để nâng
cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu và năng
cao độ tương phản làm cho ảnh rõ hơn và nét hơn.
 Biển diễn ảnh (Image representation): Đầu ra của ảnh phân đoạn chứa
các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với
các vùng lân cận. Việc biến đổi các số liệu thành dạng thích hợp là cần
thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể
hiện gọi là trích chọn đặc trưng (Feature selection) gắn với việc tách các
đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để
phân biệt lớp đối tượng này với các đối tượng khác trong phạm vi ảnh
nhận được.

6


 Nhận dạng và nội suy ảnh: Là quá trình xác định ảnh. Quá trình này
thường thu được bằng cách so sánh với mẫu chuẩn đã được học và nội
suy, phán đoán theo ý nghĩa dựa trên cơ sở nhận dạng. Có nhiều cách
phân loại ảnh khác nhau.
 Cơ sở tri thức: Ảnh là một đối tượng khá phức tạp về đường nét, độ
sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo
theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngồi việc đơn giản

hóa các phương pháp tốn học đảm bảo tiện lợi cho xử lý, người ta
mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách con
người nhận thức.

Một số khái niệm cơ bản
1.2.1.1

Ảnh số và điểm ảnh

Ảnh sổ là một hình ảnh có thể được định nghĩa là hàm hai chiều f(x,y), trong đó
x và y là tọa độ không gian (mặt phẳng) và biên độ của f tại bất kỳ cặp tọa độ (x,y)
nào được gọi là cường độ hoặc mức độ xám của hình ảnh tại điểm đó. Khi x,y và giá
trị cường độ của f đều là các đại lượng hữu hạn, rời rạc, chúng ta gọi hình ảnh đó là
hình ảnh kỹ thuật số hay ảnh số. Ảnh số cũng có thể hiểu một cách đơn giản là số
hóa một hình ảnh và làm cho nó xấp xỉ với một cảnh thực.

7


Hình 3: Hình ảnh mình họa

Điểm ảnh hay cịn gọi là pixel có trong một bức ảnh, nó có vị trí (x,y) và có độ
xám l tương ứng. Với ảnh màu mỗi điểm ảnh gồm có 3 giá trị tương ứng với độ của
các màu đỏ, xanh lục, xanh dương, viết tắt 3 màu là (RGB).

Hình 4: Biểu diễn trên trục tọa độ

 Mức xám của điểm ảnh: là giá trị cường độ sáng của điểm ảnh.
 Các thang giá trị mức xám : 16, 32, 64, 128, 256 (Mức 256 là mức phổ
dụng)

 Ảnh đen trắng: ảnh có 2 màu đen, trắng với mức xám ở các điểm ảnh có
thể khác nhau.
8


 Ảnh nhị phân: ảnh chỉ có 2 mức đen, trắng phân biệt. Tức là mỗi điểm
ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1.
 Ảnh màu:
oHệ RBG: Mỗi điểm ảnh có 03 màu cơ sở (Red, Blue, Green).
oHệ CMY: Mỗi điểm ảnh có 03 màu cơ sở Cyan (lục lam), Magenta
(cánh sen), Yellow.

Hình 5: Biểu diễn trên ma trận ảnh

1.2.1.2

Độ phân giải của ảnh

Độ phân giải (resolution) của ảnh là mật độ điểm ảnh được ấn định trên một
ảnh số được hiển thị.
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt
người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo
nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và
trục y trong không gian hai chiều.
9


Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một
lưới điểm theo chiều ngang của màn hình: 320 điểm chiều dọc * 200 điểm ảnh
(320x200). Ta thấy cùng màn hình CGA 12 inch nhưng ta thấy mịn hơn màn hình

CGA 17 inch độ phân giải 320x200. Lý do là do cùng mật độ phân giải hình ảnh
nhưng diện tích màn hình rộng hơn thì độ mịn kém hơn.
1.2.1.3

Mức xám của ảnh

Một điểm ảnh có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh và độ xám
của điểm ảnh đó. Mức xám của điểm ảnh được xem như là cường độ sáng của điểm
ảnh đó được gắn bằng giá trị số tại điểm đó.
Các thang giá trị mức xám thơng thường: 16, 32, 64, 128, 256 (mức 256 là một
mức phổ biến, do từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám,
mức xám dùng 1 byte biểu diễn 28=256 mức, tức là từ 0 đến 255.
Ảnh đen trắng là ảnh chỉ có 2 màu đen và trắng, không chứa các màu khác với
mức xám ở các điểm ảnh có thể khác nhau.
Ảnh nhị phân là ảnh chỉ có 2 mức đen trắng phân biệt tức là 1 bit mô tả 2 1 mức
khác nhau. Mỗi điểm chứa giá trị nhị phân 0 hoặc 1.
Ảnh màu là ảnh gồm có 3 cường độ mức sáng tương ứng với 3 màu Red,
Green, Blue. Thường sử dụng 3 byte để mô tả màu.
1.2.1.4

Quan hệ giữa các điểm ảnh

Một ảnh số giả sử được biểu diễn bằng hàm f(x,y). Tập con các điểm ảnh là S,
cặp điểm ảnh có quan hệ với nhau ký hiệu là p,q.
 Các lân cận của điểm ảnh
Giả sử có điểm ảnh p tại toạ độ (x, y). p có 4 điểm lân cận gần nhất theo chiều
đứng và ngang (có thể coi như lân cận 4 hướng chính: Đơng, Tây, Nam, Bắc). {(x-1,
y); (x, y-1); (x, y+1); (x+1, y)} = N4(p).

10



Hình 6: Quan hệ giữa các điểm ảnh

Các lân cận chéo: Các điểm lân cận chéo NP(p) (Có thể coi lân cận chéo la 4
hướng: Đông-Nam, Đông-Bắc, Tây-Nam, Tây-Bắc)
Tập kết hợp: N8(p) = N4(p) + NP(p) là tập hợp 8 lân cận của điểm ảnh p:


Các mối liên kết của điểm ảnh

Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượng
vật thể hoặc xác định vùng trong một ảnh. Một liên kết được đặc trưng bởi tính liền
kề giữa các điểm và mức xám của chúng.
Có 3 loại liên kết:
Liên kết 4: Hai điểm ảnh p và q được nói là liên kết 4 với các giá trị cường độ
sáng V nếu q nằm trong một các lân cận của p, tức q thuộc N4(p)
Liên kết 8: Hai điểm ảnh p và q nằm trong một các lân cận 8 của p, tức q thuộc
N8(p).
Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ sáng
V được nói là liên kết m nếu. 1. q thuộc N4(p) hoặc 2. q thuộc NP(p).
 Đo khoảng cách giữa các điểm ảnh
Khoảng cách D(p, q) giữa hai điểm ảnh p toạ độ (x, y), q toạ độ (s, t) là hàm
khoảng cách (Distance) hoặc Metric nếu:
1. D(p,q) ≥ 0 (Với D(p,q)=0 nếu và chỉ nếu p=q)
2. D(p,q) = D(q,p)
3. D(p,z) ≤ D(p,q) + D(q,z); z là một điểm ảnh khác.

11



Khoảng cách Euclide: Khoảng cách Euclide giữa hai điểm ảnh p(x, y) và q(s, t)
được định nghĩa như sau:
De(p, q) = [(x - s)2 + (y - t)2 ] 1/2
Khoảng cách khối: Khoảng cách D4(p, q) được gọi là khoảng cách khối đồ thị
(CityBlock Distance) và được xác định như sau:
D4(p,q) = | x - s | + | y - t |

1.3

Tổng quan về Mediapipe

Mediapipe là gì?
Mediapipe là một khung mã nguồn mở để “xây dựng các giải pháp máy học lớp
từ” của Google. Nó đã được mở nguồn từ một năm nay nhưng có thể sẽ được phát
triển lâu hơn nữa. MediaPipe là một cross-platform để xây dựng các đường các mơ
hình trên nhiều nền tảng khác nhau, có thể áp dụng cho nhiều cách thức xử lý như:
video, hình ảnh,...
Các mơ hình ML models nổi bật: Face detection, Face mesh, Multi-hand
Tracking, Object detection – tracking, AutoFlip (Automatic video cropping pipeline).

Mediapipe face landmark
MediaPipe face landmark là một giải pháp hình học khn mặt ước tính 468
điểm mốc khn mặt 3D trong thời gian thực ngay cả trên thiết bị di động. Nó sử
dụng máy học (ML) để suy ra hình học bề mặt 3D, chỉ yêu cầu một đầu vào máy ảnh
duy nhất mà không cần cảm biến độ sâu chun dụng. Sử dụng kiến trúc mơ hình
nhẹ cùng với khả năng tăng tốc GPU trong suốt quá trình, giải pháp mang lại hiệu
suất thời gian thực rất quan trọng cho trải nghiệm trực tiếp. Ngoài ra, giải pháp
được tích hợp với mơ-đun Hình học khn mặt giúp thu hẹp khoảng cách giữa ước
tính mốc khn mặt và các ứng dụng thực tế tăng cường (AR) theo thời gian thực

hữu ích. Nó thiết lập khơng gian 3D theo hệ mét và sử dụng các vị trí trên màn hình
mốc khn mặt để ước tính hình học khn mặt trong khơng gian đó. Dữ liệu hình
học khn mặt bao gồm các nguyên thủy hình học 3D phổ biến, bao gồm ma trận
biến đổi tư thế khuôn mặt và lưới mặt tam giác. Về cơ bản, một phương pháp phân
12


tích thống kê nhẹ được gọi là Procrustes Analysis được sử dụng để thúc đẩy một
logic mạnh mẽ, hiệu quả và di động. Phân tích chạy trên CPU và có tốc độ / bộ nhớ
tối thiểu nằm trên suy luận của mơ hình ML.
Đối với các mốc khn mặt 3D, mediapipe đã sử dụng phương pháp học
chuyển giao và đào tạo một mạng với một số mục tiêu: mạng dự đoán đồng thời tọa
độ mốc 3D trên dữ liệu kết xuất tổng hợp và các đường bao ngữ nghĩa 2D trên dữ
liệu thế giới thực có chú thích. Mạng kết quả đã cung cấp những dự đoán về mốc 3D
hợp lý khơng chỉ trên dữ liệu tổng hợp mà cịn trên dữ liệu thế giới thực. Mạng cột
mốc 3D nhận dưới dạng đầu vào khung video đã cắt mà không cần thêm đầu vào độ
sâu. Mơ hình xuất ra vị trí của các điểm 3D, cũng như xác suất của một khn mặt
có mặt và được căn chỉnh hợp lý trong đầu vào. Để cải thiện hơn nữa về độ chính
xác và mạnh mẽ của mơ hình của mình bằng cách lặp đi lặp lại việc khởi động và tinh
chỉnh các dự đốn. Bằng cách đó, mơ hình có thể phát triển tập dữ liệu của mình
cho các trường hợp ngày càng thách thức, chẳng hạn như nhăn mặt, góc xiên và
khớp cắn.

Hình 7: Mơ phỏng thực tế

13


Mediapipe face detection
MediaPipe Face Detection là giải pháp nhận diện khuôn mặt cực nhanh đi kèm

với 6 điểm mốc và hỗ trợ đa khuôn mặt (mắt phải, mắt trái, đầu mũi, nhân giữa
miệng, rãnh tai phải và rãnh tai trái). Nó dựa trên BlazeFace, một cơng cụ dị tìm
khn mặt nhẹ và hoạt động tốt được thiết kế riêng cho việc suy luận GPU di động.
Hiệu suất siêu thời gian thực của máy dị cho phép nó được áp dụng cho bất kỳ trải
nghiệm kính ngắm trực tiếp nào yêu cầu vùng mặt quan tâm chính xác làm đầu vào
cho các mơ hình cụ thể khác, chẳng hạn như điểm chính trên khn mặt 3D hoặc
ước tính hình học, đặc điểm khuôn mặt hoặc phân loại biểu cảm và phân vùng
khuôn mặt.

Chương 2
2.1

Các kỹ thuật xử lý ảnh và Deepfake

Cải thiện ảnh và nâng cao chất lượng ảnh

Khái niệm
Cải thiện ảnh là quá trình làm cho ảnh trở nên hữu ích hơn, là quá trình xử lý
một hình ảnh để cho kết quả phù hợp hơn so với kết quả ban đầu và giúp cho việc
sử xử lý ảnh phù hợp với mục đích sử dụng. Các thuật tốn triển khai việc nâng cao
chất lượng ảnh hầu hết dựa trên các kỹ thuật trong miền điểm, không gian và tần
số. Toán tử điểm là phép biến đổi đối với từng điểm ảnh đang xét, không liên quan
đến các điểm lân cận khác, trong khi đó, tốn tử khơng gian sử dụng các điểm lân
cận để quy chiếu tới điểm ảnh đang xét. Một số phép biến đổi có tính tốn phức tạp
được chuyển sang miền tần số để thực hiện, kết quả cuối cùng được chuyển trở lại
miền không gian nhờ các biến đổi ngược.
Mục đích của kỹ thuật cải thiện ảnh:
 Làm nổi chi tiết quan tâm trong ảnh.
 Làm cho ảnh trở nên trực quan hấp dẫn hơn.


14


Hình 8: Mơ phỏng thực tế

Xử lý điểm ảnh
Khi lân cận cũng chính là điểm ảnh đó, tức là kích thước lân cận 1 x 1.
Trong trường hợp này T được xem như hàm chuyển đổi mức xám hoặc gọi
phép toán xử lý điểm ảnh.
Biểu diễn thao tác xử lý điểm ảnh có dạng s = T(r).
Với s là điểm ảnh đã xử lý.
Và r là điểm ảnh ban đầu.

2.2

Tách nhiễu và phân ngưỡng
Nhiễu xuất hiện trong quá trình thu nhận ảnh, số hóa và truyền cảm biến ảnh

có thể bị ảnh hưởng bởi các điều kiện môi trường. Nhiễu có thể can thiệp vào ảnh
trong q trình truyền.
Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản khi hệ số góc α=
γ=0. Tách nhiễu được ứng dụng có hiệu quả để giảm nhiễu khi biết tín hiệu vào trên
khoảng [a, b].
15


Phân ngưỡng là trường hợp đặc biệt của tách nhiễu khi a=b=const. Trong
trường hợp này, ảnh đầu vào là ảnh nhị phân (có 2 mức). Phân ngưỡng thường
dùng trong kỹ thuật in ảnh 2 màu vì ảnh gần nhị phân khơng cho ảnh nhị phân khi
qt ảnh do có nhiễu từ bộ cảm biến và biến đổi của nền ví dụ trường hợp lọc nhiễu

của ảnh vân tay.

Hình 9: Tách nhiễu và phân ngưỡng

Có 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân và nhiễu xung
 Nhiễu cộng Nhiễu cộng thường phân bố khắp ảnh. Nếu gọi ảnh quan sát
(ảnh thu được) là Xqs, ảnh gốc là Xgốc, nhiễu là η, ảnh thu được có thể
biểu diễn bởi: Xqs = Xgốc + η (3-17)
 Nhiễu nhân Nhiễu nhân thường phân bố khắp ảnh và ảnh thu được sẽ
biểu diễn với công thức: Xqs = Xgốc * η (3-17)
 Nhiễu xung Nhiễu xung thường gây đột biến tại một số điểm ảnh.
Các phương pháp làm trơn nhiễu:
 Lọc tuyến tính : lọc trung bình và thơng thấp.
 Lọc phi tuyến tính
 Lọc thông thấp, thông cao, lọc dải thông.
 Khuếch đại và nội suy ảnh

16


2.3

Khôi phục ảnh
Khôi phục ảnh là phục hồi lại ảnh gốc so với ảnh ghi được đã bị biến dạng. Nói

cách khác, khơi phục ảnh là các kỹ thuật cải thiện chất lượng những ảnh ghi đảm
bảo gần được như ảnh thật khi ảnh bị méo.
Để khôi phục được ảnh có kết quả, điều cần thiết là phải biết được các nguyên
nhân, các hàm (hay dạng) gây ra biến dạng ảnh.
Các nguyên nhân biến dạng thương do:

 Do camera, đầu thu ảnh chất lượng kém.
 Do môi trường, ánh sáng, hiện trường (scene), khí quyển, nhiễu xung.
 Do chất lượng.
Kỹ thuật khơi phục ảnh có thể được xác định như việc ước lượng lại ảnh gốc
hay ảnh lý tưởng từ ảnh quan sát được bằng cách đo ngược lại những hiện tượng
gây biến dạng, qua đó ảnh được chụp. Như vậy, kỹ thuật khơi phục ảnh địi hỏi kiến
thức về các hiện tượng gây biến dạng ảnh.
Các kỹ thuật khôi phục ảnh:
 Mơ hình khơi phục ảnh có: mơ hình tạo ảnh, mơ hình gây nhiễu, mơ
hình quan sát.
 Lọc tuyến tính có: lọc ngược, đáp ứng xung, lọc hữu hạn FIR.
 Các kỹ thuật khác: Entropy cực đại, mô hình Bayes, giải chập.

2.4

Xử lý ảnh màu

Cơ sở về màu
Màu sắc mà con người cảm nhận được trong một đối tượng được xác định bởi
bản chất của ánh sáng phản xạ từ đối tượng.
Ví dụ: Đối tượng màu xanh lá cây phản xạ ánh sáng với bước sóng trong phạm
vi 500 – 570 nm trong khi hấp thụ hầu hết năng lượng với bước sóng khác.

17



×