wfnian
wfnian
@tkone2018 据我测试,在Windows下第一次点击”保存“会出现"线程错误",第二次及以后此后会正常工作,点击”保存“会在控制台输出captured字样,Ubuntu下没有此现象,每次点击”保存“会在控制台输出captured字样,据我猜测是GPU性能的问题, 一般报错可能出现在`datum = op.Datum()`这一句中 你可以将`datum = op.Datum()`这一句放到`opWrapper.start()`后面。 这或许会起作用。
不会啊,我之前整个程序换了import op方式后两个系统都可以啊。而且我刚刚试了我的还能用的。 *data_collection*这个文件是用来采集数据的,实在不行你可以自己手动实现一下,存下图片和特征数据到pytorch要输入数据的两个文件夹和文件里面去
如果能运行build/example/文件夹下的几个Python 示例就不会有问题的,我之前也遇到这个问题, 可能我这里写的也有点问题,如果这周末有时间我重构一下这个data_collection部分的代码。
**classification23_taichi_pic.py**是利用op保存的图片做预测这里读取的文件是[marked_pictrain.txt](https://github.com/wfnian/posture_recognition/blob/master/workspace/dataset/taichi/marked_pictrain.txt) **(这个效果不理想,反应速度慢)** 因此最后分别跑出了loss和acc曲线做对比,仅仅表明理论可行,但由于反应较慢([相较于骨骼坐标的预测](predict_eigenvalue.py)来讲,前者几乎实时预测,而相较于图片的预测就很慢了) **classification23_taichi_eigenvalue.py**是利用op提取的骨骼坐标做预测 ,就是通过[getData函数](https://github.com/wfnian/posture_recognition/blob/master/workspace/neural_network/classification23_taichi_eigenvalue.py)读取保存的[数据](https://github.com/wfnian/posture_recognition/blob/master/workspace/dataset/taichi/bone_dataSet.data),这个数据的最后一维度代表太极姿态所属标签类别。 代码整体的思路就是 1. 利用op获取骨骼坐标 2. 将骨骼坐标进行处理,什么距离啊,角度啊等使得具有一定的手动提取的特征 3. 将骨骼数据接入三层的全连接网络进行拟合训练出结果 4. 利用PyQt以及OpenCV搭建界面,实时预测。 以上是主要的思路,随着项目的进行,需要采集数据,于是就演化出了[采集系统](https://github.com/wfnian/posture_recognition/tree/master/workspace/data_collection)。再接着发现op可以保存仅带有骨骼线条的图片,类似于下面的: 参考手写数字识别以及fashion_mnist的数据源,搭建了平行于基于特征值的卷积网络,也就是您的问题**classification23_taichi_pic.py和predict_pic.py**,而这个不是核心。 所以整个项目其实很简单 ### :octocat: ### :octocat: ### :octocat:
别,菜鸡一枚。:octocat:
因为openpose是一直在维护和更新的,因此openpose的接口是一直在变的,你需要调整一下openpose的接口,具体应该在这两处修改: [第一处](https://github.com/wfnian/posture_recognition/blob/85c442154877dcfc46f7f8b510f3a24c3b9bf11b/workspace/main_program/main.py#L142-L145) [第二处](https://github.com/wfnian/posture_recognition/blob/85c442154877dcfc46f7f8b510f3a24c3b9bf11b/workspace/main_program/main.py#L37-L46) 请仔细阅读与你下载的openpose版本对应的文档进行修改。
[这里是代码](https://github.com/wfnian/posture_recognition/blob/master/workspace/data_collection/data_collection.py) 关于只保留骨骼点的图片是一个涉及到参数设置的问题 ``` py # =============================参数args 设置==================================== # 详细参考flags.hpp 文件 params = dict() params["camera"] = 1 params["model_folder"] = "/home/wfnian/OPENPOSE/openpose/models" # 根据实际情况路径做相应改变 params["number_people_max"] = 1 # 只检测一个人 params["camera_resolution"] = "640x360" params["disable_blending"]...
1. 关于你说的**连续动作**我没太明白,我的是基于实时摄像头的实时预测,也就是摄像头前面有什么预测什么。 2. 相邻距离不变,我是指比如说手腕和胳膊肘这两个距离,不管你是什么动作,他们之间的距离不会变的,但是手腕和肩膀之间的距离不同的动作肯定不同啊,在你的手势识别中,中指的第一个关节到第二个关节之间的距离肯定是不变的,但是中指指尖到拇指指尖之间的距离是随着手势变化的。我有个同学也做的是手势识别来获取指令,套的就是我这一套,据他说效果还很好。 3. CNN这个,我觉得只有数据量大,类别少,参照[fashion_mnist这个分类](https://blog.csdn.net/qq_35200479/article/details/83752487)我觉得(只是我觉得)应该会好些。 希望以上能有所帮助,毕竟我是菜鸟。:octocat:
可以是可以,你就得把图片穿过去。
我感觉主要问题是数据集太少了的原因,相信每个达到50张以上才有可观的效果