Downtown, photo: Avisa Nordland
Arduino Portenta H7
3D house model
3D icicle models purchased at Turbo Squid
3D icicle models exported from Blender
Semantics Schema Editor
.py
and preferably placed close to the stage USD-file. Here is a sample of such a program: replicator_init.py:
To keep the items generated in our script separate from the manually created content, we start by creating a new layer in the 3D stage:
.png
files. Note that labels are created setting bounding_box_2d_loose. This is used in this case instead of bounding_box_2d_tight as the latter in some cases would not include the tip of the icicles in the resulting bounding box. It also creates labels from the previously defined semantics. The code ends with running a single iteration of the process in Omniverse Code, so we can preview the results.
The bounding boxes can be visualized by clicking the sensor widget, checking “BoundingBox2DLoose” and finally “Show Window”.
Omniverse bounding box
Produced images
Random background color
Random background color
Random background grayscale
Random background texture
Random background texture, camera perspective
Random background texture
Sun Study
Sun Study
Sun Study
launch.json
like this:
bounding_boxes.labels
that contains all labels and bounding boxes per image.
bounding_boxes.labels
. To switch project if necessary, first run:
2000 images
6000 images
14000 images
26000 images
Model testing
Edge Impulse extension
Sun Study in Isaac Sim
Edge Impulse extension API key
Edge Impulse WebAssembly
Isaac Sim viewport resolution
Isaac Sim sensors
Isaac Sim model testing
Isaac Sim model testing
Isaac Sim model testing
Edge Impulse Studio Deployment OpenMV Firmware
ei_object_detection.py
code. Remember to change: sensor.set_pixformat(sensor.GRAYSCALE)
. The file edge_impulse_firmware_arduino_portenta.bin
is our firmware for the Arduino Portenta H7 with Vision shield.
Testing model on device with OpenMV
Deploy model as Arduino compatible library
loop()
function.
Arduino compatible library example sketch
The Things Network
The Things Stack application
The Things Stack device
LoraSendAndReceive
included with the MKRWAN(v2) library mentioned in the Arduino guide. There is an example of this for you in the project code repository, where you can find an Arduino sketch with the merged code.
Arduino transmitting inference results over LoRaWAN
1
to the The Things Stack application. It is probably obvious that the binary payload is redundant, the presence of a message is enough, but this could be extended to transmit other data, for example the prediction confidence, number of clusters, battery level, temperature or light level.
Arduino Portenta H7 power specs
Arduino Portenta H7 pin-out
Otii Arc hook-up
Otii Arc power profile
YR weather API
The Things Stack decoder
The Things Stack live data
paho-mqtt
has been used in a way so that it will block the program execution until two messages have been received. Then it will print the topic and payloads. In a real implementation, it would be better to register a callback and perform some action for each message received.
"decoded_payload":{"detected":true}
.
TTS has a range of integration options for specific platforms, or you could set up a custom webhook using a standard HTTP/REST mechanism.
Markers to avoid false negatives
Object scale
Icicle grouping
AULSSON\_EBBA
Martin Cathrae
Grayscale