1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu, ứng dụng học sâu trong phát hiện cột điện và các thiết bị trên đường dây truyền tải điện từ ảnh uav

74 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu, Ứng Dụng Học Sâu Trong Phát Hiện Cột Điện Và Các Thiết Bị Trên Đường Dây Truyền Tải Điện Từ Ảnh UAV
Tác giả Phạm Hồng Long
Người hướng dẫn TS. Nguyễn Thị Thanh Tân
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 4,64 MB

Nội dung

Chương 2 - Phương pháp phát hiện đối tượng dựa trên mô hình học sâu: Chương này trình bày Bài toán phát hiện đối tượng từ hình ảnh, Các hướng tiếp cận trong phát hiện đối tượng từ hình ả

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

PHẠM HỒNG LONG

NGHIÊN CỨU, ỨNG DỤNG HỌC SÂU TRONG PHÁT HIỆN CỘT ĐIỆN VÀ CÁC THIẾT BỊ TRÊN ĐƯỜNG DÂY TRUYỀN

TẢI ĐIỆN TỪ ẢNH UAV

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Trang 2

PHẠM HỒNG LONG

NGHIÊN CỨU, ỨNG DỤNG HỌC SÂU TRONG PHÁT HIỆN CỘT ĐIỆN VÀ CÁC THIẾT BỊ TRÊN ĐƯỜNG DÂY TRUYỀN

TẢI ĐIỆN TỪ ẢNH UAV

Chuyên ngành : Công nghệ Thông tin

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa học: TS Nguyễn Thị Thanh Tân

Trang 3

Trước hết, em xin gửi lời cảm ơn chân thành và sâu sắc đến TS Nguyễn Thị Thanh Tân, người trực tiếp hướng dẫn cho em hoàn thành luận văn Cô đã dành cho em nhiều thời gian, tâm huyết, cho em nhiều nhận xét đúng trọng tâm, đúng thời điểm, giúp luận văn của em được hoàn thiện hơn về mặt nội dung và hình thức Cô cũng đã luôn quan tâm, động viên, nhắc nhở kịp thời để em có thể hoàn thành luận văn đúng tiến độ Với sự khích lệ và nguồn cổ vũ to lớn từ cô, em

đã có nhận thức tốt hơn về trách nhiệm của bản thân với đề tài của mình

Em cũng xin gửi lời cảm ơn đến Ban Giám hiệu, tập thể các thầy cô giáo Khoa Công nghệ Thông tin trường Đại Học Điện lực đã tận tình dạy dỗ và giúp

đỡ em trong những năm trên giảng đường Cao học

Nhân dịp này, em cũng xin gửi lời cảm ơn tới gia đình, bạn bè đã động viên, tạo điều kiện cho em trong quá trình học tập và quá trình thực hiện luận văn này

Xin trân trọng cảm ơn đề tài nghiên cứu ứng dụng và phát triển công nghệ cấp quốc gia, thuộc chương trình hỗ trợ nghiên cứu, phát triển và ứng dụng công nghệ của công nghiệp 4.0 mã số: KC-4.0.31/19-25 đã hỗ trợ nghiên cứu, thực nghiệm trong quá trình thực hiện luận văn

Trân trọng!

Hà Nội, ngày 01 tháng 06 năm 2023

Học viên

Phạm Hồng Long

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn về đề tài “Nghiên cứu, ứng dụng học sâu trong phát hiện cột điện và các thiết bị trên đường dây truyền tải điện từ ảnh UAV” là công trình nghiên cứu cá nhân của tôi trong thời gian qua

Mọi số liệu sử dụng phân tích trong luận văn và kết quả nghiên cứu là do tôi tự tìm hiểu, phân tích một cách khách quan, trung thực, có nguồn gốc rõ ràng

và chưa được công bố dưới bất kỳ hình thức nào Tôi xin chịu hoàn toàn trách nhiệm nếu có sự không trung thực trong thông tin sử dụng trong công trình nghiên cứu này

Hà Nội, ngày 01 tháng 06 năm 2023

Học viên

Phạm Hồng Long

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ HỌC SÂU VÀ CÁC BÀI TOÁN ỨNG DỤNG 3

1.1 Mạng neural nhân tạo 3

1.1.1 Perceptrons 3

1.1.2 Sigmoid Neurons 4

1.1.3 Kiến trúc mạng MLP 5

1.2 Kiến trúc mạng học sâu 6

1.2.1 Tổng quan về kiến trúc của CNN 6

1.2.2 Chọn tham số cho CNN 12

1.2.3 Đặc trưng chung của các mạng CNN 12

1.2.4 Một số kiến trúc các mạng CNN tiêu biểu 13

1.3 Kết luận chương 20

CHƯƠNG 2 PHƯƠNG PHÁP PHÁT HIỆN ĐỐI TƯỢNG DỰA TRÊN MÔ HÌNH HỌC SÂU 21

2.1 Bài toán phát hiện đối tượng từ hình ảnh 21

2.2 Các hướng triển khai trong phát hiện đối tượng từ hình ảnh 22

2.3 Phương pháp phát hiện đối tượng dựa trên kiến trúc mạng R-CNN 24

2.3.1 Thuật toán R-CNN 24

2.3.2 Thuật toán Fast R-CNN 27

2.3.3 Thuật toán Faster R-CNN 30

2.3.4 Phân loại bài toán phân đoạn hình ảnh 32

2.3.5 Mask R-CNN 32

2.3.6 Phát hiện đối tượng dựa trên instance segmentation 36

2.4 Kiến trúc MaskRCNN-R50-FPN 37

2.4.1 Tổng quan kiến trúc FPN 38

2.4.2 Data Flow 38

2.4.3 Sử dụng FPN với Fast R-CNN, Faster R-CNN, Mask R-CNN 40

Trang 6

2.5 Kết luận chương 41

CHƯƠNG 3: ỨNG DỤNG HỌC SÂU TRONG PHÁT HIỆN CỘT ĐIỆN VÀ CÁC THIẾT BỊ TRÊN ĐƯỜNG DÂY TRUYỀN TẢI ĐIỆN CAO THẾ TỪ ẢNH UAV 43

3.1 Bài toán phát hiện cột điện và các thiết bị trên đường dây truyền tải điện cao thế từ ảnh UAV 43

3.1.1 Quy trình kiểm tra lưới đường dây cao thế 110kV 43

3.1.2 Những lợi ích và hạn chế trong công tác giám sát đường dây 44

3.1.3 Áp dụng công nghệ cho công việc kiểm tra đường dây 110kV 46

3.2 Nghiên cứu đặc trưng ảnh UAV 47

3.3 Các kỹ thuật tiền xử lý ảnh UAV 47

3.3.1 Thu thập dữ liệu từ máy bay UAV 47

3.3.2 Trích xuất dữ liệu ảnh từ dữ liệu video giám sát trên máy bay UAV 48

3.3.3 Chuẩn hóa dữ liệu về kích thước mong muốn huấn luyện cho mô hình 49

3.3.4 Loại bỏ và tinh chỉnh ảnh nhiễu 52

3.4 Đánh giá thực nghiệm 54

3.4.1 Môi trường thực nghiệm 54

3.4.2 Dữ liệu thực nghiệm 54

3.4.3 Các độ đo đánh giá 55

3.4.4 Kết quả thực nghiệm 56

3.6 Kết luận chương 62

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 64

Trang 7

DANH MỤC CHỮ VIẾT TẮT

STT Ký hiệu chữ viết tắt Chữ viết đầy đủ

1 UAV Unmanned Aerial Vehicle

2 DL Deep Learning

3 AI Artificial Intelligence

4 CNN Convolutional Neural Network

5 D-CNN Deep Convolutional Neural Network

6 CONV Convolutional

7 R-CNN Region-based Convolutional Neural Network

Trang 8

DANH MỤC HÌNH VẼ

Hình 1 1: Mô hình Nơ-ron sinh học 3

Hình 1 2: Đồ thị hàm Sigmoid Neurons 5

Hình 1 3: Mạng MLP 5

Hình 1 4: Mô hình MLP (trái) và kiến trúc mạng học sâu (phải) 6

Hình 1 5: Kiến trúc mạng CNN 7

Hình 1 6: Pooling layer 9

Hình 1 7: Max pooling và Average pooling 10

Hình 1 8: Fully Connected Layer 11

Hình 1 9: LeNet-5 13

Hình 1 10: Kiến trúc mạng AlexNet 14

Hình 1 11: Hàm kích hoạt Hàm ReLU 14

Hình 1 12: Kỹ thuật dropout 15

Hình 1 13: VGG-16 16

Hình 1 14: Kiến trúc một cell 16

Hình 1 15: Kiến trúc mạng Inception-V3 17

Hình 1 16: Kiến trúc mạng ResNet-50 18

Hình 1 17: Kiến trúc DenseNet 19

Hình 2 1: Phân biệt phát hiện đối tượng, phân đoạn hình ảnh, phân loại hình ảnh 21 Hình 2 2: Phát hiện đối tượng trên ảnh 23

Hình 2 3: Mô tả cách hoạt động của thuật toán R-CNN 24

Hình 2 4: Mô hình bounding box regression 25

Hình 2 5: Thuật toán non-max suppression 26

Hình 2 6: Mô tả cách hoạt động của thuật toán Fast R-CNN 27

Hình 2 7: Mô tả cơ chế RoI Poling 28

Hình 2 8: Các giá trị của hàm Loss trong thuật toán Fast R-CNN 29

Hình 2 9: Thuật toán Faster R-CNN 30

Hình 2 10: Các giá trị hàm Loss mô hình Faster R-CNN 31

Hình 2 11: Kỹ thuật phân vùng ảnh 32

Trang 9

Hình 2 12: Mô hình thuật toán Mask-RCNN 33

Hình 2 13: Mô tả cơ chế IoU 34

Hình 2 14: Kiến trúc Mask R-CNN dựa trên Faster R-CNN 35

Hình 2 15: Kết quả tách nền sau phân đoạn vật thể 35

Hình 2 16: Mô tả thuật toán Mask R-CNN 36

Hình 2 17: Một vài kết quả của mô hình Mask R-CNN 36

Hình 2 18: Ảnh biến đổi trong RoI Align 37

Hình 2 19: Mô hình bottom-up FPN 39

Hình 2 20: Mô hình top-down FPN 39

Hình 2 21: chi tiết đường đi theo bottom-up và top-down 40

Hình 2 22: Áp dụng FPN tăng hiệu suất cho mô hình Mask R-CNN 41

Hình 3 1: Tiến hành kiểm tra lưới điện 43

Hình 3 2: Bảo trì thay thế đường dây cao thế 110kV 45

Hình 3 3: Áp dụng công nghệ UAV vào giám sát đường dây cao thế 46

Hình 3 4: Ảnh đầu vào (ảnh gốc) 49

Hình 3 5: Ảnh sau điều chỉnh kích thước (resize) 50

Hình 3 6: Quy trình cắt lấy trung tâm ảnh 51

Hình 3 7: Ảnh bị mất chi tiết ngoài khi sử dụng phương pháp cắt lấy trung tâm ảnh 52

Hình 3 8: Quy trình tinh chỉnh ảnh nhiễu 52

Hình 3 9: Kết quả khử nhiễu ảnh 53

Hình 3 10: Đối tượng được nhãn bằng công cụ labelme 55

Hình 3 11: Kết quả phát hiện lớp dây điện sau training 57

Hình 3 12: Kết quả phát hiện lớp cách điện thủy tinh sau training 58

Hình 3 13: Kết quả phát hiện các lớp thiết bị sau training 58

Hình 3 14: Kết quả phát hiện lớp dây điện sau training 59

Hình 3 15: Kết quả phát hiện thiết bị đường dây 60

Hình 3 16: Kết quả phát hiện cột thép hình 61

Hình 3 17: Kết quả phát hiện thiết bị cách điện thủy tinh 61

Trang 10

Hình 3 18: Kết quả sử dụng instance segmentation để tách nền khỏi lớp thiết bị 62

DANH MỤC BẢNG BIỂU

Bảng 3 1: Tập dữ liệu thử nghiệm 54 Bảng 3 2: Đánh giá các độ đo TP, FP, FN 56 Bảng 3 3: Đánh giá các độ đo Precision, Recall 56

Trang 11

MỞ ĐẦU

Hệ thống điện đóng một vai trò quan trọng trong sự phát triển kinh tế của mỗi quốc gia bởi vì nó là một trong những cơ sở hạ tầng quan trọng nhất của nền kinh tế quốc dân Một hệ thống điện bao gồm ba phần chính: phần phát điện (bao gồm các nhà máy phát điện như nhà máy nhiệt điện, nhà máy thủy điện,…), phần truyền tải (bao gồm hệ thống đường dây cao áp, máy biến áp truyền tải, …), và phần phân phối (nơi điện áp được hạ thấp để cung cấp trực tiếp cho các phụ tải, giúp phân phối tới nơi sử dụng tiêu thụ)

Hệ thống điện là tập hợp các phần tử nhằm đáp ứng các yêu cầu về chất lượng, tin cậy và kinh tế của điện năng Các phần tử này bao gồm phần phát điện, truyền tải

và phân phối điện năng, có quy mô rộng lớn và trải dài trong không gian

Dù đã được thiết kế và vận hành chặt chẽ, các sự cố về đường dây và trạm vẫn

có thể xảy ra trong bất kỳ hệ thống điện nào, gây ra tình trạng làm việc không bình thường và hư hỏng cho các phần tử trong hệ thống điện

Thực tế cho thấy, dù đã có chế độ vận hành được tính toán và phân tích kỹ lưỡng trong quá trình lập quy hoạch, báo cáo khả thi, thiết kế kỹ thuật và lập kế hoạch cho phương thức vận hành hệ thống điện, các sự cố về đường dây và trạm vẫn xảy ra trên thế giới cũng như tại Việt Nam Những sự cố này thậm chí có tính chất tương đối phức tạp và ngày càng gia tăng theo sự phát triển của hệ thống, gây ra tổn thất kinh

tế lớn cho đất nước

Trong vài thập kỷ qua, các nước tiên tiến đã tìm hiểu và áp dụng các công nghệ lưới điện thông minh để nâng cao hiệu quả và hiện đại hóa hệ thống lưới điện Các công nghệ mới và hiện đại đã được áp dụng trên lưới truyền tải điện để đạt được mục tiêu tự động hóa quá trình giám sát tình trạng và đảm bảo tính an toàn Việc ứng dụng

tự động hóa và công nghệ thông tin trong quản lý và vận hành hệ thống lưới điện đã

có bước tiến lớn nhưng vẫn chưa thực sự làm chủ các công nghệ tự động hóa trạm

và công nghệ hiện đại

Bên cạnh đó, trong vài năm gần đây, các nhóm nghiên cứu và doanh nghiệp trên toàn cầu đang quan tâm đặc biệt đến việc ứng dụng nền tảng trí tuệ nhân tạo (AI) tích hợp với hệ thống camera giám sát và máy bay không người lái (UAV) để tự động giám sát, kiểm tra và cảnh báo sớm các sự cố trên lưới điện [1], [2], [3], [4] Việc phát triển các loại cảm biến đặc biệt như camera hồng ngoại và camera với chất lượng tốt và mức độ zoom quang và zoom số cao, giúp cho UAV phát hiện các sự cố phổ biến như sự cố đường truyền, thiết bị trên đường dây bị mất hoặc hỏng hóc và các cột điện cao thế bị hư hỏng Với khả năng thực hiện kiểm tra tự động dọc theo đường dây điện và không bị giới hạn về vấn đề địa lý, UAV giúp giảm đáng kể thời gian và

Trang 12

chi phí so với phương thức kiểm tra truyền thống Hơn nữa, nhân viên kiểm tra đường dây không cần phải làm việc trực tiếp với môi trường phức tạp hoặc thực hiện các hoạt động nguy hiểm Tuy nhiên, vấn đề phát sinh khi các thiết bị chuẩn bị ghi và chụp lại một khối lượng lớn hình ảnh là việc phân loại và đánh giá tình trạng vận hành thiết bị từ khối lượng hình ảnh lớn sẽ mất rất nhiều công sức của đội ngũ quản

lý vận hành Do đó, cần có một công cụ tự động phân tích những hình ảnh thu được

để phát hiện, nhận diện và dự báo các sự cố và bất thường trên lưới điện

Do đó em chọn làm đề tài “Nghiên cứu, ứng dụng học sâu trong phát hiện cột điện và các thiết bị trên đường dây truyền tải điện cao thế từ ảnh UAV” với mục đích

để tìm hiểu nhằm trợ giúp cho công tác giám sát, quản lý hệ thống điện Cấu trúc của luận văn gồm 3 chương, cụ thể như sau:

Chương 1 - Tổng quan về học sâu và các bài toán ứng dụng: Chương này

trình bài các vấn đề tổng quan về học sâu và các bài toán ứng dụng, bao gồm các khái niệm cơ bản về mạng neural nhân tạo, học sâu, mô hình mạng tích chập và ứng dụng của học sâu trong giám sát và kiểm tra lưới truyền tải điện cao thế

Chương 2 - Phương pháp phát hiện đối tượng dựa trên mô hình học sâu:

Chương này trình bày Bài toán phát hiện đối tượng từ hình ảnh, Các hướng tiếp cận trong phát hiện đối tượng từ hình ảnh, Phương pháp phát hiện đối tượng dựa trên kiến trúc mạng R-CNN

Chương 3 - Ứng dụng học sâu trong phát hiện cột điện và các thiết bị trên đường dây truyền tải điện cao thế từ ảnh UAV: Chương này đề cập đến bài toán

phát hiện cột điện và các thiết bị trên đường dây truyền tải điện cao thế từ ảnh UAV, các kỹ thuật tiền xử lý ảnh UAV, xây dựng tập dữ liệu cột điện và các thiết bị trên đường dây truyền tải điện cao thế, đề xuất mô hình phát hiện thiết bị và đường dây dựa trên kiến trực mạng R-CNN và đánh giá thực nghiệm

Trang 13

CHƯƠNG 1: TỔNG QUAN VỀ HỌC SÂU VÀ CÁC BÀI TOÁN ỨNG

DỤNG

1.1 Mạng neural nhân tạo

Mạng neural nhân tạo (Artificial Neural Network - ANN) [5] là một mô hình lập trình được lấy cảm hứng từ cấu trúc mạng nơ-ron thần kinh Khi kết hợp với các kĩ thuật học sâu (Deep Learning - DL) [6], [7], [8], mạng neural nhân tạo trở thành một công cụ hữu ích và mạnh mẽ trong việc giải quyết những bài toán phức tạp, ví dụ như nhận dạng ảnh, giọng nói hay xử lý ngôn ngữ tự nhiên, đem lại hiệu quả tối ưu cho các ứng dụng thực tiễn

1.1.1 Perceptrons

Một mạng nơ-ron bao gồm các nơ-ron đơn lẻ, được gọi là perceptron Vì thế, để hiểu mạng nơ-ron chúng ta cần phải tìm hiểu về perceptron trước Perceptron được lấy cảm hứng từ cấu trúc của nơ-ron sinh học, và nó là một trong những thành phần

cơ bản của nơ-ron nhân tạo Để hình dung rõ hơn, hình dưới đây minh họa cho một nơ-ron sinh học cùng với nơ-ron nhân tạo tương ứng

Hình 1 1: Mô hình Nơ-ron sinh học

Như hình trên, ta có thể thấy một nơ-ron có thể nhận nhiều đầu vào và cho ra một

kết quả duy nhất Mô hình của perceptron cũng tương tự như vậy:

Một perceptron có chức năng nhận đầu vào là một hoặc nhiều giá trị nhị phân và

trả về một kết quả o đầu ra nhị phân duy nhất Các giá trị đầu vào sẽ được ảnh hưởng

Trang 14

bởi các tham số trọng số tương ứng, còn kết quả đầu ra sẽ được quyết định dựa trên

ngưỡng quyết định b

Đặt b=−threshold, ta có thể viết lại thành:

Nếu ta coi 4 yếu tố đầu vào là x1, x2, x3, x4 và kết quả đầu ra là o, trong đó o=0 nếu ta không đi nhậu và o=1 nếu ta đi nhậu Giả sử mức độ quan trọng của 4 yếu tố lần lượt là w1, w2, w3, w4 và ngưỡng quyết định b, ta có thể nhận thấy rằng việc trời nắng chỉ ảnh hưởng đến 5% quyết định của ta trong việc đi nhậu, trong khi việc có hẹn trước đó lại ảnh hưởng đến 50% quyết định đó

Nếu gắn x0=1 và w0=b, ta còn có thể viết gọn lại thành:

Đồ thị của hàm này cũng cân xứng rất đẹp thể hiện được mức độ công bằng của các tham số:

Trang 15

Hình 1 2: Đồ thị hàm Sigmoid Neurons

1.1.3 Kiến trúc mạng MLP

Mạng MLP [5] là sự kết hợp của của các tầng perceptron hay còn được gọi là

perceptron đa tầng (multilayer perceptron):

Hình 1 3: Mạng MLP

Một mạng MLP thường gồm 3 lớp chính:

+ Lớp đầu vào (input layer): Đây là tầng bên trái cùng của mạng, thể hiện cho

các đầu vào của mạng

+ Lớp đầu ra (output layer): Đây là tầng bên phải cùng của mạng, thể hiện cho

các đầu ra của mạng

+ Lớp ẩn (hidden layer): Đây là tầng nằm giữa lớp đầu vào và lớp đầu ra của

mạng, thể hiện cho quá trình suy luận logic của mạng

Trang 16

Mỗi nút mạng trong mạng MLP là một sigmoid nơ-ron Hàm kích hoạt của từng nút có thể khác nhau, tuy nhiên thường thì trong thực tế chúng được sử dụng cùng dạng để tính toán dễ dàng hơn Số lượng nơ-ron trong từng tầng có thể khác nhau tùy thuộc vào bài toán và cách giải quyết, nhưng thông thường, các tầng ẩn sẽ có số lượng nơ-ron bằng nhau Ngoài ra, các nơ-ron trong các tầng thường được kết nối đôi một với nhau, tạo thành một mạng kết nối đầy đủ (full-connected network)

1.2 Kiến trúc mạng học sâu

CNN là một trong những mô hình Deep Learning tiên tiến và ảnh hưởng rất nhiều đến lĩnh vực Computer Vision Nó cho phép chúng ta xây dựng các hệ thống thông minh với độ chính xác và đáp ứng cao CNN được sử dụng rộng rãi trong các bài toán nhận dạng và phân loại đối tượng trong ảnh kỹ thuật Khi máy tính xử lý ảnh đầu vào, nó sẽ chuyển ảnh thành một mảng pixel với kích thước H x W x D (H: Chiều cao, W: Chiều rộng, D: Độ sâu) CNN cơ bản là giảm kích thước của ảnh mà không làm mất đi đặc trưng của nó Sau đó, ảnh sẽ được chuyển thành một vector một chiều

để đưa vào huấn luyện, tương tự như ANN được đề cập ở phần trên

1.2.1 Tổng quan về kiến trúc của CNN

Kiến trúc của mạng CNN [6], [7], [8], [9] khác với mạng ANN thông thường Trong ANN, đầu vào được xử lý thông qua nhiều tầng ẩn Mỗi tầng bao gồm một tập các nơ-ron và các tầng được liên kết đầy đủ với các nơ-ron ở tầng trước đó Tầng cuối cùng sẽ đại diện cho kết quả dự đoán của mạng Trong khi đó, kiến trúc của mạng CNN lại khác với cách thức hoạt động này

Hình 1 4: Mô hình MLP (trái) và kiến trúc mạng học sâu (phải)

Mạng Nơ-ron Tích Chập có kiến trúc khác biệt so với ANN Đầu tiên, nó được

chia thành 3 chiều: chiều rộng, chiều cao, chiều sâu (width, height, depth) Thứ hai,

các nơ-ron trong mạng không liên kết hoàn toàn với tất cả các nơ-ron kế tiếp, mà chỉ kết nối với một vùng nhỏ Cuối cùng, tầng đầu ra của mạng được tối giản thành một vector giá trị xác suất

• Feature: Feature có thể hiểu là đặc trưng của hình ảnh Mạng CNN so sánh

Trang 17

giản là khớp các bức ảnh lại với nhau Mỗi feature được xem như là một hình ảnh mini, tức là chúng là những mảng 2 chiều nhỏ Những feature này được tìm kiếm trong bức ảnh để khớp với các khía cạnh chung của nó Từ đó, CNN có thể tìm ra các kết quả phân loại chính xác hơn

• Convolutional: Convolutional được hiểu đơn giản là tích chập Khi một hình

ảnh mới được đưa vào mạng CNN, nó sẽ không biết được vị trí của hình ảnh đó trong không gian, cũng như các feature khớp với nhau ở đâu Do đó, mạng sẽ thử các khả năng khớp tại tất cả các vị trí khác nhau trên hình ảnh Trong quá trình đó, các bộ lọc, hay filter, được tạo ra để giúp mạng thực hiện tích chập Để thực hiện việc này, mạng sử dụng các nơ-ron tích chập

Để tính toán độ khớp của các feature với từng mảnh của hình ảnh, ta nhân kết quả mỗi điểm ảnh trong feature với giá trị tương ứng của điểm ảnh trong hình ảnh Sau đó, ta cộng tất cả các kết quả này lại với nhau và chia cho số lượng tất cả các điểm ảnh có trong feature đó Kết quả của phép tính này được lưu trữ dưới dạng ma trận Nếu các điểm ảnh khớp với nhau, kết quả sẽ là 1, ngược lại sẽ là -1 Để hoàn tất quá trình tích chập, ta cần lặp lại quá trình này cho tất cả các feature và tất cả các mảnh của hình ảnh Quá trình này được thực hiện theo từng lớp để tạo ra các hình ảnh đã được lọc, mỗi hình ảnh sẽ có một filter tương ứng

Hình 1 5: Kiến trúc mạng CNN

• Các layer cơ bản trong CNN

CNN là viết tắt của Convolutional Neural Network, là một loại mạng nơ-ron

sử dụng để xử lý và phân tích hình ảnh CNN được thiết kế với nhiều lớp khác nhau, mỗi lớp đóng vai trò chuyển đổi một khối lượng dữ liệu đầu vào thành một khối lượng dữ liệu đầu ra với các chức năng khác nhau Các lớp này có thể được cấu hình với hoặc không có các tham số để tối ưu hóa quá trình học tập Quá trình này được lặp lại hàng trăm lớp để tạo ra các đặc trưng khác nhau và giúp mạng nơ-ron xử lý hình ảnh một cách hiệu quả

Trang 18

• Convolutional Layer (Lớp tích chập)

Tầng tích chập là một phần quan trọng trong kiến trúc của CNN Nó được sử dụng để trích xuất các đặc trưng từ hình ảnh đầu vào Các phép tính toán trong tầng tích chập thực hiện phép tương quan chéo giữa hạt nhân và đầu vào, sau đó thêm một hệ số điều chỉnh để tạo ra đầu ra Hai tham số quan trọng của tầng tích chập là hạt nhân và hệ số điều chỉnh Khi huấn luyện mô hình chứa các tầng tích chập, thường sẽ khởi tạo hạt nhân ngẫu nhiên, tương tự như cách khởi tạo trong tầng kết nối đầy đủ

Trong ví dụ sau đây, ta xét ma trận hình ảnh đầu vào 5x5 có giá trị pixel là 0

Trang 19

• ReLU Layer (Lớp ReLU)

Lớp ReLU là một hàm kích hoạt phổ biến trong mạng CNN Nó được sử dụng

để mô phỏng quá trình truyền tín hiệu qua các nơ-ron trong não Mặc dù có nhiều hàm kích hoạt khác như Leaky, Sigmoid, Maxout, nhưng hiện nay, hàm ReLU được sử dụng rộng rãi nhất vì tính nhanh chóng và hiệu quả của nó trong quá trình huấn luyện mạng neural

Việc sử dụng lớp ReLU giúp tăng tốc quá trình tính toán của mạng neural, nhưng bạn cần lưu ý đến việc điều chỉnh các tham số như learning rate và dead unit để tối

ưu hóa hiệu suất của mô hình Lớp ReLU thường được áp dụng sau khi tính toán filter map và áp dụng hàm ReLU trên các giá trị của filter map

• Pooling Layer

Lớp Pooling được sử dụng để giảm số lượng tham số khi xử lý các hình ảnh quá lớn Thường được đặt giữa các lớp tích chập, lớp này giúp giảm kích thước của dữ liệu mà vẫn giữ được các thuộc tính quan trọng Việc giảm kích thước của dữ liệu cũng giúp giảm lượng tính toán cần thiết trong mô hình Thông thường, kích thước Pooling được sử dụng là size=(2,2), stride=2, padding=0 để giảm kích thước của đầu

ra đi một nửa, trong khi độ sâu của dữ liệu được giữ nguyên

Trang 20

Hình 1 7: Max pooling và Average pooling

•Average pooling: Phương pháp Average Pooling tính trung bình cộng của các giá trị trong mỗi vùng của đầu vào và sử dụng nó làm giá trị đại diện cho vùng đó

Ví dụ, nếu chia đầu vào thành các vùng 2x2 và thực hiện Average Pooling, thì trung bình cộng của các giá trị trong mỗi vùng 2x2 sẽ được tính toán và sử dụng làm giá trị đại diện cho vùng đó

Cả hai kỹ thuật này đều giúp giảm kích thước của đầu vào và giảm số lượng tham

số trong mô hình Tuy nhiên, phương pháp Max Pooling thường được ưu tiên sử dụng hơn trong các mạng CNN do nó giúp tăng tính nhận diện đặc trưng của mạng

• Fully Connected Layer

Fully Connected Layer là một lớp kết nối đầy đủ trong kiến trúc mạng CNN Lớp này thường được sử dụng ở cuối mạng có tác dụng kết nối các đặc trưng đã được trích xuất từ các lớp trước đó và dùng để phân loại

Trong bài toán ứng dụng thực tế, sau khi ảnh được truyền qua nhiều Convolutional Layer và Pooling Layer của Mạng CNN, mô hình đã học được các đặc điểm của ảnh Khi đó, Tensor của Output Layer cuối cùng được chuyển về thành một vector kích thước (H*W*D) và sau đó được sử dụng bởi các Fully Connected Layer để kết hợp các đặc điểm của ảnh và tạo ra Output cho mô hình Nếu lớp này

có dữ liệu hình ảnh, nó sẽ chuyển chúng thành các batch chưa được phân loại để tìm

ra ảnh có chất lượng cao nhất

Trang 21

Mạng CNN được xây dựng bằng cách sử dụng các lớp Convolution chồng lên nhau và sử dụng các hàm kích hoạt phi tuyến như ReLU và tanh để kích hoạt các trọng số trong các node Mỗi lớp sau đó tạo ra các kết quả trừu tượng hơn cho các lớp tiếp theo

Trong quá trình huấn luyện, các lớp layer của Mạng CNN tự động học các giá trị được biểu diễn qua các filter dựa vào cách thức mà chúng ta thực hiện

Hình 1 8: Fully Connected Layer

Mô hình CNN có hai yếu tố cần quan tâm là tính bất biến vị trí (Location Invariance) và tính kết hợp thành phần (Compositionality) Với cùng một đối tượng, nếu được chiếu theo các góc độ khác nhau như dịch chuyển (translation), xoay (rotation) và thu phóng (scaling), độ chính xác sẽ bị ảnh hưởng đáng kể

Để giải quyết vấn đề này, Pooling Layer trong CNN được sử dụng để tính toán tính bất biến vị trí đối với các phép dịch chuyển, xoay và thu phóng Tính kết hợp cục bộ được đạt được bằng cách sử dụng Convolution từ các bộ lọc để biểu diễn thông tin từ cấp độ thấp đến cấp độ cao và trừu tượng hơn Điều này là lý do vì sao

mô hình CNN cho ra kết quả với độ chính xác rất cao Cấu trúc cơ bản của CNN bao gồm 3 phần chính:

+ Các trường tiếp nhận cục bộ (Location receptive field) được sử dụng để lấy các thông tin quan trọng từ ảnh và chỉ ra những vùng ảnh có giá trị cao nhất

+ Trọng số chia sẻ (Shared weights and bias) trong CNN giúp giảm số lượng các tham số cần thiết tối đa

+ Lớp tổng hợp (Pooling layer) giúp đơn giản hóa thông tin đầu ra của mạng neural để tạo ra kết quả dễ hiểu và dễ sử dụng

Trang 22

1.2.2 Chọn tham số cho CNN

Các tham số cần quan tâm cho CNN bao gồm:

+ Số convolution layer: layer này càng nhiều thì chương trình chạy càng được tốt hơn Chỉ sau 3, 4 layer cũng có thể đạt kết quả như mong muốn

+ Filter size: thường có kích thước là 3x3 hoặc 5x5

+ Pooling size: thường là 2x2 hoặc 4x4 khi hình ảnh đầu vào lớn

+ Train test: Thực hiện nhiều lần train test cho ra các parameter tốt nhất

1.2.3 Đặc trưng chung của các mạng CNN

Mạng neural tích chập (CNN) được sử dụng để trích xuất các đặc trưng của hình ảnh bằng cách áp dụng phép tích chập Kiến trúc phân tầng trong CNN cho phép học được các đặc trưng ở các cấp độ khác nhau, từ cấp độ thấp đến cấp độ cao Với các đặc trưng chung như đường chéo, ngang, dọc rìa, cạnh, CNN sẽ học được các đặc trưng chi tiết hơn như bánh xe, cánh cửa, mui xe (với vật thể là xe) Các đặc trưng này được tổng hợp lại để tạo ra hình ảnh của vật thể Để visualize output của từng block trong CNN, bạn có thể tham khảo tài liệu How to Visualize Filters and Feature Maps in CNN - Machine Learning Mastery

Để đạt hiệu quả, mô hình CNN cần được huấn luyện trên các bộ dữ liệu lớn, vì chỉ với dữ liệu nhỏ, mô hình CNN sẽ không có ưu thế so với các phương pháp học máy truyền thống Với kích thước mạng lớn hơn rất nhiều so với số lượng tham số của các phương pháp học máy truyền thống, mạng CNN có khả năng biểu diễn tốt hơn và đạt độ chính xác cao hơn

Mạng neural tích chập phổ biến là mạng AlexNet với kiến trúc phân tầng với kích thước layers giảm dần theo độ sâu Thông thường, mức độ giảm kích thước lý tưởng

là cấp số 2 Việc giảm kích thước layers theo cấp số nhất định giúp giảm thiểu số lượng tham số của mô hình và tạo ra các mạng có kích thước nhẹ hơn và tốc độ dự báo nhanh hơn, đồng thời độ chính xác của mô hình không giảm đáng kể

Để đa dạng hóa các đặc trưng hơn, ta tăng số bộ lọc và độ sâu của các layers trong mạng CNN theo cấp số nhân Các layer đầu tiên của mạng CNN học những đặc trưng chung, còn các layer sau yêu cầu độ chi tiết cao hơn và cần nhiều bộ lọc hơn để phân biệt được nhiều chi tiết đặc trưng hơn

Sau khi áp dụng các bước tích chập trên mạng CNN, ta thu được các đặc trưng 2 chiều Để phân loại, các đặc trưng này được chuyển thành đặc trưng 1 chiều bằng phương pháp flatten và đưa qua các fully connected layers Mỗi fully connected

Trang 23

layers sử dụng một hàm kích hoạt phi tuyến để tăng khả năng biểu diễn và cải thiện kết quả phân loại của mô hình

1.2.4 Một số kiến trúc các mạng CNN tiêu biểu

Hầu hết các mạng CNN đều được thiết kế theo nguyên tắc chung : Dùng nhiều convolutional layer chồng lên nhau, giảm dần kích thước của output mỗi tầng và tăng

số lượng feature map Một vài mạng CNN tiêu biểu, bao gồm:

Trong kiến trúc mạng nơ-ron đầu tiên của Yan Lecun, để giảm chiều dữ liệu, ông

đã sử dụng Sub-Sampling Layer dưới dạng Average-Pooling Layer (một loại layer giảm chiều dữ liệu mà không thay đổi đặc trưng, còn được gọi là Sub-Sampling Layer) Tuy nhiên, kiến trúc này khó hội tụ, do đó ngày nay ta thường sử dụng Max-Pooling thay thế Kích thước đầu vào của mạng LeNet chỉ là 32x32 và số lượng layer không nhiều, do đó số lượng tham số của nó chỉ khoảng 60 nghìn

• Kiến trúc mạng AlexNet (2012)

AlexNet là một mạng CNN được giới thiệu vào năm 2012 bởi Alex Krizhevsky

và đã chiến thắng cuộc thi ImageNet với sự chênh lệch đáng kể so với vị trí thứ hai Thành công của AlexNet đã chứng minh rằng các đặc trưng được học từ mô hình có thể tốt hơn so với các đặc trưng được tạo thủ công thông qua các thuật toán như

Trang 24

SUFT, HOG, SHIFT Điều này phá vỡ định kiến trước đó về việc các đặc trưng tạo thủ công sẽ tốt hơn đặc trưng học từ mô hình

Trong quá trình tối ưu, AlexNet đã được cải thiện bằng cách sử dụng activation ReLU thay cho Sigmoid ReLU là hàm tính toán nhanh, đạo hàm chỉ có 2 giá trị {0, 1} và không có lũy thừa cơ số e như hàm sigmoid, tuy nhiên vẫn giữ được tính phi tuyến (non-linear)

Trang 25

Hình 1 12: Kỹ thuật dropout

AlexNet đã sử dụng dropout layer để giảm số lượng liên kết neural và kiểm soát overfitting Để tăng độ sâu của mạng, AlexNet tăng độ sâu qua từng kernel trong mỗi lớp, trong khi giảm kích thước đầu ra của mỗi lớp Với số lượng layer và độ phân giải đầu vào lớn hơn, AlexNet có tới 60 triệu tham số, nhiều hơn rất nhiều so với LeNet

• Kiến trúc mạng VGG-16 (2014)

Với mục tiêu cải thiện độ chính xác của mô hình, VGG-16 sử dụng một mạng nơ ron sâu hơn và giữ các đặc điểm của AlexNet, được cải tiến quan trọng Kiến trúc của VGG-16 bao gồm 13 lớp tích chập 2 chiều (tăng từ 5 so với AlexNet) và 3 lớp fully connected

Khối tích chập xuất hiện lần đầu tiên trong VGG-16, đây là một dạng kiến trúc được lặp lại của các layers CNN và đã trở thành một mô hình phổ biến trong các mạng CNN kể từ đó

VGG-16 cũng sử dụng hàm activation ReLU như AlexNet, và là kiến trúc đầu tiên thay đổi thứ tự của các khối khi xếp nhiều lớp CNN + max pooling thay vì xen

kẽ chỉ một lớp CNN + max pooling Thay đổi này giúp các lớp CNN sâu hơn có thể trích xuất đặc trưng tốt hơn so với chỉ có một lớp CNN Một câu hỏi liên quan đến

sự thay đổi này được đặt trên Forum Machine Learning Cơ Bản để hỏi về cách thay đổi này giúp cho VGG-16 cải thiện độ chính xác của mô hình như thế nào

Trang 26

Hình 1 13: VGG-16

VGG-16 sử dụng bộ lọc kích thước nhỏ 3x3 để giảm số lượng tham số và tăng hiệu quả tính toán, thay vì nhiều kích thước bộ lọc như AlexNet Ví dụ, sử dụng 2 bộ lọc 3x3 trên một features map với độ sâu là 3, ta cần 54 tham số, trong khi 1 bộ lọc 5x5 cần 75 tham số

VGG-16 có số lượng tham số lên tới 138 triệu, là một trong những mạng có số lượng tham số lớn nhất Kết quả của VGG-16 đứng thứ 2 trên bộ dữ liệu ImageNet validation Ngoài ra, VGG-19 là phiên bản nâng cấp của VGG-16 với thêm 3 layers

về độ sâu

VGG-16 là hình mẫu cho các mạng CNN trong các tác vụ học có giám sát trong

xử lý ảnh, bắt đầu hình thành các mạng sâu hơn và sử dụng các block dạng [Conv2D*n + Max Pooling]

• Kiến trúc mạng Inception-V3 (2015)

Được các nhà nghiên cứu Google đưa ra năm 2015 Mạng bao gồm các đơn vị gọi là “inception cell” thực hiện convolution 1 input với nhiều filter khác nhau rồi tổng hợp lại, theo nhiều nhánh

Hình 1 14: Kiến trúc một cell

Trang 27

Inception-V3 là phiên bản kế thừa của Inception-V1 với tổng số 24 triệu tham số Tất cả các layer tích chập của Inception-V3 được áp dụng batch normalization và một ReLU activation Batch normalization là kỹ thuật chuẩn hóa đầu vào cho từng minibatch tại mỗi layer theo phân phối chuẩn hóa (0,1), giúp quá trình huấn luyện thuật toán nhanh hơn

Inception-V3 giải quyết vấn đề thắt cổ chai (representational bottlenecks) bằng cách giữ cho kích thước của các layers không bị giảm đột ngột Ngoài ra, Inception-V3 sử dụng phương pháp nhân tố (factorisation methods) để tính toán hiệu quả hơn

- Inception-B: Tiếp tục cải tiến so với Inception-A bằng cách thay thế tích chập 3x3 bằng tích chập 7x7 ở cả hai nhánh đầu tiên và phân tích nhân tố tích chập 7x7 thành hai tích chập liên tiếp 7x1 và 1x7, giúp giảm số lượng tham số từ 18 xuống 14

Trang 28

- Inception-C: Tiếp tục cải tiến so với Inception-B bằng cách thay tích chập 7x1 bằng tích chập 3x1 và 1x7 bằng 1x3, và đặt các layer 3x1 và 1x3 là song song với nhau Kiến trúc này giúp giảm số lượng tham số từ 14 xuống 6

Ngoài ra, Inception-V3 còn sử dụng hai kiến trúc giảm chiều dữ liệu là Reduction-A và Reduction-B

• Kiến trúc mạng ResNet-50 (2015)

ResNet là một kiến trúc phổ biến được sử dụng rộng rãi hiện nay và cũng là kiến trúc đầu tiên áp dụng batch normalization Mặc dù số lượng layer của ResNet có thể lên tới 152, nhưng nhờ áp dụng những kỹ thuật đặc biệt, kích thước của ResNet50 chỉ khoảng 26 triệu tham số Kiến trúc này với ít tham số nhưng hiệu quả đã giúp ResNet đạt chiến thắng trong cuộc thi ImageNet năm 2015 (xem Hình 1 16)

Hình 1 16: Kiến trúc mạng ResNet-50

Các kiến trúc CNN trước đó thường tập trung vào việc tăng độ sâu của mạng để cải thiện độ chính xác, tuy nhiên thực tế cho thấy đến một ngưỡng độ sâu thì độ chính xác của mô hình không còn cải thiện và thậm chí có thể giảm đi Việc đi qua quá nhiều tầng có thể khiến thông tin bị mất đi và để giải quyết vấn đề này, các nhà nghiên cứu của Microsoft đã áp dụng kết nối tắt trên ResNet Kết nối tắt giúp giữ lại thông tin bằng cách kết nối từ layer sớm tới layer sau và bỏ qua một số layer trung gian

Đối với các kiến trúc CNN của các mạng YOLOv2, YOLOv3 và YOLOv4, các kết nối tắt được áp dụng thường xuyên ResNet sử dụng khối tích chập (Convolution Block) với bộ lọc kích thước 3x3 giống với InceptionNet Khối tích chập bao gồm hai nhánh tích chập, trong đó một nhánh áp dụng tích chập 1x1 trước khi cộng trực tiếp vào nhánh còn lại

Với khối xác định (Identity Block), không áp dụng tích chập 1x1 mà cộng trực tiếp giá trị của nhánh đó vào nhánh còn lại Để tìm ánh xạ chuẩn xác tương đương với hàm f(x) của khối xác định, ta cần tìm giá trị f(x) gần bằng 0 để thu được một ánh xạ chuẩn xác Để làm được điều này, chúng ta có thể cộng thêm trực tiếp giá trị phần dư vào đầu ra Tại một khối xác định, chúng ta sẽ áp dụng một layer activation

Trang 29

𝑛 + 𝑜(𝑥𝑛) Công thức của ResNet có thể được xem như khai triển Taylor tại đạo hàm bậc nhất, trong đó g(x) tương ứng với phần số dư Phân rã số dư thành nhiều đạo hàm bậc cao hơn sẽ làm khai triển Taylor càng chính xác hơn Mạng DenseNet có ý tưởng tương tự, sử dụng một mạng lưới các kết nối tắt dày đặc để liên kết các khối với nhau Kiến trúc tổng quan của mạng DenseNet được mô tả trên Hình 1 17

Trang 30

1.3 Kết luận chương

Trong chương này, luận văn đã giới thiệu cơ sở lý thuyết về mạng nơ-ron nhân tạo (ANN), bao gồm kiến trúc perceptron, mạng nơ-ron đa lớp (MLP) và mạng tích nơ-ron tích chập (CNN) Ngoài ra, để lựa chọn được kiến trúc mạng phù hợp để giải quyết bài toán, học viên đã tiến hành khảo sát một số kiến trúc mạng học sâu tiêu biểu như LeNet-5, AlexNet, VGG-16, Inception-V3, ResNet-50 và DenseNet

Để giúp học viên lựa chọn được kiến trúc mạng phù hợp, luận văn nghiên cứu một số kiến trúc mạng CNN nổi tiếng bao gồm: - LeNet-5: Đây là kiến trúc mạng CNN đầu tiên được sử dụng để nhận diện chữ số viết tay Mạng này bao gồm 7 lớp convolutional và pooling

AlexNet: Được giới thiệu vào năm 2012, kiến trúc này là một trong những kiến trúc mạng CNN đầu tiên giành chiến thắng trong cuộc thi ImageNet Large Scale Visual Recognition Challenge Mạng này gồm 8 lớp convolutional, pooling và fully-connected

VGG-16: Được giới thiệu vào năm 2014, đây là một kiến trúc mạng CNN có độ sâu lớn, bao gồm 16 lớp convolutional và pooling

Inception-V3: Được giới thiệu vào năm 2015, đây là một kiến trúc mạng CNN

có độ sâu lớn và có nhiều nhánh khác nhau, bao gồm các lớp convolutional, pooling

và các module Inception

ResNet-50: Được giới thiệu vào năm 2015, đây là một kiến trúc mạng CNN có

độ sâu lớn và sử dụng residual connections để giải quyết vấn đề gradient vanishing Mạng này bao gồm các lớp convolutional, pooling và các residual blocks

DenseNet: Được giới thiệu vào năm 2016, đây là một kiến trúc mạng CNN có độ sâu lớn và sử dụng dense connections để kết nối các lớp với nhau Mạng này bao gồm các lớp convolutional, pooling và các dense blocks

Trang 31

CHƯƠNG 2 PHƯƠNG PHÁP PHÁT HIỆN ĐỐI TƯỢNG DỰA TRÊN

MÔ HÌNH HỌC SÂU

2.1 Bài toán phát hiện đối tượng từ hình ảnh

Để hiểu rõ bản chất của phát hiện đối tượng (detection) là gì ta cần tìm hiểu khái niệm Phân loại hình ảnh (Image Classification) là gì?

Image classification hay còn gọi là Image recognition là một trong những tác vụ của thị giác máy tính, trong đó thuật toán được sử dụng để đánh nhãn cho các hình ảnh từ một tập dữ liệu được đào tạo trước Ví dụ, với một tập hình ảnh mô tả con chó hoặc con mèo, thuật toán sẽ phân tích hình dạng, màu sắc để dự đoán nội dung của ảnh Kết quả thu được từ tập dữ liệu ban đầu, các hình ảnh đã được phân loại theo loại động vật

Hình ảnh được xử lý trên máy tính dưới dạng pixel Do đó, hình ảnh được biểu diễn dưới dạng ma trận, và kích thước của ma trận phụ thuộc vào độ phân giải hình ảnh Việc xử lý hình ảnh được thực hiện thông qua các thuật toán phân tích dữ liệu toán học Các thuật toán này giúp giảm khối lượng công việc của bộ phân loại cuối cùng bằng cách chia nhỏ hình ảnh thành các đặc điểm nổi bật

Trích xuất đặc điểm là bước quan trọng trong việc phân loại hình ảnh Phân loại, đặc biệt là phân loại có giám sát, phụ thuộc phần lớn vào dữ liệu được cung cấp cho thuật toán Để đảm bảo tính chính xác của kết quả phân loại, bộ dữ liệu phân loại cần đảm bảo các yêu cầu về sự cân bằng của dữ liệu, chất lượng của ảnh và chú giải kèm theo

Hình 2 1: Phân biệt phát hiện đối tượng, phân đoạn hình ảnh, phân loại hình ảnh

Trang 32

Định vị vật thể (object localization) liên quan đến việc vẽ một hộp giới hạn (bounding box) xung quanh một hoặc nhiều đối tượng trong hình ảnh để khoanh vùng đối tượng Bản chất của phát hiện đối tượng là kết hợp hai công đoạn xử lý: định vị đối tượng trong bức ảnh và gắn nhãn cho chúng Các vấn đề này kết hợp với nhau để tạo thành nhận dạng đối tượng (object recognition) hoặc phát hiện đối tượng (object detection)

2.2 Các hướng triển khai trong phát hiện đối tượng từ hình ảnh

Để mô tả tập hợp các nhiệm vụ thị giác máy tính liên quan đến việc xác định các đối tượng trong hình ảnh kỹ thuật số, nhận dạng đối tượng được sử dụng làm thuật ngữ chung Phân loại hình ảnh dựa vào việc dự đoán loại đối tượng trong hình ảnh, trong khi việc định vị vật thể dựa vào việc xác định vị trí của một hoặc nhiều đối tượng trong hình ảnh và đưa ra hộp giới hạn xung quanh chúng Phát hiện đối tượng kết hợp hai nhiệm vụ trên và thực hiện đối với một hoặc nhiều đối tượng trong hình ảnh Có thể phân biệt ba nhiệm vụ thị giác máy tính cơ bản dựa trên đầu vào và đầu

ra của chúng như sau:

• Phân loại hình ảnh: Dự đoán nhãn của một đối tượng trong một hình ảnh Đầu vào: Một hình ảnh chứa một đối tượng, ví dụ như một bức ảnh

Đầu ra: Nhãn lớp (chẳng hạn như một hoặc nhiều số nguyên được ánh xạ tới nhãn lớp)

• Định vị đối tượng: Xác định vị trí của các đối tượng trong hình ảnh và chỉ ra vị trí của chúng thông qua hộp giới hạn

Đầu vào: Một hình ảnh chứa một hoặc nhiều đối tượng, ví dụ như một bức ảnh Đầu ra: Một hoặc nhiều hộp giới hạn được xác định bởi tọa độ trung tâm, chiều rộng và chiều cao

• Phát hiện đối tượng: Xác định vị trí của các đối tượng trong hộp giới hạn và nhãn của các đối tượng trong hình ảnh

Đầu vào: Một hình ảnh chứa một hoặc nhiều đối tượng, ví dụ như một bức ảnh Đầu ra: Một hoặc nhiều hộp giới hạn và nhãn cho mỗi hộp giới hạn

Ngoài ra, phân đoạn đối tượng (object segmentation) cũng là một khái niệm quan trọng trong lĩnh vực thị giác máy tính, trong đó các đối tượng được xác định bằng cách làm nổi bật các pixel cụ thể của chúng thay vì dùng hộp giới hạn.[2]

Hình 2 2 mô tả các bước cơ bản trong bài toán phát hiện đối tương (object detection),bao gồm:

Trang 33

Hình 2 2: Phát hiện đối tượng trên ảnh

Phân loại hình ảnh là quá trình xác định loại đối tượng hoặc nội dung trong một hình ảnh Thông thường, việc này được thực hiện bằng cách sử dụng mô hình học sâu như Convolutional Neural Network (CNN) và các kỹ thuật khác Các ứng dụng của phân loại hình ảnh là rất đa dạng, từ việc nhận dạng khuôn mặt, phát hiện vật thể cho đến nhận dạng chữ viết tay và phân loại sản phẩm

Định vị đối tượng (Object localization) là quá trình xác định vị trí của một đối tượng trong hình ảnh Khác với phân lớp hình ảnh, object localization cung cấp thông tin chi tiết hơn về đối tượng bằng cách đưa ra một hộp giới hạn (bounding box) xác định vị trí của đối tượng trong hình ảnh

Phát hiện đối tượng (Object detection) là quá trình xác định vị trí và loại đối tượng trong hình ảnh Khác với phân lớp hình ảnh và object localization, object detection cung cấp thông tin chi tiết hơn về đối tượng bằng cách đưa ra một hoặc nhiều hộp giới hạn (bounding box) xác định vị trí của đối tượng trong hình ảnh và gán nhãn loại của đối tượng đó

Phân đoạn đối tượng (Object segmentation) là quá trình phân đoạn hình ảnh thành các vùng tương ứng với các đối tượng khác nhau có trong hình ảnh Khác với object detection, object segmentation cung cấp thông tin chi tiết hơn về đối tượng bằng cách đưa ra đường biên chính xác của đối tượng trong hình ảnh

Trang 34

2.3 Phương pháp phát hiện đối tượng dựa trên kiến trúc mạng R-CNN

Hình 2 3: Mô tả cách hoạt động của thuật toán R-CNN

Quy trình thực hiện thuật toán R-CNN được mô tả chi tiết trên hình, bao gồm các bước cơ bản sau:

+ Bước 1: Sử dụng các mô hình đã được đào tạo trước cho phân loại ảnh, chẳng hạn như VGG hoặc Resnet, đã được đào tạo trên bộ dữ liệu ImageNet với nhiệm vụ phân loại liên quan đến N lớp

+ Bước 2: Tìm kiếm và lựa chọn các vùng quan tâm (ROI) bằng cách sử dụng thuật toán tìm kiếm chọn lọc (selective search) Thuật toán này sẽ trả về khoảng

~2000 vùng cho mỗi hình ảnh, chứa các đối tượng có kích thước khác nhau

+ Bước 3: Chỉnh sửa lại kích thước của các vùng quan tâm để phù hợp với mạng CNN

+ Bước 4: Tiếp tục tinh chỉnh (fine-tune) CNN trên các vùng được đề xuất cho

K + 1 lớp Một lớp bổ sung này liên quan đến phần nền (background) của hình ảnh (tức không có đối tượng) Trong giai đoạn fine-tune, chúng ta sử dụng tỉ lệ học (learning rate) nhỏ và phân lô nhỏ (mini-batch) vì hầu hết các vùng đề xuất (proposed region) chỉ là phần nền

+ Bước 5: Với mỗi vùng quan tâm được đề xuất, mỗi lần truyền qua CNN sẽ tạo

ra một vectơ đặc trưng (feature vector) Sau đó, feature vector này sẽ được sử dụng bởi thuật toán SVM nhị phân đã được đào tạo cho từng lớp Những mẫu khả thi

Trang 35

(positive samples) là những vùng quan tâm có tỉ lệ IoU (intersection over union) lớn hơn hoặc bằng, còn lại sẽ là mẫu không khả dụng (negative samples)

+ Bước 6: Để giảm độ lỗi, R-CNN sử dụng một mô hình hồi quy (regression) đã được đào tạo để chỉnh sửa lại hộp giới hạn (bounding box) được dự đoán so với hộp giới hạn chính xác đã được gán nhãn từ trước

• Bounding Box Regression

Giả sử chúng ta có một hộp giới hạn được phát hiện với tọa độ P = (Px, Py, Pw, Ph), trong đó Px và Py là tọa độ của trung điểm hộp giới hạn, Pw và Ph là chiều rộng

và chiều cao của hộp giới hạn đó Ngoài ra, hộp giới hạn chính xác được gán với G

= (Gx, Gy, Gw, Gh) Để tìm chuyển đổi tỉ lệ bất biến (scale-invariant transformation) giữa tỉ lệ của hai tọa độ trung tâm, cũng như chuyển đổi quy mô log (log-scale transformation) giữa chiều rộng và chiều cao, chúng ta sử dụng bộ hồi quy (regression) [1]

Hình 2 4: Mô hình bounding box regression

Lợi ích rõ ràng của việc sử dụng các biến đổi (transformation) là tất cả các hàm điều chỉnh hộp giới hạn (bounding-box) ⅆ𝑖(𝑃) trong đó ⅈ𝜖{𝑥, 𝑦, 𝑤, ℎ} có thể nhận giá trị trong khoảng [-∞, +∞]

𝑡𝑥 = (𝑔𝑥 − 𝑝𝑥)/𝑝𝑤

𝑡𝑦 = (𝑔𝑦 − 𝑝𝑦)/𝑝ℎ

𝑡𝑤 = log (𝑔𝑤 / 𝑝𝑤)

𝑡𝑤 = log (𝑔ℎ / 𝑝ℎ)

Trang 36

Mục đích của việc học này là xây dựng một mô hình hồi quy có thể giải quyết vấn đề bằng cách sử dụng hàm mất mát (loss function) SSE cùng với chính quy hóa (regularization) có dạng:

• Thuật toán Non-Maximum Suppression

Khi phát hiện một đối tượng, có khả năng sẽ có nhiều hộp giới hạn (bounding box) được tạo ra Tuy nhiên, để loại bỏ các hộp giới hạn dư thừa của cùng một đối tượng, chúng ta có thể sử dụng thuật toán non-maximum suppression Thuật toán này thực hiện theo các bước sau: trước tiên, sắp xếp tất cả các hộp giới hạn (bounding box) theo điểm tin cậy (confidence score); sau đó, loại bỏ tất cả các hộp giới hạn (bounding box) có điểm tin cậy (confidence score) thấp Khi còn lại các hộp giới hạn (bounding box), chúng ta sử dụng thuật toán tham lam để chọn hộp có điểm số cao nhất Tiếp đó, loại bỏ các hộp có tỉ lệ IoU (intersection over union) cao hơn một ngưỡng đã định trước với hộp giới hạn được chọn trước đó (tức là > 0,5) để đảm bảo rằng chúng ta chỉ giữ lại các hộp giới hạn tốt nhất [1]

Hình 2 5: Thuật toán non-max suppression

• Thuật toán Hard Negative Mining

Những hộp giới hạn (bounding box) không chứa đối tượng là các mẫu không khả dụng trong quá trình huấn luyện Tuy nhiên, không phải tất cả các mẫu không khả dụng (negative samples) đều khó xác định Nếu hộp giới hạn không chứa đối tượng hoàn toàn, nó được xác định rất dễ dàng và được gọi là những mẫu không khả dụng

dễ (easy negative) Tuy nhiên, nếu hộp giới hạn chứa các kết cấu kỳ lạ hoặc một phần của đối tượng, nó có thể khó được phân loại và được gọi là những mẫu không khả dụng khó (hard negative)

Trang 37

Các mẫu không khả dụng khó là những mẫu dễ bị phân loại sai Tuy nhiên, chúng

ta có thể tìm thấy các mẫu sai (false positive) trong quá trình huấn luyện và đưa chúng vào dữ liệu huấn luyện để cải thiện khả năng phân loại [1]

2.3.2 Thuật toán Fast R-CNN

Girshick đã cải thiện quá trình huấn luyện R-CNN bằng cách kết hợp 3 mô hình độc lập thành một framework được đào tạo chung và tối ưu hóa khả năng chia sẻ tính toán Mô hình mới đó được gọi là Fast R-CNN Thay vì trích xuất vectơ đặc trưng (CNN feature vectors) cho từng vùng đề xuất (region proposal), Fast R-CNN tổng hợp chúng thành một mạng CNN áp dụng trên toàn bộ hình ảnh và các vùng đề xuất (region proposals) chia sẻ các ma trận đặc trưng (feature matrix) Sau đó, các ma trận đặc trưng (feature matrix) được phân nhánh để sử dụng cho việc phân loại (classification) và hồi quy với hộp giới hạn (bounding-box regression) Việc kết hợp nhiều mô hình trong Fast R-CNN giúp tăng hiệu suất và giảm thời gian huấn luyện.[1]

Hình 2 6: Mô tả cách hoạt động của thuật toán Fast R-CNN

• Thuật toán RoI Pooling

Tổng hợp tối đa (max pooling) được sử dụng để chuyển đổi các đặc trưng (feature) trong vùng dự kiến (projected region) của hình ảnh với mọi kích thước (h x w) thành một cửa sổ có kích thước cố định (H x W) Để thực hiện điều này, vùng đầu vào (input region) sẽ được chia thành lưới kích thước H x W, tương đương với việc mỗi cửa sổ phụ (subwindows) sẽ có kích thước xấp xỉ h/H x w/W Sau đó, tổng hợp tối đa (max-pooling) được sử dụng trên mỗi lưới (grid)

Ngày đăng: 27/02/2024, 11:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w