본문 바로가기
  • AI 개발자가 될래요

Category105

[OpenCV] SIFT, SURF에 대한 간단 설명 SIFT(Scale-Invariant Feature Transform) 이미지의 크기와 회전에 불변하는 특징을 추출하는 알고리즘 알고리즘 가우시안 피라미드 생성 DOG 피라미드 생성 극점 검출 약한 극점 제거하고, 나머지를 키포인트(특징점)로 삼음 키포인트 orientation(방향) 계산 키포인트 descriptors(기술자) 계산 1. 가우시안 피라미드 생성 한 옥타브 내에선 토대 영상을 점진적으로 가우시안 스무딩 다음 옥타브는 이전 옥타브의 4번째 영상을 가로, 세로 1/2배씩 한 것을 토대 영상으로 2. DOG 피라미드 생성 같은 옥타브 내에서 인접한 두 개의 가우시안 스무딩 이미지들을 빼주는 것 3. 극점 검출 극대값, 극소값 위치 찾음 동일한 옥타브 내에 연속된 3장의 DOG 이미지 필요 현재.. 2023. 9. 6.
지역 특징 검출 지역 특징 검출 성능 평가 지표 반복성 분별력 정확성 계산 효율 지역 특징 검출 원리 : 여러 방향으로 밝기 변화가 심한 곳. 모라벡 알고리즘 제곱차의 합(SSD)를 이용해 특징점 검출 w(y, x) 마스크 내의 화소는 1, 그 외 모든 화소는 0 → 박스 내 화소에 대해서만 계산 (v, u)를 변화시켜가며 마스크 화소 각각에 대해 값을 생성 → S(v, u) 맵 생성 현재 조사중인 화소가 c와 같이 변화가 없는 경우 → 코너 아님 a와 같이 여러 방향으로 변화가 큰 경우 → 코너 동서남북 네 방향으로 한 화소만큼 이동시켜 얻은 네 개의 값을 사용 어떤 점이 코너라면 네 방향 모두 변화가 커야 한다고 간주, 네 값의 최솟값을 지역 특징 가능성 값으로 간주 But, 실제 영상은 보다 복잡, 잡음 많음, 동.. 2023. 9. 5.
[Python] 파일 읽어오기 / 줄바꿈 문자(\ln) 없이 라인 별로 읽어오기 파이썬에서 파일 읽는 법 / 줄바꿈 문자(\ln) 없이 라인 별로 읽는 법 파이썬에서 파일을 읽는 법은 꽤나 간단하다. train_dir = "./train.txt" train_list = [line for line in open(train_dir).readlines()] 위와 같이 코드를 작성하면 해당 경로에 있는 텍스트 파일을 읽어와 라인 별로 리스트에 저장한다. 출력 결과 예시는 다음과 같다. ['9984.jpg\n', '9985.jpg\n', '9986.jpg\n', '998.jpg\n', '9990.jpg\n', '9992.jpg\n', '9994.jpg\n', '9995.jpg\n', '9997.jpg\n', '9999.jpg\n', '9.jpg'] 근데 이렇게 하면 줄바꿈 문자(\ln) 도 .. 2023. 8. 17.
[Python] 이미지에서 원하는 영역을 이진 이미지(binary mask)로 가져오기 이미지에서 원하는 위치를 찾은 후, 해당 위치를 1로 설정하고 나머지 위치를 0으로 설정하는 마스크 이미지 생성 np.where를 이용하여 image에서 값이 0인 위치를 찾고, 그 위치 값을 1로, 그 외를 0으로 설정한 마스크 생성 import numpy as np # 주어진 이미지 (예시) image = np.random.randint(0, 10, size=(112, 112)) # 0부터 9 사이의 랜덤 값으로 채워진 112x112 이미지 # np.where을 사용하여 0인 위치를 1로, 그 외의 위치를 0으로 설정한 마스크 이미지 생성 mask = np.where(image == 0, 1, 0) # 마스크 이미지 확인 print(mask) 2023. 7. 31.
Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervisedSemantic Segmentation 논문 리뷰 Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic Segmentation https://arxiv.org/pdf/2212.04976.pdf - Github https://github.com/zhenzhao/AugSeg GitHub - ZhenZHAO/AugSeg: [CVPR'23] Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic Segmentati [CVPR'23] Augmentation Matters: A Simple-yet-Effective Approach to Semi-supervised Semantic S.. 2023. 7. 11.
[Python] Pyqt5 designer로 작업한 .ui 를 .py 로 바꾸는 법 Pyqt5 designer로 작업한 .ui 를 .py 로 바꾸는 법 pyqt5 designer로 ui를 열심히 만들었으면, 이를 python 개발 환경에서 띄우고 기능을 추가해야 한다. .ui는 단지 디자인적 요소들만 있기 때문에 버튼을 눌렀을 때 이벤트 처리를 python으로 해줘야한다. 마치 안드로이드의 액티비티(xml)와 자바 관계랄까.. 명령어 한 줄로 간단하게 변환할 수 있다. 아나콘다 프롬프트를 열어 .ui 파일이 있는 경로로 간 후 아래의 명령어를 입력한다. pyuic5 -x -o [만들고자 하는 py 파일 이름].py [.ui 파일 이름].ui 혹여나 관련 라이브러리가 설치되어있지 않다면, pip install 으로 설치하면 된다. 그러면 .py 파일이 생성되었을 것이다. python 개발.. 2023. 6. 23.