티스토리 뷰

문제 발생

매타데이터 및 영상을 촬영하고, 해당데이터를 정재하여 학습데이터로 만들어야하는데, 이미지 크기가 2048px 정사각형이아닌 2024px 정사각형이여서 생긴 문제 였다. 

 

데이터도 이미 정제가 완료된 상태이기 때문에 최악의 경우 모든 데이터를 다시 정재를 해야할수 있는 상황이였다. 촬영장비 및 환경도 철수 상태였고 데이터는 NIPA 사업에 재출을 해야했기 때문이다.(데이터량 60만장이다...) 일정은 하루밖에 남지 안았기 때문에 촬영이 여의치 않았다. 그래서 프로그램을 재작해서 이미지 크기 변경 및 정제 영역도 변경한 프로그램을 만들었다.

 

개발 

코드는 생각보다 단순하게 끝날수 있었다.

  • 이미지 크기 늘리기 : opencv를 활용해서 처리하였다.
    def resize(self, data, options):
        width = options["width"]
        height = options["height"]
        fx = options["fx"]
        fy = options["fy"]
        
        result = cv2.resize(data, dsize=(width, height), fx=fx, fy=fy, interpolation=cv2.INTER_CUBIC)
        return result
  • 어노테이션 좌표 수정 : 좌표 비율 계산식을 통해 처리하였다.
    def _segmentation(self, segmentation, width, height):
        result = []
        for seg in segmentation:
            seg_array = np.array(seg, dtype=np.float64)
            seg_array[::2] *= width
            seg_array[1::2] *= height
            seg_array = np.round_(seg_array, 0)  
            result.append(seg_array.tolist())
        return result

 

Git

https://github.com/MizzleAa/Sample-Image-Annotation-Resize

 

GitHub - MizzleAa/Sample-Image-Annotation-Resize

Contribute to MizzleAa/Sample-Image-Annotation-Resize development by creating an account on GitHub.

github.com

 

 

아쉬운점

 

급해서 막짠감이 없지 않았고, 속도 개선할생각이였으면 Manager를 써서 멀티프로세싱 처리를 했어야 했는데 생각이 짧았다. 급해도 바로 짤 수 있도록 숙달 시켜놔야겠다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함