- 2024-12-16
-
回复了主题帖:
AI挑战营(进阶):2.WSL2cuda+pytorch+insight初探
安装 rknn后开始报numpy没有int属性,查看报错是在insightface中,将face_analysis.py中下面使用int的地方修改为int32后,就不报错了
for i in range(len(faces)):
face = faces[i]
box = face.bbox.astype(np.int32)
color = (0, 0, 255)
cv2.rectangle(dimg, (box[0], box[1]), (box[2], box[3]), color, 2)
if face.kps is not None:
kps = face.kps.astype(np.int32)
- 2024-12-10
-
发表了主题帖:
AI挑战营(进阶):2.WSL2cuda+pytorch+insight初探
一、docker 运行ubuntu22尝试
个人pc是windows,参考牛人文章发现用的ubuntu22,首先考虑使用docker运行ubuntu22容器,这样即不影响其它已有环境,也不担心其它环境影响它
AI挑战营(进阶):1. InsightFace 快速上手 - 嵌入式系统 - 电子工程世界-论坛
docker之前已经有部署,docker pull ubuntu:22.04下载ubuntu22的image,成功运行
使用下面的命令可以安装cuda
apt install nvidia-cuda-toolkit*
apt install nvidia-cuda-dev
cuda安装完成后,发现nvida的驱动没有安装,于是安装了驱动
运行nvidia-smi后报未知错误,docker中运行ubuntu22来使用nvidia应该还是有问题的
二、WSL2中运行ubuntu22
在wsl2中新建ubuntu22的实例,可以直接在vscode远程中选择发行版
创建完成后,运行nvidia-smi,直接看到下面的输出
还是微软贴心。
安装cuda 11.8版本,查找官网发现下面的安装命令,运行成功
完成后运行nvcc -V,可以得到下面的输出,证明cuda安装成功。
使用命令安装pytorch
第一次安装时报错了,说sha值不对应,重新运行一次,安装成功
使用下面的命令安装insightface和onnxruntime_gpu
pip install insightface
pip install mxnet onnxruntime-gpu
运行人脸分割测试
import cv2
import numpy as np
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image
app = FaceAnalysis(name="buffalo_sc",providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))
img = cv2.imread('input.jpeg')
faces = app.get(img)
rimg = app.draw_on(img, faces)
cv2.imwrite("./output.jpg", rimg)
得到下面的图像
运行人脸识别
选取joey作为目标
import cv2
import numpy as np
import insightface
from insightface.app import FaceAnalysis
from insightface.data import get_image as ins_get_image
app = FaceAnalysis(name="buffalo_sc",providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))
img = cv2.imread('input.jpeg')
faces = app.get(img)
feats = []
for face in faces:
feats.append(face.normed_embedding)
feats = np.array(feats, dtype=np.float32)
target = cv2.imread('joy.png')
target_faces = app.get(target)
target_feat = np.array(target_faces[0].normed_embedding, dtype=np.float32)
sims = np.dot(feats, target_feat)
print(sims)
target_index = int(sims.argmax())
rimg = app.draw_on(img, [faces[target_index]])
cv2.imwrite("joy_output_target.jpg", rimg)
几张人脸得到的相似度如下:
[ 0.9816556 0.05519836 0.09217417 -0.2159264 0.02295483 0.21829614]
绘制结果如下:
- 2024-12-09
-
发表了主题帖:
AI挑战营(进阶):1.固件编译+yolov5demo编译运行
一、启动
开发板很漂亮,体积也很小巧,有个小疑问是没有找到DDR芯片的位置
板子自带可以启动的固件,只是flash体积比较小,看资料板子也支持ubuntu,找了一张64G的tf卡,烧录ubuntu镜像测试
使用SD卡启动选项,选取预编译的ubuntu固件,接到开发板后,成功进入系统
/下的体积并未能显示整个tf卡的体积,简单查找未找到扩充空间的方式。
本次挑战需要使用摄像头,查看ubuntu的/dev/目录并没有发现video设备,所以使用ubuntu固件做这次的挑战并不合适,未来再查找摄像头节点驱动的问题
下面更新flash中的固件,因为随机固件按说明有一定问题,使用板上flash也是需要更新下固件的
烧写成功后,成功进入系统
二、SDK编译与example编译运行
搭建开发环境时,为尽量避免对其它环境的影响,我使用了docker方式,按照使用说明加载docker image后,下载sdk的git仓库,使用-v方式映射目录,运行docker 容器如下图:
cd /home
build.sh
然后选择对应的开发板型号
编译成功如下图 example 编译与运行
从github clone官方的example,clone完成如下图:
example编译步骤:
export LUCKFOX_SDK_PATH=/home/
执行build.sh后选择要编译的demo
编译完成如下图:
三、运行
将install文件夹scp到开发板的/root/目录
然后执行
打开 vlc播放器播放rtsp://192.168.x.xx/live/0,看到下面图像:
-
回复了主题帖:
AI挑战营(进阶):1. InsightFace 快速上手
大佬厉害
- 2024-12-06
-
回复了主题帖:
AI挑战营(进阶):3. onnx2rknn
大佬大佬
-
回复了主题帖:
共读入围名单:《大语言模型:原理与工程实践》
sgf201 发表于 2024-11-21 16:58
个人信息无误,确认可以完成评测计划。
0101,管理员老大有看到不
- 2024-11-21
-
回复了主题帖:
共读入围名单:《大语言模型:原理与工程实践》
个人信息无误,确认可以完成评测计划。
-
回复了主题帖:
入围名单公布:嵌入式工程师AI挑战营(进阶)的挑战者们,领取板卡啦
个人信息已确认,领取板卡,可继续完成任务。
- 2024-11-18
-
回复了主题帖:
嵌入式工程师AI挑战营(进阶):在RV1106部署InsightFace算法的多人实时人脸识别实战
本帖最后由 sgf201 于 2024-11-18 20:02 编辑
申请理由:
1.InsightFace 是一个开源的深度人脸分析工具箱,实现了对人物信息的精确识别,使用它可实现高效的人脸识别、人脸检测和人脸对齐等功能,支持 2D 和 3D 的人脸分析任务,并且为了适应不同的应用场景,它针对训练和部署都进行了优化。
2.个人从事模型推相关部署工作,并在自研专用芯片上进行性能优化,使用过yolov5 yolov8等。insightFace的身份信息识别对我有较大的吸引力,同时在RV1106的使用中还可以通过横向对比了解RK在视觉方面功能部署上的优化方式,在自己的工作中借鉴
3.计划:
a.搭建开发环境,运行demo,实现图像和获取和保存
b.部署InsightFace算法,实现支持3人实时人脸识别并在平台上正常运行
c.分析可进行的性能优化点,确认rk的实现方案
d.进一步优化,提高推理与显示帧率
e.增加视频编码功能,实现一个支持3个预定义人员的智能监控
-
回复了主题帖:
共读颁奖:《大语言模型:原理与工程实践》
啥 情况 ,我没收到书啊