# tfjs-yolov3 **Repository Path**: skyarn/tfjs-yolov3 ## Basic Information - **Project Name**: tfjs-yolov3 - **Description**: A Tensorflow js implementation of YOLOv3 and YOLOv3-tiny - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-03-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 中文 | [English](./README_EN.md) # tfjs-yolov3 ## 介绍 完全用js来实现图片中的目标检测 基于yolov3算法和Tensorflow.js库 用tensorflow.js实现yolov3和yolov3-tiny 需要注意的是: 必须是Tensorflow.js@v0.12.4版本以上 ## 特点 - 可以识别**任意尺寸**的图片 - 同时支持yolov3和yolov3-tiny ## 快速开始 ### 安装 ``` npm install tfjs-yolov3 ``` ### 用法示例 ```javascript import { yolov3, yolov3Tiny } from 'tfjs-yolov3' async function start () { const yolo = await yolov3Tiny() // pre-load model (35M) // or // const yolo = await yolov3() // pre-load model (245M) const $img = document.getElementById('img') const boxes = await yolo($img) draw(boxes) // Some draw function } start() ``` ## API 文档 yolov3和yolov3Tiny函数接受一个options对象,并返回一个函数 ```typescript export declare function yolov3 ( { modelUrl, anchors }? : { modelUrl?: string, anchors?: number[] } ): Promise export declare function yolov3Tiny ( { modelUrl, anchors }? : { modelUrl?: string, anchors?: number[] } ): Promise ``` | 参数 | 说明 | | ------------ | ------------ | | modelUrl | 可选,预训练model的url,可把model下载到本地,加快预训练model的加载速度,[点我下载](https://github.com/zqingr/tfjs-yolov3/releases/tag/v1.0) | | anchors | 可选,可自定义anchores,格式参考[config](https://github.com/zqingr/tfjs-yolov3/blob/master/src/yolo/config.js) | 这两个函数调用后会加载预训练model,并返回一个函数,可用这个函数去识别图片,并返回识别后的box列表,参数如下: ```typescript type yolo = ($img: HTMLImageElement) => Promise interface Box { top: number left: number bottom: number right: number width: number height: number scores: number classes: string } ``` ## DEMO [点击查看在线DEMO](https://zqingr.github.io/tfjs-yolov3-demo/) ![demo](./docs/img/demo1.jpg)