Advanced
Study on the 3D Modeling Data Conversion Algorithm from 2D Images
Study on the 3D Modeling Data Conversion Algorithm from 2D Images
Journal of Korea Multimedia Society. 2016. Feb, 19(2): 479-486
Copyright © 2016, Korea Multimedia Society
  • Received : November 09, 2015
  • Accepted : January 02, 2016
  • Published : February 28, 2016
Download
PDF
e-PUB
PubReader
PPT
Export by style
Article
Author
Metrics
Cited by
About the Authors
태준, 최
Dept. of Creative ICT Eng., Busan University of Foreign Studies
희만, 이
Dept. of Multimedia, Seowon University
응수, 김
Div. of Digital Media Eng., Busan University of Foreign Studies
eskim@bufs.ac.kr

Abstract
In this paper, the algorithm which can convert a 2D image into a 3D Model will be discussed. The 2D picture drawn by a user is scanned for image processing. The Canny algorithm is employed to find the contour. The waterfront algorithm is proposed to find foreground image area. The foreground area is segmented to decompose the complex shapes into simple shapes. Then, simple segmented foreground image is converted into 3D model to become a complex 3D model. The 3D conversion formular used in this paper is also discussed. The generated 3D model data will be useful for 3D animation and other 3D contents creation.
Keywords
1. 서 론
최근 디지털 정보 기술의 발달로 디지털 정보를 표현하는 데 있어 2D에서 3D로 변화되고 있다. 이러한 변화의 흐름으로 인하여 3D 데이터를 활용한 소프트웨어 및 전용 하드웨어의 기술이 계속 발전하고 있다. 3D 형태의 콘텐츠는 일반적으로 사용자들이 보기에 사실과 유사한 입체적 느낌을 줄 수 있어 사실적인 표현이 가능하여 영화, 광고, 게임 등 여러 분야에서 다양하게 적용 및 활용되고 있다 [1 - 6] . 하지만 일반 사용자들은 이러한 3D의 사용방법에 대하여 잘 알지 못한다. 3D 소프트웨어의 제작과정 중 3D 영상 분야로 3D 모델링, 애니메이션, 렌더링의 세 가지 단계를 거친다. 이때 각 단계의 특수 소프트웨어를 사용해 2D이미지를 3차원 이미지로 모델링한 후 움직이는 등의 표현을 한다. 평면적 이미지에 그리자, 색상, 농도와 같은 변화를 주어 렌더링 하게 되면 입체적인 3D 이미지를 생성한다. 이중 가장 많이 사용되는 3D 저작 툴은 2D이미지를 3D모델링 데이터로 만드는 중요한 역할을 한다. [7] 이러한 과정은 일반 사용자들이 3D 콘텐츠를 제작에 많은 어려움이 있고 3D 콘텐츠를 제작하기 위한 시간 또한 오래 걸린다. 이에 2D 이미지를 이용하여 3D 콘텐츠로 변화하는 알고리즘을 개발하여 사용한다면 일반 사용자들도 쉽게 3D 콘텐츠를 제작하는데 어렵지 않게 다가올 수 있을 것이다. 연구의 방법은 다음과 같다. 2장에서는 관련 연구로 3D 변환 제작에 대한 여러방법을 설명한다. 3장에서는 2D 이미지를 3D데이터로 컨버전에 대한 3D 모델 방법을 제안하며 4장에서는 연구의 실험결과를 도출한다. 5장에서는 결론 및 향후 연구에 대하여 설명한다.
2. 관련 연구
본 연구의 3D 데이터 획득에 관한 알고리즘에 대한 연구로 3D 데이터 획득의 다양한 방법 중 많이 사용되고 있는 3D Scanner, Stereo Image, Shape Form Shading(SFS), 3D Modeling으로 정리할 수 있다. 이 4가지 방법은 학교나 산업에서 직접 사용하는 방법으로 평면 이미지 또는 사물을 3D 데이터를 획득하기 위한 방법으로 사용되고 있다.
첫째, 3D Scanner란? 임의의 물체에 레이저나 백색광을 투사하여 물체의 형상정보를 취득하고 디지털 정보로 전환하는 장비로써 시스템의 특성상 색상 정보(Texture)를 동시에 얻을 수도 있다. 3D Scanner는 CMM(Coordinated measuring Machine)과 3차원 스캐너의 특징으로 나눌 수 있다. 일반적인 3D Scanner는 몇 번의 움직임을 통하여 형상정보를 쉽고 정확하게 취득할 수 있으며 3차원 측정기라 불리는 CMM(Coordinated measuring Machine)은 복잡한 시스템으로 표면의 위치를 컴퓨터로 처리하여 크기나 위치를 검출할 수 있다. 3D Scanner는 3차원의 스캐너 기기와 획득한 정보를 가공하는 데이터 처리 프로그램으로 구성된다. 일반적인 스캐너는 2D 그림이나 문서를 복사하는 데 사용하나 3D Scanner는 3차원의 데이터 그래픽으로 구현이 가능하다.
둘째, 보통 2D 이미지에서 3D 이미지의 제작방법에 스트레오 이미지를 사용한다. 3D 이미지를 제작하기 위해 스테레오 이미지는 객체의 특징적인 깊이 정보를 이용하지 못한다는 점에서 스트레오 영상을 통하여 객체의 깊이정보와 거리정보를 추출한다. 예를 들어 얼굴 영상의 추출 시 눈, 코, 입 등의 깊이정보가 각각 다른 부분을 추출할 수 있다.
PPT Slide
Lager Image
Stand SFS Image. https://hal.inria.fr/
셋째, Shape From Shading은 1970년에 Horn [8] 에 의해 제안된 이후 다양한 방법과 분야에 많은 후속 연구가 진행되고 있다 [9 , 10] . 3D 컴퓨터 그래픽에 표시하기 위한 고도 데이터와 같은 값을 저장하는데 사용되는 레스터 이미지로 3D 데이터 변위 mapping 질감 표면 또는 지형 하이트 3D 메쉬를 변환에 대한 포인트의 실제 형상위치를 치환하는 물체에 그림자를 만들어 사용하고 3D의 Bump Mapping에 사용하는 방법 [11] 이다. 이미지 RGB 색상이 제거된 흑백 이미지의 색상 분포 및 비율을 분석하고 음영의 데이터를 3D 데이터로 높고 낮음의 과정을 제작해 데이터를 표현할 수 있다. 흑백의 영역에서 색상의 빈도수를 고려하여 흑백의 비율로 분석하여 고저의 데이터 [12] 로 나타낸다.
넷째, 3차원 모델링(3D Modeling)은 컴퓨터 그래픽스의 분야에서 가상의 3차원 공간속에 재현될 수 있는 수학적 모델을 만들어 내는 과정을 말한다 [13] . 3차원적인 물체는 3차원 선으로 표현되어 나타나며 렌더링 과정을 통해 실제 물체와 비슷한 양감과 질감을 가질 수 있다. 이러한 3차원 모델링은 곡면, 스플라인, B-스플라인 등과 같은 여러 가지 면의 표현을 통해 사실적인 데이터를 만들어 낼 수 있다. 3D 모델링을 활용하여 게임, 광고, 영화 등 여러 분야에 사용되고 있는 방법 중 하나이다.
PPT Slide
Lager Image
3D Modeling. http://previewcf.turbosquid.com/
3. 3D 모델방법 제안
Fig. 3 은 2D 이미지에서 3D 데이터 획득을 위한 블록 알고리즘으로 2D 이미지를 이용하여 회색의 이미지로 변형한 뒤 엣지 검출 처리를 한다. 이는 이미지의 외각라인만을 위하여 3D 데이터를 만들기 위해 사용한다. 3D의 공간적인 면을 위해 앞면과 뒷면의 면을 생성하고 3D 이미지를 완성한다.
PPT Slide
Lager Image
Block Diagrams.
- 3.1 세그멘테이션(Segmentation)
2D 이미지에서 3차원 데이터로 변환하기 위한 첫번째 단계로 세그멘테이션 과정을 거치게 된다. 세그멘테이션(Segmentation)은 우리가 얻은 2D 이미지에서 3D 모델로 변환 시 2D 이미지의 객체 영역을 찾아 그것을 이미지 배경 부분과 전경 부분을 분리하는 것이다.
- 3.1.1 이미지의 전경과 배경의 분리
Fig. 4 은 이미지의 전경과 배경 부분을 설명한 것으로 그림에서 영역 A는 배경을 영역 B는 전경을 의미한다. 단순한 모형의 전경과 배경의 분리는 비교적 단순한 방법에 의하여 분리가 가능하다. 하지만 다소 복잡한 외곽선을 갖는 도형은 전경과 배경 분리 작업 시 다소 복잡한 연산이 필요하다. 전경과 배경을 분리하는 방법은 매우 다양한 방법이 있다.
PPT Slide
Lager Image
Foreground and Background.
방법들은 각각의 장·단점이 있고 각각 어느 특정 분야에서 장·단점을 발휘한다. 본 논문에서는 에지(Edge)를 검출하고 Waterfront 알고리즘에 의해 영역을 검출하고자 한다.
본 연구에서 3D 모델링 제작을 위해 사용하는 2D 이미지는 전경 이미지 분리를 비교적 쉽게 하기 위하여 Fig. 4 과 같이 중심 도형의 외부에 여백이 있는 이미지라고 가정한다. 만일 여백이 없는 경우에는 임의로 여백을 만들어 전경과 배경을 분리한다. 이런 가정 하에 배경 부분에는 정보가 없음으로 에지(Edge)를 검출하여 경계 영역을 검출하고자 한다. Edge Detection 기법은 데이터 크기를 줄이며, 의미없는 자료를 없애주고, 영상의 구조적 정보 보존 측면에 영상처리에 많이 사용되는 기법이다. 대부분의 에지추출 마스크는 잡음에 대해 민감하므로, 작은 잡음이라도 그것을 에지로 간주하여 추출하는 경우가 많다. 이러한 부분의 단점을 보완하기 위한 방법이 캐니 마스크를 이용한 에지추출기법으로 실제로 잡음에 민감하지 않게 하며 효과적인 에지추출을 할 수 있다. Fig. 5 은 원본 이미지의 에지(Edge) 검출 이미지이다. (a)는 원본 이미지이며 (b)LPF(Low Pass Filter)처리 이미지로 Edge Detection이 노이즈에 민감함으로 원본 이미지를 흑백이미지로 변경한 후 LPF로 처리한 이미지이다. 그리고 (c)는 Canny Edge Detection의 결과 이미지이다.
PPT Slide
Lager Image
Edge Detection.
- 3.1.2 Waterfront 알고리즘
Waterfront 알고리즘은 본 연구에서 제안하는 알고리즘으로 배경 이미지를 바다로 표현한다면 전경 이미지는 섬으로 간주될 수 있으며 바다와 섬 사이의 경계 부분을 검출하는 알고리즘이다.
Fig. 6 과 같이 바닷물이 가로축과 세로축으로만 흐른다는 가정 하에 최상단에서 부터 수평 오른쪽 방향과 수직 아래쪽 방향으로만 물이 흐를 때 에지(Edge)를 만나는 부분에서 물의 흐름이 멈추게 된다. 물이 지나가는 자리는 배경으로 분류한다. 다음은 배경이 아닌 최하단 위치를 찾아 수평 왼쪽 방향과 수직 방향으로 물이 흐를 때 에지를 만날 때까지 배경으로 분류한다. 여기까지를 한 사이클(Cycle)이라고 하고 더 이상 배경이 검출되지 않는 사이클이 되면 알고리즘이 종료된다. Fig. 7 은 한 사이클만 실행 한 경우 검출한 배경 부분을 표시 한 것이다. 한 사이클 연산에 대부분의 배경이 분류되며 일부 영역만 아직 전경으로 분류되어 있음을 알 수 있다. 여러 사이클을 거치는 동안 전경과 배경이 정확히 분류된다.
PPT Slide
Lager Image
Waterfront Algorithm.
PPT Slide
Lager Image
One Execution Cycle.
- 3.1.3 전경영역 세그먼테이션
Waterfront 알고리즘을 이용하여 배경과 분리된 전경 영역은 전경영역 세그멘테이션 방법에 의해 라벨링을 한다. 이는 복잡한 도형을 3D 모델로 만들기 위해서는 비교적 단순한 모델의 조합에 의해 전체 3D 모델을 구성하기 위함이다. 전경영역 세그멘테이션은 Waterfront 알고리즘과 유사하다. 라벨링이 적용되지 않은 부분의 최상단 수평 우측 방향과 수직 우측 방향으로 이동 시 배경영역과 접점까지의 영역이 같은 라벨링 영역이 된다. Fig. 8 의 (a)는 라벨링 방향과 (b)는 그 방향에 따라 라벨링된 결과이다.
PPT Slide
Lager Image
Foreground Region Segmentation.
- 3.2 버텍스 분배
같은 라벨 별로 3D 모델을 각각 따로 작성하고 최종 모델은 이들을 조합하여 전체를 구성하게 된다. 이런 방법을 이용하면 복잡한 도형의 모델도 구성할 수 있다. 버텍스의 분배는 Fig. 9 와 같이 같은 라벨링 영역을 일정한 구획으로 세분화를 한다. 본 논문에서는 수평축을 기준으로 같은 수평 축에는 같은 개수의 버텍스를 할당한다. 영역이 작으면 버텍스의 간격이 작아지고 영역이 넓어지면 버텍스 간격도 벌이지게 된다. 같은 수평축에 할당되는 버텍스 수가 많아질수록 고해상도의 3D 모델이 된다.
PPT Slide
Lager Image
Vertex Distribution of the Foreground Area.
- 3.3 면의 구성
같은 수평축에 같은 개수의 버텍스가 존재함으로 3개의 버텍스를 이용하여 일률적인 규칙에 따라 삼각면을 구성할 수 있다. Fig. 10 와 같이 H1 라인에 6개의 버텍스가 할당되어 있다면 H2 라인에도 6개의 버텍스가 있다. 그러므로 a->g->h, a->h->b, b-> h->i, b->i->c와 같이 일정한 룰에 따라 면을 구성한다.
PPT Slide
Lager Image
How to configure the plane.
- 3.4 모델의 완성
본 논문에서는 이미지의 가로 축을 x 축으로 사용하고 이미지의 수직 축은 y 축으로 사용한다. z 축은 화면을 기준으로 앞뒤의 방향이 되는데 이를 수평축 라인의 길이에 따라 + z 축으로 나오도록 구성한다. 본 논문에서는 우수계 좌표를 사용하여 + z 축은 화면을 기준으로 앞으로 튀어 나오는 방향이 된다. Fig. 11 는 2개의 수평 축 H1과 H2에 배치된 버텍스를 이용하여 3D 모델을 제작하는 원리를 설명한 것이다. 각각의 수평 축 끝단의 버텍스 a, f, g, l은 z = 0로 설정하고 다른 버텍스들은 H1과 H2의 라인의 길이에 따라 z 값을 적절히 계산한다. z 값의 계산은 응용분야에 따라 적절하게 조절할 수 있다. 모델의 윗면과 아랫면을 만들어 주기 위하여 H1과 H2의 수평축의 센터 위치에 버텍스를 추가하고 이 버텍스의 z 값을 z = 0로 설정한다. H1에 추가한 버텍스를 m이라고 하면 이 버텍스와 H1의 다른 버텍스를 이용하여 면을 구성하여 상면 또는 하면을 생성할 수 있다. Fig. 11 와 같이 구성한 모델의 버텍스를 복사하고 z 값을 대칭구조를 갖도록 - z 으로 설정하고 면의 방향을 우수계에 맞도록 조절하여 모델을 완성할 수 있다.
PPT Slide
Lager Image
Model making methods.
모델의 x,y 좌표는 이미지 좌표를 활용함으로 텍스처의 좌표는 바로 얻을 수 있으며 적절한 스케일로 조절하여 균형 잡힌 모델을 생성한다.
- 3.5 3D변환수식
Vertex 좌표 V ( vx , vy,vz )는 다음과 같이 정의된다. 모델의 3차원 좌표 중 vx vy 는 이미지 좌표 ( x,y )를 이용한다. Fig. 12 와 같이 모델의 중심을 기준으로 대칭이 되도록 Vertex를 부여하기 위하여 전경영역 이미지의 중심을 기준으로 대칭이 되도록 하였다. Sx , Sy , Sz 는 스켈링 계수이다. 모델의 좌표 vz 는 화면을 기준으로 앞뒤로 튀어나오는 정도를 설정하는 값이며, 수평축 라인의 길이 r ( y )에 cos θx 값을 곱한 것으로 centerX 위치에 θx = 0이고 같은 수평 축 양쪽 끝단의 위치는 θx = - π /2 또는 θx = - π /2가 되도록 한다.
PPT Slide
Lager Image
PPT Slide
Lager Image
For example, create a 3D model using complex shapes.
vz 값은 상호 대칭이 되도록 V ( vx,vy,vz ), V ( vx,y,-vz )으로 설정한다. 3D 모델의 최상단과 최하단에 모델의 면을 크로스하기 위하여 Vertex 2개를 Vn ( vnx,vny,vnz )과 Vs = ( vsx,vsy,vsz )를 설정한다. 위치는 주변 Vertex의 평균값을 이용하며 vnz = 0과 vsz = 0으로 설정한다. 앞·뒤 면이 설정된 후 버텍스 재조정 단계로 생성된 Vertex의 이미지 밝기 정보를 하이트맵(Hight Map)으로 사용하고 기존 Vertex의 위치를 다음과 같이 수정할 수 있다.
PPT Slide
Lager Image
(식) 2의 β 는 스켈링 인자, I ( x,y )는 이미지 평면상의 그레이 값, G max 는 그레이의 최대값이다.
4. 실험결과
본 논문의 실험 사양으로 OS_Windows7(64-bit), Intel(R) Core(TM) i7-2600 CPU, Main Memory 6.0GB로 구현하고 테스트 하였다. 이 실험은 먼저 3D 모델변환 테스트로 Fig. 13 과 같이 (a)(e)(i)의 2D 이미지를 이용하여 각각 변환 테스트를 하였다. Fig. 13 의 세로 방향으로 (a)(e)(i)는 이차원 이미지, (b)(f)(j)는 저역필터를 적용한 이미지, (c)(g)(k)는 에지추출 이미지, 마지막 (d)(h)(l)은 3D 모델로 변환한 결과 이미지이다. 사용포맷은 obj를 사용하였고 obj 파일포맷의 특성상 모델파일, mtl 파일 및 이미지 파일이 필요하다. 실험의 결과의 데이터 처리가 용의하기 위해 확장자만 다르고 같은 이름의 파일로 생성한다.
PPT Slide
Lager Image
3D transformation. (a)Heart Models, (e)Phillips models, (i)Octagonal Star models, (a)(e)(i)2D image, (b)(f)(j) low-pass filter, (c)(g)(k)image Edge Extraction, (d)(h)(i) 3D model conversion.
5. 결 론
본 논문은 2D 이미지로부터 3D 모델 변환 알고리즘 개발에 관한 연구로 2D 도형 이미지를 이용하여 3D 알고리즘으로 3D 데이터를 획득하였다. 변환 알고리즘을 이용한 2D 이미지를 3D 데이터로부터 모델링하는 방법에 대하여 테스트하였다. 도형의 모양은 일반적으로 사용자들이 많이 본 모양인 직선 및 곡선 도형으로 하트모형, 십자모형, 팔각별 모양으로 하여 테스트를 하였다. 각각의 도형 이미지로부터 전경을 분리하고 이 전경 영역에 일정간격으로 2차원상에 버텍스를 배치하며 배치한 버텍스 위치 및 이미지를 조정하여 3D 모델 데이터를 획득하였다. 그리고 버텍스 위치 재조정 알고리즘을 통하여 이미지의 계조 값에 의한 부자연스러운 문제를 해결하였다. 도형의 모양 중 하트모양의 곡선은 알고리즘의 특성상 정면에서는 정확한 모양의 3D 모양으로 출력된 것처럼 보이지만 하트 모형의 위부분인 곡면부분의 부자연스러운 결과가 나왔다. 하지만 실험의 3가지 모형에서 다양한 결과로 논문에서 사용한 알고리즘으로 생성한 3D 모델은 수작업에 의한 후처리가 필요하기는 하지만 비교적 양호한 결과를 얻을 수 있었다. 2D 이미지로부터 3D 모델링 데이터와 같은 입체 모델을 얻기 위해 알고리즘을 이용하여 제작·사용 및 일반인들이 사용하기 힘들고 배우더라도 시간이 많이 소요되는 어려움에 있어 다소 해결되었다고 생각된다. 이러한 3D 변환 알고리즘을 이용하여 다양한 분야에 적용한다면 편리하게 사용 될 것이다. 추후 3D 프린터의 보급으로 프린터 기기와 함께 3D 변환을 활용하여 사용 한다면 유용할 것으로 사료된다.
BIO
최 태 준
2003년 공주대학교 영상학과 공학사
2008년 공주대학교 영상예술대학원 게임멀티미디어 공학석사
2012년 아이에이치테크 연구소 소장
2014년 부산외국어대학교 일반대학원 ICT창의융합학과 박사과정
관심분야 : ICT융합 3D 입체영상 증강현실
이 희 만
1984년 고려대학교 전자공학과 공학사
1986년 한국 과학기술원 전기 및 전자공학과 공학석사
1994년 Texas A&M Electrical Eng. Ph.D
현재 서원대학교 멀티미디어학과 교수
관심분야 : 가상현실 증강현실
김 응 수
1990년 경북대학교 전자공학과공학사
1992년 경북대학교 대학원 전자공학과 공학석사
1996년 게이오대학교 대학원 물질과학과 공학박사
현재 부산외국어대학교 디지털 미디어학부 교수
관심분야 : 광소자, 광센서, 광집적회로
References
Choi C.S. 1996 “Classification of Fundermental Types of Korean Faces and Generation of the Faces for Each Province,” Institute of Electronics Engineers of Korea 19 (2) 943 - 946
DeCarlo D. , Metaxas D. , Stone M. “An Antropometric Face Model Using Variational Techniques,” Proceeding of Special Interest Group on GRAPHics and Interactive Techniques on Computer Graphics 1998 67 - 74
Waters K. “A Muscle Model for Animating Three-Dimension Facial Expression,” Proceeding of Special Interest Group on GRAPHics and Interactive Techniques on Computer Graphics 1987 Vol. 21, No. 4 117 - 124
Lee Y.C. , Terzopoulos D. , Waters K. “Realistic Modeling for Facial Animation,” Proceeding of Special Interest Group on GRAPHics and Interactive Techniques on Computer Graphics 1995 55 - 62
Jang S.W. 2011 “Estimation of 3D Rotation Information of Animation Character Face,” Journal of the Korea Society of Computer and Information 16 (8) 49 - 55    DOI : 10.9708/jksci.2011.16.8.049
Jang S.W. 2012 “Synthesizing Faces of Animation Characters Using a 3D Model,” Journal of the Korea Society of Computer and Information 17 (8) 31 - 40    DOI : 10.9708/jksci.2012.17.8.031
Industry trends in 2D and 3D image conversion http://www.gokea.org
Horn B.K.P. 1970 Shape From Shading: A Method For Obtaining The Shape Of A Smooth Opaque Object From One View, MIT AI Lab Technical Report
Zhang R. , Tsai P/Sing 1999 "Shape from Shading: A Survey," IEEE Trans. on Pattern Analysis and Machine Intelligence 21 (8) 690 - 706    DOI : 10.1109/34.784284
Garcia-Zurdo Ruben 2015 "Three-dimensional Face Shape By Local Feature Prediction," International J. of Image Processing 9 (1) 1 - 10    DOI : 10.1049/iet-ipr.2013.0808
Heightmap http://en.wikipedia.org/wiki/Heightmap
Byun H.W. , Jung H.M. 2011 "Cartoon Character Rendering Based on Shading Capture of Concept Drawing," Journal of Korea Multimedia Society 14 (8) 1082 - 1093    DOI : 10.9717/kmms.2011.14.8.1082
3D Modeling https://ko.wikipedia.org/wiki/3D_Modeling