Gi i thi uv YOLO [13]

Một phần của tài liệu Thiết kế và xây dựng hệ thống đếm bao tự động với kích thước bao khác nhau dùng công nghệ xử lý ảnh (Trang 44)

Yêu c u c a bài toán là phát hi n và phân lo i đ i t ng v i th i gian th c (realtime) trên các thi t b y u và trung bình.

LU N V N TH C S

31 Object Detection là m t bài toán quan tr ng trong l nh v c Computer Vision, thu t toán Object Detection đ c chia thành 2 nhóm chính:

 H các mô hình RCNN (Region-Based Convolutional Neural Networks) đ gi i quy t các bài toán v đ nh v và nh n di n v t th .

 H các mô hình v YOLO (You Only Look Once) dùng đ nh n d ng đ i t ng đ c thi t k đ nh n di n các v t th real-time.

Yolo là m t mô hình m ng th n kinh tích ch p (CNN) cho vi c phát hi n, nh n d ng, phân lo i đ i t ng. Yolo đ c t o ra t vi c k t h p gi a các convolutional layers và connected layers. Trong đóp các convolutional layers s trích xu t ra các feature c a nh, còn full-connected layers s d đoán ra xác su t đó và t a đ c a đ i t ng.

X lý d li u

 T o bounding box bao quanh đ i t ng và l u d li u d i d ng text và thông tin m i object đ c l u vào m t dòng và đ c chu n hóa v [0, 1] so v i tâm c a bounding box d i d ng: <object-class> <xcenter> <ycenter> <width> <height> Trong đó: <object-class> là s th t c a class xu t phát t 0 đ n (s _class-1)

<xcenter> = , <ycenter> = < width > = , < height > =

V i <xcenter> , <ycenter> là tâm c a bounding box và n m trong kho ng [0, 1]. < width >,< height > là chi u r ng, chi u cao bounding box và n m trong kho ng [0, 1].

LU N V N TH C S

32

Hình 2. 27: T o bounding quanh đ i t ng

Hình 2. 28: Kích th c bounding đ i t ng

LU N V N TH C S

33  Khi d li u đ c chu n hóa v d ng này thì bounding box s không thay đ i

khi nh b resize đ đ a vào mô hình tính toán. Cách th c ho t đ ng c a YOLO

 u vào c a mô hình là m t nh, mô hình s nh n d ng nh đó có đ i t ng nào hay không, sau đó s xác đ nh t a đ c a đ i t ng trong b c nh. nh đ u vào đ c chia thành thành S×S ô vuông th ng thì s là 3×3, 7×7, 9×9... vi c chia ô này có nh h ng t i vi c mô hình phát hi n đ i t ng. Kích th c c a nh đ u vào ph i là b i s c a grid size.

 Tâm c a đ i t ng c n xác đ nh n m trong ô vuông nào thì ô vuông đó ch a đ i t ng đó. L u ý, cho dù ph n nh c a object có n m ô vuông khác mà tâm không thu c ô vuông đó thì v n không tính là ch a object. Ngoài ra, n u có nhi u tâm n m trong m t ô vuông thì chúng ta v n ch gán m t nhãn cho ô vuông đó thôi. Chính ràng bu c m i ô vuông ch ch a m t đ i t ng là nh c đi m c a mô hình này.

 M i ô vuông ch u trách nhi m d đoán 2 boundary box c a đ i t ng. M i boundary box d đoán có ch a object hay không và thông tin v trí c a boundary box g m trung tâm boundary box c a đ i t ng và chi u dài, r ng c a boundary box đó.

LU N V N TH C S

34  V i Input là 1 nh, đ u ra mô hình là m t ma tr n 3 chi u có kích th c:

SxSx(5* N+ M).  Trong đó:

SxS là s ô vuông chia nh đ u vào.

5*N là d đoán m i bounding box g m 5 thành ph n : (x, y, w, h, prediction) v i (x, y ) là t a đ tâm c a bounding box, (w, h) l n l t là chi u r ng và chi u cao c a bounding box.

M là s class.

 Prediction đ c đ nh ngh a truth)Pr(Object) IOU(pred,truth), (x, y, w, h) đã đ c chu n hóa trong kho ng [0, 1].

Mô hình và ki n trúc m ng th n kinh tích ch p (CNN) c b n Name Filters Output Dimension Conv 1 7 x 7 x 64, stride=2 224 x 224 x 64 Max Pool 1 2 x 2, stride=2 112 x 112 x 64

Conv 2 3 x 3 x 192 112 x 112 x 192

Max Pool 2 2 x 2, stride=2 56 x 56 x 192

Conv 3 1 x 1 x 128 56 x 56 x 128

Conv 4 3 x 3 x 256 56 x 56 x 256

Conv 5 1 x 1 x 256 56 x 56 x 256

Conv 6 1 x 1 x 512 56 x 56 x 512

Max Pool 3 2 x 2, stride=2 28 x 28 x 512

Conv 7 1 x 1 x 256 28 x 28 x 256 Conv 8 3 x 3 x 512 28 x 28 x 512 Conv 9 1 x 1 x 256 28 x 28 x 256 Conv 10 3 x 3 x 512 28 x 28 x 512 Conv 11 1 x 1 x 256 28 x 28 x 256 Conv 12 3 x 3 x 512 28 x 28 x 512

LU N V N TH C S

35 Name Filters Output Dimension

Conv 13 1 x 1 x 256 28x 28 x 256

Conv 14 3 x 3 x 512 28 x 28 x 512

Conv 15 1 x 1 x 512 28 x 28 x 512

Conv 16 3 x 3 x 1024 28 x 28 x 1024

Max Pool 4 2 x 2, stride=2 14 x 14 x 1024

Conv 17 1 x 1 x 512 14 x 14 x 512 Conv 18 3 x 3 x 1024 14 x 14 x 1024 Conv 19 1 x 1 x 512 14 x 14 x 512 Conv 20 3 x 3 x 1024 14 x 14 x 1024 Conv 21 3 x 3 x 1024 14 x 14 x 1024 Conv 22 3 x 3 x 1024, stride=2 7 x 7 x 1024 Conv 23 3 x 3 x 1024 7 x 7 x 1024 Conv 27 3 x 3 x 1024 7 x 7 x 1024 FC 1 - 4096 FC 2 - 7 x 7 x 30 (1470) Hình 2. 30: Minh h a phát hi n v t th b ng ph ng pháp YOLO [13]

LU N V N TH C S

36

Hình 2. 31: Ki n trúc CNN trong x lý nh

Hàm tính IOU

 Nh đã đ c p trên, prediction đ c đ nh ngh a b ng Pr(Object) IOU(pred,truth). IOU (INTERSECTION OVER UNION) là hàm đánh giá đ chính xác c a object detector trên t p d li u c th . IOU đ c tính b ng:

 Trong đó Area of Overlap là di n tích ph n giao nhau gi a predicted bounding box v i grouth-truth bouding box, còn Area of Union là di n tích ph n h p gi a predicted bounding box v i grouth-truth bounding box. Nh ng bounding box đ c đánh nhãn b ng tay trong t p traing set và test set. N u IOU > 0.5 thì prediction đ c đánh giá là t t.

LU N V N TH C S

37 Hàm l i trong YOLO

 Hàm l i trong YOLO đ c tính trên vi c d đoán và nhãn mô hình đ tính. C th h n nó là t ng đ l i c a 3 thành ph n con sau:

l i c a vi c d đoán lo i nhãn c a object - Classifycation loss

l i c a d đoán t a đ tâm, chi u dài, r ng c a boundary box (x, y ,w, h) - Localization loss

l i c a vi c d đoán bounding box đó ch a object so v i nhãn th c t t i ô vuông đó - Confidence los

l i (Classifycation loss)

Classifycation loss - đ l i c a vi c d đoán lo i nhãn c a object, hàm l i này ch tính trên nh ng ô vuông có xu t hi n object, còn nh ng ô vuông khác ta không quan tâm. Classifycation loss đ c tính b ng công th c sau:

 Trong đó:

: B ng 1 n u ô vuông đang xét có objectL ng c l i b ng 0.

Pi(c): Là xác su t có đi u c a l p c t i ô vuông t ng ng mà mô hình d đoán. V trí l i (Localization loss)

 Localization loss là hàm l i dùng đ tính giá tr l i cho boundary box đ c d đoán bao g m t a đ tâm, chi u r ng, chi u cao c a so v i v trí th c t t d li u hu n luy n c a mô hình.

 

LU N V N TH C S

38  Giá tr hàm Localization loss đ c tính trên t ng giá tr l i d đoán to đ tâm (x, y) và (w, h) c a predicted bounding box v i grouth-truth bounding box. T i m i ô có ch a object, ta ch n 1 boundary box có IOU (Intersect over union) t t nh t, r i sau đó tính đ l i theo các boundary box này.

 Giá tr hàm l i d đoán t a đ tâm (x, y) c a predicted bounding box và (x, ) là t a đ tâm c a truth bounding box đ c tính nh sau:

 Giá tr hàm l i d đoán (w, h) c a predicted bounding box so v i truth bounding box đ c tính nh sau:

l i d đoán (Confidence loss)

 Confidence loss là đ l i gi a d đoán boundary box đó ch a object so v i nhãn th c t t i ô vuông đó. l i này tính trên c nh ng ô vuông ch a object và không ch a object.

T ng l i (Total loss): Ltotal = L classifycation + L localization + L confidence

2.2 NGÔN NG L P TRÌNH PYTHON

2.2.1 Các khái ni m c b n và cài đ t Python

LU N V N TH C S

39 Python là m t ngôn ng l p trình b c cao cho các m c đích l p trình đa n ng, do Guido Van Rossum t o ra và l n đ u ra m t vào n m 1991. Python đ c thi t k v i u đi m m nh là d đ c, d h c và d nh .

Python là ngôn ng có hình th c r t sáng s a, c u trúc rõ ràng, thu n ti n cho ng i m i h c l p trình và là ngôn ng l p trình d h c; đ c dùng r ng rãi trong phát tri n trí tu nhân t o. C u trúc c a Python còn cho phép ng i s d ng vi t mã l nh v i s l n gõ phím t i thi u.

Ban đ u, Python đ c phát tri n đ ch y trên n n Unix. Theo th i gian, Python d n m r ng sang m i h đi u hành t MS-DOS đ n Mac OS, OS/2, Windows, Linux và các h đi u hành khác thu c h Unix. M c dù s phát tri n c a Python có s đóng góp c a r t nhi u cá nhân, nh ng Guido van Rossum hi n nay v n là tác gi ch y u c a Python. Ông gi vai trò ch ch t trong vi c quy t đ nh h ng phát tri n c a Python

Python luôn đ c x p h ng vào nh ng ngôn ng l p trình ph bi n nh t hi n nay.

LU N V N TH C S

40 L ch s phát tri n c a l p trình giao di n Python [17]:

S phát tri n c a ngôn ng l p trình Python phát tri n theo các giai đo n sau:

 Giai đo n 1: Là các b n phát hành python 1x. Giai đo n này b t đ u t n m

1990 cho đ n 2000. N m 1990 đ n 1995, Guido van Rossum làm vi c t i CWI trung tâm toán tin t i Amsterdam, Hà Lan. Do v y phiên b n Python đ u tiên do trung tâm toán tin phát hành. Phiên b n cu i cùng t i CWI là python đ i 1.2. N m 1995, ông chuy n sang CNRI Reston, Virginia. Ông đã nâng c p đ n Python 1.6 – đây c ng là b n cu i cùng c a ông t i CNRI.Sau đó ông r i CNRI và làm vi c v i các l p trình viên t do chuyên vi t ph n m m th ng m i. Lúc đó ông n y sinh ý t ng k t h p gi a Python v i các ph n m m tuân theo GPL. Và chính CNRI và FSF h p tác đ làm b n quy n này c a ông. C ng trong n m này, ông đ c gi i th ng vì s phát tri n ph n m m t do c a FSF trao t ng. M t th i gian sau phiên b n 16.1 ra đ i tuân theo b n quy n GPL.

 Giai đo n 2: N m 2000, Guido van Rossum cùng nhóm phát tri n d i đ n

BeOpen.com đ thành l p team phát tri n Python. Và phiên b n 2.0 đ c phát tri n t i đây. Sau đó Guido và các thành viên tham gia vào Digital Creations. Sau đó phiên b n 2.1 ra đ i d a trên Python 1.6.1 và phiên b n 2.0. T th i đi m này Python thu c s h u c a PSF- đây là m t t ch c phi l i nhu n.

 Giai đo n 3: Phiên b n 3x không t ng thích hoàn toàn v i 2x nh ng l i có

công c h tr chuy n đ i t phiên b n này sang phiên b n kia. Nguyên t c ch đ o trong vi c phát tri n Python phiên b n 3x chính là h n ch s trùng l p v ch c n ng c a Python. phiên b n 3x có nh ng thay đ i trong cú pháp và b sung thêm m t s cú pháp m i.

ng d ng c a ngôn ng l p trình Python [18]:  Làm trang Web v i Framework c a Python  Python dùng đ t o nguyên m u ph n m m

LU N V N TH C S

41  ng d ng trong khoa h c và tính toán

 Vi t tool đ t đ ng hóa công vi c  Khoa h c máy tính  L nh v c IoT – Internet V n V t  Làm d án Blockchain v i Python  Làm game v i PyGame  Machine Learning  Là ngôn ng đ c s d ng cho m c đích gi ng d y Cài đ t ph n m m Python trên n n t ng Window:

 B c 1: T i ph n m m

+ T i Python t i trang ch : https://www.python.org/downloads/. + Ch n phiên b n c a ph n m m sau đó ti n hành download.

Hình 2. 33: Giao di n download Python t i trang ch

 B c 2: Cài đ t

+ Nh p đúp vào file v a t i v đ cài đ t. T i đây có 2 tùy ch n, b n ch n m t cái đ cài.

LU N V N TH C S

42

+ Install Now: M c đ nh cài Python vào C, cài s n IDLE (cung c p giao

di n đ h a đ làm vi c v i Python), pip và tài li u, t o shortcut,...

+ Customize installation: Cho phép b n ch n v trí cài và tính n ng c n thi t.

Hình 2. 34: Giao di n cài đ t Python

 B c 3: Hoàn t t cài đ t

+ Sau khi cài đ t xong, giao di n thông báo đã hoàn t t cài đ t. Nh n Close đ k t thúc quá trình cài đ t

LU N V N TH C S

43

2.3 CAMERA S D NG TRONG CÔNG NGHI P

2.3.1 Khái ni m camera công nghi p

Camera công nghi p là lo i camera đ c bi t đ c s n xu t đ làm vi c trong các đi u ki n kh c nghi t (nhi t đ cao, áp su t cao, rung đ ng …). Chúng đ c s d ng đ đ m s n ph m, ki m soát ch t l ng trong s n xu t, theo dõi các s n ph m trên b ng t i, phát hi n các l i siêu nh …

Camera công nghi p có nh ng y u t khác bi t v i các lo i camera thông th ng: tin c y (Reliability), đ chính xác (Accuracy) và nguyên t c ho t đ ng

(Operating Principle) [19]

tin c y: i v i camera công nghi p, vi c camera b h h ng có th làm gián đo n quá trình s n xu t gây thi t h i, t n th t l n đ i v i doanh nghi p. ôi khi giá tr t n th t l n g p nhi u l n giá tr camera. Vì v y camera công nghi p c n ph i có đ tin c y cao, đây là tiêu chí tiên quy t đ i v i camera công nghi p. Ngoài ra đ đ t đ c đ tin c y cao, các lo i camera c n có gi i h n ch u đ ng các y u t môi tr ng t t h n so v i camera th ng (d i nhi t đ làm vi c cao h n, ch u đ c áp l c cao, ch ng n c, ch ng b i …)

LU N V N TH C S

44

 chính xác: Các s n ph m ng d ng camera r t đa d ng, t nh ng chi ti t

nh (linh ki n đi n t , IC …) đ n các s n ph m có kích th c l n (thùng, bao …) v i t c đ s n xu t hàng lo t. Do v y camera công nghi p c n có đ chính xác cao đ đ m b o không có s nh m l n gây thi t h i cho doanh nghi p

Hình 2. 37: M t b c nh siêu nét ch p b ng camera VN-200MX[21]

 Nguyên t c ho t đ ng: Nhi m v c a camera công nghi p khác bi t đáng

k so v i các camera thông th ng. Do đó, thi t k c a chúng c ng thay đ i. Camera công nghi p đ c thi t k đ l p ng kính, nhi u b l c b sung, tích h p ph n m m đ c bi t. Các camera công nghi p không bao g m các b ph n thông th ng nh đèn flash, kính ng m ho c nút ch p. Ngoài ra, các camera công nghi p c n tích h p nh ng chu n giao ti p ph n bi n trong công nghi p đ d dàng k t n i v i các thi t b ngo i vi khác.

LU N V N TH C S

45

Hình 2. 38: Camera công nghi p s d ng chu n k t n i Ethernet [22]

2.3.2 Các thông s c n bi t c a camera

C m bi n hình nh: M t c m bi n hình nh bao g m b ng m ch nh g m các photodiode r t nh y c m v i ánh sáng, chúng chuy n đ i t tín hi u quang thành tín

Một phần của tài liệu Thiết kế và xây dựng hệ thống đếm bao tự động với kích thước bao khác nhau dùng công nghệ xử lý ảnh (Trang 44)

Tải bản đầy đủ (PDF)

(108 trang)