Raspberry Pi和Python-OpenCV-TensorFlow卷积神经网络热成像人物检测

2023-10-30

构建逻辑,定期从红外摄像机捕获快照,对其进行标准化,并将其存储在某处。标记图片(检测到人物存在/检测到人物不存在)并在其上训练模型。在树莓派上部署模型并运行定期针对新捕获的图像进行检测,房间里的人是否存在。

物料清单

通讯选择

系统准备

捕捉图像

现在我们已经准备好所有的硬件和软件,让我们配置以定期捕获相机图像并将它们存储在本地 - 我们稍后将使用这些图像来训练我们的模型。

它基本上是可以定期执行并运行一些自定义操作的过程。 让我们在 config.yaml 中添加一个 cron,它从传感器获取图片并将它们存储在本地目录中。 首先,在树莓派上创建 images 目录:

然后在 config.yaml 中添加 cron 的逻辑:

cron.ThermalCameraSnapshotCron:
 cron_expression: '* * * * *'
 actions:
 - action: camera.ir.mlx90640.capture_image
 args:
 image_file: ~/datasets/people_detect/\
 ${int(__import__('time').time())}.jpg
 grayscale: true

标记图像

一旦您捕获了足够多的图像,就可以将它们复制到您的计算机上,标记它们并训练模型。现在等待我们的是无聊的部分——手动将图像标记为正面或负面。 我使用一个脚本让这项任务变得不那么乏味,该脚本允许您在查看图像时以交互方式标记图像,并将它们移动到正确的目标目录。 在本地计算机上安装依赖项并克隆存储库:

训练模型

from tensorflow.keras.preprocessing.image import
ImageDataGenerator
# 30% of the images goes into the test set
generator = ImageDataGenerator(rescale=1./255, validation_
split=0.3)
train_data = generator.flow_from_directory(dataset_dir,
	 target_size=image_size,
	 batch_size=batch_size,
	 subset='training',
	 class_mode='categorical',
	 color_mode='grayscale')
test_data = generator.flow_from_directory(dataset_dir,
	 target_size=image_size,
	 batch_size=batch_size,
	 subset='validation',

执行模型

建立自动化流程

使用上述模型构建安全监控

源代码

部署模型

参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Raspberry Pi和Python-OpenCV-TensorFlow卷积神经网络热成像人物检测 的相关文章

  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问

随机推荐

  • 【Python】高级变量类型

    目录 列表 List 编辑列表定义与结构 编辑列表的操作 元组 Tuple 编辑元组的定义 编辑元组的操作 编辑元组与格式化字符串 编辑元组和列表的转换 字典 dictionary 编辑字典的定义 编辑字典的操作 字符串 string 编辑
  • df和du显示的磁盘空间使用情况不一致的原因及处理

    df和du显示的磁盘空间使用情况不一致的原因及处理 在Linux下查看磁盘空间使用情况 最常使用的就是du和df了 然而两者还是有很大区别的 有时候其输出结果甚至非常悬殊 1 如何记忆这两个命令 du Disk Usage df Disk
  • 【深入理解C++】可调用对象、std::function、std::bind()

    文章目录 1 可调用对象 1 1 函数指针 1 2 函数对象 1 3 可被转换为函数指针的类对象 1 4 类成员函数指针 2 std function 2 1 包装普通函数 2 2 包装函数指针 2 3 包装函数对象 2 4 包装可被转换为
  • jdbc连接数据库的基本步骤

    1 在项目中导入java sql包 2 加载数据库驱动程序 Class forName com mysql cj jdbc Driver 3 定义数据库的链接地址 String url jdbc mysql localhost studen
  • 答题卡实战

    import cv2 import matplotlib pyplot as plt import numpy as np import myutils import argparse import imutils contours 正确答
  • CSDN中如何使用“私信”功能

    私信功能一直是CSDN被吐槽的诸多功能之一 但是有时我们还是需要这个功能的 比如说 我们可以私信给CSDN管理员 把我们的ID加入审核的白名单 这样以后妈妈就再也不用担心自己的博客被 待审核了 下面就一步步教你如何使用私信功能 1 悬浮在自
  • java利用模板生成PDF

    maven依赖 lt dependency gt lt groupId gt net sf jasperreports lt groupId gt lt artifactId gt jasperreports lt version gt 6
  • C语言,通过多文件编辑定义字符指针,指向堆区空间,计算字符串长度

    通过多文件编辑 定义字符指针 分别指向堆区空间 计算字符串长度 要求 1 定义函数实现堆区空间申请 2 在主函数中实现输入字符串 3 定义函数实现字符串长度 函数原型 size t my strlen const char s 4 定义函数
  • struts2拦截器

    拦截器定义
  • vivado:debug状态下无法抓取数据。(已解决)

    这两天搞一个小项目 里面用到了SPI 时钟频率很低 我就设置了10MHz 结果 我在VC707的板子上跑 崩溃呀 跑都跑通了 但是用debug 怎么也抓取不到波形 一度怀疑是vivado 2017 4又存在重大bug 然后 仔细看了看他的报
  • Arthas常用命令

    目录 一 常用命令 二 常用系统命令 三 JVM相关命令 四 class classloader相关命令 五 高级命令 一 常用命令 1 dashboard 仪表板 第一部分是显示JVM中运行的所有线程 所在线程组 优先级 线程的状态 CP
  • 动态网站设计与开发总结

    接触到了动态网站设计与开发这门课程 老师先引入了动态网站 之后引导我们安装Web服务器 Tomcat和第一个Web项目 接着有Intellij创建Web项目 在Intellij上面创建动态页面 我们用jsp实现打印功能 将某一个页面设置为动
  • mysql核心数据库_MySQL核心基础(一)之数据库介绍

    一 数据库的相关概念及术语 一 数据 数据库 数据库系统 什么是数据 Data 广义上讲 全部可以传递和存储信息的东西都叫数据 而狭义上说是存储在计算机磁盘上的信息 mysql 什么是数据库 Database 数据库是指高效存放数据的地方s
  • unreal虚幻引擎学习(二)UE4工程无法调试

    工程如下设置即可
  • win 11 无法打出中文句号问题(中/英文标点切换) 微软五笔输入法

    问题 今天在用微信时 突然发现我打的 怎么这么窄 像英文输入法下的逗号 而不是中文输入法下的 同时发现句号也只是 而打不出 上网查了下 搜到第一条就是这篇win 10 word 打不出中文句号 微软拼音输入法 问题原因 误在某个时刻使用了
  • /dev/zero是什么意思

    原文链接 http www linuxdiyf com viewarticle php id 161384 dev zero 是一个输入设备 你可你用它来初始化文件 dev zero 该设备无穷尽地提供0 可以使用任何你需要的数目 设备提供
  • matplotlib-绘制条形图

    文章目录 绘制单个条形图 横着 竖着 绘制频数 率 分布直方图 绘制单个条形图 横着 竖着 设置字体 import matplotlib as mpl mpl rcParams axes unicode minus False mpl rc
  • 记录一次vue项目本地打包部署过程

    记录一次本地打包vue项目遇见的问题 内存溢出 FATAL ERROR CALL AND RETRY LAST Allocation failed JavaScript heap out of memory Building for pro
  • 树莓派4B安装Tensorflow(Python3.5和3.7下分别进行安装)

    前言 虽然树莓派的速度不如PC 但是它功耗小 价格便宜 很多同学都用来学习机器学习的相关课程 而且tensorflow官方是支持树莓派 我们可以直接在树莓派上进行学习 网上的现在树莓派已经发布4B 新版本的rasbian系统全面采用了pyt
  • Raspberry Pi和Python-OpenCV-TensorFlow卷积神经网络热成像人物检测

    构建逻辑 定期从红外摄像机捕获快照 对其进行标准化 并将其存储在某处 标记图片 检测到人物存在 检测到人物不存在 并在其上训练模型 在树莓派上部署模型并运行定期针对新捕获的图像进行检测 房间里的人是否存在 物料清单 通讯选择 系统准备 捕捉