Tech/Computer Vision 3

[Albumentation] CropAndPad로 이미지에 패딩 처리하기

Intro Vision 분야에서 Deep learning 모델을 학습 시키려면 많은 양의 Image 데이터가 필요하다. 이때, 우리가 가질 수 있는 Image 데이터의 수에는 사실상 한계가 존재하기 마련인데- 이를 조금이나마 극복할 수 있게 도와주는 좋은 툴이 존재한다. 이름하여 `Albumentation` !!! Albumentation 공식 사이트 CropAndPad 오늘은 그중에서도 `CropAndPad`라는 패키지를 살펴보려고 한다. 내가 직면했던 문제점은, 모델을 학습시킨 이미지의 비율(1:1 이미지로 학습됨)과 모델 성능을 평가하려는 이미지의 비율(16:9 사진으로 평가)가 달랐다는 것에서부터 출발했다. 자주 발생하는 이슈인지는 모르겠으나, 모델을 학습시킨 이미지들의 경우 (이미 엄청난 품이 ..

[Open CV] Object detection을 위한 데이터 시각화 (2) : bounding box와 image 함께 보기

지난 글에서 COCO Fifty One 을 활용한 Object detection 데이터 셋 시각화 방법을 포스팅 했었는데, (자세한 내용은 링크 참조 : https://eunga-whereami.tistory.com/2) 사실 FiftyOne은 정말 `엄청난 양`의 데이터 셋을 다룰 때 그 장점을 갖는다. 하지만 간단히 python에서 image와 bounding box를 함께 띄워 보고 싶을 때는, 굳이 FIftyOne을 위해 annotation 파일을 COCO로 맞추고, 패키지를 설치하는 등의 거대한 작업을 거칠 필요가 없다. Visualization 나의 경우 OpenCV를 활용하여 `bbox와 image를 동시에 visualize하는 함수`를 활용하였다. import cv2 def visualiz..

[COCO Fifty One] Object detection을 위한 데이터 시각화 (1) : annotation 파일과 image 함께 보기

물체 인식을 위해서는 bounding box를 이용한 라벨링, segmentation을 이용한 라벨링 등 사진 속 물체의 위치가 이미 특정 되어 있는 사진-라벨 데이터 셋이 필요하다. 이때, 라벨 정보는 annotation file 이라는 형태로 저장 되어 있다. annotation file은 데이터셋에 포함된 모든 이미지의 크기, bounding box의 위치, 카테고리 id 등 metadata 정보를 포함한다. 예를 들어, 도시의 도로를 배경으로 자동차, 사람, 나무, 가로등을 라벨링한 데이터셋이 있다고 하면 annotation 파일은 각 사진별로 자동차, 사람, 나무, 가로등이 정확히 어느 위치에 존재하는지를 좌표와 id를 이용하여 나타낸다. 아래는 라벨링된 데이터의 예시이다. 이미지 출처 : CO..