Skip to content

Commit

Permalink
将Classify部分拆分出独立的函数。
Browse files Browse the repository at this point in the history
Embedding已经独立了。测试可以在APP里面出现识别的人。
上传部分转移到了Nodejs的Detector中。上传之后发消息。
  • Loading branch information
solderzzc committed Dec 15, 2018
1 parent f6a15d5 commit 1e213b7
Show file tree
Hide file tree
Showing 8 changed files with 656 additions and 1,068 deletions.
2 changes: 1 addition & 1 deletion docker/docker-compose-x86.yml
Expand Up @@ -113,7 +113,7 @@ services:
- "redis"
- "broker"
- "workaipython"
command: "npm install && sleep 10000 && node /opt/index.js"
command: "npm install && sleep 10000 && node /opt/index.js"
image: solderzzc/monitor:2018
logging:
driver: json-file
Expand Down
38 changes: 38 additions & 0 deletions src/detector/deepeye.js
Expand Up @@ -4,12 +4,14 @@ var qs=require('querystring');
var path = require('path');
var request = require('request');
var celery = require('node-celery');
var requestretry = require('requestretry')

var async = require('async')
var face_motion = require('./face_motions')
//var maintainer = require('./maintainer')
var mqtt_2_group = require('./mqttgif')
var timeline = require('./timeline')
var upload = require('./upload')
var device_SN = null

var host_ip = process.env.FLOWER_ADDRESS || 'flower'
Expand Down Expand Up @@ -408,8 +410,44 @@ function classify_task(task_info, cb) {
function(result){
ON_DEBUG && console.log(result)
if(result && result.status === 'SUCCESS'){

console.log('result.result.result ',result.result.result)
console.log('result.result.api_data',result.result.api_data)

if(result.result){
var json = JSON.parse(result.result)
console.log('JSON.parse(result.result)=',json)
json.result['url'] = upload.getAccessUrl(json.result.key)
console.log('json.result.key[',json.result.key,']task_info.path',task_info.path)
var key = json.result.key
upload.putFile(key,task_info.path,function(error,accessUrl){
console.log('error=',error,'accessUrl=',accessUrl)
if(!error){
var gst_api_url = json.api_data.api_url
var json_request_content = json.api_data.payload
json_request_content.img_url = accessUrl
console.log('api_url,',gst_api_url,'json_request_content ',json_request_content)
requestretry({
url: gst_api_url,
method: "POST",
json: true,
maxAttempts: 5, // (default) try 5 times
retryDelay: 5000,
body: json_request_content
}, function (error, response, body){
if(error) {
console.log("report to server event: ",error)
} else {
console.log('report to server event: ',body)
if(body && body.state=="SUCCESS" && body.result) {
var json = JSON.parse(body.result)
}
}
});
}
})
delete json.result.key
console.log('classify result json:',json)
return cb && cb(null, json)
}
}
Expand Down
11 changes: 7 additions & 4 deletions src/detector/upload.js
Expand Up @@ -61,7 +61,9 @@ function putFileQiniu(file_key,localFile,cb){
});
}
*/

function getAccessUrl(file_key){
return 'http://cdn.workaioss.tiegushi.com/'+file_key;
}
function putFileAliyun(file_key,localFile,cb){
_putFileAliyun(file_key,localFile,function(err, url){
if(!err && url){
Expand All @@ -79,7 +81,7 @@ function putFileAliyun(file_key,localFile,cb){
if(!err && url){
cb && cb(null,url)
} else {

console.log('3rd upload err, gave up');
cb && cb('error',null)
}
Expand Down Expand Up @@ -107,7 +109,7 @@ function _putFileAliyun(file_key,localFile,cb){
if (result.name && result.name !==''){
file_name = result.name;
}
var access_url = 'http://cdn.workaioss.tiegushi.com/'+file_name;
var access_url = getAccessUrl(file_name);
console.log('upload succ to: '+access_url);
if(cb){
cb(null,access_url)
Expand All @@ -123,7 +125,8 @@ function _putFileAliyun(file_key,localFile,cb){
}

module.exports = {
putFile : putFileAliyun
putFile : putFileAliyun,
getAccessUrl: getAccessUrl
}
/*putFile('animated.gif', "./images/animated.gif",function(error,url){
if(error !== null){
Expand Down
11 changes: 11 additions & 0 deletions src/embedding/classifier_rest_server.py
Expand Up @@ -5,6 +5,7 @@
from flask import Flask, jsonify, request, abort
import classifier_classify_new as classifer
from faces import save_embedding
#from recognition import face_recognition_on_embedding

app = Flask(__name__)

Expand All @@ -23,6 +24,16 @@ def classify_task():
result = classifer.classify([emb], classifier_filename, None)
#_, human_string, score, top_three_name = classifer.classify(emb, classifier_filename, None)
return jsonify({'status': 'ok','result':result}), 200

@app.route('/classify_full', methods=['POST'])
def classify_full():
if not request.json:
abort(400)
req_data = request.get_json()
print(req_data)

return jsonify({'status': 'ok','result':result}), 200

@app.route('/train', methods=['POST'])
def train_task():
if not request.json:
Expand Down

0 comments on commit 1e213b7

Please sign in to comment.