3 Mt s nghiên cu liên quan
Tải bản đầy đủ - 0trang
2. Bài toán phát hiện cảnh bạo lực trong video
dụng liên quan đến bạo lực như: lửa (fire), vũ khí nóng (firearms), vật dụng gây
sát thương (cold arms), rượt đuổi xe (car chases), cảnh chết chóc (gore), máu
(blood), đánh nhau (fights) [2]. Tuy nhiên, trong nghiên cứu này tác giả chỉ sử
dụng các đặc trưng handcraffed để biểu điễn các khái niệm thuộc tính.
Âm thanh cũng là một yếu tố quan trọng để phát hiện cảnh bạo lực trong
video, Mel-frequency Cepstral Coefcient (MFCC) là đặc trưng âm thanh thường
được các nhóm nghiên cứu sử dụng. Trong đó bằng việc sử dụng MFCC các
nhóm nghiên cứu đã giành giải nhất cuộc thi về phát hiện sự kiện trong video
(TRECVID Multimedia Event Detection 2010) [17],[18].
Hình 2.9: Một số loại đặc trưng hình ảnh và âm thanh
Hướng nghiên cứu giải quyết bài toán bằng cách kết hợp đa đặc trưng gần
đây cũng được nhiều nhóm nghiên cứu quan tâm. Trong nghiên cứu [19], tác giả
đã so sánh và đánh giá các loại đặc trưng trong đó bao gồm việc kết hợp đặc
trưng thị giác và âm thanh. Ngoài ra cách thức kết hợp các loại đặc trưng với
nhau cũng được quan tâm nghiên cứu. Các nghiên cứu [20], [21], [3] chỉ ra rằng
có hai hướng kết hợp đó là (1) Early fusion: kết hợp các loại đặc trưng trước làm
dữ liệu huấn luyện mơ hình, (2) Late fustion: tổng hợp từ kết quả của các mơ
hình được học từ các đặc trưng riêng rẽ. Trong q trình thực nghiệm, nhóm các
15
2. Bài tốn phát hiện cảnh bạo lực trong video
tác giả này cũng đưa ra các kết quả thực nghiệm cho thấy độ chính xác của Late
Fustion cao hơn so với Early Fusion.
Hình 2.10: Framework kết hợp các loại đặc trưng [3]
Như vậy, hầu hết các nghiên cứu trước đây đều sử dụng các loại đặc trưng
cấp thấp (lower feature), các đặc trưng này được đề xuất bởi các chuyên gia
(handcraffed)-mới chỉ biểu diễn thông tin ở cấp thấp – thông tin về cạnh trong
ảnh (only capture low-level edge information)[13]. Do đó các đặc trưng này chưa
thể hiện được mức ngữ nghĩa cũng như phức tạp của khái niệm bạo lực.
2.4
Kết chương
Bào toán phát hiện cảnh bạo lực là một trong những bài toán con trong lớp
các bài toán về phát hiện sự kiện trong video. Việc giải quyết các bài toán này
là tiền đề để xây dựng các ứng dụng có tính thực tế như các hệ thống phân tích,
giám sát, .... Các nghiên cứu trước đây thường chỉ tập trung vào việc sử dụng các
đặc trưng cấp thấp được các chuyên gia đề xuất mới chỉ biểu diễn thông tin ở cấp
thấp – thông tin về cạnh trong ảnh (only capture low-level edge information)[13],
các đặc trưng này chưa thể hiện rõ được hết tính phức tạp ngữ nghĩa của khái
niệm bạo lực. Các nghiên cứu và kết quả công bố trong các cuộc thi về nhận dạng
16
2. Bài toán phát hiện cảnh bạo lực trong video
và phân lớp ảnh gần đây cho thấy các đặc trưng được rút trích từ các thuật toán
Deep learning cho kết quả cao hơn so với các đặc trưng hand-craffed. Một trong
những đặc điểm nổi bật của của Deep learning là mơ hình hóa được đối tượng
cần học bằng cách tự học được các đặc trưng trực tiếp từ dữ liệu đầu vào theo
nhiều tầng, tầng sau khái quát hơn các tầng trước. Theo đó, nội dung chính của
luận văn sẽ tìm hiểu và nghiên cứu thuật toán DL và đề xuất áp dụng Dl vào
giải quyết bài toán VSD.
17
Chương 3
Tổng quan về Deep learning
Nội dung chính của chương tập trung vào việc hệ thống lại các kiến thức về
Deep learning(DL) và giới thiệu một số nghiên cứu liên quan đến việc áp dụng
DL trong các bài tốn về thị giác máy. Trong đó, phần 3.1 sẽ đề cập đến mạng
neural nhân tạo (Artificial Neural Network), đây cũng là kiến thức cơ sở sử dụng
cho việc giới thiệu về DL trong phần 3.2. Cho tới thời điểm thực hiện luận văn
này, thuật toán Convolutional Neural Networks (CNN) là thuật toán cho kết quả
tốt nhất trong bài toán phân lớp và nhận dạng ảnh, đây cũng là thuật toán được
học viên sử dụng trong luận văn của mình sẽ được giới thiệu chi tiết trong phần
3.3. Một số thư viện và framwork hỗ trợ DL thường được các nhóm nghiên cứu
sử dụng được đề cập đến trong phần 3.4. Cuối chương phần 3.5 sẽ trình bày một
số nghiên cứu liên quan đến việc sử dụng DL trong lĩnh vực thị giác máy.
3.1
Neural networks
Mạng neural nhân tạo (Artificial Neural Network : ANN), gọi tắt neural
network là mơ hình xử lý thông tin mô phỏng hoạt động của các hệ neural sinh
học mà cụ thể hơn ở đây là bộ não con người. Trong đó, thành phần cơ bản của
ANN là neural nhân tạo có cách thức hoạt động và xử lý tương tự neural sinh
học. ANN được hình thành từ số lượng lớn các neural được liên kết với nhau theo
cấu trúc từng tầng (layer), các neural kết nối với nhau giữa các tầng thông qua
trọng số liên kết (weight).
18
Chương 3.Tổng quan về Deep learning
3.1.1
Neural sinh học
Cách thức hoạt động của bộ não nói riêng và của hệ thần kinh nói chung đã
được con người quân tâm nghiên cứu từ rất lâu nhưng cho đến nay các nhà khoa
học vẫm chưa thực sự hiểu rõ chi tiết về hoạt động của bộ não và hệ thần kinh.
Đặc biệt là trong các hoạt động liên quan đến trí óc như suy nghĩ, học tập, tư
duy, trí nhớ, sáng tạo...Tuy nhiên, các nhà khoa học cũng có một số thơng tin
căn bản về bộ não con người. Theo đó, một bộ não con người trung bình cân
nặng khoảng 1,5kg và có thể tích là 235 cm3 , cấu tạo bộ não được chia ra làm
nhiều vùng khác nhau, mỗi vùng kiểm soát một hay nhiều hoạt động của con
người. Hoạt động của cả hệ thống thần kinh bao gồm não bộ và các giác quan
như sau: đầu tiên con người nhận được kích thích bởi các giác quan từ bên ngồi
hoặc trong cơ thể. Các kích thích này được biến thành các xung điện bởi chính
các giác quan tiếp nhận kích thích. Những tín hiệu này được chuyển về trung
ương thần kinh là bộ não để xử lý. Tại bộ não các thông tin sẽ được xử lý, đánh
giá và so sánh với các thông tin đã được lưu trữ để đưa ra các quyết định dưới
dạng các xung điện1 . Từ những quyết định từ bộ não sẽ sinh ra các mệnh lệnh
cần thiết và gửi đến những bộ phận thi hành thích hợp như các cơ tay, chân, giác
quan....
Hình 3.1: Minh họa bộ não con người
1
2
https://www.youtube.com/watch?v=Qm0cAqdjHGA
http://science-all.com/brain-coloring-page.html
19
2
Chương 3.Tổng quan về Deep learning
Khi xem xét ở mức độ tế bào thì bộ não được hình thành từ 1011 phần tử gọi
là nơ-ron (hay neural sinh học)1 . Mỗi neural được liên kết chặt chẽ với 104 neural
khác. Các neural này có nhiều đặc điểm chung với các tế bào khác trong cơ thể,
ngồi ra chúng có những khả năng mà các tế bào khác khơng có được đó là khả
năng nhận, xử lý và truyền các tín hiệu điện hóa làm cơ sở hình cách thức xử lý
thơng tin của bộ não. Hình 3.2 mơ tả cấu tạo và cách thức hoạt động của neural
sinh học, trong đó mỗi neural sinh học có 4 thành phần cơ bản:
• Thân neural (cell body) chứa nhân (nucleus) hay một số tài liệu gọi là soma
có nhiệm vụ chính là tổng hợp và xử lý các tín hiệu điện nhận vào từ các
đầu vào. Bản chất của q trình này chính là việc lấy tổng tất cả các tín
hiệu neural nhận được.
• Các nhánh tín hiệu vào (denrites) đây chính là các mạng dạng cây của các
dây thần kinh truyền tín hiệu vào đến thân neural.
• Sợi trục ra (axon) có chức năng truyền tín hiệu từ thân tế bào này sang
neural khác. Phần cuối của axon được chia thành nhiều nhánh nhỏ (cả của
denrites và axon) kết thúc tại khớp nối (Synapse).
• Khớp nối (Synapse) là điểm liên kết giữa sợi trục ra của neural này với các
nhánh denrites của neural khác. Liên kết giữa các neural và độ nhạy của
mỗi synapse được xác định bởi quá trình học phức tạp. Khi điện thế của
synapses tăng lên do xung điện phát ra từ axon thì synapses sẽ tiết ra một
loại hóa chất để kết nối mở ra cho các ion đi qua nó. Các ion này làm thay
đổi tín hiệu điện thế trên các điểm tiếp xúc tạo ra các xung điện lan truyền
tới các neural khác.
Một cách tổng quát neural sinh học hoạt động theo cách thức sau: neural nhận
tín hiệu đầu vào từ các denrites sau đó xử lý các tín hiệu này tại nhân neural mà
cụ thể hơn là lấy tổng tất cả các tín hiệu đầu vào mà nó nhận được sau đó phát
ra một tín hiệu điện thế; nếu tổng tất cả các tín hiệu điện lớn hơn một ngưỡng
cho phép nào đó thì xử lý và cho ra một tín hiệu đầu ra. Tín hiệu đầu ra này
1
1
https://www.khanacademy.org/science/biology/human-biology
http://katie-humanbio.blogspot.com/2008/04/overview-of-nervous-system.html
20
Chương 3.Tổng quan về Deep learning
Hình 3.2: Minh họa cấu tạo neural sinh học
1
được truyền qua axon và chính là tín hiệu đầu vào của một neural khác.Dựa trên
cấu trúc và cách thức hoạt động của neural sinh học, các nhà nghiên cứu đã đề
xuất mơ hình neural nhân tạo được trình bày chi tiết ở phần sau.
3.1.2
Neural nhân tạo
Một neural là một đơn vị xử lý thông tin và là thành phần cơ bản của một
mạng ANN. Cấu trúc của một neural được mơ tả trong hình 3.3.
Trong đó:
• Các giá trị đầu vào (x1 ,x2 , ...xN ). Trong quá trình thực nghiệm dữ liệu
này thường được đưa vào dưới dạng một véc tơ N chiều.
• Tập các liên kết: Có chức năng truyền thơng tin trong đó ứng với một
liên kết có một trọng số (hay trọng số liên kết là số thực biểu thị mức độ
quan trọng của liên kết với đầu ra -weight)Wk1 ,Wk2 ,.. WkN ,. Thông thường,
các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo
mạng và được cập nhật liên tục trong quá trình học mạng.
• Hàm kết hợp ak (combination function): Thường dùng để tính tổng của
tích các giá trị đầu vào với trọng số liên kết tương ứng của nó (vì thế một
số tài liệu là hàm tổng - summing function).
21
Chương 3.Tổng quan về Deep learning
Hình 3.3: Cấu trúc neural nhân tạo
N
ak =
Wki xi + bk
(3.1)
i=1
Với Wki là trọng số liên kết giữa của các neural đầu vào và bk là ngưỡng
hay độ lệch (bias).
• Hàm truyền f(.) (transfer function) hay hàm kích hoạt (active
function): Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi neural.
Nó nhận đầu vào là kết quả của hàm kết hợp và ngưỡng đã cho. Thông
thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc
[-1, 1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi
tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và
kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường sử dụng
trong các mô hình mạng nơron được đưa ra trong 3.1. Trong đó các nghiên
cứu trước đây thường sử dụng hàm sigmod, các nghiên cứu gần đây về DL
thường sử dụng hàm ReLu ra đời thường hay được sử dụng.
• Đầu ra yk : Là tín hiệu đầu ra của một neural.
22
Chương 3.Tổng quan về Deep learning
Bảng 3.1: Một số hàm truyền trong mạng neural
yk = f(ak )
(3.2)
Như vậy, tương tự như neural sinh học, neural nhân tạo cũng nhận các tín
hiệu đầu vào, xử lý ( nhân các tín hiệu này với trọng số liên kết, tính tổng các
tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra ( là kết
quả của hàm truyền).
23
Chương 3.Tổng quan về Deep learning
3.1.3
Mạng neural nhân tạo (Artificial Neural Networks)
Mạng neural nhân tạo là một mơ hình tính tốn gồm nhiều phần tử xử lý gọi
là neural được liên kết với nhau và cùng hoạt động song song. Tính năng hoạt
động của mạng phụ thuộc vào cấu trúc mạng, trọng số liên kết giữa các neural
và quá trình xử lý bên trong neural. Nguyên lý cấu tạo của một mạng bao gồm
một hoặc nhiều tầng (layer) hay lớp. Mỗi tầng bao gồm nhiều neural có cùng một
chức năng trong mạng1 . Dựa vào số tầng hay sự liên kết giữa các lớp trong mạng
mà người ta phân ANN thành các nhóm khác nhau.
Phân loại dựa theo số tầng
Dựa theo số tầng trong mạng thì ANN gồm hai loại: mạng một tầng và mạng
nhiều tầng
• Mạng một tầng: Mạng một tầng cấu thành từ một tầng neural, nó vừa
là tầng vào vừa là tầng ra.
Hình 3.4: Minh họa ANN một tầng
• Mạng nhiều tầng: Mạng nhiều tầng tổng quát có n tầng (n ≥ 2) : trong
đó gồm tầng nhận tín hiệu đầu vào được gọi tầng đầu vào (input). Các tín
hiệu đầu ra của mạng được sản sinh bởi tầng ra của mạng - tầng thứ n.
Các tầng nằm giữa tầng vào và tầng ra được gọi là tầng ẩn - có (n-1) tầng
ẩn (thơng thường tầng đầu tiên chỉ có tác dụng chuyển tín hiệu vào tầng
tiếp theo).
24
Chương 3.Tổng quan về Deep learning
Hình 3.5: Minh họa mạng nhiều tầng truyền thẳng
Phân loại theo cách thức liên kết
Dựa vào cách thức truyền dữ liệu giữa các thành phần trong mạng người ta
có thể chia ANN làm hai loại thường được sử dụng:
• Mạng truyền thẳng (feedforward neural networks): Dòng dữ liệu từ đơn
vị đầu vào đến đơn vị đầu ra chỉ được truyền thẳng. Việc xử lý dữ liệu có
thể trên nhiều lớp, nhưng khơng có những liên kết ngược. Cụ thể hơn là
khơng có các liên kết từ các neural từ các lớp đầu vào và các neural ở các
lớp đầu ra hay các neural trong cùng một lớp cũng khơng có liên kết với
nhau (3.5 minh họa lớp truyền thẳng n lớp).
• Mạng hồi quy(recurrent neural network): Khác với mạng truyền thẳng,
mạng hồi quy chứa các liên kết ngược - có sự kết nối giữa neural đầu ra
với neural đầu vào. Mạng lưu lại các trạng thái trước đó, và trạng thái tiếp
theo khơng chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vào
các trạng thái trước đó của mạng, hình 3.6 minh họa một mạng hồi quy.
Hoạt động của ANN có thể mơ tả một cách cụ thể như sau: tại tầng đầu vào
các neural sẽ nhận tín hiệu và xử lý (tính tổng trọng số, gửi thông tin tới hàm
truyền) rồi cho kết quả (là kết quả thơng qua hàm kích hoạt). Kết quả này sẽ
1
http://neuralnetworksanddeeplearning.com/
25