Commit fdc7566c by vincent

fixed testcase + faceLandmarkDetection node example

parent 4b9d9afd
import * as faceapi from '../src'
import '@tensorflow/tfjs-node'
import '@tensorflow/tfjs-node';
import * as canvas from 'canvas';
import * as path from 'path';
import * as fs from 'fs';
import * as faceapi from '../src';
const { Canvas, Image } = canvas
faceapi.env.monkeyPatch({ Canvas, Image })
async function run() {
await faceapi.nets.ssdMobilenetv1.loadFromDisk(path.resolve(__dirname, '../weights'))
await faceapi.nets.ssdMobilenetv1.loadFromDisk('../weights')
const img = await canvas.loadImage('./bbt1.jpg')
const detections = await faceapi.detectAllFaces(img)
const out = faceapi.createCanvasFromMedia(img) as any
faceapi.drawDetection(out, detections)
fs.writeFileSync('./faceDetection.jpg', out.toBuffer('image/jpeg'))
console.log(detections)
}
......
import '@tensorflow/tfjs-node';
import * as canvas from 'canvas';
import * as fs from 'fs';
import * as faceapi from '../src';
const { Canvas, Image } = canvas
faceapi.env.monkeyPatch({ Canvas, Image })
async function run() {
await faceapi.nets.ssdMobilenetv1.loadFromDisk('../weights')
await faceapi.nets.faceLandmark68Net.loadFromDisk('../weights')
const img = await canvas.loadImage('./bbt1.jpg')
const results = await faceapi.detectAllFaces(img).withFaceLandmarks()
const out = faceapi.createCanvasFromMedia(img) as any
faceapi.drawDetection(out, results.map(res => res.detection))
faceapi.drawLandmarks(out, results.map(res => res.faceLandmarks), { drawLines: true, color: 'red' })
fs.writeFileSync('./faceLandmarkDetection.jpg', out.toBuffer('image/jpeg'))
}
run()
\ No newline at end of file
......@@ -2,11 +2,28 @@ import * as tf from '@tensorflow/tfjs-core';
import { FaceLandmark68NetBase } from '../../../src/faceLandmarkNet/FaceLandmark68NetBase';
class FakeFaceLandmark68NetBase extends FaceLandmark68NetBase<any> {
public runNet(_: any): any {
}
protected getDefaultModelName(): any {
throw new Error('FakeNeuralNetwork - getDefaultModelName not implemented')
}
protected extractParams(_: any): any {
throw new Error('FakeNeuralNetwork - extractParams not implemented')
}
protected extractParamsFromWeigthMap(_: any): any {
throw new Error('FakeNeuralNetwork - extractParamsFromWeigthMap not implemented')
}
}
describe('FaceLandmark68NetBase', () => {
describe('postProcess', () => {
const net = new FaceLandmark68NetBase('')
const net = new FakeFaceLandmark68NetBase('')
describe('single batch', () => {
......
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