KR102158097B1 - Method and device for object awareness in video - Google Patents
Method and device for object awareness in video Download PDFInfo
- Publication number
- KR102158097B1 KR102158097B1 KR1020190025753A KR20190025753A KR102158097B1 KR 102158097 B1 KR102158097 B1 KR 102158097B1 KR 1020190025753 A KR1020190025753 A KR 1020190025753A KR 20190025753 A KR20190025753 A KR 20190025753A KR 102158097 B1 KR102158097 B1 KR 102158097B1
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- value
- pattern
- vector
- object recognition
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000013598 vector Substances 0.000 claims abstract description 112
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 26
- 238000013459 approach Methods 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 15
- 239000000284 extract Substances 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000003638 chemical reducing agent Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000112598 Pseudoblennius percoides Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000009835 boiling Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 206010037844 rash Diseases 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G06K9/00624—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 영상에서의 객체 인식 방법 및 장치에 관한 것으로, 제1 영상 데이터를 수신하면, 상기 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하여 분산 저장하고, 상기 제2 영상 데이터의 프레임 추출을 포함하는 전처리를 수행하는 단계, 상기 제2 영상 데이터에서 하나 이상의 직교 평면에 대하여 기 설정된 위치 및 크기를 갖는 평면 패턴을 각각 추출하여 분산 저장하는 단계, 상기 평면 패턴과 동일한 크기를 갖는 마스크를 이용하여 상기 평면 패턴에서 특징 벡터를 각각 분산하여 추출하는 단계, 상기 특징 벡터를 이용하여 히스토그램을 분산하여 생성하고, 상기 히스토그램에 대응되는 행동 정보를 식별함으로써 상기 제2 영상 데이터에 포함된 객체를 식별하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to a method and apparatus for recognizing an object in an image, wherein when first image data is received, the first image data is divided into a plurality of second image data and stored in a distributed manner, and a frame of the second image data is extracted. Performing pre-processing including, extracting and storing flat patterns each having a preset position and size with respect to one or more orthogonal planes from the second image data, and using a mask having the same size as the flat pattern Distributing and extracting feature vectors from the flat pattern, respectively, by distributing and generating a histogram using the feature vector, and identifying an object included in the second image data by identifying behavior information corresponding to the histogram. It characterized in that it comprises a step.
Description
본 발명은 영상에서 객체를 인식하는 방법 및 장치에 관한 것으로, 보다 자세하게는 분산 처리 시스템을 이용하여 영상에서 객체를 보다 신속하게 인식하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for recognizing an object in an image, and more particularly, to a method and apparatus for recognizing an object in an image more quickly using a distributed processing system.
최근 인터넷 기술의 발전 및 스마트 기기의 급속한 보급에 따라 방대한 양의 영상에 대한 접근성이 낮아지고 있다. 영상에서 객체를 검출하고 인식하는 기술은 영상감지 시스템에 꾸준하게 적용되어 왔으며, 컴퓨터 비전 및 기계 이해 분야의 근본적인 문제로 떠오르고 있다. 일반적으로 영상은 다양한 방식으로 구성된 표면 및 객체로 구성되어 있기 때문에, 영상에서 객체만을 분리하는 것은 지도 제작, 로봇 네비게이션, 장소 추천 등의 다양한 응용 프로그램에 있어서 주요한 이슈가 될 수 있다.With the recent development of internet technology and the rapid spread of smart devices, accessibility to a vast amount of video is decreasing. Technology for detecting and recognizing objects in images has been steadily applied to image sensing systems, and is emerging as a fundamental problem in computer vision and machine understanding. In general, since an image is composed of surfaces and objects configured in various ways, separating only an object from an image can be a major issue in various application programs such as map production, robot navigation, and place recommendation.
영상에서 객체를 검출 및 인식하기 위해 다양한 특징 추출 방법이 사용되고 있으나 대부분은 이미지를 이용하여 객체를 인식하고 일부만이 영상에 적용 가능하다는 한계가 있다. 객체를 검출하는 기존의 방법 중 대표적인 것이 LBP(Local Binary Pattern)이다. LBP의 견고성, 차별성 및 적용 가능성을 향상시키기 위해 다양한 LBP 변형 방법이 연구되었으나 조명, 시점 등 픽셀의 변화에 따라 바이너리 코드가 완전히 달라질 수 있어 일관된 패턴을 생성하지 못하기 때문에 노이즈에 취약하다는 치명적인 단점이 있다.Various feature extraction methods are used to detect and recognize an object in an image, but most of them recognize an object using an image, and there is a limitation that only a part of it can be applied to an image. A representative of the existing methods of detecting objects is LBP (Local Binary Pattern). Various LBP transformation methods have been studied to improve the robustness, differentiation, and applicability of LBP. However, the binary code can be completely changed according to pixel changes such as lighting and viewpoint, so it is a fatal disadvantage of being vulnerable to noise because it cannot generate a consistent pattern. have.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 영상 데이터에서 객체를 인식할 수 있도록 하는 것을 일 목적으로 한다.An object of the present invention is to solve the above-described problem, and an object thereof is to be able to recognize an object in image data.
또한 본 발명은 영상 데이터에서 객체를 인식함에 있어서 분산 처리 시스템을 이용하여 연산의 속도를 향상시키는 것을 일 목적으로 한다.Another object of the present invention is to improve the speed of operation by using a distributed processing system in recognizing an object in image data.
또한 본 발명은 영상 데이터에서 하나 이상의 직교 평면에 대한 평면 패턴을 추출함으로써 시공간 정보를 추출하는 것을 일 목적으로 한다.Another object of the present invention is to extract spatiotemporal information by extracting a plane pattern for one or more orthogonal planes from image data.
또한 본 발명은 영상 데이터에서 추출된 시공간 정보를 이용하여 객체 인식에 있어서 정확성을 향상시키는 것을 일 목적으로 한다.Another object of the present invention is to improve accuracy in object recognition using spatiotemporal information extracted from image data.
이러한 목적을 달성하기 위한 본 발명은 제1 영상 데이터를 수신하면, 상기 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하여 분산 저장하는 단계, 상기 제2 영상 데이터의 프레임 추출을 포함하는 전처리를 수행하는 단계, 상기 제2 영상 데이터에서 하나 이상의 직교 평면에 대하여 기 설정된 크기를 갖는 평면 패턴을 각각 추출하여 분산 저장하는 단계, 상기 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 이용하여 상기 평면 패턴에서 특징 벡터를 각각 분산하여 생성하는 단계, 상기 생성된 특징 벡터를 이용하여 히스토그램을 생성하고, 상기 히스토그램에 대응되는 행동 정보를 식별함으로써 상기 제2 영상 데이터에 포함된 객체를 식별하는 단계를 포함하는 것을 일 특징으로 한다.In order to achieve this object, the present invention comprises the steps of dividing the first image data into a plurality of second image data and storing the distributed data upon receiving the first image data, and pre-processing including frame extraction of the second image data. The step of performing, extracting and storing a flat pattern having a predetermined size for one or more orthogonal planes from the second image data, respectively, and storing a feature in the plane pattern using a directional mask having the same size as the plane pattern Distributing and generating each vector, including generating a histogram using the generated feature vector, and identifying an object included in the second image data by identifying behavior information corresponding to the histogram It is characterized.
또한 상기 전처리 단계는, 상기 제2 영상 데이터에서 프레임을 추출하는 단계, 상기 프레임을 그레이 스케일로 변환하는 단계, 상기 프레임의 크기를 변경하는 단계를 포함하는 것을 일 특징으로 한다.In addition, the pre-processing step may include extracting a frame from the second image data, converting the frame into gray scale, and changing a size of the frame.
나아가 상기 평면 패턴은, X축-Y축 직교 평면에 대한 제1 평면 패턴, X축-T축 직교 평면에 대한 제2 평면 패턴, Y축-Y축 직교 평면에 대한 제3 평면 패턴을 포함하는 것을 일 특징으로 한다.Further, the planar pattern includes a first plane pattern for an X-axis-Y-axis orthogonal plane, a second plane pattern for an X-axis-T-axis orthogonal plane, and a third plane pattern for a Y-axis-Y-axis orthogonal plane. It is characterized by one.
또한 상기 평면 패턴은 중심 픽셀 및 중심 픽셀에 인접한 복수 개의 이웃 픽셀을 포함하는 것을 일 특징으로 한다.In addition, the planar pattern may include a center pixel and a plurality of neighboring pixels adjacent to the center pixel.
나아가 상기 특징 벡터를 추출하는 단계는, 상기 평면 패턴에 상기 방향성 마스크를 적용하여 각도 별 벡터 값을 생성하는 단계, 상기 각도 별 벡터 값을 이용하여 상기 평면 벡터에 대응되는 상기 특징 벡터를 생성하는 단계를 포함하는 것을 일 특징으로 한다.Further, the extracting of the feature vector may include generating a vector value for each angle by applying the directional mask to the plane pattern, and generating the feature vector corresponding to the plane vector using the vector value for each angle. It characterized in that it comprises a.
또한 상기 특징 벡터를 생성하는 단계는, 상기 각도 별 벡터 값의 평균 값을 연산하는 단계, 상기 각도 별 벡터 값과 상기 평균 값의 차이 값을 연산하는 단계, 상기 차이 값과 상기 평면 패턴의 중심 픽셀 값을 이용하여 상기 특징 벡터를 생성하는 단계를 포함하는 것을 일 특징으로 한다.In addition, the generating of the feature vector may include calculating an average value of the vector value for each angle, calculating a difference value between the vector value for each angle and the average value, the difference value and the center pixel of the flat pattern And generating the feature vector using a value.
나아가 본 발명은 제1 영상 데이터를 수신하는 영상 수집부, 상기 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하는 데이터 분할부, 상기 제2 영상 데이터의 프레임 추출을 포함하는 전처리를 수행하는 전처리부, 상기 제2 영상 데이터에서, 하나 이상의 직교 평면에 대하여 기 설정된 크기를 갖는 평면 패턴을 각각 추출하고, 상기 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 이용하여 상기 평면 패턴에서 특징 벡터를 생성하며, 상기 특징 벡터를 이용하여 히스토그램을 분산하여 생성하고, 상기 히스토그램에 대응되는 행동 정보를 식별함으로써 상기 제2 영상 데이터에 포함된 객체를 식별하는 제어부, 상기 제2 영상 데이터를 분산 저장하고, 상기 직교 평면에 대한 상기 평면 패턴을 분산 저장하는 저장부를 포함하는 것을 일 특징으로 한다.Further, the present invention provides a preprocessing for performing preprocessing including an image collection unit receiving first image data, a data dividing unit for dividing the first image data into a plurality of second image data, and frame extraction of the second image data. Sub, from the second image data, each of a planar pattern having a predetermined size with respect to one or more orthogonal planes is extracted, and a feature vector is generated from the planar pattern using a directional mask having the same size as the plane pattern, A control unit for distributing and generating a histogram using the feature vector and identifying an object included in the second image data by identifying behavior information corresponding to the histogram, distributedly storing the second image data, and storing the orthogonal plane It characterized in that it comprises a storage unit for distributing and storing the flat pattern for.
또한 상기 전처리부는, 상기 제2 영상 데이터에서 프레임을 추출하고, 상기 프레임을 그레이 스케일로 변환하며, 상기 프레임의 크기를 변경하는 것을 일 특징으로 한다.In addition, the preprocessor may extract a frame from the second image data, convert the frame into gray scale, and change a size of the frame.
나아가 상기 평면 패턴은, X축-Y축 직교 평면에 대한 제1 평면 패턴, X축-T축 직교 평면에 대한 제2 평면 패턴, Y축-Y축 직교 평면에 대한 제3 평면 패턴을 포함하는 것을 일 특징으로 한다.Further, the planar pattern includes a first plane pattern for an X-axis-Y-axis orthogonal plane, a second plane pattern for an X-axis-T-axis orthogonal plane, and a third plane pattern for a Y-axis-Y-axis orthogonal plane. It is characterized by one.
또한 상기 평면 패턴은 중심 픽셀 및 중심 픽셀에 인접한 복수 개의 이웃 픽셀을 포함하는 것을 일 특징으로 한다.In addition, the planar pattern may include a center pixel and a plurality of neighboring pixels adjacent to the center pixel.
나아가 상기 제어부는, 상기 평면 패턴에 상기 방향성 마스크를 적용하여 각도 별 벡터 값을 생성하고, 상기 각도 별 벡터 값을 이용하여 상기 평면 벡터에 대응되는 상기 특징 벡터를 생성하는 특징 벡터 생성부를 더 포함하는 것을 일 특징으로 한다.Further, the control unit further comprises a feature vector generator configured to generate a vector value for each angle by applying the directional mask to the plane pattern, and to generate the feature vector corresponding to the plane vector using the vector value for each angle. It is characterized by one.
또한 상기 특징 벡터 생성부는, 상기 각도 별 벡터 값의 평균 값을 연산하고, 상기 각도 별 벡터 값과 상기 평균 값의 차이 값을 연산하며, 상기 차이 값과 상기 평면 패턴의 중심 픽셀 값을 이용하여 상기 특징 벡터를 생성하는 것을 일 특징으로 한다.In addition, the feature vector generation unit calculates an average value of the vector value for each angle, calculates a difference value between the vector value for each angle and the average value, and uses the difference value and the center pixel value of the flat pattern. It is characterized in that a feature vector is generated.
전술한 바와 같은 본 발명에 의하면, 영상 데이터에서 객체를 인식할 수 있다.According to the present invention as described above, an object can be recognized from image data.
또한 본 발명은 영상 데이터에서 객체를 인식함에 있어서 분산 처리 시스템을 이용하여 연산의 속도를 향상시킬 수 있다.In addition, the present invention can improve the speed of operation by using a distributed processing system in recognizing an object from image data.
또한 본 발명은 영상 데이터에서 하나 이상의 직교 평면에 대한 평면 패턴을 추출함으로써 시공간 정보를 추출할 수 있다.In addition, the present invention may extract spatiotemporal information by extracting a plane pattern for one or more orthogonal planes from image data.
또한 본 발명은 영상 데이터에서 추출된 시공간 정보를 이용하여 객체 인식에 있어서 정확성을 향상시킬 수 있다.In addition, the present invention can improve accuracy in object recognition by using spatiotemporal information extracted from image data.
도 1은 본 발명의 일 실시 예에 의한 객체 인식 방법의 대략적인 동작을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 의한 객체 인식 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 의한 객체 인식 방법에 대한 분산 처리 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 의한 객체 인식 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 의한 영상 데이터 전처리 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 의한 방향성 마스크를 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 의한 객체 인식 방법의 일 예시를 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 의한 객체 식별 과정을 나타낸 도면이다.
도 9는 본 발명의 일 실시 예에 의한 Maryland 데이터 세트의 예시를 나타낸 도면이다.
도 10은 본 발명의 일 실시 예에 의한 YUPENN 데이터 세트의 예시를 나타낸 도면이다.
도 11은 본 발명의 일 실시 예에 의한 Youtube 8M 데이터 세트의 예시를 나타낸 도면이다.
도 12는 본 발명의 일 실시 예에 의한 데이터 세트 별 객체 인식 장치에 포함된 노드의 수에 따른 성능을 비교한 도면이다.
도 13은 본 발명의 일 실시 예에 의한 Maryland 데이터 세트에 대한 객체 인식 방법의 정확도를 나타낸 도면이다.
도 14는 본 발명의 일 실시 예에 의한 YUPENN 데이터 세트에 대한 객체 인식 방법의 정확도를 나타낸 도면이다.
도 15는 본 발명의 일 실시 예에 의한 Youtube 8M 데이터 세트에 대한 객체 인식 방법의 정확도를 나타낸 도면이다.
도 16은 지역 기반 접근법을 적용한 객체 인식 방법을 설명하기 위한 도면이다.
도 17은 지역 기반 접근법과 전체론적 기반 접근법에 대한 객체 인식 장치의 성능을 나타낸 도면이다.
도 18은 본 발명의 일 실시 예에 의한 객체 인식 방법과 기존의 객체 인식 방법의 성능을 비교한 도면이다.
도 19는 본 발명의 일 실시 예에 의한 객체 인식 방법과 최신의 객체 인식 방법의 성능을 비교한 도면이다.
도 20은 객체 식별기의 종류에 따른 객체 인식 방법의 성능을 비교한 도면이다.
도 21은 본 발명의 일 실시 예에 의한 임계 값 별 객체 인식 방법의 성능을 비교한 도면이다.1 is a diagram showing a rough operation of an object recognition method according to an embodiment of the present invention.
2 is a diagram for describing an object recognition apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a distributed processing method for an object recognition method according to an embodiment of the present invention.
4 is a diagram for describing an object recognition method according to an embodiment of the present invention.
5 is a diagram illustrating a method of preprocessing image data according to an embodiment of the present invention.
6 is a diagram showing a directional mask according to an embodiment of the present invention.
7 is a diagram showing an example of an object recognition method according to an embodiment of the present invention.
8 is a diagram illustrating an object identification process according to an embodiment of the present invention.
9 is a diagram showing an example of a Maryland data set according to an embodiment of the present invention.
10 is a diagram showing an example of a YUPENN data set according to an embodiment of the present invention.
11 is a diagram showing an example of a Youtube 8M data set according to an embodiment of the present invention.
12 is a view comparing performance according to the number of nodes included in an object recognition apparatus for each data set according to an embodiment of the present invention.
13 is a diagram showing the accuracy of an object recognition method for a Maryland data set according to an embodiment of the present invention.
14 is a diagram showing the accuracy of an object recognition method for a YUPENN data set according to an embodiment of the present invention.
15 is a diagram showing the accuracy of an object recognition method for a Youtube 8M data set according to an embodiment of the present invention.
16 is a diagram for describing an object recognition method to which a region-based approach is applied.
17 is a diagram showing the performance of an object recognition apparatus for a region-based approach and a holistic-based approach.
18 is a diagram comparing performance of an object recognition method and a conventional object recognition method according to an embodiment of the present invention.
19 is a diagram comparing performance of an object recognition method according to an embodiment of the present invention and a newer object recognition method.
20 is a view comparing performance of an object recognition method according to the type of object identifier.
21 is a diagram comparing performance of an object recognition method for each threshold value according to an embodiment of the present invention.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. The above-described objects, features, and advantages will be described later in detail with reference to the accompanying drawings, and accordingly, a person of ordinary skill in the art to which the present invention pertains will be able to easily implement the technical idea of the present invention. In describing the present invention, if it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description will be omitted.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다. In the drawings, the same reference numerals are used to indicate the same or similar elements, and all combinations described in the specification and claims may be combined in any manner. And, unless otherwise specified, it is to be understood that references to the singular may include more than one, and references to the singular may also include the plural.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.The terms used in this specification are for the purpose of describing specific exemplary embodiments only and are not intended to be limiting. Singular expressions as used herein may also be intended to include plural meanings unless clearly indicated otherwise in the corresponding sentence. The term "and/or," "and/or" includes all combinations and any of the items listed in connection therewith. The terms "comprises", "comprising", "comprising", "having", "having", "having", and the like have implicit meanings, and accordingly, these terms include the described features, It specifies steps, actions, elements, and/or components, and does not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and/or groups thereof. The steps, processes, and actions of the methods described herein are not to be construed as necessarily performing their performance in the particular order discussed or illustrated, unless the order in which they are specifically performed is determined. . It should also be understood that additional or alternative steps may be used.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.In addition, each component may be implemented as a hardware processor, the above components may be integrated to be implemented as one hardware processor, or the above components may be combined with each other to be implemented as a plurality of hardware processors.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
영상에서 특징 벡터를 추출하기 위한 기존의 방법 중 대표적인 것이 LBP(Local Binary Pattern)이다. LBP는 이미지의 텍스쳐를 분류하기 위하여 개발된 알고리즘으로, 객체 인식과 같은 다양한 영상 인식 분야에도 활용된다. LBP는 영상에 포함된 모든 픽셀에 대해 연산되는 값으로, 각 픽셀의 주변 3x3 크기를 갖는 영역에 대한 상대적인 밝기 변화를 2진수로 나타내는 인덱스 값을 의미한다. 즉, LBP는 지역적인 이진 패턴을 연산한다.A representative of the existing methods for extracting feature vectors from an image is LBP (Local Binary Pattern). LBP is an algorithm developed to classify the texture of an image, and is also used in various image recognition fields such as object recognition. LBP is a value calculated for all pixels included in an image, and refers to an index value representing a relative brightness change in a region having a size of 3x3 around each pixel in binary. In other words, LBP computes a local binary pattern.
LBP의 구체적인 원리는 3x3 영역 내에서 중심에 위치하는 중심 픽셀, 중심 픽셀과 이웃하는 8개의 이웃 픽셀끼리 서로 크기를 비교하여 이웃 픽셀의 값이 중심 픽셀보다 크면 1의 값을, 그렇지 않으면 0의 값을 갖도록 하여 이진 값을 연산한다. 예를 들어 중심 픽셀의 값이 50이고 그에 대한 이웃 픽셀의 값이 {65, 90, 40, 125, 35, 15, 70, 5}이면, LBP 이진 값은 {1, 1, 0, 1, 0, 0, 1, 0}이 된다. 따라서 최종 이진 패턴은 11010010(2)가 될 수 있다.The specific principle of LBP is a center pixel located at the center within a 3x3 area, and a value of 1 if the value of the neighboring pixel is greater than the center pixel by comparing the size of the center pixel and eight neighboring pixels. Binary values are calculated by having For example, if the value of the center pixel is 50 and the value of the neighboring pixel is {65, 90, 40, 125, 35, 15, 70, 5}, the LBP binary value is {1, 1, 0, 1, 0 , 0, 1, 0}. Therefore, the final binary pattern may be 11010010(2).
이와 같이 LBP는 영상에 포함된 픽셀에 대한 상대적인 값을 식별하기 때문에 밝기와 상관없이 일정한 값을 가질 수 있다. 그러나 LBP는 이웃 노드의 강도에 따라 이진 값이 완전히 달라질 수 있어 일관된 이진 패턴을 추출하지 못하기 때문에 노이즈에 취약하다는 단점이 있다.As described above, since the LBP identifies a relative value for a pixel included in an image, it may have a constant value regardless of the brightness. However, the LBP has a disadvantage in that it is vulnerable to noise because the binary value can be completely changed according to the strength of the neighboring node, and it cannot extract a consistent binary pattern.
도 1은 본 발명의 일 실시 예에 의한 객체 인식 방법의 대략적인 동작을 나타낸 도면이다. 도 1을 참조하면, 객체 인식 방법은 영상 데이터를 저장하기 위하여 HDFS를 사용할 수 있다. HDFS(Hadoop Distribution File System)은 Hadoop의 데이터 저장 시스템을 의미한다. Hadoop은 대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크이다. Hadoop은 복수 개의 서버에 데이터를 분산 저장하고, 데이터가 저장된 서버에서 동시에 데이터를 처리하는 시스템이다.1 is a diagram showing a rough operation of an object recognition method according to an embodiment of the present invention. Referring to FIG. 1, the object recognition method may use HDFS to store image data. HDFS (Hadoop Distribution File System) stands for Hadoop's data storage system. Hadoop is a Java-based open source framework that can distribute large amounts of data. Hadoop is a system that distributes and stores data on multiple servers and processes data at the same time in the server where the data is stored.
특정 영상 데이터에 대한 특징을 추출하기 위하여 Spark RDD는 HDFS에 저장된 영상 데이터를 불러올 수 있다. Spark RDD는 Spark 내의 저장소를 의미한다. Spark는 범용성 분산 플랫폼으로, 분산된 복수 개의 노드에서 연산을 수행하게 하는 범용 분산 클러스터링 플랫폼을 의미한다. Spark는 Hadoop과 유사한데, Hadoop이 Map&Reduce 작업을 디스크 기반으로 수행하기 때문에 성능의 감소가 발생하는 반면, Spark는 Map&Reduce 작업을 메모리 기반으로 수행하기 때문에 Hadoop보다 빠른 속도를 가질 수 있다.Spark RDD can load video data stored in HDFS to extract features for specific video data. Spark RDD stands for storage in Spark. Spark is a general-purpose distributed platform, which means a general-purpose distributed clustering platform that enables operations to be performed on multiple distributed nodes. Spark is similar to Hadoop. Because Hadoop performs Map&Reduce operations on a disk basis, performance decreases, whereas Spark performs Map&Reduce operations on a memory basis, so it can have a faster speed than Hadoop.
본 발명은 Spark RDD가 HDFS로부터 제1 영상 데이터를 불러오면, 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하여 Spark에서 처리 가능한 노드에 분산 저장할 수 있다. 제2 영상 데이터가 저장된 각 노드에서, 제2 영상 데이터를 전처리하고, 전처리된 영상 데이터로부터 특징 벡터를 추출한 후, 추출된 특징 벡터를 HDFS에 저장할 수 있다. HDFS에 저장된 특징 벡터와 영상 데이터와 비교 대상이 되는 기 저장된 영상 데이터의 특징 벡터를 비교하여 영상 데이터의 객체를 식별할 수 있다.In the present invention, when the Spark RDD loads the first image data from HDFS, the first image data may be divided into a plurality of second image data and stored in a distributed node that can be processed by Spark. Each node in which the second image data is stored may pre-process the second image data, extract a feature vector from the pre-processed image data, and then store the extracted feature vector in HDFS. An object of the image data can be identified by comparing the feature vector stored in the HDFS with the feature vector of the previously stored image data to be compared with the image data.
이하에서는 도 2를 참조하여, 본 발명의 일 실시 예에 의한 객체 인식 장치를 설명한다. 도 2를 참조하면 본 발명의 일 실시 예에 의한 객체 인식 장치는 영상 수집부(100), 전처리부(200), 제어부(300) 그리고 데이터 저장부(400)를 포함할 수 있다. 제어부(300)는 평면 패턴 생성부(310), 특징 벡터 생성부(330), 히스토그램 생성부(350), 객체 식별부(370)를 더 포함할 수 있고, 데이터 저장부(400)는 영상 데이터 저장부(410)와 평면 패턴 저장부(430)를 더 포함할 수 있다.Hereinafter, an object recognition apparatus according to an embodiment of the present invention will be described with reference to FIG. 2. Referring to FIG. 2, an object recognition apparatus according to an embodiment of the present invention may include an
영상 수집부(100)는 HDFS에서 제1 영상 데이터를 수신할 수 있다. 영상 수집부(100)는 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하여 영상 데이터 저장부(410)에 분산 저장할 수 있다. 영상 데이터 저장부(410)는 Spark RDD를 따르며, 복수 개의 노드로 구성되어 있어 제2 영상 데이터를 각 노드에 분산시켜 저장함으로써 제2 영상 데이터 각각을 동시에 처리할 수 있도록 한다. 이하에서는 각 노드에서 제2 영상 데이터를 처리하기 위한 모듈을 설명한다.The
전처리부(200)는 영상 데이터 저장부(410)에 분산 저장된 일 제2 영상 데이터의 전처리를 수행할 수 있다. 보다 구체적으로 전처리부(200)는 제2 영상 데이터에서 하나 이상의 프레임을 추출하고, RGB 스케일인 프레임을 그레이 스케일로 변환하며, 그레이 스케일로 변환된 프레임을 기 설정된 크기로 재설정할 수 있다.The preprocessor 200 may perform preprocessing of the second image data distributed and stored in the image data storage unit 410. More specifically, the preprocessor 200 may extract one or more frames from the second image data, convert a frame in RGB scale to gray scale, and reset the frame converted to gray scale to a preset size.
제어부(300)는 전처리된 제2 영상 데이터에 포함된 픽셀 정보를 이용하여 제2 영상 데이터에서 객체를 식별할 수 있다. 이하에서는 제어부(300)가 포함하는 평면 패턴 생성부(310), 특징 벡터 생성부(330), 히스토그램 생성부(350), 객체 식별부(370)로 나누어 설명한다.The controller 300 may identify an object from the second image data using pixel information included in the preprocessed second image data. Hereinafter, the description will be divided into a plane pattern generation unit 310, a feature vector generation unit 330, a histogram generation unit 350, and an object identification unit 370 included in the control unit 300.
평면 패턴 생성부(310)는 제2 영상 데이터에서, 하나 이상의 직교 평면에 대하여 기 설정된 위치 및 크기를 갖는 평면 패턴을 각각 추출할 수 있다. 평면 패턴 생성부(310)는 X축-Y축 직교 평면, X축-T축 직교 평면 그리고 Y축-T축 직교 평면에 대한 평면 패턴을 각각 추출할 수 있다. X축은 제2 영상 데이터에 포함된 프레임의 가로축을 의미하고 Y축은 제2 영상 데이터에 포함된 프레임의 세로축을 의미하며 T축은 제2 영상 데이터에 포함된 복수 개의 프레임의 수직 축을 의미한다. 이 때 각 직교 평면에서 추출된 평면 패턴은 평면 패턴 저장부(430)에 분산 저장될 수 있다. 평면 패턴 저장부(430) 또한 Spark RDD를 따르며, 복수 개의 노드로 구성되어 있어 평면 패턴을 각 노드에 분산시켜 저장함으로써 평면 패턴 각각을 동시에 처리할 수 있도록 한다. 평면 패턴이 분산 저장되는 노드는 제2 영상 데이터가 분산 저장되는 노드의 하부 노드로, 이중 분산 구조를 가질 수 있다.The planar pattern generator 310 may each extract a planar pattern having a preset position and size with respect to one or more orthogonal planes from the second image data. The planar pattern generator 310 may extract a flat pattern for an X-axis-Y-axis orthogonal plane, an X-axis-T-axis orthogonal plane, and a Y-axis-T-axis orthogonal plane, respectively. The X-axis refers to the horizontal axis of the frame included in the second image data, the Y-axis refers to the vertical axis of the frame included in the second image data, and the T-axis refers to the vertical axis of a plurality of frames included in the second image data. In this case, the plane pattern extracted from each orthogonal plane may be distributed and stored in the plane pattern storage unit 430. The flat pattern storage unit 430 also conforms to Spark RDD, and is composed of a plurality of nodes, so that the flat patterns are distributed and stored in each node to simultaneously process each of the flat patterns. The node in which the flat pattern is distributed and stored is a lower node of the node in which the second image data is distributed and stored, and may have a double distributed structure.
각 직교 평면에 대하여 추출된 평면 패턴은 기 설정된 크기를 가질 수 있으며, 제2 영상 데이터에 포함된 모든 픽셀에 대하여 평면 패턴이 추출될 수 있다. 본 발명은 각 직교 평면에 대하여 평면 패턴을 추출함으로써 공간 및 시공 정보를 모두 추출할 수 있다는 효과를 가질 수 있다. 이하에서는 평면 패턴의 크기를 3x3으로 가정하여 설명한다.The plane pattern extracted for each orthogonal plane may have a preset size, and a plane pattern may be extracted for all pixels included in the second image data. The present invention may have the effect of extracting both spatial and construction information by extracting a plane pattern for each orthogonal plane. Hereinafter, it is assumed that the size of the flat pattern is 3x3.
특징 벡터 생성부(330)는 평면 패턴 생성부(310)가 생성한 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 이용하여 평면 패턴에서 특징 벡터를 추출할 수 있다. 방향성 마스크는 평면 패턴의 중간 픽셀과 중간 픽셀과 이웃하는 이웃 픽셀 사이의 각도에 대응되는 8개의 마스크를 포함할 수 있다. 방향성 마스크는 기존에 존재하던 Frei-Chen 마스크를 변형한 것으로, Frei-Chen 마스크가 제곱근 연산을 필요로 하기 때문에 연산 속도가 떨어지는 반면 본 발명의 방향성 마스크는 제곱근 연산을 수행하지 않아도 동일한 결과를 도출할 수 있기 때문에 보다 효율적이다.The feature vector generator 330 may extract a feature vector from the planar pattern using a directional mask having the same size as the planar pattern generated by the planar pattern generator 310. The directional mask may include an intermediate pixel of a flat pattern and eight masks corresponding to an angle between the intermediate pixel and neighboring pixels. The directional mask is a modification of the existing Frei-Chen mask. Since the Frei-Chen mask requires a square root operation, the operation speed is lowered, whereas the directional mask of the present invention can derive the same result without performing the square root operation. Because it can be more efficient.
본 발명의 일 실시 예에서 사용되는 방향성 마스크는 도 6과 같다. 도 6을 참조하면, 방향성 마스크는 제1 마스크(610), 제2 마스크(620), 제3 마스크(630), 제4 마스크(640), 제5 마스크(650), 제6 마스크(660), 제7 마스크(670), 그리고 제8 마스크(680)를 포함할 수 있다.A directional mask used in an embodiment of the present invention is shown in FIG. 6. Referring to FIG. 6, the directional masks include a
특징 벡터 생성부(330)는 평면 패턴의 중심 픽셀과 이웃 픽셀 사이의 각도에 대응되는 방향성 마스크를 적용하여 각도 별 벡터 값을 생성할 수 있다. 평면 패턴의 크기가 3x3이라고 가정했을 때, 중심 픽셀과 중심 픽셀의 우측에 위치한 이웃 픽셀 사이의 각도를 0도라고 설정할 수 있다. 이 때 0도의 기준이 되는 이웃 픽셀은 설정에 따라 달라질 수 있다.The feature vector generator 330 may generate a vector value for each angle by applying a directional mask corresponding to an angle between a center pixel of a flat pattern and a neighboring pixel. Assuming that the size of the planar pattern is 3x3, the angle between the center pixel and a neighboring pixel located to the right of the center pixel can be set to 0 degrees. In this case, the neighboring pixels that are the reference of 0 degrees may vary according to settings.
특징 벡터 생성부(330)는 중심 픽셀과 이웃 픽셀 사이의 각도에 대응되는 방향성 마스크를 다음과 같이 식별할 수 있다. 도 6을 참조하여 방향성 마스크를 설명하면, 특징 벡터 생성부(330)는 도 6의 중심에 위치한 픽셀을 기준으로 우측에 위치한 제1 마스크(610)를 0도에 대응되는 마스크로 식별할 수 있다. 이에 따라 평면 패턴에서 각도가 45도인 이웃 픽셀에 대응되는 마스크는 제2 마스크(620), 각도가 90도인 이웃 픽셀에 대응되는 마스크는 제3 마스크(630), …, 315도인 이웃 픽셀에 대응되는 마스크는 제8 마스크(680)로 식별될 수 있다.The feature vector generator 330 may identify a directional mask corresponding to an angle between a center pixel and a neighboring pixel as follows. When the directional mask is described with reference to FIG. 6, the feature vector generator 330 may identify the
특징 벡터 생성부(330)는 평면 패턴에 하나 이상의 방향성 마스크를 적용하여 각도 별 벡터 값을 생성할 수 있다. 평면 패턴에 방향성 마스크를 적용하는 방법을 설명하기 위하여 도 7에 도시된 일 예 중 하나인 Y축-T축 직교 평면에 대한 평면 패턴(이하 평면 패턴 A)을 이용해보자.The feature vector generator 330 may generate vector values for each angle by applying one or more directional masks to the flat pattern. In order to describe a method of applying a directional mask to a planar pattern, a planar pattern (hereinafter, planar pattern A) for a Y-T axis orthogonal plane, which is one of the examples shown in FIG. 7, will be used.
평면 패턴 A는 중심 픽셀의 값이 50이며, 80의 값을 갖는 이웃 픽셀과 중심 픽셀 사이의 각도를 0이라고 가정하였을 때 이웃 픽셀의 값은 80의 값을 갖는 이웃 픽셀을 시작으로 {80, 90, 40, 140, 100, 30, 60, 70}일 수 있다. 설명의 편의성을 위해 80의 값을 갖는 이웃 픽셀을 제1 이웃 픽셀, 90의 값을 갖는 이웃 픽셀을 제2 이웃 픽셀, …, 70의 값을 갖는 이웃 픽셀을 제8 이웃 픽셀이라고 명명한다.In the planar pattern A, assuming that the center pixel value is 50, and the angle between the center pixel and the neighboring pixel having a value of 80 is 0, the value of the neighboring pixel starts with the neighboring pixel having a value of 80 (80, 90). , 40, 140, 100, 30, 60, 70}. For convenience of description, a neighboring pixel having a value of 80 is a first neighboring pixel, a neighboring pixel having a value of 90 is a second neighboring pixel, ... A neighboring pixel having a value of 70 is referred to as an eighth neighboring pixel.
평면 패턴 A의 중심 픽셀과의 각도가 225도인 제6 이웃 픽셀에, 제6 이웃 픽셀의 각도(225도)에 대응되는 마스크인 제6 마스크(660)을 적용할 수 있다. 제6 마스크(660)는 1/3의 값을 갖는 제1 마스크 픽셀, -2/3의 값을 갖는 제2 마스크 픽셀, …, 0의 값을 갖는 제8 마스크 픽셀을 포함할 수 있다. 평면 패턴 A의 이웃 픽셀과 마스크 픽셀을 각각 곱연산하면 {80/3, -180/3, 40/3, 0, -100/3, 60/3, 60/3, 0}의 값을 얻을 수 있다. 연산된 값을 모두 합하면 -40/3(-13.3)의 값을 얻을 수 있다. 따라서 특징 벡터 생성부(330)는 평면 패턴 A에서 각도가 225도인 벡터 값을 연산하여 -13.3의 값을 얻을 수 있다.A
특징 벡터 생성부(330)는 위와 같은 방법을 모든 이웃 픽셀에 적용하여 8개의 각도 별 벡터 값을 생성한 후, 각도 별 벡터 값을 이용하여 벡터 패턴을 생성할 수 있다. 이 때 특징 벡터 생성부(330)는 생성된 각도 별 벡터 값을 벡터 패턴에서 그 각도에 대응되는 이웃 픽셀에 대한 값으로 설정할 수 있다.The feature vector generator 330 may generate eight vector values for each angle by applying the above method to all neighboring pixels, and then generate a vector pattern using the vector values for each angle. In this case, the feature vector generator 330 may set the generated vector value for each angle as a value for a neighboring pixel corresponding to the angle in the vector pattern.
이 때, 특징 벡터 생성부(330)는 이웃 픽셀에 대한 각도 별 벡터 값만을 연산하기 때문에 벡터 패턴의 중심 픽셀의 값은 위와 같은 방법으로 연산될 수 없다. 따라서 특징 벡터 생성부(330)는 벡터 패턴의 중심 픽셀의 값을 벡터 패턴의 이웃 픽셀의 값에 대한 평균 값으로 설정할 수 있다. 평면 패턴 A에 대한 벡터 패턴의 중심 픽셀 값은 -12.9일 수 있다.In this case, since the feature vector generator 330 calculates only the vector value for each angle of the neighboring pixel, the value of the center pixel of the vector pattern cannot be calculated in the same manner as described above. Accordingly, the feature vector generator 330 may set the value of the center pixel of the vector pattern as an average value of the values of neighboring pixels of the vector pattern. The center pixel value of the vector pattern for the flat pattern A may be -12.9.
특징 벡터 생성부(330)는 생성된 벡터 패턴을 특정 임계 값과 비교하여 이진화하여 특징 벡터를 추출할 수 있다. The feature vector generator 330 may compare the generated vector pattern with a specific threshold value and binaryize it to extract a feature vector.
먼저 특징 벡터 생성부(330)는 벡터 패턴을 특정 임계 값과 비교하여 이진 값을 생성할 수 있다. 벡터 패턴에 포함된 이웃 픽셀의 값이 임계 값보다 크면 1의 값을, -임계 값보다 작으면 -1의 값을, 그 외의 경우 0의 값을 추출할 수 있다. 이 때 임계 값으로 평면 벡터의 중심 픽셀에 대한 제곱근 값을 사용할 수 있다. 임계 값으로 5, 10, 15, 이웃 픽셀의 중간 값 제곱근 값, 중심 픽셀의 제곱근 값 중 하나를 선택할 수 있는데, 도 21을 참조하면 임계 값으로 중심 픽셀의 제곱근 값을 이용하는 것이 객체 인식 장치의 정확도를 가장 높일 수 있다.First, the feature vector generator 330 may generate a binary value by comparing the vector pattern with a specific threshold value. A value of 1 may be extracted if the value of the neighboring pixel included in the vector pattern is greater than the threshold value, a value of -1 may be extracted if the value is less than the threshold value, and a value of 0 may be extracted otherwise. In this case, the square root value of the center pixel of the plane vector can be used as the threshold value. As the threshold value, it is possible to select one of 5, 10, 15, the square root value of the middle value of the neighboring pixel, and the square root value of the center pixel. Referring to FIG. 21, the accuracy of the object recognition device is to use the square root value of the center pixel as the threshold value. Can be the highest.
앞서 사용한 예시에서 평면 벡터의 중심 픽셀의 값은 50으로 50의 제곱근 값은 7.07이다. 특징 벡터 생성부(330)는 벡터 패턴에 포함된 각 이웃 픽셀의 값을 7.07과 비교하여 7.07보다 크면 1의 값을, -7.07보다 작으면 -1의 값을, 그 외의 경우 0의 값을 추출할 수 있다. 픽셀 패턴 A에 대한 벡터 패턴에 대해 생성된 이진 값은 {-1, -1, 1, 1, -1, 0, -1, 1}이 될 수 있다. In the example used previously, the value of the center pixel of the plane vector is 50, and the square root of 50 is 7.07. The feature vector generator 330 compares the value of each neighboring pixel included in the vector pattern with 7.07, and extracts a value of 1 if it is greater than 7.07, a value of -1 if it is less than -7.07, and a value of 0 otherwise. can do. The binary value generated for the vector pattern for the pixel pattern A may be {-1, -1, 1, 1, -1, 0, -1, 1}.
특징 벡터 생성부(330)는 생성된 이진 값을 이용하여 특징 벡터를 생성할 수 있다. 이 때 특징 벡터는 상위 특징 벡터와 하위 특징 벡터로 구분될 수 있다. 상위 특징 벡터는 이진 값이 1이면 1의 값을, 0 또는 -1이면 0의 값을 부여할 수 있다. 나아가 하위 특징 벡터는 이진 값이 -1이면 1의 값을, 0 또는 1이면 0의 값을 부여할 수 있다. 예를 들어 이진 값이 {-1, -1, 1, 1, -1, 0, -1, 1}이면 특징 벡터 생성부(330)는 상위 특징 벡터로 00110001, 하위 특징 벡터로 11001010를 추출할 수 있다.The feature vector generator 330 may generate a feature vector by using the generated binary value. In this case, the feature vector may be divided into an upper feature vector and a lower feature vector. The upper feature vector may be assigned a value of 1 if the binary value is 1, and a value of 0 if it is 0 or -1. Further, the lower feature vector may be given a value of 1 if the binary value is -1, and a value of 0 if it is 0 or 1. For example, if the binary value is {-1, -1, 1, 1, -1, 0, -1, 1}, the feature vector generator 330
히스토그램 생성부(350)는 특징 벡터 생성부(330)가 생성한 특징 벡터를 히스토그램으로 변환할 수 있다. 히스토그램 생성부(350)는 분산된 X축-Y축 직교 평면, X축-T축 직교 평면, Y축-T축 직교 평면 각각에 대한 평면 벡터에서 추출된 특징 벡터를 십진화하고, 각 십진 값을 병합하여 하나의 히스토그램을 생성할 수 있다. 이 때, 히스토그램 생성부(350)는 상위 특징 벡터와 하위 특징 벡터 각각에 대한 히스토그램을 생성할 수 있다. 히스토그램 생성부(350)가 생성한 히스토그램의 크기는 (직교 평면의 수)x(특징 벡터의 수)x(2^(평면 패턴의 이웃 픽셀의 수))일 수 있다.The histogram generator 350 may convert the feature vector generated by the feature vector generator 330 into a histogram. The histogram generation unit 350 decimalizes feature vectors extracted from plane vectors for each of the distributed X-axis-Y-axis orthogonal plane, X-axis-T-axis orthogonal plane, and Y-axis-T-axis orthogonal plane, and each decimal value You can create a histogram by merging. In this case, the histogram generator 350 may generate a histogram for each of the upper feature vector and the lower feature vector. The size of the histogram generated by the histogram generator 350 may be (number of orthogonal planes) x (number of feature vectors) x (2^ (number of neighboring pixels in a plane pattern)).
객체 식별부(370)는 히스토그램 생성부(350)에서 생성된 히스토그램에 대응되는 행동 정보를 식별함으로써 제2 영상 데이터에 포함된 객체를 식별할 수 있다. 객체 식별부는 행동 정보를 식별하기 위하여 CNN(Convolutional Neural Network) 알고리즘을 사용할 수 있으며, 이 외의 다른 객체 식별 알고리즘을 사용할 수도 있다. CNN 알고리즘은 합성곱 연산을 사용하는 신경망의 한 종류로, 합성곱을 사용함으로써 시공 정보를 유지할 수 있다.The object identification unit 370 may identify an object included in the second image data by identifying behavior information corresponding to the histogram generated by the histogram generation unit 350. The object identification unit may use a Convolutional Neural Network (CNN) algorithm to identify behavioral information, and other object identification algorithms may be used. The CNN algorithm is a kind of neural network that uses convolutional operations, and it can maintain time and space information by using convolution.
신경망은 인접하는 계층의 모든 뉴런이 결합되어 있는 완전 연결 구조로, 3차원 데이터인 이미지 프레임이 완전 연결 계층에 입력될 때, 1차원 데이터로 변형되게 되면서 공간 정보를 상실하는 단점이 있다. 예를 들어 공간적으로 인접한 픽셀은 그 값이 서로 연관성이 있는 등의 3차원 속 의미를 갖는 패턴이 무시된다. 따라서 이러한 단점을 해결하기 위해 합성곱 연산을 신경망에 적용할 수 있다. 합성곱 연산은 특정 높이 또는 너비를 갖는 필터를 일정한 간격으로 이동하며 입력 데이터에 적용할 수 있다. 즉 동일한 필터가 이미지 프레임 전체에 적용될 수 있다.A neural network is a fully connected structure in which all neurons of an adjacent layer are combined, and when an image frame, which is 3D data, is input to the fully connected layer, it is transformed into 1D data, and spatial information is lost. For example, a pattern having a meaning in three dimensions, such as that the values of pixels adjacent to each other are related to each other are ignored. Therefore, to solve these shortcomings, the convolution operation can be applied to the neural network. The convolution operation can be applied to input data by moving filters having a specific height or width at regular intervals. That is, the same filter can be applied to the entire image frame.
객체 식별부(370)는 프레임이 n(일반적으로 60)인 제2 영상 데이터에서 추출된 히스토그램에 대하여, n x (히스토그램의 수)개를 CNN 알고리즘의 입력 값으로 사용할 수 있다. 도 8을 참조하면, 객체 식별부(370)는 4개의 합성곱 계층, 4개의 맥스-풀링(Max Pooling) 계층, 그리고 하나의 연결 계층으로 구성된 CNN 알고리즘을 사용할 수 있다. 제1, 제2 합성곱 및 맥스-풀링 계층은 1 x 7, 1 x 6의 크기를 갖는 16개의 합성곱 필터를 이용하여 합성곱 연산을 수행하고, 제3, 제4 합성곱 및 맥스-풀링 계층은 1 x 5, 1 x 4의 크기를 갖는 32개의 합성곱 필터를 이용하여 합성곱 연산을 수행할 수 있다. 나아가 제1, 제3, 제4 맥스-풀링 계층은 1 x 2 슬라이딩 윈도우를 수행하고, 제2 맥스-풀링 계층은 1 x 4 슬라이딩 윈도우를 수행할 수 있다.The object identification unit 370 may use n x (number of histograms) as input values of the CNN algorithm for histograms extracted from the second image data having n frames (generally 60). Referring to FIG. 8, the object identification unit 370 may use a CNN algorithm composed of four convolutional layers, four max-pooling layers, and one connection layer. The first and second convolution and max-pooling layers perform a convolution operation using 16 convolution filters having a size of 1 x 7, 1 x 6, and the third, fourth convolution and max-pooling The layer may perform a convolution operation using 32 convolution filters having sizes of 1 x 5 and 1 x 4. Furthermore, the first, third, and fourth max-pooling layers may perform a 1×2 sliding window, and the second max-pooling layers may perform a 1×4 sliding window.
객체 식별부(370)는 CNN 알고리즘을 수행할 때 가중치 및 바이어스 값을 초기화하고, 모든 계층의 가중치 및 바이어스 값을 오차역전파법(Back-Propagation) 알고리즘을 이용하여 업데이트할 수 있다.When performing the CNN algorithm, the object identification unit 370 may initialize weights and bias values, and update weights and bias values of all layers using a back-propagation algorithm.
이하에서는 도 3 내지 도 5를 이용하여 본 발명의 일 실시 예에 의한 객체 인식 방법을 설명한다. 객체 인식 방법에 관한 설명에 있어서 전술한 객체 인식 시스템과 중복되는 세부 실시 예는 생략될 수 있다.Hereinafter, an object recognition method according to an embodiment of the present invention will be described with reference to FIGS. 3 to 5. In the description of the object recognition method, detailed embodiments overlapping with the aforementioned object recognition system may be omitted.
도 3은 본 발명의 일 실시 예에 의한 객체 인식 방법에 대한 분산 처리 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 서버는 HDFS에서 제1 영상 데이터를 불러오면 복수 개의 제2 영상 데이터로 분할하여 분산 처리할 수 있다. 서버는 제2 영상 데이터가 저장된 Spark RDD의 Mapper와 Reducer를 통해 제2 영상 데이터에서 평면 패턴을 추출할 수 있다. 이 때, 서버는 제2 영상 데이터에서 하나 이상의 직교 평면에 대한 평면 패턴의 추출 또한 분산 처리할 수 있다. 즉 서버는 제2 영상 데이터에서 하나 이상의 직교 평면에 대한 평면 패턴을 추출하기 위해서 한 번 이상 분산 처리할 수 있다.3 is a diagram illustrating a distributed processing method for an object recognition method according to an embodiment of the present invention. Referring to FIG. 3, when the server loads the first image data from the HDFS, the server may divide it into a plurality of second image data and perform distributed processing. The server may extract a flat pattern from the second image data through a Mapper and Reducer of Spark RDD in which the second image data is stored. In this case, the server may also perform distributed processing to extract a flat pattern for one or more orthogonal planes from the second image data. That is, the server may perform distributed processing more than once in order to extract a flat pattern for one or more orthogonal planes from the second image data.
도 4는 본 발명의 일 실시 예에 의한 객체 인식 방법을 설명하기 위한 도면이고, 도 5는 본 발명의 일 실시 예에 의한 영상 데이터의 전처리 방법을 설명하기 위한 도면이다. 객체 인식 방법을 수행하는 객체 인식 장치는 서버로 구현될 수 있는 바, 이하에서는 설명의 편의를 위해 서버로 명명한다.4 is a diagram for explaining a method of recognizing an object according to an embodiment of the present invention, and FIG. 5 is a diagram for explaining a method for preprocessing image data according to an embodiment of the present invention. An object recognition device that performs an object recognition method may be implemented as a server, and hereinafter, it is referred to as a server for convenience of description.
도 4 및 도 5를 참조하면, 서버는 HDFS에서 제1 영상 데이터를 불러올 수 있다(S100). 서버는 불러온 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할(S200)하여 Spark RDD의 각 노드에 분산 저장(S250)할 수 있다. Spark RDD의 노드는 Mapper와 Reducer를 각각 포함하고 있다. 이하에서는 설명의 편의성을 위하여 제2 영상 데이터가 분할된 노드를 제1 노드라고 명명한다.4 and 5, the server may load first image data from HDFS (S100). The server may divide the imported first image data into a plurality of second image data (S200) and store it distributedly in each node of the Spark RDD (S250). Spark RDD nodes contain Mapper and Reducer respectively. Hereinafter, for convenience of description, a node into which the second image data is divided is referred to as a first node.
서버는 제1 노드 각각에 분산 저장된 제2 영상 데이터에서 프레임을 추출(S310)하고, 프레임을 그레이 스케일로 변환(S320)하며, 변환된 프레임의 크기를 변경(S330)하는 전처리를 수행할 수 있다(S300).The server may perform preprocessing of extracting a frame from the second image data distributed and stored in each of the first nodes (S310), converting the frame to gray scale (S320), and changing the size of the converted frame (S330). (S300).
서버는 전처리된 제2 영상 데이터에서, 하나 이상의 직교 평면에 대하여 기 설정된 위치 및 크기를 갖는 평면 패턴을 각각 추출(S400)하여 Spark RDD의 각 노드에 분산 저장(S450)할 수 있다. 평면 패턴은 제2 영상 데이터에서 하나 이상의 직교 평면에 대하여 기 설정된 위치 및 크기를 갖는 것을 특징으로 하고, X축-Y축, X축-T축, Y축-T축 직교 평면에 대하여 평면 패턴이 각각 생성될 수 있다. 평면 패턴이 분할되어 저장된 노드를 제2 노드라고 명명한다. 제2 노드는 제1 노드의 하부 노드일 수 있다.The server may extract (S400) a plane pattern each having a predetermined position and size with respect to one or more orthogonal planes from the preprocessed second image data, and store it in distributed storage in each node of the Spark RDD (S450). The flat pattern is characterized by having a predetermined position and size with respect to one or more orthogonal planes in the second image data, and the flat pattern is formed with respect to the X-axis-Y-axis, X-axis-T-axis, and Y-axis-T-axis orthogonal plane. Each can be created. A node in which the plane pattern is divided and stored is called a second node. The second node may be a lower node of the first node.
서버는 제2 노드 각각에 분산 저장된 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 적용하여 평면 패턴에 대한 특징 벡터를 생성(S500)할 수 있다. 특징 벡터는 상위 특징 벡터와 하위 특징 벡터로 구분될 수 있으며, 각 평면 패턴에 대하여 하나씩 존재할 수 있다.The server may generate a feature vector for the plane pattern by applying a directional mask having the same size as the plane pattern distributed and stored in each of the second nodes (S500). The feature vectors may be classified into an upper feature vector and a lower feature vector, and there may be one for each plane pattern.
서버는 제2 노드에서 저장된 평면 패턴 각각에 대한 특징 벡터를 생성하면, 분산된 제2 노드의 특징 벡터를 병합하여 하나의 히스토그램을 생성(S600)할 수 있다. 서버는 생성된 히스토그램을 이용하여 객체를 식별(S700)할 수 있다.When a feature vector for each of the plane patterns stored in the second node is generated, the server may generate one histogram by merging the distributed feature vectors of the second node (S600). The server may identify the object using the generated histogram (S700).
이하에서는 도 9 내지 도 21을 이용하여 본 발명의 일 실시 예에 의한 객체 인식 장치의 성능을 기존 방법과 비교하기 위한 실험 및 그 결과를 설명한다.Hereinafter, an experiment for comparing the performance of an object recognition apparatus according to an embodiment of the present invention with an existing method and results thereof will be described with reference to FIGS. 9 to 21.
객체 인식 장치의 실험에는 Hadoop Spark 클러스터와 3가지의 데이터 세트(Maryland 데이터 세트, YUPENN 데이터 세트, YouTube 8M의 하부 데이터 세트)를 사용하고, 각 클러스터는 5개의 노드를 포함할 수 있다. 5개의 노드 중 하나는 마스터 노드(Master node), 나머지 네 개는 워커 노드(Worker node)이다. 5개의 노드는 3.0GHz에서 동작하는 4개의 코 어와 16GB의 메모리로 동일하게 구성되어 있다. 또한 Hadoop은 2.7.1 버전을, Spark는 1.6.2 버전을 사용하였다. 또한 실험을 위해 5-fold 교차 검증 기법을 사용하였으며, Training 데이터 세트로 70%의 데이터를, Testing 데이터 세트로 30%의 데이터를 사용하였다.The experiment of the object recognition device uses a Hadoop Spark cluster and three data sets (Maryland data set, YUPENN data set, and
Maryland 데이터 세트는 13개의 동적 장면 카테고리와 130개의 영상 데이터 세트를 포함할 수 있다. Maryland 데이터 세트에 포함된 영상 데이터는 조명, 시점, 카메라 움직임에 큰 변화를 주었으며, 도 9를 참조하면 Maryland 데이터 세트의 각 카테고리는 눈사태, 산불, 끓는 물, 교통 마비, 분수, 빙산 붕괴, 토네이도, 산사태, 원만한 교통흐름, 화산 폭발, 폭포, 파도 및 소용돌이를 포함하고 있다.The Maryland data set may include 13 dynamic scene categories and 130 image data sets. The image data included in the Maryland data set greatly changed the lighting, viewpoint, and camera movement. Referring to FIG. 9, each category of the Maryland data set is avalanche, forest fire, boiling water, traffic paralysis, fountain, iceberg collapse, tornado, It includes landslides, smooth traffic flows, volcanic eruptions, waterfalls, waves and whirlpools.
YUPENN 데이터 세트는 동적 데이터를 안정화시킨 데이터 세트로, 카메라 움직임이 없는 데이터 세트를 포함할 수 있다. YUPEEN 데이터 세트는 14개의 장면 카테고리와 각 카테고리 별로 30개의 영상 데이터를 포함할 수 있다. 도 10을 참조하면 YUPENN 데이터 세트의 카테고리는 해변, 산불, 번개, 엘리베이터, 분수, 해양, 철도, 구름, 눈, 도로, 폭포, 흐르는 강, 풍차를 포함하고 있다. YUPEEN 데이터 세트에 속한 영상 데이터는 250 x 370(픽셀) x 145(프레임)의 크기를 가질 수 있다.The YUPENN data set is a data set stabilizing dynamic data, and may include a data set without camera movement. The YUPEEN data set may include 14 scene categories and 30 image data for each category. Referring to FIG. 10, the categories of the YUPENN data set include beaches, wildfires, lightning, elevators, fountains, oceans, railroads, clouds, snow, roads, waterfalls, flowing rivers, and windmills. Image data belonging to the YUPEEN data set may have a size of 250 x 370 (pixels) x 145 (frames).
Youtube 8M 데이터 세트는 영상 데이터의 이해를 위한 기준 데이터 세트를 의미한다. 객체 인식 장치의 실험에 사용될 Youtube 8M의 하부 데이터 세트로 Youtube 8M 데이터 세트의 여행 섹션을 사용할 수 있으며, 해당 섹션은 7개의 카테고리로 분류될 수 있다. 도 11을 참조하면 Youtube 8M 하부 데이터 세트의 카테고리는 해변, 호수, 놀이공원, 일출, 동물원, 공항, 도로를 포함하고 있다. Youtube 8M 하부 데이터 세트는 각 카테고리 별로 100개의 영상 데이터, 즉 총 700개의 영상 데이터를 포함할 수 있으며, 영상 데이터별로 관점 및 카메라의 움직임이 각기 상이할 수 있다.
도 12를 참조하면, 세 개의 데이터 세트를 이용한 객체 인식 장치의 성능에 대한 실험을 수행했을 때, 두 개의 노드를 사용할 때 객체를 인식하는 데 소요되는 시간이 1.5배 향상되는 반면 네 개의 노드를 사용할 때는 속도가 크게 향상되지 않는 것을 확인할 수 있다. 반면에 세 개의 노드를 사용하면 속도가 평균 2.6배 향상되는 것을 확인할 수 있다.Referring to FIG. 12, when an experiment on the performance of an object recognition device using three data sets is performed, the time required to recognize an object is improved by 1.5 times when two nodes are used, whereas four nodes are used. It can be seen that the speed does not improve significantly. On the other hand, if you use three nodes, you can see that the average speed is improved by 2.6 times.
도 13 내지 도 15는 세 개의 데이터 세트에 대한 객체 인식 방법의 정확도를 실험한 결과를 도시한 도면이다. Maryland 데이터 세트, YUPENN 데이터 세트, Youtube 8M 데이터 세트를 사용했을 때 객체 인식 장치의 평균 인식률은 각각 84.6%, 97.0%, 94.14%를 나타낸다.13 to 15 are diagrams showing results of an experiment on the accuracy of an object recognition method for three data sets. When using the Maryland data set, the YUPENN data set, and the
Maryland 데이터 세트의 경우, 눈사태, 교통 마비, 토네이도, 폭포, 파도의 범주는 기타 범주보다 좋은 성능을 나타내는 반면 빙산 붕괴, 산사태의 범주는 카메라의 움직임으로 인하여 낮은 성능을 나타내고 있다. YUPENN 데이터 세트의 경우, 해변, 엘리베이터, 흐르는 강의 범주가 가장 좋은 성능을 나타내는 반면 분수, 풍차의 범주는 낮은 성능을 나타내고 있다. Youtube 8M 데이터 세트의 경우, 일몰의 범주는 가장 좋은 성능을 나타내는 반면, 공항의 범주는 영상 데이터의 복잡성으로 인해 낮은 성능을 나타내고 있다.In the case of the Maryland data set, the categories of avalanches, traffic jams, tornadoes, waterfalls, and waves show better performance than other categories, while the categories of iceberg collapse and landslides show lower performance due to camera movement. In the case of the YUPENN data set, the categories of beaches, elevators and flowing rivers show the best performance, while the categories of fountains and windmills show lower performance. In the case of the
나아가 세 개의 데이터 세트에 지역 기반 접근법(Region Based Approach)과 전체론적 기반 접근법(Holistic Based Approach)을 적용하여 객체 인식 장치의 성능에 대한 실험을 수행하였다.Furthermore, an experiment on the performance of the object recognition device was performed by applying the Region Based Approach and Holistic Based Approach to the three data sets.
지역 기반 접근법을 적용하면, 영상 데이터의 각 프레임은 6개의 서로 다른 영역으로 구분될 수 있다. 구분된 각 영역에 객체 인식 방법을 적용하고, 그 결과 모든 영역에 대한 히스토그램을 병합하여 CNN 알고리즘의 입력 데이터로 사용되는 단일 히스토그램을 생성할 수 있다. 반면에 전체론적 기반 접근법을 적용하면, 영상 데이터 각각에 객체 인식 방법을 적용할 수 있다.When the region-based approach is applied, each frame of image data can be divided into six different regions. An object recognition method is applied to each segmented area, and as a result, histograms for all areas are merged to generate a single histogram used as input data of the CNN algorithm. On the other hand, if a holistic based approach is applied, an object recognition method can be applied to each image data.
도 16은 지역 기반 접근법을 적용한 객체 인식 방법을 설명하기 위한 도면이고, 도 17은 지역 기반 접근법과 전체론적 기반 접근법에 대한 객체 인식 방법의 성능을 비교한 도면이다. 도 17을 참조하면, 전체론적 기반 접근법이 지역 기반 접근법 보다 나은 결과를 도출하는 것을 확인할 수 있다. 이는 동적 장면이 전체론적 기반 접근법에 의해 얻어진 영상 데이터의 전역 정보를 의미하는 반면, 지역 기반 접근법은 다른 지역에서 얻어진 극소의 정보에 대한 영향력만을 결정하기 때문이다. 나아가 지역 기반 접근법에서, 영역의 수가 증가하면 특징 벡터의 차수가 증가하기 때문에 정보가 모호해질 수 있다.FIG. 16 is a diagram for explaining an object recognition method to which a region-based approach is applied, and FIG. 17 is a diagram comparing the performance of an object recognition method for a region-based approach and a holistic-based approach. Referring to FIG. 17, it can be seen that the holistic based approach yields better results than the regional based approach. This is because the dynamic scene refers to the global information of the image data obtained by the holistic-based approach, while the region-based approach only determines the influence of the smallest information obtained from other regions. Furthermore, in the region-based approach, information may become ambiguous because the order of feature vectors increases as the number of regions increases.
도 18은 본 발명의 객체 인식 방법과 기존의 객체 인식 방법의 성능을 비교한 도면이다. 성능을 비교하는 과정에 있어서, 객체를 인식하기 위한 객체 추출기로 1-D CNN을 사용하였다. 도 18을 참조하면 본 발명의 객체 인식 방법은 특징 벡터가 영상 데이터에 대하여 더 많은 정보를 포함하고 있기 때문에 기존의 객체 인식 방법보다 나은 결과를 도출하는 것을 확인할 수 있다. Maryland 데이터 세트의 경우 본 발명의 객체 인식 방법의 평균 정확도는 VLBP 및 LBP-TOP 알고리즘보다 각각 25.4%, 23.2% 높고, YUPENN 데이터 세트의 경우 2DHFLBP-TOP(2D Histogram Fourier LBP-TOP) 알고리즘보다 5.3% 높으며, Youtube 8M 데이터 세트의 경우 HOG-TOP 알고리즘보다 5.04% 높은 것을 확인할 수 있다.18 is a view comparing the performance of the object recognition method of the present invention and the existing object recognition method. In the process of comparing the performance, 1-D CNN was used as an object extractor to recognize objects. Referring to FIG. 18, it can be seen that the object recognition method of the present invention derives better results than the conventional object recognition method because the feature vector contains more information about image data. In the case of the Maryland data set, the average accuracy of the object recognition method of the present invention is 25.4% and 23.2% higher than that of the VLBP and LBP-TOP algorithms, respectively, and in the case of the YUPENN data set, 5.3% than the 2D Histogram Fourier LBP-TOP (2D Histogram Fourier LBP-TOP) algorithm. It is high, and it can be seen that the
도 19는 본 발명의 객체 인식 방법과 최신의 객체 인식 방법의 성능을 비교한 도면이다. Maryland 데이터 세트를 이용하여 객체 인식 방법의 성능을 비교하면, 본 발명의 객체 인식 방법은 SOE(Spatiotemporal Oriented Energy), SFA(Slow Feature Analysis), CSO(Complementary Space-time Orientation), BoSE(Bag of Space-time Energy), DPCF(Dynamically Pooled Complementary Features), 단일 프레임 CNN, t-TCoF(Temporal Transferred ConvNet Feature)와 같은 알고리즘보다 나은 결과를 도출하는 반면 st-TCoF(Spatial and Temporal Transferred ConvNet Feature), 하이브리드-CNN, 3DPuraNet-F, D3(Deep Dual Descriptor)와 같은 알고리즘은 본 발명의 객체 인식 방법보다 나은 결과를 도출하는 것을 확인할 수 있다. 본 발명의 객체 인식 방법보다 나은 결과를 도출한 알고리즘은 차별적인 접근 방식을 사용하기 때문에 나은 성능을 나타낼 수 있으나, 본 발명의 객체 인식 방법과 같이 카메라의 움직임을 고려하지는 않는 단점이 있다.19 is a view comparing the performance of the object recognition method of the present invention and the latest object recognition method. When comparing the performance of the object recognition method using the Maryland data set, the object recognition method of the present invention is SOE (Spatiotemporal Oriented Energy), SFA (Slow Feature Analysis), CSO (Complementary Space-time Orientation), BoSE (Bag of Space). -time Energy), DPCF (Dynamically Pooled Complementary Features), single frame CNN, t-TCoF (Temporal Transferred ConvNet Feature), while yielding better results than st-TCoF (Spatial and Temporal Transferred ConvNet Feature), hybrid- It can be seen that algorithms such as CNN, 3DPuraNet-F, and Deep Dual Descriptor (D3) yield better results than the object recognition method of the present invention. Algorithms that derive better results than the object recognition method of the present invention can exhibit better performance because they use a differential approach, but there is a disadvantage in that the camera movement is not considered like the object recognition method of the present invention.
YUPENN 데이터 세트를 이용하여 객체 인식 방법의 성능을 비교하면, 본 발명의 객체 인식 방법은 SOE, SFA, CSO, BoSE, Sift+5DMFV, 단일 프레임 CNN, 3DPyraNet-F와 같은 알고리즘보다 더 나은 결과를 도출하고, t-TCoF, 하이브리드 CNN, D3D(Dynamic Deep Dual Descriptor)와 같은 알고리즘과 유사한 결과를 도출하는 것을 확인할 수 있다. 반면에 본 발명의 객체 인식 방법은 DPCF 알고리즘보다 정확성이 떨어지는 것을 확인할 수 있는데, 이는 DPCF 알고리즘이 주변 구조 정보를 획득하기 위하여 공간 그리드에서 초기 특징 벡터를 이용하기 때문이다.When comparing the performance of the object recognition method using the YUPENN data set, the object recognition method of the present invention derives better results than algorithms such as SOE, SFA, CSO, BoSE, Sift+5DMFV, single frame CNN, and 3DPyraNet-F. And, it can be seen that results similar to algorithms such as t-TCoF, hybrid CNN, and D3D (Dynamic Deep Dual Descriptor) are derived. On the other hand, it can be seen that the object recognition method of the present invention is less accurate than the DPCF algorithm, because the DPCF algorithm uses an initial feature vector in the spatial grid to obtain surrounding structure information.
도 20은 객체 식별기의 종류에 따른 객체 인식 방법의 성능을 비교한 도면이다. 도 20을 참조하면 CNN 알고리즘은 SVM, Random Forest 알고리즘보다 성능이 뛰어나며, SVM 알고리즘은 Random Forest 알고리즘보다 성능이 뛰어난 것을 확인할 수 있다.20 is a view comparing performance of an object recognition method according to the type of object identifier. Referring to FIG. 20, it can be seen that the CNN algorithm has better performance than the SVM and Random Forest algorithm, and the SVM algorithm has better performance than the Random Forest algorithm.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.Embodiments of the present invention disclosed in the present specification and drawings are only provided with specific examples to easily explain the technical content of the present invention and to aid understanding of the present invention, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those of ordinary skill in the art that other modified examples based on the technical idea of the present invention can be implemented.
Claims (12)
상기 제2 영상 데이터의 프레임 추출을 포함하는 전처리를 수행하는 단계;
상기 제2 영상 데이터에서 하나 이상의 직교 평면에 대하여 기 설정된 크기를 갖는 평면 패턴을 각각 추출하여 분산 저장하는 단계;
상기 평면 패턴은
중심 픽셀 및 중심 픽셀에 인접한 복수 개의 이웃 픽셀을 포함하는 평면 패턴;
상기 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 이용하여 상기 평면 패턴에서 특징 벡터를 각각 분산하여 생성하는 단계;
상기 특징 벡터를 생성하는 단계는
평면 패턴에 상기 방향성 마스크를 이용하여 각도 별 벡터값을 생성하는 단계;
상기 각도 별 벡터값을 상기 중심 픽셀에 인접한 복수 개의 이웃 픽셀에 대한 값으로 설정하고, 상기 각도 별 벡터값의 평균값을 상기 중심 픽셀에 대한 값으로 설정하는 단계;
상기 생성된 각도 별 벡터값을 특정 임계값과 비교하여 이진화를 통해 특징 벡터를 생성하는 단계를 포함하는 것을 특징으로 하며;
상기 생성된 특징 벡터를 이용하여 히스토그램을 생성하고, 상기 히스토그램에 대응되는 행동 정보를 식별함으로써 상기 제2 영상 데이터에 포함된 객체를 식별하는 단계;
상기 객체를 식별하는 단계는
상기 제2 영상 데이터에서 생성된 히스토그램에 프레임 수를 곱한 것을 CNN 알고리즘의 입력 값으로 사용하여, 4개의 합성곱 계층, 4개의 맥스-풀링(Max Pooling) 계층, 그리고 하나의 연결 계층으로 구성된 CNN 알고리즘을 사용하여 객체를 식별하는 것을 특징으로 하는
객체 인식 방법.
Upon receiving the first image data, dividing the first image data into a plurality of second image data and storing the distributed data;
Performing preprocessing including frame extraction of the second image data;
Extracting and storing a flat pattern having a predetermined size with respect to at least one orthogonal plane from the second image data, respectively;
The flat pattern is
A planar pattern including a center pixel and a plurality of neighboring pixels adjacent to the center pixel;
Distributing and generating feature vectors from the planar patterns using a directional mask having the same size as the planar pattern;
Generating the feature vector comprises:
Generating a vector value for each angle using the directional mask on a flat pattern;
Setting the vector values for each angle as values for a plurality of neighboring pixels adjacent to the center pixel, and setting an average value of the vector values for each angle as values for the center pixel;
And generating a feature vector through binarization by comparing the generated vector value for each angle with a specific threshold value;
Generating a histogram using the generated feature vector and identifying an object included in the second image data by identifying behavior information corresponding to the histogram;
The step of identifying the object
A CNN algorithm consisting of four convolutional layers, four Max Pooling layers, and one connection layer, using the histogram generated from the second image data multiplied by the number of frames as an input value of the CNN algorithm. Characterized in that the object is identified using
Object recognition method.
상기 전처리를 수행하는 단계는,
상기 제2 영상 데이터에서 프레임을 추출하는 단계;
상기 프레임을 그레이 스케일로 변환하는 단계;
상기 프레임의 크기를 변경하는 단계를 포함하는 객체 인식 방법.
The method of claim 1,
The step of performing the pretreatment,
Extracting a frame from the second image data;
Converting the frame into gray scale;
The object recognition method comprising the step of changing the size of the frame.
상기 평면 패턴은,
X축-Y축 직교 평면에 대한 제1 평면 패턴;
X축-T축 직교 평면에 대한 제2 평면 패턴;
Y축-Y축 직교 평면에 대한 제3 평면 패턴을 포함하는 객체 인식 방법.
The method of claim 1,
The flat pattern,
A first plane pattern for an X-Y axis orthogonal plane;
A second plane pattern for an X-T axis orthogonal plane;
An object recognition method including a third plane pattern with respect to a Y-axis-Y-axis orthogonal plane.
상기 특징 벡터를 생성하는 단계는
상기 각도 별 벡터값이 특정 임계값 보다 크면 1의 값을, - 특정 임계값 보다 작으면 -1의 값을, 그 외의 경우에는 0의 값으로 하여 특징 벡터를 생성하는 것을 특징으로 하는 객체 인식 방법.
The method of claim 1,
Generating the feature vector comprises:
An object recognition method comprising generating a feature vector with a value of 1 if the vector value for each angle is greater than a specific threshold value, -1 value if it is less than a specific threshold value, and 0 value otherwise .
상기 특정 임계값은
상기 중심 픽셀의 제곱근 값으로 하는 것을 특징으로 하는
객체 인식 방법.
The method of claim 1,
The specific threshold is
Characterized in that the square root value of the center pixel
Object recognition method.
상기 제1 영상 데이터를 복수 개의 제2 영상 데이터로 분할하는 데이터 분할부;
상기 제2 영상 데이터의 프레임 추출을 포함하는 전처리를 수행하는 전처리부;
상기 제2 영상 데이터에서, 하나 이상의 직교 평면에 대하여 기 설정된 크기를 갖는 중심 픽셀 및 중심 픽셀에 인접한 복수 개의 이웃 픽셀을 포함하는 평면 패턴을 추출하고, 상기 평면 패턴과 동일한 크기를 갖는 방향성 마스크를 이용하여 상기 평면 패턴에서 특징 벡터를 생성하며, 상기 특징 벡터를 이용하여 히스토그램을 분산하여 생성하고, 상기 히스토그램에 대응되는 행동 정보를 식별함으로써 상기 제2 영상 데이터에 포함된 객체를 식별하는 제어부;
상기 제어부는
평면 패턴에 상기 방향성 마스크를 이용하여 각도 별 벡터값을 상기 중심 픽셀에 인접한 복수 개의 이웃 픽셀에 대한 값으로 설정하고, 상기 각도 별 벡터값의 평균값을 상기 중심 픽셀에 대한 값으로 설정하여, 상기 생성된 각도 별 벡터값을 특정 임계값과 비교하여 이진화를 통해 특징 벡터 생성하는 특징 벡터 생성부와,
상기 제2 영상 데이터에서 생성된 히스토그램에 프레임 수를 곱한 것을 CNN 알고리즘의 입력 값으로 사용하여, 4개의 합성곱 계층, 4개의 맥스-풀링(Max Pooling) 계층, 그리고 하나의 연결 계층으로 구성된 CNN 알고리즘을 사용하여 객체를 식별하는 객체 식별부를 더 포함하는 제어부;
상기 제2 영상 데이터를 분산 저장하고, 상기 직교 평면에 대한 상기 평면 패턴을 분산 저장하는 저장부를 포함하는 객체 인식 장치.
An image collection unit receiving first image data;
A data dividing unit for dividing the first image data into a plurality of second image data;
A preprocessor for performing preprocessing including frame extraction of the second image data;
From the second image data, a plane pattern including a center pixel having a predetermined size with respect to one or more orthogonal planes and a plurality of neighboring pixels adjacent to the center pixel is extracted, and a directional mask having the same size as the plane pattern is used. A control unit for generating a feature vector from the flat pattern, distributing and generating a histogram using the feature vector, and identifying an object included in the second image data by identifying behavior information corresponding to the histogram;
The control unit
By using the directional mask in a flat pattern, a vector value for each angle is set as a value for a plurality of neighboring pixels adjacent to the center pixel, and an average value of the vector values for each angle is set as a value for the center pixel, and the generation A feature vector generator for generating feature vectors through binarization by comparing the vector value of each angle with a specific threshold value;
A CNN algorithm consisting of four convolutional layers, four Max Pooling layers, and one connection layer, using the histogram generated from the second image data multiplied by the number of frames as an input value of the CNN algorithm. A control unit further comprising an object identification unit for identifying an object using;
An object recognition apparatus including a storage unit for distributedly storing the second image data and storing the plane pattern with respect to the orthogonal plane.
상기 전처리부는,
상기 제2 영상 데이터에서 프레임을 추출하고, 상기 프레임을 그레이 스케일로 변환하며, 상기 프레임의 크기를 변경하는 것을 특징으로 하는 객체 인식 장치.
The method of claim 7,
The pretreatment unit,
Extracting a frame from the second image data, converting the frame to gray scale, and changing a size of the frame.
상기 평면 패턴은,
X축-Y축 직교 평면에 대한 제1 평면 패턴, X축-T축 직교 평면에 대한 제2 평면 패턴, Y축-Y축 직교 평면에 대한 제3 평면 패턴을 포함하는 것을 특징으로 하는 객체 인식 장치.
The method of claim 7,
The flat pattern,
Object recognition comprising: a first plane pattern for an X-Y-axis orthogonal plane, a second plane pattern for an X-T-axis orthogonal plane, and a third plane pattern for a Y-Y-axis orthogonal plane Device.
상기 특징 벡터 생성부는
상기 각도 별 벡터값이 특정 임계값 보다 크면 1의 값을, 특정 임계값 보다 작으면 -1의 값을, 그 외의 경우에는 0의 값으로 하여 특징 벡터를 생성하는 것을 특징으로 하는 객체 인식 장치.
The method of claim 7,
The feature vector generation unit
The object recognition apparatus according to claim 1, wherein if the vector value for each angle is greater than a specific threshold value, a value of 1, if it is less than a specific threshold value, a value of -1, and otherwise, a value of 0.
상기 특정 임계값은 상기 중심 픽셀의 제곱근 값으로 하는 것을
특징으로 하는 객체 인식 장치.
The method of claim 7,
The specific threshold value is the square root value of the center pixel.
Object recognition device characterized by.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180151643 | 2018-11-30 | ||
KR20180151643 | 2018-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200072380A KR20200072380A (en) | 2020-06-22 |
KR102158097B1 true KR102158097B1 (en) | 2020-09-21 |
Family
ID=71142286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190025753A KR102158097B1 (en) | 2018-11-30 | 2019-03-06 | Method and device for object awareness in video |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102158097B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102287401B1 (en) * | 2021-05-28 | 2021-08-09 | 주식회사 폴라리스쓰리디 | Method and device for converting from 3D spatial map to 2D floor map |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008287478A (en) * | 2007-05-17 | 2008-11-27 | National Institute Of Advanced Industrial & Technology | Abnormality detection apparatus and method |
KR101282663B1 (en) * | 2012-10-17 | 2013-07-12 | 최종기 | Apparatus for detecting image region of vehicle number plate and method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101716646B1 (en) | 2013-01-10 | 2017-03-15 | 한국전자통신연구원 | Method for detecting and recogniting object using local binary patterns and apparatus thereof |
KR101934325B1 (en) * | 2014-12-10 | 2019-01-03 | 삼성에스디에스 주식회사 | Method and apparatus for classifying objects |
KR101646580B1 (en) * | 2015-01-22 | 2016-08-08 | 한국과학기술연구원 | Device and method for detecting/tracking low-body part |
-
2019
- 2019-03-06 KR KR1020190025753A patent/KR102158097B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008287478A (en) * | 2007-05-17 | 2008-11-27 | National Institute Of Advanced Industrial & Technology | Abnormality detection apparatus and method |
KR101282663B1 (en) * | 2012-10-17 | 2013-07-12 | 최종기 | Apparatus for detecting image region of vehicle number plate and method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20200072380A (en) | 2020-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416307B (en) | Method, device and equipment for detecting pavement cracks of aerial images | |
WO2020119661A1 (en) | Target detection method and device and pedestrian detection method and system | |
Raza et al. | Appearance based pedestrians’ head pose and body orientation estimation using deep learning | |
Chu et al. | A fast ground segmentation method for 3D point cloud | |
Wu et al. | Real-time background subtraction-based video surveillance of people by integrating local texture patterns | |
Rao et al. | Estimation of crowd density by clustering motion cues | |
CN111401202A (en) | Pedestrian mask wearing real-time detection method based on deep learning | |
Song et al. | Classifying 3D objects in LiDAR point clouds with a back-propagation neural network | |
Ardiyanto et al. | Partial least squares-based human upper body orientation estimation with combined detection and tracking | |
Chen et al. | Object-based multi-modal convolution neural networks for building extraction using panchromatic and multispectral imagery | |
Li et al. | Image Matching Algorithm based on Feature-point and DAISY Descriptor. | |
Hu et al. | Dense crowd counting based on perspective weight model using a fisheye camera | |
Nayagam et al. | A survey on real time object detection and tracking algorithms | |
KR102158095B1 (en) | Method and device for estimating similarity of vedio | |
KR102158097B1 (en) | Method and device for object awareness in video | |
Ouyang et al. | Multiview cnn model for sensor fusion based vehicle detection | |
Mahayuddin et al. | Moving object detection using semantic convolutional features | |
CN106446870A (en) | Human body contour feature extracting method and device | |
Ponz et al. | Laser scanner and camera fusion for automatic obstacle classification in ADAS application | |
CN111062275A (en) | Multi-level supervision crowd counting method, device, medium and electronic equipment | |
Khryaschev et al. | Urban areas analysis using satellite image segmentation and deep neural network | |
Bensebaa et al. | Direction estimation of moving pedestrian groups for intelligent vehicles | |
Pan et al. | Multi-person pose estimation with mid-points for human detection under real-world surveillance | |
Luo et al. | Real-time pedestrian detection method based on improved YOLOv3 | |
CN115729250A (en) | Flight control method, device and equipment of unmanned aerial vehicle and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |