计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)
Haar CascadeXML特征分类器,是一种基于机器学习的方法,它利用了积分图像(或总面积)的概念有效地提取特征(例如,边缘、线条等)的数值。“级联分类器”即意味着不是一次就为图像中的许多特征应用数百个分类器,而是一对一地应用分类器。
利用OpenCV自带的xml文件,可以实时检测摄像头中人脸Haar特征或LBP特征,它们描述不同的局部信息。
opencv自带Haar级联分离器XML文件
opencv自带的Haar级联特征分类器都位于cv2/data这个文件夹下,检测的对象和内容都包含在名称里。
导入并初始化分类器
自动获取xml文件路径
为了更方便的获取路径来导入,我们就可以使用sys.modules模块来获取这些文件的路径
#导入各个分类器xml文件
import sys
facehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_frontalface_default.xml')
eyehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_eye.xml')
smilehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_smile.xml')
print(facehaar)
初始化分类器
#初始化各个分类器
face_detector=cv2.CascadeClassifier(facehaar)
eye_detector=cv2.CascadeClassifier(eyehaar)
smile_detector=cv2.CascadeClassifier(smilehaar)
detectMutiScale函数
在进行检测时,我们主要用的detectMutiScale这个函数,使用前需要先定义分类器
#检测人脸
'''
detecMultiScale()函数参数详解:
image: 8-bit灰度图像
scaleFactor: float=1.1 图像金字塔缩放比例(每次缩小倍数),值越小检测越精细但速度越慢。
minNeighbors:int=3 候选矩形需有的最少相邻矩形数,值越大误检越少但可能漏检。
minSize:tuple 目标最小尺寸(如 (30, 30))主要用来忽略更小的区域以加速检测。
maxSize:tuple 目标最大尺寸(如 (100, 100))主要用来忽略更大的区域。
'''
faces=face_detector.detectMultiScale(image=gray_image,scaleFactor=1.15,minNeighbors=5)
mark_image=src_image.copy()
mark_image_gray=gray_image.copy()
for x,y,w,h in faces:cv2.rectangle(mark_image,(x,y),(x+w,y+h),(0,255,0),3)cv2.rectangle(mark_image_gray,(x,y),(x+w,y+h),0,3)
plt.subplot(1,2,1),plt.imshow(mark_image),plt.text(x=x,y=y,s='人脸')
plt.subplot(1,2,2),plt.imshow(mark_image_gray,cmap='gray'),plt.text(x=x,y=y,s='人脸')
detecMultiScale函数参数详解:
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
image | 8-bit 灰度图像 | 无 | 输入的单通道灰度图像,需先通过 cv2.cvtColor() 转换。 |
scaleFactor | float | 1.1 | 图像金字塔缩放比例(每次缩小倍数),值越小检测越精细但速度越慢。 |
minNeighbors | int | 3 | 候选矩形需有的最少相邻矩形数,值越大误检越少但可能漏检。 |
minSize | tuple (w, h) | None | 目标最小尺寸(如 (30, 30), 用来 忽略更小的区域以加速检测。 |
maxSize | tuple (w, h) | None | 目标最大尺寸(如 (100, 100), 用来 忽略更大的区域。 |
这里的这个minNeighbors参数与KNN中的K值有一些相似之处:
- 两者都通过“邻居数量”过滤噪声或不确定性。
- 值越大,结果越保守(漏检增多或分类边界更平滑);值越小,结果越敏感(误检增多或过拟合风险)。
detectMultiscale函数最终的返回值为list([x,y,w,h])即测到的目标矩形列表(左上角坐标 + 宽高)
如果有需要的话,我们还可以使用cv2.rectangle将检测到的目标在原始图像中绘制出来。
检测任务
在检测时,我们只需要使用分类器.detectMultiScale即可进行后续的检查任务,这里我们以人脸,眼镜,以及微笑为例来进一步说明具体的使用方法。
读取图像
import cv2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
src_image=cv2.imread(filename='strongman.jpg',flags=cv2.IMREAD_COLOR_RGB)
height,width=src_image.shape[:2]
plt.title('原始图像')
plt.xticks(ticks=range(0,width,10),minor=True)
plt.yticks(ticks=range(0,height,10),minor=True)
plt.imshow(src_image)
转为灰度图
#转灰度图
gray_image=cv2.cvtColor(src=src_image,code=cv2.COLOR_RGB2GRAY)
plt.title('灰度图像')
plt.xticks(ticks=range(0,width,10),minor=True)
plt.yticks(ticks=range(0,height,10),minor=True)
plt.imshow(gray_image,cmap='gray')
导入要用到的XML文件
#导入各个分类器xml文件
import sys
facehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_frontalface_default.xml')
eyehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_eye.xml')
smilehaar=sys.modules['cv2.data'].__file__.replace('__init__.py','haarcascade_smile.xml')
初始化各个分类器
#初始化各个分类器
face_detector=cv2.CascadeClassifier(facehaar)
eye_detector=cv2.CascadeClassifier(eyehaar)
smile_detector=cv2.CascadeClassifier(smilehaar)
人脸检测
#检测人脸
faces=face_detector.detectMultiScale(image=gray_image,scaleFactor=1.15,minNeighbors=5)
mark_image=src_image.copy()
mark_image_gray=gray_image.copy()
for x,y,w,h in faces:cv2.rectangle(mark_image,(x,y),(x+w,y+h),(0,255,0),3)cv2.rectangle(mark_image_gray,(x,y),(x+w,y+h),0,3)
plt.subplot(1,2,1),plt.imshow(mark_image),plt.text(x=x,y=y,s='人脸')
plt.subplot(1,2,2),plt.imshow(mark_image_gray,cmap='gray'),plt.text(x=x,y=y,s='人脸')
分割人脸
faces_color=src_image[y:y+h,x:x+w]
faces_gray=gray_image[y:y+h,x:x+w]
plt.subplot(1,2,1),plt.imshow(faces_color)
plt.subplot(1,2,2),plt.imshow(faces_gray,cmap='gray')
眼睛与微笑检测
#眼睛与微笑检测
mark_image=faces_color.copy()
mark_image_gray=faces_gray.copy()
eyes=eye_detector.detectMultiScale(image=faces_gray,scaleFactor=1.15,minNeighbors=2,minSize=(50,50),maxSize=(60,60))
for x,y,w,h in eyes:cv2.rectangle(mark_image,(x,y),(x+w,y+h),(0,255,0),3)cv2.rectangle(mark_image_gray,(x,y),(x+w,y+h),0,3) cv2.putText(img=mark_image,text='eyes',org=(x+w//6,y+h//2),fontFace=1,fontScale=1.8,color=(255,255,165))cv2.putText(img=mark_image_gray,text='eyes',org=(x+w//6,y+h//2),fontFace=1,fontScale=1.8,color=0)
smiles=smile_detector.detectMultiScale(image=faces_gray,scaleFactor=2,minNeighbors=7,minSize=(80,150),maxSize=(120,200))
for x,y,w,h in smiles:cv2.rectangle(mark_image,(x,y),(x+w,y+h),(255,0,0),3)cv2.rectangle(mark_image_gray,(x,y),(x+w,y+h),0,3)cv2.putText(img=mark_image,text='Smile',org=(x+w//3,y+h//2),fontFace=1,fontScale=1.8,color=(255,255,135))cv2.putText(img=mark_image_gray,text='Smile',org=(x+w//3,y+h//2),fontFace=1,fontScale=1.8,color=0)
plt.subplot(1,2,1),plt.imshow(mark_image),plt.text(x=200,y=50,s='微笑ing',color='black',size=15)
plt.subplot(1,2,2),plt.imshow(mark_image_gray,cmap='gray'),plt.text(x=100,y=50,s='微笑ing',color='black',size=10)
总结
以上便是 计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)的所有内容,如果你感到对你有用,可以一键三连支持一下博主!
相关文章:
计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)
Haar CascadeXML特征分类器,是一种基于机器学习的方法,它利用了积分图像(或总面积)的概念有效地提取特征(例如,边缘、线条等)的数值。“级联分类器”即意味着不是一次就为图像中的许多特征应用数百个分类器,而是一对一地应用分类器…...
【NLP 62、实践 ⑮、基于RAG + 智谱语言模型的Dota2英雄故事与技能介绍系统】
羁绊由我而起,痛苦也由我承担 —— 25.4.14 英雄介绍文件: 通过网盘分享的文件:RAG 智谱语言模型的Dota2英雄故事与技能介绍系统 链接: https://pan.baidu.com/s/1G7Xo5TRvFl2BzUnE0NFaBA?pwd4d4j 提取码: 4d4j --来自百度网盘超级会员v3的…...
Keil MDK 编译问题:function “HAL_IncTick“ declared implicitly
问题与处理策略 问题描述 ..\..\User\stm32f1xx_it.c(141): warning: #223-D: function "HAL_IncTick" declared implicitlyHAL_IncTick(); ..\..\User\stm32f1xx_it.c: 1 warning, 0 errors问题原因 在 stm32f1xx_it.c 文件中调用了 HAL_IncTick(),但…...
OpenCV基础01-图像文件的读取与保存
介绍: OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包,使用前需要导入OpenCV模块 安装 命令 pip install opencv-python 导入 模块 import cv2 1. 图像的读取 import cv2 img cv2.imread(path, flag)这里的flag 是可选参数&…...
IP数据报
IP数据报组成 IP数据报(IP Datagram)是网络中传输数据的基本单位。 IP数据报头部 版本(Version) 4bit 告诉我们使用的是哪种IP协议。IPv4版本是“4”,IPv6版本是“6”。 头部长度(IHL,Intern…...
视频联网平台与AI识别技术在电力行业的创新应用
一、电力行业智能化转型的迫切需求 在能源革命与数字化转型的双重推动下,电力行业正面临着前所未有的智能化升级需求。随着特高压电网的大规模建设和新能源占比的不断提高,传统的电力运维管理模式已经难以满足现代电网安全、高效运行的要求。据统计&…...
Apache Parquet 文件组织结构
简要概述 Apache Parquet 是一个开源、列式存储文件格式,最初由 Twitter 与 Cloudera 联合开发,旨在提供高效的压缩与编码方案以支持大规模复杂数据的快速分析与处理。Parquet 文件采用分离式元数据设计 —— 在数据写入完成后,再追加文件级…...
深度学习方向急出成果,是先广泛调研还是边做实验边优化?
目录 有限资源下本科生快速发表深度学习顶会论文的实战策略 1.短周期内可出成果的研究路径 2.论文阅读与复现的优先顺序 3.无一对一指导时的调研与实验组织 4.成功案例:本科生顶会论文经验 5.快速上手的研究子方向推荐 大家好这里是AIWritePaper官方账号&…...
Python 深度学习实战 第11章 自然语言处理(NLP)实例
Python 深度学习实战 第11章 自然语言处理(NLP)实例 内容概要 第11章深入探讨了自然语言处理(NLP)的深度学习应用,涵盖了从文本预处理到序列到序列学习的多种技术。本章通过IMDB电影评论情感分类和英西翻译任务,详细介绍了如何使…...
9、Hooks:现代魔法咒语集——React 19 核心Hooks
一、魔法咒语的本质革新 "类组件如同古老的魔杖挥舞仪式,而Hooks是新时代的无杖施法!"霍格沃茨魔法研究院的魔杖动力学教授惊叹道。React Hooks通过函数式能量场重构了魔法运作模式,让组件能量流转如尼可勒梅的炼金术。 ——以《国…...
FutureTask底层实现
一、FutureTask的基本使用 平时一些业务需要做并行处理,正常如果你没有返回结果的需求,直接上Runnable。 很多时候咱们是需要开启一个新的线程执行任务后,给我一个返回结果。此时咱们需要使用Callable。 在使用Callable的时候,…...
深入浅出:LDAP 协议全面解析
在网络安全和系统管理的世界中,LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一个不可忽视的核心技术。它广泛应用于身份管理、认证授权以及目录服务,尤其在企业级环境中占据重要地位。本文将从基…...
学习笔记—C++—string(练习题)
练习题 仅仅反转字母 917. 仅仅反转字母 - 力扣(LeetCode) 题目 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。 返回反转后的 s 。…...
论文阅读:2024 arxiv DeepInception: Hypnotize Large Language Model to Be Jailbreaker
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 DeepInception: Hypnotize Large Language Model to Be Jailbreaker DeepInception:催眠大型语言模型,助你成为越狱者 https://arxiv.org/pdf/2311.0…...
OC底层原理【一】 alloc init new
OC底层原理【一】 alloc init && new 文章目录 OC底层原理【一】 alloc init && new前言allocslowpath(checkNil && !cls)) 和 fastpath(!cls->ISA()->hasCustomAWZ())!cls->ISA()->hasCustomAWZ()) obj->initInstanceIsa();将类与isa关…...
集合框架拓展--stream流的使用
Stream(JDK8新特性) 什么是Stream? 也叫stream流,是JDK8开始新增的一套API(java.util.stream.*),可以用于操作集合或数组中的数据 优势:Stream流大量地结合了Lambda的语法风格来编程ÿ…...
Beszel 轻量级服务器监控平台的详细安装步骤
什么是 Beszel Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。 它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问 https://beszel.dev/zh/guide/what-is-besz…...
Spring 微服务解决了单体架构的哪些痛点?
1. 部署困难 (Deployment Difficulty & Risk) 单体痛点: 整体部署: 对单体应用的任何微小修改(哪怕只是一行代码),都需要重新构建、测试和部署整个庞大的应用程序。部署频率低: 由于部署过程复杂且风险高,发布周期通常很长&a…...
Kotlin delay方法解析
本文记录了kotlin协程(Android)中delay方法的字节码实现,并解析了delay方法如何实现挂起操作。 一、delay方法介绍 1.1、delay方法使用举例 class TestDelay {suspend fun testDelay() {Log.d("TestDelay", "before delay")delay(1000)Log.d…...
C# 类型、存储和变量(用户定义类型)
本章内容 C#程序是一组类型声明 类型是一种模板 实例化类型 数据成员和函数成员 预定义类型 用户定义类型 栈和堆 值类型和引用类型 变量 静态类型和dynamic关键字 可空类型 用户定义类型 除了C#提供的16种预定义类型,还可以创建自己的用户定义类型。有6种类型可以…...
C语言之高校学生信息快速查询系统的实现
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 C语言之高校学生信息快速查询系统的实现 目录 任务陈述与分析 问题陈述问题分析 数据结构设…...
Windows串口通信
Windows串口通信相比较Android串口通信,在开发上面相对方便一些。原理都是一样,需要仔细阅读厂商设备的串口通信协议。结合串口调试助手进行测试,测试通过后,编写代码实现。 比如近期就接触到了一款天平,其最大测量值为100g,测量精度0.001g。 拿到手之后我就先阅读串口通…...
从零开始用Pytorch实现LLaMA 4的混合专家(MoE)模型
近期发布的LLaMA 4模型引入了混合专家(Mixture of Experts, MoE)架构,旨在提升模型效率和性能。尽管社区对LLaMA 4的实际表现存在一些讨论,但MoE作为一种重要的模型设计范式,继Mistral等模型之后再次受到关注。 所以我…...
python3GUI--仿网课答题播放器 By:PyQt5(分享)
文章目录 一.前言二.相关知识1.PyQt52.QMediaPlayer3.QThread4.Sqlite3 二.展示1.主界面2.课程播放&问答3.字幕调整4.播放列表折叠5.添加课程 三.心得与分享1.数据本地化2.自定义组件3.系统流程图与代码量4.免责声明 四&#…...
Python基础总结(八)之循环语句
文章目录 一、for循环1.1 for循环格式1.2 for ...else1.3 for...break1.4 for...continue 二、while循环2.1 while循环格式2.2 while...break2.3 while...continue2.4 while ...else 循环语句就如其名,就是重复的执行一段代码,直到满足退出条件时&#x…...
21. git apply
基本概述 git apply 的作用是:应用补丁文件 基本用法 1.命令格式 git apply [选项] <补丁文件>2.应用补丁 git apply patchfile.patch将补丁应用到工作目录,但不会自动添加到暂存区(需手动 git add) 常用选项 1.检查…...
第一章:MySQL视图基础
1. 视图是什么? 定义:视图(View)是一种虚拟表,其内容基于一个或多个真实表(基表)的查询结果。视图不实际存储数据,而是通过查询动态生成数据。核心特点:…...
深入理解基线检查:网络安全的基石
深入理解基线检查:网络安全的基石 一、引言 在信息技术飞速发展的今天,网络安全已成为企业和组织正常运营的关键保障。从日常办公系统到关键业务应用,任何环节的安全漏洞都可能导致严重的后果,如数据泄露、系统瘫痪等。基线检查作…...
33-公交车司机管理系统
技术: 基于 B/S 架构 SpringBootMySQLvueelementui 环境: Idea mysql maven jdk1.8 node 用户端功能 1.首页:展示车辆信息及车辆位置和线路信息 2.模块:车辆信息及车辆位置和线路信息 3.公告、论坛 4.在线留言 5.个人中心:修改个人信息 司机端功能…...
【AI实践】使用DeepSeek+CherryStudio绘制Mermaid格式图表
目录 工具准备创建DeepSeek API Key安装CherryStudioMermaid在线编辑器 绘制图表编写提示词在CherryStudio中调用DeepSeek复制源码到Mermaid编辑器中进行微调 图表示例流程图思维导图甘特图 工具准备 创建DeepSeek API Key 打开DeepSeek开放平台, 注册并充值成功后…...
TCP报文段解析:从抽象到具象的趣味学习框架
TCP报文段解析:从抽象到具象的趣味学习框架 一、What:TCP报文段长什么样? 核心结构(类比快递包裹): 复制 下载 | 源端口(16位)| 目的端口(16位)| |-----…...
B+树节点与插入操作
B树节点与插入操作 设计B树节点 在设计B树的数据结构时,我们首先需要定义节点的格式,这将帮助我们理解如何进行插入、删除以及分裂和合并操作。以下是对B树节点设计的详细说明。 节点格式概述 所有的B树节点大小相同,这是为了后续使用自由…...
rollup使用讲解
rollup 总结 什么是 rollup? rollup 是一个 JavaScript 模块打包器,在功能上要完成的事和 webpack 性质一样,就是将小块代码编译成大块复杂的代码,例如 library 或应用程序。在平时开发应用程序时,我们基本上选择用 webpack,相比之下,rollup.js 更多是用于 library 打…...
高边开关和低边开关的区别
高边驱动和低边驱动的区别 在高边驱动和低边驱动中,开关的位置直接影响电路在负载短路时的安全性和电流路径。以下是关键原理的分步解释: 1. 高低边驱动的结构对比 高边驱动(High-Side Drive) 电路结构: 电源正极 →…...
PG psql --single-transaction 参数功能
文章目录 PG psql --single-transaction 参数功能 PG psql --single-transaction 参数功能 test.sql 文件 create table test1(id int); CREATE OR REPLACE FUNCTION func_test() RETURNS INTEGER AS $BODY$ BEGINxxxreturn 0; END; $BODY$ LANGUAGE plpgsql VOLATILE CALLE…...
C++ 多态
1.多态的概念 多态(polymorphism)通俗来说就是多种形态。多态分为编译时多态(静态多态)和运行时多态(动态多态),这里我们重点是运行时多态,编译时多态主要就是我们前面的函数重载和…...
【matlab|python】矢量棍棒图应用场景和代码
【matlab|python】矢量棍棒图应用场景和代码 矢量棍棒图的介绍和作用 矢量棍棒图(stick plot)是一种用于可视化 方向性时间序列数据 的图形工具。它常用于大气科学和海洋科学中,以直观地展示 风场、海流 或 其他矢量变量 随时间的变化情况。 …...
Matlab 五相电机仿真
1、内容简介 Matlab 208-五相电机仿真 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...
计算机视觉cv2入门之视频处理
在我们进行计算机视觉任务时,经常会对视频中的图像进行操作,这里我来给大家分享一下,如何cv2中视频文件的操作方法。这里我们主要介绍cv2.VideoCapture函数的基本使用方法。 cv2.VideoCapture函数...
力扣每日一题781题解-算法:贪心,数学公式 - 数据结构:哈希
https://leetcode.cn/problems/rabbits-in-forest/description/?envTypedaily-question&envId2025-04-20 781.推测兔子数 算法:贪心,数学公式 数据结构:哈希 用哈希存每个兔子报告的同色数量,作为key,同个key…...
MAC-QueryWrapper中用的exists,是不是用join效果更好
在使用MyBatis-Plus的QueryWrapper中的exists方法时,是否改为使用join效果会更好,以及如何 修改。这涉及到SQL优化和MyBatis-Plus的用法。 首先,需要理解exists和join在SQL中的区别。exists用于检查子查询是否返回结果,而join则是将 两个表连接起来,根据某些条件合并行…...
使用 Visual Studio 2022 中的 .http 文件
转自微软技术文档: https://learn.microsoft.com/zh-cn/aspnet/core/test/http-files?viewaspnetcore-9.0 Visual Studio 2022.http 文件编辑器提供了一种便捷的方式来测试 ASP.NET Core项目,尤其是 API 应用。 编辑器提供一个 UI,用于&am…...
相得益彰 — 基于 GraphRAG 事理图谱驱动的实时金融行情新闻资讯洞察
*本文为亚马逊云科技博客文章,仅用于技术分享,不构成投资建议或金融决策支持。文中涉及的公司名称仅用于技术示例,不代表亚马逊云科技观点或与这些公司的商业合作关系。 背景介绍 在当今这个信息爆炸的时代,金融市场每天都在产生…...
为什么this与super不能出现在同一构造器的原因
在 Java 中,this() 和 super() 不能同时出现在同一个构造器中,因为它们都必须作为构造器的第一条语句,而一个构造器的第一条语句只能有一个。以下是详细解释和示例: ⚠️ 核心规则 只能二选一: 每个构造器的第一条语句…...
Linux:网络基础
hello,各位小伙伴,本篇文章跟大家一起学习《Linux:网络基础》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!…...
C++入门篇(下)
目录 1、引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用场景 1.4.1 引用做参数 1.4.2 引用做返回值 1.5 引用和指针的区别 2、内联函数 2.1 概念 2.2 特性 3、auto关键字 4、基于范围的for循环 5、指针空值nullptr 5.1 C98 中的指针空值处理 5.2 C11 …...
QCustomPlot中自定义QCPAbstractPlottable绘图元素
QCPAbstractPlottable 是 QCustomPlot 中所有可绘制图形(如曲线、柱状图等)的基类。要创建自定义的绘图元素,通常需要继承这个类并实现其纯虚函数。 基本步骤 继承 QCPAbstractPlottable 实现必要的纯虚函数 添加自定义属性和方法 注册到 QCustomPlot 系统 完…...
【Bluedroid】蓝牙 HID 设备信息加载与注册机制及配置缓存系统源码解析
本篇解析Android蓝牙子系统加载配对HID设备的核心流程,通过btif_storage_load_bonded_hid_info实现从NVRAM读取设备属性、验证绑定状态、构造描述符并注册到BTA_HH模块。重点剖析基于ConfigCache的三层存储架构(全局配置/持久设备/临时设备)&…...
【计算机视觉】CV实战项目 - PCC-Net 人群计数
PCC-Net 人群计数项目 项目特点项目运行方式与步骤1. 环境准备2. 数据准备3. 模型训练4. 实验结果 常见问题及解决方法 PCC-Net(Perspective Crowd Counting via Spatial Convolutional Network)是一个用于人群计数的深度学习项目,旨在通过空…...
Towards Transferable Targeted 3D Adversarial Attack in the Physical World--阅读笔记
目录 简介: 背景: 挑战: 目的: 技术细节: 贡献: 1. NeRF的核心作用:3D重建与参数化表示 2. 对抗优化的创新:NeRF参数空间的双优化 2.1 传统方法的局限…...