DataScience
article thumbnail
Chrome용 상위 비디오 다운로더(무료)
컴퓨터 2023. 1. 6. 02:42

Chrome용 무료 비디오 다운로더 사용 전 팁: 대부분의 Chrome 비디오 다운로더는 매우 제한된 웹사이트에서 비디오 다운로드를 지원합니다. 광고가 없을 수 있으며 다운로드 실패 문제가 발생할 수도 있습니다. 비디오 다운로드 헬퍼 https://chrome.google.com/webstore/detail/video-downloadhelper/lmjnegcaeklhafolokijcfjliaokphfk/related?hl=ko Video DownloadHelper는 원래 Firefox에서 출시되었지만 이제 Chrome으로 옮겨졌습니다! 반짝이는 다운로드 기능을 제공하는 이 안정적인 웹 비디오 다운로더는 클릭 한 번으로 Chrome에서 온라인 비디오를 몇 초 안에 저장할 수 있는 서비스를 제공합니다. 기능..

article thumbnail
Face swapping-Swap faces(part 5)
영상처리/기초 2023. 1. 6. 00:09

part4에서 한개의 삼각형만 맞춰봤는데 전체 삼각형에 대해 회전, 변형을 해서 타겟 얼굴 삼각형과 일치시켰다. 첫 번째 이미지에서 삼각형을 뒤틀린 후 두 번째 면과 같은 크기와 위치로 뒤틀린 첫 번째 면을 재구성합니다. # Reconstructing destination face img2_new_face_rect_area = img2_new_face[y: y + h, x: x + w] img2_new_face_rect_area = cv2.add(img2_new_face_rect_area, warped_triangle) img2_new_face[y: y + h, x: x + w] = img2_new_face_rect_area 얼굴이 삼각형을 결합하여 재구성되면 마스크를 만들어 얼굴을 선택하고 검은색은 i..

article thumbnail
Face swapping-Select and Warp triangles(part 4)
영상처리/기초 2023. 1. 6. 00:05

원본 얼굴의 삼각형이 타겟 얼굴의 삼각형과 모양과 크기가 정확히 일치하도록 해당 삼각형을 선택하고 왜곡하는 방법을 입니다. import cv2 import numpy as np import dlib def extract_index_nparray(nparray): index = None for num in nparray[0]: index = num break return index img = cv2.imread("bradley_cooper.jpg") img2 = cv2.imread("jim_carrey.jpg") img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img2_gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) mask = np..

article thumbnail
Face swapping-Matching the two faces triangulation(part 3)
영상처리/기초 2023. 1. 6. 00:01

포인트의 인덱스 번호를 이용하여 다른 특징을 가진 두 얼굴의 같은 포인트 인덱스 번호 위치의 삼각형을 판별하고 해당 삼각형으로 원본 얼굴에서 타겟얼굴로 매칭을 해줍니다. 랜드마크 포인트 배열에서 삼각형의 인덱스를 추출하기 위해 나중에 필요한 함수를 만들었습니다. import cv2 import numpy as np import dlib def extract_index_nparray(nparray): index = None for num in nparray[0]: index = num break return index 교환하려는 두 이미지를 로드하고 그레이스케일로 변환한 다음 얼굴 렌드마크 검출기도 로드합니다. img = cv2.imread("bradley_cooper.jpg") img2 = cv2.imr..

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(특징 분류기) 하르 특징 선택 두개의 사각형으로 ..