Điều khiển bám cho robot di động đa hướng dùng bộ điều khiển trượt

24 202 0
Điều khiển bám cho robot di động đa hướng dùng bộ điều khiển trượt

Đ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

28 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu phương pháp Lyapunov Phương pháp Lyapunov cung cấp đủ điều kiện đủ để đánh giá tính ổn định hệ phi tuyến Có thể áp dụng cho hệ phi tuyến bậc cao Ngoài ra, dùng phương pháp Lyapunov để thiết kế điều khiển phi tuyến Hiện phương pháp Lyapunov phương pháp sử dụng rộng rãi để phân tích thiết kế hệ phi tuyến 2.2 Định lý ổn định thứ Lyapunov Định lý ổn định thứ hai Lyapunov ngày sử dụng rộng rãi lĩnh vực điều khiển tự động Định lý Lyapunov dựa vào lượng, lượng hệ thống tiêu tán sau thời gian hệ thống phải đứng yên điểm cân Như khảo sát ổn định hệ thống ta tìm hàm vô hướng dương biểu thị lượng xét xem hàm tăng hay giảm theo thời gian * Phát biểu định lý: Xét hệ thống mô tả phương trình trạng thái: X&= f ( X ,X , ,X n ) (2.1) & X ) với biến trạng thái ( X , X , , X n ) làm Nếu tìm hàm V( hàm xác định dương cho đạo hàm theo thời gian X&= f ( X , X , ,X n ) dV( x ) hàm xác định âm hệ thống ổn định Lúc dt V(x) gọi hàm Lyapunov & X ) 0 : Hệ thống không ổn định * Khi V(x) V( 29 Hình 2.1 Minh họa hàm Lyapunov Ví dụ : Xét hệ lò xo ống nhúng có phương trình động lực học &+ bx&& mx& x + k x + k1 x = Hình 2.2 Ví dụ minh họa đinh lý Lyapunov Cơ hệ bao gồm động vật khối lượng m lò xo: V( x ) = 1 1 x mx + ∫0 ( k x + k x3 )dx = k x + mx + k x 2 (2.2) Nhận thấy lượng V hàm xác định dương ứng với điểm cân Đạo hàm lượng theo thời gian: && &+ ( k x + k x )x&= −b x&3 V&( x ) = mxx (2.3) 30 Đạo hàm lượng số âm nên lượng giảm liên tục đến x giảm (hệ thống cân ) 2.3 Lý thuyết điều khiển trượt 2.3.1 Giới thiệu chung Phương pháp điều khiển trượt công nhận công cụ hiệu để thiết kế điều khiển mạnh mẽ cho đối tượng có phương trình động lực học phi tuyến bậc cao phức tạp điều kiện không chắn Các nghiên cứu lĩnh vực bắt đầu Liên Xô cũ khoảng năm 1950, sau phương pháp điều khiển trượt ý ngày nhiều từ hiệp hội điều khiển quốc tế Ưu điểm chế độ trượt có độ nhạy thấp với biến đổi tham số đối tượng điều khiển nhiễu bên mà giúp loại trừ cần thiết mô hình xác Điều khiển trượt cho phép tách riêng chuyển động toàn hệ thống thành thành phần độc lập có kích thước thấp kết làm giảm phức tạp phản hồi Điều khiển trượt trở thành loại điều khiển hệ thống điều khiển cấu trúc biến đổi (được gọi VSC) VSC bao gồm tập hợp hệ thống liên tục với logic chuyển mạch thích hợp kết hoạt động điều khiển hàm không liên tục trạng thái hệ thống, loại nhiễu ngõ vào tham chiếu (control systems, robotics and automation – Vol XIII - Sliding Mode Control Vadim Utkin) VSC kỹ thuật điều khiển phi tuyến mạnh mẽ kết hợp khai thác tính hữu ích cấu trúc điều khiển khác để cung cấp hiệu thuộc tính mà cấu trúc riêng lẽ tự chúng thực Lý thuyết VSC cung cấp phương tiện hiệu để thiết kế điều khiển phản hồi trạng thái mạnh mẽ cho hệ thống động lực học không chắn, điểm đặc biệt định củaVSC kiểu trượt mặt chuyển đổi mà mặt hệ thống không nhạy cảm với biến đổi tham số bên nhiễu bên (Utkin, 1977; DeCarlo, et al 1988; Hung, et al 1993) 31 Hay nói cách khác điều khiển trượt loại đặc biệt VSC đặc trưng hệ luật điều khiển phản hồi quy tắc định gọi hàm chuyển đổi Hình 2.3 Các hệ thống có điều khiển trượt (Robust Integral Sliding Mode Control of an Aerospace Launch Vehicle - M Bahrami, J Roshanian, B Ebrahimi) Điều khiển trượt có hai chế độ liên tục với (Utkin năm 1977, Utkin 1992) Đầu tiên chế độ tiếp cận hay chế độ mà quỹ đạo pha tiếp cận mặt trượt thứ hai chế độ trượt có nghĩa quỹ đạo pha trượt mặt trượt đến đích, điều thể rõ hình 2.4 Hình 2.4 Hình chiếu quỹ đạo pha Điều kiện trượt Lyapunov ép trạng thái hệ thống đến mặt trượt giữ cho chúng trượt mặt này, thiết kế SMC bao gồm giai đoạn, thiết kế mặt trượt thiết kế luật điều khiển Trong chế độ tiếp cận, động lực học điều khiển phụ thuộc vào thông số hệ thống, chế độ trượt phụ thuộc vào mặt trượt, thuộc tính bất biến chế độ trượt 32 Như đặc tính mạnh mẽ điều khiển trượt truyền thống biến đổi tham số bên nhiễu bên đạt sau xuất chế độ trượt chế độ tiếp cận không đảm bảo điều Chế độ trượt tích phân loại trừ pha tiếp cận cách ép cho xuất kiểu trượt toàn đáp ứng hệ thống 2.3.2 Thiết kế điều khiển trượt Xét hệ thống động học phi tuyến biểu diễn phương trình vi phân sau: (n) x = f ( x ) + b( x ).u (2.4) y=x Trong : x = [ x x& x ( n −1 ) ] T vectơ trạng thái f ( x ) : hàm chưa biết, bị chặn hàm phi tuyến, b( x ) : độ lợi điều khiển u : tín hiệu điều khiển y : tín hiệu n : bậc hệ thống Các hàm f = f ( X ),g = g( X ) hàm phi tuyến Gọi X d tín hiệu đặt, giả thiết X d có đạo hàm theo t đến cấp n Định nghĩa:  xd   (1)   x  X = d  d    x ( n−1 )   d  (2.5) 33 x−x    e  d  (1) (1)   (1)   x − xd   e E=X−X =  =   d    x( n−1 ) − x ( n−1 )  e( n−1 )    d (2.6) Mục tiêu điều khiển xác định luật điều khiển u cho sai lệch tiến tới E không t → ∞ Định nghĩa hàm trượt: S = f(x) (2.7) f ( x ) : hàm chưa biết, bị chặn hàm phi tuyến Trong không gian n chiều phương trình S = xác định mặt cong gọi mặt trượt (sliding surface) Sử dụng phương pháp Lyapunov, chọn hàm xác định dương V , thông thường chọn V có dạng: V = STS (2.8) Tính đạo hàm bậc V , ta : V&= STS& (2.9) Từ phương trình V&= STS&, ta tìm chọn luật điều khiển u với luật điều khiển u ta chứng minh V&≤ theo định lý ổn định thứ hai Lyapunov biến hàm V tức mặt trượt S tiến t → ∞ Điều đồng nghĩa với sai lệch E tiến t → ∞ Hay nói cách khác quỹ đạo pha X hệ thống tiếp cận mặt trượt S bên mặt trượt, quỹ đạo pha X bám theo tín hiệu đặt X d cách tiệm cận (Hình 2.5) biểu diễn trình tiếp cận quỹ đạo pha trình trượt chúng đến điểm cân 34 Hình 2.5 Biểu diễn hình chiếu quỹ đạo pha Hiện tượng chattering: Điều khiển trượt lý tưởng đòi hỏi luật điều khiển phải thay đổi tức thời thời điểm quỹ đạo pha hệ thống vừa chạm vào mặt trượt để đảm bảo S = S&= Trong thực tế điều thực thời gian trễ hay quán tính khâu chấp hành Kết quỹ đạo pha tiếp tục vượt qua khỏi mặt trượt sau chạm vào gây tượng quỹ đạo pha dao động quanh mặt trượt Hiện tượng gọi tượng chattering biểu diễn (Hình 2.6) Do trình thiết kế người ta có sử dụng hàm dấu sign( S ) để giúp cho V&≤ Để khắc phục tượng người ta thay hàm sat( S ) Hình 2.6 Hiện tượng dao động (chattering) 2.4 CƠ BẢN VỀ XỬ LÝ ẢNH SỐ : 2.4.1 Giới thiệu hệ thống xử lý ảnh : Xử lý ảnh lĩnh vực mang tính khoa học công nghệ Nó ngành khoa học mẻ so với ngành khoa học khác tốc độ phát triển nhanh, kích thích trung tâm nghiên cứu ứng dụng, đặc biệt máy tính chuyên dụng cho Xét bước hệ thống xử lý ảnh số Đầu tiên ảnh từ giới bên thu nhận qua thiết bị thu ảnh camera, máy chụp ảnh Trước ảnh thu qua camera ảnh tương tự gần với phát triển công nghệ, ảnh màu hay ảnh đen trắng lấy từ camera sau chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý Mặt khác ảnh thu từ vệ tinh máy quét ảnh Hình mô tả bước quan trọng xử lý ảnh : 35 Hình 2.7 Các bước xử lý ảnh Sơ đồ bao gồm phần sau : a) Phần thu nhận ảnh ( Image Acquisition) Ảnh nhận qua camera màu hay đen trắng Thường ảnh nhận qua camera ảnh tương tự ( loại camera ống chuẩn CCIR với tần số 1/25, ảnh 25 dòng) hay camera số hóa ( lọai CCD, Change Couple Device) loại photodiode tạo cường độ sáng điểm ảnh Camera thường loại quét dòng ; ảnh tạo ảnh hai chiều Chất lượng ảnh phụ thuộc vào chất lượng thiết bị thu môi trường b) Tiền xử lý (Image Pre-processing) Sau thu nhận ảnh bị nhiễu có độ tương phản thấp nên cần đưa vào tiền xử lý để nâng cao chất lượng Chức tiền xử lý lọc nhiễu, nâng cao độ tương phản,… c) Phân đoạn (Segmentation) hay phân vùng ảnh Phân vùng ảnh tách ảnh đầu vào thành vùng thành phần để biểu diễn phân tích, nhận dạng ảnh, ví dụ khoanh vùng khuôn mặt để nhận dạng, khoanh vùng mã vạch để đọc code Đây phần phức tạp khó khăn xử lý ảnh dễ gây lỗi làm độ xác ảnh d) Biểu diễn ảnh : Đầu ảnh sau phân đoạn chứa điểm ảnh ( ảnh phân đoạn ) cộng với mã liên kết vùng lân cận Việc biến đổi số liệu thành dạng thích hợp cần thiết cho xử lý máy tính Việc chọn tính chất để thể ảnh gọi trích chọn đặc trưng (Feature Selection) gắn với việc tách đặc tính ảnh dạng thông tin định lượng làm sở để phân biệt lớp đối tượng 36 với lớp đối tượng khác phạm vi ảnh nhận Ví dụ nhận dạng chữ viết bì thư, ta phân biệt đặc trưng kí tự so với kí tự khác e) Nhận dạng giải thích ảnh ( Image Recognition and Interpretation) Nhận dạng ảnh trình xác định ảnh Quá trình thực nhờ so sánh với mẫu chuẩn học lưu từ trước Giải thích phán đoán theo ý nghĩa sở nhận dạng Ví dụ loạt chữ số nét gạch ngang bì thư phán đoán mã điện thoại Theo lý thuyết nhận dạng, mô hình toán học ảnh phân loại theo hai loại nhận dạng ảnh bản:  Nhận dạng theo tham số  Nhận dạng theo cấu trúc Một số đối tượng nhận dạng ảnh phổ biến nhận dạng kí tự ( chữ in, chữ viết tay, chữ kí điện tử), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người f) Cơ sở tri thức Như nói trên, ảnh đối tượng phức tạp đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý phân tích ảnh, ngòai việc đơn giản hóa phương pháp toán học đảm bảo cho việc xử lý, người ta mong muốn bắt chước quy trình tiếp nhận xử lý ảnh theo cách người Vì sở tri thức phát huy 2.4.2 Các khái niệm xử lý ảnh  Phần tử ảnh: Ảnh thực tế ảnh liên tục không gian giá trị độ sáng Để xử lý máy tính cần thiết phải đưa dạng ảnh số Trong trình số hóa, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua trình lấy mẫu ( rời rạc hóa không gian) lượng tử hóa thành phần giá trị ( rời rạc hóa biên độ giá trị) mà nguyên tắc mắt thường không phân biệt hai điểm kề Trong trình người ta sử dụng khái niệm Picture Element mà ta quen gọi pixel Pixel điểm liệu ảnh, pixel xếp thành mảng chiều biểu diễn chấm hay ô vuông Mỗi pixel kết lấy mẫu ảnh gốc, nhiều mẫu việc biểu diễn ảnh xác Giá trị của pixel bao gồm tọa độ giá trị màu sắc tùy vào ảnh nhị phân, ảnh xám hay ảnh màu 37 Hình 2.8 Biểu diễn ảnh pixel ảnh đơn sắc, nửa bên trái liệu ảnh, nửa bên phải phần ảnh hiển thị, pixel biểu diễn bit  Độ phân giải ảnh : Độ phân giải ảnh ( resolution) mật độ điểm ảnh ấn định ảnh số hiển thị Theo định nghĩa, khoảng cách điểm ảnh phải chọn cho mắt người thấy liên tục ảnh Ví dụ độ phân giải ảnh hình CGA ( Color Graphic Adapter) lưới điểm theo chiều ngang hình: 320 điểm chiều dọc * 200 điểm ảnh (320x200) Rõ ràng độ phân giải hình 12’’ ta nhận thấy mịn hình 17’’ Lý mật độ ( độ phân giải ) diện tích hình rộng độ mịn ( liên tục điểm hơn)  Ảnh xám ảnh màu : Mức xám ảnh số hay ảnh xám giá trị pixel giá trị đơn, mang thông tin cường độ Ảnh xám gọi ảnh trắng đen với giá trị biến thiên từ đen với cường độ yếu đến trắng với cường độ cao Ảnh xám khác với ảnh trắng đen bit với hai giá trị trắng đen, ảnh xám có giá trị trung gian trắng đen Ảnh xám thu từ việc đo cường độ ánh sáng pixel tần số định dãy quang phổ ánh sáng, gọi ảnh đơn sắc Ảnh xám mã hóa n bit có n mức, từ đen (mức 0) tới trắng (mức 2n – 1) Các mức từ đến 2n – biểu diễn sắc độ xám khác 38 Hình 2.9 Thang màu xám Ảnh màu ảnh mà pixel chứa kênh màu: Đỏ (Red), Lục (Green) Lam (Blue) (hay gọi hệ màu RGB) Cũng ảnh xám, kênh màu ảnh màu mã hoá n bit cho kênh Như pixel mã hoá 3*n bit Do dung lượng ảnh màu lớn lần so với ảnh xám có mức mã hoá Hình 2.10 Ví dụ việc chia ảnh màu RBG thành kênh màu ảnh xám tương đương kênh màu  Mẫu dương mẫu âm : Mẫu dương hình ảnh chứa đối tượng cần xác định Mẫu âm hình ảnh không chứa đối tượng cần xác định 39 Hình 2.11 Một số mẫu dương dùng việc phát khuôn mặt Hình 2.12 Một số mẫu âm dùng việc phát khuôn mặt  Histogram cân histogram : Histogram xấp xỉ rời rạc hàm phân phối xác suất biến ngẫu nhiên Trong ảnh xám, histogram tính toán số pixel có giá trị gray-scale, tức tìm phân bố mức xám ảnh Quá trình tính toán sau:  Đối với ảnh B bit, khởi động B counter với giá trị  Quét qua tất cácpixel (x,y)  Khi f(x,y) = I, tăng giá trị cho counter thứ i Việc cân histogram để tăng độ tương phản ảnh số, thường nằm khâu tiền xử lý, giúp cho thuật toán dễ dàng nhận diện đặc tính có ảnh nhận dạng khuôn mặt, phát biên,… Việc hữu ích mà phần đối tượng ( foreground) phần ( background) sáng tối Tuy nhiên việc cân histogram gây nên hiệu ứng không mong muốn, 40 tăng độ phân giải phần tín hiệu nhiễu làm giảm phần đối tượng ảnh Phương pháp cân histogram có đưa khái niệm hàm phân phối tích lũy ( cumulative distribution function) , giá trị hàm tại giá trị mức xám tổng pixel có mức xám nhỏ giá trị Để ý sau cân phân phối tích lũy có dạng tuyến tính Hình 2.13 Ảnh trước sau cân histogram Đường thẳng đồ thị histogram hàm tích lũy 2.5 NHẬN DẠNG KHUÔN MẶT VỚI THUẬT TOÁN ADABOOST Mục tiêu trình nhận dạng phân loại phân loại ảnh nhận dựa giá trị thuộc tính đơn giản Có nhiều lý để đưa đến việc dùng thuộc tính thay cho phân tích pixel, lý thuộc tính dùng để mã hóa thành dạng kiến thức học mà thực dựa pixel chậm nhiều Paul Viola Michael Johns trình bày phương pháp phát khuôn mặt cách áp dụng chuỗi phân loại với thuật toán Adaboost báo "Rapid Object Detection using a Boosted Cascade of Simple Features " [4] 41 Hình 2.14 Dạng thuộc tính Haar-like dùng trình phát khuôn mặt : thuộc tính hình chữ nhật hình A B có tác dụng với cạnh, hình chữ nhật hình C có tác dụng với đường hình chữ nhật hình C có tác dụng với đường chéo Các thuộc tính đơn giản sử dụng gợi nhớ đến hàm Haar Chi tiết sử dụng dạng thuộc tính hình 5.8 Giá trị thuộc tính hình chữ nhật hiệu tổng pixel phần xám pixel phần trắng Hai hình chữ nhật nằm theo chiều dọc ngang với kích thước Thuộc tính hình chữ nhật tính tổng phần trừ cho tổng phần Cuối cùng, thuộc tính hình chữ nhật tính hiệu tổng cặp hình chữ nhật theo đường chéo Giả sử độ phân giải phát 24x24, thuộc tính đầy đủ lớn, 180000 thuộc tính Khác với sở Haar, tập thuộc tính “quá đầy đủ” lý do: tập sở phụ thuộc tuyến tính phần tử hình ảnh cần xử lý có số phần tử tương ứng với số pixel 576, nhỏ so với tập thuộc tính ! 2.5.1 Ảnh tích phân ( Integral Image): Các thuộc tính hình chữ nhật tính tóan nhanh sử dụng cách biểu diễn trung gian gọi ảnh tích phân cho đối tượng ảnh Ảnh tích phân vị trí (x,y) chứa đựng tổng pixel bên trái (x,y) cụ thể là: ii ( x, y ) = ∑ i ( x ', y ') x '< x , y '< y Với ii(x,y) ảnh tích phân i(x,y) ảnh gốc Sử dụng công thức lặp sau : s ( x, y ) = s ( x, y − 1) + i ( x, y ) ii ( x, y ) = ii ( x − 1, y ) + s ( x, y ) 42 Với s(x,y) tổng tích lũy hàng, s(x,-1) = 0, ii(-1,y) = 0, ảnh tích phân tính quét qua ảnh gốc lần Hình 2.15 Thuật toán tính ảnh tích phân: sau tính toán pixel vị trí tổng pixel bên trái ảnh gốc tức A, giá trị vị trí A+B, vị trí A+C, vị trí A+B+C+D Tổng pixel D : ( 4+1)-(2+3) Với ảnh tích phân tổng hình chữ nhật tính dựa vào giá trị đỉnh Hiệu tổng hình chữ nhật tính dựa giá trị đỉnh trường hợp thuộc tính hình chữ nhật kề, cho trường hợp hình chữ nhật cho trường hợp hình chữ nhật Các thuộc tính hình chữ nhật sơ khai so với phương pháp khác, mà việc phát biên thuộc tính ảnh số hạn chế Tuy nhiên, tập hợp thuộc tính hình chữ nhật cung cấp tập liệu dồi cho việc học hiệu Khi kết hợp với ảnh tích phân, hiệu tập thuộc tính hình chữ nhật bù lại phần mặt hạn chế 2.5.2 Các hàm học phân loại Với tập thuộc tính tập huấn luyện ảnh dương ảnh âm phương pháp học máy dùng để phân lọai Trong hệ thống này, biến thể AdaBoost dùng để chọn tập nhỏ thuộc tính để huấn luyện phân loại Trong dạng nguyên thủy, thuật toán AdaBoost dùng để tăng tốc độ trình phân loại thuật toán học đơn giản (nhiều yếu) Như phần nói, có 18000 thuộc tính cho khung hình cần nhận dạng, lớn nhiều số pixel Mặc dù thuộc tính tính nhanh, để tính tóan hết 43 tập thuộc tính vấn đề Giả thuyết đặt là: số lượng nhỏ thuộc tính đưa vào phân loại, việc cần làm tìm thuộc tính Để hỗ trợ việc này, thuật toán học đơn giản thiết kế để lựa chọn thuộc tính hình chữ nhật phân lọai tốt ảnh dương ảnh âm Với thuộc tính, thuật tóan tìm hàm phân lọai ngưỡng tối ưu Một phân lọai h j ( x) bao gồm thuộc tính f j ( x) , ngưỡng θ j ( x) phân cực p j hướng dấu bất đẳng thức : 1 h j ( x) =  0 if if p j f j ( x ) < p jθ j otherwise Ở x khung ảnh phụ 24x24 ảnh Dưới trình cụ thể thuật toán AdadBoost cho việc học phân loại, vòng boosting lựa chọn thuộc tính từ 18000 thuộc tính:  Cho tập vào ( xi , yi ) với yi = 0,1 cho ngõ ảnh âm hay ảnh dương  Khởi tạo trọng số : w1,i = 1 , với yi = 0,1 m, l số mẫu âm 2m 1l dương  Cho t = 1, , T Chuẩn hóa trọng số: wt ,i ¬ wt ,i n ∑w j =1 t, j wt ,i phân bố xác suất Đối với thuộc tính j, huấn luyện phân loại h j giới hạn theo thuộc tính Sai số tính ứng với trọng số wt : E j = ∑i wi h j ( xi ) − yi Chọn phân lọai ht với sai số 44 Cập nhật trọng số: wt +1,i = wt ,i βt1−ei ei = xi phân loại đúng, e1 = ngược lại et βt = −et Bộ phân lọai cuối :  1 h( x ) =  0 ∑ T t =1 αt ht ( x ) ≥ 1 T αt với αt = log ∑ t =1 βt Trên thực tế, không thuộc tính đơn lẻ phân lọai với sai số thấp Thuộc tính lưa chọn vòng đầu thuật tóan cho sai số khỏang 0.1-0.3 Thuộc tính chọn vòng sau, công việc trở nên khó hơn, cho sai số khoảng 0.4-0.5 Đối với mục đích nhận dạng khuôn mặt người, thuộc tính hình chữ nhật thuật toán AdaBoost chọn phải thật rõ ràng dễ để nhận thấy Thuộc tính chọn phản ánh tính chất vùng mắt thường tối vùng mũi vùng má Kích thước để nhận biết thuộc tính tương đối lớn so với khung ảnh phụ không nên phụ thuộc vào kích thước vị trí khuôn mặt Thuộc tính thứ hai dựa tính chất vùng mắt thường tối vùng sống mũi Hình 2.16 Hai thuộc tính lựa chọn thuật toán AdaBoost 2.5.3 Chuỗi phân loại tập trung (Attentional Cascade) Phần mô tả thuật toán để xây dựng chuỗi phân loại nhằm tăng hiệu phát đồng thời giảm triệt để thời gian tính toán Chìa khóa vấn đề phân loại kích thước nhỏ hiệu xây dựng qua việc 45 loại bỏ khung hình phụ âm (negative sub-window) tìm kiếm tất trường hợp dương ( chẳng hạn điều chỉnh ngưỡng phân loại để trường hợp bị phát nhầm âm giảm không) Các phân loại đơn giản sử dụng trước tiên để loại bỏ phần lớn khung hình phụ trước phân lọai phức tạp gọi Toàn trình phát mô tả định suy giảm dần mà ta gọi chuỗi phân loại (cascade) Một kết dương phân loại trước kích họat việc đánh giá phân loại sau, kết dương phân loại lại kích hoạt phân loại sau nữa,…Bất kết âm tầng phân loại loại bỏ khung hình phụ Ví dụ tầng đạt hiệu cao xây dựng từ phân loại hai thuộc tính ‘mạnh’ cách giảm ngưỡng để hạn chế mẫu bị nhầm âm Việc tính toán tầng tốn 60 lệnh vi xử lý, khó tìm lọc đơn giản cho hiệu suất Hình 2.17 Sơ đồ chuỗi phát (Detection Cascade) Cấu trúc chuỗi phát phản ánh điều ảnh đơn bất kỳ, lượng lớn khung hình phụ âm Do đó, chuỗi phát cố gắng lọai bỏ nhiều khung hình âm tầng tốt Do có hình dạng định, phân loại sau huấn luyện mẫu thông qua tất tầng trước Kết là, công việc tầng sau khó tầng trước Do mẫu đưa đến tầng sau thường khó nhận dạng mẫu đển hình nên tầng tỉ lệ nhận dạng nhầm sai cao 46 2.5.4 Huấn luyện chuỗi phát Quá trình huấn luyện chuỗi phát liên quan đến việc dung hòa hai vấn đề Chuỗi phát với nhiều thuộc tính nhận dạng xác tỉ lệ nhận nhầm âm thấp Tuy nhiên, chuỗi phát với nhiều thuộc tính đòi hỏi thời gian tính toán nhiều Về nguyên tắc, ta định nghĩa cấu trúc tối ưu mà : số tầng, số thuộc tính tầng ngưỡng tầng phải dung hòa để tối thiểu hóa số thuộc tính Việc tìm cấu trúc tối ưu khó khăn Trên thực tế, cấu trúc đơn giản để tạo phân loại hiệu suất cao Mục tiêu chọn giảm tối thiểu việc phân loại nhầm dương tối đa hiệu suất phát Mỗi tầng thêm thuộc tính để tỉ lệ phân loại nhầm dương tỉ lệ tìm kiếm đạt kiểm tra lại tập mẫu kiểm chứng Các tầng thêm vào chuỗi phân loại cho đền đạt yêu cầu tỉ lệ phát nhầm dương phát Hình 2.18 Một phần tập mẫu khuôn mặt nhìn thẳng dùng huấn luyện 2.6 THƯ VIỆN XỬ LÝ ẢNH OPENCV CỦA INTEL : 2.6.1 Giới thiệu : OpenCV thư viện mở dùng cho xử lý ảnh máy tính (computer vision) có sẵn trang http://SourceForge.net/projects/OpenCVlibrary OpenCV thiết kế để làm cho việc tính toán trở nên thuận tiện với ứng dụng thời gian thực Một mục tiêu OpenCV cung cấp cấu trúc thị giác máy tính dễ sử dụng cho người dùng để xây dựng ứng dụng xử lý ảnh tương đối phức tạp cách nhanh chóng Thư viện OpenCV chứa 500 47 hàm ứng dụng nhiều lĩnh vực giám sát nhà máy, phân tích ảnh y khoa, an ninh robotic Do thị giác máy tính việc học máy ( machine learning) thường đôi với nên OpenCV kèm theo thư viện học máy đầy đủ Machine Learning Library (MLL) Thư viện phụ vào việc nhận dạng ( recognition ) việc xếp nhóm ( clustering) 2.6.2 Các thành phần chức OpenCv:  CXCORE : chứa định nghĩa kiểu liệu sở Ví dụ cấu trúc liệu cho ảnh, điểm hình chữ nhật định nghĩa cxtypes.h CXCORE chứa đại số tuyến tính ( linear algebra), phương pháp thống kê ( statistic method), chức trì điều khiển chuỗi Một số chức đồ họa để vẽ ảnh đặt  CV : chứa thuật toán xử lý ảnh định kích cỡ camera, chức hình họa máy tính (computational geometry function) đặt  CVAUX : mô tả tài liệu OpenCv chứa mã lỗi thời mã thử nghiệm Tuy nhiên giao diện đơn cho phần nhận diện khuôn mặt module  HIGHGUI CVCAM đặt thư mục "otherlibs" HIGHGUI : chứa giao diện vào khả cửa sổ đa tảng CVCAM : chứa giao diện cho video truy cập qua DirectX Windows 32 bits 2.6.3 Cấu trúc ảnh IplImage IplImage định dạng ảnh giới thiệu phát triển Intel Chuẩn IplImage sử dụng rộng rãi xử lý ảnh, tối ưu hóa trình xử lý nhờ quản lý nhóm liệu dạng Field Quá trình xử lý thực trường làm tăng khả linh hoạt tốc độ xử lý liệu Định dạng IplImage dùng rộng rãi thư viện xử lý ảnh IPL ( Image Procesing Library) hay IPP ( Intergrated Performance Primitives), OpenCV, AMM, Cấu trúc IplImage OpenCV sau: typedef struct _IplImage { int nSize; 48 int ID; int nChannels; int alphaChannel; // OpenCV không sử dụng int depth; char colorModel[4]; // OpenCV không sử dụng char channelSeq[4]; // OpenCV không sử dụng int dataOrder; int origin; int align; // OpenCV không sử dụng int width; int height; struct _IplROI *roi; struct _IplImage *maskROI; // NULL OpenCV void *imageId; // NULL OpenCV struct _IplTileInfo *tileInfo; // NULL OpenCV int imageSize; char *imageData; int widthStep; int BorderMode[4]; // OpenCV không sử dụng int BorderConst[4]; // OpenCV không sử dụng char *imageDataOrigin; } IplImage; Các tham số: • nSize : Kích thước ảnh • ID : Chỉ số version, • nChannels : Số kênh, hàm OpenCV hỗ trợ từ 1-4 kênh • alphaChannel : OpenCV không sử dụng • depth : Chiều sâu pixel theo bit, có dạng sau : IPL_DEPTH_8U : unsigned 8-bit integer IPL_DEPTH_8S : signed 8-bit integer 49 IPL_DEPTH_16U : unsigned 16-bit interger • dataOder : = IPL_DATA_ORDER_PIXEL Các kênh màu đan xen nhau, = Các kênh màu tách rời • origin : Gốc tọa độ = top-left origin, = bottom-left origin • width : Bề rộng ảnh theo pixel • height : Chiều cao ảnh theo pixel • roi Region of Interest (ROI) NULL có vùng ROI xử lý • imageSize : Kích thước liệu ảnh theo byte • imageData : Một pointer trỏ tới vùng địa ảnh • widthStep : The size of an aligned image row, in bytes 2.6.4 Các hàm dùng luận văn : Thu nhận ảnh từ camera :  CvCapture* cvCaptureFromCAM(int index); Trong index số camera sử dụng, có camera, index = -1 Chức : Thu nhận hình ảnh từ camera trả pointer có kiểu CVCapture  Giải phóng camera : void cvReleaseCapture( CvCapture**capture); Trong capture địa Pointer có kiểu cvCapture  Lấy hình từ camera : IplImage* cvRetrieveFrame( CvCapture* capture); hay IplImage* cvQueryFrame( CvCapture* capture);  Đọc thuộc tính camera double cvGetCaptureProperty( CvCapture* capture, int property_id); capture có kiểu CvCapture đại diện cho camera làm việc property_id có giá trị sau : CV_CAP_PROP_POS_MSEC : Camera frame timestamp CV_CAP_PROP_POS_FRAMES: 0-based index of the frame to be decoded/capture next 50 CV_CAP_PROP_POS_AVI_RATIO : (Dùng cho file avi) CV_CAP_PROP_FRAME_EIDTH : Bề rộng video stream CV_CAP_PROP_FRAME_HEIGHT: Bề cao video stream CV_CAP_PROP_FPS : frame per second CV_CAP_PROP_FRAME_COUNT : Số thứ tự frame Đặt thuộc tính cho camera  int cvSetCaptureProperty ( CvCapture* capture, int property_id, double value); Trong capture có kiểu CvCapture* đại diện cho camera, property_id có giá trị phần đọc thuộc tính camera, value gía trị thuộc tính Tạo ảnh :  IplImage* cvCreateImage(CvSize size, int depth, int channels) Hàm trả pointer trỏ đến hình ảnh có cấu trúc IplImage, : size : Kích thước ảnh depth : Số bit biểu diễn độ sáng pixel channels : Số kênh Giải phóng pointer trỏ tới ảnh:  void cvReleaseImage( IplImage** image); Trong image pointer trỏ tới hình ảnh có cấu trúc IplImage Copy ảnh  void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask = NULL); Trong : src : Ảnh nguồn dst : Ảnh đích mask : Mặt nạ phủ lên ảnh nguồn ta muốn copy phần ảnh  Xác định vùng ảnh cần xử lý (ROI) void cvSetImageROI(IplImage* image, CvRect rect); Trích ảnh ban đầu thành vùng ảnh mới, nằm hình chữ nhật rect Sau trích, image pointer trỏ tới hình ảnh  Cân histogram cho ảnh xám 51 Để thực việc cân histogram ta dùng hàm sau : CVAPI(void) cvEqualizeHist( const CvArr*scr, const CvArr* dst) Trong : scr : Hình ảnh gốc ban đầu dst : Hình ảnh sau cân histogram Phát khuôn mặt ảnh  CvSeq* cvHaarDetectObjects(const CvHaarClassifierCascade* cascade, CvArr* CvMemStorage* storage, image, double scale_factor=1.1, int min_neighbors = 3, int flags = 0,CvSize min_size = cvSize(0,0)) Trong đó:  image : Ảnh cần phát  cascade : Chuỗi phân lọai Haar dùng cho tính tóan bên  storage : Vùng nhớ chứa kết trung gian trình phân lọai scale_factor : Tham số mà theo kích thước cửa sổ tìm  kiếm tăng lên sau chu kì quét, mặc định 1.1 tức tăng 10% min_neighbors : Số nhỏ hình chữ nhật kế cận  phát khuôn mặt Điều có nghĩa khuôn mặt phát có số hình chữ nhật có kết dương chồng lấp lên flags : Chế độ họat động, hỗ trợ  HAAR_DO_CANNY_PRUNNING min_size : Kích thước cửa sổ nhỏ bắt đầu tìm kiếm,  thường 20x20 cho đối tượng khuôn mặt Hàm tìm vùng hình chữ nhật hình có chứa khuôn mặt với chuỗi phân loại huấn luyện trả mảng hình chữ nhật Trước gọi hàm ta phải load file liệu OpenCv : cascadefaces = (CvHaarClassifierCascade*)cvLoad(filename_face,NULL,NULL,NULL); với filename_face đường dẫn đến file liệu nằm phần liệu OpenCv ... cân ) 2.3 Lý thuyết điều khiển trượt 2.3.1 Giới thiệu chung Phương pháp điều khiển trượt công nhận công cụ hiệu để thiết kế điều khiển mạnh mẽ cho đối tượng có phương trình động lực học phi tuyến... hồi Điều khiển trượt trở thành loại điều khiển hệ thống điều khiển cấu trúc biến đổi (được gọi VSC) VSC bao gồm tập hợp hệ thống liên tục với logic chuyển mạch thích hợp kết hoạt động điều khiển. .. nói cách khác điều khiển trượt loại đặc biệt VSC đặc trưng hệ luật điều khiển phản hồi quy tắc định gọi hàm chuyển đổi Hình 2.3 Các hệ thống có điều khiển trượt (Robust Integral Sliding Mode Control

Ngày đăng: 05/09/2017, 21:03

Từ khóa liên quan

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

Tài liệu liên quan