Posted in Self-Driving Car

Sơ lược về Vision-Based Navigation

Vision-based Navigation là một trong những lý thuyết về công nghệ tự hành (autonomous driving). Bên cạnh Laser-Base, IMU-base, thì vision base là một công nghệ có thể nói là khá rẻ, chỉ cần một 3D-camera(stereo-camera hoặc Kinect), ta có thể chụp được hình ảnh 3D của môi Trường xung quanh dùng vision odometry để xác định vị trí và hướng đi của robot trong map và có thể nói là chúng ta đã thực hiện xong SLAM(Simultaneous Localization and Mapping).

Để nói về vision-base trước tiên cần nói về cách để chúng ta match hai tấm ảnh lại. Khi ta sử dụng camera để chụp ảnh thì chỉ chụp được một tấm vào một thời điểm thôi. Nhưng khi bạn dung panorama chẳng hạn, thì có thể chụp được tấm hình với góc rộng hơn nhiều chi tiết hơn sẽ được thể hiện. Chế độ panorama có thể làm được điều này nhờ ghép các tấm ảnh đơn lẻ lại với nhau. Nhưng ghép như thế nào, hôm nay chúng ta sẽ tìm hiểu về điều đó.

CS.PNG

Nhìn vào hai tấm ảnh trên ta thấy chúng được chụp ở 2 góc gần nhau, tấm thứ hai dịch qua phải một tí. Và nếu mình muốn thấy hết dãy núi thì phải ghép hai tấm lại. Và các bước ghép như sau:

1/ Đầu tiên ta sẽ nhìn ra những điểm quan trọng trong một bức hình, gọi là features detection, bởi vì bức hình là một tập hợp những điểm ảnh, và chỉ cần một số điểm ảnh là có thể miêu tả gần như đầy đủ tấm hình. Có nhiều cách để tách các features từ tấm ảnh, ví dụ như ta dùng Canny edges detection. Hoặc là dùng convolution high pass filter quét qua tấm ảnh để thu được những khu vực có độ tương phản cao (high contrast). Sau khi làm các bước trên ta có tấm hình như sau.

2/ Sau khi xác định được các điểm quan trọng, việc tiếp theo là nối tụi nó lại, vấn đề là nối thế nào?

Trước tiên ta phải nhận dạng các features mà ta detect được, bởi muốn ghép hai tấm hình ngọn núi lại, vậy thì khu vực nào phải ghép với khu vực đó, như chân núi ghép với chân núi, đỉnh núi ghép với đỉnh núi. Không thể lấy râu ông nọ cắm cằm bà kia được. Các features được chọn phải đặc biệt, và vẫn giữ đặc tính khi bị xoay hoặc di chuyển.

Một trong những Phương pháp áp dụng là SIFT(Scale invariance features transformation):

CS2.PNG

Ý tưởng của SIFT:

Nội dung của một bức ảnh sẽ được lấy ra để vào một khu vực, ở đây  ta gọi là “túi ảnh”. Túi này chứa những features nói lên đặc tính của tấm ảnh thứ nhất.  Khi so sánh với tấm ảnh thứ hai được chụp từ một góc khác , những features được so sánh để xác nhận xem hai tấm có giống nhau hay không.

CS3.PNG