OpenCV 영상 처리 개요한번 OpenCV의 영상처리 방법에 데하여 알아보겠습니다.OpenCV의 VideoCapture클래스는 동영상을 개별 Frame으로 하나씩 읽어(Read)들이는 기능을 제공합니다.VideoWriter는 VideoCapture로 읽어들인 개별 Frame을 동영상 파일로 Write를 수행합니다.VideoCapture.read() - 영상의 다음 Frame을 읽습니다.VideoWriter.write() - 영상의 Frame을 write 합니다.cap = cv2.VideoCapture(video_input_path)…………vid_writer = cv2.VideoWriter(video_output_path, …..)while True:hasFrame, img_frame = cap.read..
오랜만에 NLP 관련 글을 쓰네요.. 시간 나는대로 열심히 쓰고 올려 보도록 하겠습니다. Thesaursus - 시소러스시소러스(Thesaurus)는 단어와 그 의미를 연결시켜주는 도구입니다.주로 특정 단어와 의미적으로 유사한 단어(동의어)와 반대 의미를 가진 단어(반의어)를 제공하여, 글을 쓰거나 말을 할 때 다양한 표현을 사용할 수 있도록 돕습니다.다른 의미로 말하면, 유의어 사전으로 '뜻이 같은 단어(동의어)'나 '뜻이 비슷한 단어(유의어)'가 한 그룹으로 분류되어 있습니다.또한 NLP에서 이용되는 시소러스에서는 단어 사이의 '상위, 하위' 혹은 '전체, 부분'등 더 세세한 관계까지 정의해둔 경우가 있습니다.예를 들어서 아래의 그래프 처럼 관계를 정의합니다.이처럼 모든 단어에 데한 유의어 집합을 만..
Python 기반 주요 이미지 라이브러리크게 3가지가 있습니다.PIL (Python Image Library)주로 이미지 처리만을 위해 사용합니다.처리 성능이 상대적으로 느리다는 단점이 있습니다.Scikit-Image파이썬 기반의 전반적인 컴퓨터 비전 기능 입니다.사이파이(Scipy)에 기반하고 있습니다.OpenCV오픈소스 기반의 최고 인기 컴퓨터 비전 라이브러리 입니다.컴퓨터 비전 기능 일반화에 크게 기여 했다는 특징이 있습니다.(어려운 기능도 API 몇줄로 간단하게 구현이 가능합니다.)C++ 기반이나 Python도 지원합니다. (Java, C# 등 다양한 언어 지원) OpenCV 특징OpenCV (Open Source Computer Vision Library)는 컴퓨터 비전과 머신 러닝을 위한 오픈..
Udemy 라이브세션|주니어 개발자를 위한 커리어 성장 멘토링을 온라인으로 듣고 왔습니다.전반적으로 개발자가 나아가야할 방향 및 연사분의 경험담 및 사례를 설명을 해주시면서 조언을 많이 들은거 같습니다.세미나 일정전반적인 일정은 이렇게 진행되었습니다. 1부: 멘토 커리어 세션 ~21:00 (임동준, 장현석)2부: 사전 미션 피드백 ~21:303부: Q&A1부 내용아래 내용들은 제가 듣고 정리한 내용들입니다.연사분: 메이커준(임동준)2024 우아한형제들에서 우아한테크코스 프론트엔드 교육 과정을 담당하고 계십니다. 유튜브 | 블로그 | 인스타그램 | 링크드인 ✉️ imakerjun@gmail.com 🎯 개발자의 똑똑한 학습 방법 - ‘메타인지’와 ‘피드백!’이 메타인지와 피드백이 얼마나 더 자주, 더 빨..
주요 Dataset많은 Detection & Segmentation DL 패키지가 아래의 Dataset들을 기반으로 Pretrained 되어 배포되었습니다.PASCAL VOC: XML Format, 20개의 Object CategoryBounding Box 양식으로 구성되어 있습니다(XML), 그리고 하나의 Image에 데하여 Annotation 합니다. MS COCO: json Form, 80개의 오브젝트 카테고리Google Open Images: csv Format, 600개의 오브젝트 카테고리 PASCAL VOC 2012PASCAL VOC(Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes)..
이번글에서는 다양한 CNN 네트워크에 데하여 알아보겠습니다. LeNet 5LeNet-5는 기본적인 CNN 아키텍처를 정의하며, 현재의 딥러닝의 기초가 되었습니다.주로 손글씨 숫자 인식(MNIST 데이터셋) 문제를 해결하기 위해 개발되었으며, 또한 현대 CNN의 기초를 마련한 모델로 여겨집니다.LeNet-5는 총 7개의 레이어(입력과 출력 포함)로 구성된 네트워크입니다.LeNet-5의 구조는 크게 두 부분으로 나눌 수 있습니다.Convolutional Neural Network (CNN)Fully Connected Network (FCN)각 레이어는 특정한 역할을 수행하며, Convolutional Neural Network(CNN - 합성곱 레이어)와 서브샘플링 레이어(Pooling Layer)를 교대로..
Precision(정밀도) & Recall(재현율)정밀도(Precision)과 재현율(Recall)은 주로 Binary Classification(이진 분류)에서 사용되는 성능지표 입니다.정밀도(Precision)는 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻합니다.Object Detection에서는 검출 알고리즘이 검출 예측한 결과가 실제 Object들과 얼마나 일치하는지를 나타내는 지표입니다.재현율(Recall)은 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻합니다. ObjectDetection에서는 검출 알고리즘이 실제 Object들을 빠뜨리지 않고 얼마나 정확히 검출 예측하는지를 나타내..
이번에는 Convolution Layer, Pooling Layer를 한번 구현해 보겠습니다. Convolution & Pooling Layer 구현해보기4-Dimension Array (4차원 배열)Convolution Neural Network(CNN)에서 Layer 사이를 흐르는 데이터는 4차원입니다.예를 들어서 데이터의 형상이 (10, 1, 28, 28)이면?Height(높이): 28, Width(너비): 28, Channel(채널): 1개인 데이터가 10개라는 이야기 입니다.이를 Python으로 구현하면 아래의 코드와 같습니다.x = np.random.rand(10, 1, 28, 28) # 무작위로 데이터 생성x[0, 0] # 또는 x[0][0] 첫번째 데이터의 첫 채널 공간 데이터에 접근여기에..
이번 글에서는 한번 Object Detection의 방식들이 어떤것이 있는지 한번 알아보겠습니다.Sliding Window 방식Sliding Window 방식은 Window를 왼쪽 상단부터 오른쪽 하단으로 이동시키면서 Object를 Detection 하는 방식입니다.약간 촘촘히, 세밀하게 window를 이동시키면서 객체 탐지를 하는 방식입니다. 이미지를 작은 영역으로 나누고, 각각의 작은 영역(윈도우)에서 객체가 존재하는지를 탐지하는 방법입니다.장점은 많은 영역을 Scan 할수 있는것, Window의 형태랑 Image Scale을 다양하게 변경할 수 있다는 점입니다.단점은 Object 없는 영역도 무조건 슬라이딩 하여야 하며 여러 형태의 Window와 여러 Scale을 가진 이미지를 스캔해서 검출해야 하..