KR20120121744A - A method and an apparatus for computing object information - Google Patents
A method and an apparatus for computing object information Download PDFInfo
- Publication number
- KR20120121744A KR20120121744A KR1020110039717A KR20110039717A KR20120121744A KR 20120121744 A KR20120121744 A KR 20120121744A KR 1020110039717 A KR1020110039717 A KR 1020110039717A KR 20110039717 A KR20110039717 A KR 20110039717A KR 20120121744 A KR20120121744 A KR 20120121744A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- run
- run length
- overlapping
- coordinate
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Description
본 발명의 실시예들은 입력 영상으로부터 객체 정보를 산출하는 방법 및 장치에 관한 것이다.Embodiments of the present invention relate to a method and an apparatus for calculating object information from an input image.
입력 영상으로부터 관심 객체를 검출하고 검출된 객체의 정보를 추출하는 방식은 다양한 촬영 장치 또는 영상 처리 장치에서 이용되고 있다. 예를 들면, 소정의 영역을 감시하는 CCTV(closed-circuit television) 카메라에서는 입력 영상으로부터 사람 등의 관심 객체를 검출하고 검출된 객체의 정보를 추출하여, 감시 영역으로부터 이상을 검출하는데 상기 객체 정보를 이용한다.A method of detecting an object of interest from the input image and extracting information of the detected object is used in various photographing apparatuses or image processing apparatuses. For example, a closed-circuit television (CCTV) camera monitoring a predetermined area detects an object of interest such as a person from an input image, extracts information of the detected object, and detects an abnormality from the monitoring area. I use it.
본 발명의 실시예들은 입력 영상으로부터 관심 객체를 검출하고 객체 정보를 추출함에 있어서, 빠른 연산 속도를 가져, 실시간 처리에 적절한 객체 정보 산출 방법 및 장치를 제공하기 위한 것이다.Embodiments of the present invention provide a method and apparatus for calculating object information suitable for real-time processing, having a high computational speed in detecting an object of interest from an input image and extracting object information.
본 발명의 일 실시예의 일 측면에 따르면,According to an aspect of an embodiment of the present invention,
입력 영상의 관심 객체에 대응하는 런 길이 정보를 입력받는 런 입력 단계;A run input step of receiving run length information corresponding to the object of interest of the input image;
상기 런 길이 정보가 이전에 입력된 런 길이 정보와 중첩되는지 여부를 판단하는 런 중첩 판단 단계;A run overlapping determination step of determining whether the run length information overlaps with previously input run length information;
미중첩된 런 길이 정보는 새로운 객체로 인식하고, 중첩된 런 길이 정보는 기존의 객체에 병합하여 제1 객체 정보를 생성하는 제1 객체 정보 생성 단계;A first object information generation step of recognizing the non-nested run length information as a new object and merging the overlapped run length information into an existing object to generate first object information;
상기 런 길이 정보가 복수의 상기 제1 객체 정보와 중첩되는지 여부를 판단하여, 객체 중첩 정보를 생성하는 객체 중첩 정보 생성 단계; 및Generating object overlap information by determining whether the run length information overlaps the plurality of first object information and generating object overlap information; And
상기 객체 중첩 정보에 따라, 중첩된 객체들을 병합하여 제2 객체 정보를 생성하는 객체 병합 단계를 포함하는 객체 정보 산출 방법이 제공된다.According to the object overlap information, an object information calculating method including an object merging step of merging overlapping objects to generate second object information is provided.
상기 런 중첩 판단 단계 및 상기 제1 객체 정보 생성 단계는 각 제1 객체 정보들에 대해 병렬적으로 수행될 수 있다.The run overlapping determination step and the first object information generation step may be performed in parallel with respect to the respective first object information.
또한, 상기 제1 객체 정보 생성 단계는,In addition, the first object information generation step,
미중첩된 런 길이 정보가 입력된 경우, 새로운 제1 객체 정보에 대한 처리를 활성화시키는 단계; 및If unnested run length information is input, activating processing for new first object information; And
중첩된 런 길이 정보가 입력된 경우, 기존의 제1 객체 정보와 상기 런 길이 정보를 각 제1 객체 정보들에 대해 병렬적으로 비교하여, 상기 런 길이 정보와 중첩되는 객체의 상기 제1 객체 정보를 갱신하는 단계를 포함할 수 있다.When the overlapped run length information is input, the existing first object information and the run length information are compared in parallel with respect to the respective first object information, so that the first object information of the object overlapping the run length information. It may include updating the.
또한, 상기 객체 병합 단계는,In addition, the object merging step,
미중첩된 제1 객체 정보에 대해, 신규의 제2 객체 정보에 대한 처리를 활성화시키는 단계; 및For unnested first object information, activating processing for new second object information; And
중첩된 제1 객체 정보에 대해, 기존의 제2 객체 정보와 상기 제1 객체 정보를 각 제2 객체 정보에 대해 병렬적으로 비교하고, 중첩된 제2 객체 정보에 상기 제1 객체 정보를 병합시키는 단계를 포함할 수 있다.Compare the existing second object information and the first object information with respect to each second object information in parallel with respect to the overlapped first object information, and merge the first object information into the overlapped second object information. It may include a step.
상기 제1 객체 정보 생성 단계는, 상기 런 길이 정보가 기존의 제1 객체 정보와 중첩되는지 여부를 판단할 때, 상기 제1 객체 정보의 객체 영역의 범위를 제1 오프셋만큼 확장시켜 중첩 여부를 판단할 수 있다.In the generating of the first object information, when determining whether the run length information overlaps with the existing first object information, it is determined whether to overlap by extending the range of the object region of the first object information by a first offset. can do.
상기 런 길이 정보는, 런의 시작 좌표, 런의 끝 좌표, 및 중첩 런인지 여부를 나타내는 런 중첩 정보를 포함할 수 있다.The run length information may include run overlapping information indicating a start coordinate of a run, an end coordinate of a run, and whether the run is an overlapping run.
또한, 상기 객체 정보 산출 방법은,In addition, the object information calculation method,
상기 입력 영상의 관심 객체와 배경을 이진화하는 단계; 및Binarizing an object of interest and a background of the input image; And
상기 이진화된 입력 영상으로부터, 상기 관심 객체에 대한 런 길이 정보를 획득하는 단계를 더 포함할 수 있다.The method may further include obtaining run length information on the object of interest from the binarized input image.
본 발명의 일 실시예의 다른 측면에 따르면,According to another aspect of one embodiment of the present invention,
입력 영상의 관심 객체에 대응하는 런 길이 정보를 입력받아, 상기 런 길이 정보로부터 객체의 영역을 나타내는 객체 좌표값, 및 상기 객체가 타 객체와 중첩되는지 여부를 나타내는 객체 중첩 정보를 포함하는 제1 객체 정보를 생성하는 좌표 생성부; 및A first object that receives run length information corresponding to the object of interest of the input image and includes object coordinate values indicating an area of the object from the run length information and object overlapping information indicating whether the object overlaps with another object; A coordinate generator for generating information; And
중첩된 상기 제1 객체 정보들을 병합하여 제2 객체 정보를 생성하는 좌표 병합부를 포함하는, 객체 정보 산출 장치가 제공된다.Provided is an object information calculating device including a coordinate merging unit for merging the overlapping first object information to generate second object information.
상기 좌표 생성부는, 각각의 객체에 대응하는 복수의 위치 정보 갱신부들을 포함하고, 상기 복수의 위치 정보 갱신부들은 이전에 입력된 런 길이 정보와 중첩되지 않는 미중첩 런 길이 정보가 입력될 때마다 순차적으로 활성화될 수 있다.The coordinate generating unit includes a plurality of location information updating units corresponding to each object, and the plurality of location information updating units each time non-overlapping run length information that is not overlapped with previously input run length information is input. It can be activated sequentially.
또한, 상기 복수의 위치 정보 갱신부들 중 활성화된 위치 정보 갱신부들은, 런 길이 정보가 입력될 때마다, 상기 런 길이 정보가 당 위치 정보 갱신부의 해당 객체와 중첩되는지 여부를 판단하여, 중첩되는 경우, 입력된 런 길이 정보에 따라 상기 객체 좌표값을 갱신하고,In addition, the activated position information update units of the plurality of position information update units may determine whether or not the run length information overlaps with the corresponding object of the position information update unit whenever run length information is input, and overlaps. Update the object coordinate value according to the input run length information,
상기 좌표 생성부는, 복수의 활성화된 위치 정보 갱신부들에서 상기 입력된 런 길이 정보가 해당 객체와 중첩된다고 판단한 경우, 상기 입력된 런 길이 정보가 중첩된다고 판단한 복수의 위치 정보 갱신부들 중 적어도 일부에 중첩된 상태를 나타내는 객체 중첩 정보를 삽입하는 중첩 표지 생성부를 더 포함할 수 있다.The coordinate generation unit overlaps at least some of the plurality of location information update units that determine that the input run length information overlaps when the plurality of activated location information update units determine that the input run length information overlaps with the corresponding object. The display apparatus may further include an overlapping marker generation unit for inserting object overlapping information representing the completed state.
상기 복수의 위치 정보 갱신부들은 상기 런 길이 정보가 해당 위치 정보 갱신부의 해당 객체와 중첩되는지 여부를 판단할 때, 상기 해당 객체의 범위를 제1 오프셋만큼 확장시켜 중첩 여부를 판단할 수 있다.The plurality of location information updating units may determine whether the run length information overlaps with the corresponding object of the location information updating unit by extending the range of the corresponding object by a first offset.
상기 좌표 병합부는, 각각의 객체에 대응하는 복수의 중첩 갱신부들을 포함하고, 상기 복수의 중첩 갱신부들은 타 객체와 중첩되지 않음을 나타내는 값을 갖는 객체 중첩 정보를 포함하는 상기 제1 객체 정보가 입력될 때마다 순차적으로 활성화될 수 있다.The coordinate merging unit may include a plurality of overlapping update units corresponding to each object, and the plurality of overlapping update units may include first overlapping object information including object overlapping information having a value indicating that the overlapping updater does not overlap another object. It can be activated sequentially every time it is input.
또한, 상기 복수의 중첩 갱신부들 중 활성화된 중첩 갱신부들은 상기 제1 객체 정보가 입력될 때마다, 상기 제1 객체 정보가 당 중첩 갱신부의 해당 객체와 중첩되는지 여부를 판단하여, 중첩되는 경우, 입력된 상기 제1 객체 정보에 따라 상기 제2 객체 정보를 갱신할 수 있다.Also, when the overlapping update units activated among the plurality of overlapping update units are input, when the first object information is input, it is determined whether or not the first object information overlaps with the corresponding object of the overlapping update unit. The second object information may be updated according to the input first object information.
상기 런 길이 정보는, 런의 시작 좌표, 런의 끝 좌표, 및 중첩 런인지 여부를 나타내는 런 중첩 정보를 포함할 수 있다.The run length information may include run overlapping information indicating a start coordinate of a run, an end coordinate of a run, and whether the run is an overlapping run.
또한, 상기 객체 정보 산출 장치는,In addition, the object information calculation device,
상기 입력 영상의 관심 객체와 배경을 이진화하는 이진화부; 및A binarization unit for binarizing an object of interest and a background of the input image; And
상기 이진화된 입력 영상으로부터 상기 관심 객체에 대한 런 길이 정보를 획득하는 런 길이 부호화부를 더 포함할 수 있다.The apparatus may further include a run length encoder that obtains run length information on the object of interest from the binarized input image.
본 발명의 실시예들에 따르면, 입력 영상으로부터 관심 객체를 검출하고 객체 정보를 추출함에 있어서, 빠른 연산 속도를 가져, 실시간 처리에 적절한 객체 정보 산출 방법 및 장치를 제공할 수 있는 효과가 있다.According to embodiments of the present invention, in detecting an object of interest from an input image and extracting object information, it is possible to provide a method and apparatus for calculating object information suitable for real-time processing with a high computational speed.
도 1은 본 발명의 일 실시예에 따른 객체 정보 산출 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따라 이진화된 예시적인 영상을 나타낸다.
도 3은 본 발명의 일 실시예에 따라 객체 위치 정보를 표시한 화면을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 객체 정보 산출 장치(400)의 구조를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 런 길이 부호화부(420)의 구조를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 좌표 생성부(430)의 구조를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따라 런 길이 정보(RUN)가 중첩되었는지 여부를 판단하고, 객체 정보를 갱신하는 과정을 설명하기 위한 도면이다.
도 8은 좌표 생성부(430)에서 제1 객체 정보(OB1)를 생성하는 과정을 나타낸 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 좌표 병합부(440)의 구조를 나타낸 도면이다.
도 10은 복수의 중첩 갱신부들(9201 내지 920L)에서 중첩된 객체들에 대한 제2 객체 정보(OB2)가 갱신되는 과정을 설명하기 위한 도면이다.
도 11은 좌표 병합부(440)에서 제1 객체 정보(OB1)들이 병합되어 제2 객체 정보(OB2)가 생성되는 과정을 나타낸 흐름도이다.1 is a flowchart illustrating a method of calculating object information according to an embodiment of the present invention.
2 shows an exemplary image binarized according to an embodiment of the present invention.
3 illustrates a screen displaying object location information according to an embodiment of the present invention.
4 is a diagram illustrating a structure of an object
5 is a diagram illustrating a structure of a
6 is a diagram showing the structure of the
FIG. 7 is a diagram for describing a process of determining whether run length information RUN is overlapped and updating object information according to an embodiment of the present invention.
8 is a flowchart illustrating a process of generating first object information OB1 by the
9 is a view showing the structure of the
FIG. 10 is a diagram for describing a process of updating second object information OB2 for overlapping objects in the plurality of overlapping
FIG. 11 is a flowchart illustrating a process in which the first object information OB1 is merged in the
하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다. The following description and the annexed drawings are for understanding the operation according to the present invention, and a part that can be easily implemented by those skilled in the art may be omitted.
또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. In addition, the specification and drawings are not provided to limit the invention, the scope of the invention should be defined by the claims. Terms used in the present specification should be interpreted as meanings and concepts corresponding to the technical spirit of the present invention so as to best express the present invention.
이하 첨부된 도면을 참조하여 본 발명의 실시예들을 설명한다. Embodiments of the present invention will now be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 객체 정보 산출 방법을 나타낸 흐름도이다.1 is a flowchart illustrating a method of calculating object information according to an embodiment of the present invention.
본 발명의 일 실시예에 따르면, 전경 영역(foreground)과 배경 영역(background)을 분리하여 이진화한 영상을 이용하여 객체 특징값들을 추출한다. 이를 위해 우선 입력 영상이 입력되면, 입력 영상을 전경 영역과 배경 영역으로 분리한다(S102). 여기서 전경 영역은 검출하고자 하는 관심 객체가 위치하는 영역이고, 배경 영역은 관심 객체 이외의 영역일 수 있다. 상기 관심 객체는 예를 들면 사람일 수 있다. 전경 영역과 배경 영역이 분리되면, 전경 영역과 배경 영역을 이진화한다(S104). 예를 들면, 전경 영역에 '1'의 값을 할당하고, 배경 영역에 '0'의 값을 할당하여 이진화 영상을 생성할 수 있다. 도 2는 본 발명의 일 실시예에 따라 이진화된 예시적인 영상을 나타낸다. According to an embodiment of the present invention, object feature values are extracted by using a binarized image by separating the foreground and the background. To this end, if the input image is input first, the input image is divided into a foreground area and a background area (S102). The foreground area may be an area where the object of interest to be detected is located, and the background area may be an area other than the object of interest. The object of interest may be a person, for example. When the foreground area and the background area are separated, the foreground area and the background area are binarized (S104). For example, a binarized image may be generated by assigning a value of '1' to a foreground area and a value of '0' to a background area. 2 shows an exemplary image binarized according to an embodiment of the present invention.
다음으로, 이진화된 입력 영상을 이용하여, 각 독립적인 전경 영역들, 즉 각 객체를 고유의 라벨로 구분하는 라벨링 과정이 수행되고(S106), 라벨링된 각 객체로부터 객체 정보를 추출한다(S108). 객체 정보는 예를 들면 객체의 위치를 나타내는 좌표, 또는 객체가 차지하는 영역에 대한 정보일 수 있다. 객체 정보가 추출되면 도 3에 도시된 바와 같이, 객체에 해당하는 영역을 박스로 표시하여 사용자에게 제공할 수 있다.Next, a labeling process for dividing each independent foreground region, that is, each object with a unique label, is performed using the binarized input image (S106), and object information is extracted from each labeled object (S108). . The object information may be, for example, coordinates indicating the position of the object or information about an area occupied by the object. When the object information is extracted, as shown in FIG. 3, an area corresponding to the object may be displayed as a box and provided to the user.
객체를 라벨링하기 위한 알고리즘으로는 순환적(recursive) 알고리즘과 순차적(sequential) 알고리즘이 있다.Algorithms for labeling objects include recursive and sequential algorithms.
순환적 알고리즘은 영상을 스캔하여 객체를 검출하고, 객체 정보를 추출한다. 모든 방문된 화소는 마크(mark)되고, 전경 영역에 해당하는 화소에 도달하면 새로운 라벨 번호를 부여한다. 다음으로 순환적으로 모든 인접 화소들을 방문하여, 인접한 모든 전경 영역 화소들에 라벨을 부여한다. 인접한 전경 영역 화소들에 모두 라벨이 부여되면, 다음 전경 영역 화소에 도달할 때까지 영상을 스캔하고, 마크를 부여하는 동작을 반복한다. 이러한 과정은 모든 화소들이 스캔될 때까지 반복된다.The recursive algorithm scans an image to detect an object and extracts object information. All visited pixels are marked and given a new label number upon reaching the pixel corresponding to the foreground area. Next, all adjacent pixels are visited in a circular manner, and all adjacent foreground area pixels are labeled. If all adjacent foreground area pixels are labeled, the operation of scanning an image and assigning a mark is repeated until the next foreground area pixel is reached. This process is repeated until all the pixels have been scanned.
순차적 알고리즘은 영상을 스캔하며, 복수의 스캔 과정을 수행할 수 있다. 첫 번째 스캔동안, 전경 영역 화소를 만나면 라벨을 부여하고, 해당 행의 모든 연결 화소들에 동일한 라벨을 부여한다. 만약 인접한 앞선 행의 화소에 라벨이 부여되어 있다면, 앞선 행의 화소의 라벨을 이용한다. 인접한 화소에 서로 다른 라벨이 부여되어 있으면, 앞선 화소의 라벨을 부여하고, 등가 테이블에 등가 라벨로 입력한다. 만약 인접한 화소에 레벨이 부여되어 있지 않으면 새로운 라벨을 부여한다. 두 번째 스캔에서는, 각 등가 테이블을 참조하여, 최소의 라벨을 찾아, 각 라벨을 등가 집합의 최소 라벨로 바꾼다.The sequential algorithm scans an image and may perform a plurality of scanning processes. During the first scan, when it encounters a foreground area pixel, it is labeled, and the same label is given to all connected pixels in the row. If a label is assigned to a pixel of an adjacent previous row, the label of the pixel of a previous row is used. If different labels are given to adjacent pixels, the labels of the preceding pixels are given and input as equivalent labels in the equivalent table. If a level is not assigned to an adjacent pixel, a new label is given. In the second scan, each equivalence table is referenced to find the minimum label and replace each label with the minimum label of the equivalence set.
그런데, 순환적 알고리즘은 화소들에 대한 많은 탐색이 요구되고, 실행 시간이 객체의 개수, 객체의 크기에 따라 증가할 수 있는 단점이 있다. 또한 거대한 스택 메모리가 요구되어 내장형 구현이 어렵다는 단점이 있다. 나아가 화소에 대한 임의의 접근을 수행해야 하기 때문에, 하드웨어 구현이 매우 어렵다는 단점이 있다.However, the cyclic algorithm requires a lot of searching for pixels, and the execution time may be increased according to the number of objects and the size of the objects. In addition, a huge stack memory is required, which makes the embedded implementation difficult. Furthermore, there is a disadvantage in that hardware implementation is very difficult because arbitrary access to pixels is required.
순차적 알고리즘은 객체 수가 L이라 할 때, 등가 테이블 저장을 위해 L*L 사이즈의 메모리가 요구된다. 또한, 각 객체들에 대해 등가 집합이 있는지 조사하고 최소 라벨로 치환하는 과정이 요구되어 2번의 패스가 필요하고, 이로 인해 실행 시간이 증가될 수 있다.In the sequential algorithm, when the number of objects is L, L * L size memory is required to store the equivalent table. In addition, the process of checking whether there is an equivalent set for each object and substituting the minimum label is required, which requires two passes, which may increase execution time.
또한, 순환적 또는 순차적 알고리즘으로 전경 영역 화소들에 라벨링한 후, 라벨링이 완료된 전경 영역 화소들을 기반으로, 객체 정보를 계산하는 과정이 추가적으로 필요할 수 있다.In addition, after labeling the foreground area pixels using a cyclic or sequential algorithm, a process of calculating object information based on the labeled foreground area pixels may be additionally required.
본 발명의 실시예들에 따르면, 순차적 알고리즘에서 인접 화소간 비교 연산수를 감소하기 위해, 각 화소들의 인접 화소를 검출하는 대신, 이진 영상에 대해 런 길이(run length) 정보를 산출하여 이용한다. 또한, 본 발명의 실시예들에 따르면, 런 길이 정보를 이용하여 매 행에 대한 스캔 시, 각 객체들의 위치 정보를 바로 갱신하여, 1번의 영상 스캔으로 객체 위치 정보를 추출하며, 빠른 실행 시간을 가진다.According to embodiments of the present invention, in order to reduce the number of comparison operations between adjacent pixels in a sequential algorithm, instead of detecting adjacent pixels of each pixel, run length information is calculated and used for a binary image. In addition, according to embodiments of the present invention, when the scan for each row using the run length information, the location information of each object is immediately updated, the object location information is extracted in one image scan, and the fast execution time is improved. Have
도 4는 본 발명의 일 실시예에 따른 객체 정보 산출 장치(400)의 구조를 나타낸 도면이다. 본 발명의 일 실시예에 따른 객체 정보 산출 장치(400)는 이진화부(410), 런 길이 부호화부(420), 좌표 생성부(430), 및 좌표 병합부(440)를 포함할 수 있다.4 is a diagram illustrating a structure of an object
이진화부(410)는 앞서 설명한 바와 같이 입력 영상을 전경 영역과 배경 영역으로 분리하여, 입력 영상을 이진화한 이진 영상을 생성한다. 이진 영상은 예를 들면 도 2와 같이 생성될 수 있다.As described above, the
런 길이 부호화부(420)는 이진 영상으로부터 관심 객체에 해당하는 화소들에 대한 런 길이 정보(RUN)를 획득한다.The
도 5는 본 발명의 일 실시예에 따른 런 길이 부호화부(420)의 구조를 나타낸 도면이다. 본 발명의 일 실시예에 따른 런 길이 부호화부(420)는 버퍼부(510), 런 도출부(520), 신규 런 판단부(530), 및 런 정보 출력부(540)를 포함할 수 있다. 버퍼부(510)는 이전 행에 대한 런 길이 정보(RUN)를 저장하는 제1 라인 버퍼(502)와 현재 행에 대한 런 길이 정보(RUN)를 저장하는 제2 라인 버퍼(504)를 포함할 수 있다.5 is a diagram illustrating a structure of a
이진화부(410)는 행 단위로 이진화 영상을 생성하여 런 길이 부호화부(420)로 출력하고, 런 길이 부호화부(420)는 행 단위로 이진 영상을 입력받아, 제2 라인 버퍼(504)에 저장할 수 있다. 제2 라인 버퍼(504)에 현재 행의 데이터가 저장되면, 제1 라인 버퍼(502)로 이전 행의 데이터가 이동되어 저장된다.The
런 도출부(520)는 제2 라인 버퍼(504)에 저장된 현재 행의 데이터를 이용하여, 현재 행으로부터 런을 도출한다. 여기서 런은 인접하여 배치된 관심 객체에 해당하는 화소들의 묶음을 나타낸다. 런 도출부(520)는 런의 시작점과 끝점의 좌표를 이용하여 각 런을 정의할 수 있다.The
신규 런 판단부(530)는 런 도출부(520)에서 도출된 런이 신규 런인지 여부를 판단한다. 신규 런인지 여부는 제1 라인 버퍼(502)에 저장된 이전 행의 런 길이 정보(RUN)를 이용하여, 현재 런이 이전 행의 런 길이 정보(RUN)에 포함된 런과 중첩되는지 여부에 따라 판단된다. 예를 들어 런의 좌표값이 (시작점 열 번호, 끝점 열 번호)의 형태로 표현되는 경우, 이전 행의 런 길이 정보(RUN)에 포함된 런이 (X'1, X'2)의 좌표값을 갖고, 현재 런이 (X1, X2)의 좌표값을 갖는다면, 현재 런의 좌표값이 다음 조건을 만족할 때, 현재 런이 이전 런과 중첩된다고 판단될 수 있다.
The new
현재 런이 중첩되는 조건: (X'1 <= X2 <= X'2) or (X'1 <= X1 <= X'2) or (X1 <= X'1 <= X2)
Conditions where the current run overlaps: (X'1 <= X2 <= X'2) or (X'1 <= X1 <= X'2) or (X1 <= X'1 <= X2)
런 정보 출력부(540)는 현재 런의 좌표값과, 현재 런이 중첩 런인지 여부를 나타내는 런 중첩 정보를 포함하는 런 길이 정보(RUN)를 생성하여 출력한다. 런 정보 출력부(540)는 현재 런이 이전 행의 런과 중첩되지 않는다고 판단된 경우, 런 중첩 정보에 미중첩 런임을 나타내는 값을 삽입하고, 중첩된다고 판단된 경우, 런 중첩 정보에 중첩 런임을 나타내는 값을 삽입한다. 현재 런에 대한 런 길이 정보(RUN)는 다시 제2 라인 버퍼로 저장된다. The run
현재 행에 대한 런 길이 부호화가 완료되면, 현재 행에 대한 런 길이 정보(RUN)가 제2 라인 버퍼(504) 또는 런 정보 출력부(540)로부터 좌표 생성부(430)로 출력될 수 있다. 또한, 현재 행에 대한 런 길이 부호화가 완료되면, 현재 행에 대한 런 길이 정보(RUN)는 제2 라인 버퍼(504)로부터 제1 라인 버퍼(502)로 이동되어 저장될 수 있다.When run length encoding for the current row is completed, run length information RUN for the current row may be output from the
다시 도 4를 참조하면, 좌표 생성부(430)는 런 길이 정보(RUN)를 이용하여 제1 객체 정보(OB1)를 생성한다. 제1 객체 정보(OB1)는 각 객체의 영역을 나타내는 좌표값과 객체의 중첩 여부를 나타내는 객체 중첩 정보를 포함할 수 있다.Referring back to FIG. 4, the coordinate
도 6은 본 발명의 일 실시예에 따른 좌표 생성부(430)의 구조를 나타낸 도면이다. 본 발명의 일 실시예에 따른 좌표 생성부(430)는 런 길이 입력부(610), 중첩 표시 생성부(620), 및 복수의 위치 정보 갱신부들(630)을 포함한다. 본 발명의 일 실시예에 따른 좌표 생성부(430)는 객체 수만큼 위치 정보 갱신부들(6321 내지 632L)을 포함하여, 각 객체에 대한 병렬적인 판단이 가능하도록 한다. 여기서 객체 수는 해당 객체 정보 산출 장치(400)에서 최대로 지원할 수 있는 객체 수를 의미한다. 6 is a diagram showing the structure of the coordinate
런 길이 입력부(610)는 런 길이 부호화부(420)로부터 런 길이 정보(RUN)를 입력받아, 이를 복수의 위치 정보 갱신부들(630)로 전달한다. The
복수의 위치 정보 갱신부들(630)에 포함된 제1 내지 제L 위치 정보 갱신부(6321 내지 632L)는 각각 서로 다른 객체에 대응된다. 제1 내지 제L 위치 정보 갱신부(6321 내지 632L)는 런 중첩 정보가 미중첩 런임을 나타내는 값을 갖는 미중첩 런 길이 정보(RUN)가 입력될 때마다 제1 내지 제L 위치 정보 갱신부(6321 내지 632L) 중 하나가 추가로 활성화된다. 일 실시예에 따르면, 런 길이 입력부(610)는 런 길이 정보(RUN)가 입력될 때마다 해당 런 길이 정보(RUN)에 포함된 런 중첩 정보를 참조하여, 미중첩 런 길이 정보(RUN)가 입력된 경우, 추가로 제1 내지 제L 위치 정보 갱신부(6321 내지 632L) 중 하나를 활성화시키도록 제어할 수 있다.The first to Lth location
런 중첩 정보가 중첩 런에 해당하는 값을 갖는 중첩 런 길이 정보(RUN)가 입력된 경우, 해당 런 길이 정보(RUN)는 활성화된 모든 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)로 입력된다. 해당 런 길이 정보(RUN)를 입력 받은 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)은 해당 런 길이 정보(RUN)가 각 해당 객체와 중첩되는지 여부를 판단하고, 해당 객체와 중첩되는 경우, 현재 저장되어있는 제1 객체 정보(OB1)를 갱신한다.When the overlapping run length information RUN having a value where the run overlapping information corresponds to the overlapping run is input, the corresponding run length information RUN is input to all activated position
도 7은 본 발명의 일 실시예에 따라 런 길이 정보(RUN)가 중첩되었는지 여부를 판단하고, 객체 정보를 갱신하는 과정을 설명하기 위한 도면이다.FIG. 7 is a diagram for describing a process of determining whether run length information RUN is overlapped and updating object information according to an embodiment of the present invention.
일례로서, 제1 위치 정보 갱신부(6321)에 RUN1과 RUN2가 제1 객체로 인식되어 저장되어 있고, RUN3가 새로 입력된 경우, 우선 제1 위치 정보 갱신부(6321)는 제1 객체의 좌표값과 RUN3의 좌표값을 이용하여, RUN3가 제1 객체에 중첩되는지 여부를 판단한다. 예를 들면, RUN3의 시작점 좌표값 또는 끝점 좌표값이 제1 객체의 시작점 X 좌표값과 끝점 X 사이에 존재하면, RUN3는 제1 객체에 중첩된 것으로 판단된다. 또한 이와 같이 RUN3가 제1 객체에 중첩된 것으로 판단되면, 제1 객체의 좌표 값은 RUN3를 포함하도록 갱신된다. 예를 들면, 제1 객체의 좌표값이 (좌측 상단 X, 좌측 상단 Y, 우측 하단 X, 우측 하단 Y)로 정의된다면, 도 7에 도시된 바와 같이, RUN3가 입력되기 전에 제1 객체의 좌표값은 (0, 0, 12, 1)이었다가, RUN3에 의해 제1 객체의 좌표값이 갱신되면, (0, 0, 12, 2)가 될 수 있다.As an example, when RUN1 and RUN2 are recognized and stored as the first object in the first location
본 발명의 일 실시예에 따르면, 복수의 위치 정보 갱신부들(630)은 런 길이 정보(RUN)가 현재 객체와 중첩되는지 여부를 판단할 때, 현재 객체의 범위를 제1 오프셋만큼 확장시켜 중첩 여부를 판단할 수 있다. 입력 영상으로부터 객체를 검출하는 과정에서, 실제로는 동일 객체인데 이진 영상에서 서로 나누어져 표시되는 경우가 있을 수 있다. 이러한 경우, 실제로 동일한 객체를 서로 다른 객체로 인식하는 것을 방지하기 위해, 런 길이 정보(RUN)가 현재 객체와 중첩되는지 여부를 판단할 때, 제1 오프셋을 적용할 수 있다.According to an embodiment of the present invention, when the plurality of location
만약 입력된 해당 런 길이 정보(RUN)가 중첩된다고 판단한 위치 정보 갱신부(6321 내지 632L 중 적어도 일부)가 복수개인 경우, 중첩 정보 생성부(620)는 해당 런 길이 정보(RUN)가 중첩된다고 판단한 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)의 제1 객체 정보(OB1)에 해당 객체가 타 객체와 중첩된 객체임을 나타내는 객체 중첩 정보를 기입한다. 객체 중첩 정보는 해당 객체가 타 객체와 중첩된 객체인지를 나타내는 표지이다. If there are a plurality of location
일례로서, 해당 런 길이 정보(RUN)에 중첩된다고 판단된 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부) 중, 좌표 병합부(440)로 가장 먼저 제1 객체 정보(OB1)를 출력하는 위치 정보 갱신부(6321 내지 632L 중 하나)에 대해서는, 중첩 상태의 객체 중첩 정보가 기입되지 않을 수 있다. 이는 해당 런 길이 정보(RUN)에 중첩된다고 판단된 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)에 대응하는 제1 객체 정보(OB1)들 중, 좌표 병합부(440)로 가장 먼저 입력되는 제1 객체 정보(OB1)에 대해서는 좌표 병합부(440)에서 새로운 중첩 갱신부(9201 내지 920L 중 하나)를 활성화시키기 위함이다. 위치 정보 갱신부들(6321 내지 632L) 순서대로 제1 객체 정보(OB1)가 출력되는 경우, 해당 런 길이 정보(RUN)에 중첩된다고 판단된 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부) 중, 가장 앞선 위치 정보 갱신부(6321 내지 632L 중 하나)에 대해서는 중첩 상태의 객체 중첩 정보가 기입되지 않을 수 있다. 객체 영역의 시작점 순서대로 제1 객체 정보(OB1)가 복수의 위치 정보 갱신부들(6321 내지 632L)로부터 출력되는 경우에는, 객체 영역의 시작점이 가장 앞선 객체에 대해서는 중첩 상태의 객체 중첩 정보가 기입되지 않을 수 있다. 객체 영역의 시작점은 예를 들면, 객체 영역의 좌측 상단의 좌표값일 수 있다.For example, the first object information OB1 is first output to the coordinate merging
다른 예로서, 해당 런 길이 정보(RUN)에 중첩된다고 판단된 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부) 중, 좌표 병합부(440)로 가장 먼저 제1 객체 정보(OB1)를 출력하는 위치 정보 갱신부(6321 내지 632L 중 하나)에 대해서는, 중첩 상태의 객체 중첩 정보가 기입되면서, 추가로 선두 중첩 객체 표지가 제1 객체 정보(OB1)에 기입될 수 있다.As another example, the first object information OB1 is first output to the coordinate merging
상기 입력 영상에 포함된 모든 런 길이 정보(RUN)에 대한 처리가 완료되면, 복수의 위치 정보 갱신부들(630) 중 활성화된 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)로부터 객체의 좌표값과 객체 중첩 정보를 포함하는 제1 객체 정보(OB1)가 좌표 병합부(440)로 출력된다.When the processing for all the run length information RUN included in the input image is completed, the coordinate values of the object and the coordinate values of the object may be obtained from the activated position
도 8은 좌표 생성부(430)에서 제1 객체 정보(OB1)를 생성하는 과정을 나타낸 흐름도이다.8 is a flowchart illustrating a process of generating first object information OB1 by the coordinate
런 길이 정보(RUN)가 런 정보 입력부(610)로 입력되면(S802), 런 길이 정보(RUN)에 포함된 런 중첩 정보를 참조하여, 해당 런 길이 정보(RUN)가 미중첩 런 길이 정보인지 여부를 판단한다(S804). 해당 런 길이 정보(RUN)가 미중첩 런 길이 정보인 경우(S804), 현재 활성화된 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부) 이외의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부) 중 하나를 추가로 활성화시킨다(S806).When the run length information RUN is input to the run information input unit 610 (S802), the run length information RUN is referred to as non-overlapping run length information with reference to the run overlap information included in the run length information RUN. It is determined whether or not (S804). If the run length information RUN is non-overlapping run length information (S804), one of the position
해당 런 길이 정보(RUN)가 중첩 런 길이 정보이거나(S804), 또는 위치 정보 갱신부(6321 내지 632L 중 어느 하나)가 추가로 활성화되면(S806), 해당 런 길이 정보(RUN)가 현재 활성화된 위치 정보 갱신부(6321 내지 632L 중 적어도 일부)의 각각의 객체와 중첩되는지 여부를 판단한다(S808).If the run length information RUN is overlapping run length information (S804) or if the position
해당 런 길이 정보(RUN)가 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)의 객체들과 중첩되는 경우(S810), 해당 런 길이 정보(RUN)와 중첩되는 객체를 갖는 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)의 제1 객체 정보(OB1)에는 각각 해당 객체가 타 객체와 중첩된 객체임을 나타내는 객체 중첩 정보가 기입된다(S812). 앞서 설명한 바와 같이, 해당 런 길이 정보(RUN)와 중첩되는 객체를 갖는 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)이 복수인 경우, 해당 객체의 시작점 좌표가 가장 앞선 위치 정보 갱신부(6321 내지 632L 중 하나)에는 중첩된 객체임을 나타내는 객체 중첩 정보가 기입되지 않을 수 있다.When the run length information RUN overlaps with the objects of the plurality of location
다음으로 해당 런 길이 정보(RUN)와 중첩된 하나 또는 복수의 위치 정보 갱신부들(6321 내지 632L 중 적어도 일부)의 객체 좌표값이 해당 런 길이 정보(RUN)의 런의 시작 좌표와 런의 끝 좌표를 이용하여 갱신된다(S814). S802 내지 S814 과정은 런 길이 정보(RUN)가 입력될 때마다 반복되고, 모든 런 길이 정보(RUN)에 대해 처리가 끝나면, 객체 좌표값과 객체 중첩 정보를 포함하는 제1 객체 정보(OB1)가 출력된다(S818).Next, the object coordinate values of one or the plurality of location
다시 도 4를 참조하면, 좌표 생성부(430)에서 생성된 제1 객체 정보(OB1)는 좌표 병합부(440)로 입력된다. 좌표 병합부(440)는 제1 객체 정보(OB1)를 이용해 서로 중첩된 객체들을 병합하여, 최종의 제2 객체 정보(OB2)를 생성하여 출력한다.Referring back to FIG. 4, the first object information OB1 generated by the coordinate
도 9는 본 발명의 일 실시예에 따른 좌표 병합부(440)의 구조를 나타낸 도면이다. 본 발명의 일 실시예에 따른 좌표 병합부(440)는 중첩 판단부(910), 복수의 중첩 갱신부들(920)을 포함한다. 복수의 중첩 갱신부들(920)은 제1 내지 제L 중첩 갱신부들(9201 내지 920L)을 포함한다.9 is a view showing the structure of the coordinate merging
본 발명의 일 실시예에 따른 제1 내지 제L 중첩 갱신부들(9201 내지 920L)은 각각 서로 다른 객체에 대응한다. 제1 내지 제L 중첩 갱신부들(9201 내지 920L)에 대응하는 객체들은 제1 객체 정보(OB1)에 대해 중첩 여부를 판단하여, 서로 중첩되는 객체들을 병합하여 결정된다. 제1 내지 제L 중첩 갱신부(9201 내지 920L)는 미중첩 객체 중첩 정보를 갖는 제1 객체 정보(OB1)가 입력될 때마다, 추가로 활성화된다.The first to Lth overlapping
좌표 생성부(430)로부터 제1 객체 정보(OB1)가 입력되면, 중첩 판단부(910)는 제1 객체 정보(OB1)의 객체 중첩 정보를 참조하여 중첩된 객체인지 여부를 판단한다. 제1 객체 정보(OB1)가 미중첩 객체이면, 중첩 판단부(910)는 제1 내지 제L 중첩 갱신부들(9201 내지 920L) 중 활성화되지 않은 중첩 갱신부를 추가로 활성화시킨다.When the first object information OB1 is input from the coordinate
또한, 제1 객체 정보(OB1)는 활성화된 중첩 갱신부들(9201 내지 920L 중 적어도 일부)로 입력되고, 각각의 활성화된 중첩 갱신부들(9201 내지 920L 중 적어도 일부)에서 각 중첩 갱신부들(9201 내지 920L 중 적어도 일부)에 해당하는 객체와 중첩되는지 여부를 판단하여, 만약 중첩되면 해당 객체의 제2 객체 정보(OB2)를 갱신한다. 여기서 제2 객체 정보(OB2)는 객체의 위치 및 영역을 나타내는 좌표값일 수 있다. 예를 들면, 제2 객체 정보(OB2)는 객체 영역의 좌측 상단과 우측 하단의 좌표값을 포함할 수 있다.In addition, the first object information OB1 is input to at least some of the activated
모든 제1 객체 정보(OB1)에 대한 처리가 종료되면, 활성화된 중첩 갱신부들(9201 내지 920L 중 적어도 일부)로부터 제2 객체 정보(OB2)가 출력된다. 제2 객체 정보(OB2)를 이용하여 도 3에 도시된 바와 같이 객체 위치 정보가 입력 영상 상에 표시되고, 사용자에게 제공될 수 있다. 또한 제2 객체 정보(OB2)를 이용하여 이상 상황 발생 여부를 판단하는 등 감시 동작이 수행될 수 있다.When the processing for all the first object information OB1 is finished, the second object information OB2 is output from the activated
도 10은 복수의 중첩 갱신부들(9201 내지 920L)에서 중첩된 객체들에 대한 제2 객체 정보(OB2)가 갱신되는 과정을 설명하기 위한 도면이다. 본 도면의 실시예에서는, 제1 중첩 갱신부(9201)에 객체 1(OBJ1)이 현재 저장되어 있는 경우를 예로 들어 설명한다.FIG. 10 is a diagram for describing a process of updating second object information OB2 for overlapping objects in the plurality of overlapping
제1 중첩 갱신부(9201)에 객체 1(OBJ1)이 현재 저장되어 있는 상태에서, 중첩 상태를 나타내는 객체 중첩 정보를 갖는 객체 2(OBJ2)에 대한 제1 객체 정보(OB1)가 제1 중첩 갱신부(9201)로 입력된다. 객체 2(OBJ2)에 대한 제1 객체 정보(OB1)는 중첩 상태의 객체 중첩 정보를 갖기 때문에, 중첩 갱신부(9201 내지 920L)가 추가로 활성화되지는 않고, 현재 활성화된 중첩 갱신부들(9201 내지 920L 중 적어도 일부)에 현재 누적된 제2 객체 정보(OB2)와 객체 2(OBJ2)에 대한 제1 객체 정보(OB1)의 객체 좌표값이 비교되어, 중첩 여부가 판단된다. 도 10의 예에서는 객체 2(OBJ2)가 객체 1(OBJ1)과 중첩되기 때문에, 객체 2(OBJ2)는 객체 1(OBJ1)로 병합되고, 객체 1(OBJ1)의 좌표값이 갱신된다. 객체의 좌표가 (좌측 상단 X, 좌측 상단 Y, 우측 하단 X, 우측 하단 Y)의 형식으로 표현된다면, 객체 2(OBJ2)가 입력되기 전의 객체 1(OBJ1)의 좌표값은 도 10에 도시된 바와 같이 (0, 0, 44, 13)인데, 객체 2(OBJ2)가 입력되어 병합됨으로 인해, 객체 1(OBJ1)의 좌표값은 (0, 0, 50, 13)으로 갱신된다. In a state where
도 11은 좌표 병합부(440)에서 제1 객체 정보(OB1)들이 병합되어 제2 객체 정보(OB2)가 생성되는 과정을 나타낸 흐름도이다.FIG. 11 is a flowchart illustrating a process in which the first object information OB1 is merged in the coordinate merging
제1 객체 정보(OB1)가 입력되면(S1102), 제1 객체 정보(OB1)의 객체 중첩 정보를 참조하여, 제1 객체 정보(OB1)가 중첩된 객체에 대한 것인지 여부를 판단한다(S1104). 해당 제1 객체 정보(OB1)가 미중첩 객체에 대한 것이면, 활성화되지 않은 중첩 갱신부(9201 내지 920L 중 하나)를 추가로 활성화시킨다(S1106). 다음으로, 활성화된 중첩 갱신부들(9201 내지 920L 중 적어도 일부)은, 해당 제1 객체 정보(OB1)가 해당 제2 객체 정보(OB2)의 객체에 중첩되는지 여부를 판단한다(S1108). 제1 객체 정보(OB1)는 중첩되는 제2 객체 정보(OB2)를 갖는 중첩 갱신부(9201 내지 920L 중 하나)로 병합되고, 해당 중첩 갱신부(9201 내지 920L 중 하나)의 제2 객체 정보(OB2)는 해당 제1 객체 정보(OB1)에 따라 갱신된다(S1110).When the first object information OB1 is input (S1102), it is determined whether the first object information OB1 is for the overlapped object by referring to the object overlap information of the first object information OB1 (S1104). . If the first object information OB1 is for the non-nested object, the non-activated overlapping update unit (one of 9201 to 920L) is further activated (S1106). Next, the activated
본 발명의 실시예들은 런 길이 부호화를 이용하여, 각 객체의 좌표값을 획득하고, 중첩 여부를 판단하는 과정에서, 화소 단위로 판단하지 않고 런 단위로 판단하여, 처리 시간을 현저하게 감소시킨 효과가 있다.Embodiments of the present invention by using the run length encoding, in the process of obtaining the coordinate value of each object, and whether or not overlap, judging by the run unit rather than by the pixel unit, significantly reducing the processing time There is.
또한 객체 개수만큼의 위치 정보 갱신부들(6321 내지 632L) 및 중첩 갱신부들(9201 내지 920L)을 이용하여, 각 객체에 대한 처리를 병렬적으로 수행함으로써, 런의 중첩 여부를 판단하고, 객체의 중첩 여부를 판단하는 처리 시간을 현저하게 감소시키는 효과가 있다. 본 발명의 일 실시예에 따르면, N*N 이진 영상에 대해, 런 길이 부호화부(420)에서 한 프레임의 전체 화소들을 스캔하는데 N2 사이클이 필요하고, 좌표 병합부(440)에서 객체의 중첩을 판단하여 객체 정보를 갱신하는데 객체 개수만큼의 사이클 수, 즉 L 사이클 수가 필요하여 총 N2 + L 사이클 수가 소요된다. 좌표 생성부(430)는 런 길이 부호화부(420)에서 런 길이 정보(RUN)를 출력할 때마다 처리를 수행하기 때문에, 런 길이 부호화부(420)의 처리 시간동안 좌표 생성부(430)의 처리가 수행된다. 따라서 본 발명의 실시예들에 따르면, 객체 정보 산출의 처리 시간이 현저하게 감소되며, 실시간 처리에 매우 적합한다. In addition, by using the position
또한 런 길이 부호화부(420)는 이전 행과 현재 행의 런 길이 정보를 저장하기 위한 2개의 라인 메모리와, 제1 객체 정보 및 제2 객체 정보를 저장하기 위한 2L 크기의 메모리만 요구되므로, 적은 크기의 메모리로 구현할 수 있는 장점이 있다.In addition, the
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.The present invention has been described above with reference to preferred embodiments. It will be understood by those skilled in the art that the present invention may be embodied in various other forms without departing from the spirit or essential characteristics thereof. Therefore, the above-described embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and the inventions claimed by the claims and the inventions equivalent to the claimed invention are to be construed as being included in the present invention.
Claims (15)
상기 런 길이 정보가 이전에 입력된 런 길이 정보와 중첩되는지 여부를 판단하는 런 중첩 판단 단계;
미중첩된 런 길이 정보는 새로운 객체로 인식하고, 중첩된 런 길이 정보는 기존의 객체에 병합하여 제1 객체 정보를 생성하는 제1 객체 정보 생성 단계;
상기 런 길이 정보가 복수의 상기 제1 객체 정보와 중첩되는지 여부를 판단하여, 객체 중첩 정보를 생성하는 객체 중첩 정보 생성 단계; 및
상기 객체 중첩 정보에 따라, 중첩된 객체들을 병합하여 제2 객체 정보를 생성하는 객체 병합 단계를 포함하는 객체 정보 산출 방법.A run input step of receiving run length information corresponding to the object of interest of the input image;
A run overlapping determination step of determining whether the run length information overlaps with previously input run length information;
A first object information generation step of recognizing the non-nested run length information as a new object and merging the overlapped run length information into an existing object to generate first object information;
Generating object overlap information by determining whether the run length information overlaps the plurality of first object information and generating object overlap information; And
And an object merging step of merging the nested objects to generate second object information according to the object overlap information.
미중첩된 런 길이 정보가 입력된 경우, 새로운 제1 객체 정보에 대한 처리를 활성화시키는 단계; 및
중첩된 런 길이 정보가 입력된 경우, 기존의 제1 객체 정보와 상기 런 길이 정보를 각 제1 객체 정보들에 대해 병렬적으로 비교하여, 상기 런 길이 정보와 중첩되는 객체의 상기 제1 객체 정보를 갱신하는 단계를 포함하는, 객체 정보 산출 방법.The method of claim 2, wherein the generating of the first object information comprises:
If unnested run length information is input, activating processing for new first object information; And
When the overlapped run length information is input, the existing first object information and the run length information are compared in parallel with respect to the respective first object information, so that the first object information of the object overlapping the run length information. Updating the object information.
미중첩된 제1 객체 정보에 대해, 신규의 제2 객체 정보에 대한 처리를 활성화시키는 단계; 및
중첩된 제1 객체 정보에 대해, 기존의 제2 객체 정보와 상기 제1 객체 정보를 각 제2 객체 정보에 대해 병렬적으로 비교하고, 중첩된 제2 객체 정보에 상기 제1 객체 정보를 병합시키는 단계를 포함하는, 객체 정보 산출 방법.The method of claim 2, wherein the merging the object,
For unnested first object information, activating processing for new second object information; And
Compare the existing second object information and the first object information with respect to each second object information in parallel with respect to the overlapped first object information, and merge the first object information into the overlapped second object information. Comprising the steps of: calculating object information.
상기 제1 객체 정보 생성 단계는, 상기 런 길이 정보가 기존의 제1 객체 정보와 중첩되는지 여부를 판단할 때, 상기 제1 객체 정보의 객체 영역의 범위를 제1 오프셋만큼 확장시켜 중첩 여부를 판단하는, 객체 정보 산출 방법.The method of claim 1,
In the generating of the first object information, when determining whether the run length information overlaps with the existing first object information, it is determined whether to overlap by extending the range of the object region of the first object information by a first offset. Object information calculation method.
상기 입력 영상의 관심 객체와 배경을 이진화하는 단계; 및
상기 이진화된 입력 영상으로부터, 상기 관심 객체에 대한 런 길이 정보를 획득하는 단계를 더 포함하는, 객체 정보 산출 방법.The method of claim 1,
Binarizing an object of interest and a background of the input image; And
And obtaining run length information on the object of interest from the binarized input image.
중첩된 상기 제1 객체 정보들을 병합하여 제2 객체 정보를 생성하는 좌표 병합부를 포함하는, 객체 정보 산출 장치.A first object that receives run length information corresponding to the object of interest of the input image and includes object coordinate values indicating an area of the object from the run length information and object overlapping information indicating whether the object overlaps with another object; A coordinate generator for generating information; And
And a coordinate merging unit for merging the overlapping first object information to generate second object information.
각각의 객체에 대응하는 복수의 위치 정보 갱신부들을 포함하고, 상기 복수의 위치 정보 갱신부들은 이전에 입력된 런 길이 정보와 중첩되지 않는 미중첩 런 길이 정보가 입력될 때마다 순차적으로 활성화되는, 객체 정보 산출 장치.The method of claim 8, wherein the coordinate generator,
A plurality of location information updating units corresponding to each object, the plurality of location information updating units being sequentially activated whenever non-overlapping run length information is input that does not overlap with previously input run length information. Object information calculation device.
상기 복수의 위치 정보 갱신부들 중 활성화된 위치 정보 갱신부들은, 런 길이 정보가 입력될 때마다, 상기 런 길이 정보가 당 위치 정보 갱신부의 해당 객체와 중첩되는지 여부를 판단하여, 중첩되는 경우, 입력된 런 길이 정보에 따라 상기 객체 좌표값을 갱신하고,
상기 좌표 생성부는, 복수의 활성화된 위치 정보 갱신부들에서 상기 입력된 런 길이 정보가 해당 객체와 중첩된다고 판단한 경우, 상기 입력된 런 길이 정보가 중첩된다고 판단한 복수의 위치 정보 갱신부들 중 적어도 일부에 중첩된 상태를 나타내는 객체 중첩 정보를 삽입하는 중첩 표지 생성부를 더 포함하는, 객체 정보 산출 장치.10. The method of claim 9,
When the run length information is input, the activated location information update units of the plurality of location information update units determine whether the run length information overlaps with the corresponding object of the location information update unit. Update the object coordinate value according to the generated run length information,
The coordinate generation unit overlaps at least some of the plurality of location information update units that determine that the input run length information overlaps when the plurality of activated location information update units determine that the input run length information overlaps with the corresponding object. And an overlapping cover generation unit for inserting object overlapping information indicating a closed state.
각각의 객체에 대응하는 복수의 중첩 갱신부들을 포함하고, 상기 복수의 중첩 갱신부들은 타 객체와 중첩되지 않음을 나타내는 값을 갖는 객체 중첩 정보를 포함하는 상기 제1 객체 정보가 입력될 때마다 순차적으로 활성화되는, 객체 정보 산출 장치.The method of claim 8, wherein the coordinate merging unit,
A plurality of overlapping updaters corresponding to each object, and the plurality of overlapping updaters sequentially include the first object information including object overlapping information having a value indicating that the overlapping updater does not overlap with another object. Activated with the object information calculation device.
상기 복수의 중첩 갱신부들 중 활성화된 중첩 갱신부들은 상기 제1 객체 정보가 입력될 때마다, 상기 제1 객체 정보가 당 중첩 갱신부의 해당 객체와 중첩되는지 여부를 판단하여, 중첩되는 경우, 입력된 상기 제1 객체 정보에 따라 상기 제2 객체 정보를 갱신하는, 객체 정보 산출 장치.The method of claim 12,
Whenever the first object information is input, the activated overlap update units of the plurality of overlap update units determine whether the first object information overlaps with the corresponding object of the overlap update unit, And update the second object information according to the first object information.
상기 입력 영상의 관심 객체와 배경을 이진화하는 이진화부; 및
상기 이진화된 입력 영상으로부터 상기 관심 객체에 대한 런 길이 정보를 획득하는 런 길이 부호화부를 더 포함하는, 객체 정보 산출 장치.9. The method of claim 8,
A binarization unit for binarizing an object of interest and a background of the input image; And
And a run length encoder for obtaining run length information on the object of interest from the binarized input image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110039717A KR101726682B1 (en) | 2011-04-27 | 2011-04-27 | A method and an apparatus for computing object information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110039717A KR101726682B1 (en) | 2011-04-27 | 2011-04-27 | A method and an apparatus for computing object information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120121744A true KR20120121744A (en) | 2012-11-06 |
KR101726682B1 KR101726682B1 (en) | 2017-04-13 |
Family
ID=47508148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110039717A KR101726682B1 (en) | 2011-04-27 | 2011-04-27 | A method and an apparatus for computing object information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101726682B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003134508A (en) * | 2001-10-29 | 2003-05-09 | Honda Motor Co Ltd | Information providing device for vehicle |
JP2004192164A (en) * | 2002-12-09 | 2004-07-08 | Sharp Corp | Image processor, image forming device having the same, image processing method, image processing program and computer-readable recording medium |
JP2005510909A (en) * | 2001-11-19 | 2005-04-21 | 三菱電機株式会社 | Method and system for detecting abnormal events in video |
KR20100118161A (en) * | 2009-04-28 | 2010-11-05 | 한국과학기술원 | Method and apparatus for recogniziging objects in an image |
-
2011
- 2011-04-27 KR KR1020110039717A patent/KR101726682B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003134508A (en) * | 2001-10-29 | 2003-05-09 | Honda Motor Co Ltd | Information providing device for vehicle |
JP2005510909A (en) * | 2001-11-19 | 2005-04-21 | 三菱電機株式会社 | Method and system for detecting abnormal events in video |
JP2004192164A (en) * | 2002-12-09 | 2004-07-08 | Sharp Corp | Image processor, image forming device having the same, image processing method, image processing program and computer-readable recording medium |
KR20100118161A (en) * | 2009-04-28 | 2010-11-05 | 한국과학기술원 | Method and apparatus for recogniziging objects in an image |
Also Published As
Publication number | Publication date |
---|---|
KR101726682B1 (en) | 2017-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619330A (en) | Recognition model training method and device, computer equipment and recognition method | |
CN106296578B (en) | Image processing method and device | |
CN110781839A (en) | Sliding window-based small and medium target identification method in large-size image | |
US10679358B2 (en) | Learning image automatic sorting device, learning image automatic sorting method, and learning image automatic sorting program | |
CN110738101A (en) | Behavior recognition method and device and computer readable storage medium | |
CN109727275B (en) | Object detection method, device, system and computer readable storage medium | |
US9131227B2 (en) | Computing device with video analyzing function and video analyzing method | |
US8442327B2 (en) | Application of classifiers to sub-sampled integral images for detecting faces in images | |
JP7026165B2 (en) | Text recognition method and text recognition device, electronic equipment, storage medium | |
US11402918B2 (en) | Method for controlling terminal apparatus, apparatus for controlling terminal apparatus, and computer-program product | |
JP2014059875A (en) | Device and method for detecting the presence of logo in picture | |
CN108197596B (en) | Gesture recognition method and device | |
JP6179224B2 (en) | Image processing filter creation apparatus and method | |
CN111461070B (en) | Text recognition method, device, electronic equipment and storage medium | |
JP2011237296A (en) | Three dimensional shape measuring method, three dimensional shape measuring device, and program | |
JP7186821B2 (en) | Bar arrangement inspection device, bar arrangement inspection method and program | |
US10248853B2 (en) | Image output device, image output method, and computer program product | |
WO2013132836A1 (en) | Object detection device, object detection method, and object detection program | |
JP7294454B2 (en) | Object detection method and object detection device | |
KR20120121744A (en) | A method and an apparatus for computing object information | |
JP2014074977A (en) | Image processing apparatus, image processing method, and image processing program | |
CN109977740B (en) | Depth map-based hand tracking method | |
CN110674778A (en) | High-resolution video image target detection method and device | |
WO2019082283A1 (en) | Image interpretation device | |
CN112115941B (en) | Fire detection method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |