算丰边缘计算开发板人脸检测识别-实现原理与代码介绍

本文介绍了如何在算丰边缘计算开发板上实现人脸检测和识别的完整流程,包括UVC相机与开发板间的数据传输、OpenCV与ffmpeg的配合、人脸检测识别的步骤以及数据通过socket传送到PC显示的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.概述

本文章会尝试用简单的语言,来给大家介绍一下,如何搭建一个最基本的人脸检测以及识别的场景。当然,这篇文章不只是讲解关于人脸检测相关的部分,而是围绕这个核心,包含概括了整个前端的uvc,甚至socket通信等各个方面都有所涉及。

最终的产品实际效果以及主体框图如下所示:

如上图所示,该展示需要用到:

   ♦ 一块1880的edb开发板(官网购买)

   ♦1台linux pc(推荐ubuntu)

   ♦一个支持uvc标准的摄像头,该实例使用的是logitech C922(此处非广告)

   ♦网线/电源等各个配件

该展示从流程上来看,主要分为四大部分:

1.uvc camera将实时拍摄到的数据通过usb线,传给1880主板,数据可以是h264/yuv/mjpg等各种格式,取决于不同的camera型号。

2.1880接收到uvc camera的数据后,通过Opencv的api,调用ffmpeg,并内部对接了底层的bitmain的各个驱动模块,比如硬件Jpeg解码,硬件视频解码等。

3.通过上层高度封装的API(bmiva),依次调用人脸检测、人脸识别、特征值入库以及比对的相关函数,来获得人脸坐标以及特征值等各个参数。

4.BM1880 将合成后的图片(包含人脸框以及特征值查找到的人名),通过socket的方式传给pc(1880作为socket client,PC作为socket server),并利用PC的opencv进行显示。

接下来会详细介绍这4个部分:

二. camera 和 BM1880 之间的数据传输

1.背景介绍 

       -> 什么是uvc camera,以及uvc camera的基本用法

简单来说,uvc camera可以理解为免驱摄像头,而对于上层应用来说,配合简单的v4l2协议以及Ioctl的方式,就可以很方便的获取/设置摄像头的各个属性。

示范代码如下所示:

通常uvc camera会被识别为/dev/video0。 所以代码通过调用open函数,打开摄像头,然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值