Spaces:
Runtime error
Runtime error
import os | |
from datatypes.datatypes import ImageData | |
from datatypes.datatypes import TableDetectionData | |
class TableDetection(): | |
def __init__(self, feature_extractor, detection_model, threshold): | |
self.feature_extractor = feature_extractor | |
self.detection_model = detection_model | |
self.threshold = threshold | |
def table_detection_from_image(self, detection_image): | |
table_data_extraction = ImageData([]) | |
image_width, image_height = detection_image.size | |
detection_encoding = self.feature_extractor(detection_image, return_tensors='pt') | |
detection_output = self.detection_model(**detection_encoding) | |
detection_results = self.feature_extractor.post_process_object_detection(detection_output, threshold=0.3, target_sizes=[(image_height, image_width)]) | |
detection_results = detection_results[0] | |
# copying the detections | |
for score, label, bbox in zip((detection_results['scores']).tolist(), (detection_results['labels']).tolist(), (detection_results['boxes']).tolist()): | |
detection_table_results = TableDetectionData() | |
detection_table_results.detection_score = score | |
detection_table_results.detection_label = label | |
detection_table_results.detection_box = bbox | |
table_data_extraction.tables.append(detection_table_results) | |
return table_data_extraction | |