You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/_index.md
+10-12Lines changed: 10 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,22 @@
1
1
---
2
2
title: Run a Computer Vision Model on a Himax Microcontroller
3
-
draft: true
4
-
cascade:
5
-
draft: true
3
+
6
4
minutes_to_complete: 90
7
5
8
-
who_is_this_for: This is an introduction topic explaining how to run a computer vision application on an embedded device from Himax. The example uses an off-the-shelf Himax WiseEye2 module which is based on Arm Cortex-M55 and Ethos-U55.
6
+
who_is_this_for: This is an introductory topic for developers who would like to learn about how to run a computer vision application on an embedded device from Himax.
9
7
10
8
learning_objectives:
11
-
- Run a you-only-look-once (YOLO) object detection model on the Himax device.
12
-
- Build the Himax Software Development Kit (SDK) and generate the firmware image file.
13
-
- Update the firmware on the Himax WiseEye2.
9
+
- Run a You-Only-Look-Once (YOLO) object detection model on a Himax WiseEye2 module.
10
+
- Build the Himax Software Development Kit (SDK) and generate a firmware image file.
11
+
- Update firmware on the Himax WiseEye2.
12
+
- Connect to and use Grove Vision AI module.
14
13
15
14
prerequisites:
16
15
- A [Seeed Grove Vision AI Module V2](https://www.seeedstudio.com/Grove-Vision-AI-Module-V2-p-5851.html) development board.
17
-
- An [OV5647-62 Camera Module](https://www.seeedstudio.com/OV5647-69-1-FOV-Camera-module-for-Raspberry-Pi-3B-4B-p-5484.html) and included FPC cable.
16
+
- An [OV5647-62 Camera Module](https://www.seeedstudio.com/OV5647-69-1-FOV-Camera-module-for-Raspberry-Pi-3B-4B-p-5484.html).
17
+
- A Flexible Printed Circuit (FPC) cable.
18
18
- A USB-C cable.
19
-
- An x86 Linux machine or a Mac running macOS with Apple Silicon.
19
+
- An x86 Linux machine, or a Mac running macOS.
20
20
21
21
author_primary: Chaodong Gong, Alex Su, Kieran Hejmadi
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/build-firmware.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Build the firmware
3
-
weight: 3
3
+
weight: 4
4
4
5
5
### FIXED, DO NOT MODIFY
6
6
layout: learningpathall
@@ -10,9 +10,9 @@ This section explains the process of generating a firmware image file.
10
10
11
11
## Clone the Himax GitHub project
12
12
13
-
Himax maintains a repository containing a few examples for the Seeed Grove Vision AI V2 board.
13
+
Himax maintains a repository containing a few examples that can be used with the Seeed Grove Vision AI V2 board.
14
14
15
-
It contains third-party software and scripts to build and flash the image with the object detection application. By recursively cloning the Himax examples repo, git will include the necessary sub-repositories that have been configured for the project.
15
+
It contains third-party software and scripts to build and flash the image with the object detection application. By recursively cloning the Himax examples repository, git includes the necessary subrepositories that have been configured for the project.
16
16
17
17
Clone the repository:
18
18
@@ -25,27 +25,27 @@ cd Seeed_Grove_Vision_AI_Module_V2
25
25
26
26
Use Make to compile the source code for object detection.
27
27
28
-
This takes up to 10 minutes depending on the number of CPU cores available on your host machine.
28
+
This can take up to 10 minutes depending on the number of CPU cores available on your host machine.
29
29
30
30
```bash
31
31
cd EPII_CM55M_APP_S
32
32
make
33
33
```
34
34
35
-
When the build is complete, you have an `.elf` file at `obj_epii_evb_icv30_bdv10/gnu_epii_evb_WLCSP65/EPII_CM55M_gnu_epii_evb_WLCSP65_s.elf`
35
+
When the build is complete, you will have an `.elf` file at `obj_epii_evb_icv30_bdv10/gnu_epii_evb_WLCSP65/EPII_CM55M_gnu_epii_evb_WLCSP65_s.elf`
36
36
37
37
## Generate the firmware image
38
38
39
39
The examples repository contains scripts to generate the image file.
40
40
41
-
Copy the `.elf` file to the `input_case1_secboot` directory.
41
+
Copy the `.elf` file to the `input_case1_secboot` directory:
Insert the Flexible printed circuit (FPC) into the Grove Vision AI V2 module. Lift the dark grey latch on the connector as per the image below.
26
+
Insert the Flexible Printed Circuit (FPC) into the Grove Vision AI V2 module.
27
+
28
+
Lift the dark grey latch on the connector as shown in the image below.
27
29
28
30

29
31
30
-
Slide the FPC connector in with the metal pins facing down and close the dark grey latch to fasten the connector.
32
+
* With the metal pins facing down, slide the FPC connector in.
33
+
* Close the dark grey latch to fasten the connector.
31
34
32
35

33
36
34
-
Now you can connect the Groove Vision AI V2 Module to your computer via the USB-C cable.
37
+
Now you can connect the Groove Vision AI V2 Module to your computer using the USB-C cable.
35
38
36
39
{{% notice Note %}}
37
-
The development board may have two USB-C connectors. If you are running into issues connecting the board in the next step, make sure you are using the right one.
40
+
The development board might have two USB-C connectors. If you are running into issues connecting the board in the next step, make sure you are using the correct USB-C connector.
38
41
{{% /notice %}}
39
42
40
43
## Find the COM port
41
44
42
-
You'll need to provide the communication port (COM) which the board is connected to in order to flash the image. There are commands to list all COMs available on your machine. Once your board is connected through USB, it'll show up in this list. The COM identifier will start with **tty**, which may help you determine which one it is. You can run the command before and after plugging in the board if you are unsure.
45
+
To flash the image, you need to provide the communication port (COM) which the board is connected to.
46
+
47
+
On your machine, you can find commands that you can use to list all COMs available to use. Once your board is connected through USB, it will appear on this list of available COMs.
48
+
49
+
The COM identifier is prefixed with **tty**, so you can use this to help you identify which COM it is. You can also run the command before and after plugging in the board if you are unsure, and look for the change in the list.
43
50
44
51
45
52
{{< tabpane code=true >}}
@@ -53,14 +60,14 @@ ls /dev/tty.*
53
60
54
61
55
62
{{% notice Note %}}
56
-
If the port seems unavailable, try changing the permissions temporarily using the `chmod` command. Be sure to reset them afterwards, as this may pose a computer security vulnerability.
63
+
If the port appears to be unavailable, try changing the permissions temporarily using the `chmod` command. Be sure to reset the permissions again afterwards, as otherwise this can pose a computer security vulnerability.
57
64
58
65
```bash
59
66
chmod 0777 <COM port>
60
67
```
61
68
{{% /notice %}}
62
69
63
-
The full path to the port is needed in the next step, so be sure to save it.
70
+
You will require the full path to the port in the next step, so be sure to save it.
64
71
65
72
## Flash the firmware onto the module
66
73
@@ -82,7 +89,7 @@ After the firmware image flashing is completed, the message `Do you want to end
82
89
83
90
## Run the model
84
91
85
-
After the reset button is pressed, the board will start inference with the object detection automatically. Observe the output in the terminal to verify that the image is built correctly. If a person is in front of the camera, you should see the `person_score` value go over`100`.
92
+
After the reset button is pressed, the board starts inference with the object detection automatically. Observe the output in the terminal to verify that the image is built correctly. If a person is in front of the camera, you should see the `person_score` value exceed`100`.
86
93
87
94
```output
88
95
b'SENSORDPLIB_STATUS_XDMA_FRAME_READY 240'
@@ -97,4 +104,4 @@ b'person_score:112'
97
104
b'EVT event = 10'
98
105
```
99
106
100
-
This means the image works correctly on the device, and the end-to-end flow is complete.
107
+
This means the image works correctly on the device, and the end-to-end flow is complete.
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/web-toolkit.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,6 +101,9 @@ The images below are captured images from the models run in the toolkit.
101
101
### Objection detection
102
102

103
103
104
+
The Frames Per Second (FPS) index represents the number of ML inferences the hardware can complete per second. A higher number indicates better performance. The colored bounding boxes represent the objects identified by YOLO. The name of the object is labelled in the top left-hand corner of the box, and the number in parentheses is the confidence level as a percentage. This example shows that it can identify 9.53 frames per second with a confidence level of 64% for the 'CPU' object.
105
+
104
106
### Face detection
105
107

106
108
109
+
Similar to the previous example, the bounding boxes identify the areas in the image that contain faces and recognize the positions of different facial features. This image shows that YOLO has identified a face with 99% confidence. It has marked the mouth with a yellow line segment and used different colours to mark the eyebrows, eyes, and nose. Within the bounding box for the eyes, it has further identified the gaze direction vector.
0 commit comments