Tải bản đầy đủ (.pptx) (50 trang)

Nhận dạng ngôn ngữ ký hiệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.29 MB, 50 trang )

Đồ
Đồ án
án 11

NHẬN DẠNG NGÔN NGỮ KÝ HIỆU

Giảng viên hướng dẫn: TS.Hà Hoàng Kha

L/O/G/O


NỘI
NỘI DUNG
DUNG

Camera

Kinect
PCA

SVM

Chương trình nhận dạng ngôn ngữ ký hiệu thời gian thực sử
dụng chương trình MATLAB


TỔNG
TỔNG QUAN
QUAN ĐỀ
ĐỀ TÀI
TÀI





1.
2.
3.

Bài toán phát hiện đối tượng.
Nhiệm vụ của đề tài
Tìm hiểu tổng quan xử lý ảnh số, thuật toán lọc nhiễu, bắt ảnh động và nhận dạng.
Nghiên cứu cơ sở lý thuyết 2 thuật toán nhận dạng PCA và SVM.
So sánh ưu khuyết điểm 2 thuật toán PCA và SVM trong nhận dạng cử chỉ tay.


Ý
Ý NGHĨA
NGHĨA -- ỨNG
ỨNG DỤNG
DỤNG



Giúp người câm có thể hoàn toàn giao tiếp với người bình thường thông qua việc sử dụng ký hiệu
ngôn ngữ tay để diễn đạt.


Ý
Ý NGHĨA
NGHĨA -- ỨNG
ỨNG DỤNG

DỤNG



Công
nghiệp:
chếcông
tạo Robot
bám
theolên
cáccác
cửSmart
động bàn
tay Smart
hoạt động
trong môi
trường
khắc
như
khu
Giải trí:
tích hợp
nghệ xử
lý ảnh
House,
TV, Smart
Phone,
laptop,
v.v..
tương

vực
cóđiều
phóng
xạ cao,
khu vực
dễ xảy
tai với
nạn.các cử chỉ của bàn tay.
tác và
khiển
các thiết
bị trong
gia ra
đình


Tổng
Tổng quan
quan về
về ảnh
ảnh số
số
Các đặc trưng cơ bản của 1 ảnh số:








Điểm ảnh (pixel)
Độ phân giải (resolution)
Mức xám (grayscale)
Lược đồ xám (histogram)
Các không gian màu (color space)


TÌM HIỂU VÀ ỨNG DỤNG CỦA KINECT


TÌM HIỂU VÀ ỨNG DỤNG CỦA KINECT
BodyPosture

Cho biết rằng khung xương mà camera nhận dạng được đang ở trạng thái đứng (Standing) hay ngồi (Seated). Với giá trị khung xương đứng ( thiết bị
cung cấp 20 điểm trên khung xương) và khung xương ngồi (cung cấp 10 điểm, sử dụng các điểm từ 2-11). Trạng thái mặc định từ thiết bị là Standing.

CameraElevationAngle

0
0
Góc quay của ống kính cảm biến. Giá trị cài đặt phải là số nguyên trong phạm vi [-27 , 27 ].

DepthMode

Thiết lập mức sâu của của cảm biến. Giá trị là Default( có tầm từ 50 đến 400cm) và Near( có tầm từ 40 đến 300cm).

FrameRate

Thiết lập số khung chụp trong 1 giây.


SkeletonsToTrack

Cho biết Skeleton Tracking ID ta có được trong dữ liệu chiều sâu từ cảm biến. Ví dụ:
[TrackingID1] theo dấu 1 khung xương với Tracking ID = TrackingID1
[TrackingID1 TrackingID2] theo dấu 2 khung xương với Tracking IDs = TrackingID1 and TrackingID2.

TrackingMode

Chỉ ra trạng thái hoạt động của việc theo dõi khung xương từ camera. Có các giá trị là:
Skeleton: theo dấu toàn bộ khung xương với tất cả các khớp
Position :vị trí của các khung xương.
Off :tắt theo dõi.


TÌM HIỂU VÀ ỨNG DỤNG CỦA KINECT
IsPositionTracked

Ma trận [1x6] có giá trị nhị phân, cho biết số khung xương mà thiết bị nhận dạng được.

JointDepthIndices

Nếu đặc tính BodyPosture được đặt ở trạng thái Standing, thì dữ liệu JointDepthIndices là dữ liệu gồm toạ độ X-Y của 20 khớp
xương trong ảnh độ sâu.
Nếu đặc tính BodyPosture được đặt ở trạng thái Seated, thì dữ liệu là toạ độ x-y của 10 khớp khương trong ảnh độ sâu.

JointImageIndices

Nếu đặc tính BodyPosture được đặt ở trạng thái Standing, thì dữ liệu JointDepthIndices là toạ độ X-Y của 20 khớp xương trong
ảnh màu.
Nếu đặc tính BodyPosture được đặt ở trạng thái Seated, thì dữ liệu là toạ độ x-y của 10 khớp khương trong ảnh màu.


JointTrackingState

Đây là ma trận [20x6] cho biết trạng thái theo dõi 20 khớp xương từ cảm biến tương ứng với 6 bộ xương. Giá trị là:
0: không nhận ra từ dữ liệu thu về.
1: tự dự đoán vị trí các khớp xương theo các thuật toán của Kinect.
2: nhận được từ dữ liệu thu về.


TÌM HIỂU VÀ ỨNG DỤNG CỦA KINECT
JointWorldCoordinates

Đây là ma trận [20x3x6] của hệ toạ độ x-y-z cho 20 khớp xương, trong đó z là khoảng cách từ bộ xương nhận được tới Kinect.
Nếu BodyPosture ở trạng thái Standing thì nhận được 20 khớp xương. Nếu BodyPosture ở trạng thái Seated thì nhận được 10
khớp xương.

PositionDepthIndices

Đây là ma trận [2x6] cung cấp giá trị vị trí của khung xương trong khung ảnh độ sâu.

PositionImageIndices

Đây là ma trận [2x6] cung cấp giá trị vị trí của khung xương trong khung ảnh màu.

PositionWorldCoordinates

Đây là ma trận [3x6] cung cấp giá trị vị trí của khung xương trong không gian 3 chiều, với Z là khoảng cách từ khung xương tới
cảm biến.

RelativeFrame


Địa chỉ Frame(mẫu) trong 1 lần trigger.

SegmentationData

Ảnh nhị phân hiển thị cơ thể người tách ra khỏi môi trường thật.

SkeletonTrackingID

Địa chỉ ID tương ứng với mỗi đối tượng Kinect nhận diện được.

TriggerIndex

Số thự tự lần Trigger tương ứng.


Bài toán phân 2 lớp cho SVM
Cho tập mẫu D = {(x1, y1), (x2, y2), …, (x3, y3)} với xi ϵ ℝn, thuộc vào hai lớp nhãn : {-1,1} là hai lớp
nhãn tương ứng của các (1 biểu thị lớp , -1 biểu thi lớp ).
xi

F(x) =w.x + b = 0


Bài toán phân 2 lớp cho SVM



wx + b ≥ 1 thuộc lớp y =1
i

i
wx + b ≤ -1 thuộc lớp y =-1
i
i

yi.(xi.w + b) – 1 ≥ 0


Hệ thống nhận dạng


Dữ liệu huấn luyện và nhận dạng

realVid = videoinput('kinect',1);
depthVid = videoinput('kinect',2);
triggerconfig(depthVid, 'manual');
depthVid.FramesPerTrigger=1;
depthVid.TriggerRepeat=inf;
triggerconfig(realVid, 'manual');
realVid.FramesPerTrigger=1;
realVid.TriggerRepeat=inf;
set(getselectedsource(depthVid),'TrackingMode', 'Skeleton');
start(depthVid);
start(realVid);


Tách bàn tay ra khỏi môi trường thật
[depthMap,~,depthMetaData]=getdata(depthVid);
data=getdata(realVid);
rightHand=depthMetaData.JointImageIndices(12,:,idx);

rightHandBox=[rightHand-100 200 200];
handDepthImage = imcrop(depthMap,rightHandBox);
handSegImage = imcrop(depthMetaData.SegmentationData,rightHandBox);
BW=double(handDepthImage).*double(handSegImage>0);
BW=imfill(BW,'holes');
BW=imclose(BW,strel('disk',5));
[x, y]=size(handReal);
handRealImage=rgb2gray(handRealImage);
for i=1:x
for j=1:y
if BW(i,j)==0
handRealImage(i,j)=255;
end
end
end


Huấn luyện SVM
for i =1:sotaphuanluyen
for i =1 : kichthuoc1taphuanluyen
img = imread(str);
[dong cot] = size(img);
tam = reshape(img,1,dong*cot);
in=[in;tam];
end
end
for j=1:solop
for i=1:kichthuoclop
out=[out;i];
end

end

% bien anh thanh vector

% tang dan kich thuoc ma tran T


Huấn luyện SVM
in=double(in);
out=double(out);
u=unique(out); % chuyển ma trận out với dữ liệu lặp thành ma trận u là dữ liệu của ma trận out không lặp
solop=length(u); % với 24 cử chỉ thì solop=24
MaxIter=statset('MaxIter',Inf,'Display','final'); % số vòng lặp vô hạn
for k=1:solop
G1vAll=(out==u(k));
models(k) = svmtrain(in,G1vAll,'options',MaxIter);
end
truct=models;


Huấn luyện SVM
>> out=[1 2 3 4 1 2 3 4 1 2 3 4];
>> u=unique(out)
u =
1

2

3


4

>> G1vAll=(out==u(1))
G1vAll =
1

0

0

0

1

0

0

0

1

0

0

0

0


0

0

1

0

0

>> G1vAll=(out==u(2))
G1vAll =
0

1

0

0

0

1


Nhận dạng SVM
[dong cot] = size(anhvao);
tam = reshape(anhvao,1,dong*cot); tam=double(tam);
for k=1:24
if(svmclassify(truct(k),tam))

vitri=k;
break;
else
vitri=0;
end
end


Kết quả


Contents
ThemeGallery is a Design Digital Content & Contents mall
developed by Guild Design Inc.

Add your text in here

Add your text in here

Add your text in here

Add your text in here

Add your text in here

Add your text in here

Add your text in here

Add your text in here


Add your text in here

Add your text in here

Contents 1

Contents 2


Hay ha

Title in here

Click to add Text



Click to add Text



Click to add Text



Click to add Text




Click to add Text



Click to add Text



Click to add Text



Click to add Text

Click to add Text



Click to add Text



Click to add Text

Title in here

SVM

Click to add Text


Title in here



Click to add Text



Click to add Text

Describe aa vision
vision of
of company
company or
or strategic
strategic contents.
contents.
Describe

PCA







KINECT



Hot Tip



How do I incorporate my logo to a slide that will apply to all the other
slides?



On the [View] menu, point to [Master], and then click [Slide Master] or [Notes Master]. Change
images to the one you like, then it will apply to all the other slides.

[ Image information in product ]



Image : www.themegallery.com



Note to customers : This image has been licensed to be used within this PowerPoint template only.
You may not extract the image for any other use.


Click to edit title style

e

ur
Yo

re
He
xt
Te

r
He
t
x
Te

e

Yo
ur
Te
xt

r
He
xt
Te

contents

developed by Guild Design Inc.

He

ur

Yo

Description of the

ThemeGallery is a Design Digital Content & Contents mall

re

ur
Yo Click to add Text

Contents

Click to add Text
Click to add Text
Click to add Text
Click to add Text


Click to edit title style

Click to add Text



Click to add Text

Contents

ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc.


Click to add Text


×