Skip to content

Commit fdc7566

Browse files
fixed testcase + faceLandmarkDetection node example
1 parent 4b9d9af commit fdc7566

File tree

4 files changed

+69
-19
lines changed

4 files changed

+69
-19
lines changed

examples-nodejs/faceDetection.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import '@tensorflow/tfjs-node';
2+
3+
import * as canvas from 'canvas';
4+
import * as fs from 'fs';
5+
6+
import * as faceapi from '../src';
7+
8+
const { Canvas, Image } = canvas
9+
faceapi.env.monkeyPatch({ Canvas, Image })
10+
11+
async function run() {
12+
13+
await faceapi.nets.ssdMobilenetv1.loadFromDisk('../weights')
14+
15+
const img = await canvas.loadImage('./bbt1.jpg')
16+
const detections = await faceapi.detectAllFaces(img)
17+
18+
const out = faceapi.createCanvasFromMedia(img) as any
19+
faceapi.drawDetection(out, detections)
20+
21+
fs.writeFileSync('./faceDetection.jpg', out.toBuffer('image/jpeg'))
22+
console.log(detections)
23+
}
24+
25+
run()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import '@tensorflow/tfjs-node';
2+
3+
import * as canvas from 'canvas';
4+
import * as fs from 'fs';
5+
6+
import * as faceapi from '../src';
7+
8+
const { Canvas, Image } = canvas
9+
faceapi.env.monkeyPatch({ Canvas, Image })
10+
11+
async function run() {
12+
13+
await faceapi.nets.ssdMobilenetv1.loadFromDisk('../weights')
14+
await faceapi.nets.faceLandmark68Net.loadFromDisk('../weights')
15+
16+
const img = await canvas.loadImage('./bbt1.jpg')
17+
const results = await faceapi.detectAllFaces(img).withFaceLandmarks()
18+
19+
const out = faceapi.createCanvasFromMedia(img) as any
20+
faceapi.drawDetection(out, results.map(res => res.detection))
21+
faceapi.drawLandmarks(out, results.map(res => res.faceLandmarks), { drawLines: true, color: 'red' })
22+
23+
fs.writeFileSync('./faceLandmarkDetection.jpg', out.toBuffer('image/jpeg'))
24+
}
25+
26+
run()

examples-nodejs/index.ts

Lines changed: 0 additions & 18 deletions
This file was deleted.

test/tests/faceLandmarkNet/FaceLandmark68NetBase.test.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,28 @@ import * as tf from '@tensorflow/tfjs-core';
22

33
import { FaceLandmark68NetBase } from '../../../src/faceLandmarkNet/FaceLandmark68NetBase';
44

5+
class FakeFaceLandmark68NetBase extends FaceLandmark68NetBase<any> {
6+
public runNet(_: any): any {
7+
}
8+
9+
protected getDefaultModelName(): any {
10+
throw new Error('FakeNeuralNetwork - getDefaultModelName not implemented')
11+
}
12+
13+
protected extractParams(_: any): any {
14+
throw new Error('FakeNeuralNetwork - extractParams not implemented')
15+
}
16+
17+
protected extractParamsFromWeigthMap(_: any): any {
18+
throw new Error('FakeNeuralNetwork - extractParamsFromWeigthMap not implemented')
19+
}
20+
}
21+
522
describe('FaceLandmark68NetBase', () => {
623

724
describe('postProcess', () => {
825

9-
const net = new FaceLandmark68NetBase('')
26+
const net = new FakeFaceLandmark68NetBase('')
1027

1128
describe('single batch', () => {
1229

0 commit comments

Comments
 (0)