- Initial version, main functionality:
- Body keypoint detection and rendering in Ubuntu 14 and 16.
- It can read an image directory, video or webcam.
- It can display the results or storing them on disk.
- Main improvements:
- Rendering max resolution from 720p to >32k images.
- Highly improved documentation.
- Functions or parameters renamed:
- Demo renamed from rtpose to openpose.
- Main bugs fixed:
- Demo uses exec instead of start, so it works with more OpenCV custom compiled versions.
- Main improvements:
- Added face keypoint detection.
- Added Windows 10 compatibility.
- Auto-detection of the number of GPUs.
- MPI visualization more similar to COCO one.
- Rendering max resolution from 720p to >32k images.
- GUI info adder working when the worker TDatum has more than 1 Datum.
- It prints out the error description before throwing the exception (so that it is written on the Windows cmd).
- Highly improved documentation.
- Functions or parameters renamed:
- Flag
write_pose
renamed aswrite_keypoint
and it also applies to face and/or hands. - Flag
write_pose_json
renamed aswrite_keypoint_json
and it also applies to face and/or hands. - Flag
write_pose_format
renamed aswrite_keypoint_format
and it also applies to face and/or hands. - PoseSaver and its JSON variant renamed as KeypointSaver.
- PoseJsonCocoSaver renamed as CocoJsonSaver.
- Flag
- Main bugs fixed:
- All visualization functions moved to same thread, so it works with most OpenCV custom compiled versions.
- Fixed error on debug mode:
Too many resources requested for launch
.
- Main improvements:
- Added hand keypoint detection.
- Windows branch merged to master branch.
- Face and hands use
Maximum
instead ofNms
, since there is only 1 person / detection. - Increased accuracy on multi-scale (added
Datum::scaleRatios
to save the relative scale ratio when multi-scale). - Increased speed ~5% by adding CPU rendering (but GPU is the default rendering).
- Rendering colors modified, visually better results.
- Rendering threshold for pose, face and hands becomes user-configurable.
- Check() functions give more feedback.
- WCocoJsonSaver finished and removed its 3599-image limit.
- Added
camera_fps
so generated video will use that frame rate. - Reduced the number of printed information messages. Default logging priority threshold increased to Priority::Max.
- Google flags to OpenPose configuration parameters reader moved from each demo to utilities/flagsToOpenPose.
- Nms classes do not use
numberParts
forReshape
, they deduce the value. - Improved documentation.
- Functions or parameters renamed:
- Render flags renamed in the demo in order to incorporate the CPU/GPU rendering.
- Keypoints saved in JSON files (
write_keypoint_json
) are now saved aspose_keypoints
,face_keypoints
,hand_left_keypoints
, andhand_right_keypoints
. They all were previously saved asbody_parts
. - Flag
num_scales
renamed asscale_number
. - All hand and pose flags renamed such as they start by
hand_
andface_
respectively.
- Main bugs fixed:
- Fixed bug in Array::getConstCvMat() if mVolume=0, now returning empty cv::Mat.
- Fixed bug:
--process_real_time
threw error with webcam. - Fixed bug: Face not working when input and output resolutions are different.
- Fixed some bugs that prevented debug version to run.
- Face saved in JSON files were called
body_parts
. Now they are calledface_keypoints
.
- Main improvements:
- Windows library turned into DLL dynamic library (i.e. portable).
- Improved documentation.
- Functions or parameters renamed:
openpose/utilities/macros.hpp
moved toopenpose/utilities/macros.hpp
.
- Main improvements:
- Added OpenCV 3.3 compatibility.
- Caffe turned into DLL library.
- OpenPose is now completely portable across Windows 10 computers (with Nvidia graphic card).
- Added OpenPose 1.0.1 portable demo.
- Removed Python and some unnecessary boost dependencies on the VS project.
- Replaced all double quotes by angle brackets in include statements (issue #61).
- Added 3-D reconstruction demo.
- Auto-detection of the camera index.
- Speed up of ~30% in op::floatPtrToUCharCvMat.
- COCO extractor now extracts image ID from the image name itslef (format "string_%d"). Before, only working with validation test, now applicable to e.g. test sets.
- Changed display texts, added
OpenPose
name.
- Main bugs fixed:
- Pycaffe can now be imported from Python.
- Fixed
Tutorial/Wrapper
VS linking errors.
- Main improvements:
- Added CMake installer for Ubuntu.
- Added how to use keypoint data in
examples/tutorial_wrapper/
. - Added flag for warnings of type
-Wsign-compare
and removed in code. - Slightly improved accuracy by considering ears-shoulder connection (e.g. +0.4 mAP for 1 scale in validation set).
- Main bugs fixed:
- Windows version crashing with std::map copy.
- Main improvements:
- Speed increase when processing images with different aspect ratios. E.g. ~20% increase over 3.7k COCO validation images on 1 scale.
- Huge speed increase and memory reduction when processing multi-scale. E.g. over 3.7k COCO validation images on 4 scales: ~40% (~770 to ~450 sec) speed increase, ~25% memory reduction (from ~8.9 to ~6.7 GB / GPU).
- Slightly increase of accuracy given the fixed mini-bugs.
- Added IP camera support.
- Output images can have the input size, OpenPose able to change its size for each image and not required fixed size anymore.
- FrameDisplayer accepts variable size images by rescaling every time a frame with bigger width or height is displayed (gui module).
- OpOutputToCvMat & GuiInfoAdder does not require to know the output size at construction time, deduced from each image.
- CvMatToOutput and Renderers allow to keep input resolution as output for images (core module).
- New standalone face keypoint detector based on OpenCV face detector: much faster if body keypoint detection is not required but much less accurate.
- Face and hand keypoint detectors now can return each keypoint heatmap.
- The flag
USE_CUDNN
is no longer required;USE_CAFFE
andUSE_CUDA
(replacing the oldCPU_ONLY
) are no longer required to use the library, only to build it. In addition, Boost, Caffe, and its dependencies have been removed from the OpenPose header files. Only OpenCV include and lib folders are required when building a project using OpenPose. - OpenPose successfully compiles if the flags
USE_CAFFE
and/orUSE_CUDA
are not enabled, although it will give an error saying they are required. - COCO JSON file outputs 0 as score for non-detected keypoints.
- Added example for OpenPose for user asynchronous output and cleaned all
tutorial_wrapper/
examples. - Added
-1
option fornet_resolution
in order to auto-select the best possible aspect ratio given the user input. - Net resolution can be dynamically changed (e.g. for images with different size).
- Added example to add functionality/modules to OpenPose.
- Added
disable_multi_thread
flag in order to allow debug and/or highly reduce the latency (e.g. when using webcam in real-time). - Allowed to output images without any rendering.
- Functions or parameters renamed:
- OpenPose able to change its size and initial size dynamically:
- Flag
resolution
renamed asoutput_resolution
. - FrameDisplayer, GuiInfoAdder and Gui constructors arguments modified (gui module).
- OpOutputToCvMat constructor removed (core module).
- New Renders classes to split GpuRenderers from CpuRenderers.
- Etc.
- Flag
- OpenPose able to change its net resolution size dynamically:
- Changed several functions on
core/
,pose/
,face/
, andhand/
modules.
- Changed several functions on
CPU_ONLY
changed byUSE_CUDA
to keep format.
- OpenPose able to change its size and initial size dynamically:
- Main bugs fixed:
- Scaling resize issue fixed: ~1-pixel offset due to not considering 0-based indexes.
- Ubuntu installer script now works even if Python pip was not installed previously.
- Flags to set first and last frame as well as jumping frames backward and forward now works on image directory reader.
- Main bugs fixed:
- Render working on images > 4K (#324).