For the complete documentation index, see llms.txt. This page is also available as Markdown.

inferencejs 참고 문서

Roboflow로 구축한 컴퓨터 비전 애플리케이션을 웹/JavaScript 환경에 배포하기 위한 엣지 라이브러리 `inferencejs` 참고 문서입니다.

에 대해 자세히 알아보기 inferencejs 인, 우리의 웹 SDK, 여기

설치

이 라이브러리는 vite, webpack, parcel 등과 같은 번들러를 사용하여 브라우저 내에서 사용하도록 설계되었습니다. 번들러가 설정되어 있다고 가정하면 다음을 실행하여 설치할 수 있습니다:

npm install inferencejs

시작하기

다음으로 초기화하여 시작하세요. InferenceEngine. 그러면 사용자 인터페이스를 차단하지 않고 모델을 다운로드하고 실행할 수 있는 백그라운드 워커가 시작됩니다.

import { InferenceEngine } from "inferencejs";

const PUBLISHABLE_KEY = "rf_a6cd..."; // Roboflow에서 받은 자신의 publishable key로 교체하세요

const inferEngine = new InferenceEngine();

// Roboflow의 모델 페이지에서 복사한 모델 id로 모델을 불러옵니다.
const workerId = await inferEngine.startWorkerByModelId("[MODEL ID]", PUBLISHABLE_KEY);

// 모델에 대해 추론을 수행합니다
const result = await inferEngine.infer(workerId, img);

모델 id는 모델 페이지에 표시되며 다음 형식을 가집니다 workspace/model-slug (예: my-workspace/hard-hat-abc-1-yolov8n-t1). 레거시 프로젝트 버전 모델은 다음으로 불러올 수 있습니다 startWorker 프로젝트 slug와 버전 번호를 사용합니다. 여러 개의 학습된 모델이 있는 버전의 경우, 레거시 {project}/{version} id는 해당 버전에 별칭이 있으면 그 별칭을 통해 해석되며, 별칭이 없으면 버전에 단일 모델이 있을 때만 작동합니다. 그렇지 않으면 id가 모호하므로 자체 모델 id로 모델을 불러와야 합니다. 다음을 참조하세요 레거시 ID가 해석되는 방식.

API

InferenceEngine

new InferenceEngine()

새로운 InferenceEngine 인스턴스를 생성합니다.

startWorkerByModelId(modelId: string, publishableKey: string): Promise<number>

주어진 모델 id에 대한 새 워커를 시작하고 workerId를 반환합니다. 이는 모델을 불러오는 권장 방법입니다. modelId 는 전체 workspace/model-slug id이며, 버전 없는 모델과 다중 모델 버전에서 작동합니다. publishableKey 는 필수이며 프로젝트 설정 폴더의 Roboflow에서 가져올 수 있습니다.

startWorker(modelName: string, modelVersion: number, publishableKey: string): Promise<number>

프로젝트 URL slug와 정수 버전으로 지정된 레거시 모델을 불러오고, workerId를 반환합니다. startWorkerByModelId 는 새 통합에 사용하세요. publishableKey 는 필수이며 프로젝트 설정 폴더의 Roboflow에서 가져올 수 있습니다.

infer(workerId: number, img: CVImage | ImageBitmap): Promise<Inference>

주어진 workerId. img 를 사용하여 이미지 n에 대해 추론을 수행합니다 new CVImage(HTMLImageElement | HTMLVideoElement | ImageBitmap | TFJS.Tensor) 또는 createImageBitmap

stopWorker(workerId: number): Promise<void>

주어진 워커를 중지합니다 workerId.

YOLO Lite YOLOv8 YOLOv5

다음을 사용하여 추론을 수행한 결과 InferenceEngine YOLO Lite, YOLOv8 또는 YOLOv5 객체 탐지 모델에서의 결과는 다음 유형의 배열입니다:

GazeDetections

다음을 사용하여 추론을 수행한 결과 InferenceEngine Gaze 모델에서의 결과입니다. 다음 유형의 배열:

leftEye.x

왼쪽 눈의 x 위치로, 입력 이미지 너비의 퍼센트로 측정된 0과 1 사이의 실수입니다.

leftEye.y

왼쪽 눈의 y 위치로, 입력 이미지 높이의 퍼센트로 측정된 0과 1 사이의 실수입니다.

rightEye.x

오른쪽 눈의 x 위치로, 입력 이미지 너비의 퍼센트로 측정된 0과 1 사이의 실수입니다.

rightEye.y

오른쪽 눈의 y 위치로, 입력 이미지 높이의 퍼센트로 측정된 0과 1 사이의 실수입니다.

yaw

시선의 yaw로, 라디안 단위로 측정됩니다.

pitch

시선의 pitch로, 라디안 단위로 측정됩니다.

CVImage

컴퓨터 비전 작업에 사용할 수 있는 이미지를 나타내는 클래스입니다. 이미지를 조작하고 변환하는 다양한 메서드를 제공합니다.

생성자

다음 CVImage(image) 클래스 생성자는 클래스의 새 인스턴스를 초기화합니다. 다음 유형 중 하나의 이미지를 받습니다:

  • ImageBitmap: 선택적 ImageBitmap 이미지 표현.

  • HTMLImageElement: 선택적 HTMLImageElement 이미지 표현.

  • tf.Tensor: 선택적 tf.Tensor 이미지 표현.

  • tf.Tensor4D: 선택적 4D tf.Tensor 이미지 표현.

메서드

bitmap()

다음으로 확인되는 promise를 반환합니다 ImageBitmap 이미지 표현. 이미지가 이미 비트맵이면 캐시된 비트맵을 반환합니다.

tensor()

다음을 반환합니다 tf.Tensor 이미지 표현. 이미지가 이미 텐서이면 캐시된 텐서를 반환합니다.

tensor4D()

다음으로 확인되는 promise를 반환합니다 tf.Tensor 이미지의 4D 표현. 이미지가 이미 4D 텐서이면 캐시된 4D 텐서를 반환합니다.

array()

다음으로 확인되는 promise를 반환합니다. 이미지의 JavaScript 배열 표현을 반환합니다. 이미지가 이미 텐서이면 텐서를 배열로 변환합니다.

dims()

이미지의 차원을 포함하는 배열을 반환합니다. 이미지가 비트맵이면 [width, height]를 반환합니다. 이미지가 텐서이면 텐서의 shape를 반환합니다. 이미지가 HTML 이미지 요소이면 [width, height].

dispose()

메모리를 확보하기 위해 이미지의 텐서 표현을 해제합니다.

static fromArray(array: tf.TensorLike)

주어진 CVImage tensor-like 배열로부터 새 인스턴스를 생성합니다.

마지막 업데이트

도움이 되었나요?