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

Nhận dạng hình trạng người từ nhiều KINECT

63 7 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

Định dạng
Số trang 63
Dung lượng 1,9 MB

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

Nội dung

Luận văn tập trung nghiên cứu, đề xuất giải pháp và thực nghiệm nhận dạng bốn hình trạng cơ bản của người là đứng, cúi, ngồi và nằm dựa vào các thông tin về khớp xương thu được từ nhiều

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Nguyễn Văn Long

NHẬN DẠNG HÌNH TRẠNG NGƯỜI TỪ NHIỀU KINECT

Chuyên ngành: Kỹ thuật điều khiển và tự động hóa

LUẬN VĂN THẠC SĨ KHOA HỌC

KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Lê Thị Lan

Hà Nội – 2016

Trang 2

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

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

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ

Họ và tên tác giả luận văn : Nguyễn Văn Long

Đề tài luận văn: Nhận dạng hình trạng người từ nhiều Kinect

Chuyên ngành: Kỹ thuật điều khiển và tự động hóa

Mã số SV: CAC16048

Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả

đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 31/10/2016 với các nội dung sau:

1 Chỉnh sửa lại toàn bộ lỗi chính tả trong luận văn

2 Chỉnh sửa lại cấu trúc của luận văn, theo đó, chương 1 (Tổng Quan) được gộp vào phần mở đầu, chương 5 (Kết Luận) được chuyển thành mục kết luận và kiến nghị Nội dung luận văn còn lại 3 chương chính

3 Bổ xung lý do chọn thuật toán SVM để phân loại hình trạng cơ thể - trang 23

4 Bổ xung giá trị cụ thể của từng đặc trưng khi quyết định đặc trưng đó thuộc phân lớp nào – trang 32, 33, 34

5 Bổ xung quá trình huấn luyện và các tham số huấn luyện của thuật toán SVM,

lý do lựa chọn các tham số - trang 39, 40

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 Các số liệu được trích dẫn có nguồn gốc Các kết quả trình bày trong luận án là trung thực và chưa từng được ai công bố trong bất kì công trình nào khác

Tác giả luận án

Nguyễn Văn Long

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, tôi xin gửi lời cảm ơn sâu sắc và chân thành tới TS Lê Thị Lan, người đã tận tình hướng dẫn, chỉ bảo và động viên tôi trong suốt quá trình nghiên cứu và viết luận án để tôi có thể hoàn thành luận án này

Xin chân thành cảm ơn các bạn, anh, chị tại Viện nghiên cứu Quốc tế MICA, Trường Đại học Bách Khoa Hà Nội, đã tạo điều kiện giúp đỡ tôi trong quá trình thực hiện luận án

Cuối cùng xin bày tỏ lòng biết ơn sâu sắc tới gia đình và những người bạn đã động viên, chia sẻ, ủng hộ và là chỗ dựa tinh thần giúp tôi tập trung nghiên cứu và hoàn thành luận án của mình

Nguyễn Văn Long

Trang 5

MỤC LỤC

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

DANH MỤC CÁC BẢNG 4

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

MỞ ĐẦU 7

CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG HÌNH TRẠNG NGƯỜI…………9

1.1 Nhận dạng hình trạng người từ camera màu 10

1.2 Nhận dạng hình trạng người từ Kinect 14

1.3 Kết luận 21

1.4 Mô hình đề xuất 21

CHƯƠNG II NHẬN DẠNG HÌNH TRẠNG NGƯỜI TỪ NHIỀU KINECT 25

2.1 Giới thiệu chung 25

2.2 Thu Thập dữ liệu 26

2.3 Đồng bộ dữ liệu 27

2.3.1 Đồng bộ dữ liệu về thời gian 27

2.3.2 Đồng bộ dữ liệu về không gian 28

2.3.3 Kết quả đồng bộ dữ liệu 31

2.4 Trích chọn đặc trưng 32

2.5 Mô hình nhận dạng 35

2.5.1 Giới thiệu về thuật toán SVM 35

2.5.2 Hệ thống huấn luyện và nhận dạng hình trạng người 37

CHƯƠNG III THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 38

Trang 6

3.1 Xây dựng chương trình thực nghiệm 38

3.1.1 Module thu thập giữ liệu 38

3.1.2 Module huấn luyện, nhận dạng hình trạng người 39

3.1.3 Module hiển thị kết quả 40

3.2 Xây dựng cơ sở dữ liệu thực nghiệm 41

3.2.1 Thiết lập môi trường thu thập cơ sở dữ liệu 41

3.2.2 Tiến hành thu thập cơ sở dữ liệu 42

3.2.3 Lưu trữ cơ sở dữ liệu 47

3.2.4 Đồng bộ cơ sở dữ liệu 48

3.3 Độ đo đánh giá 49

3.4 Kết quả thử nghiệm 50

3.4.1 Kết quả thử nghiệm từ một Kinect 51

3.4.2 Kết quả thử nghiệm từ hai Kinect 53

3.4.3 Nhận xét 54

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

TÀI LIỆU THAM KHẢO 58

Trang 7

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

LVQ Learning Vector Quantization

PCA Principal Component Analysis

RGB Red Green Blue

SDK Software Development Kit

SURF Speeded-Up Robust Features

SVM Support Vector Machine

Trang 8

DANH MỤC CÁC BẢNG

Bảng 2.1 Các đặc trưng cho huấn luyện và nhận dạng hình trạng người 34

Bảng 3.1 Bảng thu thập mẫu dữ liệu hình trạng của một người 47

Bảng 3.2 Tổng hợp thu thập mẫu dữ liệu hình trạng người 47

Bảng 3.3 Số lượng mẫu cho huấn luyện 50

Bảng 3.4 Số lượng mẫu cho kiểm nghiệm phương pháp nhận dạng 51

Bảng 3.5 Kết quả nhận dạng hình trạng từ một Kinect 52

Bảng 3.6 Kết quả nhận dạng hình trạng từ hai Kinect 54

Trang 9

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

Hình 1.1 Mô hình hóa cơ thể dựa vào các đường bao theo [3] 10

Hình 1.2 Hình chiếu ngang và dọc của cơ thể theo [3] 11

Hình 1.3 Hình chiếu của tương ứng với các hình thái của cơ thể theo [3] 11

Hình 1.4 Theo dõi người dựa trên bộ lọc hạt theo [1] 12

Hình 1.5 Các hình trạng người được nhận dạng trong các điều kiện khác nhau [1]13 Hình 1.6 Nhận dạng hình trạng người dựa vào các đực trưng SURF [6] 14

Hình 1.7 Cấu tạo của một Kinect phiên bản 2.0 15

Hình 1.8 Các khớp xương được cung cấp bởi Kinect phiên bản 2.0 16

Hình 1.9 Sơ đồ nhận dạng hình trạng người từ ảnh độ sâu của [9] 17

Hình 1.10 Hình bao cơ thể thừ ảnh chiều sâu của Kinect theo [9] 17

Hình 1.11 Hình chiếu và trọng tâm của hình thái quỳ gối theo [9] 18

Hình 1.12 Các khớp xương quan trọng quyết định hình thái cơ thể 19

Hình 1.13 Kết quả thực nghiệm phương pháp nhận dạng dựa trên các khớp xương [5] 20

Hình 1.14 Đồng bộ dữ liệu từ nhiều Kinect cho việc dạy múa theo [8] 21

Hình 1.15 Hai Kinect được đặt vuông góc với nhau 23

Hình 1.16 Hệ thống nhận dạng hình trạng đề xuất 24

Hình 2.1 Hệ tọa độ Kinect 25

Hình 2.2 Sơ đồ kết nối hệ thống sưa tập dữ liệu từ 2 Kinect 26

Hình 2.3 Mô phỏng quá trình đồng bộ dữ liệu theo thời gian 28

Hình 2.4 Chuyển đổi hê tọa độ bằng phép quay quanh trục Y 30

Hình 2.5 Các khớp xương chứa thông tin nhận dạng 35

Hình 2.6 Mô phỏng phân lớp trong thuật toán SVM dựa vào siêu phẳng (a)-có nhiều cách để phân lớp dữ liệu, (b)-phân lớp dữ liệu dựa vào siêu phẳng có khoảng cách lề cực đại 36

Hình 2.7 Hệ thống huấn luyện và nhận dạng hình trạng người sử dụng SVM 37

Trang 10

Hình 3.1 Dữ liệu đầu vào cho huấn luyện mô hình SVM 40

Hình 3.2 Module hiển thị kết quả 41

Hình 3.3 Phòng thu thập dữ liệu tại trung tâm MICA 42

Hình 3.4 Thu thập dữ liệu cho hình trạng đứng với các hướng nhìn khác nhau 43

Hình 3.5 Thu thập dữ liệu cho hình trạng cúi với các hướng nhìn khác nhau 44

Hình 3.6 Thu thập dữ liệu cho hình trạng ngồi với các hướng nhìn khác nhau 45

Hình 3.7 Thu thập dữ liệu cho hình trạng nằm với các hướng nhìn khác nhau 46

Hình 3.8 Cấu trúc thư mục lưu trữ và dữ liệu các khớp xương của từng Kinect 48

Hình 3.9 Cấu trúc thư mục lưu trữ dữ liệu đồng bộ các khớp xương của hai Kinect 49

Hình 3.10 Chương trình nhận dạng hình trạng người một Kinect 52

Hình 3.11 Trường hợp nhận dạng sai khi dùng một Kinect 53

Hình 3.12 Chương trình nhận dạng hình trạng người với hai Kinect 54

Trang 11

MỞ ĐẦU

Lý do chọn đề tài

Hiện nay, cùng với sự phát triển của các công nghệ phần cứng và phần mềm, nhu cầu ứng dụng công nghệ thông tin trong thực tế ngày càng tăng cao Kinect là một trong những sản phẩm có sự kết hợp cả phần cứng và phần mềm và đang được ứng dụng trong nhiều lĩnh vực của cuộc sống

Với mong muốn tạo ra một nền tảng cơ bản cho các ứng dụng dựa trên Kinect được

đưa vào gần hơn nữa với đời sống thực tế, học viên đã lựa chọn đề tài “Nhận dạng

hình trạng người từ nhiều Kinect”

Lịch sử nghiên cứu

Đã có nhiều nghiên cứu ở Việt nam và các nước trên thế giới về nhận dạng hình trạng người Mỗi nghiên cứu tập trung tới một hoặc một vài hình trạng của cơ thể, sử dụng các phương pháp khác nhau và có những ưu, nhược điểm riêng

Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu

Luận văn tập trung nghiên cứu, đề xuất giải pháp và thực nghiệm nhận dạng bốn hình trạng cơ bản của người là đứng, cúi, ngồi và nằm dựa vào các thông tin về khớp xương thu được từ nhiều Kinect Các đánh giá thực nghiệm được xây dựng trên một tập mẫu thu thập trong phòng thí nghiệm tại Viện nghiên cứu MICA

Các nội dung chính và đóng góp mới của tác giả

Trong quá trình nghiên cứu, tác giả đã đề xuất mô hình nhận dạng hình trạng người

từ nhiều Kinect thay vì cách dùng một Kinect, đồng thời tác giả cũng đề xuất một số đặc trưng mới cho mô hình nhận dạng 4 hình trạng cơ bản cho phép cải tiến độ chính xác nhận dạng

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

Học viên bước đầu tiếp cận với vấn đề cần giải quyết thông qua các bài báo, các công trình liên quan đã được công bố trước đó Sau đó, dựa vào yêu cầu thực tế, đề xuất

Trang 12

Bố cục của luận văn bao gồm 3 chương

- Chương 1: Tổng quan về nhận dạng hình trạng người

- Chương 2: Nhận dạng hình trạng người từ nhiều Kinect

- Chương 3: Thử nghiệm và đánh giá kết quả

Kết quả của đề tài bao gồm:

- Báo cáo luận văn

- Các chương trình thu nhận dữ liệu, đồng bộ dữ liệu từ nhiều Kinect, chương trình nhận dạng hình trạng người

- Cơ sở dữ liệu các hình trạng người

Trang 13

CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG

HÌNH TRẠNG NGƯỜI

Nhận dạng hình trạng người là bài toán khá phổ biến và đã được nghiên cứu, áp dụng trong hàng thập kỷ nay Có nhiều phương pháp để nhận dạng hình trạng người, căn

cứ vào đặc trưng của các phương pháp ta có thể chia ra làm 3 nhóm chính sau:

- Nhận dạng hình trạng người bằng các cảm biến vật lý: Phương pháp này sử dụng các cảm biến vật lý để gắn vào đối tượng cần nhận dạng, các tín hiệu gửi

về từ cảm biến vật lý sẽ được phân tích để đưa ra hình trạng người [4] Cảm biến vật lý được dùng có thể là cảm biến vận tốc, cảm biến gia tốc

- Nhận dạng hình trạng người bằng các cảm biến hình ảnh: Cảm biến hình ảnh được dùng thông thường là các camera, dữ liệu thu được từ camera (ảnh hoặc video) sẽ được phân tích để đưa ra kết quả về hình trạng người

- Nhận dạng hình trạng người bằng cảm biến Kinect: Phương pháp nhận dạng này dựa trên các thông tin mà Kinect thu nhận được Ngoài thông tin về ảnh màu, Kinect còn cung cấp thông tin về độ sâu ảnh và các khớp xương trên cơ thể người Ta có thể dựa vào một hoặc kết hợp tất cả các dữ liệu từ Kinect để phục vụ việc nhận dạng hình trạng người

Mỗi phương pháp trên đều có ưu, nhược điểm riêng Phương pháp sử dụng cảm biến vật lý gắn vào đối tượng nhận dạng cho ra kết quả có độ chính xác cao và nhận dạng được các thay đổi nhỏ ít biểu hiện ra bên ngoài tuy nhiên phương pháp này khá tốn kém và chỉ áp dụng được trên từng đối tượng riêng rẽ Phương pháp sử dụng cảm biến hình ảnh áp dụng đơn giản, chi phí thấp, có thể áp dụng chung được cho nhiều đối tượng nhưng độ chính xác không cao vì dễ bị nhiễu bởi môi trường Phương pháp

sử dụng Kinect có thể dùng camera hồng ngoại để giảm thiểu tác động của các đối tượng nhiễu và không phụ thuộc vào các điều kiện ảnh sáng, tuy nhiên một vài hình thái của cơ thể (như nằm chẳng hạn) camera hồng ngoại không cho thông tin khớp xương chính xác

Trang 14

Trong khuôn khổ đề tài này, ta sẽ chỉ quan tâm các phương pháp nhận dạng hình trạng người từ cảm biến hình ảnh (ảnh màu từ camera) và từ Kinect

1.1 Nhận dạng hình trạng người từ camera màu

Phương pháp này dựa vào một ảnh hoặc một chuỗi các ảnh thu nhận được từ camera

để phân tích, đưa ra kết quả về hình trạng người, tiêu biểu gồm có:

Nhận dạng hình trạng người dựa vào phương pháp phân phối hình chiếu, được đưa

ra trong công trình nhiên cứu [3] Trong nghiên cứu của mình, các tác giả đưa ra mô hình tập trung 4 hình thái cơ thể là đứng, nằm, cúi và nằm Nội dung của phương pháp được thể hiện qua các bước sau:

- Tách đối tượng ra khỏi nền bằng cách nhị phân hóa, khử nhiễu, dùng các phép hình thái học và phát hiện đối tượng

- Mô hình hóa cơ thể dựa vào các hình bao xung quanh cơ thể

Hình 1.1 Mô hình hóa cơ thể dựa vào các đường bao theo [3]

Trang 15

- Ước lượng các hình thái cơ thể dựa vào các hình chiếu theo chiều ngang và

dọc

Hình 1.2 Hình chiếu ngang và dọc của cơ thể theo [3]

Hình 1.3 Hình chiếu của tương ứng với các hình thái của cơ thể theo [3]

Tác giả đã thử nghiệm mô hình với một chuỗi video ngoài trời chứa 1075 khung hình của một người đàn ông, kết quả nhận dạng cho thấy độ chính xác lên tới 95%

Tuy nhiên, độ chính xác của phương pháp này phụ thuộc phần lớn vào bước trích chọn đối tượng Việc nhị phân hóa ảnh trong các điều kiện môi trường khác nhau để thu được đối tượng thường gặp nhiều khó khăn Hơn nữa, khi các đối tượng cần nhận dạng có bóng, kết quả nhận dạng cũng sẽ không cao

Trang 16

Nhận dạng hình trạng người sử dụng đặc trưng trị riêng và vector riêng [1] Mục

đích của tác giả là xây dựng mô hình nhận dạng cho tương tác và điều kiển robot với

7 hình thái thông dụng là: đứng, chỉ tay sang trái, chỉ tay sang phải, giang hai tay sang ngang, giơ tay trái lên cao, giơ tay phải lên cao và giơ cả hai tay lên cao

Các tác giả chia thuật toán nhận dạng ra làm 2 phần, phần đầu tác giả dùng bộ lọc hạt (Particle Filter) với giải thuật Condensation để phát hiện theo dõi người trong khung hình

Hình 1.4 Theo dõi người dựa trên bộ lọc hạt theo [1]

Phần thứ hai, với mỗi người thu nhận được từ bước một, tác giả sử dụng phương pháp phân tích các thành phần chính (PCA) để giảm số chiều dữ liệu cho 7 lớp hình trạng

và đưa ra kết quả nhận dạng dựa vào 12 vector riêng

Trang 17

Hình 1.5 Các hình trạng người được nhận dạng trong các điều kiện khác nhau [1]

Kết quả thực nghiệm cho thấy, độ chính xác của phương pháp trung bình lên tới 95%

Nhận dạng hình trạng người dựa vào đặc trưng SURF [6] Trong nghiên cứu của

mình, tác giả sử dụng các đặc trưng SURF kết hợp với phương pháp phân lớp SVM nhằm phân loại 4 hình thái của cơ thể là đứng, cúi, ngồi và nằm nhằm phục vụ việc phát hiện các hành vi bất thường trong các phòng bệnh nhân

Trang 18

Hình 1.6 Nhận dạng hình trạng người dựa vào các đực trưng SURF [6]

Kết quả thực nghiệm cho thấy, phương pháp cho kết quả có độ chính xác tùy thuộc vào độ lớn của tập dữ liệu Với bộ tập dữ liệu 512 mẫu, độ chính xác đạt được là 94.13%

Nhìn chung, các phương pháp nhận dạng hình trạng người dựa trên ảnh màu trong những điều kiện cụ thể cho kết quả khá khả quan Tuy nhiên, độ chính xác của các phương pháp này phụ thuộc khá lớn vào chất lượng ảnh đầu vào, các điều kiện chiếu sáng và môi trường thực nghiệm

1.2 Nhận dạng hình trạng người từ Kinect

Kinect là một thiết bị điện tử được cung cấp bởi Microsoft với ý định ban đầu nhằm phục vụ các máy trò chơi Xbox 360 Tuy nhiên, nhờ sự tiện lợi và chi phí vừa phải, Kinect ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như phát hiện hình trạng người, xây dựng mô hình 3D, xây dựng các bộ tương tác ảo …

Hiện tại Microsoft cung cấp Kinect phiên bản 2.0 với cấu tạo cơ bản bao gồm:

- Camera màu RGB: cung cấp ảnh (hoặc video) có độ phân giải tới 1920x1080 (pixel) và tốc độ tới 60 khung hình trên giây (60 fps)

Trang 19

- Cảm biến độ sâu 3D: bao gồm một bộ phát và một bộ thu sóng hồng ngoại, có khả năng cho ảnh hồng ngoại với độ phân giải 512x424 (pixel)

- Hệ thống MIC: có khả năng thu nhận âm thanh từ mọi phía

Hình 1.7 Cấu tạo của một Kinect phiên bản 2.0

Ngoài thiết bị, Microsoft còn cung cấp bộ SDK để làm việc với Kinect, từ các hàm

có sẵn trong thư viện, người phát triển có thể dễ dàng tiếp cận các khung hình của camera màu, ảnh độ sâu 3D, đặc biệt SDK cung cấp thông tin hữu ích về tọa độ 3D của 25 khớp xương trên cơ thể người cũng như một số hình thái cơ bản của của cơ thể (trạng thái mở hoặc đóng của lòng bàn tay)

Trang 20

Hình 1.8 Các khớp xương được cung cấp bởi Kinect phiên bản 2.0

Sau đây là một số công trình nghiên cứu tiêu biểu về nhận dạng hình trạng người từ Kinect

Phương pháp nhận dạng hình trạng người từ ảnh độ sâu của Kinect được tác giả

Wen-June Wang và các đồng nghiệp đưa ra vào năm 2015 [9] nhằm nhận dạng 5 hình thái của cơ thể là đứng, cúi, ngồi, quỳ gối và nằm

Đầu tiên, tác giả trích chọn ra các đường bao của cơ thể qua các bước theo sơ đồ sau

Trang 21

Hình 1.9 Sơ đồ nhận dạng hình trạng người từ ảnh độ sâu của [9]

Hình 1.10 Hình bao cơ thể thừ ảnh chiều sâu của Kinect theo [9]

Hình bao của cơ thể sau đó được chiếu theo phương ngang để xác định xem cơ thể

có ở hình thái quỳ hay không Nếu không phải ở hình thái quỳ, kỹ thuật xương hình sao (star skeleton) sẽ được áp dụng cho toàn bộ hình bao của cơ thể để tìm ra các điểm đặc trưng của nó

Bắt đầu Chụp ảnh nền Chụp ảnh chứa người phép trừ nềnThực hiện

Nhị phân hóa ảnh

Thực hiện phép giản nở

Thành phần kết nối

Hình bao cơ thể người

Trang 22

Hình 1.11 Hình chiếu và trọng tâm của hình thái quỳ gối theo [9]

Các điểm đặc trưng này cùng với các điểm trọng tâm của hình bao cơ thể và các điểm chiều sâu sẽ được đưa vào một mạng neuron Learning Vector Quantization (LVQ)

để huấn luyện Kết quả huấn luyện sẽ được dùng để nhận dạng các hình thái cơ thể

Trong [5], các tác giả đề xuất phương pháp nhận dạng hình trạng dựa vào các khớp xương Trong nghiên cứu của mình, các tác giả xây dựng mô hình nhận dạng dựa trên

dữ liệu là các khớp xương mà Kinect cung cấp Theo tác giả, các khớp xương có ảnh hưởng lớn tới việc nhận dạng hình thái của cơ thể bao gồm các khớp A, B, C, D, E,

F, G, H, O và Q như hình vẽ dưới

Trang 23

Hình 1.12 Các khớp xương quan trọng quyết định hình thái cơ thể

Bằng mô hình SVM với dữ liệu đầu vào là tập các góc được tạo ra từ những khớp xương trên, các tác giả đã xây dựng thành công mô hình nhận dạng cho bốn hình thái của cơ thể là đứng, ngồi, cúi và nằm

Trang 24

Hình 1.13 Kết quả thực nghiệm phương pháp nhận dạng dựa trên các khớp xương

[5]

Trong [8], các tác giả xây dựng hệ thống dạy múa (dancing system) bằng cách sử

dụng nhiều Kinect thu thập các khớp xương trên cơ thể của các chuyên gia múa, sau

đó đồng bộ các khớp xương từ nhiều Kinect khác nhau rồi lưu vào cơ sở dữ liệu Khi một người khác muốn học múa, Kinect sẽ thu thập các khớp xương của người này, đồng bộ dữ liệu sau đó so sánh với các chuyển động đã có trước đó của các chuyên gia múa

Trang 25

Hình 1.14 Đồng bộ dữ liệu từ nhiều Kinect cho việc dạy múa theo [8]

là trong bóng tối, ít bị nhiễu bởi các đối tượng khác Tuy nhiên phương pháp này cũng có nhược điểm là trong trường hợp nằm thì khả năng phát hiện của Kinect không được chính xác, đồng thời nếu chỉ sử dụng một Kinect thì trong nhiều trường hợp người không nhìn trực diện về phía Kinect, hoặc các khớp xương bị che khuất cũng giảm độ chính xác của phương pháp

1.4 Mô hình đề xuất

Dựa trên phân tích các ưu, nhược điểm của các phương pháp hiện có, trong đề tài này, ta sẽ xây dựng một mô hình nhận dạng các hình trạng người dựa vào nhiều

Trang 26

Kinect, mục đích là giảm thiểu những thiếu xót trong việc nhận dạng hình trạng người

từ một Kinect Bằng việc sử dụng nhiều hơn một Kinect, ta sẽ có nhiều hình ảnh của một cơ thể hơn và từ đó tăng độ chính chính xác của việc nhận dạng trong những trường hợp cơ thể không nhìn trực diện vào một Kinect hay nói cách khác, đề tài thực hiện việc nhận dạng hình trạng người từ nhiều hướng nhìn khác nhau đối với Kinect

Về mặt lý thuyết, để đạt được mục tiêu nhận dạng hình trạng người trong mọi góc nhìn (người không hướng thẳng về Kinect), ta cần nhiều hơn một Kinect nhằm đảm bảo trong mọi trường hợp, mọi góc nhìn thì người luôn hướng thẳng vào một Kinect nào đó Việc triển khai quá nhiều Kinect có thể ảnh hưởng tới bài toán kinh tế, đồng thời, vì Kinect sử dụng sóng hồng ngoại để phát hiện đối tượng trước nó nên cũng có thể làm sai lệnh kết quả

Dựa vào điều kiện thực tế, trong đề tài này ta sẽ sử dụng 2 Kinect và bố trí sao cho 2 Kinect vuông góc với nhau như hình 1.15 Ta có thể bố trí 4 Kinect với mỗi cặp Kinect vuông góc với nhau (mỗi Kinect nằm trên một cạnh của hình vuông) để bao phủ hết

3600 trong phòng, tuy nhiên trong trường hợp người quay lưng lại với Kinect, ta có thể lấy đối xứng các khớp xương để suy ra người đang đứng trực diện với Kinect nên việc bố trí 4 Kinect như vậy là không cần thiết Việc sử dụng nhiều Kinect hơn nữa

có đều có thể suy ra tương tự từ việc sử dụng 2 Kinect

Trang 27

Hình 1.15 Hai Kinect được đặt vuông góc với nhau

Dữ liệu các khớp xương thu được từ 2 Kinect sẽ được đồng bộ nhằm mục đích chọn

ra khớp xương tương ứng chính xác

Để nhận dạng hình trạng người từ các khớp xương đã được đồng bộ, ta có thể sử dụng nhiều phương pháp khác nhau như dùng các phép logic if-else, các phương pháp học máy (machine learning) như mạng nơ ron, SVM … Trong đề tài này tác giả đề xuất

sử dụng mô hình SVM cho việc nhận dạng bởi các phân lớp hình trạng trong đề tài này tương đối đơn giản (chỉ có 4 lớp tương ứng với 4 hình trạng cơ thể người), hơn nữa mô hình SVM đã được nhiều nghiên cứu đánh giá là có độ chính xác cao, đơn giản cho sử dụng và thời gian huấn luyện mô hình tương đối ngắn

Sơ đồ tổng thể mô hình hệ thống đề xuất như hình sau

Trang 28

Hình 1.16 Hệ thống nhận dạng hình trạng đề xuất

Kinect 1

Kinect 2

Đồng bộ dữ liệu các khớp xương theo thời gian

Đồng bộ dữ liệu các khớp xương theo không gian

Trích chọn các đặc trưng

Huấn luyện các đặc trưng dựa trên mô hình SVM

Mô hình SVM đã được huấn luyên

Kinect 1

Kinect 2

Đồng bộ dữ liệu các khớp xương theo thời gian

Đồng bộ dữ liệu các khớp xương theo không gian

Trích chọn các đặc trưng

Huấn luyện các đặc trưng dựa trên mô hình SVM

Kết quả nhận dạng

Huấn luyện

hình trạng

Nhận dạng

hình trạng

Trang 29

CHƯƠNG II NHẬN DẠNG HÌNH TRẠNG NGƯỜI

TỪ NHIỀU KINECT

2.1 Giới thiệu chung

Kinect phiên bản 2.0 cung cấp thông tin về tọa độ 3D của 25 khớp xương, mỗi khớp xương có tọa độ ba chiều trong hệ tọa độ của Kinect Hệ tọa độ được biểu diễn như hình 2.1 với gốc tọa độ là tâm của camera hồng ngoại nằm trên Kinect, trục Y hướng lên trên, trục Z hướng về phía trước và trục X hướng sang bên phải

Hình 2.1 Hệ tọa độ Kinect

Khi Kinect hoạt động, tùy thuộc vào tốc độ xử lý của máy tính sẽ cho ra số lượng khung hình trong 1 giây (fps) khác nhau Trong trường hợp có nhiều Kinect cùng hoạt động, ta cần tìm một điểm thời gian mà ở đó có thể xem là dữ liệu chung của các Kinect như là dữ liệu thực sự của một đối tượng Cách thức để lấy dữ liệu như vậy gọi là đồng bộ dữ liệu về mặt thời gian

Vì thông tin của các khớp xương thu nhận được từ Kinect là tọa độ tương ứng với tọa

độ của từng Kinect riêng rẽ, để xử lý dữ liệu, ta cần tìm một hệ tọa độ chung cho tất

cả các khớp xương ở các Kinect khác nhau Cách đưa thông tin của các khớp xương

Y

X

Z

O

Trang 30

ở các Kinect riêng rẽ về chung một hệ tọa độ được gọi là đồng bộ dữ liệu theo không

gian

2.2 Thu Thập dữ liệu

Trong đề tài này, dữ liệu được thu thập từ 2 Kinect riêng rẽ, mô hình kết nối hệ thống

như sau

Hình 2.2 Sơ đồ kết nối hệ thống sưa tập dữ liệu từ 2 Kinect

Mỗi một Kinect được nối với một máy tính gọi là máy client, các máy client này sau

đó được nối với một máy chủ (server) có cài đặt sẵn NTP Server phục vụ cho việc

đồng bộ sau này

Khi hoạt động, các máy client sẽ liên tục thu nhận dữ liệu từ Kinect, dữ liệu này bao

gồm thông tin về tọa độ của 25 khớp xương (có thể ít hơn nếu Kinect không phát hiện

ra được) Sau đó các máy client sẽ gửi dữ liệu về máy chủ, kèm thông tin về thời gian

(timestamp) tại thời điểm thu thập dữ liệu Nhiệm vụ của máy chủ là đồng bộ dữ liệu

Máy chủ

Trang 31

từ các máy client rồi đưa ra kết quả cuối cùng về thông tin của các khớp xương tổng hợp được

2.3 Đồng bộ dữ liệu

2.3.1 Đồng bộ dữ liệu về thời gian

Vì các Kinect được nối với các máy tính khác nhau có tốc độ xử lý khác nhau, ta cần đồng bộ dữ liệu thu được từ các Kinect với mục đích đưa dữ liệu của các Kinect về cùng một thời điểm Sơ đồ việc đồng bộ dữ liệu theo thời gian như sau:

Với cấu hình máy tính thông thường khi kết nối vào Kinect, ta thường thu được dữ liệu 15 – 30 khung hình trên 1 giây Để đồng bộ dữ liệu của các Kinect, trong đề tài này ta giả sử rằng các Kinect sản sinh ra 25 khung hình trên mỗi giây, sau đó sẽ quy đổi dữ liệu các khung hình về các mốc thời gian tương ứng với 25 khung hình trên giây

Với giả thiết mỗi Kinect có fps là 25 khung hình trên giây, thì khoảng thời gian để Kinect cho ra một khung hình là 1000/25 = 40 (ms) Ta sẽ xét đồng bộ sau mỗi 40

ms, và chọn khung hình nào gần mốc này nhất

Gọi Dtx(K) là dữ liệu khung hình của Kinect K tại mốc thời gian đồng bộ tx, với tx

được tính theo đơn vị timestamp của máy chủ NTP (đồng thời cũng là đơn vị tính của

các máy kết nối với Kinect 1 và Kinect 2), tx được lấy mốc là khi hệ thống hoạt động

và điểm cuối là điểm khi hệ thống dừng hoạt động, các môc thời gian đồng bộ tx là

bội số của thời gian của 1 khung hình Kinect (với giả thiết như trên là 40 ms) Khi

Lưu trữ và đánh dấu

dữ liệu D1, D2 là thời

điểm t1

Ngày đăng: 28/02/2021, 10:04

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

TÀI LIỆU LIÊN QUAN

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

w