个人介绍
本人热爱软件开发工作,已跟随导师开发了一些项目,且具备丰富的独自开发软件的经验,性格沉稳,能吃苦耐劳,对待工作认真负责,具备良好的自我学习能力,能够快速接受消化新知识,并灵活运用,且具有良好的团队合作精神,适应团队开发软件项目的工作。
工作经历
2016-08-01 -2019-12-31湖南易审信息技术有限公司项目经理
通过大数据和云计算技术协助审计业务单位做大数据分析,在大数据将业务与大数据相结合,分析出审计疑点
2015-07-01 -2016-06-30隆昌电子科技公司项目工程师
个人独立开发动态扑克牌识别,利用动态目标跟踪对扑克牌进行实时定位跟踪,再利用支持向量机与模板识别的结合对扑克识别。准确率可达到接近100%,实现了移动端和电脑端。
教育经历
2012-07-01 - 2016-07-01湖南工学院计算机科学与技术本科
技能
移动端快速人脸检测模型是基于RetinaFace的优化去掉stride8以及stride32和stride16的landmark 在CPU位Intel(R) Pentium(R) CPU G2020 @ 2.90GHz(2900 MHz)的设备中人脸检测可达到40ms/帧
HyperFT项目的多人脸跟踪算法分三大部分: 第一部分是初始化,通过mtcnn的人脸检测找出第一帧的人脸位置然后将其结果对人脸跟踪进行初始化; 第二部分是更新,利用模板匹配进行人脸目标位置的初步预判,再结合mtcnn中的onet来对人脸位置进行更加精细的定位,最后通过mtcnn中的rnet的置信度来判断跟踪是否为人脸,防止当有手从面前慢慢挥过去的话,框会跟着手走而无法跟踪到真正的人脸; 第三部分是定时检测,通过在更新的部分中加入一个定时器来做定时人脸检测,从而判断中途是否有新人脸的加入,本项目在定时人脸检测中使用了一个trick就是将已跟踪的人脸所在位置利用蒙版遮蔽起来,避免了人脸检测的重复检测,减少其计算量,从而提高了检测速度。 算法改进的思路(加入五个关键点的跟踪) 1、在HyperFT项目中的Face类中仅定义了人脸矩形的变量,如若需要加入五个关键点的跟踪则需要在Face类中需要定义一个Bbox类faceBbox,这样Face即能保存人脸位置又能保存人脸关键点。 2、在原来的doingLandmark_onet函数的基础上重载函数,将传入的std::vector< cv::Point > &pts改为传入Bbox& faceBbox。 3、在tracking函数中修改doingLandmark_onet函数的调用 4、通过人脸跟踪中Face类中的faceBbox即可获得人脸的位置及其五个人脸关键点(main.cpp)
这是一个移动端快速视频多人脸跟踪的开源项目,这个项目是基于mtcnn人脸检测加上最简单的模板匹配进行人脸跟踪的,算法简单但效果显著,移动端速度可以达到150帧以上,该项目的特点是可实现多人脸跟踪。 代码算法解析 HyperFT项目的多人脸跟踪算法分三大部分: 第一部分是初始化,通过mtcnn的人脸检测找出第一帧的人脸位置然后将其结果对人脸跟踪进行初始化; 第二部分是更新,利用模板匹配进行人脸目标位置的初步预判,再结合mtcnn中的onet来对人脸位置进行更加精细的定位,最后通过mtcnn中的rnet的置信度来判断跟踪是否为人脸,防止当有手从面前慢慢挥过去的话,框会跟着手走而无法跟踪到真正的人脸; 第三部分是定时检测,通过在更新的部分中加入一个定时器来做定时人脸检测,从而判断中途是否有新人脸的加入,本项目在定时人脸检测中使用了一个trick就是将已跟踪的人脸所在位置利用蒙版遮蔽起来,避免了人脸检测的重复检测,减少其计算量,从而提高了检测速度。 算法改进的思路(加入五个关键点的跟踪) 1、在HyperFT项目中的Face类中仅定义了人脸矩形的变量,如若需要加入五个关键点的跟踪则需要在Face类中需要定义一个Bbox类faceBbox,这样Face即能保存人脸位置又能保存人脸关键点。 2、在原来的doingLandmark_onet函数的基础上重载函数,将传入的std::vector< cv::Point > &pts改为传入Bbox& faceBbox。 3、在tracking函数中修改doingLandmark_onet函数的调用 4、通过人脸跟踪中Face类中的faceBbox即可获得人脸的位置及其五个人脸关键点(main.cpp)