yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
Transbot SE📖
01.Introduction to Transbot SE
  • 01. Introduction to Transbot SE
  • 02. Precautions for use and battery safety
  • 03. First Trial
02.First Trial
  • 2.1.APP control
  • 2.2.USB wireless handle control(Optional)
  • 2.3.Handle video control Transbot(Optional)
  • 2.4.Network configuration tutorial in hotspot mode
03.Hardware control course
  • 3.1About expansion board and update firmware
  • 3.2.Close self-starting process
  • 3.3.Install Transbot library
  • 3.4.Control buzzer and button
  • 3.5.Control PWM servo
  • 3.6.Control bus servo
  • 3.7.Control motor
  • 3.8.Control robot movement
04.Linux operating system
  • 1. Virtual machine installation and use
  • 2. Linux basics
  • 3. Remote control
  • 4. Multi-machine communication configuration
  • 5. Static IP and hotspot mode
  • 6. Web page real-time monitoring
  • 7. Expansion tutorial
  • 8. Write system images
05.Docker couse(For Pi5)
  • 1.Docker overview and docker installation
  • 2.Common commands for docker image containers
  • 3.Docker images deeply understand and publish images
  • 4.Docker hardware interaction and data processing
  • 5.Start the transbot se container
06.ROS basic course
  • 1.ROS introduction
  • 2.Project file structure
  • 3.Common commands and tools
  • 4.Publisher
  • 5.Subscribers
  • 6.Customize topic messages and use
  • 7.Client
  • 8.Server
  • 9.Custom service messages and usage
  • 10.TF release and monitoring
07.OpenCV courses
  • 1. Getting started with Open Source CV
  • 2. Open Source CV geometric transformation
  • 3. Open Source CV image processing and drawing text line segments
  • 4. Open Source CV image beautification
  • 5. Opencv application
  • 6. AR vision
  • 7. AR QR code
  • 8. ROS+Opencv foundation
  • 9. ROS+Opencv application
  • 10. MediaPipe development
08.ROS robot course
  • 1.PID algorithm
  • 2.Basic communication
  • 3.Keyboard control
  • 4.Handle control(Optional)
  • 5.Robot state estimation
  • 6.Data calibration
09.ROS simple camera course
  • 1.HD camera calibration
  • 2.HD camera color tracking
  • 3.HD camera color tracking (robotic arm)
  • 4.HD camera object tracking
  • 5. KCF target tracking
  • 6.HD camera face tracking
  • 7.HD camera robotic arm carrying
  • 8.HD camera Autopilot
10.ROS robotic arm control tutorial
  • 1.MoveIt configuration
  • 2.MoveIt control the real machine
  • 3.MoveIt moves randomly
  • 4.MoveIt kinematics design
  • 5.MoveIt cartesian path
  • 6.MoveIt avoiding
  • 7.MoveIt scene design
  • 8.MoveIt trajectory planning
  • 9.Mediapipe palm control car
  • 10.Mediapipe gesture control robotic arm
  • 11.Mediapipe gesture control car
  • 12.Mediapipe arm attitude control robotic arm
11.ROS multi-robot control(Optional)
  • 1. Multi-robot control(Optional)
  • 2. Multi-robot queue performance(Optional)
  • 3. Multi-robot robot arm dancing(Optional)
12.Deep learning courses
  • 1.KNN recognizes handwritten digits
  • 2.Basic use of TensorFlow
  • 3.Basic use of PyTorch(jetson)
  • 4.yolov5 model training(jetson)
  • 5.yolov5+tensorrt acceleration(jetson)
  • 6.yolov4-tiny
13.Installation Video
  • Part18
  • Part1-6
  • Part7-12
  • Part13.1-13.3.3
  • Part13.4.1-17
14.FAQnew
  • 1.Using your own Jetson board,Transbot-SE cannot start normally
Download
  • APP(iOS/Android)
  • System_File-Pi5
  • System_File-Pi4
  • System_File-Jetson
  • VM_File
  • Appendix
  • Code
  • InstructionManual
  • Jetson_Boot_USB.tar.gz
  • Hardware_Info
Download ZIP

Welcome to Transbot SE repository

5. KCF target tracking

5、KCF object tracking

5、KCF object tracking5.1、Introduction5.2. Operation steps5.2.1. Start5.2.2. Identification5.2.3. Target tracking

5.1、Introduction

Website:https://learnopencv.com/object-tracking-using-opencv-cpp-python/#opencv-tracking-api

  • Transbot Se robot KCF target tracking, can track the target object at any time, and follow the target object to move on the table, transbot se (left and right) and mechanical arm (up and down) follow the target at the same time

  • Object Tracking

    Object tracking is to locate an object in consecutive video frames. This definition sounds straightforward, but in computer vision and machine learning, tracking is a very broad term that encompasses concepts that are conceptually similar but technically different. For example, all of the following different but related ideas are commonly studied under object tracking:

    (1)(Dense Optical flow DOF):These algorithms help to estimate the motion vector of each pixel in a video frame.

    (2)(Sparse optical flow):An example is the Kanade-Lucas-Tomashi (KLT) feature tracking algorithm, which tracks the position of several feature points in an image.

    (3)(Kalman Filtering):A very popular signal processing algorithm based on prior motion information is used to predict the position of a moving object. One of the early applications of this algorithm was missile guidance! The onboard computer that guided the Apollo 11 lunar module to the moon had a Kalman filter.

    (4)Meanshift and Camshift:This is the algorithm that locates the maximum of the density function and they are also used for tracking.

    (5)(Single object trackers):In this class of trackers, the first frame uses a rectangular marker to indicate the location of the object to be tracked. The object is then tracked in subsequent frames using a tracking algorithm. In most real-world applications, these trackers are used together with object detectors.

    (6)(Multiple object track finding algorithms):When we have a fast object detector, it makes sense to detect multiple objects in each frame and then run a trace finding algorithm to identify which rectangle in one frame corresponds to the rectangle in the next frame.

  • OpenCV Tracking API

    OpenCV 4 comes with a tracking API that contains implementations of many single-object tracking algorithms.

    OpenCV 4.2 implements these eight trackers -Boosting, MIL, KCF, TLD, MEDIANFLOW, GOTURN, MOSSE, and CSRT.

    OpenCV 3.2 implements the six trackers -Boosting, MIL, TLD, MEDIANFLOW, MOSSE, and GOTURN.

    OpenCV 3.1 implements these five trackers -Boosting, MIL, KCF, TLD, MEDIANFLOW.

  • Comparison of OpenCV algorithms

AlgorithmSpeedAccuracyDescription
BOOSTINGSlowLowIt is the same as the machine learning algorithm behind Haar casades (AdaBoost),
but it has been born for more than ten years, a veteran algorithm.
MILSlowLowIt is more accurate than BOOSTING, but the failure rate is higher.
KCFFastHighFaster than BOOSTING and MIL, but it is not effective when there is occlusion
TLDMiddleMiddleThere are a lot of erro
MEDIANFLOWMiddle+MiddleThe model will fail for fast-jumping or fast-moving objects.
GOTURNMiddleMiddleA deep learning-based object detector requires additional models to run.
MOSSEFastestHighThe speed is really fast, but not as high as the accuracy of CSRT and KCF. If you are looking for speed, you can choose it.
CSRTFast -HigherSlightly more accurate than KCF, but not as fast as KCF.

5.2. Operation steps

Note: [R2] on the remote control handle has the [pause/start] function for all gameplays.

5.2.1. Start

jetson motherboard/Raspberry Pi 4B

Start the underlying driver control (robot side)

roslaunch transbot_track TrackSrv.launch

Raspberry Pi 5

Before running, please confirm that the large program has been permanently closed

Enter docker

Note: If there is a terminal that automatically starts docker, or there is a docker terminal that has been opened, you can directly enter the docker terminal to run the command, and there is no need to manually start docker

Start docker manually

xxxxxxxxxx
./run_docker.sh

Start the underlying driver control (robot side)

xxxxxxxxxx
roslaunch transbot_track TrackSrv.launch

method one

jetson motherboard/Raspberry Pi 4B

Start the monocular camera (robot side)

xxxxxxxxxx
roslaunch usb_cam usb_cam-test.launch

Start monocular target tracking control (virtual machine)

xxxxxxxxxx
roslaunch transbot_track Tracker.launch VideoSwitch:=false tracker_type:=KCF

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

Start the monocular camera (robot side)

xxxxxxxxxx
roslaunch usb_cam usb_cam-test.launch

Start monocular target tracking control (virtual machine)

xxxxxxxxxx
roslaunch transbot_track Tracker.launch VideoSwitch:=false tracker_type:=KCF

Method 2

Note: [q] key to exit.

jetson motherboard/Raspberry Pi 4B

Start monocular target tracking control (robot side)

xxxxxxxxxx
roslaunch transbot_track Tracker.launch VideoSwitch:=true tracker_type:=KCF

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

Start monocular target tracking control (robot side)

xxxxxxxxxx
roslaunch transbot_track Tracker.launch VideoSwitch:=true tracker_type:=KCF

This method can only be started in the main control connected to the camera

  • VideoSwitch parameter: whether to use the camera function package to launch; for example: to launch usb_cam-test.launch, this parameter must be set to true; otherwise, it is false.
  • tracker_type parameter: OpenCV Tracking API; optional: ['BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'MOSSE', 'CSRT']

Set parameters according to needs, or modify the launch file directly, so there is no need to attach parameters when starting.

5.2.2. Identification

After starting, enter the selection mode, use the mouse to select the target location, as shown in the figure below, release it to start recognition.

image-20210913174837340

Keyboard key control:

[r]: Select mode, you can use the mouse to select the area to identify the target, as shown in the picture above. If the robotic arm blocks the camera, you can press the [r] key to reset the robotic arm.

[f]: Switching algorithm; ['BOOSTING', 'MIL', 'KCF', 'TLD', 'MEDIANFLOW', 'MOSSE', 'CSRT'].

[q]: Exit the program.

[Spacebar]: Target tracking; just move the target slowly while following. If you move too fast, you will lose the target.

5.2.3. Target tracking

After the recognition is correct, click the [space bar] on the keyboard to execute the object following program.

  • Node view

jetson motherboard/Raspberry Pi

xxxxxxxxxx
rqt_graph

Raspberry Pi 5

Enter the same docker from multiple terminals

Keep the program of the previous docker terminal running and open a new terminal

Enter the following command

xxxxxxxxxx
docker ps

Enter the same docker and use the following 18870bc3dc00 to modify the ID displayed on the actual terminal.

xxxxxxxxxx
docker exec -it 18870bc3dc00 /bin/bash

xxxxxxxxxx
rqt_graph
  • When starting method 1, node [m_Tracker]

image-20210910161042829

Subscribe to image topics; publish topics on gimbal servo, robotic arm, and chassis drive

  • When starting method 2, node [m_Tracker]

image-20210910161428484

Publish the topic of gimbal servo, publish the topic of chassis driver and robotic arm.

HD camera object tracking
HD camera face tracking

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
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文