KR102143918B1 - Apparatus and method for detecting LED edge based on adaptive threshold - Google Patents

Apparatus and method for detecting LED edge based on adaptive threshold Download PDF

Info

Publication number
KR102143918B1
KR102143918B1 KR1020190099035A KR20190099035A KR102143918B1 KR 102143918 B1 KR102143918 B1 KR 102143918B1 KR 1020190099035 A KR1020190099035 A KR 1020190099035A KR 20190099035 A KR20190099035 A KR 20190099035A KR 102143918 B1 KR102143918 B1 KR 102143918B1
Authority
KR
South Korea
Prior art keywords
boundary
points
value
gradient
led
Prior art date
Application number
KR1020190099035A
Other languages
Korean (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 KR1020190099035A priority Critical patent/KR102143918B1/en
Application granted granted Critical
Publication of KR102143918B1 publication Critical patent/KR102143918B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/116Visible light communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/501Structural aspects
    • H04B10/502LED transmitters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a method for extracting an LED boundary by receiving an external LED visual light signal in visible light communication between vehicles. The method for extracting an LED boundary comprises the following steps of: generating an LED image frame including a plurality of all points based on reception of an external led visible light signal; extracting gradient values of the plurality of all points and mapping the gradient values for each of the all points; extracting points having a gradient value greater than a first threshold value among the all points as boundary candidate points; setting the gradient value of a point having a maximum between-class variance value among the extracted boundary candidate points as a second threshold value; and classifying points having a gradient value greater than the second threshold value among the boundary candidate points as boundary points.

Description

적응적 임계화에 기초한 차량 간 LED 경계 검출 방법 및 장치{Apparatus and method for detecting LED edge based on adaptive threshold}BACKGROUND OF THE INVENTION 1. A method and apparatus for detecting LED edge between vehicles based on adaptive thresholding.

이하, 차량 간 LED 가시광 통신에서 외부 LED 가시광 신호를 수신하여 LED 경계를 검출하는 기술이 제공된다.Hereinafter, a technology for detecting an LED boundary by receiving an external LED visible light signal in LED visible light communication between vehicles is provided.

가시 광선 통신(VLC)은 교통 시스템에 적용되는 새롭게 부상하는 기술로 차량 가시 광선 통신(V2LC, Vehicular Visible Light Communication) 이라고 한다. V2LC는 LED(Light Emitting Diode)를 사용하여 차량 대 차량 또는 차량 대 인프라 통신에서 포토 다이오드 또는 차량용 고속 카메라로 데이터를 전송한다.Visible light communication (VLC) is a newly emerging technology applied to traffic systems and is called V2LC (Vehicular Visible Light Communication). V2LC uses Light Emitting Diode (LED) to transmit data from vehicle-to-vehicle or vehicle-to-infrastructure communications to photodiodes or high-speed vehicle cameras.

V2LC는 다른 단거리 차량 기술 (예 : Dedicated Short Range Communication)과 비교하여 더 큰 대역폭, 낮은 설치 비용, 낮은 복잡성 및 높은 데이터 전송률을 제공한다. 또한 V2LC는 특히 고밀도 트래픽에서 상호 신호 간섭을 방지할 수 있다. 이러한 이점을 통해 V2LC는 교통 사고 및 혼잡이 효과적으로 감소되고보다 안전하고 안전한 운송 네트워크를 제공하는 혁신적인 고급 응용 프로그램 인 지능형 교통 시스템 (Intelligent Transportation System, ITS)에서 중요한 역할을 수행할 수 있다.V2LC offers greater bandwidth, lower installation cost, lower complexity and higher data rates compared to other short-range vehicle technologies (e.g. Dedicated Short Range Communication). In addition, V2LC can prevent mutual signal interference, especially in high-density traffic. These advantages allow V2LC to play an important role in the Intelligent Transportation System (ITS), an innovative advanced application that effectively reduces traffic accidents and congestion and provides a safer and safer transportation network.

대한민국 특허등록공보 제10-0736356호(등록일: 2007년 06월 29일)Korean Patent Registration Publication No. 10-0736356 (Registration date: June 29, 2007) 대한민국 특허공개공보 제 10-2014-0096880호(공개일: 2014년 08월 06일)Korean Patent Publication No. 10-2014-0096880 (Publication date: August 06, 2014)

일실시예에 따른 LED 경계 추출 방법은 외부 LED 가시광 신호의 수신에 기초하여, 복수 개의 전체 포인트들을 포함하는 LED 이미지 프레임을 생성하는 단계, 상기 복수 개의 전체 포인트들의 그라디언트 값을 추출하여, 상기 전체 포인트들마다 상기 그라디언트 값을 매핑하는 단계, 상기 전체 포인트들 중 상기 제1 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 추출하는 단계, 상기 추출된 경계 후보 포인트들 중 최대의 클래스 간 분산(between-class variance) 값을 가지는 포인트의 그라디언트 값을 제2 문턱 값으로 설정하는 단계, 상기 경계 후보 포인트들 중 상기 제2 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 포인트로 분류하는 단계를 포함할 수 있다.The LED boundary extraction method according to an embodiment comprises the steps of generating an LED image frame including a plurality of all points based on reception of an external LED visible light signal, extracting a gradient value of the plurality of all points, and Mapping the gradient value for each of the points, extracting points having a gradient value greater than the first threshold among all points as boundary candidate points, the largest inter-class variance among the extracted boundary candidate points Setting a gradient value of a point having a (between-class variance) value as a second threshold value, including classifying points having a gradient value greater than the second threshold among the boundary candidate points as boundary points can do.

다른 일실시예에 따르면, LED 경계 추출 방법은 상기 경계 후보 포인트들 중 상기 제1 문턱 값 초과이고, 상기 제2 문턱 값 이하인 그라디언트 값을 갖는 포인트들을 경계 불확실 포인트로 분류하는 단계를 더 포함할 수 있다.According to another embodiment, the LED boundary extraction method may further include classifying points having a gradient value that is greater than the first threshold value and less than the second threshold value among the boundary candidate points as boundary uncertain points. have.

또한, LED 경계 추출 방법은 상기 경계 불확실 포인트와 인접한 위치에 상기 경계 포인트가 있는 경우에 응답하여, 상기 경계 불확실 포인트를 상기 경계 포인트로 재분류하는 단계, 상기 경계 불확실 포인트와 인접한 위치에 상기 비경계 포인트만 있는 경우에 응답하여, 상기 경계 불확실 포인트를 상기 비경계 포인트로 재분류하는 단계를 더 포함할 수 있다.In addition, the LED boundary extraction method comprises the step of reclassifying the boundary uncertain point into the boundary point in response to the boundary point being at a position adjacent to the boundary uncertain point, and the non-border at a position adjacent to the boundary uncertain point In response to the case where there are only points, the step of reclassifying the boundary uncertain point into the non-boundary point may be further included.

일측에 따른 상기 제2 문턱 값을 설정하는 단계는 상기 경계 후보 포인트들에 대해 순차적으로 상기 클래스 간 분산값을 계산하는 단계를 포함할 수 있다.Setting the second threshold value according to one side may include sequentially calculating the inter-class variance values for the boundary candidate points.

다른 일측에 따른 상기 클래스 간 분산값을 계산하는 단계는 상기 경계 후보 포인트들의 그라디언트 값 중 대상 그라디언트 값을 순차적으로 선택하는 단계, 상기 선택된 대상 그라디언트 값에 대한 클래스 간 분산값을 계산하는 단계를 포함할 수 있다.The calculating of the inter-class variance value according to the other side may include sequentially selecting a target gradient value among gradient values of the boundary candidate points, and calculating an inter-class variance value for the selected target gradient value. I can.

또한, 상기 선택된 대상 그라디언트 값에 대한 클래스 간 분산값을 계산하는 단계는 상기 대상 그라디언트 값을 기준으로 상기 경계 후보 포인트들에서 임시 경계 포인트 및 임시 경계 불확실 포인트를 분류하는 단계, 상기 임시 경계 포인트의 평균값, 가중치, 상기 임시 경계 불확실 포인트의 평균값, 및 가중치 중 적어도 하나에 기초하여 상기 클래스 간 분산값을 계산하는 단계를 포함할 수 있다.In addition, calculating the inter-class variance value for the selected target gradient value may include classifying a temporary boundary point and a temporary boundary uncertainty point from the boundary candidate points based on the target gradient value, and an average value of the temporary boundary points , A weight, an average value of the temporary boundary uncertainty point, and a step of calculating the inter-class variance value based on at least one of the weight.

일실시예에 따르면, 상기 경계 후보 포인트들에 대해 순차적으로 상기 클래스 간 분산값을 계산하는 단계는 상기 경계 후보 포인트들의 그라디언트 값에 대한 분포를 산출하는 단계를 포함할 수 있다.According to an embodiment, sequentially calculating the interclass variance values for the boundary candidate points may include calculating a distribution of the gradient values of the boundary candidate points.

일측에 따른 LED 경계 추출 방법은 상기 전체 포인트들의 그라디언트 세기 범위에서 중간값(median value)을 상기 제1 문턱 값으로 설정하는 단계를 더 포함할 수 있다.The LED boundary extraction method according to one side may further include setting a median value as the first threshold value in the gradient intensity range of the entire points.

도 1은 일실시예에 따른 LED 경계 추출 방법이 포함된 LED 영역 추출 방법을 도시한 흐름도이다.
도 2는 일실시예에 따른 LED 경계 추출 방법을 도시한 흐름도이다.
도 3은 일실시예에 따른 제2 문턱 값 설정 방법을 도시한 흐름도이다.
도4는 일실시예에 따른 제2 문턱 값 설정을 위한 경계 후보 포인트들의 분포를 나타낸 그래프이다.
도 5는 일실시예에 따른 제1 문턱 값 및 제2 문턱 값에 기초하여 LED 경계를 추출한 도면이다.
도 6은 일실시예에 따른 LED 경계 추출 장치의 개괄적인 구성을 도시한 블록도이다.
1 is a flowchart illustrating a method of extracting an LED area including a method of extracting an LED boundary according to an exemplary embodiment.
2 is a flowchart illustrating a method of extracting an LED boundary according to an embodiment.
3 is a flowchart illustrating a method of setting a second threshold value according to an exemplary embodiment.
4 is a graph showing a distribution of boundary candidate points for setting a second threshold value according to an embodiment.
5 is a diagram illustrating an LED boundary extracted based on a first threshold value and a second threshold value according to an exemplary embodiment.
6 is a block diagram showing an outline configuration of an LED boundary extraction apparatus according to an embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed in various forms and implemented. Accordingly, the embodiments are not limited to a specific disclosure form, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from other components. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" to another component, it is to be understood that it may be directly connected or connected to the other component, but other components may exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.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 relevant technical field. 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 the present specification. Does not. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals in each drawing indicate the same members.

도 1은 일실시예에 따른 LED 경계 추출 방법이 포함된 LED 영역 추출 방법을 도시한 흐름도이다.1 is a flowchart illustrating a method of extracting an LED area including a method of extracting an LED boundary according to an exemplary embodiment.

일반적으로 경계는 객체의 윤곽을 형성할 수 있다. 이미지의 경계는 이미지의 밝기 또는 강도가 급격하게 변화하고 불연속성을 나타내는 포인트 (픽셀)로 정의될 수 있다. 즉, 객체와 배경 사이의 경계를 나타낼 수 있다. 경계 검출 알고리즘의 프로세스는 노이즈를 줄이기 위해 가우시안 필터를 적용하고, 이미지의 강도 그라디언트를 결정하고, 최대 값을 억제하지 않고 거짓 경계를 감지하는 위험을 줄이며, 이중 임계 값을 사용하여 잠재적인 경계 포인트를 식별하는 마지막 다섯 단계로 구성될 수 있다. 히스테리시스(Hysteresis)로 경계를 추적하여 모든 약하거나 분리된 후보를 제거할 수 있다. 이러한 단계는 도 1에 의해 설명된다. 적응형 문턱 값 기술은 LED 강도 기능을 처리하기위한 이중 문턱 값 단계에 기여한다.In general, the boundary can form the outline of the object. The boundary of the image may be defined as a point (pixel) that shows a discontinuity and the brightness or intensity of the image changes rapidly. That is, it can represent the boundary between the object and the background. The process of the edge detection algorithm applies a Gaussian filter to reduce noise, determines the intensity gradient of the image, reduces the risk of detecting false edges without suppressing the maximum, and uses a double threshold to detect potential edge points. It can consist of the last five steps to identify. By tracking the boundary with hysteresis, all weak or isolated candidates can be removed. This step is illustrated by FIG. 1. The adaptive threshold technology contributes to the double threshold step to handle the LED intensity function.

경계 검출 장치는 이미지 노이즈를 줄이고 잘못된 검출 가능성을 방지하기 위해 입력 이미지와 컨볼루션하는 가우시안 필터를 적용할 수 있다. 커널 크기가 5 인 가우시안 필터를 사용할 수 있는데, 입력 영상을 A로, 평활화 영상을 B로 표시하면, A와 B는 수학식 1의 관계를 가질 수 있다.The edge detection apparatus may apply a Gaussian filter that convolves with the input image to reduce image noise and prevent false detection. A Gaussian filter having a kernel size of 5 may be used. If the input image is represented by A and the smoothed image is represented by B, A and B may have a relationship of Equation 1.

Figure 112019083115822-pat00001
Figure 112019083115822-pat00001

컴퓨터 비전에서 이미지 그라디언트는 이미지의 강도 또는 색상의 방향 변화로 정의되며 가장자리를 찾는 데 필수적인 요소 중 하나이다. 이미지의 각 지점에서 강도 기울기 크기와 방향을 계산할 수 있다. 방향은 경계 방향을 결정하고 크기값은 이 점이 경계에 있는지 여부를 결정할 수 있다. 이 값이 높으면 강도가 급격하게 변하는데, 지점에 가장자리가 있음을 의미하는 반면, 강도에 큰 변화가 없는 경우에는 경계에 있지 않은 것을 의미할 수 있다.

Figure 112019083115822-pat00002
는 수평 방향을 나타내는 x 축에 대해 도함수이고
Figure 112019083115822-pat00003
는 수직 방향을 나타내는 y 축에 대해 도함수라고 가정한다. 평활화 된 이미지 B의
Figure 112019083115822-pat00004
Figure 112019083115822-pat00005
를 계산하기위한 방정식은 수학식 2와 같다.In computer vision, an image gradient is defined as a change in the intensity or color direction of an image and is one of the essential elements for finding the edges. At each point in the image, the magnitude and direction of the intensity gradient can be calculated. The direction determines the boundary direction and the magnitude value can determine whether this point is on the boundary. If this value is high, the intensity changes rapidly, which means that there is an edge at the point, whereas if there is no significant change in the intensity, it may mean that it is not at the boundary.
Figure 112019083115822-pat00002
Is the derivative of the x-axis representing the horizontal direction
Figure 112019083115822-pat00003
Is assumed to be a derivative with respect to the y-axis indicating the vertical direction. Of the smoothed image B
Figure 112019083115822-pat00004
And
Figure 112019083115822-pat00005
Equation 2 is the equation for calculating.

Figure 112019083115822-pat00006
Figure 112019083115822-pat00006

Figure 112019083115822-pat00007
Figure 112019083115822-pat00008
가 획득 된 후, 그레디언트 크기 g 및 방향
Figure 112019083115822-pat00009
은 각각 수학식 3과 같이 식별된다.
Figure 112019083115822-pat00007
And
Figure 112019083115822-pat00008
After is obtained, the gradient size g and direction
Figure 112019083115822-pat00009
Are each identified as in Equation 3.

Figure 112019083115822-pat00010
Figure 112019083115822-pat00010

이전 단계에서 생성된 그래디언트 값이 흐려진 경계를 생성하는 경우를 고려할 수 있다. 최종 결과는 이상적으로 얇은 경계를 가져야한다. 즉, 그래디언트 값이 가장 강한 강도 값 변경을 나타내는 점만 보존해야 한다. 이렇게하면 계산 복잡성이 줄어들고 다음 단계가 지원되므로 상당히 나은 결과를 얻을 수 있다. 이러한 이유로, 최대가 아닌 실제 경계를 구성하지 않을 수 있는 원치 않는 포인트를 억제하여 경계 검출에 대한 잘못된 응답의 위험을 줄이기 위해 억제를 수행할 수 있다. 비 최대 억제(non-maximum suppression)는 각 후보 에지 포인트의 그래디언트 크기를 양수 및 음수 그래디언트 방향으로 8개의 연결된 인접 영역과 비교할 수 있다. 값이 가장 크면 후보 엣지 포인트가 보존될 수 있다. 그렇지 않으면 이 지점은 표시되지 않는다. 예를 들어, 그래디언트 방향이 수평인 경우, 그 그래디언트 크기 값이 왼쪽 및 오른쪽 방향의 점보다 큰 포인트를 가능한 경계 포인트로 간주할 수 있다.Consider the case where the gradient value generated in the previous step creates a blurred boundary. The end result should ideally have a thin border. That is, only the point where the gradient value represents the strongest intensity value change should be preserved. This reduces computational complexity and supports the next step, resulting in significantly better results. For this reason, suppression can be performed to reduce the risk of false responses to boundary detection by suppressing unwanted points that may not constitute an actual boundary that is not the maximum. Non-maximum suppression can compare the gradient magnitude of each candidate edge point with eight connected adjacent regions in positive and negative gradient directions. If the value is the largest, candidate edge points can be preserved. Otherwise this point is not displayed. For example, when the gradient direction is horizontal, a point whose gradient size value is larger than points in the left and right directions may be regarded as possible boundary points.

비 최대 억제가 적용된 후에 노이즈 또는 색상 변화로 인한 일부 지점이 여전히 존재하고 잘못된 경계 검출 결과를 생성할 수 있다. 상기 문제를 해결하기 위해 후술할 방법은 모든 이미지 포인트를 경계 포인트, 비경계 포인트, 경계 불확실 포인트의 세가지 클래스로 분류하기 위해 각각 제1 문턱 값, 및 제2 문턱 값의 두 가지 값을 사용할 수 있다. 그라디언트 값이 제1 문턱 값보다 작은 모든 점은 비경계 포인트로 표시되고, 예시적으로 배경으로 필터링될 수 있다. 제2 문턱 값보다 높은 그라디언트 값을 가진 포인트들을 경계 포인트들로 식별될 수 있다. 제1 문턱 값과 제2 문턱 값 사이의 그라디언트 값을 갖는 나머지 포인트는 경계 불확실 포인트이며, 경계 포인트 일 수도 있고, 그렇지 않을 수 도 있다. 세가지 클래스로 분류하여 경계 포인트를 분류하는 방법에 대해서는 도 2 내지 도 6을 통해 구체적으로 설명한다.After non-maximum suppression is applied, some points due to noise or color change are still present and may produce false boundary detection results. In order to solve the above problem, a method to be described later may use two values of a first threshold value and a second threshold value, respectively, to classify all image points into three classes of boundary points, non-boundary points, and boundary uncertain points. . All points having a gradient value smaller than the first threshold value are displayed as non-boundary points, and may be filtered as a background for example. Points having a gradient value higher than the second threshold value may be identified as boundary points. The remaining points having a gradient value between the first threshold value and the second threshold value are boundary uncertain points, and may or may not be boundary points. A method of classifying boundary points by classifying them into three classes will be described in detail with reference to FIGS. 2 to 6.

도 2는 일실시예에 따른 LED 경계 추출 방법을 도시한 흐름도이다.2 is a flowchart illustrating a method of extracting an LED boundary according to an embodiment.

LED 내부의 포인트는 가장 밝은 포인트가 될 수 있다. 따라서, LED 내부 포인트들의 세기는 다른 포인트들의 세기보다 높으며, 이는 경계에서 그라디언트의 크기가 상대적으로 높다는 것을 의미할 수 있다. 종래의 기술은 클러스터링 기반으로 이미지 문턱 값을 생성하나, bi-modal 그라디언트 진폭 히스토그램을 갖는 이미지에만 적합하다는 단점이있다. 이 경우, 가장 밝은 물체와 다른 물체와 배경을 구별하는 것이다. 따라서 경계 불확실 포인트들을 LED의 경계에 속해 있을 수 있고, 다른 물체의 경계에 속해 있거나 단순히 주변의 소음의 일부일 수 있다.The point inside the LED can be the brightest point. Therefore, the intensity of the points inside the LED is higher than that of other points, which may mean that the magnitude of the gradient at the boundary is relatively high. The conventional technique generates an image threshold value based on clustering, but has a disadvantage in that it is suitable only for images having a bi-modal gradient amplitude histogram. In this case, the brightest object is to distinguish the background from other objects. Therefore, the boundary uncertainty points may belong to the boundary of the LED, belong to the boundary of another object, or simply be part of the surrounding noise.

단계(210)전, LED 경계 추출 방법을 실시하는 프로세서는 외부 LED 가시광 신호의 수신에 기초하여, 복수 개의 전체 포인트들을 포함하는 LED 이미지 프레임을 생성할 수 있다. 외부 LED 가시광 신호는 LED 촬영 장치를 통해 이미지 포맷으로 수신될 수 있다. 수신된 가시광 신호가 포함된 이미지에 대해 복수 개의 포인들을 형성할 수 있다. 복수 개의 포인트들은 단위 픽셀(pixel)일 수 있고, 단위 픽셀의 크기는 가시광 신호가 포함된 이미지 크기에 따라 정해질 수 있다.Before step 210, the processor performing the LED boundary extraction method may generate an LED image frame including a plurality of all points based on reception of an external LED visible light signal. The external LED visible light signal may be received in an image format through an LED photographing device. A plurality of points may be formed for an image including the received visible light signal. The plurality of points may be unit pixels, and the size of the unit pixel may be determined according to an image size including a visible light signal.

프로세서는 복수 개의 전체 포인트들의 그라디언트 값을 추출하여, 전체 포인트들마다 그라디언트 값을 매핑할 수 있다. 그라디언트 값은 통상의 기술자가 이미지 그라디언트 값을 추출하는 방법을 통해 추출될 수 있다. 프로세서는 전체 포인트들 중 각 포인트들의 그라디언트 값을 추출할 수 있고, 메모리는 각 포인트들의 그라디언트 값과 포인트들을 하나씩 매핑시킬 수 있다.The processor may extract gradient values of all points and map the gradient values to all points. The gradient value may be extracted through a method of extracting an image gradient value by a person skilled in the art. The processor may extract a gradient value of each point among all points, and the memory may map the gradient value and points of each point one by one.

단계(210)에서, 프로세서는 전체 포인트들의 그라디언트 세기 범위에서 중간값(median value)을 제1 문턱 값으로 설정할 수 있다. 중간값은 전체 개수에 대한 중간이 되는 값일 수 있으며, 전체 개수가 홀수인 경우, 중간값을 기준으로 중간값보다 값이 작은 포인트의 개수와 중간값보다 값이 큰 포인트의 개수가 동일할 수 있다. 프로세서는 설정된 제1 문턱 값을 기준으로 전체 포인트들을 경계 후보 포인트와 비경계 포인트로 분류할 수 있다. 프로세서는 전체 포인트들 중 제1 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 추출할 수 있다.In step 210, the processor may set a median value in the gradient intensity range of all points as the first threshold value. The median value may be a value that becomes the middle of the total number, and when the total number is odd, the number of points with a value less than the median value and the number of points with a value greater than the median value may be the same based on the median value . The processor may classify all points into a boundary candidate point and a non-boundary point based on the set first threshold value. The processor may extract points having a gradient value greater than the first threshold among all points as boundary candidate points.

일실시예에 따르면, 전체 포인트들의 그래디언트 세기 범위가 [0, m]이고 m이 최대 값이며, 제1 문턱 값(

Figure 112019083115822-pat00011
)은 m의 절반으로 설정될 수 있다.According to an embodiment, the gradient intensity range of all points is [0, m], m is the maximum value, and the first threshold value (
Figure 112019083115822-pat00011
) Can be set to half of m.

Figure 112019083115822-pat00012
Figure 112019083115822-pat00012

또 다른 일실시예에 따르면, 프로세서는 전체 포인트들의 그라디언트 세기 범위에서 평균값(average value)을 제1 문턱 값으로 설정할 수 있다.According to another embodiment, the processor may set an average value in the gradient intensity range of all points as the first threshold value.

단계(220)에서, 프로세서는 전체 포인트들 중 그라디언트 값이 제1 문턱 값 이하인 포인트들을 비경계 포인트들로 분류할 수 있다. 프로세서는 비경계 포인트들을 이미지 프레임 내 LED의 경계에 해당하지 않고, 경계를 제외한 부분이라고 판단할 수 있다. 예시적으로 비경계 포인트는 이미지 프레임 내 LED 외부의 배경이라 판단될 수 있다.In step 220, the processor may classify points whose gradient value is less than or equal to the first threshold among all points as non-boundary points. The processor may determine that the non-boundary points do not correspond to the boundary of the LED in the image frame and are portions excluding the boundary. For example, the non-boundary point may be determined as a background outside the LED in the image frame.

단계(230)에서, 프로세서는 설정된 제2 문턱 값을 기준으로 경계 후보 포인트들을 경계 불확실 포인트들과 경계 포인트들로 분류할 수 있다. 제2 문턱 값을 설정하는 단계에 대해서는 도 3에서 상세히 설명한다.In step 230, the processor may classify boundary candidate points into boundary uncertain points and boundary points based on the set second threshold value. The step of setting the second threshold will be described in detail with reference to FIG. 3.

단계(240)에서, 프로세서는 경계 후보 포인트들 중 그라디언트 값이 제2 문턱 값 이하인 포인트들을 경계 불확실 포인트들로 분류할 수 있다. 프로세서는 이미지 내 경계 불확실 포인트들의 주변 포인트들에 기초하여 경계 불확실 포인트들을 재분류할 수 있다.In operation 240, the processor may classify points having a gradient value equal to or less than the second threshold among the boundary candidate points as boundary uncertain points. The processor may reclassify the boundary uncertainty points based on surrounding points of the boundary uncertainty points in the image.

일실시예에 따르면, 프로세서는 경계 불확실 포인트와 인접한 위치에 경계 포인트가 있는 경우에 응답하여, 경계 불확실 포인트를 경계 포인트로 재분류할 수 있다. 반면, 프로세서는 경계 불확실 포인트와 인접한 위치에 비경계 포인트만 있는 경우에 응답하여, 경계 불확실 포인트를 비경계 포인트로 재분류할 수 있다. 경계 불확실 포인트와 인접한 위치는 이미지 내 경계 불확실 포인트를 둘러싸는 포인트들이 위치한 위치일 수 있다. 예시적으로, 포인트는 정사각형의 픽셀일 수 있고, 경계 불확실 포인트와 인접한 위치의 포인트들은 경계 불확실 포인트를 둘러싸는 8개의 정사각형의 픽셀들일 수 있다. 8개의 정사각형 픽셀들 중 적어도 하나가 경계 포인트인 경우, 프로세서는 경계 불확실 포인트를 경계 포인트로 재분류할 수 있다. 반면, 8개의 정사각형 픽셀들이 비경계 포인트인 경우, 프로세서는 경계 불확실 포인트를 비경계 포인트로 재분류할 수 있다.According to an embodiment, the processor may reclassify the boundary uncertain point into a boundary point in response to a case where a boundary point exists at a position adjacent to the boundary uncertain point. On the other hand, the processor may reclassify the boundary uncertain point as a non-boundary point in response to a case where only non-boundary points exist in a position adjacent to the boundary uncertain point. The position adjacent to the boundary uncertain point may be a position at which points surrounding the boundary uncertain point in the image are located. For example, the point may be a square pixel, and the points at a position adjacent to the boundary uncertain point may be eight square pixels surrounding the boundary uncertain point. When at least one of the eight square pixels is a boundary point, the processor may reclassify the boundary uncertainty point into a boundary point. On the other hand, when the eight square pixels are non-boundary points, the processor may reclassify the boundary uncertainty point into a non-boundary point.

단계(250)에서, 프로세서는 경계 후보 포인트들 중 그라디언트 값이 제2 문턱 값 초과인 포인트들을 경계 포인트들로 분류할 수 있다. 프로세서는 경계 포인트들을 이미지 프레임 내 LED의 경계에 해당한다고 판별할 수 있다.In operation 250, the processor may classify points whose gradient value exceeds the second threshold among the boundary candidate points as boundary points. The processor may determine that the boundary points correspond to the boundary of the LED in the image frame.

도 3은 일실시예에 따른 제2 문턱 값(hi) 설정 방법을 도시한 흐름도이다.3 is a flowchart illustrating a method of setting a second threshold value hi according to an exemplary embodiment.

단계(310) 전, 프로세서는 전체 포인트들 중 제1 문턱 값을 초과하는 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 분류할 수 있다. 프로세서는 경계 후보 포인트들의 그라디언트 값에 대한 분포를 산출할 수 있다. 일실시예에 따르면, 그라디언트 값에 대한 분포는 도 4와 같은 그래프의 분포를 따를 수 있다. 프로세서는 경계 후보 포인트들의 그라디언트 값에 대한 분포를 산출하여, 경계 후보 포인트들에 대해 그라디언트 값이 가장 작은 포인트부터 오름차순으로 순서를 부여할 수 있다.Before step 310, the processor may classify points having a gradient value exceeding the first threshold among all points as boundary candidate points. The processor may calculate a distribution of the gradient values of the boundary candidate points. According to an embodiment, the distribution of the gradient value may follow the distribution of the graph shown in FIG. 4. The processor may calculate a distribution of the gradient values of the boundary candidate points, and assign the boundary candidate points to the boundary candidate points in ascending order from the point having the smallest gradient value.

단계(310)에서, 경계 후보 포인트들의 그라디언트 값 중 대상 그라디언트 값(i)이 가장 작은 값부터 가장 큰 값까지 순차적으로 선택할 수 있다. 경계 후보 포인트들은 제1 문턱 값 초과인 그라디언트 값을 갖는 포인트들이므로, 경계 후보 포인트들의 가장 작은 그라디언트 값은

Figure 112019083115822-pat00013
+1 일 수 있다. i는
Figure 112019083115822-pat00014
+1 부터 m까지 순차적으로 선택될 수 있고, i가 m이 될 때까지 제2 문턱 값(hi)을 계속 계산할 수 있다.In step 310, among the gradient values of the boundary candidate points, the target gradient value i may be sequentially selected from the smallest value to the largest value. Since the boundary candidate points are points having a gradient value exceeding the first threshold value, the smallest gradient value of the boundary candidate points is
Figure 112019083115822-pat00013
Can be +1 i is
Figure 112019083115822-pat00014
From +1 to m may be sequentially selected, and the second threshold value (hi) may be continuously calculated until i becomes m.

단계(320)에서, 프로세서는 대상 그라디언트 값(i)에 대해 클래스 간 분산 값(between class variance)을 계산할 수 있다. 프로세서는 대상 그라디언트 값(i)을 기준으로 경계 후보 포인트들에서 임시 경계 포인트들 및 임시 경계 불확실 포인트들로 분류할 수 있다. 프로세서는 임시 경계 포인트들의 평균값, 가중치, 임시 경계 불확실 포인트들의 평균값 및 가중치 중 적어도 하나에 기초하여 상기 클래스 간 분산값(Var)을 계산할 수 있다. 클래스 간 분산값(Var)을 계산하는 방법에 대해서는 도 4에서 상세히 후술한다.In step 320, the processor may calculate an inter-class variance value for the target gradient value i. The processor may classify the boundary candidate points into temporary boundary points and temporary boundary uncertain points based on the target gradient value i. The processor may calculate the inter-class variance value Var based on at least one of an average value of temporary boundary points, a weight, an average value of temporary boundary uncertain points, and a weight. A method of calculating the inter-class variance value Var will be described in detail later in FIG. 4.

단계(330)에서, 프로세서는 단계(320)에서 계산한 대상 그라디언트 값(i)의 클래스 간 분산값(Var)을 최대 클래스 간 분산값(Max_Var)과 비교할 수 있다. 최대 클래스 간 분산값(Max_Var)은 순차적으로 계산된 클래스 간 분산값(Var) 중 가장 큰 분산값일 수 있다. 대상 그라디언트 값(i)의 클래스 간 분산값(Var)이 최대 클래스 간 분산값(Max_Var) 보다 큰 경우, 프로세서는 단계(340)을 수행하고, 대상 그라디언트 값(i)의 클래스 간 분산값(Var)이 최대 클래스 간 분산값(Max_Var) 보다 작거나 같은 경우, 프로세서는 단계(350)을 수행할 수 있다.In step 330, the processor may compare the inter-class variance value Var of the target gradient value i calculated in step 320 with the maximum inter-class variance value Max_Var. The maximum inter-class variance value Max_Var may be the largest variance value among the sequentially calculated inter-class variance values Var. When the inter-class variance value Var of the target gradient value i is greater than the maximum inter-class variance value Max_Var, the processor performs step 340, and the inter-class variance value Var of the target gradient value i ) Is less than or equal to the maximum inter-class variance value (Max_Var), the processor may perform step 350.

단계(340)에서, 프로세서는 대상 그라디언트 값(i)의 클래스 간 분산값(Var)을 최대 클래스 간 분산값(Max_Var)으로 재지정할 수 있고, 임시 제2 문턱 값(hi)을 대상 그라디언트 값(i)으로 재지정할 수 있다.In step 340, the processor may reassign the inter-class variance value (Var) of the target gradient value (i) as the maximum inter-class variance value (Max_Var), and the temporary second threshold value (hi) as the target gradient value ( i) can be redesignated.

단계(350)에서, 대상 그라디언트 값(i)을 다음 순서의 대상 그라디언트 값(i+1)으로 재지정할 수 있다. 그 후, 단계(310)으로 회귀하여, 대상 그라디언트 값(i)이 m이 될 때 까지 단계(310) 내지 단계(350)의 프로세스를 반복하여 수행할 수 있다.In step 350, the target gradient value i may be reassigned to the next target gradient value i+1. Thereafter, the process returns to step 310 and the process of steps 310 to 350 may be repeatedly performed until the target gradient value i becomes m.

대상 그라디언트 값(i)이 m이 된 경우, 프로세서는 계속하여 재지정되었던 제2 문턱 값을 단계(360)에서, 최종 제2 문턱 값으로 설정할 수 있다.When the target gradient value i becomes m, the processor may set the second threshold value that has been continuously redesignated as the final second threshold value in step 360.

종전 방법에 따르면, 문턱 값이 경험을 통해 수동으로 선택되었기 때문에, 알고리즘은 복잡할 수 있고, 서로 다른 다양한 이미지를 처리하는데 유연성이 부족할 수 있다. 또한, 선택된 문턱 값은 대략적으로 이미지 특성을 반영해야 할 수 있다.According to the previous method, since the threshold value was manually selected through experience, the algorithm may be complex and may lack flexibility in processing a variety of different images. Also, the selected threshold value may have to approximately reflect image characteristics.

도 4는 일실시예에 따른 제2 문턱 값 설정을 위한 경계 후보 포인트들의 분포를 나타낸 그래프이다.4 is a graph showing a distribution of boundary candidate points for setting a second threshold value according to an embodiment.

프로세서는 임시 경계 불확실 포인트들에 대한 그라디언트 크기 범위(

Figure 112019083115822-pat00015
)의 평균값, 가중치, 임시 경계 포인트들에 대한 그라디언트 크기 범위(
Figure 112019083115822-pat00016
)의 평균값, 및 가중치 중 적어도 하나에 기초하여 상기 클래스 간 분산값(Var)을 계산할 수 있다.The processor has a range of gradient sizes for temporary boundary uncertainty points (
Figure 112019083115822-pat00015
), the weight, and the gradient size range for temporary boundary points (
Figure 112019083115822-pat00016
The inter-class variance value Var may be calculated based on at least one of an average value of) and a weight value.

도 4에서 도시한 그래프는 포인트들의 그라디언트 값에 대한 분포도로, x 축은 그라디언트 값이고, y축은 포인트 개수 또는 포인트 개수 비율일 수 있다. 따라서, 분포도는 그라디언트 값에 대한 분포 확률 또는 분포 비율을 지시하는 것일 수 있다.The graph shown in FIG. 4 is a distribution diagram of a gradient value of points, an x-axis may be a gradient value, and a y-axis may be the number of points or a ratio of the number of points. Accordingly, the distribution diagram may indicate a distribution probability or distribution ratio for a gradient value.

먼저, 임시 경계 불확실 포인트들에 대한 그라디언트 크기 범위(

Figure 112019083115822-pat00017
) 및 임시 경계 포인트들에 대한 그라디언트 크기 범위(
Figure 112019083115822-pat00018
)의 가중치(weights)는 수학식 5로 계산될 수 있다.First, the gradient size range for temporary boundary uncertainty points (
Figure 112019083115822-pat00017
) And the gradient size range for temporary boundary points (
Figure 112019083115822-pat00018
The weights of) can be calculated by Equation 5.

Figure 112019083115822-pat00019
Figure 112019083115822-pat00019

Figure 112019083115822-pat00020
는 대상 그라디언트 값(i)에 해당하는 확률일 수 있다. 프로세서는 제2 문턱 값(hi, 410)을 기준으로,
Figure 112019083115822-pat00021
Figure 112019083115822-pat00022
의 그레디언트 크기 범위를 [lo + 1, hi] 및 [hi + 1, m]로 분리시킬 수 있다.
Figure 112019083115822-pat00020
May be a probability corresponding to the target gradient value i. The processor is based on the second threshold value (hi, 410),
Figure 112019083115822-pat00021
And
Figure 112019083115822-pat00022
The gradient size range of can be separated into [lo + 1, hi] and [hi + 1, m].

프로세서는 임시 경계 불확실 포인트들에 대한 그라디언트 세기 범위(

Figure 112019083115822-pat00023
) 및 임시 경계 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00024
) 의 평균값(420, 421)을 수학식 6으로 계산할 수 있다.The processor determines the gradient intensity range for temporary boundary uncertainty points (
Figure 112019083115822-pat00023
) And the gradient intensity range for temporary boundary points (
Figure 112019083115822-pat00024
The average values 420 and 421 of) can be calculated by Equation 6.

Figure 112019083115822-pat00025
Figure 112019083115822-pat00025

프로세서는 임시 경계 불확실 포인트들에 대한 그라디언트 세기 범위(

Figure 112019083115822-pat00026
) 및 임시 경계 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00027
)의 분산값(variance)을 수학식 7로 계산할 수 있다.The processor determines the gradient intensity range for temporary boundary uncertainty points (
Figure 112019083115822-pat00026
) And the gradient intensity range for temporary boundary points (
Figure 112019083115822-pat00027
The variance of) can be calculated by Equation 7.

Figure 112019083115822-pat00028
Figure 112019083115822-pat00028

프로세서는 임시 경계 불확실 포인트들에 대한 그라디언트 세기 범위(

Figure 112019083115822-pat00029
) 및 임시 경계 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00030
)의 혼합 평균값을 수학식 8로 계산할 수 있다.The processor determines the gradient intensity range for temporary boundary uncertainty points (
Figure 112019083115822-pat00029
) And the gradient intensity range for temporary boundary points (
Figure 112019083115822-pat00030
The mixed average value of) can be calculated by Equation 8.

Figure 112019083115822-pat00031
Figure 112019083115822-pat00031

이 두 클래스의 분산 내에서 클래스 내 분산(

Figure 112019083115822-pat00032
)은 관련 가중치 (
Figure 112019083115822-pat00033
의 클래스 내 분산과
Figure 112019083115822-pat00034
의 클래스 내 분산의 합)로 곱한 두 분산의 합으로 정의될 수 있다.Within the variance of these two classes, the intraclass variance (
Figure 112019083115822-pat00032
) Is the associated weight (
Figure 112019083115822-pat00033
With variance within the class of
Figure 112019083115822-pat00034
It can be defined as the sum of two variances multiplied by the sum of the variances within the class of.

Figure 112019083115822-pat00035
Figure 112019083115822-pat00035

프로세서는 임시 경계 불확실 포인트들에 대한 그라디언트 세기 범위(

Figure 112019083115822-pat00036
) 및 임시 경계 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00037
)의 클래스 간 분산값(
Figure 112019083115822-pat00038
)을 수학식 10을 통해 계산할 수 있다.The processor determines the gradient intensity range for temporary boundary uncertainty points (
Figure 112019083115822-pat00036
) And the gradient intensity range for temporary boundary points (
Figure 112019083115822-pat00037
Variance between classes of (
Figure 112019083115822-pat00038
) Can be calculated through Equation 10.

Figure 112019083115822-pat00039
Figure 112019083115822-pat00039

프로세서는 제2 문턱 값의 후보 그라디언트 값 중에서, 클래스 내 분산값을 최소화하는 그라디언트 값을 hi로 결정할 수 있다. 최적의 hi 값은 수학식 10에 따르면, 클래스 간 분산값(

Figure 112019083115822-pat00040
)이 최대로 만들 수 있다. 클래스 간 분산값은 임시 경계 불확실 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00041
) 및 임시 경계 포인트들에 대한 그라디언트 세기 범위(
Figure 112019083115822-pat00042
)의 가중치 및 평균값(421, 420)을 이용하여 간단하게 계산할 수 있다. 이에 따라, 클래스 내 분산값(
Figure 112019083115822-pat00043
) 대신, 클래스 간 분산값(
Figure 112019083115822-pat00044
)을 이용하여 프로세서는 제2 문턱 값(410)을 간단히 계산할 수 있다.The processor may determine a gradient value minimizing the intra-class variance value as hi from among the candidate gradient values of the second threshold value. According to Equation 10, the optimal hi value is the variance between classes (
Figure 112019083115822-pat00040
) Can be made to the maximum. The variance between classes is the gradient intensity range for temporary boundary uncertain points (
Figure 112019083115822-pat00041
) And the gradient intensity range for temporary boundary points (
Figure 112019083115822-pat00042
) Can be calculated simply by using the weight and average values 421 and 420. Accordingly, the variance value within the class (
Figure 112019083115822-pat00043
), instead of the variance between classes (
Figure 112019083115822-pat00044
Using ), the processor may simply calculate the second threshold value 410.

도 5는 일실시예에 따른 제1 문턱 값 및 제2 문턱 값에 기초하여 LED 경계를 추출한 것을 나타낸 도면이다.5 is a diagram illustrating extraction of an LED boundary based on a first threshold value and a second threshold value according to an exemplary embodiment.

도 5a는 LED 경계 추출 전 원본 이미지 프레임이고(original image), 도 5b는 도 1내지 도4를 통해 선술한 실시예에 따라 LED 경계 추출한 이미지 프레임이다. 도 5c는 고정된 제1 문턱 값, 제2 문턱 값을 갖는 실시예에 따라 LED 경계를 추출한 이미지 프레임이다. 위에서 3번째 이미지에 따르면, (a)에서 LED 외의 신체 피부가 빛을 반사하여, 신체 피부와 배경 사이의 경계는 높은 그라디언트 값을 가질 수 있다. (b)에서는 신체 피부와 배경의 경계가 LED 경계로 추출되지 않은 반면, (c)에서는 신체 피부와 배경의 경계가 LED 경계로 추출되었다. 따라서, 고정된 제1 문턱 값, 제2 문턱 값을 이용하여 LED 경계를 추출하는 방법보다, 유동적이고 적응적으로(adaptably) 제1 문턱 값 및 제2 문턱 값을 적용시켜 LED 경계를 추출하는 것이 더욱 정확한 것을 알 수 있다.FIG. 5A is an original image frame before LED border extraction, and FIG. 5B is an image frame extracted from LED borders according to the embodiment described above with reference to FIGS. 1 to 4. 5C is an image frame from which an LED boundary is extracted according to an exemplary embodiment having a fixed first threshold value and a second threshold value. According to the third image from above, in (a) body skin other than the LED reflects light, so that the boundary between the body skin and the background may have a high gradient value. In (b), the boundary between the body skin and the background was not extracted as the LED boundary, whereas in (c), the boundary between the body skin and the background was extracted as the LED boundary. Therefore, rather than a method of extracting an LED boundary using a fixed first threshold value and a second threshold value, extracting the LED boundary by applying the first threshold value and the second threshold value fluidly and adaptively You can see that it is more accurate.

유동적으로 제1 문턱 값 및 제2 문턱 값을 적용시켜 LED 경계를 추출하는 방법에 대한 동작을 평가하기 위해, 수학식 11을 통해 SNR(Signal-noise ratio)를 계산할 수 있다.In order to evaluate the operation of the method of extracting the LED boundary by flexibly applying the first threshold value and the second threshold value, a signal-noise ratio (SNR) may be calculated through Equation 11.

수학식 11Equation 11

Figure 112019083115822-pat00045
Figure 112019083115822-pat00045

I는 M X N 사이즈의 원본 이미지,

Figure 112019083115822-pat00046
는 LED 경계 추출 후 이미지 프레임 결과에 관한 데이터일 수 있다.I is the original image in MXN size,
Figure 112019083115822-pat00046
May be data related to the image frame result after the LED boundary is extracted.

도 6은 일실시예에 따른 LED 경계 추출 장치(600)의 개괄적인 구성을 도시한 블록도이다.6 is a block diagram showing the general configuration of the LED boundary extraction device 600 according to an embodiment.

LED 경계 추출 장치(600)는 이미지 생성부(610), 메모리(620), 및 프로세서(630) 중 적어도 하나를 포함할 수 있다. 이미지 생성부(610)는 외부 LED 가시광 신호의 수신에 기초하여, 복수 개의 전체 포인트들을 포함하는 LED 이미지 프레임을 생성할 수 있다.The LED boundary extraction device 600 may include at least one of an image generator 610, a memory 620, and a processor 630. The image generator 610 may generate an LED image frame including a plurality of all points based on reception of an external LED visible light signal.

메모리(620)는 전체 포인트들마다 그라디언트 값을 매핑하여 저장할 수 있다. 또한, 메모리(620)는 제1 문턱 값 및 제2 문턱 값을 적어도 일시적으로 저장할 수 있다. 메모리(620)는 도3을 통해 선술한 제2 문턱 값을 설정하는 과정에서, 임시 제2 문턱 값을 적어도 일시적으로 저장할 수 있고, 임시 제2 문턱 값을 계속하여 교체하며 저장할 수 있다.The memory 620 may map and store gradient values for all points. Also, the memory 620 may temporarily store the first threshold value and the second threshold value. In the process of setting the second threshold value described with reference to FIG. 3, the memory 620 may at least temporarily store the temporary second threshold value, and may continuously replace and store the temporary second threshold value.

프로세서(630)는 메모리(620)에 저장된 데이터를 로드하여, 도1 내지 도 5에서 선술한 프로세스를 수행할 수 있다. 프로세서(630)는 복수 개의 전체 포인트들의 그라디언트 값을 추출할 수 있다. 또한, 프로세서(630)는 전체 포인트들 중 제1 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 추출할 수 있다. 프로세서(630)는 추출된 경계 후보 포인트들 중 최대의 클래스 간 분산(between-class variance) 값을 가지는 포인트의 그라디언트 값을 제2 문턱 값으로 설정할 수 있다. 또한, 프로세서(630)는 경계 후보 포인트들 중 상기 제2 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 포인트로 분류할 수 있다. 프로세서(630)가 각 프로세스를 수행하는 방법은 도1 내지 도5를 통해 선술하였으므로, 자세한 설명은 생략한다.The processor 630 may load data stored in the memory 620 and perform the process described in FIGS. 1 to 5. The processor 630 may extract gradient values of a plurality of all points. Also, the processor 630 may extract points having a gradient value greater than the first threshold value among all points as boundary candidate points. The processor 630 may set a gradient value of a point having a maximum between-class variance value among the extracted boundary candidate points as the second threshold value. Also, the processor 630 may classify points having a gradient value greater than the second threshold among the boundary candidate points as boundary points. Since the method of performing each process by the processor 630 has been described above with reference to FIGS. 1 to 5, detailed descriptions will be omitted.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices, methods, and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

Claims (10)

외부 LED 가시광 신호의 수신에 기초하여, 복수 개의 전체 포인트들을 포함하는 LED 이미지 프레임을 생성하는 단계;
상기 복수 개의 전체 포인트들의 그라디언트 값을 추출하여, 상기 전체 포인트들마다 상기 그라디언트 값을 매핑하는 단계;
상기 전체 포인트들 중 제1 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 추출하는 단계;
상기 추출된 경계 후보 포인트들 중 최대의 클래스 간 분산(between-class variance) 값을 가지는 포인트의 그라디언트 값을 제2 문턱 값으로 설정하는 단계;
상기 경계 후보 포인트들 중 상기 제2 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 포인트로 분류하는 단계
를 포함하는 LED 경계 추출 방법.
Generating an LED image frame including a plurality of all points based on reception of an external LED visible light signal;
Extracting gradient values of the plurality of all points and mapping the gradient values for each of the all points;
Extracting points having a gradient value greater than a first threshold value among the total points as boundary candidate points;
Setting a gradient value of a point having a maximum between-class variance value among the extracted boundary candidate points as a second threshold value;
Classifying points having a gradient value greater than the second threshold among the boundary candidate points as boundary points
LED boundary extraction method comprising a.
제1항에 있어서,
상기 경계 후보 포인트들 중 상기 제1 문턱 값 초과이고, 상기 제2 문턱 값 이하인 그라디언트 값을 갖는 포인트들을 경계 불확실 포인트로 분류하는 단계
를 더 포함하는 LED 경계 추출 방법.
The method of claim 1,
Classifying points of the boundary candidate points having a gradient value greater than the first threshold value and less than the second threshold value as boundary uncertainty points
LED boundary extraction method further comprising a.
제2항에 있어서,
상기 경계 불확실 포인트와 인접한 위치에 상기 경계 포인트가 있는 경우에 응답하여, 상기 경계 불확실 포인트를 상기 경계 포인트로 재분류하는 단계; 및
상기 경계 불확실 포인트와 인접한 위치에 비경계 포인트만 있는 경우에 응답하여, 상기 경계 불확실 포인트를 상기 비경계 포인트로 재분류하는 단계
를 더 포함하는 LED 경계 추출 방법.
The method of claim 2,
Reclassifying the boundary uncertain point into the boundary point in response to the boundary point being located at a position adjacent to the boundary uncertain point; And
Reclassifying the boundary uncertain point into the non-boundary point in response to a case where only non-boundary points exist in a position adjacent to the boundary uncertain point.
LED boundary extraction method further comprising a.
제1항에 있어서,
상기 제2 문턱 값을 설정하는 단계는,
상기 경계 후보 포인트들에 대해 순차적으로 상기 클래스 간 분산값을 계산하는 단계
를 포함하는 LED 경계 추출 방법.
The method of claim 1,
Setting the second threshold value,
Sequentially calculating the inter-class variance values for the boundary candidate points
LED boundary extraction method comprising a.
제4항에 있어서,
상기 클래스 간 분산값을 계산하는 단계는,
상기 경계 후보 포인트들의 그라디언트 값 중 대상 그라디언트 값을 순차적으로 선택하는 단계;
상기 선택된 대상 그라디언트 값에 대한 클래스 간 분산값을 계산하는 단계
를 포함하는 LED 경계 추출 방법.
The method of claim 4,
The step of calculating the variance value between the classes,
Sequentially selecting a target gradient value among gradient values of the boundary candidate points;
Calculating an inter-class variance value for the selected target gradient value
LED boundary extraction method comprising a.
제5항에 있어서,
상기 선택된 대상 그라디언트 값에 대한 클래스 간 분산값을 계산하는 단계는,
상기 대상 그라디언트 값을 기준으로 상기 경계 후보 포인트들에서 임시 경계 포인트 및 임시 경계 불확실 포인트를 분류하는 단계;
상기 임시 경계 포인트의 평균값, 가중치, 상기 임시 경계 불확실 포인트의 평균값, 및 가중치 중 적어도 하나에 기초하여 상기 클래스 간 분산값을 계산하는 단계
를 포함하는 LED 경계 추출 방법.
The method of claim 5,
Computing an inter-class variance value for the selected target gradient value,
Classifying a temporary boundary point and a temporary boundary uncertainty point from the boundary candidate points based on the target gradient value;
Calculating the inter-class variance value based on at least one of an average value of the temporary boundary point, a weight, an average value of the temporary boundary uncertainty point, and a weight
LED boundary extraction method comprising a.
제 4항에 있어서,
상기 경계 후보 포인트들에 대해 순차적으로 상기 클래스 간 분산값을 계산하는 단계는,
상기 경계 후보 포인트들의 그라디언트 값에 대한 분포를 산출하는 단계
를 포함하는 LED 경계 추출 방법.
The method of claim 4,
The step of sequentially calculating the inter-class variance value for the boundary candidate points,
Calculating a distribution of the gradient values of the boundary candidate points
LED boundary extraction method comprising a.
제1 항에 있어서,
상기 전체 포인트들의 그라디언트 세기 범위에서 중간값(median value)을 상기 제1 문턱 값으로 설정하는 단계
를 더 포함하는 LED 경계 추출 방법.
The method of claim 1,
Setting a median value in the gradient intensity range of all points as the first threshold value
LED boundary extraction method further comprising a.
제1항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium storing one or more computer programs including instructions for performing the method of any one of claims 1 to 8. 외부 LED 가시광 신호의 수신에 기초하여, 복수 개의 전체 포인트들을 포함하는 LED 이미지 프레임을 생성하는 이미지 생성부;
상기 복수 개의 전체 포인트들의 그라디언트 값을 추출하는 프로세서; 및
상기 전체 포인트들마다 상기 그라디언트 값을 매핑하여 저장하는 메모리
를 포함하고,
상기 프로세서는,
상기 전체 포인트들 중 제1 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 후보 포인트들로 추출하고,
상기 추출된 경계 후보 포인트들 중 최대의 클래스 간 분산(between-class variance) 값을 가지는 포인트의 그라디언트 값을 제2 문턱 값으로 설정하고,
상기 경계 후보 포인트들 중 상기 제2 문턱 값 초과의 그라디언트 값을 갖는 포인트들을 경계 포인트로 분류하는
LED 경계 추출 장치.
An image generator configured to generate an LED image frame including a plurality of all points based on reception of an external LED visible light signal;
A processor that extracts gradient values of the plurality of all points; And
A memory for mapping and storing the gradient values for each of the points
Including,
The processor,
Extracting points having a gradient value greater than a first threshold among the total points as boundary candidate points,
A gradient value of a point having a maximum between-class variance value among the extracted boundary candidate points is set as a second threshold value,
Classifying points having a gradient value greater than the second threshold among the boundary candidate points as boundary points
LED boundary extraction device.
KR1020190099035A 2019-08-13 2019-08-13 Apparatus and method for detecting LED edge based on adaptive threshold KR102143918B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190099035A KR102143918B1 (en) 2019-08-13 2019-08-13 Apparatus and method for detecting LED edge based on adaptive threshold

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190099035A KR102143918B1 (en) 2019-08-13 2019-08-13 Apparatus and method for detecting LED edge based on adaptive threshold

Publications (1)

Publication Number Publication Date
KR102143918B1 true KR102143918B1 (en) 2020-08-12

Family

ID=72039121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190099035A KR102143918B1 (en) 2019-08-13 2019-08-13 Apparatus and method for detecting LED edge based on adaptive threshold

Country Status (1)

Country Link
KR (1) KR102143918B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736356B1 (en) 2006-08-25 2007-07-06 엠텍비젼 주식회사 Image edge detection apparatus and method, image sharpness emphasizing apparatus and method, recorded medium recorded the program performing it
KR101051459B1 (en) * 2010-05-31 2011-07-22 한양대학교 산학협력단 Apparatus and method for extracting edges of an image
US20120026352A1 (en) * 2009-07-29 2012-02-02 Harman Becker Automotive Systems Gmbh Edge detection with adaptive threshold
KR20130072073A (en) * 2011-12-21 2013-07-01 한국전자통신연구원 Apparatus and method for extracting edge in image
KR20140096880A (en) 2013-01-29 2014-08-06 삼성전자주식회사 Method and apparatus for detecting edge in image
KR101582800B1 (en) * 2014-09-02 2016-01-19 재단법인 실감교류인체감응솔루션연구단 Method for detecting edge in color image adaptively and apparatus and computer-readable recording media using the same
CN109035198A (en) * 2018-06-07 2018-12-18 华南理工大学 The LED detection method of outdoor visible light communication based on edge detection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736356B1 (en) 2006-08-25 2007-07-06 엠텍비젼 주식회사 Image edge detection apparatus and method, image sharpness emphasizing apparatus and method, recorded medium recorded the program performing it
US20120026352A1 (en) * 2009-07-29 2012-02-02 Harman Becker Automotive Systems Gmbh Edge detection with adaptive threshold
KR101051459B1 (en) * 2010-05-31 2011-07-22 한양대학교 산학협력단 Apparatus and method for extracting edges of an image
KR20130072073A (en) * 2011-12-21 2013-07-01 한국전자통신연구원 Apparatus and method for extracting edge in image
KR20140096880A (en) 2013-01-29 2014-08-06 삼성전자주식회사 Method and apparatus for detecting edge in image
KR101582800B1 (en) * 2014-09-02 2016-01-19 재단법인 실감교류인체감응솔루션연구단 Method for detecting edge in color image adaptively and apparatus and computer-readable recording media using the same
CN109035198A (en) * 2018-06-07 2018-12-18 华南理工大学 The LED detection method of outdoor visible light communication based on edge detection

Similar Documents

Publication Publication Date Title
CN108090888B (en) Fusion detection method of infrared image and visible light image based on visual attention model
KR101929560B1 (en) Method and apparatus for detecting edge in image
US9317784B2 (en) Image processing apparatus, image processing method, and program
CN109997351B (en) Method and apparatus for generating high dynamic range images
KR101051459B1 (en) Apparatus and method for extracting edges of an image
JP2016505186A (en) Image processor with edge preservation and noise suppression functions
Ray Unsupervised edge detection and noise detection from a single image
Laguna et al. Traffic sign recognition application based on image processing techniques
CN111882568B (en) Fire image edge extraction processing method, terminal and system
WO2020029874A1 (en) Object tracking method and device, electronic device and storage medium
CN111695373B (en) Zebra stripes positioning method, system, medium and equipment
Liu et al. Infrared ship target segmentation through integration of multiple feature maps
JP6432296B2 (en) Device and method for detecting zebra crossings in images
CN102915522A (en) Smart phone name card extraction system and realization method thereof
JP5338762B2 (en) White balance coefficient calculation device and program
KR102143918B1 (en) Apparatus and method for detecting LED edge based on adaptive threshold
CN111311610A (en) Image segmentation method and terminal equipment
JP2013164643A (en) Image recognition device, image recognition method, and image recognition program
Pillai et al. Detecting tail lights for analyzing traffic during night using image processing techniques
CN116310889A (en) Unmanned aerial vehicle environment perception data processing method, control terminal and storage medium
JP2019220174A (en) Image processing using artificial neural network
Thomas et al. Effectual single image dehazing with color correction transform and dark channel prior
KR20150094108A (en) Method for generating saliency map based background location and medium for recording the same
Priyadharshini et al. Research and analysis on segmentation and thresholding techniques
Al-Amaren et al. Edge Map Extraction of an Image Based on the Gradient of its Binary Versions

Legal Events

Date Code Title Description
GRNT Written decision to grant