Skip to content

Commit aca30ba

Browse files
committed
Merge branch 'dev-0.5'
2 parents 82e77e4 + 6e38260 commit aca30ba

28 files changed

+1820
-48
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,4 @@ cscope.out
6666
# Examples
6767
tests/examples/classification/classification
6868
tests/examples/detection/detection
69+
tests/examples/embedding/embedding

README.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,32 @@
1+
<a href="https://developer.ridgerun.com/wiki/index.php?title=GstInference"><img src="https://developer.ridgerun.com/wiki/images/thumb/9/92/GstInference_Logo_with_name.jpeg/600px-GstInference_Logo_with_name.jpeg" height="400" width="400"></a>
2+
13
# GstInference
24

3-
A GStreamer deep learning inference framework.
5+
>See the **[GstInference wiki](https://developer.ridgerun.com/wiki/index.php?title=GstInference)** for the complete documentation.
6+
7+
GstInference is an open-source project from Ridgerun Engineering that provides a framework for integrating deep learning inference into GStreamer. Either use one of the included elements to do out-of-the box inference using the most popular deep learning architectures, or leverage the base classes and utilities to support your own custom architecture.
8+
9+
This repo uses **[R²Inference](https://github.com/RidgeRun/r2inference)**, an abstraction layer in C/C++ for a variety of machine learning frameworks. With R²Inference a single C/C++ application may work with models on different frameworks. This is useful to execute inference taking advantage of different hardware resources such as CPU, GPU, or AI optimized acelerators.
10+
11+
GstInference provides several example elements for common applications, such as [`Inception v4`](ext/r2inference/gstinceptionv4.c) for image classification, [`TinyYOLO v2`](ext/r2inference/gsttinyyolov2.c) for object detection, and [`FaceNet`](ext/r2inference/gstfacenetv1.c) for face recognition. Examples are provided for performing inference on any GStreamer video stream.
12+
13+
<img src="https://developer.ridgerun.com/wiki/images/thumb/4/4f/GstInference-examples.jpeg/800px-GstInference-examples.jpeg" width="800">
14+
15+
## Installing GstInference
16+
17+
Follow the steps to get GstInference running on your platform:
18+
19+
* [Clone or download R²Inference](https://github.com/RidgeRun/r2inference)
20+
* [Build R²Inference](https://developer.ridgerun.com/wiki/index.php?title=R2Inference/Getting_started/Building_the_library)
21+
* [Clone or download GstInference](https://github.com/RidgeRun/gst-inference)
22+
* [Build GstInference](https://developer.ridgerun.com/wiki/index.php?title=GstInference/Getting_started/Building_the_plugin)
23+
24+
## Examples
25+
26+
We provide GStreamer [example pipelines](https://developer.ridgerun.com/wiki/index.php?title=GstInference/Example_pipelines) for all our suported platforms,architectures and backends.
27+
28+
We also provide [example applications](https://developer.ridgerun.com/wiki/index.php?title=GstInference/Example_Applications) for classification, detection and face recognition.
29+
30+
Our [smart lock](tests/examples/face_detection/README.md) example can get you started with a real security camera application.
431

5-
Please visit the official documentation hosted at:
6-
> http://developer.ridgerun.com/wiki/index.php?title=GstInference
32+
We also provide example trained models on our [model zoo](https://developer.ridgerun.com/wiki/index.php?title=GstInference/Model_Zoo)

configure.ac

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
55
dnl initialize autoconf
66
dnl releases only do -Wall, git and prerelease does -Werror too
77
dnl use a three digit version number for releases, and four for git/pre
8-
AC_INIT([GStreamer Inference],[0.4.0.1],[https://github.com/RidgeRun/gst-inference/issues],[gst-inference])
8+
AC_INIT([GStreamer Inference],[0.5.0.1],[https://github.com/RidgeRun/gst-inference/issues],[gst-inference])
99

1010
AG_GST_INIT
1111

@@ -387,6 +387,7 @@ tests/check/Makefile
387387
tests/Makefile
388388
tests/examples/classification/Makefile
389389
tests/examples/detection/Makefile
390+
tests/examples/embedding/Makefile
390391
tests/examples/Makefile
391392
tests/files/Makefile
392393
)

ext/opencv/gstclassificationoverlay.cc

+6-4
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ GST_DEBUG_CATEGORY_STATIC (gst_classification_overlay_debug_category);
3838
#define GST_CAT_DEFAULT gst_classification_overlay_debug_category
3939

4040
/* prototypes */
41-
static GstFlowReturn gst_classification_overlay_process_meta (GstVideoFrame *
42-
frame, GstMeta * meta, gdouble font_scale, gint thickness,
43-
gchar ** labels_list, gint num_labels);
41+
static GstFlowReturn
42+
gst_classification_overlay_process_meta (GstInferenceOverlay *
43+
inference_overlay, GstVideoFrame * frame, GstMeta * meta,
44+
gdouble font_scale, gint thickness, gchar ** labels_list, gint num_labels);
4445

4546
enum
4647
{
@@ -92,7 +93,8 @@ gst_classification_overlay_init (GstClassificationOverlay *
9293
}
9394

9495
static GstFlowReturn
95-
gst_classification_overlay_process_meta (GstVideoFrame * frame, GstMeta * meta,
96+
gst_classification_overlay_process_meta (GstInferenceOverlay *
97+
inference_overlay, GstVideoFrame * frame, GstMeta * meta,
9698
gdouble font_scale, gint thickness, gchar ** labels_list, gint num_labels)
9799
{
98100
GstClassificationMeta *class_meta;

ext/opencv/gstdetectionoverlay.cc

+6-4
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ GST_DEBUG_CATEGORY_STATIC (gst_detection_overlay_debug_category);
5050

5151
/* prototypes */
5252
static GstFlowReturn
53-
gst_detection_overlay_process_meta (GstVideoFrame * frame, GstMeta * meta,
54-
gdouble font_scale, gint thickness, gchar ** labels_list, gint num_labels);
53+
gst_detection_overlay_process_meta (GstInferenceOverlay * inference_overlay,
54+
GstVideoFrame * frame, GstMeta * meta, gdouble font_scale, gint thickness,
55+
gchar ** labels_list, gint num_labels);
5556

5657
enum
5758
{
@@ -101,8 +102,9 @@ gst_detection_overlay_init (GstDetectionOverlay * detection_overlay)
101102
}
102103

103104
static GstFlowReturn
104-
gst_detection_overlay_process_meta (GstVideoFrame * frame, GstMeta * meta,
105-
gdouble font_scale, gint thickness, gchar ** labels_list, gint num_labels)
105+
gst_detection_overlay_process_meta (GstInferenceOverlay * inference_overlay,
106+
GstVideoFrame * frame, GstMeta * meta, gdouble font_scale, gint thickness,
107+
gchar ** labels_list, gint num_labels)
106108
{
107109
GstDetectionMeta *detect_meta;
108110
gint i, width, height, channels;

0 commit comments

Comments
 (0)