encoding.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:wi_wacv14 作者: VChristlein 项目源码 文件源码
def encodeGMM(method, gmm, data,  
              normalize=['ssr', 'l2g'], relevance=28, update='wmc',
              posteriors=None):
    """ 
        Encoding scheme adapting data from a GMM

        parameters:
            method: an encoding method to call, currently acceptable
                'supervector', 'fisher', 'vlad', 
            gmm: the background gmm = vocabulary = universal background model
            data: typiclly the features, row wise order
            normalize: global and local normalization schemes
            relevance: (gmm-supervector-specific): relevance factor for mixing 
            update: (gmm-supervector-specific): which parts to use for mixing 
            posteriors: if given, they won't be computed again
        returns: encoded vector
    """
    if posteriors == None:
        # compute posteriors from gmm
        posteriors = getPosteriors(gmm, data)

    if 'supervector' in method:
        enc = supervector(gmm, data, posteriors, relevance=relevance,
                          update=update)
    elif 'fisher' in method:
        enc = fisherEncode(gmm, data, 
                           posteriors, normalize, 
                           fv_components=update)
    elif 'vlad' in method:
        enc = vlad(data, gmm.means_, posteriors, gmm.means_.shape[0],
                   normalize ) 
    else:
        raise ValueError('unknown encoding method {}'.format(method)) 

    norm_enc = normalizeEnc(enc, normalize)

    return norm_enc
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号