KR102368066B1 - 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치 - Google Patents

문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치 Download PDF

Info

Publication number
KR102368066B1
KR102368066B1 KR1020200043217A KR20200043217A KR102368066B1 KR 102368066 B1 KR102368066 B1 KR 102368066B1 KR 1020200043217 A KR1020200043217 A KR 1020200043217A KR 20200043217 A KR20200043217 A KR 20200043217A KR 102368066 B1 KR102368066 B1 KR 102368066B1
Authority
KR
South Korea
Prior art keywords
character
container
characters
unit
patch
Prior art date
Application number
KR1020200043217A
Other languages
English (en)
Other versions
KR20210125710A (ko
Inventor
이휘원
백승환
이경민
Original Assignee
엘케이시스(주)
백승환
이경민
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘케이시스(주), 백승환, 이경민 filed Critical 엘케이시스(주)
Priority to KR1020200043217A priority Critical patent/KR102368066B1/ko
Publication of KR20210125710A publication Critical patent/KR20210125710A/ko
Application granted granted Critical
Publication of KR102368066B1 publication Critical patent/KR102368066B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Abstract

문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치를 개시한다.
본 실시예는 항만에서 크레인이 컨테이너를 하역할 때, 컨테이너를 운반하는 트럭이 게이트를 통과할 때, 크레인 하부 또는 항만 내 구비된 카메라를 이용하여 컨테이너 식별정보가 기재 된 컨테이너 상부 또는 측면부를 촬영하고, 상기 영상에서 컨테이너 상부 또는 측면부에 기재된 문자 패치를 검출한 후 문자 패치로부터 컨테이너 화물을 나타내는 자리수에 해당하는 문자를 산출된 문자 신뢰 확률(CP)을 기반으로 검출할 때, 종래의 문자 인식 기술이 누락 된 문자를 무시하고 인식 된 문자만을 연이어 나열하는 방식으로 식별번호 문자열을 인지하여 컨테이너 식별에 실패한 반면, 컨테이너 식별정보에서 일부 문자가 검출 되지 않은 경우 검출 되지 않은 빈 자리를 인지하고 보완하여 컨테이너 식별번호를 추정하기위해 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치를 제공한다.

Description

문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치{Method And Apparatus for Recognizing Character}
본 실시예는 문자 정렬을 이용한 문자 인식 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
일반적으로 항만에 설치된 화물 터미널 출입 게이트는 출입되는 컨테이너의 통관절차를 거친다.
컨테이너의 외부에 인지된 문자, 기호 및 식별번호 등을 인식하여 통관절차가 진행된다. 컨테이너 외부로부터 문자, 기호 및 식별번호를 인식하기 위하여 항만에 설치된 컨테이너 모니터링 시스템에서 컨테이너의 외부를 촬영하기 위한 다수의 카메라가 컨테이너를 적재한 차량이 통과할 때 게이트의 주변 각 위치에 카메라를 이용하여 컨테이너 외부를 촬영한다.
컨테이너 모니터링 시스템은 컨테이너를 적재한 차량이 통과할 수 있도록 형성된 게이트, 게이트에 배치되어 차량의 진입 및 통과 완료를 감지하는 센서수단, 센서수단에 의해 차량의 진입 및 통과상황을 감지하여 차량 및 컨테이너를 촬영하는 카메라, 카메라에 의해 촬영된 영상을 기초로 차량 또는 상기 컨테이너를 모니터링하는 모니터링수단을 포함한다.
컨테이너 모니터링 시스템에 포함된 모니터링수단은 원격의 중앙 제어 센터와 연결되는 유무선 통신수단을 포함한다. 컨테이너 모니터링 시스템에 포함된 카메라는 차량번호 및 컨테이너의 각 위치에 따라 인지된 식별번호 및 문자 기호를 촬영하기 위하여 다수의 렌즈를 포함한다.
컨테이너 모니터링 시스템은 센서수단을 이용하여 게이트로 진입 통과하는 차량 및 컨테이너를 인식하고, 카메라를 동작시켜 차량 및 컨테이너의 각 위치를 촬영하여 모니터링용 영상을 형성한다.
종래 컨테이너 모니터링 시스템은 차량번호, 운전석, 컨테이너의 인지된 문자, 식별기호 등의 특정한 위치를 촬영하여 정해진 모니터링 영상을 구현한다. 최근들어 각 위치별 영상을 조합한 영상으로부터 2차원 또는 3차원 형태로 영상으로 구현하고 있다.
컨테이너 모니터링 시스템은 소수의 고화질 고속의 카메라를 설치하고 차량이 진입하는 것을 감지하여 연속으로 촬영하고, 이후 촬영된 영상을 합치는 방법 또는 다수의 고화질 카메라를 설치하고 차량이 들어오면 한 번에 찍는 방법을 이용한다.
차량이 진입하는 것을 감지하여 연속으로 촬영하는 방식은 차량 및 컨테이너를 감지하기 위한 많은 수의 센서가 설치되어야 하며, 사진을 균일하게 찍기 위해서는 별도의 건물을 설치해야 한다. 다수의 고화질 카메라를 설치하고 차량이 들어오면 한 번에 찍는 방식은 많은 수의 고화질 카메라를 필요로 한다. 단순히 컨테이너로부터 인지된 식별번호, 문자, 기호만을 인식하기 위함이 아니라, 전체적인 컨테이너의 형상을 촬영하여 하나의 영상 즉 2차원 또는 3차원적인 모니터링 영상을 구현하기 위하여서는 많은 수의 센서 및 카메라가 필요하므로, 시스템을 구성하기 위해서는 설치가 복잡하고 비용이 많이 필요로 하는 문제가 있다.
트럭에 컨테이너를 적재한 후 게이트를 통과할 때 확인하는 경우, 컨테이너를 잘못 실으면, 컨테이너를 다시 옮겨싣고 꺼내야하는 문제가 발생한다. 따라서, 크레인이 컨테이너를 집을 때, 컨테이너 상부 또는 측면에 기재된 문자를 정확하게 인지할 수 있는 기술이 필요하다.
선행기술문헌 : 한국등록특허번호 제10-1727138호(2017.04.14.)
본 실시예는 항만에서 크레인이 컨테이너를 하역할 때, 컨테이너를 운반하는 트럭이 게이트를 통과할 때, 구비된 카메라를 이용하여 컨테이너 식별정보가 기재 된 컨테이너 상부 또는 측면부를 촬영하고, 상기 영상에서 컨테이너 상부 또는 측면부에 기재된 문자 패치를 검출한 후 문자 패치로부터 컨테이너 화물을 나타내는 자리수에 해당하는 문자를 산출된 문자 신뢰 확률(CP)을 기반으로 검출할 때, 종래의 문자 인식 기술이 누락 된 문자를 무시하고 인식 된 문자만을 연이어 나열하는 방식으로 식별정보 문자열을 인지하여 컨테이너 식별에 실패한 반면, 컨테이너 식별정보에서 일부 문자가 검출 되지 않은 경우 검출 되지 않은 빈 자리를 인지하고 보완하여 컨테이너 식별정보를 추정하는 문자 예측을 이용한 컨테이너 문자 인식 방법 및 장치를 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 동시에 입력받은 하나 이상의 임의 방향을 갖는 문자 패치를 기 설정된 방향으로 회전시키는 이미지 회전부; 회전된 상기 문자 패치 내에서 문자를 검출한 후 읽어오는 문자 검출부; 상기 문자 패치 내에서 검출한 문자들을 분포를 나타내는 추세선(trend line)을 이용하여 읽어오는 순서를 결정하는 문자 정렬부; 및 상기 읽어오는 순서대로 상기 문자를 읽어올 때 복수의 문자 패치를 포함하는 해당 프레임 또는 프레임들 사이에서 더 높은 신뢰 확률(CP) 값을 갖는 문자를 최종 결정(Final Decision)하는 예측 문자 시퀀스 결합부;를 포함하되, 상기 이미지 회전부는, 상기 복수의 문자 패치의 현재 문자 방향(Orientation)을 인지하고, 상기 현재 문자 방향을 기 설정된 방향으로 회전(Rotating) 시켜서, 상기 복수의 문자 패치 내의 문자가 기 설정된 일 방향으로 읽히도록 하고, 상기 문자 검출부는, 회전된 상기 복수의 문자 패치 내에서 모든 문자를 검출(Detecting)한 후 읽어(Reading)온 후 검출 된 문자를 각각 분할(Segmentation)할 때, 상기 문자마다 신뢰 확률(CP: Confidence Probability)을 산출하며, 상기 문자 정렬부는, 검출된 상기 문자 각각의 중심점을 산출하고, 상기 문자의 중심점(Center Point)을 연결한 선을 기준으로 문자 중심점의 분포가 최소인 경우, 상기 분포를 최소로하는 선을 추세선으로 인지하고, 상기 추세선을 확인하면 문자들이 수평방향인지 수직방향인지를 확인하는 것을 특징으로 하는 컨테이너 문자 인식 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 항만에서 크레인이 컨테이너를 하역할 때, 컨테이너를 운반하는 트럭이 게이트를 통과할 때, 구비된 카메라를 이용하여 컨테이너 식별정보가 기재 된 컨테이너 상부 또는 측면부를 촬영하고, 상기 영상에서 컨테이너 상부 또는 측면부에 기재된 문자 패치를 검출한 후 문자 패치로부터 컨테이너 화물을 나타내는 자리수에 해당하는 문자를 산출된 문자 신뢰 확률(CP)을 기반으로 검출할 때, 종래의 문자 인식 기술이 누락 된 문자를 무시하고 인식 된 문자만을 연이어 나열하는 방식으로 식별정보 문자열을 인지하여 컨테이너 식별에 실패한 반면, 컨테이너 식별정보에서 일부 문자가 검출 되지 않은 경우 검출 되지 않은 빈 자리를 추정하고 보완하여 컨테이너 식별정보를 추정할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 컨테이너 문자 인식 장치를 나타낸 도면이다.
도 2는 본 실시예에 따른 컨테이너 문자 인식 장치의 내부 아키텍쳐를 개략적으로 나타낸 블럭 구성도이다.
도 3은 본 실시예에 따른 컨테이너 문자 인식 방법을 설명하기 위한 도면이다.
도 4는 본 실시예에 따른 데이터 증감하는 방법을 설명하기 위한 도면이다.
도 5는 본 실시예에 따른 데이터 증감시 이용하는 데이터 구조를 나타낸 도면이다.
도 6,7,8,9는 본 실시예에 따른 데이터 증감시 이용하는 데이터 세트의 선형 분리성을 설명하기 위한 도면이다.
도 10은 본 실시예에 따른 문자 예측부를 개략적으로 나타낸 도면이다.
도 11은 본 실시예에 따른 컨테이너 문자가 훼손된 예시를 나타낸 도면이다.
도 12는 본 실시예에 따른 컨테이너 문자 인지 시 문자 시퀀스 방향을 예측하는 방법을 나타낸 도면이다.
도 13은 본 실시예에 따른 컨테이너 문자 인지 시 문자 검출 방법을 나타낸 도면이다.
도 14,15,16은 본 실시예에 따른 컨테이너 문자 인지 시 문자 정렬 방법을 나타낸 도면이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 컨테이너 문자 인식 장치를 나타낸 도면이다.
본 실시예에 따른 컨테이너 문자 인식 장치(100)는 크레인이 컨테이너를 하역 또는 이동하는 과정에서 필요하다.
컨테이너 문자 인식 장치(100)는 자동화된 항만 시스템에 적용되어, 하역할 때 컨테이너 상부로 크레인을 가져가면, 크레인 하부에 부착된 카메라에서 컨테이너 상부에 컨테이너 정보가 기재 된 영상을 획득한다. 컨테이너의 이동은 게이트나 항만 내 구조물에 구비 된 카메라를 통해 컨테이너 외부 영상을 획득한다.
크레인은 컨테이너를 집어서 컨테이너를 선박에서 야드로 이동하거나 그 반대로 이동 시킨다. 크레인은 데이터베이스에 기 저장된 정보를 이용하여 컨테이너를 이동시킬 위치를 알고 있다.
컨테이너 문자 인식 장치(100)는 크레인이 컨테이너를 하역 또는 이동하는 과정에서 컨테이너 상부 또는 측면에 기재된 문자를 검출하여 컨테이너를 식별할 수 있다. 컨테이너 문자 인식 장치(100)는 하역할 때 크레인이 내려가면서 컨테이너 상부를, 이동할 때 게이트나 항만 내 구비 된 카메라를 통해 측면을 촬영하도록 한다. 크레인 하단부에 적어도 하나 이상의 카메라가 설치된다.
도 2는 본 실시예에 따른 컨테이너 문자 인식 장치의 내부 아키텍쳐를 개략적으로 나타낸 블럭 구성도이다.
컨테이너 문자 인식 장치(100)는 컨테이너 상부 또는 측면에 기재된 문자를 인식하는 과정에서, 획득한 문자 패치 영상에 대해 문자 이미지 블렌더(CIB: Character Image Blender)를 수행하여 데이터 볼륨을 증가시킨다. 컨테이너 문자 인식 장치(100)는 레이블과 레이턴트 스페이스(latent space)로부터 이미지 패치를 합성하여 추가적으로 학습하도록 한다.
컨테이너 문자 인식 장치(100)는 맞춤형 문자 인식(CR: Character Recognition)을 수행한다. 컨테이너 문자 인식 장치(100)는 실제 이미지 또는 거짓 이미지를 입력받는다. 컨테이너 문자 인식 장치(100)는 검출 된 문자, 각 문자의 신뢰 확률, 문자의 식별정보 내 위치를 출력한다. 컨테이너 문자 인식 장치(100)는 촬영 된 영상과 검출 된 문자의 후처리를 수행한다. 컨테이너 문자 인식 장치(100)는 검출 된 문자의 정렬하고, 검출 된 문자에 적절한 위치 할당하여 보다 강력한 인식이 가능하도록 한다.
본 실시예에 따른 컨테이너 문자 인식 장치(100)는 영상 획득부(210), 문자 인지부(220), 데이터 증가부(230)를 포함한다. 컨테이너 문자 인식 장치(100)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
컨테이너 문자 인식 장치(100)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.
도 2에 도시된 컨테이너 문자 인식 장치(100)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.
영상 획득부(210)는 크레인 하부 또는 게이트와 같은 항만 내 구조물에 설치된 카메라로부터 컨테이너 영상을 획득한다.
문자 인지부(220)는 컨테이너 영상으로부터 컨테이너 상부로부터 좌측 문자 패치와 우측 문자 패치, 그리고 컨테이너 측면부의 문자 패치를 검출한다. 문자 인지부(220)는 상기 문자 패치 각각으로부터 컨테이너 식별정보에 해당하는 문자를 검출한다. 문자 인지부(220)는 문자 각각의 문자 신뢰 확률(CP)을 기반으로 검출된 문자를 조합하여 최종 문자로 결정한다.
문자 인지부(220)는 상기 문자 패치를 기 설정된 방향으로 회전시킨다. 문자 인지부(220)는 회전된 문자 패치 내의 문자를 검출한 후 읽어와서 컨테이너 화물을 나타내는 식별정보 내 적절한 위치에 할당한다. 문자 인지부(220)는 상기 문자 패치 내에서 검출한 문자들을 하나의 추세선(One trend line)을 이용하거나 두 개의 평행선(Two parallel lines)을 이용하여 읽어오는 순서를 결정한다. 평행선의 개수는 한정하지 않고 적용할 수 있는 방법이다. 문자 인지부(220)는 상기 문자 패치 내에서 검출한 문자를 컨테이너 식별정보 내 올바른 자리를 추정하고 인지하지 못한 빈자리에 해당 프레임의 다른 문자 패치나 다른 프레임으로부터 정보를 합성하여 할당한다 .
문자 인지부(220)는 컨테이너 영상에 해당하는 프레임 내에서 컨테이너 화물을 나타내는 자리수(인덱스)마다 문자의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 문자를 최종 결정한다. 문자 인지부(220)는 이전 프레임과 현재 프레임 간에 컨테이너 화물을 나타내는 자리수(인덱스)마다 문자의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 문자를 최종 결정한다.
문자 인지부(220)는 문자 패치 검출부(222), 문자 인지 학습부(224), 문자 예측부(226)를 포함한다. 문자 인지부(220)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
문자 패치 검출부(222)는 컨테이너 영상으로부터 컨테이너 상부의 좌측 문자 패치와 우측 문자 패치, 그리고 컨테이너 측면부의 문자 패치를 검출한다. 문자 인지 학습부(224)는 학습용 데이터 세트를 수신하여 학습을 수행한다. 문자 예측부(226)는 문자 인지 학습부(224)의 학습 결과를 반영하여 상기 문자 패치 각각에서 컨테이너 식별정보에 해당하는 문자를 검출하는 문자 예측부를 학습한다. 문자 예측부(226)는 상기 문자 패치 각각에서 컨테이너 식별정보에 해당하는 문자를 검출한다. 문자 예측부(226)는 문자 각각의 문자 신뢰 확률(CP)을 기반으로 인지된 문자를 조합하여 최종 식별정보로 결정한다.
데이터 증가부(Data Augmentation)(230)는 데이터 보강이 필요하다고 판단한 경우, 상기 문자 패치를 입력받고, 신경망 네트워크 학습을 수행하여 학습용 데이터 세트를 생성하여 문자 인지부(220)로 전송한다.
데이터 증가부(230)는 입력받은 문자 패치를 실제 이미지(Real Image)로 인지한다. 데이터 증가부(230)는 실제 이미지의 레이블(Label) 내의 각각의 숫자나 문자를 원핫벡터(One-hot Vector)를 이용하여 표현(예컨대, 481×1)한다. 데이터 증가부(230)는 진짜 같은 이미지를 생성하기 위해 노이즈 정보를 포함하는 레이턴트 스페이스(Latent Space)를 이용하여 표현(예컨대, 512×1)한다. 데이터 증가부(230)는 원핫벡터(One-hot Vector)를 이용하여 표현한 벡터와 레이턴트 스페이스(Latent Space)를 이용하여 표현한 벡터를 합쳐서 밀집층(Dense Layer)을 통과시킨다. 또는 원핫벡터를 이용하여 표현한 벡터가 밀집층을 통과시킨 값과 레이턴트 스페이스를 이용하여 표현한 벡터를 합친다. 데이터 증가부(230)는 상기 밀집층(Dense Layer)을 통과시킨 값이나 상기 밀집층을 통과시킨 값과 노이즈 정보를 포함하는 레이턴트 스페이스를 이용하여 표현한 벡터를 합친 벡터를 기반으로 학습용 데이터 세트를 생성한다. 노이즈 정보를 포함한 레이턴트 스페이스를 이용하여 표현한 벡터를 합치는 위치는 설계 범위 내에서 바뀔 수 있다.
데이터 증가부(230)는 밀집층(Dense Layer)을 통과시킨 값을 생성기(Generator)에 입력하고, 생성기(Generator)를 이용하여 밀집층(Dense Layer)을 통과한 값을 기반으로 학습을 수행하여 거짓 이미지(Fake Images)를 생성한다.
데이터 증가부(230)는 판별기(Discriminator)를 이용하여 실제 이미지(Real Image)와 거짓 이미지(Fake Images)를 입력받은 후 거짓 이미지가 진짜 이미지인지 생성된 거짓 이미지인지의 여부를 판별한다. 데이터 증가부(230)는 판별 결과를 기반으로 생성기 학습을 수행하고 학습 된 생성기에서 문자 인지부 학습용 데이터 세트를 생성한다.
데이터 증가부(230)는 판별기(D)를 이용하여 생성기(G)에서 출력한 거짓 이미지가 진짜 이미지인지 생성된 거짓 이미지인지를 판별한 점수를 역전파하고, 진짜인지 가짜인지를 판별하기 위한 점수를 높이기 위해 진짜같은 생성된 거짓 이미지를 생성하기 위해 학습을 수행한다.
데이터 증가부(230)는 판별기 손실(D loss), 생성기 손실(G loss)을 이용하여 거짓 이미지를 생성하며, 진짜 이미지와 거짓 이미지를 데이터베이스에 함께 저장한다. 판별기 손실은 생성기 기반 거짓 이미지를 진짜 이미지에 가깝게 하기 위해 edge detection을 포함한다.
데이터 증가부(230)는 실제 이미지(Real Image)의 데이터 구조(Data structure)에서 문자(Character), 색깔(Color)(White or Black), 방향(Orientation)을 추출한다. 데이터 증가부(230)는 원-핫 벡터를 이용하여 레이블을 인코딩한다.
도 3은 본 실시예에 따른 컨테이너 문자 인식 방법을 설명하기 위한 도면이다.
문자 인지부(220)는 복수의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 올바른 위치로 회전시킨다. 문자 인지부(220)는 문자 패치 검출부(222)로부터 복수의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 입력받는다. 문자 인지부(220)는 복수의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 기 설정된 방향(예컨대, 문자가 좌→우 또는 상→하 방향으로 읽히도록)으로 회전시킨다.
문자 인지부(220)는 회전된 상기 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치) 내의 문자를 검출한 후 독립적으로 읽어온다.
문자 인지부(220)는 분할 후 문자를 검출하지만, 문자의 순서 및 문자 중간이 빈자리를 판단할 수 없기 때문에, 인지 된 문자들을 정렬한다. 문자 인지부(220)는 문자들을 정렬하기 위해 하나의 추세선(One trend line)을 이용하거나 두 개의 평행선(Two parallel lines)을 이용한다. 평행선의 개수는 한정하지 않고 적용할 수 있다.
문자 인지부(220)는 검출 된 문자 각각의 중심점을 추출한다. 문자 인지부(220)는 문자의 중심점을 이용하여 추세선을 인지한다. 추세선은 문자의 중심점의 분포를 최소화하기 위한 선을 의미한다.
문자 인지부(220)는 검출 된 문자 각각의 중심점의 분포를 최소로 하는 선이 한 줄인 경우, 추세선을 확인하면 문자들이 수평방향인지 수직방향인지를 확인할 수 있다. 문자 인지부(220)는 문자의 중심점의 분포를 추세선의 y축을 기준으로 분산값을 산출하여 두 개의 그룹으로 분리하였을 때 분포가 전체를 하나의 그룹으로 두고 나오는 분포보다 작다면, 두 개의 그룹을 분리하여 문자들이 읽는 순서를 결정한다. 문자 인지부(220)는 문자의 중심점으로 검출한 추세선이 두 줄인 경우, 추세선의 기울기(Slope of trend line)와 점의 편차의 양(Amount of deviation)을 기반으로 y축을 기준으로 분산값을 산출하여 두 개의 그룹을 분리하여 문자들이 읽는 순서를 결정한다.
문자 인지부(220)는 인식된 문자를 컨테이너 식별정보에서의 자리를 찾아 할당하며, 중간에 인식하지 못한 빈자리에 문자를 보완한다. 문자 인지부(220)는 프레임(예컨대, 프레임i(Framei) 내지 프레임i+1(Framei+1) 중 하나의 프레임) 내에서 각각 자리수(인덱스)의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 결과를 선택한다. 문자 인지부(220)는 프레임 간에 인식된 문자열의 각각 자리수(인덱스)의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 결과를 최종 결정한다.
문자 패치 검출부(222)는 컨테이너 상부 또는 측면의 이미지를 인식한다. 컨테이너 상부 또는 측면에는 문자 패치(Character patch)가 부착되어 있다. 문자 패치 검출부(222)는 문자 패치 검출 모델(Character patch detection model)을 이용하여 컨테이너 상부 또는 측면의 영상으로부터 두 개의 문자 패치(예컨대, 좌측 문자 패치(①), 우측 문자 패치(②))를 인식한다.
문자 패치 검출부(222)는 하나 이상의 문자 패치(예컨대, 좌측 문자 패치(①), 우측 문자 패치(②))를 문자 예측부(226)로 입력한다. 문자 패치 검출부(222)는 상기 문자 패치를 데이터 증가부(Data Augmentation)(230)로 입력한다.
문자 예측부(226)는 지속적으로 촬영되는 프레임별 문자 패치 이미지를 입력받는다. 문자 예측부(226)는 각 타임 스텝마다 프레임이 나오는데, 각 프레임마다 최소 하나 이상의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 입력받는다.
문자 예측부(226)는 상기 입력받은 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 올바른 위치로 회전(Rotating to the right position)시키고, 문자(Character)를 검출(Detecting)한 후 읽어와서(Reading), 글자 단위로 분할 검출(Segmentation)하고, 검출된 문자를 읽어오는 순서를 정렬(Alignment)하고, 컨테이너 화물을 나타내는 자리수 중 비어 있는 자리에 문자를 추정하여 명령대로 배치(Placement in order)한다.
문자 예측부(226)는 상기 문자 패치로부터 문자를 검출할 때, 검출된 문자 각각에 대한 신뢰 확률(CP: Confidence Probability)을 산출한다. 신뢰 확률(CP)은 해당 문자에 대한 신뢰를 나타내는 확률값을 의미한다.
하나의 컨테이너에 대한 프레임을 프레임i(Framei) 내지 프레임i+1(Framei+1)로 정의한다.
문자 예측부(226)는 하나의 컨테이너에 대한 타임 셀인 프레임i(Framei)에서 좌측 문자 패치를 인지한 결과 MSCU 5493*3 3이 인식되고, 우측 문자 패치를 인지한 결과 MSDU 5393*6*가 인식한다.
문자 예측부(226)는 이 두 개의 결과를 성분 비교(Elementwise Comparison)로 각 자리수(인덱스)를 비교하여 각 패치별 신뢰 확률(CP: Confidence Probability)을 확인하고, 각 신뢰 확률을 비교하여 가장 높은 신뢰 확률(CP)을 갖는 값인 MSDU 5493*6 3를 프레임i(Framei)의 문자로 인식한다.
이후 문자 예측부(226)는 하나의 컨테이너에 대한 타임 셀인 프레임i+1(Framei+1)에서 좌측 문자 패치를 인지한 결과 M*CU 5*93*8 5가 인식되고, 우측 문자 패치를 인지한 결과 MSDU 5393*6*가 인식한다.
문자 예측부(226)는 이 두 개의 결과를 성분 비교(Elementwise Comparison)로 하여 각 패치별 신뢰 확률(CP: Confidence Probability)을 확인하고, 각 신뢰 확률을 비교하여 각 신뢰 확률을 비교하여 가장 높은 신뢰 확률(CP)을 갖는 값인 MSCU 5393*8 5를 프레임i+1(Framei+1)의 문자로 인식한다.
문자 예측부(226)는 하나의 컨테이너에 대한 프레임i(Framei)에서 프레임i+1(Framei+1)까지 인식된 문자열(결과)의 자릿수를 모두 비교하여 MSCU 539388 5를 최종 결정(Final Decision)한다.
문자 예측부(226)는 최종 결정(Final Decision)을 위해 위치 할당(Allocating position) 과정에서 예측 문자 시퀀스 결합(Combining predicted character sequences)한다.
데이터 증가부(230)는 문자 패치 검출부(222)로부터 문자 패치를 입력받는다. 데이터 증가부(230)는 문자 인지부 학습을 위해 데이터 보강이 필요한 경우, 데이터를 보강하는 역할을 수행한다. 데이터 증가부(230)는 선택적으로 수행될 수 있다. 데이터 증가부(230)는 학습용 데이터 세트를 만들기 위한 과정을 수행한다. 데이터 증가부(230)는 문자 인지부가 추가적인 데이터를 학습하여 인식률이 높아지도록 한다. 예컨대, 데이터 증가부(230)는 야간에 촬영한 문자 패치에 대해서 신경망 네트워크 학습을 수행하여 주간에 촬영한 문자 패치로 전이할 수 있다. 데이터 증가부(230)는 실제 데이터(Real Data)를 기반으로 생성된 데이터(Generated data)를 생성할 수 있다.
도 4는 본 실시예에 따른 데이터 증감하는 방법을 설명하기 위한 도면이다.
데이터 증가부(230)는 문자 이미지 블렌더(CIB: Character Image Blender)를 수행한다. 데이터 증가부(230)는 데이터 보강 모듈(DA: Data augmentation module)로서, 인식되기 어려운 이미지에 대해 문자 이미지 블렌더(CIB: Character Image Blender)를 수행하여 데이터 볼륨을 증가시킨다. 데이터 증가부(230)는 레이블(Label)과 레이턴트 스페이스(latent space)로부터 이미지 패치를 합성하여 학습하도록 한다.
데이터 증가부(230)는 실제 이미지(Real Image)의 레이블(Label) 내의 각각의 숫자나 문자를 원핫벡터(One-hot Vector)를 이용하여 표현(예컨대, 481×1)한다. 데이터 증가부(230)는 노이즈 정보를 레이턴트 스페이스(Latent Space)를 이용하여 표현(예컨대, 512×1)한다. 데이터 증가부(230)는 원핫벡터(One-hot Vector)를 이용하여 표현한 벡터와 레이턴트 스페이스(Latent Space)를 이용하여 표현한 벡터를 합쳐서 밀집층(Dense Layer)을 통과시킨다. 또는 원핫벡터를 밀집층을 통과시킨 값과 레이턴트 벡터를 합친다. 레이턴트 벡터는 설계 범위 내에서 합치는 위치를 바꿀 수 있다. 데이터 증가부(230)는 상기 밀집층(Dense Layer)을 통과시킨 값을 생성기(Generator)에 입력한다. 생성기(Generator)는 밀집층(Dense Layer)을 통과한 값을 기반으로 학습을 수행하여 거짓 이미지(Fake Images)(생성된 이미지(Generated Image))를 생성한다.
데이터 증가부(230) 내의 판별기(Discriminator)는 실제 이미지(Real Image)와 거짓 이미지(Fake Images)(생성된 이미지(Generated Image))를 입력받은 후 생성기(G)에서 출력한 생성된 이미지가 진짜 이미지인지 생성된 거짓 이미지인지의 여부를 판별한다.
판별기(D)는 생성기(G)에서 출력한 생성된 이미지가 진짜 이미지인지 생성된 거짓 이미지인지를 판별한 점수를 역전파하고, 진짜인지 가짜인지를 판별하기 위한 점수를 높이기 위해 진짜같은 생성된 거짓 이미지를 생성하기 위해 학습을 수행한다.
판별기(D)는 판별 브랜치(Discriminating branch), Canny edge detection, Character Recognition(CR) Branch를 일부 또는 전부 이용할 수 있다. 데이터 증가부(230)는 판별기 손실(D loss), 생성기 손실(G loss)을 이용하여 거짓 이미지를 생성한다. 데이터 증가부(230)는 진짜 이미지와 거짓 이미지를 데이터베이스에 함께 저장한다.
도 5는 본 실시예에 따른 데이터 증감시 이용하는 데이터 구조를 나타낸 도면이다.
데이터 증가부(230)는 학습을 위한 데이터 세트를 생성할 때 실제 이미지(Real Image)의 데이터 구조(Data structure)에서 특징(Feature)을 이용한다.
도 5에 도시된 바와 같이, 데이터 증가부(230)는 실제 이미지(Real Image)에 대한 특징으로 문자(Character), 색깔(Color)(White or Black), 방향(Orientation)(상하좌우 방향, 세로 방향, 가로 방향)을 추출한다.
도 6,7,8,9는 본 실시예에 따른 데이터 증감시 이용하는 데이터 세트의 선형 분리성을 설명하기 위한 도면이다.
데이터 증가부(230)는 학습을 위한 데이터 세트의 선형 분리성(Linear separability of data set)을 위해 랜덤 생성 레이턴트 벡터(random generated latent vector)를 이용한다. 데이터 증가부(230)는 원-핫 벡터를 이용하여 레이블을 인코딩한다. 데이터 증가부(230)는 훈련하는 동안 원-핫벡터 또는 원-핫벡터와 레이턴트 스페이스를 선형화하는 매핑 기능을 수행한다. 데이터 증가부(230)는 인식되기 어려운 이미지의 선형화를 위해 원-핫 인코딩 된 레이블의 맵핑 기능을 이용한다.
도 6,7,8,9에 도시된 바와 같이, 데이터 증가부(230)는 문자 인지부(220) 학습을 위해 데이터 볼륨을 증가시킨다.
도 10은 본 실시예 에 따른 문자 예측부를 개략적으로 나타낸 도면이다.
문자 인지부(220)는 문자 인식(CR)을 수행하기 위해 이미지 회전부(1010), 문자 검출부(1020), 문자 정렬부(1030), 위치 할당부(1040), 예측 문자 시퀀스 결합부(1050)를 포함한다. 문자 인지부(220)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
이미지 회전부(1010)는 문자 패치 검출부(222)로부터 하나 이상의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 입력받는다. 이미지 회전부(1010)는 상기 문자 패치를 올바른 위치로 회전(Rotating to the right position) 시킨다. 이미지 회전부(1010)는 상기 문자 패치를 기 설정된 방향(예컨대, 문자가 좌→우 또는 상→하 방향으로 읽히도록)으로 회전시킨다.
이미지 회전부(1010)는 입력받은 상기 문자 패치를 기 설정된 방향으로 회전시킨다. 이미지 회전부(1010)는 해당 프레임에서 동시에 입력받은 하나 이상의 임의 방향 문자 패치를 기 설정된 방향으로 회전시킨다.
이미지 회전부(1010)는 상기 문자 패치의 현재 문자 방향(Orientation)을 인지하고, 현재 문자 방향이 기 설정된 방향으로 회전(Rotating) 시켜서, 상기 패치 내의 문자가 기 설정된 일 방향(예컨대, 문자가 좌→우 또는 상→하 방향으로) 읽히도록 한다.
이미지 회전부(1010)는 상기 문자 패치로 스크래치(Scratches), 문자 없음(No characters), 문자와 같은 오염(Character-like taints), 문질러진 문자(Rubbed-off characters), 잘못된 스티칭(Wrong stitching) 중 어느 하나 이상을 포함하는 손상된 이미지(Damaged images)가 입력되어, 현재 문자 방향(Orientation)의 인지에 실패한 경우, 컨테이너 화물을 나타내기 위해 기 할당된 참조 문자(예컨대, A, B, C, D, E, F, G, K, L, M, P, Q, R, T, U, V, Y, 2,3,4,5,7)를 기반으로 참조 문자의 회전 변형이 최소가 되는 위치로 문자 패치를 회전시켜서 문자 순서 방향 예측(Character sequence orientation prediction)한다.
이미지 회전부(1010)는 손상된 이미지가 입력된 경우, 손상된 이미지로부터 낮은 확률로 문자 방향을 예측하고, 예측된 문자 방향을 기반으로 손상된 이미지로부터 문자의 검출한 결과, 문자 검출에 실패하면 기 할당된 참조 문자의 문자 방향을 기반으로 문자 순서 방향을 예측한다.
문자 검출부(1020)는 회전된 상기 문자 패치에 대해 검출(Detecting), 읽기(Reading), 분할(Segmentation)을 수행한다. 문자 검출부(1020)는 회전된 상기 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치) 내의 문자를 검출한 후 읽어와서 자리수에 따라 분할한다.
문자 검출부(1020)는 회전된 문자 패치 내에서 문자를 검출한 후 읽어와서 컨테이너 화물을 나타내는 자리수만큼 분할한다.
문자 검출부(1020)는 회전된 문자 패치 내에서 모든 문자를 검출(Detecting)한 후 읽어(Reading)온 후 문자 단위로 분할 검출(Segmentation)할 때, 문자마다 신뢰 확률(CP: Confidence Probability)을 산출한다.
문자 정렬부(1030)는 분할 후 문자를 검출하지만, 문자의 순서를 판단할 수 없기 때문에, 문자들을 정렬한다. 문자 정렬부(1030)는 문자들을 정렬하기 위해 하나의 추세선(One trend line)을 이용하거나 두 개의 평행선(Two parallel lines)을 이용한다. 평행선의 개수는 한정하지 않고 적용할 수 있다.
문자 정렬부(1030)는 검출 된 문자 각각의 중심점을 추출한다. 문자 정렬부(1030)는 문자의 중심점을 이용하여 하나의 추세선으로 인지한다. 추세선은 문자의 중심점의 분포를 최소화하기 위한 하나의 선을 의미한다.
문자 정렬부(1030)는 검출 된 문자 각각의 중심점의 분포를 최소로 하는 선이 한 줄인 경우, 추세선을 확인하면 문자들이 수평방향인지 수직방향인지를 확인할 수 있다.
문자 정렬부(1030)는 두 개의 평행선을 이용했을 때 문자의 중심점의 분포가 최소인 경우, 추세선의 y축을 기준으로 분산값을 산출하여 두 개의 그룹을 분리하여 문자들이 읽는 순서를 결정한다.
문자 정렬부(1030)는 두 개 이상의 평행선을 이용하여 분포를 최소화하는 선을 구할 때, 각 분포는 점과 가장 가까운 평행선에 대하여 분포를 산출한다. 평행선의 간격을 최적화하여 최소화되는 분포를 산출했을 때 평행선의 간격이 글자 크기보다 가깝다면 평행선의 평균 위치의 평행선으로 바꾸고 각 평행선에 가까운 점들을 평균 위치의 평행선 그룹으로 병합한다.
상기 추세선이 수직방향인 경우 컨테이너의 식별번호는 한 줄로 구성되어있고, 상기 추세선이 수평방향인 경우 컨테이너의 식별번호는 한 줄 또는 두 줄로 구성되어있다.
문자 정렬부(1030)는 해당 프레임에 입력 된 문자 패치(예컨대, 컨테이너 상부의 우측 문자 패치와 좌측 문자 패치)내에서 검출한 문자들을 분포를 나타내는 추세선(trend line)을 이용하여 읽어오는 순서를 결정한다.
문자 정렬부(1030)는 문자의 중심점을 추세선 또는 평행선에대한 분포를 이용하여 컨테이너 식별정보가 한 줄인지 두 줄인지 인지한다. 하나의 줄에 표기된 문자열을 하나의 그룹으로 보고, 그룹을 분리하여 인지한 뒤에 각 그룹 내에서 문자를 읽는 순서를 결정한다.
문자 정렬부(1030)은 하나의 추세선을 이용하는 경우, 추세선을 x축으로 가정할 때 y축에대해 가장 멀리 떨어진 양 끝 점을 기준으로 문자 중심점 간의 거리를 이용하여 하나 또는 두 개의 그룹을 정의한다.
문자 정렬부(1030)는 컨테이너 식별정보 인식에서 두 개의 평행선을 이용하는 경우, 문자 중심점의 선에 대한 점의 편차(deviation of points to the line)를 가까운 평행선을 기준으로 산출한 분포를 최소(minimize)로 하는 평행선 간의 거리(d)와 평행선의 기울기(line's slope, θ)를 이용하여 최적화한다.
문자 정렬부(1030)는 제1 추세선을 중심으로 x축과의 기울기 θ와 서로 거리 d를 만큼 이격 된 두 개의 평행선을 설정하는 1 단계(Stage 1)를 수행한다. 문자 정렬부(1030)는 선(lines)을 회전시키고, 문자 중심점을 제1 평행선과 제2 평행선 중 가장 가까운 선으로 그룹화하는 2 단계(Stage 2)를 수행한다. 문자 정렬부(1030)는 할당된 선에 대한 점의 편차(분산)를 계산하는 3 단계(Stage 3)를 수행한다. 문자 정렬부(1030)는 y축을 기준으로 구분된 상측 그룹(v0), 하측 그룹(v1)의 y축 분산값이 최소값이 되도록 1 단계(Stage 1), 2 단계(Stage 2), 3 단계(Stage 3)를 반복하여 최적화한다.
문자의 그룹은 문자의 중심점이 가까운 평행선으로 정의된다. 평행선 간의 거리가 가깝다면 두 개의 그룹은 하나로 병합하고 하나의 추세선으로 변환된다.
문자 정렬부(1030)는 문자의 정렬(혹은 그룹)을 두 줄로 정의한 경우 두 개의 그룹 중 y축을 기준으로 상측 그룹(v0)의 문자를 먼저 읽어오고, y축을 기준으로 하측 그룹(v1)의 문자를 나중에 읽어오도록 문자 읽는 순서를 결정한다.
위치 할당부(1040)는 인식 된 문자의 순서를 찾았는데, 중간에 인식하지 못한 빈자리에 문자를 할당한다. 다시 말해, 위치 할당부(1040)는 컨테이너 화물을 나타내는 자리수 중 비어있는 자리를 추정한다. 종래 기술처럼 빈자리를 무시하고 컨테이너 식별정보를 인지할 경우, 실제 컨테이너 외부의 훼손 된 식별정보를 인지하지 못하고, 관리자가 컨테이너를 검색할 때 전혀 다른 컨테이너를 검색할 가능성이 높다. 하지만 문자 훼손이나 영상의 문제로 문자열 중 인지되지 않은 자리를 알 수 있다면, 훼손 된 컨테이너 식별정보로 해당 컨테이너를 정확하게 검색하기 유리하다.
도 11은 본 실시예에 따른 컨테이너 문자 인지 시 컨테이너 외부의 식별정보가 훼손 된 것을 보여주는 예시 도면이다.
예측 문자 시퀀스 결합부(1050)는 프레임(예컨대, 프레임i(Framei) 내지 프레임i+1(Framei+1) 중 하나의 프레임) 내에서 각각 자리수(인덱스)의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 결과를 선택한다. 예측 문자 시퀀스 결합부(1050)는 프레임 간에 인식된 문자열의 각각 자리수(인덱스)의 신뢰 확률(CP) 값을 비교하여 더 높은 신뢰 확률(CP) 값을 갖는 결과를 최종 결정한다.
예측 문자 시퀀스 결합부(1050)는 읽어오는 순서대로 문자를 읽어올 때 하나 이상의 문자 패치를 포함하는 해당 프레임 또는 프레임들 사이에서 더 높은 신뢰 확률(CP) 값을 갖는 문자를 최종 결정(Final Decision)한다.
이미지 회전부(1010)는 문자 패치 검출부(222)로부터 하나 이상의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 입력받는다. 이미지 회전부(1010)는 상기 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 올바른 위치로 회전(Rotating to the right position) 시킨다. 이미지 회전부(1010)는 상기 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)를 기 설정된 방향(예컨대, 문자가 좌→우 또는 상→하 방향으로 읽히도록)으로 회전시킨다.
도 11에 도시된 바와 같이, 문자 패치 검출부(222)로부터 손상된 이미지(Damaged images)가 입력될 수 있다. 손상된 이미지는 스크래치(Scratches), 문자 없음(No characters), 문자와 같은 오염(Character-like taints), 문지르는 문자(Rubbed-off characters), 잘못된 스티칭(Wrong stitching) 등으로 인한 이미지를 포함한다.
이미지 회전부(1010)는 문자 패치 검출부(222)로부터 입력된 하나 이상의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치)가 회전 된 이미지인 경우, 문자의 인식률을 높이기 위해 올바른 위치로 회전 시킨다.
도 14는 본 실시예에 따른 컨테이너 문자 인지 시 문자 시퀀스 방향을 예측하는 방법을 나타낸 도면이다.
이미지 회전부(1010)는 문자 순서 방향 예측(Character sequence orientation prediction)한다. 컨테이너 식별정보 문자열의 방향 예측은 상하좌우 구별이 명확한 22 개의 참조 문자(A, B, C, D, E, F, G, K, L, M, P, Q, R, T, U, V, Y, 2,3,4,5,7)가 이용된다.
이미지 회전부(1010)는 22 개의 참조 문자를 기반으로 시퀀스(sequence)를 적절한 방향(appropriate orientation)로 회전시킨다. 22 개의 참조 문자는 회전 변형 문자(rotation-variant characters)(예컨대, S, N, H, 8 등)의 혼동이 없어 이미지 회전 기반으로 이용한다.
도 14에 도시된 바와 같이, 이미지 회전부(1010)는 낮은 확률로 'U'방향 예측한다. 이미지 회전부(1010)는 훼손 등의 이유로 'U'를 이용한 방향 예측이 어려울 경우, 22개의 참조 문자에 의한 방향을 예측하여 최종적으로 이미지 패치의 방향을 결정한다.
도 13은 본 실시예에 따른 컨테이너 문자 인지 시 문자 검출 결과를 나타낸 도면이다.
문자 검출부(1020)는 입력 받은 회전된 복수의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치) 내의 문자를 각각 검출한 후 읽어온다. 문자 검출부(1020)는 YOLO v3를 이용하여 회전된 복수의 문자 패치(예컨대, 좌측 문자 패치, 우측 문자 패치) 내의 문자를 검출한다. 문자 검출부(1020)는 회전된 문자 패치 이미지가 입력되면, 예측된 문자 각각에 대한 신뢰 확률(CP), xcenter, ycenter, width, height값을 출력한다.
도 14,15,16은 본 실시예에 따른 컨테이너 문자 인지 시 문자 정렬 방법을 나타낸 도면이다.
문자 정렬부(1030)는 분할 후 문자를 검출하지만, 문자의 순서를 판단할 수 없기 때문에, 우선 문자들을 정렬한다.
도 14에 도시된 바와 같이, 문자 정렬부(1030)는 검출된 문자 각각의 중심점을 추출한다. 문자 정렬부(1030)는 문자의 중심점으로 인지하여 추세선을 결정한다. 추세선은 문자의 중심점의 분포를 최소화하기 위한 선을 의미한다. 문자 정렬부(1030)는 추세선의 기울기를 확인하면 문자들이 수평방향인지 수직방향인지를 확인할 수 있다.
문자 정렬부(1030)는 데이터 정렬 타입의 분류(Classification of data alignment type)한다. 문자 정렬부(1030)는 문자 순서 정렬(Aligning character sequence)한다. 문자 정렬부(1030)는 적절한 위치에 문자를 할당(Allocating characters to proper positions)한다.
도 14에 도시된 바와 같이, 문자 정렬부(1030)는 각 bboxes 중심점의 추세선(trend line)을 계산한다. 문자 정렬부(1030)는 추세선(trend line)에서 점의 편차(deviation of the points)를 계산한다. 문자 정렬부(1030)는 추세선의 기울기(Slope of trend line), 편차의 양(Amount of deviation)의 임계값을 정의한다.
문자 정렬부(1030)는 정렬하지 않은 결과로 실제 문자 순서가 'MSKU4491327'일 때, 예상 순서가 '4MS49KU1327'를 예측하는 경우가 존재하므로 문자 정렬을 수행한다.
도 15에 도시된 바와 같이, 문자 정렬부(1030)는 문자의 중심점으로 인지하여 분포를 기준으로 그룹을 정의할 때, 추세선의 y축을 기준으로 y축에서 가장 먼 두 점을 기준으로 각각 분산을 구했을 때와 모든 점을 하나의 그룹으로 보고 분산을 구했을 때를 비교하여 문자열의 그룹을 하나 또는 두개로 결정한다. 분산값을 산출하여 하나 혹은 두 개의 그룹을 분리하면 그룹의 기준 선의 x값을 기준으로 문자들의 읽는 순서를 결정한다.
즉, 문자 정렬부(1030)는 편차(deviation)를 최소화(minimize)하기 위해 θ를 최적화(Optimize)(v0 + v1)한다.
1 단계(Stage 1) : 문자 정렬부(1030)는 bbox 중심점의 추세선을 계산한다.
2 단계(Stage 2) : 문자 정렬부(1030)는 추세선의 기울기(trend line's slope)와 선에 대한 점의 편차(deviation of points to the line)를 기준으로 문자 패치를'V','H','T'로 분류한다.
3 단계(Stage 1) : 문자 정렬부(1030)는 'T' 클래스의 경우 하위 단계를 수행하여 상측 문자열 '알파벳'과 하측 문자열 '숫자'로 나눈다.
전술한 방법을 이용하려면 문자 정렬부(1030)는 먼저 이미지를 'V', 'H'또는 'T'유형으로 분류해야 한다.
즉, 문자 정렬부(1030)는 추세선을 기준으로 x축에 수직인 y축에 대한 분포를 기반으로 분산값을 산출하고, y축에 대한 분산값을 두 그룹으로 나눴을 때, 각 그룹이 최소가 되는 값을 구하면 위에 그룹과 밑에 그룹으로 분류된다. 두 그룹으로 분류되면, 위에 그룹 먼저 읽고, 밑에 그룹을 읽으면 된다.
도 16에 도시된 바와 같이, 문자 정렬부(1030)는 편차를 최소화하기 위해 두 개의 평행선을 이용할 수 있으며 θ, d를 최적화(v0 + v1)한다.
1 단계(Stage 1) : 문자 정렬부(1030)는 기울기 θ, 평행선 간 거리 d를 기반으로 2 개의 평행선을 설정한다. 즉, 문자 정렬부(1030)는 x축과 기울기 θ를 가지며, 서로 거리 d만큼 이격된 가상의 평행선(평행선 0, 평행선 1)을 그린다.
2 단계(Stage 2) : 문자 정렬부(1030)는 선(lines)을 모든 점의 중심점(center point)을 기준으로 회전시킨다. 점을 가장 가까운 선으로 그룹화한다. 즉, 문자 정렬부(1030)는 각 점(points)들이 평행선 0, 평행선 1 중 가까운 평행선 그룹(그룹0, 그룹1)으로 분류한다. 문자 정렬부(1030)는 각 그룹의 분포를 작게 만들도록 평행선 0, 평행선 1을 회전시키고, 간격(d)을 조절한다.
3 단계(Stage 3) : 문자 정렬부(1030)는 할당된 선에 대한 점의 편차(분산)를 계산한다. 문자 정렬부(1030)는 v0, v1의 값이 최소값이 되도록 1 단계(Stage 1), 2 단계(Stage 2), 3 단계(Stage 3)를 반복한다.
전술한 방법은 모든 유형의'Vertical','Horizontal','Two-lined horizontal'에 맞게 문자를 자동으로 정렬한다. 3 가지 정렬 타입을 분류할 필요는 없다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 컨테이너 문자 인식 장치
210: 영상 획득부
220: 문자 인지부
222: 문자 패치 검출부
224: 문자 인지 학습부
226: 문자 예측부
230: 데이터 증가부
1010: 이미지 회전부
1020: 문자 검출부
1030: 문자 정렬부
1040: 위치 할당부
1050: 예측 문자 시퀀스 결합부

Claims (12)

  1. 동시에 입력받은 하나 이상의 임의 방향을 갖는 문자 패치를 기 설정된 방향으로 회전시키는 이미지 회전부;
    회전된 상기 문자 패치 내에서 문자를 검출한 후 읽어오는 문자 검출부;
    상기 문자 패치 내에서 검출한 문자들을 분포를 나타내는 추세선(trend line)을 이용하여 읽어오는 순서를 결정하는 문자 정렬부; 및
    상기 읽어오는 순서대로 상기 문자를 읽어올 때 복수의 문자 패치를 포함하는 해당 프레임 또는 프레임들 사이에서 더 높은 신뢰 확률(CP) 값을 갖는 문자를 최종 결정(Final Decision)하는 예측 문자 시퀀스 결합부;를 포함하되,
    상기 이미지 회전부는,
    상기 복수의 문자 패치의 현재 문자 방향(Orientation)을 인지하고, 상기 현재 문자 방향을 기 설정된 방향으로 회전(Rotating) 시켜서, 상기 복수의 문자 패치 내의 문자가 기 설정된 일 방향으로 읽히도록 하고,
    상기 문자 검출부는,
    회전된 상기 복수의 문자 패치 내에서 모든 문자를 검출(Detecting)한 후 읽어(Reading)온 후 검출 된 문자를 각각 분할(Segmentation)할 때, 상기 문자마다 신뢰 확률(CP: Confidence Probability)을 산출하며,
    상기 문자 정렬부는,
    검출된 상기 문자 각각의 중심점을 산출하고, 상기 문자의 중심점(Center Point)을 연결한 선을 기준으로 문자 중심점의 분포가 최소인 경우, 상기 분포를 최소로하는 선을 추세선으로 인지하고, 상기 추세선을 확인하면 문자들이 수평방향인지 수직방향인지를 확인하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 이미지 회전부는,
    상기 문자 패치가 스크래치(Scratches), 문자 없음(No characters), 문자와 같은 오염(Character-like taints), 문질러진 문자(Rubbed-off characters), 잘못된 스티칭(Wrong stitching) 중 어느 하나 이상을 포함하는 손상된 이미지(Damaged images)가 입력되어, 상기 현재 문자 방향(Orientation)의 인지에 실패한 경우,
    컨테이너 화물을 나타내기 위해 기 할당된 참조 문자를 기반으로 상기 참조 문자의 회전 변형이 최소가 되는 위치로 문자 패치를 회전시켜서 문자 순서 방향 예측(Character sequence orientation prediction)하는 것을 특징으로 하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  4. 제3항에 있어서,
    상기 이미지 회전부는,
    상기 손상된 이미지가 입력된 경우, 상기 손상된 이미지로부터 낮은 확률로 문자 방향을 예측하고, 예측된 문자 방향을 기반으로 상기 손상된 이미지로부터 상기 문자의 검출한 결과, 문자 검출에 실패하면 상기 기 할당된 참조 문자의 문자 방향을 기반으로 문자 순서 방향을 예측하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 추세선은 상기 문자의 중심점의 분포를 최소화하기 위한 선을 의미하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  8. 제1항에 있어서,
    상기 문자 정렬부는,
    상기 문자의 중심점의 분포를 최소로 하는 선이 두 줄인 경우, 점들의 편차(deviation of the points)을 기반으로 평행선을 계산하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  9. 제8항에 있어서,
    상기 문자 정렬부는,
    상기 문자의 중심점의 분포를 최소로 하는 선이 두 줄인 경우, 상기 평행선의 기울기(Slope of trend line)와 점의 편차의 양(Amount of deviation)을 기반으로 산출한 분산값을 y축을 기준으로 두 개의 그룹을 분리하여 상기 문자들의 읽는 순서를 결정하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  10. 제9항에 있어서,
    상기 문자 정렬부는,
    문자의 정렬을 두 줄로 정의한 경우 상기 두 개의 그룹 중 y축을 기준으로 상측 그룹의 문자를 먼저 읽어오고, y축을 기준으로 하측 그룹의 문자를 나중에 읽어오도록 문자 읽는 순서를 결정하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  11. 제10항에 있어서,
    상기 문자 정렬부는,
    문자의 정렬을 두 줄로 정의한 경우 상기 추세선(trend line)과 추정하는 평행선의 각도인 θ와 추세선을 중심으로 평행한 두 직선의 간격 d를 정의하여, 상기 평행선과 문자 중심점이 가까운 선에 대한 점의 편차(deviation of points to the line)를 최소화(minimize)하도록 인식된 문자를 그룹 중 하나로 분류하고, 분류된 문자가 특정 클래스의 경우 하위 단계를 수행하여 알파벳과 숫자로 분류하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
  12. 제1항에 있어서,
    상기 문자 정렬부는,
    제1 추세선과 x축과의 기울기 θ와 추세선 간 거리 d를 만큼 이격된 추세선을 설정하는 1 단계(Stage 1);
    선(lines)을 회전시키고, 점을 상기 제1 추세선과 상기 이격 된 추세선 중 가장 가까운 선으로 그룹화하는 2 단계(Stage 2);
    할당된 선에 대한 점의 편차(분산)를 계산하는 3 단계(Stage 3);
    y축을 기준으로 구분된 상측 그룹(v0), 하측 그룹(v1)의 y축 분산값이 최소값이 되도록 1 단계(Stage 1), 2 단계(Stage 2), 3 단계(Stage 3)를 반복하여 최적화하는 것을 특징으로 하는 컨테이너 문자 인식 장치.
KR1020200043217A 2020-04-09 2020-04-09 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치 KR102368066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200043217A KR102368066B1 (ko) 2020-04-09 2020-04-09 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200043217A KR102368066B1 (ko) 2020-04-09 2020-04-09 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210125710A KR20210125710A (ko) 2021-10-19
KR102368066B1 true KR102368066B1 (ko) 2022-03-02

Family

ID=78228231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200043217A KR102368066B1 (ko) 2020-04-09 2020-04-09 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102368066B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102678084B1 (ko) * 2021-11-01 2024-06-25 (주)웨어비즈 인공지능 기반 문자 판독 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727138B1 (ko) * 2014-03-11 2017-04-14 한국전자통신연구원 다중 영상을 이용한 컨테이너 코드 인식 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054061B1 (ko) * 2018-01-19 2019-12-09 한국기술교육대학교 산학협력단 차량번호판 자동인식 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727138B1 (ko) * 2014-03-11 2017-04-14 한국전자통신연구원 다중 영상을 이용한 컨테이너 코드 인식 장치 및 방법

Also Published As

Publication number Publication date
KR20210125710A (ko) 2021-10-19

Similar Documents

Publication Publication Date Title
EP3740897B1 (en) License plate reader using optical character recognition on plural detected regions
KR101179497B1 (ko) 얼굴 검출 방법 및 장치
CN104112128B (zh) 应用于票据影像字符识别的数字图像处理系统及方法
CN109886210A (zh) 一种交通图像识别方法、装置、计算机设备和介质
CN111191611B (zh) 基于深度学习的交通标志标号识别方法
CN110555464A (zh) 一种基于深度学习模型的车辆颜色识别方法
CN111325769A (zh) 一种目标对象检测方法及装置
KR102383377B1 (ko) 차량용 번호판을 인식하기 위한 전자 장치
CN114155527A (zh) 一种场景文本识别方法和装置
Björklund et al. Automatic license plate recognition with convolutional neural networks trained on synthetic data
Zhang et al. License plate localization in unconstrained scenes using a two-stage CNN-RNN
KR20170082024A (ko) 얼굴 인식 장치 및 방법
KR102368065B1 (ko) 컨테이너 문자 인식 방법 및 장치
KR102368066B1 (ko) 문자 정렬을 이용한 컨테이너 문자 인식 방법 및 장치
Habeeb et al. Deep‐Learning‐Based Approach for Iraqi and Malaysian Vehicle License Plate Recognition
CN111402185B (zh) 一种图像检测方法及装置
KR102161948B1 (ko) 신경망을 이용한 차량 번호판 인식 기술이 적용된 주차 유도 시스템 및 이의 주차 차량 위치 정보 제공 방법
CN117351499B (zh) 一种分合指示状态识别方法、系统、计算机设备和介质
Rodríguez et al. HD-MR: A new algorithm for number recognition in electrical meters
Moseva et al. Development of a System for Fixing Road Markings in Real Time
CN112906643A (zh) 车牌号码识别方法及装置
KR102368067B1 (ko) 문자 인지를 이용한 컨테이너 문자 인식 방법 및 장치
Xu et al. 2d license plate recognition based on automatic perspective rectification
CN111126173A (zh) 一种高精度人脸检测方法
CN116168380A (zh) 一种目标识别方法、模型训练方法及电子设备

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant