活动识别的滑动​​窗口算法

Posted

技术标签:

【中文标题】活动识别的滑动​​窗口算法【英文标题】:Sliding window algorithm for activity recognition 【发布时间】:2011-01-13 05:36:09 【问题描述】:

我想写一个滑动窗口算法用于活动识别。

训练数据是 所以我想我只需要获取(比如window_size=3window_size 的数据并训练它。我后来也想在矩阵上使用这个算法 .

我是 matlab 新手,所以我需要任何关于如何正确实施的建议/指导。

【问题讨论】:

【参考方案1】:

简短的回答:

%# nx = length(x)
%# nwind = window_size
idx = bsxfun(@plus, (1:nwind)', 1+(0:(fix(nx/nwind)-1))*nwind)-1;

idx 将是一个大小为 nwind-by-K 的矩阵,其中 K 是滑动窗口的数量(即每一列包含一个滑动窗口的索引)。

请注意,在上面的代码中,如果最后一个窗口的长度小于所需的长度,则将其删除。滑动窗口也不重叠。

举例说明:

%# lets create a sin signal
t = linspace(0,1,200);
x = sin(2*pi*5*t);

%# compute indices
nx = length(x);
nwind = 8;
idx = bsxfun(@plus, (1:nwind)', 1+(0:(fix(nx/nwind)-1))*nwind)-1;

%'# loop over sliding windows
for k=1:size(idx,2)
    slidingWindow = x( idx(:,k) );
    %# do something with it ..
end

%# or more concisely as
slidingWindows = x(idx);

编辑:

对于重叠的窗口,让:

noverlap = number of overlapping elements

那么上面就简单的改成:

idx = bsxfun(@plus, (1:nwind)', 1+(0:(fix((nx-noverlap)/(nwind-noverlap))-1))*(nwind-noverlap))-1;

显示结果的示例:

>> nx = 100; nwind = 10; noverlap = 2;
>> idx = bsxfun(@plus, (1:nwind)', 1+(0:(fix((nx-noverlap)/(nwind-noverlap))-1))*(nwind-noverlap))-1
idx =
     1     9    17    25    33    41    49    57    65    73    81    89
     2    10    18    26    34    42    50    58    66    74    82    90
     3    11    19    27    35    43    51    59    67    75    83    91
     4    12    20    28    36    44    52    60    68    76    84    92
     5    13    21    29    37    45    53    61    69    77    85    93
     6    14    22    30    38    46    54    62    70    78    86    94
     7    15    23    31    39    47    55    63    71    79    87    95
     8    16    24    32    40    48    56    64    72    80    88    96
     9    17    25    33    41    49    57    65    73    81    89    97
    10    18    26    34    42    50    58    66    74    82    90    98

【讨论】:

@Amro 我将如何调整它以使窗口重叠?

以上是关于活动识别的滑动​​窗口算法的主要内容,如果未能解决你的问题,请参考以下文章

有没有支持多人人脸识别的算法,要识别的人脸比较多

viola jones人脸检测原理

人脸识别算法的背景

OCR文字识别—文本识别的算法

OCR文字识别—文本识别的算法

有没有可以同时进行多人脸识别的算法?