목록Spring/Project (10)
olrlobt
추천 알고리즘 이번에 진행한 프로젝트의 도메인은 '빅데이터 추천'이었다. 나는 추천 시스템에 관한 지식이 전혀 없는 상태였기에 여러 가지 학습한 내용을 정리하고, 내가 사용한 추천 알고리즘에 대해 작성하려 한다. 이 프로젝트의 요구사항은 사용자가 작성한 일기(글)를 기반으로 비슷한 내용의 다른 일기를 K개 추천하는 것이었다. 그렇다면, 어떻게 코드로 사용자가 작성한 일기와 비슷한 일기들을 찾을 수 있을까? 먼저, 숫자와 숫자의 유사도를 비교한다고 생각해 보자. 우리는 숫자와 숫자의 유사도를 비교할 때, 단순히 비교하는 숫자들의 거리차이가 가까울수록 유사도가 높다고 말한다. 이는 단어나 글에서도 똑같이 적용될 수 있는데, 단어를 컴퓨터가 이해할 수 있도록 숫자 배열로 표현한 임베딩 벡터값을 이용하면 된다...
많은 개발자들의 고민 나는 깃허브 리드미에 내 블로그를 홍보하기 위해 링크를 해 놓곤 한다. 하지만, 이 전의 내 깃허브 리드미에는 아래와 같이 a 태그를 이용한 조촐한 이미지 링크만 띄워 놓거나, 좌측 프로필에 조그맣게 걸어 놓는 것이 전부였다. 눌러보고 싶다는 호기심도 생기지 않고, 홍보도 잘 안 되는 것이 불만이었는데, 이를 해결할만한 마땅한 방법이 없어서 그대로 내버려 둔 채로 오랜 시간을 보냈다. 사실 나뿐만이 아니라, 다른 개발자분들 역시 별반 다르지 않다. 거의 숨은 블로그 찾기 급으로, 기술 스택과 함께 나열해 놓은 것을 볼 수 있었다. 많은 개발자, 혹은 개발자 지망생 분들이 자신의 블로그를 홍보, 포트폴리오, 지식공유의 목적으로 깃허브 리드미에 걸어 놓은 것을 자주 볼 수 있는데, 그리..
Mediapipe 분석 시간 현재 내가 진행 중인 프로젝트에서는 Mediapipe의 분석 결과를 가지고 여러 가지 작업을 진행할 예정이다. 하지만 Mediapipe의 경우, 실시간 영상 데이터만을 활용하여 분석 결과를 보여주게 된다. 즉, 30초 길이의 영상의 분석 결과를 갖기 위해서는 30초간 영상을 재생하면서 데이터를 실시간으로 보내주어야만 결과 값을 얻을 수 있었다. 나는 이 점이 내가 만들 서비스에서 치명적인 문제가 될 수 있다고 생각했다. 사용자가 서비스를 이용할 때, 30초 영상을 사용하려면 30초를 기다려야 한다는 얘기니, 큰 불만사항이 될 수 있다. Mediapipe로 2배속 영상 분석 앞서 말한, 분석 시간을 줄일 수는 없을까 고민을 해 보았다. 가장 먼저 떠오른 방법은 단순히 배속된 영..
저번 포스팅에서 Mediapipe 분석 결과를 3D grid로 출력하는 것을 다루었다. https://olrlobt.tistory.com/54 [Pose Estimation] Mediapipe Pose 분석 결과 3D grid로 렌더링하기 토이 프로젝트 진행 중, 3D 결과 값을 보여준다면 사용자에게 더 좋은 결과를 보여 줄 수 있다고 생각하여, 3D Utils의 Grid를 이용하여 사용자에게 결과를 보여주기로 하였다. Mediapipe Media pipe는 Googl olrlobt.tistory.com PoseWolrdLandmarks가 나타내는 값 poseWolrdLandmarks는 Mediapipe 공식 홈페이지에서 엉덩이 중심의 점으로부터 meter 단위의 3D 좌표라고 안내하고 있다. 나는 당연..
토이 프로젝트 진행 중, 3D 결과 값을 보여준다면 사용자에게 더 좋은 결과를 보여 줄 수 있다고 생각하여, 3D Utils의 Grid를 이용하여 사용자에게 결과를 보여주기로 하였다. Mediapipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한 기능들을 제공한다. 자세한 내용은 이 전 포스팅에서 다루었다. https://olrlobt.tistory.com/50 [Pose Estimation] MediaPipe Pose / 미디어 파이프로 사람 포즈 감지하기 Media pipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한..
FFmpeg FFmpeg는 비디오, 오디오를 처리하는 오픈소스 라이브러리이다. 대표적으로 지원하는 동작으로는 파일변환, 편집, 스트리밍, 인코딩과 디코딩 등이 있고, 비디오에서 썸네일을 자동으로 뽑아내는 곳에 자주 이용된다. 특이한 점으로는, 주로 커멘드 입력으로 동작한다. 또한, FFmpeg는 다양한 운영체제에서, 다양한 프로그래밍 언어로 사용할 수 있는 라이브러리로 제공되어, 수많은 개발자와 사용자 모두에게 유용한 기능을 많이 제공해 준다. 오늘은 FFmpeg를 이용하여 Spring boot 프로젝트에서, 클라이언트가 요청한 동영상 파일을, 2 배속하여 다시 사용자에게 보여줄 것이다. 공식 Github : https://github.com/FFmpeg/FFmpeg FFmpeg 설치 먼저, 스프링 부트..
Media pipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한 기능들을 제공한다. 또한, 사람의 자세 인식 Pose 추적이 가능하지만 오직 한 사람의 Pose를 추정하는 기능을 제공한다. 한 사람의 Pose를 추적하는 코드를 구현하기를 원한다면, 이 전 게시글인 아래의 포스팅을 확인하길 바란다. https://olrlobt.tistory.com/50 [Pose Estimation] MediaPipe Pose / 미디어 파이프로 사람 자세 인식 JavaScript 구현하기 Media pipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식..
Media pipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한 기능들을 제공한다. Media pipe에서 제공하는 기능들은 아래에서 확인 가능하며, 자세히는 공식 홈페이지를 참고하길 바란다. https://google.github.io/mediapipe/ Home Cross-platform, customizable ML solutions for live and streaming media. google.github.io 이 많은 기능들 중 내가 사용할 것은 Pose기능이다. Pose 기능은 사람의 자세를 탐색하는 기술로 머신러닝으로 학습한 모델을 이용하여, 이미지, 동영상, 실시간 동영상 에서의 사람의 자세를 ..