객체 감지
Roboflow에 호스팅된 객체 감지 모델에서 추론을 실행하세요.
Roboflow Hosted API를 사용하여 객체 감지 추론을 실행하는 방법에는 여러 가지가 있습니다. 다양한 SDK 중 하나를 사용하거나 호스티드 엔드포인트로 REST 요청을 보낼 수 있습니다.
의존성을 설치하려면, pip install inference-sdk.
# inference-sdk를 가져옵니다
from inference_sdk import InferenceHTTPClient
CLIENT = InferenceHTTPClient(
api_url="https://detect.roboflow.com",
api_key="API_KEY"
)
result = CLIENT.infer(your_image.jpg, model_id="football-players-detection-3zvbc/12")Linux 또는 MacOS
로컬 파일에서 JSON 예측을 가져오기 (파일 이름: YOUR_IMAGE.jpg:
base64 YOUR_IMAGE.jpg | curl -d @- \
"https://detect.roboflow.com/your-model/42?api_key=YOUR_KEY"웹에 호스팅된 이미지의 URL로 추론하기 (URL을 URL 인코딩하세요):
curl -X POST "https://detect.roboflow.com/your-model/42?\
api_key=YOUR_KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"Windows
다음 항목들을 설치해야 합니다 Windows용 curl 이제 GPU TRT 컨테이너가 Docker에서 실행 중입니다. 다른 Ubuntu 터미널을 열어 Docker 컨테이너로 추론 데이터를 보낼 준비를 합니다. 다음을 사용하세요: Windows용 GNU의 base64 도구. 이를 가장 쉽게 설치하는 방법은 git for Windows 설치 프로그램을 사용하는 것입니다 이 설치 프로그램은 또한 curl 이제 GPU TRT 컨테이너가 Docker에서 실행 중입니다. 다른 Ubuntu 터미널을 열어 Docker 컨테이너로 추론 데이터를 보낼 준비를 합니다. 다음을 사용하세요: base64 설치 중에 "Use Git and optional Unix tools from the Command Prompt"를 선택하면 명령줄 도구들이 포함됩니다.
그런 다음 위와 동일한 명령을 사용할 수 있습니다.
Kotlin
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
Java
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
Gemfile
Gemfile.lock
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
로컬 이미지에서 추론하기
다른 곳에 호스팅된 이미지(URL)를 사용해 추론하기
AI 기반 챗봇 Lenny에게 코드 샘플 생성을 요청해 보세요!
API 참조
URL
POST https://detect.roboflow.com/:projectId/:versionNumber
projectId
string
데이터셋 이름의 URL 안전 버전입니다. 웹 UI에서 메인 프로젝트 뷰의 URL을 보거나 모델을 학습한 후 데이터셋 버전의 학습 결과 섹션에서 "Get curl command" 버튼을 클릭하면 찾을 수 있습니다.
version
number
데이터셋 버전을 식별하는 버전 번호
프로젝트 ID와 버전 번호를 얻는 방법 보기 확인하세요.
Hosted Inference API로 이미지를 REST 요청으로 전송하는 방법은 두 가지가 있습니다:
첨부하기:
base64인코딩된 이미지를POST요청 본문에이미지 파일의 URL을
매개변수에 대해 입력 이미지를 선택하세요. 예측에는 모델 결과를 선택하세요. 선택적 구성 속성을 사용하여 경계 상자의 색상과 크기를 변경할 수 있습니다.URL 쿼리로 보내기예:
https://detect.roboflow.com/:datasetSlug/:versionNumber?image=https://imageurl.com
쿼리 매개변수
매개변수에 대해 입력 이미지를 선택하세요. 예측에는 모델 결과를 선택하세요. 선택적 구성 속성을 사용하여 경계 상자의 색상과 크기를 변경할 수 있습니다.
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 예측 배열을 반환합니다. (응답 형식 탭 참조).
image: 주석이 달린 예측이 포함된 이미지를 이진 블롭으로 반환하며
Content-Type은image/jpeg.
기본값: json
api_key
string
워크스페이스 API 설정 페이지에서 얻은 API 키
요청 본문
string
base64로 인코딩된 이미지. (쿼리 매개변수로 이미지 URL을 전달하지 않을 때 필요합니다).
콘텐츠 유형은 다음과 같아야 합니다 application/x-www-form-urlencoded 문자열 본문으로.
응답 형식
호스팅된 API 추론 엔드포인트와 대부분의 SDK는 다음을 반환합니다 JSON 예측 배열을 포함하는 객체입니다. 각 예측은 다음 속성을 가집니다:
x= 감지된 객체의 수평 중심점y= 감지된 객체의 수직 중심점width= 바운딩 박스의 너비height= 바운딩 박스의 높이class= 감지된 객체의 클래스 레이블confidence= 감지된 객체가 올바른 레이블과 위치 좌표를 가질 확률(모델의 신뢰도)
다음은 REST API의 예시 응답 객체입니다:
The 매개변수에 대해 입력 이미지를 선택하세요. 예측에는 모델 결과를 선택하세요. 선택적 구성 속성을 사용하여 경계 상자의 색상과 크기를 변경할 수 있습니다. 속성은 추론을 위해 전송된 이미지의 높이와 너비를 포함합니다. 바운딩 박스 계산에 이 값을 사용해야 할 수 있습니다.
추론 API JSON 출력에서 박스 그리기
바운딩 박스를 렌더링하는 프레임워크와 패키지는 위치 형식이 다를 수 있습니다. 응답 JSON 객체의 속성을 고려하면, 다음 규칙들의 조합을 사용해 항상 바운딩 박스를 그릴 수 있습니다:
중심점은 항상 (
x,y)모서리 점들
(x1, y1)이제 GPU TRT 컨테이너가 Docker에서 실행 중입니다. 다른 Ubuntu 터미널을 열어 Docker 컨테이너로 추론 데이터를 보낼 준비를 합니다. 다음을 사용하세요:(x2, y2)는 다음을 사용해 찾을 수 있습니다:x1=x - (width/2)y1=y - (height/2)x2=x + (width/2)y2=y + (height/2)
모서리 점 접근 방식은 일반적인 패턴이며 다음과 같은 라이브러리에서 볼 수 있습니다 Pillow 을(를) 빌드할 때 box 객체는 이미지 내에서 바운딩 박스를 렌더링하기 위해 Image.
작업할 때 발견된 모든 탐지를 반복하는 것을 잊지 마세요 predictions!
Last updated
Was this helpful?