> 기술 주변기기 > 일체 포함 > 메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다

메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다

Christopher Nolan
풀어 주다: 2025-03-14 09:43:08
원래의
294명이 탐색했습니다.

메타의 세그먼트 ally model (SAM)은 이미지의 다른 영역에서 물체를 감지하는 능력을 보여주었습니다. 이 모델의 아키텍처는 유연하며 사용자는 다양한 프롬프트로 안내 할 수 있습니다. 훈련하는 동안 데이터 세트에 있지 않은 객체를 세그먼트 할 수 있습니다.

이러한 기능은이 모델이 모든 목적을 위해 객체를 감지하고 분할하는 데 매우 효과적인 도구입니다. 이 도구는 자율 주행 차량 및 로봇 공학과 같은 업계 기반 응용 프로그램에서 볼 수 있듯이 특정 세분화 작업에도 사용될 수 있습니다. 이 모델의 또 다른 중요한 세부 사항은 마스크와 경계 박스를 사용하여 이미지를 세그먼트 할 수있는 방법입니다.

그러나 Meta의 세그먼트 의료 이미징을위한 Meta의 모든 모델은 스캔 된 이미지의 이상을 진단하고 탐지하는 데 큰 역할을합니다. Medsam은 다른 소스에서 수집 한 이미지 마스크 쌍에 대한 모델을 훈련시킵니다. 이 데이터 세트는 15 개 이상의 이미지 방식과 30 개 이상의 암 유형을 포함합니다.

우리는이 모델이 경계 상자를 사용하여 의료 이미지에서 객체를 감지하는 방법에 대해 논의합니다.

학습 목표

  • 메타의 세그먼트 ally model (SAM)은 이미지의 다양한 영역에서 객체를 분할 할 때 탁월하여 다양한 작업에 적응할 수 있습니다.
  • Sam의 교육 데이터 세트 이외의 물체를 감지하는 능력은 특히 경계 상자 및 마스크와 결합 할 때 유연성을 보여줍니다.
  • 미세 조정 된 버전의 SAM 인 Medsam은 15 개의 영상화 방식에 걸쳐 암을 탐지하는 것과 같은 복잡한 진단 작업을 처리하여 의료 영상을 향상시킵니다.
  • MEDSAM은 경계 상자와 효율적인 컴퓨팅 기술을 사용하여 의료 이미지 세분화를 최적화하여 의료 AI 응용 프로그램의 경계를 넓 힙니다.
  • Medsam의 의료 전문화와 짝을 이루는 Sam의 핵심 다목적 성은 로봇 공학, 자율 주행 차량 및 건강 관리와 같은 분야에서 이미지 분석에 혁명을 일으킬 수있는 방대한 잠재력을 열어줍니다.

이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .

목차

  • 세그먼트 모델 (SAM)은 어떻게 작동합니까?
  • 샘을 의료 영상에 직접 적용 할 수 있습니까?
  • Medsam의 모델 아키텍처
  • 의료 영상을 위해 Medsam을 사용하는 방법
  • 이 모델의 적용 : 미래는 무엇을 유지합니까?
  • 결론
  • 자주 묻는 질문

세그먼트 모델 (SAM)은 어떻게 작동합니까?

SAM은 이미지의 거의 모든 영역에서 객체를 식별하기 위해 Meta가 개발 한 이미지 세분화 모델입니다. 이 모델의 가장 좋은 속성은 다양성으로 이미지를 감지 할 때 일반화 할 수 있습니다.

이 모델은 매혹적인 1,100 만 개의 실제 이미지에 대해 교육을 받았지만 더 흥미롭게도 데이터 세트에도 존재하지 않는 객체를 분류 할 수 있습니다.

구조가 다른 많은 이미지 분할 및 객체 감지 모델이 있습니다. 이와 같은 모델은 작업 별 또는 기본 모델 일 수 있지만 Sam은 '세그먼트 -IT-ALL'모델 인 SAM은 수백만의 이미지를 감지하는 동시에 미세 조정을위한 공간을 남기기에 좋은 기본 배경을 가지고 있기 때문에 둘 다일 수 있습니다. 그것이 연구원들이 Medsam과 마찬가지로 다양한 아이디어를 얻는 곳입니다.

Sam의 능력의 하이라이트는 적응하는 능력입니다. 또한 프롬프트 기반 세분화 모델이므로 세분화 작업을 수행하는 방법에 대한 정보를받을 수 있습니다. 여기에는 전경, 배경, 거친 상자, 경계 박스, 마스크, 텍스트 및 모델이 이미지를 분할하는 데 도움이되는 기타 정보가 포함됩니다.

이 모델 아키텍처의 기본 원칙은 이미지 엔코더, 프롬프트 인코더 및 마스크 인코더입니다. 세 가지 구성 요소는 모두 세분화 작업을 수행하는 데 큰 역할을합니다. 이미지와 프롬프트 인코더는 이미지 및 프롬프트 임베딩을 생성하는 데 도움이됩니다. 마스크 인코더는 프롬프트를 사용하여 세그먼트하려는 이미지에 대해 생성 된 마스크를 감지합니다.

샘을 의료 영상에 직접 적용 할 수 있습니까?

의료 목적으로 모든 모델을 사용하는 것이 가치가있었습니다. 또한이 모델에는 큰 데이터 세트와 다양한 기능이 있으므로 의료 이미징이 아닌 이유는 무엇입니까? 그러나 의료 세분화의 적용에는 의료 이미지의 특성과 모델이 이미지에서 불확실한 경계 상자를 다룰 수있는 방법에 대한 문제로 인해 몇 가지 제한이 있습니다. 의료 이미지에서 이미지 마스크의 특성으로 인한 문제로 인해 전문화의 필요성이 필수적입니다. 따라서 Sam의 건축에 ​​기반을 둔 세분화 모델 인 Medsam의 혁신을 가져 왔지만 의료 이미지에 맞게 조정되었습니다.

이 모델은 해부학 구조와 다른 이미지 인스턴스의 다양한 작업을 처리 할 수 ​​있습니다. 의료 영상은이 모델로 효과적인 결과를 얻습니다. 15 영상 양식 및 30 개 이상의 암 유형은 MEDSAM과 관련된 대규모의 의료 이미지 세분화 훈련을 보여줍니다.

Medsam의 모델 아키텍처

Medsam은 미리 훈련 된 SAM 모델을 기반으로 구축되었습니다. 프레임 워크에는 이미지 및 프롬프트 인코더가 대상 이미지에서 인코딩 마스크에 대한 임베딩을 생성합니다.

세그먼트의 이미지 인코더는 모든 컴퓨팅 전력이 필요한 위치 정보를 모델링합니다. 프로세스를보다 효율적으로 만들기 위해이 모델의 연구원들은 이미지 인코더와 프롬프트 인코더를 "동결"하기로 결정했습니다. 즉, 훈련 중에 이러한 부분을 업데이트하거나 변경하지 않았습니다.

SAM의 경계 박스 인코더의 데이터를 사용하여 객체의 위치를 ​​이해하는 데 도움이되는 프롬프트 인코더도 변경되지 않았습니다. 이러한 구성 요소를 동결함으로써 필요한 컴퓨팅 전력을 줄이고 시스템을보다 효율적으로 만들었습니다.

연구원들은이 모델의 아키텍처를 개선하여보다 효율적으로 만들었습니다. 모델을 프롬프하기 전에 반복 계산을 피하기 위해 훈련 이미지의 이미지 임베딩을 계산했습니다. 마스크 인코더 (미세 조정 된 유일한 하나의 미세 조정)는 3 개 대신 마스크 인코더 하나를 생성합니다. 이 접근법은 훈련을보다 효율적으로 만들었습니다.

다음은이 모델의 작동 방식에 대한 그래픽 그림입니다.

메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다

의료 영상을 위해 Medsam을 사용하는 방법

이 모델은 기능을 수행하기 위해서는 일부 라이브러리가 필요하며 이미지에서 의료 이미징 세그먼테이션 작업을 실행할 수있는 방법을 다룰 것입니다.

필요한 라이브러리 설치

프롬프트의 일부로 경계 상자에 선을 그려야 하므로이 모델을 실행하려면 몇 가지 더 많은 라이브러리가 필요합니다. 우리는 요청, numpy 및 metaplot으로 시작합니다.

 가져 오기 요청
Numpy를 NP로 가져옵니다
matplotlib.pyplot을 plt로 가져옵니다
PIL 가져 오기 이미지에서
변압기에서 Samprocessor, Sammodel을 가져옵니다
토치 수입
로그인 후 복사

'요청'라이브러리는 소스에서 이미지를 가져 오는 데 도움이됩니다. 'Numpy'라이브러리는 경계 박스의 좌표와 관련된 수치 작업을 수행하기 때문에 유용 해집니다. PIL 및 METAPLOT는 각각 이미지 처리 및 디스플레이를 지원합니다. SAM 모델 외에도 프로세서 및 토치 (아래 코드에 정의 된 계산 처리)는이 모델을 실행하는 데 중요한 패키지입니다.

 Device = "Cuda"인 경우 Torch.cuda.is_available () else "CPU"
로그인 후 복사

미리 훈련 된 SAM을로드합니다

 model = sammodel.from_pretraind ( "flaviagiammarino/medsam-vit-base"). to (device)
프로세서 = SAMPROCESSOR.FROM_PRETRAIND ( "Flaviagiammarino/Medsam-Vit-Base")
로그인 후 복사

따라서 미리 훈련 된 모델은 일반적으로 GPU 또는 CPU와 같은 가장 적합한 컴퓨팅 장치를 사용합니다. 이 작업은 모델의 프로세서를로드하고 이미지 입력 ​​데이터를 준비하기 전에 발생합니다.

이미지 입력

 img_url = "https://huggingface.co/flaviagiammarino/medsam-vit-bit-bit-bit-bit-bit-bit/resolve/main/scripts/input.png"
raw_image = image.open (requests.get (img_url, stream = true) .raw) .convert ( "rgb")
input_boxes = [95., 255., 190., 350.]
로그인 후 복사

메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다

특히 환경의 라이브러리에서는 URL로 이미지를로드하는 것이 쉽습니다. 또한 이미지를 열고 처리 할 수있는 호환 형식으로 변환 할 수도 있습니다. 'input_boxes'목록은 경계 상자를 좌표로 정의합니다 [95, 255, 190, 350]. 이 숫자는 관심 영역의 이미지의 왼쪽 상단 및 오른쪽 모서리를 나타냅니다. 경계 박스를 사용하여 특정 영역에 중점을 둔 세그먼테이션 작업을 수행 할 수 있습니다.

이미지 입력 ​​처리

다음으로 이미지 입력을 처리하고 세분화 모델을 실행하고 출력 마스크를 준비합니다. 모델 프로세서는 원시 이미지와 입력 상자를 준비하고 처리에 적합한 형식으로 변환합니다. 그 후, 처리 된 입력은 마스크 확률을 예측하기 위해 실행됩니다. 이 코드는 분할 된 영역에 대한 정제 된 확률 기반 마스크를 초래합니다.

 inputs = processor (raw_image, input_boxes = [[input_boxes]], return_tensors = "pt"). to (device)
outputs = model (** 입력, multimask_output = false)
probs = processor.image_processor.post_process_masks (outputs.pred_masks.sigmoid (). cpu (), 입력 [ "or
로그인 후 복사

마스크

 def show_mask (마스크, 도끼, random_color) :
   임의의 경우 :
       color = np.concatenate ([np.random.random (3), np.array ([0.6])], axis = 0)
   또 다른:
       color = np.array ([251/255, 252/255, 30/255, 0.6])
   h, w = mask.shape [-2 :]
   mask_image = mask.reshape (h, w, 1) * color.reshape (1, 1, -1)
   ax.imshow (mask_image)
로그인 후 복사

여기서 우리는 '도끼'를 사용하여 이미지에 컬러 마스크를 보여 주려고 노력합니다. 보여주다.' show_mask 함수는 플롯에 세분화 마스크를 표시합니다. 임의의 색상이나 기본 노란색을 사용할 수 있습니다. 마스크는 이미지에 맞게 크기가 커지고 선택한 색상으로 오버레이되고 'ax.show'를 사용하여 시각화됩니다.

그 후, 함수는 좌표와 위치를 사용하여 사각형을 그립니다. 이 프로세스는 아래와 같이 실행됩니다.

 def show_box (Box, Ax) :
   x0, y0 = box [0], box [1]
   W, H = Box [2] - Box [0], Box [3] - Box [1]
   ax.add_patch (plt.rectangle ((x0, y0), w, h, edgecolor = "blue", facecolor = (0, 0, 0, 0), lw = 2))))
로그인 후 복사

산출

 그림, AX = Plt.Subplots (1, 2, figsize = (10, 5))
ax [0] .imshow (np.array (raw_image))
show_box (input_boxes, ax [0])
ax [0] .set_title ( "입력 이미지 및 경계 박스")
ax [0] .axis ( "off")
Ax [1] .imshow (np.array (raw_image))
show_mask (Mask = probs [0]> 0.5, ax = ax [1], random_color = false)
show_box (input_boxes, ax [1])
ax [1] .set_title ( "Medsam segmentation")
ax [1] .axis ( "off")
plt.show ()
로그인 후 복사

이 코드는 두 개의 나란히 서브 플로트가있는 그림을 생성하여 경계 상자와 결과로 입력 이미지를 표시합니다. 첫 번째 서브 플롯은 경계 상자가있는 원본 이미지를 보여주고, 두 번째는 마스크가 오버레이 된 이미지와 경계 상자를 보여줍니다.

메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다

이 모델의 적용 : 미래는 무엇을 유지합니까?

기초 모델로서 Sam은 다목적 도구입니다. 일반화 기능이 높고 실제 이미지의 수백만 개의 데이터 세트 교육을 통해이 모델이 할 수있는 많은 일이 있습니다. 이 모델의 일반적인 응용 프로그램은 다음과 같습니다.

  • 이 도구의 가장 인기있는 용도 중 하나는 이미지 및 비디오 편집으로 이미지 및 비디오의 객체 감지 및 조작을 단순화합니다.
  • 자율 주행 차량은이 모델을 사용하여 각 장면의 컨텍스트를 이해하면서 물체를 효율적으로 감지 할 수 있습니다.
  • 로봇 공학은 또한 환경과 상호 작용하려면 물체 감지가 필요합니다.

MEDSAM은 세그먼트에서 모델의 사용 사례에서 큰 이정표입니다. 의료 영상은 일반 이미지보다 더 복잡합니다. 이 모델은 이러한 맥락을 이해하는 데 도움이됩니다. 의료 영상에서 암 유형 및 다른 세포를 탐지하기 위해 다른 진단 접근법을 사용하면이 모델이 작업 별 탐지에보다 효율적일 수 있습니다.

결론

메타의 세그먼트 모델의 다목적 성은 큰 잠재력을 보여주었습니다. 의료 영상 능력은 의료 산업의 진단 및 관련 작업을 혁신하는 데 중요한 이정표입니다. 경계 박스를 통합하면 더욱 효과적입니다. SAM 기본 모델이 발전함에 따라 의료 영상은 개선 될 수 있습니다.

자원

  • 포옹 얼굴
  • AV Sam 소개
  • 중간 medsam

주요 테이크 아웃

  • SAM 기본 모델의 다목적 특성은 연구자들이 의료 이미징 모델을 미세 조정하는 방법의 기초입니다. 또 다른 주목할만한 속성은 프롬프트, 경계 박스 및 마스크를 사용하여 다양한 작업에 적응하는 기능입니다.
  • Medsam은 다양한 의료 이미징 데이터 세트에 대해 교육을 받았습니다. 15 개 이상의 이미지 양식과 30 개 이상의 암 유형을 다루며, 이는 의료 스캔에서 특이한 지역을 얼마나 효율적으로 감지 할 수 있는지 보여줍니다.
  • 모델의 아키텍처도 올바른 접근 방식을 취했습니다. 계산 비용을 줄이기 위해 특정 부품이 얼어 붙었고, 경계 박스는 이미지의 특정 영역을 분류하기위한 프롬프트로 사용되었습니다.

자주 묻는 질문

Q1. Meta의 세그먼트 란 무엇입니까? SAM (Sam)은 무엇입니까?

A. SAM은 메타가 개발 한 이미지 처리 기술로 객체를 감지하고 이미지의 모든 영역을 가로 질러 분할합니다. 또한 모델의 데이터 세트에서 훈련되지 않은 객체를 세그먼트 할 수도 있습니다. 이 모델은 프롬프트 및 마스크로 작동하도록 교육을 받았으며 다양한 도메인에 걸쳐 적응할 수 있습니다.

Q2. Medsam은 원래 SAM 모델과 어떻게 다릅니 까?

A. MEDSAM은 의료 영상을 위해 특별히 설계된 SAM의 미세 조정 버전입니다. SAM은 일반적인 목적이지만 MEDSAM은 의료 영상의 복잡한 특성을 처리하도록 최적화되어 다양한 영상 양식 및 암 탐지로 해석됩니다.

Q3. Sam은 실시간 응용 프로그램에 사용할 수 있습니까?

A.이 모델의 다목적 성 및 실시간 처리 기능을 통해 자율 주행 차량 및 로봇 공학을 포함한 실시간 응용 프로그램에서 사용할 수 있습니다. 이미지 내에서 물체를 빠르고 효율적으로 감지하고 이해할 수 있습니다.

이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.

위 내용은 메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿