# ros_tengine
**Repository Path**: mlbo/ros_tengine
## Basic Information
- **Project Name**: ros_tengine
- **Description**: No description available
- **Primary Language**: C++
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-12-04
- **Last Updated**: 2021-12-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ROS_Tengine_NPU #
This is a ROS package for [Tengine](https://github.com/OAID/Tengine/blob/tengine-lite/), a high-performance neural network inference framework by **[OPEN AI LAB](http://www.openailab.com)** optimized for embedded devices:
- ARM NEON assembly level optimization
- Sophisticated memory management and data structure design, very low memory footprint
- Completely separated front-end/back-end design, Supports CPU, GPU, NPU and other heterogeneous computing units
- Extensible model design, supports uint8/int8 quantization storage
- Can import caffe/pytorch/mxnet/onnx/ncnn models
## Setting up ##
* Khadas VIM3 device
* USB Camera
* [Tengine Compile with TIM-VX ](https://tengine-docs.readthedocs.io/zh_CN/latest/source_compile/compile_timvx.html)
### Library ###
## ROS package ##
```bash
git clone https://github.com/mlbo/ros_tengine.git
cd ros_tengine
git submodule update --init
```
```bash
├── Catkin_make.sh
├── Clean.sh
├── Run.sh
└── src
├── ros_tengine
│ ├── assets
│ │ └── models
│ │ └── yolov3_uint8.tmfile
│ ├── CMakeLists.txt
│ ├── include
│ │ └── ros_tengine
│ │ ├── c_api.h
│ │ ├── defines.h
│ │ ├── timer.hpp
│ │ ├── timvx_device.h
│ │ ├── types.hpp
│ │ ├── yolo.hpp
│ │ └── yolo_layer.hpp
│ ├── launch
│ │ └── yolov3.launch
│ ├── lib
│ │ └── libtengine-lite.so
│ ├── msg
│ │ ├── Euler.msg
│ │ ├── FaceObject.msg
│ │ ├── Object.msg
│ │ ├── Rectangle.msg
│ │ └── Vector2D.msg
│ ├── package.xml
│ └── src
│ ├── timer.cc
│ ├── yolo.cpp
│ ├── yolo_layer.cpp
│ └── yolov3_node.cpp
└── usb_cam
```
#### General launch parameters ####
```xml
```
## How to build ##
```bash
bash Catkin_make.sh
```
## How to run ##
```bash
bash Run.sh
```
## Result ##

## :v: Acknowledgements ##
[Tengine](https://github.com/OAID/Tengine/blob/tengine-lite/)
[ros_ncnn](https://github.com/nilseuropa/ros_ncnn)
[Insightface-NPU](https://github.com/mlbo/Insightface-NPU)