유방암의 임파선 전이 예측 AI 경진대회

알고리즘 | 비전 | 정형 | 의료 | 분류 | Macro F1 score

  • moneyIcon 상금 : 1,000 만원
  • 1,278명 마감

 

[Baseline] Multi-Modal (병리 슬라이드, 임상 항목) 이진 분류 모델

2022.10.31 09:59 6,698 조회 language

안녕하세요. 데이콘입니다.

데이콘 베이스라인은 모든 참가자의 '제출'을 목표로 합니다.
본 베이스라인은 참가자들의 '제출'을 목표로 하기에 임상 병리슬라이드 이미지를 512로 일괄 Resize하여 처리합니다.

그러나 매우 큰 이미지를 512x512로 줄인다는 것은 데이터 손실이 따르기 때문에 이미지 크기가 매우 큰 병리슬라이드 영상을 다룰 때 권장하는 방법은 아닙니다.
따라서 [토크] 게시판에 공유드린 Reference 중 Multi Instance Learning (MIL)을 참고하시어 적용해보시는 것을 권장합니다.

본 베이스라인 코드가 모든 참가자 여러분들의 대회 진행에 도움이 되면 좋겠습니다.

감사합니다. 
데이콘 드림

코드
로그인이 필요합니다
0 / 1000
비회원
2022.11.14 23:24

baseline의 

train부분에서
error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

에러가 뜨는데, 혹시 해결 방법 알 수 있을까요?

성은황
2022.11.15 12:39

이미지를 load 할 때 default로 설정된 경로가 실제 이미지 경로와 맞지 않아서 없는 정보를 불러와서 생긴 오류입니다. csv에서 image path 컬럼 부분을 전체적으로 고쳐주시면 될 것 같습니다.

이세의인공지능
2022.11.15 14:49

이 오류에 대해 제가 겪은 원인들
1. 절대경로로 접근할 때 / 상대경로로 접근할 때 한글 경로가 포함된 경우 (영문 경로로 폴더명 수정 또는 한글 경로 인코딩을 바꿔서 입력해 해결)
2. 상대경로로 접근할 때 현재 경로가 계획과 다른 상태인 경우(pwd 또는 ls를 입력해 현재 경로가 어떤 상태인지 확인해 해결)

종합적으로 읽고자하는 이미지의 경로를 못찾았을 때 일어나는 오류였습니다!

비회원
2022.11.15 15:31

customdataset에서 
def __getitem__(self, index):
        path = os.chdir('C:/Users/rnfrn/Downloads/open (2)/train_imgs')
        img_path = self.medical_df['img_path'].iloc[index]
        img_path
        image = cv2.imread(img_path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

이런식으로 절대 경로를 넣어도 막히는데 어떤 걸 수정하면 좋을까요 ㅠㅠ

성은황
2022.11.15 18:01

저라면...
root_path = '폴더 경로'

class CustomDataset(Dataset):
    def __init__(self, medical_df, labels, transforms=None):
        self.medical_df = medical_df
        self.transforms = transforms
        self.labels = labels
        
    def __getitem__(self, index):
        img_path = self.medical_df['img_path'].iloc[index]
        img_path = img_path.replace('./', f'{root_path}/')
        image = cv2.imread(img_path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

...

이렇게 해결했습니다.
image_path를 string으로 받으니까, string에서 파이썬 함수인 replace를 이용하여 원하는 텍스트를 교체하여 대체 할 수 있게 한 것 입니당...

비회원
2022.11.15 18:48

모두 감사합니다!!

gilgarad
2022.11.16 16:37

train_transform과 test_transform이 약간 다른데 다르게 한 이유가 있을까요?
train_transform이 아래와 같은 내용이 더 추가되어 있네요.
A.HorizontalFlip(),
                            A.VerticalFlip(),
                            A.Rotate(limit=90, border_mode=cv2.BORDER_CONSTANT,p=0.3),
                            A.Resize(CFG['IMG_SIZE'],CFG['IMG_SIZE']),

멀렁이
2022.11.16 19:35

Data augmentation에 대해서 찾아보시면 좋을 것 같습니다.

이전 글
csv만 쓰지 말랬는데 말을 안 듣고(XGBoost Feature importance)
대회 - 유방암의 임파선 전이 예측 AI 경진대회
좋아요 26
조회 4,040
댓글 2
일 년 전
현재 글
[Baseline] Multi-Modal (병리 슬라이드, 임상 항목) 이진 분류 모델
대회 - 유방암의 임파선 전이 예측 AI 경진대회
좋아요 20
조회 6,698
댓글 8
일 년 전
다음 글
다음 글이 존재하지 않습니다.