Deep learning hay thuật toán truyền thống: khi nào nên dùng AI trong machine vision?

Khi nào nên chuyển từ pattern matching, blob, đo cạnh sang deep learning? Bảng so sánh, checklist và công cụ Cognex cho lỗi ngoại quan.

Dây chuyền đang chạy ổn với pattern matching và đo cạnh, rồi bỗng xuất hiện một lô hàng có bề mặt hơi khác, vết xước mờ, vết bẩn thay đổi hình dạng, và tỷ lệ báo lỗi nhầm tăng vọt. Đây là lúc nhiều kỹ sư nhà máy tự hỏi: có nên chuyển sang deep learning trong machine vision không, hay chỉ cần chỉnh lại thuật toán truyền thống? Bài viết này giúp bạn trả lời bằng một bảng so sánh và một checklist chọn, với ví dụ chính là kiểm tra lỗi ngoại quan.

Lưu ý ngay từ đầu: deep learning không thay thế hoàn toàn thuật toán truyền thống. Mỗi loại mạnh ở một nhóm bài toán khác nhau, và nhiều hệ thống tốt nhất dùng cả hai.

Thuật toán truyền thống (rule-based) làm việc thế nào?

Thuật toán truyền thống, hay rule-based, dựa trên các quy tắc do kỹ sư định nghĩa rõ ràng. Một số nhóm công cụ quen thuộc:

  • Pattern matching (so khớp mẫu): tìm vị trí và góc của một chi tiết dựa trên hình mẫu đã học. Rất phù hợp cho định vị, căn chỉnh và dẫn hướng robot.
  • Blob analysis: tách vùng sáng hoặc tối bằng ngưỡng, rồi đo diện tích, chu vi, tâm. Dùng để đếm, phát hiện vật thể thừa hoặc thiếu.
  • Đo cạnh (edge/caliper): tìm biên và đo khoảng cách, đường kính, độ đồng tâm. Đây là nền tảng của đo lường 2D.
  • Đọc mã, OCR theo font cố định: hoạt động tốt khi ký tự rõ và đều.

Ưu điểm lớn nhất là tính có thể giải thích: khi hệ thống báo NG, bạn biết chính xác ngưỡng nào bị vượt. Tốc độ xử lý thường rất cao, phần cứng nhẹ (nhiều ứng dụng chạy ngay trên camera thông minh), và bạn không cần thu thập nhiều ảnh lỗi. Nhược điểm xuất hiện khi hình dạng của lỗi hoặc của nền không thể mô tả bằng một vài quy tắc.

Deep learning học từ ảnh thay vì từ quy tắc

Với deep learning, thay vì viết quy tắc, bạn cung cấp ảnh đã gắn nhãn (ví dụ OK/NG, hoặc vẽ vùng lỗi) và mạng nơ-ron tự học các đặc trưng phân biệt. Đây là cách tiếp cận phù hợp với những tác vụ khó lập trình bằng cách thông thường. Với kiểm tra ngoại quan, điều này có nghĩa hệ thống có thể học được rằng "thế nào là bình thường" ngay cả khi bề mặt có vân, phản xạ hoặc màu sắc biến thiên giữa các sản phẩm.

Đổi lại, bạn cần dữ liệu ảnh có chất lượng, quá trình huấn luyện và kiểm chứng, và thường là phần cứng mạnh hơn. Kết quả cũng khó giải thích hơn: mô hình trả về điểm số hoặc vùng nghi ngờ chứ không phải một ngưỡng cụ thể.

Bảng so sánh: rule-based và deep learning

Tiêu chíThuật toán truyền thốngDeep learning
Cách xây dựngKỹ sư đặt quy tắc, ngưỡng, thông sốHuấn luyện từ ảnh đã gắn nhãn
Phù hợp nhấtĐịnh vị, đo kích thước, đếm, đọc mã rõ nétLỗi ngoại quan đa dạng, nền nhiễu, bề mặt biến thiên, phân loại phức tạp
Dữ liệu cầnÍt ảnh mẫu để chỉnh thông sốTập ảnh đại diện cho toàn bộ biến thiên thực tế
Với lỗi chưa từng thấyChỉ bắt được nếu quy tắc bao phủChế độ học không giám sát có thể phát hiện bất thường so với ảnh "tốt"
Khả năng giải thíchCao, truy ngược được từng ngưỡngThấp hơn, cần ảnh heatmap và tập kiểm thử để tin cậy
Phần cứngThường chạy trên CPU hoặc camera thông minhNhiều chế độ cần GPU NVIDIA, đặc biệt khi huấn luyện
Bảo trìChỉnh lại thông số khi sản phẩm đổiBổ sung ảnh và huấn luyện lại khi sản phẩm hoặc nền đổi

Tốc độ xử lý và độ chính xác thực tế phụ thuộc vào ứng dụng, ảnh đầu vào và phần cứng, vì vậy cần thử trên mẫu thật trước khi kết luận.

Ví dụ chính: kiểm tra lỗi ngoại quan trên bề mặt có nền nhiễu

Hãy hình dung một chi tiết kim loại gia công hoặc một tấm bề mặt có vân. Các lỗi cần bắt gồm vết xước, vết bẩn, vết lõm và sai màu. Với cách làm truyền thống, bạn thường gặp:

  • Xước mờ, độ tương phản thấp: ngưỡng cao thì bỏ sót, ngưỡng thấp thì nhận nhầm vân gia công thành lỗi.
  • Vết bẩn hình dạng bất kỳ: blob analysis cần ngưỡng, nhưng vết bẩn nhạt lại lẫn với nền biến thiên.
  • Vết lõm: chỉ hiện rõ ở một số góc chiếu sáng, khó mô tả bằng quy tắc hình học đơn giản.
  • Sai màu: màu "đúng" nằm trong một dải rộng giữa các lô, khó chốt một ngưỡng duy nhất.

Đây chính là nhóm bài toán mà deep learning thường có lợi thế: mô hình học toàn bộ dải biến thiên bình thường của nền, rồi đánh dấu những gì lệch ra ngoài. Tuy nhiên, ánh sáng và quang học vẫn quyết định phần lớn chất lượng ảnh. Một ảnh xước không nổi lên thì AI cũng khó cứu. Nếu bạn đang chọn chiếu sáng cho lỗi bề mặt, hãy xem bài về đèn vuông dark field khuếch tán OPT RBV9855-W, và bài tổng quan machine vision là gì nếu bạn mới bắt đầu.

Để hiểu rộng hơn về các giải pháp kiểm tra lỗi, bạn có thể tham khảo trang kiểm tra ngoại quan bằng machine vision của BeeVision.

Checklist: nên chọn rule-based hay deep learning?

Hãy trả lời các câu hỏi sau cho ứng dụng của bạn:

  1. Lỗi có mô tả được bằng quy tắc không? Nếu bạn nói được "lỗi là vùng tối hơn ngưỡng X và lớn hơn Y", rule-based thường đủ.
  2. Nền có ổn định không? Nền có vân, phản xạ, màu biến thiên giữa các lô thì nghiêng về deep learning.
  3. Hình dạng lỗi có đa dạng không? Xước, bẩn, lõm xuất hiện ở nhiều hình dạng và vị trí thì nghiêng về deep learning.
  4. Bạn có ảnh OK/NG đại diện không? Nếu chưa có ảnh lỗi, chế độ không giám sát chỉ cần ảnh tốt, nhưng vẫn cần thu thập đủ biến thiên.
  5. Ánh sáng và vị trí chi tiết đã kiểm soát chưa? Cả hai phương pháp đều cần ảnh ổn định. Hãy kiểm soát ánh sáng, khoảng cách làm việc và thời điểm trigger.
  6. Cần giải thích từng quyết định không? Nếu quy định chất lượng đòi hỏi truy vết ngưỡng cụ thể, rule-based có lợi thế.
  7. Có ngân sách phần cứng (GPU) và người duy trì mô hình không? Deep learning cần quy trình thu thập ảnh, huấn luyện lại khi sản phẩm đổi.
  8. Chu kỳ yêu cầu bao nhiêu? Cần đo thử trên phần cứng thật, không suy từ lý thuyết.

Quy tắc ngón tay cái: nếu hầu hết câu trả lời là "có thể mô tả, nền ổn định", hãy giữ rule-based. Nếu hầu hết là "biến thiên, đa dạng, khó mô tả", hãy thử deep learning. Nếu nằm giữa, kết hợp cả hai thường là lựa chọn hợp lý: dùng pattern matching để định vị chi tiết, sau đó dùng deep learning để kiểm tra bề mặt trong vùng đã định vị.

Cognex VisionPro Deep Learning: các nhóm công cụ chính

BeeVision, đối tác Cognex và Cognex Distributor tại Việt Nam, cung cấp thư viện Cognex VisionPro Deep Learning và hỗ trợ tích hợp cho nhiều khách hàng lớn tại Việt Nam. Đây là bộ công cụ machine vision dùng deep learning cho các tác vụ khó lập trình theo cách thông thường, có giao diện riêng là Cognex Deep Learning Studio và các API để lập trình ứng dụng (xem thêm tại cognex.com). Có bốn nhóm công cụ:

Red Analyze: phát hiện bất thường và lỗi ngoại quan

Đây là công cụ trọng tâm cho kiểm tra ngoại quan. Red Analyze học hình dạng bình thường của vùng cần kiểm tra để phát hiện bất thường và lỗi thẩm mỹ, với các chế độ Focused Unsupervised, Focused Supervised và High Detail.

  • Unsupervised (không giám sát): huấn luyện chỉ với ảnh tốt, không cần ảnh lỗi. Phù hợp khi lỗi hiếm hoặc chưa biết hết các dạng lỗi. Bất thường cần đủ nổi bật so với nền; nếu công cụ không phản ứng với lỗi bạn quan tâm, hãy chuyển sang chế độ có giám sát.
  • Supervised (có giám sát): huấn luyện với cả ảnh tốt và ảnh lỗi có đánh dấu vùng lỗi. Phù hợp với lỗi khó như xước, vết bẩn độ tương phản thấp hoặc thay đổi kết cấu bề mặt.

Một cách làm phổ biến là dùng chế độ không giám sát để lọc bất thường trước, rồi dùng công cụ có giám sát cho các lỗi khó hơn.

Green Classify: phân loại

Green Classify phân loại vật thể hoặc cả cảnh dựa trên tập ảnh đã gán nhãn, với các chế độ Focused, High Detail và High Detail Quick. Có thể đặt sau Red Analyze để phân loại loại lỗi đã tìm thấy (xước, bẩn, lõm...), rất hữu ích để thống kê nguyên nhân lỗi ngược về công đoạn sản xuất.

Blue Locate: định vị đặc trưng

Blue Locate tìm và xác định vị trí một hoặc nhiều đặc trưng trong ảnh, học từ ảnh đã chú thích. Công cụ dùng cho định vị (fixturing), đếm và kiểm tra lắp ráp. Công cụ này hữu ích khi pattern matching truyền thống thất bại vì chi tiết biến dạng hoặc nền rối.

Blue Read: OCR bằng deep learning

Blue Read đọc ký tự, kể cả mã bị biến dạng, nghiêng hoặc khắc kém. Công cụ có thư viện font được huấn luyện sẵn, giúp nhận dạng phần lớn văn bản mà không cần huấn luyện font riêng, và có thể huấn luyện lại khi cần.

Khi nào dùng công cụ nào?

Bài toánCông cụ gợi ýGhi chú
Phát hiện lỗi bề mặt, chưa có nhiều ảnh lỗiRed Analyze (Unsupervised)Bắt đầu nhanh với ảnh tốt
Xước mờ, vết bẩn nhạt, lỗi khóRed Analyze (Supervised / High Detail)Cần ảnh lỗi có đánh dấu vùng lỗi
Phân loại loại lỗi hoặc loại sản phẩmGreen ClassifyCó thể đặt sau Red Analyze
Định vị, đếm, kiểm tra lắp ráp khi chi tiết biến đổiBlue LocateThay thế khi pattern matching kém ổn định
Đọc ký tự khó (khắc mờ, nghiêng, biến dạng)Blue ReadCó thư viện font huấn luyện sẵn

Yêu cầu dữ liệu ảnh huấn luyện

Không có một con số ảnh tối thiểu chung cho mọi ứng dụng, và các công cụ này cần tập ảnh nhỏ hơn nhiều so với deep learning thông thường. Vì vậy, đừng tin vào bất kỳ con số "cần đúng N ảnh" nào mà không thử trên mẫu thật. Những nguyên tắc thực hành:

  • Tập ảnh phải đại diện cho mọi biến thiên sẽ gặp trong sản xuất: các lô, ca làm việc, điều kiện chiếu sáng, các dạng lỗi.
  • Gắn nhãn chính xác. Với chế độ có giám sát, nhãn sai làm mô hình học sai.
  • Kiểm soát điều kiện chụp: ánh sáng, khoảng cách làm việc, thời điểm trigger.
  • Chia tập huấn luyện và tập kiểm thử, và kiểm thử trên cả ảnh tốt lẫn ảnh lỗi chưa dùng để huấn luyện.
  • Chế độ không giám sát chỉ cần ảnh tốt; chế độ có giám sát cần cả ảnh lỗi với vùng lỗi được đánh dấu.

Phần cứng GPU

VisionPro Deep Learning chỉ hỗ trợ GPU NVIDIA. Với phiên bản VPDL 3.3.x, GPU cần tương thích CUDA với compute capability từ 6.1 trở lên; PC huấn luyện cần từ 10 GB bộ nhớ GPU và PC triển khai từ 8 GB, riêng các công cụ High Detail nên trang bị nhiều hơn. Các công cụ ở chế độ Focused có thể chạy không cần GPU, nhưng công cụ High Detail thì không xử lý được nếu thiếu GPU. Yêu cầu thay đổi theo từng phiên bản, nên cần đối chiếu đúng phiên bản bạn dùng trước khi chọn cấu hình. Đội kỹ sư BeeVision sẽ giúp bạn chọn GPU và hệ thống vision PC phù hợp.

Triển khai trong dây chuyền

Quy trình thường gồm hai giai đoạn: huấn luyện (trên PC có GPU) và xử lý (chạy mô hình đã huấn luyện trên ảnh mới). Mô hình có thể triển khai qua môi trường runtime hoặc runtime API, và công cụ đã huấn luyện có thể xuất ra rồi nhập vào VisionPro dưới dạng tool block. Điều này cho phép kết hợp deep learning với các công cụ truyền thống ngay trong một chương trình. Các PC chạy phần mềm cần có Cognex Security Dongle hợp lệ. Cognex cũng cung cấp một số công cụ AI trên nền tảng In-Sight; nếu bạn quan tâm hướng camera thông minh, hãy đọc thêm về công nghệ Edge Learning.

Khi đưa vào dây chuyền, hãy tính đến: tín hiệu trigger và kết nối với PLC, thời gian xử lý trong chu kỳ, lưu ảnh NG để truy vết và huấn luyện lại, và quy trình cập nhật mô hình khi sản phẩm thay đổi.

Câu hỏi thường gặp

Deep learning có luôn chính xác hơn thuật toán truyền thống không?

Không. Với bài toán đo kích thước, định vị hay đọc mã rõ nét, rule-based thường nhanh, ổn định và dễ giải thích hơn. Deep learning có lợi thế khi lỗi và nền biến thiên. Độ chính xác phụ thuộc ứng dụng và cần kiểm chứng bằng mẫu thật.

Chưa có nhiều ảnh lỗi thì có dùng được deep learning không?

Có thể bắt đầu với chế độ không giám sát của Red Analyze, chỉ cần ảnh tốt. Nếu lỗi không đủ nổi bật, bạn cần thu thập ảnh lỗi và chuyển sang chế độ có giám sát.

Có thể kết hợp cả hai phương pháp không?

Có, và đây là cách thường gặp: truyền thống để định vị và đo, deep learning để đánh giá bề mặt. Bạn có thể xem thêm trong bài Vision Deep Learning trên website BeeVision.

Bước tiếp theo cùng BeeVision

Cách nhanh nhất để biết ứng dụng của bạn hợp với phương pháp nào là thử trên mẫu thật. Hãy gửi ảnh hoặc mẫu OK/NG, đội kỹ sư BeeVision sẽ chạy thử và đề xuất cấu hình camera, chiếu sáng và phần mềm phù hợp tại trang gửi mẫu thử POC. Bạn cũng có thể xem thêm về các giải pháp Cognex và theo dõi BeeVision trên LinkedIn và YouTube để cập nhật kiến thức machine vision mỗi tuần.