K210人脸检测

人脸检测

import sensor, image, lcd, time
import KPU as kpu
import gc, sys

def lcd_show_except(e):
    import uio
    err_str = uio.StringIO()
    sys.print_exception(e, err_str)
    err_str = err_str.getvalue()
    img = image.Image(size=(224,224))
    img.draw_string(0, 10, err_str, scale=1, color=(0xff,0xff,0x00))
    lcd.display(img)

#mnist.kmodel  "/sd/mnist.kmodel"  model_addr=0x300000
#
def main(model_addr="/sd/facedetect.kmodel", lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False):
    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.set_hmirror(sensor_hmirror)
    sensor.set_vflip(sensor_vflip)
    sensor.run(1)

    lcd.init(type=1)
    lcd.rotation(lcd_rotation)
    lcd.clear(lcd.WHITE)

    #task = kpu.load(model_addr)0x300000"/sd/mnist.kmodel"
    task = kpu.load("/sd/facedetect.kmodel")
    #"/sd/mnist.kmodel"
    anchors = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025)
    kpu.init_yolo2(task, 0.5, 0.3, 5, anchors) # threshold:[0,1], nms_value: [0, 1]
    try:
        while(True):
            img = sensor.snapshot()
            img.rotation_corr(x_rotation=180,y_rotation=180)#x_rotation=10,
            t = time.ticks_ms()
            objects = kpu.run_yolo2(task, img)
            t = time.ticks_ms() - t
            if objects:
                for obj in objects:
                    img.draw_rectangle(obj.rect())
            img.draw_string(0, 200, "t:%dms" %(t), scale=2)
            lcd.display(img)
    except Exception as e:
        raise e
    finally:
        kpu.deinit(task)


if __name__ == "__main__":
    try:
        main( model_addr="/sd/facedetect.kmodel", lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False)
        # main(model_addr="/sd/m.kmodel")
    except Exception as e:
        sys.print_exception(e)
        lcd_show_except(e)
    finally:
        gc.collect()

模型文件 

可以将模型直接烧录到内部0x300000地址下也可以放到内存卡中 

facedetect.kmode 

 

 具体的烧录模型  安装MaixPy IDE  和固件下载固件  具体参考 https://cn.maixpy.sipeed.com/dev/zh

代码放在

固件

模型

只选择一个    带0x300000为下载到内部flash 中的

猜你喜欢

转载自blog.csdn.net/qq_36958104/article/details/110198892