1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập

59 6 0

Đ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 đề Thiết Kế Hệ Thống Nhận Dạng Cử Chỉ Bàn Tay Dùng Mạng Nơ-Ron Chập
Tác giả Lê Minh Thành, Phan Văn Ca, Trương Ngọc Sơn, Lê Minh, Đặng Phước Hải Trang, Đỗ Duy Tân
Người hướng dẫn ThS. Lê Minh Thành
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Khoa Điện – Điện Tử
Thể loại Báo Cáo Tổng Kết
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 59
Dung lượng 10,38 MB

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

Nội dung

2: Các thông số của mạng nơ-ron được đề xuất cho ứng dụng nhận dạng cử chỉ tay.. Mục tiêu: Đề tài thiết kế và mô phỏng hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ-ron chập với ngõ v

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

Trang 3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ

Chủ nhiệm đề tài: ThS Lê Minh Thành

Thành viên đề tài: PGS TS Phan Văn Ca

PGS.TS Trương Ngọc Sơn ThS Lê Minh

ThS Đặng Phước Hải Trang

TS Đỗ Duy Tân

TP HCM, 04/2021

Trang 4

DANH SÁCH THÀNH VIÊN THAM GIA ĐỀ TÀI

Trang 5

MỤC LỤC

DANH MỤC BẢNG BIỂU 1

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

Chương 1 6

MỞ ĐẦU 6

1.1 Tổng quan 6

1.2 Mục tiêu đề tài 7

1.3 Đối tượng và phạm vi nghiên cứu 7

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

1.5 Nội dung nghiên cứu 8

Chương 2 9

MẠNG NƠ-RON TÍCH CHẬP 9

VÀ ỨNG DỤNG NHẬN DẠNG CỬ CHỈ BÀN TAY 9

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

2.2 Tổng quan về kỹ thuật phát hiện đối tượng 13

2.2.1 Phát hiện đối tượng sử dụng mô hình R-CNN (Regions with CNN Features) 13

2.2.2 Phát hiện đối tượng sử dụng mô hình Single Shot Detector (SSD) 15

2.3 Tăng cường dữ liệu 16

Chương 3 18

THIẾT KẾ HỆ THỐNG 18

NHẬN DẠNG CỬ CHỈ BÀN TAY 18

3.1 Thiết kế hệ thống nhận dạng bàn tay với ảnh bàn tay tĩnh 18

3.2 Thiết kế hệ thống nhận dạng bàn tay với ảnh bàn tay từ camera 21

Chương 4 28

KẾT QUẢ NGHIÊN CỨU VÀ ỨNG DỤNG 28

4.1 Hệ thống nhận dạng bàn tay với ảnh bàn tay tĩnh 28

4.2 Hệ thống nhận dạng bàn tay thời gian thực 30

Chương 5 35

KẾT LUẬN VÀ KIẾN NGHỊ 35

5.1 Kết quả nghiên cứu 35

5.2 Kiến nghị và định hướng nghiên cứu 35

TÀI LIỆU THAM KHẢO 36

PHỤ LỤC 39

1 Bài báo thuộc danh mục sản phẩm đề tài 39

Trang 6

DANH MỤC BẢNG BIỂU

Bảng 3 1: Tập dữ liệu ngõ vào .18

Bảng 3 2: Các thông số của mạng nơ-ron được đề xuất cho ứng dụng nhận dạng cử chỉ tay .19

Bảng 3 3: Thông số của mạng nơ-ron mô hình phát hiện bàn tay .23

Bảng 3 4: Thông mô hình cho ứng dụng phân loại cử chỉ tay .26

Bảng 3 5: Các thông số huấn luyện mô hình .26

Bảng 4 1: Quá trình huấn luyện và kiểm tra .28

Bảng 4 2: Kết quả nhận dạng theo từng cử chỉ .29

Bảng 4 3: Kết quả nhận dạng các độ mở khác nhau của cử chỉ .29

Trang 7

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

Trang 8

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

Tp HCM, ngày 10 tháng 04 năm 2021

THÔNG TIN KẾT QUẢ NGHIÊN CỨU

1 Thông tin chung:

- Tên đề tài: Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ-ron chập

- Mã số: T2020-44TĐ

- Chủ nhiệm: ThS Lê Minh Thành

- Cơ quan chủ trì: Trường Đại học Sư phạm Kỹ thuật TP.HCM

- Thời gian thực hiện: 12 tháng

2 Mục tiêu:

Đề tài thiết kế và mô phỏng hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ-ron chập với ngõ vào là ảnh các cử chỉ bàn tay được phân loại thành 6 cử chỉ bao gồm: “năm ngón tay khép kín”, “năm ngón tay mở”, “cử chỉ bốn ngón tay mở”, “bàn tay nắm”, “cử chỉ có ba ngón tay mở” và “cử chỉ có hai ngón tay mở”

3 Tính mới và sáng tạo:

Tạo tập dữ liệu 6 hình thái khác nhau của cử chỉ bàn tay, đề xuất cấu trúc nhận dạng 6 hình thái của cử chỉ bàn tay

4 Kết quả nghiên cứu:

- Hệ thống có khả năng nhận dạng 6 trạng thái của cử chỉ bàn tay với độ chính xác 98.6%

- Thiết kế được hệ thống nhận dạng 3 cử chỉ bàn tay theo thời gian thực

5 Thông tin chi tiết sản phẩm:

a Sản phẩm khoa học:

+ Báo cáo khoa học (ghi rõ số lượng, giá trị khoa học): 01 báo cáo khoa học

+ Bài báo khoa học (ghi rõ đầy đủ tên tác giả, tên bài báo, tên tạp chí, số xuất bản, năm xuất bản): 01 bài báo được chấp nhận đăng trên Tạp chí Khoa học và Công nghệ, Đại học

Đà Nẵng

Trang 9

b Sản phẩm ứng dụng (bao gồm bản vẽ, mô hình, thiết bị máy móc, phần mềm…, ghi rõ số lượng, quy cách, công suất….): Chương trình mô phỏng trên Matlab và python

6 Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:

Kết quả nghiên cứu được dùng làm tài liệu tham khảo cho sinh viên học chuyên ngành điện

Trang 10

INFORMATION ON RESEARCH RESULTS

1 General information:

Project title: A design of hand gesture recogntion system using convolutional neural network

Code number: T2020-44TĐ

Coordinator: Le Minh Thanh

Implementing institution: HCMC University of Technology and Education

Duration: from 05/2020 to 05/2021

2 Objective(s):

Design a hand gesture recognition system using convolutional neural network The

proposed convolutional network is capable of recognizing 6 different gestures of the right hand

3 Creativeness and innovativeness:

Hand gestures dataset was proposed for the application of hand gesture recogntion

- Simulation program by using Matlab and Python

6 Effects, transfer alternatives of research results and applicability:

The research results are used as a reference for the students of the electronics communication engineering

Trang 11

Chương 1

MỞ ĐẦU

1.1 Tổng quan

Giao diện người – máy cơ bản nhất được sử dụng thông qua bàn phím và chuột

bị giới hạn bởi khoảng cách giữa người dùng với đối tượng cần tương tác [1] Một số tương tác qua giọng nói đã đem lại nhiều tiện ích cho người dùng như điều khiển thiết bị thông qua giọng nói trong ngôi nhà thông minh [2], các vấn đề nhận dạng đối tượng cần thiết trong an ninh [3] Tuy nhiên, các giao diện này bị giới hạn bởi các đặc trưng giọng nói theo vùng miền, từ đó dẫn đến việc thiết kế hệ thống phức tạp và khó được sử dụng phổ biến [4]

Nhận diện các cử chỉ bàn tay là phương pháp để xây dựng giao diện người dùng thân thiện giữa máy và người sử dụng Trong tương lai gần, công nghệ nhận dạng cử chỉ bàn tay cho phép các máy phức hợp và các thiết bị thông minh hoạt động dựa trên

tư thế bàn tay, ngón tay và sự di chuyển của bàn tay, loại bỏ việc giao tiếp vật lý giữa người và máy Ngày nay với sự phát triển của các thư viện mã nguồn mở trong lĩnh vực thị giác máy tính đã cho phép thiết kế các ứng dụng nhận dạng cử chỉ bàn tay dễ dàng hơn và có thể áp dụng các ứng dụng này rộng rãi vào nhiều lĩnh vực như y học [5], nhận dạng ngôn ngữ cử chỉ [6], điều khiển robot [7], thực tế ảo [8], điều khiển các thiết bị trong nhà [9] và các ứng dụng giải trí [10] Giải thuật nhận dạng cử chỉ bàn tay được phát triển ban đầu dựa trên kỹ thuật xử lý ảnh và thị giác máy tính Các giải thuật này chủ yếu dựa vào việc phân đoạn và tách đặc trưng của bàn tay dựa vào một số đặc trưng như màu da, khung xương, độ sâu, mô hình 3 chiều, hoặc nhận dạng dựa vào chuyển động [11]-[13] Trong những năm gần đây, trí tuệ nhân tạo trong đó

cụ thể là các mạng học sâu (Deep neural network) trở nên hiệu quả và được áp dụng trong nhiều ứng dụng như nhận dạng, phân loại ảnh, xử lý ngôn ngữ tự nhiên Một trong những yếu tố chính là việc phát triển của công nghệ vi mạch cho phép các hệ thống máy tính có cấu hình mạnh ra đời đã tạo điều kiện cho việc thực thi các mạng nhiều lớp trở nên hiệu quả hơn trước Song song với việc phát triển phần cứng cũng

Trang 12

như các mạng học sâu, sự phát triển của các thư viện mã nguồn mở cho phép thiết kế các mạng học sâu cho các ứng dụng cũng đa dạng và đơn giản hơn

Trong đề tài này, nhóm nghiên cứu thiết kế mạng nơ-ron tích chập cho bài toán nhận dạng cử chỉ bàn tay Mạng nơ-ron tích chập được huấn luyện trên tập mẫu được nhóm nhóm tự tạo bao gồm 27,600 mẫu với 6 lớp khác nhau bao gồm “năm ngón tay khép kín”, “năm ngón tay mở”, “cử chỉ bốn ngón tay mở”, “bàn tay nắm”, “cử chỉ có

ba ngón tay mở” và “cử chỉ có hai ngón tay mở”, được đặt tên tương ứng từ class1 đến class6 Quá trình thực nghiệm cho thấy, hệ thống có thể nhận dạng đạt độ chính xác lên đến 98.6% Hơn nữa nhóm xây dựng ứng dụng nhận dạng cử chỉ bàn tay thời gian thực, các ảnh được đọc trực tiếp từ camera Ứng dụng đọc trực tiếp từ camera đòi hỏi độ phức tạp cao hơn Trong đó, một mô hình cho việc tách ảnh bàn tay từ ảnh chụp được vì ảnh thu được từ cảm là ảnh toàn khung bao gồm cả thân người, bàn tay và một số đối tượng cũng như vật thể khác Sau khi ảnh bày tay được tách ra từ ảnh toàn khung, một mô đun khác được sử dụng để nhận dạng cử chỉ bàn tay Vì tính chất độ phức tạp của ảnh trong thời gian thực, trong ứng dụng này nhóm chỉ tiết kế nhận dạng theo thời gian thực 3 cử chỉ đơn giản là “Like”, “Ok”, và cử chỉ “2 ngón tay vuông góc”

Đối với ảnh đọc trực tiếp từ camera, hệ thống có khả năng nhận dạng theo thời gian thực 3 trạng thái “Like”, “Ok” và trạng thái “2 ngón tay vuông góc”

1.3 Đối tượng và phạm vi nghiên cứu

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

- Lý thuyết về xử lý ảnh, phát hiện đối tượng trong ảnh, trích xuất đặc trưng

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

Trang 13

Phạm vi nghiên cứu:

- Nhận dạng được 06 phân loại cử chỉ bàn tay trong ảnh tĩnh: “năm ngón tay khép kín”, “năm ngón tay mở”, “cử chỉ bốn ngón tay mở”, “bàn tay nắm”, “cử chỉ có

ba ngón tay mở” và “cử chỉ có hai ngón tay mở”

- Nhận dạng theo thời gian thực 3 cử chỉ đơn giản là “Like”, “Ok”, và cử chỉ “2 ngón tay vuông góc”

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

Phân tích đánh giá các hệ thống nhận dạng cử chỉ bàn tay đã được công bố, nghiên cứu mạng nơ-ron tích chập Thiết kế mô hình, huấn luyện, đánh giá và hiệu chỉnh thông số

1.5 Nội dung nghiên cứu

- Nghiên cứu cơ sở lý thuyết về xử lý ảnh: phát hiện bàn tay và trích xuất đặc trưng

- Nghiên cứu các giải pháp nhận dạng và phân loại các cử chỉ bàn tay

- Thiết kế và xây dựng hệ thống nhận dạng và phân loại các cử chỉ bàn tay từ các ảnh tỉnh bàn tay được thu thập thông qua camera điện thoại

- Thu thập dữ liệu, phân tích, mô phỏng hệ thống và đánh giá kết quả

Trang 14

Chương 2 MẠNG NƠ-RON TÍCH CHẬP

VÀ ỨNG DỤNG NHẬN DẠNG CỬ CHỈ BÀN TAY

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

Mạng nơ-ron tích chập hay còn có thể gọi ngắn gọn là mạng nơ-ron chập (Convolutional Neural Network - CNN) dựa trên phép tích chập của ảnh với các bộ lọc thu được trong quá trình huấn luyện để tách các đặc điểm đặc trưng của ảnh Trong mạng nơ-ron tích chập, các bộ lọc đã biết trong xử lý ảnh không hoặc ít khi được sử dụng để tách biên hay loại bỏ nhiễu Các bộ lọc thu được sau quá trình huấn luyện có thể rất khác với các bộ lọc thông dụng trong xử lý ảnh Trong giải thuật học

có giám sát, các bộ lọc được cập nhật trọng số sao cho hàm mất mát tiến về điểm cực tiểu Ví dụ, lớp tích chập đầu tiên được huấn luyện để phát hiện biên, trong khi các lớp sau được huấn luyện để phát hiện các đặc tính phức tạp hơn của các đối tượng trong ảnh Một trong những ý tưởng hình thành nên mạng nơ-ron tích chập là việc chia sẻ các trọng số Trong các lớp kết nối đầy đủ của mạng nhiều lớp, một nơ-ron ở lớp sau được kết nối đến tất cả các nơ-ron ở lớp trước nó Tương tự như vậy, một nơ-ron sẽ kết nối đến tất cả các nơ-ron ở lớp sau nó Kết quả là tạo ra số lượng kết nối và các trọng số tương ứng khá lớn trong mạng Trong lớp chập, nơ-ron ở lớp sau chỉ kết nối đến 1 nhóm các nơ-ron ở lớp trước Hơn nữa các nơ-ron kết nối đến các nhóm này sử dụng cùng một tập trọng số Do đó mạng nơ-ron tích chập hiệu quả khi số lượng lớp mạng tăng lên Mạng nơ-ron tích chập là một mô hình khá phổ biến trong các mạng sâu nhiều lớp (Deep neural network)

Mạng nơ-ron tích chập là sự kết hợp của mạng nơ-ron với các lớp kết nối đủ và mạng nơ-ron với các lớp chập Một mạng nơ-ron tích chập có kiến trúc như hình 2.1

Trang 15

Mạng nơ-ron tích chập trong hình 2.1 có kiến trúc bao gồm 2 lớp chập (convolutional layer), 2 lớp gộp (pooling layer) và lớp kết nối đầy đủ (fully-connected layer) Ảnh ngõ vào là các ma trận 2 chiều với giả sử có các giá trị nhị phân như trong hình 2.2(a) Bộ lọc (filter) hay còn được gọi là “kernel” có kích thước 3×3 và giả sử có các giá trị nhị phân như hình 2.2(b) Nếu việc kết gán 0 không được thực hiện vào biên ảnh ban đầu thì kích thước ma trận ngõ ra sẽ nhỏ hơn kích thước ảnh ma trận ảnh ngõ vào Các phần tử của ma trận ngõ ra, được gọi là các bản đồ đặc trưng (feature map), thu được từ phép tính tổng của phép nhân từ các phần tử bộ lọc

và ảnh khi trượt bộ lọc hết ảnh Các bản đồ đặc trưng được tạo ra như minh họa trong hình 2.2(c)

Hình 2.2: Mô tả tích chập ảnh với bộ lọc

Các mạng nơ-ron tích chập điển hình có 3 lớp cơ bản Lớp chập thực hiện phép tích chập tạo ra tập có giá trị tích cực tuyến tính trong các bản đồ đặc trưng Các giá trị tuyến tính trong bản đồ đặc trưng được cho qua các hàm kích hoạt phi tuyến như hàm ReLU Lớp này còn được gọi là tầng detector Lớp thứ 2 trong mô hình là lớp gộp được dùng để hiệu chỉnh ngõ ra Các hàm Pooling đặt ngõ ra của lớp bản đồ đặc

(a) ma trận vào (b) 3x3 kernel

(b) Ngõ ra feature map

Trang 16

trưng trong mối liên hệ với các ngõ ra lân cận Các hàm Pooling thường được sử dụng trong các mạng nơ-ron tích chập là hàm Max Pooling, Average Pooling hoặc hàm Sum Pooling Hàm Max Pooling được sử dụng phổ biến trong các mạng nơ-ron tích chập ứng dụng trong nhận dạng, phân loại ảnh Trong tất cả các trường hợp, Pooling tạo ra các giá trị biểu diễn cho dữ liệu tương đối bất biến đối với sự dịch chuyển của dữ liệu ngõ vào Tính bất biến đối với sự dịch chuyển được hiểu nếu chúng ta dịch chuyển một lượng nhỏ các giá trị đầu vào, các giá trị ngõ ra của lớp Pooling hầu như có thể được giữ không đổi Tính bất biến đối với các dịch chuyển nội bộ có thể rất hữu ích nếu chúng ta quan tâm tới việc một vài đặc điểm có mặt hơn

là xác định chính xác nó ở đâu Ví dụ khi chúng ta xác định có sự tồn tại của khuôn mặt trong ảnh hay không, chúng ta không nhất thiết phải biết vị trí chính xác của mắt, chúng ta chỉ cần nhận biết có mắt ở vị trí bên trái và bên phải của khuôn mặt

- Max Pooling: Hàm Max Pooling chọn giá trị cao nhất trong cửa sổ lân cận Trong trường hợp này chúng ta không quan tâm vị trí giá trị cao nhất ở đâu Chính vì thế, khi ngõ vào dịch chuyển nhỏ, ngõ ra vẫn không thay đổi Ví dụ mô tả hoạt động của Max Pooling được trình bày trong hình 2.3

Hình 2.3: Max Pooling với của sổ 2×2 và bước trượt 2

Hình 2.3 mô tả hoạt động của Max Pooling với cửa sổ 2×2 và bước trượt bằng 2 Khác với hoạt động tích chập, các bước trượt độc lập với kích thước của bộ lọc và thông thường chọn bước trượt là 1 Trong lớp Max Pooling, mục đích chúng ta đi tìm một số đặc điểm nào đó trong cửa sổ hơn là xác định vị trí của nó Chúng ta tìm giá

Trang 17

trị lớn nhất trong cửa sổ mà không quan tâm giá trị lớn nhất đó nằm ở vị trí nào Bước trượt cho lớp Max Pooling thường được chọn bằng với kích thước của cửa sổ, tức là không có sự trùng lắp Do đó, kết quả thu được ở hình 2.3 là một ma trận có kích thước bằng một nửa ma trận ban đầu

- Average Pooling: Hàm trung bình được sử dụng cho lớp Pooling tương tự như hàm Max Trong đó, giá trị lựa chọn là giá trị trung bình của các phần tử trong của

sổ Hoạt động của Average Pooling được mô tả trong hình 2.4

Hình 2.4: Average Pooling

Lớp cuối cùng trong các mạng nơ-ron tích chập là các lớp kết nối đủ sử dụng mạng nhiều lớp với hàm tích cực Softmax cho lớp nơ-ron ngõ ra Ngõ vào của các lớp kết nối đủ là các vector một chiều Do đó, các ma trận lớp pooling cuối cùng được chuyển thành vector và đưa đến lớp kết nối đủ như được minh họa trong hình 2.5

Hình 2.5: Các ma trận được chuyển thành vector ngõ vào cho lớp kết nối đủ

Bộ lọc 2×2 với bước

Trang 18

2.2 Tổng quan về kỹ thuật phát hiện đối tượng

Phát hiện đối tượng (object detection) là một kỹ thuật trong lĩnh vực thị giác máy tính (computer vision) được sử dụng để xác định và định vị vị trí vật thể trong một bức ảnh hay một video Phát hiện đối tượng được sử dụng trong nhiều lĩnh vực thực

tế như phát hiện xe, phát hiện người, theo dõi đối tượng Trong đề tài này nhóm nghiên cứu một số mô hình phát hiện đối tượng để áp dụng vào việc phát hiện bàn

tay từ ảnh được đọc trực tiếp từ camera trong thời gian thực

2.2.1 Phát hiện đối tượng sử dụng mô hình R-CNN (Regions with CNN Features)

R-CNN được giới thiệu vào năm 2014 là mô hình đầu tiên ứng dụng mạng học sâu cho phát hiện đối tượng [14] Trong R-CNN, thuật toán Selective Search được sử dụng để tìm trong ảnh khu vực có đối tượng Nó bắt đầu bằng các vùng nhỏ trên ảnh sau đó ghép với nhau Các vùng được ghép với nhau dựa vào sự thay đổi của màu sắc

và tính tương tự Đầu ra là một số vùng đề xuất có thể chứa đối tượng

Hình 2.6: Các vùng đề xuất được tạo bởi thuật toán Selective Search [14]

Sau khi các vùng đề xuất được tạo ra, R-CNN sẽ đưa các vùng đề xuất về một kích thước nhất định và cho qua một mạng CNN để trích xuất đặc trưng Các đặc

Trang 19

trưng này sẽ được đưa qua một bộ phân loại để phân loại đối tượng và qua một bộ

linear regressor để tìm kích thước bounding box

Hình 2.7: Kiến trúc mô hình R-CNN [14]

Nhược điểm của R-CNN là mô hình phải training nhiều bước, tốn tài nguyên và thời gian huấn luyện vì sử dụng mạng VGG16, thời gian phát hiện chậm vì phải dùng mạng CNN cho mỗi vùng đề xuất

Mô hình Fast R-CNN được phát triển nhằm giảm thời gian xử lý các vùng đề

xuất Đầu vào của mô hình là bức ảnh thay vì các vùng đề xuất [15] Ảnh sau khi qua

mạng CNN tạo ra bản đồ đặc trưng, các vùng đề xuất sẽ được tạo ra trên bản đồ đặc trưng đó Mỗi vùng đề xuất sau khi được tạo ra sẽ được đưa qua một lớp Fully-Connected để tìm vector đặc trưng Sau đó vector đặc trưng được dùng để dự đoán

đối tượng bằng một lớp Softmax và qua một linear regressor để tính bounding-box

Hình 2.8: Kiến trúc mô hình Fast R-CNN [15]

Trang 20

Faster R-CNN ra đời với những cải thiện đáng kể về tốc độ và độ chính xác Kiến trúc của mô hình Faster R-CNN được minh họa trong hình 2.9

Hình 2.9: Kiến trúc mô hình Faster R-CNN với sự kết hợp của CNN và RPN [16]

Mô hình Fast R-CNN bao gồm hai module: một mạng CNN để tìm các vùng đề xuất và một mạng Fast R-CNN sử dụng các vùng đề xuất tìm được Mạng CNN để

tìm các vùng đề xuất được gọi là Region Proposal Network-RPN [16]

Đầu tiên, toàn bộ bức ảnh sẽ được đưa vào một Conv layers để trích xuất feature map Sau đó một sliding-window được sử dụng trong RPN cho mỗi vị trí trong feature map Với mỗi vị trí có chín anchor boxes được sử dụng để sinh ra các vùng đề xuất Một lớp phân loại trả về 2000 score cho việc có hay không có đối tượng của 9

vùng đề xuất Một regression layer trả về 4000 giá trị cho vị trí đối tượng

Quá trình huấn luyện Fast R-CNN trải qua bốn bước: Huấn luyện mạng RPN với ImageNet pre-train model, huấn luyện CNN detector network với pre-train model, tinh chỉnh mạng RPN và tinh chỉnh mạng CNN detector

2.2.2 Phát hiện đối tượng sử dụng mô hình Single Shot Detector (SSD)

Single Shot Detector (SSD) cho phép phát hiện nhiều đối tựng trong một bức ảnh chỉ qua một bước [17], [18] Điều này khác với các mạng thuộc họ R-CNN cần hai

Trang 21

bước là tạo ra các vùng đề xuất và phát hiện đối tượng Nhờ đó tốc độ của SSD nhanh hơn nhiều lần so với Faster R-CNN SSD đã áp dụng nhiều cải tiến để có tốc

độ cao mà vẫn giữ được độ chính xác: sử dụng ConvFilter để dự đoán loại đối tượng

và offset vị trí đối tượng, sử dụng các bộ lọc khác nhau cho các đối tượng có kích thước khác nhau

Hướng tiếp cận của SSD dựa trên một mạng feed-forward CNN để đưa ra một tập kích thước cố định cho các bounding-boxes và điểm score cho mỗi loại đối tượng trong các box đó, tiếp theo sử dụng một Non-maximum suppression để đưa ra kết quả cuối cùng Các lớp đầu của SSD là một mạng CNN cho bài toán phân loại đối

tượng Tiếp theo đầu ra được cho vào các khối bao gồm Multi-scale feature maps có

nhiệm vụ thêm các Conv feature layers để làm giảm kích thước lũy tiến và cho phép

dự đoán ở các scale khác nhau, Convolutional Predictor với mỗi lớp thêm ở trên được kết hợp với các conv filter để cho một tập cố định các detection predictions và Default boxes and aspect ratios cho phép kết hợp các bounding boxes mặc định với các feature map Ở mỗi fearture map cell, dự đoán offset với default boxes trong mỗi

cell và score cho mỗi class đối với mỗi boxes

Hình 2.10: Kiến trúc mô hình SSD [18]

2.3 Tăng cường dữ liệu

Trong kỹ thuật mạng nơ-ron học sâu, vấn đề dữ liệu có vai trò rất quan trọng Chính vì vậy có những lĩnh vực có ít dữ liệu để cho việc huấn luyện mô hình thì rất khó để tạo ra được kết quả tốt trong việc dự đoán Do đó chúng ta cần đến một kỹ thuật tăng cường dữ liệu (data augmentation) để phục vụ cho việc có ít dữ liệu huấn

Trang 22

luyện Các phép tăng cường dữ liệu cơ bản thường được dung như lật (flip), xoay

(Rotate), cắt ngẫu nhiên, chuyển đổi màu và chuyển đổi độ tương phản

Phép lật cho phép lật ảnh theo chiều ngang hoặc dọc tùy ý miễn sao ý nghĩa của bức ảnh vẫn giữ nguyên, trong trường hợp sử dụng phép lật cho cử chỉ tay chỉ nên dùng phép lật ngang vì phép lật dọc sẽ làm thay đổi ý nghĩa một vài cử chỉ như “like” thành “dis like” Phép xoay thực hiện xoay ảnh sang trái hoặc phải với các góc độ

khác nhau Cắt ngẫu nhiên thực hiện việc cắt ngẫu nhiên một phần của bức ảnh Phép

chuyển đổi màu chuyển đổi màu của bức ảnh bằng cách thêm giá trị vào ba kênh màu

RGB Đổi độ tương phản đồng nghĩa với thay đổi độ tương phản của ảnh

Hình 2.11: Minh hoạ một số phương pháp tăng cường ảnh

Vấn đề của tăng cường dữ liệu đó là việc chọn lựa cách thức tăng cường phù hợp với dữ liệu hiện có Với số lượng các phép tăng cường dữ liệu đa dạng việc chọn ra phép tăng cường phù hợp với dữ liệu rất quan trọng và để chọn được phép tăng cường tốt nhất cho bộ dữ liệu chắc chắn sẽ phải tốn thời gian thử nghiệm kiểm tra để chọn ra được

Trang 23

Chương 3 THIẾT KẾ HỆ THỐNG NHẬN DẠNG CỬ CHỈ BÀN TAY

3.1 Thiết kế hệ thống nhận dạng bàn tay với ảnh bàn tay tĩnh

Hệ thống nhận dạng ở nghiên cứu này được xây dựng để phân biệt được 6 loại cử chỉ bàn tay phải Tập dữ liệu đầu vào cho quá trình huấn luyện được tạo dựa theo tập

dữ liệu Cambride-Gestture Data Base [19] với 27,600 hình ảnh có kích thước 3024×3024 bao gồm các ảnh được chụp từ 7 người ở các điều kiện không quá sáng, không quá tối và ảnh nền khác nhau Các bàn tay được chụp ở vị trí và tư thế khác nhau: thẳng, nghiêng trái, nghiêng phải, gần và xa Tập dữ liệu trên được chia thành 2 tập dữ liệu con là tập huấn luyện và tập kiểm tra với tỉ lệ tương ứng là 80% và 20% Trong tập dữ liệu huấn luyện và tập kiểm tra có tất cả các trường hợp về tư thế và vị trí của các cử chỉ có trong tập dữ liệu, các tệp trong cả hai tập dữ liệu huấn luyện và kiểm tra không trùng nhau

Ảnh đầu vào được giảm kích thước xuống còn 227×227 để phù hợp với mạng nơ-ron chập để tối ưu về thời gian và tài nguyên Mẫu bàn tay của 7 người trong tập

dữ liệu (tương ứng với số thứ tự từ 1 đến 7) được trình bày trong bảng 3.1

Trang 24

5

6

7

Bảng 3.1 liệt kê mẫu bàn tay của 7 người với 6 lớp cử chỉ khác nhau được chụp

từ điện thoại để tạo tập dữ liệu cho quá trình huấn luyện mạng Các ảnh được sử dụng

để kiểm tra mô hình là các ảnh tĩnh đã được chụp trước Trong mô hình đầu tiên nhóm thực thiện nhận dạng các ảnh tĩnh và chỉ có bàn tay được chụp, giả định không

có các đối tượng khác trong ảnh

Một mô hình mạng nơ-ron chập bao gồm 28 lớp, với thông số chi tiết được trình bày ở bảng 3.2, được thiết kế cho ứng dụng nhận dạng cử chỉ bàn tay

Bảng 3 2: Các thông số của mạng nơ-ron được đề xuất cho ứng dụng nhận dạng

Normalization Lớp chuẩn hóa

5 Max Pooling Lớp gộp, cửa sổ 33

6 Lớp chập 256 bộ lọc kích thước 5548 với bước trượt [1 1]

8

Cross Channel

Normalization Lớp chuẩn hóa

9 Max Pooling Lớp gộp, của sổ 33 với bước trượt [2 2]

Trang 25

10 Chập 384 bộ lọc kích thước 33256 với bước trượt [1 1]

16 Max Pooling Kernel 3x3 với bước trượt [2 2]

17 Lớp kết nối đầy đủ 4096 nơ-ron

26 Lớp kết nối đầy đủ 6 nơ-ron

27 Softmax Phân bố xác suất ngõ ra

28 Ngõ ra gán nhãn

Trang 26

Đầu vào của hệ thống là các ảnh màu 3 kênh R, G, B với kích thước 2272273 từ tập dữ liệu Sau đó, ảnh đầu vào sẽ được nhân chập lần đầu tiên với 96 bộ lọc 3 chiều có kích thước 11113 với bước trượt [4 4] Các ảnh đặc trưng đầu ra (96 ảnh với kích thước 55553) tiếp tục được đưa qua hàm kích hoạt ReLU và thực hiện chuẩn hóa chéo kênh (5 kênh/phần tử) Sau đó, các ảnh tiếp tục được đưa qua lớp gộp sử dụng hàm Max Pooling với bộ lọc 33 và bước trượt [2 2] và thu được các ảnh có kích thước 27273 Các thao tác bao gồm nhân chập, kích hoạt với hàm ReLu và chuẩn hóa chéo kênh (5 kênh/phần tử) tiếp tục được thực thi một lần nữa trên các ảnh để thu được

256 ảnh đặc trưng với kích thước 11113 Các ảnh này tiếp tục được nhân chập và kích hoạt bằng hàm ReLU thêm 3 lần nữa trước khi đi qua lớp Max Pooling lần cuối cùng Kết quả thu được lúc này là 256 ảnh với kích thước 223 Sau đó, một lớp kết nối đầy đủ được sử dụng, theo sau là hàm kích hoạt ReLU và Dropout với tỉ lệ 50% để tránh hiện tượng quá khớp Thao tác này sẽ được thực thi 3 lần với số lượng nơ-ron ở các lớp kết nối đầy đủ lần lượt là 4096, 4096 và 1000 nơ-ron Cuối cùng, một lớp kết nối đầy đủ với 6 nơ-ron được sử dụng, theo sau là hàm Softmax để cho ra ngõ ra cuối cùng của hệ thống để tạo ra phân bố xác xuất Ngõ ra cuối cùng gồm 6 nhãn, tương ứng với 6

cử chỉ tay cần nhận dạng (class1 – class6)

3.2 Thiết kế hệ thống nhận dạng bàn tay với ảnh bàn tay từ camera

Trong mô hình thứ nhất nhóm thực hiện nhận dạng cử chỉ bàn tay dựa vào tập dữ liệu tĩnh, trong đó chỉ có ảnh bàn tay Mô hình như vậy chỉ mang tính minh họa cho các ứng dụng và chưa phù hợp với thực tế Trong thực tế, khi các ứng dụng chụp ảnh bàn tay thì việc chỉ tập trung chụp bàn tay không là rất khó Để các ứng dụng có tính thực tế hơn, nhóm thiết kế mô hình nhận dạng cử chỉ bàn tay với ảnh chụp có khung rộng từ camera Các ảnh chụp có thể bao gồm thân người và một số đối tượng Dó đó, tập dữ liệu huấn luyện được chụp lại và các bàn tay được gán nhãn thủ công

Tập dữ liệu đầu vào gồm có 10,087 hình ảnh với các kích thước khác nhau đã được gắn nhãn Hình ảnh trong tập dữ liệu được lấy từ nhiều nguồn khác nhau, mỗi bức ảnh

có thể có một hoặc nhiều bàn tay với các kích thước khác nhau, hình dạng khác nhau Tập dữ liệu được đưa về định dạng các lớp đối tượng trực quan (Visual Object Class - VOC) để huấn luyện mô hình

Trang 27

Hình 3.1: Các ảnh trong tập huấn luyện

Mô hình phát hiện bàn tay có kiến trúc dựa trên kiến trúc của mô hình SSD Kiến trúc mạng học sâu sử dụng cho mô hình SSD được thiết kế bởi các khối Depthwise Separable Mỗi khối Depthwise Separable gồm một lớp tích chập có kernel size bằng 3

và một lớp tích chập có kernel size bằng 1, sau mỗi lớp tích chập sẽ là lớp BatchNorm

và ReLU

Hình 3.2: Cấu trúc các khối Depthwise Separable

Trang 28

Việc sử dụng khối Depthwise Separable sẽ làm mô hình trở nên nhẹ hơn và nhanh hơn Giả sử với lớp tích chập thông thường một ảnh có kích thước 12x12x3 đi qua một Conv kernel size là 3x3 tạo ra một ngõ ra kích thước 11x11x3 sẽ cần:

12 × 12 × 3 × 3 × 3 × 3 = 11664 𝑝ℎé𝑝 𝑡í𝑛ℎ Trong khi đó lớp Depthwise Separable chỉ cần:

12 × 12 × 3 × 3 × 3 + 12 × 12 × 3 × 3 = 5184 𝑝ℎé𝑝 𝑡í𝑛ℎ Kiến trúc còn sử dụng một khối Receptive Field Block, đây là khối được sử dụng để tăng độ chính xác cũng như tốc độ của mô hình phát hiện đối tượng

Hình 3.4: Cấu trúc RFB Module

Mô hình sau khi kết hợp hoàn thiện các khối trên cùng các khối mở rộng của kiến trúc SSD sẽ có 137 lớp bao gồm 276,292 thông số và kích thước mô hình là 1.05MB

Bảng 3 3: Thông số của mạng nơ-ron mô hình phát hiện bàn tay

Trang 29

dạng thuộc về loại cử chỉ đó

Hình 3.5: Một số ảnh trong tập huấn luyện

Trong thiết kế này nhóm nghiên cứu sử dụng mô hình MobileNet để phần loại cử chỉ bàn tay [20] MobileNet là một mô hình học sâu có độ chính xác cao nhưng nhẹ với

số lượng tham số chỉ 3.4 triệu Mô hình sử dụng các lớp Depthwise Separable để giảm thiểu số lượng tham số tính toán đồng thời thay đổi cấu trúc khối Residual Block để mô hình đạt độ chính xác cao hơn

Ngày đăng: 06/01/2022, 16:59

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mạng nơ-ron tích chập. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.1 Mạng nơ-ron tích chập (Trang 14)
Hình 2.3: Max Pooling với của sổ 2×2 và bước trượt 2. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.3 Max Pooling với của sổ 2×2 và bước trượt 2 (Trang 16)
Hình 2.4: Average Pooling. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.4 Average Pooling (Trang 17)
Hình 2.5: Các ma trận được chuyển thành vector ngõ vào cho lớp kết nối đủ. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.5 Các ma trận được chuyển thành vector ngõ vào cho lớp kết nối đủ (Trang 17)
Hình 2.6: Các vùng đề xuất được tạo bởi thuật toán Selective Search [14]. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.6 Các vùng đề xuất được tạo bởi thuật toán Selective Search [14] (Trang 18)
Hình 2.8: Kiến trúc mô hình Fast R-CNN [15] - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.8 Kiến trúc mô hình Fast R-CNN [15] (Trang 19)
Hình 2.7: Kiến trúc mô hình R-CNN [14]. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.7 Kiến trúc mô hình R-CNN [14] (Trang 19)
Hình 2.9: Kiến trúc mô hình Faster R-CNN với sự kết hợp của CNN và RPN [16]. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.9 Kiến trúc mô hình Faster R-CNN với sự kết hợp của CNN và RPN [16] (Trang 20)
Hình 2.10: Kiến trúc mô hình SSD [18]. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.10 Kiến trúc mô hình SSD [18] (Trang 21)
Hình 2.11: Minh hoạ một số phương pháp tăng cường ảnh. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 2.11 Minh hoạ một số phương pháp tăng cường ảnh (Trang 22)
Dữ  liệu  Cambride-Gestture  Data  Base  [19]  với  27,600  hình  ảnh  có  kích  thước  3024×3024 bao gồm các ảnh được chụp từ 7 người ở các điều kiện không quá sáng,  không quá tối và ảnh nền khác nhau - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
li ệu Cambride-Gestture Data Base [19] với 27,600 hình ảnh có kích thước 3024×3024 bao gồm các ảnh được chụp từ 7 người ở các điều kiện không quá sáng, không quá tối và ảnh nền khác nhau (Trang 23)
Bảng 3.1 liệt kê mẫu bàn tay của 7 người với 6 lớp cử chỉ khác nhau được chụp - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Bảng 3.1 liệt kê mẫu bàn tay của 7 người với 6 lớp cử chỉ khác nhau được chụp (Trang 24)
Hình 3.1: Các ảnh trong tập huấn luyện. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 3.1 Các ảnh trong tập huấn luyện (Trang 27)
Hình 3.2: Cấu trúc các khối Depthwise Separable. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 3.2 Cấu trúc các khối Depthwise Separable (Trang 27)
Hình 3.4: Cấu trúc RFB Module. - Thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập
Hình 3.4 Cấu trúc RFB Module (Trang 28)

TỪ KHÓA LIÊN QUAN

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

w