웹 브라우저
roboflow.js로 엣지에서 실시간 예측
대부분의 비즈니스 애플리케이션에서는 Hosted API 가 적합합니다. 그러나 많은 소비자용 애플리케이션 및 일부 엔터프라이즈 사용 사례에서는 서버에 호스팅된 모델이 현실적이지 않습니다(예: 사용자가 대역폭이 제한되어 있거나 원격 API로 달성할 수 있는 것보다 더 낮은 지연 시간이 필요한 경우).
inferencejs 는 Tensorflow.js 위에 구축된 맞춤 레이어로, Roboflow에서 학습한 모델을 사용해 JavaScript로 실시간 추론을 가능하게 합니다.
학습 자료
웹캠으로 모델 테스트하기: 다음에서 웹캠 데모로 손 감지 모델을 여기에서 시도해볼 수 있습니다 (이는 공개 EgoHands 데이터셋).
인터랙티브 Replit 환경: 우리는 "Getting Started" 프로젝트를 Repl.it에 게시했으며, 동봉된 튜토리얼에서는 Repl.it 템플릿을 사용해 YOLOv8 모델을 배포하는 방법을 보여줍니다.
GitHub 템플릿: Roboflow 홈페이지 는
inferencejs을 사용하여 COCO 추론 위젯을 구동합니다. README에는 GitHub Pages를 사용해 웹에 모델을 배포하기 위해 리포지토리 템플릿을 사용하는 방법에 대한 지침이 포함되어 있습니다.문서: 만약
inferencejs의 특정 함수에 대해 더 자세한 내용을 원하신다면, 문서 페이지 를 확인하세요 또는 아래 가이드에서inferencejs메서드
를 언급한 항목을 클릭하면 해당 문서로 이동합니다.
inferencejs 지원되는 모델
는 현재 다음 모델 아키텍처를 지원합니다:
YOLOv8
응시(시선) 감지
설치 프로젝트에 추론을 추가하려면, 단순히 npm으로 설치하거나 페이지의 <head> 태그가 없는 이미지들만 포함합니다.
npm install inferencejs<script src="https://cdn.jsdelivr.net/npm/inferencejs"></script>초기화 inferencejs
inferencejs인증
Roboflow 워크스페이스 설정에서 publishable_key 를 얻을 수 있습니다.

참고: 당신의 publishable_key 는 inferencejs, 가 아니라 당신의 private API 키(비밀로 유지되어야 함)와 함께 사용됩니다.
먼저 InferenceEngine 를 가져오고 새로운 inference engine 객체를 생성합니다
import { InferenceEngine } from "inferencejs";
const inferEngine = new InferenceEngine();이제 당신의 publishable_key 와 모델 메타데이터(모델 이름 및 버전), 신뢰도 임계값 및 중첩 임계값과 같은 구성 매개변수를 사용하여 roboflow에서 모델을 로드할 수 있습니다.
const workerId = await inferEngine.startWorker("[model name]", "[version]", "[publishable key]");inferencejs 은(는) 선택한 모델을 실행하는 워커를 시작합니다. 반환된 워커 id는 우리가 추론에 사용할 InferenceEngine 에 있는 워커 id와 일치합니다. 모델에서 추론하려면 infer 메서드를 InferenceEngine.
우리의 워커에서 호출할 수 있습니다. 이미지를 로드하고 워커에서 추론해봅시다.
const image = document.getElementById("image"); // id가 `image`인 이미지 요소 가져오기
const predictions = await inferEngine.infer(workerId, image); // 이미지에서 추론하기)을 받을 수 있습니다. 이는 예측의 배열을 반환합니다(클래스로, 이 경우 )
RFObjectDetectionPrediction
구성 inferencejs 만약
가 예측을 필터링하는 방식을 사용자화하고 구성하고 싶다면, 생성 시 워커에 매개변수를 전달할 수 있습니다.
const configuration = {scoreThreshold: 0.5, iouThreshold: 0.5, maxNumBoxes: 20};const workerId = await inferEngine.startWorker("[model name]", "[version]", "[publishable key]", configuration);
또는 추론 시 구성 옵션을 전달할 수 있습니다
const configuration = {
scoreThreshold: 0.5,
iouThreshold: 0.5,
};
maxNumBoxes: 20Last updated
Was this helpful?