luan an-ncs le dinh nghiep 8 2020 ban 2016
TRANSCRIPT
i
LỜI CAM ĐOAN
Tác giả xin cam đoan đây là công trình nghiên cứu của bản thân tác giả.
Các kết quả nghiên cứu và các kết luận trong luận án này là trung thực, không
sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào. Việc tham khảo
các nguồn tài liệu đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo
đúng quy định.
Thái Nguyên, ngày tháng 08 năm 2020
Tác giả luận án
ii
LỜI CẢM ƠN
Luận án được hoàn thành dưới sự hướng dẫn tận tình của PGS. TS. Phạm
Việt Bình và PGS.TS. Đỗ Năng Toàn. Lời đầu tiên, tôi xin bày tỏ lòng kính
trọng và biết ơn sâu sắc tới hai Thầy.
Tôi xin chân thành cảm ơn TS. Phạm Thế Anh đã đóng góp những ý kiến
quý báu cả về học thuật và kinh nghiệm nghiên cứu giúp đỡ tôi trong suốt quá
trình thực hiện luận án.
Tôi xin chân thành cảm ơn Ban lãnh đạo trường Đại học Công nghệ
thông tin và Truyền thông, Khoa Công nghệ thông tin, Bộ môn Khoa học máy
tính, Bộ phận quản lý nghiên cứu sinh – trường Đại học Công nghệ thông tin
và Truyền thông – Đại học Thái Nguyên đã tạo mọi điều kiện thuận lợi trong
quá trình hoàn thành và bảo vệ luận án.
Xin cảm ơn Ban Giám hiệu Trường Đại học Hồng Đức, các đồng nghiệp
tại Phòng Đảm bảo chất lượng và Khảo thí, giảng viên khoa Công nghệ thông
tin và Truyền thông – Trường Đại học Hồng Đức, cán bộ Viện Công nghệ thông
tin – Đại học Quốc gia Hà Nội đã luôn động viên giúp đỡ tôi trong công tác để
tôi có thời gian tập trung nghiên cứu, thực hiện luận án.
Đặc biệt tôi xin bày tỏ lòng biết ơn sâu sắc tới Cha, Mẹ, Vợ, Con và các
anh, chị em trong gia đình, những người luôn dành cho tôi những tình cảm nồng
ấm và sẻ chia những lúc khó khăn trong cuộc sống, luôn động viên giúp đỡ tôi
trong quá trình nghiên cứu. Luận án cũng là món quà tinh thần mà tôi trân trọng
gửi tặng đến các thành viên trong Gia đình.
Tôi xin trân trọng cảm ơn!
iii
MỤC LỤC LỜI CAM ĐOAN ........................................................................................... i
LỜI CẢM ƠN ................................................................................................ ii
DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU ........................................ vi
DANH MỤC CÁC BẢNG .......................................................................... viii
DANH MỤC HÌNH VẼ ................................................................................ ix
PHẦN MỞ ĐẦU ............................................................................................ 1
1. Tính cấp thiết .......................................................................................... 1
2. Mục tiêu nghiên cứu của luận án ............................................................. 2
3. Đối tượng, phạm vi nghiên cứu của luận án ............................................ 3
4. Đóng góp chính của luận án .................................................................... 4
5. Phương pháp và nội dung nghiên cứu ..................................................... 5
6. Cấu trúc luận án ...................................................................................... 5
CHƯƠNG 1. TỔNG QUAN VỀ BÀI TOÁN PHÁT HIỆN VÀ THAY THẾ
ĐỐI TƯỢNG TRONG VIDEO ...................................................................... 7
1.1. Tổng quan về video và bài toán phát hiện và thay thế đối tượng trong
video .............................................................................................................. 7
1.1.1. Khái quát về video ...................................................................... 7
1.1.2. Bài toán thay thế đối tượng trong video .................................... 12
1.1.3. Một số khái niệm ...................................................................... 16
1.1.3.1. Dò tìm đối tượng trong video ........................................... 16
1.1.3.2. Nhận dạng hình dạng đối tượng trong video .................... 16
1.1.3.3. Phát hiện đối tượng trong video ....................................... 16
1.1.3.4. Phân vùng đối tượng ........................................................ 17
1.1.3.5. Video inpainting .............................................................. 18
1.1.3.6. Thay thế đối tượng trong video ........................................ 19
1.1.4. Các thách thức cho bài toán thay thế đối tượng ......................... 19
1.2. Tổng quan về các kỹ thuật áp dụng trong hệ thống thay thế đối tượng
trong video ................................................................................................... 22
iv
1.2.1. Dò tìm đối tượng ...................................................................... 22
1.2.1.1. Dựa trên điểm đặc trưng .................................................. 22
1.2.1.2. Dựa trên các mô hình từng phần của đối tượng ................ 23
1.2.1.3. Dựa trên mạng nơron nhân chập ...................................... 24
1.2.1.4. Phát hiện đối tượng quảng cáo ......................................... 25
1.2.2. Nhận dạng hình dạng đối tượng ................................................ 26
1.2.2.1. Lượng tử hóa vector ......................................................... 26
1.2.2.2. Lượng tử hóa tích đề các .................................................. 29
1.2.2.3. Độ đo khoảng cách .......................................................... 30
1.2.2.4. Nhận dạng hình dạng dựa trên tìm kiếm ANN ................. 32
1.2.3. Các kỹ thuật hoàn thiện video ................................................... 34
1.2.3.1. Video inpainting dựa trên lấy mẫu ................................... 35
1.2.3.2. Inpainting ảnh sử dụng DCNN cho không gian 2D ......... 36
1.2.3.3. Video inpainting sử dụng DCNN cho không gian 3D ...... 37
Kết luận chương 1 ..................................................................................... 38
CHƯƠNG 2. PHÁT HIỆN ĐỐI TƯỢNG TRONG VIDEO ......................... 39
2.1. Dò tìm đối tượng trong video ............................................................. 39
2.1.1. Khái quát về mô hình dò tìm đối tượng YOLO ......................... 40
2.1.2. Mô hình dò tìm đối tượng cải tiến YOLO-Adv ......................... 42
2.1.2.1. Cải tiến trong hàm loss .................................................... 42
2.1.2.2. Cải tiến trong kiến trúc mạng ........................................... 46
2.1.2.3. Trích chọn đặc trưng ........................................................ 49
2.1.3. Ước lượng, đánh giá mô hình cải tiến ....................................... 49
2.1.3.1. Dữ liệu kiểm thử .............................................................. 49
2.1.3.2. Độ đo ước lượng .............................................................. 50
2.1.3.3. Môi trường cài đặt ........................................................... 52
2.1.3.4. Ước lượng, đánh giá ........................................................ 52
2.2. Nhận dạng hình dạng đối tượng ......................................................... 59
2.2.1. Mô hình lập chỉ mục PSVQ ...................................................... 60
v
2.2.2. Tìm kiếm ANN dựa trên cây phân cụm thứ bậc ........................ 64
2.2.3. Ước lượng, đánh giá ................................................................. 68
2.2.3.1. Dữ liệu và cấu hình hệ thống kiểm thử ............................. 69
2.2.3.2. Ước lượng, đánh giá chất lượng mã hóa của PSVQ ......... 71
2.2.3.3. Ước lượng, đánh giá tốc độ tìm kiếm với PSVQ .............. 73
2.2.3.4. Ước lượng, đánh giá giải thuật tìm kiếm cây phân cụm thứ
bậc kết hợp PSVQ ........................................................................ 75
Kết luận chương 2 ..................................................................................... 80
CHƯƠNG 3. THAY THẾ ĐỐI TƯỢNG VÀ HOÀN THIỆN VIDEO ......... 81
3.1. Phân vùng đối tượng .......................................................................... 81
3.1.1. Các kỹ thuật phân vùng thực thể ............................................... 82
3.1.2. Mô hình phân vùng thực thể ..................................................... 84
3.1.2.1. Phát sinh mặt nạ vùng ...................................................... 85
3.1.2.1. Phân vùng thực thể bằng Mask R-CNN ........................... 87
3.1.3. Kết quả thực nghiệm mô hình phân vùng ................................. 90
3.2. Mô hình hoàn thiện video ................................................................... 92
3.2.1. Kiến trúc mô hình V-RBPconv ................................................. 94
3.2.2. Mô hình kiến trúc mạng RBPconv ............................................ 95
3.2.3. Hàm loss ................................................................................... 99
3.2.4. Ước lượng, đánh giá mô hình hoàn thiện video ...................... 100
3.2.4.1. Môi trường thực nghiệm ................................................ 101
3.2.4.2. Kết quả so sánh định tính .............................................. 103
3.2.4.3. Kết quả so sánh định lượng ............................................ 104
Kết luận chương 3 ................................................................................... 109
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................. 110
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC CÓ LIÊN QUAN ĐẾN
LUẬN ÁN .................................................................................................. 112
TÀI LIỆU THAM KHẢO .......................................................................... 113
PHỤ LỤC .................................................................................................. 122
vi
DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU
Từ viết
tắt Tên đầy đủ (và tạm dịch)
ANN Approximate Nearest Neighbor (Lân cận xấp xỉ gần nhất)
ADC Asymmetric distance computation (Tính khoảng cách bất đối xứng)
AVI Audio Video Interleave (tệp tin đa phương tiện chứa cả âm thanh và
hình ảnh bên trong)
CAM Class Activation Map (Bản đồ kích hoạt lớp)
CPU Central processing unit (Bộ vi xử lý trung tâm)
CNN Convolution Neural Network (Mạng nơron tích chập)
DCNN Deep Convolution Neural Network (Mạng nơron tích chập sâu)
FID Frechet Inception Distance (khoảng cách Frechet)
FVI Free-form video inpainting (hoàn thiện/tái tạo video với mặt nạ bất
kỳ)
FCN Fully Convolutional Network (Mạng tích chập đầy đủ)
GAN Generative Adversarial Networks (Mạng sinh đối kháng)
GPU Graphics processing unit (Bộ xử lý đồ họa)
HD High Definition (chuẩn độ nét cao)
HOG Histogram of oriented gradients (Biểu đồ hướng gradient)
IoU Intersection over Union (Tỷ lệ trùng khớp giữa hai hộp bao)
IVFADC Inverted file index Asymmetric distance computation (Chỉ mục
danh sách ngược của ADC)
LPIPS Learned Perceptual Image Patch Similarity (Chỉ số đo sự tượng
đồng các mẫu ảnh)
MSE Mean square error (Lỗi bình phương trung bình)
MPEG Moving Picture Experts Group (Nhóm chuyên gia hình ảnh động)
NMS Non-Maxima Suppression (Loại bỏ các điểm không cực trị)
vii
Từ viết
tắt Tên đầy đủ (và tạm dịch)
NTSC National Television System Committee (Ủy ban quốc gia về các hệ
thống truyền hình)
PRM Peak Response Mapping (Ánh xạ độ nhạy tối đa)
PSNR Peak signal-to-noise ratio (Tỉ số tín hiệu cực đại trên nhiễu)
PAL Phase Alternation Line (Hệ truyền hình màu xoay pha)
PQ Product quantization (Lượng tử hóa tích đề các)
PSL Peak Simulation Layer (Tầng kích hoạt cực đại)
PSVQ Product sub-vector quantization (Lượng tử hóa tích đề các cụm
vector)
RGB Red, Green, Blue (Hệ màu RGB)
RoI Region of Interest (Vùng chứa đối tượng)
R-CNN Region-based Convolutional Neural Networks (Mạng nơron tích
chập dựa trên đề xuất vùng)
SIFT Scale-Invariant Feature Transform (Biến đổi đặc trưng bất biến tỷ lệ)
SSD Single Shot Detector (Bộ dò điểm đặc trưng SSD)
SURF Speeded up robust features (Đặc trưng SURF)
SD Standard Denfinition (Độ nét tiêu chuẩn)
SSIM Structural Similarity Index (Chỉ số đồng nhất có cấu trúc)
VGG Visual Geometry Group (Nhóm hình học trực quan)
YOLO You only look once (Mạng nhìn đối tượng chỉ một lần)
viii
DANH MỤC CÁC BẢNG
Số hiệu
bảng Tên bảng Trang
2.1 Thông số phần cứng thực nghiệm mô hình YOLO-Adv 52
2.2 Hiệu năng thực thi trên tập dữ liệu Flickrlogos-47 55
2.3 So sánh mAP của mô hình dò tìm đối tượng trên tập dữ liệu
Flickrlogos-32 58
2.4 Các tập dữ liệu đặc trưng 69
2.5 Các tham số dùng để xây dựng các bộ lượng tử 75
3.1
So sánh kết quả của mô hình sử dụng với các phương pháp
khác sử dụng nhiều phương pháp tạo mặt nạ huấn luyện
khác nhau.
90
3.2 Kết quả định lượng trên tập dữ liệu Places2 của các mô
hình: CA, Pconv, EC và RBPConv. 106
3.3 Kết quả định lượng trên tập dữ liệu FVI với các mô hình:
EC, CombCN, 3Dgated và V- RBPConv 107
A.1 Số lượng đối tượng cho các tập huấn luyện và kiểm thử của
tập dữ liệu FlickrLogo-47. 124
ix
DANH MỤC HÌNH VẼ
Số hiệu
hình vẽ Tên hình vẽ Trang
1.1 Cấu trúc phân cấp của video 7
1.2 Sơ đồ chuyển đổi dữ liệu video 11
1.3 Một số ứng dụng chèn/thay thế logo trong video 12
1.4 Mô hình phát hiện và thay thế đối tượng trong video 13
1.5 Các kiểu phân vùng ảnh 17
1.6 Các ví dụ về hoàn thiện, tái tạo ảnh/video 18
1.7 Một số trở ngại trong phát hiện đối tượng quảng cáo 19
1.8 Mô hình lượng tử hóa tích đề các 28
1.9 Mô hình nhận dạng hình dạng đối tượng 32
1.10 Ví dụ hoàn thiện ảnh với kỹ thuật video inpainting 34
2.1 Ý tưởng chính của mô hình YOLO 40
2.2 Cách tính IoU 41
2.3 Kiến trúc chi tiết mạng YOLO-Adv 47
2.4 Mô hình trích chọn đặc trưng 48
2.5 Giá trị hàm loss trung bình huấn luyện trên tập Flicrklogos-47 53
2.6 Biểu đồ giá trị IoU huấn luyện trên tập FlicrkLogos-47 54
2.7 Một số hình ảnh phát hiện Logo 57
2.8 Chất lượng mã hóa PSVQ 70
2.9 Tốc độ tìm kiếm ANN trên các tập đặc trưng 72
2.10 Ảnh hưởng của tham số (d,k) trên các tập dữ liệu 74
x
Số hiệu
hình vẽ Tên hình vẽ Trang
2.11 Hiệu năng thực thi trên các tập đặc trưng 77
2.12 Một số kết quả trực quan nhận dạng hình dạng đối tượng
quảng cáo 78
3.1 Mô hình huấn luyện mạng phân vùng ảnh 83
3.2 Ví dụ về làm tinh mặt nạ 85
3.3 Mô hình phân vùng thực thể Mask R-CNN 87
3.4 Một số kết quả phân vùng thực thể trực quan trên tập dữ liệu
PASCAL VOC 2012 89
3.5 Hiệu năng phân lớp trên dữ liệu PASCAL VOC2012 91
3.6 Kiến trúc mô hình video inpainting 3DGated 92
3.7 Kiến trúc mô hình video inpainting V-RBPconv 93
3.8 Kiến trúc mô hình RBPconv 95
3.9 Kiến trúc khối residual cải tiến 96
3.10 Một số mặt nạ minh họa 101
3.11 So sánh trực quan tái tạo, hoàn thiện ảnh của các mô hình 102
3.12 So sánh trực quan của các mô hình video inpainting 103
A.1 Chú giải của FlickrLogos-32 (bên trên) và FlickrLogos-47
(bên dưới) được thể hiện trong các bounding box 122
A.2 Một số ảnh ví dụ trong tập dữ liệu Flickrlogos-47 123
1
PHẦN MỞ ĐẦU
1. Tính cấp thiết
Với sự phát triển nhanh chóng của các thiết bị có khả năng thu nhận hình
ảnh kỹ thuật số, dữ liệu đa phương tiện đã trở nên phổ biến, có mặt ở mọi nơi
và ảnh hưởng tới nhiều mặt của cuộc sống. Những dữ liệu này ngày càng được
các nhà sản xuất hàng hóa, nhà quảng cáo, nhà tiếp thị sử dụng như một phương
tiện truyền thông hiệu quả để quảng bá về sản phẩm, nhãn hiệu, thương hiệu,
... (gọi tắt là đối tượng quảng cáo trong luận án này) đến đông đảo khách hàng,
người tiêu dùng. Bên cạnh đó các nhà nghiên cứu thị trường cũng đã sử dụng
nguồn tài nguyên video phong phú để nghiên cứu, phân tích nội dung quảng
cáo bên trong nhằm tiếp cận thị trường, thu thập các thông tin hữu ích để nâng
cao tính cạnh tranh. Nhiều nghiên cứu đã cho thấy sự tăng trưởng mạnh mẽ
trong doanh thu được tạo ra từ quảng cáo trên các phương tiện truyền hình và
trên Internet thông qua các trang mạng, mạng xã hội trong thập kỷ vừa qua và
dự báo sẽ tiếp tục tăng mạnh trong những năm tới.
Tận dụng những video sẵn có với nội dung hấp dẫn thu hút được khối
lượng lớn người xem như phim ảnh, video thể thao, video về các sự kiện đặc
biệt, ... các đối tượng quảng cáo ngày nay được tích hợp trực tiếp trong nội
dung của các video này. Các ví dụ điển hình là chèn billboard, nhãn hiệu, ảnh
quảng cáo vào vị trí thích hợp quanh sân vận động trong video thể thao khi
không thể đặt trực tiếp tại sân; loại bỏ hoặc thay thế các trademark trong một
đoạn phim bằng một biểu tượng khác. Việc thay thế, chèn thêm này phần lớn
được hoàn thiện một cách thủ công thông qua các công nghệ hiệu chỉnh trong
quá trình hậu xử lý video. Quá trình thay thế thủ công thường được thực hiện
bằng cách duyệt qua tất cả các khung hình (frame) để nhận diện các frame tiềm
năng, thích hợp cho việc tích hợp hình ảnh quảng cáo. Sau đó dò tìm vùng thích
hợp trong các frame này để đặt hình ảnh quảng cáo hoặc tìm các hình ảnh quảng
cáo, đối tượng không phù hợp để thay thế bằng hình ảnh quảng cáo mới. Cuối
2
cùng là hoàn thiện, làm mượt, tạo tính chân thực cho video. Quá trình xử lý này
được xem là một tiến trình con trong bài toán hậu xử lý video đã và đang thu
hút được nhiều nghiên cứu trong cộng đồng thị giác máy tính với mục đích tạo
ra các công cụ xử lý tự động, giảm thiểu tối đa sự can thiệp của con người
nhưng vẫn thu được ảnh kết quả có độ chân thực cao hơn. Tuy nhiên, các hệ
thống công nghệ thị giác vẫn còn nhiều hạn chế và giới hạn khi xử lý video.
Phát hiện và thay thế đối tượng trong video nói chung và video có nội
dung tích hợp đối tượng quảng cáo nói riêng là một chuỗi các tiến trình cốt lõi
trong quá trình hậu xử lý video. Nó bao hàm các kỹ thuật phân tích, xử lý video
để dò tìm, nhận dạng các đối tượng cũng như tư thế, hình dạng của chúng trong
video từ đó có những tác động hợp lý vào đối tượng và hoàn thiện video sau
khi có những tác động này. Ngoài ra, từng tiến trình con trong quá trình hậu xử
lý video này còn có thể được ứng dụng rời rạc trong nhiều lĩnh vực khác như
nhận dạng hành động, phân tích video, tóm tắt video, giám sát trực quan, thống
kê đối tượng, xóa bỏ đối tượng khỏi video, hiệu chỉnh cảnh sau quay.
Với sự bùng nổ số lượng video có sẵn cả trực tuyến và ngoại tuyến như
đã minh họa bên trên làm cho việc phân tích, xử lý tất cả nội dung video theo
cách thủ công rất tốn kém và không khả thi. Điều này đã thúc đẩy luận án
nghiên cứu các kỹ thuật hỗ trợ quá trình hậu xử lý video tự động áp dụng trong
lĩnh vực thương mại như phân tích nội dung quảng cáo trong video hay tích
hợp, thay thế đối tượng quảng cáo vào video đã sẵn có nội dung.
2. Mục tiêu nghiên cứu của luận án
Mục tiêu cụ thể của luận án là tập trung nghiên cứu, cải tiến các kỹ thuật
xử lý các vấn đề quan trọng trong bài toán hậu xử lý, hiểu video ứng dụng cho
bài toán phát hiện và thay thế đối tượng trong video nhằm đạt được hiệu năng
cao trên hai phương diện tốc độ và độ chính xác. Cải tiến các mô hình dùng để
phát hiện đối tượng trong video gồm: dò tìm và nhận dạng hình dáng của đối
tượng. Nghiên cứu cải tiến các kỹ thuật liên quan đến bài toán thay thế đối
3
tượng gồm: phân vùng, trích chọn phần hiển thị của đối tượng trong các vùng
ảnh; hoàn thiện các vùng bị phá hủy do quá trình xử lý như loại bỏ hoặc thay
thế tạo ra.
Các cải tiến trên cũng có thể được mở rộng, ứng dụng vào để giải quyết
một số bài toán trong lĩnh vực thương mại như: tích hợp đối tượng quảng cáo
vào vị trí thích hợp trong video có sẵn nội dung; phân tích thị trường, nhận
dạng, thống kê sản phẩm trong các video quảng cáo; chèn đối tượng quảng cáo
vào vùng ảnh thích hợp, thay thế đối tượng quảng cáo trong các video thể thao;
hiệu chỉnh cảnh quay, xóa bỏ đối tượng không mong muốn xuất hiện trong các
cảnh quay của video phim ảnh, quảng cáo.
3. Đối tượng, phạm vi nghiên cứu của luận án
Do giới hạn về thời gian, luận án không tập trung nhiều vào nghiên cứu
cấu trúc, định dạng, sự cấu thành của video, phân đoạn cảnh quay, trích chọn
frame, đồng bộ phần hình ảnh và âm thanh. Luận án sử dụng dữ liệu đầu vào là
phần hình ảnh của đoạn video đã được ghi lại theo chuẩn MPEG-4 (Moving
Picture Experts Group) dùng cho truyền hình vô tuyến, mạng và Internet. Phần
hình ảnh video đầu vào được mã hóa kích thước 720p hoặc 480p với tỷ lệ khung
hình 16:9, tức là có độ phân giải 1280 x 720px hoặc 854 x 480px và giả thiết
đã được phân thành một chuỗi các frame liên tiếp nhau. Đối tượng được luận
án tập trung nghiên cứu là các kỹ thuật dò tìm, nhận dạng đối tượng tự động,
các kỹ thuật hoàn thiện video theo hướng tiếp cận đối tượng trên chuỗi frame
ảnh liên tục đã được trích chọn.
Hướng tới mục tiêu phát triển hệ thống thay thế đối tượng trong các video
thể thao, quảng cáo, phim ảnh phục vụ mục đích thương mại, phân tích thị
trường, phạm vi của đối tượng nhận dạng, thay thế được giới hạn là các hình
ảnh tĩnh, hai chiều của đối tượng quảng cáo. Đối tượng này thường được thể
hiện nổi bật trong video để thu hút người xem nên có tính phân biệt với các đối
tượng khác và với nền mà nó hiển thị. Bên cạnh đó kích thước của đối tượng
4
nghiên cứu trong video không quá nhỏ, giới hạn trong khoảng từ 20px đến
400px mỗi chiều vì nếu quá nhỏ thì sẽ không thu hút được người xem.
Vùng phá hủy sinh ra sau khi xóa bỏ hoặc thay thế đối tượng cần được
hoàn thiện trong quá trình hậu xử lý video được luận án tập trung nghiên cứu
sẽ có kích thước và hình dạng bất kỳ. Tuy nhiên khi thay thế hai đối tượng
thường có tính tương đồng cao về kích thước, vì vậy luận án tập trung nhiều
vào nghiên cứu các vùng trống có hình dạng chủ yếu dưới dạng đường cong,
đường kẻ, đường thẳng, hình điểm với độ dày không quá lớn.
4. Đóng góp chính của luận án
Xuất phát từ phạm vi nghiên cứu, các vấn đề luận án nghiên cứu gồm:
Vấn đề 1: Nghiên cứu, cải tiến mô hình dò tìm, định vị đối tượng trong
video theo thời gian thực.
Vấn đề 2: Nghiên cứu, cải tiến kỹ thuật đối sánh, tìm kiếm ứng dụng cho
bài toán nhận dạng hình dạng của đối tượng tìm thấy trong video.
Vấn đề 3: Nghiên cứu, áp dụng kỹ thuật phân vùng đối tượng dùng để
trích chọn vùng hiển thị của đối tượng.
Vấn đề 4: Nghiên cứu, cải tiến kỹ thuật tái tạo/hoàn thiện video sau hiệu
chỉnh video.
Trên cơ sở nghiên cứu các vấn đề nêu trên, luận án đã có ba đóng góp
chính là:
(i) Cải tiến hiệu năng thực thi mô hình dò tìm đối tượng trong video theo
hướng tiếp cận mạng tích chập học sâu (Deep Convolution Neural Network –
DCNN). Trong mô hình cải tiến tốc độ dò tìm đối tượng không những vẫn đạt
được theo thời gian thực mà độ chính xác cũng được gia tăng đáng kể, có tính
bền vững cao trong dò tìm lớp đối tượng phổ quát, ảnh đầu vào không cần qua
bước tiền xử lý. Kết quả đưa ra của mô hình bao gồm: tọa độ bao đóng hình
5
chữ nhật quanh các thể hiện của lớp đối tượng truy vấn trong ảnh và kèm theo
vector đặc trưng rất giàu thông tin của nó (CT1).
(ii) Cải tiến kỹ thuật nhận dạng hình dạng của đối tượng dựa trên phương
pháp lập chỉ mục vector đặc trưng. Tập dữ liệu về hình dạng của đối tượng sau
khi trích chọn đặc trưng được lập chỉ mục bằng kỹ thuật lượng tử hóa tích đề
các cụm vector (Product sub-vector quantization – PSVQ). Kỹ thuật này kết
hợp với cây phân cụm thứ bậc được sử dụng để tìm ra hình dạng tương đồng
nhất với đối tượng truy vấn (CT2, CT3, CT4 và CT6).
iii) Cải tiến mô hình hoàn thiện vùng bị phá hủy trong ảnh với hình dạng
và kích thước bất kỳ sinh, áp dụng trong video inpainting nhằm bảo toàn tính
kết cấu về không gian và thời gian trong tái tạo vùng bị phá hủy sinh ra trong
video sau hiệu chỉnh (CT5).
5. Phương pháp và nội dung nghiên cứu
Phương pháp luận trong nghiên cứu của luận án là kết hợp giữa nghiên
cứu lý thuyết và thực nghiệm.
Phương pháp lý thuyết: Tổng hợp một số công bố liên quan đến bài toán
dò tìm, nhận dạng đối tượng, hoàn thiện vùng bị phá hủy trong ảnh, video. Cụ
thể nghiên cứu các mạng tích chập học sâu ứng dụng trong dò tìm đối tượng,
hoàn thiện ảnh, video, các kỹ thuật lập chỉ mục trên tập dữ liệu lớn các vector
đặc trưng và các thuật toán tìm kiếm ảnh theo nội dung, một số thuật toán về
hoàn thiện các vùng mất mát thông tin trong video.
Phương pháp thực nghiệm: Thực hiện cài đặt các thuật toán của luận án,
chạy thử nghiệm trên các tập dữ liệu được sử dụng phổ biến trong cộng đồng
nghiên cứu.
6. Cấu trúc luận án
Cấu trúc luận án được tổ chức thành 3 chương như sau:
6
Chương 1: Tổng quan về bài toán phát hiện và thay thế đối tượng trong
video. Trình bày các nghiên cứu liên quan đến bài toán phát hiện đối tượng bao
gồm hai pha dò tìm và nhận dạng, bài toán thay thế đối tượng quảng cáo trong
các video thuộc lĩnh vực thương mại gồm các công đoạn phân vùng, thay thế
và hoàn thiện video. Bên cạnh đó, luận án đưa ra mô hình tổng quát cho hệ
thống thay thế đối tượng trong video cùng các khái niệm liên quan. Thông qua
đó xác định rõ vấn đề đặt ra cần nghiên cứu, vị trí nghiên cứu, xu hướng phát
triển để đưa ra các giải pháp giải quyết vấn đề đặt ra.
Chương 2: Phát hiện đối tượng trong video. Trình bày chi tiết mô hình
YOLO-Adv cải tiến, phát triển từ mô hình dò tìm đối tượng YOLO tương thích
với lớp bài toán dò tìm đối tượng quảng cáo trong video. Các kết quả thực
nghiệm trên tập dữ liệu flickrlogos-47 được phân tích, chứng minh độ chính
xác và tốc độ dò tìm đối tượng của mô hình cải tiến là nhanh hơn các phiên bản
của mô hình YOLO và các mô hình hiện tại khác. Tiếp theo, kỹ thuật lập chỉ
mục dữ liệu PSVQ (Product sub-vector quantization) cải tiến, phát triển từ
phương pháp lập chỉ mục lượng tử hóa tích đề các (product quantization-PQ)
trên tập dữ liệu vector đặc trưng có số chiều lớn ứng dụng cho bài toán nhận
dạng hình dạng của đối tượng được trình bày chi tiết. Các kết quả thực nghiệm
trên tập dữ liệu có số chiều lớn như ANN_GIST, VGG cũng được trình bày
ngay sau phần trình bày lý thuyết.
Chương 3: Thay thế đối tượng và hoàn thiện video. Trình bày kỹ thuật
phân vùng thực thể áp dụng để trích chọn vùng đối tượng xuất hiện trong ảnh.
Tiếp theo, kỹ thuật hoàn thiện, tái tạo video V-RBPconv dựa trên nền tảng của
mô hình RBPConv được sử dụng cho bài toán tái tạo các vùng bị phá hủy.
Những vùng này có sự đa dạng về hình dạng và kích thước sinh ra sau trong
quá trình hậu xử lý như loại bỏ, thay thế đối tượng không mong muốn khỏi
video. Cuối cùng, các kết quả thực nghiệm của mô hình trên các tập dữ liệu phổ
biến cũng được trình bày.
7
CHƯƠNG 1. TỔNG QUAN VỀ BÀI TOÁN PHÁT HIỆN VÀ THAY
THẾ ĐỐI TƯỢNG TRONG VIDEO
Trong chương tổng quan này luận án trình bày mô hình tổng quan cho
bài toán phát hiện và thay thế đối tượng trong video, mô tả chi tiết các thành
phần trong hệ thống cũng như đưa ra các khái niệm có liên quan. Bên cạnh đó
luận án hệ thống lại các nghiên cứu liên quan đến các mô hình, kỹ thuật áp dụng
trong hệ thống phát hiện và thay thế đối tượng, phân tích ưu, nhược điểm của
các kỹ thuật này làm tiền đề cho những nội dung nghiên cứu trong các chương
sau đó. Cụ thể, tổng quan về bài toán phát hiện và thay thế đối tượng trong
video được trình bày trong phần 1.1. Các nghiên cứu liên quan đến mô hình dò
tìm đối tượng trong video được phân tích trong phần 1.2. Tiếp theo, các kỹ
thuật nhận dạng đối tượng được trình bày trong phần 1.3. Cuối cùng các nghiên
cứu liên quan đến hoàn thiện vùng bị phá hủy trong video được trình bày trong
phần 1.4.
Hình 1.1. Cấu trúc phân cấp của video
1.1. Tổng quan về video và bài toán phát hiện và thay thế đối tượng trong
video
1.1.1. Khái quát về video
Video là sự phối hợp đồng bộ thu hoặc phát một chuỗi các hình ảnh và
âm thanh theo thời gian thực để thể hiện thế giới thực. Bản chất của video là
8
tập hợp các khung hình (frame), mỗi khung hình tương ứng là một ảnh tĩnh.
Tập hợp các chuỗi các khung hình liên tiếp, không thể chia nhỏ hơn, ứng với
một thao tác camera đơn tạo thành một lia (Shot). Tập các shot liên quan về
không gian và liền kề về thời gian, cùng mô tả một nội dung ngữ nghĩa hoặc
một tình tiết tạo thành một cảnh quay (Scene). Cấu trúc phân cấp của video
được thể hiện trong hình 1.1.
Video truyền thống các tín hiệu thu và phát dưới dạng tương tự. Tín hiệu
hình ảnh và tín hiệu âm thanh được phát đồng bộ nhau. Tuy nhiên, các thao tác
với video ở dạng tương tự như điều khiển, khử nhiễu, ... rất phức tạp. Vì vậy,
ngày nay các video tương tự ít được sử dụng mà thay bằng các video số. Với
video số các tín hiệu thu và phát chuỗi hình ảnh âm thanh được số hóa thành
dãy bít 0 và 1. Dữ liệu video được lưu trữ ở dạng bít 0 và 1 nên việc tác động
lên video đơn giản hơn nhiều so với video tương tự.
Dữ liệu video số là các đoạn phim đã được số hóa, ghi thành tệp trên đĩa
cứng, đĩa CD, đĩa DVD, hoặc các thiết bị lưu trữ khác mà máy tính có thể hiểu
được. Một tệp video thông thường có hai phần: dữ liệu hình ảnh và dữ liệu âm
thanh. Khi phát, các dữ liệu hình ảnh và các dữ liệu âm thanh được phát đồng
bộ nhau.
Kích cỡ khuôn hình của video phải được xác định rõ theo định dạng
chuẩn của video xuất ra. Ví dụ: kích cỡ khuôn hình 720x480 điểm ảnh cho hệ
NTSC, 720x576 điểm ảnh cho hệ PAL. Hoặc có thể xác định khuôn hình
320x240 điểm ảnh cho các video có kích cỡ nhỏ, có thể sử dụng trên Web. Kích
cỡ khuôn hình tăng đồng nghĩa với việc tiêu tốn nhiều bộ nhớ và thời gian xử
lý hơn khi hiển thị hay soạn thảo video. Khi xử lý video số, kích cỡ khuôn hình
tham chiếu đến độ phân giải. Các thuộc tính rất quan trọng của khuôn hình khi
soạn thảo video gồm: điểm ảnh, tỷ lệ của khuôn hình, độ phân giải, độ sâu mầu.
Mối liên hệ giữa các yếu tố này là rất quan trọng như kích cỡ khuôn hình và
9
yêu cầu bộ nhớ; độ phân giải cao hơn thì hình ảnh chi tiết hơn và do đó yêu cầu
cần nhiều bộ nhớ cho soạn thảo hơn.
Tỷ lệ khuôn hình là tỷ lệ kích thước chiều ngang/chiều dọc của ảnh. Ví
dụ: tỷ lệ khuôn hình của video trong các hệ thống truyền hình NTSC (National
Television System Committee) là 4:3. Video thông thường hiện nay sử dụng tỷ
lệ 16:9. Tỷ lệ của khuôn hình không chỉ là các cạnh mà nó còn liên quan đến
các chuẩn video. Ví dụ: tỷ lệ 4:3 là chuẩn cho các sản phẩm video của hệ điều
hành Windows, Mac, khuôn hình 720x480 điểm ảnh sử dụng cho chuẩn NTSC.
Khi video được phát, các khung hình lần lượt được hiển thị ở tốc độ nhất
định. Tốc độ phát hình là số hình ảnh được phát trong thời gian một giây. Các
video phổ biến được phát với tốc độ từ 25 đến 30 hình/giây.
Video số được hình thành từ rất nhiều ảnh số liên tục nên có kích cỡ rất
lớn. Do đó để lưu trữ người ta phải tìm mọi cách để giảm thiểu kích cỡ của
video. Một trong các cách này là sử dụng độ phân giải phù hợp cho video.
Nhiều nghiên cứu đã chứng minh rằng mắt người bị giới hạn về khả năng nhìn.
Với màu sắc được hiển trị trên màn hình thì mắt người chỉ nhận biết được sự
khác nhau của chất lượng hình ảnh chuyển động với độ phân giải dưới 72 dpi
(72 điểm ảnh/inch). Đối với các hình ảnh chuyển động có độ phân giải cao hơn
thì mắt người không nhận biết được. Vì vậy, video số sử dụng độ phân giải
72dpi. Đây là tiêu chuẩn cho tất cả các thiết bị thu video số thông thường như
các máy quay số (digital camera), các thiết bị chuyển đổi dữ liệu video từ dạng
tương tự sang dạng số. Một số trường hợp đặc biệt khi cần có video chất lượng
rất cao như các đoạn phim sử dụng cho việc phân tích khoa học cần phóng to
lên nhiều lần thì phải dùng những máy quay đặc biệt để có thể tăng độ phân
giải của video lên trên 72 dpi. Trong trường hợp này dữ liệu video sẽ lớn lên
khá nhiều. Ví dụ: tăng độ phân giải lên 300 dpi thì kích cỡ của tệp video tăng
lên trên 4 lần.
10
Bên cạnh đó người ta đã sử dụng nhiều biện pháp như giảm kích cỡ
khuôn hình, giảm độ sâu mầu, nhưng hữu hiệu hơn cả vẫn là sử dụng các thuật
toán nén video, như các thuật toán nén AVI (Audio Video Interleave), MPEG.
Các thuật toán này đảm bảo cho việc sử dụng các tệp video trên máy tính cũng
như truyền dữ liệu video trên mạng là hiệu quả trong thời gian thực. Hiện nay,
đã có rất nhiều thuật toán nén video khác nhau, nhưng nền tảng vẫn chủ yếu
dựa trên các thuật toán nén ảnh. Mỗi chuẩn nén được gọi là một định chuẩn
video.
Video có thể được phân loại theo mục đích sử dụng như: video số sử
dụng cho soạn thảo, video số sử dụng cho đầu cuối. Căn cứ vào mục đích sử
dụng này mà có các phương pháp thích hợp xử lý.
Video số sử dụng cho soạn thảo thường có chất lượng rất cao. Thông
thường sử dụng các thuật toán nén không mất thông tin. Các dữ liệu video này
được lưu trữ và xử lý trên các thiết bị đặc biệt, chuyên dụng như lưu trên các ổ
cứng có tốc độ đọc ghi nhanh, có các thiết bị phần cứng hỗ trợ xử lý video, máy
tính tốc độ cao có trang bị các chíp đặc biệt hỗ trợ xử lý đồ hoạ...
Video số sử dụng cho đầu cuối là các sản phẩm video số có chất lượng
thấp hơn so với video dùng làm soạn thảo nên kích cỡ lại nhỏ hơn rất nhiều
(nhỏ hơn vài chục lần so với video gốc) do sử dụng các thuật toán nén mất mát
thông tin. Video số đầu cuối có thể sử dụng trên mạng, Internet hoặc các ứng
dụng thông thường. Trong lớp các video số này, người ta lại phân thành nhóm
các sản phẩm nhỏ hơn như video ghi trên đĩa quang (Compact Disc – CD) hay
đĩa phim kỹ thuật số (Digital Video Disc – DVD), video phân phối trên mạng.
Các sản phẩm video số ghi trên đĩa CD là sản phẩm có chất lượng tương
đối cao và được phân phối rộng khắp trên thị trường. Nó sử dụng định chuẩn
nén MPEG-1. Một đĩa CD có dung lượng 700Mb lưu trữ được 80 phút video.
Các sản phẩm video số ghi trên đĩa DVD có sức chứa 4,7 Gb. Do đó, người ta
có thể nâng cấp chất lượng video số cao hơn chuẩn MPEG–1 bằng cách sử dụng
11
chuẩn MPEG–2. Một đĩa DVD có thể lưu trữ được hai giờ video số với chất
lượng rất tốt.
Các sản phẩm video số phân phối trên mạng băng thông rộng, sử dụng
chuẩn MPEG–1, MPEG–2, hoặc định chuẩn AVI, MOV (Apple QuickTime
Movie) với chất lượng video số cao. Các định chuẩn này thường yêu cầu tốc
độ truyền bít trên 15 Mb/giây.
Các sản phẩm video số phân phối trên mạng băng thông hẹp hoặc
Internet, sử dụng chuẩn video MPEG–4 hoặc AVI. Nhóm các sản phẩm video
số này có chất lượng thấp, khuôn hình nhỏ. Sản phẩm video số này yêu cầu tốc
độ đường truyền thấp dưới 500 Kb/giây.
Hình 1.2. Sơ đồ chuyển đổi dữ liệu video
Do giới hạn về phạm vi nghiên cứu, luận án không tập trung vào quán
trình thu video và chuyển thành các video đầu cuối (hình 1.2). Thay vào đó,
luận án chỉ tập trung xử lý phần hình ảnh giả thiết đã được phân tách thành các
frame liên tục trong các dữ liệu video số sử dụng cho đầu cuối MPEG-4 đang
được sử dụng rộng rãi trong các dịch vụ truyền hình, phân phối trên mạng
Internet. Chính vì vậy, quá trình xử lý video sau đó chuyển thành video đầu
Video từ máy quay, Băng
Quá trình thu để chuyển thành dữ liệu Video dạng số
Video từ máy quay, Băng
Quá trình xử lý video sau đó chuyển thành Video đầu cuối sử dụng trong các ứng dụng
Dữ liệu video số MPEG-1 cho đĩa CD
Dữ liệu video số MPEG-2 cho đĩa DVD
Dữ liệu video số MPEG-4 cho mạng, internet, …
Dữ liệu video số AVI, MOV sử dụng cho các
ứng dụng
12
cuối, tích hợp phần hình ảnh với phần âm thanh, cũng như các định chuẩn video
không được trình bày chi tiết trong luận án này.
1.1.2. Bài toán thay thế đối tượng trong video
Bài toán hậu xử lý video, hiểu video đã nhận được sự quan tâm rất lớn
từ khi video ra đời đặc biệt là trong lĩnh vực công nghiệp điện ảnh. Tuy nhiên,
các bài toán phát hiện quảng cáo, phân tích thị trường trong các lĩnh vực thương
mại, thể thao mới được một số ít nhà nghiên cứu quan tâm.
Hussain và các cộng sự trong nghiên cứu [34] đã đề xuất một ý tưởng
cho việc tự động hiểu nội dung quảng cáo và phân tích cảm nhận của người
xem. Feng [23] đã đề xuất một phương pháp phát hiện logo trong quảng cáo
truyền hình sử dụng kết hợp các đặc trưng âm thanh và video. Phần khớp âm
thanh cũng được khai thác trong [17] để định vị chính xác các quảng cáo trong
chuỗi video. Trong những nghiên cứu này tiến trình phát hiện quảng cáo thường
không định vị đối tượng quảng cáo trong video mà chỉ xác định khung hình
thích hợp để tích hợp các quảng cáo mới.
(a) Chèn hình ảnh vào vị trí thích hợp
trong video [51]
(b) Thay thế billboard vào các video thể
thao [55]
Hình 1.3. Một số ứng dụng chèn/thay thế quảng cáo trong video
13
Hình 1.4. Mô hình phát hiện và thay thế đối tượng trong video
Trong lĩnh vực phân tích thể thao, cũng có một số ít nghiên cứu đã được
thực hiện để phát hiện các bảng quảng cáo xung quanh sân vận động. Watve và
cộng sự đã sử dụng các kỹ thuật khớp mẫu [84] để định vị bảng quảng cáo trên
sân. Cai và các cộng sự trong [13] sử dụng biến đổi Hough để phát hiện các
biển quảng cáo trong video thể thao phát trên truyền hình. Ngoài ra cũng đã có
một số ứng dụng được phát triển để chèn hình ảnh vào vị trí thích hợp trong
video [51], thay thế các virtual billboard vào video thể thao [55] (hình 1.3), biến
đổi hành vi của vận động viên thể thao [77], loại bỏ trademark khỏi các video
truyền hình [89]. Tuy nhiên, các kỹ thuật sử dụng trong các ứng dụng này dựa
14
trên điểm đặc trưng do đó tốc độ rất chậm và độ chính xác không cao. Với sự
phát triển mạnh mẽ trọng lĩnh vực trí tuệ nhân tạo, luận án đề xuất một mô hình
phát hiện và thay thế đối tượng quảng cáo chủ yếu dựa trên mạng tích chập học
sâu cho độ chính xác và tốc độ xử lý cao.
Mô hình phát hiện và thay thế đối tượng trong video luận án đề xuất được
minh họa trực quan trong hình 1.4. Đầu vào của hệ thống gồm bộ ba thành
phần: đoạn video mà phần hình ảnh đã được phân đoạn thành các frame liên
tiếp, nhãn đối tượng quảng cáo nguồn cần truy vấn, và đối tượng quảng cáo
đích dùng để thay thế đối tượng nguồn nếu tìm thấy. Đầu ra của hệ thống là các
frame của video mà đối tượng nguồn đã được thay thế bằng đối tượng đích. Hệ
thống phát hiện đối tượng bắt đầu bằng việc xem xét lần lượt từng frame để dò
tìm đối tượng truy vấn. Một khi đối tượng truy vấn được phát hiện và định vị,
hình dạng của nó được đối sánh với tập hình dạng có trước nhằm tìm ra một
ảnh hình dạng tương đồng nhất. Từ đó, bằng cách phép biến đổi, ánh xạ, xác
định được một hình dạng thích hợp của đối tượng đích dùng để chèn vào vị trí
của đối tượng nguồn trong video. Chi tiết, hệ thống đề xuất bao gồm bốn pha.
Pha thứ nhất là tiến trình lấy mẫu, tạo cơ sở dữ liệu vector đặc trưng
của đối tượng nguồn. Các đối tượng nguồn và đối tượng đích có cùng kiểu dáng
hay độ biến dạng hình thành các cặp mẫu. Các phép gia tăng biến thể như phép
xoay, phép biến dạng, gây nhiễu, ... được sử dụng để sản sinh tập lớn dữ liệu
các cặp biến thể đối tượng nguồn và đích. Một khi tìm thấy một thể hiện của
đối tượng nguồn trong tập dữ liệu này thì đối tượng đích cũng được tìm thấy
tương ứng. Tập các hình dạng của đối tượng nguồn sau đó được đưa vào bộ
trích chọn đặc trưng tạo ra một tập dữ liệu các vector đặc trưng đa chiều. Tập
vector đặc trưng của đối tượng nguồn được lập chỉ mục, lưu trữ giúp cho việc
tìm ra đối tượng nguồn có hình dạng tương đồng nhất với đối tượng truy vấn
để từ đó ánh xạ ra đối tượng đích tương ứng.
15
Pha thứ hai là tiến trình dò tìm đối tượng. Nhiệm vụ chính của pha này
là dò tìm, định vị, trích chọn vector đặc trưng các thể hiện của lớp đối tượng
truy vấn trong từng frame của đoạn video. Nếu frame có chứa đối tượng truy
vấn thì kết quả đưa ra là tập tọa độ của các bounding box cùng với tập vector
đặc trưng.
Pha thứ ba là tiến trình nhận dạng hình dạng cụ thể của đối tượng đã
được tìm thấy trong pha thứ hai. Bản chất của pha này là thực hiện quá trình
đối sánh vector để tìm ra một vector đặc trưng của đối tượng nguồn gần với
vector truy vấn nhất trong tập các vector đặc trưng nguồn đã được chuẩn bị
trong pha thứ nhất. Từ đó xác định ảnh hình dạng của đối tượng nguồn. Bằng
phép biến đổi, ánh xạ xác định được hình dạng thích hợp của đối tượng đích.
Pha thứ tư là tiến trình thay thế. Kỹ thuật phân vùng được áp dụng trên
các vùng chứa đối tượng nguồn được tìm thấy trong video để trích chọn, đánh
dấu phần hiển thị của đối tượng và loại bỏ chúng khỏi frame. Tiếp đó trích chọn
phần hiển thị tương ứng của đối tượng đích chèn vào vị trí trống tạo ra sau khi
loại bỏ các phần hiển thị của đối tượng nguồn. Cuối cùng là tiến trình hoàn
thiện, lấp đầy các vùng trống còn lại do không được chồng lấp hết.
Trong mô hình phát hiện và thay thế đối tượng quảng cáo đề xuất, quá
trình thay thế đối tượng trong video là sự tổng hợp của các giai đoạn xử lý
tương đối độc lập, chưa có một mô hình đầu-cuối áp dụng cho tổng thể hệ
thống. Tùy theo đặc trưng của từng giai đoạn được mô tả bên trên mà các kỹ
thuật phù hợp được lựa chọn nhằm tối ưu hiệu năng của hệ thống. Luận án đã
tập trung nghiên cứu cải tiến hiệu năng của các kỹ thuật tiên tiến sử dụng trong
tất cả các pha của hệ thống này. Cụ thể, nghiên cứu cải tiến mô hình DCNN sử
dụng trích chọn các vector đặc trưng 4096 chiều từ tập các đối tượng mẫu trong
pha thứ nhất. Nghiên cứu cải tiến kỹ thuật lập chỉ mục để mã hóa dữ liệu vector
đặc trưng có số chiều lớn đã được trích chọn. Sử dụng cùng mô hình DCNN
này để dò tìm đối tượng và trích chọn vector đặc trưng cùng số chiều chiều cho
16
các đối tượng tìm thấy trong pha thứ hai. Áp dụng kỹ thuật tìm kiếm ANN dựa
trên cây phân cụm thứ bậc để tìm ra vector gần với vector truy vấn nhất theo
khoảng cách Euclid trong pha thứ ba. Sử dụng các kỹ thuật tiên tiến để trích
chọn vùng hiển thị đối tượng tìm thấy. Cải tiến kỹ thuật tái tạo, hoàn thiện vùng
bị phá hủy trong ảnh nhằm tạo ra video hoàn thiện trong pha thứ tư.
1.1.3. Một số khái niệm
1.1.3.1. Dò tìm đối tượng trong video
Dò tìm lớp đối tượng (gọi tắt là đối tượng) trong phạm vi luận án này
được định nghĩa như sau: cho trước một ảnh số hoặc một video số gồm một
chuỗi các ảnh số chứa hoặc không chứa nhiều lớp đối tượng, máy tính cần xác
định vị trí và phân lớp các thực thể xuất hiện trong ảnh hoặc video. Định vị là
xác định các vùng chứa đối tượng trong ảnh bằng cách bao quanh đối tượng
phát hiện được một bao đóng hình chữ nhật sát với đối tượng nhất (được gọi là
bounding box). Phân lớp đối tượng là tiến trình gán nhãn cho đối tượng trong
bounding box từ tập các nhãn lớp đã được định nghĩa trước.
1.1.3.2. Nhận dạng hình dạng đối tượng trong video
Tương tự như tiến trình dò tìm đối tượng, nhận dạng hình dạng của đối
tượng là tác vụ xác định hình dạng, tư thế xuất hiện của các thể hiện đối tượng
trong tập các biến thể về hình dạng của đối tượng đó. Bản chất của nhận dạng
hình dáng đối tượng là tìm kiếm một hình dạng tương đồng nhất với đối tượng
truy vấn trong tập dữ liệu về hình dạng, tư thế có sẵn.
1.1.3.3. Phát hiện đối tượng trong video
Phát hiện đối tượng được định nghĩa trong luận án này là một chuỗi gồm
hai tiến trình dò tìm và nhận dạng hình dạng đối tượng xuất hiện trong video.
17
(a) Ảnh gốc (b) Phân vùng ngữ nghĩa (c) Phân vùng thực thể
Hình 1.5. Các kiểu phân vùng ảnh1
1.1.3.4. Phân vùng đối tượng
Phân vùng đối tượng là tiến trình phân chia một vùng ảnh đầu vào thành
các phần nhỏ hơn. Mỗi vùng nhỏ này bao gồm các tập điểm ảnh hoặc siêu điểm
ảnh biểu diễn một đối tượng hoặc một phần của đối tượng. Phân vùng đối tượng
thông thường được chia thành hai loại: phân vùng ngữ nghĩa và phân vùng thực
thể (hình 1.5).
Phân vùng ngữ nghĩa - phân loại tất cả các điểm ảnh trong vùng ảnh theo
các lớp ngữ nghĩa của đối tượng. Các lớp này có thể hiểu được về mặt ngữ
nghĩa và tương ứng với một lớp xác định trước trong thế giới thực. Ví dụ như
trong hình 1.5(b), các điểm ảnh thuộc đối tượng trong lớp “ghế” được cô lập và
đánh dấu bằng màu xanh, trong khi các điểm ảnh thuộc đối tượng trong lớp bàn
được tô màu trắng.
Phân vùng thực thể – là phương pháp phân vùng không chỉ phân loại các
điểm ảnh đối tượng theo từng lớp đối tượng tương ứng mà còn phải phân biệt
giữa các thực thể trong lớp đối tượng này. Khác với phân vùng ngữ nghĩa chỉ
xác định một điểm ảnh thuộc vào một lớp đối tượng, phân vùng thực thể còn
phải xác định điểm ảnh này thuộc thực thể nào nếu thuộc cùng một lớp đối
tượng. Ví dụ như trong hình 1.5(c), không chỉ xác định điểm ảnh thuộc lớp
1 https://datascience.stackexchange.com/questions/52015/what-is-the-difference-between-semantic-
segmentation-object-detection-and-insta
18
“ghế” mà còn phải xác định điểm ảnh này thuộc vào ghế nào và phân biệt chúng
bằng các màu khác nhau.
(a) Khôi phục ảnh
(b) Loại bỏ vết xước
(c) Loại bỏ văn bản
(d) Loại bỏ đối tượng
Hình 1.6. Các ví dụ về hoàn thiện, tái tạo ảnh/video [10] [65]
1.1.3.5. Video inpainting
Video inpainting là tiến trình hoàn thiện, tái tạo các phần hoặc các vùng
trống do bị mất mát thông tin sinh ra bởi sự phá hủy, xóa bỏ các đối tượng
(logo, văn bản, ...) không mong muốn khỏi video hoặc thay thế các vùng
ảnh/đối tượng bằng các đối tượng khác trong chuỗi cảnh quay video. Video
inpainting được thực hiện bằng cách sử dụng thông tin từ các vùng lân cận để
hoàn thiện vùng đích theo cách mà người nhìn khó nhận biết được vùng bị sửa
đổi trong video theo không gian và thời gian. Hình 1.6 minh họa một số ứng
dụng của inpainting. Trong hình 1.6.a, 1.6.b, các khoảng trống trong các ảnh
cũ (bên trái) hình thành do các nếp gấp hoặc các vết xước đã được inpainting
tạo ra ảnh gốc (bên phải). Hình 1.6.c, 1.6.d, minh họa cho việc sử dụng kỹ thuật
inpainting để loại bỏ các thành phần không mong muốn khỏi ảnh hoặc cảnh
quay. Video inpainting được sử dụng trong giai đoạn cuối cùng của quá trình
hậu xử lý video nhằm tạo độ chân thực cho video sau khi xử lý.
19
1.1.3.6. Thay thế đối tượng trong video
Thay thế đối tượng trong video được định nghĩa trong luận án này là một
chuỗi các tiến trình: trích chọn vùng hiển thị của đối tượng xuất hiện trong
video, loại bỏ vùng trích chọn này khỏi video, chèn đối tượng mới vào vị trí
vừa loại bỏ và hoàn thiện, tái tạo video.
(a) (b) (c) (d)
Hình 1.7. Một số trở ngại trong phát hiện đối tượng quảng cáo: (a) Thay
đổi về kích thước. (b) Biến đổi về tư thế. (c) Bị khuyết thiếu/che khuất.
(d) Biến đổi về hình dạng
1.1.4. Các thách thức cho bài toán thay thế đối tượng
Bài toán hiểu video nói chung, thay thế đối tượng trong video nói riêng
là một bài toán khó với nhiều thách thức, trở ngại do bị ảnh hưởng bởi nhiều
nguyên nhân khác nhau (hình 1.7). Các trở ngại, thách thức tập trung chủ yếu
ở pha phát hiện (dò tìm và nhận dạng) đối tượng. Nếu đối tượng không được
phát hiện và khoanh vùng chính xác thì các chuỗi xử lý sau đó sẽ không có ý
nghĩa. Các trở ngại trong pha phát hiện chủ yếu tập trung ở bề mặt thể hiện của
đối tượng. Những biến đổi trong bề mặt của đối tượng có thể nhóm tương đối
vào trong bốn nhóm sau:
Biến đổi bên trong lớp. Đây là một trở ngại, thách thức chính cho bài
toán phát hiện đối tượng. Các thể hiện của đối tượng trong cùng một lớp có thể
20
có nhiều bề mặt, hình dạng rất khác nhau. Một trường hợp hay gặp với đối
tượng quảng cáo là sự thay đổi nền, ánh sáng dẫn đến bề mặt hiển thị của đối
tượng cũng thay đổi. Khi đối tượng quảng cáo xuất hiện trên billboard nền hiển
thị thường có màu sáng, trong khi nếu hiển thị trên thùng đựng có thể nền hiển
thị có màu tối. Một ví dụ khác là sự tồn tại nhiều phiên bản khác nhau của cùng
một đối tượng quảng cáo. Các phiên bản này có thể là sự biến đổi hình dạng và
theo góc nhìn khác nhau, cũng có thể là màu sắc khác nhau.
Sự biến đổi về tỷ lệ. Một vấn đề quan trọng khác mà bất kỳ giải thuật dò
tìm, nhận dạng đối tượng nào cũng phải khắc phục là vấn đề biến đổi tỷ lệ (các
thể hiện của một đối tượng có thể tồn tại ở nhiều kích thước khác nhau). Biến
đổi tỷ lệ tác động không nhỏ đến độ chính xác trong dò tìm và nhận dạng. Độ
chính xác giảm mạnh đối với các đối tượng có kích thước quá bé hoặc quá lớn.
Trong trường hợp dò tìm, nhận dạng các đối tượng quảng cáo, vấn đề biến đổi
tỷ lệ này còn khá phức tạp hơn khi các thể hiện của đối tượng có thể chênh lệch
nhau lên đến 50 lần.
Sự biến đổi về hình thể. Một vấn đề quan trọng khác trong bài toán phát
hiện đối tượng là sự biến đổi về hình thể. Hình thể của đối tượng liên quan đến
hướng của nó trong không gian ba chiều tương quan với camera. Một ví dụ của
sự khác biệt trong hình thể của đối tượng là khi chúng ở các khung nhìn khác
nhau như nhìn trực diện hoặc nhìn nghiêng của cùng một đối tượng. Mặc dù
những khung nhìn này có thể khá khác nhau, một giải thuật phát hiện đối tượng
tốt phải nhận diện được cả hai khung nhìn của đối tượng khi chúng cùng thuộc
về một lớp đối tượng. Tuy nhiên, vấn đề này chỉ có tác động nhỏ cho bài toán
nhận dạng đối tượng quảng cáo vì chúng đã được giới hạn là các đối tượng hai
chiều. Chúng chỉ có sự khác biệt trên các bề mặt phẳng hoặc các bề mặt cong.
Do đó, sự khác biệt trong hình thể thường có thể được mô hình như là một phép
biến đổi phối cảnh đơn giản.
21
Khuyết thiếu và che khuất. Trong một vài trường hợp các thể hiện của
đối tượng xuất hiện không đầy đủ. Trong trường hợp này, đối tượng có thể được
xem là bị khuyết thiếu. Sự khuyết thiếu có thể do nhiều nguyên nhân gây ra,
một trong những nguyên nhân phổ biến nhất là đối tượng chỉ được camera thu
nhận một phần. Che khuất là một trường hợp đặc biệt của khuyết thiếu khi đối
tượng bị đối tượng khác chắn tầm nhìn của camera. Ngoài các tình huống phổ
biến nói trên, các đối tượng quảng cáo đôi khi còn bị phụ thuộc vào hình dáng
của bề mặt hiển thị. Chúng có thể xuất hiện trên các bề mặt cong, bị gấp, ... Ví
dụ, logo của hãng bia xuất hiện nhiều trên các chai đựng theo chiều ngang,
chéo, dọc hoặc bị uốn cong để hiển thị vòng cung trên chai đựng. Trong trường
hợp này, nếu chai đựng xoay thì một phần logo trên nó không được hiển thị và
phần hiển thị có hình dạng cong.
Do tiến trình phát hiện đối tượng quảng cáo được ước lượng từ các nguồn
dữ liệu đa phương tiện nên các giải thuật cần xử lý một lượng lớn các hình ảnh.
Vì vậy độ phức tạp tính toán, tốc độ phân tích, xử lý các hình ảnh từ nguồn dữ
liệu này cũng là một nhân tố rất quan trọng cần được xem xét trong khi lựa
chọn kỹ thuật phù hợp với đặc trưng từng lớp bài toán. Đặc biệt khi xử lý các
đối tượng quá nhỏ cần nhiều thời gian để xử lý hơn.
Ngoài ra, cường độ ánh sáng, môi trường thu hình cũng như cấu trúc định
dạng, chất lượng của video ảnh hưởng không nhỏ đến độ chính xác của quá
trình phát hiện đối tượng. Độ phân giải thấp, chất lượng mã hóa không tốt sẽ
làm mất mát khá nhiều thông tin, đặc trưng tốt của đối tượng. Khi độ phân giải
quá cao thì có nhiều thông tin và đặc trưng tốt được trích chọn, tuy nhiên tốc
độ xử lý lại chậm.
22
1.2. Tổng quan về các kỹ thuật áp dụng trong hệ thống thay thế đối tượng
trong video
1.2.1. Dò tìm đối tượng
Dò tìm đối tượng là tiến trình dò tìm và định vị đối tượng trong các frame
của video. Đây là là bước quan trọng nhất trong bài toán hiểu video và là nền
tảng cho hệ thống nhận dạng và thay thế đối tượng cũng như nhiều ứng dụng
khác trong lĩnh vực thị giác máy tính. Các đối tượng thường được biễu diễn với
nhiều hình dạng khác nhau, thường xuất hiện ở các vùng nền khác nhau, với
các kích thước và góc độ cũng như các điều kiện thay đổi về ánh sáng, tư thế
xuất hiện khác nhau. Tất cả các yếu tố này cùng xuất hiện trong ảnh gây trở
ngại lớn trong việc dò tìm và định vị. Trước khi các mạng nơron tích chập học
sâu ra đời, rất khó khăn để thu được các đặc trưng tốt trên dữ liệu điểm ảnh thô.
Do đó, những cách tiếp cận thường chỉ dựa trên các đặc trưng thô theo các tiêu
chí xác định trước bất biến với các phép xoay, biến đổi affine, biến đổi tỷ lệ.
1.2.1.1. Dựa trên điểm đặc trưng
Cách tiếp cận truyền thống cho bài toán dò tìm đối tượng thường được
chia thành các giai đoạn: trích chọn điểm đặc trưng thô, mô tả điểm đặc trưng
này và sau đó tiến hành phân lớp vector đặc trưng bằng các kỹ thuật học máy
hay đối sánh vector đặc trưng để gán nhãn cho từng đối tượng. Những điểm
đặc trưng này có thể được trích chọn, mô tả theo nhiều cách khác nhau phụ
thuộc vào đặc trưng của từng ứng dụng. Ví dụ, các đặc trưng dựa trên Haar
wavelets [28] tương đối phổ dụng, cùng với cải tiến của nó đã được sử dụng
cho bài toán dò tìm mặt người [49]. Trong một số ít trường hợp, các đặc trưng
dựa trên kết cấu được trích chọn bằng bộ lọc Gabor sử dụng để dò tìm người
và phân tích tư thế của cơ thể. Bên cạnh đó, đặc trưng về hình dạng của đối
tượng cũng được sử dụng để phát hiện đối tượng [97]. Đặc trưng được sử phổ
biến trong phát hiện đối tượng là biểu đồ hướng (gradient histogram). Đặc trưng
này được tính trên một lưới dày cho toàn bộ bức ảnh [19] hoặc tại các vị trí
23
thưa như SIFT [54]. Trong đó thuật toán trích xuất điểm đặc trưng tích hợp SIFT
[54] được sử dụng rất phổ biến cho bài toán nhận dạng đối tượng tổng quát.
Phương pháp này có thể trích xuất ra một tập vector các điểm đặc trưng có tính
bất biến, bền vững cao với các phép biến đổi hình học. Tính ổn định và bền vững
đối với sự đa dạng của phép biến đổi ảnh khác nhau đã được cải thiện trong [42]
tạo ra phiên bản PCA-SIFT. Ngoài ra bộ dò tìm vùng hiệp biến affine SURF [9]
bắt nguồn từ SIFT được phát triển và sử dụng rộng rãi cho việc trích chọn và biểu
diễn điểm đặc trưng.
Mặc dù các cách tiếp cận được đề cập ở trên có thể đạt được hiệu năng
chấp nhận được trong một số ứng dụng chuyên biệt, tuy nhiên do cố định các
thuộc tính trong điểm đặc trưng cho các tập dữ liệu khác nhau nên không tận
dụng được đặc trưng riêng biệt của từng loại dữ liệu dẫn đến hiện tượng các
đối tượng khác nhau có thể được biểu diễn bằng đặc trưng tương tự nhau.
Nhược điểm này là vấn đề lớn cho các mô hình nhận dạng dựa trên điểm đặc
trưng thô. Dù sử dụng các bộ dữ liệu lớn hơn hoặc các thuật toán phân lớp tốt
hơn cũng không cải thiện được đáng kể chất lượng của các bộ dò tìm đối tượng.
1.2.1.2. Dựa trên các mô hình từng phần của đối tượng
Các tiếp cận dựa trên trích chọn và biểu diễn điểm đặc trưng thô thường
chỉ hoạt động tốt với các đối tượng đặc và hình thể của chúng không biến đổi
nhiều. Với các đối tượng khác, cách tiếp cận này không cho kết quả tốt, do đó
các mô hình dựa trên từng phần đối tượng được nghiên cứu và phát triển.
Các mô hình dựa trên từng phần đối tượng có thể phân loại thành mô
hình xác suất từng phần hoặc mô hình dựa trên kiến trúc hình ảnh của đối tượng.
Mô hình dựa trên xác xuất từng phần [85] biểu diễn một đối tượng như là một
tập các đặc trưng mà có mối tương quan không gian liên quan với nhau. Để các
mô hình này khả thi về mặt tính toán, cần có các giả thiết mạnh về các phân
phối xác suất thể hiện mối quan hệ giữa các đặc trưng. Các mô hình được xây
dựng dựa trên ý tưởng về cấu trúc hình ảnh [22] coi các đối tượng được cấu
24
thành từ nhiều phần (ví dụ: một khuôn mặt được cấu tạo từ mắt, mũi, miệng,
v.v.). Mỗi phần tồn tại trong một cấu trúc hình học thích hợp đối với các phần
khác được dao động xung quanh vị trí thích hợp. Nếu lệch khỏi vị trí dự kiến,
mô hình sẽ phát sinh nhiều chi phí tính toán biến dạng.
1.2.1.3. Dựa trên mạng nơron nhân chập
Các phương pháp tiếp cận dựa trên điểm đặc trưng, hay dựa trên mô hình
từng phần của đối tượng đã được sử dụng thành công trong một số ứng dụng
thị giác máy tính trước đây. Tuy nhiên, hiệu năng thực thi vẫn chưa đáp ứng
được sự kỳ vọng về tốc độ và độ chính xác đặc biệt là với các ứng dụng yêu
cầu thời gian thực. Từ khi Krizhevsky và các cộng sự [46] giới thiệu thành công
DCNN cho bài toán phân loại ảnh, các kiến trúc mạng tích chập đa tầng như
VGG16 [74], Inception [76], Residual Networks [31] không ngừng được
nghiên cứu phát triển. Sự phát triển mạnh các mạng này đã có tác động rất lớn
đến phương pháp dò tìm đối tượng, chúng làm mờ sự khác biệt, ranh giới giữa các
bước trong tiến trình dò tìm đối tượng truyền thống gồm: trích chọn đặc trưng,
biểu diễn và phân lớp đối tượng. Tất cả các bước rời rạc trước đây được chuyển
qua các lớp của một mạng nơron duy nhất.
Tuy nhiên, chi phí tính toán là rất lớn để ước lượng các tham số của mạng
nơron học sâu do phải sử dụng cửa sổ trượt truyền thống trên toàn bộ ảnh ở
nhiều tỷ lệ khác nhau kiến cho việc áp dụng DCNN đôi khi không khả thi trong
điều kiện phần cứng hiện nay. Vì vậy ý tưởng tìm các đề xuất vùng đối tượng
(một tập thưa các vùng ảnh tiềm năng được giới hạn bởi bounding box có khả
năng chứa thể hiện của đối tượng) nhằm hạn chế không gian tính toán đã được
giới thiệu. Sau đó, mạng DCNN mới được sử dụng trên các vùng này sẽ làm
giảm đáng kể chi phí tính toán cho mạng. R-CNN [26] là mô hình dò tìm đối
tượng đầu tiên dựa trên mạng nơron tích chập sử dụng trên đề xuất vùng đối
tượng được tìm thấy bằng thuật toán Selective Search [80]. Ưu điểm của
phương pháp này là độ chính xác tương đối cao, tuy nhiên do cần chi phí tính
25
toán rất lớn để tìm kiếm các đề xuất vùng đối tượng làm cho R-CNN có tốc độ
xử lý tương đối chậm với ngay cả cho một ảnh. Các mạng cải tiến như Fast R-
CNN [25], Faster R-CNN [71] về sau đã cải thiện tốc độ một cách mạnh mẽ,
có thể gấp hàng nghìn lần so với R-CNN. Mặc dù vậy, do cần thời gian thực
thi rời rạc từng phần, dẫn tới tốc độ xử lý của các mạng này là tương đối chậm
cho các ứng dụng xử lý ảnh, do đó không thể áp dụng được cho các xử lý video
đòi hỏi tốc độ xử lý cao. Các mô hình có sử dụng đề xuất vùng đối tượng theo
cách trực tiếp hay gián tiếp được gọi chung là mô hình dò tìm đối tượng hai
trạng thái.
Khắc phục nhược điểm của mô hình hai trạng thái, lớp mô hình không
sử dụng đề xuất vùng đối tượng mà chỉ dựa trên phân lớp/hồi quy hợp nhất một
mạng DCNN ánh xạ trực tiếp các điểm ảnh tới tọa độ vùng bao và xác suất
phân lớp được nghiên cứu phát triển. Các mô hình này được gọi là mô hình một
trạng thái. Các mô hình tiêu biểu, hiệu quả nhất trong nhóm này là YOLO [68],
SSD [52] cùng với các biến thể như YOLOv2 [69], YOLOv3 [70]. Các mô
hình dò tìm đối tượng một trạng thái thành công trong việc dò tìm đối tượng
với thời gian thực thi nhanh, tuy nhiên nhược điểm của các mô hình này chỉ
dựa vào các đặc trưng mức cao (tức là, các đặc trưng được tạo từ các lớp thuộc
giai đoạn cuối của mạng) nên độ chính xác chưa cao so với các mô hình hai
trạng thái. Do yêu cầu về tốc độ tính toán nhanh khi xử lý video nên mô hình
một trạng thái thích hợp hơn mô hình một trạng thái và được luận án nghiên
cứu cải tiến với mục tiêu nâng cao độ chính xác khi dò tìm đối tượng quảng cáo
mà vẫn duy trì tốc độ tính toán theo thời gian thực.
1.2.1.4. Phát hiện đối tượng quảng cáo
Hiện có rất ít nghiên cứu cho bài toán phát hiện đối tượng quảng cáo
được thực hiện. Các nghiên cứu trước đây liên quan đến bài toán phát hiện đối
tượng quảng cáo chủ yếu là bài toán truy vấn ảnh [4] [40] sử dụng các đặc trưng
SIFT [54]. Cải tiến khả năng mở rộng cách tiếp cận này, một bộ nhóm ba đặc
26
trưng được giới thiệu và sử dụng cho bài toán phát hiện logo [72]. Hoi và cộng
sự [33] giới thiệu LOGO-Net áp dụng một số cách tiếp cận dựa trên học tập sâu
với nền tảng là các mạng R-CNN [26] và Fast R-CNN [25] để phát hiện logo
quảng cáo. Bombonato và các cộng sự [12] áp dụng mô hình SSD [52] cho bài
toán nhận dạng logo của công ty. Mặc dù các cách tiếp cận này đạt được độ
chính xác chấp nhận được trên mức ảnh nhưng tốc độ xử lý là một trở ngại lớn
khi xử lý trên video.
1.2.2. Nhận dạng hình dạng đối tượng
Quá trình nhận dạng hình dạng đối tượng quảng cáo trong video được
thực hiện dựa trên vector đặc trưng đã được trích chọn trong pha dò tìm đối
tượng. Bản chất là quá trình tìm ra một số vector đặc trưng gần nhất với vector
đặc trưng truy vấn trong tập dữ liệu vector đặc trưng khổng lồ. Các vector đặc
trưng này có số chiều lớn (lên đến hàng nghìn chiều), do đó để tiến trình tìm
kiếm có hiệu quả, đáp ứng trong khoảng thời gian mong đợi, tập dữ liệu vector
đặc trưng phải được mã hoá, lập chỉ mục. Nhiều kỹ thuật lập chỉ mục hiệu quả
đã được nhiều tác giả nghiên cứu như: dựa trên hàm băm, dựa trên phân cụm,
dựa trên phân hoạch không gian, và dựa trên lượng tử hóa tích đề các (product
quatization - PQ). Trong số đó phương pháp tìm kiếm dựa trên PQ trên tập dữ
liệu vector số chiều lớn đạt được kết quả tối ưu hơn các kỹ thuật khác nên được
luận án nghiên cứu chi tiết để phát triển cho bài toán nhận dạng hình dạng đối
tượng. Vì vậy trong phần này tổng quan về phương pháp lượng tử hóa tích đề
các được trình bày trước khi các kỹ thuật đối sánh vector đặc trưng được xem
xét tổng quan.
1.2.2.1. Lượng tử hóa vector
Lượng tử hoá vector (Vector Quantization - VQ) được nghiên cứu rất kỹ
trong lý thuyết thông tin. VQ thường được sử dụng để nén dữ liệu nhằm gia
tăng tốc độ truyền dữ liệu cũng như giảm không gian lưu trữ. Mục tiêu là đưa
ra được cách biểu diễn dữ liệu nén nhằm tối thiểu hóa sự mất mát thông tin và
27
độ lỗi chênh lệch giữa vector gốc và vector lượng tử. Đây được xem là bài toán
tối ưu hóa, tối ưu lỗi bình phương trung bình (Mean square error - MSE) giữa
dữ liệu huấn luyện Z và dữ liệu mã hóa, ∑ ‖𝑥 − 𝑄(𝑥, 𝐶)‖∈
Về mặt hình thức, một bộ lượng tử hóa vector là một hàm 𝑄(𝑥, 𝐶) ánh
xạ một vector 𝑥 ∈ 𝑅( ) thành một vector khác thuộc tập vector 𝐶. Trong đó 𝐷
là số chiều của không gian vector đang xét, tập các giá trị 𝐶 được gọi là
codebook. Trong nhiều trường hợp ký hiệu codebook 𝐶 trong bộ lượng tử hóa
là hiển nhiên, mặc định nên có thể bỏ qua, lúc này chúng ta thể viết gọn hàm
lượng tử thành 𝑄(𝑥).
Mỗi vector trong codebook 𝐶 được biểu diễn bởi 𝑐 , trong đó 𝑘 ∈
{1, … , |𝐶|} gọi là “trọng tâm (centroids)”. Các vector 𝑐 được gọi là các
codeword. Lúc này hàm lượng tử cho một codebook 𝐶 được định nghĩa:
Q(x, 𝐶) = 𝑐 ( ) (1.1)
Trong đó 𝑘(𝑥) là chỉ số hay id của codeword được xác định bởi
𝑘(𝑥) = argmin 𝑑(𝑥, 𝑐 ) (1.2)
Với hàm khoảng cách 𝑑(𝑥, 𝑦) thường được sử dụng là khoảng cách
Euclid, tức là 𝑑(𝑥, 𝑦) = ‖𝑥 − 𝑦‖
Tập các vector 𝑉 được ánh xạ tới một chỉ số 𝑘 được gọi là một “ô
Voronoi” (Voronoi cell), được định nghĩa:
𝑉 ≜ {𝑥 ∈ 𝑅( ): 𝑞(𝑥) = 𝑐 } (1.3)
𝑘 "ô" của bộ lượng tử xác định một phân vùng của 𝑅( ). Theo định nghĩa,
tất cả các vector nằm trong cùng một “ô” 𝑉 được đặt trong cùng một trọng tâm
𝑐 . Chất lượng của một bộ lượng tử hóa được đo bằng giá trị MSE giữa vector
đầu vào 𝑥 và giá trị sau khi được lượng tử hóa của nó 𝑄(𝑥). Codebook được
huấn luyện để tối thiểu giá trị MSE trên tập huấn luyện Z,
28
min ∑ ‖𝑥 − 𝑄(𝑥, 𝐶)‖∈ (1.4)
Bộ lượng tử hóa rất phổ biến, hiệu quả và đơn giản nhất dựa trên K-
means, tức là codebook được huấn luyện với giải thuật phân cụm K-means.
Trong giai đoạn huấn luyện, codebook được huấn luyện bằng cách hoán đổi
các điểm dữ liệu như trong biểu thức (1.2) và codebook được cập nhật bằng giá
trị trung bình của các cụm mới, là nghiệm của phương trình (1.4). Trong giai
đoạn mã hóa, các vector cơ sở dữ liệu được mã hóa bởi chỉ số (ID) của
codeword gần nhất theo phương trình (1.2). Lúc này mỗi vector nhiều chiều số
thực trong cơ sở dữ liệu được đại diện bởi một số nguyên là chỉ mục của
codeword. Vì chỉ mục của codeword nằm trong khoảng từ 1 đến 𝐾, trong đó 𝐾
là kích thước của codebook |𝐶| (số lượng codeword), do đó chỉ cần 𝑙𝑜𝑔 (𝐾)
bit để lưu trữ trên mỗi điểm dữ liệu. Điểm dữ liệu được tái tạo bởi codeword
có ID tương ứng.
Để thu được dữ liệu sau khi tái tạo lại tốt hơn hay lỗi tái tạo thấp hơn,
codebook tạo ra cần phải có kích thước đủ lớn. Nhưng khi 𝐾 tăng lên thì dữ
liệu huấn luyện cần phải lớn, khi đó cần nhiều không gian lưu trữ hơn cho dữ
liệu huấn luyện và codeword, đồng thời thời gian huấn luyện codebook cũng
tăng lên. Độ phức tạp về thời gian và lưu trữ cho giai đoạn huấn luyện và mã
hóa tăng tuyến tính với 𝐾 mặc dù yêu cầu về bộ nhớ cho biểu diễn dữ liệu nén
chỉ tăng theo logarit.
Hình 1.8. Mô hình lượng tử hóa tích đề các
29
Có nhiều cách tiếp cận nhằm cải thiện chất lượng mã hóa dữ liệu theo
phương pháp VQ. Cách tiếp cận hiệu quả nhất là sử dụng nhiều codebook cho
nhiều không gian con khác nhau nhằm đạt được độ phức tạp về lưu trữ và thời
gian là tuyến tính trong pha huấn luyện và mã hóa. Phương pháp tiêu biểu sử
dụng ý tưởng này dựa trên lượng tử hoá tích đề các được trình bày trong phần
tiếp theo.
1.2.2.2. Lượng tử hóa tích đề các
Lượng tử hoá tích đề các - PQ [38] là một cách tiếp cận đơn giản, hiệu
quả dựa trên VQ. Không gian dữ liệu đơn giản được chia thành 𝑀 không gian
con trực giao bằng cách phân đoạn từng vector dữ liệu thành 𝑀 vector con (trực
quan như trong hình 1.8). Cụ thể hơn, vector dữ liệu 𝑥 ∈ 𝑅( ) được chia thành
𝑥( ), 𝑖 = {1, . . . , 𝑀} vector con với 𝑥 là một phép nối các vector con này, 𝑥 =
[𝑥( ), . . . , 𝑥( )]. Để đơn giản, 𝐷 được lấy là bội số của 𝑀, khi đó mỗi vector
con 𝑥( ) thuộc không gian 𝑅( ). Một codebook được tạo ra trên mỗi không gian
con của các vector con từ dữ liệu huấn luyện. Gọi 𝐶( ) là codebook của không
gian con thứ 𝑖. Do các không gian con là trực giao, nên các codebook tạo ra
cũng trực giao với nhau.
Một điểm dữ liệu được biểu diễn bằng cách ghép 𝑀 codeword thuộc 𝑀
codebook khác nhau. Như vậy, biểu diễn của một điểm dữ liệu là tích đề các
của các codeword, 𝐶 = 𝐶( ) × . . .× 𝐶( ). Trong đó, Codeword thứ 𝑖,
𝐶( ) được huấn luyện bằng cách sử dụng giải thuật phân cụm K-means trên tập
vector con thứ 𝑖. Cho trước các codebook là trực giao
𝑐 𝑐 = 0, 𝑖 ≠ 𝑗 & 𝑖, 𝑗 ∈ {1, … , 𝑀} (1.5)
Chúng ta có thể viết lại biểu thức tối thiểu hóa MSE trong phương trình
(1.4) như sau:
∑ min ∑ 𝑥( ) − 𝑄 𝑥, 𝐶( )∈ (1.6)
30
Việc tối thiểu hóa cho mỗi codebook là độc lập với các codebook khác
vì chúng trực giao với nhau.
Do sử dụng tích đề các của codebook, PQ đạt được khả năng biểu diễn
cao hơn nhiều trong khi sử dụng rất ít codeword. Ví dụ, xem xét PQ với 𝑀 =
8 codebook và mỗi codebook có 𝐾 = 256 codeword. Khi đó chỉ cần 𝑀 × 𝐾
codeword phải huấn luyện và lưu trữ, do tích đề các của codebook, nên có khả
năng tạo ra 𝐾( ) = 2 codeword. Trong khi đó chỉ cần 𝑀 × 𝑙𝑜𝑔 (𝐾) bit để
mã hóa một vector dữ liệu, trong ví dụ này số bit cần dùng là 64 bit.
Do khả năng truy cập được đến một lượng lớn các biểu diễn dữ liệu, PQ
cung cấp một cách tiếp cận tốt hơn cho bài toán nén dữ liệu với lỗi tái tạo vector
dữ liệu thấp. Chính vì vậy có rất nhiều nghiên cứu tập trung mở rộng ý tưởng
của PQ để gia tăng chất lượng mã hóa dữ liệu nhằm tăng tốc độ tìm kiếm và độ
chính xác. Luận án cũng đi theo hướng tiếp cận này cho bài toán nhận dạng
hình dạng của đối tượng.
1.2.2.3. Độ đo khoảng cách
Cho trước vector đặc trưng 𝑦 ∈ 𝑅( ) và một tập dữ liệu vector đặc trưng
𝑋, bài toán tìm kiếm lân cận gần nhất là tìm ra một vector 𝑥(∗) ∈ 𝑋 thỏa mãn
𝑑 𝑥(∗), 𝑦 = min {𝑑(𝑥, 𝑦) | 𝑥 ∈ 𝑋}, với 𝑑(𝑥, 𝑦) là một độ đo khoảng cách.
Do không gian dữ liệu rất lớn trong đó số chiều của mỗi điểm dữ liệu lớn
nên việc tìm kiếm chính xác một lân cận gần nhất là không khả thi. Vì vậy,
phương pháp tìm kiếm lân cận xấp xỉ gần đúng (ANN) thường sử dụng thay
cho phương pháp tìm kiếm lận cận chính xác. Các phương pháp tìm kiếm ANN
tìm ra các lân cận dựa trên tính toán khoảng cách xấp xỉ giữa hai vector.
VQ được sử dụng rất hiệu quả cho bài toán tìm kiếm ANN. Lần đầu tiên
ANN được đề xuất trong nghiên cứu [38] kết hợp với phương pháp lập chỉ mục
PQ. Sau đó nhiều nghiên cứu được phát triển nhằm cải tiến tốc độ và độ chính
xác [16].
31
Như đã thảo luận về cách sử dụng PQ cho bài toán nén dữ liệu để tạo ra
các biểu diễn xấp xỉ. Để việc tìm kiếm có hiệu quả, cơ sở dữ liệu trước hết cần
được lượng tử hóa, lập chỉ mục. Quá trình lượng tử hóa hay nén dữ liệu này
được thực hiện offline nên tốc độ không phải là vấn đề trọng tâm cần nghiên
cứu. Khi thực hiện tìm kiếm ANN, truy vấn 𝑦 được so sánh với các vector xấp
xỉ của các vector trong cơ sở dữ liệu, như vậy kết quả nhận được là khoảng
cách xấp xỉ giữa chúng. Có hai cách để tính khoảng cách xấp xỉ này dựa trên
việc vector truy vấn được lượng tử hóa hay không.
Tính khoảng cách đối xứng (Symmetric distance computation -
SDC). Với SDC, vector truy vấn cũng được lượng tử và so sánh kết quả lượng
tử này với các biểu diễn lượng tử của các vector trong cơ sở dữ liệu,
𝑑(𝑦, 𝑥) ≈ 𝑑(𝑄(𝑦), 𝑄(𝑥)) (1.7)
Do 𝑄(. ) là một codeword trong một codebook hữu hạn, nên SDC giữa
tất cả các cặp codeword thể được tính trước được chứa chúng trong một bảng
tra cứu (look-up table). Tại thời điểm tra cứu, 𝑦 được lượng tử hóa và giá trị
của 𝑑(𝑄(𝑦), 𝑄(𝑥)) với 𝑥 𝑋 được lấy từ bảng tra cứu, vì vậy SDC được tính
toán rất nhanh. Trong trường hợp có nhiều codebook, mỗi bảng tra cứu tương
ứng với mỗi codebook được tạo ra.
Tính khoảng cách bất đối xứng (Asymmetric distance computation
- ADC). Với ADC, vector truy vấn gốc chưa lượng tử hóa được so sánh với các
vetor trong cơ sở dữ liệu đã được lượng tử hóa.
𝑑(𝑦, 𝑥) ≈ 𝑑(𝑦, 𝑄(𝑥)) (1.8)
Với 𝑑(, ) là khoảng cách Euclidean, khi đó phương trình 1.8 có thể được
viết lại thành,
𝑑(𝑦, 𝑥) ≈ ‖𝑦 − 𝑄(𝑥)‖ (1.9)
Nếu bộ lượng tử hóa có nhiều codebook trực giao giống như trong PQ,
thì phương trình 1.12 có thể được viết lại như sau:
32
𝑑(𝑦, 𝑥) ≈ ∑ 𝑦( ) − 𝑄 𝑥, 𝐶( ) = ∑ 𝑦( ) − 𝑐 ( ) (1.10)
Với mỗi vector 𝑦 chúng ta có thể tính 𝑦( ) − 𝑐 ( ) cho tất cả
codeword với 𝑚 = {1, 2, . . . , 𝑀}, và lưu trữ 𝐾 ∗ 𝑀 giá trị này trong các bảng tra
cứu. Tại thời điểm tìm kiếm, 𝑑(𝑦, 𝑥) được tính bằng tổng của 𝑀 giá trị nhận
được từ bảng tra cứu này.
So sánh giữa ADC và SDC. Trong ADC vector truy vấn không cần phải
lượng tử hóa, nên nó cho khoảng cách xấp xỉ chính xác hơn khi so sánh với
SDC. Trong khi đó, độ phức tạp về thời gian tìm kiếm là giống nhau cho cả hai,
vì đều được tìm thấy trong bảng tra cứu đã được tính toán và lưu trữ trước đó.
Vì vậy ADC thường được sử dụng cho tìm kiếm ANN dựa trên PQ.
Hình 1.9. Mô hình nhận dạng hình dạng đối tượng
1.2.2.4. Nhận dạng hình dạng dựa trên tìm kiếm ANN
Sử dụng kiến trúc mạng DCNN chúng ta đã phát hiện ra được lớp của
đối tượng cần truy vấn mà nó thuộc vào và xác định vị trí chính xác của chúng
trong từng frame của video. Tuy nhiên yếu điểm của mạng này là mới chỉ xác
định được có tồn tại hay không tồn tại lớp đối tượng truy vấn trong các frame
mà chưa thể hiểu được đối tượng tìm thấy. Để nhận dạng và mô tả chính xác
hình thái, tư thế hay hình dạng của đối tượng tìm thấy (trở thành đối tượng truy
vấn) chúng ta cần tiếp tục phân lớp đối tượng này vào các lớp hình thái, tư thế,
hình dạng. Để giải quyết bài toán này, tận dụng các vector đặc trưng trích chọn
Tập ảnh đối tượng
Trích chọn đặc trưng
Mô hình lập chỉ mục
Tập vector đặc trưng
Vector đặc trưng truy vấn
Xử lý offline Xử lý online
ID tìm thấy
33
được trong quá trình dò tìm đối tượng, luận án đề xuất giải pháp dựa trên việc
đối sánh vector đặc trưng (hình 1.9).
Tuy nhiên, khi kích thước tập dữ liệu đối sánh càng nhiều (lên đến hàng
triệu bản ghi) và số chiều lớn (có thể lên đến hàng nghìn chiều) thì thời gian
đối sánh là một vấn đề quan trọng cần phải giải quyết, đặc biệt là đối với ứng
dụng yêu cầu thời gian thực như xử lý video. Để tối ưu hóa thời gian đối sánh
mẫu, các vector đặc trưng thường được lập chỉ mục (feature indexing) nhằm
tăng tốc độ đối sánh trên cơ sở dữ liệu các bản mẫu. Mục tiêu của việc lập chỉ
mục là sắp xếp, tổ chức lại cơ sở dữ liệu các bản mẫu, và xây dựng các thuật
toán đối sánh hiệu quả sao cho quá trình đối sánh chỉ cần thực hiện trên một
phần nhỏ các bản mẫu tiềm năng mà không cần phải duyệt trên toàn bộ cơ sở
dữ liệu.
Xuất phát từ ý tưởng nêu trên, cũng như kết quả nghiên cứu ưu, nhược
điểm của các giải thuật lập chỉ mục, luận án phát triển kỹ thuật đối sánh mẫu
dựa trên phương pháp lập chỉ mục lượng tử tích đề các PQ, một trong những
giải pháp hiệu quả cho việc mã hóa đặc trưng và tìm kiếm ANN. Tìm kiếm
ANN cho hiệu quả cao với cấu trúc file đảo ngược đa chiều (multiple inverted
file structure), một danh sách ngắn dựa trên bảng tra cứu và phương pháp tính
khoảng cách bất đối xứng. PQ đã được chứng minh là có nhiều ưu điểm nhất
so với các phương pháp khác và hoạt động rất hiệu quả cho nhiều cơ sở dữ liệu
đặc trưng.
Sau sự thành công của kỹ thuật PQ, nhiều tác giả đã đề xuất các cải tiến
PQ, điển hình là tối ưu hóa PQ (optimized product quantization - OPQ) [24] và
tối ưu hóa cục bộ PQ (local optimization product quantization - LOPQ) [41]. Ý
tưởng chính của kỹ thuật OPQ là tối ưu hóa quá trình phân hoạch không gian
của PQ sao cho các không gian con có thể mô tả tốt nhất/chính xác nhất các
phân bố thuộc về bản chất bên trong của dữ liệu. Mặc dù OPQ cho kết quả tốt
hơn PQ nhưng nó lại không hiệu quả trong trường hợp dữ liệu hình thành các
34
phân bố đa mô hình (mutli-model distribution). Do vậy, kỹ thuật LOPQ tiếp
tục tối ưu hóa kỹ thuật OPQ bằng cách áp dụng tư tưởng của OPQ cho các phân
bố hay cụm cục bộ của dữ liệu thay vì thực hiện trên toàn bộ dữ liệu. Dù đã
được cải tiến nhiều nhưng tất các các kỹ thuật PQ ở trên đều có chung nhược
điểm đó là chi phí bộ nhớ và thời gian khá cao khi huấn luyện các codebooks.
1.2.3. Các kỹ thuật hoàn thiện video
Như đã được đề cập trong phần giới thiệu bài toán, sau khi phát hiện đối
tượng trong video, hiểu được nội dung video thông qua quá trình phân tích thì
video có thể được hiệu chỉnh tùy theo mục đích sử dụng như thay thế, loại bỏ
đối tượng tìm thấy khỏi video, chèn đối tượng mới vào video, thêm hiệu ứng,
nâng cao chất lượng ...
a) video gốc b) video hoàn thiện
Hình 1.10. Ví dụ hoàn thiện ảnh với kỹ thuật video inpainting [92]
Tiến trình hiệu chỉnh video sẽ làm xuất hiện các vùng trống hay bị phá
hủy cần được hoàn thiện trong quá trình hậu xử lý. Tiến trình khôi phục, tái tạo,
35
hoàn thiện các vùng này được thực hiện bằng kỹ thuật video inpainting. Hình
1.10 minh hoạ một ứng dụng của kỹ thuật video inpainting. Trong ứng dụng
này đối tượng được định vị trong hình vuông màu đỏ (ảnh 1.10.a) bị loại bỏ.
Các điểm ảnh bị mất mát thông tin trong video được hoàn thiện bởi dữ liệu lân
cận theo một cách nào đó nhằm tạo ra ảnh mới tương đồng với ảnh gốc nhất
theo cách hợp lý, có thể chấp nhận được so theo cảm nhận của thị giác.
Để đạt được mục tiêu khôi phục ảnh bị phá hủy thành ảnh nguyên bản, các
khoảng trống hay phần bị phá hủy phải được lấp đầy bằng các điểm ảnh tương
tự. Dựa trên nguyên lý lấp đầy các vùng ảnh bị phá hủy theo cấu trúc và kết cấu
của vùng ảnh lân cận, các kỹ thuật inpainting đã được nghiên cứu và phát triển
theo hai cách tiếp cận dựa trên lấy mẫu (Patch-based inpainting) [21] [7] [6]
[47] [8] [64], hoặc dựa trên mạng CNN (CNN-based inpainting) [87] [64] [90]
[36] [73] [18] [81] [29].
1.2.3.1. Video inpainting dựa trên lấy mẫu
Lấp đầy các vùng trống được tạo ra do bị phá hủy sử dụng tổng hợp kết
cấu dựa trên lấy mẫu là kỹ thuật truyền thống được sử dụng nhiều nhất cho bài
toán inpainting ảnh. Kỹ thuật này được giới thiệu lần đầu trong nghiên cứu [21],
trong đó các phần ảnh bị mất được khôi phục theo cách gia tăng vùng hoàn
thiện từ mép ngoài vào trong tâm vùng bằng cách tìm kiếm các bản mẫu thích
hợp và ghép chúng với nhau theo một thứ tự ưu tiên nhất định.
Để tìm kiếm nhanh các mảnh ghép phù hợp, Barnes và các cộng sự đã đề
xuất một thuật toán PatchMatch [7] nhằm khai thác sự kết dính trong ảnh, và
được tổng quát hóa [6] để tìm ra K mẫu lân cận gần nhất. Dựa trên các nghiên
cứu này, có nhiều khuynh hướng khác nhau để cải thiện việc tìm kiếm và tối
ưu hóa thứ tự ghép mẫu [47] [8]. Phương pháp này cũng được điều chỉnh phù
hợp với bài toán video inpainting bằng cách thay thế quá trình tổng hợp mẫu
2D bằng quá trình tổng hợp mẫu không gian-thời gian 3D qua các frame. Sự
mở rộng này lần đầu tiên được đề xuất trong [86] nhằm duy trì tính nhất quán
36
về thời gian của video tái tạo. Sau đó chúng được cải thiện trong nghiên cứu
[81] để xử lý video đầu vào phức tạp hơn. Điểm nổi bật của phương pháp này
là có thể áp dụng hiệu quả cho các vùng trống kích thước lớn, nhưng chỉ cho
các vùng có cấu trúc và kết cấu đơn giản và phải tìm được đầy đủ các mẫu để
lấp đầy vùng trống. Đặc biệt, hiệu quả cao với video có thường nội dung lặp đi
lặp lại qua các frame. Phần lớn các giải thuật dựa trên lấy mẫu đều vận dụng
chiến lược tham lam xử lý vấn đề ưu tiên vị trí cần hoàn thiện trước. Vì vậy các
giải thuật này chịu sự tác động của chiến lược tham lam, chiến lược tốt cho kết
quả tốt và ngược lại. Chúng không thể giải quyết trường hợp các phần bị mất
mát không thể được thay thế bằng nội dung tương tự từ dữ liệu đầu vào tức là
thiếu mẫu ghép. Nhằm khắc phục nhược điểm này, để khôi phục một tập dữ
liệu video lớn, phương pháp tối ưu là huấn luyện một mạng CNN để dự đoán
các thông tin bị mất dựa trên sự thấu hiểu ngữ cảnh mức cao.
1.2.3.2. Inpainting ảnh sử dụng DCNN cho không gian 2D
Thời gian gần đây, với sự phát triển mạnh của DCNN cũng như rất nhiều
thành tựu mà DCNN mang lại trong lĩnh vực thị giác máy tính, nhiều nghiên
cứu đã áp dụng mạng này cho bài toán inpainting ảnh và đạt được nhiều thành
công vượt bậc so với cách tiếp cận truyền thống. DCNN lần đầu được giới thiệu
trong nghiên cứu [87] cho bài toán inpainting ảnh nhưng với các vùng trống có
kích thước nhỏ. Sau đó Pathak và các cộng sự trong nghiên cứu [64] đã đề xuất
phương pháp giải quyết bài toán hoàn thiện các vùng trống kích thước lớn sử
dụng một kiến trúc mạng encoder-decoder có thể học các đặc trưng ngữ cảnh
của ảnh rất hiệu quả. Đối với bài toán inpainting ảnh độ phân giải cao, Yang và
các cộng sự [90] kết hợp giữa inpainting dựa trên lấy mẫu và inpainting dựa
trên DCNN, kết quả từ bộ mã hóa nội dung được lấy làm đầu vào cho tiến trình
thẩm thấu thông tin kết cấu từ các vùng nguồn sang làm đầy các vùng đích.
Mặc dù các thành phần lạ không thường xuyên xuất hiện nhưng vẫn còn tồn tại
một số vùng có vết mờ. Thuật toán được đề xuất trong [36] tiếp tục cải thiện
37
hiệu năng bằng cách kết hợp hai hàm mất mát thông tin đối kháng để ước lượng
tính nhất quán toàn cục và cục bộ thu được. Khác với các nghiên cứu trước đây
chỉ tập trung vào lấp đầy các vùng trống dạng hộp, nghiên cứu này còn phát
triển một chiến lược để xử lý các vùng trống với hình dạng tùy ý. Mở rộng các
phương pháp này cho video là một tác vụ đầy khó khăn, thử thách, bởi hoàn
thiện video không chỉ cần hiểu ngữ cảnh của cả các frame và các chuyển động,
mà còn đòi hỏi phải đảm bảo sự mượt mà theo thời gian của video đầu ra.
1.2.3.3. Video inpainting sử dụng DCNN cho không gian 3D
Một loạt các nghiên cứu khác liên quan đến vấn đề video inpainting là sử
dụng DCNN với bộ lọc 3D để hoàn thiện các hình dạng 3D. Tương tự như các
phương pháp image inpainting dựa trên học sâu, hầu hết các phương pháp như
[73] [18] sử dụng kiến trúc encoder-decoder nhưng với bộ lọc 3D để giải quyết
vấn đề này. Tuy nhiên, tất cả các kỹ thuật này chỉ có thể xử lý các lưới ma trận
ảnh có độ phân giải thấp (thường là 303 voxels – điểm ảnh ba chiều) do chi phí
tính toán cao của các phép tích chập 3D. Để giảm chi phí tính toán, nhiều cách
tiếp cận mới gần đây nhất được đề xuất. Sử dụng một bộ dữ liệu, Dai và các
cộng [18] đã sử dụng truy xuất mẫu và ráp các bản mẫu như một quá trình hậu
xử lý để tinh chỉnh đầu ra có độ phân giải thấp của kiến trúc encoder-decoder.
Đối với quá trình hậu tinh chỉnh như vậy, nghiên cứu [83] đã đề xuất một chiến
lược chia đầu ra độ phân giải thấp thành một chuỗi ảnh và thực hiện siêu phân
giải và hoàn thiện từng ảnh với mạng nơron hồi quy. Han và cộng sự [29] đã
thiết kế một mạng lai để kết hợp dự đoán cấu trúc toàn cục và trích xuất không
gian cục bộ.
38
Kết luận chương 1
Trong chương này tổng quan về mô hình phát hiện và thay thế đối tượng
đã được đề xuất gồm 4 pha và được luận án tập trung nghiên cứu các kỹ thuật
phù hợp cho từng pha. Các kỹ thuật sử dụng trong tiến trình phát hiện đối tượng
như: mô hình dò tìm đối tượng trong video, các kỹ thuật nhận dạng hình thể
của đối tượng trong video được trình bày. Các kỹ thuật trong tiến trình thay thế
đối tượng gồm: phân vùng, trích chọn vùng hiển thị của đối tượng, mô hình
hoàn thiện vùng bị phá hủy trong video tạo ra khi xóa bỏ, thay thế đối tượng đã
được nghiên cứu, trình bày tổng quan. Thông qua tìm hiểu và đánh giá ở mức
tổng quan này, ưu điểm, hạn chế của các nghiên cứu liên quan đến các kỹ thuật
dò tìm đối tượng, nhận dạng hình dạng của đối tượng và hoàn thiện video đã
được nhận diện và từ đó đưa ra hướng nghiên cứu phù hợp nhất cho bài toán
phát hiện và thay thế đối tượng tự động trong video. Cụ thể, luận án nghiên cứu
cải tiến mô hình dò tìm đối tượng dựa trên DCNN, kỹ thuật nhận dạng hình
dáng đối tượng bằng phương pháp tìm kiếm ANN trên tập dữ liệu vector đặc
trưng đã được lập chỉ cho bài toán phát hiện đối tượng. Nghiên cứu cải tiến
mạng DCNN sử dụng trong pha thay thế đối tượng và hoàn thiện video.
39
CHƯƠNG 2. PHÁT HIỆN ĐỐI TƯỢNG TRONG VIDEO
Phát hiện đối tượng bao gồm hai tiến trình dò tìm và nhận dạng hình
dạng đối tượng là nhiệm vụ cốt lõi trong các hệ thống thị giác máy tính nói
chung và trong hệ thống thay thế đối tượng nói riêng. Mục đích của chương
này là trình bày các mô hình cải tiến dùng để dò tìm và nhận dạng hình dạng
đối tượng theo thời gian thực với độ chính xác cao. Tốc độ phát hiện (>30 frame
mỗi giây) là yếu tố then chốt trong việc lựa chọn mô hình để cải tiến. Vì vậy,
luận án tập trung nghiên cứu cải tiến mô hình YOLOv3 phù hợp với các ràng
buộc đã được đưa ra trong phần mở đầu cho bài toán dò tìm và trích chọn đặc
trưng đối tượng quảng cáo nhằm gia tăng độ chính xác trong khi vẫn duy trì tốc
độ theo thời gian thực. Sau đó kỹ thuật PSVQ được phát triển dựa trên cách
tiếp cận PQ kết hợp với cây phân cụm thứ bậc để tìm ra đối tượng trong tập đối
tượng có sẵn có hình dạng tương đồng nhất với đối tượng đã được tìm thấy
trong video theo các đặc trưng đã trích chọn. Cụ thể, mô hình dò tìm đối tượng
cải tiến được trình bày chi tiết trong phần 2.1 cùng với các thực nghiệm dùng
để đánh giá, ước lượng mức độ hiệu quả cua mô hình cải tiến và so sánh với
các mô hình khác trên tập dữ liệu mới Flickrlogo-47. Tiếp theo phần 2.2 trình
bày chi tiết kỹ thuật PSVQ và phương pháp tìm kiếm ANN dựa trên cây phân
cụm thứ bậc sự kết hợp với PSVQ cho bài toán tìm kiếm, nhận dạng hình dạng
của đối tượng. Cuối cùng là các kết quả thực nghiệm chứng minh mức độ hiệu
quả của các giải thuật cải tiến.
2.1. Dò tìm đối tượng trong video
Các mô hình dò tìm đối tượng hai trạng thái và một trạng thái đều có ưu
điểm và nhược điểm riêng của nó. Với mô hình hai trạng thái cho độ chính xác
cao tuy nhiên tốc độ thực thi lại rất chậm. Trong khi đó mô hình một trạng thái
đặc biệt là họ mô hình dò tìm đối tượng YOLO cho độ chính xác thấp hơn
nhưng lại đạt tốc độ xử lý rất nhanh phù hợp cho các ứng dụng xử lý video. Vì
vậy, luận án tập trung nghiên cứu cải tiến mô hình YOLO phiên bản mới nhất
40
YOLOv3 nhằm cân bằng giữa hiệu suất thực thi và độ chính xác phù hợp với
đối tượng quảng cáo. Tốc độ của mô hình cải tiến được duy trì theo thời gian
thực (>30 frame trong một giây), độ chính xác cũng cải thiện, mAP đạt ở mức
cao (>80%) khi áp dụng cho bài toán phát hiện đối tượng quảng cáo. Trong nội
dung phần này, mô hình dò tìm đối tượng YOLO cùng các phiên bản của nó
YOLOv2, YOLOv3 được trình bày khái quát trong phần 2.1.1. Chi tiết các cải
tiến phù hợp với bài toán nhận dạng đối tượng quảng cáo được trình bày trong
phần 2.1.2. Cuối cùng, các kết quả thực nghiệm trên tập flickrlogos-47 được
trình bày trong phần 2.1.3.
2.1.1. Khái quát về mô hình dò tìm đối tượng YOLO
Năm 2016, Redmon và các cộng sự đã đề xuất mô hình dò tìm đối tượng
đầu-cuối YOLO [68]. Đây là mô hình dò tìm đối tượng một trạng thái, thống
nhất toàn bộ các thành phần riêng biệt trong quá trình dò tìm đối tượng vào một
mạng nơron duy nhất. YOLO sử dụng đặc trưng từ toàn bộ bức ảnh để dự đoán
bounding box cho tất cả các lớp đối tượng.
Hình 2.1. Ý tưởng chính của mô hình YOLO
Ý tưởng chính của mô hình YOLO được biễu diễn trong hình 2.1. Ảnh
đầu vào sẽ được chia thành một lưới gồm 𝑆𝑥𝑆 ô vuông (grid cell), dự đoán B
bounding box và C xác suất phân lớp cho mỗi grid cell. Mỗi bounding box
trong cell thứ i chứa 5 thành phần dự đoán: 𝑥, 𝑦, 𝑤, ℎ và chỉ số đối tượng
(Confidence score). Trong đó, các giá trị 𝑤 và ℎ biểu diễn kích thước chiều
ngang và chiều dọc tương đối của bounding box so với kích thước toàn bộ bức
ảnh. Các giá trị (𝑥, 𝑦) biểu diễn tọa độ tương đối của tâm đối tượng so với viền
41
grid cell. Confidence score phản ánh độ tin cậy tồn tại đối tượng chứa bên trong
bounding box, và được định nghĩa theo công thức sau:
Confidence score = Pr(𝑜𝑏𝑗) ∗ 𝐼𝑜𝑈 (2.1)
Hình 2.2. Cách tính IoU
Trong phương trình (2.1), Pr(𝑜𝑏𝑗) có giá trị trong khoảng [0,1] là xác
xuất đối tượng rơi vào trong ô hiện tại. 𝐼𝑜𝑈 (Intersection Over Union -
IoU) là tỉ lệ trùng khớp của bounding box dự đoán so với hộp bao thực tế
(ground-truth box) (được minh họa trong hình 2.2). Tỷ lệ IoU càng cao thì độ
so khớp càng tốt.
Kết quả dự đoán đưa ra rất nhiều bounding box, các bounding box với
chỉ số đối tượng bé hơn một ngưỡng xác định trước sẽ bị loại bỏ. Sau đó, thuật
toán loại bỏ điểm không cực đại (Non-Maxima Suppression - NMS) [61] được
sử dụng để loại bỏ các bounding box không cần thiết.
Để cải tiến độ chính xác dự đoán của mô hình YOLO, Redmon và các
cộng sự đã đề xuất một phiên bản YOLOv2 vào năm 2017 [69]. Kiến trúc mạng
Darknet-19 cải tiến bằng cách loại bỏ các tầng kết nối đầy đủ của mạng
Darknet-19 nguyên bản để thay thế cho kiến trúc mạng VGG-16 trong phiên
bản YOLO. Đồng thời chuẩn hóa cụm (batch normalization-BN) [37] được áp
dụng cho từng tầng. Bên cạnh đó, sử dụng ý tưởng cơ chế hộp neo (anchor box)
của mạng dò tìm đối tượng CNN nhanh dựa trên đề xuất vùng (Faster R-CNN),
giải thuật phân cụm k-means được sử dụng để xác định các hộp neo này. So
với YOLO, YOLOv2 có sự cải thiện lớn cả về độ chính xác và tốc độ dò tìm
đối tượng.
42
YOLOv3 [70] tiếp tục được phát triển với một số cải tiến từ YOLOv2
nhằm gia tăng độ chính xác trong dò tìm đối tượng đặc biệt với các đối tượng
nhỏ. Cải tiến cốt lõi là sử dụng kiến trúc mạng dạng hình tháp đặc trưng, biến
thể của kiến trúc Darknet-53, gồm 106 tầng nhân chập đầy đủ để nhận dạng đối
tượng ở ba mức tỷ lệ khác nhau. Trong đó tầng 13x13 chịu trách nhiệm dò tìm
đối tượng lớn, trong khi tầng 52x52 dò tìm đối tượng nhỏ và 26x26 dò tìm các
đối tượng vừa. Ngoài ra còn một số cải tiến nhỏ khác như: sử dụng bộ phân lớp
logistic thay cho softmax tạo ra phân lớp đa tỷ lệ, sử dụng 9 anchor box với 3
anchor box cho mỗi tỷ lệ. Do sử dụng kiến trúc mạng lớn, phân lớp 3 tầng nên
độ chính xác trong dò tìm các đối tượng nhỏ được cải thiện nhưng tốc độ thực
thi lại giảm đi đáng kể.
Bên cạnh đó, họ YOLO là mô hình dò tìm đối tượng tổng quát, ứng dụng
thích hợp cho các trường hợp mà các đối tượng dò tìm có sự đa dạng, phức tạp
về hình thể và sự khác biệt giữa các lớp đối tượng là tương đối lớn như lớp
người, con vật, đồ vật. Tuy nhiên, với các đối tượng quảng cáo không quá phức
tạp về cấu trúc. Hơn nữa, sự khác biệt giữa các lớp đối tượng quảng cáo không
quá lớn. Do đó, để dò tìm đối tượng quảng cáo tốt hơn, luận án đã cải tiến mô
hình YOLOv3 thành mô hình YOLO-Adv, dò tìm đối tượng quảng cáo qua các
frame của video đạt được hiệu năng tốt trên cả tập dữ liệu kiểm thử và một số
tập dữ liệu tương tự khác.
2.1.2. Mô hình dò tìm đối tượng cải tiến YOLO-Adv
2.1.2.1. Cải tiến trong hàm loss
Với bài toán dò tìm đối tượng quảng cáo đính kèm với nội dung trong
video, hình ảnh quảng cáo xuất hiện thường xuyên có sự thay đổi về kích thước
do sự phóng to thu nhỏ theo sự tập trung vào đối tượng cần theo dõi hay sự di
chuyển camera lại gần hoặc ra xa đối tượng này mặc dù các đối tượng là cố
định. Kích thước đối tượng có tác động không nhỏ khi huấn luyện mô hình dò
tìm đối tượng CNN. Đối tượng có kích thước càng lớn thì độ lỗi càng lớn so
43
với các đối tượng nhỏ làm cho mức độ hội tụ của mô hình sẽ chậm hơn. Để
giảm sự ảnh hưởng về kích thước đối tượng lên mô hình, hàm lỗi theo kích
thước của bounding box được cải tiến bằng cách so sánh độ đo tương đối giữa
các cạnh của bounding box thay vì độ đo tuyệt đối giữa chúng như trong hàm
loss gốc.
Hàm loss nguyên bản trong họ YOLO được tổng hợp từ: độ lỗi dự đoán
vị trí (localization loss) gồm: tọa độ, chiều dọc, chiều ngang của bounding box,
độ lỗi xác định ô đang xét có chứa đối tượng hay không (confidence loss), và
độ lỗi trong việc dự đoán loại nhãn của đối tượng (classiffication loss) và được
xác định theo công thức sau:
𝐿𝑜𝑠𝑠 = 𝜆 𝟏 [(𝑥 − 𝑥 ) + (𝑦 − 𝑦 ) ]
+ 𝜆 ∑ ∑ 𝟏 [ 𝑤 − 𝑤 + ℎ − ℎ ]
+ ∑ ∑ 𝟏 𝐶 − 𝐶
+ 𝜆 ∑ ∑ 𝟏 𝐶 − 𝐶
+ ∑ 𝟏 ∑ (𝑝 (𝑐) − 𝑝 (𝑐))∈
Độ đo tuyệt đối trong thành phần lỗi dự đoán về vị trí, kích thước của
bounding box thường bị ảnh hưởng nhiều khi kích thước, độ nghiêng của đối
tượng thay đổi. Điều này làm cho tốc độ hội tụ trong pha huấn luyện của mạng
chậm và độ chính xác trong dò tìm đối tượng giảm. Vì vậy, luận án đã sử dụng
khoảng cách tuyệt đối để thay thế. Khi đó, hàm loss cải tiến trong YOLO-Adv
được xác định theo công thức sau:
(2.4)
44
𝐿𝑜𝑠𝑠 = 𝜆 ∑ ∑ 𝟏 [(𝑥 − 𝑥 ) + (𝑦 − 𝑦 ) ]
+𝜆 ∑ ∑ 𝟏 ( ) + ( )
+ ∑ ∑ 𝟏𝒊𝒋𝒐𝒃𝒋
𝑪𝒊 − 𝑪𝒊
𝟐𝑩𝒋 𝟎
𝑺𝟐
𝒊 𝟎
+𝜆 ∑ ∑ 𝟏 𝐶 − 𝐶
+ ∑ 𝟏 ∑ (𝑝 (𝑐) − �̂� (𝑐))∈
Trong đó:
𝟏 : bằng 1 nếu cell đang xét có đối tượng ngược lại bằng 0
𝑝 : là xác xuất có điều kiện của lớp 𝐶 tại ô tương ứng mà mô hình dự
đoán.
𝑥 , 𝑦 , 𝑤 , ℎ là các tham số đầu ra của mạng nơron.
𝑥 , 𝑦 , 𝑤 , ℎ là các tham số của ground-truth box.
𝜆 : thông số cân bằng để cân bằng tổn thất tọa độ (x, y, w, h) với các
tổn thất khác. Do localization loss là độ lỗi quan trọng nhất trong 3 loại độ lỗi
nên trọng số của độ lỗi này thường được đặt cao hơn (mặc định là 5).
𝐶 là confidence score của hộp j trong cell i.
𝟏 = 1 nếu bounding box thứ j của cell i không chứa đối tượng và là
phần bù của 𝟏 .
𝜆 : Hệ số cân bằng để cân bằng giữa bouding box có và không
có đối tượng thường được đặt mặc định là 0,5.
Cách tính độ lỗi kích thước bounding box trong hàm loss theo công thức
2.5 đã được cải tiến so với trong YOLO theo công thức 2.4 với độ đo , và
được sử dụng thay thế cho 𝑤 − 𝑤 và ℎ − ℎ . Tác dụng của cải
(2.5)
45
tiến này được dự đoán làm này gia tăng độ chính xác trong dò tìm các bounding
box, làm giảm sự ảnh hưởng khi kích thước, độ nghiêng của đối tượng trong
các frame bị thay đổi, đồng thời gia tăng tốc độ hội tụ trong pha huấn luyện.
Kết quả lý thuyết được chứng minh thông qua các mệnh đề 1,2.
Mệnh đề 1: Tại các vòng huấn luyện, ∀𝑖, 12 ≤ 𝑤 ≤ 2 ∗ 𝑤 , 12 ≤ ℎ ≤ 2 ∗ ℎ
thì hàm mục liêu Lossnew <= Lossbase
Chứng minh:
Ta có: 𝐿𝑜𝑠𝑠 − 𝐿𝑜𝑠𝑠
= 𝜆 ∑ ∑ 𝟏 𝑤 − 𝑤 − + ℎ − ℎ −
= 𝜆 ∑ ∑ 𝟏 (𝑤 − 𝑤 ) − + ℎ − ℎ −
Nhận xét: Nếu 𝑎 ≥ 12, 𝑏 ≥ , thì √ √
− ≥ 0
Thật vậy:
Do ∀𝑎, 𝑏 > 0, √𝑎 + √𝑏 ≤ 2(𝑎 + 𝑏)
Nên √ √
− ≥ ( )
− =( )
Do 𝑏 ≥ ≥ 1 + √1 + 2𝑎(𝑎 ≥ 12), nên 𝑏 − 2𝑏 − 2𝑎 ≥ 0
Vậy √ √
− ≥ 0
Qua nhận xét ta thấy base newLoss Loss khi 12 ≤ 𝑤 ≤ 2 ∗ 𝑤 , 12 ≤ ℎ ≤ 2 ∗ ℎ
Điều này chứng tỏ Lossnew giảm nhanh hơn Lossbase trong quá trình huấn
luyện mô hình khi kích thước tham số của vùng bao đối tượng không quá nhỏ
(trên 12 pixel mỗi chiều) và không vượt quá một nửa kích thước ground truth
của đối tượng.
46
Mệnh đề 2: Nếu đối tượng bị nghiêng một góc α tức là 𝑤 = 𝑤 cos(𝛼) , ℎ =
ℎ sin(𝛼) thì:
𝐿𝑜𝑠𝑠 − 𝐿𝑜𝑠𝑠 ≥ 𝜆 𝟏 −1 + min 𝑤 , ℎ ∗ 1 −1
√2
Chứng minh:
Ta có: 𝐿𝑜𝑠𝑠 − 𝐿𝑜𝑠𝑠 = 𝜆 ∑ ∑ 𝟏 [𝑤 1 − cos(𝛼) −
(1 − cos(𝛼)) + ℎ 1 − sin(𝛼) − (1 − sin(𝛼)) ]
Do 1 = 𝑐𝑜𝑠 (𝛼) + 𝑠𝑖𝑛 (𝛼) ≤ cos(𝛼) + sin(𝛼) => −(1 − cos(𝛼)) − (1 −
sin(𝛼)) = −3 + 2(cos(𝛼) + sin(𝛼)) ≥ −1
Nên 𝐿𝑜𝑠𝑠 − 𝐿𝑜𝑠𝑠 ≥ 𝜆 ∑ ∑ 𝟏 𝑤 1 − cos(𝛼) − (1 −
cos(𝛼)) + ℎ 1 − sin(𝛼) − 1 ≥ 𝜆 ∑ ∑ 𝟏 −1 + min 𝑤 , ℎ ∗
1 −√
Từ mệnh đề 2 cho thấy khi đối tượng bị nghiêng, hàm loss mới cho độ sai
số nhỏ hơn nhiều so với hàm loss gốc.
2.1.2.2. Cải tiến trong kiến trúc mạng
Với bài toán dò tìm đối tượng quảng cáo thì sự khác biệt giữa các đối
tượng thông thường liên quan đến các biểu tượng, màu sắc, hình dạng của các
hình thể có trong thể loại đối tượng đó. Trong khi với mạng DCNN, các đặc
trưng cục bộ này lại xuất hiện trong các tầng thấp. Vì vậy, để tận dụng các đặc
trưng cục bộ này, một chiến lược hợp nhất đặc trưng đa tầng được sử dụng bên
trong kiến trúc mạng Darknet-53 (hình 2.3). Kiến trúc nguyên bản của mạng
Darknet-53 được minh hoạ chi tiết trong phụ lục B. Với chiến lược này, kết quả
bản đồ đặc trưng qua khối Residual 8x256 tiếp tục tích chập với mặt nạ 3x3x256
và 1x1x64, sau đó toán tử ReShape/2 được sử dụng để tái cấu trúc lại bản đồ
47
đặc trưng với mục đích làm làm cho bản đồ đặc trưng của tầng này giống với
cấu trúc bản đồ đặc trưng các tầng sau (khối 2,3 trong hình 2.3). Cuối cùng, các
đặc trưng cục bộ (khối 1,2,3 trong hình 2.3) được hợp nhất nhằm làm giàu các
đặc trưng cục bộ, giúp mô hình phân biệt nhiều chi tiết khác nhau giữa các đối
tượng.
Hình 2.3. Kiến trúc chi tiết mạng YOLO-Adv
Conv: Tầng nhân chập
Concatenate: Nối các đầu vào
Size: Kích thước đầu ra của một tầng/khối tầng
ReShape: Cấu trúc lại ma trận
Residual Block: Các tầng nhân chập lặp với kiến trúc ResNet
Residual Block 1x64 (size: 208x208x64)
Conv. 3x3x128 Maxpooling 2
(size: 104x104x128)
Inputs (size: 416x416x3)
Cov. 3x3x32 Conv. 3x3x64
(size: 416x416x3)
Residual Block 2x128 (size: 104x104x128)
Conv. 3x3x256 Maxpooling 2
(size: 52x52x256)
Residual Block 8x256 (size: 52x52x256)
Conv. 3x3x512 Maxpooling 2
(size: 26x26x512)
Residual Block 8x512 (size: 26x26x512) Conv. 3x3x1024
Maxpooling 2 (size: 13x13x1024)
Residual Block 4x1024 (size: 13x13x1024)
Conv. block 3x(1x1x512+3x3x1024)
(size: 13x13x1024)
Cov. 1x1x256 UpSample
(size: 26x26x256)
Concatenate (size: 26x26x1024)
Cov. 3x3x256 Cov. 1x1x64
(size: 52x52x64) ReShape/2
(size: 26x26x256)
Cov. Block 3x(1x1x256+3x3x512)
(size: 26x26x512)
Cov. 1x1x255 (size: 26x26x255)
Phân lớp
Darknet-53
(1)
(2)
(3) Vector đặc trưng
4096 chiều
48
Bên cạnh đó một số tầng tích chập lặp trong các tầng cao cũng bị loại bỏ
nhằm giảm tải chi phí tính toán, tăng hiệu năng của mạng. Kiến trúc mạng trong
YOLOv3 được thiết kế để dò tìm các đối tượng tổng quát. Nghĩa là, số lượng
các lớp được phát hiện bởi các mạng này thường rất nhiều và sự khác biệt về
hình thể giữa các lớp có thể là lớn như giữa con người và đồ vật. Vì vậy trong
kiến trúc mạng của chúng tồn tại 3 tầng lặp liên tiếp nhau ở các tầng cao. Thông
thường, các phép tích chập lặp ở các tầng cao dùng để giải quyết bài toán số
lớp nhiều và sự khác biệt là lớn ví dụ phân biệt một người với một quả cam.
Tuy nhiên, với bài toán nhận dạng đối tượng quảng cáo thì các lớp đối tượng
cần nhận dạng là không nhiều trong khi sự khác biệt đặc trưng giữa các lớp đối
tượng là không quá lớn thì một số tầng nhân nhập lặp ở các tầng cao này thường
không giúp cải thiện hiệu năng thực thi mà chỉ làm cho mô hình thêm phức tạp.
Vì vậy các tầng tích chập lặp ở tầng cao bị loại bỏ trong mô hình YOLO-Adv
(các tầng cao nhất được đánh dấu bằng hình chữ nhất nét đứt trong hình 2.3).
Bằng cách áp dụng chiến lược hợp nhất đặc trưng đa tầng và loại bỏ một
số tầng tích chập lặp trong tầng cao của mô hình Darknet-53, mô hình dò tìm
đối tượng mới YOLO-Adv được tạo ra (hình 2.3). Chi tiết về quá trình trích
chọn đặc trưng và huấn luyện và dò tìm đối tượng với YOLO-Adv cùng các
ước lượng, đánh giá và so sánh với các mô hình khác được trình bày trong phần
tiếp theo.
Hình 2.4. Mô hình trích chọn đặc trưng
49
2.1.2.3. Trích chọn đặc trưng
Các tầng nhân chập chi tiết của mô hình cải tiến YOLO-Adv dùng để sản
sinh các bản đồ đặc trưng được mô tả chi tiết trong hình 2.3. Quá trình này cũng
được mô tả trực quan trong hình 2.4. Ảnh đầu vào được chuẩn hóa về kích
thước 416x416 với ba kênh màu RGB. Sau khi chuyển qua các tầng nhân chập
trong mạng YOLO-Adv kết quả thu được là tập các bản đồ đặc trưng gồm 255
chiều với kích thước 26x26 mỗi chiều ở tầng cuối cùng. Tập bản đồ đặc trưng
này sau đó được làm phẳng và qua hai tầng kết nối đầy đủ với 4096 nơron mỗi
tầng cho ra một vector đặc trưng gồm 4096 chiều (hình 2.4).
2.1.3. Ước lượng, đánh giá mô hình cải tiến
2.1.3.1. Dữ liệu kiểm thử
Hiện tại, không có nhiều tập dữ liệu phổ biến trong cộng đồng thị giác
máy tính dùng để huấn luyện và kiểm thử cho bài toán dò tìm đối tượng quảng
cáo. Một trong số đó là tập dữ liệu METU [78] với số lượng mẫu rất lớn gồm
923.343 thể hiện của 687,842 trademark khác nhau. Tuy nhiên tập dữ liệu này
chủ yếu được xây dựng cho bài toán truy vấn trademark trong ảnh và không
mở rộng cho bài toán dò tìm, phát hiện trademark. Nó chỉ cung cấp các chú
thích mức ảnh và không chứa các ảnh trong thế giới thực. Mỗi ảnh thường gồm
một hình logo trên nền màu trắng đồng nhất. Một tập dữ liệu lớn khác hướng
tới các đối tượng hình ảnh quảng bá thương hiệu là Logos in the Wild [79]. Tập
dữ liệu này bao gồm 32.850 thể hiện logo đã được đánh dấu của 871 nhãn hiệu
khác nhau. Với chất lượng của các thể hiện logo và chú thích cho tập dữ liệu
này tương đối tốt nhưng lại tồn tại một số trở ngại lớn ảnh hưởng đến việc áp
dụng là thiếu một script ước lượng chuẩn, các ảnh không sẵn có để tải về và
cũng chỉ tập trung cho bài toán truy vấn logo. Ngoài ra còn có một số tập dữ
liệu về logo nhưng không được sử dụng nhiều ngay cả cho bài toán truy vấn
đối tượng quảng cáo như BelgaLogos [40] và LOGONet [33] do hạn chế về số
lượng cũng như mức chú thích về đối tượng. Vì vậy các bộ dữ liệu này không
50
được sử dụng trong luận án. Để huấn luyện và kiểm thử mô hình dò tìm đối
tượng quảng cáo trong video, luận án sử dụng bộ dữ liệu Flickrlogos-47 mới
được phát triển gần đây có các chú thích ở mức đối tượng rất chi tiết, đầy đủ
phù hợp cho bài toán dò tìm đối tượng quảng cáo. Chi tiết về bộ dữ liệu
Flickrlogos-47 được trình bày trong phụ lục A.
2.1.3.2. Độ đo ước lượng
Độ đo Precision và Recall [43] là các độ đo thông dụng thường được sử
dụng để ước lượng mô hình dò tìm đối tượng đơn lớp, tức là phát hiện ra nhãn
một lớp của đối tượng so với nền và được tổng quát hóa cho các bài toán dò
tìm đa lớp – phát hiện một số lớp đối tượng trong ảnh.
Mô hình dò tìm đối tượng đưa ra một danh sách các kết quả phát hiện
được. Mỗi phát hiện được phân loại vào một trong hai nhóm: true positives
(TP) và false positives (FP).
TP là dự đoán sự xuất hiện của một đối tượng tại đúng vị trí với độ tin
cậy cao hơn ngưỡng 𝜃. Trong khi đó với dự đoán cho kết quả FP có thể xảy ra
trong hai tình huống: (1) Một phát hiện với độ tin cậy cao hơn ngưỡng 𝜃 nhưng
dự đoán sai vị trí so với grounth truth. (2) Một phát hiện với độ chính xác cao
hơn ngưỡng 𝜃 và dự đoán chính xác vị trí xuất hiện so với grounth truth, tuy
nhiên lại tồn tại một phát hiện khác cũng tại đúng vị trí này như với độ tin cậy
còn cao hơn.
Một đại lượng đo quan trọng khác là false negative (FN) được định nghĩa
là những trường hợp mà chưa được phát hiện với độ tin cậy cao hơn ngưỡng 𝜃.
Do các số tuyệt đối thường không dễ diễn giải, nên TP, FP và FN thường được
thể hiện dưới dạng chỉ số tương đối là Precision và Recall. Precision là tỷ lệ
giữa số lượng phát hiện chính xác trên tất cả các phát hiện có độ tin cậy cao
hơn ngưỡng 𝜃. Recall là tỷ lệ giữa số lượng phát hiện chính xác trên tất cả các
51
phát hiện. mà tất các các thể hiện của đối tượng đã được phát hiện thành công.
Giá trị của Precision và Recall được tính theo công thức (2.6) và (2.7) sau:
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = (2.6)
𝑅𝑒𝑐𝑎𝑙𝑙 = (2.7)
Ngoài độ đo ước lượng khả năng dò tìm đối tượng, vấn đề khác là ước
lượng về độ chính xác vị trí xuất hiện cũng cần được xem xét. Để ước lượng
độ chính xác vị trí xuất hiện, độ đo IoU được sử dụng để đo độ chồng lấp giữa
vùng tìm thấy và vùng grouth truth trong ảnh huấn luyện được tính theo công
thức trong hình 2.2.
Với một số tập dữ liệu, một ngưỡng tin cậy cho hệ số 𝐼𝑜𝑈 có thể được
đặt mặc định trước (ví dụ 0.5) trong khi phân lớp để xác định phát hiện tìm thấy
là TP hay FN.
Chúng ta có thể vẽ các điểm giá trị Precision và Recall tương ứng với tất
cả các ngưỡng tin cậy trên hệ trục tọa độ không gian hai chiều tạo ra đường
cong Precision-Recall (PR). Để đưa ra một con số duy nhất đo chất lượng tổng
thể của mô hình phát hiện đối tượng, độ chính xác trung bình (Average
Precision-AP) là diện tích vùng nằm dưới đường cong PR được sử dụng. Giá
trị AP được tính từ Precision và Recall theo quy tắc hình thang.
Đối với mô hình dò tìm đa lớp, định nghĩa về TP và FP có một số điều
chỉnh: TP lúc này được định nghĩa là số phát hiện đúng lớp, thỏa mãn ngưỡng
tin cậy và chính xác về vị trí. Với FP là các phát hiện thỏa mãn một trong ba
điều kiện thay vì hai như được định nghĩa cho mô hình nhận dạng đơn lớp gồm:
(1) phát hiện thỏa mãn ngưỡng tin cậy nhưng sai vị trí. (2) phát hiện đúng lớp,
thỏa mãn ngưỡng tin cậy và tại đúng vị trí, nhưng tồn tại một phát hiện khác có
độ tin cậy cao hơn khi xem xét cùng một grounth-truth tương ứng. (3) phát hiện
thỏa mãn ngưỡng tin cậy, chính xác về vị trí nhưng với sai lớp.
52
Ước lượng, đánh giá cho mô hình dò tìm đa lớp có thể được mở rộng từ
phương pháp ước lượng, đánh giá cho mô hình dò tìm đơn lớp theo cách khá
đơn giản nếu xem xét bài toán dò tìm đa lớp như là một chuỗi phát hiện đơn
lớp. Có nghĩa là chúng ta thực hiện lần lượt mô hình để dò tìm một lớp đối
tượng cụ thể trong các grounth truth của lớp đối tượng này mà không cần xem
xét đến grounth truth của đối tượng khác. Áp dụng độ đo ước lượng cho các
lần rời rạc này và có được AP cho mỗi lớp. Chỉ số cuối cùng để đo độ chính
xác của mô hình được thực hiện thông qua độ chính xác trung bình (mean
Average Precision - mAP), lúc này đơn giản là giá trị trung bình trên tất cả các
AP.
2.1.3.3. Môi trường cài đặt
Môi trường phần cứng thực nghiệm cho bài toán dò tìm đối tượng trong
video được minh họa cụ thể trong bảng 2.1. Các kết luận được rút ra từ thực
nghiệm trên máy chủ GPU. GPU được sử dụng là Nvidia Tesla K80, bộ nhớ
video 24GB, và chạy hệ điều hành Ubuntu 14 với bộ nhớ trong 64GB.
Bảng 2.1. Thông số phần cứng thực nghiệm mô hình YOLO-Adv
Phần cứng Môi trường
Máy tính GPU server
CPU Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00 GHz
GPU Nvidia Tesla K80 × 4
Bộ nhớ trong 64 GB
2.1.3.4. Ước lượng, đánh giá
Trong phần thực nghiệm, để đánh giá mức độ hiệu quả của từng cải tiến
so với mô hình gốc, luận án thực nghiệm trên 3 mô hình: mô hình YOLOv3
nguyên bản, mô hình YOLO-Loss có kiến trúc mạng giống như trong mô hình
YOLOv3 nhưng sử dụng hàm loss cải tiến trong phương trình (2.5) và mô hình
53
YOLO-Adv có sử dụng hàm loss mới cùng với kiến trúc mạng cải tiến. Trong
quá trình huấn luyện, các thông số của cả 3 mô hình YOLOv3, YOLO-Loss và
YOLO-Adv cùng được thiết lập tương tự nhau, tỷ lệ học khởi tạo là 0,0001.
Epoch lớn nhất, kích thước batch, momentum được đặt lần lượt là 1000, 64 và
0,9. Sau mỗi 10 epoch, kích thước đầu vào được chọn ngẫu nhiên để đưa vào
huấn luyện. Vì hệ số giảm kích thước là 32 nên tất cả ảnh đầu vào ngẫu nhiên
này phải được điều chỉnh kích thước về số là bội của 32, với kích thước bé nhất
là 353x352 và lớn nhất là 606x608. Số vòng lặp được sử dụng trong pha huấn
luyện là 25.000 vòng lặp, trong đó một vòng lặp tương ứng với 1 nhóm 64 ảnh.
Cấu hình này làm cho phương pháp huấn luyện có thể cho ra mô hình cuối cùng
dự đoán tốt hơn với nhiều kích thước khác nhau, trong khi các ảnh đầu vào có
độ phân giải khác nhau cũng làm gia tăng tính bền vững của mô hình.
Ước lượng pha huấn luyện
Mức độ hiệu quả của cả 3 mô hình YOLOv3, YOLO-Loss và YOLO-
Adv trong pha huấn luyện được đánh giá, ước lượng dựa trên các chỉ số về giá
trị hàm loss trung bình và giá trị IoU trong khi tập dữ liệu Flicrklogo-47 được
dùng để huấn luyện.
Hình 2.5. Giá trị hàm loss trung bình huấn luyện trên tập Flicrklogos-47
54
Với giá trị hàm loss trung bình, đồ thị biến thiên của nó cho cả 3 mô hình
theo số vòng lặp trong quá trình huấn luyện được minh hoạ trong biểu đồ hình
2.5. Đồ thị này chứng tỏ giá trị hàm loss trung bình của cả 3 mô hình đều có
khuynh hướng giảm nhanh trong 5000 vòng lặp đầu tiên, giảm từ từ trong 1000
vòng lặp tiếp theo và giữ ổn định tại giá trị rất nhỏ sau khoảng 15000 vòng lặp.
Tuy nhiên, trong ba mô hình thì YOLO-Adv có giá trị hàm loss trung bình giảm
nhanh nhất tại thời điểm bắt đầu theo sau bởi mô hình YOLO-Loss. Nguyên
nhân chính đẩy mạnh tốc độ hội tụ của mô hình YOLO-Adv là do chiến lược
hợp nhất đặc trưng đa tầng để nhận dạng đối tượng ở một mức tỷ lệ thay vì 3
tỷ lệ như trong kiến trúc mạng của YOLOv3 và YOLO-Loss. Bên cạnh đó, giá
trị hàm loss trung bình của mô hình YOLO-Adv mặc dù dao động trong suốt
quá trình huấn luyện, nhưng đạt giá trị nhỏ nhất đầu tiên trong ba mô hình và
đạt giá trị rất nhỏ và nhỏ nhất trong tất cả. Điều này chứng tỏ kiến trúc mạng
YOLO-Adv cho phù hợp với tập dữ liệu FlicrkLogos-47 và dự đoán cho kết
quả khả quan trong dò tìm đối tượng quảng cáo.
(a) YOLOv3 (b) YOLO-Loss (c) YOLO-Adv
Hình 2.6. Biểu đồ giá trị IoU huấn luyện trên tập FlicrkLogos-47
Bên cạnh giá trị hàm loss trung bình, kết quả sự biến thiên về giá trị IoU
– đại lượng thể hiện độ chính xác trong việc định vị các bounding box của 3
mô hình huấn luyện trên tập dữ liệu flicrkLogos-47 được thể hiện trong hình
55
2.6. Với cả ba mô hình giá trị IoU đều có khuynh hướng tăng mạnh trong 5000
vòng lặp đầu tiên, sau đó tăng đều và có giá trị ổn định trong khoảng [0.7;1.0].
Như vậy, cả 3 mô hình đều cho độ chính xác cao khi định vị đối tượng. Mặc dù
YOLO-Adv không cho kết quả vượt trội nhưng kết quả so sánh cho thấy giá trị
IoU của mô hình YOLO-Adv có khuynh hướng tăng nhanh nhất trong ba mô
hình, tức là tốc độ huấn luyện nhanh nhất và cũng giữ giá trị ổn định ở mức cao
nhất, nghĩa là độ chính xác trong dò tìm đối tượng cao nhất.
Bảng 2.2. Hiệu năng thực thi trên tập dữ liệu Flickrlogos-47
Adidas symbol
Adidas text
Aldi Apple Becks symbol
Beck text
BMW
YOLOv3
YOLO-Loss YOLO-Adv
62.0
70.0 69.4
33.5
39.5 54.9
72.0
88.5 85.3
84.1
93.0 92.4
76.1
81.1 81.8
64.0
66.1 68.9
85.2
83.2 84.0
Carlberg symbol
Carlberg text
Chimay Symbol
Chimay text
Cocacola Corona symbol
Corona text
YOLOv3
YOLO-Loss YOLO-Adv
69.2
73.5 71.1
60.0
62.4 68.5
92.4
92.9 93.2
79.1
81.6 78.4
61.7
64.2 68.2
82.3
90.9 94.9
84.6
87.4 89.1
DHL Erdinger symbol
Erdinger Text
Esso symbol
Esso text
Fedex Ferrari
YOLOv3
YOLO-Loss YOLO-Adv
62.2
69.0 85.0
92.2
95.3 95.7
91.6
90.6 93.9
92.9
93.1 95.9
19.7
23.8 35.5
84.1
86.6 87.7
94.9
95.4 95
Ford Fosters symbol
Fosters Text
Google Guiness symbol
Guiness text
Heineken
YOLOv3
YOLO-Loss YOLO-Adv
87.6
90.4 93.2
82.2
84.5 88.3
77.5
72.8 80.6
80.9
81.5 73.4
84.8
92.9 86.5
64.9
67.0 68.7
54.7
66.1 76.6
HP Mika nVidia symbol
nVidia text
Paulaner symbol
Paulaner text
Pepsi symbol
YOLOv3 YOLO-Loss YOLO-Adv
83.9 81.1 82.3
57.1 65.5 72.7
64.1 74.3 68.5
26.1 32.8 42.5
88.2 91.2 92.6
46.7 42.0 53.8
42.1 44.2 58.9
Pepsi text
Rittersport Shell Singha symbol
Singha text
Starbucks Stellart symbol
YOLOv3 YOLO-Loss YOLO-Adv
27.1 22.7 36.2
71.2 83.3 81.4
87.3 98.8 94.1
97.5 98.1 98.4
90.8 90.5 83.5
84.2 83.8 93.9
92.6 91.3 95.8
56
Stellart
text Texaco
Tsingt. Symbol
Tsingt. text
UPS mAP s/Img
YOLOv3
YOLO-Loss YOLO-Adv
97.0
95.8 97.9
89.7
95.7 93.3
82
89.5 86.7
78.7
79.3 81.0
93.1
95.3 97.4
74.0
77.4
80.2
0.038
0.032
0.028
Từ những phân tích trên pha huấn luyện cho thấy những cải tiến trong
hàm loss và kiến trúc mạng của mô hình YOLO-Adv làm cho nó thích hợp với
tập dữ liệu huấn luyện Flickrlogos-47. Những cải tiến không những làm thúc
đẩy nhanh quá trình hội tụ của mạng mà còn cho độ chính xác cao trong định
vị các bounding box chứa đối tượng.
Ước lượng pha kiểm thử
Độ chính xác trong phân lớp của mô hình YOLO-Adv cũng lần lượt được
so sánh với các mô hình YOLOv3 và YOLO-Loss trên tập dữ liệu huấn luyện
Flickrlogos-47 với ngưỡng = 0.5, sử dụng các độ đo ước lượng được trình
bày trong phần 2.2.3.2. Bảng 2.2 thống kế giá trị AP cho từng lớp cụ thể kèm
theo giá trị mAP tổng hợp và thời gian thực thi trung bình trên mỗi ảnh. Kết
quả cho thấy, hiệu năng thực thi tổng thể trong pha phân lớp đối tượng của mô
hình YOLO-Loss và YOLO-Adv được cải thiện lần lượt thêm 3.4 điểm (tương
ứng 4.6%) và 6.2 điểm (tương ứng 8.38%) so với mô hình YOLOv3 nguyên
bản. Trong khi đó, hiệu năng của mô hình YOLO-Adv được tăng thêm 2.8 điểm
(tương ứng 3.62%) so với mô hình chỉ sử dụng hàm loss cải tiến mà không cần
đến chiến lược hợp nhất đa tầng, loại bỏ các tầng lặp ở mức cao là YOLO-Loss.
Ngoài ra, thời gian thực thi trong khi dò tìm đối tượng trung bình trên
một ảnh của mô hình cải tiến cuối cùng YOLO-Adv có tốc độ nhanh nhất đạt
0.028s (tương ứng với tốc độ xử lý 35 ảnh trong 1 giây (FPS)). Tốc độ này được
cải thiện đáng kể so với 2 mô hình YOLO-Loss và YOLOv3 có tốc độ dò tìm
lần lượt là 0.032s và 0.038s. Thời gian thực thi của mô hình cải tiến thu được
đã thỏa mãn tiêu chí đặt ra ban đầu khi phát triển mô hình, một nhân tố quan
trọng để ứng dụng cho bài toán phát hiện và thay thế đối tượng trong video
đang được nghiên cứu giải quyết.
57
Hình 2.7. Một số hình ảnh dò tìm đối tượng quảng cáo
Một số kết quả trực quan trong dò tìm đối tượng của mô hình cải tiến được thể
hiện trong hình 2.7. Các kết quả trực quan một lần nữa khẳng định mô hình cải
tiến cho hiệu quả tốt với cả dò tìm đơn và đa đối tượng trong một frame ảnh.
Bất kể là trong điều kiện ánh sáng bất lợi, khả năng định vị các logo trong ảnh
và khả năng phân lớp của mô hình cải tiến rất ít bị ảnh hưởng. Nghĩa là mô hình
cải tiến có khả năng thích nghi cao với nhiễu và sự thay đổi về cường độ sáng.
Hơn nữa, các kết quả nhận dạng ở hàng thứ 3 trong hình 2.7 cho thấy logo mặc
dù bị che khuất một phần nhưng mô hình vẫn nhận dạng tương đối chính xác.
Kết quả trực quan này phản ánh giá trị của các đặc trưng cục bộ ở tầng thấp khi
được kết hợp cùng với các đặc trưng mức cao. Điều này một lần nữa minh
chứng cho độ hiệu quả của chiến lược hợp nhất đặc trưng đa tầng.
58
Bảng 2.3. So sánh mAP của các mô hình dò tìm đối tượng trên tập dữ liệu
Flickrlogos-32
YOLO-Adv Fast-M DeepLogo SCL DB-FRCN-M
82.4 84.2 74.4 81.1 73.5
So sánh với các cách tiếp cận khác trên tập Flickrlogos-32
Trong nghiên cứu này, mô hình cải tiến cũng đã được thực nghiệm huấn
luyện trên tập dữ liệu Flickrlogos-32 nhằm so sánh mô hình cải tiến với các
cách tiếp cận nổi bật khác cho bài toán nhận dạng logo đã được thực nghiệm
trên tập dữ liệu này. Những cách tiếp cận gần đây nhất gồm: (1) DeepLogo [35]
là một trong các mô hình nhận dạng logo đầu tiên sử dụng bộ dò tìm đối tượng
xây dựng trên nền Fast R-CNN cho bài toán nhận dạng logo. (2) BD-FRCN-M
[63] có cách tiếp cận khác dựa trên Fast R-CNN với tập dữ liệu gia tăng bằng
các phép biến đổi hình học. (3) SCL [75] dựa trên Faster R-CNN với tập dữ
liệu Flickrlogos-32 mà trong đó tập huấn luyện được mở rộng bằng cách thêm
các ảnh tổng hợp. (4) Fast-M [5] là cách tiếp cận đa tỷ lệ với Fast R-CNN.
Tất cả các nghiên cứu đề cập trên đều sử dụng tập dữ liệu Flickrlogos-
32 được thiết kế chủ yếu cho bài toán truy vấn ảnh để ước lượng mô hình. Do
đó các tác giả không đưa ra các script cho việc dò tìm đối tượng, mà chỉ đưa ra
các script phân loại ảnh, tức là đưa ra ảnh có chứa hay không chứa các logo và
được phân loại dựa trên nội dung của chúng. Trong khi đó vị trí của logo không
đòi hỏi phải xác định. Điều này gây ra khó khăn trong việc thông dịch các kết
quả do các tác giả trên đưa ra. Duy chỉ có một ngoại lệ là DeepLogo được
nghiên cứu trong [35], tác giả đã ước lượng cách tiếp cận của mình trên
Flickrlogos-32 với sự phân biệt rõ ràng giữa việc dò tìm logo kèm theo vị trí và
dò tìm không kèm theo vị trí.
Kết quả so sánh của mô hình cải tiến với các cách tiếp cận đề cập bên
trên cho bài toán dò tìm logo trên tập dữ liệu Flickrlogos-32 được thể hiện trong
bảng 2.3. Vì Flickrlogos-32 là tập dữ liệu cho bài toán thu nhận ảnh, phương
59
thức ước lượng mà các tác giả sử dụng cho bài toán dò tìm không rõ ràng. Do
đó, sự so sánh giữa các giá trị này chỉ mang tính tương đối. Tuy nhiên kết quả
vẫn cho thấy mô hình YOLO-Adv cho kết quả tốt nhất so với tất cả các cách
tiếp cận khác ngoại trừ Fast-M [5]. Fast-M là cách tiếp cận dựa trên Fast R-
CNN đa tỉ lệ cho phép tăng tỷ lệ của ảnh đầu vào để cải tiến hiệu năng dò tìm.
Fast-M không chỉ thay đổi tỷ lệ của ảnh một lần mà là 5 lần. Kết quả về thời
gian không được tác giả đưa ra, nhưng chắc chắn thời gian chạy mô hình Fast-
M là rất chậm khi so sánh với cách tiếp cận YOLO-Adv.
2.2. Nhận dạng hình dạng đối tượng
Trong phần 2.1, luận án đã trình bày chi tiết mô hình YOLO-Adv được
sử dụng để dò tìm và trích chọn được vector đặc trưng D chiều (D = 4096) của
đối tượng xuất hiện trong video. Mô hình này cũng được sử dụng để tạo lập
một tập dữ liệu các vector đặc trưng D của tập ảnh hình dạng đối tượng. Dựa
trên tập dữ liệu vector đặc trưng này để nhận diện hình dạng của đối tượng
trong video, luận án đề xuất giải pháp tìm kiếm một hình dáng tương đồng nhất
với đối tượng truy vấn trong tập dữ liệu các loại hình dạng của đối tượng này.
Tức là tìm kiếm một vector đặc trưng trong tập mẫu gần nhất với vector đặc
trưng truy vấn.
Tuy nhiên, do tập vector đặc trưng của tập dữ liệu hình ảnh mẫu rất lớn
(có thể lên đến hàng triệu bản ghi) và số chiều khá lớn (4096 chiều) nên việc
đối sánh, tìm kiếm chính xác là không khả thi. Vì vậy, tập dữ liệu vector đặc
trưng của hình ảnh mẫu cần được tổ chức, lập chỉ mục một cách hợp lý, hiệu
quả trước khi kỹ thuật tìm kiếm ANN được áp dụng để tìm ra vector đặc trưng
tương đồng nhất (hình ảnh tương đồng nhất) với vector đặc trưng (hình ảnh)
truy vấn. PQ đã được trình bày tổng quan là kỹ thuật hiệu quả nhất để xử lý vấn
đề lập chỉ mục này, tuy nhiên tốc độ và độ chính xác vẫn chưa được mong đợi.
Trong phần này, luận án trình bày phương pháp đề xuất PSVQ (product sub-
vector quatization) được cải tiến từ phương pháp PQ cho độ chính xác và tốc
60
độ xử lý vượt trội so với PQ gốc và các cải tiến khác quả PQ. Sau đó kỹ thuật
tìm kiếm ANN luận án kế thừa từ nghiên cứu [2] dựa trên cấu trúc cây phân
cấp thứ bậc được áp dụng trên tập chỉ mục sinh ra bởi PSVQ để tìm ra hình
dạng tương đồng nhất với đối tượng truy vấn.
Tương tự như kỹ thuật dò tìm đối tượng được trình bày trong chương
trước đó, mục tiêu cốt lõi cần đạt được khi phát triển kỹ thuật nhận dạng hình
thể của đối tượng là tốc độ tìm khi xem xét độ chính xác trung bình ở mức cao
(> 90%). Để đạt được mục tiêu này chất lượng mã hóa và cách thức tổ chức tìm
kiếm là các vấn đề cần phải giải quyết trong luận án này. Chi tiết về kỹ thuật
PSVQ và kỹ thuật tìm kiếm dựa trên cây phân cụm thứ bậc được trình bày trong
các mục 2.2.1 và 2.2.2. Cuối cùng, các ước lượng thực nghiệm về chất lượng
mã hóa dữ liệu và tốc độ tìm kiếm cũng như các kết quả so sánh với các kỹ
thuật phổ biến khác được trình bày trong phần 2.2.3.
2.2.1. Mô hình lập chỉ mục PSVQ
Tập ảnh tư thế huấn luyện của một đối tượng sau khi truyền qua mạng
YOLO-Adv cho ra một tập dữ liệu gồm vector đặc trưng trong không gian
vector đặc trưng D (D=4096) chiều 𝑅( ) được ký hiệu là tập X. Ký hiệu 𝑥 ∈ 𝑋
là một vector hay điểm dữ liệu trong tập dữ liệu X. Ngoài ra, ký hiệu 𝑥( ) ∈
𝑅( ) là vector con thứ j của x với j=1,2, … m.
Như đã được trình bày chi tiết trong mục 1.2, với phương pháp lượng tử
hóa tích đề các (PQ), không gian dữ liệu gốc X trước hết được chia thành m
không gian con phân biệt tách rời nhau. Như vậy, một vector 𝑥 ∈ 𝑋 được chia
thành m vector con: 𝑥( ), 𝑥( ), … 𝑥( ), mỗi vector con này có số chiều là D/m.
Tiếp theo VQ được áp dụng cho các vector con trong từng không gian con này
một cách rời rạc để tạo ra cho mỗi không gian con này một codebook. Gọi 𝐶
là codebook của không gian con thứ j, tạo thành từ K codeword {𝑐 , } với 1 ≤
61
𝑘 ≤ 𝐾, một bộ lượng tử thấp 𝑞 (𝑥( )) ánh xạ một vector đầu vào 𝑥( ) ∈ 𝑅( )
trong codebook 𝐶 được định nghĩa như sau :
𝑞 𝑥( ) = argmin, ∈
𝑑(𝑥( ), 𝑐 , ) (2.8)
Trong đó 𝑐 , là codeword thứ k của 𝐶 và d(,) là khoảng cách Euclid giữa
hai điểm dữ liệu. Nói cách khác, lượng tử hóa vector con 𝑥( ) bởi bộ lượng tử
thấp 𝑞 là đưa ra chỉ số của codeword trong 𝐶 mà gần với y nhất theo khoảng
cách Euclid.
Để giải quyết vấn đề còn hạn chế về mối tương quan dữ liệu giữa các
không gian con không được xem xét dẫn tới sự dưa thừa các codeword trong
PQ, Hierarchical product quantization (HPQ) là giải pháp nhóm tất cả các tập
vector con sau khi được phân hoạch thành các không gian con khác nhau thành
một nhóm trước khi phân hoạch lần 2 thành m nhóm bằng các giải thuật phân
cụm (như Kmeans). Lúc này mới lượng tử hóa từng nhóm con tạo ra m
codebook khác nhau. Như vậy tất cả các điểm dữ liệu tương tự nhau được dồn
vào cùng một nhóm và có một codeword đại diện cho nó.
Dựa trên ý tưởng của HPQ, PSVQ được phát triển. Ý tưởng chính của
PSVQ là sau khi phân hoạch không gian vector đặc trưng gốc thành m không
gian vector con thì gom các vector con trong h không gian liền kề nhau thành
các nhóm không gian lớn hơn sau đó áp dụng phép lượng tử hóa vector cho các
không gian con này. Cụ thể kết hợp h (1 ≤ ℎ ≤ 𝑚) không gian liền kề nhau tạo
thành _𝑚 = 𝑚/ℎ không gian con và thực hiện lượng tử hóa riêng biệt trên _𝑚
tập con vừa hình thành này với _𝑚 bộ lượng tử thấp. Như vậy, mỗi không gian
con lúc này có _𝐾 = ℎ × 𝐾 tâm cụm. Do đó, sẽ có một vài không gian con chia
sẻ cùng một bộ lượng tử, vì vậy tạo ra các phân rã mịn hơn trên dữ liệu ban đầu
trong khi không làm gia tăng số lượng các codeword (vì chỉ có tất cả _𝑚 ×
_𝐾 = 𝑚 × 𝐾 codeword). Lượng tử hóa một vector con 𝑥( ) thuộc không gian
62
thứ j (0 ≤ 𝑗 < 𝑚) lúc này được xử lý bởi 𝑞(∗)(𝑥( )), với 𝑖 = ⌊𝑗/ℎ⌋ + 1 và (1 ≤
𝑖 ≤ 𝑚(∗)) được định nghĩa như sau :
𝑞(∗)
(𝑥( )) = argmin, ∈ ∗
𝑑(𝑥( ), 𝑐 , ) (2.9)
Trong đó 1 ≤ 𝑘 ≤ _𝐾, _𝐶 là codebook con được huấn luyện trên tập
dữ liệu với 𝑛 × ℎ điểm dữ liệu được nhóm từ không gian con thứ (𝑠 + 1) đến
không gian con (𝑠 + ℎ) với 𝑠 = (𝑖 − 1) × ℎ.
Tất cả các tiến trình tạo ra bộ codebook được mô tả trên có thể được biểu
diễn qua thuật toán 2.4. Thuật toán có đầu vào là tập vector đặc trưng X, và một
số tham số khác, thực thi tiến trình huấn luyện và tạo ra _m {_𝐶 } codebook,
mỗi codebook này chứa _K codeword con.
Thuật toán 2.4. TrainPSVQ(m, X, h, K)
Đầu vào: m là số lượng codebook, X là tập dữ liệu gốc, h là số không gian con
được gộp với nhau, K là số tâm cụm trong mỗi codebook.
Đầu ra: Danh sách m/h codebook
1: _m ← m/h
2: _K ← h x K
3: L←Ø
4: Chia X thành m tập con: X1, X2, …, Xm
5: for i:=1 to _m do
6: s←(i-1) x h
7: Y ← gộp h không gian con liền kề nhau {Xs+1, Xs+2, …, Xs+h}
8: _𝐶 ← Kmeans(Y, _K) {áp dụng Kmeans trên tập con Y tạo ra _K tâm
cụm, và _𝐶 là một codebook con chứa _K tâm cụm này}
63
9: L ← Append (L, _𝐶 ) {nối _𝐶 vào danh sách L}
10: end for
11: return L {L là một mảng chứa _m codebook, một codebook chứa _K
codeword}
Vì đây là quá trình huấn luyện thực hiện offline nên thời gian thực thi
không phải là vấn đề được quan tâm nhiều, do đó nó không được phân tích và
đánh giá trong luận án này.
Sau khi các codebook {_𝐶 } được tạo ra, tiến trình lượng tử hóa một
vector x thuộc không gian R(D) được tiến hành như sau:
Chia x thành m vector con x(j) với 0 ≤ j < m giống như trong PQ.
Với mỗi vector con x(j):
Tìm chỉ số của codeword trong codebook {_𝐶 }(𝑖 = ⌊𝑗/ℎ⌋ + 1) gần với
xj nhất theo khoảng cách Euclidean:
𝑘 ← argmin 𝑑(𝑥( ), _𝐶 ) (2.10)
k được xem là một mã lượng tử của 𝑥( ):
qj(𝑥( )) ← k (2.11)
Nối các chỉ số tạo ra một mã lượng tử đầy đủ của x:
q(x) ← {q1(𝑥( )), q2(𝑥( )), …, qm(𝑥( ))} (2.12)
Chi tiết các bước tạo ra một mã lượng tử cho vector 𝑥 trên được mô tả
bằng thuật toán 2.5. Đầu tiên vector đầu vào được chia thành 𝑚 vector con. Với
mỗi vector con, khoảng cách Euclid được tính từ mỗi vector con đến tất cả các
codeword con của codebook tương ứng. Tâm cụm có khoảng cách bé nhất được
chọn như là mã lượng tử con. Cuối cùng nối tất cả các mã lượng tử con này lại
hình thành một vector lượng tử đầy đủ của 𝑥.
64
Thuật toán 2.5. GenPQCode(𝑥, ℒ)
Đầu vào: Vector 𝑥 ∈ 𝑅 và một danh sách các codebook (ℒ)
Đầu ra: Mã lượng tử của 𝑥
1: m ← length (ℒ) {số lượng không gian con}
2: Chia x thành m vector con: a1(x), a2(x), …, am(x)
3: for i:=1 to m do
4: 𝑆 ← ℒ {codebook con thứ i của ℒ}
5: k ← length (𝑆) {số lượng codeword trong S}
6: 𝑞 (𝑥) ← argmin 𝑑(𝑎 (𝑥), 𝑆 ) {theo phương trình 2.10, 𝑆 là codeword
con thứ i của S và d(,) là khoảng cách Euclidean}
7: end for
8: q(x) ← {q1(x), q2(x), …, qm(x)} {theo phương trình 2.12}
9: return q(x)
2.2.2. Tìm kiếm ANN dựa trên cây phân cụm thứ bậc
Quá trình tìm kiếm đối tượng có hình dạng tương đồng nhất trong tập dữ
liệu hình dáng, tư thế của lớp đối tượng được thực hiện thông qua các vector
đặc trưng. Luận án kế thừa giải thuật tìm kiếm dựa trên cây phân cụm thứ bậc
hoàn chỉnh [2] để tìm ra vector đặc trưng lân cận xấp xỉ gần nhất với vector
truy vấn từ tập vector đặc trưng tạo thành từ phương pháp lượng tử PSVQ. Giải
thuật tìm kiếm này được chia thành 2 pha offline – pha chuẩn bị dữ liệu và cây
tìm kiếm và pha online – pha tìm kiếm.
Trong pha offline, mô hình YOLO-Adv được sử dụng để tạo ra tập dữ
liệu vector đặc trưng từ tập dữ liệu ảnh biến thể của đối tượng. Gọi X là tập
vector đặc trưng gồm N điểm trong không gian R(D) được tạo ra, tiến hành xây
dựng tập coodebook ℒ theo giải thuật 2.4. Khi đó ℒ có kích thước m x _K. Mỗi
65
mã lượng tử trong ℒ tạo thành từ quá trình lượng tử một điểm dữ liệu 𝑥 ∈ 𝑋
dựa trên cookbook {_𝐶 }. Tập lượng tử ℒ được lưu trữ phục vụ cho quá trình
tra cứu tính khoảng cách giữa vector truy vấn r và các điểm dữ liệu x trong X.
Với 𝑞(∗)(𝑥) = ℒ ủ .
Sau khi xây dựng tập codebook ℒ, tập dữ liệu vector đặc trưng ban đầu
cũng được dùng để huấn luyện tạo ra một cây phân cụm thứ bậc hoàn chỉnh
nhằm biểu diễn tất cả các điểm dữ liệu trong không gian ban đầu. Tiến trình tạo
cây bắt đầu tạo ra nút gốc tương ứng với toàn bộ tập dữ liệu. Tiếp theo, giải
thuật phân cụm (Kmeans) được áp dụng để phân cụm dữ liệu trên nút này thành
K cụm con, mỗi một cụm được gọi là một nút trong biểu diễn đại diện bởi tâm
cụm (codeword). Tiến trình này được lặp lại đệ quy cho đến khi lực lượng tại
cụm con là đủ nhỏ và được coi là nút lá.
Thuật toán 2.6. GenTree (𝑝, 𝑋, 𝐾, 𝐶, ℒ)
Đầu vào: Nút hiện tại (𝑝), 𝑋 là tập dữ liệu ban đầu, hệ số phân nhánh 𝐾, Số
điểm lớn nhất tại một nút lá (𝐶), danh sách các codebook con ℒ
Đầu ra: Cấu trúc cây với con trỏ trỏ tới nút gốc (p)
1: if 𝑋 ≤ 𝐶 then
2: Đặt p là một nút lá
3: for each x in X do
4: 𝑞(𝑥) ← 𝐺𝑒𝑛𝑃𝑄𝐶𝑜𝑑𝑒 (𝑥, ℒ) {theo giải thuật 2.5}
5: Lưu ID của x và q(x) tại u
6: end for
7: else
8: Dùng Kmeans chia X thành K tập con {Xi} với 1<= i <= K
9: Tạo ra một nút mới {ui} cho từng tập Xi
66
10: Đặt {ui} là nhánh con của p
11: for each ui do
12: c(Xi) ← Tâm của cụm Xi {𝑐(𝑋) =| |
∑ 𝑋∈ }
13: Lưu trữ c(Xi) tại ui
14: GenTree (𝑢 , 𝑋 , 𝐶, ℒ)
15: end for
16: end if
Cây phân cụm thứ bậc được sinh ra với mỗi nút được đại diện bởi tâm
cụm là các vector chưa được lượng tử. Tiến trình tạo cây được lặp lại cho đến
khi kích thước của cụm đủ nhỏ. Lúc này tất cả điểm dữ liệu tại nút là cùng với
vector lượng tử của chúng được lưu trữ tương ứng dùng cho việc truy cập
nhanh, hiệu quả trong pha truy vấn.
Thuật toán 2.7. FindNearestCentroid(r, p)
Đầu vào: Con trỏ trỏ tới nút gốc của cây (p), và một vector đầu vào 𝑟 ∈ 𝑅
Đầu ra: Cụm có tâm gần r nhất từ trên xuống
1: if p là một nút lá then
2: c(p) ← truy cập tới tâm của p.
3: return c(p)
4: end if
5: nextSon ← Null
6: minDist ← +∞
7: for each nút con u of p do
8: c(u) ← truy cập tới tâm của u
67
9: if minDist > d(r, c(u)) then
10: minDist ← d(x, c(u))
11: nextSon ← u
12: end if
13: end for
14: return FindNearestCentroid(nextSon, x)
Tại pha online là quá trình tìm kiếm một vector xấp xỉ trong tập dữ liệu
vector đặc trưng so với vector truy vấn r trong không gian RD. Bản chất của quá
trình tìm kiếm này là quá trình duyệt cây phân cụm thứ bậc đã được tạo ra trước
đó bằng thuật toán 2.6. Xuất phát từ nút gốc, nút con mà có khoảng cách
Euclidean từ r đến là bé nhất được chọn duyệt tiếp theo. Quá trình duyệt cây
được lặp lại đệ quy đến khi tìm ra nút lá thích hợp nhất (thuật toán 2.7).
Thuật toán 2.8. ANNSearch (𝑟, 𝑝, ℒ)
Đầu vào: Vector truy vấn (r), Con trỏ trỏ tới nút gốc của cây (p), và danh sách
codebook (ℒ)
Đầu ra: Vector gần với r nhất
1: u ← FindNeareastCentroid(r, p) {sử dụng giải thuật toán 2.7}
2: P ← PointerList(u) {truy cập danh sách con trỏ chứa t nút lá gần u nhất}
3: H ← ADC (𝑟, ℒ) {Tra khoảng cách bất đối xứng từ r đến các codeword trong
ℒ}
4: for each e in𝑃 ∪ {𝑢} do
5: A ← Reranking (e, H) {cập nhật N kết quả tốt nhất bằng cách sử dụng
cấu trúc Maxheap}
6: end for
7: return A
68
Ngay khi nút lá được tìm thấy, tất cả các điểm dữ liệu tương ứng với nút
lá này được xem xét để tìm ra điểm dữ liệu có khoảng cách tới điểm truy vấn
là ngắn nhất. Khoảng cách được sử dụng là khoảng cách bất đối xứng, ADC
được tính theo công thức 1.10.
Để tính khoảng cách này, kỹ thuật tương tự như trong [38] được áp dụng.
Cụ thể, vector truy vấn r trước hết được chia thành m vector con r(j), một bảng
tra cứu H có kích thước 𝑚 × _𝐾 được tạo ra để lưu trữ khoảng cách từ r(j) tới
_K codeword có trong codebook j tương ứng. Sau đó dựa vào coodebook ℒ
tìm ra vector lượng tử của x, cùng với vector con r(j) được dùng để tra cứu tiếp
trong bảng H với m lần và cộng tổng các khoảng cách này cho ra kết quả khoảng
cách bất đối xứng giữa r và x.
Sau khi độ đo khoảng cách được xác định, quá trình tìm điểm dữ liệu gần
nhất với vector truy vấn r được mô tả chi tiết trong thuật toán 2.8.
2.2.3. Ước lượng, đánh giá
Để ước lượng, đánh giá hiệu năng thực thi của mô hình cải tiến, luận án
thực hiện hai thực nghiệm khác nhau. Thực nghiệm đầu tiên với mục tiêu đánh
giá chất lượng mã hóa của kỹ thuật PSVQ. Với mục tiêu này, PSVQ được so
sánh với các phương pháp dựa trên PQ khác đã sử dụng cơ chế tối ưu hóa các
bộ lượng tử. Hai phương pháp tiêu biểu được lựa chọn để so sánh là PQ chuẩn
và ck-means [62].
Thực nghiệm thứ hai đánh giá mức độ hiệu quả quá trình tìm kiếm ANN
khi áp dụng PSVQ. Do mục tiêu chính là đánh giá khía cạnh lập chỉ mục nên
việc tối ưu hóa tốc độ tìm kiếm chưa được đề cập trong phần này. Vì vậy luận
án sử dụng chiến lược tìm kiếm được trình bày trong PQ trên tập chỉ mục PSVQ
để đánh giá. Các chiến lược lập chỉ mục tốt như: IVFADC (PQ kết hợp với một
cấu trúc file đảo ngược sử dụng khoảng cách ADC [38]), k-means tree [57] (kỹ
69
thuật hiệu quả nhất cho tìm kiếm ANN trên thư viện FLANN), POC-tree [1],
EPQ [3] và OEPQ [2] được lựa chọn để so sánh, đánh giá.
2.2.3.1. Dữ liệu và cấu hình hệ thống kiểm thử
Các giải thuật được cài đặt trên môi trường C/C++ và thực nghiệm được
tiến hành một máy tính cấu hình phần cứng chuẩn gồm: RAM 16GB, chip Intel
Core (Dual-Core) i7 2.1 GHz, được cài hệ điều hành Windows 7.
Bảng 2.4. Các tập dữ liệu đặc trưng
Số lượng
huấn luyện Số bản ghi Số truy vấn Số chiều
ANN_SIFT 100,000 1,000,000 10,000 128
ANN_GIST 500,000 1,000,000 1000 960
VGG 100,000 500,000 1000 4096
Để chứng minh tính hiệu quả của chất lượng mã hóa và giải thuật tìm
kiếm, luận án đã tiến hành một số thực nghiệm trên các các tập dữ liệu chuẩn
ANN_SIFT [38], ANN_GIST [38] và VGG [74] đều có kích thước và số chiều
lớn (số liệu cụ thể được minh họa trong bảng 2.4). Đây là những tập dữ liệu
thông dụng cho việc ước lượng hiệu năng thực thi tìm kiếm ANN trong không
gian vector đặc trưng, đặc biệt là tập dữ liệu đặc trưng VGG có số chiều tương
đương với tập dữ liệu đặc trưng của bài toán đang nghiên cứu.
Độ đo ước lượng được sử dụng để đánh giá chất lượng mã hóa dữ liệu là
chỉ số Recall@R. Đây là chỉ số dùng để đo tỷ lệ kết quả đúng từ một tập danh
sách gồm R phần tử. Trong khi để ước lượng, đánh giá tốc độ tìm kiếm mối
tương quan giữa tốc độ và độ chính xác (biểu đồ speedup/precision) được sử
dụng. Tốc độ được so sánh tương đối với tìm kiếm tuần tự nhằm bỏ qua sự tác
động về cấu hình của máy tính. Với phương pháp 𝐴, tốc độ của nó 𝑆 được tính
như sau:
70
𝑆 = (2.10)
Trong đó 𝑡 là thời gian đáp ứng của phương pháp A cho một truy vấn cụ
thể, và 𝑡 là thời gian đáp ứng của phương pháp tìm kiếm tuần tự cho cùng
truy vấn này. Độ chính xác tìm kiếm là tỷ lệ số truy vấn cho kết quả đúng trên
tổng số truy vấn được thực hiện. Cả tốc độ và độ chính xác tìm kiếm được tính
là trung bình trên 1000 truy vấn.
(a) 1M 128D ANN_SIFT
(b) 1M 960D ANN_GIST
71
(c) 500K 4096D VGG
Hình 2.8. Chất lượng mã hóa PSVQ
2.2.3.2. Ước lượng, đánh giá chất lượng mã hóa của PSVQ
Cấu hình kiểm thử được thiết lập với các tham số m=8 và k=256 cho tất
cả phương pháp cải tiến và các phương pháp được so sánh. Kết quả so sánh kỹ
thuật cải tiến với các giá trị khác nhau của h (h=2, 4, 8) cùng với phương pháp
PQ chuẩn trên các tập dữ liệu ANN_SIFT, ANN_GIST và VGG được biểu diễn
trong biểu đồ hình 2.8.
(a) 128D ANN_SIFT
72
(b) 960D ANN_GIST
(c) 4096D VGG
Hình 2.9. Tốc độ tìm kiếm ANN trên các tập đặc trưng
Kết quả hiển thị trên biểu đồ này cho thấy, PSVQ (h=2), PSVQ (h=4),
PSVQ (h=8) đều có hiệu năng thực thi vượt trội hơn PQ chuẩn trên các tập dữ
liệu với số chiều không quá lớn như ANN_SIFT (hình 2.8.a) và ANN_GIST
(hình 2.8.b). Tuy nhiên khi thực nghiệm trên tập dữ liệu với số chiều đặc biệt
lớn như VGG, do bị tác động bởi số chiều, cùng với dữ liệu chưa được chuẩn
hóa và các tham số chưa được tối ưu nên chất lượng mã hóa của mô hình PSVQ
chỉ cho chất lượng tốt hơn mà chưa có sự vượt trội so với các tập dữ liệu
ANN_SIFT và ANN_GIST (hình 2.8.c). Tuy nhiên, biểu đồ hình 2.8 cho thấy
PQ mặc dù đã được kết hợp với chiến lược tối ưu cho phân rã không gian đặc
73
trưng vẫn không cho kết quả tốt hơn PSVQ mà có hiệu quả thấp nhất với h=2.
Trong khi đó, trên cả 3 tập dữ liệu kiểm thử PSVQ với h=8 cho kết quả tối ưu
nhất.
2.2.3.3. Ước lượng, đánh giá tốc độ tìm kiếm với PSVQ
Kết quả so sánh mức độ hiệu quả tìm kiếm của phương pháp cải tiến
PSVQ với tham số h=8 theo phương pháp được trình bày trong PQ chuẩn với
các giải thuật tìm kiếm ANN được phát triển phổ biến gồm EPQ, OEPQ, POC-
tree, và Kmeans-tree trên từng tập dữ liệu số chiều lớn ANN_SIFT,
ANN_GIST và VGG được minh hoạ lần lượt trên hình 2.9. Trên cả ba tập dữ
liệu này, dễ thấy khi độ chính xác trung bình tăng thì tốc độ tìm kiếm ANN trên
các tập dữ liệu mã hoá của các giải thuật EPQ, OEPQ, POC-tree, và Kmeans-
tree đều giảm nhanh. Trong đó, Kmeans-tree cho tốc độ tìm kiếm thấp nhất,
tiếp theo là POC-tree và đạt hiệu năng thực thi khá thấp so với các mô hình còn
lại. Trên tập liệu ANN_SIFT với các vector dữ liệu 128 chiều khi xét độ chính
xác tìm kiếm trên 90% thì EPQ cho tốc độ nhỉnh hơn một chút so với OEPQ
và PSVQ có tốc độ tìm kiếm tương đương nhau (hình 2.9.a).
Tuy nhiên khi số chiều dữ liệu tăng lên như trong tập ANN_GIST (960
chiều) và đặc biệt trên tập dữ liệu VGG (4096 chiều) thì tốc độ tìm kiếm của
EPQ giảm rất mạnh và thấp hơn nhiều lần so với tốc độ tìm kiếm trên OEPQ
và PSVQ là hai giải thuật cho tốc độ tìm kiếm tốt nhất. Trên cả hai tập dữ liệu
này khi xét độ chính xác từ 80% trở lên thì PSVQ có tốc độ tìm kiếm tốt hơn
OEPQ. Hơn nữa, khi số chiều dữ liệu tăng thì tìm kiếm trên PSVQ càng có tốc
độ nhanh hơn OEPQ. Cụ thể, khi thực hiện trên tập ANN_GIST thì tốc độ tìm
kiếm trên PSVQ nhanh hơn khoảng 1.2 lần OEPQ (hình 2.9.b) trong khi đó tỷ
lệ này là 1.4 lần trên tập VGG (hình 2.9.c). Như vậy PSVQ rất hiệu quả cho bài
toán tìm kiếm ANN trên tập dữ liệu với số chiều lớn.
Ngoài ra, phương pháp cải tiến thể hiện hiệu năng cao hơn khi so sánh
với kỹ thuật IVFADC [38] thông qua việc so sánh với một thuật toán tốt nhất
74
trong thư viện FLANN. Theo như báo cáo của các tác giả trong các nghiên cứu
[38] và [2] đã đưa ra thì tốc độ của IVFADC nhanh hơn tốc độ của giải thuật
tốt nhất trong FLANN khoảng 1.5 đến 2.0 lần khi so sánh ở cùng mức độ chính
xác, trong khi phương pháp cải tiến có tốc độ thực thi gấp khoảng 2.5 đến 3.0
lần so với giải thuật này. Chứng tỏ phương pháp cải tiến có hiệu năng thực thi
rất ấn tượng cho cả pha mã hóa và tìm kiếm ANN.
(a) ANN_GIST
(b) VGG
Hình 2.10. Ảnh hưởng của tham số (d,k) trên các tập dữ liệu
75
2.2.3.4. Ước lượng, đánh giá giải thuật tìm kiếm cây phân cụm thứ bậc
kết hợp PSVQ
Để ước lượng, đánh giá mức độ hiệu quả của giải thuật tìm kiếm, luận án
sử dụng các tập dữ liệu với số chiều rất lớn phù hợp với các đặc trưng trích
chọn là ANN_GIST và VGG. Tập dữ liệu ANN_SIFT do có số chiều nhỏ (128
chiều) so với 960 và 4096 chiều của ANN_GIST và VGG tương ứng nên không
được trình bày trong thực nghiệm này.
Trước khi so sánh, đánh giá mức độ hiệu quả của giải thuật tìm kiếm ANN
trên cây phân cụm thứ bậc kết hợp với PSVQ, giải thuật này được thực nghiệm
trên các tập dữ liệu có số chiều lớn là ANN_GIST và VGG nhằm xác định tham
số phù hợp và tối ưu nhất. Các tham số được sử dụng trong quá trình lượng tử
gồm: số không gian con được sinh ra (m), số cụm trong mỗi không gian con
(k). Kết quả thực nghiệm thể hiện trên hình 2.10 và các tham số tối ưu cho các
tập dữ liệu được minh họa trong bảng 2.5.
Bảng 2.5. Các tham số dùng để xây dựng các bộ lượng tử
M d = D/m h k
VGG 64 64 8 128
ANN_GIST 20 48 4 256
Biểu đồ hình 2.10 (a) minh họa cho sự biến thiên về hiệu năng tìm kiếm
trên đặc trưng ANN_GIST cho 3 cặp giá trị của (d,k). Cả ba đồ thị đường tương
ứng với 3 cặp giá trị của (d,k) đều đi xuống, tức là tốc độ thực thi giảm khi độ
chính xác tăng. Tuy nhiên đồ thị đường ứng với giá trị (d=48, k=256) nằm trên
so với các đường còn lại, cho thấy sử dụng các giá trị thấp hơn cho d hoặc k sẽ
cho kết quả tồi hơn. Lý do chính có thể là do khi chất lượng mã hóa được tăng
lên sẽ làm gia tăng chi phí tính toán. Vì vậy cặp giá trị (d=48, k=256) được thiết
lập khi thực nghiệm trên tập ANN_GIST.
76
Kết quả thực nghiệm được tiến hành trên tập đặc trưng có số chiều lớn
hơn VGG cho 3 cặp giá trị là (d=64,k=128), (d=64, k=256) và (d=128, k=256)
có xu hướng ngược lại so với trên tập ANN_GIST (hình 2.10.b). Lúc này sự
biến thiên về hiệu năng tìm kiếm được chia thành 2 đoạn rõ rệt. Trong khoảng
độ chính xác bé hơn 82.5% thì độ chênh lệch là khá lớn, tuy nhiên trong khoảng
ngược lại thì chúng lại tương đối gần nhau. Hiệu năng tìm kiếm tốt nhất thu
được với giá trị của d và k lần lượt là 64 và 128. Với các giá trị cao hơn của d
hoặc k sẽ cho kết quả tồi hơn. Hơn nữa, nếu giá trị của k > 256 sẽ ảnh hưởng
rất tồi lên tốc độ tìm kiếm trên không gian số chiều lớn do độ phức tạp của tính
toán khoảng cách bất đối xứng lúc này tăng gấp đôi. Vì vậy cặp giá trị (d=64,
k=128) được thiết lập cho mô hình cải tiến trên tập dữ liệu VGG.
Để đánh giá mức độ hiệu quả của giải thuật tìm kiếm dựa trên cây phân
cụm thứ bậc kết hợp với phương pháp lập chỉ mục PSVQ, phương pháp này
được so sánh với nhiều phương pháp khác nhau trong lớp bài toán tìm kiếm
ANN gồm: Randomized KD-trees [58], Randomized K-medoids [59], K-means
tree [57], POC-trees [1] và EPQ [3]. Tất cả các thực nghiệm được cài đặt trong
môi trường C++. Đặc biệt là sử dụng phiên bản cài đặt tối ưu nhất của 3 kỹ
thuật Randomized KD-trees ngẫu nhiên, Randomized K-medoids, K-means
tree trong thư viện mã nguồn mở FLANN.
Tham số thiết lập cho các phương pháp so sánh là tham số tối ưu. Phương
pháp POC được ước lượng với 8 cây phân cấp, tương tự cho các kỹ thuật
randomized KD-trees (flann-RD-8trees), randomized K-medoids (flann-RC-
8trees) và EPQ-trees. Trong khi đó tham số tối ưu nhất cho k-means tree (flann-
kmeans-1tree). Ngoài ra hệ số phân nhánh, lực lượng tối đa tại nút lá C được
thiết lập là 16 và 100 tương ứng cho tất cả các phương pháp.
77
(a) ANN_GIST
(b) VGG
Hình 2.11. Hiệu năng thực thi trên các tập đặc trưng
Tốc độ tìm kiếm của các phương pháp trên tập dữ liệu ANN_GIST được
thể hiện trên lưu đồ (hình 2.11.a) khi xem xét độ chính xác trong khoảng 80%-
95%. Dễ dàng nhận thấy, tốc độ tìm kiếm của phương pháp cải tiến nhanh hơn
các phương pháp khác khi xét ở cùng một độ chính xác. Trung bình, phương
78
pháp cải tiến nhanh hơn khoảng 2 lần so với phương pháp EPQ và nhanh hơn
khoảng 7 lần so với phương pháp tìm kiếm trong thư viện FLANN là flann-
RC-8trees. Đặc biệt, với độ chính xác tìm kiếm trên 90%, phương pháp cải tiến
vẫn cho tốc độ tìm kiếm trội hơn so với các phương pháp khác.
Kết quả tương tự khi thực nghiệm trên tập dữ liệu có số chiều dữ liệu cực
lớn VGG (hình 2.11.b), tốc độ tìm kiếm của phương pháp cải tiến vẫn cho kết
quả nổi bật nhất, nhanh hơn khoảng 1.3 đến 2.0 lần so với kỹ thuật EPQ là kỹ
thuật tốt nhất so với các kỹ thuật còn lại và gấp nhiều lần so với kỹ thuật tốt
trong thư viện FLANN như flann-kmeans-1tree.
Logo truy vấn Kết quả
Hình 2.12. Một số kết quả trực quan nhận dạng hình dạng đối tượng
quảng cáo
79
Để áp dụng cho bài toán tìm kiếm hình dạng tương đồng nhất của đối
tượng quảng cáo truy vấn, giải thuật được cài đặt trên môi trường C/C++ và
thực nghiệm được tiến hành một máy tính cấu hình phần cứng chuẩn như trong
thực nghiệm bên trên gồm: RAM 16Gb, chip Intel Core (Dual-Core) i7 2.1
GHz, được cài hệ điều hành Windows 7. Dữ liệu kiểm thử được trích xuất chỉ
vùng chứa logo từ bộ dữ liệu Flickrlogos-47, qua quá trình gia tăng ảnh để tạo
ra tập dữ liệu đủ lớn, đa dạng về hình thái, kích thước. Tập ảnh này được truyền
qua mạng YOLO_Adv đã được huấn luyện tạo ra tập gồm N vector đặc trưng
4096 chiều. Các tham số trong PSVQ và cây phân cụm thứ bậc được thiết lập
lần lượt là m=64, h=8 và k=128. Một số kết quả nhận dạng logo được minh
họa trong hình 2.12 cho thấy độ chính xác cao trong việc tìm kiếm ra một đối
tượng có hình dạng tương đồng với đối tượng truy vấn nhất.
80
Kết luận chương 2
Trong chương này, vấn đề phát hiện đối tượng trong video được giải
quyết lần lượt qua hai mô hình dò tìm đối tượng YOLO-Adv và mô hình nhận
diện hình dạng dựa trên tìm kiếm ANN kết hợp với mô hình lập chỉ mục PSVQ.
Mô hình YOLO-Adv được phát triển, cải tiến từ mô hình YOLOv3 với
các các cải tiến, phát triển về kiến trúc mô hình và hàm loss. Đầu ra của mô
hình YOLO-Adv ngoài vị trí của các bounding box còn có xác suất phân lớp
và vector đặc trưng 4096 chiều của đối tượng phát hiện được. Ưu điểm của mô
hình không những duy trì được tốc độ tính toán đáp ứng theo thời gian thực mà
còn thu được độ chính xác cao trên tập dữ liệu đối tượng quảng cáo. Tính ưu
việt của mô hình đặc biệt là hàm loss cải tiến so với hàm loss gốc đã được
chứng minh cả về mặt lý thuyết toán học cũng như qua thực nghiệm trên tập dữ
liệu đủ lớn là flickrlogos-47.
Với bài toán nhận dạng hình dạng của đối tượng sau khi chúng được tìm
thấy trong video được thực hiện theo hướng tiếp cận tìm kiếm xấp xỉ lân cận
gần nhất. Hình dạng truy vấn được tìm trong tập dữ liệu đã lập chỉ mục. Kỹ
thuật PSVQ được dùng để mã hóa tập dữ liệu đặc trưng, giải thuật tạo cây phân
cụm thứ bậc và tìm kiếm ANN cho một vector đặc trưng đầu vào được sử dụng
để tìm kiếm một ảnh có hình thể tương đồng cao nhất trên tập dữ liệu đặc trưng
đã được lập chỉ mục.
Kết quả thực nghiệm trên các tập dữ liệu kích thước và số chiều lớn như
VGG, ANN_GIST cho thấy chất lượng mã hóa dữ liệu của kỹ thuật PSVQ tốt
hơn các kỹ thuật phổ biến đã được cài đặt trong thư viện FLANN. Các thực
nghiệm trên tập dữ liệu VGG gồm các vector đặc trưng 4096 chiều cho bài toán
tìm kiếm hình dạng của một thể hiện đối tượng bằng phương pháp cây phân
cụm thứ bậc kết hợp với PSVQ đã đạt được tốc độ như mục tiêu đề ra với độ
chính xác trong tìm kiếm đạt trên 90%. Ngoài ra kết quả thực nghiệm so sánh
với các kỹ thuật khác cũng thể hiện sự nổi trội của phương pháp cải tiến.
81
CHƯƠNG 3. THAY THẾ ĐỐI TƯỢNG VÀ HOÀN THIỆN VIDEO
Trong pha phát hiện đối tượng đã trình bày bên trên một tập các bounding
box bao quanh từng thực thể trong lớp đối tượng truy vấn trong từng frame của
video đã được xác định. Bên cạnh đó một tập ảnh đối tượng có hình thể tương
ứng dùng để thay thế vào trong video cũng đã được tìm thấy. Tuy nhiên pha
này mới chỉ xác định được tập hợp các tọa độ của bounding box là các bao đóng
xung quanh đối tượng. Trong các bounding box này không chỉ chứa đối tượng
mà còn có thể có một phần của đối tượng khác hoặc xen lẫn nền, vùng hiển thị
của đối tượng chưa được xác định. Để loại bỏ hoặc thay thế chính xác đối tượng,
các vùng ảnh có chứa đối tượng nguồn và đối tượng đích cần phải được phân
vùng, trích chọn đánh dấu chính xác các phần hiển thị của đối tượng. Sau đó
loại bỏ vùng đối tượng nguồn trước khi chèn vùng đối tượng mới vào vùng đã
xóa. Do không khớp về hình dạng và kích thước nên các vùng trống sẽ xuất
hiện khi thực hiện cấy ghép. Nhiệm vụ cuối cùng của hệ thống là phải hoàn
thiện, tái tạo các vùng này dựa trên các thông tin từ các vùng lân cận để tạo ra
độ mượt về hình ảnh, không gian và thời gian, tạo tính chân thực cho video sau
khi xử lý. Hai vấn đề trọng tâm này thuộc về pha thay thế đối tượng tổng quát
đã được trình bày trong hình 1.2 sẽ được trình bày chi tiết trong chương này.
Mô hình phân vùng ảnh có tác dụng đánh dấu đối tượng bằng cách sử dụng
phương pháp phân vùng đối tượng trong ảnh luận án kế thừa từ nghiên cứu [48]
dựa trên mạng Mask R-CNN sẽ được trình bày trong phần 3.1. Tiếp đó là mô
hình video inpainting cải tiến, kết quả thực nghiệm của mô hình cải tiến V-
RBPconv được trình bày chi tiết trong phần 3.2.
3.1. Phân vùng đối tượng
Một vấn đề khá quan trọng cần giải quyết trong bài toán thay thế đối
tượng trong video là vấn đề xác định vùng hiển thị của đối tượng (gọi tắt là
phân vùng đối tượng) tức là tìm chính xác vùng hiển thị của đối tượng nguồn
trong các bounding box đã tìm thấy trong pha phát hiện đối tượng. Phân vùng
82
đối tượng thông thường được chia thành hai loại: phân vùng ngữ nghĩa và phân
vùng thực thể. Tuy nhiên, nhược điểm của phương pháp phân vùng theo ngữ
nghĩa là khi các thể hiện của cùng một lớp đối tượng gần nhau thì chúng được
gộp vào cùng một vùng. Vì vậy nếu áp dụng cho bài toán thay thế đối tượng sẽ
không phù hợp do tính duy nhất khi chỉ thay thế một đối tượng bằng đối tượng
khác không được bảo toàn. Do đó, luận án sử dụng các kỹ thuật phân vùng thực
thể để xác định vùng đối tượng.
3.1.1. Các kỹ thuật phân vùng thực thể
Trước khi mạng CNN ra đời, có ảnh hưởng lớn đến các phương pháp
phân vùng ảnh, đã có rất nhiều kỹ thuật phân vùng ảnh được phát triển và sử
dụng rộng rãi. Các giải thuật truyền thống này có thể kể đến như: phân ngưỡng
– chia một ảnh thành các vùng đối tượng và vùng nền. Phân cụm k-means –
nhóm các điểm ảnh thành k nhóm dựa trên sự tương đồng về đặc trưng. Phân
vùng ảnh dựa trên histogram – sử dụng một histogram để nhóm các điểm ảnh
dựa trên các mức xám. Dò tìm biên – phát hiện các thay đổi đột ngột hoặc
không liên tục trong mức sáng. Tuy nhiên do sử dụng các giải thuật cứng nhắc
và yêu cầu có sự can thiệp của con người hay chuyên gia nên rất kém hiệu quả
khi so sánh với các giải thuật phân đoạn dựa trên mạng CNN.
Từ khi mạng CNN ra đời, đã có nhiều phương pháp dựa trên CNN cho
bài toán phân vùng ảnh được nghiên cứu, phát triển nhằm gia tăng độ chính xác
trong xác định đối tượng. Phần lớn các mô hình này bao gồm hai giai đoạn: đầu
tiên dò tìm, xác định các RoI có thể chứa đối tượng, sau đó phân vùng đối tượng
trên những RoI này trong giai đoạn thứ hai. Ví dụ Mask-RCNN [30] sử dụng
Faster-RCNN [71] cho pha dò tìm RoI và một mạng phân lớp đầy đủ (Fully
Convolutional Network – FCN) cho pha phân vùng. Một số phương pháp khác
thực hiện phân đoạn ngữ nghĩa trước khi dùng các kỹ thuật bổ trợ sau đó như
dò biên, phân cụm điểm ảnh. Tuy nhiên những phương pháp này trải qua nhiều
giai đoạn và có thể cần dùng đến các giải thuật phân cụm tốn kém nên không
83
đạt tốc độ và độ chính xác cao. Mặc dù đã có nhiều nghiên cứu, sử dụng các
mạng khác nhau cho bài toán phân vùng ảnh nhưng vẫn chưa đạt được hiệu quả
cân bằng giữa tốc độ thực thi và độ chính xác, ngay cả với mô hình YOLACT
[11] phương pháp cho tốc độ nhanh nhất hiện nay nhưng độ chính xác lại thấp
nhất so với các phương pháp phổ biến khác.
Hình 3.1. Mô hình huấn luyện mạng phân vùng ảnh Nhánh trên (mầu vàng)
có vai trò tạo ra các mặt nạ vùng thực thể. Nhánh dưới (màu xanh) dùng để
huấn luyện mạng phân vùng ảnh với tập huấn luyện là các mặt nạ sinh ra từ
nhánh trên. [48]
Thuật toán 3.1. Huấn luyện mô hình phân vùng thực thể
Đầu vào: Tập ảnh huấn luyện, mỗi ảnh kèm nhãn 𝑦 = [𝑦 , 𝑦 , … , 𝑦 ]
Đầu ra: Mô hình phân vùng thực thể đã được huấn luyện
1: Huấn luyện bộ phân lớp C dựa trên CAM bằng mô hình PRM [96]
2: while i < số vòng lặp tối đa do
3: Lấy mẫu ngẫu nhiên một tập ảnh huấn luyện I;
4: Phát sinh một tập các đề xuất vùng P cho tập I;
5: Sử dụng PSL trên tập C thu được tập các đỉnh L cho tập I;
6: Khởi tạo một danh sách rỗng các kết quả T;
PSL
Loss
FCN
Mask R-CNN
Bản đồ kích hoạt lớp Cực đại cục bộ
Mạt nạ thực thể Vùng dự đoán
84
7: for each (𝑖 , 𝑗 ) ∈ 𝐿 do
8: Chọn ngẫu nhiên một đề xuất vùng (𝐺 , 𝑏 ) theo phương trình 3.1
giao với (𝑖 , 𝑗 )
9: Thêm 𝐺 vào danh sách T
10: end for
11: Tính ℒ (𝐼, 𝑇, 𝜃) theo phương trình 3.3;
12: Cập nhật các trọng số cho 𝜃 sử dụng cơ chế lan truyền ngược;
13: end while
3.1.2. Mô hình phân vùng thực thể
Mô hình phân vùng thực thể luận án sử dụng kế thừa từ nghiên cứu của
Laradji và các cộng sự [48]. Chi tiết mô hình được dùng để đánh dấu, trích chọn
vùng đối tượng trong ảnh hoặc bounding box thể hiện trong hình 3.1. Mô hình
này bao gồm hai phân nhánh: Nhánh thứ nhất, phát sinh các mặt nạ đánh dấu
vùng đối tượng (gọi tắt là mặt nạ vùng) cho các đối tượng trong ảnh để dùng
trong pha huấn luyện; và nhánh thứ hai là mạng phân vùng thực thể được huấn
luyện đầy đủ trên các mặt nạ được sinh ra trong nhánh thứ nhất. Mỗi phân
nhánh này sử dụng một kiến trúc mạng tích chập học sâu khác nhau cho mỗi
nhánh. Cụ thể, mạng PRM [96] được dùng trong nhánh phát sinh mặt nạ vùng
dựa trên các ảnh huấn luyện trong đó các vùng đối tượng huấn luyện đã được
đánh dấu ở mức ảnh; Mạng Mask R-CNN được sử dụng trong nhánh phân vùng
thực thể để trích chọn và đánh dấu các vùng chứa thực thể hoặc các phần hiển
thị của thực thể. Quá trình huấn luyện mô hình này được thể hiện theo giải thuật
3.1, ảnh huấn luyện với các nhãn mặt nạ được cho bởi 𝑦 = [𝑦 , 𝑦 , … , 𝑦 ] trong
đó 𝑦 = 1 ℎ𝑜ặ𝑐 0, xác định ảnh có hay không đối tượng thuộc lớp 𝑖.
Để phân vùng thực thể cho một ảnh mới, lúc này chỉ cần sử dụng duy
nhất mạng Mask R-CNN huấn luyện trước để phát sinh các mặt nạ cho các thực
85
thể trong ảnh mà không cần phải sử dụng đến bản đồ đáp ứng đỉnh (Peak
Response Maps - PRM [96]).
3.1.2.1. Phát sinh mặt nạ vùng
Một trở ngại lớn khác cho bài toán phân đoạn thực thể là các phương
pháp hiện tại thường cần các nhãn cho từng điểm ảnh trong pha huấn luyện.
Tuy nhiên để tạo ra các nhãn theo mức điểm ảnh này cần rất nhiều công sức,
thời gian và chi phí. Với nhiều ứng dụng cụ thể, để tạo ra các nhãn huấn luyện
này là không thể và cũng không sẵn có. Để khắc phục hạn chế này, luận án sử
dụng mô hình tạo mặt nạ vùng đối tượng theo đối tượng dựa trên CNN được
nghiên cứu trong [48]. Tiếp theo, luận án sử dụng mô hình Mask R-CNN để
thực thi phân vùng đối tượng. Mask R-CNN có tốc độ tương đối chậm khi phân
vùng đa đối tượng khi so sánh với YOLACT là mô hình phân vùng đạt tốc độ
nhanh nhất (>30fps). Khi so sánh độ chính xác thì Mask R-CNN cho độ chính
xác cao nhất trong nhóm kỹ thuật phân vùng trong khi YOLACT cho độ chính
xác khá thấp. Tuy nhiên khi áp dụng Mask R-CNN để phân vùng một đối tượng
trong bounding box đã được trính chọn có kích thước vừa trong pha phát hiện
đối tượng thì tốc độ phân vùng là chấp nhận được. Vì vậy, mô hình phân vùng
sử dụng trong luận án là Mask R-CNN được huấn luyện, thực nghiệm trên tập
dữ liệu PASCAL VOC 2012 kết hợp với mặt nạ vùng đối tượng sinh ra từ một
mạng tích chập đầy đủ (Fully convolutional networks - FCN [53]).
Hình 3.2. Ví dụ về làm tinh mặt nạ. Tại pha phân vùng, chỉ mạng Mask R-
CNN huấn luyện trước được sử dụng để đưa ra các mặt nạ dự đoán trong ảnh.
Khi sử dụng thêm bước tinh chỉnh, các mặt nạ dự đoán được có thể được thay
thế bằng các đề xuất vùng có chỉ số tương đồng Jaccard cao nhất. [48]
Ảnh đầu vào
Bộ làm tinh Mask R-CNN
Mặt nạ dự đoán Mặt nạ cuối cùng
86
Quá trình phát sinh mặt nạ vùng được thực hiện qua một số bước, trước
hết mô hình bản đồ đáp ứng đỉnh (Peak Response Maps - PRM [96]) được sử
dụng để phát sinh các điểm trọng tâm vùng là các phần nổi bật của các thực thể
đối tượng. Những điểm trọng tâm này là cơ sở để tạo ra mặt nạ vùng làm đầu
vào để huấn luyện mạng Mask R-CNN. Theo phương pháp PRM, bộ phân lớp
dựa trên bản đồ kích hoạt lớp (class response maps – CAM) với kiến trúc nền
là một FCN được huấn luyện trước, sau đó chuyển qua tầng kích hoạt cực đại
(Peak Simulation Layer - PSL) được minh họa trong hình 3.2. FCN được hình
thành từ mạng phân lớp dựa trên CNN truyền thống bằng cách loại bỏ các tầng
giảm kích thước (global pooling) và thay thế các tầng kết nối đầy đủ bằng các
tầng tích chập 1x1. FCN duy trì thông tin không gian thông qua quá trình
chuyển tiếp và cho ra các bản đồ kích hoạt lớp nên thích hợp cho dự đoán không
gian. Bản đồ kích hoạt lớp này xác định định hệ số tin cậy phân lớp tại mỗi vị
trí trong ảnh. Tiếp theo PSL đẩy ra 𝑁( ) cực đại cục bộ của CAM trong phạm
vi cửa sổ kích thước 𝑟, cụ thể 𝐿( ) = {(𝑖 , 𝑗 ), (𝑖 , 𝑗 ), … , (𝑖 , 𝑗 )} biểu diễn
các vị trí trong CAM thuộc lớp đối tượng thứ 𝑐. Để thúc đẩy các kích hoạt của
các cực trị cục bộ này, kích hoạt trung bình cần được tính đầu tiên, 𝑆( ) =
( )∑ 𝑀 ,
( )( , )∈ ( ) , trong đó 𝑀( ) là bản đồ kích hoạt tương ứng với lớp 𝑐.
Trung bình kích hoạt này sau đó được sử dụng cho phân lớp nhị phân. Tiến
trình phân lớp này được lặp lại cho đến khi mô hình hội tụ.
Khi phát sinh các mặt nạ vùng cho ảnh huấn luyện bằng cách sử dụng bộ
phân lớp huấn luyện trước ta có thể nhận được một tập các mặt nạ tương ứng
xung quanh các đỉnh là vị trí trọng tâm của đối tượng trong ảnh thu được từ
PSL. Dựa vào vị trí này, các mặt nạ vùng này có thể được thay thế chính xác
bằng các mặt nạ đề xuất vùng dựa trên tính đối tượng của nó theo độ tin cậy
được xác định trong phương pháp phát sinh đề xuất vùng. Các đề xuất vùng có
chỉ số đối tượng cao hơn thường được chọn. Cụ thể, để tạo ra được mặt nạ cho
một đối tượng định vị tại đỉnh (𝑖, 𝑗), trước hết một tập gồm N đề xuất vùng mà
87
các mặt nạ của nó giao nhau tại (𝑖, 𝑗), được đặt là 𝑃 =
{(𝐺 , 𝑏 ), (𝐺 , 𝑏 ), … , (𝐺 , 𝑏 ) } với 𝐺 là mặt nạ và 𝑏 là độ tin cậy đối tượng.
Khi đó, xác suất chọn ra một mặn nạ đề xuất vùng 𝐺 là
𝑃(𝐺 ) = ∑
(3.1)
3.1.2.1. Phân vùng thực thể bằng Mask R-CNN
Sử dụng nhánh phát sinh mặt nạ vùng tập mặt nạ vùng đối tượng đã được
sinh ra, gán nhãn trên tập ảnh huấn luyện và có thể được sử dụng độc lập trong
pha huấn luyện của mạng phân đoạn ảnh bất kỳ. Tùy thuộc vào đặc trưng của
từng ứng dụng mà mạng phân đoạn phù hợp được lựa chọn. Ví dụ nếu mục tiêu
phân đoạn thực thể cần theo thời gian thực không cần độ chính xác cao thì
YOLACT là một lựa chọn tốt, hay mạng phân vùng DeepLab [15] có thể được
chọn nếu cần phân đoạn ngữ nghĩa. Do đặc trưng của bài toán đang nghiên cứu
cần độ chính xác cao trong phân lớp và tận dụng các bounding box đã được
trích chọn, phân lớp cùng với các đặc trưng của nó trong pha nhận nên mạng
phân vùng đối tượng Mask R-CNN được lựa chọn. Tốc độ phân vùng của mạng
Mask R-CNN được gia tăng đáng kể khi sử dụng các bounding box sẵn có thay
vì phải trích chọn đề xuất vùng thông qua mạng RPN.
Hình 3.3. Mô hình phân vùng thực thể Mask R-CNN
Mask R-CNN là một kỹ thuật phân vùng thực thể đối tượng xác định
từng điểm ảnh thuộc đối tượng nào trong ảnh thay vì chỉ xác định các bounding
88
box. Mask R-CNN mở rộng Faster R-CNN bằng cách thêm nhánh dự đoán mặt
nạ đối tượng trên mỗi đề xuất vùng. Mask R-CNN bao gồm hai giai đoạn: phát
sinh đề xuất vùng, sau đó phân lớp các đề xuất vùng và phát sinh các bounding
box và mặt nạ như trong hình 3.3. Nhánh phía trên dùng dự đoán bounding box
và lớp đối tượng trên ảnh. Tuy nhiên nhánh này không được sử dụng do các
bounding box cùng với nhãn của đối tượng đã được dự đoán trong pha phát
hiện đối tượng trước đó mà sử dụng FCN trên các vùng trích chọn này. Nhánh
dưới sử dụng một FCN làm nhiệm vụ đánh nhãn cho mỗi điểm ảnh trong vùng
bounding box để xây dựng mặt nạ đối tượng.
Với một mạng nơron tích chập bình thường được sử dụng cho dò tìm và
nhận dạng đối tượng thường gồm các tầng nhân chập, các tầng trung gian và
tầng cuối. Để giảm kích thước ở tầng cuối thường là một vector có cùng kích
thước với số lớp và cho biết điểm số dự đoán của mỗi lớp. FCN loại bỏ các tầng
trung gian và thay thế tầng cuối cùng bằng một số bước tích chập cho ra số
lượng đặc trưng cùng kích thước với số lớp. Sau quá trình học thích hợp FCN
cho ra điểm số dự đoán lớp cho tất cả các điểm ảnh của lớp cuối cùng. Mỗi lớp
nhận được một “bản đồ nhiệt”. Phần phân đoạn của Mask R-CNN sẽ sử dụng
kết quả “bản đồ nhiệt” như trên và sau đó tiến hành giải tích chập
(deconvolution) và tăng kích thước (unpooling) để thu được mặt nạ trên ảnh
gốc. Trong đó deconvolution thực chất chỉ là tích chập với ma trận chuuyển vị.
Với max-pooling ta lấy giá trị max của khối vì vậy thông tin sẽ bị mất mát đi
trong quá trình pooling. Unpooling là quá trình ta xây dựng lại ma trận bằng
cách ghi nhớ tọa độ của điểm cực đại và điền lại chính xác các điểm còn lại
khác trong khối là giá trị xấp xỉ từ các điểm đã có giá trị.
Deconvolution và unpooling làm xuất hiện một phân vùng dự đoán trên
ảnh gốc cho tất cả các lớp đối tượng. Đây cũng chính là đầu ra cho khối phân
vùng đối tượng.
89
Đối với ảnh I, với mặt vùng T, Mask R-CNN với các tham số được
huấn luyện bằng cách tối ưu hóa hàm mục tiêu sau,
ℒ(𝐼, 𝑇, ) = ℒ + ℒ + ℒ (3.2)
Trong đó ℒ là lỗi phân lớp khi dò tìm đối tượng, ℒ là lỗi xác định
vị trí khi dò tìm đối tượng và ℒ là lỗi phân vùng. Tuy nhiên trong nghiên
cứu này, tiến trình phân lớp đã được thực hiện trước đó, tức là các đối tượng
ảnh huấn luyện và đầu vào đã được gán nhãn lớp. Vì vậy thành phần ℒ là
không cần thiết, lúc này hàm mục tiêu được viết lại thành:
ℒ(𝐼, 𝑇, ) = ℒ + ℒ (3.3)
Hình 3.4. Một số kết quả phân vùng thực thể trực quan trên tập dữ liệu
PASCAL VOC 2012 [48]
Mask R-CNN sau khi được huấn luyện được dùng để dự đoán mặt nạ
vùng cho đối tượng trong ảnh mới. Để làm mượt, thu được vùng đối tượng
chính xác hơn, mặt nạ vùng sinh ra từ mạng Mask R-CNN có thể được đưa qua
bộ làm tinh. Trong bước làm tinh này đề xuất vùng đối tượng của cùng đối
90
tượng sử dụng trong khi huấn luyện được tận dụng và tái sử dụng. Theo đó,
mỗi mặt nạ đối tượng dự đoán được thay thế bởi đề xuất vùng có chỉ số tương
đồng Jaccard (được tính theo công thức 2.1) cao nhất. Hình 3.4 cho thấy kết
quả mặt nạ vùng sinh ra tốt hơn sau khi qua bộ làm tinh.
3.1.3. Kết quả thực nghiệm mô hình phân vùng
Mạng PRM trong pha sản sinh mặt nạ vùng sử dụng kiến trúc mạng
ResNet-50 [31] được huấn luyện trước trên tập dữ liệu ImageNet [20]. Khác
với PRM, Mask R-CNN được trang bị với một mạng tháp đặc trưng dùng để
trích chọn đặc trưng tại các độ phân giải khác nhau. Các trọng số huấn luyện
trước, cùng với các tham số còn lại, sau đó được hoàn thiện trên tập huấn luyện
PASCAL VOC 2012. Các tham số còn lại của PRM và Mask R-CNN được
thảo luận chi tiết trong [96], và [30] tương ứng. Mạng SharpMask [66] được sử
dụng để tạo ra các đề xuất vùng.
Bảng 3.1. So sánh kết quả của mô hình sử dụng với các phương pháp khác
sử dụng nhiều phương pháp tạo mặt nạ huấn luyện khác nhau [48]
Phương pháp Phương pháp tạo mặt nạ mAP50
Mask R-CNN [30] Mức điểm ảnh 51.4
DeepMask [44] Mức điểm ảnh 41.7
PRM [96] Mức ảnh 26.8
DeepMask [44] Mức hộp bao 8.1
Mô hình sử dụng Mức ảnh 41.7
Một số kết quả trực quan với số lượng đối tượng được phân vùng trong
một ảnh từ 1 đến 3 được thể hiện trong hình 3.3. Phương pháp luận án kế thừa
cũng được so sánh với một số phương pháp phân vùng phổ biến khác dựa trên
mạng huấn luyện đầy đủ khác với độ chính xác trung bình mAP đạt ở mức 0.5.
So với Mask R-CNN phương pháp [48] có hiệu năng thực thi tốt hơn theo hai
cách tạo mặt nạ dùng trong huấn luyện, một là sử dụng ở mức bounding box và
91
một là ở mức ảnh để tạo ra các nhãn trong ảnh huấn luyện (bảng 3.1). Tuy nhiên
khi so sánh với Mask R-CNN huấn luyện trên tập nhãn hình thành theo mức
điểm ảnh, phương pháp luận án sử dụng vẫn cần phải cải tiến mạnh mẽ hơn nữa
mới theo kịp về hiệu năng thực thi, đặc biệt là cải tiến thành phần sinh mặt nạ
và phương pháp sinh đề xuất vùng.
Hình 3.5. Hiệu năng phân lớp trên dữ liệu PASCAL VOC 2012 [48]
Kích thước của đối tượng và số lượng đối tượng có trong một ảnh có ảnh
hưởng mạnh đến hiệu năng thực thi của mô hình. Hình 3.5 minh họa hiệu năng
thực thi của mô hình được luận án lựa chọn dùng để phân đoạn với kích thước
các đối tượng khác nhau và với số lượng đối tượng khác nhau. Biểu đồ hình 3.5
cho thấy độ chính xác của mô hình Mask R-CNN huấn luyện trên mặt nạ sinh
ra dựa trên mức điểm ảnh cao hơn một chút so với mô hình huấn luyện trên mặt
nạ được sinh ra bằng phương pháp huấn luyện. Mặc dù biểu đồ hình 3.5(b) cho
thấy chất lượng phân vùng tỷ lệ nghịch với số lượng đối tượng cần phân vùng
trong ảnh, nhưng với bài toán mà đối tượng cần khoanh vùng chỉ là một thì độ
chính xác đạt được cũng tương đối cao, trên 65 mAP.
Thực nghiệm phân vùng trên ảnh chứa một đối tượng được lựa trọn từ
tập dữ liệu PASCAL VOC 2012 cho thấy tốc độ thực thi tuy không bằng
YOLACT (độ chính xác thấp hơn) nhưng tương đương với Mask R-CNN và
có thể chấp nhận được.
92
3.2. Mô hình hoàn thiện video
Sau khi xác định được vùng đối tượng và loại bỏ chúng khỏi video, tiến
trình chèn đối tượng cần thay thế vào vùng này sẽ sản sinh ra các vùng trống là
vùng đã bị xoá mà không được lấp đầy. Do đối tượng nguồn và đích có kích
thước không hoàn toàn giống nhau nên các vùng trống có sự đa dạng về kích
thước và hình dạng. Với kích thước nhỏ hình dạng ô vuông, một số kỹ thuật
video inpainting đã được phát triển cho việc hoàn thiện các vùng trống tại một
vị trí cố định cho các frame ảnh đã cho các kết quả khá khả quan. Tuy nhiên
các kỹ thuật video inpainting với kích thước vùng bị phá hủy bất kỳ vẫn là một
bài toán khó, chưa tìm được lời giải tối ưu.
Hình 3.6. Kiến trúc mô hình video inpainting 3DGated [14]
Nhìn chung các mô hình video inpainting hiện đại được hình thành từ
hai thành phần: thành phần sinh ảnh và thành phần phân biệt ảnh [14] [92].
Trong mô hình đề xuất Ya-Liang Chang và các cộng sự [14] đã sử dụng mạng
U-net gồm hai thành phần mã hoá và giải mã (encoder-decoder) trong thành
phần sinh ảnh. Tuy nhiên khác với mạng CNN U-net thông thường, tác giả đã
sử dụng các phép tích chập đầu vào 3D (3D Gated Convolution) và phép tích
chập đầu vào 3D mở rộng thay cho các phép tích chập thông dụng. Bên cạnh
đó bộ phân biệt mẫu theo thời gian (Temporal Patch Discrimination) được Ya-
Liang Chang và các cộng sự [14] sử dụng để đối sánh, hiệu chỉnh ảnh sản sinh
so với ảnh thực theo thời gian để tạo tính đồng bộ và nhất quán trong video.
Mô hình chi tiết được mô tả trong hình 3.6.
93
Mô hình của 3DGated [14] đã được thực nghiệm, chứng minh mức độ
hiệu quả của nó nổi bật hơn các phương pháp video inpainting phổ biến khác
cho các vùng mặt nạ hình dạng bất kỳ với độ dày không quá lớn. Video tạo
thành từ mô hình này có tính chân thực cao. Tuy nhiên, nhược điểm của nó là
sử dụng các phép tích chập 3D nên làm cho mô hình trở nên lãng phí tài nguyên,
tốn kém chi phí tính toán khi dữ liệu huấn luyện lớn. Bên cạnh đó, số lượng
tham số lớn dẫn đến sự dư thừa không cần thiết, làm giảm tốc độ tái tạo ảnh
của mô hình.
Để khắc phục các nhược điểm nêu trên, luận án đưa ra một cải tiến sử
dụng mạng tích chập từng phần trên khối mạng thặng dư (Residual Block
Partial convolution – RBPconv) trong phần sinh ảnh trong mô hình 3DGated
[14]. Mô hình video inpainting cải tiến V-RBPconv (hình 3.7) được áp dụng
giải quyết vấn đề hoàn thiện vùng bị phá hủy có kích thước và hình dạng bất
kỳ với độ dày không quá lớn. Mô hình này phù hợp với đặc thù của lớp bài toán
đang nghiên cứu trên vùng trống có hình dạng đa dạng nhưng với độ dày không
quá lớn. Với lý do trên, mô hình cải tiến đặc biệt tập trung thử nghiệm trên bộ
dữ liệu mà vùng mất mát thông tin có kích thước bề dày nhỏ, dài và hình dạng
bất kỳ. Mục tiêu mà mô hình cải tiến đạt được không chỉ thực hiện tốt việc tái
tạo vùng mất mát thông tin cho từng frame ảnh mà còn duy trì được tính nhất
quán về thời gian cũng như tính kết cấu về không gian.
Hình 3.7. Kiến trúc mô hình video inpainting V-RBPconv
Losses
Input video
Mặt nạ
Output video
Ground truth
(a) (b)
94
Mô hình cải tiến V-RBPconv được luận án sử dụng cho bài toán hoàn
thiện vùng trống có kích thước và hình dạng bất kỳ trong video bằng cách học
sự khác biệt giữa các vùng nguồn, vùng đích. Vùng đã được lấp đầy trong mỗi
tầng tích chập thu được là các đặc trưng tốt để lấp đầy vùng bị phá hủy. Tương
tự như mô hình 3DGated [14], mô hình cải tiến cũng được cấu thành từ hai bộ
phận: Bộ sinh ảnh và bộ đối sánh theo thời gian. Bộ phận thứ nhất gọi là bộ
sinh ảnh có nền tảng dựa trên mô hình inpainting ảnh RBPconv để tạo ra các
ảnh hoàn thiện rời rạc. Bộ thứ hai là bộ đối sánh ảnh, hiệu chỉnh ảnh sản sinh
theo thời gian (Temporal PatchGAN - TPGAN) [14] ảnh gốc trên dựa trên tính
toàn vẹn về kết cầu thời gian của ảnh nhằm tìm ra ảnh chân thực có tính tự
nhiên cao. Chi tiết về các thành phần trong mô hình cải tiến được trình bày chi
tiết trong các phần tiếp theo trước khi kết quả thực nghiệm được đưa ra chứng
minh độ hiệu quả của mô hình cải tiến.
3.2.1. Kiến trúc mô hình V-RBPconv
Trong mô hình V-RBPconv được minh họa trong hình 3.7, trước tiên bộ
sinh ảnh sử dụng kiến trúc RBPconv tận dụng tối đa các thông tin từ các frame
lân cận để lấp đầy, tái tạo các vùng trống trong video có hình dạng và kích
thước bất kỳ nhằm sinh ra các frame ảnh có tính chân thực. Sau đó, bộ đối sánh
Temporal PatchGAN tập trung vào việc phát hiện các đặc trưng có sự khác biệt
về mặt không gian và thời gian giữa ảnh sinh ra từ bộ sinh ảnh và ảnh thực (ảnh
grounth-truth). Nếu sự khác biệt chưa đủ nhỏ thì tiến hành hiệu chỉnh nhằm
nâng cao chất lượng ảnh cũng như video đầu ra.
Luận án mở rộng mạng RBPconv một trạng thái sử dụng cho bài toán
video inpainting (Hình 3.5.a). Trong quá trình huấn luyện, mô hình kết hợp các
frame ảnh ground truth trong video gốc {𝑉 |𝑡 = 1 … 𝑛} và các mặt nạ {𝑀 |𝑡 =
1 … 𝑛} đánh dấu vùng bị phá hủy tạo thành một video mặt nạ đầu vào {𝐼 |𝑡 =
1 … 𝑛}. Mô hình hoàn thiện các ảnh dựa trên vùng mặt nạ này và tạo ra các
frame đầu ra {𝑂 |𝑡 = 1 … 𝑛}.
95
Hình 3.8. Kiến trúc mô hình RBPconv
3.2.2. Mô hình kiến trúc mạng RBPconv
Mô hình cải tiến cho bộ sinh ảnh để tạo ra video inpainting thô dựa trên
kiến trúc mạng RBPconv với nền tảng là mô hình kiến trúc U-net cải tiến có
tích hợp với các thành phần của các mô hình học sâu khác như: các khối
Residual cải tiến, phép tích chập từng phần và các kết nối nhảy Residual. Mô
hình chi tiết được minh họa trong hình 3.8.
RBPconv bắt nguồn từ mô hình kiến trúc mạng mã hoá đặc trưng-giải
mã đặc trưng (encoder-decoder). Tuy nhiên để tăng tốc độ huấn luyện, các khối
residual cải tiến được sử dụng thay vì các tầng tích chập thông thường cho các
lớp ở giữa mạng này. Tại các mức đặc trưng thấp, cả tầng tích chập đơn giản
và tầng tích chập phức tạp đều cho kết quả tương tự nhau [93]. Do đó tại tầng
tích chập thứ nhất, các mặt nạ 3x3x64 được sử dụng để thu được bản đồ đặc
trưng mức thấp 64 chiều. Sau đó các khối residual được thiết lập cho các tầng
tích chập. Sự thay thế này làm gia tăng hiệu năng thực thi của mạng.
Mô hình RBPconv sử dụng kiến trúc mạng U-net với tổng cộng 20 tầng
trong đó 10 tầng trong phần encoder và 10 tầng trong phần decoder tương ứng
(chi tiết các tầng được cho trong phụ lục C). Phần encoder được dùng để học
các đặc trưng ảnh, đây cũng chính là một tiến trình mô tả đặc tính của các ảnh.
Phần Decoder là một tiến trình khôi phục và giải mã các đặc trưng đã học tạo
ra ảnh thực. Trong nhiều trường hợp, các thông tin được cung cấp bởi các điểm
96
ảnh xung quanh một điểm ảnh được xem xét. Kiến trúc U-net nguyên bản gồm
2 phần giảm mẫu (down-sampling) và tăng mẫu (up-sampling). Down-
sampling được sử dụng để lấy dần các thông tin môi trường và tiến trình up-
sampling trộn các đặc trưng đã học và các thông tin môi trường trong down-
sampling để khôi phục từng chi tiết của điểm ảnh bị mất.
Trong cải tiến này mỗi tầng tích chập con được theo sau bởi chuẩn hóa
batch và hàm kích hoạt. Hàm kích hoạt ReLU được sử dụng cho các tầng
encoder và LeakyReLU với alpha=0.2 được sử dụng trong các tầng decoder.
Bên cạnh đó, tất cả các tầng tích chập được thay thế bằng tích chập từng phần.
Zero padding với kích thước 1 được sử dụng để làm cho tất cả các bản đồ đặc
trưng có cùng kích thước.
Hình 3.9. Kiến trúc khối residual cải tiến
97
Khối Residual
Gần đây, các mạng nơron tích chập học sâu đã đạt được hiệu năng thực
thi rất cao trong phân lớp và nhận dạng ảnh. Đặc biệt là mạng Resnet được cấu
thành từ các khối residual và kết nối nhanh đã cho kết quả rất tốt trong cả độ
chính xác và tốc độ thực thi. Tận dụng những ưu điểm của các khối residual
này, luận án nghiên cứu cải tiến để áp dụng cho bài toán tái tạo ảnh. Kiến trúc
của khối residual cải tiến được minh họa trong hình 3.9.
Khối residual cải tiến được hình thành từ 2 khối con. Đầu tiên bộ lọc tích
chập kích thước 1x1 được áp dụng cho mỗi khối con trong kiến trúc hình tháp
với mục đích làm giảm số chiều của bản đồ đặc trưng (ví dụ từ 64 chiều xuống
còn 32 chiều) trước khi áp dụng bộ lọc thông dụng kích thước 3x3. Do số chiều
của bản đồ đặc trưng giảm nên chi phí tính toán giảm đi một cách đáng kể. Ví
dụ đầu ra của tầng trước (là đầu vào của tầng hiện tại) là 100x100x128 đi qua
tầng nhân chập hiện tại cho đầu ra là 100x100x256 sau khi nhân chập với mặt
nạ 3x3 với 256 kênh (stride =1, pad=2), thì các tham số sẽ là 128x3x3x256 =
294912. Nếu đầu ra của tầng trước đi qua tầng nhân chập kích thước 1x1 với
64 kênh trước và sau đó nhân chập với mặt nạ 3x3, 256 kênh thì kết quả vẫn là
100x100x256, nhưng tham số nhân chập giảm xuống 128x1x1x64 +
64x3x3x256=155648, tức là giảm gần 2 lần.
Một khối con chứa một tầng tích chập với kích thước mặt nạ 3x3. Trong
khi khối còn lại chứa hai tầng tích chập kích thước mặt nạ 3x3 như trong hình
3.9. Các đặc trưng cục bộ sau khi qua các tầng tích chập của hai khối con có
kích thước khác nhau được tập hợp và nối lại với nhau. Kết nối nhanh (short-
cut) được áp dụng trực tiếp giữa đầu vào và đầu ra hạn chế hiện tượng mất
gradient trong các mạng học sâu. Các kết nối short-cut được chứng minh trong
nghiên cứu [31] không làm gia tăng thêm các tham số phụ cũng như độ phức
tạp chi phí tính toán.
98
Partial Convolution
Khái niệm về tích chập từng phần được đề xuất lần đầu trong nghiên cứu
[50] áp dụng cho bài toán inpainting với các vùng trống không phổ dụng đã thu
được kết quả khả quan. Tích chập từng phần có thể được suy ra bằng các mặt
nạ và có được tái chuẩn hóa chỉ dựa trên các điểm ảnh hợp lệ. Gọi W là trọng
số của bộ lọc tích chập và b là độ lệch chuẩn tương ứng. X là các giá trị đặc
trưng trong cửa sổ trượt hiện tại, M là mặt nạ nhị phân tương ứng. Tích chập
từng phần tại mỗi vị trí được biểu diễn như sau:
𝑥 =𝑊 (𝑋 ⊙ 𝑀)
( )+ 𝑏, 𝑠𝑢𝑚(𝑀) > 0
0, 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (3.4)
Trong đó ⊙ biểu diễn phép nhân từng phần tử tương ứng của hai ma
trận. Có thể thấy rằng, các giá trị tính được chỉ phụ thuộc vào vùng ngoài mặt
nạ. Tích chập từng phần có ảnh hưởng tốt hơn tích chập chuẩn khi xử lý chính
xác với các mặt nạ kích thước bất kỳ. Khác với bài toán phân loại ảnh hay dò
tìm đối tượng trong đó tất cả các điểm ảnh của ảnh đầu vào là hợp lệ, bài toán
inpainting lại có nhiều điểm ảnh không hợp lệ nếu bị rơi vào vùng bị phá hủy
hay các vùng trong mặt nạ. Các giá trị điểm ảnh của vùng mặt nạ thông thường
được đặt là 0 hoặc 1. Tận dụng các ưu điểm của phép tích chập từng phần này,
mô hình cải tiến thay thế phép tích chập chuẩn ở tất cả các tầng tích chập bằng
phép tích chập từng phần.
Ngoài ra, theo sau mỗi phép tích chập từng phần là cơ chế phát sinh và
cập nhật mặt nạ tự động cho các tầng tích chập tiếp theo như là một phần của
mạng chuyển tiếp. Nếu như phép tích chập có thể ước định đầu ra của nó trên
ít nhất một giá trị đầu vào hợp lệ thì vị trí này được đánh dấu là hợp lệ. Điều
này có thể được biểu diễn bởi công thức:
𝑚 =1 𝑛ế𝑢 𝑠𝑢𝑚(𝑀) > 0
0, 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (3.5)
99
3.2.3. Hàm loss
Hàm loss toàn cục dùng để huấn luyện mô hình được định nghĩa như sau:
𝐿 = 𝜆 ℒ + 𝜆 ℒ + 𝜆 ℒ + 𝜆 ℒ (3.6)
Hàm loss cấu trúc. Để so sánh sự khác biệt giữa hai cấu trúc ảnh khôi
phục và ảnh gốc trong hàm Loss cấu trúc sử dụng chuẩn L1 được định nghĩa
như sau:
ℒ = ‖𝑀⨀(V − O)‖ (3.7)
Hàm loss trực quan. Hàm loss trực quan (perceptual loss) dùng để đo
sự khác biệt về trực quan và ngữ nghĩa giữa hai ảnh được định nghĩa tương tự
như trong [39]:
ℒ, (𝑂, 𝑉) = 𝜙 (O) − 𝜙 (V) (3.8)
Trong đó 𝜙 (𝐼) là các bản đồ đặc trưng kích hoạt đầu ra của tầng thứ j
của mạng 𝜙 khi xử lý ảnh 𝐼; 𝜙 (𝐼) là một bản đồ đặc trưng có kích thước Cj x
Hj x Wj. Perceptual loss lần đầu tiên được áp dụng cho bài toán inpainting ảnh
trong nghiên cứu [90].
Hàm loss hình dáng. Hàm loss hình dáng (style loss) cũng được sử dụng
để loại bỏ các thành phần lạ hình bàn cờ [60], tương tự như perceptual loss,
nhưng ma trận tương quan (ma trận Gram) trên mỗi bản đồ đặc trưng được sử
dụng và được định nghĩa như sau:
ℒ, (𝑂, V) = 𝐺 (O) − 𝐺 (V) (3.9)
Trong đó, 𝜙 (𝐼) là một bản đồ đặc trưng mức cao có hình dạng CjxHjxWj,
đưa ra một ma trận gram 𝐺 kích thước Cj x Cj và là hệ số chuẩn hóa
cho tầng thứ j.
100
Hàm loss phân biệt ảnh tái tạo và ảnh thực theo thời gian. Để giải
quyết bài toán video inpainting với mặt nạ có kích thước hình dạng bất kỳ, hơn
nữa mặt nạ có thể ở vị trí ngẫu nhiên trong ideo, các đặc trưng cục bộ và toàn
cục cần được xem xét trong từng frame cùng với sự nhất quán về mặt thời gian
của những đặc trưng trong các frame này. Một ý tưởng đơn giản là áp dụng một
hàm loss chung cho từng thành phần này. Tuy nhiên, kinh nghiệm cho thấy, rất
khó để cân đối các trọng số của những hàm loss này đặc biệt là khi một vài
trong số chúng là các hàm loss trong mạng sinh đối kháng (generative
adversarial network - GAN) thường được thêm vào để làm cho ảnh hoàn thiện
có tính chân thực hơn [60] [92] [91].
Bắt nguồn từ đề xuất của Yu và các cộng sự [91] sử dụng hàm loss GAN
cho các bản đồ đặc trưng phân biệt để thay thế cho việc phải sử dụng các GAN
toàn cục và cục bộ nhằm giải quyết vấn đề mà các mặt nạ xuất hiện ở vị trí ngẫu
nhiên trong video cũng như ở bất kỳ khuôn dạng nào. Bộ phân biệt Temporal
PathGAN (T-PatchGAN) được giới thiệu trong [14] tập trung vào sự khác biệt
giữa các đặc trưng không gian-thời gian nhằm tận dụng đầy đủ các đặc trưng
ảnh toàn cục, cục bộ và các thông tin về thời gian với nhau. Bộ phân biệt T-
PatchGAN bao gồm 6 tầng tích chập với bộ lọc kích thước 3 x 5 x 5 và bước
nhảy 1 x 2 x2. Lúc này, hàm loss để phân biệt video đầu vào là thật hay giả
được định nghĩa dựa trên nghiên cứu [14] như sau:
ℒ = 𝔼 ~ ( )[𝑅𝑒𝐿𝑈(1 + 𝐷(𝑥)] + 𝔼 ~ ( )[𝑅𝑒𝐿𝑈(1 − 𝐷(𝐺(𝑧))] (3.10)
ℒ = −𝔼 ~ ( )[𝐷 𝐺(𝑧) ] (3.11)
Trong đó 𝐺 là mạng video inpainting nhận đầu vào là video z và D là bộ
phân biệt T-PatchGAN.
3.2.4. Ước lượng, đánh giá mô hình hoàn thiện video
Trong quá trình thực nghiệm, mô hình tái tạo, hoàn thiện ảnh cải tiến
RBPConv và mô hình video inpainting cải tiến V-RBPConv được thực hiện
101
độc lập trên cùng tập mặt nạ nhưng với các tập dữ liệu huấn luyện khác nhau.
Chi tiết về môi trường và kết quả thực nghiệm được trình bày trong các phần
sau đây.
Hình 3.10. Một số mặt nạ minh họa [14]
3.2.4.1. Môi trường thực nghiệm
Tập mặt nạ huấn luyện. Dữ liệu huấn luyện đặc biệt quan trọng cho các
phương pháp dựa trên huấn luyện. Trong nghiên cứu này, luận án ngoài việc
sử dụng tập mặt nạ tạo ra trong nghiên cứu [50] để kiểm thử mô hình RBPConv
và so sánh kết quả với các mô hình khác còn sử dụng tập mặt nạ được tạo ra
dựa trên thuật toán sinh mặt nạ trong nghiên cứu [14]. Các mặt nạ này được
chia vào 3 nhóm gồm: mặt nạ hình điểm, mặt nạ dạng hình chữ nhật, mặt nạ
hình đường vẽ như được minh họa trong hình 3.10. Tuy nhiên do phạm vi, đặc
trưng của bài toán nghiên cứu nhóm mặt nạ hình chữ nhật không được dùng để
kiểm thử mà tập trung vào nhóm hình điểm và hình đường vẽ, đặc biệt là nhóm
mặt nạ hình đường vẽ bất kỳ được kiểm nghiệm nhiều nhất do phù hợp nhất
với bài toán thay thế đối tượng quảng cáo trong video. Tập mặt nạ ảnh huấn
luyện mô hình RBPConv gồm 55.116 mặt nạ và tập kiểm thử gồm 24.886 mặt
nạ. Tập dữ liệu huấn luyện cho mô hình video inpainting V-RBPconv gồm
28,000 video với mặt nạ bất kỳ cho từng frame cho pha huấn luyện và mỗi loại
mặt nạ có 100 video được tạo ra cho pha kiểm thử.
Tập dữ liệu kiểm thử. Luận án sử dụng 2 bộ dữ liệu thực nghiệm. Bộ
dữ liệu Places2 [55] dùng để so sánh kết quả thực nghiệm của mô hình
RBPConv với các kết quả thực nghiệm của các nghiên cứu gần nhất. Để so sánh
102
kết quả thực nghiệm của mô hình V-RBPconv, tập dữ liệu FVI (Free-form
video inpainting) được Ya-Liang Chang và các cộng sự sưu tầm trong nghiên
cứu [14]. Tập dữ liệu này bao gồm các video từ tập dữ liệu YouTube-VOS [88]
và YouTube-BoundingBoxes [67]. Vì vậy dữ liệu có tính đa dạng cao với nhiều
kiểu đối tượng, cũng như các hành động của con người và động vật. Mặt khác,
tất cả các video trong tập dữ liệu FVI có nguồn gốc từ YouTube nên ngữ cảnh
của nó là thế giới thực. Ngoài ra, trong video đã cung cấp cả phân vùng đối
tượng và bounding box nên FVI rất phù hợp để kiểm thử cho bài toán thay thế
đối tượng khi vùng trống sinh ra là nhỏ, dài, đa dạng về mặt hình thái và bài
toán loại bỏ đối tượng.
Môi trường thực nghiệm. Môi trường thực nghiệm được thiết lập tương
đương trong nghiên cứu [14]. Tiến trình huấn luyện được thực hiện trên máy
chủ Nvidia Tesla V100 GPU (16GB). Các tham số trong mô hình V-RBPcon
được tối ưu hóa sử dụng giải thuật Adam [45] với tỷ lệ học là 0.0002, kích
thước mỗi batch là 16.
GLCIC [36] CA [92] PIC [94] RBPConv
Hình 3.11. So sánh trực quan tái tạo, hoàn thiện ảnh của các mô hình
103
3.2.4.2. Kết quả so sánh định tính
Hình 3.11 biểu diễn các kết quả tái tạo, hoàn thiện ảnh trực quan của
RBPconv so với các phương pháp được phát triển gần đây nhất là GLCIC
(Global and Local Consistent Image Completion) [36], CA(Contextual
Attention) [92], PIC (Pluralistic Image Completion) [94]. Những kết quả này
minh chứng rằng mặc dù không có một mạng tách biệt cho phát sinh cạnh như
trong nghiên cứu [94] nhưng ảnh được khôi phục vẫn bảo toàn các cấu trúc hợp
lý. Mô hình cải tiến tận dụng kiến trúc residual có thể cập nhật các mặt nạ từng
bước và cũng cho phép các bộ lọc tích chập tự hoàn thiện các đường bao. Hơn
nữa trong ảnh hoàn thiện các vết mờ rất cũng ít xuất hiện. Các ảnh tạo ra bởi
mô hình RBPConv gần với ground truth hơn các ảnh sinh từ các phương pháp
khác. Mặc dù trong một số ít trường hợp có thể xuất hiện vết mờ, nhưng nó lại
thích hợp với nền của các vùng xung quanh.
(a) video đầu vào
(b) Edge Connect [60]
(c) CombCN [82]
(d) 3Dgated [14]
(e) V-RBPconv
(f) Ground Truth
Hình 3.12. So sánh trực quan của các mô hình video inpainting
104
Trong khi đó kết quả video inpainting trực quan được thể hiện trong hình
3.12. Kết quả trực quan này cho thấy mô hình CombCN’s cho chất lượng video
thấp nhất với một số phần inpainting bị mờ. Trong khi đó, có một chút nhấp
nháy xuất hiện khi hoàn thiện với các mô hình Edge-Connect. Mô hình V-
RBPconv và 3Dgated cho ra kết quả rất tự nhiên hơn với tính nhất quán về thời
gian cao hơn các kỹ thuật còn lại.
3.2.4.3. Kết quả so sánh định lượng
Chất lượng hình ảnh thu được sau khi inpainting có thể được đánh giá
định lượng thông qua các chỉ số đo. Để đánh giá định lượng về chất lượng của
mô hình tái tạo, hoàn thiện ảnh, luận án sử dụng các độ đo chất lượng ảnh là:
chỉ số đồng nhất có cấu trúc (Structural Similarity Index - SSIM) [95] và Tỉ số
tín hiệu cực đại trên nhiễu (Peak Signal-to-Noise Ratio - PSNR) [27].
SSIM là độ đo chất lượng ảnh tái tạo dựa trên đánh giá tác động trực
quan lên ba đặc tính của ảnh: độ chói, độ tương phản và cấu trúc. Vì vậy chỉ số
tổng thể được tổng hợp từ tích của ba thành phần:
𝑆𝑆𝐼𝑀(𝑥, 𝑦) = [𝑙(𝑥, 𝑦)] [𝑐(𝑥, 𝑦)] [𝑠(𝑥, 𝑦)] (3.12)
Trong đó:
𝑙(𝑥, 𝑦) =
, (3.13)
𝑐(𝑥, 𝑦) =
, (3.14)
𝑠(𝑥, 𝑦) = , (3.15)
Với 𝜇 , 𝜇 , 𝜎 , 𝜎 và 𝜎 là các trung bình cục bộ, độ lệch chuẩn và hiệp
phương sai chéo của hai ảnh x, y. Nếu 𝛼 = 𝛽 = 𝛾 = 1 (giá trị mặc định) và
𝐶 = 𝐶 /2 (giá trị mặc định cho 𝐶 ), lúc này SSIM được đơn giản hóa thành:
𝑆𝑆𝐼𝑀(𝑥, 𝑦) =( )( )
( )( ) (3.16)
105
Khối PSNR tính toán tỷ lệ nhiễu tín hiệu cực đại, tính bằng decibel, giữa
hai hình ảnh. Tỷ lệ này được sử dụng như một phép đo chất lượng giữa ảnh gốc
và ảnh nén hoặc tái tạo. PSNR càng cao, chất lượng của hình ảnh được nén
hoặc tái tạo càng tốt.
Lỗi trung bình bình phương (MSE) và tỷ lệ PSNR được sử dụng để so
sánh chất lượng nén hình ảnh. MSE đại diện cho lỗi bình phương tích lũy giữa
ảnh nén và ảnh gốc, trong khi PSNR biểu thị số đo của lỗi cực đại. Giá trị của
MSE càng thấp, lỗi càng thấp.
PSNR được dùng rộng rãi trong kỹ thuật đánh giá chất lượng hình ảnh
và video sau khi bị biến đổi hoặc tái tạo, đơn vị đo là logarithm decibel. Thông
thường PSNR càng cao thì độ sai khác của ảnh grounth truth và sau khi tái tạo
càng thấp. Giá trị PSNR được coi là tốt ở vào trên 24dB và nhỏ hơn 20dB là
không chấp nhận được. Cách đơn giản nhất để tính toán PSNR là thông qua
MSE được dùng cho ảnh 2 chiều có kích thước m×n trong đó I và K là ảnh gốc
và ảnh được khôi phục tương ứng:
𝑀𝑆𝐸 = ∑ ∑ ⌊(𝐼(𝑖, 𝑗) − 𝐾(𝑖, 𝑗)) ⌋ (3.17)
Khi đó PSNR được tính theo công thức sau
𝑃𝑆𝑁𝑅 = 10 ∗ log (3.18)
Ở đây, MAX(I) là giá trị tối đa của điểm ảnh trên ảnh I. Khi các điểm
ảnh được biểu diễn bởi 8 bit, thì giá trị của nó là 255. Trường hợp tổng quát,
điểm ảnh được biểu diễn bởi B bit, MAX(I) là 2B−1. Với ảnh màu biểu diễn 3
giá trị RGB trên 1 điểm ảnh, các tính toán cho PSNR tương tự ngoại trừ việc
tính MSE là tổng của 3 giá trị (tính trên 3 kênh màu RGB) chia cho kích thước
của ảnh và chia cho 3.
106
Bảng 3.2. Kết quả định lượng trên tập dữ liệu Places2 của các mô hình
CA [92], PConv [50] and EC [60], (*)giá trị lấy từ [50], và RBPConv.
CA PConv* EC RBPConv
PSNR 21.34 24.54 24.65 25.29
SSIM 0.806 0.775 0.857 0.868
Mô hình RBPConv được so sánh định lượng với các mô hình inpainting
ảnh được phát triển trước đó gồm CA(Contextual Attention) [92], PConv
(Partial Convolution Unet) [50] và EC (EdgeConnect) [60] dựa trên các chỉ số
đo PSNR và SSIM. Các giá trị cụ thể được thể hiện trong bảng 3.2. Để có được
số liệu này luận án đã sử dụng các trọng số của các mạng huấn luyện tương ứng
có sẵn. Kết quả của PConv được lấy từ bài viết [50] do mã nguồn chưa được
nhóm tác giả công bố. Các số liệu thống kê có được sau khi tính toán trên 1.000
ảnh ngẫu nhiên lấy từ tập kiểm thử. Giá trị PSNR của mô hình RBPconv đạt ở
ngưỡng hợp lý 25.29 cho thấy ảnh được tái tạo có tính chân thực cao. Cả hai
chỉ số đo cho thấy mặc dù không có sự nổi trội nhưng mô hình RBPconv cho
hiệu năng thực thi tốt hơn các phương pháp khác.
Trong khi đó để ước lượng chất lượng video tái tạo trên phương diện
nhất quán về thời gian, luận án đã sử dụng độ đo Frechet Inception Distance
(FID) [32]. FID là độ đo được phát triển để ước lượng hiệu năng thực thi của
các mạng sinh đối kháng (generative adversarial networks – GAN) và dùng để
ước lượng chất lượng tập ảnh tái tạo so với tập ảnh gốc. Mục tiêu phát triển hệ
số FID là ước lượng, đánh giá ảnh tái tạo dựa trên số liệu thống kê từ tập ảnh
tái tạo so với số liệu thống kê từ tập hình ảnh thực. Chỉ số FID càng thấp thì
chất lượng ảnh tái tạo càng cao tức là ảnh tái tạo càng gần với ảnh thực.
Hệ số FID được tính dựa trên mô hình Inception v3 huấn luyện trước.
Lớp đầu ra của mô hình được loại bỏ và đầu ra là các kích hoạt lấy từ tầng
pooling cuối cùng, tầng pooling toàn cục. Lớp đầu ra này có 2.048 kích hoạt,
107
do đó, mỗi ảnh được dự đoán là một vector đặc trưng kích hoạt 2.048 chiều.
Đây còn được gọi là vector mã hóa hoặc vector đặc trưng cho ảnh.
Tập các vector đặc trưng 2.048 chiều được tính toán cho tập các ảnh gốc
cho ra một tham chiếu tới cách ảnh gốc được biểu diễn. Tập các vector đặc
trưng sau đó cũng được tính cho tập ảnh tái tạo. Kết quả thu được sẽ là hai tập
vector đặc trưng 2.048 chiều cho ảnh thực và ảnh tái tạo.
Khi đó FID được tính theo công thức sau:
𝐹𝐼𝐷 = 𝜇 − 𝜇 + 𝑇𝑟(Σ + Σ − 2(Σ Σ ) / , (3.19)
Trong đó 𝜇 , 𝜇 là vector trung bình từng thành phần của ảnh thực và
ảnh tái tạo, tức là các vector 2048 chiều mà mỗi thành phần là trung bình của
các thành phần trong vector đặc trưng tương ứng của ảnh. Σ Σ là các ma trận
hiệp phương sai của các vector đặc trưng của ảnh gốc và ảnh tái tạo. Tr là tổng
các phần tử dọc theo đường chéo chính của ma trận.
Bảng 3.3. Kết quả định lượng trên tập dữ liệu FVI với các mô hình: EC
[60], CombCN, 3Dgated và V- RBPConv, (*)kết quả lấy từ [14]
Dạng mặt
nạ
EC* CombCN* 3DGated* V-RBPConv
FID Đường vẽ 1.033 0.766 0.609 0.598
Điểm 1.083 1.091 0.905 0.886
Các mô hình thử nghiệm trên tập kiểm thử FVI với hai loại mặt nạ hình
đường vẽ và hình điểm có kích thước không quá lớn so với đối tượng. Kết quả
thể hiện trên bảng 3.3 phù hợp với kết quả so sánh trực quan trước đó. Với dạng
mặt nạ hình đường vẽ mô hình EC có chỉ số FID trung bình cao nhất tiếp theo
là CombCN, 3DGated. Trong khi đó mô hình V-RBPConv cải tiến có chỉ số
FID thấp nhất, giảm gần 50% so với mô hình EC và khoảng 18% so với
108
3DGated. Chứng tỏ mô hình V-RBPConv duy trì tốt tính kết cấu về thời gian,
video tái tạo có tính chân thực cao gần với video gốc
Tuy nhiên, khi thực nghiệm trên mặt nạ dạng điểm chỉ số FID trung bình
của mô hình cải tiến V-RBPConv có thấp hơn các mô hình khác nhưng với độ
chênh lệch hẹp hơn so với dạng đường. Đồng thời chỉ số FID của khi thực
nghiệm với mặt nạ hình điểm cao hơn so với mặt nạ hình đường. Nguyên nhân
là do bị ảnh hưởng của kích thước mặt nạ - vùng tái tạo. Khi kích thước càng
lớn thì mức độ hiệu quả, tính chân thực của video tái tạo càng giảm. Mô hình
cải tiến chỉ đặt biệt hiệu quả khi độ dày của vùng bị phá huỷ là bé.
109
Kết luận chương 3
Trong chương này, để trích chọn chính xác vùng chứa đối tượng, luận án
đã sử dụng, kế thừa mô hình phân vùng thực thể đối tượng được trong nghiên
cứu [15]. Chi tiết mô hình này được trình bày một cách khái quát. Mặc dù độ
chính xác và thời gian phân vùng đã đáp ứng được kỳ vọng nhưng vẫn còn thấp
hơn so với mạng phân vùng Mask R-CNN. Tuy nhiên, với ưu điểm tiết kiệm
về chi phí và thời gian rất nhiều để tạo ra tập dữ liệu mặt nạ vùng huấn luyện
nên giải thuật vẫn được luận án sử dụng để phân vùng đối tượng.
Tiếp theo, mô hình cải tiến video inpainting V-RBPConv gồm hai bộ
phận là bộ phận sinh ảnh và bộ phận đối sánh ảnh theo thời gian được được
trình bày chi tiết. Trong cải tiến này mô hình tái tạo, hoàn thiện ảnh RBPconv
được sử dụng thay thế cho mô hình 3Dgated trong phần sinh ảnh. Bộ đối sánh
Temporal PathGAN được sử dụng nguyên bản trong nghiên cứu [39] để duy
trì tính kết cấu về mặt thời gian trong video. Hàm loss trong mạng V-RBPConv
được mở rộng từ hàm loss trong mô hình kiến trúc RBPconv bằng cách bổ sung
thêm thành phần lỗi trong GAN.
Cuối cùng, các kết quả thực nghiệm cho các mô hình cải tiến RBPConv
và V-RBPCon được trình bày. Cụ thể, mô hình RBPConv cho thấy kết quả ảnh
tái tạo có tính chân thực cao thể hiện qua các kết quả định tính dựa trên ảnh tái
tạo trực quan và định lượng thông qua các chỉ số đo SSIM hay PSNR. Mô hình
V-RBPCon tái tạo ra video có tính nhất quán cao về thời gian, ước lượng định
tính và định lượng qua thực nghiệm trên tập dữ liệu FVI với các dạng mặt nạ
hình đường và hình điểm đã minh chứng cho kết quả này.
110
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận án đã trình bày khái quát các vấn đề cơ bản liên quan đến bài toán
hậu xử lý, hiểu video gồm các kỹ thuật dò tìm đối tượng, nhận dạng tư thế/hình
dạng của đối tượng trong video và hoàn thiện video sau khi thay thế đối tượng.
Trên cơ sở khảo sát và phân tích các nghiên cứu liên quan, luận án đã tập trung
nghiên cứu, giải quyết hai vấn đề quan trọng trong lĩnh vực thị giác máy tính
liên quan đến bài toán hiểu video gồm: phát hiện đối tượng trong video và hoàn
thiện video sau khi chỉnh sửa, thay thế đối tượng nhận dạng được. Cụ thể, cải
tiến các kỹ thuật dò tìm đối tượng trong video dựa trên DCNN tiên tiến. Cải
tiến các kỹ thuật nhận dạng tư thế/hình dạng của đối tượng trong video dựa trên
cách tiếp cận lập chỉ mục, tìm kiếm và đối sánh mẫu. Sử dụng mô hình sẵn có
để phân vùng đối tượng trong ảnh. Cải tiến kỹ thuật video inpainting dựa trên
DCNN sau khi hiệu chỉnh nội dung như xóa bỏ chèn đối tượng vào video. Một
số kết quả đạt của luận án cụ thể như sau:
- Cải tiến hiệu năng thực thi mô hình dò tìm đối tượng trong video theo
hướng tiếp cận sử dụng mạng DCNN. Mô hình YOLO-Adv cải tiến từ kiến trúc
mạng YOLO được dùng để phân lớp, xác định vị trí bao quanh đối tượng tìm
thấy và trích trọn ra vector đặc trưng của đối tượng này. Mô hình cải tiến có
tính tổng quát cao, tốc độ thực thi đáp ứng thời gian thực được áp dụng cho
nhận dạng đối tượng quảng cáo trong video.
- Nâng cao độ chính xác, tốc độ thực thi phương pháp lập chỉ mục vector
đặc trưng ứng dụng để nhận dạng tư thế/hình dạng của đối tượng. Tập dữ liệu
các tư thế/hình dạng của đối tượng được trích chọn đặc trưng, lập chỉ mục bằng
kỹ thuật PSVQ cải tiến từ PQ. Sau đó, tiến trình tìm kiếm xấp xỉ dựa trên cây
phân cấp thứ bậc được sử dụng để tìm ra tư thế/hình dạng thích hợp nhất của
đối tượng.
- Cải tiến mô hình video inpainting V-RBPconv gia tăng tốc độ, độ chính
xác, hiệu năng thực thi, bảo toàn tính kết cấu về không gian và thời gian khi
111
hoàn thiện, tái tạo video sau hiệu chỉnh với vùng tái tạo có hình dạng và kích
thước bất kỳ, độ dày không quá lớn. Mô hình cải tiến là sự kết hợp giữa kỹ
thuật inpainting ảnh RBPconv với bộ phân biệt Temporal PatchGAN.
Tuy nhiên, luận án còn một số hạn chế:
- Chưa xây dựng được bộ dữ liệu đặc trưng xuyên xuốt cho cả 2 pha:
phát hiện, thay thế đối tượng trong video
- Vấn đề ảnh hưởng của các yếu tố liên quan đến cấu thành video để phân
đoạn video, trích chọn key frame và tính nhất quán về thời gian trong nhận dạng
hình thể của đối tượng chưa được xét đến;
- Chưa đề xuất được mô hình đầu cuối cho bài toán nhận dạng, phân
vùng đối tượng.
Từ những hạn chế trên, hướng nghiên cứu tiếp theo của luận án là:
(1) Phát triển bộ dữ liệu huấn luyện gồm bộ ảnh huấn luyện cho bài toán
phát hiện đối tượng, bộ dữ liệu video chứa các vùng trống do ảnh thay thế ảnh
trong giai đoạn phát hiện.
(2) Nghiên cứu các yếu tố cấu thành video, định dạng video, tính nhất
quán về thời gian trong nhận dạng hình thể của đối tượng trong video;
(3) Nghiên cứu đề xuất mô hình DCNN để có thể đồng thời dò tìm, nhận
dạng và phân vùng các đối tượng tìm thấy.
112
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC CÓ LIÊN QUAN ĐẾN
LUẬN ÁN
[CT1] “Cải tiến kiên trúc mạng Yolo cho bài toán nhận dạng logo” TNU
Journal of Science and Technology, vol. 200, no. 07, pp. 199-205, 2019.
[CT2] “A review of feature indexing methods for fast approximate
nearest neighbor search” 5th NAFOSTED Conference on Information and
Computer Science (NICS), pp. 372 – 377, 2018.
[CT3] “Hierarchical product quantization for effective feature indexing”
ICT, 26th International Conference on Telecommunications, pp. 386 – 390,
April 8-10-2019.
[CT4] “Product sub-vector quatization for feature indexing” Jounal of
Computer Science and Cybernetics, vol. 35, no. 11, pp. 69-83, 2019.
[CT5] “Hoàn thiện các vùng phá hủy hình dạng bất kỳ trong ảnh sử dụng
kiến trúc mạng thặng dư và tích chập từng phần” TNU Journal of Science and
Technology, vol. 208, no. 15, pp. 19-26, 2019.
[CT6] “A study on parameter tuning for optimal indexing on large scale
datasets”, Journal of Science and Technology on Information and
Communications, 2020.
113
TÀI LIỆU THAM KHẢO
Tiếng Anh
[1] Anh P. T. (2017), "Pair-wisely optimized clustering tree for feature
indexing," Computer Vision and Image Understanding, vol. 154, no. 1, pp.
35-47.
[2] Anh P. T. (2018), "Improved embedding product quantization,"
Machine Vision and Applications, In Press.
[3] Anh P. T., Toan D. N. (2018), "Embedding hierarchical clustering in
product quantization for feature indexing," Multimed Tools Appl.
[4] Arafat S. Y., Husain S. A., Niaz I. A., Saleem M. (2010), "Logo
detection and recognition in video stream," IEEE International Conference
on Digital Information Management, pp. 163-168.
[5] Bao Y., Li H., Fan X., Liu R., Jia Q. (2016), "Region-based cnn for
logo detection," ACM International Conference on Internet Multimedia
Computing and Service, ICIMCS’16, p. 319–322.
[6] Barnes C., Shechtman E., Goldman D. B., Finkelstein A. (2010),
"The generalized patchmatch correspondence algorithm.," European
Conference on Computer Vision,Springer, pp. 29-43.
[7] Barnes C., Shechtman,E., Finkelstein A., Goldman D. B. (2009),
"Patchmatch: a randomized correspondence algorithm for structural image
editing," ACM Transactions on Graphics (TOG), vol. 28, p. 24.
[8] Barnes C., Zhang F. L., Lou L., Wu X., Hu S. M. (2015), "Patchtable:
Efficient patch queries for large datasets and applications.," ACM
Transactions on Graphics (TOG), vol. 34, no. 4, p. 97.
[9] Bay H., Ess A., Tuytelaars T., Gool L. V. (2008), "Speeded-Up
Robust Features (SURF)," Computer Vision and Image Understanding, vol.
110, no. 3, pp. 346-359.
[10] Bertalmio M., Sapiro G., Ballester C., Caselles V. (2000), "Image
inpainting," ACM Trans. on Graphics (SIGGRAPH), pp. 417-424.
[11] Bolya D., Zhou C., Xiao F., Lee Y. J. (2019), "Yolact: Real-time
instance segmentation," arXiv preprint arXiv:1904.02689.
114
[12] Bombonato L., Camara-Chavez G., Silva P. (2018), "Real-time brand
logo recognition," Progress in Pattern Recognition, Image Analysis,
Computer Vision, and Applications, p. 111–118.
[13] Cai G., Chen L., Li J. (2003), "Billboard advertising detection in sport
tv," Signal Processing and Its Applications, 2003 Proceedings. Seventh
International Symposium on, vol. 1, pp. 537-540.
[14] Chang Y. L., Liu Z. Y., Hsu W. (2019), "Free-form Video Inpainting
with 3D Gated Convolution and Temporal PatchGAN,"
arXiv:1904.10247v3.
[15] Chen L. C., Papandreou G., Kokkinos I., Murphy K., Yuile A. L.
(2018), "Deeplab: Semantic image segmentation with deep convolutional
nets, atrous convolution, and fully connected crfs," PAMI, vol. 40, no. 4, pp.
834-848.
[16] Chen Y., Guan T., Wang C. (2010), "Approximate nearest neighbor
search by residual vector quantization," Sensors, vol. 10, no. 12, pp. 11259-
11273.
[17] Covell M., Baluja S., Fink M. (2006), "Advertisement detection and
replacement using acoustic and visual repetition," Multimedia Signal
Processing, 2006 IEEE 8th workshop on, pp. 461-466.
[18] Dai A., Qi C. R., Nießner M. (2017), "Shape completion using 3d-
encoder-predictor cnns and shape synthesis," Proc. IEEE Conf. on Computer
Vision and Pattern Recognition (CVPR), vol. 3.
[19] Dalal N., Triggs B. (2005), "Histograms of oriented gradients for
human detection," IEEE Conference on Computer Vision and Pattern
Recognition, vol. 1, p. 886–893.
[20] Deng J., Dong W., Socher R., Li L. J., Li K., and Fei-Fei L. (2009),
"Imagenet: A large-scale hierarchical image database," CVPR.
[21] Efros A. A., Leung T. K. (1999), "Texture Synthesis by Non-
parametric Sampling," Computer Vision, 1999. The Proceedings of the
Seventh IEEE International Conference, vol. 2, pp. 1033-1038.
[22] Felzenszwalb P. F., Huttenlocher D. P. (2005), "Pictorial structures
for object recognition," International Journal of Computer Vision, vol. 61,
no. 1, pp. 55-79.
115
[23] Feng Z., Neumann J. (2013), "Real time commercial detection in
videos,".
[24] Ge T., He K., Ke Q., Sun J. (2014), "Optimized product
quantization," IEEE Trans. Pattern Anal. Mach. Intell, vol. 36, no. 4, pp.
744-755.
[25] Girshick R. (2015), "Fast r-cnn," ICCV.
[26] Girshick R., Donahue J., Darrell T., Malik J. (2014), "Rich feature
hierarchies for accurate object detection and semantic segmentation," IEEE
Conference on Computer Vision and Pattern Recognition, p. 580–587.
[27] Gonzalez R., and Wood R. (2009), "Digital Image Processing,"
Pearson Edn.
[28] Haar A. (1910), "Zur theorie der orthogonalen funktionensysteme,"
Mathematische Annalen, vol. 69, no. 3, p. 331–371.
[29] Han X., Li Z., Huang H., Kalogerakis E., Yu Y. (2017), "High-
resolution shape completion using deep neural networks for global structure
and local geometry inference," IEEE International Conference on Computer
Vision (ICCV).
[30] He K., Gkioxari G., Dollar P.,Girshick R. B. (2017), "Mask r-cnn,"
ICCV.
[31] He K., Zhang X., Ren S., Sun J. (2016), "Deep residual learning for
image recognition," Proceedings of the IEEE conference on computer vision
and pattern recognition, pp. 770-778.
[32] Heusel M., Ramsauer H., Unterthiner T., Nessler B., and Hochreiter
S. (2017), "Gans trained by a two time-scale update rule converge to a local
nash equilibrium," Advances in Neural Information Processing Systems, p.
6626–6637.
[33] Hoi S. C. H., Wu X., Liu H., Wu Y., Wang H., Xue H., Wu Q. (2015),
"Logo-net: Large-scale deep logo detection and brand recognition with deep
region-based convolutional networks," abs/1511.02462.
[34] Hussain Z., Zhang M., Zhang X., Ye K., Thomas C., Agha Z., Ong
N., Kovashka A. (2017), "Automatic understanding of image and video
advertisements," IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), pp. 1100-1110.
116
[35] Iandola F. N., Shen A., Gao P., Keutzer K. (2015), "Deeplogo: hitting
logo recognition with the deep neural network hammer," arXiv preprint
arXiv: 1510.02131.
[36] Iizuka S., Simo-Serra E., Ishikawa H. (2017), "Globally and locally
consistent image completion," ACM Transactions on Graphics (TOG), vol.
36, no. 4.
[37] Ioffe S., Szegedy C. (2005), "Batch Normalization: Accelerating
Deep Network Training by Reducing Internal Covariate Shift," Proceedings
of the International Conference on Machine Learning, p. 448–456.
[38] Jégou H., Douze M., Schmid C. (2011), "Product Quantization for
Nearest Neighbor Search," IEEE Trans. Pattern Anal. Mach. Intell., vol. 33,
no. 1, p. 117–128.
[39] Johnson J., Alahi A., Fei-Fei L. (2016), "Perceptual losses for real-
time style transfer and super-resolution," European Conference on
Computer Vision, p. 694–711.
[40] Joly A., Buisson O. (2009), "Logo retrieval with a contrario visual
query expansion.," ACM International Conference on Multimedia, pp. 581-
584.
[41] Kalantidis Y., Avrithis Y. (2014), "Locally optimized product
quantization for approximate nearest neighbor search," Proceedings of
International Conference on Computer Vision and Pattern Recognition
(CVPR 2014), Columbus, Ohio.
[42] Ke Y., Sukthankar R. (2004), "PCA-SIFT: A More Distinctive
Representation for Local Image Descriptors," Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, vol. 2, pp. 506-
513.
[43] Kent A., Berry M. M., Luehrs Jr., Fred U., Perry J. W. (1995),
"Machine literature searching VIII. Operational criteria for designing
information retrieval systems," American Documentation, vol. 6, no. 2, p.
93.
[44] Khoreva A., Benenson R., Hosang J. H., Hein M., Schiele B. (2017),
"Simple does it: Weakly supervised instance and semantic segmentation," In
CVPR.
117
[45] Kingma D. P., Ba J. L., Adam (2015), "A method for stochastic
optimization," international conference on learning representations.
[46] Krizhevsky A., Sutskever I., Hinton G. E. (2012), "Imagenet
classifcation with deep convolutional neural networks," Advances in Neural
Information Processing Systems, p. 1097–1105.
[47] Kwatra V., Essa I., Bobick A., Kwatra N. (2005), "Texture
optimization for example-based synthesis," ACM Transactions on Graphics
(ToG), vol. 2005, pp. 795-802.
[48] Laradji I. H., Vazquez D., Schmidt M. (2019), "Where are the Masks:
Instance Segmentation with Image-level Supervision," arXiv:1907.01430.
[49] Lienhart R., Maydt J. (2002), "An extended set of haar-like features
for rapid object detection," IEEE International Conference on Image
Processing, vol. 1.
[50] Liu G., Reda F. A., Shih K. J., Wang. T. C., Tao. A., Catanzaro B.
(2018), "Image inpainting for irregular holes using partial convolutions,"
arXiv preprint arXiv:1804.07723.
[51] Liu H., Jiang S., Huang Q., Xu C. (2008), "A generic virtual content
insertion system based on visual attention analysis," ACM MM’08, pp. 379-
388,.
[52] Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C, Y.,
and Berg, A, C. (2016), "Ssd: Single shot multibox detector", ECCV.
[53] Long J., Shelhamer E., Darrell T. (2015), "Fully convolutional
networks for semantic segmentation," IEEE Conference on Computer Vision
and Pattern Recognition (CVPR), p. 3431–3440.
[54] Lowe D. G. (2004), "Distinctive image features from scale-invariant
keypoints," International Journal of Computer Vision, vol. 60, no. 2, pp. 91-
110.
[55] Mahajan K. S., Vaidya M. B. (2012), "Image in Painting Techniques:
A survey," IOSR Journal of Computer Engineering, vol. 5, no. 4, pp. 45-49.
[56] Medioni G., Guy G., Rom H.(1998), "Real-Time Billboard
Substitution in a Video Stream," Digital Communications.
[57] Muja M., Lowe D. G. (2009), "Fast approximate nearest neighbors
with automatic algorithm configuration," VISAPP International Conference
on Computer Vision Theory and Applications, p. 331–340.
118
[58] Muja M., Lowe D. G. (2014), "Scalable nearest neighbor algorithms
for Scalable nearest neighbor algorithms for," IEEE Trans. Pattern Anal.
Mach. Intell. 36, p. 2227–2240.
[59] Muja M., Lowe, D. G. (2012), "Fast matching of binary features,"
Proceedings of the Ninth Conference on Computer and Robot Vision (CRV),
p. 404–410.
[60] Nazeri K., Eric Ng., Joseph T., Qureshi F., Ebrahimi M. (2019),
"EdgeConnect: Generative Image Inpainting with Adversarial Edge
Learning," arXiv preprint arXiv:1901.00212.
[61] Neubeck A., Van Gool L. (2006), "Efficient non-maximum
suppression," Proceedings of the International Conference on Pattern
Recognition (ICPR); Hong Kong, China. 20–24 August 2006, p. 850–855.
[62] Norouzi M., Fleet D. J. (2013), "Cartesian k-means," Proceedings of
the 2013 IEEE Conference on Computer Vision and Pattern Recognition,
CVPR’13, p. 3017–3024.
[63] Oliveira G., Frazao X., Pimentel A., Ribeiro B. (2016), "Automatic
graphic logo detection via fast region-based convolutional networks,"
International Joint Conference on Neural Networks, p. 985–991.
[64] Pathak D., Krahenbuhl P., Donahue J., Darrell T., Efros A. A. (2016),
"Context encoders: Feature learning by inpainting," Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, p. 2536–2544.
[65] Patwardhan K. A., Sapiro G., Bertalmio M. (2007), "Video inpainting
under constrained camera motion," IEEE Trans. on Image Proc. (TIP), vol.
16, no. 2, pp. 545-553.
[66] Pinheiro P. O., Lin T. Y., Collobert R., Dollár P. (2016), "Learning
to refine object segments," ECCV.
[67] Real E., Shlens J., Mazzocchi S., Pan X., Vanhoucke V. (2017),
"Youtube-boundingboxes: A large high-precision human-annotated data set
for object detection in video," Proceedings of the IEEE Conference on
Computer Vision and Pattern Recognition, pp. 5296-5305.
[68] Redmon J., Divvala S., Girshick R., Farhadi A. (2016), "You only
look once: Unifed, real-time object detection.," EEE Conference on
Computer Vision and Pattern Recognition, p. 779–788.
119
[69] Redmon J., Farhadi A. (2017), "Yolo9000: better, faster, stronger,"
Proceedings of the IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), p. 6517–6525, 21–26 July.
[70] Redmon J., Farhadi A. (2018), "YOLOv3: An Incremental
Improvement," arXiv:1804.02767v1.
[71] Ren S., He K., Girshick R., Sun J. (2015), "Faster r-cnn: Towards real
time object detection with region proposal networks," NIPS, pp. 91-99.
[72] Romberg S., Pueyo L. G., Lienhart R., van Zwol R. (2011), "Scalable
logo recognition in real-world images," ACM International Conference on
Multimedia Retrieval, vol. 8, pp. 1-25.
[73] Sharma A., Grau O., Fritz M. (2016), "Vconv-dae: Deep volumetric
shape learning without object labels," European Conference on Computer
Vision, p. 236–250.
[74] Simonyan K., Zisserman A. (2014), "Very deep convolutional
networks for large-scale image recognition," CoRR arXiv:1409.1556.
[75] Su H., Zhu X., Gong S. (2017), "Deep learning logo detection with
data expansion by synthesising context," IEEE Winter Conference on
Applications of Computer Vision, p. 530–539.
[76] Szegedy C., Wei L., Yangqing J., Sermanet P., Reed S., Anguelov D.,
Erhan D., Vanhoucke V., Rabinovich A. (2015), "Going deeper with
convolutions," IEEE Conference on Computer Vision and Pattern
Recognition, pp. 1-9.
[77] Timothy K., Shih N. C., Tan J. C., Zhong H. J. (2003), "Video
Falsifying by Motion Interpolation and Inpainting".
[78] Tursun O., Kalkan S. (2015), "Metu dataset: A big dataset for
benchmarking trademark retrieval," IAPR International Conference on
Machine Vision Applications, pp. 514-517.
[79] Tuzko A., Herrmann C., Manger D., Jurgen B. (2018), "Open Set
Logo Detection and Retrieval," International Joint Conference on Computer
Vision, Imaging and Computer Graphics Theory and Applications.
[80] Uijlings J. R. R., van de Sande K. E. A., Gevers T., Smeulders A. W.
M. (2013), "Selective search for object recognition," International Journal
of Computer ViVision, vol. 2, no. 104, p. 154–171, September.
120
[81] Venkatesh M. V., Cheung S. S., Zhao J. (2009), "Efficient
objectbased video inpainting," Pattern Recognition Letters, vol. 30, no. 2,
pp. 168-179.
[82] Wang C., Huang H., Han X., and Wang J. (2019), "Video inpainting
by jointly learning temporal structure and spatial details," Proceedings of the
33th AAAI Conference on Artificial Intelligence.
[83] Wang W., Huang Q., You S., Yang C., Neumann U. (2017), "Shape
inpainting using 3d generative adversarial network and recurrent
convolutional networks," arXiv preprint arXiv:1711.06375.
[84] Watve A., Sural S.( 2008), "Soccer video processing for the detection
of advertisement billboards," Pattern Recognition Letters , vol. 29, no. 7, pp.
994-1006.
[85] Weber M., Welling M., Perona P. (2000), "Towards automatic
discovery of object categories," IEEE Conference on Computer Vision and
Pattern Recognition, vol. 2, p. 101–108.
[86] Wexler Y., Shechtman E., Irani M. (2007), "Space-time completion
of video," IEEE Transactions on pattern analysis and machine intelligence,
vol. 29, no. 3.
[87] Xie J., Xu L., Chen E. (2012), "Image denoising and inpainting with
deep neural networks," Advances in neural information processing systems,
pp. 341-349.
[88] Xu N., Yang L., Fan Y., Yang J., Yue D., Liang Y., Price B., Cohen
S., Huang T. (2018), "Youtube-vos: Sequence-tosequence video object
segmentation.," Proceedings of the European Conference on Computer
Vision (ECCV), p. 585–601.
[89] Yan W. Q., Wang J., Kankanhalli M. S. (2005), "Automatic video
logo detection and removal," Springer-Verlag.
[90] Yang C., Lu X., Lin Z., Shechtman E., Wang O., Li H. (2017), "High-
resolution image inpainting using multi-scale neural patch synthesis," The
IEEE Conference on Computer Vision and Pattern Recognition (CVPR),
vol. 1, p. 3.
[91] Yu J., Lin Z., Yang J., Shen X., Lu X., Huang T. S. (2018), "Free-
form image inpainting with gated convolution," arXiv preprint
arXiv:1806.03589.
121
[92] Yu J., Lin Z., Yang J., Shen X., Lu X., Huang T. S. (2018),
"Generative image inpainting with contextual attention," arXiv preprint
arXiv:1801.07892.
[93] Zeiler M. D., Fergus R. (2014), "Visualizing and understanding
convolutional networks," In Proceedings of the European Conference on
Computer Vision, pp. 818-833.
[94] Zheng C., Cham T., and Cai J. (2019), "Pluralistic Image
Completion," CoRR abs/1903.04227.
[95] Zhou W., Bovik A. C., Sheikh H. R., and Simoncelli E. P. (2004),
"Image Qualifty Assessment: From Error Visibility to Structural
Similarity.," IEEE Transactions on Image Processing, vol. 13, no. 4, p. 600–
612.
[96] Zhou Y., Zhu Y., Ye Q., Qiu Q., Jiao J. (2018), "Weakly supervised
instance segmentation using class peak response," CVPR.
[97] Zhu Q., Wang L., Wu Y., Shi J. (2008), "Contour context selection
for object detection: A set-to-set contour matching approach," European
Conference on Computer Vision, pp. 774-787.
122
PHỤ LỤC
A. Bộ dữ liệu kiểm thử Flickrlogos-47
Flickrlogos-47 được mở rộng, hiệu chỉnh từ bộ dữ liệu flickrlogos-32 rất
phổ biến cho bài toán truy vấn ảnh logo. Do được thiết kế cho bài toán truy vấn
logo trong ảnh nên yếu điểm lớn nhất của bộ dữ liệu flickrlogos-32 là các chú
giải ở mức đối tượng chưa đầy đủ, chi tiết cho bài toán phát hiện logo. Thêm
vào đó với flickrlogos-32, mỗi ảnh chỉ xác định một thể hiện logo thuộc duy
nhất một nhãn nào đó mặc dù trong ảnh có nhiều thể hiện của một logo hay
nhiều logo khác nhau. Điều đó có ý nghĩa trong ngữ cảnh truy vấn ảnh nhưng
là một hạn chế cho bài toán nhận dạng.
Hình A.1. Chú giải của FlickrLogos-32 (bên trên) và FlickrLogos-47 (bên
dưới) được thể hiện trong các bounding box
Flickrlogos-47 ra đời không những cập nhật các chú thích còn thiếu cho
các nhãn trong ảnh mà còn tách rời, đánh nhãn riêng cho biểu tượng và dòng
văn bản minh họa logo, bổ sung thêm nhiều mẫu dữ liệu khác nhằm khắc phục
các hạn chế của tập dữ liệu flickrlogos-32. Số lớp trong flickrlogos-47 được
nâng lên 47 lớp bằng cách bổ sung thêm ảnh, tách số lớp có trong flickrlogos-
32. Các nhãn hiệu trong flickrlogos-32 gồm cả biểu tượng và ký tự thì được
tách thành 2 lớp trong flickrlogos-47. Mỗi ảnh trong flickrlogos-32 chỉ chứa
một logo thuộc về một lớp duy nhất thì trong flickrlogos-47 một ảnh có thể có
nhiều thể hiện thuộc về cùng một logo hoặc các lớp logo khác nhau. Ảnh nhiễu
trong flickrlogos-32 bị loại bỏ trong flickrlogos-47. Một khác biệt nữa của bộ
123
dữ liệu flickrlogos-47 so với flickrlogos-32 là sự đa dạng về kích thước, đặc
biệt là xuất hiện nhiều ảnh chứa các logo nhỏ nhằm tạo thêm độ khó cho việc
nhận dạng (hình A.1).
Hình A.2. Một số ảnh ví dụ trong tập dữ liệu flickrlogos-47
Flickrlogos-47 thực hiện chú thích lại, mỗi ảnh có thể chứa nhiều thể
hiện của logo và có thể thuộc vào nhiều lớp khác nhau vì vậy việc gắn các ảnh
vào tập huấn luyện và tập kiểm thử cũng phải thay đổi, một ảnh có thể nằm
trong đồng thời cả hai tập. Tập ảnh huấn luyện lúc này được hình thành từ 833
ảnh, tập kiểm thử gồm 1402 ảnh. Một thử thách lớn nhất khi phát hiện đối tượng
trên tập dữ liệu flickrlogos-47 là các thể hiện của logo thường có kích thước ở
nhiều tỷ lệ khác nhau, độ chênh lệch tỷ lệ có thể lớn. Trong đó nhiều thể hiện
logo có kích thước tương đối nhỏ, mà các thể hiện của đối tượng có kích thước
nhỏ thông thường khó nhận dạng hơn rất nhiều so với các thể hiện có kích thước
lớn. Thể hiện logo nhỏ nhất đơn lẽ trong một ảnh trong tập huấn luyện có chiều
dài là 15px trong khi thể hiện lớn nhất có chiều dài là 834px. Độ dài trung bình
là 99px. Kích thước ảnh trong tập dữ liệu flickrlogos-47 rất đa dạng. Ảnh có
kích thước lớn nhất là 1024x768px. Một số hình ảnh minh họa được thể hiện
trong hình A.2. Chi tiết về số lượng từng đối tượng được cho trong bảng A.1.
124
Tên lớp Huấn luyện
Kiểm thử
Tên lớp Huấn luyện
Kiểm thử
Adidas (Symbol) 37 104 Adidas (Text) 34 71 Aldi 38 88 Apple 30 47
Becks (Symbol) 52 98 Becks (Text) 54 118 BMW 29 51 Carlsberg (Symbol) 30 92
Carlsberg (Text) 40 112 Chimay (Symbol) 45 79 Chimay (Text) 56 83 CocaCola 62 91
Corona (Symbol) 32 54 Corona (Text) 35 59 DHL 51 93 Erdinger (Symbol) 48 70
Erdinger (Text) 33 50 Esso (Symbol) 32 63 Esso (Text) 8 34 FedEx 36 60
Ferrari 29 44 Ford 30 47 Fosters (Symbol) 33 99 Fosters (Text) 43 98
Google 33 50 Guinness (Symbol) 37 80 Guinness (Text) 38 103 Heineken 63 103
HP 43 75 Milka 89 275 nVidia (Symbol) 40 97 nVidia (Text) 40 92
Paulaner (Symbol) 48 69 Paulaner (Text) 30 63 Pepsi (Symbol) 57 194 Pepsi (Text) 54 140 Rittersport 87 202 Shell 34 66
Singha (Symbol) 26 56 Singha (Text) 26 57 Starbucks 43 65 Stellaartois (Symbol) 43 72
Stellaartois (Text) 33 66 Texaco 33 56 Tsingtao (Symbol) 39 91 Tsingtao (Text) 49 95
UPS 34 57 Tổng 1936 4032
Bảng A.1. Số lượng đối tượng cho các tập huấn luyện và kiểm thử của tập
dữ liệu FlickrLogo-47. Với mỗi lớp đối tượng, tập huấn luyện chiếm
khoảng 33% tổng số đối tượng trong lớp đó.
125
B. Kiến trúc mạng Darknet-53
Kiểu Bộ lọc Kích thước Đầu ra
Convolution 32 3 x 3 256 x 256
Convolution 64 3 x 3 / 2 128 x 128
1x
Convolution 32 1 x 1
Convolution 64 3 x 3
Residual 128 x 128
Convolution 128 3 x 3 / 2 64 x 64
2x
Convolution 64 1 x 1
Convolution 128 3 x 3
Residual 64 x 64
Convolution 256 3 x 3 / 2 32 x 32
8x
Convolution 128 1 x 1
Convolution 256 3 x 3
Residual 32 x 32
Convolution 512 3 x 3 / 2 16 x 16
8x
Convolution 256 1 x 1
Convolution 512 3 x 3
Residual 16 x 16
Convolution 1024 3 x 3 / 2 8 x 8
4x
Convolution 512 1 x 1
Convolution 1024 3 x 3
Residual 8 x 8
Avgpool Global 1000
Connected 1000
Softmax
126
C. Chi tiết kiến trúc mạng RBPconv
Input: ảnh (512 x 512 x 3) Kích thước
[Tầng 1] ERB(64); 512x512x64
[Tầng 2] ERB(128); Max-pooling 2x2, stride = 2; 256 x 256 x 128
[Tầng 3] ERB(256); Max-pooling 2x2, stride = 2; 128 x 128 x 256
[Tầng 4] ERB (512); Max-pooling 2x2, stride = 2; 64 x 64 x 512
[Tầng 5] ERB (512); Max-pooling 2x2, stride = 2; 32 x 32 x 512
[Tầng 6] ERB (512); Max-pooling 2x2, stride = 2; 16 x 16 x 512
[Tầng 7] ERB (512); Max-pooling 2x2, stride = 2; 8 x 8 x 512
[Tầng 8] ERB (512); Max-pooling 2x2, stride = 2; 4 x 4 x 512
[Tầng 9] ERB (512); Max-pooling 2x2, stride = 2; 2 x 2 x 512
[Tầng 10] ERB (1024);Max-pooling 2x2, stride = 2; 1 x 1 x 1024
[Tầng 11] DRB(512); up-conv 2x2, stride = 2; 2 x 2 x 512
Concatenate (tầng 11, tầng 9) 2 x 2 x 1024
[Tầng 12] DRB(512); up-conv 2x2, stride = 2; 4 x 4 x 512
Concatenate (tầng 12, tầng 8); 4 x 4 x 1024
[Tầng 13] DRB(512); up-conv 2x2, stride = 2; 8 x 8 x 512
Concatenate (tầng 13, tầng 7); 8 x 8 x 1024
[Tầng 14] DRB(512); up-conv 2x2, stride = 2; 16 x 16 x 512
Concatenate (tầng 14, tầng 6); 16 x 16 x 1024
[Tầng 15] DRB(512); up-conv 2x2, stride = 2; 32 x 32 x 512
Concatenate (tầng 15, tầng 5); 32 x 32 x 1024
[Tầng 16] DRB(512); up-conv 2x2, stride = 2; 64 x 64 x 512
Concatenate (tầng 16, tầng 4); 64 x 64 x 1024
[Tầng 17] DRB(256); up-conv 2x2, stride = 2; 128 x 128 x 256
Concatenate (tầng 17, tầng 3); 128 x 128 x 512
[Tầng 18] DRB(128); up-conv 2x2, stride = 2; 256 x 256 x 128
Concatenate (tầng 18, tầng 2); 256 x 256 x 256
[Tầng 19] DRB(64); up-conv 2x2, stride = 2; 512 x 512 x 64
Concatenate (tầng 19, tầng 1); 512 x 512 x 128
[Tầng 20] DRB(3); 512 x 512 x 3
Output: ảnh (512 x 512 x 3)