Chương 1. Tổng quan dé tài Trinh bày ly do chọn đê tai và mục tiêu của đê tai. Phân tích các bai báo có nội dung liên quan đên việc ứng dụng các mô hình học sâu vào nhận diện lôi thiêu các linh kiện điện tử. Từ đó, rút ra những ưu và nhược điêm đê lây đó làm kinh nghiệm phát triển đề tài của bản thân.
Cơ sở lý thuyết Tìm hiểu về các giải thuật phát hiện đối tượng thường được sử dụng, so sánh ưu và nhược điểm của từng giải thuật dé tìm ra mô hình phù hợp với yêu cầu của đề tài. Tìm hiểu về các thông số kỹ thuật của từng thiết bị phần cứng được sử dụng trong đề tài nghiên cứu. Hiện thực thiết kế Thực hiện xây dựng tập dữ liệu và tiến hành huấn luyện, kiểm tra kết quả huấn luyện của mô hình. Xây dựng và hoàn thiện hệ thống cơ khí phục vụ thu thập dữ liệu và phân loại sản phâm.
Kết quả thực nghiệm Trình bày kịch bản khảo sát và các kết quả đạt được sau quá trình khảo sát theo kịch bản. Phân tích, đánh giá và so sánh các kết quả mà hệ thống của nhóm nghiên cứu đạt được với kết quả của bải báo. Từ đó, chỉ ra những ưu điểm và hạn chế tồn tại trong hệ thống. Kết luận và hướng phát triển Từ những kết quả đạt được từ chương 4, nhóm nghiên cứu sẽ đưa ra các kết luận và khó khăn đang gặp phải.
Thêm vào đó, những hạn chế của thiết kế cũng sẽ được nêu nhằm đưa ra những phương hướng phát triển trong tương lai. NGHIÊN CỨU THỰC NGHIỆM 2. Tìm hiểu về một số loại camera 2. CCD camera (HD 2MP USB2.0 1/3” CMOS) Một số thông số của camera: + Kích thước: 50 x 48 x 45mm + Cảm biến: 2.0MP , 1/3” CMOS + Độ phân giải khi sử dụng: 480 x 360 + Dinh dạng hình ảnh: MJPEG / YUY2 + Kiểm soát phơi sáng: Có thé điều chỉnh + Nhiệt độ làm việc: 0-60 °C + Dòng điện: I50MW (VGA) 200MW (QSXGA) + Giao diện: USB 2.0 Camera này sử dụng cảm biến CMOS (Complimentary Metal-Oxide Semiconductor) có kha năng xử lý trên các điểm ảnh đơn lẻ giúp quá trình xử lý anh được diễn ra nhanh chóng.
Ngoài ra, CMOS cũng tiêu thụ ít điện năng và có giá thành phải chăng hơn. Tuy nhiên, độ phân giải thực tế của camera này khá thấp (chỉ đạt 480x360 pixel). Cảm biến CMOS cũng có hạn chế là độ nhạy sáng kém hơn một số cảm biến khác khiến việc thu thập ảnh không được quá rõ nét.0 Camera Một số thông số của camera: + Kích thước: 44 x 40 x 31.6mm + Cảm biến: 2/3-type CCD Sensor(RJ32S4AD0DT) + Độ phân giải thực tế: 2448 x 2048 + Định dạng hình ảnh: BitMap + Nhiệt độ hoạt động: -10°C đến 50°C + Nguồn điện: DC5V + 10%(USB Cable Power) + Năng lượng: tối đa 4.5Watt + Giao diện: USB3. IMx-3505U camera Camera sử dụng cảm biến CCD (Charge Coupled Device) có độ nhạy sáng cao hơn CMOS giúp các hình ảnh thu được rõ nét hơn.
Ngoài ra, độ phân giải thực 10 tế của camera IMx-3505U cũng khá cao (2448 x 2048) giúp cho ảnh có thể ghi nhận rõ nét các chi tiệt nhỏ. Tuy nhiên, cảm biến CCD đọc các thông tin khá chậm và có giá thành khá mắc. Thêm vào đó, camera IMx-3505U không cung cấp API (application programming interface) hé tro trén hé diéu hanh Linux, khién cho viéc doc hinh anh bang máy tinh nhúng Jetson Nano trở nên khó khăn. WAT-902H Ultimate Camera Một số thông số của camera: + Kích thước: 44 x 40 x 31.6mm + Cảm biến: 1/2 inch interline transfer CCD image sensor + Độ phân giải thực tế: 640 x 480 + Định dạng hình ảnh: JPEG + Nhiệt độ hoạt động: -10 đến +40°C + Nguồn điện: DC+12V+10% + Năng lượng: 1.32W (110mA) + Giao diện: USB2.0 điêm của các camera sử dụng loại cảm biên này.
Dù độ phân giải của WAT-902H 11 Ultimate là thấp hơn rất nhiều so với IMx-3505U (chỉ 640 x 480 pixel) nhưng camera này sử dụng giao diện USB2.0 giúp việc ghi nhận hình ảnh bằng Jetson Nano trở nên dễ dàng hơn. Thêm vào đó, dù độ phân giải của camera là khá nhỏ nhưng khi ứng dụng vào chương trình phát hiện lỗi thiếu linh kiện vẫn đem lại tính hiệu quả. Nghiên cứu một số mô hình phát hiện đối tượng 2. Mô hình Faster R-CNN Kiến trúc của mô hình Faster R-CNN là sự kết hợp của hai module: + Mạng đề xuất khu vực (RPN - Region Proposal Network) là một mạng CNN (Convolutional neural network) dé đề xuất các vùng và loại đối tượng cần xem xét trong vùng.
+ Fast R-CNN là mạng CNN để trích xuất các features (đặc trưng) từ các region proposal va trả ra các bounding box va nhãn. classifier Rol pooling “2 VA Region Proposal Network feature maps Hinh 2. Cau tric mang Faster R-CNN [5] 12 Tại thời điểm được ra mắt, kiến trúc Faster R-CNN là đỉnh cao trong họ các mô hình R-CNN và đặt được kết quả gần như tốt nhất khi được ứng dụng vào bài toán phát hiện đối tượng (chỉ số mAP đạt 78,8% trên tập dữ liệu PASCAL VOC 2007 test set). Tuy nhiên, kiến trúc này vẫn còn khá chậm khi tốc độ xử lý chỉ đạt chỉ đạt fps (frame per second) [5].
Tốc độ xử lý này là rất chậm so với các mô hình được phát triển về sau khi chỉ số fps của nó chưa đạt tới ngưỡng thời gian thực (real-time). Mô hình YOLOv4 Các mô hình YOLO có cấu trúc chung được mô tả trong hình 2. Kiến trúc này bao gôm: + Base network (thành phần Darknet Architecture trong hình) là các mạng convolution làm nhiệm vụ trích xuất đặc trưng. Output của thành phần này là một feature map (tensor chứa thông tin các đặc trưng của ảnh).
+ Các extra layer (các fully connected) được áp dụng để phát hiện vật thé trên feature map của base network. Các extra layer này sẽ nhận input là feature map của base network dé dự đoán nhãn và tọa độ của các vật thé trong hình. full , Mã (I n0 nhi 0nni81i5i7ai sim tuy camel xB times X Ễ times connected a Đai X X (x, y, W, h, obj score) | class probability ‹¡ DarkNet L :_ Architecture length: 5B+C 7x7x1024 409 90 448x448x3 Hình 2. Cấu trúc chung của các mô hình YOLO [3] 13 Output của YOLO được trình bày dưới dang: 17 y= [po, (tz, ty, tw, th), (p1,P2,-++,Pc)| — ———— 2.1, `" bounding box scores of c classes Hình 2.
Output của một mô hình YOLO [3] Trong đó: + po là xác suất dự báo vật thê xuất hiện trong bounding box. + (i t tasty) giúp khoanh vùng vat thé ở trong anh input. Trong đó ty, ty là x?sty» ————— bounding _ box tọa độ tâm của hình chữ nhật bao tron vật thé, tw, th là độ rộng và cao của bounding box đó.) đây là vector phân phối xác suất dự báo của vật thể trên các Nhišnifcjliiiduilia/ scores _ 0ƒ _c_ classes class (các lớp, các nhãn). Ví dụ: mô hình cần dự đoán 5 class của 5 vật thé khác nhau.
Khi đó, mỗi vật thé ma mô hình xác định được sẽ được tính xác suất - mà vật thé thuộc vào class đó - trên cả 5 vật thê. Nêu xác xuât vật thê thuộc class nào cao nhât thì mô hình sẽ xác định vật thé được định vị thuộc class đó. Những sự thay đổi của các phiên bản mô hình YOLO thường được thực hiện trên các lớp base network. Những sự thay đổi này chủ yêu là sử dụng các kiến trúc CNN khác nhau, thay đổi cách sắp xếp các mang convolution hay thay đổi input, output của các mạng convolution đó.
Những sự thay đổi này có hiệu quả làm tăng độ chính xác của mô hình hoặc tăng tốc độ xử lý của mô hình trên các bộ xử lý khác nhau hoặc cả hai. Mô hình YOLOv4 [4] đạt độ chính xác 43.5% và tốc độ xap xi 65 FPS trên tập dir liệu MS COCO. Tuy nhiên, chỉ với một vài thay đối trong cau trúc base network, phiên bản YOLOv4-large [6] đã đạt độ chính xác lên đến 55.5% cùng trên tập dữ liệu MS COCO. 14 Tuy nhiên, dé đánh đổi cho độ chính xác, tốc độ của mô hình YOLOv4-large [6] bị giảm đi đáng kể, xấp xi 16 FPS.
Thêm vào đó, mô hình này được thiết kế dé phù hợp với việc xử lý tính toán trên các GPU cao cấp (như Tesla V100). Mô hình YOLOv4-tiny Với các hạn chế được nêu ở những mô hình trên, nhất là hạn chế về việc mô hình chỉ đang hoạt động hiệu quả ở các phiên bản GPU cao cấp, ta nhận thấy khi xây dựng hệ thống với các bộ xử lý trung tâm là các CPU hay GPU cấp thấp, các mô hình với kiến trúc cồng kénh ở trên sẽ khó có thé nào đáp ứng về tốc độ, gây ra hao phí thời gian rất lớn. Với mục đích xây dựng các mô hình có khả năng tính toán hiệu quả ké cả trên bộ xử lý là các CPU hay GPU cấp thấp, các nhà phát triển ở bài báo số [6] (cũng là các nhà phát trién mô hình YOLOv4-large được nêu trên) đã xây dựng mô hình YOLOv4-tiny hỗ trợ cho việc xử lý trên các CPU và GPU cấp thấp. Bảng so sánh một số mô hình nhỏ [6] Model Size EPSioso, FPSrx2 AP YOLOv4-tiny 4l6 — 371 4.1, ta có thé thấy mô hình YOLOv4-tiny hoạt động hiệu quả hon một số mô hình nhỏ khác.
Khi kích thước ảnh đầu vào là 416x416 pixel, tốc độ xử lý của mô hình đã đạt đến 371 fps; tuy nhiên, độ chính xác của mô hình lại trở nên khá thấp, chỉ 21,7%. Còn khi YOLOv4-tiny nhận ảnh đầu vào có kích thước 320x320 pixel, độ chính xác cua mô hình nổi bật hon han các mô hình cùng loại khác khi đạt đến 28,7% so với 23,6% là độ chính xác cao nhất trong số các mô hình cùng loại khác. 15 Và nổi bật hon cả, lý do tiên quyết khiến đề tài này chọn mô hình YOLOv4- tiny là bởi mô hình này đã được chứng minh là hoạt động hiệu quả trên các bộ xử lý là các thiết bị máy tính nhúng, đặc biệt là trên máy tính nhúng Jetson Nano. Bảng so sánh tốc độ hoạt động của YOLOv4-tiny [6] TensorRT.
FPS acx FPS; x FPS+ x2 FPSNANO without 120 75 42 16 with 290 118 100 39 Theo bang 2.2, khi hoạt động trên nền tảng là máy tính nhúng Jetson Nano, tốc độ xử lý mô hình YOLOv4-tiny đã đạt đến 39 fps (tốc độ real-time là 24 fps). Mặc dù độ chính xác của khá thấp (chỉ 21,7% đến 28,7%), nhưng đối với ứng dụng phát hiện các lỗi thiếu linh kiện điện tử thì độ chính xác này có thể chấp nhận được.