Img2UML: A System for Extracting UML Models from Images
논문 정보
- 제목: Img2UML: A System for Extracting UML Models from Images
- 저자: Bilal Karasneh (Leiden University), Michel R.V. Chaudron (Chalmers and Gothenburg University)
- 학회/저널: 2013 39th Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA)
- 발행일: 2013
- DOI: 10.1109/SEAA.2013.45
- 주요 연구 내용: JPG, PNG 등 이미지 파일로만 존재하는 UML 클래스 다이어그램을 자동으로 인식하고 분석하는 Img2UML 시스템을 제안함. 이 시스템은 이미지 처리, OCR, 관계 탐지 기술을 사용해 다이어그램의 픽셀 정보를 엔지니어링 모델 정보로 변환함.
- 주요 결과 및 결론: 제안된 시스템은 200개의 이미지로 검증한 결과, 클래스 인식 95%, 텍스트 인식 92%, 관계 인식 80%의 정확도를 달성함. 이 시스템은 이미지화된 UML 모델을 StarUML과 호환되는 XMI 파일로 복원하여 문서 업데이트 및 학술 연구에 기여함.
- 기여점: 기존에 불가능했던 픽셀 기반의 UML 다이어그램 이미지로부터 편집 가능한 엔지니어링 모델(XMI)을 추출하는 리버스 엔지니어링 도구를 개발함. 또한, 추출된 모델들을 저장하는 리포지토리를 구축하여 향후 UML 모델 코퍼스 연구의 기반을 마련함.
요약
초록
이 논문은 Img2UML 시스템 도구를 소개한다. 이 시스템은 픽셀 기반의 다이어그램과 엔지니어링 모델 간의 격차를 해소한다. 이미지로부터 UML 클래스 모델을 추출하여 해당 UML 모델의 XMI 파일을 생성하는 방식으로 이를 수행했다. 또한 Img2UML은 인터넷에서 수집된 이미지의 UML 클래스 모델 리포지토리를 제공한다. 이 프로젝트는 산업 및 학술적 목표를 모두 가진다. 산업계에는 소프트웨어 설계 문서(일반적으로 UML 이미지를 포함)의 업데이트를 가능하게 하는 방법을 제안했다. 학계에는 공개적으로 사용 가능하지만 과학적 연구를 위해 쉽게 분석할 수 없었던 UML 모델의 코퍼스를 제공한다.
서론
UML 클래스 모델은 시스템의 정적 구조를 나타내는 가장 일반적인 모델이다. 하지만 이러한 UML 모델들은 인터넷이나 기업 내부 문서에 JPG, BMP와 같은 이미지 형식으로 게시되는 경우가 많다. 대부분의 UML CASE 도구는 모델을 이미지로 내보내는 기능은 지원하지만, 이미지를 다시 편집 가능한 모델로 불러오는 기능은 제공하지 않는다. 이로 인해 소스 코드 변경에 맞춰 UML 모델을 업데이트하려면, 이미지로만 존재하는 모델을 CASE 도구를 사용해 수동으로 다시 그려야 하는 비효율적인 문제가 발생한다. 이 논문은 이미지 속 UML 클래스 모델을 자동으로 추출하는 Img2UML 시스템을 제안한다.
배경
소프트웨어 문서는 그래픽 콘텐츠가 풍부하지만, 기존 연구는 주로 개별 그래픽 객체나 기호 인식에 중점을 둔다. UML 모델 인식과 관련해서는, 알려진 연구 대부분이 자유로운 손 스케치(free hand sketching)를 인식하는 데 관심이 있었다. 스케치 인식 알고리즘은 펜의 움직임 정보에 기반하기 때문에, 이러한 정보가 없는 정적 이미지(JPG, BMP 등)의 UML 모델을 인식하는 데에는 적용할 수 없다. 현재(논문 발행 시점)까지 정적 이미지 형식의 UML 모델을 인식하는 연구는 거의 없었다.

모델 아키텍처 / 방법론
Img2UML 시스템의 접근 방식은 논문의 Figure 1에 시각화되어 있다.
- 핵심 구조/방법: 입력된 이미지는 (1) 클래스 탐지 → (2) 텍스트 인식(OCR) → (3) 관계 탐지 → (4) XMI 생성의 4단계 파이프라인을 거친다.
- 주요 구성 요소: 1. 입력 및 전처리: 다양한 형식(BMP, JPG, PNG)의 이미지를 입력받음. 인식을 표준화하기 위해 모든 이미지를 흑백 BMP 비트맵으로 변환한다. 2. 클래스 탐지: 클래스 다이어그램에서 클래스는 사각형 형태로 표현되므로, 이미지 내의 사각형을 탐지한다. 탐지 품질을 높이기 위해 이미지 해상도를 300dpi 또는 600dpi로 업스케일링하고 샤픈 및 임계값 필터를 적용한다. 3. 텍스트 인식(OCR): Microsoft Office Document Imaging(MODI) 라이브러리를 사용해 클래스명, 속성, 오퍼레이션 등의 텍스트를 자동으로 인식한다. 4. 관계 탐지: 클래스들을 연결하는 선과 기호를 탐지한다.
_ 선 탐지: 수평, 수직, 대각선의 실선과 점선을 탐지한다. 곡선 연결은 탐지하지 못한다. 특히 대각선 점선은 '계단 현상(staired)'으로 인해 여러 조각으로 나뉘어 탐지가 어렵다.
_ 기호 탐지: 관계 유형(예: 상속, 집약)을 나타내는 화살표 등 작은 기호들은 기하학적 기반 연산을 사용해 인식한다. 5. XMI 생성: 탐지된 모든 정보(클래스, 속성, 관계 등)를 XMI 파일로 구성한다. 생성된 파일은 XMI 1.1 및 UML 1.3 버전을 따르며, StarUML CASE 도구와 호환된다.

실험 결과
- 주요 데이터셋: 구글 이미지 검색을 통해 수집한 200개의 UML 클래스 모델 이미지를 사용한다. 이 이미지들은 색상, 유형, 크기, 해상도가 다양하다.
- 평가 방법: Img2UML이 생성한 XMI 파일을 StarUML에서 시각화한 결과와 원본 이미지를 수동으로 비교하여 정확도를 검증한다.
- 핵심 성능 지표:
- 클래스 탐지: 95%
- 텍스트 인식: 92%
- 관계 탐지: 80%
- 분석:
- 클래스 탐지 실패(5%)의 주된 원인은 낮은 이미지 해상도와 사각형을 가로지르는 선(잘못된 레이아웃)이다.
- 관계 탐지 실패(20%)의 주된 원인은 기호의 크기가 너무 작거나, 대각선 점선 탐지의 어려움 때문이다.
- 리포지토리 분석: 수집된 데이터를 분석한 결과, 대부분의 UML 다이어그램은 4개에서 7개의 클래스를 포함한다(논문의 Figure 3 참고). 또한 클래스 수와 클래스 간의 최대 커플링 값 사이에는 양의 상관관계가 나타난다(논문의 Figure 4 참고).
결론
Img2UML 시스템은 픽셀 기반 다이어그램 이미지와 엔지니어링 모델 간의 격차를 해소하는 방법을 제안한다. 이미지로만 존재하던 UML 모델을 StarUML과 호환되는 편집 가능한 XMI 파일로 변환한다. 평균 약 89%의 인식 정확도를 보였으며, 발생한 오류는 StarUML에서 수동으로 수정할 수 있다. 또한, 추출된 모델 정보로 리포지토리를 구축하여 UML 모델의 특성을 벤치마킹하고 예측하는 통계적 기반을 마련했다. 향후 계획으로는 산업 사례 연구 적용, 온라인 리포지토리 구축, 코퍼스 연구 수행 등이 있다.