Also, as of v0.3.3 of voxl-portal, you can directly download the mesh via the Map
page. This functionality is included in the latest sdk0.9 release
Best posts made by Matt Turi
-
RE: How to download gltf, obj, ply file without using cable to connect with drone and my mac
-
RE: Extract Depth From Depth Image
Hey @amiranda,
For the tof points, each axis is measured in meters, no scaling is needed.
-
RE: voxl streamer failing to create tflite pipe with latest version of code from master
It's up for both dev/stable branches
-
RE: voxl-tflite-server: "FATAL: Unsupported model provided!!"
@colerose we selected mobilenetv2 because of its exceptional performance on embedded devices - currently, inference time in the voxl-tflite-server is ~22ms per frame with very high precision. Also, the mobilenet family is fairly easy to retrain with a custom dataset!
-
RE: Modifying VOXL Portal
The public repo for voxl-portal lives here. For reference, our public gitlab repo where all our projects live is https://gitlab.com/voxl-public, and you can find links to source code throughout our docs at https://docs.modalai.com/.
-
RE: Source of ssdlite_mobilenet_v2_coco.tflite
@Steve-Arias said in Source of ssdlite_mobilenet_v2_coco.tflite:
re are mobile models in the model zoo mentioned that do have .tflite files but none of them have the exact .tflite file name of ssdlite_mobilenet_v2_coc
@Steve-Arias I will get some better documentation up on this subject soon, but for now please see the official Tensorflow guide on model conversion for TensorFlow 1.x models. The ssdlite_mobilenet_v2_coco.tflite was manually converted using this guide.
The functions of interest from the python api for this model specifically are:
tf.compat.v1.lite.TFLiteConverter.from_saved_model(): tf.compat.v1.lite.TFLiteConverter.from_frozen_graph():
as the TF1 detection zoo includes both the frozen inference graph as well as a saved model.
We also set these options within the converter to enable inference on the gpu. Below is an example for a mobilenet v1 conversion from a frozen graph:
import tensorflow as tf converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph( graph_def_file = '/path/to/.pb/file/tflite_graph.pb', input_arrays = ['normalized_input_image_tensor'], input_shapes={'normalized_input_image_tensor': [1,300,300,3]}, output_arrays = ['TFLite_Detection_PostProcess', 'TFLite_Detection_PostProcess:1', 'TFLite_Detection_PostProcess:2', 'TFLite_Detection_PostProcess:3'] ) // IMPORTANT: FLAGS MUST BE SET BELOW // converter.use_experimental_new_converter = True converter.allow_custom_ops = True converter.target_spec.supported_types = [tf.float16] tflite_model = converter.convert() with tf.io.gfile.GFile('mobilenet_converted.tflite', 'wb') as f: f.write(tflite_model)
-
RE: setting up voxl-portal
Once you have voxl-portal started either via the command line or as a service, you can access the webserver on a device within the same network just by navigating to your voxl's IP address.
-
RE: TOF SLAM
@alarm_hq be sure to pull the latest voxl-portal from the plot branch here, it is now updated with an option to switch between flycontrols / trackball controls. This will be compatible with the latest dev version of voxl-mapper as before!
-
RE: voxl-tflite-server abort
I flashed a VOXL with the 3.3.0 system image and installed voxl-tflite-server v0.1.8 but was unable to recreate the abort issue you are seeing. voxl-tflite-server is a very power-hungry application, and I have seen issues like this arise from a bad apm/power connection to the drone. If this is not the cause, it may be worth attempting to reflash your system after backing up any important files. The latest stable release for voxl is VOXL Platform 3.8.0-0.7.
-
RE: Subscribe to voxl_mpa_to_ros topics
If there is no
tflite_data
pipe, you may be using a version of voxl-tflite-server that does not have the ai_detection_t added yet. This feature was added in v0.2.0, so make sure you are using the latest available version!
Latest posts made by Matt Turi
-
RE: Is it possible to use uORB directly in a voxl module?
There is a mavlink message you can parse for barometer data, that is the code example I sent above. In that file as well, there is an example of calling px4-listener programmatically and parsing its output - see here
-
RE: Is it possible to use uORB directly in a voxl module?
Hi Dan,
You can directly subscribe to the mavlink output using the
mavlink_to_px4
pipe and check for messages of typeMAVLINK_MSG_ID_ALTITUDE
to receive barometer updates in an MPA server.See here for a code example.
-
RE: Tflight server multiple model
Hey @Tamas-Pal-0,
Have you read through the docs here: https://docs.modalai.com/voxl-tflite-server/#running-multiple-models?
Basically, you start an instance of the tflite-server, then re-edit the config file and start the next instance...and so on.
Here is an example of what the first instance's config file could be:
/** { "skip_n_frames": 0, "model": "/usr/bin/dnn/yolov5_float16_quant.tflite", "input_pipe": "/run/mpa/stereo/", "delegate": "gpu", "allow_multiple": true, "output_pipe_prefix": "yolo" }
After the first model is running, I edited the config to this for second instance:
{ "skip_n_frames": 0, "model": "/usr/bin/dnn/fastdepth_float16_quant.tflite", "input_pipe": "/run/mpa/stereo/", "delegate": "gpu", "allow_multiple": true, "output_pipe_prefix": "fastdepth" }
The, I started up another tflite-server via the cmd line.
Output of both running:
-
RE: Writing UVC frames to a file
voxl-record-video
is a utility that is included in voxl-mpa-tools, see here (https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/dev/tools/voxl-record-video.c) -
RE: Landing gear disturb tracking camera
Hey @Sem-Andeweg,
There are two options here for implementing a tracking mask in the qvio-server.
Within the camera callback in main.cpp (https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server/-/blob/master/server/main.cpp#L681), you can simply 0 out the pixel regions that you do not want to track.
Another option is providing a mask file name to the
mvVISLAM_Initialize
call here (https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server/-/blob/master/server/main.cpp#L397). According to the docs, this mask must be a "1/4 resolution image (w.r.t. VGA), 160 x 120, PGM format, the part of the camera view for which pixels are set to 255 is blocked from feature detection useful, e.g., to avoid detecting & tracking points on landing gear reaching into camera view." See https://developer.qualcomm.com/sites/default/files/docs/machine-vision-sdk/api/v1.2.13/group__mvvislam.html#ga6f8af5b410006a44dbcf59f7bc6a6b38 to read more. -
RE: Export map
voxl-suite >= 0.9 includes this feature, and you can use the latest platform release from our downloads page to get up to date. When you do a platform upgrade, you will lose everything that is not in your data partition so take care to back up anything you need before going ahead.
-
RE: Export map
Hey @g-ferrando,
You can also download the map in one of the supported formats via the Map page in voxl-portal. There is a download button on the right hand side if you are on the latest voxl-suite.
-
RE: VOXL 2 tflite & mpa to ROS topic issues
Hi @jonathankampia,
After running
voxl-mpa-to-ros
, you should see the/tflite_data
and/tflite
topics created as they just mirror the existing pipe names from the tflite-server.I am not sure what you are referencing with the tflite_detections topic, but if you could share the output of
voxl-version
,voxl-list-pipes
, as well as arostopic list
with the two services running I can help debug. -
RE: Platform release vs System Image... what's the difference?
Hi @Ed-Sutter,
A platform release just includes the latest sdk along with the system image build. As for voxl-configure-opkg, this was replaced by voxl-configure-pkg-manager with the same functionality.
-
RE: VOXL m500, mpa-to-ros not publishing tflite-data topic
This functionality was added to voxl-mpa-to-ros in v0.2.2 and it seems you have some very old software on this drone. I recommend upgrading to the latest sdk by downloading and flashing the VOXL Platform 0.9 release from https://developer.modalai.com/