《安防人臉識別應(yīng)用 視頻人臉圖像提取技術(shù)要求》(2015征求意見稿)_第1頁
《安防人臉識別應(yīng)用 視頻人臉圖像提取技術(shù)要求》(2015征求意見稿)_第2頁
《安防人臉識別應(yīng)用 視頻人臉圖像提取技術(shù)要求》(2015征求意見稿)_第3頁
《安防人臉識別應(yīng)用 視頻人臉圖像提取技術(shù)要求》(2015征求意見稿)_第4頁
《安防人臉識別應(yīng)用 視頻人臉圖像提取技術(shù)要求》(2015征求意見稿)_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、GA/T xxxxxxxx中華人民共和國公安部 發(fā)布××××-××-××實施××××-××-××發(fā)布安防人臉識別應(yīng)用程序接口規(guī)范Application programming interface of face recognition in security system(征求意見稿)(本稿完成日期:2015年11月30日)GA/T XXXX-XXXXGA中華人民共和國公共安全行業(yè)標準ICS備案號:73目次前言III1范圍12規(guī)范性引用

2、文件13術(shù)語和定義、縮略語14基本數(shù)據(jù)類型15應(yīng)用程序接口86函數(shù)返回值代碼31附錄A(資料性附錄)函數(shù)調(diào)用流程34附錄B(資料性附錄)動態(tài)鏈接庫文件名稱36附錄C(資料性附錄)主動上傳協(xié)議37附錄D(資料性附錄)人臉識別應(yīng)用服務(wù)wsdl文件39參考文獻73前言本標準按照GB/T 1.1-2009給出的規(guī)范起草。請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機構(gòu)不承擔識別這些專利的責任。本標準由全國安全防范報警系統(tǒng)標準化技術(shù)委員會人體生物特征識別應(yīng)用分技術(shù)委員會(SAC/TC 100/SC 2)提出并歸口。本標準的起草單位:清華大學(xué)、公安部第一研究所、杭州??低晹?shù)字技術(shù)股份有限公司、中科院

3、自動化所、國防科技大學(xué)、中科院計算所、北京海鑫科金高科技股份有限公司、廣州像素數(shù)據(jù)技術(shù)開發(fā)有限公司、上海銀晨智能識別科技有限公司、浙江大華技術(shù)股份有限公司、深圳中控生物識別有限公司、廣東博亞信息技術(shù)股份有限公司、四川川大智勝股份有限公司、山西省公安廳、江蘇省公安廳、武漢市公安局。本標準主要起草人: 人臉識別應(yīng)用程序接口規(guī)范1 范圍本標準規(guī)定了安全防范系統(tǒng)人臉識別人臉采集設(shè)備、算法模塊、應(yīng)用服務(wù)接口的文件格式與接口規(guī)范。本標準適用于安全防范系統(tǒng)人臉識別應(yīng)用中的圖像采集、數(shù)據(jù)處理與系統(tǒng)建設(shè)。2 規(guī)范性引用文件下列文件對于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。凡

4、是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GA/T893安防生物特征識別應(yīng)用術(shù)語GA/T 922.2-2011安防人臉識別應(yīng)用系統(tǒng)第2部分:人臉圖像數(shù)據(jù)3 術(shù)語和定義、縮略語1233.1 術(shù)語和定義GA/T893、GA/T 922.2-2011中界定的術(shù)語和定義適用于本文件。3.2 縮略語以下縮略語適用于本文件API: 應(yīng)用程序編程接口application programming interface。SDK: 軟件開發(fā)工具包software development kit。4 基本數(shù)據(jù)類型44.1 圖像數(shù)據(jù)類型用于存儲單張圖像相關(guān)信息,采用結(jié)構(gòu)體形式。c語言描述:ty

5、pedef struct tagONEIMAGEint id;int image_width;int image_height;int image_depth;unsigned char format20;unsigned char *data;int data_len;void *custom;int custom_len;ONEIMAGE;結(jié)構(gòu)成員說明見表1。表1 圖像數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id32位整型圖像編號,可無效(無效時賦值為-1,整型類、浮點數(shù)類下同)image_width32位整型圖像水平像素數(shù)image_height32位整型圖像垂直像素數(shù)image_depth32

6、位整型圖像深度format無符號字符型數(shù)組圖像格式data無符號字符型指針圖像數(shù)據(jù)段data_len32位整型圖像數(shù)據(jù)段長度custom無類型指針自定義數(shù)據(jù),可無效(無效時賦值為NULL,指針類下同)custom_len32位整型自定義數(shù)據(jù)長度,可無效4.2 多圖像數(shù)據(jù)類型用于儲存多個圖像數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagMULTIIMAGEint img_num; ONEIMAGE *img;MULTIIMAGE;結(jié)構(gòu)成員說明見表2。表2多圖像數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明img_num32位整型圖像數(shù)據(jù)數(shù)量img圖像數(shù)據(jù)類型指針多個圖像數(shù)據(jù)4.3 人臉

7、位置數(shù)據(jù)類型用于存儲一個人臉位置信息,采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagFACEROIint id; int xleft; int yleft; int xright; int yright; float quality;FACEROI;結(jié)構(gòu)成員說明見表3。表3人臉位置數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id32位整型人臉位置數(shù)據(jù)編號,可無效xleft32位整型人臉所在區(qū)域左上角橫坐標數(shù)值(以觀測者視角為標準,下同)yleft32位整型人臉所在區(qū)域左上角縱坐標數(shù)值xright32位整型人臉所在區(qū)域右下角橫坐標數(shù)值yright32位整型人臉所在區(qū)域右下角縱坐標數(shù)值qua

8、lity32位浮點數(shù)人臉質(zhì)量,分值越高人臉質(zhì)量越好0-1,可無效4.4 多人臉位置數(shù)據(jù)類型用于儲存多個人臉位置數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagMULTIROIint roi_num; FACEROI *roi;MULTIROI;結(jié)構(gòu)成員說明見表4。表4多人臉位置數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明roi_num32位整型人臉位置數(shù)據(jù)數(shù)量roi人臉位置數(shù)據(jù)類型指針多個人臉位置數(shù)據(jù)4.5 人臉關(guān)鍵點數(shù)據(jù)類型用于存儲一個人臉關(guān)鍵點位置信息,采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagORGANPOSint id; int xleft; int y

9、left; int xright; int yright; int xchin; int ychin; int *point;int point_lenvoid *custom; int custom_len;ORGANPOS;結(jié)構(gòu)成員說明見表5。表5 人臉關(guān)鍵點數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id32位整型人臉關(guān)鍵點編號,可無效xleft32位整型左眼橫坐標數(shù)值yleft32位整型左眼縱坐標數(shù)值xright32位整型右眼橫坐標數(shù)值yright32位整型右眼縱坐標數(shù)值xchin32位整型下頜橫坐標數(shù)值,可無效ychin32位整型下頜縱坐標數(shù)值,可無效point32位整型指針其他人臉關(guān)鍵點數(shù)據(jù),

10、按每個點先橫坐標后縱坐標形式順序排列point_len32位整型其他人臉關(guān)鍵點數(shù)據(jù)長度custom無類型指針自定義數(shù)據(jù),可無效custom_len32位整型自定義數(shù)據(jù)長度,可無效4.6 多人臉關(guān)鍵點數(shù)據(jù)類型用于儲存多個人臉關(guān)鍵點數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagMULTIPOSint pos_num; ORGANPOS *pos;ORGANPOS;結(jié)構(gòu)成員說明見表6。表6 多人臉關(guān)鍵點數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明pos_num32位整型人臉關(guān)鍵點數(shù)據(jù)數(shù)量pos人臉關(guān)鍵點數(shù)據(jù)指針多個人臉關(guān)鍵點數(shù)據(jù)4.7 人臉模板數(shù)據(jù)類型人臉模板數(shù)據(jù)類型用于存儲一個人臉模板

11、信息,采用結(jié)構(gòu)體形式。c語言描述:typedef struct tag FACETEMPLATElong id; int multi_img;void *feature;int feature_len;void *custom;int custom_len;FACETEMPLATE;結(jié)構(gòu)成員說明見表7。表7 人臉模板數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id64位整型人員編號,用于區(qū)分不同人,可無效multi_img32位整型模板編號,同一人對應(yīng)不同模板的編號,可無效feature無類型指針人臉特征數(shù)據(jù)feature_len32位整型人臉特征長度custom無類型指針自定義數(shù)據(jù),可無效custom_

12、len32位整型自定義數(shù)據(jù)長度,可無效4.8 人臉相似度數(shù)據(jù)類型用于存儲一個人臉相似度信息,采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagFACESIMlong id; int multi_img; long target_id; int target_multi_img;long rank; float result; float probability; void *custom; int custom_len;FACESIM;結(jié)構(gòu)成員說明見表8。表8 人臉相似度數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id64位整型探針模板編號,可無效multi_img32位整型模板編號,同一人

13、對應(yīng)不同模板的編號,可無效target_id64位整型已知人員編號,可無效target_multi_img32位整型模板編號,同一已知人對應(yīng)不同模板的編號,可無效rank64位整型相似度排名(在同一多人臉相似度數(shù)據(jù)中按相似度排序的位置,以降序排列),;可無效result32位浮點數(shù)人臉相似度,取值范圍:0-1probability32位浮點數(shù)同一人可能性,數(shù)值越高為同一人的可能性越大,取值范圍:0-1,可無效custom無類型指針自定義數(shù)據(jù),可無效custom_len32位整型自定義數(shù)據(jù)長度,可無效4.9 多人臉相似度數(shù)據(jù)類型用于存儲多個人臉相似度數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typede

14、f struct tagMULTISIMlong id; FACESIM *sim; long sim_num;MULTISIM;結(jié)構(gòu)成員說明見表9。表9 多人臉相似度數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明id64位整型多人臉相似度數(shù)據(jù)編號,可無效sim人臉相似度數(shù)據(jù)指針多個人臉相似度數(shù)據(jù)sim_num64位整型人臉相似度數(shù)據(jù)數(shù)量4.10 人臉識別算法模塊版本信息數(shù)據(jù)類型用于存儲人臉識別算法模塊版本信息數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagSDKINFOint module_type;int api_type;unsigned char developer_info2

15、55;unsigned char version_info255;SDKINFO;結(jié)構(gòu)成員說明見表10。表10 算法模塊版本信息數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明module_type32位整型接口功能類型,0:不分類;1:人臉檢測接口;2:獨立人臉關(guān)鍵點定位接口;3:集成人臉關(guān)鍵點定位接口4:獨立最佳人臉形成接口;5:集成最佳人臉形成接口;6:獨立人臉模板提取接口;7:集成人臉模板提取接口;8:獨立人臉相似度計算接口;9:集成人臉相似度計算接口(下同)api_type32位整型應(yīng)用類型,采用標志位形式,(1為有效,0為無效)從右向左依次為辨認型人臉識別標志位、確認型人臉識別標志位、監(jiān)視型人臉識

16、別標志位每種類型占用一位(下同)developer_info無符號字符型數(shù)組開發(fā)商信息(無則賦零)version_info無符號字符型數(shù)組版本信息(無則賦零)4.11 網(wǎng)絡(luò)地址信息數(shù)據(jù)類型用于存儲人臉識別算法模塊版本信息數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagADDRINFOint ip_type;char ip64;short port;ADDRINFO;結(jié)構(gòu)成員說明見表11。表11 網(wǎng)絡(luò)地址信息數(shù)據(jù)結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明ip_type32位整型IP協(xié)議類型,0:ipv4;1:ipv6 ip字符型數(shù)組IP地址(無則賦零)port16位整型端口號4.12 人

17、臉視頻采集設(shè)備信息數(shù)據(jù)類型 用于存儲人臉視頻采集設(shè)備的信息數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagDEVICEINFOchar device_name128; unsigned char serial_number48; ADDRINFO addr_info;short device_type;int work_mode;long chan_num;char description256;DEVICEINFO;結(jié)構(gòu)成員說明見表12。表12 人臉視頻采集設(shè)備信息數(shù)據(jù)類型結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明device_name字符型數(shù)組設(shè)備名稱(節(jié)點路徑,無則賦零)seri

18、al_number無符號字符型數(shù)組序列號(無則賦零)addr_info網(wǎng)絡(luò)地址信息數(shù)據(jù)類型接入設(shè)備網(wǎng)絡(luò)地址信息,可無效device_type 無符號字符型設(shè)備類型(0:usb攝像頭;1:網(wǎng)絡(luò)攝像頭;2:模擬攝像頭),可無效work_mode32位整型工作模式(0:普通模式;1:靜態(tài)采集模式;2:動態(tài)采集模式,下同)channel_num64位整型設(shè)備通道個數(shù),可無效description字符型數(shù)組設(shè)備描述(無則賦零)4.13 人臉視頻采集設(shè)備碼流參數(shù)數(shù)據(jù)類型用于存儲碼流參數(shù)的數(shù)據(jù),采用結(jié)構(gòu)體形式。c語言描述:typedef struct tagPREVIEWINFOlong channel;

19、int stream_type; int link_mode; void *play_wnd; short blocked; int preview_mode; int proto_type; void *custom; int custom_len;PREVIEWINFO;結(jié)構(gòu)成員說明見表13。表13 設(shè)備信息數(shù)據(jù)類型結(jié)構(gòu)體成員成員名數(shù)據(jù)類型說明channel64位整型通道號(起始編號為1),可無效stream_type32位整型碼流類型,0-主碼流 1-子碼流,可無效link_mode32位整型連接方式,0-tcp 1-udp 2-多播 3-rtp 4-rtp/rtsp 5-rtsp/ht

20、tp,可無效play_wnd 無類型指針播放窗口句柄,可無效blocked16位整型0-非阻塞取流 1-阻塞取流,可無效preview_mode32位整型預(yù)覽模式 0-正常預(yù)覽 1-延遲預(yù)覽,可無效proto_type32位整型應(yīng)用層取流協(xié)議 0-rtsp協(xié)議 1-sip協(xié)議,可無效custom無類型指針自定義數(shù)據(jù),可無效custom_len32位整型自定義數(shù)據(jù)長度,可無效5 應(yīng)用程序接口55.1 人臉識別人臉采集設(shè)備接口5.1.1 人臉識別人臉采集設(shè)備接口說明人臉采集設(shè)備接口函數(shù)用 C 語言進行描述,若采用其他語言,可以根據(jù)語義進行轉(zhuǎn)換。接口簡單流程見附錄圖A.1。人臉采集設(shè)備接口函數(shù)采用動

21、態(tài)鏈接庫形式發(fā)布,接口函數(shù)于動態(tài)鏈接庫中導(dǎo)出,支持多線程,如無特殊說明非自定義輸出內(nèi)容的內(nèi)存管理于函數(shù)外部進行、自定義輸出內(nèi)容的內(nèi)存由函數(shù)內(nèi)部分配,于函數(shù)外部使用“delete”釋放。對于不同的平臺,應(yīng)該分別編譯成不同的動態(tài)鏈接庫進行發(fā)布。動態(tài)鏈接庫文件名稱見附錄表B.1。5.1.2 設(shè)備初始化函數(shù)用于初始化人臉識別人臉采集設(shè)備的函數(shù),其應(yīng)被最先調(diào)用。函數(shù)原型:int FR_Device_Init(void *custom_input, int custom_input_len);參數(shù)如表14所示:表14FR_Device_Init調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明custom_inpu

22、t無類型指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度返回值:成功返回0,否則返回錯誤代碼。5.1.3 設(shè)備枚舉函數(shù)用于搜索當前可用的人臉識別人臉采集設(shè)備。int FR_Device_DeviceList(DEVICEINFO *device_info, int *device_num);參數(shù)如表15所示:表15FR_Device_Device_List調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明device_info人臉視頻采集設(shè)備信息數(shù)據(jù)類型指針輸出參數(shù)人臉采集設(shè)備信息device_num32位整型輸出參數(shù)DEVICEINFO數(shù)組長度返回值:成功

23、返回0,否則返回錯誤代碼。5.1.4 設(shè)備連接函數(shù)用于連接人臉識別人臉采集設(shè)備的函數(shù)。函數(shù)原型:long FR_Device_Login(int api_type,char *username, char *password, DEVICEINFO *device_info, void *custom_input, int custom_input_len, long *user_id);參數(shù)如表16所示:表16FR_Device_Login調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明username字符型指針輸入?yún)?shù)設(shè)備登錄用戶名password字符型指針輸入?yún)?shù)設(shè)備登錄密碼device_i

24、nfo人臉視頻采集設(shè)備信息數(shù)據(jù)類型指針輸入?yún)?shù)設(shè)備信息custom_input無類型指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度user_id64位整型指針輸出參數(shù)用戶id返回值:成功返回0,否則返回錯誤代碼。5.1.5 設(shè)置設(shè)備模式用于設(shè)置人臉采集設(shè)備工作模式的函數(shù)。函數(shù)原型:int FR_Device_SetMode(long user_id, int work_mode, void *custom_input, int custom_input_len);參數(shù)如表17所示表17 FR_Device_SetMode調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函

25、數(shù)調(diào)用類型參數(shù)說明user_id64位整型輸入?yún)?shù)用戶id,設(shè)備連接函數(shù)的返回值work_mode32位整型輸入?yún)?shù)工作模式custom_input無類型指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度返回值:成功返回0,否則返回錯誤代碼。5.1.6 碼流傳輸函數(shù)用于傳輸碼流的函數(shù)函數(shù)原型:long FR_Device_Preview(long user_id, PREVIEWINFO preview_info, REALDATACALLBACK cbfunc, void *user, long *preview_handle);參數(shù)如表18所示:

26、表18FR_Device_Preview調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明user_id64位整型輸入?yún)?shù)用戶id,設(shè)備連接函數(shù)調(diào)用的返回值preview_info人臉視頻采集設(shè)備碼流參數(shù)數(shù)據(jù)類型輸入?yún)?shù)預(yù)覽參數(shù)cbfunc碼流回調(diào)函數(shù)輸入?yún)?shù)碼流數(shù)據(jù)回調(diào)函數(shù)user無類型指針*輸入?yún)?shù)用戶數(shù)據(jù)preview_handle64位整型指針輸出參數(shù)句柄返回值:成功返回0,否則返回錯誤代碼。5.1.7 碼流回調(diào)函數(shù)用于獲取碼流數(shù)據(jù)的函數(shù)函數(shù)原型:typedef void(CALLBACK *REALDATACALLBACK)( long preview_handle, int data_t

27、ype, unsigned char *buffer, int buf_size, void *user);參數(shù)如表19所示:表19回調(diào)函數(shù)調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明preview_handle64位整型輸入?yún)?shù)句柄,碼流傳輸函數(shù)返回值data_type32位整型輸出參數(shù)數(shù)據(jù)類型,0-文件頭 1-數(shù)據(jù) buffer無符號字符型指針輸出參數(shù)存放數(shù)據(jù)緩沖區(qū)buf_size32位整型輸入?yún)?shù)數(shù)據(jù)長度user無類型指針輸入?yún)?shù)用戶數(shù)據(jù)返回值:成功返回0,否則返回錯誤代碼。5.1.8 停止傳輸函數(shù)用于停止碼流傳輸?shù)暮瘮?shù)函數(shù)原型:int FR_Device_StopPreview(lon

28、g preview_handle);參數(shù)如表20所示:表20FR_Device_StopRealPlay調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明preview_handle64位整型輸入?yún)?shù)句柄,碼流傳輸函數(shù)返回值返回值:成功返回0,否則返回錯誤代碼。5.1.9 設(shè)置主動上傳用于設(shè)置人臉采集設(shè)備人臉圖像主動上傳的函數(shù),上傳協(xié)議見附錄C函數(shù)原型:int FR_Device_SetFrameUpload(int type, int interval, ADDRINFO *addr_info, int addr_num);參數(shù)如表21所示:表21FR_Device_SetFrameUpload調(diào)

29、用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明type32位整型輸入?yún)?shù)上傳模式,0不啟用,1人臉圖像上傳,2抽幀上傳interval32位整型輸入?yún)?shù)人臉圖像上傳時,同一目標上傳幀數(shù);抽幀上傳時,均勻采樣數(shù)值addr_info網(wǎng)絡(luò)地址信息數(shù)據(jù)類型指針輸入?yún)?shù)上傳服務(wù)信息addr_num32位整型輸入?yún)?shù)上傳服務(wù)個數(shù)返回值:成功返回0,否則返回錯誤代碼。5.1.10 設(shè)備注銷函數(shù)用于斷開設(shè)備的函數(shù)函數(shù)原型:int FR_Device_Logout(int user_id);參數(shù)如表22所示:表22FR_Device_Logout調(diào)用參數(shù)參數(shù)名稱數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明user_id32位整型輸

30、入?yún)?shù)登錄用戶id返回值:成功返回0,否則返回錯誤代碼。5.1.11 采集設(shè)備釋放函數(shù)用于釋放人臉識別人臉采集設(shè)備接口的函數(shù)。函數(shù)原型:int FR_Device_Cleanup()返回值:成功返回0,否則返回錯誤代碼。5.2 人臉識別算法模塊接口5.2.1 人臉識別算法模塊接口描述人臉識別算法模塊接口函數(shù)用 C 語言進行描述,若采用其他語言,可以根據(jù)語義進行轉(zhuǎn)換。接口簡單流程見附錄圖A.2。人臉采集設(shè)備接口函數(shù)采用動態(tài)鏈接庫形式發(fā)布,接口函數(shù)于動態(tài)鏈接庫中導(dǎo)出,支持多線程。如無特殊說明非自定義輸出內(nèi)容的內(nèi)存管理于函數(shù)外部進行、自定義輸出內(nèi)容的內(nèi)存由函數(shù)內(nèi)部分配,于函數(shù)外部使用“delete”

31、釋放。對于不同的平臺,應(yīng)該分別編譯成不同的動態(tài)鏈接庫進行發(fā)布。動態(tài)鏈接庫文件名稱見附錄表B.1。5.2.2 人臉識別算法模塊版本信息獲取函數(shù)用于獲得開發(fā)商信息、算法模塊版本信息的函數(shù)。函數(shù)原型:int FR_Getinfo(int api_type, SDKINFO *sdk_info, int *info_num);參數(shù)如表23所示:表23FR_Getinfo調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)待獲取信息模塊的API類型sdk_info算法模塊版本信息數(shù)據(jù)指針輸出參數(shù)算法模塊版本信息數(shù)據(jù)數(shù)組,釋放問題info_num32位整型指針輸出參數(shù)算法模塊版本信息

32、數(shù)據(jù)數(shù)組長度返回值:成功返回0,否則返回錯誤代碼。5.2.3 人臉識別初始化函數(shù)用于初始化人臉識別功能所需函數(shù)的函數(shù),其應(yīng)被最先調(diào)用。函數(shù)原型:int FR_Initialize(SDKINFO sdk_info,unsigned char configuration_dir255, void *custom_input, int custom_input_len);參數(shù)如表24所示:表24FR_Initialize調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明sdk_info算法模塊版本信息數(shù)據(jù)指針輸入?yún)?shù)API類型configuration_dir無符號字符型數(shù)組輸入?yún)?shù)配置文件路徑custom

33、_input無符號指針輸入?yún)?shù)自定義輸入項custom_input_len32位整型輸入?yún)?shù)自定義輸入項長度返回值:成功返回0,否則返回錯誤代碼。5.2.4 人臉模板長度獲取函數(shù)用于獲得人臉模板長度的函數(shù)。函數(shù)原型:int FR_Getsize(int api_type, int *template_size);參數(shù)如表25所示:表25FR_Getsize調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型template_size32位整型輸出參數(shù)人臉識別單個人臉模板最大長度返回值:成功返回0,否則返回錯誤代碼。5.2.5 人臉檢測函數(shù)用于在給定的圖像中,判斷

34、其是否存在人臉。如果存在,確定人臉位置和大小,并輸出人臉圖像與位置坐標。函數(shù)原型:int FR_Facedetect(int api_type, MULTIIMAGE img_input, void *custom_input, int custom_input_len, MULTIIMAGE *face_output, MULTIROI *roi_output);參數(shù)如表26所示:表26FR_Facedetect調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲待定位的多人臉圖像數(shù)據(jù)集custom_i

35、nput無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度face_output多圖像數(shù)據(jù)類型指針輸出參數(shù)多圖像數(shù)據(jù)集,存儲切割出的人臉圖像roi_output多人臉位置數(shù)據(jù)類型指針輸出參數(shù)多人臉位置數(shù)據(jù)集,存儲輸入圖像中人臉位置坐標數(shù)據(jù)返回值:成功返回0,否則返回錯誤代碼。5.2.6 人臉關(guān)鍵點定位函數(shù)用于確定人臉關(guān)鍵點位置的函數(shù),包含兩種形式a) 獨立定位函數(shù),在人臉圖像中確定關(guān)鍵點位置。函數(shù)原型:int FR_location_A(int api_type, MULTIIMAGE face_input, void *custom_inpu

36、t, int custom_input_len, MULTIPOS *orgpos_output);參數(shù)如表27所示:表27FR_Location_A調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型face_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,儲存待定位的圖像數(shù)據(jù)custom_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度orgpos_output多人臉關(guān)鍵點數(shù)據(jù)類型指針輸出參數(shù)多人臉關(guān)鍵點數(shù)據(jù)集,存儲輸入圖像中人臉關(guān)鍵點位置信息返回值:成功返回0,否則返回錯誤代碼。b) 集成定位函數(shù)

37、,在圖像中確定人臉關(guān)鍵點的位置。函數(shù)原型:int FR_Location_C(int api_type, MULTIIMAGE face_input, void *custom_input, int custom_input_len, MULTIPOS *orgpos_output, void *custom_output, int *custom_output_len);參數(shù)如表28所示:表28FR_Location_C調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型face_input多圖像數(shù)據(jù)類型指針輸入?yún)?shù)多圖像數(shù)據(jù)集,儲存待定位的圖像數(shù)據(jù)custo

38、m_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度orgpos_output多人臉關(guān)鍵點數(shù)據(jù)類型指針輸出參數(shù)多人臉關(guān)鍵點數(shù)據(jù)集,存儲輸入圖像中人臉關(guān)鍵點位置信息custom_output無符號指針輸出參數(shù)自定義輸出項custom_output_len32位整型輸出參數(shù)自定義輸出內(nèi)容長度返回值:成功返回0,否則返回錯誤代碼。5.2.7 最佳人臉形成化函數(shù)進行最佳人臉形成的函數(shù)。包含兩種形式a) 獨立最佳人臉圖像形成函數(shù),用于對輸入人臉圖像進行處理,形成最適于進行人臉識別的人臉圖像。函數(shù)原型:int FR_Normalize_A(in

39、t api_type, MULTIIMAGE img_input, MULTIPOS orgpos_input, void *custom_input, int custom_input_len, MULTIIMAGE *normal_img_output, MULTIPOS *normal_pos_output);參數(shù)如表29所示:表29FR_Normalize_A調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲待歸一化的多人臉圖像數(shù)據(jù)集orgpos_input多人臉關(guān)鍵點數(shù)據(jù)類型 輸入?yún)?shù)多人臉關(guān)

40、鍵點數(shù)據(jù)集,存儲待歸一化圖像對應(yīng)的人臉關(guān)鍵點。custom_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度normal_img_output多圖像數(shù)據(jù)類型指針輸出參數(shù)多圖像數(shù)據(jù)集,存儲歸一化圖像normal_pos_output多人臉關(guān)鍵點數(shù)據(jù)類型指針輸出參數(shù)多人臉關(guān)鍵點數(shù)據(jù)集,存儲歸一化圖像對中人臉關(guān)鍵點位置信息返回值:成功返回0,否則返回錯誤代碼。b) 集成最佳人臉形成函數(shù),用于對輸入人臉圖像進行處理,形成最適于進行人臉識別的人臉圖像。函數(shù)原型:int FR_Normalize_C(int api_type, MULTIIMA

41、GE img_input, MULTIIMAGE img_input, void *custom_input, int custom_input_len, MULTIIMAGE *normal_img_output, MULTIPOS *normal_pos_output, void *custom_output, int *custom_output_len);參數(shù)如表30所示:表30FR_Normalize_C調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲待歸一化的圖像數(shù)據(jù)集custom_inp

42、ut無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度normal_img_output多圖像數(shù)據(jù)類型指針輸出參數(shù)多圖像數(shù)據(jù)集,存儲歸一化圖像normal_pos_output多人臉關(guān)鍵點數(shù)據(jù)類型指針輸出參數(shù)多人臉關(guān)鍵點數(shù)據(jù)集,存儲歸一化圖像中人臉關(guān)鍵點位置信息custom_output無符號指針輸出參數(shù)自定義輸出項custom_output_len32位整型輸出參數(shù)自定義輸出內(nèi)容長度返回值:成功返回0,否則返回錯誤代碼。5.2.8 人臉模板提取函數(shù)用于從圖像中提取人臉模板。包含兩種形式。a) 獨立人臉模板提取函數(shù),從人臉幾何尺寸歸一化圖像中提

43、取人臉模板。函數(shù)原型:int FR_Extract_A(int api_type, MULTIIMAGE normal_img_input, MULTIPOS normal_pos_input, void *custom_input, int custom_input_len, FACETEMPLATE *template_output);參數(shù)如表31所示:表31FR_Extract_A調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型normal_img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲歸一化的多人臉圖像數(shù)據(jù)集normal_pos_inpu

44、t多人臉關(guān)鍵點數(shù)據(jù)類型輸入?yún)?shù)多人臉關(guān)鍵點數(shù)據(jù)集,存儲歸一化圖像對應(yīng)的人臉關(guān)鍵點位置custom_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度template_output人臉模板數(shù)據(jù)類型指針輸出參數(shù)模板,存儲人臉模板返回值:成功返回0,否則返回錯誤代碼。b) 集成人臉模板提取函數(shù),從圖像中提取人臉模板。函數(shù)原型:int FR_Extract_C(int api_type, MULTIIMAGE Img_input, void *custom_input, int custom_input_len, FACETEMPLATE *

45、template, void *custom_output, int custom_output_len);參數(shù)如表32所示:表32FR_Extract_C調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲待提取人臉模板的多圖像數(shù)據(jù)集custom_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入項長度template人臉模板數(shù)據(jù)類型指針輸出參數(shù)人臉模板數(shù)據(jù),存儲人臉模板custom_output無符號指針輸出參數(shù)自定義輸出項custom_output

46、_len32位整型輸出參數(shù)自定義輸出內(nèi)容長度返回值:成功返回0,否則返回錯誤代碼。5.2.9 人臉相似度計算函數(shù)用于計算人臉相似度的函數(shù),支持一對一、一對多、多對多三種方式。包含兩種形式。a) 獨立人臉相似度計算函數(shù)。函數(shù)原型:int FR_Match_A(int api_type, FACETEMPLATE *face_template_input, long face_num, FACETEMPLATE *target_template_input, long target_num, void *custom_input, int custom_input_len, MULTISIM *s

47、im_output, long *sim_num);參數(shù)如表33所示:表33FR_Match_A調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型face_template_input人臉模板數(shù)據(jù)類型指針輸入?yún)?shù)人臉模板數(shù)據(jù),存儲待計算人臉模板face_num64位整型輸入?yún)?shù)待計算人臉模板數(shù)量target_template_input人臉模板數(shù)據(jù)類型指針輸入?yún)?shù)目標人臉模板數(shù)據(jù),存儲目標人臉模板target_num64位整型輸入?yún)?shù)目標人臉模板數(shù)量custom_input無符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義

48、輸入內(nèi)容長度sim_output多人臉相似度數(shù)據(jù)類型指針輸出參數(shù)多人臉相似度數(shù)據(jù),存儲計算結(jié)果,每個多人臉相似度數(shù)據(jù)內(nèi)以降序排列sim_num64位整型輸出參數(shù)多人臉相似度數(shù)據(jù)數(shù)量返回值:待計算人在人臉模板集合中返回0,否則返回錯誤代碼。b) 集成人臉相似度計算函數(shù)。函數(shù)原型:int FR_Match_C(int api_type, MULTIIMAGE *img_input, long img_num, FACETEMPLATE *target_template_input, long target_num, void *custom_input, int custom_input_len,

49、 MULTISIM * sim_output, long sim_num, void *custom_output, int *custom_output_len);參數(shù)如表34所示:表34FR_Match_C調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明api_type32位整型輸入?yún)?shù)API類型img_input多圖像數(shù)據(jù)類型輸入?yún)?shù)多圖像數(shù)據(jù)集,存儲待計算的圖像img_num64位整型輸入?yún)?shù)多圖像數(shù)據(jù)集數(shù)量target_template_input人臉模板數(shù)據(jù)類型指針輸入?yún)?shù)目標人臉模板數(shù)據(jù)集合,存儲目標人臉模板target_num64位整型輸入?yún)?shù)目標人臉模板數(shù)量custom_input無

50、符號指針輸入?yún)?shù)自定義輸入內(nèi)容custom_input_len32位整型輸入?yún)?shù)自定義輸入內(nèi)容長度sim_output多人臉相似度數(shù)據(jù)類型指針輸出參數(shù)多人臉相似度數(shù)據(jù),存儲計算結(jié)果,以降序排列sim_num64位整型輸入?yún)?shù)多人臉相似度數(shù)據(jù)數(shù)量custom_output無符號指針輸出參數(shù)自定義輸出項custom_output_len32位整型輸出參數(shù)自定義輸出內(nèi)容長度返回值:待計算人在人臉模板集合中返回0,否則返回錯誤代碼。5.2.10 人臉識別釋放函數(shù)用于釋放人臉識別模塊所占用資源的函數(shù)。函數(shù)原型:int FR_Release(SDKINFO sdk_info);參數(shù)如表35所示:表35FR

51、_Release調(diào)用參數(shù)參數(shù)數(shù)據(jù)類型函數(shù)調(diào)用類型參數(shù)說明sdk_info算法模塊版本信息數(shù)據(jù)指針輸入?yún)?shù)待釋放的算法模塊版本信息返回值:成功返回0,否則返回錯誤代碼。5.3 人臉識別應(yīng)用服務(wù)接口人臉識別應(yīng)用服務(wù)接口描述5.3.1 人臉識別應(yīng)用服務(wù)接口描述人臉識別應(yīng)用服務(wù)通過Web Service接口對外提供人臉識別相關(guān)功能。全局結(jié)構(gòu)及完整wsdl文件參見附錄D5.3.2 獲取版本信息用于獲取人臉識別應(yīng)用服務(wù)版本信息,形式如表36所示:表36 獲取版本信息功能說明用于獲取人臉識別應(yīng)用服務(wù)版本信息方法GetServiceVersion輸入說明<element name="GetSe

52、rviceVersionReq"><complexType> <sequence> <!- 無-> </sequence></complexType></element>返回說明<element name="GetServiceVersionRsp"><complexType> <sequence> <!- 錯誤信息-> <element name="responseStatus" type="Respo

53、nseStatus" minOccurs="1" maxOccurs="1" /> <!- 服務(wù)版本信息-> <element name="serviceVersion" type="ServiceInfo" minOccurs="1" maxOccurs="unbounded" /> </sequence></complexType></element>5.3.3 人臉檢測用于在給定的圖像中,判斷其

54、是否存在人臉。如果存在,確定人臉位置和大小,并輸出人臉圖像與位置坐標。形式如表37所示:表37 人臉檢測功能說明用于人臉檢測。輸入待檢測圖像,返回人臉圖像相關(guān)信息。方法FaceDetect輸入說明<element name="FaceDetectReq"><complexType> <sequence> <!- 待檢測圖片-> <element name="image" type="base64Binary" minOccurs="1" maxOccurs="1"/> <!- 是否返回圖片-> <element name="rspWithImage" type="boolean" minOccurs="1" maxOccurs="1"/> </sequence></complexType></element>返回說明<element name="FaceDetectRsp">&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論