반응형

전체 글 24

PCA(주성분 분석)를 통해 이미지에서 특성 추출하기 - (1)

PCA(주성분 분석)는 고차원 데이터를 더 낮은 차원으로 축소하면서도, 데이터가 가진 중요한 특성을 최대한 보존할 수 있도록 해주는 기법이다. 이미지의 경우 각 픽셀이 하나의 차원으로 간주되기 때문에, 예를 들어 64×64 픽셀 이미지라면 무려 4096차원의 데이터가 된다. 하지만 PCA를 적용하면 이러한 고차원 이미지 데이터를 비교적 낮은 차원에서 효율적으로 표현할 수 있으며, 그 과정에서 이미지의 주요 특징을 효과적으로 추출해 활용할 수 있다. 그러면 직접 여러개의 이미지 데이터에서 PCA 기법을 이용해 특성을 추출해보도록 하겠다! 데이터는 Kaggle에 있는 "Cat & Dog Face 64x64 pixel" 데이터셋을 활용했다.출처) https://www.kaggle.com/datasets/a..

컴퓨터 비전 2025.11.14

[BOJ #1655] 가운데를 말해요, C++

https://www.acmicpc.net/problem/1655 [문제 요약] 입력으로 N개의 정수가 주어진다. (0 ≦ N ≦ 100,000)각 정수가 입력될 때마다 이태까지 입력된 정수들의 중간값을 출력해야 한다. 만약 입력된 정수의 수가 짝수라면, 중간에 있는 두 수중 작은 수를 출력한다.  [문제 풀이] 문제 풀이에 정렬에 용이한 우선순위 큐(priority queue)를 사용할 것이다. 하지만 우선순위 큐에서는 벡터처럼 인덱스를 지정해 접근할 수 없다.이 문제를 극복하기 위해서 중간값을 포함한 작은 수들을 저장한 우선순위 큐 중간값보다 큰 수들을 저장한 우선순위 큐 (단, 가장 작은 값이 top에 오도록 정렬 방식을 조정해야 함)이렇게 두 가지를 사용할 것이다! 편의상 small_pq, big..

알고리즘 2025.01.08

[BOJ #5373] 큐빙(반례 포함), C++

https://www.acmicpc.net/problem/5373 [문제 요약]  3X3 크기의 큐브가 있고, 각 면은 색칠되어 있다. (앞: 빨간색, 뒤: 주황색, 위: 흰색, 아래: 노란색, 왼: 초록색, 오른: 파란색)이 큐브를 입력에서 주어진대로 회전을 하고, 회전이 끝났을 때 윗 면의 색상을 출력하면 된다! [문제 풀이] 비록 플레티넘으로 랭크되어있는 문제지만, 어려운 알고리즘이 사용되지는 않는다.단순히 모든 면을 시계방향/반시계방향으로 돌리는 경우를 각각 구현해주면 된다.  char front[3][3];char up[3][3];char down[3][3];char lft[3][3];char rght[3][3];char back[3][3];char temp[3]; 우선 각 면의 색상 정보를 3..

알고리즘 2025.01.04

[BOJ #16236] 아기상어, C++

https://www.acmicpc.net/problem/16236 [문제 요약] N x N 크기의 공간에 아기상어 한 마리와 1~6의 크기를 가진 물고기들이 있다. 아기상어의 초기 크기는 2이고, 자신의 크기와 같은 수의 물고기를 먹으면 크기가 1 증가한다.  아기상어는 1초에 한 칸씩 이동하면서 물고기를 먹고, 이동 시 다음과 같은 규칙을 따른다. 빈칸: 자유롭게 움직일 수 있다.자신보다 작은 물고기: 먹을 수 있다.자신과 크기가 같은 물고기: 먹을 수는 없지만, 그 물고기가 있는 칸을 지나갈 수는 있다. 자신보다 큰 물고기: 그 물고기가 있는 칸을 지나갈 수 없다. 또한 최대한 가까운 거리에 있는 먹을 수 있는 물고기를 먹어야 하고, 그러한 물고기가 여러마리일 경우 가장 위쪽에 있는 물고기를, 높이..

알고리즘 2025.01.03