Robot hoặc thiết bị di chuyển sẽ dùng camera chụp các ảnh 2D trong quá trính di chuyển để ước lượng vị trí camera được gắn trên nó, sau đó tính toán vị trí và hướng của nó trong không gi
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
ĐỊNH VỊ CHO ROBOT DI ĐỘNG NGOÀI TRỜI
DÙNG GIẢI THUẬT XỬ LÝ ẢNH
GVHD: TS LÊ MỸ HÀ SVTH: TRƯƠNG CHÁNH TRỰC MSSV: 11151210
SVTH: NGUYỄN TRẦN HOÀNG VŨ MSSV: 11151189
Tp Hồ Chí Minh, tháng 7/2015
S K L 0 0 4 1 2 0
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH
KHOA: ĐÀO TẠO CHẤT LƯỢNG CAO
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG
Trang 3CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******
BẢNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: MSSV:
Họ và tên Sinh viên 2: MSSV:
Ngành:
Tên đề tài:
Họ và tên Giáo viên hướng dẫn:
NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
Trang 5
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc
*******
BẢNG NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: MSSV:
Họ và tên Sinh viên 2: MSSV:
Ngành:
Tên đề tài:
Họ và tên Giáo viên phản biện:
NHẬN XÉT 1 Về nội dung đề tài & khối lƣợng thực hiện:
2 Ƣu điểm:
3 Khuyết điểm:
Trang 6
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:……….(Bằng chữ: )
Tp Hồ Chí Minh, ngày 01 tháng 08 năm 2015
Giáo viên phản biện
Trang 7i
LỜI CẢM ƠN
Lời đầu tiên, chúng em xin gửi đến thầy, TS Lê Mỹ Hà lời cảm ơn chân thành và sâu sắc nhất Nhờ có sự hướng dẫn và giúp đỡ tận tình của thầy trong suốt thời gian qua, chúng em đã có thể thực hiện và hoàn thành Luận văn tốt nghiệp Những lời nhận xét, góp ý và hướng dẫn tận tình của Thầy như một kim chỉ nam, đã giúp chúng em có một định hướng đúng đắng trong suốt quá trình thực hiện đề tài
Đồng thời, chúng em cũng xin trân trọng cảm ơn các Thầy Cô của trường Đại Học Sư Phạm Kỹ Thuật nói chung và các thầy cô thuộc Khoa Chất Lượng Cao nói riêng đã dạy dỗ chúng em trong suốt quãng đường ngồi trên ghế giảng đường Đại học Những kiến thức mà các Thầy Cô đã truyền đạt đã trở thành nền tảng giúp chúng em hoàn thành đề tài này
Bên cạnh đó, chúng tôi xin cảm ơn sự quan tâm và giúp đỡ nhiệt tình của bạn bè trong thời gian học tập ở trường và trong thời gian hoàn thành Luận văn này
Cuối cùng, chúng con xin chân thành cảm ơn sự động viên , hỗ trợ và chăm sóc các anh chị em và cha mẹ trong suốt bốn năm tại giảng đường trường Đại học
Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh Sự quan tâm, lo lắng, sự hi sinh của cha mẹ , người sinh ra và nuôi dưỡng chúng con chính là nguồn động lực lớn nhất giúp chúng con học tập nên người Gửi đến cha mẹ lời cám ơn sâu sắc nhất
Mặc dù nhóm chúng em đã cố gắng nhiều trong suốt thời gian thực hiện đề tài này, nhưng không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được
sự góp ý của Thầy cô, gia đình, bạn bè để đồ án tốt nghiệp này được hoàn thiện hơn nữa
Chúng em xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày 01 tháng 08 năm 2015
Trang 8ii
TÓM TẮT
Mục tiêu đề tài này là định vị robot hoặc thiết bị di chuyển Robot hoặc thiết
bị di chuyển sẽ dùng camera chụp các ảnh 2D trong quá trính di chuyển để ước lượng vị trí camera được gắn trên nó, sau đó tính toán vị trí và hướng của nó trong không gianđang tương tác
Đề tài của nhóm làm việc dựa trên dữ liệu vào là tập ảnh 2D, nhóm xây dựng
hệ thống camera để thu thập dữ liệu đầu vào trong quá trình di chuyển trên đường đi của robot hoặc hệ thống di chuyển cần xác định vị trí tương ứng trong môi trường làm việc
Đểhoàn thành đề tài này,nhóm nghiên cứu các vấn đề cơ bản sau:
Tìm hiểu lý thuyết về lập bản đồ và định vị robot
Tìm hiểu về xử lý ảnh: các phép toán trong xử lý ảnh, trích đặt trưng
từ ảnh, loại bỏ những đặt trưng yếu hoặc sai
Thuật toán trích đặt trưng SIFT từ một hình ảnh
Thuật toán RANSAC loại bỏ các đặt trưng yếu của một hình ảnh
Thuật toán tối ưu tái cấu trúc 3D xây dựng bản đồ 3D, xác định vị trí
và góc quay camera để tìm vị trí và hướng của robot
Cách tiếp cận của nghiên cứu này là kh ảo sát cơ sở lý thuyết nh ững phương pháp hiện có, phân tích ưu nhược điểm Tiến hành đề xuất phương pháp mới cải tiến Thực hiện mô phỏng giải thuật trên phần mềm Khi thu được sai số cho phép
sẽ tiến hành thực nghiêm trên phần cứng và môi trư ờng thực t ế Tóm lại, phương pháp nghiên cứu của đề tài là trước tiên tiên hành nghiên cứu lý thuyết, sau đó kiểm chứng bằng thực tế và rút ra kết luận
Nhóm đã xây dựng được hệ thống camera đơn và stereo camera
Kết quả định vị thiết bị di chuyển từ hệ thống camera đơn khá chính xác, định vị được đường đi của thiết bị
Hệ thống stereo camera kết quả chưa chính xác, do khó khăn trong việc cân chỉnh hệ thống camera
Trang 9iii
MỤC LỤC
MỤC LỤC iii
DANH SÁCH CÁC HÌNH v
DANH SÁCH CÁC CHỮ VIẾT TẮT vii
CHƯƠNG 1: TỔNG QUAN 1
1.1 Tổng quan chung 1
1.1.1 Tổng quan chung về định vị robot 1
1.1.2 Kết quả nghiên cứu trong và ngoài nước 1
1.2 Mục tiêu, khách thể và đối tượng nghiên cứu 2
1.2.1 Mục tiêu nghiên cứu 2
1.2.2 Khách thể nghiên cứu 2
1.2.3 Đối tượng nghiên cứu 2
1.3 Nhiệm vụ của đề tài và phạm vi nghiên cứu 3
1.3.1 Nhiệm vụ của đề tài 3
1.3.2 Phạm vi nhiên cứu 3
1.4 Phương pháp nghiên cứu 3
CHƯƠNG 2: XÂY DỰNG ĐÁM MÂY ĐIỂM TRONG KHÔNG GIAN 3D VÀ ĐỊNH VỊ ROBOT 4
2.1 Tìm cặp điểm đặc trưng tương đồng 4
2.1.1 Các loại đặc trưng 4
2.1.2 Đặc trưng SIFT 6
2.2 Thông số nội camera 10
2.3 Thuật toán RANSAC 13
2.4 Định vị camera dựa trên điểm tương đồng 15
2.4.1 Hình học Epipolar và ma trận cơ bản 15
2.4.2 Ma trận thiết yếu và thông số ngoại camera 16
2.5 Giải thuật 8 điểm kết hợp RANSAC 16
2.6 Thuật toán tối ưu xây dựng không gian đám mây điểm và vị trí robot 17
2.7 Stereo camera 18
CHƯƠNG 3: THỰC NGHIỆM ĐỊNH VỊ TRÍ THIẾT BỊ DI CHUYỂN 21
3.1 Cân chỉnh camera tìm bộ thông số nội camera 21
3.2 Trích rút đặc trưng SIFT 30
3.3 Mô tả cặp đặc trưng tương đồng 33
3.4 Ước lượng ma trận cơ bản F và ma trận thiết yếu E 34
CHƯƠNG 4: KẾT LUẬN 40
PHỤ LỤC A 41
TÀI LIỆU THAM KHẢO 42
Trang 10iv
DANH SÁCH CÁC HÌNH
Hình 2.1: Phương pháp tính DoG 6
Hình 2.2: Tìm điểm đặc trưng từ các giá trị DoG 7
Hình 2.3 Mô tả điểm đặc trưng 9
Hình 2.4: Mô hình Pinhold camera 10
Hình 2.5: Hệ tọa độ tương đương mô hình Pinhold 11
Hình 2.6: Quan hệ giữa tọa độ camera và tọa độ không gian 12
Hình 2.7: Quan hệ giữa tọa độ camera và tọa độ không gian 13
Hình 2.8: Tập dữ liệu đường thẳng 14
Hình 2.9: Tìm đường thẳng dùng thuật toán RANSAC 15
Hình 2.10: Mô tả hình học Epipolar 15
Hình 2.11: Mô tả hình học của 3 frame liên tục với những đặc trưng tương đồng 18
Hình 2.12 : Các mạng lọc 5x5 18
Hình 2.13: Mô tả các tính độ sâu ảnh 20
Hình 3.1: Lưu đồ thực hiện tìm vị trí 21
Hình 3.2: Lưu đồ cân chỉnh camera 26
Hình 3.3: Chọn đường dẫn đến thư mục hình 27
Hình 3.4: Kích cỡ cạnh Chessboard 27
Hình 3.5: Bảng xuất hiện sau khi chèn đường dẫn hình 27
Trang 11v
Hình 3.6: Giao diện xuất hiện sau khi chèn đường dẫn 28
Hình 3.7: Giao diện xuất hiện sau khi cân chỉnh 28
Hình 3.8: Reprojection error 29
Hình 3.9: CalibrationSession 30
Hình 0.10: Ảnh qua bộ lọc Gaussian 31
Hình 0.11: Ảnh thể hiện sau khi tinh DoG 31
Hình 0.12: Điểm đặc trưng của ảnh 32
Hình 0.13: Hình thể hiện các đặc trưng SIFT 33
Hình 0.14: Cặp điểm đặc trưng tương đồng 34
Hình 3.15: Trích điểm đặc trưng SIFT và đối sánh 35
Hình 3.16: Tọa độ vị trí camera trong hai khung ảnh đầu tiên 36
Hình 3.17: Kết quả mô phỏng vị trí robot dùng 372 ảnh 37
Hình 3.18: Kết quả thực nghiệm đám mây điểm 3D và vị trí robot 38
Hình 3.19: Kết quả thực nghiệm với hệ thống stereo camera 38
Trang 12vi
DANH SÁCH CÁC CHỮ VIẾT TẮT
SFM: Structure from motion
SLAM: Simutaneous Localization and Mapping
BA: Bundle Adjustment
RANSAC: Random sample consensus
SIFT: Scale invariant feature transform
IR: Infrared radiation
GPS: Global Positioning System
Trang 131
CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan chung:
1.1.1 Tổng quan chung về định vị robot:
Định vịcho robot di động nhằm xác định chính xác vị trí của robot trên bản
đồ được nghiên cứu từ rất lâu và đã đạt được nhiều thành công lớn Phương pháp định vị cổ điển là dựa vào các loại cảm biến để tính toán khoảng cách, hướng, gia tốc để tính toán, quyết định quỹ đạo di chuyển của robot Bên cạnh những thành tựu
đó, những nhược điểm khách quan do sai số từ các cảm biến đưa về cho robot cũng không thể loại bỏ, vì thế mục tiêu trên vẫn chưa được giải quyết triệt để.Việc điều khiển robot chỉ dựa vào các cảm biến trên robot thôi vẫn chưa đủ để giải quyết vấn
đề trên Dần dần, các nhà nghiên cứu nhận thấy rằng cần phải phối hợp, tương tác với môi trường xung quanh, giúp robot thêm nhiều thông tin để robot có thể trả lời đúng câu hỏi: “Tôi đang ở đâu?”
Định vị robot sử dụng GPS, trên robot được gắn thêm thiết bị định vị toàn cầu GPS Thiết bị giúp robot xác định khoảng cách từ tới 3 hoặc 4 vệ tinh đã xác định trước ngoài vũ trụ, để từ đó tính toán vị trí của robot Tuy nhiên kết quả này chỉ phù hợp với khu vực có quy mô lớn Độ chính xác định vị dùng GPS không cao, sai số có thể lên vài mét
Định vị robot sử dụng thiết bị Kinect, nhờ thiết bị Kinect có một camera RGB và một camera IR Thiết bị Kinect vừa thu thập hình ảnh, vừa thu thập độ sâu của ảnh nhờ camera IR, giúp cho robot tính toán khoảng cách từ robot đến vật cản trong môi trường xung quanh, từ đó xác định vị trí của robot trong môi trường
Bài toán lập bản đồ và định vị cho robot được chia làm 2 loại: định vị cho robot trong nhà và định vị cho robot ngoài trời Lập bản đồ và định vị cho robot ngoài trời gặp nhiều khó khăn hơn robot trong nhà vì địa hình gồ ghề hơn, môi trường phức tạp hơn và quy mô rộng lớn hơn Robot ngày càng được trang bị những cảm biến như con người, thị giác robot là camera gắn trên robot nhằm thu thập hình ảnh và xử lý Robot tự hành đơn giản chỉ được trang bị một camera mà không cần bất kỳ cảm biến nào đã có thể tự quyết định được hành vi di chuyển của robot và hoạt động trong môi trường mới mà chưa biết bản đồ
1.1.2 Kết quả nghiên cứu trong và ngoài nước
Lập bản đồ có nhiều cách thức khác nhau như dùng thiết bị định vị toàn cầu GPS gắn trên ô tô Khi ô tô di chuyển, tọa độ hiện tại của ô tô luôn được cập nhật gửi về máy chủ Từ đó máy chủ sẽ tính toán và vẽ được bản đồ 2D của môi trường
mà ô tô di chuyển Tuy nhiên, độ chính xác của thiết bị GPS không tốt, sai số từ vài
Trang 14Lập bản đồ 3D và 2D sử dụng stereo camera [2], tác giả dùng stereo camera gắn trên xe lăn để xây dựng bản đồ 3D, từ đó phát hiện vật cản, điều khiển xe lăn di chuyển an toàn mà không cần sự điều khiển của người tàn tật
Định vị robot dựa trên cơ sở xử lý ảnh stereo camera và có tích hợp GPS [3], tác giả dựa vào GPS để định vị vị trí robot trên mặt đất trong khoảng không gian rộng lớn Mỗi lúc robot di chuyển với khoảng cách nhỏ, tác giả ước lượng sự di chuyển này dựa vào xử lý cặp ảnh chụp từ stereo camera
Một mô hình định vị và lập bản đồ thời gian thực mức đối đối tượng 3D [4] Tác giả tạo một tập dữ liệu các đối tượng 3D Bản đồ được xây dựng từng bước trực tiếp theo hướng đối tượng Một máy ảnh chụp một cảnh nhiều đối tượng, thông tin các đối tượng được lặp đi lặp lại giải thuật nhận diện đối tượng 3D và tạo ra bản đồ 3D thể hiện vị trí các đối tượng liên quan trong tập dữ liệu Biểu đồ được tối ưu hóa lên tục như các phép đo mới và cho phép luôn cập nhập, các dự đoán liên tục và chính xác của phép đo camera kế tiếp
1.2 Mục tiêu, khách thể và đối tượng nghiên cứu
1.2.1 Mục tiêu nghiên cứu
Mục tiêu đề tài này là định vị robot dựa vào thuật toán SFM Robot sẽ dùng camera chụp các ảnh 2D trong quá trính di chuyển để ước lượng vị trí camera được gắn trên robot, sau đó tính toán vị trí và hướng của robot trong không gian robot đang tương tác
1.2.2 Khách thể nghiên cứu
Đề tài nghiên cứu dựa vào các thuật toán SIFT để trích đặc trưng của ảnh và tìm những đặc trưng tương đồng trong các ảnh liên tiếp nhau Những tương đồng sai sẽ bị loại bỏ thông qua thuật toán RANSAC Đồng thời ma trận thông số nội camera cũng được tính toán theo bước cân chỉnh trước đó Những đám mây điểm của môi trường và vị trí robot được khôi phục lại và tính toán chính xác dựa trên giải thuật tối ưu
1.2.3 Đối tượng nghiên cứu
Trang 153
Đề tài nghiên cứu dựa trên dữ liệu đầu vào là tập ảnh 2D, được thu thập trong quá trình di chuyển trên đường đi của robot hoặc hệ thống di chuyển cần xác định vị trí tương ứng trong môi trường làm việc
1.3 Nhiệm vụ của đề tài và phạm vi nghiên cứu
1.3.1 Nhiệm vụ của đề tài
Để đạt được mục tiêu nghiên cứu cần thực hiện các nhiệm vụ sau:
Tìm hiểu lý thuyết về lập bản đồ và định vị robot
Tìm hiểu về xử lý ảnh: các phép toán trong xử lý ảnh, trích đặt trưng từ ảnh, loại bỏ những đặt trưng yếu hoặc sai
Thuật toán trích đặt trưng SIFT từ một hình ảnh
Thuật toán RANSAC loại bỏ các đặt trưng yếu của một hình ảnh Thuật toán tối ưu tái cấu trúc 3D xây dựng bản đồ 3D, xác định vị trí và góc quay camera để tìm vị trí và hướng của robot
1.3.2 Phạm vi nhiên cứu
Đề tài nghiên cứu trên thiết bị di chuyển có người lái, tập ảnh 2D được thu thập trong quá trình di chuyển trên đường đi Trên tập dữ liệu ảnh 2D đề tài mô phỏng tính toán xây dựng bản đồ 3D và định vị vị trí camera trong bản đồ này
1.4 Phương pháp nghiên cứu
Cách tiếp cận của nghiên cứu này là kh ảo sát cơ sở lý thuyết nh ững phương pháp hiện có, phân tích ưu nhược điểm Tiến hành đề xuất phương pháp mới cải tiến Thực hiện mô phỏng giải thuật trên phần mềm Khi thu được sai số cho phép
sẽ tiến hành thực nghiêm trên phần cứng và môi trư ờng thực tế Tóm lại, phương pháp nghiên cứu của đề tài là trước tiên tiên hành nghiên cứu lý thuyết, sau đó kiểm chứng bằng thực tế và rút ra kết luận
Trang 164
CHƯƠNG 2: XÂY DỰNG ĐÁM MÂY ĐIỂM
TRONG KHÔNG GIAN 3D VÀ ĐỊNH VỊ ROBOT
Nội dung chương 2 trình bày cách trích đặc trưng SIFT, cách tìm những đặc trưng tương đồng từ 2 hình ảnh thu được kế tiếp nhau Đồng thời giới thiệu giải thuật RANSAC để loại bỏ những đặc trưng yếu hoặc sai Ma trận thông số nội của camera được tính toán bằng cách cân chỉnh camera dựa trên vật mẫu là chessboard Giải thuật tối ưu được dùng để xây dựng đám mây điểm của không gian làm việc và
vị trí của robot cũng sẽ được trình bày trong chương này
2.1 Tìm cặp điểm đặc trưng tương đồng
2.1.1 Các loại đặc trưng
Để tìm vị trí robot từ nhiều ảnh, việc tìm đặc trưng của ảnh cho phù hợp là thành phần quan trọng và thăng chốt Việc lựa chọn các đặc trưng sẽ giúp cho việc tăng độ chính xác vị trí, hướng của robot và tốc độ xử lý của robot Những năm gần đây việc sử dụng các đặc trưng cục bộ đã trở thành một hướng mới trong định vị robot bằng kỹ thuật xử lý ảnh Các điểm đặc trưng này là bất biến trong phép biến đổi hình học, phép biến đổi affine
Harris corner
Harris corner là đặc trưng phát hiện góc, hoặc một thuật ngữ tổng quát hơn là phát hiện điểm quan tâm là một hướng tiếp cận được sử dụng trong các hệ thống thị giác máy tính để trích chọn các loại đặc trưng và suy luận ra các nội dung của một ảnh Việc phát hiện góc được dùng thường xuyên trong phát hiện, theo dõi chuyển động, mô hình 3D và nhận dạng đối tượng
Một góc được xác định bởi nơi giao nhau của hai cạnh Một góc cũng có thể được xác định như một điểm có hai hướng khác nhau trong một vùng cục bộcủa điểm đó Một điểm quan tâm là một điểm trong một ảnh mà điểm này có vị trí được xác định tốt và có thể được phát hiện nhanh chóng Điều này có nghĩa là một điểm quan tâm có thể là một góc nhưng cũng có thể là một điểm đơn có giá trị cường độ cực đại hoặc cực tiểu cục bộ, các điểm kết thúc của đường thẳng hoặc một điểm trên một đường cong mà ở đó độ cong là tối đa cục bộ Trên thực tế, hầu hết các phương pháp phát hiện góc phát hiện các điểm hơn là các góc nói riêng
Phương pháp phát hiện góc Harris [5] là một phương pháp phát hiện điểm quan tâm phổ biến vì nó bất biến đối với phép quay, thay đổi độ sáng và tạp nhiễu
Trang 175
ảnh Phương pháp này dựa trên hàm tương quan tự động cục bộ của một tín hiệu; ở
đó hàm tương quan tự động cục bộ đo các thay đổi cục bộ của tín hiệu với các mảnh ảnh được dịch chuyển một lượng nhỏ theo các hướng khác nhau Tuy nhiên, phương pháp này chưa giải quyết được vấn đề biến đổi co, giãn ảnh hay những phép biến đổi affine
để phát hiện điểm tỉ lệ Bước 2, lựa chọn các điểm mà hàm Laplace of Gaussian đạt giá trị cực đại Đặc trưng Harris Laplace tuy giải quyết được vấn đề co giãn của ảnh, nhưng sự biến đổi affine vẫn còn hạn chế
SURF
SURF là một phương pháp phát hiện và mô tả hình ảnh tốt, do Herbert Bay đưa ra lần đầu vào năm 2006, có thể được sử dụng trong các nhiệm vụ tầm nhìn của máy tính như nhận dạng đối tượng, phục hồi 3D Nó dựa trên mô tả SIFT Phiên bản tiêu chuẩn của SURF nhanh hơn nhiều so với SIFT và nó chống lại sự biến đổi hình ảnh khác nhau tốt hơn SIFT SURF dựa trên tổng xấp xỉ các đặc trưng Haar Wavelet 2D và sử dụng hiệu quả cho các ảnh tích hợp
Phương pháp này dựa trên các ma trận Hessian, nhưng sử dụng một xấp xỉ cơ bản, cũng giống như DoG là một phát hiện cơ bản dựa trên Laplacian Nó dựa trên hình ảnh tích hợp để giảm thời gian tính toán và được gọi nó là phát hiện 'Fast-Hessian' Mặt khác, mô tả này mô tả một phân bố các đặc trưng Haar-Wavelet trong các lân cận của điểm quan tâm Hơn nữa, chỉ sử dụng kích thước 64, để giảm thời gian tính toán các đặc trưng và mô tả bộ tương đồng, đồng thời tăng độ tin cậy Nó không chỉ làm tăng tốc độ tương đồng, mà còn tang độ tin cậy của bộ mô tả đặc trưng này
SIFT
SIFT [6] được trình bày đầu tiên bởi David G Lowe năm 1999, đến năm
2004 chính David G Lowe hoàn thiện giải thuật SIFT [7] Thí nghiệm về thuật toán SIFT của ông về một hình ảnh sau khi co giãn, xoay hay biến đổi trong không gian affine thì đặt trưng SIFT hầu như không thay đổi
Trang 18Tìm cực trị của không gian tỉ lệ
Đầu tiên, chúng ta xây dựng các mức của ảnh bằng phép biến đổi Gaussian của ảnh với các giá trị độ lệch chuẩn thay đổi liên tiếp nhau (gọi là ảnh Gaussian) Theo phương trình sau:
Trong đó, dấu * là nhân chập trong miền x và y
Sự khác biệt của Gaussian (DoG) trong mỗi cấp được tính bằng cách trừ hai ảnh Gaussian liền kề nhau
Trang 197
Trong Hình 0.1 ảnh bên trái thể hiện ảnh biến đổi Gaussian với các hệ số lệch chuẩn thay đổi, ảnh bên phải là kết quả trừ hai ảnh Gaussian kế nhau Sau mỗi mức ảnh được giảm kích thước với tỉ lệ hệ số 2 và lặp lại quá trình [7]
Hình 0.2: Tìm điểm đặc trưng từ các giá trị DoG
So sánh từng điểm ảnh trong tỉ lệ hiện tại với tỉ lệ trên, dưới trong lân cận 3x3, tức là 26 pixel xung quanh, chúng ta tìm giá trị lớn nhất hoặc nhỏ nhất giữa chúng Điểm này được coi là điểm đặc trưng Trong Hình 0.2 điểm đánh dấu x được
so sánh với 26 điểm lân cận, nếu nó có giá trị lớn nhất hoặc nhỏ nhất thì được chọn làm điểm đặc trưng
Lọc và trích xuất điểm đặc trưng
Sau khi tìm được điểm đặc trưng trong bước 2.1.2, không phải điểm đặc trưng nào cũng tốt nhất, vì vậy ta cần loại bỏ điểm đặc trưng yếu và trích xuất các điểm đặc trưng mạnh Để thực hiện điều này ta cần thực hiện 3 bước sau: xác định đúng vị trí của điểm đặc trưng, loại bỏ điểm đặc trưng có tính tương phản thấp, loại
bỏ điểm đặc trưng dư thừa theo biên
Xác định đúng vị trí của điểm đặc trưng
Vì điểm đặc trưng tìm được có thể chưa phải là điểm chính xác có giá trị cực đại hoặc cực tiểu Ta dùng khai triển Taylor của hàm không gian tỉ lệ để dịch đến vị trí điểm lấy mẫu gốc
Trong đó: D và đạo hàm của nó được tính tại điểm đặc trưng và 𝑋 = (𝑥, 𝑦, 𝜎)𝑇
là độ lệch của điểm này Vị trí của điểm cực trị 𝑋 được tính bằng cách lấy đạo hàm của hàm trên theo X và cho nó tiến về 0
Trang 208
2 1 2
Loại bỏ điểm đặc trưng có tính tương phản thấp
Trong bước này ta sẽ loại bỏ những điểm đặc trưng có độ tương phản thấp
Để loại điểm đặc trưng có độ tương phản thấp ta so sánh giá trị 𝐷(𝑥 ) với giá trị ngưỡng Với giá trị 𝐷(𝑥 ) được xác định bằng cách thế phương trình (2.5) vào phương trình (2.4), ta được:
Nếu giá trị D x ˆ thấp hơn ngưỡng thì điểm này bị loại trừ
Loại bỏ điểm đặc trưng dư thừa theo biên
Sau khi dùng bộ lọc Gaussian sẽ làm cho đường biên không còn rõ, các giá trị DoG ở dọc góc đường biên không thể hiện chính xác điểm đặc trưng, vì vậy chúng ta cần loại bỏ bớt các điểm đặc biệt trên biên Chúng ta sử dụng ma trận Hessian 2x2 tính ở vị trí và hệ số tỉ lệ của điểm đặc trưng để tìm độ góc Với công thức tỉ lệ của nguyên tắc góc:
Trang 219
Gradient xung quanh điểm đặc trưng từ các giá trị hướng của Gradient Lượt đồ này gồm 36 mức, thể hiện cho phạm vi 3600, vì vậy mỗi hướng có 10°, ta có tất cả 36 hướng Mỗi mẫu thì được thêm vào trọng số của Histogram được tính từ độ lớn Gradient và tỉ lệ của điểm đặc trưng Nếu Histogram nào có giá trị lớn hơn 80% của những giá trị khác thì được chọn làm hướng chính của điểm đặc trưng Một điểm đặc trưng có thể có nhiều hướng chính [8]
Mô tả điểm đặc trưng
Tạo lại bảng mô tả 2D cho những giá trị trước đó thể hiện 3 thông số vị trí, tỉ
lệ và hướng được dùng để mô tả một vùng của ảnh mà các giá trị này không thay đổi Trong bước này tính toán bộ mô tả điểm đặc trưng Mỗi điểm đặc trưng được
mô tả bởi một vùng ô vuông 16x16 Sau đó được chia làm 4 vùng nhỏ có kích thước 4x4, tính giá trị Histogram với 8 mức hướng chính Sau đó thêm vào giá trị độ lớn của gradient của vùng 4x4 vào cho các Histogram của hướng Mỗi điểm đặc trưng chứa 8 vector, do đó một bộ mô tả sẽ chứa tổng cộng 4x4x8 yếu tố
Hình 2.3 Mô tả điểm đặc trưng (a) Gradient của ảnh,
(b) mô tả điểm đặc trưng
Đối sánh điểm đặc trưng
Những điểm đặc trưng tương đồng này được tìm ra bằng cách so sánh khoảng cách Eclidian của những vector đặc trưng Điểm đặc trưng tương đồng là điểm có khoảng cách nhỏ nhất Tuy nhiên khi số lượng điểm đặc trưng rất lớn hoặc phải so sánh với nhiều dữ liệu hình ảnh số lượng điểm đối sánh và phép so sánh sẽ rất lớn Để khắc phục điều này, phương pháp cải tiến giải thuật cây so sánh K-D được áp dụng để giảm thời gian tính toán và so sánh Trong phương pháp đối sánh này vẫn còn những lỗi do nhiễu của hình ảnh, phương pháp khác phục dựa trên thuật toán RANSAC được trình bày ở phần sau
Trang 2210
2.2 Thông số nội camera
Quá trình tìm thông số camera còn được gọi là camera calibration Camera calibration là phương pháp tính toán và thực nghiệm nhằm tìm ra các thông số của camera cho việc tái tạo không gian 3D của một cảnh nào đó trong thực tế bằng những ảnh mà camera đó chụp lại được Để có được những thông số đó, các tính toán sau chủ yếu dựa vào mô hình camera thông dụng nhất hiện nay: mô hình Pinhold
Về mặt hình học, mô hình này bao gồm một mặt phẳng ảnh I (Image plane)
và một tâm điểm C (Eyepoint) nằm trên mặt phẳng tiêu cự F (Focal plane)
Hình 0.4: Mô hình Pinhold camera Qua mô hình thể hiện những điểm ảnh m trên mặt phẳng ảnh I được tạo thành bởi điểm vật M qua C Ta có ba điểm m, C, M thẳng hàng Điểm C còn được gọi là tâm quang, đường thẳng cC vuông góc với I và F được gọi là trục quang, c được gọi là điểm chính
Gọi (C,X,Y, Z) là hệ tọa độ camera, (c,x,y) là hệ tọa độ của các điểm ảnh Ta có:
X Y Z (0.10)
Trang 2311
Hình 0.5: Hệ tọa độ tương đương mô hình Pinhold Không có sự khác biệt gì khi thay mặt phẳng I bằng một mặt phẳng lấy đối xứng với I qua mặt phẳng F Trong hệ tọa độ mới này, mỗi điểm (x,y) giờ đây sẽ có tọa độ 3D là (x,y,f)
Trong phép chiếu hình học ta đã biết rằng tất cả những điểm nằm trên một đường thẳng vuông góc với mặt phẳng chiếu thì khi chiếu xuống mặt phẳng đó ta chỉ thu được một điểm duy nhất, do đó với bất kỳ một điểm (X,Y,Z) nào đó thì tỉ lệ sau s(X,Y,Z) hay (sX, sY, sZ) (với s bất kỳ) khi chiếu qua điểm C ta cũng chỉ thu được một điểm m(x,y) duy nhất Từ lập luận trên và (2.11) ta có:
Trang 24Ma trận R và vector t mô tả hướng, vị trí tương đối giữa hệ tọa độ camera và
hệ tọa độ word Ma trận R chứa 3 phép quay (theo x,y,z) và vector v chứa 3 phép tịnh tiến Những thông số chứa trong R và t được gọi là những thông số ngoại của camera (extrinsic)
Hình 0.6: Quan hệ giữa tọa độ camera và tọa độ không gian
Từ (2.13) và (2.14) ta có:
m’ = PM’ = PDM’w (0.18)
Trong thực tế, tâm của ảnh không phải lúc nào cũng là điểm chính c và tỉ lệ theo các trục x, y không phải lúc nào cũng như nhau Người ta sử dụng một ma trận
K để diễn tả những sai lệch đó và cuối cùng mối quan hệ giữa một điểm trong thực
tế Mw và một điểm ảnh m có thể được diễn tả từ công thức sau:
Trang 25Hình 0.7: Quan hệ giữa tọa độ camera và tọa độ không gian
Có được mối quan hệ giữa các điểm ảnh và điểm ở ngoài thực tế đồng nghĩa với việc ta có thể tái tạo những điểm thực tế 3D dựa trên các ảnh thu được, tuy nhiên việc đầu tiên và quan trọng là ta phải tìm ra được các thông số của camera
Có 5 thông số nội và 12 thông số ngoại (9 thành phần của vector quay R và 3 thành phần của vector tịnh tiến t cần phải tìm Việc đi tìm các thông số này được gọi là quá trình calibrate camera Vì mỗi camera có ống kính, khác nhau, vị trí khác nhau nên không có một thông số chung cho tất cả các loại camera, ta phải tìm thông số nội cho từng camera một
2.3 Thuật toán RANSAC
RANSAC là thuật toán được đưa ra bởi Fischler và Bolles[9], là một phương pháp ước lượng tham số mô hình, là phương pháp được thiết kế nhằm giải quyết một tỉ lệ lớn các giá trị ngoại lai
Với những kỹ thuật thông thường người ta sử dụng càng những nhiều dữ liệu càng tốt để tạo thông số mô hình sau đó mới loại bỏ dần các điểm ngoại lai Ở đây RANSAC sử dụng tập mẫu nhỏ nhất có thể để tìm thông số mô hình mà các dữ liệu điều thỏa mô hình trong khoảng cho phép
Trang 2614
Thuật toán RANSAC:
1 Chọn ngẫu nhiên số lượng tối thiểu để xác định mô hình cần thiết
2 Giải tìm các thông số của mô hình
3 Xác định có bao nhiêu điểm trong tập dữ liệu thỏa mô hình trong khoảng cho phép (inlier)
4 Nếu tỉ số inlier trên tập dữ liệu nhỏ hơn ngưỡng τ thì lặp lại chọn dữ liệu khác tìm thông số của mô hình
5 Nếu không, lặp lại bước 1 đến 4 tối đa N lần
Vận dụng tìm đường thẳng ax + by + c = 0 bằng thuật toán RANSAC: Cho tập dữ liệu như Hình 2.8, tìm đường thẳng ac + by + c để có 90% số điểm có khoảng cách đến đường thẳng nhỏ hơn một khoảng k = 0.1
1 Chọn ngẫu nhiên 2 điểm (𝑥1, 𝑦1) và (𝑥2, 𝑦2)
2 Giải tìm các thông số a, b, c
3 Tính khoảng cách các điểm đến đường thẳng nếu nhỏ hơn 0.1 thì gọi là inlier
4 Tính tỉ số inlier trên tập dữ liệu nhỏ hơn nếu nhỏ hơn 90% thì lặp lại chọn (x1,y1)
và (𝑥2, 𝑦2) khác tìm lại thông số a, b, c
5 Nếu không, lặp lại bước 1 đến 4 tối đa N lần
Hình 0.8: Tập dữ liệu đường thẳng
Trang 2715
Mô hình đường thẳng được tìm bằng thuật toán RANSAC thể hiện ở Hình 2.9 như sau:
Hình 0.9: Tìm đường thẳng dùng thuật toán RANSAC
2.4 Định vị camera dựa trên điểm tương đồng
2.4.1 Hình học Epipolar và ma trận cơ bản
Hình học epipolar là phép biến đổi hình học giữa hai miền Nó độc lập với cấu trúc khung ảnh và chỉ phụ thuộc vào các thông số nội và vị trí tương đối của máy ảnh[10]
Cho một điểm X trong không gian 3D, x là điểm ảnh của X trong ảnh 1, x‟ là điểm ảnh X trong ảnh 2 Mối quan hệ giữa x và x‟ được thể hiện trong Hình 0 Các điểm x, x‟, X và tâm camera đồng phẳng Ký hiệu là mặt phẳng π Các tia Cx và C‟x‟ cắt nhau ở X và cùng thuộc mặt phẳng π Tia Cx khi được chụp trong ảnh 2 sẽ thành đường thẳng là l‟
Hình 0.10: Mô tả hình học Epipolar