rtmlib-ts 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/README.md +202 -0
- package/dist/core/base.d.ts +20 -0
- package/dist/core/base.d.ts.map +1 -0
- package/dist/core/base.js +40 -0
- package/dist/core/file.d.ts +11 -0
- package/dist/core/file.d.ts.map +1 -0
- package/dist/core/file.js +111 -0
- package/dist/core/modelCache.d.ts +35 -0
- package/dist/core/modelCache.d.ts.map +1 -0
- package/dist/core/modelCache.js +161 -0
- package/dist/core/posePostprocessing.d.ts +12 -0
- package/dist/core/posePostprocessing.d.ts.map +1 -0
- package/dist/core/posePostprocessing.js +76 -0
- package/dist/core/postprocessing.d.ts +10 -0
- package/dist/core/postprocessing.d.ts.map +1 -0
- package/dist/core/postprocessing.js +70 -0
- package/dist/core/preprocessing.d.ts +14 -0
- package/dist/core/preprocessing.d.ts.map +1 -0
- package/dist/core/preprocessing.js +79 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/models/rtmpose.d.ts +25 -0
- package/dist/models/rtmpose.d.ts.map +1 -0
- package/dist/models/rtmpose.js +185 -0
- package/dist/models/rtmpose3d.d.ts +28 -0
- package/dist/models/rtmpose3d.d.ts.map +1 -0
- package/dist/models/rtmpose3d.js +184 -0
- package/dist/models/yolo12.d.ts +23 -0
- package/dist/models/yolo12.d.ts.map +1 -0
- package/dist/models/yolo12.js +165 -0
- package/dist/models/yolox.d.ts +18 -0
- package/dist/models/yolox.d.ts.map +1 -0
- package/dist/models/yolox.js +167 -0
- package/dist/solution/animalDetector.d.ts +229 -0
- package/dist/solution/animalDetector.d.ts.map +1 -0
- package/dist/solution/animalDetector.js +663 -0
- package/dist/solution/body.d.ts +16 -0
- package/dist/solution/body.d.ts.map +1 -0
- package/dist/solution/body.js +52 -0
- package/dist/solution/bodyWithFeet.d.ts +16 -0
- package/dist/solution/bodyWithFeet.d.ts.map +1 -0
- package/dist/solution/bodyWithFeet.js +52 -0
- package/dist/solution/customDetector.d.ts +137 -0
- package/dist/solution/customDetector.d.ts.map +1 -0
- package/dist/solution/customDetector.js +342 -0
- package/dist/solution/hand.d.ts +14 -0
- package/dist/solution/hand.d.ts.map +1 -0
- package/dist/solution/hand.js +20 -0
- package/dist/solution/index.d.ts +10 -0
- package/dist/solution/index.d.ts.map +1 -0
- package/dist/solution/index.js +9 -0
- package/dist/solution/objectDetector.d.ts +172 -0
- package/dist/solution/objectDetector.d.ts.map +1 -0
- package/dist/solution/objectDetector.js +606 -0
- package/dist/solution/pose3dDetector.d.ts +145 -0
- package/dist/solution/pose3dDetector.d.ts.map +1 -0
- package/dist/solution/pose3dDetector.js +611 -0
- package/dist/solution/poseDetector.d.ts +198 -0
- package/dist/solution/poseDetector.d.ts.map +1 -0
- package/dist/solution/poseDetector.js +622 -0
- package/dist/solution/poseTracker.d.ts +22 -0
- package/dist/solution/poseTracker.d.ts.map +1 -0
- package/dist/solution/poseTracker.js +106 -0
- package/dist/solution/wholebody.d.ts +19 -0
- package/dist/solution/wholebody.d.ts.map +1 -0
- package/dist/solution/wholebody.js +82 -0
- package/dist/solution/wholebody3d.d.ts +22 -0
- package/dist/solution/wholebody3d.d.ts.map +1 -0
- package/dist/solution/wholebody3d.js +75 -0
- package/dist/types/index.d.ts +52 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/visualization/draw.d.ts +57 -0
- package/dist/visualization/draw.d.ts.map +1 -0
- package/dist/visualization/draw.js +400 -0
- package/dist/visualization/skeleton/coco133.d.ts +350 -0
- package/dist/visualization/skeleton/coco133.d.ts.map +1 -0
- package/dist/visualization/skeleton/coco133.js +120 -0
- package/dist/visualization/skeleton/coco17.d.ts +180 -0
- package/dist/visualization/skeleton/coco17.d.ts.map +1 -0
- package/dist/visualization/skeleton/coco17.js +48 -0
- package/dist/visualization/skeleton/halpe26.d.ts +278 -0
- package/dist/visualization/skeleton/halpe26.d.ts.map +1 -0
- package/dist/visualization/skeleton/halpe26.js +70 -0
- package/dist/visualization/skeleton/hand21.d.ts +196 -0
- package/dist/visualization/skeleton/hand21.d.ts.map +1 -0
- package/dist/visualization/skeleton/hand21.js +51 -0
- package/dist/visualization/skeleton/index.d.ts +10 -0
- package/dist/visualization/skeleton/index.d.ts.map +1 -0
- package/dist/visualization/skeleton/index.js +9 -0
- package/dist/visualization/skeleton/openpose134.d.ts +357 -0
- package/dist/visualization/skeleton/openpose134.d.ts.map +1 -0
- package/dist/visualization/skeleton/openpose134.js +116 -0
- package/dist/visualization/skeleton/openpose18.d.ts +177 -0
- package/dist/visualization/skeleton/openpose18.d.ts.map +1 -0
- package/dist/visualization/skeleton/openpose18.js +47 -0
- package/docs/ANIMAL_DETECTOR.md +450 -0
- package/docs/CUSTOM_DETECTOR.md +568 -0
- package/docs/OBJECT_DETECTOR.md +373 -0
- package/docs/POSE3D_DETECTOR.md +458 -0
- package/docs/POSE_DETECTOR.md +442 -0
- package/examples/README.md +119 -0
- package/examples/index.html +746 -0
- package/package.json +51 -0
- package/playground/README.md +114 -0
- package/playground/app/favicon.ico +0 -0
- package/playground/app/globals.css +17 -0
- package/playground/app/layout.tsx +19 -0
- package/playground/app/page.tsx +1338 -0
- package/playground/eslint.config.mjs +18 -0
- package/playground/next.config.ts +34 -0
- package/playground/package-lock.json +6723 -0
- package/playground/package.json +27 -0
- package/playground/postcss.config.mjs +7 -0
- package/playground/tsconfig.json +34 -0
- package/src/core/base.ts +66 -0
- package/src/core/file.ts +141 -0
- package/src/core/modelCache.ts +189 -0
- package/src/core/posePostprocessing.ts +91 -0
- package/src/core/postprocessing.ts +93 -0
- package/src/core/preprocessing.ts +127 -0
- package/src/index.ts +69 -0
- package/src/models/rtmpose.ts +265 -0
- package/src/models/rtmpose3d.ts +289 -0
- package/src/models/yolo12.ts +220 -0
- package/src/models/yolox.ts +214 -0
- package/src/solution/animalDetector.ts +955 -0
- package/src/solution/body.ts +89 -0
- package/src/solution/bodyWithFeet.ts +89 -0
- package/src/solution/customDetector.ts +474 -0
- package/src/solution/hand.ts +52 -0
- package/src/solution/index.ts +10 -0
- package/src/solution/objectDetector.ts +816 -0
- package/src/solution/pose3dDetector.ts +890 -0
- package/src/solution/poseDetector.ts +892 -0
- package/src/solution/poseTracker.ts +172 -0
- package/src/solution/wholebody.ts +130 -0
- package/src/solution/wholebody3d.ts +125 -0
- package/src/types/index.ts +62 -0
- package/src/visualization/draw.ts +543 -0
- package/src/visualization/skeleton/coco133.ts +131 -0
- package/src/visualization/skeleton/coco17.ts +49 -0
- package/src/visualization/skeleton/halpe26.ts +71 -0
- package/src/visualization/skeleton/hand21.ts +52 -0
- package/src/visualization/skeleton/index.ts +10 -0
- package/src/visualization/skeleton/openpose134.ts +125 -0
- package/src/visualization/skeleton/openpose18.ts +48 -0
- package/tsconfig.json +32 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnimalDetector - Animal detection and pose estimation API
|
|
3
|
+
* Supports 30 animal classes with ViTPose++ pose model
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* // Initialize with default models
|
|
8
|
+
* const detector = new AnimalDetector();
|
|
9
|
+
* await detector.init();
|
|
10
|
+
*
|
|
11
|
+
* // Detect animals
|
|
12
|
+
* const animals = await detector.detectFromCanvas(canvas);
|
|
13
|
+
* console.log(`Found ${animals.length} animals`);
|
|
14
|
+
*
|
|
15
|
+
* // With custom models
|
|
16
|
+
* const detector2 = new AnimalDetector({
|
|
17
|
+
* detModel: 'path/to/yolox_animal.onnx',
|
|
18
|
+
* poseModel: 'path/to/vitpose_animal.onnx',
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* 30 Animal class names supported by AnimalDetector
|
|
24
|
+
*/
|
|
25
|
+
export declare const ANIMAL_CLASSES: string[];
|
|
26
|
+
/**
|
|
27
|
+
* Available ViTPose++ models for animal pose estimation
|
|
28
|
+
* All models are trained on 6 datasets and support 30 animal classes
|
|
29
|
+
*/
|
|
30
|
+
export declare const VITPOSE_MODELS: {
|
|
31
|
+
/** ViTPose++-s: Fastest, 74.2 AP on AP10K */
|
|
32
|
+
readonly 'vitpose-s': {
|
|
33
|
+
readonly name: "ViTPose++-s";
|
|
34
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-s-apt36k.onnx";
|
|
35
|
+
readonly inputSize: [number, number];
|
|
36
|
+
readonly ap: 74.2;
|
|
37
|
+
readonly description: "Fastest inference, suitable for real-time applications";
|
|
38
|
+
};
|
|
39
|
+
/** ViTPose++-b: Balanced, 75.9 AP on AP10K */
|
|
40
|
+
readonly 'vitpose-b': {
|
|
41
|
+
readonly name: "ViTPose++-b";
|
|
42
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-b-apt36k.onnx";
|
|
43
|
+
readonly inputSize: [number, number];
|
|
44
|
+
readonly ap: 75.9;
|
|
45
|
+
readonly description: "Balanced speed and accuracy";
|
|
46
|
+
};
|
|
47
|
+
/** ViTPose++-l: Most accurate, 80.8 AP on AP10K */
|
|
48
|
+
readonly 'vitpose-l': {
|
|
49
|
+
readonly name: "ViTPose++-l";
|
|
50
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-h-apt36k.onnx";
|
|
51
|
+
readonly inputSize: [number, number];
|
|
52
|
+
readonly ap: 80.8;
|
|
53
|
+
readonly description: "Highest accuracy, slower inference";
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export type VitPoseModelType = keyof typeof VITPOSE_MODELS;
|
|
57
|
+
/**
|
|
58
|
+
* Configuration options for AnimalDetector
|
|
59
|
+
*/
|
|
60
|
+
export interface AnimalDetectorConfig {
|
|
61
|
+
/** Path to animal detection model (optional - uses default if not specified) */
|
|
62
|
+
detModel?: string;
|
|
63
|
+
/** Path to animal pose estimation model (optional - uses default if not specified) */
|
|
64
|
+
poseModel?: string;
|
|
65
|
+
/** ViTPose++ model variant (optional - uses vitpose-b if not specified) */
|
|
66
|
+
poseModelType?: VitPoseModelType;
|
|
67
|
+
/** Detection input size (default: [640, 640]) */
|
|
68
|
+
detInputSize?: [number, number];
|
|
69
|
+
/** Pose input size (default: [256, 192]) */
|
|
70
|
+
poseInputSize?: [number, number];
|
|
71
|
+
/** Detection confidence threshold (default: 0.5) */
|
|
72
|
+
detConfidence?: number;
|
|
73
|
+
/** NMS IoU threshold (default: 0.45) */
|
|
74
|
+
nmsThreshold?: number;
|
|
75
|
+
/** Pose keypoint confidence threshold (default: 0.3) */
|
|
76
|
+
poseConfidence?: number;
|
|
77
|
+
/** Execution backend (default: 'wasm') */
|
|
78
|
+
backend?: 'wasm' | 'webgpu';
|
|
79
|
+
/** Enable model caching (default: true) */
|
|
80
|
+
cache?: boolean;
|
|
81
|
+
/** Animal classes to detect (null = all) */
|
|
82
|
+
classes?: string[] | null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Detected animal with bounding box and keypoints
|
|
86
|
+
*/
|
|
87
|
+
export interface DetectedAnimal {
|
|
88
|
+
/** Bounding box coordinates */
|
|
89
|
+
bbox: {
|
|
90
|
+
x1: number;
|
|
91
|
+
y1: number;
|
|
92
|
+
x2: number;
|
|
93
|
+
y2: number;
|
|
94
|
+
confidence: number;
|
|
95
|
+
};
|
|
96
|
+
/** Animal class ID */
|
|
97
|
+
classId: number;
|
|
98
|
+
/** Animal class name */
|
|
99
|
+
className: string;
|
|
100
|
+
/** 17 keypoints (COCO format) */
|
|
101
|
+
keypoints: AnimalKeypoint[];
|
|
102
|
+
/** Keypoint scores (0-1) */
|
|
103
|
+
scores: number[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Single keypoint with coordinates and visibility
|
|
107
|
+
*/
|
|
108
|
+
export interface AnimalKeypoint {
|
|
109
|
+
x: number;
|
|
110
|
+
y: number;
|
|
111
|
+
score: number;
|
|
112
|
+
visible: boolean;
|
|
113
|
+
name: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Detection statistics
|
|
117
|
+
*/
|
|
118
|
+
export interface AnimalDetectionStats {
|
|
119
|
+
/** Number of detected animals */
|
|
120
|
+
animalCount: number;
|
|
121
|
+
/** Detections per class */
|
|
122
|
+
classCounts: Record<string, number>;
|
|
123
|
+
/** Detection inference time (ms) */
|
|
124
|
+
detTime: number;
|
|
125
|
+
/** Pose estimation time (ms) */
|
|
126
|
+
poseTime: number;
|
|
127
|
+
/** Total processing time (ms) */
|
|
128
|
+
totalTime: number;
|
|
129
|
+
}
|
|
130
|
+
export declare class AnimalDetector {
|
|
131
|
+
private config;
|
|
132
|
+
private detSession;
|
|
133
|
+
private poseSession;
|
|
134
|
+
private initialized;
|
|
135
|
+
private classFilter;
|
|
136
|
+
private canvas;
|
|
137
|
+
private ctx;
|
|
138
|
+
private poseCanvas;
|
|
139
|
+
private poseCtx;
|
|
140
|
+
private poseTensorBuffer;
|
|
141
|
+
private detInputSize;
|
|
142
|
+
private poseInputSize;
|
|
143
|
+
constructor(config?: AnimalDetectorConfig);
|
|
144
|
+
/**
|
|
145
|
+
* Update class filter based on config
|
|
146
|
+
*/
|
|
147
|
+
private updateClassFilter;
|
|
148
|
+
/**
|
|
149
|
+
* Set which animal classes to detect
|
|
150
|
+
*/
|
|
151
|
+
setClasses(classes: string[] | null): void;
|
|
152
|
+
/**
|
|
153
|
+
* Get list of available animal classes
|
|
154
|
+
*/
|
|
155
|
+
getAvailableClasses(): string[];
|
|
156
|
+
/**
|
|
157
|
+
* Get information about the current ViTPose++ model
|
|
158
|
+
*/
|
|
159
|
+
getPoseModelInfo(): {
|
|
160
|
+
readonly name: "ViTPose++-s";
|
|
161
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-s-apt36k.onnx";
|
|
162
|
+
readonly inputSize: [number, number];
|
|
163
|
+
readonly ap: 74.2;
|
|
164
|
+
readonly description: "Fastest inference, suitable for real-time applications";
|
|
165
|
+
} | {
|
|
166
|
+
readonly name: "ViTPose++-b";
|
|
167
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-b-apt36k.onnx";
|
|
168
|
+
readonly inputSize: [number, number];
|
|
169
|
+
readonly ap: 75.9;
|
|
170
|
+
readonly description: "Balanced speed and accuracy";
|
|
171
|
+
} | {
|
|
172
|
+
readonly name: "ViTPose++-l";
|
|
173
|
+
readonly url: "https://huggingface.co/JunkyByte/easy_ViTPose/resolve/main/onnx/apt36k/vitpose-h-apt36k.onnx";
|
|
174
|
+
readonly inputSize: [number, number];
|
|
175
|
+
readonly ap: 80.8;
|
|
176
|
+
readonly description: "Highest accuracy, slower inference";
|
|
177
|
+
} | null;
|
|
178
|
+
/**
|
|
179
|
+
* Initialize both detection and pose models
|
|
180
|
+
*/
|
|
181
|
+
init(): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Detect animals from HTMLCanvasElement
|
|
184
|
+
*/
|
|
185
|
+
detectFromCanvas(canvas: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
186
|
+
/**
|
|
187
|
+
* Detect animals from HTMLVideoElement
|
|
188
|
+
*/
|
|
189
|
+
detectFromVideo(video: HTMLVideoElement, targetCanvas?: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
190
|
+
/**
|
|
191
|
+
* Detect animals from HTMLImageElement
|
|
192
|
+
*/
|
|
193
|
+
detectFromImage(image: HTMLImageElement, targetCanvas?: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
194
|
+
/**
|
|
195
|
+
* Detect animals from ImageBitmap
|
|
196
|
+
*/
|
|
197
|
+
detectFromBitmap(bitmap: ImageBitmap, targetCanvas?: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
198
|
+
/**
|
|
199
|
+
* Detect animals from File
|
|
200
|
+
*/
|
|
201
|
+
detectFromFile(file: File, targetCanvas?: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
202
|
+
/**
|
|
203
|
+
* Detect animals from Blob
|
|
204
|
+
*/
|
|
205
|
+
detectFromBlob(blob: Blob, targetCanvas?: HTMLCanvasElement): Promise<DetectedAnimal[]>;
|
|
206
|
+
/**
|
|
207
|
+
* Detect animals from raw image data
|
|
208
|
+
*/
|
|
209
|
+
detect(imageData: Uint8Array, width: number, height: number): Promise<DetectedAnimal[]>;
|
|
210
|
+
/**
|
|
211
|
+
* Detect animals using YOLO
|
|
212
|
+
*/
|
|
213
|
+
private detectAnimals;
|
|
214
|
+
/**
|
|
215
|
+
* Estimate pose for a single animal
|
|
216
|
+
*/
|
|
217
|
+
private estimatePose;
|
|
218
|
+
private preprocessYOLO;
|
|
219
|
+
private postprocessYOLO;
|
|
220
|
+
private preprocessPose;
|
|
221
|
+
private postprocessPose;
|
|
222
|
+
private applyNMS;
|
|
223
|
+
private calculateIoU;
|
|
224
|
+
/**
|
|
225
|
+
* Dispose resources
|
|
226
|
+
*/
|
|
227
|
+
dispose(): void;
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=animalDetector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animalDetector.d.ts","sourceRoot":"","sources":["../../src/solution/animalDetector.ts"],"names":[],"mappings":"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"}
|