Computer Vision & AI
-
[TIL] CS231n 2강 - Image Classfication 정리Computer Vision & AI/Computer Vision 2023. 7. 23. 22:32
Image classfication pipeline - 이미지는 숫자로 구성된 3d array이다. - challenges : 조명의 영향, occlusion(폐색) 등... - 이미지 분류 : 이미지가 어떤 class에 속하는지 label을 return - 기존의 방법 : 이미지의 특징점 (edge)을 찾고 다른 이미지가 들어올 때 전반적인 비교를 한다 (일반적인 방법) - Data driven approach data set에 대해 학습시킨 후 , train() predict() - nearest neighbor classfier ex) 유클라디안 거리, 맨하탄 거리, 마할라노비스 거리... - 하이퍼 파라미터는 어떻게 설정하는가? 문제에 따라 다르다. 각각의 파라미터를 실험적으로 테스트하여 성능이 ..
-
(복습) YOLO, Gradient descentComputer Vision & AI/AI 2023. 7. 4. 23:11
yolo와 다른 디텍션간의 차이 YOLO는 빠른 처리 속도를 가지고 있어서 실시간 객체 탐지가 가능하다. 이미지를 그리드로 분할하여 각 셀에서 객체의 클래스와 Bounding box를 예측한다. 이 작업을 단일 전방향 패스로 수행하여 다른 알고리즘보다 빠르다. 그리고 객체 스케일에 영향을 덜 받는다. 피라미드 이미지로 다양한 스케일로 객체탐지를 수행한다. YOLO 인코더에 대해 설명 컨볼루션 레이어와 풀링 레이어로 구성된다. 컨볼루션 레이어에서는 입력 이미지의 다양한 특징을 감지한다. kernel을 이용하여 입력 이미지를 스캔해서 각 부분의 특징을 추출한다. 이때 활성화 함수를 사용하여(ReLU같은) 컨볼루션 레이어의 출력에 비선형성을 부여한다. 활성화 함수는 선형 함수의 한계를 극복하기 위해 사용된다...
-
[TIL] 230525 - 디자인 패턴 in 영상처리Computer Vision & AI/Computer Vision 2023. 5. 25. 23:44
💥영상처리에서 주로 사용되는 패턴들 Strategy 패턴 여러가지 알고리즘을 테스트 하면서 동적으로 교체하는 전략 인터페이스를 통해 전략을 선택적으로 변경함 옵저버 패턴 영상 처리 과정을 실시간으로 감지 객체 감지나 필터링 등 → 이벤트 전달 데코레이터 패턴 반복자 패턴 프레임을 반복하면서 처리 또는 픽셀 값 처리 등 iterator 로 캡슐화 하고 반복 순회 커맨드 패턴 외부 이벤트 처리 💫내가 주로 사용하는 디자인 패턴 반복자 특징 iterator 로 캡슐화 하고 반복 순회 어떤 문제에서 사용? 프레임을 반복하면서 처리 픽셀 값 처리 등 단점 인덱스로 인한 예외발생 가능성, 메모리 사용량, 옵저버 특징 객체 감지나 필터링 등 → 이벤트 전달 어떤 문제에서 사용? 영상 처리 과정을 실시간으로 감지 디버..
-
[TIL] Person Detection - 1. HOGComputer Vision & AI/Computer Vision 2023. 5. 12. 00:55
HOG 알고리즘 Gradient : 변화량, 픽셀의 변화 값이 큰 것 = edge 참고 자료 Object Detection - HOG 알고리즘 개념편 (1) : 네이버 블로그 (naver.com) 이미지를 각 셀로 나누고 그 셀에 대해 gradient histogram을 구함 → block으로 cell을 묶어서 L1, L2 regularaize, → 이미지 각각의 cell에 대해 featrure vector → SVM으로 학습 → cell의 feature로 object 탐지 테스트 결과 내가 테스트하는 이미지에서는 사람을 잘 찾지 못했고, ROI가 너무 러프하게 넓게 잡혔다. ROI를 좁힐 수 있는지, 디텍션 정확도를 높일 수 있는지 검토가 필요하다.
-
[TIL] 혼공머 - 데이터 전처리Computer Vision & AI/ML 2023. 5. 8. 21:47
List와 tuple 둘이 비슷하지만 tuple은 수정이 불가능▶ 매개변수 값으로 사용됨 (책 95p 의 예시) knn으로 모델을 훈련하고 특정 데이터를 넣었는데 예상치 못한 결과가 나왔다. 산점도를 봤을 때는 도미데이터에 가까워 보이는데, 결과는 빙어라고 나옴... 원인은! x축과 y축의 단위가 달랐기 때문이다. x축은 1단위이고 y축은 100단위라면, 같은 '길이'임에도 y축이 더 큰 값을 가지게 된다. knn은 가장 가까운 n개의 데이터를 찾는데 가까운 것의 기준이 거리라면, y방향으로 떨어진 데이터의 거리 값은 크게 나온다. 이를 스케일이라고 한다. 알고리즘이 샘플 간의 거리의 영향을 받기 때문에, 특성값을 일정한 기준으로 맞춰줘야 한다 이를 데이터 전처리 (= Data Preprocessing)..
-
[TIL] 230504 코랩-깃 연동, knn 연습Computer Vision & AI/ML 2023. 5. 4. 23:42
https://github.com/HeynaPark/ML-study/blob/main/knn_test.ipynb GitHub - HeynaPark/ML-study Contribute to HeynaPark/ML-study development by creating an account on GitHub. github.com 드디어 코랩과 깃허브 연동에 성공했다!! 계속 뭔가 오류가 났었는데 코랩을 아예 삭제하고 차근차근 다시 하니까 되었다..... .git파일이 뭔가 잘못 되어서 오류가 났던것 같다. 참고 사이트 https://velog.io/@recoder/Colab%EA%B3%BC-Github-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0 https://nagneo.tistory.c..
-
[TIL] 230502 사이킷런 기초 / 혼자 공부하는 머신러닝 + 딥러닝Computer Vision & AI/ML 2023. 5. 2. 23:08
✅Sikit-learn이란? - 머신러닝 라이브러리 - 파이썬으로 구현됨 유용한 머신러닝 알고리즘 종류 - 분류 / 회귀 / 랭킹 / 예측 / 추론 딥러닝 - 원본 표현에서 의미를 찾기 어려운 데이터에서 특징을 추출함 supervised learning 이미 알려진 사례를 바탕으로 일반화 된 모델을 만들어서 의사 결정 프로세스를 자동화 unsupervised learning 어떤 출력이 나올지 알 수 없음 OpenCV에서 머신 러닝 (1) : 네이버 블로그 (naver.com) OpenCV에서 머신 러닝 (1) #머신러닝 #인공지능 #AI #OpenCV #비전인식 1. 머신러닝 개요 머신러닝(machine learning)이란 주어... blog.naver.com
-
[YOLO] C++ 비주얼 스튜디오에서 yolo 사용시 에러 해결 방법Computer Vision & AI/Computer Vision 2022. 12. 13. 14:23
다른 컴퓨터에서는 잘 되는 YOLO 코드가 현재 pc에서는 빌드는 되었지만, 실행중에 위와 같은 메세지 출력되면서 exception을 발생시켰다. Could not load library cudnn_*.dll Error code 126 로 구글링 시작. 저 메세지대로 cudnn dll 파일이 없다는 뜻이니 해당하는 경로에 복사해서 넣어줌으로 해결했다. 근데 이상한 점은, cudnn_cnn_train64_8.dll을 넣어줘도 그대로 cudnn_cnn_train64_8.dll가 없다는 메세지만 출력되었음. cudnn_ops_infer64_8 cudnn_ops_train64_8 cudnn_cnn_train64_8 cudnn_cnn_infer64_8 cudnn_adv_train64_8 cudnn_adv_infe..
-
[B-Spline, C++] Clamped B Spline 코드 (javascript에서 c++로 포팅)Computer Vision & AI/Computer Vision 2022. 11. 25. 18:40
https://github.com/HeynaPark/ClampedBSpline.git GitHub - HeynaPark/ClampedBSpline Contribute to HeynaPark/ClampedBSpline development by creating an account on GitHub. github.com 몇 주 동안의 삽질 끝에 !! 드디어 양 끝 점을 지나는 Clamped b spline을 그렸다...!! 이제 어느정도 knot vector에 대해서 알 것 같다 ..🙂 정해진 규칙으로만 넣어주어야 에러가 나지 않는다. 평소 c++, python코딩만 하다가 처음으로 javascript코드를 직면했는데... 팀장님이 c++랑 비슷하다고 포팅해보라고 하심 ㅎ 근데 진짜 그렇게 어렵지 않았다. ..
-
clamped B spline 참고 문서 정리 2Computer Vision & AI/Computer Vision 2022. 11. 22. 18:48
Knot vector tutorial (saccade.com) B-spline Curves: Definition (mtu.edu) B-spline Curves: Definition B-spline Curves: Definition Given n + 1 control points P0, P1, ..., Pn and a knot vector U = { u0, u1, ..., um }, the B-spline curve of degree p defined by these control points and knot vector U is where Ni,p(u)'s are B-spline basis functions of degree p. pages.mtu.edu 'Computational Geometry' 카테..