{"id":260356,"date":"2015-06-29T19:31:02","date_gmt":"2015-06-29T15:31:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=260356"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=260356","title":{"rendered":"\u0414\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u0432 Wolfram Language (Mathematica)"},"content":{"rendered":"\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/670\/b13\/2a8\/670b132a8d944d67bb09a968737be29f.png\" \/><\/div>\n<p>  <i>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u043f\u043e\u0441\u0442\u0430 Matthias Odisio &quot;<a href=\"http:\/\/blog.wolfram.com\/2013\/05\/09\/seeing-skin-with-mathematica\/\">Seeing Skin with Mathematica<\/a>&quot;.<br \/>  \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0432\u0435\u0441\u044c \u043a\u043e\u0434, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u043e\u0436\u043d\u043e <a href=\"http:\/\/blog.wolfram.com\/data\/uploads\/2013\/05\/SeeingSkinBlog.zip\">\u0437\u0434\u0435\u0441\u044c<\/a>.<br \/>  \u0412\u044b\u0440\u0430\u0436\u0430\u044e \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c <a href=\"http:\/\/vk.com\/ld742\">\u041a\u0438\u0440\u0438\u043b\u043b\u0443 \u0413\u0443\u0437\u0435\u043d\u043a\u043e<\/a> \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435.<\/i><\/p>\n<hr\/>\n<p>\u0414\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0448\u0430\u0433\u043e\u0432 \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043b\u044e\u0434\u0435\u0439, \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0436\u0435\u0441\u0442\u043e\u0432, \u043b\u0438\u0446, \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0432\u0441\u0451 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435, \u043c\u043e\u044f \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c. \u041e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 Wolfram Research, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e, \u043f\u043e\u0434\u0432\u0435\u0440\u0433\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u0421 \u043c\u043e\u0438\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043a\u043e \u043c\u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0436\u0435, \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 <i>Mathematica<\/i>, \u0442\u0430\u043a \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0414\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u2014 \u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443.<\/p>\n<p>  \u041e\u0442\u0442\u0435\u043d\u043a\u0438 \u043a\u043e\u0436\u0438 \u0438 \u0432\u043d\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u0440\u044c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438. \u0414\u0435\u0442\u0435\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 \u0434\u043b\u044f \u0446\u0432\u0435\u0442\u043e\u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0432\u0445\u043e\u0434, \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u043e\u0436\u0438.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Skin detection model\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/632\/116\/b2c\/632116b2c4787af2f950c61509f501cc.png\" alt=\"Skin detection model\" width=\"526\" height=\"204\"\/><br \/>  <a name=\"habracut\"><\/a><br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0442\u0435\u043e\u0440\u0438\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438. \u041c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0411\u0430\u0439\u0435\u0441\u0430, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u044d\u0442\u043e \u0442\u0430\u043a (\u043d\u0430\u0437\u043e\u0432\u0451\u043c \u044d\u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c 1):<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Equation 1\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/08a\/45d\/179\/08a45d1798dd91ac53810dc5c46bf568.png\" alt=\"Equation 1\" width=\"303\" height=\"40\"\/><\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u043e\u0439 P[.].<\/p>\n<p>  \u0422\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u0432 \u043f\u0440\u0430\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u043c\u043e\u0439 \u0444\u043e\u0440\u043c\u0435. \u0422\u0443\u0442 \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438 \u044d\u0442\u0438 \u0434\u0432\u0430 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c \u0441 \u043a\u043e\u0436\u0435\u0439, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0438\u0437 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0445. \u041c\u044b \u043e\u0431\u0443\u0447\u0438\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0434\u043b\u044f <b>P[color|skin]<\/b>. \u041e\u0446\u0435\u043d\u043a\u0430 \u0430\u043f\u0440\u0438\u043e\u0440\u043d\u043e\u0439 <b>P[skin]<\/b> \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0432 \u0442\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435, \u0447\u0442\u043e \u043e\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438. \u041c\u044b \u043f\u043e\u0439\u0434\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0443\u0442\u0451\u043c \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0430\u043f\u0440\u0438\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u0421 <b>P[color]<\/b> \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043f\u043e\u043b\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u0443\u0442\u0451\u043c \u0440\u0430\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0447\u043b\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"P[color] == P[color|skin]*P[skin] + P[color|nonskin]*P[nonskin]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0e9\/333\/a76\/0e9333a76b0371854fc5a83ff747da9d.png\" width=\"354\" height=\"32\"\/><\/p>\n<p>  \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u043d\u0430\u0448 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u0439 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0444\u043e\u0440\u043c\u0443\u043b\u043e\u0439 (\u043d\u0430\u0437\u043e\u0432\u0451\u043c \u0435\u0451 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c 2):<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Equation 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4a4\/d95\/256\/4a4d95256103b9d7f1236a28c5001dc7.png\" alt=\"Equation 2\" width=\"427\" height=\"59\"\/><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0432\u0435 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u043e\u0431\u0443\u0447\u0438\u043c \u043d\u0430\u0448\u0443 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u043d\u0438\u0445.<\/p>\n<p>  \u041c\u043d\u0435 \u043d\u0435 \u043f\u043e\u043d\u0430\u0441\u043b\u044b\u0448\u043a\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043f\u043e\u0434\u0431\u043e\u0440\u043e\u043a \u2014 \u043d\u0435\u0447\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0430, \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0443\u0441\u0438\u043b\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0441\u043e\u0431\u043e \u0443\u0441\u0435\u0440\u0434\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438 \u0441\u043e\u0431\u0435\u0440\u0451\u043c \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043b\u0438\u0448\u044c \u0441 \u0434\u044e\u0436\u0438\u043d\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u043a\u043e\u0436\u0430. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0434\u043b\u044f \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u043d\u0430\u0447\u0438\u043c\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0431\u044b \u0441\u043e\u0442\u043d\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043a\u043e\u0436\u0438.<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u043d\u044e <b>Graphics<\/b> \u0432 <b>Mathematica<\/b>, \u044f \u043c\u043e\u0433\u0443 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u043e\u043a \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 \u0447\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0435\u0433\u043e \u0434\u043d\u044f:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Selecting regions of skin\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f60\/cd6\/fbd\/f60cd6fbd3883c62046ef9724c14fa67.png\" alt=\"Selecting regions of skin\" width=\"371\" height=\"262\"\/><\/p>\n<p>  \u0415\u0441\u0442\u044c \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e RGB \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0446\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044e \u043a\u043e\u0436\u0430\/\u043d\u0435 \u043a\u043e\u0436\u0430. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u0440\u0430\u0437\u043d\u043e\u043c \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u0438 \u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0447\u0435\u0440\u0442\u0430\u0445 \u043b\u0438\u0446\u0430 \u043a\u043e\u0436\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443.<\/p>\n<p>  \u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0446\u0432\u0435\u0442\u0430 \u043a\u043e\u0436\u0438 \u0438 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u043d\u0435\u0451 (\u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0451\u043d\u043d\u044b\u0435 \u0432 \u043a\u0440\u0430\u0441\u043d\u043e\u043c \u0438 \u0437\u0435\u043b\u0451\u043d\u043e\u043c \u0446\u0432\u0435\u0442\u0430\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e) \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0442\u0440\u0451\u0445\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 RGB:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"3D space of skin and non-skin colors\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b7d\/906\/7e9\/b7d9067e9592440a77b7b6595f288167.png\" alt=\"3D space of skin and non-skin colors\" width=\"366\" height=\"285\"\/><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c, \u0433\u0434\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u043e\u0436\u0430, \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0451\u0436\u043d\u043e.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c CIE XYZ, \u0430 \u0446\u0432\u0435\u0442\u0430 \u043a\u043e\u0436\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0434\u0432\u0443\u0445 \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u0445 \u0438 \u043e\u0434\u043d\u043e\u0439 \u044f\u0440\u043a\u043e\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u0445. \u0427\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438, \u0431\u043e\u043b\u0435\u0435 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0435 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u044f, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043b\u0438\u0448\u044c \u0441 \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 <i>x<\/i> \u0438 <i>y<\/i>, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u044b\u043c\u0438 \u043a\u0430\u043a <i>x<\/i> = <i>X<\/i> \/ (<i>X<\/i> + <i>Y<\/i> + <i>Z<\/i>) \u0438 <i>y<\/i> = <i>Y<\/i> \/ (<i>X<\/i> + <i>Y<\/i> + <i>Z<\/i>):<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <b>colorConvertxy<\/b> \u0434\u0430\u0435\u0442 \u0434\u0432\u0443\u0445\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0435 <i>xy<\/i> \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"colorConvertxy[img_] :=    ImageApply[Most[#]\/(Total[#] + $MachineEpsilon) &amp;amp;,     ColorConvert[img, &amp;quot;XYZ&amp;quot;]];\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/15b\/68e\/1ae\/15b68e1ae679d84fde1710521d263d45.png\" alt=\"colorConvertxy[img_] :=    ImageApply[Most[#]\/(Total[#] + $MachineEpsilon) &amp;amp;,     ColorConvert[img, &amp;quot;XYZ&amp;quot;]];\" width=\"445\" height=\"54\"\/><\/p>\n<p>  \u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u0430\u0440 <i>xy<\/i> \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432 \u0441 \u043a\u043e\u0436\u0435\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0430\u043c\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043c\u0430\u0441\u043a\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043a\u043e\u0436\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 <a href=\"http:\/\/reference.wolfram.com\/mathematica\/ref\/PixelValuePositions.html?q=PixelValuePositions\"><b>PixelValuePositions<\/b><\/a> \u0438 <a href=\"http:\/\/reference.wolfram.com\/mathematica\/ref\/PixelValue.html?q=PixelValue\"><b>PixelValue<\/b><\/a>. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0440 <i>xy<\/i> \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u043a\u043e\u0436\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Extracting the list of non-skin xy pairs\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/727\/090\/f31\/727090f313b9705106bd246cc00947d4.png\" alt=\"Extracting the list of non-skin xy pairs\" width=\"362\" height=\"122\"\/><\/p>\n<p>  \u0412 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u043c <i>xy<\/i> \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 \u0442\u043e\u0447\u0435\u043a \u043a\u043e\u0436\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438\u043c\u0435\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u043f\u043b\u043e\u0449\u0430\u0434\u044c, \u0447\u0435\u043c \u0432 RGB, \u0430 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0438 \u0431\u0435\u0437 \u043c\u0435\u043d\u0435\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0430. \u0412 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043d\u0438\u0436\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u0446\u0432\u0435\u0442\u043e\u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0438 \u0431\u0435\u0437 \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0432 \u043e\u0442\u0442\u0435\u043d\u043a\u0430\u0445 \u0437\u0435\u043b\u0451\u043d\u043e\u0433\u043e, \u0430 \u0432\u0442\u043e\u0440\u044b\u0435 \u0432 \u043e\u0442\u0442\u0435\u043d\u043a\u0430\u0445 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Building a 3D histogram to illustrate where skin and non-skin regions are in the dataset\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d9a\/97c\/e45\/d9a97ce4594c555084b61f16c60398e2.png\" alt=\"Building a 3D histogram to illustrate where skin and non-skin regions are in the dataset\" width=\"434\" height=\"88\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"3D histogram of skin and non-skin regions\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e09\/c91\/4c9\/e09c914c90731c8921c79c9f0c39904b.png\" alt=\"3D histogram of skin and non-skin regions\" width=\"446\" height=\"312\"\/><\/p>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0432 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u043c <i>xy<\/i> \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e\u043e\u0431\u0435\u0449\u0430\u044e\u0449\u0435\u0439. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043d\u0430\u0437\u0430\u0434 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f 2. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Equation 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4a4\/d95\/256\/4a4d95256103b9d7f1236a28c5001dc7.png\" alt=\"Equation 2\" width=\"427\" height=\"59\"\/><\/p>\n<p>  \u0414\u043e\u043b\u044f \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0441\u0440\u0435\u0434\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 13%. \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u044d\u0442\u043e \u044d\u043c\u043f\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u0430\u043f\u0440\u0438\u043e\u0440\u043d\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 <b>P[skin]<\/b>:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"pskin = N[Length[skinxy]] \/ (Length[skinxy] + Length[nonskinxy])\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/35c\/add\/19e\/35cadd19e1e76c047e9c0a8ea484a574.png\" alt=\"pskin = N[Length[skinxy]] \/ (Length[skinxy] + Length[nonskinxy])\" width=\"362\" height=\"40\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"0.12706\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/8ea\/9a2\/4a0\/8ea9a24a096b6833ee62c56e89e7b137.png\" alt=\"0.12706\" width=\"104\" height=\"18\"\/><\/p>\n<p>  \u0414\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0435\u0439 <b>P[color|skin]<\/b> \u0438 <b>P[color|nonskin]<\/b> \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0443\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u0443\u044e \u0441\u043c\u0435\u0441\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0413\u0430\u0443\u0441\u0441\u0430. \u042d\u0442\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0434\u043e\u0439\u0442\u0438 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440 <i>xy<\/i>, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u044b\u0448\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u043c\u043e\u0435\u043c \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043c\u043e\u0434\u0435\u043b\u0438, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f\u0445 \u0441\u043e \u0441\u0433\u043b\u0430\u0436\u0435\u043d\u043d\u044b\u043c \u044f\u0434\u0440\u043e\u043c \u044f\u0434\u0435\u0440\u043d\u043e\u043c (smooth kernel distributions), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <a href=\"https:\/\/reference.wolfram.com\/language\/ref\/SmoothKernelDistribution.html\">SmoothKernelDistribution<\/a>:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"pcolorskin = SmoothKernelDistribution[skinxy];\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ac5\/1cb\/1cb\/ac51cb1cb735b915fe222b148ba413af.png\" alt=\"pcolorskin = SmoothKernelDistribution[skinxy];\" width=\"396\" height=\"18\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"pcolornonskin = SmoothKernelDistribution[nonskinxy];\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/994\/a01\/2ed\/994a012ed7a00e013dab149a4bb73711.png\" alt=\"pcolornonskin = SmoothKernelDistribution[nonskinxy];\" width=\"445\" height=\"20\"\/><\/p>\n<p>  \u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u0446\u0432\u0435\u0442 \u0432 <i>xy<\/i> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u0436\u0435, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"probabilityskin =    Function[{x, y},     Evaluate[(pskin PDF[         pcolorskin, {x, y}])\/((1 - pskin) PDF[pcolornonskin, {x, y}] +         pskin PDF[pcolorskin, {x, y}] + $MachineEpsilon)]];\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e7a\/bf9\/145\/e7abf91454cdaf94256c54e08c14981d.png\" alt=\"probabilityskin =    Function[{x, y},     Evaluate[(pskin PDF[         pcolorskin, {x, y}])\/((1 - pskin) PDF[pcolornonskin, {x, y}] +         pskin PDF[pcolorskin, {x, y}] + $MachineEpsilon)]];\" width=\"484\" height=\"88\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Plot3D[probabilityskin[x, y], {x, 0, 1}, {y, 0, 1}]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/855\/b36\/c47\/855b36c47ccdf0af0536dcff669de053.png\" alt=\"Plot3D[probabilityskin[x, y], {x, 0, 1}, {y, 0, 1}]\" width=\"427\" height=\"17\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"3D plot of the probability that a given xy color corresponds to skin\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/8e6\/125\/1e4\/8e61251e420257b4a0e093f877242a5d.png\" alt=\"3D plot of the probability that a given xy color corresponds to skin\" width=\"410\" height=\"286\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c? \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"skinness[image_] :=      ImageApply[probabilityskin[Sequence @@ #] &amp;amp;, colorConvertxy[image]];\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b00\/103\/319\/b00103319b5bbe01d42be9590f4b0c3f.png\" alt=\"skinness[image_] :=      ImageApply[probabilityskin[Sequence @@ #] &amp;amp;, colorConvertxy[image]];\" width=\"392\" height=\"51\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Applying the skin detection function\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5ea\/272\/43f\/5ea27243f0084a06016f3c92d3ecf685.png\" alt=\"Applying the skin detection function\" width=\"377\" height=\"200\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Final result with skin detected\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/3c3\/91b\/f1e\/3c391bf1e490524071eadfbd27e4b50b.png\" alt=\"Final result with skin detected\" width=\"497\" height=\"390\"\/><\/p>\n<p>  \u041d\u0435 \u043f\u043b\u043e\u0445\u043e, \u043d\u0435 \u0442\u0430\u043a \u043b\u0438? \u0410 \u0432\u043e\u0442 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0438\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u2014 \u0440\u0430\u0437\u043c\u044b\u0442\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u0440\u0430\u0441\u043d\u043e\u0439 \u0444\u0443\u0442\u0431\u043e\u043b\u043a\u043e\u0439 \u0438 \u0437\u0435\u043b\u0435\u043d\u043e\u0439 \u043b\u0438\u0441\u0442\u0432\u043e\u0439 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043a\u043e\u0436\u0430.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Running the skin detection app\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6a9\/000\/21d\/6a900021d6152537f69f42ac6e0aeb1a.png\" alt=\"Running the skin detection app\" width=\"378\" height=\"178\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Example image with skin being detected\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/223\/640\/626\/223640626a66fac7c381838d409a83f0.png\" alt=\"Example image with skin being detected\" width=\"497\" height=\"348\"\/><\/p>\n<p>  \u0412\u0441\u0451 \u043f\u043e\u0447\u0442\u0438 \u0433\u043e\u0442\u043e\u0432\u043e. \u041f\u043e-\u0441\u0443\u0442\u0438, \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043b\u0438 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u043a\u043e\u0436\u0435. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0440\u043e\u0433 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u0440\u043e\u0433 \u0432\u044b\u0431\u0440\u0430\u0442\u044c? \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u0438\u0439, \u0442\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u0438 \u043a\u043e\u0436\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c\u0441\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043d\u0438\u0437\u043a\u0438\u0439, \u0442\u043e \u0432\u0435\u043b\u0438\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043a\u0430\u043a \u043a\u043e\u0436\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0431\u0435\u0437 \u043a\u043e\u0436\u0438. \u0412\u0441\u0451 \u044d\u0442\u043e \u0432\u0435\u0434\u0451\u0442 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f\u043c \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0443 ROC-\u043a\u0440\u0438\u0432\u044b\u0445. \u0414\u0430, \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u0432\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441 <i>Mathematica<\/i>, \u043e\u0434\u043d\u0430\u043a\u043e \u044f \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437, \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u0441\u0442\u0435.<\/p>\n<p>  \u0412 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u0431\u044b\u0442\u044c \u0447\u0430\u0441\u0442\u044c\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439 \u0438\u043b\u0438 \u043d\u0435\u0442. \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c \u0438 \u043f\u0435\u0440\u0435\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 1: <b>P[skin|color] == P[color|skin]*P[skin]\/P[color]<\/b>. \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c \u0430\u043f\u043e\u0441\u0442\u0435\u0440\u0438\u043e\u0440\u043d\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"P[nonskin|color] ==   P[color|nonskin]*P[nonskin]\/P[color]\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5a8\/e06\/b09\/5a8e06b0991f2df99a801c7e022cc483.png\" alt=\"P[nonskin|color] ==   P[color|nonskin]*P[nonskin]\/P[color]\" width=\"309\" height=\"33\"\/><\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0446\u0432\u0435\u0442 \u043f\u043e \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u044e \u043a\u043e\u0436\u0430\/\u043d\u0435 \u043a\u043e\u0436\u0430, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0430\u043f\u043e\u0441\u0442\u0435\u0440\u0438\u043e\u0440\u043d\u044b\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0443\u044e. <b>P[color]<\/b> \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c, \u0438 \u0442\u043e\u0433\u0434\u0430 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441 \u043a\u043e\u0436\u0435\u0439, \u0435\u0441\u043b\u0438 <b>P[color|skin]*P[skin] &gt; P[color|nonskin]*P[nonskin]<\/b>.<\/p>\n<p>  \u0412\u043e\u0442 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Building the skin detector\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b42\/9e5\/671\/b429e5671eb72a9843b6418c04a9131d.png\" alt=\"Building the skin detector\" width=\"484\" height=\"89\"\/><\/p>\n<p>  \u0411\u044b\u0441\u0442\u0440\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Performing the analysis on two test images\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/21e\/5c2\/a4a\/21e5c2a4a881f146ba38abd1a9ec5453.png\" alt=\"Performing the analysis on two test images\" width=\"429\" height=\"96\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Two test images with skin detected\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/284\/bcf\/13e\/284bcf13ec89c2abd64b2d0593dd7b84.png\" alt=\"Two test images with skin detected\" width=\"318\" height=\"394\"\/><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043c \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438 \u043a\u043e\u0436\u0438:<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Showing the skin detection app\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4f4\/cc9\/813\/4f4cc9813b5f7a9ada0524fc7413cc3e.png\" alt=\"Showing the skin detection app\" width=\"418\" height=\"156\"\/><\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Example images with skin being highlighted\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/eb6\/b25\/85b\/eb6b2585b4ef721d5dfd317d6dc73c33.png\" alt=\"Example images with skin being highlighted\" width=\"317\" height=\"395\"\/><\/p>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0435\u0439 \u0446\u0435\u043b\u044c\u044e \u0431\u044b\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438 \u0447\u0438\u0441\u0442\u043e \u0438\u0437 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u044f \u0432 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043d\u0430\u0448\u0435\u0439 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0436\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430, \u0432\u044b\u0431\u043e\u0440 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439, \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u0443\u0447\u0435\u043d \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e \u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b <i>Mathematica<\/i>.   \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/261413\/\"> http:\/\/habrahabr.ru\/post\/261413\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/670\/b13\/2a8\/670b132a8d944d67bb09a968737be29f.png\" \/><\/div>\n<p>  <i>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u043f\u043e\u0441\u0442\u0430 Matthias Odisio &quot;<a href=\"http:\/\/blog.wolfram.com\/2013\/05\/09\/seeing-skin-with-mathematica\/\">Seeing Skin with Mathematica<\/a>&quot;.<br \/>  \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442 \u0441\u0442\u0430\u0442\u044c\u0438, \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0432\u0435\u0441\u044c \u043a\u043e\u0434, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u043c\u043e\u0436\u043d\u043e <a href=\"http:\/\/blog.wolfram.com\/data\/uploads\/2013\/05\/SeeingSkinBlog.zip\">\u0437\u0434\u0435\u0441\u044c<\/a>.<br \/>  \u0412\u044b\u0440\u0430\u0436\u0430\u044e \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c <a href=\"http:\/\/vk.com\/ld742\">\u041a\u0438\u0440\u0438\u043b\u043b\u0443 \u0413\u0443\u0437\u0435\u043d\u043a\u043e<\/a> \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435.<\/i><\/p>\n<hr\/>\n<p>\u0414\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0448\u0430\u0433\u043e\u0432 \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u043b\u044e\u0434\u0435\u0439, \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0436\u0435\u0441\u0442\u043e\u0432, \u043b\u0438\u0446, \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0432\u0441\u0451 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435, \u043c\u043e\u044f \u043c\u043e\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u043c. \u041e\u0442\u0434\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 Wolfram Research, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e, \u043f\u043e\u0434\u0432\u0435\u0440\u0433\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u0421 \u043c\u043e\u0438\u043c\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043b\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043a\u043e \u043c\u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0436\u0435, \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e \u0431\u044b \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043f\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 <i>Mathematica<\/i>, \u0442\u0430\u043a \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0414\u0435\u0442\u0435\u043a\u0446\u0438\u044f \u043a\u043e\u0436\u0438 \u2014 \u043f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443.<\/p>\n<p>  \u041e\u0442\u0442\u0435\u043d\u043a\u0438 \u043a\u043e\u0436\u0438 \u0438 \u0432\u043d\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u0440\u044c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u0435\u0442\u0435\u043a\u0446\u0438\u0438. \u0414\u0435\u0442\u0435\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 \u0434\u043b\u044f \u0446\u0432\u0435\u0442\u043e\u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0432\u0445\u043e\u0434, \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u0436\u0438 \u0432\u044b\u0434\u0430\u0451\u0442 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u0438\u043a\u0441\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043a\u043e\u0436\u0438.<\/p>\n<p>  <img loading=\"lazy\" decoding=\"async\" title=\"Skin detection model\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/632\/116\/b2c\/632116b2c4787af2f950c61509f501cc.png\" alt=\"Skin detection model\" width=\"526\" height=\"204\"\/>  <\/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-260356","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260356","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=260356"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/260356\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=260356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=260356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=260356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}