{"id":6064,"date":"2026-04-26T15:03:00","date_gmt":"2026-04-26T18:03:00","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=6064"},"modified":"2026-04-26T15:10:28","modified_gmt":"2026-04-26T18:10:28","slug":"classificacao-de-imagens-com-rubix-ml","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/","title":{"rendered":"Classifica\u00e7\u00e3o de Imagens com Rubix ML"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">Classifica\u00e7\u00e3o de Imagens com Rubix ML: No artigo anterior, abrimos os &#8220;olhos&#8221; do PHP ao aprender como transformar pixels em vetores matem\u00e1ticos. Agora, vamos elevar o n\u00edvel: vamos ensinar a sua aplica\u00e7\u00e3o n\u00e3o apenas a enxergar, mas a <strong>entender<\/strong> e <strong>categorizar<\/strong> o que est\u00e1 vendo.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Como desenvolvedor especialista em <strong>Rubix ML<\/strong>, preparei este d\u00e9cimo oitavo artigo para mergulharmos na <strong>Classifica\u00e7\u00e3o de Imagens<\/strong>. Vamos construir um sistema capaz de distinguir entre diferentes tipos de arquivos e validar documentos automaticamente \u2014 uma funcionalidade que pode economizar centenas de horas de trabalho manual.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Vis\u00e3o Computacional 2: Classifica\u00e7\u00e3o de Imagens e Valida\u00e7\u00e3o Autom\u00e1tica de Documentos<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem de entrada com base em seu conte\u00fado visual. Enquanto no artigo 17 focamos na extra\u00e7\u00e3o (a mat\u00e9ria-prima), aqui focaremos no <strong>julgamento<\/strong>. Para um sistema de recrutamento e sele\u00e7\u00e3o, isso significa automa\u00e7\u00e3o de ponta: o sistema pode saber, no momento do upload, se o candidato enviou um curr\u00edculo, um RG ou uma foto de paisagem por engano.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">1. O Pipeline de Classifica\u00e7\u00e3o de Imagens<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para classificar imagens com sucesso no Rubix ML, seguimos um fluxo de trabalho rigoroso. A imagem passa por uma &#8220;esteira de produ\u00e7\u00e3o&#8221; antes de chegar ao classificador final:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Redimensionamento Estrito:<\/strong> Todas as imagens devem ter o mesmo tamanho (ex: 64&#215;64 pixels).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Convers\u00e3o de Espa\u00e7o de Cor:<\/strong> Dependendo do caso, converter para escala de cinza pode remover ru\u00eddos desnecess\u00e1rios.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Vetoriza\u00e7\u00e3o:<\/strong> A transforma\u00e7\u00e3o da matriz 2D de pixels em um vetor 1D.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Treinamento do Classificador:<\/strong> Onde algoritmos como <strong>Random Forest<\/strong>, <strong>SVC<\/strong> ou <strong>Multi-Layer Perceptron<\/strong> aprendem os padr\u00f5es.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">2. Valida\u00e7\u00e3o Autom\u00e1tica de Documentos<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que uma solu\u00e7\u00e3o de recrutamento e sele\u00e7\u00e3o exija que candidatos a vagas de motorista enviem uma foto da CNH. Receber 1000 fotos e conferir uma a uma se s\u00e3o realmente CNHs \u00e9 ineficiente. Com <strong>Rubix ML<\/strong>, podemos criar um validador autom\u00e1tico.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">O conceito de &#8220;Assinatura Visual&#8221;<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Documentos oficiais possuem uma estrutura visual constante (cores espec\u00edficas, posi\u00e7\u00e3o de fotos, faixas de seguran\u00e7a). O modelo de Machine Learning aprende essa &#8220;assinatura&#8221;. Se o upload n\u00e3o corresponder ao padr\u00e3o aprendido, o sistema rejeita o arquivo instantaneamente.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">3. M\u00e3o na Massa: Classificando Documentos vs. Fotos de Perfil<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Vamos criar um c\u00f3digo que treina um modelo para diferenciar tr\u00eas categorias: <code>foto_perfil<\/code>, <code>documento_cnh<\/code> e <code>arquivo_invalido<\/code>.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Passo 1: Preparando o Dataset Labeled<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Nesta fase, voc\u00ea precisaria de uma pasta com exemplos reais de cada categoria.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>use Rubix\\ML\\Datasets\\Labeled;\nuse Rubix\\ML\\PersistentModel;\nuse Rubix\\ML\\Persisters\\Filesystem;\nuse Rubix\\ML\\Pipeline;\nuse Rubix\\ML\\Transformers\\ImageResizer;\nuse Rubix\\ML\\Transformers\\ImageVectorizar;\nuse Rubix\\ML\\Transformers\\ZScaleStandardizer;\nuse Rubix\\ML\\Classifiers\\RandomForest;\n\n\/\/ Supondo que voc\u00ea carregou as imagens usando GD ou ImageMagick\n$samples = &#91;\n    &#91;imagecreatefromjpeg('exemplos\/perfil1.jpg')],\n    &#91;imagecreatefromjpeg('exemplos\/cnh1.jpg')],\n    &#91;imagecreatefromjpeg('exemplos\/aleatorio1.jpg')],\n];\n\n$labels = &#91;'foto_perfil', 'documento_cnh', 'invalido'];\n\n$dataset = new Labeled($samples, $labels);\n\n\/**\n * Pipeline de Vis\u00e3o Computacional Avan\u00e7ada\n *\/\n$estimator = new Pipeline(&#91;\n    new ImageResizer(64, 64), \/\/ Padroniza o tamanho\n    new ImageVectorizar(),    \/\/ Transforma em n\u00fameros\n    new ZScaleStandardizer(), \/\/ Normaliza a escala\n], new RandomForest(100));    \/\/ O \"C\u00e9rebro\" que classifica\n\necho \"Iniciando o treinamento visual...\" . PHP_EOL;\n$estimator-&gt;train($dataset);\n\n\/\/ Persistindo para uso futuro (Artigo 11)\n$model = new PersistentModel($estimator, new Filesystem('validador_documentos.rbx'));\n$model-&gt;save();\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">4. Como Validar o Upload em Tempo Real<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No seu sistema em PHP, no momento em que o arquivo chega ao servidor Hostinger, voc\u00ea invoca o modelo:<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>\/\/ Carrega o \"olho treinado\"\n$model = PersistentModel::load(new Filesystem('validador_documentos.rbx'));\n\n\/\/ Processa o upload atual\n$upload = &#91;imagecreatefromjpeg($_FILES&#91;'doc']&#91;'tmp_name'])];\n$prediction = $model-&gt;predictSample($upload);\n\nif ($prediction === 'documento_cnh') {\n    echo \"\u2705 Documento validado com sucesso!\";\n} else {\n    echo \"\u274c O arquivo enviado n\u00e3o parece ser uma CNH v\u00e1lida.\";\n}\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">5. Superando Desafios: Ilumina\u00e7\u00e3o e Rota\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Na vida real, os usu\u00e1rios enviam fotos ruins. Para tornar sua <strong>Classifica\u00e7\u00e3o de Imagens<\/strong> de elite, voc\u00ea deve aplicar t\u00e9cnicas de <strong>Data Augmentation<\/strong> (Aumento de Dados):<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Distor\u00e7\u00f5es Leves:<\/strong> Treine o modelo com vers\u00f5es levemente rotacionadas ou escurecidas dos mesmos documentos.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Filtros de Borda (Sobel):<\/strong> \u00c0s vezes, o formato das linhas de um documento \u00e9 mais importante do que a cor. Usar filtros de detec\u00e7\u00e3o de bordas ajuda a IA a focar na estrutura.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Redu\u00e7\u00e3o de Ru\u00eddo:<\/strong> Use o transformer <code>GaussianSmoother<\/code> para &#8220;limpar&#8221; fotos granuladas antes da classifica\u00e7\u00e3o.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">6. Escalabilidade e Performance na Hostinger<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Classificar imagens \u00e9 uma tarefa intensiva. Como especialista, recomendo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Thumbnail First:<\/strong> Nunca passe a imagem original (4K) para o Rubix ML. O <code>ImageResizer<\/code> deve ser seu melhor amigo. Trabalhar com 64&#215;64 ou 128&#215;128 \u00e9 o &#8220;sweet spot&#8221; entre precis\u00e3o e velocidade.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Fila de Processamento:<\/strong> Se o volume for alto, use o sistema de filas do CakePHP ou Laravel. O usu\u00e1rio faz o upload, e a resposta &#8220;Documento em an\u00e1lise&#8221; aparece enquanto o Worker processa a imagem em background.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Extens\u00e3o Tensor:<\/strong> Repito a import\u00e2ncia: para vetores de imagem (que s\u00e3o grandes), a extens\u00e3o <code>tensor<\/code> para PHP reduz o tempo de predi\u00e7\u00e3o de segundos para milissegundos.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Conclus\u00e3o: O PHP como Sentinela Visual<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Classifica\u00e7\u00e3o de Imagens com Rubix ML: A <strong>Classifica\u00e7\u00e3o de Imagens com Rubix ML<\/strong> remove a \u00faltima barreira entre o software web tradicional e a Intelig\u00eancia Artificial moderna. Aprendemos que \u00e9 poss\u00edvel \u2014 e pr\u00e1tico \u2014 criar validadores autom\u00e1ticos de documentos e classificadores de fotos diretamente em PHP.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para um processo de recrutamento e sele\u00e7\u00e3o, isso significa um processo de triagem muito mais limpo e profissional. Para um blog, significa a capacidade de organizar ativos visuais com intelig\u00eancia. Voc\u00ea n\u00e3o est\u00e1 apenas desenvolvendo sites; est\u00e1 construindo sistemas que &#8220;entendem&#8221; o mundo f\u00edsico atrav\u00e9s dos arquivos que recebem.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No pr\u00f3ximo artigo, entraremos no n\u00edvel mais profundo da nossa trilha: <strong>&#8220;Redes Neurais no PHP: Introdu\u00e7\u00e3o ao Multi-Layer Perceptron (MLP) e camadas ocultas.&#8221;<\/strong> Prepare-se, porque o jogo vai ficar ainda mais s\u00e9rio!<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o Rubix ML, se este for o seu caso, entendemos que toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo esta poderosa biblioteca. Para iniciar seus estudos do Rubix ML, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias e\/ou framework:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/php\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png\" alt=\"Capa Curso PHP\" class=\"wp-image-2835\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">PHP<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/sql\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp\" alt=\"SQL\" class=\"wp-image-942\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">SQL<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/laravel\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp\" alt=\"Laravel\" class=\"wp-image-1642\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">Laravel<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/cakephp\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png\" alt=\"CakePHP\" class=\"wp-image-5819\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CakePHP<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Dica de Especialista:<\/strong> Quer impressionar um cliente em Rio Preto? Crie um validador que detecta se o candidato est\u00e1 sorrindo na foto de perfil usando detec\u00e7\u00e3o de padr\u00f5es de &#8220;curvatura de boca&#8221;. \u00c9 simples de treinar e o impacto visual \u00e9 enorme!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Classifica\u00e7\u00e3o de Imagens com Rubix ML: No artigo anterior, abrimos os &#8220;olhos&#8221; do PHP ao&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5935,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[98],"tags":[],"class_list":["post-6064","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rubix-ml","wpcat-98-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-26T18:03:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-26T18:10:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Classifica\u00e7\u00e3o de Imagens com Rubix ML\",\"datePublished\":\"2026-04-26T18:03:00+00:00\",\"dateModified\":\"2026-04-26T18:10:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/\"},\"wordCount\":960,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"articleSection\":[\"Rubix ML\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/\",\"name\":\"Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"datePublished\":\"2026-04-26T18:03:00+00:00\",\"dateModified\":\"2026-04-26T18:10:28+00:00\",\"description\":\"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/RubixML.png\",\"width\":758,\"height\":426,\"caption\":\"Rubix ML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/classificacao-de-imagens-com-rubix-ml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Classifica\u00e7\u00e3o de Imagens com Rubix ML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI","description":"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/","og_locale":"pt_BR","og_type":"article","og_title":"Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI","og_description":"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...","og_url":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2026-04-26T18:03:00+00:00","article_modified_time":"2026-04-26T18:10:28+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Classifica\u00e7\u00e3o de Imagens com Rubix ML","datePublished":"2026-04-26T18:03:00+00:00","dateModified":"2026-04-26T18:10:28+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/"},"wordCount":960,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","articleSection":["Rubix ML"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/","url":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/","name":"Classifica\u00e7\u00e3o de Imagens com Rubix ML - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","datePublished":"2026-04-26T18:03:00+00:00","dateModified":"2026-04-26T18:10:28+00:00","description":"Classifica\u00e7\u00e3o de Imagens com Rubix ML: A classifica\u00e7\u00e3o de imagens \u00e9 o processo onde um algoritmo atribui uma etiqueta (label) a uma imagem...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/RubixML.png","width":758,"height":426,"caption":"Rubix ML"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/classificacao-de-imagens-com-rubix-ml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Classifica\u00e7\u00e3o de Imagens com Rubix ML"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=6064"}],"version-history":[{"count":4,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6064\/revisions"}],"predecessor-version":[{"id":6068,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/6064\/revisions\/6068"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/5935"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=6064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=6064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=6064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}