inferencejs 레퍼런스
Roboflow로 구축된 컴퓨터 비전 애플리케이션을 웹/JavaScript 환경에 배포하기 위한 엣지 라이브러리 `inferencejs`의 레퍼런스
설치
이 라이브러리는 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
YOLOv8
YOLOv5
를 사용하여 추론한 결과는 InferenceEngine
YOLOv8 또는 YOLOv5 객체 감지 모델에서 다음 타입의 배열입니다:
type RFObjectDetectionPrediction = {
class?: string;
confidence?: number;
bbox?: {
x: number;
y: number;
width: number;
height: number;
};
color?: string;
};
GazeDetections
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
컴퓨터 비전 작업에 사용할 수 있는 이미지를 나타내는 클래스입니다. 이미지를 조작하고 변환하는 다양한 메서드를 제공합니다.
생성자
해당 CVImage(image)
클래스 생성자는 클래스의 새 인스턴스를 초기화합니다. 다음 타입 중 하나의 이미지를 받습니다:
ImageBitmap
: 선택적ImageBitmap
이미지의 표현입니다.HTMLImageElement
: 선택적HTMLImageElement
이미지의 표현입니다.tf.Tensor
: 선택적tf.Tensor
이미지의 표현입니다.tf.Tensor4D
: 선택적 4Dtf.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?