Skip to main content

AI-POWERED DOCS

What do you want to know?

Classification: một nhãn cho mỗi vùng

Một classifier nhìn vào một vùng đã được cắt và trả lời một câu hỏi duy nhất: đây thuộc nhóm nào? Pass hay fail. Rỗng hay đầy. Đỏ, xanh lá hay xanh dương. Đây là loại kiểm tra đơn giản nhất, nhanh nhất, và là lựa chọn mặc định phù hợp trừ khi bạn cần biết vị trí của lỗi.

Việc thiết lập một classifier được xây dựng dựa trên một hệ thống phân cấp đơn giản: Type sở hữu Class, và Type được đóng dấu lên hình ảnh dưới dạng ROI.

Hãy nghĩ về nó như một hệ thống con dấu cao su. Inspection Type chính là con dấu (mẫu thiết kế). ROI là các dấu bạn đóng lên trang giấy (hình ảnh). Mọi dấu đều kế thừa cùng một thiết kế, cùng một danh sách class, và cùng một mô hình đã được huấn luyện.

Ba khái niệm

Trước khi bạn có thể huấn luyện một mô hình AI, camera cần biết ở đâu để nhìn, những kết quả khả dĩ là gì, và mỗi vùng cắt nên được đánh giá như thế nào. Ba câu hỏi đó tương ứng với ba khái niệm, và chúng lồng vào nhau theo một cách rất cụ thể.

01 / Concept

Inspection Type

A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.

02 / Concept

Classes

The vocabulary of possible outcomes for this inspection. Defined once on the type.

03 / Concept

Region of Interest (ROI)

A rectangle drawn on the image. Many ROIs can share one type and, therefore, one dataset and one model.

Mô Hình Tư Duy: một type sở hữu các class và các ROI

Một Inspection Type là một thùng chứa. Nó chứa một dataset dùng chung, một danh sách class dùng chung, và một mô hình AI đã được huấn luyện. Sau đó bạn đóng dấu thùng chứa đó lên hình ảnh ở nhiều vị trí khác nhau, các con dấu đó chính là các ROI. Mọi ROI cùng type đều kế thừa cùng các class và được đánh giá bởi cùng một mô hình.

INSPECTION TYPEone bucket1 dataset · 1 model · N ROIsCLASSES · DEFINED ONCEclass_aclass_bclass_c+ addAdd or edit classes here andevery ROI on this type updates.Single source of truth.ROIs · PLACED ON IMAGEroi_1roi_2roi_3roi_4roi_5+ add ROIEach ROI is a tight crop at a specificlocation, evaluated by the same model.All share one dataset.classes applied to ROIs
  • Inspection Type là thùng chứa.
  • Class là từ vựng kết quả.
  • ROI là một vị trí trên hình ảnh.

Đối với một classifier: một nhãn cho mỗi ROI, được chọn từ danh sách class

Một classifier lấy mỗi vùng cắt ROI và đặt một câu hỏi duy nhất: vùng này trông giống class nào? Có hay không. Pass hay fail. Tốt, trầy xước, hoặc nứt. Đầu ra cho mỗi ROI là một tên class kèm điểm tin cậy, một câu trả lời phân loại sạch sẽ mà phần còn lại của pipeline có thể xử lý.

Ví dụ thực tế: kiểm tra sự hiện diện của ốc vít trên PCB

Hãy xét một bo mạch PCB với sáu vị trí ốc vít. Bốn ốc vít có mặt, một bị thiếu, một bị hỏng. Bạn sẽ cấu hình như sau:

OV-MCU · v2Screw_1 · presentScrew_2 · absentScrew_3 · presentScrew_4 · presentScrew_5 · presentScrew_6 · damaged
  • Type: Screws (6 ROI, classifier)
  • Classes: present, absent, damaged
  • ROIs: Screw_1 đến Screw_6, mỗi cái được gán nhãn với một trong ba class

Đầu ra cho mỗi ROI là một nhãn cộng với độ tin cậy:

ROILabelConfidence
Screw_1present0.98
Screw_2absent0.94
Screw_3present0.97
Screw_4present0.96
Screw_5present0.95
Screw_6damaged0.82

Ba điều cần ghi nhớ từ ví dụ này:

  1. Một nhãn cho mỗi ROI. Classifier gán chính xác một class cho mỗi vùng cắt, một lựa chọn dropdown, không phải nhiệm vụ tô vẽ. Đầu ra là class_name cộng với điểm confidence.
  2. Type là chủ sở hữu. Cả sáu ROI đều dùng chung dataset Screws. Chụp một hình ảnh cho bạn sáu mẫu huấn luyện mới, và một mô hình đã huấn luyện sẽ quyết định cả sáu.
  3. ROI chỉ là vị trí. Vẽ chặt (dưới 512 × 512 px). Sử dụng Duplicate để đóng dấu Screw_1 → Screw_2 → Screw_3, mỗi cái tự động kế thừa danh sách class.

Đào sâu: cách các class hoạt động

Class thuộc về type, không phải ROI

Đây là điều quan trọng nhất cần ghi nhớ. Class là một thuộc tính của Inspection Type, có nghĩa là việc thêm hoặc xóa một class sẽ thay đổi tự động các tùy chọn nhãn cho mọi ROI sử dụng type đó.

TYPE · SCREWS · CLASSESpresentabsentdamagedstripped_headNEWAdd a class here →Screw_1LABELpresent ▾other options:· absent · damaged· stripped_head ← newScrew_2LABELabsent ▾other options:· present · damaged· stripped_head ← newScrew_3LABELpresent ▾other options:· absent · damaged· stripped_head ← new…AND EVERY OTHER ROI OF THIS TYPE
  1. Định nghĩa một lần. Nhấp vào + Add class trong panel Classes. Đặt tên cho nó (ví dụ stripped_head) và một màu sắc.
  2. Lan truyền ngay lập tức. Class mới xuất hiện trong dropdown trên mọi ROI của type đó. Không cần cấu hình từng ROI.
  3. Gán nhãn lại khi cần. Hình ảnh huấn luyện hiện có giữ nguyên nhãn; bạn có thể xem lại bất kỳ hình ảnh nào và phân loại lại sang class mới.
  4. Giữ cho gọn. Bắt đầu với tập class nhỏ nhất phản ánh được các quyết định của bạn. Hai class (pass / fail) thường hiệu quả hơn năm class mơ hồ.

Đào sâu: cách các ROI hoạt động

Quy Tắc Vàng của ROI

Vùng nhỏ hơn thì thắng. Làm cho mỗi ROI vừa đủ lớn để chứa đặc trưng. ROI nhỏ hơn nghĩa là cần ít dữ liệu huấn luyện hơn, lặp lại nhanh hơn, và quyết định AI chính xác hơn, đặc trưng chiếm ưu thế trong vùng cắt thay vì bị lạc trong nền, và không có gì bị giảm kích thước.

Nhỏ, cụ thể, và nhiều

Một ROI cho camera biết nơi để cắt. Vùng cắt càng chặt, tín hiệu mà mô hình nhận được càng rõ ràng. Vì các ROI dùng chung một type, thêm nhiều ROI sẽ nhân lên dữ liệu huấn luyện của bạn mà không tăng khối lượng công việc.

GOOD · TIGHT CROP60 × 60 px · feature dominatesBAD · TOO LARGEscrew is a speck · downscaledDUPLICATE PATTERNScrew_1Screw_2Screw_3…NName the first ROI, click Duplicate, and the rest auto-increment.All share the same type → same classes, same dataset, same model.10 ROIs × 1 CAPTURE = 10 TRAINING SAMPLES
  1. Giữ vùng cắt dưới 512 × 512 px. Bất cứ thứ gì lớn hơn sẽ bị giảm kích thước để vừa với đầu vào của mô hình, và chi tiết bị mất vĩnh viễn.
  2. Chặt thì tốt hơn. Một ROI nhỏ quanh một đặc trưng đơn lẻ cho mô hình một tín hiệu rõ ràng và cần ít dữ liệu huấn luyện hơn để hội tụ.
  3. Nhiều ROI, một type. 10 ốc vít → 10 ROI trên cùng type Screws. Một lần chụp trở thành mười mẫu huấn luyện, và một mô hình xử lý cả mười khi suy luận.
  4. Sử dụng Duplicate. Đặt tên ROI đầu tiên có ý nghĩa (Screw_Top_Left). Duplicate tự động tăng số trong tên để bạn không phải gõ lại.
  5. Cần phủ toàn bộ? Đừng vẽ một ROI khổng lồ, hãy lát một lưới các ROI nhỏ. Mỗi cái giữ nguyên độ phân giải đầy đủ.

Luồng dữ liệu: mỗi ROI đi qua mô hình theo lượt riêng của nó

Tại thời điểm chạy, camera cắt từng ROI ra khỏi hình ảnh đầy đủ, đưa nó vào mô hình đã được huấn luyện riêng lẻ, và ghi lại class nào thắng cùng với điểm tin cậy. Kết quả là một nhãn cho mỗi ROI, mỗi lần chụp.

1 · CAPTUREFull frame + 6 ROIs2 · CROP INDIVIDUALLYScrew_1Screw_2Screw_3Screw_4Screw_5Screw_6max 512 × 512 px each3 · CLASSIFIER MODELScrews · trained modelpicks 1 class + confidence4 · OUTPUTScrew_1present 0.98Screw_2absent 0.94Screw_3present 0.97Screw_4present 0.99Screw_5present 0.96Screw_6damaged 0.82resultFAIL
  1. Chụp toàn bộ khung hình với tất cả ROI được đánh dấu.
  2. Cắt riêng lẻ để mỗi ROI trở thành hình ảnh nhỏ riêng của nó.
  3. Classifier model chọn một class cộng với điểm tin cậy cho mỗi vùng cắt.
  4. Đầu ra là một bảng ROI → nhãn → độ tin cậy. Logic pass/fail trên bảng đó tùy thuộc vào quy tắc IO Block của bạn.

Tóm tắt thiết lập

Một danh sách kiểm tra nhanh trước khi bạn huấn luyện. Nếu tất cả các mục này đều đúng, classifier của bạn sẽ có một nền tảng vững chắc.

  • Một Inspection Type cho mỗi quyết định. Đừng trộn lẫn "ốc vít" và "nhãn" trong cùng một type, hãy cho mỗi cái type riêng để chúng có class, dataset và mô hình riêng.
  • Class được định nghĩa ở cấp type. Mọi ROI đều có cùng dropdown. Nếu một tùy chọn không áp dụng cho mọi ROI, nó có lẽ thuộc về một type khác.
  • ROI được vẽ chặt và đặt tên mô tả. Screw_Top_Left tốt hơn New ROI. Giữ mỗi ROI vừa đủ lớn cho đặc trưng của nó, và dưới 512 × 512 px.
  • Alignment hoạt động trước. Nếu bộ phận dịch chuyển hoặc xoay, aligner sẽ di chuyển ROI của bạn theo. ROI chặt chỉ hoạt động khi alignment vững chắc.
  • 3 đến 5 hình ảnh huấn luyện cho mỗi class để bắt đầu. Huấn luyện, tìm các thất bại, thêm dữ liệu có mục tiêu, huấn luyện lại. Hai đến bốn lần lặp là điển hình.
  • Mỗi nhãn được kiểm tra lại. Một nhãn sai trong năm hình ảnh huấn luyện là 20% nhiễm bẩn. Nhấp View All ROIs trước mỗi lần huấn luyện.

Tiếp theo là gì