전체 글

이번 포스팅은 python에서 enumerate의 이해를 돕기 위해 작성했습니다. for 루프 - enumerate를 설명하기 전에 python에서 for 루프를 어떻게 사용하는지에 대해 간단하게 설명하겠습니다. - python에서 for문은 기본적으로 의 형태로 작성되며 iterable은 리스트, 튜플, 문자열 등 순회가 가능한 것이면 대부분 사용 가능하며 item은 iterable가 가지고 있는 원소들이 for문을 돌면서 하나씩 할당되게 되며 인덱스를 가지게 됩니다. list = ['A', 'B', 'C'] for item in range(len(list)): print(item, list[item]) 결과) - 결과를 보시면 item 순서대로 list에서 설정된 것을 볼 수 있습니다. enumera..
· 영상처리
이번 포스팅은 OpenCV에서 Meanshift를 이용한 Object Detection에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.2/d7/d00/tutorial_meanshift.html GOAL - 물체를 추적하는 Meanshift 알고리즘에 대해 공부할 것입니다. Meanshift - Meanshift는 말 그대로 Mean (평균) Shift (이동) 알고리즘입니다. Meanshift는 매우 직관적으로 이해할 수 있었는데 아래 그림처럼 어떤 데이터 포인트 셋이 있을 때 원 모양의 윈도를 그리고 가장 많은 데이터를 가지고 있는 원의 영역으로 이동합니다. - 그림을 보시면 초기 윈도우 창은 C1이며 중심은 C1_o입..
· AI/GAN
출처 : 미술관에 GAN 딥러닝 실전 프로젝트 출처를 가지고 공부한 내용을 정리한 포스팅입니다. - 이때까지 딥러닝을 공부하면서 판별 모델링에만 익숙하여 생성 모델링을 공부했을 때는 한 번에 다가오지 않는 개념이었습니다. 확률을 이용하여 생성하는 생성 모델링에 대해 이 책은 판별 모델링과 비교하여 설명하기 때문에 이해하기 좋은 것 같습니다. 생성 모델링 - 크게 본다면 확률 모델의 관점에서 생성 모델은 데이터 셋을 생성하는 방법을 기술한 것 - 모델에서 샘플링하면 새로운 데이터를 생성할 수 있다. - 훈련 데이터 : 생성하려는 데이터 개체의 샘플을 많이 가진 데이터 셋 - 샘플 : 데이터 포인트 하나, 샘플은 많은 특성(feature)으로 이루어진다. - 생성 모델은 확률적이어야 하며, 모델은 생성되는 ..
· 영상처리
이번 포스팅은 OpenCV에서 Haar Cascades을 이용한 얼굴 검출에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.0/db/d28/tutorial_cascade_classifier.html GOAL - Haar Cascade로 object detection을 어떻게 하는지 알아본다. - Haar Feature-based Cascade Classifiers를 사용하여 기본적인 얼굴 감지 및 눈 감지를 해본다. - OpenCV에서 Haar Cascade로 어떻게 detection 하는지 알아본다. Theory - Haar feature-based cascade classifiers (Haar feature을 기반으로 ..
이번 포스팅은 python을 사용하며 클래스에서 self의 이해를 깊게 하기 위해 정리한 것입니다. self - self는 class를 포스팅할 때 썼지만 처음에는 클래스에 정의된 함수인 메서드의 첫 번째 인자는 self 다!라고 외우고 지나갔습니다. 하지만 사용하면 할수록 self는 계속 나오는데 이해는 안 되고 하여 정리하고자 합니다. - 결론을 얘기하자면 self는 클래스의 인스턴스 그 자체를 말합니다. 즉, 객체 자기 자신을 참조하는 매개변수입니다. 예시를 들어 알아보겠습니다. - self를 전달하지 않는 메서드 class Food: def eatPizza(): print('yam') good = Food() good.eatPizza() - 결과 에러는 eatPizza 메서드에 arguments를..
· AI/Pytorch
pytorch에서 Dataset을 다루는 방법과 Transform을 사용하는 방법에 대해 알아보겠습니다 https://tutorials.pytorch.kr/beginner/basics/transforms_tutorial.html 여기서 공부를 하였고 정리하였습니다. Transform(변형) - 저희가 학습을 할 때 데이터가 항상 알고리즘 학습에 필요한 최적의 처리가 된 형태로 제공되지 않습니다. 그렇기 때문에 transform을 하여 데이터를 조작하고 학습에 적합하게 만들어야 합니다. - torchVision.datasets에서 매개변수 두 개를 받는데 하나는 feature을 변경하기 위한 transform이며 다른 하나는 label을 변경하기 위한 target_transform입니다. - torchvi..
· 영상처리
이번 포스팅은 Image Pyramid에 대해 알아보고 OpenCV에서 어떻게 사용되는지 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.1/d4/d1f/tutorial_pyramids.html GOAL - Image Pyramid? - OpenCV에서 Image Pyramid 사용 방법 Theory - 이미지 피라미드(Image Pyramid) - 위 그림처럼 이미지 피라미드란 이미지의 크기를 피라미드처럼 확대하거나 축소하는 작업을 말합니다. 가우시안 피라미드 ( Gaussian Pyramid ) - 가우시안 필터를 적용한 뒤 이미지 피라미드를 구성하는 것을 말합니다. downsampling 경우 이미지를 가우시안 블러 처리한 ..
이번 포스팅은 python에서 id 함수가 무엇인지, 그 사용과 결과에 대해 알아보겠습니다. ID 연산자 - id() 함수는 객체의 고유 값을 리턴합니다. - 즉, 어떤 객체를 가리키는지 볼 수 있다는 의미! - id는 파이썬이 객체를 구별하기 위해서 부여하는 일련번호입니다. 숫자로서 의미는 없습니다. - 동일한 객체 여부를 판별할 수 있습니다. 예시) a = 5 b = 10 print(id(a)) print(id(b)) b = a print(id(b)) 결과) - 처음 id(a)와 id(b)를 보면 각각 a와 10을 가리키는 것을 볼 수 있습니다. - b = a를 통해 b가 5를 가리키게 하여 id(a)와 id(b)가 같은 것 을 볼 수 있습니다. id()를 간단하게 알아보았고 비교해 보았습니다. 질문..
우준세
준세 단칸방