Hình 1.1: Mô hình máy quét 3D Mô hình chiếu vạch laser trong đó vật mẫu được chiếu bởi vạch laser màu, sau đó các điểm ảnh của laser, sự biến dạng của đường laser trong ảnh được đưa vào
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
_o0o _
NGUYỄN TRÌNH NAM LONG
ĐỀ TÀI
NGHIÊN CỨU THIẾT KẾ
VÀ THI CÔNG MÁY QUÉT
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : TS NGUYỄN ĐỨC THÀNH
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày……… tháng ………năm 2014 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1
2
3
4
5
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA…………
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYỄN TRÌNH NAM LONG MSHV: 11150091
Ngày, tháng, năm sinh: 09/10/1978 Nơi sinh: QUẢNG TRỊ Chuyên ngành: TỰ ĐỘNG HÓA Mã số:
I TÊN ĐỀ TÀI:
NGHIÊN CỨU THIẾT KẾ
VÀ THI CÔNG MÁY QUÉT LASER 3D ( 3D LASER SCANNER)
II NHIỆM VỤ VÀ NỘI DUNG:
Tìm hiểu và nghiên cứu các phương pháp lọc, tính toán điểm laser trong ảnh theo
pixel từ vạch laser ban đầu
Tìm hiểu và nghiên cứu phương pháp chuẩn định (calibration) phù hợp để tìm ra
các thông số nội và ngoại của camera
Tìm hiểu và nghiên cứu phương pháp tính tọa độ point cloud theo nguyên lý tam giác lượng (Triangulation) dựa vào vạch laser dùng thư viện OpenCV
Kết hợp với thư viện PCL (Point Cloud Library) để lọc, xử lí các point cloud, các phương pháp đăng kí, căn chỉnh point cloud( point cloud registration) để hình thành point cloud vật mẫu hoàn chỉnh từ các bề mặt point cloud được quét riêng
rẽ, cuối cùng hình thành bề mặt vật mẫu
Tiến hành thi công mô hình, so sánh, đánh giá kết quả đạt được
III NGÀY GIAO NHIỆM VỤ : 19/08/2013
IV NGÀY HOÀN THÀNH NHIỆM VỤ : 20/06/2014
Trang 4LỜI CẢM ƠN
Đầu tiên, tôi xin chân thành cảm ơn TS NGUYỄN ĐỨC THÀNH đã tận tình hướng dẫn và gợi mở cho tôi những vấn đề gặp phải trong suốt quá trình làm luận văn Ngoài ra, chính sự tận tâm và nhiệt huyết trong quá trình giảng dạy cũng như hướng dẫn của Thầy đã giúp tôi quyết tâm hoàn thành luận văn này
Trong sự biết ơn muôn vàn không thể diễn tả hết bằng lời, tôi xin gửi tặng thành quả này cho gia đình tôi Chính gia đình là nền tảng và động lực cho tôi trong suốt quá trình học tập và tiếp cận tri thức
Đồng thời, tôi cũng gửi lời tri ân sâu sắc đến toàn thể giàng viên cùng cán
bộ bộ môn điều khiển tự động đã truyền đạt kiến thức giúp tôi hoàn thiện bản thân
Sau hết, tôi xin cảm ơn các bạn học viên cao học Tự Động Hóa khóa 2010
và 2011 đã đồng hành , động viên , giúp đỡ cho tôi trong suốt quá trình học
TPHCM, ngày tháng năm 2014
Tác giả : Nguyễn Trình Nam Long
Trang 5và mô hình hổn hợp-tịnh tiến và xoay, với từng mô hình đề nghị là những kết quả đáng quan tâm
Trang 6ABSTRACT
The thesis presents the calibration method applied to determine the position parameters
of camera Calibration Methods Applied to propose an algorithm to compute the 3D coordinates of point cloud from pixel’s position in image coordinate system which based
on the triangulation principle The thesis also proposed three basic models of 3D laser scanner and follow up 3D calculation algorithm: the model with laser plane online calibration, model with offline laser plane calibration: rotation model and mixture model-translation and rotation, with each model are the reality result which a lot of attractive issues
Trang 7MỤC LỤC
TỔNG QUAN VỀ ĐỀ TÀI 8
1.1 Đặt vấn đề 8
1.2 Các công trình nghiên cứu liên quan 9
1.2.1 Tình hình nghiên cứu và ứng dụng máy quét 3D trên thế giới 9
1.2.2 Tình hình nghiên cứu, ứng dụng máy quét 3D ở Việt Nam 13
1.3 Phạm vi nghiên cứu 13
1.4 Tóm lược nội dung luận văn 14
CƠ SỞ LÝ THUYẾT LIÊN QUAN QUÉT 3D DÙNG NGUYÊN LÝ TAM GIÁC LƯỢNG VỚI VẠCH LASER 16
2.1 Mô hình camera và chuẩn định camera (camera calibration) 16
2.1.1 Mô hình Pinhole 16
2.1.2 Chuẩn định camera 18
2.2 Các phương pháp lọc ảnh 31
2.2.1 Lọc trung vị ( median filter) 31
2.2.2 Phân ngưỡng (threshold) 31
2.2.3 Bộ lọc Gaussian 34
2.2.4 Tính toán tọa độ pixel của vạch laser dùng phương pháp trọng tâm 34
2.3 Nguyên lý tam giác lượng dùng vạch laser 35
2.4 Kết luận 39
THIẾT KẾ CÁC MÔ HÌNH MÁY QUÉT 3D 40
3.1 Mô hình máy quét dùng phương pháp calib online 40
3.1.1 Mô tả cấu tạo phần cứng, tổng quan phần mềm 40
3.1.2 Hiệu chuẩn thông số nội camera 41
3.1.3 Lọc và đưa bề dày đường laser trên 2 vách tường và vật mẫu về 1 pixel 46
3.1.4 Xác định mặt phẳng laser online từ hai mặt phẳng tham chiếu ( vách tường) 49
3.1.5 Tính toán tọa độ 3D của các điểm laser trên vật mẫu 54
3.1.6 Qui đổi giữa hệ tọa độ camera và hệ tọa độ world 55
3.2 Mô hình máy quét 3D dùng phương pháp calib offline 56
3.2.1 Mô tả phần cứng 56
3.2.2 Thuật toán quét cho mô hình chỉ có dạng xoay 57
3.2.3 Thuật toán quét cho mô hình dạng hổn hợp tịnh tiến và xoay 63
Trang 8KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 68
5.1 Kết quả quả quét mô hình dùng phương pháp calib online 68
5.2 Kết quả quét 3D của mô hình dạng xoay 72
5.3 Kết quả quét 3D của mô hình hổn hợp tịnh tiến và xoay. 85
5.4 Kết luận và hướng phát triển 90
5.4.1 Đánh giá kết quả 90
5.4.2 Hướng phát triển 91
TÀI LIỆU THAM KHẢO 93
LÝ LỊCH TRÍCH NGANG 95
PHỤ LỤC 96
Trang 9Hình 1.1: Mô hình máy quét 3D
Mô hình chiếu vạch laser trong đó vật mẫu được chiếu bởi vạch laser màu, sau
đó các điểm ảnh của laser, sự biến dạng của đường laser trong ảnh được đưa vào tính toán để tái cấu trúc lại bề mặt vật mẩu trong không gian ba chiều Do chi phí của laser tương đối thấp so với máy chiếu, hơn nữa tuy ở Việt Nam có nhiều đề tài nghiên cứu máy quét 3D nhưng vẫn chưa có được thuật toán tổng quát cho các dạng mô hình (mô hình tịnh tiến, xoay quanh trục, hổn hợp, một laser, hai laser…)
Trang 10Nên học viên đã quyết định chọn mô hình quét 3D sử dụng laser vạch làm đối tượng nghiên cứu để tìm ra thuật toán tổng quát Sau đó sẽ áp dụng và thi công mô hình thật để đánh giá Mục tiêu là kết quả sau khi quét có độ chính xác trong khoảng (0.1 – 0.5mm), có xuất ra file định dạng STL (Dạng gia công CAD-CAM)
1.2 Các công trình nghiên cứu liên quan
1.2.1 Tình hình nghiên cứu và ứng dụng máy quét 3D trên thế giới
Hiện nay, máy quét 3D được dùng rộng rãi trong nhiều lĩnh vực khác nhau như:
Trong cơ khí để đo đạc, kiểm tra sản phẩm được chế tạo
Trong y khoa dùng để tái tạo mô hình bộ phận cơ thể người
Trong khảo cổ, xây dựng để đo đạc thiết kế các công trình xây dựng
Trong điện ảnh giúp xây dựng các mô hình 3D các nhân vật
Ứng dụng trong công nghiệp sản xuất sản phẩm giày dép và nhiều ngành
sản xuất khác
Trong từng lĩnh vực, máy quét 3D có những yêu cầu khách nhau về độ chính xác, phương pháp thu thập dữ liệu,…
1.2.1.1 Máy quét 3D dùng trong công nghiệp
Các máy quét 3D trong công nghiệp được sử dụng cho mục đích chính là lấy dữ liệu CAD 3D của vật thể Có ba kiểu máy quét chính: kiểu máy quét 3D có đầu quét 3D được gắn lên một cơ cấu máy chuyển động hay một cánh tay đo hoặc kiểu máy quét 3D cầm tay
Trong hình 2 là máy quét laser Metris 3D của hãng Nikon[4] Trong thiết bị này, một đầu quét 3D được gắn lên một khung máy chuyển động Đầu quét 3D sẽ phát
ra chùm tia laser chiếu lên bề mặt vật thể cần quét, sau đó camera thu nhận dữ liệu
bề mặt quét
Trang 11Hình 2: Máy quét laser Metris 3D của hãng Nikon
Một số thiết bị quét 3D sử dụng đầu quét 3D gắn trực tiếp lên một cánh tay đo
Dữ liệu được thu thập từ vị trí tương đối của đầu quét so với vị trí gốc và dữ liệu thu được khi quét Hình 3 là máy quét 3D MCAX dùng cánh tay đo của hãng Nikon
Hình 3: Máy quét 3D dùng cánh tay đo của hãng Nikon
Một số hãng phát triển các máy quét 3D cầm tay có khả năng quét các sản phẩm kích thước lớn Hình 4 là thiết bị quét cầm tay của hãng Zcorp, với khả năng linh hoạt của thiết bị, chúng có thể thu thập dữ liệu của các bề mặt tự do phức tạp của những vật thể có kích thước lớn
Trang 12Hình 4: Máy quét 3D cầm tay của hãng Z Scanner [5]
Các sản phẩm của máy quét 3D trong công nghiệp có thể kể đến như: điện thoại, chi tiết cơ khí, bộ phận xe hơi…
Hình 5: Một số sản phẩm ứng dụng máy quét 3D trong thiết kế
1.2.1.2 Máy quét 3D dùng trong y tế
Trong lĩnh vực Y tế, ngoài các thiết bị chụp 3D MRI (Magnetic resonance imaging) dùng từ trường, các máy quét 3D được sử dụng chủ yếu là để tái tạo lại các mô hình 3D của bộ phận cơ thể, từ đó có thể tái tạo lại bộ phận bị khiếm khuyết Trong hình 6 là máy quét 3D được sử dụng trong lĩnh vực y tế khi quét mẫu hàm răng
Trang 13Hình 6: Máy quét 3D Rexcan của hãng SOLUTIONIX [6]
1.2.1.3 Máy quét 3D dùng trong xây dựng, khảo cổ
Trong lĩnh vực khảo cổ và xây dựng, các máy quét 3D sử dụng để mô hình hóa các mô hình khảo cổ như các chi tiết khảo cổ và các công trình kiến trúc Trong xây dựng, máy quét 3D được sử dụng để mô hình hóa mô hình địa hình, các tòa nhà,
Hình 7: Máy quét 3D của hãng Leica dùng trong công nghiệp [7]
1.2.1.4 Máy quét 3D trong ngành giày dép
Trong lĩnh vực giày dép, máy quét 3D được sử dụng chủ yếu trong lĩnh vực tạo hình các phom giày, ghi nhận dữ liệu kích thước bàn chân của khách hàng
Trong ngành công nghiệp giày dép, các thiết bị quét 3D được sử dụng trong các ứng dụng như:
Thiết kế ngược, dựng lại mẫu 3D của phom giày
Quét lấy dữ liệu kích thước chân khách hàng
Trang 14 Quét biên dạng chi tiết giày, cung cấp dữ liệu cho quá trình tự động hóa ngành giày dép
Một số hãng cung cấp máy quét 3D cho ngành giày dép như Frontier, Scanny 3D…
1.2.2 Tình hình nghiên cứu, ứng dụng máy quét 3D ở Việt Nam
Tại Việt Nam, việc ứng dụng máy quét 3D trong ngành sản xuất chưa được chú trọng Hiện tại có một số nhà cung cấp thiết bị và dịch vụ quét 3D nhưng ứng dụng vẫn còn hạn chế Hầu hết các thiết bị quét 3D đều được nhập từ nước ngoài với giá thành và chi phí cao
Một số nhà cung cấp dịch vụ quét 3D trên thị trường hiện nay như: Trung tâm dịch vụ công nghệ 3D ở Hà Nội; Công Ty TNHH TM-DV Công nghệ kỹ thuật Vi Cam ở Hồ Chí Minh [11], Các doanh nghiệp này trang bị các thiết bị quét 3D của các hãng như Scanny 3D, Nikon… để quét mẫu 3D phục vụ chủ yếu lĩnh vực thiết
kế ngược, khuôn mẫu Hình 8 là một số sản phẩm quét của công ty Vi - Cam
Hình 8: Mô hình sản phẩm mũ bảo hiểm và thìa được quét
1.3 Phạm vi nghiên cứu
Như đã nói ở trên, có nhiều phương pháp tiếp cận đề tài: ánh sáng có cấu trúc từ máy chiếu, ánh sáng được mã hóa, Time of flight, phương pháp giao thoa Moir’e v.v…Máy quét 3D sử dụng laser đươc sử dụng phổ biến trong nhiều ứng dụng đo
bề mặt không tiếp xúc và khôi phục bề mặt 3D Với ưu điểm: không tiếp xúc vật mẫu, thiết kế đơn giản, độ chính xác cao, tốc độ nhanh, phương pháp tam giác lượng dùng laser vạch trở thành phương pháp tốt nhất trong ứng dụng quét 3D Quét 3D dùng phương pháp tam giác lượng với laser được sử dụng rộng rãi trong kiểm tra chất lượng bề mặt, đo lường bề mặt, mô hình 3D và reverse engineering
Trang 15Thiết kế máy quét 3D dựa vào tam giác lượng dùng vạch laser gặp nhiều thách thức trong việc thiết kế định tuyến quang học, tính điểm laser, và hệ thống hiệu chuẩn Hơn nữa, các vấn đề như sự phản xạ của tia laser trên bề mặt vật mẫu, nhiễu đốm trong phát hiện điểm laser làm ảnh hưởng đến độ chính xác của kết quả
Các mục tiêu chính của đề tài bao gồm:
- Tìm hiểu và nghiên cứu các phương pháp lọc, tính toán điểm laser trong ảnh
theo pixel từ vạch laser ban đầu
- Tìm hiểu và nghiên cứu phương pháp chuẩn định (calibration) phù hợp để tìm
ra các thông số nội và ngoại của camera
- Tìm hiểu và nghiên cứu phương pháp tính tọa độ point cloud theo nguyên lý tam giác lượng (Triangulation) dựa vào vạch laser dùng thư viện OpenCV
- Kết hợp với thư viện PCL (Point Cloud Library) để lọc, xử lí các point cloud, các phương pháp đăng kí, căn chỉnh point cloud( point cloud registration) để hình thành point cloud vật mẫu hoàn chỉnh từ các bề mặt point cloud được quét riêng rẽ, cuối cùng hình thành bề mặt vật mẫu
- Tiến hành thi công mô hình, so sánh, đánh giá kết quả đạt được
Trên cơ sở kết quả thu được từ mô hình thực nghiệm máy quét 3D dựa trên nguyên lý tam giác lượng dùng vạch laser (Laser triangulation-based 3D scanner), học viên sẽ tiến hành phân tích ưu khuyết điểm của các phương pháp áp dụng để đưa ra phương pháp cải tiến nhằm đạt được kết quả tốt hơn
1.4 Tóm lược nội dung luận văn
Luận văn gồm 4 chương với cấu trúc như sau:
Chương 1:
Giới thiệu tổng quan về hệ thống quét 3D và các công trình nghiên cứu liên quan, phân tích các ưu khuyết điểm của các phương pháp ứng dụng quét 3D Từ đó chọn ra phương pháp ứng dụng quét 3D được cho là tốt nhất đó là quét 3D dùng phương pháp quét laser vạch để tiến hành nghiên cứu và phát triển, sau đó sẽ áp dụng vào thiết kế và thi công mô hình thực tế để kiểm chứng
Trang 16Chương 2:
Trình bày chi tiết lý thuyết của bộ quét 3D dùng laser vạch Giới thiệu mô hình
lý tưởng của camera, mô hình pinhole, từ đó mô tả phương pháp hiệu chuẩn (chuẩn định) camera dùng pattern bàn cờ để tìm ra các ma trận thông số nội, thông
số ngoại của camera Luận văn đồng thời giới thiệu các hệ số méo dạng đối với camera thực tế gồm hệ số méo xuyên tâm và méo tiếp tuyến Trong luận văn này, ta chưa xét đến các hệ số méo dạng này và sẽ xem xét chúng tương lai sau này Ngoài
ra, luận văn còn giới thiệu các phương pháp lọc ảnh sẽ được áp dụng trong mô hình thiết kế, các phép toán liên quan như các qui chiếu qua lại giữa 2 hệ tọa độ bằng phép xoay và phép dịch chuyển ( phép tịnh tiến), phép chiếu đồng nhất, phép biến đổi Rodrigues…Cơ sở lý thuyết quan trọng xương sống của viêc thiết kế máy quét 3D dùng vạch laser trong đề tài là nguyên lý tam giác lượng, nguyên lý này mô tả mối quan hệ giữa tọa độ 3D trong hệ tọa độ vật lý thực tế và tọa độ điểm ảnh trong
hệ tọa độ ảnh của camera khi đã biết các thông nội và ngoại của camera
Chương 3:
Học viên bắt tay vào thiết kế các mô hình quét 3D: bắt đầu là mô hình áp dụng phương pháp hiệu chuẩn online, các thông số, phương trình mặt phẳng laser được xác định trong khi quét vật mẫu, trong khi hai mô hình tiếp theo, ta phải xác định mặt phẳng laser trước khi quét lấy tọa độ 3D Mô hình 2 chỉ dùng cách xoay vật mẫu quanh trục, mô hình 3 là mô hình hỗn hợp, nó kết hợp tịnh tiến và xoay
Chương 4:
Tổng hợp các kết quả đạt được đối với từng mô hình So sánh đánh giá các kết quả này.Rút ra bước hướng nghiên cứu phát triển trong tương lai
Trang 17Về 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), mô
hình như sau:
Hình 9: Cấu trúc mô hình pinhole
Một đặc điểm rất cơ bản của mô hình này là tất cả 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 sẽ là thẳng hàng với C và , có
Trang 18nghĩa m, C, M là nằm trên một đường thẳng Điểm C còn được gọi là tâm quang
(Optical center), đường thằn cC vuông góc với I và F được gọi là trục quang (Optical axis), c được gọi là điểm chính (Principal point)
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ó thể thấy rằng rõ ràng:
x/X = y/Y = f/Z (1)
Từ góc độ hình học mà nói, sẽ không có sự khác biệt gì khi thay mặt phẳng I bằng một mặt phẳng ảo nằm ở phía bên kia 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)
Hình 10: Mô hình pinhole tương đương
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à (1) ta có:
Trên thực tế, do chất lượng chế tạo camera, điểm chính c không nằm trên trục quang, cũng như các pixel trên các camera giá rẻ này thực sự là hình chữ nhật hơn
là hình vuông nên tiêu cự theo phương x và y không còn giống nhau nữa:
, (3)
Trang 19Với: cx, cy là tọa độ trục quang trong mặt phẳng ảnh
fx , fy là tiêu cự camera theo trục x,y có đơn vị là pixel:
F: là tiêu cự vật lý thực tế của thấu kính camera, đơn vị là mm
sx: số điểm ảnh trên một mm theo phương x, đơn vị là pixel/mm
sy: số điểm ảnh trên một mm theo phương y, đơn vị là pixel/mm
Thực tế, khi chuẩn định camera, ta không thể tính được trực tiếp F, sx, sy mà chỉ tính được fx, fy thôi
Ta biểu diễn (3) dưới dạng ma trận trong trục tọa độ đồng nhất (homogeneous
2.1.2.a Sự méo dạng của thấu kính camera (lens distortion)
Theo lý thuyết, thấu kính của camera không bị méo dạng Nhưng trong thực tế, không có thấu kính nào là hoàn hảo cả, nguyên nhân là do khi lắp ráp trong sản xuất thì vẫn có một sai lệch nào đó Thường có hai loại méo dạng chính: méo dạng
xuyên tâm (Radial distortions) và méo dạng tiếp tuyến (tangential distortions)
Thấu kính của camera thực tế thường méo đáng kể ở những vị trí pixel ở ngoài rìa ảnh Hiện tượng này gọi là méo xuyên tâm Hình 11-3 trực quan tại sao méo xuyên tâm xảy ra Với một số thấu kính, ánh sáng càng xa tâm thấu kính, càng bị cong nhiều hơn gần tâm thấu kính Với một số thấu kính giá rẻ, hiện tượng càng thấy rõ khi điểm ảnh càng xa tâm Thường méo xuyên tâm là 0 khi ở tâm ảnh và tăng lên khi càng di chuyển ra rìa ảnh Thực tế, méo xuyên tâm khá nhỏ và có thể biểu diển bằng một vài bậc đầu tiên của chuỗi Taylor xung quanh điểm r=0 Đối với webcam giá rẻ, ta lấy hai bậc đầu tiên, bậc thứ nhất đặt làm k1, bậc thứ hai đặt
Trang 20là k2 Đối với thấu kính bị méo nhiều ví dụ như thấu kính mắt cá (fish-eye) thì ta có
thể lấy tới bật thứ 3 (và đặt là k3)
Hình 11: Méo xuyên tâm-tia càng xa tâm ảnh thì bị công nhiều hơn tia gần tâm; vì
vậy, hình vuông bị cong khi được chụp lên mặt phẳng ảnh
Vị trí méo của điểm ảnh có thể được chỉnh lại theo công thức sau:
Hình 4 cho thấy chuyển vị của lưới hình chử nhật do biến dạng xuyên tâm Càng ra xa điểm lưới xê dịch càng lớn khi đường kính từ tâm quang tăng
Hình 12: Biểu diển chuyển vị của lưới chữ nhật
do ảnh hưởng của biến dạng xuyên tâm
Trang 21Thành phần méo ảnh hưởng thứ hai là méo tiếp tuyến.Thành phần méo này phát sinh là do thấu kính không được dán song song chính xác với mặt phẳng ảnh Xem hình:
Hình 13: Biến dạng ảnh do méo tiếp tuyến
Méo tiếp tuyến được tối giản hóa bởi hai thông số, p1 và p2, như sau:
Vì vậy tổng cộng có 5 hệ số méo dạng mà ta phải tìm Bởi vì cả 5 hệ số này cần thiết trong hầu hết các hàm OpenCV, chúng thường gộp thành một vector gọi là vector hệ số méo dạng; đây là ma trận 5 hàng 1 cột mà các phần tử theo thứ tự:
k1,k2,p1,p2 và k3 Hình dưới cho thấy ảnh hưởng của méo tiếp tuyến với lưới các điểm hình chữ nhật các điểm này có bố trí dạng hình eclipse như là hàm của vị trí
và bán kính
Có nhiều méo dạng xảy ra trong hệ thống ảnh, nhưng chúng thường ít ảnh hưởng hơn méo xuyên tâm và méo tiếp tuyến Vì vậy chúng ta chỉ để ý với hai loại méo này
Trang 22và di chuyển vật mẩu theo nhiều vị trí và hướng
Ma trận xoay và vector dịch chuyển
Với mỗi ảnh mà camera chụp vật mẫu, ta có thể mô tả hướng (pose) của vật mẩu trong hệ trục tọa độ của camera theo vector xoay và vector vị trí như hình:
Hình 14: Chuyển đổi từ hệ tọa độ vật mẫu sang hệ tọa độ camera: điểm P trong hệ tọa độ vật mẫu được chụp thành điểm p trong hệ tọa độ ảnh; mối tương quan này được biểu diển bằng ma trận xoay R và vector dịch chuyển (tịnh tiến) t
Tổng quát, xoay một số hướng nào đó được biểu diển bằng tích của vector tọa
độ bởi ma trận vuông cùng kích thước Cuối cùng, xoay một vòng tương đương với việc mô tả vị trí của điểm trong hệ tọa độ mới Xoay gốc tọa độ một góc θ tương ứng với việc quay điểm mẩu ngược lại quanh gốc tọa độ của trục đó cùng một gốc
θ Biểu diển phép xoay hai chiều bằng phép nhân ma trận như hình:
Trang 23Hình 15: Xoay điểm bởi góc θ (trong trường hợp này là chung quanh trục Z)
tương đương việc xoaytrục tọa độ theo chiều ngược lại góc θ
Phép quay ba chiều có thể biểu diển bằng tích của các phép quay hai chiều quanh mỗi trục Nếu ta quay quanh trục x-,y-, và z- tuần tự theo các góc ψ,φ và θ,kết quả là ma trận quay tổng cộng R bằng tích của ba ma trận Rx(ψ), Ry(φ), và ma trận Rz(θ), với:
Vì vậy, R=Rz(θ)Ry(φ)Rz(ψ) Ma trận xoay R có tính chất là ma trận nghịch đảo
là ma trận chuyển vị; từ đó chúng ta có: RTR=RRT=I, với I là ma trận đơn vị
Vector dịch chuyển là cách chúng ta dịch chuyển một trục tọa độ này sang trục tọa độ khác; nói cách khác, chỉ là offset từ gốc tọa độ của trục tọa độ đầu đến gốc tọa độ của hệ tọa độ sau Vì vậy, để dịch hệ tọa độ từ tâm vật mẫu đến tâm quang của camera, thì vector dịch chuyển tương ứng chỉ đơn giản T = Tâmvật mẩu – Tâmcamera Chúng ta sau đó có ( xin xem hình 6) một điểm trong hệ tọa độ vật mẩu ( hoặc hệ tọa độ thế giới) có tọa độ P0 sẽ có tọa độ là Pc trong hệ tọa độ camera:
Trang 24Kết hợp phương trình cho Pc ở trên với phương trình hiệu chỉnh thông số nội sẽ tạo nên hệ phương trình mà ta sẽ yêu cầu OpenCV giải quyết Đáp số của hệ phương trình này sẽ là các thông số định chuẩn camera mà ta tìm kiếm
Chúng ta vừa thấy rằng quay 3 chiều tương đương với quay 3 góc xung quang các trục tọa độ và dịch chuyển 3 chiều có thể biểu diển bằng 3 thông số tọa độ (x,y,z); vậy chúng ta sẽ có 6 thông số Ma trận nội OpenCV cho camera có 4 thông
số (fx, fy,cx và cy), tổng cộng 10 thông số cần phải tính cho mỗi lần chụp (nhưng lưu
ý rằng thông số nội camera là không đổi cho tất cả các lần chụp) Sử dụng vật mẩu
là mặt phẳng, chúng ta sẽ thấy rằng với mỗi lần chụp sẽ xác định 8 thông số Bởi vì
6 thông số xoay và dịch chuyển thay đổi giữa mỗi lần chụp, nên ứng với mỗi lần chụp, ta có thêm hai thông số nửa phải giải Cho nên chúng ta cần ít nhất hai lần chụp để giải được tất cả thông số hình học
Bàn cờ
Tổng quát, bất cứ dạng vật mẩu nào cũng có thể lảm vật mẩu chuẩn định, thông thường được sử dụng phổ biến là bàn cờ.Một số phương pháp dựa trên vật mẩu 3 chiều ( vd: hộp vuông được đánh dấu),nhưng bàn cờ đơn giản và dễ giải quyết hơn
là với vật mẩu 3D chính xác Chúng ta sử dụng các ô vuông trắng đen xen kẽ ( xem hình), có kích thước bằng nhau để đo từ các góc lưới bàn cờ phát hiện bởi camera
Hình 16: Hình bàn cờ khi được chụp ở nhiều góc nhìn khác nhauu sẽ cho đủ thông tin để tính toán vị trí của tất cả hình này ở tọa độ tổng quát và các
Trang 25Homography ( phép chiếu đồng nhất)
Ta định nghĩa phép chiếu đồng nhất phẵng là phép ánh xạ từ một mặt phẳng này sang mặt phẳng khác Vì vậy, phép chiếu từ các điểm thuộc một bề mặt phẳng hai chiều tới mặt phẳng ảnh của camera là một ví dụ của phép chiếu đồng nhất phẳng
( planar homography) Ta có thể biểu diễn phép chiếu ánh xạ này bằng một phép
nhân ma trận nếu sử dụng tọa độ đồng nhất đểu biểu diển hai điểm xem xét Q và điểm ảnh q mà Q ánh xạ Nếu ta định nghĩa:
Sau đó chúng ta có thể biểu diển phép chiếu đồng nhất:
ở đây chúng ta giới thiệu thông số s, là hệ số tỷ lệ bất kỳ
Với một vài phép biến đổi hình học và ma trận, ta chia ma trận H thành 2 phần: phần chuyển đổi vật lý, để định vị mặt phẳng của mẩu được chụp; và vật chiếu mà biểu diểu là ma trận thông số nội của camera Xem hình bên dưới:
Hình 17: Góc nhìn của mặt phẳng được biểu diển bởi phép chiếu đồng nhất
Phần chuyển đổi vật lý là tổng tất cả các ảnh hưởng của các ma trận xoay R và
ma trận dịch chuyển t liên quan đến mặt phẳng vật mẩu mà ta chụp thành mặt phẳng ảnh Bởi vì ta đang làm việc với hệ tọa đồng nhất, có thể biểu diển như sau:
Trang 26ta biểu diển ma trận xoay thành 3 ma trận 3 hàng 1 cột , thì cột thứ 3 không còn cần thiết nửa:
ta có thể tính ra được các thông số nội chưa biết (trong trường hợp này là ít nhất 2 frame ảnh chụp)
Ma trận đồng nhất H thể hiện sự liên quan giữa các điểm nguồn trên vật mẩu và điểm ảnh tương ứng theo công thức bên dưới:
Trang 27
Chuẩn định camera( camera calibration)
Trường hợp đã nói ở trên là giả sử camera là mô hình pinhole lý tưởng, không
bị các ảnh hưởng của méo thấu kính Thực tế, chúng ta phải tìm 4 thông số ma trận nội (fx, fy, cx, cy) và 5 thông số méo dạng do thấu kính camera: 3 méo xuyên tâm (k1,
k2,k3) và 2 thông số méo tiếp tuyến (p1,p2) Thông số nội của camera gắn liền với cấu trúc hình học 3D (và cũng tương tự đối với các thông số ngoại) của vị trí của bàn cờ trong không gian; các thông số méo dạng liên quan với hình học 2D phụ thuộc vào cách các điểm nằm trên vật mẩu (patterns) bị méo khi chụp,vì vậy chúng
ta giải quyết 2 loại thông số này riêng biệt 3 điểm góc lưới trên vật mẩu sẽ cho 6 phương trình cần để giải 5 thông số méo dạng ( tất nhiên, chúng ta sẽ sử dụng nhiều hơn để có kết quả tin tưởng) Vì vậy, một góc chụp bàn cờ là đủ để tính các thông
số méo Đối với các thông số ngoại, chúng ta sẽ cần biết được vị trí bàn cờ ở đâu Điều này yêu cầu 3 thông số xoay (ψ, φ,θ) và 3 thông số vị trí (Tx, Ty,Tz) tổng cộng
là 6 biến số một lần chụp Kết hợp lại, sẽ co 4 thông số nội, 6 thông số ngoại mà ta cần tính toán cho mỗi góc chụp
Giả sử chúng ta có N góc lưới và K ảnh của bàn cờ ở những góc nhìn khác nhau Vậy cần bao nhiêu lần chụp và góc lưới của bàn cờ cần để giải tất cả các thông sỗ này?
K ảnh thì cung cấp 2NK phương trình
Bỏ qua thông số méo dạng, chúng ta có 4 thông số nội và 6K thông số ngoại
Giải phương trình (hoặc, tương đương, )
Nếu N = 5 thì ta chỉ cẩn K = 1 ảnh, nhưng lưu ý là K phải lớn hơn 1 Lí do khi
sử dụng bàn cờ để tính ma trận đồng nhất cho mỗi K góc chụp Như đã nói ở trên, phép chiếu đồng nhất có thể cho 8 phương trình cho 4 cặp (x,y) Vì chúng ta chỉ cần 4 góc lưới là có thể mô tả mặt phẳng trong mỗi lần chụp, nên dù chúng ta có thể phát hiện nhiều hơn 4 điểm trong vật mẩu, nhưng chỉ có 4 góc là đủ cần thiết
Trang 28cho tính toán Do đó (4-3)K > 1, có nghĩa là K > 1 Điều này nói lên rằng, ít nhất chỉ cần bàn cờ 3x3 ( chỉ tính các góc lưới bên trong) là ta có thể giải được các thông số chuẩn định Trong thực tế, để đạt kết quả chính xác, chúng ta cần ít nhất
10 ảnh bàn cờ kích thước 7x8 hoặc lớn hơn và ta phải thay đổi nhiều vị trí góc nhìn giữa các ảnh chụp để có hệ thống “giàu” dữ liệu
Có nhiều phương pháp để giải các thông số camera, OpenCV sử dụng phương pháp của Zhang để tính toán tiêu cự, vị trí, và dùng phương pháp Brown để giải các thông số méo
Giả sử rằng camera lý tưởng ( không có méo), với mỗi góc chụp camera, ta thu đươc ma trận đồng nhất H:
Và:
Trang 29
Đặt
Sử dụng định nghĩa vijT, ta có thể viết lại:
Nếu ta chụp K ảnh, thì được K hệ phương trình dưới dạng ma trận:
Với V là ma trận 2K hàng, 6 cột Như trên, nếu K lớn hơn hoặc bằng 2 thì phương trình được giải: Các thông số nội camera có thể đươc tính trực tiếp từ ma trận B:
Với:
Các thông số ngoại sau đó được tính toán từ các phương trình trên:
Trang 30
Cho đến bây giờ ta vẫn chưa tính đến méo của thấu kính Chúng ta sử dụng các thông số nội tìm được ở trên –cùng với ước lượng ban đầu là các thông số méo bằng 0-để giải hệ phương trình lớn hơn
Đặt (xp,yp) là tọa độ điểm ảnh của hệ thống pinhole camera lý tưởng và (xd,yd)
là tòa độ điểm ảnh camera thực tế:
Biến đổi Rodrigues
Khi giải quyết với không gian 3 chiều, chúng ta thường biểu diễn phép xoay bởi
ma trận 3x3 Phép biểu diển này rất thuận tiện bởi vì nhân một ma trận với vector thì tương đương việc xoay vector này một góc nào đó Điểm bất tiện là rất khó trực quan được ma trận 3x3 đó thể hiện phép xoay đó xoay với góc bao nhiêu, chiều như thế nào…Một cách khác là biểu diễn phép xoay dưới dạng vector mà trục xoay chính là hướng của vector và module của vector chính là độ lớn của góc xoay theo chiều ngược chiều kim đồng hồ Mối quan hệ giữa vector xoay và ma trận xoay truyền thống được biểu diễn bằng phép biến đổi Rodrigues Giả sử r là vector 3 chiều r = [rx ry rz]; vector này ngầm định nghĩa góc θ, là module của vector r
Trang 31Chúng ta có thể chuyển đổi biểu diễn dạng trục-module này sang dạng ma trận xoay R truyền thống dưới dạng:
Chúng ta có thể biến đổi ngược trở về dạng vector xoay bằng cách:
Chuyển đổi hệ qui chiếu giữa các hệ trục tọa độ
Giả sử ta đã biết ma trận xoay R và vector dịch chuyển ( tịnh tiến) t giữa hai hệ trục tọa độ C (camera) và hệ trục tọa độ O (object):
Trang 322.2 Các phương pháp lọc ảnh
2.2.1 Lọc trung vị ( median filter)
Lọc trung vị là một kỹ thuật lọc phi tuyến (non-linear), khá hiệu quả đối với hai loại nhiễu: nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise) Quy trình lọc của thuật toán lọc trung vị được mô tả như sau: một cửa sổ lọc dạng ma trận 3 x 3 được quét qua lần lượt từng điểm ảnh của ảnh đầu vào Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3 x 3 của ảnh gốc đưa vào ma trận lọc Sau đó sắp xếp các điểm ảnh trong cửa sổ này theo thứ tự tăng dần hoặc giảm dần Cuối cùng, gán giá trị điểm ảnh nằm chính giữa của dãy giá trị điểm ảnh đã được sắp xếp ở trên cho giá trị điểm ảnh đang xét của ảnh đầu ra Thuật toán lọc trung vị được mô tả như trong hình 4.15
Hình 19: Mô hình sắp xếp phần tử khi lọc trung vị
Các bước của giải thuật lọc trung vị như sau:
- Quét cửa sổ lọc lên các thành phần của ảnh gốc
- Điền các giá trị được quét vào cửa sổ lọc
- Lấy các thành phần trong của sổ lọc để xử lý
- Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc
- Lưu lại thành phần trung vị, gán cho ảnh đầu ra
2.2.2 Phân ngưỡng (threshold)
Giả sử một ảnh nguồn có giá trị cường độ pixel src(x,y) như hình, đường ngang màu xanh là giá trị ngưỡng thresh(cố định):
Trang 33Hình 21: Lọc lấy ngưỡng nhị phân
Phép lấy ngưỡng nhị phân nghịch đảo được biểu diễn:
Trang 34Lấy ngưỡng xuống zero
Biểu diển của phép lấy ngưỡng xuống zero:
Hình 24: Lọc lấy ngưỡng xuống Zero
Lấy ngưỡng xuống zero nghịch đảo
Biểu diễn:
Hình 25: Lọc lấy ngưỡng xuống Zero nghịch đảo
Trang 352.2.3 Bộ lọc Gaussian
Lọc gausian là loai bộ lọc làm mờ ảnh dùng hàm Gausian (hàm phân phối chuẩn) để tính hàm truyền cho mỗi pixel của ảnh Biểu diễn của bộ lọc Gaussian dạng một chiều:
Với x là tọa độ điểm ảnh theo trục ngang, y là tọa độ điểm ảnh theo trục đứng (tính từ tâm ảnh là góc tọa độ), σ là độ lệch chuẩn của phân phối Gausian
2.2.4 Tính toán tọa độ pixel của vạch laser dùng phương pháp trọng tâm
Để tính toán tọa độ 3D của các đường laser, các đường tọa độ đường laser cần xác định tọa độ pixel Tuy nhiên, ảnh thu được sau quá trình tiền xử lý là một đường laser có bề rộng Vì thế, để tính toán được tọa độ 3D của đường laser thực, đường laser trên ảnh cần được xác định đường tâm của nó Đường tâm là 1 đường đặc trưng cho đường laser với bề rộng là 1 pixel
Xét đồ thị phân bố mức xám của ảnh chụp đường laser
Hình 26: Đồ thị mức xám phân bố trên mặt cắt ngang đường laser
Đồ thị mức xám của đường laser phân bố theo 1 phân bố chuẩn Điểm trung tâm đường laser hay là điểm sáng nhất của đường laser chính là điểm cao nhất của đồ
Trang 36thị phân bố Phân bố chuẩn Gauss thường được dùng để xác định điểm tâm đường laser Khi ảnh thu thập từ camera được chuyển sang dạng nhị phân (binary) với các ngưỡng của các pixel tương ứng Chúng ta sẽ có dữ liệu điểm ảnh P(x, y) và ngưỡng h Vị trí sơ bộ đường laser chính là kỳ vọng đại lượng ngẫu nhiên phân bố của ngưỡng mức xám của ảnh chụp chùm laser trên vật thể
i
i i
u u
g u v v v
Trong đó g(u,vi) là giá trị mức xám của điểm ảnh tại vị trí (u,vi)
2.3 Nguyên lý tam giác lượng dùng vạch laser
Có nhiều cách tái cấu trúc bề mặt 3D dùng xử lí ảnh, ở hệ thống bao gồm vạch laser và webcam, nguyên lý tam giác lượng được áp dụng để quét vành đai của bề mặt vật thể
Camera sẽ quan sát giao điểm của laser và vật mẫu: các điểm của đường laser trong mặt phẳng ảnh là giao điểm giữa mặt phẳng ảnh và tia chiếu quang mà tia này cuối cùng sẽ đi qua giao điểm của đường laser và vật mẩu Trong hình dưới cho thấy tổng quan của hệ thống quét: {W} là trục tọa độ chung, {I} là khung tọa độ mặt phẳng ảnh với tọa độ (x,y) (hay là (u,v) như trong hình) và {L} là khung tọa
độ của laser {L2} là mặt phẳng laser bao gồm nhát cắt laser trên bề mặt vật thể, nó trùng với mặt phẳng (x,y) của khung tọa độ {L}
Trang 37Hình 27: Biểu diển hệ qui chiếu trục tọa độ camera
Phương trình biểu diển mặt phẳng từ 3 điểm cho trước
Cho 3 điểm P(px,py,pz), Q(qx,qy,qz), R(rx,ry,rz) trong hệ trục tọa độ cho trước, nếu một điểm bất kỳ C(xc,yc,zc) nằm trên mặt phẳng thì nó sẽ thỏa:
Đặt:
Suy ra:
(*) Đây chính là phương trình mặt phẳng đi qua điểm P,Q,R
Hệ phương trình tham số biểu diển tia chiếu quang học của camera
(optical rays)
Trang 38Như trên đã đề cập, phương trình mô tả mô hình pinhole của camera:
(3)
Với: cx,cy là tọa độ trục quang trong mặt phẳng ảnh
fx, fy là tiêu cự camera theo trục x,y có đơn vị là pixel:
F: là tiêu cự vật lý thực tế của thấu kính camera, đơn vị là mm
sx: số điểm ảnh trên một mm theo phương x, đơn vị là pixel/mm
sy: số điểm ảnh trên một mm theo phương y, đơn vị là pixel/mm
Đặt:
(3):
Suy ra:
(**) Đây chính là biểu diển dạng tham số hệ phương trình tia quang tới của camera
Trang 39Tính tọa độ 3D dựa vào nguyên lý tam giác lượng dùng tia laser
Trang 40
Vậy công thức tam giác lượng tính vị trí tọa độ 3D một điểm nằm trên vật mẫu khi ta đã xác định được mặt phẳng laser, các thông số nội của camera:
Hoặc:
2.4 Kết luận
Với cơ sở lý thuyết trên, ta sẽ tiến hành thiết kế mô hình máy quét 3D theo hai hướng:
Dùng phương pháp chuẩn định online (online calibration)
Chuẩn định offline, kết hợp mô hình trượt tịnh tiến và xoay
Chi tiết hai mô hình sẽ được trình bày ở Chương 3