Skip to content

Latest commit

 

History

History
69 lines (42 loc) · 1.72 KB

README.md

File metadata and controls

69 lines (42 loc) · 1.72 KB

Retinaface-WASM npm GitHub

This is a WASM implementation of the Retinaface face detection algorithm. It is based on the Retinaface paper.

本模块支持微信小程序且不依赖任何第三方库, 可直接使用! (手动 brotli 压缩 wasm 文件和拷贝 index.ts 代码即可)

Screenshots

screenshot

Usage

Installation

npm install retinaface-wasm

Example

import Retinaface, { getWasmFile, env } from 'retinaface-wasm'
import imagePath from './R.jpg'

const wasm = await WebAssembly.instantiateStreaming(fetch('https://cdn.jsdelivr.net/npm/retinaface-wasm/wasm/' + getWasmFile()), env)
const retinaface = new Retinaface(wasm.instance)

const image = new Image()
image.src = imagePath
await new Promise((resolve, reject) => {
  image.onload = resolve
  image.onerror = reject
})

const [data, scale] = retinaface.processImage(image)
const result = retinaface.detect(data, scale)

console.log(result)

retinaface.close()

Brotli Compress WASM

node -e "fs.writeFileSync('retinaface-basic.wasm.br', zlib.brotliCompressSync(fs.readFileSync('retinaface-basic.wasm')))"

Examples

WeChat Mini Program

WeChat Mini Program Example

478 Landmarks

478 Landmarks Example

Landmark Indexes

landmarks

Author

Shirasawa

License

MIT