Luận văn Ðiều khiển camera bám mục tiêu di động (Phần 1)

pdf 22 trang phuongnguyen 30
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Ðiều khiển camera bám mục tiêu di động (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_ieu_khien_camera_bam_muc_tieu_di_dong_phan_1.pdf

Nội dung text: Luận văn Ðiều khiển camera bám mục tiêu di động (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ANH TUẤN ÐIỀU KHIỂN CAMERA BÁM MỤC TIÊU DI ÐỘNG NGÀNH: KỸ THUẬT ÐIỆN TỬ – 60520203 S K C0 0 5 2 5 4 Tp. Hồ Chí Minh, tháng 4/2016
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ANH TUẤN “ĐIỀU KHIỂN CAMERA BÁM MỤC TIÊU DI ĐỘNG” NGHÀNH: KỸ THUẬT ĐIỆN TỬ - 60520203 Tp. Hồ Chí Minh, tháng 04 năm 2017 i
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN ANH TUẤN “ĐIỀU KHIỂN CAMERA BÁM MỤC TIÊU DI ĐỘNG” NGHÀNH: KỸ THU ẬT ĐIỆN TỬ - 60520203 Hướng dẫn khoa học: TS. NGUYỄN THỊ LƯỠNG Tp. Hồ Chí Minh, tháng 04 năm 2017 ii
  4. LÝ LỊCH KHOA HỌC I. LÝ LỊCH SƠ LƯỢC: Họ & tên: Nguyễn Anh Tuấn Giới tính: Nam Ngày, tháng, năm sinh: 27/03/1980 Nơi sinh: Hà Nội Quê quán: Tô Hiệu – Thường Tín – Hà Nội Dân tộc: Kinh Chỗ ở riêng hoặc địa chỉ liên lạc: 45/17 TL04, KP3A, Phường Thạnh Lộc, Quận 12, Thành phố Hồ Chí Minh Điện thoại cơ quan: Điện thoại nhà riêng: Fax: E-mail: anhtuannguyen27@gmail.com II. QUÁ TRÌNH ĐÀO TẠO: 1. Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ 09/1998 đến 09/2004 Nơi học (trường, thành phố): Học viện KTQS, Hà Nội Ngành học: Kỹ thuật Điện – Điện tử Tên đồ án, luận án hoặc môn thi tốt nghiệp: Cải tiến bộ lọc thị tần Radar bằng công nghệ ASIC. Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: 06/2004, Học viện KTQS Người hướng dẫn:Ts. Trịnh Đình Cường 2. Thạc sĩ: Hệ đào tạo: Tập trung Thời gian đào tạo từ 03/2015 đến 04/ 2017 Nơi học (trường, thành phố): ĐH Sư phạm Kỹ thuật, Thành phố Hồ Chí Minh Ngành học: Kỹ thuật Điện tử Tên luận văn: Điều khiển Camera bám mục tiêu di động. Ngày & nơi bảo vệ luận văn: 23/04/2017, ĐH Sư phạm Kỹ thuật Tp Hồ Chí Minh Người hướng dẫn: Ts. Nguyễn Thị Lưỡng iv
  5. III. QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Công việc Thời gian Nơi công tác đảm nhiệm Khoa KTCS – ĐH Trần Đại Nghĩa, 189 Nguyễn 10/2004 - 10/2011 Giáoviên Oanh, P.10, Q.Gò Vấp, Tp. Hồ Chí Minh Khoa TC – ĐL – CL – ĐH Trần Đại Nghĩa, 189 11/2011 - 6/2014 Giáo viên Nguyễn Oanh, P.10, Q.Gò Vấp, Tp. Hồ Chí Minh Khoa KTCS – ĐH Trần Đại Nghĩa, 189 Nguyễn 7/2014 – Nay Giáo viên Oanh, P.10, Q.Gò Vấp, Tp. Hồ Chí Minh v
  6. LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của tôi. Các số liệu, kết quả nêu trong luận vă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. Tp. Hồ Chí Minh, ngày tháng 04 năm 2017 Tác giả Nguyễn Anh Tuấn vi
  7. LỜI CÁM ƠN  Xin gửi lời cám ơn chân thành nhất đến TS. Nguyễn Thị Lưỡng đã tận tình hướng dẫn tôi trong thời gian thực hiện luận văn. Xin chân thành gửi lời cảm ơn đến toàn thể quý thầy cô trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã giảng dạy, hướng dẫn và tạo mọi điều kiện, môi trường học tập tốt cho tôi. Xin cảm ơn các thầy, cô trong Khoa Điện – Điện tử Trường Đại học Sư phạm Kỹ thuật Thành Phố Hồ Chí Minh đã hỗ trợ, hướng dẫn và các anh, chị học viên lớp Cao học Kỹ thuật Điện tử 2015A đã nhiệt tình giúp đỡ, đóng ghóp ý kiến trong quá trình học tập và làm luận văn của tôi. Xin cám ơn gia đình và đồng nghiệp tại hai khoa Kỹ thuật Cơ sở và Khoa Tiêu chuẩn – Đo lường – Chất lượng cũng như lãnh đạo trường Đại học Trần Đại Nghĩa đã giúp đỡ, động viên và tạo điều kiện cho tôi trong quá trình học tập và thực hiện luận văn này. Xin kính chúc sức khỏe và chân thành cám ơn! Học viên Nguyễn Anh Tuấn vii
  8. TÓM TẮT Luận văn sử dụng các hình dạng đặc trưng về màu sắc, đặc trưng về biên, cạnh trên cơ sở thuật toán Hough và thuật toán Camshift kết hợp bộ lọc Kalman được tích hợp trong thư viện mã nguồn mở OpenCV phiên bản 2.4.11 để điều khiển hệ thống camera bám theo đối tượng di chuyển. Hệ thống bao gồm cơ cấu pan-tilt hai bậc tự do mang camera, board điều khiển hai động cơ sử dụng vi điều khiển Arduino Mega 2560 để điều khiển 2 động cơ theo thuật toán PID và máy tính có tích hợp sẵn thư viện OpenCV. Kết quả thử nghiệm cho thấy hệ thống bám tốt trong điều kiện môi trường ánh sáng tốt, có giới hạn nhiễu, đối tượng dịch chuyển với tốc độ tối đa 5m/s khi sử dụng thuật toán Camshift kết hợp với bộ lọc Kalman. ABSTRACT Thesis uses characteristic shape of colour, edge based on Hough algorithm and Kalman Filter combining with Image Tracking Camshift Algorithm, integrated in open librabry source code OpenCV version 2.4.11 to control camera system tracking to moving object. This system consists of a pan-tilt with 2 degree of freedom carrying a camera, a motors control board using Arduino Mega 2560 to control two motors using PID algorithm and a computer integrated OpenCV library. Experiment results show the system can track moving object with maximum velocity of 5m/s with good light environment, limited noise using Kalman Filter combining with Image Tracking Camshift Algorithm. viii
  9. MỤC LỤC Trang tựu TRANG LÝ LỊCH KHOA HỌC iv LỜI CAM ĐOAN vi LỜI CÁM ƠN vii MỤC LỤC ix DANH MỤC HÌNH xi DANH MỤC BẢNG xiii CHƯƠNG I: TỔNG QUAN 14 1.1. Giới thiệu 14 1.2. Tổng quan về các công trình liên quan 16 1.3. Các giải thuật nhận dạng, tracking đối tượng di chuyển đặc trưng được sử dụng trong thực tế 19 1.4. Mục tiêu của đề tài 21 1.5. Nhiệm vụ của đề tài 21 1.6. Phương pháp nghiên cứu 21 CHƯƠNG II: CƠ SỞ LÝ THUYẾT CỦA HỆ PAN-TILT CAMERA, THUẬT TOÁN CAMSHIFT VÀ BỘ LỌC KALMAN. 22 2.1. Phương trình trạng thái của hệ palt – tilt camera. 22 2.1.1. Giới thiệu 22 2.1.2. Mô hình toán học của hệ pan – tilt camera 23 2.2. Thuật toán Camshift: 25 2.3. Bộ lọc Kalman 28 2.3.1. Bộ lọc nhiễu dự báo Kalman 28 2.3.2. Mô hình tổng quát của ước lượng dùng bộ lọc Kalman 30 2.3.3. Bộ lọc Kalman 31 2.3.3.1. Các ký hiệu sử dụng 31 2.2.3.2. Xây dựng bộ lọc Kalman 32 2.2.3.3. Tóm tắt các phương trình của bộ lọc Kalman 33 CHƯƠNG III: THIẾT KẾ VÀ XÂY DỰNG GIẢI THUẬT NHẬN DẠNG, BÁM THEO ĐỐI TƯỢNG;THUẬT TOÁN ĐIỀU KHIỂN HỆ THỐNG 35 ix
  10. 3.1. Giải thuật tách nền. 35 3.2. Lọc nhiễu. 38 3.3. Phương pháp tracking đối tượng, dự báo hướng di chuyển và vận tốc đối tượng sử dụng thuật toán Camshift kết hợp bộ lọc Kalman. 40 3.3.1. Xác định tọa độ tâm đối tượng. 42 3.3.2. Luật điều khiển mờ đưa đối tượng về tọa độ tâm bức ảnh 42 3.3.3. Thiết kế bộ điều khiển PID vị trí điều khiển hai động cơ 43 CHƯƠNG 4: CHẾ TẠO MÔ HÌNH. KẾT QUẢ THỰC NGHIỆM 46 4.1. Thi công mô hình 46 4.1.1. Thông số kỹ thuật của các thành phần trong mô hình 47 4.1.2. Nguyên lý thiết kế bo điều khiển: 49 4.1.4. Giao diện phần mềm 52 4.2. Kết quả thực nghiệm 53 4.2.1. Điều khiển bám theo đối tượng hình tròn màu hồng sử dụng thuật toán Hough 53 4.2.1. Điều khiển bám đối tượng sử dụng thuật toán Camshift và bộ lọc Kalman 54 4.3. Nhận xét và đánh giá 55 CHƯƠNG 5: KẾT LUẬN 56 5.1. Kết luận 56 5.2. Hướng phát triển của đề tài 56 TÀI LIỆU THAM KHẢO 58 PHỤ LỤC 60 A. Code Arduino Mega 2560 điều khiển hai động cơ: 60 B. Cài đặt bộ lọc Kalman trong OpenCV 73 x
  11. DANH MỤC HÌNH Hình 1.1: Sơ đồ hệ thống Pan – Tilt Camera bám đối tượng 15 Hình 1.2: Sơ đồ điều khiển hệ Pan – Tilt Camera bám mục tiêu di động 15 Hình 1.3: Mô hình hóa hệ Pan – Tilt Camera 15 Hình 1.4: Sơ đồ điều khiển Robot mang Camera 17 Hình 1.5: Lưu đồ giải thuật thuật toán Camshift [3] 18 Hình 2.1: Tọa độ đối tượng trên frame ảnh thu được. 22 Hình 2.2: Mô hình hóa hệ pan tilt 22 Hình 2.3: Phép chiếu quay quanh trục OZ 23 Hình 2.4: Lưu đồ thuật toán Camshift[3] 27 Hình 2.5: Mô hình ước lượng dùng bộ lọc Kalman 30 Hình 2.6: Tóm tắt quá trình làm việc của lọc Kalman 34 Hình 3.1: Các bước thực hiện trong thuật toán nhận dạng và bám theo đối tượng dịch chuyển 35 Hình 3.2: Lược đồ Histogram của ảnh 36 Hình 3.3: Sử dụng bộ lọc ngưỡng (Threshold Filter) 37 Hình 3.4: Kết quả bức ảnh sau khi sử dụng bộ lọc Gaussian Blur 39 Hình 3.5: Sơ đồ kết hợp giữa bộ lọc Kalman và Camshift 40 Hình 3.6: Sơ đồ tóm tắt bộ lọc Kalman được sử dụng trong chương trình 41 Hình 3.7: Kết quả dự đoán vị trí với bộ lọc Kalman 42 Hình 3.9: Sơ đồ khối bộ điều khiển PID vị trí. 44 Hình 3.10: Lưu đồ giải thuật trên vi xử lý 45 Hình 4.1: Mô hình hệ điều khiển camera bám mục tiêu di động 46 Hình 4.2: Webcam LifeCam Cinema H5D-00013 sử dụng trong đề tài 47 Hình 4.3: Động cơ dưới 48 Hình 4.4: Động cơ trên 48 Hình 4.5: Bo mạch điều khiển hai động cơ 49 Hình 4.6: Mạch vi xử lý Arduino Mega 2560 49 Hình 4.7: Mạch driver cầu H-FET dùng L298 50 xi
  12. Hình 4.8: Mô hình thi công hoàn chỉnh 51 Hình 4.9: Giao diện phần mềm điều khiển hệ thống 52 Hình 4.10: Kết quả thực nghiệm nhận dạng và bám theo đối tượng hình tròn màu hồng dựa vào thuật toán Hough 53 Hình 4.11: Kết quả thực nghiệm với thuật toán Camshift và Kalman 54 xii
  13. DANH MỤC BẢNG Bảng 1.1: Phân loại các thuật toán nhận dạng đối tượng. 20 Bảng 2.1: Ký hiệu chuẩn của bộ lọc Kalman 31 Bảng 2.2: Các ký hiệu liên quan đến vector trạng thái 32 Bảng 2.3: Ký hiệu và kích thước các ma trận 32 Bảng 2.4: Biểu thức của trạng thái và giá trị đo 32 Bảng 2.5: Tóm tắt các phương trình của bộ lọc Kalman 33 Bảng 3.1: Các thông số P và D được tính toán và thực nghiệm trên chương trình xử lý ảnh. 43 Bảng 4.1: Các thành phần chính của mạch Arduino Mega 2560 50 Bảng 4.2: Kết quả thực nghiệm nhận dạng và bám theo đối tượng hình tròn màu hồng dựa vào thuật toán Hough 54 Bảng 4.3: Kết quả thực nghiệm với thuật toán Camshift và Kalman 54 xiii
  14. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng CHƯƠNG I: TỔNG QUAN 1.1. Giới thiệu Bài toán điều khiển bám mục tiêu là một trong những bài toán phổ biến nhất trong lĩnh vực điều khiển. Dựa vào những yêu cầu về tính ổn định và chất lượng điều khiển của hệ thống, ta có nhiều phương pháp giải quyết khác nhau. Hiện nay, để điều khiển bám một đối tượng dịch chuyển có chất lượng tốt, nhiều tác giả đã ứng dụng công nghệ xử lý ảnh trên nền tảng sử dụng camera để bám đối tượng. Đối tượng bám ở đây rất đa dạng: có thể là người, xe, bóng, tùy theo yêu cầu thực tế. Vì vậy, bài toán đầu tiên trong hệ thống điều khiển bám đối tượng dịch chuyển dùng camera là phải nhận dạng được đối tượng dịch chuyển trên cơ sở các frame ảnh phản hồi từ camera, sau đó sử dụng các giải thuật xử lý ảnh. Giải thuật xử lý bám đối tượng trên nền các frame ảnh thu được đưa ra tọa độ, vận tốc dịch chuyển, hướng dịch chuyển hiện thời của đối tượng trên nền ảnh và cuối cùng là áp dụng các giải thuật điều khiển động cơ để điều khiển cơ cấu mang camera bám theo đối tượng thực. Trong thực tế, đã có rất nhiều tác giả trong và ngoài nước nghiên cứu chế tạo các mô hình điều khiển hệ thống mang camera bám theo đối tượng dịch chuyển. Ví dụ như: hệ robot xe – camera, cánh tay máy mang camera, nòng súng mang camera, hệ pan – tilt camera, có thể xoay nhiều hướng. Trong số các mô hình này, hệ pan-tilt camera là một trong những mô hình cơ bản nhất, mục tiêu của mô hình này là điều khiển hai động cơ bước hoặc động cơ DC servo để đảm bảo tầm và hướng quan sát của camera nhằm theo dõi và bám theo đối tượng di chuyển. Hình dưới đây mô tả sơ đồ tổng quát của hệ pan-tilt camera theo dõi và bám theo đối tượng di chuyển: SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 14
  15. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng Nhận Frame ảnh Thuật toán bám đối tượng dùng sử lý ảnh Camera Tọa độ vị trí đối tượng (x, y) Thuật toán điều khiển hệ Pan – Tilt Đế Pan - Tilt Camera Hình 1.1: Sơ đồ hệ thống Pan – Tilt Camera bám đối tượng Vị trí mong muốn Vị trí thực tế Hệ thống Pan – Tilt Controller Camera Frame Grabber Camera Hình 1.2: Sơ đồ điều khiển hệ Pan – Tilt Camera bám mục tiêu di động Hình 1.3: Mô hình hóa hệ Pan – Tilt Camera SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 15
  16. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng Việc xây dựng hệ thống điều khiển bám mục tiêu di động sử dụng thị giác máy tính không chỉ là nền tảng cho các nghiên cứu sau này, mà còn có thể ứng dụng cụ thể trong ngành điều khiển robot bám mục tiêu theo những quỹ đạo mong muốn để thực hiện một số nhiệm vụ cụ thể, hoặc có thể ứng dụng trong lĩnh vực quốc phòng như xây dựng hệ thống ngắm bắn tự động bám mục tiêu trên các loại pháo phòng không 1.2. Tổng quan về các công trình liên quan Mô hình hệ pan-tilt camera là mô hình cơ bản gắn liền để giải quyết bài toán hệ robot – camera tự hành bám mục tiêu động sử dụng thị giác máy tính. Chính vì thế, có rất nhiều tác giả trong và ngoài nước đã nghiên cứu, đưa ra được một số kết quả mô phỏng lẫn thực nghiệm với chất lượng điều khiển bám tương đối tốt. Tại Đại học Bách khoa Hồ Chí Minh vào năm 2008 tác giả Lý Thanh Phương đã sử dụng đặc trưng Haar-Like và thuật toán tăng tốc Adaboost để nhận dạng và bám theo gương mặt người trên nền tảng SharpCV[1], tác giả đã sử dụng luật điều khiển mờ trên cơ sở tọa độ gương mặt bám được trên các frame ảnh hồi tiếp về để điều khiển đế pan-tilt mang camera quay theo hướng dịch chuyển của gương mặt. Tuy nhiên đề tài chỉ dừng lại ở việc nhận dạng gương mặt, tốc độ đáp ứng của camera còn chậm khoảng 3m/s. Tác giả Bùi Trọng Tuyên (Viện Vật Lý Việt Nam) đã sử dụng mạng nơ ron để điều khiển hệ camera- robot bám theo mục tiêu di động [2], nguyên lý chung của phương pháp này dựa trên tập dữ liệu đặc trưng ảnh của đối tượng nhận được từ camera như tọa độ các điểm đặc trưng trên mặt phẳng ảnh [u, v], khoảng cách giữa các điểm và tham số của các đoạn thẳng trên ảnh  ,, trọng tâm và diện tích S Tập hợp các vectơ đặc trưng ảnh tạo thành không gian thông số đặc trưng ảnh ký hiệu  u1v1, 11 S1S2. X0 ξd e τ XC ξ Controller Robot Camera θ , θ SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 16
  17. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng Hình 1.4: Sơ đồ điều khiển Robot mang Camera Mục tiêu của hệ thống là xây dựng bộ điều khiển sử dụng mạng nơ ron trên cơ sở sai lệch e giữa đặc trưng ảnh hiện thời actual và đặc trưng ảnh mong muốn desired, các tín hiệu phản hồi trạng thái các biến trong robot , 휃̇ nhằm mục đích đưa camera về vị trí mà tại đó hình ảnh thu nhận được về đối tượng tương đương với hình ảnh mong muốn. Kết quả đạt được của bài báo chỉ dừng lại ở mức độ mô phỏng hệ thống sử dụng matlab. Tác giả Ngô Mạnh Tiến (Viện Vật lý, Viện KH&CN Việt Nam) đã sử dụng thuật toán bám theo một tập hợp các điểm đặc trưng ảnh của Lucas, Kanade và Tommasini KLT [3], đây là phương pháp bám sử dụng rất có hiệu quả đối với ảnh thu được là ảnh đen trắng, ảnh của camera hồng ngoại nhìn đêm. Thuật toán này dùng để tính toán sai lệch vị trí mục tiêu, bao gồm các bước: tiền xử lý, xác định và bám các đặc tính (sử dụng 100 đặc tính), bù tự chuyển động của camera, sai phân ảnh, định nghĩa và phân đoạn chuyển động, ước lượng vị trí của đối tượng, xác định LOS và bù vào vòng bám, xây dựng cửa sổ và hiển thị ảnh. Đối với các đối tượng thu được hình ảnh từ camera là ảnh màu đặc trưng so với nền ảnh, tác giả sử dụng thuật toán Camshift (Continuously Adaptive Meanshift), thuật toán này dựa trên cơ sở của thuật toán MeanShift, nó gồm các bước: Chọn vị trí ban đầu của Search Window, dùng thuật toán Meanshift lưu ra một vùng moment thứ 0, đặt kích cỡ của cửa sổ tìm kiếm bằng một hàm của moment thứ 0 tìm được trong bước 2, lặp lại bước 2 và bước 3 cho đến khi hội tụ. Trong lưu đồ thuật toán trên, đầu tiên là tạo Histogram chứa các thuộc tính liên quan đến màu sắc, tiếp theo là tâm và kích cỡ của mục tiêu được tính toán để theo dõi mục tiêu khi hình dạng và kích cỡ của nó thay đổi. Tính xác suất phân bố mục tiêu căn cứ vào Histogram nhận được. Dịch chuyển đến vị trí mới với mỗi khung hình vừa nhận được từ video. Camshift sẽ dịch chuyển đến vị trí mà nó ước lượng trên đối tượng tập trung nhiều điểm sáng nhất trong bức ảnh xác suất. Tìm vị trí mới bắt đầu từ vị trí trước đó và tính toán giá trị trọng tâm vừa tìm được. Cả hai thuật toán trên đều có thư viện các hàm tính toán trong OpenCV và nhóm tác giả đã chọn lập trình phần bám ảnh trên Visual C 6.0 có sử dụng thư viện mã nguồn mở SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 17
  18. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng OpenCV của Intel. Tuy nhiên hệ thống còn có hạn chế ở chỗ: tốc độ bám chậm (khoảng 10 frame/s), hệ thống bám chưa chú ý nhiều đến những thông số quan trọng như đo gia tốc, vận tốc động cơ. Video Chụp Tính toán Xác suất RGB ↔HSV Camshift ảnh Histogram phân bố màu X,Y Tạo vị trí và Đặt tâm search Đặt tâm search kích cỡ search window window window Hình 1.5: Lưu đồ giải thuật thuật toán Camshift [3] Nhóm tác giả Phạm Thượng Cát và Trần Việt Phong đã xây dựng một hệ thống phát hiện và bám mục tiêu di động. Hệ thống được trình bày trong bài báo bao gồm một robot hai bậc tự do pan/tilt có gắn một camera. Hệ thống có nhiệm vụ bám đối tượng đang di chuyển với quỹ đạo không biết trước, thông qua điều khiển các khớp quay của robot sao cho ảnh của đối tượng thu được ở chính giữa tâm camera. Báo cáo đưa ra mô hình động học của hệ, liên quan đến vị trí của đối tượng trong ảnh và góc quay pan, tilt. Bài báo cũng đã sử dụng phương pháp bám dựa vào giải thuật Camshift kết hợp bộ lọc Kalman. Các kết quả nghiên cứu được áp dụng trong hệ thực nghiệm cho kết quả rất khả quan tuy nhiên tốc độ của mục tiêu còn chậm 0,5m/s và khoảng cách là 6,5m. Nhóm tác giả Đào Minh Quân và Trần Vương Minh có nghiên cứu được đăng trên Tạp chí Khoa học Công nghệ Hàng hải đã sử dụng thuật toán phân tích thành phần chính gương mặt để điều khiển động cơ Servo quay camera bám theo chuyển động của mặt người[5]. Tuy SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 18
  19. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng nhiên hệ thống chỉ bám được theo phương nằm ngang, tốc độ chậm, góc sai lệch lớn do sử dụng động cơ Servo. Nhóm tác giả Comaniciu, Ramesh và Meer có các công trình nghiên cứu được đăng trên IEEE đã sử dụng thuật toán Meanshift và bộ lọc Kalman để dự báo tối ưu hướng dịch chuyển của đối tượng quan sát để xây dựng hệ thống bám theo đối tượng [6]. Tuy nhiên kết quả cũng chỉ dừng lại ở tốc độ bám ảnh còn chậm do thời gian xử lý các thuật toán trên máy tính và độ phân giải của camera khi đọc dữ liệu về máy tính. 1.3. Các giải thuật nhận dạng, tracking đối tượng di chuyển đặc trưng được sử dụng trong thực tế Vấn đề nhận dạng đối tượng đang được nghiên cứu và có nhiều ứng dụng trong cuộc sống. Các đối tượng được phát hiện nhờ những thông tin trong một frame ảnh. Có rất nhiều hướng tiếp cận để giải quyết vấn đề trên. Các tác giả Alper Yilmaz, Omar Javed và Mubarak Shah đã phân loại các hướng tiếp cận này được trình bày [14]: Loại Những nghiên cứu liên quan 1. Moravec’s Detector Point Detectors 2. Harris Detector 3. Scale Invariant Feature Transform Affine 4. Invariant Point Detector Segmentation 1. Mean – shift 2. Graph – cut 3. Active Contours Background 1. Mixture of Gaussian Modeling 2. Eigenbackground 3. Wall flower 4. Dinamic texture background Supervised 1. Support Vector Machines Classifier 2. Neural Networks 3. Adaptive Boosting SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 19
  20. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng Bảng 1.1: Phân loại các thuật toán nhận dạng đối tượng. Việc lựa chọn phương pháp áp dụng phải dựa vào tình huống cụ thể, đối với trường hợp có ảnh nền không thay đổi việc phát hiện đối tượng chuyển động có thể bằng các phương pháp trừ nền. Các giải thuật này sẽ được trình bày sau đây. Hướng giải quyết là xây dựng mô hình nền, sau đó sử dụng mô hình này cùng với frame hiện tại để rút ra được các foreground chuyển động. Để có thể tiếp cận cần phải xây dựng được mô hình background. Có nhiều phương pháp xây dựng mô hình background bởi các tác giả: Anurag Mittal dùng adaptive kernel density estimation được tính [12]. Kết quả tốt tuy nhiên khó khăn về không gian lưu trữ, tính toán phức tạp, tốc độ không đáp ứng thời gian thực. Haritaoglu dùng giải thuật W4, Stauffer sử dụng Mixture of Gaussian [13] để xây dựng mô hình nền nhằm phát hiện được các đối tượng chuyển động, xác định xem những đối tượng này có đúng là những đối tượng ta cần phát hiện hay không. Trong các lĩnh vực về phát hiện phần đầu của người thì Wei Qu, Nidhal Bouaynaya và Dan Schonfeld đề ra hướng tiếp cận bằng cách kết hợp mô hình màu da cùng với mô hình màu tóc (skin and hair color model). Những màu này được phát hiện dựa vào mô hình Gauss. Sau đó bằng cách áp dụng phương pháp so khớp mẫu (template matching) để đạt được mục đích phát hiện phần đầu người đáp ứng thời gian thực. Khó khăn trong hướng tiếp cận này thường gặp ở việc thu thập dữ liệu huấn luyện màu da và màu tóc, độ chính xác dể bị ảnh hưởng bởi độ sáng của môi trường. Việc phát hiện đối tượng có thể được thực hiện bằng các phương pháp máy học. Các phương pháp này có thể kể đến như: mạng neural, adaptive boosting, cây quyết định, support vector machines. Điểm chung của các phương pháp này đều phải trải qua giai đoạn huấn luyện trên một tập dữ liệu. Tập dữ liệu này phải đủ lớn, bao quát hết được các trạng thái của đối tượng. Sau đó các đặc trưng sẽ được rút trích ra trên bộ dữ liệu huấn luyện này. Việc lựa chọn đặc trưng sử dụng đóng vai trò quan trọng ảnh hưởng đến hiệu quả của các phương pháp máy học. Một số đặc trưng thường được sử dụng như: đặc trưng về màu sắc, đặc trưng về góc cạnh, đặc trưng histogram Sau khi đã có được đặc trưng, ta sẽ đánh nhãn lớp cụ thể cho các đặc trưng đó để sử dụng trong việc huấn luyện. Trong quá trình huấn luyện, các phương pháp máy học sẽ sinh ra một hàm để ánh xạ những đặc trưng đầu vào SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 20
  21. Điều khiển Camera bám mục tiêu di động GVHD: TS. Nguyễn Thị Lưỡng SVTH: Nguyễn Anh Tuấn – 1520718 Trang: 88