Skip to main content

AI-POWERED DOCS

What do you want to know?

Huấn Luyện Segmenter

Hướng dẫn này chỉ cho bạn cách thiết lập và cấu hình tính năng segmentation của OV80i để tự động phát hiện, đo lường và phân tích các đặc điểm hoặc lỗi cụ thể trên các bộ phận của bạn. Sử dụng segmentation khi bạn cần xác định các hình dạng bất thường, đo diện tích hoặc phát hiện các mẫu cụ thể mà không thể xử lý bằng classification đơn giản.

Hướng Dẫn Video

Xem chủ đề này trong thực tế: Cách tạo recipe segmentation trong vài phút

Khi Nào Sử Dụng Segmentation: Lỗi bề mặt, tràn chất lỏng, hình dạng bất thường, đo diện tích, phát hiện mẫu, hoặc bất kỳ đặc điểm nào yêu cầu độ chính xác ở cấp độ pixel.

Trước Khi Bắt Đầu

Những Gì Bạn Cần

  • Hệ thống camera OV80i đã được thiết lập và kết nối
  • Các bộ phận thử nghiệm có đặc điểm bạn muốn segment (ví dụ: tấm giấy có vết bút chì)
  • Điều kiện ánh sáng tốt cho ứng dụng cụ thể của bạn
  • 15-20 hình ảnh mẫu để huấn luyện

Bước 1: Tạo Recipe Segmentation

1.1 Bắt Đầu Recipe Mới

  1. Điều hướng đến trang All Recipes
  2. Nhấp + New Recipe (góc trên bên phải)

Nút New Recipe

  1. Nhập Tên Recipe: Sử dụng tên mô tả như "Pencil_Mark_Detection" hoặc "Surface_Defect_Segmentation"
  2. Chọn Loại Recipe: Chọn "Segmentation" từ menu thả xuống
  3. Nhấp OK để tạo

1.2 Kích Hoạt Recipe

  1. Tìm recipe của bạn trong danh sách (hiển thị là "Inactive")
  2. Nhấp Activate
  3. Nhấp Activate and go to editor để xác nhận và khởi chạy trình chỉnh sửa recipe

Nút Activate recipe

Kết Quả: Recipe hiện đã "Active" với Recipe Editor được hiển thị.

Bước 2: Cấu Hình Cài Đặt Camera

2.1 Mở Cấu Hình Imaging

  1. Nhấp Configure Imaging (phía dưới bên trái)

Configure Image

2.2 Tối Ưu Hóa Focus Cho Segmentation

Focus là yếu tố quan trọng để phát hiện cạnh chính xác:

  1. Đặt bộ phận thử nghiệm trong khung hình của camera
  2. Điều chỉnh Focus cho đến khi các cạnh sắc nét và rõ ràng
  3. Thử nghiệm với các bộ phận khác nhau để đảm bảo độ focus nhất quán trên toàn dải
tip
  • Focus vào bề mặt nơi các lỗi/đặc điểm sẽ xuất hiện
  • Đảm bảo toàn bộ khu vực quan tâm đều được focus sắc nét
  • Hơi quá sắc nét vẫn tốt hơn là focus mờ đối với segmentation

2.3 Thiết Lập Exposure Tối Ưu

Exposure phù hợp đảm bảo phát hiện đặc điểm nhất quán:

  1. Điều chỉnh Exposure để cân bằng ánh sáng
  2. Tránh các khu vực quá sáng (vùng trắng hoàn toàn)
  3. Đảm bảo các đặc điểm có thể nhìn thấy với độ tương phản tốt

Hướng Dẫn Exposure Cho Segmentation:

  • Các đặc điểm cần có độ tương phản rõ ràng với nền
  • Tránh các bóng có thể bị nhầm lẫn với lỗi
  • Thử nghiệm với nhiều điều kiện bộ phận khác nhau (sạch, bẩn, mòn)

2.4 Cấu Hình Mẫu Ánh Sáng LED

Chọn ánh sáng dựa trên đối tượng bạn đang segment:

Loại Đặc ĐiểmÁnh Sáng Khuyến NghịLý Do
Lỗi bề mặtBright fieldChiếu sáng đều làm lộ rõ các bất thường trên bề mặt
Vết xước/nứtSide lightingTạo bóng làm nổi bật các lỗi dạng đường thẳng
Đặc điểm nhô caoDark fieldLàm cho các vùng nhô cao nổi bật so với nền
Chất lỏng trànSide lightingHiển thị sự khác biệt về kết cấu bề mặt

2.5 Điều Chỉnh Gamma để Tăng Cường Đặc Trưng

  1. Tăng Gamma để cải thiện độ tương phản giữa các đặc trưng và nền
  2. Thử nghiệm các giá trị khác nhau trong khi quan sát các đặc trưng mục tiêu
  3. Tìm cài đặt giúp các đặc trưng dễ phân biệt nhất

2.6 Lưu Cấu Hình

  1. Xem lại các cài đặt trong bản xem trước trực tiếp
  2. Nhấp vào Save Imaging Settings

Save Settings

Điểm Kiểm Tra: Các đặc trưng phải hiển thị rõ ràng với độ tương phản tốt.

Bước 3: Thiết Lập Template và Alignment

3.1 Điều Hướng đến Phần Template

Nhấp vào "Template Image and Alignment" trong menu breadcrumb

3.2 Cấu Hình Alignment (Tùy Chọn)

Template and alignment

Với ví dụ này, chúng ta sẽ bỏ qua alignment:

  1. Chọn Skip Aligner nếu các bộ phận được định vị nhất quán
  2. Nhấp vào Save

Template image

Khi Nào Nên Dùng Aligner: Bật khi các bộ phận đến với vị trí hoặc hướng thay đổi có thể ảnh hưởng đến độ chính xác của segmentation.

Bước 4: Xác Định Vùng Kiểm Tra

4.1 Điều Hướng đến Inspection Setup

Nhấp vào "Inspection Setup" trong menu breadcrumb

4.2 Thiết Lập Region of Interest (ROI)

ROI xác định nơi segmentation sẽ diễn ra:

  1. Đặt một bộ phận thử nghiệm trong tầm nhìn của camera
  2. Kéo các góc ROI để đóng khung vùng kiểm tra
  3. Định cỡ ROI phù hợp:
    • Bao gồm tất cả các khu vực mà đặc trưng có thể xuất hiện
    • Loại trừ các vùng nền không cần thiết
    • Để lại khoảng đệm nhỏ xung quanh vị trí đặc trưng dự kiến

ROI Setup

4.3 Thực Hành Tốt Nhất về ROI cho Segmentation

NênKhông Nên
Bao phủ toàn bộ bề mặt kiểm traBao gồm các đối tượng nền không liên quan
Để lại khoảng đệm quanh các cạnhTạo ROI quá nhỏ cho sự thay đổi đặc trưng
Cân nhắc sự thay đổi vị trí bộ phậnChồng lấn với đồ gá hoặc dụng cụ
Kiểm tra với các đặc trưng lớn nhất dự kiếnBao gồm các khu vực có dấu vĩnh viễn

4.4 Lưu Cài Đặt ROI

  1. Xác minh ROI bao phủ tất cả các khu vực mục tiêu
  2. Nhấp vào Save

Bước 5: Gắn Nhãn Dữ Liệu Huấn Luyện

5.1 Điều Hướng đến Label And Train

Nhấp vào "Label And Train" trong menu breadcrumb

5.2 Cấu Hình Inspection Class

  1. Nhấp vào Edit bên dưới Inspection Types
  2. Đổi tên class để phù hợp với đặc trưng của bạn (ví dụ: "Pencil Mark", "Surface Defect", "Spill Area")
  3. Chọn màu class để nhận diện trực quan
  4. Lưu các thay đổi

5.3 Chụp và Gắn Nhãn Hình Ảnh Huấn Luyện

Bạn cần tối thiểu 10 hình ảnh được gắn nhãn, nhưng khuyến nghị 15-20:

Quy Trình Chụp Hình

  1. Đặt bộ phận thử nghiệm đầu tiên vào khu vực kiểm tra
  2. Chụp hình bằng giao diện camera
  3. Sử dụng công cụ Brush để tô lên các đặc trưng mục tiêu
  4. Tô chính xác:
    • Bao phủ toàn bộ vùng đặc trưng
    • Giữ trong ranh giới đặc trưng
    • Không tô vào vùng nền
    • Sử dụng phương pháp gắn nhãn nhất quán
  5. Nhấp vào Save Annotations
  6. Lặp lại với bộ phận tiếp theo

Label and Train

Phương Pháp Gắn Nhãn Tốt Nhất

Gắn Nhãn TốtGắn Nhãn Kém
Ranh giới đặc trưng chính xácVẽ cạnh cẩu thả
Định nghĩa đặc trưng nhất quánTiêu chí không nhất quán
Bao phủ đầy đủ đặc trưngThiếu vùng đặc trưng
Nền sạch (không vẽ)Vẽ nhầm vào nền

5.4 Đa Dạng Dữ Liệu Huấn Luyện

Đảm bảo tập huấn luyện của bạn bao gồm:

  • Kích thước đặc trưng khác nhau
  • Cường độ đặc trưng đa dạng
  • Nhiều vị trí khác nhau trong ROI
  • Điều kiện ánh sáng khác nhau (nếu có)
  • Các trường hợp biên và ví dụ ranh giới

5.5 Kiểm Tra Chất Lượng Dữ Liệu Huấn Luyện

  1. Xem lại tất cả hình ảnh đã gắn nhãn
  2. Xác minh phương pháp gắn nhãn nhất quán
  3. Xóa bất kỳ ví dụ nào được gắn nhãn sai
  4. Thêm ví dụ nếu cần

Bước 6: Huấn Luyện Mô Hình Segmentation

6.1 Bắt Đầu Quá Trình Huấn Luyện

  1. Nhấn Return to Live khi hoàn tất việc gắn nhãn
  2. Nhấn Train Segmentation Model

Start Training

6.2 Cấu Hình Tham Số Huấn Luyện

  1. Đặt Số Lần Lặp (Iterations):
    • Huấn luyện nhanh: 50-100 lần lặp (5-10 phút)
    • Chất lượng sản xuất: 200-500 lần lặp (15-30 phút)
    • Độ chính xác cao: 500+ lần lặp (30+ phút)
  2. Nhấn Start Training

6.3 Theo Dõi Tiến Trình Huấn Luyện

Tiến trình huấn luyện hiển thị:

  • Số lần lặp hiện tại
  • Phần trăm độ chính xác huấn luyện
  • Thời gian hoàn thành ước tính

Training

Điều Khiển Huấn Luyện:

  • Abort Training: Dừng nếu có sự cố
  • Finish Training Early: Dừng khi độ chính xác đã đủ

Training 2

tip
  • Độ chính xác 85% thường phù hợp cho sản xuất
  • Huấn luyện sẽ tự động dừng khi đạt độ chính xác mục tiêu
  • Nhiều dữ liệu huấn luyện thường tốt hơn nhiều lần lặp

Bước 7: Kiểm Tra Hiệu Suất Segmentation

7.1 Truy Cập Live Preview

  1. Nhấn Live Preview sau khi huấn luyện hoàn tất
  2. Kiểm tra với các sản phẩm khác nhau:
    • Sản phẩm đạt chuẩn (không hoặc ít segmentation)
    • Sản phẩm lỗi đã biết (sẽ làm nổi bật các lỗi)
    • Các trường hợp biên và ví dụ ranh giới

Live preview

7.2 Đánh Giá Kết Quả

Kiểm tra chất lượng segmentation:

Chỉ SốHiệu Suất TốtCần Cải Thiện
AccuracyPhát hiện đặc trưng thực một cách nhất quánBỏ sót các đặc trưng rõ ràng
PrecisionÍt false positiveNhiều vùng nền bị làm nổi bật
Chất Lượng CạnhRanh giới sạch, chính xácCạnh thô hoặc không chính xác
Tính Nhất QuánKết quả tương tự khi kiểm tra lặp lạiKết quả thay đổi nhiều

7.3 Khắc Phục Kết Quả Kém

Vấn ĐềNguyên Nhân Có ThểGiải Pháp
Thiếu đặc trưngDữ liệu huấn luyện không đủThêm nhiều ví dụ được gắn nhãn
False positiveÁnh sáng/độ tương phản kémCải thiện cài đặt chụp ảnh
Cạnh thôChất lượng ảnh kémCải thiện tiêu cự/ánh sáng
Kết quả không nhất quánThiếu đa dạng trong huấn luyệnThêm nhiều ví dụ đa dạng hơn

Bước 8: Cấu Hình Logic Pass/Fail

8.1 Truy Cập IO Block

  1. Đảm bảo mô hình AI hiển thị màu xanh (trạng thái đã được huấn luyện)
  2. Điều hướng đến IO Block qua menu breadcrumb

8.2 Xóa Logic Mặc Định

  1. Xóa node Classification Block Logic
  2. Chuẩn bị xây dựng logic segmentation tùy chỉnh

8.3 Xây Dựng Flow Segmentation

Tạo flow Node-RED với các thành phần sau:

  1. Kéo các node từ panel bên trái:
    • Function node (cho logic)
    • Debug node (để kiểm tra)
    • Node Pass/Fail cuối cùng
  2. Kết nối các node bằng dây

NodeRed

8.4 Cấu Hình Logic Theo Nhu Cầu Của Bạn

Phương Án A: Pass nếu Không Phát Hiện Lỗi

Trường Hợp Sử Dụng: Kiểm tra chất lượng khi bất kỳ đặc điểm nào được phát hiện đều là fail

Mã Function Node:

const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1; // Pass if no features found
msg.payload = results;
return msg;

Phương Án B: Pass nếu Chỉ Có Lỗi Nhỏ

Trường Hợp Sử Dụng: Chấp nhận các lỗi nhỏ dưới ngưỡng kích thước

Mã Function Node:

const threshold = 500; // Adjust pixel count threshold
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;

Phương Án C: Pass nếu Tổng Diện Tích Lỗi Nhỏ

Trường Hợp Sử Dụng: Chấp nhận các chi tiết có tổng diện tích lỗi hạn chế

Mã Function Node:

const threshold = 5000; // Adjust total pixel threshold
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;

8.5 Cấu Hình Function Node

  1. Nhấp đúp vào Function node
  2. Sao chép mã phù hợp từ các ví dụ ở trên
  3. Dán vào tab "On Message"
  4. Điều chỉnh giá trị ngưỡng cho ứng dụng của bạn
  5. Nhấp Done

8.6 Triển Khai và Kiểm Tra Logic

  1. Nhấp Deploy để kích hoạt logic
  2. Điều hướng đến HMI để kiểm tra
  3. Kiểm tra với các chi tiết tốt và xấu đã biết
  4. Xác minh kết quả pass/fail khớp với kỳ vọng

Bước 9: Xác Thực Sản Xuất

9.1 Kiểm Tra Toàn Diện

Kiểm tra hệ thống segmentation với:

Trường Hợp Kiểm TraKết Quả Mong ĐợiHành Động Nếu Thất Bại
Chi tiết sạchPass (không có segmentation)Điều chỉnh ngưỡng hoặc huấn luyện lại
Lỗi nhỏPass/Fail theo tiêu chí của bạnTinh chỉnh các tham số logic
Lỗi lớnFail (segmentation rõ ràng)Kiểm tra độ chính xác của mô hình
Trường hợp biênHành vi nhất quánThêm dữ liệu huấn luyện

9.2 Xác Thực Hiệu Suất

Theo dõi các chỉ số sau:

  • Thời gian xử lý mỗi lần kiểm tra
  • Tính nhất quán qua nhiều lần kiểm tra
  • Độ chính xác với ánh sáng sản xuất
  • Độ tin cậy khi hoạt động kéo dài

9.3 Điều Chỉnh Cuối Cùng

Nếu hiệu suất không đạt yêu cầu:

  1. Thêm dữ liệu huấn luyện cho các trường hợp biên
  2. Điều chỉnh giá trị ngưỡng trong logic
  3. Cải thiện điều kiện chụp ảnh
  4. Huấn luyện lại mô hình với các vòng lặp bổ sung

Thành Công! Hệ Thống Segmentation Của Bạn Đã Sẵn Sàng

Bạn hiện đã có một hệ thống segmentation hoạt động với khả năng:

  • Tự động phát hiện các đặc điểm hoặc lỗi cụ thể
  • Đo diện tích với độ chính xác ở mức pixel
  • Áp dụng logic pass/fail tùy chỉnh dựa trên yêu cầu của bạn
  • Tích hợp với hệ thống sản xuất qua điều khiển I/O

Tùy Chọn Cấu Hình Nâng Cao

Logic Ngưỡng Tùy Chỉnh

Đối với các tiêu chí chấp nhận phức tạp, hãy kết hợp nhiều điều kiện:

const smallThreshold = 200;
const largeThreshold = 1000;
const maxTotalArea = 3000;

const allBlobs = msg.payload.segmentation.blobs;
const smallBlobs = allBlobs.filter(blob => blob.pixel_count < smallThreshold);
const largeBlobs = allBlobs.filter(blob => blob.pixel_count > largeThreshold);
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_c