frontend/__init__.py: loop endlessly, show more info, allow model change

main
Nils Koch 3 years ago
parent bb15dcd0a1
commit b614fcfd74
  1. 69
      frontend/__init__.py

@ -14,6 +14,8 @@ img_dir = '../../usable_imgs/'
cv2.namedWindow('Input Image') cv2.namedWindow('Input Image')
cv2.namedWindow('Predicted Disparity') cv2.namedWindow('Predicted Disparity')
# epoch 75 ist weird
def normalize_and_colormap(img): def normalize_and_colormap(img):
ret = (img - img.min()) / (img.max() - img.min()) * 255.0 ret = (img - img.min()) / (img.max() - img.min()) * 255.0
@ -22,31 +24,42 @@ def normalize_and_colormap(img):
return ret return ret
for img in os.scandir(img_dir): while True:
if 'ir' not in img.path: for img in os.scandir(img_dir):
continue start = datetime.now()
input_img = cv2.imread(img.path) if 'ir' not in img.path:
if input_img.shape == (1024, 1280, 3): continue
diff = (512 - 480) // 2 input_img = cv2.imread(img.path)
downsampled = cv2.pyrDown(input_img) if input_img.shape == (1024, 1280, 3):
input_img = downsampled[diff:downsampled.shape[0]-diff, 0:downsampled.shape[1]] diff = (512 - 480) // 2
downsampled = cv2.pyrDown(input_img)
openBin = {'file': ('file', open(img.path, 'rb'), 'image/png')} input_img = downsampled[diff:downsampled.shape[0]-diff, 0:downsampled.shape[1]]
print('sending image') openBin = {'file': ('file', open(img.path, 'rb'), 'image/png')}
start = datetime.now()
r = requests.put(f'{API_URL}/ir', files=openBin) print('sending image')
end = datetime.now() r = requests.put(f'{API_URL}/ir', files=openBin)
print('received response') print('received response')
print(f'processing took {end - start}') r.raise_for_status()
r.raise_for_status() data = json.loads(json.loads(r.text))
# FIXME yuck, don't json the json # FIXME yuck, don't json the json
pred_disp = np.asarray(json.loads(json.loads(r.text))['disp'], dtype='uint8') pred_disp = np.asarray(data['disp'], dtype='uint8')
ref_pat = np.asarray(json.loads(json.loads(r.text))['reference'], dtype='uint8').transpose((2,0,1)).astype('uint8') in_img = np.asarray(data['input'], dtype='uint8').transpose((2,0,1))
pred_disp = cv2.transpose(pred_disp) ref_pat = np.asarray(data['reference'], dtype='uint8').transpose((2,0,1)).astype('uint8')
duration = data['duration']
cv2.imshow('Input Image', input_img) pred_disp = cv2.transpose(pred_disp)
# cv2.imshow('Reference Image', ref_pat) print(f'inference took {duration}s')
cv2.imshow('Predicted Disparity', normalize_and_colormap(pred_disp)) print(f'pipeline and transfer took another {(datetime.now() - start).total_seconds() - float(duration)}s\n')
cv2.waitKey()
cv2.imshow('Input Image', in_img)
cv2.imshow('Reference Image', ref_pat)
cv2.imshow('Normalized Predicted Disparity', normalize_and_colormap(pred_disp))
cv2.imshow('Predicted Disparity', pred_disp)
key = cv2.waitKey()
if key == 113:
quit()
elif key == 101:
epoch = input('Enter epoch number or "latest"\n')
r = requests.post(f'{API_URL}/model/update/{epoch}')
print(r.text)

Loading…
Cancel
Save