欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tensorflow——用openpose进行人体骨骼检测

程序员文章站 2024-02-26 22:19:28
...
参考资料
                         (视频里特别详细,从conda环境,安装tensorflow,到最后的run)

需要的软件
python3
tensorflow 1.3.0+(作者说要1.4.1,我的cuda是8.0,只能用1.3.0)
opencv3, protobuf, python3-tk
0)准备工作
activate 你的环境
打开 tf-pose-estimation-master文件夹

1)安装必要的requirements
pip3 install -r requirements.txt

Tensorflow——用openpose进行人体骨骼检测
在安装ast时会报错: FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users.....
不用管,Python已经有ast了
所以把ast删掉,再pip install一遍
2)运行

检测图像:
python src/run.py --model=mobilenet_thin --resolution=432x368 --image=×××.jpg
①整个人都没有检测到
Tensorflow——用openpose进行人体骨骼检测

②左腿没有检测到

Tensorflow——用openpose进行人体骨骼检测
③整个人都检测到了

Tensorflow——用openpose进行人体骨骼检测
检测本地视频:
python src/run_video.py --model=mobilenet_thin --resolution=432x368 --video=child.mp4

加了几句代码就可以将视频保存到本地

 fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
    outVideo = cv2.VideoWriter('save.avi',fourcc,fps,size)

    if (cap.isOpened()== False):
        print("Error opening video stream or file")
    while(cap.isOpened()):
        ret_val, image = cap.read()


        humans = e.inference(image)
        image = TfPoseEstimator.draw_humans(image, humans, imgcopy=False)

        #logger.debug('show+')
        cv2.putText(image,
                    "FPS: %f" % (1.0 / (time.time() - fps_time)),
                    (10, 10),  cv2.FONT_HERSHEY_SIMPLEX, 0.5,
                    (0, 255, 0), 2)
        cv2.imshow('tf-pose-estimation result', image)
        outVideo.write(image)
        fps_time = time.time()
        if cv2.waitKey(1) == 27:
            break

从抖音上下载了一个短视频,下面是检测结果,视频检测的结果还是非常好的
但是事实检测FPS仍然有些慢
Tensorflow——用openpose进行人体骨骼检测
相关标签: t