더북(TheBook)

이렇게 추출된 클래스 이름들은 Classes_inDataSet 리스트에 추가됩니다. 후에 중복된 클래스 이름을 제거하고 알파벳순으로 정렬하여 출력합니다. 정리된 클래스 목록은 후에 모델 학습이나 데이터 전처리 등에서 사용될 수 있습니다.

 

VOC 데이터 세트 전처리

다음은 VOC 데이터 세트에서 이미지에 대한 레이블을 추출하고 전처리하는 코드입니다. 이 함수는 주어진 XML 파일에서 객체의 좌표를 읽어와, 모델이 사용할 수 있는 형식으로 변환합니다.

def get_label_fromImage(xml_file_path, Classes_inDataSet):             # ①
    def transform_coordinates(coordinates, Image_Width, Image_Height): # ②
        x_min, y_min, x_max, y_max = coordinates
        x_min, x_max = [(224.0 / Image_Width) * x for x in [x_min, x_max]]
        y_min, y_max = [(224.0 / Image_Height) * y for y in [y_min, y_max]]
        x, y, w, h = (x_min + x_max) / 2.0, (y_min + y_max) / 2.0, (x_max - x_min) / 224.0, (y_max - y_min) / 224.0  # ③
        return x, y, w, h

    with open(xml_file_path, 'r') as f:
        xml_file = xmltodict.parse(f.read())  # ④
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.