Ra mắt & Cập nhật
6 phút đọc12 tháng 6, 2026

Sim-to-Real trong công nghiệp: Câu chuyện không chỉ là ảnh giả vs ảnh thật

CAD có hay không có quyết định toàn bộ cách bạn thiết kế hệ thống vision AI trong môi trường sản xuất thực tế.

N

Nguyễn Nhật Long

@nguyennhatlong1303

Sim-to-Real trong công nghiệp: Câu chuyện không chỉ là ảnh giả vs ảnh thật

Có một misconception khá phổ biến trong giới computer vision khi nói về industrial AI: người ta hay nghĩ sim-to-real đơn giản là "train trên ảnh synthetic, deploy trên ảnh thật". Nghe có vẻ đúng, nhưng thực tế khi làm việc với các hệ thống kiểm tra chất lượng sản xuất, mình nhận ra vấn đề phức tạp hơn rất nhiều.

Một paper review vừa ra hồi cuối tháng 5/2026 của Chenxi Tao và Seung-Kyum Choi đã đặt lại frame cho bài toán này theo một cách mình thấy khá thuyết phục thay vì nhìn sim-to-real là "domain shift từ synthetic sang real", họ nhìn nó như một bài toán về prior availability: bạn có những gì trong tay khi build hệ thống, và bạn sẽ phải đối mặt với những gì khi deploy thực tế?

CAD là "thần bài" nhưng không phải lúc nào cũng có

Trong môi trường sản xuất công nghiệp, file CAD là thứ cực kỳ quý giá. Bạn có CAD của một cái bánh răng, một connector, một PCB tức là bạn có ground truth geometry hoàn toàn chính xác. Từ đó bạn có thể:

  • Render ra vô số synthetic images từ mọi góc độ, mọi điều kiện ánh sáng
  • Làm pose estimation (6DoF) để biết vật đang ở đâu trong không gian
  • Tạo mask chính xác cho segmentation
  • Verify ở test time bằng cách so depth/mask với model CAD

Cái "verification channel" này là một điểm mình thấy paper nhấn mạnh rất hay. Khi có CAD, bạn không chỉ dùng nó để train bạn còn dùng nó như một oracle độc lập tại inference time. Hệ thống detect ra một defect? Bạn có thể cross-check ngay: pose của vật có consistent với depth map không? Mask có khớp với geometry không? Đây là một verification layer mà hệ thống CAD-unavailable không có được.

Nhưng thực tế là rất nhiều use case trong công nghiệp không có CAD. Sản phẩm cũ không có digital model. Vendor không share file CAD vì IP. Hoặc đơn giản là bạn đang inspect surface texture, vật liệu những thứ CAD không capture được.

Khi không có CAD, bạn chơi bằng gì?

Paper phân loại các approach CAD-unavailable thành mấy hướng chính, và mình thấy cái taxonomy này khá sát với những gì mình thấy ngoài thực tế:

Theo kinh nghiệm của mình, approach teacher-student như PatchCore hay WinCLIP hoạt động khá tốt trên MVTec AD benchmark nhưng khi deploy thực tế, chỉ cần thay đổi fixture giữ sản phẩm một chút là performance drop đáng kể. Đây là cái gap giữa benchmark và production mà paper cũng đề cập.

ApproachCơ chế hoạt độngĐiểm mạnhĐiểm yếu
Normal reference imagesSo sánh với ảnh "good" mẫuDễ setup, không cần labelNhạy với lighting/fixture thay đổi
Teacher-student residualsStudent học từ teacher pretrained, anomaly = deviationKhông cần anomaly dataCần tune threshold cẩn thận
Synthetic anomaly (CutPaste, DSR...)Tạo defect giả để trainGiải quyết data imbalanceSynthetic defect ≠ real defect
Foundation features (DINO, DINOv2...)Dùng pretrained feature spaceTransfer tốt, ít dataFeature space không optimize cho industrial
Vision-language priorsText prompt describe defectFlexible, zero-shotKhó control precision

Benchmark không nói lên tất cả và đây là vấn đề thực sự

Paper dùng hai bộ benchmark chính làm "empirical anchor": T-LESS/BOP (cho pose estimation với object không có texture) và MVTec AD + VisA (cho anomaly detection). Điều thú vị là các con số trên benchmark này đôi khi misleading.

Một observation quan trọng: số lượng CAD render không phải yếu tố quyết định. Bạn render 10k ảnh hay 100k ảnh từ CAD không phải lúc nào cũng tạo ra sự khác biệt lớn. Thứ quan trọng hơn là:

  1. Source distribution design bạn render với lighting, background, occlusion như thế nào
  2. Detector capacity architecture của model có phù hợp với task không
  3. Small real calibration set chỉ cần một ít ảnh thật để fine-tune là có thể close gap đáng kể

Cái điểm thứ 3 này mình thấy rất practical. Trong nhiều project, việc collect 50-100 ảnh thật có label cẩn thận còn hiệu quả hơn là tăng gấp đôi synthetic data. Anh em làm industrial AI nên lưu ý điểm này.

Boundary-prior: Cái vùng xám thú vị ở giữa

Paper còn define một regime thứ ba mà mình thấy ít được nói đến: boundary-prior settings. Đây là trường hợp bạn có một phần thông tin geometry ví dụ:

  • Approximate 3D model (không chính xác hoàn toàn)
  • Template từ một vài reference view
  • Semantic correspondence (biết rằng vùng này là "hole", vùng kia là "surface")

Thực tế production hay rơi vào đây hơn là hai extreme. Bạn có thể có point cloud từ depth sensor nhưng không có CAD. Hoặc có CAD nhưng sản phẩm thực tế bị wear sau nhiều năm sử dụng, geometry không còn match hoàn toàn.

Tại sao không nên có một leaderboard chung cho tất cả?

Một trong những argument mình thấy paper đưa ra khá convincing là: không nên có một single cross-task leaderboard cho industrial visual inspection. Lý do là vì prior availability tạo ra những bài toán fundamentally khác nhau.

Một model đạt SOTA trên MVTec AD (CAD-unavailable, texture anomaly) không có nghĩa là nó sẽ hoạt động tốt trên BOP (CAD-available, 6D pose). Và ngược lại. Việc so sánh chúng trên cùng một leaderboard giống như so sánh một con cá bơi nhanh với một con chim bay cao metric không có ý nghĩa.

Thay vào đó, câu hỏi đúng đắn khi evaluate một system là: "Prior nào đang ground quyết định deploy của bạn?" Từ đó mới chọn benchmark và metric phù hợp.

Nhìn từ góc độ người làm sản phẩm

Mình làm một số project liên quan đến quality inspection cho manufacturing, và cái framework này giúp clarify rất nhiều thứ. Trước đây khi khách hàng hỏi "dùng approach nào tốt nhất?", câu trả lời thường là "depends" nhưng depends vào cái gì thì không rõ ràng.

Giờ với framework prior availability, câu hỏi đầu tiên cần hỏi là:

  • Có CAD không? → Nếu có, hướng đến render-based detection + geometric verification
  • Có normal reference images không? → Feature-based anomaly detection
  • Defect có thể describe bằng text không? → Vision-language approach như WinCLIP
  • Có thể collect một ít real labeled data không? → Dù ít, đây thường là ROI cao nhất

Cái taxonomy này không phải là silver bullet, nhưng nó giúp anh em tránh được cái bẫy rất phổ biến: apply một approach "hot" trên paper vào một use case mà prior assumptions hoàn toàn không match.

Paper này là review nên không introduce model mới hay SOTA mới nhưng đôi khi cái mình cần không phải là thêm một model nữa, mà là một cách nhìn rõ hơn về landscape của bài toán. Và cái đó, paper này làm khá tốt.

NN

Nguyễn Nhật Long

@nguyennhatlong1303

Nguyễn Nhật Long is a Senior Frontend Engineer and Frontend Team Leader with 7 years of experience building real-time fintech platforms. Specializing in React, Next.js, TypeScript, and React Native, shipping 10+ products across Web, Mobile, Telegram Mini-Apps, and Web3.

Thấy hay? Chia sẻ cho bạn bè!

Sim-to-Real trong công nghiệp: Câu chuyện không chỉ là ảnh giả vs ảnh thật — Stacklog