dungnt7 commited on
Commit
efed173
1 Parent(s): 7361420

[App] Filter low confidence ceil

Browse files
Files changed (1) hide show
  1. app.py +15 -8
app.py CHANGED
@@ -25,7 +25,7 @@ st.write(
25
  config = Cfg.load_config_from_name('vgg_seq2seq')
26
  config['cnn']['pretrained'] = False
27
  config['device'] = 'cpu'
28
- config['predictor']['beamsearch'] = True
29
  detector = Predictor(config)
30
 
31
  table_detection_model = TableTransformerForObjectDetection.from_pretrained(
@@ -43,8 +43,11 @@ def cv_to_PIL(cv_img):
43
  return Image.fromarray(cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB))
44
 
45
 
46
- async def pytess(cell_pil_img):
47
- text = detector.predict(cell_pil_img)
 
 
 
48
  return text.strip()
49
 
50
 
@@ -457,9 +460,10 @@ class TableExtractionPipeline():
457
  return df
458
 
459
  async def start_process(self, image_path: str, TD_THRESHOLD, TSR_THRESHOLD,
460
- padd_top, padd_left, padd_bottom, padd_right,
461
- delta_xmin, delta_ymin, delta_xmax, delta_ymax,
462
- expand_rowcol_bbox_top, expand_rowcol_bbox_bottom):
 
463
  '''
464
  Initiates process of generating pandas dataframes from raw pdf-page images
465
 
@@ -516,7 +520,8 @@ class TableExtractionPipeline():
516
  # img = self.add_padding(img, 10,10,10,10)
517
  # plt.imshow(img)
518
  # c3.pyplot()
519
- sequential_cell_img_list.append(pytess(img))
 
520
 
521
  cell_ocr_res = await asyncio.gather(*sequential_cell_img_list)
522
 
@@ -533,9 +538,10 @@ class TableExtractionPipeline():
533
  if __name__ == "__main__":
534
 
535
  img_name = st.file_uploader("Upload an image with table(s)")
536
- st1, st2 = st.columns((1, 1))
537
  TD_th = st1.slider('Table detection threshold', 0.0, 1.0, 0.8)
538
  TSR_th = st2.slider('Table structure recognition threshold', 0.0, 1.0, 0.8)
 
539
 
540
  st1, st2, st3, st4 = st.columns((1, 1, 1, 1))
541
 
@@ -551,6 +557,7 @@ if __name__ == "__main__":
551
  te.start_process(img_name,
552
  TD_THRESHOLD=TD_th,
553
  TSR_THRESHOLD=TSR_th,
 
554
  padd_top=padd_top,
555
  padd_left=padd_left,
556
  padd_bottom=padd_bottom,
 
25
  config = Cfg.load_config_from_name('vgg_seq2seq')
26
  config['cnn']['pretrained'] = False
27
  config['device'] = 'cpu'
28
+ config['predictor']['beamsearch'] = False
29
  detector = Predictor(config)
30
 
31
  table_detection_model = TableTransformerForObjectDetection.from_pretrained(
 
43
  return Image.fromarray(cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB))
44
 
45
 
46
+ async def pytess(cell_pil_img, threshold: float = 0.5):
47
+ text, prob = detector.predict(cell_pil_img, return_prob=True)
48
+ st.write(prob)
49
+ if prob < threshold:
50
+ return ""
51
  return text.strip()
52
 
53
 
 
460
  return df
461
 
462
  async def start_process(self, image_path: str, TD_THRESHOLD, TSR_THRESHOLD,
463
+ OCR_THRESHOLD, padd_top, padd_left, padd_bottom,
464
+ padd_right, delta_xmin, delta_ymin, delta_xmax,
465
+ delta_ymax, expand_rowcol_bbox_top,
466
+ expand_rowcol_bbox_bottom):
467
  '''
468
  Initiates process of generating pandas dataframes from raw pdf-page images
469
 
 
520
  # img = self.add_padding(img, 10,10,10,10)
521
  # plt.imshow(img)
522
  # c3.pyplot()
523
+ sequential_cell_img_list.append(
524
+ pytess(cell_pil_img=img, threshold=OCR_THRESHOLD))
525
 
526
  cell_ocr_res = await asyncio.gather(*sequential_cell_img_list)
527
 
 
538
  if __name__ == "__main__":
539
 
540
  img_name = st.file_uploader("Upload an image with table(s)")
541
+ st1, st2, st3 = st.columns((1, 1, 1))
542
  TD_th = st1.slider('Table detection threshold', 0.0, 1.0, 0.8)
543
  TSR_th = st2.slider('Table structure recognition threshold', 0.0, 1.0, 0.8)
544
+ OCR_th = st3.slider("Text Probs Threshold", 0.0, 1.0, 0.5)
545
 
546
  st1, st2, st3, st4 = st.columns((1, 1, 1, 1))
547
 
 
557
  te.start_process(img_name,
558
  TD_THRESHOLD=TD_th,
559
  TSR_THRESHOLD=TSR_th,
560
+ OCR_THRESHOLD=OCR_th,
561
  padd_top=padd_top,
562
  padd_left=padd_left,
563
  padd_bottom=padd_bottom,