MACHINE VISION: TÍNH TOÁN ĐỘ PHÂN GIẢI CAMERA VÀ LENS
July 20, 2017
MACHINE VISION
Huynh Duc Tin
TÍNH TOÁN ĐỘ PHÂN GIẢI
CAMERA VÀ LENS
I.
Lý thuyết tính toán
Problem:
Trong một hệ thống machine vision, việc
chọn camera, lens và ring light như thế nào cho phù hợp là cực kỳ quan trọng. Để
có lựa chọn chính xác, chúng ta cần dựa trên những cơ sở lý thuyết vững chắc. Ở
bài này, mình giới thiệu cách tính toán và lựa chọn thiết bị vision từ NI
(National Instruments). Trước tiên, chúng ta cần tìm hiểu một số khái niệm cơ bản,
cũng là những khái niệm quan trọng nhất, liên quan tới tính toán mà bài viết sẽ
đề cập dưới đây. Một số thuật ngữ chuyên ngành chúng ta không nên việt hóa, vì
đọc khá “củ chuối” và cũng không diễn tả hết được nội dung. Sau đây là 3 khái
niệm cần phải biết:
- Field of view (FOV): là vùng làm việc của camera hay là vùng ảnh mà camera cần phải chụp được để lấy hết nội dung ảnh cần xử lý. FOV phụ thuộc vào kích thước đối tượng bạn cần phát hiện và xử lý. FOV thường có dạng hình chữ nhật, hoặc hình vuông.
Ví dụ: bạn muốn
detect một hình tròn có đường kính là 3 mm thì FOV của bạn phải có kích thước
(axb) sao cho lớn hơn 3mm. Mục đích là để nó bao hết được đối tượng cần chụp.
- Smallest feature: là kích thước nhỏ nhất bạn muốn detect được trong bước ảnh. Thông thường, đây cũng chính là sai số mà bạn cần đạt được khi xử lý ảnh.
- Working distance (WD): là khoảng cách từ trước lens tới mặt trên đối tượng cần chụp.
Để dễ hình
dung hơn, chúng ta xem hình bên dưới:
Tóm tắt vấn
đề:
Vấn đề đặt ra là: Nếu bạn muốn đo kích thước của một lỗ
ren sau khi gia công có chính xác hay không? Nếu đặt bài toán là bạn cần phát
hiện được đường kính lỗ ren với độ chính xác 0.01 mm (smallest feature) thì cần
chọn loại camera nào ? độ phân giải của camera là bao nhiêu ? Nếu yêu cầu khoảng
cách làm việc (WD) là 10 cm chẳng hạn thì cần dùng lens nào ? Tiêu cự của lens
bao nhiêu ?
Tất cả thắc
mắc đó sẽ được giải thích dưới đây!
---------------------------------------------
Solution: Có 2 bước tính toán chính để giúp bạn chọn được
camera có độ phân giải phù hợp và chọn đúng focal length:
1. Tính toán độ phân giải: Cần biết trước 2 thông số đầu vào là độ chính xác (accuracy)
và FOV (field of view).
2. Lựa chọn camera: Khi chọn được camera, bạn cần dùng các thông số camera như sensor size để
tính toán lựa chọn lens.
Độ phân giải cảm biến ảnh (Sensor Resolution):
Độ phân giải của một bức ảnh là số
pixels phân bố trên bức ảnh. Ví dụ camera có độ phân giải 5 MP thì con số 5 MP
là giá trị của phép tính của (2592x1944 hoặc 2590x2048, v.v..). Vậy là độ phân
giải phụ thuộc vào 2 kích thước; ví dụ 640X480. Tính toán độ phân giải về mặt
lý thuyết cần phụ thuộc vào cả 2 kích thước đó, nhưng để đơn giản hóa việc tính
toán khá phức tạp thì ta thường chỉ cần dùng 1 kích thước để tính. Ví dụ
2592x1944 thì lấy 2592 tính (chú ye lấy giá trị lớn hơn, vì nếu lấy nhỏ hơn thì
có thể không đủ, lớn hơn có thể dư nhưng chắc ăn hơn).
Để đảm bảo một phép đo chính xác trên
bức ảnh, bạn cần dùng tối thiểu 2 pixel trên độ chính xác (smallest feature) mà
bạn muốn detect. Hay hiểu nôm na là bạn cần 2 pixels thì mới xác định được khoảng
cách. Để tính toán được độ phân giải tối thiểu của camera (pixels/smallest
feature), kích thước thật (in real-world units) của FOV chia cho độ chính xác.
Bạn theo dõi công thức bên dưới.
Tính toán độ phân giải cảm biến ảnh:
·
Ví dụ 1: FOV của mình 100mm (ví dụ 80x100, ta
chọn 100 để tính) và độ chính xác mình cần đạt là 1mm. Theo công thức ở trên, độ
phân giải tối thiểu cần có của camera là 200 pixel (đang tính theo 1 kích thước
nha). Vậy ta cần chọn camera có với độ phân giải 640x480 thì sẽ đáp ứng được bởi
vì 200 là nhỏ hơn kích thước nhỏ nhất 480.
·
Ví dụ 2: FOV là 500mmX600mm và độ chính xác cần
đạt là 2mm. Theo như công thức trên, độ phân giải tối thiểu cần có là 500X600. Nên
cảm biến 640X480 sẽ không phù hợp. Một cảm biến ảnh có độ phân giải 1024X768 hoặc
1280X1024 sẽ phù hợp hơn trong trường hợp này.
Vậy để thỏa mãn được yêu cầu đặt ra,
bạn có thể hiệu chỉnh như sau: thay đổi độ chính xác, giảm độ chính xác đi thì
dễ chọn camera hơn hoặc nhiều tiền thì chọn camera có độ phân giải cao hơn.
Sensor Size:
Sensor size đề cập tới kích thước vật lý của cảm biến, thường nó không được
ghi trên datasheet. Cách tốt nhật để xác định chọn sensor size là xem cái pixel
size trên cảm biến và lựa chọn độ phân giải phù hợp.
Tính toán sensor size:
Ví dụ 3: Ví dụ ta sử dụng camera của
Basler. Theo manual của Basler acA1300-30um camera có pixel size là 3.75 x
3.75um và độ phân giải là 1296 x 966 pixels. Thì sensor size se được tính
là (3.75um x 1296; 3.75um x 966) = 4.86
x 3.62mm.
Sensor Format:
Sensor format cũng là kích thước vật
lý của cảm biến ảnh, nhưng nó không phụ thuộc vào pixels size. Thông số này được
dùng để xác định loại Lens nào là phụ hợp. Để lựa chọn 1 cái lens phù hợp với
camera, format của lens phải lớn hơn hoặc
bằng với sensor format. Nếu dùng lens có format nhỏ hơn sensor format thì vùng
bên ngoài biên ảnh chụp được sẽ bị đen. Nhìn hình bên dưới để rõ hơn.
Vì vậy ta cần chọn lens có lens
format lớn hơn hoặc ít nhất là bằng với với sensor size của camera.
Vùng ngoài bị đen thấy chưa!
Focal Length:
Thông thường, lens có focal length cố
định. Còn WD (working distance thường thay đổi theo mục đích người dùng), để
đơn giản tính toán, thì ta xem xét tỉ lệ giữa FOV và WD. Hơn nữa focal length
là nhà sản xuất quy định nên mình phải chọn theo cái họ có, họ bán còn mình phải
thay đổi WD thôi. Mô hình tính toán cũng khá đơn giản và dễ hiểu. Có thể dễ
dàng dùng tỷ lệ đồng dạng để suy ra công thức liên hệ:
Ta được công
thức tính toán:
Calculate
Focal Length:
·
Ví dụ 4 (trường hợp thay đổi WD): FOV của
mình là 508mm x 381mm, sensor size là
8.47mm (diagonal). Tỉ lệ giữa working distance và focal length is 381mm/6.06mm
= 45:1.
Vậy, nếu ta chọn
một focal length là 25mm (which is about 1"), tiếp theo chọn working distance
khoảng 140mm (5") thì thảo yêu cầu. Nếu muốn working distance lớn hơn, như
889mm (35"), thì với tỉ lệ (1:45) cho focal length 19.76mm (7/9"), vậy
chọn focal length 16mm là thỏa.
Ví dụ 5 (trường
hợp fixed WD): FOV của mình 609.6mm x 609.6mm, sensor format là 12.7mm
(diagonal) và working distance là 1016mm. Để chọn focal length, bạn nên biết tỉ
lệ của sensor. Theo công thức trên, ta chọn focal length (12.7X1016)/609.6 =
21.2mm. Như mình đã nói ban đầu, lens là mình mua, không chế tạo được nên mình
phải thay đổi cái của mình, và chọn lens theo tiêu chuẩn. Gần 21.2mm có thể chọn
lens có focal lenth là 25 mm, sau đó tính toán lại working distance.
Thông thường lens focal lengths gồm
có 6 mm, 8 mm, 12.5 mm, 25 mm, and 50 mm. Vậy, để chọn được lens phù hợp thì bạn
phải chọn lens có focal length gần nhất thỏa mãn với focal length mà hệ thống
vision của bạn yêu cầu, tất nhiên bạn cần phải hiệu chỉnh khoảng cách làm việc
(WD) cho phù hợp nhất.
Note: Lenses những lens có focal
length nhỏ hơn 12mm thường bức ảnh chụp dễ bị méo. Nên nếu như ứng dụng của bạn
không quá khắc khe thì cố gắng thay đổi working distance để chọn được lens có
focal length lớn hơn.
II. Ứng dụng tính toán
Chúng ta cần
nắm rõ những kiến thức cơ bản trên để hiểu chính xác cách tính toán cho hệ thống
machine vision.
Ngoài ra, với
mỗi hãng sản xuất camera, thông thường họ sẽ recommend cho bạn cách tính và hướng
dẫn. Trong bài viết này, mình giới thiệu 2 hãng sản xuất camera khá nổi tiếng
là Basler và Ptgrey.
Tính toán chọn
lens dễ dàng với ứng dụng của hãng:
Basler
Link: Lens Calculator
Bạn chỉ cần
nhập thông số và lựa chọn lens hay camera dễ dàng. Thậm chí họ còn show những camera
nào phù hợp bên dưới cho bạn lựa chọn.
Ptgrey
Link: Lens Calculator
Chúc các bạn thành công!
Một số bài chờ admin sửa lại lỗi link ko tải dc
ReplyDelete