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

Nhận dạng và đếm phương tiện giao thông theo thời gian thực sử dụng mạng nơ ron tích chập

63 4 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Nội dung

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC HUẾ

TRƯỜNG ĐẠI HỌC KHOA HỌC

TRƯƠNG MINH TUYỂN

NHAN DANG VA DEM PHUONG TIEN

GIAO THONG THEO THOI GIAN THUC

SU DUNG MANG NO-RON TICH CHAP

Trang 2

LOI CAM DOAN

Tôi cam đoan công trình nghiên cứu này là của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công

trình nào khác

Tác giả

Trang 3

LOI CAM ON

Xin chân thành cảm ơn Thầy hướng dẫn, TS Đoàn Thanh Nghị, Trưởng Khoa Công nghệ thông tin, Trường Đại học An Giang Thầy đã tận tỉnh hướng dẫn

và tạo điều kiện thuận lợi đề tôi thực hiện luận văn này

Xin trân trọng và gửi lời tri ân đến tất cả quý Thầy, Cô Khoa Công nghệ

thông tin Trường Đại học Khoa học, Đại học Huế Thay, Cô đã tận tình truyền dạy

những kiến thức và kinh nghiệm quý báu cho tôi trong suốt quá trình học tập

Xin chân thành gửi lời cảm ơn tới Ban Giám hiệu Trường Đại học An Giang,

Ban chủ nhiệm, quý thầy cô khoa Công nghệ thông tin đã hỗ trợ và tạo điều kiện

thuận lợi để tơi hồn thành khóa học

Cảm ơn tất cả các bạn học lớp Cao học Khoa học máy tính khóa 3 — An

Giang đã động viên và chia sẽ những khó khăn trong suốt quá trình học tập

Sau cùng, xin gửi lời cảm ơn sâu sắc tới gia đình, ông bà, cha mẹ, anh chị em

đã động viên, chia sẽ khó khăn và hết lòng hỗ trợ, tạo điều kiện thuận lợi để tơi

hồn thành tốt khóa học này Trân trọng!

Tác giả

Trương Minh Tuyền

Trang 4

Trang 0909.0000990 i 899 190 - ,ÔỎ ii MỤG TU niingisdinsoainiittdiitdftttiRitdEGHINGHOSGIATRSRSHURSIRIGSTQRHSSNHGtASĐTtđH13083 833808 ii ID 0\028)/10/990.(0:70 c1 5 Vv DANH MỤC CÁC HÌNH 55-55 5+2 xExEEEEkEE.EEEE.EEErrrrrrrrrres vi DANH MỤC CÁC CHỮ VIẾT TẮTT 5© 5© ©s£+++++x+etxeetxeetxeerreerreee vii \ 9E 00 Ô 1 Chương 1 TÔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO VÀ MẠNG NƠ- ›0)000(60209:7) 001577 ÔỎ 4

1.1 Mạng nơ-ron tích chập sâu - ¿12t 2112111121121 tt HH Hà Hee 4

1.1.1 Sơ lược về nơ-ron nhân tạo và mạng nơ-ron nhân tạo -. : + 4

1.1.2 Mạng nơ-ron tích chập sâu - i23 1S 2E EEhrryHyHrrreerre 7

Chuong 2 TONG QUAN VE BAI TOAN NHAN DANG VA DEM CAC

PHƯƠNG TIEN GIAO THONG sessssssessssssssssssscsssssccesseccesseccsssuecssssecsesseesesseesses 15 2.1 Phát biểu bài toán - 2s: 222 222122212222112221221121112111 211212 eo 15

2.2 Một số phương pháp giải quyết bài toán -22 2222222221222 xe 15 2.2.1 Phương pháp tách cảnh nền (Background subtracfion) - 15 2.2.2 Gaussian Mixture Model (GMM) 2 2222112122111 re 17

2.2.3 Kết hợp HOG và SVM - 00-220 221222112211211221121 re 23 2.3 Giới thiệu về YOLO framewWOrk - 2: 22c 222 222122112211221 221 c2 re 28

Trang 5

3.3 Tập dữ liệu .S 2 Tnhh HH HH HH HH te 39 kcane99e 433 39

3.3.2 Tiền xử lý dữ liệu 222222222112112211121121121122122222 re 4

3.4 Cài đặt và thử nghiệm mô hình ƠNN S2 nhe 42

3.4.1 Môi trường cài đặt nghe 42 3.4.2 Huấn luyện mạng - 22 22222222212211121112111211221121222 e6 42 3.4.3 Tích hợp mô hình vào ứng dụng đếm xe trên địa bàn Long Xuyên 45

Trang 6

DANH MUC CAC BANG

Trang Bảng 2.1 Cấu trúc của một mạng YOLO 22-252 22221222122212221221222 e0 32

Bảng 3.1 Cấu trúc đầy đủ của mạng CNN 552 22222212221222122222 2 e6 39

Trang 7

DANH MỤC CÁC HÌNH

Hình 1.1 Cấu trúc của một nơ-ron sinh học Hình 1.2 Mơ hình tốn học của nơ-ron nhân tạo

Hình 1.3 Mạng nơ-ron có 2 lớp ân, kết nối đầy đủ 2222 22222222 se 6

Hình 1.4 Một số hàm kích hoạt thông dụng c St nnhehhrhkrerreree 7 Hình 1.5 Minh họa cơ chế của tích chập 2D che 8

Hình 1.6 Một ví dụ về tích chập

Hình 1.7 Cơ chế tính tích chập lên một vùng ảnh 32x32x3 với bộ lọc 5x5x3 11

Hình 1.8 Cơ chế sinh ra một bản đồ đặc TUN nhe 11 Hình 1.9 Nhiều bản để đặc trưng sinh ra từ nhiễu bộ lọc -ss2sczs2zsss2 12

Hình 1.10 Cơ chế MaxPooling - 5222222 2222221222112111211121121121122 e6 13

Hình 1.11 Mô hình mạng nơ-ron tích chập được Yann LeCun ứng dụng vào việc

phân tách chữ viết tay - 2-2 222211211121112111211121112112122222222222ee 13 Hình 2.1 Sử dụng phương pháp Background subfraction -:+s+s: 17

Hình 2.2 Ảnh đầu vào và hai đạo hàm của nó - S22 21 E221211212113212Exe 25

Hình 2.3 Đặc trưng HOG c1 L1 12v 1n Hy HH Hệ 26

Hình 2.4 Biểu diễn đối tượng bởi đặc trưng HOG -©22222222222222ee 26

Hình 2.5 Biểu diễn hàm số siêu phẳng trong SVM -2222222222ce 27

Hình 2.6 Ví dụ về cách tính tọa độ ô trong ảnh 448x448 với § =3 29

Hinh,2 7, Cone ‘thite: tinh TOW sesccmmncecweencemerecenee ee 30

Hinh 2.8 Vi du kết quả IoU tương quan đến vị trí khung quanh đối tượng 30 Hình 2.9 Mỗi 6 sé dự đoán B=2 khung đóng và C=3 lớp -2sce: 31

Hình 2.10 YOLO thực hiện SxS§ dự đoán với B khung đóng của đối tượng 31

Hình 2.11 Thiết kế của một mạng YOLO -©222222221222122212221122122 e6 33

Hình 3.1 Sơ đồ ứng dụng phát hiện và đếm phương tiện giao thông 37

Hình 3.2 Kiến trúc mang CNN duoc su dung cho bài toán phát hiện va dém xe38

Hình 3.3 Phân bố số lượng các đối tượng có trong tập đữ liệu COCO 40 Hình 3.4 Một số hình ảnh về tập đữ liệu COCO 2222222222212 c6 40 Hình 3.5 Kết quả xử lý đữ liệu -

Hình 3.6 Cấu trúc tập tin cấu hình của Darknet

Hình 3.7 Kết xuất trong quá trình huấn luyện - 22222222222E222222212222-2e Hình 3.8 Kết quả thử nghiệm sau khi huấn luyện mô hình . - 44 Hình 3.9 Ảnh minh họa ứng dụng đếm xe -2- 222222 22122212221221222 e0 45

Trang 8

ANN CNNs COCO GMM HOG ILSVRC SVM YOLO

DANH MUC CAC CHU VIET TAT

Artificial Neurual Network (Mang no-ron nhan tao) Convolution Neural Networks (Mang no-ron tich chap) Common Objects in Context

Gaussian Mixture Model

Histogram of Oriented Gradients (Biéu dé mire xám) ImageNet Large Scale Visual Recognition Challenge (Thử thách nhận dạng dữ liệu ảnh quy mô lớn) Support Vector Machine (Máy học véc-tơ hỗ trợ) You Only Look Once

Trang 9

MO DAU

1 Ly do chon dé tai

Giám sát và quan ly giao thông đã và đang được các nhà khoa học thế giới và Việt Nam quan tâm nghiên cứu phát triển Đặc biệt trong những năm gần đây, nhu cầu để giám sát giao thông trên các tuyến đường là rất quan trọng đối với những đội

ngũ vận hành và khai thác, các lực lượng thực thi trên đường Trong điều kiện giao

thông Việt Nam, từ các tuyến đường quốc lộ, đường cao tốc, đến giao thông đô thị, giao thông nông thôn mật độ phương tiện rất dày đặc, đa dạng về chủng loại, trong

đó hai thành phan chính đó là ô tô và xe máy Nếu mật độ xe dày đặc, tức là số

lượng xe trên một vùng quan sát là lớn, khi đó ảnh giao thông thu được tỒn tại các

phương tiện trước sau, bên cạnh liên tiếp nhau, các phương tiện tạo thành khối

phương tiện, khi đó các phương pháp trước đây sẽ gặp nhiều khó khăn việc phân tích để phát hiện, đếm, phân loại các phương tiện giao thông

Nhiều nghiên cứu trên thế giới và Việt Nam đã quan tâm đến vấn đề phát hiện và phân loại phương tiện giao thông tuy nhiên chưa có nghiên cứu đầy đủ nào quan tâm đến mức độ dày đặc của phương tiện trên đường, cũng như quan tâm đặc biệt đến phương tiện giao thông chủ yếu là xe máy và xe ô tô

Việc lựa chọn phương pháp, thuật toán, hay phối kết hợp các thuật toán sử dụng trong hệ thống giám sát tự động, cũng như cải tiến một số thông số kỹ thuật trong thuật toán mang lại lợi ích cho việc phát hiện và phân loại phương tiện giao thông trong bối cảnh Việt Nam là điều cần thiết có ý nghĩa cả về lý thuyết và thực tiễn

Bài toán phát hiện và phân loại phương tiện giao thông dựa trên video là xét xem tại một thời điểm, trong vùng quan tâm, có những loại phương tiện gì, số lượng tương ứng Về ứng dụng, bài toán thuộc nhóm các ứng đụng liên quan đến giao thơng thơng minh Bài tốn được ứng dụng nhiều trong lĩnh vực quản lý giao thông

Yêu cầu cơ bản của bài toán phát hiện và phân loại giao thông là với đữ liệu đầu vào là video giao thông, yêu cầu đầu ra là loại phương tiện tham gia giao thông trong vùng quan sát (ô tô, xe máy và các phương tiện thô sơ khác)

Trang 10

tiếp thu nhiều tầng biểu dat, cả cụ thể lẫn trừu tượng, qua đó làm rõ nghĩa của các

loại dữ liệu Deep Learning được ứng dụng trong nhận diện hình ảnh, nhận diện

giọng nói, xử lý ngôn ngữ tự nhiên

Hiện nay rất nhiều các bài toán nhận đạng sử dụng deep leaming dé giải quyết do có những kết quả vượt trội về hiệu năng và độ chính xác so với các phương pháp khác

Những năm gần đây, chúng ta đã chứng kiến được nhiều thành tựu vượt bậc trong ngành Thị giác máy tính (Computer Vision) Các công nghệ lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận điện khuôn mặt người dùng, phát triển xe hoi ty 14i hay drone giao hàng tự động

Convolutional No-ron Network (CNNs — Mang nơ-ron tích chập) là một

trong những mô hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay Trong luận văn cao học này, tôi đi vào nghiên cứu về mạng nơ-ron tích chập các mô hình CNNs trong phân lớp ảnh (Image Classification), và áp dụng trong trong đề tài “Nhận đạng và đếm phương tiện giao thông theo thời gian thực sử dụng mạng no-ron tích chap”

2 Mục đích nghiên cứu

Mục tiêu chung: nghiên cứu và ứng dụng mạng nơ-ron tích chập trong bài toán nhận dạng và đếm phương tiện giao thông theo thời gian thực

- Mục tiêu cụ thể:

"_ Tìm hiểu về kỹ thuật nhận đạng, đếm phương tiện giao thông sử dụng mạng nơ-ron tích chập

“ Tìm hiểu hệ thống phát hiện đối tượng thời gian thực YOLO

“ Xây dựng hệ thống nhận dạng và đếm phương tiện giao thông theo thời gian thực sử dụng YOLO

3 Đối tượng và phạm vi nghiên cứu -_ Đối tượng nghiên cứu:

Trang 11

nơ-ron tich chap

" Tập dữ liệu các phương tiện giao thông: COCO

"_ Kiến trúc, mô hình mạng của hệ thống YOLO

- Phạm vi nghiên cứu: luận văn chi tập trung nghiên cứu về khía cạnh ứng dụng mạng nơ-ron tích chập để nhận đạng và đếm các phương tiện giao thông theo thời gian thực Nghiên cứu việc triển khai thực tế thông qua việc sử dụng hệ thống mở YOLO để giải quyết bài toán nhận dạng và đếm phương tiện giao thông

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

- Tìm hiểu, phân tích và tổng hợp tài liệu có liên quan đến để tài từ các nguồn như: Internet, các bài báo, sách, giáo trình trong và ngoài nước

- Tổng hợp và phát triển các kết quả ở trong các bài báo của các tác giả đã nghiên cứu thành công trước đó

-_ Trích xuất và tô chức đữ liệu từ hai tập đữ liệu COCO

- Phân tích các dự án nguồn mở liên quan, từ đó để ra những cải tiến cho phù hợp với ứng dụng mà đề tài đang hướng tới

5 Ý nghĩa thục tiễn của đề tài

Đề tài có tính ứng dụng cao Có thê được sử dụng để hỗ trợ quy hoạch giao thông bằng cách phân tích và tính toán lưu lượng từng loại phương tiện giao thông từ dữ liệu video, giám sát chấp hành luật giao thông của các phương tiện giao thông lưu thông trên đường: làn đường, tốc độ, hướng di chuyền Có thể được áp dụng trong các hệ thống xe tự hành

Nhận dạng và đếm phương tiện giao thông sử dụng mạng nơ-ron tích chập

chỉ là một ứng dụng nhỏ trong lĩnh vực học sâu Đề tài có một ý nghĩa thực tiễn lớn đó là diễn giải một số khái niệm quan trọng về mạng nơ-ron, mạng nơ-ron tích chập

Trang 12

Chuong 1 TONG QUAN VE MANG NO-RON NHAN TAO VÀ MẠNG NƠ-RON TÍCH CHẬP

1.1 MẠNG NƠ-RON TÍCH CHẬP SÂU

1.1.1 Sơ lược về nơ-ron nhân tạo và mạng nơ-ron nhân tạo

Mạng nơ-ron nhân tạo! được xây dựng dựa trên cảm hứng từ mạng nơ-ron

sinh học, đùng để mô phỏng bộ não con người và hệ thống thần kinh

1.1.1.1 No-ron sinh hoc va no-ron nhén tao

Nơ-ron sinh học là thành phần cốt lõi của hệ thống thần kinh con người Hình 1.1 mô tả cấu trúc đơn giản của một nơ-ron sinh học Các thành phần cơ bản của một nơ-ron sinh học gồm có thân tế bào (cell body), các tua gai (dendrite) và một sợi trục (axon) Mỗi nơ-ron xử lý và truyền thông tin tới các nơ-ron khác bằng

cách phát ra các tín hiệu điện Mỗi nơ-ron nhận các tín hiệu vào qua các tua gai và xuất tín hiệu ra dọc theo sợi trục của nó Sợi trục phân nhánh ra và kết thúc bởi

nhiều đầu nối (axon terminal) Các đầu nối dùng để kết nối với các nơ-ron khác thông qua các khớp thần kinh (synase) Dendrite Axon Terminal Node of Ranvier }Y Cell body Schwann cell Nucleus Myelin sheath x xế: , 2 sa s 2

Hinh 1.1 Cau tric cua mét no-ron sinh hoc

Cơ chê làm việc của một nơ-ron sinh học có thê được mô hình hóa như sau:

Mỗi khớp thần kinh có một lực để nắm bắt và điều khiển sức ảnh hưởng của nơ-ron

Trang 13

này tới nơ-ron khác Thân tế bào sẽ tổng hợp các tín hiệu được truyền từ các nơ-ron khác đến qua các tua gai Nếu tín hiệu tổng hợp lớn hơn một mức ngưỡng nào đó,

nơ-ron sẽ được kích hoạt và phát tín hiệu qua sợi trục của nóŠ

Nơ-ron nhân tạo được lấy Ý tưởng từ nơ-ron sinh học Hình 1.2 minh họa mơ hình tốn học của nơ-ron nhân tạo Mô hình này tương tự mô hình nơ-ron McCulloch-Pitts! - mô hình nơ-ron nhân tạo don giản nhất được biết đến là đơn vị

logic ngưỡng Mỗi nơ-ron nhân tạo có một số hữu hạn ngõ vào (tương ứng với các tua gai) mang kích hoạt từ các nơ-ron khác đến; mỗi ngõ vào có một trọng số w¡

(tương ứng với lực ở các khớp nối thần kinh); một bộ tính tổng và một hàm kích

hoạt (còn gọi là hàm chuyền) #0 wo synapse t1UoZ0 axon from a neuron dendrite cell body f (Som st ) +, wr; +6 : output axon activation function U11

Hình 1.2 Mô hình toán học của no-ron nhân tạo”

Kết quả ngõ ra của nơ-ron nhân tạo có thể được biểu diễn như là một hàm

của các ngõ vào:

output axon = f > wen +b (1.1)

i Trong do:

- _ x¿ là mức tín hiệu đâu vào của ngõ vào thứ 1;

Ÿ http://cs231n.github.io/neural-networks-1/ - Bài giảng của Andrej Karpathy môn học “Convoluiional Neural Networks for Visual Recognition” (CS231n - http://cs231n.stanford.edu), Dai hoc Stanford *Do Warren S McCulloch va Walter Pitts dé xuat vào năm 1943

Trang 14

- 1z là trọng số của khớp kết nối thit i;

- _ b; được xem như là ngưỡng kích hoạt của nơ-ron; 1.112 Mạng no-ron nhân tạo

Các nơ-ron nhân tạo kết nối với nhau tạo thành mạng nơ-ron nhân tạo Có nhiều dạng mạng nơ-ron nhân tạo tùy theo kiểu kết nối các nơ-ron nhân tạo với

nhau Mang no-ron truyén thang (Feedforward Neural Networks) la dang đơn giản

nhất của mạng nơ-ron nhân tạo, sau đây sẽ gọi tắt là mạng nơ-ron

Một cách tổng quát, mạng nơ-ron có ba loại lớp: lớp vào, lớp ấn và lớp ra Các nơ-ron trong cùng lớp sẽ không kết nối với nhau Nếu một nơ-ron của lớp này kết nối với tất cả các nơ-ron của lớp tiếp theo thì mạng nơ-ron đó được gọi là mạng có kết nối day du (fully connected)

H888: bayer 1 Hidden Layer 2 inp bayer LO ⁄ Sve Sự sex See S3

Hình L3 Mạng nơ-ron có 2 lóp ẩn, kết nổi đầy đủ

Số lượng các lớp ấn và số lượng nơ-ron trong mỗi lớp ân là các tham số tự do Về lý thuyết thì số lượng lớp ân càng nhiều và càng lớn thì mạng có thể mô hình hóa được những mẫu càng phức tạp

1.113 Các loại hàm kích hoạt

Đề mỗi nơ-ron có thể được kích hoạt, tổng các dữ liệu vào (với trọng số của

Trang 15

đỗ thị của một số hàm kích hoạt thông dụng, đó là hàm Sigmoid, hàm Tanh và hàm

ReLU (Rectified Linear Unit) Trong đó, hàm ReLU được sử dụng rất phô biến trong mạng nơ-ron nhiều lớp (deep neural networks) Sigmoid TanH ReLU 12 15 10 10 2s 1 _— “_ 10 tanh(z) = _ mm _ 8 z) = 0 for z<0 08 f(z) 1+e Go l+e*, fz) œ for >0 05 / 6 06 ye / a Vi 00 / 4 Be 04 Fe oe 02 a Z z05 ⁄ a a Z7 ,ạ -1.0 ——— 0 ⁄ -02 6 4 2 0 2 4 6 -15 "6 ~~ 2 0 2 4 6 6 -2 + 2 0 2 4 6 Hình 1.4 Một số hàm kích hoạt thông dụng

1.114 Huấn luyện mạng nơ-ron nhân tạo

Mục tiêu của pha huấn luyện mạng là học các trọng số Chúng ta cần hai

thành tố để huấn luyện một mạng nơ-ron nhân tạo:

- Dé liệu huấn luyện: các đữ liệu đầu vào cần phân loại Trong trường

hợp phân lớp ảnh hay nhận dạng, dữ liệu vào là các bộ ảnh đã được

dán nhãn;

- Ham lỗi: là một hàm để đo độ thiếu chính xác của các dự đoán;

Khi đã có hai thành tế trên, chúng ta có thể huấn luyện mạng nơ-ron nhân tạo bằng một thuật toán gọi là lan truyền ngược với luật học giảm gradien (hoặc một

dạng dẫn xuất của nó)

1.1.2 Mạng nơ-ron tích chập sâu 1.121 Tích chập

Tích chập (convolution) được sử dụng phổ biến trong xử lý tín hiệu số (digital signal processing) Nguyên lý biến đổi thông tin của nó đã được ứng dụng rộng rãi trong kĩ thuật xử lý ảnh và video sé

Tích chập là một toán tử tuyến tính Tích chập trong không gian hai chiều

Trang 16

trận nhỏ hơn K có kích thước [p x q] (p<m, q<n) Tích chập của ma tran I va K là một ma trận S có kích thước [@m-p+1).(n-q+1)] mà mỗi phần tử S(1.j) được xác định theo công thức”:

SGA) = Œ*K)(,j) = À1 + mị,j + n¿).K(m1,n2) (12

n1 m2

Ma trận I gọi là ma trận đầu vào Ma trận K gọi là nhân (kernel) hay bộ lọc (flter) Trong kỹ thuật xử lý ảnh, nhân còn được gọi là bộ phát hiện đặc trưng

(feature detector) Và S là ma trận kết quả Input Kernel h Ý Output aw + be + bw + ee + ew + dx + ey + z fu + 92 ay + hz ew + fa + fw + ge + gw + he + iy + 1z jy + kez ky + lz

Hinh 1.5 Minh hoa cơ chế của tích chập 2p’

Hinh 1.5 minh họa cơ chế của phép tích chập trong không gian hai chiều Và

Hình 1.6 là một ví dụ cụ thể về phép tích chập Ma trận bên trái là một bức ảnh đen

trắng Mỗi giá trị của ma trận tương đương với một điểm ảnh (pixel), 0 là màu đen,

Trang 17

1 là màu trắng Nhân là một ma trận 3x3 Ta dùng ma trận nhân 3x3 này nhân từng thành phần tương ứng (elemenf-wise) với ma trận ảnh bên trái Giá trị đầu ra đo tích của các thành phần này cộng lại Kết quả của tích chập là một ma trận (convoled

feature) sinh ra từ việc trượt ma trận nhân từ trái qua phải, từ trên xuống dưới và thực hiện tích chập cùng lúc lên toàn bộ ma trận ảnh bên trái 4|3I4 21413 21314 Convolved Feature Hình 1.6 Một ví dụ về tích chập” Image

Mạng tích chập có được bằng cách kết hợp nhiễu lớp lại với nhau Sau đây ta sẽ tìm tìm hiểu về các lớp chủ yếu của mạng tích chập gồm: lớp tích chập, lớp pooling và lớp mạng nơ-ron kết nối đầy đủ

1.122 Lóp tích chập

Lớp tích chập là cách gọi vắn tắt của lớp nơ-ron tích chập Lớp tích chập có được bằng cách thực hiện phép tính tích chập lên đữ liệu từ lớp trước đó (gọi là lớp

vao) voi nhiều bộ lọc khác nhau kết hợp với một hàm kích hoạt đầu ra

Cơ chế của phép tính tích chập hoàn toàn tương đương với cơ chế liên kết

của mạng nơ-ron Thật vậy, từ công thức tính tích chập (1.2), nếu xem gia tri mỗi phần tử của ma trận vảo I là tín hiệu đầu vào từ một nơ-ron đến, xem giả trị mỗi phần tử của ma trận bộ lọc K là một trọng số kết nối thì kết quả một phép tính tích

chập cho một phần tử của ma trận kết quả S tương đương với một phép tính tổng tín

hiệu đầu vào của một nơ-ron Và khi áp một hàm kích hoạt với một mức ngưỡng

kích hoạt lên kết quả của phép tính tích chập này thì nó hoàn toàn tương đương với đáp ứng của một nơ-ron như biêu diễn trong công thức (1.1)

Š http://deeplearning.stanford.edu/wiki⁄4ndex.php/Feature_extraction using_convolution

Trang 18

Khi trượt ma trận bộ lọc K trén ma tran vao I, cac trong số trong ma trận K được sử dụng lại trong mỗi lần tính tích chập Đặc điểm này được gọi là đặc điểm

chia sẻ trọng số khi thực hiện phép tích chập cho toàn bộ ma trận đầu vào I Ngưỡng kích hoạt cũng được dùng chung theo cách thức như vậy

Hàm kích hoạt được sử dụng phô biến ở đây là hàm ReLU ƒ(x)=max(0,x), có

đồ thị đáp ứng như Hình 1.4 Hàm ReLU làm tăng tính phi tuyến cho dữ liệu đầu vào So với các hàm phi tuyến khác như Sigmoid hay TanH thì ReLU vẫn đáp ứng được yêu cầu mà sự thực thi đơn giản hơn, giúp làm tăng hiệu năng tính toán của cả hệ thống Về mặt ý nghĩa, ReLU chỉ đơn giản loại bỏ những giá trị âm đầu vào (đặt bằng 0) và giữ nguyên những giá trị dương

Như vậy, phép tích chập kết hợp với một hàm kích hoạt được xem như là cơ chế sinh ra một nơ-ron ở đầu ra Và khi áp dụng cơ chế này cho một ma trận đầu vào thì sẽ tạo một ma trận nơ-ron đâu ra

Ứng với mỗi bộ lọc, qua phép tích chập với hàm kích hoạt, một ma trận kết quả được tạo ra Ma trận này được gọi là một bản đồ đặc trưng (feature map) hay bản đỗ kích hoạt (activation map) ứng với bộ lọc đã sinh ra nó Một lớp tích chập có

thê có tới vài trăm bản đồ đặc trưng Số lượng bản đồ đặc trưng sinh ra tương ứng

với số lượng bộ lọc được sử dụng Số lượng bản đồ đặc trưng trong một lớp tích

chập còn được gọi là độ sâu của lớp (deep)

Một thông số quan trọng trong phép tích chập là bước trượt của cửa số bộ lọc

(stride) Nếu ma trận vào có kích thước NxN bộ lọc có kích thước FxF va bước trượt là s thì ma trận kết quả sẽ có kích thước YxY, với Y được tính như sau:

_N—P)

Ss

Y (1.3)

Đề dễ hiểu cơ chế sinh ra lớp tích chập, chúng †a xem xét ví dụ sau đây Với

một ảnh đầu vào có kích thước 32x32, có 3 lớp màu đặc trưng (R.G,B) thì có thé

xem như lớp ảnh đầu vào có độ sâu là 3, viết gọn thành 32x32x3 Bộ lọc áp dụng

lên lớp ảnh đầu vào này cũng cần phải có độ sâu tương ứng là 3 Khi áp dụng một

Trang 19

vào, thực hiện phép tính tích chập với ham kích hoạt, ta sẽ được một giá trị duy nhất ứng với một nơ-ron đầu ra, Hình 1.7 minh họa cơ chế này eae anh 32x32x3 bộ lọc 5x5x3 32 32 3

Hình 1.7 Cơ chế tính tích chập lên một vùng ảnh 32x32x3 với bộ lọc 5x5x3 2

Khi cho bộ lọc 5x5x3 trượt qua ảnh đầu vào với bước trượt 1, ta được một ban dé dic trưng có kích thuéc 28x28x1, nhu minh hoa 6 Hinh 1.8 inh 3233233 Đ80,00 Gặp tHENG 32 32 bộ loc 5x5x3 4 28 trượt bộ lọc qua tất cả các vị trí với bước trượt 1 28 1 3

Hình 1.8 Cơ chế sinh ra một bản đồ đặc trưng”

Do độ sâu của bộ lọc luôn bằng với độ sâu của lớp vào (input layer), nén

kích thước của bộ lọc có thê viết đơn giản hơn bằng cách bỏ đi tham số chiều sâu

Bộ lọc 5x5x3 có thể viết đơn giản thành 5x5

Với mỗi bộ lọc, ta có một bản đổ đặc trưng Một bộ lọc được xem như một

° Anh ti slide bai giảng môn học Computer Vision (CS231n) của Đại học Stanford: http://cs231n.stanford.edu/slides/winterl S16_ lecture7.pdf, slide 13

1° Ảnh tir slide bài giảng môn học Computer Vision (CS231n) của Đại học Stanford: http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf, slide 14

Trang 20

bộ trọng số Một bộ lọc 5x5x3 sẽ có 75 trọng số khác nhau Đề trích xuất được nhiều đặc trưng của lớp vào, người ta sử dụng nhiều bộ lọc khác nhau Hình 1.9 minh họa cơ chế sử dụng 6 bộ lọc 5x5 để sinh ra 6 bản đồ đặc trưng khác nhau

dữ liệu đầu vào các bản đồ đặc trưng 32 28 lớp tích chập 32 28 3 6 Hình 1.9 Nhiễu bản đồ đặc trưng sinh ra từ nhiều bộ lọc” 1.1.2.3 Lép Pooling

Lớp pooling thường dùng đề cô đọng thông tin từ lớp trước đó Cơ chế tao ra lớp pooling là nó sử dụng một cửa số trượt quét qua toàn bộ ảnh dữ liệu đầu vào với

một bước trượt xác định (thông thường là bằng với kích thước của của số trượt)

Lớp pooling sử dụng một số phép toán để chỉ giữ lại một giá trị trong mỗi vùng cửa số quét qua Một số phép pooling được sử dụng phổ biến gồm maxpooling (lấy giá trị lớn nhất), minpooling (lấy giá trị nhỏ nhất) và averagepooling (lấy giá trị trung bình) Maxpooling được sử dụng phổ biến nhất Hình 1.10 minh hoa cơ chế maxpooling Cơ chế pooling còn được gọi là cơ chế subsampling

Lớp pooling có tác dụng làm giảm kích thước dữ liệu trong khi vẫn giữ được

những đặc trưng cần thiết cho việc nhận dạng hình ảnh Thông thường, một mạng

nơ-ron tích chập có số lượng tham số rất lớn Việc giảm kích thước dữ liệu sẽ giúp giảm đáng kể số lượng tham số trong mạng

1 Anh tir slide bài giảng môn học Computer Vision (CS231n) của Đại học Stanford: http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf, slide 16

Trang 21

lớp dữ liệu vào có độ sâu bằng 1 1111214 x phép max pool với bộ 5l6L718 lọc 2x2 và bước trượt 2 618 3 |2 ĐANG 314 1121314 Ý Hinh 1.10 Co ché MaxPooling

1.1.2.4 Lop két noi day đủ

Lớp kết nối đầy đủ (FC - fully connected) gồm một mang no-ron truyén thẳng truyền thống có số lượng nơ ron tương đối lớn (trên 1000) với vài lớp nơ-ron kết nối đầy đủ với nhau Mạng nơ-ron ở lớp này thường dùng cho mục đích phân lớp dữ liệu

1.1.2.5 Kiến trúc của mạng nơ-ron tích chập sâu

Mỗi lớp tích chập biểu diễn cho một mức đặc trưng của dữ liệu đầu vào

Kiến trúc chung của một mạng nơ-ron tích chập sâu gồm có các lớp tích chập và pooling két nối với nhau tạo thành chuỗi, lớp cuối là lớp mạng nơ-ron kết nối đầy

đủ Hình 1.11 mô tả một mô hình mạng nơ-ron tích chập kinh điển đã được Yann

LeCun và cộng sự ứng dụng vào việc phân tách chữ số viết tay vào năm 1998 (mang LeNet-5) [19] C3: f maps 16@10x10 neor C1: feature maps 28x28 S4: f maps 16@5x5 32x32 sỹ $2: f maps 6@14x1 |

| Full contlection | Gaussian connections Convolutions Subsampling Convolutions Subsampling Full connection

Hinh 1.11 M6 hinh mang no-ron tich chép duoc Yann LeCun ung dung vao viéc phan tach chit viét tay

Tinh “sâu” của của mạng nơ-ron tích chập thê hiện ở sô lớp trong mạng và sô

Trang 22

lượng bản đồ đặc tính trong mỗi lớp

Kỹ thuật phát hiện đối tượng đã phát triển mạnh từ những năm đầu thập niên 2010, khi các giáo sư ở đại học Sfandford lập ra mạng ImageNet'” và có những thách thức nhận đạng trên quy mô lớn hằng năm trong lĩnh vực thị giác máy tính (ILSVRC)

Mạng nơ-ron tích chập sâu sử dụng trong phát hiện đối tượng cũng được cải

tiến liên tục Từ năm 2014, nhóm nghiên cứu lập ra mạng GooLeNet Error! Reference source not found., đã đề xuất một kiến trúc mới cho mạng nơ-ron tích

chập sâu gọi la Inception Kién trac méi nay gitip cải thiện việc sử dụng các tài nguyên máy tính của mạng nơ-ron tích chập

?2 http:/www.image-net.org/

Trang 23

Chwong 2 TONG QUAN VE BAI TOAN NHAN DANG VA DEM CAC

PHU ONG TIEN GIAO THONG

2.1 PHAT BIEU BAI TOAN

Mục tiêu của luận văn là nghiên cứu giải pháp đề phát hiện, đếm và phân loại phương tiện giao thông theo thời gian thực Giải pháp này khác với các giải pháp sử

dụng các cảm biến đường bộ, chẳng hạn như radar, chỉ cung cấp dữ liệu về lưu

lượng và mật độ giao thông và không cung cấp thông tin về loại xe trong thời gian thực Bằng cách tận dụng những tiến bộ trong thuật toán thị giác máy tính và kỹ

thuật học máy, nhiều thuật toán mới đã được nghiên cứu để thực hiện việc phát hiện, đếm và phân loại xe bằng cách sử dụng đầu vào video trực tiếp từ các camera hoặc từ các tập tin

2.2 MỌT SÓ PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN

2.2.1 Phuong phap tach cénh nén (Background subtraction)

Phương pháp tách cảnh nền hay có thể gọi phương pháp phát hiện tiền cảnh là một kỹ thuật trong lĩnh vực xử lý ảnh và thị giác máy tính khi mà tiền cảnh sẽ

được tách ra cho những bước xử lý tiếp theo (ví dụ như nhận dạng đối tượng, nhận

dạng cử chỉ, chuyên động, vv) Thông thường những vùng ảnh quan tâm sẽ thuộc vùng tiền cảnh của bức ảnh, vì vậy việc tách cảnh nền hiệu quả và chính xác giúp

cho các hệ thống này đạt được sự ổn định và tính nhanh chóng Sau bước tiền xử lý,

các bước xử lý tiếp theo sẽ sử đụng kỹ thuật tách nền này Tách cảnh nền được ứng

dụng rộng rãi trong nhiều lĩnh vực như camera giám sát, nhận dạng đối tượng, nhận

dạng cử chỉ đối tượng, giao thông đề theo dõi lưu lượng xe

Phương pháp này dựa trên việc giả định hậu cảnh tĩnh và thường không áp dụng trong môi trường thực (ánh sáng tự nhiên, ngoài trời ) hoặc các thay đôi trên ảnh nền trong nhà (như màn hình TV) hoặc ngoài trời có mưa gió, thay đổi ánh sáng Một thuật toán Background Subtraction mạnh cần phải có khả năng xử lý việc thay đổi của môi trường như ánh sáng, các chuyên động lặp (Màn hình TV, quạt ) hoặc các thay đổi không diễn ra liên tục (như đóng mở cửa, đèn xanh đỏ)[ 1]

Trang 24

2.2.1.1 Sử dụng khác biệt về khung hình

Một thuật toán phát hiện chuyên động bắt đầu bằng các phân đoạn nơi mà

tiền cảnh hoặc đối tượng chuyển động đã được phân đoạn ra khỏi tậu cảnh Cách đơn giản nhất để thực hiện là lay một ảnh như là nền và các khung ảnh thu được tại

thời điểm t, ký hiệu là I() để đo sánh với hậu cảnh, ký hiệu là B Ở đây ta sử dụng

các phương pháp tính đơn giản, ta có thê tách đối tượng một cách tương đối dễ dàng bằng cách sử dụng kỹ thuật trừ ảnh của thị giác máy tính cho mỗi điểm ảnh tại thời

điểm t — IŒ), lấy điểm giá trị điểm ảnh — ký hiệu P[IŒ)] và trừ cho điểm ảnh tương

ứng cùng vị trí trên hậu cảnh, ký hiệu là P[BỊ

Ta có phương trình

PIF@)] = P[I@® - PIB] (2.1) Hậu cảnh (nền) được giả định là một khung hình tại thời điểm t Hình ảnh

khác biệt này — P[F(Đ] sẽ chỉ hiển thị cường độ cho các điểm ảnh đã thay đổi trong

2 khung hình Vi vay, ta thấy gần như hậu cảnh đã bị xoá đi Cách thực hiện này sẽ

chỉ làm việc trong trường hợp các tiền cảnh, đối tượng là di chuyển và hậu cảnh là

tĩnh Việc tạo ngưỡng ảnh sẽ được đưa vào hình anh khác biệt — P[F()] để tăng hiệu

quả của việc trừ nền

|P[F(Œ@] - P[FŒ+1)] | > Threshold (22)

Có nghĩa rằng cường độ trong các điểm ảnh của hình ảnh khác biệt đã bị nhị phân hoá (bằng việc tạo ngưỡng) hay được lọc bằng giá trị của nhị phân hoá (ngưỡng nhị phân, giá trị T) Sự chính xác của phương pháp này phụ thuộc vào tốc độ di chuyên trong khung cảnh Các chuyển động nhanh hơn thì cần tạo ngưỡng cao hơn

2.2.1.2 Lọc trung bình

Để tính toán ảnh chỉ chứa hậu cảnh, một loạt các ảnh trước đó sẽ được tính

trung bình Dé tinh toán hậu cảnh ở thời điểm ứ, ta có công thức

Trang 25

N

1

BŒ,y,t) =„Ö, VŒ,y,t— 0) 23)

¡=1

Trong đó N là số lượng ảnh trước đó dùng để tính trung bình Giá trị trung bình này là trung bình giá trị của các điểm ảnh trong ảnh được cho N phụ thuộc vào tốc độ video — số lượng ảnh mỗi giây và lượng di chuyển của đối tượng trong ảnh

Sau khi tính toán hậu canh B(x, y, t) ta co thé trừ nó từ ảnh V(x, y, t) tai thoi diém t

và tạo ngưỡng nhị phân cho nó Sau đó, tiền cảnh sẽ như sau :

| VΠy, t)- BG, y, t) |> Th (2.4)

Trong đó Th là ngưỡng nhị phân, tương tự ta có thể sử dụng Median (trung tuyến) thay cho Mean (trung bình) để tính giá trị B(x, y, t)

Hình 2.1 Sử dụng phương pháp Background subtraction'”

2.2.2 Gaussian Mixture Model (GMM)

2.2.2.1 Phương pháp GMM truyền thông

GMM truyền thống để xuất mỗi điểm ảnh trong ảnh được theo dõi độc lập và sự thay đổi trong vùng thời gian có thể được mô phỏng bởi phân bố Gaussian K

13 Ảnh chụp từ video https://www.youtube.com/watch2v=KOsgEsY§UWI

Trang 26

chiéu Vi du gia tri cua diém anh P(x y) là {xI, x2 , xt} thì xác suất có thể quan

sát giá trị điểm ảnh hiện tai xt tai thoi điểm t là:

K

POL) =) Wie Xe Mee Die) (25)

i=1

với các tham số: K là số lượng phân bố, 6; là trọng số tương ứng với Gauss thứ ¡"

ở thời điểm t với trị trung bình ø;¿ và độ lệch chuẩn Mie” là hàm mật độ xác xuất Gauss: yi _ ~5(Xi~)X”*(X,—w) (Xp wD) = (anys 72 zee we (2.6) Có thê sắp xếp trật tự của K phan bé Gaussian theo w/6 va giả thiết phân bố B là mô hình nền: b b B= argmin() Wit lồ, Wit > T} (2.7) i=1 i=1

Néu giá trị chênh lệch giữa giá trị điểm ảnh hiện tại và giá trị mô hình nên trong phạm vi nhất định, nó có thể được coi là nền, đó là: p=#.tŒ,-1,tụ, >¡) (2.8) Đề có thê đáp ứng các phương trình trên, cập nhật theo các phương trình sau đây: @1¿+1 = (1— #)01„ + ŒM, 2.9 Hị¿++¡ = (1— 0)M¡‡ + p.Mc++ (2.9)

v6i ty 16 hoc p = a &(X;_4, fy, Z;) là hang sé; M; = 1 néu phi hop mé hinh, M,=0 với các trường hợp còn lại

Đề cập nhật nhanh GMM phụ thuộc vào tỷ lệ học a Nếu gia tri a là nhỏ, tốc độ khởi tạo mô hình nền và cập nhật tương ứng là chậm, cần có thời gian dài để phù

Trang 27

hợp với sự thay đổi của môi trường Ngược lại nếu gia tri a la lon, tốc độ sẽ nhanh

để có thê đáp ứng sự thay đổi của môi trường, nhưng dễ bị nhiễu sai[1] 22.22 Phương pháp GMM thích ứng

Phương pháp tiếp cận trên mô hình điểm ảnh bằng việc xem xét giá trị điểm ảnh quan sát với vài mô hình Gaussian đơn Cần phải cập nhật tham số của mô hình

cho mỗi gia tri điểm ảnh mới thu được Các bước sửa đổi của tham số của nó là như

sau:

1) Với mỗi điểm ảnh mới, sẽ phát hiện sự phù hợp của nó với mô hình ở đầu

tiên và phương pháp phát hiện là:

hi hợp |X, — ¿| < Àø;

phi hop |X; — Hit | < Asie i= 12, K (2.10)

không phù hợp |X: — Hie >À0Ø¡¿

với  là hằng số theo thực nghiệm thu được Khi đó trích chọn các mẫu từ tất cả số

lượng trong phân bố thường và khoảng 95% các mẫu là rơi vào khoảng ( -2ø, 2 +20), do vậy, thường đặt  trong khoảng 2 đến 3

2) Vì 2 tình huống khác nhau nhận từ bước đầu tiên, có thể phủ hợp các phương pháp thay đổi khác nhau: Nếu Gaussian chắc chắn (số thứ tự k) của sưu tập

đa chế độ được phù hợp với điểm X_ cần cập nhật giá trị trọng s6 Gaussian:

Wxt = (1 — @)oxy_1 + a(1 — a) ox 2 (2.11) voiala hang số tốc độ cập nhật nên — giá trị trọng số cập nhật trong khoảng [0,1], được đặt theo kinh nghiệm và điểu kiện cu thé, dé giam nhiéu nén, thuong dat gia trị œ nhỏ, ví dụ œ=0.05

Từ (2.11) mô hình được xác định có thể luôn luôn thực sự mô phỏng các tình

huống phân chia giá trị nền pixel trong thời điểm mới nhất Theo định nghĩa của mô

hình, các giá trị trọng số đại diện cho xác suất xuất hiện của các giá trị điểm ảnh gần nhất Sau đó, khi giá trị điểm ảnh mới thu được là phù hợp với một số hoặc một số

mô hình đơn trong phân phối này, nó có nghĩa là mô hình đơn đáp ứng tương đối phân phối các giá trị điểm ảnh của hiện tại và do đó cần phải tăng giá trị trọng số

Trang 28

của nó đúng cách a tốc độ cập nhật các giá trị trọng số của số lượng các giá trị

trọng số của biến đổi và ơ lớn nhận ra sự thay đổi nhanh chóng Khi mô hình đơn là phù hợp với một giá tri pixel mới thu được, cần phải sửa đổi tham số mô hình qự; và

Pxt Vi khi giá trị điểm ảnh mới thu được kết hợp với chế độ đơn, theo phân bố xác

suất, nó phải ảnh hưởng đến sự phân bố xác suất ước tính ban đầu Phương trình thay đổi theo công thức sau:

Ø¡++(%, y)” = (1 — #)Ø¡_(%,y)” + œø¡(%, y)” (2.12) Mị+1Œ,Yy) = (1 — #)Mi(X,y) + #l:;¡(%, Y) (2.13)

với ]¡;¡(x,y) là mức xám của khung hình video mới nhất thu được tại điểm (xy)

Nếu giá trị điểm ảnh mới X: là không phù hợp với một số phân phối Gaussian, có thê cho rằng các giá trị điểm ảnh mới không thực hiện bất kỳ đóng góp đề phân phối các mô hình đơn và sau đó không cần phải thay đổi thông số phân phối Gaussian và chỉ thay đổi giá trị trọng của nó theo công thức sau:

Wxt = 1 — @)ox, (2.14)

Điều nay chi ra chi gia tri trong sé phan phéi Gaussian phu hop voi X, cé thé được tăng lên, và các giá trị phân phối khác đều giảm Khi không có bất kỳ một phân phối Gaussian trong bộ sưu tập phù hợp với các giá trị diém anh mdi X,, cd nghĩa là phân phối mới được tạo ra và phân phối phải ở trong các bộ sưu tập đa chế

độ Vì vậy, cần thêm một mô hình mới đơn và trong thời gian trung bình loại bỏ

phân phối Gaussian từ bộ sưu tập mô hình ban đầu Phương pháp cụ thể là để loại

bỏ sự phân bố Gaussian với trọng lượng tối thiểu trong bộ sưu tập đa hiện tại và

giới thiệu một phân phối Gaussian mới trong bộ sưu tập đa theo X, và cũng thiết lập một giá trị trọng số tương đối nhỏ và phương sai tương đối lớn Trong phân phối

Gaussian vira duoc gidi thiéu theo X,, gia tri trọng số của nó là trọng số tối thiểu

trong bộ sưu tập đa hiện tại và giá trị trung bình là giá trị điểm ảnh mới và phương sai là một hằng số tương đối lớn

Trang 29

3) Sau khi sửa đổi ở trên, cần phải xử ly các giá trị trọng số của mỗi mô hình đơn trong các mô hình với phương pháp bình thường Đối với việc cập nhật các giá

tri gia quyền ở trên, khi một mô hình là phù hợp với một điểm ảnh mới, bởi vì

Ì⁄1¬ @¿¿—+ —= 1 (2.15)

i=1

a K K

voi Die = (1 -@) Dina ta=l (2.16)

Vì vậy, không cần phải thực hiện các xử lý bình thường Nếu mô hình mới

được tạo ra, tiến hành xử lý các giá trị trọng số của mỗi mô hình ban đầu:

Wk,t

Ont = SE Din Mit (2.17)

Đánh giá liệu mỗi giá trị pixel mới là các điểm ảnh đối tượng hoặc nền pixel hoặc không Mô hình đề thể hiện nền pixel trong một mô hình hỗn hợp nên có các tính năng: giá trị trọng số tương đối lớn và thay đổi tương đối nhỏ

Xem xét hai khía cạnh của các yếu tố Nhưng rất khó đề đánh giá một tham số nào quan trọng hơn tham số khác đề từ đó đánh giá liệu mô hình đơn là mô hình nên hay không Chỉ cần phải xem xét hai thông số kích thước tương đối trong bộ sưu tập mô hình để có được các giải pháp của các mô hình thuộc nền Kích thước của giá trị tương đối s/ø như mức độ ưu tiên của từng phân bố Gaussian

Phương pháp để có được những mô hình điểm ảnh nền được hiển thị: (1) Tính ø@/Ø mức độ ưu tiên của từng mô hình Gaussian

(2) Sắp xếp thứ tự từng phân phối Gaussian từ cao đến thấp lần lượt theo kích thước của mức độ ưu tiên w/o

(3) Chọn các phân bố Gaussian B đầu tiên từ tập K làm mô hình nền và xác định theo công thức:

Trang 30

b b

B= arg min{Ö Wit » Wit > T} (2.18)

i=1 i=1

ở đây, T được coi là biện pháp giảm thiêu các ước tính nền Mô hình nền được xây dựng theo các bản phân phối B Gaussian đầu tiên phù hợp với X, với mỗi bản phân phối Gaussian B riêng theo thứ tự mức độ ưu tiên Nếu không có bất kỳ phân phối

Gaussian đó thể hiện sự phân bố nền là phù hợp với X\, thời điểm này được đánh giá như là tiền cảnh, nếu không là nên, và sau đó hoàn thành việc phát hiện đối

tượng theo mô hình đa Gaussian thích nghi Vì GMM giả định rằng mỗi điểm ảnh là độc lập riêng biệt, khi sự thay đổi chiếu sáng ngoài trời gây ra sự thay đổi cảnh, nó hoàn toàn có thể mang lại đối tượng giả trong khu vực rộng lớn dẫn đến đánh giá sai Thông qua việc quan sát sự biến chiếu sáng trong ứng dụng viđeo thực sự, phân chia sự thay đổi ánh sáng thành hai loại: đột ngột và đần dần Bằng cách phân tích

trên hai biến thể, sự chiếu sáng thay đổi yếu tố Ø, để loại bỏ ảnh hưởng của sự biến

đổi ánh sáng về phát hiện đối tượng di chuyển: LIẾII E VEZ +524 52 E, = 5 4+ 4 B (2.20) o day, E, thé hién thông tin entropy khung hién tai va Eg, Eg, Eg dai dién cho thông 6,=1- (2.19)

tin entropy khung hién tại của mỗi thành phần riêng biệt Màu sắc của hình ảnh được kết nối chặt chẽ với các đối tượng của chúng và phân phối khác nhau giá trị điểm ảnh chiếu sáng có thể phản ánh mức độ biến đổi ánh sáng của môi trường Thông qua các biểu đồ màu sắc để trích xuất tính năng màu Khi hai hình ảnh phát hiện mẫu giá trị đặc trưng không giống nhau nhưng sự khác biệt của hai giá trị nhỏ hơn giá trị ngưỡng nhất định, điều này cho thấy sự tương đồng của chúng tương đối cao và hai hình ảnh phân phối thống kê giống nhau Theo nguyên tắc này, đề xuất phương pháp phát hiện sự thay đổi ánh sáng đó là thuật toán phù hợp với biểu đồ đề phân biệt sự thay đổi dần dần của ánh sáng thay đổi đột ngột

Trang 31

Công thức được thể hiện như sau: M D(t,t—1)=1- » min(H,(m), H,_¡(m)) (2.21) m=1 với H; đại diện cho biêu đồ của hình ảnh trong thời gian t và xử lý theo phương trình (10), và nhận được: M D(t,t—1) =1- » min(H,(m), H;_4(m)) (2.22) m=1

Su dung Dct, t-1) dé phan biét su thay đổi ánh sáng đột ngột và dan dan :

Bién déi cham D(t,t —1) <T Biến đổi đột ngột, ngược lại (2.23)

với T¡ là giá trị ngưỡng phù hợp tương tự Cập nhật tỷ lệ học thích nghi a theo phương trình:

a=a-+t6,,néu thay đổi chậm

{ a = 2a,néu thay doi dét ngbt (2.24)

2.2.3 Két hop HOG va SVM

2.2.3.1 Histogram of Oriented Gradients (HOG)

Các đặc trưng HOG [11] được sử dụng rộng rãi cho các bài toán phát hiện

đối tượng nói chung Phương pháp HOG dựa trên việc đếm số lần xuất hiện của các hướng gradient trong cac vung cục bộ của ảnh

Bản chất của phương pháp HOG là các thông tin về hình dáng và vẻ bề ngoài của các đối tượng cục bộ trong ảnh có thê được mô tả bằng cách sử dụng thông tin về sự phân bố của các cường độ gradient hoặc của các hướng biên Các toán tử

HOG được cài đặt bằng cách chia nhỏ một bức ảnh thành các vùng con được gọi là các “ô” và với mỗi ô đó một lược đổ về các hướng của gradient sé duoc tinh cho

các điểm nằm trong ô Ghép các lược đồ này lại ta sẽ có một biểu diễn cho bức ảnh

ban đầu Để tăng cường hiệu năng nhận dạng, các lược đỗ cục bộ có thể được chuẩn

hóa về độ tương phản bằng cách tính một ngưỡng cường độ trong một vùng lớn hơn

Trang 32

của ảnh, gọi là các khối và sử dụng giá trị ngưỡng đó đề chuẩn hóa tất cả các 6 trong khối Kết quả của bước chuân hóa này là vector đặc trưng sẽ có tính bất biến cao hơn đối với các thay đôi về điều kiện ánh sáng

Các bước cơ bản của việc tính một vector HOG cho một ảnh gồm có: Tính

gradient, gán hướng vào các vùng giá trị khác nhau, tính lược đồ của các khối và cuôi cùng là chuân hóa các khôi

Tính gradient: Đây là bước đầu tiên trong phương pháp HOG và thường được thực hiện bằng hai phép nhân chập ảnh gốc với 2 nhân 1 chiều tương ứng với các toán tử lấy đạo hàm ảnh theo hai hướng Ox và Oy, cụ thê là:

Dx = [-1 0 1] va Dy = [1 0 -1]T (2.25)

trong đó T là ký hiệu của phép chuyển vị ma tran

Trang 33

Hình 2.2 Ảnh đầu vào và hai đạo hàm của nó

Gán hướng: Sau khi tính đạo hàm, ta có thành phần hướng ở các điểm ảnh trong mỗi ô của ảnh đầu vào Các giá trị hướng này được chia thành các vùng hướng đều nhau trong khoảng từ 0 tới 360° Theo các tác giả của HOG, thì 9 vùng chia cho kết quả tốt nhất đối với các bài toán nhận dạng Có nghĩa là các giá trị hướng nằm trong khoảng [0, 360/9) sẽ được gán bằng 1 (coi là như nhau), các giá trị hướng trong khoảng [360/9, 2*360/9) sẽ được gán bằng 2, v.v Sau đó lược đồ

của mỗi ô sẽ được tính độc lập

Tính lược đồ của các khối: Để đáp ứng tốt hơn với các thay đổi về điều kiện ánh sáng và độ tương phản, các giá trị gradient cần phải được chuẩn hóa cục bộ, điều này đòi hỏi việc nhóm các ô thành các vùng liên kết không gian với nhau

gọi là các khối Vector HOG do đó sẽ là tổng hợp các lược đỗ của các ô đã được chuẩn hóa từ tất cả các khối Các khối sẽ được chia và không tách biệt nhau, nói

cách khác mỗi ô sẽ đóng góp thông tin về các hướng (tại các điểm ảnh của nó)

nhiều hơn 1 lần

Chuẩn hóa khối: Có nhiều phương pháp có thể được dùng cho việc chuẩn

hóa khối Gọi v là vector cần chuẩn hóa chứa tất cả các histogram của một khối,

Trang 34

||vk|| la gid tri chuẩn của nó theo các chuẩn k=l, 2 và e là một hằng số nhỏ, khi đó các giá trị chuẩn hóa có thể tính bằng | trong các công thức sau: v L2 -norm: ƒ =—————— 9 vi 9 lậ+ e? ae ul -norm: f = ———— f Inii+e _ Nộp 3 v L1 — sqrt: f sart:ƒ = |———— Ive (2311) T Phrala bar celet8,0) 8 colls_per_block=(2, 2) 4 4 pix ———————O

Hình 2.4 Biểu diễn đối tượng bởi đặc trưng HOG 2.2.3.2 Support Vector Machines (SVM)

SVM là một thuật toán học máy có giám sát được sử dụng rất phố biến ngày nay trong các bài toán phân lớp hay hồi qui

Trang 35

SVM được để xuất bởi Vladimir N Vapnik và các đồng nhiệp của ông vào năm 1963 tại Nga và sau đó trở nên phổ biến trong những năm 90 nhờ ứng dụng giải quyết các bài toán phi tuyến tính (nonlinear) bằng phương pháp Kernel Triek

Ý tưởng của SVM là tìm một siêu phẳng (hyper lane) để phân tách các điểm dữ liệu Siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi miền

sẽ chứa một loại giữ liệu

Hình 2.5 Biểu diễn hàm số siêu phẳng trong SƑM

Siêu phẳng được biểu diễn bằng hàm số <W.X> = b ( W và X là các vector <W X> là tích vô ) Hay WT=b ( WT là ma trận chuyển vị)

Trang 36

- _ Sử dụng cửa sé trượt dé duyệt qua các vị trí trên khung hình

- _ Sử dụng bộ phân lớp đã được huấn luyện để phát hiện các phương tiện giao thông ở những vùng con trên khung hình

2.3 GIỚI THIỆU VẺ YOLO FRAMEWORK

YOLO[9] (You Only Look Once), là một mạng dé phat hién đối tượng Nhiệm vụ phát hiện đối tượng bao gồm xác định vị trí trên hình ảnh nơi có các đối

tượng xuất hiện, cũng như phân loại các đối tượng đó Các phương pháp trước đây,

như R-CNN và các biến thể của nó, đã thực hiện công việc nảy qua nhiều bước

Dẫn đến hiệu suất mạng kém và cũng khó để tối ưu hóa, bởi vì mỗi thành phần

riêng lẻ phải được huấn luyện riêng biệt YOLO, làm tất cả với một mạng nơ-ron

duy nhất Tác giả đã đưa bài toán phát hiện đối tượng về bài toán hồi quy đơn lẻ,

trực tiếp từ các điểm ảnh tới các tọa độ của các khung đóng quanh đối tượng và xác suất lớp của đối tượng đó

Nghĩa là ta sẽ có một hình ảnh làm đầu vào, truyền nó qua một mạng nơ-ron

có cấu trúc tương tự như một CNN bình thường, và chúng ta sẽ nhận được một

vector chứa vị trí khung đóng bao quanh đối tượng và xác suất của các lớp ở đầu ra 2.3.1 Cấu trúc vectơ đầu ra

Hình ảnh đầu vào được chia thành lưới các ô có kích thước § x S Đối với mỗi đối tượng có mặt trên hình ảnh, sẽ có một ô chịu trách nhiệm để dự đoán nó

Đó là ô mà tâm của đối tượng rơi vào

Mỗi ơ sẽ dự đốn B khung đóng quanh đối tượng cũng như xác suất của C lớp Mỗi một khung đóng quanh đối tượng gồm cần dự đoán 5 thành phần: (x, y, w,

h, độ tin cậy) Các tọa độ (x, y) đại diện cho trung tâm của khung đóng, gắn VỚI VỊ

trí ô trong lưới đã chia trước đó(lưu ý rằng, nếu trung tâm của khung đóng không

nằm trong 6, thi 6 này không chịu trách nhiệm về nó) Các tọa độ này được chuẩn

hóa để nằm trong khoảng 0 đến 1 Kích thước hộp (w, h) cũng được chuẩn hóa

thành [0, 1], liên quan đến kích thước hình ảnh Hãy xem một ví dụ như hình 2.6:

Trang 37

(0, 0] x = (220-149) / 149 = 0.48 y = (190-149) / 149 = 0.28 w = 224 / 448 = 0.50 h = 143 / 448 = 0.32 (447, 447)

Hình 2.6 V1 dụ về cách tính tọa độ ô trong anh 448x448 voi S = 3 if

Trang 38

Area of Overlap loU = Area of Union Hình 2.7 Công thức tính loU”

loU: 0.4034 loU: 0.7550 loU: 0.9264

Poor Good Excellent

Hình 2.8 Vi dụ kết quả loU tương quan đến vị trí khung quanh đổi tượng!" Như vậy tại mỗi ô sẽ dự đoán B khung bao quanh đối tượng với mỗi khung sẽ có 5 thành phần do đó số lượng khung cần dự đoán sẽ là S x S x B * 5

Đầu ra của mạng cũng phải chứa xác suất của các lớp Pr (Class (i) | Object) Đây là xác suất có điều kiện để xác định khả năng đối tượng tại ô này thuộc lớp nào Nó có nghĩa là nếu không có đối tượng nào xuất hiện trên ô , hàm mất sẽ

không phạt nó cho một dự đoán sai lớp Mạng chỉ dự đoán một tập hợp xác suất các

lớp cho mỗi ô, bất kế mỗi ô tồn tại B khung đóng Vì vậy tổng số xác suất cho các

18 Neuénhttps://www.pyimagesearch.com/wp-content/uploads/201 6/09/iou_equation.png 16 Neuén: https://www.pyimagesearch.com/wp-content/uploads/201 6/09/iou_examples.png

Trang 39

lớp là S x S x C Khi đó đầu ra của mạng là một tensor có kích thước S x S x (B * 5 +C) — Xa Yar Way My, Cy 2 box predictions Xa Yar Wa Ay, Cy Pr(Class,) | Object 3 class predictions Pr(Class;) | Object Pr(Class;) | Object Hình 2.9 Môi 6 sẽ dự đoán B=2 khung đóng và C=3 lớp!” ' + confidence score : I Œ, y,w,h) | +] (objectness+box) ' ' 1 confidence score _+— (x, y, W, h) | +] (objectness+box) ' ' ' car: 0.05 Ạ person: 0.10 1 truck : 0.02 cell(1, 1) ' uae EỀ n5 im ci9infSnisuf/nrivSuinSirSửA/SIE4nlS0® E107 000 1 ' ' | ' ' bã h cell(S, S) ' '

Hình 2.10 YOLO thực hiện SxŠ dự đoán với B khung đóng của đối tượng”?

17 Neuén: https://cdn-images-1.medium.com/max/1600/1*_GR3J6_Zkq8cl 8ugBhQZew png 18 Nguồn: hftps://cdn-images-1.medium.com/max/1000/1*OuMTUWo2rXYA-GYU63NUGw.jpeg

Trang 40

2.3.2 Kiến trúc của mô hình VOLO

Cấu trúc mạng trông giống như một CNN bình thường, với các lớp tích chập và max pooling, cuối cùng là hai lớp kết nối đầy đủ:

Bảng 2.1 Cấu trúc của một mạng YOLO

NAME FILTERS OUTPUT DIMENSION

CONV 1 7 x 7 x 64, stride=2 22A % 22A x 64 MAX POOL 1 2 x 2, stride=2 112 x 112 x 64 CONV 2 35x73) 192 112 x 112 x 192 MAX POOL 2 2 x 2, stride=2 56 x 56 x 192 CONV 3 1 x 1 x 128 56 x 56 x 128 CONV 4 3 Kk 3 x 256 56 x S6 x 256 CONV 5 1x x 256 56 X 56 x 256 CONV 6 1x 1 x&® 512 56 x 56 x 512

MAX POOL 3 2 x 2, stride=2 28 x 28 x S12

Ngày đăng: 11/01/2024, 22:48

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

TÀI LIỆU LIÊN QUAN

w