- 2024-12-08
-
回复了主题帖:
RV1106部署Insightface: 预训练模型
Jacktang 发表于 2024-12-7 10:49
人脸检测模型和人脸对齐模型差别不少
嗯 ,都得搞呀
- 2024-12-06
-
发表了主题帖:
RV1106部署Insightface:本地体验与复现
在PC上搭建Insightface环境,下载insightface预训练模型,并测试给出的样例代码
InsightFace工程中提供的预训练模型链接可以看前一篇内容(预训练模型和简单介绍)
1.考虑到后面转rknn可能要兼容部分环境,还是沿用了之前搭建的conda环境RKNN_Toolkit2,conda active RKNN_Toolkit2
2.下载insightface库和onnxruntime库:
pip install insightface
pip install onnxruntime
3.将预下载的onnx文件解压到models文件夹
mkdir -p ~/.insightface/models/buffalo_l
mv buffalo_l.zip ~/.insightface/models/buffalo_l
cd ~/.insightface/models/buffalo_l
unzip buffalo_l.zip
4.将想测试的图片文件放到指定路径
{$your_conda_path}/envs/RKNN-Toolkit2/lib/python3.8/site-packages/insightface/data/images
5.修改insightface源码路径下examples的demo_analysis.py并进行测试,主要是屏蔽了对人脸数量的校验,修改输入图片名称和输出图片名称
import argparse
import cv2
import sys
import numpy as np
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image
assert insightface.__version__>='0.3'
parser = argparse.ArgumentParser(description='insightface app test')
# general
parser.add_argument('--ctx', default=0, type=int, help='ctx id, <0 means using cpu')
parser.add_argument('--det-size', default=640, type=int, help='detection size')
args = parser.parse_args()
app = FaceAnalysis()
app.prepare(ctx_id=args.ctx, det_size=(args.det_size,args.det_size))
img = ins_get_image('t2')
faces = app.get(img)
#assert len(faces)==6
rimg = app.draw_on(img, faces)
cv2.imwrite("./t2_output.jpg", rimg)
# then print all-to-all face similarity
feats = []
for face in faces:
feats.append(face.normed_embedding)
feats = np.array(feats, dtype=np.float32)
sims = np.dot(feats, feats.T)
print(sims)
6.执行demo测试
python demo_analysis.py
-
发表了主题帖:
RV1106部署Insightface: 预训练模型
模型集insightface model zoo(预训练模型)链接如下,可以按需进行模型复现
https://github.com/deepinsight/insightface/tree/master/model_zoo
InsightFace Model Zoo 介绍
一、总体说明
此 Model Zoo 为 InsightFace 项目所提供的模型集合,涵盖了多种与人脸分析相关的预训练模型,包括人脸识别、人脸检测、人脸对齐和人脸属性分析等方面的模型,方便研究人员根据具体研究需求选择使用。
二、人脸识别模型(Face Recognition models)
相关定义与术语:
训练损失:默认的训练损失在未特别指定时为基于边际的 softmax(margin based softmax)。
涉及到的一些缩写概念:
MFN:指 MobileFaceNet。
MS1MV2:代表 MS1M-ArcFace。
MS1MV3:代表 MS1M-RetinaFace。
MS1M_MegaFace:表示 MS1MV2+MegaFace_train。
_pfc:意味着使用 Partial FC(部分全连接),且样本比例为 0.1。
MegaFace:用于 MegaFace 识别测试,测试中图库规模为 1e6。
IJBC:代表 IJBC 1:1 测试,在误报率(FAR)小于等于 1e-4 的条件下进行。
BDrive:指百度网盘(BaiduDrive)。
GDrive:指谷歌网盘(GoogleDrive)。
三、人脸检测模型(Face Detection models)
RetinaFace:在进行平均精度均值(mAP)评估时采用多尺度测试的方式。例如 RetinaFace-R50 在 Easy-Set、Medium-Set、Hard-Set 等不同难度集合下的准确率情况; RetinaFace-m025 (yangfly) 在对应难度下的准确率,BlazeFace-FPN-SSH (paddle) 模型。
SCRFD:其 mAP 评估采用单尺度测试且输入图像为 VGA(640x480)分辨率的方式。介绍了多种不同计算量(如 500M、1G、2.5G 等)的 SCRFD 模型在 Easy、Medium、Hard 等难度下的准确率、计算量(FLOPs)、参数量(Params)、推理时间(Infer)以及对应的模型文件链接(GDrive 或 pth 格式链接)等,部分模型还标注了是否可以检测面部五个关键点(_KPS)。
四、人脸对齐模型(Face Alignment models)
2D Face Alignment:介绍了一种坐标回归(Coordinate-regression)的实现方式,可对齐 106 个点,采用 MobileNet-0.5 作为骨干网络,参数量为 1.2M
3D Face Alignment:展示了一种可以对齐 68 个点的实现方式,其骨干网络为 ResNet-50,参数量达到 34.2M
Dense Face Alignment
五、人脸属性模型(Face Attribute models)
Gender&Age:介绍了基于 CelebA 训练集,采用 MobileNet-0.25 作为骨干网络,参数量为 0.3M 的模型用于性别和年龄属性判断
Expression
- 2024-12-05
-
回复了主题帖:
《拥抱AIGC》深入应用与实践(第3-6章)
heleijunjie72 发表于 2024-12-4 18:54
这一本书很值得学习学习,借鉴,讲解的十分详细具体
好好学习,天天向上
-
回复了主题帖:
RV1106 部署InsightFace : 环境准备
申小林 发表于 2024-12-5 08:49
22.04的环境
我也是22.04的,没有遇到你说的问题,这个脚本只是在.bashrc和.bash_profile export一下环境变量,应该不会影响到ls的。
1.你的sdk路径下有中文吗,有些情况下中文编码会导致脚本执行异常,确保你的路径中不要有中文
2.你可以新建一个用户再测试下这个脚本,对比这两个用户的.bashrc文件有什么不同
- 2024-12-04
-
回复了主题帖:
RV1106 部署InsightFace : 环境准备
申小林 发表于 2024-12-3 11:10
大佬帮忙看看。
这个脚本没啥问题呀,默认直接执行这个脚本会把工具链安装到当前路径的bin/下,并且把环境变量加到当前用户的.bashrc 和.bash_profile中,你可以查看下你用户目录下的这两个文件是不是有问题,你是什么环境?
- 2024-12-02
-
回复了主题帖:
RV1106 部署InsightFace : 环境准备
本帖最后由 fangkaixin 于 2024-12-2 19:48 编辑
申小林 发表于 2024-12-2 17:16
楼主请教一下,在点了 source env_install_toolchain.sh 之后自己的环境变量没 ...
把脚本内容发出来看下,应该是没问题的哈
-
回复了主题帖:
RV1106 部署InsightFace : 环境准备
wangerxian 发表于 2024-11-30 16:30
RK的环境安装还是一如既往的方便。
是的,安装好依赖然后build就可以
- 2024-11-27
-
发表了主题帖:
RV1106 部署InsightFace : 环境准备
本帖最后由 fangkaixin 于 2024-11-27 18:52 编辑
### 1. 环境准备(sdk + rknn工具包 + 摄像头样例测试)
#### 1.1 系统准备
1. 下载SDK源码
```bash
git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git --depth=1
```
2. 安装编译所需工具,我这里检查了一下只需要安装gperf就可以了 `sudo apt install gperf`,如果是新装的系统可以参考官方文档进行安装
3. 安装编译工具链
```bash
cd tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/
source env_install_toolchain.sh
```
4. 编译 `build.sh`
5. 编译完成后,镜像可以在sdk根路径下的 `IMAGE/`文件夹下找到,完整的烧录文件为 `/$sdk/luckfox-pico/IMAGE/IPC_SPI_NAND_BUILDROOT_RV1106_LUCKFOX_PICO_MAX_20241127.1520_RELEASE_TEST/IMAGES/update.img`
6. 按住boot按键,随后按下reset按键,进入烧录模式
7. 下载镜像
8. 烧录完成,通过`adb shell`登录系统
9. 设置网口ip地址,ssh登录:root/luckfox
#### 1.2 RKNN-TOOLKIT2准备
我的环境中已经安装了conda,可以基于conda的配置python3.8的环境,需要部署的工具整理如下
```bash
conda create -n RKNN-Toolkit2 python=3.8
conda activate RKNN-Toolkit2
python --version
git clone --depth=1
cd rknn-toolkit2/
pip install tf-estimator-nightly==2.8.0.dev2021122109
pip install -r rknn-toolkit2/packages/requirements_cp38-1.6.0.txt -i
pip install rknn-toolkit2/packages/rknn_toolkit2-1.6.0+81f21f4d-cp38-cp38-linux_x86_64.whl
```
至此,可以在python中进行验证,导入rknnapi库,没有报错就说明安装成功了
`python`
#### 1.3 摄像头功能验证: RKNN 推理图像 rtsp 推流
* 断开电源,连接摄像头fpc线到板子
* 连接好,进入系统中通过`lsmod`检查摄像头驱动sc3336被正确加载
* 下载rkmpi demo程序, `git clone https://github.com/LuckfoxTECH/luckfox_pico_rkmpi_example.git`
程序有两个分支,` uname -a`查看,我的是默认的160的版本,否则需要git checkout到另一个分支
* 设置环境变量 `export LUCKFOX_SDK_PATH=< luckfox-pico Sdk 地址>`
* 编译安装 `./build.sh`,编译过程会提示选择哪一个样例,可以任选一个测试,我选择的是yolov5的样例
* 编译生成的文件在install对应的demo下
* 将整个文件夹通过adb或scp导入rv1106后执行 ` scp -r luckfox_pico_rtsp_yolov5_demo root@192.168.0.93:/root`
* 进入rv1106中,执行导入的样例`./luckfox_pico_rtsp_yolov5`
* 设置vlc接收推流
* 查看
- 2024-11-21
-
回复了主题帖:
入围名单公布:嵌入式工程师AI挑战营(进阶)的挑战者们,领取板卡啦
个人信息已确认,领取板卡,可继续完成任务。
- 2024-11-15
-
回复了主题帖:
嵌入式工程师AI挑战营(进阶):在RV1106部署InsightFace算法的多人实时人脸识别实战
-申请理由:人脸识别是我一直以来想完成的一件事,因为觉得很炫酷,但以前没接触过神经网络、深度学习,看了些资料,有些地方还比较蒙,希望可以跟着大佬们学习,实际操作挑战下,加深认知
-思路:根据目前有限的了解,insightface是适用于人脸识别的一个开源的工具箱,提供了一些预训练的深度神经网络模型,在rv1106中部署需要以下几个步骤:(1)rv1106开发环境搭建,主要是建立对应的rknn-toolkit2 以及实现摄像头数据采集(2)将insigtface中的预训练的onnx模型转换为rknn模型文件 (3)在rv1106中移殖、运行python测试程序,注册人脸 (4)实现人脸比对 1:1 (5)实现人脸搜索 1:N (6)支持视频流
-应用:人脸门禁、安防等
- 2024-10-27
-
加入了学习《得捷电子专区》,观看 【2024 DigiKey 创意大赛】红外温度检测及火灾报警器
-
回复了主题帖:
【2024 DigiKey创意大赛】第二贴 软件环境搭建
秦天qintian0303 发表于 2024-10-22 09:08
又是一个新环境,加油
- 2024-10-22
-
发表了主题帖:
【2024 DigiKey创意大赛】第二贴 软件环境搭建
本帖最后由 fangkaixin 于 2024-10-22 00:33 编辑
我购买的物料是
ESP32-S3 BOARD WITH 480*480 LCD (ESP32-S3-LCD-EV-BOARD)
SENSOR DIGITAL - 40C-80C MODULE (D6T-1A-02)
ESP32-S3作为主控,我使用vscode+ESP-IDF插件的方式配置开发环境
1.克隆esp-idf仓库
git clone --recursive https://github.com/espressif/esp-idf.git
2.安装插件,完成环境配置
3. 安装ESP32-S3 的项目安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等
4、打开一个helloworld例子程序测试
5、点击下方小扳手编译测试
此时系统自动调用cmake工具进行构建
6、下载测温芯片D6T-1A-02 sensor的驱动代码
$ git clone https://github.com/omron-devhub/d6t-2jcieev01-arduino
7、iic调试测试
-
发表了日志:
【2024 DigiKey创意大赛】第二贴 软件环境搭建
- 2024-10-15
-
回复了主题帖:
【2024 DigiKey创意大赛】第一帖 硬件连接
zshasd1948 发表于 2024-10-14 22:22
学习了,资料很好,感谢分享。学习中缺失中的资料,有用。
感谢支持,多多交流
- 2024-10-14
-
发表了主题帖:
【2024 DigiKey创意大赛】第一帖 硬件连接
本帖最后由 fangkaixin 于 2024-10-15 21:17 编辑
我购买的物料是
ESP32-S3 BOARD WITH 480*480 LCD (ESP32-S3-LCD-EV-BOARD)
SENSOR DIGITAL - 40C-80C MODULE (D6T-1A-02)
其中,这个传感器接口类型和推荐的接插件如下:
接口
官方推荐的接插件:
最终没舍得买这么贵的线材,在淘宝找的替代品,大家搜gh1.25就好
然后就是i2c连接
另外,还额外购买了IIC电平转换模块
连接起来整体效果图如下
-
发表了主题帖:
《拥抱AIGC》高级技巧与案例研究(第7-8章)
本帖最后由 fangkaixin 于 2024-10-14 17:29 编辑
第七章 营销领域的AI应用
7.1 引言
在当今数字化转型的时代,AI技术正在深刻地改变着市场营销的方式。通过分析海量数据,AI能够帮助公司更准确地定位目标客户群,优化广告投放策略,并提供个性化的用户体验。
7.2 案例分析
7.2.1 智能推荐系统
背景: 随着电子商务平台的兴起,如何从众多商品中为用户推荐最感兴趣的商品成为了一大挑战。
解决方案: 利用机器学习算法构建个性化推荐系统,根据用户的浏览历史、购买记录等信息进行精准推荐。
效果: 显著提高了用户满意度和转化率。
7.2.2 自动化广告优化
背景: 在线广告市场竞争激烈,如何高效利用预算并达到最佳效果至关重要。
解决方案: 采用AI技术自动调整广告投放时间、频率及目标受众,实现成本效益最大化。
效果: 广告点击率和转化率得到明显提升。
7.3 展望
随着AI技术的不断进步,未来营销领域将更加依赖于智能化工具来实现精细化运营。企业应积极拥抱变化,探索更多创新应用场景。
第八章 科研领域的AI应用
8.1 引言
科学研究是一项复杂而漫长的过程,AI技术的应用可以加速这一进程,特别是在数据分析、模式识别等方面展现出巨大潜力。
8.2 案例分析
8.2.1 生物医学图像识别
背景: 在病理学研究中,对细胞或组织切片图像的分析对于疾病诊断至关重要。
解决方案: 利用深度学习模型对大量医学图像进行训练,以提高识别精度。
效果: 相比传统方法,AI辅助下的图像识别准确性更高,有助于早期发现病变。
8.2.2 大规模数据分析
背景: 面对海量实验数据,如何快速筛选出有价值的信息是科研工作者面临的难题。
解决方案: 应用AI算法处理大规模数据集,从中挖掘潜在规律。
效果: 极大地缩短了研究周期,促进了科学发现的速度。
8.3 展望
AI技术将在科研领域发挥越来越重要的作用,不仅能够简化繁琐的数据处理工作,还能启发新的研究思路。研究人员应加强与AI专家的合作,共同推动科学技术的发展。
以上章节概述了AI在营销和科研两个重要领域中的实际应用案例及其带来的显著成效。通过这些实例,我们可以预见,在不远的将来,AI将成为推动各行各业发展的重要力量。
- 2024-08-25
-
发表了主题帖:
《拥抱AIGC》深入应用与实践(第3-6章)
第三章到第六章的内容,不仅介绍了如何使用ChatGPT,还详细阐述了它在营销、科研、软件开发等领域的具体应用方式。通过阅读这些章节,我对ChatGPT的功能和潜力有了更深刻的理解。
第三章:熟悉ChatGPT
这一章首先介绍了如何设置ChatGPT账户,以及如何熟悉其用户界面。通过简单的步骤就能完成注册并开始使用。接着,作者详细讲解了如何组织对话,使与ChatGPT的交流更加高效和自然。这一章为读者打下了良好的基础,使我们能够更好地利用ChatGPT进行各种任务。
第四章:了解提示设计
第四章着重讨论了提示设计的重要性。好的提示不仅能引导ChatGPT产生高质量的回答,还能帮助我们更好地利用其功能。作者介绍了零样本学习、一次样本学习和少样本学习的概念,这些概念对于理解ChatGPT的工作原理至关重要。此外,还强调了定义明确的提示规则以确保输出结果的相关性和一致性的重要性。最后,书中提到了避免隐形偏见的风险,并在ChatGPT中纳入伦理道德考量,这是非常重要的建议。
第五章:ChatGPT主力生产力提升
第五章主要介绍了ChatGPT如何成为生产力提升的强大工具。无论是作为日常小助手处理琐碎事务,还是在专业工作中撰写高质量的文章或翻译,ChatGPT都能提供极大的帮助。尤其在文本生成方面,它能显著提升写作效率和翻译质量。此外,快速检索信息的能力也使得ChatGPT成为了获取竞争情报的强大工具。
第六章:ChatGPT助力软件开发
第六章聚焦于ChatGPT在软件开发领域的应用。对于开发人员而言,ChatGPT不仅可以帮助生成、优化和调试代码,还能自动生成文档和提高代码的可解释性。这对于提高编程效率和代码质量有着显著的帮助。此外,ChatGPT还能实现不同编程语言之间的转换,大大降低了跨语言开发的学习成本。
总结
通过阅读《拥抱AIGC》的这几章内容,我深刻体会到了ChatGPT在实际工作中的巨大潜力。特别是在营销领域,ChatGPT可以帮助我们更快地生成创意文案;在科研领域,它能辅助我们整理文献资料;在软件开发领域,它更是成为了不可或缺的工具之一。通过不断尝试不同的提示设计,我发现ChatGPT能够提供越来越精准的答案,这极大地提高了我的工作效率。书中提供的实例和技巧非常实用,对于想要深入了解并利用这项技术的人来说是一本不可多得的好书。
随着技术的不断发展,ChatGPT的应用场景将会更加广泛。我相信,在不久的将来,ChatGPT将在更多领域展现出更大的价值。同时,我也期待着能够看到更多关于如何进一步优化ChatGPT使用的教程和案例分享,以便我们能够更好地利用这项技术来提升个人和企业的竞争力。
。
-
发表了日志:
《拥抱AIGC》深入应用与实践(第3-6章)