Nhận dạng cử chỉ bàn tay bằng phương pháp internalhaar like.

16 932 0
Nhận dạng cử chỉ bàn tay bằng phương pháp internalhaar like.

Đ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ị giác máy tình là một lĩnh vực đã và đang phát triển mạnh mẽ trên thế giới hiện nay.Khái niệm về thị giác máy tính – Computer Vision có lien qua tới nhiều ngành học và có nhiều hướng nghiên cứu khác nhau.Kể từ những năm 70 của thế kỉ 20 khi mà khả năng tính toàn của các máy tính trở nên mạnh mẽ,nó có thể giải quyết được những công việc cần tới tốc độ cao như xử lý các tập ảnh hay các đoạn video thị giác máy tính được nhắc đến,nghiên cứu và phát triển cho đến nay Thị giác máy tính là một lĩnh vực rất mới mẻ đối với các nhà nghiên cứu ở Việt Nam,nó chỉ mới xuất hiện gần đây ở trong các tổ chức quân đội và một số viện nghiên cứu khác.Việc áp dụng thị giác vào các nghiên cứu khoa học được coi là một khởi đầu cho chặng đường phát triển của thị giác máy ở các trường đại học hiện nay.

MỞ ĐẦU Sự đời phát triển máy tính giúp ích nhiều cho công việc sống người Với máy tính, người làm việc giải trí theo nhu cầu sử dụng cá nhân Tuy nhiên, việc giao tiếp người máy tính phụ thuộc chủ yếu vào bàn phím chuột, người phải ngồi thao tác trực tiếp với máy tính Dần dần, nhà sản xuất thấy bất tiện tạo bàn phím chuột không dây với mong muốn mang lại tự cho người dùng Tuy nhiên,với bàn phím không dây người phải tương tác với máy tính phím học Con người thật thoải mái việc tương tác với máy tính thực thông qua ngôn ngữ cử giọng nói Đó vấn đề đặt cho toán phát bàn tay Trong sống hàng ngày, phát bàn tay giúp cho việc giao tiếp người với máy tính, máy tính chuyển ngôn ngữ cử thành chữ viết Trong công nghiệp sản xuất, cần trang bị cho robot hệ thống camera, việc điều khiển robot trở nên đơn giản hết Trong lĩnh vực đồ họa chiều, ta dùng số động tác yêu cầu máy tính xoay mô hình theo ý muốn Trong công việc văn phòng, phát bàn tay giúp ta yêu cầu máy tính thực thi chương trình, mở hát, gửi thư với vài cử hiệu từ xa Trong lĩnh vực giải trí, trò chơi thực tế ảo (Virtual Reallity, người chơi điều khiển hành động nhân vật hành động Với yêu cầu thực tế ứng dụng đem lại lĩnh vực phát bàn tay, mục tiêu đề tài là tìm hiểu phương pháp phát bàn tay, từ xây dựng mô hình phù hợp cho toán phát bàn tay, áp dụng vào điều khiển chương trình máy tính Bố cục bào cáo bao gồm phần sau Mở đầu Phần mở đầu tập trung phân tích nêu rõ tính cấp thiết đề tài, mục tiêu đối tượng nghiên cứu đề tài giới thiệu lịch sử phát triển vấn đề nghiên cứu trình bày cấu trúc đề tài Chương : Tổng quan thị giác máy tính Chương giới thiệu tổng quan thị giác máy tính bao gồm khái niệm, ứng dụng thực tế nhận dạng Chương : Phương pháp phát bàn tay Internal Haar-like Chương giới thiệu toán phát bàn tay, tổng quan đặc trưng phương pháp phát bàn tay Internal Haar-like việc áp dụng đặc trưng Haar-like để phát bàn tay Chương 3: Chuẩn bị liệu tìm hiểu thuật toán Adaboots Tìm hiểu viết chương trình phần mềm matlap để lấy liệu cần thiết cho trình huấn luyện Chương : Cài đặt thuật toán xây dựng hệ thống thử nghiệm Trình bày chi tiết sơ đồ hệ thống phát bàn tay nguyên lý hoạt động khối sơ đồ Chương trình bày quy trình thiết kế tập cử tay, tìm hiểu đánh giá tập cử tay tồn tại, từ đề xuất tập cử tay phù hợp cho toán phát bàn tay điều khiển chương trình máy tính Cuối chương phần thử nghiệm đánh giá so sánh kết hệ thống với số phương pháp khác tiêu chí toán phát bàn tay Chương 5: Kết Luận Nhận xét ưu nhược điểm phương pháp hướng phát triển CHƯƠNG I TỔNG QUAN VỀ THỊ GIÁC MÁY TÍNH 1.1 Giới thiệu thị giác máy – Computer Vision Thị giác máy tình lĩnh vực phát triển mạnh mẽ giới nay.Khái niệm thị giác máy tính – Computer Vision có lien qua tới nhiều ngành học có nhiều hướng nghiên cứu khác nhau.Kể từ năm 70 kỉ 20 mà khả tính toàn máy tính trở nên mạnh mẽ,nó giải công việc cần tới tốc độ cao xử lý tập ảnh hay đoạn video thị giác máy tính nhắc đến,nghiên cứu phát triển Thị giác máy tính lĩnh vực mẻ nhà nghiên cứu Việt Nam,nó xuất gần tổ chức quân đội số viện nghiên cứu khác.Việc áp dụng thị giác vào nghiên cứu khoa học coi khởi đầu cho chặng đường phát triển thị giác máy trường đại học 1.2 Thế thị giác máy ? Thị giác máy tính bao gồm lý thuyết mặt kỹ thuật liên quan nhằm mục đích tạo hệ thống nhân tạo nhận thông tin từ hình ảnh thu tập liệu đa chiều Máy móc thông minh ,nó không thay người làm công việc nặng nhọc nhàm chán mà có số khả bắt chước động vật người.Một số khả nhận biết giới qua “mắt” nó.bằng việc kết hợp với mô hình khác máy học,mạng nơron giúp cho chúng dần tiến tới hệ thống nhân tạo có định hoạt Lĩnh vực nghiên cứu thị giác máy rộng ,và đặc bđiểm chung toán thị giác đề chung cách giải định cho trưởng hợp cụ thể Ta thấy tương quan thị giác máy với lĩnh vực khác sau: 1.3 Các ứng dụng thị giác máy Một số ứng dụng thị giác máy vào lĩnh vực sau:  Điều khiển tiến trình(ví dụ : robot công nghiệp,xe tự lái )  Phát thay đổi(ví dụ : thiết bị giảm sát )  Tổ chức thông tin(ví dụ chuổi ảnh liên tục)  Mô  hình hóa đối tượng (ví dụ xử lý ảnh y học) Tương tác (đóng vai trò làm đầu vào cho thiết bị trình tương tác người máy) 1.4 Các thư viện thị giác máy mã nguồn mở Chúng ta tận dụng thành cộng đồng mã nguồn mở để áp dụng cho ứng dụng thị giác máy mình.Hiện giới có nhiều thư viện mã nguồn mở cho sử dụng : - Intel OpenCV - CMVision - ImLib3D - Imalab - … v …v 1.4.1 Tìm hiểu thư viện Intel OpenCV Intel đưa phiên OpenCV vào năm 1999.Ban đầu,nó thư viện xử lý ảnh Intel.Về sau,tính lệ thuộc loại bỏ bạn sử sụng OpenCV thư viện độc lập.OpenCV thư viện đa nên tảng,nó chấp nhận Window Linux,hơn gần chấp nhận thêm Mac OSX OpenCV một thư viện thị giác máy tính mã nguồn mở Intel làm đơn giản hóa công việc lập trình thị giác máy tính bạn OpenCV bao gồm nhiều khả tiên tiến-tìm,theo dõi,nhận dạng bề mặt,lọc Kalman,là đa dạng hệ thống trí tuệ nhân tạo Ngoài cấp sở thuật toán thị giác máy tính thông qua giao diện lập trình ứng dụng mức thấp.Nó đóng gói hoàn toàn miễn phí,người dùng sãn sàng sử dụng cho mục đích khác họ CHƯƠNG II PHƯƠNG PHÁP PHÁT HIỆN BÀN TAY INTERNAL HAAR - LIKE Tổng quan đặc trưng Haar-like Đặc trưng Haar like loại đặc trưng thường dùng cho toán nhận dạng ảnh Mỗi đặc trưng Haar-like chứa 2, miền hình học có màu “trắng” “đen.” dùng để tính độ chênh lệch giá trị điểm ảnh vùng kề Trong hình 1.1a 1.1b, giá trị feature cho ảnh hiệu số tổng điểm ảnh thuộc hai vùng hình chữ nhật sáng tối Trong hình 1.1c giá trị feature tổng điểm ảnh hai vùng hình chữ nhật bên trừ cho tổng điểm ảnh hình chữ nhật Trong hình 1.1d, giá trị feature tổng điểm ảnh nằm vùng hai hình chữ nhật màu tối trừ cho tổng điểm ảnh nằm hai hình chữ nhật màu sáng Hình 1.1a - Các đặc trưng cạnh Hình 1.1b - Các đặc trưng đường Hình 1.1c - Các đặc trưng bao quanh tâm Hình 1.1d - Đặc trưng đường chéo Giá trị đặc trưng Haar-like đơn giản khác biệt tổng giá trị xám pixel vùng “đen” với tổng giá trị xám pixel vùng “trắng”: f(x)=Sumblack rectangle (pixel gray level) – Sumwhite rectangle (pixel gray level) Nhận thấy ý nghĩa đặc trưng Haar-like thể tri thức đối tượng ảnh (thông qua việc thể mối quan hệ phận đối tượng.) Ta tính giá trị đặc trưng Haar-like nhanh thông qua cách thức gọi “Integral Image.” Ở đây, Integral Image vị trí (x, y) có giá trị tổng giá trị pixel nằm hình chữ nhật định góc trái (0, 0) góc phải (x, y): P ( x, y ) = ∑ i( x' , y ' ) x '≤ x , y '≤ y Từ đây, ta tính tổng giá trị pixel hình chữ nhật thông qua Integral Image đỉnh Ví dụ: Tính D Trong hình vẽ trên: • A, B, C, D tổng giá trị pixel hình chữ nhật tương ứng • P1, P2, P3, P4 Integral Image đỉnh hình chữ nhật D Có ngay: P1 = A, P2 = A + B, P3 = A + C, P4 = A + B + C + D Suy ra: P1+ P4–P2–P3= A + (A + B + C + D) – (A + B) – (A + C) = D Vậy ta có: D = P1 + P4 – P2 – P3 Hình dung ban đầu việc áp dụng đặc trưng Haar - Like để phát bàn tay Để phát tay ảnh quét cửa sổ chứa đặc trưng Haar-like Ứng với đặc trưng Haar-like fj ,một phận lớp yếu yj(x) định nghĩa sau: Trong đó: • • • x cửa sổ ngưỡng hệ số với ý nghĩa định dấu bất phương trình Ta hiểu công thức đơn giản sau : giá trị đặc trưng Haar-like cửa sổ x vượt ngưỡng bàn tay, ngược lại bàn tay 10 CHƯƠNG CHUẨN BỊ DỮ LIỆU VÀ TÌM HIỂU THUẬT TOÁN ADABOOTS I CHUẨN BỊ DỮ LIỆU 1.1 Tìm hiểu viết chương trình lấy liệu môi trường matlap function getGroundTruth4Images(sourceDir,desDir,result_file,first_time) finished = 0; current_file_idx = 1; if (first_time) display('Lan 1'); ground_truth.dir_name = desDir; ground_truth.files = getAllFiles(sourceDir current_file_idx = 1; else display('Lam tiep'); load(result_file); end if(~finished) numFiles = size(ground_truth.files,1); %dirImg = 'D:\MyDocuments\Downloads\learm'; figure('units','normalized','outerposition',[0 1]); for i = current_file_idx:numFiles img=imread(ground_truth.files{i}); fileSave = strrep(ground_truth.files{i}, sourceDir, desDir); size(img) imshow(img); title(strcat('Image:',num2str(i),'/',num2str(numFiles),':', ground_truth.files{i})); set(gcf,'units','normalized','outerposition',[0 1]); hRect = imrect;% cho phép tạo kéo chọn hình chữ nhật pause; %tạm dừng chương trình rect = getPosition(hRect);% lấy tât hình chữ nhật ground_truth.rects(i,:) = rect(:);%danh sách hình chữ nhật thứ i hình có thông tin gán vào 11 croppedImg = imcrop(img, rect); %sao chép liệu imwrite(croppedImg,fileSave);% ghi kết current_file_idx = i;% ảnh save(result_file, 'ground_truth', 'finished','current_file_idx');% ghi lại giá trị end close all; finished = 1; save(result_file, 'ground_truth', 'finished') % ghi lại kết end 1.2 Dữ liệu huấn luyện Dữ liệu huấn luyện kiểm thử lấy từ sở liệu NUS image database - Bộ ảnh gốc có: gồm 280 ảnh có kích thước 160x120(pixels) Chúng ta tiến hành lấy liệu huấn luyện qua lượt quét hình chữ nhật chứa đặc trưng Haar-like Lượt 1: tiến hành quét hình chữ nhật có kích thước to chứa đặc trưng Haar-like phía bên lòng bàn tay không chứa viền Hình ảnh quét hình chữ nhật chứa đặc trưng Haar-like Kết sau quét hình chữ nhật chứa đặc trưng Haar-like liệu để tiến hành huấn luyện chương sau 12 Hình ảnh kết Lượt 2: tiến hành quét hình chữ nhật có kích thước nhỏ chứa đặc trưng Haar-like bàn tay chứa viền Hình ảnh quét hình chữ nhật chứa đặc trưng Haar-like chứa bàn tay Kết sau quét hình chữ nhật chứa đặc trưng Haar-like liệu để tiến hành huấn luyện chương sau 13 Hình ảnh kết 1.3 Kịch huấn luyện II TÌM HIỂU THUẬT TOÁN ADABOOTS Thuật toán Adaboost (Adaptive boost) với nhận dạng cử Sơ ý tưởng: Kỹ thuật Boosting: nguyên tắc Boosting kết hợp phân lớp yếu (hay phân lớp sở) để tạo nên phân lớp mạnh Các phân lớp yếu chí cần nhỉnh phương pháp random chút Bằng cách này, ta nói phân lớp “boost.” Adaboost thuật toán sử dụng kỹ thuật Boosting đưa Freund Schapire vào 1996 Thuật toán sử dụng phổ biến cho toán nhận dạng cử bàn tay Điểm cải tiến Adaboost ta gán cho mẫu trọng số Ý nghĩa việc gán trọng số sau: 14 Ở vòng lặp trình huấn luyện, phân lớp yếu yi xây dựng, ta tiến hành cập nhật trọng số cho mẫu Việc cập nhật tiến hành sau: ta tăng trọng số mẫu bị phân lớp sai phân lớp yếu yi giảm trọng số mẫu phân lớp yi Bằng cách này, vòng lặp kế, ta xây dựng phân lớp yếu yi+1 theo hướng: tập trung vào mẫu bị phân lớp sai phân lớp yếu trước Cuối cùng, để có phân lớp mạnh, ta kết hợp tuyến tính phân lớp yếu tìm lại với Mỗi phân lớp yếu đánh trọng số tương ứng với độ tốt phân lớp yếu Đến đây, có lẽ ta hiểu ý nghĩa từ “Adaptive” (thích nghi) tên gọi thuật toán này: phân lớp yếu tạo thành chuỗi, phân lớp yếu sau tập trung giải mẫu bị phân lớp sai phân lớp yếu trước 2.Thuật Toán Cho tập ảnh huấn luyện (x1, t1), …, (xn, tn) với ti {-1, 1} Khởi tạo hệ số trọng cho mẫu huấn luyện: với n = 1, 2, …, N For m = 1, …, M: (a)Xây dựng phân lớp yếu ym: + Với đặc trưng j, xây dựng phân lớp yjvới độ lỗi: (1.0) với = ngược lại + Chọn phân lớp yj với độ lỗi nhỏ ta ym (b) Cập nhật trọng số: + Tính: (1.1) và: (1.2) + Cập nhật trọng số: (1.3) Bộ phân lớp mạnh cuối cùng: (1.4) 15 16

Ngày đăng: 23/11/2016, 15:38

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • CHƯƠNG I

  • 1.1 Giới thiệu về thị giác máy – Computer Vision.

  • 1.2 Thế nào là thị giác máy ?

  • 1.3 Các ứng dụng của thị giác máy

  • 1.4 Các thư viện thị giác máy mã nguồn mở.

  • 1.4.1 Tìm hiểu thư viện Intel OpenCV.

  • CHƯƠNG II

  • CHƯƠNG 3

  • I. CHUẨN BỊ DỮ LIỆU.

    • 1.1 Tìm hiểu và viết chương trình lấy dữ liệu trên môi trường matlap.

    • 1.2 Dữ liệu huấn luyện.

    • 1.3 Kịch bản huấn luyện.

Tài liệu cùng người dùng

Tài liệu liên quan