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)