Journal of the Society of Naval Architects of Korea
[ Original Article ]
Journal of the Society of Naval Architects of Korea - Vol. 56, No. 1, pp.66-74
ISSN: 1225-1143 (Print) 2287-7355 (Online)
Print publication date 20 Feb 2019
Received 21 Sep 2018 Revised 16 Oct 2018 Accepted 26 Oct 2018
DOI: https://doi.org/10.3744/SNAK.2019.56.1.066

Shell Template Offset 도면을 활용한 선체 곡판 형상 복원 방법에 관한 연구

황인혁1 ; 손승혁2,
1삼성중공업 조선해양연구소
2서울대학교 조선해양공학과
A Study on the Method for Reconstructing the Shell Plates Surface from Shell Template Offset Drawing
Inhyuck Hwang1 ; Seunghyeok Son2,
1Samsung Heavy Industries Co., Ltd., Korea
2Department of Naval Architecture and Ocean Engineering, Seoul National University, Korea

Correspondence to: kalnal12@snu.ac.kr

Abstract

In the field of shipbuilding design, the use of 3D CAD is becoming commonplace, and most of the large shipyards are conducting 3D design. However at the production site, workers are still working on 2D drawings rather than 3D models. This tendency is even worse in small-scale shipyards and block manufacturing shops. Particularly, in a manufacturing shop that is engaged in the outsourcing of blocks, it may not be possible to provide 3D model. However, the demand for 3D models in the production field is steadily increasing. Therefore, it would be helpful if 3D model could be generated from a 2D drawing. In this paper, we propose a method to extract template and unfolded surface shape information from shell template offset drawing using computer vision technology. Also a 3D surface model was reconstructed and visualized from the extracted information. The result of this study is thought to be helpful in the work environment where 3D model information can not be obtained.

Keywords:

Shell template offset, Shell plate fabrication, Drawing recognition, Surface reconstruction

키워드:

선체 외판 템플릿 도면, 선체 외판 가공, 도면 인식, 곡면 복원

1. 서론

선박 설계 과정에서 3차원 CAD의 활용은 이미 보편화 되어 있다. 상세·생산 설계에서는 대부분의 조선소가 3차원 CAD를 활용한 설계를 진행하고 있고 그 영역을 기본 설계까지 확대하고 있는 실정이다(Kim and Lee, 2015). 이렇게 설계 과정에서 3차원 모델의 활용이 늘어나고 있지만 생산 현장에서는 아직 2차원 도면에 대한 의존도가 높다. 생산에서 3차원 모델을 활용할 수 있다면 작업 대상을 직관적으로 확인할 수 있고 도면 독도에 대한 부담을 줄여 비숙련공이 빠르게 작업에 익숙해지도록 도울 수 있다. 이러한 장점으로 생산 현장에서도 3차원 모델에 대한 요구가 늘어나고 있다. 하지만 중소형 조선소나 블록 제작 업체와 같이 영세한 규모의 사업장에서는 3차원 모델의 활용이 어려운 실정이다.

대형조선소의 생산 일정은 도크와 같은 대형 설비를 기준으로 계획이 수립되고 물량 부하에 따라 일부 블록이나 자재의 제작은 외주 업체를 활용한다. 최근에는 조선 산업 전체 생산 물량의 감소로 외주 제작 물량 또한 줄어들었지만 대형조선소들이 생산 외주화를 추진하고 있어 전체 생산 물량 대비 외주 제작 물량 비중은 점진적으로 늘어날 것이다. 외주화가 늘어날 경우 기업 비밀에 대한 보안 등의 이유로 생산을 위한 3차원 모델의 확보가 더욱 어려워질 것이다.

만약 2차원 도면으로부터 3차원 모델을 복원할 수 있다면 위와 같이 3차원 모델을 확보하기 어려운 상황에서 3차원 모델을 활용한 생산을 진행할 수 있을 것이다. 이에 본 논문에서는 선체 외판의 곡면 가공을 위한 Shell Template Offset 도면을 활용하여 3차원 곡면 형상을 복원하는 방법을 제안하고자 한다. 도면의 분석을 통해 곡면 복원에 필수적인 데이터를 정리하고 컴퓨터 비전(Computer Vision) 기술을 활용하여 데이터 추출을 진행하였다. 추출한 템플릿 정보를 기반으로 곡면을 복원하고 템플릿을 함께 가시화하였다. 복원된 곡면과 템플릿을 동시에 가시화한 결과는 곡면의 형상을 쉽게 파악하고 템플릿이 놓이는 위치를 직관적으로 확인할 수 있어 곡면 제작 작업자의 업무 효율성 향상에 도움이 될 것으로 생각한다.


2. 관련 연구 현황

곡가공과 관련한 연구는 2000년대 이전부터 꾸준히 진행되어 왔다. 대부분 연구는 곡면 전개나 선상 가열을 위한 가열선 생성에 집중되어 있다. 자동화를 위한 냉간 가공이나 열간 가공 관련 연구도 진행되어, 최근에는 연구의 결과가 실제 생산 현장에 적용된 사례들도 나오고 있다. Ryu et al. (2015)는 열간 가공 자동화를 위한 연구의 일환으로 유도 가열을 이용한 곡면 성형 시뮬레이션 기술을 연구하였다. 가열 코일에 대한 전자기장 해석과 판의 변형 해석을 통해 유도 가열을 수행하였을 때 판의 변형을 시뮬레이션 하였다. 자동화 장비의 가열 코일 설계를 위해 필요한 연구이다. Lee et al. (2013)은 다중 슬릿 구조화 광원을 이용하여 곡판을 측정하는 장치를 개발하였다. 곡판에 대한 신속하고 정확한 측정 기술은 가공 자동화 장비에서 가공 결과를 확인하기 위한 기반 기술이 된다. 곡면 냉간 가공 기술로는 대표적으로 다점 프레스를 활용한 가공 방법이 있다. 프레스를 활용하여 곡판 가공을 수행하면 반드시 Spring-Back 현상이 발생한다. Yoon et al. (2008)은 Spring-Back 현상으로 인한 가공식의 문제점을 극복하기 위해 가공 변위를 순환적으로 수정 보완하여 Spring- Back으로 인한 변위를 보상하는 방법을 적용한 연구를 수행하였다. Hwang et al. (2011)은 다점 프레스 기기의 크기 제약을 해소하기 위해 프레스 기기의 가공 면적을 감안하여 판을 분할하고 순차적인 이동을 통해 가공하는 방법을 제안하고 이를 위한 가공 정보 계산 시스템의 개발을 수행하였다.

본 연구에서 활용할 템플릿 정보와 관련하여 Ryu et al. (2018)은 곡판 가공을 위한 템플릿 제작도 자동 생성 방법을 제안하였다. 기존의 수작업으로 진행한 3차원 템플릿 제작도 작성과정을 개선하여 곡면의 기하학적 정보를 바탕으로 템플릿 제작도를 생성하는 알고리즘을 개발하고 어플리케이션으로 구현하였다. 설계 데이터와 연결하여 템플릿 제작도를 작성함으로써 수작업으로 발생하는 오차를 제거하고 항상 설계 형상과 일치하는 템플릿 제작도를 제공할 수 있게 되었다. 그 과정에서 곡판의 형상과 템플릿 정보의 연결 관계를 명확하게 정의하였다.

2차원 도면을 활용하여 3차원 형상을 복원하는 방법에 관한 연구는 CAD 분야에서 꾸준히 연구되어 왔다(Meeran and Pratt, 1993). 이는 도면을 작성하는 2차원 CAD에서 3차원 솔리드 모델을 모델링하는 3차원 CAD로의 전환 과정과도 맞물려 있다. 2차원 도면에 비해 많은 장점을 가지는 3차원 솔리드 모델의 등장으로 기존의 2차원 도면의 3차원 변환에 대한 요구가 많아졌고 이에 따라 2차원 도면의 데이터를 활용하여 3차원 형상으로 복원하는 기술도 지속적으로 발전하였다. Lee and Han (2001)은 전문가 시스템을 이용하여 2차원 도면에서 특징형상을 인식하는 방법을 제안하였다. 3차원 설계 과정에서 많이 사용하는 직선 돌출, 단순 구멍, 도려내기를 기본 특징형상으로 정의하고 인식하는 방법을 제안하였다. 특히 여러 특징형상이 적용된 복잡한 형상에 대해 전문가 시스템의 적용을 통해 복원 품질을 향상 시켰다. Hwang et al. (2003)은 기본 특징형상 외에 선체 구조모델이 가지고 있는 특징형상을 추가로 정의하여 선체 구조모델을 복원하는 방법을 제안하였다. 복잡한 선체 구조 모델의 단면을 몇 가지 특징형상으로 패턴화하여 3차원 STEP 선체 모델을 생성하였다.

선체 외판 곡면 가공과 관련하여 도면 데이터를 활용한 사례로 Kim et al. (2016)은 도면 데이터를 기반으로 가열선을 산출하여 제공하는 인터넷 서비스 구축에 대한 연구를 진행하였다. 곡면 가공을 위한 도면을 입력받아 곡면을 복원하고 복원한 곡면으로 가열선을 산출하는 시스템을 구축하였다. 도면으로부터 정보를 획득하는 과정은 수작업으로 진행되었고 연구의 초점이 웹서비스 기반의 인터넷 서비스 구축에 맞춰져 있었다.

본 연구에서는 템플릿이 하나씩 분리된 형태의 2차원 템플릿을 활용하는 사각형 곡판에 대하여 2차원 도면으로부터 3차원 곡면을 복원하는 연구를 수행하였다. Shell Template Offset 도면의 정보의 분석을 통해 곡면 복원에 필요한 정보를 확인하였다. 그리고 컴퓨터 비전 기술을 활용하여 곡면 복원에 필수적인 정보를 획득하는 방법을 제안하였다. 최종적으로 획득된 데이터를 기반으로 3차원 곡면 및 템플릿 형상을 복원하였다.


3. Shell Template Offset 도면 분석

Shell Template Offset 도면은 3차원 설계 데이터로부터 작성된 도면으로 선체 외판 곡면 가공의 결과를 확인하기 위한 템플릿에 대한 정보를 포함하고 있다. 따라서 3차원 정보에 직접 접근할 수 없는 상황에서 곡면 형상에 대한 가장 많은 데이터를 가지고 있는 도면이라고 할 수 있다. 따라서 Sell Template Offset 도면 정보의 분석을 통해 3차원 곡면 형상 정보를 복원하는 것이 가능할 것으로 생각한다. Shell Template Offset 도면은 사용하는 CAD 프로그램에 따라 조금씩 차이가 있지만 일반적으로 Fig. 1과 같이 3개의 파트 구성되어 있다.

Fig. 1

Shell template offset drawing

Fig. 1의 오른쪽 하단에 자리 잡고 있는 그림은 본 도면의 이해를 위해 가장 중요한 템플릿에 대한 범례이다. 상단에 있는 템플릿 오프셋 테이블(Template Offset Table)에 기입된 수치 정보가 가지는 의미를 템플릿 형상에 대입하여 그 의미를 직관적으로 파악할 수 있다. 템플릿 범례를 확대한 Fig. 2를 통해 상세 내용을 확인할 수 있다. Table 1은 템플릿 범례에 표시된 각각의 용어에 대한 상세한 설명이다. 본 논문에서는 형상과 밀접한 수치 정보인 오버슛(Over Shoot), 핀 높이(Pin Height), 핀 번호(Pin No.)등을 활용하여 템플릿 및 곡면 형상을 복원하였다.

Fig. 2

Template legend

Template legend term description

범례에 표기된 각각의 수치에 대한 실제 값은 오프셋 테이블의 형태로 Fig. 1의 상단에 작성되어 있다. 두 개의 테이블로 구성되어 있으며 상단의 테이블은 템플릿 번호를 행으로 하고 핀 번호를 열로 하는 테이블로 각각의 템플릿을 구성하는 핀의 높이에 대한 정보를 제공한다. 템플릿마다 전체 길이가 다르기 때문에 일정한 간격(Pin Distance)으로 배치되는 핀의 개수가 다른 것을 확인할 수 있다.

두 번째 테이블은 템플릿에 마킹된 정보의 위치와 함께 오버슛, 핀 높이, 템플릿 폭의 값을 제공한다. 세 가지 마킹 정보는 곡면 가공 작업 시 템플릿을 정확한 위치에 배치하기 위한 정보로 본 논문에서는 활용하는 않는 정보이다. 오버슛과 핀 높이 값은 템플릿의 가장 오른쪽에 배치된 두 개의 핀과 관련된 값으로 상세한 내용은 다음과 같다. 템플릿의 폭은 곡판의 크기에 따라 달라지기 때문에 고정된 핀 배치 간격으로 나누어떨어지지 않는다. 따라서 오른쪽 끝에 위치하는 두 개의 핀 사이의 간격은 반드시 고정된 핀 간격보다 작은 값을 가지게 되고 이 값이 오버슛이 된다. 핀 높이는 템플릿의 가장 오른쪽에 위치하는 핀의 높이로 따로 핀 번호를 따로 지정하지 않고 높이 값만 제공한다.

Fig. 3Fig. 1의 왼쪽 아래에 있는 곡면 전개형상에 대한 상세한 내용이다. 전개형상에 기입된 정보는 템플릿을 활용하여 곡면 가공의 결과를 확인하기 위한 정보로 구성되어 있다. 3차원 템플릿의 경우 하나의 조립된 템플릿이기 때문에 놓이는 위치에 대한 정확한 정보가 중요하지 않다. 상하 좌우 방향만 맞으면 곡판의 가공 완성도를 템플릿으로 비교할 수 있다. 하지만 2차원 템플릿의 경우 각각의 템플릿은 하나의 긴 판과 같은 형상을 가지고 있기 때문에 가공된 철판 위에 템플릿을 하나하나 세워서 가공 정도를 확인하게 된다. 앞서 언급한 Sight Line과 Right angle mark가 이때 중요한 값이다. Right angle mark는 템플릿이 철판에 수직으로 세워지는 위치에 대한 정보이고, Sight Line은 완성된 곡판위에 템플릿이 정확하게 놓였을 때 하나의 직선으로 이어지는 템플릿 상단의 위치에 대한 정보이다.

Fig. 3

Template location information on surface unfolding plan

Fig. 3의 확대한 영역은 전개형상에서 템플릿이 놓이는 위치를 상세히 보여준다. 몇 번 템플릿을 어느 위치에 배치해야하는지 정확한 수치로 작성되어 있다. 1번 템플릿이 곡판의 외곽선을 따라 배치되지 않고 왼쪽에서 100mm 떨어진 위치에 배치되는 것으로 보아 템플릿 정보만으로는 곡판의 좌우 외곽선의 정보를 정확하게 얻을 수 없다는 것을 확인할 수 있다.


4. 곡면 정보 추출

4.1 OpenCV (Open Source Computer Vision)

컴퓨터 비전 기술은 최근에 가장 각광받고 있는 연구 분야 중 하나이다. 기초 이론들은 1900년대 후반에 연구되었고 2000년대 들어 많이 발전했다. 최근에는 AI와 접목하여 발전하고 있다(Kim el al., 2013; Kim and Yu, 2017).

일상생활에서도 컴퓨터 비전 기술을 활용한 사례를 쉽게 찾아볼 수 있다. 가장 흔히 볼 수 있는 사례로 주차장에서 활용하는 번호판 자동인식 기술이 있다. 2000년대 초반에는 주차증을 뽑거나 사람이 차단기를 열어주는 주차장이 많았지만 최근에는 대부분의 주차장에서 번호판 자동인식 기술을 활용하고 있고 그 정확도 또한 매우 높은 수준이다. 이와 관련하여 인식속도와 정확도를 높이기 위한 개선된 알고리즘에 대한 연구도 꾸준히 진행되고 있다(Kim and Cho, 2007).

스마트폰 앱으로 많이 활용하는 명함관리 앱도 컴퓨터 비전 기술을 활용한 결과이다. 명함의 경우 번호판보다 다양한 정보를 담고 있고 문자 영역의 위치도 명확하게 구분되지 않아 더 난이도가 있는 인식 기술이다. 이와 관련하여 명함의 테두리를 정확하게 인식하는 윤곽선 추출 기술 및 문자 인식 기술에 대한 지속적인 연구가 진행되고 있다(Shin and Kim, 2014).

OpenCV는 Open Source Computer Vision Library의 약자로 위와 같은 컴퓨터 비전 기술을 활용하기 위해 기본이 되는 알고리즘들을 제공하는 오픈 소스 라이브러리이다(Jung and Bae, 2017). 컴퓨터 비전 분야에서 많이 사용하는 이진화(Binarization), 모폴로지 연산(Morphological operation), 허프 변환(Hough transform) 등의 기본 함수들을 제공하고 있어 많이 알려져 보편화된 기술을 따로 구현하지 않고 활용 가능하도록 지원한다. 본 논문에서도 OpenCV에게 제공하는 함수를 활용하여 원하는 정보를 추출하였다.

4.2 템플릿 정보 추출

템플릿 정보는 Fig. 4와 같이 테이블의 형태로 되어 있다. 추출이 필요한 정보는 상단 테이블의 각각의 템플릿에 대한 핀 높이 정보와 하단 테이블의 오버슛, 핀 높이, 폭 정보이다. 모두 숫자 형태의 정보로 Tesseract OCR(Optical Character Reader) 엔진을 활용하여 추출을 진행하였다. Tesseract 엔진은 구글의 후원을 받는 오픈 소스 라이브러리로 최근에는 딥러닝 기술이 접목되어 성능이 더욱 향상되었다.

Fig. 4

Example of template offset table

OCR 엔진은 문자 영역을 한정할수록 인식률을 높일 수 있기 때문에 템플릿 정보가 가진 특징을 활용하여 필요한 정보가 있는 영역을 한정한 후에 문자 인식을 수행하였다. 앞서 언급하였듯이 템플릿 정보는 테이블의 형태로 구성되어 있어 구간을 나누는 선과 빈 공간을 분석하여 문자 영역을 구분하는 격자를 구성할 수 있다. Kim and Cho (2007)이 자동차 번호판에서 문자 영역을 구분하기 위해 활용한 화소의 수직 분포도와 수평 분포도를 사용하여하여 분석을 수행하였다.

Fig. 5는 템플릿 오프셋 테이블에 대한 수평 분포도와 수직 분포도이다. 먼저 수평 분포도 값이 큰 위치를 기준으로 오프셋 데이터가 들어있는 영역을 인식하고 데이터 영역에 대해 다시 수직 분포도와 수평 분포도를 작성하여 각각의 데이터 영역을 정확하게 인식하였다. 최종적으로 데이터 영역이 인식된 결과는 Fig. 6과 같다.

Fig. 5

Pixel distribution chart of offset table

Fig. 6

Character area recognition result of offset table

4.3 전개 형상 정보 추출

전개 도면은 글자와 여러 선들이 뒤엉켜진 형태를 이루고 있어 원본 도면에서 바로 필요한 정보를 추출하는 것은 간단하지 않았다. 그래서 Fig. 7의 과정을 따라 문자와 선을 구분하여 순차적으로 정보를 추출하였다.

Fig. 7

Surface unfolding plan information extraction process

첫 번째 단계로 문자 영역에 대한 인식 및 제거를 진행하였다. Fig. 3에서 문자는 선에 비해 상대적으로 굵은 직선으로 작성된 것을 확인할 수 있다. 가는 선을 제거하여 문자 영역을 대략적으로 인식하였다. 가는 선을 제거하기 위해 모폴로지 연산을 수행하였다. 모폴로지 연산은 노이즈 제거에 많이 활용하는 방법으로 흰색 영역을 팽창시키거나 침식시켜 작은 영역을 제거하거나 가까이 있는 영역을 병합할 수 있는 방법이다. 본 논문에서는 침식 연산을 통해 선 영역을 제거하고 이어서 팽창 연산을 수행하여 줄어든 문자 영역을 확대 하였다. 그 결과 Fig. 8과 같이 문자 영역이 강조된 것을 확인할 수 있다.

Fig. 8

Result of morphological operations

다음 단계로 원본 도면에서 추출한 문자정보를 제거하여 Fig. 9와 같은 선 정보만 남은 도면을 생성하였다. 이 도면을 활용하여 전개 형상의 윤곽선을 추출한다. 전개 형상의 윤곽선을 추출하기 위해 치수선이 가지고 있는 특징을 활용하였다. 치수선은 전개 형상의 각각의 변마다 하나씩 존재하며 그 끝은 정확하게 전개 형상의 꼭짓점을 가리키고 있다. 따라서 치수선과 치수선이 만나는 지점에 전개 형상의 꼭짓점이 반드시 존재한다.

Fig. 9

Result of character area removal

치수선의 정보를 활용하지 않고 OpenCV에서 제공하는 경계선, 윤곽선, 도형 인식 함수만 활용할 경우 꼭짓점 부근에서 끊어진 선과 같이 정보가 부족한 부분과 전개 형상 내부의 여러 선들과 같이 필요 없는 추가 정보로 인해 정확한 윤곽선의 추출이 어렵다. 비슷한 기울기와 길이를 가지는 많은 선들이 추출되어 필요한 정보만을 추출할 확률이 낮다. 따라서 본 논문에서는 컴퓨터 비전 기술과 함께 치수선의 특징을 이용하여 윤곽선 추출의 정도를 향상시켰다. Choi and Yoo (2014)가 손 모양을 인식하기 위해 활용한 방법을 변형하여 적용하였다. 손 영역이 형성하는 컨벡스헐(Convex Hull)의 기하학적 특징을 이용하여 손가락의 위치와 손 모양을 인식하였다. 전개면의 형상 정보도 이와 유사하게 최외곽 형상의 정보가 가장 중요하기 때문에 컨벡스헐(Convex Hull)의 활용이 가능할 것으로 생각하였다.

먼저 전개도에 작성된 모든 정보의 영역을 확보하기 위해 직선을 추출하는 허프 변환을 수행하여 무수히 많은 직선을 추출하고 직선을 구성하는 점을 포함하는 컨벡스헐을 구성하였다. 여기서 컨벡스헐은 2차원 평면상의 N개의 점을 모두 에워싸는 가장 작은 볼록 다각형을 뜻한다. 즉, 전개도의 모든 정보를 포함하는 가장 작은 볼록 다각형을 구성하였다. 이 컨벡스헐은 치수선 모양의 특징으로 인해 반드시 (전개면의 꼭짓점) X 2 개의 꼭짓점을 가지는 다각형이 된다. 그리고 짧은 변 사이의 오목한 영역에 전개면의 꼭짓점이 존재한다. 허프 변환을 통해 추출한 라인들과 라인들로 만든 컨벡스헐은 Fig. 10과 같다.

Fig. 10

A convex hull including surface unfolding plan

컨벡스헐의 짧은 변과 주변의 오목한 영역의 정보를 활용하여 전개면의 꼭짓점을 추출한다. Fig. 11의 확대한 영역과 같이 컨벡스헐의 짧은 변을 반으로 자르고 그 양 끝점을 회전 중심으로 하여 각각 시계 방향과 반시계 방향으로 회전시켜 가장 먼저 만나는 점을 구한다.(Fig. 11의 사각형 점) 짧은 변의 양 끝점과 새롭게 구한 두 개의 점으로 이루어진 두 개의 직선이 만나는 점이 오목한 영역의 꼭짓점이 되고 이는 전개면의 꼭짓점과 일치한다. Fig. 11은 전개 형상의 네 개의 꼭짓점을 구한 결과이다.

Fig. 11

Corner point recognition of surface unfolding shape

본 연구에서 제안한 컨벡스헐과 전개도의 치수선이 가지는 특성을 활용한 추출 방법의 강건성을 확인하기 위해 특수한 두 가지 형상에 대한 추출을 시도하였다. Fig. 12의 (a)는 마주보는 두 변의 길이 차이가 큰 사각형으로 변의 길이 변화에 알고리즘이 정확하게 대응하는지 확인하기 위해 선정하였다. (b)는 매우 좁은 예각과 매우 넓은 둔각을 배치하여 꼭짓점의 심한 각도 변화에도 치수선과 치수선 사이의 공간을 인식할 수 있는지 확인하기 위해 선정하였다. (c)와 (d)는 각각 (a)와 (b)에 대한 인식 결과를 보여 준다. 본 연구에서 제안한 알고리즘은 변의 길이와 꼭짓점의 각도의 큰 변화에도 네 꼭짓점을 정확하게 인식하는 것을 확인할 수 있다.

Fig. 12

Additional corner point recognition example

4.4 템플릿 위치 정보 추출

전개면의 각각의 변이 직선이라는 가정 하에 템플릿이 놓이는 위치는 변의 길이와 위치에 대한 수치 정보만으로 파악이 가능하다. 템플릿 위치 정보는 숫자의 형태로 전개면의 가로선 위와 아래에 존재한다. 따라서 앞서 추출한 전개면 데이터를 기반으로 숫자가 기입된 영역을 한정하였다. 전개 형상 상단과 하단의 가로선을 전체 도면의 영역으로 연장하고 상단의 가로선 위쪽의 일부 구간과 하단의 가로선 아래쪽의 일부 구간을 템플릿 위치 정보가 작성된 영역으로 인식하였다. 이 과정은 도면의 해상도와 주변의 여백에 영향을 받기 때문에 앞서 정의한 컨벡스헐로 도면 영역을 한정하여 여백의 영향을 제거하고 인식할 구간의 크기를 도면의 높이에 대한 비율로 지정하여 해상도의 영향을 최소화하였다. Fig. 13에서 두 개의 선으로 둘러싸인 위와 아래의 구간이 템플릿 위치정보가 기입된 영역이다.

Fig. 13

Recognition of template location information area

앞서 언급하였듯이 OCR 기능은 문자 영역을 최소로 한정했을 때 가장 좋은 인식률을 보인다. 그래서 템플릿 위치 정보가 기입된 구간에 추가적인 연산을 수행하여 각각을 템플릿에 대한 위치 값을 한정할 수 있도록 하였다. 모폴로지 연산 중에서 닫힘 연산을 통해 주변에 있는 화소 값들이 한 덩어리로 뭉치도록 하였다. 닫힘 연산은 팽창과 침식 연산을 연속적으로 수행해 주변의 화소 값들을 연결시키는 효과가 있다. 닫힘 연산의 결과는 Fig. 14과 같다.

Fig. 14

Connected character area by morphological operations

밝게 나타난 덩어리들이 템플릿에 대한 위치 값이 존재하는 영역이다. 이 영역들은 좌우가 긴 사각형 형상을 하고 있어 각각 의 영역에 대한 윤곽선의 경계상자의 크기와 종횡비를 활용하여 필요한 영역을 확정하였다.

최종적으로 인식한 템플릿 위치 정보를 원본 전개도에 표시한 결과는 Fig. 15와 같다. 템플릿 오프셋 테이블 정보 추출을 과정을 통해 확인한 템플릿 개수에 따라 왼쪽부터 5개의 영역이 템플릿 위치에 대한 정보임을 확인할 수 있다.

Fig. 15

Result of template location information recognition


5. 3D 곡면 복원

Fig. 16은 4장에서 추출한 점 정보들을 활용한 곡면 복원 과정을 보여준다. (a) 그림은 추출한 점 데이터를 2차원 평면에 표시한 결과 이다. 템플릿이 놓이는 라인에 그려진 점들은 핀 높이 정보와 결합되어 3차원 좌표에 대한 정보를 담고 있다. (b) 그림은 템플릿에 대한 3차원 좌표 정보를 활용하여 생성한 곡면을 나타낸다. 전개면의 위와 아래 외곽선 정보는 템플릿 정보와 연결되어 있기 때문에 3차원 정보를 담고 있지만 오른쪽과 왼쪽 외곽선 정보는 2차원 좌표 정보만 가지고 있다.

Fig. 16

Surface reconstruction process

따라서 템플릿의 3차원 점 정보를 활용하여 (b)와 같은 초기 곡면을 생성하고 이 곡면을 확장하여 최종 곡면을 복원한다. 본 논문에서 생성한 모든 곡면은 Open CASCADE의 NURBS (NonUniform Rational B-Spline) 생성 함수를 활용하여 모델링을 진행하였다. Open CASCADE는 Open Source 라이브러리로 CAD/CAM 분야의 연구 개발에 많이 활용되고 있는 검증된 CAD 라이브러리이다(Bedaka and Lin, 2018; Wang et al., 2015). (c) 그림은 (b)에서 생성한 초기 곡면의 좌우를 곡면에 대한 Extrusion 연산을 통해 좌 우를 늘린 곡면이다. 늘어난 부분이 전개형상의 좌우 외곽선을 벗어날 수 있을 정도로 충분히 늘려주었다. (d) 그림은 (c) 곡면의 좌우를 전개형상 좌우의 외곽선을 포함하는 평면으로 잘라낸 최종 곡면을 나타낸다. 위의 과정을 통해 생성된 곡면을 가시화한 형상은 Fig. 17과 같다.

Fig. 17

Result of surface reconstruction

Fig. 17에서 곡면 중간에 놓여있는 다각형 모양은 템플릿 형상을 가시화한 것이다. 곡면과 함께 보이는 템플릿 정보는 전개 형상에 2차원 정보로 기입된 템플릿 위치 정보와 대비하여 직관적인 3차원 정보를 제공할 수 있어 실제 곡판 가공 작업 시에 템플릿을 위치를 파악하는데 도움을 줄 수 있다.

Fig. 18은 복원한 3차원 곡면의 형상을 위에서 바라본 것이다. Fig. 3의 전개 형상과 비교했을 때 매우 유사한 것을 쉽게 확인할 수 있다. 곡면의 외곽 형상뿐만 아니라 템플릿의 위치도 정확하게 복원된 것을 알 수 있다. 또한 Fig. 16의 템플릿 형상과 템플릿 오프셋 테이블 정보의 비교를 통해 템플릿 형상도 정확하게 가시화 된 것을 알 수 있다. 가장 왼쪽에 있는 1번 템플릿의 핀 높이를 예로 들면 높이 값이 점점 작아지는 것을 확인할 수 있다. Fig. 17의 가시화된 템플릿 형상 또한 아래에서 위로 갈수록 그 높이가 점점 낮아지는 것을 쉽게 확인할 수 있다. 따라서 복원된 곡면 및 템플릿의 형상은 정성적으로 도면에 작성된 내용을 잘 반영하고 있다. 도면이 가지고 있는 불완전한 데이터와 정보 추출 과정에서의 일부 가정으로 인해 완벽한 설계 곡면은 아니지만 3차원 모델을 확보할 수 없는 상황에서 곡판 가공 작업시 활용하기에 충분한 곡면 및 템플릿 형상을 제공할 수 있다는 점에서 유의미한 결과라고 생각한다.

Fig. 18

Top view of reconstructed surface


6. 곡면 복원 결과 분석

본 논문에서 복원한 곡면의 형상은 실제 설계 곡면의 형상과 정성적으로 유사성을 가지지만 정량적으로는 설계 곡면과 차이가 존재한다. 오차의 원인은 크게 세 가지가 있다.

첫째, Shell Template Offset 도면이 가지고 있는 정보의 부재에서 오는 오차가 있다. 본 논문에서 사용한 전개도의 템플릿 위치는 실제 3차원 곡면에서의 템플릿의 위치와 차이가 있다. 정확한 템플릿의 위치 정보를 얻기 위해서는 곡면에 대한 투영도가 필요하다. 따라서 투영도와 전개도의 템플릿 위치의 차이에서 오는 오차가 발생한다.

둘째, 템플릿을 고정하는 방법의 차이에서 오차가 발생한다. 실제 작업장에서 곡판의 완성도를 확인하기 위해 템플릿을 곡판에 고정할 때 Low. right angle mark의 위치에서 템플릿이 곡판과 수직이 되어야 한다. 하지만 본 논문에서는 모든 템플릿의 상단을 포함하는 임의의 평면을 생성하고 템플릿을 이 평면에 수직하게 고정하였다. 이 때 발생하는 템플릿의 각도 차이로 설계 곡면과의 차이가 발생한다.

셋째, 전개면의 외곽선 추출 과정에서 발생하는 오차가 있다. 실제 곡판의 외곽선은 곡선이지만 본 논문에서는 직선으로 가정하고 추출을 진행하였다. 2차원 템플릿을 사용하는 곡판의 경우 곡률의 변화가 크지 않기 때문에 외곽선을 직선으로 가정하여도 오차가 크게 발생하진 않는다. 허프 변환을 통한 직선 추출 과정에서도 오차가 발생한다. 스캔한 도면의 해상도, 도면에 작성된 선의 굵기 등에 따라 결과가 조금씩 차이가 난다. 이러한 차이는 외곽선의 꼭짓점을 결정할 때 오차를 발생시키는 원인이 된다.


7. 결 론

본 논문에서는 컴퓨터 비전 기술을 활용하여 Shell Template Offset 도면의 템플릿 정보를 추출하고 3차원 곡면 형상을 복원하는 방법을 제안하였다.

템플릿 오프셋 테이블의 정보를 추출하여 각각의 템플릿에 대한 수치 정보를 획득하였다. 전개형상 정보를 활용하여 곡면의 외곽선 정보 및 템플릿이 놓이는 위치에 대한 정보를 추출하였다. 윤곽선 및 문자영역 인식을 위해 OpenCV 라이브러리의 이진화, 모폴로지 연산, 허프 변환 등의 기술을 활용하였고 문자 인식을 위해 Tesseract OCR 엔진을 활용하였다. 곡면 전개도와 템플릿 오프셋 테이블이 가지고 있는 특성을 활용하여 곡면 복원에 필요한 필수 데이터를 확보할 수 있었다. 대상 곡판을 사각형 형상의 비교적 곡률의 변화가 작은 판으로 한정하였지만 본 연구에서 제안한 전개면 외곽선 추출 방법은 특수한 형태의 사각형에 대해서도 정확한 추출이 가능함을 확인하였다. 하지만 치수선이라는 도면의 추가 정보를 활용하였기 때문에 측정 CAD 프로그램에서 출력한 도면에 대해서만 추출이 가능한 한계점도 있었다. 향후 추가 연구를 통해 좀 더 다양한 곡판 및 Shell Template Offset의 형식에 대해 알고리즘의 검증 및 개선을 수행할 계획이다.

추출한 정보를 활용하여 3차원 곡면 및 템플릿 형상을 복원하였다. NURBS 곡면의 모델링 및 가시화는 오픈 소스 CAD 라이브러리인 Open Cascade Technology를 활용하였다. 3차원 설계 곡면 확보의 어려움으로 정량적인 비교 및 분석을 수행하지 못하였지만, 복원된 곡면의 2차원 투영 형상과 템플릿 형상을 통해 복원된 형상이 Shell Template Offset 도면에서 추출한 정보를 반영하고 있음을 확인할 수 있었다.

본 논문의 결과는 정확한 정보를 요구하는 엔지니어링 업무에는 활용하기 어렵지만, 3차원 설계 모델을 획득할 수 없는 작업 환경에서 최종 목적 형상에 대한 경향 파악에 충분할 것으로 생각한다. 또한 템플릿 형상의 3차원 가시화는 템플릿 위치를 직관적으로 파악할 수 있어 곡판 가공 작업의 효율화에 기인할 수 있다고 생각한다. 향후 추가적인 연구를 통해 좀 더 정확한 정보의 추출 및 정량적인 결과의 검증을 수행한다면 복원 결과의 활용도를 더욱 넓힐 수 있을 것이다.

Acknowledgments

본 연구는 산업통산자원부 그린카 등 수송시스템산업핵실기술개발 사업(조선) “인공지능형 자동 곡가공장치를 갖춘 스마트팩토리 개발”과제 (과제번호: 10077588)의 지원을 받아 수행하였습니다. 이에 감사드립니다.

References

  • Bedaka, A.K. & Lin, C.Y., 2018. CAD-based robot path planning and simulation using OPEN CASCADE. Procedia Computer Science, 133, pp.779-785. [https://doi.org/10.1016/j.procs.2018.07.119]
  • Choi, I.K. & Yoo, J.S., 2014. Hand shape recognition based on geometric feature using the convex-hull, Journal of the Korea Institute of Information and Communication Engineering, 18(8), pp.1931-1940. [https://doi.org/10.6109/jkiice.2014.18.8.1931]
  • Hwang, H.J., Han, S.H. & Kim, Y.D., 2003. Generation of 3D STEP model from 2D drawings using feature definition of ship structure, Korean Journal of Computational Design and Engineering, 8(2), pp.122-132.
  • Hwang, S.Y., Lee, J.H., Ryu, C.H., Han, M.S., Kim, K.H. & Kim, K.S., 2011, Mechanical bending process and application for a large curved shell plate by multiple point press machine, Journal of the Society of Naval Architects of Korea, 48(6), pp.528-538. [https://doi.org/10.3744/SNAK.2011.48.6.528]
  • Jung, S.H. & Bae, J.W., 2017. Image Processing and Application Learning with OpenCV, Life and Pawer Press, Inc.
  • Kim, C.S., Son, S.H., Shin, J.G. & Lee, P., 2016. Curved hull plate forming based on SOAP internet services. Journal of the Society of Naval Architects of Korea, 53(1), pp.69-75. [https://doi.org/10.3744/SNAK.2016.53.1.69]
  • Kim, G.H., Chong, K.S. & Youn, J.H., 2013. Automatic recognition of direction information in road sign image using openCV, Journal of the Korean Society of Surveying, Geodesy, Photogrammetry and Cartography, 31(4), pp.293-300. [https://doi.org/10.7848/ksgpc.2013.31.4.293]
  • Kim, J.H. & Lee, J.Y., 2015, Shipbuilding 3D CAD development and related trends, KEIT PD Issue Report.
  • Kim, K.B. & Cho, J.H., 2007. Recognition system of car license plate using fuzzy neural networks. Journal of The Korea Society of Computer Information, 12(5), pp.313-319.
  • Kim, K.C. & Yu, C., 2017. Flower recognition system using openCV on android platform. Journal of the Korea Institute of Information and Communication Engineering, 21(1), pp.123-129. [https://doi.org/10.6109/jkiice.2017.21.1.123]
  • Lee, H.H., Lee, D.J. & Huh, M.J., 2013. Development of a measurement system for curved ship hull plates with multi-slit structured light. Journal of the Korean Society for Precision Engineering, 30(3), pp.292-299. [https://doi.org/10.7736/KSPE.2013.30.3.292]
  • Lee, H.M. & Han, S.H., 2001. 2D Design feature recognition using expert system. Korean Journal of Computational Design and Engineering, 6(2), pp.133-139.
  • Meeran, S. & Pratt, M.J., 1993. Automated feature recognition from 2D drawing. Computer-Aided Design, 25(1), pp.7-17. [https://doi.org/10.1016/0010-4485(93)90061-R]
  • Ryu, C.H., Son, S.H., Shen, H.G., Kim, Y.M., Kim, B.S., Jung, C.H., Hwang, I.H. & Shin, J.G., 2018. Manufacturing information calculation system for production automation of 3-dimensional template used to evaluate shell plate completeness. Journal of the Society of Naval Architects of Korea, 55(2), pp.69-75. [https://doi.org/10.3744/SNAK.2018.55.2.136]
  • Ryu, H.S., Kim, H.K. & Ko, D.E., 2015. Simulation of curved surface forming of steel plate by induction heating. Journal of the Korea Academia-Industrial cooperation Society, 16(7) pp.4381-4387. 2015 [https://doi.org/10.5762/KAIS.2015.16.7.4381]
  • Shin, H.S. & Kim, C.J., 2014. A study on performance improvement of business card recognition in mobile environments. Journal of the Korea Institute of Information and Communication Engineering, 18(2), pp.318-328. [https://doi.org/10.6109/jkiice.2014.18.2.318]
  • Wang, F.J., Ma, J.W., Xu, Q., Jia Z.Y. & Yang, Y.Y., 2015. Quick segmentation for complex curved surface with local geometric feature based on IGES and Open CASCADE, Advances in Engineering Software, 87, pp.86-96. [https://doi.org/10.1016/j.advengsoft.2015.04.010]
  • Yoon, J.S., Lee, J.H., Ryu, C.H., Hwang, S.Y. & Lee, H.B., 2008. Application of IDA method for hull plate forming by multi-point press forming. Journal of Ocean Engineering and Technology, 22(6), pp.75-82.

Fig. 1

Fig. 1
Shell template offset drawing

Fig. 2

Fig. 2
Template legend

Fig. 3

Fig. 3
Template location information on surface unfolding plan

Fig. 4

Fig. 4
Example of template offset table

Fig. 5

Fig. 5
Pixel distribution chart of offset table

Fig. 6

Fig. 6
Character area recognition result of offset table

Fig. 7

Fig. 7
Surface unfolding plan information extraction process

Fig. 8

Fig. 8
Result of morphological operations

Fig. 9

Fig. 9
Result of character area removal

Fig. 10

Fig. 10
A convex hull including surface unfolding plan

Fig. 11

Fig. 11
Corner point recognition of surface unfolding shape

Fig. 12

Fig. 12
Additional corner point recognition example

Fig. 13

Fig. 13
Recognition of template location information area

Fig. 14

Fig. 14
Connected character area by morphological operations

Fig. 15

Fig. 15
Result of template location information recognition

Fig. 16

Fig. 16
Surface reconstruction process

Fig. 17

Fig. 17
Result of surface reconstruction

Fig. 18

Fig. 18
Top view of reconstructed surface

Table 1.

Template legend term description

Term Description
Low. Right Low. right angle mark. The point where the Template should be perpendicular to the shell plate when placed on the shell plate
Up. Right When a straight line is drawn to the normal direction of the surface at the Low. Right angle mark, the point that meets the top line of the template
Sight Line The position of the top of the template that is connected by one straight line when the template is raised to curved shell plate
Over shoot When pins are arranged at regular intervals in template, the length of the remaining section of template
Pin No. Pin Number. A bar shaped material that makes up the template. Assembled at regular intervals and related to template height variation.
Pin Height The height of the pin placed in the template
300 X Pin Q'ty Pin distant (The interval at which the pins are placed in the template) X Pin Quantity. Distance from the left edge of the template to the position where the pin is to be placed