• [问题求助] 视频教程人脸检测应用部署的时候出现问题!!!!!
    根据这个网址https://gitee.com/Atlas200DK/sample-facialrecognition 中的介绍,手动下载依赖,使用bash deploy.sh 192.168.1.2 local命令出现以下错误,,这是怎么回事?
  • [问题求助] 人脸识别demo的预处理中怎样得到原始图像像素值(0-255)?
    求助:人脸识别demo中如何获取摄像头捕捉的原始图像数据?比如说每一帧的像素值(0-255)。后边需要对原始像素值做一下处理。感谢各位!!!
  • [问题求助] 视频教程人脸识别应用精讲结果在哪里查看?
    按照视频一步一步做好之后,run之后在哪里看结果,顺便问一下,这个例子的输入图片是哪里的,有没有办法把输入的图片数据放到开发板上,运行时从开发板上读取数据??
  • [问题求助] 小猪佩奇与人脸检测sample获取数据的差异
    想问一下佩奇的sample里面为什么不像人脸检测一样通过摄像头直接获取图像数据呢?https://gitee.com/Atlas200DK/sample-peppapigdetection而是获取RTSP视频流,两者有什么区别呢?
  • [问题求助] 求问人脸检测实验执行部署文件出现如下问题该如何解决
    bash deploy.sh xxxx internet或者local都会报错
  • [问题求助] 在sample-facialrecognition项目中,人脸识别数据,能否从ubuntu进入Atlas 200DK开发板找到?
  • [开发资源] 智能摄像机SDK相关FAQ集
    智能摄像机SDK相关FAQ集1      场景问题1.1      公共Q1.  摄像机web相关配置在哪配?A:在产品文档中搜索对应关键字。产品文档下载方式:1. (推荐)support官网搜索摄像机型号,查找产品文档,support官网链接:https://support.huawei.com; 2.论坛查找,论坛链接:https://forum.huawei.com/enterprise/zh/forum.php?mod=viewthread&tid=511549 。Q2.  调用SDK接口实现某功能,应该调用哪个接口?A:发布包SDK开发指南中搜索对应关键字。SDK开发指南下载链接:https://support.huawei.com/enterprise/zh/doc/EDOC1100103471。Q3.  通道号如何赋值?A:一般情况下通道号为固定值101,特殊情况有两种:一种是1拖N,通道号来区分从机,从机通道号调用接口获取,一般为10001、10002等;另一种是星图模块区分定点动点,一般为2000,2001。在调用Get类接口获取信息时,在初始化相应结构体后需给通道号赋值。Q4.  登录端口号是什么?A:如果是TCP连接,设备端口号为6060;如果是TLS连接,设备端口号为6061。见开发指南IVS_PU_Login接口参数说明。Q5.  浏览器可登录摄像机,为何SDK登录提示错误码2,用户名或密码错误?A:浏览器与SDK登录摄像机密码是分别设置的。设置SDK登录密码:通过Web登录摄像机,选择“高级配置 > 网络 > 平台对接参数 > 密码管理 >  SDK密码”。Q6.  本机可ping通摄像机,同时web端可登录摄像机,为何SDK登录IVS_PU_Login提示错误码9,网络连接错误?A:1. 未开启SDK功能开关。开启SDK功能开关:通过Web登录摄像机,选择“高级配置 > 网络 > 平台对接参数 > 配置SDK参数,在“SDK参数”配置页面,勾选“SDK功能开关”,表示启用SDK。2. IVS_PU_Init/ IVS_PU_InitEx初始化接口端口号填写错误。SDK所在设备的端口号,在自动连接与混合连接模式下需要配置;在手动模式下可以忽略,自动模式下端口号必须为5050;混合模式下可设置,端口号默认值为6060或6061,见开发指南IVS_PU_Init/ IVS_PU_InitEx接口参数说明。3. IVS_PU_Login端口号错误。如果是TCP连接,设备端口号为6060;如果是TLS连接,设备端口号为6061。见开发指南IVS_PU_Login接口参数说明。4. 确定端口是否可以ping通,使用指令:telnet IP 端口,不通确定SDKserver是否正常,可在web上查看(高级配置 > 系统p配置 > 进程信息)5. 确定摄像机能否ping通平台,ssh登录摄像机,需在web端配置“高级配置 > 网络 > SSH/SFTP” 启用SSH,登录默认用户名密码参考产品文档“默认IP地址及帐户”。6.确定摄像机时间是否准确,如果时间有误请进入摄像机web页面,“高级配置 > 系统配置 > 时间设置”校准系统时间。Q7.  SDK证书管理,上传证书时,提示输入私钥文件密码,密码是多少?A:输入的私钥文件密码需要与申请私钥文件时生成的密码一致。若秘钥文件为发布包SDK内证书时,秘钥文件密码见发布包SDK开发指南(接口参考-通用接口-SDK初始化)IVS_PU_InitEx接口特别说明。默认证书在SDK发布包中获取,路径sdk/windows/lib/cert:cacert.cer、cert.pem、key.pem;默认证书为所有SDK包公用,建议用户使用自己的一套客户端证书和服务端证书。Q8.  不同场景解析元数据如何区分?A:元数据整体采用三层TLV嵌套设计,传输时采用网络序,通过第三层target类型进行区分,TARGET_TYPE = 0x07000023,取值范围为ITGT_TARGET_TYPE_E。参考《全网智能接口对接TLV数据详解》,SDK V200R002C00SPC616版本后续SDK版本的HWPuSDK.h文件中不会更新第三层元数据列表,可直接通过地址取值,参考文档链接为:https://support.huawei.com/enterprise/zh/doc/EDOC1100084903。Q9.  发布包SDK内HWPuSDK.h的第三层元数据包含目标置信度和目标角度,在获取元数据时取不到值。A:目标置信度和目标角度不会在元数据中上报,上报元数据可参考《全网智能接口对接TLV数据详解》,参考文档链接为:https://support.huawei.com/enterprise/zh/doc/EDOC1100084903Q10.            SDK日志保存在哪个路径下?A: Windows系统:C:\HW_SDK_LOG\Vware_SDK.logLinux系统:_DM  /home/sdklog/ Vware_SDK.log_ODS /opt/iot/cig/karaf/data/log/ Vware_SDK.log其他 /var/log/sdklog/ Vware_SDK.logQ11.            SDK如何感知异常事件?例如:摄像机保活失败,网络断开等。如何实现自动重连?A:调用IVS_PU_EventStatesCallBack接口设置SDK事件回调函数。SDK机制类的一些事件会通过回调函数回调给上层应用。回调参数VOID *arg类型可转换为PU_EVENT_NOTIFY_BODY_U *,以此获取到具体的回调事件类型。建议处理的事件类型包括PU_EVENT_TYPE_SEND_RECV_ERROR(从摄像机接收/发送消息失败事件), PU_EVENT_TYPE_KEEPLIVE_FAIL(摄像机保活消息失败事件), PU_EVENT_TYPE_DISCONNECT(摄像机网络连接断开事件),PU_EVENT_TYPE_REALPALY_ERROR(摄像机媒体流异常事件),PU_EVENT_TYPE_REGISTER(摄像机主动注册,主动模式下需处理该事件)。接口详细说明请参考发布包SDK开发指南:接口参考-通用接口-SDK本地配置。当前端摄像机发生保活失败、掉线、实况异常等事件时会触发回调方法,开发者们可根据回传的ulIdentifyID进行‘停止抓拍-登出-登录-开始抓拍’操作,恢复业务运行,详细代码参考Demo。不建议频繁调用IVS_PU_GetDeviceStatusInfo获取设备状态信息来检测设备保活状态,此接口为远程维护接口,频繁调用会耗费系统资源,影响其他业务进行。Q12.            参照SDK开发指南中的IVS_PU_RealPlay实况播放接口应用举例,始终进入不了回调函数中,这是为什么?A:传输协议类型,UDP改为TCP。即stRealPlayInfo.enProtocolType 由PROTOCOL_TYPE_UDP 改为 PU_PROTOCOL_TYPE_TCP。Q13.            调用IVS_PU_InitEx 初始化SDK,查看日志仍为IVS_PU_Init,IVS_PU_InitEx是否调用成功?A:调用IVS_PU_InitEx 初始化SDK,查看日志仍为IVS_PU_Init,IVS_PU_InitEx调用成功。Q14.            使用SDK版本V200R002C00SPC628 IVS_PU_Cleanup接口,Windows系统下大约60s有返回值,linux系统下长时间无返回值。A:查看SDK日志出现“IVS_PU_Cleanup Success.”即为正常,linux下可强制终止。1.2      目标检测Q15.            支持目标检测的设备型号有哪些?A: M系列中,所有球机、-F、-Q的款型;     X系列中,X1221-F、X1281-F、X2221-FL、X2221-FLG、X2261-FL。Q16.            目标检测的相关配置有哪些?   A:1.使用目标检测功能需勾选开启目标检测(摄像机web端 高级配置 > 智能分析 > 目标参数界面勾选开启目标检测)。2.获取目标检测功能中的目标抠图或全景图需分别勾选发送目标抠图、发送全景图(web端 高级配置 > 智能分析 > 目标参数界面勾选发送目标抠图、发送全景图)。3.获取目标检测功能中的目标属性需勾选启用目标属性(高级配置 > 智能分析 > 目标属性界面勾选启用目标属性)。注:摄像机web端配置各参数位置因设备版本及型号不同可能会存在差异。Q17.            对于目标检测功能,目标抠图、全景图、目标属性信息返回延时?A:当目标走出摄像机检测范围后,才会返回目标抠图、全景图、目标属性信息。Q18.            目标抓拍配置正常,有目标抠图返回,但目标不完整?A:摄像机安装位置不佳,合理规划摄像机安装位置。X1221-F、X1281-F、X2221-FL、X2221-FLG和X2261-FL款型的目标检测条件需要满足左右偏差60°以内,仰视目标45°以内,俯视目标45°以内。Q19.            自动触发目标抓拍和手动触发目标信息抓拍的接口分别是什么?A:自动触发目标抓拍接口为:IVS_PU_RealPlay接口取智能元数据流,在回调函数中处理智能元数据:调用IVS_User_GetMetaData接口智能元数据帧为结构化的智能数据。IVS_PU_RealPlay接口详细说明请参考发布包SDK开发指南:接口参考-媒体类接口-实况、IVS_User_GetMetaData接口详细说明请参考发布包SDK开发指南:接口参考-智能分析类接口-目标检测。    手动触发目标拍照接口为:IVS_PU_ManualSnapshot,更多接口说明参考发布包SDK开发指南:接口参考-配置类接口-抓拍。1.3      目标识别Q20.            支持目标识别的设备型号有哪些?A:X1221-C、X2221-CL、X2222-CL、X2241-CL、M2121-ECL、X3221-C,参考《华为智能SDC目标识别专题》 (登录http://support.huawei.com/enterprise,根据摄像机型号/关键字,在搜索栏搜索并选择对应的摄像机,获取相关文档)。Q21.            对于目标识别功能,已添加目标库却无法比对到?A: 从以下几个方面进行检查是否配置:1. 启用目标识别。具体操作:摄像机web端 > 智能分析 >高级配置 > 智能分析 > 目标识别 > 目标库管理界面勾选启用目标识别。2. 目标库是否存在已提取特征值的目标信息。具体操作:摄像机web端 > 智能分析 >高级配置 > 智能分析 > 目标识别 > 目标库管理界面 > 提取特征值。3. 目标库设置布控,目标库中必须存在已提取特征值的目标信息才能布控成功。具体操作:摄像机web端 > 智能分析 >高级配置 > 智能分析 > 目标识别 > 目标库管理界面 > 选中目标库后点击编辑 > 勾选布控。注:摄像机web端配置各参数位置因设备版本及型号不同可能会存在差异。Q22.            目标库布控时提示底库无特征A:布控目标库不存在目标信息或不存在已提取特征值的目标信息。Q23.            对于目标识别功能,识别到的目标信息全部以“*”显示,如何显示具体信息?A:去勾选目标识别信息匿名化。具体操作:摄像机web端 高级配置 > 智能分析  > 目标识别 > 目标库管理界面去勾选启用目标识别信息匿名化。注:摄像机web端配置各参数位置因设备版本及型号不同可能会存在差异。Q24.            对于目标识别功能,目标库属性中的阈值是什么?如何配置?A:“阈值”设置范围为0~100的整数,在目标识别过程中相似度超过“阈值”才会抓拍图片。具体设置参考业务场景,如果要保证准确度比如刷脸支付,现场环境好那就设高点;如果场景对准确率要求不是非常高,比如关联门禁,那就设低点,避免因为客观条件相似度达不到,让人在门禁边等待。Q25.            对于目标识别功能,目标库黑名单与目标库白名单有何区别?A:黑名单模式,会对走出监控区域的目标进行名单库比对;白名单会对监控区域内质量较好的目标进行比较,若未命中会对当前目标持久抓拍比较直到满足阈值/对应目标离开监控区域。Q26.            针对目标识别功能,假设前端中目标有200个,当一个人进入摄像时,200个全部比对后,返回匹配率(前提是高于设置的阈值)最高的那个目标信息吗?A:一个人进入相机后,是与库里面所有的人都比对一遍,选取出匹配率最高的,如果该匹配率超过阈值就发送出去。Q27.            调用接口(如:添加单张目标、目标导库接口等)后返回错误155(未开启TLS,不能操作目标库相关),如何开启TLS通道?A: 使用TLS加密通道与以下两接口相关,详细配置如下:1. 使用TLS加密通道(如:添加单张目标、目标导库接口等),调用IVS_PU_InitEx接口。该接口在SDK使用过程中只需要使用一次,和IVS_PU_Cleanup配对使用。接口详细说明请参考发布包SDK开发指南:接口参考-通用接口-SDK初始化。2. 调用IVS_PU_Login接口登录设备,用户注册至前端设备,将端口号设置为6061。接口详细说明请参考发布包SDK开发指南:接口参考-通用接口-登录/登出。Q28.            删除指定目标信息faceid后,无法再次指定同一faceid添加目标?A:faceid为唯一值,不支持重复使用。若必须使用此场景,建议使用目标信息中的证件号代替faceid。Q29.            目标库图片格式要求:A:1. 导入的目标图片需为.jpg、.jpeg、.png或.bmp格式,部分jpeg格式的图片可能没有采用标准的jpeg编码规范导致导目标库失败,需要使用画图工具重新将图片另存为标准的jpeg格式。2. 建议单个图片文件大小不超过300K,批量导入时整体图片加模板的.zip包大小不超过100M。3. 图片名和姓名不支持_、-、.以外的特殊符号,证件号只支持数字和字母,若不满足该条件,SDK添加单张目标报错10001。4. 建议图片像素大小不超过1920*1080,目标像素大小范围需要满足80*80像素~500*500像素。5. SDC V500R019C20版本最大支持10万张目标图片,SDC V500R019C30及以后版本最大支持30万张目标图片,超出后将无法上传图片。6. SDC 8.0.0版本中X2241-CL最大支持100万张目标图片,单张图片文件大小建议不超过50K,否则总体导入目标图片数量可能达不到100万。Q30.            目标库导库模板格式及下载路径A:目标库模板格式为:.zip压缩包,压缩包中须包含一个csv文件和若干图片文件,不能包含其他任何类型文件或文件夹。下载路径为:web端摄像机 高级配置 > 智能分析 > 目标识别 > 目标库管理界面 > 下载导库模板。摄像机web端配置各参数位置因设备版本及型号不同可能会存在差异。1.4      1拖NQ31.            支持多机互助功能的摄像机(主设备)有哪些:A:微卡口摄像机:X1221-V、X1281-V、X2221-VI、X2221-VL、X2221-VLW、X2321-VG、X2381-VG;目标抓拍摄像机:X1221-F、X1281-F、X2221-FL、X2221-FLG、X2261-FL;全结构智能摄像机:X1221-H、X1281-H、X2221-HL、X2241-HL、X2261-HL。Q32.            主从设备组合类型要求A:主摄像机和从摄像机的分辨率总和不能超过1000万像素,并且,从摄像机的分辨率不高于主摄像机分辨率、不低于200万分辨率,从摄像机无需支持目标检测或机非人检测功能,将由主摄像机协助实现。支持的分辨率组合及可实现的业务类型组合详见产品型号产品文档 > 配置 > 多机互助配置 > 配置多机互助。Q33.            主从设备连接方式A:多机互助场景下,主摄像机与从摄像机是通过ONVIF协议进行对接的,因此需要开启主摄像机和从摄像机的ONVIF协议。通过Web登录摄像机,选择“高级配置 > 网络 > 平台对接参数 > 第二协议参数 > ONVIF”,勾选“启用ONVIF”,并完成ONVIF协议的配置。添加从设备时填写的“ONVIF端口”、“ONVIF用户名”和“ONVIF密码”,需要与从摄像机中的配置保持一致;“RTSP端口”、“RTSP用户名”和“RTSP密码”,需要与从摄像机中的配置保持一致。 “设备管理 > 设备1 > ONVIF ”和“设备管理 > 设备1 > RTSP”应均为选中状态,并且后面必须显示“ONVIF状态正常”和“RTSP状态正常”字样,才可开始从设备的预览和抓拍。相关配置可参考产品型号产品文档 > 配置 > 多机互助配置 > 配置多机互助。Q34.            如何修改主从设备模式?A:主设备相关配置可通过Web登录摄像机,选择“高级配置 > 网络 > 设备管理 > 主设备”进行配置,包括多机互助使能、一拖N模式、智能切换,其中一拖N模式控制摄像机可支持人卡及微卡的最大数值,智能切换处各设备模式总和不能超过该数值。Q35.            从设备通道号与从设备ID有什么关系?A:从设备请流时通过IVS_PU_GetMasterSlaveChannelInfo获取主从设备信息可取得从设备通道号stMasterSlaveChannelInfo.astSlaveChanInfo[0].ulChannelID,该通道号为通过IVS_PU_SetSlaveDeviceBasePara设置从设备参数时的从设备ulSlaveID + 10001。Q36.            如何获取从设备新增、修改、删除、从设备上线、从设备下线消息?A:可调用IVS_PU_EventStatesCallBack接口设置SDK事件回调函数。SDK机制类的一些事件会通过回调函数回调给上层应用。回调参数VOID *arg类型可转换为PU_EVENT_NOTIFY_BODY_U *,以此获取到具体的回调事件类型。新增从设备事件对应事件PU_EVENT_TYPE_SLAVE_DEVICE_ADD,修改从设备事件对应PU_EVENT_TYPE_SLAVE_DEVICE_MODIFY, 删除从设备事件对应PU_EVENT_TYPE_SLAVE_DEVICE_DELETE,从设备上线事件对应PU_EVENT_TYPE_SLAVE_DEVICE_ONLINE,从设备下线事件对应PU_EVENT_TYPE_SLAVE_DEVICE_OFFLINE。可参考本Demo处理的从设备上线下线事件。在异常事件回调中无法确定具体从设备,只能对全部从设备进行统一处理。调用接口详细说明请参考发布包SDK开发指南:接口参考-通用接口-SDK本地配置。Q37.            调用IVS_PU_SetSlaveDeviceOnvifPara接口设置从设备Onvif参数,赋值正确的用户名密码后ONVIF状态仍旧异常A:修改从设备ONVIF参数时,尽可能保证用户名密码正确。用户名密码错误后,ONVIF状态异常,再次修改正确的用户名密码后,若ONVIF状态仍旧异常,无需任何操作,约5分钟后状态恢复正常。1.5      主动注册Q38.            主动注册在摄像机web端配置步骤A:通过Web登录摄像机,选择“高级配置 > 网络 > 平台对接参数”。系统显示“平台对接参数”页面。(详见 产品文档 >  配置 > 配置指南 > 与视频监控平台对接配置 > 配置摄像机SDK协议接入平台 > 配置摄像机SDK协议参数):1. 在“SDK参数”配置页面,勾选“SDK功能开关”,表示启用SDK。2. 勾选“SDK主动注册”,表示已选择主动注册方式。3.(可选)选择摄像机与平台之间的认证方式,如果勾选双向认证,会采用TLS方式认证,如果不勾选,会采用密码认证。4. 配置SDK参数。5. 单击“保存”。Q39.            主动注册如何打开TLS通道?A:在web端(高级配置 > 网络 > 平台对接参数)开启双向认证,端口号修改为5062。初始化调用IVS_PU_InitEx,ulLocalPort设置为6061,ulLocalTlsPort设置为5062。调用IVS_PU_LoginByID成功后TLS通道打开,可进行添加单张目标和目标库导入操作。Q40.            主动注册如何区分多台设备?A:当摄像机配置多路情况下,回调参数VOID *arg类型转换为PU_EVENT_COMMON类型中pPuCallBackInfo.stPuIpcRegister.stPuEventCommon.ulIdentifyID值不同,则表明是不同的设备。1.6      三步请流Q41.            元数据包中如何区分多路摄像机?A:每次开始请流之后,在元数据之前会先收到一个NAT穿越包,包头之后是IVS_PU_MediaPlay接口参数strMediaPlayInfo ->szSessionUrl传入的字符串,可以用于多路相机时识别相机身份,此项需要摄像机系统支持,请升级摄像机系统软件到最新版本。Q42.            如何实现连续请流?A:实现连续请流需要在摄像机web端配置,步骤(详见 产品文档 >  配置 > 配置指南 > 与视频监控平台对接配置 > 配置媒体流保活参数 > 配置摄像机SDK协议参数):1)      通过Web登录摄像机,选择“高级配置 > 网络 > 平台对接参数 > 第二协议参数”。系统显示“第二协议参数”页面。2)      在“第二协议参数”配置页面,取消勾选“媒体流保活开关”,表示取消媒体流保活,取消勾选后页面会自动保存设置。3)      此项设置是由于NAT穿越包的发送条件是IVS_PU_MediaPlay接口参数strMediaPlayInfo ->szReserved[0]为0,即默认媒体流保活, SDK不会发送媒体保活请求给相机端,若不取消勾选会造成媒体保活失败,请流将不能持续。1.7      其他Q43.            语音广播接口调用哪些接口?A:1. 调用IVS_PU_StartVoiceBroadcast接口开始语音广播;2. 循环调用IVS_PU_FeedVoiceData接口喂声音数据(喂声音文件的编码方式只能是G711a、G711u、G726,且文件内容不包括文件头);3. 调用IVS_PU_StopVoiceBroadcast接口停止语音广播。Q44.            通过VLC media player软件获取相关摄像机的实时视频流,RTSP取流地址为何?A:rtsp://IP/LiveMedia/ch1/Media1rtsp://用户名:密码@IP/LiveMedia/ch1/Media1其中,IP为摄像机的IP地址,Media1代表主码流,如果需要获取子码流,则此处改为Media2即可。如果摄像机已开启了权限认证,则输入取流地址后,还需要输入摄像机与ONVIF平台对接的帐户及密码,其默认的帐户密码。 Q45.            实时过线人数获取实时过线人数通过元数据上报,接口调用流程参考如下图,数据类型详见华为《全网智能接口对接TLV数据详解》文档:元数据说明->头肩业务与热度图->过线计数上报规则线                                               2      跨语言问题2.1      C#Q46.            调用接口后返回false,查看日志显示字段值与设置不符或存在字节偏移?答:查看定义的相关结构体,添加字节对齐(Pack =1)。Q47.            C#语言调用接口,程序报错:尝试读取或写入后保护的内存,这通常指示其他内存已损坏,如何解决?答:通常与定义的相关结构体有关,结构体未与开发指南或HWPuSDK.h (C++头文件)中的结构体长度或类型一致,当两者存在差异时,以HWPuSDK.h文件内定义为准。Q48.            SDK V200R002C00SPC617 C# Demo匹配SDK V200R002C00SPC616版本SDK库,目标抓拍无法抓拍问题解决办法?答:SDK V200R002C00SPC617 C# Demo匹配SDK V200R002C00SPC616版本SDK库,目标抓拍无法抓拍问题,具体解决办法为:1. 将SDK.cs文件中LPPU_REAL_PLAY_INFO_S结构体的stStartTime参数类型由PU_TIME_S修改为PU_TIME,stEndTime同理(SDK.cs中第1287、1288行)。2. 将SDK.cs文件中LPPU_REAL_PLAY_INFO_S结构体的szReserved参数的类型由string修改为byte[](SDK.cs中第1292行)。3. 将SDK.cs文件中LPPU_REAL_PLAY_INFO_S结构体的szReserved参数的UnmanagedType属性由ByValTStr修改为ByValArray(SDK.cs中第1291行)。4. 将SDKAccessIntelligent.cs文件中StartFaceSnap方法的real_info_s.szReserved值初始化(new byte[32])后将第22位赋值为1(SDKAccessIntelligent.cs中第103行)。Q49.            C#解析元数据如何区分多台设备?A:IVS_PU_RealPlay接口入参pUsrData传入设备id或ip,pfRealDataCallBack回调函数的pUsrData参数返回。示例如下://开启抓拍string strPtr = "";//摄像机IP或ID或通道号信息IntPtr pUsrData = Marshal.AllocHGlobal(strPtr.Length);pUsrData = Marshal.StringToBSTR(strPtr);CallBackSnapshot = new HWPuSDK.pfRealDataCallBack(SnapshotCallbackWithMetaFrame); ulRealHandleSnapshot = HWPuSDK.IVS_PU_RealPlay(loginID, lrpis, CallBackSnapshot, pUsrData);//抓拍回调private void SnapshotCallbackWithMetaFrame(IntPtr szBuffer, int lSize, IntPtr pUsrData) {string strPtr = Marshal.PtrToStringAuto(pUsrData);//获取到摄像机IP或ID或通道号信息    ......}Q50.         C# demo 在分销设备款型+8.1.1版本下,添加单个目标报错,(10001)Server common errorA:需要IVS_PU_AddOneFaceV2接口最后一个参数pcPicname图片名字加后缀;修改如下部分代码即可string aFile = Path.GetFileName(picPath)这行移到if外面string picName = Path.GetFileNameWithoutExtension(txtPicPath.Text);这行不要bool ret = SDK.IVS_PU_AddOneFaceV2(ulIdentifyID, ref pstOneFaceInfo, picName);最后一个参数picName改成aFile. 2.2      JavaQ51.        Java语言调用接口失败时,如何自己排查问题?A:通常问题可以分为以下几种情况:1. 基本数据类型定义有误,如ULONG在32位dll中是4个字节,可以用ULONG或者NativeLong实现,不要用long类型,字节未对齐导致接口调用失败。2. 数据类型指针定义有误,如BOOL *与ULONG *,我们很可能将其用基本数据类型实现,但是接口调用失败。这种参数类型用BOOLByReference与LongByReference实现。数组实现,如CHAR  szPresetName[PU_PTZ_NAME_LEN];定义是可以定义成一个byte数组,不要用char数组。3. 赋值传参时也要分配其对应的内存大小,不能直接赋值,参考如下: Arrays.copyOf(“参数值”.getBytes(),PU_PTZ_NAME_LEN);4. 字节未对齐,有些数组可能分配3字节,未按常见字节大小分配,JNA会自动补齐成4个字节。可在结构体构造函数中加this.setAlignType(ALIGN_NONE);使它按照我们的方式对齐。Q52.        添加单张目标接口,同样的代码为什么Windows可以Linux不行?A:通常和编码方式有关,参数赋值为中文,需要给一个编码方式,SDK在Windows系统下为GBK编码方式,在Linux系统下是UTF-8编码方式。Q53.        Linux加载SDK问题总结A:Linux加载的是*.so库,库正常情况下1. 库的存放路径为/usr/lib64,如果没有lib64目录可以放在/usr/lib目录下。2. 加载libhwpusdk.so报Undefinedsymbol: SSL_load_error_strings错误。需要先加载libssl.so库,或者查看本地是否安装openssl,如果已安装,看下版本是否过低3. Linux不需要我们自己实现std协议,如果接口调用时有StdLibrary或StdCallCallback时直接用Library和Callback实现,否则会抛如下异常4. JNA版本问题,比较低的3.0版本只能加载一个so文件,还没有结构体实例化功能。建议用5.0.0版本的JNAQ54.        Linux系统抓拍回调过程中进程crash,Windows 64位抛空指针异常A:经排查,Linux会在该行崩溃,或者在Windows 64位SDK会抛空指针异常PU_META_DATA data = Structure.newInstance(PU_META_DATA.class, pointer.getValue());将此行修改成PU_META_DATA data = new PU_META_DATA(); data.getPointer().write(0,pointer.getValue().getByteArray(0, data.size()),0,data.size());然后在IVS_User_GetMetaData调用之后对pointer.getValue()进行判空。 Q55.            项目移植到linux后运行报错A:目前Java Demo未发布linux适配版本,可按照如下步骤解决:1.首先确认安装64位jdk8及以上版本;2.然后参考 Q:Linux加载SDK问题总结、Q:Linux系统抓拍回调过程中进程crash问题 修改代码;3.最后在HWPuSDK.java文件中找到联合体unMetaData,将uLonglongValue字段类型由WinDef.ULONGLONG改成WinDef.ULONG。车牌抓拍Demo获取车辆抓拍图时程序崩溃,将ST_BINARY结构体属性ulBinaryLenth的类型改为ULONG;注:SDK加载问题参考https://bbs.huaweicloud.com/forum/thread-23364-1-1.html。Q56.            已发布JAVA语言Demo双击打开点击下一步后没反应A:当前Demo在选择语言点击下一步之后会自动进行SDK初始化(设备初始化demo为手动初始化),没反应一般为SDK初始化失败。解决步骤:1.确认安装32位jdk8及以上版本;2.参照Q SDK库已加载,若运行已发布Demo依旧报错缺少库文件 确认库文件完整,没有缺失(尤其是第三方库文件);3.确认所有库文件都在可执行jar包同级lib目录下;4.确认bin目录中cert文件夹有cacert.pem、cert.pem、key.pem这三个文件,若没有去其他场景化Demo中copy。Q57.             Spring项目运行时报错:Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library…A:解决步骤:1.首先参照Q已发布JAVA语言Demo双击打开点击下一步后没反应 确保Demo在当前开发环境可以正常初始化;2.使用Deploy方式运行时程序会去classes下面找库文件,一种方式可以直接将所有库文件放到classes下面,另一种在VM options添加:-Xbootclasspath/a:XXX(库文件所在目录);3.cert文件找不到会导致SDK初始化失败,一种方式:代码init()方法如下图标红部分写绝对路径,另一种方式:控制台打印new File(".").getCanonicalPath(),看项目运行时的根目录,将cert文件对应放入即可;Q58.            Win7 32位调用IVS_PU_Login抛出如下异常A:接口返回值使用int类型进行接收,其他接口有类似问题也要这样处理;64位操作系统没有这样的问题,建议在64位操作系统下进行开发。Q59.            Java调用IVS_PU_RealPlay回调如何区分多路设备A:private static ArrayList<Pointer> pointerArrayList = new ArrayList<>(); Pointer usrData = new Memory(IPV4_ADDR_LEN +1); String ip = “192.168.0.120”;usrData.setString(0, ip); //pointerArrayList.add(usrData); //每次新new的usrData放到静态List,防止被GCfaceCaRealPlayHnd = HWPuSDK.INSTANCE.IVS_PU_RealPlay(new WinDef.ULONG(lUserID), playInfo, pfFedRealPlayCallback, usrData); 回调对象pfFedRealPlayCallback也可以用一样的方法,每次新new的pfFedRealPlayCallback放到静态集合。然后在pfFedRealPlayCallback回调实现类中String ip = pUsrData.getString(0);取出传入的ip信息 3      开发环境问题Q60.            SDK库已加载,若运行已发布Demo依旧报错缺少库文件A:SDK库windows版本依赖于winpcap 4.1.2以上版本有关,需要在bin文件夹(Java 语言lib文件夹)下添加Packet.dll、wpcap.dll或安装winpcap,安装后需重启。Packet.dll、wpcap.dll文件见附件"可选库文件.zip"。SDK版本V200R002C00SPC628 windows版本亦依赖于vcruntime140.dll文件,可自行下载后添加到bin文件夹(Java 语言lib文件夹)下,文件见附件"可选库文件.zip"。Q61.         使用SDC Development Kit 8.0.RC3版本windows64位SDK过程中加载HWPuSDK.dll失败A:将附件“可选库文件.zip”压缩包中的json-c.dll文件替换到bin文件夹(Java语言lib文件夹),并重新运行程序。Q62.         Win10+VS2019开发环境下,调用64位SDK播放实况接口IVS_PU_RealPlay崩溃或者停止保存实况接口IVS_PU_StopSaveRealData崩溃A:清除原bin文件夹中的SDK文件,将附件“windows_64.zip”压缩包中的dll文件解压到bin文件夹,并重新运行程序。
  • [问题求助] 人脸识别应用
    在人脸识别应用中软件打开后,注册人脸过程中,出现照片无法提交情况,显示如下,且没有example photo可以照着裁剪,一直无法提交注册人脸。同时,在点击第一页中vedio后,页面就会卡死,只能强制关闭chrome,请问以上两个问题如何解决呢???感谢啊
  • [问题求助] 在执行人脸识别调用摄像头的那个项目时,在python3安装tornado时遇到了问题
    在sample-facedetection-master解压后的文件夹中执行bash deploy.sh 192.168.1.2 internet时,在安装tornado时遇到了问题。
  • [问题求助] 人脸检测项目的Camera无法调用的问题
    请问camera需要初始化的操作吗?在MindStudio与Atalas开发板连接的环节中,camera已显示online,但在运行bash run_facedetectionapp.sh host_ip presenter_view_app_name camera_channel_name &    这句指令的时候,遇到的报错日志,如划线部分所示,
  • 【干货】load so error,报错:cannot open shared object file: No such file or directory
    【问题现象】人脸识别部署至开发板后运行时报错:[ERROR] HIAIENGINE(2334,ascend_facialrecognitionapp):2019-01-01-00:16:55.392.905 [JobID=20190101001655376][GraphID=1057997826],GraphImpl::dlopen error where so=./libface_detection.so, error = libascend_ezdvpp.so: cannot open shared object file: No such file or directory,[hiaiengine/connector/device/../common/src/graph_impl.cpp:5472:LoadSo], Msg: load so error[ERROR] HIAIENGINE(2334,ascend_facialrecognitionapp):2019-01-01-00:16:55.393.014 graph init failed where graphID=1057997826,[hiaiengine/connector/device/../common/src/graph_impl.cpp:1973:InternalCreateGraph], Msg: invalid so file[ERROR] APP(2334,ascend_facialrecognitionapp):2019-01-01-00:16:55.394.145 Fail to start graph,[/home/mindstudio/sample/sample-facialrecognition/facialrecognitionapp/main.cpp:47:HIAI_InitAndStartGraph], Msg: invalid so file【问题解决】如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形。可以通过ldd命名来查看可执行文件依赖的动态链接库,如下(其中D为可执行程序):        HwHiAiUser@davinci-mini:~/HIAI_PROJECTS/ascend_workspace/facialrecognitionapp$ ldd -r libface_detection.solinux-vdso.so.1 =>  (0x0000fffeffffc000)libhiai_server.so => /usr/lib64/libhiai_server.so (0x0000fffeffe9c000)libhiai_common.so => /usr/lib64/libhiai_common.so (0x0000fffeffe49000)libascend_ezdvpp.so => not foundlibstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000fffeffcba000)libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000fffeffc99000)libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000fffeffb52000)/lib/ld-linux-aarch64.so.1 (0x0000fffefffd1000)libprotobuf.so.15 => /usr/lib64/libprotobuf.so.15 (0x0000fffeff860000)libslog.so => /usr/lib64/libslog.so (0x0000fffeff845000)libome.so => /usr/lib64/libome.so (0x0000fffeff552000)libmmpa.so => /usr/lib64/libmmpa.so (0x0000fffeff536000)libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000fffeff50a000)libc_sec.so => /usr/lib64/libc_sec.so (0x0000fffeff4e8000)libmemory.so => /usr/lib64/libmemory.so (0x0000fffeff4d5000) 解决这个问题: (1)在系统中查找这个文件(当然要保证系统中已经有这个.so文件,只是查找路径没有设置正确而已):HwHiAiUser@davinci-mini:~$ find -name libascend_ezdvpp.so./HIAI_PROJECTS/ascend_lib/libascend_ezdvpp.so(2)将.so文件路径的目录添加到/etc/ld.so.conf.d/mind_so.conf  文件末尾新添加一行,/home/HwHiAiUser/HIAI_PROJECTS/ascend_lib/libascend_ezdvpp.so(3)使得修改生效, root用户下执行   /sbin/ldconfig然后再重新ldd -r 查看,  问题j解决。该案例是在人脸识别应用部署时发现的问题,但在其他应用场景下出现该类问题时通过该思路应该也可以解决问题。
  • [线上活动] 【立即报名】人脸情绪识别案例分享
    随着机器学习和深度神经网络两个领域的迅速发展以及智能设备的普及,人脸识别技术正在经历前所未有的发展,关于人脸识别技术讨论从未停歇。目前,人脸识别精度已经超过人眼,同时大规模普及的软硬件基础条件也已具备,应用市场和领域需求很大,基于这项技术的市场发展和具体应用正呈现蓬勃发展态势。而人脸表情识别(facialexpression recognition, FER)作为人脸识别技术中的一个重要组成部分,近年来在人机交互、安全、机器人制造、自动化、医疗、通信和驾驶领域得到了广泛的关注,成为学术界和工业界的研究热点。本次,我们邀请了重磅级嘉宾-华为云MVP任如意老师,为我们介绍人脸识别中的表情识别的相关内容,并基于ModelArts AI一站式开发平台带领大家实操,解锁人脸情绪识别新技能! 除了有大咖分享我们还准备了精美的礼品书籍,移动电源,京东卡就等你来了!  直播安排• 人脸情绪识别背景介绍及简单综述• 情绪识别算法介绍• ModelArts的主要功能模块以及周边产品(如对象存储)介绍,及云化AI开发的优点• 实操演示(介绍包括数据上传、挂载、任务创建、代码环境准备、jupyter使用最佳实践、GPU使用心得等)• 介绍ModelArts的任务模式、模型发布等模块• Q&A 直播时间2019年8月27日20:00-21:00课程形式:线上直播互动 课程免费报名扫描海报二维码或点击https://developer.huaweicloud.com/signup/9f3cc214fe4d4e60afda718754d73b2d即可免费报名预约!提交报名后,华为云将于直播当天(8月27号 周二)通过邮件或短信向您推送在线直播观看地址,敬请关注。现场参与评论互动,若提问内容被导师翻牌,将有机会获得《极简人工智能》书籍1本!
  • [问题求助] 如何在mindstudio中创建执行一个人脸检测工程
    在atlas开箱视频里看到了从mindstudio中运行的人脸检测工程,想学着创建一个,发现好像没有相应的后处理模型可以选择。
  • [问题求助] 人脸检测应用运行速度慢,高延迟
    我按照github人脸检测的例子(https://github.com/Ascend/sample-facedetection/blob/master/README_cn.md)成功部署了一个人脸检测应用。但是在网页上打开查看实时视频的时候,视频画面延迟非常高,感觉有3-4分钟,并且上面写着1fps。请问各位大佬是否遇到过这种情况?谢谢
  • [版务处理] 摄像机SDK对接第三方平台一人脸检测场景开发流程
    人脸检测场景化开发流程人脸检测场景化主要涵盖三方面的内容:人脸抓拍、人脸识别、人脸库操作。1.  人脸抓拍人脸抓拍涉及接口函数见表1表1 人脸抓拍涉及接口接口名称接口函数实况播放IVS_PU_RealPlay获取元数据IVS_User_GetMetaData释放元数据IVS_User_FreeMetaData停止实时预览IVS_PU_StopRealPlay表1中接口调用流程如图1     图1 人脸抓拍实现流程图2.  人脸识别人脸识别涉及接口函数见表2,但是要实现人脸识别必须相机内部要有已布控好的人脸库。人脸参数设置和人脸识别流程互不干扰。接口名称接口函数实况播放IVS_PU_RealPlay获取元数据IVS_User_GetMetaData释放元数据IVS_User_FreeMetaData停止实时预览IVS_PU_StopRealPlay获取人脸识别参数IVS_PU_GetFaceRecogPara设置人脸识别参数IVS_PU_SetFaceRecogPara人脸识别实现流程见图2,人脸参数设置见图3图2 人脸识别实现流程图图3 人脸识别参数设置3.  人脸库操作人脸操作涉及的接口函数见表3。而实现过程见图4接口名称接口函数人脸库导入接口扩充IVS_PU_ImportFaceLibEx定时查询人脸库导入状态、定时查询特征提取状态IVS_PU_CheckImportStatus人脸特征提取IVS_PU_FeatureExtract添加单张人脸IVS_PU_AddOneFaceV2获取人脸库信息IVS_PU_GetFaceLib查询人脸信息IVS_PU_FindFaceInfo设置人脸库信息IVS_PU_SetFaceLib删除人脸信息IVS_PU_DelFaceInfo修改人脸信息IVS_PU_FaceInfoModify    图4 人脸库操作流程图