@mauriciobenjamin700/ort-vision-sdk-web 0.4.0 → 0.5.0

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/CHANGELOG.md CHANGED
@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2026-08-03
11
+
12
+ ### Added
13
+
14
+ - **Tasks read their class names off the model, matching the Python SDK.**
15
+ `labels` is now optional on all three tasks: when omitted, the names the
16
+ exporter baked into the model are used (Ultralytics writes them as `names` in
17
+ the metadata map), and only a model carrying none falls back to the COCO
18
+ preset for detection/segmentation or generated `class_<id>` labels for
19
+ classification. Passing `labels` still wins, for a model whose names are
20
+ wrong or absent.
21
+
22
+ ```typescript
23
+ const det = await Detector.create("/models/detect.onnx");
24
+ console.log(det.labels); // ["ocular-mucosa"] — from the model, not a preset
25
+ ```
26
+
27
+ This also fixes a trap: a single-class detector used to **fail** without an
28
+ explicit `labels`, because the 80-name COCO default disagreed with its class
29
+ count.
30
+
31
+ - **`numClasses` is inferred from the declared output shape.** A YOLO head
32
+ declares `(B, 4 + nc, N)` and a classifier `(B, nc)`, so the count no longer
33
+ has to be supplied. Passing it still validates the labels against the model.
34
+
35
+ - **`OrtSession.metadata`** exposes the model's custom metadata map (`names`,
36
+ `task`, `imgsz`, ...). `onnxruntime-web` does not surface that map — unlike
37
+ Python's `custom_metadata_map` — so it is read from the model's own bytes at
38
+ load time by walking `metadata_props` in the ModelProto. A truncated or
39
+ unexpected file yields an empty map instead of an error, and every caller
40
+ falls back to what it was given.
41
+
42
+ - **`OrtSession.outputShapes` / `.outputShape`**, the shapes the graph declares
43
+ for its outputs, with dynamic axes as `null` — the same treatment
44
+ `inputShapes` already got.
45
+
46
+ - **`detectionNumClasses`, `classificationNumClasses`, `readModelMetadata`,
47
+ `modelNames`**: the pure helpers behind the above, exported for anyone
48
+ assembling their own pipeline.
49
+
50
+ ### Changed
51
+
52
+ - **A URL model is fetched by the SDK instead of by ORT**, so its bytes are
53
+ available to read metadata from. It is the same single download, and
54
+ `readMetadata: false` on the session options restores the previous path (ORT
55
+ fetches the URL, `metadata` stays empty). A failed fetch falls back to handing
56
+ ORT the URL, so a model that ORT could load still loads.
57
+
10
58
  ## [0.4.0] - 2026-08-03
11
59
 
12
60
  ### Added
@@ -93,6 +141,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
93
141
  would break `tempest-react-sdk`, which re-exports all three from its vendored
94
142
  copy. The warning now points at `0.4.0`.
95
143
 
144
+ ## [0.2.2] - 2026-05-31
145
+
146
+ ### Changed
147
+
148
+ - README now links to the bilingual (PT-BR + EN-US) documentation site on
149
+ GitHub Pages (<https://mauriciobenjamin700.github.io/ort-vision-sdk/>) so the
150
+ npm package page points readers to the full guide and API reference.
151
+ Documentation-only release; no public API changes.
152
+
96
153
  ## [0.2.1] - 2026-05-03
97
154
 
98
155
  First **published** release on npm. The previous `0.2.0` tag never produced a
@@ -36,6 +36,27 @@ export declare function declaredShapesFrom(metadata: readonly ort.InferenceSessi
36
36
  * than one resolution and there is nothing to correct.
37
37
  */
38
38
  export declare function spatialInputSize(shape: DeclaredShape): readonly [number, number] | null;
39
+ /**
40
+ * Infer how many classes a YOLO detection/segmentation head emits.
41
+ *
42
+ * Such a head declares `(B, 4 + nc, N)` — four box coordinates stacked above one
43
+ * score per class, over `N` candidate anchors. `N` is in the thousands and the
44
+ * batch is 1, so the channel axis is the smallest static axis above 1.
45
+ *
46
+ * @param shape Declared shape of the model's first output.
47
+ * @returns The class count, or `null` when the shape leaves it undeterminable —
48
+ * fully dynamic, or too small to hold boxes plus at least one class.
49
+ */
50
+ export declare function detectionNumClasses(shape: DeclaredShape): number | null;
51
+ /**
52
+ * Infer how many classes a classification head emits.
53
+ *
54
+ * A classifier declares `(B, nc)`, so the count is the last static axis.
55
+ *
56
+ * @param shape Declared shape of the model's first output.
57
+ * @returns The class count, or `null` when the last axis is dynamic or absent.
58
+ */
59
+ export declare function classificationNumClasses(shape: DeclaredShape): number | null;
39
60
  export interface ResolveInputSizeOptions {
40
61
  /** Declared shape of the model's image input, from {@link declaredShapesFrom}. */
41
62
  readonly graphShape?: DeclaredShape;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/core/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,SAAS,WAAW,EAAE,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,SAAS,GAClE,SAAS,aAAa,EAAE,CAO1B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAMvF;AAED,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW5F"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/core/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,SAAS,WAAW,EAAE,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,SAAS,GAClE,SAAS,aAAa,EAAE,CAO1B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAMvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAI5E;AAED,MAAM,WAAW,uBAAuB;IACtC,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW5F"}
@@ -42,6 +42,40 @@ export function spatialInputSize(shape) {
42
42
  return null;
43
43
  return [width, height];
44
44
  }
45
+ /**
46
+ * Infer how many classes a YOLO detection/segmentation head emits.
47
+ *
48
+ * Such a head declares `(B, 4 + nc, N)` — four box coordinates stacked above one
49
+ * score per class, over `N` candidate anchors. `N` is in the thousands and the
50
+ * batch is 1, so the channel axis is the smallest static axis above 1.
51
+ *
52
+ * @param shape Declared shape of the model's first output.
53
+ * @returns The class count, or `null` when the shape leaves it undeterminable —
54
+ * fully dynamic, or too small to hold boxes plus at least one class.
55
+ */
56
+ export function detectionNumClasses(shape) {
57
+ const staticDims = shape.filter((dim) => dim !== null && dim > 1);
58
+ if (staticDims.length === 0)
59
+ return null;
60
+ const channels = Math.min(...staticDims);
61
+ if (channels < 5)
62
+ return null;
63
+ return channels - 4;
64
+ }
65
+ /**
66
+ * Infer how many classes a classification head emits.
67
+ *
68
+ * A classifier declares `(B, nc)`, so the count is the last static axis.
69
+ *
70
+ * @param shape Declared shape of the model's first output.
71
+ * @returns The class count, or `null` when the last axis is dynamic or absent.
72
+ */
73
+ export function classificationNumClasses(shape) {
74
+ const last = shape[shape.length - 1];
75
+ if (last === null || last === undefined || last < 1)
76
+ return null;
77
+ return last;
78
+ }
45
79
  /**
46
80
  * Decide the input size a task will preprocess to.
47
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/core/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAmE;IAEnE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,KAAK,CAAC,QAAQ;QACZ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtG,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACzB,CAAC;AAWD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;IACzD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,IAAI,CACV,yCAAyC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,UAAU;YACrE,0BAA0B,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/core/graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Read the metadata an exporter baked into a `.onnx` file.
3
+ *
4
+ * `onnxruntime-web` exposes input/output metadata but **not** the model's
5
+ * custom metadata map, which is where Ultralytics writes `names`, `task` and
6
+ * `imgsz`. The Python SDK gets it for free from
7
+ * `InferenceSession.get_modelmeta().custom_metadata_map`; in the browser the
8
+ * only way to the same information is to read it out of the file, so this
9
+ * module walks just enough of the ModelProto wire format to collect
10
+ * `metadata_props`.
11
+ *
12
+ * It never throws and never allocates unbounded: a truncated, hostile or
13
+ * simply unexpected file yields an empty map, and every caller treats that as
14
+ * "the model says nothing", falling back to what it was given.
15
+ */
16
+ /**
17
+ * Collect a model's custom metadata map straight out of its bytes.
18
+ *
19
+ * @param model The `.onnx` file contents.
20
+ * @returns Key/value metadata — `names`, `task`, `imgsz`, ... for an
21
+ * Ultralytics export — or an empty object when the file carries none or
22
+ * cannot be walked.
23
+ */
24
+ export declare function readModelMetadata(model: Uint8Array | ArrayBufferLike): Readonly<Record<string, string>>;
25
+ /**
26
+ * Read the class names an export baked into the model metadata.
27
+ *
28
+ * Ultralytics writes `names` as the Python `repr` of a `dict[int, str]` — e.g.
29
+ * `"{0: 'deworm', 1: 'not_deworm'}"`. The value is parsed structurally (never
30
+ * evaluated), and anything unparseable, non-`dict`, or not keyed by contiguous
31
+ * integers from zero is rejected whole rather than half-applied: a partial name
32
+ * map would silently mislabel predictions.
33
+ *
34
+ * @param metadata A model's custom metadata map.
35
+ * @returns Class names in class-id order, or `null` when the model carries no
36
+ * usable `names` entry.
37
+ */
38
+ export declare function modelNames(metadata: Readonly<Record<string, string>> | undefined): readonly string[] | null;
39
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyIH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,GAAG,eAAe,GAClC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBlC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACrD,SAAS,MAAM,EAAE,GAAG,IAAI,CA6B1B"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Read the metadata an exporter baked into a `.onnx` file.
3
+ *
4
+ * `onnxruntime-web` exposes input/output metadata but **not** the model's
5
+ * custom metadata map, which is where Ultralytics writes `names`, `task` and
6
+ * `imgsz`. The Python SDK gets it for free from
7
+ * `InferenceSession.get_modelmeta().custom_metadata_map`; in the browser the
8
+ * only way to the same information is to read it out of the file, so this
9
+ * module walks just enough of the ModelProto wire format to collect
10
+ * `metadata_props`.
11
+ *
12
+ * It never throws and never allocates unbounded: a truncated, hostile or
13
+ * simply unexpected file yields an empty map, and every caller treats that as
14
+ * "the model says nothing", falling back to what it was given.
15
+ */
16
+ /** Field number of `metadata_props` in `ModelProto` (repeated StringStringEntryProto). */
17
+ const MODEL_METADATA_PROPS_FIELD = 14;
18
+ /** Field numbers of `key` and `value` in `StringStringEntryProto`. */
19
+ const ENTRY_KEY_FIELD = 1;
20
+ const ENTRY_VALUE_FIELD = 2;
21
+ /** Protobuf wire types this reader understands. */
22
+ const WIRE_VARINT = 0;
23
+ const WIRE_FIXED64 = 1;
24
+ const WIRE_LENGTH_DELIMITED = 2;
25
+ const WIRE_FIXED32 = 5;
26
+ /**
27
+ * Hard ceiling on a single length-delimited field, as a guard against a corrupt
28
+ * length turning into a huge slice. Model metadata values are strings — a class
29
+ * name map for thousands of classes still fits well inside this.
30
+ */
31
+ const MAX_FIELD_BYTES = 1 << 20;
32
+ /**
33
+ * Read a base-128 varint.
34
+ *
35
+ * @param cursor Cursor to advance.
36
+ * @returns The value, or `null` when the varint is truncated or overlong
37
+ * (beyond the 64-bit range protobuf allows).
38
+ */
39
+ function readVarint(cursor) {
40
+ let result = 0;
41
+ let shift = 0;
42
+ while (cursor.pos < cursor.end) {
43
+ const byte = cursor.bytes[cursor.pos];
44
+ cursor.pos += 1;
45
+ result += (byte & 0x7f) * 2 ** shift;
46
+ if ((byte & 0x80) === 0)
47
+ return result;
48
+ shift += 7;
49
+ if (shift > 63)
50
+ return null;
51
+ }
52
+ return null;
53
+ }
54
+ /**
55
+ * Skip a field whose contents are not needed.
56
+ *
57
+ * @param cursor Cursor to advance past the field's payload.
58
+ * @param wireType Wire type read from the field's tag.
59
+ * @returns `true` when the field was skipped, `false` when the stream is
60
+ * unreadable from here (unknown wire type or truncated payload).
61
+ */
62
+ function skipField(cursor, wireType) {
63
+ switch (wireType) {
64
+ case WIRE_VARINT:
65
+ return readVarint(cursor) !== null;
66
+ case WIRE_FIXED64:
67
+ cursor.pos += 8;
68
+ return cursor.pos <= cursor.end;
69
+ case WIRE_LENGTH_DELIMITED: {
70
+ const length = readVarint(cursor);
71
+ if (length === null)
72
+ return false;
73
+ cursor.pos += length;
74
+ return cursor.pos <= cursor.end;
75
+ }
76
+ case WIRE_FIXED32:
77
+ cursor.pos += 4;
78
+ return cursor.pos <= cursor.end;
79
+ default:
80
+ return false;
81
+ }
82
+ }
83
+ /**
84
+ * Read a length-delimited payload as a byte range.
85
+ *
86
+ * @param cursor Cursor to advance past the payload.
87
+ * @returns Start and end offsets of the payload, or `null` when the length is
88
+ * truncated, overruns the buffer, or exceeds {@link MAX_FIELD_BYTES}.
89
+ */
90
+ function readLengthDelimited(cursor) {
91
+ const length = readVarint(cursor);
92
+ if (length === null || length > MAX_FIELD_BYTES)
93
+ return null;
94
+ const start = cursor.pos;
95
+ const end = start + length;
96
+ if (end > cursor.end)
97
+ return null;
98
+ cursor.pos = end;
99
+ return { start, end };
100
+ }
101
+ /**
102
+ * Decode one `StringStringEntryProto` into a key/value pair.
103
+ *
104
+ * @param bytes The model buffer.
105
+ * @param start Offset the entry's payload starts at.
106
+ * @param end Offset the entry's payload ends at.
107
+ * @returns The pair, or `null` when either half is missing or undecodable.
108
+ */
109
+ function readEntry(bytes, start, end) {
110
+ const cursor = { bytes, end, pos: start };
111
+ const decoder = new TextDecoder("utf-8", { fatal: false });
112
+ let key = null;
113
+ let value = null;
114
+ while (cursor.pos < end) {
115
+ const tag = readVarint(cursor);
116
+ if (tag === null)
117
+ return null;
118
+ const field = tag >>> 3;
119
+ const wireType = tag & 0x07;
120
+ if (wireType === WIRE_LENGTH_DELIMITED &&
121
+ (field === ENTRY_KEY_FIELD || field === ENTRY_VALUE_FIELD)) {
122
+ const range = readLengthDelimited(cursor);
123
+ if (range === null)
124
+ return null;
125
+ const text = decoder.decode(bytes.subarray(range.start, range.end));
126
+ if (field === ENTRY_KEY_FIELD)
127
+ key = text;
128
+ else
129
+ value = text;
130
+ continue;
131
+ }
132
+ if (!skipField(cursor, wireType))
133
+ return null;
134
+ }
135
+ if (key === null || value === null)
136
+ return null;
137
+ return [key, value];
138
+ }
139
+ /**
140
+ * Collect a model's custom metadata map straight out of its bytes.
141
+ *
142
+ * @param model The `.onnx` file contents.
143
+ * @returns Key/value metadata — `names`, `task`, `imgsz`, ... for an
144
+ * Ultralytics export — or an empty object when the file carries none or
145
+ * cannot be walked.
146
+ */
147
+ export function readModelMetadata(model) {
148
+ const bytes = model instanceof Uint8Array ? model : new Uint8Array(model);
149
+ const cursor = { bytes, end: bytes.length, pos: 0 };
150
+ const metadata = {};
151
+ while (cursor.pos < cursor.end) {
152
+ const tag = readVarint(cursor);
153
+ if (tag === null)
154
+ break;
155
+ const field = tag >>> 3;
156
+ const wireType = tag & 0x07;
157
+ if (field === MODEL_METADATA_PROPS_FIELD && wireType === WIRE_LENGTH_DELIMITED) {
158
+ const range = readLengthDelimited(cursor);
159
+ if (range === null)
160
+ break;
161
+ const entry = readEntry(bytes, range.start, range.end);
162
+ if (entry)
163
+ metadata[entry[0]] = entry[1];
164
+ continue;
165
+ }
166
+ if (!skipField(cursor, wireType))
167
+ break;
168
+ }
169
+ return metadata;
170
+ }
171
+ /**
172
+ * Read the class names an export baked into the model metadata.
173
+ *
174
+ * Ultralytics writes `names` as the Python `repr` of a `dict[int, str]` — e.g.
175
+ * `"{0: 'deworm', 1: 'not_deworm'}"`. The value is parsed structurally (never
176
+ * evaluated), and anything unparseable, non-`dict`, or not keyed by contiguous
177
+ * integers from zero is rejected whole rather than half-applied: a partial name
178
+ * map would silently mislabel predictions.
179
+ *
180
+ * @param metadata A model's custom metadata map.
181
+ * @returns Class names in class-id order, or `null` when the model carries no
182
+ * usable `names` entry.
183
+ */
184
+ export function modelNames(metadata) {
185
+ const raw = metadata?.names?.trim();
186
+ if (!raw || !raw.startsWith("{") || !raw.endsWith("}"))
187
+ return null;
188
+ const body = raw.slice(1, -1).trim();
189
+ if (!body)
190
+ return null;
191
+ const names = new Map();
192
+ const entryPattern = /(-?\d+)\s*:\s*(?:'((?:[^'\\]|\\.)*)'|"((?:[^"\\]|\\.)*)")/g;
193
+ let consumed = 0;
194
+ for (const match of body.matchAll(entryPattern)) {
195
+ const id = Number(match[1]);
196
+ const text = match[2] ?? match[3];
197
+ if (!Number.isInteger(id) || text === undefined)
198
+ return null;
199
+ names.set(id, unescapeQuoted(text));
200
+ consumed += match[0].length;
201
+ }
202
+ if (names.size === 0)
203
+ return null;
204
+ const separators = body.length - consumed;
205
+ if (separators > names.size * 3)
206
+ return null;
207
+ const ordered = [];
208
+ for (let id = 0; id < names.size; id += 1) {
209
+ const name = names.get(id);
210
+ if (name === undefined)
211
+ return null;
212
+ ordered.push(name);
213
+ }
214
+ return ordered;
215
+ }
216
+ /**
217
+ * Resolve the backslash escapes Python's `repr` emits inside a quoted string.
218
+ *
219
+ * @param text The quoted string's contents, escapes intact.
220
+ * @returns The same text with `\\`, `\'`, `\"`, `\n`, `\r` and `\t` resolved.
221
+ */
222
+ function unescapeQuoted(text) {
223
+ return text.replace(/\\(.)/g, (_, char) => {
224
+ if (char === "n")
225
+ return "\n";
226
+ if (char === "r")
227
+ return "\r";
228
+ if (char === "t")
229
+ return "\t";
230
+ return char;
231
+ });
232
+ }
233
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,17 @@ export interface OrtSessionOptions {
10
10
  readonly providers?: readonly string[];
11
11
  /** Optional ORT session options forwarded to `InferenceSession.create`. */
12
12
  readonly sessionOptions?: ort.InferenceSession.SessionOptions;
13
+ /**
14
+ * Whether to read the model's custom metadata map (`names`, `task`, `imgsz`).
15
+ * Defaults to `true`.
16
+ *
17
+ * The runtime does not expose that map, so it is read from the file itself —
18
+ * which means a URL model is fetched here and handed to ORT as bytes instead
19
+ * of letting ORT fetch it. That is the same single download either way, and
20
+ * it is what lets a task resolve its labels off the model. Set to `false` to
21
+ * keep the URL path untouched and leave {@link OrtSession.metadata} empty.
22
+ */
23
+ readonly readMetadata?: boolean;
13
24
  }
14
25
  /**
15
26
  * Wrap an ONNX Runtime Web `InferenceSession` with convenient metadata access.
@@ -21,12 +32,14 @@ export interface OrtSessionOptions {
21
32
  export declare class OrtSession {
22
33
  private readonly _session;
23
34
  readonly providers: readonly string[];
35
+ private readonly _metadata;
24
36
  private constructor();
25
37
  /**
26
38
  * Load an ONNX model into an ORT inference session.
27
39
  *
28
- * @param model Either a URL string fetched by ORT, or a `Uint8Array`/`ArrayBuffer` containing the model bytes.
29
- * @param options Provider list and pass-through `SessionOptions`.
40
+ * @param model Either a URL string, or a `Uint8Array`/`ArrayBuffer` containing the model bytes.
41
+ * @param options Provider list, pass-through `SessionOptions`, and whether to
42
+ * read the model's metadata map (see {@link OrtSessionOptions.readMetadata}).
30
43
  * @throws {@link ModelLoadError} if the model cannot be loaded.
31
44
  */
32
45
  static create(model: ModelSource, options?: OrtSessionOptions): Promise<OrtSession>;
@@ -50,6 +63,28 @@ export declare class OrtSession {
50
63
  * Empty when the runtime reports no metadata for it.
51
64
  */
52
65
  get inputShape(): DeclaredShape;
66
+ /**
67
+ * Shapes the graph declares for its outputs, in declaration order.
68
+ *
69
+ * Dynamic (symbolic) axes appear as `null`. Reading them is how a task can
70
+ * tell how many classes a head emits without being told.
71
+ */
72
+ get outputShapes(): readonly DeclaredShape[];
73
+ /**
74
+ * Shape the graph declares for its first output, dynamic axes as `null`.
75
+ *
76
+ * Empty when the runtime reports no metadata for it.
77
+ */
78
+ get outputShape(): DeclaredShape;
79
+ /**
80
+ * The model's custom metadata map — `names`, `task`, `imgsz`, ... for an
81
+ * Ultralytics export.
82
+ *
83
+ * Read from the model's bytes at load time, since the runtime does not expose
84
+ * it. Empty when the session was created with `readMetadata: false`, from a
85
+ * URL that could not be fetched here, or from a model carrying no metadata.
86
+ */
87
+ get metadata(): Readonly<Record<string, string>>;
53
88
  /**
54
89
  * Release the native session and free its memory.
55
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,YAAY,CAAC;AAGpE,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC;CAC/D;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,SAAS,MAAM,EAAE;IAF9C,OAAO;IAKP;;;;;;OAMG;WACU,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IA6BtB,yDAAyD;IACzD,IAAI,UAAU,IAAI,SAAS,MAAM,EAAE,CAElC;IAED,kDAAkD;IAClD,IAAI,SAAS,IAAI,MAAM,CAMtB;IAED,0DAA0D;IAC1D,IAAI,WAAW,IAAI,SAAS,MAAM,EAAE,CAEnC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,SAAS,aAAa,EAAE,CAM1C;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,aAAa,CAE9B;IAED;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,wEAAwE;IACxE,IAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAE9B;IAED;;;;;OAKG;IACG,GAAG,CACP,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAWvC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,YAAY,CAAC;AAIpE,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC;AAsBhE,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC;IAC9D;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,SAAS,MAAM,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH5B,OAAO;IAMP;;;;;;;OAOG;WACU,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAkCtB,yDAAyD;IACzD,IAAI,UAAU,IAAI,SAAS,MAAM,EAAE,CAElC;IAED,kDAAkD;IAClD,IAAI,SAAS,IAAI,MAAM,CAMtB;IAED,0DAA0D;IAC1D,IAAI,WAAW,IAAI,SAAS,MAAM,EAAE,CAEnC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,SAAS,aAAa,EAAE,CAM1C;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,aAAa,CAE9B;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,SAAS,aAAa,EAAE,CAM3C;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,aAAa,CAE/B;IAED;;;;;;;OAOG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE/C;IAED;;;;;;;OAOG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,wEAAwE;IACxE,IAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAE9B;IAED;;;;;OAKG;IACG,GAAG,CACP,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAWvC"}
@@ -4,7 +4,29 @@
4
4
  import * as ortRuntime from "onnxruntime-web";
5
5
  import { InferenceError, ModelLoadError } from "./exceptions.js";
6
6
  import { declaredShapesFrom } from "./graph.js";
7
+ import { readModelMetadata } from "./metadata.js";
7
8
  import { resolveProviders } from "./providers.js";
9
+ /**
10
+ * Fetch a model URL as bytes so its metadata can be read.
11
+ *
12
+ * Falls back to the URL itself when the fetch fails, letting ORT try its own
13
+ * load path: losing the metadata map is a downgrade, but failing to load a model
14
+ * that ORT could have fetched would be a regression.
15
+ *
16
+ * @param url Where the `.onnx` lives.
17
+ * @returns The model bytes, or the original URL when they could not be fetched.
18
+ */
19
+ async function fetchModel(url) {
20
+ try {
21
+ const response = await fetch(url);
22
+ if (!response.ok)
23
+ return url;
24
+ return new Uint8Array(await response.arrayBuffer());
25
+ }
26
+ catch {
27
+ return url;
28
+ }
29
+ }
8
30
  /**
9
31
  * Wrap an ONNX Runtime Web `InferenceSession` with convenient metadata access.
10
32
  *
@@ -15,15 +37,18 @@ import { resolveProviders } from "./providers.js";
15
37
  export class OrtSession {
16
38
  _session;
17
39
  providers;
18
- constructor(_session, providers) {
40
+ _metadata;
41
+ constructor(_session, providers, _metadata) {
19
42
  this._session = _session;
20
43
  this.providers = providers;
44
+ this._metadata = _metadata;
21
45
  }
22
46
  /**
23
47
  * Load an ONNX model into an ORT inference session.
24
48
  *
25
- * @param model Either a URL string fetched by ORT, or a `Uint8Array`/`ArrayBuffer` containing the model bytes.
26
- * @param options Provider list and pass-through `SessionOptions`.
49
+ * @param model Either a URL string, or a `Uint8Array`/`ArrayBuffer` containing the model bytes.
50
+ * @param options Provider list, pass-through `SessionOptions`, and whether to
51
+ * read the model's metadata map (see {@link OrtSessionOptions.readMetadata}).
27
52
  * @throws {@link ModelLoadError} if the model cannot be loaded.
28
53
  */
29
54
  static async create(model, options = {}) {
@@ -32,22 +57,25 @@ export class OrtSession {
32
57
  ...(options.sessionOptions ?? {}),
33
58
  executionProviders: providers,
34
59
  };
60
+ const wantsMetadata = options.readMetadata !== false;
61
+ const source = typeof model === "string" && wantsMetadata ? await fetchModel(model) : model;
35
62
  let session;
36
63
  try {
37
- if (typeof model === "string") {
38
- session = await ortRuntime.InferenceSession.create(model, sessionOptions);
64
+ if (typeof source === "string") {
65
+ session = await ortRuntime.InferenceSession.create(source, sessionOptions);
39
66
  }
40
- else if (model instanceof Uint8Array) {
41
- session = await ortRuntime.InferenceSession.create(model, sessionOptions);
67
+ else if (source instanceof Uint8Array) {
68
+ session = await ortRuntime.InferenceSession.create(source, sessionOptions);
42
69
  }
43
70
  else {
44
- session = await ortRuntime.InferenceSession.create(model, sessionOptions);
71
+ session = await ortRuntime.InferenceSession.create(source, sessionOptions);
45
72
  }
46
73
  }
47
74
  catch (err) {
48
75
  throw new ModelLoadError(`Failed to load ONNX model: ${err.message}`, { cause: err });
49
76
  }
50
- return new OrtSession(session, providers);
77
+ const metadata = wantsMetadata && typeof source !== "string" ? readModelMetadata(source) : {};
78
+ return new OrtSession(session, providers, metadata);
51
79
  }
52
80
  /** Names of the model's inputs, in declaration order. */
53
81
  get inputNames() {
@@ -83,6 +111,34 @@ export class OrtSession {
83
111
  get inputShape() {
84
112
  return this.inputShapes[0] ?? [];
85
113
  }
114
+ /**
115
+ * Shapes the graph declares for its outputs, in declaration order.
116
+ *
117
+ * Dynamic (symbolic) axes appear as `null`. Reading them is how a task can
118
+ * tell how many classes a head emits without being told.
119
+ */
120
+ get outputShapes() {
121
+ return declaredShapesFrom(this._session.outputMetadata);
122
+ }
123
+ /**
124
+ * Shape the graph declares for its first output, dynamic axes as `null`.
125
+ *
126
+ * Empty when the runtime reports no metadata for it.
127
+ */
128
+ get outputShape() {
129
+ return this.outputShapes[0] ?? [];
130
+ }
131
+ /**
132
+ * The model's custom metadata map — `names`, `task`, `imgsz`, ... for an
133
+ * Ultralytics export.
134
+ *
135
+ * Read from the model's bytes at load time, since the runtime does not expose
136
+ * it. Empty when the session was created with `readMetadata: false`, from a
137
+ * URL that could not be fetched here, or from a model carrying no metadata.
138
+ */
139
+ get metadata() {
140
+ return this._metadata;
141
+ }
86
142
  /**
87
143
  * Release the native session and free its memory.
88
144
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,8 @@ export { Boxes, ClassificationResults, DetectionResults, Masks, Probs, Segmentat
7
7
  export { COCO_CLASSES, type LabelSpec, type ResolveLabelsOptions, resolveLabels, } from "./labels.js";
8
8
  export { ImageLoadError, InferenceError, LabelMapError, ModelLoadError, OrtVisionError, ProviderNotAvailableError, } from "./core/exceptions.js";
9
9
  export { type ModelSource, type OrtSessionOptions, OrtSession, } from "./core/session.js";
10
- export { type DeclaredDim, type DeclaredShape, type ResolveInputSizeOptions, declaredShapesFrom, resolveInputSize, spatialInputSize, } from "./core/graph.js";
10
+ export { type DeclaredDim, type DeclaredShape, type ResolveInputSizeOptions, classificationNumClasses, declaredShapesFrom, detectionNumClasses, resolveInputSize, spatialInputSize, } from "./core/graph.js";
11
+ export { modelNames, readModelMetadata } from "./core/metadata.js";
11
12
  export { DEFAULT_PROVIDERS, resolveProviders } from "./core/providers.js";
12
13
  export { type Speed, SpeedTimer } from "./core/timing.js";
13
14
  export { type ImageInput, loadImage } from "./io/image.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,KAAK,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EACL,KAAK,eAAe,EACpB,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,UAAU,EACf,OAAO,EACP,IAAI,GACL,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,GAAG,GACJ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,KAAK,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EACL,KAAK,eAAe,EACpB,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,UAAU,EACf,OAAO,EACP,IAAI,GACL,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,GAAG,GACJ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@ export { Boxes, ClassificationResults, DetectionResults, Masks, Probs, Segmentat
7
7
  export { COCO_CLASSES, resolveLabels, } from "./labels.js";
8
8
  export { ImageLoadError, InferenceError, LabelMapError, ModelLoadError, OrtVisionError, ProviderNotAvailableError, } from "./core/exceptions.js";
9
9
  export { OrtSession, } from "./core/session.js";
10
- export { declaredShapesFrom, resolveInputSize, spatialInputSize, } from "./core/graph.js";
10
+ export { classificationNumClasses, declaredShapesFrom, detectionNumClasses, resolveInputSize, spatialInputSize, } from "./core/graph.js";
11
+ export { modelNames, readModelMetadata } from "./core/metadata.js";
11
12
  export { DEFAULT_PROVIDERS, resolveProviders } from "./core/providers.js";
12
13
  export { SpeedTimer } from "./core/timing.js";
13
14
  export { loadImage } from "./io/image.js";
@@ -19,5 +20,5 @@ export { VisionTask } from "./tasks/base.js";
19
20
  export { Classifier, } from "./tasks/classifier.js";
20
21
  export { Detector, } from "./tasks/detector.js";
21
22
  export { Segmenter, } from "./tasks/segmenter.js";
22
- export const VERSION = "0.4.0";
23
+ export const VERSION = "0.5.0";
23
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,GAKT,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EAGZ,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAmB,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,OAAO,EACP,IAAI,GACL,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAOL,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,GAAG,GACJ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAIL,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAGL,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,WAAW,EACX,IAAI,EACJ,QAAQ,GAKT,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EAGZ,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAmB,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,OAAO,EACP,IAAI,GACL,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAOL,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,GAAG,GACJ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAIL,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAGL,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC"}
@@ -7,11 +7,20 @@ import { type LabelSpec } from "../labels.js";
7
7
  import { ClassificationResults } from "../results.js";
8
8
  import { VisionTask } from "./base.js";
9
9
  export interface ClassifierOptions extends OrtSessionOptions {
10
- /** Class label spec — see {@link resolveLabels}. */
11
- readonly labels: LabelSpec;
12
10
  /**
13
- * Number of classes the model can predict. Required when `labels` is `null`
14
- * or when you want to validate that the supplied labels match the model.
11
+ * Class label spec see {@link resolveLabels}.
12
+ *
13
+ * Optional: when omitted, the names the export baked into the model are used
14
+ * (Ultralytics writes them as `names` in the metadata map). Only when the
15
+ * model carries none does this fall back to generated `class_<id>` labels.
16
+ * Passing a spec always wins, for a model whose names are wrong or absent.
17
+ */
18
+ readonly labels?: LabelSpec;
19
+ /**
20
+ * Number of classes the model can predict.
21
+ *
22
+ * Optional: inferred from the classification head's declared output shape
23
+ * `(B, nc)`. Pass it to validate that the supplied labels match the model.
15
24
  */
16
25
  readonly numClasses?: number;
17
26
  /**
@@ -71,7 +80,7 @@ export declare class Classifier extends VisionTask {
71
80
  private readonly _applySoftmax;
72
81
  private constructor();
73
82
  /** Load the model and resolve labels. */
74
- static create(model: ModelSource, options: ClassifierOptions): Promise<Classifier>;
83
+ static create(model: ModelSource, options?: ClassifierOptions): Promise<Classifier>;
75
84
  /** Class labels indexed by class id. */
76
85
  get labels(): readonly string[];
77
86
  /** Class id → class name dict (matches Ultralytics' `model.names`). */
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/tasks/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAG1F,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAQ7D,OAAO,EAAE,qBAAqB,EAAS,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAUvC,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAGtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAPhC,OAAO;IAYP,yCAAyC;WAC5B,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC;IAsBtB,wCAAwC;IACxC,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IAED;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzC;IAED,+CAA+C;IAC/C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,4EAA4E;IACtE,IAAI,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,4CAA4C;IACtC,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiEnC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/tasks/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAE1F,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAQ7D,OAAO,EAAE,qBAAqB,EAAS,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAUvC,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAGtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAPhC,OAAO;IAYP,yCAAyC;WAC5B,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IA0BtB,wCAAwC;IACxC,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IAED;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzC;IAED,+CAA+C;IAC/C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,4EAA4E;IACtE,IAAI,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAInC,4CAA4C;IACtC,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiEnC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;CAGrB"}
@@ -3,8 +3,9 @@
3
3
  */
4
4
  import { OrtSession } from "../core/session.js";
5
5
  import { SpeedTimer } from "../core/timing.js";
6
- import { resolveInputSize } from "../core/graph.js";
7
6
  import { loadImage } from "../io/image.js";
7
+ import { classificationNumClasses, resolveInputSize } from "../core/graph.js";
8
+ import { modelNames } from "../core/metadata.js";
8
9
  import { resolveLabels } from "../labels.js";
9
10
  import { softmax, topK } from "../postprocess/classification.js";
10
11
  import { normalize, resize, toCHW, toFloat32Tensor, } from "../preprocess/image.js";
@@ -50,9 +51,12 @@ export class Classifier extends VisionTask {
50
51
  this._applySoftmax = _applySoftmax;
51
52
  }
52
53
  /** Load the model and resolve labels. */
53
- static async create(model, options) {
54
+ static async create(model, options = {}) {
54
55
  const session = await OrtSession.create(model, options);
55
- const labels = resolveLabels(options.labels, { numClasses: options.numClasses });
56
+ const numClasses = options.numClasses ?? classificationNumClasses(session.outputShape) ?? undefined;
57
+ const labels = resolveLabels(options.labels ?? modelNames(session.metadata), {
58
+ numClasses,
59
+ });
56
60
  const names = {};
57
61
  for (let i = 0; i < labels.length; i++) {
58
62
  names[i] = labels[i];
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/tasks/classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/tasks/classifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/tasks/detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAG1F,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAQ7D,OAAO,EAAS,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAOvC;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,QAAS,SAAQ,UAAU;IAGpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IARjC,OAAO;IAaP,yCAAyC;WAC5B,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,QAAQ,CAAC;IA6BpB,+DAA+D;IAC/D,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IAED;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzC;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACG,IAAI,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0D9B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,WAAW;CAmBpB"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/tasks/detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAc,MAAM,oBAAoB,CAAC;AAG1F,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAQ7D,OAAO,EAAS,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAOvC;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,uDAAuD;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,QAAS,SAAQ,UAAU;IAGpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IARjC,OAAO;IAaP,yCAAyC;WAC5B,MAAM,CACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,QAAQ,CAAC;IA6BpB,+DAA+D;IAC/D,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,SAAS,MAAM,EAAE,CAE9B;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IAED;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzC;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACG,IAAI,CACR,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0D9B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,WAAW;CAmBpB"}
@@ -3,8 +3,9 @@
3
3
  */
4
4
  import { OrtSession } from "../core/session.js";
5
5
  import { SpeedTimer } from "../core/timing.js";
6
- import { resolveInputSize } from "../core/graph.js";
7
6
  import { loadImage } from "../io/image.js";
7
+ import { detectionNumClasses, resolveInputSize } from "../core/graph.js";
8
+ import { modelNames } from "../core/metadata.js";
8
9
  import { resolveLabels } from "../labels.js";
9
10
  import { decodeYolo } from "../postprocess/detection.js";
10
11
  import { letterbox, toCHW, toFloat32, toFloat32Tensor, } from "../preprocess/image.js";
@@ -55,8 +56,8 @@ export class Detector extends VisionTask {
55
56
  throw new Error(`Unsupported detector head '${head}'. Supported: 'yolo'.`);
56
57
  }
57
58
  const session = await OrtSession.create(model, options);
58
- const labels = resolveLabels(options.labels ?? "coco", {
59
- numClasses: options.numClasses,
59
+ const labels = resolveLabels(options.labels ?? modelNames(session.metadata) ?? "coco", {
60
+ numClasses: options.numClasses ?? detectionNumClasses(session.outputShape) ?? undefined,
60
61
  });
61
62
  const names = {};
62
63
  for (let i = 0; i < labels.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/tasks/detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAA4C,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,SAAS,EACT,KAAK,EACL,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAGL,QAAQ,GACT,MAAM,aAAa,CAAC;AAoDrB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,QAAS,SAAQ,UAAU;IAGnB;IACA;IACA;IACA;IACA;IACA;IACA;IARnB,YACE,OAAmB,EACF,KAAmB,EACnB,OAA0B,EAC1B,MAAwC,EACxC,UAAqC,EACrC,cAAsB,EACtB,aAAqB,EACrB,cAAsB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QARE,UAAK,GAAL,KAAK,CAAc;QACnB,YAAO,GAAP,OAAO,CAAmB;QAC1B,WAAM,GAAN,MAAM,CAAkC;QACxC,eAAU,GAAV,UAAU,CAA2B;QACrC,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;QACrB,mBAAc,GAAd,cAAc,CAAQ;IAGzC,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,KAAkB,EAClB,UAA2B,EAAE;QAE7B,MAAM,IAAI,GAAiB,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;QAClD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,uBAAuB,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE;YACrD,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QACH,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,QAAQ,CACjB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,gBAAgB,CAAC;YACf,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACrB,CAAC,EACF,OAAO,CAAC,aAAa,IAAI,IAAI,EAC7B,OAAO,CAAC,YAAY,IAAI,IAAI,EAC5B,OAAO,CAAC,aAAa,IAAI,GAAG,CAC7B,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,uEAAuE;IACvE,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,KAAiB,EACjB,UAAkC,EAAE;QAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,KAAiB,EACjB,UAAkC,EAAE;QAEpC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,6BAA6B,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,IAAoB,EAAE,GAAG,CAAC,IAAI,EAAE;YAChE,aAAa,EAAE,QAAQ,CAAC,KAAK;YAC7B,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,OAAO;YACP,MAAM;YACN,KAAK;YACL,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc;YAC3D,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa;YACxD,aAAa,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC,CAAC;QAEH,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,KAAK,SAAS;YAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,UAAU,CAAC;QAEjB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAC7D,CAAC;QAEF,MAAM,IAAI,GAA8B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO;YACL,IAAI,gBAAgB,CAClB,KAAK,EACL,UAAU,EACV,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,KAAK,EAAE,CACd;SACF,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAAe;QAMjC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO;YACL,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,QAAkB,EAClB,IAAiB,EACjB,OAAe,EACf,UAAkB;QAElB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE1C,IAAI,OAAiB,CAAC;QACtB,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;YACrB,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACxC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CACL,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,EACrD,GAAG,GAAG,EAAE,GAAG,CAAC,CACb,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,SAAS,OAAO,EAAE,CAAC;QAE7D,OAAO;YACL,OAAO;YACP,SAAS;YACT,UAAU;YACV,IAAI;YACJ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,IAAI;YACT,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAEO,WAAW,CACjB,UAAsC,EACtC,SAAoC;QAEpC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAoB,CAAC;YAC3C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/tasks/detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"segmenter.d.ts","sourceRoot":"","sources":["../../src/tasks/segmenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segmenter.d.ts","sourceRoot":"","sources":["../../src/tasks/segmenter.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  */
4
4
  import { OrtSession, } from "../core/session.js";
5
5
  import { SpeedTimer } from "../core/timing.js";
6
- import { resolveInputSize } from "../core/graph.js";
7
6
  import { loadImage } from "../io/image.js";
7
+ import { detectionNumClasses, resolveInputSize } from "../core/graph.js";
8
+ import { modelNames } from "../core/metadata.js";
8
9
  import { resolveLabels } from "../labels.js";
9
10
  import { decodeYoloSeg } from "../postprocess/segmentation.js";
10
11
  import { letterbox, toCHW, toFloat32, toFloat32Tensor, } from "../preprocess/image.js";
@@ -63,8 +64,8 @@ export class Segmenter extends VisionTask {
63
64
  throw new Error(`Unsupported segmenter head '${head}'. Supported: 'yolo-seg'.`);
64
65
  }
65
66
  const session = await OrtSession.create(model, options);
66
- const labels = resolveLabels(options.labels ?? "coco", {
67
- numClasses: options.numClasses,
67
+ const labels = resolveLabels(options.labels ?? modelNames(session.metadata) ?? "coco", {
68
+ numClasses: options.numClasses ?? detectionNumClasses(session.outputShape) ?? undefined,
68
69
  });
69
70
  const names = {};
70
71
  for (let i = 0; i < labels.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"segmenter.js","sourceRoot":"","sources":["../../src/tasks/segmenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segmenter.js","sourceRoot":"","sources":["../../src/tasks/segmenter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mauriciobenjamin700/ort-vision-sdk-web",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "High-level TypeScript SDK for browser computer vision inference with ONNX Runtime Web.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",