KR102428941B1 - Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar - Google Patents

Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar Download PDF

Info

Publication number
KR102428941B1
KR102428941B1 KR1020220025791A KR20220025791A KR102428941B1 KR 102428941 B1 KR102428941 B1 KR 102428941B1 KR 1020220025791 A KR1020220025791 A KR 1020220025791A KR 20220025791 A KR20220025791 A KR 20220025791A KR 102428941 B1 KR102428941 B1 KR 102428941B1
Authority
KR
South Korea
Prior art keywords
data
scan
image
lidar
point
Prior art date
Application number
KR1020220025791A
Other languages
Korean (ko)
Inventor
신철호
Original Assignee
75미리스튜디오 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 75미리스튜디오 주식회사 filed Critical 75미리스튜디오 주식회사
Priority to KR1020220025791A priority Critical patent/KR102428941B1/en
Application granted granted Critical
Publication of KR102428941B1 publication Critical patent/KR102428941B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

One embodiment of the present invention relates to a method for generating 3D scanning data textured through image matching based on scanning of a broadband LiDAR, which is performed by an apparatus. The method of the present invention comprises: acquiring first data, or a 3D image generated by scanning a target area to be scanned, from the LiDAR when the area to be scanned is scanned by the LiDAR; acquiring second data, or a 2D image generated by photographing a first object from a camera when the first object located in the target area to be scanned is photographed by the camera; setting a texture of a surface of the first object as a first material based on an image of the first object extracted from the second data when the first object is detected in the first space; and changing the surface of the first object detected in the first space to the first material to generate third data.

Description

광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법, 장치 및 시스템 {METHOD, DEVICE AND SYSTEM FOR GENERATING TEXTURED 3D SCAN DATA THROUGH IMAGE REGISTRATION BASED ON SCANNING OF BROADBAND LIDAR}Method, device and system for generating textured 3D scan data through wideband lidar scan-based image registration

아래 실시예들은 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성하기 위한 기술에 관한 것이다.The following embodiments relate to a technique for generating 3D scan data in which a texture is implemented through image registration based on a scan of a wideband lidar.

3D 스캐너를 이용한 스캔 데이터는 기하학적 모델링과 의학적 형태 계측 분야에 있어서 점차 널리 사용되고 있다. 3D 스캔 데이터를 이용하는 기술은 특정한 제품을 제조하는 공정의 결과를 체크하는 방법에도 적용될 수 있다. 제조된 제품이 설계대로 만들어졌는지를 확인하기 위하여 3D 스캔 데이터가 이용될 수 있다.Scan data using a 3D scanner is increasingly widely used in the fields of geometric modeling and medical morphology. The technology using 3D scan data can also be applied to a method of checking the results of a process for manufacturing a specific product. 3D scan data may be used to verify that the manufactured product is made as designed.

대부분의 3D 스캐너는 목표 객체를 다양한 각도에서 스캔하고 스캔 데이터를 생성할 수 있다. 이 때 3D 스캐너는 다양한 각도에서 목표 객체의 각 부분을 나누어 연속적인 데이터의 집합을 생성할 수 있다.Most 3D scanners can scan a target object from various angles and generate scan data. At this time, the 3D scanner can generate a continuous set of data by dividing each part of the target object from various angles.

3D 스캐너에 의하여 생성된 연속적인 데이터의 집합에 기초하여 목표 객체의 3차원 영상을 형성하는 과정을 정합(registration)이라 할 수 있다.A process of forming a 3D image of a target object based on a set of continuous data generated by the 3D scanner may be referred to as registration.

정합 과정은 둘 이상의 데이터 집합을 하나의 좌표계로 매핑하는 과정일 수 있다. 스캔 또는 다른 방법으로 얻어진 데이터 각각에 대해서는 좌표계가 할당될 수 있다. 데이터 중 일부는 고정된 계(fixed system)에 할당되고, 나머지 데이터는 이동 계(moving system)에 할당될 수 있다. 이동 계는 고정된 계에 수렴하도록 가상 공간 상에서 변환될 수 있다. 이러한 변환은 회전 변환 또는 평행 이동 변환을 포함할 수 있다.The registration process may be a process of mapping two or more data sets into one coordinate system. A coordinate system may be assigned to each of the data obtained by scanning or otherwise. Some of the data may be allocated to a fixed system, and the remaining data may be allocated to a moving system. A moving system can be transformed in virtual space to converge on a fixed system. Such transformations may include rotational transformations or translational transformations.

하나의 객체에 대한 복수의 스캔 데이터는 객체의 서로 다른 부분들을 스캔한 데이터이지만 복수의 스캔 데이터 각각은 서로 겹쳐 지는 부분을 포함할 수 있다. 정합 과정은 복수의 스캔 데이터 각각이 서로 겹쳐 지는 부분을 매칭하고, 복수의 스캔 데이터에 기초하여 객체의 3D 스캔 데이터를 생성할 수 있다The plurality of scan data for one object is data obtained by scanning different parts of the object, but each of the plurality of scan data may include overlapping parts. The matching process may match the overlapping portions of each of the plurality of scan data, and generate 3D scan data of the object based on the plurality of scan data.

하지만, 종래에는 객체의 3D 스캔 데이터를 생성하는데 있어, 객체의 형태만 구현할 뿐, 객체의 표면에 대한 텍스처까지 구현할 수 없는 문제가 있다.However, in the prior art, in generating 3D scan data of an object, there is a problem in that only the shape of the object is implemented, and even the texture of the surface of the object cannot be implemented.

따라서, 객체의 텍스처가 구현된 3D 스캔 데이터를 생성하고자 하는 요구가 증대되고 있어, 이와 관련된 기술에 대한 연구가 요구된다.Accordingly, there is an increasing demand for generating 3D scan data in which the texture of an object is implemented, and research on a related technology is required.

한국등록특허 제10-0947406호Korean Patent Registration No. 10-0947406 한국등록특허 제10-2056147호Korean Patent Registration No. 10-2056147 한국등록특허 제10-2310662호Korean Patent No. 10-2310662 한국등록특허 제10-1956009호Korean Patent No. 10-1956009

일실시예에 따르면, 스캔 대상 구역이 라이다에 의해 스캔되면, 라이다로부터 스캔 대상 구역을 스캔하여 생성된 3D 이미지인 제1 데이터를 획득하고, 스캔 대상 구역에 위치하는 제1 객체가 카메라에 의해 촬영되면, 카메라로부터 제1 객체를 촬영하여 생성된 2D 이미지인 제2 데이터를 획득하고, 제2 데이터가 제1 객체를 촬영한 이미지로 분석되면, 제1 데이터를 통해 확인된 제1 공간 상에서 제1 객체가 검출되는지 여부를 확인하고, 제1 공간 상에서 제1 객체가 검출되면, 제2 데이터에서 추출된 제1 객체의 이미지를 기초로, 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정하고, 제1 공간 상에서 검출된 제1 객체의 표면을 제1 재질로 변경하여, 제3 데이터를 생성하는, 광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법, 장치 및 시스템을 제공하기 위한 것을 그 목적으로 한다.According to an embodiment, when the scan target area is scanned by the lidar, first data that is a 3D image generated by scanning the scan target area from the lidar is acquired, and the first object located in the scan target area is captured by the camera. When the image is captured by the camera, second data that is a 2D image generated by photographing the first object is obtained from the camera, and when the second data is analyzed as an image obtained by photographing the first object, in the first space identified through the first data It is checked whether the first object is detected, and when the first object is detected in the first space, based on the image of the first object extracted from the second data, the texture of the surface of the first object is converted to the first material. A method, apparatus, and method for generating 3D scan data in which a texture is implemented through wideband lidar scan-based image registration, which sets and changes the surface of the first object detected in the first space to the first material to generate third data; and Its purpose is to provide a system.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.Objects of the present invention are not limited to the objects mentioned above, and other objects not mentioned will be clearly understood from the description below.

일실시예에 따르면, 장치에 의해 수행되는, 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성하는 방법에 있어서, 스캔 대상 구역이 라이다에 의해 스캔되면, 상기 라이다로부터 상기 스캔 대상 구역을 스캔하여 생성된 3D 이미지인 제1 데이터를 획득하는 단계; 상기 스캔 대상 구역에 위치하는 제1 객체가 카메라에 의해 촬영되면, 상기 카메라로부터 상기 제1 객체를 촬영하여 생성된 2D 이미지인 제2 데이터를 획득하는 단계; 상기 제2 데이터가 상기 제1 객체를 촬영한 이미지로 분석되면, 상기 제1 데이터를 통해 확인된 제1 공간 상에서 상기 제1 객체가 검출되는지 여부를 확인하는 단계; 상기 제1 공간 상에서 상기 제1 객체가 검출되면, 상기 제2 데이터에서 추출된 제1 객체의 이미지를 기초로, 상기 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정하는 단계; 및 상기 제1 공간 상에서 검출된 상기 제1 객체의 표면을 상기 제1 재질로 변경하여, 제3 데이터를 생성하는 단계를 포함하는, 광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법이 제공된다.According to an embodiment, in a method for generating 3D scan data with texture through image registration based on a scan of a wideband lidar performed by a device, when a scan target region is scanned by the lidar, the acquiring first data that is a 3D image generated by scanning the scan target area from the lidar; acquiring second data, which is a 2D image generated by photographing the first object from the camera, when the first object located in the scan target area is photographed by a camera; when the second data is analyzed as an image obtained by photographing the first object, checking whether the first object is detected in a first space identified through the first data; when the first object is detected in the first space, setting a texture for the surface of the first object as a first material based on the image of the first object extracted from the second data; and changing the surface of the first object detected in the first space to the first material to generate third data, 3D scan data with texture implemented through wideband lidar scan-based image registration A method of generating is provided.

상기 광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법은, 상기 제2 데이터를 획득하는 단계 이후, 상기 제2 데이터를 기반으로, 상기 제2 데이터 내에서 상기 제1 객체가 차지하고 있는 면적의 비율을 제1 비율로 산출하는 단계; 상기 제1 비율이 미리 설정된 기준 비율 보다 큰 것으로 확인되면, 상기 카메라의 위치 정보를 기초로, 촬영 대상 구역을 확인하는 단계; 상기 촬영 대상 구역이 제1 구역으로 확인되면, 상기 제1 구역에 배치되어 있는 객체들의 리스트인 제1 리스트를 획득하는 단계; 상기 제1 리스트에 포함되어 있는 객체들의 형태와 상기 제2 데이터를 통해 확인된 상기 제1 객체의 형태를 비교하여, 상기 제1 리스트에 상기 제1 객체가 포함되어 있는지 여부를 확인하는 단계; 및 상기 제1 리스트에 상기 제1 객체가 포함되어 있는 것으로 확인되면, 상기 제2 데이터에 대해 상기 제1 객체를 촬영한 이미지로 분석하는 단계를 더 포함할 수 있다.In the method for generating 3D scan data in which a texture is implemented through the wideband lidar scan-based image registration, after acquiring the second data, the first object in the second data is calculating a ratio of an area occupied by a first ratio; when it is determined that the first ratio is greater than a preset reference ratio, checking a photographing target area based on the location information of the camera; obtaining a first list, which is a list of objects disposed in the first area, when the photographing target area is identified as the first area; determining whether the first object is included in the first list by comparing the shape of the objects included in the first list with the shape of the first object identified through the second data; and when it is confirmed that the first object is included in the first list, analyzing the second data as a photographed image of the first object.

상기 제1 객체의 표면에 대한 텍스처를 설정하는 단계는, 상기 제1 객체의 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계; 상기 제1 입력 신호를 인공 신경망에 입력하고, 상기 제1 입력 신호에 대한 출력으로 제1 출력 신호를 획득하는 단계; 상기 제1 출력 신호에 기초하여, 상기 제1 객체의 표면에 대한 분류 결과를 생성하는 단계; 및 상기 제1 객체의 표면에 대한 분류 결과를 기반으로, 상기 제1 객체의 표면에 대한 텍스처를 상기 제1 재질로 설정하는 단계를 포함할 수 있다.The setting of the texture for the surface of the first object may include: generating a first input signal by encoding an image of the first object; inputting the first input signal to an artificial neural network, and obtaining a first output signal as an output of the first input signal; generating a classification result for the surface of the first object based on the first output signal; and setting a texture for the surface of the first object as the first material based on the classification result of the surface of the first object.

일실시예에 따르면, 스캔 대상 구역이 라이다에 의해 스캔되면, 라이다로부터 스캔 대상 구역을 스캔하여 생성된 3D 이미지인 제1 데이터를 획득하고, 스캔 대상 구역에 위치하는 제1 객체가 카메라에 의해 촬영되면, 카메라로부터 제1 객체를 촬영하여 생성된 2D 이미지인 제2 데이터를 획득하고, 제2 데이터가 제1 객체를 촬영한 이미지로 분석되면, 제1 데이터를 통해 확인된 제1 공간 상에서 제1 객체가 검출되는지 여부를 확인하고, 제1 공간 상에서 제1 객체가 검출되면, 제2 데이터에서 추출된 제1 객체의 이미지를 기초로, 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정하고, 제1 공간 상에서 검출된 제1 객체의 표면을 제1 재질로 변경하여, 제3 데이터를 생성함으로써, 객체의 텍스처가 구현된 3D 스캔 데이터를 생성할 수 있는 효과가 있다.According to an embodiment, when the scan target area is scanned by the lidar, first data that is a 3D image generated by scanning the scan target area from the lidar is acquired, and the first object located in the scan target area is captured by the camera. When the image is captured by the camera, second data that is a 2D image generated by photographing the first object is obtained from the camera, and when the second data is analyzed as an image obtained by photographing the first object, in the first space identified through the first data It is checked whether the first object is detected, and when the first object is detected in the first space, based on the image of the first object extracted from the second data, the texture of the surface of the first object is converted to the first material. By setting and changing the surface of the first object detected in the first space to the first material, and generating third data, there is an effect of generating 3D scan data in which the texture of the object is implemented.

한편, 실시예들에 따른 효과들은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.On the other hand, the effects according to the embodiments are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those of ordinary skill in the art from the following description.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 일실시예에 따른 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성하는 과정을 설명하기 위한 순서도이다.
도 3은 일실시예에 따른 제2 데이터가 어느 객체를 촬영한 이미지인지 분석하는 과정을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 객체의 표면에 대한 재질을 설정하는 과정을 설명하기 위한 순서도이다.
도 5는 일실시예에 따른 추가 촬영을 안내하는 과정을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 객체의 크기를 추정하는 과정을 설명하기 위한 순서도이다.
도 7은 일실시예에 따른 인공 신경망을 설명하기 위한 도면이다.
도 8은 일실시예에 따른 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 장치의 구성의 예시도이다.
1 is a diagram schematically showing the configuration of a system according to an embodiment.
2 is a flowchart illustrating a process of generating 3D scan data in which a texture is implemented through image registration based on a scan of a wideband lidar according to an embodiment.
3 is a flowchart illustrating a process of analyzing which object is an image of which second data is captured, according to an exemplary embodiment.
4 is a flowchart illustrating a process of setting a material for a surface of an object according to an exemplary embodiment.
5 is a flowchart illustrating a process of guiding additional photographing according to an exemplary embodiment.
6 is a flowchart illustrating a process of estimating the size of an object according to an exemplary embodiment.
7 is a diagram for explaining an artificial neural network according to an embodiment.
8 is a diagram for explaining a method of learning an artificial neural network according to an embodiment.
9 is an exemplary diagram of a configuration of an apparatus according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

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

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

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

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다.The embodiments may be implemented in various types of products, such as personal computers, laptop computers, tablet computers, smart phones, televisions, smart home appliances, intelligent cars, kiosks, wearable devices, and the like.

인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 규칙(Rule) 기반의 스마트 시스템과 달리 기계가 스스로 학습하고 판단하는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 규칙 기반의 스마트 시스템은 점차 심층 학습(Deep Learning) 기반 인공지능 시스템으로 대체되고 있다.An artificial intelligence (AI) system is a computer system that implements human-level intelligence, and unlike the existing rule-based smart system, the machine learns and makes decisions on its own. The more the AI system is used, the better the recognition rate and the more accurate understanding of user preferences, and the existing rule-based smart systems are gradually being replaced by deep learning-based AI systems.

인공지능 기술은 기계 학습 및 기계 학습을 활용한 요소기술들로 구성된다. 기계 학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 심층 학습 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Artificial intelligence technology consists of machine learning and element technologies using machine learning. Machine learning is an algorithm technology that categorizes/learns characteristics of input data by itself, and element technology uses machine learning algorithms such as deep learning to simulate functions such as cognition and judgment of the human brain. It consists of technical fields such as understanding, reasoning/prediction, knowledge expression, and motion control.

인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields where artificial intelligence technology is applied are as follows. Linguistic understanding is a technology for recognizing and applying/processing human language/text, and includes natural language processing, machine translation, dialogue system, question and answer, and speech recognition/synthesis. Visual understanding is a technology for recognizing and processing objects like human vision, and includes object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, image improvement, and the like. Inferential prediction is a technology for logically reasoning and predicting by judging information, and includes knowledge/probability-based reasoning, optimization prediction, preference-based planning, and recommendation. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation/classification) and knowledge management (data utilization). Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), manipulation control (action control), and the like.

일반적으로 기계 학습 알고리즘을 실생활에 적용하기 위해서는 기계 학습의 기본 방법론의 특성상 Trial and Error 방식으로 학습을 수행하게 된다. 특히, 심층 학습의 경우 수십만 번의 반복 실행을 필요로 한다. 이를 실제 물리적인 외부 환경에서 실행하기는 불가능하여 대신 실제 물리적인 외부 환경을 컴퓨터상에서 가상으로 구현하여 시뮬레이션을 통해 학습을 수행한다.In general, in order to apply the machine learning algorithm to real life, learning is performed in the Trial and Error method due to the characteristics of the basic methodology of machine learning. In particular, deep learning requires hundreds of thousands of iterations. It is impossible to execute this in the actual physical external environment, so instead, the actual physical external environment is implemented on a computer and learning is performed through simulation.

도 1은 일실시예에 따른 시스템의 구성을 개략적으로 나타낸 도면이다.1 is a diagram schematically showing the configuration of a system according to an embodiment.

도 1을 참조하면, 일실시예에 따른 시스템은 라이다(100), 카메라(200) 및 장치(300)를 포함할 수 있다.Referring to FIG. 1 , a system according to an embodiment may include a lidar 100 , a camera 200 , and a device 300 .

라이다(100)는 광대역 라이다(Lidar) 센서를 통해 광대역 장소를 스캔하여, 스캔 구역에 대한 3D 데이터를 생성할 수 있다. 여기서, 3D 데이터는 특정 구역을 스캔하여 생성된 3D 이미지이다.The lidar 100 may scan a wideband location through a wideband Lidar sensor to generate 3D data for a scan area. Here, the 3D data is a 3D image generated by scanning a specific area.

라이다(100)는 통신 모듈을 구비하여, 장치(300)와 무선으로 통신하도록 구성될 수 있다.The lidar 100 may be configured to wirelessly communicate with the device 300 by having a communication module.

카메라(200)는 카메라 촬영을 통해 특정 객체를 촬영하여, 촬영 대상에 대한 2D 데이터를 생성할 수 있다. 여기서, 2D 데이터는 특정 대상을 촬영하여 생성된 2D 이미지이다.The camera 200 may photograph a specific object through camera photographing, and may generate 2D data for a photographing target. Here, the 2D data is a 2D image generated by photographing a specific object.

카메라(200)는 통신 모듈을 구비하여, 장치(300)와 무선으로 통신하도록 구성될 수 있다.The camera 200 may be configured to wirelessly communicate with the device 300 by having a communication module.

일실시예에 따르면, 라이다(100) 및 카메라(200)는 하나의 통합된 기기로 구현될 수 있고, 각각 분리된 별도의 기기로 구현될 수도 있다.According to an embodiment, the lidar 100 and the camera 200 may be implemented as one integrated device, or may be implemented as separate separate devices.

장치(300)는 장치(300)를 이용하여 서비스를 제공하는 자 내지 단체가 보유한 자체 서버일수도 있고, 클라우드 서버일 수도 있고, 분산된 노드(node)들의 p2p(peer-to-peer) 집합일 수도 있다. 장치(300)는 통상의 컴퓨터가 가지는 연산 기능, 저장/참조 기능, 입출력 기능 및 제어 기능을 전부 또는 일부 수행하도록 구성될 수 있다. 장치(300)는 추론 기능을 수행하는 적어도 하나 이상의 인공 신경망을 구비할 수 있다.The device 300 may be a self-server owned by a person or organization providing services using the device 300, a cloud server, or a peer-to-peer (p2p) set of distributed nodes. may be The device 300 may be configured to perform all or part of an arithmetic function, a storage/referencing function, an input/output function, and a control function of a typical computer. The device 300 may include at least one artificial neural network that performs an inference function.

장치(300)는 라이다(100) 및 카메라(200)와 무선으로 통신하도록 구성될 수 있으며, 라이다(100) 및 카메라(200) 각각에 대한 전체적인 동작을 제어할 수 있다.The device 300 may be configured to wirelessly communicate with the lidar 100 and the camera 200 , and may control overall operations of the lidar 100 and the camera 200 , respectively.

장치(300)는 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성할 수 있다. 이때, 장치(300)는 라이다(100)로부터 획득된 3D 이미지와 카메라(200)로부터 획득된 2D 이미지를 정합하여, 3D 스캔 데이터를 생성할 수 있다.The apparatus 300 may generate 3D scan data in which a texture is implemented through image registration based on the scan of the wideband lidar. In this case, the device 300 may generate 3D scan data by matching the 3D image acquired from the lidar 100 and the 2D image acquired from the camera 200 .

장치(300)는 인공지능을 기반으로 객체의 표면을 재질에 따라 분류할 수 있으며, 이를 위해, 미리 학습된 인공 신경망을 포함할 수 있다.The device 300 may classify the surface of an object according to a material based on artificial intelligence, and may include a pre-trained artificial neural network for this purpose.

본 발명에서, 인공지능(Artificial Intelligence, AI)은 인간의 학습능력, 추론능력, 지각능력 등을 모방하고, 이를 컴퓨터로 구현하는 기술을 의미하고, 기계 학습, 심볼릭 로직(Symbolic Logic) 등의 개념을 포함할 수 있다. 기계 학습(Machine Learning, ML)은 입력 데이터들의 특징을 스스로 분류 또는 학습하는 알고리즘 기술이다. 인공지능의 기술은 기계 학습의 알고리즘으로써 입력 데이터를 분석하고, 그 분석의 결과를 학습하며, 그 학습의 결과에 기초하여 판단이나 예측을 할 수 있다. 또한, 기계 학습의 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술들 역시 인공지능의 범주로 이해될 수 있다. 예를 들어, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야가 포함될 수 있다.In the present invention, artificial intelligence (AI) refers to a technology that imitates human learning ability, reasoning ability, perceptual ability, etc., and implements it with a computer, and the concepts of machine learning, symbolic logic, etc. may include Machine Learning (ML) is an algorithm technology that classifies or learns characteristics of input data by itself. Artificial intelligence technology is an algorithm of machine learning that can analyze input data, learn the results of the analysis, and make judgments or predictions based on the results of the learning. In addition, technologies that use machine learning algorithms to simulate functions such as cognition and judgment of the human brain can also be understood as a category of artificial intelligence. For example, technical fields such as verbal comprehension, visual comprehension, reasoning/prediction, knowledge expression, and motion control may be included.

기계 학습은 데이터를 처리한 경험을 이용해 신경망 모델을 훈련시키는 처리를 의미할 수 있다. 기계 학습을 통해 컴퓨터 소프트웨어는 스스로 데이터 처리 능력을 향상시키는 것을 의미할 수 있다. 신경망 모델은 데이터 사이의 상관 관계를 모델링하여 구축된 것으로서, 그 상관 관계는 복수의 파라미터에 의해 표현될 수 있다. 신경망 모델은 주어진 데이터로부터 특징들을 추출하고 분석하여 데이터 간의 상관 관계를 도출하는데, 이러한 과정을 반복하여 신경망 모델의 파라미터를 최적화해 나가는 것이 기계 학습이라고 할 수 있다. 예를 들어, 신경망 모델은 입출력 쌍으로 주어지는 데이터에 대하여, 입력과 출력 사이의 매핑(상관 관계)을 학습할 수 있다. 또는, 신경망 모델은 입력 데이터만 주어지는 경우에도 주어진 데이터 사이의 규칙성을 도출하여 그 관계를 학습할 수도 있다.Machine learning may refer to the process of training a neural network model using experience of processing data. With machine learning, computer software could mean improving its own data processing capabilities. The neural network model is constructed by modeling the correlation between data, and the correlation may be expressed by a plurality of parameters. A neural network model extracts and analyzes features from given data to derive correlations between data, and repeating this process to optimize parameters of a neural network model can be called machine learning. For example, a neural network model may learn a mapping (correlation) between an input and an output with respect to data given as an input/output pair. Alternatively, the neural network model may learn the relationship by deriving regularity between the given data even when only input data is given.

인공지능 학습모델 또는 신경망 모델은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하여, 서로 간의 연결 관계를 가질 수 있다. 인공지능 학습모델에서 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 인공지능 학습모델은, 예를 들어, 인공 신경망 모델(Artificial Neural Network), 컨볼루션 신경망 모델(Convolution Neural Network: CNN) 등일 수 있다. 일 실시예로서, 인공지능 학습모델은, 지도학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 등의 방식에 따라 기계 학습될 수 있다. 기계 학습을 수행하기 위한 기계 학습 알고리즘에는, 의사결정트리(Decision Tree), 베이지안 망(Bayesian Network), 서포트 벡터 머신(Support Vector Machine), 인공 신경망(Artificial Neural Network), 에이다부스트(Ada-boost), 퍼셉트론(Perceptron), 유전자 프로그래밍(Genetic Programming), 군집화(Clustering) 등이 사용될 수 있다.The artificial intelligence learning model or neural network model may be designed to implement a human brain structure on a computer, and may include a plurality of network nodes that simulate neurons of a human neural network and have weights. A plurality of network nodes may have a connection relationship with each other by simulating a synaptic activity of a neuron through which a neuron sends and receives a signal through a synapse. In the AI learning model, a plurality of network nodes can exchange data according to a convolutional connection relationship while being located in layers of different depths. The AI learning model may be, for example, an artificial neural network model, a convolutional neural network model, or the like. As an embodiment, the AI learning model may be machine-learned according to a method such as supervised learning, unsupervised learning, reinforcement learning, or the like. Machine learning algorithms for performing machine learning include Decision Tree, Bayesian Network, Support Vector Machine, Artificial Neural Network, Ada-boost. , Perceptron, Genetic Programming, Clustering, etc. may be used.

이중, CNN은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. CNN은 하나 또는 여러 개의 합성곱 계층과 그 위에 올려진 일반적인 인공 신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 CNN은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 다른 딥러닝 구조들과 비교해서, CNN은 영상, 음성 분야 모두에서 좋은 성능을 보여준다. CNN은 또한 표준 역전달을 통해 훈련될 수 있다. CNN은 다른 피드포워드 인공 신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.Among them, CNNs are a type of multilayer perceptrons designed to use minimal preprocessing. CNN consists of one or several convolutional layers and general artificial neural network layers on top of it, and additionally utilizes weights and pooling layers. Thanks to this structure, CNN can fully utilize the input data of the two-dimensional structure. Compared with other deep learning structures, CNN shows good performance in both video and audio fields. CNNs can also be trained through standard back-passing. CNNs are easier to train than other feedforward artificial neural network techniques and have the advantage of using fewer parameters.

컨볼루션 네트워크는 묶인 파라미터들을 가지는 노드들의 집합들을 포함하는 신경 네트워크들이다. 사용 가능한 트레이닝 데이터의 크기 증가와 연산 능력의 가용성이, 구분적 선형 단위 및 드롭아웃 트레이닝과 같은 알고리즘 발전과 결합되어, 많은 컴퓨터 비전 작업들이 크게 개선되었다. 오늘날 많은 작업에 사용할 수 있는 데이터 세트들과 같은 엄청난 양의 데이터 세트에서는 초과 맞춤(outfitting)이 중요하지 않으며, 네트워크의 크기를 늘리면 테스트 정확도가 향상된다. 컴퓨팅 리소스들의 최적 사용은 제한 요소가 된다. 이를 위해, 심층 신경 네트워크들의 분산된, 확장 가능한 구현예가 사용될 수 있다.Convolutional networks are neural networks that contain sets of nodes with bound parameters. The increased size of available training data and the availability of computational power, combined with advances in algorithms such as piecewise linear units and dropout training, have greatly improved many computer vision tasks. For huge data sets, such as those available for many tasks today, overfitting is not important, and increasing the size of the network improves test accuracy. Optimal use of computing resources becomes a limiting factor. To this end, a distributed, scalable implementation of deep neural networks may be used.

도 2는 일실시예에 따른 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성하는 과정을 설명하기 위한 순서도이다.2 is a flowchart illustrating a process of generating 3D scan data in which a texture is implemented through image registration based on a scan of a wideband lidar according to an embodiment.

도 2를 참조하면, 먼저, S201 단계에서, 장치(300)는 라이다(100)로부터 제1 데이터를 획득할 수 있다. 여기서, 제1 데이터는 스캔 대상 구역을 스캔하여 생성된 3D 이미지이다.Referring to FIG. 2 , first, in step S201 , the device 300 may obtain first data from the lidar 100 . Here, the first data is a 3D image generated by scanning the scan target area.

구체적으로, 라이다(100)는 특정 장소에 설치되어, 사용자 조작에 의해 스캔 대상 구역이 지정되면, 스캔 대상 구역에 대한 스캔을 진행할 수 있으며, 스캔 대상 구역에 대한 스캔이 완료되면, 스캔 대상 구역을 스캔하여 생성된 3D 이미지인 제1 데이터를 생성할 수 있다.Specifically, the lidar 100 is installed in a specific place, and when a scan target area is designated by a user operation, scan for the scan target area can be performed, and when the scan for the scan target area is completed, the scan target area First data, which is a 3D image generated by scanning , may be generated.

이후, 장치(300)는 스캔 대상 구역이 라이다(100)에 의해 스캔되어, 라이다(100)에서 제1 데이터가 생성되면, 라이다(100)로부터 제1 데이터를 획득할 수 있다.Thereafter, when the scan target area is scanned by the lidar 100 and first data is generated in the lidar 100 , the device 300 may acquire the first data from the lidar 100 .

S202 단계에서, 장치(300)는 카메라(200)로부터 제2 데이터를 획득할 수 있다. 여기서, 제2 데이터는 특정 객체를 촬영하여 생성된 2D 이미지이다.In step S202 , the device 300 may acquire second data from the camera 200 . Here, the second data is a 2D image generated by photographing a specific object.

구체적으로, 카메라(200)는 특정 장소에 설치되어, 사용자 조작에 의해 촬영 대상이 지정되면, 촬영 대상에 대한 촬영을 진행할 수 있으며, 촬영 대상에 대한 촬영이 완료되면, 촬영 대상을 촬영하여 생성된 2D 이미지인 제2 데이터를 생성할 수 있다.Specifically, the camera 200 is installed in a specific place, and when a shooting target is designated by a user operation, shooting of the shooting target can be performed. Second data that is a 2D image may be generated.

예를 들어, 스캔 대상 구역에 제1 객체가 위치하고 있는 경우, 카메라(200)는 스캔 대상 구역에 위치하는 제1 객체를 촬영을 수행할 수 있으며, 제1 객체를 촬영하여 생성된 2D 이미지인 제2 데이터를 생성할 수 있다.For example, when the first object is located in the scan target area, the camera 200 may photograph the first object located in the scan target area, and the second object is a 2D image generated by photographing the first object. 2 data can be generated.

이후, 장치(300)는 제1 객체가 카메라(200)에 의해 촬영되어, 카메라(200)에서 제2 데이터가 생성되면, 카메라(200)로부터 제2 데이터를 획득할 수 있다.Thereafter, when the first object is captured by the camera 200 and second data is generated by the camera 200 , the device 300 may acquire the second data from the camera 200 .

S203 단계에서, 장치(300)는 제1 데이터가 획득되면, 제1 데이터를 통해 제1 공간을 확인할 수 있다. 즉, 제1 데이터가 스캔 대상 구역을 스캔하여 생성된 3D 이미지이기 때문에, 장치(300)는 제1 데이터를 통해 스캔 대상 구역과 대응하는 3D 공간을 확인할 수 있다.In step S203 , when the first data is obtained, the device 300 may check the first space through the first data. That is, since the first data is a 3D image generated by scanning the scan target area, the apparatus 300 may identify the 3D space corresponding to the scan target area through the first data.

S204 단계에서, 장치(300)는 제2 데이터가 어느 객체를 촬영한 이미지인지 분석할 수 있다. 이와 관련된 자세한 설명은 도 3을 참조하여 후술하기로 한다.In step S204 , the device 300 may analyze which object the second data is an image captured. A detailed description related thereto will be described later with reference to FIG. 3 .

S205 단계에서, 장치(300)는 제1 데이터를 통해 확인된 제1 공간 상에서, 제2 데이터를 통해 분석된 촬영 객체가 인식되는지 여부를 확인할 수 있다.In step S205 , the device 300 may determine whether a photographing object analyzed through the second data is recognized in the first space identified through the first data.

예를 들어, 장치(300)는 제2 데이터가 제1 객체를 촬영한 이미지로 분석되면, 제1 공간 상에서 제1 객체가 검출되는지 여부를 확인할 수 있다.For example, when the second data is analyzed as an image obtained by photographing the first object, the device 300 may determine whether the first object is detected in the first space.

구체적으로, 장치(300)는 제2 데이터에서 제1 객체의 외곽선을 인식하고, 제1 객체의 외곽선 내부에 있는 영역을 객체 영역으로 구분하고, 제1 객체의 외곽선 외부에 있는 영역을 배경 영역으로 구분한 후, 제2 데이터에서 배경 영역을 삭제하여, 객체 영역으로만 구성된 제1 객체의 이미지를 추출할 수 있으며, 제1 객체의 이미지와 제1 데이터를 기반으로, 제1 공간 상에서 제1 객체가 검출되는지 여부를 확인할 수 있다.Specifically, the device 300 recognizes the outline of the first object from the second data, divides an area inside the outline of the first object into an object area, and sets an area outside the outline of the first object as a background area. After classifying, by deleting the background area from the second data, an image of the first object consisting only of the object area may be extracted, and based on the image of the first object and the first data, the first object in the first space It can be checked whether or not is detected.

S205 단계에서 제1 공간 상에서 촬영 객체가 검출되지 않은 것으로 확인되면, S202 단계로 되돌아가, 장치(300)는 카메라(200)로부터 제2 데이터를 다시 획득할 수 있다. 이를 위해, 장치(300)는 촬영 위치가 스캔 대상 구역이 맞는지에 대해 확인을 요청하는 알림 메시지를 카메라(200)로 전송할 수 있으며, 카메라(200)는 디스플레이 모듈을 구비하고 있어, 알림 메시지를 디스플레이 모듈의 화면에 표시할 수 있다.If it is determined in step S205 that the photographing object is not detected in the first space, the process returns to step S202 , and the device 300 may acquire the second data again from the camera 200 . To this end, the device 300 may transmit a notification message requesting confirmation as to whether the shooting location is the scan target area to the camera 200, and the camera 200 is provided with a display module and displays the notification message. It can be displayed on the screen of the module.

S205 단계에서 제1 공간 상에서 촬영 객체인 제1 객체가 검출된 것으로 확인되면, S206 단계에서, 장치(300)는 제2 데이터에서 추출된 제1 객체의 이미지를 기초로, 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정할 수 있다. 이와 관련된 자세한 설명은 도 4를 참조하여 후술하기로 한다.If it is confirmed in step S205 that the first object, which is a photographed object, is detected in the first space, in step S206 , the device 300 is located on the surface of the first object based on the image of the first object extracted from the second data. texture may be set as the first material. A detailed description related thereto will be described later with reference to FIG. 4 .

예를 들어, 장치(300)는 제1 객체의 이미지를 기초로, 제1 객체의 표면에 대한 텍스처가 금속 재질로 분석되면, 금속 재질을 제1 재질로 설정할 수 있다.For example, when the texture of the surface of the first object is analyzed as a metal material based on the image of the first object, the apparatus 300 may set the metal material as the first material.

S207 단계에서, 장치(300)는 제1 공간 상에서 검출된 제1 객체의 표면을 제1 재질로 변경하여, 제3 데이터를 생성할 수 있다.In operation S207 , the device 300 may generate the third data by changing the surface of the first object detected in the first space to the first material.

즉, 제1 데이터에서는 스캔 대상 구역에 있는 객체의 텍스처가 구현되어 있지 않은 상태인데, 장치(300)는 제2 데이터를 통해 스캔 대상 구역에 있는 객체의 텍스처를 확인한 후, 제1 데이터 및 제2 데이터의 정합을 통해, 객체의 텍스처가 구현된 3D 스캔 데이터인 제3 데이터를 생성할 수 있다.That is, in the first data, the texture of the object in the scan target area is not implemented. After checking the texture of the object in the scan target area through the second data, the device 300 checks the first data and the second data. Through data matching, third data that is 3D scan data in which the texture of the object is implemented may be generated.

도 3은 일실시예에 따른 제2 데이터가 어느 객체를 촬영한 이미지인지 분석하는 과정을 설명하기 위한 순서도이다.3 is a flowchart illustrating a process of analyzing which object is an image of which second data is captured, according to an exemplary embodiment.

도 3을 참조하면, 먼저, S301 단계에서, 장치(300)는 카메라(200)로부터 제2 데이터를 획득할 수 있다.Referring to FIG. 3 , first, in step S301 , the device 300 may acquire second data from the camera 200 .

S302 단계에서, 장치(300)는 제2 데이터를 기반으로, 제2 데이터 내에서 제1 객체가 차지하고 있는 면적의 비율을 제1 비율로 산출할 수 있다.In operation S302 , the device 300 may calculate the ratio of the area occupied by the first object in the second data as the first ratio, based on the second data.

구체적으로, 장치(300)는 제2 데이터에서 제1 객체의 외곽선을 인식하고, 제1 객체의 외곽선 내부에 있는 영역을 객체 영역으로 구분하고, 제1 객체의 외곽선 외부에 있는 영역을 배경 영역으로 구분한 후, 제2 데이터 내에서 객체 영역이 차지하고 있는 면적의 비율을 제1 비율로 산출할 수 있다.Specifically, the device 300 recognizes the outline of the first object from the second data, divides an area inside the outline of the first object into an object area, and sets an area outside the outline of the first object as a background area. After classifying, the ratio of the area occupied by the object region in the second data may be calculated as the first ratio.

S303 단계에서, 장치(300)는 제1 비율이 기준 비율 보다 큰지 여부를 확인할 수 있다. 여기서, 기준 비율은 실시예에 따라 상이하게 설정될 수 있다.In step S303 , the device 300 may determine whether the first ratio is greater than the reference ratio. Here, the reference ratio may be set differently according to embodiments.

S303 단계에서 제1 비율이 기준 비율 보다 작은 것으로 확인되면, S301 단계로 되돌아가, 장치(300)는 카메라(200)로부터 제2 데이터를 다시 획득할 수 있다. 이를 위해, 장치(300)는 객체 촬영의 포커싱에 대해 확인을 요청하는 알림 메시지를 카메라(200)로 전송할 수 있으며, 카메라(200)는 디스플레이 모듈을 구비하고 있어, 알림 메시지를 디스플레이 모듈의 화면에 표시할 수 있다.If it is determined in step S303 that the first ratio is smaller than the reference ratio, the process returns to step S301 , and the device 300 may acquire the second data again from the camera 200 . To this end, the device 300 may transmit a notification message to the camera 200 for requesting confirmation of focusing of object shooting, and the camera 200 is provided with a display module, so that the notification message is displayed on the screen of the display module. can be displayed

S303 단계에서 제1 비율이 기준 비율 보다 큰 것으로 확인되면, S304 단계에서, 장치(300)는 카메라(200)의 위치 정보를 기초로, 촬영 대상 구역을 제1 구역으로 확인할 수 있다.If it is determined in step S303 that the first ratio is greater than the reference ratio, in step S304 , the device 300 may identify the area to be photographed as the first zone based on the location information of the camera 200 .

구체적으로, 장치(300)는 카메라(200)에 장착된 GPS를 통해, 카메라(200)의 위치 정보를 획득할 수 있으며, 카메라(200)의 위치 정보를 기초로, 카메라(200)가 어느 구역에 위치하는지 파악하여, 파악된 위치를 통해 촬영 대상 구역을 확인할 수 있다.Specifically, the device 300 may acquire the location information of the camera 200 through the GPS mounted on the camera 200 , and based on the location information of the camera 200 , the camera 200 is located in which zone It is possible to check the location to be filmed through the identified location.

S305 단계에서, 장치(300)는 촬영 대상 구역이 제1 구역으로 확인되면, 제1 구역에 배치되어 있는 객체들의 리스트인 제1 리스트를 획득할 수 있다. 이를 위해, 장치(300)의 데이터베이스에는 구역 별로 분류된 객체들의 리스트가 저장되어 있으며, 장치(300)는 데이터베이스에 저장된 정보를 조회하여, 제1 리스트를 획득할 수 있다.In step S305 , when the area to be photographed is identified as the first area, the device 300 may obtain a first list that is a list of objects disposed in the first area. To this end, a list of objects classified by region is stored in the database of the device 300 , and the device 300 may obtain the first list by inquiring information stored in the database.

S306 단계에서, 장치(300)는 제1 리스트에 포함되어 있는 객체들의 형태와 제2 데이터를 통해 확인된 제1 객체의 형태를 비교할 수 있다.In step S306 , the device 300 may compare the shape of the objects included in the first list with the shape of the first object identified through the second data.

예를 들어, 제1 리스트에 제1 객체, 제2 객체 및 제3 객체가 포함되어 있는 경우, 장치(300)는 제1 리스트에 포함된 제1 객체, 제2 객체 및 제3 객체의 형태와 제2 데이터를 통해 확인된 제1 객체의 형태를 비교할 수 있다.For example, when the first object, the second object, and the third object are included in the first list, the device 300 determines the shape of the first object, the second object, and the third object included in the first list. The shape of the first object identified through the second data may be compared.

장치(300)는 제1 리스트에 포함되어 있는 객체들과 제2 데이터를 통해 확인된 제1 객체의 형태를 각각 비교하여, 형태 비교에 따른 유사도를 산출할 수 있으며, 유사도가 기준치 이상인 경우, 동일한 객체로 판단할 수 있다.The device 300 may compare the objects included in the first list with the shapes of the first objects identified through the second data, respectively, and calculate the similarity according to the shape comparison. can be considered as objects.

S307 단계에서, 장치(300)는 제1 리스트에 제1 객체가 포함되어 있는지 여부를 확인할 수 있다.In step S307 , the device 300 may check whether the first object is included in the first list.

예를 들어, 제1 리스트에 제1 객체, 제2 객체 및 제3 객체가 포함되어 있고, 제1 리스트에 포함되어 있는 제1 객체와 제2 데이터를 통해 확인된 제1 객체의 유사도가 기준치 이상으로 확인된 경우, 장치(300)는 제1 리스트에 제1 객체가 포함되어 있는 것으로 확인할 수 있다.For example, the first object, the second object, and the third object are included in the first list, and the similarity between the first object included in the first list and the first object confirmed through the second data is equal to or greater than the reference value , the device 300 may confirm that the first object is included in the first list.

S307 단계에서 제1 리스트에 제1 객체가 포함되어 있지 않은 것으로 확인되면, S301 단계로 되돌아가, 장치(300)는 카메라(200)로부터 제2 데이터를 다시 획득할 수 있다. 이를 위해, 장치(300)는 촬영 대상인 객체와 촬영 위치가 스캔 대상 구역이 맞는지에 대해 확인을 요청하는 알림 메시지를 카메라(200)로 전송할 수 있으며, 카메라(200)는 디스플레이 모듈을 구비하고 있어, 알림 메시지를 디스플레이 모듈의 화면에 표시할 수 있다.If it is determined in step S307 that the first object is not included in the first list, the process returns to step S301 , and the device 300 may acquire the second data again from the camera 200 . To this end, the device 300 may transmit a notification message to the camera 200 requesting confirmation that the object to be photographed and the photographing location match the scan target area, and the camera 200 is provided with a display module, A notification message can be displayed on the screen of the display module.

S307 단계에서 제1 리스트에 제1 객체가 포함되어 있는 것으로 확인되면, S308 단계에서, 장치(300)는 제2 데이터에 대해 제1 객체를 촬영한 이미지로 분석할 수 있다.If it is determined in step S307 that the first object is included in the first list, in step S308 , the device 300 may analyze the second data as a photographed image of the first object.

도 4는 일실시예에 따른 객체의 표면에 대한 재질을 설정하는 과정을 설명하기 위한 순서도이다.4 is a flowchart illustrating a process of setting a material for a surface of an object according to an exemplary embodiment.

도 4를 참조하면, 먼저, S401 단계에서, 장치(300)는 제2 데이터에서 객체 영역으로만 구성된 제1 객체의 이미지를 추출하면, 제1 객체의 이미지를 인코딩 하여 제1 입력 신호를 생성할 수 있다.Referring to FIG. 4 , first, in step S401 , when the device 300 extracts an image of a first object consisting of only an object region from the second data, the image of the first object is encoded to generate a first input signal. can

구체적으로, 장치(300)는 제1 객체의 이미지 픽셀을 색 정보로 인코딩하여 제1 입력 신호를 생성할 수 있다. 색 정보는 RGB 색상 정보, 명도 정보, 채도 정보, 깊이 정보를 포함할 수 있으나, 이에 국한하지 않는다. 장치(300)는 색 정보를 수치화된 값으로 환산할 수 있으며, 이 값을 포함한 데이터 시트 형태로 제1 객체의 이미지를 인코딩할 수 있다.Specifically, the device 300 may generate the first input signal by encoding the image pixels of the first object with color information. The color information may include, but is not limited to, RGB color information, brightness information, saturation information, and depth information. The device 300 may convert color information into a numerical value, and may encode the image of the first object in the form of a data sheet including this value.

S402 단계에서, 장치(300)는 제1 입력 신호를 장치(300) 내 미리 학습된 인공 신경망에 입력할 수 있다.In step S402 , the device 300 may input the first input signal to the pre-trained artificial neural network in the device 300 .

일실시예에 따른 인공 신경망은 특징 추출 신경망과 분류 신경망으로 구성되어 있으며 특징 추출 신경망은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.The artificial neural network according to an embodiment is composed of a feature extraction neural network and a classification neural network, and the feature extraction neural network sequentially stacks a convolutional layer and a pooling layer on an input signal. The convolution layer includes a convolution operation, a convolution filter, and an activation function. The calculation of the convolution filter is adjusted according to the matrix size of the target input, but a 9X9 matrix is generally used. The activation function generally uses, but is not limited to, a ReLU function, a sigmoid function, and a tanh function. The pooling layer is a layer that reduces the size of the input matrix, and uses a method of extracting representative values by tying pixels in a specific area. In general, the average value or the maximum value is often used for the calculation of the pooling layer, but is not limited thereto. The operation is performed using a square matrix, usually a 9x9 matrix. The convolutional layer and the pooling layer are repeated alternately until the corresponding input becomes small enough while maintaining the difference.

일실시예에 따르면, 분류 신경망은 히든 레이어와 출력 레이어를 가지고 있다. 객체 표면의 재질 분류를 위한 인공 신경망의 분류 신경망은 5층 이하의 히든 레이어로 구성되며, 총 50개 이하의 히든 레이어 노드를 포함할 수 있다. 히든 레이어의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 분류 신경망의 출력 레이어 노드는 총 1개이며, 객체 표면의 분류에 대한 출력값을 출력 레이어 노드에 출력할 수 있다. 인공 신경망에 대한 자세한 설명은 도 7을 참조하여 후술한다.According to an embodiment, the classification neural network has a hidden layer and an output layer. Classification of artificial neural network for material classification of object surface A neural network consists of five or less hidden layers, and may include a total of 50 or less hidden layer nodes. The activation function of the hidden layer uses a ReLU function, a sigmoid function, and a tanh function, but is not limited thereto. There is a total of one output layer node of the classification neural network, and an output value for object surface classification can be output to the output layer node. A detailed description of the artificial neural network will be described later with reference to FIG. 7 .

S403 단계에서, 장치(300)는 인공 신경망에 제1 입력 신호가 입력되면, 제1 입력 신호에 대한 출력으로, 인공 신경망으로부터 제1 출력 신호를 획득할 수 있다.In step S403 , when a first input signal is input to the artificial neural network, the device 300 may obtain a first output signal from the artificial neural network as an output for the first input signal.

S404 단계에서, 장치(300)는 제1 출력 신호에 기초하여, 제1 객체의 표면에 대한 분류 결과를 생성할 수 있다. 여기서, 분류 결과는 제1 객체의 표면에 대한 텍스처가 어느 재질로 분류되는지에 대한 정보를 포함할 수 있다.In operation S404 , the device 300 may generate a classification result for the surface of the first object based on the first output signal. Here, the classification result may include information on which material the texture of the surface of the first object is classified into.

예를 들어, 장치(300)는 제1 출력 신호의 출력값을 확인한 결과, 출력값이 1인 경우, 제1 객체의 표면이 금속 재질에 해당하는 것으로 분류 결과를 생성하고, 출력값이 2인 경우, 제1 객체의 표면이 목재 재질에 해당하는 것으로 분류 결과를 생성할 수 있다.For example, as a result of checking the output value of the first output signal, when the output value is 1, the device 300 generates a classification result as that the surface of the first object corresponds to a metal material, and when the output value is 2, the second 1 It is possible to generate classification results as the surface of the object corresponds to the wood material.

S405 단계에서, 장치(300)는 제1 객체의 표면에 대한 분류 결과를 기반으로, 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정할 수 있다.In operation S405 , the apparatus 300 may set the texture of the surface of the first object as the first material based on the classification result of the surface of the first object.

즉, 장치(300)는 제1 객체의 표면에 대한 분류 결과를 기반으로, 제1 객체의 표면이 어느 텍스처를 가지는지 확인하여, 확인된 텍스처를 제1 재질로 설정할 수 있다. 여기서, 텍스처는 재료 표면의 미세한 요철이나 조직의 상태로부터 느껴지는 재료 표면의 느낌으로, 금속, 도자기, 플라스틱, 유리, 목재, 종이, 옷감 등의 재료에 따라 다른 특유한 재질감을 의미할 수 있으며, 같은 재료라도 표면을 매끈하게 다듬질하여 광택이 나는 경우와 표면에 미세한 요철을 붙여서 빛을 난반사시켜 광택이 나지 않게 다듬질한 경우는 서로 다른 것처럼 보일 수 있기 때문에, 텍스처를 통해 재료의 종류 뿐만 아니라 보여지는 느낌까지 구분될 수 있다.That is, the apparatus 300 may determine which texture the surface of the first object has based on the classification result of the surface of the first object, and set the checked texture as the first material. Here, the texture is the texture of the material surface felt from the fine irregularities of the surface of the material or the state of the texture, and may mean a unique texture that is different depending on the material such as metal, ceramics, plastic, glass, wood, paper, cloth, etc., and the same material Since Rado may look different when it is polished to a smooth surface and when it is finished without glossiness by attaching fine irregularities to the surface to diffuse light can be distinguished.

도 5는 일실시예에 따른 추가 촬영을 안내하는 과정을 설명하기 위한 순서도이다.5 is a flowchart illustrating a process of guiding additional photographing according to an exemplary embodiment.

도 5를 참조하면, 먼저, S501 단계에서, 장치(300)는 제3 데이터를 생성한 이후, 제1 리스트에 제1 객체 및 제2 객체가 포함되어 있는 것으로 확인할 수 있다.Referring to FIG. 5 , first, in step S501 , the device 300 may determine that the first object and the second object are included in the first list after generating the third data.

구체적으로, 장치(300)는 촬영 대상 구역이 제1 구역으로 확인되면, 제1 구역에 배치되어 있는 객체들의 리스트인 제1 리스트를 획득할 수 있다. 이때, 제1 리스트는 제1 객체 및 제2 객체를 포함하여 구성될 수 있다.Specifically, when the area to be photographed is identified as the first area, the device 300 may obtain a first list that is a list of objects disposed in the first area. In this case, the first list may be configured to include the first object and the second object.

장치(300)는 제3 데이터를 생성하는 과정에서, 제1 리스트에 제1 객체가 포함되어 있는 것이 확인되었으므로, 제1 리스트에 제1 객체 이외에 다른 객체가 더 포함되어 있는지 확인하여, 제1 리스트에 제1 객체 뿐만 아니라 제2 객체가 더 포함되어 있는 것을 확인할 수 있다.Since it is confirmed that the first object is included in the first list in the process of generating the third data, the device 300 checks whether other objects are included in the first list in addition to the first object, It can be confirmed that not only the first object but also the second object are further included.

S502 단계에서, 장치(300)는 제1 리스트에 제1 객체 및 제2 객체가 포함되어 있는 것으로 확인되면, 제1 공간 상에서 제1 객체 및 제2 객체가 검출되는지 여부를 확인할 수 있다. 이때, 장치(300)는 제3 데이터를 생성하는 과정에서, 제1 공간 상에서 제1 객체가 검출된 것이 확인되었으므로, 제1 공간 상에서 제2 객체가 검출되는지 여부에 대해서만 확인할 수 있다.In step S502 , when it is confirmed that the first object and the second object are included in the first list, the device 300 may determine whether the first object and the second object are detected in the first space. In this case, since it is confirmed that the first object is detected in the first space in the process of generating the third data, the device 300 may only check whether the second object is detected in the first space.

S502 단계에서 제1 공간 상에서 제1 객체 및 제2 객체가 검출된 것으로 확인되면, S601 단계가 수행될 수 있으며, 이와 관련된 자세한 설명은 도 6을 참조하여 후술하기로 한다.If it is confirmed in step S502 that the first object and the second object are detected in the first space, step S601 may be performed, and a detailed description thereof will be described later with reference to FIG. 6 .

S502 단계에서 제1 공간 상에서 제1 객체 및 제2 객체가 검출되지 않은 것으로 확인되면, 제3 데이터를 생성하는 과정에서, 제1 공간 상에서 제1 객체가 검출된 것이 확인되었으므로, 제1 공간 상에서 제1 객체만 검출되고 제2 객체가 검출되지 않은 것으로 확인될 수 있으며, 제1 공간 상에서 제1 객체만 검출되고 제2 객체가 검출되지 않은 것으로 확인되면, S503 단계에서, 장치(300)는 제1 객체가 위치하고 있는 지점인 제1 지점을 확인하고, 제2 객체가 위치하고 있는 지점인 제2 지점을 확인할 수 있다. 이를 위해, 장치(300)의 데이터베이스에는 객체 별로 구분된 위치 정보가 저장되어 있으며, 장치(300)는 데이터베이스에 저장된 정보를 조회하여, 제1 객체의 위치 정보 및 제2 객체의 위치 정보를 획득한 후, 제1 객체의 위치 정보를 통해 제1 지점을 확인하고, 제2 객체의 위치 정보를 통해 제2 지점을 확인할 수 있다.When it is confirmed in step S502 that the first object and the second object are not detected in the first space, since it is confirmed that the first object is detected in the first space in the process of generating the third data, the first object in the first space It may be confirmed that only one object is detected and that the second object is not detected. If it is confirmed that only the first object is detected and the second object is not detected in the first space, in step S503, the device 300 performs the first A first point that is a point where the object is located may be checked, and a second point that is a point where the second object is located may be checked. To this end, the database of the device 300 stores location information classified for each object, and the device 300 obtains the location information of the first object and the location information of the second object by inquiring the information stored in the database. Thereafter, the first point may be identified through the location information of the first object, and the second point may be identified through the location information of the second object.

S504 단계에서, 장치(300)는 제1 지점 및 제2 지점의 위치를 비교하여, 제1 지점에서 제2 지점으로 이동하기 위한 이동 방향 및 이동 거리를 확인할 수 있다.In step S504 , the device 300 may compare the positions of the first point and the second point to determine a movement direction and a movement distance for moving from the first point to the second point.

S505 단계에서, 장치(300)는 이동 방향 및 이동 거리를 기반으로, 제1 지점에서 제2 지점으로 이동하는 것을 안내하는 가이드 정보를 생성할 수 있다.In step S505 , the device 300 may generate guide information for guiding movement from the first point to the second point based on the moving direction and the moving distance.

예를 들어, 제1 지점에서 제2 지점으로 이동하기 위해 우측 방향으로 500m 이동해야 하는 것으로 확인되면, 장치(300)는 우측 방향으로 500m 이동해야 하는 것을 알려주는 화살표 모양의 가이드 정보를 생성할 수 있다.For example, if it is determined that moving 500 m in the right direction is required to move from the first point to the second point, the device 300 may generate arrow-shaped guide information informing that the user needs to move 500 m in the right direction. have.

S506 단계에서, 장치(300)는 가이드 정보 및 제2 객체에 대한 추가 촬영 요청 메시지를 카메라(200)로 전송할 수 있다. 이를 위해, 카메라(200)는 디스플레이 모듈을 구비하고 있어, 추가 촬영 요청 메시지를 디스플레이 모듈의 화면에 표시할 수 있다.In step S506 , the device 300 may transmit guide information and an additional photographing request message for the second object to the camera 200 . To this end, the camera 200 is provided with a display module, so that an additional photographing request message can be displayed on the screen of the display module.

즉, 스캔 대상 구역에는 제1 객체 및 제2 객체가 배치되어 있는데, 카메라(200)가 제1 객체에 대해서만 촬영을 수행한 경우, 장치(300)는 제2 객체에 대한 추가 촬영이 필요한 것으로 판단하여, 제2 객체에 대한 추가 촬영 요청 메시지를 카메라(200)로 전송할 수 있다.That is, the first object and the second object are disposed in the scan target area, and when the camera 200 captures only the first object, the device 300 determines that additional photographing of the second object is required. Accordingly, an additional photographing request message for the second object may be transmitted to the camera 200 .

도 6은 일실시예에 따른 객체의 크기를 추정하는 과정을 설명하기 위한 순서도이다.6 is a flowchart illustrating a process of estimating the size of an object according to an exemplary embodiment.

도 6을 참조하면, 먼저, S601 단계에서, 장치(300)는 제1 공간 상에서 제1 객체 및 제2 객체를 검출할 수 있다.Referring to FIG. 6 , first, in step S601 , the device 300 may detect a first object and a second object in a first space.

장치(300)는 제1 공간 상에서 제1 객체 및 제2 객체가 검출되면, S602 단계에서, 제1 공간 상에서 제1 객체가 차지하는 영역인 제1 영역을 검출하고, S603 단계에서, 제1 공간 상에서 제2 객체가 차지하는 영역인 제2 영역을 검출할 수 있다.When the first object and the second object are detected in the first space, the device 300 detects a first area that is an area occupied by the first object in the first space in step S602, and in step S603, in the first space A second area that is an area occupied by the second object may be detected.

장치(300)는 제1 영역을 검출하는데 있어, 제1 공간 상에서 제1 객체의 형태에 대한 특징을 분석하여, 제1 객체의 경계를 인식한 후, 인식된 제1 객체의 경계를 통해 제1 영역을 검출할 수 있다. 이때, 장치(300)는 3차원의 제1 공간 상에서 2차원의 박스 형태로 제1 영역을 검출할 수 있다.In detecting the first area, the apparatus 300 analyzes the characteristics of the shape of the first object in the first space, recognizes the boundary of the first object, and then uses the recognized boundary of the first object to perform a first area can be detected. In this case, the apparatus 300 may detect the first area in the form of a two-dimensional box in the first space of three dimensions.

또한, 장치(300)는 제2 영역을 검출하는데 있어, 제1 공간 상에서 제2 객체의 형태에 대한 특징을 분석하여, 제2 객체의 경계를 인식한 후, 인식된 제2 객체의 경계를 통해 제2 영역을 검출할 수 있다. 이때, 장치(300)는 3차원의 제1 공간 상에서 2차원의 박스 형태로 제2 영역을 검출할 수 있다.In addition, in detecting the second area, the device 300 analyzes the characteristics of the shape of the second object in the first space, recognizes the boundary of the second object, and then uses the recognized boundary of the second object. The second region may be detected. In this case, the apparatus 300 may detect the second region in the form of a two-dimensional box in the first space of three dimensions.

S604 단계에서, 장치(300)는 제1 공간 상에서 제1 영역의 길이를 추정하여, 추정된 길이로 제1 길이를 설정할 수 있다.In operation S604 , the apparatus 300 may estimate the length of the first region in the first space and set the first length as the estimated length.

예를 들어, 장치(300)는 제1 영역이 박스 형태인 경우, 제1 영역의 장축과 대각선의 길이를 확인하고, 제1 영역의 장축과 대각선의 평균값으로 제1 길이를 설정할 수 있다.For example, when the first region has a box shape, the device 300 may check the lengths of the long axis and the diagonal of the first region, and set the first length as an average value of the long axis and the diagonal of the first region.

S605 단계에서, 장치(300)는 제1 공간 상에서 제2 영역의 길이를 추정하여, 추정된 길이로 제2 길이를 설정할 수 있다.In operation S605 , the apparatus 300 may estimate the length of the second region in the first space and set the second length as the estimated length.

예를 들어, 장치(300)는 제2 영역이 박스 형태인 경우, 제2 영역의 장축과 대각선의 길이를 확인하고, 제2 영역의 장축과 대각선의 평균값으로 제2 길이를 설정할 수 있다.For example, when the second region has a box shape, the device 300 may check the lengths of the long axis and the diagonal of the second region, and set the second length as an average value of the long axis and the diagonal of the second region.

S606 단계에서, 장치(300)는 제1 객체의 실제 길이인 제3 길이를 확인할 수 있다. 이를 위해, 장치(300)의 데이터베이스에는 객체 별로 구분된 실제 길이에 대한 정보가 저장되어 있으며, 장치(300)는 데이터베이스에 저장된 정보를 조회하여, 제1 객체의 실제 길이인 제3 길이를 확인할 수 있다.In step S606 , the device 300 may identify a third length that is the actual length of the first object. To this end, information on the actual length divided for each object is stored in the database of the device 300, and the device 300 may check the information stored in the database to check the third length, which is the actual length of the first object. have.

S607 단계에서, 장치(300)는 제1 길이, 제2 길이 및 제3 길이를 이용하여, 제2 객체의 실제 길이인 제4 길이를 추정할 수 있다.In operation S607 , the device 300 may estimate a fourth length that is an actual length of the second object by using the first length, the second length, and the third length.

구체적으로, 장치(300)는 제1 길이 및 제3 길이의 비율인 제1 비율을 산출하고, 제1 비율에 제2 길이를 적용하여, 제4 길이를 산출하는 과정을 통해, 제4 길이를 추정할 수 있다.Specifically, the device 300 calculates a first ratio that is a ratio of the first length and the third length, applies the second length to the first ratio, and calculates the fourth length through the process of calculating the fourth length. can be estimated

예를 들어, 제1 길이가 10cm이고, 제2 길이가 20cm이고, 제3 길이가 15cm인 경우, 장치(300)는 제1 길이 및 제3 길이를 이용하여 제1 비율을 1.5로 산출할 수 있으며, 제1 비율에 제2 길이를 적용하여, 제4 길이를 30cm로 산출할 수 있다.For example, if the first length is 10 cm, the second length is 20 cm, and the third length is 15 cm, the device 300 may use the first length and the third length to calculate the first ratio as 1.5 And, by applying the second length to the first ratio, the fourth length can be calculated as 30 cm.

도 7은 일실시예에 따른 인공 신경망을 설명하기 위한 도면이다.7 is a diagram for explaining an artificial neural network according to an embodiment.

일실시예에 따른 인공 신경망(700)은 객체의 이미지에 대한 인코딩에 의해 생성된 제1 입력 신호를 입력으로 하여, 객체의 표면에 대한 텍스처가 어느 재질로 분류되는지에 대한 정보를 출력으로 할 수 있다.The artificial neural network 700 according to an embodiment may receive as an input a first input signal generated by encoding an image of an object, and output information on which material the texture of the surface of the object is classified into. have.

일실시예에 따른 인코딩은 이미지의 픽셀 별 색 정보를 수치화된 데이터 시트 형태로 저장하는 방식으로 이뤄질 수 있는데, 색 정보는 하나의 픽셀이 가지고 있는 RGB 색상, 명도 정보, 채도 정보, 깊이 정보를 포함할 수 있으나, 이에 국한하지 않는다.Encoding according to an embodiment may be performed by storing color information for each pixel of an image in the form of a digitized data sheet, and the color information includes RGB color, brightness information, saturation information, and depth information of one pixel. can, but is not limited to.

일실시예에 따르면, 인공 신경망(700)은 특징 추출 신경망(710)과 분류 신경망(720)으로 구성되어 있으며, 특징 추출 신경망(710)은 이미지에서 객체 영역과 배경 영역을 분리하는 작업을 수행할 수 있으며, 분류 신경망(720)은 이미지 내에서 객체의 표면에 대한 텍스처가 어느 재질로 분류되는지 여부를 파악하는 작업을 수행하도록 할 수 있다.According to an embodiment, the artificial neural network 700 is composed of a feature extraction neural network 710 and a classification neural network 720, and the feature extraction neural network 710 separates an object region and a background region from an image. In addition, the classification neural network 720 may perform a task of identifying which material the texture of the surface of the object in the image is classified into.

특징 추출 신경망(710)이 객체 영역과 배경 영역을 구분하는 방법은 이미지를 인코딩한 입력 신호의 데이터 시트로부터 색 정보의 각 값들의 변화가 한 픽셀을 포함하는 8개의 픽셀 중 6개 이상에서 30% 이상의 변화가 생긴 것으로 감지되는 픽셀들의 묶음을 객체 영역과 배경 영역의 경계로 삼을 수 있으나, 이에 국한하지 않는다.The method in which the feature extraction neural network 710 distinguishes the object region and the background region is that the change in each value of color information from the data sheet of the image-encoded input signal is 30% in 6 or more of 8 pixels including one pixel. A bundle of pixels detected as having an abnormal change may be used as a boundary between the object area and the background area, but is not limited thereto.

특징 추출 신경망(710)은 입력 신호를 컨볼루션 계층과 풀링 계층을 차례로 쌓아 진행한다. 컨볼루션 계층은 컨볼루션 연산, 컨볼루션 필터 및 활성함수를 포함하고 있다. 컨볼루션 필터의 계산은 대상 입력의 행렬 크기에 따라 조절되나 일반적으로 9X9 행렬을 사용한다. 활성 함수는 일반적으로 ReLU 함수, 시그모이드 함수, 및 tanh 함수 등을 사용하나 이에 한정하지 않는다. 풀링 계층은 입력의 행렬 크기를 줄이는 역할을 하는 계층으로, 특정 영역의 픽셀을 묶어 대표값을 추출하는 방식을 사용한다. 풀링 계층의 연산에는 일반적으로 평균값이나 최대값을 많이 사용하나 이에 한정하지 않는다. 해당 연산은 정방 행렬을 사용하여 진행되는데, 일반적으로 9X9 행렬을 사용한다. 컨볼루션 계층과 풀링 계층은 해당 입력이 차이를 유지한 상태에서 충분히 작아질 때까지 번갈아 반복 진행된다.The feature extraction neural network 710 stacks the input signal by sequentially stacking a convolutional layer and a pooling layer. The convolution layer includes a convolution operation, a convolution filter, and an activation function. The calculation of the convolution filter is adjusted according to the matrix size of the target input, but a 9X9 matrix is generally used. The activation function generally uses, but is not limited to, a ReLU function, a sigmoid function, and a tanh function. The pooling layer is a layer that reduces the size of the input matrix, and uses a method of extracting representative values by tying pixels in a specific area. In general, the average value or the maximum value is often used for the calculation of the pooling layer, but is not limited thereto. The operation is performed using a square matrix, usually a 9x9 matrix. The convolutional layer and the pooling layer are repeated alternately until the corresponding input becomes small enough while maintaining the difference.

분류 신경망(720)은 특징 추출 신경망(710)을 통해 배경으로부터 구분된 객체 영역의 표면을 확인하고, 미리 정의된 재질의 상태별 표면 상태와 유사한지 여부를 확인하여, 객체 영역의 표면이 재질의 어느 상태로 분류되는지 여부를 파악할 수 있다. 재질의 상태별 표면 상태와 비교하기 위해, 장치(300)의 데이터베이스에 저장된 정보들을 활용할 수 있다.The classification neural network 720 checks the surface of the object region separated from the background through the feature extraction neural network 710, and checks whether the surface state of a predefined material is similar to the surface state by state, so that the surface of the object region is the surface of the material. It is possible to determine which state it is classified into. In order to compare the surface state by state of the material, information stored in the database of the device 300 may be utilized.

분류 신경망(720)은 히든 레이어와 출력 레이어를 가지고 있으며, 5층 이하의 히든 레이어로 구성되어, 총 50개 이하의 히든 레이어 노드를 포함하고, 히든 레이어의 활성함수는 ReLU 함수, 시그모이드 함수 및 tanh 함수 등을 사용하나 이에 한정하지 않는다.The classification neural network 720 has a hidden layer and an output layer, and is composed of five or less hidden layers, including a total of 50 or less hidden layer nodes, and the activation function of the hidden layer is a ReLU function and a sigmoid function. and tanh functions, but is not limited thereto.

분류 신경망(720)는 총 1개의 출력층 노드만 포함할 수 있다.The classification neural network 720 may include only one output layer node in total.

분류 신경망(720)의 출력은 객체 표면이 재질의 어느 상태로 분류되는지에 대한 출력값으로, 재질의 어느 상태에 해당하는지를 지시할 수 있다. 예를 들어, 출력값이 1인 경, 객체 표면이 금속 재질의 매끈한 상태인 것을 지시하고, 출력값이 2인 경우, 객체 표면이 목재 재질의 거친 상태인 것을 지시할 수 있다.The output of the classification neural network 720 is an output value of which state of the material the object surface is classified into, and may indicate which state of the material corresponds to. For example, when the output value is 1, it may indicate that the object surface is in a smooth state of a metal material, and when the output value is 2, it may indicate that the object surface is in a rough state of a wood material.

일실시예에 따르면, 인공 신경망(700)은 사용자가 인공 신경망(700)에 따른 출력의 문제점 발견 시 사용자에 의해 입력된 수정 정답에 의해 생성되는 제1 학습 신호를 전달받아 학습할 수 있다. 인공 신경망(700)에 따른 출력의 문제점은 객체 표면에 대해 다른 재질의 상태로 분류한 출력값을 출력한 경우를 의미할 수 있다.According to an embodiment, the artificial neural network 700 may learn by receiving the first learning signal generated by the corrected correct answer input by the user when the user discovers a problem in the output according to the artificial neural network 700 . The problem of output according to the artificial neural network 700 may mean a case in which an output value classified into a state of a different material is output with respect to the object surface.

일실시예에 따른 제1 학습 신호는 정답과 출력값의 오차를 바탕으로 만들어지며, 경우에 따라 델타를 이용하는 SGD나 배치 방식 혹은 역전파 알고리즘을 따르는 방식을 사용할 수 있다. 인공 신경망(700)은 제1 학습 신호에 의해 기존의 가중치를 수정해 학습을 수행하며, 경우에 따라 모멘텀을 사용할 수 있다. 오차의 계산에는 비용함수가 사용될 수 있는데, 비용함수로 Cross entropy 함수를 사용할 수 있다. 이하 도 8을 참조하여 인공 신경망(700)의 학습 내용이 후술된다.The first learning signal according to an embodiment is created based on the error between the correct answer and the output value, and in some cases, SGD using delta, a batch method, or a method following a backpropagation algorithm may be used. The artificial neural network 700 performs learning by modifying the existing weights according to the first learning signal, and may use momentum in some cases. A cost function can be used to calculate the error, and a cross entropy function can be used as the cost function. Hereinafter, the learning contents of the artificial neural network 700 will be described with reference to FIG. 8 .

도 8은 일실시예에 따른 인공 신경망을 학습하는 방법을 설명하기 위한 도면이다.8 is a diagram for explaining a method of learning an artificial neural network according to an embodiment.

일실시예에 따르면, 학습 장치는 인공 신경망(700)을 학습시킬 수 있다. 학습 장치는 장치(300)와 다른 별개의 주체일 수 있지만, 이에 제한되는 것은 아니다.According to an embodiment, the learning apparatus may train the artificial neural network 700 . The learning device may be a separate entity different from the device 300 , but is not limited thereto.

일실시예에 따르면, 인공 신경망(700)은 트레이닝 샘플들이 입력되는 입력 레이어와 트레이닝 출력들을 출력하는 출력 레이어를 포함하고, 트레이닝 출력들과 제1 레이블들 사이의 차이에 기초하여 학습될 수 있다. 여기서, 제1 레이블들은 재질의 상태 별로 등록되어 있는 대표 이미지에 기초하여 정의될 수 있다. 인공 신경망(700)은 복수의 노드들의 그룹으로 연결되어 있고, 연결된 노드들 사이의 가중치들과 노드들을 활성화시키는 활성화 함수에 의해 정의된다. According to an embodiment, the artificial neural network 700 includes an input layer to which training samples are input and an output layer to output training outputs, and may be learned based on a difference between the training outputs and the first labels. Here, the first labels may be defined based on a representative image registered for each state of the material. The artificial neural network 700 is connected to a group of a plurality of nodes, and is defined by weights between the connected nodes and an activation function that activates the nodes.

학습 장치는 GD(Gradient Decent) 기법 또는 SGD(Stochastic Gradient Descent) 기법을 이용하여 인공 신경망(700)을 학습시킬 수 있다. 학습 장치는 인공 신경망(700)의 출력들 및 레이블들 의해 설계된 손실 함수를 이용할 수 있다.The learning apparatus may train the artificial neural network 700 by using a Gradient Decent (GD) technique or a Stochastic Gradient Descent (SGD) technique. The learning apparatus may use a loss function designed by the outputs and labels of the artificial neural network 700 .

학습 장치는 미리 정의된 손실 함수(loss function)을 이용하여 트레이닝 에러를 계산할 수 있다. 손실 함수는 레이블, 출력 및 파라미터를 입력 변수로 미리 정의될 수 있고, 여기서 파라미터는 인공 신경망(700) 내 가중치들에 의해 설정될 수 있다. 예를 들어, 손실 함수는 MSE(Mean Square Error) 형태, 엔트로피(entropy) 형태 등으로 설계될 수 있는데, 손실 함수가 설계되는 실시예에는 다양한 기법 또는 방식이 채용될 수 있다.The learning apparatus may calculate a training error using a predefined loss function. The loss function may be predefined with a label, an output, and a parameter as input variables, where the parameter may be set by weights in the artificial neural network 700 . For example, the loss function may be designed in a Mean Square Error (MSE) form, an entropy form, or the like, and various techniques or methods may be employed in an embodiment in which the loss function is designed.

학습 장치는 역전파(backpropagation) 기법을 이용하여 트레이닝 에러에 영향을 주는 가중치들을 찾아낼 수 있다. 여기서, 가중치들은 인공 신경망(700) 내 노드들 사이의 관계들이다. 학습 장치는 역전파 기법을 통해 찾아낸 가중치들을 최적화시키기 위해 레이블들 및 출력들을 이용한 SGD 기법을 이용할 수 있다. 예를 들어, 학습 장치는 레이블들, 출력들 및 가중치들에 기초하여 정의된 손실 함수의 가중치들을 SGD 기법을 이용하여 갱신할 수 있다.The learning apparatus may find weights affecting the training error by using a backpropagation technique. Here, the weights are relationships between nodes in the artificial neural network 700 . The learning apparatus may use the SGD technique using labels and outputs to optimize the weights found through the backpropagation technique. For example, the learning apparatus may update the weights of the loss function defined based on the labels, outputs, and weights using the SGD technique.

일실시예에 따르면, 학습 장치는 장치(300)의 데이터베이스로부터 레이블드 트레이닝 재질의 상태별 대표 이미지들(801)을 획득할 수 있다. 학습 장치는 재질의 상태별 대표 이미지들(801)에 각각 미리 레이블링된 정보를 획득할 수 있는데, 재질의 상태별 대표 이미지들(801)은 미리 분류된 재질의 상태에 따라 레이블링될 수 있다.According to an embodiment, the learning apparatus may obtain representative images 801 for each state of the labeled training material from the database of the apparatus 300 . The learning apparatus may obtain pre-labeled information on the representative images 801 for each state of the material, and the representative images 801 for each state of the material may be labeled according to the pre-classified state of the material.

일실시예에 따르면, 학습 장치는 1000개의 레이블드 트레이닝 재질의 상태별 대표 이미지들(801)을 획득할 수 있으며, 레이블드 트레이닝 재질의 상태별 대표 이미지들(801)에 기초하여 제1 트레이닝 재질의 상태별 벡터들(802)을 생성할 수 있다. 제1 트레이닝 재질의 상태별 벡터들(802)을 추출하는데는 다양한 방식이 채용될 수 있다.According to an embodiment, the learning apparatus may acquire 1000 representative images 801 for each state of the labeled training material, and based on the representative images 801 for each state of the labeled training material, the first training material It is possible to generate vectors 802 for each state of . Various methods may be employed to extract the vectors 802 for each state of the first training material.

일실시예에 따르면, 학습 장치는 제1 트레이닝 재질의 상태별 벡터들(802)을 인공 신경망(700)에 적용하여 제1 트레이닝 출력들(803)을 획득할 수 있다. 학습 장치는 제1 트레이닝 출력들(803)과 제1 레이블들(804)에 기초하여 인공 신경망(700)을 학습시킬 수 있다. 학습 장치는 제1 트레이닝 출력들(803)에 대응하는 트레이닝 에러들을 계산하고, 그 트레이닝 에러들을 최소화하기 위해 인공 신경망(700) 내 노드들의 연결 관계를 최적화하여 인공 신경망(700)을 학습시킬 수 있다.According to an embodiment, the learning apparatus may obtain the first training outputs 803 by applying the vectors 802 for each state of the first training material to the artificial neural network 700 . The learning apparatus may train the artificial neural network 700 based on the first training outputs 803 and the first labels 804 . The learning apparatus may train the artificial neural network 700 by calculating the training errors corresponding to the first training outputs 803 and optimizing the connection relationship of nodes in the artificial neural network 700 to minimize the training errors. .

도 9는 일실시예에 따른 장치의 구성의 예시도이다.9 is an exemplary diagram of a configuration of an apparatus according to an embodiment.

일실시예에 따른 장치(300)는 프로세서(301) 및 메모리(302)를 포함한다. 프로세서(301)는 도 1 내지 도 8을 참조하여 전술된 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 8을 참조하여 전술된 적어도 하나의 방법을 수행할 수 있다. 장치(300)를 이용하는 자 또는 단체는 도 1 내지 도 8을 참조하여 전술된 방법들 일부 또는 전부와 관련된 서비스를 제공할 수 있다.Device 300 according to one embodiment includes a processor 301 and a memory 302 . The processor 301 may include at least one of the devices described above with reference to FIGS. 1 to 8 , or may perform at least one method described above with reference to FIGS. 1 to 8 . A person or organization using the apparatus 300 may provide a service related to some or all of the methods described above with reference to FIGS. 1 to 8 .

메모리(302)는 전술된 방법들과 관련된 정보를 저장하거나 후술되는 방법들이 구현된 프로그램을 저장할 수 있다. 메모리(302)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.The memory 302 may store information related to the above-described methods or a program in which the methods described below are implemented. Memory 302 may be volatile memory or non-volatile memory.

프로세서(301)는 프로그램을 실행하고, 장치(300)를 제어할 수 있다. 프로세서(301)에 의하여 실행되는 프로그램의 코드는 메모리(302)에 저장될 수 있다. 장치(300)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 유무선 통신을 통해 데이터를 교환할 수 있다.The processor 301 may execute a program and control the device 300 . The code of the program executed by the processor 301 may be stored in the memory 302 . The device 300 may be connected to an external device (eg, a personal computer or a network) through an input/output device (not shown), and may exchange data through wired/wireless communication.

장치(300)는 인공 신경망을 학습시키거나, 학습된 인공 신경망을 이용하는데 사용될 수 있다. 메모리(302)는 학습 중인 또는 학습된 인공 신경망을 포함할 수 있다. 프로세서(301)는 메모리(302)에 저장된 인공 신경망 알고리즘을 학습시키거나 실행시킬 수 있다. 인공 신경망을 학습시키는 장치(300)와 학습된 인공 신경망을 이용하는 장치(300)는 동일할 수도 있고 개별적일 수도 있다.The device 300 may be used to train an artificial neural network or use a learned artificial neural network. Memory 302 may include a learning or learned artificial neural network. The processor 301 may learn or execute an artificial neural network algorithm stored in the memory 302 . The apparatus 300 for learning an artificial neural network and the apparatus 300 for using the learned artificial neural network may be the same or may be separate.

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

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

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

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

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (3)

장치에 의해 수행되는, 광대역 라이다의 스캔을 기반으로 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터를 생성하는 방법에 있어서,
스캔 대상 구역이 라이다에 의해 스캔되면, 상기 라이다로부터 상기 스캔 대상 구역을 스캔하여 생성된 3D 이미지인 제1 데이터를 획득하는 단계;
상기 스캔 대상 구역에 위치하는 제1 객체가 카메라에 의해 촬영되면, 상기 카메라로부터 상기 제1 객체를 촬영하여 생성된 2D 이미지인 제2 데이터를 획득하는 단계;
상기 제2 데이터를 기반으로, 상기 제2 데이터 내에서 상기 제1 객체가 차지하고 있는 면적의 비율을 제1 비율로 산출하는 단계;
상기 제1 비율이 미리 설정된 기준 비율 보다 큰 것으로 확인되면, 상기 카메라의 위치 정보를 기초로, 촬영 대상 구역을 확인하는 단계;
상기 촬영 대상 구역이 제1 구역으로 확인되면, 상기 제1 구역에 배치되어 있는 객체들의 리스트인 제1 리스트를 획득하는 단계;
상기 제1 리스트에 포함되어 있는 객체들의 형태와 상기 제2 데이터를 통해 확인된 상기 제1 객체의 형태를 비교하여, 상기 제1 리스트에 상기 제1 객체가 포함되어 있는지 여부를 확인하는 단계;
상기 제1 리스트에 상기 제1 객체가 포함되어 있는 것으로 확인되면, 상기 제2 데이터에 대해 상기 제1 객체를 촬영한 이미지로 분석하는 단계;
상기 제2 데이터가 상기 제1 객체를 촬영한 이미지로 분석되면, 상기 제1 데이터를 통해 확인된 제1 공간 상에서 상기 제1 객체가 검출되는지 여부를 확인하는 단계;
상기 제1 공간 상에서 상기 제1 객체가 검출되면, 상기 제2 데이터에서 추출된 제1 객체의 이미지를 기초로, 상기 제1 객체의 표면에 대한 텍스처를 제1 재질로 설정하는 단계;
상기 제1 공간 상에서 검출된 상기 제1 객체의 표면을 상기 제1 재질로 변경하여, 제3 데이터를 생성하는 단계;
상기 제1 리스트에 상기 제1 객체 및 제2 객체가 포함되어 있는 것으로 확인되면, 상기 제1 공간 상에서 상기 제1 객체 및 상기 제2 객체가 검출되는지 여부를 확인하는 단계;
상기 제1 공간 상에서 상기 제1 객체만 검출되고 상기 제2 객체가 검출되지 않으면, 상기 제1 객체가 위치하고 있는 지점인 제1 지점을 확인하고, 상기 제2 객체가 위치하고 있는 지점인 제2 지점을 확인하는 단계;
상기 제1 지점 및 상기 제2 지점의 위치를 비교하여, 상기 제1 지점에서 상기 제2 지점으로 이동하기 위한 이동 방향 및 이동 거리를 확인하는 단계;
상기 이동 방향 및 이동 거리를 기반으로, 상기 제1 지점에서 상기 제2 지점으로 이동하는 것을 안내하는 가이드 정보를 생성하는 단계; 및
상기 가이드 정보 및 상기 제2 객체에 대한 추가 촬영 요청 메시지를 상기 카메라로 전송하는 단계를 포함하는,
광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법.
A method for generating 3D scan data in which a texture is implemented through image registration based on a scan of a wideband lidar performed by a device, the method comprising:
when the scan target area is scanned by the lidar, acquiring first data that is a 3D image generated by scanning the scan target area from the lidar;
when the first object located in the scan target area is photographed by a camera, obtaining second data that is a 2D image generated by photographing the first object from the camera;
calculating a ratio of an area occupied by the first object in the second data as a first ratio based on the second data;
when it is determined that the first ratio is greater than a preset reference ratio, checking a photographing target area based on the location information of the camera;
obtaining a first list, which is a list of objects disposed in the first area, when the photographing target area is identified as the first area;
determining whether the first object is included in the first list by comparing the shape of the objects included in the first list with the shape of the first object identified through the second data;
when it is confirmed that the first object is included in the first list, analyzing the second data as a photographed image of the first object;
when the second data is analyzed as an image obtained by photographing the first object, checking whether the first object is detected in a first space identified through the first data;
when the first object is detected in the first space, setting a texture for the surface of the first object as a first material based on the image of the first object extracted from the second data;
generating third data by changing the surface of the first object detected in the first space to the first material;
when it is confirmed that the first object and the second object are included in the first list, checking whether the first object and the second object are detected in the first space;
If only the first object is detected and the second object is not detected in the first space, a first point that is a point where the first object is located is checked, and a second point that is a point where the second object is located is determined. checking;
comparing the positions of the first point and the second point to determine a moving direction and a moving distance for moving from the first point to the second point;
generating guide information for guiding movement from the first point to the second point based on the moving direction and the moving distance; and
Comprising the step of transmitting an additional photographing request message for the guide information and the second object to the camera,
A method of generating textured 3D scan data through wideband lidar scan-based image registration.
삭제delete 제1항에 있어서,
상기 제1 객체의 표면에 대한 텍스처를 설정하는 단계는,
상기 제1 객체의 이미지를 인코딩 하여 제1 입력 신호를 생성하는 단계;
상기 제1 입력 신호를 인공 신경망에 입력하고, 상기 제1 입력 신호에 대한 출력으로 제1 출력 신호를 획득하는 단계;
상기 제1 출력 신호에 기초하여, 상기 제1 객체의 표면에 대한 분류 결과를 생성하는 단계; 및
상기 제1 객체의 표면에 대한 분류 결과를 기반으로, 상기 제1 객체의 표면에 대한 텍스처를 상기 제1 재질로 설정하는 단계를 포함하는,
광대역 라이다 스캔 기반 이미지 정합을 통해 텍스처가 구현된 3D 스캔 데이터 생성 방법.
The method of claim 1,
Setting a texture for the surface of the first object comprises:
generating a first input signal by encoding the image of the first object;
inputting the first input signal to an artificial neural network, and obtaining a first output signal as an output of the first input signal;
generating a classification result for the surface of the first object based on the first output signal; and
Based on the classification result of the surface of the first object, comprising the step of setting a texture for the surface of the first object as the first material,
A method of generating textured 3D scan data through wideband lidar scan-based image registration.
KR1020220025791A 2022-02-28 2022-02-28 Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar KR102428941B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220025791A KR102428941B1 (en) 2022-02-28 2022-02-28 Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220025791A KR102428941B1 (en) 2022-02-28 2022-02-28 Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar

Publications (1)

Publication Number Publication Date
KR102428941B1 true KR102428941B1 (en) 2022-08-08

Family

ID=82845468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220025791A KR102428941B1 (en) 2022-02-28 2022-02-28 Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar

Country Status (1)

Country Link
KR (1) KR102428941B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100947406B1 (en) 2008-10-22 2010-03-15 서울대학교산학협력단 Simultaneous registration method of 3-dimensional scan data
KR101956009B1 (en) 2016-03-25 2019-03-08 가온소프트(주) Location Tracking System of the Patient using LiDAR
KR102056147B1 (en) 2016-12-09 2019-12-17 (주)엠아이테크 Registration method of distance data and 3D scan data for autonomous vehicle and method thereof
KR102261303B1 (en) * 2021-04-28 2021-06-07 주식회사 도로시 Method, device and system for analyzing particle size of dynamic aggregate using fusion technology between lidar and camera
KR102287891B1 (en) * 2021-04-02 2021-08-09 주식회사 도로시 Method, device and system for analyzing quality of aggregate based on artificial intelligence using fusion technology between lidar and camera
KR102310662B1 (en) 2021-01-18 2021-10-12 주식회사 에이치디엑스윌 Apparatus and method for 3-dimensional oral scan data registration using deep learning-based 3d key points detection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100947406B1 (en) 2008-10-22 2010-03-15 서울대학교산학협력단 Simultaneous registration method of 3-dimensional scan data
KR101956009B1 (en) 2016-03-25 2019-03-08 가온소프트(주) Location Tracking System of the Patient using LiDAR
KR102056147B1 (en) 2016-12-09 2019-12-17 (주)엠아이테크 Registration method of distance data and 3D scan data for autonomous vehicle and method thereof
KR102310662B1 (en) 2021-01-18 2021-10-12 주식회사 에이치디엑스윌 Apparatus and method for 3-dimensional oral scan data registration using deep learning-based 3d key points detection
KR102287891B1 (en) * 2021-04-02 2021-08-09 주식회사 도로시 Method, device and system for analyzing quality of aggregate based on artificial intelligence using fusion technology between lidar and camera
KR102261303B1 (en) * 2021-04-28 2021-06-07 주식회사 도로시 Method, device and system for analyzing particle size of dynamic aggregate using fusion technology between lidar and camera

Similar Documents

Publication Publication Date Title
EP3319016B1 (en) Control systems using deep reinforcement learning
US11205086B2 (en) Determining associations between objects and persons using machine learning models
US20220319154A1 (en) Neural network model update method, image processing method, and apparatus
CN108496127B (en) Efficient three-dimensional reconstruction focused on an object
JP2022501740A (en) Point cloud segmentation methods, computer programs and computer equipment
CN111738231B (en) Target object detection method and device, computer equipment and storage medium
Basly et al. CNN-SVM learning approach based human activity recognition
KR102548732B1 (en) Apparatus and Method for learning a neural network
US20180137395A1 (en) Recognition and training method and apparatus
US11741356B2 (en) Data processing apparatus by learning of neural network, data processing method by learning of neural network, and recording medium recording the data processing method
US11068747B2 (en) Computer architecture for object detection using point-wise labels
Gollapudi et al. Deep learning for computer vision
KR102299586B1 (en) Method, device and system for deriving building construction method based on artificial intelligence using big data of video taken with drone
KR102553041B1 (en) Method, device and system for providing matching platform service between user and interior supplier based on artificial intelligence model
US20220222934A1 (en) Neural network construction method and apparatus, and image processing method and apparatus
Passalis et al. Leveraging active perception for improving embedding-based deep face recognition
KR102299295B1 (en) Method, device and system for calculating maintenance estimate for building based on artificial intelligence using big data of video taken with drone
Dai et al. Camera view planning based on generative adversarial imitation learning in indoor active exploration
KR102426803B1 (en) Method, device and system for automatically uploading overseas sales page of product based on artificial intelligence
KR102428941B1 (en) Method, device and system for generating textured 3d scan data through image registration based on scanning of broadband lidar
JP7225731B2 (en) Imaging multivariable data sequences
KR102447426B1 (en) Method, device and system for recommending lifestyle guide information analyzing personal color and timeline based behavioral data for hyper personalization
Rekabdar et al. A scale and translation invariant approach for early classification of spatio-temporal patterns using spiking neural networks
KR102454452B1 (en) Method, device and system for processing reverse engineering of car body structure using 3d scan data
Udendhran et al. Enhancing representational learning for cloud robotic vision through explainable fuzzy convolutional autoencoder framework

Legal Events

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