日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

百度人脸识别sdk-转

發布時間:2024/3/26 pytorch 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度人脸识别sdk-转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://ai.baidu.com/ai-doc/FACE/Qk37c1mzc

目錄

1、簡介1.1 產品概述1.2 規格信息1.3 兼容性1.4 授權方式1.5 產品定價 2、SDK詳細介紹2.1 名詞解釋2.2 SDK簡介2.3 SDK文件結構2.4 激活工具2.5 Demo示例工程2.6 特征抽取模型選擇 3、功能接口3.1 人臉檢測及設置3.1.1 人臉檢測track接口(傳入圖片)3.1.2 人臉檢測track接口(傳入二進制圖片buffer)3.1.3 人臉檢測track_max_face接口3.1.4 人臉檢測track_max_face接口(傳入二進制圖片buffer)3.1.5 人臉檢測設置接口3.1.6 USB攝像頭檢測3.1.7 人臉檢測track接口(傳入opencv的mat)3.2 人臉對比及識別接口3.2.1 人臉對比接口3.2.2 人臉對比接口(傳入二進制圖片buffer)3.3 特征值提取接口3.3.1 特征值提取接口(通過傳入圖片)3.3.2 特征值提取接口(通過傳入二進制圖片buffer)3.3.3 特征值提取接口(通過傳入opencv的視頻幀)3.3.4 特征值比對接口3.4 屬性及質量接口3.4.1 人臉屬性(通過傳入圖片)3.4.2 人臉屬性(通過傳入二進制圖片buffer)3.4.3 人臉質量接口(通過傳入圖片)3.4.4 人臉質量接口(通過傳入二進制圖片buffer) 4、錯誤碼及錯誤信息 5、常見問題

?

1、簡介

?

1.1 產品概述

人臉離線識別SDK,包含人臉采集、活體檢測、人臉對比/識別、人臉庫管理等能力,并全部離線化、本地化。此SDK一經授權激活,可完全在無網環境下工作,所有數據皆在設備本地運行處理,可根據業務需要進行靈活的上層業務開發。核心能力分布如下圖所示,后文會詳細介紹。

適用場景特點

  • 網絡:無網、局域網等情況,無法連接公網。如政府單位、金融保險、教育機構等。
  • 安全:行業特點所帶來的人臉數據敏感性,即使可以連接公網也不可請求。
  • 速度:由于各地網絡線路、機房部署等諸多原因,網絡請求速度存在不可控因素。
  • 穩定:需要盡可能避免網絡抖動、機房故障等影響,進一步控制可用性影響因素。

?

1.2 規格信息

  • 包大小:~500M
  • 最小人臉檢測大小:50px * 50px
  • 可識別人臉角度:yaw ≤ ±30°, pitch ≤ ±30°
  • 檢測速度:100ms 720p*
  • 追蹤速度:30ms 720p*
  • 人臉檢測耗時:~= 100ms

備注:以上指標,由最新版SDK運行在真實設備上,采用真實數據集所得,但算法性能受實際運行設備、實際數據集等情況影響,以上數字僅供參考。

  • 提供一個鑒權激活工具:tool_ubuntu.sh、tool_centos.sh,可根據平臺選擇對應的sh文件運行

?

1.3 兼容性

  • Centos6.3 gcc4.8.2 以及 Ubuntu16.04 gcc5.4.0上編譯
  • 推薦基于vs2015進行開發

?

1.4 授權方式

按設備授權

離線識別SDK授權方式為以設備維度為主,每臺硬件設備需要一個獨立的授權,此授權的校驗是基于設備的硬件指紋(指紋的獲取SDK初始化時會自動讀取并展示),被授權的設備,將在有效期內可以運行SDK。

重新拉取授權的情況:設備授權不變,僅需要重新激活而已。

  • 刪除SDK或基于SDK開發的應用
  • 重新安裝Windows系統

授權失效的情況:需要重新購買序列號,之前的序列號失效。

  • 激活一臺設備后,此設備硬件變更
  • 硬件損壞

序列號

序列號為管理授權的依據。每臺被授權的設備,都將對應一個序列號,用于標識對應的設備信息及授權記錄。序列號的形式為16位隨機英文數字組合,如:3G59-M5JK-889A-7LQA。您在管理后臺購買SDK授權時,購買成功后系統將會發放對應數量的序列號。序列號不限制平臺版本,任何開發平臺的離線SDK,都可以使用此序列號激活。序列號不限制賬號,可供任何設備激活使用。

激活

已購買的序列號,是用于激活的唯一憑證,激活流程主要是將序列號與具體的硬件進行綁定(硬件指紋),從而生成對應硬件設備的授權文件(License),SDK運行前,將會校驗授權文件是否和實際硬件信息相匹配。

注意:激活時,設備系統時間需要和當前時間一致,如果差距太大(例如偏差5min以上),激活則無法完成。

聯網激活

此種激活方式,適用于設備可首次聯網的情況,優勢在于激活過程極為簡單。您只需將SDK安裝到需要激活的設備上,然后填寫已經購買的序列號,在界面上點擊激活即可(為使用方便,我們為您設計了一個簡單的激活用戶界面)

  • 獲取序列號:從管理后臺購買獲取序列號。
  • SDK中填寫序列號:將序列號填寫到SDK的可視化界面中。
  • 啟動激活:點擊「激活」按鈕。
  • SDK自動激活:SDK自動拉取授權文件并完成授權,激活完畢。
  • 如激活成功,將會立即在界面上有明確的彈窗提示,請留意查看;如激活失敗,也會反饋具體的錯誤信息。

    離線激活

    此種激活方式,適用于設備完全不可聯網的情況,優勢在于可避免聯網激活,滿足業務對網絡的嚴格要求,以及設備批量注冊需求。您需要在后臺配置好硬件指紋并完成和序列號的綁定,然后將授權文件放到SDK的指定位置。

  • 獲取序列號:從管理后臺購買獲取序列號。
  • 采集硬件指紋:將SDK置于設備上,運行激活程序,獲取硬件指紋。
  • 配置授權:在后臺將硬件指紋綁定到具體序列號上。
  • 下載授權文件:綁定成功后下載授權文件。
  • 設備激活:將授權文件放到SDK中,并初始化SDK完成授權。
  • 授權有效期

    申請通過后,每個賬戶給2個測試序列號,用于激活及SDK試用,有效期為自激活日期后的3個月。這兩個序列號在有效期內完全免費,您可以用于進行產品試用。試用期到期后也可以在后臺申請延期,填寫具體延期理由即可。

    正式購買

    正式購買的序列號,試用期限為永久有效。此「永久」是指綁定到具體設備維度,但如已綁定的硬件設備變更后,授權則可能會失效。

    ?

    1.5 定價方式

    離線SDK的授權基于設備維度,每個序列號僅可以授權一臺設備。每個賬號購買的序列號會累計計算,累計購買量越多,單價越便宜。具體如下所示:

    累計購買授權數量每個授權單價
    0~1000299元/個
    1001~5000249元/個
    >5000199元/個

    立即去購買

    ?

    2、SDK詳細介紹

    ?

    2.1 名詞解釋

    名詞定義
    SDKLinux離線人臉識別sdk
    gccLinux平臺下c++代碼編譯器
    License人臉識別激活所需要的激活文件,可利用激活工具生成
    key人臉激活所需的序列號,可從百度官網申請及購買(ai.baidu.com)
    feature人臉特征值,用來表示人臉特征的512個浮點值
    face_token對應人臉圖片的唯一編碼,若一個人上傳了2張不同圖片,則可能有2個不同的face_token,它和圖片一一對應

    ?

    2.2 SDK簡介

    本SDK適應于Linux(Centos、Ubuntu)平臺下的人臉識別系統,分別在Centos6.3 gcc4.8.2 以及Ubuntu16.04 gcc5.4.0上編譯(其他版本或平臺的linux不保證兼容)。SDK采用動態庫so方式提供給開發者,另外隨sdk附帶一個鑒權激活工具(可運行腳本 tool-ubuntu.sh或tool-centos運行,這2文件分別對應不同的OS),通過該激活工具可生成正常接入SDK的激活license文件(生成兩個文件license.ini和license.key)達到通過鑒權,正常使用SDK的目的。

    ?

    2.3 SDK文件結構

    Sdk提供動態庫BaiduFaceApi.so及頭文件baidu_face_api.h。另外有附帶的demo例子代碼test-face-api以及鑒權激活工具tool。在此之外,還附帶支撐sdk使用的人臉識別模型文件等在文件夾face-resource中,該文件夾在test-face-api例子工程里面(該文件夾存放路徑請參考test-face-api,默認存放路徑為您要開發的可執行文件路徑同一目錄下。若存放不對,可能會影響sdk正常使用,另外請勿刪除該文件夾)。

    為運行您開發的可執行文件,需要用到一些底層的庫文件支持,相關庫文件在test-face-api的lib3目錄中(主要有opencv庫,ffmpeg庫,json,curl庫等)。此外,隨工程還有一些編譯用的Makefile文件及sh腳本文件等,可通過Makefile編譯工程,sh腳本文件運行編譯的可執行文件。Makefile文件分別命名為Makefile_centos6.3及Makefile_ubuntu,若要編譯相應平臺版本,請把他重命名為Makefile。

    ?

    2.4 激活工具(tool)

    在百度官網申請系列號Key后,在test-face-api工程下有個tool_ubuntu.sh和tool_centos.sh。可根據您的OS平臺選擇對應sh文件運行,在運行之前,先修改腳本文件的最后一行,把如05QU-ATMA-SCWY-CAUB字樣的key修改為您在百度官網申請到的key,然后再運行sh腳本文件(若是centos平臺,輸入sh tool_centos.sh即可)。激活成功后會在激活目錄生成license.ini以及license.key文件,這2個文件是作為sdk通過鑒權使用的配置文件,請勿刪除。

    如果你不方便使用網絡,可以通過離線激活進行操作:

    通過如上的激活工具,獲取到設備指紋信息,通過序列號管理后臺找到需要綁定的序列號,選擇「離線激活」,填入指紋設備信息,即可下載獲取到license.ini文件和license.key文件,把這2個文件拷貝到test-face-api目錄下,運行可執行文件亦可通過鑒權。

    ?

    2.5 Demo示例工程

    Demo示例工程代碼在test-face-api中的cpp目錄里面,其中的test_face.cpp里面有入口方法main(),展示了如何集成百度人臉識別離線SDK。即正確編寫Makefile文件及引入頭文件include以及對應的一些庫文件。另外為了示例視頻人臉跟蹤等,用到了一些opencv的庫文件以及一些實現demo的支持文件,如json等。(這些支持文件均為代碼開源或是開源庫)

    在test-face-api中的test_face.cpp的main()方法中,有使用sdk的各個接口方法示例。接入sdk及其簡單,分3步3行代碼。如下:

    BaiduFace *api = new BaiduFaceApi(); // 第一步:實例化人臉SDKapi->sdk_init(); // 第二步:初始化人臉SDKstd::string res = api->face_attr(“方法的傳入參數,此處省略”); // 第三步,調用功能接口,user_add為人臉注冊接口,res為調用功能接口后的返回。

    如上,即為調用sdk功能的最簡單3步3行代碼,當然調用SDK后,在程序退出后,需要釋放sdk防止內存泄漏,需要刪除SDK實例化的指針delete api;

    示例工程中:分別有以下幾個示例cpp文件對應幾個常用sdk的調用demo。

    文件名功能
    setting.cpp人臉檢測、識別等參數設置
    compare.cpp人臉1:1比對、1:N 搜索,人臉特征值提取,特征值對比等
    liveness.cppUSB攝像頭視頻信息人臉實時檢測,圖片檢測人臉信息等
    cv_help.cpp繪制人臉跟蹤框、人臉關鍵點位等的工具類

    ?

    2.6 特征抽取模型選擇

    模型介紹

    v1.1版本起,SDK提供生活照和證件照兩種特征抽取模型,主要適用場景如下:

    • 生活照模型:如手機拍攝的圖片、較為清晰的證件照片、USB鏡頭實時采集的圖片、網絡攝像頭實時采集的圖片等。
    • 證件照模型:如身份證芯片照、各類證件照(工卡、學生卡、會員卡照片等)、人臉的像素普遍小于80px的圖片等。

    使用方法

    在SDK初始化方法中控制:sdk_init(true); //傳入true為使用證件照模型,傳入fasle為普通生活照模型

    注意事項

    溫馨提示:一經選擇一個模型,則所有業務流程的特征抽取處理,都會使用此模型,兩個模型不可同時作用。如業務中設計證件照的特征抽取,請務必選擇使用證件照模型

    ?

    3、功能接口

    SDK實現的主要功能有人臉實時跟蹤檢測、人臉特征值提取、1:1人臉對比、特征值的比對和通過USB或筆記本自帶攝像頭檢測視頻幀,返回識別出的人臉信息等,另外支持對人臉檢測進行設置,達到根據設置進行識別的目的。各接口功能及傳入參數和返回結果(返回結果一般為json格式的字符串)描述如下:

    ?

    3.1 人臉檢測及設置

    3.1.1 人臉檢測track接口(傳入圖片)

    方法名

    track

    方法說明

    人臉檢測,返回人臉信息

    請求信息

    參數必須類型描述
    outstd::vector返回的檢測到的人臉圖片信息結構體
    std::vector *& out 通過傳入TrackFaceInfo的結構體指針引用,在檢測到人臉信息后,用該引用返回人臉信息。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息)landmarks為檢測到的人臉關鍵點,一般為144個。score為人臉打分headPose的向量組為人臉x,y,z的三個角度
    imagestring人臉圖片信息,根據image_type,傳入圖片內容
    img_typeint傳入的圖片類型。為1時候表示base64編碼的圖片,為2時候表示傳入圖片的本地路徑。BASE64:圖片的base64值;FACE_FILE:圖片的本地文件路徑地址;
    maxTrackObjNumint最多檢測人臉數量,默認為1,最大不超過5

    返回信息

    返回結果為int,表示檢測到幾個人臉信息,1為1個人,0為沒檢測到人臉。

    3.1.2 人臉檢測track接口(傳入二進制圖片buffer)

    方法名

    track_by_buf

    方法說明

    人臉檢測,返回人臉信息

    請求信息

    參數必須類型描述
    outstd::vector返回的檢測到的人臉圖片信息結構體
    std::vector *& out 通過傳入TrackFaceInfo的結構體指針引用,在檢測到人臉信息后,用該引用返回人臉信息。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息)landmarks為檢測到的人臉關鍵點,一般為144個。score為人臉打分headPose的向量組為人臉x,y,z的三個角度
    imageUnsigned char *人臉圖片信息,二進制圖片buffer內容
    sizeint二進制圖片的大小
    maxTrackObjNumint最多檢測人臉數量,默認為1,最大不超過5

    返回信息

    返回結果為int,表示檢測到幾個人臉信息,1為1個人,0為沒檢測到人臉。

    3.1.3 人臉檢測track_max_face接口

    方法名

    track_max_face

    方法說明

    檢測最大人臉。

    請求信息

    參數必須類型描述
    outstd::vector<TrackFaceInfo>返回的檢測到的人臉圖片信息結構體
    std::vector *& out 通過傳入TrackFaceInfo的結構體指針引用,在檢測到人臉信息后,用該引用返回人臉信息。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息);landmarks為檢測到的人臉關鍵點,一般為144個;score為人臉打分;headPose的向量組為人臉x,y,z的三個角度
    imagestring圖片信息(數據大小應小于10M)
    image_typeint為1時候表示base64編碼的圖片;為2時候表示傳入圖片的本地路徑。BASE64:圖片的base64值;FACE_FILE:圖片的本地文件路徑地址;

    返回信息

    返回結果為int,表示檢測到幾個人臉信息,1為1個人,0為沒檢測到人臉。

    3.1.4 人臉檢測track_max_face接口(傳入二進制圖片buffer)

    方法名

    track_max_face_by_buf

    方法說明

    檢測最大人臉。

    請求信息

    參數必須類型描述
    outstd::vector<TrackFaceInfo>返回的檢測到的人臉圖片信息結構體
    std::vector *& out 通過傳入TrackFaceInfo的結構體指針引用,在檢測到人臉信息后,用該引用返回人臉信息。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息);landmarks為檢測到的人臉關鍵點,一般為144個;score為人臉打分;headPose的向量組為人臉x,y,z的三個角度
    imageUnsigned char *人臉圖片信息,二進制圖片buffer內容
    sizeint二進制圖片的大小

    返回信息

    返回結果為int,表示檢測到幾個人臉信息,1為1個人,0為沒檢測到人臉。

    3.1.5 人臉檢測設置接口

    請參考SDK工程中的代碼示例及頭文件baidu_face_api.h中的定義及setting.cpp里的代碼注釋。

    3.1.6 USB攝像頭檢測

    請參考TestFaceApi中的示例liveness.cpp中的usb_track_face_info,該方法中用到了人臉檢測track視頻幀,接口如下3.1.7:

    3.1.7 人臉檢測track接口(傳入opencv的mat)

    方法名

    Track

    方法說明

    人臉檢測,返回人臉信息。

    請求信息

    參數必須類型描述
    outstd::vector<TrackFaceInfo>返回的檢測到的人臉圖片信息結構體
    std::vector *& out 通過傳入TrackFaceInfo的結構體指針引用,在檢測到人臉信息后,用該引用返回人臉信息。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息);landmarks為檢測到的人臉關鍵點,一般為144個;score為人臉打分;headPose的向量組為人臉x,y,z的三個角度
    MatOpencv格式的單幀圖片mat人臉圖片信息
    maxTrackObjNumint最多檢測人臉數量。默認為1,最大不超過5

    返回信息

    返回結果為TrackedFaceInfo的向量指針,向量組為0時候表示沒檢測到人臉。TrackedFaceInfo結構體為檢測到的人臉信息,其中:box為檢測到的人臉框(為FaceInfo結構體,包含人臉框大小,中心點坐標,人臉寬度等信息);landmarks為檢測到的人臉關鍵點,一般為144個;score為人臉打分;headPose的向量組為人臉x,y,z的三個角度。

    ?

    3.2 人臉對比及識別接口

    3.2.1 人臉對比接口

    方法名

    match

    方法說明

    人臉對比接口(本接口中的image_type為1表示base64圖片編碼,為2表示文件路徑,為3表示face_token)

    請求信息

    參數必須類型示例描述
    image1string需要對比的第一張圖片,小于10M
    imgae1_typeint圖片1類型,必選擇以下三種形式之一
    BASE64:圖片的base64值;
    FACE_FILE:圖片的本地文件路徑地址;
    FACE_TOKEN:face_token 人臉標識;
    image2string需要對比的第二張圖片,小于10M
    image2_typeint圖片2類型,必選擇以下三種形式之一
    BASE64:圖片的base64值;
    FACE_FILE:圖片的本地文件路徑地址;
    FACE_TOKEN:face_token 人臉標識;

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    log_idstring請求日志標識
    resultarray識別結果列表
    scorestring相似度分值,0-100,百分制,保留后2位小數點

    3.2.2 人臉對比接口(傳入二進制圖片buffer)

    方法名

    match_by_buf

    方法說明

    人臉對比接口(傳入二進制圖片buffer)

    請求信息

    參數必須類型示例描述
    image1Unsigned char *需要對比的第一張圖片,小于10M
    sizeint圖片1的大小
    image2Unsigned char *需要對比的第二張圖片,小于10M
    sizeint圖片2的大小

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    log_idstring請求日志標識
    resultarray識別結果列表
    scorestring相似度分值,0-100,百分制,保留后2位小數點

    ?

    3.3 特征值提取接口

    3.3.1 特征值提取接口(通過傳入圖片)

    方法名

    get_face_feature

    方法說明

    提取人臉特征值,為512個浮點值,已加密 (本接口image_type 為1表示base64圖片編碼 為2表示文件路徑)

    請求信息

    參數必須類型示例描述
    imagestring需要檢測的人臉圖片,小于10M, 圖片類型根據image_type參數定
    imgae_typeint圖片類型,必選擇以下2種形式之一。
    image_type為1代表BASE64,為2代表FACE_FILE。
    BASE64:圖片的base64值;
    FACE_FILE:圖片的本地文件路徑地址;
    featureconst float*通過傳入const float*指針的引用,來返回提取的人臉特征值

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    int類型的特征抽取向量數。正常提取成功則返回特征值向量個數(512),若不為512則為返回的錯誤碼.

    3.3.2 特征值提取接口(通過傳入二進制圖片buffer)

    方法名

    get_face_feature_by_buf

    方法說明

    提取人臉特征值,為512個浮點值,已加密 (傳入二進制圖片buffer)

    請求信息

    參數必須類型示例描述
    imageUnsigned char*需要檢測的人臉圖片,小于10M
    sizeint二進制圖片大小
    featureconst float*通過傳入const float*指針的引用,來返回提取的人臉特征值

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    int類型的特征抽取向量數。正常提取成功則返回特征值向量個數(512),若不為512則為返回的錯誤碼.

    3.3.3 特征值提取接口(通過傳入opencv的視頻幀)

    方法名

    get_face_feature

    方法說明

    提取人臉特征值,為512個浮點值,已加密 (本接口image_type 為1表示base64圖片編碼 為2表示文件路徑)

    請求信息

    參數必須類型示例描述
    Matstring需要提取特征值的OpenCV視頻幀(單幀)
    featureconst float*通過傳入const float*指針的引用,來返回提取的人臉特征值

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    int類型的特征抽取向量數。正常提取成功則返回特征值向量個數(512),若不為512則為返回的錯誤碼.

    3.3.4 特征值比對接口

    方法名

    compare_feature

    方法說明

    對人臉特征值進行比較,可返回人臉特征相似分值(百分制)

    請求信息

    參數必須類型示例描述
    feature1std::vector512個浮點型的特征值,傳入const的特征值引用
    feature2std::vector512個浮點型的特征值,傳入const的特征值引用

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    相似度結果:float類型,百分制的分值

    ?

    3.4 屬性及質量檢測接口

    3.4.1 人臉屬性(通過傳入圖片)

    方法名

    face_attr

    方法說明

    人臉屬性檢測接口(本接口 image_type 為1表示base64圖片編碼 為2表示文件路徑)

    請求信息

    參數必須類型示例描述
    imagestring需要檢測的人臉圖片,小于10M, 圖片類型根據image_type參數定
    imgae_typeint圖片類型,必選擇以下2種形式之一。
    Image_type為1代表BASE64為2代表FACE_FILE。
    BASE64:圖片的base64值;
    FACE_FILE:圖片的本地文件路徑地址;

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    age(年齡)int人臉年齡范圍0-100,若為-1表示不完整的人臉。
    race(種族)int正常人臉標注 0:黃種人 1:白種人 2:黑人 3:阿拉伯人,不完整的人臉標注-1
    expression(表情)int0:中性表情,1:微笑,2:大笑
    gender(性別)int0: 女 female,1: 男 male,-1: 嬰兒或不好辨別性別
    glasses(是否戴眼鏡)int0:不帶眼鏡 no glasses,1:普通透明眼鏡 glasses,2:太陽鏡 sunGlasses

    3.4.2 人臉屬性(通過傳入二進制圖片buffer)

    方法名

    face_attr_by_buf

    方法說明

    人臉屬性檢測接口

    請求信息

    參數必須類型示例描述
    imageunsigned char *需要檢測的圖片,小于10M,二進制圖片buffer
    sizeint二進制圖片大小

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    age(年齡)int人臉年齡范圍0-100,若為-1表示不完整的人臉。
    race(種族)int正常人臉標注 0:黃種人 1:白種人 2:黑人 3:阿拉伯人,不完整的人臉標注-1
    expression(表情)int0:中性表情,1:微笑,2:大笑
    gender(性別)int0: 女 female,1: 男 male,-1: 嬰兒或不好辨別性別
    glasses(是否戴眼鏡)int0:不帶眼鏡 no glasses,1:普通透明眼鏡 glasses,2:太陽鏡 sunGlasses

    3.4.3 人臉質量接口(通過傳入圖片)

    方法名

    face_quality

    方法說明

    人臉質量檢測接口

    請求信息

    參數必須類型示例描述
    imagestring需要檢測的人臉圖片,小于10M, 圖片類型根據image_type參數定
    imgae_typeint圖片類型,必選擇以下2種形式之一。
    Image_type為1代表BASE64為2代表FACE_FILE。
    BASE64:圖片的base64值;
    FACE_FILE:圖片的本地文件路徑地址;

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    blurinessfloat光照
    illumfloat模糊度
    occl_l_eyefloat左眼遮擋度
    occl_r_eyefloat右眼遮擋度
    occl_nosefloat鼻子遮擋度
    occl_mouthfloat嘴巴遮擋度
    occl_l_contourfloat左臉遮擋度
    occl_r_contourfloat右臉遮擋度
    occl_chinfloat下巴遮擋度

    3.4.4 人臉質量接口(通過傳入二進制圖片buffer)

    方法名

    face_quality_by_buf

    方法說明

    人臉質量檢測接口

    請求信息

    參數必須類型示例描述
    imageunsigned char *需要檢測的圖片,小于10M,二進制圖片buffer
    sizeint二進制圖片大小

    返回信息

    errno信息:

    • errno=0 : Success
    • errno>0 : 錯誤碼對應的詳細msg

    data信息:

    字段類型說明
    blurinessfloat光照
    illumfloat模糊度
    occl_l_eyefloat左眼遮擋度
    occl_r_eyefloat右眼遮擋度
    occl_nosefloat鼻子遮擋度
    occl_mouthfloat嘴巴遮擋度
    occl_l_contourfloat左臉遮擋度
    occl_r_contourfloat右臉遮擋度
    occl_chinfloat下巴遮擋度

    ?

    4、錯誤碼及錯誤信息

    錯誤碼錯誤內容錯誤描述
    0SUCCESS成功
    1SYSTEM ERROR系統錯誤
    2UNKNOWN ERROR未知錯誤
    1001NOT_AUTH授權校驗失敗
    1002REQUEST PARAMS ERROR請求參數錯誤
    1003DB_OP_FAILED數據庫操作失敗
    1004NO_DATA沒有數據
    1005RECORD_UNEXIST記錄不存在
    1006RECORD_ALREADY_EXIST記錄已經存在
    1007FILE_NOT_EXIST文件不存在
    1008GET_FEATURE_FAIL提取特征值失敗
    1009FILE_TOO_BIG文件太大
    1010FACE_RESOURCE_NOT_EXIST人臉資源文件不存在
    1011FEATURE_LEN_ERROR特征值長度錯誤
    1012DETECT_NO_FACE未檢測到人臉

    ?

    5、常見問題

    Q:激活工具激活時候,提示timeout或者unsupport protocl
    A:若提示timeout,請確認設備是否能聯網;若提示unsupport protocl,請確認是否安裝了openssl。

    Q:工程運行過程中,提示face-resource不存在
    A:SDK需要一些模型文件,在demo工程的face-resource文件夾中,該文件夾需要放置在exe所在路徑的上級目錄下。若放置不正確,可能出現找不到模型文件,沒法進行人臉識別。

    Q:工程激活過程中,提示segment fault
    A:這是因為工程若沒有激活,便直接執行腳本文件運行可執行文件,請先完成激活操作。

    Q:激活后是否可以把激活文件license.ini和license.key拷貝到其他設備運行?
    A:不能,離線sdk和設備綁定,每個設備對應一個key和一個license文件,換設備無法運行。

    總結

    以上是生活随笔為你收集整理的百度人脸识别sdk-转的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。