AI-POWERED DOCS
What do you want to know?
Segmentation: một nhãn cho mỗi pixel
Một segmenter xem xét một vùng đã được cắt và trả lời một câu hỏi phong phú hơn: không chỉ cái gì ở đây, mà còn ở đâu và bao nhiêu. Vết xước nằm chính xác ở đâu? Vết bẩn lớn cỡ nào? Có bao nhiêu viên thuốc nằm trong khay? Nó đánh đổi tốc độ của classifier để lấy một mask từng pixel — chi tiết không gian mà bạn cần để đo lường, đếm hoặc định vị các lỗi.
Thiết lập được xây dựng trên cùng hệ thống phân cấp như một classifier: Types sở hữu Classes, và Types được đóng dấu lên hình ảnh dưới dạng ROIs.
Hãy nghĩ về nó như một bộ tô màu theo số. Inspection Type là bộ kit (bảng màu cộng với các đường viền hình dạng). Classes là các màu sơn bạn chọn từ đó. ROIs là các khung tranh mà bạn tô lên mỗi lần chụp, và mỗi pixel được tô sẽ được gán vào đúng một class, bao gồm cả background ngầm định.
OV80i là camera duy nhất trong dòng sản phẩm hỗ trợ multi-model recipes. Ghép một segmenter (cho masks, đếm và đo lường) với một classifier (cho phán quyết về các danh mục đã biết) trong cùng một lần kiểm tra. Xem Understanding Classifier để biết về nửa còn lại.
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ả có thể là gì, và cách đánh giá mỗi vùng cắt. 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ể.
Inspection Type
A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.
Classes
The vocabulary of possible outcomes for this inspection. Defined once on the type.
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 classes và các ROIs
Một Inspection Type là một thùng chứa. Nó giữ một tập dữ liệu chung, một danh sách classes 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í — những dấu đó là các ROIs. Mọi ROI cùng type đều thừa hưởng các classes giống nhau và được đánh giá bởi cùng một mô hình.
- Inspection Type là thùng chứa.
- Classes là từ vựng kết quả.
- ROI là một vị trí trên hình ảnh.
Đối với một segmenter: một nhãn cho mỗi pixel, được tô vẽ, không phải chọn lựa
Một segmenter lấy mỗi vùng cắt ROI và thực hiện điều gì đó phong phú hơn việc chọn một class: nó gán nhãn mọi pixel. Thay vì chọn một câu trả lời từ dropdown, bạn quét các lỗi lên hình ảnh huấn luyện, và mô hình học hình dạng của mỗi class. Đầu ra cho mỗi ROI là một mask — một bản đồ từng pixel mà bạn có thể đo lường, định vị và đếm.
Ví dụ trực tiếp: phát hiện lỗi bề mặt
Hãy tưởng tượng một bề mặt kim loại đánh bóng có hai vết xước, một vết lõm và một vết bẩn. Bạn sẽ cấu hình nó như sau:
- Type:
Surface Quality(1 ROI, segmenter) - Classes:
background(ngầm định),scratch,dent,stain - ROI:
Surface_Top(bao phủ vùng có thể kiểm tra)
Thay vì chọn một nhãn cho toàn bộ vùng, bạn tô từng lỗi bằng màu của class tương ứng. Đầu ra của mô hình là một mask, được phân tích theo từng class:
| Class | Độ phủ |
|---|---|
| background | 93.5% |
| scratch | 3.1% |
| dent | 1.4% |
| stain | 2.0% |
Ba điều cần ghi nhớ từ ví dụ này:
- Tô vẽ, không phải chọn lựa. Thay vì chọn một nhãn cho toàn bộ ROI, bạn tô từng pixel lỗi. Mô hình học hình dạng của mỗi class, không chỉ là sự hiện diện của nó.
- ROI là lãnh thổ pixel. Segmenter nhìn vào bên trong ROI và gán nhãn cho mọi pixel. Diện tích bề mặt càng lớn = càng nhiều pixel cần đánh giá. Vẫn phải tôn trọng quy tắc
512 × 512, chia lưới nếu khu vực quá lớn. - Classes là các loại lỗi. Không phải pass/fail, mỗi class là một thứ riêng biệt mà bạn muốn định vị:
scratch,dent,stain. Cộng với mộtbackgroundngầm định.
Tìm hiểu sâu: cách các class hoạt động
Mỗi class là một màu trên bảng màu
Trong một segmenter, các class không phải là nhãn bạn chọn từ menu thả xuống, chúng là sơn mà bạn áp dụng. Chọn một class, và cọ vẽ của bạn bắt đầu viết các pixel bằng màu của class đó. Mọi pixel trong ROI đều được gán cho chính xác một class, bao gồm cả background mặc định.
- Định nghĩa một lần trên type. Thêm một class (ví dụ
burn_mark) và cho nó một màu. Mọi ROI thuộc type này giờ đây đã có sẵn màu đó trên bảng màu của nó. - Background là miễn phí. Bạn không cần tô các pixel "không có gì sai ở đây". Bất kỳ pixel nào không được tô đều tự động là
background. - Một class trên mỗi pixel. Tô bằng
dentlên mộtscratchsẽ thay thế nhãn, các class không thể chồng lên nhau trên một pixel. - Bắt đầu đơn giản. Hai hoặc ba class lỗi thường hoạt động tốt hơn sáu class mơ hồ. Hợp nhất các lỗi tương tự cho đến khi model gặp khó khăn trong việc phân biệt chúng, sau đó tách ra.
Tìm hiểu sâu: cách các ROI hoạt động
Vùng nhỏ hơn sẽ thắng. Hãy làm cho mỗi ROI vừa đủ lớn để chứa đặc trưng. ROI nhỏ hơn có nghĩa là ít dữ liệu huấn luyện hơn, lặp lại nhanh hơn, và các 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ị mất trong nền, và không có gì bị thu nhỏ.
Vẫn nhỏ, vẫn cụ thể, ngay cả đối với segmenter
Rất hấp dẫn khi vẽ một ROI khổng lồ trên toàn bộ một bề mặt, nhưng Quy Tắc Vàng vẫn được áp dụng. ROI của một segmenter sẽ bị thu nhỏ để phù hợp với đầu vào của model giống như của classifier, và một lỗi chỉ rộng 20 pixel sẽ biến mất khi bạn thu nhỏ một ROI rộng 2000 pixel xuống còn 512.
- Giữ mỗi ROI dưới 512 × 512 px. Vượt quá mức đó, chi tiết sẽ vĩnh viễn bị mất do thu nhỏ. Các lỗi nhỏ trở nên vô hình.
- Vùng cắt sát nghĩa là mask sát. Một ROI nhỏ giữ mỗi pixel ở độ phân giải đầy đủ, do đó mask sẽ khớp với ranh giới lỗi thực tế.
- Bề mặt lớn? Chia thành lưới. Đừng kéo dài một ROI trên toàn bộ một tấm. Hãy đặt một lưới gồm các ROI nhỏ hơn để mỗi ô vẫn giữ độ phân giải đầy đủ và model có thể nhìn thấy các lỗi tinh vi.
- Mask được lưu cho mỗi lần chụp. Mỗi hình ảnh huấn luyện lưu trữ mask được tô riêng của nó cho ROI; model học từ tất cả chúng.
- Đầu ra phong phú. Trên mỗi ROI, bạn nhận được số lượng pixel cho mỗi class, bounding box cho mỗi vùng lỗi, và các diện tích đo lường được, đủ cho các quy tắc pass/fail dựa trên kích thước.
Luồng dữ liệu: mọi ROI đều quay lại với một mask, không phải một nhãn
Trong thời gian chạy, camera cắt ROI ra khỏi hình ảnh đầy đủ, đưa nó vào segmenter đã được huấn luyện, và nhận lại một dự đoán trên mỗi pixel, một mask có cùng kích thước trong đó mỗi pixel mang một class. Từ mask đó, camera suy ra số lượng pixel, các vùng lỗi và bounding box.
- Capture toàn bộ khung hình với ROI được đánh dấu.
- Crop ROI xuống thành một hình ảnh duy nhất, được giữ ở mức bằng hoặc dưới 512 × 512 px.
- Model segmenter dự đoán một class cho mỗi pixel bằng cách sử dụng kiến trúc encoder-decoder.
- Đầu ra Mask là một bản đồ pixel có màu cộng với số lượng pixel trên mỗi class, cộng với bounding box cho mỗi vùng được kết nối. Các quy tắc pass/fail chạy trên các số này trong IO Block.
Sáng tạo: mask là một đối tượng hình học
Khi segmenter trả về một mask, bạn không bị giới hạn ở pass/fail. Bạn có hình dạng và vị trí chính xác của mỗi class, nghĩa là bạn có thể suy ra các phép đo, số lượng, khoảng cách và quan hệ không gian. Điều đó mở ra cả một danh mục kiểm tra không hề giống "tìm vết xước", và cùng một segmenter có thể phục vụ tất cả.
Area & coverage
Pixel counts become mm² on a calibrated camera. Set pass/fail in real-world units, "reject if stain > 3 mm²", instead of fuzzy percentages.
Distinct blobs
Four small pits tell a different story than one big one. Count connected regions per class to flag defect frequency, not just total coverage.
Dimensions & shape
Length, width, aspect ratio, orientation, all fall out of the mask. Flag long scratches, ignore micro ones. Or flag round dents and ignore elongated ones.
Blob-to-blob distance
Euclidean gap between two painted regions, centroid-to-centroid or nearest-edge. Useful for component spacing, pin pitch, weld-to-weld gaps, or detecting defect clusters.
Distance to a reference
Paint a second class for your reference (edge, fiducial, adjacent component) then measure how far the defect sits from it. A defect 8 mm inside might be fine; 0.5 mm from the edge might be a reject.
Not just defects
Paint whatever you want to find: pills in a blister, screws in a tray, weld beads, gaps, fiducials, cells on a slide. Segmentation is a general-purpose scalpel, not a defect-only tool.
Lỗi thường gặp: huấn luyện ở quy mô bạn sẽ kiểm tra
Một segmenter chỉ học kích thước và kết cấu của các khuyết tật mà nó được cho xem. Huấn luyện nó trên các tạp chất nhỏ và một mảng lớn của cùng class khuyết tật đó sẽ thường xuyên đi qua chuyền sản xuất mà chỉ có các cạnh hoặc các mảng rải rác được tô — phần lớn của khuyết tật không được mask.
Nếu tập huấn luyện của bạn chỉ có các ví dụ nhỏ về một khuyết tật, model sẽ coi phiên bản lớn là "hầu hết là background với vài mảng nhỏ hình dạng khuyết tật". Mask trông loang lổ hoặc chỉ đánh dấu các cạnh/góc của khuyết tật thực thay vì bao phủ nó.
Khắc phục: thêm các ví dụ huấn luyện trải đều toàn bộ phạm vi kích thước mà bạn dự kiến trên chuyền. Một vài ảnh chụp tạp chất lớn cùng với các ảnh nhỏ thường là đủ. Nguyên tắc tương tự áp dụng cho biến thể kết cấu và màu sắc — huấn luyện trên sự đa dạng mà bạn sẽ thấy trong sản xuất.
Không có mẫu khuyết tật lớn? Sử dụng Defect Creator Studio để tạo các hình ảnh huấn luyện tổng hợp của cùng khuyết tật ở các kích thước, vị trí và hướng khác nhau — không cần đợi một tạp chất lớn thực sự đi qua chuyề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 mỗi mục dưới đây đều đúng, segmenter của bạn sẽ có một nền tảng vững chắc.
- Một Inspection Type cho mỗi bề mặt. Kiểm tra hai vật liệu hoặc nhóm khuyết tật khác nhau? Cho mỗi loại một type riêng để chúng có classes, dataset và model riêng.
- Classes đại diện cho loại khuyết tật, không phải mức độ nghiêm trọng.
scratch,dent,stain, mỗi cái là một thực thể trực quan riêng biệt. Mức độ nghiêm trọng và pass/fail đến từ số lượng pixel của mask ở các bước sau. - Background là ngầm định. Bạn không bao giờ tô hoặc gán nhãn các pixel "tốt". Bất kỳ phần nào không được tô đều thuộc về
background. - ROIs có kích thước hợp lý. Bao phủ vùng quan tâm, nhưng giữ dưới 512 × 512 px mỗi ROI. Chia lưới nếu bề mặt lớn hơn.
- Tô mọi khuyết tật nhìn thấy được. Khuyết tật bị bỏ sót trong dữ liệu huấn luyện sẽ dạy model rằng chúng là background, bài học tệ nhất có thể cho việc kiểm tra chất lượng.
- Dữ liệu huấn luyện trải đều toàn bộ phạm vi kích thước khuyết tật mà bạn dự kiến trong sản xuất (xem lỗi thường gặp ở trên). Một model được huấn luyện trên các ví dụ nhỏ sẽ không tổng quát hóa được cho các ví dụ lớn.
- Bắt đầu với 10 đến 15 hình ảnh mỗi class. Huấn luyện, chạy live preview, thêm hình ảnh có mục tiêu vào nơi mask bị sai, huấn luyện lại. Hai đến bốn vòng lặp là điển hình.
Tiếp theo là gì
- Hiểu Về Classifier, trang anh em về các model dropdown-pick.
- Regions of Interest (ROIs), hướng dẫn thực hành về vẽ ROIs.
- Huấn Luyện AI Của Bạn, quy trình gán nhãn và huấn luyện.