K210人脸追踪

这篇具有很好参考价值的文章主要介绍了K210人脸追踪。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

K210


前言

老样子了先看视频

K210人脸追踪

一、准备

你需要准备一个人脸识别模型
k210人脸追踪,K210,python,开发语言
然后一个云台就行了

二、代码

'''
人脸追踪
'''
from machine import Timer,PWM
import sensor,lcd,time
import KPU as kpu
class Pid:
    def __init__(self,Kp,Kd,Ki):
        self.Kp = Kp
        self.Ki = Kd
        self.Kd = Kd
        self.Bias = 0
        self.angle = 0
        self.Last_bias = 0
        self.Integral_bias = 0

    def Out(self,target,actullay):

        self.Bias = actullay-target
        self.Integral_bias+=self.Bias
        self.angle = self.Ki*self.Integral_bias+self.Kp*self.Bias+self.Kd*(self.Bias-self.Last_bias)
        self.Last_bias=self.Bias
        return self.angle
        print(self.angle)

class Servo:
    def __init__(self, timer_id):
        self.pin = None
        self.freq = 50
        self.duty = 0
        self.servo = None
        self.interval = 500  # ms

        '''all timer default use channel0'''
        if timer_id == 0:
            self.tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
        elif timer_id == 1:
            self.tim = Timer(Timer.TIMER1, Timer.CHANNEL0, mode=Timer.MODE_PWM)
        elif timer_id == 2:
            self.tim = Timer(Timer.TIMER2, Timer.CHANNEL0, mode=Timer.MODE_PWM)
        else:
            print("erorr timer_id is [0,2]!")
            sys.exit(retval=0)

    def set_pin(self,pin_num):
        self.pin = pin_num
        self.servo = PWM(self.tim, freq=self.freq, duty=self.duty, pin=self.pin)

    def position(self,angle):
        time.sleep_us(self.interval)
        self.servo.duty(angle*1.0/180*10+2.5)

    def set_speed(self,_interval):
        self.interval = _interval

servo1 = Servo(1)   #创建对象舵机1
servo2 = Servo(2)   #创建对象舵机2
servo1.set_pin(15)  #水平方向接15
servo2.set_pin(33)  #垂直方向接33

Servoy= Pid(Kp=0.07,Ki=0,Kd=0)  #设定PID参数
Servox= Pid(Kp=0.07,Ki=0,Kd=0)
angle1 = 55 #水平方向的舵机初始角度
angle2 = 90 #垂直方向的舵机初始角度,可更改
flag_x=0   #水平方向舵机的标志位
flag_y=0   #垂直方向舵机的标志位
x=0  #人脸中心的横坐标
y=0  #人脸中心的纵坐标

#摄像头初始化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
#sensor.set_auto_whitebal(False) # turn this off.关闭白平衡
sensor.set_vflip(0) #后置模式,所见即所得
#lcd初始化
lcd.init()
clock=time.clock()
#将模型放在 SD 卡中。
task = kpu.load("/sd/facedetect.kmodel") #模型 SD 卡上
#模型描参数
anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437,
6.92275, 6.718375, 9.01025)
#初始化 yolo2 网络
a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)


while True:
    clock.tick()
    img = sensor.snapshot()
    code = kpu.run_yolo2(task, img) #运行 yolo2 网络
  #识别到人脸就画矩形表示
    if code:
        for i in code:
            print(i)
            b = img.draw_rectangle(i.rect())
            x=i.x()+i.w()/2
            y=i.y()+i.h()/2
            Servox.Out(target=160,actullay=x)
            Servoy.Out(target=120,actullay=y)
            angle1=angle1+Servox.angle
            angle2=angle2-Servoy.angle
            servo1.position(angle1)
            servo2.position(angle2)
 #如果找不到人脸,水平舵机自动旋转()
    else:
         pass
         if(flag_x==0):
             angle1=angle1+1
             if angle1>=180:
                 flag_x = 1
         else:
            angle1=angle1-1
            if angle1<=0:
                 flag_x = 0
#这里将垂直方向的舵机关掉,感觉有水平方向的就可以了,可以根据实际情况修改
#         if(flag_y==0):
#           angle2=angle2+1
#            if angle2>=180:
#                 flag_y = 1
#         else:
#            angle2=angle2-1
#            if angle2<=0:
#                 flag_y = 0

#        angle2=angle2+0.1
    print(angle1)
    print(angle2)
    servo1.position(angle1)
    servo2.position(angle2)
    lcd.display(img)     #LCD显示图片
    print(clock.fps())   #打印FPS

代码附上了,模型直接去01科技官网或者sipeed的官网上下载就行。文章来源地址https://www.toymoban.com/news/detail-622061.html

到了这里,关于K210人脸追踪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Canmv K210开发板训练自己的模型

    关于Canmv开发板的介绍: CanMV K210 AI开发板全网首发,项目代码完全开源,千套开发板限时优惠! 本文参考:使用CanMV进行多物体识别   便宜!便宜!便宜!淘宝200即可买到一个能带摄像头和LCD屏等等的开发板,到手即用,对于我们这种学生党来作为学习、打比赛等在性价

    2024年02月01日
    浏览(44)
  • 勘智k210(MaixDock)开发环境搭建(快速上手)

    本文使用的开发板是sipeed的MaixDock 这个是官方文档(其实官方文档写的蛮清楚的!) 官方文档地址 第一步 首先我们先确保有ch340的驱动,随后在官方文档中下载固件,这个固件的网址是github的所有这里贴出百度网盘的链接(1.8.1版本) 百度网盘 提取码:5k39 第二步 下载一下固

    2024年02月13日
    浏览(34)
  • STM32如何通过K210进行物体识别(1.开发环境搭建)

    本来参加智能物流机器人比赛是要用OpenMV的,但无奈于诸多因素只有K210可以使用,这也算是不幸中的万幸吧。这篇文章也作为我这一段时间的学习K210进行物体识别的复习与总结(因为种种原因,比赛也面临无法完成,大哭;人工智能小白一枚,欢迎各路大神指正,求轻喷)

    2023年04月10日
    浏览(42)
  • AI嵌入式K210项目(1)-芯片开发板介绍

    在人工智能大潮滚滚而来的时代,作为一个从事嵌入式行业多年的程序猿倍感焦虑,有被替代的焦虑,也有跟不上新技术步伐的无奈,本系列文章将介绍一个从硬件设计到ai训练、最后到模型部署的完整案例;第一阶段我将介绍使用C语言进行裸机开发,在熟悉了硬件和系统之

    2024年01月17日
    浏览(65)
  • python 编写K210控制步进电机的程序示例

     今天正好看到K210的脉冲章节,就顺便拿出步进电机做个小实验,也好巩固一下所学的知识。下面是K210关于脉冲的相关介绍: 构造函数 machine.PWM(tim, freq, duty, pin, enable=True) PWM 对象在 machine 模块下          【tim】K210 的 PWM 依赖于定时器来产生波形          【freq】PWM 频率

    2024年02月02日
    浏览(41)
  • AI嵌入式K210项目(19)-安装CanMV IDE开发软件

    前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关程序,使用C语言的话复杂度比较高,因此接下来我们逐步学习基于K210芯片使用python开发人工智能相关程序,包含颜色识别,人脸识别,口罩识别等,也包

    2024年01月25日
    浏览(60)
  • 【K210】K210学习笔记二——image

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 本篇主要是介绍 K210 上的 image 机器视觉模块。如果你要使用 K210 来进行一些颜色追踪( 比如识别黑色,传回

    2024年02月16日
    浏览(45)
  • 【K210】K210学习笔记五——串口通信

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find

    2024年04月28日
    浏览(46)
  • K210学习笔记(二) K210与STM32进行串口通信,K210收,STM32发

    想用STM32通过串口给K210发数据,并在屏幕上显示,看了好几篇博客,终于搞通了,大家感兴趣也可以看看。 K210学习笔记(一) K210与STM32串口通信相关 接线,STM32的串口引脚比较固定,而K210就牛比了,任意映射,懒人福音。这里我找了两个没有被复用的IO,IO9和IO10 STM32 K210 GND

    2023年04月08日
    浏览(39)
  • 【K210】K210学习笔记四——定时器的使用

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find

    2024年02月03日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包