|
4 | 4 |
|
5 | 5 | # Abraia Vision SDK |
6 | 6 |
|
7 | | -The [Abraia Vision](https://abraia.me/vision/) SDK is a Python package which provides a set of tools to develop and deploy advanced Machine Learning image applications on the edge. Moreover, with [Abraia DeepLab](https://abraia.me/deeplab/) you can easily annotate and train, your own versions of some of the best state of the art deep learning models, and get them ready to deploy with this Python SDK. |
| 7 | +The [Abraia Vision](https://abraia.me/vision/) SDK helps developers create, customize, and deploy edge-ready vision applications. It unifies image processing, model training, and inference so you can transform visual data into production-ready solutions, including real-time video analysis and object tracking. |
8 | 8 |
|
9 | | -Just install the Abraia SDK and CLI on Windows, Mac, or Linux: |
| 9 | +Install the Abraia SDK and CLI on Windows, Mac, or Linux: |
10 | 10 |
|
11 | 11 | ```sh |
12 | 12 | python -m pip install -U abraia |
13 | 13 | ``` |
14 | 14 |
|
15 | | -And start using deep learning models ready to work on your local devices. |
| 15 | +With [Abraia DeepLab](https://abraia.me/deeplab/), you can annotate images, train custom classification, detection, and segmentation models, and export them for use in this Python SDK. |
16 | 16 |
|
17 | | -## Deep learning custom models and applications |
| 17 | +### People monitoring |
18 | 18 |
|
19 | | -Consult your problem or directly try to annotate your images and train a state-of-the-art model for classification, detection, or segmentation using [DeepLab](https://abraia.me/deeplab/). You can directly load and run the model on the edge using the browser or this Python SDK. |
20 | | - |
21 | | -### Object detection and tracking |
22 | | - |
23 | | -Identify and track multiple objects with a custom detection model on videos and camera streams, enabling real-time counting applications. You just need to use |
24 | | -the Video class to process every frame as is done for images, and use the tracker to follow each object through |
25 | | -every frame. |
| 19 | +Abraia SDK provides a set of tools to monitor people flow and waiting time in public spaces or commercial areas. You can easily implement queue monitoring or flow counting applications using the specialized tools available in the `abraia.inference.tools` module. |
26 | 20 |
|
27 | 21 | ```python |
28 | 22 | from abraia.inference import Model, Tracker |
29 | | -from abraia.utils import Video, render_results |
| 23 | +from abraia.inference.tools import LineCounter, RegionTimer |
| 24 | +from abraia.utils import Video, render_results, render_counter, render_region |
30 | 25 |
|
31 | 26 | model = Model("multiple/models/yolov8n.onnx") |
32 | | - |
33 | 27 | video = Video('images/people-walking.mp4') |
34 | 28 | tracker = Tracker(frame_rate=video.frame_rate) |
35 | | -for frame in video: |
36 | | - results = model.run(frame, conf_threshold=0.5, iou_threshold=0.5) |
| 29 | +line_counter = LineCounter([(0, 650), (1920, 650)]) |
| 30 | +region_timer = RegionTimer([(10, 600), (1690, 600), (1690, 700), (10, 700)]) |
| 31 | + |
| 32 | +for k, frame in enumerate(video): |
| 33 | + results = model.run(frame) |
| 34 | + results = [result for result in results if result['label'] == 'person'] |
37 | 35 | results = tracker.update(results) |
38 | | - frame = render_results(frame, results) |
| 36 | + in_count, out_count = line_counter.update(results) |
| 37 | + in_objects, out_objects = region_timer.update(results, k / video.frame_rate) |
| 38 | + frame = render_counter(frame, line_counter.line, f"In: {in_count} | Out: {out_count}") |
| 39 | + frame = render_region(frame, region_timer.region, f"Count: {len(in_objects)}") |
| 40 | + frame = render_results(frame, in_objects) |
39 | 41 | video.show(frame) |
40 | 42 | ``` |
41 | 43 |
|
@@ -92,7 +94,7 @@ show_image(img) |
92 | 94 |
|
93 | 95 |  |
94 | 96 |
|
95 | | -### Gender Age model |
| 97 | +### Gender Age estimation |
96 | 98 |
|
97 | 99 | Model to predict gender and age. It can be useful to anonymize minors faces. |
98 | 100 |
|
@@ -160,7 +162,7 @@ idxs, scores = search_vector(vector, image_index) |
160 | 162 | print(f"Similarity score is {scores[0]} for image {image_paths[idxs[0]]}") |
161 | 163 | ``` |
162 | 164 |
|
163 | | -## Hyperspectral image analysis toolbox |
| 165 | +## Hyperspectral imaging |
164 | 166 |
|
165 | 167 | The Multiple extension provides seamless integration of multispectral and hyperspectral images, providing support for straightforward HyperSpectral Image (HSI) analysis and classification. |
166 | 168 |
|
|
0 commit comments