Commit 16c95d9e by Javier Ledo Vázquez

Update to tensorflowjs 1.0.1

parent 21ce7136
......@@ -39,7 +39,7 @@ var Mtcnn = /** @class */ (function (_super) {
stats = {};
tsTotal = Date.now();
imgTensor = tf.tidy(function () {
return bgrToRgbTensor_1.bgrToRgbTensor(tf.expandDims(tf.fromPixels(inputCanvas)).toFloat());
return bgrToRgbTensor_1.bgrToRgbTensor(tf.expandDims(tf.browser.fromPixels(inputCanvas)).toFloat());
});
onReturn = function (results) {
// dispose tensors on return
......
{"version":3,"file":"Mtcnn.js","sourceRoot":"","sources":["../../../src/mtcnn/Mtcnn.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"Mtcnn.js","sourceRoot":"","sources":["../../../src/mtcnn/Mtcnn.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -20,15 +20,15 @@ function extractBoundingBoxes(scoresTensor, regionsTensor, scale, scoreThreshold
var indices = [];
for (var y = 0; y < scoresTensor.shape[0]; y++) {
for (var x = 0; x < scoresTensor.shape[1]; x++) {
if (scoresTensor.get(y, x) >= scoreThreshold) {
if (scoresTensor.arraySync()[y][x] >= scoreThreshold) {
indices.push(new tfjs_image_recognition_base_1.Point(x, y));
}
}
}
var boundingBoxes = indices.map(function (idx) {
var cell = new tfjs_image_recognition_base_1.BoundingBox(Math.round((idx.y * config_1.CELL_STRIDE + 1) / scale), Math.round((idx.x * config_1.CELL_STRIDE + 1) / scale), Math.round((idx.y * config_1.CELL_STRIDE + config_1.CELL_SIZE) / scale), Math.round((idx.x * config_1.CELL_STRIDE + config_1.CELL_SIZE) / scale));
var score = scoresTensor.get(idx.y, idx.x);
var region = new MtcnnBox_1.MtcnnBox(regionsTensor.get(idx.y, idx.x, 0), regionsTensor.get(idx.y, idx.x, 1), regionsTensor.get(idx.y, idx.x, 2), regionsTensor.get(idx.y, idx.x, 3));
var score = scoresTensor.arraySync()[idx.y][idx.x];
var region = new MtcnnBox_1.MtcnnBox(regionsTensor.arraySync()[idx.y][idx.x][0], regionsTensor.arraySync()[idx.y][idx.x][1], regionsTensor.arraySync()[idx.y][idx.x][2], regionsTensor.arraySync()[idx.y][idx.x][3]);
return {
cell: cell,
score: score,
......
{"version":3,"file":"stage1.js","sourceRoot":"","sources":["../../../src/mtcnn/stage1.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"stage1.js","sourceRoot":"","sources":["../../../src/mtcnn/stage1.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -48,7 +48,7 @@ function stage2(img, inputBoxes, scoreThreshold, params, stats) {
indicesNms = tfjs_image_recognition_base_1.nonMaxSuppression(filteredBoxes, filteredScores, 0.7);
stats.stage2_nms = Date.now() - ts;
regions_1 = indicesNms.map(function (idx) {
return new MtcnnBox_1.MtcnnBox(rnetOuts[indices[idx]].regions.get(0, 0), rnetOuts[indices[idx]].regions.get(0, 1), rnetOuts[indices[idx]].regions.get(0, 2), rnetOuts[indices[idx]].regions.get(0, 3));
return new MtcnnBox_1.MtcnnBox(rnetOuts[indices[idx]].regions.arraySync()[0][0], rnetOuts[indices[idx]].regions.arraySync()[0][1], rnetOuts[indices[idx]].regions.arraySync()[0][2], rnetOuts[indices[idx]].regions.arraySync()[0][3]);
});
finalScores = indicesNms.map(function (idx) { return filteredScores[idx]; });
finalBoxes = indicesNms.map(function (idx, i) { return filteredBoxes[idx].calibrate(regions_1[i]); });
......
{"version":3,"file":"stage2.js","sourceRoot":"","sources":["../../../src/mtcnn/stage2.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"stage2.js","sourceRoot":"","sources":["../../../src/mtcnn/stage2.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AAC5C,2EAAqE;AAErE,6DAA4D;AAC5D,uCAAsC;AACtC,+BAA8B;AAG9B,SAAsB,MAAM,CAC1B,GAAsB,EACtB,UAAiB,EACjB,cAAsB,EACtB,MAAkB,EAClB,KAAU;;;;;;oBAGN,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBACA,qBAAM,yCAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAA;;oBAAlF,UAAU,GAAG,SAAqE;oBACxF,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;oBAElD,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBACT,QAAQ,GAAG,UAAU,CAAC,GAAG,CAC7B,UAAA,SAAS;wBACP,IAAM,GAAG,GAAG,WAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;wBACnC,SAAS,CAAC,OAAO,EAAE,CAAA;wBACnB,OAAO,GAAG,CAAA;oBACZ,CAAC,CACF,CAAA;oBACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;oBAE7B,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;wBACtC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,EAAV,CAAU,CAAC,CAAC;wBAC5C,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;oBACP,KAAA,CAAA,KAAA,KAAK,CAAA,CAAC,IAAI,CAAA;oBAAC,qBAAM,YAAY,CAAC,IAAI,EAAE,EAAA;;oBAA7C,MAAM,GAAG,cAAW,SAAyB,EAAC;oBACpD,YAAY,CAAC,OAAO,EAAE,CAAA;oBAEhB,OAAO,GAAG,MAAM;yBACnB,GAAG,CAAC,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,CAAC,EAAhB,CAAgB,CAAC;yBACrC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAG,cAAc,EAAxB,CAAwB,CAAC;yBACrC,GAAG,CAAC,UAAC,EAAO;4BAAL,YAAG;wBAAO,OAAA,GAAG;oBAAH,CAAG,CAAC,CAAA;oBAElB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,UAAU,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAA;oBACnD,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAA;oBAElD,UAAU,GAAU,EAAE,CAAA;oBACtB,WAAW,GAAa,EAAE,CAAA;oBAE9B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBACT,UAAU,GAAG,+CAAiB,CAClC,aAAa,EACb,cAAc,EACd,GAAG,CACJ,CAAA;wBACD,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;wBAE5B,YAAU,UAAU,CAAC,GAAG,CAAC,UAAA,GAAG;4BAChC,OAAA,IAAI,mBAAQ,CACV,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD;wBALD,CAKC,CACF,CAAA;wBAED,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,cAAc,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC,CAAA;wBACxD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAO,CAAC,CAAC,CAAC,CAAC,EAAxC,CAAwC,CAAC,CAAA;qBAClF;oBAED,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC;wBAChB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;wBACnB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;oBACpB,CAAC,CAAC,CAAA;oBAEF,sBAAO;4BACL,KAAK,EAAE,UAAU;4BACjB,MAAM,EAAE,WAAW;yBACpB,EAAA;;;;CACF;AAtED,wBAsEC"}
\ No newline at end of file
......@@ -39,7 +39,7 @@ function stage3(img, inputBoxes, scoreThreshold, params, stats) {
var idx = _a.idx;
return idx;
});
filteredRegions = indices.map(function (idx) { return new MtcnnBox_1.MtcnnBox(onetOuts[idx].regions.get(0, 0), onetOuts[idx].regions.get(0, 1), onetOuts[idx].regions.get(0, 2), onetOuts[idx].regions.get(0, 3)); });
filteredRegions = indices.map(function (idx) { return new MtcnnBox_1.MtcnnBox(onetOuts[idx].regions.arraySync()[0][0], onetOuts[idx].regions.arraySync()[0][1], onetOuts[idx].regions.arraySync()[0][2], onetOuts[idx].regions.arraySync()[0][3]); });
filteredBoxes = indices
.map(function (idx, i) { return inputBoxes[idx].calibrate(filteredRegions[i]); });
filteredScores = indices.map(function (idx) { return scores[idx]; });
......@@ -54,7 +54,7 @@ function stage3(img, inputBoxes, scoreThreshold, params, stats) {
finalScores = indicesNms.map(function (idx) { return filteredScores[idx]; });
points = indicesNms.map(function (idx, i) {
return Array(5).fill(0).map(function (_, ptIdx) {
return new tfjs_image_recognition_base_1.Point(((onetOuts[idx].points.get(0, ptIdx) * (finalBoxes[i].width + 1)) + finalBoxes[i].left), ((onetOuts[idx].points.get(0, ptIdx + 5) * (finalBoxes[i].height + 1)) + finalBoxes[i].top));
return new tfjs_image_recognition_base_1.Point(((onetOuts[idx].points.arraySync()[0][ptIdx] * (finalBoxes[i].width + 1)) + finalBoxes[i].left), ((onetOuts[idx].points.arraySync()[0][ptIdx + 5] * (finalBoxes[i].height + 1)) + finalBoxes[i].top));
});
});
}
......
{"version":3,"file":"stage3.js","sourceRoot":"","sources":["../../../src/mtcnn/stage3.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"stage3.js","sourceRoot":"","sources":["../../../src/mtcnn/stage3.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -73,12 +73,12 @@ var SsdMobilenetv1 = /** @class */ (function (_super) {
results = indices
.map(function (idx) {
var _a = [
Math.max(0, boxes.get(idx, 0)),
Math.min(1.0, boxes.get(idx, 2))
Math.max(0, boxes.arraySync()[idx][0]),
Math.min(1.0, boxes.arraySync()[idx][2])
].map(function (val) { return val * padY; }), top = _a[0], bottom = _a[1];
var _b = [
Math.max(0, boxes.get(idx, 1)),
Math.min(1.0, boxes.get(idx, 3))
Math.max(0, boxes.arraySync()[idx][1]),
Math.min(1.0, boxes.arraySync()[idx][3])
].map(function (val) { return val * padX; }), left = _b[0], right = _b[1];
return new FaceDetection_1.FaceDetection(scoresData[idx], new tfjs_image_recognition_base_1.Rect(left, top, right - left, bottom - top), {
height: netInput.getInputHeight(0),
......
......@@ -32,14 +32,14 @@ function nonMaxSuppression(boxes, scores, maxOutputSize, iouThreshold, scoreThre
}
exports.nonMaxSuppression = nonMaxSuppression;
function IOU(boxes, i, j) {
var yminI = Math.min(boxes.get(i, 0), boxes.get(i, 2));
var xminI = Math.min(boxes.get(i, 1), boxes.get(i, 3));
var ymaxI = Math.max(boxes.get(i, 0), boxes.get(i, 2));
var xmaxI = Math.max(boxes.get(i, 1), boxes.get(i, 3));
var yminJ = Math.min(boxes.get(j, 0), boxes.get(j, 2));
var xminJ = Math.min(boxes.get(j, 1), boxes.get(j, 3));
var ymaxJ = Math.max(boxes.get(j, 0), boxes.get(j, 2));
var xmaxJ = Math.max(boxes.get(j, 1), boxes.get(j, 3));
var yminI = Math.min(boxes.arraySync()[i][0], boxes.arraySync()[i][2]);
var xminI = Math.min(boxes.arraySync()[i][1], boxes.arraySync()[i][3]);
var ymaxI = Math.max(boxes.arraySync()[i][0], boxes.arraySync()[i][2]);
var xmaxI = Math.max(boxes.arraySync()[i][1], boxes.arraySync()[i][3]);
var yminJ = Math.min(boxes.arraySync()[j][0], boxes.arraySync()[j][2]);
var xminJ = Math.min(boxes.arraySync()[j][1], boxes.arraySync()[j][3]);
var ymaxJ = Math.max(boxes.arraySync()[j][0], boxes.arraySync()[j][2]);
var xmaxJ = Math.max(boxes.arraySync()[j][1], boxes.arraySync()[j][3]);
var areaI = (ymaxI - yminI) * (xmaxI - xminI);
var areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);
if (areaI <= 0 || areaJ <= 0) {
......
{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../../src/ssdMobilenetv1/nonMaxSuppression.ts"],"names":[],"mappings":";;AAEA,SAAgB,iBAAiB,CAC/B,KAAkB,EAClB,MAAgB,EAChB,aAAqB,EACrB,YAAoB,EACpB,cAAsB;IAGtB,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,aAAa,EACb,QAAQ,CACT,CAAA;IAED,IAAM,UAAU,GAAG,MAAM;SACtB,GAAG,CAAC,UAAC,KAAK,EAAE,QAAQ,IAAK,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAArB,CAAqB,CAAC;SAC/C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAG,cAAc,EAAxB,CAAwB,CAAC;SACrC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,EAAnB,CAAmB,CAAC,CAAA;IAExC,IAAM,YAAY,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAzB,CAAyB,CAAA;IAE7D,IAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE;YACjC,OAAM;SACP;QACD,IAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAA;QAE7B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7C,IAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,SAAQ;aACT;YACD,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,EAAE;gBAC7B,MAAK;aACN;SACF;QAED,IAAI,aAAa,KAAK,CAAC,CAAC,KAAK,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;SAC1B;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC;AA9CD,8CA8CC;AAED,SAAS,GAAG,CAAC,KAAkB,EAAE,CAAS,EAAE,CAAS;IACnD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxD,IAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC/C,IAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC/C,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAC5B,OAAO,GAAG,CAAA;KACX;IACD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAClB,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACtD,OAAO,gBAAgB,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAA;AAC9D,CAAC"}
\ No newline at end of file
{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../../src/ssdMobilenetv1/nonMaxSuppression.ts"],"names":[],"mappings":";;AAEA,SAAgB,iBAAiB,CAC/B,KAAkB,EAClB,MAAgB,EAChB,aAAqB,EACrB,YAAoB,EACpB,cAAsB;IAGtB,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,aAAa,EACb,QAAQ,CACT,CAAA;IAED,IAAM,UAAU,GAAG,MAAM;SACtB,GAAG,CAAC,UAAC,KAAK,EAAE,QAAQ,IAAK,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAArB,CAAqB,CAAC;SAC/C,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,KAAK,GAAG,cAAc,EAAxB,CAAwB,CAAC;SACrC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,EAAnB,CAAmB,CAAC,CAAA;IAExC,IAAM,YAAY,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAzB,CAAyB,CAAA;IAE7D,IAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE;YACjC,OAAM;SACP;QACD,IAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAA;QAE7B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7C,IAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,IAAI,GAAG,KAAK,GAAG,EAAE;gBACf,SAAQ;aACT;YACD,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,EAAE;gBAC7B,MAAK;aACN;SACF;QAED,IAAI,aAAa,KAAK,CAAC,CAAC,KAAK,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;SAC1B;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC;AA9CD,8CA8CC;AAED,SAAS,GAAG,CAAC,KAAkB,EAAE,CAAS,EAAE,CAAS;IACnD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,IAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC/C,IAAM,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC/C,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QAC5B,OAAO,GAAG,CAAA;KACX;IACD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/C,IAAM,gBAAgB,GAClB,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAA;IACtD,OAAO,gBAAgB,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAA;AAC9D,CAAC"}
\ No newline at end of file
......@@ -37,7 +37,7 @@ var Mtcnn = /** @class */ (function (_super) {
stats = {};
tsTotal = Date.now();
imgTensor = tf.tidy(function () {
return bgrToRgbTensor(tf.expandDims(tf.fromPixels(inputCanvas)).toFloat());
return bgrToRgbTensor(tf.expandDims(tf.browser.fromPixels(inputCanvas)).toFloat());
});
onReturn = function (results) {
// dispose tensors on return
......
{"version":3,"file":"Mtcnn.js","sourceRoot":"","sources":["../../../src/mtcnn/Mtcnn.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"Mtcnn.js","sourceRoot":"","sources":["../../../src/mtcnn/Mtcnn.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -18,15 +18,15 @@ function extractBoundingBoxes(scoresTensor, regionsTensor, scale, scoreThreshold
var indices = [];
for (var y = 0; y < scoresTensor.shape[0]; y++) {
for (var x = 0; x < scoresTensor.shape[1]; x++) {
if (scoresTensor.get(y, x) >= scoreThreshold) {
if (scoresTensor.arraySync()[y][x] >= scoreThreshold) {
indices.push(new Point(x, y));
}
}
}
var boundingBoxes = indices.map(function (idx) {
var cell = new BoundingBox(Math.round((idx.y * CELL_STRIDE + 1) / scale), Math.round((idx.x * CELL_STRIDE + 1) / scale), Math.round((idx.y * CELL_STRIDE + CELL_SIZE) / scale), Math.round((idx.x * CELL_STRIDE + CELL_SIZE) / scale));
var score = scoresTensor.get(idx.y, idx.x);
var region = new MtcnnBox(regionsTensor.get(idx.y, idx.x, 0), regionsTensor.get(idx.y, idx.x, 1), regionsTensor.get(idx.y, idx.x, 2), regionsTensor.get(idx.y, idx.x, 3));
var score = scoresTensor.arraySync()[idx.y][idx.x];
var region = new MtcnnBox(regionsTensor.arraySync()[idx.y][idx.x][0], regionsTensor.arraySync()[idx.y][idx.x][1], regionsTensor.arraySync()[idx.y][idx.x][2], regionsTensor.arraySync()[idx.y][idx.x][3]);
return {
cell: cell,
score: score,
......
......@@ -46,7 +46,7 @@ export function stage2(img, inputBoxes, scoreThreshold, params, stats) {
indicesNms = nonMaxSuppression(filteredBoxes, filteredScores, 0.7);
stats.stage2_nms = Date.now() - ts;
regions_1 = indicesNms.map(function (idx) {
return new MtcnnBox(rnetOuts[indices[idx]].regions.get(0, 0), rnetOuts[indices[idx]].regions.get(0, 1), rnetOuts[indices[idx]].regions.get(0, 2), rnetOuts[indices[idx]].regions.get(0, 3));
return new MtcnnBox(rnetOuts[indices[idx]].regions.arraySync()[0][0], rnetOuts[indices[idx]].regions.arraySync()[0][1], rnetOuts[indices[idx]].regions.arraySync()[0][2], rnetOuts[indices[idx]].regions.arraySync()[0][3]);
});
finalScores = indicesNms.map(function (idx) { return filteredScores[idx]; });
finalBoxes = indicesNms.map(function (idx, i) { return filteredBoxes[idx].calibrate(regions_1[i]); });
......
{"version":3,"file":"stage2.js","sourceRoot":"","sources":["../../../src/mtcnn/stage2.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"stage2.js","sourceRoot":"","sources":["../../../src/mtcnn/stage2.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -37,7 +37,7 @@ export function stage3(img, inputBoxes, scoreThreshold, params, stats) {
var idx = _a.idx;
return idx;
});
filteredRegions = indices.map(function (idx) { return new MtcnnBox(onetOuts[idx].regions.get(0, 0), onetOuts[idx].regions.get(0, 1), onetOuts[idx].regions.get(0, 2), onetOuts[idx].regions.get(0, 3)); });
filteredRegions = indices.map(function (idx) { return new MtcnnBox(onetOuts[idx].regions.arraySync()[0][0], onetOuts[idx].regions.arraySync()[0][1], onetOuts[idx].regions.arraySync()[0][2], onetOuts[idx].regions.arraySync()[0][3]); });
filteredBoxes = indices
.map(function (idx, i) { return inputBoxes[idx].calibrate(filteredRegions[i]); });
filteredScores = indices.map(function (idx) { return scores[idx]; });
......@@ -52,7 +52,7 @@ export function stage3(img, inputBoxes, scoreThreshold, params, stats) {
finalScores = indicesNms.map(function (idx) { return filteredScores[idx]; });
points = indicesNms.map(function (idx, i) {
return Array(5).fill(0).map(function (_, ptIdx) {
return new Point(((onetOuts[idx].points.get(0, ptIdx) * (finalBoxes[i].width + 1)) + finalBoxes[i].left), ((onetOuts[idx].points.get(0, ptIdx + 5) * (finalBoxes[i].height + 1)) + finalBoxes[i].top));
return new Point(((onetOuts[idx].points.arraySync()[0][ptIdx] * (finalBoxes[i].width + 1)) + finalBoxes[i].left), ((onetOuts[idx].points.arraySync()[0][ptIdx + 5] * (finalBoxes[i].height + 1)) + finalBoxes[i].top));
});
});
}
......
{"version":3,"file":"stage3.js","sourceRoot":"","sources":["../../../src/mtcnn/stage3.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"stage3.js","sourceRoot":"","sources":["../../../src/mtcnn/stage3.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -71,12 +71,12 @@ var SsdMobilenetv1 = /** @class */ (function (_super) {
results = indices
.map(function (idx) {
var _a = [
Math.max(0, boxes.get(idx, 0)),
Math.min(1.0, boxes.get(idx, 2))
Math.max(0, boxes.arraySync()[idx][0]),
Math.min(1.0, boxes.arraySync()[idx][2])
].map(function (val) { return val * padY; }), top = _a[0], bottom = _a[1];
var _b = [
Math.max(0, boxes.get(idx, 1)),
Math.min(1.0, boxes.get(idx, 3))
Math.max(0, boxes.arraySync()[idx][1]),
Math.min(1.0, boxes.arraySync()[idx][3])
].map(function (val) { return val * padX; }), left = _b[0], right = _b[1];
return new FaceDetection(scoresData[idx], new Rect(left, top, right - left, bottom - top), {
height: netInput.getInputHeight(0),
......
......@@ -29,14 +29,14 @@ export function nonMaxSuppression(boxes, scores, maxOutputSize, iouThreshold, sc
return selected;
}
function IOU(boxes, i, j) {
var yminI = Math.min(boxes.get(i, 0), boxes.get(i, 2));
var xminI = Math.min(boxes.get(i, 1), boxes.get(i, 3));
var ymaxI = Math.max(boxes.get(i, 0), boxes.get(i, 2));
var xmaxI = Math.max(boxes.get(i, 1), boxes.get(i, 3));
var yminJ = Math.min(boxes.get(j, 0), boxes.get(j, 2));
var xminJ = Math.min(boxes.get(j, 1), boxes.get(j, 3));
var ymaxJ = Math.max(boxes.get(j, 0), boxes.get(j, 2));
var xmaxJ = Math.max(boxes.get(j, 1), boxes.get(j, 3));
var yminI = Math.min(boxes.arraySync()[i][0], boxes.arraySync()[i][2]);
var xminI = Math.min(boxes.arraySync()[i][1], boxes.arraySync()[i][3]);
var ymaxI = Math.max(boxes.arraySync()[i][0], boxes.arraySync()[i][2]);
var xmaxI = Math.max(boxes.arraySync()[i][1], boxes.arraySync()[i][3]);
var yminJ = Math.min(boxes.arraySync()[j][0], boxes.arraySync()[j][2]);
var xminJ = Math.min(boxes.arraySync()[j][1], boxes.arraySync()[j][3]);
var ymaxJ = Math.max(boxes.arraySync()[j][0], boxes.arraySync()[j][2]);
var xmaxJ = Math.max(boxes.arraySync()[j][1], boxes.arraySync()[j][3]);
var areaI = (ymaxI - yminI) * (xmaxI - xminI);
var areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ);
if (areaI <= 0 || areaJ <= 0) {
......
{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../../src/ssdMobilenetv1/nonMaxSuppression.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"nonMaxSuppression.js","sourceRoot":"","sources":["../../../src/ssdMobilenetv1/nonMaxSuppression.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -35,12 +35,12 @@
"author": "justadudewhohacks",
"license": "MIT",
"dependencies": {
"@tensorflow/tfjs-core": "0.14.2",
"@tensorflow/tfjs-core": "1.0.1",
"tfjs-image-recognition-base": "^0.4.1",
"tslib": "^1.9.3"
},
"devDependencies": {
"@tensorflow/tfjs-node": "^0.2.3",
"@tensorflow/tfjs-node": "^1.0.1",
"@types/jasmine": "^3.3.8",
"@types/node": "^10.12.18",
"canvas": "2.0.1",
......
......@@ -45,7 +45,7 @@ export class Mtcnn extends NeuralNetwork<NetParams> {
const imgTensor = tf.tidy(() =>
bgrToRgbTensor(
tf.expandDims(tf.fromPixels(inputCanvas)).toFloat() as tf.Tensor4D
tf.expandDims(tf.browser.fromPixels(inputCanvas)).toFloat() as tf.Tensor4D
)
)
......
......@@ -30,7 +30,7 @@ function extractBoundingBoxes(
const indices: Point[] = []
for (let y = 0; y < scoresTensor.shape[0]; y++) {
for (let x = 0; x < scoresTensor.shape[1]; x++) {
if (scoresTensor.get(y, x) >= scoreThreshold) {
if (scoresTensor.arraySync()[y][x] >= scoreThreshold) {
indices.push(new Point(x, y))
}
}
......@@ -44,13 +44,13 @@ function extractBoundingBoxes(
Math.round((idx.x * CELL_STRIDE + CELL_SIZE) / scale)
)
const score = scoresTensor.get(idx.y, idx.x)
const score = scoresTensor.arraySync()[idx.y][idx.x]
const region = new MtcnnBox(
regionsTensor.get(idx.y, idx.x, 0),
regionsTensor.get(idx.y, idx.x, 1),
regionsTensor.get(idx.y, idx.x, 2),
regionsTensor.get(idx.y, idx.x, 3)
regionsTensor.arraySync()[idx.y][idx.x][0],
regionsTensor.arraySync()[idx.y][idx.x][1],
regionsTensor.arraySync()[idx.y][idx.x][2],
regionsTensor.arraySync()[idx.y][idx.x][3]
)
return {
......
......@@ -56,10 +56,10 @@ export async function stage2(
const regions = indicesNms.map(idx =>
new MtcnnBox(
rnetOuts[indices[idx]].regions.get(0, 0),
rnetOuts[indices[idx]].regions.get(0, 1),
rnetOuts[indices[idx]].regions.get(0, 2),
rnetOuts[indices[idx]].regions.get(0, 3)
rnetOuts[indices[idx]].regions.arraySync()[0][0],
rnetOuts[indices[idx]].regions.arraySync()[0][1],
rnetOuts[indices[idx]].regions.arraySync()[0][2],
rnetOuts[indices[idx]].regions.arraySync()[0][3]
)
)
......
......@@ -40,10 +40,10 @@ export async function stage3(
.map(({ idx }) => idx)
const filteredRegions = indices.map(idx => new MtcnnBox(
onetOuts[idx].regions.get(0, 0),
onetOuts[idx].regions.get(0, 1),
onetOuts[idx].regions.get(0, 2),
onetOuts[idx].regions.get(0, 3)
onetOuts[idx].regions.arraySync()[0][0],
onetOuts[idx].regions.arraySync()[0][1],
onetOuts[idx].regions.arraySync()[0][2],
onetOuts[idx].regions.arraySync()[0][3]
))
const filteredBoxes = indices
.map((idx, i) => inputBoxes[idx].calibrate(filteredRegions[i]))
......@@ -69,8 +69,8 @@ export async function stage3(
points = indicesNms.map((idx, i) =>
Array(5).fill(0).map((_, ptIdx) =>
new Point(
((onetOuts[idx].points.get(0, ptIdx) * (finalBoxes[i].width + 1)) + finalBoxes[i].left) ,
((onetOuts[idx].points.get(0, ptIdx + 5) * (finalBoxes[i].height + 1)) + finalBoxes[i].top)
((onetOuts[idx].points.arraySync()[0][ptIdx] * (finalBoxes[i].width + 1)) + finalBoxes[i].left) ,
((onetOuts[idx].points.arraySync()[0][ptIdx+5] * (finalBoxes[i].height + 1)) + finalBoxes[i].top)
)
)
)
......
......@@ -88,12 +88,12 @@ export class SsdMobilenetv1 extends NeuralNetwork<NetParams> {
const results = indices
.map(idx => {
const [top, bottom] = [
Math.max(0, boxes.get(idx, 0)),
Math.min(1.0, boxes.get(idx, 2))
Math.max(0, boxes.arraySync()[idx][0]),
Math.min(1.0, boxes.arraySync()[idx][2])
].map(val => val * padY)
const [left, right] = [
Math.max(0, boxes.get(idx, 1)),
Math.min(1.0, boxes.get(idx, 3))
Math.max(0, boxes.arraySync()[idx][1]),
Math.min(1.0, boxes.arraySync()[idx][3])
].map(val => val * padX)
return new FaceDetection(
scoresData[idx],
......
......@@ -49,14 +49,14 @@ export function nonMaxSuppression(
}
function IOU(boxes: tf.Tensor2D, i: number, j: number) {
const yminI = Math.min(boxes.get(i, 0), boxes.get(i, 2))
const xminI = Math.min(boxes.get(i, 1), boxes.get(i, 3))
const ymaxI = Math.max(boxes.get(i, 0), boxes.get(i, 2))
const xmaxI = Math.max(boxes.get(i, 1), boxes.get(i, 3))
const yminJ = Math.min(boxes.get(j, 0), boxes.get(j, 2))
const xminJ = Math.min(boxes.get(j, 1), boxes.get(j, 3))
const ymaxJ = Math.max(boxes.get(j, 0), boxes.get(j, 2))
const xmaxJ = Math.max(boxes.get(j, 1), boxes.get(j, 3))
const yminI = Math.min(boxes.arraySync()[i][0], boxes.arraySync()[i][2])
const xminI = Math.min(boxes.arraySync()[i][1], boxes.arraySync()[i][3])
const ymaxI = Math.max(boxes.arraySync()[i][0], boxes.arraySync()[i][2])
const xmaxI = Math.max(boxes.arraySync()[i][1], boxes.arraySync()[i][3])
const yminJ = Math.min(boxes.arraySync()[j][0], boxes.arraySync()[j][2])
const xminJ = Math.min(boxes.arraySync()[j][1], boxes.arraySync()[j][3])
const ymaxJ = Math.max(boxes.arraySync()[j][0], boxes.arraySync()[j][2])
const xmaxJ = Math.max(boxes.arraySync()[j][1], boxes.arraySync()[j][3])
const areaI = (ymaxI - yminI) * (xmaxI - xminI)
const areaJ = (ymaxJ - yminJ) * (xmaxJ - xminJ)
if (areaI <= 0 || areaJ <= 0) {
......
......@@ -6,7 +6,7 @@ describe('extractFaceTensors', () => {
let imgTensor: tf.Tensor3D
beforeAll(async () => {
imgTensor = tf.fromPixels(createCanvasFromMedia(await loadImage('test/images/face1.png')))
imgTensor = tf.browser.fromPixels(createCanvasFromMedia(await loadImage('test/images/face1.png')))
})
describe('extracts tensors', () => {
......
......@@ -57,7 +57,7 @@ describe('faceExpressionNet', () => {
})
it('computes face landmarks for batch of tf.Tensor3D', async () => {
const inputs = [imgElAngry, imgElSurprised].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const inputs = [imgElAngry, imgElSurprised].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
const results = await faceExpressionNet.predictExpressions(inputs) as FaceExpressionPrediction[][]
expect(Array.isArray(results)).toBe(true)
......@@ -80,7 +80,7 @@ describe('faceExpressionNet', () => {
})
it('computes face landmarks for batch of mixed inputs', async () => {
const inputs = [imgElAngry, tf.fromPixels(createCanvasFromMedia(imgElSurprised))]
const inputs = [imgElAngry, tf.browser.fromPixels(createCanvasFromMedia(imgElSurprised))]
const results = await faceExpressionNet.predictExpressions(inputs) as FaceExpressionPrediction[][]
expect(Array.isArray(results)).toBe(true)
......@@ -125,7 +125,7 @@ describe('faceExpressionNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgElAngry))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgElAngry))
await expectAllTensorsReleased(async () => {
const outTensor = await faceExpressionNet.forwardInput(await toNetInput(tensor))
......@@ -136,7 +136,7 @@ describe('faceExpressionNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgElAngry, imgElAngry, imgElAngry].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgElAngry, imgElAngry, imgElAngry].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
const outTensor = await faceExpressionNet.forwardInput(await toNetInput(tensors))
......@@ -147,7 +147,7 @@ describe('faceExpressionNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgElAngry)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgElAngry)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
const outTensor = await faceExpressionNet.forwardInput(await toNetInput(tensor))
......@@ -159,7 +159,7 @@ describe('faceExpressionNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgElAngry, imgElAngry, imgElAngry]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
const outTensor = await faceExpressionNet.forwardInput(await toNetInput(tensors))
......@@ -186,7 +186,7 @@ describe('faceExpressionNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgElAngry))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgElAngry))
await expectAllTensorsReleased(async () => {
await faceExpressionNet.predictExpressions(tensor)
......@@ -196,7 +196,7 @@ describe('faceExpressionNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgElAngry, imgElAngry, imgElAngry].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgElAngry, imgElAngry, imgElAngry].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
......@@ -207,7 +207,7 @@ describe('faceExpressionNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgElAngry)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgElAngry)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
await faceExpressionNet.predictExpressions(tensor)
......@@ -218,7 +218,7 @@ describe('faceExpressionNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgElAngry, imgElAngry, imgElAngry]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
await faceExpressionNet.predictExpressions(tensors)
......
......@@ -92,7 +92,7 @@ describe('faceLandmark68Net', () => {
})
it('computes face landmarks for batch of tf.Tensor3D', async () => {
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
const faceLandmarkPositions = [
faceLandmarkPositions1,
......@@ -117,7 +117,7 @@ describe('faceLandmark68Net', () => {
})
it('computes face landmarks for batch of mixed inputs', async () => {
const inputs = [imgEl1, tf.fromPixels(createCanvasFromMedia(imgEl2)), tf.fromPixels(createCanvasFromMedia(imgElRect))]
const inputs = [imgEl1, tf.browser.fromPixels(createCanvasFromMedia(imgEl2)), tf.browser.fromPixels(createCanvasFromMedia(imgElRect))]
const faceLandmarkPositions = [
faceLandmarkPositions1,
......@@ -164,7 +164,7 @@ describe('faceLandmark68Net', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgEl1))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgEl1))
await expectAllTensorsReleased(async () => {
const netInput = new NetInput([tensor])
......@@ -176,7 +176,7 @@ describe('faceLandmark68Net', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
const netInput = new NetInput(tensors)
......@@ -188,7 +188,7 @@ describe('faceLandmark68Net', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
const outTensor = await faceLandmark68Net.forwardInput(await toNetInput(tensor))
......@@ -200,7 +200,7 @@ describe('faceLandmark68Net', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
const outTensor = await faceLandmark68Net.forwardInput(await toNetInput(tensors))
......@@ -227,7 +227,7 @@ describe('faceLandmark68Net', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgEl1))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgEl1))
await expectAllTensorsReleased(async () => {
await faceLandmark68Net.detectLandmarks(tensor)
......@@ -237,7 +237,7 @@ describe('faceLandmark68Net', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
......@@ -248,7 +248,7 @@ describe('faceLandmark68Net', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
await faceLandmark68Net.detectLandmarks(tensor)
......@@ -259,7 +259,7 @@ describe('faceLandmark68Net', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
await faceLandmark68Net.detectLandmarks(tensors)
......
......@@ -91,7 +91,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('computes face landmarks for batch of tf.Tensor3D', async () => {
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
const faceLandmarkPositions = [
faceLandmarkPositions1,
......@@ -116,7 +116,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('computes face landmarks for batch of mixed inputs', async () => {
const inputs = [imgEl1, tf.fromPixels(createCanvasFromMedia(imgEl2)), tf.fromPixels(createCanvasFromMedia(imgElRect))]
const inputs = [imgEl1, tf.browser.fromPixels(createCanvasFromMedia(imgEl2)), tf.browser.fromPixels(createCanvasFromMedia(imgElRect))]
const faceLandmarkPositions = [
faceLandmarkPositions1,
......@@ -164,7 +164,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgEl1))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgEl1))
await expectAllTensorsReleased(async () => {
const netInput = new NetInput([tensor])
......@@ -176,7 +176,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
const netInput = new NetInput(tensors)
......@@ -188,7 +188,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
const outTensor = await faceLandmark68TinyNet.forwardInput(await toNetInput(tensor))
......@@ -200,7 +200,7 @@ describe('faceLandmark68TinyNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
const outTensor = await faceLandmark68TinyNet.forwardInput(await toNetInput(tensors))
......@@ -227,7 +227,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(createCanvasFromMedia(imgEl1))
const tensor = tf.browser.fromPixels(createCanvasFromMedia(imgEl1))
await expectAllTensorsReleased(async () => {
await faceLandmark68TinyNet.detectLandmarks(tensor)
......@@ -237,7 +237,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(createCanvasFromMedia(el)))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(createCanvasFromMedia(el)))
await expectAllTensorsReleased(async () => {
......@@ -248,7 +248,7 @@ describe('faceLandmark68TinyNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(imgEl1)).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
await faceLandmark68TinyNet.detectLandmarks(tensor)
......@@ -259,7 +259,7 @@ describe('faceLandmark68TinyNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(createCanvasFromMedia(el)).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
await faceLandmark68TinyNet.detectLandmarks(tensors)
......
......@@ -60,7 +60,7 @@ describe('faceRecognitionNet', () => {
})
it('computes face descriptors for batch of tf.Tensor3D', async () => {
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.fromPixels(el))
const inputs = [imgEl1, imgEl2, imgElRect].map(el => tf.browser.fromPixels(el))
const faceDescriptors = [
faceDescriptor1,
......@@ -77,7 +77,7 @@ describe('faceRecognitionNet', () => {
})
it('computes face descriptors for batch of mixed inputs', async () => {
const inputs = [imgEl1, tf.fromPixels(imgEl2), tf.fromPixels(imgElRect)]
const inputs = [imgEl1, tf.browser.fromPixels(imgEl2), tf.browser.fromPixels(imgElRect)]
const faceDescriptors = [
faceDescriptor1,
......@@ -116,7 +116,7 @@ describe('faceRecognitionNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(imgEl1)
const tensor = tf.browser.fromPixels(imgEl1)
await expectAllTensorsReleased(async () => {
const netInput = new NetInput([tensor])
......@@ -128,7 +128,7 @@ describe('faceRecognitionNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(el))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(el))
await expectAllTensorsReleased(async () => {
const netInput = new NetInput(tensors)
......@@ -140,7 +140,7 @@ describe('faceRecognitionNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(imgEl1).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(imgEl1).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
const outTensor = await faceRecognitionNet.forwardInput(await toNetInput(tensor))
......@@ -152,7 +152,7 @@ describe('faceRecognitionNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(el).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(el).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
const outTensor = await faceRecognitionNet.forwardInput(await toNetInput(tensors))
......@@ -179,7 +179,7 @@ describe('faceRecognitionNet', () => {
})
it('single tf.Tensor3D', async () => {
const tensor = tf.fromPixels(imgEl1)
const tensor = tf.browser.fromPixels(imgEl1)
await expectAllTensorsReleased(async () => {
await faceRecognitionNet.computeFaceDescriptor(tensor)
......@@ -189,7 +189,7 @@ describe('faceRecognitionNet', () => {
})
it('multiple tf.Tensor3Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.fromPixels(el))
const tensors = [imgEl1, imgEl1, imgEl1].map(el => tf.browser.fromPixels(el))
await expectAllTensorsReleased(async () => {
......@@ -200,7 +200,7 @@ describe('faceRecognitionNet', () => {
})
it('single batch size 1 tf.Tensor4Ds', async () => {
const tensor = tf.tidy(() => tf.fromPixels(imgEl1).expandDims()) as tf.Tensor4D
const tensor = tf.tidy(() => tf.browser.fromPixels(imgEl1).expandDims()) as tf.Tensor4D
await expectAllTensorsReleased(async () => {
await faceRecognitionNet.computeFaceDescriptor(tensor)
......@@ -211,7 +211,7 @@ describe('faceRecognitionNet', () => {
it('multiple batch size 1 tf.Tensor4Ds', async () => {
const tensors = [imgEl1, imgEl1, imgEl1]
.map(el => tf.tidy(() => tf.fromPixels(el).expandDims())) as tf.Tensor4D[]
.map(el => tf.tidy(() => tf.browser.fromPixels(el).expandDims())) as tf.Tensor4D[]
await expectAllTensorsReleased(async () => {
await faceRecognitionNet.computeFaceDescriptor(tensors)
......
......@@ -15,7 +15,7 @@ describe('ssdMobilenetv1 - node', () => {
const expectedScores = [0.54, 0.81, 0.97, 0.88, 0.84, 0.61]
beforeAll(async () => {
imgTensor = tf.fromPixels(createCanvasFromMedia(await loadImage('test/images/faces.jpg')))
imgTensor = tf.browser.fromPixels(createCanvasFromMedia(await loadImage('test/images/faces.jpg')))
expectedFullFaceDescriptions = await assembleExpectedFullFaceDescriptions(expectedSsdBoxes)
})
......
......@@ -15,7 +15,7 @@ describe('tinyFaceDetector - node', () => {
const expectedScores = [0.7, 0.82, 0.93, 0.86, 0.79, 0.84]
beforeAll(async () => {
imgTensor = tf.fromPixels(createCanvasFromMedia(await loadImage('test/images/faces.jpg')))
imgTensor = tf.browser.fromPixels(createCanvasFromMedia(await loadImage('test/images/faces.jpg')))
expectedFullFaceDescriptions = await assembleExpectedFullFaceDescriptions(expectedTinyFaceDetectorBoxes)
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment