部署训练出来的模型后,满屏都是识别到了物体,画面卡顿厉害

Viewed 99

问题描述


利用130张苹果素材标注来训练,部署完后上电就卡顿,很久才刷一屏,并且屏幕里没有苹果,却标注出很多个苹果的框来。
通过网盘分享的文件:apple_1.zip
链接: https://pan.baidu.com/s/1tQAXP0HRYo0lbojR3hhxjg?pwd=kkkk 提取码: kkkk 复制这段内容后打开百度网盘手机App,操作更方便哦

硬件板卡


CanMV K210

硬件板卡


CanMV K210

2 Answers
import cmath
import gc
import time

import image
import lcd
import sensor
from maix import KPU

lcd.init()  # Init lcd display
lcd.clear(lcd.RED)  # Clear lcd screen.

# sensor.reset(dual_buff=True)      # improve fps
sensor.reset()  # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565)  # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA)  # Set frame size to QVGA (320x240)
sensor.set_vflip(True)  # 翻转摄像头
sensor.set_hmirror(True)  # 镜像摄像头
sensor.skip_frames(time=1000)  # Wait for settings take effect.
clock = time.clock()  # Create a clock object to track the FPS.

print("ready load model")

labels = ["apple"]  # 类名称,按照label.txt顺序填写
anchor = (2.61, 2.95, 3.99, 2.27, 4.75, 3.43, 4.32, 4.78, 7.32, 5.68)  # anchors,使用anchor.txt中第二行的值

kpu = KPU()
# 从sd或flash加载模型
# kpu.load_kmodel('/sd/det.kmodel')
kpu.load_kmodel(0x300000, 584744)
kpu.init_yolo2(
    anchor,
    anchor_num=(int)(len(anchor) / 2),
    img_w=320,
    img_h=240,
    net_w=320,
    net_h=240,
    layer_w=10,
    layer_h=8,
    threshold=0.6,
    nms_value=0.3,
    classes=len(labels),
)

while True:
    gc.collect()

    clock.tick()
    img = sensor.snapshot()

    kpu.run_with_output(img)
    dect = kpu.regionlayer_yolo2()

    fps = clock.fps()

    if len(dect) > 0:
        for l in dect:
            a = img.draw_rectangle(l[0], l[1], l[2], l[3], color=(0, 255, 0))

            info = "%s %.3f" % (labels[l[4]], l[5])
            a = img.draw_string(l[0], l[1], info, color=(255, 0, 0), scale=2.0)
            print(info)
            del info

    a = img.draw_string(0, 0, "%2.1ffps" % (fps), color=(0, 60, 255), scale=2.0)
    lcd.display(img)

试试看这个脚本,而且看你的训练结果,测试数据都没有几个正确框出来的。

是的,训练结果不理想,估计要用这个模块的摄像头来拍照再训练。这个脚本是不是训练结果里面的det.py,好像一样的,但是为啥我运行后就没有之前那种满屏绿框的现象了,之前也是这个脚本的

你没有用训练结果中的anchor和label更新脚本中的代码。

懂了,找到点了,十分感谢

你好,识别使用的nms和threasold还有anchor需要按照模型训练结果中的配置。

哦哦,请问有没有相关教程呢,十分感谢

替换相关参数即可。

你好,模型和bin文件和det文件都是用的训练出来文件的,nms和threasold还有anchor这些参数在det.py文件里没动过,应该就是模型训练结果的配置了,但是还是一样的效果,请问还能在哪些方面找问题?