N. Dorbe SIA SQUALIO cloud consulting “Dziļo neironu tīklu metode autotransporta numura zīmju lokalizācijas un klasifikācijas precizitātes uzlabošanai”
Informācijas un komunikācijas tehnoloģiju kompetences centrs, Kompetences centru pētījumu prezentācijas konferencē INTER-COMP-INNO, 2017. gada 18. oktobrī.
Latvijā ražota produkta ekporta izaicinājumi - RUBRIG pieredze
N. Dorbe SIA SQUALIO cloud consulting “Dziļo neironu tīklu metode autotransporta numura zīmju lokalizācijas un klasifikācijas precizitātes uzlabošanai”
1. Dziļo neironu tīklu metode auto
transporta numura zīmju un
transportlīdzekļu lokalizācijas un
klasifikācijas precizitātes
uzlabošanai
Pētniecības projekts: „Informācijas un komunikāciju tehnoloģiju kompetences centrs”, ID. Nr. 1.2.1.1/16/A/007.
Projektu līdzfinansē Eiropas Reģionālās attīstības fonds “Darbības programmas Izaugsme un nodarbinātība” 1.2.1. specifiskā atbalsta
mērķa “Palielināt privātā sektora investīcijas P&A” 1.2.1.1. pasākuma “Atbalsts jaunu produktu un tehnoloģiju izstrādei kompetences
centru” ietvaros.
2. Izstrādāt un reālistiskiem apstākļiem piemērot metodi auto transporta numurzīmju atrašanai un
atpazīšanai, kas darbotos precīzāk kā šobrīd tirgū pieejamās klasiskās metodes.
Iemesls
Satiksmes intensitātes pieaugums uz autoceļiem, kas rada nepieciešamību pēc automatizēta,
augstākas precizitātes numurzīmju lokalizācijas un atpazīšanas risinājuma.
Šobrīd pieejamo risinājumu problēmas:
●Numurzīmes tiek meklētas pēc iepriekš pieņemtas sagaidāmās taisnstūra formas un proporcijas;
●Nespēja strādāt lielos attālumos un dažādos leņķos;
●Nespēja strādāt ar pārgaismotu attēlu, nesaderīgām krāsām un nakts apstākļos;
●Pielāgots konkrētu valstu numurzīmēm, kā rezultātā risinājums neder dažādiem scenārijiem.
Projekta mērķis
3. Risinājumā tiek izmantoti mākslīgie neironu tīkli un kā ietvars tiek lietots Tensorflow. Neironu tīklu
trenēšana prasa lielus skaitļošanas resursus, tādēļ tiek izmantotas grafiskās kartes, lai tos tos
apmācītu. Sākotnēji programmatūra tiek izstrādāta programmēšanas valodā Python, taču
implementācija nākotnē varētu notikties arī C++, lai paātrinātu atpazīšanas ātrumu.
Gala rezultātā plānots iegūt risinājumu, kas pret šī brīža pieejamajiem risinājumiem spētu ar
daļēju vai pilnīgu dziļās mašīnmācīšanās pieeju uzlabot kopējo numurzīmju atpazīšanas
precizitāti.
Plānotie projektā veicamie
darbi un rezultāts
4. Piedāvātā metode precīzāka par klasiskām metodēm – numurzīmes tiek pareizi lokalizētas ~94% testa attēlos.
Pikseļu klasifikācijas posms ir lēns.
Metodes pirmā versija
Pikseļu
klasifikācija ar
CNN
Lokalizācija CNN
izejas (varbūtības)
attēlā
Numurzīmju
koordināšu precizējoša
pēcapstrāde
Atpazīšana
ar RNN
JK 1439
5. Metodes pirmā un otrā versija
Pikseļu
klasifikācija ar
CNN
Lokalizācija CNN
izejas (varbūtības)
attēlā
Numurzīmju
koordināšu precizējoša
pēcapstrāde
Atpazīšana
ar RNN
Atpazīšana ar
Maxout CNN
+ LSTM
Lokalizācija
ar FCN
● Pikseļu klasifikācija aizstāta ar attēla semantisku
segmentāciju.
● Lokalizācijas precizējošā apstrāde ir minimāla,
nepieciešams aprēķināt tikai taisnstūra
minimālo laukumu.
● Atpazīšanas posmā izvēlēta konkrēta rekurentā
neironu tīkla arhitektūra.
CNN – Convolutional Neural Network FCN – Fully Convolutional Neural Network
RNN – Recurrent Neural Network LSTM – Long Short-Term Memory (RNN paveids)
6. FCN specifiskās metodes:
●1x1 kovnolūcijas, filtru (kernel) skaits ir vienāds
oar FC izejas parametru skaitu, un svaru skaits ir
vienāds ar ieejas parametru skaitu;
●Transponētās konvolūcijas (de-konvolūcijas);
●Izeju parametru vēlreizēja izmantošana (skip
connections).
Metodes otrā versija - semantiskā segmentēšana
7.
8. ● FCN tīklā nav pilnībā savienotu neironu slāņu – tie ir aizstāti ar konvolūcijas slāņiem;
● FCN izeja ir segmentēts attēls;
● Lokalizēšana ātrāka kā pirmajai versijai, bet lēnāka kā klasiskajām metodēm;
● Ļauj lokalizēt dažādu objektus kā rezultātā arī noteikt automašīnas tipu;
● Mācīšanās pārnese. Iespējams lietot iepriekš trenētus tīklus.
Metodes otrā versija - semantiskā segmentēšana
9. Metodes otrā versija - atpazīšana
● Netiek veikta atsevišķo
simbolu segmentēšana.
● Slīdošs logs tiek virzīts pāri
numurzīmei un padots uz
CNN.
● Katrai loga pozīcijai CNN
izveido pazīmju vektoru.
● RNN pazīmju vektoru
secību pārveido par
atpazītu simbolu secību.
10. Uzlabota numurzīmes lokalizēšanas precizitāte: pirmā versija 94%, otrā versija 99.5%+.
Numurzīmes atpazīšanas precizitāte: 96%+ simbolu precizitāte un 90%+.
Uzlabota ātrdarbība:
●Attēla apstrāde uz 2.4GHz CPU notiek 6.5 sekundēs
●Attēla apstrāde uz NVidia GTX 1080 GPU notiek 0.165 sekundēs
Metode prezentēta konferencē: “New Challenges of Economic and Business Development – 2017: Digital
Economy”
Iesniegts raksts publicēšanai: “Vehicle Types and License Plate Segmentation and Reading from Images
using FCN and LSTMs”, Nauris Dorbe, Roberts Kadiķis, Krišjānis Nesenbergs
Metodes otrā versija - rezultāti
11. Pirmajā posmā sagatavoti 11000 attēli.
Otrajā posmā papildus 6000 attēli.
Izveidots ģenerators, kas paplašina treniņkopu modificējot attēlus.
Rotācijas, attēlu nobīdes, kontrasti, troksnis, tuvināšana/tālināšana, aizmiglošana, apvēršana, formas maiņa,
izstiepšana.
Apmācības datu komplekts