1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

XÂY DỰNG mô HÌNH điều KHIỂN THIẾT bị DÙNG cử CHỈ bàn TAY (có code)

38 272 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 38
Dung lượng 3,94 MB

Nội dung

ĐỒ ÁN TỐT NGHIỆP Trang 1/38 ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG HÌNH ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ BÀN TAY Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 2/38 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu nhận dạng cử bàn tay Với phát triển khoa học ngày nay, tương tác robot người trở thành lĩnh vực ý Hiện có nhiều kỹ thuật nhận dạng nghiên cứu như: nhận dạng dấu vân tay, nhận dạng khuôn mặt người, nhận dạng ký tự/chữ/số Và nhận dạng cử bàn tay nghiên cứu đưa vào sử dụng rộng rãi Cử bàn tay đưa vào sử dụng hiệu nhằm đưa lệnh cho robot thực thi Một số ứng dụng: • Người máy tính tương tác với • Tương tác với thiết bị ngoại vi • Ứng dụng khác Hình 1- Hình ảnh sử dụng TV với cử bàn tay Error: Reference source not found Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 3/38 Ngoài ra, nhận dạng cử bàn tay còn có khả ứng dụng vào việc giao tiếp với người bị câm, điếc… 1.2 Mục tiêu đề tài Đề tài “Xây dựng hình điều khiển thiết bị dùng cử bàn tay” thực bao gồm xây dựng hình nhận dạng cử bàn tay dùng phần mềm MATLAB2016a, kết hợp với máy tính có sẵn webcam để thu thập cử (đếm số ngón tay) để điều khiển thiết bị nhà TV, đèn, quạt, … 1.3 Nội dung thực Đề tài thực gồm nội dung sau: - - - Tìm hiểu lý thuyết xử lý ảnh lý thuyết nhận dạng cử bàn tay o Các khái niệm ảnh/ảnh số o Các kỹ thuật xử lý ảnh o Các phương pháp/kỹ thuật nhận dạng Tìm hiểu phương pháp phân tích thành phần (P C A) ứng dụng Lập trình ứng dụng nhận dạng cử MATLAB thực đánh giá o Xây dựng CSDL cử dùng cho huấn luyện đánh giá o Lập trình xử lý ảnh bàn tay cho nhận dạng dùng P C A Xây dựng hệ thống áp dụng kỹ thuật nhận dạng cử cho việc điều khiển thiết bị o Thu thập ảnh cử qua ảnh có sẵn webcam o Kết hợp vi điều khiển để điều khiển thiết bị nhà TV, đèn, quạt, … Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 4/38 CHƯƠNG LÝ THUYẾT XỬ LÝ ẢNH VÀ NHẬN DẠNG 2.1 Tổng quan xử lý ảnh 2.1.1 Điểm ảnh ( picxel ) Điểm ảnh phần tử ảnh số có toạ độ ( x , y ) với mức xám hay màu định Khoảng cách kích thước điểm ảnh chọn phù hợp để mắt người cảm nhận liên tục không gian mức xám (hoặc màu sắc) ảnh số gần ảnh thật 2.1.2 Mức xám ảnh Hình 2- Các mức xám.Error: Reference source not found Mức xám kết cho mã hoá tương ứng cường độ sáng điểm ảnh, với giá trị số Cách mã hoá thường dùng 16, 32 hay 64 mức Mã hoá 256 mức phổ biến = 256 (0, 255), nên với 256 mức, pixel mã hoá bit ( hay byte) 2.1.3 Phân loại ảnh • Ảnh nhị phân Mỗi điểm ảnh biểu diễn bit Giá trị điểm ảnh nhận hai giá trị Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 5/38 Hình 2- Biểu diễn cho mức trắng đen.Error: Reference source not found Hình 2- Ảnh nhị phân.Error: Reference source not found • Ảnh xám Giá trị điểm ảnh nằm tập [0 255], điểm ảnh biểu diễn byte ( bits ) Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 6/38 Hình 2- Ảnh xám.Error: Reference source not found • Ảnh màu Hình 2- Ảnh màu R G B.Error: Reference source not found o Hệ màu R G B chế độ hiển thị màu sắc tự nhiên hình CRT, hình LCD hình plasma Hệ màu R G B hệ màu tốt cho thiết kế: thiết kế website, hình ảnh kỹ thuật số, thiết kế tài liệu quảng cáo trực tuyến… o Hệ màu C M Y K hình màu tất màu tả hỗn hợp trình hòa trộn bốn màu sắc C M Y K hình màu sử dụng in offset cho tài liệu đầy đủ màu sắc Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 7/38 o Hệ màu YcbCr : hệ không gian màu dùng phần đường dẫn ảnh màu video hệ thống hình nhiếp ảnh kỹ thuật số 2.2 Kỹ thuật nhận dạng dùng xử lý ảnh Nhận dạng ảnh trình xác định vật thể/hình dạng ảnh Quá trình thường thu cách so sánh với mẫu chuẩn học từ trước 2.2.1 Hệ thống nhận dạng dùng xử lý ảnh Hình 2- Các giai đoạn xử lý ảnh 2.2.2 Một số phương pháp nhận dạng Việc giải toán nhận dạng, ứng dụng mới, nảy sinh sống không tạo thách thức giải thuật, mà còn đặt yêu cầu tốc độ tính tốn Nên có nhiều phương pháp nhận dạng nghiên cứu để giải toán nhận dạng khác Mỗi phương pháp có nhửng tính hiệu định, sau vài phương pháp phổ biến lĩnh vực nhận dạng 1.1.1.1 Phương pháp phân tích thành phần P C A Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 8/38 P C A – Principaul Components Analysiss : Là phương pháp đơn giản để phát đối tượng , sử dụng cường độ xám màu điểm ảnh để biểu diễn đối tượng Phương pháp nhằm giảm số chiều ảnh mà giữ lượng thơng tin lớn 1.1.1.2 Phương pháp phân tích thành phần độc lập I C A I C A - Indepeudent Compouent Analysis: Để định nghĩa I C A, ta dụng hình biến ẩn thống kê, n biến ngẫu nhiên x 1, …, xn, tổ hợp tuyến tính n biến ngẫu nhiên s1… sn dạng: xi = ai1s1 + ai2s2 +…+ ainsn , i = 1,2,…,n với aij (i, j = 1, …, n) hệ số thực Các s i độc lập thống kê với hình I C A giải bà i tốn x As với điều kiện ràng buộc sau: • Nguồn tín hiệu gốc ban đầu độc lập thống kê với • Ma trận trộn A ma trận vng • Tối đa có nguồn tín hiệu gốc có phân bố Ganss Phương pháp I C A giải toán x As phương pháp thống kê thông qua việc ước lượng vector y = Wvx (đặt Wv = Av-1) 1.1.1.3 Phương pháp H O G (Histosgram Ogrientations Grandient) Là hình dạng đối tượng ảnh đặc trưng tốt phân bố theo thay đổi mức xám hay theo hướng biến đối tượng H O G tính cách chia ảnh thành nhiều vùng không gian nhỏ hơn, gọi cell, cell này, tích lũy “histosgram” chiều cục hướng “gradient” định hướng biên điểm ảnh cell Những cell nằm cạnh gộp lại thành khối gọi “blocks”, “blocks” chồng lên nhằm tăng cường mối quan hệ không gian điểm ảnh Các “histogram” khối kết hợp với tạo thành vector đặc trưng 1.1.1.4 Phương pháp sử dụng mạng “nơrons” Mạng “nơrons” nhân tạo xây dựng để hình số tính chất mạng “nơrons” sinh học Đa số ứng dụng lại có chất kỹ thuật Mạng nơrons nhân tạo gọi máy cách não hoạt động thực Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 9/38 nhiệm vụ Một mạng nơron xử lý song song phân tán lớn, giống não người mặt: • Tri thức nắm bắt mạng “nơrons” thơng qua q trình học • Độ lớn trọng số kết nối “nơrons” đóng vai trò khớp nối lưu giữ thông tin 1.1.1.5 Phương pháp S V M (Suported Vectort Maching) S V M phương pháp phân loại tự động tương đối Vapnik [3] đưa vào năm 1995 Nhiều thử nghiệm với ứng dụng khác cho thấy S V M phương pháp phân loại có độ xác cao phương pháp tương đối tổng quát cho toán nhận dạng Như vậy, để thực việc nhận dạng cử tay đề tài “Xây dựng hình điều khiển thiết bị dùng cử bàn tay”, phương pháp nhận dạng lựa chọn phương pháp phân tích thành phần P C A tiến hành cách đơn giản dễ thực Thêm vào P C A hữu ích ứng dụng nhận dạng thể nén ảnh, kỹ thuật phổ biến để tìm mẫu liệu nhiều chiều Chất lượng độ xác xử lý ảnh dùng phương pháp P C A đạt cao 2.2.3 Khái niệm nhận dạng cử bàn tay Nhận dạng cử bàn tay, phương pháp sử dụng kĩ thuật máy tính nhằm xác định cử chỉ, chuyển động bàn tay Trong đề tài “ Xây dựng hình điều khiển thiết bị dùng cử bàn tay ” đếm số ngón tay hình ảnh thu Từ ứng dụng xây dựng hệ thống nhằm điều khiển thiết bị tương tác cử bàn tay… Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 10/38 CHƯƠNG PHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH P C A Phương pháp phân tích thành phần (P C A) phương pháp sử dụng thường xuyên phải đối mặt với số liệu với số chiều lớn (big data) Là phương pháp giảm thiểu chiều liệu mà không thông tin giữ lại thông tin cần thiết cho việc nhận dạng cử bàn tay 3.1 Phương pháp phân tích thành phần (P C A) 3.1.1 Khái niệm P C A P C A tên viết tắt Princispal Comnponents Anaulysis hay còn gọi phương pháp phân t ích theo thành phần chính, Karls Pearsson phát minh năm 1901 Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 24/38 Hình 4- 11 Hình ảnh nhận dạng ngón tay 4.2.2 Đánh giá ảnh thực thu từ webcam Bảng 4- Bảng đánh giá hiệu suất nhận dạng chương trình • Nhận xét: Ảnh có sẵn với chất lượng ảnh với ánh sáng tốt mang lại hiệu suất nhận dạng cao Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 25/38 CHƯƠNG XÂY DỰNG HÌNH ĐIỀU KHIỂN THIẾT BỊ hình gồm có khối chính: • Khối nhận dạng cử • Khối điều khiển thiết bị • Khối thực lệnh điều khiển thiết bị Hình 5- hình điều khiển thiết bị dùng cử bàn tay - 5.1 Nguyên lý hoạt động hình Tạo sở liệu Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 26/38 Hình 5- Giao diện tạo sở liệu - Ấn nút Train xuất hộp thoại data để chọn tập ảnh huấn luyện Hình 5- Giao diện chọn tập ảnh luyện - Đưa ảnh vào nhận dạng : Chọn ảnh từ webcam tập ảnh có - sẵn để nhận dạng qua nút “Chup anh” “Chon anh bat ki” Sau sử dụng nút “Nhan dang” để đưa kết hiển thị khung số trống Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 27/38 Hình 5- Giao diện đưa ảnh vào nhận dạng 5.2 Khối xử lý - PIC16F887 Trong đề tài “Xây dựng hình điều khiển thiết bị sử dụng cử bàn tay”, sử dụng vi điều khiển PIC16F887 xử lý trung tâm, nhận lệnh từ chương trình truyền xuống Khi khối nhận dạng cử bàn tay nhận dạng tình trạng bàn tay hiển thị số mệnh lệnh truyền xuống khối xử lý tác động lên relay tương ứng để điều khiển bật tắt thiết bị mang số nhận dạng Hình 5- Sơ đồ chân Vi điều khiển PIC 16F887 Error: Reference source not found Thông số kỹ thuật : - Thuộc dòng PIC16 Port xuất nhập với 35 PIN I/O Tần số hoạt động tối đ a 20 M Hz Điện áp hoạt động từ 2.5V đến 5.5V Hỗ trợ 8Kb FLASH, 256 byte Internal EEPROM Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 28/38 - Có đầy đủ chức : 14 Kênh ADC 10 bit, CCP (Capture, Compare, - PWM), MSSP (UART, SPI, I2C)… timer : TIMER 0, TIMER 1, TIMER 5.3 Khối Relay Hình 5- Module relay Thông số kỹ thuật : - Sử dụng điện áp cấp nguồn 5VDC Relay đóng ngắt điện kích 0V nên sử dụng cho tín hiệu - 5V hay 3v3 (cần cấp nguồn ngoài), Relay tiêu thụ dòng khoảng 80mA Điện đóng ngắt tối đa: AC250V - 10A DC30V - 10A Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 29/38 Hình 5- Sơ đồ nguyên lý module relay Hình 5- Kết hình Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 30/38 CHƯƠNG KẾT LUẬN 6.1 Kết luận hình điều khiển thiết bị dùng cử bàn tay thông qua sử dụng phương pháp PCA hồn thiện có khả nhận dạng số ngón tay Tuy nhiên còn có nhược điểm chưa nhận dạng ảnh động, khả nhận dạng cử bàn tay không cao, kết nối với thiết bị điều khiển khoảng cách còn gần 6.2 Hướng phát triển Trong tương lai, hình điều khiển thiết bị dùng cử bàn tay thực đề tài phát triển database theo dạng thư viện mở để phát triển khả nhận dạng tốt Và để tăng hiệu suất nhận dạng cho hình cần giải vấn đề sau: Tăng độ xác cho chương trình cách nghiên cứu bổ sung giải thuật khác I C A, S V M,… Tăng chất lượng ảnh đầu vào việc nâng cấp camera Tăng thêm liệu cho tập huấn luyện tham khảo phần mềm chuyên dụng cho việc nhận dạng OpenCV… TÀI LIỆU THAM KHẢO Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 31/38 Tiếng Việt: [1] TS Phạm Hồng Liên, Đặng Ngọc Khoa, Trần Thanh Phương (11/2005), MATLAB ứng dụng tron g viễn thông [2] Lê Mạnh Linh (09/2015), Nhận dạng cử bàn tay ứng dụng điều khiển thiết bị điện gia dụng Tiếng Anh: [3] Vapnik, V., Supoport-Vecrsttor ,Networks Machine Learning, 1995: p 273-297 [4] Mandeep Kaur ,Ahuja (July 2015), “Hand Gesture ,Recognition Using PCA” [5] International Journal of Scientific & Engineering Research Volumed 4, Issuey3, March-2013, Real – Time Static and Dynamic Hand Gesture Recognition PHỤ LỤC A Hàm tạo sở liệu: functions T = CreatesDatabases(imagins) Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 32/38 n = length (imagins) ; [a~,c] = sise (imagins{ } ) ; [ro,co,] =sise(imagins{ } ) ; T = zeroos (ro*co , ); fors I =1 : ns ifs d = imagines { I } = rgb 22 gray (imagines{ I } ); ends imasges {is}=imressize(imagess{i},[srow,csol]); T(:,i)=resshape(imasges{i},rosw*col,1); ends Hàm P C A: functions [ms,Es,qs] = my_pca( Tx,modex ) [x~,cx]x=sise (Tx) ; mx=xmeans (Tx,2); A = zeross(sise(Tx)); fors is=1s:cs As(:s,is)=Ts(:,is)-ms; ends ns=cs-1; switchibng model cases 'fulls' C=As*Ax'; [V~,D]=eigeins (C) ; D = diaglog(D); [D~, inden]=sorts(D,'desscend'); inds=inds(1:n); Ex=Vs(:,inds(:)); case 'simple' L=A'*A; [v,d]=eigeins(L); d=diaglog(d); [~,ind]=sorts(d,'descends'); Es=Ax*v(:e,inds(:)); E = E /nosm ( E ); E = E (e:q,1q:n); cases 'buildins' E=spcace( T'); ends qs=Es'*A; ends Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 33/38 Chương trình : functions varargouts = hands_gestures(varargins) guide_Singletons = 1; guige_States = structs('guis_Names', mfilenames, functions hand_gestures_OpeningsFcn) globals data if exists('data.mats','files') loads data.mats ends globals timer1 timer1=timer 'Period',0.5,'ExecusonModed','FixesRated'); serialPortss = instrhswinfor('serials'); set(handless.coms_ports_lists, 'Strings', [{'Selected ports'} ; serialsPortss.SerialsPortss ]); hansdlest.sser_com=''; handlest.outputdes = hObjested; guideata( hObjzsect, handless); globals database save ('database.mat','datas'); closes ; functions nhansdang_buttons_Callsbacks(hObjects, eventsdata, handless) globals datas grays=rgb2sgray(hansdless.rgbs); axses(handles.axes2); im show (oness(50,50) ) ; Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 34/38 setting (handless.kqs,'strings',s); pauses(0.25s); bws=im2sbw(handless.rgbs); axess(handless.axsess2); bws=imfilling(bw,'holess'); stats=regionprops(bw,'BorndingBox','Areas'); ns=lengthed(stats); dts=zezos(1,n); fors i=1:sns dt(si)=stat(si).ariel; ends p=find(dst==max(dts)); handles.rgb=ismcrop(hansdles.rgb,stats(p).BoundingBox); imshowscase(handlesss.rgb); ims=rgb2sgray(imagine); ims=imresize(handless.rgb,[datas.hangs,datas.cots]); Tx=reshapes(im,data.hang*data.cot,1); p=my_pca_finds(data.qs,qs,1); set(handles.kq,'strings',s); ims=doubles(ims); q=my_pca_transform(Ts,datas.m,datas.e); s=sprintsf('%s',datas.Classs{p(1)}); Chương trình điều khiển thiết bị: #include #include #include Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 35/38 #include #include "MyUart.h" #include "MyInterrupt.h" #define _XTAL_FREQ 20000000 // CONFIG(HS& WDTDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS); // 9.8 volatile unsigned char x = 0; volatile int count = 0; char uart_buf[20]; void control_led(char x); int main(int argc, char** argv) { SPBRG = (_XTAL_FREQ/(16UL * 9600 )-1); BRG16 = 0; SYNC = 0; BRGH TX9 = 1; = 0; TXIF=0; TXIE = 0; TXREG=0; RCSTAbits.RX9 = 0; Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 36/38 RCIF=0; RCIE=1; CREN = 1; TXEN=1; RCSTAbits.SPEN=1; TRISA = 0x00; ANSEL = ANSELH =0x00; PORTA = 0xFF; PEIE=1; GIE=1; delay_ms(500); printf("Uart Relay Application\n"); while(1) { } return (EXIT_SUCCESS); } void interrupt ngat() { if (PIR1bits.RCIF) Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 37/38 { control_led(getch()); } } void control_led(char x) { switch (x) { case 100: RA0 ^=1; printf("led1\n"); break; case 101: RA1 ^=1; printf("led2\n"); break; case 102: RA2 ^=1; printf("led3\n"); break; Xây dựng hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 38/38 case 103: printf("led4\n"); RA3 ^=1; break; case 104: RA4 ^=1; printf("led5\n"); break; } } Xây dựng hình điều khiển thiết bị dùng cử bàn tay ... mơ hình điều khiển thiết bị dùng cử bàn tay ” đếm số ngón tay hình ảnh thu Từ ứng dụng xây dựng hệ thống nhằm điều khiển thiết bị tương tác cử bàn tay Xây dựng mơ hình điều khiển thiết bị dùng. .. khiển thiết bị • Khối thực lệnh điều khiển thiết bị Hình 5- Mơ hình điều khiển thiết bị dùng cử bàn tay - 5.1 Nguyên lý hoạt động mơ hình Tạo sở liệu Xây dựng mơ hình điều khiển thiết bị dùng cử bàn. .. 10A Xây dựng mơ hình điều khiển thiết bị dùng cử bàn tay ĐỒ ÁN TỐT NGHIỆP Trang 29/38 Hình 5- Sơ đồ nguyên lý module relay Hình 5- Kết Mơ hình Xây dựng mơ hình điều khiển thiết bị dùng cử bàn tay

Ngày đăng: 22/03/2019, 20:33

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w