BIG
Study. X-ray 사진을 분석한 폐렴 진단
[코드 분석과 흐름]
1. 사전 지식
- 폐 속에 세균이나 바이러스로 인해 고름, 혈액 등이 차 있으면 x-ray 투과율이 떨어지며, 이로 인해 구름 같은 모양의 음영이 관찰된다면 '폐렴'이라고 진단할 수 있다.
2. 사전 설정
- 필요한 라이브러리를 불러온다.
- 사용할 데이터 파일을 불러와서 넣어준다.
# 학습할 정상인과 페렴환자 데이터와 테스트할 정상인과 폐렴환자 데이터 총 4개를 불러온다.
for file in train_file_0:
img_cropper(file, path+ "/train/NORMAL/", "./data_pre/train/NORMAL/")
for file in train_file_1:
img_cropper(file, path+ "/train/PNEUMONIA/", "./data_pre/train/PNEUMONIA/")
for file in test_file_0:
img_cropper(file, path+ "/test/NORMAL/", "./data_pre/test/NORMAL/")
for file in test_file_1:
img_cropper(file, path+ "/test/PNEUMONIA/", "./data_pre/test/PNEUMONIA/")
3. 데이터 전처리
- 사용할 데이터 파일을 훈련용과 테스트용으로 나눈다.
- 학습할 정상인 데이터, 폐렴 환자 데이터와 테스트할 정상인 데이터, 폐렴 환자 데이터 총 4개로 분류한다.
path= "./data_pre"
train_file_0= glob.glob(path+ "/train/NORMAL")
train_file_1= glob.glob(path+ "/train/PNEUMONIA")
test_file_0= glob.glob(path+ "/test/NORMAL")
test_file_1= glob.glob(path+ "/test/PNEUMONIA")
- opencv를 이용하여 X-ray 상에서 필요한 영역만 제외하고 나머지는 잘라서 조절해준다.
- IMREAD_GRAYSCALE : 해당 원본 이미지가 컬러 이미지 이더라도 Gray 색상으로 객체를 반환한다.
X_full = 0
check=False
for file in train_file_0:
img_in = cv2.imread(path+ "/train/NORMAL/"+ file, cv2.IMREAD_GRAYSCALE) #IMREAD_GRAYSCALE : 해당 원본 이미지가 RGB 컬러 이미지이지만 Gray 색상으로 해석하여 이미지 객체를 반환한다.
img_round= img_in/255 # 사진 픽셀값 255를 나눠서 0과 1사이의 값으로 맞춘다.
img_resh= img_round.reshape((224, 224, 1)) # 이미지 크기를 224X224로 맞춘다.
img= img_resh.reshape((1, )+ img_resh.shape) # img에 새로 지정한 이미지를 저장한다.
if(check== False):
X_full= img
check= True
else:
X_full= np.vstack((X_full, img)) # 배열을 세로로 결합한다.
for file in train_file_1:
img_in= cv2.imread(path+ "/train/PNEUMONIA/"+ file, cv2.IMREAD_GRAYSCALE) #imread: 여러 이미지가 포함된 파일에서 하나 또는 여러개의 지정된 이미지를 읽는다.
img_round= img_in/255 # 사진 픽셀값 255를 나눠서 0과 1사이의 값으로 맞춘다.
img_resh= img_round.reshape((224, 224, 1)) # 이미지 크기를 224X224로 맞춘다.
img= img_resh.reshape((1, )+ img_resh.shape) # img에 새로 지정한 이미지를 저장한다.
X_full= np.vstack((X_full, img)) # 배열을 세로로 결합한다.
- 병합할 데이터는 병합한다.
- shuffle() 을 이용해서 random_state=42를 만들어준다.
그 이후부터는 에러가 발생해서 진행이 불가능했다.
에러를 해결하고 이어서 올리도록 하겠다.
============================================================================
음 결국 이 코드는 에러를 해결하지 못하고 다시 다 갈아 엎었는데 또 버전 문제로 에러가 발생해서 새로운 코드를 찾아본다고 싹 다 날려버렸다..😃
다른 코드를 가지고 다시 찾아오겠다.
'🖊️Data Analysis > 📌 DL)X-ray 사진을 이용한 폐렴 진단' 카테고리의 다른 글
[Python] 다시 도전한 X-ray 사진을 분석한 폐렴 진단 (0) | 2021.07.16 |
---|
댓글