Bối cảnh và vấn đề nghiên cứu

Trong quy trình sản xuất bảng mạch in (Printed Circuit Board - PCB), công nghệ dán bề mặt (Surface-mount technology - SMT) là phương pháp chế tạo chủ đạo. Nhằm đảm bảo chất lượng linh kiện trước khi xuất xưởng, công đoạn kiểm tra quang học tự động (Automated optical inspection - AOI) giữ vai trò then chốt trong việc đánh giá hiệu quả lắp ráp và phát hiện các khiếm khuyết sản xuất. Khi xảy ra lỗi thiếu linh kiện, nếu hệ thống AOI không đưa ra chẩn đoán chính xác và kịp thời, toàn bộ dây chuyền sẽ bị đình trệ, làm suy giảm chất lượng và hiệu suất sản xuất. Về mặt thực tiễn, báo cáo năm 2020 của Hiệp hội Robot Quốc tế (International Federation of Robotics - IFR) chỉ ra rằng số lượng robot công nghiệp trên thế giới đạt khoảng 2,7 triệu đơn vị (tăng 12% so với năm 2019), khẳng định xu thế tự động hóa giám sát lỗi là nhu cầu cấp thiết trong công nghiệp chế tạo chính xác.

Qua khảo sát các nghiên cứu thực nghiệm tiền nhiệm, tác giả chỉ ra các điểm nghẽn kỹ thuật:

  • Nghiên cứu "Phát hiện linh kiện bị thiếu trên PCB dùng mạng nơron" sử dụng webcam định dạng màu RGB, trích xuất vùng mạch bằng thuật toán gắn nhãn thành phần liên thông (connected-component labeling), dùng phép toán logic XOR so sánh từng pixel với ảnh mẫu chuẩn để lấy 3 đặc trưng (diện tích, chu vi, tính compact), sau đó phân loại bằng mạng nơron lan truyền ngược với 1.000 chu kỳ lặp. Phương pháp này phụ thuộc vào điều kiện chụp lý tưởng, dễ sai số khi ảnh bị xê dịch góc độ, khoảng cách hoặc có nhiễu, đồng thời thời gian lặp lớn gây hao phí thời gian.
  • Nghiên cứu "Phát hiện các linh kiện bị thiếu trên PCB dùng YOLO" triển khai mô hình YOLOv3 trên máy tính nhúng Raspberry Pi, huấn luyện tập dữ liệu 3.048 ảnh (1.982 ảnh huấn luyện, 1.066 ảnh kiểm tra) cho 16 loại linh kiện. Dù xử lý được ảnh không trùng khít ảnh mẫu, độ chính xác của hệ thống này còn thấp với chỉ số mAP (Mean Average Precision) chỉ đạt 65%, trong đó các linh kiện cơ bản như điện trở dán chỉ đạt 49,1%, cuộn cảm lõi xuyến đạt 23%, tụ điện đạt 23,9%.

Đặc biệt, các nghiên cứu trên mới dừng ở khâu phát hiện thị giác mà chưa tích hợp cơ cấu chấp hành phân loại sản phẩm sau kiểm tra. Từ thực tế đó, tác giả xác định các nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu và tối ưu hóa mô hình học sâu nhận diện vật thể tốc độ cao nhằm phát hiện chính xác các linh kiện có mặt hoặc bị thiếu trên bảng mạch PCB theo thời gian thực.
  2. Thiết kế và chế tạo cơ cấu gắp thả hai trục sử dụng động cơ bước để tự động phân loại bảng mạch đạt chuẩn hoặc bảng mạch lỗi về đúng vị trí chỉ định dựa trên tín hiệu chẩn đoán.
  3. Xây dựng giao diện đồ họa (GUI) giám sát và điều khiển trên máy tính nhúng NVIDIA Jetson Nano, cung cấp cơ chế kiểm tra chéo và can thiệp thủ công cho kỹ thuật viên.

Đối tượng nghiên cứu của đề tài là các bảng mạch in PCB dán linh kiện trên một bề mặt với 15 vị trí linh kiện thuộc 8 chủng loại cơ bản, kích thước linh kiện nhỏ nhất từ 2 mm (0.0805 inches). Phạm vi nghiên cứu giới hạn ở mô hình thực nghiệm phòng thí nghiệm, thực hiện năm 2024 tại Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh.


Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp cơ sở lý thuyết về thị giác máy tính, học sâu (Deep Learning) và kỹ thuật điều khiển tự động:

1. Khung lý thuyết và mô hình phát hiện đối tượng: Tác giả tiến hành phân tích so sánh các kiến trúc nhận diện vật thể:

  • Faster R-CNN: Kết hợp mạng đề xuất khu vực (Region Proposal Network - RPN) và mạng Fast R-CNN để trích xuất đặc trưng và dự đoán bounding box. Kiến trúc đạt mAP 78,8% trên tập dữ liệu PASCAL VOC 2007 nhưng tốc độ khung hình (FPS) thấp, không đáp ứng yêu cầu xử lý thời gian thực của dây chuyền.
  • YOLOv4: Cấu trúc gồm mạng cơ sở (Darknet Base Network) trích xuất feature map và các lớp kết nối đầy đủ (extra layers) dự đoán nhãn cùng tọa độ bounding box $(t_x, t_y, t_w, t_h)$ và độ tin cậy ($p_0$). YOLOv4 đạt 43,5% AP ở tốc độ xấp xỉ 65 FPS trên tập MS COCO; biến thể YOLOv4-large đạt AP 55,5% nhưng tốc độ giảm xuống ~16 FPS và đòi hỏi GPU cao cấp (như Tesla V100).
  • YOLOv4-tiny: Mô hình nén được tối ưu hóa cho CPU và GPU cấp thấp. Khi thực nghiệm với ảnh đầu vào $416 \times 416$ pixel, tốc độ đạt 371 FPS (AP 21,7%); ở kích thước $320 \times 320$ pixel, AP đạt 28,7%. Đặc biệt, trên nền tảng máy tính nhúng Jetson Nano khi tích hợp thư viện tăng tốc TensorRT, YOLOv4-tiny đạt tốc độ 39 FPS (so với 16 FPS khi không dùng TensorRT), vượt ngưỡng thời gian thực (24 FPS) và được lựa chọn làm giải thuật cốt lõi.

2. Giải thuật đánh giá độ chính xác và tốc độ:

  • Chỉ số mAP (Mean Average Precision): Tính toán dựa trên độ chính xác (Precision) và độ phủ (Recall) thông qua chỉ số tương đồng diện tích IoU (Intersection over Union) giữa bounding box dự đoán và ground-truth box: $$\text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN}$$ Độ chính xác trung bình (Average Precision - AP) của từng lớp là diện tích dưới đường cong Precision-Recall (PR curve). Chỉ số mAP là giá trị trung bình cộng AP của tất cả $n$ lớp phân loại: $$\text{mAP} = \frac{1}{n} \sum_{k=1}^{n} AP_k$$ Chương trình tính mAP được tích hợp từ công trình của nhóm tác giả J. Cartucho (sách IROS 2018).
  • Phương pháp tính thời gian xử lý: Ứng dụng hàm time.time() của thư viện chuẩn time (Python) để đo thời gian từ epoch, ghi nhận chính xác mốc thời gian bắt đầu đưa ảnh vào mô hình đến khi trả về các danh sách bounding box và nhãn dự đoán.

3. Khảo sát thiết bị thu thập hình ảnh: Tác giả khảo sát thực nghiệm 3 dòng camera để lựa chọn thiết bị phù hợp cho hệ thống:

Tên thiết bị Cảm biến Độ phân giải Giao diện Đặc điểm kỹ thuật và thực nghiệm
CCD camera (HD 2MP USB2.0) 1/3" CMOS $480 \times 360$ pixel USB 2.0 Tiêu thụ ít điện năng (150-200 mW), giá thành thấp; độ phân giải thực tế thấp, độ nhạy sáng kém.
IMx-3505U 2/3" CCD (RJ32S4AD0DT) $2448 \times 2048$ pixel USB 3.0 Độ nhạy sáng cao, hình ảnh sắc nét chi tiết nhỏ; không hỗ trợ API trên hệ điều hành Linux.
WAT-902H Ultimate 1/2" Interline transfer CCD $640 \times 480$ pixel USB 2.0 Độ nhạy sáng tốt, công suất 1,32 W; dễ giao tiếp với Jetson Nano nhưng độ phân giải ở mức trung bình.

Để tối ưu độ sắc nét cho tập dữ liệu huấn luyện, camera IMx-3505U được chọn để thu thập ảnh ngoại tuyến, trong khi Jetson Nano đảm nhận khâu xử lý tính toán.


Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc tích hợp hoàn chỉnh gồm phần cứng xử lý nhúng, cơ cấu cơ điện tử và phần mềm ứng dụng:

[Băng chuyền đưa PCB] -> [Camera thu nhận ảnh] -> [NVIDIA Jetson Nano (YOLOv4-tiny)]
                                                               |
                                            (Truyền tín hiệu UART qua STM32F103)
                                                               v
[Phần mềm GUI Tkinter] <------------------------ [Cơ cấu gắp thả 2 trục phân loại]

1. Thiết kế phần cứng và cơ cấu chấp hành:

  • Bộ xử lý trung tâm: Máy tính nhúng NVIDIA Jetson Nano B01 với kiến trúc GPU Maxwell 128 nhân CUDA, CPU Quad-core ARM Cortex-A57, bộ nhớ 4 GB 64-bit LPDDR4 (băng thông 25,6 GB/s), bộ nhớ trong 16 GB eMMC 5.1.
  • Khối điều khiển chấp hành: Vi điều khiển STM32F103 (nhân ARM Cortex-M3 32-bit RISC, tần số hoạt động 72 MHz) chịu trách nhiệm nhận lệnh từ Jetson Nano qua giao tiếp nối tiếp UART để phát xung điều khiển động cơ.
  • Cơ cấu cơ khí: Động cơ DC (đường kính thân 42 mm, chiều dài 98 mm) dẫn động băng chuyền đưa mạch vào vị trí kiểm tra; cơ cấu gắp thả hai trục sử dụng 2 động cơ bước 2 pha (kích thước thân $42 \times 42 \times 48$ mm, đường kính trục 5 mm) kết hợp cơ cấu đầu hút chân không để nhấc và phân loại mạch PCB về các ô chỉ định.

2. Thiết kế mẫu vật và xây dựng tập dữ liệu: Tác giả thiết kế bảng mạch mẫu chứa 15 vị trí linh kiện dán trên một bề mặt thuộc 8 chủng loại cơ bản:

Mã linh kiện Loại linh kiện Kích thước danh định Ghi chú đặc điểm
STM8S003F3P6 Vi điều khiển (MCU) 6,25 mm Linh kiện tích hợp chân dán
Source Nguồn Khảo sát theo thiết kế Khối cấp nguồn bề mặt
VR Biến trở Khảo sát theo thiết kế Điều chỉnh thông số
RS Cảm biến/Điện trở chuyên dụng Khảo sát theo thiết kế Bề mặt mạch
SDC Linh kiện đóng cắt/IC Khảo sát theo thiết kế Bề mặt mạch
Cap Tụ gốm 2,0 mm (0.0805 inches) Dễ phát sinh lỗi dán
Res Điện trở dán 2,0 mm (0.0805 inches) Kích thước nhỏ, tỷ lệ lỗi cao
Led Đèn LED phát quang 2,0 mm (0.0805 inches) Vị trí phân bổ gần rìa mạch

Tập dữ liệu xây dựng gồm 5.000 ảnh chụp từ camera IMx-3505U, trong đó 4.000 ảnh dùng để huấn luyện và 1.000 ảnh dùng để kiểm thử độc lập. Hệ thống nhãn gồm 16 lớp (8 lớp linh kiện bình thường và 8 lớp linh kiện bị thiếu):

  • Nhãn linh kiện đầy đủ: MCU, Source, VR, RS, SDC, Cap, Res, Led.
  • Nhãn lỗi thiếu linh kiện: lackMCU, lackSource, lackVR, lackRS, lackSDC, lackCap, lackRes, lackLed.

Dữ liệu được gán nhãn theo định dạng chuẩn của YOLO: <object-class> <x> <y> <width> <height> (chuẩn hóa về khoảng $[0, 1]$). Tác giả áp dụng các kỹ thuật tăng cường dữ liệu (Data Augmentation) gồm: xoay ảnh (tính toán lại tọa độ 4 góc của bounding box theo công thức quay vector), điều chỉnh độ sáng và thay đổi kích thước.

3. Huấn luyện mô hình: Mô hình YOLOv4-tiny được cấu hình huấn luyện trên nền tảng Darknet bằng dịch vụ điện toán đám mây Google Colab với trọng số khởi tạo yolov4-tiny.weights. Các siêu tham số huấn luyện gồm:

  • batch = 64; subdivisions = 16 (mỗi mini-batch gồm 4 ảnh đưa vào GPU xử lý đồng thời).
  • Kích thước ảnh đầu vào: width = 416, height = 416 pixel.
  • max_batches = 32.000 chu kỳ (tính theo công thức $16 \text{ nhãn} \times 2.000$).
  • Giảm tốc độ học (learning rate decay) tại 80% (25.600 chu kỳ) và 90% (28.800 chu kỳ).

4. Thiết kế giao diện quản trị hệ thống (GUI Tkinter): Phần mềm quản trị viết bằng ngôn ngữ Python sử dụng thư viện Tkinter và OpenCV, được tổ chức thành 2 phân hệ (tab):

  • Tab Monitor (Giám sát): Cho phép người dùng theo dõi mạch trên băng chuyền thông qua hình ảnh từ camera. Giao diện hiển thị các trường dữ liệu thời gian thực: tốc độ khung hình (FPS), số lượng linh kiện phát hiện được (NoDC - Number of detected components), số linh kiện bị thiếu (NoMC - Number of missing components). Cung cấp nút bấm "Snap" để chụp/dừng hình và nút chuyển đổi linh hoạt giữa hai chế độ Manual (kỹ thuật viên chủ động bấm nút phân tích) và Auto (hệ thống tự động kích hoạt nhận diện khi mạch vào đúng khung hình).
  • Tab Error component (Chi tiết linh kiện lỗi): Hiển thị bảng mạch tổng thể có khoanh vùng chữ nhật màu đỏ tại các vị trí lỗi, kèm khung phóng to cận cảnh linh kiện bị thiếu để kiểm tra trực quan. Các trường thông số gồm: tên loại linh kiện thiếu (ToMC - Type of missing components), số thứ tự lỗi trên tổng số lỗi (No/Total), số lượng linh kiện cùng loại bị thiếu trên board mạch (NoMCpB). Cung cấp nút chuyển tiếp trái/phải để duyệt từng lỗi. Đặc biệt, tab tích hợp 2 nút điều khiển hạ tầng:
    • Nút DONE: Kỹ thuật viên xác nhận kết quả nhận diện của AI là chính xác, gửi chuỗi lệnh UART để cơ cấu cơ khí tự động phân loại.
    • Nút Correction: Cho phép kỹ thuật viên ghi đè mệnh lệnh trong tình huống mô hình nhận diện sai sót, gồm tùy chọn Correct (chuyển mạch về vị trí đạt chuẩn) hoặc Error (chuyển mạch về vị trí lỗi).

Nội dung chính theo từng chương

Chương 1. TỔNG QUAN ĐỀ TÀI

Chương 1 trình bày tính cấp thiết của việc tự động hóa kiểm tra quang học trong dây chuyền chế tạo PCB SMT dựa trên số liệu tăng trưởng robot công nghiệp của IFR (2,7 triệu robot vào năm 2020). Tác giả tiến hành phân tích chuyên sâu hai công trình khoa học tiêu biểu liên quan đến mạng nơron nhân tạo và giải thuật YOLOv3, vạch rõ các nhược điểm về thời gian lặp, độ phụ thuộc ảnh mẫu chuẩn và độ chính xác mAP thấp (chỉ 65%). Trên cơ sở đó, chương xác lập mục tiêu nghiên cứu là xây dựng hệ thống hoàn chỉnh từ nhận diện học sâu bằng YOLOv4-tiny trên Jetson Nano đến cơ cấu gắp thả phân loại tự động 2 trục, đồng thời phác thảo bố cục 5 chương của luận văn.

Chương 2. NGHIÊN CỨU THỰC NGHIỆM

Chương 2 tập trung vào cơ sở lý thuyết và khảo sát linh kiện phần cứng. Tác giả đánh giá thông số của 3 loại camera (CCD 2MP CMOS, IMx-3505U CCD, WAT-902H Ultimate CCD), làm rõ ưu thế về độ sắc nét của cảm biến CCD so với CMOS. Tiếp đó, tác giả phân tích kiến trúc mạng Faster R-CNN, YOLOv4, YOLOv4-tiny; đối chiếu hiệu năng giữa các mô hình nhỏ và dẫn chứng bảng tốc độ của YOLOv4-tiny đạt 39 FPS trên Jetson Nano khi dùng TensorRT. Chương cũng trình bày cơ sở toán học tính toán IoU, Precision, Recall, PR curve, mAP và phương pháp đo thời gian bằng hàm time.time(). Cuối cùng, tác giả giới thiệu các công cụ phần mềm (OpenCV, Tkinter, chương trình tính mAP) cùng thông số kỹ thuật của Jetson Nano B01, vi điều khiển STM32F103, động cơ bước 2 pha và motor DC.

Chương 3. HIỆN THỰC THIẾT KẾ

Chương 3 mô tả toàn bộ quy trình thiết kế và thực thi hệ thống. Tác giả thiết kế mạch PCB mẫu gồm 15 vị trí linh kiện thuộc 8 chủng loại dán bề mặt với kích thước tối thiểu 2 mm. Quy trình tạo lập bộ dữ liệu 5.000 ảnh từ camera IMx-3505U (4.000 ảnh train, 1.000 ảnh test) được trình bày chi tiết cùng hệ thống 16 nhãn theo định dạng YOLO Annotations. Tác giả phân tích giải thuật tăng cường dữ liệu bằng công thức xoay tọa độ và biến đổi độ sáng, thiết lập tham số huấn luyện Darknet trên Google Colab (batch = 64, subdivisions = 16, max_batches = 32.000). Phần cuối chương tập trung vào thiết kế đồ họa và lưu đồ xử lý của phần mềm GUI Tkinter (Tab Monitor và Tab Error component), cũng như lưu đồ điều khiển cơ cấu gắp thả 2 trục giao tiếp qua giao thức UART.

Chương 4. KẾT QUẢ THỰC NGHIỆM

Chương 4 công bố kết quả triển khai thực tế trên mô hình phần cứng. Tác giả mô tả môi trường vận hành gồm màn hình ứng dụng Xfce/Xrdp và cửa sổ lệnh PuTTY. Hệ thống nhận diện thành công 15 linh kiện trên mạch với độ chính xác đạt mAP 97,69%, thời gian xử lý trung bình đạt 0,21 giây/khung hình trên GPU Jetson Nano. Cơ cấu gắp thả hoàn thành chu kỳ phân loại chính xác trong 5 giây. Tác giả cũng phân tích hiện tượng nhận diện sai nhãn do ánh sáng môi trường (ví dụ nhãn lackRes bị nhận diện nhầm thành Res) và chứng minh giải pháp tăng cường nguồn sáng giúp hệ thống nhận diện chính xác hoàn toàn. Cuối chương là bảng đối chiếu kết quả cho thấy sự cải thiện vượt bậc so với các nghiên cứu trước.

Chương 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Chương 5 đúc kết các kết quả đạt được: hoàn thiện trọn vẹn mô hình từ thị giác máy tính đến cơ cấu phân loại vật lý và giao diện người dùng. Tác giả thẳng thắn chỉ ra các khó khăn gặp phải, bao gồm việc camera công nghiệp IMx-3505U thiếu API hỗ trợ hệ điều hành Linux và tốc độ xử lý trên Jetson Nano vẫn còn độ trễ nhất định. Trên cơ sở đó, tác giả đề xuất các giải pháp nâng cấp hệ sinh thái phần cứng, tối ưu hóa thuật toán và mở rộng khảo sát cho các dạng mạch in phức tạp hơn trong tương lai.


Kết quả và đóng góp

Khóa luận đạt được các kết quả định lượng cụ thể thông qua quá trình thử nghiệm trên hệ thống thực tế:

Hạng mục chỉ số Kết quả nghiên cứu đạt được Kết quả nghiên cứu tiền nhiệm (bài báo [2])
Mô hình học sâu sử dụng YOLOv4-tiny (huấn luyện Darknet) YOLOv3
Phần cứng xử lý trung tâm NVIDIA Jetson Nano B01 (GPU Maxwell) Raspberry Pi
Độ chính xác trung bình (mAP) 97,69% 65,0% (Điện trở: 49,1%; Tụ điện: 23,9%)
Thời gian xử lý mô hình 0,21 giây/khung hình (~4,76 FPS trên GPU) Không công bố chi tiết FPS thực tế
Kích thước linh kiện nhỏ nhất 2,0 mm (tụ gốm, điện trở, led) Linh kiện dán bề mặt đa dạng
Số linh kiện kiểm tra/bo mạch 15 linh kiện / 8 chủng loại 16 loại linh kiện
Cơ cấu phân loại chấp hành Cơ cấu gắp thả 2 trục tự động (chu kỳ 5 giây) Chưa có (chỉ hiển thị màn hình)
Cơ chế tương tác người dùng GUI 2 tab (Monitor/Error) + Can thiệp Correction Màn hình TFT nút bấm đơn giản

Các đóng góp kỹ thuật chính:

  1. Tối ưu hóa thị giác máy tính cho linh kiện siêu nhỏ: Nâng cao độ chính xác nhận diện lỗi thiếu linh kiện từ mức 65% của các công trình trước lên 97,69%, giải quyết triệt để bài toán nhận diện các linh kiện thụ động kích thước nhỏ (2 mm) như điện trở, tụ gốm vốn có tỷ lệ nhận diện rất thấp ở các mô hình cũ.
  2. Tích hợp vòng lặp kiểm tra - phân loại khép kín: Không dừng lại ở bước chẩn đoán hình ảnh đơn thuần, tác giả đã kết nối thành công luồng dữ liệu từ Jetson Nano qua vi điều khiển STM32F103 để vận hành cơ cấu gắp thả cơ khí phân loại sản phẩm trong vòng 5 giây, tạo nên một dây chuyền kiểm thử tự động hóa hoàn chỉnh.
  3. Thiết kế cơ chế giám sát có khả năng can thiệp (Fault-tolerant GUI): Xây dựng giao diện Tkinter cho phép giám sát trực quan số lượng linh kiện (NoDC, NoMC) và cung cấp cơ chế phản hồi hai cấp (DONE để xác nhận tự động, Correction để sửa lỗi thủ công), giúp triệt tiêu rủi ro phân loại sai khi mô hình gặp sự cố nhiễu quang học.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên các phân tích thực nghiệm tại Chương 4 và Chương 5, tác giả nêu rõ các hạn chế tồn tại:

  • Tương thích phần cứng và giao tiếp thiết bị: Camera chất lượng cao IMx-3505U không cung cấp giao diện lập trình ứng dụng (API) hỗ trợ hệ điều hành Linux, gây khó khăn cho việc đọc và truyền trực tiếp luồng hình ảnh độ phân giải cao vào máy tính nhúng Jetson Nano trong thời gian thực.
  • Độ nhạy cảm với điều kiện chiếu sáng: Mô hình thị giác máy tính vẫn chịu ảnh hưởng bởi ánh sáng môi trường. Khi cường độ sáng không đạt tiêu chuẩn, hệ thống xuất hiện tình trạng nhận diện sai nhãn (cụ thể là nhận diện nhầm vị trí thiếu điện trở lackRes thành có điện trở Res), buộc phải bổ sung hệ thống đèn chiếu sáng bên ngoài để khắc phục.
  • Phạm vi mẫu vật thực nghiệm: Bảng mạch khảo sát mới chỉ dừng ở mức thử nghiệm đơn giản với 15 vị trí linh kiện dán trên một bề mặt duy nhất với mật độ thưa; chưa thử nghiệm trên các bảng mạch công nghiệp phức tạp dán linh kiện hai mặt với mật độ dày đặc.
  • Hiệu năng tính toán nhúng: Tốc độ xử lý của mô hình trên GPU Jetson Nano đạt 0,21 giây/khung hình (~4,76 FPS). Dù đáp ứng yêu cầu dừng mạch để kiểm tra, tốc độ này vẫn thấp hơn mức lý thuyết tối đa của mô hình YOLOv4-tiny (có thể đạt tới 39 FPS với TensorRT).

Hướng phát triển tiếp theo:

  • Bổ sung driver hoặc lựa chọn camera chuyên dụng tương thích hoàn toàn với nền tảng Linux trên Jetson Nano để đồng bộ hóa luồng thu nhận hình ảnh độ phân giải cao.
  • Thiết kế buồng chiếu sáng công nghiệp tiêu chuẩn nhằm triệt tiêu hiện tượng sụt giảm độ chính xác do ánh sáng môi trường thay đổi.
  • Mở rộng tập dữ liệu và tối ưu giải thuật để kiểm tra các bảng mạch in dán linh kiện trên cả hai bề mặt với mật độ linh kiện dày đặc hơn.

Giá trị tham khảo

Khóa luận tốt nghiệp của tác giả Lê Thế Thông mang lại giá trị tham khảo thiết thực cho nhiều nhóm đối tượng:

  • Sinh viên và học viên chuyên ngành Kỹ thuật Máy tính, Hệ thống nhúng & IoT, Điện tử - Viễn thông, Tự động hóa: Tài liệu cung cấp hướng dẫn thực nghiệm rõ ràng về quy trình xây dựng tập dữ liệu thị giác máy tính thực tế, kỹ thuật gán nhãn, tăng cường dữ liệu và quy trình huấn luyện mạng YOLOv4-tiny bằng nền tảng Darknet trên Google Colab.
  • Kỹ sư nghiên cứu phát triển hệ thống AIoT / Edge AI: Phần triển khai ứng dụng trên máy tính nhúng NVIDIA Jetson Nano B01 kết hợp vi điều khiển STM32F103 qua giao thức UART là mô hình tham khảo hữu ích cho các dự án cần tích hợp giữa giải thuật AI nhận diện hình ảnh và cơ cấu cơ điện tử chấp hành.
  • Kỹ sư quản lý chất lượng dây chuyền SMT: Cung cấp giải pháp kỹ thuật có chi phí phần cứng hợp lý để tự động hóa công đoạn kiểm tra ngoại quan (AOI), giúp nâng cao hiệu suất phát hiện lỗi thiếu linh kiện trong các xưởng sản xuất quy mô vừa và nhỏ.

Câu hỏi thường gặp

1. Vì sao tác giả lựa chọn mô hình YOLOv4-tiny thay vì Faster R-CNN hay YOLOv4 bản tiêu chuẩn?
Mô hình Faster R-CNN đạt độ chính xác cao nhưng tốc độ xử lý FPS rất thấp, không đáp ứng yêu cầu thời gian thực. Trong khi đó, mô hình YOLOv4 tiêu chuẩn và biến thể YOLOv4-large đòi hỏi năng lực tính toán rất lớn từ các dòng GPU máy trạm cao cấp (như Tesla V100), không thể vận hành hiệu quả trên các hệ thống nhúng giá thành thấp. Tác giả chọn YOLOv4-tiny vì đây là kiến trúc tinh gọn, được thiết kế tối ưu cho CPU và GPU cấp thấp, đã được chứng minh đạt tốc độ lên tới 39 FPS trên máy tính nhúng Jetson Nano khi tích hợp TensorRT.

2. Tập dữ liệu thực nghiệm được tổ chức như thế nào và bao gồm những nhãn phân loại nào?
Tập dữ liệu gồm 5.000 ảnh chụp từ camera IMx-3505U, phân chia thành 4.000 ảnh huấn luyện và 1.000 ảnh kiểm thử. Tập dữ liệu quản lý 16 nhãn phân loại riêng biệt theo chuẩn YOLO, chia đều cho 8 loại linh kiện: 8 nhãn có mặt (MCU, Source, VR, RS, SDC, Cap, Res, Led) và 8 nhãn bị thiếu (lackMCU, lackSource, lackVR, lackRS, lackSDC, lackCap, lackRes, lackLed).

3. Cơ cấu giao tiếp và điều khiển phân loại sản phẩm giữa Jetson Nano và cơ cấu chấp hành hoạt động ra sao?
Jetson Nano đóng vai trò bộ xử lý trung tâm, thực hiện nhận diện hình ảnh và đưa ra kết luận phân loại. Kết quả này được chuyển thành lệnh điều khiển gửi qua giao thức truyền thông nối tiếp bất đồng bộ UART đến vi điều khiển STM32F103. Vi điều khiển STM32F103 trực tiếp phát xung điều khiển motor DC kéo băng chuyền và 2 động cơ bước 2 pha để vận hành đầu hút chân không di chuyển theo hai trục, gắp và thả mạch về đúng khay quy định trong chu kỳ 5 giây.

4. Giao diện phần mềm giải quyết tình huống mô hình nhận diện sai sót như thế nào?
Giao diện Tkinter cung cấp Tab Error component cho phép người dùng quan sát hình ảnh chi tiết và vị trí của từng linh kiện bị thiếu được khoanh vùng màu đỏ. Nếu mô hình nhận diện sai (ví dụ do nhiễu ánh sáng), kỹ thuật viên không bấm nút DONE mà bấm nút Correction, sau đó chủ động chọn lệnh Correct (nếu mạch thực tế không lỗi) hoặc Error (nếu mạch có lỗi) để ghi đè mệnh lệnh gửi qua UART xuống cơ cấu cơ khí, đảm bảo quá trình phân loại vật lý không bị sai sót.

5. Yếu tố môi trường nào ảnh hưởng lớn nhất đến độ chính xác nhận diện và tác giả đã chứng minh cách khắc phục ra sao?
Cường độ ánh sáng môi trường là yếu tố ảnh hưởng mạnh nhất. Văn bản thực nghiệm chỉ ra khi ánh sáng không đủ, hệ thống nhận diện nhầm nhãn lackRes (thiếu điện trở) thành Res (có điện trở). Hiện tượng này được giải quyết bằng cách lắp đặt thêm nguồn đèn chiếu sáng cưỡng bức tại khu vực chụp ảnh, giúp mô hình nhận diện chính xác trở lại toàn bộ các linh kiện.


Kết luận

Khóa luận tốt nghiệp của tác giả Lê Thế Thông đã thiết kế và hiện thực hóa thành công hệ thống phát hiện lỗi thiếu linh kiện trên bảng mạch PCB kết hợp cơ cấu gắp thả phân loại tự động. Bằng việc ứng dụng mô hình YOLOv4-tiny vận hành trên máy tính nhúng NVIDIA Jetson Nano B01 kết hợp vi điều khiển STM32F103, hệ thống đạt độ chính xác nhận diện 97,69% với thời gian xử lý 0,21 giây/khung hình và hoàn thành chu kỳ phân loại cơ khí trong 5 giây. Công trình đã giải quyết trọn vẹn chu trình từ thu nhận hình ảnh, phân tích quang học, cung cấp giao diện giám sát tương tác đến phân loại sản phẩm vật lý, đóng góp một giải pháp tự động hóa kiểm tra hữu ích và có tính ứng dụng cao cho ngành sản xuất bảng mạch điện tử.