# Pixel Intensity Comparison-based Object detection (pico)
This repository contains the code for real-time face detection.
Check out a demo video at <http://www.youtube.com/watch?v=1lXfm-PZz0Q> to get the better idea.
The **pico** framework is a modifcation of the standard Viola-Jones method.
The basic idea is to scan the image with a cascade of binary classifers at all reasonable positions and scales.
An image region is classifed as an object of interest if it successfully passes all the members of the cascade.
Each binary classifier consists of an ensemble of decision trees with pixel intensity comparisons as binary tests in their internal nodes.
This enables the detector to process image regions at very high speed.
The details are given in <http://arxiv.org/abs/1305.4537>.
Some highlights of **pico** are:
* high processing speed;
* there is no need for image preprocessing prior to detection;
* there is no need for the computation of integral images, image pyramid, HOG pyramid or any other similar data structure;
* all binary tests in internal nodes of the trees are based on the same feature type (not the case in the V-J framework);
* the method can easily be modified for fast detection of in-plane rotated objects.
It can be said that the main limitation of **pico** is also its simplicity:
**pico** should be avoided when there is a large variation in appearance of the object class.
This means, for example, that **pico** should not be used for detecting pedestrians.
Large, modern convolutional neural networks are suitable for such cases.
However, **pico** can be used for simple object classes (e.g., faces or templates) when real-time performance is desired.
## Detecting objects in images and videos
The folder **rnt/** contains all the needed resources to perform object detection in images and video streams with pre-trained classification cascades.
Specifically, sample applications that perform face detection can be found in the folder **rnt/samples/**.
Note that the library also enables the detection of rotated objects without the need of image resampling or classification cascade retraining.
This is achieved by rotating the binary tests in internal tree nodes, as described in the paper.
### Embedding the runtime within your application
To use the runtime in your own application, you have to:
* Include a prototype of `find_objects(...)` in your code (for example, by adding `#include picornt.h`)
* Compile `picornt.c` with your code
* Load/include a classification cascade generated with `picolrn` (e.g., `rnt/cascades/facefinder`)
* Invoke `find_objects(...)` with appropriate parameters
Notice that there are no specific library dependencies, i.e., the code can be compiled out-of-the-box with a standard C compiler.
To get a feel for how the library works, we recommend that you look at `rnt/samples/native/sample.c` as is was specifically written to be used as documentation.
## Learning custom object detectors
The program `picolrn.c` (available in the folder **gen/**) enables you to learn your own (custom) object detectors.
The training data has to be provided in a specific format.
The details are printed to the standard output when `picolrn` is invoked without parameters.
It is often convenient to pipe this information into a text file:
$ ./picolrn > howto.txt
A tutorial that guides you through the process of learning a face detector can be found in the folder **gen/sample/**.
## Citation
If you use the provided code/binaries for your work, please cite the following paper:
> N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", <http://arxiv.org/abs/1305.4537>
## Contact
For any additional information contact me at <nenad.markus@fer.hr>.
Copyright (c) 2013, Nenad Markus.
All rights reserved.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AI换脸_AI趣味换脸的微信小程序实现_优质项目实战.zip (74个子文件)
AI换脸_AI趣味换脸的微信小程序实现_优质项目实战
s0.jpg 105KB
miniprogram
sitemap.json 191B
pages
index
index.wxml 252B
index.js 313KB
index.json 2B
index.wxss 340B
app.json 398B
project.config.json 802B
app.js 359B
utils
md5.js 4KB
face_detect_helper.js 11KB
util.js 472B
load_images.js 13KB
app.wxss 4KB
cloudfunctions
imgSecCheck
package.json 83B
package-lock.json 25KB
index.js 539B
.gitignore 13B
static
arrow_up.png 2KB
tip.png 5KB
icon_color_level.png 5KB
arrow_left.png 5KB
download.png 3KB
icon_scale.png 5KB
01.jpg 10KB
logo.png 5KB
arrow_right.png 2KB
icon_rotate.png 2KB
head.jpg 2KB
code.jpg 47KB
arrow_bottom.png 2KB
hourglass.png 2KB
loader.png 15KB
icon_share.png 3KB
faceoff
pages
index
index.wxml 7KB
index.js 43KB
face-off.js 499KB
index.json 27B
index.wxss 3KB
s1.jpg 78KB
face-off
Cargo.toml 524B
.vscode
settings.json 49B
replace.js 1KB
build.cmd 76B
src
main.rs 22KB
detector.rs 7KB
face_off.rs 12KB
library.c 3KB
histogram.rs 12KB
imgtool.rs 15KB
image_proc.rs 6KB
.cargo
config 127B
build.rs 162B
Cargo.lock 9KB
env.bat 22B
pico
rnt
samples
native
makefile 225B
sample.c 12KB
readme.md 3KB
python
readme.md 61B
demo.py 2KB
cascades
facefinder 234KB
picornt.h 686B
picornt.c 7KB
LICENSE 1KB
readme.md 4KB
gen
makefile 58B
sample
dldata.sh 276B
readme.md 1KB
caltechfaces.py 2KB
background.py 1KB
picolrn.c 20KB
.gitignore 29B
minicode.jpg 47KB
README.md 195B
共 74 条
- 1
资源评论
JZSJ
- 粉丝: 2w+
- 资源: 1325
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功