Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

训练自己的数据集的结果 #53

Open
noahzhy opened this issue Aug 11, 2019 · 24 comments
Open

训练自己的数据集的结果 #53

noahzhy opened this issue Aug 11, 2019 · 24 comments

Comments

@noahzhy
Copy link

noahzhy commented Aug 11, 2019

训练自己的数据集的结果👇
Testing Results: Prec@1 2.778 Prec@5 16.181 Loss nan

  • Validation Prec@1 saturates for 4 epochs.

这正常吗?我不清楚问题出在哪里

@accountcwd
Copy link

loss 爆炸了,调低点学习率还有用gradient clip试试

@Fovever1
Copy link

@accountcwd @noahzhy 您好,我想问一下你们在复现这个实验的top1和top5准确率有多高?不胜感激!

@accountcwd
Copy link

90多,TOP1比论文低1、2个点,TOP5忘记了。

@Fovever1
Copy link

@accountcwd UCF101,我不明白为什么我的是top1=76%,top5=92%,loss=1.0,到第十个epoch的时候,test loss就降不下去了,我是完全按照您的要求来的,为什么结果不一样,我是clone原作者的pytorch代码

@accountcwd
Copy link

@accountcwd UCF101,我不明白为什么我的是top1=76%,top5=92%,loss=1.0,到第十个epoch的时候,test loss就降不下去了,我是完全按照您的要求来的,为什么结果不一样,我是clone原作者的pytorch代码

你检查一下gen_dataset_lists.py生成出来的txt,每一行倒数第二个数字是不是对应的文件夹里面的帧数,我想你应该是计算图片数的那部分出了问题,导致统计数字为0,然后训练的时候每次都只取了第一帧作为训练,这样就跟单张图片分类没啥区别了。

@Fovever1
Copy link

@accountcwd 大佬请收下我的膝盖,您太厉害了,你说的一点都没错,都是0,这个什么原因造成的?能简单说一下吗?

@Fovever1
Copy link

@accountcwd 大佬,您是怎么一眼看出这个问题的?我靠,太神了!!!

@Fovever1
Copy link

@accountcwd 关键是我几乎没提供什么信息,这个答案令我十分意外!心情不能平静!

@Fovever1
Copy link

@accountcwd 非常非常感谢大佬,我现在快哭了,折磨了我快一个星期了,各种找问题,换环境,重新提取帧,都快崩溃了,感谢之情无以言表!

@accountcwd
Copy link

@accountcwd 非常非常感谢大佬,我现在快哭了,折磨了我快一个星期了,各种找问题,换环境,重新提取帧,都快崩溃了,感谢之情无以言表!

哈哈哈哈,很简单,因为这个坑我也踩过,也是花了好多时间才找出问题,能帮到你就好~
你看看你生成的图片文件名格式跟他 要求的对不对得上,再不行就自己写一个咯。

@Fovever1
Copy link

@accountcwd 好的,非常感谢大佬!

@jwdwzxd
Copy link

jwdwzxd commented Nov 17, 2019

@zhang-can @accountcwd @Fovever1
非常佩服大佬们的操作,也非常感谢作者提供的代码,真的帮助很大!
有一个问题,我想请教一下各位大佬。我现在实现了逐帧获取网络摄像头视频并进行处理,输出处理好的一帧帧的图像,我想以此形成自己的数据集用来训练这个模型,我该如何去做呢?
这个问题或许对大佬们非常简单,但我真的需要帮助来理清思路,希望能得到各位的帮助!再次感谢!

@Fovever1
Copy link

Fovever1 commented Nov 18, 2019 via email

@accountcwd
Copy link

@zhang-can @accountcwd @Fovever1
非常佩服大佬们的操作,也非常感谢作者提供的代码,真的帮助很大!
有一个问题,我想请教一下各位大佬。我现在实现了逐帧获取网络摄像头视频并进行处理,输出处理好的一帧帧的图像,我想以此形成自己的数据集用来训练这个模型,我该如何去做呢?
这个问题或许对大佬们非常简单,但我真的需要帮助来理清思路,希望能得到各位的帮助!再次感谢!

首先想搞清楚的两个问题,视频流分割和标签,按你的描述逐帧获取网络摄像头视频应该是一段很长的视频流,其中里面每一段都属于你所要求的类别吗?如果是这样的话就分割成随机长度,每段保存在一个文件夹就好了,帧命名具体格式你可以参考UCF101的设置。

标签生成你就参考gen_dataset_lists.py的写法或者按照自己的想法生成标签文件。
每行的格式是: 视频(一个文件夹,里面是视频的帧)路径 视频帧数 类别

@Fovever1
Copy link

Fovever1 commented Nov 18, 2019 via email

@jwdwzxd
Copy link

jwdwzxd commented Nov 18, 2019

@Fovever1 @accountcwd 太感谢你们的解答了!!谢谢!!
抱歉昨晚没说清楚,我仔细说下我之前的工作:我复现了一篇人体骨骼描绘的论文,用网络摄像头实时的逐帧捕捉图片进行处理,描绘出了骨骼,想在这个基础上加入本模型的动作识别。所以我的想法是,自己制作一个数据集:做出一段动作视频,经过第一个模型处理出一段处理过的帧集然后打上标签。因为这个模型对视频处理的时候是对帧集进行处理的,应该可以拟合的上;加上我自己的一点考虑:骨骼描绘之后的动作图片可能会特征更明显、更突出,也许动作识别效果会更好。
不知我是否表达清楚,感谢你们的解答,谢谢!!!

@Fovever1
Copy link

Fovever1 commented Nov 18, 2019 via email

@accountcwd
Copy link

@Fovever1 @accountcwd 太感谢你们的解答了!!谢谢!!
抱歉昨晚没说清楚,我仔细说下我之前的工作:我复现了一篇人体骨骼描绘的论文,用网络摄像头实时的逐帧捕捉图片进行处理,描绘出了骨骼,想在这个基础上加入本模型的动作识别。所以我的想法是,自己制作一个数据集:做出一段动作视频,经过第一个模型处理出一段处理过的帧集然后打上标签。因为这个模型对视频处理的时候是对帧集进行处理的,应该可以拟合的上;加上我自己的一点考虑:骨骼描绘之后的动作图片可能会特征更明显、更突出,也许动作识别效果会更好。
不知我是否表达清楚,感谢你们的解答,谢谢!!!

我觉得你先得到了人体骨骼点信息再做行为分类的的话应该去看Skeleton-Based Action Recognition 这方面的方法,不过那种方法的问题就是现有数据集比较少加上非常依赖关键点网络的准确。

@jwdwzxd
Copy link

jwdwzxd commented Nov 18, 2019

@Fovever1 @accountcwd 太感谢你们的解答了!!谢谢!!
抱歉昨晚没说清楚,我仔细说下我之前的工作:我复现了一篇人体骨骼描绘的论文,用网络摄像头实时的逐帧捕捉图片进行处理,描绘出了骨骼,想在这个基础上加入本模型的动作识别。所以我的想法是,自己制作一个数据集:做出一段动作视频,经过第一个模型处理出一段处理过的帧集然后打上标签。因为这个模型对视频处理的时候是对帧集进行处理的,应该可以拟合的上;加上我自己的一点考虑:骨骼描绘之后的动作图片可能会特征更明显、更突出,也许动作识别效果会更好。
不知我是否表达清楚,感谢你们的解答,谢谢!!!

我觉得你先得到了人体骨骼点信息再做行为分类的的话应该去看Skeleton-Based Action Recognition 这方面的方法,不过那种方法的问题就是现有数据集比较少加上非常依赖关键点网络的准确。

谢谢大佬!我想我会对比下两种方法的,选择一种实时性更高的。再次感谢!!

@jwdwzxd
Copy link

jwdwzxd commented Nov 18, 2019

既然这样的话,那我知道了,这个ECO代码并不适合你的改进点,你可以参考下相关的基于骨骼形体的动作识别的论文(我之前看了几篇论文),ECO只是常规的基于外观和运动的识别,可能不太适合你这个

------------------ 原始邮件 ------------------ 发件人: "jwdwzxd"<[email protected]>; 发送时间: 2019年11月18日(星期一) 中午11:31 收件人: "zhang-can/ECO-pytorch"<[email protected]>; 抄送: "726421577"<[email protected]>;"Mention"<[email protected]>; 主题: Re: [zhang-can/ECO-pytorch] 训练自己的数据集的结果 (#53) @Fovever1 @accountcwd 太感谢你们的解答了!!谢谢!! 抱歉昨晚没说清楚,我仔细说下我之前的工作:我复现了一篇人体骨骼描绘的论文,用网络摄像头实时的逐帧捕捉图片进行处理,描绘出了骨骼,想在这个基础上加入本模型的动作识别。所以我的想法是,自己制作一个数据集:做出一段动作视频,经过第一个模型处理出一段处理过的帧集然后打上标签。因为这个模型对视频处理的时候是对帧集进行处理的,应该可以拟合的上;加上我自己的一点考虑:骨骼描绘之后的动作图片可能会特征更明显、更突出,也许动作识别效果会更好。 不知我是否表达清楚,感谢你们的解答,谢谢!!! — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

嗯嗯好的,我会研究下基于骨骼的识别方法,谢谢你提供的新思路!再次感谢!

@bravewhh
Copy link

@accountcwd UCF101,我不明白为什么我的是top1=76%,top5=92%,loss=1.0,到第十个epoch的时候,test loss就降不下去了,我是完全按照您的要求来的,为什么结果不一样,我是clone原作者的pytorch代码

想问一下您的test代码是自己写的吗?还是最直接用验证集的精度来比较结果呢

@forbiddenname
Copy link

@Fovever1 @accountcwd 太感谢你们的解答了!!谢谢!!
抱歉昨晚没说清楚,我仔细说下我之前的工作:我复现了一篇人体骨骼描绘的论文,用网络摄像头实时的逐帧捕捉图片进行处理,描绘出了骨骼,想在这个基础上加入本模型的动作识别。所以我的想法是,自己制作一个数据集:做出一段动作视频,经过第一个模型处理出一段处理过的帧集然后打上标签。因为这个模型对视频处理的时候是对帧集进行处理的,应该可以拟合的上;加上我自己的一点考虑:骨骼描绘之后的动作图片可能会特征更明显、更突出,也许动作识别效果会更好。
不知我是否表达清楚,感谢你们的解答,谢谢!!!

请问你有实现对实时视频流进行检测吗?怎么做的啊,谢谢谢谢谢谢谢谢

@xiaofengWang-CCNU
Copy link

训练自己的数据集的结果👇
Testing Results: Prec@1 2.778 Prec@5 16.181 Loss nan

  • Validation Prec@1 saturates for 4 epochs.

这正常吗?我不清楚问题出在哪里

我也遇到了同样的问题,网络的输出是nan,从而loss为nan,请问您问题解决了吗?谢谢。

@dandingol03
Copy link

@jwdwzxd 我也是做基于骨骼节点的动作识别,请问您最终决定用哪个模型来进行动作识别

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants