INITDSKCFTRACKER_occluder.m initializes the data structure for DS-KCF tracker (occluder) [1] INITDSKCFTRACKER_OCCLUDER function initializes the data structure of the DS-KCF tracker for the occluder. In particular, it is different from INITDSKCFTRACKER as it has few more fields needed for the occluder tracking. INPUT: none OUTPUT -trackerDSKCF_struct data structure that contains DS-KCF tracker data structure + currentTarget.posX column in the image plane + currentTarget.posY row in the image plane + currentTarget.h height of the target + currentTarget.w width of the target + currentTarget.bb bounding box of the target in the format [topLeftX, topLeftY, bottomRightX, bottomRightY] + currentTarget.meanDepthObj mean depth of the tracker object + currentTarget.stdDepthObj depth's standard deviation of the tracker object + currentTarget.LabelRegions cluster labels of the segmented target region + currentTarget.regionIndex= label of the object cluster + currentTarget.Centers depth centers of the clusters + currentTarget.LUT=[] LUT + currentTarget.occBB=[0 0 0 0]; occluding bounding box in the format [topLeftX, topLeftY, bottomRightX, bottomRightY] + currentTarget.totalOcc=0; total occlusion flag + currentTarget.underOcclusion=0; under occlusion flag +currentTarget.conf maximum response of the DSKCF for the current frame models in the frequency domain for the KCFbased tracking by using color and depth features (see [1] for mor details) +model_alphaf = []; +model_alphaDf = []; +model_xf = []; +model_xDf = []; As the occluder is not tracked considering change of scale (see [1]) the data structure contains also the following fields +window_sz size of the patch for DSKCF tracking +output_sigma vector where sigma parameter is stored see [1] +yf DSKCF training labels +cos_window cosine window to smooth signals in the Fourier domain +target_sz target size +previousTarget contains same information of currentTarget, but they it is relative to the target tracked in the previous frame. See also WRAPPERDSKCF, INITDSKCFTRACKER [1] S. Hannuna, M. Camplani, J. Hall, M. Mirmehdi, D. Damen, T. Burghardt, A.Paiement, L. Tao, DS-KCF: A ~real-time tracker for RGB-D data, Journal of Real-Time Image Processing University of Bristol Massimo Camplani and Sion Hannuna massimo.camplani@bristol.ac.uk hannuna@compsci.bristol.ac.uk
0001 function trackerDSKCF_struct=initDSKCFtracker_occluder() 0002 % INITDSKCFTRACKER_occluder.m initializes the data structure for DS-KCF tracker (occluder) [1] 0003 % 0004 % INITDSKCFTRACKER_OCCLUDER function initializes the data structure of 0005 % the DS-KCF tracker for the occluder. In particular, it is different 0006 % from INITDSKCFTRACKER as it has few more fields needed for the occluder 0007 % tracking. 0008 % 0009 % INPUT: none 0010 % 0011 % OUTPUT 0012 % -trackerDSKCF_struct data structure that contains DS-KCF tracker data 0013 % structure 0014 % 0015 % + currentTarget.posX column in the image plane 0016 % + currentTarget.posY row in the image plane 0017 % + currentTarget.h height of the target 0018 % + currentTarget.w width of the target 0019 % + currentTarget.bb bounding box of the target in the format 0020 % [topLeftX, topLeftY, bottomRightX, bottomRightY] 0021 % + currentTarget.meanDepthObj mean depth of the tracker object 0022 % + currentTarget.stdDepthObj depth's standard deviation of the tracker object 0023 % + currentTarget.LabelRegions cluster labels of the segmented target region 0024 % + currentTarget.regionIndex= label of the object cluster 0025 % + currentTarget.Centers depth centers of the clusters 0026 % + currentTarget.LUT=[] LUT 0027 % + currentTarget.occBB=[0 0 0 0]; occluding bounding box in the format 0028 % [topLeftX, topLeftY, bottomRightX, bottomRightY] 0029 % + currentTarget.totalOcc=0; total occlusion flag 0030 % + currentTarget.underOcclusion=0; under occlusion flag 0031 % +currentTarget.conf maximum response of the DSKCF for the current frame 0032 % 0033 % models in the frequency domain for the KCFbased tracking by using color 0034 % and depth features (see [1] for mor details) 0035 % +model_alphaf = []; 0036 % +model_alphaDf = []; 0037 % +model_xf = []; 0038 % +model_xDf = []; 0039 % 0040 % As the occluder is not tracked considering change of scale (see [1]) 0041 % the data structure contains also the following fields 0042 % 0043 % +window_sz size of the patch for DSKCF tracking 0044 % +output_sigma vector where sigma parameter is stored see [1] 0045 % +yf DSKCF training labels 0046 % +cos_window cosine window to smooth signals in the Fourier domain 0047 % +target_sz target size 0048 % 0049 % 0050 % +previousTarget contains same information of currentTarget, but they 0051 % it is relative to the target tracked in the previous frame. 0052 % 0053 % See also WRAPPERDSKCF, INITDSKCFTRACKER 0054 % 0055 % [1] S. Hannuna, M. Camplani, J. Hall, M. Mirmehdi, D. Damen, T. 0056 % Burghardt, A.Paiement, L. Tao, DS-KCF: A ~real-time tracker for RGB-D 0057 % data, Journal of Real-Time Image Processing 0058 % 0059 % 0060 % University of Bristol 0061 % Massimo Camplani and Sion Hannuna 0062 % 0063 % massimo.camplani@bristol.ac.uk 0064 % hannuna@compsci.bristol.ac.uk 0065 0066 trackerDSKCF_struct=[]; 0067 0068 % current target position and bounding box 0069 trackerDSKCF_struct.currentTarget.posX=0;%column in the image plane 0070 trackerDSKCF_struct.currentTarget.posY=0;%row in the image plane 0071 trackerDSKCF_struct.currentTarget.h=0;%height of the target 0072 trackerDSKCF_struct.currentTarget.w=0;%width in the image planeof the target 0073 trackerDSKCF_struct.currentTarget.bb=[0 0 0 0]; % in the format [topLeftX, topLeftY, bottomRightX, bottomRightY] 0074 trackerDSKCF_struct.currentTarget.conf=0; 0075 %occluder tracking field (in this way you no need the scale data struct) 0076 trackerDSKCF_struct.window_sz=[]; 0077 trackerDSKCF_struct.output_sigma=[]; 0078 trackerDSKCF_struct.yf=[]; 0079 trackerDSKCF_struct.cos_window=[]; 0080 trackerDSKCF_struct.target_sz=[]; 0081 0082 %current target depth distribution info 0083 trackerDSKCF_struct.currentTarget.meanDepthObj=0;% mean depth of the tracker object 0084 trackerDSKCF_struct.currentTarget.stdDepthObj=0;% depth's standard deviation of the tracker object 0085 trackerDSKCF_struct.currentTarget.LabelRegions=[];%cluster labels of the segmented target region 0086 trackerDSKCF_struct.currentTarget.regionIndex=0;%label of the object cluster 0087 trackerDSKCF_struct.currentTarget.Centers=[];%depth centers of the clusters 0088 trackerDSKCF_struct.currentTarget.LUT=[];%LUT 0089 %current target depth occluding info 0090 trackerDSKCF_struct.currentTarget.occBB=[0 0 0 0]; % in the format [topLeftX, topLeftY, bottomRightX, bottomRightY] 0091 trackerDSKCF_struct.currentTarget.totalOcc=0; % total occlusion flag 0092 trackerDSKCF_struct.currentTarget.underOcclusion=0; % under occlusion flag 0093 %target model alpha and X, see [1] for more details 0094 trackerDSKCF_struct.model_alphaf = []; 0095 trackerDSKCF_struct.model_alphaDf = []; 0096 trackerDSKCF_struct.model_xf = []; 0097 trackerDSKCF_struct.model_xDf = []; 0098 0099 0100 %previous target entries 0101 trackerDSKCF_struct.previousTarget=trackerDSKCF_struct.currentTarget; 0102 0103