熟练掌握 Linux,Python,Pytorch,Docker
熟悉 C/C++/CUDA, Deepstream,Opencv, Tensorrt,Django,Shell, Makefile
AI模型部署:使用opencv、onnxruntime、paddlepaddle、tensorrt等推理框架将AI模型(目标检测、分
割、分类)部署到x86/arm平台。
AI模型训练:使用pytorch训练yolov5目标检测模型,分类模型。
推理程序编写:视频硬解码、模型标签组合逻辑推理、目标跟踪等。
目标检测AI模型web接口
django opencv onnx tensorrt onnxruntie paddlepaddle
将yolov4、yolov5模型转为onnx模型使用opencv、onnxruntime部署。
将onnx模型转换为tensorrt模型,使用tensorrt进行部署。
使用paddlepaddle部署百度模型。
使用cuda实现warpaffine对图像进行letterbox预处理,加快预处理速度。
使用cuda实现yolov5 nms后处理,加快后处理速度。
使用C++编写多线程推理程序,并使用pybind11封装成python可调用的so包
使用django编写web接口,gunicorn运行服务。
视频识别
openCV deepstream redis cuda
使用deepstream加载yolov4模型,修改deepstream提供的demo,提供识别rtsp/rtmp视频流。
使用nvcuvid+ffmpeg对视频进行解帧,采用opencv、tensorrt进行模型识别。开启线程池将模型识别结果通过
http接口传输。
Seetaface6人脸识别
OpenCV Seetaface6 Grpc
重新封装seetaface6的C++接口,采用python进行调用,使用django封装成web服务。
采用protobuf格式作为中间数据传输,减少传输的数据量,提高网络IO。
使用C++ 的grpc重新封装成服务端,使用python编写客户端,可提供grpc调用同步接口。
rknn、jetson边缘设备识别
opencv rknn onnx tensorrt
将pytorch模型转化为onnx模型,对onnx模型进行裁剪,删除模型中的后处理节点,在cpu中实现。并将模型运行
在rknn3568开发板上。
在jetson系列开发板上将模型转化为tensorrt模型,并将模型运行在jetson开发板上。
1. 使用onnxruntime-gpu推理onnx yolov5模型,同时将前处理和后处理都是用gpu处理。
使用硬解码解码实时视频流,并使用yolov5进行推理。 1. 可以动态增加减少实时视频流数量 2. 自定义抽帧时间 3. 使用pybind11封装C++代码,python调用。并使用django封装