/* * File: pedestrian_vehicle_retrograde.hpp * Created Date: Tuesday February 22nd 2022 * Author: yangzilong (yangzilong@objecteye.com) * Description: * ----- * Last Modified: Tuesday, 22nd February 2022 4:35:04 pm * Modified By: yangzilong (yangzilong@objecteye.com>) * ----- * Copyright 2022 */ #pragma once #include #include #include #include "../util/vpc_util.h" #include "../ai_platform/task_param_manager.h" #include "ai_engine_header.h" class DeviceMemory; namespace ai_engine_module { namespace pedestrian_vehicle_retrograde { class PedestrianVehicleRetrograde { /** * @brief * 1. move able */ public: PedestrianVehicleRetrograde(); ~PedestrianVehicleRetrograde(); bool update_mstreams(const std::vector &tasks_id, vector vec_det_input_images, const std::vector &det_result); vector get_results_by_id(const obj_key_t &id, bool do_erase = true); void force_release_result(const task_id_t &task_id); PedestrianVehicleRetrograde(const PedestrianVehicleRetrograde &) = delete; PedestrianVehicleRetrograde &operator=(const PedestrianVehicleRetrograde &) = delete; PedestrianVehicleRetrograde(PedestrianVehicleRetrograde &&) = default; PedestrianVehicleRetrograde &operator=(PedestrianVehicleRetrograde &&) = default; private: vector retrograde_aux(); task_param_manager *task_param_manager_; std::map > obj_to_alarm_boxes_; std::map> obj_to_traces_; }; } // namespace pedestrian_vehicle_retrograde } // namespace ai_engine_module