Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh (LV thạc sĩ)
HC VIN CễNG NGH BU CHNH VIN THễNG - HONG VN HON NG DNG MNG NRON XON CHO VIC NHN DNG NH LUN VN THC S K THUT (Theo nh hng ng dng) H NI 2017 HC VIN CễNG NGH BU CHNH VIN THễNG - HONG VN HON NG DNG MNG NRON XON CHO VIC NHN DNG NH Chuyờn ngnh: Khoa hc mỏy tớnh Mó s: 60.48.01.01 LUN VN THC S K THUT (Theo nh hng ng dng) NGI HNG DN KHOA HC: TS NGUYN TH THU PHNG H NI - 2017 i LI CAM OAN Tụi cam oan õy l cụng trỡnh nghiờn cu ca riờng tụi Cỏc s liu, kt qu nờu lun l trung thc v cha tng c cụng b bt k cụng trỡnh no khỏc Tỏc gi lun Hong Vn Hoón ii MC LC LI CAM OAN i MC LC ii DANH MC CC Kí HIU, CC CH VIT TT v DANH MC CC BNG vi DANH MC CC HèNH vii M U .1 Chng TèM HIU V DEEP LEARNING 1.1 Mng nron nhõn to 1.1.1 Gii thiu 1.1.2 Kin trỳc mng 1.1.3 Hun luyn mng 1.1.4 Gii thut Back Propagation 1.1.5 Gim li cho mng 10 1.1.5.1 Underfitting .11 1.1.5.2 Overfitting 12 1.2 Deep learning 12 1.2.1 Gii thiu v deep learning .13 1.2.2 Mt s thut toỏn deep learning .13 1.2.2.1 Recurrent Neural Network (RNN - Mng nron tỏi phỏt) 13 1.2.2.2 Long short-term memory (LSTM) 14 1.2.2.3 Convolution neural network (CNN) 15 1.2.3 Mt s ng dng ca deep learning 16 1.2.3.1 H thng gi ý trờn cỏc nn tng .16 1.2.3.2 Nhn din hỡnh nh 16 1.2.3.3 Phỏt hin cỏc loi bnh him gp 17 1.2.3.4 Qung cỏo (Advertising) 17 1.2.4 Mt hn ch ca deep learning 18 1.3 Kt lun chng 19 iii Chng - Mễ HèNH CONVOLUTIONAL NEURAL NETWORK CNN 20 2.1 Gii thiu mng CNN 20 2.2 Mụ hỡnh kin trỳc mng CNN 21 2.2.1 Lp Convolutional 21 2.2.2 Lp RELU Rectified linear unit 22 2.2.3 Lp Pooling 22 2.2.4 Lp Lp FC fully connected 23 2.3 Cỏc c bn v mng CNN 24 2.3.1 Kt ni cc b 24 2.3.2 Trng s 24 2.4 Mụ hỡnh nhiu lp 25 2.5 Hun luyn mụ hỡnh 27 2.6 B lc v sp t cỏc tớnh nng (Filters And Feature Map) 29 2.7 ng dng ca mng CNN .30 2.8 Kt lun chng .30 Chng - NG DNG MNG CNN CHO VIC NHN DNG NH TRấN MOBILE 31 3.1 Tng quan v nhn dng nh 31 3.1.1 Gii thiu bi toỏn nhn dng nh 31 3.1.2 Mt s khỏi nim c bn v x lý nh 31 3.1.3 Mt s c bn x lý nh 32 3.1.3.1 Nn chnh biờn nh 32 3.1.3.2 Kh nhiu 32 3.1.3.3 Chnh mc xỏm 33 3.1.3.4 Trớch chn c im 33 3.1.3.5 Nhn dng 33 3.1.4 Quỏ trỡnh nhn dng nh 34 3.1.4.1 Thu thp d liu (Data Collection) 34 3.1.4.2 Tin x lý (Preeprocessing) .34 iv Phõn on nh (Segmentation) 34 3.1.4 Tiờu chu n h a (Normalization) 34 Trớch chn c trng (Feature Extraction) 35 Phõn lp (Classification) 35 Hu x l (Postprocessing) 35 Cỏc bc thc hin phõn lp 36 3.2 Xõy dng chng trỡnh nhn dng nh trờn Mobile 37 3.2.1 Bi toỏn nhn dng nh trờn Mobile 37 3.2.2 Cỏc bc thc hin ca bi toỏn 37 3.2.2.1 Thu thp d liu 38 3.2.2.2 Tin x lý d liu 39 3.2.2.3 Xõy dng mụ hỡnh phõn lp theo CNN 40 Demo chng trỡnh nhn dng nh trờn mobile 44 3.4.1 Quỏ trỡnh thc hin nhn dng nh trờn mobile .44 Demo chng trỡnh 46 3.3 Kt lun chng .50 KT LUN .51 DANH MC CC TI LIU THAM KHO 52 v DANH MC CC Kí HIU, CC CH VIT TT T vit tt Ngha ting anh Ngha ting vit MSE Mean squared error sai s ton phng trung bỡnh ANN Artificial Neural Network Mng nron nhõn to CNN Convolutional Neural Network Mng nron xon ML Machine Learning Hc mỏy AI Artificial intelligence Trớ tu nhõn to RRN Recurrent Neural Network Mng nron tỏi phỏt NLP Natural Language Processing X lý ngụn ng t nhiờn FC Fully Connected Lp kt ni y Conv Convolution Xon vi DANH MC CC BNG Bng 1.1: Mt s hm truyn thụng dng Bng 3.1: S lng nh hoa thu thp c .39 Bng 3.2: S lng d liu hun luyn v d liu kim tra 39 Bng 3.3: Quỏ trỡnh hun luyn mng 42 Bng 4: chớnh xỏc ca mụ hỡnh theo tensorboard 43 Bng 3.5: Giỏ tr hm loss function theo tensorboard .43 vii DANH MC CC HèNH Hỡnh 1.1: Mụ hỡnh mng nron nhõn to Hỡnh 1.2: nh mt t bo Nron nhõn to Hỡnh 1.3: Mng nron truyn thng Hỡnh 1.4: Quỏ trỡnh hc ca Supervised ANN Hỡnh 1.5: Quỏ trỡnh hc ca mng nron Hỡnh 1.6: Mụ hỡnh tớnh toỏn mt nron Hỡnh 1.7: Gim li cho mng [9] 11 Hỡnh 1.8: Underfiting [9] 11 Hỡnh 1.9: Overfitting [9] 12 Hỡnh 1.10: Mng nron tỏi phỏt [10] 14 Hỡnh 1.11: Mng nron LSTM [11] 15 Hỡnh 1.12: Mụ hỡnh CNN [12] 15 Hỡnh 1.13: H thng gi ý nn tng 16 Hỡnh 1.14: Phỏt hin cỏc bnh him gp 17 Hỡnh 1.15: Qung cỏo trc tuyn 18 Hỡnh 2.1: Convolution vi filter [12] .22 Hỡnh 2.2: Tớnh toỏn vi phng phỏp MaxPooling [12] 23 Hỡnh 2.3: Kt ni cc b [12] 24 Hỡnh 2.4: Trng s [12] 25 Hỡnh 2.5: Vớ d v nh CIFAR-10 [12] .26 Hỡnh 2.6: Kt qu sau covolution nh 32x32 vi filter 3x3 [12] .26 Hỡnh 7: Tỏc ng ca trng s n loss function [14] 28 Hỡnh 8: Bc hc (learning rate) [14] 29 Hỡnh 2.9: B lc v sp t cỏc tớnh nng [14] 29 Hỡnh 3.1: Quỏ trỡnh nhn dng nh 34 Hỡnh 3.2: Xõy dng mụ hỡnh 36 Hỡnh 3: Giai on phõn lp 36 Hỡnh 4: S nhn dng nh trờn mobile [15] .37 viii Hỡnh 5: S thc hin bi toỏn nhn dng nh 38 Hỡnh 3.6: Quỏ trỡnh trớch xut Bottleneck 40 Hỡnh 3.7: Mụ hỡnh Inception .41 Hỡnh 3.8: Hun luyn mng vi tensorflow trờn ubuntu 42 Hỡnh 3.9: Quỏ trỡnh thc hin nhn dng nh trờn mobile 44 Hỡnh 3.9: Ly nh t camera .44 Hỡnh 3.10: Ly nh l hỡnh vuụng gia camera .45 Hỡnh 11: Thay i kớch thc bc nh 45 Hỡnh 3.12: Ma trn u vo ca hỡnh nh 46 Hỡnh 13: Demo chng trỡnh trờn Android 46 Hỡnh 3.14: Nhn dng nh hoa b cụng anh .47 Hỡnh 3.15: Nhn dng nh hoa hng .47 Hỡnh 3.16: Nhn dng nh hoa cỳc di .48 Hỡnh 3.17: Nhn dng nh hoa tulips 48 Hỡnh 3.18: Nhn dng nh hoa sen 49 Hỡnh 3.19: Nhn dng nh hoa hng dng 49 39 Bng 3.1: S lng nh hoa thu thp c Stt S lng Tờn hoa Hoa sen (Lotus) 238 Hoa cỳc di (Daisy) 633 Hoa B cụng anh (Dandelion) 898 Hoa hng (Rose) 641 Hoa hng dng (Sunflowers) 699 Hoa tulips (Tulips) 799 3.2.2.2 Tin x lý d liu Tỏc gi ó la chn nhng hỡnh nh c c trng ca nhng loi hoa k trờn, t Internet liờn quan n nhón v hoa (Hoa sen - Lotus, Hoa cỳc di - Daisy, Hoa B cụng anh - Dandelion, Hoa hng - Roses, Hoa hng dng - Sunflowers, Hoa tulips - Tulips), sau gỏn nhón cho tng loi hoa Cụng vic gỏn nhón thc hin hon ton th cụng Tp d liu cho quỏ trỡnh hun luyn v kim tra gm tng cng 3908 nh 2607 nh c a vo d liu hun luyn (Training set) cũn li 1301 nh c a vo trim tra (Tets set) Bng 3.2: S lng d liu hun luyn v d liu kim tra Stt Nhón Tp hun luyn Tp kim tra Lotus 159 79 Daisy 422 211 Dandelion 599 289 Roses 428 231 Sunflowers 466 233 Tulips 533 266 40 3.2.2.3 Xõy dng mụ hỡnh phõn lp theo CNN Trong phm vi ca lun vn, tỏc gi s dng phng phỏp hc chuyn tip (Transfer Learning - l quỏ trỡnh ci tin vic hc cho mt nhim v mi thụng qua vic chuyn giao kin thc t mt nhim v liờn quan ó c hc) xõy dng mụ hỡnh cho bi toỏn, iu c bit ca vic hc chuyn tip l nhng lp hc c s b loi b m thay vo l nhng lp mi c hun luyn Nh ta ó bit cu trỳc chung ca mt CNN phõn loi hỡnh nh cú hai phn chớnh: + Mt chui cỏc lp xon + Mt vi (hoc thm mt) lp ca mng n-ron kt ni y Chui cỏc lp xon l i tng hc mng, cỏc tớnh nng ó hc nh l d liu u vo v c chuyn ti lp kt ni y phõn loi Tớnh nng a vo lp phõn loi cui cựng cũn c gi l tớnh nng nỳt c chai (Bottleneck - l mt thut ng khụng chớnh thc s dng cho lp trc lp u cui cựng thc s phõn loi Lp cui cựng ny ó c o to a mt b giỏ tr tt phõn loi s dng phõn bit gia tt c cỏc lp m nú c yờu cu nhn ra) Hỡnh 3.6: Quỏ trỡnh trớch xut Bottleneck 41 Chỳng ta s trớch xut cỏc tớnh nng nỳt c chai t hỡnh nh bng cỏch s dng mt mụ hỡnh hc sõu ó c o to trc l Inception-v3 N ó c phỏt trin bi Google v ó c o to cho cuc thi ImageNet (ImageNet l mt b d liu cha 14 triu hỡnh nh vi hn 000 lp hc) bng cỏch s dng d liu t nm 2012 Tỏc gi chn mụ hỡnh ny vỡ hiu sut phõn loi cao v d ci t Hỡnh 3.7: Mụ hỡnh Inception Vic tớnh tt c cỏc giỏ tr nỳt c chai l bc u tiờn quỏ trỡnh hc ca mụ hỡnh, cụng vic ny chim phn ln thi gian sut quỏ trỡnh hc (khong 45 phỳt trờn mỏy xỏch tay Dell Inspiron 3558 core i5, 4G Ram, 2G Card ri NVIDIAđ GeForceđ 820M) Quỏ trỡnh hc ca mụ hỡnh c ci t v thit lp chy cỏc tớnh toỏn trờn b s lớ song song ca card GPU 42 Hỡnh 3.8: Hun luyn mng vi tensorflow trờn ubuntu Khi tớnh toỏn cỏc nỳt c chai ó hon thnh, vic hc s bt u Vic hc ny s chy 000 bc, mi bc chn mi hỡnh nh mt cỏch ngu nhiờn t d liu hun luyn t a cỏc d oỏn Nhng d oỏn ny sau c so sỏnh vi cỏc nhón thc t cp nht trng s ca lp cui cựng thụng qua quỏ trỡnh truyn ngc Bng 3.3 v bng 3.4 cho thy quỏ trỡnh tip tc, s bc thc hin tng, chớnh xỏc c ci thin Bng 3.3: Quỏ trỡnh hun luyn mng Stt S bc chớnh xỏc 1000 65,0% 2000 79,0% 5000 84,0% 6000 80,0% 3950 98,0% 3980 99,0% 3999 97,0% chớnh xỏc trung bỡnh 89,2% 43 Bng 3.4: chớnh xỏc ca mụ hỡnh theo tensorboard Bng 3.5: Giỏ tr hm loss function theo tensorboard Sau tt c cỏc bc c thc hin vic ỏnh giỏ mụ hỡnh s c chy trờn d liu kim tra ỏnh giỏ th nghim ny l c tớnh tt nht v mụ hỡnh c o to s thc hin nh th no nhim v phõn loi 44 3.4 Demo chng trỡnh nhn dng nh trờn mobile 3.4.1 Quỏ trỡnh thc hin nhn dng nh trờn mobile Hỡnh 3.9: Quỏ trỡnh thc hin nhn dng nh trờn mobile Mt nh u vo khụng th c chuyn trc tip n tensorflow tin hnh nhn dng m c thc hin thụng qua cỏc bc sau: + Bc 1: Khi ng ng dng + Bc 2: X lý nh thu c qua camera t thit b - Ly hỡnh nh t camera ca thit b Hỡnh 3.9: Ly nh t camera 45 - Thc hin ly nh l hỡnh vuụng gia ca thit b Hỡnh 3.10: Ly nh l hỡnh vuụng gia camera - Thay i kớch thc bc nh thnh 224x224px Hỡnh 3.11: Thay i kớch thc bc nh - To tensor u vo t cỏc giỏ tr RGB (Tensor l mt mng n chiu ca cỏc giỏ tr u vo, nú to mng chiu vi cỏc giỏ tr: cho mu - Red, cho mu xanh lỏ cõy - Green, cho mu xanh - Blue ca mi im nh hỡnh) 46 Hỡnh 3.12: Ma trn u vo ca hỡnh nh + Bc 3: Tr li kt qu phõn loi v mi hỡnh nh m thit b nhn c, cựng vi im phõn loi v tin cy cho mi hỡnh nh 3.4.2 Demo chng trỡnh Tỏc gi ci t v th nghim chng trỡnh trờn in thoi Samsung Galaxy E5 vi h iu hnh Android 5.1 (Lollipop) Hỡnh 3.13: Demo chng trỡnh trờn Android 5.1 47 Hỡnh 3.14: Nhn dng nh hoa b cụng anh Hỡnh 3.15: Nhn dng nh hoa hng 48 Hỡnh 3.16: Nhn dng nh hoa cỳc di Hỡnh 3.17: Nhn dng nh hoa tulips 49 Hỡnh 3.18: Nhn dng nh hoa sen Hỡnh 3.19: Nhn dng nh hoa hng dng 50 3.3 Kt lun chng Trong chng ny, Tỏc gi ó kho sỏt cỏc khớa cnh ca bi toỏn phõn loi nh da d liu nh thu thp c Trờn c s cỏc d liu thu thp c ca loi hoa, tỏc gi ó tin hnh thc nghim vi vic s dng mụ hỡnh CNN cho vic nhn dng nh trờn mobile Kt qu thc nghim thu c cho thy s phự hp vi lý thuyt ó nghiờn cu 51 KT LUN Nhng úng gúp ca lun Qua nghiờn cu v thc nghim, lun ó t c nhng kt qu chớnh nh sau: + Nghiờn cu tng quan v mng nron nhõn to, deep learning v mt s ng dng ca deep learning + Nghiờn cu chi tit mụ hỡnh hc sõu tiờu biu l thut toỏn CNN + ng dng cỏc thut toỏn ó tỡm hiu gii quyt bi toỏn phõn lp thụng qua mụ hỡnh hun luyn CNN + ó thu thp c b d liu ca 3908 nh ca 06 loi hoa + ó tin hnh ci t th nghim mụ hỡnh CNN trờn mobile Bc u cho thy hiu qu ca CNN vic nhn dng nh t c kt qu tng i kh quan Hng phỏt trin lun Vic ci tin mụ hỡnh CNN v ng dng mụ hỡnh vo thc t ang c cỏc nh nghiờn cu quan tõm v xõy dng Lun ny t c mt s kt qu nờu trờn, nhng lun cũn nhiu hn ch iu kin v mt thi gian v phm vi nghiờn cu ca ti Vỡ vy, hng nghiờn cu tip theo ca hc viờn l: + Nghiờn cu thờm v mụ hỡnh CNN cú th tng chớnh xỏc cho vic nhn dng nh trờn mobile t ng dng thc t + Cú th phỏt trin ng dng trờn b d liu y v chi tit nhiu lnh vc hn - Phỏt trin ng dng h tr vic nhn dng nh cho tr em, ngi khuyt, hoc mt s im cụng cng nh: Sõn bay, nh ga, 52 DANH MC CC TI LIU THAM KHO Ting Vit: [1] Giỏo trỡnh Mng neural, Tỏc gi: Phan Vn Hin Trng i hc Bỏch khoa Nng, 2013 Ting Anh: [1] J R Quinlan C4.5: Programs for Machine Learning Morgan Kaufmann, 1993 [2] B D Ripley Pattern recognition and neural networks Cambridge university prees, 1996 [3] A Krizhevsky, I Sutskever, and G E Hinton, Imagenet classification with deep convolutional neural networks, in Advances in Neural Infor-mation Processing Systems 25, 2012, pp 10971105 [4] C Farabet, C Couprie, L Najman, and Y LeCun, Learning hierarchical features for scene labeling, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 35, pp 19151929, 2013 [5] G Montufar, R Pascanu, K Cho, and Y Bengio On the number of linear regions of deep neural networks In NIPS, 2014 [6] Y LeCun, Y Bengio, and G Hinton, Deep learning, Nature, vol 521, pp 436444, 2015 [7] https://www.tensorflow.org [8] https://id.scribd.com/document/328329099/Tng-Quan-V-Mng-Neuron, truy nhp ngy 17/4/2017 [9] http://machinelearningcoban.com/2017/03/04/overfitting/, truy nhp ngy 19/4/2017 [10] https://ongxuanhong.wordpress.com/2015/11/24/recurrent-neural-networks-lagi/, truy nhp ngy 20/4/2017 [11] ễng Xuõn Hng (Thỏng nm 2016) Long short-term memory (LSTM) https://ongxuanhong.wordpress.com/2016/09/16/long-short-term-memory-lstm/ truy nhp ngy 20/4/2017 [12] http://nhiethuyettre.me/mang-no-ron-tich-chap-convolutional-neural-network/, truy nhp ngy 22/4/2017 53 [13] Lng Quc An (Thỏng 10 nm 2016) Mng nr-ron nhõn to truyn thng Feedforward neural network, http://nhiethuyettre.me/mang-no-ron-nhan-taotruyen-thang-feedforward-neural-network/ [14] Adit Deshpande (July 20, 2016) A Beginner's Guide To Understanding Convolutional Neural Networks, https://adeshpande3.github.io/A-Beginner'sGuide-To-Understanding-Convolutional-Neural-Networks/ [15] https://jalammar.github.io/Supercharging-android-apps-using-tensorflow/, truy nhp ngy 25/4/2017 ... 3: Ứng dụng mạng CNN cho việc nhận dạng ảnh mobile Trong đ , luận văn tập chung vào chƣơng chƣơng nhằm nghiên cứu ứng dụng mô hình CNN cho việc giải số toán thực tế mà cụ thể toán nhận dạng ảnh. .. Network – CNN) Tác giả tập trung nghiên cứu mô hình CNN ứng dụng mô hình nhân dạng ảnh với đề tài: Ứng dụng mạng nơron xoắn cho việc nhận dạng ảnh Cấu trúc luận văn gồm chƣơng: Chƣơng 1: Tìm hiểu... Map) 29 2.7 Ứng dụng mạng CNN .30 2.8 Kết luận chƣơng .30 Chƣơng - ỨNG DỤNG MẠNG CNN CHO VIỆC NHẬN DẠNG ẢNH TRÊN MOBILE 31 3.1 Tổng quan nhận dạng ảnh