{"id":188,"date":"2022-09-14T21:28:41","date_gmt":"2022-09-15T00:28:41","guid":{"rendered":"https:\/\/aeria-cs.com.br\/?p=188"},"modified":"2025-02-06T21:23:41","modified_gmt":"2025-02-07T00:23:41","slug":"contagem-de-multidoes-crowd-counting","status":"publish","type":"post","link":"https:\/\/aeria-cs.com.br\/index.php\/2022\/09\/14\/contagem-de-multidoes-crowd-counting\/","title":{"rendered":"Contagem de multid\u00f5es (crowd counting)"},"content":{"rendered":"\n<p>A contagem de multid\u00f5es \u00e9 uma t\u00e9cnica para estimar o n\u00famero de pessoas em uma imagem ou em um v\u00eddeo. Esse tipo de contagem \u00e9 um problema de conjunto aberto, ou seja, o n\u00famero de pessoas que podem estar presentes durante a estimativa pode variar de zero a infinito. Por exemplo, considere esta imagem abaixo e tente prever quantas pessoas est\u00e3o na foto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-1024x683.jpg\" alt=\"\" class=\"wp-image-191\" srcset=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-1024x683.jpg 1024w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-300x200.jpg 300w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-768x512.jpg 768w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-1536x1024.jpg 1536w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-2048x1365.jpg 2048w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-2000x1333.jpg 2000w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-wendy-wei-1916816-600x400.jpg 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Foto de Wendy Wei: https:\/\/www.pexels.com\/pt-br\/foto\/pessoas-no-evento-do-estadio-1916816\/<\/figcaption><\/figure>\n\n\n\n<p>Nesta imagem, h\u00e1 uma densidade muito alta de pessoas, tornando uma tarefa muito grande e desgastante para o nosso c\u00e9rebro prever com precis\u00e3o o n\u00famero total. Se come\u00e7armos a contar, digamos, do canto superior esquerdo, indo progressivamente para o lado direito, seria uma tarefa estremamente dif\u00edcil, onde, na maioria das vezes, ir\u00edamos nos perder no meio do caminho. Mas, uma m\u00e1quina pode faz\u00ea-lo. Basta aliment\u00e1-la com a l\u00f3gica e ela aprender\u00e1 com as ocorr\u00eancias (\u00e9 isso que o Machine Leaning basicamente \u00e9) e nos dar\u00e1 a contagem com boa precis\u00e3o, dentro de uma certa margem de erro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos de contagem<\/h2>\n\n\n\n<p>Desde a percep\u00e7\u00e3o deste &#8220;problema&#8221;, os cientistas de dados veem desenvolvendo solu\u00e7\u00f5es com o uso do aprendizado de m\u00e1quina para detectar a densidade da multid\u00e3o. Mas tiveram que enfrentar alguns desafios como varia\u00e7\u00f5es de escala, densidade n\u00e3o uniforme, ilumina\u00e7\u00e3o n\u00e3o homog\u00eanea, etc. Mais tarde, com o advento das Redes Neurais Convolucionais (CNN), esses desafios puderam ser superados e mais aten\u00e7\u00e3o foi voltada para o &#8220;problema&#8221;.<\/p>\n\n\n\n<p>A seguir, discutiremos os principais m\u00e9todos e t\u00e9cnicas utilizados nos dias de hoje para obter o n\u00famero aproximado de pessoas em uma multid\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos baseados na detec\u00e7\u00e3o de pessoas<\/h2>\n\n\n\n<p>Esta \u00e9 a abordagem mais simples que existe. Nesse m\u00e9todo, usa-se um detector em forma de janela para identificar pessoas em uma imagem ou v\u00eddeo e contar o n\u00famero. <\/p>\n\n\n\n<p>Esses m\u00e9todos baseados em detec\u00e7\u00e3o funcionam bem para detectar rostos, mas n\u00e3o s\u00e3o capazes de fornecer resultados satisfat\u00f3rios quando uma multid\u00e3o densa est\u00e1 presente em uma imagem. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-1024x683.jpg\" alt=\"\" class=\"wp-image-190\" srcset=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-1024x683.jpg 1024w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-300x200.jpg 300w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-768x512.jpg 768w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-1536x1024.jpg 1536w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-2048x1365.jpg 2048w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-2000x1333.jpg 2000w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/pexels-mali-maeder-233303-600x400.jpg 600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>Foto de mali maeder: https:\/\/www.pexels.com\/pt-br\/foto\/pessoas-caminhando-perto-de-um-corpo-d-agua-233303\/<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos usando regress\u00e3o linear<\/h2>\n\n\n\n<p>O <strong>m\u00e9todo de contagem por detec\u00e7\u00e3o<\/strong> n\u00e3o funciona bem quando h\u00e1 uma multid\u00e3o densa e a aleatoriedade ou desordem no fundo \u00e9 alta. Os <strong>m\u00e9todos baseados em regress\u00e3o<\/strong> podem superar esses desafios, pois podem extrair recursos de baixo n\u00edvel.<\/p>\n\n\n\n<p>Nesses m\u00e9todos, as imagens s\u00e3o recortadas e, em seguida, desses recortes s\u00e3o extra\u00eddos os recursos de baixo n\u00edvel, como valores de borda, pixels de primeiro plano, etc. <\/p>\n\n\n\n<p>Os <strong>m\u00e9todos de regress\u00e3o<\/strong> s\u00e3o capazes de mapear as imagens diretamente para valores escalares. Mas o problema \u00e9 que eles n\u00e3o s\u00e3o capaz de entender corretamente as distribui\u00e7\u00f5es da multid\u00e3o, o que \u00e9 superado por <strong>m\u00e9todos baseados em densidade<\/strong>, pois eles realizam regress\u00f5es pixel a pixel para obter um melhor desempenho do modelo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>M\u00e9todos baseados em densidade<\/strong><\/h2>\n\n\n\n<p>Os m\u00e9todos de estimativa baseados em densidade t\u00eam a capacidade de localizar a multid\u00e3o sem se concentrar em detectar explicitamente cada indiv\u00edduo.<\/p>\n\n\n\n<p>Em primeiro lugar, s\u00e3o criados mapas de densidade para os v\u00e1rios objetos. Essa abordagem se concentra na densidade e localiza\u00e7\u00e3o do espa\u00e7o da multid\u00e3o, enquanto percorre as imagens e, em seguida, aprende o mapeamento entre recursos locais e mapas de densidade de objetos. O mapa de densidade total dos dados gerais s\u00e3o obtidos pela concatena\u00e7\u00e3o dos conjuntos de densidade de objetos discretos. Um <strong>regressor de floresta aleat\u00f3ria<\/strong> pode ser usado para aprender os mapeamentos n\u00e3o lineares.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos baseados em redes neurais artificiais convolutivas (CNN)<\/h2>\n\n\n\n<p>Desde a chegada das CNN, esses s\u00e3o os m\u00e9todos mais precisos em rela\u00e7\u00e3o \u00e0s outras abordagens discutidas acima. As CNN aprendem a partir dessa uma grande quantidade de imagens. No exemplo abaixo, o modelo converte essas imagens de entrada em mapas de densidade para a contagem.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><code><img decoding=\"async\" width=\"500\" height=\"323\" class=\"wp-image-192\" style=\"width: 500px;\" src=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/IMG_105.jpg\" alt=\"\" srcset=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/IMG_105.jpg 1024w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/IMG_105-300x194.jpg 300w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/IMG_105-768x496.jpg 768w, https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/IMG_105-600x387.jpg 600w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/code><br>Imagem original: 258 pessoas<\/td><td class=\"has-text-align-center\" data-align=\"center\"><img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"320\" class=\"wp-image-193\" style=\"width: 500px;\" src=\"https:\/\/aeria-cs.com.br\/wp-content\/uploads\/2022\/09\/105.jpg\" alt=\"\"><br>Mapa de densidade gerado: 232 pessoas contadas<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Como pode ser visto nas imagens acima, a previs\u00e3o foi bem pr\u00f3xima \u00e0 quantidade de pessoas contadas manualmente, o que demonstra que a performance do modelo foi bem sucedida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p>Como podemos ver, a contagem de multid\u00f5es tem muitas aplica\u00e7\u00f5es, podendo ser usada para alertar as autoridades de sa\u00fade se houver uma multid\u00e3o densa para manter o distanciamento social ou impedir que uma debandada aconte\u00e7a. A precis\u00e3o desses modelos vem aumentando muito recentemente, e mais pesquisas v\u00e3o acontecer neste setor para fazer melhores previs\u00f5es.<\/p>\n\n\n\n<p>Espero que voc\u00eas tenham conhecido as diversas abordagens poss\u00edveis para a contagem de multid\u00f5es e estejam motivados a trabalhar em Deep Learning e Machine Learning.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A contagem de multid\u00f5es \u00e9 uma t\u00e9cnica para estimar o n\u00famero de pessoas em uma imagem ou em um v\u00eddeo. Esse tipo de contagem \u00e9 um problema de conjunto aberto, ou seja, o n\u00famero de pessoas que podem estar presentes durante a estimativa pode variar de zero a infinito. Por exemplo, considere esta imagem abaixo&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"two_page_speed":[],"footnotes":""},"categories":[6],"tags":[143,69,136],"class_list":["post-188","post","type-post","status-publish","format-standard","hentry","category-inteligenciaartificial","tag-contagem-de-publico","tag-inteligencia-artificial","tag-processamento-de-imagens","fav-blog blog-single"],"featured_media_urls":[],"_links":{"self":[{"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/posts\/188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=188"}],"version-history":[{"count":2,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/posts\/188\/revisions"}],"predecessor-version":[{"id":195,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/posts\/188\/revisions\/195"}],"wp:attachment":[{"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeria-cs.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}