일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- DP
- dynamic programming
- 머신러닝
- 인공지능
- BFS
- 자료구조
- machine learning
- canny edge detection
- Mask Processing
- Reinforcement Learning
- edge detection
- IN
- dfs
- image processing
- opencv
- Python
- exists
- AlexNet
- C++
- sklearn
- clustering
- 백준
- 강화학습
- classification
- 그래프 이론
- MinHeap
- TD
- SIFT
- 딥러닝
- MySQL
- Today
- Total
목록전체 글 (118)
JINWOOJUNG
접근법 최단경로 찾기에 적용 가능한 Dynamic Programming Algorithm이 바로 Floyd(플로이드)이다. 문제를 보면 특정 도시에서 다른 도시로 가는 서로다른 비용을 가지는 버스가 존재하고, 특정 도시에서 다른 도시로 가는 최소 비용을 구하는 문제이다. 따라서 주어진 문제(경로에 따른 비용)에 대하여 하나 이상의 많은 해가 존재할 때, 최적의 해답을 찾아야 하는 최적화 문제이다. 우리는 주어진 정보 중 출발 도시와 도착 도시 사이의 최소 cost를 원소로 가지는 인접 행렬식 $W$를 포현할 수 있다. 예를들어, $W[i][j]& 는 $i$에서 $j$로 가는 최소 비용을 의미한다. 만약 $i$에서 $j$로 가는 버스가 없다면, 구해야 하는 것은 최소 비용이기 때문에 무한대로 표현하고, ..
접근법또 다시 DP 문제이다. 각 물품에는 Weight, Value가 존재하고, 배낭이 버틸수 있는 Limit Weight는 K로 제한되어 있다. 따라서 목표는 Weight Sum이 K 이하인 최대한의 가치합을 가지는 물건들을 선택해야 한다. 최적성의 원리를 적용하여 해당 문제를 Dynamic Programming으로 해결할 수 있는지 살펴보자. 우리는 위와 같은 Table을 생각할 수 있다. 제한되는 무게에 따라서 각 물품을 담을 수 있는지가 결정되고, 그에 따라서 Value의 최대 합이 달라지기 때문이다. 따라서 해당 Table의 각 원소는 Limit Weight보다 작은 범위에서 고려되는 물품들의의 개수에 따른, 담을 수 있는 물품들의 가치 최대합이 들어가게 된다. 따라서 각 물품들의 Weight..
접근법 연쇄적인 행렬의 곱셈 순서를 결정하는 것은 DP 문제 중 하나로, 효율적은 행렬 곱셈 순서를 결정하는 문제이다. 문제에서 언급 되었듯이 행렬의 곱셈 순서에 따라서 요구되는 계산량이 달라지기 때문에, 곱셈 연산을 최소로 하는 순서를 결정해야 한다. 가장 기본적인 행렬 곱셈의 규칙을 생각 해 보자. $A$ 행렬은 $ i by j $, $B$ 행렬은 $k by l$이라 하면, 행렬 $A,B$의 곱셈 연산이 성립하기 위해서는 $j == k$여야 하며, 계산된 행렬을 $C$라 하면, $C$의 크기는 $ i by l $이 된다. 이러한 규칙을 고려하여, 연쇄 행렬곱셈을 DP를 이용하여 해결하기 위해서 재귀 관계식을 구축하면 다음과 같다. $$d_k = 행렬 A_k의 열의 수 /to A_k의 행의 수는 ..
https://jinwoo-jung.tistory.com/68 [ YOLOv8 ] Custom Dataset 구축(Roboflow)YOLOv8을 통한 Object Detection을 위해선 적합한 Model을 생성해야 한다.Model 학습을 위해선 Custom Dataset을 구축해야 하며, YOLOv8의 경우 Roboflow를 통하여 진행하면 쉽게 구축 가능하다.https://app.roboflow.com/cjinwoo-jung.com 구축한 Custom Dataset을 기반으로 YOLOv8 Model을 학습시켜 보자. Local 환경에서 학습시켜도 되지만, Google Colab을 활용하여 학습시켰다. 먼저 Colab 파일을 하나 생성한 뒤 GPU를 활용하도록 런타임 유형을 변경한다. !nvidia..
YOLOv8을 통한 Object Detection을 위해선 적합한 Model을 생성해야 한다.Model 학습을 위해선 Custom Dataset을 구축해야 하며, YOLOv8의 경우 Roboflow를 통하여 진행하면 쉽게 구축 가능하다.https://app.roboflow.com/camera-ne3fn Sign in to RoboflowEven if you're not a machine learning expert, you can use Roboflow train a custom, state-of-the-art computer vision model on your own data.app.roboflow.com 먼저 Roboflow에 계정을 등록한 뒤 새로운 프로젝트를 생성한다. Project Name,..
RGB 색 공간을 HSV로 확장시키고, 특정 객체의 색을 추출하고 Segmentation을 진행한다. 이를 K-Means Clustering으로 확장시켜 동일한 색상을 가진 객체를 Clustering 한 뒤, Segmentation을 진행하여 결과를 비교한다.Before This Episode 영상을 표현하는데 있어서 다양한 색상 모델이 존재한다. Gray Model밝기 정보만으로 영상을 표현. 0(검정)~255(흰)으로 $2^8$가지의 Intensity로 Pixel Intensity를 표현. RGB Model기본적인 색상모델로, 하나의 색을 Red, Green, Blue 3가지 성분의 조합으로 표현. HSV ModelHue(색조), Saturation(채도), Value(명도) 3가지 성분으로 색..
본 영상 처리 개념과 기법들에 대한 공부를 진행하면서 배운 내용들을 중심으로 정리한 포스팅입니다. 책은 Computer Vision: Algorithms and Applications를 기반으로 공부하였습니다. 또한, 인하대학교 박인규 교수님의 디지털 영상 처리 과목을 기반으로 제작된 포스팅입니다. Before This Episode https://jinwoo-jung.com/63 [ 영상 처리 ] Ch5. Image Pyramid and Warping 본 영상 처리 개념과 기법들에 대한 공부를 진행하면서 배운 내용들을 중심으로 정리한 포스팅입니다. 책은 Computer Vision: Algorithms and Applications를 기반으로 공부하였습니다. Before This Episode http..
이번시간에는 Gaussian Filter를 약간 변형 해 보고 Salt and Pepper Noise에 적용하여 그 결과를 분석한다.또한, Sobel Filter를 변형하여 대각 Edge를 추출하며, Gaussian&Laplacian Pyramid를 구현한다.Before This Episodehttps://jinwoo-jung.com/64 [ 영상 처리 ] Part3-1. OpenCV Edge Detection(C++)이번시간에는 Median Filter를 복습한 후 Kernel Convolution을 Sobel Filter로 확장시켜 적용해본다. 또한, cv::Canny()가 아닌 Canny Edge Detectio의 동작 과정을 직접 구현해본다. 아래 포스팅을 완벽하게 이해한jinwoo-jung.co..