最近看世界机器人大赛的“BCI Controlled Robot Contest”赛项的论文,发现一个衡量在线脑机接口系统的一个重要指标:信息传输速率ITR。在这里整理一下,方便以后查阅。
ITR 概念
ITR
ITR最初用于通信领域测量系统的通信和计算速率,由Wolpaw引入到BCI领域。在计算ITR之前,我们首先计算单次目标选择所传输的信息量。即位率(
b
i
t
r
a
t
e
,
B
bitrate,B
bitrate,B)。其计算公式如下:
B
=
l
o
g
2
N
+
P
l
o
g
2
P
+
(
1
−
P
)
l
o
g
2
[
(
1
−
P
)
/
(
N
−
1
)
]
B=log_2N+Plog_2P+(1-P)log_2[(1-P)/(N-1)]
B=log2N+Plog2P+(1−P)log2[(1−P)/(N−1)]
B B B的单位是 b i t s / s e l e c t i o n bits/selection bits/selection。
ITR值的大小代表了单位时间系统输出的信息量,计算公式如下:
I T R = B ∗ C ITR=B*C ITR=B∗C
C C C表示系统在单位时间内所能做出的决策次数
C = ( 60 / T ) , T = t s + t b C=(60/T),T=t_s+t_b C=(60/T),T=ts+tb
ITR的单位为 b i t s / m i n bits/min bits/min,其中 ( t a ) (t_a) (ta)为模型的识别时间, ( t b ) (t_b) (tb)为划窗的步长时间, T T T为响应时间.
可选目标数(N)
BCI系统的可选目标数常被定义为系统可以输出的命令类别数,并在计算时设定为常数 ( N ) (N) (N),即我们常说的分类的类别数。
目标识别准确率(P)
目标识别率的高低直接影响着BCI系统通信的可行性和可靠性。通常随着目标识别类别的增多,准确率的提高也越来越困难。
响应时间(T)
单次目标响应时间常被定义为BCI系统输出单个命令所需时间。在经典的诱发范式中, T T T通常被固定,然而在读目标选择时间动态优化设计中, T T T常会随着被试的状态而改变。这种情况下,通常采用均值。
在运动想象中, T T T(秒)表示用于识别运动图像的平均数据长度。
参数间的关系
MATLAB代码
源码出自:TRCA-SSVEP
function [ itr ] = itr(n, p, t)
% Calculate information transfer rate (ITR) for brain-computer interface
% (BCI) [2]
% function [ itr ] = itr(n, p, t)
%
% Input:
% n : # of targets
% p : Target identification accuracy (0 <= p <= 1)
% t : Averaged time for a selection [s]
%
% Output:
% itr : Information transfer rate [bits/min]
if nargin < 3
error('stats:itr:LackOfInput', 'Not enough input arguments.'); end
if p < 0 || 1 < p
error('stats:itr:BadInputValue',...
'Accuracy need to be between 0 and 1.');
elseif p < 1/n
warning('stats:itr:BadInputValue',...
'The ITR might be incorrect because the accuracy < chance level.');
itr = 0;
elseif p == 1
itr = log2(n)*60/t;
else
itr = (log2(n) + p*log2(p) + (1-p)*log2((1-p)/(n-1)))*60/t;
end
参考文章
在线BCI衡量指标丨信息传输速率 Information Transfer Rate