标题:请教算法问题,关于:对比数据,求“相似度”(生物特征识别)
只看楼主
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
结帖率:100%
 问题点数:0 回复次数:1 
请教算法问题,关于:对比数据,求“相似度”(生物特征识别)
请教算法问题,关于:对比数据的“相似度”(生物特征识别)

我数学弱爆了,而且几乎不懂算法,平常都是只调用API。

大家可能知道微软的 Kinect ,它是一种体感设备,可以获取空间内的人体信息。
现在呢,我把信息整理出来了,如图所示:


(身高 1.5米,不是本人,大家不要对号入座)

我现在在做的就是人体识别:人有高矮胖瘦,通过对比肩宽、身高、手臂长度等等。

所以呢,我现在定义了一组数据(结构体),数据成员就是各个骨头的长度。

我先采集一个目标,作为“主人特征”储存起来。
然后采集其他人特征对比,判断是否是主人(新采集的数据与主人数据的相似度),这就需要一种算法。

体感设备的返回的数据是毫米单位,每次采集都有有一定误差,所以即使是同一个人也不见得完全一样。
那么就设定一个阈值,比如93%。只要相似度达到93%,就“合格通过”。

大家用 C 语言给一个示例,比如 人体特征 的结构体是:

typedef struct _Man
{//单位:毫米
    float shengao;//身高
    float jiankuan;//肩宽
    float shoubi;//手臂
    float tuijiao;//腿脚
}Man;

然后大家对比 2组数据 的相似度,最终返回的结果,可以是一个浮点型,比如:0.936,代表相似度为:93.6%

比如:
float DuiBi(Man zhuren ,Man mubiao)//返回值就是对比的结果(相似度)
{
    float ret;
    ······
    return ret;
}





[ 本帖最后由 hackerjiang 于 2012-2-5 06:33 编辑 ]
搜索更多相关主题的帖子: 算法 身高 Kinect 结构体 如图所示 
2012-02-05 06:21
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
你的问题就是如何定义一个特征值吧?
这个函数随意性很大,以我一个生物特征的门外汉的想法,我将以各骨头的加权和作为特征值。

重剑无锋,大巧不工
2012-02-05 10:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360423-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.180405 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved