1. Trang chủ
  2. » Công Nghệ Thông Tin

Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)

66 1,1K 5

Đ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 đề Mạng nơ-ron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn
Tác giả Lê Thị Lệ Duyên
Người hướng dẫn TS. Nguyễn Văn Thủy
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Hệ thống thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2017
Thành phố Hà Nội
Định dạng
Số trang 66
Dung lượng 2,93 MB

Nội dung

Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)

Trang 1

LÊ THỊ LỆ DUYÊN

MẠNG NƠ-RON TÍCH CHẬP VÀ ỨNG DỤNG GIẢI BÀI TOÁN NHẬN DẠNG HÀNH ĐỘNG

TRONG MỘT ĐOẠN VIDEO NGẮN

LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI – 2017

Trang 2

LÊ THỊ LỆ DUYÊN

MẠNG NƠ-RON TÍCH CHẬP VÀ ỨNG DỤNG GIẢI BÀI TOÁN NHẬN DẠNG HÀNH ĐỘNG

TRONG MỘT ĐOẠN VIDEO NGẮN

Chuyên ngành: HỆ THỐNG THÔNG TIN

Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC : TS NGUYỄN VĂN THỦY

HÀ NỘI – 2017

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn tận tình của thầy giáo TS Nguyễn Văn Thủy Nội dung của luận văn có tham khảo và sử dụng một số thông tin, tài liệu từ các nguồn sách, tạp chí, bài giảng được liệt kê trong danh mục các tài liệu tham khảo và được trích dẫn hợp pháp

Hà Nội, tháng 5 năm 2017

Tác giả luận văn

Lê Thị Lệ Duyên

Trang 4

LỜI CẢM ƠN

Để hoàn thành luận văn tốt nghiệp này, ngoài sự cố gắng, nỗ lực của bản thân, em xin gửi lời cảm ơn chân thành nhất tới Thầy giáo hướng dẫn TS Nguyễn Văn Thủy, người trực tiếp hướng dẫn, chỉ bảo, định hướng và giúp đỡ em hết mực tận tình trong suốt quá trình làm luận văn tốt nghiệp

Em cũng xin chân thành cảm ơn các Thầy, Cô trong Học viện Công nghệ Bưu chính Viễn thông, đặc biệt các Thầy Cô khoa Công nghệ thông tin, khoa Quốc

tế & Đào tạo Sau đại học đã trực tiếp giảng dạy, truyền đạt cho em nhiều kiến thức quý báu cho hoạt động công tác thực tiễn của bản thân cũng như đúc kết kiến thức vào bài luận văn này

Cuối cùng xin gửi lời cảm ơn chân thành đến Ba Mẹ, Anh Chị Em lớp M15CQIS02-B cùng tất cả những người thân và bạn bè, những người đã giành những gì tốt đẹp nhất và luôn là nguồn động lực giúp em vượt qua khó khăn và cố gắng trong suốt quá trình học tập cũng như thời gian hoàn thiện luận văn tốt nghiệp

để em có được đến ngày hôm nay

Mặc dù đã rất cố gắng hoàn thành luận văn, nhưng với thời gian và khả năng

có hạn, nên luận văn không thể tránh khỏi những thiếu sót, hạn chế Kính mong nhận được sự cảm thông cùng những ý kiến góp ý của quý Thầy, Cô và bạn bè để

em khắc phục được những lỗ hổng kiến thức và bài luận văn tốt nghiệp của Em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Hà Nội, tháng 5 năm 2017

Học viên

Lê Thị Lệ Duyên

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v

DANH MỤC CÁC HÌNH VẼ vi

DANH MỤC CÁC BẢNG viii

MỞ ĐẦU 1

CHƯƠNG 1 NGHIÊN CỨU MẠNG NƠ-RON VÀ MẠNG NƠ-RON TÍCH CHẬP 2

1.1 Mạng nơ-ron 2

1.1.1 Giới thiệu 2

1.1.2 Kiến trúc mạng nơ-ron 2

1.1.3 Các tham số chính 3

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

1.2.1 Kiến trúc chung mạng nơ-ron tích chập 6

1.2.2 Các phân lớp chính 8

1.2.3 Nguyên lý hoạt động của một mạng nơ-ron tích chập điển hình 11

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

CHƯƠNG 2 BÀI TOÁN NHẬN DẠNG HÀNH ĐỘNG TRONG VIDEO 13

2.1 Giới thiệu bài toán 13

2.2 Một số khái niệm 13

2.2.1 Cấu trúc Video 13

2.2.2 Key - frame 14

2.2.3 Phân đoạn ảnh trong video 15

2.3 Các phương pháp tiền xử lý dữ liệu cho bài toán nhận dạng 16

2.3.1 Trừ giá trị trung bình 17

2.3.2 Tiêu chuẩn hóa dữ liệu 17

2.3.3 Phân tích thành phần chính (PCA) và quá trình làm trắng (whitening) dữ liệu 18

2.4 Phương pháp Space-time Interest Points (STIP) 21

2.4.1 Phát hiện điểm quan tâm 23

2.4.2 Phân lớp các sự kiện 25

2.4.3 Ứng dụng vào diễn tả video 27

Trang 6

2.4.4 Kết luận về phương pháp STIP 28

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

CHƯƠNG 3 ỨNG DỤNG BÀI TOÁN NƠ-RON TÍCH CHẬP CHO NHẬN DẠNG HÀNH ĐỘNG 30

3.1 Giới thiệu tập dữ liệu 30

3.1.1 Tóm tắt 30

3.1.2 Chi tiết dữ liệu 30

3.2 Mạng nơ-ron tích chập nghiên cứu 34

3.2.1 Nguyên lý hoạt động 34

3.2.2 Tham số tối ưu 36

3.3 Kết quả nhận dạng 37

3.4 Chương trình ứng dụng cho bài toán nhận dạng hành động 39

3.4.1 Lựa chọn nền tảng phát triển 39

3.4.2 Thành phần giao diện chương trình ứng dụng 39

3.5 Kết luận chương 45

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

DANH MỤC TÀI LIỆU THAM KHẢO 47

PHỤ LỤC 1 : GIỚI THIỆU PHẦN MỀM CAFFE 49

PHỤ LỤC 2: HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM CAFFE 51

PHỤ LỤC 3: CÁCH CẤU HÌNH MẠNG NƠ-RON TÍCH CHẬP DÙNG CÔNG CỤ CAFFE 53

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Viết tắt Tiếng Anh Tiếng Việt

ANN Artificial Neural Network Mạng nơ-ron hay mạng nơ-ron

nhân tạo BVLC

Berkeley Vision and Learning Center

Trung tâm học tập và tầm nhìn Berkeley

CNNs Convolutional Neural Network Mạng nơ-ron tích chập

CNN-3D ConvNets 3 dimensional Mạng nơ-ron tích chập 3 chiều CUDA Compute Unified Device

Architecture

Kiến trúc thiết bị tính toán hợp nhất

CPU Central Processing Unit Bộ xử lý trung tâm

FC Fully Connected Lớp kết nối đầy đủ

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

IDT Improving dense trajectories Quỹ đạo dày đặc

MBH Motion Boundary Histogram Biểu đồ vùng chuyển động PCA Principal Component Analysis Phân tích thành phần chính

PE Processing Elements Thành phần xử lý (nơ-ron)

STIP Space-time Interest Points Điểm quan tâm không gian-thời

gianRELU Rectified Linear Unit Lớp chuyển đổi

SVM Support vector machine Máy hỗ trợ vecto

Trang 8

1-7 Tính toán với phương pháp Maxpooling 10 1-8 Nguyên lý hoạt động của một mạng nơ-ron tích chập 11

2-5 Minh họa bài toán biến đổi với các hình ảnh CIFAR-10 20

2-6

Kết quả của việc phát hiện điểm quan tâm không gian-thời

gian nhất trong một dãy bóng đá khi cầu thủ đánh đầu quả

2-7 Điểm quan tâm không gian-thời gian đối với chuyển động của

2-8 Điểm quan tâm cho một dãy với động tác vẫy tay 24

2-9 Các điểm quan tâm được phát hiện đối với dãy của những

2-10 Các láng giềng không gian – thời gian nội vùng của các điểm

quan tâm tương ứng với bốn cụm cluster cư trú nhiều nhất 26 2-11 Sự phối chọn các chức năng dữ liệu không gian – thời gian với

Trang 9

3-1 Các khung mẫu cho 6 lớp hành động của UCF101 30

3-3

Số lượng clip cho mỗi lớp hành động Việc phân phối thời

lượng clip được minh họa bởi các màu sắc 33 3-4 Kiến trúc hoạt động của mạng nơ-ron tích chập nghiên cứu 34 3-5 Cấu trúc mạng nơ-ron tích chập 3 chiều (CNN-3D) 35 3-6 Tìm kiếm tham số thời gian cho mạng 3D 37 3-7 Giao diện chạy chương trình XAMPP trên Ubuntu 39 3-8 Giao diện chạy chương trình mạng nơ-ron tích chập 3D 40 3-9 Giao diện chính của chương trình ứng dụng 41 3-10 Giao diện truy nhập vào chương trình nhận dạng 41 3-11 Giao diện ban đầu của chương trình nhận dạng hành động 42 3-12 Giao diện chọn tải video hành động Biking để nhận dạng 42 3-13 Giao diện nhận dạng hành động Biking 43

Trang 10

DANH MỤC CÁC BẢNG

Số hiệu bảng Tên bảng Trang

Trang 11

MỞ ĐẦU

Đa phương tiện trên Internet đã và đang phát triển nhanh chóng dẫn đến số lượng những video được chia sẻ mỗi phút ngày càng tăng Bản chất của video là một thông tin phương thức truyền thông đặc biệt với nhiều loại tin tức và có can nhiễu phức tạp, ví dụ như chuyển động máy ảnh, hình nền hỗn độn, hoặc điều kiện chiếu sáng khác nhau v.v Với sự bùng nổ thông tin, việc hiểu và phân tích những đoạn video này cho các mục đích khác nhau như tìm kiếm, giới thiệu, xếp hạng v.v

là cần thiết Bài toán nhận dạng hành động trong video là một trong những bài toán

cơ bản của thị giác máy tính với nhiều ứng dụng khác nhau như giám sát, lập mối quan hệ, phục hồi, đến tương tác giữa con người và máy tính

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 hệ thống xử lý ảnh 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 diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động Bài toán nhận dạng hoạt động video là bài toán khó đã được nghiên cứu từ lâu, nhưng gần đây mới có nhiều kết quả khả quan do sự phát triển mạnh mẽ của công nghệ Đặc biệt, các thao tác video quy mô lớn cũng là vấn đề mang tính cấp thiết hiện nay

Có nhiều phương pháp được sử dụng để nhận dạng hành động trong video, trong đó Convolutional Neural Network (CNNs – Mạng 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 Được sự hướng dẫn tận tình của thầy giáo TS Nguyễn Văn Thủy và với mong muốn học một công nghệ nhận dạng hành động mới, đồng thời có ứng dụng thực tiễn trong nghành công tác

của bản thân Em đã mạnh dạn chọn đề tài “Mạng nơ-ron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn” để nghiên cứu

Với phương pháp này, tôi kỳ vọng sẽ đạt kết quả tốt hơn các nghiên cứu trước đây Nội dung bài luận văn bao gồm 3 chương:

Chương 1: Nghiên cứu mạng nơ-ron và mạng nơ-ron tích chập

Chương 2: Bài toán nhận dạng hành động trong video

Chương 3: Ứng dụng bài toán nơ-ron tích chập cho nhận dạng hành động

Trang 12

CHƯƠNG 1 NGHIÊN CỨU MẠNG NƠ-RON VÀ MẠNG

NƠ-RON TÍCH CHẬP 1.1 Mạng nơ-ron

1.1.1 Giới thiệu

Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN), gọi tắt là mạng ron, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơ-ron sinh học Nó được tạo lên từ một số lượng lớn các phần tử (gọi là nơ-ron) kết nối với nhau thông qua các liên kết (trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó Một mạng nơ-ron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơ-ron sao cho giá trị hàm lỗi là nhỏ nhất

nơ-1.1.2 Kiến trúc mạng nơ-ron

Kiến trúc mạng nơ-ron là tập hợp các nơ-ron được kết nối trong một đồ thị không tuần hoàn Các đầu ra của một số nơ-ron có thể trở thành đầu vào của các nơ-ron khác Mô hình mạng nơ-ron thường được tổ chức thành các lớp nơ-ron riêng biệt Đối với các mạng nơ-ron tiêu chuẩn, loại lớp phổ biến nhất là lớp kết nối đầy

đủ (FC - Fully Connected), trong đó các nơ-ron giữa hai lớp gần kề được kết nối hoàn toàn theo từng cặp, nhưng các nơ-ron trong một lớp đơn không được kết nối Hình 1-1 dưới đây là hai mạng nơ-ron hình học hai lớp và ba lớp:

Hình 1-1 Hai mạng nơ-ron hình học [23]

Trang 13

Trong hình 1-1, bên trái là một mạng nơ-ron 2 lớp (một lớp ẩn với 4 nơ-ron

và một lớp đầu ra với 2 nơ-ron), và ba đầu vào còn bên phải là một mạng nơ-ron 3 lớp với ba đầu vào, hai lớp ẩn với 4 nơ-ron trên từng lớp và một lớp đầu ra

Hình 1-2: Ví dụ kiến trúc tổng quát của mạng nơ-ron nhân tạo (Artificial

Neural Network - ANN) [21]

Kiến trúc chi tiết của mạng nơ-ron được mô tả như hình 1-2, trong đó

Processing Elements (PE) của ANN gọi là nơ-ron, mỗi nơ-ron nhận các dữ liệu vào

xử lý chúng và cho ra một kết quả ra duy nhất Kết quả xử lý của một nơ-ron có thể làm đầu vào cho các nơ-ron khác

Kiến trúc chung của một ANN gồm 3 thành phần đó là lớp đầu vào (Input

Layer), lớp ẩn (Hidden Layer) và lớp đầu ra (Output Layer) (xem hình 1-1, 1-2)

Trong đó, lớp ẩn (Hidden Layer) gồm các nơ-ron, nhận dữ liệu input từ các nơ-ron

ở lớp trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo, trong một ANN có thể có nhiều Hidden Layer

1.1.3 Các tham số chính

Hình 1-3: Sơ đồ truyền tín hiệu của các tham số mạng nơ-ron [21]

Trang 14

Inputs: Là các tín hiệu vào của nơ-ron, mỗi đầu vào tương ứng với 1 thuộc

tính (attribute) của dữ liệu (patterns) Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi đầu vào là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con,…

Output: Là tín hiệu đầu ra của một nơ-ron, với mỗi nơ-ron sẽ có tối đa là

một đầu ra Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes (cho vay) hoặc no (không cho vay)

Connection Weights (Trọng số liên kết) : Đây là thành phần rất quan trọng

của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ Layer này sang layer khác) Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số (Weight) của các input data để có được kết quả mong muốn

Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input

được đưa vào mỗi nơ-ron (phần tử xử lý PE) Hàm tổng của một nơ-ron đối với n input được tính theo công thức (1) sau:

Trang 15

nơ-Hình 1-4: Hàm tổng của một nơ-ron và nhiều nơ-ron [21]

Transformation (Transfer) Function (Hàm chuyển đổi): dùng để giới hạn

phạm vi đầu ra của mỗi nơ-ron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng

Việc lựa chọn Transfer Function có tác động lớn đến kết quả của ANN Hàm chuyển đổi phi tuyến được sử dụng phổ biến trong ANN là sigmoid (logical activation) function

(3)

Công thức (3) mô tả hàm chuyển đổi phi tuyến, trong đó :

Trang 16

YT: Hàm chuyển đổi

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

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 hệ thống xử lý ảnh lớn như Google, Facebook, 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 diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động

Convolutional Neural Network (CNNs – Mạng 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

Mạng nơ-ron tích chập tương tự như mạng nơ-ron được giới thiệu trong các phần trước, chúng được tạo thành từ các nơ-ron có trọng số và sai số Mỗi một nơ-ron nhận một số đầu vào, thực hiện nhân chập và tùy chọn sau đó với một hàm phi tuyến tính Mạng nơ-ron tích chập được áp dụng khá nhiều trong các bài toán nhận dạng như nhận dạng vật thể trong ảnh, nhận dạng chữ viết tay (chuyển đổi chữ viết trong hình ảnh thành văn bản thô trong máy tính), nhận dạng vật thể 3D, xử lý tiếng nói, xử lý ngôn ngữ tự nhiên, … với độ chính xác cao

1.2.1 Kiến trúc chung mạng nơ-ron tích chập

Mô hình mạng nơ-ron tích chập ra đời đã được áp dụng nhiều trong các bài toán nhận dạng Mạng nơ-ron truyền thống không cho kết quả tốt đối với các dữ

Trang 17

liệu như hình ảnh Chính sự liên kết đầy đủ các node mạng với nhau tạo nên những hạn chế cho mô hình mạng nơ-ron truyền thống Một sự khó khăn khác là dữ liệu hình ảnh có kích thước khá lớn, ví dụ một tấm ảnh xám có kích thước 32×32 (pixels) sẽ cho ra vector đặc trưng có 1024 chiều, còn đối với ảnh màu cùng kích thước sẽ là 32x32x32 (3072) chiều Điều này cũng có nghĩa là cần tới 3072 trọng số nối giữa lớp vào và một node ở lớp ẩn kế tiếp Số lượng trọng số sẽ càng nhân rộng hơn nữa nếu số lượng node trong lớp ẩn tăng lên Như vậy chỉ với một bức ảnh nhỏ (32×32) thì cũng cần đến một mô hình khá đồ sộ Điều này khiến cho việc thao tác với các ảnh có kích thước lớn hơn trở nên khó khăn

Một điều nữa là việc liên kết một cách đầy đủ các điểm ảnh vào một node trong mạng có vẻ là dư thừa vì sự phụ thuộc lẫn nhau giữa các điểm ảnh xa nhau là không nhiều mà chủ yếu là sự phụ thuộc giữa các điểm lân cận với nó Dựa trên tư tưởng này mạng nơ-ron tích chập (Convolutional Neural Network - CNNs) ra đời với một kiến trúc khác so mới mạng truyền thống Thay vì toàn bộ ảnh nối với một node thì chỉ có một phần cục bộ trong ảnh nối đến một node trong lớp tiếp theo Dữ liệu hình ảnh thông qua các lớp của mô hình này sẽ được “học” ra các đặc trưng để tiến hành phân lớp một cách hiệu quả

Về cơ bản mô hình mạng nơ-ron tích chập bao gồm các lớp sau: lớp

Convolutional, lớp chuyển đổi (RELU - Rectified Linear Unit), lớp Pooling, lớp

Fully Connected Sự sắp xếp về số lượng và thứ tự giữa các lớp này sẽ tạo ra những

mô hình khác nhau phù hợp cho các bài toán khác nhau

Hình 1-5: Kiến trúc hoạt động của mạng nơ-ron tích chập [23]

Mô hình mạng CNNs với các lớp như trên được mô tả ở hình 1-5 Trong hình này, đầu vào là hình ảnh một chiếc thuyền, sau khi qua các lớp cho kết quả đầu

Trang 18

ra là véc tơ ứng với nhãn hành động tương ứng Ở đây nhãn đầu ra có giá trị cao nhất là boat (0.94) chính là hình ảnh thuyền

1.2.2 Các phân lớp chính

1.2.2.1 Lớp Convolutional

Lớp này chính là nơi thể hiện tư tưởng ban đầu của mạng nơ-ron tích chập Thay vì kết nối toàn bộ điểm ảnh, lớp này sẽ sử dụng một bộ các bộ lọc (filters) có kích thước nhỏ so với ảnh (thường là 3×3 hoặc 5×5) áp vào một vùng trong ảnh và tiến hành tính tích chập giữa bộ filter và giá trị điểm ảnh trong vùng cục bộ đó Bộ filter sẽ lần lượt được dịch chuyển theo bước trượt (stride) chạy dọc theo ảnh và quét toàn bộ ảnh

Hình 1-6: Tính tích chập với bộ lọc (filter) [20]

Xét ví dụ trình bày ở hình 1-6 với một bức ảnh 32×32 và một filter 3×3, ta sẽ

có kết quả là một tấm ảnh mới có kích thước 32×32 (với điều kiện đã thêm padding vào ảnh gốc để tính tích chập cho các trường hợp filter quét ra các biên cạnh) là kết quả tích chập của filter và ảnh Với bao nhiêu filter trong lớp này thì ta sẽ có bấy

Trang 19

nhiêu lớp ảnh tương ứng mà lớp này trả ra và được truyền vào lớp tiếp theo Các trọng số của filter ban đầu sẽ được khởi tạo ngẫu nhiên và sẽ được học dần trong quá trình huấn luyện mô hình

1.2.2.2 Lớp chuyển đổi RELU – Rectified Linear Unit

Lớp này thường được cài đặt ngay sau lớp Convolutional và sử dụng hàm kích hoạt giá trị cực đại và f(x) = max(0,x) Nói một cách đơn giản, lớp này có nhiệm vụ chuyển toàn bộ giá trị âm trong kết quả lấy từ lớp Convolutional thành giá trị 0 Ý nghĩa của cách cài đặt này chính là tạo nên tính phi tuyến cho mô hình Có rất nhiều cách để khiến mô hình trở nên phi tuyến như sử dụng các hàm kích hoạt sigmoid, tanh, … nhưng hàm f(x) = max(0,x) dễ cài đặt, tính toán nhanh, hiệu quả

và được sử dụng rộng rãi

1.2.2.3 Lớp Pooling

Lớp này sử dụng một cửa sổ trượt quét qua toàn bộ ảnh dữ liệu, mỗi lần trượt theo một bước trượt (stride) cho trước Khác với lớp Convolutional, lớp Pooling không tính tích chập mà tiến hành lấy mẫu (subsampling) Khi cửa sổ trượt trên ảnh, chỉ có một giá trị được xem là giá trị đại diện cho thông tin ảnh tại vùng đó (giá trị mẫu) được giữ lại Các phương thức lấy phổ biến trong lớp Pooling là 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)

Nguyên lý hoạt động của lớp Pooling được mô tả trong hình 1-7 Xét một ảnh có kích thước 32×32 và lớp Pooling sử dụng filter có kích thước 2×2 với bước trượt stride = 2, phương pháp sử dụng là MaxPooling Filter sẽ lần lượt duyệt qua ảnh, với mỗi lần duyệt chỉ có giá trị lớn nhất trong 4 giá trị nằm trong vùng cửa sổ 2×2 của filter được giữ lại và đưa ra đầu ra Như vậy sau khi qua lớp Pooling, ảnh

sẽ giảm kích thước xuống còn 16×16 (kích thước mỗi chiều giảm 2 lần)

Trang 20

Hình 1-7: Tính toán với phương pháp MaxPooling [20]

Lớp Pooling có vai trò giảm kích thước dữ liệu Với một bức ảnh kích thước lớn qua nhiều lớp Pooling sẽ được thu nhỏ lại tuy nhiên vẫn giữ được những đặc trưng cần cho việc nhận dạng (thông qua cách lấy mẫu) Việc giảm kích thước dữ liệu sẽ làm giảm lượng tham số, tăng hiệu quả tính toán và góp phần kiểm soát hiện tượng overfitting

1.2.2.4 Lớp FC – Fully Connected

Lớp này tương tự với lớp trong mạng nơ-ron truyền thống, các giá trị ảnh được liên kết đầy đủ vào node trong lớp tiếp theo Sau khi ảnh được xử lý và rút trích đặc trưng từ các lớp trước đó, dữ liệu ảnh sẽ không còn quá lớn so với mô hình truyền thống nên ta có thể sử dụng mô hình truyền thống để tiến hành nhận dạng Tóm lại, lớp fully-connected đóng vai trò như một mô hình phân lớp và tiến hành dựa trên dữ liệu đã được xử lý ở các lớp trước đó

Trang 21

1.2.3 Nguyên lý hoạt động của một mạng nơ-ron tích chập điển hình

Hình 1-8: Nguyên lý hoạt động của 1 mạng nơ-ron tích chập [19]

Một mạng nơ-ron tích chập được hình thành bằng cách ghép các lớp: lớp

Convolutional, lớp chuyển đổi (RELU- Rectified Linear Unit), lớp Pooling, lớp

Fully Connected lại với nhau Hình 1-8 trình bày kiến trúc mạng nơ-ron tích chập cho bài toán nhận dạng chữ Mô hình bắt đầu với lớp Convolutional Lớp RELU thường luôn được cài đặt ngay sau lớp Convolutional hoặc thậm chí kết hợp cả hai lớp này thành một lớp Các lớp tiếp theo có thể là Convolutional hay Pooling(Subsampling) tùy theo kiến trúc mà ta muốn xây dựng Cuối cùng sẽ là lớp fully-connected để tiến hành phân lớp Để xem mô hình này hoạt động như thế nào

ta có thể xét một kiến trúc sau đây:

Conv1 (with RELU) – Pooling – Conv2 (with RELU) – Pooling – FC Lấy một hình ảnh đầu vào cần nhận dạng có kích thước 32×32 như sau:

Ảnh đầu ra của lớp Convolution và lớp Pooling được áp dụng tính theo công thức:

+ Lớp Convolution: Input: NxN; FxF: kích thước bộ lọc; S: bước trượt cho ra

ma trận đầu ra có kích thước Output= [(N-F)/S+1]

Trang 22

+ Lớp Pooling: ảnh Input đầu vào kích thước: W1 x H1 x D1; FxF: kích thước

bộ lọc; S: bước trượt cho ra đầu ra Output: W2 x H2 x D2 với W2 = {[(W1 - F)/S]+1};

H2 = {[H1 - F)/S]+1}; D2 = D1

Hình ảnh sẽ được đưa vào lớp Conv1 (Convolutional kết hợp RELU) với bộ lọc (filter) có kích thước 5x5, áp dụng bước trượt 2, mỗi filter sẽ được dùng để tính tích chập với ảnh và cho ra một ảnh kết quả tương ứng là C1 có kích thước 28x28

Mỗi ảnh trên đều có kích thước tương ứng là 28x28 Sau đó, cả 28 ảnh này đều được cho qua lớp Pooling, sử dụng bộ lọc kích thước 2x2, bước trượt 2 ta được kết quả đầu ra sẽ là S2 ảnh có kích thước 14x14

Tiếp tục dữ liệu sẽ đi vào lớp Conv2 Tương tự như Conv1, ảnh sẽ được tính tích chập với filter và trả ra kết quả ảnh đầu ra C2 có kích thước 10x10 Lớp Pooling tiếp theo sẽ tiếp tục giảm kích thước của ảnh xuống còn 5x5 Với kích thước đủ nhỏ như vậy, lớp Fully-connected tiếp theo sẽ xử lý và đưa ra kết quả phân lớp hay kết quả nhận dạng

1.3 Kết luận chương

Chương này tôi đã nghiên cứu và trình bày tổng quan về mạng nơ-ron và mạng nơ-ron tích chập bao gồm định nghĩa, kiến trúc, các tham số hay các phân lớp chính, nguyên lý hoạt động… của mạng

Trang 23

CHƯƠNG 2 BÀI TOÁN NHẬN DẠNG HÀNH ĐỘNG

TRONG VIDEO 2.1 Giới thiệu bài toán

Trong nhiều thập kỷ qua, video đã được nghiên cứu bởi cộng đồng dùng máy tính với nhiều vấn đề khác nhau như nhận dạng hành động, phục hồi video, phát hiện bất thường… Nhận dạng hành động trong video là một trong những vấn đề cơ bản của thị giác máy tính trong một diện ứng dụng rộng, xếp loại từ giám sát, lập mối quan hệ và phục hồi, đến tương tác con người và máy tính

Tuy nhiên, video là một thông tin phương thức truyền thông sâu sắc với nhiều loại và bản chất phức tạp, ví dụ, phương sai trong lớp gây ra bởi chuyển động máy ảnh, hình nền hỗn độn, điều kiện chiếu sáng và v.v Một video được mô tả bởi một cấu trúc cấp bậc với nhiều cấp, bao gồm từ nhỏ đến lớn, một khung hình đơn, những khung hình liên tiếp (chuyển động), một đoạn clip ngắn, và toàn bộ video

Do đó, bài toán nhận dạng hành động trong video là một bài toán khó, đã thu hút sự chú ý của các nghiên cứu sâu Có rất nhiều phương pháp nhận dạng hành động trong video, trong chương này, tôi tìm hiểu một số khái niệm như cấu trúc của video, phân đoạn ảnh trong video… và một phương pháp nhận dạng hành động trong video tiêu biểu là phương pháp Space-time Interest Points (STIP)

2.2 Một số khái niệm

2.2.1 Cấu trúc Video

Video được cấu thành từ một tập liên tiếp các khung hình - frame, còn được gọi là ảnh, ghi nhận lại các hình ảnh quan sát được của các sự kiện xảy ra trong một khoảng thời gian Có hai dạng tín hiệu video thông dụng là: tín hiệu tuần tự (analog)

và tín hiệu video số (digital)

Mô hình cấu trúc một chuỗi video bao gồm các thành phần sau (Hình 2 - 1):

• Frame - khung hình là thành phần cơ bản trong chuỗi video Mỗi khung hình tương ứng với một ảnh trong thế giới thực tại một thời điểm xác định

Trang 24

• Shot là một dãy các khung hình liên tiếp được camera ghi nhận không có sự ngắt quãng nào xảy ra Shot là một đơn vị cơ bản để xây dựng phân tích nội dung video

• Các shot liên tiếp nhau được kết hợp lại thành một cảnh (scene) dựa trên nội dung

• Tất cả các scene tạo thành một chuỗi video

Hình 2 - 1: Mô hình cấu trúc của video [18]

2.2.2 Key - frame

Key - frame là một đặc trưng tóm tắt được dùng để mô tả nội dung nổi bật, chính yếu của một chuỗi video, nó được xem như là một đại diện của một chuỗi những khung hình liên tục trong một thời gian của video Các frame khác và key - frame có sự khác nhau nhỏ hơn một ngưỡng cho trước Việc truy xuất và chỉ mục hóa video thường rất hay sử dụng key - frame vì nó có khả năng giảm được một lượng dữ liệu lớn trùng lặp trong video

Có nhiều phương pháp xác định key - frame khác nhau, nhưng chúng tựu chung dựa trên sự so sánh ảnh của từng cặp khung hình

Trang 25

2.2.3 Phân đoạn ảnh trong video

Có rất nhiều khái niệm khác nhau về phân đoạn video Tổng quát, phân đoạn video là một quá trình chia một chuỗi các khung hình thành các vùng ngữ nghĩa sao cho mỗi vùng có thể được xem như một đối tượng ngữ nghĩa độc lập

Hình 2 - 2: Minh họa kết quả phân đoạn video [18]

Có hai hình thức phân đoạn video là phân đoạn theo thời gian và phân đoạn theo không gian Mục đích của phân đoạn theo thời gian là để xác định các vùng trong khung hình mà ở đó xảy ra sự di chuyển của các đối tượng Phân đoạn theo không gian mục đích là để chia khung hình thành các vùng ngữ nghĩa theo một tiêu chuẩn cho trước Một vài đặc trưng thông dụng được sử dụng để đưa ra các tiêu chuẩn trong phân đoạn theo không gian như sự di chuyển, màu sắc, kết cấu, các tính chất hình học Các đặc trưng khác nhau và chuẩn đồng nhất khác nhau dẫn đến kết quả khác nhau trên cùng một dữ liệu Chẳng hạn, phân đoạn dựa trên màu, phân đoạn dựa trên cấu trúc, phân đoạn dựa trên sự di chuyển thường có kết quả các bản

đồ phân đoạn khác nhau

• Phân đoạn dựa trên màu sử dụng bản đồ màu hoặc các kĩ thuật phân tích đặc trưng trong không gian màu để chia khung hình thành các vùng đồng nhất về màu Tiếp theo là quá trình trộn vùng dựa trên thông tin di chuyển từ sự ước lượng

di chuyển

• Phân đoạn di chuyển (hay còn được gọi là phân đoạn dòng sáng) là phương pháp phân đoạn bằng cách phân lớp các điểm ảnh trong mỗi khung hình

Trang 26

thành các nhóm sao cho các điểm ảnh thuộc cùng một nhóm sẽ có sự di chuyển giống nhau Những nhóm này có thể có hoặc không có ngữ nghĩa Sau đó, các nhóm này được trộn lại dựa trên thông tin di chuyển có được từ thao tác ước lượng di chuyển

• Ước lượng di chuyển (motion estimation) là quá trình xác định mức độ di chuyển của các điểm ảnh trong khung hình

• Phát hiện sự di chuyển (motion detection) là quá trình xác định các điểm ảnh có sự di chuyển bề mặt So với phân đoạn dựa trên sự di chuyển, phát hiện di chuyển xác định các đường biên tốt hơn và chi phí tính toán thấp hơn

• Phát hiện sự thay đổi (change dectection) là một công cụ phân đoạn theo thời gian nhằm mục đích xác định các thay đổi trong một tập hay một chuỗi ảnh tại hai thời điểm khác nhau

• Kết hợp các phương pháp trên để thống kê được hình nền tĩnh của khung cảnh Từ đó sẽ dễ dàng nhận ra được các đối tượng chuyển động Phương pháp này dựa trên một ý tưởng đơn giản là một phân đoạn ảnh ở trong trạng thái tĩnh trong một khoảng thời gian đủ lâu, thì sẽ được xem như là thành phần của hình nền

• Thông tin di chuyển là một trong những thành phần chính, là đặc trưng quan trọng được sử dụng để phân đoạn video Lý do là:

o Sự di chuyển mang nhiều thông tin về các mối quan hệ không gian - thời gian giữa các đối tượng trong khung hình

o Các tính chất ảnh như cường độ và màu, có một sự tương quan rất cao theo hướng di chuyển, chúng không thay đổi nhiều khi được theo dõi trong cảnh (ví

dụ màu của chiếc xe không thay đổi khi nó di chuyển qua cảnh), và được dùng để loại bỏ thông tin dư thừa theo thời gian

2.3 Các phương pháp tiền xử lý dữ liệu cho bài toán nhận dạng

Có ba hình thức phổ biến của quá trình tiền xử lý dữ liệu một ma trận dữ liệu

X, trong đó giả sử rằng X có kích thước [N x D] (N là số lượng dữ liệu, D là kích thước bài toán)

Trang 27

2.3.1 Trừ giá trị trung bình

Là hình thức phổ biến nhất của quá trình tiền xử lý dữ liệu Nó bao gồm việc trừ giá trị trung bình từ giá trị của dữ liệu ma trận, cho phép chuyển thành dữ liệu có giá trị trung bình bằng 0 trên mỗi thứ nguyên Gọi là giá trị trung bình của ma trận ảnh, theo từng kênh màu Ta có: X = X - cho phép chuyển tâm dữ liệu về

xung quanh giá trị 0

2.3.2 Tiêu chuẩn hóa dữ liệu

Quy vào việc bình thường hóa các thứ nguyên dữ liệu để chúng có thể có kích thước tương đối tương đương Có hai cách phổ biến để đạt được sự bình thường hóa này Một là chia mỗi thứ nguyên cho giá trị phương sai của nó, khi đã lấy 0 làm trung tâm: X = X – , X= Hình thức khác của quá trình tiền xử lý này là bình thường hóa mỗi thứ nguyên để giá trị cực tiểu và giá trị cực đại qua các thứ nguyên là tương ứng -1 và 1 Quá trình tiền xử lý này cần thiết khi các tính năng đầu vào có kích thước khác nhau

Hình 2-3: Kênh tiền xử lý dữ liệu phổ biến [22]

Bên trái: Dữ liệu gốc, dữ liệu đầu vào 2 chiều Ở giữa: Dữ liệu lấy 0 làm

trung tâm bằng cách trừ các giá trị trung bình trong mỗi thứ nguyên Đám dữ liệu

giờ được lấy trung tâm quanh bình phương Bên phải: Mỗi thứ nguyên được tiêu

chuẩn hóa bằng cách chia các thứ nguyên theo phương sai Đường màu đỏ chỉ ra sự

mở rộng của dữ liệu, chúng không có độ dài bằng nhau ở giữa, nhưng có độ dài bằng nhau bên phải

Trang 28

2.3.3 Phân tích thành phần chính (PCA) và quá trình làm trắng (whitening) dữ liệu

Principal Component Analysis -PCA là một hình thức của quá trình tiền xử

lý dữ liệu Trong quá trình này, dữ liệu trước tiên được lấy trung tâm như đã miêu tả trên Sau đó, chúng ta có thể tính toán ma trận hiệp phương sai (covariance) để xác định cấu trúc tương quan của dữ liệu Ma trận đó có thể được tính toán sử dụng thư viện Numpy của Python như sau:

# Assume input data matrix X of size [N x D]

X -= np.mean(X, axis = 0) # zero-center the data (important)

XX = Cov(X,X) = np.dot(XT, X) / X.shape[0] # get the data covariance matrix

Thành phần (i,j) của ma trận là giá trị hiệp phương sai giữa chiều i và chiều j của dữ liệu Đặc biệt, đường chéo của ma trận chính là phương sai của dữ liệu dạng ma trận

X Ma trận hiệp phương sai XX là ma trận đối xứng và xác định dương (positive semi-definite) Sau đó, chúng ta có thể tính thừa số phân mảnh SVD (SVD factorization) của ma trận dự liệu hiệp tương quan

U,S,V = np.linalg.svd(cov)

Trong đó các cột U là các véc-tơ riêng (eigenvector) và S là dãy 1 chiều của các giá trị riêng Để tách dữ liệu, chúng ta chiếu dữ liệu gốc (nhưng lấy không làm trung tâm) vào hệ trục có cơ sở là các vector riêng U:

Xrot = np.dot(X, U) # decorrelate the data

Các cột của U là các tập các véc-tơ trực chuẩn (độ dài véc-tơ là 1, và trực giao đối với nhau), nên chúng có thể được xem là hệ véc-tơ cơ sở Do đó, việc ánh

xạ lên hệ trục mới tương ứng với quay dữ liệu trong ma trận X sang hệ trục toạ độ mới là các véc-tơ riêng Một thuộc tính hay của câu lệnh np.linalg.svd là cho giá trị đầu ra U, với các cột véc-tơ riêng được sắp xếp theo giá trị riêng của chúng Chúng

ta có thể sử dụng đặc tính này để giảm kích thước của dữ liệu bằng cách chỉ sử dụng một số véc-tơ riêng đầu tiên, và loại bỏ những cột sau đó có giá trị riêng nhỏ,

Trang 29

tương ứng với việc loại bỏ các chiều không chứa dữ liệu Phương pháp này được gọi là phương pháp giảm kích thước dữ liệu dựa trên phân tích các thành phần chính PCA Ví dụ là sau khi ta đã tính toán được các vector riêng U, và ta chỉ cần tập trung vào 100 chiều dữ liệu, ta dùng câu lệnh sau:

Xrot_reduced = np.dot(X, U[:,:100]) # Xrot_reduced becomes [N x 100]

Sau câu lệnh này, chúng ta đã giảm kích thước [N x D] của bộ dữ liệu gốc thành một kích thước [N x 100] chứa 100 thành phần dữ liệu chứa nhiều dao động nhất Thông thường, để tiết kiệm thời gian và không gian tính toán, ta có thể tiến hành huấn luyện các bộ phân lớp hay mạng nổn trên các tập dữ liệu tối giản dùng phương pháp PCA, mà vẫn đảm bảo được hiệu năng tốt

Bài toán biến đổi cuối cùng thường áp dụng thực tiễn là làm trắng dữ liệu

Quá trình làm trắng thực hiện trên trục toạ độ cơ sở là các vector riêng, bằng cách chia các chiều dữ liệu cho các giá trị riêng của nó để tiêu chuẩn hoá các chiều dữ liệu Về mặt hình học thì quá trình làm trắng dữ liệu sẽ chuyển một dữ liệu đầu vào dạng hàm Gauss đa biến chuyển thành quá trình Gauss có giá trị trung bình bằng 0

và ma trận hiệp phương sai là ma trận đơn vị Bước làm trắng được thực hiện trong thực tế dùng hàm sau:

# whiten the data:

# divide by the eigenvalues (which are square roots of the singular values S)

Xwhite = Xrot / np.sqrt(S + 1e-5)

Công thức trên thêm 1e-5 (hoặc một thành phần nhỏ) để tránh trường hợp chia bằng không Có một điểm hạn chế của phép biến đổi này là cường điệu hóa đáng kể hỗn loạn trong dữ liệu, do kéo mở rộng tất cả các chiều dữ liệu (bao gồm những chiều có giá trị phương sai nhỏ mà hầu hết là nhiễu) Trong thực tiễn điều này có thể giảm nhẹ bằng cách tăng 1e-5 thành một số lớn hơn

Trang 30

Hình 2-4: PCA/Làm trắng [22]

Bên trái: Dữ liệu gốc, dữ liệu đầu vào 2 chiều Ở giữa: Sau khi thực hiện

PCA Dữ liệu lấy không làm trung tâm và bị xoay tới hệ trục mới dựa trên các vecto

cơ sở riêng của ma trận dữ liệu hiệp phương sai Bên phải: Mỗi chiều dữ liệu được

chia tỷ lệ bởi các trị riêng, biến ma trận dữ liệu hiệp phương sai thành ma trận đơn

vị Từ khía cạnh hình học, điều này tương ứng với sự mở rộng và nén dữ liệu thành một Gauss đẳng hướng

Quá trình phân tích thành phần chính PCA và làm trắng dữ liệu được minh hoạ sau, sử dụng tập dữ liệu hình ảnh CIFAR-10 Tập huấn luyện của CIFAR-10 có kích thước 50,000 x 3072, trong đó mỗi hình ảnh được mở rộng thành dãy véc-tơ

3072 chiều Chúng ta có thể tính ma trận hiệp phương sai [3072 x 3072] và tính SVD của nó (chi phí rất tương đối cao)

Hình 2-5: Minh họa bài toán biến đổi với các hình ảnh CIFAR-10 [22]

Bên trái: Một tập ví dụ với 49 hình ảnh ThMột tập vtrái: 144 véc-tơ riêng tốt

nhất trong tổng 3072 Những véc-tơ riêng mang phần lớn biến số trong dữ liệu, và chúng ta có thể nhận thấy chúng tương ứng với các tần số thấp trong hình ảnh

Th144 véc-tơ ri: 49 hình ảnh đó được giảm bằng PCA, sử dụng 144 véc-tơ riêng

Trang 31

như được biểu thị ở đây Có nghĩa là, thay vì biểu diễn từng hình ảnh như một

véc-tơ 3072 chiều, trong đó mỗi yếu tố là độ sáng của một điểm ảnh cụ thể tại một số vị trí, mỗi hình ảnh trên chỉ được biểu diễn bằng một véc-tơ 144 chiều Để minh họa được thông tin hình ảnh được lấy từ 144 con số, chúng ta phải xoay lại thành cơ sở

“điểm ảnh” của 3072 chiều Do U là một hệ xoay, điều này có thể đạt được bằng cách nhân lên bằng U.transpose()[:144:], và rồi minh họa kết quả 3072 chiều như một hình ảnh Bạn có thể thấy rằng các hình ảnh gần như là các vết nhơ, phản ánh thực tế rằng các véc-tơ riêng tốt nhất ghi lại các tần số thấp hơn Tuy nhiên, phần

lớn các thông tin vẫn được bảo toàn Bên phột: Minh họa của biểu diễn “trắng”,

trong đó các biến qua mỗi một trong 144 thứ nguyên được nén thành các độ dài bằng nhau Ở đây, 144 con số được làm trắng được xoay lại thành ảnh cơ sở điểm ảnh bằng cách nhân với U.transpose()[:144:] Các tần số thấp hơn (mang nhiều biến

số nhất) giờ không còn đáng kể, trong khi các tần số cao hơn (mang tương đối ít các biến số gốc) tang quá mức

Những sai lầm thường gặp Một điều quan trọng cần phải làm trong quá trình

tiền xử lý là bất kỳ thống kê tiền xử lý (ví dụ như giá trị trung bình của dữ liệu) chỉ được tính trên dữ liệu huấn luyện, và sau đó ứng dụng với dữ liệu đánh giá/thử nghiệm Ví dụ, tính giá trị trung bình, trừ nó từ mỗi hình ảnh trong toàn bộ tập dữ liệu và rồi chia tách dữ liệu thành các chia phần huấn luyện/đánh giá/thử nghiệm sẽ

là một sai lầm Thay vào đó, giá trị trung bình chỉ được tính trên dữ liệu huấn luyện

và trừ đều từ tất cả các chia tách (huấn luyện/đánh giá/thử nghiệm)

2.4 Phương pháp Space-time Interest Points (STIP)

Phân tích và diễn tả video là một đề tài ngày càng được quan tâm trong Thị giác máy tính và ứng dụng của nó Các cách tiếp cận truyền thống đối với việc phân tích chuyển động video chủ yếu bao gồm 2 phương pháp: sự tính toán luồng quang [10] và theo dõi chức năng [2, 14] Mặc dù hiệu quả đối với nhiều trường hợp, cả hai phương pháp này đều có những hạn chế Tiếp cận luồng quang thường thu nạp chuyển động cấp một và thất bại nếu chuyển động có những thay đổi đột xuất Theo dõi chức năng thường giả định sự xuất hiện liên tục của các mảng hình ảnh và do đó

Trang 32

có thể thất bại nếu sự xuất hiện thay đổi, ví dụ, trong trường hợp hai đối tượng trong một hình ảnh hợp nhất hay tách rời

Hình 2-6: Điểm quan tâm không gian - thời gian nhất trong một dãy hình ảnh

bóng đá là khi một cầu thủ đánh đầu quả bóng [9]

Sự kiện được phát hiện tương ứng với sự biến phân không gian – thời gian cao nhất của dữ liệu hình ảnh hay một “góc không gian – thời gian” như được minh họa bằng phần không gian – thời gian bên phải

Cách tiếp cận hữu ích và hiệu quả hơn là trích xuất các đặc điểm cục bộ tại các điểm quan tâm không gian - thời gian và mã hoá thông tin thời gian trực tiếp vào đặc điểm cục bộ Kết quả này đưa vào việc định nghĩa các tính năng cục bộ không gian - thời gian mà nhúng không gian và thời gian cùng nhau Trong trường hợp này:

- Video được coi là khối lượng pixel

- Tính năng không gian - thời gian được đặt tại các điểm nổi bật không gian thời gian được trích xuất với các toán tử điểm quan tâm

- Tương tự như đối với ảnh hai chiều (2D), các cấu trúc điểm quan tâm được tìm kiếm để được ổn định theo xoay, quan điểm, quy mô và thay đổi độ sáng

Bộ phát hiện điểm điểm không gian - thời gian là phần mở rộng của bộ phát hiện điểm quan tâm 2D kết hợp thông tin thời gian

Điểm quan tâm không gian - thời gian (STIP) được đề xuất bởi I Laptev năm 2005 Chúng được dựa trên việc phát hiện các góc không gian-thời gian Các góc không gian - thời gian nằm ở khu vực có cường độ hình ảnh cao ở cả ba hướng (x, y, t) Điều này đòi hỏi rằng các góc không gian - thời gian được định vị ở các

Trang 33

góc không gian, mà họ đảo ngược chuyển động trong hai khung liên tiếp (gradient

độ dốc cao)

Chúng được xác định từ vị trí cực đại của một hàm góc được tính cho tất cả các điểm ảnh trên toàn bộ không gian và thời gian

2.4.1 Phát hiện điểm quan tâm

2.4.1.1 Các điểm quan tâm trong miền không gian

Ý tưởng của công cụ dò điểm quan tâm Harris là phát hi c các vị trí trong một hình ảnh không gian, trong đó các giá trị hình ảnh có sự biến đổi đáng kể về cả hai hướng hình ảnh

2.4.1.2 Các điểm quan tâm trong không gian – thời gian

Ý tưởng về các điểm quan tâm trong miền không gian có thể được mở rộng thành miền không gian - thời gian bằng cách yêu cầu các giá trị hình ảnh trong không gian - thời gian có các biến đổi lớn hơn trong các chiều không gian và thời gian Các điểm với những thuộc tính này sẽ là các điểm quan tâm không gian với vị trí khác biệt trong thời gian tương ứng với chuyển động không liên tục của hình ảnh trong một miền không gian - thời gian nội vùng lân cận

2.4.1.3 Các điểm quan tâm thích nghi tỷ lệ

Để minh họa sự thực hiện của bộ phát hiện điểm quan tâm không gian - thời gian thích nghi tỷ lệ, ta quan tâm đến một dãy với một người đi bộ và một hình ảnh gia tốc thay đổi do chuyển động dao động của các chân Như chúng ta thấy trong hình 2-7, mẫu này đang tiến lên các điểm quan tâm Các điểm phát hiện được định

vị tốt trong cả không gian và thời gian và tương ứng với các sự kiện như điểm dừng

và bắt đầu bước chân Từ biểu đồ không gian – thời gian trong hình 2-7(a), chúng ta cũng có thể theo dõi các tỷ lệ không gian và thời gian của các thuộc tính được phát hiện tương hợp tương đối với sự mở rộng không gian - thời gian của các cấu trúc hình ảnh tương ứng

Ngày đăng: 30/10/2017, 15:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012. 1, 2 Sách, tạp chí
Tiêu đề: Imagenet classification with deep convolutional neural networks
[2] A. Blake and M. Isard. Condensation – conditional density propagation for visual tracking. IJCV, 29(1):5–28, August 1998 Sách, tạp chí
Tiêu đề: Condensation – conditional density propagation for visual tracking
[3] A. M. Baumberg and D.C. Hogg. Generating spatiotemporal models from examples. Image and Vision Computing, 14(8):525–532, August 1996 Sách, tạp chí
Tiêu đề: Generating spatiotemporal models from examples
[4] C. Schmid and R. Mohr. Local grayvalue invariants for image retrieval. IEEE- PAMI, 19(5):530–535, May 1997 Sách, tạp chí
Tiêu đề: Local grayvalue invariants for image retrieval
[5] D. Hall, V.C. de Verdiere, and J.L. Crowley. Object recognition using coloured receptive fields. In Proc. ECCV, volume 1842 of Lecture Notes in Computer Science, pages I:164–177, Dublin, Ireland, 2000. Springer Verlag, Berlin Sách, tạp chí
Tiêu đề: Object recognition using coloured receptive fields
[6] D. B. Kris M. Kitani, Brian D. Ziebart and M. Hebert. Activity forecasting. In ECCV, 2012. 1 Sách, tạp chí
Tiêu đề: Activity forecasting
[8] H. Wang and C. Schmid. Action recognition with improved trajectories. In ICCV, 2013. 2, 5, 7, 8 Sách, tạp chí
Tiêu đề: Action recognition with improved trajectories
[9] I. Laptev and T. Lindeberg. Space-time interest points. In ICCV, 2003. 1, 2 Sách, tạp chí
Tiêu đề: Space-time interest points
[10] J.L. Barron, D.J. Fleet, and S.S. Beauchemin. Performance of optical flow techniques. IJCV, 12(1):43–77, February 1994 Sách, tạp chí
Tiêu đề: Performance of optical flow techniques
[11] J. Malik, S. Belongie, J. Shi, and T. Leung. Textons, contours and regions: Cue integration in image segmentation. In Proc. ICCV, pages 918–925, Corfu, Greece, 1999 Sách, tạp chí
Tiêu đề: Cue integration in image segmentation
[13] M. Weber, M. Welling, and P. Perona. Unsupervised learning of models for visual object class recognition. In Proc. ECCV, volume 1842 of Lecture Notes in Computer Science, pages I:18–32, Dublin, Ireland, 2000. Springer Verlag, Berlin Sách, tạp chí
Tiêu đề: Unsupervised learning of models for visual object class recognition
[14] S.M. Smith and J.M. Brady. ASSET-2: Real-time motion segmentation and shape tracking. IEEE-PAMI, 17(8):814–820, 1995 Sách, tạp chí
Tiêu đề: Real-time motion segmentation and shape tracking
[16] T. Leung and J. Malik. Representing and recognizing the visual appearance of materials using three-dimensional textons. IJCV, 43(1):29–44, June 2001 Sách, tạp chí
Tiêu đề: Representing and recognizing the visual appearance of materials using three-dimensional textons
[17] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014. 1, 5.Danh mục các Website tham khảo Sách, tạp chí
Tiêu đề: Convolutional architecture for fast feature embedding
[18] Bài toán nhận dạng đối tượng chuyển động trong video, http://doan.edu.vn/do- an/bai-toan-nhan-dang-doi-tuong-chuyen-dong-trong-video-29567/[ 19] Ông Xuân Hồng, (2015) Convolutional Neural Networks,https://ongxuanhong.wordpress.com/2015/12/29/convolutional-neural-networks-la-gi/ Link
[21] Tổng quan về mạng nơ-ron, http://bis.net.vn/forums/t/482.aspx [22] http://cs231n.github.io/, truy nhập 11/2016 Link
[7] Du Tran 1,2 , Lubomir Bourdev 1 , Rob Fergus 1 , Lorenzo Torresani 2 , Manohar Paluri 2 … Learning Spatiotemporal Features with 3D Convolutional Networks Khác
[12] Moez Baccouche 1,2 , Franck Mamalet 1 , Christian Wolf 2 , Christophe Garcia 2 , and Atilla Baskurt 2 , Sequential Deep Learning for Human Action Recognition Khác
[15] Qing Li 1 , Zhaofan Qiu 1 , Ting Yao 2 , Tao Mei 2 , Yong Rui 2 , Jiebo Luo 3 . Action Recognition by Learning Deep Multi-Granular Spatio-Temporal Video Representation Khác

HÌNH ẢNH LIÊN QUAN

Hình 2-4: PCA/Làm trắng [22] - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 2 4: PCA/Làm trắng [22] (Trang 30)
Hình 2-7: Điểm quan tâm không gian – thời gian đối với chuyển động của các - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 2 7: Điểm quan tâm không gian – thời gian đối với chuyển động của các (Trang 34)
Hình 2-10: Các láng giềng không gian – thời gian nội vùng của các điểm quan - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 2 10: Các láng giềng không gian – thời gian nội vùng của các điểm quan (Trang 36)
Hình 2-9: Các điểm quan tâm đƣợc phát hiện đối với dãy - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 2 9: Các điểm quan tâm đƣợc phát hiện đối với dãy (Trang 36)
Hình 2-11: Sự phối chọn các chức năng dữ liệu không gian – thời gian với các - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 2 11: Sự phối chọn các chức năng dữ liệu không gian – thời gian với các (Trang 38)
Hình 3-1. Các khung mẫu cho 6 lớp hành động của UCF101 [25] - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 1. Các khung mẫu cho 6 lớp hành động của UCF101 [25] (Trang 40)
Hình 3-2: Các lớp hành động của UCF101 [25] - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 2: Các lớp hành động của UCF101 [25] (Trang 42)
Hình 3-3. Số lƣợng clip cho mỗi lớp hành động. Việc phân phối thời lƣợng clip - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 3. Số lƣợng clip cho mỗi lớp hành động. Việc phân phối thời lƣợng clip (Trang 43)
Hình 3-8: Giao diện chạy chương trình mạng nơ-ron tích chập 3 - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 8: Giao diện chạy chương trình mạng nơ-ron tích chập 3 (Trang 50)
Hình 3-9: Giao diện chính của chương trình ứng dụng - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 9: Giao diện chính của chương trình ứng dụng (Trang 51)
Hình 3-11: Giao diện ban đầu của chương trình nhận dạng hành động - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 11: Giao diện ban đầu của chương trình nhận dạng hành động (Trang 52)
Hình 3-12: Giao diện chọn tải video hành động Biking để nhận dạng - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 12: Giao diện chọn tải video hành động Biking để nhận dạng (Trang 52)
Hình 3-13: Giao diện nhận dạng hành động Biking - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 13: Giao diện nhận dạng hành động Biking (Trang 53)
Hình 3-16: Giao diện chọn tải video hành động BabyCrawing để nhận dạng - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 16: Giao diện chọn tải video hành động BabyCrawing để nhận dạng (Trang 54)
Hình 3-17: Giao diện nhận dạng hành động BabyCrawing - Mạng nơron tích chập và ứng dụng giải bài toán nhận dạng hành động trong một đoạn video ngắn (LV thạc sĩ)
Hình 3 17: Giao diện nhận dạng hành động BabyCrawing (Trang 55)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w