python 手势检测和追踪_用kinect和python进行手势识别:嗯学习

我想用kinect在python中做手势识别.

在阅读了一些理论之后,我认为最好的方法之一是使用隐马尔可夫模型(HMM)(baum welch或某些EM方法)和一些已知的手势数据进行无监督学习,以实现一组训练有素的HMM(每个手势一个)我想知道).

然后,我将使用训练集中的HMM进行与观测数据的最大对数似然(与维特比?)匹配的识别.

例如,我有一些手势的kinect设备记录的数据(右手坐标x,y,z)(打招呼,踢一拳,用手做一圈)我做了一些训练:

# training

known_datas = [

tuple( load_data('punch.mat'), 'PUNCH' ),

tuple( load_data('say_hello.mat'), 'HELLO' ),

tuple( load_data('do_circle_with_hands.mat'), 'CIRCLE' )

]

gestures = set()

for x, name in known_datas:

m = HMM()

m.baumWelch(x)

gestures.add(m)

然后我执行对执行max loglik的观察到的新数据的识别,并选择之前保存的手势,每个训练好的HMM具有最大loglik:

# recognition

observed = load_data('new_data.mat')

logliks = [m.viterbi(observed) for m in gestures]

print 'observed data is ', gestures[logliks.index(max(logliks))]

我的问题是:

>这件事真的很蠢吗?

>真实案例的培训数量是多少?

>每个HMM有多少个州?

>是否可以实时进行?

解决方法:

首先:这是一个非常特殊的问题,你需要一个机器学习专家.不幸的是,堆栈交换站点中没有ML等价物……也许有一天会有一个.

标签:python,machine-learning,hidden-markov-models

来源: https://codeday.me/bug/20190630/1335999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值