키포인트 감지

Roboflow에 호스팅된 객체 감지 모델에서 추론을 실행하세요.

호스팅된 API를 통해 Python으로 추론을 실행하려면, 다음을 사용하세요 roboflow Python 패키지:

from roboflow import Roboflow
rf = Roboflow(api_key="API_KEY")
project = rf.workspace().project("MODEL_ENDPOINT")
model = project.version(VERSION).model

# 로컬 이미지에서 추론
print(model.predict("your_image.jpg", confidence=40, overlap=30).json())

# 예측 시각화
# model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg")

# 다른 곳에 호스팅된 이미지에서 추론
# print(model.predict("URL_OF_YOUR_IMAGE", hosted=True, confidence=40, overlap=30).json())

응답 객체 형식

호스팅된 API 추론 경로는 다음을 반환합니다 JSON 예측 배열을 포함하는 객체를 반환합니다. 각 예측은 다음 속성을 가집니다:

  • x = 감지된 객체의 수평 중심점

  • y = 감지된 객체의 수직 중심점

  • width = 바운딩 박스의 너비

  • height = 바운딩 박스의 높이

  • class = 감지된 객체의 클래스 라벨

  • confidence = 감지된 객체가 올바른 라벨과 위치 좌표를 가질 확률에 대한 모델의 신뢰도

  • keypoints = 키포인트 예측의 배열

    • x = 키포인트의 수평 중심 (이미지 왼쪽 상단을 기준으로)

    • y = 키포인트의 수직 중심 (이미지 왼쪽 상단을 기준으로)

    • class_name = 키포인트 이름

    • class_id = 키포인트의 id, 스켈레톤에 매핑됨 vertices 버전 레코드에서 정점 색상 및 스켈레톤 간선을 매핑하려면, 프로젝트 버전 보기

    • confidence = 키포인트가 올바른 위치에 있고 보이는지(가려졌거나 삭제되지 않음)의 신뢰도

다음은 REST API의 예시 응답 객체입니다:

{
    "predictions": [
        {
            "x": 189.5,
            "y": 100,
            "width": 163,
            "height": 186,
            "class": "helmet",
            "confidence": 0.544,
            "keypoints": [
                {
                    "x": 189, 
                    "y": 20,
                    "class_name": "top",
                    "class_id": 0,
                    "confidence": 0.91
                },
                {
                    "x": 188, 
                    "y": 180,
                    "class_name": "bottom",
                    "class_id": 1,
                    "confidence": 0.93
                }
            ]
        }
    ],
    "image": {
        "width": 2048,
        "height": 1371
    }
}

The 이미지 속성은 추론을 위해 전송된 이미지의 높이와 너비를 포함합니다. 바운딩 박스 계산에 이 값들이 필요할 수 있습니다.

Inference API 매개변수

Inference API 사용하기

POST https://detect.roboflow.com/:datasetSlug/:versionNumber

base64로 인코딩된 이미지를 모델 엔드포인트로 직접 POST할 수 있습니다. 또는 이미지가 이미 다른 곳에 호스팅되어 있다면 쿼리 문자열의 이미지 매개변수로 URL을 전달할 수 있습니다.

경로 매개변수

이름
유형
설명

datasetSlug

string

데이터셋 이름의 URL-안전 버전입니다. 웹 UI에서 프로젝트 메인 뷰의 URL을 보거나 모델을 훈련한 후 데이터셋 버전의 train results 섹션에서 "Get curl command" 버튼을 클릭하면 찾을 수 있습니다.

version

number

데이터셋 버전을 식별하는 버전 번호

쿼리 매개변수

이름
유형
설명

이미지

string

추가할 이미지의 URL. 이미 이미지가 다른 곳에 호스팅되어 있는 경우 사용하세요. (요청 본문에 base64로 인코딩된 이미지를 POST하지 않을 때 필요합니다.) 참고: URL 인코딩하는 것을 잊지 마세요.

classes

string

예측을 특정 클래스에만 제한합니다. 쉼표로 구분된 문자열로 제공하세요. 예시: dog,cat 기본값: 없음 (모든 클래스 표시)

overlap

number

동일 클래스의 바운딩 박스 예측이 단일 박스로 병합되기 전에 허용되는 최대 겹침 비율(0-100 척도). 기본값: 30

confidence

number

0-100 척도의 반환 예측에 대한 임계값입니다. 낮은 수치는 더 많은 예측을 반환하고, 높은 수치는 더 적지만 확실한 예측을 반환합니다. 기본값: 40

stroke

number

예측 주위에 표시되는 바운딩 박스의 너비(픽셀 단위) (이 옵션은 format이미지). 기본값: 1

labels

boolean

예측에 텍스트 레이블을 표시할지 여부 (이 옵션은 format이미지). 기본값: false

format

string

json - JSON 예측의 배열을 반환합니다. (응답 형식 탭 참조). 이미지 - 주석이 포함된 예측 이미지를 바이너리 블롭으로 반환합니다 Content-Typeimage/jpeg. image_and_json - visualization 필드가 base64로 포함된 JSON 예측 배열을 반환합니다. 기본값: json

api_key

string

작업공간 API 설정 페이지에서 얻은 귀하의 API 키

요청 본문

이름
유형
설명

string

base64로 인코딩된 이미지입니다. (쿼리 매개변수에 이미지 URL을 전달하지 않을 때 필수입니다).

{
    "predictions": [{
        "x": 234.0,
        "y": 363.5,
        "width": 160,
        "height": 197,
        "class": "hand",
        "confidence": 0.943
    }, {
        "x": 504.5,
        "y": 363.0,
        "width": 215,
        "height": 172,
        "class": "hand",
        "confidence": 0.917
    }, {
        "x": 1112.5,
        "y": 691.0,
        "width": 139,
        "height": 52,
        "class": "hand",
        "confidence": 0.87
    }, {
        "x": 78.5,
        "y": 700.0,
        "width": 139,
        "height": 34,
        "class": "hand",
        "confidence": 0.404
    }]
}

Last updated

Was this helpful?