반응형

전체 글 133

Pose Similarity - Weight Distance Python 코드

코사인 거리는 매우 훌륭하고 좋은 결과 값을 주긴 하지만 아직 큰 결함이 있다. Confidence Score는 Pose를 추정할 때 이 좌표에는 어떤 키포인트가 있을지 얼마나 확신하는지 알려주는 정도이다. 이 정보를 무시한다면 우리는 매우 중요한 정보를 버리는 것이다. def weightedDistanceMatching(poseVector1, poseVector2, score): """ poseVector1 = [120(x), 230(y) ...] poseVector2 = [324(x), 232(y) ...] score = [0.2, 0.3 ....] """ # test coordinate vector1PoseXY = poseVector1 vector1Confidences = score # test t..

MediaPipe - BlazaPose 사용방법

MediaPipe pose는 ML Kit 포즈 감지 API를 지원하는 BlazePose연구를 활용하여 RGB 비디오 프레임에서 전신에 대한 33개의 3D 랜드마크와 배경 분할 마스크를 추론하고 신뢰도가 높은 신체 포즈 추적을 위한 ML 솔루션이다. BlazePose 논문을 나름 해석해보았으니 참고 하실분은 링크를 클릭해주길 바란다! https://machineindeep.tistory.com/34 BlazePose: On-device Real-time Body Pose tracking 리뷰 pose estimation 프로젝트를 진행하다 mediapipe라는 프레임워크를 알게되었다. 나같은 경우에는 여러 사람을 multi tracking 하는게 아닌 한 사람만 감지하는 single tracking 이 필..

Deepfake faceswap 소프트웨어 설치, 사용법

Faceswap은 사진 혹은 비디오에 있는 얼굴을 인식하여, 얼굴 부분을 바꾸어주는 DeepLearning 기술 기반의 Software 입니다. 1. 사용자 환경 - Anaconda 4.9.2 - Window10 - Cuda 10.1 2. 설치 방법 faceswap 다운로드 주소 - faceswap.dev/download/ window나 linux 중 본인에 맞는 환경에 따라 설치 1) 경로설정 2) 본인 GPU에 맞는 설정 클릭(GPU 없으면 CPU로 설정) 3. 실행 1) Anaconda prompt으로 설치된 경로로 들어가서 해당 파일 확인 2) 본인 설정에 맞는 파일 라이브러리 설치 ex) pip install -r requirements_nvidia.txt Tensorflow 버전에 맞는 GPU..

파이썬으로 동영상 파일 처리 방법

123456789101112131415161718192021222324252627282930#!pip install opencv-python import opencv file_path = ' 파일 경로 ' cap = cv2.VideoCapture(file_path) # 프레임 수 확인 frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) len(frames) # 프레임 전부 읽어오기 n_frames = []ret = True while ret: ret, frame = cap.read() if not ret: break RGB = cv2.cvtColor(cv2.COLOR_BGR2RGB) n_frames.append(RGB) # 이미지 확인 cv2.imshow('img', n..

Few-Shot Adversarial Learning of Realistic Neural Talking Head Models 간단해석

* 해당 코드를 참고하면서 논문을 읽으면 이해하는데 도움이 됨 github.com/vincent-thevenin/Realistic-Neural-Talking-Head-Models vincent-thevenin/Realistic-Neural-Talking-Head-Models My implementation of Few-Shot Adversarial Learning of Realistic Neural Talking Head Models (Egor Zakharov et al.). - vincent-thevenin/Realistic-Neural-Talking-Head-Models github.com 1. Introduction 2019년 5월에 모스크바의 Samsung AI Centor 에서 발표한 논문이다...

freeze_support() error 해결

개발환경 - window10 - pytorch 1.2.0 - pycham 2020.3.3 1. Problem pytorch를 사용해서 model을 학습하려고 할 때 해당 error가 발생하였다. 2. Reason window 환경은 unix, linux와 다르게 *fork 를 지원하지 않고 *spawn을 사용한다고 하는데 spawn은 부모프로세스와 자식 프로세스가 구분되지 않아 프로세스를 계속 불러오는 재귀호출이 발생한다. * fork : 부모 프로세스에서 자식 프로세스를 하나 복제 생성해 주는 역할을 한다. 이때 복제 생성시, 부모 프로세스와 같은 프로세스가 만들어짐 * spawn : 부모 프로세스는 깨끗한 새 파이썬 인터프리터 프로세스를 시작한다. 자식 프로세스는 프로세스 객체의 run() 메서드를 ..

TAVE 6기 수료 후기 – 4개월 동안의 성장기

시간이 정말 빠르다.TAVE에 지원서를 제출하고 합격 메일을 받던 순간이 엊그제 같은데, 벌써 수료증을 들고 이렇게 글을 쓰고 있다.돌이켜보면 머신러닝이란 단어조차 낯설던 나가, 이제는 딥러닝 논문을 읽고 구현까지 해보는 단계에 와 있다니, 나 자신이 조금 대견하기도 하다. 물론 그 과정은 절대 혼자가 아니었다. 함께 달려준 스터디 팀원들, 질문을 주고받으며 같이 성장한 동아리원들 덕분이다. 🙌빠르게 달린 스터디 과정우리 스터디는 정말 스피드가 빨랐다.무려 한 달 반 만에 머신러닝 이론 대부분과 파이썬 라이브러리 활용까지 끝내버렸다.처음엔 ‘이걸 다 따라갈 수 있을까?’ 걱정했지만, 오히려 빠른 템포 덕분에 공부에 완전히 몰입할 수 있었다.이론 학습: 지도학습, 비지도학습, 회귀·분류 문제, 앙상블 기..

아무거나/일상 2020.12.02

CNN(Convolutional Neural Networks) 이론 설명

CNN 이란?- 이미지, 영상, 음성을 분석하기 위해 패턴을 찾는데 유용한 알고리즘으로, 데이터에서 이미지를 직접 학습하고 패턴을 사용해 이미지를 분류한다.일반적인 DNN은 기본적으로 1차원의 데이터를 사용해서 학습을 해야한다. 하지만 이미지 데이터는 640 x 640 이런 식으로 표현된다. 이 아무 처리없이 1차원으로 바꾸면 형체를 알 수 없을 정도로데이터의 손실이 일어난다. 이를 해결한게 CNN 이다. CNN은 크게 두단계로 나누는데 1. 전처리 과정 feature extraction2. 분류 과정 classification 아래 그림을 보면 더 이해가 잘 될것이다. 위의 그림은 CNN의 전체 과정을 담은 것이다. 크기가 32 x 32 ~ 5 x 5까지 줄어드는것을 볼수 있는데,이는 그림 데이터의 중..

k-최근접 이웃(KNN, K-Nearest Neighbor) 이론 설명

*제가 이해한 내용을 정리한 것입니다. 틀린것이 있다면 지적해주세요! KNN이란 ?- k개의 가까운 이웃을 보고 클래스를 판별한다. 게으른 학습기라고 불리며 훈련데이터를 함수로 판별하는 것이 아닌 데이터셋을 메모리에 저장후 판별 KNN은 유명하고 매우 간단한 알고리즘이다. 새로운 데이터가 '?' 이면 그 안에서 가장 가까운애들중 가장 많은 변수를 찾는 것이다. 이 그림을 보면 세모 1등, 동그라미 네모 공동 2등이므로 세모를 선택하는 것이다.k에 값을 줄때는 동점을 방지하기 위해 홀수값을 주는게 정석이다.만약 짝수값을 입력해 동점이 되더라도 그중 가까운애를 1등으로 한다.거리를 구하는 방식은 '맨하탄 거리', '유클리디안 거리', '민코우스키 거리'인데 민코우스키 거리가 가장 일반화가 되어 있다고 한다...

랜덤포레스트(RandomForest) (feat. 앙상블, ensemble)

*제가 이해한 내용을 정리한 것입니다. 틀린내용이 있으면 지적해주세요! 랜덤포레스트(RandomForest)란?- 여러개의 트리를 생성해서 트리의 결과를 투표해서 가장 많이 나온것을 선택하는 알고리즘이다. 랜덤포레스트를 알기전에 앙상블(ensemble)이라는 것을 알아야 한다.'약한 분류기를 강한 분류기로 만드는 알고리즘'앙상블은 여러개의 알고리즘을 통합해서 가장 잘 나오는 것을 뽑는 방식이다.결론적으로 랜덤포레스트는 앙상블을 쓴 알고리즘이다. 앙상블에 대표적인 4가지 방식을 알아보자 1. Voting : 여러개 다른 알고리즘을 여러개 써서 그 중 가장 많이나온 결과를 사용하는 방법이다.1) hard voting : 여러개의 결과를 투표해서 가장 많이 나온 결과2) soft voting : 각각의 확률을..

반응형