Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Nhận Diện Hành Động Con Người Trong Video Sử Dụng Deep Learning.doc
1. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
------------------------------------
TRẦN THANH TUẤN
NHẬN DIỆN HÀNH ĐỘNG CỦA CON NGƯỜI
TRONG VIDEO SỬ DỤNG DEEP LEARNING
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60.48.01.04
TÓM TẮT LUẬN VĂN THẠC SĨ
THÀNH PHỐ HỒ CHÍ MINH – NĂM 2017
2. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS. BÙI XUÂN LỘC
Phản biện 1: ...............................................................................................................
Phản biện 2: ...............................................................................................................
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công
nghệ Bưu chính Viễn thông
Vào lúc: ....... giờ ....... ngày ....... tháng ....... năm ...............
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
3. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
1
MỞ ĐẦU
Ngày nay, dữliệu video dễdàng đươc ̣taọ ra bởi các thiết bi ̣như: điện thoaị di
động, máy tinh́ xách tay, máy ảnh kỹthuật số, các hệ thống camera quan sát
(CCTV)…bên canḥ đócác trang web chia sẻvideo cũng không ngừng tăng trưởng về
số lượng lẫn chất lượng.
Bài toán nhận diện hành động của con người trong video đóng góp một phần
tư ̣động hóa khai thác tài nguyên dữliệu nhiều thông tin này. Các ứng dụng liên
quan đến bài toán nhận diện hành động như:
- An ninh vàcác hệ thống giám sát truyền thống gồm mang̣lưới các
camera vàđươc ̣giám sát bởi con người.
- Tưong tác giữa người vàmáy vẫn còn nhiều thách thức, những dấu
̛
hiệu thi ̣giác làphưong thức quan trong̣nhất giao tiếp phi ngôn ngữ.
̛
Khai thác hiệu quảphưong thức giao tiếp này: Thông qua cử chỉ, hành
̛
động, hoaṭđộng hứa heṇ taọ ra thếhệ máy tính tưong tác chính xác và
̛
tự nhiên hon với con người.
̛
- Bên canḥ đónhận diện hành động của con người trong video còn đươc ̣
ứng dung̣trong tóm tắt, truy vấn video, phân tich́ thểthao.
Deep Learning là một chủ đề Trí truệ nhân tạo, tập trung giải quyết các vấn
đề liên quan đến mạng nơron nhân tạo nhằm nâng cấp các công nghệ như nhận diện
giọng nói, thị giác máy tính và xử lý ngôn ngữ tự nhiên…
Đã có nhiều nghiên cứu về bài toán nhận diện hành động của con người trong
video như: nhóm tác giả Karpathy, Toderici, Shetty, Leung, Sukthankar & Fei-Fei
sử dụng CNNs để phân loại Video theo hành động của con người [5], hoặc nhóm
tác giả Ji, Xu, Yang, & Yu sử 3D CNN để nhận diện hành động con người [4].
4. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
2
Vì lý do đó, luận văn này nghiên cứu ứng dụng Deep Learning vào bài toán
nhận diện hành động của con người trong video, đồng thời đề xuất cải tiến các tham
số đầu vào của thuật toán để tăng hiệu quả nhận diện so với các thuật toán hiện tại.
Nội dung luận văn gồm 3 chưong: Chương 1 giới thiệu tổng quan về deep
̛
learning và bài toán nhận diện hành động trong thị giác máy tính. Chương 2 giới
thiệu ứng dụng deep learning trong nhận diện hành động con người, bao gồm tổng
quan, thuật toán CNN và các giải thuật Optimazation trong Deep Learning. Khái
quát về mạng nơron trong xử lý ảnh và nêu kiến trúc mạng CNN được xem xét
trong nghiên cứu. Chương 3 thực nghiệm và đánh giá kiến trúc mạng được nghiên
cứu. Bao gồm mô tả về dữ liệu và giải thuật được nghiên cứu. Cách thực nghiệm
cho các mô hình, sau đó đánh giá độ chính xác của các giải thuật.
5. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
3
CHƯƠNG 1 - TỔNG QUAN VỀ DEEP LEARNING VÀ BÀI
TOÁN NHẬN DIỆN HÀNH ĐỘNG TRONG THỊ GIÁC MÁY
TÍNH
1.1. Tổng quan về Deep Learning
1.1.1. Deep Learning là gì?
Deep Learning là một chủ đề Trí truệ nhân tạo (AI) và là một phạm trù nhỏ
của máy học. Deep Learning tập trung giải quyết các vấn đề liên quan đến mạng
nơron nhân tạo nhằm nâng cấp các công nghệ như nhận diện giọng nói, thị giác máy
tính và xử lý ngôn ngữ tự nhiên.
Deep Learning đang trở thành một trong những lĩnh vực quan trọng trong
khoa học máy tính. Chỉ trong vài năm, Deep Learning đã thúc đẩy tiến bộ trong đa
dạng các lĩnh vực như nhận thức sự vật (object perception), dịch tự động (machine
translation), nhận diện giọng nói - đó là những vấn đề từng rất khó khăn với các nhà
nghiên cứu trí tuệ nhân tạo.
1.1.2. Mạng nơron nhân tạo
Trong công nghệ thông tin, mạng nơron nhân tạo là một hệ thống các chương
trình và cấu trúc dữ liệu mô phỏng cách vận hành của não người. Một mạng nơron
như vậy thường bao gồm một lượng lớn các vi xử lý hoạt động song song, mỗi vi xử
lý chứa đựng một vùng kiến thức riêng và có thể truy cập vào các dữ liệu trong bộ
nhớ riêng của mình.
Trong mạng nơron nhân tạo, các nơron chính là các node (node là đơn vị
nơron trong mạng nơron nhân tạo – mỗi chiếc máy tính trong mạng nơron có thể
được xem như 1 node) được kết nối với nhau trong một mạng lưới lớn. Bản thân
từng node này chỉ trả lời được những câu hỏi hết sức cơ bản chứ không hề thông
minh, nhưng khi được gộp chung với nhau thì chúng lại có sức mạnh xử lý được cả
những tác vụ khó. Và điều quan trọng ở đây là bằng những thuật toán phù hợp,
chúng ta có thể dạy và huấn luyện được chúng.
6. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
4
1.1.3. Một số ứng dụng của Deep Learning
- Hệ thống gợi ý trên các nền tảng
- Nhận diện hình ảnh
- Xử lý ngôn ngữ tự nhiên
1.2. Bài toán nhận diện hành động trong thị giác máy tính
1.2.1. Tổng quan thị giác máy tính
Thị giác máy tính (Computer Vision) là một lĩnh vực đã và đang rất phát
triển. Khái niệm thị giác máy tính có liên quan tới nhiều ngành học và hướng nghiên
cứu khác nhau. Từ những năm 1970 khi mà năng lực tính toán của máy tính ngày
càng trở nên mạnh mẽ hơn, các máy tính lúc này có thể xử lý được những tập dữ
liệu lớn như các hình ảnh, các đoạn phim thì khái niệm và kỹ thuật về thị giác máy
tính ngày càng được nhắc đến và nghiên cứu nhiều hơn cho tới ngày nay. Hiện tại
lĩnh vực được các chuyên gia đánh giá là vẫn còn “non nớt” và có rất nhiều sự thay
đổi trong thời gian tới.
1.2.1.1. Thế nào là thị giác máy tính
Thị giác máy tính bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục
đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu
được hoặc các tập dữ liệu đa chiều. Đối với mỗi con người chúng ta, quá trình nhận
thức thế giới bên ngoài là một điều dễ dàng. Quá trình nhận thức đó được “học”
thông qua quá trình sống của mỗi người. Tuy nhiên với các vật vô tri vô giác như
như các máy tính, robot… thì điều đó quả thực là một bước tiến rất gian nan. Các
thiết bị ngày nay không chỉ nhận thông tin ở dạng tín hiệu đơn lẻ mà nay còn có thể
có cái “nhìn” thật với thế giới bên ngoài. Cái “nhìn” này qua quá trình phân tích, kết
hợp với các mô hình như máy học, mạng nơron… sẽ giúp cho thiết bị tiến dần tới
một hệ thống nhân tạo có khả năng ra quyết định linh hoạt và đúng đắn hơn rất
nhiều.
7. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
5
1.2.1.2. Ứng dụng của thị giác máy tính
Lĩnh vực nghiên cứu của thị giác máy tính rất rộng, và đặc điểm chung là các
bài toán về thị giác máy tính đều không có một đề bài chung và cách giải duy nhất.
Mỗi giải pháp giải quyết vấn đều được một kết quả nhất định cho những trường hợp
cụ thể.
Một vài lĩnh vực mà Computer Vision được ứng dụng có thể kể tới như sau:
- Điều khiển tiến trình (ví dụ: trong các robot công nghiệp, hay các thiết
bị, xe tự hành)
- Phát hiện sự thay đổi (ví dụ: các thiết bị giám sát)
- Tổ chức thông tin (ví dụ: chỉ số kho dữ liệu các ảnh hoặc chuỗi ảnh
liên tục)
- Mô hình hoá đối tượng (ví dụ: quá trình kiểm tra trong môi trường
công nghiệp, xử lý ảnh trong y học)
- Tương tác (đóng vai trò làm đầu vào cho thiết bị trong quá trình tương
tác giữa người và máy)
1.2.2. Nhận diện hành động của con người
Nhận diện hành động của con người là một lĩnh vực nghiên cứu rộng rãi
trong thị giác máy tính. Các ứng dụng của nó bao gồm các hệ thống giám sát, phân
tích video, robot và một loạt các hệ thống có liên quan đến sự tương tác giữa người
và các thiết bị điện tử như giao diện người-máy tính.
Nhận diện hành động của con người được phát triển bắt đầu vào đầu năm
1980. Hiện nay, các nghiên cứu chủ yếu tập trung vào việc học và nhận biết các
hành động từ chuỗi video.
Một hành động là một chuỗi các chuyển động cơ thể con người, và có thể
bao gồm nhiều bộ phận cơ thể đồng thời. Từ quan điểm của thị giác máy tính, việc
nhận dạng hành động này là để phù hợp với các quan sát (ví dụ: video) với các mẫu
được xác định trước đó và sau đó gán cho nó một nhãn là loại hành động. Tùy thuộc
vào độ phức tạp, hoạt động của con người có thể được phân loại thành bốn cấp độ:
8. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
6
cử chỉ, hành động, tương tác và hoạt động của nhóm [1], và nhiều nghiên cứu theo
hướng một cấu trúc từ dưới lên về nhận dạng hoạt động của con người. Các phần
chính của hệ thống như vậy bao gồm trích xuất đặc trưng, học tập hành động, phân
loại, nhận dạng hành động và phân đoạn [6]. Một quy trình đơn giản gồm ba bước,
cụ thể là phát hiện của con người hoặc các bộ phận cơ thể, theo dõi, và sau đó nhận
bằng cách sử dụng kết quả theo dõi. Ví dụ, để nhận ra hành động “bắt tay”, cánh tay
và bàn tay của hai người được phát hiện trước tiên và theo dõi để tạo ra một mô tả
không gian-thời gian của chuyển động của họ. Mô tả này được so sánh với các mẫu
hiện có trong dữ liệu huấn luyện để xác định loại hành động. Mô hình này dựa rất
nhiều vào tính chính xác của việc theo dõi, điều này không đáng tin cậy trong những
cảnh lộn xộn.
Nhiều phương pháp đã được đề xuất, và có thể được phân loại theo nhiều
tiêu chí khác nhau như trong bài luận điều tra hiện có. Poppe [6] thảo luận nhận
dạng hành động của con người từ biểu diễn hình ảnh và phân loại hành động riêng
rẽ. Weinland [8] khảo sát các phương pháp cho biểu diễn hành động, phân đoạn và
nhận dạng. Turaga [7] chia vấn đề nhận dạng thành hành động và hoạt động theo độ
phức tạp, và các hướng tiếp cận phân loại theo khả năng của mình để xử lý các mức
độ phức tạp khác nhau. Có nhiều tiêu chí phân loại khác nhau [1], [2], [3]. Trong số
đó, Aggarwal và Ryoo [1] là một trong những tổng kết toàn diện mới nhất và so
sánh của sự tiến bộ quan trọng nhất trong lĩnh vực này. Dựa vào hành động được
nhận dạng từ hình ảnh đầu vào trực tiếp, Aggarwal và Ryoo [1] phân chia các
phương pháp nhận dạng thành hai loại chính: phương pháp tiếp cận đơn lớp và
phương pháp tiếp cận phân cấp. Cả hai đều là thêm loại con phụ thuộc vào các
phương pháp biểu diễn đặc trưng và học.
Kết luận chương
Chương này đã trình bày tổng quan về thị giác máy tính, nhận diện hành
động của con người và Deep Learning.
9. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
7
CHƯƠNG 2 - ỨNG DỤNG DEEP LEARNING
TRONG NHẬN DIỆN HÀNH ĐỘNG CON NGƯỜI
2.1. Giới thiệu Convolutional Neural Network
2.1.1. Tổng quan
Convolutional Neural Network (CNN) bao gồm một hoặc nhiều lớp chập
(thường với một bước lấy mẫu con) và sau đó theo sau bởi một hoặc nhiều hơn các
lớp kết nối như trong một mạng nơron đa lớp chuẩn. Kiến trúc của một CNN được
thiết kế để tận dụng lợi thế của cấu trúc 2 chiều của một hình ảnh đầu vào (hoặc đầu
vào 2 chiều khác như một tín hiệu tiếng nói). Điều này đạt được với các kết nối cục
bộ và trọng số ràng buộc theo một số hình thức tổng hợp mà kết quả là các đặc
trưng không thay đổi. Một lợi ích khác của CNN là dễ dàng huấn luyện hơn và có ít
thông số so với các mạng kết nối đầy đủ với cùng một số đơn vị ẩn.
2.1.2. Kiến trúc CNN
CNN gồm một số lớp chập và lớp lấy mẫu con tùy chọn, tiếp theo là các lớp
kết nối. Đầu vào cho một lớp chập là một hình ảnh m × m × r, với m là chiều cao và
chiều rộng của hình ảnh và r là số kênh (ví dụ một ảnh RGB có r=3). Lớp chập sẽ
có k bộ lọc có kích thước n × n × q, trong đó n nhỏ hơn kích thước hình ảnh và q có
thể bằng hoặc nhỏ hơn số kênh r. Kích thước của các bộ lọc tăng đến cấu trúc kết
nối cục bộ, trong đó mỗi bộ lọc xoắn với hình ảnh để tạo ra k bản đồ đặc trưng có
kích thước m – n + 1. Mỗi bản đồ được lấy mẫu con đặc trưng với việc hợp nhất
trung bình hoặc lớn nhất trên p × p khu vực lân cận, trong đó phạm vi của p là giữa
2 (cho các hình ảnh nhỏ) và 5 (chi các đầu vào lớn hơn). Trước hoặc sau khi lấy
mẫu con, một bias bổ sung và xích ma phi tuyến được áp dụng cho mỗi bản đồ đặc
trưng.
10. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
8
Hình 2.1: Lớp đầu tiên của một CNN
Sau các lớp chập, có một số lớp kết nối đầy đủ. Các lớp kết nối dày đặc
giống với các lớp trong mạng nơron đa lớp chuẩn.
2.2. Vấn đề Overfitting và Underfitting
Sau khi lựa chọn một mô hình phù hợp chẳng hạn Logistic Regression cho
Classification Problem, hay Linear Regression cho Regression Problem ta xây dựng
dự đoán h(x), hàm chi phí C(θ) và tối thiểu hóa hàm chi phí nhiều nhất có thể. Đến
bước này chúng ta sẽ gặp vấn đề với Overfitting và Underfitting.
- Overfitting và Underfitting:
Hình 2.2: Ví dụ Underfitting
(Nguồn: http://labs.septeni-technology.jp)
11. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
9
Hình 2.3: Ví dụ Fit
(Nguồn: http://labs.septeni-technology.jp)
Hình 2.4: Ví dụ Overfitting
(Nguồn: http://labs.septeni-technology.jp)
Underfitting là khi mô hình quá đơn giản, không thể giảm thiểu được đáng kể
hàm chi phí nên cũng không thể mô tả được xu hướng của dữ liệu (còn được gọi là
High Bias). Ngược lại Overfitting lại là khi mô hình quá phức tạp, tuy giảm thiểu
được đáng kể, thậm chí toàn bộ sai số nhưng cũng không thể mô tả được xu hướng
của dữ liệu (còn được gọi là High Variance).
- Cách giải quyết:
Với Underfitting thì chỉ đơn thuần là mô hình quá đơn giản, nên ta cần thêm
những thành phần đa thức để nó phức tạp hơn. Nên khi giá trị của hàm chi phí lớn ta
12. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
10
sẽ đẩy bậc của hàm số lên. Dĩ nhiên đẩy lên cao quá ta sẽ gặp vấn đề về hiệu năng
và Overfitting.
Với Overfitting thì công việc lại ngược lại, do mô hình quá phức tạp nên ta
cần giảm bậc của hàm số hay giảm số lượng đặc trưng. Việc giảm đặc trưng ngoài
bỏ bớt những thành phần đa thức, ta còn có thể bỏ bớt những đặc trưng không cần
thiết.
Một cách khác là áp dụng Regularization.
2.3. Các giải thuật Optimization
Thuật toán huấn luyện của rất nhiều mô hình máy học được phát biểu hình
thức dưới dạng một bài toán Optimization, chẳng hạn các mô hình như
linear/logistic regression, ANN, SVM, k-means… Ý tưởng chung là mỗi mô hình
đều có một tập tham số θ nào đó cần phải được xác định giá trị thông qua quá trình
huấn luyện với dữ liệu và ta cần tìm θ để cực tiểu hóa hàm chi phí C(θ).
Mặc dù lí thuyết optimization về vấn đề này rất đầy đủ với nhiều phương
pháp khác nhau, trong nghiên cứu này trình bày tổng quan về một số giải thuật
Optimization.
- Các giải thuật cơ bản
Gradient Descent
Stochastic Gradient
Descent Momentum
- Các giải thuật dựa vào chiến lược lựa chọn Learning Rate
AdaGrad
RMSPro
Adam
13. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
11
- Lựa chọn giải thuật Optimization nào?
Hiện tại, các giải thuật Optimization hóa phổ biến nhất được tích cực
sử dụng bao gồm SGD, SGD với momentum, RMSProp, RMSProp với
momentum, AdaDelta và Adam.
Sự lựa chọn giải thuật để sử dụng, dường như phụ thuộc phần lớn vào
sự quen thuộc của người dùng với giải thuật (để dễ dàng điều chỉnh siêu số).
2.4. Thuật toán CNN trong nhận diện hành động
2.4.1. Thuật toán
Một CNN, gồm nhiều giai đoạn huấn luyện được xếp chồng lên nhau, được
sử dụng để trích xuất các đặc trưng phân cấp.
Hình 2.5: Kiến trúc của CNN trong nhận diện hành động con người
Chập hình ảnh đầu vào với các bộ lọc huấn luyện khác nhau và các bias bổ
sung, nhiều bản đồ đặc trưng được tạo trong lớp C1. Mỗi bản đồ đặc trưng trong S2
thu được bởi thao tác tổng hợp các bản đồ đặc trưng tương ứng trong lớp C1. Chập
và tổng hợp cực đại trong lớp C3 và S4 thì giống trong lớp C1 và S2. Trong bước
nhận diện cuối cùng, các đặc trưng thu được sau khi tổng hợp cực đại trong lớp S4
thì được mã hóa thành một vector 1 chiều.
14. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
12
Hình 2.6: Quá trình chập và tổng hợp cực đại
Quá trình chập: sử dụng bộ lọc huấn luyện = 1+
1−x để chập ảnh đầu vào, sau đó thêm một bias , tạo thành lớp xoắn .
Quá trình tổng hợp cực đại: lấy pixel lớn nhất của 4 pixel lân cận, sau đó tính trọng số +1và thêm bias +1,
sau đó truyền một hàm kích hoạt xích ma, tạo thành một bản đồ đặc trưng có kích thước được giảm đi 4 lần.
2.4.2. Kiến trúc CNN được xem xét nghiên cứu
Mô hình mạng được sử dụng trong luận văn được mô tả như Hình 2.4 gồm
có 2 lớp Convolution đều có 64 filter với kích thước 5x5, xen kẽ 2 lớp Convolution
là 2 lớp Max-pool với filter có kích thước 2x2. Tiếp sau đó là 2 lớp Fully-connected
với các kích thước lần lượt là 256 và 128. Cuối cùng, tập phân loại softmax cho
phân bố xác suất trên các nhãn trong đầu ra. Nhãn có xác suất cao nhất được chọn
làm dự đoán cuối cùng.
Hình 2.7: Kiến trúc CNN được xem xét nghiên cứu
15. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
13
Kết luận chương
Chương này đã trình bày thuật toán CNN, kỹ thuật Optimization và
Regularization trong Deep Learning. Đồng thời nêu ra kiến trúc mạng CNN được
xem xét nghiên cứu trong luận văn.
16. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
14
CHƯƠNG 3 - THỰC NGHIỆM VÀ ĐÁNH GIÁ
3.1. Giới thiệu TensorFlow
TensorFlow [9] là một thư viện phần mềm mở cho tính toán số, sử dụng biểu
đồ luồng dữ liệu. Các nút trong đồ thị biểu diễn cho hoạt động toán học, trong khi
các cạnh đồ thị biểu diễn cho các mảng dữ liệu đa chiều (tensors) trao đổi giữa
chúng. Kiến trúc linh hoạt cho phép chúng ta triển khai tính toán trên một hoặc
nhiều CPU hoặc GPU trong một máy tính để bàn, máy chủ, hoặc thiết bị di động với
một API đơn. TensorFlow ban đầu được phát triển bởi các nhà nghiên cứu và kỹ sư
làm việc trong nhóm Google Brain cho các nghiên cứu máy học và deep neural
network.
TensorFlow có các API với một số ngôn ngữ lập trình cho cả xây dựng và
thực thi một đồ thị TensorFlow. Python API là hiện tại hoàn thiện nhất và dễ sử
dụng nhất, nhưng API C++ có một vài ưu điểm về hiệu năng trong việc thực thi đồ
thị, và hỗ trợ triển khai các thiết bị nhỏ như Android.
3.2. Thông tin về bộ dữ liệu
Nghiên cứu sử dụng bộ dữ liệu KTH với các thông tin:
- Gồm có: 600 video trắng đen được ghi bởi các camera tĩnh (192 huấn
luyện, 192 validation, 216 kiểm tra)
- Độ phân giải: 160x120
- 6 hành động: walking (đi), jogging (chạy bộ), running (chạy nhanh),
boxing (đấm bốc), hand waving (vẫy tay), và hand clapping (vỗ tay).
- 25 người, 4 cảnh
- Link: http://www.nada.kth.se/cvap/actions
17. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
15
Hình 3.1: Bộ dữ liệu KTH
3.3. Mô tả phương pháp thực nghiệm
3.3.1. Môi trường thực nghiệm
- Ngôn ngữ Python 3.5.2
- Thư viện TensorFlow 1.1.0
- CPU Intel Core i5 2.86 GHz, Ram 8GB 1600 MHz DDR3
- Hệ điều hành: MacOS Sierra
3.3.2. Tiền xử lý video
- Sử dụng thư viện ffmpeg để tách video thành các frame.
- Phân chia các frame thành các tập: huấn luyện, kiểm thử và validation
theo mô tả trong tập tin của 00sequences.txt bộ dữ liệu KHT.
18. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
16
Hình 3.2: Mô tả chi tiết bộ dữ liệu KTH
Kết quả sau khi phân chia thành các tập dữ liệu huấn luyện
Bảng 3.1: Số lượng Frame trong các tập dữ liệu của bộ dữ liệu KTH
Tập dữ liệu Số lượng Frame
Huấn luyện 74.966
Kiểm tra 79.481
Validation 73.125
3.3.3. Quá trình huấn luyện mô hình CNN
Quá trình huấn luyện dữ liệu theo mô hình CNN được xem xét ở phần 2.2.2
theo giải thuật sau:
19. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
17
Giải thuật Optimization
- For i = 1 to So_Lan_Lap:
o Trộn tập dữ liệu huấn luyện một cách ngẫu nhiên
o For j = 1 to So_Frame_Tap_Huan_Luyen / N:
Lấy từng bộ N frame đưa vào mô hình để huấn luyện
Cứ mỗi 100 bộ frame hoặc hết tập huấn luyện thì tính độ
chính xác của mô hình theo bộ frame huấn luyện hiện tại.
o Tính độ chính xác của mô hình theo tập dữ liệu kiểm tra sau
mỗi lần lặp.
3.4. Kết quả thực nghiệm
Vì môi trường thực nghiệm với phần cứng giới hạn về tốc độ xử lý và bộ nhớ
nên quá trình huấn luyện mô hình CNN trong nghiên cứu với các tham số:
- Số lần lặp để huấn luyện mô hình: So_Lan_Lap = 10
- Số frame trong 1 bộ: N = 64
Bảng 3.2: Kết quả thực nghiệm
Lần Thời gian huấn Độ chính Thời gian kiểm Độ chính xác
lặp luyện xác huấn tra kiểm tra
luyện
(trung
bình)
1 3 giờ 15 phút 42 giây 72.9% 32 phút 33 giây 46.6%
2 3 giờ 02 phút 33 giây 81.4% 34 phút 41giây 50.9%
3 3 giờ 00 phút 13 giây 85.6% 36 phút 00 giây 53.0%
4 3 giờ 02 phút 33 giây 83.3% 31 phút 27 giây 53.5%
21. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
19
Hình 3.4: Confusion Matrix của lần kiểm tra tốt nhất
3.5. Nhận xét và đánh giá
Dựa vào kết quả thực nghiệm trên tập dữ liệu huấn luyện và kiểm tra của bộ
dữ liệu mậu đưa ra độ chính xác của mô hình mạng CNN được xem xét trong
nghiên cứu ở Bảng 3.2 và biểu đồ ở Hình 3.4 và Hình 3.5 với thang đo là từ
0
100%.
- Về độ chính xác khi huấn luyện mô hình với tập dữ liệu khá tốt, độ
chính xác tăng dần sau nhiều lần huấn luyện.
- Về độ chính xác khi kiểm tra với tập dữ liệu kiểm tra chỉ đạt mức độ
trung bình (trong khoảng 50%), và không có sự thay đổi nhiều trong
các lần kiểm tra.
- Về các hành động trong bộ dữ liệu KTH được dự đoán qua các lần
kiểm tra thì các hành động “boxing”, “handclapping”, “handwaving”
được dự đoán khá chính xác, các hành động “jogging”, “runing”,
“walking” có kết quả dự đoán chính xác không cao.
Tóm lại qua kết quả thực nghiệm, mô hình CNN được xem xét với các tham
số kích thước, số lượng bộ lọc với bộ dữ liệu mẫu chưa được thích hợp. Tình trạng
độ chính xác của việc huấn luyện cao và có xu hướng tăng; độ chính xác của việc
22. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
20
kiểm tra ở mức trung bình và không có xu hướng biến đổi nhiều hay nói cách khác
là overfit. Trong quá trình thực nghiệm, để tránh tình trạng overfit cần thêm lớp lớp
dropout và sử dụng kỹ thuật Regularization vào mô hình.
Kết luận chương
Chương này đã trình bày về kết quả chạy thực nghiệm của thuật toán được
xem xét trong luận văn trên bộ dữ liệu KTH. Đồng thời rút ra một số nhận xét đánh
giá về kết quả thực nghiệm.
23. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
21
KẾT LUẬN VÀ KIẾN NGHỊ
Kết quả đạt được
Luận văn đã nghiên cứu và thực nghiệm giải thuật Deep Learning với kiến
trúc mạng CNN trong nhận dạng hành động của con người trong các video của bộ
dữ liệu KTH gồm có 06 hành động: walking (đi), jogging (chạy bộ), running (chạy
nhanh), boxing (đấm bốc), hand waving (vẫy tay), và hand clapping (vỗ tay).
Đồng thời, đề xuất cách cải tiến các tham số trong giải thuật để tăng tốc độ
tính toán và dự đoán kết quả một cách chính xác hơn.
Dựa trên việc nghiên cứu cơ sở lý thuyết và các công nghệ liên quan, đề tài
xây dựng mô hình mạng CNN, cho ra kết quả đáp ứng những mục tiêu đã đề ra. Bộ
dữ liệu huấn luyện đóng vai trò quan trọng trong việc xây dựng mô hình để dự đoán
kết quả đầu ra. Với bộ dữ liệu càng lớn, bao gồm nhiều hành động hơn thì có thể áp
dụng vào xây dựng các hệ thống trong thực tế.
Những vấn đề còn tồn tại
Một số vấn đề ảnh hưởng đến quá trình huấn luyện và dự đoán kết quả:
- Tập dữ liệu trong nghiên cứu chỉ là ảnh đen trắng, đơn vật thể và ít
hành động nên việc áp dụng vào thực tế với sẽ cho kết quả không cao.
- Xử lý video và sử dụng Deep Learning để huấn luyện sâu, cần có thiết
bị có phần cứng có khả năng xử lý tính toán cao để có thể áp dụng cho
một lượng dữ liệu khổng lồ như hiện nay.
Hướng phát triển tiếp theo của luận văn
Nghiên cứu tiếp các giải pháp và thu thập dữ liệu đủ để triển khai vào ứng
dụng thực tế, nhằm cung cấp một công cụ hữu ích trong việc quản lý các hệ thống
camera giám sát, phân tích video...
24. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TẢI TÀI LIỆU – KẾT BẠN ZALO: 0909.232.620
22
Vấn đề gia tăng độ chính xác có thể giải quyết bằng việc kết hợp thuật toán
trong lĩnh vực xử lý ảnh như HOG, HOF… để trích xuất các đặc trưng từ video để
đưa vào huấn luyện trong mạng CNN đã trình bày trong đề tài.