尝试一、及时回收内存
换用mobilenet_v2_0.5,卡死的问题解决了,还是k210kpu内存太小了,只有2000KB,从1839KB的0.75换成848KB的0.5,就彻底解决了运行卡死的问题,而且没有加kpu.deinit
尝试二、把图像大小改为224*224,且将识别范围收入
一时半会儿搞不好,先用默认的,那个forward会出问题
尝试三、让训练的图像和识别的图像在同一位置
现在训练的图像通过crop可以让托盘居中,但是实际检测的时候通过crop后会让forward函数出问题,说是img format有问题
另一种思路是用sensor.windowing(roi),但是不知道为啥不能居中,和我想的位置不一样
决定现在helloworld里面实时调试一下图像位置,既要输入224*224(值得怀疑,可以研究一下例程里面是怎么跑起来的,下一条),又要在中间
尝试四、 看看例程怎么跑的
1.
lcd_show_except
里面有
img = image.Image(size=input_size)
2.
def main
里面有
sensor_window=input_size(input_size = (224, 224))
main函数里可以传参进去确定是否翻转,如下:
sensor_hmirror=True, sensor_vflip=True
翻转之后lcd上是左右上下颠倒的,但是ide上是正的,不知道为啥。而且过段时间会卡死,显示ValueError: input not support,这个和翻转没关系,就是连接ide后会出这个问题
想去用一下
lcd_rotation
结果报错:AttributeError: 'Image' object has no attribute 'rotation',没有这个方法
是有这个方法的,是自己写了个img.rotation(),忘删了
用了
lcd_rotation=2
现在字转正了,图像是反的,0123控制图像顺时针转90度
, sensor_hmirror=True, sensor_vflip=True
如图1,又把摄像头的两个翻转参数加上,现在图像和文字都正了,说明坐标原点回到了左上角

尝试五、把识别部分框到中间
现在是从左上角开始的224*224,要改到roi=(48,16,224,224),也就是正对托盘