use nms in the model itself, simplify and make postprocess faster.

make inference in batches, fix c# handling, add overlap handling
This commit is contained in:
Alex Bezdieniezhnykh
2025-02-10 14:55:00 +02:00
parent ba3e3b4a55
commit c1b5b5fee2
19 changed files with 259 additions and 140 deletions
+8 -8
View File
@@ -1,5 +1,5 @@
from remote_command cimport RemoteCommand
from annotation cimport Annotation
from annotation cimport Annotation, Detection
from ai_config cimport AIRecognitionConfig
cdef class Inference:
@@ -14,14 +14,14 @@ cdef class Inference:
cdef int model_height
cdef bint is_video(self, str filepath)
cdef run_inference(self, RemoteCommand cmd, int batch_size=?)
cdef _process_video(self, RemoteCommand cmd, int batch_size)
cdef _process_image(self, RemoteCommand cmd)
cdef run_inference(self, RemoteCommand cmd)
cdef _process_video(self, RemoteCommand cmd, str video_name)
cdef _process_images(self, RemoteCommand cmd, list[str] image_paths)
cdef stop(self)
cdef preprocess(self, frame)
cdef postprocess(self, output, int img_width, int img_height)
cdef preprocess(self, frames)
cdef remove_overlapping_detections(self, list[Detection] detections)
cdef postprocess(self, output)
cdef split_list_extend(self, lst, chunk_size)
cdef detect_frame(self, frame, long time)
cdef bint is_valid_annotation(self, Annotation annotation)