안녕하세요!

데이터분석 ML/DL 프로젝트(3) 본문

개발일지2

데이터분석 ML/DL 프로젝트(3)

shinyfood 2024. 1. 22. 23:31
728x90
반응형

지난시간에 이어, UAM관련하여 보충해줄수있는 몇개의 자료를 찾았다.

 

전국 관광객자료, 서울 관광객자료, 항공 관광객 자료 정도를 모을 수 있었다.

 

또한 UAM 관련 법을 찾아봤다.

https://www.shinkim.com/kor/media/newsletter/2234

 

“도심항공교통 활용 촉진 및 지원에 관한 법률안” 공포

도심항공교통 활용 촉진 및 지원에 관한 법률(이하 “UAM법”) 제정안이 2023년 10월 6일 국회 본회의를 통과하여, 10월 24일 공포되었습니다. 본 제정안은 총 4장 31개 조문으로 구성되어 있으며, i)

www.shinkim.com

해당 자료는 여기있으니 참고 바란다.

 

그리고 현재는 UAM이라는 것중에 공항으로의 수송만을 생각했지만,

 

관광으로도 눈을 돌리는게 가능할 것 같아 한강 유람선 관련하여 정보를 찾아봤고,

 

http://www.elandcruise.com/

 

이크루즈

제1조(처리하는 개인정보 항목) 1. 회사는 고객에게 서비스를 제공하기 위해 다음의 개인정보 항목을 처리하고 있습니다 ① 회원가입 및 관리 - 필수항목: 아이디, 비밀번호, 이름, 생년월일, 핸

www.elandcruise.com

이런것을 찾을 수 있었다.

 

약 2시간에 걸쳐 한강유람을하고 라이브공연, 음식등을 제공하는 서비스.

 

음식이나 라이브공연은 불가능하지만, 충분히 관광으로의 가치도 있을것이라 생각한다.

 

이후 UAM에서 사용될 딥러닝 모델을 제대로 파보기 시작했다.

 

딥러닝 모델로는 YOLOv8을 사용하기로 했고, 아직 써본적이 없어 공식 홈페이지를 찾아보며 코드를 작성했다.

 

원래 classes 는 80개로 되어있는데, bird와 drone이라는 두가지를 인식하는 훈련을 시키기위해 지난주에 받았던 라벨된 이미지 파일을 이용하고자 했으나, 라벨의 사용 방식이 달라 계속해서 찾아보고있다.

 

json형식은 라벨로 지원하지않고 txt파일만 지원하기때문에... 해당 코드를 작성하여 파일을 변환해주었고, x좌표,y좌표,너비,높이 로 작성했으나, yolov8은 해당 형식으로 라벨링하는게 아니라는걸 확인했다... 

현재로서는 기존에 발생한 오류가 5개의 컬럼이 필요한데 4개밖에 안들어왔다고 했고, 기존의 train자료에서 앞에 1이 붙어있던 것을 확인했기 때문에, 우선은 0과 1을 같이 입력해주려고 했지만 또 다른 오류가 발생했다. 

아무래도 다시 전처리가 필요할 것 같다.

img_path = "./data/bird_drone/drone/Training/train_drone_data/"


filenames = os.listdir(img_path)
# filenames[0]
json_path = "./data/bird_drone/drone/Training/label_train_drone_data/"

jsonnames = os.listdir(json_path)

img = []
jsonname = []
sample = []
pre_img=()

# for i in range(len(filenames)):
    img.append(img_path + filenames[i])
    pre_img = cv2.imread(img[i])

    cv2.imwrite(f"./img/train/img2/drone_{i}.jpg", pre_img)
    
    jsonname.append(json_path + jsonnames[i])
    
    sample.append(cv2.cvtColor(pre_img, cv2.COLOR_BGR2RGB) / 255)
    
    with open(jsonname[i], 'r', encoding="utf-8") as f:
        data = json.load(f)
        
    bboxes = []
    for j in data["annotations"]:
        bboxes.append(j["bbox"])

    with open(f"./img/train/label2/drone_{i}.txt", "w") as f:
        for bbox in bboxes:

            f.write("0" + " ".join(map(str, bbox)) + "\n")

아직 해결하지는 못했지만 라벨링하는 방식을 배워서 게시하도록 하겠다!

728x90
반응형