{"id":290177,"date":"2018-10-01T20:30:02","date_gmt":"2018-10-01T16:30:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=290177"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=290177","title":{"rendered":"\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e: Raspberry Pi \u0438 Neural Compute Stick"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\u041e\u043a\u043e\u043b\u043e \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f <a href=\"https:\/\/www.movidius.com\/\">Intel Movidius<\/a> \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u2014 Movidius Neural Compute Stick (NCS). \u042d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438. NCS \u0438\u043c\u0435\u0435\u0442 USB-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 1 \u0432\u0430\u0442\u0442\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e\u0431 \u043e\u043f\u044b\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f NCS \u0441 Raspberry Pi \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043b\u0438\u0446 \u0432 \u0432\u0438\u0434\u0435\u043e, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u0430\u043a \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 Mobilenet-SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0442\u0430\u043a \u0438 \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0430 Raspberry. <\/p>\n<p>  \u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043c\u043e\u0438\u0445 \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445: <a href=\"https:\/\/github.com\/BeloborodovDS\/MobilenetSSDFace\">\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430<\/a> \u0438 <a href=\"https:\/\/github.com\/BeloborodovDS\/NCS-face\">\u0434\u0435\u043c\u043e \u0441 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c \u043b\u0438\u0446<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qu\/b_\/tj\/qub_tj1u6ztw9irfy9ivtaaidcc.jpeg\"><\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  <a href=\"https:\/\/habr.com\/post\/347438\/\">\u0412 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NCS: \u0442\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0448\u043b\u0430 \u043e <a href=\"https:\/\/github.com\/dannyblueliu\/YOLO-Face-detection\">YOLOv2<\/a> \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 <a href=\"https:\/\/pjreddie.com\/darknet\/\">Darknet<\/a> \u0432 \u0444\u043e\u0440\u043c\u0430\u0442 <a href=\"http:\/\/caffe.berkeleyvision.org\/\">Caffe<\/a>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043d\u0430 NCS. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c: \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u0438 \u0434\u0432\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0437\u0430\u0434\u0430\u044e\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0432\u044b\u0445\u043e\u0434 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u043d\u0430 CPU, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u0443\u0441\u043a\u0430 \u043a\u043e\u0434\u0430 \u0438\u0437 Darknet. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043d\u0435 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0438\u043b \u043c\u0435\u043d\u044f \u043a\u0430\u043a \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 (\u0434\u043e 5.1 FPS \u043d\u0430 \u043c\u043e\u0435\u043c \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435), \u0442\u0430\u043a \u0438 \u043f\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u2014 \u043f\u043e\u0437\u0436\u0435 \u044f \u0443\u0431\u0435\u0434\u0438\u043b\u0441\u044f, \u0447\u0442\u043e \u0438\u0437-\u0437\u0430 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043e\u0442 \u043d\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 Raspberry Pi. <\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u0443\u0447\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440. \u0412\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 <a href=\"https:\/\/github.com\/weiliu89\/caffe\/tree\/ssd\">SSD<\/a> \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u0441 <a href=\"https:\/\/arxiv.org\/abs\/1704.04861\">Mobilenet<\/a> \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u043e\u043c: \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 Mobilenet \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u043e\u0442\u0435\u0440\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435, \u0430 \u0441\u0430\u043c SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043d\u0435 \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 YOLO \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 NCS \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Mobilenet-SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\u041d\u0430\u0447\u043d\u0435\u043c \u0441 Mobilenet. \u0412 \u044d\u0442\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u043f\u043e\u043b\u043d\u0430\u044f <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/452\/196\/be2\/452196be208df9afad0549459c7c81e0.svg\" alt=\"$3\\times 3$\" data-tex=\"inline\"><\/math> \u0441\u0432\u0435\u0440\u0442\u043a\u0430 (\u043f\u043e \u0432\u0441\u0435\u043c \u043a\u0430\u043d\u0430\u043b\u0430\u043c) \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0432\u0435 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/452\/196\/be2\/452196be208df9afad0549459c7c81e0.svg\" alt=\"$3\\times 3$\" data-tex=\"inline\"><\/math> \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u043b\u043d\u0430\u044f <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/125\/f92\/b2c\/125f92b2c5dbfe2ebdb17a2f3cec4ec9.svg\" alt=\"$1\\times 1$\" data-tex=\"inline\"><\/math> \u0441\u0432\u0435\u0440\u0442\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f <a href=\"https:\/\/arxiv.org\/abs\/1502.03167\">BatchNorm<\/a> \u0438 \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0441\u0442\u044c (ReLU). \u0421\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0432\u0435\u0440\u0442\u043a\u0430 \u0441\u0435\u0442\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0430\u044f \u043d\u0430 \u0432\u0445\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0439. \u042d\u0442\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439. \u0415\u0441\u0442\u044c \u0438 <a href=\"https:\/\/arxiv.org\/abs\/1801.04381\">\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442<\/a>, \u043d\u043e \u0435\u0433\u043e \u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b.<\/p>\n<p>  SSD (Single Shot Detector) \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0430\u043a: \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0432\u0435\u0440\u0442\u043e\u043a \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u043d\u0430\u0432\u0435\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0434\u0432\u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/125\/f92\/b2c\/125f92b2c5dbfe2ebdb17a2f3cec4ec9.svg\" alt=\"$1\\times 1$\" data-tex=\"inline\"><\/math> \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u0441\u043b\u043e\u044f: \u043e\u0434\u0438\u043d \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0434\u0440\u0443\u0433\u043e\u0439 \u2014 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0440\u0430\u043c\u043e\u043a. \u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u0442\u0440\u0435\u0442\u0438\u0439 \u0441\u043b\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0434\u0430\u0435\u0442 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u0440\u0430\u043c\u043e\u043a \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u0435. \u0421\u043c\u044b\u0441\u043b \u0442\u0430\u043a\u043e\u0439: \u0432\u044b\u0445\u043e\u0434 \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0437\u0431\u0438\u0442 \u043d\u0430 \u044f\u0447\u0435\u0439\u043a\u0438; \u0431\u043b\u0438\u0436\u0435 \u043a \u043a\u043e\u043d\u0446\u0443 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0438\u0445 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u0441\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0438\u0437-\u0437\u0430 \u0441\u0432\u0435\u0440\u0442\u043e\u043a \u0441 <code>stride=2<\/code>), \u0430 \u043f\u043e\u043b\u0435 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0435\u0432 \u043c\u044b \u0437\u0430\u0434\u0430\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u0440\u0430\u043c\u043e\u043a \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0441\u0442\u043e\u0440\u043e\u043d, \u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0435 \u0441\u043b\u043e\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u043c\u043a\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 (\u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0438 YOLO) \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0440\u0430\u043c\u043e\u043a. \u041e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 \u043c\u043e\u0436\u0435\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043b\u043e\u044f\u0445: \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u043c \u0440\u0430\u043c\u043a\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c, \u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e non maximum suppression (NMS). \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u043b\u043e\u0435\u0432, \u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0438\u0445 \u043f\u043e\u043b\u043d\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u0442 \u043f\u043e \u043f\u043e\u0440\u043e\u0433\u0443 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 NMS.  <\/div>\n<\/div>\n<h2>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430<\/h2>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h3>\n<p>  \u041a\u043e\u0434 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d <a href=\"https:\/\/github.com\/BeloborodovDS\/MobilenetSSDFace\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u042f \u0440\u0435\u0448\u0438\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/github.com\/chuanqi305\/MobileNet-SSD\">\u0433\u043e\u0442\u043e\u0432\u044b\u043c Mobilenet-SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u043c<\/a>, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u043d\u0430 <a href=\"http:\/\/host.robots.ox.ac.uk\/pascal\/VOC\/\">PASCAL VOC0712<\/a>, \u0438 \u0434\u043e\u043e\u0431\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u0441\u0435\u0442\u043a\u0443 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0430 \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434. <\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u043b \u0441\u043a\u0440\u0438\u043f\u0442 <code>gen.py<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b <code>.prototxt<\/code> \u0444\u0430\u0439\u043b \u043c\u043e\u0434\u0435\u043b\u0438, \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b. \u042f \u043f\u0435\u0440\u0435\u043d\u0435\u0441 \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0442\u044b\u0440\u0435 \u0442\u0438\u043f\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<ul>\n<li><b>train<\/b>: \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u2014 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0430\u044f LMDB \u0431\u0430\u0437\u0430, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0441\u043b\u043e\u0439 \u0441 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u0435\u0435 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043e\u0432, \u0435\u0441\u0442\u044c BatchNorm<\/li>\n<li><b>test<\/b>: \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u2014 \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f LMDB \u0431\u0430\u0437\u0430, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0441\u043b\u043e\u0439 \u0441 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 (mean average precision), \u0435\u0441\u0442\u044c BatchNorm<\/li>\n<li><b>deploy<\/b>: \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u2014 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0441\u043b\u043e\u0439 \u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c\u0438, BatchNorm \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442<\/li>\n<li><b>deploy_bn<\/b>: \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u2014 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0441\u043b\u043e\u0439 \u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c\u0438, \u0435\u0441\u0442\u044c BatchNorm<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u043e\u0437\u0436\u0435, \u0447\u0442\u043e\u0431\u044b \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u043a\u0443 \u0441 BatchNorm, \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u044f LMDB \u0431\u0430\u0437\u044b \u2014 \u0438\u043d\u0430\u0447\u0435 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0431\u0430\u0437\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. (\u0412\u043e\u043e\u0431\u0449\u0435, \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u043c, \u0447\u0442\u043e \u0432 Caffe \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0441\u0435\u0442\u0438 \u2014 \u044d\u0442\u043e \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u043e).<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0435\u0442\u0438 (\u043a\u043e\u0440\u043e\u0442\u043a\u043e)<\/b><\/p>\n<div class=\"spoiler_text\">\n<ul>\n<li>\u0412\u0445\u043e\u0434: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/fb6\/356\/c0b\/fb6356c0b081e303d042c274fb3eb600.svg\" alt=\"$300\\times 300\\times 3$\" data-tex=\"inline\"><\/math><\/li>\n<li>\u041f\u043e\u043b\u043d\u0430\u044f \u0441\u0432\u0435\u0440\u0442\u043a\u0430 <b>conv0<\/b>: 32 \u043a\u0430\u043d\u0430\u043b\u0430, <code>stride=2<\/code><\/li>\n<li>Mobilenet \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv1 \u2014 conv11<\/b>: 64, 128, 128, 256, 256, 512\u2026 512 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/991\/8ae\/ef0\/9918aeef0ab8bbc5667b520d7731af67.svg\" alt=\"$19\\times 19\\times 512$\" data-tex=\"inline\"><\/math><\/li>\n<li>Mobilenet \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv12, conv13<\/b>: 1024 \u043a\u0430\u043d\u0430\u043b\u0430, <b>conv12<\/b> \u0438\u043c\u0435\u0435\u0442 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a74\/ae4\/ee1\/a74ae4ee12be96ffb79eb0564f9cd9e8.svg\" alt=\"$10\\times 10\\times 1024$\" data-tex=\"inline\"><\/math><\/li>\n<li>\u041f\u043e\u043b\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv14_1, conv14_2<\/b>: 256, 512 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 <code>kernel_size=1<\/code>, \u0443 \u0432\u0442\u043e\u0440\u043e\u0439 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f4e\/522\/dc2\/f4e522dc29018777f5c5f07afb43969f.svg\" alt=\"$5\\times 5\\times 512$\" data-tex=\"inline\"><\/math><\/li>\n<li>\u041f\u043e\u043b\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv15_1, conv15_2<\/b>: 128, 256 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 <code>kernel_size=1<\/code>, \u0443 \u0432\u0442\u043e\u0440\u043e\u0439 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1f8\/499\/0a9\/1f84990a925788bc7b74588202afb671.svg\" alt=\"$3\\times 3\\times 256$\" data-tex=\"inline\"><\/math><\/li>\n<li>\u041f\u043e\u043b\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv16_1, conv16_2<\/b>: 128, 256 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 <code>kernel_size=1<\/code>, \u0443 \u0432\u0442\u043e\u0440\u043e\u0439 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/11b\/e4d\/a62\/11be4da623d04ed20f7d31db41f73f64.svg\" alt=\"$2\\times 2\\times 256$\" data-tex=\"inline\"><\/math><\/li>\n<li>\u041f\u043e\u043b\u043d\u044b\u0435 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 <b>conv17_1, conv17_2<\/b>: 64, 128 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u0443 \u043f\u0435\u0440\u0432\u043e\u0439 <code>kernel_size=1<\/code>, \u0443 \u0432\u0442\u043e\u0440\u043e\u0439 <code>stride=2<\/code><\/li>\n<li>\u0421\u043b\u043e\u0439 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e9f\/adb\/edb\/e9fadbedbacd53f320f5d94b95b38e25.svg\" alt=\"$1\\times 1\\times 128$\" data-tex=\"inline\"><\/math><\/li>\n<li> \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 Detection output<\/li>\n<\/ul>\n<p>  <\/div>\n<\/div>\n<p>  \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0441\u0435\u0442\u0438 \u044f \u0441\u043b\u0435\u0433\u043a\u0430 \u043f\u043e\u0434\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043b. \u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439:  <\/p>\n<ul>\n<li>\u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0438\u0441\u043b\u043e \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0441\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u043d\u0430 1 (\u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f \u0444\u043e\u043d\u0430).<\/li>\n<li>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0440\u043e\u043d \u0432\u044b\u0440\u0435\u0437\u0430\u0435\u043c\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u043f\u0440\u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0438: \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u0441 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/411\/a3b\/4cf\/411a3b4cf9619abebebcbd3700b0ac1b.svg\" alt=\"$ [0.5,2.0]$\" data-tex=\"inline\"><\/math> \u043d\u0430 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/314\/89c\/285\/31489c285570da9f269e06b1fac677ed.svg\" alt=\"$ [0.7,1.4]$\" data-tex=\"inline\"><\/math> (\u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u043d\u0435 \u043e\u0431\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0440\u0430\u0441\u0442\u044f\u043d\u0443\u0442\u044b\u0445 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445). <\/li>\n<li>\u0418\u0437 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u0440\u0430\u043c\u043e\u043a \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435, \u043f\u043e \u0434\u0432\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u044f\u0447\u0435\u0439\u043a\u0443. \u0418\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043b\u0438\u0446\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. <\/li>\n<\/ul>\n<p>  Caffe \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0445 \u0440\u0430\u043c\u043e\u043a \u0442\u0430\u043a: \u0438\u043c\u0435\u044f \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0440\u0430\u043c\u043a\u0438 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f9d\/da2\/695\/f9dda26950cb67bd3ecef956c5341c14.svg\" alt=\"$s$\" data-tex=\"inline\"><\/math> \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a5a\/4e0\/afa\/a5a4e0afaec84939dbfda220172b2be0.svg\" alt=\"$L$\" data-tex=\"inline\"><\/math>, \u043e\u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0443\u044e \u0438 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0440\u0430\u043c\u043a\u0438 \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f9d\/da2\/695\/f9dda26950cb67bd3ecef956c5341c14.svg\" alt=\"$s$\" data-tex=\"inline\"><\/math> \u0438 <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/bac\/1e6\/cdd\/bac1e6cddfae23223b46c80d5badb7f5.svg\" alt=\"$\\sqrt{sL}$\" data-tex=\"inline\"><\/math>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0435 \u043b\u0438\u0446\u0430, \u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043b \u043f\u043e\u043b\u043d\u044b\u0439 <code>stride<\/code> \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043b\u043e\u044f \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439 \u0438 \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u044f\u043b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0440\u0430\u043c\u043a\u0438 \u043a \u043d\u0435\u043c\u0443. \u041f\u0440\u0438 \u0442\u0430\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u0440\u0430\u043c\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043f\u043b\u043e\u0442\u043d\u0443\u044e \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0442\u044c\u0441\u044f. \u0422\u0430\u043a \u0443 \u043d\u0430\u0441 \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u044f, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0430\u043c\u043a\u0438. \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0432\u0434\u0432\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0435. \u0414\u043b\u044f \u0441\u043b\u043e\u0435\u0432 <b>conv16_2, conv17_2<\/b> \u044f \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043d\u0430 \u0433\u043b\u0430\u0437, \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/de4\/691\/75c\/de469175c403911abc09e7b5b622a48c.svg\" alt=\"$s,L$\" data-tex=\"inline\"><\/math> \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043b\u043e\u0435\u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438: <math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ed2\/f2d\/5cd\/ed2f2d5cdc06d4a3f8e0bb261fd4e006.svg\" alt=\"$(16,32),(32,64),(64,128),(128,214),(214,300),(214,300)$\" data-tex=\"inline\"><\/math><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u0440\u0430\u043c\u043a\u0438 (\u0448\u0443\u043c \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438)<\/b><\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/j9\/ti\/gj\/j9tigjn9tq7sdz6m3tyxa1v2r9s.png\">  <\/div>\n<\/div>\n<h3>\u0414\u0430\u043d\u043d\u044b\u0435<\/h3>\n<p>  \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u0432\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430: <a href=\"http:\/\/mmlab.ie.cuhk.edu.hk\/projects\/WIDERFace\/\">WIDER Face<\/a> \u0438 <a href=\"http:\/\/vis-www.cs.umass.edu\/fddb\/\">FDDB<\/a>. WIDER \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0441 \u043e\u0447\u0435\u043d\u044c \u043c\u0435\u043b\u043a\u0438\u043c\u0438 \u0438 \u0440\u0430\u0437\u043c\u044b\u0442\u044b\u043c\u0438 \u043b\u0438\u0446\u0430\u043c\u0438, \u0430 FDDB \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u044f\u0433\u043e\u0442\u0435\u0435\u0442 \u043a \u043a\u0440\u0443\u043f\u043d\u044b\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c \u043b\u0438\u0446 (\u0438 \u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c WIDER). \u0412 \u043d\u0438\u0445 \u0441\u043b\u0435\u0433\u043a\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u0442 \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0435\u0442\u0430\u043b\u0438. <\/p>\n<p>  \u0414\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043d\u0435 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435: \u044f \u0432\u044b\u043a\u0438\u043d\u0443\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043b\u0438\u0446\u0430 (\u043c\u0435\u043d\u044c\u0448\u0435 \u0448\u0435\u0441\u0442\u0438 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0438\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 2% \u0448\u0438\u0440\u0438\u043d\u044b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f), \u0432\u044b\u043a\u0438\u043d\u0443\u043b \u0432\u0441\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u043e\u0440\u043e\u043d \u043c\u0435\u043d\u044c\u0448\u0435 0.5 \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 2, \u0432\u044b\u043a\u0438\u043d\u0443\u043b \u0432\u0441\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u00ab\u0440\u0430\u0437\u043c\u044b\u0442\u044b\u0435\u00bb \u0432 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435 WIDER, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u043c\u0435\u043b\u043a\u0438\u043c \u043b\u0438\u0446\u0430\u043c, \u0438 \u043c\u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e \u0432\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043c\u0435\u043b\u043a\u0438\u0445 \u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043b\u0438\u0446. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u0441\u0435 \u0440\u0430\u043c\u043a\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438, \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0432 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443: \u044f \u0440\u0435\u0448\u0438\u043b, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u0438 \u043b\u0438\u0446\u0430, \u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u043b\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442\u0441\u044f. \u0422\u0430\u043a\u0436\u0435 \u044f \u0432\u044b\u043a\u0438\u043d\u0443\u043b \u0432\u0441\u0435 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u0438 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0434\u0430\u0435\u0442.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430\u0434\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 LMDB \u0431\u0430\u0437\u0443. \u041a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f:  <\/p>\n<ul>\n<li>\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0432 <code>.xml<\/code> \u0444\u043e\u0440\u043c\u0430\u0442\u0435.<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b <code>train.txt<\/code> \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0432\u0438\u0434\u0430 <code>\"path\/to\/image.png path\/to\/labels.xml\"<\/code>, \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f test.<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b <code>test_name_size.txt<\/code> \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0432\u0438\u0434\u0430 <code>\"test_image_name height width\"<\/code><\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b <code>labelmap.prototxt<\/code> \u0441 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u043c\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c<\/li>\n<\/ul>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442 <code>ssd-caffe\/scripts\/create_annoset.py<\/code> (\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 Makefile):  <\/p>\n<pre><code class=\"bash\">python3 \/opt\/movidius\/ssd-caffe\/scripts\/create_annoset.py --anno-type=detection \\ --label-map-file=$(wider_dir)\/labelmap.prototxt --min-dim=0 --max-dim=0 \\ --resize-width=0 --resize-height=0 --check-label --encode-type=jpg --encoded \\ --redo $(wider_dir) \\ $(wider_dir)\/trainval.txt $(wider_dir)\/WIDER_train\/lmdb\/wider_train_lmdb .\/data <\/code><\/pre>\n<div class=\"spoiler\"><b class=\"spoiler_title\">labelmap.prototxt<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>item {   name: \"none_of_the_above\"   label: 0   display_name: \"background\" } item {   name: \"face\"   label: 1   display_name: \"face\" } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 .xml \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;?xml version=\"1.0\" ?&gt; &lt;annotation&gt; \t&lt;size&gt; \t\t&lt;width&gt;348&lt;\/width&gt; \t\t&lt;height&gt;450&lt;\/height&gt; \t\t&lt;depth&gt;3&lt;\/depth&gt; \t&lt;\/size&gt; \t&lt;object&gt; \t\t&lt;name&gt;face&lt;\/name&gt; \t\t&lt;bndbox&gt; \t\t\t&lt;xmin&gt;161&lt;\/xmin&gt; \t\t\t&lt;ymin&gt;43&lt;\/ymin&gt; \t\t\t&lt;xmax&gt;241&lt;\/xmax&gt; \t\t\t&lt;ymax&gt;123&lt;\/ymax&gt; \t\t&lt;\/bndbox&gt; \t&lt;\/object&gt; &lt;\/annotation&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0432\u0443\u0445 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u043e\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043b\u0438\u0448\u044c \u0442\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0441\u043b\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0444\u0430\u0439\u043b\u044b \u043f\u043e\u043f\u0430\u0440\u043d\u043e, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0443\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044e.<\/p>\n<h3>\u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>  \u041a\u043e\u0434 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043c\u043e\u0435\u043c <a href=\"https:\/\/colab.research.google.com\/drive\/1LExcFZO8vN46xrJ8deG159eIUaW0kB-H\">Colab Notebook<\/a>.<\/p>\n<p>  \u041e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b \u0432 Google Colaboratory, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043e\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0435\u0434\u0432\u0430 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0441\u044f \u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0435\u0442\u043a\u0438, \u0430 \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0437\u0430\u0432\u0438\u0441\u0430\u043b. Colaboratory \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0430 \u043c\u043d\u0435 \u043e\u0431\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u0442\u043a\u0443 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e. \u041f\u043e\u0434\u0432\u043e\u0445 \u043b\u0438\u0448\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 SSD-Caffe \u0434\u043b\u044f Colaboratory (\u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0442\u0430\u043a\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0435 \u0432\u0435\u0449\u0438, \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e boost \u0438 \u043f\u0440\u0430\u0432\u043a\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u0430 40 \u043c\u0438\u043d\u0443\u0442. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c <a href=\"https:\/\/habr.com\/post\/413229\/\">\u0432 \u043c\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u0443 Colaboratory \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c: \u043f\u043e\u0441\u043b\u0435 12 \u0447\u0430\u0441\u043e\u0432 \u043c\u0430\u0448\u0438\u043d\u0430 \u0443\u043c\u0438\u0440\u0430\u0435\u0442, \u0431\u0435\u0437\u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043d\u043e \u0441\u0442\u0438\u0440\u0430\u044f \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041b\u0443\u0447\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u044d\u0442\u043e \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0432\u043e\u0439 \u0433\u0443\u0433\u043b \u0434\u0438\u0441\u043a \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u0432\u0435\u0441\u0430 \u0441\u0435\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0435 500-1000 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043c\u043e\u0435\u0433\u043e \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0437\u0430 \u043e\u0434\u043d\u0443 \u0441\u0435\u0441\u0441\u0438\u044e \u0432 Colaboratory \u043e\u043d \u0443\u0441\u043f\u0435\u0432\u0430\u043b \u043e\u0442\u0443\u0447\u0438\u0442\u044c\u0441\u044f 4500 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u0443\u0447\u0430\u043b\u0441\u044f \u0437\u0430 \u0434\u0432\u0435 \u0441\u0435\u0441\u0441\u0438\u0438. <\/p>\n<p>  \u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0439 (mean average precision) \u043d\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043c\u043d\u043e\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u043b\u0438\u0442\u044b\u0435 WIDER \u0438 FDDB \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0430\u043d\u0435\u0435) \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 0.87 \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f mAP \u043d\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0435\u0441\u0430\u0445 \u0435\u0441\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 <code>scripts\/plot_map.py<\/code>.<\/p>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u043d\u0430 (\u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u043c) \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0437 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/nw\/kc\/jy\/nwkcjyrtsz09v2fivdbs4uny3lc.png\" width=\"60%\"><\/div>\n<h2>\u0417\u0430\u043f\u0443\u0441\u043a \u043d\u0430 NCS<\/h2>\n<p>  \u0414\u0435\u043c\u043e-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c \u043b\u0438\u0446 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f <a href=\"https:\/\/github.com\/BeloborodovDS\/NCS-face\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0434\u043b\u044f Neural Compute Stick, \u043d\u0443\u0436\u0435\u043d <a href=\"https:\/\/movidius.github.io\/ncsdk\/\">Movidius NCSDK<\/a>: \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 C++ \u0438 Python API. \u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0431\u044b\u043b\u0430 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u0430 \u0432\u0442\u043e\u0440\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u043d\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u043f\u0435\u0440\u0432\u043e\u0439: \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 API \u0431\u044b\u043b\u0438 \u0437\u0430\u0447\u0435\u043c-\u0442\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u044b, \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u043e\u043a, \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c FIFO \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 NCS \u0438 (\u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e) \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 float 32 bit \u0432 float 16 bit, \u0447\u0435\u0433\u043e \u0442\u0430\u043a \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u0432 C++. \u0412\u0441\u0435 \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u044f \u043e\u0431\u043d\u043e\u0432\u0438\u043b \u0434\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u043f\u0430\u0440\u0443 \u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u0441\u0442\u043e\u0438\u0442 \u0441\u043b\u0438\u0442\u044c BatchNorm \u0441\u043b\u043e\u0438 \u0441 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u043c\u0438 \u0441\u0432\u0435\u0440\u0442\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438. \u042d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442 <code>merge_bn.py<\/code> <a href=\"https:\/\/github.com\/BeloborodovDS\/MobilenetSSDFace\/tree\/master\/models\/ssd_voc\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0442\u043e\u0436\u0435 \u043f\u043e\u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Mobilenet-SSD.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <code>mvNCCompile<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code class=\"bash\">mvNCCompile -s 12 -o graph_ssd -w ssd-face.caffemodel ssd-face.prototxt <\/code><\/pre>\n<p>  \u0412 Makefile \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0446\u0435\u043b\u044c <code>graph_ssd<\/code>. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b <code>graph_ssd<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u043c NCS.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0441\u0430\u043c\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u043a\u043e\u0434\u0430. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0430\u044f:<\/p>\n<ul>\n<li>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443 <\/li>\n<li>\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e <\/li>\n<li>\u0421\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440 (\u043a\u0430\u043a \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u0444\u0430\u0439\u043b)<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u0433\u0440\u0430\u0444 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0434\u043b\u044f NCS<\/li>\n<li>\u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0433\u0440\u0430\u0444 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e FIFO \u043d\u0430 input\/output; \u0431\u0443\u0444\u0435\u0440 \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c \u0444\u0430\u0439\u043b\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c<\/li>\n<li>\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430:<br \/>  \u2003\u2003\n<ul>\n<li>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043a\u0430\u043c\u0435\u0440\u044b (\u0438\u043b\u0438 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430)<\/li>\n<li>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e: \u043e\u0442\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 float32 \u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 [-1,1]<\/li>\n<li>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441<\/li>\n<li>\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430)<\/li>\n<li>\u0420\u0430\u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u043c\u043a\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u2014 \u0434\u0430\u043b\u0435\u0435)<\/li>\n<li>\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c\u0438<\/li>\n<\/ul>\n<p>  \u2003\u2003<\/li>\n<li>\u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b: \u0443\u0434\u0430\u043b\u0438\u0442\u044c FIFO \u0438 \u0433\u0440\u0430\u0444 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439, \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0435\u0433\u043e \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 NCS \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0438 \u0432 C++ \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u043e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043a\u043e\u0434, \u044f \u0441\u043e\u0437\u0434\u0430\u043b <a href=\"https:\/\/github.com\/BeloborodovDS\/NCS-face\/tree\/master\/wrapper\">\u043a\u043b\u0430\u0441\u0441-\u043e\u0431\u0435\u0440\u0442\u043a\u0443 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NCS<\/a>. \u0412 \u043d\u0435\u043c \u0432\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043f\u0440\u044f\u0442\u0430\u043d\u0430 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>load_file<\/code>, \u0430 \u043f\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u2014 \u0432 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 NCS \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0432\u044b\u0437\u043e\u0432\u0443 2-3 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043a\u043b\u0430\u0441\u0441\u0430. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u0435\u0441\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u0435\u0440\u0442\u043a\u0443, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u0445\u043e\u0434\u0430 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0445\u043e\u0434\u0430 (\u0447\u0438\u0441\u043b\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432):  <\/p>\n<pre><code class=\"cpp\">NCSWrapper NCS(NETWORK_INPUT_SIZE*NETWORK_INPUT_SIZE*3, NETWORK_OUTPUT_SIZE); <\/code><\/pre>\n<p>  \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u043a\u043e\u0439, \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044f \u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e:  <\/p>\n<pre><code class=\"cpp\">if (!NCS.load_file(\".\/models\/face\/graph_ssd\")) {     NCS.print_error_code();     return 0; } <\/code><\/pre>\n<p>  \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 float32 (<code>image<\/code> \u2014 \u044d\u0442\u043e <code>cv::Mat<\/code> \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <code>CV_32FC3<\/code>) \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e:  <\/p>\n<pre><code class=\"cpp\">if(!NCS.load_tensor_nowait((float*)image.data)) {     NCS.print_error_code();     break; } <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (<code>result<\/code> \u2014 \u044d\u0442\u043e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 <code>float<\/code> \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u0431\u0443\u0444\u0435\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u043e\u0439); \u0434\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f:  <\/p>\n<pre><code class=\"cpp\">if(!NCS.get_result(result)) {     NCS.print_error_code();     break; } <\/code><\/pre>\n<p>  \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0432 \u043e\u0431\u0435\u0440\u0442\u043a\u0435 \u0435\u0441\u0442\u044c \u0438 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e: <code>load_tensor((float*)image.data, result)<\/code>. \u042f \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0442 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0433\u043a\u0430 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f CPU \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441 NCS (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 100 \u043c\u0441), \u0438 \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439: \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u0430\u0434\u0440 \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u0435\u043c\u043e-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 FPS. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0432 \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u2014 \u044d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0435\u0449\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c\u0441\u044f, \u043e\u0434\u043d\u0430\u043a\u043e \u0432 \u0434\u0435\u043c\u043e-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e.<\/p>\n<p>  \u0414\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 float \u043c\u0430\u0441\u0441\u0438\u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 <code>7*(keep_top_k+1)<\/code>. \u0417\u0434\u0435\u0441\u044c <code>keep_top_k<\/code> \u2014 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 <code>.prototxt<\/code> \u0444\u0430\u0439\u043b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439 (\u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438) \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c. \u042d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0439 \u0437\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439 \u043f\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b non maximum suppression \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 <code>.prototxt<\/code> \u0444\u0430\u0439\u043b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u043e\u0435. \u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 Caffe \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0442\u043e NCS \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <code>keep_top_k<\/code> \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0431\u044b\u043b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c.<\/p>\n<p>  \u0421\u0430\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a: \u0435\u0441\u043b\u0438 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u0430\u043a \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0441 <code>keep_top_k+1<\/code> \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0438 7 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438, \u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0439, \u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u0430\u043c\u0438 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <code>\"garbage, class_index, class_probability, x_min, y_min, x_max, y_max\"<\/code>. \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 [0,1], \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0441\u043e\u0442\u0443\/\u0448\u0438\u0440\u0438\u043d\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0412 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u043c\u0443\u0441\u043e\u0440. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c non maximum suppression \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0435\u0449\u0435 \u0434\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 (\u043f\u043e\u0445\u043e\u0436\u0435, \u043f\u0440\u044f\u043c\u043e \u043d\u0430 NCS).<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0430\u0440\u0441\u0438\u043d\u0433 \u0432\u044b\u0445\u043e\u0434\u0430 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">void get_detection_boxes(float* predictions, int w, int h, float thresh,  \tstd::vector&lt;float&gt;&amp; probs, std::vector&lt;cv::Rect&gt;&amp; boxes) {     int num = predictions[0];     float score = 0;     float cls = 0;          for (int i=1; i&lt;num+1; i++)     {       score = predictions[i*7+2];       cls = predictions[i*7+1];       if (score&gt;thresh &amp;&amp; cls&lt;=1)       { \tprobs.push_back(score); \tboxes.push_back(Rect(predictions[i*7+3]*w, predictions[i*7+4]*h, \t\t\t    (predictions[i*7+5]-predictions[i*7+3])*w,  \t\t\t    (predictions[i*7+6]-predictions[i*7+4])*h));       }     } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<h2>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0430 Raspberry Pi<\/h2>\n<p>  \u0421\u0430\u043c\u0430 \u0434\u0435\u043c\u043e-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u043a\u0430\u043a \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0438\u043b\u0438 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0441 Ubuntu, \u0442\u0430\u043a \u0438 \u043d\u0430 Raspberry Pi \u0441 Raspbian Stretch. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Raspberry Pi 2 model B, \u043d\u043e \u0434\u0435\u043c\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445. Makefile \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0434\u0432\u0435 \u0446\u0435\u043b\u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0436\u0438\u043c\u0430: <code>make switch_desk<\/code> \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\/\u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u0438 <code>make switch_rpi<\/code> \u0434\u043b\u044f Raspberry Pi. \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043a\u0430\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f OpenCV, \u0430 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"http:\/\/www.uco.es\/investiga\/grupos\/ava\/node\/40\">RaspiCam<\/a>. \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u0435\u043c\u043e \u043d\u0430 Raspberry \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u0435.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 NCSDK. \u0415\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0430 Raspberry Pi, \u043d\u0438\u0447\u0435\u043c \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u044d\u0442\u043e \u043d\u0435 \u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f: \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0442\u0430\u0449\u0438\u0442\u044c \u0438 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c SSD-Caffe \u0438 Tensorflow. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e NCSDK \u043d\u0443\u0436\u043d\u043e <a href=\"https:\/\/movidius.github.io\/blog\/ncs-apps-on-rpi\/\">\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 API-only \u0440\u0435\u0436\u0438\u043c\u0435<\/a>. \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e C++ \u0438 Python API (\u0442\u043e \u0435\u0441\u0442\u044c, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u044b \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439). \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0433\u0440\u0430\u0444 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 Raspberry. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044e \u0434\u0432\u0430 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430, \u0434\u043b\u044f YOLO \u0438 \u0434\u043b\u044f SSD.<\/p>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u2014 \u044d\u0442\u043e \u0447\u0438\u0441\u0442\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 NCS \u043a Raspberry. \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0435 \u043a USB-\u0440\u0430\u0437\u044a\u0435\u043c\u0443, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0435\u0435 \u043a\u043e\u0440\u043f\u0443\u0441 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0438 \u0440\u0430\u0437\u044a\u0435\u043c\u0430 (\u043e\u043d \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0434\u043e\u0440\u043e\u0432\u044b\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0440\u0430\u0434\u0438\u0430\u0442\u043e\u0440\u0430). \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u044b\u0445\u043e\u0434 \u2014 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0435 \u0447\u0435\u0440\u0435\u0437 USB-\u043a\u0430\u0431\u0435\u043b\u044c. \u041d\u043e \u0441\u0442\u043e\u0438\u0442 \u0438\u043c\u0435\u0442\u044c \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043a\u0430\u0431\u0435\u043b\u044c \u0432\u043d\u043e\u0441\u0438\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0443\u044e, \u043d\u043e \u0437\u0430\u043c\u0435\u0442\u043d\u0443\u044e. \u042f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0434\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u0430\u0431\u0435\u043b\u044f, \u043e\u0434\u0438\u043d 2 \u043c, \u0432\u0442\u043e\u0440\u043e\u0439 30 \u0441\u043c, \u0438 \u043e\u043d\u0438 \u043e\u0431\u0430 \u0432\u043d\u043e\u0441\u0438\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0447\u0435\u0442 \u043f\u0438\u0442\u0430\u043d\u0438\u044f NCS. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043e\u043d\u0430 \u0434\u043e 1 \u0432\u0430\u0442\u0442\u0430 (\u043f\u0440\u0438 5 \u0432\u043e\u043b\u044c\u0442\u0430\u0445 \u043d\u0430 USB \u0440\u0430\u0437\u044a\u0435\u043c\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e 200 ma; \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f: \u043a\u0430\u043c\u0435\u0440\u0430 Raspberry \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u0434\u043e 250 ma). \u041f\u0440\u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u0438 \u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0440\u044f\u0434\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 5 \u0432\u043e\u043b\u044c\u0442, 2 \u0430\u043c\u043f\u0435\u0440\u0430 \u0432\u0441\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0432\u0435 \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 NCS \u043a Raspberry \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c USB-\u0440\u0430\u0437\u0432\u0435\u0442\u0432\u0438\u0442\u0435\u043b\u044c \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0438\u0442\u0430\u043d\u0438\u044f. <\/p>\n<p>  \u041d\u0430 Raspberry \u0434\u0435\u043c\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0447\u0435\u043c \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435\/\u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435: 7.2 FPS \u043f\u0440\u043e\u0442\u0438\u0432 10.4 FPS. \u0421\u0432\u044f\u0437\u0430\u043d\u043e \u044d\u0442\u043e \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 CPU \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u043d\u0438 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435; \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043f\u0440\u043e USB-\u043a\u0430\u0431\u0435\u043b\u044c).<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 Raspberry YOLOv2 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043b\u0438\u0446 \u0438\u0437 \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043e\u043d \u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u043e: \u043f\u0440\u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432 3.6 FPS \u043e\u043d \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043b\u0438\u0446 \u0434\u0430\u0436\u0435 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043a\u0430\u0434\u0440\u0430\u0445. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u043e\u043d \u043e\u0447\u0435\u043d\u044c \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d \u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u0430\u043c\u0435\u0440\u044b Raspberry \u0434\u0430\u043b\u0435\u043a\u043e \u043e\u0442 \u0438\u0434\u0435\u0430\u043b\u0430. SSD \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0435\u0435, \u0445\u043e\u0442\u044f \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0438\u0434\u0435\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 RapiCam. \u043e\u043d \u0442\u043e\u0436\u0435 \u0438\u043d\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043b\u0438\u0446\u0430 \u043d\u0430 \u043a\u0430\u0434\u0440\u0435, \u043d\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0435\u0434\u043a\u043e. \u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 <a href=\"https:\/\/www.pyimagesearch.com\/2018\/07\/23\/simple-object-tracking-with-opencv\/\">centroid tracker<\/a>.<\/p>\n<p>  \u041a \u0441\u043b\u043e\u0432\u0443: \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0438 \u043d\u0430 Python, \u0435\u0441\u0442\u044c <a href=\"https:\/\/www.pyimagesearch.com\/2018\/02\/19\/real-time-object-detection-on-the-raspberry-pi-with-the-movidius-ncs\/\">\u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u043d\u0430 PyImageSearch<\/a> (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Mobilenet-SSD \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 object detection).<\/p>\n<h4>\u0414\u0440\u0443\u0433\u0438\u0435 \u0438\u0434\u0435\u0438<\/h4>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u044f \u0438\u0441\u043f\u044b\u0442\u0430\u043b \u043f\u0430\u0440\u0443 \u0438\u0434\u0435\u0439 \u043f\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044e \u0441\u0430\u043c\u043e\u0439 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438: <\/p>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0438\u0434\u0435\u044f: \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u0441\u043b\u043e\u0435\u0432 <code>conv11<\/code> \u0438 <code>conv13<\/code>, \u0430 \u0432\u0441\u0435 \u043b\u0438\u0448\u043d\u0438\u0435 \u0441\u043b\u043e\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c. \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043b\u043a\u0438\u0435 \u043b\u0438\u0446\u0430 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u0412 \u0446\u0435\u043b\u043e\u043c, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u0433\u043e.<\/p>\n<p>  \u0412\u0442\u043e\u0440\u0430\u044f \u0438\u0434\u0435\u044f \u0431\u044b\u043b\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f, \u043d\u043e \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430: \u044f \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438\u0437 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u043a\u0438 \u0441\u0432\u0435\u0440\u0442\u043a\u0438 \u0441 \u0432\u0435\u0441\u0430\u043c\u0438, \u0431\u043b\u0438\u0437\u043a\u0438\u043c\u0438 \u043a \u043d\u0443\u043b\u044e, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u0442\u0430\u043d\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u0438\u0445 \u0441\u0432\u0435\u0440\u0442\u043e\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e, \u0438 \u0438\u0445 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u0435\u0433\u043a\u0430 \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u043b\u043e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c (\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u0433\u0430\u0434\u043a\u0430: \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u043e \u0431\u044b\u0442\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u044c\u044e \u0434\u0432\u043e\u0439\u043a\u0438).<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u041e\u0431 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043b\u0438\u0446 \u043d\u0430 Raspberry \u044f \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0434\u0430\u0432\u043d\u043e, \u043a\u0430\u043a \u043e \u043f\u043e\u0434\u0437\u0430\u0434\u0430\u0447\u0435 \u043c\u043e\u0435\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041c\u043d\u0435 \u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u044b \u043f\u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430, \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b, \u0437\u0430\u043e\u0434\u043d\u043e \u0438\u0441\u043f\u044b\u0442\u0430\u0432 Neural Compute Stick, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 GitHub \u0438 \u0442\u0440\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0442\u0435\u043a\u0443\u0449\u0443\u044e). \u0412 \u0446\u0435\u043b\u043e\u043c, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u0435\u043d\u044f \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u2014 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0435\u043c \u0440\u043e\u0431\u043e\u0442\u0435 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e \u043d\u0435\u043c \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f). \u0421\u0442\u043e\u0438\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u2014 \u0432\u0441\u0435 \u0436\u0435, \u044d\u0442\u043e \u0443\u0447\u0435\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0439 \u043e\u0442\u0447\u0430\u0441\u0442\u0438 \u0438\u0437 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u0441\u0442\u0432\u0430 \u043a NCS. \u0412\u0441\u0435 \u0436\u0435, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439.<\/p><\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \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\/post\/424973\/\"> https:\/\/habr.com\/post\/424973\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\u041e\u043a\u043e\u043b\u043e \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f <a href=\"https:\/\/www.movidius.com\/\">Intel Movidius<\/a> \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u2014 Movidius Neural Compute Stick (NCS). \u042d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438. NCS \u0438\u043c\u0435\u0435\u0442 USB-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 1 \u0432\u0430\u0442\u0442\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e\u0431 \u043e\u043f\u044b\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f NCS \u0441 Raspberry Pi \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043b\u0438\u0446 \u0432 \u0432\u0438\u0434\u0435\u043e, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u0430\u043a \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 Mobilenet-SSD \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0442\u0430\u043a \u0438 \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0430 Raspberry. <\/p>\n<p>  \u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043c\u043e\u0438\u0445 \u0434\u0432\u0443\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445: <a href=\"https:\/\/github.com\/BeloborodovDS\/MobilenetSSDFace\">\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430<\/a> \u0438 <a href=\"https:\/\/github.com\/BeloborodovDS\/NCS-face\">\u0434\u0435\u043c\u043e \u0441 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c \u043b\u0438\u0446<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qu\/b_\/tj\/qub_tj1u6ztw9irfy9ivtaaidcc.jpeg\"><\/p>\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-290177","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290177","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=290177"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290177\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=290177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=290177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=290177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}