KR102251076B1 - 실내 이미지를 사용하여 설계도면을 추정하는 방법 - Google Patents
실내 이미지를 사용하여 설계도면을 추정하는 방법 Download PDFInfo
- Publication number
- KR102251076B1 KR102251076B1 KR1020200108174A KR20200108174A KR102251076B1 KR 102251076 B1 KR102251076 B1 KR 102251076B1 KR 1020200108174 A KR1020200108174 A KR 1020200108174A KR 20200108174 A KR20200108174 A KR 20200108174A KR 102251076 B1 KR102251076 B1 KR 102251076B1
- Authority
- KR
- South Korea
- Prior art keywords
- static object
- design drawing
- image
- line
- image processing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000003068 static effect Effects 0.000 claims abstract description 101
- 238000013461 design Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 79
- 238000000926 separation method Methods 0.000 claims description 58
- 238000002372 labelling Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 30
- 238000013528 artificial neural network Methods 0.000 description 23
- 238000012549 training Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000003062 neural network model Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000013136 deep learning model Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000009304 pastoral farming Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/543—Depth or shape recovery from line drawings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Structural Engineering (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 명세서는 이미지(Image)로부터 이미지 처리 장치 가 설계도면을 추정하기 위한 방법에 있어서, 상기 설계도면을 추정하기 위한 이미지를 획득 하는 단계; 상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하는 단계; 상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하는 단계; 상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하는 단계; 상기 교차점들 사이의 거리값을 계산하는 단계; 및 상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성하는 단계; 를 포함할 수 있다.
Description
본 명세서는 실내에서 촬영된 이미지를 기반으로 설계도면을 추정하는 방법이다. 보다 상세하게, 본 명세서는 카메라를 이용하여 획득된 3차원 공간을 나타내는 이미지에서 실내 설계 도면을 구성하는 객체들과 모서리 및 분리선들을 추출 및 인식하고, 이들간의 거리 추정을 기반으로 하여 2차원 형식의 설계도면을 추정해 내는 방법이다.
실내위치 인식을 위하여 블루투스나 WiFi 등 근거리 통신 방식이 널리 이용된다. 그러나, 이러한 방법은 벽과 같은 실내 구조로 인한 신호 간섭과 불안정한 통신 환경에서는 오차의 범위가 매우 크고, 항상 전기 인프라나 센서가 필요하다는 제한이 있다.
이를 개선하기 위한 방법으로 지자기를 활용한 방법이 제안되었으나, 이는 사전에 지자기 맵을 구성해야 한다는 제한이 있다. 이와 같이 이들 종래의 방법들간에는 장단점이 존재하며, 특히 실내 전파 환경에 크게 영향을 받아 정확도가 가변적으로 변화하는 한계를 갖는다.
또한, 영상 정보를 기반으로 GPS, WLAN 또는 Bluetooth와 같은 추가 기술 없이 실내 위치를 인식하는 종래의 방법들이 있다. 예를 들어, 건물 모델을 참조하여 실내위치 인식을 하는 방법이 있다. 이러한 방법은 이미지에서 사물을 인식하고 그 사물들을 건물 데이터베이스와 일치시켜 실내위치 인식을 한다. 다만, 이러한 방법은 저장 이미지의 양과 검색을 위한 시간에 대한 요구가 매우 큰 한계를 갖는다.
또한, HMD (Head Mounted Device)를 사용하여 촬영된 이미지를 기반으로 하여 위치를 인식하는 종래의 방법들도 있으나, 이러한 종래의 방법들은 인식을 위한 마커를 설치해야하고, 프로세싱 부하가 많이 요구된다.
또한, 3D 맵으로 공간 지도를 작성하는 건물 모델링 방법도 있으나, 이는 계산의 복잡성의 문제가 있으며, 점진적으로 지도를 작성하기 때문에 이미지 한 장으로는 위치를 인식할 수 없다.
본 명세서는 전술한 필요성 및/또는 문제점을 해결하는 것을 목적으로 한다.
또한, 본 명세서의 목적은, 실내 위치 인식을 위한 새로운 접근 방법론으로서, 실내에서 촬영된 3차원 이미지를 사용하여 실내 설계도면을 추정해 내는 방법을 제안한다.
또한, 본 명세서의 목적은, 이미지로부터 실내 설계도면을 구성하는 각종 정적 객체들과 모서리 선 또는 면들의 분리선들을 인식하고, 이들간 교차점과 상대 거리를 추정하여, 통상의 건축물들이 보유한 2차원의 평면 설계도면과 유사한 실내 설계도면을 추정해 내는 방법을 제안한다.
본 명세서가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 발명의 상세한 설명으로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 일 양상은, 이미지(Image)로부터 이미지 처리 장치 가 설계도면을 추정하기 위한 방법에 있어서, 상기 설계도면을 추정하기 위한 이미지를 획득 하는 단계; 상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하는 단계; 상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하는 단계; 상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하는 단계; 상기 교차점들 사이의 거리값을 계산하는 단계; 및 상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성하는 단계; 를 포함할 수 있다.
또한, 상기 이미지가 기울어진 경우, 상기 이미지를 회전하는 단계; 및 상기 정적 객체의 바운더리를 설정하는 단계;를 더 포함할 수 있다.
또한, 상기 교차점들에 근거하여, 상기 설계도면을 생성하기 위한 데이터를 구성하는 단계; 를 더 포함할 수 있다.
또한, 상기 데이터는 1) 상기 정적 객체의 라벨링(labeling) 정보, 2) 상기 교차점들의 정보 및 3) 상기 거리값을 포함할 수 있다.
또한, 상기 분리선을 인식하는 단계는 상기 정적 객체와 관련된 분리선이 복수개인 경우, 우선순위가 높은 정적 객체 와 관련된 가장 적합한 분리선을 선택하는 단계; 를 포함할 수 있다.
또한, 상기 교차점들 사이의 거리값을 계산하는 단계는 상기 분리선의 연장선과 상기 분리선과 대칭되는 분리선의 연장선이 만나는 소실점(vanishing point)을 계산하는 단계; 상기 소실점 및 상기 교차점들에 근거하여, 상기 교차점들 사이의 상대거리를 계산하기 위한, 기준 교차점을 설정하는 단계; 및 상기 기준 교차점에 근거하여, 상기 교차점들 사이의 거리값 을 계산하는 단계;를 포함할 수 있다.
또한, 상기 설계도면을 생성하는 단계는 상기 이미지가 촬영된 방향을 판단하기 위해, 상기 소실점에 근거하여 상기 분리선의 방향성을 판단하는 단계;를 포함할 수 있다.
또한, 상기 설계도면을 생성하는 단계는 상기 설계도면의 반대 방향을 나타내는 설계도면을 생성하는 단계; 를 더 포함할 수 있다.
또한, 상기 생성된 설계도면과 실제 설계도면과의 차이를 판단하는 단계; 를 더 포함할 수 있다.
또한, 상기 생성된 설계도면에 근거하여, 상기 이미지가 획득된 위치 및 방향을 판단하는 단계; 를 더 포함할 수 있다.
본 명세서의 또 다른 일 양상은, 이미지(Image)로부터 설계도면을 추정하기 위한 이미지 처리 장치에 있어서, 메모리; 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며, 상기 프로세서는 상기 설계도면을 추정하기 위한 이미지를 획득하고, 상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하며, 상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하고, 상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하며, 상기 교차점들 사이의 거리값을 계산하고, 상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성할 수 있다.
본 명세서의 또 다른 일 양상은, 이미지(Image)로부터 설계도면을 추정하기 위한 이미지 처리 장치에 있어서, 카메라 센서; 메모리; 상기 카메라 센서 및 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며, 상기 프로세서는 상기 카메라 센서를 통해, 상기 설계도면을 추정하기 위한 이미지를 획득하고, 상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하며, 상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하고, 상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하며, 상기 교차점들 사이의 거리값을 계산하고, 상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성할 수 있다.
본 명세서의 실시예에 따르면, 이미지로부터 설계도면을 추정할 수 있다.
또한, 본 명세서의 실시예에 따르면, 보관중인 설계도면과 실제 설치물과의 차이를 확인 할 수 있다.
또한, 본 명세서의 실시예에 따르면, 이미지는 촬영자가 바라보는 부분이 촬영한 대상이 되므로, 촬영자가 어디에 서서 어디를 바라보는지를 설계도면 상에 투영할수 있다. 이를 통해, 추정된 설계도면과 일치하는 실제 설계도면의 부분을 찾게 되면, 촬영자의 실내에서의 위치와 바라보는 방향이 추정될 수 있다.
본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
도 2는 본 명세서의 일 실시예에 따른 AI 장치의 블록도이다.
도 3은 본 명세서가 적용될 수 있는 DNN 모델의 예시이다.
도 4는 본 명세서가 적용될 수 있는 정적물체 추출방법의 예시이다.
도 5는 본 명세서가 적용될 수 있는 분리선 인식 방법의 예시이다.
도 6은 본 명세서가 적용될 수 있는 보정 방법의 예시이다.
도 7은 본 명세서가 적용될 수 있는 교차점인식 방법의 예시이다.
도 8은 본 명세서가 적용될 수 있는 거리계산 방법의 예시이다.
도 9는 본 명세서가 적용될 수 있는 비조화비를 이용한 거리계산 방법의 예시이다.
도 10은 본 명세서가 적용될 수 있는 설계도면 구성의 예시이다.
도 11은 본 명세서가 적용될 수 있는 양쪽벽면 설계도면의 예시이다.
도 12는 본 명세서가 적용될 수 있는 일 실시예이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 2는 본 명세서의 일 실시예에 따른 AI 장치의 블록도이다.
도 3은 본 명세서가 적용될 수 있는 DNN 모델의 예시이다.
도 4는 본 명세서가 적용될 수 있는 정적물체 추출방법의 예시이다.
도 5는 본 명세서가 적용될 수 있는 분리선 인식 방법의 예시이다.
도 6은 본 명세서가 적용될 수 있는 보정 방법의 예시이다.
도 7은 본 명세서가 적용될 수 있는 교차점인식 방법의 예시이다.
도 8은 본 명세서가 적용될 수 있는 거리계산 방법의 예시이다.
도 9는 본 명세서가 적용될 수 있는 비조화비를 이용한 거리계산 방법의 예시이다.
도 10은 본 명세서가 적용될 수 있는 설계도면 구성의 예시이다.
도 11은 본 명세서가 적용될 수 있는 양쪽벽면 설계도면의 예시이다.
도 12는 본 명세서가 적용될 수 있는 일 실시예이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 명세서의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
상기 전자 기기(100)는 무선 통신부(110), 입력부(120), 센싱부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들은 전자 기기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 기기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 전자 기기(100)와 무선 통신 시스템 사이, 전자 기기(100)와 다른 전자 기기(100) 사이, 또는 전자 기기(100)와 외부서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 전자 기기(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone, 122), 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123, 예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
센싱부(140)는 전자 기기 내 정보, 전자 기기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 전자 기기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 전자 기기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 전자 기기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
인터페이스부(160)는 전자 기기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 전자 기기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
또한, 메모리(170)는 전자 기기(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 전자 기기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 전자 기기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 전자 기기(100)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 전자 기기(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 전자 기기(100) 상에 설치되어, 제어부(180)에 의하여 상기 전자 기기의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 전자 기기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가 받아 전자 기기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.
상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시 예들에 따른 전자 기기의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 전자 기기의 동작, 제어, 또는 제어방법은 상기 메모리(170)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 전자 기기 상에서 구현될 수 있다.
이하에서는, 위에서 살펴본 전자 기기(100)를 통하여 구현되는 다양한 실시 예들을 살펴보기에 앞서, 위에서 열거된 구성요소들에 대하여 도 1을 참조하여 보다 구체적으로 살펴본다.
먼저, 무선 통신부(110)에 대하여 살펴보면, 무선 통신부(110)의 방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 적어도 두 개의 방송 채널들에 대한 동시 방송 수신 또는 방송 채널 스위칭을 위해 둘 이상의 상기 방송 수신 모듈이 상기 전자 기기(100)에 제공될 수 있다.
이동통신 모듈(112)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다.
상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 전자 기기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 모듈(113)은 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있으며, 상기 무선 인터넷 모듈(113)은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.
WiBro, HSDPA, HSUPA, GSM, CDMA, WCDMA, LTE, LTE-A 등에 의한 무선인터넷 접속은 이동통신망을 통해 이루어진다는 관점에서 본다면, 상기 이동통신망을 통해 무선인터넷 접속을 수행하는 상기 무선 인터넷 모듈(113)은 상기 이동통신 모듈(112)의 일종으로 이해될 수도 있다.
근거리 통신 모듈(114)은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus), MST(Magnetic Secure Transmission) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 이러한, 근거리 통신 모듈(114)은, 근거리 무선 통신망(Wireless Area Networks)을 통해 전자 기기(100)와 무선 통신 시스템 사이, 전자 기기(100)와 다른 전자 기기(100) 사이, 또는 전자 기기(100)와 다른 전자 기기(100, 또는 외부서버)가 위치한 네트워크 사이의 무선 통신을 지원할 수 있다. 상기 근거리 무선 통신망은 근거리 무선 개인 통신망(Wireless Personal Area Networks)일 수 있다.
여기에서, 다른 전자 기기(100)는 본 명세서에 따른 전자 기기(100)와 데이터를 상호 교환하는 것이 가능한(또는 연동 가능한) 웨어러블 디바이스(wearable device, 예를 들어, 스마트워치(smartwatch), 스마트 글래스(smart glass), HMD(head mounted display))가 될 수 있다. 근거리 통신 모듈(114)은, 전자 기기(100) 주변에, 상기 전자 기기(100)와 통신 가능한 웨어러블 디바이스를 감지(또는 인식)할 수 있다. 나아가, 제어부(180)는 상기 감지된 웨어러블 디바이스가 본 명세서에 따른 전자 기기(100)와 통신하도록 인증된 디바이스인 경우, 전자 기기(100)에서 처리되는 데이터의 적어도 일부를, 상기 근거리 통신 모듈(114)을 통해 웨어러블 디바이스로 전송할 수 있다. 따라서, 웨어러블 디바이스의 사용자는, 전자 기기(100)에서 처리되는 데이터를, 웨어러블 디바이스를 통해 이용할 수 있다. 예를 들어, 이에 따르면 사용자는, 전자 기기(100)에 전화가 수신된 경우, 웨어러블 디바이스를 통해 전화 통화를 수행하거나, 전자 기기(100)에 메시지가 수신된 경우, 웨어러블 디바이스를 통해 상기 수신된 메시지를 확인하는 것이 가능하다.
위치정보 모듈(115)은 전자 기기의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, 전자 기기는 GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 전자 기기의 위치를 획득할 수 있다. 다른 예로서, 전자 기기는 Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, 전자 기기의 위치를 획득할 수 있다. 필요에 따라서, 위치정보모듈(115)은 치환 또는 부가적으로 전자 기기의 위치에 관한 데이터를 얻기 위해 무선 통신부(110)의 다른 모듈 중 어느 기능을 수행할 수 있다. 위치정보모듈(115)은 전자 기기의 위치(또는 현재 위치)를 획득하기 위해 이용되는 모듈로, 전자 기기의 위치를 직접적으로 계산하거나 획득하는 모듈로 한정되지는 않는다.
다음으로, 입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, 전자 기기(100) 는 하나 또는 복수의 카메라(121)를 구비할 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시되거나 메모리(170)에 저장될 수 있다. 한편, 전자 기기(100)에 구비되는 복수의 카메라(121)는 매트릭스 구조를 이루도록 배치될 수 있으며, 이와 같이 매트릭스 구조를 이루는 카메라(121)를 통하여, 전자 기기(100)에는 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있다. 또한, 복수의 카메라(121)는 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 전자 기기(100)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 제어부(180)는 입력된 정보에 대응되도록 전자 기기(100)의 동작을 제어할 수 있다. 이러한, 사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 전자 기기(100)의 전면, 후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.
한편, 센싱부(140)는 전자 기기 내 정보, 전자 기기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하고, 이에 대응하는 센싱 신호를 발생시킨다. 제어부(180)는 이러한 센싱 신호에 기초하여, 전자 기기(100)의 구동 또는 동작을 제어하거나, 전자 기기(100)에 설치된 응용 프로그램과 관련된 데이터 처리, 기능 또는 동작을 수행 할 수 있다. 센싱부(140)에 포함될 수 있는 다양한 센서 중 대표적인 센서들의 대하여, 보다 구체적으로 살펴본다.
먼저, 근접 센서(141)는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선 등을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 이러한 근접 센서(141)는 위에서 살펴본 터치 스크린에 의해 감싸지는 전자 기기의 내부 영역 또는 상기 터치 스크린의 근처에 근접 센서(141)가 배치될 수 있다.
근접 센서(141)의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전 용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 터치 스크린이 정전식인 경우에, 근접 센서(141)는 전도성을 갖는 물체의 근접에 따른 전계의 변화로 상기 물체의 근접을 검출하도록 구성될 수 있다. 이 경우 터치 스크린(또는 터치 센서) 자체가 근접 센서로 분류될 수 있다.
한편, 설명의 편의를 위해, 터치 스크린 상에 물체가 접촉되지 않으면서 근접되어 상기 물체가 상기 터치 스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 명명하고, 상기 터치 스크린 상에 물체가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 명명한다. 상기 터치 스크린 상에서 물체가 근접 터치 되는 위치라 함은, 상기 물체가 근접 터치될 때 상기 물체가 상기 터치 스크린에 대해 수직으로 대응되는 위치를 의미한다. 상기 근접 센서(141)는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지할 수 있다. 한편, 제어부(180)는 위와 같이, 근접 센서(141)를 통해 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 데이터(또는 정보)를 처리하며, 나아가, 처리된 데이터에 대응하는 시각적인 정보를 터치 스크린상에 출력시킬 수 있다. 나아가, 제어부(180)는, 터치 스크린 상의 동일한 지점에 대한 터치가, 근접 터치인지 또는 접촉 터치인지에 따라, 서로 다른 동작 또는 데이터(또는 정보)가 처리되도록 전자 기기(100)를 제어할 수 있다.
터치 센서는 저항막 방식, 정전용량 방식, 적외선 방식, 초음파 방식, 자기장 방식 등 여러 가지 터치방식 중 적어도 하나를 이용하여 터치 스크린(또는 디스플레이부(151))에 가해지는 터치(또는 터치입력)을 감지한다.
일 예로서, 터치 센서는, 터치 스크린의 특정 부위에 가해진 압력 또는 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는, 터치 스크린 상에 터치를 가하는 터치 대상체가 터치 센서 상에 터치 되는 위치, 면적, 터치 시의 압력, 터치 시의 정전 용량 등을 검출할 수 있도록 구성될 수 있다. 여기에서, 터치 대상체는 상기 터치 센서에 터치를 인가하는 물체로서, 예를 들어, 손가락, 터치펜 또는 스타일러스 펜(Stylus pen), 포인터 등이 될 수 있다.
이와 같이, 터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이부(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다. 여기에서, 터치 제어기는, 제어부(180)와 별도의 구성요소일 수 있고, 제어부(180) 자체일 수 있다.
한편, 제어부(180)는, 터치 스크린(또는 터치 스크린 이외에 구비된 터치키)을 터치하는, 터치 대상체의 종류에 따라 서로 다른 제어를 수행하거나, 동일한 제어를 수행할 수 있다. 터치 대상체의 종류에 따라 서로 다른 제어를 수행할지 또는 동일한 제어를 수행할 지는, 현재 전자 기기(100)의 동작상태 또는 실행 중인 응용 프로그램에 따라 결정될 수 있다.
한편, 위에서 살펴본 터치 센서 및 근접 센서는 독립적으로 또는 조합되어, 터치 스크린에 대한 숏(또는 탭) 터치(short touch), 롱 터치(long touch), 멀티 터치(multi touch), 드래그 터치(drag touch), 플리크 터치(flick touch), 핀치-인 터치(pinch-in touch), 핀치-아웃 터치(pinch-out 터치), 스와이프(swype) 터치, 호버링(hovering) 터치 등과 같은, 다양한 방식의 터치를 센싱할 수 있다.
초음파 센서는 초음파를 이용하여, 감지대상의 위치정보를 인식할 수 있다. 한편 제어부(180)는 광 센서와 복수의 초음파 센서로부터 감지되는 정보를 통해, 파동 발생원의 위치를 산출하는 것이 가능하다. 파동 발생원의 위치는, 광이 초음파보다 매우 빠른 성질, 즉, 광이 광 센서에 도달하는 시간이 초음파가 초음파 센서에 도달하는 시간보다 매우 빠름을 이용하여, 산출될 수 있다. 보다 구체적으로 광을 기준 신호로 초음파가 도달하는 시간과의 시간차를 이용하여 파동 발생원의 위치가 산출될 수 있다.
한편, 입력부(120)의 구성으로 살펴본, 카메라(121)는 카메라 센서(예를 들어, CCD, CMOS 등), 포토 센서(또는 이미지 센서) 및 레이저 센서 중 적어도 하나를 포함한다.
카메라(121)와 레이저 센서는 서로 조합되어, 3차원 입체영상에 대한 감지대상의 터치를 감지할 수 있다. 포토 센서는 디스플레이 소자에 적층될 수 있는데, 이러한 포토 센서는 터치 스크린에 근접한 감지대상의 움직임을 스캐닝하도록 이루어진다. 보다 구체적으로, 포토 센서는 행/열에 Photo Diode와 TR(Transistor)를 실장하여 Photo Diode에 인가되는 빛의 양에 따라 변화되는 전기적 신호를 이용하여 포토 센서 위에 올려지는 내용물을 스캔한다. 즉, 포토 센서는 빛의 변화량에 따른 감지대상의 좌표 계산을 수행하며, 이를 통하여 감지대상의 위치정보가 획득될 수 있다.
디스플레이부(151)는 전자 기기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이부(151)는 전자 기기(100)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
또한, 상기 디스플레이부(151)는 입체영상을 표시하는 입체 디스플레이부로서 구성될 수 있다.
상기 입체 디스플레이부에는 스테레오스코픽 방식(안경 방식), 오토 스테레오스코픽 방식(무안경 방식), 프로젝션 방식(홀로그래픽 방식) 등의 3차원 디스플레이 방식이 적용될 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력부(152)는 전자 기기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력부(152)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다. 햅틱 모듈(153)에서 발생하는 진동의 세기와 패턴 등은 사용자의 선택 또는 제어부의 설정에 의해 제어될 수 있다. 예를 들어, 상기 햅틱 모듈(153)은 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(153)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(electrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(153)은 직접적인 접촉을 통해 촉각 효과를 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(153)은 전자 기기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
광출력부(154)는 전자 기기(100)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. 전자 기기(100)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
광출력부(154)가 출력하는 신호는 전자 기기가 전면이나 후면으로 단색이나 복수색의 빛을 발광함에 따라 구현된다. 상기 신호 출력은 전자 기기가 사용자의 이벤트 확인을 감지함에 의하여 종료될 수 있다.
인터페이스부(160)는 전자 기기(100)에 연결되는 모든 외부 기기와의 통로 역할을 한다. 인터페이스부(160)는 외부 기기로부터 데이터를 전송받거나, 전원을 공급받아 전자 기기(100) 내부의 각 구성요소에 전달하거나, 전자 기기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트(port), 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 등이 인터페이스부(160)에 포함될 수 있다.
한편, 식별 모듈은 전자 기기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(user identify module; UIM), 가입자 인증 모듈(subscriber identity module; SIM), 범용 사용자 인증 모듈(universal subscriber identity module; USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 상기 인터페이스부(160)를 통하여 단말기(100)와 연결될 수 있다.
또한, 상기 인터페이스부(160)는 전자 기기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 전자 기기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 전자 기기(100)로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 전자 기기(100)가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수 있다.
메모리(170)는 제어부(180)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다. 상기 메모리(170)는 상기 터치 스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(170)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 전자 기기(100)는 인터넷(internet)상에서 상기 메모리(170)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작될 수도 있다.
한편, 앞서 살펴본 것과 같이, 제어부(180)는 응용 프로그램과 관련된 동작과, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(180)는 상기 전자 기기의 상태가 설정된 조건을 만족하면, 애플리케이션들에 대한 사용자의 제어 명령의 입력을 제한하는 잠금 상태를 실행하거나, 해제할 수 있다.
또한, 제어부(180)는 음성 통화, 데이터 통신, 화상 통화 등과 관련된 제어 및 처리를 수행하거나, 터치 스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다. 나아가 제어부(180)는 이하에서 설명되는 다양한 실시 예들을 본 명세서에 따른 전자 기기(100) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급한다. 전원공급부(190)는 배터리를 포함하며, 배터리는 충전 가능하도록 이루어지는 내장형 배터리가 될 수 있으며, 충전 등을 위하여 단말기 바디에 착탈 가능하게 결합될 수 있다.
또한, 전원공급부(190)는 연결포트를 구비할 수 있으며, 연결포트는 배터리의 충전을 위하여 전원을 공급하는 외부 충전기가 전기적으로 연결되는 인터페이스(160)의 일 예로서 구성될 수 있다.
다른 예로서, 전원공급부(190)는 상기 연결포트를 이용하지 않고 무선방식으로 배터리를 충전하도록 이루어질 수 있다. 이 경우에, 전원공급부(190)는 외부의 무선 전력 전송장치로부터 자기 유도 현상에 기초한 유도 결합(Inductive Coupling) 방식이나 전자기적 공진 현상에 기초한 공진 결합(Magnetic Resonance Coupling) 방식 중 하나 이상을 이용하여 전력을 전달받을 수 있다. 본 명세서에서 후술되는 이미지 처리 장치는 전자기기(100)를 포함할 수 있다.
도 2는 본 명세서의 일 실시예에 따른 AI 장치의 블록도이다.
상기 AI 장치(20)는 AI 프로세싱을 수행할 수 있는 AI 모듈을 포함하는 전자 기기 또는 상기 AI 모듈을 포함하는 서버 등을 포함할 수 있다. 또한, 상기 AI 장치(20)는 도 1에 도시된 전자기기(100)의 적어도 일부의 구성으로 포함되어 AI 프로세싱 중 적어도 일부를 함께 수행하도록 구비될 수도 있다.
상기 AI 장치(20)는 AI 프로세서(21), 메모리(25) 및/또는 통신부(27)를 포함할 수 있다.
상기 AI 장치(20)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
AI 프로세서(21)는 메모리(25)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서(21)는 차량 관련 데이터를 인식하기 위한 신경망을 학습할 수 있다. 여기서, 차량 관련 데이터를 인식하기 위한 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 여기서 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.
한편, 전술한 바와 같은 기능을 수행하는 프로세서는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.
메모리(25)는 AI 장치(20)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(25)는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리(25)는 AI 프로세서(21)에 의해 액세스되며, AI 프로세서(21)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(25)는 본 명세서의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥 러닝 모델(26))을 저장할 수 있다.
한편, AI 프로세서(21)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(22)를 포함할 수 있다. 데이터 학습부(22)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(22)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.
데이터 학습부(22)는 적어도 하나의 하드웨어 칩 형태로 제작되어 AI 장치(20)에 탑재될 수 있다. 예를 들어, 데이터 학습부(22)는 인공지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 범용 프로세서(CPU) 또는 그래픽 전용 프로세서(GPU)의 일부로 제작되어 AI 장치(20)에 탑재될 수도 있다. 또한, 데이터 학습부(22)는 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 애플리케이션에 의해 제공될 수 있다.
데이터 학습부(22)는 학습 데이터 획득부(23) 및 모델 학습부(24)를 포함할 수 있다.
학습 데이터 획득부(23)는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 예를 들어, 학습 데이터 획득부(23)는 학습 데이터로서, 신경망 모델에 입력하기 위한 차량 데이터 및/또는 샘플 데이터를 획득할 수 있다.
모델 학습부(24)는 상기 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다. 이 때 모델 학습부(24)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또는 모델 학습부(24)는 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하여 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다.
신경망 모델이 학습되면, 모델 학습부(24)는 학습된 신경망 모델을 메모리에 저장할 수 있다. 모델 학습부(24)는 학습된 신경망 모델을 AI 장치(20)와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.
데이터 학습부(22)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 리소스 또는 시간을 절약하기 위해 학습 데이터 전처리부(미도시) 및 학습 데이터 선택부(미도시)를 더 포함할 수도 있다.
학습 데이터 전처리부는 획득된 데이터가 상황 판단을 위한 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 예를 들어, 학습 데이터 전처리부는, 모델 학습부(24)가 이미지 인식을 위한 학습을 위하여 획득된 학습 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
또한, 학습 데이터 선택부는, 학습 데이터 획득부(23)에서 획득된 학습 데이터 또는 전처리부에서 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(24)에 제공될 수 있다. 예를 들어, 학습 데이터 선택부는, 차량의 카메라를 통해 획득한 영상 중 특정 영역을 검출함으로써, 특정 영역에 포함된 객체에 대한 데이터만을 학습 데이터로 선택할 수 있다.
또한, 데이터 학습부(22)는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부(미도시)를 더 포함할 수도 있다.
모델 평가부는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(22)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다. 일 예로, 모델 평가부는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정되 임계치를 초과하는 경우, 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
통신부(27)는 AI 프로세서(21)에 의한 AI 프로세싱 결과를 외부 전자 기기로 전송할 수 있다.
여기서 외부 전자 기기는 자율 주행 차량으로 정의될 수 있다. 또한, 상기 AI 장치(20)는 상기 자율 주행 모듈 차량과 통신하는 다른 차량 또는 5G 네트워크로 정의될 수 있다. 한편, 상기 AI 장치(20)는 차량 내에 구비된 자율주행 모듈에 기능적으로 임베딩되어 구현될 수도 있다. 또한, 상기 5G 네트워크는 자율 주행 관련 제어를 수행하는 서버 또는 모듈을 포함할 수 있다. 또한, AI 장치(20)는 홈 서버를 통해 구현될 수도 있다.
한편, 도 2에 도시된 AI 장치(20)는 AI 프로세서(21)와 메모리(25), 통신부(27) 등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀둔다.
DNN(Deep Neural Network) 모델
도 3은 본 명세서가 적용될 수 있는 DNN 모델의 예시이다.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이루어진 인공신경망(Artificial Neural Network, ANN)이다. 심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다.
예를 들어, 사물 식별 모델을 위한 심층 신경망 구조에서는 각 객체가 이미지 기본 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모여진 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.
은닉층의 개수가 많아질수록 인공신경망이 '깊어졌다(deep)'고 부르며, 이렇게 충분히 깊어진 인공신경망을 러닝 모델로 사용하는 머신러닝 패러다임을 바로 딥러닝(Deep Learning)이라고 한다. 그리고, 이러한 딥러닝을 위해 사용하는 충분히 깊은 인공신경망이 심층 신경망(DNN: Deep neural network)이라고 통칭된다.
본 명세서 상에서는 이러한 딥러닝 방식을 위해 사용되는 인공신경망을 DNN으로 통칭하고 있으나, 이와 유사한 방식으로 의미있는 데이터를 출력할 수 있다면, 다른 방식의 딥러닝 방식이 적용될 수 있음은 물론이다.
본 명세서에서 이미지 처리 장치는 입력된 이미지에 대하여, 예를 들어, (1) 정적물체 추출단계, (2) 분리선 인식단계, (3) 보정 단계, (4) 교차점인식 단계, (5) 거리계산 단계, (6) 데이터구성 단계, 그리고 (7) 2D 설계도면 구성단계를 통해, 이미지와 대응되는 실내 설계도면을 추정할 수 있다.
스마트폰이나 HMD등 장치로부터 촬영된 이미지는 3차원을 나타내고, 설계도면은 2차원의 평면적 특성을 가지므로, 이미지 처리 장치는 상기 과정을 통해, 이미지를 변환하여, 설계도면을 생성할 수 있다.
도 4는 본 명세서가 적용될 수 있는 정적물체 추출방법의 예시이다.
본 명세서에서 정적물체(static object)는 설계도면에 의해, 표현될 수 있는 실내에 고정되어 시설된 물체를 의미할 수 있다. 예를 들어, 정적물체는 설계도면에 의해 표현될 수 있는 문, 벽, 기둥, 계단, 벽간 공간 등을 포함할 수 있다.
본 명세서에서 이미지 처리 장치는 전술한 AI 모듈을 포함할 수 있다. 이러한 AI 모듈은 정적물체 별로 구분된 이미지들을 나타내는 데이터 세트를 입력받아, 정적물체를 판단하기 위해 학습될 수 있다. 또한, AI 모듈은 학습된 학습모델을 이용하여, 획득된 이미지에서 정적물체를 추출하고, 판단할 수 있다.
예를 들어, AI 모듈은 추출된 각 정적물체에 적합한 라벨링(Labeling)을 부여하고, 이미지 상에 픽셀 위치로 표현되는 좌표를 이용하여, 정적물체를 나타낼 수 있다.
보다 자세하게, 도 4는 이미지 처리 장치가 입력된 이미지로부터 추출한 대표적인 정적물체인 문들과 이들에 대한 라벨링 및 좌표값을 예시한다.
도 4를 참조하면, 이미지 상의 좌측 하단에 위치한 픽셀점이 기준점인 (0,0)으로 설정되고, 가로축이 x좌표, 세로축이 y좌표로 설정되는 경우, 표시될 수 있는 라벨링과 좌표값이 예시된다.
예를 들어, 이미지 처리 장치는 이미지 상의 오른쪽에서부터 왼쪽방향으로 추출된 문들을 Door1, Door2, ... 와 같이 라벨링을 하고, 각 문들의 좌표는 각 꼭지점의 픽셀상 위치들인 {(x11,y11), (x12,y12), (x13,y13), (x14,y14)}로 표시할 수 있다.
또한, 이미지 처리 장치는 이와 유사한 방법으로, 다른 정적물체들도 표현할수 있다.
도 5는 본 명세서가 적용될 수 있는 분리선 인식 방법의 예시이다.
본 명세서에서 분리선은 복도 또는 천정과 같이 특정 면들을 분리하는 선을 의미할 수 있다. 이러한 분리선을 기준으로 정적물체들이 나열될 수 있다. 따라서, 분리선 인식을 통해, 이미지 처리 장치는 정적물체의 윤곽선을 추출하 있다.
도 5를 참조하면, 이미지 처리 장치는 분리선들을 라벨링을 한 후, 전술한 방법과 유사하게 좌표값들을 이용하여, 분리선들을 표시 할 수 있다. 예를 들어, 분리선들은 점들이 연속된 직선형태를 갖을 수 있으므로, 이미지 처리 장치는 각각의 분리선들을 2차원의 선 형식으로 나타낼 수 있다.
도 6은 본 명세서가 적용될 수 있는 보정 방법의 예시이다.
보정 방법은 촬영된 이미지를 2D 설계도면으로 변환하기에 적합한 형태로 필요한 보정을 하는 단계로서, 다음의 단계들이 포함될 수 있다.
1) 이미지 회전 보정: 이 과정은 촬영된 이미지가 정면으로 촬영되지 않은 경우, 이를 정면에서 촬영한 형태로 변환하기 위해, 필요한 회전을 수행하는 단계이다. 이를 위하여, 이미지 처리 장치는 이미지가 촬영된 각도 등을 추정하고 계산하는 과정과 필요한 회전 각도를 산출하고, 실제로 이미지를 회전시키는 과정들을 수행할 수 있다.
예를 들어, 이러한 과정은 전술한 단계 (1)과 단계 (2)의 앞, 뒤 또는 단계 내에 포함될 수도 있다.
2) 정적물체 보정: 이 과정은 단계 (1)에서 추출된 정적물체의 정확한 모습을 보정하기 위한 과정을 포함한다. 예를 들어, 이미지 처리 장치는 단계 (1)에서 추출된 정적물체 영역에서 정적물체의 윤곽선을 정밀하게 추정하고, 이를 기반으로 정적물체의 정확한 형태를 추출해 낼 수 있다.
또한, 이미지 처리 장치는 정적물체 윤곽선의 좌표값을 계산할 수 있다.
예를 들어, 이러한 과정은 전술한 단계 (1)의 단계 내, 또는 단계 (2)의 앞, 뒤 또는 단계 내에 포함될 수 있다.
3) 분리선 보정: 만일, 단계 (2)에서 인식된 분리선들이 복수 개인 경우, 이미지 처리 장치는 설계도면 추정을 위한, 가장 적합한 분리선을 추출하고, 추출된 분리선을 정적물체들과 연계하여 보정할 수 있다. 가장 적합한 분리선은 대표 정적물체와 연관된 분리선을 의미할 수 있다.
예를 들어, 이미지 처리 장치는 추출된 정적물체 중에서 대표 정적 물체를 판단할 수 있다. 보다 자세하게, 대표 정적물체는 정적물체 중에 면적이 가장 큰 정적물체 및/또는 라벨링 작업을 통해, 분류된 정적물체의 정확도가 가장 높은 정적물체를 의미할 수 있다. 이미지 처리 장치는 전술한 면적 및/또는 정확도에 따라 정적물체에 우선순위값을 부여할 수 있다. 우선순위값이 가장 높은 정적물체의 윤곽선을 포함하거나, 가장 거리가 가까운 분리선이 가장 적합한 분리선으로 추출될 수 있다.
도 6은 추출된 정적물체인 문들의 영역에서 보정을 통하여, 이들의 정밀한 윤곽선이 보정되어 추출된 상태를 예시한다.
도 7은 본 명세서가 적용될 수 있는 교차점인식 방법의 예시이다.
본 명세서에서 교차점은 정적물체와 분리선이 교차하는 점을 의미할 수 있다. 예를 들어, 이미지 처리 장치는 정적물체의 윤곽선의 연장선과 분리선이 교차하는 점을 교차점으로 판단할 수 있다.
도 7을 참조하면, 인식된 정적물체 좌표값들과 분리선의 좌표간의 관계를 통하여, 이미지 처리 장치는 도 6에서 예시하는 보정된 문들과 복도선을 나타내는 분리선들이 교차하는 교차점들을 판단할 수 있다.
예를 들어, 각 교차점들은 교차점을 나타내는 라벨링 및 교차점의 픽셀 좌표(예를 들어, C1(x1,y1),...)로 표현될 수 있다.
도 8은 본 명세서가 적용될 수 있는 거리계산 방법의 예시이다.
이미지 처리 장치는 전술한 교차점들간의 거리를 계산할 수 있다. 거리계산을 위하여, 분리선들이 사용될 수 있다.
예를 들어, 거리 계산을 위하여, 이미지 처리 장치는 교차점을 지나는 분리선과 이에 대칭되는 분리선을 이용하여, 두 분리선이 연장되어 서로 만나는 소실점(vanishing point)을 계산할 수 있다.
본 명세서에서 대칭되는 분리선은 서로 대응되는 면에 위치하는 분리선을 의미할 수 있다. 예를 들어, 기준 분리선이 바닥의 면에 위치하는 분리선인 경우, 대칭되는 분리선은 상단(천장) 면에 위치하는 분리선일 수 있다.
도 8을 참조하면, 이미지 처리 장치는 두 개의 분리선 Line1과 Line2를 연장하여, 소실점 V1(x1,y1)를 계산할 수 있다.
이미지 처리 장치는 소실점 좌표 V1과 각 교차점의 좌표들(예를 들어, C1, C2,...)에 대하여 잘 알려진 방법인 비조화비(anharmonic ratio)를 적용할수 있다.
도 9는 본 명세서가 적용될 수 있는 비조화비를 이용한 거리계산 방법의 예시이다.
도 9를 참조하면, 이미지 처리 장치는 교차점들의 좌표를 사용하여 교차점의 좌표들간 픽셀거리들인 p12, p23, ...를 계산할 수 있다. 예를 들어, p12는 교차점 C1과 교차점 C2간의 픽셀거리를 의미한다.
이미지 처리 장치는 픽셀거리들에 대하여, 비조화비를 적용할 수 있다.
예를 들어, 이미지 처리 장치는 C1과 C2거리인 d12를 1로 하여, 상대 거리인 d23, d34, ... 를 계산할 수 있다. 이미지 처리 장치가 d12의 실제 거리를 알 수 있는 경우, 이를 다른 거리들에 반영하여, 다른 픽셀거리들의 실제거리도 계산할 수 있다. 또한, 이미지 처리 장치는 d12=1을 기준으로하여 픽셀거리들을 상대거리로 표현할 수 있다.
이미지 처리 장치는 전술한 단계 (5)를 통해, 이미지에서 인식된 정적 물체들의 크기와 정적 물체들 사이의 거리 비율들을 계산할 수 있다.
데이터 구성 단계는 이미지 처리 장치가 계산된 거리 정보들을 이용하여, 설계도면을 추정하는 데 필요한 데이터 형식을 생성하는 과정이다.
표 1은 본 명세서가 적용될 수 있는 데이터 구성의 예시이다.
다음의 표 1을 참조하면, 전술한 교차점을 기준으로 하여, 설계도면을 만드는 데, 용이한 데이터 구성의 형태를 예시한다.
시작 | 종료 | 거리 | 구분 | 기타 |
c1 | c2 | d12 | Door | Right |
c2 | c3 | d23 | Wall | Right |
c3 | c4 | d34 | Door | Right |
… | … | … | … |
도 10은 본 명세서가 적용될 수 있는 설계도면 구성의 예시이다.이미지 처리 장치는 이미지에 나타난 분리선들의 방향이 이미지를 촬영한 방향을 기준으로, 설계도면에서 오른쪽 부분인지 왼쪽 부분인지를 구별해야 할 필요가 있다.
예를 들어, 이미지 처리 장치는 소실점이 나타나는 방향이 x축이 감소하는 방향으로 나타나는 분리선들은 우측, 반대인 경우는 좌측으로 판단 할 수 있다. 또한, 위와 유사한 목적을 위해, 향상된 컴퓨터 그래픽 기술을 활용한 방법들이 적용될 수 있음은 물론이다.
도 10을 참조하면, 이미지 처리 장치는 처음 교차점의 위치만 설정되면, 표 1의 데이터를 기반으로, 도 10(a)와 같은 형태를 유추 할 수 있다.
또한, 이미지 처리 장치는 도 10(a)를 이용하여, 도 10(b)에서 예시되는 설계도면과 유사한 도면을 생성 할 수 있다.
예를 들어, 이미지 처리 장치는 d12=1를 기준 거리로 하여, 각 교차점 간의 상대거리에 맞추어, 교차점들 및 라벨링된 정적물체들을 배열할 수 있다. 즉, 추정되는 설계도면은 첫 번째 정적 물체부터 마지막 정적 물체까지 비율에 따라 순서데로 배열되어 생성될 수 있다.
도 11은 본 명세서가 적용될 수 있는 양쪽벽면 설계도면의 예시이다.
도 11을 참조하면, 이미지 처리 장치는 이미지가 양쪽 벽면을 갖는 경우에도 양쪽 벽면에 대하여 전술한 방법을 통해, 설계도면을 추정할 수 있다.
도 12는 본 명세서가 적용될 수 있는 일 실시예이다.
도 12를 참조하면, 이미지 처리 장치는 AI 모듈이 포함된 전자기기(100)를 포함할 수 있다.
이미지 처리 장치는 설계도면을 추정하기 위한 이미지를 획득한다(S1210). 예를 들어, 이러한 이미지는 이미지 처리 장치에 입력되거나, 이미지 처리 장치에 포함된 카메라 센서로부터 획득될 수 있다.
이미지 처리 장치는 이미지로부터 설계도면과 관련된 정적 객체(static object)를 추출한다(S1220). 여기서, 정적 객체는 전술한 정적물체를 의미할 수 있다. 정적 객체를 추출하기 위해, 이미지 처리 장치는 학습된 AI 모델을 이용할 수 있다.
이미지 처리 장치는 추출된 정적 객체에 근거하여, 정적 객체와 관련된 분리선을 인식한다(S1230). 이러한 분리선은 복수개일 수 있으며, 이 경우, 이미지 처리 장치는 우선순위가 높은 정적 객체와 관련된 가장 적합한 분리선을 선택할 수 있다.
이미지 처리 장치는 정적 객체의 바운더리(boundary)를 연장한 선과 분리선이 교차하는 복수개의 교차점들을 계산한다(S1240).
이미지 처리 장치는 교차점들 사이의 거리값을 계산한다(S1250). 예를 들어, 거리값은 실제거리값 및 상대거리값을 포함할 수 있다.
이미지 처리 장치는 거리값에 근거하여, 정적 객체를 나타내기 위한 설계도면을 생성한다(S1260). 예를 들어, 이미지 처리 장치는 생성된 설계도면의 반대방향을 나타내는 설계도면도 동일한 방법을 통해 생성할 수 있다.
또한, 이미지 처리 장치는 생성된 설계도면과 입력된 실제 설계도면을 비교 할 수 있다. 예를 들어, 이미지 처리 장치는 전술한 데이터 구조를 이용하여, 역으로 실제 설계도면에 대응되는 데이터 구조를 생성할 수 있고, 이러한 데이터 구조들간의 차이를 판단할 수 있다.
또한, 이미지 처리 장치는 상기 생성된 설계도면에 근거하여, 상기 이미지가 획득된 위치 및 방향을 판단할 수 있다. 예를 들어, 이미지에서 촬영렌즈가 위치한 앞부분이 촬영 대상이 되므로, 이미지 처리 장치는 촬영렌즈가 어디에 서서 어디를 바라보는지를 설계도면 상에 투영 할 수 있다.
예를 들어, 이미지 처리 장치는 획득된 이미지를 통해 추정된 설계도면과 일치하는 실제 설계도면의 부분을 찾을 수 있고, 이를 통해, 이미지 처리 장치는 실내에서의 촬영자 위치와 바라보는 방향에 대한 추정을 할 수 있다. 이를 통해, 본 명세서에서의 실시예는 실내위치 인식에 활용될 수 있다. 전술한 동작을 위해, 이미지 처리 장치는 실제 설계도면을 저장하여 보관할 수 있다.
전술한 본 명세서는, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
또한, 이상에서 서비스 및 실시 예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 명세서를 한정하는 것이 아니며, 본 명세서가 속하는 분야의 통상의 지식을 가진 자라면 본 서비스 및 실시 예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 명세서의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (20)
- 이미지(Image)로부터 이미지 처리 장치가 설계도면을 추정하기 위한 방법에 있어서,
상기 설계도면을 추정하기 위한 이미지를 획득하는 단계;
상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하는 단계;
상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하는 단계로서, 상기 분리선은 상기 정적 객체가 위치하는 특정 면을 다른 면들과 분리하는 선임;
상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하는 단계;
상기 교차점들 사이의 거리값을 계산하는 단계; 및
상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성하는 단계; 를 포함하며,
상기 교차점들 사이의 거리값을 계산하는 단계는
상기 분리선의 연장선과 상기 분리선과 대칭되는 분리선의 연장선이 만나는 소실점(vanishing point)을 계산하는 단계;
상기 소실점 및 상기 교차점들에 근거하여, 상기 교차점들 사이의 상대거리를 계산하기 위한, 기준 교차점을 설정하는 단계; 및
상기 기준 교차점에 근거하여, 상기 교차점들 사이의 거리값을 계산하는 단계;
를 포함하는 방법. - 제1항에 있어서,
상기 이미지가 기울어진 경우, 상기 이미지를 회전하는 단계; 및
상기 정적 객체의 바운더리를 설정하는 단계;
를 더 포함하는 방법. - 제2항에 있어서,
상기 교차점들에 근거하여, 상기 설계도면을 생성하기 위한 데이터를 구성하는 단계; 를 더 포함하는 방법. - 제3항에 있어서,
상기 데이터는
1) 상기 정적 객체의 라벨링(labeling) 정보, 2) 상기 교차점들의 정보 및 3) 상기 거리값을 포함하는 방법. - 제1항에 있어서,
상기 분리선을 인식하는 단계는
상기 정적 객체와 관련된 분리선이 복수개인 경우, 우선순위가 높은 정적 객체와 관련된 가장 적합한 분리선을 선택하는 단계; 를 포함하는 방법. - 삭제
- 제1항에 있어서,
상기 설계도면을 생성하는 단계는
상기 이미지가 촬영된 방향을 판단하기 위해, 상기 소실점에 근거하여 상기 분리선의 방향성을 판단하는 단계;
를 포함하는 방법. - 제7항에 있어서,
상기 설계도면을 생성하는 단계는
상기 설계도면의 반대 방향을 나타내는 설계도면을 생성하는 단계; 를 더 포함하는 방법. - 제1항에 있어서,
상기 생성된 설계도면과 실제 설계도면과의 차이를 판단하는 단계;
를 더 포함하는, 방법. - 제1항에 있어서,
상기 생성된 설계도면에 근거하여, 상기 이미지가 획득된 위치 및 방향을 판단하는 단계;
를 더 포함하는, 방법. - 이미지(Image)로부터 설계도면을 추정하기 위한 이미지 처리 장치에 있어서,
메모리;
상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며,
상기 프로세서는
상기 설계도면을 추정하기 위한 이미지를 획득하고,
상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하며,
상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하고, 상기 분리선은 상기 정적 객체가 위치하는 특정 면을 다른 면들과 분리하는 선이고,
상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하며,
상기 교차점들 사이의 거리값을 계산하고,
상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성하며,
상기 교차점들 사이의 거리값을 계산하기 위해, 상기 분리선의 연장선과 상기 분리선과 대칭되는 분리선의 연장선이 만나는 소실점(vanishing point)을 계산하고, 상기 소실점 및 상기 교차점들에 근거하여, 상기 교차점들 사이의 상대거리를 계산하기 위한, 기준 교차점을 설정하며, 상기 기준 교차점에 근거하여, 상기 교차점들 사이의 거리값을 계산하는 이미지 처리 장치. - 제11항에 있어서,
상기 프로세서는
상기 이미지가 기울어진 경우, 상기 이미지를 회전하고, 상기 정적 객체의 바운더리를 설정하는 이미지 처리 장치. - 제12항에 있어서,
상기 프로세서는
상기 교차점들에 근거하여, 상기 설계도면을 생성하기 위한 데이터를 구성하는 이미지 처리 장치. - 제13항에 있어서,
상기 데이터는
1) 상기 정적 객체의 라벨링(labeling) 정보, 2) 상기 교차점들의 정보 및 3) 상기 거리값을 포함하는 이미지 처리 장치. - 제11항에 있어서,
상기 프로세서는
상기 분리선을 인식하기 위해, 상기 정적 객체와 관련된 분리선이 복수개인 경우, 우선순위가 높은 정적 객체 와 관련된 가장 적합한 분리선을 선택하는 이미지 처리 장치. - 삭제
- 제11항에 있어서,
상기 프로세서는
상기 이미지가 촬영된 방향을 판단하기 위해, 상기 소실점에 근거하여 상기 분리선의 방향성을 판단하는 이미지 처리 장치. - 제11항에 있어서,
상기 프로세서는
상기 생성된 설계도면과 실제 설계도면과의 차이를 판단하는 이미지 처리 장치. - 제11항에 있어서,
상기 프로세서는
상기 생성된 설계도면에 근거하여, 상기 이미지가 획득된 위치 및 방향을 판단하는 이미지 처리 장치. - 이미지(Image)로부터 설계도면을 추정하기 위한 이미지 처리 장치에 있어서,
카메라 센서;
메모리;
상기 카메라 센서 및 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하며,
상기 프로세서는
상기 카메라 센서를 통해, 상기 설계도면을 추정하기 위한 이미지를 획득하고,
상기 이미지로부터 상기 설계도면과 관련된 정적 객체(static object)를 추출하며,
상기 정적 객체에 근거하여, 상기 정적 객체와 관련된 분리선을 인식하고, 상기 분리선은 상기 정적 객체가 위치하는 특정 면을 다른 면들과 분리하는 선이고,
상기 정적 객체의 바운더리(boundary)를 연장한 선과 상기 분리선이 교차하는 복수개의 교차점들을 계산하며,
상기 교차점들 사이의 거리값을 계산하고,
상기 거리값에 근거하여, 상기 정적 객체를 나타내기 위한 상기 설계도면을 생성하며,
상기 교차점들 사이의 거리값을 계산하기 위해, 상기 분리선의 연장선과 상기 분리선과 대칭되는 분리선의 연장선이 만나는 소실점(vanishing point)을 계산하고, 상기 소실점 및 상기 교차점들에 근거하여, 상기 교차점들 사이의 상대거리를 계산하기 위한, 기준 교차점을 설정하며, 상기 기준 교차점에 근거하여, 상기 교차점들 사이의 거리값을 계산하는 이미지 처리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200108174A KR102251076B1 (ko) | 2020-08-26 | 2020-08-26 | 실내 이미지를 사용하여 설계도면을 추정하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200108174A KR102251076B1 (ko) | 2020-08-26 | 2020-08-26 | 실내 이미지를 사용하여 설계도면을 추정하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102251076B1 true KR102251076B1 (ko) | 2021-05-13 |
Family
ID=75913217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200108174A KR102251076B1 (ko) | 2020-08-26 | 2020-08-26 | 실내 이미지를 사용하여 설계도면을 추정하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102251076B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102480715B1 (ko) * | 2022-10-13 | 2022-12-23 | (주)올포랜드 | 딥러닝을 활용한 도면 이미지 기반 대피경로 자동 생성 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180074568A (ko) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 차선 정보를 추정하는 방법 및 전자 장치 |
WO2020085694A1 (ko) * | 2018-10-23 | 2020-04-30 | 삼성전자 주식회사 | 이미지 획득 장치 및 그의 제어 방법 |
KR20200085142A (ko) * | 2019-01-04 | 2020-07-14 | 삼성전자주식회사 | 청소 공간의 지도 데이터를 생성하는 장치 및 방법 |
-
2020
- 2020-08-26 KR KR1020200108174A patent/KR102251076B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180074568A (ko) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 차선 정보를 추정하는 방법 및 전자 장치 |
WO2020085694A1 (ko) * | 2018-10-23 | 2020-04-30 | 삼성전자 주식회사 | 이미지 획득 장치 및 그의 제어 방법 |
KR20200085142A (ko) * | 2019-01-04 | 2020-07-14 | 삼성전자주식회사 | 청소 공간의 지도 데이터를 생성하는 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102480715B1 (ko) * | 2022-10-13 | 2022-12-23 | (주)올포랜드 | 딥러닝을 활용한 도면 이미지 기반 대피경로 자동 생성 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11989350B2 (en) | Hand key point recognition model training method, hand key point recognition method and device | |
US10593322B2 (en) | Electronic device and method for controlling the same | |
KR102421487B1 (ko) | 인공 지능 기기 | |
KR102455199B1 (ko) | 인공지능 디바이스 | |
CN108965954A (zh) | 使用用于减少视频的回放时间的智能分析的终端 | |
KR102479499B1 (ko) | 이동 단말기 | |
CN104238739A (zh) | 基于眼睛跟踪的可见度提高方法和电子装置 | |
KR20200009916A (ko) | 전자 장치 및 그 제어 방법 | |
US12008686B2 (en) | Augmented reality map curation | |
CN109272473B (zh) | 一种图像处理方法及移动终端 | |
KR20220067926A (ko) | 연합학습 모델에서 이상 클라이언트를 제거하는 방법 | |
KR102082418B1 (ko) | 전자 장치 및 그 제어 방법 | |
KR102434459B1 (ko) | 이동 단말기 | |
KR20190116035A (ko) | 인공지능 서버 | |
KR102708688B1 (ko) | 전자 장치 및 그 제어 방법 | |
KR102172772B1 (ko) | 인공지능 서버 및 인공지능 디바이스 | |
KR102096191B1 (ko) | 모니터링 | |
US11734400B2 (en) | Electronic device and control method therefor | |
KR102251076B1 (ko) | 실내 이미지를 사용하여 설계도면을 추정하는 방법 | |
CN112818733B (zh) | 信息处理方法、装置、存储介质及终端 | |
US20190163436A1 (en) | Electronic device and method for controlling the same | |
CN111753813A (zh) | 图像处理方法、装置、设备及存储介质 | |
KR102420280B1 (ko) | 이동 단말기 | |
KR102114064B1 (ko) | 이동 단말기 | |
KR102549144B1 (ko) | 중단 없는 기계학습 클러스터 재구성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |