이제 SAM 모델을 사용하여 이미지에 대한 자동 마스킹을 수행합니다.
import cv2
import supervision as sv # ①
!wget https://raw.githubusercontent.com/Cobslab/imageBible/main/image/like_lenna.png
mask_generator = SamAutomaticMaskGenerator(sam) # ②
IMAGE_NAME = "/content/like_lenna.png"
image_bgr = cv2.imread(IMAGE_NAME)
image_rgb = cv2.cvtColor(image_bgr, cv2.COLOR_BGR2RGB)
sam_result = mask_generator.generate(image_rgb) # ③
print(sam_result[0].keys())
supervision 라이브러리를 sv라는 이름으로 가져옵니다(①). 이 라이브러리는 데이터 관리 및 처리에 사용됩니다. 특히나 0.5.0부터는 SAM에 대한 기능적 지원이 많이 포함되어 있습니다. 초기화한 SAM 모델을 사용하여 SamAutomaticMaskGenerator 객체를 생성합니다(②). 이 객체의 generate 메서드를 사용하여 RGB 이미지에 대한 마스크를 생성합니다. 이 결과는 sam_result에 저장됩니다(③). 실행한 코드의 출력 결과는 다음과 같습니다.