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();
const workerId = await inferEngine.startWorker("[PROJECT URL SLUG]", [VERSION NUMBER], PUBLISHABLE_KEY);

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

API

InferenceEngine

new InferenceEngine()

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

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

지정한 모델에 대해 새로운 워커를 시작하고 workerId. 중요- publishableKey 는 필수이며, Roboflow의 프로젝트 설정 폴더에서 얻을 수 있습니다.

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

지정한 워커로 n 이미지를 추론합니다. workerId. img 를 사용하여 생성할 수 있습니다. new CVImage(HTMLImageElement | HTMLVideoElement | ImageBitmap | TFJS.Tensor) 또는 createImageBitmap

stopWorker(workerId: number): Promise<void>

지정한 워커를 중지합니다. workerId.

YOLOv8 YOLOv5

를 사용하여 추론한 결과는 InferenceEngine YOLOv8 또는 YOLOv5 객체 감지 모델에서 다음 타입의 배열입니다:

type RFObjectDetectionPrediction = {
    class?: string;
    confidence?: number;
    bbox?: {
        x: number;
        y: number;
        width: number;
        height: number;
    };
    color?: string;
};

GazeDetections

를 사용하여 추론한 결과는 InferenceEngine Gaze 모델에서. 다음 타입의 배열입니다:

type GazeDetections = {
    leftEye: { x: number; y: number };
    rightEye: { x: number; y: number };
    yaw: number;
    pitch: number;
}[];

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를 반환하며, 완료 시 4D tf.Tensor 이미지의 표현을 반환합니다. 이미지가 이미 4D 텐서인 경우, 캐시된 4D 텐서를 반환합니다.

array()

Promise를 반환하며, 완료 시 이미지의 JavaScript 배열 표현을 반환합니다. 이미지가 이미 텐서인 경우, 텐서를 배열로 변환합니다.

dims()

이미지의 크기를 담은 배열을 반환합니다. 이미지가 비트맵이면 [width, height]를 반환합니다. 이미지가 텐서라면 텐서의 shape을 반환합니다. 이미지가 HTML 이미지 요소라면 [width, height].

dispose()

이미지의 텐서 표현을 메모리에서 해제합니다.

static fromArray(array: tf.TensorLike)

새로운 CVImage 인스턴스를 주어진 텐서 유사 배열로부터 생성합니다.

Last updated

Was this helpful?