Data Science/컴퓨터비전
-
Diffusion Model 기본 개념 공부하기Data Science/컴퓨터비전 2024. 3. 17. 19:08
Stable Diffusion이 선보인지 2년이 지난 지금. 뒤늦게나마 해당 모델에 대해서 공부를 시작하려한다. 그 첫번째로 오늘은 Diffusion Model의 개념에 대해서 공부해본다. 관련 자료들을 찾아가며 공부한 내용을 정리한 포스팅으로 잘못된 풀이나 정보에 대한 피드백은 언제나 감사히 받겠습니다. 1. 생성형 모델 생성형 모델은 입력받은 데이터와 유사한 분포를 따르는 새로운 데이터를 생성하는 모델이다. 즉, 데이터의 분포를 학습 한다고 할 수 있다. 기존의 대중적인 생성형 모델로는 GAN, VAE, Flow-based model이 있으며, 모두가 데이터의 분포를 학습하는 모습을 볼 수 있다. GAN : Generator가 주어진 latent vector로부터 실제(데이터)와 최대한 유사한 임의의..
-
[opencv/python] 동영상 읽어와서 처리 후 다시 동영상으로 만들기Data Science/컴퓨터비전 2023. 6. 18. 19:22
동영상을 기반으로한 프로젝트들을 하다보면, 결과에 대해서 표현해 주어야하는 경우가 생긴다. 해당 포스팅에서는 이에 대한 내용을 간략히 정리해본다. 1. 동영상 프레임(이미지) 단위로 불러오기 cap = cv2.VideoCapture("동영상 주소") if cap.isOpened(): ret, img = cap.read() while ret: ret, img = cap.read() if not ret: break ## 이미지 처리 부분 # ~~ 2. 미사용 프레임에 대해서 생략하기 특정 프레임을 스킵하고 싶다면 아래의 명령어로 cap.read 보다 빠르게 스킵 가능하다 cap.grab() 3. 이미지 처리하기 예측모델의 동작이나 전/후처리 가 여기에 해당할 수 있다. 해당 포스팅에서는 모델부분은 다루지 않..
-
[python, opencv] 판별된 오브젝트가 특정 영역 내부에 있는지 판단하기(다각형 폴리곤을 이용한 마스크 만들기, 작업구역 탐지, 위험구역 탐지)Data Science/컴퓨터비전 2023. 5. 30. 19:25
다양한 모양의 작업구역 등을 설정하고 이에 탐지된 오브젝트가 구역내 소속되어 있는지 판단하는 방법을 고민하던 중 폴리곤으로 mask를 만들고 and 연산을 하면 간단하다고 하여 이를 작성해본다. 실제 이미지 및 오브젝트 검출 부분까지 글에 가져오면 너무 분량이 많아져서, 검출된 오브젝트의 좌표값이 있다고 가정하고 간단한 예시로 진행하겠다. 1. 이미지 120*100짜리 이미지가 있다고 가정한다. img_mask = np.zeros((100,120,1),dtype=np.uint8) plt.imshow(img_mask) 2. 특정 영역 마스크 구역 생성(작업구역, 위험구역 등) 작업구역과 같이 사용자가 지정하고싶은 특정 구역을 나타내는 마스크를 만들어준다. 여러개의 다각형으로 다양한 구역을 표현 가능하다. ..
-
[Python, opencv] 다각형 그리기 코드 구현(cv2.polylines)Data Science/컴퓨터비전 2023. 5. 30. 18:56
파이썬에서 다각형을 그리기 위해서는 opencv를 활용하여 아래와 같이 그릴 수 있다. import cv2 import numpy as np # 0으로 채워진 이미지(array) 생성 image = np.zeros((150,150,3),np.uint8) # 다각형의 좌표를 순서대로 입력, 입력 순서대로 선을 그리게 된다 pts1 = np.array([[20,20],[130,70],[90,90],[80,130]],dtype=np.int32) # cv2의 polylines로 다각형 그리기 # cv2.polylines(원본그림, 좌표리스트, 마지막점과 첫점 연결 여부, 선색, 선 굵기) cv2.polylines(image,[pts1],True,(255,255,255),4) plt.imshow(image) 세번..