All Projects → VladKha → object_detector

VladKha / object_detector

Licence: MIT license
Object detector from HOG + Linear SVM framework

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to object detector

Libfaceid
libfaceid is a research framework for prototyping of face recognition solutions. It seamlessly integrates multiple detection, recognition and liveness models w/ speech synthesis and speech recognition.
Stars: ✭ 354 (+1375%)
Mutual labels:  scikit-learn, face-detection
FaceRecog
Realtime Facial recognition system using Siamese neural network
Stars: ✭ 47 (+95.83%)
Mutual labels:  face-detection, opencv-python
align iranian national id card
A program to align rotated id cards and extract user data from it.
Stars: ✭ 48 (+100%)
Mutual labels:  scikit-image, face-detection
udacity-cvnd-projects
My solutions to the projects assigned for the Udacity Computer Vision Nanodegree
Stars: ✭ 36 (+50%)
Mutual labels:  face-detection, opencv-python
facial-landmarks
Facial landmarks detection with OpenCV, Dlib, DNN
Stars: ✭ 25 (+4.17%)
Mutual labels:  face-detection, opencv-python
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (+112.5%)
Mutual labels:  face-detection, opencv-python
Age-Prediction
This Project is an applicaton based on Computer vision and Machine learning implementation using regression supervised classification.
Stars: ✭ 26 (+8.33%)
Mutual labels:  face-detection, opencv-python
Image-Processing-in-Python
This repository contains the links to the article that I wrote on Medium pertaining to Image processing.
Stars: ✭ 23 (-4.17%)
Mutual labels:  face-detection, opencv-python
Face-Detection-and-Tracking
Face Detection and tracking using CamShift, Kalman Filter, Optical Flow
Stars: ✭ 30 (+25%)
Mutual labels:  face-detection, opencv-python
ComputerVision-Essentials
Computer Vision Essentials in Python Programming Language 🎉
Stars: ✭ 28 (+16.67%)
Mutual labels:  face-detection, opencv-python
image processing
image-processing exercises.
Stars: ✭ 25 (+4.17%)
Mutual labels:  face-detection, opencv-python
BlurryFaces
A tool to blur faces or other regions in images and videos 🤡🔍
Stars: ✭ 58 (+141.67%)
Mutual labels:  face-detection, opencv-python
Face-Detection-and-Tracking
Computer Vision model to detect face in the first frame of a video and to continue tracking it in the rest of the video. This is implemented in OpenCV 3.3.0 and Python 2.7
Stars: ✭ 24 (+0%)
Mutual labels:  face-detection, opencv-python
Insta flters with python
With this program you can add hat & glass on your face(it's support multiple faces)
Stars: ✭ 21 (-12.5%)
Mutual labels:  face-detection, opencv-python
keras-yolo3-facedetection
Real-time face detection model using YOLOv3 with Keras
Stars: ✭ 13 (-45.83%)
Mutual labels:  face-detection
scikit-learn
به فارسی، برای مشارکت scikit-learn
Stars: ✭ 19 (-20.83%)
Mutual labels:  scikit-learn
EyeControlledCursor
Controlling mouse cursor from eye.
Stars: ✭ 36 (+50%)
Mutual labels:  opencv-python
books
A collection of online books for data science, computer science and coding!
Stars: ✭ 29 (+20.83%)
Mutual labels:  scikit-learn
DIP-In-Python
Play around with Pixel in Python
Stars: ✭ 42 (+75%)
Mutual labels:  scikit-image
kdd99-scikit
Solutions to kdd99 dataset with Decision tree and Neural network by scikit-learn
Stars: ✭ 50 (+108.33%)
Mutual labels:  scikit-learn

object_detector

Object Detector using HOG as descriptor and Linear SVM as classifier

Prerequisites

Install OpenCV 3 with Python 3 bindings

Dependencies

You can install all dependencies by running

pip install -r requirements.txt

Run the code

To test the code, run the lines below in your terminal

git clone https://github.com/vladkha/object_detector.git
cd object_detector/bin
python test_object_detector.py

The test_object_detector.py will download the CelebA and WIDER FACE datasets and train a classifier to detect faces in an image. The SVM model files will be stored in data/models, so that they can be reused later on in test_classifier.py

Configuration File

All the configurations are in the data/config/config.cfg configuration files. You can change it as per your need. Here is what the default configuration file looks like

[hog]
window_size: [178, 218]
window_step_size: 20
orientations: 9
pixels_per_cell: [8, 8]
cells_per_block: [3, 3]
visualise: False
normalise: None

[nms]
threshold: 0.4

[paths]
model_path: ../data/models/model_name.model

[general]
pyramid_downscale = 1.5
pos_samples = 1000
neg_samples = 1000

About modules

  • config.py -- imports the configuration variables from config.cfg
  • create_neg_samples_WIDER.py -- module to create negative samples (images of non-faces from WIDER dataset)
  • extract_features.py -- module used to extract HOG features of the training images
  • train_classifier.py -- module used to train the classifier
  • test_classifier.py -- module used to test the classifier using a test image
  • utils.py -- module containing helper functions

Some results

Detections before NMS Detections after NMS

Built With

TODO

Possible ways to improve the project:

  • Make the sliding window computation run in parallel - can dramatically speedup the code
  • Split processing of the image pyramid in test_classifier.py to different cores of the processor, that way each core can process a separate layer of the pyramid independently
  • Add bootstrapping (Hard Negative Mining)

Acknowledgments

License

This project is licensed under the MIT License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].