yolo-helpers
Version:
Helper functions to use models converted from YOLO in browser and Node.js
41 lines (40 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeClassify = decodeClassify;
/**
* tensorflow output: [batch, class_index] -> confidence
* e.g. 1x1000 for 1 batch of 1000 classes
*
* The confidence are already normalized between 0 to 1, and sum up to 1.
*/
function decodeClassify(args) {
let { num_classes } = args;
// e.g. 1x80
let batches = args.output;
if (batches[0].length === 0) {
// no a single batch
return [];
}
if (batches[0].length !== num_classes) {
throw new Error(`data[batch].length must be ${num_classes}`);
}
let result = [];
for (let all_confidences of batches) {
// e.g. 80 numbers
let class_index = 0;
let class_confidence = all_confidences[0];
for (let i = 1; i < num_classes; i++) {
let confidence = all_confidences[i];
if (confidence > class_confidence) {
class_confidence = confidence;
class_index = i;
}
}
result.push({
all_confidences,
class_index,
confidence: class_confidence,
});
}
return result;
}