Untitled
unknown
python
4 years ago
6.6 kB
4
Indexable
LOCAL = True couvette = False results_to_analyse = [] import time import random RUN_GCP = False pending = [] experiment_name = "TEST" today = time.strftime("%Y-%m-%d") counter = 500000 custom_pupil = True bridge_detection = True slipp = None pose = None position = 0 TILT_TH = 3 NOSE_TH = 1 SLIP_0 = .1 SLIP_1 = .2 DISTANCE_TH_ACETATE = 6 NOSEPAD_NOSE_TH = 5 NOSEBRIDGE_NOSE_TH = 1.5 custom_pupil = True poses = [-2, -1, 0, 1, 2] poses = [None] for pose in tqdm(poses): vid_counter = 0 custom_prms = {'slipping': slipp, 'pose': pose, 'slipping_info': {'NOSE_TH': NOSE_TH, 'SLIP_0': SLIP_0, 'SLIP_1': SLIP_1, 'TILT_UB': TILT_TH, 'NOSEPAD_NOSE_TH': NOSEPAD_NOSE_TH, 'DISTANCE_TH_ACETATE': DISTANCE_TH_ACETATE}, 'freedom_map': freedom_map} for vid in vid_list[7:8]: print('VideoID-->',vid) print('PERCENTAGE-->',np.round(vid_counter/len(vid_list[:])*100)) vid_counter+=1 if vid in ['d1f4cff8-bdc0-48c6-a00d-199d1120faeb']: # Non ci sono le local continue if vid in ['b8f8c9b6-280e-4179-9b7d-b2ee95901cdb']: # Fallisce il fitting in locale continue if vid in ['f0d0c35b-a66b-484f-bffe-499df3a9f13c']: # Fallisce il fitting in locale continue if vid in ['3ea8fe52-453f-4a5b-a4c0-48fdf6584060']: continue with open('metric_meshes/3d_eyes/%s.json' % vid) as f: eyes_3d = json.load(f) p_l = eyes_3d['frame7_beta_left_mm'] p_r = eyes_3d['frame7_beta_right_mm'] p_l[1] = -p_l[1] p_r[1] = -p_r[1] p_l[2] = -p_l[2] p_r[2] = -p_r[2] if custom_pupil: custom_prms['p_l'] = p_l custom_prms['p_r'] = p_r pupils = [p_l, p_r] else: pupils = None face_mesh_mother, face_pc_mother, pupils = head_load(vid, local=LOCAL, custom_pupils=pupils) for upc in list(df_kpis2D[df_kpis2D['video_id'] == vid]['upc'][:]): print('UPC-->',upc) if upc in ( ['8056597100090', '8056597108072_16'] + ['7895653228924', '713132838143', '8053672914887']): print("Continue", upc) continue # Last 3 are semi-rim try: material = ( df_gt.loc[(df_gt['video_id'] == vid) & (df_gt['upc'] == upc), 'Material Front_x'].values[0]) except Exception as e: print(e) print("Cannot find material ", vid, upc) continue if material != 'Acetate': print("skipping") continue # print(upc) to_analyse = {'upc': upc, 'vid': vid, 'slipp': slipp, 'pose':pose, 'material': material, 'slipping_info': custom_prms['slipping_info'], 'freedom_map': custom_prms['freedom_map'], 'experiment_name': experiment_name, 'bridge_detection': bridge_detection, 'date': today} if upc in upc_couvette: couvette = True else: couvette = False face_mesh = face_mesh_mother.copy() if bridge_detection: centroid_nose = nasion_finder_with_centroid(face_mesh_mother, nose_idxs=[NOSE_MID_IDXs]) custom_prms['custom_LND_bridge'] = centroid_nose face_pc = deepcopy(face_pc_mother) for i in range(0, 4): try: results, glasses_mesh, bound_left_mother, bound_right_mother = docking_dispatch(vid, upc, params, custom_prms=dict( custom_prms), local=LOCAL, gcp=RUN_GCP, counter=counter) my_res = {'to_analyse': to_analyse, 'bound_left_mother': bound_left_mother, 'bound_right_mother': bound_right_mother, 'df_gt': df_gt, 'vid': vid, 'upc': upc, 'couvette': couvette, 'df_kpis2D': df_kpis2D, 'face_mesh': face_mesh, 'face_pc': face_pc, 'results': results, 'counter': str(counter), 'TO_PRINT': not RUN_GCP, 'PICS': PICS, 'custom_pupils': custom_pupil, 'lnd': lnd, 'pupils': pupils, 'nasion': centroid_nose, 'glasses_mesh': glasses_mesh, 'experiment_name': experiment_name} counter += 1 break except Exception as e: print("EXCEPTION IN FOR LOOP") print(i) print(str(e)) time.sleep(1) if i == 3: raise e if RUN_GCP: if random.random() < 0.01: print("Running") time.sleep(0.05) # while list_queues() > 20: # time.sleep(0.01) pending.append(my_res) else: check_all([my_res], results_to_analyse) # break # break # break if RUN_GCP: while list_queues() != 0: time.sleep(60) # All done print("Done, parsing results. len: %d" % len(pending)) check_all(pending, results_to_analyse) pd.DataFrame(results_to_analyse).to_csv("%s.csv" % experiment_name, index=False)
Editor is loading...