
Security News
Socket Security Analysis Is Now One Click Away on npm
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.
object-detect
Advanced tools
js-objectdetect is a javascript library for real-time object detection.
This library is based on the work of Paul Viola and Rainer Lienhart and compatible to stump based HAAR cascade classifiers used by the OpenCV object detector.
Watch this video for a short demonstration.
All modern browsers including IE 9+, Safari and Opera Mobile are supported.
js-objectdetect can be used for object detection, tracking and, in combination with mordern HTML5 features such as WebRTC, for all sorts of augmented reality applications that run in the browser without any plugin.
The following demos are available (Internet Explorer and iOS not supported):
Rotating a 3D object via hand gesture
Scrolling a website via hand gesture
js-objectdetect is compatible to stump based classifiers used by OpenCV. Classifiers for face, hand and eye detection are already included. More can be found on the web (classifier repository). However, not all classifiers have the same performance and some are quite sensitive to lighting conditions. Cascades have to be converted into the js-objectdetect format before usage. The cascade format is similar to that of tracking.js. Converters for old and new style OpenCV xml haarcascades are available.
The following list provides a runtime and detection performance comparison among current JavaScript face detection libraries. All test results have been acquired by applying either a 24x24 stump-based HAAR cascade or, in case of CCV, a 24x24 SURF cascade classifier with minimum step size on a single scale 80x80 image. Measured times are summed over 100 executions.
Last updated on February 7, 2015
| Chrome 40 / FF 35 | Detections per Second | Detections | Seconds |
|---|---|---|---|
| js-objectdetect | 17.5 / 16.9 | 50 / 50 | 2.86 / 2.96 |
| jsfeat1 | 9.4 / 6.3 | 30 / 30 | 3.18 / 4.75 |
| tracking.js | 7.7 / 8.97 | 48 / 48 | 6.24 / 5.35 |
| Beyond Reality Face2 | 7.4 / 1.7 | 41 / 41 | 5.50 / 23.98 |
| CCV3 | 2.2 / 4.4 | 8 / 8 | 2.22 / 1.80 |
| js-objectdetect | tracking.js | jsfeat1 | Beyond Reality Face2 | CCV3 |
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
1 also auduno/clmtrackr, camgaze.js. Based on an older version of js-objectdetect.
2 Proprietary software, tested with v3.0.15. Fails to compile asm module in FF.
3 also jquery.facedetection, neave/face-detection, wesbos/HTML5-Face-Detection, auduno/headtrackr
Examples can be found in the repository. For documentation, refer to the JSDoc in the source files.
js-objectdetect is distributed under MIT license. The included classifiers are subject to their own licenses.
Thanks to Audun Mathias Øygard (auduno) for his inspirational headtrackr library, Brandon Jones (toji) for his valuable javascript performance tipps, Nikos (foo123) for his port of JViolaJones on which the canny pruning algorithm is based on and tracking.js for the classifier format.
FAQs
Native JavaScript Object Detection
We found that object-detect demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.

Security News
A compromised npm publish token was used to push a malicious postinstall script in cline@2.3.0, affecting the popular AI coding agent CLI with 90k weekly downloads.

Product
Socket is now scanning AI agent skills across multiple languages and ecosystems, detecting malicious behavior before developers install, starting with skills.sh's 60,000+ skills.