코드민수
[Python] 레이블 없는 이미지 찾기 본문
BIG
오픈소스 딥러닝 데이터세트를 사용할 때 간혹 이미지는 있지만 레이블이 없는 경우가 있습니다.
해당 이미지들을 사용해서 새로 레이블을 구축하기 위해 레이블이 없는 이미지만 새로운 폴더에 복사하는 간단한 파이썬 코드를 구현했습니다.
import os
from tqdm import tqdm
import shutil
image_dir = '경로1' # 이미지 폴더
label_dir = '경로2' # 레이블 폴더
save_dir = '경로3' # 레이블이 없는 이미지를 복사할 경로
f_imgs = os.listdir(image_dir)
for i in tqdm(f_imgs):
image = os.path.join(image_dir, i)
label = os.path.join(label_dir, i.replace('.jpg', '.txt'))
if not os.path.isfile(label):
image_copy = image.replace('images', 'no_label')
shutil.copyfile(image, image_copy)
# print(os.path.basename(image_copy))
경로 지정 후 이미지 및 레이블 포맷이 다를 경우 Line 13에 확장자를 변경해 주면 됩니다.
단순히 replace를 통해 경로 및 확장자만 변경 후 일치하는 레이블이 없는 경우
shutil의 copyfile을 사용해서 복사해주었습니다.
거꾸로 레이블만 존재하고 이미지는 없는 경우도 있을 수 있지만,
모델을 돌릴 때 이미지를 기준으로 레이블 파일을 탐색하기 때문에 레이블만 있는 파일의 경우 따로 삭제만 해주면 될 듯합니다.
100%|██████████| 744/744 [00:00<00:00, 12610.22it/s]
실행 결과
LIST
'[Python] > 코드' 카테고리의 다른 글
[Python] 경로 내 이미지 전체의 평균, 표준편차 구하기 (0) | 2023.05.06 |
---|---|
[Python] Tensorflow & Pytorch GPU 사용 확인 (0) | 2023.04.07 |
[Python] JSON 파일에서 오브젝트 클래스 분석 (히스토그램) (0) | 2023.03.31 |
[Python] 중복 이미지 제거 (0) | 2023.03.30 |
[Python] 파이썬에서 이미지 Open하는 다양한 방법 (0) | 2023.03.27 |