测出的数据是这样子的,应该怎么大学生缺乏锻炼 数据呀?

-->你需要:上传原创作品:5张
作品评论数:3条 1天2天3天4天5天0天共累计签到0天共累计获得VIP签到成功麻烦花3秒钟的时间做个小调查请问,您的职业是App设计师网页设计师平面设计师电商设计师其他 不能重复添加画板收藏到灵感集您已经添加过此图片添加成功0分享:&&很抱歉,普通会员一天只能下载10哥源文件登录优界网& 测定匀变速直线运动的加速度知识点 & “伽利略在《两种新科学的对话》一书中,讨论...”习题详情
0位同学学习过此题,做题成功率0%
伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设计了如图所示的装置,探究物体沿斜面下滑是否做匀变速直线运动.(1)实验时,让滑块从某一高度由静止沿斜面下滑,并同时打开装置中的阀门,使水箱中的水流到量筒中;当滑块碰到挡板的同时关闭阀门(整个过程中水流可视为均匀稳定的).改变滑块起始位置的高度,重复以上操作.该实验探究方案是利用量筒中收集的水量来测量&的.(2)下表是该小组测得的有关数据,其中S为滑块从斜面的不同高度由静止释放后沿斜面下滑的距离,y为相应过程量筒收集的水量.分析表中数据,根据 &,可以得出滑块沿斜面下滑是做匀变速直线运动的结论.次数1234567S(m)4.53.93.02.11.50.90.3V(mL)23.55.65.55.85.55.65.65.4(3)本实验误差的主要来源有:水从水箱中流出不够稳定,还可能来源于 &等.(只要求写出一种)&
本题难度:一般
题型:解答题&|&来源:2011-江苏省泰州市姜堰市高三(上)期中物理试卷
分析与解答
习题“伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设...”的分析与解答如下所示:
关于初速度为零的匀变速运动,位移与时间的二次方成正比,由于水是均匀稳定的流出,水的体积和时间成正比,所以该实验只要验证位移与体积的二次方是否成正比,就可验证该运动是否匀变速直线运动.(1)关于初速度为零的匀变速运动,位移与时间的二次方成正比,由于水是均匀稳定的流出,水的体积和时间成正比,所以量筒中收集的水量可以间接的测量时间.&&& (2)验证该运动是否匀变速直线运动,关键看位移与时间的二次方是否成正比,即看位移与体积的二次方是否成正比.所以根据在误差的范围内是一常数,可以得出滑块沿斜面下滑是做匀变速直线运动的结论.&&& (3)本实验误差的主要来源有:水从水箱中流出不够稳定,还可能来源于距离测量的不准确,滑块开始下滑和开始流水不同步.故本题答案为:(1)时间;(2)在误差的范围内是一常数;(3)距离测量的不准确(或滑块开始下滑和开始流水不同步.)
找到答案了,赞一个
如发现试题中存在任何错误,请及时纠错告诉我们,谢谢你的支持!
伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实...
错误类型:
习题内容残缺不全
习题有文字标点错误
习题内容结构混乱
习题对应知识点不正确
分析解答残缺不全
分析解答有文字标点错误
分析解答结构混乱
习题类型错误
错误详情:
我的名号(最多30个字):
看完解答,记得给个难度评级哦!
经过分析,习题“伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设...”主要考察你对“测定匀变速直线运动的加速度”
等考点的理解。
因为篇幅有限,只列出部分考点,详细请访问。
测定匀变速直线运动的加速度
与“伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设...”相似的题目:
下列说法正确的是&&&&A.做匀速直线运动的物体的加速度一定是零?B.做匀速直线运动的物体的加速度可能是零?C.做加速直线运动的物体的加速度是零?D.做减速直线运动的物体的加速度是零?&&&&
如图所示在倾角θ=37°的足够长的固定的斜面底端有一质量m=1.0kg的物体,物体与斜面间动摩擦因数μ=0.25,现用轻细绳将物体由静止沿斜面向上拉动。拉力F=10.0N,方向平行斜面向上。经时间t=4.0s绳子突然断了,求:(sin37°=&0.6,& cos37°=0.8,g=10m/s2)(1)绳断时物体的速度大小。(2)从绳子断了开始到物体再返回到斜面底端的运动时间?&&&&
甲乙两辆汽车在平直的公路上沿同一方向作直线运动,t=0时刻同时经过公路旁的同一个路标。在描述两车运动的v-t图中(如图),直线a、b分别描述了甲乙两车在0-20 秒的运动情况。关于两车之间的位置关系,下列说法正确的是&&&&在0-10 秒内两车逐渐靠近在10-20 秒内两车逐渐远离在5-15 秒内两车的位移相等在t=10 秒时两车在公路上相遇
“伽利略在《两种新科学的对话》一书中,讨论...”的最新评论
该知识点好题
1(2013o江苏)某兴趣小组利用自由落体运动测定重力加速度,实验装置如图所示.&倾斜的球槽中放有若干个小铁球,闭合开关K,电磁铁吸住第1个小球.&手动敲击弹性金属片M,M与触头瞬间分开,第1个小球开始下落,M迅速恢复,电磁铁又吸住第2个小球.&当第1个小球撞击M时,M与触头分开,第2个小球开始下落….这样,就可测出多个小球下落的总时间.(1)在实验中,下列做法正确的有&&&&.A.电路中的电源只能选用交流电源B.实验前应将M调整到电磁铁的正下方C.用直尺测量电磁铁下端到M的竖直距离作为小球下落的高度D.手动敲击M的同时按下秒表开始计时(2)实验测得小球下落的高度H=1.980m,10个小球下落的总时间T=6.5s.可求出重力加速度g=&&&&m/s2.(结果保留两位有效数字)(3)在不增加实验器材的情况下,请提出减小实验误差的两个办法.(4)某同学考虑到电磁铁在每次断电后需要时间△t磁性才消失,因此,每个小球的实际下落时间与它的测量时间相差△t,这导致实验误差.为此,他分别取高度H1和H2,测量n个小球下落的总时间T1和T2.&他是否可以利用这两组数据消除△t对实验结果的影响?请推导说明.
2(1)某实验小组拟用如题22图1所示装置研究滑块的运动.实验器材有滑块、钩码、纸带、米尺、带滑轮的木板,以及由漏斗和细线组成的单摆等.实验中,滑块在钩码作用下拖动纸带做匀加速直线运动,同时单摆垂直于纸带运动方向摆动,漏斗漏出的有色液体在纸带带下留下的痕迹记录了漏斗在不同时刻的位置.①在图2中,从&&&&纸带可看出滑块的加速度和速度方向一致.②用该方法测量滑块加速度的误差主要来源有:&&&&、&&&&(写出2个即可).(2)某研究性学习小组设计了题22图3所示的电路,用来研究稀盐水溶液的电阻率与浓度的关系.图中E为直流电源,K为开关,K1为单刀双掷开关,V为电压表,A为多量程电流表,R为滑动变阻器,Rx为待测稀盐水溶液液柱.①实验时,闭合K之前将R的滑片P置于&&&&(填“C”或“D”)端;当用电流表外接法测量Rx的阻值时,K1应置于位置&&&&(填“1”或“2”).②在一定条件下,用电流表内、外接法得到Rx的电阻率随浓度变化的两条曲线如题22图4所示(不计由于通电导致的化学变化).实验中Rx的通电面积为20cm2,长度为20cm,用内接法测量Rx的阻值是3500Ω,则其电阻率为&&&&Ωom,由图中对应曲线&&&&,(填“1”或“2”)可得此时溶液浓度约为&&&&%(结果保留2位有效数字).
3利用图所示的装置可测量滑块在斜面上运动的加速度.一斜面上安装有两个光电门,其中光电门乙固定在斜面上靠近底端处,光电门甲的位置可移动,当一带有遮光片的滑块自斜面上滑下时,与两个光电门都相连的计时器可以显示出遮光片从光电门甲至乙所用的时间t.改变光电门甲的位置进行多次测量,每次都使滑块从同一点由静止开始下滑,并用米尺测量甲、乙之间的距离s,记下相应的t值;所得数据如下表所示.
s(m)&0.500&0.600&0.700&0.800&0.900&0.950&t(ms)&292.9&371.5&452.3&552.8&673.8&776.4&s/t(m/s)&1.71&1.62&1.55&1.45&1.34&1.22&完成下列填空和作图:(1)若滑块所受摩擦力为一常量,滑块加速度的大小a、滑块经过光电门乙时的瞬时速度v1、测量值s和t四个物理量之间所满足的关系式是&&&&;(2)根据表中给出的数据,在答题纸的图上给出的坐标纸上画出s/t-t图线;(3)由所画出的s/t-t图线,得出滑块加速度的大小为a=&&&&m/s2(保留2位有效数字).
该知识点易错题
1(2013o江苏)某兴趣小组利用自由落体运动测定重力加速度,实验装置如图所示.&倾斜的球槽中放有若干个小铁球,闭合开关K,电磁铁吸住第1个小球.&手动敲击弹性金属片M,M与触头瞬间分开,第1个小球开始下落,M迅速恢复,电磁铁又吸住第2个小球.&当第1个小球撞击M时,M与触头分开,第2个小球开始下落….这样,就可测出多个小球下落的总时间.(1)在实验中,下列做法正确的有&&&&.A.电路中的电源只能选用交流电源B.实验前应将M调整到电磁铁的正下方C.用直尺测量电磁铁下端到M的竖直距离作为小球下落的高度D.手动敲击M的同时按下秒表开始计时(2)实验测得小球下落的高度H=1.980m,10个小球下落的总时间T=6.5s.可求出重力加速度g=&&&&m/s2.(结果保留两位有效数字)(3)在不增加实验器材的情况下,请提出减小实验误差的两个办法.(4)某同学考虑到电磁铁在每次断电后需要时间△t磁性才消失,因此,每个小球的实际下落时间与它的测量时间相差△t,这导致实验误差.为此,他分别取高度H1和H2,测量n个小球下落的总时间T1和T2.&他是否可以利用这两组数据消除△t对实验结果的影响?请推导说明.
2(1)某实验小组拟用如题22图1所示装置研究滑块的运动.实验器材有滑块、钩码、纸带、米尺、带滑轮的木板,以及由漏斗和细线组成的单摆等.实验中,滑块在钩码作用下拖动纸带做匀加速直线运动,同时单摆垂直于纸带运动方向摆动,漏斗漏出的有色液体在纸带带下留下的痕迹记录了漏斗在不同时刻的位置.①在图2中,从&&&&纸带可看出滑块的加速度和速度方向一致.②用该方法测量滑块加速度的误差主要来源有:&&&&、&&&&(写出2个即可).(2)某研究性学习小组设计了题22图3所示的电路,用来研究稀盐水溶液的电阻率与浓度的关系.图中E为直流电源,K为开关,K1为单刀双掷开关,V为电压表,A为多量程电流表,R为滑动变阻器,Rx为待测稀盐水溶液液柱.①实验时,闭合K之前将R的滑片P置于&&&&(填“C”或“D”)端;当用电流表外接法测量Rx的阻值时,K1应置于位置&&&&(填“1”或“2”).②在一定条件下,用电流表内、外接法得到Rx的电阻率随浓度变化的两条曲线如题22图4所示(不计由于通电导致的化学变化).实验中Rx的通电面积为20cm2,长度为20cm,用内接法测量Rx的阻值是3500Ω,则其电阻率为&&&&Ωom,由图中对应曲线&&&&,(填“1”或“2”)可得此时溶液浓度约为&&&&%(结果保留2位有效数字).
3利用图所示的装置可测量滑块在斜面上运动的加速度.一斜面上安装有两个光电门,其中光电门乙固定在斜面上靠近底端处,光电门甲的位置可移动,当一带有遮光片的滑块自斜面上滑下时,与两个光电门都相连的计时器可以显示出遮光片从光电门甲至乙所用的时间t.改变光电门甲的位置进行多次测量,每次都使滑块从同一点由静止开始下滑,并用米尺测量甲、乙之间的距离s,记下相应的t值;所得数据如下表所示.
s(m)&0.500&0.600&0.700&0.800&0.900&0.950&t(ms)&292.9&371.5&452.3&552.8&673.8&776.4&s/t(m/s)&1.71&1.62&1.55&1.45&1.34&1.22&完成下列填空和作图:(1)若滑块所受摩擦力为一常量,滑块加速度的大小a、滑块经过光电门乙时的瞬时速度v1、测量值s和t四个物理量之间所满足的关系式是&&&&;(2)根据表中给出的数据,在答题纸的图上给出的坐标纸上画出s/t-t图线;(3)由所画出的s/t-t图线,得出滑块加速度的大小为a=&&&&m/s2(保留2位有效数字).
欢迎来到乐乐题库,查看习题“伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设计了如图所示的装置,探究物体沿斜面下滑是否做匀变速直线运动.(1)实验时,让滑块从某一高度由静止沿斜面下滑,并同时打开装置中的阀门,使水箱中的水流到量筒中;当滑块碰到挡板的同时关闭阀门(整个过程中水流可视为均匀稳定的).改变滑块起始位置的高度,重复以上操作.该实验探究方案是利用量筒中收集的水量来测量____的.(2)下表是该小组测得的有关数据,其中S为滑块从斜面的不同高度由静止释放后沿斜面下滑的距离,y为相应过程量筒收集的水量.分析表中数据,根据____,可以得出滑块沿斜面下滑是做匀变速直线运动的结论.次数1234567S(m)4.53.93.02.11.50.90.3V(mL)23.55.65.55.85.55.65.65.4(3)本实验误差的主要来源有:水从水箱中流出不够稳定,还可能来源于____等.(只要求写出一种)”的答案、考点梳理,并查找与习题“伽利略在《两种新科学的对话》一书中,讨论了自由落体运动和物体沿斜面运动的问题,提出了这样的猜想:物体沿斜面下滑是一种匀变速直线运动,同时他还运用实验验证了其猜想.合肥一中物理兴趣小组依据伽利略描述的实验方案,设计了如图所示的装置,探究物体沿斜面下滑是否做匀变速直线运动.(1)实验时,让滑块从某一高度由静止沿斜面下滑,并同时打开装置中的阀门,使水箱中的水流到量筒中;当滑块碰到挡板的同时关闭阀门(整个过程中水流可视为均匀稳定的).改变滑块起始位置的高度,重复以上操作.该实验探究方案是利用量筒中收集的水量来测量____的.(2)下表是该小组测得的有关数据,其中S为滑块从斜面的不同高度由静止释放后沿斜面下滑的距离,y为相应过程量筒收集的水量.分析表中数据,根据____,可以得出滑块沿斜面下滑是做匀变速直线运动的结论.次数1234567S(m)4.53.93.02.11.50.90.3V(mL)23.55.65.55.85.55.65.65.4(3)本实验误差的主要来源有:水从水箱中流出不够稳定,还可能来源于____等.(只要求写出一种)”相似的习题。如何评价 BBC 纪录片《锻炼的真相》? - 知乎5125被浏览265875分享邀请回答3.4K304 条评论分享收藏感谢收起222 条评论分享收藏感谢收起查看更多回答为小米手环正名:连续运动心率测量 可以一战_使用评测_什么值得买
为小米手环正名:连续运动心率测量 可以一战
&欢迎前来淘宝网实力旺铺,选购小米旗舰店小米手环光感版蓝牙防水计步器睡眠心率检测器支持IOS,想了解详情小米旗舰店小米手环光感版蓝牙防水计步器睡眠心率检测器支持IOS,请进入小米官方旗舰店的小米官方旗舰店实力旺铺,更多商品任你选购 值703 点评15 原创73 好价6&刚拿到小米手环光感版之后急匆匆上了一篇运动中使用的测评,得出结论是运动中还是不太靠谱,不能使用。&小米旗舰店小米手环光感版蓝牙防水计步器睡眠心率检测器支持IOS价格?99天...| 赞93 评论175 收藏83&前两天小米再次升级了手环固件和心率测量模块固件,感觉升级后小米手环可以一战,下面直接上干货!一、测试工具硬件:6 plus,6s,Mio alpha2,小米手环2软件:心率记录图(软件免费,但是为了能够导出数据,我内购了18块的高级功能&)、Runtstic pro上图二、测试对比1、第一个测试:70分钟综合测试这项测试是我在办公室没事儿做,就找了个软件(心率记录图)记录一段时间的心率看看到底如何期间有深蹲(第一个尖峰,图中高抬腿是记错了),上跑步(第二个尖峰),走动接水(第三个尖峰),下楼地,下班走路(最后一段)数据通过Email导出后,使用Excel处理,MIO一共8476,小米一共7645组数据,我通过每50个点插入1个点的方式让数据个数保持一致对比结果如图,黄色为MIO,蓝色为小米,可以看到两个大体上的走势基本上差不多,但是在有些点上MIO会不太准,在测量时候我就发现小米传数据的频率要比MIO低,从得到的数据点数上来看确实这样。频率低就不会有太离谱的尖峰和低谷,当然MIO有些尖峰也是不对的,可能是由于MIO戴右手,有时候打字会碰到的原因。2、第二个测试:跑步5km两个手环都戴左手,分别连6P 和 6S上的Runtastic Pro进行对比下图是从Runtastic网站上截图的两项运动图线叠加后的结果,可以看到基本上已经很准确了做为理工男,对这样的图片直接对比显然是不满足,继续导数据对比(蓝色小米,红色MIO)五公里下来,小米220个数据,MIO 240个数据,还是插值以后对比如下图,差别也没有很大,基本上都是小米更少的尖峰。3、第三个测试:跑步后走路回家跑完步后立马开启心率记录图,记录了55分钟数据,小米一共6535个数据,MIO一共6666个数据对比如下(黄色小米,蓝色MIO)三、结论1通过这次更新之后,小米基本上可以一战。2以99的价格能实现这样的准确度,这性价比立马就出来了。3喜欢跑步骑行想要掌握运动中心率的值友可以找机会剁手了。4说一下续航,连续测70分钟大概用了20%左右的电量,不开心率辅助监测睡眠功能一天大概2-3%,开启之后大概4-5%最后附上数据获取和处理的一些方式,方便想要自己对比的值友。心率记录图高级功能可以导出原始数据购买后就可以通过邮件等方式导出数据,直接把数据放进EXCEL就可以分析了。runtastic官网可以查看自己的每一项运动并导出数据notepad ++打开,搜索关键词,复制搜索结果粘贴到Excel分列处理,得到心率值,之后就能画图了最后容我装个B,附一个用宏插值的命令&张大妈压缩比较严重,想看清晰图片或者看原数据的看
本文著作权归作者本人和什么值得买共同所有,未经许可不得转载。文章仅代表作者看法,如有更多内容分享或是对文中观点有不同见解,值客原创欢迎您的投稿。
推荐关注:
鼠标移到标签上方,
尝试关注标签~
相关热门原创
作者其他原创(1)
文中提到的商品
ILIFE智意 天目X660智能扫地机器人
【轻众测】贝适安(R)Drinkwell*铂金版宠物喷泉饮水器(分享赢轻众测)
一汽-大众 奥迪 A4L 20台 四天使用权(限地区)
sangebaba 三个爸爸 AP600 家用除醛空气净化器
善领MiFi Plus 随身wifi无线路由器(送1个月流量)
微鲸智能投影M1
赞107评论78
赞131评论100
赞70评论81
赞1442评论902
赞804评论435
赞489评论312
赞490评论274
赞386评论416
扫一下,分享更方便,购买更轻松
用户名/邮箱
两周内免登录Fast RCNN 训练自己的数据集(3训练和检测) - CSDN博客
Fast RCNN 训练自己的数据集(3训练和检测)
转载自 楼燚(yì)航的blog,
&这是我在github上修改的几个文件的链接,求星星啊,求星星啊(原谅我那么不要脸~~)
在之前两篇文章中我介绍了怎么编译Fast RCNN,和怎么修改Fast RCNN的读取数据接口,接下来我来说明一下怎么来训练网络和之后的检测过程
先给看一下极好的检测效果
1.预训练模型介绍
首先在data目录下,有两个目录就是之前在1中解压好
fast_rcnn_models/imagenet_models/
fast_rcnn_model文件夹下面是作者用fast rcnn训练好的三个网络,分别对应着小、中、大型网络,大家可以试用一下这几个网络,看一些检测效果,他们训练都迭代了40000次,数据集都是pascal_voc的数据集。
caffenet_fast_rcnn_iter_40000.caffemodelvgg_cnn_m_1024_fast_rcnn_iter_40000.caffemodelvgg16_fast_rcnn_iter_40000.caffemodel
imagenet_model文件夹下面是在Imagenet上训练好的通用模型,在这里用来初始化网络的参数
CaffeNet.v2.caffemodelVGG_CNN_M_1024.v2.caffemodelVGG16.v2.caffemodel
在这里我比较推荐先用中型网络训练,中型网络训练和检测的速度都比较快,效果也都比较理想,大型网络的话训练速度比较慢,我当时是5000多个标注信息,网络配置默认,中型网络训练大概两三个小时,大型网络的话用十几个小时,需要注意的是网络训练最好用GPU,CPU的话太慢了,我当时用的实验室的服务器,有16块Tesla K80,用起来真的是灰常爽!
2. 修改模型文件配置
模型文件在models下面对应的网络文件夹下,在这里我用中型网络的配置文件修改为例子
比如:我的检测目标物是car ,那么我的类别就有两个类别即 background 和 car
因此,首先打开网络的模型文件夹,打开train.prototxt
修改的地方重要有三个
分别是个地方
首先在data层把num_classes 从原来的21类 20类+背景 ,改成 2类 车+背景接在在cls_score层把num_output 从原来的21 改成 2在bbox_pred层把num_output 从原来的84 改成8, 为检测类别个数乘以4,比如这里是2类那就是2*4=8
OK,如果你要进一步修改网络训练中的学习速率,步长,gamma值,以及输出模型的名字,需要在同目录下的solver.prototxt中修改。
train_net: &models/VGG_CNN_M_1024/train.prototxt&
base_lr: 0.001
lr_policy: &step&
gamma: 0.1
stepsize: 30000
display: 20
average_loss: 100
momentum: 0.9
weight_decay: 0.0005
# We disable standard caffe solver snapshotting and implement our own snapshot
# function
snapshot: 0
# We still use the snapshot prefix, though
snapshot_prefix: &vgg_cnn_m_1024_fast_rcnn&
#debug_info: true
3.启动Fast RCNN网络训练
启动训练:
./tools/train_net.py --gpu 11 --solver models/VGG_CNN_M_1024_LOUYIHANG/solver.prototxt --weights data/imagenet_models/VGG_CNN_M_1024.v2.caffemodel --imdb KakouTrain
参数讲解:
这里的--是两个-,markdown写的,大家不要输错train_net.py是网络的训练文件,之后的参数都是附带的输入参数--gpu 代表机器上的GPU编号,如果是nvidia系列的tesla显卡,可以在终端中输入nvidia-smi来查看当前的显卡负荷,选择合适的显卡--solver 代表模型的配置文件,train.prototxt的文件路径已经包含在这个文件之中--weights 代表初始化的权重文件,这里用的是Imagenet上预训练好的模型,中型的网络我们选择用VGG_CNN_M_1024.v2.caffemodel--imdb 这里给出的训练的数据库名字需要在factory.py的__sets中,我在文件里面有__sets['KakouTrain'],train_net.py这个文件会调用factory.py再生成kakou这个类,来读取数据
4.启动Fast RCNN网络检测
我修改了tools下面的demo.py这个文件,用来做检测,并且将检测的坐标结果输出到相应的txt文件中
可以看到原始的demo.py 是用网络测试了两张图像,并做可视化输出,有具体的检测效果,但是我是在Linux服务器的终端下,没有display device,因此部分代码要少做修改
下面是原始的demo.py:
Demo script showing detections in sample images.
See README.md for installation instructions before running.
import _init_paths
from fast_rcnn.config import cfg
from fast_rcnn.test import im_detect
from utils.cython_nms import nms
from utils.timer import Timer
import matplotlib.pyplot as plt
import numpy as np
import scipy.io as sio
import caffe, os, sys, cv2
import argparse
CLASSES = ('__background__',
'aeroplane', 'bicycle', 'bird', 'boat',
'bottle', 'bus', 'car', 'cat', 'chair',
'cow', 'diningtable', 'dog', 'horse',
'motorbike', 'person', 'pottedplant',
'sheep', 'sofa', 'train', 'tvmonitor')
NETS = {'vgg16': ('VGG16',
'vgg16_fast_rcnn_iter_40000.caffemodel'),
'vgg_cnn_m_1024': ('VGG_CNN_M_1024',
'vgg_cnn_m_1024_fast_rcnn_iter_40000.caffemodel'),
'caffenet': ('CaffeNet',
'caffenet_fast_rcnn_iter_40000.caffemodel')}
def vis_detections(im, class_name, dets, thresh=0.5):
&&&Draw detected bounding boxes.&&&
inds = np.where(dets[:, -1] &= thresh)[0]
if len(inds) == 0:
im = im[:, :, (2, 1, 0)]
fig, ax = plt.subplots(figsize=(12, 12))
ax.imshow(im, aspect='equal')
for i in inds:
bbox = dets[i, :4]
score = dets[i, -1]
ax.add_patch(
plt.Rectangle((bbox[0], bbox[1]),
bbox[2] - bbox[0],
bbox[3] - bbox[1], fill=False,
edgecolor='red', linewidth=3.5)
ax.text(bbox[0], bbox[1] - 2,
'{:s} {:.3f}'.format(class_name, score),
bbox=dict(facecolor='blue', alpha=0.5),
fontsize=14, color='white')
ax.set_title(('{} detections with '
'p({} | box) &= {:.1f}').format(class_name, class_name,
fontsize=14)
plt.axis('off')
plt.tight_layout()
plt.draw()
def demo(net, image_name, classes):
&&&Detect object classes in an image using pre-computed object proposals.&&&
box_file = os.path.join(cfg.ROOT_DIR, 'data', 'demo',
image_name + '_boxes.mat')
obj_proposals = sio.loadmat(box_file)['boxes']
im_file = os.path.join(cfg.ROOT_DIR, 'data', 'demo', image_name + '.jpg')
im = cv2.imread(im_file)
timer = Timer()
timer.tic()
scores, boxes = im_detect(net, im, obj_proposals)
timer.toc()
print ('Detection took {:.3f}s for '
'{:d} object proposals').format(timer.total_time, boxes.shape[0])
CONF_THRESH = 0.8
NMS_THRESH = 0.3
for cls in classes:
cls_ind = CLASSES.index(cls)
cls_boxes = boxes[:, 4*cls_ind:4*(cls_ind + 1)]
cls_scores = scores[:, cls_ind]
dets = np.hstack((cls_boxes,
cls_scores[:, np.newaxis])).astype(np.float32)
keep = nms(dets, NMS_THRESH)
dets = dets[keep, :]
print 'All {} detections with p({} | box) &= {:.1f}'.format(cls, cls,
CONF_THRESH)
vis_detections(im, cls, dets, thresh=CONF_THRESH)
def parse_args():
&&&Parse input arguments.&&&
parser = argparse.ArgumentParser(description='Train a Fast R-CNN network')
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]',
default=0, type=int)
parser.add_argument('--cpu', dest='cpu_mode',
help='Use CPU mode (overrides --gpu)',
action='store_true')
parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16]',
choices=NETS.keys(), default='vgg16')
args = parser.parse_args()
return args
if __name__ == '__main__':
args = parse_args()
prototxt = os.path.join(cfg.ROOT_DIR, 'models', NETS[args.demo_net][0],
'test.prototxt')
caffemodel = os.path.join(cfg.ROOT_DIR, 'data', 'fast_rcnn_models',
NETS[args.demo_net][1])
if not os.path.isfile(caffemodel):
raise IOError(('{:s} not found.\nDid you run ./data/script/'
'fetch_fast_rcnn_models.sh?').format(caffemodel))
if args.cpu_mode:
caffe.set_mode_cpu()
caffe.set_mode_gpu()
caffe.set_device(args.gpu_id)
net = caffe.Net(prototxt, caffemodel, caffe.TEST)
print '\n\nLoaded network {:s}'.format(caffemodel)
print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
print 'Demo for data/demo/000004.jpg'
demo(net, '000004', ('car',))
print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
print 'Demo for data/demo/001551.jpg'
demo(net, '001551', ('sofa', 'tvmonitor'))
plt.show()
复制这个demo.py 修改成CarFaceTest.py,下面是修改后的文件
修改后的文件主要是添加了outputDetectionResult和runDetection两个函数, 添加了部分注释
Demo script showing detections in sample images.
See README.md for installation instructions before running.
import _init_paths
from fast_rcnn.config import cfg
from fast_rcnn.test import im_detect
from utils.cython_nms import nms
from utils.timer import Timer
import matplotlib.pyplot as plt
import numpy as np
import scipy.io as sio
import caffe, os, sys, cv2
import argparse
CLASSES = ('__background__','car')
NETS = {'vgg16': ('VGG16',
'vgg16_fast_rcnn_iter_40000.caffemodel'),
'vgg_cnn_m_1024': ('VGG_CNN_M_1024',
'vgg_cnn_m_1024_fast_rcnn_iter_40000.caffemodel'),
'vgg_cnn_m_1024_louyihang': ('VGG_CNN_M_1024_LOUYIHANG',
'vgg_cnn_m_1024_fast_rcnn_louyihang_iter_40000.caffemodel'),
'caffenet': ('CaffeNet',
'caffenet_fast_rcnn_iter_40000.caffemodel'),
'caffenet_louyihang':('CaffeNet_LOUYIHANG',
'caffenet_fast_rcnn_louyihang_iter_40000.caffemodel'),
'vgg16_louyihang':('VGG16_LOUYIHANG',
'vgg16_fast_rcnn_louyihang_iter_40000.caffemodel')}
def outputDetectionResult(im, class_name, dets, thresh=0.5):
outputFile = open('CarDetectionResult.txt')
inds = np.where(dets[:,-1] &= thresh)[0]
if len(inds) == 0:
def runDetection (net, basePath, testFileName,classes):
ftest = open(testFileName,'r')
imageFileName = basePath+'/' + ftest.readline().strip()
outputFile = open('CarDetectionResult.txt','w')
while imageFileName:
print imageFileName
print 'now is ', num
num +=1
imageFileBaseName = os.path.basename(imageFileName)
imageFileDir = os.path.dirname(imageFileName)
boxFileName = imageFileDir +'/'+imageFileBaseName.replace('.jpg','_boxes.mat')
print boxFileName
obj_proposals = sio.loadmat(boxFileName)['boxes']
im = cv2.imread(imageFileName)
timer = Timer()
timer.tic()
scores, boxes = im_detect(net, im, obj_proposals)
timer.toc()
print ('Detection took {:.3f} for '
'{:d} object proposals').format(timer.total_time, boxes.shape[0])
CONF_THRESH = 0.8
NMS_THRESH = 0.3
for cls in classes:
cls_ind = CLASSES.index(cls)
cls_boxes = boxes[:, 4*cls_ind:4*(cls_ind + 1)]
cls_scores = scores[:, cls_ind]
dets = np.hstack((cls_boxes,
cls_scores[:, np.newaxis])).astype(np.float32)
keep = nms(dets, NMS_THRESH)
dets = dets[keep, :]
print 'All {} detections with p({} | box) &= {:.1f}'.format(cls, cls,
CONF_THRESH)
inds = np.where(dets[:, -1] &= CONF_THRESH)[0]
print 'inds.size', inds.size
if len(inds) != 0:
outputFile.write(imageFileName+' ')
outputFile.write(str(inds.size)+' ')将检测的结果写出相应的文件里
for i in inds:
bbox = dets[i, :4]
outputFile.write(str(int(bbox[0]))+' '+ str(int(bbox[1]))+' '+ str(int(bbox[2]))+' '+ str(int(bbox[3]))+' ')
outputFile.write('\n')
outputFile.write(imageFileName +' 0' '\n')
temp = ftest.readline().strip()
imageFileName = basePath+'/' + temp
def vis_detections(im, class_name, dets, thresh=0.5):
&&&Draw detected bounding boxes.&&&
inds = np.where(dets[:, -1] &= thresh)[0]
print 'inds.shape', inds.shape
print inds
print 'inds.size', inds.size
if len(inds) == 0:
def demo(net, image_name, classes):
&&&Detect object classes in an image using pre-computed object proposals.&&&
basePath='/home/chenjie/DataSet/500CarTestDataSet2'
box_file = os.path.join(basePath,image_name + '_boxes.mat')
obj_proposals = sio.loadmat(box_file)['boxes']
im_file = os.path.join(basePath, image_name + '.jpg')
im = cv2.imread(im_file)
timer = Timer()
timer.tic()
scores, boxes = im_detect(net, im, obj_proposals)
timer.toc()
print ('Detection took {:.3f}s for '
'{:d} object proposals').format(timer.total_time, boxes.shape[0])
CONF_THRESH = 0.8
NMS_THRESH = 0.3
for cls in classes:
cls_ind = CLASSES.index(cls)
cls_boxes = boxes[:, 4*cls_ind:4*(cls_ind + 1)]
cls_scores = scores[:, cls_ind]
dets = np.hstack((cls_boxes,
cls_scores[:, np.newaxis])).astype(np.float32)
keep = nms(dets, NMS_THRESH)
dets = dets[keep, :]
print 'All {} detections with p({} | box) &= {:.1f}'.format(cls, cls,
CONF_THRESH)
vis_detections(im, cls, dets, thresh=CONF_THRESH)
def parse_args():
&&&Parse input arguments.&&&
parser = argparse.ArgumentParser(description='Train a Fast R-CNN network')
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]',
default=0, type=int)
parser.add_argument('--cpu', dest='cpu_mode',
help='Use CPU mode (overrides --gpu)',
action='store_true')
parser.add_argument('--net', dest='demo_net', help='Network to use [vgg16]',
choices=NETS.keys(), default='vgg16')
args = parser.parse_args()
return args
if __name__ == '__main__':
args = parse_args()
prototxt = os.path.join(cfg.ROOT_DIR, 'models', NETS[args.demo_net][0],
'test.prototxt')
caffemodel = '/home/chenjie/fast-rcnn/output/default/KakouTrain/vgg_cnn_m_1024_fast_rcnn_louyihang_iter_40000.caffemodel'
if not os.path.isfile(caffemodel):
raise IOError(('{:s} not found.\nDid you run ./data/script/'
'fetch_fast_rcnn_models.sh?').format(caffemodel))
if args.cpu_mode:
caffe.set_mode_cpu()
caffe.set_mode_gpu()
caffe.set_device(args.gpu_id)
net = caffe.Net(prototxt, caffemodel, caffe.TEST)
print '\n\nLoaded network {:s}'.format(caffemodel)
runDetection(net, '/home/chenjie/DataSet/500CarTestDataSet2','/home/chenjie/DataSet/500CarTestDataSet2/Imagelist.txt',('car',))
5.检测结果
训练数据集
首先给出我的训练数据集,其实我的训练数据集并不是太复杂的
测试数据集
输出检测结果到txt文件中,
**在复杂场景下的测试效果非常好,速度也非常快,中型网络监测平均每张在K80显卡下时0.1~0.2S左右,图像的尺寸是480*640,6000张测试数据集下达到的准确率是98%!!!**
(请您对文章做出评价)
posted @&&&阅读(1314)
本文已收录于以下专栏:
相关文章推荐
还记得最开始注册csdn账号~
资源积分不够,不
利用faster-rcnn检测图片,先把结果保存成txt,就像下面这样
利用下面这段代码就可以做到,把这段代码保存成XX.py,再运行。代码里需要改的地方都注释了,不知道怎么上传源码的,将就着用...
上一篇博客中讲了在Ubuntu下安装caffe的经验总结(各种问题,简直怀疑人生了)。博客链接:点我打开
faster-rcnn有两个版本,分别是python的和MATLAB的。这里介绍pytho...
在前面的一篇博客中,介绍了如何实现py-faster-rcnn的配置以及在PASCAL VOC 2007上面的训练,本节,来讲诉如何制作并训练自己的数据集。
1.制作自己的数据集
最后更新日期:日本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10%,但是准确率应该是差不多的。目...
详见大神博客/rcnn-fast-rcnn-faster-rcnn%E7%9A%84%E4%B8%80%E4%BA%9B%E4%BA%8B/
在看了一些深度学习的目标检测的论文后,想着去用开源的代码去跑一下,看看实际的效果。于是小菜就想着直接把faster_rcnn用起来,包括前期的faster_rcnn安装和配置并运行其中的一个demo....
对py-faster-rcnn/tools/demo.py文件的解析:
    运行该文件:先cd进入到py-faster-rcnn根目录,再在命令后窗口输入: ./tools/demo.py --n...
本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10%,但是准确率应该是差不多的。
目前已经实现的有两种方式:
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 为什么这样子 的文章

 

随机推荐