Files
ieemoo-ai-conpurchase/ieemoo-ai-conpurchase.py
2023-08-17 11:21:39 +08:00

50 lines
1.9 KiB
Python

from flask import request, Flask
import os
from network.vanalysis_video import vanalysis, raft_init_model
import argparse
from floder.config import cfg
from utils.detect import opvideo
from utils.opfile import uploadf, removef
from utils.embedding import DataProcessing as dp
app = Flask(__name__)
parser = argparse.ArgumentParser()
parser.add_argument('--model', default='../module/ieemoo-ai-conpurchase/model/now/raft-small.pth',help="restore checkpoint")
parser.add_argument('--checkpoint', default='mobilevit',help="get embedding ")
parser.add_argument('--device', default='cuda',help="device")
parser.add_argument('--small', type=bool, default=True, help='use small model')
parser.add_argument('--mixed_precision', action='store_true', help='use mixed precision')
parser.add_argument('--alternate_corr', action='store_true', help='use efficent correlation implementation')
opt, unknown = parser.parse_known_args()
flowmodel = raft_init_model(opt)
dps = dp(opt.checkpoint, cfg.model_path, opt.device)
opv = opvideo(flowmodel, dps)
@app.route('/conpurchase', methods=['POST', 'GET'])
def conpurchase():
try:
result = 'continue'
flag = request.form.get('flag')
num_id = request.form.get('num')
video_name = request.form.get('uuid')
#print('>>>>>>>>>>flag:{} num_id:{} video_name:{}'.format(flag, num_id, video_name))
uuid = video_name.split('_')[1]
video_data = request.files['video']
videoPath = os.sep.join([cfg.videoPath, uuid+'.mp4'])
video_data.save(videoPath)
uploadf(video_name, num_id, videoPath)
if flag == 'False':
opv.addFeature(uuid, num_id, videoPath)
else:
result = opv.opFeature(uuid, num_id, videoPath)
os.remove(videoPath)
removef(uuid)
except Exception as e:
print(e)
os.remove(videoPath)
removef(uuid)
return result
if __name__ == '__main__':
app.run('0.0.0.0', 8898)