This program detects hot dogs in videos (at least it tries as hard as it can).
/src/
main.cpp - the starting point and detection logic
Model.h - Class that creates a neural network from the Yolo3
Model.cpp trained dataset and works with that network
Detector.h - Class that process video frames
Detector.cpp and opens a video file
/data/
coco.names - classifier labels for Yolo3
hotdogs.mp4 - input video file
yolov3-tiny.cfg - Yolo3 configuration
yolov3-tiny.weights - Yolo3 trained network
- README
- Compiling and testing
- Loops, Functions, I/O
- The project reads data from a file and process the data: main.cpp:19, model.cpp:15
- Object Oriented Programming
- The project uses Object Oriented Programming techniques: Detector.h, Model.h
- Classes use appropriate access specifiers for class members: Detector.h:7, Detector.h:13, Model.h:7, Model.h:15
- Class constructors utilize member initialization lists: Detector.h:8, Model.cpp:5
- Classes abstract implementation details from their interfaces: Detector.h, Detector.cpp, Model.h, Model.cpp
- Memory Management
- The project makes use of references in function declarations: Detector.h:11, Model.h:11
- cmake >= 3.7
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- OpenCV >= 4.1
- The OpenCV 4.1.0 source code can be found here
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Make a build directory in the top level directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./hotdog_video_detector