OpenCV中文网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 安装 配置
查看: 281|回复: 3

Python卡尔曼滤波咨询

[复制链接]
发表于 2019-1-23 17:45:45 | 显示全部楼层 |阅读模式
大家好,我目前自己写了一个卡尔曼滤波算法,预测两个常数值,但是预测结果和跟踪结果很差。有没有大神看一下呢?
if __name__ == "__main__":
    kalman = cv2.KalmanFilter(4, 2, 0)
    while True:
        state = 0.1 * np.random.randn(4, 2)
        # 初始化
        kalman.transitionMatrix = np.array([[1.,0., 1.,0.], [0., 1.,0., 1.],[0.,0., 1.,0.], [0., 0.,0., 1.]])
        kalman.measurementMatrix = 1. * np.ones((2, 4))
        kalman.processNoiseCov = 1e-5 * np.eye(4)
        kalman.measurementNoiseCov = 1e-1 * np.ones((2, 2))
        kalman.errorCovPost = 1. * np.ones((4, 4))
        kalman.statePost = 0.1 * np.random.randn(4, 2)
        while True:
            state_angle = state[0]
            # 预测
            prediction = kalman.predict()
            predict_X1 = prediction[0, 0]
            predict_X2 = prediction[0, 1]
            print("predict_X1", predict_X1)
            print("predict_X2", predict_X2)
            for i in range(100):
                measurement = kalman.measurementNoiseCov * np.sin(i)
                measurement=np.array([measurement,measurement+100],np.float32)
            # 生成测量
            measurement = np.dot(kalman.measurementMatrix, state) + measurement
            measurement_X1 = measurement[0, 0,0]
            measurement_X2 = measurement[0, 0,1]
            print("measurement_X1",measurement_X1)
            print("measurement_X2", measurement_X2)
            # 校正预测与测量值差异
            kalman.correct(measurement)
            # 更新noise矩阵与状态
            process_noise = sqrt(kalman.processNoiseCov[0,0]) * np.random.randn(4, 2)
            state = np.dot(kalman.transitionMatrix, state) + process_noise
            code = cv2.waitKey(100)
            if code != -1:
                break
        if code in [27, ord('q'), ord('Q')]:
            break
回复

使用道具 举报

发表于 2019-1-23 20:40:09 | 显示全部楼层
请具体说明差距在哪里?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 10:44:38 | 显示全部楼层
jsxyheu2014 发表于 2019-1-23 20:40
请具体说明差距在哪里?

其实可以这样说,预测的结果与测量值完全不对
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
推荐阅读
提问的智慧
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|blog|OpenCV中文网站 ( 粤ICP备13079875号-2

GMT+8, 2019-2-18 07:33 , Processed in 0.046937 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表