일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 정수와유리수
- C++
- numpy/pandas
- pandas
- 데이터분석
- html/css
- 컴퓨터비전
- 중학1-1
- 정보처리기사필기
- 딥러닝
- 정보처리기사실기
- 텍스트마이닝
- 영어공부
- 자바
- 머신러닝
- 데이터베이스
- 파이썬라이브러리
- 코딩테스트
- JSP/Servlet
- 혼공머신
- CSS
- 데이터입출력구현
- 운영체제
- 자바 실습
- 연습문제
- 중학수학
- SQL
- 컴퓨터구조
- CNN
- 파이썬
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
CNN 13 - Image Segmentation 4 : 커스텀 데이터를 활용한 차량 파손 범위 예측 실습 1 - 사진 이미지 본문
CNN 13 - Image Segmentation 4 : 커스텀 데이터를 활용한 차량 파손 범위 예측 실습 1 - 사진 이미지
huenuri 2024. 11. 2. 06:11차량 파손범위 프로젝트에 대해 어느 정도 분석을 했으니 이제 본 실습으로 들어가 보겠다. 실습은 그래도 눈으로 보이는 결과가 확실해서 이론에 비해 더 재미있는 것 같다.
커스텀 데이터를 활용한 차량 파손 범위 예측 실습해보기
1. 데이터 다운로드 및 파일 수정하기
여기에는 차량 데이터셋이 들어있는데, 훈련용으로는 312장, 평가용으로는 19장이 들어있다.
포맷 형식은 TXT의 바운딩 박스가 포함된 YOLOv8이다. 그리고 코드를 복사한다.
이 코드를 코랩에 붙여 넣는다.
오랫동안 개념 학습 하느라 GPU를 사용하지 않았더니 작업 디렉터리가 원래로 돌아갔다. 다시 1번 코드를 실행해 현재 폴더로 옮겨주었다.
다운로드가 잘 되었는지 확인하려면 작업 디렉터리 폴더를 열어보면 된다.
여기에 car-1 폴더가 있는데 여기 들어가면 훈련용과 검증용 데이터가 생겼다.
검증용 폴더에 들어가면 labels가 있는데 이 중에 하나의 파일을 열어보겠다.
한 줄이 하나의 인스턴스를 말한다. 이 첫 번째 사진은 3개의 Segmentation 영역이 있다. 그리고 뒤에 있는 영역은 순서대로 x, y 좌표이다. x, y 좌표를 표시하기 위해 점들이 나열되어 있는 것이다.
클래스는 이 사이트에 다시 들어가면 Overview에서 확인할 수 있는데, 이처럼 14개의 클래스로 구성되어 있다. 각각의 파손 종류를 세부적으로 기록하고 있다.
조금 전에 앞의 숫자가 써있던 10, 9.. 이런 숫자가 이 클래스의 번호이다.
이제 yarm 파일에 들어가 보면 훈련용, 검증용, 테스트 데이터가 나열되어 있다.
우리는 테스트 데이터가 없으므로 이것을 지울 것이다. 그런 다음 학습용과 검증용의 이미지 파일 경로를 복사하여 붙여 넣는다. 그냥 val, train 경로가 아니라 그 안에 이미지 폴더의 경로를 붙여 넣어야 한다.
2. 모델 훈련하기
모델을 생성하는데 yolov8의 키가 가장 작은 segmentaion을 다운 받겠다는 의미이다. 버전은 그대로 받지만 학습은 안 된 뼈대만 받는다. 여기에 load()를 활용해 가중치 파일을 넣을 것이다.
앞의 코드 기록이 지워졌더니 오류가 떠서 몇 개를 다시 실행했다.
모델 레이어가 나오고 훈련용, 검증용 데이터 위치를 스캔한다. 그다음에 실제 학습을 진행한다.
학습 가중치 파일 경로를 설정하고 베스트 모델을 불러와서 예측을 실시할 것이다. 먼저 best 모델을 다운로드하고, 다음과 같은 코드를 작성한다. 현재 작업 폴더로 경로를 써주고 이 폴더에 조금 전에 받았던 파일을 붙여 넣는다.
실습 파일이 들어있는 상위 폴더에는 뭐가 많아서 데이터에 넣어주었다.
그리고 소스 경로는 검증용 데이터에 있는 이미지 중 하나의 경로를 복사해서 붙여 넣었다. 앞의 코드를 실행하는데 시간이 많이 걸려서 뒤에 코드를 먼저 작성하며 진행해 보았는데, 여전히 많이 느리다.
이렇게 파손된 영역을 파란색으로 표시하고, 예측률도 0.81로 나타난다.
학습을 마치고
차량 파손을 영상으로 만드는 실습이 있는데 이 부분은 코드가 길어서 다음 포스트에 이어서 작성해 보기로 했다.
'인공지능 > 딥러닝' 카테고리의 다른 글
CNN 15 - 이미지 생성 모델의 이해 1 : 이미지 생성 모델의 원리, 생성자와 판별자 프로세스에 대하여 (2) | 2024.11.03 |
---|---|
CNN 14 - Image Segmentation 5 : 커스텀 데이터를 활용한 차량 파손 범위 예측 실습 2 - 영상 이미지 (0) | 2024.11.02 |
CNN 12 - Image Segemtation 3 : 차량 파손범위 예측 실습하기 전에 알아두어야 할 사항 (1) | 2024.11.02 |
CNN 11 - Image Segmentation 2 : YOLOv8을 이용한 이미지 분할 실습해보기 (0) | 2024.11.01 |
CNN 10 - Image Segmentation 1 : 이미지 분할 원리와 종류, 기술의 발전 그리고 FCN이 등장하기까지 (0) | 2024.10.31 |