Algorithme de reconnaissance des nombres sur l'image avec une faible probabilité du deuxième type d'erreur

image

Il existe un certain nombre de cas dans l'industrie qui nécessitent la
reconnaissance du numéro de scène. Souvent, la condition requise pour l'algorithme de reconnaissance est une faible valeur du deuxième type d'erreur, à savoir les cas où un nombre non valide est reconnu. Un exemple de telles tâches est:


  1. Reconnaissance des numéros sur les remises, les cartes bancaires, figure 1.
  2. Reconnaissance du numéro de voiture, figure 2.

image

1 –
2 – ,


, , :


  • ;
  • ( );
  • , , ..


(scene number recognition) : 0.03.


false positive (FP) — , . , "177", "777", .



, CRNN (Convolutional Reccurent Neural Network)[1].


github.


Python3, PyTorch.


PSPNet[2]. , github PSPNet Pytorch.



CRNN,
medium [3], [4].


CRNN 3.


image

3 – CRNN


. , : CNN [5], LSTM [6].


:


  1. CNN. . , , , , . , . , , 4;
  2. LSTM. LSTM (time step). LSTM . LSTM many to many, . , Bidirectional LSTM, ;
  3. . . — ;
  4. . n Yn: kn = max(Yn). , , . , , : «3200-544». "-" , . , «00» «44», .

image

4 –
: h, w — ; n — .



, , 5.


image

5  –  

, : .


.


CRNN , 6.


image

  6 – . : , , . CRNN 1, CRNN 2 —


, , . - .


.

, "5" , . , , . , :


x=s+v,v>x
: s — , v — , x — .


. , :


y=f(x),yU
: f — , x — , y — .


10 pf = 0.9.


:


pf = i=1,j=110P(y=yj|yi=yj)
: pf — , yi— i- , yj— j- .


10 , pf = 0.1, pf = 0.9 .
, ps = 0.97, : pk = 0.97*0.97 = 0.94.


: .
, , . , S = (280, 64), S2 = (320, 64).


, . S = (280, 64), 1.


image

1 – .
: BS — ; AS — ; k, s, p — , , , : max_pooling



. , . PSPNet.


400 , — 100 , , , 5-10 % , , 5.



2 – . inter_bad — , inter_good — ; good_1, good_2 — , ; amount_cards — , percent_good_1, percent_good_2 — , ; percent_good — ; percent_bad —

, , 1, 0.8816, 0.1184. , - .


, 0.0177, 0.863813, 0.0954 0.0230. , .






, —

, ,




:


  • . , . , , ;
  • . , ;
  • . .


, CRNN scene text recognition, .
CRNN, , .


En plus de cette approche, j'ai essayé de couper les fausses prédictions avec une probabilité inférieure à un certain seuil, cependant, dans ce cas, la précision de la prédiction est tombée à 0,3, ce qui était inacceptable.


Liste des sources


  1. Article original du CRNN;
  2. Réseau d'analyse de scène de pyramide
  3. Construire un système de reconnaissance de texte manuscrit à l'aide de TensorFlow;
  4. Une explication intuitive de la classification temporelle connexionniste;
  5. Réseau de neurones convolutionnels en python
  6. LSTM - Réseaux de mémoire à court terme à long terme

All Articles