메타의 세그먼트 ally model (SAM)은 이미지의 다른 영역에서 물체를 감지하는 능력을 보여주었습니다. 이 모델의 아키텍처는 유연하며 사용자는 다양한 프롬프트로 안내 할 수 있습니다. 훈련하는 동안 데이터 세트에 있지 않은 객체를 세그먼트 할 수 있습니다.
이러한 기능은이 모델이 모든 목적을 위해 객체를 감지하고 분할하는 데 매우 효과적인 도구입니다. 이 도구는 자율 주행 차량 및 로봇 공학과 같은 업계 기반 응용 프로그램에서 볼 수 있듯이 특정 세분화 작업에도 사용될 수 있습니다. 이 모델의 또 다른 중요한 세부 사항은 마스크와 경계 박스를 사용하여 이미지를 세그먼트 할 수있는 방법입니다.
그러나 Meta의 세그먼트 의료 이미징을위한 Meta의 모든 모델은 스캔 된 이미지의 이상을 진단하고 탐지하는 데 큰 역할을합니다. Medsam은 다른 소스에서 수집 한 이미지 마스크 쌍에 대한 모델을 훈련시킵니다. 이 데이터 세트는 15 개 이상의 이미지 방식과 30 개 이상의 암 유형을 포함합니다.
우리는이 모델이 경계 상자를 사용하여 의료 이미지에서 객체를 감지하는 방법에 대해 논의합니다.
이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .
SAM은 이미지의 거의 모든 영역에서 객체를 식별하기 위해 Meta가 개발 한 이미지 세분화 모델입니다. 이 모델의 가장 좋은 속성은 다양성으로 이미지를 감지 할 때 일반화 할 수 있습니다.
이 모델은 매혹적인 1,100 만 개의 실제 이미지에 대해 교육을 받았지만 더 흥미롭게도 데이터 세트에도 존재하지 않는 객체를 분류 할 수 있습니다.
구조가 다른 많은 이미지 분할 및 객체 감지 모델이 있습니다. 이와 같은 모델은 작업 별 또는 기본 모델 일 수 있지만 Sam은 '세그먼트 -IT-ALL'모델 인 SAM은 수백만의 이미지를 감지하는 동시에 미세 조정을위한 공간을 남기기에 좋은 기본 배경을 가지고 있기 때문에 둘 다일 수 있습니다. 그것이 연구원들이 Medsam과 마찬가지로 다양한 아이디어를 얻는 곳입니다.
Sam의 능력의 하이라이트는 적응하는 능력입니다. 또한 프롬프트 기반 세분화 모델이므로 세분화 작업을 수행하는 방법에 대한 정보를받을 수 있습니다. 여기에는 전경, 배경, 거친 상자, 경계 박스, 마스크, 텍스트 및 모델이 이미지를 분할하는 데 도움이되는 기타 정보가 포함됩니다.
이 모델 아키텍처의 기본 원칙은 이미지 엔코더, 프롬프트 인코더 및 마스크 인코더입니다. 세 가지 구성 요소는 모두 세분화 작업을 수행하는 데 큰 역할을합니다. 이미지와 프롬프트 인코더는 이미지 및 프롬프트 임베딩을 생성하는 데 도움이됩니다. 마스크 인코더는 프롬프트를 사용하여 세그먼트하려는 이미지에 대해 생성 된 마스크를 감지합니다.
의료 목적으로 모든 모델을 사용하는 것이 가치가있었습니다. 또한이 모델에는 큰 데이터 세트와 다양한 기능이 있으므로 의료 이미징이 아닌 이유는 무엇입니까? 그러나 의료 세분화의 적용에는 의료 이미지의 특성과 모델이 이미지에서 불확실한 경계 상자를 다룰 수있는 방법에 대한 문제로 인해 몇 가지 제한이 있습니다. 의료 이미지에서 이미지 마스크의 특성으로 인한 문제로 인해 전문화의 필요성이 필수적입니다. 따라서 Sam의 건축에 기반을 둔 세분화 모델 인 Medsam의 혁신을 가져 왔지만 의료 이미지에 맞게 조정되었습니다.
이 모델은 해부학 구조와 다른 이미지 인스턴스의 다양한 작업을 처리 할 수 있습니다. 의료 영상은이 모델로 효과적인 결과를 얻습니다. 15 영상 양식 및 30 개 이상의 암 유형은 MEDSAM과 관련된 대규모의 의료 이미지 세분화 훈련을 보여줍니다.
Medsam은 미리 훈련 된 SAM 모델을 기반으로 구축되었습니다. 프레임 워크에는 이미지 및 프롬프트 인코더가 대상 이미지에서 인코딩 마스크에 대한 임베딩을 생성합니다.
세그먼트의 이미지 인코더는 모든 컴퓨팅 전력이 필요한 위치 정보를 모델링합니다. 프로세스를보다 효율적으로 만들기 위해이 모델의 연구원들은 이미지 인코더와 프롬프트 인코더를 "동결"하기로 결정했습니다. 즉, 훈련 중에 이러한 부분을 업데이트하거나 변경하지 않았습니다.
SAM의 경계 박스 인코더의 데이터를 사용하여 객체의 위치를 이해하는 데 도움이되는 프롬프트 인코더도 변경되지 않았습니다. 이러한 구성 요소를 동결함으로써 필요한 컴퓨팅 전력을 줄이고 시스템을보다 효율적으로 만들었습니다.
연구원들은이 모델의 아키텍처를 개선하여보다 효율적으로 만들었습니다. 모델을 프롬프하기 전에 반복 계산을 피하기 위해 훈련 이미지의 이미지 임베딩을 계산했습니다. 마스크 인코더 (미세 조정 된 유일한 하나의 미세 조정)는 3 개 대신 마스크 인코더 하나를 생성합니다. 이 접근법은 훈련을보다 효율적으로 만들었습니다.
다음은이 모델의 작동 방식에 대한 그래픽 그림입니다.
이 모델은 기능을 수행하기 위해서는 일부 라이브러리가 필요하며 이미지에서 의료 이미징 세그먼테이션 작업을 실행할 수있는 방법을 다룰 것입니다.
프롬프트의 일부로 경계 상자에 선을 그려야 하므로이 모델을 실행하려면 몇 가지 더 많은 라이브러리가 필요합니다. 우리는 요청, numpy 및 metaplot으로 시작합니다.
가져 오기 요청 Numpy를 NP로 가져옵니다 matplotlib.pyplot을 plt로 가져옵니다 PIL 가져 오기 이미지에서 변압기에서 Samprocessor, Sammodel을 가져옵니다 토치 수입
'요청'라이브러리는 소스에서 이미지를 가져 오는 데 도움이됩니다. 'Numpy'라이브러리는 경계 박스의 좌표와 관련된 수치 작업을 수행하기 때문에 유용 해집니다. PIL 및 METAPLOT는 각각 이미지 처리 및 디스플레이를 지원합니다. SAM 모델 외에도 프로세서 및 토치 (아래 코드에 정의 된 계산 처리)는이 모델을 실행하는 데 중요한 패키지입니다.
Device = "Cuda"인 경우 Torch.cuda.is_available () else "CPU"
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 기본 모델이 발전함에 따라 의료 영상은 개선 될 수 있습니다.
A. SAM은 메타가 개발 한 이미지 처리 기술로 객체를 감지하고 이미지의 모든 영역을 가로 질러 분할합니다. 또한 모델의 데이터 세트에서 훈련되지 않은 객체를 세그먼트 할 수도 있습니다. 이 모델은 프롬프트 및 마스크로 작동하도록 교육을 받았으며 다양한 도메인에 걸쳐 적응할 수 있습니다.
Q2. Medsam은 원래 SAM 모델과 어떻게 다릅니 까?A. MEDSAM은 의료 영상을 위해 특별히 설계된 SAM의 미세 조정 버전입니다. SAM은 일반적인 목적이지만 MEDSAM은 의료 영상의 복잡한 특성을 처리하도록 최적화되어 다양한 영상 양식 및 암 탐지로 해석됩니다.
Q3. Sam은 실시간 응용 프로그램에 사용할 수 있습니까?A.이 모델의 다목적 성 및 실시간 처리 기능을 통해 자율 주행 차량 및 로봇 공학을 포함한 실시간 응용 프로그램에서 사용할 수 있습니다. 이미지 내에서 물체를 빠르고 효율적으로 감지하고 이해할 수 있습니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
위 내용은 메타 세그먼트 의료 영상을위한 모든 모델을 탐색합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!