본문 바로가기

분류 전체보기66

[Open CV] 파이썬 이미지에 선/ 도형/ 글씨 입력하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 이미지에 선 긋기 2. 이미지에 사각형 그리기 3. 이미지에 다각형 그리기 4. 이미지에 원/타원/호 그리기 5. 이미지에 글씨 쓰기 개인적으로는 YOLO모델로 추론한 객체에 정보를 적어줄 때 이용했던 것 같습니다. 1. 이미지에 선 긋기 import cv2 import numpy as np img = np.full((500,500,3), 255, dtype=np.uint8) cv2.imwrite('../CV2/img/blank_500.jpg', img) img = cv2.imread('../CV2/img/blank_500.jpg') cv2.li.. 2022. 3. 4.
[Open CV] 파이썬 동영상 파일 & 웹캠 읽기, 저장하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 동영상 읽기 2. 웹캠 켜기 3. 웹캠 크기 조절하기 4. 웹캠 이미지 저장하기 5. 웹캠 동영상 저장하기 1. 동영상 읽기 동영상은 이미지 프레임 하나하나를 연속적으로 읽어오는 원리입니다. 그 속도가 영상의 속도를 좌우하는데, 보통의 동영상은 40fps(frames per second)인 경우가 가장 많다고 합니다. fps에 맞는 지연속도를 구하여 프레임이 들어가는 속도를 조절하는데, 그 계산은 아래와 같습니다. 지연시간 = 1000/fps 1초를 밀리초 단위로 환산해서 제공해야하기에 1000으로 계산합니다. 지연시간이 길다는 건 fps값이 작.. 2022. 3. 3.
[OpenCV] 파이썬 이미지 읽기 / 저장하기 본 글은 파이썬으로 만드는 OpenCV프로젝트 서적의 내용을 포스팅하는 내용입니다. 2장 기본 입출력 해당 실습은 cv2 라이브러리를 이용하여 진행합니다. 1. 이미지 읽기 import cv2 print(cv2.__version__) img_file = "../CV2/img/img1.PNG" # 표시할 이미지 경로 img = cv2.imread(img_file) # 이미지를 읽어서 img 변수에 할당 if img is not None: cv2.imshow('IMG', img) # 읽은 이미지를 화면에 표시 cv2.waitKey() # 키가 입력될 때까지 대기 cv2.destroyAllWindows() # 창 모두 닫기 else: print('No image file.') cv2.imread() - 이미지.. 2022. 3. 3.
[논문 리뷰] SENet 설명 (Squeeze-and-Excitation Networks)(2018) 사실 SENet이라기보다는 SE block이 더 어울리는(?) SENet 논문을 리뷰합니다. 마찬가지로 Abstract는 자세히 짚고, 나머지는 중요한 부분들 위주와 저의 생각들로 포스팅합니다. 이 논문은 직접 읽지 않을 때는 느끼지 못했던 연구진들의 엄청난 관점이 이번에 논문을 읽고나서야 제대로 느낀 것 같습니다. 찾아보니 ILSVRC 2017에서 우승을 했다고 합니다. 1. Abstract 2. SE block 구조 3. SE block의 활용성 4. SE block 실험결과 5. 간단한 SE block 구현(케라스) Abstract 최근의 bulding block을 중심으로 CNN이 더욱 발전하면서, 각 layer의 공간적인 정보와 필터로 생성된 채널간의 정보를 결합하여 많은 정보를 쌓는 것이 가능.. 2022. 2. 7.
[논문 리뷰] DenseNet(2017) 설명 논문 한편을 전부 번역하다시피 통째로 리뷰하니까 너무 힘든 것 같아서 Abstract만 자세히 살피고, 핵심 부분을 정리하여 리뷰하겠습니다. DenseNet 논문링크 DenseNet도 CNN에서는 매우 유명한 모델 중에 하나죠. 굉장히 다양한 task에서 Dense block을 차용하여 많이 이용합니다. 해당 논문을 보면, DenseNet 저자들이 ResNet을 많이 언급하고 비교도 많이 합니다. 아마 ResNet을 거의 counterpart로 두고 연구를 많이 진행한 것(?) 같습니다. 제가 리뷰한 ResNet 논문 리뷰를 같이 읽으시면, 도움이 많이 되실 겁니다! ResNet 논문리뷰 1. Abstract 2. Dense block 구조 3. DenseNet 전체 구조도 & 실험 4. ResNet과의.. 2022. 2. 5.
[논문 리뷰] ResNet(2015) 설명 논문을 읽고 핵심 내용을 인용하고 제가 이해한대로 부연 설명합니다. 저의 솔로 프로젝트에서 이용했던 resnet입니다. 파이토치 클래스로 구현했지만, 제 프로젝트나 구현이 관심있으신 분들은 링크를 눌러주시면 됩니다. 4. Pytroch resnet50 구현하기 (이미지 수집부터 분류 모델까지) 이 포스팅은 아래 흐름대로 진행되는 포스팅입니다. 데이터 수집 - 전처리 - 모델링 - 성능 개선 이번 포스팅은 전처리한 이미지들을 분류하기위한 모델의 아키텍쳐를 구현하여 학습을 진행합 inhovation97.tistory.com 4.1 실험 부분이 흥미로웠습니다. Abstract 1. Introduce 2. Realated work 3. Deep residual Learning 4. Experiments Abst.. 2022. 1. 19.
[논문 리뷰] GoogLeNet(2014) 설명 논문을 읽고 핵심 내용을 인용하고 제가 이해한대로 부연 설명합니다. 1. 당시 컴퓨터 비전과 인공지능의 배경 (1.introduction) 2. 저자들의 실험 초점 (2.related work & 3.Motivation and High Level Considerations) 3. 아키텍쳐 설명 (4.Architecture Details) 4. 개인적인 생각 이 부분은 논문 처음 introduction 부분의 내용입니다. 2014년도면 컴퓨터 비전 분야가 본격적으로 발전하기 시작한 때죠. 당시 비전 분야가 하드웨어의 발전이라기보다는 엄청난 아이디어들과 알고리즘의 향상들로 인해 견인되었을 정도로 많은 연구가 시작됐고, 사람들의 모바일 & computer의 메모.. 2021. 10. 3.
[논문 리뷰] VGGnet(2014) 설명 CNN모델 중에서도 아주 대표적이고 현재도 Backbone으로 널리 쓰이고 있는 VGGnet 논문을 리뷰하겠습니다. 논문을 리뷰하기 전에 간단한 배경을 설명하겠습니다. 논문을 리뷰하면서 제가 생각하기에 중요했던 핵심내용 & 이해를 돕는 설명들을 넣어 포스팅합니다. 논문을 리뷰하면서 저의 주관적인 생각은 다른 색으로 처리하겠습니다! 빨간색은 제가 중요하다고 생각하는 논문의 핵심입니다. (https://inhovation97.tistory.com/25 cs231n의 내용) 1. Introduction 2. Convnet Configurations 3. Classification Framework 4. Classification Experiments 5. conclusion 컴퓨터 비전 분야는 당시 이미지넷 .. 2021. 9. 8.
[CNN모델 이해하기] CNN 모델 설계하기 & CNN 모델 인사이트 이번 포스팅은 CNN 모델을 설계하면서, 중요한 점을 짚고 무엇이 어떻게 왜 쓰이는지 정리하려고합니다. 미리 학습된 모델을 쓰지 않고, 그냥 CNN모델을 설계하면서 성능차이를 봅시다. 캐글 컴피티션에 공유돼있는 노트북의 CNN 모델을 수정해가면서 개념을 되짚고, 성능을 높여보겠습니다. 이 과정에서 과적합을 방지하고 gradient vanishing을 유의하며 모델링합니다. 제 글을 끝까지 보시고 제가 공유한 노트북으로 모델 부분만 한 번 수정해보세요! 배운 것으로써는 당연한 결과지만 직접해보고 눈으로 보는 것 만큼 좋은 학습은 없죠 ㅎ 1. 캐글 컴피티션에 공유된 아주 basic한 CNN 모델을 살펴보기 2. 리뷰한 CNN 모델의 문제점을 찾고 수정해보기 .. 2021. 9. 1.