Mục tiêu: Xây dựng hệ thống đo chi tiết cơ khí bằng ánh sáng cấu trúc sử dụng mã Gray và dịch đường, theo đó những bài toán cần giải quyết: (1) Đảm bảo quá trình giải mã vân từ hình ảnh thu nhận được khi chiếu lên bề mặt các chi tiết cơ khí có tính chất bề mặt sáng, bóng; (2) Tái tạo ảnh 3D hoàn chỉnh của chi tiết để có thể đo kích thước tương quan giữa các bề mặt.
Khó khăn dự kiến:
Yêu cầu của một hệ thống đo khi sử dụng 2 máy ảnh và máy chiếu cần đồng bộ về thời gian cũng như tối ưu các giá trị thiết lập phơi sáng cho cả hai thiết bị, do vậy cần lựa chọn thiết bị đáp ứng các yêu cầu về đồng bộ tín hiệu từ bộ điều khiển trung tâm và máy tính. Các thông số nội và ngoại của máy ảnh của hệ thống theo phương án thị giác nổi cũng cần được xác định; trong mô hình này máy chiếu chỉ có vai trò chiếu ánh sáng cấu trúc nên không cần xác định thông số.
Phương pháp sử dụng mã vân là mã hóa mức xám (Gray) kết hợp với vân dịch đường, việc sử dụng vân chiếu mã Gray đem lại nhiều lợi thế trong quá trình mã hóa và giải mã theo quy luật xử lý bit, tuy nhiên mã Gray là các vân đối xứng và chiều rộng của vạch bit ON-OFF giảm dần khi mã hóa tại các bit cao, do vậy gây khó khăn khi phân biệt các vạch chiếu sáng. Việc phân biệt các bit sáng tối cho quá trình giải mã ảnh hưởng đến độ chính xác cũng như tối ưu hóa về thời gian tính toán cho hệ thống. Vạch chiếu sáng của vân chiếu dịch đường nhỏ hơn nhiều khi sử dụng nguồn chiếu sáng LED thay vì nguồn chiếu sáng Laser như mô hình của Jens Gühring [33] đưa ra, do đó việc xác định đỉnh của vạch chiếu khó khăn hơn.
Khi thực hiện đo-quét các chi tiết cơ khí có tính chất bề mặt sáng, bóng của kim loại ảnh hưởng rất nhiều đến ảnh vân thu được, các nghiên cứu sử dụng kỹ thuật HDR cần được xây dựng để phù hợp với mã vân Gray và dịch đường.
Bàn máy tự động được chế tạo để thay đổi các góc quét của đầu đo tới vật thể đo. Bàn máy càng nhiều bậc tự do thì hỗ trợ cho hệ thống đo được nhiều vị trí quét và thuận tiện cho việc tái tạo vật thể hoàn chỉnh. Do đó cần nghiên cứu để thiết lập mô hình xác định thông số chuyển vị của bàn máy với đầu đo.
Cuối cùng, đối với một hệ thống đo nhất là hệ thống đo 3D việc xác định độ không đảm bảo đo là cần thiết, tuy nhiên sai số quá trình đo phụ thuộc vào rất nhiều yếu tố cấu thành lên hệ thống bao gồm: Phương pháp đo, phương pháp hiệu chuẩn, quá trình hiệu chuẩn, sai số của hệ cơ khí (linh kiện quang, cảm biến, vị trí gá đặt giữa các máy ảnh),…
vì vậy cần nghiên cứu phương pháp để xác định và hiệu chỉnh tham số đo trên cả 3 trục của hệ tọa độ OX, OY, OZ.
Từ các nghiên cứu của các tác giả khác, NCS nhận thấy còn những vấn đề sau cần nghiên cứu sâu sắc hơn như:
- Nghiên cứu tính toán và lựa chọn các linh kiện hệ thống đo theo phương pháp SLS.
- Nghiên cứu sử dụng ánh sáng cấu trúc để mã hóa các điểm ảnh chiếu lên bề mặt chi tiết không tiếp xúc với vật thể đo.
- Nghiên cứu tái tạo thông tin vân chiếu thu máy ảnh khi thực hiện đo-quét các chi tiết cơ khí có đặc tính bề mặt sáng – bóng.
- Nghiên cứu nâng cao độ phân giải của hệ thống từ đó nâng cao độ chính xác của dữ liệu khi đo các kích thước trong không gian 3D bằng cách xây dựng các kỹ thuật xử lý ảnh khi chụp.
- Nghiên cứu phương pháp hiệu chuẩn hệ thống đo theo kích thước của các chiều trong không gian 3D.
- Nghiên cứu phương pháp tự động hóa quá trình đăng ký các tập hợp đám mây điểm để tái tạo chi tiết đo 3D hoàn chỉnh.
Chương 2: PHƯƠNG PHÁP ĐO 3D CHI TIẾT CƠ KHÍ BẰNG ÁNH SÁNG CẤU TRÚC KẾT HỢP MÃ GRAY VÀ DỊCH ĐƯỜNG 2.1 Phương pháp mã hóa vân cho ánh sáng cấu trúc
2.1.1 Mã hóa vân Graycode
Mã Gray được định nghĩa như là một dạng mã hóa các số nhị phân, trong đó, các vị trí của các điểm liền kề nhau được mã hóa có thứ tự đảo bit là không quá lớn lấy ý tưởng từ khoảng cách hamming như hình 2-1, có 2 kiểu mã hóa: Đó là mã nhị phân và mã Gray đối xứng[71][72] (hình 2-2 và hình 2-3).
Hình 2-1 Minh họa mã hóa 3bit nhị phân và thứ tự thay đổi tối thiểu giữa 2 giá trị theo khoảng cách hamming (nguồn: [71])
Hình 2-2 Mã hóa theo mã nhị phân (nguồn: [71])
Hình 2-3 Mã hóa theo dạng Mã Gray đối xứng (nguồn: [71])
Dựa trên hình 2-2 và 2-3 ta thấy rằng mã gray đối xứng có 2 điểm liền kề nhau được xác định bằng cách thay đổi 1bit trong chuỗi mã hóa, thuộc tính này làm cho khả năng mã hóa tốt hơn trong điều kiện nhiễu và có lợi khi áp dụng trong phương pháp ánh sáng cấu trúc.
Tạo mã gray nhằm đưa ra các ảnh vân theo mẫu và thứ tự tuân theo mã gray. Giả sử ta cần chiếu ảnh vân có kích thước W´H, ảnh vân chiếu thường được tạo cho hàng và cột, phương pháp tạo các ảnh vân chiếu hàng và cột này cơ bản giống nhau, do đó trong phần này chỉ trình bày phương án xây dựng vân cột.
Với ảnh vân có kích thước W´H như trên, ta có W số cột. Trước tiên, phải tính số bit N cần để mã hóa các điểm ảnh trên mỗi cột. Giá trị N được tính theo biểu thức:
𝑁 ≥ log!𝑊 (2-1)
Giả sử ảnh có độ rộng là 16 đơn vị điểm ảnh như bảng 2-1, sẽ phải cần 𝑁 = log!16 = 4 bit để mã hóa 16 pixel đó. Để chiếu ảnh vân mã hóa cho các pixel, chiếu lần lượt của 4 ảnh tương ứng với 4 bit, như vậy thì mỗi pixel cột sẽ được mã hóa bởi một mã Gray tương ứng với vị trí của cột đó.
Để dễ tưởng tượng ảnh chiếu như thế nào, ta hình dung bảng mã Gray đã lập ở trên sẽ được xoay ngang như sau để mã hóa các điểm ảnh của cột:
STT/BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 3 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 4 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
Bảng 2-1 Bảng mã Gray cho 16 bit
Các bit 0,1 được mã hóa vào ánh sáng tương ứng với ánh sáng tắt và bật. Ta có bảng vân chiếu như sau:
STT/BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 3 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 4 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
Bảng 2-2 Bảng mã Graycode mã hóa cho vân chiếu
Bảng 2-2 có 4 hàng tương ứng với 4 bit. Mỗi hàng này tạo thành một ảnh chiếu và như thế có một chuỗi của 4 ảnh được chiếu lên đối tượng đo.
Hình 2-4 Chuỗi ảnh mã Gray
Hình 2-5 Minh họa vân chiếu Graycode 10 bit
Hình 2-6 Các ảnh của vân chiếu của mã Graycode với 10 bit
Các bước tạo ảnh Gray được thực hiện như sau:
- Xác định số bít N của mã Gray cần chiếu từ thông số 𝑊 × 𝐻 của ảnh cần chiếu. - Tạo tập N ảnh nhị phân từ N bit mã hóa.
- Sau đó chuyển tập ảnh nhị phân này sang tập ảnh Gray như sau:
Giả sử Gi là bit được mã hóa gray thứ 𝑖, 𝐵" là bit được mã hóa nhị phân thứ i. + Với bit 0: 𝐺# = 𝐵#
+ Thực hiện vòng lặp với các anh binary còn lại từ bit thứ 𝑛 − 1về bit 0
𝐺[𝑖] = 𝐵[𝑖 + 1]𝑥𝑜𝑟 𝐵[𝑖] (2-2)
Dựa trên độ phân giải 𝑊 × 𝐻 của máy chiếu, ta có thể xác định số mũ 𝑛 của 2$, việc lựa chọn giá trị n sao cho độ phân giải của ảnh thu về của máy ảnh là tốt nhất. Giả sử diện tích chiếu của máy chiếu có độ phân giải 1140´912 điểm ảnh lên một mặt phẳng cách 300mm là 180´120mm (𝑊 × 𝐻)khi đó, vùng trung tâm của máy chiếu sẽ là 150´120 mm, Bảng 2-4 đánh giá độ phân giải khi thay đổi giá trị n:
Độ phân giải Độ phân giải vạch của máy ảnh (Đv. Điểm ảnh) Vùng trung tâm 150x120mm
Vùng chiếu toàn miền 180x120mm Số ảnh chiếu Giá trị Số ảnh chiếu Giá trị
Thấp 4 7 128 8 228
Trung bình 2 8 256 9 456
Cao 1 9 512 10 912
Bảng 2-3 Độ phân giải của hệ thống với giá trị 2n
Cấu hình của hệ thống có thể được lựa chọn khác nhau tùy thuộc vào yêu cầu trường nhìn và độ phân giải của bài toán. Với 𝑛 = 10 thì độ phân giải đạt được mức tối đa nhưng rất khó trong việc xác định các bit 0-1 trong ảnh vân chiếu cuối cùng, từ đó dẫn đến việc giải mã sai và kết quả tính toán cuối cùng không đạt được độ chính xác; trong trường hợp này, lựa chọn 𝑛 = 9 sẽ làm tăng độ phân giải của ảnh vân chiếu cuối cùng.
Sau khi đã có những ảnh vân chiếu, vấn đề đặt ra là làm thế nào để có thể xác định đâu là bit 0 và bit 1 trong ảnh. Phương pháp đơn giản nhất là sử dụng ngưỡng mức xám cho 2 mức 0-1, có thể lựa chọn giải pháp ngưỡng thích nghi thay cho ngưỡng cố định để có được kết quả tốt hơn. Tuy nhiên, sự thay đổi tần số trong miền không gian của các vân mã Gray gây khó khăn trong việc tìm ngưỡng cho mỗi điểm ảnh trong ảnh.
Để giải quyết vấn đề này, giải pháp sử dụng ảnh đảo cho mỗi bit vân chiếu được đưa ra, qua 2 ảnh: ảnh vân và ảnh đảo vân dễ dàng xác định được ngưỡng cho mỗi điểm ảnh. Nhược điểm của phương pháp này là làm tăng số lần lấy mẫu (số ảnh chụp gấp 2 lần) do đó thời gian thực hiện mỗi lần quét sẽ tăng thêm tương ứng.
2.1.2 Mã Large-Gap Graycode
Mã Large-Gap Graycode được giới thiệu bởi [73][74] với mong muốn xây dựng mã Gray đặc biệt với các bước dài 0 và 1 dọc theo từng bit khác với mã Gray nhị phân. Thuật ngữ 𝑚𝑖𝑛 − 𝑔𝑎𝑝 (𝐶) = 𝑔𝑚𝑖𝑛ợc xác định cho mã Gray C, trong đó 𝑔𝑚𝑖𝑛 là độ dài tối thiểu của tất cả các bit chạy trong mã. Tương tự thuật ngữ 𝑚𝑎𝑥 − 𝑔𝑎𝑝 (𝐶) = 𝑔𝑚𝑎𝑥 được sử dụng, trong đó 𝑔𝑚𝑎𝑥 là độ dài tối đa của tất cả các bit chạy trong mã. Đối với mã nhị phân 10 bit được phản ánh Mã màu xám
(BRGC10), các giá trị là 𝑚𝑖𝑛 − 𝑔𝑎𝑝 (𝐵𝑅𝐺𝐶10) = 2 𝑚𝑎𝑥 − 𝑔𝑎𝑝 (𝐵𝑅𝐺𝐶10) = 512ã màu xám n-bit Cn có thể được mô tả bằng chuỗi chuyển tiếp 𝑇𝑛 = (𝑡0, 𝑡1, 𝑡2, . . , 𝑇𝑁 1), trong đó 𝑁 = 2𝑛 và ti chỉ số bit thay đổi từ giá trị i thành 𝑖 + 1. Một ví dụ cho 𝑛 = 3 được hiển thị trong phương trình sau:
𝑇3 = (0, 1, 0, 2, 0, 1, 0, 2) (2-3)
𝐶3 = (000, 100, 110, 010, 011, 111, 101, 001) (2-4) Trong đó 𝑇3 là chuỗi chuyển tiếp cho mã Gray 3 bit tương ứng.
Nhóm tác giả [74] trình bày một định lý để xây dựng mã Gray 𝐶𝑛 + 𝑚 trên các bit
𝑛 + 𝑚 bằng cách xen kẽ hai chuỗi chuyển tiếp 𝑇𝐴 và 𝑇𝐵 trên các bit n và m tương ứng, trong đó 𝑛 ≥ 𝑚. Một chuỗi P có độ dài 𝑀 = 2% sau đó được xác định cho bất kỳ thứ tự nào của một 𝑎 và 𝑡 𝑏, trong đó 𝑠 và 𝑡 là hai số nguyên dương lẻ tính tổng với
𝑀, 𝑎 và 𝑏 là các phần tử từ các chuỗi chuyển tiếp. Mã màu xám 𝐶𝑛 + 𝑚 được tạo bằng cách xen kẽ 𝑃𝑁 từ các mã có kích thước nhỏ hơn.
Việc lựa chọn 𝑠, 𝑡 và chuỗi các phần tử trong 𝑃 có ảnh hướng đến khoảng cách của
𝐶𝑛 + 𝑚 và được [74] đưa ra giá trị tham khảo cố định.
Một ví dụ để xây dựng mã Large-Gap Graycode 7 bit có thể được xây dựng bằng cách xen kẽ chuỗi chuyển tiếp 5 bit và 2 bit, được đưa ra trong phương trình sau:
𝑇&' =(0, 2, 1, 3,0,2,1,4,0,3,1,2,0,3,1,4,0,2,1,3,0,2,1,4,0,3,1,2,0,3,1,4) 𝑎#, 𝑎(, … , 𝑎)#, 𝑎)(
𝑇&* = (0,1,0,1) 𝑏#, 𝑏(, 𝑏!, 𝑏)
(2-5)
Trong đó 𝑇&' là mã Large-Gap Gray được xây dựng trước đó với min-gap (𝑇&') = 4 và 𝑇&* là một chuỗi cơ bản với min-gap (𝑇&*) = 2. Phương trình xác định chuỗi P, được tạo ra với s =3 và t=1.
𝑃 = (𝑏𝑎𝑎𝑎) (2-6)
Trình tự chuyển tiếp 𝑇+, cho mã 7-bit Gray code C7 được tạo bằng cách xen kẽ PN:
𝑇+, = (baaa)32 (2-7)
Ở đây a và b là các phần tử liên tiếp từ các chuỗi chuyển tiếp TA và TB modul N
và M tương ứng.
Hình 2-8 So sánh kích thước bước giữa các vân của mã Gray và mã Large-Gap Graycode tại các bit khác nhau (nguồn: [75])
Nhận xét: Khi sử dụng mã Gray đối xứng dừng lại tại ảnh bit thứ 9, nếu sử dụng tới bit thứ 10 rất khó có thể xác định được giữa các bit sáng và bit tối; đối với vân chiếu mã Large-Gap Graycode, khoảng cách giữa các vân chiếu sáng và các vân chiếu tối được giữ ổn định từ bit 1 cho đến bit thứ 10, do đó giảm thiểu vấn đề khi tiến hành giải mã.
Hình 2-9 Vân chiếu mã Gray tại bit thứ 9 lên mặt phẳng nghiêng theo trục Z
Hình 2-10 Vân chiếu mã Large-Gap Graycode tại bit thứ 10 lên mặt phẳng nghiêng theo trục Z
Mặt khác, khi thực hiện chiếu mẫu vân lên một mặt phẳng nằm nghiêng dọc theo trục Z, hình 3-11 thể hiện khoảng sắc nét vân của bit thứ 9 mã Gray nhỏ hơn so với khoảng sắc nét vân của bit thứ 10 mã Large-Gap Graycode, như vậy khi sử dụng mã Large-Gap Graycode làm tăng được chiều sâu thu ảnh vân của hệ thu ảnh và khoảng thu nhận ảnh 3 chiều tăng lên tính từ mặt phẳng hội tụ về 2 phía.
2.1.3 Vân dịch chuyển đường
Hình 2-11 Chuỗi vân mã Gray 4bit (phía trên) và chuỗi vân dịch chuyển đường bước 6 (phía dưới) (nguồn: [33])
Vân dịch chuyển đường do Guhring [33] đưa ra là các đường mã 1 dịch chuyển lần lượt theo chiều dọc và chiều ngang của ảnh. Mục đích của các đường này là đưa ra vị
trí chính xác cho từng điểm ảnh tương ứng với các điểm trên máy chiếu, và các điểm này có độ chính xác dưới đơn vị điểm ảnh.
Theo hình 2-11 thì các vạch có giá trị 1 cách nhau 6 điểm ảnh, chúng ta có thể lựa chọn khoảng cách 8 hoặc 10 điểm ảnh tùy ý, tuy nhiên khi khoảng cách giữa các vạch sáng tăng lên thì số mẫu vân tạo ra cũng tăng theo làm tăng thời gian lấy mẫu và xử lý. Việc chọn khoảng cách vân tùy theo độ phân giải cũng như đặc tính mờ của máy chiếu hoặc máy ảnh.
Với các phương pháp thu nhận ảnh 3D khác chúng ta thấy rằng tọa độ x, y của các điểm ảnh là số nguyên không âm, tức là các điểm ảnh cách đều nhau và hơn kém nhau 1 đơn vị. Tuy nhiên khi đó chúng ta lý tưởng hóa bài toán dẫn đến sai số và không đạt độ chính xác như mong muốn.
Để có kết quả sát với thực tế với độ chính xác cao hơn thì thường tăng độ phân giải của máy ảnh hoặc cả máy ảnh và máy chiếu, điều này khiến cho chi phí thiết bị tăng lên cũng như thời gian xử lý cho chương trình nhiều hơn.
Với phương pháp xử lý dịch chuyển đường này, các giá trị lý tưởng số nguyên x, y được thay bằng tọa độ là các số thực dưới đơn vị của điểm ảnh, như vậy thông tin 3 chiều x, y, z của điểm ảnh có độ chính xác cao hơn trong khi phần cứng không thay đổi.
2.2 Định nghĩa vùng chiếu vân
Vùng chiếu vân được định nghĩa là vùng chứa toàn bộ vân chiếu từ máy chiếu tới bề mặt của các vật thể phía trước. Như vậy, để giải mã vân gray chính xác ta cần loại bỏ vùng không làm việc bằng một “mặt nạ” có kích thước bằng với kích thước ảnh thu được có dạng vùng làm việc giá trị 1, vùng không làm việc có giá trị 0.