CA-Net 논문 읽기


머리말

주의 측면에서 의료 세분화 모델을 설계하기 위해 CANet은 세 가지 주의를 모은 것으로 매우 상세한 절제 실험을 수행했습니다. 그리고 해석이 매우 쉬워 의료 세분화에 매우 중요합니다.
한편으로는 여전히 그가 시각화하는 방법을 배우고 싶습니다. (아직 코드를 읽지 못했는데 시간이 되면 배우겠습니다.)
Paper: https://arxiv.org/abs/2009.10549v1
Code: https://github.com/HiLab-git/CA- 그물


요약

CNN은 의료 분할 분야에서 잘 수행되지만 분할 대상의 위치, 모양 및 규모가 크게 달라지고 기존 CNN의 열악한 해석 가능성으로 인해 임상 의사 결정에서의 적용이 제한되는 복잡한 조건으로 인해 여전히 어려움을 겪고 있습니다.
그래서
그들은 더 나은 성능을 위해 CANet을 제안했습니다. 특히 그들은 네트워크가 전경 영역에 더 많은 주의를 기울이도록 공동 공간 주의 모듈을 제안했습니다. 그에 따라 채널 수준 기능을 적응적으로 재보정하고 가장 관련성이 높은 채널을 강조 표시하는 채널 관심도 있습니다.

소개

CNN이 현재 직면하고 있는 문제는 다음과 같습니다.

  1. 컨볼루션 레이어를 설계함으로써 가중치는 서로 다른 위치에서 공유됩니다. 그렇게 하면 공간 인식이 부족해 유연한 모양과 위치가 있는 구조, 특히 작은 물체를 다룰 때 성능이 저하될 수 있습니다.
  2. 중복될 수 있는 많은 수의 기능 채널을 사용합니다. 많은 작업은 CNN이 서로 다른 의미 정보를 나타내는 하위 수준 기능과 상위 수준 기능을 직렬로 연결하는 것과 같습니다.세그먼트 작업에는 중요도가 다를 수 있습니다.관련 채널을 강조 표시하고 관련 없는 채널을 억제하는 것이 세분화 작업에 더 적합합니다.
  3. CNN은 종종 분할할 특정 이미지에 대한 가장 적절한 비율에 대한 지식이 부족한 다양한 크기의 객체를 처리하기 위해 다중 스케일 기능을 추출합니다.
  4. 대부분의 기존 CNN의 결정은 설명하기 어렵고 복잡한 중첩 비선형 구조로 인해 일반적으로 블랙박스 접근 방식으로 사용됩니다.

행동 양식

기본 구조는 아래 그림과 같습니다. 스켈레톤으로 U-Net을 선택합니다. 스킵 연결 부분에 공간주의 모듈을 설정하고 각 디코더 출력에 대해 채널주의 모듈을 설정한 다음 크기 주의 모듈을 사용하여 모든 디코더 출력을 최대한 활용하여 최종 출력을 생성합니다.
여기에 이미지 설명 삽입
그림 1. CA-Net(Comprehensive Attention CNN)을 제안합니다. 컨볼루션 커널의 크기와 출력 채널의 수에 해당하는 3x3 또는 1x1과 파란색의 숫자(16, 32, 64, 128, 256 또는 클래스)가 있습니다. 우리는 4개의 공간 주의 모듈 SA1-SA4, 4개의 채널 주의 CA1-CA4 및 하나의 규모 주의 LA를 사용합니다. F1-4는 차원 주의 모듈의 입력으로 기능 맵의 리샘플링된 버전을 나타냅니다.
공간 주의 모듈은 다음과 같습니다. SA1, SA2, SA3, SA4의 4개 부품이 있습니다.
여기에 이미지 설명 삽입
그림 2. 우리가 제안한 공동 공간 주의 모듈의 세부 사항. a) SA1은 가장 낮은 해상도 수준에서 사용되는 로컬이 아닌 모듈입니다. b) 그러나 경로 공간 주의 모듈(SAc) SA2-4는 고해상도를 위한 이중 채널 주의 모듈입니다. 쿼리로 사용되는 기능 맵 xh는 저수준 핵심 기능 xl을 보정하는 데 사용됩니다. 시그모이드는 시그모이드 함수를 의미합니다.

먼저 가장 낮은 해상도 수준에서 공간 주의를 위해 비로컬 모듈을 사용하여 모든 픽셀 간의 상호 작용을 캡처하여 컨텍스트를 더 잘 활용합니다. 먼저 conv1x1을 사용하여 채널 수를 변경한 다음 치수를 변경하여 3개의 HWx64 행렬을 생성합니다. HW×HW 행렬을 얻기 위해 위의 두 행렬을 곱하면 우리의 공간 주의 계수 맵도 됩니다. 이것은 HW×64 행렬(특정 기능 맵 아래의 픽셀을 나타내는 각 요소)과 곱해집니다. HW×64는 이 기능 맵에 있는 모든 요소의 가중 합계입니다.
SA2-4의 경우 관심 영역에 대한 주의를 강화하고 잡음을 줄이기 위해 두 개의 AG를 병렬로 활용하는 이중 경로 공간 주의가 사용됩니다. AG는 중간에 있는 그림이고, 그들의 관심을 알아내고, 그들의 채널을 직렬로 연결한 다음 Conv1x1을 통해 채널 수를 변경하고 ReLU를 출력합니다.
아래는 채널 주의 모듈 다이어그램입니다. 채널 연결은 인코더의 공간 주의 보정 하위 수준 기능과 디코더의 상위 수준 기능을 결합하는 데 사용됩니다. 가장 유용한 기능 채널을 더 잘 활용하기 위해 관련 기능 채널을 자동으로 매핑하고 관련 없는 채널을 억제하는 채널 주의를 도입했습니다. 평균 풀링 정보만 사용하여 기능 채널을 자극하는 이전 SE 블록과 달리 더 많은 정보를 유지하기 위해 최대 풀링 기능을 추가로 사용합니다. MLP(FC+ReLU+FC, FC를 사용할 때 성능 및 계산 비용 r=2를 고려하면 채널 수는 원래 C/r의 1/2이 됨)를 통해 Conv1x1을 사용하여 채널 수를 변경합니다. 잔여 연결이 사용됩니다.
여기에 이미지 설명 삽입
그림 3. 우리가 제안한 잔류 연결이 있는 채널 어텐션 모듈의 구조. 추가 글로벌 최대 풀링 기능이 모듈에서 사용됩니다. β는 채널 주의 계수를 나타냅니다.
여기에 이미지 설명 삽입
그림 4. 우리가 제안한 잔여 연결이 있는 저울 어텐션 모듈의 구조. 그것의 입력은 디코더에서 얻은 다른 스케일의 보간된 특징 맵의 연결입니다. γ는 눈금별 주의 계수를 나타냅니다. 우리는 또한 픽셀 스케일 주의 계수 γ*를 얻기 위해 공간 주의 블록 LA*를 사용합니다.
크기 주의 모듈은 각 크기의 이미지에 대한 특정 가중치를 자동으로 학습하여 네트워크 끝에서 서로 다른 크기로 기능을 보정하도록 제안됩니다. 디코더의 개별 출력을 더 잘 결합합니다. 계산 비용을 줄이기 위해 이러한 기능 맵은 1×1 컨볼루션을 사용하여 4개의 채널로 압축되고 다른 스케일의 압축 결과는 하이브리드 기능 맵 ˆF로 연결됩니다. 채널 어텐션과 비슷해 보입니다. 즉, 각 피쳐 맵의 어텐션을 계산합니다. 또한 LA 모듈을 추가하여 F·γ를 입력으로 하여 공간 주의 계수 γ∗ ∈ [0, 1]1×H×W를 생성하고 픽셀 수준 주의를 계산합니다(γ·γ∗는 픽셀 수준 비례를 나타냄). 주목).

실험 결과

두 애플리케이션 모두에 대해 절제 연구를 구현하여 제안된 CA-Net의 효율성을 검증하고 최신 네트워크와 비교합니다.
예를 들어, 피부병.

  1. 공간주의 비교 방법. 채널 주의 및 크기 주의가 제거됩니다. 그들이 제안한 다단계 공간주의의 변형이 비교됩니다.
    a. 표준 단일 채널 AG 모델은 SA1-SA4에서 사용됨
    b. 이중 채널 AG는 SA1-SA4에서 사용됨
    c. 비로컬 모듈만 SA1에서 사용됨
    d. 그들은 비로컬 모듈을 SA1에 설정하도록 제안합니다. SA2- 4 2채널 모듈 사용
    SA2−4를 사용하지 않는 다른 비교 변형의 경우 스킵 연결은 U-Net과 동일합니다.
    실험 결과:
    여기에 이미지 설명 삽입
    여기에 이미지 설명 삽입
    이후 채널 어텐션과 사이즈 어텐션에 대한 실험도 진행하였다.
    마지막으로 최신 방법과 비교합니다.
    그의 실험은 매우 상세하고 많은 상황을 고려했으며 실험을 볼 가치가 있다고 생각합니다.

코드

자신의 데이터 세트로 교체하십시오. 데이터와 주요 부분만 신경쓰세요.
isic_preprocess.py에서 자신의 데이터 세트로 교체하십시오. 자체 데이터 세트의 이미지가 단일 채널 그레이스케일 이미지인 경우 모두 3채널로 변환할 수 있습니다.
이 파일은 주로 데이터 세트를 전처리하고 크기를 변경하고 .npy 파일로 변환합니다.
create_folder.py는 5겹 교차 검증을 사용합니다. 5개의 폴더(folder1-5)를 생성합니다. 각 폴더에는 학습, 검증 및 테스트를 형성하기 위해 무작위로 선택된 파일의 이름이 포함된 학습, 유효 및 테스트의 세 가지 목록이 포함되어 있습니다.

학습 중 폴더 1~5 중 하나를 선택합니다. 그의 코드를 사용하든 자신의 코드를 작성하든 자신의 데이터 세트로 전환하는 것은 어렵지 않습니다. 그들은 모두 사전 처리 후 자체 데이터 세트를 .npy 파일로 변환하고 교육, 검증 및 테스트를 위해 자체 레이블이 있는 폴더를 생성합니다.
그런 다음 코드에 대한 이해를 업데이트하십시오.

요약하다

포괄적인 관심 기반 컨볼루션 신경망인 CANet은 의료 영상 분할의 성능과 해석 가능성을 개선하기 위해 여러 관심을 포괄적으로 활용하는 방법을 학습합니다.

추천

출처blog.csdn.net/goodenough5/article/details/129502475