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

Ứng dụng thuật toán yolo trong xây dựng hệ thống hỗ trợ phân tích hình ảnh tự động tại phòng kỹ thuật hình sự công an tỉnh khánh hòa

63 31 1

Đ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 đề Ứng dụng thuật toán yolo trong xây dựng hệ thống hỗ trợ phân tích hình ảnh tự động tại phòng kỹ thuật hình sự - công an tỉnh khánh hòa
Tác giả Lã Hải Phong
Người hướng dẫn TS. Đinh Đồng Lưỡng
Trường học Trường Đại học Nha Trang
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 2020
Thành phố Khánh Hòa
Định dạng
Số trang 63
Dung lượng 6,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kết quả đạt được của luận văn đạt được một số kết quả sau:  Hiểu được các kỹ thuật học sâu, các khái niệm cơ bản liên quan đến mạng ron, mạng nơ-ron tích chập, các mô hình học sâu phổ b

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG

LÃ HẢI PHONG

ỨNG DỤNG THUẬT TOÁN YOLO TRONG XÂY DỰNG

HỆ THỐNG HỖ TRỢ PHÂN TÍCH HÌNH ẢNH TỰ ĐỘNG TẠI PHÒNG KỸ THUẬT HÌNH SỰ - CÔNG AN TỈNH KHÁNH HÒA

LUẬN VĂN THẠC SĨ

KHÁNH HÒA - 2020

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG

LÃ HẢI PHONG

ỨNG DỤNG THUẬT TOÁN YOLO TRONG XÂY DỰNG

HỆ THỐNG HỖ TRỢ PHÂN TÍCH HÌNH ẢNH TỰ ĐỘNG TẠI PHÒNG KỸ THUẬT HÌNH SỰ - CÔNG AN TỈNH KHÁNH HÒA

Phòng Đào tạo Sau Đại học:

KHÁNH HÒA - 2020

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan mọi kết quả của đề tài: “Ứng dụng thuật toán YOLO trong

xây dựng hệ thống hỗ trợ phân tích hình ảnh tự động tại Phòng Kỹ thuật hình sự - Công an tỉnh Khánh Hòa” là công trình nghiên cứu của cá nhân tôi và chưa từng

được công bố trong bất cứ công trình khoa học nào khác cho tới thời điểm này

Khánh Hòa, tháng 4 năm 2020

Tác giả luận văn

Lã Hải Phong

Trang 4

LỜI CẢM ƠN

Để hoàn thành luận văn này, tôi đã nhận được nhiều sự hỗ trợ, giúp đỡ của nhiều tổ chức và cá nhân Với tình cảm chân thành và sâu sắc, tôi xin được bày tỏ lòng biết ơn đến tất cả các tổ chức và cá nhân đã tạo điều kiện giúp đỡ trong quá trình học tập và nghiên cứu đề tài

Trước hết tôi xin gửi tới các thầy cô Khoa Công nghệ thông tin, Trường Đại học Nha Trang lời cảm ơn sâu sắc Với sự quan tâm, dạy dỗ, chỉ bảo tận tình, chu đáo của các thầy cô để tôi có thể hoàn thành khóa học

Đặc biệt tôi xin gửi lời cảm ơn chân thành nhất tới TS Đinh Đồng Lưỡng, thầy

đã quan tâm, giúp đỡ, truyền cảm hứng và hướng dẫn tôi về kiến thức chuyên môn để

hoàn thành tốt luận văn: “Ứng dụng thuật toán YOLO trong xây dựng hệ thống hỗ trợ

phân tích hình ảnh tự động tại Phòng Kỹ thuật hình sự - Công an tỉnh Khánh Hòa”

Tôi cũng bày tỏ lòng biết ơn đến lãnh đạo Trường Đại học Nha Trang, Phòng Đào tạo sau đại học đã trực tiếp và gián tiếp giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu đề tài

Cuối cùng, tôi xin gửi lời cảm ơn chân thành đến gia đình, đặc biệt là vợ tôi và tất cả bạn học viên cao học công nghệ thông tin đã giúp đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, luận văn này không thể tránh được những thiếu sót Rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để tôi có điều kiện bổ sung, nâng cao kiến thức của mình

Tôi xin chân thành cảm ơn!

Khánh Hòa, tháng 4 năm 2020

Tác giả luận văn

Lã Hải Phong

Trang 5

MỤC LỤC

LỜI CAM ĐOAN iii

LỜI CẢM ƠN iv

MỤC LỤC v

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

DANH MỤC BẢNG viii

DANH MỤC HÌNH ix

TRÍCH YẾU LUẬN VĂN xi

CHƯƠNG 1: TỔNG QUAN 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu nghiên cứu của đề tài luận văn 2

1.3 Đối tượng nghiên cứu 2

1.4 Phạm vi nghiên cứu 2

1.5 Phương pháp nghiên cứu 2

1.6 Cấu trúc luận văn 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4

2.1 Giới thiệu về học sâu 4

2.1.1 Trí tuệ nhân tạo 4

2.1.2 Học máy 4

2.1.3 Học sâu 6

2.2 Mạng nơ-ron 10

2.2.1 Perceptron 10

2.2.2 Mô hình mạng nơ-ron 14

2.2.3 Lan truyền tiến 15

2.2.4 Hàm mất mát của mạng nơ-ron 16

2.2.5 Tối ưu hóa hàm mất mát 17

2.3 Mạng nơ-ron tích chập 18

2.3.1 Tích chập 20

Trang 6

2.3.2 Lớp tích chập 23

2.3.3 Lớp kích hoạt 24

2.3.4 Lớp hợp nhất 25

2.3.5 Lớp kết nối đầy đủ 26

CHƯƠNG 3: PHÁT HIỆN ĐỐI TƯỢNG TRONG VIDEO SỬ DỤNG THUẬT TOÁN YOLO 27

3.1 Giới thiệu về bài toán phát hiện đối tượng và một số phương pháp phát hiện đối tượng 27

3.1.1 Nhóm các bộ phát hiện đối tượng hai giai đoạn 28

3.1.2 Nhóm các bộ phát hiện đối tượng một giai đoạn 32

3.2 Thuật toán phát hiện đối tượng YOLOV3 32

3.2.1 Kiến trúc mạng YOLOV3 33

3.2.2 Hộp neo 37

3.2.3 Chỉ số IoU 38

3.2.4 Thuật toán Non-maximum Suppression 39

3.2.5 Hàm mất mát của thuật toán 40

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG VÀ THỬ NGHIỆM 42

4.1 Xây dựng cơ sở dữ liệu 42

4.1.1 Dữ liệu Microsoft COCO 42

4.1.2 Dữ liệu hình ảnh súng từ hệ thống Camera quan sát 42

4.2 Huấn luyện mô hình 45

4.3 Thử nghiệm nhận dạng 46

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48

TÀI LIỆU THAM KHẢO 50

Trang 7

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

DIỄN GIẢI

KÍ HIỆU

AI Artificial Intelligence Trí tuệ nhân tạo

ANNs Artificial Neural Networks Mạng nơ-ron nhân tạo CNNs Convolutional Neural Networks Mạng nơ-ron tích chập COCO Common Object in Context

FCN Fully Connected Neural Network Mạng nơ-ron kết nối đầy

đủ GPU Graphics Processing Unit Bộ xử lý đồ họa

HOG Histogram of Oriented Gradients

IoU Intersection over Union

ML Machine Learning Học máy

NMS Non-maximum Suppression

R-CNN Region-based Convolutional Neural Network

ReLU Rectified Linear Unit Đơn vị tuyến tính chỉnh

lưu RNNs Recurrent Neural Networks RNNs

RoI Region of Interest

RPN Region Proposal Network

SIFT Scale-Invariant Feature Transform

SSD Single Shot Detector

SVM Support Vector Machine

YOLO You Only Look Once

Trang 8

DANH MỤC BẢNG

Bảng 2.1: Một số hàm kích hoạt phổ biến trong mạng nơ-ron 12 Bảng 2.2: Ví dụ một số kernel trong xử lý ảnh 22

Trang 9

DANH MỤC HÌNH

Hình 2.1: Khác biệt giữa học máy và lập trình truyền thống 5

Hình 2.2: Minh họa mối quan hệ giữa DL, ML và AI 6

Hình 2.3: Các miêu tả từ dữ liệu được học bởi một mô hình học sâu 7

Hình 2.4: Mạng nơ-ron với là các trọng số là tham số ở các lớp 8

Hình 2.5: Mô tả ý nghĩa của hàm mất mát trong để điều chỉnh các trọng số mô hình 9

Hình 2.6: Mô tả cấu trúc của một nơ-ron sinh học 10

Hình 2.7: Mô tả một nơ-ron đơn lẻ trong mạng nơ-ron 10

Hình 2.8: Mô hình toán học của một nơ-ron đơn lẻ trong mạng nơ-ron 12

Hình 2.9: Mô hình mạng nơ-ron với một lớp ẩn 14

Hình 2.10: Mô phỏng thuật toán Gradient Descent 17

Hình 2.11: Mô hình mạng nơ-ron thông thường với 2 lớp ẩn 19

Hình 2.12: Minh họa phép tính tích chập 20

Hình 2.13: Hình ví dụ ma trận X với stride=1, padding=1 (hình bên trái) và stride =2, padding=1 (hình bên phải) 21

Hình 2.14: Phép tính tích chập trên ảnh màu 23

Hình 2.15: Ảnh minh họa phép tính tích chập trên ảnh màu 23

Hình 2.16: Ảnh mô tả hoạt động của một lớp hợp nhất (pooling layer) 25

Hình 2.17: Minh họa mô hình mạng CNNs 26

Hình 3.1: Minh họa về kết quả phát hiện các đối tượng trên ảnh 27

Hình 3.2: Phát hiện đối tượng trên ảnh ở nhiều tỉ lệ sử dụng thuật toán HOG+SVM 28

Hình 3.3: Minh họa ảnh được xử lý qua thuật toán Selective Search 29

Hình 3.4: Mô hình mạng R-CNN 29

Hình 3.5: Mô hình mạng Fast R-CNN 30

Hình 3.6: Mô hình mạng Faster R-CNN 31

Hình 3.7: Mô hình mạng SSD 32

Hình 3.8: Ví dụ các đối tượng phát hiện bởi thuật toán YOLOV3 33

Hình 3.9: Mô hình Darknet-53 34

Trang 10

Hình 3.10: Minh họa về đường nối tắt trong Resnet 34

Hình 3.11: Kiến trúc mạng YOLOV3 35

Hình 3.12: Ảnh mô tả véc-tơ đặc trưng của một hộp chứa dự đoán 36

Hình 3.13: Mô tả cách tính tọa độ hộp chứa từ giá trị dự đoán của mô hình 37

Hình 3.14: Mô tả hộp neo (Anchor box) 38

Hình 3.15: Hình mô tả hộp chứa dự đoán và hộp chứa đối tượng thực tế 38

Hình 3.16: Công thức tính chỉ số IoU 39

Hình 3.17: Minh họa thuật toán NMS 39

Hình 4.1: Một số hình ảnh về súng được thu thập từ hệ thống camera quan sát 44

Hình 4.2: Gán nhãn cho dữ liệu bằng phần mềm LabelImg 44

Hình 4.3: Một số hình ảnh súng ngắn trong tập đánh giá được nhận dạng bởi mô hình được huấn luyện 47

Hình 4.4: Một số hình ảnh nhận dạng phương tiện giao thông được nhận dạng bởi mô hình sử dụng tệp tin trọng số đã được huấn luyện trên tập dữ liệu MS COCO 47

Trang 11

TRÍCH YẾU LUẬN VĂN

Ngày nay, với sự bùng nổ của cuộc cách mạng công nghiệp lần thứ tư, trí tuệ nhân tạo (Artificial Intelligence), máy học (Machine learning) đang được quan tâm nghiên cứu và áp dụng trong nhiều lĩnh vực của đời sống xã hội Điển hình là lĩnh vực thị giác máy tính sử dụng các thuật toán học sâu ứng dụng vào giải quyết các bài toán thuộc lĩnh vực như y tế, giáo dục, giao thông, an ninh v.v Xuất phát từ yêu cầu công việc, là một cán bộ đang công tác trong lĩnh vực Giám định tại Phòng Kỹ thuật hình sự Công an tỉnh Khánh Hòa, tôi mong muốn ứng dụng các thành tựu của lĩnh vực Công nghệ thông tin vào trong việc của mình để góp phần nâng cao hiệu quả công tác của bản thân nói riêng và của đơn vị nói chung Đề tài nghiên cứu cho Luận văn của tôi có

tên là “Ứng dụng thuật toán YOLO trong xây dựng hệ thống hỗ trợ phân tích hình

ảnh tự động tại Phòng Kỹ thuật hình sự - Công an tỉnh Khánh Hòa” Nội dung

nghiên cứu của Luận văn gồm các nội dung chính sau:

 Tìm hiểu các kiến thức liên quan đến học sâu và một số mô hình học sâu tiêu biểu

 Tìm hiểu thuật toán YOLOV3 và nắm rõ các bước để huấn luyện thuật toán nhận dạng các đối tượng đặc thù theo yêu cầu

 Xây dựng ứng dụng hỗ trợ phân loại hình ảnh tự động dựa trên thuật toán YOLOV3

Kết quả đạt được của luận văn đạt được một số kết quả sau:

 Hiểu được các kỹ thuật học sâu, các khái niệm cơ bản liên quan đến mạng ron, mạng nơ-ron tích chập, các mô hình học sâu phổ biến được áp dụng trong bài toán phân loại đối tượng

nơ- Ứng dụng lý thuyết và mô hình YOLOV3 để giải quyết bài toán phát hiện đối tượng trong video

 Thực hiện việc thu thập và xử lý dữ liệu ban phục vụ huấn luyện, thiết lập môi trường chạy thuật toán, thiết lập mô hình và cuối cùng là huấn luyện mô hình YOLOV3 để có thể nhận dạng các đối tượng đặc thù theo yêu cầu thực tế

 Chỉ ra được một điểm cần lưu ý trong quá trình thu thập dữ liệu và huấn luyện

mô hình

 Xây dựng ứng dụng dựa trên thuật toán YOLOV3, có giao diện người dùng thân thiện, để thực hiện việc hỗ trợ phân loại hình ảnh tự động trong video

Trang 12

Từ những kết quả đạt được ở trên, luận văn cũng đưa ra một số hướng phát triển như sau:

 Thu thập nhiều hơn dữ liệu hình ảnh về súng từ hệ thống camera quan sát ở nhiều bối cảnh khác nhau để làm đa dạng hơn nữa tập dữ liệu và cải thiện chất lượng

mô hình

 Tìm hiểu các phương pháp cải tiến phần cứng, thuật toán YOLOV3 để có thể nâng cao khả năng phát hiện các đối tượng có kích thước nhỏ, cải thiện độ chính xác của thuật toán

 Xây dựng thêm các chức năng hữu ích cho ứng dụng hỗ trợ phân loại hình ảnh

tự động

Từ khóa: YOLOV3, Object detection, Pytorch

Trang 13

CHƯƠNG 1: TỔNG QUAN

1.1 Lý do chọn đề tài

Ngày nay, sự bùng nổ của cuộc cách mạng công nghiệp lần thứ tư, trí tuệ nhân tạo (Artificial Intelligence), máy học (Machine learning) đang được nghiên cứu và áp dụng trong nhiều lĩnh vực của đời sống xã hội Chúng có thể kể đến các ứng dụng như

xe tự hành của Google, hệ thống tự gợi ý gắn thẻ khuôn mặt của Facebook, các ứng dụng trợ lý ảo của Apple, Amazon, Google, Samsung …

Thị giác máy tính (Computer vision) là một trong những lĩnh vực đang được quan tâm và ứng dụng nhiều nhất hiện nay Các hệ thống nhận dạng thông qua hình ảnh là một minh chứng cụ thể cho lĩnh vực này Quá trình nhận dạng dựa trên hình ảnh bao gồm các thao tác như phát hiện đối tượng, thu nhận, xử lý, phân tích, lưu trữ và nhận dạng, v.v Trong đó, phát hiện đối tượng (Object Detection) là một bài toán quan trọng trong thị giác máy tính

Object detection đề cập đến khả năng phát hiện đối tượng của hệ thống máy tính và phần mềm để định vị các đối tượng có trong ảnh và xác định từng đối tượng Object detection đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm

số người đi bộ, hệ thống bảo mật và xe không người lái và qua đó nó đã giúp tạo ra các ứng dụng hữu ích, phục vụ tốt cho cuộc sống của con người

Trước đây, Object detection sử dụng các phương pháp cổ điển có ưu điểm là cần năng lực tính toán thấp, mô hình đơn giản, tốc độ xử lý nhanh Nhưng trong quá trình xử lý làm mất đi nhiều thông tin giá trị của hình ảnh như màu sắc, độ sắc nét, dẫn tới độ chính xác không cao Tuy nhiên, từ năm 2012 ứng dụng sử dụng phương pháp học sâu được phát triển nhờ khả năng tính toán song song tốc độ cao của GPU, rất nhiều thuật toán và phương pháp phát hiện đối tượng chính xác và tốc độ cao đã ra đời như R-CNN, Fast-CNN, Faster-RCNN, SSD (Single Shot MultiBox Detector) và YOLO (You only look once) Trong đó, thuật toán YOLO là một trong những thuật toán phát hiện đối tượng được đánh giá tốt nhất và nhanh nhất hiện nay

Bên cạnh đó, với sự phát triển của khoa học và công nghệ, các hệ thống Camera quan sát đang được sử dụng nhiều trong cuộc sống của chúng ta, đặc biệt là lĩnh vực

an ninh, quốc phòng Hơn thế nữa, với việc Bộ luật tố tụng hình sự 2015 có hiệu lực từ ngày 01/01/2018 quy định dữ liệu điện tử cũng được coi là một nguồn chứng cứ, vì vậy các dữ liệu video được thu nhận từ các hệ thống camera quan sát lại càng trở nên

Trang 14

quan trọng và được quan tâm trong các vụ án Bản thân tôi, là một cán bộ đang công tác tại Phòng Kỹ thuật hình sự - Công an tỉnh Khánh Hòa, phân tích dữ liệu video là một phần của lĩnh vực Giám định kỹ thuật số, điện tử và là một trong những mảng công tác của tôi

Chính vì vậy, tôi rất mong muốn áp dụng các thành tựu của Công nghệ thông tin vào lĩnh vực công tác của mình nhằm nâng cao hơn nữa hiệu quả công việc của bản thân nói riêng và của đơn vị tôi đang công tác nói chung để góp phần phục vụ đắc lực cho công tác điều tra, truy tố, xét xử thuận tiện và chính xác hơn

1.2 Mục tiêu nghiên cứu của đề tài luận văn

 Phương pháp Object detection trong video, các nghiên cứu liên quan

 Tìm hiểu về Deep Learning, mạng Nơ-ron và thuật toán phát hiện đối tượng YOLO, bộ dữ liệu hình ảnh COCO dataset

 Ứng dụng thuật toán phát hiện đối tượng YOLO trong xây dựng hệ thống hỗ trợ phân tích hình ảnh tự động

1.3 Đối tượng nghiên cứu

 Tìm hiểu một số thuật toán Object detection

 Thuật toán phát hiện đối tượng YOLO

 Phương pháp tổng hợp: Nghiên cứu, tổng hợp các tài liệu liên quan

1.6 Cấu trúc luận văn

Luận văn gồm 4 chương:

Chương 1: Tổng quan về đề tài

Chương này giới thiệu và xác định các vấn đề nghiên cứu, mục tiêu nghiên cứu, câu hỏi nghiên cứu, đối tượng và phạm vi nghiên cứu, ý nghĩa của nghiên cứu và cấu trúc của luận văn

Chương 2: Cơ sở lý thuyết

Giới thiệu về kỹ thuật học sâu, các khái niệm liên quan đến mạng nơ-ron, mạng nơ-ron tích chập

Trang 15

Chương 3: Phát hiện đối tượng trong video sử dụng thuật toán YOLOV3

Chương này trình bày và phân tích bài toán phát hiện đối tượng và một số phương pháp phát hiện đối tượng Trình bày thuật toán phát hiện đối tượng YOLOV3

Chương 4: Xây dựng ứng dụng và thử nghiệm

Chương này tập trung trình bày việc thu thập dữ liệu và thực hiện huấn luyện

mô hình trên bộ dữ liệu đã thu thập được Sử dụng một số thư viện để cài đặt hệ thống

hỗ trợ phân tích hình ảnh tự động

Chương 5: Kết luận và hướng phát triển

Trang 16

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Giới thiệu về học sâu

2.1.1 Trí tuệ nhân tạo

Trí tuệ nhân tạo (Artificial Intelligence – AI) ra đời từ khoảng năm 1950, khi một số ít người tiên phong từ lĩnh vực khoa học máy tính non trẻ tự đặt câu hỏi là liệu máy tính có thể được tạo ra để “suy nghĩ” giống như con người không, một câu hỏi mà đến ngày nay, chúng ta vẫn đang tiếp tục khám phá để làm rõ câu hỏi này

Định nghĩa về lĩnh vực trí tuệ nhân tạo có thể được hiểu đơn giản là những nỗ lực của máy móc nhằm đưa ra quyết định và thực hiện tự động các nhiệm vụ thay thế cho những suy nghĩ của con người Ban đầu khái niệm trí tuệ nhân tạo quan tâm đến các luật, quy luật, các mẹo giúp cho máy tính có thể ra quyết định giống con người Trong một thời gian khá dài, nhiều chuyên gia đã tin rằng trí tuệ nhân tạo có thể đạt được bằng suy nghĩ, trí tuệ con người bằng cách sử dụng nhiều lập trình viên để tạo thủ công một bộ các quy tắc đủ lớn để xử lý và tạo ra tri thức Cách tiếp cận này được biết đến như là trí tuệ nhân tạo tượng trưng (symbolic AI), và mô hình này là mô hình chi phối trong lĩnh vực trí tuệ nhân tạo từ khoảng những năm 50 đến cuối những năm

80 Và nó phổ biến nhất trong khoảng thời gian bùng nổ của các hệ thống chuyên gia vào khoảng những năm 80 [2]

Mặc dù trí tuệ nhân tạo tượng trưng tỏ ra phù hợp để giải quyết các vấn đề logic được xác định cụ thể chẳng hạn như chơi cờ, nhưng thực ra nó lại không thể hiểu được các quy tắc rõ ràng để giải quyết nhiều vấn đề phức tạp hơn như phân loại hình ảnh, nhận dạng giọng nói và dịch ngôn ngữ Từ hạn chế đó, một cách tiếp cận mới đã xuất hiện và thay thế vị trí của trí tuệ nhân tạo tượng trưng, đó chính là học máy tức là máy móc

có thể học được những kinh nghiệm từ các tập dữ liệu huấn luyện đó chính là học máy

2.1.2 Học máy

Học máy (Machine Learning) xuất phát từ câu hỏi liệu một chiếc máy tính có thể vượt ra khỏi những gì chúng ta biết về vấn đề làm thế nào để ra lệnh cho nó thực hiện và tự học cách thực hiện một nhiệm vụ cụ thể Liệu một máy tính có thể làm cho chúng ta ngạc nhiên? Thay vì lập trình viên phải tạo ra các quy tắc xử lý dữ liệu một cách thủ công thì liệu một máy tính có thể tự động học các quy tắc này bằng cách nhìn vào dữ liệu? Câu hỏi này đã mở ra cánh cửa cho một mô hình lập trình mới Trong lập trình truyền thống, với mô hình trí tuệ nhân tạo tượng trưng, con người nhập vào các

Trang 17

luật và dữ liệu được xử lý tương ứng với các luật này để đưa ra câu trả lời Với học máy, con người nhập vào dữ liệu cũng như câu trả lời mong muốn từ dữ liệu đó để từ

đó đưa ra được các luật Những luật này sau đó có thể được áp dụng trên dữ liệu mới

để đưa ra các câu trả lời

Hình 2.1: Khác biệt giữa học máy và lập trình truyền thống

Một hệ thống học máy sẽ được huấn luyện thay vì được lập trình rõ ràng Hệ thống học máy sẽ được đưa vào các dữ liệu liên quan đến vấn đề cần giải quyết, sau đó

nó sẽ phân tích cấu trúc thống kê của các dữ liệu này để từ đó đưa các luật để tự động hóa việc giải quyết vấn đề Chẳng hạn như việc gắn thẻ ảnh đi du lịch của bạn, bạn có thể đưa vào hệ thống học máy các ảnh đã được gắn thẻ bởi bạn để hệ thống sẽ tìm hiểu các quy tắc thống kê để từ đó liên kết các ảnh với các thẻ cụ thể [2]

Để định nghĩa học sâu và hiểu được sự khác biệt giữa học sâu và các phương pháp học máy khác, chúng ta cần hiểu ý tưởng của các thuật toán học máy là gì Để thực hiện học máy, chúng ta cần quan tâm ba điều:

Một là, các điểm dữ liệu đầu vào, chẳng hạn như nếu là nhiệm vụ là nhận dạng giọng nói thì các điểm dữ liệu này có thể là các tệp tin ghi âm thanh của người nói, nếu nhiệm vụ là gắn thẻ hình ảnh thì các điểm dữ liệu có thể là hình ảnh

Hai là, các đầu ra mong muốn, chẳng hạn như nếu là nhiệm vụ là nhận dạng giọng nói thì đầu ra có thể là các bản dịch tập tin âm thanh do con người tạo ra, nếu

Trang 18

nhiệm vụ là nhận dạng hình ảnh thì đầu ra mong muốn có thể là các thẻ “chó”, “mèo”,

“ô tô”, v.v

Ba là, phương pháp để xác định xem liệu thuật toán đang chọn có giải quyết tốt nhiệm vụ của bài toán hay không? Phương pháp này sẽ đi đo khoảng cách hay sự sai khác giữa đầu ra của mô hình học máy và kết quả đầu ra mong muốn Phép đo sẽ được

sử dụng như là một tín hiệu phản hồi để điều chỉnh cách thức hoạt động của thuật toán Bước điều chỉnh này là những gì mà chúng ta gọi là học hay huấn luyện

Một mô hình học máy sẽ biến đổi dữ liệu đầu vào thành các đầu ra có ý nghĩa, sau đó là một quá trình học từ các mẫu đã biết về đầu vào và đầu ra Do đó, vấn đề quan trọng trong học máy chính là việc biến đổi dữ liệu thành những đặc trưng sao cho

có ý nghĩa, hay nói cách khác là tìm kiếm cách biểu diễn dữ liệu thành các đặc trưng đầu vào sao cho cách biểu diễn này có thể dẫn chúng ta đến gần hơn với kết quả đầu ra mong muốn Đây là công việc không hề đơn giản để tìm ra những đặc trưng tốt nhất của các đối tượng có hình thái tương tự nhau Để khắc phục hạn chế này, gần đây nhờ

sự phát triển của phần cứng cũng như nhu cầu học máy ngày càng tăng, khái niệm học sâu (Deep Learning – DL), học từ nhiều đặc trưng của đối tượng đang là chủ đề nóng trong vấn đề trí tuệ nhân tạo

2.1.3 Học sâu

Học sâu (DL – Deep Learning) là một phần của học máy, đồng thời học máy cũng là một phần của trí tuệ nhân tạo, điều này được thể hiện rõ trong Hình 2.2

Hình 2.2: Minh họa mối quan hệ giữa DL, ML và AI

Học sâu là một cách tiếp cận mới trong việc học các mô tả từ dữ liệu, trong đó tập trung vào việc học hỏi thông qua nhiều lớp liên tiếp nhau nhằm tăng ý nghĩa của

mô tả Chữ “sâu” trong phương pháp tiếp cận này dùng để chỉ nhiều lớp mô tả liên tiếp nhau Số lượng các lớp trong mô hình dữ liệu được gọi là độ sâu của mô hình Vì vậy

Trang 19

học sâu có thể còn được hiểu là học thông qua sự mô tả theo lớp hoặc học thông qua

sự mô tả có phân cấp Các mô hình học sâu hiện đại thường bao gồm đến hàng chục hoặc hàng trăm lớp mô tả liên tiếp nhau và tất cả các lớp này đều học hỏi tự động thông qua dữ liệu huấn luyện Trong khi đó, các cách tiếp cận khác đối với học máy trước khi có cách tiếp cận này đều có xu hướng tập trung vào việc chỉ học từ một hoặc hai lớp mô tả từ dữ liệu, nên đôi khi chúng ta còn gọi là học nông [2]

Trong học sâu, cách mô tả theo lớp này được học theo kiểu mạng nơ-ron, được cấu trúc theo đúng nghĩa đen là các lớp xếp chồng lên nhau và thuật ngữ mạng nơ-ron

là một thuật ngữ trong sinh học thần kinh Mặc dù một số khái niệm trọng tâm trong học sâu được xây dựng dựa trên những hiểu biết của chúng ta về bộ não, nhưng các

mô hình của học sâu không phải là mô hình của bộ não Học sâu là một bộ khung toán học với mục đích học các mô tả từ dữ liệu Các mô tả từ dữ liệu được học bởi thuật toán học sâu có thể hình dung thông qua Hình 2.3

Hình 2.3: Các miêu tả từ dữ liệu được học bởi một mô hình học sâu [2]

Trong Hình 2.3, mạng nơ-ron đã biến đổi hình ảnh chữ số thành các mô tả ngày càng khác với hình ảnh gốc ban đầu và cung cấp nhiều thông tin để đưa ra kết quả cuối cùng Qua đó, ta có thể thấy mạng học sâu như là một hoạt động chưng cất thông tin nhiều giai đoạn, nơi mà thông tin đi qua các bộ lọc liên tiếp nhau và cuối cùng chỉ còn lại những thông tin chắt lọc nhất và hữu ích nhất ở đầu ra

Trang 20

Những biến đổi cụ thể của một lớp đối với dữ liệu đầu vào được chỉ rõ và lưu trữ trong các trọng số (weights) của lớp hay nói cách khác, các biến đổi được thực hiện bởi một lớp được tham số hóa bởi các trọng số của lớp đó Quá trình học sâu trong mạng

sẽ được hiểu là quá trình là tập hợp các giá trị cho các trọng số của tất cả các lớp trong mạng sao cho mạng học sâu sẽ ánh xạ chính xác các mẫu dữ liệu đầu vào (chẳng hạn như các hình ảnh) với đầu ra liên quan đến chúng (chẳng hạn như nhãn “ô tô”, “xe máy”)

Tuy nhiên, vấn đề phức tạp ở đây đó là một mạng học sâu có thể chứa hàng chục triệu tham số Do đó, việc tìm kiếm giá trị chính xác cho tất cả các tham số là một nhiệm vụ cực kỳ khó khăn, đặc biệt là khi việc sửa đổi giá trị của một tham số sẽ ảnh hưởng đến tất cả các tham số khác

Hình 2.4: Mạng nơ-ron với là các trọng số là tham số ở các lớp

Để kiểm soát đầu ra của một mạng nơ-ron trong học sâu, chúng ta cần phải đo được khoảng cách giữa đầu ra tiên đoán với đầu ra mà chúng ta mong muốn Việc này được thực hiện thông qua hàm mất mát của mạng (loss function) hay còn gọi là hàm mục tiêu (objective function) mô tả chi tiết trong Hình 5 Hàm mất mát sẽ nhận kết quả

Trang 21

tiên đoán của mạng và mục tiêu đúng (là đầu ra mà chúng ta mong muốn từ mạng) và tính toán khoảng cách để cho ra giá trị mất mát Điểm mấu chốt trong mạng học sâu đó

là sử dụng giá trị mất mát này như là tín hiệu phản hồi để thực hiện các điều chỉnh nhỏ đối với giá trị của các trọng số theo chiều hướng làm cho giá trị lỗi đạt cực tiểu Việc điều chỉnh này là công việc của trình tối ưu hóa với cốt lõi là thuật toán “lan truyền ngược” (backpropagation) – thuật toán trung tâm của các mô hình học sâu [2]

Hình 2.5: Mô tả ý nghĩa của hàm mất mát trong để điều chỉnh các trọng số mô hình

Ban đầu, các trọng số của mạng được gán giá trị ngẫu nhiên Do đó, giá trị mất mát ban đầu thường rất cao và kết quả dự đoán thường sẽ khác xa so với kết quả mong muốn Nhưng sau đó, với mỗi mẫu dữ liệu được đưa vào để mạng nơ-ron xử lý, các trọng số sẽ được điều chỉnh một chút theo đúng hướng để làm giảm giá trị mất mát Quá trình này chính là quá trình huấn luyện lặp đi lặp lại với mục tiêu tìm ra các trọng

số phù hợp để hàm mất mát đạt giá trị nhỏ nhất (đồng nghĩa với kết quả dự đoán sẽ gần với kết quả mong muốn)

Trang 22

2.2 Mạng nơ-ron

2.2.1 Perceptron

Mạng nơ-ron là một hệ thống tính toán lấy cảm hứng từ sự hoạt động của các nơ-ron trong hệ thần kinh Một mạng nơ-ron được cấu thành bởi các nơ-ron đơn lẻ còn được gọi là Perceptron Bộ não có đơn vị tính toán cơ bản là nơ-ron và có khoảng 86

tỷ tế bào thần kinh có thể được tìm thấy trong hệ thống thần kinh của con người và chúng được kết nối với khoảng 1014 đến 1015 khớp thần kinh

Hình 2.6: Mô tả cấu trúc của một nơ-ron sinh học [14]

Trong Hình 6, mỗi nơ-ron sinh học sẽ nhận tín hiệu từ đuôi gai của nó và tạo tín hiệu đầu ra dọc theo sợi trục đơn (axon) của nó Sợi trục đơn này tiếp tục được phân nhánh và kết nối thông qua các khớp thần kinh với sợi nhánh của các tế bào thần kinh khác Dựa trên nguyên tắc trên, ta có thể thấy rằng một nơ-ron đơn lẻ có thể nhận được nhiều đầu vào và cho ra một kết quả duy nhất Hình 7

Hình 2.7: Mô tả một nơ-ron đơn lẻ trong mạng nơ-ron

Trang 23

Một nơ-ron đơn lẻ sẽ nhận một hoặc nhiều đầu ra vào dạng nhị phân và cho

ra kết quả ở dạng nhị phân duy nhất Các đầu vào được điều phối tầm ảnh hưởng

bởi các trọng số tương ứng của nó Kết quả đầu ra được quyết định dựa vào một

ngưỡng quyết định nào đó

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

Nếu đặt , ta có thể viết gọn lại thành:

Tuy nhiên, với đầu vào và đầu ra dạng nhị phân, ta rất khó để thực hiện những thay đổi nhỏ đối với đầu vào để đầu ra cũng thay đổi nhỏ Để có thể điều chỉnh sự thay đổi ở đầu ra được uyển chuyển hơn, ta có thể sử dụng một số hàm kích hoạt (activation function) để chuẩn hóa đầu ra của mỗi nơ-ron đơn lẻ, giống như trong mô hình

nơ-ron sinh học, các xung thần kinh được truyền qua sợi trục đơn với một tỉ lệ nào đó

Đặt , công thức tổng quát tính giá trị đầu ra của mỗi nơ-ron đơn lẻ có

sử dụng hàm kích hoạt sẽ như sau:

Bằng cách biểu diễn như trên, một nơ-ron sinh học sẽ được biểu diễn thông ra

mô hình toán học như hình dưới đây

Trang 24

Hình 2.8: Mô hình toán học của một nơ-ron đơn lẻ trong mạng nơ-ron [14]

Với hàm kích hoạt là hàm sigmoid với công thức: thì mỗi nơ-ron

đơn lẻ được gọi là sigmoid nơ-ron và mỗi sigmoid nơ-ron này tương tự như một bộ phân loại tuyến tính (hồi quy logistic) bởi xác suất

Ngoài hàm Sigmoid, một số hàm kích hoạt phổ biến hay được sử dụng trong mạng nơ-ron là hàm ReLU, Leaky ReLU, Tanh, Softmax, … [15]:

Bảng 2.1: Một số hàm kích hoạt phổ biến trong mạng nơ-ron

Hàm Sigmoid: Hàm này nhận đầu vào là một số thực và chuyển thành một giá trị

trong khoảng (0,1) Đầu vào là một số thực âm rất nhỏ sẽ cho đầu ra tiệm cận với 0, ngược lại, nếu đầu vào là một số thực dương lớn sẽ cho đầu ra tiệm cận với 1

Công thức:

Đồ thị:

Hàm Tanh: Hàm này nhận đầu vào là một số thực và chuyển thành một giá trị trong

khoảng (-1,1)

Trang 25

Hàm Leaky ReLU: Hoạt động tương tự hàm ReLU nhưng thay vì trả về giá trị 0 với

các đầu vào < 0 thì Leaky ReLU tạo ra một đường xiên có độ dốc nhỏ

Công thức:

Cách biểu diễn khác là:

Với là hằng số nhỏ

Đồ thị:

Hàm Softmax: Hàm này là một hàm kích hoạt rất đặc biệt bởi vì nó không chỉ chuyển

các giá trị đầu vào thành các giá trị đầu ra nằm trong đoạn [0,1] và các giá trị đầu ra này có tổng bằng 1 Do đó đầu ra của hàm này là một phân phối xác suất Hàm Softmax chỉ được sử dụng cho lớp đầu ra của các mạng nơ-ron có mục đích là phân loại đầu vào thành nhiều loại

Trang 26

ron với các hàm kích hoạt tuyến tính chỉ đơn giản là một mô hình hồi quy tuyến tính,

nó không đủ khả năng để xử lý các dữ liệu phức tạp và đưa ra các dự đoán chính xác

Trang 27

 Lớp ẩn (Hidden layer): Là lớp nằm giữa lớp đầu vào và lớp đầu ra, thể hiện cho việc suy luận logic của mạng

Mỗi mô hình mạng nơ-ron sẽ luôn có một một lớp đầu vào, một lớp đầu ra, có thể có hoặc không có lớp ẩn Tổng số lớp trong mô hình mạng nơ-ron được quy ước là tổng số lớp -1 (không tính lớp đầu vào)

Tại mỗi nút trong lớp ẩn và lớp đầu ra:

 Sẽ liên kết với tất các nút ở lớp trước đó với các trọng số w riêng

 Có hệ số b (bias – độ lệch) riêng

 Thực hiện việc tính tổng và áp dụng hàm kích hoạt phù hợp

2.2.3 Lan truyền tiến

Tất cả các nút mạng (nơ-ron) được kết hợp đôi một với nhau theo một chiều duy nhất từ lớp đầu vào tới lớp đầu ra Tức là mỗi nút ở một lớp nào đó sẽ nhận đầu vào là tất cả các nút ở lớp trước đó mà không suy luận ngược lại Hay nói cách khác,

việc suy luận trong mạng nơ-ron là lan truyền tiến (feedforward):

Trong đó:

 là số lượng nút tương ứng với lớp

 là nút mạng thứ j của lớp

 là trọng số của đầu vào đối với nút mạng thứ i của lớp

 là độ lệch (bias) của nút mạng thứ i của tầng

 Đầu ra của nút mạng thứ i của lớp được biểu diễn bằng ứng với

hàm kích hoạt

 Riêng ở lớp đầu vào cũng chính là các đầu vào x của mạng

Trang 28

Để tiện tính toán, ta coi là một đầu vào và là trọng số của

đầu vào này Lúc này, ta có thể viết lại công thức trên dưới dạng véc-tơ:

Nếu nhóm các trọng số của mỗi lớp thành một ma trận có các cột tương ứng trọng số mỗi nút mạng thì ta có thể thực hiện tính toán cho toàn bộ các nút trong một tầng bằng véc-tơ:

2.2.4 Hàm mất mát của mạng nơ-ron

Quá trình học của mạng nơ-ron là quá trình tìm lấy một hàm mất mát để đánh giá và tìm cách tối ưu hàm mất mát đó để đạt được kết quả mong muốn Mỗi nút mạng của mạng nơ-ron có thể coi là một bộ phân loại tuyến tính với hàm mất mát như sau:

Trong đó m là số lượng dữ liệu huấn luyện, y(i) là đầu ra thực tế của dữ liệu thứ

i trong tập huấn luyện, kết quả ước lượng được ứng với dữ liệu thứ i

Với mạng nơ-ron có thể có nhiều nút đầu ra, giả sử số nút đầu ra là K, yk là đầu

ra thực tế của nút thứ k và là kết quả ước lượng của nút thứ k Công thức của hàm

mất mát sẽ như sau:

Các trọng số được tính toán lúc này không chỉ trên một ma trận, mà là tập tất cả các ma trận trọng số ứng với các lớp của mạng nơ-ron và được biểu diễn bằng tập hợp

Trang 29

2.2.5 Tối ưu hóa hàm mất mát

Để tối ưu hàm lỗi của mạng nơ-ron ta sử dụng phương pháp đạo hàm Gradient Descent Để tìm tham số nhằm mục đích tối thiểu hóa hàm lỗi , đầu tiên ta

sẽ đặt tại điểm bất kì nào đó Sau đó, giải thuật Gradient Descent được thực hiện

bằng cách cập nhật dần các tham số ngược với hướng của đạo hàm tại điểm hiện tại cho tới khi hàm này hội tụ về điểm nhỏ nhất Tại mỗi bước cập nhật, ta sẽ dịch tham số bằng một lượng với mật độ học (learning rate) :

[1]

Với là ký hiệu cho tham số tại bước cập nhật thứ k khi thực hiện giải thuật

Gradient Descent

Hình 2.10: Mô phỏng thuật toán Gradient Descent

Để tính đạo hàm của hàm mất mát trong mạng nơ-ron, ta sử dụng một giải thuật được gọi là thuật toán lan truyền ngược (backpropagation) [14] Nhờ có giải thuật này mà mạng nơ-ron đã hoạt động hiệu quả hơn và được ứng dụng ngày càng nhiều cho đến tận ngày nay Thuật toán này dựa theo quy tắc chuỗi đạo hàm của hàm hợp (chain rule) và phép tính ngược đạo hàm để thu được đạo hàm của tất cả các tham

số cùng lúc chỉ với 2 lần duyệt mạng

Trang 30

Giải thuật lan truyền ngược được thực hiện như sau [1]:

Bước 1: Lan truyền tiến

Lần lượt tính các với theo công thức

Trong đó chính bằng giá trị đầu vào x của mạng

Bước 2: Tính đạo hàm theo z ở tầng ra với và tính được ở bước 1

Bước 3: Lan truyền ngược

Tính đạo hàm theo z ngược lại từ theo công thức:

Với tính được ở bước 1 và tính được ở vòng lặp ngay trước

Bước 4: Tính đạo hàm

Tính đạo hàm theo tham số w bằng công thức:

Với tính được ở bước 1 và tính được ở bước 3

Việc tính được đạo hàm riêng của hàm mất mát đối với các trọng số

2.3 Mạng nơ-ron tích chập

Mạng nơ-ron tích chập (CNNs - Convolutional Neural Networks) là một trong hai mô hình lớn của học sâu (mô hình còn lại là mạng nơ-ron hồi quy – Recurrent Neural Networks) Nó là một mô hình học sâu tiên tiến, đã được ứng dụng để triển

Trang 31

khai các hệ thống nhận dạng thông minh với độ chính xác cao, chẳng hạn như như hệ thống xe tự hành của Google, Amazon, hệ thống tự gợi ý gắn thẻ khuôn mặt của Facebook… Mạng nơ-ron tích chập thường được sử dụng trong bài toán với dữ liệu đầu vào là ảnh với mục đích là nhận dạng các đối tượng trong ảnh

Trong mô hình mạng nơ-ron thông thường, mỗi nút trong các lớp ẩn ở giữa (hidden layer) được kết nối tới tất cả các nút trong lớp trước Nên mỗi lớp ẩn trong mạng nơ-ron thông thường được gọi là một lớp kết nối đầy đủ (fully connected layer)

và cả mô hình được gọi là mạng nơ-ron kết nối đầy đủ (fully connected neural network – FCN) [14]

Hình 2.11: Mô hình mạng nơ-ron thông thường với 2 lớp ẩn

Tuy nhiên, có một vấn đề hạn chế của mạng nơ-ron kết nối đầy đủ trong xử lý ảnh cụ thể như sau:

Với một ảnh màu đầu vào có kích thước 32x32x3 (dài 32, rộng 32 và có 3 kênh màu) Để có thể biểu thị hết nội dung của ảnh thì cần truyền vào mạng nơ-ron ở lớp đầu vào tất cả là 32x32x3= 3072 điểm ảnh Giả sử lớp ẩn đầu tiên có 1000 nút, thì số lượng trọng số W giữa lớp đầu vào và lớp ẩn đầu tiên sẽ là 3072x1000= 3072000 và số lượng bias b là 1000, tổng số tham số sẽ là 3073000 tham số Ở đây mới chỉ là số lượng tham số xét đến lớp ẩn đầu tiên, nếu trong mô hình có nhiều lớp ẩn hơn và đồng thời kích thước ảnh đầu vào tăng lên chẳng hạn như 1920x1080x3 thì tổng số tham số

sẽ tăng lên cực kỳ nhanh Từ vấn đề này, chúng ta có thể thấy mạng nơ-ron thông thường không phù hợp với các hình ảnh kích thước lớn và chúng ta cần một giải pháp tốt hơn

Ngày đăng: 17/05/2021, 14:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Vũ Hữu Tiệp (2018), Machine Learning cơ bản, NXB Khoa học kỹ thuật. Tài liệu tiếng anh Sách, tạp chí
Tiêu đề: Machine Learning cơ bản
Tác giả: Vũ Hữu Tiệp
Nhà XB: NXB Khoa học kỹ thuật. Tài liệu tiếng anh
Năm: 2018
[2] F. Chollet (2018), Deep Learning with Python, Manning Publications Co Sách, tạp chí
Tiêu đề: Deep Learning with Python
Tác giả: F. Chollet
Năm: 2018
[3] Y. L. a. Y. Bengio (1998), Convolutional Networks for Images, Speech, and Time- Series,, The Handbook of Brain Theory and Neural Networks, MIT Press, pp. 255-258 [4] A. Rosebrock (2018), Deep Learning for Computer Vision with Python, PYIMAGESEARCH.COM Sách, tạp chí
Tiêu đề: Convolutional Networks for Images, Speech, and Time-Series,, The Handbook of Brain Theory and Neural Networks", MIT Press, pp. 255-258 [4] A. Rosebrock (2018), "Deep Learning for Computer Vision with Python
Tác giả: Y. L. a. Y. Bengio (1998), Convolutional Networks for Images, Speech, and Time- Series,, The Handbook of Brain Theory and Neural Networks, MIT Press, pp. 255-258 [4] A. Rosebrock
Năm: 2018
[5] A. Suleiman and V. Sze (2015), An Energy-Efficient Hardware Implementation of HOG-Based Object Detection at 1080HD 60 fps with Multi-Scale Support, Springer Science+Business Media New York Sách, tạp chí
Tiêu đề: An Energy-Efficient Hardware Implementation of HOG-Based Object Detection at 1080HD 60 fps with Multi-Scale Support
Tác giả: A. Suleiman and V. Sze
Năm: 2015
[6] L. Jiao, F. Zhang, F. Liu, S. Yang, L. Li, Z. Feng and R. Qu (2019), A Survey of Deep Learning-based Object Detection, IEEE Access, vol. 7, pp. 128837 – 128868 Sách, tạp chí
Tiêu đề: A Survey of Deep Learning-based Object Detection
Tác giả: L. Jiao, F. Zhang, F. Liu, S. Yang, L. Li, Z. Feng and R. Qu
Năm: 2019
[7] Z.-Q. Zhao, P. Zheng, S.-t. Xu and X. Wu (2019), Object Detection with Deep Learning: A Review, IEEE Transactions on Neural Networks and Learning Systems, vol. 30, no. 11, pp. 3212-3232, 2019 Sách, tạp chí
Tiêu đề: Object Detection with Deep Learning: A Review
Tác giả: Z.-Q. Zhao, P. Zheng, S.-t. Xu and X. Wu
Năm: 2019
[8] J. Redmon and A. Farhadi (2018), YOLOv3: An Incremental Improvement, arXiv.org Sách, tạp chí
Tiêu đề: YOLOv3: An Incremental Improvement
Tác giả: J. Redmon and A. Farhadi
Năm: 2018
[9] J. Redmon, S. Divvala, R. Girshick and A. Farhadi (2015), You Only Look Once: Unified, Real-Time Object Detection, arXiv.org Sách, tạp chí
Tiêu đề: You Only Look Once: "Unified, Real-Time Object Detection
Tác giả: J. Redmon, S. Divvala, R. Girshick and A. Farhadi
Năm: 2015
[11] R. Olmos, S. Tabik and F. Herrera (2017), Automatic handgun detection alarm in videos using deep learning, Neurocomputing 275, p. 66–72 Sách, tạp chí
Tiêu đề: Automatic handgun detection alarm in videos using deep learning
Tác giả: R. Olmos, S. Tabik and F. Herrera
Năm: 2017
[12] G. K. Verma and A. Dhillon (2017), A Handheld Gun Detection using Faster R- CNN Deep Learning, Research Gate Sách, tạp chí
Tiêu đề: A Handheld Gun Detection using Faster R-CNN Deep Learning
Tác giả: G. K. Verma and A. Dhillon
Năm: 2017
[13] L. Justin and S. Maples (2017), Developing a Real-Time Gun Detection Classifier, cs231n.stanford.edu.Các trang web Sách, tạp chí
Tiêu đề: Developing a Real-Time Gun Detection Classifier
Tác giả: L. Justin and S. Maples
Năm: 2017
[14] "CS231n Convolutional Neural Networks for Visual Recognition”, truy cập ngày 09 tháng 2 năm 2020, từ https://cs231n.github.io/convolutional-networks/ Sách, tạp chí
Tiêu đề: CS231n Convolutional Neural Networks for Visual Recognition
[16] “YOLO: Real-Time Object Detection”, truy cập ngày 01 tháng 12 năm 2019 từ https://pjreddie.com Sách, tạp chí
Tiêu đề: YOLO: Real-Time Object Detection
[17] “LabelImg”, truy cập ngày 01 tháng 12 từ https://github.com/tzutalin/labelImg Sách, tạp chí
Tiêu đề: LabelImg
[18] “Pytorch” truy cập ngày 03 tháng 12 từ https://pytorch.org/ Sách, tạp chí
Tiêu đề: Pytorch
[19] “Anaconda” truy cập ngày 03 tháng 12 từ https://www.anaconda.com/ Sách, tạp chí
Tiêu đề: Anaconda
[20] “Cuda Toolkit” truy cập ngày 03 tháng 12 từ https://developer.nvidia.com/cuda-toolkit Sách, tạp chí
Tiêu đề: Cuda Toolkit
[10] T.-Y. Lin, M. Maire , S. Belongie , L. Bourdev , R. Girshick, J. Hays , P. Perona , D Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w