Deepgaze用CNN实现头部姿态估计和运动跟踪?头条

ctolib 发布于9月前 阅读1229次
0 条评论

来源:GitHub 作者:Massimiliano Patacchiola 翻译:马卓奇

Deepgaze用卷积神经网络(CNN)实现了头部姿态和注视方向估计,通过反向投影进行皮肤检测,运动检测和跟踪。

Deepgaze是什么?

Deepgaze是一个使用CNN来实现人物检测和跟踪的库,来估计用户的注意力焦点(FOA)。FOA可以通过头部的方向来进行大概估计。尤其当眼睛被遮挡住的时候,或者当用户离镜头太远而不能捕捉到高清的眼部区域时,这一点十分有用。当眼部区域可见时,可以估测注视方向,注视方向包含更多的信息,并且可以为估计FOA提供一个很好的指示。

Deepgaze包含的库可以实现如下5大功能:

  • 头部姿态估计(n点透视算法,卷积神经网络)。

  • 人脸检测(Haar级联检测)。

  • 皮肤和颜色检测(区域检测,后向投影)。

  • 运动检测(帧间差分,MOG,MOG2)。

  • 运动追踪(粒子滤波)。

Deepgaze基于OpenCV和Tensorflow,以及一些计算机视觉和机器学习中最好的库。

什么是卷积神经网络:CNN?

卷积神经网络(CNN或ConvNet)是一种前馈人工神经网络。网络中神经元的连接模式是受到了动物视觉皮层结构的启发,其中独立的神经元会响应互相覆盖的神经元,它们连在一起铺满了整个视觉区域。卷积网络受到了生理过程的启发,是一种多层感知变量,这样的设计是为了仅使用最小数量的预处理。它在图像和视频识别,推荐系统以及自然语言处理方面有着很广泛的应用

配置所需环境:

要使用该库需要先安装:

  • Numpy(http://www.numpy.org/)

  • OpenCV(http://opencv.org/)

  • Tensorflow(https://www.tensorflow.org/)

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl

sudo pip install --upgrade $TF_BINARY_URL

有些样例或许需要其他的库:

  • dlib(http://dlib.net/)

安装步骤:

下载仓库或者使用git直接复制

安装这个库,需要运行setup.py(或许需要根权限)。

如果你想跟踪所有已安装的文件,可以在文档中记录安装过程:

示例:

目光注视方向合成小demo

 

在OpenCV中使用n点透视算法进行头部姿态估计。

代码:https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_pnp_head_pose_estimation_webcam.py

视频:https://www.youtube.com/watch?v=OSnI18XmAg4

使用n点透视算法以及dlib人脸检测器进行头部姿态估计。

代码:https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_dlib_pnp_head_pose_estimation_video.py

视频:https://www.youtube.com/watch?v=xurEs0G9ARs

使用卷积神经网络进行图像中的头部姿态估计。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_cnn_headp_pose_estimation_images/ex_cnn_head_pose_estimation_images.py

使用直方图反向投影算法进行颜色检测。

Blog:

https://mpatacchiola.github.io/blog/2016/12/01/playing-the-google-chrome-dinosaur-game-with-your-hand.html

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_color_detection_image/ex_color_detection_image.py

使用HSV空间颜色检测进行肤色检测。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_skin_detection_images/ex_skin_detection_images.py

使用HSV空间颜色检测进行人脸检测。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_face_center_color_detection/ex_face_center_color_detection.py

在视频流上使用帧间差分运动检测以及跟踪。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_diff_motion_detection_video/ex_diff_motion_detection.py

在视频流上的三种算法进行运动检测和检测的对比。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_motion_detectors_comparison_video/ex_motion_detectors_comparison_video.py

视频:https://www.youtube.com/watch?v=XmI2kE2hUgE

使用分子滤波进行的运动跟踪的不稳定测量。

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_particle_filter_object_tracking_video/ex_particle_filter_object_tracking_video.py

视频:

https://www.youtube.com/watch?v=KTxVBN5-KpE

多重后向投影进行运动跟踪来玩chrome的恐龙游戏。

Blog:https://mpatacchiola.github.io/blog/2016/12/01/playing-the-google-chrome-dinosaur-game-with-your-hand.html

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_multi_backprojection_hand_tracking_gaming/ex_multi_backprojection_hand_tracking_gaming.py

视频:https://www.youtube.com/watch?v=eoUOkV5vVpU&feature=youtu.be

使用颜色指纹(直方图交叉)进行目标分类。

Blog:https://mpatacchiola.github.io/blog/2016/11/12/the-simplest-classifier-histogram-intersection.html

代码:

https://github.com/mpatacchiola/deepgaze/blob/master/examples/ex_color_classification_images/ex_color_classification_image.py

GitHub资源:https://github.com/mpatacchiola/deepgaze

需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。