yolo를 활용하여 svs 파일의 geojson 좌표학습 1
2023. 3. 29. 13:09ㆍBio-python/Pre-Process
svs파일은 대용량 병리데이터 이미지로, 대용량인 만큼 다루기힘들다.
yolo로 좌표를 학습하여 object Detection하기위해선 몇가지 문제가있다.
1. svs파일의 용량이커서 좌표가있어도, 처리하는데에 많은 프로세스를 먹음
2. 학습하는데있어서, 용량이커서 학습에 지장이있을수 있음.
이러한 문제로 이미지를 분할해서 접근할 것이다.
Yolo는 대용량 svs 이미지 파일 형태의 데이터와 geojson 형식의 좌표 데이터를 함께 학습이 가능하지만, 이를 위해서는 몇 가지 전처리 작업과 데이터 변환 작업이 필요함.
- 데이터 전처리
- 1. svs 이미지 파일을 적절한 크기로 분할하여 학습 데이터를 생성해야 함. 이를 위해서는 대용량 이미지를 타일(tile)로 나누는 방법을 사용할 수 있음. 예를 들어, openslide 라이브러리를 사용하여 svs 이미지를 타일로 자를 수 있음.
- 2. svs 이미지파일의 해상도를 줄이고 좌표를 정규화할때 축소된 임미지크기를 기준으로 계산
- 데이터 변환: geojson 형식의 좌표 데이터를 Yolo 학습에 사용하기 위해서는 각 객체에 대한 bounding box 정보로 변환해야 함. 이를 위해서는 geojson 파일을 파싱하여 객체의 위치와 크기 정보를 추출하고, 해당 정보를 Yolo의 입력 형식에 맞게 변환해야 함.
- 학습: 변환된 데이터를 사용하여 Yolo 모델을 학습시킴. 이때, 이미지 데이터와 좌표 데이터를 모두 학습에 사용하여 객체 인식 성능을 향상시킬 수 있음.
이러한 전처리 및 데이터 변환 작업은 Python과 관련 라이브러리를 사용하여 구현할 수 있음. 예를 들어, svs 이미지 타일링에는 openslide 라이브러리를 사용하고, geojson 파싱에는 geojson 라이브러리를 사용할 수 있음. Yolo 모델 학습에는 darknet 라이브러리를 사용할 수 있음. 이러한 라이브러리들을 이용하여 Yolo로 대용량 svs 이미지 파일 형태에 geojson의 coordination 좌표를 학습하는 것이 가능함.
'Bio-python > Pre-Process' 카테고리의 다른 글
geojson의 구조 및 활용 (0) | 2023.03.27 |
---|