diff --git a/object_analytics_node/include/object_analytics_node/tracker/trackerKCF.hpp b/object_analytics_node/include/object_analytics_node/tracker/trackerKCF.hpp index 5e8c127..ac0100f 100644 --- a/object_analytics_node/include/object_analytics_node/tracker/trackerKCF.hpp +++ b/object_analytics_node/include/object_analytics_node/tracker/trackerKCF.hpp @@ -111,7 +111,8 @@ class TrackerKCFImpl { public: TrackerKCFImpl(); - void setFeatureExtractor(void (* f)(const cv::Mat, const cv::Rect2d, cv::Mat &), + void setFeatureExtractor( + void (* f)(const cv::Mat, const cv::Rect2d, cv::Mat &), bool pca_func = false); Params params; bool isInit; @@ -121,7 +122,8 @@ class TrackerKCFImpl */ bool initImpl(const cv::Mat & image, cv::Rect2d & boundingBox); - bool detectImpl(const cv::Mat & image, cv::Rect2d & boundingBox, float & confidence, + bool detectImpl( + const cv::Mat & image, cv::Rect2d & boundingBox, float & confidence, bool debug = false); bool updateWithTrackImpl( @@ -137,7 +139,8 @@ class TrackerKCFImpl */ bool extractFeature(const cv::Mat & image, cv::Rect2d u_roi, cv::Mat & featureSet); - bool extractKernelMap(const cv::Mat & srcFeature, const cv::Mat & dstFeature, + bool extractKernelMap( + const cv::Mat & srcFeature, const cv::Mat & dstFeature, cv::Mat & kernelMap); bool extractCovar( @@ -174,7 +177,8 @@ class TrackerKCFImpl * KCF functions and vars */ void createHanningWindow(cv::OutputArray dest, const cv::Size winSize, const int type) const; - void inline fft2(const cv::Mat src, std::vector & dest, + void inline fft2( + const cv::Mat src, std::vector & dest, std::vector & layers_data) const; void inline fft2(const cv::Mat src, cv::Mat & dest) const; void inline ifft2(const cv::Mat src, cv::Mat & dest) const; @@ -189,7 +193,7 @@ class TrackerKCFImpl cv::Mat pca_data, cv::Mat new_cov, cv::Mat w, cv::Mat u, cv::Mat vt); void inline compress( const cv::Mat proj_matrix, const cv::Mat src, cv::Mat & dest, cv::Mat & data, - cv::Mat & compressed) const; + cv::Mat & compressed) const; bool getSubWindow( const cv::Mat img, const cv::Rect2d roi, cv::Mat & feat, cv::Mat & patch, MODE desc = GRAY) const; @@ -204,14 +208,14 @@ class TrackerKCFImpl void denseGaussKernel( const float sigma, const cv::Mat, const cv::Mat y_data, cv::Mat & k_data, std::vector & layers_data, std::vector & xf_data, - std::vector & yf_data, std::vector xyf_v, - cv::Mat xy, cv::Mat xyf) const; + std::vector & yf_data, std::vector xyf_v, + cv::Mat xy, cv::Mat xyf) const; void calcResponse( const cv::Mat alphaf_data, const cv::Mat kf_data, cv::Mat & response_data, - cv::Mat & spec_data) const; + cv::Mat & spec_data) const; void calcResponse( const cv::Mat alphaf_data, const cv::Mat alphaf_den_data, const cv::Mat kf_data, - cv::Mat & response_data, cv::Mat & spec_data, cv::Mat & spec2_data) const; + cv::Mat & response_data, cv::Mat & spec_data, cv::Mat & spec2_data) const; void shiftRows(cv::Mat & mat) const; void shiftRows(cv::Mat & mat, int n) const; @@ -221,30 +225,41 @@ class TrackerKCFImpl #endif private: - float output_sigma; - cv::Rect2d roi; - cv::Mat hann; // hann window filter - cv::Mat hann_cn; // 10 dimensional hann-window filter for CN features, - - cv::Mat y, yf; // training response and its FFT - cv::Mat x; // observation and its FFT - cv::Mat k, kf; // dense gaussian kernel and its FFT - cv::Mat kf_lambda; // kf+lambda - cv::Mat new_alphaf, alphaf; // training coefficients - cv::Mat new_alphaf_den, alphaf_den; // for splitted training coefficients - cv::Mat z; // model - cv::Mat response; // detection result - cv::Mat old_cov_mtx, proj_mtx; // for feature compression + float output_sigma; + cv::Rect2d roi; + // hann window filter + cv::Mat hann; + // 10 dimensional hann-window filter for CN features + cv::Mat hann_cn; + + // training response and its FFT + cv::Mat y, yf; + // observation and its FFT + cv::Mat x; + // dense gaussian kernel and its FFT + cv::Mat k, kf; + // kf+lambda + cv::Mat kf_lambda; + // training coefficients + cv::Mat new_alphaf, alphaf; + // for splitted training coefficients + cv::Mat new_alphaf_den, alphaf_den; + // model + cv::Mat z; + // detection result + cv::Mat response; + // for feature compression + cv::Mat old_cov_mtx, proj_mtx; // pre-defined Mat variables for optimization of private functions - cv::Mat spec, spec2; + cv::Mat spec, spec2; std::vector layers; std::vector vxf, vyf, vxyf; - cv::Mat xy_data, xyf_data; - cv::Mat data_temp, compress_data; + cv::Mat xy_data, xyf_data; + cv::Mat data_temp, compress_data; std::vector layers_pca_data; std::vector average_data; - cv::Mat img_Patch; + cv::Mat img_Patch; // storage of the extracted features std::vector features_pca; @@ -253,7 +268,7 @@ class TrackerKCFImpl std::vector descriptors_npca; // optimization variables for updateProjectionMatrix - cv::Mat data_pca, new_covar, w_data, u_data, vt_data; + cv::Mat data_pca, new_covar, w_data, u_data, vt_data; // custom feature extractor bool use_custom_extractor_pca; diff --git a/object_analytics_node/include/object_analytics_node/tracker/tracking_manager.hpp b/object_analytics_node/include/object_analytics_node/tracker/tracking_manager.hpp index 2b0548d..304c7f1 100644 --- a/object_analytics_node/include/object_analytics_node/tracker/tracking_manager.hpp +++ b/object_analytics_node/include/object_analytics_node/tracker/tracking_manager.hpp @@ -185,4 +185,3 @@ class TrackingManager } // namespace tracker #endif // OBJECT_ANALYTICS_NODE__TRACKER__TRACKING_MANAGER_HPP_ - diff --git a/object_analytics_node/src/tracker/tracking.cpp b/object_analytics_node/src/tracker/tracking.cpp index 10e9ed4..927ed91 100644 --- a/object_analytics_node/src/tracker/tracking.cpp +++ b/object_analytics_node/src/tracker/tracking.cpp @@ -166,7 +166,7 @@ void Tracking::updateTracker( tracked_rect_, probability_, debug); if (!ret) { - TRACE_INFO( "Tracker(%d) update stamp(%f), det(%d), failed since of match fail!!!!", + TRACE_INFO("Tracker(%d) update stamp(%f), det(%d), failed since of match fail!!!!", tracking_id_, lstamp, det); state_ = LOST; diff --git a/object_analytics_node/src/visualizer/CMakeLists.txt b/object_analytics_node/src/visualizer/CMakeLists.txt index 5238e35..1a73a18 100644 --- a/object_analytics_node/src/visualizer/CMakeLists.txt +++ b/object_analytics_node/src/visualizer/CMakeLists.txt @@ -22,15 +22,15 @@ endif() #################################### ## to use C++11 -set (CMAKE_CXX_STANDARD 11) -set (CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") #################################### if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") # we dont use add_compile_options with pedantic in message packages # because the Python C extensions dont comply with it - # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic") + # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic") endif() find_package(Pangolin REQUIRED) @@ -39,8 +39,8 @@ find_package(OpenCV 3.2 REQUIRED) include_directories( include utils - device - render_object + device + render_object view control data @@ -48,23 +48,23 @@ include_directories( model model/stat model/sample - $(CMAKE_CURRENT_SOURCE_DIR) + $(CMAKE_CURRENT_SOURCE_DIR) ) -add_executable(oa_viewer - main.cpp +add_executable(oa_viewer + main.cpp view/view.cpp control/control.cpp control/control_ds.cpp - device/stream_cap.cpp - device/stream_device.cpp - device/stream_vid.cpp - device/stream_ds.cpp - render_object/render_object.cpp - render_object/render_image.cpp - render_object/render_lines.cpp - render_object/render_rect.cpp - render_object/render_ellipse.cpp + device/stream_cap.cpp + device/stream_device.cpp + device/stream_vid.cpp + device/stream_ds.cpp + render_object/render_object.cpp + render_object/render_image.cpp + render_object/render_lines.cpp + render_object/render_rect.cpp + render_object/render_ellipse.cpp data/frame.cpp data/frame_obj.cpp data/dataset/tr_dataset.cpp @@ -78,10 +78,10 @@ add_executable(oa_viewer model/sample/sample_model.cpp model/sample/uniform_sample.cpp model/sample/rw_sample.cpp - ) + ) target_link_libraries(oa_viewer - ${PCL_COMMON_LIBRARIES} - ${Pangolin_LIBRARIES} - ${OpenCV_LIBRARIES} + ${PCL_COMMON_LIBRARIES} + ${Pangolin_LIBRARIES} + ${OpenCV_LIBRARIES} ) diff --git a/object_analytics_node/src/visualizer/data/dataset/.trimg_MTdataset.cpp.swp b/object_analytics_node/src/visualizer/data/dataset/.trimg_MTdataset.cpp.swp deleted file mode 100644 index cdcf638..0000000 Binary files a/object_analytics_node/src/visualizer/data/dataset/.trimg_MTdataset.cpp.swp and /dev/null differ diff --git a/object_analytics_node/src/visualizer/data/dataset/trimg_MTdataset.cpp b/object_analytics_node/src/visualizer/data/dataset/trimg_MTdataset.cpp index e94a3ef..dc3d80f 100644 --- a/object_analytics_node/src/visualizer/data/dataset/trimg_MTdataset.cpp +++ b/object_analytics_node/src/visualizer/data/dataset/trimg_MTdataset.cpp @@ -13,10 +13,12 @@ // limitations under the License. #include -#include #include + +#include #include #include + #include "track_dataset.hpp" namespace datasets diff --git a/object_analytics_node/src/visualizer/data/dataset/trimg_dataset.cpp b/object_analytics_node/src/visualizer/data/dataset/trimg_dataset.cpp index beaa41e..4845791 100644 --- a/object_analytics_node/src/visualizer/data/dataset/trimg_dataset.cpp +++ b/object_analytics_node/src/visualizer/data/dataset/trimg_dataset.cpp @@ -12,12 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "track_dataset.hpp" + #include -#include #include + #include #include -#include "track_dataset.hpp" +#include namespace datasets { diff --git a/object_analytics_node/src/visualizer/device/stream_cap.cpp b/object_analytics_node/src/visualizer/device/stream_cap.cpp index 6f16930..583ae23 100644 --- a/object_analytics_node/src/visualizer/device/stream_cap.cpp +++ b/object_analytics_node/src/visualizer/device/stream_cap.cpp @@ -14,6 +14,9 @@ #include "stream_cap.hpp" +#include +#include + stream_cap::stream_cap() {TRACE_INFO();} stream_cap::~stream_cap() {TRACE_INFO();} diff --git a/object_analytics_node/src/visualizer/device/stream_cap.hpp b/object_analytics_node/src/visualizer/device/stream_cap.hpp index 29aef8c..e6b3be7 100644 --- a/object_analytics_node/src/visualizer/device/stream_cap.hpp +++ b/object_analytics_node/src/visualizer/device/stream_cap.hpp @@ -14,6 +14,8 @@ #pragma once +#include + #include #include #include @@ -21,8 +23,7 @@ #include #include #include - -#include +#include #include "stream_device.hpp" diff --git a/object_analytics_node/src/visualizer/device/stream_device.cpp b/object_analytics_node/src/visualizer/device/stream_device.cpp index 9a81ccf..2bfddcf 100644 --- a/object_analytics_node/src/visualizer/device/stream_device.cpp +++ b/object_analytics_node/src/visualizer/device/stream_device.cpp @@ -13,6 +13,10 @@ // limitations under the License. #include "stream_device.hpp" + +#include +#include + #include "stream_cap.hpp" #include "stream_ds.hpp" #include "stream_vid.hpp" diff --git a/object_analytics_node/src/visualizer/device/stream_device.hpp b/object_analytics_node/src/visualizer/device/stream_device.hpp index 4d434f7..9ee6126 100644 --- a/object_analytics_node/src/visualizer/device/stream_device.hpp +++ b/object_analytics_node/src/visualizer/device/stream_device.hpp @@ -14,6 +14,8 @@ #pragma once +#include + #include #include #include @@ -27,8 +29,7 @@ #include #include #include - -#include +#include #include "frame.hpp" #include "utility.hpp" diff --git a/object_analytics_node/src/visualizer/device/stream_ds.cpp b/object_analytics_node/src/visualizer/device/stream_ds.cpp index 66f76d8..ece8adf 100644 --- a/object_analytics_node/src/visualizer/device/stream_ds.cpp +++ b/object_analytics_node/src/visualizer/device/stream_ds.cpp @@ -13,6 +13,10 @@ // limitations under the License. #include "stream_ds.hpp" + +#include +#include + #include "frame_obj.hpp" #include "object.hpp" diff --git a/object_analytics_node/src/visualizer/device/stream_ds.hpp b/object_analytics_node/src/visualizer/device/stream_ds.hpp index 62209ae..79e84c1 100644 --- a/object_analytics_node/src/visualizer/device/stream_ds.hpp +++ b/object_analytics_node/src/visualizer/device/stream_ds.hpp @@ -14,16 +14,17 @@ #pragma once +#include + #include #include #include #include #include #include +#include #include -#include - #include "stream_device.hpp" #include "track_dataset.hpp" diff --git a/object_analytics_node/src/visualizer/device/stream_render.hpp b/object_analytics_node/src/visualizer/device/stream_render.hpp index 936778c..05c52da 100644 --- a/object_analytics_node/src/visualizer/device/stream_render.hpp +++ b/object_analytics_node/src/visualizer/device/stream_render.hpp @@ -14,6 +14,8 @@ #pragma once +#include + #include #include #include @@ -23,8 +25,6 @@ #include #include -#include - class stream_render { public: diff --git a/object_analytics_node/src/visualizer/device/stream_vid.cpp b/object_analytics_node/src/visualizer/device/stream_vid.cpp index c61662b..a328df0 100644 --- a/object_analytics_node/src/visualizer/device/stream_vid.cpp +++ b/object_analytics_node/src/visualizer/device/stream_vid.cpp @@ -14,6 +14,9 @@ #include "stream_vid.hpp" +#include +#include + stream_vid::stream_vid() {TRACE_INFO();} stream_vid::~stream_vid() {TRACE_INFO();} diff --git a/object_analytics_node/src/visualizer/device/stream_vid.hpp b/object_analytics_node/src/visualizer/device/stream_vid.hpp index e82132e..b5936de 100644 --- a/object_analytics_node/src/visualizer/device/stream_vid.hpp +++ b/object_analytics_node/src/visualizer/device/stream_vid.hpp @@ -14,6 +14,8 @@ #pragma once +#include + #include #include #include @@ -22,8 +24,6 @@ #include #include -#include - #include "stream_device.hpp" class stream_vid : public stream_device diff --git a/object_analytics_node/src/visualizer/model/math_model.hpp b/object_analytics_node/src/visualizer/model/math_model.hpp index 9f7fda3..e552c34 100644 --- a/object_analytics_node/src/visualizer/model/math_model.hpp +++ b/object_analytics_node/src/visualizer/model/math_model.hpp @@ -16,13 +16,13 @@ #include #include +#include +#include + #include #include #include -#include -#include - #include "utility.hpp" class MathModel diff --git a/object_analytics_node/src/visualizer/model/math_sample.cpp b/object_analytics_node/src/visualizer/model/math_sample.cpp index d4a99b3..c037a3f 100644 --- a/object_analytics_node/src/visualizer/model/math_sample.cpp +++ b/object_analytics_node/src/visualizer/model/math_sample.cpp @@ -14,6 +14,9 @@ #include "math_sample.hpp" +#include +#include + MathSample::MathSample() {TRACE_INFO();} MathSample::~MathSample() {TRACE_INFO();} diff --git a/object_analytics_node/src/visualizer/model/math_sample.hpp b/object_analytics_node/src/visualizer/model/math_sample.hpp index f8ebb9f..c21f482 100644 --- a/object_analytics_node/src/visualizer/model/math_sample.hpp +++ b/object_analytics_node/src/visualizer/model/math_sample.hpp @@ -16,17 +16,16 @@ #include #include +#include +#include + #include #include #include -#include -#include - #include "gaussian_model.hpp" #include "uniform_sample.hpp" #include "rw_sample.hpp" - #include "utility.hpp" class MathSample @@ -85,5 +84,4 @@ class MathSample SampleModel::Ptr SampleModel_ = nullptr; uint32_t Counts_ = 0; - }; diff --git a/object_analytics_node/src/visualizer/model/sample/rw_sample.hpp b/object_analytics_node/src/visualizer/model/sample/rw_sample.hpp index fc93cbe..c31fa4d 100644 --- a/object_analytics_node/src/visualizer/model/sample/rw_sample.hpp +++ b/object_analytics_node/src/visualizer/model/sample/rw_sample.hpp @@ -16,16 +16,16 @@ #include #include +#include +#include +#include + #include #include #include #include #include "sample_model.hpp" -#include -#include -#include - #include "utility.hpp" class RWSample : public SampleModel @@ -55,5 +55,4 @@ class RWSample : public SampleModel * @brief Fetch samples */ virtual bool FetchSamples(cv::Mat & samples); - }; diff --git a/object_analytics_node/src/visualizer/model/sample/sample_model.hpp b/object_analytics_node/src/visualizer/model/sample/sample_model.hpp index f2f507e..c7fa6b6 100644 --- a/object_analytics_node/src/visualizer/model/sample/sample_model.hpp +++ b/object_analytics_node/src/visualizer/model/sample/sample_model.hpp @@ -16,13 +16,14 @@ #include #include +#include + #include #include #include #include #include -#include #include "utility.hpp" class SampleModel @@ -98,5 +99,4 @@ class SampleModel * @brief Callback of evaluator */ CBPtr Evaluator_Proc_ = nullptr; - }; diff --git a/object_analytics_node/src/visualizer/model/sample/uniform_sample.hpp b/object_analytics_node/src/visualizer/model/sample/uniform_sample.hpp index 195f638..b16bb4e 100644 --- a/object_analytics_node/src/visualizer/model/sample/uniform_sample.hpp +++ b/object_analytics_node/src/visualizer/model/sample/uniform_sample.hpp @@ -16,16 +16,16 @@ #include #include +#include +#include +#include + #include #include #include #include #include "sample_model.hpp" -#include -#include -#include - #include "utility.hpp" class UniformSample : public SampleModel diff --git a/object_analytics_node/src/visualizer/render_object/render_image.hpp b/object_analytics_node/src/visualizer/render_object/render_image.hpp index d2330ff..33d42cf 100644 --- a/object_analytics_node/src/visualizer/render_object/render_image.hpp +++ b/object_analytics_node/src/visualizer/render_object/render_image.hpp @@ -17,6 +17,9 @@ #include #include +#include +#include + #include "render_object.hpp" class RenderImage : public RenderObject diff --git a/object_analytics_node/src/visualizer/render_object/render_lines.hpp b/object_analytics_node/src/visualizer/render_object/render_lines.hpp index 1e937ce..21cc536 100644 --- a/object_analytics_node/src/visualizer/render_object/render_lines.hpp +++ b/object_analytics_node/src/visualizer/render_object/render_lines.hpp @@ -17,6 +17,9 @@ #include #include +#include +#include + #include "render_object.hpp" class RenderLines : public RenderObject diff --git a/object_analytics_node/src/visualizer/render_object/render_object.hpp b/object_analytics_node/src/visualizer/render_object/render_object.hpp index 7f9cfdf..0c25b7f 100644 --- a/object_analytics_node/src/visualizer/render_object/render_object.hpp +++ b/object_analytics_node/src/visualizer/render_object/render_object.hpp @@ -27,6 +27,10 @@ #include #include +#include +#include +#include + #include "utility.hpp" class RenderObject