키포인트 감지
Roboflow에 호스팅된 객체 감지 모델에서 추론을 실행하세요.
Python을 사용하여 호스팅된 API를 통해 추론을 실행하려면, 다음을 사용하세요. 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, skeleton에 매핑됨vertices
버전 레코드에서, 버텍스 색상과 skeleton 엣지를 매핑하려면, Project Version 보기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
}
}
해당 이미지
속성에는 추론에 보낸 이미지의 높이와 너비가 포함됩니다. 바운딩 박스 계산에 이 값을 사용할 수 있습니다.
Inference API 매개변수
Inference API 사용하기
POST
https://detect.roboflow.com/:datasetSlug/:versionNumber
base64로 인코딩된 이미지를 직접 모델 엔드포인트에 POST할 수 있습니다. 또는 이미 다른 곳에 호스팅된 이미지라면, 이미지
쿼리 문자열의 파라미터로 URL을 전달할 수 있습니다.
경로 파라미터
datasetSlug
string
데이터셋 이름의 url-safe 버전입니다. 웹 UI의 메인 프로젝트 뷰에서 URL을 확인하거나, 모델 학습 후 데이터셋 버전의 학습 결과 섹션에서 "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 예측 배열을 반환합니다. (응답 형식 탭 참조).
이미지 - 주석이 달린 예측이 포함된 이미지를 바이너리 blob으로 반환합니다. Content-Type
는 image/jpeg
. image_and_json - 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?