亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Node.js的低代碼人臉識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2023-11-25 02:19:34胡娟蒲源
        電腦知識(shí)與技術(shù) 2023年28期
        關(guān)鍵詞:關(guān)鍵點(diǎn)人臉識(shí)別

        胡娟,蒲源

        (1.廣東白云學(xué)院大數(shù)據(jù)與計(jì)算機(jī)學(xué)院,廣東廣州 510400;2.華南理工大學(xué)未來(lái)技術(shù)學(xué)院,廣東廣州 511442)

        0 引言

        人臉識(shí)別技術(shù)作為一種高效且準(zhǔn)確的身份驗(yàn)證方法,已廣泛應(yīng)用于各個(gè)領(lǐng)域。銀行、機(jī)場(chǎng)、邊境檢查站等場(chǎng)所采用人臉識(shí)別技術(shù),可大幅度提高管理的安全性。在商業(yè)領(lǐng)域,人臉識(shí)別技術(shù)同樣能夠優(yōu)化企業(yè)效率,如自助結(jié)賬、門(mén)禁控制和員工考勤等環(huán)節(jié)。此外,人臉識(shí)別技術(shù)在醫(yī)療保健、社交網(wǎng)絡(luò)和電子商務(wù)等領(lǐng)域的應(yīng)用,為用戶(hù)帶來(lái)了更加智能化的服務(wù)。騰訊云神圖作為人臉識(shí)別技術(shù)的領(lǐng)軍產(chǎn)品,以其卓越的準(zhǔn)確性和穩(wěn)定性,贏得了業(yè)界的廣泛認(rèn)可。

        低代碼平臺(tái)是在企業(yè)需要更快速地開(kāi)發(fā)應(yīng)用程序、縮短上線時(shí)間并減少開(kāi)發(fā)成本的情況下誕生的。低代碼平臺(tái)的設(shè)計(jì)目的是讓開(kāi)發(fā)者在不需要大量編碼的情況下,利用可視化拖放界面和預(yù)先定義的組件來(lái)構(gòu)建應(yīng)用程序。這種方法可以大大提高開(kāi)發(fā)效率,它令非專(zhuān)業(yè)開(kāi)發(fā)者也能夠輕松創(chuàng)建復(fù)雜的應(yīng)用程序,從而降低了開(kāi)發(fā)門(mén)檻和學(xué)習(xí)曲線。將復(fù)雜的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)知識(shí)與低代碼技術(shù)相結(jié)合,有助于讓缺乏機(jī)器學(xué)習(xí)算法經(jīng)驗(yàn)的人員快速開(kāi)發(fā)出高質(zhì)量的人臉識(shí)別系統(tǒng)。

        1 基本概念

        1.1 低代碼開(kāi)發(fā)平臺(tái)[1]

        低代碼(Low-Code) 一詞最早在2014 年被提出,指通過(guò)圖形用戶(hù)界面和配置,來(lái)代替?zhèn)鹘y(tǒng)的手工編碼計(jì)算機(jī)程序來(lái)創(chuàng)建應(yīng)用程序軟件的平臺(tái)。低代碼開(kāi)發(fā)平臺(tái)提供一個(gè)所見(jiàn)即所得的頁(yè)面可視化編輯器,實(shí)現(xiàn)零代碼/低代碼生成頁(yè)面,可以快速搭建可視化頁(yè)面生產(chǎn)平臺(tái),讓非技術(shù)人員可以通過(guò)拖拽和配置,自助生成H5頁(yè)面、PC頁(yè)面、TV頁(yè)面,大大降低軟件開(kāi)發(fā)生產(chǎn)成本。

        1.2 騰訊云神圖人臉識(shí)別[2]

        騰訊云神圖人臉識(shí)別基于騰訊優(yōu)圖強(qiáng)大的面部分析技術(shù),提供包括人臉檢測(cè)與分析、比對(duì)、搜索、驗(yàn)證、五官定位、活體檢測(cè)等多種功能,為開(kāi)發(fā)者和企業(yè)提供高性能高可用的人臉識(shí)別服務(wù)。可應(yīng)用于在線娛樂(lè)、在線身份認(rèn)證等多種應(yīng)用場(chǎng)景,充分滿足各行業(yè)客戶(hù)的人臉屬性識(shí)別及用戶(hù)身份確認(rèn)等需求。

        2 人臉識(shí)別系統(tǒng)

        2.1 系統(tǒng)架構(gòu)設(shè)計(jì)

        該系統(tǒng)通過(guò)前端部署的人臉抓拍攝像機(jī)將實(shí)時(shí)采集的人臉數(shù)據(jù)通過(guò)專(zhuān)用網(wǎng)絡(luò)上傳到人臉識(shí)別服務(wù)器,采用騰訊云神圖人臉識(shí)別服務(wù)來(lái)進(jìn)行比對(duì)分析。在人臉識(shí)別API中,使用了一系列復(fù)雜的算法和技術(shù)來(lái)進(jìn)行人臉檢測(cè)和特征提取。當(dāng)出現(xiàn)人臉與人臉庫(kù)數(shù)據(jù)不匹配的情況,會(huì)通過(guò)郵件、短信等方式進(jìn)行警報(bào)或告警,最后生成數(shù)據(jù)分析與比對(duì)報(bào)告。圖1是該系統(tǒng)業(yè)務(wù)整體架構(gòu)圖。

        圖1 人臉識(shí)別系統(tǒng)業(yè)務(wù)整體架構(gòu)圖

        2.2 系統(tǒng)業(yè)務(wù)流程

        通過(guò)攝像頭拍照,使用人臉檢測(cè)算法檢測(cè)圖像中是否存在人臉。如果圖像中存在人臉,則根據(jù)返回的面部輪廓邊界框的坐標(biāo)、眼睛、鼻子等關(guān)鍵點(diǎn)的位置判斷是否需要預(yù)處理。如果抓拍到的是人的側(cè)臉,可能會(huì)因?yàn)楣庹?、遮擋、姿態(tài)等因素的影響,從而導(dǎo)致人臉圖像的面部區(qū)域發(fā)生了變形或偏移。這時(shí)需要進(jìn)行旋轉(zhuǎn)圖片、縮放圖片、人臉對(duì)齊、人臉裁剪等預(yù)處理操作,以便后續(xù)能夠更加準(zhǔn)確地進(jìn)行特征提取。將提取出的人臉特征向量與已有的人臉庫(kù)中的面孔特征向量進(jìn)行比對(duì),計(jì)算圖像的特征向量和人臉庫(kù)中的特征向量之間的相似度。如果相似度高于設(shè)定的閾值,系統(tǒng)會(huì)判斷這些人臉圖像為同一人,匹配成功。如果匹配成功,記錄相關(guān)信息;如果匹配失敗,則可以選擇發(fā)出告警信號(hào),并記錄相關(guān)信息,最后生成數(shù)據(jù)分析報(bào)告。圖2展示了該系統(tǒng)業(yè)務(wù)的整個(gè)流程。

        圖2 低代碼人臉識(shí)別系統(tǒng)流程圖

        2.3 原理分析

        1)人臉檢測(cè):人臉檢測(cè)基于深度學(xué)習(xí)技術(shù),通過(guò)訓(xùn)練大量人臉圖像數(shù)據(jù)建立模型。在應(yīng)用過(guò)程中,模型對(duì)輸入的圖像進(jìn)行分析。首先,模型通過(guò)滑動(dòng)窗口(Sliding Window)[3]的方式和尺度金字塔[4]掃描圖像中可能包含的人臉區(qū)域,然后對(duì)于每個(gè)窗口使用分類(lèi)器來(lái)判斷其是否包含人臉。借助多尺度檢測(cè)(Multi-Scale detection) 和非極大值抑制(簡(jiǎn)稱(chēng)為NMS 算法,Non-Maximum Suppression) ,可以準(zhǔn)確地定位到人臉區(qū)域。騰訊云神圖在尺度金字塔掃描圖中使用的是高斯金字塔(Gaussian Pyramid)[5]技術(shù)。高斯金字塔是一種多尺度圖像處理方法,它通過(guò)不斷進(jìn)行下采樣和高斯濾波,生成一系列圖像金字塔,每一層圖像的大小都是前一層圖像的一半,并且對(duì)每一層圖像進(jìn)行平滑處理以保留重要的圖像特征。騰訊云神圖人臉檢測(cè)還使用了全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)。該算法將人臉圖像作為輸入,在網(wǎng)絡(luò)中進(jìn)行多輪卷積和池化等操作,最終輸出每個(gè)人臉關(guān)鍵點(diǎn)的位置坐標(biāo)。

        2)特征提?。候v訊云神圖使用深度學(xué)習(xí)方法將人臉圖像轉(zhuǎn)換為128維特征向量。特征提取前需要對(duì)輸入的人臉圖像進(jìn)行預(yù)處理,如人臉縮放、對(duì)齊等,使其滿足模型的輸入要求。然后利用預(yù)訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)(ResNet 和Inception 等)對(duì)人臉圖像進(jìn)行特征提取。卷積神經(jīng)網(wǎng)絡(luò)通過(guò)多層卷積、池化和激活函數(shù)等操作,從淺層的邊緣和紋理特征到深層的高級(jí)語(yǔ)義特征逐層進(jìn)行提取,這樣提取出的特征更具有區(qū)分性和更強(qiáng)的表達(dá)能力,它能有效地描述不同個(gè)體之間的人臉差異。經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)提取出的特征通常具有較高的維度,為了將這些特征映射到128維空間,需要添加全連接層進(jìn)行降維。全連接層將前一層的所有神經(jīng)元與當(dāng)前層的所有神經(jīng)元進(jìn)行連接。通過(guò)調(diào)整全連接層的神經(jīng)元數(shù)量,可以實(shí)現(xiàn)降維。例如,前一層有512 個(gè)神經(jīng)元,而全連接層只有128 個(gè)神經(jīng)元,那么特征就會(huì)被映射到128維空間。最后,對(duì)生成的128維特征向量進(jìn)行歸一化處理,使其具有單位長(zhǎng)度。這樣做的目的是消除特征向量的尺度影響,以便于后續(xù)的相似度計(jì)算和人臉識(shí)別。

        3)人臉識(shí)別:提取出特征向量之后需要計(jì)算相似度。特征向量的相似度是指兩個(gè)特征向量之間的相似程度,通常用余弦相似度(Cosine Similarity)來(lái)衡量。余弦相似度衡量的是兩個(gè)向量在方向上的相似程度,而不考慮它們?cè)陂L(zhǎng)度上的差異。當(dāng)兩個(gè)向量指向相似的方向時(shí),夾角余弦值接近于1,說(shuō)明它們非常相似;當(dāng)兩個(gè)向量指向截然相反的方向時(shí),夾角余弦值接近于-1,說(shuō)明它們非常不相似;當(dāng)兩個(gè)向量垂直時(shí),夾角余弦值接近于0,說(shuō)明它們之間沒(méi)有相似性。對(duì)于兩個(gè)特征向量a 和b,它們的余弦相似度可以通過(guò)下面的公式計(jì)算:

        cosine_similarity(a,b)=(a·b)/(||a||*||b||)

        其中,a·b表示向量a和向量b的點(diǎn)積,||a||和||b||分別表示向量a和向量b的模長(zhǎng)。余弦相似度的取值范圍在-1~1,數(shù)值越大表示兩個(gè)向量越相似,數(shù)值越小表示兩個(gè)向量越不相似。在人臉比對(duì)中,可以將兩個(gè)人臉的特征向量進(jìn)行余弦相似度計(jì)算,從而判斷它們是否屬于同一個(gè)人。

        3 系統(tǒng)核心模塊的設(shè)計(jì)與實(shí)現(xiàn)

        要使用騰訊云神圖人臉識(shí)別API,首先需要注冊(cè)一個(gè)騰訊云賬戶(hù)并獲取API 密鑰(SecretId 和Secret-Key)。然后使用以下命令,安裝騰訊云SDK:

        npm install tencentcloud-sdk-nodejs --save。安裝完就可以在低代碼開(kāi)發(fā)平臺(tái)的自定義控件中編寫(xiě)代碼了。下面介紹各核心模塊的設(shè)計(jì)與實(shí)現(xiàn)。

        3.1 人臉檢測(cè)

        人臉抓拍,采集人臉圖像上傳到服務(wù)器之后,對(duì)人臉進(jìn)行檢測(cè)。首先,需要導(dǎo)入騰訊云SDK tencentcloud-sdk-nodejs-iai,這是一個(gè)Node.js 庫(kù),用于與騰訊云的智能圖像識(shí)別IAI服務(wù)進(jìn)行通信。通過(guò)tencentcloud.iai.v20200303.Client 創(chuàng)建一個(gè)新的IaiClient 實(shí)例。該實(shí)例用于與騰訊云IAI 服務(wù)進(jìn)行交互。clientConfig 對(duì)象包含了一些配置信息,如身份驗(yàn)證憑據(jù)secretId和secretKey,這些是用于訪問(wèn)騰訊云API的密鑰。區(qū)域region,用于指定請(qǐng)求的目標(biāo)地域。服務(wù)端點(diǎn)endpoint,是IAI服務(wù)的API地址,用于發(fā)送請(qǐng)求。使用clientConfig 配置信息創(chuàng)建IaiClient 實(shí)例之后,準(zhǔn)備請(qǐng)求參數(shù)(params)。在這段代碼中,將人臉圖片的URL 地址放到了params 中。調(diào)用client.DetectFaceAttributes(params)方法,發(fā)送一個(gè)請(qǐng)求到騰訊云IAI服務(wù)以檢測(cè)人臉屬性。這是一個(gè)異步方法,返回一個(gè)Promise。使用.then 和.catch 處理Promise。如果請(qǐng)求成功,data 變量將包含返回的人臉屬性數(shù)據(jù),然后將其打印到控制臺(tái)。如果發(fā)生錯(cuò)誤,err變量將包含錯(cuò)誤信息,然后將其打印到控制臺(tái)。人臉檢測(cè)代碼如下:

        const tencentcloud = require("tencentcloud-sdknodejs-iai");

        const IaiClient=tencentcloud.iai.v20200303.Client;

        const clientConfig={

        credential:{

        secretId:"SecretId",

        secretKey:"SecretKey",

        },

        region:"",

        profile:{

        httpProfile:{

        endpoint:"iai.tencentcloudapi.com",

        },

        },

        };

        const client=new IaiClient(clientConfig);

        const params={

        ImageUrl: ′https://example.com/your-face-image.jpg′

        };

        client.DetectFaceAttributes(params).then(

        (data)=>{

        console.log(data);

        },

        (err)=>{

        console.error("error",err);

        }

        );

        3.2 五官定位

        五官關(guān)鍵點(diǎn)定位的目的是更精準(zhǔn)地分析人臉信息。通過(guò)對(duì)面部五官關(guān)鍵點(diǎn)的定位,可以更加準(zhǔn)確地確定面部特征的位置。核心代碼如下:

        const client=new IaiClient(clientConfig);

        const params={

        ImageUrl: ′https://example.com/your-face-image.jpg′,

        FaceAttributesType:′faceoutline′

        };

        client.AnalyzeFace(params).then(

        (data)=>{

        console.log(data);

        const faceShapeSet = data.FaceShapeSet;// 提取五官關(guān)鍵點(diǎn)數(shù)據(jù)

        console.log(faceShapeSet);//輸出五官關(guān)鍵點(diǎn)數(shù)據(jù)

        },

        (err)=>{

        console.error("error",err);

        }

        );

        這段代碼中使用AnalyzeFace 方法定位人臉的五官。五官定位的結(jié)果是返回一組包含五官關(guān)鍵點(diǎn)坐標(biāo)的數(shù)據(jù)。這些關(guān)鍵點(diǎn)通常包括眼睛、鼻子、嘴巴、臉頰等部位的坐標(biāo)。要使用AnalyzeFace 方法進(jìn)行五官定位,需要在params 對(duì)象中添加一個(gè)名為FaceAttributesType的屬性,并將其值設(shè)置為faceoutline。這樣在分析人臉時(shí)會(huì)返回五官關(guān)鍵點(diǎn)數(shù)據(jù)。效果如圖3所示。

        圖3 五官關(guān)鍵點(diǎn)坐標(biāo)定位

        3.3 人臉比對(duì)

        對(duì)于兩張圖片中的人臉進(jìn)行相似度比對(duì),返回人臉相似度分?jǐn)?shù),實(shí)現(xiàn)1∶1 比對(duì)。1∶1 比對(duì)是人臉識(shí)別技術(shù)中的一種對(duì)比方式,也被稱(chēng)為驗(yàn)證。在1∶1比對(duì)中,通常先將兩張照片進(jìn)行特征提取,然后計(jì)算它們之間的相似度得分。如果相似度得分超過(guò)了設(shè)定的閾值,則可以認(rèn)為這兩張照片屬于同一個(gè)人。核心代碼如下:

        const client=new IaiClient(clientConfig);

        const params={

        ImageUrlA: ′https://example.com/your-face-image-A.jpg′,

        ImageUrlB: ′https://example.com/your-face-image-B.jpg′

        };

        client.CompareFace(params).then(

        (data)=>{

        console.log(data);

        const similarityScore = data.Score;// 提取相似度得分

        console.log(′Similarity Score: ′, similarityScore);//輸出相似度得分

        },

        (err)=>{

        console.error("error",err);

        }

        );

        這段代碼中的CompareFace方法可以比較兩張人臉圖像。代碼中,params 對(duì)象包含了兩個(gè)名為ImageUrlA和ImageUrlB的屬性。這些屬性分別包含兩張人臉圖片的URL 地址。當(dāng)調(diào)用client.CompareFace(params)方法時(shí),騰訊云IAI服務(wù)會(huì)比較這兩張圖像并計(jì)算它們之間的相似度得分。.then 處理函數(shù)用于處理成功的響應(yīng)。響應(yīng)中包含的data 對(duì)象包含CompareFace 方法的結(jié)果。通過(guò)訪問(wèn)data.Score,可以獲取相似度得分。效果如圖4所示。

        圖4 1:1比對(duì)結(jié)果

        3.4 人臉?biāo)阉?/h3>

        對(duì)于給定的一張人臉照片,和已有人臉庫(kù)中的N個(gè)人臉進(jìn)行比對(duì),找出最相似的一張臉或多張臉,并給出相似度排序,實(shí)現(xiàn)1:N 搜索。人臉?biāo)阉骱诵拇a如下:

        const client=new IaiClient(clientConfig);

        const params={

        ImageUrl: ′https://example.com/your-face-image.jpg′,

        GroupIds:[′group_id_1′,′group_id_2′]

        };

        client.SearchFaces(params).then(

        (data)=>{

        console.log(data);

        },

        (err)=>{

        console.error("error",err);

        }

        );

        這段代碼使用了SearchFaces方法,在指定的人臉庫(kù)分組中搜索與給定人臉圖像相似的人臉。在params 對(duì)象中,ImageUrl 屬性包含人臉圖片的URL 地址,GroupIds 屬性包含一個(gè)字符串?dāng)?shù)組,表示要在其中搜索的人臉庫(kù)分組ID列表。人臉庫(kù)分組ID列表通過(guò)將人臉數(shù)據(jù)分組,可以方便地對(duì)不同的人臉數(shù)據(jù)進(jìn)行批量操作,例如刪除人臉數(shù)據(jù)、修改或添加等操作。同時(shí),通過(guò)對(duì)人臉數(shù)據(jù)進(jìn)行分組,還可以方便地進(jìn)行人臉識(shí)別和人臉?biāo)阉?。在進(jìn)行人臉?biāo)阉鲿r(shí),根據(jù)分組ID來(lái)指定只在特定的分組中進(jìn)行搜索,從而提高搜索效率和準(zhǔn)確度。調(diào)用client.SearchFaces(params)方法后,騰訊云IAI 服務(wù)將在指定的人臉庫(kù)分組中查找與給定人臉圖像相似的人臉。.then 處理函數(shù)用于處理成功的響應(yīng)。響應(yīng)中的data 對(duì)象包含了SearchFaces方法的搜索結(jié)果。

        4 結(jié)論

        結(jié)合低代碼開(kāi)發(fā)平臺(tái)和人臉識(shí)別技術(shù),本文設(shè)計(jì)了一款高效的人臉識(shí)別系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了自動(dòng)化人臉對(duì)齊、裁剪,并且人臉識(shí)別的準(zhǔn)確性高。未來(lái),可以在此基礎(chǔ)上進(jìn)一步完善和擴(kuò)展功能,以滿足更多的企業(yè)需求。例如,可以將該系統(tǒng)應(yīng)用于安防領(lǐng)域,對(duì)訪客的身份進(jìn)行識(shí)別和登記;也可以將其應(yīng)用于教育領(lǐng)域[6],通過(guò)人臉識(shí)別來(lái)驗(yàn)證考生的身份。

        猜你喜歡
        關(guān)鍵點(diǎn)人臉識(shí)別
        人臉識(shí)別 等
        聚焦金屬關(guān)鍵點(diǎn)
        肉兔育肥抓好七個(gè)關(guān)鍵點(diǎn)
        揭開(kāi)人臉識(shí)別的神秘面紗
        基于(2D)2PCA-LBP 的人臉識(shí)別方法的研究
        電子制作(2017年17期)2017-12-18 06:40:55
        人臉識(shí)別在高校安全防范中的應(yīng)用
        電子制作(2017年1期)2017-05-17 03:54:46
        豬人工授精應(yīng)把握的技術(shù)關(guān)鍵點(diǎn)
        基于類(lèi)獨(dú)立核稀疏表示的魯棒人臉識(shí)別
        醫(yī)聯(lián)體要把握三個(gè)關(guān)鍵點(diǎn)
        鎖定兩個(gè)關(guān)鍵點(diǎn)——我這樣教《送考》
        精品国产一区二区三区av 性色 | 国产美女在线精品免费观看网址 | 亚洲av福利天堂一区二区三 | 国产V日韩V亚洲欧美久久| 日本精品一区二区在线看| 高清国产亚洲精品自在久久| 国产精品一区二区三区在线免费| 三年片大全在线观看免费观看大全 | 人妻aⅴ中文字幕| 国产乱视频| 一本久久综合亚洲鲁鲁五月夫| 亚洲天堂精品一区入口| 亚洲av日韩精品久久久久久久| 亚洲天堂在线播放| 青青草国内视频在线观看| 久久99天堂av亚洲av| 亚洲国产欧美日韩欧美特级| 国产精品欧美日韩在线一区| 手机av在线观看视频| 国产丝袜美腿精品91在线看| 日本理伦片午夜理伦片| 国产日韩精品一区二区在线观看播放| 国产在线视频一区二区三区| 天天躁夜夜躁狠狠是什么心态 | 开心激情网,开心五月天| 熟女体下毛荫荫黑森林| 激情 人妻 制服 丝袜| AV熟妇导航网| 久久中文字幕暴力一区| 亚洲av无码一区二区三区人| 北条麻妃在线视频观看| av网站在线观看二区| 欧美日韩在线视频| 欧美v亚洲v日韩v最新在线| 亚洲色四在线视频观看| 国产成人国产三级国产精品| 亚洲色成人网站www永久四虎| 中文字幕在线久热精品| 亚洲乱熟妇一区二区三区蜜桃| 日韩日韩日韩日韩日韩日韩| 国产亚洲日韩一区二区三区|