PORTFOLIO
Vision AI 와 AI 로 만든 작업들.
현실의 시각 데이터를 구조화된 지식으로 바꿉니다.
01 — Lectures
Go 를 가르쳐 온 강의, 이제 AI 로 만듭니다.
인프런에 Go 강의 2개(33강, 9시간 19분)를 냈습니다. 새 강의는 대본 하나로 한국어판과 영어판을 함께 만들고, 내레이션은 ElevenLabs 로 복제한 제 목소리입니다.
강의
AI 강의 제작 파이프라인
마크다운 대본 하나가 완성된 강의 영상이 됩니다. 유료 음성 합성 전에 대본을 모두 검사하고, 내레이션은 ElevenLabs 로 복제한 제 목소리이며, 슬라이드·실습 화면·모션 그래픽은 그 목소리의 시간에 맞춰 만들어집니다.
- 대본 Markdown
- 대본 검사 before paid TTS
- 내레이션 · 내 목소리 ElevenLabs PVC · Multilingual v2
-
- 슬라이드Manim · red pen
- 실습 화면code-server · Go Playground
- 모션 그래픽Blender
- 완성 영상 KO · EN
Demo같은 장면, 두 언어
1편의 같은 페이지를 대본 하나로 만든 한국어판과 영어판입니다. 두 내레이션 모두 복제한 제 목소리입니다.
02 — MediaVault
스스로 교차 검증하는 AI 아카이브.
MediaVault 는 문서와 이미지를 받아 여러 AI 모델로 의미 있는 정보를 뽑고, 그 결과를 서로 맞춰 보며 믿을 수 있는 검색형 아카이브를 만듭니다.
문서 분석
- 업로드
- 중복 판별 xxHash64 → BLAKE3
- 형식 변환 LibreOffice → PDF
-
AI 분석
- Claude
- Gemini
- Qwen3-VL
- Gemma4
- 검색 Full-Text Search · Tag Filter
이미지 분석
- 업로드
- 중복 판별 xxHash64 → BLAKE3 · dHash → pHash
- 기본 정보 EXIF
-
- 인물 찾기YOLOv8-seg
- 나이·성별MiVOLO → InsightFace
- 얼굴 특징AdaFace
- 이미지 의미SigLIP SO400M
-
이미지 설명
- Step3-VL
- Qwen3-VL
- Gemma4
-
교차 검증·통합
- Claude
- Gemini
- Gemma4
- 검색 Full-Text · Vector · Text-to-Image
- 전용 모델
- 갈아 끼우는 모델
사용 모델
| 단계 | 모델 | 역할 |
|---|---|---|
| 문서 분석 | Claude / Gemini / Qwen3-VL / Gemma4 | 문서 이해와 정보 추출 |
| 이미지 분석 (인물) | YOLOv8-seg | 인물 찾기와 영역 분리 |
| 이미지 분석 (얼굴) | MiVOLO / InsightFace / AdaFace | 나이·성별 추정과 얼굴 특징값 |
| 이미지 분석 (의미) | SigLIP SO400M | 비슷한 이미지 찾기용 특징값 |
| 이미지 설명 | Step3-VL / Qwen3-VL / Gemma4 | 이미지를 자세히 서술 |
| 교차 검증·통합 | Claude / Gemini / Gemma4 | 두 개 이상 모델이 일치한 답만 확정 |
03 — FashionEngine
상품 상세페이지를 검색 가능한 패션 데이터로.
FashionEngine 은 쇼핑몰 상품 상세페이지를 Vision AI 로 쪼개고, 분류하고, 분석해 구조화된 패션 데이터로 바꿉니다.
입력
제공받은 정보, 이미지를 저장하고, 중복을 제거한 뒤 처리 대기열에 색인합니다.
- 제공받은 정보, 이미지 Info · Images
- 중복 판별 Image hash
- 색인 PostgreSQL
- 처리 대기열 Task queue
Demo상세페이지 칸 나누기
상품 상세페이지는 사진을 이어 붙인 것이 아니라, 디자이너가 사진·글자·배경 장식을 하나로 엮은 긴 통 이미지입니다. 흰 여백을 따라 대충 자르면 될 것 같지만, 배경이 이어지고 사진 위에 글자가 얹히며, 디자이너가 일부러 경계를 흐려 다음 구역으로 자연스럽게 넘어가게 만듭니다. 여기에 JPEG 압축 노이즈까지 겹쳐 깨끗해야 할 흰 여백에도 희미한 얼룩이 퍼져 있어, 단순한 규칙으로는 나눠지지 않습니다.
먼저 파인튜닝한 Swin 경계 모델이 사진이 시작하고 끝나는 곳에만 페이지를 가로지르는 선을 긋습니다. 글자 블럭과 배경 위 제품 컷에는 선을 긋지 않습니다.
- 경계
- Swin seam (fine-tuned)
- 학습 데이터
- 6,581장 (실사진 956장 + 합성 5,625장)
샘플 이미지는 AI로 생성했습니다
person
text
person
person
text
text
text
flat_lay
text
flat_lay
flat_lay
Demo분류
이어서 파인튜닝한 Microsoft Florence-2 가 영역마다 박스를 그리고, 인물·마네킹·바닥에 펼친 옷·원단·글자 중 무엇인지 판단합니다.
한글이 한 단어라도 들어간 글자 블럭만 글자(text)로 보고, 영어만 있는 글자는 장식으로 봅니다. 사진은 경계가 뚜렷하면 그 경계로, 경계가 없으면 옷의 최소 면적으로 박스를 그립니다.
학습 데이터는 Label Studio 에서 2,625개를 직접 라벨링해 만들었습니다.
- person
- text
- person
- person
- text
- text
- text
- flat_lay
- text
- flat_lay
- flat_lay
- 판단
- Florence-2 (fine-tuned) · 5 classes
- 학습 데이터
- Label Studio 에서 2,625개 직접 라벨링
- OCR
- Qwen3-VL 8B
샘플 이미지는 AI로 생성했습니다
Demo옷만 오려 내기
SAM3 가 상품명에서 뽑은 키워드(예: 니트 → "knit sweater")로 타겟 상품만 픽셀 단위로 잘라 냅니다. 박스가 아니라 옷의 윤곽 그대로 따고, 나머지 영역은 투명하게 지운 뒤 크롭합니다. 임베딩에는 이 잘라 낸 상품만 들어갑니다.
- 모델
- SAM3 (text prompt · knit sweater)
- 다음 단계
- 잘라 낸 상품만 임베딩
샘플 이미지는 AI로 생성했습니다
임베딩
옷마다 특징값(벡터)을 만들어 비슷한 옷을 찾습니다.
- 모델
- DINOv3 ViT-L (1024-d) · Marqo-FashionSigLIP (768-d)
- 검색
- pgvector (HNSW, cosine)
분석
대표 컷에서 옷의 속성을 읽어 냅니다.
Inter-VLM Agreement Verification
VLM 3개가 속성마다 따로 판단하고, LLM 이 다수결로 의견을 정합니다. 다수결이 나오지 않으면 사람이 검토합니다(QBC, Query-by-Committee).
- 대표 컷 Representative shots
-
- VLM 1Property vote
- VLM 2Property vote
- VLM 3Property vote
- 다수결 LLM · majority vote
-
- 확정2 of 3 agree
- 사람 검토No majority · QBC
- 판단
- VLM × 3
- 결정
- LLM 다수결 · 다수결 없으면 사람 검토(QBC)
- 분석 항목
- 색 · 패턴 · 디테일 · 체형 등 수십 개
04 — Kinevo
3D로 자세와 동작을 학습합니다.
준비 중입니다.