{"id":314485,"date":"2020-12-07T21:00:44","date_gmt":"2020-12-07T21:00:44","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=314485"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=314485","title":{"rendered":"Scaled YOLO v4 \u0441\u0430\u043c\u0430\u044f \u043b\u0443\u0447\u0448\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 MS COCO"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<ul>\n<li><a href=\"https:\/\/arxiv.org\/abs\/2011.08036\" rel=\"nofollow\"><b>\u041d\u0430\u0443\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/b><\/a> <\/li>\n<li><b>Pytorch<\/b>: YOLOv4-CSP, YOLOv4-P5, YOLOv4-P6, YOLOv4-P7 (<a href=\"https:\/\/github.com\/WongKinYiu\/ScaledYOLOv4\" rel=\"nofollow\">main repository <\/a> \u2014 use to reproduce results)<\/li>\n<li><b><a href=\"https:\/\/github.com\/AlexeyAB\/darknet\" rel=\"nofollow\">Darknet<\/a><\/b>: YOLOv4-tiny, YOLOv4-CSP, YOLOv4x-MISH<\/li>\n<li><a href=\"https:\/\/netron.app\/?url=https:\/\/raw.githubusercontent.com\/AlexeyAB\/darknet\/master\/cfg\/yolov4-csp.cfg\" rel=\"nofollow\"><b>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 YOLOv4-CSP<\/b><\/a><\/li>\n<\/ul>\n<p>  Scaled YOLO v4 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0439 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u044c\u044e (<b>55.8% AP<\/b>) \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 Microsoft COCO \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u0410 \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043a \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u043e \u0432\u0441\u0435\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u0442 15 FPS \u0434\u043e <b>1774 FPS<\/b>. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044d\u0442\u043e Top1 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>  Scaled YOLO v4 \u043e\u0431\u0433\u043e\u043d\u044f\u0435\u0442 \u043f\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438:<\/p>\n<ul>\n<li>Google EfficientDet D7x \/ DetectoRS or SpineNet-190 (self-trained on extra-data)<\/li>\n<li>Amazon Cascade-RCNN ResNest200<\/li>\n<li>Microsoft RepPoints v2<\/li>\n<li>Facebook RetinaNet SpineNet-190<\/li>\n<\/ul>\n<p>  <\/p>\n<div class=\"oembed\"><iframe id=\"5fce50c1d4323713fd415911\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/5fce50c1d4323713fd415911\"><\/iframe><\/div>\n<p>  \u041c\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044b YOLO \u0438 Cross-Stage-Partial (CSP) Network \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0438\u043c\u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a \u0438 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043a \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. <\/p>\n<p>  \u0413\u0440\u0430\u0444\u0438\u043a \u0422\u043e\u0447\u043d\u043e\u0441\u0442\u0438 (\u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u044c) \u0438 \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0438 (\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u044c) \u043d\u0430 GPU Tesla V100 (Volta) \u043f\u0440\u0438 batch=1 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f TensorRT:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/oq\/cb\/hu\/oqcbhufidsi5_8iwomi_fxml3mm.png\"><\/div>\n<p><a name=\"habracut\"><\/a><br \/>  \u0414\u0430\u0436\u0435 \u043f\u0440\u0438 \u043c\u0435\u043d\u044c\u0448\u0435\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0441\u0435\u0442\u0438 Scaled-YOLOv4-P6 (1280&#215;1280) 30 FPS \u0447\u0443\u0442\u044c \u0442\u043e\u0447\u043d\u0435\u0435 \u0438 \u0432 3.7\u0445 \u0440\u0430\u0437\u0430 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c EfficientDetD7 (1536&#215;1536) 8.2 FPS. \u0422.\u0435. YOLOv4 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u0435\u0442\u0438.<\/p>\n<p>  Scaled YOLO v4 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 \u043a\u0440\u0438\u0432\u043e\u0439 <b>\u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u041f\u0430\u0440\u0435\u0442\u043e <\/b>\u2013 \u043a\u0430\u043a\u0443\u044e \u0431\u044b \u0434\u0440\u0443\u0433\u0443\u044e \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0432\u044b \u043d\u0435 \u0432\u0437\u044f\u043b\u0438, \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0441\u0435\u0442\u044c YOLOv4, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043b\u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u043f\u0440\u0438 \u0442\u043e\u0439 \u0436\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438 \u0442\u043e\u0439 \u0436\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0442.\u0435. YOLOv4 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  Scaled YOLOv4 \u0442\u043e\u0447\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: <\/p>\n<ul>\n<li>Google EfficientDet D0-D7x <\/li>\n<li>Google SpineNet S49s \u2013 S143<\/li>\n<li>Baidu Paddle-Paddle PP YOLO<\/li>\n<li>\u0418 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435<\/li>\n<\/ul>\n<p>  Scaled YOLO v4 \u044d\u0442\u043e \u0441\u0435\u0440\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u0438\u0437 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u043e\u0439 \u0438 \u043e\u0442\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 YOLOv4. \u041d\u0430\u0448\u0430 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0431\u044b\u043b\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0430 \u0441 \u043d\u0443\u043b\u044f \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0441\u043e\u0432 (Imagenet \u0438\u043b\u0438 \u043b\u044e\u0431\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445).<\/p>\n<p>  \u0420\u0435\u0439\u0442\u0438\u043d\u0433 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439: <a href=\"https:\/\/paperswithcode.com\/sota\/object-detection-on-coco\" rel=\"nofollow\">paperswithcode.com\/sota\/object-detection-on-coco<\/a>:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/os\/eb\/b0\/osebb0c_lyotd4vntephmisxovo.png\"><\/p>\n<p>  \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 YOLOv4-tiny \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 1774 FPS \u043d\u0430 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 GPU RTX 2080Ti \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 TensorRT+tkDNN (batch=4, FP16): <a href=\"https:\/\/github.com\/ceccocats\/tkDNN\" rel=\"nofollow\">github.com\/ceccocats\/tkDNN<\/a><\/p>\n<p>  YOLOv4-tiny \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 real-time \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 39 FPS \/ 25ms Latency \u043d\u0430 JetsonNano (416&#215;416, fp16, batch=1) tkDNN\/TensorRT:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/a8\/c7\/dp\/a8c7dptf6v_kx1qgmrlzdlsxiq0.png\"><\/div>\n<p>  Scaled YOLOv4 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u0435\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a GPU \u0438 NPU. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GPU V100 (Volta) \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: 14 TFLops \u2014 112 TFLops-TC <a href=\"https:\/\/images.nvidia.com\/content\/technologies\/volta\/pdf\/tesla-volta-v100-datasheet-letter-fnl-web.pdf\" rel=\"nofollow\">images.nvidia.com\/content\/technologies\/volta\/pdf\/tesla-volta-v100-datasheet-letter-fnl-web.pdf<\/a><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430 GPU V100 \u0441 <b>batch=1<\/b>, \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 <b>&#8212;hparams=mixed_precision=true<\/b> \u0438 \u0431\u0435\u0437 <b>&#8212;tensorrt=FP32<\/b>, \u0442\u043e:<\/p>\n<ul>\n<li>YOLOv4-CSP (640&#215;640) \u2014 47.5% AP \u2013 70 FPS \u2013 120 BFlops (60 FMA)<br \/>   \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 BFlops, \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c 933 FPS = (112 000 \/ 120), \u043d\u043e \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 70 FPS, \u0442.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <b>7.5%<\/b> GPU = (70 \/ 933)<\/li>\n<li>EfficientDetD3 (896&#215;896) \u2013 47.5% AP \u2013 36 FPS \u2013 50 BFlops (25 FMA)<br \/>   \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 BFlops, \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c 2240 FPS = (112 000 \/ 50), \u043d\u043e \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 36 FPS, \u0442.\u0435. \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <b>1.6%<\/b> GPU = (36 \/ 2240)<\/li>\n<\/ul>\n<p>  \u0422.\u0435. \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u0442\u0438\u043f\u0430 GPU, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 YOLOv4-CSP (7.5 \/ 1.6) = <b>\u0432 4.7x \u0440\u0430\u0437\u0430 \u043b\u0443\u0447\u0448\u0435<\/b>, \u0447\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 EfficientDetD3.<\/p>\n<p>  \u041e\u0431\u044b\u0447\u043d\u043e \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043d\u0430 CPU \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043b\u0435\u0433\u043a\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0430 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430 BFlops \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0432\u0430\u0436\u043d\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u0430 \u043d\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435. \u0420\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c YOLOv4-P6 \u0432 3.7\u0445 \u0440\u0430\u0437\u0430 \u0432\u044b\u0448\u0435, \u0447\u0435\u043c EfficientDetD7 \u043d\u0430 GPU V100. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u043c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u043e\u043c GPU \/ NPU \/ TPU\/ DSP \u0441 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c\u0438: \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u0446\u0435\u043d\u043e\u0439 \u0438 \u0442\u0435\u043f\u043b\u043e\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c:<\/p>\n<ul>\n<li>Embedded GPU (Jetson Nano\/Nx)<\/li>\n<li>Mobile-GPU\/NPU\/DSP (Bionic-NPU\/Snapdragon-DSP\/Mediatek-APU\/Kirin-NPU\/Exynos-GPU\/&#8230;)<\/li>\n<li>TPU-Edge (Google Coral\/Intel Myriad\/Mobileye EyeQ5\/Tesla-motors TPU 144 TOPS-8bit)<\/li>\n<li>Cloud GPU (nVidia A100\/V100\/TitanV)<\/li>\n<li>Cloud NPU (Google-TPU, Huawei Ascend, Intel Habana, Qualcomm AI 100, &#8230;)<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 On Web \u2013 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f GPU \u0447\u0435\u0440\u0435\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 WebGL, WebAssembly, WebGPU, for this case \u2014 the size of the model can matter: <a href=\"https:\/\/github.com\/tensorflow\/tfjs#about-this-repo\" rel=\"nofollow\">github.com\/tensorflow\/tfjs#about-this-repo<\/a><\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0441\u043e \u0441\u043b\u0430\u0431\u044b\u043c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u043e\u043c \u2013 \u044d\u0442\u043e \u0442\u0443\u043f\u0438\u043a\u043e\u0432\u044b\u0439 \u043f\u0443\u0442\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f, \u0442.\u043a. \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043b\u0438\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0430\u0442\u043e\u043c\u0430 \u043a\u0440\u0435\u043c\u043d\u0438\u044f \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u043b\u0443\u0447\u0448\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u041b\u0438\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 (Semiconductor device fabrication) \u0440\u0430\u0432\u0435\u043d 5 \u043d\u0430\u043d\u043e\u043c\u0435\u0442\u0440\u043e\u0432.<\/li>\n<li>\u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0448\u0435\u0442\u043a\u0438 \u043a\u0440\u0435\u043c\u043d\u0438\u044f \u0440\u0430\u0432\u0435\u043d 0.5 \u043d\u0430\u043d\u043e\u043c\u0435\u0442\u0440\u043e\u0432.<\/li>\n<li>\u0410\u0442\u043e\u043c\u043d\u044b\u0439 \u0440\u0430\u0434\u0438\u0443\u0441 \u043a\u0440\u0435\u043c\u043d\u0438\u044f \u0440\u0430\u0432\u0435\u043d 0.1 \u043d\u0430\u043d\u043e\u043c\u0435\u0442\u0440\u0430. <\/li>\n<\/ul>\n<p>  \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u2013 \u044d\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u0438 \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u043e\u043c: \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0435 \u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0430\u0445, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u0437\u0435\u0440\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u0438 \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u043e\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a GPU \u0438 NPU.<\/p>\n<p>  \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 Scaled YOLOv4 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 YOLOv4:<\/p>\n<ul>\n<li>\u0412 Scaled YOLOv4 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f YOLOv4-CSP -&gt; P5 -&gt; P6 -&gt; P7 \u0441\u0435\u0442\u0435\u0439<\/li>\n<li>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0435\u0442\u0438: \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d Backbone, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 Neck (PAN) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f Cross-stage-partial (CSP) connections \u0438 Mish-\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f<\/li>\n<li>\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Exponential Moving Average (EMA) \u2013 \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 SWA: <a href=\"https:\/\/pytorch.org\/blog\/pytorch-1.6-now-includes-stochastic-weight-averaging\/\" rel=\"nofollow\">pytorch.org\/blog\/pytorch-1.6-now-includes-stochastic-weight-averaging<\/a><\/li>\n<li>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0438 \u043e\u0431\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c (\u0432 YOLOv4 \u043e\u0431\u0443\u0447\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0443\u044e \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439) <\/li>\n<li>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u044b \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0432 [yolo] \u0441\u043b\u043e\u044f\u0445<\/li>\n<li>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Width \u0438 Height, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u0441\u0435\u0442\u044c<\/li>\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 [net] letter_box=1 (\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0440\u043e\u043d \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f) \u0434\u043b\u044f \u0441\u0435\u0442\u0435\u0439 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c (\u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u0440\u043e\u043c\u0435 yolov4-tiny.cfg)<\/li>\n<\/ul>\n<p>  \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 Scaled-YOLOv4 (\u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0442\u0440\u0435\u0445 \u0441\u0435\u0442\u0435\u0439: P5, P6, P7): <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fe\/hv\/ns\/fehvnskpwvytpuyy68tzbblf-ok.png\"><\/p>\n<p>  CSP-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0447\u0435\u043d\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u043a \u043b\u044e\u0431\u044b\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u043c \u0441\u0435\u0442\u044f\u043c. \u0421\u0443\u0442\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e<\/p>\n<ul>\n<li>\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 (\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0440\u0435\u0446\u0435\u043f\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c)<\/li>\n<li>\u0430 \u0434\u0440\u0443\u0433\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u043f\u043e \u043e\u0431\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u0443\u0442\u0438 (\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441 \u043c\u0430\u043b\u044b\u043c \u0440\u0435\u0446\u0435\u043f\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u043e\u043b\u0435\u043c)<\/li>\n<\/ul>\n<p>  \u041f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 CSP-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u0441\u043b\u0435\u0432\u0430 \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0441\u043f\u0440\u0430\u0432\u0430 CSP-\u0441\u0435\u0442\u044c):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fj\/hb\/ax\/fjhbax2lvn4uxmofwqyxi000jss.png\"><br \/>  \u041f\u0440\u0438\u043c\u0435\u0440 CSP-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432 YOLOv4-CSP \/ P5 \/ P6 \/ P7 <br \/>  (\u0441\u043b\u0435\u0432\u0430 \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0441\u043f\u0440\u0430\u0432\u0430 CSP-\u0441\u0435\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/3_\/or\/qv\/3_orqvp60q_g_lmzyvkn6gtoxao.png\"><\/p>\n<p>  \u0412 YOLOv4-tiny \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f 2 CSP-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Partial Concatenation)<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fu\/ql\/aq\/fuqlaqbu8221o5x1fkznjogg-5u.png\"><\/p>\n<p>  YOLOv4 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u0445:<\/p>\n<ul>\n<li>Taiwanese government: Traffic control <a href=\"https:\/\/www.taiwannews.com.tw\/en\/news\/3957400\" rel=\"nofollow\">www.taiwannews.com.tw\/en\/news\/3957400<\/a> and <a href=\"https:\/\/youtu.be\/IiU6wFmfVnk\" rel=\"nofollow\">youtu.be\/IiU6wFmfVnk<\/a><\/li>\n<li>Amazon: Anti-Covid19 Distance-assistant <a href=\"https:\/\/github.com\/amzn\/distance-assistant\" rel=\"nofollow\">github.com\/amzn\/distance-assistant<\/a> and Amazon Neurochip \/ Amazon EC2 Inf1 instances: <a href=\"https:\/\/aws.amazon.com\/ru\/blogs\/machine-learning\/improving-performance-for-deep-learning-based-object-detection-with-an-aws-neuron-compiled-yolov4-model-on-aws-inferentia\/\" rel=\"nofollow\">aws.amazon.com\/ru\/blogs\/machine-learning\/improving-performance-for-deep-learning-based-object-detection-with-an-aws-neuron-compiled-yolov4-model-on-aws-inferentia<\/a><\/li>\n<li>BMW Innovation Lab: <a href=\"https:\/\/github.com\/BMW-InnovationLab\" rel=\"nofollow\">github.com\/BMW-InnovationLab<\/a><\/li>\n<\/ul>\n<p>  \u0418 \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445\u2026.<\/p>\n<p>  \u0418\u043c\u0435\u044e\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\u0445:<\/p>\n<ul>\n<li><b>Pytorch<\/b>: <a href=\"https:\/\/github.com\/WongKinYiu\/ScaledYOLOv4\" rel=\"nofollow\">github.com\/WongKinYiu\/ScaledYOLOv4<\/a><\/li>\n<li><b>Darknet<\/b>: <a href=\"https:\/\/github.com\/AlexeyAB\/darknet\" rel=\"nofollow\">github.com\/AlexeyAB\/darknet<\/a><\/li>\n<li><b>TensorFlow<\/b>: <a href=\"https:\/\/github.com\/hunglc007\/tensorflow-yolov4-tflite\" rel=\"nofollow\">github.com\/hunglc007\/tensorflow-yolov4-tflite<\/a><\/li>\n<li>o pip install yolov4 <a href=\"https:\/\/pypi.org\/project\/yolov4\/\" rel=\"nofollow\">pypi.org\/project\/yolov4<\/a><\/li>\n<li><b>OpenCV<\/b>: <a href=\"https:\/\/docs.opencv.org\/master\/da\/d9d\/tutorial_dnn_yolo.html\" rel=\"nofollow\">docs.opencv.org\/master\/da\/d9d\/tutorial_dnn_yolo.html<\/a><\/li>\n<li><b>OpenVINO<\/b>: <a href=\"https:\/\/github.com\/TNTWEN\/OpenVINO-YOLOV4\" rel=\"nofollow\">github.com\/TNTWEN\/OpenVINO-YOLOV4<\/a><\/li>\n<li><b>ONNX<\/b>: <a href=\"https:\/\/developer.nvidia.com\/blog\/announcing-onnx-runtime-for-jetson\/\" rel=\"nofollow\">developer.nvidia.com\/blog\/announcing-onnx-runtime-for-jetson<\/a><\/li>\n<li><b>TensorRT ONNX<\/b> Scaled-YOLOv4: <a href=\"https:\/\/github.com\/linghu8812\/tensorrt_inference\/tree\/master\/ScaledYOLOv4\" rel=\"nofollow\">github.com\/linghu8812\/tensorrt_inference\/tree\/master\/ScaledYOLOv4<\/a><\/li>\n<li><b>TensorRT + tkDNN<\/b>: <a href=\"https:\/\/github.com\/ceccocats\/tkDNN\" rel=\"nofollow\">github.com\/ceccocats\/tkDNN<\/a><\/li>\n<li><b>TensorRT + Deepstream<\/b>: <a href=\"https:\/\/github.com\/NVIDIA-AI-IOT\/yolov4_deepstream\" rel=\"nofollow\">github.com\/NVIDIA-AI-IOT\/yolov4_deepstream<\/a><\/li>\n<li><b>Another Pytorch<\/b> implementations:<\/li>\n<li>o <a href=\"https:\/\/github.com\/WongKinYiu\/PyTorch_YOLOv4\" rel=\"nofollow\">github.com\/WongKinYiu\/PyTorch_YOLOv4<\/a><\/li>\n<li>o <a href=\"https:\/\/github.com\/Tianxiaomo\/pytorch-YOLOv4\" rel=\"nofollow\">github.com\/Tianxiaomo\/pytorch-YOLOv4<\/a><\/li>\n<li>o <a href=\"https:\/\/github.com\/VCasecnikovs\/Yet-Another-YOLOv4-Pytorch\" rel=\"nofollow\">github.com\/VCasecnikovs\/Yet-Another-YOLOv4-Pytorch<\/a><\/li>\n<li>The structure of the network can be viewed using the Netron utility \u2014 <b>Visualizer<\/b> for neural networks: <a href=\"https:\/\/github.com\/lutzroeder\/netron\" rel=\"nofollow\">github.com\/lutzroeder\/netron<\/a><\/li>\n<\/ul>\n<p>  \u041a\u0430\u043a \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <b>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e<\/b>:<\/p>\n<ol>\n<li>colab: <a href=\"https:\/\/colab.research.google.com\/drive\/12QusaaRj_lUwCGDvQNfICpa7kA7_a2dE\" rel=\"nofollow\">colab.research.google.com\/drive\/12QusaaRj_lUwCGDvQNfICpa7kA7_a2dE<\/a><\/li>\n<li>video: <a href=\"https:\/\/www.youtube.com\/watch?v=mKAEGSxwOAY\" rel=\"nofollow\">www.youtube.com\/watch?v=mKAEGSxwOAY<\/a><\/li>\n<\/ol>\n<p>  \u041a\u0430\u043a \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c <b>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e<\/b>:  <\/p>\n<ol>\n<li>colab: <a href=\"https:\/\/colab.research.google.com\/drive\/1_GdoqCJWXsChrOiY8sZMr_zbr_fH-0Fg?usp=sharing\" rel=\"nofollow\">colab.research.google.com\/drive\/1_GdoqCJWXsChrOiY8sZMr_zbr_fH-0Fg?usp=sharing<\/a><\/li>\n<li>video: <a href=\"https:\/\/youtu.be\/mmj3nxGT2YQ\" rel=\"nofollow\">youtu.be\/mmj3nxGT2YQ<\/a><\/li>\n<\/ol>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0445\u043e\u0434 YOLOv4 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 3D \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432:<\/p>\n<ul>\n<li>Code \u2014 Complex-YOLOv4 (5-DOF): <a href=\"https:\/\/github.com\/maudzung\/Complex-YOLOv4-Pytorch\" rel=\"nofollow\">github.com\/maudzung\/Complex-YOLOv4-Pytorch<\/a><\/li>\n<li>Code \u2014 YOLO3D-YOLOv4 (7-DOF): <a href=\"https:\/\/github.com\/maudzung\/YOLO3D-YOLOv4-PyTorch\" rel=\"nofollow\">github.com\/maudzung\/YOLO3D-YOLOv4-PyTorch<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/github.com\/maudzung\/YOLO3D-YOLOv4-PyTorch\/raw\/master\/docs\/demo.gif\"><\/div>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/531786\/\"> https:\/\/habr.com\/ru\/post\/531786\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<ul>\n<li><a href=\"https:\/\/arxiv.org\/abs\/2011.08036\" rel=\"nofollow\"><b>\u041d\u0430\u0443\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f<\/b><\/a> <\/li>\n<li><b>Pytorch<\/b>: YOLOv4-CSP, YOLOv4-P5, YOLOv4-P6, YOLOv4-P7 (<a href=\"https:\/\/github.com\/WongKinYiu\/ScaledYOLOv4\" rel=\"nofollow\">main repository <\/a> \u2014 use to reproduce results)<\/li>\n<li><b><a href=\"https:\/\/github.com\/AlexeyAB\/darknet\" rel=\"nofollow\">Darknet<\/a><\/b>: YOLOv4-tiny, YOLOv4-CSP, YOLOv4x-MISH<\/li>\n<li><a href=\"https:\/\/netron.app\/?url=https:\/\/raw.githubusercontent.com\/AlexeyAB\/darknet\/master\/cfg\/yolov4-csp.cfg\" rel=\"nofollow\"><b>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 YOLOv4-CSP<\/b><\/a><\/li>\n<\/ul>\n<p>  Scaled YOLO v4 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0439 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u044c\u044e (<b>55.8% AP<\/b>) \u043d\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 Microsoft COCO \u0441\u0440\u0435\u0434\u0438 \u0432\u0441\u0435\u0445 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u0410 \u0442\u0430\u043a\u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043a \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u043e \u0432\u0441\u0435\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u0442 15 FPS \u0434\u043e <b>1774 FPS<\/b>. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044d\u0442\u043e Top1 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>  Scaled YOLO v4 \u043e\u0431\u0433\u043e\u043d\u044f\u0435\u0442 \u043f\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438:<\/p>\n<ul>\n<li>Google EfficientDet D7x \/ DetectoRS or SpineNet-190 (self-trained on extra-data)<\/li>\n<li>Amazon Cascade-RCNN ResNest200<\/li>\n<li>Microsoft RepPoints v2<\/li>\n<li>Facebook RetinaNet SpineNet-190<\/li>\n<\/ul>\n<p>  <\/p>\n<div class=\"oembed\"><iframe id=\"5fce50c1d4323713fd415911\" src=\"https:\/\/embedd.srv.habr.com\/iframe\/5fce50c1d4323713fd415911\"><\/iframe><\/div>\n<p>  \u041c\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044b YOLO \u0438 Cross-Stage-Partial (CSP) Network \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0438\u043c\u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a \u0438 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043a \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. <\/p>\n<p>  \u0413\u0440\u0430\u0444\u0438\u043a \u0422\u043e\u0447\u043d\u043e\u0441\u0442\u0438 (\u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u044c) \u0438 \u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0438 (\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0441\u044c) \u043d\u0430 GPU Tesla V100 (Volta) \u043f\u0440\u0438 batch=1 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f TensorRT:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/oq\/cb\/hu\/oqcbhufidsi5_8iwomi_fxml3mm.png\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-314485","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314485","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=314485"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314485\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=314485"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=314485"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=314485"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}