전체 글(73)
-
[OpenCV] 키포인트 시각화 비디오 생성 (FastAPI)
저번 포스팅에서 인물의 수어 영상을 프레임별 관절 좌표를 추출한 json파일로 변환 후 DB에 저장하였다.https://bes99.tistory.com/73 [Mediapipe] 프레임별 인물의 관절 좌표 추출하기음성을 수어 영상으로 번역하는 기능 (Speech2Sign) 개발 중 DB에 저장된 수어 영상을 프레임별 키포인트로 변환하는 작업이 필요하여 파이썬의 Mediapipe 기능을 활용하여 이를 구현해보고자 한다. bes99.tistory.com Speech2Sign을 최종적으로 수행하기 위해서는 추출한 json좌표를 읽어 영상으로 변환하는 과정이 필요하여 개발을 진행하였다.유사도 검색 이후 json파일이 매칭되면, OpenCV를 통해 키포인트 시각화 비디오 생성 후 반환하는 로직을 FastAPI를 ..
2025.01.13 -
[Mediapipe] 프레임별 인물의 관절 좌표 추출하기
음성을 수어 영상으로 번역하는 기능 (Speech2Sign) 개발 중 DB에 저장된 수어 영상을 프레임별 키포인트로 변환하는 작업이 필요하여 파이썬의 Mediapipe 기능을 활용하여 이를 구현해보고자 한다. 📌 MediaPipe란?MediaPipe는 Google에서 개발한 오픈소스 멀티모달(Multimodal) 머신러닝 프레임워크이다.Hand Tracking, Face Mesh, Pose Estimation, Object Detection과 같은 기능을 제공하여 수어 번역에 필수적인 라이브러리고 생각하여 도입하게 되었다. 우선 인물의 수어 영상을 보았을 때 필요한 것은 얼굴에서의 특징 좌표, 몸의 관절 좌표, 손가락 하나하나의 관절 좌표이며, 이를 위해 Mediapipe 기능을 분석 후 개발을 진행하..
2025.01.13 -
[Ollama] llama3.2 한국어 버전 사용해보기
최근 폐쇄망에서 챗봇을 개발하고 있는 도중 llama3.2가 새롭게 출시되었다는 사실을 알게 되었다.llama3.2 특징을 간단하게 요약하자면, 성능은 기존 모델보다 업그레이드 된 것이며, 모바일 및 엣지 디바이스에 적합한 소형(1B, 3B) 및 중형 비전 모델(11B, 90B)로 구분된다고 한다.엄청난 분기 처리를 통해 AI를 활용하는 것 처럼 개발할 예정이었는데, 가뭄에 단비같은 소식이 아닐 수가 없다 ㅎㅎ하지만 한국어는 지원되지 않는 것이 큰 아쉬움이 있었는데, Hugging Face에 이것을 한국어 버전으로 사용할 수 있게 파인튜닝 한 것을 찾아볼 수 있었다..! (이번에는 테스트용으로 3B 버전 사용)https://huggingface.co/Bllossom/llama-3.2-Korean-Bllo..
2024.11.25 -
[FastText] 벡터 임베딩 모델 적용 (SpringBoot3)
개요Speech2Sign 기능 개발을 진행하며, 데이터베이스에 없는 수어 단어를 보완하기 위해 벡터 임베딩 모델인 FastText를 도입하였다.이전 포스팅에서 PostgreSQL 기반 벡터 DB 셋업을 완료하였으며, 이번 포스팅에서 임베딩 작업을 통해 유사도 검색 기능을 완성하려 한다. https://bes99.tistory.com/69 [Pgvector] PostgreSQL 활용 벡터 DB 구축하기 (SpringBoot3.x.x)개요Speech2Sign 기능을 개발하며, DB에 존재하지 않는 수어 단어에 대한 예외처리가 필요하였다.이러한 상황에서 벡터 DB를 도입하여 유사도 검색 기능을 추가하고자 PostgreSQL의 Pgvector 기능을 활용bes99.tistory.com FastText란?Fas..
2024.11.25 -
[SpringBoot3] 공공데이터 API 활용 DB 구축 (국립국어원 수어 데이터)
API 활용 사전 준비Speech2Sign 기능을 개발하기 위해 국립국어원의 공공데이터 API를 활용하여 수어 DB를 구축하였다.구체적으로는 API 호출 후 응답 데이터를 파싱하여, 수어 단어와 수어 영상을 매칭시키는 로직을 개발하여 DB를 구축하였다. 우선 수어 공공데이터를 보면 일상생활, 전문용어,문화정보로 총 세 개의 공공데이터 API가 존재하고 있는 것을 확인하였다.국립국어원의 한국수어사전 사이트를 참조하면 카테고리 별 수어를 확인해볼 수 있다.https://sldict.korean.go.kr/front/sign/signList.do?top_category=CTE 국립국어원 한국수어사전 sldict.korean.go.kr 여기서 세 개의 API를 모두 활용한 DB를 구축하려고 계획하였다.일상 생활..
2024.11.24 -
[Pgvector] PostgreSQL 활용 벡터 DB 구축하기 (SpringBoot3)
개요Speech2Sign 기능을 개발하며, DB에 존재하지 않는 수어 단어에 대한 예외처리가 필요하였다.이러한 상황에서 벡터 DB를 도입하여 유사도 검색 기능을 추가하고자 PostgreSQL의 Pgvector 기능을 활용하였으며, 이를 통해 입력이 들어왔을 때 DB에 없는 단어를 보완할 수 있게 아키텍처를 설계하고 개발을 진행하려고 한다. pgvector란?pgvector는 PostgreSQL에서 벡터 데이터 타입과 유사도 검색을 지원하는 일종의 확장 기능이다.딥러닝 및 머신러닝 애플리케이션에서 생성된 벡터 데이터를 저장(벡터 임베딩)하고, 유사도를 계산하거나 고속 검색하는 데 주로 사용된다.가장 큰 장점으로 벡터 DB를 별도로 구축하고, 분리하여 운영하지 않아도 되는 것이기에 해당 기술을 채택하고 사용..
2024.11.23