Luận án Nghiên cứu và phát triển một số kỹ thuật định vị dựa trên hình ảnh, ứng dụng trợ giúp dẫn đường cho người khiếm thị - Nguyễn Quốc Hùng

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC vi

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii

DANH MỤC CÁC BẢNG ix

DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ xv

MỞ ĐẦU 1

1 TỔNG QUAN VỀ HỆ THỐNG TRỢ GIÚP NGƯỜI KHIẾM THỊ 4

1.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Các nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Các nghiên cứu trên thế giới . . . . . . . . . . . . . . . . . . . . 4

1.2.1.1 Siêu âm . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1.2 Hồng ngoại . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1.3 Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1.4 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1.5 Đa cảm biến . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.2 Các nghiên cứu trong nước . . . . . . . . . . . . . . . . . . . . . 10

1.2.3 Thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 Mục tiêu nghiên cứu và phương pháp đề xuất . . . . . . . . . . . . . . 12

1.3.1 Mục tiêu và phạm vi nghiên cứu . . . . . . . . . . . . . . . . . . 12

1.3.2 Phương pháp đề xuất . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4 Kết luận chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 BIỂU DIỄN MÔI TRƯỜNG VÀ ĐỊNH VỊ 14

2.1 Giới thiệu chung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Những nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.1 Hướng tiếp cận sử dụng bản đồ số liệu . . . . . . . . . . . . . . 15

2.2.2 Hướng tiếp cận sử dụng bản đồ topo . . . . . . . . . . . . . . . 17

2.2.3 Hướng tiếp cận lai . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2.4 Thảo luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

iii2.3 Đề xuất hướng tiếp cận lai ngữ nghĩa biểu diễn môi trường . . . . . . . 22

2.4 Phương pháp xây dựng bản đồ môi trường . . . . . . . . . . . . . . . . 23

2.4.1 Xây dựng bản đồ số liệu . . . . . . . . . . . . . . . . . . . . . . 23

2.4.1.1 Phương pháp đo hành trình bằng hình ảnh sử dụng mô

hình không chắc chắn . . . . . . . . . . . . . . . . . . 24

2.4.1.2 Thích nghi VO cho môi trường trong nhà . . . . . . . 27

2.4.2 Xây dựng bản đồ topo . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.2.1 Giải thuật FAB-MAP . . . . . . . . . . . . . . . . . . 30

2.4.2.2 Thích nghi và cải thiện FAB-MAP xây dựng bản đồ topo 39

2.4.3 Bổ sung thông tin đối tượng vật cản tĩnh trên bản đồ . . . . . . 44

2.5 Phương pháp định vị . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.6 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.6.1 Môi trường đánh giá . . . . . . . . . . . . . . . . . . . . . . . . 45

2.6.2 Thu thập dữ liệu đánh giá . . . . . . . . . . . . . . . . . . . . . 46

2.6.2.1 Hệ thống thu thập dữ liệu . . . . . . . . . . . . . . . . 46

2.6.2.2 Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . 47

2.6.3 Kết quả đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.6.3.1 Đánh giá phương pháp xây dựng bản đồ số liệu . . . . 48

2.6.3.2 Đánh giá phương pháp định vị hình ảnh . . . . . . . . 53

2.7 Kết luận chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3 PHÁT HIỆN VÀ ƯỚC LƯỢNG KHOẢNG CÁCH VẬT CẢN 60

3.1 Định nghĩa bài toán và các thách thức . . . . . . . . . . . . . . . . . . 60

3.2 Những nghiên cứu liên quan . . . . . . . . . . . . . . . . . . . . . . . . 61

3.2.1 Các phương pháp sử dụng 01 camera . . . . . . . . . . . . . . . 61

3.2.1.1 Hướng nghiên cứu sử dụng stereo camera . . . . . . . 62

3.2.1.2 Hướng nghiên cứu sử dụng cảm biến Kinect . . . . . . 64

3.2.1.3 Phân tích và đánh giá các phương pháp . . . . . . . . 65

3.3 Đề xuất phương pháp phát hiện và ước lượng khoảng cách . . . . . . . 66

3.4 Phát hiện vật cản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.4.1 Phát hiện vật cản cố định . . . . . . . . . . . . . . . . . . . . . 67

3.4.1.1 Đối sánh các điểm đặc trưng . . . . . . . . . . . . . . 68

3.4.1.2 Phát hiện vật cản từ kết quả đối sánh . . . . . . . . . 71

3.4.1.3 Xác định vùng chứa đối tượng . . . . . . . . . . . . . . 74

3.4.2 Phát hiện vật cản động . . . . . . . . . . . . . . . . . . . . . . . 75

3.4.2.1 Trích chọn đặc trưng HoG . . . . . . . . . . . . . . . . 75

3.4.2.2 Bộ phân loại SVM . . . . . . . . . . . . . . . . . . . . 76

3.5 Uớc lượng khoảng cách vật cản . . . . . . . . . . . . . . . . . . . . . . 77

3.5.1 Nguyên lý ước lượng khoảng cách . . . . . . . . . . . . . . . . . 77

iv3.5.2 Xây dựng bản đồ chênh lệch . . . . . . . . . . . . . . . . . . . . 79

3.5.2.1 Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . 80

3.5.2.2 Hiệu chỉnh hình ảnh . . . . . . . . . . . . . . . . . . . 80

3.5.2.3 Đối sánh hình ảnh . . . . . . . . . . . . . . . . . . . . 84

3.5.2.4 Tính toán độ sâu . . . . . . . . . . . . . . . . . . . . . 86

3.6 Kết quả đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

3.6.1 Xây dựng cơ sở dữ liệu vật cản . . . . . . . . . . . . . . . . . . 88

3.6.2 Đánh giá giải thuật phát hiện đối tượng . . . . . . . . . . . . . 90

3.6.3 Đánh giá giải thuật ước lượng khoảng cách vật cản . . . . . . . 93

3.7 Kết luận chương 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4 PHÁT TRIỂN VÀ THỬ NGHIỆM HỆ THỐNG DẪN ĐƯỜNG 99

4.1 Hệ thống tích hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.1.1 Tích hợp phần cứng . . . . . . . . . . . . . . . . . . . . . . . . 99

4.1.2 Kiến trúc tổng thể . . . . . . . . . . . . . . . . . . . . . . . . . 101

4.2 Phát triển hệ thống dẫn đường sử dụng robot . . . . . . . . . . . . . . 102

4.2.1 Tìm đường cho robot . . . . . . . . . . . . . . . . . . . . . . . . 102

4.2.2 Điều khiển robot . . . . . . . . . . . . . . . . . . . . . . . . . . 103

4.2.2.1 Điều khiển trực tiếp dựa trên đường đi xác định . . . . 103

4.2.2.2 Điều khiển theo dự báo và hiệu chỉnh vị trí của bộ lọc

Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.2.3 Tương tác người-robot . . . . . . . . . . . . . . . . . . . . . . . 111

4.3 Thử nghiệm và đánh giá hệ thống dẫn đường . . . . . . . . . . . . . . 112

4.3.1 Môi trường và quy trình thử nghiệm . . . . . . . . . . . . . . . 112

4.3.1.1 Môi trường thử nghiệm . . . . . . . . . . . . . . . . . 112

4.3.1.2 Quy trình thử nghiệm . . . . . . . . . . . . . . . . . . 115

4.3.2 Kết quả thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . 116

4.3.2.1 Đánh giá khả năng xác định vị trí xuất phát của robot 116

4.3.2.2 Đánh giá khả năng điều khiển robot . . . . . . . . . . 117

4.3.2.3 Đánh giá khả năng tương tác người-robot . . . . . . . 119

4.3.2.4 Đánh giá hệ thống dẫn đường trợ giúp NKT bằng robot 121

4.3.3 Bàn luận hệ thống robot dẫn đường . . . . . . . . . . . . . . . . 130

4.4 Kết luận chương 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 133

TÀI LIỆU THAM KHẢO 136

DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 148

PHỤ LỤC 151

vA MỘT SỐ PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG 151

A.1 Đặc trưng Harris Corner . . . . . . . . . . . . . . . . . . . . . . . . . . 151

A.2 Đặc trưng SIFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

A.3 Đặc trưng SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

A.4 Đặc trưng GIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

A.5 Đặc trưng HoG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

A.6 Đặc trưng Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

B ĐÁNH GIÁ HIỆU NĂNG NHẬN DẠNG TRÊN MỘT SỐ CSDL 173

B.1 Giới thiệu 3 CSDL thử nghiệm . . . . . . . . . . . . . . . . . . . . . . 173

B.2 Khung nhận dạng đối tượng tổng quát . . . . . . . . . . . . . . . . . . 177

B.3 Độ đo đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

B.4 Kết quả đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

C THIẾT KẾ HỆ THỐNG THU THẬP DỮ LIỆU 188

C.1 Xe camera thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . 188

C.2 Hiệu chỉnh camera góc rộng . . . . . . . . . . . . . . . . . . . . . . . . 191

C.3 Robot PC-Bot914 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

pdf212 trang | Chia sẻ: trungkhoi17 | Lượt xem: 481 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án Nghiên cứu và phát triển một số kỹ thuật định vị dựa trên hình ảnh, ứng dụng trợ giúp dẫn đường cho người khiếm thị - Nguyễn Quốc Hùng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
quả đối sánh các điểm đặc trưng phát hiện − Loại bỏ cặp điểm sai sử dụng ngưỡng: Mỗi cặp điểm được gọi là kết nối yếu (matching) nếu như khoảng cách Euclid giữa chúng nhỏ hơn hai lần khoảng cách nhỏ nhất trong số tất cả các cặp điểm hoặc lớn hơn một ngưỡng cố định Tdist = 0.2. Hình 3.7 minh họa kết quả đạt được sau khi loại bỏ các cặp kết nối yếu. 70 a) Quan saùt hieän taïi (AÛnh I x ) b) Aûnh trong CSDL (I xy ) Hình 3.7 Kết quả loại bỏ một số cặp điểm đối sánh (matching) yếu 3.4.1.2 Phát hiện vật cản từ kết quả đối sánh − Xác định cặp điểm tương ứng của vật cản trên hai ảnh liên tiếp: Ảnh I∗k đã có thông tin về vật cản trong ảnh (được xác định bởi bao đóng chữ nhật). Chúng tôi thực hiện khoanh vùng các điểm đặc trưng nằm trong vùng chứa vật cản trong ảnh I∗k . Sau đó tìm điểm tương ứng của chúng trên ảnh Ik. − Tính ma trận chuyển tọa độ H: Mục đích của việc này nhằm tính toán tọa độ đối tượng trong quan sát hiện thời Ik dựa vào các cặp điểm đặc trưng. Cụ thể là với các cặp điểm tương đồng (pkm, pk∗n), thực hiện ước lượng ma trận chuyển đổi H dựa vào ràng buộc: pk∗n = H · pkm (3.1) Trong đó pkm =  xkmykm 1  ; pk∗n =  xk∗n · wyk∗n · w w  ; H =  h11 h12 h13h21 h22 h23 h31 h32 h33   hij là hệ số của ma trận H , (xkm , ykm) và (xk∗n , yk∗n) là tọa độ cặp điểm tương đồng trong không gian ảnh, w 6= 0 là thành phần thứ 3 trong hệ tọa độ đồng nhất của pk∗n . Do ma trận H có 8 bậc tự do, mỗi cặp điểm cho ta 2 phương trình ràng buộc nên để giải được ma trận H ta cần ít nhất 4 cặp điểm tương đồng [60]. Tuy nhiên, trong thực tế nếu chọn chính xác 4 cặp điểm để xây dựng ma trận H thì có thể gây ra sai số rất lớn nếu như có một cặp đối sánh sai. Điều này hay xảy ra do trong môi trường tòa nhà có nhiều các vị trí mà tại đó các điểm đặc trưng có độ tương đồng lớn. Vì vậy, một kỹ thuật phổ biến và thường hay được sử dụng để khắc phục trường hợp này khi xây dựng ma trận H đó là kỹ thuật RANSAC (RANdom SAmple Consensus) [48]. 71 Ý tưởng chính của RANSAC đưa vào để tìm ra 4 điểm ngẫu nhiên xây dựng được ma trận chuyển H thông qua quá trình lặp nhiều vòng, sau đó tất cả các điểm đặc trưng trong ảnh mẫu I∗k sẽ được nhân với H để tìm ra cặp tọa độ tương ứng của ảnh Ik. Nếu hai điểm nằm sát nhau có khoảng cách < Tdist thì coi đó là đúng (nằm trong/inlier), ngược lại sai (nằm ngoài/ outlier). Quá trình này sẽ lặp đi lặp lại cho đến khi hàm tin cậy lớn nhất hoặc số lần lặp đạt tới giới hạn, tìm ra 4 cặp điểm tương ứng xây dựng nên một đa giác, bằng phương pháp hình học chuẩn hóa về dạng hình chữ nhật bao lấy vùng chứa đối tượng được minh họa ở lưu đồ dưới đây: Bắt đầu Sai Kết thúc Đúng isStop=false kp1, kp2 Khởi tạo isStop=false; Mat H; iterationCount=0; Cập nhật ma trận H dựa trên kp1, kp2 Tính P P> threshold Đúng isStop=trueisStop=false Sai Hình 3.8 Lưu đồ giải thuật tính ma trận H 72 Giải thuật 2: Tính ma trận chuyển H Function findHomography(Keypoint* kptemplate, Keypoint* kpImage) isStop=false; iterationCount=0 Mat H 1 While ! isStop 2 Keypoint ∗ kp1=Random(kpTemplate,4); 3 Keypoint ∗ kp2=Random(kpImage,4); 4 Keypoint* kp2H; 5 H=calculateHomography(kp1,kp2); 6 For i:=0 ֌ kp1.size; 7 kp2H[i]=kp1[i]∗H; 8 End; 9 inlierCount=0; 10 For i:=0 ֌ kp2.size; 11 if distance(kp2H[i],kp2[i])< Tdist; 12 inlierCount++; 13 end; 14 End; 15 P:= getProbability(inlierCount, kptemplate.size()); 16 if P> threshold or iterationCount> maxIteration; 17 isStop=true; 18 end; 19 End; 20 return H; Kết quả tính ma trận H được cài đặt dưới giải thuật 2, trong đó Hàm getProb- ability() trả về kết quả là số cặp điểm đặc trưng và ma trận H . Nếu ma trận H trả về giá trị NULL có nghĩa là vùng đang xét không khớp với mẫu đối tượng. Nếu ma trận H nếu khác NULL, tức là vùng đang xét khớp với đối tượng. H sẽ được sử dụng để tính lại 4 góc của đối tượng trên ảnh Ik của quan sát hiện thời. 73 3.4.1.3 Xác định vùng chứa đối tượng Mục đích của việc này là xác định vị trí của đối tượng trên ảnh Ik của quan sát hiện tại. Từ 4 góc của vật cản trên ảnh Ik, xác định 4 góc vật cản trên ảnh I∗k thông qua ma trận H vừa tính ở trên. Giải thuật 3: Xác định vùng chứa đối tượng Function FindObjectLocation(Rect object.rect, Mat H) Rect r=object.rect; Point ptl=Point(r.x,r.y)∗H //Góc trên bên trái (top-left) Point ptr=Point(r.x+r.width,r.y)∗H //Góc trên bên phải (top-right) Point pbr=Point(r.x+r.width,r.y+r.height)∗H //Góc dưới bên phải (bottom-right) Point pbl=Point(r.x,r.y+r.height)∗H //Góc dưới bên trái (bottom-left) Rect r2= findBoundingbox(ptl,ptr,pbr,pbl) Return r2; Kết quả xác định vật cản cố định được minh họa ở Hình 3.9, trong đó tâm của đối tượng được xác định ở sử dụng kỹ thuật đối sánh ảnh (FLANN matching) xác định đối tượng trong ảnh hiện thời. b) Quan saùt hieän taïi (AÛnh I z )a) Aûnh trong CSDL (I z{ ) Hình 3.9 Minh họa kết quả xác định vùng chứa đối tượng Hình 3.9(a) ảnh I∗k chứa đối tượng với các điểm đặc trưng trích chọn và vùng chữ nhật khoanh đối tượng từ trước. Hình 3.9(b) là ảnh Ik với các điểm đặc trưng tương ứng. Kết quả hình chữ nhật màu đỏ, khoanh vùng đối tượng chuẩn hóa bao lấy đối tượng và sử dụng kỹ thuật biến đổi hình học để chuẩn hóa về đa giác màu xanh. 74 3.4.2 Phát hiện vật cản động Đối với vật cản động, chúng tôi đề xuất phát hiện người (di chuyển với tốc độ trung bình với vận tốc v=1.4m/s [18]) là đối tượng hay gặp trong các tình huống thử nghiệm tại các môi trường thực tế. Đây là chủ đề thu hút được nhiều nghiên cứu trong thời gian gần đây [120] nhằm nâng cao hiệu năng nhận dạng phải kể đến một số phương pháp: HoG-SVM của Hongming Zhang 2006 [140] đạt 96%; HoG-AdaBoost của Makoto Arie 2011 [2] đạt 96%; Haarlike-SVM của A. Mohan 2001 [93] đạt 78%; Geometric features- AdaBoost của K. Mikolajczyk 2004 [92] đạt 87%; PCA-SVM của Thomas Deselaers 2005 [33] đạt 59%. Căn cứ vào kết quả đánh giá, chúng tôi lựa chọn phương pháp sử dụng kết hợp HoG-SVM [30] [26] cho trong bài toán phát hiện người bởi tính phổ dụng và tính hiệu quả của nó trong nhiều ứng dụng. Phần dưới đây chúng tôi phân tích kỹ hơn về phương pháp này. Ảnh huấn luyện Ảnh nhận dạng Tiền xử lý Trích chọn đặc trưng HoG Tính toán Gradient Tính HoG trên các Cell Chuẩn hóa Block Nhận dạng Huấn luyện Huấn luyện Mô hình Kết quả Bộ phân loại SVM bc1 bc2 bc3 bc4 Hình 3.10 Sơ đồ các bước phát hiện người sử dụng HoG-SVM Hình 3.10 các bước tính toán phát hiện người sử dụng kết hợp HoG-SVM, trong đó mũi tên nét đứt là quá trình học, mũi tên nét liền là quá trình nhận dạng. Ảnh đầu vào dùng cho huấn luyện và nhận dạng trước khi được tính Gradient, cần phải đưa về kích thước chuẩn. Ngoài ra, để tránh gây khó khăn cho việc nhân dạng đối tượng sau, các ảnh cần phải được chuẩn hóa màu, chuẩn hóa gamma (bước tiền xử lý) của giải thuật. 3.4.2.1 Trích chọn đặc trưng HoG Đặc trưng HoG [30] biểu diễn sự phân bố theo hướng của các vector Gradient. HoG được tính bằng cách chia ảnh thành các vùng không gian nhỏ hơn gọi là cell. Mỗi cell tích lũy histogram 1 chiều cục bộ của hướng gradient hoặc định hướng biên trên 75 các điểm ảnh của các cell. Các cell nằm cạnh nhau được gộp lại thành một khối gọi là block. Các block có thể chồng lấp lên nhau với mục đích tăng cường mối quan hệ trong không gian giữa các điểm ảnh. Các histogram của khối được kết hợp với nhau tạo thành vector đặc trưng. Phương pháp tổng quan để tính toán đặc trưng HoG trên một cửa sổ bất kỳ được thực hiện như sau: + Phân chia cửa sổ (window) cần tính HoG thành nhiều khối (block). Mỗi khối gồm nhiều ô (cell), các ô phải có kích thước và có số lượng ô trong mỗi khối bằng nhau. + Các khối được đặt chồng lên nhau, khoảng cách giữa hai khối con liên tiếp nhau là một hằng số. Theo Navneet Dalal [30] thì các bước trích chọn đặc trưng HoG thực hiện qua 3 bước: (1) Tính toán Gradient; (2) Tính giá trị HoG trên các Cell; (3) Chuẩn hóa Block. Chi tiết các kỹ thuật này có trong PHỤ LUC A.5 của luận án. 3.4.2.2 Bộ phân loại SVM Ảnh sau khi trích chọn đặc trưng sẽ được đưa vào bộ huấn luyện SVM để đưa ra được mô hình huấn luyện. Bộ phân lớp nhị phân (người/không người) sẽ được học từ các tập ảnh cho trước và sử dụng trong quá trình phát hiện với khung hình hiện tại. Gọi S là một tập gồm có l mẫu học: S = {(x1, y1), (x2, y2), (x3, y3)...(xl, yl)} ⊆ (X × Y ) l (3.2) Với một vector đầu vào n chiều xi ∈ Rn thuộc lớp I hoặc lớp II (tương ứng nhãn yi = 1 đối với lớp I và yi = −1 đối với lớp II). Đối với các dữ liệu phân chia tuyến tính, chúng ta có thể xác định được siêu phẳng f(x) chia tập dữ liệu thành hai lớp I và II. Cụ thể, nếu f(x) ≥ 0 kết luận x thuộc lớp (+) và f(x) < 0 kết luận x thuộc lớp (-). f(x) = wx+ b = n∑ j=1 wjxj + b (3.3) yif(xi) = yj(wxi + b) ≥ 0, i = 1..l (3.4) Trong đó w là vector pháp tuyến n chiều và b là giá trị ngưỡng. 76 3.5 Uớc lượng khoảng cách vật cản 3.5.1 Nguyên lý ước lượng khoảng cách Mục đích của việc dự đoán khoảng cách là tái tạo lại không gian 3 chiều (3D), mô phỏng lại hệ thống thị giác của con người thông qua việc lấy đồng thời ảnh từ hai camera cùng quan sát một khung cảnh từ các góc nhìn khác nhau. Bằng phép biến đổi hình học sẽ tính toán được khoảng chênh lệch giữa hai quan sát trên ảnh để từ đó ước lượng ra khoảng cách trên thực địa, được minh họa Hình 3.11. 0ϕ 2ϕ D RSLS 1B 2B f B ϕ x 0 0 ϕ 1 Hình 3.11 Mô hình ước lượng khoảng cách vật cản từ hai quan sát Trong đó: + SL và SR hai camera được đặt đồng trục trên cùng một mặt phẳng. + B khoảng cách nối tâm hai camera; B1 khoảng cách từ tâm chiếu đối tượng tới camera thứ nhất, B2 khoảng cách đối camera thứ hai. + ϕ0 góc quan sát đối tượng từ 02 camera, ϕ1 và ϕ2 là góc giữa trục quang học của camera và các đối tượng quan sát. + f tiêu cự ống kính hai camera; x0 khoảng cách vùng quan sát của camera. Xuất phát từ khoảng cách đường nối tâm camera B được xác định từ hai thành phần B1 và B2 ta có: B = B1 +B2 = D tan(ϕ1) +D tan(ϕ2) (3.5) 77 Do vậy khoảng cách ước lượng từ camera đến đối tượng tính bằng công thức sau: D = B tan(ϕ1) + tan(ϕ2) (3.6) Để xác định khoảng cách này, chúng ta sẽ phân tích hình ảnh của đối tượng (cây) được quan sát được ở hoành độ trên ảnh x1 từ camera thứ nhất và hoành độ trên ảnh x2 từ camera thứ hai. ϕ D 1x 0 2 x LS 0 2 x 2x− D RS ϕ 0 ϕ ϕ 0 1 2 (a). Goùc thöù nhaát quan saùt ñoái töôïng (b). Goùc thöù hai quan saùt ñoái töôïng (c). Buø loãi khoaûng caùch cho 1 ñieåm aûnh ϕ∆ 0 D∆ ϕ B D Hình 3.12 Hình ảnh của đối tượng (cây) quan sát từ hai góc thu nhận Áp dụng nguyên lý đồng dạng trong hình học như mô tả trong Hình 3.12(a-b) ta có: x1( x0 2 ) = tan(ϕ1) tan ( ϕ0 2 ) (3.7) −x2( x0 2 ) = tan(ϕ2) tan ( ϕ0 2 ) (3.8) Thay giá trị tan(ϕ1), tan(ϕ2) trong công thức (3.7) và công thức (3.8) vào công thức (3.6), khoảng cách D được tính toán như sau: D = Bx0 2 tan ( ϕ0 2 ) (x1 − x2) (3.9) Với x0 là chiều rộng của ảnh, (x1−x2) là chênh lệch (Disparity) về vị trí của đối tượng quan sát trên camera thứ nhất và thứ hai cùng tính theo từng điểm ảnh (pixels). 78 Tuy nhiên, theo [89], [95], [137] đã chứng minh được khoảng cách D sẽ tỷ lệ nghịch với hiệu (x1 − x2) vì vậy để bù lỗi cho góc quan sát ϕ0 thì ϕ0 tương ứng với mỗi điểm ảnh sẽ được cộng thêm một đại lượng ∆ϕ. Tiếp tục áp dụng nguyên lý đồng dạng trong hình học như trong Hình 3.12(c) ta có: tan(ϕ0) tan(ϕ0 −∆ϕ) = ∆D +D D (3.10) Sử dụng tính đồng nhất của lượng giác cơ bản khoảng cách lỗi được tính như sau: ∆D = D2 B tan(∆ϕ) (3.11) Như vậy, khoảng cách dự đoán D trong công thức (3.9) biến đổi thành: D = Bx0 2 tan(ϕ0 2 +∆ϕ)(x1 − x2) (3.12) Từ đây công thức (3.12) đưa về biểu diễn về dạng hàm mũ như sau: D = k ∗ xd (3.13) Trong đó: + k là hằng số được tính như sau: k = Bx0 2 tan(ϕ0 2 +∆ϕ) (3.14) + x = (x1 − x2), d là hằng số xác định giá trị độ chênh lệch (Disparity) giữa các điểm ảnh từ hai quan sát và được tính toán trên bản đồ chênh lệch khi hai camera quan sát đối tượng tại các góc khác nhau. 3.5.2 Xây dựng bản đồ chênh lệch Như vậy để xác định độ sâu của đối tượng (khoảng cách từ đối tượng tới camera), bản đồ chênh lệch giữa các điểm ảnh trên hai quan sát phải được tính toán. Một số lượng lớn các thuật toán đã được đề xuất để giải quyết vấn đề này như trong [28] [17] [121] [110] [142] nhằm cải thiện độ chính xác dự đoán khoảng cách. Trong ngữ cảnh của luận án chỉ sử dụng 01 camera, chúng tôi đi theo hướng tiếp cận xác định bản đồ 79 chênh lệch sử dụng 01 camera với các bước cơ bản như sau (Hình 3.13): bc bcbcbc Ảnh đầu vào Hiệu chỉnh Ảnh Ik−1 Bộ tham số hiệu chuẩn Các mẫu hiệu chỉnh Mô hình hiệu chuẩn (Mẫu ô bàn cờ) Đối sánh Độ sâu Tính toán độ sâu 1 2 3 4 Ảnh Ik Bản đồ chênh lệch Camera Ảnh Ik Ảnh Ik−1 Thực hiện trước khi thu thập dữ liệu Hình 3.13 Sơ đồ các bước tính bản đồ chênh lệch và ước lượng khoảng cách 1. Thu thập dữ liệu. 2. Hiệu chỉnh hình ảnh. 3. Đối sánh hình ảnh. 4. Tính toán độ sâu. Phần dưới đây trình bày chi tiết các bước xây dựng bản đồ chênh lệch 3.5.2.1 Thu thập dữ liệu Thông thường việc thu nhận hình ảnh tiến hành từ hệ thống camera kép (camera stereo) hoặc nhiều camera [28], [111], [119] với các góc quan sát đối tượng khác nhau nhằm hướng tới thu nhận được các hình ảnh tốt nhất. Xuất phát từ ý tưởng từ hai camera cùng quan sát đối tượng, chúng tôi quy định và thiết lập như sau: (i) quan sát hiện tại Ik; (ii) quan sát trước một khoảng thời gian Ik−t, với t là một khoảng thời gian xác định trước đủ để phân biệt hai khung cảnh Ik và Ik−t, mô tả như Hình 3.14. 3.5.2.2 Hiệu chỉnh hình ảnh Mục đích của việc hiệu chỉnh ảnh là rất cần thiết để giảm độ phức tạp tính toán điểm ảnh tương ứng hai quan sát, quá trình này gồm có hai bước: (i) tính toán các tham số trong và ngoài của camera; (ii) hiệu chỉnh hình ảnh thu nhận sử dụng các biến đổi tuyến tính xoay, dịch và nghiêng hình ảnh sao cho đường epipolar của hình ảnh liên kết theo chiều ngang. 80 Aûnh I | Aûnh I |}~ Quan saùt L |}~ €‚ƒ „ƒ…† ‡„ƒ…ˆ‰Ł Quan saùt L | ‹ ‡„ƒ…ˆ‰Ł L Œ L  L Ž Hình 3.14 Minh họa hai quan sát khi camera chuyển động Việc tính toán tham số trong của camera được thực hiện ở pha ngoại tuyến theo một số công cụ đã có sẵn (xem chi tiết trong PHỤ LỤC C.2 của luận án), ở phần này chúng tôi trình bày cách xác định đường epipolar giữa hai quan sát và biến đổi chúng theo liên kết ngang. − Tìm đường epipolar trên từng ảnh: các tham số của camera được định nghĩa như sau + Gọi OF và OT là tâm chiếu của hai camera, ∏ F và ∏ T là cặp mặt phẳng ảnh tương ứng. + Điểm P trong thế giới thực có một phép chiếu mặt phẳng ảnh ∏ F là điểm PF và mặt phẳng ảnh ∏ T là điểm PT . + Điểm eT gọi là điểm epipole được định nghĩa là ảnh của tâm chiếu OF lên mặt phẳng ảnh ∏ T ; eF là ảnh của tâm chiếu OT lên mặt phẳng ảnh ∏ F . + Đường epipolar lF và lT là đường nối giữa hai điểm eTPT và eFPF nằm trong hai mặt phẳng ảnh. Chúng tôi thực hiện tìm các đường epipolar trên hai quan sát khi camera chuyển động, kết quả cho thấy các đường epipolar tìm được cắt nhau qua điểm epipole e và e′ khi chiếu lên mặt phẳng nằm ngang thì e ≡ e′ minh họa tại Hình 3.15. − Hiệu chỉnh liên kết ngang của các epipolar: là quá trình chiếu hình ảnh trên cùng một mặt phẳng sao cho các đường epipolar của hai điểm phản chiếu là song song theo chiều ngang và liên kết dọc theo mặt phẳng hình ảnh mới để có thể so sánh giữa hai cặp hình ảnh minh họa Hình 3.16. Đây là quá trình đi tìm phép biến đổi H của hai ma trận: Ma trận tổng quát E (Essential) hoàn toàn về hình học cơ sở mang tính chất thông tin về vật lý; ma trận căn bản F (Fundamental) liên quan các điểm ảnh trên mặt phẳng ảnh tính theo tọa độ các điểm ảnh. + Tính toán ma trận tổng quát E (Essential matrix): xác định mối quan hệ 81 xy z 0 e’ e e’ e a) Moâ hình camera chuyeån ñoäng b) Tìm caùc ñöôøng epipolar treân hai quan saùt Hình 3.15 Kết quả tìm đường eplipolar trên mô hình camera chuyển động b bc bc P PFPT OFOT bc eT ⊕⊕ bc eF Hình 3.16 Minh họa hiệu chỉnh hình ảnh trên cùng mặt phẳng ngang 82 giữa điểm P và hai điểm PF và PT từ phép chiếu lên hai mặt phẳng ảnh∏ F và ∏ T bởi công thức sau: PF = R(PT − T ) (3.15) Trong đó mặt phẳng ảnh ∏ F chứa các vector PT và T , do đó nếu chọn một vector (PT × T ) vuông góc với cả hai thì một phương trình cho tất cả các điểm PT đi qua T và chứa cả hai vector được xác đinh như sau: (PT − T ) T (T × PT ) = 0 (3.16) Thay (PT − T ) = R−1PF và RT = R−1 vào công thức (3.16) ta có (RTPF ) T (T × PT ) = 0 (3.17) Khi thực hiện phép nhân ma trận thì luôn tồn tại một đường chéo của ma trận kết quả S nhận giá trị 0: T × PT = SPT ⇒ S =   0 −Tz TyTz 0 −Tx −Ty Tx 0   (3.18) Các công thức trên được viết lại như sau: P TF EPT = 0 (3.19) Khi đó E = RS định nghĩa là mà trận tổng quát. + Tính toán ma trận cơ bản F (Fundamental matrix): GọiMT và MF là tham số trong của camera OT và OF , PT và PF là tọa độ của PT và PF . PT = MTPT PF = MFPF (3.20) Áp dụng công thức (3.19) để triển khai với ma trận F, ta có: PF T FPT = 0 (3.21) Khi đó F = (M−1F )TEM −1 T = (M −1 F ) TRSM−1T là định nghĩa ma trận cơ bản. Chúng tôi áp dụng kỹ thuật của Pollefeys [110] để hiệu chỉnh hai ảnh thu nhận từ hai quan sát trước và sau khi camera chuyển động. Hình 3.17(a) minh họa phương pháp chuyển đổi hình ảnh từ tọa độ đề các thông thường 83 aaaaa aaaaa aaaaa aaaaa aaaaa aaaaa aaaaa aaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa (a). Toïa ñoä cöïc treân aûnh (löôïng töû hoùa: 4 möùc theo r, 10 möùc theo )j (b). AÛnh ñaõ chuyeån ñoåi 2 quan saùt sang toïa ñoä cöïc 1 2 34 5 6 7 8 9 10 1 2 3 4 1 2 3 4 5 6 7 8 9 10 1 1 2 3 4 1 2 3 4 Quan saùt tröôùc Quan saùt sau r r Hình 3.17 Kết quả hiệu chỉnh hình ảnh về tọa độ cầu sao cho hai điểm epiolar e và e′ trùng nhau. Hình 3.17(b) xoay hai hình ảnh về tọa độ cực sao cho các đường epiolar song song với nhau. 3.5.2.3 Đối sánh hình ảnh Mục đích là tính toán giá trị chênh lệch của một điểm vật lý trên hai ảnh IT và IF . Chúng tôi sử dụng phương pháp tổng sự khác biệt tuyệt đối SAD [70] [42]: SAD(x, y, d) = ∑ x,y∈W |IT (x, y)− IF (x, y − d)| (3.22) Trong đó: IT và IF là hai ảnh đưa vào tính toán; (x, y) tọa độ điểm ảnh; W là cửa sổ quét có kích thước (3× 3), (5× 5), (7× 7); phạm vi chênh lệch d < 120. Kết quả của hàm SAD cho biết tổng sự khác biệt của các khối dữ liệu dò tìm trên ảnh thứ hai khi đưa vào tính toán Hình 3.19 mô tả quá trình tính toán trượt cửa sổ để tìm ra khối dữ liệu phù hợp, giá trị lớn nhất trong biểu đồ quyết định vị trí đối sánh chính xác. 84 (x  ,y) (x  ,y) u u’ Hình 3.18 Dò tìm khối dữ liệu trên hai ảnh được hiệu chỉnh ‘’“” •–— ˜™š’ ›“”œ ui’ ž’Ÿ ¡ “¢œ Hình 3.19 Kết quả đối sánh ảnh sử dụng giải thuật SAD 85 3.5.2.4 Tính toán độ sâu Mục đích của việc này là tìm ra độ sâu của các điểm ảnh trên bản đồ chênh lệch (Disparity map) dựa vào phép đổi hình học để tính toán khoảng cách giữa các điểm ảnh tương ứng trên đường epipoline. Theo [110] [142] các tham số được định nghĩa như sau: − Gọi e và e′ là hai mặt phẳng điểm ảnh của hai quan sát đưa vào. − d là độ sâu của điểm ảnh, f tiêu cự của ống kính. − a và b là khoảng cách điểm epipolar so với mặt phẳng chiếu e và e′, Z và B khoảng cách giữa hai ống kính. − X là độ chênh khoảng cách giữa hai điểm epiolar. bc bc bc bc b bc bc bc bc d e’ d dd b e bc bc bc bc (a) Dự đoán khoảng cách từ hai quan sát (b) Tính toán độ sâu ảnh trong không gian 3D bc bc f bX bc d a Z B f Hình 3.20 Minh họa phương pháp tính bản độ chênh lệch Hình 3.20(a) mô tả việc dự đoán khoảng cách từ quan sát e tịnh tiến đến quan sát e′. Các điểm nằm trên đường epipole sẽ dự đoán chính xác khoảng cách d trong tọa độ thế giới thực. Hình 3.20(b) mô tả chi tiết cách tính toán khoảng cách từ hai quan sát đến vật thể, xuất phát từ cặp tam giác đồng dạng tính như sau: b X = Z Z +B − f ⇒ b = ZX X +B − f (3.23) a b = f B − f ⇒ a = fb B − f (3.24) 86 Thay b từ công thức (3.23) vào biểu thức a trong công thức (3.24) ta có: a = fXZ (Z +B − f)(B − f) (3.25) Và cuối cùng trong tập tam giác tương tự, khoảng cách độ sâu d được tính như sau: d+ a Z = f Z ⇒ d = fX x − a (3.26) d = fX Z − fZX (Z +B − f)(B − f) ⇒ d = X f(Z +B − f)(B − f)− fZ2 Z(Z +B − f)(B − f) (3.27) Sau khi tính được độ sâu d của các điểm ảnh trên bản đồ chênh lệch, thay giá trị này vào công thức (3.13) để xác định khoảng cách vật lý của các điểm ảnh. Kết quả khoảng cách dự đoán trên vùng phát hiện là trung bình khoảng cách các điểm ảnh nằm trong vùng xác định, minh họa hình dưới đây. (b). Phaùt hieän ngöôøi (HoG-SVM) (a). Phaùt hieän vaät caûn coá ñònh (KetPoint Matching) Hình 3.21 Kết quả phát hiện & ước lượng khoảng cách vật cản trên ảnh độ sâu 87 3.6 Kết quả đánh giá 3.6.1 Xây dựng cơ sở dữ liệu vật cản Từ kết quả đánh giá hiệu năng nhận dạng trên các lớp đối tượng thuộc CSDL lớn trong và ngoài nước như: Naiscorp 2012, PascalVoc2007 và RobotVision2013 (PHỤ LỤC C). Đồng thời tiến hành khảo sát tại 03 môi trường (Trường THCS Nguyễn Đình Chiểu; Thư viện Tạ Quang Bửu, Viện nghiên cứu quốc tế MICA - Trường Đại học Bách khoa Hà Nội), chúng tôi xây dựng CSDL vật cản bao gồm 04 đối tượng: − Vật cản tĩnh: 00. Chậu hoa, 01. Bình cứu hỏa, 02. Thùng rác. − Vật cản động : 03. Người. - Thu thập cơ sở dữ liệu: Chúng tôi tiến hành thu thập đồng thời 02 luồng dữ liệu hình ảnh vào 3 thời điểm khác nhau (sáng, trưa, tối): (i) luồng dữ liệu khung cảnh phục vụ đánh giá phát hiện đối tượng, (ii) luồng dữ liệu đường đi phục vụ việc đánh giá ước lượng khoảng cách. Bảng 3.1 trình bày kết quả thu nhận dữ liệu đánh giá. Trong mỗi lần thực hiện thu dữ liệu 3 lần tương ứng với tốc độ di chuyển của robot (Hình 3.22). Bảng 3.1 Kết quả thu nhận dữ liệu khung cảnh/đường đi phục vụ đánh giá ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ ❵ Thời gian Vận tốc Số khung hình (frames) v = 100mm/s v = 200mm/s v = 300mm/s Sáng (L1) 481 256 175 Trưa (L2) 426 243 164 Chiều tối (L3) 431 251 170 Tổng số 1338 750 509 (a) Hình aûnh khung caûnh (b) Hình aûnh ñöôøng ñi Hình 3.22 Minh họa hình ảnh thu nhận dữ liệu tại khung hình 289 88 - Chuẩn bị dữ liệu đánh giá hiệu năng của giải thuật phát hiện đối tượng: Trên luồng dữ liệu khung cảnh, chúng tôi khoanh vùng các vật cản đã định nghĩa ở trên và lưu vào CSDL biểu diễn môi trường. Quá trình này được thực hiện bằng tay như minh họa trong Hình 3.23. (x=341; y=143) (x £ =423; y £ =330) (x=206; y=226) (x £ =310; y £ =351) (x £ =609; y £ =448) (x=557; y=333) (a) Khoanh vuøng ñoái töôïng (b) Toïa ñoä caùc ñoái töôïng Hình 3.23 Minh họa chuẩn bị dữ liệu đánh giá phát hiện đối tượng - Chuẩn bị dữ liệu đánh giá độ chính xác của giải thuật ước lượng khoảng cách:. Trên luồng dữ liệu đường đi, chúng tôi tiến hành đo và đánh dấu khoảng cách vị trí vật cản có trong môi trường. Khoảng cách của đối tượng so với gốc tọa độ được xác định như minh họa trong Hình 3.24. 0,0 03: Thuøng raùc 00: Chaäu hoa 5,96 01: Bình cöùu hoûa 7.40 31.04 x(m) y(m) Robot (b) Ño khoaûng caùch Ngöôøi(a) Ño khoaûng caùch Vaät caûn 0,0 9,85 04: Ngöôøi 17.67 x(m) y(m) Robot 1,25 0,0 y(m) x(m) (c) Baûn ñoà moâi tröôøng vaø goùc quan saùt vaät caûn 1,25 2.52.5 Khoaûng caùch thöû nghieäm 32m Döõ lieäu maët ñöôøng Döõ lieäu khung caûnh Thu thaäp döõ lieäu Hình 3.24 Minh họa phương pháp đo khoảng cách vị trí vật cản trên thực địa 89 Kết quả thu nhận và đo thực địa được trình bày trong Bảng 3.2. Bảng 3.2 Thu thập dữ liệu đánh giá phát hiện và ước lượng khoảng cách vật cản Mã Tên lớp Khoảng cách từ vậtcản đến trục x Dải di chuyển của robot theo trục y Số lượng ảnhBắt đầu (m) Kết thúc (m) 00 Chậu hoa 5.96 0.00 2.22 95 01 Bình cứu hỏa 6.55 0.18 3.93 116 02 Thùng rác 31.04 27.00 31.04 147 03 Người 17.67 9.85 13.96 119 3.6.2 Đánh giá giải thuật phát hiện đối tượng - Độ đo đánh giá : Để đánh giá việc phát hiện đối tượng chúng tôi sử dụng các độ đo sau: + Độ triệu hồi (Recall) và Độ chính xác (Precision) được định nghĩa trong công thức (2.25) và công thức (2.26) để đánh giá hiệu năng phát hiện vật cản. Một phát hiện được coi là đúng nếu hệ số Jaccard Index (JI) lớn hơn 0.5. Hệ số này được tính bởi tỷ lệ giữa vùng giao trên vùng hợp của hình chữ nhật phát hiện được bằng giải thuật Bp và vùng chữ nhật chứa đối tượng được xác định bằng tay Bgt [44]. JI = area(Bp ∩Bgt) area(Bp ∪Bgt) (3.28) ˆ Thời gian phát hiện: là tổng thời gian thực hiện của giải thuật với đầu vào là một ảnh và đầu ra là danh sách các đối tượng được phát hiện trên hình. Thuật toán phát hiện đối tượng được cài đặt lên Robot PCBOT914 cấu hình (CHIP Intel(R) Core(TM)2 T7200@ 2.00 GHz x 2, RAM 8GB), kích thước trung bình của ảnh 600× 400 pixels, tốc độ lấy mẫu 1 ms/ ảnh. - Kết qu

Các file đính kèm theo tài liệu này:

  • pdfluan_an_nghien_cuu_va_phat_trien_mot_so_ky_thuat_dinh_vi_dua.pdf
Tài liệu liên quan