프로젝트 개요
건축 및 제조 산업의 도면 해석 프로세스를 자동화하고, 시간과 비용을 절감하며, 오류를 최소화하는 데 중점을 둔다.
이번 프로젝트에서는 YOLOv7 모델과 PySide6를 활용해 CAD로 작성한 건물의 전체 도면을 통해 각 층별 구성 객체를 자동으로 인식하고 오류를 분류하는 프로그램을 개발한다.
프로젝트의 주요 목표
-
데이터셋 확보
- 문, 창문, 벽 등의 데이터셋을 확보하고 균형 맞춤
-
각 객체 오류 탐지
- 정산 및 비정상 객체 탐지
- 객체 탐지 정확도
95%
이상, 오류 감지율 90%
이상 목표
-
사용자 친화적인 인터페이스 설계
- PySide6를 활용하여 비전문가도 쉽게 사용할 수 있는 GUI 구축
- GUI 반응 시간
1sec
이내
-
효율적인 데이터 처리와 빠른 분석 속도
- 기존 프로그램의 처리 시간인
180sec
이하 단축
개발 전 단계의 접근 방식
1) 문제 정의
- 현황:
- 건축 도면 설계 단계에서 수작업으로 진행
- 시간과 비용이 많이 소모
- 문제점:
- 수작업으로 인한 정확도 부족 및 실수 발생 가능성
- 대량의 도면 데이터 처리의 등 비효율성
2) 프로젝트 목표 구체화
프로젝트 시작 단계에서는 문제를 해결하기 위한 목표를 세부적 정의
-
기술적 목표:
YOLOv7
모델을 기반으로 객체 탐지 알고리즘 구현
OpenCV
를 활용한 이미지 전처리 기능 개발
-
사용자 경험 목표:
PySide6
와 Figma
를 활용한 사용자 친화적인 GUI 제공
- 비전문가도 쉽게 활용 가능한 직관적 워크플로우 설계
- 테스트 결과 기준 사용자 만족도
80%
이상 확보
-
성과 목표:
- 적정 수준의 객체 탐지 정확도
- 기존 프로그램 동작 시간인 180sec에서
60sec
이하로 처리 시간 단축
3) 기술 스택 및 도구 선택
개발 전 단계에서 다음과 같은 기술 스택 선택
-
YOLOv7:
- 최신 객체 탐지 모델로, 높은 정확도와 빠른 속도를 제공
- 도면 이미지에서 객체를 자동으로 탐지
-
PySide6:
- Python 기반의 직관적인 GUI 설계 가능
- 사용자 인터페이스 구현 및 결과 시각화
-
OpenCV:
- 이미지 전처리와 후처리 기능에 강점
- 도면의 대비 조정, 샤프닝 및 필터링 등
-
Custom Dataset
- 건축 도면의 특수성을 반영한 학습 데이터 필요
- 문, 창문, 벽 등 도면 객체를 레이블링한 데이터셋 생성
4) 데이터 수집 및 준비
AI 프로젝트의 성공 여부와 직결된 적절한 데이터셋 구성을 위한 계획
- 데이터 수집:
- 기존 도면 데이터베이스에서 건축 도면 샘플 수집
- CAD로 작성된 도면 파일 확보
- 데이터 전처리:
- OpenCV를 활용한 이미지 데이터 수집
- 객체 간 명확한 경계 확보
- 데이터 레이블링:
- CAD 파일을 활용한 객체 레이블링
- 건축 도면 파일을 통한 각각의 객체 분류
5) 시스템 아키텍처 설계
개발 전 시스템 아키텍처 설계 후 구현의 방향성 제시
-
입력:
-
처리:
- OpenCV를 사용한 이미지 전처리
- YOLOv7 모델을 통한 객체 탐지
-
출력:
- 탐지된 객체의 정보를 표시한 도면
- 사용자 수정 가능 인터페이스 제공
-
확장성 고려:
6) 도전 과제 예상
-
불균등한 데이터셋
-
복잡한 도면에서의 객체 중첩
- YOLOv7의 NMS 알고리즘 튜닝
- 복잡한 도면에서 동일한 객체의 다양한 표현 방식 해결을 위한 데이터셋 학습을 통한 규칙 기반 탐지 보완
-
사용자 친화적인 인터페이스 설계
앞으로의 계획
-
YOLOv7 모델 학습:
- Custom Dataset을 통해 모델 학습 진행 후, 건축 도면 객체에 최적화된 가중치 생성
-
GUI 프로토타입 개발:
- Figma를 통해 사용자 UI 디자인 및 PySide6를 활용한 초기 GUI 설계 및 기능 테스트
-
통합 테스트:
- AI 모델과 GUI를 통합하여 전체 시스템 테스트 및 최적화
-
성능 평가 및 피드백 반영:
- 사용자 피드백을 통한 정확도 및 사용성 개선
- 건축 도면 데이터셋 100개를 대상으로 모델 정확도 및 처리 속도 평가
맺음말
기존 프로젝트를 이어받아 빠르게 분석하고 개선점을 도출할 것이다. 개발 단계에서 도면 인식 자동화의 산업적 요구를 명확히 반영하며, 사용자 피드백을 기반으로 발전 시키는 것을 목표로 삼고있다. 이 프로젝트는 큰 도전이지만, 문제 해결 능력과 협업 역량을 키울 수 있는 기회로 삼고 열심히 도전에 임하겠다.
추가자료