Is it possible to make MATLAB Coder generate C++ code with tunable parameters?
显示 更早的评论
Hello,
We are using the MATLAB Coder to generate C++ code of the TOMHT algorithm from the Sensor Fusion and Tracking Toolbox. However, most parameters are labeled as non-tunable in MATLAB, and because of this, these parameters are lost in the C++ code after the code generation and are hard-coded into values.
We would like to be able to use different parameter configurations for different projects within our company. It would be very cumbersome to have to do a new code generation for each different parameter configuration. Is there any way we can still change these parameters outside of Matlab? We do not mean to change the parameters while the tracker is running, but we do want to be able to configure different parameter settings, based on for instance the available computing power or the amount of radars in the project.
Kind Regards,
Joost
采纳的回答
更多回答(1 个)
Elad Kivelevitch
2021-10-11
0 个投票
Joost,
If you could please list which parameters you would like to make tunable, we can consider whether it would be possible to make them tunable given how the tracker is set up.
Thanks,
Elad
5 个评论
Joost
2021-10-11
Elad Kivelevitch
2021-10-11
Thank you!
This is very useful.
There are some that will be much harder than others.
Elad Kivelevitch
2021-10-11
To elaborate more on my previous answer:
When you generate code for an object, MATLAB Coder optimizes certain things like memory allocation and code paths that are used by the generated code. Therefore, certain things like the internal memory of the tracker need to be fully defined at compile time, which requires you to modify the generated code if you change them.
The following properties are involved in determining the memory allocated for the tracker and its internal components in code generation. Therefore, they must be nontunable:
- MaxNumTracks
- MaxNumHypotheses
- MaxNumTrackBranches
- MaxNumHistoryScans
The other properties (in trackerTOMHT) are currently nontunable but in a future release we may be able to make tunable because they are not directly involved in memory allocation:
- AssignmentThreshold (all 4 parameters)
- ConfirmationThreshold
- DeletionThreshold
- DetectionProbability
- FalseAlarmRate
- MinBranchProbability
Your answer helps us with understanding what is important to you, and I truly appreciate it.
Joost
2021-10-26
Elad Kivelevitch
2024-4-22
Joost,
As of release 2024a, we have added tunability to some of the tracker properties.
- AssignmentThreshold
- ConfirmationThreshold
- DeletionThreshold
- DetectionProbability
- FalseAlarmRate
- Volume
- Beta
- InitialClassProbabilities
- AssignmentThreshold
- ConfirmationThreshold
- DeletionThreshold
- DetectionProbability
- InitializationThreshold
- ClutterDensity
- NewTargetDensity
- DeathRate
- InitialClassProbabilities
- HitMissThreshold
- AssignmentThreshold
- ConfirmationThreshold
- DeletionThreshold
- DetectionProbability
- FalseAlarmRate
- Volume
- Beta
- MinBranchProbability
类别
在 帮助中心 和 File Exchange 中查找有关 Multi-Object Tracking 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!