1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu tìm hiểu thiết bị bay không người lái uav

94 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Nghiên cứu, tìm hiểu thiết bị bay không người lái UAV
Tác giả Phạm Trường Thành
Người hướng dẫn TS. Vương Hoàng Nam
Trường học Trường Đại học Mở Hà Nội
Chuyên ngành Kỹ thuật Viễn thông
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 94
Dung lượng 3,46 MB

Cấu trúc

  • CHƯƠNG 1. TÌM HIỂU VỀ PHƯƠNG TIỆN BAY KHÔNG NGƯỜI LÁI UAV (14)
    • 1.1. Khái niệm, phân loại, vai trò ,thành phần phương tiện bay không người lái UAV (14)
      • 1.1.1. Khái niệm phương tiện bay koong người lái UAV (0)
      • 1.1.2. Phân loại phương tiện bay không người lái UAV (15)
      • 1.1.3. Vai trò phương tiện bay không người lái UAV (18)
      • 1.1.4. Các thành phần và kiến trúc của hệ thống UAV (19)
    • 1.2. Giao thức liên lạc của UAV (21)
    • 1.3. Giới thiệu về xử lý ảnh (23)
      • 1.3.1. Khái niệm xử lý ảnh (23)
      • 1.3.2. Hệ thống xử lý ảnh (24)
      • 1.3.3. Phân loại (25)
      • 1.3.4. Bộ lọc xử lý ảnh (25)
      • 1.3.5. Ứng dụng của xử lý ảnh số (27)
    • 1.4. Học máy (27)
    • 1.5. Học sâu (28)
      • 1.5.1. Lịch sử phát triển học sâu (28)
      • 1.5.2. Mạng nơ ron nhân tạo (30)
      • 1.5.3. Mạng nơ-ron tích chập (32)
      • 1.5.4. Mạng nơ-ron hồi quy (36)
    • 1.6. Định vị và xây dựng bản đồ (Localization and Mapping) (41)
    • 1.7. Định vị dựa trên học sâu (Learning-based Odometry) (42)
      • 1.7.1. Giới thiệu về định vị dựa trên học sâu (42)
      • 1.7.2. Định vị thị giác (43)
      • 1.7.3. Định vị thị giác quán tính (47)
      • 1.7.4. Định vị quán tính (47)
      • 1.7.5. Định vị Lidar (48)
    • 1.8. Kết luận chương (49)
  • CHƯƠNG 2. ĐỊNH VỊ THỊ GIÁC (50)
    • 2.1. Đặt vấn đề (50)
    • 2.2. Cong vênh hình ảnh – Warping (51)
      • 2.2.1. Tọa độ Homogeneous (51)
      • 2.2.2. Cong vênh hình ảnh (53)
    • 2.3. Học không giám sát cho dự đoán độ sâu và chuyển động tương đối – SfM Learner (57)
      • 2.3.1. Tổng hợp góc nhìn mới (57)
      • 2.3.2. Mô hình SfM Learner (58)
    • 2.4. Học không giám sát ước tính độ sâu và ego-motion với kích thước nhất quán – SC-SfM Learner (60)
      • 2.4.1. Tổng quan mô hình SC-SfM Learner (60)
      • 2.4.2. Hàm mất mát của SC-SfM Learner (62)
    • 2.5. Kết luận chương (63)
  • CHƯƠNG 3. ĐỊNH VỊ THỊ GIÁC QUÁN TÍNH (64)
    • 3.1. Đặt vấn đề (64)
    • 3.2. Luồng quang học - Optical flow (65)
      • 3.2.1. Khái niệm luồng quang học (65)
      • 3.2.2. Phương trình ràng buộc luồng quang học (65)
      • 3.2.3. Ứng dụng của luồng quang học (67)
      • 3.2.4. Một số phương pháp ước tính luồng quang học (68)
    • 3.3. Kalman Filter (70)
      • 3.3.1. Giới thiệu về bộ lọc Kalman (70)
      • 3.3.2. Extended Kalman Filter (71)
    • 3.4. Mô hình học sâu kết hợp bộ lọc Extended Kalman (72)
      • 3.4.1. Mô hình Deep EKF VIO (72)
      • 3.4.2. TartanVO EKF (0)
    • 3.5. Kết luận chương (76)
  • CHƯƠNG 4. KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ (77)
    • 4.1. Triển khai SC-SfM Learner trên Jetson (77)
      • 4.1.1. ONNX (77)
      • 4.1.2. TensorRT (77)
      • 4.1.3. Jetson NX Xavier (82)
      • 4.1.4. Huấn luyện mô hình (83)
    • 4.2. Huấn luyện mô hình TartanVO kết hợp EKF (87)
    • 4.3. Kết luận chương (89)
  • KẾT LUẬN .......................................................................................................... 80 (91)
  • TÀI LIỆU THAM KHẢO .................................................................................. 81 (92)

Nội dung

Hệ thống định vị thị giác cho thiết bị bay sử dụng học sâu là một lĩnh vực nhỏ của Localization and Mapping, sử dụng dữ liệu hình ảnh từ máy ảnh và có thể kết hợp dữ liệu từ nhiều loại c

TÌM HIỂU VỀ PHƯƠNG TIỆN BAY KHÔNG NGƯỜI LÁI UAV

Khái niệm, phân loại, vai trò ,thành phần phương tiện bay không người lái UAV

1.1.1 Khái niệm phương tiện bay không người lái UAV

Máy bay không người lái là một khái niệm khá quen thuộc trong thời gian gần đây Ngay tên gọi đã khiến chúng ta có thể hình dung phần nào về sản phẩm công nghệ hiện đại bậc nhất này Nói một cách đúng nhất chúng chính là những phương tiện bay không người lái và thường được gọi ngắn gọn là máy bay không người lái Unmanned aerial vehicle là tên tiếng anh của máy bay không người lái và thường được viết tắt là UAV

UAV là tên chỉ chung cho các loại máy bay hoạt động mà không có sự xuất hiện của con người ở buồng lái, hoạt động một cách tự lập và chúng thường được điều khiển từ xa bởi trung tâm hay máy bay điều khiển

Hình 1.1: Mẫu máy bay không người lái

Máy bay không người lái đã trải qua khá nhiều biến thể tính đến thời điểm hiện tại và chúng cũng được gọi với những cái tên khác nhau

Hệ thống Máy bay Không người lái (UAS), một thuật ngữ của Cục Quản lý Hàng không Liên bang Hoa Kỳ, đề cập đến các máy bay truyền thống được trang bị hệ thống điều khiển và định vị tự động Xuất hiện từ những năm 1950, UAS thường được sử dụng trong các hoạt động quân sự với mục đích ban đầu là chiến đấu.

Không dừng lại ở đó những chiếc máy bay này không ngừng được đa dạng hóa và phát triển Những phương tiện bay kiểu mới được chế tạo đa dạng có kích thước khá là nhỏ và động cơ hoạt động ở mức trung bình hoặc nhỏ để phù hợp với từng nhu cầu sử dụng khác nhau được gọi là Drone Đây là một thuật ngữ được sử dụng khá nhiều trong các ứng dụng thế giới thực thời gian gần đây

1.1.2 Phân loại phương tiện bay không người lái UAV

UAV thường được phân loại theo sáu chức năng chính: Giám sát, Tấn công, Vận chuyển, Cứu hộ, Nghiên cứu và Chụp ảnh Hiện nay, các nền tảng khung máy bay đa vai trò đang trở nên phổ biến, cho phép UAV thực hiện nhiều nhiệm vụ cùng lúc.

 Chiến đấu - cung cấp khả năng tấn công cho các nhiệm vụ có nguy cơ cao

Hình 1.2: Máy bay chiến đấu không người lái

 Mục tiêu và mồi nhử - cung cấp pháo trên mặt đất và trên không một mục tiêu mô phỏng máy bay hoặc tên lửa của đối phương

 Trinh sát - cung cấp thông tin tình báo chiến trường

 Nghiên cứu và phát triển - cải tiến công nghệ UAV

 UAV dân dụng, thương mại - nông nghiệp, chụp ảnh trên không, thu thập dữ liệu

Hình 1.3: UAV thực hiện nhiệm vụ chụp ảnh trên cao

 Hand-held (Cầm tay) độ cao 600 m, phạm vi khoảng 2 km

 Close (Gần) độ cao 1500m, phạm vi lên đến 10km

 NATO type độ cao 3000 m, phạm vi lên đến 50 km

 Tactical (Chiến thuật cao) 5,5km độ cao, phạm vi khoảng 160km

 MALE (medium altitude, long endurance) lên đến 9km và phạm vi trên

 HALE (high altitude, long endurance) trên 9,1km, phạm vi không xác định

 Siêu thanh high-speed, siêu âm (Mach 1-5) hoặc siêu thanh (Mach 5+) độ cao 15,2km, phạm vi trên 200 km

 Orbital low earth orbit (Mach 25+)

 CIS Lunar Earth-Moon transfer

 Hệ thống hướng dẫn vận chuyển hỗ trợ bởi máy tính (CACGS) for UAVs

1.1.2.3 Theo chủng loại, thiết kế

 Drone: Từ đồng nghĩa với UAV, nhưng thường nó được dùng để chỉ các thiết bị bay không người lái dùng cho các mục đích giải trí

 Multirotor: Có thể hiểu là các thiết bị bay sử dụng nhiều cánh quạt (dạng lên thẳng)

 Hexacopter: UAV sử dụng sáu động cơ/cánh quạt

 Octocopter: UAV sử dụng tám động cơ/cánh quạt

 Quadcopter: UAV có bốn động cơ/cánh quạt và bốn cánh tay đỡ

 Tricopter: UAV có ba động cơ/ cánh quạt và thường có 3 tay đỡ

 Spyder: UAV kiểu “Spyder” (thường là UAV loại quad hoặc hexa) mà các cánh tay đỡ motor không nằm đối xứng với nhau khi nhìn từ trên xuống

 V-Tail: Có bốn động cơ/cánh quạt, ở mỗi cặp tay đỡ tạo thành hình chữ “V”

 X4/X8: X4 và X8 là dạng UAV với 4 cánh tay đỡ

 Y3/Y6: Y3 và Y6 là dạng UAV với 3 cánh tay đỡ

 Cỡ (mm) đo bằng đơn vị milimet (ví dụ 450 mm), nó thể hiện khoảng cách lớn nhất giữa 2 động cơ trên một UAV Cỡ của UAV cũng có thể dùng định xác định “lớp'” UAV (micro, mini, )

 RTF (Ready-to-fly): UAV không cần lắp ráp và có thể thực hiện bay ngay

 ARTF, ARF (Almost-ready-to-fly): Đã lắp ráp hầu hết các thành phần trong đó chưa bao gồm máy thu (RX) và máy phát tín hiệu (TX), gọi chung là RC

 BNF (Bind-And-Fly): UAV đã được lắp ráp hoàn thiện gồm của RX, người điều khiển chỉ cần chọn một TX tương thích và tích hợp với RX để thực hiện điều khiển Các UAV sản xuất theo hướng này được người dùng lựa chọn nhằm tiết kiệm chi phí cũng như có thể dễ dàng để phát triển các UAV mới

1.1.3 Vai trò phương tiện bay không người lái UAV

Ngày nay, UAV được ứng dụng trong nhiều loại nhiệm vụ khác nhau Sự xuất hiện của UAV đã tạo ra cuộc cách mạng trong lĩnh vực thu thập dữ liệu, khảo sát, giám sát và theo dõi đối tượng trên thực địa Bên cạnh đó, chúng cũng được sử dụng với nhiều mục đích quan trọng khác.

Một trong những lĩnh vực quan trọng đó chính là quân sự Chúng được sử dụng phổ biến đầu tiên là để đáp ứng các nhu cầu và đòi hỏi của các nhiệm vụ quân sự và sau đó mới được mở rộng sang dân sự Những thiết bị này có thể giám sát từ trên cao giúp bảo vệ an ninh một cách tối ưu Trong những vụ tấn công nguy hiểm thì máy bay không người lái sẽ đảm bảo an toàn cho con người khi có thể thay thế hoàn toàn cho máy bay có người lái

Hỗ trợ cứu nạn: Việc tìm kiếm nạn nhân trong các vùng núi hiểm trở không còn là một vấn đề khó khăn Với những chiếc máy bay không người lái các video thời gian thực về các vụ động đất, hỏa hoạn, lũ lụt được cung cấp khi cần thiết

Thương mại sản xuất: việc vận chuyển, giao nhận hàng hóa trở nên hiện đại và tiện dụng hơn bao giờ hết Không những vậy, ta còn có thể giám sát các công trình xây dựng cầu đường, nhà máy, nhà cao tầng, …

Giải trí: Đây là một lĩnh vực hưởng lợi khá nhiều khi những chiếc máy bay không người lái xuất hiện Việc quay phim chụp ảnh của những cảnh quay trên không không còn trở ngại, thậm chí những cảnh hiếm có cũng có thể được thu lại một cách đơn giản

Vì UAV không yêu cầu phi công, nên không có tổn thất nào về mặt con người nếu nó gặp sự cố hoặc bị tấn công trong một nhiệm vụ Bên cạnh đó, UAV cũng giảm chi phí vận hành vì không yêu cầu phi công được đào tạo chuyên sâu trên máy bay như máy bay có người lái; thứ hai, thường không hiệu quả do cần đầu tư tốn kém khi tham gia khóa đào tạo phi công để trang trải các cơ sở tiên tiến như tòa nhà, mô phỏng chuyến đi và thiết bị hỗ trợ bao gồm thiết bị, buồng lái và hệ thống phóng

1.1.4 Các thành phần và kiến trúc của hệ thống UAV

Cấu trúc của UAV bao gồm các phân lớp chính: Data Collection, Data Processing, Actuation [1] Trong lớp Data Collection bao gồm các phần cứng như camera sau và trước, các cảm biến hệ thống, theo dõi lập kế hoạch đường đi (LI – DAR), bộ thu phát tín hiệu Dữ liệu được thu thập bởi các phần cứng này và được xử lý bởi bộ điều khiển trung tâm Sau đó, dữ liệu được sử dụng trong hệ thống lập bản đồ, định vị vị trí và đưa ra quyết định cho UAV Hệ thống điều khiển trung tâm đưa ra các xử lý cần thiết cho UAV trong môi trường thực tế

Hình 1.5: Các phân lớp chính trong cấu trúc UAV

Trong hình 1.5 mô tả đầy đủ các thành phần cấu tạo của phần cứng của UAV bao gồm:

Giao thức liên lạc của UAV

Hệ thống liên lạc của UAV là hệ thống không dây dùng để điều khiển và phân tích dữ liệu từ UAV Nó cho phép truyền và nhận tín hiệu từ UAV ở khu vực không thể tiếp cận Đánh giá khả năng liên lạc không dây của UAV bao gồm kiểm tra các loại giao tiếp giữa trạm mặt đất - UAV, UAV - UAV và vệ tinh - UAV Các lớp giao thức liên lạc của UAV bao gồm [1].

 Lớp MAC: Lớp kiểm soát truy cập dữ liệu Nó được sử dụng đề gửi dữ liệu các gói đến và đi từ một thẻ giao diện mạng chia sẻ sang một thẻ khác qua kênh giao tiếp Giao thức MAC hiện tại của UAV có hạn chế không đủ đáp ứng với các khoảng cách xa Điều này có thể được khắc phục trong tương lại với một số đề xuất mới như việc sử dụng một giao thức MAC mới được gọi là AMUAV có ưu điểm trễ đầu cuối tốt hơn, thông lượng và nhiễu thấp hơn, khoảng cách truyền được xa hơn

 Lớp vật lý: Lớp này xử lý kết nối vật lý giữa các thiết bị phần cứng, hệ thống cáp, hệ thống dây, xung và tần số được sử dụng để biểu diễn tín hiệu nhị phân Giao thức lớp vật lý được sử dụng cho hệ thống thông tin liên lạc của UAV Nó áp dụng cho mạng LAN không dây và cung cấp đường truyền 1 – 2 Mbps với băng tần 2,4 GHz

 Lớp mạng: Trong lớp này, dữ liệu được truyền dưới dạng các gói có thứ tự thông qua bộ định tuyến Mỗi UAV sẽ có một bo mạch thực hiện nhiệm vụ cung cấp thông tin về giao tiếp đầu cuối, tự chủ trong điều hướng và kiểm soát chuyển động

Lớp ứng dụng là lớp trừu tượng cung cấp các giao thức thông tin để kết nối máy bay không người lái (UAV) với các mạng lưới.

Hình 1.7: Các lớp giao thức trong UAV

Giao thức truyền thông của UAV đòi hỏi tính linh hoạt và khả năng phản hồi nhanh để đáp ứng nhu cầu di động cao của UAV Các phương thức giao tiếp nâng cao được sử dụng trong UAV giúp cải thiện kiểm soát đường truyền, đảm bảo an toàn và vận hành hiệu quả cho UAV.

Giới thiệu về xử lý ảnh

1.3.1 Khái niệm xử lý ảnh Ảnh là thông tin về vật thể hay quang cảnh được chiếu sáng mà con người quan sát và cảm nhận bằng mắt và hệ thần kinh thị giác Đối tượng của xử lý ảnh là xử lý các ảnh tự nhiên, ảnh chụp, dữ liệu ảnh có nguồn gốc từ tín hiệu ảnh đặc trưng bởi biên độ và dải tần số Có sự phân biệt giữa xử lý ảnh với đồ họa

Hệ thống thị giác giúp con người cảm nhận hình ảnh trong tự nhiên, ứng dụng của xử lý ảnh là biến đổi ảnh số để nâng cao chất lượng cảm nhận hình ảnh của hệ thống thị giác con người.

Hệ thống xử lý ảnh nhận đầu vào là khung cảnh hoặc ảnh, sau đó thực hiện các phép xử lý để tạo ra ảnh đầu ra đáp ứng các tiêu chí về cảm nhận hoặc trích xuất các đặc trưng của ảnh.

1.3.2 Hệ thống xử lý ảnh

Các vấn đề cần quan tâm trong hệ thống xử lý ảnh:

 Mã hóa, nén ảnh: phương pháp nén ảnh (JPEG), chuẩn nén (MPEG)

 Thu nhận ảnh, chụp ảnh và số hóa ảnh o Hệ thống chụp ảnh và tín hiệu ảnh o Hệ thống số hóa ảnh: Lấy mẫu, Lượng tử hóa

 Phân tích ảnh và thị giác máy tính o Cải thiện nâng cấp ảnh, sửa lỗi, khôi phục ảnh o Phân tách đặc trưng: tách biên, phân vùng ảnh o Biểu diễn và xử lý đặc trưng hình dạng đối tượng ảnh o Nhận dạng đối tượng ảnh, phân tích cảnh và hiểu cảnh Hình dưới đây là sơ đồ khối mô tả chi tiết mối quan hệ giữa các vấn đề trong xử lý ảnh:

Hình 1.8: Sơ đồ khối mô tả quan hệ các vấn đề trong xử lý ảnh

1.3.3 Phân loại Ảnh gồm 2 kiểu chính là:

 Ảnh tĩnh (Still Image): Biểu diễn bởi hàm độ chói của các biến toạ độ trong mặt phẳng ảnh I(x,y)

 Chuỗi ảnh (Sequence of Images): Hàm độ chói của các biến tọa độ mặt phẳng và biến thời gian I(x,y,t)

Trong đó ảnh tĩnh được chia gồm các loại ảnh:

 Ảnh nhị phân (1 bit/pixel)

 Ảnh màu (16-24 bit/pixel) Một số hệ màu của ảnh:

Còn chuỗi ảnh chủ yếu là video, chuỗi các khung hình liên tiếp nhau quan hệ theo thời gian tạo ra ảnh động

1.3.4 Bộ lọc xử lý ảnh

Hai phép toán khá quan trọng trong xử lý ảnh là phép tương quan chéo và phép tích chập Với phép tương quan chéo, ta trượt một cửa sổ trượt hay kernel trên mỗi điểm ảnh, tại mỗi điểm ta lấy tổng của tích từng giá trị điểm ảnh trên kernel với các điểm ảnh tương ứng trên ảnh Phép tích chập thực hiện tương tự như phép tương quan chéo nhưng với kernel được xoay đi 180 độ

Hình 1.9: Phép tương quan chéo và phép tích chập

Lọc ảnh là một bước rất quan trọng trong xử lý ảnh Lọc ảnh thực tế có rất nhiều tác dụng như loại bỏ nhiễu, tìm biên đối tượng Bài viết này sẽ giới thiệu nguyên tắc chung của lọc ảnh và một số phép lọc ảnh cơ bản

Nguyên tắc chung của các phương pháp lọc là cho ma trận ảnh nhân với một ma trận lọc (Kernel) Ma trận lọc lọc (Kernel) còn có thể được gọi là cửa số chập (trong phép nhân chập), cửa sổ lọc, mặt nạ Việc nhân ảnh với ma trận lọc giống như việc trượt ma trận lọc theo hàng trên ảnh và nhân với từng vùng của ảnh, cộng các kết quả lại tạo thành kết quả của điểm ảnh trung tâm

Hình 1.10: Bộ lọc trong xử lý ảnh

1.3.5 Ứng dụng của xử lý ảnh số

Xử lý ảnh là nhiệm vụ căn bản, cốt lõi cho tất cả bài toán liên quan đến ảnh

Từ đó có rất nhiều ứng dụng dưới đây có liên quan đến xử lý ảnh:

 Thông tin ảnh, truyền thông ảnh

 Xử lý ảnh vệ tinh, viễn thám

 Thiên văn, nghiên cứu không gian, vũ trụ

 Người máy, tự động hóa

 Máy thông minh, thị giác máy tính nhân tạo

 Giám sát kiểm soát, Quân sự

Học máy

Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể hơn là Machine Learning (Học máy) nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 - công nghệ thông tin) AI đang len lỏi vào mọi lĩnh vực trong đời sống ví dụ như: ô tô tự lái của Tesla, hệ thống nhận diện khuôn mặt của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý phim của Netflix, chỉ là một vài trong vô vàn những ứng dụng của AI/Machine Learning

Học máy là một lĩnh vực của Trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Tuy nhiên, với sự phát triển của máy móc, các phương tiện truyền thông ngày nay, dữ liệu thu thập ngày càng đa dạng Cũng là thách thức đối với những thuật toán của học máy khi không đáp ứng được nhiệm vụ trong thế giới thực Một vài ứng dụng của học máy như dự đoán nhà đất, dự đoán thời tiết, phân loại văn bản

Phân loại thuật toán học máy:

 Học tăng cường Một số nhóm chức năng thuật toán học máy:

 Giải thuật dựa vào thực thể

 … Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên một tầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn, Machine Learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi là Deep Learning (Học sâu).

Học sâu

1.5.1 Lịch sử phát triển học sâu

Học sâu là tập con của học máy, dựa trên mạng nơ-ron nhân tạo mô phỏng cách suy nghĩ của não người Học sâu gắn liền với Dữ liệu lớn và tính toán GPU Các mốc quan trọng trong sự phát triển của học sâu bao gồm năm 1957 (mạng nơ-ron Perceptron), năm 1960 (mô hình lan truyền ngược), năm 1965 (phương pháp xử lý dữ liệu theo nhóm và kỹ thuật điều khiển học), năm 1970 (mạng tích chập), năm 1989 (mạng tích chập với lan truyền ngược), năm 1995 (thuật toán SVM), năm 1997 (LSTM), năm 2009 (cơ sở dữ liệu ImageNet), năm 2012 (kiến trúc AlexNet), năm 2014 (GAN) và năm 2016 (AlphaGo).

[8], mô mình học tăng cường của DeepMind đánh bại nhà vô địch cờ vây phức tạp Cũng là DeepMind vào năm 2022 tiết lộ Gato, một hệ thống AI được đào tạo để thực hiện hàng trăm nhiệm vụ, bao gồm chơi Atari, tạo phụ đề cho hình ảnh và sử dụng cánh tay robot để xếp các khối

Có thể chia học sâu thành bốn loại chính:

 Xử lý ngôn ngữ tự nhiên

1.5.2 Mạng nơ ron nhân tạo

Theo các nhà nghiên cứu sinh học, hệ thống thần kinh của con người bao gồm khoảng 1011 tế bào thần kinh, thường gọi là các nơ-ron Mỗi tế bào nơron gồm ba phần:

- Thân nơron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh

- Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa tín hiệu tới nhân nơron Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân nơron, chiếm diện tích khoảng 0,25 mm2

Dây thần kinh ra (axon) phân nhánh hình cây, dài từ 1 cm đến hàng mét, nối với dây thần kinh vào hoặc nhân tế bào của nơron khác qua khớp nối (synapse) Synapse có hai loại: kích thích (excitatory) và ức chế (inhibitory) Ước tính mỗi nơron trong não người có khoảng 104 khớp nối.

Chức năng cơ bản của các tế bào nơron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống Các tế bào nơron truyền tín hiệu cho nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạng xung

Hình 1.11: Cấu trúc của một tế bào nơ-ron sinh học

Các nhà nghiên cứu đã tìm ra phương pháp chuyển đổi những hiểu biết cách thức hoạt động của các tế bào thần kinh sinh học thành mô hình mạng nơron nhân tạo Artificial Neural Network (ANN) gọi tắt là mạng nơron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học Nó gồm có một nhóm các nơ-ron nhân tạo (nút) nối với nhau, và xử lý thông tin bằng cách truyền các kết nối và tính giá trị mới tại các nút

Mạng nơ-ron là sự kết hợp của những tâng perceptron hay còn gọi là perceptron đa tầng Mỗi mạng nơ-ron sẽ thường bao gồm ba tầng input layer, hidden layer, output layer Mỗi nút trong hidden layer và output layer sẽ liên kết với tất cả các node ở layer trước đó với các hệ số w riêng; mỗi nút có một hệ số bias riêng; xảy ra hai bước: tính tổng tuyến tính rồi áp dụng hàm kích hoạt Các hàm kích hoạt thường là các hàm phi tuyến, một số hàm kích hoạt phổ biến như là Sigmoid, Softmax, ReLU, LuckyReLU

Hình 1.12: Mạng nơ-ron học sâu

Mạng nơ-ron học sâu, hoặc mạng deep learning, có nhiều lớp ẩn với hàng triệu nơ-ron nhân tạo liên kết với nhau Một con số, có tên gọi là trọng số, đại diện cho các kết nối giữa hai nút Trọng số sẽ dương nếu một nút kích thích nút còn lại, hoặc âm nếu một nút ngăn cản nút còn lại Các nút với trọng số cao hơn sẽ có ảnh hưởng lớn hơn lên các nút khác

Về mặt lý thuyết, mạng nơ-ron học sâu có thể ánh xạ bất kỳ loại dữ liệu đầu vào với bất kỳ loại dữ liệu đầu ra nào Tuy nhiên, chúng cũng cần được đào tạo hơn rất nhiều so với các phương pháp máy học khác Chúng cần hàng triệu mẫu về dữ liệu đào tạo thay vì hàng trăm hoặc hàng nghìn mẫu mà một mạng đơn giản hơn thường cần

1.5.3 Mạng nơ-ron tích chập a Giới thiệu mạng nơ-ron tích chập

Mạng nơ-ron tích chập rất giống với mạng nơ-ron thông thường: chúng được tạo thành từ các nơ-ron có trọng số và độ lệch có thể học được Mỗi nơ-ron nhận một số đầu vào, thực hiện phép nhân ma trận, sau đó đưa qua hàm phi tuyến Kiến trúc

Lớp đầu vào Lớp ẩn Lớp đầu ra giảm đáng kể số lượng tham số trong mạng

Mạng nơ-ron thông thường nhận đầu vào là một vector 1 chiều và biến đổi nó thông qua một loạt các lớp ẩn Mỗi lớp ẩn được tạo thành từ một tập hợp các nơ- ron, mỗi nơ-ron được kết nối đầy đủ với tất cả các nơ-ron ở lớp trước Các nơ-ron trong lớp ẩn hoạt động hoàn toàn độc lập và không chia sẻ các kết nối Lớp kết nối đầy đủ cuối cùng được gọi là “lớp đầu ra”, thể hiện xác suất của lớp trong bài toán phân loại Trong tập dữ liệu STL-10, hình ảnh chỉ có kích thước là 96x96x3 Trong kiến trúc mạng nơ- ron thông thường chứa 1 nơ-ron duy nhất trong lớp ẩn đầu tiên chứa 96*96*3 = 27648 trọng số Điều này cho thấy, kiến trúc kết nối đầy đủ không thể áp dụng khi đầu vào là hình ảnh có kích thước lớn Rõ ràng, kiến trúc kết nối đầy đủ yêu cầu số lượng tham số lớn dẫn đến việc mô hình dễ bị hiện tượng quá khớp (overfitting) với dữ liệu huấn luyện

Không giống như mạng nơ-ron thông thường, các lớp của mạng nơ-ron tích chập có các nơ-ron được sắp xếp theo 3 chiều: chiều rộng, chiều cao và chiều sâu Ví dụ, hình ảnh đầu vào trong tập dữ liệu STL-10 có kích thước 96x96x3, mạng nơ-ron tích chập chỉ kết nối với một vùng nhỏ của lớp trước đó, thay vì tất cả các nơ-ron như mạng nơ- ron thông thường

Hình 1.13: So sánh mạng nơ-ron thông thường (trái) và mạng nơ-ron tích chập (phải) b Cấu trúc mạng nơ-ron tích chập

Về cơ bản, một mạng nơ-ron tích chập có ba lớp chính: lớp tích chập (Convolutional Layer), lớp tổng hợp (Pooling Layer) và lớp kết nối đầy đủ (Fully Connected Layer) Các lớp này được xếp chồng lên nhau để tạo thành kiến trúc mạng nơ-ron tích chập đầy đủ Sự sắp xếp về số lượng và thứ tự giữa các lớp này sẽ

Lớp đầu vào Lớp ẩn 1 Lớp ẩn 1

Chiều rộng tạo ra những mô hình khác nhau phù hợp cho các bài toán khác nhau

Lớp tích chập (Convolutional Layer): thành phần quan trọng nhất của mạng nơ- ron tích chập, thường được dùng làm những lớp đầu tiên để trích xuất đặc trưng của ảnh đầu vào Kết quả sau khi tích chập ảnh đầu vào và một bộ lọc là một ma trận được gọi là bản đồ đặc điểm (feature map) Qua nhiều lớp tích chập đặc trưng có xu hướng giảm kích thước (chiều rộng & chiều cao) và tăng chiều sâu (độ sâu hay kênh) Đây cũng là một lý do mạng nơ-ron tích chập hoạt động tốt với các bài toán nhận diện hình ảnh

Hình 1.14: Tích chập ảnh xám

Định vị và xây dựng bản đồ (Localization and Mapping)

Localization and Mapping là một nhu cầu cơ bản đối với con người và các thiết bị, đối tượng di động Ý tưởng thúc đẩy cho việc nghiên cứu là con người có thể nhận thức được chuyển động của bản thân và môi trường thông qua nhận thức giác quan đa phương thức và dựa vào nhận thức này để xác định vị trí và điều hướng bản thân trong một không gian ba chiều phức tạp Khả năng này là một phần của khả năng nhận thức không gian của con người Hơn nữa, khả năng nhận thức chuyển động của bản thân và môi trường xung quanh đóng một vai trò quan trọng trong việc phát triển nhận thức và kiểm soát động cơ Theo cách tương tự, các tác nhân nhân tạo hoặc robot cũng có thể nhận biết môi trường và ước tính trạng thái hệ thống của chúng bằng cách sử dụng các cảm biến on-board Các tác nhân này có thể là bất kỳ dạng robot nào, ví dụ: phương tiện tự lái, máy bay không người lái giao hàng hoặc robot phục vụ tại nhà, cảm nhận môi trường xung quanh và tự đưa ra quyết định Tương tự như vậy, khi các công nghệ Thực tế tăng cường (AR) và Thực tế ảo (VR) mới nổi đan xen không gian mạng và môi trường vật lý, khả năng nhận thức của máy móc sẽ củng cố sự tương tác liền mạch giữa người và máy Các ứng dụng khác cũng bao gồm thiết bị di động và thiết bị đeo được, chẳng hạn như điện thoại thông minh, dây đeo cổ tay hoặc thiết bị Internet of Things (IoT), cung cấp cho người dùng nhiều loại dịch vụ dựa trên vị trí, từ điều hướng cho người đi bộ , đến theo dõi hoạt động/thể thao , để theo dõi động vật hoặc ứng phó khẩn cấp cho những người phản ứng đầu tiên.

Định vị dựa trên học sâu (Learning-based Odometry)

1.7.1 Giới thiệu về định vị dựa trên học sâu Định vị là việc tính toán sự thay đổi tương đối về tư thế, về mặt dịch chuyển và quay giữa hai hoặc nhiều khung hình của dữ liệu cảm biến Nó liên tục theo dõi chuyển động và theo sau là một quá trình để tích hợp những thay đổi tư thế này so với trạng thái ban đầu để tính toán ra tư thế toàn cục về mặt ví trí và định hướng Định vị có thể được sử dụng để cùng cấp các thông tin về tư thế cũng như mô hình chuyển động để hỗ trợ vòng lặp phản hồi trong điểu khiển robot Vấn đề cốt lõi là ước tính chính xác các biến đổi trong chuyển động từ các phép đo cảm biến khác nhau Vì thế, học sâu được áp dụng để mô hình động lực học chuyển động theo kiểu đầu cuối hoặc trích xuất các đặc tính có ích để hỗ trợ hệ thống

Phương pháp định vị dựa trên học sâu ước tính từ nhiều loại dữ liệu cảm biến khác nhau, phổ biến hiện nay là dữ liệu trực quan hình ảnh, dữ liệu quán tính và dữ liệu điểm đám mây (point-cloud) Hình dưới là phân loại các phương pháp ước tính vị trí dựa trên học sâu theo loại dữ liệu mà chúng sử dụng để ước tính

Hình 1.22: Bài toán ước tính vị trí

1.7.2 Định vị thị giác a Giới thiệu định vị thị giác dựa vào học sâu Định vị thị giác dựa trên học tập sẽ ước tính ego-motion của máy ảnh và liên kết các chuyển động tương đối giữa các khung hình vào trong tư thế toàn cục Các phương pháp định vị thị giác dựa trên học sâu có khả năng trích xuất các đặc tính cấp cao từ hình ảnh và từ đó cung cấp một giải pháp giải quyết vấn đề về VO, thay cho việc trích xuất đặc tính một cách thủ công của các phương pháp truyền thống

Các phương pháp định vị thị giác dựa trên học sâu có thể chia thành ba loại:

 Định vị thị giác dựa trên học có giám sát: mô hình đầu cuối được huấn luyện với tập dữ liệu có nhãn ground truth

 Định vị thị giác dựa trên học không giám sát: mô hình đầu cuối được huấn luyện trên tập dữ liệu không có ground truth

 Định vị thị giác hỗn hợp: kết hợp giữa thuật toán cổ điển và học sâu Các vấn đề định vị và xây dựng bản đồ đã được nghiên cứu trong nhiều thập kỷ, với nhiều mô hình thủ công và các thuật toán đang được phát triển Trong điều kiện lý tưởng, các cảm biến và mô hình này có khả năng ước tính chính xác trạng thái hệ thống mà không bị ràng buộc về thời gian và sự đa dạng môi trường Tuy nhiên, trong thực tế, các phép đo cảm biến không hoàn hảo, mô hình hệ thống không chính xác, động lực môi trường phức tạp và một số rằng buộc khác ảnh hưởng đến độ chính xác và độ tin cậy của hệ thống cổ điển Chính vì thế, cùng với sự phát triển mạnh mẽ của học máy, đặc biệt là học sâu, đã thúc đẩy các nghiên cứu về cách tiếp cận theo hướng học tập như là cách để giải quyết hạn chế của phương pháp cổ điển

Ngoài những ưu việt hơn các phương pháp cổ điển, định vị thị giác cũng gặp phải nhiều thách thức Đầu tiên, dữ liệu để huấn luyện mô hình học sâu là không đủ Lượng dữ liệu chất lượng cao ở quy mô lớn để huấn luyện các mô hình học sâu là điều rất cần thiết, tuy nhiên, vẫn còn rất hạn chế bộ dữ liệu cho nhiệm vụ định vị thị giác cũng như SLAM Tập dữ liệu quy mô lớn hiện có như KITTI [9] từ phương pháp dựa trên hình học là không đủ cho phương pháp học sâu Bên cạnh đó, bối cảnh của các tập dữ liệu hiện có là duy nhất, điều này gây ra sự kém khát quát hóa của mô hình Hiệu suất của các phương pháp dựa trên học sâu có thể cải thiện khi lượng dữ liệu cải thiện

Thứ hai, phương pháp học sâu được sử dụng để định vị thị giác khá đơn giản CNN lần đầu tiên được sử dụng để ước tính tư thế máy ảnh và đã tạo ra rất nhiều công việc dựa trên CNN Tuy nhiên, CNN không đủ và kém hiệu quả để tìm hiểu các mối quan hệ và động lực từ dữ liệu tuần tự Do đó, RNN đã được sử dụng để tìm hiểu các kết nối và phụ thuộc phức tạp này theo cách thức end-to-end Các phương pháp khác nhau có những nhược điểm và ưu điểm riêng Một vấn đề của RNN là chúng không thể trích xuất biểu diễn đặc tính hiệu quả từ dữ liệu đa chiều như CNN

Thứ ba, vấn đề thách thức là không biết những đặc tính nào mà mạng nơ-ron đã học được trong quá trình huấn luyện Đối với các phương pháp dựa trên hình học, chúng ta có thể biết được mô hình học được một cách rõ ràng Mặc dù nó không mạnh đối với các môi trường thay đổi động và ánh sáng và cần nhiều thời gian để tinh chỉnh theo cách thủ công, chúng ta có thể biết thuật toán học được gì từ quá trình này Tuy nhiên, đối với học sâu, chúng ta thường chỉ có thể dựa vào mô hình được đào tạo để thu được kết quả và không thể dự đoán về mặt lý thuyết Ngay cả khi kết quả mô hình không đáp ứng được mong đợi, chúng ta cũng không biết làm thế nào để cải thiện

Cuối cùng, khả năng tổng quát hóa và tính chính xác của các thuật toán hiện tại cần được cải thiện So với các phương pháp dựa trên hình học, các thuật toán dựa trên học tập thường không khởi tạo thất bại và mất dấu Lý do là với một hình ảnh, mô hình luôn tạo ra một dự đoán Tuy nhiên, nó có thể mắc lỗi lớn do đầu vào bị sai lệch hoặc đầu vào không thể nhìn thấy Bên cạnh đó, sự tương đồng về biểu diễn đặc tính giữa tập dữ liệu đào tạo và kiểm tra là những yếu tố quyết định ảnh hưởng đến hiệu suất Vì vậy, làm thế nào để nâng cao tính khái quát là một vấn đề lớn Mặc dù khả năng học sâu đã cải thiện độ chính xác và mạnh mẽ trong các tình quan trọng để nâng cao nhận thức b Định vị thị giác dựa trên học có giám sát Định vị thị giác dựa trên học có giám sát là một trong những cách tiếp cận phổ biến nhất đối với định vị dựa trên học tập Bằng cách huấn luyện một mô hình mạng nơ- ron trên tập dữ liệu đã được gán nhãn, mô hình sẽ xây dựng một hàm để ánh xạ từ các chuỗi hình ảnh liên tiếp tới các phép chuyển đổi chuyển động một cách trực tiếp, thay vì bằng việc khai thác cấu trúc hình học của ảnh như các hệ thống VO cổ điển Về cơ bản, một mô hình mạng nơ-ron tích chập sẽ lấy đầu vào là một chuỗi hình ảnh liên tiếp, và đầu ra sẽ là sự dịch chuyển và sự quay được ước tính giữa hai khung hình liên tiếp

Một trong những nghiên cứu đầu tiên về định vị thị giác dựa trên học có giám sát là Konda, coi định vị thị giác là vấn đề phân loại và sử dụng mạng nơ-ron tích chập Tuy nhiên, phương pháp này chưa đạt được việc học tập đầu cuối từ hình ảnh tới ước tính chuyển động DeepVO kết hợp cả CNN và RNN để học định vị thị giác một cách đầu cuối Để nâng cao hiệu quả của VO dựa trên giám sát, nhiều phương pháp đã được sử dụng như kết hợp học theo giáo trình và hạn chế mất mát hình học.

Ngày càng có nhiều sự quan tâm đến việc khám phá cách học không giám sát của VO Các giải pháp không được giám sát có khả năng khai thác dữ liệu cảm biến không được gán nhãn và do đó nó giúp tiết kiệm công sức của con người vào dữ liệu gán nhãn, đồng thời có khả năng thích ứng và tổng quát hóa tốt hơn trong các tình huống mới, nơi không có sẵn dữ liệu được gán nhãn Điều này đã đạt được trong một framework tự giám sát mà kết hợp học độ sâu và ego-motion của máy ảnh từ các chuỗi video, bằng cách sử dụng tổng hợp góc nhìn như một tín hiệu giám sát Một cách giải quyết điển hình của VO không giám sát bao gồm một “depth network” để tính toán bản đồ độ sâu của ảnh (depth maps) và một “pose network” để dự đoán sự biến đổi chuyển động giữa hai bức ảnh Đầu vào của mạng là các ảnh liên tiếp, và tín hiệu giám sát dựa trên khái niệm “novel view synthesis” hay tổng hợp góc nhìn Định vị thị giác dựa trên học không giám sát cơ bản gặp hai hai vấn đề chính Một là các cách tiếp cận sử dụng ảnh “monocular” không thể cung cấp dự đoán tư thế “pose” trong một kích thước toàn cục nhất quán Bởi vì vấn đề tỷ lệ không rõ ràng - “scale ambiguity”, không có quỹ đao toàn cục có ý nghĩa về mặt vật lý được tái dựng lại, dẫn đến hạn chế về sử dụng trong thực tế Vấn đề thứ hai là mất mát quang học giả sử rằng các bối cảnh là tĩnh và không có sự che khuất máy ảnh Để giải quyết các vấn đề trên, nhiều tác giả đã mở rộng mạng học sâu của mình so với hai mạng “pose network”, “depth network” Ví dụ để giải quyết vấn đề về kích thước, một số ý tưởng đề xuất ý tưởng tận dụng ảnh “stereo” để bao quát lại kích thước tuyệt đối Họ giới thiệu một hàm mất mát mới - mất mát quang học không gian giữa cặp hai ảnh trái phải của một cặp ảnh

Mặc dù VO không được giám sát vẫn không thể cạnh tranh với giám sát VO trong hiệu suất, mối quan tâm của nó về thước đo tỷ lệ và vấn đề động lực cảnh đã được giải quyết phần lớn Với những lợi ích của việc học tự giám sát và ngày càng cải thiện về hiệu suất, VO không giám sát sẽ là một giải pháp đầy hứa hẹn trong việc cung cấp thông tin tư thế và kết hợp chặt chẽ với các mô-đun khác trong hệ thống thông minh máy không gian d Định vị thị giác hỗn hợp

Không giống như VO dựa trên các mô hình học sâu đầu cuối chỉ dựa vào mạng nơ-ron sâu để ước tính tư thế từ dữ liệu, VO hỗn hợp tích hợp các mô hình cách đơn giản là kết hợp các ước tính độ sâu đã học vào một thuật toán định vị thị giác thông thường để khôi phục thước đo tỷ lệ tuyệt đối của các tư thế Kết hợp những lợi ích từ cả lý thuyết hình học và học sâu, các mô hình định vị thị giác hỗn hợp thường chính xác hơn VO dựa trên học sâu

1.7.3 Định vị thị giác quán tính

Sự tích hợp của dữ liệu hình ảnh trực quan và phép đo quán tính đã dẫn đến một phương pháp mới, gọi là định vị thị giác quán tính (VIO), trong lĩnh vực robot di động Cả camera và cảm biến quán tính đều có giá thành tương đối thấp, tiết kiệm năng lượng và có thể dễ dàng triển khai Hai cảm biến này bổ sung cho nhau: trong khi camera đơn mắt ghi lại diện mạo và cấu trúc của 3D một cách rõ nét, chúng lại không cung cấp thang đo tuyệt đối và dễ bị ảnh hưởng bởi ánh sáng, kết cấu và chuyển động; ngược lại, IMU chỉ phụ thuộc vào chuyển động mục tiêu nên có thể cung cấp thang đo tuyệt đối Tuy nhiên, nhược điểm là phép đo quán tính dễ bị nhiễu và sai lệch, đặc biệt là từ các thiết bị giá rẻ Việc kết hợp hiệu quả các phép đo từ hai cảm biến bổ sung này là rất quan trọng để ước tính tư thế một cách chính xác.

Do đó, theo các phương pháp tổng hợp thông tin của chúng, các phương pháp tiếp cận thị giác quán tính dựa trên mô hình thông thường được chia thành ba loại khác nhau:

 Phương pháp làm mượt độ trễ cố định

 Phương pháp làm mịn hoàn toàn

Các phương pháp tiếp cận dựa trên dữ liệu đã xuất hiện để xem xét việc học các tư thế 6-DoF trực tiếp từ các phép đo quán tính và từ các mô hình thị giác mà không cần sự can thiệp hoặc hiệu chuẩn của con người

Kết luận chương

Trong chương này trình bày khái niệm ,vai trò, phân lợi ,thiết kế cơ bản về UAV và các khái niệm cơ bản lý thuyết về xử lý ảnh với lịch sử phát triển học máy, học sâu cùng với giới thiệu một số loại mạng nơ-ron học sâu phổ biến hiện nay Ngoài ra, chương lý thuyết còn trình bày về một trong những lĩnh vực của thị giác robot là định vị và xây dựng bản đồ, hay cụ thể là bài toán định vị thị giác.

ĐỊNH VỊ THỊ GIÁC

Đặt vấn đề

Con người có khả năng đáng kinh ngạc trong việc suy ra chuyển động tương đối và cấu trúc 3D của một cảnh ngay cả trong khoảng thời gian ngắn Ví dụ, khi di chuyển dọc theo một con phố, chúng ta có thể dễ dàng xác định vị trí các chướng ngại vật và phản ứng nhanh chóng để tránh chúng Trong suốt nhiều năm nghiên cứu về thị giác máy tính hình học, các nhà nghiên cứu đã gặp khó khăn, thách thức trong việc tái tạo các khả năng lập mô hình tương tự cho các cảnh trong thế giới thực Vậy tại sao con người lại xuất sắc trong nhiệm vụ này? Một giả thuyết cho rằng chúng ta phát triển sự hiểu biết cấu trúc, phong phú về thế giới thông qua trải nghiệm hình ảnh trong quá khứ của chúng ta, phần lớn bao gồm việc di chuyển xung quanh và quan sát vô số cảnh và phát triển mô hình nhất quán cho các quan sát của chúng ta Từ hàng triệu quan sát như vậy, chúng ta đã học được về các quy luật của thế giới như đường bằng phẳng, các tòa nhà thẳng tắp, ô tô được hỗ trợ bởi các con đường, và chúng ta có thể áp dụng kiến thức này khi nhận thức một cảnh mới, thậm chí từ một hình ảnh bằng một mắt

Từ những kinh nghiệm trên, với sự phát triển của trí tuệ nhân tạo hay robotics, một yêu cầu đặt ra là chúng ta có thể học được chuyển động tương đối hoặc ước tính vị trí bằng một phương pháp sử dụng các mô hình học sâu với dữ liệu đầu vào chỉ là hình ảnh

Với định vị thị giác, đầu vào của bài toán sẽ là chuỗi các hình ảnh monocular đó, ta có thể suy luận ra quỹ đạo, quãng đường chuyển động của vật

Sáu bậc tự do (6 DoF) mô tả sáu chuyển động tự do của vật thể rắn trong không gian ba chiều:

 Chuyển động tiến về trước về sau theo trục X – Surge

 Chuyển động sang trái phải theo trục Y – Sway

 Chuyển động lên xuống theo trục Z - Heave o Rotation hay độ quay

 Nghiêng về bên này sang bên kia trên trục X – Roll

 Nghiêng về phía trước và phía sau trên trục Y – Pitch

 Quay trai quay phải theo trục Z - Yaw

Hình 2.1: Minh họa cho 6 DoF [11]

Cong vênh hình ảnh – Warping

Trong không gian Euclide, hai đường thẳng song song nằm trên cùng một mặt phẳng thì không cắt nhau, nhưng trong không gian xạ ảnh, điều này không còn đúng Hai đường thẳng song song như đường ray xe lửa sẽ hẹp lại khi ra xa khỏi tầm mắt, và cuối cùng gặp nhau tại một điểm vô cực được gọi là đường chân trời.

Tọa độ Homogeneous giúp xử lý các hạn chế của không gian Euclide, vốn không phù hợp để mô tả không gian xạ ảnh Trong khi tọa độ Descartes trong không gian Euclide biểu thị điểm bằng (x, y), tọa độ Homogeneous giải quyết vấn đề điểm vô cực bằng cách sử dụng hệ quy chiếu có chiều hơn, thường là 3 chiều Điều này cho phép các đường song song gặp nhau tại điểm vô cực, giải quyết vấn đề không thể gặp nhau trong không gian Euclide.

Các tọa độ đồng nhất - Homogeneous, được giới thiệu bởi August Ferdinand Mửbius, giỳp cho việc tớnh toỏn đồ họa và hỡnh học cú thể thực hiện được trong không gian ánh xạ Homogeneous là cách biểu diễn tọa độ N chiều với N+1 số

Mặt phẳng xạ ảnh thực là mặt phẳng Euclid được mở rộng với các điểm vô cực nằm trên một đường thẳng gọi là đường thẳng vô cực Mỗi hướng trong mặt phẳng được biểu diễn bằng hệ số góc của đường thẳng và có một điểm vô cực tương ứng Các đường thẳng song song cắt nhau tại một điểm vô cực biểu thị cho hướng chung Với điểm (x, y) trên mặt phẳng Euclid và số thực Z khác không, bộ ba điểm (xZ, yZ, Z) biểu diễn cho cùng một điểm trong mặt phẳng xạ ảnh thực.

Z) được gọi là tọa độ Homogeneous của điểm đó

Một số kết luận cho tọa độ Homogeneous:

 Bất kỳ điểm nào trong mặt phẳng xạ ảnh được biểu diễn bằng một bộ ba (X, Y , Z) , được gọi là tọa độ đồng nhất hoặc tọa độ ánh xạ của điểm, trong đó X, Y và Z không bằng không

 Điểm được biểu diễn bởi một tập hợp các tọa độ Homogeneous đã cho không thay đổi nếu các tọa độ được nhân với một thừa số chung

 Ngược lại, hai tập hợp tọa độ Homogeneous biểu thị cùng một điểm khi và chỉ khi tập hợp này được lấy từ tập hợp kia bằng cách nhân tất cả các tọa độ với cùng một hằng số khác không

 Khi Z khác 0 thì điểm được biểu diễn là điểm (X/Z , Y/Z) trong mặt phẳng Euclide

 Khi Z bằng 0, điểm được biểu diễn là một điểm ở vô cực

Trước khi bắt đầu vào Warping, chúng ta cần tìm hiểu một số lý thuyết cơ bản của thị giác máy tính

Camera projection hay ánh xạ máy ảnh là phép biến đổi hoặc ánh xạ giữa tọa độ 3D gốc và ảnh 2D Quá trình ánh xạ được chia làm hai phần, một là chuyển từ hệ tọa độ gốc (WCS) 3D sang hệ tọa độ máy ảnh (3D), hai là từ hệ tọa độ máy ảnh sang hệ tọa độ ảnh (2D) Cho một điểm 3D ở trong WCS ký hiệu là X w , một điểm 3D trong hệ tọa độ máy ảnh, ký hiệu là X c , [R, t] là một ma trận chuyển đổi từ X w sang

X c theo phương trình sau trong hệ tọa độ Homogeneous:

Sau đó, điểm 3D ở trong hệ tọa độ máy ảnh Xc, được ánh xạ tới hệ tọa độ ảnh hay mặt phẳng ảnh, ký hiệu là x Điểm C trong hình là tâm của máy ảnh – camera center hay tâm quang học – optical center và điểm p có tọa độ (c x , c y ) là điểm chính – principal point

Hình 2.3: Phép ánh xạ máy ảnh Để hình dung rõ hơn, chọn một mặt phẳng của hệ tọa độ máy ảnh để ví dụ:

Tọa độ x, y trong hệ tọa độ ảnh được tính bằng công thức tam giác đồng dạng như sau:

Với điểm p có tọa độ (cx, cy):

(3.4) Với tọa độ điểm được ánh xạ từ 3D sang hệ tọa độ ảnh 2D, ta có thể viết lại phương trình ánh xạ dưới dạng ma trận như sau:

Trong đó, K được gọi là ma trận camera intrinsic hoặc ma trận calibration:

(3.7) Với ∫ , ∫ là tiêu cự, và được tính bằng trung tâm của ảnh

Kết hợp các bước chuyển đổi ánh xạ lại, ta có:

Hình 2.5: Minh họa hai khung hình trong quá trình warping

Từ những cơ sở lý thuyết ở trên Ta xem xét với một điểm trong 3D WCS:

(3.11) Ánh xạ của nó trên khung hình tham chiếu:

(3.12) Điểm 3D cũng có thế được biểu diễn như sau:

(3.13) Sau đó, ánh xạ điểm 3D đó tới một khung hình khác với R, t và Z được tính toán:

(3.14) chiếu của nó Hình ảnh này được hình thành bằng cách di chuyển điểm anh gốc trong hình ảnh tham chiếu sang vị trí 2D mới trong tọa độ ảnh Quá trình này được gọi là cong vênh - warping Theo giả định về không đổi về độ sáng, nếu chúng ta có ước tính hoàn hảo về R, t và Z, hình ảnh bị warping và hình ảnh mục tiêu phải giống nhau Tuy nhiên, điều đó là không thể, vì vậy chúng ta có hàm mất mát sau được gọi là mất mát quang học:

∑ ( ) ( ) (3.15) Bằng cách tối ưu hàm mất mát quang học, chúng ta có thể tối ưu được các giá trị R, t và Z được dự đoán.

Học không giám sát cho dự đoán độ sâu và chuyển động tương đối – SfM Learner

2.3.1 Tổng hợp góc nhìn mới

Tổng hợp góc nhìn mới là một vấn đề nghiên cứu quan trọng trong thị giác máy tính và nhiếp ảnh điện toán Nó cho phép một loạt các ứng dụng bao gồm quay phim, tăng cường video, thực tế ảo, Các thuật toán này tận dụng một tập hợp hình ảnh thu được trước, được chụp từ một tập hợp các điểm nhìn để tổng hợp một hình ảnh khác ở một điểm nhìn mới như thể nó được chụp bởi một máy ảnh thực .Để tổng hợp được góc nhìn mới có chất lượng cao, các thuật toán này thường giả sử bối cảnh là cảnh tĩnh hoặc hình ảnh được chụp đồng bộ Tuy nhiên, các bối cảnh trong thực tế thường rất động và việc chụp một loạt ảnh dày đặc về các cảnh này cùng một lúc là một thách thức vì nó thường yêu cầu thiết lập thiết bị chuyên dụng phức tạp Sẽ hữu ích hơn nếu có một thuật toán tổng hợp góc nhìn mới có thể xử lý các trường hợp khi số lượng hình ảnh đầu vào nhỏ và chúng được chụp không đồng bộ từ các điểm nhìn ở xa

Tuy nhiên, việc phát triển các công nghệ như vậy phải đối mặt với một số vấn đề kỹ thuật đầy thách thức Đầu tiên, rất khó để có được cấu trúc cảnh 3D chất lượng cao chỉ bằng một tập hợp nhỏ các hình ảnh đầu vào Thứ hai, ảnh chụp từ các điểm nhìn thưa thớt thường có vùng chồng lấn nhỏ nhưng bị che khuất và thị sai đáng kể, rất khó xử lý Thị sai là góc giữa hai đường thẳng đi qua hai điểm trong không gian đến vật thể được quan sát Thị sai còn được dùng để định nghĩa sự thay đổi vị trí biểu kiến của một điểm trên một nền quan sát, khi nó được quan sát từ hai vị trí khác nhau Thứ ba, hình ảnh được chụp không đồng bộ thường có vật thể chuyển động trên các ảnh Điều này thường dẫn đến “occlusion” nghiêm trọng và điểm ảnh không nhất quán Do đó, rất khó để căn chỉnh các góc nhìn đầu vào với nhau để tổng hợp một hình ảnh ở góc nhìn mới bằng cách sử dụng các hình ảnh đầu vào đó Bên cạnh đó, thuật toán tổng hợp góc nhìn mới thường yêu cầu phân tích đáng kể các hình ảnh đầu vào, chẳng hạn như luồng quang học ghi lại sự tương ứng điểm ảnh giữa chúng, điều này ảnh hưởng mạnh đến hiệu quả của thuật toán và có thể hạn chế các ứng dụng thực tế của thuật toán

Trong định vị thị giác không giám sát nói chung, cụ thể là SfM Learner [1] nói riêng, chìa khóa cho ý tưởng sử dụng các mô hình CNN để dự đoán bản đồ độ sâu và tư thế chính là tổng hợp góc nhìn mới Giả sử, cho một góc nhìn đầu vào là một cảnh, tổng hợp một bức ảnh mới của cảnh đó bằng một tư thế máy ảnh khác

Cho I 1 , I 2 , … I N là một chuỗi ảnh dùng để huấn luyện, trong đó, một ảnh It sẽ là góc nhìn đích-target view và những ảnh còn lại sẽ là ảnh nguồn Is Phương trình hàm mục tiêu của tổng hợp góc nhìn sẽ là

(3.16) Trong đó, p là chỉ số tọa độ điểm ảnh, Is là ảnh được làm cong so với khung tọa độ của góc nhìn đích

2.3.2 Mô hình SfM Learner a Tổng quan mô hình SfM Learner

Tổng quan về mô hình dự đoán độ sâu và ego-motion của SfM Learner [1] dựa trên tổng hợp góc nhìn mới được thể hiện ở hình Mạng ước tính độ sâu “Depth Net” chỉ lấy đầu vào là góc nhìn đích và đầu ra là bản đồ độ sâu trên từng điểm ảnh

Mạng ước tính tư thế "Pose Net" của Google sử dụng đầu vào kết hợp giữa ảnh góc nhìn đích và ảnh góc nhìn nguồn Sau đó, nó thực hiện "inverse warping" để chuyển đổi góc nhìn nguồn sang góc nhìn đích Bằng cách tận dụng sự tổng hợp của góc nhìn như một tín hiệu giám sát, mô hình có thể được huấn luyện không có giám sát mà không cần nhãn Một chuỗi hình ảnh huấn luyện được chia thành các chuỗi con có kích thước là 3 hoặc 5 ảnh liên tiếp.

Hình 2.6: Mô hình SfM Learner

Với mô hình dự đoán độ sâu, SfM Learner [1] sử dụng kiến trúc DispNet

[12] với một số thay đổi, mô hình này chủ yếu dựa trên thiết kế encoder-decoder với skip connections và dự đoán trên nhiều kích thước Mọi lớp tích chập sử dụng hàm kích hoạt ReLU ngoại trừ lớp dự đoán cuối cùng Kích thước kernel là 3 cho tất cả các lớp, riêng với bốn lớp tích chập đầu tiên kernel có kích thước 7,5,5,5 tương ứng

Số lượng kênh đầu ra của lớp tích chập đầu tiên sẽ là 32 khác với DispNet [12] là 64 kênh Còn với mô hình dự đoán tư thế, đầu vào của mạng là ảnh góc nhìn đích được nối với các ảnh góc nhìn nguồn, đầu ra là tư thế tương đối giữa góc nhìn đích với từng góc nhìn nguồn Kiến trúc của mạng này bao gồm 7 lớp tích chập có stride là 2, theo sau là một lớp tích chập 1x1, hàm kích hoạt ReLU được sử dụng trừ với lớp cuối cùng b Nhược điểm của SfM Learner

Về cơ bản, mô hình SfM Learner [1] vẫn có hai vấn đề chính chưa giải quyết được:

Cách tiếp cận sử dụng hình ảnh một mắt không thể ước tính tư thế ở quy mô cục bộ do hình ảnh bị mất thông tin và không giữ được kích thước thực Mô hình tạo ra không thể tái tạo lại một quỹ đạo có ý nghĩa vật lý, mặc dù có thể có hình dạng tương đối nhưng lại không có kích thước thật, được gọi là "sự mơ hồ về tỷ lệ".

 Hàm mất mát quang học vẫn giả thiết rằng các bối cảnh là tĩnh và không có “camera occlusions” Để giải quyết vấn đề quy mô toàn cầu, một số nghiên cứu đã đề xuất sử dụng các cặp hình ảnh nổi “stereo” để khôi phục quy mô tuyệt đối của ước tính tư thế Họ đã đưa ra một sự mất mát trắc quang không gian bổ sung giữa các cặp hình ảnh bên trái và bên phải Ngoài ra, một thuật toán phát triển từ SfM Learner là SC-SfM Learner [2] giải quyết vấn đề kích thước bằng cách đưa ra sự mất tính nhất quán hình học, điều này tận dụng tính nhất quán giữa bản đồ độ sâu dự đoán được và bản đồ độ sâu được tái tạo Mô hình chuyển đổi các bản đồ độ sâu được dự đoán thành không gian 3D và chiếu chúng trở lại để tạo ra các bản đồ độ sâu được tái tạo Khi làm như vậy, các dự đoán độ sâu có thể duy trì tỷ lệ nhất quán trên các khung hình liên tiếp, cho phép ước tính tư thế phù hợp với tỷ lệ.

Học không giám sát ước tính độ sâu và ego-motion với kích thước nhất quán – SC-SfM Learner

2.4.1 Tổng quan mô hình SC-SfM Learner

Như đã trình bày ở trên, SfM Learner [1] đề xuất một framework học không giám sát hoàn toàn Nguyên tắc là một mạng “pose network” sẽ dự đoán relative camera pose giữa hai ảnh liên tiếp, cùng với độ sâu có tính toán được để tái dựng lại ảnh góc nhìn đích và hàm mất mát quang học được sử dụng như một tín hiệu giám sát Tuy nhiên, hiệu xuất của mô hình bị giới hạn bởi vì những vật thể chuyển động, vô hình chung đã vi phạm giải thuyết là các bối cảnh là tĩnh trong tái dựng lại ảnh quang học

Cùng ý tưởng với mô hình SfM Learner [1], nhưng SC-SfM Learner [2] đã

 Một sự ràng buộc nhất quán hình học để thực thi tính nhất quán theo tỷ lệ của mạng dự đoán độ sâu và ego-motion

 Một self-discovered mask để giải quyết vấn đề bối cảnh động và “occlusion” Tổng quan về mô hình SC-SfM Learner được thể hiện ở hình dưới đây:

Hình 2.7: Mô hình SC-SfM Learner

Mô hình SC-SfM Learner vẫn hướng tới mục tiêu huấn luyện mạng dự đoán độ sâu và ego-motion bằng video một mắt, ép buộc chúng để dự đoán kích thước và tỷ lệ nhất quán Đầu tiên, mô hình tính bản đồ độ sâu và tư thế tương đối giữa hai ảnh liên tiếp, sau đó nội suy ảnh tham chiếu đến góc nhìn mới Mô hình được học không giám sát bằng cách giảm thiểu hàm mất mát quang học giữa ảnh thực và ảnh tổng hợp Để giải quyết các vấn đề gặp phải trong SfM Learner, SC-SfM Learner đề xuất hàm mất mát nhất quán quang học LGC cho bài toán kích thước nhất quán và "mặt nạ tự tìm" để xử lý vật thể chuyển động và che khuất.

Với mạng ước tính độ sâu, SC-SfM Learner [2] sử dụng hai kiến trúc mạng DispNet [12] và DispResNet [13], đầu vào là một ảnh RGB và cho ra bản đồ độ sâu ước tính của nó Tuy nhiên, thay vì dự đoán và tính toán mất mát trên nhiều kích thước của đầu ra, mạng độ sâu của SC-SfM Learner [2] chỉ tính toán trên một kích thước đầu ra duy nhất Với mạng ước tính tư thế, SC-SfM Learner [2] sử dụng tương tự như SfM Learner [1]

2.4.2 Hàm mất mát của SC-SfM Learner

Như đã trình bày ở trên, tuy cùng chung một nguyên tắc dựa trên tổng hợp độ sâu để giải quyết bài toán ước tính độ sâu và relative pose, SC-SfM Learner [2] lại đề xuất một thuật toán tính toán mới, ràng buộc bản đồ độ sâu và relative pose với tỷ lệ nhất quán

Từ bản đồ độ sâu dự đoán Dt và tương quan vị trí Tt->t+1, bức ảnh góc nhìn mới I't được tổng hợp bằng cách sử dụng nội suy song tuyến tính Hàm mục tiêu hoặc hàm mất mát quang học được biểu diễn như sau:

∑ ( ) ( ) (3.17) Trong đó, V là tập hợp điểm ảnh mà ánh xạ thành công từ ảnh I t tới mặt phẳng ảnh của I t+1 và |V| là số lượng điểm trong tập hợp đó

Bởi vì hàm mất mát quang học không mang thông tin ở vùng có kết cấu thấp hay vùng đồng nhất của bối cảnh, hàm mất mát độ mịn sẽ kết hợp với hàm mất mát quang học để chính quy hóa bản đồ độ sâu ước tính được SC-SfM Learner [2] sử dụng hàm mất mát độ mịn là mất mát độ mịn nhận biết cạnh, Edge-Aware Smoothness Loss [13], có dạng:

Với là đạo hàm bậc nhất theo các trục trong không gian

Như đã nói đến ở trên, SC-SfM Learner [2] áp dụng sự nhất quán hình học vào kết quả dự đoán được bằng cách giảm thiểu sự khác nhau giữa hai bản đồ độ sâu của hai ảnh liên tiếp Từ bản đồ độ sâu thu được của hai ảnh liên tiếp D t và D t+1 và relative pose T t->t+1 giữa chúng, sử dụng warping để thu được ảnh độ sâu warped của It bằng cách chuyển D t thành không gian 3D và ánh xạ tới mặt phẳng ảnh của

I t+1 SC-SfM Learner tính toán bản đồ độ sâu không nhất quán D diff Với mỗi điểm

(3.19) Với là bản đồ độ sâu được nội suy từ bản đồ độ sâu ước tính, không thể sử D t+1 dụng trực tiếp D t+1 bởi vì các điểm trong độ sâu warped không nằm trên lưới điểm ảnh giống với D t+1

Với D diff được định nghĩa ở trên, SC-SfM Learner [2] đưa ra công thức cho hàm mất mát nhất quán hình học như sau:

(3.20) Hàm mất mát nhất quán hình học sẽ tối ưu hóa khoảng cách hình học giữa bản đồ độ sâu dự đoán được giữa hai ảnh liên tiếp và đảm bảo tỷ lệ nhất quán giữa chúng Để giải quyết vấn đề vật thể chuyển động trong bối cảnh và “occlusion”, SC- SfM Learner [2] để xuất một mặt nạ M có giá trị trong khoảng [0, 1]:

Mặt nạ M sẽ gán trọng số thấp cho các điểm ảnh không nhất quán và ngược lại, trọng số cao cho các điểm ảnh nhất quán Từ đó, mặt nạ ‘sefl-discovered” M sẽ đánh lại trọng số cho hàm mất mát quang học:

Bằng cách sử dụng mặt nạ, mô hình đã giảm thiểu tác động bất lợi từ các vật thể chuyển động và các vật cản Hơn nữa, gradient được tính toán trên các vùng được dự đoán không chính xác mang trọng số thấp hơn trong quá trình lan truyền ngược.

Kết luận chương

Trong chương này,trình bày các kiến thức cơ bản của thị giác máy tính và lý thuyết tổng hợp góc nhìn mới Ngoài ra, chương này cũng trình bày về hai mô hình định vị thị giác kết hợp học sâu là SfM Learner [1] và bản nâng cấp SC-SfM Leanrer [2], cả hai mô hình đều là học không giám sát dựa vào tổng hợp góc nhìn mới như là tín hiệu giám sát.

ĐỊNH VỊ THỊ GIÁC QUÁN TÍNH

Đặt vấn đề

Ước tính chuyển động và định vị là những thách thức lớn trong robot tự động Thuật toán VIO kết hợp dữ liệu từ máy ảnh và IMU, giúp giảm sai số tích lũy so với định vị chỉ dựa trên IMU Ưu điểm của IMU là cung cấp ước tính trạng thái tốc độ cao và giải quyết vấn đề mơ hồ về tỷ lệ trong định vị thị giác chỉ sử dụng một camera.

Bài toán định vị thị giác quán tính dựa trên học sâu có nhiều cách tiếp cận, một số cách tiếp cận là sử dụng mạng học sâu như LSTM để học dữ liệu IMU, hoặc là các thuật toán hỗn hợp… VINet [15] là mô hình đầu tiên sử dụng học sâu cho định vị quán tính, mô hình sử dụng một mạng CNN để học đặc trưng từ ảnh và kết hợp với đăch trưng học từ một mạng LSTM để học từ dữ liệu IMU, sau đó đặc trưng được kết hợp đưa qua một mạng LSTM thứ hai để học được relative pose Với các mô hình hỗn hợp, một phần của quá trình huấn luyện sẽ được kết hợp với các tính toán cổ điển Backprop KF tính toán vị trí bằng bách xây dựng một EKF có thể huấn luyện end-to-end Những kinh nghiệm từ mô hình PF-Net

[16] chỉ ra rằng khi so với sử dụng hoàn toàn mạng học sâu, các thuật toán hỗn hợp nâng cao được hiệu suất

Trong mô hình thị giác quán tính kết hợp mô hình học sâu và bộ lọc Kalman, trên động học của IMU và hợp nhất với relative pose học được từ mạng nơ-ron trong bước cập nhật của nó.

Luồng quang học - Optical flow

3.2.1 Khái niệm luồng quang học

Luồng quang là mô hình chuyển động của các vật thể, bề mặt và cạnh trong cảnh trực quan do chuyển động tương đối giữa người quan sát và cảnh gây ra Luồng quang học cũng có thể được định nghĩa là sự phân phối vận tốc biểu kiến của chuyển động của mẫu độ sáng trong ảnh

Xem xét một điểm trong cảnh và giả sử nó đang chuyển động theo một hướng nào đó trong cảnh 3D Chuyển động đó chiếu lên mặt phẳng ảnh để tạo ra chuyển động trên mặt phẳng ảnh, đó chính là “motion filed” hay trường chuyển động tương ứng với điểm chuyển động đó Tuy nhiên, không có đảm bảo gì để có thể đo được trường chuyển động này Tất cả những gì chúng ta có thể đo được là chuyển động của các mẫu độ sáng trong ảnh và nó chính là luồng quang học –

3.2.2 Phương trình ràng buộc luồng quang học

Chúng ta có thể xác định luồng quang học (optical flow) bằng cách so sánh hai hình ảnh chụp cùng một cảnh liên tiếp Điểm màu đỏ ở vị trí t được dịch chuyển sang vị trí mới ở thời điểm t + t, được biểu diễn như (x + x, y + y) Do đó, độ dịch chuyển tương ứng với điểm (x, y) là (x, y) Chia x và y cho t, chúng ta thu được tốc độ của điểm này theo hướng x và y là u, v, đây chính là luồng quang học tương ứng với điểm màu đỏ.

Hình 3.1: Minh họa hai điểm ảnh trong hai khung hình liên tiếp

Hai giả thuyết để giải quyết vấn đề luồng quang học Giả thuyết thứ nhất là độ sáng của một điểm hình ảnh không đổi theo thời gian Nếu độ sáng của điểm đó thay đổi sẽ là một vấn đề phức tạp Về cơ bản, khi một đối tượng dị chuyển thì nó cũng đang thay đổi độ sáng, điều đó làm cho vấn đề ước tính luồng quang học không thể giải quyết được Vì vậy ,đó là một giả định cơ bản mà chúng ta sẽ thực hiện Rằng khi các điểm di truyển trong không gian, độ sang của chúng vẫn sẽ giữ nguyên ít nhất là giữa các hình ảnh được chụp trực tiếp, sẽ nhỏ Cường độ sáng tại hai điểm là:

Giả thuyết thứ hai là độ dịch chuyển ( ) và khoảng thời gian là rất nhỏ Với các điều kiện trên, khi áp dụng khai triển Taylor ta có:

(4.5) Trừ hai vế của hai phương trình :

Chia cả hai vế cho δt và lấy giới hạn δtnnn → 0:

(4.7) Phương trình ràng buộc sẽ là:

3.2.3 Ứng dụng của luồng quang học Ước tính chuyển động và nén video đã phát triển như một khía cạnh chính của nghiên cứu luồng quang Mặc dù trường luồng quang bề ngoài tương tự như trường chuyển động dày đặc bắt nguồn từ các kỹ thuật ước tính chuyển động, nhưng luồng quang học là nghiên cứu không chỉ về việc xác định chính trường luồng quang mà còn sử dụng nó để ước tính bản chất ba chiều và cấu trúc của cảnh, cũng như chuyển động 3D của các đối tượng và người quan sát so với cảnh, hầu hết chúng sử dụng hình ảnh Jacobian

Luồng quang học được ứng dụng rộng rãi trong lĩnh vực robot học, bao gồm phát hiện và theo dõi vật thể, trích xuất mặt phẳng chủ đạo trong ảnh, phát hiện chuyển động, định vị thị giác và điều hướng robot Ứng dụng của luồng quang học còn giúp giải quyết vấn đề suy luận chuyển động của người quan sát và các đối tượng trong cảnh, cũng như cấu trúc của các đối tượng và môi trường Nhận thức về chuyển động và tạo bản đồ tinh thần về cấu trúc môi trường là các thành phần thiết yếu của tầm nhìn động vật và con người, vì vậy việc chuyển đổi khả năng bẩm sinh này thành khả năng máy tính cũng vô cùng quan trọng trong lĩnh vực thị giác máy.

3.2.4 Một số phương pháp ước tính luồng quang học

Hiện nay, có hai hướng tiếp cận chính trong việc ước tính luồng quang học Đầu tiên là các phương pháp truyền thống đưa ra các lược đồ đánh giá đặc trưng thủ công Thứ hai là cách tiếp cận sử dụng các mô hình học sâu a Phương pháp truyền thống

Các phương pháp truyền thống có thể được phân loại dựa trên ba yếu tố: pixel, đặc trưng và năng lượng Tuy nhiên, không có ranh giới rõ ràng giữa các loại này Trong số đó, phương pháp biến phân là kỹ thuật thành công và được sử dụng rộng rãi nhất Phương pháp này ước tính luồng quang học bằng cách tối ưu hóa hàm năng lượng dựa trên độ sáng không đổi và độ mịn Phương pháp biến phân có thể được chia thành chiến lược toàn cục.

“global” và chiến lược cục bộ “local”

Kỹ thuật toàn cục: dựa trên giả thuyết độ sáng không đổi và độ mịn, cách tiếp cận này xây dựng một hàm năng lượng có cơ chế tối ưu sinh ra trường luồng quang

Kỹ thuật cục bộ hay tổng bình phương nhỏ nhất: giả thuyết về luồng không đổi trong một vùng lân cận nhỏ gồm n x n điểm ảnh Ràng buộc luồng quang được đánh giá với các điểm ảnh trong vùng lân cận đó, các phương trình kết quả được giải bằng tổng bình phương nhỏ nhất

Kỹ thuật kim tự tháp hay “Coarse to fine”: Một kim tự tháp gồm các phiên

Mặc dù phương pháp biến phân được sử dụng nhiều, tuy nhiên độ chính xác của véc-tơ được tính ra bằng phương pháp này thường không chắc chắn Lý do rằng chỉ có thể tạo ra các véc-tơ luồng đáng tin cậy khi có các điểm có đủ độ dốc gradient theo hai hướng Trong một mặt phẳng, các vùng đồng nhất, các véc-tơ luồng quang học không được xác định và cho kết quả sai Từ đó, phương pháp ước tính luồng quang học mới gọi là phương pháp dựa trên đặc trưng Phương pháp này giúp khắc phục vấn đề chính của các di chuyển lớn b Phương pháp dựa trên học sâu

Dựa trên cơ chế của học sâu, các thuật toán có thể học để tính luồng quang học dựa vào cặp hai ảnh đầu vào Nhiệm vụ tính toán luồng quang học yêu cầu mạng học các đại diện đặc trưng và khớp chúng tại các vị trị khác nhau ở trên hai hình ảnh Nhược điểm chính của phương pháp học sâu là yêu cầu số lượng dữ liệu đào tạo được gán nhãn Một nhược điểm quan trọng khác của các phương pháp học sâu là số lượng lớn các tham số Điều này dẫn đến dung lượng bộ nhớ khổng lồ và overfitting, bộ nhớ lớn và số lượng hàng triệu tham số có thể ảnh hưởng tới hiệu suất của mô hình và việc học của thuật toán

Mô hình học có giám sát thường cho hiệu quả cao về độ chính xác và thời gian thực thi Tuy nhiên, chúng đòi hỏi dữ liệu được dán nhãn để huấn luyện, điều này có thể khó khăn khi không có đủ dữ liệu thực được chú thích Ngoài ra, các mô hình này dễ bị ảnh hưởng nếu dữ liệu không đủ Do đó, các phương pháp không giám sát đã được đưa ra, mặc dù hiệu suất của chúng không bằng các mô hình có giám sát, nhưng chúng đầy hứa hẹn và không ngừng được cải thiện.

Hai kiểu mô hình được đề suất cho hướng tiếp cận học có giám sát Đầu tiên là kiểu kết hợp cả trích xuất đặc trưng và khớp đặc trưng trong cùng một mạng

Kiểu đầu tiên là thực hiện cả hai nhiệm vụ trích xuất đặc trưng và ước tính luồng quang Mô hình tiêu biểu là FlowNet, mô hình end-to-end đầu tiên dùng CNN huấn luyện không giám sát để tính toán luồng quang từ hai cặp ảnh.

Kalman Filter

3.3.1 Giới thiệu về bộ lọc Kalman

Bộ lọc Kalman được đặt tên theo Rudolf E.Kalman, người vào năm 1960 đã công bố nghiên cứu của mình “A new approach to linear filtering and prediction problems” , tạm dịch là “Một cách tiếp cận mới đối với lọc tuyến tính và vấn đề dự đoán” Bộ lọc Kalman hoặc ước lượng bậc hai tuyến tính (LQE) là một trong những thuật toán hợp nhất dữ liệu và cảm biến quan trọng hiện nay Hiệu quả của bộ lọc Kalman đến từ những tính toán chi phí thấp, các thuộc tính đệ quy được thế kê tốt, biểu diễn công cụ ước tính tối ưu cho các hệ thống tuyến tính một chiều giải định thông kế lỗi Gaussian và khả năng phù hợp để triển khai thời gian thực

Bộ lọc Kalman có thể được coi là một phần mở rộng của sự phát triển ban đầu của Gauss về bình phương nhỏ nhất để ước tính các tham số chưa biết của mô hình Cho đến giữa thế kỷ 20, các hệ thống nói chung là tĩnh và các phép đo không đổi theo thời gian Tuy nhiên, hiện tại, các hệ thống có thể động với các phép đo được thực hiện từ các nền tảng di chuyển ở các khoảng thời gian nhất quán, chẳng hạn như trong điều hướng tự động Theo đó, bộ lọc Kalman là thuật toán phù hợp nhất để áp dụng cho quá trình ước lượng bằng cách liên kết các phép đo thời gian thực và ước tính trạng thái của các tham số hệ thống

Một số lưu ý quan trọng khi sử dụng bộ lọc Kalman:

 Bộ lọc Kalman là rời rạc: chúng dựa vào các mẫu đo được lấy giữa các khoảng thời gian lặp đi lặp lại nhưng không đổi

 Bộ lọc Kalman là bộ lọc đệ quy: dự đoán của nó về tương lai dựa trên trạng thái của hiện tại (vị trí, vận tốc, gia tốc, v.v.) Hơn nữa, nó trình bày một hiện các phép đo (chẳng hạn như bằng cảm biến) và sau đó đưa ra ước tính đã điều chỉnh về trạng thái từ cả dự đoán và phép đo

Bộ lọc Kalman cơ bản dành cho các hệ thống tuyến tính, nhưng các vấn đề khoa học đầy thách thức, chẳng hạn như trong điều hướng vệ tinh, là phi tuyến tính và do đó, cần triển khai một phiên bản đặc biệt của bộ lọc Kalman có tên là Bộ lọc Kalman mở rộng (EKF)

Một số ứng dụng của bộ lọc Kalman:

 Hướng dẫn và điều hướng phương tiện, đặc biệt là máy bay và tàu vũ trụ

 Lập kế hoạch và điều chỉnh quỹ đạo chuyển động

 Cảm biến nhận biết vị trí cho hệ thống hỗ trợ người lái tiên tiến (ADAS) trong xe tự hành

 Nhiều ứng dụng thị giác máy tính như ổn định phép đo độ sâu, theo dõi đối tượng (ví dụ: khuôn mặt, đầu, tay), kết hợp dữ liệu từ máy quét laze, máy ảnh

“stereo” để đo độ sâu và vận tốc cũng như lập bản đồ 3D thông qua Kinect hoặc máy ảnh phạm vi

Trong lý thuyết ước tính, EKF là một phiên bản phi tuyến của bộ lọc Kalman, EKF được ứng dụng để ước tính vị trí của robot qua thời gian, xem xét không gian trạng thái bao gồm 6 DoF Để tăng cường độ mạnh mẽ của bộ lọc nội địa hóa, các giá trị ngoại lệ rõ ràng từ số lần đọc cảm biến hoặc phép đo hình ảnh trực quan sẽ bị từ chối dựa trên các ngưỡng được điều chỉnh theo kinh nghiệm thu được trong các thử nghiệm Ngoài ra, điều quan trọng cần lưu ý là EKF cũng sử dụng ma trận hiệp phương sai từ mỗi đầu vào như một phương pháp để xác định độ không đảm bảo của thông tin mà chúng cung cấp, và ngược lại, để cung cấp ma trận hiệp phương sai cho chính ước tính tọa độ ROV

Robo-centric Extended Kalman Filter [18] được áp dụng từ phép định vị thị giác quán trính của Robocentric VIO Trái ngược với các công thức phổ biến khác có trạng thái tương đối với hệ quy chiếu quán tính trái đất , trạng thái của RC-EKF là đối với hệ quy chiếu chuyển động cùng với robot Công thức này cho phép RC-

Bộ lọc Kalman mở rộng (EKF) kết hợp các phép đo có bản chất tương đối so với việc sử dụng các phép đo tuyệt đối dựa trên hệ quy chiếu quán tính, phù hợp với ứng dụng Thị giác quán tính (VIO) RC-EKF cũng thuộc loại trạng thái lỗi Kalman Filter, chia trạng thái thành trạng thái danh nghĩa và trạng thái lỗi Các trạng thái danh nghĩa theo dõi chuyển động tín hiệu lớn, trong khi các trạng thái lỗi theo dõi các sai số do nhiễu gây ra, được biểu diễn dưới dạng nhiễu loạn của các trạng thái danh nghĩa Điều này đảm bảo rằng các trạng thái lỗi luôn gần bằng 0, giúp giảm lỗi ở xa các điểm kỳ dị và lỗi liên quan đến tuyến tính hóa và rời rạc hóa.

Mô hình học sâu kết hợp bộ lọc Extended Kalman

3.4.1 Mô hình Deep EKF VIO

Deep EKF VIO [19] tận dụng kiến trúc mô hình DeepVO [10] để tạo ra các phép đo relative pose cho bước cập nhật của bộ lọc robo-centric EKF [18] DeepVO

[10] và phiên bản mở rộng ESP-VO [20] của nó là một kiến trúc mạng học sâu dùng để học tập đinh vị thị giác dựa trên học có giám sát Mô hình sẽ kết hợp CNN với RNN để ước tính định vị từ ảnh RGB thô Phần CNN sẽ trích xuất đặc trưng từ ảnh và phần RNN cho phép hệ thống học được động lực học chuyển động phức tạp, mô hình đươc thể hiện ở hình sau

Hình 3.2: Mô hình DeepVO [10] Đầu vào của mạng ở mỗi bước thời gian là một cặp hai ảnh liên tiếp tại thời gian k và k+1, được ghép lại dọc theo kênh RGB Sau đó, ảnh được xử lý thông qua một loạt các lớp CNN Kiến trúc của các lớp CNN dựa trên phần encoder của FlowNetS [21] Để học được đặc trưng từ nhiều kích thước, có tổng số 9 lớp CNN với kích thước của kernel thay đổi từ 7x7 xuống 5x5 và xuống 3x3, số lượng kernel tăng theo hệ số của 2 từ 64 kênh thành 1024 kênh ở lớp cuối cùng, và stride được sử dụng để giảm kích thước ảnh khi độ sâu của mạng tăng lên Sau khi đạt được 1024 đặc trưng được trích xuất từ lớp cuối cùng của mạng CNN, những đặc trưng này được trải phẳng thành một vector và truyển vào mạng RNN Một LSTM được sử dụng để tránh các hiện tượng triệt tiêu và bùng nổ gradient Mạng RNN gồm 2 lớp LSTM với mỗi lớp có 1000 trạng thái ẩn Cuối cùng, đầu ra của RNN được truyển qua lớp FCN với đầu ra cuối cùng có 6 chiều đại diện cho 6 DoF từ ảnh k tới ảnh k+1 trong dịch chuyển (x, y, z) và độ xoay góc Euler

Tương tự như DeepVO [10], tuy nhiên lớp FCN cuối cùng của Deep EKF

VIO [3] có 12 đầu ra y k = [R t w T w T ], tương ứng với 6 DoF của relative pose và sự không đảm bảo tương ứng Trong đó, sự không đảm bảo của phép đo là không tương quan giữa 6 DoF, vì thế mà ma trận hiệp phương sai có thể đơn giản là một ma trận đường chéo Đơn giản, Deep EKF VIO [3] áp dụng phép toán

“elementwise”, là các phép toán trên các phần tử tương ứng của ma trận, tới và để thu được ma trận đường chéo Rk:

Trong đó, là giá trị khởi tạo dự đoán của giá trị không đảm bảo và được dùng để ràng buộc

RC-EKF gồm 3 bước: dự đoán, cập nhật và tổng hợp RC-EKF định vị tất cả trạng thái của nó tương ứng với hệ quy chiếu cục bộ Trong đó bao gồm trạng thái quán tính được theo dõi bởi đặc trưng tương ứng với trạng thái tham chiếu mới nhất Trong quá trình dự đoán EKF, trạng thái tương ứng với robot, trạng thái phương tiện được lan truyền trong hệ quy chiếu cục bộ Sau khi cập nhật với mỗi ảnh mới, RC-EKF dịch hệ quy chiếu từ bước thời gian này sang thời gian tiếp theo trong bước tổng hợp Quá trình sau đó được lặp lại trong hệ quy chiếu mới Bước cập nhật của RC-EKF sử dụng phép đo tương đối của ảnh ở thời gian tk tới tk+1 như một phần trạng thái của nó, điều này cung cấp một cách tự nhiên để kết hợp phép đo lường tương đối từ mạng nơ-ron.

Hình 3.3: Mô hình Deep EKF VIO

Mô hình Deep EKF VIO [3] cho thấy một kết quả tốt trên tập dữ liệu KITTI

[9] Phương pháp đề xuất hiệu quả hơn so với khi chỉ sử dụng thị giác hay chỉ dùng IMU với bộ lọc Kalman Tuy nhiên, trên tập dữ liệu EUROC [14] , mô hình thực sự chưa hiệu quả do vài lý do Thứ nhất, không giống tập dữ liệu KITTI [9] có IMU khá chính xác, dữ liệu IMU của bộ EUROC [14] có nhiễu nhiều hơn và có độ lệch đáng kể của gia tốc kế và con quay hồi chuyển Độ lệch của con quay hồi chuyển tương đối dễ phục hồi trong các trường hợp đứng yên, nhưng độ lệch của gia tốc kế rất khó ước tính khi khởi tạo do sự ghép nối của vectơ trọng lực, có nghĩa là nó phải dựa vào các phép đo thị giác trực quan bổ sung để hiệu chỉnh

[14] và cảm hứng từ bộ lọc RC-EKF [18], đề xuất một mô hình mạng nơ-ron mới TartanVO [4] thay thế cho kiến trúc mạng DeepVO [10] để có thể cải tiến được hiệu suất của mô hình học sâu khi kết hợp với một bộ lọc RC-EKF [18]

TartanVO là mô hình VO đầu tiên ứng dụng học sâu vào nhiều loại dữ liệu và bối cảnh thế giới thực Thay vì sử dụng trực tiếp hình ảnh RGB, TartanVO sử dụng luồng quang học làm đầu vào cho mạng ước tính vị trí tương đối Luồng quang học là dạng biểu diễn trung gian, thể hiện ràng buộc 2D Kiến trúc mạng của TartanVO gồm hai phần: phần ước tính luồng quang học và phần CNN dự đoán vị trí tương đối 6 bậc tự do Đầu vào của phần ước tính luồng quang học là hai ảnh liên tiếp.

It và It +1 , đầu ra sẽ là luồng quang học giữa chúng Sau đó, luồng quang học được kết hợp với lớp intrinsic, rồi đưa qua mạng CNN để tính toán 6 DoF

Hình 3.4: Mô hình được xây dựng kết hợp TartanVO và EKF

Ma trận nội tại K bao gồm 4 tham số: fx, fy, Cx, Cy Các tham số này được tính toán bằng cách tạo hai ma trận chỉ số X ind , Y ind có kích thước HxW tương ứng với hai kênh của lớp nội tại Hai kênh của lớp được tính bằng cách tạo ra hai ma trận chỉ số X ind , Y ind có kích thước HxW tương ứng với hai kênh của lớp nội tại.

Mạng “matching” hay mạng ước tính luồng quang học sử dụng kiến trúc mạng PWC-Net [22] Khác với FlowNet [17] và phiển bản nâng cấp của nó là FlowNet2 [23] yêu cầu hơn 160 triệu tham số mô hình, PWC-Net [22] nhỏ hơn 17 lần và hoạt động tốt hơn so với FlowNet2 [23] PWC-Net [22] là mô hình tốt nhất cân bằng giữa kích thước mô hình và hiệu quả suy luận Đầu vào của mạng PWC- Net [22] là hai ảnh liên tiếp có kích thước 640x448, đều là bội số của 64, đầu ra có kích thước 160x112 là luồng quang học được tính toán Sau đó, kết hợp luồng quang học với lớp intrinsic ở trên rồi đưa qua mạng ước tính relative pose Mạng

“Pose Network” có kiến trúc dựa trên mạng ResNet50 [24], tuy nhiên được chỉnh sửa đi để có thể nhận đầu vào là luồng quang học với lớp intrinsic, loại bỏ lớp batch normalization và thêm hai nhánh đầu ra cho việc tính toán độ dịch chuyển và độ quay

Tương tự như Deep EKF VIO [3], tôi đã thay thực hiện hai cách triển khai TartanVO [4] kết hợp EKF Một là thay đổi đầu ra của mô hình thành 12 chiều, tương tự như cách Deep EKF VIO [3] để có thể huấn luyện được ma trận hiệp phương sai cùng với 6 DoF Thứ hai là giữ nguyên 6 chiều đầu ra và sử dụng tham số ma trận hiệp phương sai cố định của EKF.

Kết luận chương

Chương này đã trình bày cơ bản về thế nào là luồng quang học và một số thuật toán ước tính luồng quang học và ứng dụng vào bài toán định vị Ý tưởng và xây dựng thành công một mô hình học sâu kết hợp với bộ lọc EKF bằng cách sử dụng kết quả phép đo relative pose từ mô hình như một trạng thái của bộ lọc và đưa vào bước cập nhật của bộ lọc nhằm nâng cao kết quả tính toán.

KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ

Triển khai SC-SfM Learner trên Jetson

Open Neural Network Exchange, viết tắt là ONNX [25], là một công cụ, định dạng mở được phát triển cho việc chuyển đổi, đại diện các mô hình học máy và học sâu ONNX [25] cung cấp định nghĩa về một mô hình đồ thị tính toán có thể biểu diễn được đồ thị của các framework khác , cũng như định nghĩa về kiểu dữ liệu chuẩn hay các hàm chuẩn

Kết quả huấn luyện của một mô hình là một tệp mô hình đại diện cho mối quan hệ giữa dữ liệu đầu vào và dự đoán đầu ra Những mô hình này được huấn luyện bằng cách sử dụng nhiều framework khác nhau bao gồm PyTorch [26], TensorFlow [27], Caffe [28], Mỗi framework tạo ra mô hình được đào tạo ở các định dạng khác nhau, điều này làm cho chúng không thể sử dụng trong nhiều môi trường phần mềm khác nhau

ONNX [25] mang lại khả năng tương tác linh hoạt bằng cách cung cấp một định dạng thống nhất giữa các framework học máy Khả năng tương tác này cho phép các mô hình được huấn luyện có thể dễ dàng triển khai trên nhiều nền tảng phần mềm cũng như phần cứng khác nhau

TensorRT [29] là một SDK được phát triển bởi NVIDIA, dành cho thực thi mô hình học sâu với hiệu suất cao, bao gồm một trình tối ưu hóa và thời gian chạy suy luận học sâu mang lại độ trễ thấp và thông lượng cao

TensorRT [29] thực hiện sáu loại tối ưu để tăng hiệu suất suy luận:

Điều chỉnh độ chính xác tham số và hàm kích hoạt: Độ chính xác tham số và hàm kích hoạt FP32 ban đầu sẽ được chuyển đổi thành độ chính xác FP16 hoặc int8 để cải thiện hiệu suất lượng tử hóa.

Việc tối ưu sẽ làm giảm độ trễ và tăng tốc độ suy luận nhưng phải đánh đổi với độ chính xác của mô hình sẽ giảm xuống

 Kết hợp tensor và các lớp: TensorRT [29] sẽ gộp các lớp và tensor để tối ưu hóa bộ nhớ GPU và băng thông bằng cách gộp các nút theo chiều dọc, chiều ngang hoặc cả hai

 Tự động điều chỉnh kernel: Lựa chọn các thuật toán và các lớp dữ liệu tốt nhất dựa vào nền tảng GPU

Bộ nhớ tensor động cấp phát hiệu quả bộ nhớ cần thiết cho từng tensor chỉ trong thời gian sử dụng của nó, từ đó giảm dung lượng bộ nhớ và cải thiện việc sử dụng lại bộ nhớ.

 Thực thi nhiều luồng: Cho phép sử lý song song nhiều luồng đầu vào

 Kết hợp thời gian: Tối ưu hóa RNN qua các bước thời gian với kernel được tạo tự động

Triển khai mô hình trên Jetson theo các bước như hình sau:

Hình 4.1: Các bước triển khai mô hình học sâu trên Jetson

Triển khai trên NVIDIA Jetson bằng cách sử dụng TensorRT

Có hai phương pháp cài đặt chính bao gồm,

1 Phương pháp hình ảnh thẻ SD

2 Phương pháp NVIDIA SDK Manager

 Bước 1 Truy cập thiết bị đầu cuối của thiết bị Jetson, cài đặt pip và nâng cấp nó sudo apt update sudo apt install -y python3-pip git clone https://github.com/ultralytics/yolov5

 Bước 3 Yêu cầu mở.txt cd yolov5 vi requirements.txt

 Bước 5 Chỉnh sửa các dòng sau Nhấn i trước để vào chế độ chỉnh sửa

Nhấn ESC, sau đó gõ : wq để lưu và thoát

Ghi: torch Và Torchvision hiện đang bị loại trừ vì chúng sẽ được cài đặt sau

 Bước 6 Cài đặt phụ thuộc bên dưới sudo apt install -y libfreetype6-dev

 Bước 7 Cài đặt các gói cần thiết pip3 install -r requirements.txt

 Bước 1 Cài đặt torch theo phiên bản JetPack ở định dạng sau wget -O pip3 install

Ví dụ: ở đây tôi đang chạy JP4.6.1 và do đó tôi chọn PyTorch v1.10.0 cd ~ sudo apt-get install -y libopenblas-base libopenmpi-dev wget https://nvidia.box.com/shared/static/fjtbno0vpo676a25cgvuqc1wty0fkkg6.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl pip3 install torch-1.10.0-cp36-cp36m-linux_aarch64.whl

 Bước 2 Cài đặt torchvision tùy thuộc vào phiên bản của PyTorch đã cài đặt Ví dụ, tôi đã chọn PyTorch v1.10.0, có nghĩa là, ta cần chọn Torchvision v0.11.1 sudo apt install -y libjpeg-dev zlib1g-dev git clone branch v0.11.1 https://github.com/pytorch/vision torchvision cd torchvision sudo python3 setup.py install

Dưới đây là danh sách các phiên bản torchvision tương ứng cần cài đặt theo PyTorch Phiên bản:

Cấu hình DeepStream cho YOLOv5

 Bước 1 Sao chép repo sau cd ~ git clone https://github.com/marcoslucianops/DeepStream-Yolo

 Bước 2 Sao chép gen_wts_yoloV5.py từ DeepStream-

Yolo/utils vào yolov5 thư mục cp DeepStream-Yolo/utils/gen_wts_yoloV5.py yolov5

 Bước 3 Bên trong yolov5 repo, tải xuống tệp pt từ YOLOv5 bản phát hành (ví dụ cho YOLOv5s 6.1) cd yolov5 wget https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5s.pt

 Bước 4 Tạo tệp cfg và wts python3 gen_wts_yoloV5.py -w yolov5s.pt

Lưu ý: Để thay đổi kích thước suy luận (mặc định: 640)

 Bước 5 Sao chép các tệp cfg và wts đã tạo vào DeepStream-Yolo thư mục cp yolov5s.cfg ~/DeepStream-Yolo cp yolov5s.wts ~/DeepStream-Yolo

 Bước 6 Mở nút DeepStream-Yolo Thư mục và biên dịch thư viện cd ~/DeepStream-Yolo

CUDA_VER.4 make -C nvdsinfer_custom_impl_Yolo # for DeepStream 6.1

CUDA_VER.2 make -C nvdsinfer_custom_impl_Yolo # for DeepStream 6.0.1 / 6.0

 Bước 7 Chỉnh sửa tệp config_infer_primary_yoloV5.txt theo mô hình

[property] custom-network-config=yolov5s.cfg model-file=yolov5s.wts

 Bước 8 Chỉnh sửa tệp deepstream_app_config

[primary-gie] config-file=config_infer_primary_yoloV5.txt

 Bước 9 Thay đổi nguồn video trong tệp deepstream_app_config

[source0] uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p _h264.mp4

Chạy suy luận deepstream-app -c deepstream_app_config.txt

Hình 4.2: Kết quả chạy trên Jetson Xavier NX với FP32 và YOLOv5s 640x640

Kết quả trên là chạy trên Jetson Xavier NX với FP32 và YOLOv5s 640x640 Chúng ta có thể thấy rằng FPS là khoảng 30

Jetson Xavier NX tích hợp sức mạnh của NVIDIA Xavier SoC vào một mô- đun có kích thước bằng Jetson Nano Mô-đun nhỏ gọn này kết hợp lợi thế về hiệu suất và sức mạnh vượt trội với một bộ IO từ CSI và PCIe tốc độ cao đến I2C và GPIO tốc độ thấp Tận dụng yếu tố hình thức nhỏ, giao diện giàu cảm biến và hiệu suất lớn để mang lại khả năng mới cho tất cả các hệ thống biên và AI nhúng.

Thông số kỹ thuật của Jetson NX Xavier:

 GPU: NVIDIA Volta với 384 nhân CUDA và 48 nhân Tensor

 CPU: 6 nhân NVIDIA Carmel ARM@v8.2 64-bit

 Bộ nhớ trong: 256 Gb SSD

 Kích thước: 103 mm x 90.5 mm x 34.66 mm

4.1.4 Huấn luyện mô hình a Tham số huấn luyện

Mô hình SC-SfM Learner [2] được huấn luyện sử dụng PyTorch Số lượng ảnh trong một chuỗi nhỏ là 5 ảnh liên tiếp được xếp chồng vào nhau, với ảnh ở giữa là góc nhìn đích và 4 ảnh còn lại là góc nhìn nguồn Một số tham số cho quá trình huấn luyện mô hình được thể hiện ở bảng sau

Bảng 4.1: Tham số huấn luyện SC-SfM Learner

GPU GTX 1080Ti (3584 nhân CUDA)

Môi trường Ubuntu 20.04 b Bộ dữ liệu mô phỏng Flightmare

Bộ dữ liệu dùng để huấn luyện mô hình là dữ liệu thu được với phần mềm mô phỏng Flightmare Bộ dữ liệu được thu tại hai môi trường khác nhau là khu công nghiệp và trong khu rừng Bộ dữ liệu mô phỏng bao gồm 7 quy đạo chuyển động với 15926 ảnh Trong đó 5 quỹ đạo được thu từ môi trường khu rừng, 2 quỹ đạo trong môi trường khu công nghiệp Ảnh trong bộ dữ liệu có kích thước 640x360 pixel với tất cả ảnh

For each trajectory, utilize Flightmare ROS Wrapper to extract ROS topics containing RGB images, depth map images, and ground truth poses and save them as a ROSBAG The ‘camera intrinsic’ matrix is computed using the FoV and the size of the simulated images according to the formula:

(5.3) Trong đó, h là chiều dài, w là chiều rộng của ảnh, FoV là phạm vi quan sát có giá trị bằng 90 đối với bộ dữ liệu mô phỏng

Huấn luyện mô hình TartanVO kết hợp EKF

Tham số huấn luyện mô hình được xây dựng trên tập dữ liệu EUROC sử dụng framework PyTorch

Bảng 4.3: Tham số huấn luyện mô hình được xây dựng

GPU GTX 1080Ti (3584 nhân CUDA)

Môi trường Ubuntu 20.04 b Tập dữ liệu EUROC

EUROC MAV là bộ dữ liệu thị giác quán tính được thu thập trên phương tiện bay siêu nhỏ MAV Bộ dữ liệu chứa các hình ảnh stereo, các phép đo IMU được đồng bộ hóa và ground truth về cấu trúc và chuyển động chính xác Bộ dữ liệu tạo điều kiện cho việc thiết kế và đánh giá các thuật toán định vị quán tính trực quan trên dữ liệu chuyến bay thực

Hình 4.9: Dữ liệu trong bộ dữ liệu EUROC

Dữ liệu EUROC trong bài toán định vị thị giác quán tính bao gồm ảnh và dữ liệu IMU được đồng bộ với nhau thông qua timestamp:

 Ảnh: có kích thước 752x480 pixel, ảnh xám

 IMU: gồm 6 thông số c Kết quả

Mô hình được huấn luyện trên tập dữ liệu EUROC với 11 quỹ đạo chuyển động và dữ liệu IMU So với kết quả của mô hình Deep EKF VIO [3], thì mô hình được xây dựng cho kết quả tốt hơn, mô hình đã bám khá sát với quỹ đạo của ground truth

-Kết quả của Deep EKF VIO trên quỹ đạo MH_02 và MH_03 là:

Hình 4.10: Kết quả của Deep EKF VIO trên quỹ đạo MH_02 và MH_03

- Kết quả của mô hình được xây dụng TartanVO [4] kết hợp EKF trên quỹ đạo MH_02 và MH_03 là:

Hình 4.11: Kết quả của mô hình được xây dụng trên quỹ đạo MH_02 và MH_03

Mô hình TartanVO dựa trên sự kết hợp của mạng học sâu và bộ lọc EKF, tận dụng đặc điểm từ dữ liệu hình ảnh và IMU Bằng cách xây dựng mô hình Deep EKF VIO, mô hình TartanVO đạt được kết quả tốt hơn, bám sát chặt chẽ hơn với quỹ đạo chuyển động thực tế.

Kết luận chương

Chương này giới thiệu các framework triển khai mô hình học sâu trên thiết bị Jetson Ngoài ra, còn trình bày kết quả triển khai mô hình và xây dựng mô hình mới kết hợp học sâu và bộ lọc EKF, tận dụng đặc trưng từ ảnh và IMU.

 Triển khai được mô hình SC-SfM Learner trên Jetson, kết quả triển khai đạt thời gian thực, lớn hơn 24 FPS

 Xây dựng được mô hình học sâu TartanVO kết hợp EKF, cho kết quả tốt hơn với Deep EKF VIO

 Kết quả của mô hình SC-SfM Learner chưa thực sự tốt trên tập dữ liệu mô phỏng

 Mô hình được xây dựng cho kết quả khả quan, nhưng vẫn chưa chính xác hoàn toàn so với ground truth

 Kết quả mô hình TartanVO kết hợp EKF cho ra kết quả kém hơn so với mô hình TartanVO ban đầu do có thể dùng hàm mất mát khác đi so với mô hình gốc

 Có thể xây dựng thêm một tập dữ liệu mô phỏng phong phú hơn, có cả dữ liệu IMU

 Triển khai thêm kết hợp CNN với RNN để xây dựng mô hình học sâu, hoặc sử dụng RNN để học trực tiếp đặc trưng từ IMU thay vì sử dụng EKF.

Ngày đăng: 06/10/2024, 17:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Zhou, Tinghui, "Unsupervised learning of depth and ego-motion from video," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017 Sách, tạp chí
Tiêu đề: Unsupervised learning of depth and ego-motion from video
[2] Bian, Jiawang, "Unsupervised scale-consistent depth and ego-motion learning from monocular video," in Advances in neural information processing systems 32, 2019 Sách, tạp chí
Tiêu đề: Unsupervised scale-consistent depth and ego-motion learning from monocular video
[3] C. Li and S. L. Waslander, "Towards End-to-end Learning of Visual Inertial Odometry with an EKF," in 17th Conference on Computer and Robot Vision (CRV), Ottawa, ON, Canada, 2020 Sách, tạp chí
Tiêu đề: Towards End-to-end Learning of Visual Inertial Odometry with an EKF
[4] Wang, Wenshan, Yaoyu Hu, and Sebastian Scherer, "Tartanvo: A generalizable learning-based vo," in Conference on Robot Learning. PMLR, 2021 Sách, tạp chí
Tiêu đề: Tartanvo: A generalizable learning-based vo
[5] Deng, Jia and Dong, Wei and Socher, Richard and Li, Li-Jia and Kai Li and Li Fei- Fei, "ImageNet: A large-scale hierarchical image database," 2009 IEEE Conference on Computer Vision and Pattern Recognition, 2009 Sách, tạp chí
Tiêu đề: ImageNet: A large-scale hierarchical image database
[6] Krizhevsky, Alex and Sutskever, Ilya and Hinton, Geoffrey E, "Imagenet classification with deep convolutional neural networks," Advances in neural information processing systems, 2012 Sách, tạp chí
Tiêu đề: Imagenet classification with deep convolutional neural networks
[7] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde- Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, "Generative Adversarial Networks," 2014 Sách, tạp chí
Tiêu đề: Generative Adversarial Networks
[8] Wang, Fei-Yue and Zhang, Jun Jason and Zheng, Xinhu and Wang, Xiao and Yuan, Yong and Dai, Xiaoxiao and Zhang, Jie and Yang, Liuqing, "Where does AlphaGo go: From church-turing thesis to AlphaGo thesis and beyond,"IEEE/CAA Journal of Automatica Sinica, 2016 Sách, tạp chí
Tiêu đề: Where does AlphaGo go: From church-turing thesis to AlphaGo thesis and beyond
[9] Andreas Geiger and Philip Lenz and Raquel Urtasun, "Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite," in Conference on Sách, tạp chí
Tiêu đề: Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite
[12] N. Mayer, E. Ilg, P. Hausser, P. Fischer, D. Cremers,, " A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation,"in In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016 Sách, tạp chí
Tiêu đề: A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation
[13] Anurag Ranjan, Varun Jampani, Kihwan Kim, Deqing Sun, Jonas Wulff, and Michael J Black, "Joint unsupervised learning of depth, camera motion, optical flow and motion segmentation," in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019 Sách, tạp chí
Tiêu đề: Joint unsupervised learning of depth, camera motion, optical flow and motion segmentation
[14] M. Burri, J. Nikolic, P. Gohl, T. Schneider, J. Rehder, S. Omari, M. Achtelik and R. Siegwart, "The EuRoC micro aerial vehicle datasets," International Journal of Robotic Research, 2016 Sách, tạp chí
Tiêu đề: The EuRoC micro aerial vehicle datasets
[15] Clark, R., Wang, S., Wen, H., Markham, A., & Trigoni, N, "Vinet: Visual- inertial odometry as a sequence-to-sequence learning problem," in Proceedings of the AAAI Conference on Artificial Intelligence, 2017 Sách, tạp chí
Tiêu đề: Vinet: Visual-inertial odometry as a sequence-to-sequence learning problem
[16] Huang, Z., Yu, Y., Xu, J., Ni, F., & Le, X., "Pf-net: Point fractal network for 3d point cloud completion," in Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, 2020 Sách, tạp chí
Tiêu đề: Pf-net: Point fractal network for 3d point cloud completion
[17] Fischer, P., Dosovitskiy, A., Ilg, E., Họusser, P., Hazırbaş, C., Golkov, V., ... & Brox, T., "Flownet: Learning optical flow with convolutional networks," in arXiv preprint arXiv, 2015 Sách, tạp chí
Tiêu đề: Flownet: Learning optical flow with convolutional networks
[18] Z. Huai and G. Huang, "“Robocentric visual-inertial odometry," in IEEE/RSJ International Conference on Intelligent Robots and Systems, 2018 Sách, tạp chí
Tiêu đề: “Robocentric visual-inertial odometry
[19] Li, Chunshang, and Steven L. Waslander, "Towards end-to-end learning of visual inertial odometry with an EKF," in 2020 17th Conference on Computer and Robot Vision (CRV), 2020 Sách, tạp chí
Tiêu đề: Towards end-to-end learning of visual inertial odometry with an EKF
[20] Wang, S., Clark, R., Wen, H., & Trigoni, N, "End-to-end, sequence-to- sequence probabilistic visual odometry through deep neural networks," The International Journal of Robotics Research, pp. 513-542, 2018 Sách, tạp chí
Tiêu đề: End-to-end, sequence-to-sequence probabilistic visual odometry through deep neural networks
[21] A. Dosovitskiy, P. Fischer, E. Ilg, P. Husser, C. Hazirbas, V. Golkov, P. v. d. Smagt,, " Flownet: Learning optical flow with convolutional networks," in In 2015 IEEE International Conference on Computer Vision (ICCV), 2015 Sách, tạp chí
Tiêu đề: Flownet: Learning optical flow with convolutional networks
[22] Sun, D., Yang, X., Liu, M. Y., & Kautz, J., "Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2018 Sách, tạp chí
Tiêu đề: Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume

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

TÀI LIỆU LIÊN QUAN

w