STEP 1: OpenCV
1. 그림 영역 탐지
👉가장 바깥쪽 윤곽선만 탐지합니다. (내부 윤곽선은 무시) 이후, 곡선 윤곽선도 직선으로 이루어진 다각형으로 변환합니다.
사각형 객체 중, 가장 큰 사각형 영역을 탐지합니다. |
원근 변환을 수행해 정면 이미지를 반환합니다. (+ 만약 탐지된 영역이 원본 이미지의 일정 비율(기본값 20%)보다 작으면 원본 이미지를 반환합니다.)
✅ 객체 윤곽선(contours) 탐지
✅ 가장 큰 사각형 탐지
✅ 원근 변환하여 정면 이미지 반환
2. 엣지(경계) 검출
👉그레이스케일(흑백) 로 변환합니다. Edge Detection은 색상이 아닌 밝기(Gray Level) 의 변화에 의존하므로 필수 과정입니다.
Adaptive Thresholding은 이미지의 명암 차이가 작을 때도 윤곽선을 더 명확하게 만듭니다.
Canny() 함수는 이미지의 Edge(경계선) 를 강조합니다.
✅ 그레이스케일(흑백) 로 변환
✅ Adaptive Thresholding (흰색 영역 강조)
✅ Canny Edge Detection (윤곽선 강조)
3. 주요 색상 검출
👉 K-means 클러스터링을 사용해 이미지에서 주요 색상 5가지를 추출합니다. K-means 알고리즘은 유사한 색상을 하나의 대표 색상으로 압축합니다.
✅ K-means 클러스터링
https://github.com/SKT-FLY-AI-project/AI/issues/16
[OpenCV] 흐름 정리 · Issue #16 · SKT-FLY-AI-project/AI
사진 탐지 및 데이터 검출 < OpenCV 기능별 흐름도 > 그림 영역 탐지 👉가장 바깥쪽 윤곽선만 탐지합니다. (내부 윤곽선은 무시) 이후, 곡선 윤곽선도 직선으로 이루어진 다각형으로 변환합니다.
github.com
STEP 2 : CNN
- 데이터 다운로드
👉Google Cloud의 BigQuery를 사용하여 (bigquery-public-data.the_met.objects 테이블에서) Metropolitan Art 데이터셋을 조회합니다. 전체 데이터 중 주요 작품(유명 작품) 데이터 정보를 조회합니다.
Metropolitan Museum of Art의 예술 작품 이미지를 웹에서 자동으로 다운로드하고, 메타데이터를 JSON 파일에 저장. 이 과정에서는 Selenium을 사용해 웹페이지를 탐색하며, urllib을 통해 이미지를 다운로드합니다.
✅ Google Cloud를 통해, Metropolitan Museum of Art 데이터의 주요 작품의 정보 조회
✅ Selenium 및 urlib으로 작품 이미지 다운로드
✅ 작품의 object_number, title, culture 등 메타데이터를 JSON 파일에 저장 - 데이터 전처리 (Preprocessing)
👉 학습에 사용할 이미지 데이터를 불러오고 전처리합니다. 먼저, 작품 title을 classification하기 위해서, Window 파일 시스템에서 사용할 수 없는 기호들 수정합니다.
이미지를 불러와서 정규화 및 증강을 수행합니다.
✅ 작품 title 수정
✅ 데이터 정규화 및 증강 - 모델 학습
👉CNN 모델과 VGG16 모델 구축하여 학습합니다.
✅ CNN 모델 구축 (Feature Extractor)
✅ VGG16 모델 추가 (Transfer Learning)
✅ EarlyStopping 적용한 모델 학습
https://github.com/SKT-FLY-AI-project/AI/issues/17
[OpenCV] 흐름 정리 · Issue #16 · SKT-FLY-AI-project/AI
사진 탐지 및 데이터 검출 < OpenCV 기능별 흐름도 > 그림 영역 탐지 👉가장 바깥쪽 윤곽선만 탐지합니다. (내부 윤곽선은 무시) 이후, 곡선 윤곽선도 직선으로 이루어진 다각형으로 변환합니다.
github.com
STEP 3 : VLM 및 LLM
https://github.com/SKT-FLY-AI-project/AI/issues/18
[VLM] 진행했던 시행착오 정리 · Issue #18 · SKT-FLY-AI-project/AI
1. 모델 선택 및 성능 문제 처음에는 CLIP과 BLIP을 테스트했지만 성능이 기대에 미치지 못함. 결국 Qwen2-VL 이상급의 VLM 모델을 사용하기로 결정VTS_RAG_questions. CNN을 활용한 작품 인식에서 일부 작
github.com
[SK텔레콤 FLY AI Challenger 6기] 지원 및 교육
[SK텔레콤 FLY AI Challenger 6기] 지원 및 교육
SK텔레콤에서 매년 여름과 겨울 방학 동안 진행하는 AI 교육 프로그램인 FLY AI에2025년 겨울, 6기로 참여하게 되었다.10월에 모집하고, 11월에 코딩테스트와 면접이 이루어진다.12월 말부터 ~ 25년 2월
doraemin.tistory.com
[SK텔레콤 FLY AI Challenger 6기] 수료식
[SK텔레콤 FLY AI Challenger 6기] 수료식
벌써 두여달이 지나고 수료식날이다...![SK텔레콤 FLY AI Challenger 6기] 지원 및 교육 [SK텔레콤 FLY AI Challenger 6기] 지원 및 교육SK텔레콤에서 매년 여름과 겨울 방학 동안 진행하는 AI 교육 프로그램인
doraemin.tistory.com
'AI 및 Data Analysis' 카테고리의 다른 글
[ScRAT] STEP 1. Sample mixup (0) | 2025.03.20 |
---|---|
[SAM] 모델 다운로드 및 실행 (0) | 2025.02.26 |
Metropolitan Museum of Art 데이터 CNN 학습하기 (1) | 2025.02.20 |
[LLM] VTS 기법 과정 설정 (0) | 2025.02.19 |
[Tensorflow] Metropolitan Museum of Art 데이터로 학습하기 (0) | 2025.02.16 |