| 查看: 907 | 回复: 0 | |||
[交流]
有做过多假设目标跟踪(mht)的吗? 这个“剪枝”程序对应的是什么方法?
|
|
% Prune cuts less possible hypoes and corresponding state estimations 剪枝 % from cellHypo and cellTarg as well as take record of good estimations. % % Syntax: % [cellEstm, cellHypo, cellTarg] = ... % Prune(cellHypo, cellTarg, M, N, t, LP) % % In: % cellEstm - a cell array containing the state estimation for each % target. The structure of each cell is {idx, startTime, matX}. % The startTime is the time step on which the target is confirmed.一个包含状态估计为每个单元阵列 %的目标。每个单元的结构{ idx、开始时间、matX }。目标确认作为的时间作为开始时间。 % cellHypo - a cell array of size 1*(1+M+M^2+...+M^N). The structure % of each cell in the cell array is {asso, prob}, where asso is a % column vector denoting the assignment of a set of measurements; % prob is a scalar denoting narual log of likelihood of this hypo. cellHypo -单元阵列的大小是1 *(1 + M + M ^ 2 +…+ M ^ N)结构 % cellTarg - a cell array of the same size of cellHypo. Each cell in % the cell array is called oneCase which gives a set of estimations % for all targets according to the correspoding hypo in cellHypo. % The structure of each cell in oneCase is {idx, lifePoint, X, P} % describing one target. % M - number of hypoes generated for one seed hypo 一个干生成M个枝 % N - scan depth%扫描深度 % t - current time step. Note MHT introduces time delay, so at time % step t we can only confirm things happened at step t-N+1. % LP - the confirmed hypo may contains some tentative targets that are % not included in previous estimations (i.e. input cellEstm). If % the lifePoints of such targets are not less than LP, then they % are confirmed to be new targets. % % Out: % cellEstm - updated cellEstm % cellHypo - cellHypo after pruning % cellTarg - cellTarg after pruning function [cellEstm, cellHypo, cellTarg] = Prune... (cellEstm, cellHypo, cellTarg, M, N, t, LP) % use the latest probabilities as the standard to judge%%???到54行 不懂啊 head = 2; for i = 1 : N-1 head = head + M^i; end rear = head + M^N - 1; arrayProb = cellfun(@(v) v{2}, cellHypo(head : rear));%为cell数组的每个cell执行指定的函数 fun可以是特殊函数或者句柄 x = find(arrayProb == min(arrayProb)); % -log(prob), so find minimum chooseBranch = ceil(x/M^(N-1)); idx = 1; chooseIdx = []; for i = 1 : N chooseIdx = [chooseIdx, ... idx+(chooseBranch-1)*M^(i-1)+1 : idx+chooseBranch*M^(i-1)]; idx = idx + M^i; end % pick up the right branch cellHypo = cellHypo(chooseIdx); cellTarg = cellTarg(chooseIdx); % update cellEstm confirmedCase = cellTarg{1}; % the root of the hypo tree for i = 1 : size(confirmedCase, 2) aTarg = confirmedCase{i}; idx = aTarg{1}; lifePoint = aTarg{2}; X = aTarg{3}; if lifePoint == 0 continue; else flg = find(cellfun(@(v) v{1}, cellEstm) == idx); if isempty(flg) % maybe a new target appears if lifePoint >= LP newTarg = {idx, t-N+1, X}; cellEstm = [cellEstm, newTarg]; end else % an existed target thisTarg = cellEstm{flg}; thisTarg{3} = [thisTarg{3}, X]; cellEstm{flg} = thisTarg; end end end %%怎么实现的剪枝啊? 求交流 |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : MHT最小demo程序matlab.zip
2016-06-14 16:30:15, 72.3 K
» 猜你喜欢
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复












回复此楼