Định vị đối tượng bay nhỏ, khoảng cách gần trên cơ sở camera với công nghệ Deep Learning
Bạn đang xem tài liệu "Định vị đối tượng bay nhỏ, khoảng cách gần trên cơ sở camera với công nghệ Deep Learning", để 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:
- dinh_vi_doi_tuong_bay_nho_khoang_cach_gan_tren_co_so_camera.pdf
Nội dung text: Định vị đối tượng bay nhỏ, khoảng cách gần trên cơ sở camera với công nghệ Deep Learning
- Kỷ yếu Hội nghị Quốc gia lần thứ XI về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/08/2018 DOI: 10.15625/vap.2018.00020 ĐỊNH VỊ ĐỐI TƯỢNG BAY NHỎ, KHOẢNG CÁCH GẦN TRÊN CƠ SỞ CAMERA VỚI CÔNG NGHỆ DEEP LEARNING Hà Mạnh Đào1 1 Trường Đại học Công nghiệp Hà Nội (HaUI) wncs2012@gmail.com, daohm@haui.edu.vn TÓM TẮT: Ở Việt Nam hiện nay các đối tượng bay nói chung, các đối tượng bay không người lái nói riêng như máy bay không người lái, Quadcopter, Flyingcam, phát triển mạnh mẽ. Vấn đề định vị các đối tượng này đặc biệt được quan tâm trong an ninh quốc phòng, trong sự phát triển kinh tế với Cách mạng Công nghiệp 4.0 đã có nhiều phương pháp định vị các đối tượng này nhưng mỗi phương pháp đều có điểm mạnh và nhược điểm riêng. Trong bài báo này tác giả đề xuất một giải pháp định vị các đối tượng bay kích cỡ nhỏ, trong khoảng cách gần trên cơ sở sử dụng stereo camera với thuật giải học sâu (deep learning) để giải quyết vấn đề trên. Kết quả thử nghiệm giải pháp đề xuất cho kết quả hoạt động ổn định và có khả năng triển khai thực tế. Từ khóa: stereo camera, học sâu, hệ thống định vị, đối tượng bay, Flyingcam. I. ĐẶT VẤN ĐỀ Trên thế giới các đối tượng bay nói chung, các đối tượng bay không người lái như máy bay không người lái, Quadcopter, FlyingCam, phát triển mạnh mẽ. Trong nước hiện nay các đối tượng bay cũng xuất hiện ngày càng nhiều và được ứng dụng phổ biến trong nhiều lĩnh vực khác nhau. Chính vì vậy vấn đề định vị các đối tượng này được đặc biệt quan tâm trong lĩnh vực an ninh quốc phòng, trong sự phát triển kinh tế với Cách mạng Công nghiệp 4.0, nhất là vấn đề an toàn cho các tòa nhà chung cư, các vùng trọng điểm, an ninh biên giới, Đã có nhiều phương pháp định vị các đối tượng này như ứng dụng phương pháp định vị Rada, GPS, camera quang học, Laze độ phân giải cao để định vị các đối tượng bay. Phương pháp định vị đối tượng bay bằng camera với các thành tựu khoa học mới hiện nay đang được phát triển mạnh mẽ trên thế giới và trong nước. Việc xác định vị trí của đối tượng chuyển động bằng camera đòi hỏi các phương pháp xử lý ảnh, các phương pháp nhận dạng, các phương pháp xác định vị trí của đối tượng qua các ảnh thu được liên tiếp để từ đó xác định được vận tốc của đối tượng chuyển động đảm bảo thời gian thực. Trong bài báo này, chúng tôi thực hiện xây dựng một hệ thống SCMS (Stereo Camera based Monitoring System) sử dụng nhiều modul với 2 camera để thu ảnh và phân tích nhận dạng đối tượng qua ảnh sử dụng thuật giải học sâu với mạng nơ ron tích chập (CNN). Từ đó hệ thống sẽ tiến hành tính toán định vị các đối tượng bay và gửi qua mạng về một trung tâm giám sát hiển thị và lưu trữ lên đám mây. Phần tiếp theo của bài báo được bố trí như sau: phần II sẽ đề xuất và xây dựng hệ thống SCMS; phần III là phần mô phỏng và cuối cùng là phần kết luận. II. HỆ THỐNG SCSM VỚI THUẬT GIẢI HỌC SÂU A. Mô tả hệ thống SCSM Hệ thống SCSM ứng dụng thuật toán định vị để giám sát các đối tượng bay được thể hiện như hình 1. Hệ thống gồm các thành phần: Modul thu thập và xử lý ảnh Mạng truyền thông Trung tâm giám sát PS1 Camera1 IPS1 Trung tâm Camera2 giám sát PS2 Camera1 Mạng truyền thông IPS2 Camera2 (Internet/4G) PSn Camera1 Cloud IPSn Camera2 Hình 1. Hệ thống định vị và giám sát đối tượng
- Hà Mạnh Đào 155 Modul định vị cục bộ sử dụng stereo camera PSi với i=1, , n. Trung tâm giám sát: Thu thập thông tin định vị của các đối tượng được nhận dạng từ các modul PSi được gửi về qua mạng Internet/4G. Dữ liệu định vị này sẽ được Trung tâm giám sát xử lý để loại bỏ dữ liệu dư thừa và được gửi lưu lên đám mây cho phép truy cập theo dõi ở bất cứ đâu qua mạng. Thành phần đám mây: Cho phép lưu trữ dữ liệu định vị nhằm phục vụ cho người sử dụng có thể truy xuất giám sát vị trí của các đối tượng bay tại bất cứ đâu qua mạng sử dụng các thiết bị di động. B. Modul PSi và nhận dạnng ảnh với thuật giải học sâu Mỗi modul PSi (i=1 n) gồm có 2 camera và thành phần xử lý ảnh, định vị đối tượng IPS (Image Processing System). IPS phải có tài nguyên xử lý mạnh như PC nhúng PC104, Raspberry Pi, FPGA, để ccó thể đáp ứng thời gian thực. IPS có nhiệm vụ tại mỗi thời điểm thu đồng thời 2 ảnh từ 2 camera, thực hiện tiền xử lý ảnh và nhận dạng các đối tượng ảnh thông qua mạng CNN. Trên cơ sở các đối tượng được nhận dạng, IPS sẽ thực hiiện tính vị trí 3D của các đối tượng trong hệ tọa độ cục bộ và hệ tọa độ hệ thống. Sau đó nó sẽ chuyển dữ liệu này về trung tâm giám sát qua mạng truyền thông là mạng Internet tốc độ cao hoặc 4G. 1. Thuật giải học sâu Thuật giải học sâu sử dụng mạng nơ ron tích chập (CNN) để nhận dạng các đối tượng bay. Hình 2 là cấu trúc các lớp của một mạng nơ ron CNN. Nó gồm 3 loại lớp chính: Lớp tích chập, lớp sub-sampling (pool), lớp đầu ra (FC). Các lớp của mạng được sắp xếp theo kiến trúc truyền thẳng, lần lượt sau mỗi lớp tích chập là một lớp sub-sampling và sau lớp tích chập cuối cùng là lớp đầu ra. Các lớp tích chập và sub-sampling là các lớp hai chiều còn lớp đầu ra là lớp 1 chiều. Hình 2. Cấu trúc lớp của CNN - Lớp tích chập: Bản đồ đặc trưng đầu ra của lớp tích chập được tính theo công thức sau [2]: Y(k f Wk *)x (2) với x là ảnh vào, bộ lọc tích chập liên quan đến bản đồ đặc trưng thứ k là Wk; ‘*’ thể hiện toán tử tích chập 2D; f (.) thể hiện hàm kích hoạt phi tuyến cho phép trích lọc các đặc trưng phi tuyến. Hàm kích hoạt phi tuyến được sử dụng phổ biến hiện nay là ReUL [3] thay cho hàm sigmoid, hyperbolic tangent trong mạng nơ ron truyền thống. Lớp tổng hợp (pool/sub-sampling): lớp này cho phép tổng hợp để giảm độ phân giải không gian của bản đồ đặc trưng để đạt được sự bất biến không gian do sự biến dạng và dịch đầu vào. Lớp này có thhể lấy trung bình của các đầu vào hoặc lấy cực đại giá trị của các đầu vào. Nhưng hiện nay lớp tổng hợp thường sử dụng toán tử cực đại theo hàm sau [5]: (3) Ykij max xkpq (,)pq ij là đầu ra của phép toán tổng hợp liên kết với bản đồ đặc trưng thứ k; là phần tử tại vị trí (p, q) chứa trong Ykij xkpq vùng tổng hợp ij thể hiện các phần tử xung quanh vị trí (i, j).
- 156 ĐỊNH VỊ ĐỐI TƯỢNG BAY NHỎ, KHOẢNG CÁCH GẦN TRÊN CƠ SỞ CAMERA VỚI CÔNG NGHỆ DEEP LEARNING - Lớp kết nối đầy đủ (FC: Full Connection): Lớp này có kết nối đầy đủ để thực hiện chức năng lập luận mức cao. Trong bài toán phân loại chuẩn nó sử dụng toán tử Softmax [5] và toán tử này hiện nay thường được thay thế bởi máy véc tơ trợ giúp (SVM) để cải tạo độ chính xác phân loại mẫu [6]. Mạng CNN để có thể sử dụng để nhận dạng được ảnh nói chung, nhận đạng đối tượng bay nói riêng, thì nó phải được huấn luyện. CNN được huấn luyện bằng thuật học có giám sát. Quá trình huấn luyện thực chất là quá trình đi cực tiểu hàm sai số giữa tín hiệu ra thực sự với tín hiệu đầu ra mong muốn sử dụng tập dữ liệu mẫu là các cặp {xk, dk} với k=1, 2, , K. Giả sử tập dữ liệu huấn luyện gồm K ảnh đầu vào và K mẫu đầu ra mong muốn. xk là ảnh đầu vào thứ k, dk là mẫu ảnh đầu ra mong muốn tương ứng. Hàm sai số của CNN có dạng: 1 K NL kk2 (1) Eyd(w) (nn ) KNx L kn 11 Trong đó yk là ảnh đầu ra thực sự tương ứng với cặp mẫu {xk, dk} tại kỳ huấn luyện nào đó. Mạng CNN thường được huấn luyện ở chế độ mini-batch với thuật giảm gradient sai số E()t Các thuật giảm gradient sai số phổ biến là GD, GDMV, RPROP, CG, LM [2]. Quá trình huấn luyện CNN gồm 2 pha: Pha truyền thẳng và pha truyền ngược để cập nhật trọng số cho các liên kết lớp mạng nhằm làm giảm sai số đầu ra. Quá trình xây dựng và huấn luyện CNN nhận dạng các đối tượng bay được thực hiện thông qua các bước sau: Tạo tập dữ liệu ảnh mẫu các đối tượng bay gồm 2 tập: Tập huấn luyện và tập test. Tạo mạng CNN Khởi tạo các trọng liên kết và ngưỡng (bias) Tính toán đầu ra tương ứng với mỗi mẫu đầu vào (truyền xuôi) Huấn luyện mạng để đạt đầu ra mong muốn đối với các mẫu đầu vào (truyền ngược) Thực hiện kiểm thử CNN với tập dữ liệu test. Trong các bước xây dựng CNN, tập dữ liệu huấn luyện CNN đóng một vai trò quan trọng trong việc phân loại và nhận dạng đối tượng. Đối với các đối tượng bay, tập dữ liệu huấn luyện phải thu thập được nhiều hình ảnh khác nhau, nhiều kích cỡ khác nhau cho một đối tượng vì các đối tượng đi vào trường quan sát của mỗi Camera với các tư thế bay và khoảng cách bay khác nhau. 2. Xác định vị trí trong PSi a) Xác định vị trí trong hệ tọa độ PSi Xét hệ Camera gồm Camera1( Left Camera) và Camera2 (Right Camera) như hình 3. Từ hình 3 tọa độ của đối tượng p là (Xp, Yp, Zp) được tính từ 2 ảnh của hệ camera theo các công thức (2), (3), (4). Z P(x , Zp p E (2) (3) 01 0 02 (4) f Xp Xl Xr Left Camera Right Camera Hình 3. Hệ stereo camera b) Tính toán vị trí trong hệ tọa độ hệ thống Giả sử các PSi có tọa độ 0i là (xi, yi, zi) với i=1, ,n, nếu đối tượng j trong hệ tọa độ cục bộ 0i có tọa độ là (xij, yij, zij) thì tọa độ của đối tượng j trong hệ tọa độ hệ thống 0 có tọa độ tương ứng là (x,y,z) được tính theo công thức (5). q q q (x , y , z , 1)= (xij, yij, zij, 1) R (5) với R là ma trận biến đổi: R=RTRα trong đó RT, Rα là các phép biến đổi tịnh tiến và phép biến đổi quay tương ứng được xác định trước từ việc bố trí ban đầu các modul PSi. Ví dụ giả sử tại thời điểm T từ 2 camera của PS1 thu được 2 ảnh và xác định được tọa độ trong hệ trục tọa độ 01 là A(15,7, Z0), B(10,11, Z0); từ 2 camera của PS2 tính được tọa độ của
- Hà Mạnh Đào 157 2 đối tượng là C(6, 6, Z0) và D(10, 11,Z0), giả sử độ xâu Z như nhau. Trong hệ tọa độ hệ thống 0XY: 01y1x1 có tọa độ (10, 5, 0), 02x2y2 có tọa độ (14, 10, 0) thì tọa độ của các đối tượng A, B, C, D trong hệ 0XY sẽ được xác định là: A’: (25,12, Z0), B’: (20,16, Z0), C’: (20, 16, Z0), D’: (30, 11, Z0). Các dữ liệu tọa độ này từ PS1, PS2 gửi về Trung tâm giám sát sẽ được xử lý và xác định được tọa độ của 3 đối tượng P->B’=C’, Q->A’, R->D’ (hình 4). y2 Y D(10,11) C(6,7) Y 02 P(20,16) y1 x2 Q(25,12) B(10,11) R(30,11) A(15,7) 0 X 01 x1 0 X Hình 4: Ánh xạ tọa độ của các đối tượng trong PSi vào 0XY C. Trung tâm giám sát Begin Khởi động và đồng bộ hệ thống Thu dữ liệu tọa độ từ các PSi (i=1 n) Loại bỏ dữ liệu dư thừa Cập nhật tọa độ lên bản đồ Google Map Gửi dữ liệu lên đám mây Tiếp tục ? End Hình 5. Lưu đồ thuật toán của Trung tâm giám sát Trung tâm giám sát có nhiệm vụ: Đồng bộ hóa các modul PSi mỗi khi khởi động Quét nhận tọa độ của các đối tượng gửi về, cập nhật và thực hiện hiển thị trên bản đồ Google Map nhằm giám sát các đối tượng. Gửi dữ liệu lên đám mây. Lưu đồ thuật toán của Trung tâm giám sát đơn giản thể hiện như hình 5.
- 158 ĐỊNH VỊ ĐỐI TƯỢNG BAY NHỎ, KHOẢNG CÁCH GẦN TRÊN CƠ SỞ CAMERA VỚI CÔNG NGHỆ DEEP LEARNING III. MÔ PHỎNG SCSM Hệ thống mô phỏng như hình 5, trong đó gồm 2 bộ PS1, PS2 cùng chung một kit Raspberry Pi3 với các camera có thông số như sau: Kít Raspberry Pi3: Kít sử dụng hệ điều hành Raspbian sử dụng OpenWRT. Trên kít cài đặt môi trường Python 3.4 với thư viện OpenCV3.3. Trên hệ thống này mạng nơ ron CNN với mã Python sẽ được chạy và thực hiện nhận dạng đối tượng từ ảnh, mỗi kênh camera là một CNN. Cammera: có các thông số sau o Ống kính tiêu cự: F6.0MM o Focus khoảng: 20MM o Độ phân giải Video: 640 x 480 o Kích thước: 3.8 x 1.5 x 3cm Hình 5. Mô hình mô phỏng 2 modul PS1, PS2 Hệ thống sử dụng CNN AlexNett của thư viện OpenCV 3.3 được viết trrong ngôn ngữ Python. Đây là CNN được huấn luyện trước với hàng triệu mẫu. Với CNN này cho phép huấn luyện theo phương pháp chuyển giao với tập mẫu mới (hình 6) để đảm bảo tốc độ huấn luyện nhanh. Hình 6. Tập mẫu huận luyện chuyển giao Quá trình huấn luyện với tập mẫu trong mô phỏng được thực hiện trên PC mạnh và được huấn luyện trong 300 kỳ huấn luyện. X y1 y2 P1(x11,y, 11,z) P2(x21,y21,z) O1 x1 O2 x2 O Y PS1 PSS2 Hình 7. Bố ttrí PS1, PS2 với các hệ tọa độ cục bộ và hệ thống
- Hà Mạnh Đào 159 Quá trình test: Chương trình mô phỏng thực hiện song song 2 bộ camera bố trí như hình 7, mỗi bộ thu 2 ảnh với thời gian cắt mẫu T=20 ms. Từ mỗi cặp ảnh các IPS thực hiện xác định vị trí của các đối tượng trong hệ trục tọa độ cục bộ, tính toán trong hệ trục tọa độ hệ thống và gửi tới PC để cập nhật lên màn hình giám sát hệ thống. Sau đó nó tổng hợp vị trí từ 2 bộ PS để cho kết quả cuối cùng. Các thông số hệ 2 camera: B= 3,8 cm, f= 0,2 cm, O1O2=30 cm, tọa độ O1(50, 10,0), O2(80,10,0), khoảng cách Z=1m từ đó các tọa độ x, y được xác định bởi các công thức (3), (4) và tọa độ hệ thống được tính theo công thức (5). Kết quả thu được tương ứng với các đối tượng từ 2 bộ PS thể hiện như bảng 1. O112 O22 O21 O11 O13 O14 O23 O24 Hình 8. Kết quả ảnh thu được với các đối tượng từ 2 bộ PS Bảng 1. Tọa độ cục bộ (PS) và tọa độ hệ thống của các đối tượng Objects Tọa độ cục bộ Tọa độ hệ thống Tọa độ Hệ thống (xi, yi, zi) (X, Y, Z) sau khi xử lý O11 (20, 20, 100) (70, 30, 100) O11=O21 O12 (30, 30, 100) (80, 40, 100) O12=O22 O13 (40, 20, 100) (90, 30, 100) O13=O23 O14 (50, 26, 100) (100, 36, 100) O14=O24 O21 (-10, 20, 100) (70, 30, 100) O22 (0, 30, 100) (80, 40, 100) O23 (10, 20, 100) (90, 30, 100) O24 (20, 26, 100) (100, 36, 100) IV. KẾT LUẬN Vấn đề an ninh, kinh tế, xã hội đối với các đối tượng bay kích cỡ vừa, nhỏ, tốc độ thấp trong thực ttế hiện nay thực sự là một vấn đề đáng qquan tâm. Để quản lý, cảnh báo, ngăn chặn các vấn đề tiêu cực từ các đối tượng này đòi hởi phải giám sát được vị trí tốc độ của các đối tượng này. Bài báo này đã thực hiện xây dựng một hệ thống định vị trên cơ sở camera sử dụng công nghệ học sâu mà cụ thể là mạng nơ non tích chập (CNN)). Kết quả thử nghiệm đã chứng tỏ hệ thống là khả thi trong thực tế. Tuy nhiên hệ thống còn nhiều hạn chế: Chưa thực nghiệm trong thực tế, chưa phân tách được đối tượng che khuất nhau, chưa thử nghiệm với hệ thống GIS và đám mây thực tế, tập dữ liệu huấn luyện còn ít. Trong thời gian tới chúng tôi sẽ khắc phục các hạn chế đồng thời ứng dụng hệ thống này vào giám sát cacstoaf nhà chung cư, giám sát các khu vực nhậy cảm; thử nghiệm giám sát chuyển hàng lậu qua biên giới với các đối tượng bay khác nhau V. TÀI LIỆU THAM KHẢO [1] Waseem Rawat, Zenghui, Deep Convolutional Neural Networks for Image Classification: A Comprehensive Review, Neural Computation 29, 2352–2449, 2017. [2] S. L. Phung and A. Bouzerdoum, MATLAB library for convolutional neural network, Technical Report, ICT Research Institute, Visualand Audio Signal Processing Laboratory, University of Wollongong. [3] Nair, V., & Hinton, G. E., Rectifed linear units improve restricted Boltzmann machines, Proceedings of the 27th International Conference on Machine Learning (pp. 807–814), International Machine Learning Society, 2010. [4] LeCun Y., Bengio, Y., & Hinton, G., Deep learning, Nature, 521(7553), 436–444, 2015. [5] Szegedy, C., Liu, W., Jia, Y., Serrmanet, P., Reed, S., Anguelov, D., Rabinovich, A., Going deeper with convolution, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 1–9), Los Alamitos, CA: IEEE Computer Society, 2015.
- 160 ĐỊNH VỊ ĐỐI TƯỢNG BAY NHỎ, KHOẢNG CÁCH GẦN TRÊN CƠ SỞ CAMERA VỚI CÔNG NGHỆ DEEP LEARNING [6] Tang, Y., Deep learning using linear support vector machines, 2013. [7] Deepika Jaswal, Sowmya.V, K.P.Soman, Image Classification Using Convolutional Neural Networks , International Journal of Advancements in Research & Technology, Volume 3, Issue 6, ISSN 2278-7763 , June- 2014. FLYING OBJECT LOCATION ESTIMATION FROM A STEREO CAMERA BASED THE DEEP LEARNING TECHNOLOGY Ha Manh Dao ABSTRACT: In Vietnam, the flying subjects in general , unmanned objects in particular, such as unmanned aircraft, Quadcopter, FlyingCam, developed strongly. The problem of locating these objects is particularly concerned in defense security, in the economic development with the industrial revolution 4.0 There are many methods of locating these objects but each method is has its strengths and weaknesses. In this paper, the we proposes a solution for locating small size objects, distance near, low velocity, using a stereo camera with deep learning algorithm to solve the problem. Test results show that the system can be deployed in practical applications.