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 

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





Chúc các bạn thành công!

Comments

  1. Một số bài chờ admin sửa lại lỗi link ko tải dc

    ReplyDelete

Post a Comment

Popular posts from this blog

Dowload Lectures for Mechatronics Engineering

Download and Install Autodesk Inventor 2018

460 Free Online Programming & Computer Science Courses - Giúp Bạn Thành Công