Inference module v2.0.0: pure CMake project and redesigned architecture
Latest
Migrate to pure cmake project (#2)
* refactor: remove ROS-related code
* build: use general cmake template
* build: fix colcon building
- use general cmake template
- remove ros related code
- add config files for linters and formatters
* feat(base): add implementation of object and geometry classes
- impl Object, BBox2D, Point2D and PointCloud
- store detection results in Object
* refactor(tracker): use Object for tracker results
* feat: migrate SyncedMemory and Blob from BVLC/caffe
* feat(base): add Image8U and DataProvider
colorspace conversion is only supported when USE_GPU=1
* feat(frame): add CameraFrame
* feat(util): add utility functions for CameraFrame
* feat(base): add type and runtime classes
- InferenceFrondendType and InferenceBackendType
- InferenceRuntime
* feat(base): add Tensor class
- Blob will be merged into Tensor class later
- Tensor class will be based on SyncedMemory later
* refactor(base): update comments of Tensor class
* refactor(base): update Runtime class
add Infer() method, just passthrough the results from backend
* feat(backend): support creating TensorRT backend
in InferenceRuntime
* refactor(base): update ToString method for InferenceFrontendType
* feat(interface): add BaseInferenceModel
* feat(vision): add Mat class based on Tensor
* feat(vision): add BaseTransform for image preprocessing
* feat(vision): add basic vision transform ops for preprocessing
* feat(vision): add transform ops: Interpolate and Pad
* docs(vision): add desc for YOLOv7-End2End model conversion
* feat(interface): support perf in BaseInferenceModel
* refactor(interface): fix typos
* refactor(base): use 'onnx' as default model frontend
* refactor: remove dependencies of yolo-tensorrt library
* refactor: remove legacy code
* feat(vision): add Visualization class
* docs(base): add docstrings
* docs: add docstrings for interface and util
* docs: add docstrings for vision module
* docs(vision): add desc for YOLOv5-End2End models
* docs(vision): add desc for YOLOX-End2End models
* feat(vision): add ReIDReuslt for FastReID model
* feat(vision): add TrackingResult
* docs(vision): add desc for FastReID models
* refactor(vision): add utility functions for tracking
* feat(vision): add DeepSORT tracker
* refactor(vision): update deepsort::KalmanFIlter::StateType
* fix(vision): use bboxes in TLBR format in detection/tracking results
i.e., the output from DeepSORT tracker should be in TLBR format, no matter what format used inside
* docs(vision): add docstring for DeepSORTTracker
* feat(vision): add prototype of ByteTrack tracker
* docs(vision): add docstring for ByteTrack tracker
* refactor(vision): unify the interface of vision trackers
- two Update() functions for det-trk, and det-feat-trk
- GetParams() functions to get or modify parameters
- Name() for model name
* fix(vision): correct bbox formats in ByteTrack
- input/output of ByteTracker is TLBR
- input/output of STrack is TLWH
- input/output of kalman filter is XYAH