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