200dk人脸注册Python样例扩展

本文介绍了在华为200dk上搭建人脸识别环境的详细步骤,包括下载合设环境镜像、烧录SD卡、修改Ubuntu服务器IP、启用DHCP以及在VSCode中使用remote-SSH插件进行远程开发。此外,还实现了人脸注册的单人功能,包括不同注册和检测场景的测试。
摘要由CSDN通过智能技术生成

大三上学期创新实践课程作业:

硬件: 华为200dk(机器学习的套件 类似于一个主机 专门用来处理一些机器学习的任务)

软件: 对已有的样例仓中Python样例仓的拓展一个人脸注册的功能(单人)

硬件环境搭建

推荐使用合设环境 方便简单还迅速 不需要在个人电脑或虚拟机上搭建复杂的环境 直接远程登录 在200dk上进行开发

1. 下载合设环境镜像

在昇腾论坛下载合设环境镜像:Atlas200dk合设环境搭建–用镜像恢复的方式

下载链接:https://gitee.com/ascend/samples/wikis/Atlas200dk%E5%90%88%E8%AE%BE%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA–%E7%94%A8%E9%95%9C%E5%83%8F%E6%81%A2%E5%A4%8D%E7%9A%84%E6%96%B9%E5%BC%8F?sort_id=3706490

直接下最新的 样例跑起来更简单 功能更强大 bug更少

2. 合设环境搭建–用镜像恢复的方式(在Windows系统内执行)

合设环境搭建–用镜像恢复的方式可以在Windows/macOS/Linux系统内执行,下载相应版本的Etcher工具快速烧录镜像至您的SD卡,本实验以windows系统为例。

  • 步骤 1 下载Etcher工具

Etcher工具下载地址:https://www.balena.io/etcher/

  • 步骤 2 解压镜像,得到img文件
  • 步骤 3 准备64G的SD卡,以及读卡器

将64G SD卡插入读卡器,接入Windows电脑。

  • 步骤 4 烧录SD卡

打开Etcher工具,选择img文件和SD卡,点击Flash,注意:Flash期间会弹出是否格式化的窗口,点击取消关闭窗口,直到Flash完成。

能不能烧录成功 看脸 有的电脑行 有的电脑不行 具体原因不太清楚

官网的教程使用脚本烧录 但烧录的貌似是运行环境… 需要配置的环境比较多 不推荐新手使用

3. SD卡扩区

简单说一下

将SD插入电脑 可以使用Ubuntu下的gparted对SD未分配的SD空间进行扩区。这就跟虚拟机磁盘满了 除了将在vmware下给它分配更多的空间以外 还需要以系统镜像为启动盘 登录系统 手动用gparted对扩展的内存进行分配扩展 关于扩展虚拟机的空间 详见google 关于对200dk的sd卡扩区 详见其提供的合设环境教程 这里草草说一下

4. 修改Ubuntu服务器的USB虚拟网卡IP地址

Atlas 200 DK开发者板与Ubuntu服务器通过USB端口直连场景下,由于Atlas 200 DK的USB网卡的默认IP地址为192.168.1.2,所以需要修改Ubuntu服务器的USB虚拟网卡的IP地址为192.168.1.x(x取值范围为01,3254),使Atlas 200 DK与Ubuntu服务器可以通信。

  • 切换为root
  • 更改/创建: /etc/netplan/01-netcfg.yaml 如下
network:
  version: 2
  renderer: NetworkManager
  ethernets:
     enp0s12u2: #配置的网卡名称,使用ifconfig -a查看得到
       dhcp4: no #dhcp4关闭
       addresses: [192.168.1.223/8] #设置本机IP及掩码
       gateway4: 255.255.255.0 #设置网关
       nameservers:
         addresses: [114.114.114.114] 
  • 更新配置 ->输入命令: netplan apply

5. 访问开发板 启用dhcp(接入路由器自动分配ip)

  • vi /etc/netplan/01-netcfg.yaml 允许eth0启用dhcp自动分配ip地址
network:
  version: 2
#  renderer: NetworkManager
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes

    usb0:
      dhcp4: no
      addresses: [192.168.1.2/24]
      gateway4: 192.168.0.1

6. 在主机的vscode下载remote-SSH插件 配置200dk的ip和公私钥以免密登录

  • 先启用密码的方式登录200dk(首选项->设置->插件设置)

  • 配置
Host Ascend
    HostName 192.168.1.2
    User HwHiAiUser
  • 将本机的id_rsa.pub里的内容放在200dk里 ~/.ssh/authorized_keys 文件下
  • 重启200dk sshd服务 -> systemctl restart sshd.service
  • 更改主机vscode配置 通过公私钥免密登录
Host Ascend
    HostName 192.168.1.2
    User HwHiAiUser
    IdentityFile ~/.ssh/id_rsa

关于生成windows下的公私钥以及一些细节 请自行google

人脸注册(单人功能)的实现

本文忽略样例启动的流程环节 详见代码仓里的对应样例的readme

1. main.py

import sys
sys.path.append("../../../../common")
sys.path.append("../")
project_path = sys.path[0] + "/../"
sys.path.append(project_path)
import datetime
import time
from sklearn.preprocessing import normalize
from scipy.linalg import norm
import numpy as np
np.seterr(divide='ignore',invalid='ignore')

from atlas_utils.camera import Camera
import atlas_utils.presenteragent.presenter_channel as presenter_channel
from atlas_utils.acl_model import Model
from atlas_utils.acl_resource import AclResource
from vgg_ssd import VggSsd

MODEL_PATH = project_path + "/model/face_detection.om"
MODEL_WIDTH = 304
MODEL_HEIGHT = 300
FACE_DETEC_CONF= project_path + "/scripts/face_detection.conf"
CAMERA_FRAME_WIDTH 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值