Giới thiệu dự án
Trong kỷ nguyên Công nghiệp 4.0, các dây chuyền sản xuất tự động hóa đòi hỏi quy trình kiểm soát chất lượng (Quality Control - QC) và đảm bảo chất lượng (Quality Assurance - QA) đạt độ chính xác gần như tuyệt đối. Theo các báo cáo thống kê ngành sản xuất chế tạo, chi phí phát sinh do lỗi sản phẩm và phế phẩm có thể chiếm từ 5% đến 15% tổng doanh thu của doanh nghiệp. Việc ứng dụng thị giác máy tính (Computer Vision) để tự động hóa khâu phát hiện lỗi sản phẩm đóng vai trò then chốt giúp tối ưu chi phí vận hành và nâng cao năng suất.
Đề tài "Xây dựng ứng dụng phát hiện phần khác biệt giữa hai ảnh" giải quyết bài toán cốt lõi trong kiểm định chất lượng tự động: so sánh ảnh sản phẩm thực tế cần kiểm tra với ảnh mẫu (chuẩn) nhằm phát hiện và khoanh vùng các điểm sai khác, lỗi bớt/thêm chi tiết, nứt vỡ hoặc biến dạng bề mặt.
+------------------+ +--------------------+
| Ảnh mẫu chuẩn | | Ảnh kiểm tra (lệch |
| (Golden Sample) | | góc/nhiễu/co giãn) |
+--------+---------+ +---------+----------+
| |
+------------+-------------+
|
v
[ Tiền xử lý & Khử nhiễu ]
|
v
[ Trích xuất đặc trưng ORB ]
|
v
[ Đối sánh & Ước lượng Homography ]
|
v
[ Căn chỉnh hình học (Warp) ]
|
v
[ Phép trừ ảnh & Phân ngưỡng ]
|
v
[ Khoanh vùng lỗi (Bounding Box) ]
Bài toán cụ thể và điểm nghẽn kỹ thuật (Problem Statement & Pain Points)
Trong môi trường công nghiệp thực tế, ảnh chụp sản phẩm từ camera giám sát hiếm khi đồng nhất tuyệt đối về vị trí với ảnh mẫu do các yếu tố:
- Sai lệch góc chụp và tọa độ (Geometric Distortion): Sản phẩm trên băng chuyền bị xoay (rotation), tịnh tiến (translation), hoặc thay đổi tỷ lệ thu phóng (scaling).
- Biến động quang sai và ánh sáng (Illumination Variance): Nhiễu cảm biến camera (sensor noise), bóng đổ, hoặc chớp sáng đèn flash làm thay đổi đột ngột cường độ điểm ảnh $I(x,y)$.
- Hạn chế của phép trừ ảnh truyền thống: Việc trừ trực tiếp từng điểm ảnh (Pixel-by-pixel subtraction) sẽ thất bại hoàn toàn nếu hai ảnh chưa được căn chỉnh hình học (Image Alignment/Registration) chính xác, dẫn đến hiện tượng dương tính giả (False Positive) lan tràn trên toàn bộ khung hình.
Mục tiêu của đồ án
- Nghiên cứu cơ sở lý thuyết: Hệ thống hóa các kỹ thuật xử lý ảnh cơ bản (lọc nhiễu, nhị phân hóa, phát hiện biên Sobel/Prewitt/Roberts) và các kỹ thuật trừ ảnh (dựa trên điểm ảnh, phân khối, biểu đồ histogram).
- Làm chủ giải thuật căn chỉnh ảnh: Nghiên cứu và ứng dụng thuật toán phát hiện và mô tả đặc trưng ORB (Oriented FAST and Rotated BRIEF) kết hợp ma trận đồng nhất (Homography) để nắn chỉnh hình học ảnh kiểm tra về cùng hệ quy chiếu với ảnh mẫu.
- Hiện thực hóa phần mềm: Xây dựng module tự động phát hiện, phân tách và khoanh vùng chính xác các vùng sai khác bằng bounding box màu đỏ trực quan.
- Đánh giá thực nghiệm: Kiểm nghiệm thuật toán trên tập dữ liệu ảnh mẫu với các mức độ biến dạng hình học và sai khác vật thể khác nhau.
Giải pháp kỹ thuật và kết quả kỳ vọng
- Phương pháp tiếp cận: Sử dụng pipeline xử lý ảnh kết hợp giữa căn chỉnh đặc trưng cục bộ (Feature-based Alignment) với ORB và phép trừ ảnh vi sai (Image Differencing) sau khi khử nhiễu bằng lọc trung vị (Median Filter) cùng các phép toán hình thái học (Morphological Operations).
- Kết quả đo lường kỳ vọng:
- Thời gian xử lý: $\le 120\text{ ms}$ cho một cặp ảnh kích thước tiêu chuẩn ($800 \times 600\text{ px}$).
- Độ chính xác phát hiện vùng lỗi: $\ge 92%$ đối với các ảnh có độ xoay góc lệch $\le 30^\circ$ và co giãn tỷ lệ $\le 20%$.
- Tỷ lệ cảnh báo sai (False Alarm Rate): $< 5%$ trong điều kiện chiếu sáng ổn định.
Phạm vi và giới hạn nghiên cứu
- Phạm vi: Tập trung vào các biến đổi phẳng 2D (Affine, Perspective/Homography), các biến thể ảnh tĩnh dạng raster.
- Giới hạn: Ứng dụng đạt hiệu năng tối ưu với các ảnh có mức độ biến dạng hình học vừa phải; chưa tối ưu cho các bề mặt phản quang phức tạp hoặc biến dạng 3D phi tuyến tính nghiêm trọng.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Phương pháp |
Ưu điểm |
Nhược điểm |
Độ phức tạp tính toán |
| Trừ ảnh trực tiếp (Pixel Difference) |
Cài đặt cực kỳ đơn giản, tốc độ thực thi rất nhanh ($<10\text{ ms}$). |
Cực kỳ nhạy cảm với sai lệch vị trí, góc xoay và ánh sáng; tạo nhiều nhiễu giả. |
$O(N)$ với $N = W \times H$ |
| So sánh dựa trên Biểu đồ (Histogram Matching) |
Bất biến với một số dịch chuyển không gian nhỏ; ít phụ thuộc vị trí pixel. |
Mất hoàn toàn thông tin cấu trúc không gian; không thể định vị chính xác tọa độ lỗi. |
$O(N + G)$ ($G$ là mức xám) |
| Căn chỉnh SIFT / SURF + Trừ ảnh |
Độ chính xác cao, bất biến tỷ lệ và góc quay rất mạnh mẽ. |
Chi phí bản quyền sáng chế cao (thời điểm 2019), tốc độ xử lý chậm, tốn RAM. |
$O(N_{\text{feat}} \times D)$ ($D = 128$ chiều) |
| Đề xuất: Căn chỉnh ORB + Homography + Trừ vi sai |
Mã nguồn mở miễn phí, tốc độ nhanh gấp 8-10 lần SIFT, chống nhiễu tốt. |
Độ chính xác giảm nhẹ khi góc nghiêng không gian 3D vượt quá $60^\circ$. |
$O(N_{\text{feat}} \times 32\text{ bytes})$ (Khoảng cách Hamming) |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must Have (Bắt buộc):
- Khả năng đọc và tiền xử lý cặp ảnh (ảnh gốc và ảnh kiểm tra).
- Trích xuất keypoints và gán hướng với thuật toán FAST mở rộng.
- Tạo vector đặc trưng nhị phân bằng rBRIEF và đối sánh bằng khoảng cách Hamming.
- Tính ma trận Homography $3 \times 3$ và nắn ảnh kiểm tra về tọa độ ảnh gốc.
- Trừ ảnh, phân ngưỡng nhị phân, lọc nhiễu hạt và vẽ viền bao quanh vùng lỗi.
- Should Have (Nên có):
- Tự động điều chỉnh ngưỡng phân đoạn nhị phân ($T$) dựa trên phương sai ảnh.
- Tối ưu hóa số lượng điểm đặc trưng giữ lại ($N_{\text{best}} = 500$).
- Could Have (Có thể có):
- Giao diện người dùng trực quan (GUI) hiển thị side-by-side kết quả căn chỉnh và vùng lỗi.
- Xuất báo cáo tọa độ vùng lỗi ra tệp JSON/CSV.
- Won't Have (Chưa thực hiện ở giai đoạn này):
- Nhận diện phân loại ngữ nghĩa chính xác loại lỗi (ví dụ: phân biệt vết ố vs vết nứt).
Thiết kế kiến trúc hệ thống
flowchart TD
A["Ảnh Gốc (Reference Image)"] --> C["Tiền xử lý: Grayscale & Median Blur"]
B["Ảnh Kiểm Tra (Test Image)"] --> D["Tiền xử lý: Grayscale & Median Blur"]
C --> E["Trích xuất đặc trưng ORB (FAST Keypoints)"]
D --> F["Trích xuất đặc trưng ORB (FAST Keypoints)"]
E --> G["Bộ mô tả nhị phân rBRIEF"]
F --> H["Bộ mô tả nhị phân rBRIEF"]
G & H --> I["Đối sánh đặc trưng (Brute-Force Matcher / Hamming)"]
I --> J["Lọc Match tốt nhất & RANSAC"]
J --> K["Ước lượng ma trận Homography (3x3)"]
K --> L["Căn chỉnh hình học: cv2.warpPerspective"]
L --> M["Phép toán trừ ảnh vi sai: cv2.absdiff"]
M --> N["Phân ngưỡng nhị phân (Thresholding T)"]
N --> O["Xử lý hình thái học: Morphological Close/Open"]
O --> P["Tìm Contours & Bounding Box"]
P --> Q["Khoanh vùng lỗi trên ảnh màu"]
Công nghệ sử dụng
- Ngôn ngữ lập trình: Python 3.7+ / C++ (Visual Studio 2017/2019 environment).
- Thư viện thị giác máy tính: OpenCV 3.4.x / 4.1.0 (Core, Imgproc, Features2d, Calib3d).
- Thư viện tính toán số học: NumPy 1.17.x (xử lý mảng ma trận điểm ảnh đa chiều).
- Môi trường thử nghiệm: Intel Core i5-8250U CPU @ 1.60GHz, 8GB RAM, Windows 10 x64.
Implementation và kết quả
Chi tiết các thuật toán cốt lõi
1. Thuật toán phát hiện đặc trưng ORB (Oriented FAST and Rotated BRIEF)
ORB kết hợp bộ phát hiện góc FAST (Features from Accelerated Segment Test) và bộ mô tả nhị phân BRIEF (Binary Robust Independent Elementary Features).
- Gán hướng cho FAST: Sử dụng mô-men cường độ ảnh (Intensity Centroid) trên vùng lân cận bán kính $r$:
$$m_{pq} = \sum_{x,y} x^p y^q I(x,y)$$
Góc hướng của điểm đặc trưng được tính bằng:
$$\theta = \text{atan2}(m_{01}, m_{10})$$
- Bộ mô tả quay rBRIEF: Ma trận tọa độ các cặp kiểm tra nhị phân $S = \binom{x_1, \dots, x_n}{y_1, \dots, y_n}$ được xoay theo góc $\theta$:
$$S_\theta = R_\theta S, \quad R_\theta = \begin{bmatrix} \cos\theta & \sin\theta \ -\sin\theta & \cos\theta \end{bmatrix}$$
Vector đặc trưng gồm 256 bits nhị phân cho phép so sánh cực nhanh qua lệnh CPU
POPCNT của khoảng cách Hamming.
2. Ước lượng ma trận Homography và căn chỉnh không gian
Mối quan hệ ánh xạ giữa điểm $(x, y)$ trên ảnh kiểm tra sang điểm $(x', y')$ trên ảnh gốc qua ma trận Homography $H$:
$$\begin{bmatrix} x' \ y' \ 1 \end{bmatrix} \sim \begin{bmatrix} h_{11} & h_{12} & h_{13} \ h_{21} & h_{22} & h_{23} \ h_{31} & h_{32} & h_{33} \end{bmatrix} \begin{bmatrix} x \ y \ 1 \end{bmatrix}$$
Thuật toán RANSAC (Random Sample Consensus) được sử dụng để loại bỏ các điểm ghép sai (outliers), chỉ giữ lại các cặp điểm khớp chuẩn xác nhất để tính ma trận $H$.
3. Phép trừ ảnh và phân ngưỡng phát hiện dị biệt
Sau khi biến đổi nắn ảnh $I_{\text{aligned}}(x,y) = \text{Warp}(I_{\text{test}}, H)$, ảnh chênh lệch tuyệt đối được tính bằng:
$$\Delta I(x,y) = |I_{\text{ref}}(x,y) - I_{\text{aligned}}(x,y)|$$
Nhị phân hóa với ngưỡng động $T = 30$:
$$I_{\text{diff_bin}}(x,y) = \begin{cases} 255 & \text{nếu } \Delta I(x,y) \ge T \ 0 & \text{ngược lại} \end{cases}$$
Mã nguồn hiện thực hóa quy trình trên OpenCV Python
import cv2
import numpy as np
def detect_image_differences(ref_img_path, test_img_path, min_match_count=10, threshold_val=30):
# 1. Đọc ảnh gốc và ảnh kiểm tra
img_ref = cv2.imread(ref_img_path)
img_test = cv2.imread(test_img_path)
gray_ref = cv2.cvtColor(img_ref, cv2.COLOR_BGR2GRAY)
gray_test = cv2.cvtColor(img_test, cv2.COLOR_BGR2GRAY)
# 2. Khử nhiễu tiền xử lý bằng Median Filter 3x3
gray_ref_blur = cv2.medianBlur(gray_ref, 3)
gray_test_blur = cv2.medianBlur(gray_test, 3)
# 3. Khởi tạo bộ dò đặc trưng ORB (nfeatures=1000)
orb = cv2.ORB_create(nfeatures=1000, scaleFactor=1.2, nlevels=8)
kp_ref, des_ref = orb.detectAndCompute(gray_ref_blur, None)
kp_test, des_test = orb.detectAndCompute(gray_test_blur, None)
# 4. Đối sánh đặc trưng với BFMatcher (Hamming distance)
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des_ref, des_test)
matches = sorted(matches, key=lambda x: x.distance)
if len(matches) < min_match_count:
raise ValueError(f"Không đủ đặc trưng tương đồng: {len(matches)}/{min_match_count}")
# Giữ lại top 15% matches tốt nhất
num_good = int(len(matches) * 0.15)
good_matches = matches[:max(num_good, min_match_count)]
src_pts = np.float32([kp_test[m.trainIdx].pt for m in good_matches]).reshape(-1, 1, 2)
dst_pts = np.float32([kp_ref[m.queryIdx].pt for m in good_matches]).reshape(-1, 1, 2)
# 5. Tìm ma trận biến đổi phối cảnh Homography bằng RANSAC
H, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, 5.0)
h, w, _ = img_ref.shape
# Căn chỉnh ảnh kiểm tra về tọa độ ảnh gốc
aligned_test = cv2.warpPerspective(img_test, H, (w, h))
aligned_test_gray = cv2.cvtColor(aligned_test, cv2.COLOR_BGR2GRAY)
# 6. Tính toán sai khác (Image Differencing)
diff = cv2.absdiff(gray_ref_blur, aligned_test_gray)
_, thresh = cv2.threshold(diff, threshold_val, 255, cv2.THRESH_BINARY)
# Lọc nhiễu hạt bằng phép đóng hình thái học (Morphological Close)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
thresh_cleaned = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)
# 7. Tìm đường viền và khoanh vùng Bounding Box màu đỏ
contours, _ = cv2.findContours(thresh_cleaned, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
result_img = aligned_test.copy()
detected_boxes = []
for cnt in contours:
area = cv2.contourArea(cnt)
if area > 80: # Loại bỏ các vùng quá nhỏ (nhiễu rác)
x, y, bw, bh = cv2.boundingRect(cnt)
detected_boxes.append((x, y, bw, bh))
cv2.rectangle(result_img, (x, y), (x + bw, y + bh), (0, 0, 255), 2)
return result_img, thresh_cleaned, detected_boxes
Đánh giá kiểm thử và số liệu thực nghiệm (Performance Benchmarks)
Hệ thống được thử nghiệm trên bộ 50 cặp ảnh test bao gồm các linh kiện bo mạch điện tử (PCB) và nhãn bao bì sản phẩm với các kịch bản lỗi: bị trầy xước, thiếu tụ điện, sai ký tự in ấn.
| Chỉ số đánh giá |
Giá trị đạt được |
Ghi chú kỹ thuật |
| Thời gian trích xuất ORB |
$28.4\text{ ms}$ |
$1000\text{ keypoints}$ trên ảnh $800 \times 600$ |
| Thời gian tính Homography |
$6.2\text{ ms}$ |
RANSAC với 150 cặp điểm |
| Thời gian Warp & Diff |
$14.1\text{ ms}$ |
Khử nhiễu, trừ ảnh và nhị phân hóa |
| Tổng độ trễ toàn chu trình |
$\mathbf{48.7\text{ ms}}$ |
Tương đương $\approx \mathbf{20.5\text{ FPS}}$ (Thời gian thực) |
| Tỷ lệ phát hiện đúng (Precision) |
$\mathbf{94.6%}$ |
Trên tập ảnh biến dạng góc $< 25^\circ$ |
| Tỷ lệ bao phủ lỗi (Recall) |
$\mathbf{91.8%}$ |
Phát hiện được các vết lỗi có diện tích $> 20\text{ px}^2$ |
Đổi mới và đóng góp
-
Ứng dụng giải thuật ORB tối ưu hóa tốc độ và tài nguyên:
- Thay thế việc sử dụng các bộ mô tả có phí bản quyền như SIFT/SURF bằng ORB mã nguồn mở, giúp giảm thiểu thời gian trích xuất đặc trưng xuống hơn 80% (từ $\approx 310\text{ ms}$ của SIFT xuống còn $\approx 28.4\text{ ms}$ của ORB).
- Sử dụng khoảng cách Hamming trên chuỗi bit nhị phân thay cho khoảng cách Euclidean trên vector 128 chiều số thực, giúp tiết kiệm bộ nhớ đệm RAM và phù hợp cho các vi xử lý nhúng.
-
Quy trình kết hợp căn chỉnh phối cảnh với lọc hình thái học đa tầng:
- Khắc phục triệt để nhược điểm "vỡ hình" khi sản phẩm trên dây chuyền bị lệch vị trí, biến dạng góc chụp.
- Cơ chế lọc kết hợp giữa bộ lọc trung vị (khử nhiễu muối tiêu không làm mờ biên) và toán tử đóng hình thái học (
MORPH_CLOSE) giúp loại bỏ hoàn toàn các chấm nhiễu đơn lẻ do sai số lượng tử hóa.
-
So sánh định lượng hiệu quả:
- Nâng cao tỷ lệ phát hiện lỗi chính xác từ $43.2%$ (khi dùng trừ ảnh đơn thuần không căn chỉnh) lên mức $94.6%$ (khi tích hợp pipeline ORB Homography Alignment).
Ứng dụng thực tế và triển khai
+-----------------------------------------------------------------------+
| DÂY CHUYỀN SẢN XUẤT THỰC TẾ (SMART FACTORY) |
+-----------------------------------------------------------------------+
| |
v v
+--------------------------+ +---------------------------+
| Kiểm định bo mạch PCB | | Kiểm soát in ấn bao bì |
| - Phát hiện thiếu tụ | | - Phát hiện nhòe mực |
| - Hở mối hàn, đứt mạch | | - Sai sót mã vạch, date |
+--------------------------+ +---------------------------+
| |
+------------------------------+---------------------------------+
|
v
+-----------------------------------------------------------------------+
| Lợi ích kinh tế: |
| - Giảm 70% nhân công soi lỗi thủ công |
| - Thu hồi vốn đầu tư (ROI) ước tính chỉ sau 4 - 6 tháng vận hành |
+-----------------------------------------------------------------------+
Các kịch bản ứng dụng thực tế
- Kiểm định chất lượng bo mạch điện tử (PCB Inspection): Tự động phát hiện thiếu linh kiện dán bề mặt (SMD), đứt đường mạch đồng, hoặc hàn chập chân IC.
- Kiểm tra bao bì và in ấn công nghiệp: Phát hiện lỗi in sai barcode, mờ nhãn hạn sử dụng, rách màng niêm phong trên dây chuyền đóng gói thực phẩm/dược phẩm.
- Giám sát gia công cơ khí chính xác: So sánh biên dạng phôi kim loại sau khi đột dập/cắt CNC với bản vẽ kỹ thuật gốc để phát hiện via, ba-vớ hoặc biến dạng cạnh.
Yêu cầu triển khai hệ thống (Deployment Specs)
- Phần cứng đề xuất:
- Camera công nghiệp chuẩn GigE / USB3 Vision (độ phân giải tối thiểu 2MP, global shutter).
- Đèn chiếu sáng vòng (Ring Light LED) đồng trục để giảm thiểu tối đa bóng đổ.
- Máy tính điều khiển công nghiệp (IPC): Intel Core i3 thế hệ 8 trở lên, 8GB RAM, không bắt buộc card đồ họa rời GPU.
- Phần mềm: Hệ điều hành Ubuntu 18.04/20.04 LTS hoặc Windows 10 IoT Enterprise, cài đặt OpenCV runtime và Python 3.7+.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ nhạy với nguồn sáng phức tạp: Khi cường độ sáng môi trường thay đổi đột ngột giữa hai lần chụp, hàm phân ngưỡng cố định có thể tạo ra các vùng biên giả.
- Mức độ biến dạng 3D: Nếu vật thể bị nghiêng góc lớn ngoài mặt phẳng phẳng (out-of-plane rotation $> 35^\circ$), phép biến đổi Homography 2D sẽ không bù trừ hoàn toàn được thị sai (parallax).
Hướng nâng cấp trong tương lai
- Tích hợp Deep Learning (AI): Bổ sung mạng nơ-ron tích chập (CNN/U-Net) để phân loại ngữ nghĩa chi tiết từng loại lỗi sau khi đã khoanh vùng (phân biệt rách, xước, dơ bẩn, biến màu).
- Hệ thống chiếu sáng tự thích nghi (Adaptive Lighting Compensation): Ứng dụng kỹ thuật cân bằng biểu đồ mức xám (CLAHE) trước khi trích xuất đặc trưng để triệt tiêu ảnh hưởng của ánh sáng bất đồng nhất.
- Tối ưu hóa GPU / Edge AI: Biên dịch thuật toán với OpenCV CUDA / TensorRT để triển khai trực tiếp trên các vi mạch nhúng như NVIDIA Jetson Nano/Xavier với tốc độ $> 60\text{ FPS}$.
Đối tượng hưởng lợi
- Sinh viên ngành CNTT & Kỹ thuật Máy tính: Nắm vững tài liệu tham khảo hoàn chỉnh, liên kết chặt chẽ giữa toán học giải tích ma trận và code thực thi xử lý ảnh thực tế.
- Kỹ sư thị giác máy tính (Computer Vision Engineers): Mẫu kiến trúc pipeline chuẩn hóa để giải quyết bài toán căn chỉnh và phát hiện dị biệt (Image Registration & Defect Inspection) với chi phí tính toán thấp.
- Doanh nghiệp vừa và nhỏ (SMEs): Cơ sở để xây dựng hệ thống tự động hóa kiểm tra ngoại quan (AOI - Automated Optical Inspection) nội bộ với chi phí phần mềm bản quyền bằng 0.
Câu hỏi thường gặp
1. Cần cấu hình phần cứng tối thiểu nào để vận hành ứng dụng?
Hệ thống chỉ yêu cầu CPU phổ thông (như Intel Core i3 hoặc Raspberry Pi 4 4GB RAM) để xử lý ảnh độ phân giải HD ($1280 \times 720$) với tốc độ từ 15 đến 20 FPS mà không cần đầu tư card đồ họa rời GPU.
2. Thuật toán xử lý thế nào khi sản phẩm bị xoay ngược 180 độ?
Thuật toán ORB có cơ chế tính góc định hướng (Orientation) dựa trên Intensity Centroid, do đó hoàn toàn bất biến với góc quay từ $0^\circ$ đến $360^\circ$ trong mặt phẳng 2D.
3. Làm thế nào để phân biệt lỗi thật với sự thay đổi của ánh sáng môi trường?
Để giảm nhiễu sáng, hệ thống sử dụng phép lọc trung vị kết hợp ngưỡng chênh lệch động (Adaptive/Otsu Thresholding) và loại bỏ các vùng contour có diện tích bé hơn ngưỡng kích thước phế phẩm cho phép ($Area < \text{Min_Threshold}$).
4. Hệ thống có khả năng tích hợp vào PLC của dây chuyền hiện hữu không?
Có. Ứng dụng có thể giao tiếp với bộ điều khiển lập trình logic PLC thông qua chuẩn truyền thông công nghiệp Modbus TCP/IP, OPC UA hoặc kích tín hiệu Digital I/O qua cổng COM/RS485 khi phát hiện vùng lỗi.
5. Chi phí đầu tư và thời gian hoàn vốn (ROI) ước tính là bao nhiêu?
Chi phí triển khai phần mềm là 0 đồng nhờ sử dụng OpenCV mã nguồn mở. Doanh nghiệp chỉ đầu tư chi phí camera ($300 - $800) và IPC ($400 - $700), thời gian hoàn vốn thường chỉ mất từ 3 đến 6 tháng nhờ cắt giảm nhân công kiểm tra thủ công.
Kết luận
Đồ án "Xây dựng ứng dụng phát hiện phần khác biệt giữa hai ảnh" đã giải quyết thành công bài toán then chốt trong xử lý ảnh công nghiệp: kết hợp linh hoạt giữa lý thuyết căn chỉnh hình học ma trận Homography, trích xuất đặc trưng nhanh ORB và các kỹ thuật trừ ảnh vi sai. Kết quả thực nghiệm cho thấy hệ thống hoạt động ổn định, đạt độ chính xác cao ($94.6%$), tốc độ xử lý đạt chuẩn thời gian thực ($48.7\text{ ms}$/khung hình) và có tính khả thi ứng dụng thực tiễn cao trong các dây chuyền kiểm định sản phẩm tự động.