외부 모델 학습을 위한 데이터셋 구축 💡Tip : 업로드부터 커스텀 오토라벨링까지 한 번에 끝내기
AI 모델 개발 과정에서 가장 큰 어려움은 어디서 시작해야 하고 어떤 순서로 진행해야 할지 결정하는 데 있습니다. 특히, 초기 단계인 데이터 구축 단계에서는 대량의 데이터를 효율적으로 관리하고 라벨링 하는 작업이 필수적이며, 이는 막대한 시간과 비용이 소요되는 과정입니다. 데이터 관리와 라벨링은 AI 모델 학습의 핵심 요소로, 이 과정의 효율성과 정확성은 최종 모델 성능에 직결되기 때문입니다.
이러한 상황과 더불어, 클라우드 스토리지를 사용할 수 없는 환경에서 AI 모델 학습을 위한 데이터 관리는 더욱 복잡할 수 있습니다. 이번 레시피에서는 CCTV 보안 및 안전 분야의 데이터를 예시로 활용하여, 효과적인 데이터 관리와 AI 모델 학습 방법을 소개합니다. 데이터 업로드, 데이터 선별, 오토라벨링, 라벨 검수, 그리고 최종 모델 학습을 위한 데이터셋 구축까지의 전체 워크플로우를 이해하고 적용할 수 있도록 돕고자 합니다. 또한 단계별로 작업의 효율성과 정확성을 높이기 위한 다양한 팁과 자동화 도구들을 함께 제시합니다.
레시피 케이스 2. 오토라벨링 적용과 검수를 통한 라벨링 데이터 품질 향상 방법
🤓 이 레시피를 통해 :
- 클라우드 스토리지를 사용하지 않고 SDK로 데이터를 업로드하는 방법
- 자동화 도구를 활용한 효율적인 라벨링 워크플로우 구축 방법
- 데이터 품질 관리를 위한 체계적인 검수 프로세스
- 모델 학습을 위한 최적의 데이터셋 구성 방법
을 공유합니다. 복잡해 보이는 AI 모델 개발 과정을 체계적이고 효율적으로 진행할 수 있도록, 실제 프로젝트에서 바로 적용할 수 있는 단계별 가이드를 제공합니다.
데이터셋 구축을 위한 주요 워크플로우
1. SDK를 통해 슈퍼브 큐레이트에 데이터 업로드하기
- 먼저, 슈퍼브 큐레이트에 업로드할 데이터를 준비합니다. 이 레시피에서는 CCTV 보안 및 안전 데이터, 예를 들어 건설 현장의 위험 상태를 판단하기 위한 CCTV 데이터를 사용합니다. 수집된 데이터는 약 20만 장의 이미지로, 건설 현장에서 사용되는 기기, 트럭, 작업자, 소화기 등이 포함되어 있습니다.
- 데이터가 준비되었다면 큐레이트의 SDK를 사용하여 업로드를 진행합니다. 큐레이트 SDK를 처음 사용하신다면
superb-ai-curate
SDK 설치 후 데이터셋 생성을 통해 이미지를 업로드합니다. - 데이터셋 생성 후 이미지를 업로드하는 단계에서 데이터의 해상도와 객체 다양성을 충분히 고려하는 것이 중요합니다.
SDK 업로드 이외에 다른 업로드 방법이 궁금하시다면 여기 문서에서 확인하실 수 있습니다. 👉 데이터 업로드하기
2. 오토 큐레이트(Auto-Curate)를 통한 데이터 선별
데이터를 무작위로 대량 선별하여 라벨링 하는 것은 모델 성능 저하와 비효율적인 시간 소모로 이어질 수 있습니다. 슈퍼브 큐레이트의 오토 큐레이트(Auto-Curate) 기능에서 라벨링 할 데이터 선별하기(what to label)
옵션을 활용하면 라벨링 할 데이터를 효과적으로 선별하여, 라벨링 작업의 효율성을 높일 수 있습니다.
이와 같이, 전체 20만 장의 CCTV 보안 및 안전 데이터셋 중에서 라벨링 할 데이터 선별하기(what to label) 옵션을 활용하여 5,000장의 데이터를 선별합니다.
👉 오토 큐레이트(Auto-Curate)로 라벨링 리소스 절감하기
3. 슈퍼브 큐레이트에 업로드 된 데이터셋을 라벨 프로젝트와 연동하기
슈퍼브 큐레이트에서 선별된 데이터를 라벨링하려면, 새 프로젝트와 연동기능을 통해 데이터를 슈퍼브 라벨 프로젝트와 연동하고 바로 라벨링을 시작할 수 있습니다.
👉 슈퍼브 큐레이트의 데이터 연동하기
4. 선별된 이미지에 태그를 추가하여 배치 단위 설정하기
슈퍼브 큐레이트에서 선별된 이미지 데이터를 슈퍼브 라벨 프로젝트와 연동 완료한 후, 1차 배치 구분을 위해 태그를 추가합니다. (3번의 프로젝트 연동 과정에서도 태그 설정이 가능합니다.)
👉 태그, 필터 및 라벨 검색하기
5. 오토라벨 기능으로 프리라벨링 수행 후, GT(Ground Truth) 구축
라벨링 작업을 시작하기 전에, 사전 준비 단계로 오토라벨(Auto-label) 기능을 활용해 프리라벨링 작업을 진행해 보세요.
오토라벨을 통해서 데이터에 라벨링할 클래스는 아래와 같습니다.
- 화물 트럭(Cargo Truck)
- 소화기(Fire Extinguisher)
- 작업자(Worker)
- 헬멧(Helmet)
선별된 데이터 중, 10%에 해당하는 500개의 데이터에 오토라벨 기능으로 프리라벨링 작업을 시작합니다. 작업이 완료되면 라벨링된 데이터를 검수하여 GT를 만드는 작업을 수행합니다.
6. 라벨링 검수 및 수정
검수 과정은 데이터 품질을 보장하고 라벨링의 정확도를 높이는 데 필수적인 단계입니다. 5번 단계에서 설정한 클래스들이 올바르게 라벨링 되었는지 프리라벨링된 데이터를 검토합니다.
- 오토라벨링 작업이 완료되면 난이도 쉬움과 어노테이션 없음 필터를 적용하여 데이터를 검토합니다. 이를 통해 어노테이션이 누락되었거나 감지되지 않은 데이터를 쉽게 찾을 수 있으며, 이는 엣지 케이스 검수를 위한 효과적인 방법입니다.
- 이러한 검수 과정에서 CCTV 데이터의 헬멧과 소화기 객체가 부정확한 사례들이 발견되었고, 특히 '헬멧을 착용한 작업자'와 '용접 작업 중 소화기를 비치한 작업자'들이 포함된 데이터에서 오류가 있다는 것을 확인할 수 있었습니다.
- 이에 따라 필터링 된 사람(작업자) 객체가 포함된 265장의 데이터를 추가로 검토하고, 두 명의 라벨러가 검수 및 수정 작업을 진행했습니다. 이 과정을 통해 부정확한 라벨을 수정하고 누락된 어노테이션을 보완하여 정확한 GT(Ground Truth)를 구축할 수 있었습니다.
👉 프로젝트 분석 및 리포트 확인하기
7. 구축한 GT로 커스텀 오토라벨(Custom Auto-Label) 만들기
위의 4-6번 단계에서 선별된 500장의 1차 배치 데이터 검수가 완료되면, 이를 기반으로 커스텀 오토라벨(Custom Auto-label)을 생성합니다.
- 이렇게 생성된 커스텀 오토라벨(Custom Auto-label)을 추가 라벨링 작업이 필요한 대량의 데이터에 적용할 수 있습니다. 높은 품질의 라벨링된 데이터를 바탕으로 만든 커스텀 오토라벨을 사용하면 라벨링 작업을 자동화하여 효율성을 극대화할 수 있습니다.
👉 커스텀 오토라벨(Custom Auto-label) 적용하기 - 커스텀 오토라벨 기능을 통해 나머지 4,500장의 데이터에 라벨링 작업을 실행합니다. 다시 위의 6번과 같은 과정으로 라벨링 검수 과정을 수행합니다.
- 학습에 필요한 데이터의 수량을 설정하고 커스텀 오토라벨 기능을 통해 라벨링 작업을 완료했다면, 이후에는 앞서 설명한 6번 단계와 동일한 방식으로 라벨링 검수 과정을 진행합니다.
1. 검증에 사용할 라벨들에
__VALIDATION__
이라는 라벨 태그를 추가합니다.2. 이렇게 태그를 추가한 라벨들과 함께 학습에 사용할 라벨을 내보내기(Lable export)합니다.
또한, 커스텀 오토라벨의 성능을 비교하고 싶다면 내보내기 결과 비교(Export Compare) 기능을 사용하여 모델 간 성능을 분석할 수 있습니다. 이를 통해 각 커스텀 오토라벨이 어느 클래스에서 더 우수한 성능을 보이는지 파악하고, 그 결과를 바탕으로 개선된 버전을 개발해 나갈 수 있습니다. 이렇게 커스텀 오토라벨은 한 번 생성에 그치지 않고, 지속적인 업데이트를 통해 성능을 향상시키는 것이 핵심입니다.
👉 내보내기 결과 비교(Export Compare)하기
8. 검수가 완료된 라벨링 데이터를 큐레이트로 다시 연동
최종적으로 검수된 데이터를 큐레이트와 연동하여 학습 및 검증용 슬라이스를 생성합니다. 이 과정에서 오토 큐레이트(Auto-Curate) 기능을 활용해 데이터셋을 학습용과 검증용으로 효율적으로 분할할 수 있습니다.
👉 학습/검증 데이터셋 선별하기(Split Train/Validation Set)
9. 학습/검증용 데이터 다운로드 및 외부 모델 학습 준비
학습과 검증용 슬라이스를 선택하여 로컬 환경으로 다운로드합니다. 슈퍼브 큐레이트의 다운로드 기능을 통해 데이터와 어노테이션을 다운로드 받을 수 있습니다. 다운로드된 데이터를 바탕으로 모델 학습을 진행하며, 이를 통해 실제 프로젝트에 적용할 수 있는 모델을 개발할 수 있습니다.
👉 데이터 다운로드하기
결론: 실용적인 AI 모델 학습 워크플로우
이 레시피는 클라우드 스토리지 없이도 외부 데이터셋을 활용하여 AI 모델을 학습할 수 있는 전 과정을 안내합니다. 특히, 오토라벨링과 커스텀 라벨링 기능을 적극 활용하여 학습 효율성을 높이고, 검수 과정을 통해 모델의 성능을 보장하는 것을 목표로 합니다.
이 레시피를 통해 여러분도 복잡한 데이터 관리와 AI 모델 학습을 더욱 손쉽게 진행해 보세요!