sciveo 0.1.83__tar.gz → 0.1.84__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sciveo-0.1.83 → sciveo-0.1.84}/PKG-INFO +1 -1
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/gst_server.py +11 -3
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/rpi.py +7 -4
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/evaluation/object_detection.py +11 -5
- sciveo-0.1.84/sciveo/version.py +2 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/PKG-INFO +1 -1
- sciveo-0.1.83/sciveo/version.py +0 -2
- {sciveo-0.1.83 → sciveo-0.1.84}/README.md +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/api/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/api/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/api/predictors.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/api/server.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/api/upload.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/cli.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/common/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/common/configuration.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/common/model.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/common/optimizers.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/common/sampling.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/content/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/content/dataset.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/content/experiment.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/content/project.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/content/runner.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/db/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/db/read_table.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/cam.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/draw.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/asteroid.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/base_move.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/circle.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/game.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/geometrics.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/gravity_ball.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/laser.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/rocket.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/space_asteroids.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/games/asteroids/volume_bar.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/motion_detection.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/nvr.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/readers.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/capture/rtsp.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/encoders/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/encoders/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/encoders/normalizer.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/nlp/search.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/time_series/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/time_series/dataset.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/time_series/predictor.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/time_series/trainer.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/ml/time_series/window_generator.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/job_daemon.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/layouts/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/layouts/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/pipeline.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/postprocessors/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/postprocessors/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/postprocessors/default.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/audio/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/audio/audio.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/aws.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/file/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/file/archive.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/album.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/album_in_image.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/depth_esimation.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/embeddings.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/filters.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/generators.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/histogram.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/mask.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/object_detection.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/resize.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/segmentation.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/image/watermark.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/media_info.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/nlp/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/nlp/address.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/qr.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/dataset.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/predictor.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/trainer.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/tpu_base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/generators.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/motion_detection.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/resize.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/video_album.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/video_frames.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/video/video_resample.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/queues.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/server.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/web/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/web/server.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/tools/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/tools/video_interactive.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/dataset/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/dataset/object_detection.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/evaluation/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/evaluation/markdown.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/description.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/embeddings.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/object_detection.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/tools.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/images/transformers.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/nlp/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/nlp/embeddings.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/nlp/tokenizers/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/nlp/tokenizers/bpe.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/video/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/ml/video/description.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/monitor.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/power/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/power/ems300.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/power/sim.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/power/tools.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/start.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/watchdog/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/watchdog/base.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/monitoring/watchdog/process.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/network/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/network/camera.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/network/sniffer.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/network/tools.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/array.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/aws/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/aws/priority_queue.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/aws/s3.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/common.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/complexity.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/compress.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/configuration.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/crypto.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/daemon.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/draw/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/draw/contours.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/formating.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/hardware.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/http.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/logger.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/os.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/queue.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/random.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/remote.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/simple_counter.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/synchronized.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/timers.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/tools/totp.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/web/__init__.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo/web/common.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/SOURCES.txt +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/dependency_links.txt +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/entry_points.txt +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/requires.txt +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/sciveo.egg-info/top_level.txt +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/setup.cfg +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/setup.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_complexity.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_compress.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_configuration.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_crypto.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_eval_markdown.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_ml_datasets.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_monitoring.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_runner.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_sampling.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_tokenizers.py +0 -0
- {sciveo-0.1.83 → sciveo-0.1.84}/test/test_totp.py +0 -0
|
@@ -146,12 +146,20 @@ class CamFactory(ColorBarFactory):
|
|
|
146
146
|
self.cam = CameraDaemon(cam_id=self.cam_id)
|
|
147
147
|
|
|
148
148
|
def next_frame(self):
|
|
149
|
-
|
|
149
|
+
try:
|
|
150
|
+
frame = self.cam.read()
|
|
151
|
+
except Exception as e:
|
|
152
|
+
exception(e, "CAM frame read FAIL")
|
|
153
|
+
frame = None
|
|
154
|
+
|
|
150
155
|
if frame is None:
|
|
151
156
|
frame = super().next_frame()
|
|
152
157
|
|
|
153
|
-
|
|
154
|
-
self.
|
|
158
|
+
try:
|
|
159
|
+
for k, v in self.configuration.get("draw", {}).items():
|
|
160
|
+
self.list_draw_processors.get(k, DrawNone())(frame, v)
|
|
161
|
+
except Exception as e:
|
|
162
|
+
exception(e, "DRAW FAIL")
|
|
155
163
|
|
|
156
164
|
self.fps_next_frame.update()
|
|
157
165
|
|
|
@@ -46,10 +46,13 @@ class RPICamera(CameraDaemon):
|
|
|
46
46
|
self.picam2.stop()
|
|
47
47
|
|
|
48
48
|
def read_frame(self):
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
self.
|
|
49
|
+
try:
|
|
50
|
+
frame = self.picam2.capture_array()
|
|
51
|
+
cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
|
|
52
|
+
with self.lock_frame:
|
|
53
|
+
self.frame = frame
|
|
54
|
+
except Exception as e:
|
|
55
|
+
exception(e, "CAM frame read FAIL")
|
|
53
56
|
|
|
54
57
|
|
|
55
58
|
class RPICameraFactory(CamFactory):
|
|
@@ -105,7 +105,6 @@ class EvalObjectDetection:
|
|
|
105
105
|
count_labels = 0
|
|
106
106
|
true_positives = []
|
|
107
107
|
false_positives = []
|
|
108
|
-
detected = []
|
|
109
108
|
|
|
110
109
|
for i, prediction in enumerate(self.converted_predictions):
|
|
111
110
|
current_predictions = prediction.get(class_name, [])
|
|
@@ -113,6 +112,8 @@ class EvalObjectDetection:
|
|
|
113
112
|
|
|
114
113
|
count_labels += len(current_labels)
|
|
115
114
|
|
|
115
|
+
detected = set()
|
|
116
|
+
|
|
116
117
|
for prediction_box in current_predictions:
|
|
117
118
|
if prediction_box[4] < confidence_threshold:
|
|
118
119
|
continue
|
|
@@ -126,10 +127,12 @@ class EvalObjectDetection:
|
|
|
126
127
|
max_iou = iou
|
|
127
128
|
gt_match = label_box
|
|
128
129
|
|
|
129
|
-
if gt_match is not None
|
|
130
|
+
gt_match_key = tuple([round(x, 6) for x in gt_match]) if gt_match is not None else None
|
|
131
|
+
|
|
132
|
+
if gt_match is not None and gt_match_key not in detected:
|
|
130
133
|
true_positives.append(1)
|
|
131
134
|
false_positives.append(0)
|
|
132
|
-
detected.
|
|
135
|
+
detected.add(gt_match_key)
|
|
133
136
|
else:
|
|
134
137
|
true_positives.append(0)
|
|
135
138
|
false_positives.append(1)
|
|
@@ -143,7 +146,8 @@ class EvalObjectDetection:
|
|
|
143
146
|
FP = np.sum(false_positives) / (count_labels + 1e-20)
|
|
144
147
|
|
|
145
148
|
# Compute AP using the trapezoidal rule (integrating precision over recall)
|
|
146
|
-
|
|
149
|
+
order = np.argsort(recall)
|
|
150
|
+
ap = np.trapezoid(precision[order], recall[order])
|
|
147
151
|
return ap, FP
|
|
148
152
|
|
|
149
153
|
# TODO: Use simple gradient-based threshold optimisation instead of current grid search.
|
|
@@ -199,13 +203,15 @@ class EvalObjectDetection:
|
|
|
199
203
|
|
|
200
204
|
def evaluate(self, confidence_thresholds={"default": 0.0}):
|
|
201
205
|
"""
|
|
202
|
-
|
|
206
|
+
Non-classical AP-related FP-constrained AP@IoU=0.5 calculation
|
|
203
207
|
"""
|
|
204
208
|
|
|
205
209
|
aps = []
|
|
206
210
|
class_ap = {}
|
|
207
211
|
class_FP = {}
|
|
208
212
|
|
|
213
|
+
info("Evaluating non-classical FP-constrained AP@IoU=0.5")
|
|
214
|
+
|
|
209
215
|
for class_name in self.class_names:
|
|
210
216
|
ap, FP = self.compute_ap(class_name, confidence_thresholds.get(class_name, confidence_thresholds["default"]))
|
|
211
217
|
aps.append(ap)
|
sciveo-0.1.83/sciveo/version.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/audio/audio_extractor_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/__init__.py
RENAMED
|
File without changes
|
{sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/predictor.py
RENAMED
|
File without changes
|
{sciveo-0.1.83 → sciveo-0.1.84}/sciveo/media/pipelines/processors/sci/time_series/trainer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|