Android SDK開發

目前我們的應用內使用了 ArcFace 的人臉檢測功能,其他的我們并不了解,所以這里就和大家分享一下我們的集成過程和一些使用心得

集成

ArcFace FD 的集成過程非常簡單

在 ArcFace FD 的文檔上有說明支持的系統為 5.0 及以上系統,但其實在 4.4 系統上也是可以跑的,

if (engine == null) { // && Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {try {engine = new AFD_FSDKEngine(); AFD_FSDKError err = engine.AFD_FSDK_InitialFaceEngine( "XXXX", "XXXX", AFD_FSDKEngine.AFD_OPF_0_HIGHER_EXT, 12, 3); if (err.getCode() != 0) { engine.AFD_FSDK_UninitialFaceEngine(); engine = null; } } catch (Exception e) { e.printStackTrace(); engine = null; } } 

我覺得 ArcFace 的優勢除了多角度檢測之外,另外一個是他的每次檢測并不是獨立,即這一次的檢測結果會指導下一次的檢測 (我猜測的->_->)

所以 ArcFace 在檢測到人臉之后,識別的時間會大幅減少,而 Seeta FD 的檢測每次都是獨立的,所以在無人臉的情況下,Seeta 的檢測速度要快于 ArcFace, 但是檢測到人臉之后,因為應用整體的計算量增加,導致 Seeta 的檢測速度降低的非常明顯,大大慢于 ArcFace, (所以二者是不是可以結合一下...)

AFD_FSDKError err = engine.AFD_FSDK_StillImageFaceDetection(data, width, height, AFD_FSDKEngine.CP_PAF_NV21, result);

優化 不得不說 ArcFace FD 的錯誤率是有待優化的,雖然 ArcFace 沒有提供任何可以調節的參數,但是還是可以稍微優化一下!

因為從攝像頭出來的 yuv 數據是橫向的,而 ArcFace 只有 AFD_OPF_0_HIGHER_EXT 這個擴展選項,優先檢測 0 度方向, 但是這個方向一般是沒有人臉的,所以如果直接進行檢測,我們覺得這個可能會增加檢測的錯誤率(猜的->_->),所以處理方法是將 yuv 旋轉到手機豎屏方向(當然這個操作不是直接由 CPU 來處理,而是從 Camera 的外部紋理上開始做操作)再拿去檢測,這樣會減少一點錯誤率(從用戶反饋得出),雖然錯誤率依然很高(特別對于帶柵格的物體)希望虹軟能繼續優化!

另外一個是目前 ArcFace 還沒有支持 Android 8.x 系統,所以這種情況下,我們會啟用備選的其他方案來進行人臉檢測!

最后希望虹軟能把 ArcFace 越做越好 _ 因為只有產品足夠好才會不斷的有人為你做免費宣傳

?

轉載于:https://www.cnblogs.com/Zzz-/p/10630759.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387112.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387112.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387112.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jQuery WeUI 上傳

jQuery WeUI 是專為微信公眾賬號開發而設計的一個框架,jQuery WeUI的官網:http://jqweui.com/ 需求:需要在微信公眾號網頁添加上傳圖片功能 技術選型:實現上傳圖片功能可選百度的WebUploader、餓了么的Element和微信的jQuery WeUI…

07 模塊

模塊和包的概念 等同于java中的Package 模塊名文件名(無后綴) 在文件系統中,包就是文件夾,模塊就是xxx.py文件 每層包下面都有__init__.py文件 導入模塊 >>> import math >>> math.pow(2, 0.5) >>…

1.rabbitmq 集群版安裝及使用nginx進行四層負載均衡設置

1.安裝erlang 需要注意erlang的版本是否滿足rabbitmq的需求 這里用到的版本是:Erlang 19.0.4 RabbitMQ 3.6.15 wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpmrpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm yum -y inst…

使用WEUI uploader上傳圖片

使用WEUI uploader上傳圖片&#xff0c;博主費了很大的勁總算找到完整的了&#xff0c;并且帶后臺接收代碼&#xff0c;有需要的朋友拿去吧&#xff0c;親測可用&#xff01; 一、html代碼<link rel"stylesheet" href"https://res.wx.qq.com/open/libs/weui/…

08 面向對象編程

1 介紹 面向對象編程是一種程序設計范式 把程序看做不同對象的相互調用&#xff0c;對現實世界建立對象模型。 面向對象編程的基本思想&#xff1a; 類和實例&#xff1a; 類用于定義抽象類型 實例根據類的定義被創建出來 2 定義類并創建實例 類通過class關鍵字定義&…

H5+jqweui實現手機端圖片壓縮上傳 Base64

H5jqweui實現手機端圖片壓縮上傳主要功能&#xff0c;使用H5的formData上傳base64格式的圖片&#xff0c;canvas壓縮圖片&#xff0c;前端樣式使用weui&#xff0c;為方便起見&#xff0c;使用了jquery封裝過的weui&#xff0c;jqweui。話不多少&#xff0c;開始上代碼。前端代…

09 類的繼承

繼承一個類 class Person(object): def __init__(self, name, gender): self.name name self.gender gender class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score score 判斷類型 isinstance()可以…

vue 中v-if 與v-show 的區別

相同點或者說功能&#xff0c;都可以動態操作dom元素的顯示隱藏 不同點&#xff1a; 1.手段&#xff1a;v-if是動態的向DOM樹內添加或者刪除DOM元素&#xff1b;v-show是通過設置DOM元素的display樣式屬性控制顯隱&#xff1b;2.編譯過程&#xff1a;v-if切換有一個局部編譯/卸…

vue打包后放在 nginx部署時候的配置文件

部署了三套程序,默認的&#xff0c;admin和design#user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include …

淘淘商城之技術選型、開發工具和環境、人員配置

一、技術選型 1&#xff09;Spring、SpringMVC、Mybatis 2&#xff09;JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor&#xff08;富文本編輯器&#xff09;、CSSDIV 3&#xff09;Redis&#xff08;緩存服務器&#xff09; 4&#xff09;Solr&#xff08;搜索&#x…

啟動代碼格式:nginx安裝目錄地址 -c nginx配置文件地址

啟動啟動代碼格式&#xff1a;nginx安裝目錄地址 -c nginx配置文件地址 例如&#xff1a;[rootLinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf停止nginx的停止有三種方式&#xff1a; 從容停止1、查看進程號[rootLinuxServer ~]# ps -ef…

Lecture 3 Divide and Conquer

1.Divide the problem(instance) into one or more sub-problem; 2.Conquer each sub-problem recursively; 3.Combine solutions.

Maven報錯找不到jre

富人之所以越來越富&#xff0c;窮人之所以越來越窮&#xff0c;中產階級之所以總是在債務泥潭中掙扎&#xff0c;其主要原因之一在于他們對金錢的觀念不是來自學校&#xff0c;而是來自家庭。 ---《窮爸爸富爸爸》 一、報錯提示 常規配置maven環境變量&#xff0c;報錯&#x…

vue按照url地址訪問出錯404

問題描述&#xff1a; 最近在開發cms的時候使用Vue.js框架&#xff0c;利用vue-route結合webpack編寫了一個單頁路由項目&#xff0c;自己在服務器端配置nginx。部署完成后&#xff0c;訪問沒問題&#xff0c;從頁面中點擊跳轉也沒問題&#xff0c;但是只要點擊刷新或通過瀏覽器…

Lecture 4 Quick Sort and Randomized Quick Sort

Quick Sort --Divide and Conquer --Sorts “in place” --Very practical with tuning Divide and Conquer: 1.Divide: Partition array into 2 sub-arrays around pivot x such that elements in lower sub-array < x < elements in upper sub-array; 2.Conquer: …

HDU 3966 樹鏈剖分后線段樹維護

題意: 一棵樹, 操作1.$path(a,b)$之間的點權$k$ 操作2.單點查詢 題解: 樹鏈剖分即可,注意代碼細節,雙向映射 主要是記錄一下板子 #include <string.h> #include <stdio.h> #include <algorithm> #define endl \n #define ll long long #define ull unsigned …

VUE config/index.js文件配置

&#xfeff;&#xfeff; 當我們需要和后臺分離部署的時候&#xff0c;必須配置config/index.js: 用vue-cli 自動構建的目錄里面 &#xff08;環境變量及其基本變量的配置&#xff09;123456789101112131415var path require(path)module.exports {build: {index: path.res…

數據規則列表加導入導出

1.進入bos&#xff0c;打開數據規則&#xff0c;進入列表菜單 2.點擊事件-新增操作 3.點擊新增 4.點擊操作類型&#xff0c;輸入%引入 5.點擊確定&#xff0c;保存后生效&#xff0c;導出 、引入模板設置同理轉載于:https://www.cnblogs.com/RogerLu/p/10643521.html

Lecture 6 Order Statistics

Given n elements in array, find kth smallest element (element of rank k) Worst-case linear time order statistics --by Blum, Floyd, Pratt, Rivest, Tarjan --idea: generate good pivot recursively. Not so hot, because the constant is pretty big.