(Luận Văn Thạc Sĩ Kỹ Thuật Điện Tử) Các Giải Pháp Tối Ưu Hóa Dây Chuyền Sản Xuất Trong Phát Hiện Linh Kiện Bản Mạch In Sử Dụng Trí Tuệ Nhân Tạo Và Thị Giác Máy

68 0 0
Tài liệu đã được kiểm tra trùng lặp
(Luận Văn Thạc Sĩ Kỹ Thuật Điện Tử) Các Giải Pháp Tối Ưu Hóa Dây Chuyền Sản Xuất Trong Phát Hiện Linh Kiện Bản Mạch In Sử Dụng Trí Tuệ Nhân Tạo Và Thị Giác Máy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

Đ¾I HâC QUÞC GIA HÀ NÞI TR£âNG Đ¾I HâC CÔNG NGHÞ

ĐINH HĀU ĐĀC

XUÂT TRONG PHÁT HIÞN LINH KIÞN BÀN M¾CH IN Sþ DĀNG TRÍ TUÞ NHÂN T¾O VÀ THà GIÁC MÁY

NGÀNH ĐIÞN Tþ - VIÄN THÔNG

Chuyên ngành: Kỹ thuÁt đißn tÿ

LUÀN VN TH¾C SĨ

HÀ NÞI, 2022

Trang 2

Đ¾I HâC QUÞC GIA HÀ NÞI TR£âNG Đ¾I HâC CÔNG NGHÞ

ĐINH HĀU ĐĀC

XUÂT TRONG PHÁT HIÞN LINH KIÞN BÀN M¾CH IN Sþ DĀNG TRÍ TUÞ NHÂN T¾O VÀ THà GIÁC MÁY

NGÀNH ĐIÞN Tþ - VIÄN THÔNG

Chuyên ngành: Kỹ thuÁt đißn tÿ

LUÀN VN TH¾C SĨ

Cán bß h¤áng d¿n : 1 TS Đinh TriÁu D¤¢ng 2 PGS.TS Hoàng Vn Xiêm

HÀ NÞI, 2022

Trang 3

LâI CAM ĐOAN

Tôi xin cam đoan đÁ tài <CÁC GIÀI PHÁP TàI ¯U HÓA DÂY TRUYÀN SÀN XUÂT TRONG PHÁT HIàN LINH KIàN BÀN M¾CH IN SĀ DĀNG TRÍ TUà NHÂN T¾O VÀ THà GIÁC MÁY= do TS Đinh TriÁu D°¡ng và PGS.TS Hoàng Văn Xiêm h°ớng dẫn là công trình nghiên cāu cÿa tôi Các nái dung nghiên cāu, k¿t quÁ trong luận văn này là trung thực và không sao chép các công trình cÿa ng°ời khác

TÃt cÁ các tài liáu tham khÁo đ°ÿc sā dāng trong khóa luận này đ°ÿc ghi rõ nguồn gác và ghi tên tác giÁ N¿u có sai sót, tôi xin cháu hoàn toàn trách nhiám

Hà Nái, ngày tháng năm 2022

Tác giÁ

Đinh Hāu Đāc

Trang 4

LâI CÀM ¡N

Em xin bày tß lòng bi¿t ¡n sâu sắc đ¿n hai thầy TS Đinh TriÁu D°¡ng và PGS.TS Hoàng Văn Xiêm đã tận tình h°ớng dẫn và hß trÿ em hoàn thành luận văn này

Em cũng xin cÁm ¡n các thầy, cô giáo cÿa khoa Đián tā - Vißn thông, Tr°ờng Đ¿i hãc Công nghá - Đ¿i hãc Quác gia Hà Nái đã giÁng d¿y cho em những ki¿n thāc bổ ích trong suát quá trình hãc tập t¿i tr°ờng

Tôi cũng xin gāi lời cÁm ¡n chân thành đ¿n công ty TNHH SamSung Display Viát Nam n¡i tôi đang công tác đã t¿o điÁu kián cho tôi tham gia ch°¡ng trình đào t¿o th¿c sỹ t¿i tr°ờng Đ¾I HâC CÔNG NGHà-Đ¾I HâC QUàC GIA HÀ NàI

Trong quá trình thực hián luận văn này, do ki¿n thāc còn h¿n ch¿, không thể tránh khßi những thi¿u sót, em rÃt mong nhận đ°ÿc những ý ki¿n góp ý cÿa các thầy cô để em có thể ti¿p tāc hoàn thián và phát triển đÁ tài này

Hà Nßi, tháng nm 2022

Đinh Hāu Đāc

Trang 5

2.1 ThuÁt toán trích chãn đặc tr¤ng bÃt bi¿n SIFT 13

2.2 Ma trÁn homography Homography và thuÁt toán RANSAC 16

2.3 ThuÁt toán contour 18

2.3.1 Ph¤¢ng pháp Square Tracing 19

2.3.2 Ph¤¢ng pháp Moore – Neighbor Tracing 19

2.3.3 Ph¤¢ng pháp Radial Sweep 20

2.3.4 Ph¤¢ng pháp Pavlidis 21

2.4 ThuÁt toán so sánh m¿u 22

2.5 ThuÁt toán K-means clustering 26

2.6 Mô hình hãc sâu YOLO 28

2.6.1.M¿ng n¢-ron tích chÁp (CNN) 28

2.6.2 Mô hình YOLO 32

CH£¡NG 3 CÁC GIÀI PHÁP ĐÀ XUÂT 38

Trang 6

3.1 TiÁn xÿ lý 38

3.2 GiÁi pháp template matching 40

3.3 GiÁi pháp XOR Ánh k¿t hÿp K-Means clusstering 42

3.4 GiÁi pháp sÿ dāng mô hình YOLO 44

Trang 7

DANH MĀC THUÀT NGĀ VÀ CHĀ VI¾T TÂT

PCB Printed Circuit Board BÁn m¿ch in

AOI Automated Optical Inspection Kiểm tra quang hãc tự đáng RANSAC Random Sample Consensus Đồng thuận ngẫu nhiên SIFT Scale-invariant Feature Transform Đặc tr°ng bÃt bi¿n theo tỷ lá XOR Exclusive Or Phép toán XOR

CNN Convolutional Neural Network M¿ng n¡-ron tích chập IC Integrated Circuit M¿ch tích hÿp

YOLO You Only Look Once B¿n chß nhìn mát lần DOG Difference of Gaussian Sai khác Gauss RoI Region of Interest Vùng quan tâm SVD Singular-value Decomposition Phân rã giá trá đ¡n NMS Non-Maximum Suppression Triát tiêu tái đa

K-means clustering Thuật toán phân cām k-means SPP Spatial pyramid pooling Tổng hÿp kim tự tháp không

gian

IoU Intersection Over Union Tß lá dián tích giao trên hÿp Fps Frame per second Khung hình trên giây

Trang 8

Hình 2 1: Tìm điểm cực trá trong các hàm sai khác DOG 14

Hình 2 2: Biểu dißn vector đặc tr°ng 15

Hình 2 3: K¿t quÁ tìm ki¿m đặc tr°ng SIFT (a), matching keypoints (b) 16

Hình 2 4: a) 4-connected, b)8-connected 18

Hình 2 5: Mô tÁ quá trình tìm contour cÿa ph°¡ng pháp Square Tracing 19

Hình 2 6: Mô tÁ quá trình tìm contour cÿa ph°¡ng pháp Moore – Neighbor Tracing 20

Hình 2 7: Mô tÁ quá trình tìm contour ph°¡ng pháp Radial Sweep 21

Hình 2 8: Mô tÁ quá trình tìm contour ph°¡ng pháp Pavlidis 22

Hình 2 9: Mô tÁ ho¿t đáng cÿa thuật toán so sánh mẫu 23

Hình 2 10: Ành mẫu (template) và Ánh đầu vào 24

Hình 2 11: K¿t quÁ áp dāng template macthing với 6 ph°¡ng pháp khác nhau 26

Hình 2 12: Tập dữ liáu đầu vào 27

Hình 2 13: K¿t quÁ phân cām dữ liáu đầu ra sā dāng thuật toán K-means clustring 27

Hình 2 14: CÃu trúc c¡ bÁn m¿ng CNN 29

Hình 2 15: Mô tÁ phép tính nhân chập – convolution 30

Hình 2 16: Mô tÁ hàm Relu 30

Hình 2 17: Mô tÁ ho¿t đáng lớp pooling 31

Hình 2 18: Hai lo¿i pooling phổ bi¿n (max pooling và average pooling) 31

Hình 2 19: Lớp full connection 32

Hình 2 20: S¡ đồ cÃu trúc m¿ng YOLO 33

Hình 2 21 : Mô tÁ quá trình cÿa YoLo 33

Hình 2 22: Minh hãa cách xác đánh bounding Box trong YoLo 34

Trang 9

Hình 2 23: Minh hãa biểu dißn công thāc tính IoU 34

Hình 2 24: Bounding box khi áp dāng NMS 36

Hình 3 1: S¡ đồ tiÁn xā lý Ánh 38

Hình 3 2: Matching đặc tr°ng giữa hai Ánh (SIFT) 39

Hình 3 3: Ành đ°ÿc căn chßnh 39

Hình 3 4: Xác đánh vùng Ánh quan tâm (RoI) 40

Hình 3 5: S¡ đồ mô tÁ ph°¡ng pháp template matching 41

Hình 3 6: Chuẩn bá bá dữ liáu template 41

Hình 3 7: a) Hình Ánh đầu vào bá xoay, b) Hình Ánh PCB đ°ÿc căn chßnh theo mẫu 42

Hình 3 8: Phép XOR trên hai hình Ánh 43

Hình 3 9: S¡ đồ thực hián ph°¡ng pháp XOR k¿t hÿp K-means clustering 43

Hình 3 10: Ph°¡ng pháp XOR k¿t hÿp K-means clustering 44

Hình 3 11: CÃu trúc nhận dián đái t°ÿng cÿa YOLO V5 46

Hình 3 12: Gán nhán linh kián trên bÁn m¿ch trên makesense.ai 47

Hình 3 13: File thu đ°ÿc sau khi gán nhãn 47

Hình 4 1: a) Há tháng vision kiểm tra trong nhà máy, b) mô tÁ há tháng vision 49

Hình 4 2: Hình Ánh các bÁn m¿ch PCB 50

Hình 4 3: Áp dāng template matching 51

Hình 4 4: Áp dāng thuật toán XOR k¿t hÿp K-Means clustering 52

Hình 4 5: K¿t quÁ āng dāng mô hình YOLOv5 54

Trang 10

DANH MĀC BÀNG BIÂU

BÁng 3 1: Phép toán XOR 42

BÁng 4 1: K¿t quÁ ph°¡ng pháp Template matching 51

BÁng 4 2: K¿t quÁ ph°¡ng pháp Xor k¿t hÿp K-mean clustering 52

BÁng 4 3: Tập huÃn luyán 53

BÁng 4 4: K¿t quÁ ph°¡ng pháp YOLO 53

BÁng 4 5: K¿t quÁ so sánh 53

Trang 11

PHÄN MỞ ĐÄU 1 Lý do chãn đÁ tài

Trong những năm gần đây, cùng với sự phát triển m¿nh mẽ cÿa nÁn công nghiáp 4.0 trong nhiÁu lĩnh vực khoa hãc công nghá và sự ra đời cÿa các thi¿t bá sá hián đ¿i, với mát trong những cÃu trúc quan trãng cÿa nÁn công nghiáp 4.0 đó chính là là mô hình nhà máy thông minh [1] Với mát tầm nhìn vÁ môi tr°ờng sÁn xuÃt trong đó các c¡ sở sÁn xuÃt và há tháng hậu cần đ°ÿc tổ chāc mà không cần có sự can thiáp cÿa con ng°ời Viác āng dāng công nghá đang làm cho quá trình sÁn xuÃt ngày càng trở nên thông minh và năng đáng và đÁm bÁo chÃt l°ÿng là y¿u tá tÃt y¿u trong các nhà máy sÁn xuÃt tự đáng Đặc biát với sự bùng nổ phát triển trong lĩnh vực AI và thá giác máy các quá trình kiểm tra giám sát vận hành càng trở nên linh ho¿t hiáu quÁ

Ngày nay ngành công nghiáp thi¿t k¿ và sÁn xuÃt m¿ch đián tā đã và đang phát triển rÃt m¿nh mẽ, trong quá trình sÁn xuÃt dù công nghá ngày nay rÃt hián đ¿i và gần nh° 80% công đo¿n đÁu đ°ÿc máy móc thực hián, tuy nhiên trên thực t¿ vẫn có những linh kián có thi¿t k¿ đặc biát, hoặc kích th°ớc lớn cần phÁi nhờ thao tác cÿa con ng°ời để cắm lên PCB, do vậy xác suÃt lßi vẫn có thể xÁy ra Điển hình những lßi nh° bá thi¿u linh kián, cắm linh kián bá ng°ÿc hoặc bá lách h°ớng, cắm sai linh kián điÁu này làm Ánh h°ởng rÃt lớn đ¿n ho¿t đáng cÿa m¿ch: M¿ch ho¿t đáng không chính xác, hoặc thậm chí hßng m¿ch và kéo theo lßi các thi¿t bá khác, đặc biát những m¿ch lßi này n¿u xuÃt sang khách hàng sẽ trở thành vÃn đÁ lớn Ánh h°ởng đ¿n uy tín và vá trí cÿa công ty so với các đái tác và các đái thÿ c¿nh tranh Do vậy sau công đo¿n cắm linh kián luôn cần quá trình kiểm tra để đÁm bÁo không có sai sót xÁy ra Tuy nhiên viác kiểm soát chÃt l°ÿng bằng công nhân ngo¿i quan luôn tiÁm ẩn các rÿi ro lãt lßi, do Ánh h°ởng rÃt lớn bởi khÁ năng phát hián cÿa tÿng ng°ời H¡n nữa mắt sẽ cÁm thÃy mßi và mÃt tập trung khi thời gian làm viác liên tāc tÿ khoÁng 8 đ¿n 12 giờ mßi ngày

Vì vậy tr°ớc yêu cầu thực tißn đÁ ra trong luận văn này tôi đã đ°a ra ý t°ởng đÁ xuÃt các giÁi pháp āng dāng thá giác máy và các thuật toán xā lý Ánh và hãc sâu để phát hián linh kián trên bÁn m¿ch in Viác áp dāng há tháng thá giác máy giúp tái °u thời gian kiểm tra trên mát sÁn phẩm, có thể ho¿t đáng liên tāc, có đá tin cậy và đá chính xác cao, tái °u hóa Ánh h°ởng cÿa con ng°ời trong sÁn xuÃt

Trang 12

2 Māc đích nghiên cāu

Luận văn tập trung nghiên cāu tìm hiểu vÁ các giÁi thuật hãc máy và xā lý Ánh āng dāng cho há tháng vision trong kiểm tra phát hián linh kián trên bÁn m¿ch in (PCB)

3 Nhißm vā nghiên cāu

- Tìm hiểu tổng quan vÁ thá giác máy, các ph°¡ng pháp xā lý Ánh, trích chãn đặc tr°ng Ánh

- Tìm hiểu vÁ các thuật toán hãc máy, hãc sâu

- Āng dāng các thuật toán để kiểm tra, xác đánh vá trí, linh kián trong bÁn m¿ch in trong công đo¿n kiểm tra trên dây truyÁn sÁn xuÃt

4 Ph¿m vi nghiên cāu

Luận văn tập trung nghiên cāu vÁ các ph°¡ng pháp hãc máy, hãc sâu và xā lý Ánh để phát hián linh kián trên bÁn m¿ch in, āng dāng trong quÁn lý chÃt l°ÿng sÁn phẩm đầu ra bÁn m¿ch in trong dây truyÁn sÁn xuÃt tự đáng Ch°¡ng trình đ°ÿc vi¿t bằng ngôn ngữ python và āng dāng th° vián OpenCV, mô hình hãc sâu YOLO V5

5 Đóng góp cÿa luÁn vn

Luận văn nghiên cāu và đ°a ra các giÁi pháp hãc máy và xā lý Ánh trong viác phát hián linh kián trên bÁn m¿ch in āng dāng cho viác kiểm tra

6 CÃu trúc luÁn vn

Bá cāc nái dung chính luận văn đ°ÿc trình bày qua 4 ch°¡ng:

Chương 1: Giới thiệu chung

Ch°¡ng này trình bày vÁ vÃn đÁ nghiên cāu, tổng quan vÁ m¿ch PCB, mô hình thá giác máy trong kiểm tra linh kián bÁn m¿ch PCB

Chương 2: Tổng quan về các thuật toán xử lý Ánh và học máy sử dụng trong luận văn

Ch°¡ng này trình bày tổng quan vÁ thá giác máy, trí tuá nhân t¿o: các kĩ thuật xā lý Ánh, ph°¡ng pháp hãc máy, hãc sâu đ°ÿc sā dāng trong đÁ tài nghiên cāu

Chương 3: Các giÁi pháp đề xuất

Trang 13

Ch°¡ng này trình bày vÁ quá trình và các ph°¡ng pháp thực hián xā Ánh để kiểm tra phát hián linh kián trên bÁn m¿ch PCB

Chương 4 Kết quÁ

Ch°¡ng này trình bày vÁ các k¿t quÁ thu đ°ÿc sau khi áp dāng các ph°¡ng pháp xā lý Ánh và hãc máy trong phát hián linh kián trên bÁn m¿ch in

Trang 14

Hình 1 1: Một số m¿ch PCB

Mát bÁn m¿ch PCB đ°ÿc cÃu t¿o tÿ nhiÁu vật liáu cách đián, dẫn đián đ°ÿc sắp x¿p theo mát trình tự nhÃt đánh Các vật liáu cÃu t¿o nên PCB bao gồm bán lo¿i chính: ChÃt nÁn, lớp đồng, solder mask, silk screen hình 1.2

• ChÃt nÁn: Th°ờng đ°ÿc làm bằng sÿi thÿy tinh và đ°ÿc phÿ mát lớp nhựa, có tác dāng đÁm bÁo tính cách đián trong bÁn m¿ch FR4 là lo¿i nhữa thÿy tinh thông dāng nhÃt đ°ÿc sā dāng làm chÃt nÁn trong bÁn m¿ch PCB

Trang 15

• Lớp đồng: Là lớp vật liáu thā hai, là mát lớp đồng mßng có vai trò là chÃt dẫn đián, có thể nhiÁu lớp đồng khác nhau tùy vào chāc năng cÿa m¿ch Đá dày cÿa lớp đồng khác nhau tùy thuác vào các tham sá khái l°ÿng và dián tích cÿa m¿ch

• Solder mask: Đây là lớp mặt n¿ hàn đ°ÿc phÿ trên lớp đồng, lớp này che phÿ toàn bá bÁ mặt PCB trÿ phần chân linh kián Có tác dāng cách đián phần chân linh kián và các đ°ờng m¿ch, cháng oxy hóa

• Silk screen: Là lớp trên cùng cÿa bÁn m¿ch in th°ờng có màu trắng, đ°ÿc dùng để in thể hián nhãn, giá trá cÿa các linh kián gắn trên m¿ch

Hình 1 2: Cấu t¿o m¿ch PCB

Tùy thuác và cÃu t¿o, đặc điểm chāc năng và māc đích sā dāng PCB đ°ÿc chia làm nhiÁu lo¿i khác nhau

Phân lo¿i theo đá cāng:

- PCB tÃm: Đây là lo¿i PCB phổ bi¿n nhÃt hián nay

- PCB dẻo: Th°ờng đ°ÿc dùng làm cáp m¿ch cho màn hình TV, đián tho¿i, máy tính

Phân lo¿i theo cÃu trúc:

- PCB mát lớp: Chß có mát mặt đ°ÿc in

- PCB nhiÁu lớp: Có nhiÁu lớp đ°ÿc in chồng x¿p lên nhau Phân lo¿i theo linh kián k¿t nái:

- PCB dán linh kián - PCB đāc lß

Mßt sß linh kißn đißn tÿ c¢ bÁn

 Đián trở

Là linh kián đián tā thā đáng với 2 ti¿p điểm k¿t nái, nó mang đ¿n chāc năng điÁu chßnh māc đá tín hiáu Chúng có thể h¿n ch¿ c°ờng đá di chuyển trong m¿ch, có chāc năng chia đián áp, kích ho¿t các dòng linh kián chÿ đáng Đ¡n vá

Trang 16

đo đián trở đ°ÿc tính bằng Ohm (Ω) Mát sá āng dāng thực t¿ khác cÿa đián trở, bao gồm:

 Không ch¿ dòng đián qua tÁi cho phù hÿp  Phân cực cho bóng bán dẫn ho¿t đáng

 Mắc đián trở thành cầu phân áp nhằm có đ°ÿc đián áp theo ý muán tÿ mát đián áp tr°ớc

 Tham gia vào các m¿ch t¿o dao đáng RC

Hián nay, đián trở đ°ÿc chia thành rÃt nhiÁu lo¿i khác nhau trong đó có 6 lo¿i chính gồm: Đián trở cacbon, đián trở màng hay đián trở gám kim lo¿i, đián trở dây quÃn, đián trở film, đián trở bÁ mặt (dán), đián trở băng, đián trở cacbon

Hình 1 3: Hình Ánh một số lo¿i điện trở

 Tā đián

Là mát linh kián đián tā thā đáng cÃu t¿o bởi hai bÁn cực đặt song song đ°ÿc ngăn cách bởi lớp đián môi, tā đián có tính chÃt cách đián 1 chiÁu nh°ng cho dòng đián xoay chiÁu đi qua nhờ nguyên lý phóng n¿p Đ¿i l°ÿng đặc tr°ng cho tā đián là đián dung, đ¡n vá là Fara (F)

Hình 1 4: Một số lo¿i tụ điện

Các lo¿i tā đián thông dāng:

Trang 17

 Tā hóa hay còn gãi là tā phân cực: là tā có phân cực (-), (+) và luôn có hình trā Trên thân tā đ°ÿc thể hián giá trá đián dung, đián dung th°ờng tÿ 0,47 µF đ¿n 4700 µF

 Tā gám, tā giÃy, tā mica, tā kẹo, tā cao áp, tā sā ( tā không phân cực) là tā không phân cực và có hình dẹt, không phân biát âm d°¡ng Có trá sá đ°ÿc ký hiáu trên thân bằng ba sá, đián dung cÿa tā th°ờng khá nhß, chß khoÁng 0,47 µF

 Tā xoay: là tā có thể xoay để thay đổi giá trá đián dung, tā này th°ờng đ°ÿc lắp trong Radio để thay đổi tần sá cáng h°ởng khi ta dò đài

 Vi m¿ch IC

IC hay còn gãi là vi m¿ch, vi m¿ch tích hÿp là các m¿ch đián tā bao gồm linh kián bán dẫn và thā đáng đ°ÿc liên k¿t với nhau Các vi m¿ch để cung cÃp những chāc năng riêng biát trên tÿng thi¿t bá

Ngày nay nhờ vào l°ÿng dữ liáu khổng lồ (h¡n 3 tỷ hình Ánh đ°ÿc chia sẻ trực tuy¿n mßi ngày) Cùng sự phát triển ngày càng m¿nh mẽ cÿa các m¿ch vi xā lý, tác đá xā lý cÿa các há tháng máy tính ngày mát tăng và nhiÁu công trình

Trang 18

nghiên cāu, thuật toán mới cÿa nhiÁu nhà khoa hãc trên th¿ giới đã thúc đẩy thá giác máy tính ngày mát phát triển m¿nh mẽ và đ°ÿc āng dāng rÃt ráng rãi trong nhiÁu lĩnh vực khác nhau cÿa đời sáng Nh° āng dāng quÁn lý giao thông đô thá, āng dāng trong y t¿ để phân tích Ánh dự đoán bánh, āng dāng quÁn lý dữ liáu sinh trắc hãc[3], āng dāng trong các há tháng giám sát chÃt l°ÿng sÁn phẩm, há tháng nhận dián thông qua cā chß cÿa con ng°ời[4]&

Hình 1 6: Āng dụng thị giác máy tính trong nhận d¿ng vật thể

1.2.2 Trí tuß nhân t¿o

Trí tuá nhân t¿o (Artificial Intelligence - AI) hay trí thông minh nhân t¿o đ°ÿc đÁ cập đ¿n lần đầu tiên vào những năm 1950 bởi nhà khoa hãc John McCarthy – mát nhà khoa hãc ng°ời Mỹ nh°ng đ¿n khoÁng nh°ng năm 80 thì AI mới đ°ÿc quan tâm Đ¿n những năm 2008, cùng với sự bùng nổ cÿa c¡ sở dữ liáu lớn (Big Data) và sự phát triển cÿa phần cāng cÿa các há tháng máy tính, thì AI đã phát triển m¿nh mẽ trở thành mát trong những ngành công nghá đ°ÿc quan tâm phát triển và āng dāng bậc nhÃt cho đ¿n hián nay Đi đầu là các tập đoàn hàng đầu th¿ giới nh° Google, Facebook, Twitter, Amazon, Alibaba, Tencent& Và đ°ÿc āng dāng phổ bi¿n trong nhiÁu lĩnh vực nh° tài chính - ngân hàng, chăm sóc sāc khße, āng dāng trÿ lý Áo (chatbots), āng dāng trong xe tự hành, nhận dián giãng nói, khuôn mặt, sinh trắc hãc, nông nghiáp&

Trí tuá nhân t¿o có thể đ°ÿc hiểu đ¡n giÁn là trí thông minh đ°ÿc thể hián bằng máy móc mô phßng l¿i quá trình suy nghĩ và hãc tập cÿa con ng°ời BÁn

Trang 19

chÃt cÿa trí tuá nhân t¿o vẫn do con ng°ời làm ra, hã xây dựng các thuật toán, lập trình bằng các công cā phần mÁm công nghá thông tin, giúp các máy tính có thể tự đáng xā lý các hành vi thông minh nh° con ng°ời

Hình 1 7: Lịch sử hình thành phát triển AI

Trong lĩnh vực AI, có mát nhánh nghiên cāu vÁ khÁ năng tự hãc cÿa máy tính đ°ÿc gãi là hãc máy (machine learning) Hián nay, không có mát đánh nghĩa chính thāc nào vÁ hãc máy nh°ng có thể hiểu rằng nó là các kỹ thuật giúp cho máy tính có thể tự hãc mà không cần phÁi cài đặt các luật quy¿t đánh Th°ờng mát ch°¡ng trình máy tính cần các quy tắc, luật lá để có thể thực thi đ°ÿc mát tác vā nào đó nh° dán nhãn cho các email là th° rác n¿u nái dung email có chā tÿ khoá <quÁng cáo= Nh°ng với hãc máy, các máy tính có thể tự đáng phân lo¿i các th° rác mà không cần chß tr°ớc bÃt kỳ quy tắc nào cÁ Có thể hiểu đ¡n giÁn là nó giúp cho máy tính có đ°ÿc cÁm quan và suy nghĩ đ°ÿc nh° con ng°ời hay hãc máy là ph°¡ng pháp vẽ các đ°ờng thể hián mái quan há cÿa tập dữ liáu Mát nhánh nhß trong hãc máy gần đây rÃt đ°ÿc °u chuáng là hãc sâu (deep learning)

Hãc sâu là kỹ thuật sā dāng các m¿ng n¡-ron t°¡ng tự nh° các n¡-ron cÿa não ng°ời để xây dựng há tháng hãc máy Đây là mát sự k¿t hÿp tuyát vời giữa toán hãc và khoa hãc thần kinh K¿t quÁ cÿa nó mang l¿i cực kỳ to lớn, có thể coi là khởi nguyên cÿa ngành công nghiáp mới T¿i thời điểm này, hầu h¿t các ngành công nghá thông tin lẫn các ngành khác nh° ôto, đián tā đÁu đang tập trung phát triển và āng dāng kỹ thuật hãc sâu cho bài toán cÿa mình

1.2.3 Xÿ lý Ánh

Xā lý Ánh là phần cát lõi cÿa kỹ thuật thá giác máy tính Nhiám vā chính cÿa

Trang 20

xā lý Ánh là nâng cao chÃt l°ÿng thông tin hình Ánh theo māc đích và xā lý những thông tin đó đ°a ra k¿t quÁ, sá liáu nhằm phāc vā các b°ớc k¿ ti¿p có thể là hiển thá, điÁu khiển c¡ cÃu chÃp hành há tháng, l°u trữ vào c¡ sở dữ liáu, &

Quá trình bắt đầu tÿ viác thu nhận Ánh nguồn (d¿ng Ánh sá) ở máy tính Dữ liáu Ánh đ°ÿc l°u trữ ở đánh d¿ng phù hÿp với quá trình xā lý Ng°ời lập trình sẽ đ°a ra các thuật toán lên dữ liáu Ánh nhằm thay đổi cÃu trúc Ánh phù hÿp với các āng dāng khác nhau Các thuật toán c¡ bÁn nhÃt th°ờng là: Histogram, Canny Edge, lãc màu RGB, lãc màu HSV, &

Để dß t°ởng t°ÿng, xét các b°ớc cần thi¿t trong xā lý Ánh Đầu tiên, Ánh tự nhiên tÿ th¿ giới ngoài đ°ÿc thu nhận qua các thi¿t bá thu (nh° Camera, máy chāp Ánh) Tr°ớc đây, Ánh thu qua Camera là các Ánh t°¡ng tự (lo¿i Camera áng kiểu CCIR) Gần đây, với sự phát triển cÿa công nghá, Ánh màu hoặc đen trắng đ°ÿc lÃy ra tÿ Camera, sau đó nó đ°ÿc chuyển trực ti¿p thành Ánh sá t¿o thuận lÿi cho xā lý ti¿p theo (máy Ánh sá hián nay là mát thí dā gần gũi) Mặt khác, Ánh cũng có thể ti¿p nhận tÿ vá tinh; có thể quét tÿ Ánh chāp bằng máy quét Ánh Hình 1.8 d°ới đây mô tÁ các b°ớc c¡ bÁn trong xā lý Ánh

Hình 1 8: Các bước cơ bÁn trong xử lý Ánh

- Thu nhận Ánh

Đây là b°ớc hình Ánh đ°ÿc thu thập tÿ các thi¿t bá thu nhận hình Ánh, Ánh có thể đ°ÿc thu nhận qua các camera màu hoặc đen trắng, vá tinh qua các bá cÁm āng, các máy chāp đ¡n sắc, hay các máy quét tranh Ánh Ành thu nhận đ°ÿc có thể là Ánh t°¡ng tự hay Ánh sá tùy thuác vào thi¿t bi¿t sā dāng để chāp và thu thập Ánh, và để có thể thao tác xā lý Ánh thì hình Ánh phÁi là hình Ánh sá vì vậy ta cần sá hóa n¿u hình Ánh đầu vào ở d¿ng t°¡ng tự, tr°ớc khi ti¿n hành các b°ớc xā lý ti¿p theo

Trang 21

- TiÁn xā lý

Ành sau khi thu nhận có thể bá nhißu, đá t°¡ng phÁn thÃp để cÁi thián vÃn đÁ này ta cần b°ớc tiÁn xā lý để nâng cao chÃt l°ÿng hình Ánh Chāc năng chính cÿa bá tiÁn xā lý là lãc nhißu, nâng đá t°¡ng phÁn để làm Ánh rõ h¡n, nét h¡n, thông qua mát sá quá trình nh°: ĐiÁu chßnh đá sáng, khā nhißu, hiáu chßnh māc xám, chuẩn hóa đá lớn, hình d¿ng màu sắc, nắn chßnh hình hãc&

- Phân vùng Ánh

Phân vùng Ánh là quá trình phân tách mát Ánh đầu vào thành các vùng thành phần rời r¿c và có tính đồng d¿ng liên thông với nhau theo mát tiêu chí nào đó hay chính là xác đánh biên cho các vùng hình Ánh đó Ví dā: để nhận d¿ng chữ (hoặc mã v¿ch) trên phong bì th° cho māc đích phân lo¿i b°u phẩm, cần chia các câu, chữ vÁ đáa chß hoặc tên ng°ời thành các tÿ, các chữ, các sá (hoặc các v¿ch) riêng biát để nhận d¿ng Đây là phần phāc t¿p khó khăn nhÃt trong xā lý Ánh và cũng dß gây lßi, làm mÃt đá chính xác cÿa Ánh K¿t quÁ nhận d¿ng Ánh phā thuác rÃt nhiÁu vào công đo¿n này

- Biểu dißn Ánh

Đầu ra Ánh sau phân đo¿n chāa các điểm Ánh cÿa vùng Ánh (Ánh đã phân đo¿n) cáng với mã liên k¿t với các vùng lận cận Viác bi¿n đổi các sá liáu này thành d¿ng thích hÿp là cần thi¿t cho xā lý ti¿p theo bằng máy tính Viác chãn các tính chÃt để thể hián Ánh gãi là trích chãn đặc tr°ng (Feature Selection) gắn với viác tách các đặc tính cÿa Ánh d°ới d¿ng các thông tin đánh l°ÿng hoặc làm c¡ sở để phân biát lớp đái t°ÿng này với đái t°ÿng khác trong ph¿m vi Ánh nhận đ°ÿc Ví dā: trong nhận d¿ng ký tự trên phong bì th°, chúng ta miêu tÁ các đặc tr°ng cÿa tÿng ký tự giúp phân biát ký tự này với ký tự khác

- Nhận d¿ng và nái suy Ánh

Nhận d¿ng Ánh là quá trình xác đánh Ánh Quá trình này th°ờng thu đ°ÿc bằng cách so sánh với mẫu chuẩn đã đ°ÿc hãc (hoặc l°u) tÿ tr°ớc Nái suy là phán đoán theo ý nghĩa trên c¡ sở nhận d¿ng Ví dā: mát lo¿t chữ sá và nét g¿ch ngang trên phong bì th° có thể đ°ÿc nái suy thành mã đián tho¿i Có nhiÁu cách phân lo¿i Ánh khác nhau vÁ Ánh Theo lý thuy¿t vÁ nhận d¿ng, các mô hình toán hãc vÁ Ánh đ°ÿc phân theo hai lo¿i nhận d¿ng Ánh c¡ bÁn:

- Nhận d¿ng theo tham sá

Trang 22

- Nhận d¿ng theo cÃu trúc

Hián nay, ng°ời ta đã áp dāng kỹ thuật nhận d¿ng khá thành công với nhiÁu đái t°ÿng khác nhau nh°: nhận d¿ng Ánh vân tay, khuôn mặt, nhận d¿ng chữ (chữ cái, chữ sá, chữ có dÃu), nhận d¿ng chữ in phāc vā cho viác tự đáng hóa quá trình đãc tài liáu, tăng tác đá và chÃt l°ÿng nhận thông tin tÿ máy tính Ngoài ra kỹ thuật nhận d¿ng dựa vào kỹ thuật m¿ng n¡-ron đang đ°ÿc áp dāng và cho k¿t quÁ khÁ quan [2]

K¿t luÁn ch¤¢ng:

Ch°¡ng 1 tác giÁ giới thiáu vÁ cÃu t¿o, phân lo¿i, āng dāng cÿa bÁn m¿ch in (PCB) và mát sá linh kián đián tā c¡ bÁn Tổng quan vÁ ngành khoa hãc thá giác máy tính, trí tuá nhân t¿o (AI) và lách sā phát triển AI, các đánh nghĩa và các b°ớc

ti¿n hành c¡ bÁn trong quá trình xā lý Ánh

Trang 23

CH£¡NG 2 TỔNG QUAN VÀ CÁC THUÀT TOÁN Sþ DĀNG TRONG LUÀN VN

2.1 ThuÁt toán trích chãn đặc tr¤ng bÃt bi¿n SIFT

Điểm đặc tr°ng trong Ánh là mát điểm Ánh có chāa nhiÁu thông tin h¡n các điểm Ánh lân cận Biểu dißn Ánh theo điểm đặc tr°ng sẽ cô đãng h¡n, giÁm đ°ÿc không gian tìm ki¿m trong các bài toán āng dāng

Thuật toán trích chãn đặc tr°ng SIFT (Scale-Invariant Feature Transform) đ°ÿc David G Lowe đÁ xuÃt năm 2004 trong bài báo <Distinctive Image Features from Scale-Invariant Keypoints= [6] Đây là mát trong những kĩ thuật trích chãn đặc tr°ng Ánh hiáu quÁ nhÃt hián nay sā dāng trong thá giác máy và xā lý hình Ánh đ°ÿc dùng để nhận d¿ng đái t°ÿng, khớp hình Ánh, hay áp dāng cho các bài toán phân lo¿i& Thuật toán SIFT cho phép tìm ra các điểm đặc tr°ng bÃt bi¿n ngay cÁ khi xoay Ánh, co giãn Ánh, thay đổi góc nhìn, Ánh nhißu và c°ờng đá sáng cÿa Ánh bá thay đổi Thuật toán SIFT gồm 4 b°ớc chính sau đây:

- Phát hián điểm cực trá (Scale space)

Đầu tiên ti¿n hành tìm ki¿m các điểm hÃp dẫn trên tÃt cÁ các tß lá và vá trí cÿa Ánh Các điểm hÃp dẫn này t°¡ng thích với các cực trá đáa ph°¡ng ở các tß lá khác nhau cÿa bá lãc difference of Gaussian (DoG) Không gian tß lá cÿa mát hình Ánh là hàm L(x,y,k ) đ°ÿc mô tÁ nh° sau:

L(x,y,k ) = G(x,y,k ) * I(x,y) (2.1) Với G(x,y,k ) là bi¿n tß lá Gaussian (variable scale Gaussian), I(x,y) là Ánh đầu vào, * là phép nhân chập, và

( ) ( ) ⁄ (2.2) Các điểm hÃp dẫn đ°ÿc xác đánh là các cực đ¿i hoặc cực tiểu cÿa các Ánh DoG qua các tß lá thể hián nh° trên Hình 2.1 "Difference of Gaussians" (sự khác biát cÿa các đ°ờng Gauss) ho¿t đáng bằng cách thực hián hai phép làm mờ Gauss trên Ánh Với mßi lánh mát bán kính làm mờ khác nhau và trÿ chúng cho nhau để t¿o ra k¿t quÁ nh° Hình 2.2

Trang 24

Hình 2 1: Tính toán DOG[6]

Hình 2 1: Tìm điểm cực trị trong các hàm sai khác DOG[6]

Mßi điểm Ánh trong DoG đ°ÿc so sánh với các điểm Ánh lân cận xung quanh nó gồm 8 điểm Ánh láng giÁng cÿa nó ở cùng tß lá và 9 điểm Ánh láng giÁng ở các tß lá ngay tr°ớc và sau nó N¿u điểm Ánh đó đ¿t giá trá cực tiểu hoặc cực đ¿i thì sẽ đ°ÿc chãn làm các điểm hÃp dẫn

Trang 25

D(x,y, )

( ) (2.3)

 (2.4) Các điểm t°¡ng phÁn thÃp sẽ bá lo¿i bß n¿u D( )<0.03

Mát sá điểm hÃp dẫn dãc theo các c¿nh không giữ đ°ÿc tính ổn đánh khi Ánh bá nhißu và xoay Ánh cũng bá lo¿i bß

Áp dāng ma trận Hessian cÃp 2 ta có: [

] (2.5) với He là ma trận Hessian, Dxxlà đ¿o hàm bậc 2 theo x và Dxylà đ¿o hàm bậc 2 theo x và y và Dyy là đ¿o hàm bậc 2 theo y

- Xác đánh h°ớng cho các điểm đặc tr°ng

Xác đánh h°ớng cho các điểm đặc tr°ng bằng cách tính toán biểu đồ h°ớng Gradient trong vùng lân cận cÿa điểm hÃp dẫn Đá lớn và h°ớng cÿa các điểm hÃp dẫn đ°ÿc xác đánh theo công thāc:

( )

√( ( ) ( )) ( ( ) ( ))

(2.6)

( ) . ( ) ( ) ( ) ( )/ (2.7) Với m(x,y) là đá lớn, ( ) là H°ớng cÿa vector đánh h°ớng (biểu dißn qua góc ), L(x,y) là Ánh Guassian ở tỷ lá nhß nhÃt

Hình 2 2: Biểu diễn vector đặc trưng[6]

- Mô tÁ các điểm đặc tr°ng

Các phép xā lý ở các b°ớc trên đây đã thực hián dò tìm và gán tãa đá, kích th°ớc, và h°ớng cho mßi điểm nổi bật Hình 2.2 mô tÁ quá trình tổng hÿp các

Trang 26

vector đánh h°ớng trong khu vực với đá dài t°¡ng đ°¡ng đá lớn gradient trung bình, chúng ta t¿o ra mÁng chāa gradient tổng hÿp đó nh° sau:

Sá chiÁu = 8 chiÁu × (4× 4) = 128

(a)

(b)

Hình 2 3: Kết quÁ tìm kiếm đặc trưng SIFT (a), matching keypoints (b)

Homography là mát đánh nghĩa cÿa toán hãc Đó là sự dách chuyển sā dāng phép chi¿u hình hãc, hay nói cách khác nó là sự k¿t hÿp cÿa cặp điểm trong phép chi¿u phái cÁnh Ành thực trong không gian ba chiÁu có thể bi¿n đổi vÁ không gian Ánh bằng phép chi¿u thông qua ma trận bi¿n đổi Homography H Các phép chi¿u bi¿n đổi thông qua ma trận Homography không đÁm bÁo vÁ kích th°ớc và góc cÿa vật đ°ÿc chi¿u, nh°ng bÁo đÁm vÁ tß lá:

[ ] (2.7)

Với là phép chi¿u cÿa X theo ma trận homography H

Để tính ma trận Homography [8] tÿ các cặp điểm t°¡ng āng, ng°ời ta dùng ph°¡ng pháp DLT (Direct Linear Transform), gồm có 2 b°ớc: Đầu tiên, tÿ các

cặp điểm t°¡ng āng, ta chuyển vÁ d¿ng ma trận Aih = 0 Sau đó, áp dāng phân rã (Singular Value Decomposition- SVD) [9] để tính ma trận H công thāc 2.7 có thể đ°ÿc vi¿t l¿i nh° sau:

Trang 27

[ ] [ ] [ ] (2.8)

Trong công thāc 2.8 ần l°ÿt chia dòng thā nhÃt và thā hai cho dòng thā ba ta có: ( ) (2.9) ( ) (2.10) Vi¿t l¿i d°ới d¿ng ma trận:

[ ] ( ) (2.11)

Áp dāng công thāc SVD cho ma trận A ta có:

∑ ∑ (2.12)

Với silà các giá trá đ¡n và đ°ÿc sắp x¿p nhß dần, nên s9 là giá trá nhß nhÃt

Khi đó, giá trá cÿa hibằng giá trá cuái cùng cÿa cát vi

Thuật toán RANSAC [7] (Random SAmple Consensus) có nghĩa là <đồng thuận mẫu ngẫu nhiên=, đây là mát trong những ph°¡ng pháp phổ bi¿n nhÃt để tìm ma trận c¡ bÁn Ý t°ởng cÿa thuật toán là: Tÿ tập dữ liáu đầu vào có hai lo¿i dữ liáu là <inlier= là các dữ liáu không phÁi nhißu và <outlier= là các dữ liáu nhißu, ta ti¿n hành tính toán và tìm ra mô hình tát nhÃt cho tập dữ liáu Viác tính toán và chãn ra mô hình tát nhÃt sẽ đ°ÿc lặp đi lặp l¿i k lần, với giá trá k đ°ÿc chãn đÿ lớn để đÁm bÁo rằng xác suÃt p (th°ờng đ°ÿc chãn là 0,99) cÿa tập dữ liáu mẫu ngẫu nhiên không chāa <outlier=

Thuật toán: Lặp l¿i k lần:

- Chãn 4 cặp điểm t°¡ng đồng ngẫu nhiên - Tính ma trận Homography Htmp tÿ 4 điểm trên

- Tính khoÁng cách d cÿa tập các cặp điểm t°¡ng đồng

( ⃗⃗⃗ ⃗⃗⃗⃗ ) ( ⃗⃗⃗⃗ ⃗⃗⃗ ) (2.13) - Tính sá l°ÿng m các cặp điểm thuác inlier thßa mã điÁu kián di< ng°ỡng - N¿u m > maxinlier thì maxinlier = m và ma trận Homograph H = Htmp

Trong đó ( ( )) (2.14)

w là tß sá giữa inlier trên tổng sá điểm

Trang 28

2.3 ThuÁt toán contour

Contour là mát trong những kĩ thuật tiÁn xā lý Ánh đ°ÿc thực hián trên Ánh sá nhằm tách riêng các thông tin vÁ hình d¿ng chung cÿa Ánh Contour sau khi đ°ÿc tách sẽ t¿o điÁu kián để các xā lý sau đ°ÿc chính xác h¡n Kĩ thuật contour rÃt hữu ích trong các bài toán phân tích hình d¿ng, nhận dián đái t°ÿng&

Mát sá khái niám trong thuật toán contour:

• Neighbor (láng giÁng) : 2 điểm Ánh đ°ÿc gãi là láng giÁng n¿u 2 điểm Ánh đó chung mát c¿nh

• Thành phần connected: GiÁ sā trong Ánh nhá phân, các điểm Ánh thuác mát đái t°ÿng có giá trá 1 còn các điểm Ánh thuác nÁn thì có giá trá 0 Lúc này n¿u giữa 2 điểm Ánh bÃt kì thuác đái t°ÿng, chußi các điểm Ánh thßa mãn: TÃt cÁ đÁu thuác đái t°ÿng, tāc là các điểm Ánh này có giá trá bằng 1 và mßi điểm Ánh thuác chußi đÁu là láng giÁng với điểm Ánh tr°ớc và k¿ ti¿p trong chußi thì chußi điểm Ánh đó đ°ÿc gãi là mát thành phần connected

• 4-connected (4-k¿t nái) : Các điểm Ánh 4 k¿t nái là hàng xóm cÿa mãi điểm Ánh ch¿m vào mát trong các c¿nh cÿa chúng Các điểm Ánh này đ°ÿc k¿t nái theo chiÁu ngang và chiÁu dãc VÁ tãa đá điểm Ánh, mãi điểm Ánh có tãa đá ( ) hoặc ( ) đ°ÿc k¿t nái với P( ) hình 2.4(a)

• 8-connected (8-k¿t nái): Các điểm Ánh 8 k¿t nái là hàng xóm cÿa mãi điểm Ánh ch¿m vào mát trong các c¿nh hoặc góc cÿa chúng Các điểm Ánh này đ°ÿc k¿t nái theo chiÁu ngang, chiÁu dãc và đ°ờng chéo Ngoài 4 -connected điểm Ánh, mßi điểm Ánh có tãa đá ( ) đ°ÿc k¿t nái với điểm Ánh P( ) hình 2.4(b)

Hình 2 4: a) 4-connected, b)8-connected

Có 4 ph°¡ng pháp thông dāng nhÃt đ°ÿc sā dāng trong contour tracing là: Square Tracing Algorithm, Moore – Neighbor Tracing, Radial Sweep, Theo Pavlidis’ Algorithm Trong sá đó, Square Tracing Algorithm và Moore – Neighbor Tracing dß triển khai nên đ°ÿc sā dāng phổ bi¿n h¡n cÁ

Trang 29

2.3.1 Ph¤¢ng pháp Square Tracing

Ph°¡ng pháp này sẽ duyát tÿ điểm Ánh ngoài cùng bên trái phía d°ới, đi lên cho tới khi gặp điểm Ánh có giá trá bằng 1, điểm Ánh này sẽ đ°ÿc gãi là điểm Ánh bắt đầu, thì bắt đầu di chuyển theo quy tắc sau:

- N¿u gặp Điểm Ánh có giá trá bằng 1 thì rẽ trái - N¿u gặp Điểm Ánh có giá trá bằng 0 thì rẽ phÁi

ĐiÁu kián dÿng cÿa ph°¡ng pháp Square Tracing khi thßa mãn mát trong hai điÁu kián sau: Di chuyển vào điểm Ánh bát đầu lần thā 2 sau khi đi qua n điểm Ánh khác hoặc di chuyển vào điểm Ánh bắt đầu lần thā 2 sau khi đi qua n điểm Ánh khác và theo đúng h°ớng đi vào điểm Ánh bắt đầu lần đầu tiên, điÁu kián này còn đ°ÿc gãi là tiêu chí dÿng Jacob [21]

Ph°¡ng pháp Moore – Neighbor tracking [21] có chút khác biát só với thuật toán Square Tracking, cā thể khi gặp điểm Ánh có giá trá bằng 1 đầu tiên (điểm Ánh start) thì ta sẽ quay l¿i điểm Ánh tr°ớc đó, sau đó đi vòng qua các điểm Ánh thuác 8-connected theo chiÁu kim đồng hồ cho tới khi gặp điểm Ánh khác có giá trá bằng 1 hình 2.6 ĐiÁu kián dÿng cÿa ph°¡ng pháp Moore – Neighbor Tracing cũng giáng với điÁu kián dÿng cÿa ph°¡ng pháp square tracing

Hình 2 5: Mô tÁ quá trình tìm contour cÿa phương pháp Square Tracing

Trang 30

Hình 2 6: Mô tÁ quá trình tìm contour cÿa phương pháp Moore – Neighbor Tracing

2.3.3 Ph¤¢ng pháp Radial Sweep

Ph°¡ng pháp Radial Sweep [21] Cũng giáng với Moore – Neighbor Tracking, sau khi gặp điểm Ánh có giá trá bằng 1 đầu tiên (điểm Ánh start), ta sẽ quay l¿i điểm Ánh tr°ớc đó và đi vòng theo chiÁu kim đồng hồ cho tới khi gặp điểm Ánh có giá trá bằng 1 ti¿p theo, lúc này Radial Sweep sẽ không thực hián nh° Moore-Neighbor Tracking, mà thay vào đó, nó t¿o ra mát đo¿n thẳng Áo nái điểm Ánh hián t¿i với điểm Ánh có giá trá bằng 1 đã đi qua gần nhÃt Và đo¿n thẳng này đ°ÿc xoay cho tới khi gặp mát điểm Ánh khác có giá trá bằng 1 Xem hình 2.7 để hiểu rõ h¡n vÁ thuật toán ĐiÁu kián dÿng cÿa ph°¡ng pháp này giáng với điÁu kián dÿng cÿa ph°¡ng pháp square tracing

Trang 31

Hình 2 7: Mô tÁ quá trình tìm contour phương pháp Radial Sweep

2.3.4 Ph¤¢ng pháp Pavlidis

Ph°¡ng pháp Pavlidis [21] t¿i điểm Ánh bắt đầu 3 điểm P1, P2, P3 đ°ÿc đánh nghĩa nh° hình 2.8(a) Lúc này viác lựa chãn P1, P2, hay P3 làm điểm đ¿n ti¿p theo đ°ÿc xét theo các điÁu kián sau:

- N¿u P1 có giá trá bằng 1 thì P1 đ°ÿc chãn là điểm k¿ ti¿p, quá trình di chuyển đ°ÿc mô tÁ nh° hình 2.8(b)

- N¿u P1 có giá trá bằng 0, thì P2 đ°ÿc xét, n¿u P2 có giá trá bằng 1 thì P2 đ°ÿc chãn và quá trình di chuyển đ°ÿc mô tÁ nh° hình 2.8(c)

- N¿u P1, P2 đÁu có giá trá bằng 0 thì P3 đ°ÿc xét, n¿u P3 có giá trá bằng 1 thì P3 đ°ÿc chãn và quá trình di chuyển đ°ÿc mô ta nh° hình 2.8(d)

- N¿u cÁ P1, P2 và P3 đÁu không thßa mãn thì ta sẽ quay 90o theo chiÁu kim đồng hồ để đ°ÿc 3 vá trí P1, P2 và P3 mới và xét l¿i tÿ đầu

ĐiÁu kián dÿng cÿa ph°¡ng pháp Pavlidis là thßa mãn mát trong hai điÁu kián sau di chuyển tới điểm Ánh bắt đầu lần thā 2 hoặc khi chuyển h°ớng 3 lần mà vẫn không tìm đ°ÿc điểm Ánh thßa mãn

Trang 32

Hình 2 8: Mô tÁ quá trình tìm contour phương pháp Pavlidis

2.4 ThuÁt toán so sánh m¿u

Thuật toán so sánh mẫu (Template matching) [10] là mát trong những kĩ thuật xā lý Ánh kĩ thuật sá cho phép chúng ta dß dàng phát hián ra vật thể trong Ánh đầu và nhờ vào mát Ánh mẫu tham chi¿u (template) chāa vật cần phát hián Template matching đ°ÿc sā dāng khá nhiÁu trong các dây truyÁn sÁn xuÃt nh° là mát phần cÿa công đo¿n kiểm tra chÃt l°ÿng, nhãn mác sÁn phẩm, nhận d¿ng đái t°ÿng, mát cách để điÁu h°ớng cho robot di chuyển hay nhận d¿ng các c¿nh trong hình Ánh

Thuật toán so sánh mẫu đ¡n giÁn chß là cho các hình Ánh mẫu (template) tr°ÿt trên hình Ánh đầu vào (nh° trong 2D convolution) và so sánh các mẫu và bÁn vá cÿa hình Ánh đầu vào d°ới hình Ánh mẫu Nó trÁ vÁ mát hình Ánh thang đá xám, trong đó mßi điểm Ánh biểu thá vùng lân cận cÿa điểm Ánh đó khớp với mẫu bao nhiêu

Để xác đánh khu vực Ánh mẫu có nằm trong Ánh đầu vào hay không, template matching phÁi so sánh hình Ánh mẫu với hình Ánh đầu vào bằng cách tr°ÿt Ánh mẫu trên Ánh đầu vào Bằng cách tr°ÿt, nghĩa là di chuyển Ánh mẫu dách tÿng điểm Ánh mßi lần theo trình tự trái sang phÁi, tÿ trên xuáng d°ới cÿa toàn bá bāc

Trang 33

Ánh đầu vào hình 2.9 T¿i mßi vá trí mà Ánh mẫu tr°ÿt qua, mát k¿t quÁ đ°ÿc tính toán để nó thể hián māc đá "tát" hoặc "xÃu" cÿa viác so khớp mẫu t¿i vá trí đó (hoặc māc đá t°¡ng tự cÿa Ánh mẫu với khu vực cā thể cÿa hình Ánh nguồn đầu vào)

Hình 2 9: Mô tÁ ho¿t động cÿa thuật toán so sánh mẫu

D°ới đây là mát sá ph°¡ng pháp so sánh mẫu đ°ÿc tích hÿp sẵn trong th° vián xā lý Ánh OpenCV, trong đó I là Ánh đầu vào T là Ánh mẫu (template) và R là k¿t quÁ thể hián đá t°¡ng đồng cÿa Ánh mẫu trong Ánh đầu vào

D°ới đây là 6 ph°¡ng pháp:  CV_TM_SQDIFF:

( ) ∑ ( ( ) ( )) (2.15)  CV_TM_SQDIFF_NORMED:

( ) ∑ ( ( ) ( ))

√∑ ( ) ∑ ( ) (2.16)  CV_TM_CCORR:

( ) ∑ ( ( ) ( )) (2.17)  CV_TM_CCORR_NORMED:

( ) ∑ ( ( ) ( ))

 CV_TM_CCOEFF:

Trang 34

( ) ∑ ( ( ) ( )) (2.19) ( ) ( ) ∑ ( ) (2.20) ( ) ( ) ∑ ( ) (2.21)

 CV_TM_CCOEFF_NORMED:

( ) ∑ ( ( ) ( ))

Thực nghiám ch°¡ng trình với 6 ph°¡ng pháp trên ta đ°ÿc k¿t quÁ:

Hình 2 10: Ành mẫu (template) và Ánh đầu vào

(a) Ph°¡ng pháp CV_TM_SQDIFF

Ngày đăng: 08/05/2024, 08:38

Tài liệu cùng người dùng

Tài liệu liên quan