luan an-ncs le dinh nghiep 8 2020 ban 2016

136
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

Upload: others

Post on 25-Oct-2021

0 views

Category:

Documents


0 download

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)