6. Dự kiến kết quả (vi ết theo từng nội dung nghiên cứ u, dự kiến logíc và khoa học,
1.6.2. Tốn tử Prewitt
Tốn tử Prewitt là một tốn tử sử dụng đạo hàm bậc nhất hay gradient của mức xám để làm nổi trội đường biên. Gradient của các điểm ảnh được tính theo 2 hướng vuơng gĩc là hướng x và y. Do bức ảnh bị rời rạc hĩa nên phép lấy gradient sẽ trở
thành phép nhân tích chập với các ma trận của Prewitt (Hình 0.18).
Sau khi lấy được gradient của mức xám các điểm ảnh là Gx và Gy, chúng ta cĩ module của gradient tổng được tính bằng cơng thức (0-8) :
Do cơng thức (0-8) tương đối phức tạp, ta cĩ phép tính gần đúng (0-9)
a b
Hình 0.17: Đồng xu với hai màu khác nhau
a. Đồng xu màu bạc b. Đồng xu màu vàng a b Hình 0.18 : Tốn tử Prewitt a:Gradient trục x b:Gradient trục y (0-8) (0-9)
Bạch Ngọc Minh 31 Hình 0.19 : Ảnh kết quả của tốn tử Prewitt 1.6.3. Tốn tử Sobel a b Hình 0.20: Tốn tử Sobel a:Gradient trục x b:Gradient trục y
Tốn tử Sobel cũng được thiết lập gần giống với tốn tử Prewitt. Tuy nhiên, các trọng số của ma trận lấy gradient của tốn tử này khác các trọng số của tốn tử
Prewitt (Hình 0.20). Nhận xét thấy tốn tử Sobel coi trọng các điểm liên kết 4 hơn so với các điểm cịn lại trong liên kết 8.
1.7. Phát hiện mặt phẳng bằng biến đổi Hough
1.7.1. Biến đổi Hough
Hình 0.21 : Biến đổi Hough
Biến đổi Hough là một phép biến đổi từ tọa độ của một điểm đến một tập hợp các
điểm trong khơng gian Hough. Trong khơng gian 2 chiều, tập hợp điểm đầu ra của phép biến đổi là một đường cong trong mặt phẳng Hough (minh họa Hình ).
Bạch Ngọc Minh 32 Nếu hệ trục trong khơng gian
thực là x và y thì hệ trục trong khơng
gian Hough là và . Phép biến đổi Hough thể hiện qua phương trình (0-10). Dựa vào Hình 0.21 ta cũng thấy các điểm thuộc cùng một đường thẳng trong khơng gian thực sẽ tạo nên một giao điểm trong khơng gian Hough. Như vậy, phép tìm
đường thẳng thơng qua biến đổi Hough chuyển thành phép tìm điểm chung của các
đường cong. Dựa vào phương pháp lấy mẫu gĩc , ta cĩ thể tìm được giao điểm này.
1.7.2. Biến đổi Hough trong khơng gian 3D
Biến đổi Hough trong khơng gian 3D cũng gần tương tự như biến đổi Hough trong khơng gian 2 chiều. Nếu ở khơng gian thường, ta thêm trục tọa độ z thì trong khơng gian Hough sẽ cĩ thêm trục tọa độ . Thêm vào đĩ, các đường cong trong mặt phẳng Hough giờ trở thành các mặt cong trong khơng gian Hough.
(a) (b)
Hình 0.22: Biến đổi Hough trong khơng gian 3D
a. Các điểm thuộc mặt phẳng trong khơng gian thực
b. Các mặt cong tương ứng trong khơng gian Hough Phương trình của biến đổi Hough giờ trở thành phương trình (0-11):
Biến đổi Hough sẽ tạo nên một giao điểm duy nhất đối với các điểm đồng phẳng trong khơn gian thường.
(0-10)
Bạch Ngọc Minh 33
1.7.3. Phát hiện mặt phẳng bằng biến đổi Hough:
Sau đây là các bước để tiến hành lấy các mặt phẳng trong bản đồđộ sâu bằng biên đổi Hough:
Trước hết, ta xuất phát từ khơng gian tuyến tính với 3 trục tọa độ Descartes. Ta cĩ một tập hợp S điểm ởđây. Ta sẽ thực hiện một tập hợp N mặt phẳng giả thiết trong khơng gian. Mỗi mặt phẳng là một tập hợp của các giá trị , , và một giá trị tích lũy n. n là giá trịđại diện cho kích thước mặt phẳng. Gọi là dung sai của các mặt phẳng. Các giá trị của các mặt phẳng phải được chọn sao cho các mặt phẳng song song khơng đè lên nhau.
Lần lượt sử dụng các gĩc và trong tập hợp các mặt phẳng để tính giá trị của các điểm dựa theo phương trình (0-11). Khi này, mỗi một điểm sẽ phải thuộc một mặt phẳng nào đĩ trong các mặt phẳng trên. Mặt phẳng chứa gĩc hiện thời sẽ
cĩ giá trị cách giá trị của điểm tính được khơng quá khoảng dung sai . Sau khi xác định được một điểm thuộc mặt phẳng bất kỳ, giá trị tích lũy n của nĩ sẽ được tăng lên 1.
Sau khi tồn bộ các điểm đã được tính, các mặt phẳng cĩ giá trị tích lũy lớn hơn một ngưỡng cho trước được cho là mặt phẳng thật. Các mặt phẳng giả thiết khác được cho là nhiễu và bị loại bỏ.
Bên phải là đoạn mã giả thể hiện giải thuật lấy mặt phẳng bằng biến đổi Hough.
Giải thuật trên sẽ thay đổi một chút trong trường hợp điểm bắt đầu là một bản đồđộ sâu. Trước khi thực hiện giải thuật trên, ta cần thực hiện bước chuyển đổi tọa độđiểm từ bản đồđộ
sâu đến khơng gian thật theo mơ tảở phần 1.5.4
for (each point in point set S) do for (each plane in plane set N) do if (point plane) do
plane.n++ end if
end for end for
for (each plane in plane set N) do if (plane.n )
remove plane from plane set end if
Bạch Ngọc Minh 34
Chương 2 : NGHIÊN CỨU THUẬT TỐN BẢN ĐỒ
CHÊNH LỆCH
2.1. Giới thiệu
Như chúng ta đã giới thiệu trong phần 1.5.5 của chương 1, cĩ ba phương pháp cơ bản để so sánh sự tương hợp giữa hai ảnh là SAD, SSD và NCC. Phương pháp NCC sử dụng sự tương quan chéo giữa các điểm ảnh nên các phép tốn rất phức tạp. Chúng bao gồm phép tốn bình phương, tổng, tích các tổng, khai căn nên việc thực hiện chắc chắn rất tốn thời gian, khơng phù hợp với hệ thống RNV. Do đĩ chúng ta loại bỏ sự quan tâm tới phương pháp NCC. Cịn hai phương pháp SAD vad SSD cĩ độ phức tạp của thuật tốn khơng khác biệt quá lớn nên chúng ta cần làm một thực nghiệm để kiểm chứng chất lượng bản đồ độ sâu và tốc độ thực hiện. Từ đĩ chọn ra một phương pháp thích hợp hơn. Việc thực nghiệm sử dụng ảnh Tsukuba và ground truth của nĩ để tham chiếu với kết quả thu hoạch được.
Hình 0.1: Ảnh kiểm tra Tsukuba (trái) và groundtruth (bên phải)
a. Phương pháp SAD
Phương pháp này sử dụng một cửa sổ so sánh nhằm tìm ra những điểm giống nhau tại hai vùng của một bức ảnh hoặc tại các bức ảnh khác nhau. SAD sử dụng màu sắc để so sánh trực tiếp hai vùng ảnh. Tuy nhiên, màu sắc của một pixel duy nhất mang quá ít thơng tin để khẳng định tính tương đồng. Vì vậy phương pháp SAD so sánh một tập hợp điểm nằm xung quanh vị trí so sánh.
Bạch Ngọc Minh 35 Phương pháp SAD lấy sai số tuyệt đối của các giá trị trong hai tập hợp điểm với nhau cộng lại để đưa ra giá trị quyết định về tính tương đồng. Nếu hai điểm là tương đồng với nhau, phép so sánh giữa chúng sẽ cho kết quả nhỏ nhất trong tất cả
các phép so sánh. Vậy phương pháp SAD chuyển từ bài tốn tìm điểm tương đồng thành bài tốn tìm giá trị nhỏ nhất. Phép tốn tìm giá trị nhỏ nhất lại rất đơn giản. Chính vì vậy nên phương pháp SAD cũng rất đơn giản.
Hình 0.2: Bản đồđộ sâu của việc thực hiện SAD với kích thước cửa sổ của 5x5 (trái), 7x7 (giữa) và 11x11 (bên phải).
Độ phân giải Cửa sổ Thời gian (s) 384 x 288 5x5 66 384 x 288 7x7 83 384 x 288 11x11 108 192 x 144 5x5 8 192 x 144 7x7 10 192 x 144 11x11 13
Bảng 2.1 Kết quả thực hiện SAD theo thời gian
Các kết quả thực hiện thuật tốn SAD để tìm bản đồ độ sâu được thể hiện trong Hình . Cửa sổ càng lớn thì cho bản đồ độ sâu càng tốt hơn bởi phạm vị tìm kiếm được thực hiện trong một khu vực rộng hơn nên cho độ chính xác cao hơn. Nhưng cửa sổ lớn hơn làm cho thuật tốn chậm hơn, như thể hiện trong bảng 2.1. Ngồi ra, độ phân giải của ảnh gốc cũng quyết định đến tốc độ thực hiện giải thuật. Nếu giảm độ phân giải xuống 4 lần thì thời gian chạy giảm tới trên 8 lần. Do vậy tùy thuộc vào ứng dụng mà cĩ sự thỏa hiệp giữa thời gian chạy và chất lượng kết quả.
Bạch Ngọc Minh 36 b. Phương pháp SSD
Hình 0.3: Bản đồđộ sâu của việc thực hiện SSD với kích thước cửa sổ của 5x5 (trái), 7x7 (giữa) và 11x11 (bên phải)
Độ phân giải Cửa sổ Thời gian (s) 384 x 288 5x5 322 384 x 288 7x7 580 384 x 288 11x11 915 192 x 144 5x5 39 192 x 144 7x7 69 192 x 144 11x11 107 Bảng 2.2 Kết quả thực hiện SSD theo thời gian
So sánh thời gian chạy giữa hai giải thuật SAD và SSD (xem bảng 2.1 và 2.2) cho thấy việc lựa chọn các thuật tốn SAD là hợp lý hơn, bởi vì các thuật tốn SSD cần gần gấp đơi thời gian chạy.
Phương pháp SAD cĩ thể giải quyết vấn đềđối với việc tìm độ sâu trong ảnh 3D. Một điểm ở khơng gian lấy ảnh ở hai ống kính máy tại hai vị trí khác nhau. Chính vì thế
nên trước khi tìm được độ sâu của điểm ảnh, ta cần tìm được các điểm ảnh tương ứng đã. Phương pháp SAD là phương pháp đơn giản nhất để tìm được điểm ảnh đĩ.
2.2. Phương pháp SAD truyền thống
Nhưđã phân tích ở phần 2.1, phương pháp SAD là phương pháp để nhận diện rất thuận tiện. Song, bên cạnh ưu điểm của phương pháp này, nĩ cịn cĩ một số
Bạch Ngọc Minh 37 Cơng thức (0-1) thể hiện tốc độ của
thuật tốn này áp dụng vào việc tính Bản đồ
chênh lệch.
Trong cơng thức này, t là thời gian chạy chương trình, S là sốđiểm cần tính, W là kích thước cửa sổ tính tốn và L là khoảng cách yêu cầu tính tốn. Với cơng thức trên, giả sử cứ mỗi 1.5 triệu phép tính hàm chạy trong 1 giây, tấm ảnh xử lý với kích thước 640 480 pixel, kích thước cửa sổ là 5 5 pixel và khoảng cách
a b c d e f
Hình 0.4: Các kết quả tính SAD thơng thường
a. Ảnh trái gốc
b. Ảnh phải gốc
c. Bản đồ chênh lệch mong muốn
d. Bản đồ chênh lệch tính bằng phương pháp SAD với cửa sổ 5 5
e. Bản đồ chênh lệch tính bằng phương pháp SAD với cửa sổ 7 7
f.Bản đồ chênh lệch tính bằng phương pháp SAD với cửa sổ 11 11
thực hiện là 50 pixel. Khi đĩ, thời gian phép tốn là 25.6 giây. Đây là một khoảng thời gian lớn, hay nĩi cách khác là tốc độ tính tốn của phép tốn là khá chậm.
Mặc dù tốc độ tính tốn rất chậm, kết quả tính tốn lại khơng chính xác hồn tồn. Lỗi của phương pháp SAD rất thường xuyên xảy ra do nhầm lẫn trong quá
Bạch Ngọc Minh 38 trình tính tốn. Hình 0.4 thể hiện một số kết quả tính bản đồ sai lệch bằng phương pháp SAD với các cửa sổ 5 5, 7 7 và 11 11 thực hiện trên ảnh Teddy.
Nhận xét, ứng với các hình trên, lỗi cục bộ xảy ra nhiều ở những thuật tốn sử dụng cửa sổ so sánh nhỏ. Tuy nhiên, hình dáng của các vật thể trong thuật tốn lại được giữ gần nhất với hình dáng thực của nĩ. Sử dụng cửa sổ lớn hơn sẽ cho lỗi cục bộ ít hơn, nhưng hình dáng của các vật thể lại bị sai sĩt đáng kể so với thực tế. Hơn thế nữa, các lỗi lớn vẫn khơng thể giảm thiểu trong thuật tốn này.
Hình 0.5 : Tốc độ phép tốn SAD với các kích thước cửa sổ khác nhau
Hình thể hiện thời gian của thuật tốn đo dựa trên đầu vào là một tấm ảnh cĩ kích thước 450x375. Lõi CPU là chip ATOM tốc độ 1.5GHz. Như vậy, tốc độ của thuật tốn khá bé, khơng thích hợp cho một hệ thống xử lý trên robot, kể cả khi đã loại bỏ tất cả các lỗi.
Lỗi của phương pháp SAD là do đâu? Phương pháp SAD dựa trên sự so sánh
độ khác biệt giữa các cửa sổảnh. Theo như ý tưởng thuật tốn thì ảnh của các điểm
ở hai tấm ảnh là giống nhau nhất. Tuy nhiên, khi gĩc chiếu đã thay đổi thì các điểm khĩ cĩ thể giữ nguyên hình dạng ở cả hai bức ảnh. Như vậy, khả năng tồn tại những
điểm khác cũng giống điểm đưa ra so sánh là khơng thể tránh khỏi. Và nĩ đã thực sự xảy ra. Tất cả những điểm lỗi trên các bức ảnh xảy ra là do chương trình tính tốn đã cho thấy những cửa sổ khác giống cửa sổ so sánh hơn cả cửa sổ so sánh.
Bạch Ngọc Minh 39 Như vậy, kết quả tính tốn của thuật tốn này thực sự khơng hiệu quả cho hệ
thống dẫn đường chạy trên robot. Nếu thực sự triển khai một hệ thống như vậy trên robot cứu hộ thì sẽ phải tốn chi phí rất lớn về khả năng tính tốn mà chưa chắc đã hiệu quả. Vì vậy, phương pháp này cần phải được cải thiện để cĩ được kết quả tốt hơn và phù hợp hơn cho hệ thống thực.
2.3. Phương pháp SAD điều chỉnh
Sau khi phân tích những nhược điểm của phương pháp xác định bản đồ chênh lệch dựa trên phương pháp SAD truyền thống, tơi muốn đề xuất một phương pháp tốt hơn về chất lượng cũng như tốc độ.
Hình 0.6: Phương pháp SAD điều chỉnh
Hình 0.6 thể hiện các bước của phương pháp mới nhằm lấy được bản đồ chênh lệch. Những mục tiếp theo của chương 3 sẽ thể hiện rõ từng bước của phương pháp này và ý nghĩa của chúng.
2.3.1. Phương pháp SAD đối với đường biên
Là phương pháp dựa trên phương pháp SAD nhưng chỉ áp dụng với những
điểm thuộc đường biên. Với cách này, tơi kỳ vọng sẽ cĩ được kết quả chính xác hơn với tốc độ tính tốn cao hơn.
Giả sử cĩ một cách nào đĩ, tơi cĩ thể giảm sốđiểm trong tập hợp dữ liệu cần tính xuống cịn 20% so với ban đầu. Như vậy, tốc độ của thuật tốn cĩ thể sẽ tăng
Bạch Ngọc Minh 40 lên đến 5 lần hay thời gian tính tốn sẽ giảm xuống 5 lần. Thật vậy, theo phương trình (0-1), nếu S giảm đi 5 lần và các giá trị khác vẫn giữ nguyên, ta sẽ cĩ t giảm 5 lần. Như vậy, tơi sẽ tìm những điểm đáng tin cậy nhất để tính tốn bản đồ chênh lệch nhằm giảm lỗi và tăng tốc độ.
Những điểm được chọn là những điểm mang tính phân biệt cao, hay nĩi cách khác là khĩ bị nhầm lẫn với những điểm khác. Dựa trên các tính chất của đường biên đã được nêu tại mục 1.6.11.6.1, những điểm thuộc đường biên cĩ tính phân biệt rất cao. Như vậy, lựa chọn đường biên để tính tốn trong trường hợp này là một lựa chọn hợp lý. Khi chọn đường biên làm tập hợp dữ liệu để tính tốn, bước đầu ta cũng cĩ thể tránh được sự nhầm lẫn gây ra bởi các điểm lân cận, lỗi nhiều nhất trong những phép tốn trước.
Hình 0.7: Đường biên cũng là đường bao đối tượng
Đường biên cịn giúp tạo ra kết quả nội suy chính xác hơn về sau. Thật vậy, cũng theo tính chất của đường biên, nĩ là đặc trưng bất biến và cũng chứa các
đường bao của các đối tượng. Nếu cho rằng các đối tượng cĩ độ sâu như nhau ở
mọi điểm của nĩ. Như vậy, khi cĩ được tồn bộđường bao của đối tượng và độ sâu của tất cả các điểm trên nĩ, ta cĩ thể suy ra độ sâu của những điểm cịn lại.
Dưới những lý do trên, tơi chọn đường biên là những điểm sẽ được tính tốn
độ sâu trực tiếp. Hình 0.8 là một sự so sánh kết quả tính bản đồ chênh lệch dựa trên
đường biên là 20% bức ảnh, đường biên là 30% bức ảnh và tồn bộ bức ảnh. Với kết quảđã thể hiện trong Hình 0.8, chúng ta rút ra một số nhận xét:
Bạch Ngọc Minh 41
• Kết quả của thuật tốn chính xác hơn đối với những đường biên. Sốđường biên tính tốn càng nhỏ, độ chính xác càng cao.
• Khi sốđiểm làm đường biên được tính tốn nhỏđến một ngưỡng nào đĩ thì kích thước cửa sổ tính tốn khơng cịn ảnh hưởng đến kết quả tính tốn nữa. Với nhận xét thứ 2, ta hiển nhiên cĩ thể giảm kích thước cửa sổ lấy SAD đi mà vẫn kỳ vọng cĩ được kết quả cĩ độ chính xác cao.
Hình 0.8: Đánh giá kết quả của phương pháp SAD dựa trên đường biên 2.3.2. Phương pháp trích chọn đường biên màu
Phương pháp trích chọn đường biên màu là một phương pháp cải tiến hơn so với