mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 06:46:30 +00:00
fde9a9f418
also restrict detections to be no bigger than in classes.json
48 lines
2.1 KiB
Cython
48 lines
2.1 KiB
Cython
from ai_availability_status cimport AIAvailabilityStatus
|
|
from remote_command_inf cimport RemoteCommand
|
|
from annotation cimport Annotation, Detection
|
|
from ai_config cimport AIRecognitionConfig
|
|
from loader_client cimport LoaderClient
|
|
from inference_engine cimport InferenceEngine
|
|
from remote_command_handler_inf cimport RemoteCommandHandler
|
|
|
|
cdef class Inference:
|
|
cdef LoaderClient loader_client
|
|
cdef InferenceEngine engine
|
|
cdef RemoteCommandHandler remote_handler
|
|
cdef Annotation _previous_annotation
|
|
cdef dict[str, list(Detection)] _tile_detections
|
|
cdef dict[str, int] detection_counts
|
|
cdef AIRecognitionConfig ai_config
|
|
cdef bint stop_signal
|
|
cdef public AIAvailabilityStatus ai_availability_status
|
|
|
|
cdef str model_input
|
|
cdef int model_width
|
|
cdef int model_height
|
|
|
|
cdef bytes _converted_model_bytes
|
|
cdef bytes get_onnx_engine_bytes(self)
|
|
cdef convert_and_upload_model(self, bytes onnx_engine_bytes, str engine_filename)
|
|
cdef init_ai(self)
|
|
cdef bint is_building_engine
|
|
cdef bint is_video(self, str filepath)
|
|
|
|
cdef run_inference(self, RemoteCommand cmd)
|
|
cdef _process_video(self, RemoteCommand cmd, AIRecognitionConfig ai_config, str video_name)
|
|
cdef _process_images(self, RemoteCommand cmd, AIRecognitionConfig ai_config, list[str] image_paths)
|
|
cdef _process_images_inner(self, RemoteCommand cmd, AIRecognitionConfig ai_config, list frame_data, double ground_sampling_distance)
|
|
cdef on_annotation(self, RemoteCommand cmd, Annotation annotation)
|
|
cdef split_to_tiles(self, frame, path, tile_size, overlap_percent)
|
|
cdef stop(self)
|
|
|
|
cdef preprocess(self, frames)
|
|
cdef send_detection_status(self, client_id)
|
|
cdef remove_overlapping_detections(self, list[Detection] detections, float confidence_threshold=?)
|
|
cdef postprocess(self, output, ai_config)
|
|
cdef split_list_extend(self, lst, chunk_size)
|
|
|
|
cdef bint is_valid_video_annotation(self, Annotation annotation, AIRecognitionConfig ai_config)
|
|
cdef bint is_valid_image_annotation(self, Annotation annotation, double ground_sampling_distance, frame_shape)
|
|
cdef remove_tiled_duplicates(self, Annotation annotation)
|