engiAI

  • Yêu cầu
Windows 10/11 x64. Phân tích CPU và GPU – phiên bản RTX 50+.

⬇ engiAI.rar (900 MB)

⬇ engiAI-ZONA-PARA-VI.pdf (5.4 MB)

⬇ engiAI-doc-new-VI.pdf (12 MB)

SICK IDS Camera Manager ⬇ ids-software-suite-win-4.96.1.zip (184 MB)

SICK IDS Camera Manager - link 2

Đăng ký

Đăng ký sử dụng engiAI

EngiAI (engiAI Ethernet System) — phần mềm kỹ thuật thị giác chạy trên máy tính, được sử dụng cho kiểm tra và loại bỏ sản phẩm trong quy trình sản xuất trên dây chuyền. Được viết bằng C# (.NET 9, WinForms), được đóng gói thành một tệp thực thi độc lập có thể chạy trên Windows x64.

⬇ engiAI Mô tả.pdf (80 KB)
  • Nó làm gì
Kết nối với camera: camera công nghiệp Hikrobot (SDK), USB/DirectShow, IDS uEye, cũng như camera Android thông qua OpenCV. Có thể kết nối nhiều camera cùng lúc.

Kiểm tra bằng AI: Các mạng nơ-ron YOLO (ONNX Runtime / GPU-CUDA hoặc CPU) có thể nhận diện đối tượng và các lỗi trong thời gian thực.

Khu vực ROI (Return on Investment): Các khu vực có thể tùy chỉnh để kiểm soát, với các lớp và quy tắc, các khu vực được đặt tên, danh mục.

Bộ loại bỏ (Rejector): dựa trên kết quả phân tích của trí tuệ nhân tạo, nó tạo ra tín hiệu để kích hoạt đầu ra rời (tắt lỗi), với cài đặt đấu dây và kiểm tra bằng thiết bị kiểm tra.

Các yếu tố kích hoạt: ghi hình dựa trên tín hiệu bên ngoài (cổng rời, cảm biến).

Huấn luyện mô hình: tập dữ liệu, dữ liệu tổng hợp (xoay/phản chiếu/điều chỉnh độ sáng), huấn luyện YOLO11 trực tiếp từ phần mềm.

Nguồn dữ liệu: cơ sở dữ liệu SQLite cục bộ (rejectors.db) — mô hình, khu vực, nhật ký hoạt động, trạng thái camera.

  • Quy trình cấp phép
Phiên bản duy nhất: chế độ (thử nghiệm / bản quyền / chặn)

Không có bản quyền – chế độ thử nghiệm 20 phút; với bản quyền – hoạt động không giới hạn.

Liên kết với phần cứng, kiểm soát tất cả các phiên đang chạy.

engiAI Ethernet System
KIỂM TRA – Kiểm tra trực quan các mạch in và lắp ráp

Giao diện engiAI hỗ trợ tiếng Việt: tên các nút và trường trong hướng dẫn này được ghi đúng như hiển thị trong chương trình.

Mục đích của việc kiểm tra là xác định các vùng trên bo mạch. Bo mạch được chia thành các vùng, mỗi vùng tương ứng với một thành phần cần kiểm tra. Mỗi mẫu bo mạch có các cặp phân loại "bình thường/không bình thường" riêng cho từng vùng và chỉ thực hiện phân loại trong phạm vi đó. Trong ví dụ hướng dẫn, có hai vùng: tụ C30 và cầu BR1; trên một bo mạch thực tế, có thể có hàng trăm vùng, phương pháp tương tự.
Dữ liệu tổng hợp – tự động di chuyển thành phần từ đế. Chương trình lấy thành phần cùng với khu vực trên bo mạch xung quanh (dây, đường dẫn, màu đế), thu nhỏ khu vực xuống kích thước của thành phần và di chuyển hoặc xoay nó. Việc tạo dữ liệu để huấn luyện chỉ mất hai lần nhấn, không cần một bo mạch bị lỗi duy nhất.
Hướng dẫn sử dụng: cách kết nối camera, đánh dấu khu vực, xác định vùng căn chỉnh, chụp ảnh bình thường và các trường hợp bất thường, huấn luyện mô hình, khởi động kiểm tra và kết nối với bộ loại bỏ: thông báo âm thanh, đầu ra rời của camera SICK và HIKROBOT, và các gói dữ liệu TCP gửi đến robot hoặc PLC.
Bước 1Máy ảnh
Bước 2Mạng lưới khu vực
Bước 3Trường hợp bình thường và các trường hợp bất thường
Bước 4Huấn luyện
Bước 5Kiểm tra
Bước 6Các cổng và TCP
Tất cả ảnh chụp màn hình đều được chụp từ phần mềm đang hoạt động: phần mềm vtlift, camera USB 3264×2448, mẫu model_4 cho hai vùng 256×256 (bộ tụ C30 và cầu BR1), được huấn luyện bằng màu xám. Phần mềm hoạt động với các loại camera HIKROBOT (GigE và USB3), SICK picoCam (uEye), camera USB/web và camera IP theo giao thức RTSP. Phiên bản 3 – tháng 9 năm 2026.

Nội dung

  1. 1. Tại sao phương pháp engiAI và VÙNG-CẶP lại hiệu quả?
  2. 1.1. Phương pháp này mang lại lợi ích gì so với việc phân loại toàn bộ khung hình?
  3. 1.2. Tốc độ: AI chỉ tập trung vào các đoạn thông tin cần thiết.
  4. 1.3. Độ chính xác dự kiến: tính toán dựa trên camera của chúng ta
  5. 1.4. Khởi động nhanh: cài đặt đã được thiết lập, khu vực và mẫu được chọn chỉ với vài cú nhấp chuột.
  6. 2. Giao diện của chương trình trong vòng một phút
  7. 3. Camera: Kết nối và cài đặt
  8. 3.1. Các loại máy ảnh nào được hỗ trợ
  9. 3.2. Cửa sổ CAMERA: thêm, kết nối lại, xóa
  10. 3.3. Thanh Camera cho HIKROBOT và SICK
  11. 3.4. Thẻ "Camera" cho webcam/camera USB
  12. 3.5. Các cài đặt camera đã lưu (tập hợp)
  13. 3.6. Mạng GigE và kết nối lại
  14. 4. Mô hình VÙNG-CẶP: từ lưới đến mô hình đã được huấn luyện
  15. 4.1. Phương pháp này hoạt động như thế nào: một mô hình, một lớp cho mỗi khu vực.
  16. 4.2. Xây dựng mô hình
  17. 4.3. Xác định các khu vực cần thanh toán
  18. 4.4. Ghi lại hình ảnh tham chiếu: vùng căn chỉnh
  19. 4.5. Ảnh chụp theo khu vực: ảnh bình thường và dữ liệu tổng hợp
  20. 4.6. Dữ liệu tổng hợp về lỗi: khi nhấn hai lần, phần tử di chuyển cùng với nền.
  21. 4.7. Các lỗi trong vùng: cửa sổ cài đặt
  22. 4.8. Ảnh tham khảo với các vùng: khu vực hàn và vùng chỉnh sửa
  23. 4.9. Huấn luyện mô hình
  24. 5. Kiểm tra
  25. 5.1. Xác định mô hình và kiểm tra các khu vực
  26. 5.2. Tiêu chí xác định khu vực
  27. 5.3. Hệ thống dây chuyền sản xuất linh hoạt: hoạt động tốt ở mọi tư thế
  28. 5.4. Sử dụng tín hiệu nào để phân tích
  29. 5.5. Khu vực màu vàng: tắt khu vực bằng cách nhấp vào
  30. 5.6. Nội dung hiển thị trên màn hình và trong bảng điều khiển
  31. 6. Các yếu tố kích hoạt: cảm biến bên ngoài trên đầu vào của camera
  32. 7. Đầu ra: bộ loại bỏ, đầu ra rời rạc của camera và TCP
  33. 7.1. Hướng dẫn: Thông tin liên hệ và kiểm tra bằng thiết bị đo
  34. 7.2. Khung OUTPUT: quy tắc cho khu vực
  35. 7.3. Gửi gói tin TCP cho robot hoặc PLC
  36. 7.4. Chuyển đổi tín hiệu từ camera
  37. 7.5. Cảnh báo bằng âm thanh: âm thanh riêng cho từng khu vực
  38. 7.6. Nhật ký hoạt động và cơ sở dữ liệu
  39. 8. Các chế độ và nhiệm vụ khác
  40. 9. Cài đặt, giao diện, yêu cầu và giấy phép
  41. 10. Danh sách kiểm tra ngắn gọn và tìm kiếm lỗi

Hướng dẫn sử dụng: * Phần 1 giải thích mục đích của phương pháp và kết quả mong đợi. * Các phần 3-5 hướng dẫn bạn từ một chương trình trống đến một chương trình kiểm tra hoạt động, hãy thực hiện theo trình tự. * Các phần 6-7 hướng dẫn bạn kết nối cảm biến, đầu ra và TCP. * Các phần 8-10 cung cấp các tính năng, cài đặt và danh sách kiểm tra khác.

1. Tại sao phương pháp engiAI và VÙNG-CẶP lại hiệu quả?

engiAI Ethernet System — là phần mềm kiểm tra trực quan cho dây chuyền sản xuất. Nó lấy hình ảnh từ camera công nghiệp hoặc thông thường, chia thành các khu vực, kiểm tra từng khu vực bằng mạng nơ-ron được huấn luyện và chuyển đổi kết quả thành hành động: tín hiệu đến đầu ra rời của camera, gói TCP cho robot hoặc PLC, hoặc ghi vào nhật ký. Phương pháp VÙNG-CẶP được thiết kế cho các sản phẩm có "đúng" vị trí ở mỗi khu vực: mạch in, lắp ráp, bộ phận trong giá đỡ, đóng gói với bố trí.

1 mẫu
cho tất cả các khu vực trên bảng điều khiển, thay vì hàng trăm mẫu riêng biệt
2 khu vực
Ví dụ về các linh kiện: tụ C30 và mạch BR1. Trên bo mạch, có thể có hàng trăm cái.
≈5 px
khoảng cách của phần tử được thiết lập cho ranh giới "bình thường/lỗi"
2 lần nhấn
Từ ảnh thật đến ảnh giả và ảnh tổng hợp để huấn luyện

1.1. Phương pháp này mang lại lợi thế so với việc phân loại toàn bộ ảnh

Cách tiếp cận thông thường là sử dụng một mô hình với hai lớp phân loại "bình thường / bất thường" cho toàn bộ khung hoặc toàn bộ khu vực. Tuy nhiên, phương pháp này không hiệu quả: khoảng trống dưới cầu BR1 trong khu vực 2 là lỗi, trong khi khoảng trống tương tự ở một góc khác của bảng mạch là bình thường. Một cặp lớp phân loại như vậy không thể biểu diễn được. Một phương pháp khác là sử dụng một mô hình riêng cho từng chi tiết, điều này đòi hỏi hàng chục lần huấn luyện và hàng chục tệp tin trong bộ nhớ.

Phương pháp này được sử dụng như sau: chỉ có một mô hình, nhưng có nhiều lớp, tương ứng với số lượng vùng. "Vùng" là một hình chữ nhật bao quanh một chi tiết. "Lớp" là một thư mục chứa các hình ảnh mà mạng học. Mỗi vùng có một cặp: "zone_001" (vùng 1 bình thường, ví dụ: tụ C30) và "zone_001_anomaly" (vùng 1 lỗi); "zone_002" và "zone_002_anomaly" là cầu BR1. Khi kiểm tra vùng 1, chương trình chỉ xem xét cặp của nó, các phản hồi về vùng 2 không được sử dụng. Các lớp lỗi không bắt buộc: lỗi thay đổi hình dạng của vùng, và độ tin cậy của "bình thường" tự động giảm; nhưng với dữ liệu tổng hợp (phần 4.6), chúng có thể được tạo ra chỉ bằng một lần nhấn và đáng kể cải thiện độ tin cậy.

Ví dụ về ảnh thật: hai vùng – cầu BR1 ở phía trên bên phải và tụ C30 ở phía dưới bên trái, cả hai đều màu xanh và có nhãn "normal". Các đường màu xanh là đường giới hạn vùng, các điểm màu xanh là các điểm tham chiếu, giúp xác định vị trí của mạch trên ảnh.
Ví dụ về ảnh thật: hai vùng – cầu BR1 ở phía trên bên phải và tụ C30 ở phía dưới bên trái, cả hai đều màu xanh và có nhãn "normal". Các đường màu xanh là đường giới hạn vùng, các điểm màu xanh là các điểm tham chiếu, giúp xác định vị trí của mạch trên ảnh.
Giải pháp trong phạm vi cặp Khi kiểm tra khu vực 17, chỉ có hai kết quả được lấy từ các đầu ra của mạng: "bình thường của khu vực 17" và "khu vực 17 bất thường". Các lớp khác hàng trăm không tham gia vào giải pháp, do đó các khu vực lân cận tương tự không ảnh hưởng đến kết quả.
Thanh toán từ nguồn khác sẽ không được chấp nhận như bình thường. Nếu một khu vực có tỷ lệ kết nối mạng dưới 10%, khu vực đó sẽ không được hệ thống nhận diện: điều này có thể do một phương thức thanh toán khác hoặc một cấu hình mạng khác. Khu vực này sẽ được coi là có lỗi, chứ không phải là hoạt động "bình thường" với khả năng cao.
Mức độ lỗi tương ứng với kích thước vùng Kích thước và vị trí của các lỗi nhân tạo được xác định theo tỷ lệ phần trăm của kích thước vùng. Sự dịch chuyển của một phần tử chỉ 0,5 milimet trên toàn bộ khung hình 8 megapixel là không thể nhận thấy, nhưng trong một vùng 128x128 pixel, đó là khoảng 5-6 pixel, một khoảng cách đáng kể.
Cho phép hoàn toàn Việc cắt bớt khu vực 108–137 px được gửi đến mạng 128×128 mà không cần phải thu nhỏ. Toàn bộ khung hình sẽ cần phải thu nhỏ xuống 128 px, làm mất đi rất nhiều chi tiết.
Giới hạn mục tiêu "bình thường / lỗi" Dữ liệu tổng hợp bình thường cho thấy khoảng sai lệch từ 0-2 px, trong khi dữ liệu tổng hợp lỗi cho thấy sai lệch từ 5 px. Mạng lưới học chính xác dựa trên giới hạn này, chứ không phải sự khác biệt ngẫu nhiên về ánh sáng.
Kết quả được chỉ định Mỗi khu vực đều có địa chỉ ổn định (mô hình, bảng, ô) và tên. Bạn có thể áp dụng quy tắc tùy chỉnh cho bất kỳ khu vực nào: cảnh báo âm thanh, gửi gói TCP với số khu vực hoặc điều khiển camera một cách riêng biệt.
Khả năng kiểm tra ở mọi vị trí Оператор đánh dấu khu vực cần kiểm tra trên hình ảnh – khu vực chứa các linh kiện. Dựa trên các điểm tham chiếu, mỗi hình ảnh được căn chỉnh với hình ảnh tham khảo, và các khu vực kiểm tra nằm trên bo mạch mới, ngay cả khi bo mạch này được đặt nghiêng hoặc xoay, bao gồm cả 180 độ (phần 4.4).
lỗi từ chính bo mạch Lỗi do bo mạch gây ra – không phải là vết bẩn, mà là một thành phần bị lệch hoặc xoay, cùng với một phần của đế. Mô hình học được mối liên hệ "thành phần ↔ bo mạch", chứ không phải màu sắc của vết bẩn. Thực hiện trong hai lần nhấn (phần 4.6).
Các lỗi được báo cáo dần dầnCác lớp lỗi chỉ được thêm vào ở những nơi mà lỗi thực sự xảy ra: các mối nối hàn, các bộ phận bị thiếu, sự lệch, vết xước. Mô hình được huấn luyện lại, nhưng mạng vẫn giữ nguyên.

1.2. Tốc độ: AI chỉ xem xét các phần cần thiết

Mạng nơ-ron không nhận toàn bộ ảnh. Đối với mỗi vùng, chỉ cần cắt ra một hình chữ nhật, và chọn hai lớp để phân loại. Các vùng trong cùng một ảnh được coi là song song (lên đến 4 luồng), kết quả của tất cả các vùng được hiển thị trên màn hình cùng một lúc, thay vì từng vùng một.

  • Tốc độ phân tích được xác định theo thời gian. Thanh trượt "Số lượng phân tích mỗi giây (AI)" trên tab Camera có nghĩa là thực hiện chính xác N phân tích mỗi giây, chứ không phải "mỗi N giây". Giới hạn là tần số của camera và thời gian suy luận.
  • Sử dụng GPU mặc định. Quá trình suy luận diễn ra thông qua ONNX Runtime với CUDA; nếu không có card đồ họa NVIDIA, chương trình sẽ tự động chuyển sang sử dụng CPU và hiển thị thông tin này trong trạng thái (GPU (CUDA) hoặc CPU).
  • Bộ đệm không chứa dữ liệu thừa. Bộ nhớ dành cho các đoạn trích được đánh dấu một lần trên mỗi dòng và được tái sử dụng; thời gian phân tích không thay đổi từ khung này sang khung khác.
  • Mô hình cho bài toán cụ thể. Đối với VÙNG-CẶP, chương trình tự động đặt kích thước đầu vào là 128 px và sử dụng mạng YOLO11 kích thước "s": việc cắt vùng gần như không thay đổi tỷ lệ, và mạng có đủ dung lượng để xử lý hàng trăm cặp lớp.
  • Dòng sản xuất tự động giúp tiết kiệm nhân lực. Nhân lực được chuyển sang giai đoạn xử lý bằng AI, chứ không phải giai đoạn tìm kiếm linh kiện; linh kiện được tìm kiếm và sắp xếp một lần, sau đó mới được cắt.
  • Việc hiển thị không gây ảnh hưởng đến phân tích. Hình ảnh được vẽ lại không quá 25 lần mỗi giây và chỉ dựa trên khung hình mới từ camera, kích thước hình ảnh được thu nhỏ đến kích thước của hình ảnh trước khi hiển thị trên màn hình, trong khi nhật ký được ghi vào tệp bởi luồng nền. Giao diện vẫn hoạt động trơn tru với khung hình 8 megapixel và hàng trăm vùng.

Trên dòng trạng thái phía trên video, bạn có thể thấy các thông số thực tế: fps (số khung hình trên giây) và thời gian tính bằng mili giây của lần phân tích cuối cùng, cũng như Eff (hiệu suất), cho biết số lượng phân tích thực tế đã được thực hiện trong một giây.

1.3. Độ chính xác dự kiến: tính toán dựa trên camera của bạn

Chương trình không hứa hẹn "0,5 mm" một cách độc lập với máy ảnh và ống kính. Độ nhạy với sai số được xác định bởi số lượng pixel tương ứng với mỗi milimet của sản phẩm và giới hạn mà mô hình đã được huấn luyện. Điều này được tính toán trong hai dòng:

px/mm = (chiều rộng của khung hình tính bằng pixel) ÷ (chiều rộng của trường nhìn tính bằng milimet)
Độ dịch chuyển tối thiểu có thể nhận thấy ≈ 5 pixel chia cho (pixel/mm)

Số 5 px — giới hạn dưới của sai số tổng hợp trong cài đặt tiêu chuẩn (sai số bình thường là 0–2 px). Cài đặt mặc định được tính toán dựa trên 11 px/mm: ở tỷ lệ này, 0,5 mm tương ứng với 5–6 px, đây là mục tiêu đã được thống nhất trong quá trình phát triển. Hãy nhập các giá trị của bạn:

Máy ảnh (chiều rộng khung hình)Tiêu chí 100 mm200 mm300 mm400 mm
3264 px (USB 8 MP, như trong ảnh)0,03 mm/px → sai số ≈ 0,15 mm0,06 → ≈ 0,3 mm0,09 → ≈ 0,45 mm0,12 → ≈ 0,6 mm
2448 pixel (cảm biến 5MP của HIKROBOT)0,04 → ≈ 0,2 mm0,08 → ≈ 0,4 mm0,12 → ≈ 0,6 mm0,16 → ≈ 0,8 mm
1920 pixel (Máy ảnh nhỏ SICK picoCam, HIKROBOT 2MP)0,05 → ≈ 0,25 mm0,10 → ≈ 0,5 mm0,16 → ≈ 0,8 mm0,21 → ≈ 1,0 mm
Quan trọng. Đây là phương pháp đánh giá từ dưới lên để đo độ dịch chuyển của một đối tượng khi có ánh sáng thay đổi đột ngột và ánh sáng ổn định. Để kiểm tra kết quả thực tế, hãy sử dụng nút "SO SÁNH: vùng ↔ mô hình" và ngưỡng nhận dạng (phần 5.2): mỗi vùng có các đường cắt riêng, do đó cũng có độ tin cậy khác nhau. Càng có ít vùng nhìn và càng có nhiều pixel trên camera, thì mô hình càng có thể phát hiện ra các lỗi nhỏ hơn.

1.4. Khởi động nhanh: cài đặt đã được thiết lập, khu vực và mẫu được chọn chỉ với vài cú nhấp chuột.

Phương pháp này được thiết kế để một kỹ sư không có kinh nghiệm về học máy có thể tạo ra một mô hình hoạt động trong một ca làm việc. Tất cả những gì có thể được chuẩn bị trước, đã được chuẩn bị và lưu trữ trong cơ sở dữ liệu của chương trình:

  • Xác định vùng trong một phút. Trong trình chỉnh sửa ROI, kéo thanh định hình xung quanh một phần tử và chỉ định kích thước vùng (ví dụ: 256 pixel). Nếu có nhiều phần tử và chúng được sắp xếp đều, hãy kéo thanh định hình trên toàn bộ bảng—phần mềm sẽ tự động tính toán các hàng và cột của lưới.
  • Dữ liệu mặc định và lỗi đã được cài đặt sẵn. Các nút "Mặc định", "Điều chỉnh vị trí" và "Màu sắc" cho phép chọn các cấu hình đã được thiết lập. Số lượng tệp, khung hình từ camera và thời gian dự kiến được hiển thị trước khi nhấn "Chụp".
  • Các thông số huấn luyện được tự động thiết lập. Sau lần chụp ảnh đầu tiên theo vùng, chương trình đặt kích thước hình ảnh là 128, kích thước mô hình là s, số chu kỳ là 50, kích thước lô là 64, đồng thời tắt các phương pháp tăng cường, những phương pháp này xung đột với các lớp bất thường.
  • Cảm biến được điều chỉnh bằng nút. "Tự động điều chỉnh cho AI (dựa trên khung hình)" tự động chọn tốc độ, độ sáng, dải màu và cân bằng trắng; đối với camera USB, có các chức năng "Tự động điều chỉnh theo khuôn hình" và "Cài đặt sẵn".
  • Bộ cài đặt camera. Các cài đặt được chọn sẽ được lưu lại với tên và có thể chuyển đổi từ danh sách. Camera sẽ nhận và lưu lại các cài đặt này ngay lập tức.
  • Một tệp ONNX là kết quả. Mô hình đã được huấn luyện sẽ được xuất ra tự động và ngay lập tức được giao cho việc kiểm tra, không cần thêm bước nào.

Toàn bộ quy trình: kết nối camera → tạo mô hình → đánh dấu vùng → xác định vùng căn chỉnh → "Chụp ảnh theo vùng" trên nhiều bo mạch hoạt động → "Phát hiện các điểm bất thường" → Huấn luyện mô hình AI → вкладка Inspect. Sau đó, cần gắn âm thanh, cổng và TCP cho các vùng. Để bắt đầu, cần: máy tính có Windows 10/11 (để kiểm tra nhanh – card đồ họa NVIDIA), camera, một bo mạch hoạt động và một lần kết nối internet để cài đặt môi trường học. Các bo mạch bị lỗi không cần thiết.

2. Giao diện của chương trình trong vòng một phút

Cửa sổ chính được chia thành hai phần. Phía bên trái là hình ảnh trực tiếp từ camera và thanh trạng thái phía trên. Phía bên phải là thanh điều khiển với các tab, nơi chứa tất cả các chức năng. Người dùng có thể kéo để thay đổi ranh giới giữa hai phần; chương trình ghi nhớ kích thước, vị trí của tất cả các cửa sổ và bố cục trong cơ sở dữ liệu của nó.

Màn hình chính: phía bên trái là hình ảnh trực tiếp của bo mạch với hai khu vực (cả hai đều màu xanh - "bình thường"), phía bên phải là tab "Kiểm tra" với mô hình model_4\best.onnx. Dòng sản xuất đang hoạt động, chỉ báo "bình thường · 112 điểm".
Màn hình chính: phía bên trái là hình ảnh trực tiếp của bo mạch với hai khu vực (cả hai đều màu xanh - "bình thường"), phía bên phải là tab "Kiểm tra" với mô hình model_4\best.onnx. Dòng sản xuất đang hoạt động, chỉ báo "bình thường · 112 điểm".

Các nút trên video

NútMở
ẨN VIDEOLoại bỏ hình ảnh khỏi màn hình. Phân tích tiếp tục, chỉ tiết kiệm chi phí vẽ.
ĐẦU RACửa sổ tham khảo: thông tin liên hệ của các đầu ra rời của camera HIKROBOT và SICK, kiểm tra bằng thiết bị đo, kết nối tải (phần 7.1).
CAMERACửa sổ "Cài đặt camera kết nối": thêm, kết nối lại, xóa camera và xem tất cả các thông số được đọc từ phần cứng (phần 3.2).
CÁP THỜKết nối cảm biến bên ngoài với đầu vào rời của camera theo sơ đồ và cách đấu dây (phần 6).
MÔ HÌNH CHUNGCác bộ "cámara → mô hình" được gán cho toàn bộ hệ thống bằng một thao tác chọn (phần 8).
Bố cục (cột)Số lượng gạch camera hiển thị trên một hàng; "■" - chế độ đơn (camera lớn), "Tự động" - dựa trên số lượng camera, "⛶" - tất cả các camera trên màn hình (Esc).
Hiển thị vùng ROIVẽ lưới các vùng lên trên video.

Các tab bên phải

TabChức năng
CameraCác thông số của camera đã chọn: tốc độ, tăng cường, màu sắc, độ phân giải, cài đặt tự động cho AI, bộ cài đặt đã lưu, tốc độ phân tích. Các ngưỡng AI không còn ở đây, chỉ ở tab "Kiểm tra".
OUTPUTBộ loại bỏ: quy tắc cho các vùng - gói TCP cho robot/PLC, đầu ra rời của camera và cảnh báo âm thanh, nhật ký hoạt động, cơ sở dữ liệu.
AI ModelTạo mô hình: thư mục, lớp, lưới vùng, ảnh theo vùng, các bất thường của vùng, ảnh tham chiếu của bo mạch, cài đặt và khởi động huấn luyện.
InspectThanh ghi: mô hình nào đang kiểm tra, khu vực kiểm tra và ngưỡng, băng tải hoạt động, tín hiệu chụp ảnh, khe cắm kiểm tra nhiều mô hình.
SettingsNgôn ngữ giao diện (14 ngôn ngữ), mua bản quyền, lưu và tải cài đặt, ghi lại video.
ConsoleLịch sử hoạt động: kết nối camera, quá trình huấn luyện, hoạt động của bộ loại bỏ, cảnh báo. Màn hình hiển thị 800-1000 dòng gần nhất, tất cả được ghi lại trong các tệp logs\engiai-*.log.

Trạng thái

Trên các nút, hiển thị trạng thái của camera đang hoạt động: LIVE (Android): 3264×2448 [HD USB Camera] – loại, độ phân giải và tên; AI: WAITING hoặc AI: GPU (CUDA) – mô hình đang hoạt động trên phần cứng nào và thời gian phân tích cuối cùng; Net: tổng cộng … hoạt động … Mбит/s – tải lên mạng từ các camera GigE (xanh đến 40% băng thông, cam đến 70%, sau đó là đỏ). Dải Exp Load cho biết thời gian phơi sáng chiếm bao nhiêu phần của khoảng thời gian khung hình: nếu nó bị giới hạn sang phải, camera sẽ không thể duy trì tốc độ khung hình được chỉ định.

Mỗi khung hình có một phần mềm với tên, trạng thái "LIVE | AI:ON" và nút kết nối lại. Nhấp chuột phải vào khung hình sẽ mở menu khu vực, nhấp chuột phải và kéo sẽ hiển thị toàn cảnh từ khung hình phóng to.

3. Camera: kết nối và cài đặt

3.1. Các camera nào được hỗ trợ

LoạiCách kết nốiCài đặt từ phần mềm
HIKROBOT MV-CS
(GigE, USB3)
MVS SDK gốc. Chỉ mở được bằng số seri, thứ tự liệt kê không quan trọng.Độ phân giải 6 μm, tăng cường (dB), FPS, độ phân giải (AOI), mức đen 0…4095, tất cả các nút GenICam (chế độ tự động, độ sáng, độ sắc nét, cân bằng trắng R/G/B, dịch chuyển số, lật, gói GigE). Các thông số được ghi trong UserSet1 của camera. Đầu vào rời rạc Line 0, đầu ra Line 1, GPIO Line 2.
SICK picoCam
(IDS uEye, GigE)
Driver uEye. Camera phải hiển thị trong IDS Camera Manager với trạng thái "đã cài đặt đúng". Số seri được so sánh với camera vì DeviceID của uEye thay đổi mỗi khi khởi động.Tăng cường, phạm vi 0…100, FPS, độ phân giải, mức độ đen 0…255, xung nhịp pixel, tăng cường tín hiệu, tăng cường phần cứng cho kênh R/G/B, dải tín hiệu phần cứng, bố trí Bayer. Các thông số được lưu vào bộ nhớ của camera. Đầu vào của bộ phát xung từ quang điện, đầu ra của Flash (150mA).
Máy ảnh web USB
(trong danh sách này, có hệ điều hành Android)
DirectShow thông qua OpenCV, khác nhau về moniker, vì vậy hai camera giống nhau không bị nhầm lẫn.Hỗ trợ độ phân giải lên đến 8K, FPS, tất cả các thuộc tính của trình điều khiển: độ sáng, độ tương phản, độ bão hòa, tông màu, độ sắc nét, dải màu, tăng cường, tốc độ (tự động), lấy nét (tự động), cân bằng trắng (tự động), bù sáng và các thông số khác. Không có cổng hoặc đầu ra rời, chỉ hỗ trợ TCP.
Camera IP RTSPLiên kết có dạng `rtsp://admin:mật khẩu@192.168.1.64:554/… được thêm vào thủ công.Tốc độ, tăng cường, độ phân giải và FPS được đặt trong giao diện web của chính camera. Trong phần mềm, có các khu vực, mô hình và TCP.

Không có giới hạn về số lượng camera: các camera được sắp xếp theo lưới với bất kỳ số lượng nào; trên các thiết bị thực tế, đã hoạt động với 8 và 9 camera cùng lúc. Mỗi camera có các mô hình, khu vực, ngưỡng và tốc độ phân tích riêng.

3.2. Cửa sổ CAMERA: thêm, kết nối lại, xóa

1
Nhấn vào CÁMERA trên video. Một cửa sổ "CÀI ĐỊNH CÁMERA ĐƯỢC KẾT NỐI" sẽ mở ra trên toàn màn hình (đóng bằng phím Esc).
2
Nhấn + Thêm camera. Chương trình sẽ quét mạng và USB và hiển thị tất cả các thiết bị được tìm thấy trong một danh sách duy nhất: Hikrobot … SN: … IP: …, SICK … SN: … DeviceID: …, Android …. Các camera SICK mất khoảng 4 giây để quét, vì thiết bị GigE không xuất hiện ngay lập tức trong trình điều khiển. Các camera SICK đang hoạt động hoặc có địa chỉ sai sẽ được đánh dấu bằng biểu tượng ⚠ kèm theo lý do.
3
Chọn các camera cần thiết và nhấn nút "Thêm". Để thêm camera IP, hãy sử dụng nút "+ RTSP". Trong khi chờ camera kết nối, sẽ hiển thị màn hình với nút "Bỏ qua camera".
4
Camera sẽ hiển thị trong danh sách với dòng thông tin: Tên | Loại | Mã số sản phẩm | Trực tiếp hay ngoại tuyến | AI: ON | Hiển thị: ON, và video của camera sẽ hiển thị ở phía bên trái cửa sổ chính.

Các tùy chọn dưới danh sách áp dụng cho camera đã chọn: Bật camera (nếu không, camera sẽ bị ngắt kết nối khỏi thiết bị và biến mất khỏi màn hình), Hiển thị video/khu vực (chỉ hiển thị hình ảnh, chức năng phân tích luôn hoạt động), Bật AI cho camera đã chọn. Nút Kết nối lại sẽ thực hiện việc ngắt kết nối và kết nối lại hoàn toàn, đồng thời khởi động lại luồng AI và tải lại các mô hình.

Phần bên phải của cửa sổ hiển thị tất cả các thông số của camera, được đọc từ phần cứng khi kết nối, bao gồm các nhóm và đơn vị đo lường. Các tùy chọn bao gồm: "Hiển thị thông số của", "Đọc lại từ camera", và "Sao chép vào bộ đệm". Đây chỉ là chế độ xem; để thay đổi các thông số, bạn có thể sử dụng tab "Camera".

Quan trọng. Camera HIKROBOT sử dụng giao thức GigE có kết nối độc quyền. Sau khi chương trình bị đóng đột ngột, nó vẫn còn được sử dụng cho đến khi tín hiệu heartbeat hết, chương trình chờ tối đa 25 giây (10 lần thử) và hiển thị thông báo "camera đang được sử dụng bởi một tiến trình khác". Đối với SICK, nếu địa chỉ IP không chính xác, chương trình sẽ tự động thử sửa chữa nó một lần, nếu địa chỉ đó không thuộc mạng của bộ điều khiển.

3.3. Tab "CAMERA" cho HIKROBOT và SICK

Tab này hoạt động với camera, được đánh dấu bằng một đường viền màu xanh lam. Khi kết nối, chương trình không ghi bất kỳ dữ liệu nào vào camera; camera là nguồn thông tin chính xác, và các thanh trượt sẽ tự động điều chỉnh để phù hợp với các giá trị của camera. Chỉ khi bạn chủ động nhấn nút "Lưu cài đặt", các cài đặt mới được lưu lại.

1
Ở phần dưới, hãy nhập Chiều rộng (W)Chiều cao (H) của khung hình (hoặc chọn một cài đặt từ danh sách, trong đó chỉ có các kích thước mà camera này hỗ trợ), sau đó nhấn ÁP DỤNG KÍCH THƯỚC. Thông thường, người ta sẽ chọn toàn bộ khung hình của camera. Kích thước sẽ được làm tròn xuống theo bước AOI của camera.
2
Nhấn vào "Tự động điều chỉnh cho AI (dựa trên khung ảnh)". Chương trình sẽ tự động chọn tốc độ và độ sáng (tối đa 40), sao cho 99,5% độ sáng nằm trong khoảng 220…248 mà không bị hiện tượng chói, sau đó đặt độ sáng là 1,50, độ bão hòa là 115%, độ tương phản là 105% và tự động cân bằng màu trắng. Khi đánh dấu "tự động", chế độ sẽ hoạt động liên tục: kiểm tra và điều chỉnh mỗi 3 giây, nếu ánh sáng thay đổi.
3
Nếu cần thiết, hãy điều chỉnh thủ công: Độ phơi sáng (căn chỉnh theo micro giây, ghi chú bằng mili giây, tối đa 1 giây), Mức tăng, FPS, Mức đen. Đối với SICK, thêm vào: Tần số xung pixel (quy định giới hạn FPS và thời gian phơi sáng tối thiểu), Tăng mức tăng, Phạm màu phần cứng, WB đỏ / xanh lá / xanh dương.
4
Nhấn Lưu cài đặt: tệp camera_params\<SN>.ini và dữ liệu trong bộ nhớ của camera – UserSet1 của HIKROBOT (với cài đặt mặc định), EEPROM của SICK. Kết quả hiển thị trên nút ("✔ Lưu"). Đối với HIKROBOT, có tùy chọn Tự lưu vào camera (UserSet1) sau 5 giây khi thay đổi.

Blok "Hikrobot: thông số camera (GenICam)"

Chỉ hiển thị những gì camera ghi lại. Các mục: Tự động phơi sáng (Tắt / Một lần / Liên tục), Tự động tăng cường, Phạm vi và chế độ phạm vi, Độ sắc nét, Màu sắc, Độ bão hòa, Tự động cân bằng trắng, Cân bằng trắng theo kênh, Chuyển đổi số, Mức đen được bật, Giới hạn FPS được bật, Lật ngang và dọc, GigE: kích thước gói, GigE: độ trễ giữa các gói, GigE: giới hạn băng thông, Ảnh thử nghiệm. Nút "Đọc lại thông số từ camera" sẽ thay đổi bảng.

Blok "MÀN HÌNH"

Cấu hình Bayer (Auto / BGGR / RGGB / GRBG / GBRG), Độ bão hòa 0…200 %, Gamma 0,30…3,00, Độ tương phản 50…200 %, nút reset. Xử lý phần mềm được áp dụng cho tất cả các khung hình: hiển thị, ghi lại, suy luận và ảnh để huấn luyện, do đó hình ảnh khi huấn luyện và khi kiểm tra là giống nhau. Đối với HIKROBOT, cấu hình được lấy từ định dạng pixel của camera, đối với các cảm biến màu SICK, cấu hình được lấy từ cảm biến và được điều chỉnh dựa trên khung hình đầu tiên.

Tham sốNó làm gìẢnh hưởng đến
Số lượng phân tích mỗi giây (AI)Giới hạn trên của tốc độ kiểm tra, 1…200ít hơn – giảm tải cho card đồ họa; không phụ thuộc vào kết nối camera
Giới hạn AIkhông được đặt trên tab Cameragiới hạn nhận diện vùng – chỉ trên tab Inspect (phần 5.2), một giới hạn cho mỗi camera
Exposurethời gian phơi sángngắn gọn – giảm thiểu tình trạng bị mờ của các vật thể chuyển động; không được phép bằng 0
Gain / Gain boosttăng cường tín hiệu của cảm biếntăng độ sáng, nhưng cũng làm tăng nhiễu
Pixel clock (SICK)tần số của cảm biếnthay đổi các khoảng FPS và thời gian phơi sáng, chúng sẽ được đọc lại
FPStần số khung hình trong chế độ tự dokhông được sử dụng trong chế độ kích hoạt
Chiều rộng / Chiều caoKích thước khung hình (AOI)Nếu khung hình nhỏ hơn, tần số và lưu lượng sẽ cao hơn
Quan trọng. Hãy chụp ảnh để huấn luyện trong điều kiện tương tự như môi trường mà hệ thống sẽ hoạt động: cùng ánh sáng, cùng tốc độ, cùng vị trí máy ảnh. Sau khi thay đổi cài đặt, chương trình sẽ nhắc trong bảng điều khiển rằng cần huấn luyện lại mô hình bằng các khung hình mới.

3.4. Thẻ Camera cho camera USB/webcam

Đối với camera USB, thẻ này hiển thị khối "Camera USB: độ phân giải, FPS và thuộc tính". Các thuộc tính của trình điều khiển mà camera không cung cấp sẽ không hiển thị; giới hạn khung hình được xác định bởi phần mềm, vì DirectShow không cung cấp thông tin.

1
Xác nhậnÁp dụng. Nút Kiểm tra cho phép chọn các kích thước tiêu chuẩn từ VGA đến 8K và chỉ giữ lại những kích thước đã được camera nhận diện. Dòng "Định dạng camera" hiển thị kích thước và FPS thực tế.
2
Hãy để các tính năng tự động như tự động phơi sáng, tự động lấy nét và tự động cân bằng trắng hoạt động, sau đó nhấn nút "Cố định cài đặt (tắt chế độ tự động, giữ nguyên như hiện tại)". Khi đó, chế độ tự động sẽ bị tắt, và chương trình sẽ tự động điều chỉnh khẩu độ để đạt được độ sáng tương đương (lưu ý rằng, khi chế độ tự động đang hoạt động, trình điều khiển sẽ hiển thị giá trị khẩu độ cuối cùng được sử dụng, chứ không phải giá trị khẩu độ được tính toán tự động). Các giá trị và định dạng sẽ được lưu vào cơ sở dữ liệu và sẽ được áp dụng mỗi khi bạn kết nối lại máy ảnh này.
3
Dạng: Dựa trên AI: Tự động chọn theo mẫu (20–60 giây, điều chỉnh thời gian và độ tương phản dựa trên hình ảnh gốc, tiêu chí là độ rõ nét của đường viền mà không bị hiện tượng chói), Mẫu hình, không màu, Mẫu hình, mềm mại, Quay lại, Mẫu tiêu chuẩn.
4
Giá trị nhập vào trường sẽ được gửi ngay vào camera, không cần nhấn Enter, và ngay lập tức được lưu vào cơ sở dữ liệu. Nút "Đọc lại thông tin từ camera" cho biết rằng camera đã nhận được dữ liệu.
Lời khuyên. Đối với AI, thay vì điều chỉnh độ bão hòa màu của camera, bạn nên sử dụng tùy chọn chung "Huấn luyện bằng thang xám (cài đặt chung của mô hình)" trong tab "Camera" (trong tab "Mô hình AI", tùy chọn này cũng được gọi là "Huấn luyện bằng thang xám"). Khi đó, cả ảnh dùng để huấn luyện và ảnh xem trước sẽ hiển thị bằng thang xám, trong khi camera vẫn tiếp tục hiển thị màu sắc cho người vận hành. Mô hình trong ví dụ này đã được huấn luyện bằng thang xám.

3.5. Cài đặt camera đã lưu (tập)

Khối "Cài đặt camera đã lưu" hiển thị cho USB, SICK và HIKROBOT. Sau khi điều chỉnh các thông số cho sản phẩm, hãy lưu chúng với tên: để sử dụng cho bo mạch hoặc ánh sáng khác, bạn có thể chọn một tập từ danh sách.

  • Lưu dưới tên… — hiển thị các giá trị hiện tại từ camera và hỏi tên bộ. Nếu tên đã tồn tại, sẽ đề xuất thay thế.
  • Chọn bộ cài đặt trong danh sách sẽ ngay lập tức ghi lại các thông số vào camera và lưu chúng: cho USB – vào cơ sở dữ liệu, cho SICK và HIKROBOT – vào tệp thông số và bộ nhớ của camera (UserSet1 / EEPROM). Sau đó, bảng điều khiển sẽ đọc lại các giá trị từ phần cứng và hiển thị số lượng thông số đã được chấp nhận và số lượng thông số bị lỗi.
  • Lưu lại ghi đè các giá trị đã chọn bằng các giá trị hiện tại, Thay đổi tênXóa chỉ tác động đến bản ghi trong cơ sở dữ liệu, các thông số trên camera không thay đổi.

Bộ công cụ bao gồm: đối với USB, các thông số như độ phân giải, tốc độ khung hình (FPS), thuộc tính của trình điều khiển và các chế độ tự động; đối với SICK, các thông số như độ lợi, thời gian phơi sáng, tốc độ khung hình, mức đen, xung đồng hồ pixel, tăng độ lợi, cân bằng trắng (R/G/B), bảng gamma phần cứng và màu sắc phần mềm; đối với HIKROBOT, các thông số như độ lợi, thời gian phơi sáng, tốc độ khung hình, mức đen và tất cả các thành phần GenICam. Kích thước khung hình của các camera công nghiệp không được bao gồm trong bộ công cụ: việc thay đổi kích thước này sẽ khởi động lại quá trình thu hình. Các bộ công cụ này được sử dụng chung cho tất cả các camera cùng loại, vì vậy, trên một giá đỡ chứa các camera giống nhau, mỗi camera sẽ được sử dụng một bộ công cụ.

3.6. Mạng GigE và kết nối lại

  • Kích thước gói GigE của HIKROBOT được tự động đặt tối ưu khi mở; bạn có thể chỉnh sửa thủ công trong khối GenICam. Các khung hình Jumbo 8164–9000 làm giảm tải, nếu có các khung hình bị gián đoạn, hãy đặt 1500 và tăng thời gian trễ giữa các gói.
  • Dòng `Net` tính toán lượng tải từ mỗi camera dựa trên dữ liệu của chính nó (kích thước tải có ích × tần suất) và so sánh với lưu lượng mạng thực tế. Sự khác biệt đáng kể cho thấy có mất gói tin hoặc lưu lượng mạng không mong muốn. Các trình điều khiển ảo và bộ lọc NDIS (GigEVision, uEye, Npcap) đã được loại trừ khỏi việc tính toán.
  • Nếu bạn có thể nhìn thấy camera nhưng tín hiệu không được truyền, hãy nhấn vào "Khởi động lại" (trong cửa sổ hoặc trên ô). Nguyên nhân thường là do băng thông của mạng hoặc USB bị giới hạn.
  • Khi đóng khóa truy cập, thiết bị picoCam mất các cài đặt; nếu không có tập dữ liệu nào trong chính thiết bị, chương trình sẽ áp dụng tệp cài đặt và đề nghị người dùng nhấn "Lưu cài đặt" để ghi lại chúng vào thiết bị.

4. Mô hình VÙNG-CẶP: từ lưới đến mô hình đã huấn luyện

4.1. Cách thức hoạt động: một mô hình, một lớp cho mỗi khu vực

Mô hình VÙNG-CẶP là một mạng phân loại YOLO11 thông thường, với số lượng lớp tương ứng với số lượng vùng, cùng với các lớp bổ sung để phát hiện các trường hợp bất thường. Mỗi lớp tương ứng với một thư mục bên trong các thư mục `train` và `val`. Chương trình tự động tạo ra tất cả các thư mục; không cần phải tạo thủ công. Dưới đây là cấu trúc thư mục của mô hình sau khi đã được huấn luyện:

Thư mục model_4: tập huấn luyện và tập kiểm, data.json: vùng, live_template: ảnh tham chiếu, board.json: ngưỡng, best.onnx: mạng đã được huấn luyện.
Thư mục model_4: tập huấn luyện và tập kiểm, data.json: vùng, live_template: ảnh tham chiếu, board.json: ngưỡng, best.onnx: mạng đã được huấn luyện.
model_4\ train\ Hình ảnh phục vụ cho mục đích học tập zone_001\ Thông thường, khu vực 1 (C30): real_... từ camera, syn_... dữ liệu tổng hợp zone_001_anomaly\ Lỗi vùng 1: syn_…_combo1_d, _rotate1 … zone_002\ Vùng 2 (BR1) trong điều kiện bình thường zone_002_anomaly\ Lỗi ở khu vực 2 val\ Mẫu kiểm tra: Cùng bốn thư mục, dữ liệu sẽ được tự động điền vào data.json Các khu vực: bảng, tọa độ, kích thước, màu sắc, bật/tắt; các lớp; các khe live_template.png / .txt Ảnh tham khảo của bảng mạch: khung hình, vùng căn chỉnh, các khu vực màu đỏ (đã bị loại bỏ) live_template_zones.png Hình ảnh tham khảo với các khu vực được vẽ và đánh số board.json Ngưỡng nhận diện vùng ({ "threshold": 0.50 }) train_gray.txt Thuộc tính "bảng màu xám" best.onnx Mô hình đã được huấn luyện sẽ được sử dụng cho công tác kiểm tra runs\ diag\ *.cache dữ liệu công việc: tiến trình học tập, ảnh để phân tích, bộ nhớ đệm trong quá trình học tập
train: hai thư mục cho mỗi khu vực - bình thường và bất thường.
train: hai thư mục cho mỗi khu vực - bình thường và bất thường.
val: cấu trúc tương tự, chương trình tự điền vào khi chụp ảnh.
val: cấu trúc tương tự, chương trình tự điền vào khi chụp ảnh.

Các tệp real_…jpg là những hình ảnh chụp trực tiếp từ camera (được lưu trong cả tập train và tập val), syn_…jpg là dữ liệu tổng hợp, edit_…jpg là ảnh chụp từ trình chỉnh sửa vùng. Trong ví dụ, sau khi chụp nhiều bo mạch: zone_001 có 502 tệp trong tập train và 111 trong tập val, zone_001_anomaly có 680 và 144, zone_002 có 813 và 181, zone_002_anomaly có 340 và 60.

Một vị trí lưu trữ. Toàn bộ thông tin định dạng mô hình – các vùng kiểm tra, vùng căn chỉnh, các lớp và khe – chỉ nằm trong thư mục mô hình: data.jsonlive_template.txt. Trong cơ sở dữ liệu chương trình, không còn các vùng nào, vì vậy, trình chỉnh sửa ROI trên tab "Mô hình AI" và tab "Kiểm tra" hiển thị cùng một vùng, và thư mục mô hình có thể sao chép sang một máy tính khác mà không mất dữ liệu. Các mô hình cũ sẽ tự động được chuyển vào file khi mở lần đầu.

Chương trình tự động nhận dạng mô hình là "phần thanh toán" dựa trên sự hiện diện của các lớp loại zone_NNN. Số lớp là số duy nhất của khu vực trong lưới (1…N). Dựa trên điều này, quy tắc chính của phương pháp là:

Quan trọng. Khu vực là một phần của mô hình. Sau khi chụp ảnh các lớp, chúng không thể thay đổi (thêm, xóa, sắp xếp bảng): số của các khu vực sẽ không còn phù hợp với các lớp, và các khu vực này sẽ được gán nhãn NO_ZONE_CLASS. Nếu cần thay đổi các khu vực, hãy tạo một mô hình mới.

4.2. Tạo mô hình

1
Mở tab "Mô hình AI" và nhấp vào "Tạo mô hình AI mới".
2
Chỉ định thư mục cha và tên mô hình (phần mềm sẽ tự động tạo thư mục model_N). Danh sách các lớp mặc định bao gồm normalanomaly; đối với VÙNG-CẶP, chúng không cần thiết – các lớp khu vực sẽ được tạo tự động khi chụp ảnh theo khu vực lần đầu. Bạn có thể xóa chúng hoặc để trống: trước khi huấn luyện, phần mềm sẽ đề xuất xóa các lớp trống.
3
Nhấn vào Tạo mô hình. Trên ổ đĩa sẽ xuất hiện các thư mục trainval, mô hình sẽ mở để chỉnh sửa (mô hình sẽ không tự động hiển thị để kiểm tra). Nếu mô hình đã có, hãy chọn Chọn thư mục mô hình.

4.3. Gán các khu vực trên bo mạch

1
Đặt tấm nền đã được sửa chữa xuống phía dưới camera sao cho nó nằm đúng vị trí trên đường dẫn. Nhấn vào ROI → Thêm vào phân loại (mô hình học).
2
Trong phần "Phân loại ROI theo lớp", bạn có thể chọn bất kỳ lớp nào (việc này không quan trọng cho việc đánh dấu) hoặc nhập tên mới và nhấn OK + Mở ROI. Sau đó, tất cả các lớp vùng sẽ hiển thị ở đây, được nhóm theo mẫu zone_###: nhấp vào nhóm để chọn, nhấp lại để bỏ chọn; nút Xóa nhóm sẽ xóa toàn bộ nhóm cùng với các hình ảnh.
3
Một cửa sổ "Chọn vùng ROI" sẽ mở ra. Kéo thanh định hình xung quanh chi tiết bằng nút chuột trái. Một ô "Kích thước vùng, px" sẽ xuất hiện: nhập kích thước (tự động điều chỉnh theo bội số 32, ví dụ 256) và nhấn Enter – thanh định hình sẽ trở thành một hình vuông đều với nhãn kích thước. Lặp lại quy trình cho từng chi tiết cần kiểm tra. Trong ví dụ, có hai vùng: xung quanh C30 và xung quanh BR1.
4
Nếu có nhiều chi tiết và chúng được sắp xếp đều, việc sử dụng lưới sẽ thuận tiện hơn: kéo khung lưới dọc theo toàn bộ bản vẽ và nhập kích thước của vùng – phần mềm sẽ hiển thị số lượng hàng và cột. Hoặc, bạn có thể nhập số lượng hàng, cột, chiều rộng và chiều cao của ô trong khối `Lưới vùng` và nhấn `Tạo lưới. Bạn có thể kéo lưới chính xác lên bản vẽ bằng chuột.
5
Phần bên phải hiển thị mỗi vùng với kích thước và dấu kiểm "bật". Vùng bị tắt không hiển thị bất kỳ lớp nào, và bảng mục tiêu bị ẩn hoàn toàn không tham gia vào quá trình kiểm tra. Các nút Tất cả các vùng ✓ / ✗, Màu sắc, Xóa, Xóa TẤT CẢ các vùng. Nhấn phím Enter để đóng cửa sổ - các vùng sẽ được lưu trong data.json và hiển thị màu vàng trên video.
Kết quả gán trên tab AI Model: hai khu vực màu vàng trên khung hình - BR1 ở phía trên bên phải và C30 ở phía dưới bên trái. Bên phải là các nút của mô hình VÙNG-CẶP, hộp kiểm "Ghi lại các khu vực vào sản phẩm theo dấu hiệu" và cài đặt huấn luyện.
Kết quả gán trên tab AI Model: hai khu vực màu vàng trên khung hình - BR1 ở phía trên bên phải và C30 ở phía dưới bên trái. Bên phải là các nút của mô hình VÙNG-CẶP, hộp kiểm "Ghi lại các khu vực vào sản phẩm theo dấu hiệu" và cài đặt huấn luyện.
Lời khuyên. Chi tiết nên chiếm một phần đáng kể của khu vực, và xung quanh nên còn lại một phần nhỏ của bo mạch: đường dẫn, ký hiệu, vị trí đặt linh kiện. Chính phần "nền tảng" này sau đó được sử dụng trong dữ liệu tổng hợp (phần 4.6). Đối với các bo mạch có linh kiện 0603–1206 với độ phân giải 11 px/mm, kích thước 128 px là phù hợp; đối với tụ điện, cầu và cổng, kích thước 192–256 px, như trong ví dụ. Kích thước đầu vào mạng (Image Size) sau đó nên được đặt gần bằng với kích thước của khu vực.

Các khu vực màu đỏ: loại bỏ khu vực khỏi tập dữ liệu tổng hợp bằng một cú nhấp chuột

Trên tab "Mô hình AI", nhấp vào vùng đã tạo bằng nút chuột trái trực tiếp trên video: vùng sẽ chuyển thành màu đỏ và không tham gia vào việc chụp ảnh theo vùng và phát hiện các điểm bất thường. Nhấp lại để khôi phục. Các bộ đếm tệp trong cửa sổ dữ liệu tổng hợp được tính toán lại ngay lập tức, và dòng chữ "tắt N" trên khung hình cho biết có bao nhiêu vùng đã tắt. Danh sách các vùng màu đỏ được lưu trữ theo camera và mô hình; trên tab "Kiểm tra", vùng đó vẫn là vùng bình thường (vùng màu vàng ở phần 5.5).

4.4. Ghi lại ảnh tham chiếu: khu vực căn chỉnh

Các khu vực kiểm tra được xác định dựa trên vị trí của một bảng mạch. Để có thể đặt một bảng mạch khác vào hệ thống với sự dịch chuyển và xoay, chương trình ghi lại các thông tin tham chiếu: một khung hình mẫuvùng căn chỉnh - một khu vực trên bảng mạch chứa các chi tiết được sử dụng để tìm kiếm sản phẩm trong mỗi khung hình mới. Khi tìm thấy vùng này, chương trình sẽ chuyển các khu vực kiểm tra sang bảng mạch mới. Quá trình này được sử dụng trong chụp ảnh, tổng hợp dữ liệu và kiểm tra.

Hai hình chữ nhật khác nhau. Các khu vực kiểm tra là những khu vực mà mô hình kiểm tra (màu xanh). Khu vực căn chỉnh là dấu để tìm kiếm платы (khung màu cam). Các điểm neo không bao giờ được đặt bên trong các khu vực kiểm tra: nếu tìm платы dựa trên tụ, tụ bị lệch sẽ kéo theo cả khu vực kiểm tra và lỗi sẽ biến mất. Do đó, trong khu vực căn chỉnh, hãy sử dụng in lưới, lỗ, đường dẫn, mạch điện gần đó, nhưng không sử dụng bàn và băng tải.
1
Trên tab "Mô hình AI", đánh dấu chọn "Ghi lại các vùng đối với sản phẩm theo dấu" và nhập "Thời gian tìm kiếm, ms" (mặc định là 100). Đặt tấm thẻ dưới camera và nhấn "Ghi lại ảnh tham chiếu".
2
Một cửa sổ mới sẽ hiển thị, hiển thị khu vực cần kiểm tra và các vùng màu xanh để kiểm tra. Kéo thanh định vị để chọn khu vực trên bo mạch. Bạn sẽ thấy các điểm "Điểm tham chiếu: N · Phối vị: cố định / theo quan điểm" ngay bên phải. Số lượng điểm có thể lên đến hàng trăm, nếu "khu vực nhỏ", hãy mở rộng thanh định vị. Thanh định vị mới sẽ thay thế thanh cũ, và nút chuột phải sẽ xóa nó.
3
Nhấn ✔ Tìm khu vực theo vùng đã chọn. Nút thứ hai ✔ Tìm khu vực theo các khu vực kiểm tra sẽ chọn các khu vực dựa trên các khu vực đã được chỉ định – chỉ khi không có gì khác ở đó. Nếu hộp kiểm Hỏi về vùng căn chỉnh mỗi lần bị bỏ chọn, lần tiếp theo sẽ lặp lại vùng đã chọn mà không cần hiển thị cửa sổ.
4
Chương trình hiển thị "ảnh tham chiếu đã được xác định: Khu vực N, liên kết 1, điểm K" và lưu trữ live_template.pnglive_template.txt (khung, vùng, khu vực màu đỏ). Đánh dấu Hiển thị các khu vực chụp trên khung vẽ các khu vực đã tìm thấy trên video, trong khi các điểm tham chiếu mà thanh toán được dựa vào được hiển thị bằng các điểm màu xanh – thông qua đó, người dùng có thể thấy chương trình "dựa vào" những gì.
Vùng điều chỉnh: khung màu cam – khu vực trên bo mạch với các chi tiết (3000 điểm tham chiếu), màu xanh – khu vực kiểm tra C30 và BR1, những khu vực này không nằm trong khung.
Vùng điều chỉnh: khung màu cam – khu vực trên bo mạch với các chi tiết (3000 điểm tham chiếu), màu xanh – khu vực kiểm tra C30 và BR1, những khu vực này không nằm trong khung.
Hình ảnh sau khi đã được gắn nhãn: các vùng đã được xác định và đánh dấu, các đường màu xanh là ranh giới của vùng, các điểm màu xanh là các điểm neo tương ứng trên các bộ phận của bo mạch (các điểm này không nằm trong vùng).
Hình ảnh sau khi đã được gắn nhãn: các vùng đã được xác định và đánh dấu, các đường màu xanh là ranh giới của vùng, các điểm màu xanh là các điểm neo tương ứng trên các bộ phận của bo mạch (các điểm này không nằm trong vùng).
Mô hình tích hợpKhi nào nên chọn
(Đề xuất) Sử dụng phương tiện giao thôngCác thông số có thể được điều chỉnh đồng thời (di chuyển, xoay, thay đổi tỷ lệ); chỉ khi thông số kết quả cải thiện đáng kể thì mới được áp dụng. Độ chính xác trong một vùng điều chỉnh nhỏ là 1–2 pixel.
CứngỐng kính hướng thẳng từ trên xuống, tấm nền nằm phẳng. Đây là phương án ổn định nhất, đặc biệt khi vùng cần căn chỉnh nhỏ.
Tiềm năngỐng kính hoặc bo mạch bị nghiêng. Cần một vùng lớn với các điểm trải dài trên toàn bộ chiều rộng, nếu không, phép hội tụ sẽ bị sai lệch.

Nút "Ảnh tham chiếu với lưới" mở ra ảnh tham chiếu đã lưu với lưới và số thứ tự các khu vực (phần 4.8). Phần mềm kiểm tra xem kích thước có hợp lý hay không: diện tích từ 0,5 đến 2 lần diện tích ảnh tham chiếu, hình dạng là hình vuông, các điểm tựa phải chiếm ít nhất một phần tư diện tích trên mỗi trục — nếu không, kết quả sẽ bị loại bỏ và thông báo "phần mềm không tìm thấy" sẽ hiển thị trên bảng điều khiển.

Quan trọng. Trước đây, các vùng "bị loại bỏ" chỉ xuất hiện khi có một số lượng nhỏ vùng trên hình ảnh – nguyên nhân là do việc thanh toán được thực hiện theo từng vùng. Hãy chụp lại hình ảnh tham chiếu mới, căn chỉnh theo chi tiết của bo mạch: số lượng vùng được tìm thấy trên bo mạch trong hướng dẫn này đã tăng từ 46-51 lên 106-112 từ 134.

4.5. Ảnh chụp theo khu vực: ảnh bình thường và dữ liệu tổng hợp

Nút TÙY CHỈ: chụp theo vùng thực hiện việc chính: chia khung hình thành các vùng, đưa từng vùng vào một lớp riêng zone_NNN và thêm dữ liệu tổng hợp thông thường. Dữ liệu tổng hợp thông thường là sự khác biệt trong quá trình chụp, chứ không phải là lỗi: vị trí thẻ khác, ánh sáng khác, cảm biến có tiếng ồn.

"VÙNG-CẶP: ảnh theo vùng": số lượng biến thể, ảnh theo thời gian, tỷ lệ trong val, dịch chuyển/xoay/thu phóng vùng theo toàn bộ ảnh với tùy chọn "địa điểm", ánh sáng và nhiễu, và tổng số lượng tệp. Khu vực có thể được điều chỉnh bằng chuột.
"VÙNG-CẶP: ảnh theo vùng": số lượng biến thể, ảnh theo thời gian, tỷ lệ trong val, dịch chuyển/xoay/thu phóng vùng theo toàn bộ ảnh với tùy chọn "địa điểm", ánh sáng và nhiễu, và tổng số lượng tệp. Khu vực có thể được điều chỉnh bằng chuột.
Cài đặtNó làm gì và những cài đặt mặc định là gì
Các lựa chọn thay thế bằng vật liệu tổng hợp cho từng khu vực.Bạn có thể tạo bao nhiêu file ảnh tổng hợp cho một mẫu? Nên sử dụng 20 – chỉ bao gồm ảnh tham khảo, tối đa là 500.
Ảnh theo thời gian: mỗi phiên bản từ khung hình mới của máy ảnhBao gồm, khoảng thời gian 800–1200ms (ít nhất là thời gian phơi sáng). Mỗi khung hình được lấy từ một khung hình thật: nhiễu, rung động và ánh sáng nhấp nháy thực tế thay vì được vẽ ra.
Mỗi phương án cũng có xác suất, được biểu diễn bằng phần trăm.20%. Tất cả các ảnh tham chiếu phải nằm trong thư mục "val" luôn: đối với Ultralytics, mỗi lớp phải có mặt trong cả hai thư mục.
Hướng dẫn bằng các sắc độ xámMẫu chung: màu sắc được loại bỏ bình thường, không có lỗi hoặc bất thường nào. Không thể trộn các tệp màu và xám trong cùng một mẫu, chương trình sẽ cảnh báo.
Độ dịch chuyển, pixel · đến đâuKhung chuyển dịch di chuyển trên toàn bộ khung hình từ 0…2 px theo các hướng được đánh dấu (← → ↑ ↓); phần bị thiếu sẽ lấy từ khu vực khác trên bo mạch, và đường cắt vẫn giữ nguyên. Biểu tượng tất cả các hướng cho phép chọn hướng cho mỗi file, một hướng ngẫu nhiên sẽ chỉ có một file.
Góc, độMặc định, tính năng này đã tắt: không có khả năng điều chỉnh theo vùng căn chỉnh, không có khả năng xoay, và việc bật tính năng này sẽ gây ra lỗi. Các tùy chọn "bên trái / bên phải", "tất cả các hướng / một hướng ngẫu nhiên" hoạt động tương tự như tính năng dịch chuyển.
Mức độ (%): giảm / tăngMặc định, tính năng này đã tắt. Hai dấu kiểm biểu thị hai hướng: giảm (<100) và tăng (>100, khu vực sẽ lấy các ô liền kề từ khung). Mỗi hướng được đánh dấu sẽ tạo ra một file riêng.
Độ sáng / Độ tương phản / Phạm viGiá trị ngẫu nhiên trong khoảng cho mỗi tùy chọn: độ sáng 88…112, độ tương phản 88…112%, phạm vi 98…102% (trong ảnh); trong phần "Điều chỉnh vị trí", độ sáng được mở rộng để tránh gây ra lỗi.
Độ ồn (sigma) / Hiệu ứng mờĐộ nhạy của cảm biến: 3…8 mức, độ mờ nhẹ 0,4…0,8 px.
Cột "chung"Khi có dấu kiểm, hình ảnh sẽ được thêm vào tệp chung cùng với các hình ảnh khác; nếu không, nó sẽ tạo ra một tệp riêng "hình tham chiếu + chỉ hình này". Càng có nhiều hình ảnh riêng, thì càng có nhiều tệp cho mỗi tùy chọn.
1
Nhấn vào "TÙY CHỈ: ảnh theo khu vực". Dòng ở cuối hộp thoại đã được định nghĩa trước: "Chọn: 1 file. Khu vực: 21 trong tập huấn luyện, ≈5 trong tập kiểm tra. Tổng cộng khoảng 52 file từ một bức ảnh. Số lượng khung hình từ máy ảnh: 20, ≈16 khung hình". (cho 2 khu vực).
2
Chọn chế độ: Mặc định (tịnh tiến 0–2 px, độ sáng ±5, độ tương phản 95–105 %), Tịnh tiến các yếu tố (tịnh tiến 0–1 px, độ sáng −10…10) hoặc Màu sắc và độ bão hòa (tịnh tiến 0–2 px, độ sáng ±2, độ tương phản và dải màu bị tắt, để sắc độ vẫn là một yếu tố nhận diện).
3
Nhấn vào "Dừng". Quá trình tạo diễn ra trong nền, với thanh tiến trình hiển thị "khu vực 1/2 · 26 tệp · khung hình 4/20" và nút hủy. Sau khi hoàn thành: "Hoàn tất: 2 khu vực → phân loại zone_001…zone_002, 52 tệp". Chương trình ngay lập tức đặt các cài đặt học phí: Kích thước hình ảnh 128, Kích thước mô hình s, Số chu kỳ 50, Lô 64 (phần 4.9).
4
Nhấn lại ảnh trên nhiều bảng khác nhau bằng cùng một nút. Để đảm bảo, cần ít nhất 80 file cho mỗi loại, và quan trọng nhất là phải có nhiều mẫu thật (5-10 bảng), chứ không chỉ là một ảnh với hàng trăm biến thể.
train\zone_001 — bình thường. C30 trong khoang tàu: real_... với camera và syn_... _n1...n20 với các hậu tố dịch chuyển (shiftd, shiftl, shiftr, shiftu). Chữ luôn được đặt ở vị trí cố định so với nền.
train\zone_001 — bình thường. C30 trong khoang tàu: real_... với camera và syn_... _n1...n20 với các hậu tố dịch chuyển (shiftd, shiftl, shiftr, shiftu). Chữ luôn được đặt ở vị trí cố định so với nền.
trainzone_002 - chế độ mặc định BR1: real_... với các tùy chọn xoay trái (rotl), xoay phải (rotr) và dịch chuyển.
trainzone_002 - chế độ mặc định BR1: real_... với các tùy chọn xoay trái (rotl), xoay phải (rotr) và dịch chuyển.

4.6. Thu thập dữ liệu lỗi trong 2 lần nhấn: thành phần dịch chuyển cùng với đế

Dữ liệu tổng hợp được xây dựng dựa trên quá trình quan sát. Mô hình học tập tốt nhất khi được cung cấp thông tin không chỉ là hình ảnh của một vết bẩn, mà còn là chính đối tượng cần kiểm tra cùng với các thành phần khác trên bo mạch: đường in, đường dẫn, màu sắc và kết cấu của nền. Chương trình thu nhỏ vùng kiểm tra xuống kích thước của đối tượng, sau đó di chuyển hoặc xoay vùng này, đồng thời lấp đầy các cạnh bằng các pixel xung quanh. Kết quả là, đối tượng không còn ở đúng vị trí so với nền: chính xác như người kiểm tra nhìn thấy trong thực tế, với tiếng ồn, ánh sáng và bo mạch thực tế.

Thông thường và một vùng bất thường chỉ khác nhau ở vị trí của một thành phần so với đế. Tất cả các yếu tố khác đều giống nhau, vì vậy mạng lưới học cách liên kết "thành phần ↔ bo mạch", thay vì sự khác biệt về màu sắc hoặc độ sáng của một vùng.

2 lần nhấn

1
KHU VƯỜNG: ảnh theo khu vựcChụp ảnh. Các đoạn cắt bình thường của mỗi khu vực với 20 biến thể chụp ảnh (tịnh tiến cửa sổ 0–2 px, ánh sáng, nhiễu) được đưa vào các lớp zone_NNN.
2
KHU VƯỜNG: các dị thườngTạo. Các cài đặt mặc định đã bao gồm cả hai loại dịch chuyển: dịch chuyển khu vực 5–12 px theo mọi hướng và xoay vùng của phần tử (70% khu vực, hình tròn) từ 15–180°. Các tệp tin được đưa vào các lớp zone_NNN_anomaly.

Không cần phải cấu hình thêm: không cần vẽ lỗi, cũng không cần tìm các bảng mạch bị lỗi. Tiếp theo, hãy TRAIN AI MODEL.

Trước và sau: chương trình đạt được điều gì

TRƯỚC: ảnh chụp một bảng hoàn chỉnh. Cả hai khu vực đều màu xanh - "bình thường".
TRƯỚC: ảnh chụp một bảng hoàn chỉnh. Cả hai khu vực đều màu xanh - "bình thường".
SAU: dữ liệu tổng hợp từ các thư mục lỗi được đưa vào các khu vực tương ứng - C30 dịch sang phải-xuống, BR1 xoay. Cả hai khu vực đều màu đỏ - "lỗi". Ngoài ra, bảng cũng sẽ hiển thị khi có lỗi thực tế trên đường.
SAU: dữ liệu tổng hợp từ các thư mục lỗi được đưa vào các khu vực tương ứng - C30 dịch sang phải-xuống, BR1 xoay. Cả hai khu vực đều màu đỏ - "lỗi". Ngoài ra, bảng cũng sẽ hiển thị khi có lỗi thực tế trên đường.
Toàn cảnh, khu vực 1 (C30): bên trái là hình ảnh bình thường từ camera, bên phải là dữ liệu tổng hợp - thành phần cùng với đế dịch xuống-phải, cạnh được lấp đầy bởi các thành phần từ ảnh.
Toàn cảnh, khu vực 1 (C30): bên trái là hình ảnh bình thường từ camera, bên phải là dữ liệu tổng hợp - thành phần cùng với đế dịch xuống-phải, cạnh được lấp đầy bởi các thành phần từ ảnh.
Toàn cảnh, khu vực 2 (BR1): bên phải là khu vực thành phần được xoay 180° - các vị trí đã được xác định, thân vỏ hướng sai.
Toàn cảnh, khu vực 2 (BR1): bên phải là khu vực thành phần được xoay 180° - các vị trí đã được xác định, thân vỏ hướng sai.

Thư mục các lỗi theo cách người dùng nhìn thấy

So sánh với các thư mục thông thường trong phần 4.5: sự khác biệt chỉ ở vị trí của chi tiết so với nền.

train\zone_001_anomaly — lỗi C30. Mỗi bản sao của t000, t001... chứa chín tệp tin: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur — khu vực đã dịch chuyển 5–12 px theo tám hướng (d = xuống, u = lên, l = trái, r = phải), rotate1 — khu vực của tụ điện đã xoay.
train\zone_001_anomaly — lỗi C30. Mỗi bản sao của t000, t001... chứa chín tệp tin: combo1_d, _dl, _dr, _l, _r, _u, _ul, _ur — khu vực đã dịch chuyển 5–12 px theo tám hướng (d = xuống, u = lên, l = trái, r = phải), rotate1 — khu vực của tụ điện đã xoay.
train\zone_002_anomaly — lỗi BR1: vỏ đã di chuyển đến từng trong tám bên và được xoay ngẫu nhiên. Vỏ và các khu vực trên bo mạch là thật.
train\zone_002_anomaly — lỗi BR1: vỏ đã di chuyển đến từng trong tám bên và được xoay ngẫu nhiên. Vỏ và các khu vực trên bo mạch là thật.
Cách đọc tên tệp. syn_<ngày tháng>_t003_combo1_dr.jpg — bản sao 3, tệp chung, dịch chuyển sang phải-xuống (d = xuống, r = phải, u = lên, l = trái); …_rotate1.jpg — xoay vùng của phần tử; …_scale1_dn/_up — tỷ lệ thu nhỏ hoặc phóng to; …_tl/_c/_br — vị trí của vùng (góc, trung tâm). Thông qua tên, bạn có thể thấy chính xác lỗi nào trong tệp, và phần dư thừa sẽ được xóa bằng nút "Xóa dữ liệu tổng hợp (dữ liệu huấn luyện + dữ liệu kiểm tra)" trong cửa sổ vùng.

Đánh dấu chi tiết: tại sao vết xước lại được làm nổi bật và cách điều chỉnh

Trên các bộ phận, có đánh dấu – các chữ và các đường kẻ dày 1-2 px. Dấu này có thể khác nhau giữa các lô sản xuất: font chữ khác, nhãn trên tụ đảo ngược, một số ký hiệu bị mờ. Nếu có lỗi sản xuất "xước", nếu vẽ bằng đường kẻ tương tự, hệ thống sẽ không thể phân biệt được với đường kẻ đánh dấu và nhiễu từ cảm biến, và sẽ loại bỏ các bo mạch khác từ lô sản xuất khác.

Dữ liệu tổng hợp VÙNG-CẶP giải quyết vấn đề này từ cả hai phía. Thứ nhất, lỗi chính là sự dịch chuyển của phần tử, khiến nhãn đi kèm với thân, do đó nhãn không còn là dấu hiệu nhận biết: nó vẫn hiển thị giống nhau cả khi bình thường và khi có lỗi. Thứ hai, đường/vết chầy mặc định có độ dày (⅛ vùng, không nhỏ hơn 3px) và rõ ràng không giống với đường nhãn. Độ dày hiện được chỉ định rõ ràng: trường Độ dày đường, px (0 = tự động) áp dụng cho đường và dấu cộng.

Các lỗi vẽ (hình chữ nhật, hình tròn, đường, "khu vực bị thiếu", vết mờ và các loại khác) được nhóm lại trong nhóm có thể thu gọn Lỗi do vật liệu tổng hợp trên vùng cắt. Mặc định, nhóm này đã được thu gọn và tắt: lỗi chính trên bo mạch là sự lệch. Hãy bật nó để thực hiện các tác vụ cụ thể: khu vực bị ngập, giọt nước thừa, nhãn bị mờ.

Tham số hình dạngĐịnh nghĩa:
Kích thước: từ … đến, % của vùng / pxKích thước hoặc chiều dài của hình dạng. Theo phần trăm, từ cạnh nhỏ nhất của vùng (tương ứng với bất kỳ vùng nào); theo px, giống nhau trên tất cả các vùng, thuận tiện khi biết kích thước thực tế của vết bẩn theo pixel trên khung hình.
Lấp đầyĐầy / viền / hỗn hợp (viền cũng được làm nổi bật).
Độ dày đường, pxĐường / vết xước và dấu cộng. 0 — tự động (làm nổi bật). Để đánh dấu chi tiết, không nên dưới 3 px.
Vị trí lỗiỞ trung tâm, bên trái, bên phải, phía trên, phía dưới - đây là các vị trí có thể đặt quân cờ (với một chút sự ngẫu nhiên). Nếu bạn chọn tất cả các vị trí, hệ thống sẽ tạo một file riêng cho mỗi vị trí được chọn; nếu bạn chọn một vị trí ngẫu nhiên, hệ thống sẽ tạo một file duy nhất với vị trí được chọn là ngẫu nhiên trong số các vị trí đã chọn. Số lượng file sẽ được hiển thị ở phía dưới cửa sổ và sẽ tự động được cập nhật.
Màu sắc của các hình: 5 vị tríNăm ô thay vì danh sách tên. Đánh dấu – ô được chọn, màu sắc được chọn ngẫu nhiên từ các ô đã đánh dấu (±12 theo kênh, để tránh chỉ có một màu). Nút mẫu – chọn màu từ bảng màu, 💧 ống hút – nhấp vào khung hình thực tế (bánh xe – điều chỉnh tiêu, nút chuột phải – điều chỉnh góc nhìn) và chọn màu từ chi tiết hoặc bảng mạch thực tế. Mặc định, hai ô đã được kích hoạt – một màu tối và một màu sáng, ba ô còn lại đã tắt.
Cột "chung"Nếu hình bị lỗi được đánh dấu, nó sẽ được lưu vào một tệp chung cùng với các "hình chung" khác (ví dụ: vết xước trên một phần bị dịch chuyển). Nếu không đánh dấu, sẽ có một tệp riêng chứa "hình bình thường + chỉ hình bị lỗi này". Hình với "tất cả các vị trí" luôn là một tệp riêng.

4.7. Các vùng bất thường: cửa sổ cài đặt

Nút PHỐI HỢP: các vùng chứa "anomalies" tạo ra các lớp zone_NNN_anomaly từ các vùng bình thường. Tất cả các vùng đều được chọn, ngoại trừ các vùng màu đỏ (các vùng bị tắt do nhấp chuột trong khung AI Model, phần 4.3). Các lớp "anomalies" không cần thiết ở mọi vùng: chỉ cần thêm chúng vào các vùng nơi có lỗi thực sự xảy ra, còn các vùng khác sẽ được mô hình kiểm tra bằng cách nhận diện.

Cửa sổ "VÙNG-CẶP: vùng bất thường": sao chép lên hình bị lỗi; nhóm các hình vẽ có các thông số, vị trí và bảng màu, có thể thu gọn; dịch chuyển, xoay và phóng to vùng với hình dạng và tỷ lệ ±%; các vùng con; ánh sáng trên hình bị lỗi; ảnh theo thời gian và val.
Cửa sổ "VÙNG-CẶP: vùng bất thường": sao chép lên hình bị lỗi; nhóm các hình vẽ có các thông số, vị trí và bảng màu, có thể thu gọn; dịch chuyển, xoay và phóng to vùng với hình dạng và tỷ lệ ±%; các vùng con; ánh sáng trên hình bị lỗi; ảnh theo thời gian và val. Cửa sổ có thể mở rộng bằng chuột.
Cài đặtNó làm gì
Sao chép lên hình bị lỗiMột giá trị duy nhất cho tất cả các loại: tạo bao nhiêu bản sao với các tham số ngẫu nhiên mới cho mỗi loại đã chọn (mặc định là 10).
▸ Các lỗi tổng hợp trên vùng cắtNhóm mặc định: hình chữ nhật, hình chữ nhật nhỏ, hình tròn, hình elip, hình tam giác, hình số 8, đường/vết, hình thánh giá, khu vực bị thiếu, vùng bị mờ, vùng nhiễu, một phần của một khu vực khác. Các thông số của hình, vị trí và bảng màu – phần 4.6.
Di chuyển, px · vị trí · hình dạngLỗi chính của bo mạch. Khu vực (hình tròn hoặc hình vuông) dịch chuyển 5–12 px theo các hướng được chỉ ra: ← → ↑ ↓ và hai đường chéo ⤡ ⤢. mức độ theo chiều dọc / chiều ngang, ±% — kích thước của khu vực so với vùng: 0 — toàn bộ vùng, −30 — khu vực nhỏ hơn 30 % (chỉ phần tử được dịch chuyển, phần gốc vẫn giữ nguyên), +30 — khu vực lớn hơn vùng (bao gồm các phần tử lân cận từ khung). tất cả các hướng — theo từng hướng trong tệp.
Xoay, ° · hình dạngVùng (hình tròn hoặc hình vuông, cùng tỷ lệ ±%) xoay ngẫu nhiên trong phạm vi ở cả hai phía.
Mức độ (%): giảm / tăngVùng như một lỗi: giảm 60–85% hoặc tăng 120–160%. Mỗi cạnh đã chọn là một tệp riêng. Thường được tắt trên bo mạch.
"chung" cho di chuyển và xoayNếu cả hai ô đánh dấu đều được chọn, điều đó có nghĩa là một đối tượng trong một tệp: phép dịch chuyển và xoay được áp dụng bằng một phép biến đổi duy nhất (không phải theo thứ tự, nếu không sẽ tạo ra kết quả "lộn xộn"), tỷ lệ và hình dạng của vùng đều chung và được xác định trong phép dịch chuyển.
▸ Các vùng nhỏVùng được chia thành 2, 4 hoặc 9 phần, và trong mỗi phần, vùng được xoay hoặc di chuyển; hộp kiểm "từng vùng có ảnh riêng" cho mỗi phần. Cần thiết cho các vùng lớn với nhiều thành phần.
Ánh sáng và nhiễu trên mỗi tệp lỗiBật và bằng bình thường: lỗi nên khác về hình dạng, không phải về ánh sáng.
Ảnh theo thời gian / trong valMỗi bản sao từ khung hình mới của camera (800ms), 20% trong val, tệp đầu tiên của lớp trong val luôn có.
1
Nhấn vào "SO SÁNH: các vùng". Kết quả được tính toán trước: "Vùng: 2 · trên bản sao: 2 tệp · trên vùng: 20 · tổng cộng ≈ 40 (+ một phần trong val)". Khi dịch chuyển các tệp trên bản sao, số lượng trở thành 9, tương tự như trong các thư mục ở trên.
2
Chọn chế độ: Mặc định (tăng/giảm khoảng 5–12 px + xoay vùng, hình và các phân vùng, các yếu tố được thu gọn và tắt), Điều chỉnh vị trí (chỉ điều chỉnh vị trí 4–12 px, ánh sáng như bình thường) hoặc Màu sắc và họa tiết (các hình, "yếu tố biến mất", màu sắc từ bảng màu, không điều chỉnh vị trí). Ứng dụng sẽ ghi nhớ ngay lập tức mọi thay đổi, mỗi khi bạn nhấn.
3
Nhấn vào Tạo. Các lớp zone_NNN_anomaly sẽ xuất hiện trong cây mô hình. Để thêm lỗi từ đường, bạn có thể thêm vào các lớp tương ứng thông qua ROI → thêm vào lớp.
Quan trọng. Giá trị dưới của biên độ thay đổi (5px) nằm ngay trên khoảng bình thường (0-2px). Không mở rộng khoảng bình thường lên 5px và không thu hẹp biên độ bất thường xuống 2px: ranh giới sẽ bị xóa, và mô hình sẽ dao động trên các bo mạch thực tế. Nếu cần độ nhạy khác, hãy điều chỉnh cả hai biên giới một cách nhất quán và chuyển đổi chúng sang milimet (phần 1.3).

4.8. Ảnh tham chiếu với các vùng: đinh tán và vùng chỉnh sửa

Nút "Ảnh tham chiếu với vùng" mở ảnh tham chiếu của bo mạch với lưới đã lưu. Tại đây, dữ liệu được tổng hợp mà không cần sử dụng camera: bánh xe để điều chỉnh zoom, nút chuột phải để điều chỉnh góc nhìn toàn cảnh, nút chuột trái để chọn vùng (Ctrl để thêm, kéo bằng chuột để định hình, Ctrl+A để chọn tất cả), nhấp đôi để mở trình chỉnh sửa vùng.

  • Vòng đệm hàn cho các khu vực đã chọn… – cửa sổ "Vòng đệm hàn: kết nối giữa các đường dẫn". Chương trình tự động tìm các đường dẫn trong khu vực (đường dẫn theo tiêu chuẩn Ots, các dải sáng có độ rộng ≥ 2 px), đặt một giọt hàn vào khoảng trống giữa các đường dẫn, sử dụng màu sắc của các đường dẫn, có cạnh tối và bóng. Cài đặt: giữa các đường dẫn thẳng đứng hoặc nằm ngang, vòng đệm trên ảnh 1…3, kích thước 8…18% của khu vực, ảnh cho mỗi khu vực (5), nơi đặt – vào vùng bất thường hoặc vùng bình thường, ánh sáng trên bề mặt, trong val – ảnh mới với ánh sáng khác hoặc bản sao chính xác.
  • Công cụ chỉnh sửa vùng: Cọ, Pipet, Màu, Sao chép vùng, Sao chép, Dấu, Vùng khuôn; bảng màu "đầu nối / bề mặt", "bảng mạch", "tô bóng / mặt nạ", trắng, đen; ô "Sao chép" và nút Tạo ảnh. Như vậy, lỗi chưa có trên đường dẫn được tạo ra: bề mặt bị lấp đầy, phần tử thừa, nhãn bị thiếu.

Các tệp của trình chỉnh sửa có tên `edit_…` và được đưa vào một vùng hoặc một bất thường của vùng đó. Trên tab "Inspect", cửa sổ tương tự chỉ được mở để xem.

4.9. Huấn luyện mô hình

Giao diện Cài đặt huấn luyện trong tab Mô hình AI sẽ tự động điền sau khi chụp ảnh theo vùng: Kích thước ảnh 128, Kích thước mô hình s, Số chu kỳ 50, Kích thước lô 64. Đây là các giá trị tương ứng với vùng 108–137 px. Đối với vùng 256 px, như trong ví dụ, hãy đặt Kích thước ảnh là 192 hoặc 256 – việc cắt sẽ không bị nén đáng kể (trong cửa sổ chính, các giá trị Epochs là 100 và Kích thước ảnh là 192). Kiểm tra các giá trị và nhấn HUẤN LƯỢN MÔ HÌNH AI.

Tham sốÝ nghĩaCách chọn
EpochsMô hình sẽ xem toàn bộ tập dữ liệu bao nhiêu lầnMặc định là 50; 100-150 nếu có nhiều lớp bất thường
Batch SizeSố lượng ảnh trong mỗi bước64; giảm nếu thiếu bộ nhớ video
Image SizeKích thước của các vùng cắt, chia đều theo 32Kích thước vùng ước tính: 128 cho vùng 108-137px; 192-256 cho vùng 256px, như trong ví dụ
Model Sizen / s / m / l / xs — tối ưu cho hàng trăm cặp lớp; n thiếu dung lượng, m và cao hơn — chậm hơn
DevicePhương pháp huấn luyện0 (GPU) với card đồ họa NVIDIA; nếu không có CUDA, chương trình sẽ tự chuyển sang CPU
WorkersSố lượng luồng xử lý dữ liệu12 (mặc định cho bộ xử lý đa nhân)
1
Trước khi bắt đầu, chương trình kiểm tra: đề xuất xóa các lớp trống, các thư mục không cần thiết trong val, và tìm kiếm val ở những nơi trống. Khi chạy lần đầu, chương trình cài đặt môi trường huấn luyện (Python 3, các gói ultralytics, onnx, onnxslim, onnxruntime) – cần có internet và vài phút.
2
Đối với mô hình VÙNG-CẶP, quá trình huấn luyện không cần sử dụng erasing, flip, crop và randaugment: các phương pháp này xung đột với các lớp bất thường (vùng bị lật ngược là một vùng khác). Một dòng tương ứng sẽ được hiển thị trong console.
3
Nút trở thành màu đỏ khi nhấn "DỪA MÔ HÌNH AI", và vòng tròn bên phải hiển thị tỷ lệ theo các giai đoạn. Quá trình huấn luyện có thể được theo dõi trong Console. Với hai khu vực và 100 giai đoạn trên card đồ họa, thời gian này khoảng 10-15 phút.
4
Sau khi hoàn thành, chương trình sẽ xuất best.onnx vào thư mục gốc của mô hình và ngay lập tức gán nó cho việc kiểm tra. Nút Xuất ONNX sẽ lặp lại quá trình xuất mà không cần phải huấn luyện lại.
Lời khuyên. Sau khi thêm lỗi hoặc các lớp mới, bạn có thể tiếp tục quá trình huấn luyện bằng cách sử dụng nút đó: tập dữ liệu sẽ được bổ sung, mô hình AI sẽ được huấn luyện lại, và best.onnx dữ liệu cũ sẽ bị ghi đè. Trong quá trình này, hãy giữ nguyên cấu trúc mạng.

5. Kiểm tra

Tất cả các thao tác được thực hiện trên tab "Inspect". Mô hình đã được huấn luyện, vì vậy chỉ cần kiểm tra các vùng, điều chỉnh ngưỡng, chọn nguồn tốc độ và, nếu bo mạch hoạt động ở bất kỳ vị trí nào, hãy kích hoạt chế độ hoạt động trực tiếp.

Chức năng "Kiểm tra" trong quá trình làm việc: mô hình model_4\best.onnx, dòng "Các lớp kiểm tra: Bảng mạch - khu vực 2, mức độ bất thường 2. Khu vực N được giải quyết trong cặp zone_N / zone_N_anomaly, ngưỡng 50%", băng tải hoạt động với chu kỳ 2000ms và chỉ báo "bình thường · 112 điểm",
Chức năng "Kiểm tra" trong quá trình làm việc: mô hình model_4\best.onnx, dòng "Các lớp kiểm tra: Bảng mạch - khu vực 2, mức độ bất thường 2. Khu vực N được giải quyết trong cặp zone_N / zone_N_anomaly, ngưỡng 50%", băng tải hoạt động với chu kỳ 2000ms và chỉ báo "bình thường · 112 điểm", ở dưới là nguồn tốc độ và các dấu "GPU", "Phân tích độ xám". Trong khung hình, cả hai khu vực đều màu xanh - "bình thường".

5.1. Chỉ định mô hình và kiểm tra các vùng

1
Nếu không có mô hình được chỉ định, hãy nhấp vào "CHỌN MÔ HÌNH ONNX ĐỂ KIỂM TRA" và chỉ định đường dẫn đến thư mục mô hình trong trường "best.onnx". Dòng "Các lớp kiểm tra" sẽ hiển thị tất cả các lớp; tên được lấy từ chính tệp ONNX, vì vậy các số đầu ra chắc chắn sẽ khớp với tên.
2
Nhấn vào KHU VỰC - CẶP: khu vực ↔ mô hình (kiểm tra, ngưỡng)Cửa sổ hiển thị: "Số vùng trong lưới: 2 / Số lớp." zone_NNN Trong mô hình: 2, số lượng lớp dị thường: 2. "Mỗi vùng trong lưới có một lớp riêng biệt." Các cảnh báo "Các vùng không có lớp trong mô hình" hoặc "Các lớp không có vùng trong lưới" cho biết rằng lưới đã được thay đổi sau quá trình huấn luyện.
3
KHÔNG SỬ DỤNG TRÍ TUỆ NHÂN TẠO tạm thời tắt phân tích trên camera, không xóa cài đặt (mỗi camera có một cờ riêng); LOẠI BỎ MÔ HÌNH xóa hoàn toàn mô hình và các khe.

5.2. Cường độ nhận diện vùng

Đối với mỗi vùng, mạng lưới cung cấp xác suất cho tất cả các lớp, nhưng quyết định chỉ được đưa ra trong phạm vi một cặp. Tỷ lệ "bình thường" q = p(zone_N) / (p(zone_N) + p(zone_N_anomaly)) được nhân với một hệ số "độ tin cậy" - thể hiện mức độ mà cặp này thực sự được mạng lưới nhận diện (độ tin cậy cao khi đạt 10% trở lên). Điểm số cuối cùng, từ 0 đến 100%, được so sánh với một ngưỡng: nếu cao hơn ngưỡng, được đánh giá là bình thường, nếu thấp hơn ngưỡng, được đánh giá là bất thường.

Giá trị mặc định là 50%, được lưu trữ trong `board.json` cùng với mô hình và được áp dụng ngay lập tức, không cần khởi động lại. Nếu giá trị dưới 50%, mức độ "bình thường" sẽ tăng lên: 25% → ngưỡng cắt là 6%, 10% → 0,4%, 1% → gần như toàn bộ màu xanh; 99% chỉ cho phép đi qua các khu vực đáng tin cậy. Thang đo này được sử dụng để người điều khiển có thể phân biệt sự khác biệt giữa 5% và 99%, thay vì chỉ các khu vực màu đỏ.

Lời khuyên. Chọn một ngưỡng giá trị trên 10 bo mạch đã được xác định là hoạt động bình thường: tăng dần giá trị cho đến khi tất cả các khu vực đều hiển thị màu xanh, sau đó kiểm tra trên các bo mạch có lỗi đã biết. Mỗi 10 giây, chương trình sẽ ghi một dòng vào bảng điều khiển: "[KHU VỰC-GIÁ TRỊ] … trạng thái bình thường N, bất thường M, ngưỡng 0,50; các giá trị xấu nhất: z17:0,31 …" – thông qua dòng này, bạn có thể thấy khu vực nào gần với ngưỡng nhất.

5.3. Dòng xử lý liên tục: hoạt động ở bất kỳ vị trí nào

Gà lọi Hệ thống sản xuất linh hoạt: thanh toán bất kể tư thế nào Nó bao gồm việc tìm kiếm vùng căn chỉnh trước mỗi lần phân tích: khung hình được căn chỉnh với ảnh tham chiếu, các vùng được cắt ra từ hình ảnh đã căn chỉnh, và các đường viền của vùng căn chỉnh và các vùng được vẽ trên video (màu xanh lá cây biểu thị trạng thái bình thường, màu đỏ biểu thị bất thường). Khu vực.. thời gian, tính bằng mili giây Thiết lập tần suất kiểm tra tín hiệu (mặc định là 1000, trong ảnh là 2000). Chỉ báo bên cạnh hiển thị: màu xanh lá cây "bình thường - N điểm", màu đỏ "DỊCH VONG - N điểm", màu cam "không tìm thấy tín hiệu" hoặc "không có ảnh tham chiếu - hãy chụp ảnh". Kết quả được đưa ra dựa trên một lần phân tích duy nhất, không tích lũy.

Ảnh tham chiếu và vùng căn chỉnh được xác định bằng cùng một nút "Xác định ảnh tham chiếu", giống như khi chụp ảnh (phần 4.4); "Ảnh tham chiếu với vùng cho phép xem. Trên video, các đường viền vùng căn chỉnh và các điểm hỗ trợ màu xanh được vẽ, nơi thanh được căn chỉnh. Các vùng vượt ra ngoài khung hình sau khi căn chỉnh sẽ được bỏ qua với nhãn "BỎ QUA".

5.4. Dựa trên tín hiệu nào để phân tích

Nguồn tín hiệu luôn là một: khi thêm một tín hiệu mới, chương trình sẽ xóa tín hiệu cũ.

CáchCách bậtKhi nào sử dụng
Theo cameraký tự "Theo camera"kiểm soát liên tục; tốc độ giới hạn bằng thanh trượt "Số lượng phân tích mỗi giây" trên tab Camera
Theo đồng hồ hẹn giờký tự "Theo đồng hồ hẹn giờ" và khoảng thời gian, mili giâykiểm soát thưa thớt, ví dụ một lần mỗi giây
Theo tín hiệuchọn kết nối trong danh sách "Tín hiệu" và biên độ "phân tích khi tín hiệu dương" hoặc "phân tích khi tín hiệu âm"Hệ thống với cảm biến trên đầu vào của camera: khung hình được chụp vào thời điểm sản phẩm đến – phương pháp chính xác nhất (phần 6)
GPUĐánh dấu "GPU"Bật mặc định; chuyển đổi sẽ khởi động lại mô hình
Phân tích độ xámĐánh dấu "Phân tích độ xám"Tự động bật cho các mô hình đã được huấn luyện bằng độ xám; các vùng được chuyển thành độ xám trước khi suy luận

5.5. Khu vực màu vàng: tắt khu vực bằng cách nhấp

Trên đường, đôi khi cần tạm thời loại bỏ một số khu vực khỏi hệ thống kiểm soát: thành phần không được cài đặt trên lô này, khu vực bị chặn bởi thiết bị, đang trong quá trình kiểm tra. Để làm điều này, không cần phải chỉnh sửa lưới hoặc mô hình, các khu vực có thể tắt trực tiếp trên video, chỉ trên tab Inspect.

1
Nhấn nút trái trên khu vực trên mặt camera: khu vực sẽ chuyển sang màu xanh và sẽ bị loại khỏi phân tích. Nhấn lại để kích hoạt lại.
2
Nhóm khu vực: giữ phím trái và kéo khung trên bo mạch. Tất cả các khu vực nằm trong khung sẽ bị tắt; nếu tất cả chúng đã là màu vàng, khung sẽ bật lại chúng. Hoạt động cũng khi cuộn bằng cần trượt.
3
Danh sách các khu vực màu vàng được lưu trong cơ sở dữ liệu theo camera và mô hình, tồn tại qua việc khởi động lại chương trình và kết nối lại camera. Một dòng "\[Khu vực] … tắt các khu vực: N" sẽ được hiển thị trong bảng điều khiển.

Chức năng của các vùng màu vàng được xác định bởi hộp kiểm chung "Các vùng màu vàng (tắt bằng cách nhấp chuột) sẽ không phát ra âm thanh" trong cửa sổ OUTPUT, trên tab "Âm thanh" (đã được bật theo mặc định):

Đánh dấuHành vi của các khu vực màu vàng
Bật (mặc định)Khu vực không được phân tích: vùng không được gửi đến mạng, nhãn OFF, không có âm thanh, không có gói TCP, không có kết quả từ camera. Trong quy trình thực tế, khu vực màu vàng không ảnh hưởng đến kết quả "bình thường / bất thường".
TắtKhung màu vàng chỉ còn lại để ghi chú: khu vực đang được phân tích và hoạt động như bình thường. Điều này rất tiện lợi để đánh dấu các khu vực cần kiểm tra mà không cần tắt chức năng giám sát.
Lưu ý. Các quy tắc loại bỏ trên các khu vực màu vàng không cần thiết phải được xóa: khi hộp kiểm được bật, chúng sẽ không nhận được kết quả, và sau khi tắt, khu vực sẽ hoạt động ngay lập tức.

5.6. Những gì hiển thị trên màn hình và trong bảng điều khiển

  • Kết quả đã được hiển thị cho khu vực; đường viền – màu của các vùng, khi kích hoạt, sẽ là màu đỏ. Khi có hơn 50 vùng, vùng bình thường chỉ hiển thị bằng đường viền màu xanh, các vùng bất thường và không chắc chắn sẽ hiển thị bằng các ký hiệu khác: nhiều ký hiệu trên mỗi khung hình gây khó khăn cho việc đọc và làm chậm quá trình vẽ. Các vùng màu vàng đã bị tắt bằng cách nhấp chuột (phần 5.5).
  • "Phần phân tích theo kích hoạt" ở cuối tab hiển thị mỗi lần kích hoạt dưới dạng dòng: [hh:mm:ss.mmm] Camera cửa ra + KÍCH HOẠT 4ms | AI 12ms #57 và kết quả cho mỗi khu vực. Các dòng này không được lưu vào cơ sở dữ liệu.
  • Nhấp chuột phải vào khu vực trên video: "Phân loại trong khu vực này → đặt tên là «…»" thay đổi tên phản hồi của mô hình cho khu vực đó (không sửa đổi mô hình, nhưng bộ lọc và nhật ký sẽ thấy tên mới); cũng ở đó là "Tạo bộ lọc cho khu vực này" và bộ quy tắc.
  • Gà lọi Lưu trữ các hình ảnh kiểm tra và thư mục: các hình ảnh với các khu vực được vẽ sẽ được lưu trữ dưới dạng các tệp tin inspect_….jpgMỗi máy ảnh có các cài đặt riêng.
  • Mỗi 10 phút, một khung hình từ quy trình sản xuất và danh sách các khu vực được lưu trữ sẽ được ghi vào thư mục con diag, đồng thời lưu giữ 20 khung hình gần nhất – để phân tích các trường hợp tranh chấp mà không cần mở rộng thư mục.

6. Các bộ kích hoạt: cảm biến bên ngoài trên đầu vào của camera

Chế độ chính cho dây chuyền: Camera chụp ảnh dựa trên tín hiệu điện từ cảm biến ở đầu vào rời của nó. Đây là thời điểm chụp ảnh chính xác nhất: sản phẩm luôn ở một vị trí cố định trong khung hình, và phân tích chỉ được thực hiện một lần cho từng sản phẩm. Phần mềm TRÌGGER thu thập kết nối "cảm biến → camera" và vẽ sơ đồ kết nối cho loại đầu nối đã chọn.

Cửa sổ "BỘ KÍCH HOẠT" cho HIKROBOT (6 chân): cảm biến PNP, tín hiệu trên chân 2, chân chung 5, sơ đồ kết nối.
Cửa sổ "BỘ KÍCH HOẠT" cho HIKROBOT (6 chân): cảm biến PNP, tín hiệu trên chân 2, chân chung 5, sơ đồ kết nối.
Tương tự cho SICK picoCam (6 chân): tín hiệu trên chân 4 (Trigger +), chân chung 3 (Trigger −).
Tương tự cho SICK picoCam (6 chân): tín hiệu trên chân 4 (Trigger +), chân chung 3 (Trigger −).
1
Nhấn vào CÁC THIẾT BỊ trên video. Chọn Thiết bị cảm biến (ví dụ: cảm biến quang BAOLSEN QAF-Q2P, 4 dây; bất kỳ cảm biến nào có đầu ra PNP hoặc NPN cũng được kết nối tương tự), Đầu nối camera (HIKROBOT 6 chân hoặc SICK picoCam 6 chân), Camera (loại nào)Loại đầu ra cảm biến: PNP - tín hiệu chuyển đổi "dương" (trường hợp thông thường), NPN - chuyển đổi "âm", cần một điện trở 1-4,7 kΩ với nguồn 24V.
2
Lắp ráp sơ đồ theo hình: cấp nguồn cho cảm biến và camera từ một nguồn 24V, dây tín hiệu của cảm biến vào đầu vào của camera, dây ngược của đầu vào vào 0V. Dây trắng của cảm biến là đầu ra thứ hai, không được kết nối.
3
Nhấn vào Tạo kết nối. Kết nối sẽ được lưu trong cơ sở dữ liệu; các kết nối giống nhau sẽ không bị trùng lặp. Nút Xóa kết nối sẽ xóa kết nối đã chọn.
4
Trên tab "Inspect", chọn liên kết trong danh sách "Trigger" và chọn chế độ: "Phân tích khi có tín hiệu dương" (lấy ảnh khi có điện 24V) hoặc "Phân tích khi có tín hiệu âm". Chương trình sẽ chuyển camera về chế độ kích hoạt: đối với HIKROBOT, TriggerMode = On, TriggerSource = Line0, đối với SICK, chương trình sẽ dừng chụp ảnh, đặt chế độ và khởi động lại. Vòng tròn bên cạnh hiển thị mức tín hiệu đầu vào.

Sơ đồ kết nối các đầu

ChânHIKROBOT MV-CS, 6 pinSICK picoCam, 6 pin
1DC_PWR — nguồn điện cho camera: 9-24VGND — đất nối của camera
2OPTO_IN — Đầu vào Line 0 (+), tín hiệu kích hoạtVCC — nguồn điện của camera (12–24V)
3GPIO — Line 2, đầu vào hoặc đầu raĐầu vào − — đầu vào của cảm biến quang điện
4OPTO_OUT — đầu ra của đường dây 1 (+)Đầu vào của cảm biến + — (+)
5OPTO_GND — một loại cảm biến quang, có dây dẫn ngượcFlash + — đầu ra rời (âm)
6GND — đất nối của cameraFlash − — đầu ra rời (dương)
Quan trọng. Các đầu nối "baba" trên camera và "mẹ" trên cáp phải đối xứng. Chỉ có một điểm tham chiếu duy nhất là khóa (khoảng hở trên trục); trên thiết bị của SICK, nó nằm giữa các chân 1 và 6, và khi đối xứng, nó hướng sang phải. Hãy xác định các chân từ phía bạn đang cầm. Lỗi trên một chân có nghĩa là đường dây bị cháy: nguồn và đầu ra nằm cạnh nhau. Hãy xác nhận sơ đồ kết nối của SICK bằng cách kiểm tra.
Lời khuyên. Nên đo theo trục "+", chứ không phải theo trục giảm: trên thiết bị thực tế, độ phân giải thời gian của trục "+" là 4,2 ms, trong khi trục giảm là 40,7 ms. Kiểm tra cảm biến: kết nối màu nâu và xanh luôn là 24V, đây là nguồn điện; tín hiệu nên được đo giữa màu đen và xanh, khi ánh sáng đi qua. Nếu tín hiệu không thay đổi, hãy đặt một điện trở 2-10kΩ từ màu đen sang màu nâu; 24V↔0V trong trường hợp này có nghĩa là NPN.

7. Đầu ra: bộ lọc, đầu ra rời của camera và TCP

Bộ điều khiển chuyển đổi kết quả kiểm tra thành hành động. Quy tắc được tạo trên một khu vực cụ thể (hoặc trên tất cả các khu vực của mô hình, lớp hoặc các khu vực đã đánh dấu) và kích hoạt khi mô hình phát hiện ra lớp được chỉ định trong khu vực đó. Có ba hành động: gửi gói TCP đến robot hoặc PLC, chuyển đổi trạng thái đầu ra kỹ thuật số của camera và phát âm thanh cảnh báo cho người vận hành. Mỗi lần kích hoạt đều được ghi lại trong nhật ký.

7.1. Hướng dẫn: Đầu ra - kết nối và kiểm tra bằng đồng hồ đo

Nút "THOÁT" trên video sẽ mở ra một cửa sổ hướng dẫn, nhưng cửa sổ này không thực hiện bất kỳ cài đặt nào: nó hiển thị các đầu ra, cách kiểm tra chúng bằng thiết bị đo, và cách kết nối tải.

HIKROBOT — đầu ra Line 1 (cảm biến quang) trên các chân 4 (+) và 5 (−), dòng điện tối đa 25mA.
HIKROBOT — đầu ra Line 1 (cảm biến quang) trên các chân 4 (+) và 5 (−), dòng điện tối đa 25mA.
SICK picoCam — chân flash (cảm biến quang) trên các chân 5 (+) và 6 (−), 150mA liên tục.
SICK picoCam — chân flash (cảm biến quang) trên các chân 5 (+) và 6 (−), 150mA liên tục.
  • Đầu ra — "cổng khô" của cảm biến quang: nó không cung cấp điện áp riêng, chỉ đóng mạch. Cần nguồn điện bên ngoài.
  • Kiểm tra bằng đồng hồ đo trong chế độ Ω: đầu ra TẮT — ngắt mạch (OL), ĐIỀN — hàng trăm Ohm. Còi không phát ra âm thanh trong cả hai trường hợp, hãy xem các con số. Nếu không có sự thay đổi — hãy đảo ngược các đầu dò, cảm biến quang có cực.
  • Tải: +24V → đèn → chân "+", chân "-" → GND. Đối với HIKROBOT, mức tiêu thụ tối đa là 25mA, nếu vượt quá, hãy giảm nguồn hoặc sử dụng relay trung gian. Đối với SICK, mức tiêu thụ lớn, đèn 20-30mA có thể được kết nối trực tiếp.

7.2. Cửa sổ OUTPUT: quy tắc cho vùng

Nút OUTPUT trên thanh bên phải (hoặc nhấp chuột phải vào khu vực → "Tạo bộ loại bỏ cho khu vực này") sẽ mở cửa sổ "OUTPUT - Gửi dữ liệu TCP và đầu ra rời của camera". Ở bên trái, bạn sẽ thấy cây thư mục Camera → Mô hình AI → Phân loại → Khu vực với các khu vực được đánh dấu; ở bên phải, bạn sẽ thấy các tab Quy tắc khu vực, Lịch sử hoạt động, Cơ sở dữ liệu.

Cửa sổ OUTPUT: danh sách các vùng từ trái sang, danh sách quy tắc của vùng, nhóm "Quy tắc" và tab TCP với các cài đặt.
Cửa sổ OUTPUT: danh sách các vùng từ trái sang, danh sách quy tắc của vùng, nhóm "Quy tắc" và tab TCP với các cài đặt.
1
Chọn vùng trong cây (tiêu đề bên phải sẽ hiển thị đường dẫn Camera USB HD → model_5 → 1 → Khu vực 1 (T1.C1)). Nhấn + TCP mới, + Discrete mới hoặc + Âm thanh mới.
2
Trong nhóm "Правило", hãy chọn "Loại AI" để kích hoạt (cho VÙNG-CẶP, đó là "anomal" hoặc "normal" (bất kỳ loại nào); "*" — bất kỳ loại nào), đánh dấu "Bật", và nếu cần, chọn "Lặp lại cho đến khi loại vẫn còn" với khoảng thời gian lặp lại và "Xác nhận thay đổi loại, ms" (mặc định là 1500: loại mới phải tồn tại liên tục trong khoảng thời gian đó để thay đổi được được xác nhận).
3
Điền vào mục TCP (phần 7.3), Đầu ra camera (phần 7.4) hoặc Âm thanh (phần 7.5).
4
Kiểm tra chuỗi hoạt động mà không cần chờ lỗi: Kiểm tra quy tắc này (gửi gói hoặc kích hoạt), Mô phỏng hoạt động của vùng (chạy tất cả các quy tắc của vùng thông qua hàng đợi chiến đấu với tính năng chống nhiễu và nhật ký).
5
Nhấn vào "Tạo cho 1 khu vực". Nếu đã chọn nhiều khu vực, nút sẽ thay đổi thành "Tạo cho N khu vực"; trên nút mô hình sẽ là "Lưu cho toàn bộ mô hình", trên nút lớp sẽ là "Lưu cho lớp". Ở dưới cùng: "Bật / Tắt / Xóa cho các khu vực đã chọn".

Một vùng có thể chứa nhiều quy tắc TCP (các cổng nhận khác nhau), tối đa một quy tắc đầu ra rời rạc cho mỗi nhóm, và tối đa một âm thanh cho mỗi nhóm. Quy tắc được lưu trữ trong cơ sở dữ liệu và hoạt động từ luồng suy luận: các quy tắc được lưu trong bộ nhớ, một tìm kiếm theo địa chỉ vùng trên mỗi khung hình, và các socket và SDK của camera được xử lý bởi một luồng riêng biệt, để phân tích không phải chờ đợi mạng.

7.3. Gửi gói TCP cho robot hoặc PLC

Chương trình hoạt động như một máy khách TCP: nó kết nối đến địa chỉ IP và cổng của máy chủ, duy trì kết nối và tái sử dụng nó. Khi kết nối bị gián đoạn, chương trình sẽ thử kết nối lại một lần và lặp lại quá trình. Dữ liệu được truyền đi ở định dạng UTF-8 và có ký tự CR+LF ở cuối mỗi dòng.

TrườngChức năng
Thời gian chờ kết nối, msMặc định là 1000, từ 100...10000.
Thời gian chờ gửi quy tắc, msThời gian tạm dừng tối thiểu giữa các lần gửi quy tắc tự động; 0 là không có thời gian tạm dừng. Ngay cả việc thay đổi lớp cũng cần thời gian tạm dừng này.
LệnhDịch trực tiếp: "up" - gói "up". Cần một góc - thêm biến: "J6 {class}" → "J6 235". Trống - sử dụng mẫu "Dữ liệu".
Dữ liệu của bạnVăn bản tùy ý, được sử dụng thay thế cho `{data}`.
Dữ liệuMẫu đơn giao hàng. Trống = «số và tên khu vực» ({zoneId} {zone}). Nhấn vào ô để thêm, nhấn lại để xóa; «Tất cả các trường» tạo một mẫu có cấu trúc.
Thay thếÝ nghĩaThay thếÝ nghĩa
{zoneId}Số vùng (1, 2, 3...){camera}Tên camera
{zone}Tên vùng (có thể chỉnh sửa trong cơ sở dữ liệu){model}Tên mô hình AI
{class}Loại hình mà mô hình đã nhận{time}Thời gian (HH:MM:SS.ms)
{conf}Mức độ tin cậy, % (dấu chấm là dấu phân cách){date}Ngày (YYYY-MM-DD)
{data}Văn bản từ "Dữ liệu của bạn"

Ví dụ về mẫu cấu trúc: zoneId={zoneId};zone={zone};class={class};conf={conf};camera={camera};model={model};time={time};date={date};data={data}. Các số luôn ở định dạng nhất quán để tránh gây lỗi khi phân tích trên PLC.

  • Kiểm tra kết nối chỉ mở socket và báo cáo "kết nối đã được thiết lập" hoặc "không có phản hồi sau N ms".
  • Gửi thử nghiệm thực sự gửi một chuỗi ký tự; kết quả hiển thị ngay bên cạnh nút, chứ không phải trong một cửa sổ riêng.
  • Gửi tin nhắn. Nếu không đánh dấu "lặp lại", quy tắc sẽ gửi một tin nhắn khi thay đổi lớp và tiếp tục gửi tin nhắn cho đến khi người nhận phản hồi bằng dòng "ok <tin nhắn>". Nếu đánh dấu, tin nhắn sẽ được gửi lại theo khoảng thời gian nhất định, cho đến khi lớp học vẫn còn.
  • "Lệnh cuối cùng thắng": Nếu mô hình đã đưa ra nhiều kết quả trong khi người điều khiển đang bận, kết quả cuối cùng sẽ được thực hiện. Hàng đợi bị giới hạn 512 nhiệm vụ.

7.4. Đầu ra rời của camera

Thanh "Đầu ra camera": phương pháp đầu ra, đường, mức, xung, nút kiểm tra thủ công. Với camera USB, không có đầu ra rời - chỉ có TCP.
Thanh "Đầu ra camera": phương pháp đầu ra, đường, mức, xung, nút kiểm tra thủ công. Với camera USB, không có đầu ra rời - chỉ có TCP.
TrườngChức năng
Đầu raPhương pháp: tự động, ở SICK - tín hiệu Flash (mức liên tục) hoặc GPIO; ở HIKROBOT - UserOutputValue hoặc LineInverter (tín hiệu tắt). Các mẫu MV-CS020/016-10GC của UserOutput không có - chương trình sẽ tự chọn LineInverter.
ĐườngTín hiệu Flash / GPIO1…6 ở SICK; Line1 (đầu ra), Line2 (hai chiều) ở HIKROBOT; Line0 - chỉ đầu vào.
Mứctrue / false / tắt. "tắt" - có quy tắc, nhưng đầu ra không được tác động.
Xung, ms (0 - giữ)0 - mức được giữ cho đến khi thay đổi lớp; nếu không, xung 10…5000 ms với sự đảo ngược.

Các nút Bật/Tắt, Tắt, Tín hiệu được kiểm tra bằng máy đo hoặc đèn; Khả năng của camera thu thập thông tin từ tất cả các phương pháp và in báo cáo. Các thử nghiệm thủ công được ghi lại trong cùng một cuốn sổ.

Nhiều vùng trên một đường ra. Nếu trên một chân có quy tắc cho nhiều vùng, đường ra sẽ được coi là logic "AND": chỉ có HIGH khi tất cả các vùng đều yêu cầu HIGH, nhưng nếu có ít nhất một vùng yêu cầu LOW, thì đường ra sẽ là LOW. Trong bảng, điều này được biểu diễn bằng dòng "các vùng trên đường ra N yêu cầu LOW k → HIGH/LOW". Như vậy, một đường ra "tốt" được tạo ra từ hàng trăm vùng trên bo mạch.
Quan trọng. Pin flash của SICK là chung cho cả đầu ra rời và đèn: nếu bạn kết nối với một bóng đèn xung, hãy sử dụng GPIO. Quy tắc chống nhiễu: mặc định là 500ms (ít nhất 200ms), các sự kiện không có trong nhật ký.

7.5. Cảnh báo bằng âm thanh: âm thanh riêng cho mỗi khu vực

Loại quy tắc thứ ba là âm thanh từ máy tính với phần mềm. Người điều khiển không cần phải nhìn vào màn hình: khi có tín hiệu, họ sẽ nghe thấy khu vực nào đang gặp lỗi, và các âm thanh khác nhau ở các khu vực khác nhau sẽ cho biết chính xác vị trí. Âm thanh có thể được sử dụng với bất kỳ camera nào, bao gồm cả USB và RTSP, không có đầu ra riêng.

1
Chọn một vùng trong cây và nhấn + Âm thanh mới. Trong nhóm "Quy tắc", chỉ định loại (ví dụ: anomal) và đánh dấu chọn vào Bật.
2
Trong tab "Âm thanh", hãy chọn âm thanh từ danh sách. Có 10 âm thanh có sẵn: âm ngắn, âm đôi, âm ba, âm trầm và âm cao, âm tăng và âm giảm, âm báo động, còi dài, chuông. Nút "Nghe" sẽ phát lại âm thanh đã chọn.
3
Tạo âm thanh của riêng bạn: Nhấn Tải lên tệp của bạn… và chọn WAV, MP3 hoặc WMA. Tệp sẽ được sao chép vào thư mục sounds\custom bên cạnh phần mềm (bạn có thể tháo ổ USB) và sẽ xuất hiện trong danh sách với nhãn "tự tạo". Nút Thư mục âm thanh sẽ mở thư mục này: bạn có thể đặt các tệp vào đó trực tiếp.
4
Đặt Thời gian tạm dừng giữa các âm thanh, ms từ 1000 đến 10000. Trong khoảng thời gian này, sau khi phát tín hiệu, âm thanh sẽ không được lặp lại, ngay cả khi phân loại khu vực thay đổi: với 10000 ms, người điều khiển sẽ chỉ nghe được một tín hiệu mỗi 10 giây.
5
Nhấn vào "Tạo cho 1 khu vực" hoặc chọn các khu vực bằng dấu tick và tạo quy tắc cho tất cả. Mỗi khu vực sẽ có một âm thanh riêng: lặp lại quy trình với một âm thanh khác cho khu vực khác.
6
Hộp kiểm chọn "Các vùng màu vàng (đã tắt bằng cách nhấp chuột) không phát ra âm thanh" được bật theo mặc định: các vùng đã tắt bằng cách nhấp vào tab "Kiểm tra" (phần 5.5), không phát ra âm thanh và không kích hoạt TCP hoặc xuất hình ảnh từ toàn bộ mô hình.
Cách hoạt độngCách hoạt động
Không có tùy chọn "lặp lại"Âm thanh phát một lần khi trạng thái khu vực đã được xác nhận (sau khi "Xác nhận thay đổi trạng thái"). Khi trạng thái vẫn còn, sẽ không có âm thanh.
Với tùy chọn "lặp lại cho đến khi trạng thái còn"Tín hiệu sẽ lặp lại sau "Khoảng thời gian lặp lại", nhưng không quá thời gian giữa các lần phát, cho đến khi khu vực vẫn còn ở trạng thái đã chỉ định.
Nhiều khu vực gặp lỗi cùng một lúcMỗi khu vực sẽ phát âm thanh riêng; các tín hiệu từ các khu vực khác nhau không bị át đi, chỉ tín hiệu từ một khu vực duy nhất bị át.
Lịch sửMỗi lần phát hiện sẽ được ghi lại trong "Nhật ký phát hiện" với dòng "Âm thanh «…»"; nếu tệp không được tìm thấy hoặc thiết bị âm thanh không hoạt động, dòng lỗi sẽ được hiển thị, và chương trình vẫn tiếp tục hoạt động.
Kiểm traKiểm tra quy tắc này phát âm thanh ngay lập tức; Mô phỏng hoạt động của vùng phát âm thanh cùng với TCP và các cổng thông qua luồng chiến đấu.
Lời khuyên. Sử dụng còi hoặc tín hiệu ba âm cho các khu vực quan trọng nhất (các đầu nối, các thành phần điện), và sử dụng tín hiệu ngắn cho các khu vực khác. Khi đó, một âm thanh duy nhất sẽ cho biết liệu có cần chạy đến đường biên ngay lập tức hay không. Quy tắc âm thanh cho toàn bộ mô hình được tạo ra bằng cách chọn nút hoặc nhóm trong cây mô hình: một tín hiệu cho bất kỳ lỗi nào.

7.6. Nhật ký phát hiện và cơ sở dữ liệu

Tab "Nhật ký sự kiện" hiển thị 300 bản ghi gần đây nhất, được trình bày theo dòng với thông tin "HH:MM:SS.mmm ✔/✖ Camera · Model · Class · Zone → Hành động [thông báo]", và được cập nhật trực tiếp. Các nút "Cập nhật" và "Xóa nhật ký" có sẵn.

Thanh "Cơ sở dữ liệu": nơi lưu trữ, sao lưu và khôi phục cơ sở dữ liệu bằng một tệp.
Thanh "Cơ sở dữ liệu": nơi lưu trữ, sao lưu và khôi phục cơ sở dữ liệu bằng một tệp.

Thẻ "Cơ sở dữ liệu": chương trình lưu trữ tất cả trong tệp SQLite rejectors.db cùng với file exe – không có dịch vụ riêng, cổng không hoạt động, không cần cài đặt. Các bảng: settings (cài đặt), cameras (hồ sơ camera), camera_models (mô hình trên camera), zones (tên và hình dạng khu vực), rejectors (quy tắc), reject_log (lịch sử), camera_param_files (bản sao thông số camera), camera_presets (tập hợp cài đặt camera). "Lưu bản sao cơ sở dữ liệu…" tạo một bản chụp toàn bộ bằng lệnh VACUUM INTO trực tiếp trên cơ sở dữ liệu đang hoạt động; "Tải cơ sở dữ liệu từ bản sao…" khôi phục, trước đó lưu lại bản hiện tại. Bạn có thể xem cơ sở dữ liệu trong DBeaver mà không cần đóng chương trình; không nên ghi vào từ bên ngoài.

8. Các chế độ và nhiệm vụ khác

Các mô hình thông thường: normal / anomaly và bất kỳ lớp nào

Cùng một trình biên ROI cũng được sử dụng cho phân loại thông thường: viên thuốc, nắp, nhãn, chi tiết trong khay. Các lớp được xác định trong cuộc đối thoại "Mô hình AI mới" (mặc định là normal và anomaly, tên bằng chữ cái viết hoa), các vùng được đặt trên sản phẩm, nút Chụp ảnh với số lượng vòng tròn từ 1…50, chuỗi Tạo ảnh theo camera (khung/khung), hoặc theo encoder. Thanh dữ liệu tổng hợp cho AI: góc quay chính xác 90°/180°, quay vòng 360° với bước và phạm vi, gương, "các lớp theo độ" (mỗi góc thuộc một lớp - bộ loại bỏ sẽ gửi góc qua TCP), phạm vi độ sáng và độ tương phản. Huấn luyện với các tăng cường đầy đủ của Ultralytics. Cần thiết đặt ngưỡng độ tin cậy cho các mô hình này ở cùng vị trí với VÙNG-CẶP - trên tab Inspect.

Kiểm tra đa mô hình (các khe 1–20)

Một camera có thể chứa tối đa 20 mẫu: Thêm ONNX vào vị trí, sau đó ROI → Thêm lớp vào mô hình đã chọn — mỗi mẫu trong vị trí có vùng đánh dấu riêng, kết quả của tất cả các mẫu được hiển thị trên một khung hình.

Đối với các khe cắm VÙNG-CẶP, thường không cần thiết. Một mẫu đã bao phủ toàn bộ bo mạch: mỗi khu vực có một cặp lớp, do đó, việc "hợp nhất các lớp tương tự" mà trước đây cần nhiều mẫu, không còn cần thiết ở đây. Một bo mạch tiêu chuẩn chỉ có một mẫu VÙNG-CẶP, các khe cắm trống.

Khi đa mô hình vẫn được áp dụng:

Tình huốngCách cấu hình
Các nhiệm vụ khác nhau trên một khung hìnhVÙNG-CẶP kiểm tra bố cục và sự hiện diện của các yếu tố, trong khi mô hình thông thường ở khe thứ hai - đánh dấu, nhãn, màu đầu hoặc hướng khóa. Các vùng của mô hình thứ hai được đặt riêng thông qua "ROI → Thêm lớp vào mô hình đã chọn".
Sản phẩm không có lưới cố địnhViên thuốc, nắp, các bộ phận trong ngăn chứa: nhiều loại hình sản phẩm trong các mẫu thông thường. Các loại hình tương tự được phân loại vào các ngăn khác nhau để tránh trùng lặp.
Hai bo mạch khác nhau trong một khungHai mẫu VÙNG-CẶP trong các ngăn khác nhau, mỗi mẫu có ảnh tham chiếu và lưới riêng. Hệ thống dây chuyền sản xuất hoạt động với ảnh tham chiếu của mẫu chính.
Giai đoạn chuyển đổiMẫu cũ đã được huấn luyện vẫn còn trong ngăn, trong khi mẫu VÙNG-CẶP mới đang thu thập dữ liệu; cả hai đều hiển thị trên cùng một khung, các quy tắc phân loại được chuyển theo mức độ tin cậy.

Các ngưỡng, tốc độ phân tích, vùng màu vàng và quy tắc loại bỏ áp dụng cho tất cả các mẫu camera. Nút "XÓA MẪU" làm sạch và dọn dẹp các khe, vì vậy nó yêu cầu xác nhận; "Xóa mẫu đã chọn" loại bỏ một mẫu khỏi khe, các tệp và vùng trong cơ sở dữ liệu vẫn còn.

Các mẫu chung

Nút MÔ HÌNH CHUNG lưu trữ bộ "cámara → mô hình" với tên: Tạo từ các mô hình hiện tại, Áp dụng cho tất cả các camera, Cập nhật từ các mô hình hiện tại, Thay đổi tên, Xóa bộ. Việc chuyển đổi từ tám camera sang một sản phẩm khác chỉ cần một thao tác. Việc xóa bộ chỉ loại bỏ nhóm: thư mục, ONNX, vùng và quy tắc vẫn còn. Các vùng thuộc về cặp "camera + mô hình": một mô hình trên tám camera - tám định vị độc lập.

Bộ mã hóa và bộ phân loại trên dây chuyền

Đối với các đường dẫn có bộ mã hóa trên cổng COM (115200, ESP32): kết nối KẾT NỐI BỘ MÃ HÓA, tự động kết nối, vị trí, bước chụp và điều chỉnh, Thiết lập giá trị 0 + CHỤP. Chụp ảnh để huấn luyện và phân tích có thể được thực hiện "dựa trên bộ mã hóa" - các khung hình đều nhau dọc theo đường đi của sản phẩm. Bộ loại bỏ cũ với độ trễ và chống spam gửi lệnh REJECT đến bộ điều khiển bộ mã hóa.

Ghi lại video và ảnh

Tab Cài đặt: BẮT ĐẦU GHI LẠI VIDEO từ camera đang hoạt động và lưu vào file record_ngày_giờ.avi (định dạng MJPG, tốc độ khung hình thực tế của camera). Ảnh dùng để huấn luyện có định dạng real_….jpg, ảnh dùng để kiểm tra có định dạng inspect_….jpg và có các vùng được đánh dấu.

9. Cài đặt, bảng điều khiển, yêu cầu và giấy phép

Settings

  • LƯU VÀO TỆP / TẢI VÀO TỪ TỆP – tất cả các cài đặt (cámara, mô hình, quy tắc) ở định dạng JSON, rất tiện lợi khi muốn cài đặt lại hoặc chuyển sang máy tính khác. Nguồn gốc chính xác là cơ sở dữ liệu, JSON là phương án dự phòng khi cơ sở dữ liệu không khả dụng. Mỗi thay đổi cài đặt đều được lưu tự động.
  • Xóa cài đặt mặc định — là một thao tác không thể hoàn tác: xóa cấu hình và bố cục cửa sổ.
  • Ngôn ngữ giao diện: 14 ngôn ngữ; cửa sổ chính có thể chuyển đổi ngay lập tức, các cửa sổ khác sẽ hiển thị khi mở lần sau.
  • Vị trí, kích thước và màn hình của tất cả các cửa sổ, vị trí của các dấu phân cách - đều được lưu trong cơ sở dữ liệu; khi tắt màn hình, cửa sổ sẽ trở lại khu vực hiển thị.

Console

Các dấu kiểm "Camera" và "Trigger" mặc định bị tắt và hiển thị các thông báo tương ứng (khi thông báo của camera ở chế độ "Trigger", chúng sẽ hiển thị trong "Trigger"); tất cả dữ liệu, bao gồm cả dữ liệu trước khi lọc, được ghi vào các tệp logs\engiai-*.log. Hệ thống được thiết kế để hoạt động trong nhiều tuần mà không cần sự can thiệp: màn hình hiển thị 800 dòng, và 1000 dòng cũ sẽ bị xóa; các dòng mới được thu thập theo nhóm 4 lần mỗi giây, thay vì một lần; chức năng tự động cuộn xuống được kích hoạt cho đến khi bạn tự cuộn lên; hệ thống không phát ra âm thanh. Việc thay đổi phân loại khu vực chỉ ghi tối đa 10 dòng mỗi giây (các dòng còn lại được tổng hợp trong một số), tệp nhật ký có dung lượng 20 MB, các tệp cũ hơn 14 ngày sẽ bị xóa khi khởi động, cơ sở dữ liệu lưu trữ 20.000 bản ghi gần đây nhất. Các lỗi chưa được xử lý được ghi trong crash.log, nguyên nhân gây ra việc tắt chương trình được ghi trong runtime.log bên cạnh file exe. Nếu có vấn đề xảy ra, hãy kiểm tra ở đây trước tiên.

Yêu cầu

Thành phầnYêu cầu
Hệ điều hànhWindows 10/11 x64.
Card đồ họa để kiểm traNVIDIA với trình điều khiển CUDA; thư viện CUDA 13 và cuDNN 9 đi kèm với phần mềm. Nếu không có card đồ họa, việc kiểm tra sẽ tự động trên bộ xử lý.
Hướng dẫnPython 3 (kèm theo tùy chọn "Thêm python.exe vào PATH" khi cài đặt) và các gói ultralytics, onnx, onnxslim, onnxruntime – chương trình tự cài đặt chúng khi lần đầu sử dụng, cần kết nối internet. GPU để huấn luyện được xác định dựa trên PyTorch; nếu không có CUDA, quá trình huấn luyện sẽ diễn ra chậm hơn trên CPU, nhưng kết quả vẫn như nhau.
Máy ảnh SICKTrình điều khiển IDS uEye; máy ảnh phải hiển thị trong IDS Camera Manager.
Máy ảnh HIKROBOTBộ công cụ MVS (thư viện đi kèm với phần mềm); cho GigE - card mạng hỗ trợ các khung hình lớn.

Giấy phép và chế độ thử nghiệm

Khi khởi động, chương trình truy cập vào máy chủ cấp phép engi.live; chỉ gửi các mã định danh thiết bị và phiên bản, không có số serial và tên người dùng. Nếu không có máy chủ và quyền đã được lưu, chương trình sẽ hoạt động dựa trên bộ nhớ cache (cho các đường truyền không có kết nối internet). Trong chế độ dùng thử 20 phút, chương trình hiển thị "THỬ NGHIỆM MM:СС" trên thanh tiêu đề và trong ô nhập liệu, nút "MUA" trên tab Cài đặt mở trang mua. Khi có giấy phép, chức năng dùng thử sẽ không còn.

10. Danh sách kiểm tra ngắn và tìm kiếm lỗi

Danh sách kiểm tra từ đầu cho bo mạch

1
CAMERA → «+ Thêm camera» → đánh dấu các camera của bạn → Thêm.
2
Thẻ Camera: độ phân giải → «Tự động điều chỉnh cho AI (dựa trên khung)» (hoặc «Đặt tham số» trên USB) → «Lưu tham số» → «Lưu dưới dạng…» bộ cài đặt. Tùy chọn «Huấn luyện bằng thang đo xám».
3
Mô hình AI → «Tạo mô hình AI mới» → tên.
4
«ROI → Thêm vào lớp (mô hình huấn luyện)» → khung xung quanh từng chi tiết → kích thước vùng (ví dụ: 256) → Nhập. Đối với hàng trăm chi tiết giống nhau — khung trên toàn bộ bo mạch và lưới.
5
Hộp kiểm «Ghi lại vùng vào sản phẩm theo dấu» → «Ghi lại ảnh tham chiếu» → vẽ trên khung khu vực bo mạch có chi tiết (không phải khu vực kiểm tra) → «✔ Tìm kiếm vùng theo vùng đã chọn».
6
«VÙNG-CẶP: chụp ảnh theo vùng» → «Chụp». Lặp lại trên 3–5 bo mạch hoạt động tốt. Vùng không cần thiết hãy tắt trước bằng cách nhấp trên khung (màu đỏ).
7
«VÙNG-CẶP: các vùng bất thường» → «Tạo»: chuyển và xoay phần tử cùng với cơ sở đã được tích hợp sẵn. Nếu cần, hãy chọn các tấm hàn trong «ảnh tham chiếu» với các vùng.
8
HUẤN LUYỆN MÔ HÌNH AI (Kích thước ảnh: 128x128, số lượng mẫu: s, số lượng epoch: 50) → Chờ đợi đến 100% → best.onnx được thiết lập tự động.
9
Kiểm tra → «VÙNG-CẶP: vùng ↔ mô hình» → kiểm tra sự phù hợp → ngưỡng. Chọn «qua camera» hoặc chọn trình kích hoạt. Đối với bo mạch di động, hãy sử dụng «Dây chuyền tự động».
10
OUTPUT → chọn vùng → quy tắc cho lớp bất thường (âm thanh, TCP hoặc đầu ra của camera) → « Mô phỏng hoạt động của vùng» → «Tạo trên N vùng».

Nếu có vấn đề xảy ra

Triệu chứngCần kiểm tra
Camera không xuất hiện trong danh sáchNguồn điện và cáp; đối với SICK — IDS Camera Manager và IP từ mạng con của bộ điều hợp; đối với HIKROBOT, sau khi tắt, hãy chờ 25 giây và «Khởi động lại»
Hình ảnh tối, xám hoặc màu sắc saiCamera → «Tự động điều chỉnh cho AI»; đối với SICK màu — bố trí Bayer và cân bằng trắng; đối với USB — «Các cài đặt tiêu chuẩn», sau đó «Xác nhận cài đặt»
Các khung hình bị gián đoạn, màu đỏGigE: kích thước gói 1500 hoặc jumbo trên card mạng, độ trễ giữa các gói; số FPS thấp hơn hoặc số khung hình ít hơn; card mạng riêng cho camera
"Không tìm thấy linh kiện" / hình ảnh bị bỏ quaảnh tham chiếu không được ghi nhận hoặc chụp dưới ánh sáng khác; ít điểm tham chiếu - chọn vùng căn chỉnh lớn hơn và có nhiều chi tiết; vùng bị ảnh hưởng bởi bàn hoặc băng tải; tăng thời gian tìm kiếm
Các vùng di chuyển sang một linh kiện kháclin kiện được tìm kiếm theo các vùng kiểm tra: ghi nhận lại ảnh tham chiếu từ vùng căn chỉnh chi tiết của linh kiện xung quanh (phần 4.4); chế độ tự động
Có linh kiện bị lỗi từ lô khácgiao diện trên vỏ khác: thêm hình ảnh bình thường từ lô này; không tạo vết xước tổng hợp nhỏ hơn 3px (phần 4.6); kiểm tra xem lỗi là do dịch chuyển hay màu sắc
Các khu vực được đánh dấu NO_ZONE_CLASSmạng thay đổi sau khi huấn luyện; khôi phục mạng hoặc tạo một mô hình mới và chụp lại
Tất cả các vùng đều màu đỏ trên linh kiện hoạt độngMột loại phí hoặc vị trí khác mà không có hệ thống băng tải; ngưỡng quá cao; hình ảnh được chụp dưới ánh sáng khác; hỗn hợp các tệp màu và xám
Mô hình không nhận biết sự thay đổi của đối tượngTính toán px/mm (phần 1.3): khi tỷ lệ nhỏ, sự thay đổi nhỏ hơn 5px; giảm phạm vi nhìn hoặc sử dụng máy ảnh có độ phân giải cao hơn; không mở rộng sự thay đổi bình thường
Quá trình học giảm hoặc rất chậmThiết bị = cpu, nếu không có card NVIDIA; giảm kích thước Batch; xem Console; kiểm tra xem Python có trong PATH hay không
Kiểm tra không hoạt độngđã chọn best.onnx chưa; nguồn điều khiển tốc độ (chế độ "theo khung hình" / bộ đếm thời gian / bộ kích hoạt) đã được bật chưa; nút "Tắt AI" chưa được nhấn; ô "AI đã bật" trong cài đặt của camera đã được đánh dấu chưa.
Quy tắc loại bỏ im lặng"Tạo trên N vùng" đã được nhấn; hộp kiểm "Bật"; lớp quy tắc phù hợp với kết quả của mô hình (bình thường/không bình thường); để thoát, mức không phải "tắt"; các máy ảnh USB không có đầu ra, chỉ có TCP
Âm thanh không phátquy tắc đã được tạo và thêm vào; tệp tin nằm trong thư mục sounds (hoặc sounds\custom); có khoảng lặng giữa các âm thanh không; khi không chọn "lặp lại", âm thanh chỉ phát khi thay đổi lớp; âm lượng Windows và thiết bị phát
Gói TCP được gửi một lầnNếu không có lệnh "lặp lại", hệ thống sẽ chờ phản hồi "ok <gửi hàng>" từ người nhận; đánh dấu "lặp lại cho đến khi kết nối được" hoặc cấu hình phản hồi trên PLC.

engiAI Ethernet System. Tên nút và trường được hiển thị theo cách tương ứng trong chương trình bằng ngôn ngữ của bạn (ảnh chụp màn hình - từ giao diện tiếng Nga). Ảnh chụp màn hình được thực hiện trên mô hình "model_4" (hai vùng 256x256: tụ C30 và cầu BR1), camera USB 3264x2448, mô hình được huấn luyện bằng màu xám. Phiên bản 3, tháng 9 năm 2026: ví dụ trên hai vùng, tạo thư mục mô hình, vùng căn chỉnh, dữ liệu tổng hợp "thành phần có nền" với hình ảnh "trước / sau", bảng màu và độ dày đường, vùng màu đỏ, bảng điều khiển.