DataScience
article thumbnail
Face swapping-Delaunay Triangulation(part 2) 들로네 삼각분할
영상처리/기초 2023. 1. 5. 11:49

추출한 얼굴을 타겟 얼굴에 매칭시켜주기 위해 들로네 삼각분할을 합니다. Delaunay(들로네) Triangulation(삼각분할)은 "어떤 삼각형의 외접원도 그 삼각형의 세 꼭지점을 제외한 다른 어떤 점도 포함하지 않는다" 최대한 정삼각형의 모양과 가깝게 분할한다는 특징이 있다. 아래 코드는 원본 마스크에서 들로네 삼각분할을 구현한 내용입니다. # Delaunay triangulation rect = cv2.boundingRect(convexhull) subdiv = cv2.Subdiv2D(rect) subdiv.insert(landmarks_points) triangles = subdiv.getTriangleList() triangles = np.array(triangles, dtype=np.int3..

article thumbnail
Face swapping (part1) 얼굴 교환
영상처리/기초 2023. 1. 5. 11:16

두 배우의 얼굴 사진이 있습니다. 얼굴 wrapping은 세단계로 구분됩니다. 1. 얼굴 특징에서 포인트를 추출합니다. 2. 얼굴 랜드마크를 통해서 위부경계를 만듭니다 3. 랜드마크와 타겟 얼굴 특징(피부색,크기,회전)을 맞춰줍니다. 아래 코드는 두단계를 구현한겁니다. 얼굴의 외부 경계 가져오기 이미지에서 얼굴 추출 얼굴 특징 포인트 추출을 위한 데이터 https://drive.google.com/file/d/1OQBLy3LlQN_oABy0SsEcaTU3TcWbvqlY/view?usp=sharing shape_predictor_68_face_landmarks.dat drive.google.com 라이브러리 import해주고 이미지를 로드하고 그레이스케일 형식으로 변환하고 마스크(원본 이미지와 동일한 크기..

article thumbnail
haar cascade face detection 얼굴 검출
영상처리/기초 2023. 1. 5. 10:02

위 논문에서 제안한 특징(feature)을 기반으로 비디오 또는 이미지에서 오브젝트를 검출하기 위해 사용됩니다. 직사각형 영역으로 구성되는 특징을 사용기 때문에 픽셀을 직접 사용할 때 보다 동작 속도가 빠릅니다. 찾으려는 오브젝트(얼굴)가 포함된 이미지와 오브젝트가 없는 이미지를 사용하여 Haar Cascade Classifier(하르 특징 분류기)를 학습시키고 분류기를 사용하여 오브젝트를 검출합니다. 알고리즘은 다음 4단계로 구성됩니다. Haar Feature Selection (하르 특징 선택) Creating Integral Images(적분 이미지 생성) Adaboost Training(adaboost 학습) Cascading Classifiers(특징 분류기) 하르 특징 선택 두개의 사각형으로 ..

article thumbnail
YOLO 객체 검출 알고리즘
영상처리/기초 2023. 1. 4. 10:26

Opencv에서 YOLO를 사용하는 방법 cv2와 numpy를 import해줍니다. import cv2 import numpy as np 알고리즘을 실행하려면 세 개의 파일이 필요합니다. weight 파일: 물체를 감지하는 알고리즘의 핵심인 훈련된 모델입니다. Cfg 파일 : 알고리즘의 모든 설정이 있는 구성 파일입니다. name 파일: 알고리즘이 감지할 수 있는 개체의 이름을 포함합니다. weights 파일 다운로드(용량이커서 링크로대체) #버전에 따라 net.getUnconnectedOutLayers()가 1차원,2차원 일 수 있습니다. 그러므로 layer_names[i[0] -1] 에서 layer_names[i -1] 으로 수정해줬습니다. modelConfiguration = "yolo_object..

cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\
영상처리/기초 2023. 1. 3. 15:33

cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\darknet\darknet_importer.cpp:210: error: (-212:Parsing error) Failed to open NetParameter file: yolov3.cfg in function 'cv::dnn::dnn4_v20221220::readNetFromDarknet' 파이썬에서 opencv import는 되었지만 net = cv2.dnn.readNet() 함수가 작동안함 가상환경을 새로 만들어서 numpy, opencv-python을 다시 설치해주니 해결됐습니다.

이미지 다운 샘플링
영상처리/기초 2022. 12. 23. 02:08

이미지 샘플링 시각화

article thumbnail
Human Hand Modeling from Surface Anatomy
영상처리/기초 2022. 12. 13. 05:28

Hand anatomy distal interphalangeal (DIP), proximalinterphalangeal (PIP), metacarpal phalangeal (MCP) D. Distal palmar crease, E. Proximal palmar crease, F. Thenar crease, Tensor voting 텐서보팅 과정은 크게 입력 자료를 텐서 형태로 변환하기 위한 텐서계산과 텐서 간 상호작용을 위한 선형 텐서보팅 과정으로 구성된다. 입력 자료인 지상라이다 포인트클라우드는 각각의 위치에서 이웃하는 자료들에 자신의 정보를 전달하는데, 그 정보는 텐서로 부호화되고 정의된 보팅영역(Voting Field)에 의해 패턴구조가 결정된다. 따라서 각각의 위치에서 수집된 정보는 보팅영역 내에..