<aside> 💡 HyVISION SYSTEM 사내에서 진행한 VisionHub 프로젝트에 대한 요약 페이지입니다.

</aside>

프로젝트 개요

<aside> 📢

비전 장비 인원이 코드를 직접 작성하지 않고도 알고리즘을 작성하고 사내 제어 프로그램과 통신하여 결과를 주고 받을 수 있도록 설계된 비전 플랫폼입니다. 또한 사내에서 사용 중인 딥러닝 학습기에서 생성된 딥러닝 모델을 import할 수 있도록 설계되어 있습니다.

</aside>

담당업무

  1. 플랫폼 전체 구조 설계
  2. 플랫폼에서 사용하는 C++ 핵심 코어 라이브러리 개발
  3. C# WPF MVVM을 적용한 UI 개발
  4. 팀원에 업무 분배, 이슈 정리

개발 환경

Visual Studio 2022

.NET8

C++ 17

시연 동영상

VisionHub 알고리즘 작성 시연

VisionHub 알고리즘 작성 시연

VisionHub 알고리즘 결과 이미지를 결과 화면에 연결

VisionHub 알고리즘 결과 이미지를 결과 화면에 연결

VisionHub 결과 화면에 수치 값 표시

VisionHub 결과 화면에 수치 값 표시

개발 완료 후 소감

  1. Composition Pattern으로만 가능하다고 판단하고 개발 시작을 했으나. 그것 외에 많은 디자인 패턴을 공부했어야 했고. 그것보다 더 거대한 Context Composite Pattern을 공부해야 풀 수 있는 프로젝트였다는 것을 배움. 앞으로는 프로젝트를 시작하기 전 더 많은 자료 조사를 통해 신중하게 시작을 할 것

  2. 플랫폼 개발이 길어짐에 따라 프로그램은 거대해졌고 유닛 테스트 항목들이 점점 늘어나 빌드 시간이 점점 길어졌다. 이것을 해결하기 위해서 사내에서는 Gitlab을 사용하고 있었기 때문에 Gitlab CI/CD를 적용하여 코드가 올라감과 동시에 자동 빌드가 되도록 만들었다. CI/CD 없었으면 대부분의 시간을 빌드에 소모했을 것이다.

  3. C++로 만들어진 플랫폼 라이브러리를 C++/CLI 언어로 래핑하여 닷넷에서 사용 가능하도록 만들고 WPF UI에 넣어 개발을 진행 할 때 영상 처리를 위한 메모리풀 설계를 하지 않고 진행하여 빈번한 메모리 재할당이 자주 발생하도록 만든 부분은 잘못된 부분 같다. 경험이 없었다지만 이 부분도 다음에 이런 대규모 플랫폼을 개발할 때 잘 생각해봐야 할 것 같다.