


Die Nachrichtenschnittstelle der ?ffentlichen WeChat-Plattform entwickelt Bilderkennung und Gesichtserkennung
Mar 01, 2017 am 09:35 AM1. Vorwort
Die ersten paar kleinen Bewerbungen scheinen schwach zu sein, und die Resonanz ist lauwarm. Heute werde ich eine auff?lligere vorstellen Sie: die ?ffentliche Plattform WeChat.
Ich habe vor einiger Zeit im Internet einen Bericht gesehen, dass Wei Xiaoyong, au?erordentlicher Professor und Direktor der Informatikabteilung der Sichuan-Universit?t, ein bildbasiertes System zur Anwesenheitserkennung im Klassenzimmer entwickelt hat ?Wischen Sie über Ihr Gesicht“ w?hrend des Appells im Klassenzimmer.
W?hrend des Appells müssen Sie nur Fotos von den Schülern im Klassenzimmer machen Laden Sie dann die Fotos auf den Server hoch und fügen Sie sie automatisch zu einem Gesamtbild zusammen. Anschlie?end verarbeitet das System die Fotos. Die Schüler-Avatare werden automatisch nummeriert und identifiziert. Am Ende werden die pers?nlichen Daten des Schülers mit zwei Optionen angezeigt: ?Es ?sme“ und ?notme“ daneben. Auf diese Weise k?nnen Sie sofort erkennen, wer im Unterricht ist und wer schw?nzt.
Was noch erstaunlicher ist, ist die statistische Signifikanz dieser Sache: Sie kann sogar die zwischenmenschlichen Beziehungen und sogar die pers?nlichen Interessen der Schüler analysieren Sitzen Sie gerne im Unterricht und neben wem sitzen Sie gerne? Analysieren Sie die Rohdaten nach einiger Zeit erneut und Sie werden herausfinden, wer in wen verliebt ist und wer danach in wen aufbrechen. Wer sitzt schon immer gerne alleine in der Ecke (Autismus)? Ein bestimmter Junge und ein bestimmter Junge sitzen seit einem halben Jahr jedes Mal zusammen (schwule Freunde???). Ich habe sofort das Gefühl, dass dieses Ding den Menschen unbegrenzten Raum für Fantasie gibt . gro?. . . . . .
Kommen wir zur Sache:
Werfen wir zun?chst einen Blick darauf, was Gesichtserkennung ist, und werfen wir einen Blick auf die Definition der Baidu-Enzyklop?die: Gesichtserkennung speziell bezieht sich auf die Verwendung der Analyse und des Vergleichs der Gesichtserkennung durch Computertechnologie zur Identifizierung anhand charakteristischer Informationen. Die Gesichtserkennung ist ein beliebtes Gebiet der Computertechnologieforschung. Sie kann die Helligkeit und Dunkelheit des Gesichts erkennen, die dynamische Belichtungskorrektur automatisch anpassen, das Gesicht verfolgen und erkennen und die Bildvergr??erung automatisch anpassen ein Hilfsmittel zur biologischen Identifizierung (bezieht sich im Allgemeinen auf die biologischen Merkmale einer Person), um einzelne Organismen zu unterscheiden.
Der technische Prozess der Gesichtserkennung (aus der Baidu-Enzyklop?die)
Er gliedert sich im Allgemeinen in drei Schritte:
(1) Erstellen Sie zun?chst ein Gesichtsprofil des Gesichts. Das hei?t, eine Kamera wird verwendet, um Gesichtsbilddateien der Gesichter des Personals der Einheit zu sammeln oder ihre Fotos zu machen, um Gesichtsbilddateien zu erstellen, und diese Gesichtsbilddateien werden in Gesichtsabdruckcodes (Faceprint) generiert und gespeichert.
(2) Holen Sie sich das aktuelle Bild des menschlichen Gesichts. Das hei?t, Sie k?nnen mit einer Kamera das Gesichtsbild der aktuell ein- und austretenden Person erfassen oder ein Foto aufnehmen, es eingeben und aus der aktuellen Gesichtsbilddatei einen Gesichtsmustercode generieren.
(3) Vergleichen Sie den aktuellen Gesichtsmustercode mit dem Archivinventar. Das hei?t, der Gesichtsmustercode des aktuellen Gesichtsbildes wird abgerufen und mit dem Gesichtsmustercode im Archivinventar verglichen. Die oben erw?hnte Methode der ?Gesichtsmusterkodierung“ basiert auf den wesentlichen Merkmalen und Anf?ngen des menschlichen Gesichts. Diese Kodierung von Gesichtsmustern ist robust gegenüber Ver?nderungen des Lichts, des Hauttons, der Gesichtsbehaarung, der Frisur, der Brille, des Gesichtsausdrucks und der K?rperhaltung und erm?glicht so die genaue Identifizierung einer Person unter Millionen anderen. Der Gesichtserkennungsprozess kann mit herk?mmlichen Bildverarbeitungsger?ten automatisch, kontinuierlich und in Echtzeit durchgeführt werden.
2. Gesichtserkennung auf der ?ffentlichen WeChat-Plattform
1. Bilderfassung
Zun?chst müssen Sie die von den Benutzern gesendeten Bilder erhalten , ?ffentliche WeChat-Plattform Unterstützt den Empfang von Bildern,
Ein vom Benutzer gesendetes Bild sieht wie folgt aus:
Das Format der Bildnachricht ist wie folgt:
<xml> <ToUserName><![CDATA[gh_13d1a3a7x46a]]></ToUserName> <FromUserName><![CDATA[oKaHDjt60aAyPvQmUX3ddyix_zG8]]></FromUserName> <CreateTime>1357543196</CreateTime> <MsgType><![CDATA[image]]></MsgType> <PicUrl><![CDATA[http://m.miracleart.cn/]]></PicUrl> <MsgId>5830603629728080261</MsgId></xml>
ToUserName WeChat-ID des Nachrichtenempf?ngers, normalerweise die WeChat-ID des ?ffentlichen Plattformkontos
FromUserName WeChat-ID des Nachrichtensenders
CreateTime Nachrichtenerstellungszeit
MsgType Nachrichtentyp; Die Bildnachricht ist Bild
PicUrl Bildlinkadresse
MsgId Nachrichten-ID-Nummer
2 ??>Face++ bietet eine Gesichtserkennungsschnittstelle,
Erkennt die Positionen aller Gesichter (Gesicht) in einem bestimmten Bild (Bild) und die entsprechende Schnittstellenadresse für Gesichtsattribute lautet wie folgt:
http://apicn. faceplusplus.com/v2/detection/detectIst es notwendig | Bedeutung | api_key |
Erforderlich | App's Face++ API-Schlüssel | api_secret |
Erforderlich | APP's Face++ API Secret | URL oder IMG[POST] |
muss | URL des zu erkennenden Bildes Oder für Bin?rdaten, die über die POST-Methode hochgeladen werden, muss die Originalbildgr??e weniger als 3M betragen | Modus |
Optional | 檢測(cè)模式可以是normal(默認(rèn)) 或者 oneface 。在oneface模式中,檢測(cè)器僅找出圖片中最大的一張臉。 | |
attribute | 可選 | 可以是none或者由逗號(hào)分割的屬性列表。默認(rèn)為gender, age, race, smiling。目前支持的屬性包括:gender, age, race, smiling, glass, pose |
tag | 可選 | 可以為圖片中檢測(cè)出的每一張F(tuán)ace指定一個(gè)不包含^@,&=*'"等非法字符且不超過(guò)255字節(jié)的字符串作為tag,tag信息可以通過(guò) /info/get_face 查詢 |
async | 可選 | 如果置為true,該API將會(huì)以異步方式被調(diào)用;也就是立即返回一個(gè)session id,稍后可通過(guò)/info/get_session查詢結(jié)果。默認(rèn)值為false。 |
返回如下
{ "face": [ { "attribute": { "age": { "range": 5, "value": 17 }, "gender": { "confidence": 99.9781, "value": "Female" }, "glass": { "confidence": 99.9815, "value": "None" }, "pose": { "pitch_angle": { "value": 0.000019753399999999996 }, "roll_angle": { "value": 1.75177 }, "yaw_angle": { "value": 4 } }, "race": { "confidence": 99.471, "value": "Asian" }, "smiling": { "value": 87.1365 } }, "face_id": "c772b4b66c00d46b15344eff74b56e48" } ], "img_height": 293, "img_id": "3005132383841edd08c9b500fb1fe2c4", "img_width": 440, "session_id": "4e64c73fec19442cbefde3cf9bd6b53d", "url": "" }
參數(shù):
gender | object | 包含性別分析結(jié)果,value的值為Male/Female, confidence表示置信度 |
age | object | 包含年齡分析結(jié)果,value的值為一個(gè)非負(fù)整數(shù)表示估計(jì)的年齡, range表示估計(jì)年齡的正負(fù)區(qū)間 |
race | object | 包含人種分析結(jié)果,value的值為Asian/White/Black, confidence表示置信度 |
smiling | object | 包含微笑程度分析結(jié)果,value的值為0-100的實(shí)數(shù),越大表示微笑程度越高 |
實(shí)現(xiàn)方法
取結(jié)果參數(shù)中的gender,age,race,smiling等參數(shù) ,如
"attribute": { "age": { "range": 5, "value": 17 }, "gender": { "confidence": 99.9781, "value": "Female" }, "glass": { "confidence": 99.9815, "value": "None" }, "pose": { "pitch_angle": { "value": 0.000019753399999999996 }, "roll_angle": { "value": 1.75177 }, "yaw_angle": { "value": 4 } }, "race": { "confidence": 99.471, "value": "Asian" }, "smiling": { "value": 87.1365 }
上述結(jié)果中,
年齡age為17,誤差在5歲 性別為female,表示女,置信度為99% 種族為亞洲Asian, 微笑度 87%
和圖片比較一下,還是比較一致的
3. 程序?qū)崿F(xiàn)
SDK如下:
"attribute": { "age": { "range": 5, "value": 17 }, "gender": { "confidence": 99.9781, "value": "Female" }, "glass": { "confidence": 99.9815, "value": "None" }, "pose": { "pitch_angle": { "value": 0.000019753399999999996 }, "roll_angle": { "value": 1.75177 }, "yaw_angle": { "value": 4 } }, "race": { "confidence": 99.471, "value": "Asian" }, "smiling": { "value": 87.1365 }
調(diào)用方式如下:
<?PHP /** * Face++ PHP SDK * author: Tianye * since: 2013-12-11 **/ class Facepp{ ###################################################### ### If you choose Amazon(US) server,please use the ### ### http://apius.faceplusplus.com/v2 ### ### or ### ### https://apius.faceplusplus.com/v2 ### ###################################################### var $server = 'http://apicn.faceplusplus.com/v2'; #var $server = 'https://apicn.faceplusplus.com/v2'; #var $server = 'http://apius.faceplusplus.com/v2'; #var $server = 'https://apius.faceplusplus.com/v2'; ############################################# ### set your api key and api secret here. ### ############################################# var $api_key = '{your API KEY}'; var $api_secret = '{your API SECRET}'; public function __construct($api_key=NULL, $api_secret=NULL, $server=NULL){ if($api_key){ $this->api_key = $api_key; } if($api_secret){ $this->api_secret = $api_secret; } if($server){ $this->server = $server; } } /** * @param $method : The Face++ API * @param $params : Request Parameters * @return : Array {'http_code':'Http Status Code', 'request_url':'Http Request URL','body':' JSON Response'} **/ public function execute($method,$params){ if(empty($params)){ $params=array(); } $params['api_key'] = $this->api_key; $params['api_secret'] = $this->api_secret; return $this->request("{$this->server}{$method}",$params); } private function request($request_url , $request_body){ $useragent = 'Faceplusplus PHP SDK/1.0'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $request_url); curl_setopt($curl_handle, CURLOPT_FILETIME, TRUE); curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, FALSE); curl_setopt($curl_handle, CURLOPT_CLOSEPOLICY, CURLCLOSEPOLICY_LEAST_RECENTLY_USED); curl_setopt($curl_handle, CURLOPT_MAXREDIRS, 5); curl_setopt($curl_handle, CURLOPT_HEADER, FALSE); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl_handle, CURLOPT_TIMEOUT, 5184000); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 120); curl_setopt($curl_handle, CURLOPT_NOSIGNAL, TRUE); curl_setopt($curl_handle, CURLOPT_REFERER, $request_url); curl_setopt($curl_handle, CURLOPT_USERAGENT, $useragent); if (extension_loaded('zlib')){ curl_setopt($curl_handle, CURLOPT_ENCODING, ''); } curl_setopt($curl_handle, CURLOPT_POST, TRUE); if(array_key_exists('img',$request_body)){ $request_body['img'] = '@'.$request_body['img']; }else{ $request_body=http_build_query($request_body); } curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $request_body); $response_text = curl_exec($curl_handle); $reponse_header = curl_getinfo($curl_handle); curl_close($curl_handle); return array('http_code'=>$reponse_header['http_code'],'request_url'=>$request_url,'body'=>$response_text); } }
在微信中再將結(jié)果整理成文本消息就可以了。
?
4. 效果展示
下面是實(shí)際使用結(jié)果:
漂亮/帥氣指數(shù)鑒定技術(shù)
近親及親子鑒定技術(shù)
男人味/女人味鑒定技術(shù)
更多Die Nachrichtenschnittstelle der ?ffentlichen WeChat-Plattform entwickelt Bilderkennung und Gesichtserkennung相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)