官方可否出个yolo系列相关的demo从0到编译部署的教程

目前能找到的教程坑太多,配置个环境要都要填好多坑。
可以的话搞个目标检测入门应用级的demo,
目前已有资料的感觉从距离用起来曲线不低。
请帮助降低点门槛。
或者可以把腾讯上那个实时目标检测的视频涉及到的项目,从0跑一遍搞个详细的教程,帮助使用者更快的能够用起来。

@lappaport 请参考我们的文档,我们的文档里面有对yolo模型训练的详细注解。



$ cd workspace/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3/
$ ./build_vx.sh $path/to/linux_sdk_dir $path/to/fenix
是按照教程做的。
我跟帖的图片就是编译运行报错而已。生成so文件的过程报错,生成不了。
找不到原因。

@lappaport 这是哪一步,请使用这里的源码编译,你的路径不对。

我需要把demo的读取uvc的源码,改成读取视频文件评估下。基于uvc的那个目录。
detect_library/yoloface_demo_gst_uvc: add video device parameter

或者可否告知其他方式。
感谢。

@lappaport 那确实是这个目录,你修改了源码以后编译报错,还是未修改报错

#  sprintf(gst_str, "v4l2src device=%s ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegdec ! videoconvert ! video/x-raw, format=(string)BGR ! appsink", video_device);

cv::VideoCapture cap(video_device);

1、注释掉传入参数格式化
2、opencv直接读取视频(类似/home/xxx.mp4)

@lappaport 你先不要注释掉,源码编译可以通过么

/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld:/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib/libz.so: file format not recognized; treating as linker script

仍然不通过,看来可能是交叉编译的gcc编辑器不认识文件格式,请问您这边编译的gcc版本是什么?
可否告知apt-get install 那个gcc版本?
感谢

不是编译器的问题。
一、/home/data/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v3_khadas/bin_r
在这个目录编译就可以成功。
aarch64-linux-gnu-gcc -mtune=cortex-a53 -march=armv8-a -Wall -shared -Wl,-soname,libnn_yolo_v3.so -Wl,-z,defs bin_r/yolov3_process.o bin_r/vnn_yolov3.o bin_r/yolo_v3.o -o bin_r/libnn_yolo_v3.so -L/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib -l ovxlib -L/home/data/fenix/build/toolchains/gcc-linaro-aarch64-linux-gnu/bin/…/aarch64-linux-gnu/libc/lib -lm -lrt
/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/common.target:83: warning: overriding recipe for target ‘bin_r/libnn_yolo_v3.so’
/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/common.target:64: warning: ignoring old recipe for target ‘bin_r/libnn_yolo_v3.so’

二、在/home/data/aml_npu_app/detect_library/yoloface_demo_gst_uvc目录编译就报错。
xlib-dev/lib/libjpeg.a -L/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib -l ovxlib -lm -lpthread -ldl -L/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib/ -lz -L/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/build/sdk/opencv3/lib -lopencv_imgproc -lopencv_core -lopencv_videoio -lopencv_imgcodecs -lopencv_highgui -L…/source_code/bin_r -lnn_detect -L/home/data/fenix/build/toolchains/gcc-linaro-aarch64-linux-gnu/bin/…/aarch64-linux-gnu/libc/lib -lstdc++ -lrt
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld:/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib/libz.so: file format not recognized; treating as linker script
/usr/lib/gcc-cross/aarch64-linux-gnu/7/…/…/…/…/aarch64-linux-gnu/bin/ld:/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/acuity-ovxlib-dev/lib/libz.so:0: syntax error
collect2: error: ld returned 1 exit status
/home/data/aml_npu_sdk/linux_sdk/linux_sdk_6.3.3.4/common.target:64: recipe for target ‘bin_r/detect_demo’ failed

改成读取视频方式是想验证我们自己的素材目标检测的可行性。

请问你的fenix仓库编译了么,编译的工具链都是依赖fenix仓库编译的。如果还没编译,请先编译fenix,不同demo用的编译链不同。编译时选择VIM3

@lappaport demo识别的素材有限,你需要重新训练,针对你的素材进行训练的。demo里面只是少量常见的物体而已,不是包括所有物体的。对于你的素材有效性的验证,在训练过程中就能验证出来。

应该是fenix编译链的问题。
你说的问题明白。
目前正在板子选型,价格,性能,稳定性,团队学习曲线,厂商相关支持程度。
都是需要评估平衡的事情。

感谢。

后续可以的话可以安排我的团队跟你们交流下,可以定制一批。
如果你们有提供行业级解决方案的服务的话就最好了。

关于这个问题 @Terry @Gouwa ,你可以跟他们交流