반응형

SAM3를 사용해 보자.

다른 모델과 달리 SAM3 가중치(sam3.pt)는 자동으로 다운로드되지 않는다.

Hugging Face에 가입하고 접근 허가를 받아야 다운로드할 수 있다.

 

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=False
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("rose.png")

# Works with descriptive phrases
results = predictor(text=["red rose", "pink rose"])
results[0].show()

 

빨간 장미와 분홍 장미를 구분한다.

 

rose.png

 

꽤 잘 구분한 것 같다.

 

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=False
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("office.jpg")

# Works with descriptive phrases
results = predictor(text=["person with gray shirt"])
results[0].show()

 

회색 옷을 입은 사람을 찾는다.

 

office.jpg

 

회색 옷을 입은 사람을 정확히 찾아냈다.

 

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=False
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("catsdogs.png")

# Works with descriptive phrases
results = predictor(text=["cats", "dogs"])
results[0].show()

 

개와 고양이를 구분한다.

 

catsdogs.png

 

개와 고양이를 정확히 구분한다.

 

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=False
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("sleep.jpg")

# Works with descriptive phrases
results = predictor(text=["sleeping student on desk"])
results[0].show()

 

책상에서 자는 학생을 찾는다.

 

sleep.jpg

 

실제 자는 학생의 확률이 0.90으로 가장 높지만 뒤에 자지 않는 학생의 확률도 0.86으로 굉장히 높다.

 

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=False
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("sleep.jpg")

# Works with descriptive phrases
results = predictor(text=["student sleeping on desk"])
results[0].show()

 

descriptive phrase를 바꿔보자.

 

결과가 두 명으로 줄었지만 여전히 자지 않는 학생의 확률도 높다.

 

반응형
Posted by J-sean
: