프로젝트 배경
[프로젝트 배경]
1) 문제점
- 인공지능 모델 개발을 위해 대량의 이미지 데이터를 관리해야 하나, 파일이 여러 위치에 흩어져 있어 찾기 어렵고 정리도 비효율적이었음
- 파일명이 제각각이라 중복되거나 누락된 데이터를 식별하기 힘들었음
- 라벨링 작업에 많은 시간이 소요되었고, 수작업 중심이라 정확도와 일관성을 유지하기 어려웠음
- 개인 PC나 팀원별로 데이터를 보관해 퇴사나 이동 시 데이터 유실 및 연속성 저하 발생
2) 프로젝트 목표
- 이미지 데이터를 한 곳에서 통합 관리하고, 검색할 수 있는 시스템 구축
- 인공지능 기반 자동 라벨링 기능을 통해 라벨링 시간을 단축하고 정확도 향상
- 라벨링 유형(Classification, Keypoint, Bounding Box, Segmentation) 전부 지원하는 플랫폼 구현
- 중앙 서버에 데이터를 보존하여 사용자 변경 시에도 유실 없이 지속 사용 가능하도록 구성
3) 주안점
- 이미지 파일명/내용 분석 기반의 유사 이미지 검색 기능
- 사용자 질문에 AI가 분석 후 이미지로 답변하는 인터페이스 개발
- 데이터 보존 및 접근 권한 제어를 통한 보안 강화
- 이미지 관리와 라벨링 과정을 웹 기반 UI와 Python SDK로 누구나 쉽게 사용 가능하도록 구현
1) 문제점
- 인공지능 모델 개발을 위해 대량의 이미지 데이터를 관리해야 하나, 파일이 여러 위치에 흩어져 있어 찾기 어렵고 정리도 비효율적이었음
- 파일명이 제각각이라 중복되거나 누락된 데이터를 식별하기 힘들었음
- 라벨링 작업에 많은 시간이 소요되었고, 수작업 중심이라 정확도와 일관성을 유지하기 어려웠음
- 개인 PC나 팀원별로 데이터를 보관해 퇴사나 이동 시 데이터 유실 및 연속성 저하 발생
2) 프로젝트 목표
- 이미지 데이터를 한 곳에서 통합 관리하고, 검색할 수 있는 시스템 구축
- 인공지능 기반 자동 라벨링 기능을 통해 라벨링 시간을 단축하고 정확도 향상
- 라벨링 유형(Classification, Keypoint, Bounding Box, Segmentation) 전부 지원하는 플랫폼 구현
- 중앙 서버에 데이터를 보존하여 사용자 변경 시에도 유실 없이 지속 사용 가능하도록 구성
3) 주안점
- 이미지 파일명/내용 분석 기반의 유사 이미지 검색 기능
- 사용자 질문에 AI가 분석 후 이미지로 답변하는 인터페이스 개발
- 데이터 보존 및 접근 권한 제어를 통한 보안 강화
- 이미지 관리와 라벨링 과정을 웹 기반 UI와 Python SDK로 누구나 쉽게 사용 가능하도록 구현
프로젝트 성과
이미지 데이터 통합 관리 시스템 구축
여러 위치에 분산되어 있던 이미지 데이터를 하나의 플랫폼에서 관리할 수 있게 통합하여, 데이터 접근성과 유지 관리 효율성을 대폭 향상시킴.
라벨링 시간 80% 이상 단축
AI 기반 자동 라벨링 기능(Classification, Keypoint, Bounding Box, Segmentation 지원)을 도입하여 수작업 라벨링 시간을 획기적으로 줄이고, 라벨링 품질도 균일하게 유지
AI 검색 및 질문 응답 기능 구현
이미지 임베딩 분석과 유사도 기반 검색 기능을 통해 유사 이미지를 빠르게 찾을 수 있으며, 사용자의 자연어 질문에 적절한 이미지로 응답하는 AI 인터페이스를 구현함.
데이터 유실 방지 및 업무 연속성 확보
이미지 데이터를 로컬이 아닌 서버 기반으로 보존함으로써, 퇴사나 부서 이동 등의 상황에서도 데이터가 유실되지 않고 지속 활용 가능하도록 함.
일반 사용자도 활용 가능한 쉬운 라벨링 UI 제공
개발 지식이 없는 사용자도 쉽게 사용할 수 있도록 직관적인 웹 기반 UI를 설계하고, Python SDK를 통해 고급 사용자도 편리하게 데이터 연동이 가능하게 구현함.
핵심 기능
이미지 데이터셋 통합 관리
다양한 위치에 분산된 이미지 데이터를 하나의 플랫폼에서 통합적으로 관리할 수 있도록 지원함
AI 기반 자동 라벨링 도구 (Classification / Keypoint / Bounding Box / Segmentation)
다양한 라벨링 유형을 지원하여, 여러 종류의 이미지 분석 모델 학습에 필요한 주석 데이터를 생성 가능.
기존 데이터를 기반으로 유사 이미지 탐색 후 라벨을 자동으로 추천 또는 부여하여 라벨링 시간과 오류를 줄임
기존 데이터를 기반으로 유사 이미지 탐색 후 라벨을 자동으로 추천 또는 부여하여 라벨링 시간과 오류를 줄임
유사 이미지 검색
이미지 임베딩 분석을 기반으로, 파일명이나 경로가 달라도 내용이 유사한 이미지를 빠르게 검색할 수 있음.
클래스별 통계 및 분석
각 클래스(Label)별 이미지 수, 비율 등의 통계 정보를 제공하여 데이터의 불균형이나 이상치 등을 파악 가능함.
Python SDK 제공
개발자는 Python 코드로 데이터셋, 이미지, 클래스 관리 및 라벨링 기능을 자동화하여 활용 가능함.
진행 단계
기획
2024.10.
데이터 라벨링과 관리의 어려움을 해결하기 위한 오픈소스 플랫폼 아이디어 도출
주요 타깃 사용자(개발자 + 일반인) 정의 및 요구 기능 정리
AI 기반 자동화 기능 및 통계 분석 기능 포함 여부 결정
주요 타깃 사용자(개발자 + 일반인) 정의 및 요구 기능 정리
AI 기반 자동화 기능 및 통계 분석 기능 포함 여부 결정
디자
2024.11.
- 라벨링 화면 및 데이터셋 구조 UX/UI 설계
- 라벨링 타입별 화면 플로우 구성
- 초보자도 쉽게 사용할 수 있도록 직관적 인터페이스 시안 제작
- 라벨링 타입별 화면 플로우 구성
- 초보자도 쉽게 사용할 수 있도록 직관적 인터페이스 시안 제작
개발
2024.12.
- FastAPI 기반 백엔드 개발
- Next.js 기반 프론트엔드 정적 웹사이트 구현
- Python SDK 설계 및 기능 연동
- 이미지 임베딩 및 자동화 라벨링 기능 구현
- Next.js 기반 프론트엔드 정적 웹사이트 구현
- Python SDK 설계 및 기능 연동
- 이미지 임베딩 및 자동화 라벨링 기능 구현
테스트
2025.01.
- 실제 데이터셋을 활용한 기능 검증
- 라벨링 정확도 테스트 및 자동화 기능 오류 수정
- 사용성 테스트: 일반 사용자 대상으로 UI 테스트 및 피드백 반영
- 라벨링 정확도 테스트 및 자동화 기능 오류 수정
- 사용성 테스트: 일반 사용자 대상으로 UI 테스트 및 피드백 반영
런칭
2025.04.
- 오픈소스 프로젝트로 GitHub에 배포
- 사용자 매뉴얼 및 설치 가이드 제공
- 실제 프로젝트/사내에 적용하여 효율성 검증
- 사용자 매뉴얼 및 설치 가이드 제공
- 실제 프로젝트/사내에 적용하여 효율성 검증
프로젝트 상세
[1] 포트폴리오 소개
카테고리: 인공지능(AI), 데이터 툴
타깃 사용자: AI 개발자, 데이터 라벨러, 일반 사용자 (개발 지식 없이도 사용 가능)
Ingradient는 이미지 데이터셋을 쉽게 만들고 관리할 수 있도록 도와주는 오픈소스 라벨링 도구입니다.
개발자뿐 아니라 일반 사용자도 직관적인 웹 화면을 통해 직접 라벨링 작업을 할 수 있도록 설계되어 있습니다.
Classification, Keypoint, Bounding Box, Segmentation 라벨링을 모두 지원합니다.
[2] 작업 범위
- 전체 서비스 기획 및 구조 설계
- 백엔드 API 개발 (FastAPI)
- 프론트엔드 개발 (Next.js 정적 웹사이트)
- Python SDK 개발
- Docker 배포 환경 구축
- 로컬 실행 및 서버 실행 지원 (윈도우, 맥, 리눅스 모두 가능)
- 반응형 웹 인터페이스 제공
[3] 주요 기능 및 업무
- 데이터셋 관리: 데이터셋 생성, 수정, 삭제
- 이미지 업로드 및 관리: 이미지 업로드, 삭제, 클래스 설정
- 라벨링 기능:
- 이미지 분류(Classification)
- 키포인트(Keypoint)
- 바운딩 박스(Bounding Box)
- 세그멘테이션(Segmentation)
- Python SDK를 통한 프로그래밍 연동 지원
- Swagger를 통한 API 문서 자동 생성 (/docs에서 확인 가능)
- Docker로 한 줄 명령 실행 가능
카테고리: 인공지능(AI), 데이터 툴
타깃 사용자: AI 개발자, 데이터 라벨러, 일반 사용자 (개발 지식 없이도 사용 가능)
Ingradient는 이미지 데이터셋을 쉽게 만들고 관리할 수 있도록 도와주는 오픈소스 라벨링 도구입니다.
개발자뿐 아니라 일반 사용자도 직관적인 웹 화면을 통해 직접 라벨링 작업을 할 수 있도록 설계되어 있습니다.
Classification, Keypoint, Bounding Box, Segmentation 라벨링을 모두 지원합니다.
[2] 작업 범위
- 전체 서비스 기획 및 구조 설계
- 백엔드 API 개발 (FastAPI)
- 프론트엔드 개발 (Next.js 정적 웹사이트)
- Python SDK 개발
- Docker 배포 환경 구축
- 로컬 실행 및 서버 실행 지원 (윈도우, 맥, 리눅스 모두 가능)
- 반응형 웹 인터페이스 제공
[3] 주요 기능 및 업무
- 데이터셋 관리: 데이터셋 생성, 수정, 삭제
- 이미지 업로드 및 관리: 이미지 업로드, 삭제, 클래스 설정
- 라벨링 기능:
- 이미지 분류(Classification)
- 키포인트(Keypoint)
- 바운딩 박스(Bounding Box)
- 세그멘테이션(Segmentation)
- Python SDK를 통한 프로그래밍 연동 지원
- Swagger를 통한 API 문서 자동 생성 (/docs에서 확인 가능)
- Docker로 한 줄 명령 실행 가능
