Algoritmo de reconhecimento de número na imagem com baixa probabilidade do segundo tipo de erro

imagem

Existem vários casos na indústria que exigem
reconhecimento de número de cena. Freqüentemente, a condição necessária para o algoritmo de reconhecimento é um valor baixo do segundo tipo de erro, ou seja, casos em que um número inválido é reconhecido. Um exemplo de tais tarefas é:


  1. Reconhecimento de número com desconto, cartões bancários, Figura 1.
  2. Reconhecimento do número do carro, Figura 2.

imagem

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.


imagem

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», .

imagem

4 –
: h, w — ; n — .



, , 5.


imagem

5  –  

, : .


.


CRNN , 6.


imagem

  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.


imagem

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, , .


Além dessa abordagem, tentei cortar previsões falsas com uma probabilidade menor que um determinado limite, no entanto, nesse caso, a precisão da previsão caiu para 0,3, o que era inaceitável.


Lista de fontes


  1. Artigo original do CRNN;
  2. Rede de análise de cena de pirâmide
  3. Crie um sistema de reconhecimento de texto manuscrito usando o TensorFlow;
  4. Uma explicação intuitiva da classificação temporal conexionista;
  5. Rede neural convolucional em python
  6. LSTM - Redes de Memória de Longo Prazo e Curto Prazo

All Articles