인턴

[Doubango ultimateALPR Docs] Pyramidal search 해석

용성군 2021. 7. 16. 11:22
728x90
반응형

이전 섹션에서 설명했듯이 detector는 [300, 300, 3] 입력 레이어가 있는 Convolutional Neural Network를 사용합니다. 즉, detection 파이프라인에 표시되는 모든 이미지는 해상도에 관계없이 300x300으로 크기가 조정되고 RGB_888 형식으로 변환됩니다.

저해상도를 사용하면 추론 기능의 속도가 빨라지고 비율 기반 스케일링(ratio-based scaling) 대신 고정 모양(fixed shape)을 사용하면 일반화가 향상되고 훈련 프로세스의 속도가 빨라집니다. 이는(저해상도를 사용했을 때를 가르킴) 이미지가 매우 크고 번호판이 매우 작거나 멀리 있을 때 명백한 이슈(문제점)입니다. 이미지가 2+ 요소로 축소되면 큰 이미지의 작거나 멀리 떨어진 번호판은 사라지는 경향이 있습니다.

위의 이슈를 해결하기 위해 많은 ANPR 솔루션에서 수행하는 것처럼 더 높은 해상도(예: [300, 300, 3] 대신 [512, 512, 3])의 입력 레이어를 선택할 수 있습니다. 문제는 해상도가 높을수록 대기 시간과 메모리 사용량이 높아진다는 것입니다. 우리가 시도한 ANPR 솔루션은 Raspberry Pi 4에서 겨우 1fps(detection 전용) 이지만 우리 implementation은 12fps에서 실행할 수 있습니다. 이 프레임 속도를 유지하면서 작고 멀리 있는 판을 정확하게 감지할 수 있도록 우리는 매우 빠르고 정확한 솔루션을 제공하기 위해 R&D에 엄청난 시간을 투자했습니다. 요약하자면 이미지가 아닌 기능의 크기를 조정합니다.

pyramidal search를 사용하기 위해 어떻게 작동하는지 이해할 필요는 없지만(활성화/비활성화하려면 pyramidal_search_enabled 옵션 참조) 몇 가지 기본적인 기술 정보는 issue들을 디버그하는 데 도움이 될 수 있습니다.

1. features는 입력 이미지에서 추출되어 기본 레이어(base layer)로 정의됩니다.
2. 양자화가 활성화되면 feaures가 float32에서 int8로 변환되고 정규화됩니다([-127, 128]).
3. detection 파이프라인은 NMS(Non-max Suppression) 단계 없이 기본 계층(base layer)에서 부분적으로 실행됩니다. 변수 n은 정수 값 1로 초기화됩니다. 이것이 첫 번째 패스(1차 패스)입니다.
4. nth-pass의 결과(경계 상자 및 점수)에서 이진 출력이 있는 refinement function이 수행됩니다. 출력이 0 또는 n>6이면 프로세스가 중지되고 7단계로 이동합니다. 그렇지 않으면(출력이 1이고 n <=6), 5단계로 이동합니다.
5. nth-pass의 feaures들은 X만큼 크기가 조정되고 detection 파이프라인이 부분적으로 다시 실행됩니다. 이 실행은 레이어와 뉴런이 적기 때문에 n번째 패스보다 거의 7배 더 빠릅니다(lower depth multiplier).
6. 변수 n이 증가하고 4단계로 되돌아갑니다.
7. NMS 및 기타 후처리 작업으로 detection 파이프라인을 재개합니다.

알다시피 피라미드 레벨은 6개이며 pyramidal_search_sensitivity 옵션 항목은 얼마나 필요한지 그 수를 제어합니다. 감도는 또한 뉴런의 수를 정의하는 깊이 승수를 제어합니다. 감도가 높을수록 피라미드 수준과 뉴런의 수가 많아집니다. 레벨이 많을수록 정확도는 높아지지만 CPU 사용량과 추론 시간이 높아집니다. 기본값: 0.28.

예를 들어 pyramidal search와 단일 장거리 카메라를 사용해서 5차선 고속도로를 실시간으로 모니터링할 수 있습니다.

매우 구체적이고 샘플 이미지로 시도해 보겠습니다. 다음 이미지는 "Privacy advocate held at gunpoint after license plate reader database mistake, lawsuit alleges"라는 제목의 The Verge 기사에서 가져온 것입니다. 여기에서 찾을 수 있습니다.

 

원문이미지

Pyramidal search 비활성화한 ANPR 결과

Pyramidal search 활성화한 ANPR 결과

피라미드 검색이 비활성화되면 가장 멀리 떨어진 두 개의 번호판을 놓친다는 것을 분명히 알 수 있습니다(그림 참조). https://www.doubango.org/webapps/alpr/에서 호스팅되는 온라인 클라우드 기반 데모 웹 애플리케이션을 사용하여 동일한 테스트를 수행할 수 있습니다. 원본 이미지를 타사에서 제공하는 ALPR/ANPR 제품과 비교하여 사용할 수도 있습니다.

 

 

 

원문 : https://www.doubango.org/SDKs/anpr/docs/Pyramidal_search.html 

 

Pyramidal search — ultimateALPR 3.3.0 documentation

Pyramidal search As explained in the previous sections, the detector uses a Convolutional Neural Network with a [300, 300, 3] input layer. This means any image presented to the detection pipeline will be resized to 300x300 and converted to RGB_888 format r

www.doubango.org

 

728x90
반응형