CT Lung Segmentation - Python, Deep Learning

Поділитися
Вставка
  • Опубліковано 21 жов 2024
  • Source code(Github): github.com/kai...
    Dependencies:
    Python
    numpy
    Keras
    matplotlib
    Dataset
    Finding and Measuring Lungs in CT Data www.kaggle.com...
    Contact Brad: kairess87@gmail.com
    Support Brad: toon.at/donate...

КОМЕНТАРІ • 56

  • @changyongkang7651
    @changyongkang7651 5 років тому

    감사합니다. 빵형 님 ^^
    핵심 내용을 잘 보았습니다^^

    • @bbanghyong
      @bbanghyong  5 років тому +1

      감사합니다 창용님! 영상 잘 보고있어요 ㅎㅎ

    • @changyongkang7651
      @changyongkang7651 5 років тому

      @@bbanghyong
      님 감사합니다^^

  • @ju1493
    @ju1493 4 роки тому +1

    강의 잘 들었습니다.
    하나 궁금한 점이 있어서 이렇게 답글을 답니다 ㅎ
    예측 으로나온 이미지를 보면 바이너리 이미지가 아닌거 같은데(약간 gray scale 같음) 그 원인이 뭔가요?
    혹시 threshold 로 정답값 결정하게 되는건가요?
    답변해주시면 감사하겠습니다.

    • @bbanghyong
      @bbanghyong  4 роки тому +1

      네 마지막 레이어에서 sigmoid 로 출력이나와서 그래요 말씀하신대로 thresholding 해야해요!

  • @5kjh-z6x
    @5kjh-z6x 4 роки тому

    안녕하세요 혹시 질문 조금 드려도 될까요? 혹시 데이터를 굳이 downsize시켰다가 다시 upsize 시키는 이유가 있을까요? 그것이 어떤 특징을 가진 데이터에서 유리하다는 메커니즘이 있을까요?

  • @bellakim5959
    @bellakim5959 3 роки тому +1

    해당 연구에 대해서 관심이 있어 이제 막 시작해보려는 초보자입니다! 정말 유익한 강의 감사합니다 :) ♥

  • @user-xf7pl4hj5u
    @user-xf7pl4hj5u 4 роки тому

    경진대회에 의료영상 관련해서 캡스톤디자인을 해보고 싶은데, 예를들어 뇌, 폐, 심장과 같은 타겟을 잡고 이에 맞는 데이터를 수집한후, 원하는 문제 task를 설정해서 해보려고 합니다. 의료 데이터 같은 경우에 캐글?과 다른 수집 방법이 따로 있나요?

  • @logic_alogic_b616
    @logic_alogic_b616 4 роки тому +1

    감사합니다. 딥러닝 돌리려면 dcm이나 png jpg 등을 .npy 파일로 변환시켜줘야 하는건가요?? 그 과정도 알려주시면 좋을거 같아요.

  • @월하람-t3j
    @월하람-t3j 3 роки тому

    빵형님 질문이 있습니다..CNN 과정에서 다운 샘플링과 업샘플링을 하는 과정에서 이미지에서 폐가 맞는 부분과 아닌 부분은 어떤 코드가 판단하는 건가요?

  • @randomstate-de2xz
    @randomstate-de2xz 4 роки тому

    좋은 강좌 감사합니다. 2가지 질문이 있습니다. 첫 번째, decoder activation 함수로 relu 대신 sigmoid를 사용하신 이유, 두 번째 loss 함수로 mse 대신 binary_crossentropy를 사용하신 이유가 궁금합니다.

  • @이준식-e3j
    @이준식-e3j 5 років тому +1

    ax[0, 0].plot(history.history['loss'], 'r')
    이 부분에서 history에 history object에다가 loss에 접근 한다고 했는데 무슨 말인가요?
    그리고 Evaluation 그래프에서 title은 나오는데 그래프는 표시가 안되는데 무엇이 문제 일까요?ㅜㅜ

    • @bbanghyong
      @bbanghyong  5 років тому

      history라는 변수에 loss의 기록이 저장되어 있어서 그렇게 표현했어요. 어렵게 말씀드려 죄송합니다 ㅠ
      그래프가 안나오는 문제는 정확히 모르겠네요. title이 나오면 matplotlib 라이브러리 문제는 아닌것 같은데...

    • @이준식-e3j
      @이준식-e3j 5 років тому

      @@bbanghyong 아니에요. 배우는 입장에서 정말 감사드려요^^
      앞으로도 좋은 강의 부탁드립니다.

  • @마르첼리노-x9o
    @마르첼리노-x9o 4 роки тому

    빵형 요즘 코로나19가 유행인데 진단키트가 nagative false가 나올 수도 있는데 폐 CT사진으로 코로나19에 걸렸는지 판단가능할까요? 데이터만 있다면 가능하지않을까싶은데 정부에서는 안하는 이유가 뭘까요?

  • @황인철-q5q
    @황인철-q5q 5 років тому

    흑백이 아니라 컬러로 했을경우 (shaple = (x,y,3)) 따로 전처리 해야 할내용이 있을가요? 컬러 이미지로 비슷한내용 해보려니 잘 안되네요 ㅠ

  • @변강원
    @변강원 5 років тому

    오늘도 좋은 강의 듣고 가요 빵형님도 감기 조심하시고 다음에 또뵈요 ~!!

    • @bbanghyong
      @bbanghyong  5 років тому

      강원님 덕분에 힘납니다 ㅎㅎ 다음에 또 봐요!

  • @요리가좋아-q8u
    @요리가좋아-q8u 5 років тому

    안녕하세요!! 꾸준히 잘보구 있습니다!

  • @jungukko5790
    @jungukko5790 5 років тому

    좋은 강의 감사합니다.
    혹시 5:55 에서 net 구성 시 맨 끝에 (input) 혹은 (net)을 써주는 이유를 알 수 있을지요

  • @jaesubkim1697
    @jaesubkim1697 3 місяці тому

    안녕하세요, 혹시 정답으로 사용된 이미지는 직접 제작하셨나요?

  • @hyunsooshin3631
    @hyunsooshin3631 5 років тому

    안녕하세요 강의 잘 봤습니다!
    질문이있어 댓글남깁니다.
    힘들게 maxpooling(down sampling)으로 feature들을 추출했는데 왜 다시 upsampling을 하나요?
    아.. 방금 위에댓글 한줄적다가 생각난건데 다시 원본 이미지 픽셀과 같은 shape을 만들어주려고 그러신건가요?
    그렇다면 다시 원본픽셀로 돌릴때 그냥 아무생각없이 shape을 확장시키면 앞에서뽑은(down sampling)과정들이 무의미해질수도있을것같은데요
    그래서 upsamlping이라는걸 쓰신거같은데 좀 더 구체적인 설명을 해주실수있나요?
    감사합니다:)

    • @bbanghyong
      @bbanghyong  5 років тому +1

      여러데이터셋에서 핵심 피쳐들을 뽑으려고 max pooling을 씁니당! 피쳐들을 잘 뽑아낸 후에 작은 차원의 데이터를 다시 원본 크기로 늘리면 잘 정리된 피쳐들이 마스크로 나오겠지요!
      업샘플링이아니라 디컨볼루션 같은 것을 쓰셔도 비슷한 효과를 볼 수 있어요

    • @hyunsooshin3631
      @hyunsooshin3631 5 років тому

      @@bbanghyong 답변감사합니다.
      제 댓글을 다시 잘 읽어보시면 max pooling으로 피쳐들을 뽑았는데 차원이 내려갔으므로 다시 이미지로 복원시키려면 차원을 되돌려야하는데 "어떻게" 피쳐들을 손상시키지않고 돌릴까가 질문이였어요 거기서 upsampling을 쓴거구요.. 피쳐들을 힘들게뽑았는데 그냥 차원을 늘리면 피쳐들이 다 깨지게될거잖아요? upsampling은 어떻게 손상시키지않고 복원을하는걸까요?

    • @bbanghyong
      @bbanghyong  5 років тому +2

      케라스의 Upsampling은 단순히 옆의 픽셀을 복사하는 레이어라 피쳐들이 손상되진 않아요. 오히려 upsampling 뒤의 conv2d때문에 손상될 우려는 있겠지요.
      근데 그렇다해도 결국은 핵심 피쳐를 뽑는 방향으로 잘 수렴이 될겁니다. 모델이 인풋이미지를 보고 아웃풋 마스크처럼 만들기위해 어떤 피쳐를 뽑아야하는지 배워나갈테니까요!

    • @hyunsooshin3631
      @hyunsooshin3631 5 років тому

      @@bbanghyong 답변감사합니다.
      아.. 결국 upsampling을 했을때 feature가 손상되지않을까에 대한 우려는 결국 upsampling하고나서 다시 또 loss function으로 gradient descent를 할꺼기때문에 최종결과는 수렴한느방향으로 간다 이말씀이신건가요? 그렇게되려면 upsampling후에도 conv2d 같은 히든레이어의 구성은 필수이겠네요?

    • @bbanghyong
      @bbanghyong  5 років тому +1

      네 또는 deconv를 사용하는 방법도 있겠죠

  • @김민승-c7e
    @김민승-c7e 5 років тому +1

    잘 보고 갑니다~ 다음에 깃 사용 방법 간단하게 설명하는 내용 조금씩 있으면 좋겠습니다..ㅎㅎ

    • @bbanghyong
      @bbanghyong  5 років тому

      네 다음엔 설명드리도록 하겠습니다!

  • @saltanatkhalyk3397
    @saltanatkhalyk3397 2 роки тому

    Thank you very much!

  • @limihong2074
    @limihong2074 4 роки тому

    빵형 감사합니다 *.*

  • @Chpk-y8y
    @Chpk-y8y 5 років тому

    안녕하세요!! 항상 재밌게 잘보고 있습니다. 그 keggle의 tif파일들을 x_train.npy, x_val.npy 등으로 어떤식으로 변환하셨는지 궁금합니다.

    • @bbanghyong
      @bbanghyong  5 років тому +1

      preprocess.ipynb 파일을 보시면 코드가 있는데요. skimage 를 사용해서 로드했어요!

    • @Chpk-y8y
      @Chpk-y8y 5 років тому

      정말 감사합니다. 항상 응원하겠습니다!!

  • @gmlssns5859
    @gmlssns5859 4 роки тому

    MaxPolling과 MaxPolling사이에 convolution을 하는이유는 뭐죠??

  • @조예-u3u
    @조예-u3u 4 роки тому

    질문있는데 인코더 마지막 층에 dense층은 1x1 conv층이랑 같은거죠?

    • @bbanghyong
      @bbanghyong  4 роки тому

      아 그런가요? 제가 썼는데 기억이 가물가물하네요 ㅠㅠ

  • @user-bscg00
    @user-bscg00 5 років тому

    영상에서는 Class가 2개(폐, 폐아님)인데, 혹시 Class를 3개, 4개로 늘리려면 어떤 부분을 수정해야할까요?

    • @bbanghyong
      @bbanghyong  5 років тому

      출력 채널수를 클래스 갯수와 똑같이 늘린다음에 해보는건 어떨까요?

  • @류야
    @류야 5 років тому

    영상보면서 공부하는 학생입니다. 원본 데이터에서 가공을 어떻게 하신건가요?. 혹시 가능하시면 가공하는 소스코드좀 얻을 수 있을까요?? ㅠ

    • @bbanghyong
      @bbanghyong  5 років тому

      이 데이터는 이미 가공된 데이터가 캐글에 있어서 그대로 사용했습니다 ㅠㅠ

    • @류야
      @류야 5 років тому

      @@bbanghyong 그렇군요 ㅠㅠ

    • @류야
      @류야 5 років тому

      @@bbanghyong 이런 분석할때보면 훈련코드 돌리면, 랙걸리기도 하던데, 컴퓨터 사양은 어느정도가 좋을까요? ㅠ

    • @bbanghyong
      @bbanghyong  5 років тому

      @@류야 딥러닝 학습을 위해서는 넉넉한 CPU, RAM, GPU가 필요합니다. 사양이 높으면 높을 수록 좋겠죠~ 최신게임이 잘 돌아가는 컴퓨터가 학습도 잘 되더군요 :)

    • @류야
      @류야 5 років тому

      @@bbanghyong 감사합니다. 엄청 돌려보고 있어용 ㅋㅋ

  • @studywithme7027
    @studywithme7027 3 роки тому

    폐 정도라면 굳이 딥러닝으로 segmentation 하지 않고 opneCV 이진화로 구현하면 되지 않을까요?

    • @bbanghyong
      @bbanghyong  3 роки тому

      네 이진화로도 충분히 가능할 것 같습니다! 그냥 연습삼아 딥러닝 써본거죠 ㅎㅎ

  • @손바노-p3y
    @손바노-p3y 2 роки тому

    썸네일에서
    심슨이 보였다

  • @user-sp2sx3dl4i
    @user-sp2sx3dl4i 5 років тому

    행님 데이터셋 구성하는 법도 알려주세요

    • @bbanghyong
      @bbanghyong  5 років тому

      데이터셋 구성이라 하시면 전처리 말씀하시는거예요?

  • @요리가좋아-q8u
    @요리가좋아-q8u 5 років тому

    질문드려도 될까요?

    • @bbanghyong
      @bbanghyong  5 років тому

      질문은 언제든 환영입니다!

    • @tito-zx9tx
      @tito-zx9tx 5 років тому

      빵형의 개발도상국 요즘 파이썬 공부중인데요. 영상을 보며 공부중입니다. 문제들을풀때 한문제에 끝까지 풀릴때까지 매달리나요. 아니면 여러문제를 답과힌트를 보며 풀어보는것이 도움이될까요 ㅜㅜ