Heim >WeChat-Applet >WeChat-Entwicklung >Die Nachrichtenschnittstelle der öffentlichen WeChat-Plattform entwickelt Bilderkennung und Gesichtserkennung
1. 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.
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://www.php.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,
Ist 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 |
检测模式可以是normal(默认) 或者 oneface 。在oneface模式中,检测器仅找出图片中最大的一张脸。 |
|
attribute |
可选 |
可以是none或者由逗号分割的属性列表。默认为gender, age, race, smiling。目前支持的属性包括:gender, age, race, smiling, glass, pose |
tag |
可选 |
可以为图片中检测出的每一张Face指定一个不包含^@,&=*'"等非法字符且不超过255字节的字符串作为tag,tag信息可以通过 /info/get_face 查询 |
async |
可选 |
如果置为true,该API将会以异步方式被调用;也就是立即返回一个session id,稍后可通过/info/get_session查询结果。默认值为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": "" }
参数:
gender |
object |
包含性别分析结果,value的值为Male/Female, confidence表示置信度 |
age |
object |
包含年龄分析结果,value的值为一个非负整数表示估计的年龄, range表示估计年龄的正负区间 |
race |
object |
包含人种分析结果,value的值为Asian/White/Black, confidence表示置信度 |
smiling |
object |
包含微笑程度分析结果,value的值为0-100的实数,越大表示微笑程度越高 |
实现方法
取结果参数中的gender,age,race,smiling等参数 ,如
"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 }
上述结果中,
年龄age为17,误差在5岁 性别为female,表示女,置信度为99% 种族为亚洲Asian, 微笑度 87%
和图片比较一下,还是比较一致的
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 }
调用方式如下:
<?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); } }
在微信中再将结果整理成文本消息就可以了。
下面是实际使用结果:
漂亮/帅气指数鉴定技术
近亲及亲子鉴定技术
男人味/女人味鉴定技术
更多Die Nachrichtenschnittstelle der öffentlichen WeChat-Plattform entwickelt Bilderkennung und Gesichtserkennung相关文章请关注PHP中文网!