本次大作业是⼈体检测+⼈体追踪+业务逻辑

一、人体检测,首先先要训练一个识别人体的模型,我们这里选用的是yolov5n网络模型,主要操步骤如下

1.下载人体数据集,然后转换为yolo网络的数据集格式,这里是将annotation_val.odgt->xml(在这一步可以用labelimg查看一些图片,看框标的对不对)->txt,其中txt中是人体框的中心坐标和宽高,都是归一化的。

2.划分数据集和训练集,按照8:2的⽅式来切分,即80%是训练集,20%是验证集,也可以按照别的比例。

3.修改data/person.yaml中训练数据位置,标注种类nc:1,标注名字names: ['person']

4.修改train.py中一些配置,如下图,别的修改看大家自己:

5.接着就等训练完成出模型

二、⼈体追踪

其实我没接触过人体追踪,但是课堂上我知道了多⽬标跟踪算法,发展路径是:sort->deepsort->bytetrack

这个多目标跟踪算法,想详细了解还需要多读论文和开源代码,大白老师也提供了如下经典论文:

(1)带你⼊⻔多⽬标跟踪(⼀)领域概述

https://zhuanlan.zhihu.com/p/62827974

(2)带你⼊⻔多⽬标跟踪(⼆)SORT&DeepSORT

https://zhuanlan.zhihu.com/p/62858357

(3)带你⼊⻔多⽬标跟踪(三)匈⽛利算法&KM算法

https://zhuanlan.zhihu.com/p/62981901

(4)带你⼊⻔多⽬标跟踪(四)外观模型 Appearance Model

https://zhuanlan.zhihu.com/p/63189011

(5)ByteTrack: Multi-Object Tracking by Associating Every Detection Box阅读笔记

ECCV2022 ByteTrack: Multi-Object Tracking by Associating Every Detection Box - 知乎

三、业务逻辑

大白老师这里是统计经过一个人流线人的数量。具体操作步骤如下:

1. 先截取视频上一帧图片保存

# !usr/bin/env python
# -*- coding: utf-8 -*-
import csv
from cvs import *
import cv2
from utils import process_points# ### 保存图片 ###
cap = cvs.VideoCapture("/mask.mp4")
frame = cap.read()
cv2.imwrite("/saveImage.jpg",frame)
cap.release()
cvs.destroyAllWindows()

2.后通过画图或者读图软件找到想画线段位置的两个断点坐标:

3.通过步骤2中记录的位置,在视频上画出位置(这里我绘制的是从上往下的直线,颜色为绿色):

4.我们是要统计经过上图绿色线的人数,并把结果发生到微信上,这里是借助于“喵提醒”这个公众号(大白老师也是详细讲解了怎么注册使用)

# 5.越界识别+喵提醒
# 填写对应的喵码
id = 'tP48aPC'
# 填写喵提醒中,发送的消息,这里放上前面提到的图片外链
text = "有人越界识别!!"
ts = str(time.time())  # 时间戳
type = 'json'  # 返回内容格式
request_url = "http://miaotixing.com/trigger?"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47'}
result = requests.post(request_url + "id=" + id + "&text=" + text + "&ts=" + ts + "&type=" + type,headers=headers)

5.这里我把文件中需要修改的参数提取出来,也把功能放到了一个方法里

if __name__ == '__main__':inModelPath = '/lesson5_codes/aidlux/yolov5n_best-fp16.tflite'inVideoPath = '/mask.mp4'miaoId = 'xxx' # 填自己的喵提醒码CountPersonNum(inModelPath, inVideoPath, miaoId)

6.接着把代码上传到手机,然后借助于vscode远程调试代码,就可以在AidLux软件上看到效果了。

以下是截图效果,下图两个箭头分别是统计人数,和运行完通过喵提醒发生给微信。

以下是运行视频效果:

完整视频-CSDN直播

多目标跟踪业务逻辑_哔哩哔哩_bilibili

完整代码地址:GitHub - HonestyBrave/objectTrackerAndCountNum: 这个仓库是利用yolov5n网络模型,利用训练好的行人检测模型进行检测行人,然后再利用BYTETracker算法进行多目标跟踪,然后统计经过某个区域的人数,最后发送到手机

其中,所用视频在lesson5_codes/video目录下,模型在/lesson5_codes/aidlux/yolov5n_best-fp16.tflite目录下。

参加训练营心得:

一直关注江大白的个人公众号,也有幸能加到他的微信,后来在他公众号上发现了他开设的《AidLux智慧安防AI训练营》,大白的能力是不用怀疑的,这里还是手把手,果断参加。大白的训练营方式很特别,是采用文字+图片的直播方式。很能理解大白的用心,因为视频一句话可能不经意听就过去了,但是文字+图片可以很直观看。

训练营共六节课,第一节课比较轻松,后面在第二和第五次课分别有一个作业。这两个作业其实只要认真看大白的讲解,可以说,任何一个无基础的人都可以完成作业。因为大白老师讲解的太细了,真的是保姆式教程。点赞。

第二次课作业是用大白老师给的数据集,然后基于yolov5n网络训练一个行人识别。训练就要用到GPU,有些人没有GPU,大白训练营还提供一个AutoDL AI算⼒云,官⽹链接是:https://www.autodl.com/,给大家免费训练。很用心!在这个训练过程中,其实数据上传是比较费时间的,别的还好,因为数据的转换,模型怎么训练,大白老师都讲的很仔细,服务器上的Pytorch环境都是现成的,可能需要pip一些库,不过还是很快的。

第五次课的作业是⼈体检测+⼈体追踪+业务逻辑,完成⼈流统计的业务功能。其实我是做目标检测的,对于目标跟踪和业务逻辑这是我的空白。但是在第四节课大白老师细心讲解了目标追踪的一些主流框架和难点,以及在第五节课讲解了业务逻辑,让我收获颇多,特别是目标追踪,在这里很感谢大白老师的课程!

虽然短短五节课程+一节毕业典礼,收获很多,对AI能做的事和业务逻辑有了个大概的框架。不过这里很佩服大白,很细心,而且每节课的内容都是上课前花费了很多时间来准备,大家不要觉的课程内容简单,但是每一步都很细,让人能够懂,这是很需要花费精力的,再次为大白点赞,也感谢AiLux开发了这么好的软件,省去了写App和编译库等很多步骤,让算法人员可以直接调试,看效果。可以让我们把手机作为边缘设备,这样可以直接电脑上远程调试手机,看到实际效果!!!

通过课堂上下面这张图的学习,我知道了⽬标追踪算法的场景应⽤

下面这张图,我知道了是哪些业务场景用到了AI算法功能。

这里也感谢训练营里面小伙伴提供的行人视频网站:https://www.vcg.com/creative-video-search/xingren/

参加江大白手把手教你-----AidLux智慧安防AI训练营相关推荐

  1. 五个课时,百余智慧安防AI应用作品落地!AidLux实战训练营圆满收官

    随着视觉检测.智能家居.自动驾驶等智能应用的面世,更多的人认识到,人工智能(AI)将推动不同领域的产业走向"智慧化". 如今,越来越多渴望掌握新技能的学习者选择了人工智能.为了进一 ...

  2. 《基于Aidlux的智慧安防AI实战训练营》收获与心得

    1.前景介绍 目录 1.前景介绍 2.训练营课程 3.测试完成的作业内容 (1)题目 (2)实现效果展示 (3)实现代码 4.学习心得 参考 (1)Aidlux简介 Aidlux是基于ARM架构的跨生 ...

  3. 手把手教你搭建机器学习+深度学习AI模型

    说起现在搞什么最挣钱,10 人里 11 个都要回答人工智能! 早在几年前,华为就开出百万年薪招聘 AI 专家,当是很多人认为噱头大于实际价值.但如果今天还有谁质疑人工智能的前景,那显然已经和时代脱轨了 ...

  4. 手把手教你用自己训练的AI模型玩王者荣耀

    击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 浮云一别后,流水十年间. 大家好,我 ...

  5. 手把手教你用Python搭建一个AI智能问答系统

    导读:智能问答系统是自然语言处理的一个重要分支.今天我们将利用分词处理以及搜索引擎搭建一个智能问答系统. 本文经授权转自公众号CSDN(ID:CSDNnews) 作者:李秋键 具体的效果如下所示: 下 ...

  6. 手把手教你用Python搭建一个AI智能问答系统!

    导读:智能问答系统是自然语言处理的一个重要分支.今天我们将利用分词处理以及搜索引擎搭建一个智能问答系统. 具体的效果如下所示: 私信小编01  领取完整代码! 下面简单了解下智能问答系统和自然语言处理 ...

  7. python做一个问答系统_手把手教你用Python搭建一个AI智能问答系统

    导读:智能问答系统是自然语言处理的一个重要分支.今天我们将利用分词处理以及搜索引擎搭建一个智能问答系统. 本文经授权转自公众号CSDN(ID:CSDNnews) 作者:李秋键 具体的效果如下所示: 下 ...

  8. 手把手教你用MindSpore训练一个AI模型!

    首先我们要先了解深度学习的概念和AI计算框架的角色(https://zhuanlan.zhihu.com/p/463019160),本篇文章将演示怎么利用MindSpore来训练一个AI模型.和上一章 ...

  9. CPSE安博会 | 江波龙邀您共探智慧安防,赋能存储未来

    江波龙亮相第十八届CPSE安博会,旗下双品牌Lexar(雷克沙)与FORESEE共赴盛会 12月26日,为期4天的第十八届中国国际公共安全博览会(CPSE安博会)在深圳会展中心(福田)盛大举行,由CP ...

  10. 手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货

    在搭建AI数字人直播间之前,您需要了解数字人技术. 一.什么是AI数字人.数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌.行为.语言等特征与真实人物相似,可以与人进行互动.数字人可以 ...

最新文章

  1. 浅谈数据库乐观锁、悲观锁
  2. NLP中关键字提取方法总结和概述
  3. 【错误记录】Flutter 环境安装相关问题 ( 执行 flutter doctor 命令后续错误处理 )
  4. 第四百一十七天 how can I 坚持
  5. 计划任务 at,cron
  6. MySQL入门之PHP的MySQL数据库编程
  7. 0.8.11版本ffmpeg一天移植将近完成。
  8. Too many open files的四种解决办法
  9. cms php vue 开源_企业网站制作常用CMS网站内容管理系统推荐
  10. AndroidDeveloper Weekly No.3
  11. 使用读写管道作为事件通知的C++实现
  12. eclipse解压版_Eclipse配置JavaWeb开发环境
  13. 工业面阵相机与源型PLC和漏型PLC外部触发接线
  14. angular : 自定义组件双向绑定 [(ngModel)]
  15. PowerManagerService分析(二)之updatePowerStateLocked()核心
  16. Flex框架(The Flex Framework)
  17. LruCache和DiskLruCache内存和磁盘缓存
  18. component传值问题
  19. vue中使用json-editor个人总结
  20. 【LaTeX图像】tikz画图案例,结构图

热门文章

  1. GPIO(通用输入/输出接口)
  2. 爱班级电脑端下载|二维码签到
  3. 微信小程序php签到功能,小程序签到功能的作用
  4. tinyMediaManager 群晖 docker
  5. 如何预防计算机病毒英语作文,电脑病毒的英文作文
  6. 批量将多个 Excel 工作簿文件拆分成单个 Excel 工作簿文件
  7. Web3即将到来,我们做了什么?
  8. TesterHome android app 编写历程(五)
  9. 961 计算机学科专业基础综合,2018年北京航空航天大学961计算机学科专业基础综合考研复习资料...
  10. github能访问但是ping不通