KR102159236B1 - Terminal and method for surpporting 3d printing, computer program for performing the method - Google Patents

Terminal and method for surpporting 3d printing, computer program for performing the method Download PDF

Info

Publication number
KR102159236B1
KR102159236B1 KR1020160128319A KR20160128319A KR102159236B1 KR 102159236 B1 KR102159236 B1 KR 102159236B1 KR 1020160128319 A KR1020160128319 A KR 1020160128319A KR 20160128319 A KR20160128319 A KR 20160128319A KR 102159236 B1 KR102159236 B1 KR 102159236B1
Authority
KR
South Korea
Prior art keywords
model
product
printing
recognized
terminal
Prior art date
Application number
KR1020160128319A
Other languages
Korean (ko)
Other versions
KR20160121477A (en
Inventor
유병현
안상철
고희동
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020160128319A priority Critical patent/KR102159236B1/en
Publication of KR20160121477A publication Critical patent/KR20160121477A/en
Application granted granted Critical
Publication of KR102159236B1 publication Critical patent/KR102159236B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models

Abstract

3D 프린팅을 지원하는 방법은, 제품을 인식하는 단계; 인식된 제품과 관련된 웹 상에 존재하는 3D 모델을 검색하여 제공하는 단계; 인식된 제품 및 검색된 3D 모델의 정보를 기반으로, 인식된 제품 및 검색된 3D 모델 간의 적합성을 계산하여 시뮬레이션 하는 단계; 및 3D 모델을 생산하기 위해 3D 모델 정보를 3D 프린터에 전송하는 단계를 포함한다. 이에 따라, 다양한 분야의 DIY, 비즈니스 모델 등에 3D 프린팅 기술을 적극 활용할 수 있는 기술을 제시할 수 있다. A method of supporting 3D printing includes the steps of recognizing a product; Searching and providing a 3D model existing on the web related to the recognized product; Calculating and simulating suitability between the recognized product and the searched 3D model, based on the information of the recognized product and the searched 3D model; And transmitting the 3D model information to the 3D printer to produce the 3D model. Accordingly, it is possible to propose a technology that can actively utilize 3D printing technology for DIY and business models in various fields.

Description

3D 프린팅을 지원하는 단말기 및 방법, 그 방법을 수행하기 위한 컴퓨터 프로그램{TERMINAL AND METHOD FOR SURPPORTING 3D PRINTING, COMPUTER PROGRAM FOR PERFORMING THE METHOD}A terminal and method that supports 3D printing, and a computer program for performing the method {TERMINAL AND METHOD FOR SURPPORTING 3D PRINTING, COMPUTER PROGRAM FOR PERFORMING THE METHOD}

본 발명은 3D 프린팅을 지원하는 단말기 및 방법, 그 방법을 수행하기 위한 컴퓨터 프로그램에 관한 것으로서, 더욱 상세하게는 모바일 환경의 증강 현실을 이용한 3D 프린팅을 지원하는 단말기 및 방법, 그 방법을 수행하기 위한 컴퓨터 프로그램에 관한 것이다.The present invention relates to a terminal and method supporting 3D printing, and a computer program for performing the method, and more particularly, to a terminal and method supporting 3D printing using augmented reality in a mobile environment, and a method for performing the method. It's about computer programs.

최근, 3D 프린팅 기술은 제품 개발에 있어서 기념비적인 변화를 야기하고 있다. 오픈소스 하드웨어는 첨삭가공 기술과 함께 일반인들의 제품 설계/제작 대중화를 견인하는 제3의 산업혁명으로 주목 받고 있다. 과거 일방적인 소비자의 역할을 하던 사용자들은 3D 프린터를 이용하여, 새로운 용도의 제품이나 유지보수를 위한 부품을 직접 디자인하고 생산하고 있다. 또한, 무료로 사용할 수 있는 3D 프린터블 모델이 이미 12만 여 개를 넘어 비약적으로 증가하고 있다. 이와 같이 3D 프린터와 오픈소스 하드웨어의 보급에 따라 소비자에 의한 DIY(do it yourself)가 대중화되고 있다.Recently, 3D printing technology has caused a monumental change in product development. Open source hardware is attracting attention as a third industrial revolution leading the popularization of product design/production by the general public along with additive manufacturing technology. Users who played the role of unilateral consumers in the past use 3D printers to design and produce new products or parts for maintenance. In addition, the number of 3D printable models that can be used for free has already exceeded 120,000 and is increasing dramatically. As such, with the spread of 3D printers and open source hardware, do it yourself (DIY) by consumers is becoming popular.

또한, 웹은 오픈소스 소프트웨어에 대한 지식뿐만 아니라 오픈소스 하드웨어에 대한 지식을 공유하는 플랫폼의 역할을 해오고 있다. 정보의 공유와 더불어 공유경제의 가치에 대한 공감대의 형성은 3D 프린터의 대중화와 함께 실생활에서 사용할 수 있는 제품의 3차원 모델을 오픈소스 하드웨어로 공유하는 가치를 실현하고 있다. 이에 따라, 웹, 크라우드 소싱, 소셜 네트워크 및 공유경제 등의 공감대를 형성할 수 있다. In addition, the web has been playing a role of a platform for sharing knowledge about open source hardware as well as knowledge about open source software. The formation of a consensus on the value of the sharing economy along with information sharing is realizing the value of sharing 3D models of products that can be used in real life with open source hardware along with the popularization of 3D printers. Accordingly, it is possible to form a consensus for the web, crowd sourcing, social networks, and sharing economy.

한편, 스마트폰의 보급으로 종래의 워크스테이션에서 가능하던 작업이 손 안의 스마트폰에서 가능해졌다. 구글(Google)은 3D 카메라(깊이 카메라)를 장착한 스마트폰과 타블렛 컴퓨터의 프로토타입을 탱고(Tango) 프로젝트를 통하여 선보이고 있다. 이러한 변화는 증강현실 기술의 현실화를 앞당기고 있으며 모바일 단말기가 물체의 인식과 실세계에 대한 정보를 더욱 쉽고 빠르게 취득할 수 있게 한다. 또한, DIY를 위한 제품의 인식과 증강현실을 위한 6자유도 부품의 트래킹을 모바일 디바이스에서 실현할 수 있게 되었다.Meanwhile, with the spread of smartphones, tasks that were possible in conventional workstations have become possible with smartphones in the hand. Google is showing a prototype of a smartphone and tablet computer equipped with a 3D camera (depth camera) through the Tango project. These changes are accelerating the realization of augmented reality technology and enable mobile terminals to more easily and quickly acquire information about the real world and recognition of objects. In addition, it is possible to realize product recognition for DIY and tracking of 6-degree-of-freedom parts for augmented reality in mobile devices.

그러나, 3D 프린터의 대중화의 이면에는 생산적인 활용에 대한 문제가 남아있다. 프린터를 구입할 수 있는 소비자의 대다수는 프린터에 공급할 3D 모델을 생성할 모델링 과정의 기술적 이해에 대해 관심이 없으며 사용자 친화적 방법을 원한다. 따라서, 개개인의 수요에 맞는 개인화된 커스텀 제품에 대한 수요는 높아지고 있지만 이를 충족할 3차원 모델의 수급 방법이 필요한 실정이다.However, the problem of productive utilization remains behind the popularization of 3D printers. The majority of consumers who can buy a printer are not interested in the technical understanding of the modeling process that will generate the 3D model to feed the printer and want a user-friendly way. Therefore, the demand for personalized custom products that meet individual needs is increasing, but there is a need for a supply and demand method of a 3D model to meet the demand.

또한, 실생활에서 발생하는 간단한 DIY 수요의 대부분은 소비자가 보유한 제품의 유지보수 및 개조와 관련된 것들인데, 사용자의 의도에 맞는 DIY 부품을 제작하기 위해서는 대상 제품에 대한 물리적 정보에 따라 알맞은 DIY 부품을 제시하여 주는 간편한 서비스가 요구된다.In addition, most of the simple DIY demands that occur in real life are related to maintenance and remodeling of products owned by consumers. In order to produce DIY parts that suit the user's intention, appropriate DIY parts are presented according to the physical information of the target product. A simple service is required.

또한, 스마트 모바일 디바이스의 보급에 따라 터치패드나 타블렛을 위한 모델링 방법이 개발되어 왔으나, 소비자는 이러한 기술적 모델링 방법에 관심을 기울이지 않기 때문에, 모델링 자체를 해결해 주거나 이를 대체할 지식공유 방식의 대체설계 방법이 요구된다.In addition, with the spread of smart mobile devices, modeling methods for touch pads and tablets have been developed, but since consumers do not pay attention to these technical modeling methods, the alternative design method of the knowledge sharing method that solves the modeling itself or replaces it. Is required.

나아가, 3D 프린터의 대중화에도 불구하고 초기투자비용은 소비자의 3D 프린터에 대한 실제 사용을 방해하고 있다. 초기투자비용이 없는 생산 방법 제공으로 손쉬운 DIY를 유도하기 위해, 적은 비용으로 쉽게 이용할 수 있는 서비스 형태의 3D 프린팅 환경 조성이 요구된다.Furthermore, despite the popularization of 3D printers, the initial investment cost hinders the actual use of 3D printers by consumers. In order to induce easy DIY by providing a production method without initial investment cost, it is required to create a 3D printing environment in the form of a service that can be easily used at a low cost.

이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 사용자가 쉽고 편리하게 사용할 수 있는 3D 프린팅을 지원하는 단말기를 제공하는 것이다.Accordingly, the technical problem of the present invention is conceived in this respect, and an object of the present invention is to provide a terminal supporting 3D printing that a user can easily and conveniently use.

본 발명의 다른 목적은 사용자가 쉽고 편리하게 사용할 수 있는 3D 프린팅을 지원하는 방법을 제공하는 것이다.Another object of the present invention is to provide a method for supporting 3D printing that a user can use easily and conveniently.

본 발명의 또 다른 목적은 하드웨어와 결합되어 상기 3D 프린팅을 지원하는 방법을 수행하기 위하여 기록 매체에 저장된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program stored in a recording medium in order to perform the method of supporting 3D printing in combination with hardware.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 3D 프린팅을 지원하는 단말기는, 제품을 인식하는 제품 인식부; 인식된 제품과 관련된 웹 상에 존재하는 3D 모델을 검색하여 제공하는 웹 자원 활용부; 상기 인식된 제품 및 검색된 3D 모델의 정보를 기반으로, 상기 인식된 제품 및 상기 검색된 3D 모델 간의 적합성을 계산하여 시뮬레이션 하는 적합도 계산부; 상기 3D 모델을 생산하기 위해 상기 3D 모델 정보를 3D 프린터에 전송하는 전송부; 및 상기 인식된 제품, 상기 검색된 3D 모델 및 상기 시뮬레이션 결과를 표시하는 표시부를 포함한다.A terminal supporting 3D printing according to an embodiment for realizing the object of the present invention includes: a product recognition unit for recognizing a product; A web resource utilization unit that searches and provides 3D models existing on the web related to the recognized product; A suitability calculation unit that calculates and simulates a suitability between the recognized product and the searched 3D model based on the information of the recognized product and the searched 3D model; A transmission unit for transmitting the 3D model information to a 3D printer to produce the 3D model; And a display unit displaying the recognized product, the searched 3D model, and the simulation result.

본 발명의 실시예에서, 상기 3D 프린팅을 지원하는 단말기는, 깊이 카메라를 이용하여, 상기 인식된 제품 및 상기 검색된 3D 모델을 증강현실로 표시하는 증강현실 가시화부를 더 포함할 수 있다.In an embodiment of the present invention, the terminal supporting 3D printing may further include an augmented reality visualization unit that displays the recognized product and the searched 3D model in augmented reality using a depth camera.

본 발명의 실시예에서, 상기 깊이 카메라는, 상기 단말기에 통합되어 형성되어 있거나, 또는 상기 단말기와 별도로 형성될 수 있다.In an embodiment of the present invention, the depth camera may be formed integrally with the terminal or may be formed separately from the terminal.

본 발명의 실시예에서, 상기 증강현실 가시화부는, 상기 검색된 3D 모델을 다운로드 하는 다운로드부; 상기 검색된 3D 모델을 3차원으로 분석하는 3차원 뷰어부; 및 상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 증강현실 제어부를 포함할 수 있다.In an embodiment of the present invention, the augmented reality visualization unit includes: a download unit for downloading the searched 3D model; A 3D viewer for analyzing the searched 3D model in 3D; And an augmented reality controller that provides the 3D model together with the searched product as augmented reality.

본 발명의 실시예에서, 상기 증강현실 제어부는, 상기 깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거하는 전처리부; 상기 컬러-깊이 영상으로부터 전경을 추출하는 제품 검출부; 및 상기 제품과 상기 3D 모델의 포즈를 추정하는 포즈 분석부를 포함할 수 있다.In an embodiment of the present invention, the augmented reality control unit includes: a preprocessor for removing noise from a color-depth image provided by the depth camera; A product detection unit extracting a foreground from the color-depth image; And a pose analysis unit that estimates a pose of the product and the 3D model.

본 발명의 실시예에서, 상기 제품 인식부는, 상기 단말기의 카메라를 이용하여 상기 제품의 바코드를 인식하거나 또는 제품의 영상으로부터 제품을 인식할 수 있다.In an embodiment of the present invention, the product recognition unit may recognize a barcode of the product using the camera of the terminal or recognize a product from an image of the product.

본 발명의 실시예에서, 상기 전송부는, 상기 3D 모델 정보를 로컬 3D 프린터로 전송하거나, 또는 클라우드 3D 프린팅 대행 업체로 전송할 수 있다.In an embodiment of the present invention, the transmission unit may transmit the 3D model information to a local 3D printer or to a cloud 3D printing agency.

본 발명의 실시예에서, 상기 표시부는, 3D 프린팅을 지원하기 위한 사용자 인터페이스를 제공할 수 있다.In an embodiment of the present invention, the display unit may provide a user interface for supporting 3D printing.

상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 제품을 인식하는 단계; 인식된 제품과 관련된 웹 상에 존재하는 3D 모델을 검색하여 제공하는 단계; 상기 인식된 제품 및 검색된 3D 모델의 정보를 기반으로, 상기 인식된 제품 및 상기 검색된 3D 모델 간의 적합성을 계산하여 시뮬레이션 하는 단계; 및 상기 3D 모델을 생산하기 위해 상기 3D 모델 정보를 3D 프린터에 전송하는 단계를 포함한다.A method of supporting 3D printing using a terminal according to an embodiment for realizing another object of the present invention described above includes the steps of recognizing a product; Searching and providing a 3D model existing on the web related to the recognized product; Calculating and simulating a suitability between the recognized product and the searched 3D model based on the information of the recognized product and the searched 3D model; And transmitting the 3D model information to a 3D printer to produce the 3D model.

본 발명의 실시예에서, 상기 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 상기 인식된 제품 및 상기 검색된 3D 모델을 증강현실로 표시하는 단계를 더 포함할 수 있다.In an embodiment of the present invention, the method of supporting 3D printing using the terminal may further include displaying the recognized product and the searched 3D model in augmented reality.

본 발명의 실시예에서, 상기 인식된 제품 및 상기 검색된 3D 모델을 증강현실로 표시하는 단계는, 상기 검색된 3D 모델을 다운로드 하는 단계; 상기 검색된 3D 모델을 3차원으로 분석하는 단계; 및 상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 단계를 포함할 수 있다.In an embodiment of the present invention, displaying the recognized product and the searched 3D model in augmented reality may include downloading the searched 3D model; Analyzing the searched 3D model in three dimensions; And providing the 3D model together with the searched product in augmented reality.

본 발명의 실시예에서, 상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 단계는, 깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거하는 단계; 상기 컬러-깊이 영상으로부터 전경을 추출하는 단계; 및 상기 제품과 상기 3D 모델의 포즈를 추정하는 단계를 포함할 수 있다.In an embodiment of the present invention, the providing of the 3D model together with the searched product as augmented reality may include removing noise from a color-depth image provided by a depth camera; Extracting a foreground from the color-depth image; And estimating a pose of the product and the 3D model.

본 발명의 실시예에서, 상기 제품을 인식하는 단계는, 상기 단말기의 카메라를 이용하여 상기 제품의 바코드를 인식하거나, 또는 제품의 영상으로부터 제품을 인식할 수 있다.In an embodiment of the present invention, in the step of recognizing the product, the barcode of the product may be recognized using the camera of the terminal, or the product may be recognized from an image of the product.

본 발명의 실시예에서, 상기 3D 모델 정보를 3D 프린터에 전송하는 단계는, 상기 3D 모델 정보를 로컬 3D 프린터로 전송하거나, 또는 클라우드 3D 프린팅 대행 업체로 전송할 수 있다.In an embodiment of the present invention, the step of transmitting the 3D model information to a 3D printer may transmit the 3D model information to a local 3D printer or to a cloud 3D printing agency.

본 발명의 실시예에서, 상기 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 3D 프린팅을 지원하기 위한 인터페이스를 제공하는 단계를 더 포함할 수 있다.In an embodiment of the present invention, the method of supporting 3D printing using the terminal may further include providing an interface for supporting 3D printing.

상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 기록 매체에 저장된 컴퓨터 프로그램은, 단말기를 이용하여 3D 프린팅을 지원하는 방법을 수행할 수 있다. A computer program stored in a recording medium according to an embodiment for realizing another object of the present invention may perform a method of supporting 3D printing by using a terminal.

이와 같은 3D 프린팅을 지원하는 단말기 및 방법, 그 방법을 수행하기 위한 컴퓨터 프로그램에 따르면, DIY 시장의 당면 과제를 해결할 수 있는 방법론을 제시함으로써 3D 프린터를 이용한 DIY의 현실화 가능성을 제시하며, 모바일 장치의 카메라 영상을 이용한 제품인식 기술과 깊이 카메라를 이용한 부품인식기술 및 3차원 프린터블 모델을 실시간으로 증강할 수 있는 6자유도 트래킹(tracking)기술을 제시한다. According to the terminal and method that supports such 3D printing, and a computer program for performing the method, by presenting a methodology that can solve the challenges in the DIY market, it presents the possibility of realizing DIY using a 3D printer. We present product recognition technology using camera images, parts recognition technology using depth cameras, and 6 degree of freedom tracking technology that can augment 3D printable models in real time.

이를 통하여 제품인식 및 증강현실, 그리고 3D 프린팅을 연계한 통합 DIY 유지보수가 가능하며, 소비자가 일상생활에서 사용하는 제품군에 적용할 수 있고, 오픈소스 하드웨어 지식 공유의 가치와 증강현실과 3D 프린팅 기술의 시너지를 통해 실용적이며 사업화가 가능하다. Through this, integrated DIY maintenance that connects product recognition, augmented reality, and 3D printing is possible, and it can be applied to a product family used by consumers in daily life, and the value of sharing open source hardware knowledge and augmented reality and 3D printing technology It is practical and can be commercialized through synergy.

또한, 본 발명은 에프터 서비스의 공백을 대체하여 제품 생애주기의 연장뿐 아니라 타 제조사 사이의 기능 공유 등과 같은 부가서비스 발굴을 위한 플랫폼의 역할을 수행할 수 있다.In addition, the present invention can serve as a platform for discovering additional services, such as extending the product life cycle by replacing the gap in the after-sales service, as well as sharing functions among other manufacturers.

도 1은 본 발명의 일 실시예에 따른 3D 프린팅을 지원하는 단말기의 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 3D 프린팅을 지원하는 단말기의 블록도이다.
도 3은 도 2의 증강현실 가시화부의 상세 블록도이다.
도 4는 도 3의 증강현실 제어부의 상세 블록도이다.
도 5는 도 3의 증강현실 제어부에 따른 깊이 영상 및 3D 모델의 영상들의 예시이다.
도 6은 본 발명의 3D 프린팅을 지원하는 시스템의 한 실시예를 나타내는 구성도이다.
도 7은 본 발명의 일 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법을 설명하는 흐름도이다.
도 8은 도 7의 증강현실 표시 단계를 상세하게 설명하는 흐름도이다.
도 9는 본 발명에 따른 3D 프린팅을 지원하는 방법을 구현하기 위해 제공되는 사용자 인터페이스의 메뉴 구성을 순서대로 보여준다.
1 is a block diagram of a terminal supporting 3D printing according to an embodiment of the present invention.
2 is a block diagram of a terminal supporting 3D printing according to another embodiment of the present invention.
3 is a detailed block diagram of the augmented reality visualization unit of FIG. 2.
4 is a detailed block diagram of the augmented reality control unit of FIG. 3.
5 is an example of a depth image and images of a 3D model according to the augmented reality controller of FIG. 3.
6 is a block diagram showing an embodiment of a system supporting 3D printing of the present invention.
7 is a flowchart illustrating a method of supporting 3D printing using a terminal according to an embodiment of the present invention.
8 is a flowchart illustrating in detail the augmented reality display step of FIG. 7.
9 is a sequence diagram illustrating a menu configuration of a user interface provided to implement a method for supporting 3D printing according to the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE INVENTION The detailed description of the present invention to be described below refers to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. These embodiments are described in detail sufficient to enable a person skilled in the art to practice the present invention. It is to be understood that the various embodiments of the present invention are different from each other but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention in relation to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description to be described below is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scopes equivalent to those claimed by the claims. Like reference numerals in the drawings refer to the same or similar functions over several aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 3D 프린팅을 지원하는 단말기의 블록도이다. 도 2는 본 발명의 다른 실시예에 따른 3D 프린팅을 지원하는 단말기의 블록도이다.1 is a block diagram of a terminal supporting 3D printing according to an embodiment of the present invention. 2 is a block diagram of a terminal supporting 3D printing according to another embodiment of the present invention.

상기 3D 프린팅을 지원하는 단말기(10, 이하 단말기)는 스마트폰, 휴대전화, 타블렛 컴퓨터, 넷북, 피디에이(PDA), 피엠피(PMP), 웨어러블 컴퓨터(wearable computer) 등 다양한 형태의 모바일(mobile) 장치를 모두 포함할 수 있다. 또한, 상기 단말기(10)는 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), MT(mobile terminal), UT(user terminal), SS(subscriber station), 무선기기(wireless device), PDA(personal digital assistant), 무선 모뎀(wireless modem), 휴대기기(handheld device), 웨어러블 기기(wearable device) 등 다른 용어로 불릴 수 있다. The terminals (10, hereinafter referred to as terminals) supporting 3D printing are various types of mobile devices such as smartphones, mobile phones, tablet computers, netbooks, PDAs, PMPs, and wearable computers. Can include all. In addition, the terminal 10 includes a device, an apparatus, a terminal, a user equipment (UE), a mobile station (MS), a mobile terminal (MT), a user terminal (UT), and a subscriber (SS). station), a wireless device, a personal digital assistant (PDA), a wireless modem, a handheld device, and a wearable device.

또한, 상기 단말기(10)는 운영체제(Operation System; OS)를 기반으로 다양한 응용 프로그램을 실행할 수 있다. 상기 운영체제는 응용 프로그램이 컴퓨터의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, iOS, 안드로이드 OS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 단말기에 탑재할 수 있는 운영체제를 모두 포함할 수 있다.In addition, the terminal 10 may execute various application programs based on an operating system (OS). The operating system is a system program for allowing an application program to use the hardware of a computer, and includes all operating systems that can be mounted on mobile terminals such as iOS, Android OS, Windows Mobile OS, Bada OS, Symbian OS, and Blackberry OS. I can.

상기 응용 프로그램은 컴퓨터를 이용하여 특정한 작업을 수행할 수 있도록 개발된 프로그램으로서, 각종 어플리케이션뿐 아니라 게임, 동영상, 사진 등의 각종 멀티미디어 컨텐츠(contents) 또는 상기 멀티미디어 컨텐츠를 실행하는 이미지 뷰어, 동영상 재생기 등의 실행 프로그램을 모두 포함할 수 있다.The application program is a program developed to perform a specific task using a computer, as well as various applications, various multimedia contents such as games, videos, and photos, or an image viewer that executes the multimedia contents, a video player, etc. It can contain all of the executable programs.

그러나, 이와 다르게 상기 단말기(10)는 고정된 데스크 탑 컴퓨터, 모니터, 스마트 TV, 서버(server) 또는 엔진(engine)의 형태일 수 있다. However, differently, the terminal 10 may be in the form of a fixed desktop computer, a monitor, a smart TV, a server, or an engine.

도 1을 참조하면, 본 발명에 따른 상기 단말기(10)는 대상 제품을 자동으로 인식하고, 프린트 가능한 모델을 검색 및 추천하여 적합도를 평가하고, 증강현실로 시뮬레이션 하여 원클릭으로 3D 프린팅 주문까지 가능하다. 이를 위해, 상기 단말기(10)는 제품 인식부(110), 웹 자원 활용부(130), 적합도 계산부(150), 전송부(190) 및 표시부(200)를 포함한다. 본 발명의 다른 실시예로서, 도 2를 참조하면, 증강현실 가시화부(170)를 더 포함할 수 있다.Referring to FIG. 1, the terminal 10 according to the present invention automatically recognizes a target product, searches for and recommends a printable model, evaluates suitability, and simulates with augmented reality, enabling 3D printing orders with one click. Do. To this end, the terminal 10 includes a product recognition unit 110, a web resource utilization unit 130, a suitability calculation unit 150, a transmission unit 190, and a display unit 200. As another embodiment of the present invention, referring to FIG. 2, an augmented reality visualization unit 170 may be further included.

본 발명의 상기 단말기(10)에는 3D 프린팅을 지원하는 소프트웨어(어플리케이션)가 설치되어 실행될 수 있으며, 상기 제품 인식부(110) 등의 구성은 상기 단말기(10)에서 실행되는 상기 3D 프린팅을 지원하는 소프트웨어에 의해 제어될 수 있다. 또한, 상기 제품 인식부(110) 등의 구성은 하나의 모듈로 통합되어 형성될 수 있고, 이와 다르게 각각 별개의 모듈로 형성될 수도 있다.Software (application) supporting 3D printing may be installed and executed in the terminal 10 of the present invention, and the configuration of the product recognition unit 110 and the like is configured to support the 3D printing executed in the terminal 10. It can be controlled by software. In addition, the configuration of the product recognition unit 110 and the like may be formed by being integrated into one module, or differently, may be formed as separate modules.

상기 표시부(200)는 상기 단말기(10)에서 진행되는 3D 프린팅 소프트웨어가 진행되는 일련의 과정을 표시하며, 이와 관계된 입력 메뉴, 선택 메뉴, 부가 메뉴 등을 포함하는 사용자 인터페이스를 제공한다.The display unit 200 displays a series of processes in which 3D printing software is performed in the terminal 10, and provides a user interface including an input menu, a selection menu, and an additional menu related thereto.

상기 표시부(200)는 액정 디스플레이(Liquid Crystal Display; LCD) 패널, 플라즈마 디스플레이 패널(Plasma Display Panel; PDP), 유기발광 다이오드(Organic Light-Emitting Diode; OLED) 디스플레이 패널, 안경형 표시장치 등을 모두 포함할 수 있다. 또한, 모바일 패드, 스마트 폰, 웨어러블 컴퓨터 등 모바일 디스플레이 장치일 수도 있다.The display unit 200 includes all of a liquid crystal display (LCD) panel, a plasma display panel (PDP), an organic light-emitting diode (OLED) display panel, a glasses-type display device, etc. can do. In addition, it may be a mobile display device such as a mobile pad, a smart phone, or a wearable computer.

일 실시예에서, 사용자의 입력을 가능하게 하는 사용자 인터페이스는 터치 스크린 기능이 포함된 상기 표시부(200) 상에 제공될 수 있다. 이에 따라, 사용자는 상기 표시부(200)에 표시된 영상 상에 직접 손이나 전자펜을 이용하여 입력할 수 있다. 또한, 상기 표시부(200)에는 키패드, 키보드, 마우스, 조이스틱, 터치 패드, 버튼 등과 같은 다양한 입력 수단이 구현될 수 있다.In an embodiment, a user interface that enables a user's input may be provided on the display unit 200 including a touch screen function. Accordingly, the user may directly input on the image displayed on the display unit 200 using a hand or an electronic pen. In addition, various input means such as a keypad, a keyboard, a mouse, a joystick, a touch pad, and a button may be implemented on the display unit 200.

상기 제품 인식부(110)는 사용자가 요청하는 제품을 인식한다. 상기 제품 인식부(110)는 상기 단말기(10)가 포함하는 기능을 활용하여 다양한 방법으로 제품을 인식할 수 있다. The product recognition unit 110 recognizes a product requested by a user. The product recognition unit 110 may recognize a product in various ways by using a function included in the terminal 10.

예를 들어, 상기 제품 인식부(110)는 상기 단말기(10)가 포함하는 카메라를 이용하여 상기 제품에 부착된 바코드를 통하여 제품을 인식할 수 있다. 현재 유통되고 있는 대부분의 제품은 산업계에서 통용되고 있는 바코드 체계를 통해 제품정보를 인식할 수 있다. For example, the product recognition unit 110 may recognize a product through a barcode attached to the product using a camera included in the terminal 10. Most of the products currently in circulation can recognize product information through the barcode system used in the industry.

상기 제품 인식부(110)는 상기 단말기(10)의 카메라로부터 바코드를 인식하고, 인식된 바코드를 Product DB 서버와 연동하여 해당 제품의 정확한 제품명을 얻을 수 있다. 바코드에 대한 제품명은 Google API, Amazon API, SearchUPC 등의 웹 API를 통해 방대한 양의 제품정보를 매쉬업하여 데이터베이스를 구축할 수 있다. The product recognition unit 110 may recognize a barcode from the camera of the terminal 10 and obtain an accurate product name of a corresponding product by interlocking the recognized barcode with a Product DB server. Product names for barcodes can be constructed by mashing up vast amounts of product information through web APIs such as Google API, Amazon API, and SearchUPC.

다른 예로써, 카메라에 의한 영상에서 제품명을 직접 획득할 수도 있다. 또는, 사용자가 상기 단말기(10)에 직접 제품의 고유 번호나 제품명 등을 입력하여 상기 제품 인식부(110)가 제품을 인식하도록 할 수도 있다. 또 다른 예로써, 상기 제품 인식부(110)는 상기 단말기(10)의 카메라로부터 제품의 이미지 또는 형상정보를 직접 인식하여 제품 정보를 인식할 수도 있다.As another example, a product name may be directly acquired from an image by a camera. Alternatively, the user may directly input a product's unique number or product name into the terminal 10 to allow the product recognition unit 110 to recognize the product. As another example, the product recognition unit 110 may recognize product information by directly recognizing image or shape information of a product from the camera of the terminal 10.

또한, 상기 제품 인식부(110)는 Product DB 내의 제품명을 키워드로 이용하여 인식된 제품의 프린트 가능한 3D 모델들을 검색하여 아이템 리스트(Item List)를 상기 표시부(200)에 표시할 수 있다. 이를 통해, 사용자는 검색 히스토리 및 검색 결과를 쉽게 확인할 수 있다.In addition, the product recognition unit 110 may search for printable 3D models of the recognized product by using the product name in the product DB as a keyword, and display an item list on the display unit 200. Through this, the user can easily check the search history and search results.

상기 웹 자원 활용부(130)는 인식된 제품과 관련된 웹 상에 존재하는 3D 모델을 검색하여 제공한다. 다시 말해, 상기 제품 인식부(110)에서 획득한 제품명을 이용하여 제품과 관련하여 3D 프린트가 가능한 모델들을 웹 자원으로부터 수집한다.The web resource utilization unit 130 searches for and provides a 3D model existing on the web related to the recognized product. In other words, by using the product name acquired by the product recognition unit 110, models capable of 3D printing related to the product are collected from web resources.

상기 웹 자원 활용부(130)는 웹 상에 존재하는 3D 모델 자원을 활용함과 동시에 부가적인 서비스를 사용자에게 제공하기 위해 프록시 서버를 제공할 수 있다. 예를 들어, Thingiverse, Yeggi 등과 같은 3D 프린터블 모델의 warehouse 검색을 통하여 현재 존재하는 약 12만 여 개의 모델 중 사용자가 요청하는 제품과 관련된 3D 모델들에 대한 정보를 제공할 수 있다. The web resource utilization unit 130 may provide a proxy server to provide additional services to users while utilizing 3D model resources existing on the web. For example, through a warehouse search of 3D printable models such as Thingiverse and Yeggi, it is possible to provide information on 3D models related to a product requested by a user among about 120,000 models that currently exist.

이 경우, 사용자가 검색한 검색어에 대한 결과를 프록시 서버에 저장하고, 검색 결과에 포함된 이미지와 STL 파일을 미리 캐싱하여 사용자의 대기 시간을 줄여줄 수 있다. 또한, 상기 웹 자원 활용부(130)에서 필요한 정보만 간추려 제공해 오버로드를 줄일 수 있다.In this case, the user's waiting time may be reduced by storing the result of the search word searched by the user in the proxy server, and caching the image and the STL file included in the search result in advance. In addition, the web resource utilization unit 130 provides only necessary information briefly to reduce overload.

또한, 상기 웹 자원 활용부(130)는 웹 상에 존재하는 제품의 인식 정보를 제공할 수 있다. 다시 말해, 상기 제품 인식부(110)가 제품을 인식하는데 필요한 제품 고유의 정보를 웹 상에 존재하는 정보로부터 수집하여 제공할 수 있다.In addition, the web resource utilization unit 130 may provide recognition information of a product existing on the web. In other words, the product recognition unit 110 may collect and provide product-specific information necessary for recognizing a product from information existing on the web.

상기 적합도 계산부(150)는 상기 인식된 제품 및 검색된 3D 모델의 정보를 기반으로, 상기 인식된 제품 및 상기 검색된 3D 모델 간의 적합성을 계산하여 시뮬레이션 한다. 이에 따라, 사용자는 프린트할 3D 모델이 DIY를 하고자 하는 제품과 호환성을 어느 정도 갖고 있는지 여부를 판단해주는 부가적인 서비스를 제공받을 수 있다. The suitability calculation unit 150 calculates and simulates the suitability between the recognized product and the searched 3D model based on the information of the recognized product and the searched 3D model. Accordingly, the user may be provided with an additional service that determines whether or not the 3D model to be printed has compatibility with the product to be DIY.

제품과 3D 모델 간의 적합성은 제품과 3D 모델의 형상 정보를 기반으로 조립이 가능한지 판단하는 과정으로 이루어진다. 적합성 판단 결과는 프록시 서버로 전달되어 프린트할 3D 모델의 호환성을, 예를 들어, 좋음, 보통, 나쁨의 3가지 상태로 반환하여 사용자에게 제공할 수 있다. 프록시 서버는 반환된 호환성 판단 결과를 우수한 정도에 따라 정렬하여 인식된 제품에 따른 결과를 아래의 표 1의 경량 데이터 교환 형식인 JSON(JavaScript Object Notation) 형태로 반환할 수 있다.The suitability between the product and the 3D model consists of determining whether assembly is possible based on the shape information of the product and the 3D model. The suitability determination result is transmitted to the proxy server, and the compatibility of the 3D model to be printed can be returned to the user in three states, for example, good, normal, and bad. The proxy server may sort the returned compatibility determination result according to the degree of superiority, and return the result according to the recognized product in the form of JSON (JavaScript Object Notation), a lightweight data exchange format shown in Table 1 below.

Field 명Field name Field 설명Field description TitleTitle 제목title DescDesc 상세 설명detailed description ThumbThumb 썸네일 이미지Thumbnail image LikeLike 다른 사용자가 해당 3D 모델을 선호한
횟수
Other users have preferred the 3D model
Count
CollectCollect 업로드한 사용자가 담아두기 위한 다른
3D 모델 collection
Other uploaded users
3D model collection
FitFit 적합성 평가도Conformity evaluation diagram TargetTarget 타겟에 대한 정보Information about the target URLURL 3D 모델 정보를 받아온 URLURL to receive 3D model information FeasibilityFeasibility 업로드한 3D 모델 파일의 실행 가능 여부Whether the uploaded 3D model file can be executed IDID 업로드한 파일의 IDID of the uploaded file ImageImage 업로드한 사진Uploaded photo File_nameFile_name 업로드한 3D 모델 파일명Uploaded 3D model file name ModelModel 업로드한 3D 모델 파일Uploaded 3D model file FilesizeFilesize 업로드한 3D 모델 파일
크기
Uploaded 3D model file
size

상기 증강현실 가시화부(170)는 깊이 카메라를 이용하여, 상기 제품 인식부(110)에서 인식된 제품 및 상기 웹 자원 활용부(130)에서 검색된 3D 모델을 증강현실로 표시한다. 상기 증강현실 가시화부(170)는 해당 제품에 대해 선별된 3D 모델로부터 최종 모델의 선택을 돕기 위해, 증강현실을 이용하여 사용자의 제품과 3D 프린터블 모델을 함께 가시화한다. 이에 따라, 사용자는 선별된 3D 모델의 정보를 효율적으로 취득할 수 있게 된다.The augmented reality visualization unit 170 displays a product recognized by the product recognition unit 110 and a 3D model searched by the web resource utilization unit 130 as augmented reality using a depth camera. The augmented reality visualization unit 170 visualizes a user's product and a 3D printable model together using augmented reality to help select a final model from the 3D model selected for the product. Accordingly, the user can efficiently acquire information on the selected 3D model.

이를 위해, 도 3을 참조하면, 상기 검색된 3D 모델을 다운로드 하는 다운로드부(171), 상기 검색된 3D 모델을 3차원으로 분석하는 3차원 뷰어부(173) 및 상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 증강현실 제어부(175)를 포함한다.To this end, referring to FIG. 3, a download unit 171 for downloading the searched 3D model, a 3D viewer unit 173 for analyzing the searched 3D model in three dimensions, and augmenting the 3D model together with the searched product It includes an augmented reality control unit 175 that provides reality.

상기 다운로드부(171)는 3D 프린터 표준 파일 형식인 STL 파일을 포함한 3D 모델 파일을 웹 URL을 통해 실시간으로 로드 할 수 있다. STL 파일 로더는 바이너리 방식과 아스키 방식 모두를 지원하고, 로드된 파일 정보를 이용하여 3차원으로 랜더링 할 수 있다.The download unit 171 may load a 3D model file including an STL file, which is a 3D printer standard file format, in real time through a web URL. STL file loader supports both binary method and ASCII method, and can render in 3D using loaded file information.

상기 3차원 뷰어부(173)는 깊이 카메라를 이용하여 컬러와 깊이를 동시에 활용 가능한 3차원 영상을 분석한다. 상기 증강현실 제어부(175)는 프린팅 될 3D 모델을 제품과 함께 증강현실로 사용자에게 보여줌으로써 제품과의 적합도 및 적용 방법에 대한 정보를 제공한다. 이는 3D 프린팅 결과물로부터 발생할 수 있는 예측 가능한 문제들을 미리 고려하여 최종 3D 모델을 선택할 수 있도록 한다.The 3D viewer unit 173 analyzes a 3D image capable of simultaneously utilizing color and depth using a depth camera. The augmented reality control unit 175 provides information on a suitability with a product and an application method by showing the 3D model to be printed together with the product in augmented reality to the user. This makes it possible to select a final 3D model by considering predictable problems that may arise from the 3D printing result in advance.

상기 3차원 뷰어부(173) 및 상기 증강현실 제어부(175)는 깊이 카메라의 컬러-깊이(RGB-D) 영상을 사용한다. 상기 3차원 뷰어부(173)는 상기 증강현실 제어부(175)를 통해 원 제품과 함께 프린팅 되어 제품에 체결될 3D 모델을 증강하기 위하여 상기 단말기(10)에 장착된 컬러-깊이(RGB-D) 카메라를 이용할 수 있다. 상기 깊이 카메라는 적외선을 통해 제품의 3차원 기하학 정보를 취득하는 기능을 한다. The 3D viewer unit 173 and the augmented reality controller 175 use a color-depth (RGB-D) image of a depth camera. The 3D viewer unit 173 is a color-depth (RGB-D) mounted on the terminal 10 to augment a 3D model to be printed with the original product through the augmented reality control unit 175 to augment the product. You can use a camera. The depth camera functions to acquire 3D geometric information of a product through infrared rays.

이러한 깊이 카메라는 상기 단말기(10)에 통합되어 형성되거나, 상기 단말기(10)와 별도로 형성될 수 있다. 상기 깊이 카메라가 상기 단말기(10)와 별도의 모듈 또는 장치로 형성되는 경우, 양자간에 유선 또는 무선 통신으로 영상을 송수신 할 수 있다. Such a depth camera may be formed integrally with the terminal 10 or may be formed separately from the terminal 10. When the depth camera is formed as a separate module or device from the terminal 10, an image can be transmitted and received through wired or wireless communication between both.

이와 다르게, 컬러-깊이 카메라는 상기 단말기(10)에 독립적으로 장착되어 별도의 연결 없이 간편하게 사용할 수 있다. 이러한 컬러-깊이 카메라 기기를 기반으로 하는 본 발명은 종래의 카메라 기반 시스템과 비교하여 다음과 같은 장점을 갖는다.In contrast, the color-depth camera is independently mounted on the terminal 10 and can be used conveniently without a separate connection. The present invention based on such a color-depth camera device has the following advantages compared to a conventional camera-based system.

첫째, 종래의 전통적인 컴퓨터 비전에서 3차원 정보 추정은 하나 이상의 2차원 컬러 영상으로부터 복잡한 일련의 과정(특징 추출 및 매칭, 강체/비강체 변환)을 거쳐야 하지만, 본 발명과 같이 깊이 카메라를 사용할 경우, 별도의 처리 없이 실시간으로 3차원 정보를 취득하므로 3차원 분석에 용이하다.First, in conventional computer vision, three-dimensional information estimation has to go through a complex series of processes (feature extraction and matching, rigid body/non-rigid body conversion) from one or more two-dimensional color images, but when using a depth camera as in the present invention, It is easy for 3D analysis because 3D information is acquired in real time without separate processing.

둘째, 본 발명은 모바일 단말기에 장착된 카메라를 이용하기 때문에 종래의 데스크 탑 용 카메라 기반 시스템과 달리 이동성에 제약이 없다. 또한, 입력된 데이터에 대한 입출력 처리가 모바일 기기에서 독립적으로 동작하기 때문에 별도의 처리 없이 실시간으로 3차원 데이터 분석의 결과를 확인할 수 있다.Second, since the present invention uses a camera mounted on a mobile terminal, there is no restriction in mobility unlike a conventional desktop camera-based system. In addition, since input/output processing for input data is independently operated in the mobile device, the result of 3D data analysis can be checked in real time without any separate processing.

셋째, 종래의 컬러-깊이 영상의 응용 3D 스캔 및 3D 모델 복원(reconstruction) 사례들은 대부분 고수준의 하드웨어 리소스를 활용한 피사체의 표면 스캐닝과 같은 3차원 CAD 모델링이 대부분이다. 본 발명은 컬러-깊이를 반영한 증강현실 기술을 통해 3D 모델을 3D 프린트 전에 미리 확인 가능한 새로운 형태의 프로덕션 모델이다.Third, most of the conventional 3D scan and 3D model reconstruction cases applied to color-depth images are 3D CAD modeling such as surface scanning of a subject using high-level hardware resources. The present invention is a new type of production model that enables a 3D model to be checked before 3D printing through an augmented reality technology reflecting color-depth.

도 4 및 도 5를 참조하면, 상기 증강현실 제어부(175)는 제품과 이에 적절한 3D 모델을 증강하여 사용자에게 실시간으로 제공 하기 위해 전처리부(1751), 제품 검출부(1753) 및 포즈 분석부(1755)를 포함한다.4 and 5, the augmented reality control unit 175 augments a product and a 3D model appropriate thereto and provides a pre-processing unit 1751, a product detection unit 1753, and a pose analysis unit 1755 to the user in real time. ).

상기 전처리부(1751)는 상기 깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거한다. 입력된 컬러-깊이 영상에 대한 노이즈 제거 및 영상 개선 등을 통해 이후 제품 검출 및 포즈 분석 단계에서 개선된 결과를 얻기 위한 전처리를 수행한다. 이를 위해 스무딩, 홀 필링(hole filling) 연산을 통해 개선된 데이터를 생성할 수 있다. The preprocessor 1751 removes noise from a color-depth image provided by the depth camera. Preprocessing is performed to obtain improved results in the subsequent product detection and pose analysis steps through noise removal and image improvement for the input color-depth image. To this end, improved data may be generated through smoothing and hole filling operations.

도 5(a)는 제품의 깊이 영상의 예시이고, 도 5(b)는 제품의 컬러 영상의 예시이다. 도 5(c)는 도 5(a)로부터 전처리된 깊이 영상을 보여준다. 5(a) is an example of a depth image of a product, and FIG. 5(b) is an example of a color image of a product. 5(c) shows the depth image preprocessed from FIG. 5(a).

상기 제품 검출부(1753)는 상기 컬러-깊이 영상으로부터 전경(foreground)을 추출한다. 취득된 컬러-깊이 영상을 이용하여, 제품에 대한 3차원 영역을 분할 및 획득한다. 이를 위해 검출할 제품 표면의 곡률을 포함한 기하학적 정보와 카메라로부터 근거리에 위치한 제품을 검출한다. 색상 정보를 깊이 영상의 분할에 동시에 사용하여 3차원의 제품 영역을 정확하게 검출한다. 도 5(d)는 제품 검출 결과를 보여준다.The product detection unit 1753 extracts a foreground from the color-depth image. Using the acquired color-depth image, a 3D area for a product is segmented and acquired. For this, geometric information including the curvature of the product surface to be detected and a product located in a short distance from the camera are detected. The color information is simultaneously used for segmentation of the depth image to accurately detect a 3D product area. 5(d) shows the product detection result.

상기 포즈 분석부(1755)는 상기 제품과 상기 3D 모델의 포즈를 추정한다. 상기 제품 검출부(1753)로부터 정의된 3차원의 제품 영역으로부터 제품의 포즈를 추정하고 이를 기반으로 3D 모델의 포즈를 정의한다. 제품의 포즈는 카메라 좌표계를 기준으로 3차원의 제품 영역 분석을 통해 계산된 상대적인 좌표계로 정의된다. 미리 정의된 제품과 모델과의 결합부로 이동된 제품 좌표계를 3D 모델의 포즈로 정의하고, 이를 상기 증강현실 제어부(175)의 3D 모델 증강에 활용한다.The pose analysis unit 1755 estimates a pose of the product and the 3D model. A pose of a product is estimated from a three-dimensional product area defined by the product detection unit 1753 and a pose of a 3D model is defined based on this. The product pose is defined as a relative coordinate system calculated through a three-dimensional product area analysis based on the camera coordinate system. The product coordinate system moved to the combination part of the predefined product and model is defined as a pose of the 3D model, and this is used to augment the 3D model of the augmented reality control unit 175.

도 5(e)는 제품 포즈의 추정 결과의 예시이고, 도 5(f)는 3D 모델의 포즈의 추정 결과의 예시이다.5(e) is an example of a product pose estimation result, and FIG. 5(f) is an example of a pose estimation result of a 3D model.

상기 전송부(190)는 상기 3D 모델을 생산하기 위해 상기 3D 모델 정보를 3D 프린터에 전송한다. 일례로, 상기 전송부(190)는 상기 3D 모델 정보를 클라우드 3D 프린팅 대행 업체로 전송할 수 있다. 상기 전송부(190)를 통해 사용자가 클라우드 3D 프린팅 대행 서비스를 선택하였을 경우, i.materialise, sculpteo, shapeways 및 3D HUBS 등의 클라우드 3D 프린팅 대행 서비스와 연결할 수 있다. The transmission unit 190 transmits the 3D model information to a 3D printer to produce the 3D model. For example, the transmission unit 190 may transmit the 3D model information to a cloud 3D printing agency. When a user selects a cloud 3D printing agency service through the transmission unit 190, it may be connected to a cloud 3D printing agency service such as i.materialise, sculpteo, shapeways, and 3D HUBS.

따라서, 본 발명에 따라 간편하게 3D 프린팅 대행 서비스와 연결을 통하여 3D 프린팅 가능한 모델을 전달하고, 사용자는 프린팅된 3D 모델을 제공받을 수 있다.Accordingly, according to the present invention, a model capable of 3D printing can be delivered through a simple connection with a 3D printing agency service, and a user can be provided with a printed 3D model.

다른 예로, 상기 전송부(190)는 상기 3D 모델 정보를 로컬 3D 프린터로 전송할 수 있다. 사용자가 로컬 3D 프린터를 선택하였을 경우, 선택한 프린터에 3D 모델과 필요한 정보를 전송하여 해당 모델을 생산한다. 본 발명과 로컬 3D 프린터 간의 연결은 무선 통신을 이용하여 클라우드 프린트와 같이 어디에서나 편리하게 이루어질 수 있다.As another example, the transmission unit 190 may transmit the 3D model information to a local 3D printer. When the user selects a local 3D printer, the model is produced by sending the 3D model and necessary information to the selected printer. The connection between the present invention and a local 3D printer can be conveniently made anywhere, such as cloud printing, using wireless communication.

도 6은 본 발명에 따른 3D 프린팅을 지원하는 시스템(1) 구성도의 한 예시이다.6 is an example of a configuration diagram of a system 1 supporting 3D printing according to the present invention.

도 6을 참조하면, 시스템(1) 구성도의 세 계층으로서, 웹 기반의 증강현실 플랫폼(300), 본 발명의 3D 프린팅을 지원하는 방법의 런타임 시에 진행되는 과정들을 나타내는 블록(100) 및 웹 상에 존재하는 블록(500)을 나타낸다.Referring to FIG. 6, as three layers of the system 1 configuration diagram, a web-based augmented reality platform 300, a block 100 showing processes performed at run time of the method for supporting 3D printing of the present invention, and Represents a block 500 present on the web.

본 발명의 3D 프린팅을 지원하는 방법은 HTML5 기반의 증강현실 콘텐츠 저작 플랫폼의 증강현실 웹 어플리케이션(AR Web App) 형태로 구현할 수 있다. HTML5 기반의 증강현실 플랫폼은 HTML, CSS, JavaScript와 같은 Web 기반 기술로 개발하였기 때문에 웹의 특징인 단순성과 모듈화, 분산화의 장점 모두를 가짐과 동시에 하이퍼링크와 URI로 다양한 미디어 리소스의 재사용이 가능하다. The method of supporting 3D printing of the present invention can be implemented in the form of an augmented reality web application (AR Web App) of an augmented reality content authoring platform based on HTML5. Since the HTML5-based augmented reality platform was developed with Web-based technologies such as HTML, CSS, and JavaScript, it has the advantages of simplicity, modularity, and decentralization, which are the characteristics of the web, and at the same time, it is possible to reuse various media resources with hyperlinks and URIs. .

본 발명은 종래의 발명에 비하여 tracking engine을 확장하여 Structure sensor를 이용한 정밀한 6자유도 트래킹 기능을 추가함으로써 제품인식의 정확도를 높였고, Situated Renderer의 WebGL renderer를 이용하여 사용자에게 증강현실로 보여줌으로써 모델의 저작의도와 적용방법에 대한 사용자의 이해를 도와준다.The present invention increases the accuracy of product recognition by adding a precise 6-degree-of-freedom tracking function using a structure sensor by expanding the tracking engine compared to the conventional invention, and by using the Situated Renderer's WebGL renderer to show the user as an augmented reality model It helps users understand the authoring intention and application method.

도 7은 본 발명의 일 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법을 설명하는 흐름도이다. 도 8은 도 7의 증강현실 표시 단계를 상세하게 설명하는 흐름도이다.7 is a flowchart illustrating a method of supporting 3D printing using a terminal according to an embodiment of the present invention. 8 is a flowchart illustrating in detail the augmented reality display step of FIG. 7.

본 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 도 1 또는 도 2의 단말기(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1 또는 도 2의 단말기(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다. The method of supporting 3D printing using the terminal according to the present embodiment may be performed in substantially the same configuration as the terminal 10 of FIG. 1 or 2. Accordingly, the same components as those of the terminal 10 of FIG. 1 or 2 are given the same reference numerals, and repeated descriptions are omitted.

또는, 본 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 단말기를 이용하여 3D 프린팅을 지원하기 위한 소프트웨어(어플리케이션)에 의해 실행될 수 있다.Alternatively, the method of supporting 3D printing using a terminal according to the present embodiment may be executed by software (application) for supporting 3D printing using a terminal.

도 7을 참조하면, 본 실시예에 따른 단말기를 이용하여 3D 프린팅을 지원하는 방법은, 사용자의 요청에 따라 제품을 인식한다(단계 S10). 상기 제품의 인식은, 단말기가 포함하거나 단말기와 연결된 카메라를 이용하여 상기 제품에 표시된 바코드를 통하여 이루어 질 수 있다. 또한 상기 제품의 인식은, 단말기가 포함하거나 단말기와 연결된 카메라를 이용하여 상기 제품에 대한 영상으로부터 이루어 질 수 있다.Referring to FIG. 7, in the method of supporting 3D printing using a terminal according to the present embodiment, a product is recognized according to a user's request (step S10). Recognition of the product may be performed through a barcode displayed on the product using a camera included in the terminal or connected to the terminal. Also, the recognition of the product may be made from an image of the product using a camera included in the terminal or connected to the terminal.

제품이 인식되면 인식된 제품과 관련된 웹 상에 존재하는 3D 모델을 검색하여 제공한다(단계 S30). 이때, 웹 상에 존재하는 3D 모델 자원을 활용함과 동시에 부가적인 서비스를 사용자에게 제공하기 위해 프록시 서버를 제공할 수 있다.When a product is recognized, a 3D model existing on the web related to the recognized product is searched and provided (step S30). In this case, a proxy server may be provided to provide additional services to users while utilizing 3D model resources existing on the web.

제품이 검색되면, 상기 인식된 제품 및 검색된 3D 모델의 정보를 기반으로, 상기 인식된 제품 및 상기 검색된 3D 모델 간의 적합성을 계산하여 시뮬레이션 한다(단계 S50). 이에 따라, 사용자는 프린트할 3D 모델이 DIY를 하고자 하는 제품과 호환성을 어느 정도 갖고 있는지 여부를 판단해주는 부가적인 서비스를 제공받을 수 있다.When a product is searched, a suitability between the recognized product and the searched 3D model is calculated and simulated based on the information of the recognized product and the searched 3D model (step S50). Accordingly, the user may be provided with an additional service that determines whether or not the 3D model to be printed has compatibility with the product to be DIY.

또한, 상기 인식된 제품 및 상기 검색된 3D 모델을 증강현실로 표시하여(단계 S70), 사용자가 해당 제품에 대해 선별된 3D 모델로부터 최종 모델의 선택을 하는데 도움을 줄 수 있다.In addition, by displaying the recognized product and the searched 3D model in augmented reality (step S70), it is possible to help the user to select a final model from the 3D model selected for the product.

도 8을 참고하면, 상기 인식된 제품 및 상기 검색된 3D 모델을 증강현실로 표시하는 단계(단계 S70)는, 상기 검색된 3D 모델을 다운로드 하는 단계(단계 S71), 상기 검색된 3D 모델을 3차원으로 분석하는 단계(단계 S73) 및 상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 단계(단계 S75)를 포함할 수 있다.Referring to FIG. 8, the step of displaying the recognized product and the searched 3D model in augmented reality (step S70) includes downloading the searched 3D model (step S71), and analyzing the searched 3D model in three dimensions. And providing the 3D model in augmented reality together with the searched product (step S75).

상기 3D 모델을 상기 검색된 제품과 함께 증강현실로 제공하는 단계(단계 S75)는 깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거하는 단계, 상기 컬러-깊이 영상으로부터 전경을 추출하는 단계 및 상기 제품과 상기 3D 모델의 포즈를 추정하는 단계를 포함할 수 있다.Providing the 3D model together with the searched product as augmented reality (step S75) includes removing noise from a color-depth image provided by a depth camera, extracting a foreground from the color-depth image, and the product And estimating a pose of the 3D model.

상기 시뮬레이션 단계(단계 S50) 또는 상기 증강현실 표시 단계(단계 S70)에서 사용자는 프린팅할 3D 모델을 선택할 수 있고, 상기 3D 모델을 생산하기 위해 상기 3D 모델 정보를 3D 프린터에 전송한다(단계 S90).In the simulation step (step S50) or the augmented reality display step (step S70), the user can select a 3D model to be printed, and transmits the 3D model information to a 3D printer to produce the 3D model (step S90). .

이때, 사용자의 선택에 따라, 상기 3D 모델 정보를 로컬 3D 프린터로 전송하거나, 또는 클라우드 3D 프린팅 대행 업체로 전송할 수 있다.At this time, depending on the user's selection, the 3D model information may be transmitted to a local 3D printer or to a cloud 3D printing agency.

본 발명에 따른 3D 프린팅을 지원하는 방법은 단말기, 특히 모바일 환경에 서 구동되어 사용자가 원하는 제품을 쉽게 검색할 뿐만 아니라 정확하게 인식하고 트래킹이 가능하다. 또한, 제품 인식부터 선택한 3D 모델을 3D 프린터 또는 대행 업체로 전송하는 과정까지 하나의 프로세스로 진행되어 3D 프린팅의 사용성과 기능성을 증대시킬 수 있다.The method for supporting 3D printing according to the present invention is driven in a terminal, especially in a mobile environment, so that a user can easily search for a desired product, as well as accurately recognize and track it. In addition, it is possible to increase the usability and functionality of 3D printing by proceeding from product recognition to the process of transmitting the selected 3D model to a 3D printer or agency.

이러한 3D 프린팅을 지원하는 방법은 소프트웨어(어플리케이션)으로 구현될 수 있다.A method of supporting such 3D printing may be implemented by software (application).

도 9는 본 발명에 따른 3D 프린팅을 지원하는 방법을 구현하기 위해 제공되는 사용자 인터페이스의 메뉴 구성의 한 실시예를 순서대로 보여준다. 예를 들어, A사 청소기의 흡입구가 망가져서, A사 청소기의 몸체에 B사 청소기의 흡입구를 호환하려고 할 때, 두 구성 간에 호환을 위한 커넥터를 3D 프린팅 하려는 경우이다.9 is a sequence diagram illustrating an embodiment of a menu configuration of a user interface provided to implement a method for supporting 3D printing according to the present invention. For example, when the intake port of the company A's vacuum cleaner is damaged, and the inlet port of the company B's vacuum cleaner is to be compatible with the body of the company A's cleaner, a connector for compatibility between the two components is 3D printed.

도 9를 참조하면, 바코드를 통해 제품을 검색한다(단계 S100). 3D 프린팅을 지원하는 응용 프로그램(어플리케이션)의 실행 첫 단계로서, 사용자가 관심 있는 제품과 관련된 3D 모델들을 검색하기 위하여 바코드를 인식한다. 보조선 또는 가이드를 이용하여 사용자가 바코드를 알맞은 위치로 가져가 제품을 쉽게 스캔하도록 유도할 수 있다. 또한, 바코드 인식 시 효과음을 통해 사용자에게 실제 바코드 리더를 사용할 때와 유사한 경험을 제공하여, 초보자도 쉽게 접근하여 제품을 검색하도록 할 수 있다.Referring to FIG. 9, a product is searched through a barcode (step S100). As the first step of running an application program (application) that supports 3D printing, it recognizes barcodes to search for 3D models related to products of interest to the user. An auxiliary line or guide can be used to guide the user to easily scan the product by bringing the barcode to the proper location. In addition, the sound effect when recognizing the barcode provides the user with an experience similar to that of using an actual barcode reader, so that even a beginner can easily access and search for a product.

이때, 검색 히스토리 메뉴를 제공할 수 있다(단계 S200). 단말기(10)의 표시부(200)의 오른쪽에 있는 히스토리 메뉴는 과거 사용자가 검색한 바코드들과 제품명에 대한 정보를 제공할 수 있다. 이러한 히스토리 정보를 통해 정보 접근 경로가 단축되므로, 사용자는 이전에 검색했던 제품에 대해 다시 바코드를 인식해야 하는 수고를 덜 수 있다.In this case, a search history menu may be provided (step S200). The history menu on the right side of the display unit 200 of the terminal 10 may provide information on barcodes and product names searched by a user in the past. Since the information access path is shortened through such historical information, the user can save the trouble of recognizing barcodes for previously searched products.

바코드가 검색되면, 바코드 검색 결과를 보여 준다(단계 S300). 바코드에 맞는 제품명이 검색되면, 검색된 제품을 상단 부분에 표시해줌과 동시에, 그 제품에 대한 3D 프린팅이 가능한 모델들을 검색할지 다른 제품을 검색할지 선택할 수 있다. 3D 프린팅이 가능한 모델들을 찾는 버튼을 누르면, 현재 웹 상에 존재하는 자원들을 검색하는 과정이 진행되고 있다는 것에 대해서 프로그래스 바(progress bar)를 통해서 보여줄 수 있다.When the barcode is searched, the barcode search result is displayed (step S300). When a product name that matches the barcode is searched, the searched product is displayed on the upper part, and at the same time, you can select whether to search for 3D-printable models or other products for that product. If you press the button to search for models capable of 3D printing, you can show through the progress bar that the process of searching for resources existing on the web is currently in progress.

해당 제품에 대한 3D 프린팅이 가능한 모델들을 검색하고, 이에 대한 결과를 보여준다(단계 S400). 서버에서 정보를 받아오는 것이 완료되면 아이템 메뉴가 활성화되면서 검색결과들을 리스트로 보여줄 수 있다. 리스트 중 어느 한 항목을 선택할 경우 그에 대한 자세한 정보를 제공해줄 수 있다.Models capable of 3D printing for the product are searched, and the result is displayed (step S400). When receiving information from the server is completed, the item menu is activated and the search results can be displayed in a list. If you select one item from the list, detailed information about it can be provided.

또한, 3D 모델과 증강 대상의 적합도 판별 서비스를 제공할 수 있다. 리스트의 각 항목에는 모델 이름, 인기정도(예를 들어, 하트 표시), 적합도(fit)에 대한 정보를 제공하고, 결정된 적합도는 3D 모델을 프린팅 했을 때, 대상 물체에 얼마나 정확하게 맞을지에 대한 정보이다. 이 정보를 통해 사용자는 적합하다고 판별된 3D 모델 정보들을 우선적으로 받아볼 수 있고, 잘못된 3D 모델 프린팅을 미연에 방지하여 3D 프린트 비용 절감이 가능하다.In addition, it is possible to provide a service for determining the suitability of the 3D model and the augmented object. Each item in the list provides information on the model name, popularity (e.g., heart mark), and fit, and the determined fit is information on how accurately it will fit the target object when the 3D model is printed. . Through this information, the user can receive the 3D model information determined to be suitable, and it is possible to reduce the 3D printing cost by preventing incorrect 3D model printing in advance.

이어, 선택된 3D 모델의 상세 정보를 제공한다(단계 S500). 크라우드 소싱(crowd sourcing)을 통한 3D 모델의 상세 정보를 제공하는 단계로서, 상세 정보에는 리스트 상에 나타난 대표 3D 외에 같은 항목에 존재하는 다른 3D 모델들에 대한 정보를 확인할 수 있다. 또한, 선택한 항목에 대한 다른 사용자들의 평가들을 함께 제공할 수 있다. Then, detailed information of the selected 3D model is provided (step S500). This is a step of providing detailed information of a 3D model through crowd sourcing. In the detailed information, information on other 3D models existing in the same item can be checked in addition to the representative 3D shown on the list. In addition, it is possible to provide ratings of other users for the selected item together.

이 경우, 3D 모델의 정보를 다양한 방법으로 제공할 수 있다. 예를 들어, 선택한 3D 모델을 증강된 상태가 아닌 360도 회전하면서 보고 싶은 사용자는 3D View 버튼을 누른 후 터치 인터랙션을 통해 3D 모델을 살펴볼 수 있다. 또한, AR View 버튼을 눌러 항목 내 존재하는 여러 개의 3D 모델들 중 원하는 3D 모델을 증강하여 보여줄 수 있다. 또한, 제품의 상세 정보의 출처에 대해 알고 싶어하는 사용자를 위해 3D 모델을 가져온 웹 페이지로 이동하는 버튼을 제공할 수 있다.In this case, information on the 3D model can be provided in various ways. For example, a user who wants to view the selected 3D model while rotating 360 degrees instead of in an augmented state can view the 3D model through touch interaction after pressing the 3D View button. In addition, by pressing the AR View button, you can augment and show a desired 3D model among several 3D models that exist in the item. In addition, for users who want to know the source of detailed product information, a button to move to the web page where the 3D model is imported can be provided.

나아가, 증강현실을 이용한 실감적인 3D 모델을 확인할 수도 있다(단계 S600). 3D 모델을 제품에 증강하여 보여주는 화면에서 좌측 상단에 다른 제품의 바코드를 검색할 수 있는 3D 프린팅을 지원하는 응용 프로그램(어플리케이션)의 실행 첫 단계의 화면으로 갈 수 있는 버튼을 제공할 수 있다. 또한, 상단 가운데 부분에는 현재 증강을 하고 있는 3D 모델의 이름과 대상과의 적합도 정보를 단계별로 표현하여 한눈에 인지할 수 있도록 하고, 좌측 하단에는 현재 보고 있는 3D 모델을 프린팅 하기 위한 버튼을 제공할 수 있다.Further, it is possible to check a realistic 3D model using augmented reality (step S600). On the screen showing the augmented 3D model on the product, a button can be provided on the upper left to go to the screen of the first stage of execution of an application program (application) that supports 3D printing to search for barcodes of other products. In addition, in the upper middle part, the name of the 3D model that is currently being augmented and the fitness information with the target are expressed step by step so that it can be recognized at a glance, and a button for printing the 3D model currently being viewed is provided in the lower left. I can.

마지막으로 증강현실을 이용하여 최종 확인한 3D 모델을 프린트 할 수 있는 메뉴를 제공한다(단계 S700). 출력할 3D 모델에 대한 사진 정보와 이름을 좌측에서 다시 한번 사용자에게 알려주고, 연결할 수 있는 3D 프린터들과 출력을 의뢰할 수 있는 서비스 회사들을 우측에서 선택할 수 있도록 제공할 수 있다. 또한, 편집 버튼을 제공하여 3D 프린트나 서비스 회사에 대한 설정을 편집하도록 할 수 있다.Finally, a menu for printing the 3D model finally checked using augmented reality is provided (step S700). The photo information and name of the 3D model to be printed can be notified to the user once again on the left, and the 3D printers that can be connected and the service companies that can request printing can be selected on the right. It also provides an edit button to allow you to edit settings for 3D printing or service companies.

그러나, 도 9 및 이에 대한 설명에서 제시한 3D 프린팅을 지원하는 방법을 구현하기 위해 제공되는 사용자 인터페이스는 예시에 불과하므로, 이에 한정되지 않고 필요에 따라 구성 및 변경할 수 있다.However, since the user interface provided to implement the method for supporting 3D printing presented in FIG. 9 and the description thereof is only an example, it is not limited thereto and may be configured and changed as necessary.

이와 같은, 단말기에서 3D 프린팅을 지원하는 방법은 어플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. Such a method of supporting 3D printing in a terminal may be implemented as an application or implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention, and may be known and usable to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks. media), and a hardware device specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments, it is understood that those skilled in the art can variously modify and change the present invention without departing from the spirit and scope of the present invention described in the following claims. You can understand.

본 발명에서 제공하는 제품 인식 및 호환 가능한 3D 프린터블 모델 검색과 증강은 특정 제품군에 한정되지 않고 소비자에게 다양한 활용 가치를 제공할 수 있다. 소비자의 측면에서, 3D printable warehouse에 존재하는 다양한 분야의 프린팅 가능한 3D 모델들과 적합도 정보를 활용하여 가전 제품 등에 대한 DIY를 도울 뿐만 아니라, 자동차, 레져 등 다양한 분야의 DIY 경우에도 사용할 수 있다.Product recognition and the search and enhancement of compatible 3D printable models provided by the present invention are not limited to a specific product group and can provide a variety of useful values to consumers. From the consumer's perspective, it can be used not only to help DIY for home appliances, but also to DIY for various fields such as automobiles and leisure by using printable 3D models and fitness information in various fields existing in the 3D printable warehouse.

1인 기업 측면에서, 3D 모델 개발자는 스스로 제작한 3D 모델들에 대해서 3D printable warehouse에 유료 모델로 업로드를 할 수 있다. 대량생산이 어려운 특정 목적을 위한 커스텀 부분품들과 소비자 개개인의 특성을 고려하여 제작되는 모델들을 유료로 제공함으로 다품종 소량생산의 비즈니스 모델이 성립하게 된다.On the one-man enterprise side, 3D model developers can upload their own 3D models as paid models to a 3D printable warehouse. By providing custom parts for specific purposes that are difficult to mass-produce and models that are produced in consideration of the characteristics of individual consumers, a business model for multi-species small quantity production is established.

산업체의 입장에서, 설비의 유지보수에 대한 비용을 줄이는데 도움을 줄 수 있으며, 유지보수가 필요한 상황에서 부품의 인식 및 증강 현실 기술을 활용하여 문제 해결을 위한 시각화된 매뉴얼을 제공한다. 따라서, 숙련되지 않은 사용자라도 쉽게 제품의 유지 보수가 가능하다.From the point of view of the industry, it can help to reduce the cost of maintenance of facilities, and provides a visualized manual for problem solving by utilizing parts recognition and augmented reality technology in situations where maintenance is required. Therefore, even an unskilled user can easily maintain the product.

또한, 생활가전, 리빙, 홈데코, 오피스, 자동차, 레져, 패션 등과 같은 다양한 분야의 제품군에 대한 제품 정보 DB 및 적합도 정보를 In-App purchase 형태로 제공하여 분야 별 대상 제품군 서비스 및 DIY를 원하는 사용자에게 In-App purchase를 통해 실시간 조립 검사 기능을 제공할 수 있고, 유료 3D 모델 개발자는 제작한 3D 모델들을 3D printable warehouse에서 판매를 함으로써, 사용자가 In-App purchase의 형태로 손쉽게 구매할 수 있는 부가적인 서비스를 창출할 수 있다.In addition, product information DB and suitability information for various fields such as household appliances, living, home decor, office, automobile, leisure, fashion, etc. are provided in the form of an in-app purchase to users who want to provide service and DIY for each field Real-time assembly inspection function can be provided to customers through in-app purchase, and paid 3D model developers sell the created 3D models in a 3D printable warehouse, allowing users to easily purchase in-app purchases. Service can be created.

10: 단말기 110: 제품 인식부
130: 웹 자원 활용부 150: 적합도 계산부
170: 증강현실 가시화부 171: 다운로드부
173: 3차원 뷰어부 175: 증강현실 제어부
1751: 전처리부 1753: 제품 검출부
1755: 포즈 분석부 190: 전송부
200: 표시부 1: 3D 프린팅을 지원하는 시스템
10: terminal 110: product recognition unit
130: web resource utilization unit 150: fitness calculation unit
170: augmented reality visualization unit 171: download unit
173: 3D viewer unit 175: augmented reality control unit
1751: preprocessing unit 1753: product detection unit
1755: pose analysis unit 190: transmission unit
200: display unit 1: system supporting 3D printing

Claims (16)

객체와 관련된 이미지 정보를 획득하는 카메라;
상기 이미지 정보에 기반하여, 객체를 인식하고 인식된 객체와 매칭되는 이미 존재하는 제품을 인식하는 제품 인식부;
인식된 제품과 관련된, 웹 상에 존재하는 3D 모델들을 검색하여 제공하는 웹 자원 활용부;
상기 인식된 제품 및 검색된 3D 모델들의 형상 정보를 기반으로, 상기 인식된 제품과 검색된 3D 모델 간의 조립이 가능한지에 대한 적합성을 계산하여 시뮬레이션 하는 적합도 계산부 - 상기 적합성 계산을 위해 사용되는 3D 모델들은 상기 인식된 제품에 조립 가능한 부품의 3D 모델을 포함함;
사용자가 표시된 3D 모델을 선택할 수 있도록, 계산된 적합성에 기반하여 상기 인식된 제품, 상기 검색된 부품의 3D 모델 및 상기 시뮬레이션 결과를 표시하는 표시부;
상기 인식된 제품의 형상과 선택된 부품의 3D 모델의 결합부로 상기 인식된 제품의 좌표계를 이동시켜, 상기 선택된 부품의 3D 모델의 포즈가 상기 인식된 제품의 포즈를 트래킹하도록 상기 인식된 제품의 위에 상기 선택된 부품의 3D 모델을 증강현실로 제공하는 증강현실 가시화부; 및
상기 선택된 부품의 3D 모델을 생산하기 위해 상기 선택된 3D 모델 정보를 3D 프린터에 전송하는 전송부를 포함하되,
상기 증강현실을 위해 상기 선택된 부품의 3D 모델이 결합되는 상기 인식된 제품의 형상은 컬러-깊이 영상으로부터 취득된 상기 인식된 제품의 3차원 기하학 정보에 기초한 것을 특징으로 하는, 3D 프린팅을 지원하는 단말기.
A camera that acquires image information related to an object;
A product recognition unit that recognizes an object based on the image information and recognizes an already existing product matching the recognized object;
A web resource utilization unit that searches and provides 3D models related to the recognized product on the web;
A fitness calculation unit that calculates and simulates suitability for assembling between the recognized product and the searched 3D model based on the recognized product and shape information of the searched 3D models.- The 3D models used for calculating the suitability are Includes 3D models of assemblyable parts in recognized products;
A display unit for displaying the recognized product, the 3D model of the searched part, and the simulation result based on the calculated suitability so that the user can select the displayed 3D model;
By moving the coordinate system of the recognized product to the coupling part of the recognized shape of the product and the 3D model of the selected part, the pose of the 3D model of the selected part is above the recognized product so that the pose of the recognized product is tracked. An augmented reality visualization unit that provides a 3D model of the selected part as augmented reality; And
Including a transmission unit for transmitting the selected 3D model information to a 3D printer to produce a 3D model of the selected part,
A terminal supporting 3D printing, characterized in that the shape of the recognized product to which the 3D model of the selected part is combined for the augmented reality is based on 3D geometric information of the recognized product acquired from a color-depth image .
제1항에 있어서,
상기 증강현실 가시화부는,
상기 선택된 부품의 3D 모델을 다운로드 하는 다운로드부;
상기 선택된 부품의 3D 모델을 깊이 카메라를 이용하여 3차원으로 분석하는 3차원 뷰어부; 및
상기 선택된 부품의 3D 모델을 상기 인식된 제품과 함께 증강현실로 제공하는 증강현실 제어부를 포함하는, 3D 프린팅을 지원하는 단말기.
The method of claim 1,
The augmented reality visualization unit,
A download unit for downloading a 3D model of the selected part;
A 3D viewer for analyzing the 3D model of the selected part in 3D using a depth camera; And
A terminal supporting 3D printing comprising an augmented reality control unit that provides a 3D model of the selected part as an augmented reality together with the recognized product.
제2항에 있어서,
상기 깊이 카메라는,
상기 단말기에 통합되어 형성되어 있거나, 또는 상기 단말기와 별도로 형성된, 3D 프린팅을 지원하는 단말기.
The method of claim 2,
The depth camera,
A terminal that is integrated into the terminal or formed separately from the terminal, supporting 3D printing.
삭제delete 제2항에 있어서,
상기 증강현실 제어부는,
상기 깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거하는 전처리부;
상기 컬러-깊이 영상으로부터 전경을 추출하는 제품 검출부; 및
상기 인식된 제품과 상기 선택된 부품의 3D 모델의 포즈를 추정하는 포즈 분석부를 포함하는, 3D 프린팅을 지원하는 단말기.
The method of claim 2,
The augmented reality control unit,
A preprocessor for removing noise from a color-depth image provided by the depth camera;
A product detection unit extracting a foreground from the color-depth image; And
A terminal supporting 3D printing, comprising a pose analysis unit for estimating a pose of the recognized product and a 3D model of the selected part.
제1항에 있어서,
상기 전송부는,
상기 부품의 3D 모델 정보를 로컬 3D 프린터로 전송하거나, 또는 클라우드 3D 프린팅 대행 업체로 전송하는, 3D 프린팅을 지원하는 단말기.
The method of claim 1,
The transmission unit,
A terminal supporting 3D printing that transmits the 3D model information of the part to a local 3D printer or to a cloud 3D printing agency.
제1항에 있어서,
상기 표시부는,
3D 프린팅을 지원하기 위한 사용자 인터페이스를 제공하는, 3D 프린팅을 지원하는 단말기.
The method of claim 1,
The display unit,
A terminal that supports 3D printing, providing a user interface to support 3D printing.
객체와 관련된 이미지 정보에 기반하여, 상기 객체와 매칭되는 이미 존재하는 제품을 인식하는 단계;
인식된 제품과 관련된, 웹 상에 존재하는 3D 모델들을 검색하여 제공하는 단계;
상기 인식된 제품 및 검색된 3D 모델의 형상 정보를 기반으로, 상기 인식된 제품과 검색된 3D 모델 간의 조립이 가능한지에 대한 적합성을 계산하여 시뮬레이션 하는 단계 - 상기 적합성 계산을 위해 사용되는 3D 모델들은 상기 인식된 제품에 조립 가능한 부품의 3D 모델을 포함함;
사용자가 표시된 3D 모델을 선택할 수 있도록, 계산된 적합성에 기반하여 상기 인식된 제품, 상기 검색된 부품의 3D 모델 및 상기 시뮬레이션 결과를 표시하는 단계;
상기 인식된 제품의 형상과 선택된 부품의 3D 모델의 결합부로 상기 인식된 제품의 좌표계를 이동시켜, 상기 선택된 부품의 3D 모델의 포즈가 상기 인식된 제품의 포즈를 트래킹하도록 상기 인식된 제품의 위에 상기 선택된 부품의 3D 모델을 증강현실로 제공하는 단계; 및
상기 선택된 부품의 3D 모델을 생산하기 위해 상기 선택된 3D 모델 정보를 3D 프린터에 전송하는 단계를 포함하되,
상기 증강현실을 위해 상기 선택된 부품의 3D 모델이 결합되는 상기 인식된 제품의 형상은 컬러-깊이 영상으로부터 취득된 상기 인식된 제품의 3차원 기하학 정보에 기초한 것을 특징으로 하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
Recognizing an already existing product matching the object based on image information related to the object;
Searching and providing 3D models existing on the web related to the recognized product;
Calculating and simulating suitability for assembling between the recognized product and the searched 3D model based on the recognized product and shape information of the searched 3D model-The 3D models used for calculating the suitability are the recognized Includes 3D models of parts that can be assembled into the product;
Displaying the recognized product, the 3D model of the searched part, and the simulation result based on the calculated suitability so that the user can select the displayed 3D model;
By moving the coordinate system of the recognized product to the coupling part of the recognized shape of the product and the 3D model of the selected part, the pose of the 3D model of the selected part is above the recognized product so that the pose of the recognized product is tracked. Providing a 3D model of the selected part as augmented reality; And
Transmitting the selected 3D model information to a 3D printer to produce a 3D model of the selected part,
3D printing using a terminal, characterized in that the shape of the recognized product to which the 3D model of the selected part is combined for the augmented reality is based on 3D geometric information of the recognized product acquired from a color-depth image How to support it.
제8항에 있어서,
상기 인식된 제품 위에 상기 선택된 부품의 3D 모델을 증강현실로 제공하는 단계는,
웹 상에서 상기 단말기로 상기 선택된 부품의 3D 모델을 다운로드 하는 단계;
상기 선택된 부품의 3D 모델을 상기 컬러-깊이 영상을 이용하여 3차원으로 분석하는 단계; 및
상기 선택된 부품의 3D 모델을 상기 인식된 제품과 함께 증강현실로 제공하는 단계를 포함하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
The method of claim 8,
Providing the 3D model of the selected part on the recognized product as augmented reality,
Downloading a 3D model of the selected part from the web to the terminal;
Analyzing the 3D model of the selected part in 3D using the color-depth image; And
A method for supporting 3D printing using a terminal comprising the step of providing a 3D model of the selected part together with the recognized product as augmented reality.
제9항에 있어서,
상기 선택된 부품의 3D 모델을 상기 인식된 제품과 함께 증강현실로 제공하는 단계는,
깊이 카메라에서 제공하는 컬러-깊이 영상의 잡음을 제거하는 단계;
상기 컬러-깊이 영상으로부터 전경을 추출하는 단계; 및
상기 인식된 제품과 상기 선택된 부품의 3D 모델의 포즈를 추정하는 단계를 포함하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
The method of claim 9,
Providing the 3D model of the selected part together with the recognized product in augmented reality,
Removing noise from the color-depth image provided by the depth camera;
Extracting a foreground from the color-depth image; And
And estimating a pose of the recognized product and the 3D model of the selected part.
제8항에 있어서,
상기 제품을 인식하는 단계는,
상기 단말기의 카메라를 이용하여 상기 객체의 바코드를 인식하거나, 또는 상기 객체의 영상으로부터 제품을 인식하는 단계를 포함하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
The method of claim 8,
Recognizing the product,
Recognizing a barcode of the object using a camera of the terminal, or recognizing a product from an image of the object.
제8항에 있어서,
상기 3D 모델 정보를 3D 프린터에 전송하는 단계는,
상기 부품의 3D 모델 정보를 로컬 3D 프린터로 전송하거나, 또는 클라우드 3D 프린팅 대행 업체로 전송하는 단계를 포함하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
The method of claim 8,
Transmitting the 3D model information to a 3D printer,
A method of supporting 3D printing using a terminal, comprising transmitting the 3D model information of the part to a local 3D printer or to a cloud 3D printing agency.
제8항에 있어서,
3D 프린팅을 지원하기 위한 인터페이스를 제공하는 단계를 더 포함하는, 단말기를 이용하여 3D 프린팅을 지원하는 방법.
The method of claim 8,
A method for supporting 3D printing using a terminal, further comprising the step of providing an interface for supporting 3D printing.
제8항 내지 제13항 중 어느 하나의 항에 따라 하드웨어와 결합되어 상기 3D 프린팅을 지원하는 방법을 수행하기 위하여 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a recording medium to perform the method of supporting the 3D printing by being combined with hardware according to any one of claims 8 to 13. 삭제delete 삭제delete
KR1020160128319A 2016-10-05 2016-10-05 Terminal and method for surpporting 3d printing, computer program for performing the method KR102159236B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160128319A KR102159236B1 (en) 2016-10-05 2016-10-05 Terminal and method for surpporting 3d printing, computer program for performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160128319A KR102159236B1 (en) 2016-10-05 2016-10-05 Terminal and method for surpporting 3d printing, computer program for performing the method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140107733A Division KR20160022086A (en) 2014-08-19 2014-08-19 Terminal and method for surpporting 3d printing, computer program for performing the method

Publications (2)

Publication Number Publication Date
KR20160121477A KR20160121477A (en) 2016-10-19
KR102159236B1 true KR102159236B1 (en) 2020-09-23

Family

ID=57250601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160128319A KR102159236B1 (en) 2016-10-05 2016-10-05 Terminal and method for surpporting 3d printing, computer program for performing the method

Country Status (1)

Country Link
KR (1) KR102159236B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358334A (en) * 2001-06-04 2002-12-13 A I Soft Inc Printing system for three-dimensional image

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626384B1 (en) * 2009-12-04 2016-06-13 한국전자통신연구원 Apparatus and method for search of 3d model data
KR20120017320A (en) * 2010-08-18 2012-02-28 (주)성삼 Exercise system and method using augmented reality

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358334A (en) * 2001-06-04 2002-12-13 A I Soft Inc Printing system for three-dimensional image

Also Published As

Publication number Publication date
KR20160121477A (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US10234847B2 (en) Terminal and method for supporting 3D printing, and computer program for performing the method
US20230079307A1 (en) Defining, displaying and interacting with tags in a three-dimensional model
US10943403B2 (en) Object preview in a mixed reality environment
KR102138389B1 (en) Three-dimensional object browsing in documents
Langlotz et al. Sketching up the world: in situ authoring for mobile augmented reality
CN102027504B (en) Lightweight three-dimensional display
KR101737725B1 (en) Content creation tool
TWI617929B (en) System stored in a non-transitory medium executable by processor circuitry and method thereof
US20150070347A1 (en) Computer-vision based augmented reality system
US20170220591A1 (en) Modular search object framework
CN102411614A (en) Display Of Image Search Results
WO2009073583A2 (en) Rich content creation, distribution, and broadcasting system
US20150317319A1 (en) Enhanced search results associated with a modular search object framework
US10282904B1 (en) Providing augmented reality view of objects
CN105580043A (en) Strength based modeling for recommendation system
JP6867469B2 (en) Electronic devices, interactive information display methods and computer-readable recording media
KR102159236B1 (en) Terminal and method for surpporting 3d printing, computer program for performing the method
TWI514319B (en) Methods and systems for editing data using virtual objects, and related computer program products
Ortman et al. Guidelines for user interactions in mobile augmented reality
Mena Data mining mobile devices
Tatasciore DelivAR: An augmented reality mobile application to expedite the package identification process for last-mile deliveries
Patel et al. Immersive Interior Design: Exploring Enhanced Visualization Through Augmented Reality Technologies
US20200098176A1 (en) Immersive shopping systems, devices, and method
Grubert et al. Annotate that: Preparing event posters for augmentation
CN111813216A (en) Apparatus, method, system and storage medium for browsing items

Legal Events

Date Code Title Description
A107 Divisional application of patent
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant