KR102157990B1 - Method and system for recognizing vehicle number plate using neural network - Google Patents
Method and system for recognizing vehicle number plate using neural network Download PDFInfo
- Publication number
- KR102157990B1 KR102157990B1 KR1020200079201A KR20200079201A KR102157990B1 KR 102157990 B1 KR102157990 B1 KR 102157990B1 KR 1020200079201 A KR1020200079201 A KR 1020200079201A KR 20200079201 A KR20200079201 A KR 20200079201A KR 102157990 B1 KR102157990 B1 KR 102157990B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- vehicle
- feature map
- license plate
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G06K2209/15—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 신경망을 이용한 차량 번호판 인식 방법 및 시스템에 관한 것으로, 상세하게는 자동차 번호판 문자 인식의 성능을 높을 수 있는 신경망을 이용한 차량 번호판 인식 방법 및 시스템에 관한 것이다. The present invention relates to a vehicle license plate recognition method and system using a neural network, and more particularly, to a vehicle license plate recognition method and system using a neural network capable of enhancing the performance of vehicle license plate character recognition.
안전과 원활한 교통의 흐름을 위해 차량 번호판 인식의 중요성은 증대되고 있다. 차량의 번호판 인식은 차량의 과속 단속, 주행 중인 차량의 모니터링, 주차 차량의 관리, 주차 유도 등 다양한 목적으로 이용된다. The importance of vehicle license plate recognition is increasing for safety and smooth traffic flow. Vehicle license plate recognition is used for a variety of purposes, such as speeding control of vehicles, monitoring of running vehicles, management of parked vehicles, and induction of parking.
차량의 번호판 인식은 먼저 차량의 영상을 획득하고, 획득된 차량의 영상에서 번호판 영역을 추출한다. 그리고 나서 추출된 번호판 영역에서 문자 인식을 통해 차량의 번호판이 인식된다. 하지만, 차량과 카메라의 촬영 각도, 위치, 또는 주변의 빛에 따라 차량의 번호판이 제대로 인식되지 않을 수 있다. 또한, 다양한 차량 번호판 형식, 국내와 다른 형식의 해외 번호판 형식 등으로 인해 차량의 번호판 인식이 용이하지 않을 수 있다. 상기와 같은 문제점을 개선하기 위한 향상된 번호판 인식 기술이 요구된다. Recognizing the license plate of a vehicle first acquires an image of the vehicle, and then extracts a license plate area from the acquired image of the vehicle. Then, the license plate of the vehicle is recognized through character recognition in the extracted license plate area. However, the license plate of the vehicle may not be properly recognized depending on the shooting angle, location, or ambient light of the vehicle and the camera. In addition, it may not be easy to recognize the license plate of the vehicle due to various vehicle license plate formats and overseas license plate formats different from those in Korea. There is a need for an improved license plate recognition technology to improve the above problems.
본 발명이 이루고자 하는 기술적인 과제는 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN(Convolutional Neural Network) 알고리즘에 같이 적용하는 차량 번호판 인식 방법 및 시스템을 제공하는 것이다. A technical problem to be achieved by the present invention is to provide a vehicle license plate recognition method and system in which feature maps extracted from a character region recognized in a vehicle license plate region are applied together to a Convolutional Neural Network (CNN) algorithm.
본 발명의 실시 예에 따른 차량의 번호판의 문자를 인식하기 위해 프로세서와 메모리를 포함하는 차량 번호판 인식 장치에 의해 수행되는 신경망을 이용한 차량 번호판 인식 방법은 상기 프로세서는 차량의 번호판 영역을 포함하는 이미지를 수신하는 단계, 상기 프로세서는 상기 차량의 번호판 영역에서 분류된 문자 영역을 인식하는 단계, 상기 프로세서는 상기 분류된 문자 영역을 포함하는 이미지에 대해 제1컨볼루션 연산을 수행하여 제1출력 피처 맵을 출력하는 단계, 상기 프로세서는 상기 출력된 제1출력 피처 맵에 대해 샘플링을 적용하여 제2출력 피처 맵을 출력하는 단계, 상기 프로세서는 상기 제2출력 피처 맵에 대해 제2컨볼루션 연산을 수행하여 제3출력 피처 맵을 출력하는 단계, 상기 프로세서는 상기 출력된 제3출력 피처 맵에 대해 샘플링을 적용하여 제4출력 피처 맵을 출력하는 단계, 및 상기 프로세서는 상기 출력된 제4출력 피처 맵과, 상기 문자의 특징을 수치로 표현한 것으로 정의되며, 상기 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수이거나, 상기 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합이거나, 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있는 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어(fully connected layer)를 이용하여 상기 분류된 문자 영역에서 문자를 인식하는 단계를 포함한다. A vehicle license plate recognition method using a neural network performed by a vehicle license plate recognition apparatus including a processor and a memory to recognize characters on a license plate of a vehicle according to an embodiment of the present invention, wherein the processor generates an image including the license plate region of the vehicle. Receiving, the processor recognizing a classified character area in the license plate area of the vehicle, the processor performing a first convolution operation on an image including the classified character area to generate a first output feature map Outputting, the processor applying a sampling to the outputted first output feature map to output a second output feature map, the processor performing a second convolution operation on the second output feature map Outputting a third output feature map, wherein the processor applies sampling to the output third output feature map to output a fourth output feature map, and the processor includes the output fourth output feature map and , Defined as a numerical expression of the character's characteristic, and divides the character area into certain areas and is the number of pixels of characters included in each area, or white pixels located on horizontal lines drawn in multiple numbers along the height of the character , Or a fully connected layer that completely connects a preset feature map that can be defined as the sum of black pixels, white pixels located on vertical lines drawn in multiples depending on the width, or the sum of black pixels And recognizing a character in the classified character area by using.
상기 프로세서는 상기 문자 영역에 해당할 수 있는 데이터들에 대해 CNN 알고리즘 중 컨볼루션 연산들과 샘플링 연산들을 수행하여 출력된 제5출력 피처 맵과, 제2미리 설정된 피처 맵을 완전히 연결하는 제2풀리 커넥티드 레이어를 적용하여 도출된 결과 값들에 대해 상기 도출된 결과 값들의 차이와 임계값을 비교하여 혼동 가능성이 있는 문자들끼리 서로 분류하는 단계, 상기 프로세서는 상기 분류된 문자들에 따라 상기 제2미리 설정된 피처 맵을 재설정하여 제3미리 설정된 피처 맵으로 정의하는 단계, 및 상기 프로세서는 상기 혼동 가능성이 있는 문자들 중 어느 하나에 대해 상기 CNN 알고리즘을 적용하여 출력된 제6출력 피처 맵과, 상기 제3미리 설정된 피처 맵을 완전히 연결하는 제3풀리 커넥티드 레이어를 적용하여 문자를 인식하는 단계를 포함한다.The processor is a second pulley for completely connecting a fifth output feature map output by performing convolution operations and sampling operations among CNN algorithms for data that may correspond to the character region and a second preset feature map. Classifying characters that may be confusing with each other by comparing the difference between the derived result values and a threshold value with respect to the result values derived by applying the connected layer, and the processor classifying the second characters according to the classified characters. Resetting a preset feature map to define a third preset feature map, and the processor includes a sixth output feature map output by applying the CNN algorithm to any one of the confusing characters, and the And recognizing a character by applying a third pulley connected layer that completely connects the third preset feature map.
상기 제2풀리 커넥티드 레이어에 입력되는 상기 제5출력 피처 맵의 개수와 상기 제3풀리 커넥티드 레이어에 입력되는 상기 제6출력 피처 맵의 개수는 서로 다르며, 상기 제2풀리 커넥티드 레이어에 입력되는 상기 제2미리 설정된 피처맵의 개수와 상기 제3풀리 커넥티드 레이어에 입력되는 상기 제3미리 설정된 피처맵의 개수는 서로 다르다. The number of the fifth output feature map input to the second pulley connected layer and the number of the sixth output feature map input to the third pulley connected layer are different from each other, and input to the second pulley connected layer The number of second preset feature maps to be set and the number of third preset feature maps input to the third pulley connected layer are different from each other.
상기 풀리 커넥티드 레이어는 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함한다. The fully connected layer includes an input layer, a hidden layer, and an output layer.
상기 은닉 레이어는 복수의 은닉 뉴런들(neurons)을 포함한다. The hidden layer includes a plurality of hidden neurons.
상기 미리 설정된 피처 맵의 특징들의 개수가 m(m은 2이상의 자연수)개이고, 상기 출력된 제4출력 피처의 특징들의 개수가 n개(n은 2이상의 자연수)일 때, 상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 입력 값()은 다음의 수학식으로 표현된다. When the number of features of the preset feature map is m (m is a natural number of 2 or more), and the number of features of the output fourth output feature is n (n is a natural number of 2 or more), the plurality of hidden neurons Of the jth (j is a natural number) hidden neuron input value ( ) Is expressed by the following equation.
[수학식][Equation]
상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 출력 값()은 다음의 수학식으로 표현된다. The output value of the j-th (j is a natural number) hidden neuron among the plurality of hidden neurons ( ) Is expressed by the following equation.
[수학식][Equation]
상기 는 상기 a번째 특징에 대한 j번째 가중치를, 상기 는 상기 미리 설정된 피처 맵의 특징들 중 a번째 특징을, 상기 는 상기 c번째 결과 값에 대한 j번째 가중치를, 상기 는 상기 출력된 제4출력 피처의 특징들 중 c번째 결과 값을, 상기 는 j번째 오프셋(offset)를, 상기 함수 f()는 시그모이드(sigmoid) 함수를 나타낸다. remind Is the j-th weight for the a-th feature, Is the a-th feature among the features of the preset feature map, Is the j-th weight for the c-th result value, Is the c-th result value among the features of the outputted fourth output feature, Denotes the j-th offset, and the function f() denotes a sigmoid function.
상기 출력 레이어는 복수의 출력 뉴런들을 포함한다. The output layer includes a plurality of output neurons.
상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 입력 값()은 다음의 수학식으로 표현된다. The input value of the k-th (k is a natural number) output neuron among the plurality of output neurons ( ) Is expressed by the following equation.
[수학식][Equation]
상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 출력 값()은 다음의 수학식으로 표현된다. The output value of the k-th (k is a natural number) output neuron among the plurality of output neurons ( ) Is expressed by the following equation.
[수학식][Equation]
상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치를, 상기 는 상기 j번째 은닉 뉴런의 출력 값을, 상기 는 k번째 오프셋을, 상기 함수 f()는 시그모이드(sigmoid) 함수를 나타낸다. remind Is the k-th weight for the output value of the j-th hidden neuron, Is the output value of the j-th hidden neuron, Denotes the k-th offset, and the function f() denotes a sigmoid function.
상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치의 오차인 상기 는 다음의 수학식으로 표현된다. The error of the j-th weight with respect to the output value of the i-th input neuron Is expressed by the following equation.
[수학식][Equation]
상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을 나타낸다. remind Is a constant, the weight reduction ratio to reduce the existing weight, Denotes a learning rate that determines how much to update the weights.
상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치의 오차인 상기 는 다음의 수학식으로 표현된다. The error of the k-th weight with respect to the output value of the j-th hidden neuron Is expressed by the following equation.
[수학식][Equation]
상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을, 상기 는 복수의 출력 뉴런들 중 k번째 뉴런의 에러를, 상기 f'(zk)는 를 나타낸다. remind Is a constant, the weight reduction ratio to reduce the existing weight, Is the learning rate that determines how much to update the weights, Is the error of the k-th neuron among the plurality of output neurons, and f'(z k ) is Represents.
본 발명의 실시 예에 따른 차량 번호판 인식 시스템은 차량을 촬영하고, 촬영된 이미지에서 차량의 번호판 영역을 포함하는 이미지를 전송하는 카메라, 신경망을 이용한 차량 번호판 인식 방법에 관한 명령들을 저장하는 메모리, 및 상기 명령들을 실행하는 프로세서를 포함한다. A vehicle license plate recognition system according to an embodiment of the present invention includes a camera that photographs a vehicle and transmits an image including a license plate area of the vehicle from the photographed image, a memory for storing instructions regarding a vehicle license plate recognition method using a neural network, and And a processor that executes the instructions.
상기 명령들은 상기 프로세서는 차량의 번호판 영역을 포함하는 이미지를 수신하고, 상기 차량의 번호판 영역에서 분류된 문자 영역을 인식하며, 상기 분류된 문자 영역을 포함하는 이미지에 대해 제1컨볼루션 연산을 수행하여 제1출력 피처 맵을 출력하며, 상기 출력된 제1출력 피처 맵에 대해 샘플링을 적용하여 제2출력 피처 맵을 출력하며, 상기 제2출력 피처 맵에 대해 제2컨볼루션 연산을 수행하여 제3출력 피처 맵을 출력하며, 상기 출력된 제3출력 피처 맵에 대해 샘플링을 적용하여 제4출력 피처 맵을 출력하며, 상기 출력된 제4출력 피처 맵과, 문자의 특징을 수치로 표현한 것으로 정의되며, 상기 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수이거나, 상기 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합이거나, 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있는 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어를 이용하여 상기 분류된 문자 영역에서 문자를 인식하도록 구현된다. According to the instructions, the processor receives an image including the license plate area of the vehicle, recognizes the classified character area in the license plate area of the vehicle, and performs a first convolution operation on the image including the classified character area. To output a first output feature map, apply sampling to the output first output feature map to output a second output feature map, and perform a second convolution operation on the second output
본 발명의 실시 예에 따른 신경망을 이용한 차량 번호판 인식 방법 및 시스템은 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN(Convolutional Neural Network) 알고리즘에 같이 적용하여 차량 번호판을 인식함으로써 보다 정확하게 차량 번호판을 인식할 수 있어 주차 유도, 주차 관제, 불법 주차, 또는 과속 단속의 효율성을 높일 수 있는 효과가 있다. Vehicle license plate recognition method and system using a neural network according to an embodiment of the present invention more accurately recognize the vehicle license plate by applying the feature maps extracted from the character region recognized in the license plate region of the vehicle together with the CNN (Convolutional Neural Network) algorithm. Since the vehicle license plate can be recognized, there is an effect of increasing the efficiency of parking guidance, parking control, illegal parking, or speeding control.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위한 흐름도를 나타낸다.
도 3은 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위해 차량 번호판 인식 장치에 의해 처리된 이미지들을 나타낸다.
도 4는 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위해 차량번호판 인식 장치에 의해 처리된 다른 이미지들을 나타낸다.
도 5는 도 1에 도시된 프로세서에 의해 처리되는 CNN 알고리즘의 블록도를 나타낸다.
도 6은 도 5에 도시된 입력 피처 맵과 출력 피처 맵 사이의 관계를 설명하기 위한 블록도를 나타낸다.
도 7은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 일 실시 예를 나타낸다.
도 8은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 다른 실시 예를 나타낸다.
도 9는 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 또 다른 실시 예를 나타낸다.
도 10은 도 7에 도시된 신경망 알고리즘의 학습에 따른 과적합 왜곡의 그래프를 나타낸다.
도 11은 도 10에 도시된 과적합 왜곡의 문제점을 해소하기 위한 그래프를 나타낸다.
도 12는 본 발명의 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.
도 13은 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.
도 14는 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.
도 15는 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.
도 16은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 또 다른 실시 예를 나타낸다.
도 17은 혼동가능성이 있는 숫자들의 차이를 나타내는 이미지들이다. A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a block diagram of a vehicle license plate recognition system according to an embodiment of the present invention.
2 is a flowchart illustrating an operation of the vehicle license plate recognition apparatus shown in FIG. 1.
FIG. 3 shows images processed by the vehicle license plate recognition apparatus in order to explain the operation of the vehicle license plate recognition apparatus shown in FIG. 1.
FIG. 4 shows other images processed by the vehicle license plate recognition apparatus to explain the operation of the vehicle license plate recognition apparatus shown in FIG. 1.
5 shows a block diagram of a CNN algorithm processed by the processor shown in FIG. 1.
FIG. 6 is a block diagram illustrating a relationship between an input feature map and an output feature map shown in FIG. 5.
7 shows an embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1.
8 shows another embodiment of a block diagram of the neural network algorithm processed by the processor shown in FIG. 1.
9 shows another embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1.
10 shows a graph of overfit distortion according to learning of the neural network algorithm shown in FIG. 7.
11 shows a graph for solving the problem of overfit distortion shown in FIG. 10.
12 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
13 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
14 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
15 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
16 shows another embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1.
17 are images showing differences between numbers that may be confusing.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in the present specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present invention, the first component may be referred to as the second component, and similarly The second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "just between" or "adjacent to" and "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are used only to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, action, component, part, or combination thereof is present, but one or more other features or numbers It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this specification. Does not.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing a preferred embodiment of the present invention with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다. 1 is a block diagram of a vehicle license plate recognition system according to an embodiment of the present invention.
도 1을 참고하면, 차량 번호판 인식 시스템(10)은 차량(3)의 번호판을 인식하기 위한 시스템을 의미한다. 차량 번호판 인식 시스템(10)은 주차 관리, 주차 유도, 불법 주차 단속, 차량 과속 단속, 또는 차량의 모니터링 등 다양한 분야에서 활용될 수 있는 시스템이다. Referring to FIG. 1, the vehicle license
차량 번호판 인식 시스템(10)은 차량 번호판 인식 장치(100)를 포함한다. 차량 번호판 인식 장치(100)는 차량(3)의 번호를 인식하는 장치를 의미한다. 차량 번호판 인식 장치(100)는 프로세서(110), 메모리(120), 카메라(130), 및 통신 모듈(140)을 포함한다. 프로세서(110), 메모리(120), 카메라(130), 및 통신 모듈(140)은 서로 통신이 가능하다. 카메라(130)는 차량(3)의 일부를 촬영하고, 촬영된 차량(3)의 이미지를 프로세서(110)로 전달한다. 프로세서(110)는 카메라(130)로부터 수신된 이미지에 대해 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량(3)의 번호를 인식하는 명령들을 실행한다. 프로세서(110)의 구체적인 동작에 대해서는 뒤에서 자세히 설명될 것이다. 메모리(120)는 프로세서(110)에 의해 실행되는 명령들을 저장한다. 통신 모듈(140)은 프로세서(110)에 의해 인식된 차량의 번호판 정보를 네트워크를 통해 다른 서버(미도시)로 전송한다. 상기 다른 서버는 수신된 차량의 번호판 정보를 과속에 대한 벌칙금 부과, 주차 요금 계산 등에 이용한다. 실시 예에 따라 카메라(130)는 외부로 분리될 수 있다. 카메라(130)가 외부로 분리될 때, 카메라(130)는 차량 번호판 인식 장치(100)와 통신할 수 있다. 차량 번호판 인식 장치(100)는 LPR(License Plate Recognition) 등 다양한 용어로 호칭될 수 있다. The vehicle license
도 2는 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위한 흐름도를 나타낸다. 도 3은 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위해 차량 번호판 인식 장치에 의해 처리된 이미지들을 나타낸다., 2 is a flowchart illustrating an operation of the vehicle license plate recognition apparatus shown in FIG. 1. 3 shows images processed by the vehicle license plate recognition apparatus to explain the operation of the vehicle license plate recognition apparatus shown in FIG. 1.
도 1 내지 도 3을 참고하면, 카메라(130)는 차량(3)을 촬영한다(S4001). 1 to 3, the
프로세서(110)는 카메라(130)에 의해 촬영된 차량 번호판 이미지를 이진화한다(S4003). 상기 차량 번호판 이미지를 이진화하는 구체적인 알고리즘은 다음과 같다. The
프로세서(110)는 상기 차량 번호판 이미지에 DoG(Difference of Gaussian) 필터를 적용하여 텍스트 획 후보들의 수평 경계점들을 추출하고 수평 획 경계점 지도(Horizontal Stroke Boundary Map)을 생성한다. 도 3의 (b)는 수평 획 경계점 지도의 이미지를 나타낸다. 프로세서(110)는 수평 경계점 연결선의 수직방향 누적을 통해 텍스트 획 사이의 픽셀을 그룹핑하여 세그멘트(segment) 이미지를 생성한다. 도 3의 (c)는 세그먼트 이미지를 나타낸다. 프로세서(110)는 상기 세그멘트 이미지에서 각각의 텍스트가 서로 다른 색깔을 갖도록 컬러 이미지를 생성한다. 도 3의 (d)는 상기 컬러 이미지를 나타낸다. 실시 예에 따라 상기 컬러 이미지 생성 동작은 생략될 수 있다. 프로세서(110)는 상기 컬러 이미지를 흑백 이미지로 변환한다. 도 10의 (a)는 흑백 이미지를 나타낸다. The
도 2를 참고하면, 프로세서(110)는 상기 세그먼트 이미지를 분석한다(S4004). 프로세서(110)는 상기 분석 결과에 따라 차량의 번호판 영역을 추출하고 잘라낸다(S4005). 프로세서(110)는 상기 잘라낸 번호판 영역의 선명도를 추정한다(S4006). 프로세서(110)는 선명도를 추정하고, 번호판 크기의 정규화와 기울기를 보정한다(S4007). 프로세서(110)는 선명도를 계산하고, 계산된 선명도가 일정값보다 큰지 판단한다(S4008). 프로세서(110)는 상기 계산된 선명도가 일정값보다 클 때, 선명도를 감소시킨다(S4009). 프로세서(110)는 상기 계산된 선명도가 일정값보다 작을 때, 상기 차량의 번호판 영역의 이미지를 향상시킨다(S4010). Referring to FIG. 2, the
프로세서(110)는 차량의 번호판 영역이 포함된 이미지에서 번호판 타입을 선택한다(S4011). 상기 번호판 타입은 싱글 라인(single line) 번호판, 또는 더블 라인(double line) 번호판으로 나눠질 수 있다. 또한, 상기 번호판 타입은 지명명이 포함되는지 여부로 분류될 수 있다. 프로세서(110)는 분류된 번호판 영역에서 문자 영역을 분류한다(S4012). The
도 4는 도 1에 도시된 차량 번호판 인식 장치의 동작을 설명하기 위해 차량번호판 인식 장치에 의해 처리된 다른 이미지들을 나타낸다. 구체적으로 도 4는 잘못된 문자 영역의 분류를 나타내는 이미지들이다. 분류된 번호판 영역에서 문자 영역의 분류 동작은 중요하다. 분류 동작이 잘못되면, 잘못된 문자로 인식될 수 있다. FIG. 4 shows other images processed by the vehicle license plate recognition apparatus to explain the operation of the vehicle license plate recognition apparatus shown in FIG. 1. Specifically, FIG. 4 is an image showing classification of an incorrect character area. In the classified license plate area, the classification operation of the character area is important. If the classification operation is wrong, it may be recognized as an incorrect character.
프로세서(110)는 분류된 문자 영역에서 미리 설정된 피처 맵을 추출한다(S4013). 상기 미리 설정된 피처 맵은 문자의 특징을 수치로 표현한 것으로 정의된다. 상기 미리 설정된 피처 맵은 ANN 구조 신경망 알고리즘에서 입력으로 이용된다. 예컨대, 상기 미리 설정된 피처 맵은 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수로 정의될 수 있다. 또한, 상기 미리 설정된 피처 맵은 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있다. 또한, 상기 미리 설정된 피처 맵은 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있다.
프로세서(110)는 분류된 문자 영역에서 CNN 알고리즘을 수행하여 CNN 피처 맵을 출력한다(S4014). The
The
프로세서(110)는 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량 번호판을 인식한다(S4015). 즉, 프로세서(110)는 미리 설정된 피처 맵과 CNN 알고리즘을 통해 출력된 CNN 피처 맵을 입력으로 CNN 알고리즘을 적용하여 차량 번호판을 인식한다. The
프로세서(110)는 문자열을 인식하고, 문자들의 종류 및 배치 규칙에 따라 오인식 여부를 판단하고, 최종 번호판 문자열 인식 결과를 출력한다(S4016). The
차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 것에 대해서는 뒤에서 자세히 설명될 것이다. The application of the feature maps extracted from the text area recognized in the vehicle license plate area to the CNN algorithm will be described in detail later.
도 5는 도 1에 도시된 프로세서에 의해 처리되는 CNN 알고리즘의 블록도를 나타낸다. 5 shows a block diagram of a CNN algorithm processed by the processor shown in FIG. 1.
도 1 내지 도 5를 참고하면, CNN(Convolutional Neural Network)는 딥 러닝(deep learning) 알고리즘으로, 이미지를 분석하는데 주로 이용된다. 1 to 5, a convolutional neural network (CNN) is a deep learning algorithm and is mainly used to analyze an image.
CNN 알고리즘은 제1컨볼루션 레이어(convolution layer), 제1맥스 풀링 레이어(max pooling layer), 제2컨볼루션 레이어(convolution layer), 제2맥스 풀링 레이어(max pooling layer), 및 풀리 커넥티드 레이어(fully connected layer)를 포함한다. The CNN algorithm includes a first convolution layer, a first max pooling layer, a second convolution layer, a second max pooling layer, and a fully connected layer. Includes (fully connected layer).
프로세서(110)는 제1컨볼루션 레이어의 동작을 수행한다. 제1컨볼루션 레이어에서 동작은 아래와 같다. The
프로세서(110)는 하나의 인식된 문자 영역을 포함하는 이미지를 수신한다. 상기 하나의 인식된 문자 영역을 포함하는 이미지에는 하나의 숫자, 하나의 영문자, 또는 하나의 한글이 포함된다. 상기 이미지는 0, 또는 1을 가지는 픽셀값들로 구성된다. 상기 이미지는 (가로 사이즈, 세로 사이즈, 채널의 수)로 표현된다. 이미지가 이진화될 때, 채널의 수는 1이다. 예컨대, 도 6에 도시된 이미지는 (28, 28, 1)로 표현될 수 있다. The
프로세서(110)는 상기 수신된 이미지와 제1필터에 대해 컨볼루션 연산을 수행하여 제1컨볼루션 결과 값들을 출력한다. 상기 수신된 이미지는 입력 피처 맵(input feature map)으로 호칭될 수 있다. 상기 제1컨볼루션 결과 값들은 제1출력 피처 맵(output feature map)으로 호칭될 수 있다. 상기 제1필터는 매트릭스 형태로 구현되며, 상기 수신된 이미지에서 에지(edge)를 검출하거나 상기 수신된 이미지를 선명화하는데 이용된다. 각각의 목적에 따라 상기 매트릭스에 이용되는 정수는 다양할 수 있다. 상기 제1필터는 커널(kernel)이라고 호칭될 수 있다. 상기 제1필터는 (필터의 가로 사이즈, 필터의 세로 사이즈, 필터 채널의 수) x (필터의 개수)로 표현될 수 있다. 예컨대, 도 5에 도시된 제1필터는 (5, 5, 1) x 16으로 표현될 수 있다. The
상기 컨볼루션 연산은 상기 수신된 이미지와 상기 제1필터의 컨볼루션을 의미한다. 이 때, 상기 제1필터에 가중치(weight)가 곱해질 수 있다. 컨볼루션 연산의 결과인 제1출력 피처 맵은 (가로 크기, 세로 크기, 필터의 개수)로 표현될 수 있다. The convolution operation means convolution of the received image and the first filter. In this case, a weight may be multiplied by the first filter. The first output feature map resulting from the convolution operation may be expressed as (horizontal size, vertical size, number of filters).
도 5에 도시된 상기 수신된 이미지인 입력 피처 맵이 (28, 28, 1)이고, 제1필터가 (5, 5, 1) x 16일 때, 제1출력 피처 맵은 (24, 24, 16)으로 표현될 수 있다. When the input feature map that is the received image shown in FIG. 5 is (28, 28, 1) and the first filter is (5, 5, 1) x 16, the first output feature map is (24, 24, It can be expressed as 16).
도 6은 도 5에 도시된 입력 피처 맵과 출력 피처 맵 사이의 관계를 설명하기 위한 블록도를 나타낸다. FIG. 6 is a block diagram illustrating a relationship between an input feature map and an output feature map shown in FIG. 5.
도 1 내지 도 6을 참고하면, 입력 피처 맵이 (l-1)이고, 출력 피처 맵이 (l)이고, 필터 뱅크 w을 이용한 컨볼루션 연산은 다음의 수학식과 같다. 1 to 6, an input feature map is (l-1), an output feature map is (l), and a convolution operation using the filter bank w is as follows.
[수학식 1] [Equation 1]
상기 는 k번째 피처 맵의 c번째 필터의 u행, v열에 위치한 뉴런의 가중치를, 상기는 입력 피처 맵(l-1)의 c 피처 맵의 (i+u)행, (j+v)열에 있는 뉴런의 출력을, 상기는 l층의 k번째 피처 맵의 바이어스를, 상기는 출력 피처 맵(l)의 k번째 출력 피처 맵에서 i행, j열에 위치한 뉴런의 출력을 의미한다. 상기 fc는 입력 피처 맵의 채널 개수, 상기 k는 필터 뱅크의 인덱스를, 상기 c는 입력 피처 맵의 인덱스를. 상기 u와 v는 필터의 가로, 세로 인덱스를 의미한다. remind Is the weight of neurons located in row u and column v of the c-th filter of the k-th feature map, Is the output of the neuron in the (i+u) row, (j+v) column of the c feature map of the input feature map (l-1), Is the bias of the k-th feature map of the l layer, Denotes the output of neurons located in row i and column j in the k-th output feature map of the output feature map (l). Wherein fc is the number of channels of the input feature map, k is the index of the filter bank, and c is the index of the input feature map. The u and v denote the horizontal and vertical indexes of the filter.
예컨대, 상기 제1맥스 풀링 레이어의 출력인 제2출력 피처 맵(12, 12, 16)이 입력 피처 맵(l-1)이고, 제2컨볼루션 레이어의 출력인 제3출력 피처 맵(10, 10, 24)이 출력 피처 맵(l)일 수 있다. 이 때, 제3필터((3, 3, 16) x 24)의 뱅크는 w일 수 있다. For example, the second output feature map (12, 12, 16) that is the output of the first max pooling layer is the input feature map (l-1), and the third output feature map (10, which is the output of the second convolution layer) 10, 24) may be the output feature map (l). In this case, the bank of the third filter (3, 3, 16) x 24 may be w.
도 5를 참고하면, 프로세서(110)는 제1맥스 풀링 레이어의 동작을 수행한다. 제1맥스 풀링 레이어에서 동작은 제1컨볼루션 레이어의 결과값인 제1출력 피처 맵에 제2필터를 적용하여 제2출력 피처 맵을 출력하는 것을 의미한다. 제2필터는 (필터의 가로 사이즈, 필터의 세로 사이즈)로 표현될 수 있다. 예컨대, 도 5에 도시된 제2필터는 (2, 2)로 표현될 수 있다. Referring to FIG. 5, the
도 5에 도시된 제1출력 피처 맵이 (24, 24, 16)이고, 제2필터가 (2, 2)일 때, 제2출력 피처 맵은 (12, 12, 16)으로 표현될 수 있다. When the first output feature map shown in FIG. 5 is (24, 24, 16) and the second filter is (2, 2), the second output feature map may be expressed as (12, 12, 16). .
제1맥스 풀링 레이어에서의 연산은 아래의 수학식과 같이 표현될 수 있다. The operation in the first max pooling layer may be expressed as the following equation.
[수학식 2][Equation 2]
여기서, 상기 m과 상기 n은 각각 필터의 가로와 세로의 크기를 나타내며, 상기 s와 상기 t는 입력 피처 맵의 샘플링 영역 인덱스를 나타낸다. Here, m and n denote the horizontal and vertical dimensions of the filter, respectively, and s and t denote the sampling area index of the input feature map.
프로세서(110)는 제2컨볼루션 레이어의 동작을 수행한다. 제2컨볼루션 레이어에서 동작은 제1컨볼루션 레이어에서의 동작과 유사하다. 즉, 프로세서(110)는 제1맥스 풀링 레이어의 출력인 제2출력 피처 맵과 제3필터를 컨볼루션하여 제3출력 피처 맵을 출력한다. 상기 제3필터는 상기 제1필터와 다른 필터일 수 있다. 도 5에 도시된 상기 수신된 이미지인 제2출력 피처 맵이 (12, 12, 16)이고, 제3필터가 (3, 3, 16) x 24일 때, 제3출력 피처 맵은 (10, 10, 24)으로 표현될 수 있다. The
프로세서(110)는 제2맥스 풀링 레이어의 동작을 수행한다. 제2맥스 풀링 레이어에서 동작은 아래와 같다. 제2맥스 풀링 레이어에서 동작은 제1맥스 풀링 레이어에서의 동작과 유사하다. 즉, 프로세서(110)는 제2컨볼루션 레이어의 출력인 제3출력 피처 맵에 제4필터를 적용하여 제4출력 피처 맵을 출력한다. 상기 제4필터는 상기 제2필터와 다른 필터일 수 있다. 도 5에 도시된 제3출력 피처 맵이 (10, 10, 24)이고, 제4필터가 (2, 2)일 때, 제4출력 피처 맵은 (5, 5, 24)으로 표현될 수 있다. The
프로세서(110)는 풀리 커넥티드 레이어의 동작을 수행한다. 풀리 커넥티드 레이어에서 동작은 아래와 같다. 풀리 커넥티드 레이어는 복수의 풀리 커넥티드 레이어들을 포함한다. 제1풀리 커넉티드 레이어와 제2풀리 커넥티드 레이어 각각은 (입력 뉴런의 개수, 출력 뉴런의 개수)로 표현된다. 제1풀리 커넥티드 레이어에서 입력 뉴런의 개수는 600개이며, 제1풀리 커넥티드 레이어에서 출력 뉴런의 개수는 200개일 수 있다. 제1풀리 커넥티드 레이어의 입력 뉴런은 제4출력 피처 맵(5, 5, 24)에서 도출된다. 제1풀리 커넥티드 레이어의 j번째 출력 뉴런()은 다음의 수학식과 같이 표현될 수 있다. The
[수학식 3][Equation 3]
또한, 제2풀리 커넥티드 레이어에서 입력 뉴런의 개수는 제1풀리 커넥티드 레이어의 출력 뉴런의 개수인 200개이며, 제2풀리 커넥티드 레이어의 출력 뉴런의 개수인 10개일 수 있다. 제2풀리 커넥티트 레이어의 k번째 뉴런의 가중 합의 입력값 z와 출력 값은 O은 아래의 수학식과 같이 표현될 수 있다. In addition, the number of input neurons in the second pulley-connected layer may be 200, which is the number of output neurons in the first pulley-connected layer, and 10, which is the number of output neurons in the second pulley-connected layer. An input value z and an output value of the sum of the weights of the k-th neuron of the second pulley connect layer may be expressed by the following equation.
[수학식 4][Equation 4]
프로세서(110)는 복수의 서로 다른 이미지들을 수신하여 CNN 알고리즘인 제1컨볼루션 레이어, 제1맥스 풀링 레이어, 제2컨볼루션 레이어, 제2맥스 풀링 레이어, 및 풀리 커넥티드 레이어의 동작들을 반복하여 CNN 알고리즘을 학습시킨다. 학습에 따라 풀리 커넥티드 레이어의 가중치와 컨볼루션 레이어들의 필터 가중치가 업데이트된다. The
도 7은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 일 실시 예를 나타낸다. 도 8은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 다른 실시 예를 나타낸다. 도 9는 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 또 다른 실시 예를 나타낸다. 7 shows an embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1. 8 shows another embodiment of a block diagram of the neural network algorithm processed by the processor shown in FIG. 1. 9 shows another embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1.
도 1, 및 도 7 내지 도 9를 참고하면, 프로세서(110)는 하나의 인식된 문자 영역을 포함하는 이미지를 수신한다. 프로세서(110)는 상기 수신된 이미지에 대해 제1컨볼루션 연산을 수행하여 제1출력 피처 맵을 출력한다. 1 and 7 to 9, the
프로세서(110)는 상기 제1출력 피처 맵에 대해 샘플링을 적용하여 제2출력 피처 맵을 출력한다. 즉, 프로세서(110)는 제1맥스 풀링 레이어의 동작을 수행한다.The
프로세서(110)는 상기 출력된 제2출력 피처 맵에 대해 제2컨볼루션 연산을 수행하여 제3출력 피처 맵을 출력한다. The
프로세서(110)는 상기 출력된 제3출력 피처 맵에 대해 샘플링을 적용하여 제4출력 피처 맵을 출력한다. 즉, 프로세서(110)는 제2맥스 풀링 레이어의 동작을 수행한다.The
프로세서(110)는 상기 출력된 제4출력 피처 맵과, 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어(fully connected layer)를 이용하여 상기 하나의 인식된 문자 영역에서 문자를 인식한다. The
상기 풀리 커넥티드 레이어는 입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함한다. The fully connected layer includes an input layer, a hidden layer, and an output layer.
상기 은닉 레이어는 복수의 은닉 뉴런들(neurons)을 포함한다. 상기 은닉 레이어는 (은닉 레이어의 입력 뉴런의 개수, 은닉 레이어의 출력 뉴런의 개수)로 표현될 수 있다. 상기 출력 레이어는 (출력 레이어의 입력 뉴런의 개수, 출력 레이어의 출력 뉴런의 개수)로 표현될 수 있다. 예컨대, 도 8에 도시된 은닉 레이어의 (840, 60)는 은닉 레이어의 입력 뉴런의 개수가 840개이고, 은닉 레이어의 출력 뉴런의 개수가 60개임을 의미한다. 또한, 도 8에 도시된 출력 레이어의 (60, 10)는 출력 레이어의 입력 뉴런의 개수가 60개이며, 출력 레이어의 출력 뉴런의 개수가 10개임을 의미한다. The hidden layer includes a plurality of hidden neurons. The hidden layer may be expressed as (the number of input neurons of the hidden layer and the number of output neurons of the hidden layer). The output layer may be expressed as (the number of input neurons in the output layer and the number of output neurons in the output layer). For example, (840, 60) of the hidden layer shown in FIG. 8 means that the number of input neurons of the hidden layer is 840 and the number of output neurons of the hidden layer is 60. In addition, (60, 10) of the output layer shown in FIG. 8 means that the number of input neurons of the output layer is 60 and the number of output neurons of the output layer is 10.
상기 미리 설정된 피처 맵의 특징들의 개수가 m(m은 2이상의 자연수)개이고, 상기 출력된 제4출력 피처의 특징들의 개수가 n개(n은 2이상의 자연수)일 때, 상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 입력 값()은 다음의 수학식으로 표현된다. When the number of features of the preset feature map is m (m is a natural number of 2 or more), and the number of features of the output fourth output feature is n (n is a natural number of 2 or more), the plurality of hidden neurons Of the jth (j is a natural number) hidden neuron input value ( ) Is expressed by the following equation.
[수학식 5][Equation 5]
상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 출력 값()은 다음의 수학식으로 표현된다. The output value of the j-th (j is a natural number) hidden neuron among the plurality of hidden neurons ( ) Is expressed by the following equation.
[수학식 6][Equation 6]
상기 는 상기 a번째 특징에 대한 j번째 가중치를, 상기 는 상기 미리 설정된 피처 맵의 특징들 중 a번째 특징을, 상기 는 상기 c번째 결과 값에 대한 j번째 가중치를, 상기 는 상기 출력된 제4출력 피처의 특징들 중 c번째 결과 값을, 상기 는 j번째 오프셋(offset)을, 상기 함수 f()는 시그모이드(sigmoid) 함수를 나타낸다. remind Is the j-th weight for the a-th feature, Is the a-th feature among the features of the preset feature map, Is the j-th weight for the c-th result value, Is the c-th result value among the features of the outputted fourth output feature, Denotes the j-th offset, and the function f() denotes a sigmoid function.
상기 미리 설정된 피처 맵의 특징들끼리만 서로 연결되며, 상기 출력된 제4출력 피처의 특징들끼리만 서로 연결된다. Only features of the preset feature map are connected to each other, and only features of the output fourth output feature are connected to each other.
상기 출력 레이어는 복수의 출력 뉴런들을 포함하며, 상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 입력 값()은 다음의 수학식으로 표현된다. The output layer includes a plurality of output neurons, and an input value of the output neuron (k is a natural number) among the plurality of output neurons ( ) Is expressed by the following equation.
[수학식 7][Equation 7]
상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 출력 값()은 다음의 수학식으로 표현된다. The output value of the k-th (k is a natural number) output neuron among the plurality of output neurons ( ) Is expressed by the following equation.
[수학식 8][Equation 8]
상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치를, 상기 는 상기 j번째 은닉 뉴런의 출력 값을, 상기 는 k번째 오프셋을 나타낸다. remind Is the k-th weight for the output value of the j-th hidden neuron, Is the output value of the j-th hidden neuron, Represents the k-th offset.
복수의 출력 뉴런들 중 k번째 뉴런의 에러 와 10개의 뉴런들의 전체 에러 E는 다음의 수학식들로 표현된다. The error of the k-th neuron among the plurality of output neurons The total error E of and 10 neurons is expressed by the following equations.
[수학식 9][Equation 9]
상기 는 입력 샘플 이미지에 대한 기대되는 출력 값이고, 상기 는 실제 출력 값을 나타낸다. remind Is the expected output value for the input sample image, where Represents the actual output value.
[수학식 10][Equation 10]
상기 E는 10개의 뉴런들의 전체 에러를 나타낸다. E represents the total error of 10 neurons.
프로세서(110)는 출력된 제4출력 피처 맵과, 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어(fully connected layer)에서도 전체 에러(E)를 줄이기 위해 가중치(W)를 업데이트한다. The
j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치의 오차와, 상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치의 오차는 에러 역전파(error backpropagation) 알고리즘으로 계산될 수 있다. 에러 역전판 알고리즘은 다음의 수학식들로 표현된다. An error of the k-th weight with respect to the output value of the j-th hidden neuron and the error of the j-th weight with respect to the output value of the i-th input neuron may be calculated by an error backpropagation algorithm. The error inversion plate algorithm is expressed by the following equations.
[수학식 11][Equation 11]
[수학식 12][Equation 12]
상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치의 오차를, 상기 는 상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치의 오차를 나타낸다. 상기 은 학습율을 나타낸다. remind Is the error of the k-th weight with respect to the output value of the j-th hidden neuron, Denotes an error of the j-th weight with respect to the output value of the i-th input neuron. remind Represents the learning rate.
프로세서(110)는 은닉 레이어와 출력 레이어에서 가중치들의 오차를 계산하고, 아래의 수학식을 이용하여 기존의 가중치들을 업데이트한다. The
[수학식 13][Equation 13]
상기 는 모멘템으로 가중치를 업데이트할 때, 기존의 업데이트 방향으로 관성이 유지되도록하는 상수이다.remind Is a constant that keeps the inertia in the existing update direction when updating the weight with the momentum.
차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 시스템(10)은 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량 번호판을 인식함으로써 CNN 알고리즘만을 이용하여 차량 번호판을 인식하는 것보다 정확하게 차량 번호판을 인식할 수 있다는 장점이 있다. The vehicle license
도 10은 도 7에 도시된 신경망 알고리즘의 학습에 따른 과적합 왜곡의 그래프를 나타낸다. 10 shows a graph of overfit distortion according to learning of the neural network algorithm shown in FIG. 7.
도 10을 참고하면, 가중치들을 업데이트하기 위해 반복적으로 신경망 알고리즘을 학습시킬 때, 도 10에 도시된 바와 같이 결정면이 왜곡될 수 있다. 특히, 결정면의 근처의 샘플들의 분류 능력이 떨어질 수 있다. 가중치들을 과도하게 업데이트하여 분류 능력이 떨어지는 현상을 오버-피팅(over-fitting) 또는 과적합이라 한다.Referring to FIG. 10, when a neural network algorithm is repeatedly trained to update weights, a crystal plane may be distorted as shown in FIG. 10. In particular, the ability to classify samples in the vicinity of the crystal plane may deteriorate. A phenomenon in which the classification ability is deteriorated by excessively updating the weights is called over-fitting or overfitting.
도 11은 도 10에 도시된 과적합 왜곡의 문제점을 해소하기 위한 그래프를 나타낸다. 도 10의 X축은 반복 학습의 횟수를 의미하며, Y축은 정확도를 나타낸다. 11 shows a graph for solving the problem of overfit distortion shown in FIG. 10. The X-axis of FIG. 10 indicates the number of repetitive learning, and the Y-axis indicates accuracy.
도 1과 도 11을 참고하면, 반복 학습의 횟수가 증가할수록 객체 분류의 정확도가 증가하지 않는다. 반복 학습의 횟수가 과다하게 수행될 때, 오버-피팅의 문제가 발생할 수 있다. 반복 학습의 횟수가 너무 적게 수행될 때, 정확도가 떨어지는 언더-피팅(under-fitting)의 문제가 발생할 수 있다. Referring to FIGS. 1 and 11, the accuracy of object classification does not increase as the number of repetitive learning increases. When the number of repetitive learning is excessively performed, a problem of over-fitting may occur. When the number of iterative learning is performed too little, a problem of under-fitting, which is less accurate, may occur.
오버-피팅의 문제를 해결하기 위해 프로세서(110)는 아래와 같은 수학식들을 적용한다. In order to solve the over-fitting problem, the
[수학식 14][Equation 14]
상기 는 상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치의 오차를 , 상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을 나타낸다. 상기 는 상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치를 나타낸다. remind Is the error of the j-th weight with respect to the output value of the i-th input neuron, Is a constant, the weight reduction ratio to reduce the existing weight, Denotes a learning rate that determines how much to update the weights. remind Represents the j-th weight for the output value of the i-th input neuron.
[수학식 15][Equation 15]
상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치의 오차를, 상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을, 상기 는 복수의 출력 뉴런들 중 k번째 뉴런의 에러를 나타낸다. 상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치를, 상기 f'(zk)는 를 나타낸다. remind Is the error of the k-th weight with respect to the output value of the j-th hidden neuron, Is a constant, the weight reduction ratio to reduce the existing weight, Is the learning rate that determines how much to update the weights, Represents the error of the k-th neuron among the plurality of output neurons. remind Is the k-th weight for the output value of the j-th hidden neuron, and f'(z k ) is Represents.
상기 수학식 14와 수학식 15는 상기 수학식 11과 수학식 12와는 다르다. 상기 수학식 14와 수학식 15를 이용하여 가중치를 업데이트할 때, 큰 가중치에 대해 가중치를 어느 정도 감소시킴으로써 오버-피팅의 문제를 해결할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.12 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
도 12를 참고하면, 도 1에 도시된 차량 번호판 인식 시스템(10)은 주차 유도 시스템(200)으로 이용될 수 있다. 주차 유도 시스템(200)은 주차된 차량의 번호판을 인식하여 주차된 차량의 위치 정보를 제공할 수 있는 시스템이다. Referring to FIG. 12, the vehicle license
주차 유도 시스템(200)은 복수의 카메라 모듈들(240, 250, 260, 및 270), 복수의 입구 가이드 디스플레이들(241, 251, 261, 및 271), 복수의 층 가이드 디스플레이들(243, 253), 복수의 키오스크들(245, 255, 263, 및 273), 복수의 SCU(Sub Control units; 247, 257), 복수의 MCU(Main Control units; 249, 259, 269, 및 279), 스위치(280), API 서버(201), NVR(Network Video Recorder; 203), 이미지 분석 서버(210), 가이드 서버(205), 및 모니터링 서버(207)를 포함한다. 도 1에 도시된 차량 번호판 인식 장치(100)는 도 12에서는 이미지 분석 서버(210)와 대응된다. 다만, 이미지 분석 서버(210)는 도 1에 도시된 차량 번호판 인식 장치(100)와는 달리 복수의 카메라 모듈들(240, 250, 260, 및 270)이 이미지 분석 서버(210)의 내부가 아니라 외부에 구현되어 있다는 점에서 차이가 있다. 이미지 분석 서버(210)는 프로세서(211)와 메모리(213)를 포함한다. 이미지 분석 서버(210)의 프로세서(211)와 메모리(213)의 동작은 도 1에 도시된 차량 번호판 인식 장치(100)의 프로세서(110)와 메모리(120)의 동작과 서로 비슷한 동작을 수행한다. The
복수의 카메라 모듈들(240, 250, 260, 및 270)은 건물의 지하 2층(B02)부터 지상 3층(F03) 각각에 설치된다. 복수의 카메라 모듈들(240, 250, 260, 및 270)은 주차된 차량을 촬영하고, 촬영된 차량의 이미지를 스위치(280)를 통해 NVR(203), 이미지 분석 서버(210), 또는 모니터링 서버(207)로 전송한다. 복수의 카메라 모듈들(240, 250, 260, 및 270) 각각은 주차면에서 차량의 움직임의 감지가 가능한 카메라이다. 복수의 카메라 모듈들(240, 250, 260, 및 270) 각각은 주차면에서 차량의 움직임이 감지될 때 촬영된 차량의 이미지를 이미지 분석 서버(210)로 전송한다. The plurality of
복수의 입구 가이드 디스플레이들(241, 251, 261, 및 271) 각각은 각 층의 주차 가능 대수를 표시한다. 복수의 층 가이드 디스플레이들(243, 253) 각각은 현재 층에서 주차 가능 대수를 표시한다. 복수의 키오스크들(245, 255, 263, 및 273)은 각 층마다 설치되며, 차량의 운전자에게 현재 주차된 차량의 위치 정보와, 현재 운전자의 위치와 주차된 차량의 위치 정보 사이의 최단 이동 경로 정보를 제공한다. Each of the plurality of entrance guide displays 241, 251, 261, and 271 displays the number of parking available on each floor. Each of the plurality of floor guide displays 243 and 253 displays the number of available parking spaces on the current floor. A plurality of kiosks (245, 255, 263, and 273) are installed on each floor, and the shortest path between the location information of the currently parked vehicle to the driver of the vehicle and the location of the current driver and the parked vehicle Provide information.
복수의 SCU(247, 257), 또는 복수의 MCU(249, 259, 269, 및 279)는 복수의 카메라 모듈들(240, 250, 260, 및 270), 복수의 입구 가이드 디스플레이들(241, 251, 261, 및 271), 복수의 층 가이드 디스플레이들(243, 253), 및 복수의 키오스크들(245, 255, 263, 및 273)와 연결된다. 복수의 SCU(247, 257), 또는 복수의 MCU(249, 259, 269, 및 279)는 복수의 카메라 모듈들(240, 250, 260, 및 270), 복수의 입구 가이드 디스플레이들(241, 251, 261, 및 271), 복수의 층 가이드 디스플레이들(243, 253), 및 복수의 키오스크들(245, 255, 263, 및 273)에 전원을 공급하고, 이들을 제어한다. A plurality of SCU (247, 257), or a plurality of MCUs (249, 259, 269, and 279) is a plurality of camera modules (240, 250, 260, and 270), a plurality of entrance guide displays (241, 251) , 261, and 271, a plurality of floor guide displays 243, 253, and a plurality of
스위치(280)는 복수의 MCU(249, 259, 269, 및 279), API 서버(290), NVR(203), 이미지 분석 서버(210), 가이드 서버(205), 및 모니터링 서버(207)와 연결된다. 스위치(280)는 복수의 MCU(249, 259, 269, 및 279) 중 어느 하나를 통해 전송되는 주차 위치 정보, 차량의 이미지를 API 서버(201), NVR(203), 이미지 분석 서버(210), 가이드 서버(205), 및 모니터링 서버(207) 중 어느 하나로 전송할 수 있다. The
API 서버(201)는 주차 관제를 위한 주차 요금 관제 시스템(미도시), 또는 주차 가능 정보를 필요로 하는 관공서의 서버 등과의 연계를 위한 장치이다. The
NVR(203)은 복수의 카메라 모듈들(240, 250, 260, 및 270) 중 어느 하나로부터 전송된 주차된 차량의 이미지를 저장한다. 일반적으로 주차장에서 별도의 보안용 CCTV 카메라가 설치되는 경우가 있다. 하지만, 복수의 카메라 모듈들(240, 250, 260, 및 270)은 2개의 채널을 이용하여 하나는 CCTV 카메라와 같은 방범용으로, 나머지 하나는 차량 번호판 인식을 위한 이미지 분석용으로 사용될 수 있다. 이 때, 별도의 보안용 CCTV 카메라를 설치할 필요 없이 하나의 카메라 모듈만을 이용하여 방범과 이미지 분석의 목적을 달성할 수 있어 비용 절감이 가능하다. The
이미지 분석 서버(210)는 복수의 카메라 모듈들(240, 250, 260, 및 270) 중 어느 하나로부터 전송된 주차된 차량의 번호판 영역을 포함하는 이미지를 수신한다. 이미지 분석 서버(210)는 수신된 이미지에 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량의 번호판의 문자를 인식한다. 이미지 분석 서버(210)는 복수의 카메라 모듈들(240, 250, 260, 및 270) 각각으로부터 차량의 움직임이 감지될 때마다 차량의 이미지를 수신하고, 각각의 이미지에서 차량의 번호판의 문자를 인식한다. 이미지 분석 서버(210)는 각각 인식된 차량의 번호판의 문자에 대해 가중치를 적용한다. 이미지 분석 서버(210)는 가중치가 적용된 번호판의 문자에 대해 최종 문자를 확정한다. The
이미지 분석 서버(210)의 프로세서(211)는 도 1에 도시된 차량 번호판 인식 장치(100)의 프로세서(110)와 유사하게 차량의 번호판의 문자를 인식하기 위해 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 기술을 실행한다. 도 1에 도시된 차량 번호판 인식 장치(100)의 메모리(120)와 유사하게 메모리(213)는 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 기술에 대응되는 명령들을 저장한다. 프로세서(110)와 메모리(120)의 구체적인 동작은 앞에서 자세히 설명되었다. The
가이드 서버(205)는 각 층의 주차 가능 대수 정보, 특정 차량의 주차 위치 정보, 또는 현재 운전자의 위치와 주차된 차량의 위치 정보 사이의 최단 이동 경로 정보를 복수의 입구 가이드 디스플레이들(241, 251, 261, 및 271), 복수의 층 가이드 디스플레이들(243, 253), 또는 복수의 키오스크들(245, 255, 263, 및 273)에 제공한다. The
모니터링 서버(207)는 복수의 카메라 모듈들(240, 250, 260, 및 270) 중 어느 하나로부터 전송된 주차된 차량의 이미지를 수신하여 주차된 차량을 모니터링하는데 이용된다. The
도 13은 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.13 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
도 13을 참고하면, 도 1에 도시된 차량 번호판 인식 시스템(10)은 주차 관제 시스템(300)으로 이용될 수 있다. 주차 관제 시스템(300)은 주차 차량의 관리를 위해 차량의 번호판을 인식하는 시스템이다. Referring to FIG. 13, the vehicle license
주차 관제 시스템(300)은 제1차단기(310)와 제1차량 번호 인식기(320)를 포함한다. 실시 예에 따라 주차 관제 시스템(300)은 제2차단기(311), 제2차량 번호 인식기(330), 경차 판별 센서(340), 4면 촬영 카메라(350), 제3차량 번호 인식기(360), 출구 무인 요금 정산기(370), 출차 주의등(380), 또는 루프 코일(390)을 더 포함할 수 있다. 주차 관제 시스템(300)에 포함된 각 구성요소들(310, 311, 320, 330, 340, 350, 360, 370, 380, 390)은 무선, 또는 유선으로 네트워크로 연결된다. The
제1차단기(310)는 차량이 허가 없이 주차장으로 진입하는 것을 방지하는데 이용된다. 제2차단기(311)는 차량이 허가 없이 주차장에서 진출하는 것을 방지하는데 이용된다. The
제1차량 번호 인식기(320), 제2차량 번호 인식기(330), 또는 제3차량 번호 인식기(360)는 차량의 번호판을 촬영하고 촬영된 차량 번호판 이미지에서 차량의 번호판을 인식하고, 인식된 차량의 번호를 네트워크를 통해 주차 관제 서버(미도시)로 전송한다. 제1차량 번호 인식기(320), 제2차량 번호 인식기(330), 또는 제3차량 번호 인식기(360)는 도 1에 도시된 차량 번호판 인식 장치(100)와 유사한 기능을 수행한다.The first
제1차량 번호 인식기(320)는 진입하는 차량의 전면의 차량 번호판을 촬영한다. 제2차량 번호 인식기(330)는 진입하는 차량의 후면의 차량의 번호판을 촬영한다. 제3차량 번호 인식기(360)는 진출하는 차량의 전면의 차량 번호판을 촬영한다. The first
제1차량 번호 인식기(320), 제2차량 번호 인식기(330), 또는 제3차량 번호 인식기(360) 각각은 각각의 프로세서(미도시)와 메모리(미도시)를 포함한다. 상기 프로세서는 도 1에 도시된 차량 번호판 인식 장치(100)의 프로세서(110)와 유사하게 차량의 번호판의 문자를 인식하기 위해 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 기술을 실행한다. 도 1에 도시된 차량 번호판 인식 장치(100)의 메모리(120)와 유사하게 상기 메모리는 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 기술에 대응되는 명령들을 저장한다. 프로세서(110)와 메모리(120)의 구체적인 동작은 앞에서 자세히 설명되었다. Each of the first
경차 판별 센서(340)는 빛을 쏘아 차량이 경차인지 여부를 판단한다. 경차 판별 센서(340)는 레이저 스캐너로 구현될 수 있다. The compact
4면 촬영 카메라(350)는 차량의 4면을 촬영할 수 있다. 4면 촬영 카메라(350)는 촬영된 차량의 4면의 이미지를 처리하는 프로세서(미도시)와, 처리된 이미지를 저장하는 메모리(미도시)를 더 포함할 수 있다. 실시 예에 따라 상기 프로세서와 상기 메모리는 NVR(Network Video Network)로 구현될 수 있다. The four-sided photographing
출구 무인 요금 정산기(370)는 네트워크를 통해 상기 주차 관제 서버로부터 차량의 주차 요금을 수신한다. The exit
출차 주의등(380)은 차량이 출차할 때, 출차 중임이 표시된다. When the vehicle leaves the vehicle, the
루프 코일(390)은 차량의 진입을 인식한다. The
도 14는 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.14 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
도 14를 참고하면, 도 1에 도시된 차량 번호판 인식 시스템(10)은 불법 주정차 단속 시스템(400)으로 이용될 수 있다. 불법 주정차 단속 시스템(400)은 도로에 불법으로 주정차된 차량을 감시하는 시스템이다. Referring to FIG. 14, the vehicle license
불법 주정차 단속 시스템(400)은 카메라(410), 보조 카메라(421, 423), 및 차량 번호 인식기(440)를 포함할 수 있다. 또한, 실시 예에 따라 불법 주정차 단속 시스템(400)은 LED 전광판(430), 또는 스피커(미도시)를 더 포함할 수 있다. LED 전광판(430)은 주차 정보에 관한 정보가 표시될 수 있다. 예컨대, LED 전광판(430)은 '주차금지'라는 단어가 표시될 수 있다. 상기 스피커는 차량의 주정차를 금지한다는 음성을 출력한다. The illegal
카메라(410)와 보조 카메라(421, 423)는 지지대(401)의 끝 부분에 구현된 다른 지지대의 끝에 구현될 수 있다. 차량 번호 인식기(440)는 지지대(401)의 아랫부분에 위치한 별도의 박스 내부에 구현될 수 있다. 카메라(410), 보조 카메라(421, 423), LED 전광판(430), 및 차량 번호 인식기(440)는 유선, 또는 무선으로 서로 연결된다.The
차량(403)이 주정차가 금지된 도로에 있을 때, 카메라(410)는 차량(403)의 번호판을 촬영한다. When the
차량 번호 인식기(440)는 카메라(410)에 의해 촬영된 차량(403)의 번호판 이미지를 수신하여 차량(403)의 번호를 식별한다. 차량 번호 인식기(440)는 도 1에 도시된 차량 번호판 인식 장치(100)와 유사한 동작을 수행한다. 다만, 차량 번호 인식기(440)는 도 1에 도시된 차량 번호판 인식 장치(100)와는 다르게 카메라(410)가 외부에 구현되어 있다. The
차량 번호 인식기(440)는 프로세서(450), 메모리(460), 및 통신 모듈(470)을 포함한다. 프로세서(450)는 메모리(460)에 저장된 차량 번호 인식 기술에 관한 명령들을 실행한다. 프로세서(450)는 도 1에 도시된 차량 번호판 인식 장치(100)의 프로세서(110)와 유사하게 카메라(410)에 의해 촬영된 차량(403)의 번호판 이미지를 수신하고, 수신된 차량 번호판 이미지에 대해차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량의 번호를 인식한다. 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용한 차량 번호판 인식 기술은 앞에서 자세히 설명되었다. 메모리(460)는 도 1에 도시된 메모리(120)와 유사한 명령들을 저장한다. The
실시 예에 따라 불법 주정차 단속 시스템(400)은 AMP(480)와 AVR(Automatic Voltage Regulator; 490)를 더 포함할 수 있다. AMP(480)와 AVR(490)는 차량 번호 인식기(440)와 서로 연결된다. AMP(480)는 상기 스피커를 통해 출력되는 음성을 증폭한다. AVR(490)는 불법 주정차 단속 시스템(400)이 안정적으로 전원을 공급받도록 한다. According to an embodiment, the illegal
도 15는 본 발명의 또 다른 실시 예에 따른 차량 번호판 인식 시스템의 블록도를 나타낸다.15 is a block diagram of a vehicle license plate recognition system according to another embodiment of the present invention.
도 15를 참고하면, 도 1에 도시된 차량 번호판 인식 시스템(10)은 무인 단속 시스템(500)으로 이용될 수 있다. 무인 단속 시스템(500)은 과속으로 주행하는 차량(503)을 단속하거나, 신호를 위반하는 차량(503)을 단속하거나, 구간에서 과속으로 주행하는 차량(503)을 단속하는 시스템이다. Referring to FIG. 15, the vehicle license
무인 단속 시스템(500)은 레이더(520), 카메라(510), 및 차량 번호 인식기(530)를 포함할 수 있다. The
레이더(520)와 카메라(510)는 지지대(501)의 끝 부분에 구현된 다른 지지대의 끝에 구현될 수 있다. 차량 번호 인식기(530)는 지지대(501)의 아랫부분에 위치한 별도의 박스 내부에 구현될 수 있다. 레이더(520), 카메라(510), 및 차량 번호 인식기(530)는 유선, 또는 무선으로 서로 연결된다. 실시 예에 따라 무인 단속 시스템(500)은 보조 카메라(미도시)를 더 포함할 수도 있다. The
무인 단속 시스템(500)을 향해 차량(503)이 주행할 때, 레이더(520)는 레이더 신호를 발산하고 차량(503)에 의해 반사되어 되돌아 오는 레이더 신호를 분석하여 차량(503)을 감지한다. 레이더(520)는 서로 다른 시점에서 레이더 신호를 발산하여 차량(503)의 속도를 판단할 수 있다. 레이더(520)의 차량(503)의 감지 범위는 2개의 차선 이상이다. 차량(503)이 가상 트리거 영역에 진입할 때, 레이더(520)는 차량이 주행하는 차선 정보, 트리거 정보, 또는 차량의 속도 정보를 차량 번호 인식기(530)에 전송한다. 상기 차선 정보는 차량이 1차선으로 주행하는지 2차선으로 주행하는지를 나타내는 정보이며, 상기 트리거 정보는 차량이 가상 트리거 영역에 진입한 시간을 나타내는 정보이다. When the
카메라(510)는 연속적으로 복수의 차선들에 대해 영상을 촬영한다. 실시 예에 따라 카메라(510)는 야간에서 촬영을 위해 적외선 LED를 더 포함할 수 있다. The
차량 번호 인식기(530)는 도 1에 도시된 차량 번호판 인식 장치(100)와 유사한 기능을 수행한다. 다만, 차량 번호 인식기(530)는 도 1에 도시된 차량 번호판 인식 장치(100)와는 다르게 카메라(510)가 외부에 구현되어 있다. The
차량 번호 인식기(530)는 CCU(Central Control Unit; 540), ECU(Electrical Control Unit; 550), 및 통신 모듈(560)을 포함한다. CCU(540)는 카메라(510)로부터 촬영된 이미지들을 연속적으로 수신한다. 또한, CCU(540)는 레이더(520)로부터 상기 차선 정보와 상기 트리거 정보를 수신한다. CCU(540)는 도 1에 도시된 차량 번호판 인식 장치(100)의 프로세서(110)와 유사하게 상기 차선 정보와 상기 트리거 정보를 이용하여 카메라(510)로부터 수신된 이미지들 각각에 대해 차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하여 차량의 번호를 인식한다. CCU(540)는 복수의 이미지들에 대해 인식된 차량의 번호에 대해 가중치를 부여하고, 부여된 가중치에 따라 최종 차량의 번호를 도출한다. 실시 예에 따라 CCU(540)는 프로세서로 호칭될 수 있다. 이하, 프로세서는 CCU(540)를 의미한다. 차량 번호 인식기(530)는 CCU(540)의 동작을 실행하기 위한 명령들을 저장하는 메모리(미도시)를 더 포함할 수 있다. 상기 메모리는 도 1에 도시된 차량 번호판 인식 장치(100)의 메모리(120)와 유사한 명령들을 저장한다. The
차량의 번호판 영역에서 인식된 문자 영역에서 추출된 피처맵들을 CNN 알고리즘에 같이 적용하는 차량 번호판 인식 기술은 앞에서 자세히 설명되었다.
ECU(550)는 신호등의 신호를 감지하고, CCU(540), 카메라(510), 또는 레이더(520)에 전원을 공급한다. CCU(540), ECU(550), 통신 모듈(560), 카메라(510), 및 레이더(520)는 서로 유선, 또는 무선으로 연결된다. The vehicle license plate recognition technology that applies the feature maps extracted from the text region recognized in the vehicle license plate region to the CNN algorithm has been described in detail above.
The
CCU(540)는 상기 차선 정보, 상기 트리거 정보, 차량(503)의 속도 정보, 차량(503)의 인식된 번호 정보, 단속 일시 정보, 차량(503)의 이미지, 무인 단속 시스템(500)의 설치 위치 정보 등을 포함하는 데이터를 생성한다. 생성된 데이터는 통신 모듈(530)을 통하여 외부의 서버(미도시)로 전송한다. 상기 외부의 서버는 도로 방범 관제 서버일 수 있다. The
도 16은 도 1에 도시된 프로세서에 의해 처리되는 신경망 알고리즘의 블록도의 또 다른 실시 예를 나타낸다. 16 shows another embodiment of a block diagram of a neural network algorithm processed by the processor shown in FIG. 1.
도 1과 도 16을 참고하면, 프로세서(110)은 상기 출력된 제4출력 피처 맵과 상기 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어를 이용하여 출력된 결과 값들의 차이와 임계값을 비교하여 상기 출력된 결과 값들을 통해 기대되는 문자가 아닌 다른 문자로 인식하는 혼동 가능성이 있는지를 판단한다. 도 15에서 도시된 분류기에 의해 혼동 가능성이 판단된다. 예컨대, 숫자 3과 8은 주변 빛의 영향이나, 카메라의 촬영 각도 때문에 혼동 가능성이 있을 수 있다. 숫자 3을 포함하는 이미지에서 인식을 통해 기대되는 문자는 3이지만, 다른 문자 8로 인식될 수 있다. 반대로, 기대되는 문자가 8일 때, 다른 문자 3으로 인식될 수도 있다. 1 and 16, the
숫자 3을 포함하는 이미지에 대해 상기 출력 피처 맵과 상기 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어를 적용하여 도출된 결과 값들은 숫자 3일 확률이 0.7, 숫자 8일 확률이 0.6일 수 있다. 상기 도출된 결과 값들(예컨대, 0.7과 0.6)의 차이(0.1)는 상기 임계값(예컨대, 0.2)보다 작을 때, 다른 문자로의 혼동 가능성이 있다고 판단될 수 있다. 따라서 상기 풀리 커넥티드 레이어를 적용하여 도출된 결과 값들을 통해 기대되는 숫자 3이 아닌 다른 숫자 8로의 혼동 가능성이 있다고 판단될 수 있다.For the image including the
프로세서(110)은 상기 출력된 결과 값들을 통해 상기 기대되는 문자가 아닌 다른 문자로 인식하는 혼동 가능성이 있다고 판단될 때, 상기 미리 설정된 피처 맵을 재설정하여 제2미리 설정된 피처 맵으로 정의한다. 이 때, 상기 미리 설정된 피처 맵은 제1미리 설정된 피처 맵으로 호칭될 수 있다. When it is determined through the output result values that there is a possibility of confusion in recognizing a character other than the expected character, the
상기 재설정은 혼동 가능성이 있는 문자들을 명확히 구별하기 위해 미리 설정된 피처 맵의 개수를 증가시키는 것을 의미한다. 혼동 가능성이 있는 문자들(예컨대, 3과 8)에서 서로 구별 문자의 특징(예컨대, 대칭성, 또는 선의 연결 여부)을 나타낼 수 있는 피처 맵(예컨대, 문자 가운데를 기준으로 왼쪽 어느 하나의 픽셀과 오른쪽 하나의 픽셀이 서로 대응하는지 여부, 또는 검은 픽셀이 계속 연결되는지 여부)이 추가될 수 있다. The resetting means increasing the number of preset feature maps to clearly distinguish characters that may be confusing. Feature maps (e.g., one pixel on the left and one pixel on the right, based on the center of the character) that can indicate the characteristics of the characters (e.g., symmetry, or whether lines are connected) that can be distinguished from each other in potentially confusing characters (e.g., 3 and 8). Whether one pixel corresponds to each other, or whether black pixels are continuously connected) may be added.
상기 제1미리 설정된 피처 맵과 상기 제2미리 설정된 피처 맵은 ANN 구조 신경망에서 입력으로 이용된다. 예컨대, 상기 제1, 2미리 설정된 피처 맵은 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수로 정의될 수 있다. 또한, 상기 제1, 2미리 설정된 피처 맵은 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있다. 또한, 상기 제1, 2미리 설정된 피처 맵 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있다. 다만, 상기 제2미리 설정된 피처 맵은 상기 제1미리 설정된 피처 맵과 달리 혼동 가능성이 있는 문자들을 명확히 구분하기 위해 설정된다는 점에서 다르다. The first preset feature map and the second preset feature map are used as inputs in an ANN structured neural network. For example, the first and second preset feature maps may divide a character area into predetermined areas and be defined as the number of pixels of characters included in each area. In addition, the first and second preset feature maps may be defined as the sum of white pixels or black pixels positioned on horizontal lines drawn in multiple numbers along the height of a character. In addition, it may be defined as a sum of white pixels or black pixels positioned on vertical lines drawn in multiple numbers according to the first and second preset feature map widths. However, the second preset feature map is different from the first preset feature map in that it is set to clearly distinguish characters that may be confusing.
도 17은 혼동가능성이 있는 숫자들의 차이를 나타내는 이미지들이다. 17 are images showing differences between numbers that may be confusing.
도 17을 참고하면, 숫자 8은 빨간 선을 중심으로 대칭이며, 숫자 3은 빨간 선을 중심으로 대칭이지 않다. 상기 제2미리 설정된 피처 맵은 이러한 숫자의 대칭성을 판단할 수 있도록 설정될 수 있다. Referring to FIG. 17, the
또한, 도 17을 참고하면, 숫자 8의 왼쪽 사각형 부분은 검은색 픽셀들이 연결되어 있으나, 숫자 3의 왼쪽 사각형 부분은 검은색 픽셀들이 서로 연결되어 있지 않다. 실시 예에 따라 상기 제2미리 설정된 피처 맵은 이러한 픽셀의 연결성을 판단할 수 있도록 설정될 수 있다. In addition, referring to FIG. 17, black pixels are connected to the left square of the
프로세서(110)은 상기 분류된 문자 영역을 포함하는 이미지에 대해 상기 CNN 알고리즘을 재적용하여 출력된 제5출력 피처 맵과, 상기 제2미리 설정된 피처 맵을 완전히 연결하는 제2풀리 커넥티드 레이어를 적용하여 문자를 인식한다. 상기 출력된 제4출력 피처 맵과 상기 제1미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어는 제1풀리 커넥티드 레이어로 호칭될 수 있다. The
상기 혼동 가능성이 있는 문자들을 명확히 인식하기 위해 상기 제2풀리 커넥티드 레이어를 적용하는 동작을 수행한다. 상기 적용된 CNN 알고리즘은 상기 제4출력 피처 맵의 출력 과정에서 이용된 가중치들과 같다. In order to clearly recognize the potentially confusing characters, an operation of applying the second pulley connected layer is performed. The applied CNN algorithm is the same as the weights used in the process of outputting the fourth output feature map.
상기 제1풀리 커넥티드 레이어에 입력되는 상기 제4출력 피처 맵의 개수와 상기 제2풀리 커넥티드 레이어에 입력되는 상기 제5출력 피처 맵의 개수는 서로 다르다. 예컨대, 상기 제4출력 피처 맵의 개수가 상기 제5출력 피처 맵의 개수보다 많을 수 있다. 상기 제4출력 피처 맵의 개수가 n개일 때, 상기 제5출력 피처 맵의 개수는 q(q는 n보다 작은 자연수)개일 수 있다.The number of the fourth output feature maps input to the first pulley-connected layer and the number of fifth output feature maps input to the second pulley-connected layer are different from each other. For example, the number of the fourth output feature map may be greater than the number of the fifth output feature map. When the number of the fourth output feature maps is n, the number of the fifth output feature maps may be q (q is a natural number less than n).
상기 제1풀리 커넥티드 레이어에 입력되는 상기 제1미리 설정된 피처 맵의 개수와 상기 제2풀리 커넥티드 레이어에 입력되는 상기 제2미리 설정된 피처 맵의 개수는 서로 다르다. 예컨대, 상기 제1미리 설정된 피처 맵의 개수가 상기 제2미리 설정된 피처 맵의 개수보다 적을 수 있다. 상기 제1미리 설정된 피처 맵의 개수가 m개일 때, 상기 제2미리 설정된 피처 맵의 개수는 p(p는 m보다 큰 자연수)개일 수 있다. 상기 제2미리 설정된 피처 맵의 개수를 상기 제1미리 설정된 피처 맵의 개수보다 많게 함으로써 혼동 가능성이 있는 문자들을 명확히 구분할 수 있다. 즉, 상기 제2미리 설정된 피처 맵의 개수를 증가시킴으로써 상기 제1미리 설정된 피처 맵보다 문자의 특징을 보다 많이 추출할 수 있다. The number of the first preset feature maps input to the first pulley connected layer and the number of second preset feature maps input to the second pulley connected layer are different from each other. For example, the number of first preset feature maps may be smaller than the number of second preset feature maps. When the number of first preset feature maps is m, the number of second preset feature maps may be p (p is a natural number greater than m). By making the number of the second preset feature maps greater than the number of the first preset feature maps, characters that may be confused can be clearly identified. That is, by increasing the number of the second preset feature maps, more character features can be extracted than the first preset feature map.
상기 제4출력 피처 맵의 개수와 상기 제1미리 설정된 피처 맵의 개수의 합과 상기 제5출력 피처 맵의 개수와 상기 제2미리 설정된 피처 맵의 개수는 같다. The sum of the number of the fourth output feature map and the number of the first preset feature map, the number of the fifth output feature map and the number of the second preset feature map are the same.
상기 제1풀리 커넥티드 레이어의 은닉 레이어와 출력 레이어에서 가중치들과 상기 제2풀리 커넥티드 레이어의 은닉 레이어와 출력 레이어에서 가중치들은 같다. Weights in the hidden layer and the output layer of the first pulley-connected layer and the weights in the hidden layer and the output layer of the second pulley-connected layer are the same.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to an embodiment illustrated in the drawings, this is only exemplary, and those of ordinary skill in the art will appreciate that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the attached registration claims.
10: 차량 번호판 인식 시스템
100: 차량 번호판 인식 장치
110: 프로세서;
120: 메모리;
130: 카메라;
140: 통신 모듈; 10: vehicle license plate recognition system
100: vehicle license plate recognition device
110: processor;
120: memory;
130: camera;
140: communication module;
Claims (5)
상기 프로세서는 차량의 번호판 영역을 포함하는 이미지를 수신하는 단계;
상기 프로세서는 상기 차량의 번호판 영역에서 분류된 문자 영역을 인식하는 단계;
상기 프로세서는 상기 분류된 문자 영역을 포함하는 이미지에 대해 제1컨볼루션 연산을 수행하여 제1출력 피처 맵을 출력하는 단계;
상기 프로세서는 상기 출력된 제1출력 피처 맵에 대해 샘플링을 적용하여 제2출력 피처 맵을 출력하는 단계;
상기 프로세서는 상기 제2출력 피처 맵에 대해 제2컨볼루션 연산을 수행하여 제3출력 피처 맵을 출력하는 단계;
상기 프로세서는 상기 출력된 제3출력 피처 맵에 대해 샘플링을 적용하여 제4출력 피처 맵을 출력하는 단계; 및
상기 프로세서는 상기 출력된 제4출력 피처 맵과, 문자의 특징을 수치로 표현한 것으로 정의되며, 상기 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수이거나, 상기 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합이거나, 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있는 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어(fully connected layer)를 이용하여 상기 분류된 문자 영역에서 문자를 인식하는 단계를 포함하는 신경망을 이용한 차량 번호판 인식 방법. A vehicle license plate recognition method using a new network neural network performed by a vehicle license plate recognition device including a processor and a memory to recognize characters on the license plate of the vehicle,
The processor receiving an image including a license plate area of the vehicle;
Recognizing, by the processor, a character area classified in a license plate area of the vehicle;
The processor outputting a first output feature map by performing a first convolution operation on the image including the classified character region;
The processor outputting a second output feature map by applying sampling to the output first output feature map;
The processor performing a second convolution operation on the second output feature map to output a third output feature map;
The processor outputting a fourth output feature map by applying sampling to the outputted third output feature map; And
The processor is defined as a numerical expression of the outputted fourth output feature map and character characteristics, and divides the character area into predetermined areas and is the number of pixels of characters included in each area, or according to the height of the character. Complete a preset feature map that can be defined as the sum of white pixels or black pixels located on multiple drawn horizontal lines, or the sum of white pixels or black pixels located on multiple drawn vertical lines depending on the width. A method for recognizing a vehicle license plate using a neural network, comprising the step of recognizing a character in the classified character area using a fully connected layer that connects.
입력 레이어(input layer), 은닉 레이어(hidden layer), 및 출력 레이어(output layer)를 포함하며,
상기 은닉 레이어는 복수의 은닉 뉴런들(neurons)을 포함하며,
상기 미리 설정된 피처 맵의 특징들의 개수가 m(m은 2이상의 자연수)개이고, 상기 출력된 제4출력 피처의 특징들의 개수가 n개(n은 2이상의 자연수)일 때,
상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 입력 값()은 다음의 수학식으로 표현되며,
[수학식]
상기 복수의 은닉 뉴런들 중 j번째(j는 자연수) 은닉 뉴런의 출력 값()은 다음의 수학식으로 표현되며,
[수학식]
상기 는 상기 a번째 특징에 대한 j번째 가중치를, 상기 는 상기 미리 설정된 피처 맵의 특징들 중 a번째 특징을, 상기 는 상기 c번째 결과 값에 대한 j번째 가중치를, 상기 는 상기 출력된 제4출력 피처의 특징들 중 c번째 결과 값을, 상기 는 j번째 오프셋(offset)을, 상기 함수 f()는 시그모이드(sigmoid) 함수를 나타내는 신경망을 이용한 차량 번호판 인식 방법.The method of claim 1, wherein the fully connected layer,
Includes an input layer, a hidden layer, and an output layer,
The hidden layer includes a plurality of hidden neurons (neurons),
When the number of features of the preset feature map is m (m is a natural number of 2 or more), and the number of features of the output fourth output feature is n (n is a natural number of 2 or more),
The input value of the j-th (j is a natural number) hidden neuron among the plurality of hidden neurons ( ) Is expressed by the following equation,
[Equation]
The output value of the j-th (j is a natural number) hidden neuron among the plurality of hidden neurons ( ) Is expressed by the following equation,
[Equation]
remind Is the j-th weight for the a-th feature, Is the a-th feature among the features of the preset feature map, Is the j-th weight for the c-th result value, Is the c-th result value among the features of the outputted fourth output feature, Denotes the j-th offset, and the function f() denotes a sigmoid function.
상기 출력 레이어는 복수의 출력 뉴런들을 포함하며,
상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 입력 값()은 다음의 수학식으로 표현되며,
[수학식]
상기 복수의 출력 뉴런들 중 k번째(k는 자연수) 출력 뉴런의 출력 값()은 다음의 수학식으로 표현되며,
[수학식]
상기 는 상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치를, 상기 는 상기 j번째 은닉 뉴런의 출력 값을, 상기 는 k번째 오프셋을, 상기 함수 f()는 시그모이드(sigmoid) 함수를 나타내는 신경망을 이용한 차량 번호판 인식 방법.The method of claim 2,
The output layer includes a plurality of output neurons,
The input value of the k-th (k is a natural number) output neuron among the plurality of output neurons ( ) Is expressed by the following equation,
[Equation]
The output value of the k-th (k is a natural number) output neuron among the plurality of output neurons ( ) Is expressed by the following equation,
[Equation]
remind Is the k-th weight for the output value of the j-th hidden neuron, Is the output value of the j-th hidden neuron, Is a k-th offset, and the function f() is a sigmoid function. A method of recognizing a vehicle license plate using a neural network.
상기 i번째 입력 뉴런의 출력 값에 대한 j번째 가중치의 오차인 상기 는 다음의 수학식으로 표현되며,
[수학식]
상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을 나타내며,
상기 j번째 은닉 뉴런의 출력 값에 대한 k번째 가중치의 오차인 상기 는 다음의 수학식으로 표현되며,
[수학식]
상기 는 상수로, 기존의 가중치를 줄이기 위해 가중치 감소 비율을, 상기는 가중치를 어느 정도로 업데이트할 것인지 결정하는 학습율을, 상기 는 복수의 출력 뉴런들 중 k번째 뉴런의 에러를, 상기 f'(zk)는 를 나타내는 신경망을 이용한 차량 번호판 인식 방법.The method of claim 3,
The error of the j-th weight with respect to the output value of the i-th input neuron Is expressed by the following equation,
[Equation]
remind Is a constant, the weight reduction ratio to reduce the existing weight, Represents the learning rate that determines how much to update the weights,
The error of the k-th weight with respect to the output value of the j-th hidden neuron Is expressed by the following equation,
[Equation]
remind Is a constant, the weight reduction ratio to reduce the existing weight, Is the learning rate that determines how much to update the weights, Is the error of the k-th neuron among the plurality of output neurons, and f'(z k ) is Vehicle license plate recognition method using a neural network representing.
신경망을 이용한 차량 번호판 인식 방법에 관한 명령들을 저장하는 메모리; 및
상기 명령들을 실행하는 프로세서를 포함하며,
상기 명령들은,
상기 프로세서는 차량의 번호판 영역을 포함하는 이미지를 수신하고, 상기 차량의 번호판 영역에서 분류된 문자 영역을 인식하며, 상기 분류된 문자 영역을 포함하는 이미지에 대해 제1컨볼루션 연산을 수행하여 제1출력 피처 맵을 출력하며, 상기 출력된 제1출력 피처 맵에 대해 샘플링을 적용하여 제2출력 피처 맵을 출력하며, 상기 제2출력 피처 맵에 대해 제2컨볼루션 연산을 수행하여 제3출력 피처 맵을 출력하며, 상기 출력된 제3출력 피처 맵에 대해 샘플링을 적용하여 제4출력 피처 맵을 출력하며, 상기 출력된 제4출력 피처 맵과, 문자의 특징을 수치로 표현한 것으로 정의되며, 상기 문자 영역을 일정 영역들로 나누고 각 영역에 포함된 문자의 픽셀 개수이거나, 상기 문자의 높이를 따라 여러 개로 그려진 수평 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합이거나, 폭에 따라 여러 개로 그려진 수직 선들에 위치하는 흰 픽셀들, 또는 검은 픽셀들의 합으로 정의될 수 있는 미리 설정된 피처 맵을 완전히 연결하는 풀리 커넥티드 레이어를 이용하여 상기 분류된 문자 영역에서 문자를 인식하도록 구현되는 차량 번호판 인식 시스템. A camera that photographs a vehicle and transmits an image including a license plate area of the vehicle from the photographed image;
A memory for storing instructions related to a vehicle license plate recognition method using a neural network; And
And a processor that executes the instructions,
The above commands are:
The processor receives the image including the license plate area of the vehicle, recognizes the classified character area in the license plate area of the vehicle, and performs a first convolution operation on the image including the classified character area. Outputs an output feature map, applies sampling to the output first output feature map to output a second output feature map, and performs a second convolution operation on the second output feature map to obtain a third output feature. A map is output, sampling is applied to the outputted third output feature map, and a fourth output feature map is output, and the outputted fourth output feature map and character characteristics are defined as numerical expressions. The character area is divided into certain areas, and is the number of pixels of the character included in each area, or is the sum of white pixels or black pixels located on horizontal lines drawn several times along the height of the character, or is drawn several times according to the width. A vehicle license plate recognition system implemented to recognize characters in the classified character area using a fully connected layer that completely connects white pixels positioned on vertical lines or a preset feature map that can be defined as the sum of black pixels .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200079201A KR102157990B1 (en) | 2020-06-29 | 2020-06-29 | Method and system for recognizing vehicle number plate using neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200079201A KR102157990B1 (en) | 2020-06-29 | 2020-06-29 | Method and system for recognizing vehicle number plate using neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102157990B1 true KR102157990B1 (en) | 2020-09-21 |
Family
ID=72708103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200079201A KR102157990B1 (en) | 2020-06-29 | 2020-06-29 | Method and system for recognizing vehicle number plate using neural network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102157990B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541500A (en) * | 2020-12-03 | 2021-03-23 | 北京智芯原动科技有限公司 | End-to-end license plate identification method and device |
KR102338912B1 (en) * | 2021-08-11 | 2021-12-15 | 주식회사 아프로시스템즈 | Recognition method of vehicles license plate using super resolution |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101986592B1 (en) * | 2019-04-22 | 2019-06-10 | 주식회사 펜타게이트 | Recognition method of license plate number using anchor box and cnn and apparatus using thereof |
KR101999985B1 (en) | 2016-03-10 | 2019-07-15 | 주식회사한맥아이피에스 | Method and system for recognizing vehicle license plate |
US20200034647A1 (en) * | 2018-07-27 | 2020-01-30 | JENOPTIK Traffic Solutions UK Ltd | Method and apparatus for recognizing a license plate of a vehicle |
KR102116797B1 (en) * | 2018-06-14 | 2020-05-29 | 주식회사 메인시스 | Parking access system and control method thereof |
KR102122560B1 (en) * | 2018-11-22 | 2020-06-12 | 삼성생명보험주식회사 | Method to update character recognition model |
US20200193232A1 (en) * | 2016-12-23 | 2020-06-18 | Shenzhen Institute Of Advanced Technology | License plate recognition method, device thereof, and user equipment |
-
2020
- 2020-06-29 KR KR1020200079201A patent/KR102157990B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101999985B1 (en) | 2016-03-10 | 2019-07-15 | 주식회사한맥아이피에스 | Method and system for recognizing vehicle license plate |
US20200193232A1 (en) * | 2016-12-23 | 2020-06-18 | Shenzhen Institute Of Advanced Technology | License plate recognition method, device thereof, and user equipment |
KR102116797B1 (en) * | 2018-06-14 | 2020-05-29 | 주식회사 메인시스 | Parking access system and control method thereof |
US20200034647A1 (en) * | 2018-07-27 | 2020-01-30 | JENOPTIK Traffic Solutions UK Ltd | Method and apparatus for recognizing a license plate of a vehicle |
KR102122560B1 (en) * | 2018-11-22 | 2020-06-12 | 삼성생명보험주식회사 | Method to update character recognition model |
KR101986592B1 (en) * | 2019-04-22 | 2019-06-10 | 주식회사 펜타게이트 | Recognition method of license plate number using anchor box and cnn and apparatus using thereof |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541500A (en) * | 2020-12-03 | 2021-03-23 | 北京智芯原动科技有限公司 | End-to-end license plate identification method and device |
CN112541500B (en) * | 2020-12-03 | 2023-07-25 | 北京智芯原动科技有限公司 | End-to-end license plate recognition method and device |
KR102338912B1 (en) * | 2021-08-11 | 2021-12-15 | 주식회사 아프로시스템즈 | Recognition method of vehicles license plate using super resolution |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210110180A1 (en) | Method and apparatus for traffic sign detection, electronic device and computer storage medium | |
WO2019223582A1 (en) | Target detection method and system | |
Rahman et al. | A real-time wrong-way vehicle detection based on YOLO and centroid tracking | |
KR102161949B1 (en) | Integrated parking management method and system using vehicle number plate recognition technology using neural network | |
Malbog | MASK R-CNN for pedestrian crosswalk detection and instance segmentation | |
KR102194890B1 (en) | Unmanned enforcement and road crime prevention method and system applied with vehicle license plate recognition technology using neural network | |
Loce et al. | Computer vision and imaging in intelligent transportation systems | |
CN111491093B (en) | Method and device for adjusting field angle of camera | |
CN112712057B (en) | Traffic signal identification method and device, electronic equipment and storage medium | |
KR102157990B1 (en) | Method and system for recognizing vehicle number plate using neural network | |
KR102001002B1 (en) | Method and system for recognzing license plate based on deep learning | |
CN111898491B (en) | Identification method and device for reverse driving of vehicle and electronic equipment | |
CN111931683B (en) | Image recognition method, device and computer readable storage medium | |
US10984264B2 (en) | Detection and validation of objects from sequential images of a camera | |
Ketcham et al. | Recognizing the Illegal Parking Patterns of Cars on the Road in Front of the Bus Stop Using the Support Vector Machine | |
Ren et al. | An improved mask-RCNN algorithm for UAV TIR video stream target detection | |
Khan et al. | Lane detection using lane boundary marker network with road geometry constraints | |
Kamble et al. | Lane departure warning system for advanced drivers assistance | |
KR102161948B1 (en) | Parking guidance system applied with vehicle license plate recognition technology using neural network and method of providing parking vehicle location information thereof | |
Ho et al. | Intelligent speed bump system with dynamic license plate recognition | |
KR102157989B1 (en) | Illegal parking control method and system by using neural network | |
Nienhüser et al. | Fast and reliable recognition of supplementary traffic signs | |
Athree et al. | Vision-based automatic warning system to prevent dangerous and illegal vehicle overtaking | |
CN109670455A (en) | Computer vision lane detection system and its detection method | |
US11715215B2 (en) | Untrained systems and methods for vehicle speed estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |