Source-linked AI summary
Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks
Ian J. Goodfellow, Yaroslav Bulatov, Julian Ibarz, Sacha Arnoud, Vinay Shet
TL;DR
제약 없는 Street View 이미지에서 여러 자리 도로 번호를 인식하는 일은 localization, segmentation, recognition이 일반적으로 분리되어 수행되기 때문에 어렵다. 이 논문은 deep convolutional neural network를 사용해 이 단계들을 통합하고, 도로 번호 및 왜곡 텍스트 인식 과제 전반에서 높은 성능을 보고한다.
문제
복잡한 Street View 이미지에서 여러 자리 숫자를 자동으로 인식하는 일은 지도에서 건물을 정확히 찾는 데 중요함에도 여전히 어렵다.
방법
이 논문은 이미지 픽셀에서 직접 숫자열을 localization, segmentation, recognition하는 통합 deep convolutional neural network를 사용한다.
결과
이 접근법은 도로 번호 및 왜곡 텍스트 인식 전반에서 높은 성능을 보이며, 가장 어려운 reCAPTCHA 범주에서 99.8% 전사 정확도를 달성한다.
시사점 및 한계
특정 confidence threshold에서 이 시스템은 사람 작업자와 견줄 만한 도로 번호 전사를 생성하며 지도에 포함하기에 적합하다.
시사점 및 한계
이 방법은 숫자열의 최대 길이가 합리적으로 작고 제한되어 있다고 가정하므로, 길거나 제한되지 않은 숫자열로 확장하기는 어려울 가능성이 높다.
Abstract
from arXiv · showhide
Recognizing arbitrary multi-character text in unconstrained natural photographs is a hard problem. In this paper, we address an equally hard sub-problem in this domain viz. recognizing arbitrary multi-digit numbers from Street View imagery. Traditional approaches to solve this problem typically separate out the localization, segmentation, and recognition steps. In this paper we propose a unified approach that integrates these three steps via the use of a deep convolutional neural network that operates directly on the image pixels. We employ the DistBelief implementation of deep neural networks in order to train large, distributed neural networks on high quality images. We find that the performance of this approach increases with the depth of the convolutional network, with the best performance occurring in the deepest architecture we trained, with eleven hidden layers. We evaluate this approach on the publicly available SVHN dataset and achieve over $96\%$ accuracy in recognizing complete street numbers. We show that on a per-digit recognition task, we improve upon the state-of-the-art, achieving $97.84\%$ accuracy. We also evaluate this approach on an even more challenging dataset generated from Street View imagery containing several tens of millions of street number annotations and achieve over $90\%$ accuracy. To further explore the applicability of the proposed system to broader text recognition tasks, we apply it to synthetic distorted text from reCAPTCHA. reCAPTCHA is one of the most secure reverse turing tests that uses distorted text to distinguish humans from bots. We report a $99.8\%$ accuracy on the hardest category of reCAPTCHA. Our evaluations on both tasks indicate that at specific operating thresholds, the performance of the proposed system is comparable to, and in some cases exceeds, that of human operators.
1 서론
이 논문은 localization, segmentation, recognition을 통합하면서 Street View 픽셀에서 다중 숫자를 직접 인식하는 unified deep convolutional 접근법을 제시한다. SVHN에서 96% 초과의 도로 번호 정확도, 숫자별 97.84% 정확도, 더 큰 Street View 데이터셋에서 90% 초과의 정확도, 가장 어려운 reCAPTCHA 범주에서 99.8%의 전사 정확도를 보고한다.
- 동기: Street View 번호 인식은 글꼴, 색상, 스타일, 방향, 배열, 조명, 그림자, 가림, 해상도, 모션, 초점 흐림이 다양하기 때문에 여전히 어렵다.이 과제는 geo-located image patch에서 주소 번호를 전사하고 이를 도로 주소와 연결함으로써 지도 제작을 지원한다.
- 방법: 제안된 모델은 이미지 픽셀에서 직접 작동하는 deep convolutional neural network를 사용해 localization, segmentation, recognition을 통합한다.최상의 구성은 eleven hidden layers를 사용했으며, 대규모 distributed training을 위해 DistBelief로 구현되었다.
- 결과: SVHN에서 완전한 도로 번호 인식에 대해 96% 초과의 정확도를 달성했으며, 숫자별 인식에서는 97.84%의 정확도, 더 크고 더 어려운 Street View 데이터셋에서는 90% 초과의 정확도를 달성했다.숫자별 결과는 state of the art를 개선했으며, 더 큰 데이터셋에는 수천만 개의 도로 번호 annotation이 포함되었다.
- 결과: reCAPTCHA 이미지의 가장 어려운 범주에서 99.8%의 전사 정확도를 달성했다.CAPTCHA는 인간과 자동 인식 시스템을 구분하기 위해 텍스트를 합성적으로 왜곡한다.
- 기여: 이 논문은 conditional probabilistic output layer를 갖는 unified sequence model을 핵심 기여로 제시한다.기여에는 deep architecture에서 성능이 가장 우수하다는 증거와 어려운 reCAPTCHA 이미지에 대한 결과도 포함된다.
2 관련 연구
Convolutional neural network는 tied parameters와 convolutional filtering layer를 사용하며, 더 큰 dataset, computational resource, algorithmic advance가 최근 deep network의 성과를 이끌었다. 기존 응용은 주로 single-object recognition에 초점을 맞추거나 CNN을 더 큰 system의 구성 요소로 사용했으며, 이는 본 연구에서 확장 가능한 DistBelief infrastructure를 사용하는 동기가 되었다.
- Convolutional neural network: CNN은 tied parameters를 갖는 neuron과 affine transformation 후 elementwise nonlinearity를 적용하는 layer를 사용하며, 일반적인 matrix multiplication 대신 convolution을 사용한다.이러한 convolutional structure는 완전히 일반적인 neural-network transformation과 CNN을 구별한다.
- Deep network의 발전: 최근 deep-CNN의 성과는 computational resource의 증가, 더 큰 training set, piecewise linear unit과 dropout training을 포함한 발전에 뒤따라 나타났다.이러한 발전은 Krizhevsky et al. (2012)이 보고한 object recognition의 극적인 향상과 함께 이루어졌다.
- 확장 가능한 training infrastructure: DistBelief는 convolutional network를 지원하는 확장 가능한 deep-neural-network infrastructure를 제공하며, 본 논문은 이를 실험의 기반으로 사용한다.Dean et al. (2012)은 network size를 늘리면 training 및 testing accuracy를 향상할 수 있는 large-scale 환경을 위해 DistBelief를 개발했다.
- 기존 응용: CNN은 이전에는 주로 single object를 인식하거나 object detection 및 localization과 같은 task를 위한 더 큰 system에서 feature-extraction component로 사용되었다.인용된 object-detection system에는 backpropagation으로 학습된 neural network 부분을 넘어서는 component가 포함되어 있었다.
3 문제 설명
도로명 숫자 전사는 숫자열에 대한 sequence recognition 문제로, 숫자열 길이와 모든 숫자를 정확히 복원했는지로 평가한다. 잘못된 지도 항목은 비용이 크므로 시스템은 confidence가 낮은 입력을 거부할 수 있으며, 이 과제에서는 도로명 숫자가 최대 다섯 자리라고 가정하고 높은 정확도의 coverage를 목표로 한다.
- 정확도를 확보하려면 숫자열 길이와 모든 숫자를 빠짐없이 정확히 예측해야 하며, 개별 숫자를 맞힌 경우에도 부분 점수는 부여하지 않는다.
- Confidence thresholding은 불확실한 입력을 버려 coverage와 신뢰도를 맞바꾸며, 지도 제작에서는 98% 이상의 정확도에서 coverage를 확보하는 데 초점을 둔다.Coverage는 버리지 않은 입력의 비율이며, 98%는 대략 인간의 정확도에 해당한다.
- Thresholding은 높은 confidence 사례를 자동화하고 나머지를 향후 시스템이나 사람 작업자에게 남겨 두어 incremental mapping을 지원한다.
- 이 연구는 숫자열 길이가 제한된다고 가정하며, 도로명 숫자의 최대 길이를 N = 5로 설정하고 더 긴 숫자는 잘못 전사하는 대신 거부하도록 시스템에 요구한다.다섯 자리보다 긴 도로명 숫자는 극히 드물다.
4 방법
이 방법은 이미지 조건부 숫자열에 대한 확률 모델 P(S | X)를 학습하며, convolutional feature 위의 softmax classifier로 sequence length와 digit identity를 표현한다. 독립적인 문자별 maximization을 사용한 linear-time decoding으로 가장 가능성 높은 sequence를 예측한다.
- 확률적 sequence model: 이 모델은 log P(S | X)를 최대화하며, S는 digit variable과 length variable L로 구성되고 digit identity는 상호 독립이라고 가정한다.length variable에는 모델링된 최대 길이보다 긴 sequence를 위한 추가 값이 포함된다.
- Model parameterization: 도로 번호의 경우 L은 7 values를 가지고 각 digit은 10 values를 가지므로, convolutional neural network가 X에서 추출한 feature 위에 softmax classifier를 구축할 수 있다.CNN feature는 H로 표현되며, 그 값은 입력 이미지가 주어지면 결정론적이다.
- Training: Training은 standard softmax backpropagation을 사용하는 stochastic gradient descent로 log P(S | X)를 최대화한다. 단, 존재하지 않는 digit에는 classifier gradient를 전달하지 않는다.length model과 각 digit model은 독립적인 softmax layer와 동일한 backpropagation rule을 사용한다.
- Inference: Test time에 system은 log P(S | X)를 최대화하는 sequence s = (l, s1, . . . , sl)를 예측한다.각 character argmax를 독립적으로 계산한 뒤 length probability와 결합한다.
- Inference and preprocessing: decoding procedure는 character log probability를 누적해서 더하고 각 candidate length에 대해 log P(l | x)를 더하므로 O(N) 시간에 실행된다.Preprocessing에서는 whitening이나 local contrast normalization 없이 각 이미지의 mean을 뺀다.
5 실험
실험 결과, deep convolutional network는 이미지에서 multi-digit street number를 직접 인식할 수 있으며, 공개 및 내부 dataset에서 높은 sequence accuracy를 달성하고 왜곡된 CAPTCHA text에서도 강한 성능을 보인다. 추가 분석에서는 depth를 검토하고, 배포 결과에서는 전 세계 규모의 street-number extraction 가능성을 입증한다.
- 5.1: 실험에서는 개별 digit를 따로 crop하고 인식하는 대신, 원본 SVHN image에서 완전한 multi-digit sequence를 평가한다.SVHN에는 약 200,000개의 street number와 약 600,000개의 개별 bounding-box digit가 포함된다.
- 5.1–5.3: 이 system은 SVHN에서 96.03% sequence accuracy, 더 큰 internal dataset에서 91%, 가장 어려운 reCAPTCHA puzzle에서 99.8%를 달성했다.이 결과는 공개 street-number recognition, 더 noise가 많은 대규모 street-number recognition, 왜곡된 text recognition을 포괄한다.
- 5.1: SVHN에서 confidence thresholding을 적용하면 98% accuracy에서 95.64% coverage를 확보했으며, map inclusion을 위한 human-operator 성능과 일치했다.Thresholding을 적용하지 않은 96.03% sequence accuracy는 자동 map placement에 충분하지 않았지만, thresholding operating point는 허용 가능한 수준으로 간주되었다.
- 5.2: Internal dataset에서는 더 넓은 variation과 더 noise가 많은 label에도 불구하고 confidence thresholding으로 99% accuracy에서 83% coverage, 또는 98% accuracy에서 89% coverage에 도달했다.이 dataset은 12개국을 초과하는 범위를 포괄하고 non-digit character를 포함하며 ground-truth bounding box가 없다. Image에는 까다로운 layout, blur, shadow, occlusion이 존재한다.
- 5.3: reCAPTCHA 실험에서는 가장 어려운 왜곡 puzzle에서 얻은 최대 eight-character의 case-sensitive sequence를 사용해 street number를 넘어선 generality를 검증했다.이 model은 nine convolutional layer를 사용했으며, 200x40 pixel로 resize한 CAPTCHA-word crop을 입력으로 받았다.
- 5.4: 성능 분석에 따르면 sequence transcription에는 상당히 깊은 architecture가 필요하다. 이 task가 localization, segmentation, recognition을 함께 포함하기 때문이다.분석에서는 복잡한 task를 효율적으로 표현하려면 depth가 핵심이라고 가정한다.
6 논의
저자들은 하나의 neural network가 정렬된 sequence를 end-to-end로 공동 localization 및 segmentation할 수 있으며, number recognition을 넘어선 응용 가능성이 있다고 주장한다. 또한 제한된 sequence 길이와 training set의 품질 및 규모를 개선의 핵심 한계 또는 기회로 지적한다.
- 저자들은 이 model이 여러 응용에서 짧은 sequence의 OCR을 해결한다고 보며, general OCR transcription을 위해 training set을 개선하고 확대하면 추가적인 성능 향상이 가능하다고 본다.
- 이 method는 합리적으로 작은 maximum sequence length N을 가정하며, 각 digit classifier가 별도의 weight matrix를 필요로 하므로 길거나 무한한 sequence에는 잘 확장되지 않을 수 있다.긴 sequence에서는 별도의 matrix가 과도한 memory cost를 초래할 수 있지만, DistBelief는 더 많은 machine을 사용해 memory 제약을 완화할 수 있다.
- 가능한 확장 방법은 한 번에 하나의 N-character word를 출력하는 model을 train하고, 이를 image 위에서 slide한 뒤, resulting prediction을 decode하는 것이다.이 접근법을 사용한 초기 실험은 고무적이었다.
- 하나의 neural network는 정렬된 object sequence의 simultaneous localization and segmentation을 학습할 수 있으며, 이를 general text transcription과 speech recognition으로 확장할 가능성이 있다.저자들은 이러한 end-to-end capability를 가장 흥미로운 발견으로 제시한다.
부록 A: 추론 예시
이 부록은 주택 번호를 전사하는 추론 과정을 설명한다. 네트워크는 이미지 특징으로부터 sequence probability를 계산한 뒤, 수치적으로 안정적인 log probability를 사용해 가장 높은 확률의 전사를 선택한다. 예시에서 모델은 175를 정확히 출력한다.
- 부록 A: 추론 예시: Inference는 fully connected final layer를 갖는 convolutional network가 추출한 하나의 image-wide feature vector H로부터 P(S | X)를 계산한다.Figure 8의 computational graph는 입력 이미지에서 sequence distribution을 결정하는 parameter를 설명한다.
- 부록 A: 추론 예시: 선택되는 전사는 argmax_s log P(S = s | H)이며, 이는 작은 probability를 많이 곱할 때 발생하는 numerical underflow를 방지한다.Log softmax value는 softmax 이후 logarithm을 취하는 대신 안정적인 formula로 직접 계산해야 한다.
- 부록 A: 추론 예시: independence assumptions하에서는 모든 가능한 sequence length를 비교하기 전에 각 position에서 가장 가능성 높은 digit를 개별적으로 선택할 수 있다.Cumulative log-probability 계산은 linear time에 수행할 수 있으며, final table을 저장하지 않고 incremental하게 생성할 수 있다.
- 부록 A: 추론 예시: 모델은 maximal log probability −0.42144로 올바른 전사 175를 출력한다.예시 distribution은 올바른 length 3과 digit 175에 가장 높은 probability를 부여하면서, alternative digit와 length 4에 대한 uncertainty도 유지한다.