yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
RDK S100(P) Board📖
0. RDK S100(P) Developer Kit
  • 1. RDK S100(P) Official Tutorial
1. Introduction to RDK S100(P) Development Board
  • 1.1 Introduction to the RDK S100(P) Development Board
  • 1.2 Install Operating System
  • 1.3 Interface Descriptions
  • 1.4 Accessory installation
  • 1.5 Camera Expansion Board
  • 1.6 MCU Port Expansion Board
  • 1.7 Precautions for using 15.6-inch screens
2. Basic Settings Course
  • 2.1 Network Configuration
  • 2.2 Remote Login
  • 2.3 System Update
  • 2.4 Boot Auto-Start Configuration
  • 2.5 RDK Exclusive Command Usage
  • 2.6 Linux Command Usage
  • 2.7 Example of GPIO read and write operations
  • 2.8 Using USB Camera
  • 2.9 Using MIPI Camera
  • 2.10 SSD mounting
  • 2.11 Binocular camera depth algorithm
3. TogetheROS.Bot Vision Applications
  • 1. About TogetheROS. Bot
  • 2. System Installation
  • 3. Object Detection(YOLO)
  • 4. Image Classification(mobilenetv2)
  • 5. Image Segmentation(mobilenet_unet)
  • 6. Perception Algorithm(BEV)
  • 7. Human Detection and Tracking (Ultralytics YOLO Pose)
4.Offline AI model course
Offline large model (Text Interaction)
  • 1. AI large model environment deployment
  • 2. Install large model dialogue platform
  • 3. Meta AI Llama 3.2 model
  • 4. Alibaba Cloud Qwen3 model
  • 5. Microsoft Phi-4 mini model
  • 6. DeepSeek - DeepSeek-R1 model
  • 7. Alibaba Cloud Qwen2.5vl Visual Multimodal Large Model
  • 8. Google Gemma3 Visual Multimodal Large Model
  • 9. Lava Visual Multimodal Large Model
  • 10. MiniCPM-V Visual Multimodal Large Model
  • 11. Multimodal visual understand application
  • 12. Multimodal text to image application
  • 13. Multimodal visual localization application
  • 14. Multimodal table scanning application
  • 15. Multimodal Autonomous Agent Applications
Offline large model (Voice Interaction)
  • 0. Voice Interaction Hardware Connection (Must Read)
  • 1. Offline speech-to-text (ASR)
  • 2. Offline Text-to-Speech (TTS)
  • 3.AI large model voice interaction
  • 4. Multimodal visual understanding voice interaction
  • 5. Multimodal Text-to-Image application
  • 6. Multimodal video analytics application
  • 7. Multimodal visual localization application
  • 8. Multimodal table scanning application
  • 9. Multimodal autonomous agent application
  • 10. AI Large Model Offline Voice Assistant
5.Online AI model course
Online large model (Text Interaction)
  • 1.OpenRouter large model API aggregation platform
  • 2.Multimodal visual understand application
  • 3.Multimodal visual localization application
  • 4.Multimodal table scanning application
  • 5.Multimodal autonomous agent application
Online large model (Voice Interaction)
  • 0.Voice interaction hardware connection (ReadMe)
  • 1.Online speech to text (ASR)
  • 2.Online text to speech (TTS)
  • 3.AI large model voice interaction
  • 4.Multimodal visual understand speech interaction
  • 5.Multimodal visual localization application
  • 6.Multimodal table scanning application
  • 7.Multimodal autonomous proxy application
  • 8.AI large model online voice assistant
6.YOLO26 tutorials
  • 01.YOLO26 environment
  • 02.CLI use
  • 03.Object detection
  • 04.Instance segmentation
  • 05.Pose estimation
  • 06.Image classification
  • 07.Oriented object detection
  • 08.Model conversion
  • 09.Dataset annotation
  • 10.Model training - conversion
  • 11.Model prediction
7.OpenClaw Advanced Development
  • 1.OpenClaw Deployment
  • 2.OpenClaw WhatsApp Plugin Application
  • 3.OpenClaw WebChat Interaction
  • 4.OpenClaw TUI Interaction
  • 5.OpenClaw Tools Introduction
  • 6.OpenClawGate Gateway User Manual
  • 7.OpenClaw Features Overview
  • 8.OpenClawClawHub Introduction (Skill Installation)
  • 9.OpenClaw Application - File Management
  • 10.OpenClaw Application - Camera
  • 11.OpenClaw Application - Browser Control
  • 12.OpenClaw Application - Script Execution
  • 13.OpenClaw Application - AI Programming (Peripheral & GPIO Control)
  • 14.OpenClaw Application - Dedicated AI Assistant
  • 15.OpenClaw Web Search Capability Configuration
8.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • Annex_File
  • Code
Download ZIP

Welcome to RDK S100(P) Board repository

09.Dataset annotation

Dataset Annotation

Dataset Annotation1. Dataset Collection1.1. Image Extraction1.2. Dataset Paths2. Label Studio Usage2.1. Label Studio Installation2.2. Label Studio Launch2.2.3. Access Label StudioHost MachineSame Local NetworkFirst Use3. Dataset Annotation3.1. Create Project3.2. Project Name3.3. Import Training Set3.4. Label Settings3.5. Dataset Annotation3.6. Export Dataset3.7. Dataset Directory Structure3.8. Dataset Configuration FileReferences

For recognizing specific objects or improving object recognition accuracy, users need to train their own models, and dataset collection and annotation are indispensable parts of this process.

1. Dataset Collection

Description: For recognizing specific scenarios, users can use cameras to record videos of objects from various angles, then extract images from the videos as training sets.

1.1. Image Extraction

Provide a simple example: extract one frame image from video every 15 frames as dataset

​x
import cv2
import os
​
# Path to the input video file
video_file = '/home/pi/ultralytics26/data/yahboom_data/orange_video/orange.mkv'
​
# Path to the output folder to save the frames
output_folder = '/home/pi/ultralytics26/data/yahboom_data/orange_pic'
​
# Check if the output folder exists, if not, create it
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
​
# Open the video file using OpenCV
cap = cv2.VideoCapture(video_file)
​
# Get the total number of frames in the video
total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
​
# Get the frames per second (fps) of the video
fps = cap.get(cv2.CAP_PROP_FPS)
​
# Frame counter to keep track of the current frame number
frame_number = 0
​
# Define the interval for extracting frames (every 15th frame)
frame_interval = 15
​
# Initialize a new counter for saved frames (starting from 1)
saved_frame_number = 1
​
while True:
    ret, frame = cap.read()
    
    # If the frame is not successfully read, exit the loop
    if not ret:
        break
​
    # Save every 15th frame
    if frame_number % frame_interval == 0:
        # Format the frame number starting from 1 (e.g., 1.png, 2.png)
        image_name = f'{saved_frame_number}.png'
        image_path = os.path.join(output_folder, image_name)
​
        # Save the current frame as a PNG image
        cv2.imwrite(image_path, frame)
        print(f'Saving frame {frame_number}/{total_frames} as {image_name}')
​
        # Increment the saved frame counter
        saved_frame_number += 1
​
    # Increment the frame counter for the video
    frame_number += 1
​
# Release the video capture object
cap.release()
​
# Print message when processing is complete
print("Video processing complete! Every 15th frame saved as an image!")

1.2. Dataset Paths

Example video: /home/pi/ultralytics26/data/yahboom_data/orange_video

Example images: /home/pi/ultralytics26/data/yahboom_data/orange_pic

2. Label Studio Usage

Label Studio is an open-source data annotation platform used for data annotation and annotation task management, supporting various types of data input and annotation formats.

2.1. Label Studio Installation

xxxxxxxxxx
pip install label-studio -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

2.2. Label Studio Launch

Terminal input:

xxxxxxxxxx
label-studio start

image-20260326160401944

2.2.3. Access Label Studio

Host Machine

For Pi Orin series development boards, access requires entering username and password for first-time access

xxxxxxxxxx
http://localhost:8080/

image-20241231172119675

Same Local Network

Devices on the same local network can access via board IP:8080

xxxxxxxxxx
http://boardIP:8080/ # Example: http://192.168.2.99:8080/

image-20241231172358672

First Use

First-time use requires registering and logging into an account. Factory default account information (account information is fake):

xxxxxxxxxx
Account: yahboom@163.com
Password: yahboom@163.com

image-20241231173648480

image-20241231173626233

After registration is complete, the website will automatically log in:

image-20241231173724692

3. Dataset Annotation

The demonstration dataset is on the main board, so access Label Studio on the board.

3.1. Create Project

image-20250102101422924

3.2. Project Name

Project name can be named freely, name it according to your training set:

image-20250102101957666

3.3. Import Training Set

Manually import the prepared dataset: cannot import too many images at once, recommend selecting 50-100 images each time, then import multiple times

image-20250102102239968

3.4. Label Settings

We are demonstrating orange recognition, so select "Object Detection"

image-20250102102330629

Delete built-in labels:

image-20250102110751207

Add new labels:

image-20250102110916438

3.5. Dataset Annotation

Click annotate all tasks:

image-20250102111059058

Annotation steps: first click label "Orange" then use mouse to select the corresponding oranges in the image, after completion click submit to go to next annotation

image-20250102111243857

If the selected object is not a complete orange, you can click the selected box to readjust the position of each edge:

image-20250102112923490

3.6. Export Dataset

Select YOLO format for export, browser will automatically download a compressed package

image-20250102121400695

image-20250102121600423

3.7. Dataset Directory Structure

Directory structure corresponding to the compressed package exported by Label Studio:

xxxxxxxxxx
.
├── images
├── labels
├── classes.txt
└── notes.json

We need to separate the images and labels exported by Label Studio into train (training set) and val (validation set), with a ratio of approximately 8:2. The images and labels in both train and val need to have corresponding names.

xxxxxxxxxx
.
├── classes.txt
├── notes.json
├── train
│   ├── images
│   └── labels
└── val
    ├── images
    └── labels

3.8. Dataset Configuration File

Contains paths to training and validation sets, as well as the number and names of classes.

xxxxxxxxxx
path: /home/sunrise/ultralytics26/data/yahboom_data/orange_data
train: train/images
val: val/images
​
nc: 1
​
# Classes
names:
  0: Orange

References

https://github.com/HumanSignal/label-studio

Model conversion
Model training - conversion

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文