마라톤, 그란폰도 대회 이미지에 대하여 자동 수집 및 컨텐츠 분석과 검색이 가능한 시스템입니다. 대회중에 찍힌 사진에 대하여 자동적으로 아래 항목에 대하여 레이블링을 진행, 이를 이용하여 검색이 가능합니다!
- 배번표 배번번호
- 성별
- 헬멧 착용 여부와 색상
- 고글혹은 선글라스의 착용 여부와 색상
- 상의 긴팔/반판 여부와 색상
- 하의 신바지/반바지 여부와 색상
- 양말 착용 여부와 색상
- 신발 색상
- 자전거 탑승 여부와 색상
Release page : https://app.granphotossearch.com/#/search
마침내 초기서비스를 배포하였습니다. 위의링크에서 시도해보실 수 있습니다!. 다음은
검색 : "Yellow shirts and red bike"
현재 이용가능한 검색기능은 다음과 같습니다.
기능명 | 가능여부 |
---|---|
인상착의 검색 | ⭕ |
배번표 검색 | ❌ |
현재 검색가능한 대회 목록은 다음과 같습니다.
대회명 | 가능여부 |
---|---|
2023 상주그란폰도 | ⭕ |
몇가지 핵심 아이디어에 대해 소개시켜드립니다.
- 해당 프로젝트에서 VectorDB를 이용하여 유사도 검색을 수행하는 이유 (#)
- Llava2를 이용하여 대회 이미지에서 성별, 헬멧이나 모자, 상의, 하의부터 자전거까지 색상 정보를 추출하는 법. (#)
- rule 기반의 자연어로 구성된 이미지 설명 컨텍스트 생성기법. (#)
- Ontoogy 와 LLM을 이용한 자연어로 구성된 검색쿼리에 대하여 구조적으로 분해하는법. (#)
- 네이버 이미지 크롤러 : https://github.com/sprtms400/Naver_Cafe_Image_Crawler
🙋 대회별 이미지를 수집하기 위해 개발됨. - 배번표 분석기 : https://github.com/sprtms400/ocrDINO_NumberExtractor
🙋 이미지 내에서 Grounding DINO를 이용하여 배번표 영역을 검출하고 OCR진행을 수행하기위해 개발됨 - 인상착의 분석기 : https://github.com/sprtms400/appearance-llava
🙋 Onpremise 환경에 구성된 Llava2 모델을 이용하여 이미지 내에서 인상착의를 Zero-shot learning을 통하여 검출하기위해 개발됨. - 서비스 웹페이지 프로젝트: https://github.com/sprtms400/Granfondo_Photo_Search_Front
🙋 Vue로 개발된 인터페이스.
- Llava2 : https://llava-vl.github.io/
🙋 인상착의 분석기에서 Zero-shot Learning을 통하여 이미지 내의 정보수집을 위해 이용됨. - Grounding DINO : https://github.com/IDEA-Research/GroundingDINO
🙋 이미지내에서 배번표 영역 검출을 위하여 이용됨 - Langchain : https://python.langchain.com/docs/get_started/introduction
🙋 Openai와 같은 외부 api를 이용하여 쉽게 개발할 수 있는 프레임워크 - easyOCR : https://github.com/JaidedAI/EasyOCR
🙋 배번표 영역에서 배번표 번호를 추출하기 위해 이용됨
OS : Ububtu 20.04
Node Version : 20.11
nvm install 20.11
의존 패키지 설치
npm install
실행 방법
npx ts-node server.ts