TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÁO CÁO TỔNG KẾT Đồ án 1 Đề tài ĐỊNH VỊ ĐỐI TƯỢNG MẶT ĐẤT THÔNG QUA XỬ LÝ ẢNH UAV Họ tên sinh viên MSSV Lớp – Khóa Võ Kiều Trinh 20182833 Điện t.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO TỔNG KẾT Đồ án Đề tài: ĐỊNH VỊ ĐỐI TƯỢNG MẶT ĐẤT THÔNG QUA XỬ LÝ ẢNH UAV Họ tên sinh viên MSSV Võ Kiều Trinh Lê Huy Hồng Lê Đình Hữu 20182833 20182536 20182571 Giảng viên hướng dẫn: Lớp – Khóa Điện tử 02-K63 Điện tử 02-K63 Điện tử 05-K63 TS Phạm Văn Tiến Hà Nội, 08-2021 LỜI NÓI ĐẦU Thị giác máy tính (Computer Vision) lĩnh vực hot khoa học máy tính nghiên cứu trí tuệ nhân tạo, Nhiều ứng dụng bạn sử dụng hàng ngày sử dụng cơng nghệ thị giác máy tính Google sử dụng để giúp bạn tìm kiếm đối tượng cảnh vật “con người” “đồ vật” thư viện hình ảnh bạn, sở y tế sử dụng để chuẩn đoán phát bệnh Các công ty khác sử dụng thị giác máy tính để giúp nâng cao hình ảnh Phát đối tượng, tìm khoảng cách, bám đối tượng chuyển động ứng dụng quan trọng thị giác máy tính thực tiễn Trên sở kiến thức học với đề tài “ Định vị đối tượng mặt đất thông qua xử lý ảnh UAV” hội để chúng em tìm tịi kiến thức rèn luyện kỹ làm việc nhóm quản lý thời gian hiệu Qua chúng em xin chân thành cám ơn thầy Phạm Văn Tiến trực tiếp định hướng, tạo điều kiện cần thiết tận tình hướng dẫn chúng em hồn thành để tài Chúng em cố gắng để hoàn thành tốt vốn kiến thức hạn hẹp yếu tố khách quan khác mà khơng tránh khỏi sai sót Chúng em mong đóng góp ý kiến, phê bình hướng dẫn thêm thầy để đề tài chúng em hoàn thiện LỜI CAM ĐOAN Em Võ Kiều Trinh, mã số sinh viên 20182833, đại diện nhóm Thầy hướng dẫn TS Phạm Văn Tiến Em xin cam đoan tồn nội dung trình bày “Đề tài đồ án Định vị đối tượng mặt đất thông qua xử lý ảnh UAV ” kết trình tìm hiểu nghiên cứu chúng em Các liệu nêu báo cáo hoàn toàn trung thực, phản ánh kết thực tế Mọi thơng tin trích dẫn tn thủ quy định sở hữu trí tuệ, tài liệu tham khảo liệt kê rõ ràng Chúng em xin chịu hoàn toàn trách nhiệm với nội dung viết báo cáo Hà Nội, Tháng 08 năm 2021 Người cam đoan Võ Kiều Trinh MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT i DANH MỤC HÌNH VẼ ii DANH MỤC BẢNG BIỂU .iii CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài 1.3 Lập kế hoạch CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Xử lý ảnh 2.1.1 Tổng quan xử lý ảnh 2.1.2 Các trình xử lý ảnh 2.1.3 Ảnh máy tính 2.1.4 Phạm vi ứng dụng xử lý ảnh 2.2 Công nghệ UAV 2.2.1 UAV 2.2.2 Cấu tạo thiết bị bay chụp UAV 2.2.3 Quy trình bay chụp xử lý ảnh CHƯƠNG Tổng quan thư viện mã nguồn 11 3.1 Thư viện OpenCV 11 3.1.1 OpenCV ? 11 3.1.2 Vì lựa chọn OpenCV ? 11 3.1.3 Cấu trúc nội dung OpenCV 12 CHƯƠNG Phân tích thiết kế phần mềm 13 4.1 Phân tích hệ thống phát đối tượng đo khoảng cách 13 4.2 Phân tích hệ thống bám đối tượng chuyển động 16 CHƯƠNG KẾT QUẢ MÔ PHỎNG 18 5.1 Kết phát đối tượng đo khoảng cách 18 5.2 Kết phát đối tượng chuyển động bám đối tượng 18 CHƯƠNG KẾT LUẬN 20 6.1 Kết đạt 20 6.2 Nhứng vấn đề chưa thực hạn chế đề tài 20 6.3 Hướng phát triển đề tài 20 TÀI LIỆU THAM KHẢO 21 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT UAV Unmanned aerial vehicle RGB Red, Green, Blue OpenCV Open Source Computer Vision 3D 3-Dimension 2D 2-Dimension i DANH MỤC HÌNH VẼ Hình 2.1 Các giai đoạn xử lý ảnh Hình 2.2 Mơ hình màu RBG Hình 2.3 Mơ tả số rgb màu Hình 2.4 Ảnh màu Hình 2.5 Ảnh xám Hình 2.6 Mơ tả q trình bay chụp xử lý ảnh UAV 10 Hình 3.1 Biểu tượng thư viện OpenCV 11 Hình 4.1 Mơ tả hệ thống phát đối tượng đo khoảng cách 13 Hình Mơ tả kiến thức vật lý 14 Hình Khai báo khoảng cách face_width 14 Hình 4 Sử dụng mô-đun phát đối tượng Haar Cascade OpenCV .15 Hình 4.5 Hàm tính face_width .15 Hình 4.6 Mơ tả hàm tính tiêu cự f 15 Hình 4.7 Sử dụng mô-đun phát đối tượng Haar Cascade OpenCV 15 Hình 4.8 Hàm tính khoảng cách 16 Hình Mơ tả hệ thống bám đối tượng chuyển động 16 Hình 4.10 Khởi tao BackgroundSubtractorMOG2 16 Hình 4.11 Duyệt qua frame, xử lý frame với Background Subtractor 17 Hình 12 Xác định khu vực quan tâm, xác định đối tượng 17 Hình 5.1 Phát đối tượng đo khoảng cách .18 Hình 5.2 Xác định khu vực cần quan tâm .18 Hình 5.3 Phát đối tượng chuyển động bám đối tượng 19 ii DANH MỤC BẢNG BIỂU Bảng 1 Mô tả công việc .1 Bảng Phân công công việc cho thành viên .2 iii CHƯƠNG ĐẶT VẤN ĐỀ 1.1 Lý chọn đề tài Trước phát triển mạnh mẽ ngày ứng dụng phổ biến dân quân thiết bị bay không người lái ( UAV ) năm gần đây, UAV thực nguồn cho nhiều lĩnh vực UAV hoạt động phạm vi rộng lớn với địa hình đa dạng mà không cần nhiều nhân lực chi phí cao Tuy nhiên với số lượng lớn ảnh thu thập được, vấn đề phát sinh xử lý, đánh giá xác định đôi tượng cần quan tâm Xuất phát từ nhu cầu thực tế nhóm chúng em định chọn đề tài “ Định vị đối tượng mặt đất thông qua xử lý ảnh UAV ” 1.2 Mục tiêu đề tài • Phát triển phần mềm đo lường khoảng cách hướng đối tượng mặt đất cách xử lý liệu video flycam • Phần mềm bám đối tượng chuyển động chạy giao diện web 1.3 Lập kế hoạch Mô tả công việc thể bảng 1.1 Bảng 1 Mô tả công việc STT Tên công việc Mơ tả cơng việc Thời gian Tìm hiểu nội dung đề tài Tìm hiểu nội dung đề tài 2-3 ngày Tìm hiểu lý thuyết Tìm hiểu lý thuyết , khái niệm nội dung liên quan 2-3 tuần Xây dựng tổng quan chi tiết phần mềm Lập trình phát triển phần mềm 4-5 tuần Mô Mô 1-2 ngày Sửa lỗi tối ưu Chạy kiểm thử 2-3 tuần Hoàn thiện Hoàn thành báo cáo tổng kết tất yêu cầu đưa từ GVHD 1-2 tuần Phân công cho thành viên thể bảng 1.2 Bảng Phân công công việc cho thành viên STT Công việc Võ Kiều Trinh Lê Đình Hữu Lê Huy Hồng Tìm hiểu lý thuyết x x x Thiết kế tổng quan chi tiết x Mơ x Trình bày báo cáo tuần x x x Trình bày báo cáo tổng kết x x Hình 2.4 Ảnh màu Ví dụ ảnh có kích thước 800 pixel * 600 pixel, biểu diễn dạng ma trận kích thước 600 * 800 Trong phần tử Wij pixel Như hiểu pixel biểu diễn màu ảnh kết hợp nhiều pixel Hiểu đơn giản in ảnh ra, kẻ ô vuông chơi cờ ca rô với 800 đường thẳng chiều dài, 600 đường chiều rộng, ô vuông pixel, biểu diễn chấm màu.Để biểu diễn chấm màu ta cần thông số (r, b, g) - Ảnh xám: Ảnh xám tương tự ảnh màu nhiên pixel ảnh xám cần biểu diễn giá trị nguyên khoảng từ [0,255] thay (r,g,b) ảnh màu Giá trị màu đen, 255 màu trắng giá trị pixel gần tối gần 255 sáng Hình 2.5 ví dụ ảnh xám Hình 2.5 Ảnh xám 2.1.4 Phạm vi ứng dụng xử lý ảnh Xử lý ảnh đem lại nhiều ứng dụng nhiều lĩnh vực khác nhau: Nông nghiệp, hệ thống giao thơng, cơng nghiệp, y học, khoa học hình hình sự, khí tượng thuỷ văn, quản lý, 2.2 Cơng nghệ UAV 2.2.1 UAV UAV viết tắt Unmanned aerial vehicle, có nghĩa Thiết bị bay không người lái, máy bay không người lái, điều khiển từ xa Trước năm 1916 Archibald Montgometry Low (người Anh) chế tạo máy bay không người lái, nhằm phục vụ cho chiến thứ nhất, cơng kẻ địch chớp nhống Tuy nhiên đến thời bình UAV lại xem ứng dụng hữu dụng cho nhiều lĩnh vực, có lĩnh vực trắc địa – đồ 2.2.2 Cấu tạo thiết bị bay chụp UAV Hệ thống chụp ảnh hàng không kỹ thuật số máy bay không người lái UAV để xây dựng đồ địa hình chia làm thành phần chính: • Hệ thống máy bay: cấu tạo gồm thân máy bay, đầu thu GPS, cảm biến tốc độ gió, cảm biến độ cao, cảm biến áp xuất, cảm biến cân thu phát tín hiệu, pin hành trình cung cấp nguồn điện cho trình bay chụp thiết bị • Máy ảnh kỹ thuật số : Thơng thường máy ảnh sử dụng để chụp ảnh địa hình UAV loại máy ảnh kỹ thuật số có kích thước nhỏ gọn, có tiêu cự cố định khả lấy nét tự động • Trạm điều khiển mặt đất: Mội hệ thống máy bay UAV phải điều khiển trạm điều khiển mặt đất 2.2.3 Quy trình bay chụp xử lý ảnh Cơng tác chuẩn bị bao gồm hoạch định vị trí phạm vi bay chụp, kiểm tra vùng cấm bay tiếp đến kiểm tra điều kiện thời tiết có phù hợp cho công tác bay chụp hay không Khi điều kiện tiến hành thủ tục bay đảm bảo tiếp đến thiết kế tuyến bay tiến hành bay chụp Sau có kết bay chụp, số liệu bao gồm ảnh số tọa độ đưa vào phần mềm xử lý ảnh Trên sở nội dung trính tự thực bước ta đưa quy trình bay chụp xử lý số liệu mơ tả hình 2.6 Hình 2.6 Mơ tả trình bay chụp xử lý ảnh UAV 10 CHƯƠNG Tổng quan thư viện mã nguồn 3.1 Thư viện OpenCV 3.1.1 OpenCV ? OpenCV viết tắt Open Source Computer Vision xem thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực Hình 3.1 Biểu tượng thư viện OpenCV OpenCV thức mắt vào năm 1999, OpenCV thư viện mã nguồn mở miễn phí cho học thuật thương mại Hiện OpenCV có giao diện lập trình khác Python, C, C++, Java… hỗ trợ cho hệ điều hành bao gồm Linux, Windows, IOS, OS, Android Riêng C/C++ OpenCV tận dụng xử lý đa lõi mang đến kết đáng bất ngờ 3.1.2 Vì lựa chọn OpenCV ? OpenCV có 47 nghìn người dùng ước tính 14 triệu số lượt tải xuống, thư viện OpenCV sử dụng rộng rãi nhiều lĩnh vực giám sát tự động tìm kiểm, phục hồi, xử lý ảnh, nhận dạng khuôn mặt, cử chỉ, nhận dạng chữ viết, số, ký tự… Có nhiều công nghệ đại công ty lớn sử dụng thư viện OpenCV 11 ứng dụng : Intel, Microsoft, IBM, Siemens, Google… trung tâm nghiên cứu như: Stanford, MIT, Cambridge, INRIA…Điều khẳng định OpenCV thực góp phần vơ lớn lĩnh vực thị giác máy 3.1.3 Cấu trúc nội dung OpenCV OpenCV có cấu trúc module, nghĩa gói bao gồm số thư viện liên kết tĩnh (static libraries) thư viện liên kết động (shared libraries) Xin phép liệt kê số định nghĩa chi tiết module phổ biến có sẵn sau: • Core functionality (core) – module nhỏ gọn để xác định cấu trúc liệu bản, bao gồm mảng đa chiều dày đặc nhiều chức sử dụng tất module khác • Image Processing (imgproc) – module xử lý hình ảnh gồm lọc hình ảnh tuyến tính phi tuyến (linear and non-linear image filtering), phép biến đổi hình học (chỉnh size, afin warp phối cảnh, ánh xạ lại dựa bảng chung), chuyển đổi không gian màu, biểu đồ, nhiều khác • Video Analysis (video) – module phân tích video bao gồm tính ước tính chuyển động, tách nền, thuật toán theo dõi vật thể • Camera Calibration and 3D Reconstruction (calib3d) – thuật tốn hình học đa chiều bản, hiệu chuẩn máy ảnh single stereo (single and stereo camera calibration), dự đoán kiểu dáng đối tượng (object pose estimation), thuật tốn thư tín âm (stereo correspondence algorithms) yếu tố tái tạo 3D • 2D Features Framework (features2d) – phát đặc tính bật nhận diện, truy xuất thông số, thông số đối chọi • Object Detection (objdetect) – phát đối tượng mô hàm định nghĩa sẵn – predefined classes (vd: khuôn mặt, mắt, cốc, người, xe hơi,…) • … số module hỗ trợ khác 12 CHƯƠNG Phân tích thiết kế phần mềm 4.1 Phân tích hệ thống phát đối tượng đo khoảng cách Hình 4.1 Mơ tả hệ thống phát đối tượng đo khoảng cách Hệ thống phát đối tượng ( người ) đo khoảng cách từ camera đến đối tượng mơ tả hình 4.1 Q trình thực chia làm giai đoạn: • Xác định tiêu cự f • Tìm khoảng tử camera đến đối tượng 13 Hình Mơ tả kiến thức vật lý Dựa vào hình 4.2 ta có : tan 𝛼1 = => Tiêu cự 𝑓 = 𝑎.𝑑 ℎ ℎ 𝑑 = , khoảng cách 𝑑 = 𝑎 𝑓 ℎ.𝑓 𝑎 Giai đoạn 1: Tính tiêu cự f Bước 1: Đo khoảng cách từ đối tường đến camera để tìm know_distance ( d ), real_face_width (h ) khoảng 14,3 cm Hình Khai báo khoảng cách face_width Bước 2: Chụp lại ảnh, đầu vào lúc ảnh gốc Bước 3: Chuyển ảnh sang ảnh xám Bước 4: Sử dụng mô-đun phát đối tượng Haar Cascade OpenCV để phát khuôn mặt sử dụng phương thức detectMultiScale để tìm face_width (a) 14 Hình 4 Sử dụng mơ-đun phát đối tượng Haar Cascade OpenCV Hình 4.5 Hàm tính face_width Bước 5: Tính tiêu cự f theo cơng thức tính tiêu cự Hình 4.6 Mơ tả hàm tính tiêu cự f Giai đoạn 2: Tìm khoảng từ camera đến đối tượng Bước 1: Đọc frame từ camera Bước 2: Chuyển đổi sang ảnh xám Bước 3: Sử dụng mô-đun phát đối tượng Haar Cascade OpenCV để phát khuôn mặt sử dụng phương thức detectMultiScale để tìm face_width_in_frame ( a’ ) Hình 4.7 Sử dụng mơ-đun phát đối tượng Haar Cascade OpenCV 15 Bước 4: Tính khoảng d’ cách từ camera đến đối tượng theo cơng thức tính d Hình 4.8 Hàm tính khoảng cách 4.2 Phân tích hệ thống bám đối tượng chuyển động Hình Mô tả hệ thống bám đối tượng chuyển động Hệ thống bám đối tượng chuyển động mô tả hình 4.3 Quá trình thực theo bước đây: Bước 1: Đọc video Bước 2: Khởi tạo Background Subtractor: Sử dụng BackgroundSubtractorMOG2 Nó thuật tốn trừ Hình 4.10 Khởi tao BackgroundSubtractorMOG2 Bước 3: Duyệt qua frame, xử lý frame với Background Subtractor khai báo bước 16 Hình 4.11 Duyệt qua frame, xử lý frame với Background Subtractor Bước 4: Loại bỏ phần tử nhỏ gây nhiễu vạch kẻ đường, cối…Để loại bỏ cần xác định khu vực quan tâm tập trung phát đối tượng khu vực đó, việc giúp xác định đối tượng xác hơn, tìm đường bao quanh đối tượng màu trắng sau tính tốn diện tính đặt điều kiện lớn nhỏ giá trị để loại bỏ số phần tử nhỏ lớn so với diện tính đối tượng Hình 12 Xác định khu vực quan tâm, xác định đối tượng Bước 5: Vẽ bounding box đối tượng 17 CHƯƠNG KẾT QUẢ MÔ PHỎNG 5.1 Kết phát đối tượng đo khoảng cách Hình 5.1 Phát đối tượng đo khoảng cách 5.2 Kết phát đối tượng chuyển động bám đối tượng Hình 5.2 Xác định khu vực cần quan tâm 18 Hình 5.3 Phát đối tượng chuyển động bám đối tượng 19 CHƯƠNG KẾT LUẬN 6.1 Kết đạt • Xây dựng thành cơng phần mềm phát đối tượng đo khoảng cách từ camera đến đối tượng • Phát đối tượng chuyển động bám đối tượng 6.2 Nhứng vấn đề chưa thực hạn chế đề tài • Phần bám đối tượng chuyện động hoạt động trường cố định cho khu vực định • Đơi khơng nhận dạng đối tượng điều kiện ánh sáng điều kiện môi trường khác • Chỉ dừng lại phần mềm chưa đưa vào chạy giao diện web 6.3 Hướng phát triển đề tài Trong thời gian tới, nhóm chúng em tiếp tục nghiên cứu, phân tích thiết kế để: • Hồn thiện phát triển phần mềm bám đối tượng chuyển động chạy giao diện web • Phát đối tượng chuyển động bám đối tượng nhiều khu vực khác • Tính khoảng cách đối tượng nhằm mục đích tránh va chạm 20 TÀI LIỆU THAM KHẢO [1] https://www.tailieudaihoc.com/3doc/1372340.html [2] https://vi.wikipedia.org/wiki/M%C3%B4_h%C3%ACnh_m%C3%A0u_RGB# RGB_v%C3%A0_hi%E1%BB%83n_th%E1%BB%8B [3] https://teamvietdev.com/opencv-la-gi-ung-dung-opencv-trong-the-gioi-thuc/ [4] https://nttuan8.com/bai-5-gioi-thieu-ve-xu-ly-anh/ [5] Bài báo “ Ứng dụng công nghệ bay chụp ảnh UAV khảo sát tuyến đường dây truyền tải điện Quốc gia Application of UAV photogrammetry technology for surveying the national electricity transmission line” Nguyễn Mai Hạnh [6] https://teamvietdev.com/opencv-la-gi-ung-dung-opencv-trong-the-gioi-thuc/ [7] https://www.stdio.vn/computer-vision/opencv-voi-python-trong-ung-dung-phathien-khuon-mat-trong-buc-anh-dYG31n1 [8] https://ichi.pro/vi/nhan-dien-khuon-mat-trong-10-dong-cho-nguoi-moi-bat-dau25871442088231 [9] https://www.pyimagesearch.com/2015/01/19/find-distance-cameraobjectmarker-using-python-opencv/ [10] Real-time Distance Measurement Using Single Image - Taha Emara 21 ... lớn ảnh thu thập được, vấn đề phát sinh xử lý, đánh giá xác định đôi tượng cần quan tâm Xuất phát từ nhu cầu thực tế nhóm chúng em định chọn đề tài “ Định vị đối tượng mặt đất thông qua xử lý ảnh. .. đoán nhận ảnh, đánh giá nội dung ảnh 2.1.2 Các trình xử lý ảnh Hình 2.1 mơ tả q trình xử lý ảnh Hình 2.1 Các giai đoạn xử lý ảnh Thu nhận ảnh: Đây công đoạn mang tính định trình xử lý ảnh Ảnh đầu... hiểu lý thuyết x x x Thiết kế tổng quan chi tiết x Mơ x Trình bày báo cáo tuần x x x Trình bày báo cáo tổng kết x x CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Xử lý ảnh 2.1.1 Tổng quan xử lý ảnh Xử lý ảnh đối tượng