Contents
A Disciplina
O sonho de fazer um computador ou um robô “enxergar” como um humano vem desde os primórdios da Ficção Científica moderna, na década de 1950. A partir da década de 1960 cientistas vêm empreendendo esforços sérios em tornar a Visão Computacional uma realidade. Nos últimos anos, com os avanços estupendos e a popularização que a Inteligência Artificial viveu, aplicar a Visão Computacional para automatizar os mais diversos problemas tornou-se uma realidade ao alcance de todos e não apenas o domínio de uns poucos pesquisadores super-especializados.
Você é estudante de pós-graduação, formando em um curso de graduação, ou simplesmente um desenvolvedor interessado em aprender como fazer a sua aplicação “enxergar”?
Estaremos novamente oferecendo a Disciplina INE 410121 Visão Computacional (PPGCC/UFSC). Ela é fruto da necessidade de uma disciplina aplicada e prática na área de Processamento de Imagens, Reconhecimento de Padrões e Visão Computacional na UFSC e o resultado de mais de 25 anos de ensino deste conteúdo. Agora a disciplina possui um currículo mais prático, voltado muito mais ao aprendizado e uso do vasto material atualmente encontrado em diversas bibliotecas open-source do que à implementação de métodos de baixo nível. Também incluímos um novo módulo com capítulos especiais dedicados a Redes Neurais Convolucionais e Deep Learning, também sob uma visão aplicada e de alto nível, utilizando as bibliotecas PyTorch e fast.ai.
Motivação
Fizemos isto com o objetivo de tornar esta disciplina acessível não apenas aos alunos de Ciência da Computação, mas a toda a comunidade de pesquisadores e desenvolvedores interessados em visão computacional, para os quais ferramentas de análise de imagens e visão computacional são de utilidade em suas pesquisas e projetos. Para potencializar a aplicabilidade dos assuntos aprendidos, estaremos ministrando aulas teórico-práticas, utilizando como ambiente de implementação os atualíssimos Jupyter Notebooks. Essa ferramenta web permite a execução de código no navegador, dispensando o aluno de necessitar um computador potente, e a reutilização facilitada de aulas e material online.
A nossa experiência em ministrar a disciplina desde 1999 para uma audiência composta por alunos dos mais diversos cursos de PG e graduação da UFSC nos permitiu adaptar e refinar a disciplina, de forma a torná-la ainda mais acessível a alunos de áreas como Engenharia Biomédica, Ciência da Informação e Arquitetura, os quais tradicionalmente não interagem com assuntos tão “tipicamente de computação”.
Por decisão da PROPG/UFSC, em função da grande procura que a disciplina tem sofrido por parte de alunos de todos os campi da UFSC e de outras partes do Brasil, este ano estamos novamente oferecendo a disciplina de forma REMOTA, sem limitação de vagas e sem limitação para matrícula de alunos de outros cursos ou de fora da UFSC (haverá um conjunto de eventos presenciais, especialmente uma mostra de projetos de finalização da disciplina, que estaremos dinamicamente adaptando à demografia dos alunos que se matricularem).
Solicitamos a divulgação entre seus professores, alunos e colegas. Para professores: Entendemos que, caso assim o desejem, uma divulgação entre os alunos de graduação também seja indicada.
Conteúdo
Entrementes temos:
- material didático online em fase final de elaboração: http://www.lapix.ufsc.br/ensino/visao
- videoaulas gravadas para quase todos os tópicos do programa da disciplina, disponíveis nesta playlist: http://bit.ly/aulasvisao
- um GitHub com todos os Jupyter notebooks da disciplina, em https://codigos.ufsc.br/aldo.vw/vision e https://github.com/awangenh/vision.
Como serão as aulas Práticas?
Teremos aulas práticas híbridas presenciais/online que acontecerão nos computadores do laboratório/no Google Colab para as aulas de Visão Clássica e na nossa plataforma de IA (NVIDIA DGX H100 – tão logo esta esteja operacional) para as aulas de Visão com Aprendizado Profundo. As aulas na plataforma de IA NVIDIA DGX H100 utilizarão acesso via IDUFSC que você receberá na sua matrícula. As aulas práticas serão primordialmente direcionadas aos alunos de graduação, matriculados na disciplina-irmã INE 5443 – Reconhecimento de Padrões e serão conduzidas por doutorandos em Estágio de Docência, mas estarão abertas a todos os participantes.
Em cada aula prática serão abordados um ou mais Jupyter Notebooks disponíveis em https://codigos.ufsc.br/aldo.vw/vision e que compreenderão os exercícios práticos de um capítulo da disciplina. A linguagem de programação de todos os exercícios práticos será Python.
Sempre que possível ofereceremos estagiários de docência com formação médica e de engenharia para auxiliar as equipes na modelagem de problemas das áreas da Saúde e das Engenharias.
Curioso sobre o hardware usado na disciplina? Veja aqui uma Introdução ao NVIDIA DGX H100 por fiber mall. Veja também o artigo do fabricante Introducing NVIDIA HGX H100: An Accelerated Server Platform for AI and High-Performance Computing.
A disponibilização de hardware de pesquisa de última geração para uso no ensino e em aulas práticas em disciplinas online faz parte do projeto VLAB@UFSC – Infraestrutura Multiusuário para Ensino, Extensão e Pesquisa em Inteligência Artificial, Genômica, Computação Quântica e de Alto Desempenho (https://bit.ly/vlab-ufsc), financiado pela FAPESC.
Como fazer Matrícula?
A disciplina é SEMESTRAL e será oferecida todo início de semestre. Como a disciplina é integrada à Graduação, ela será oferecida de forma alinhada ao Calendário Acadêmico de Graduação do semestre. Consulte o Calendário Acadêmico da UFSC para informar-se acerca de detalhes.
Estratégia de matrícula para alunos de graduação da UFSC: podem matricular-se via CAGR em INE 5443.
Estratégia de matrícula para alunos de pós (UFSC): só é possível matrícula na pós como ALUNO REGULAR (UFSC) via CAPG: Se você é aluno de uma pós da UFSC, veja com a sua Coordenação de Curso para realizar a matrícula durante o período regular de matrícula. A disciplina é oferecida a todos os campi da UFSC!
Estratégia de matrícula para alunos externos à UFSC: em alguns semestres estaremos oferecendo matrícula em disciplina isolada para externos à UFSC. Estamos também planejando um Curso de Extensão em Visão Computacional. Essa oferta não ocorrerá todo semestre. Por favor veja informações atualizadas na FAQ abaixo, estaremos atualizando-a sempre e divulgando amplamente quando ocorrer oferta externa da disciplina, seja como matrícula isolada, seja como curso de extensão universitária. Por favor não nos sobrecarregue com e-mails e muito menos com mensagens privadas em redes sociais.
Importante: Não oferecemos vaga de OUVINTE. É uma disciplina que é muito trabalhosa e que exige muita dedicação e cujo bom funcionamento depende da participação ativa de todos os alunos pois dividimos os alunos em grupos (geralmente heterogêneos e complementares em termos de formação prévia) e há várias sessões de discussão onde as pessoas contribuem com os seus problemas e com as soluções que estão desenvolvendo no contexto da disciplina. Um aluno ouvinte é um “turista” na sala de aula e, na nossa experiência, não vai ter esse tipo de participação porque com certeza não vai ter o tempo de dedicação necessário e nem a motivação na forma de notas, para fazer essas contribuições. Para alunos de graduação da UFSC que não cumprem o requisito de serem formandos, oferecemos uma disciplina de conteúdo equivalente, INE 5443 Reconhecimento de Padrões, que também é oferecida com número ilimitado de vagas e pode ser ouvida como OPTATIVA por qualquer aluno de graduação da UFSC. A matrícula em INE 5443 é realizada normalmente pelo CAGR. Contacte a Coordenação de CCO/INE se houver dúvidas..
FAQ – Perguntas Freqüentes
Esta FAQ é o resultado de muitas horas respondendo perguntas que eu recebo por e-mail. Por favor leia atentamente antes de me contactar com perguntas – assim eu não tenho que responder de novo coisas que eu já respondi outras vezes.
Como eu faço a matrícula?
ATENÇÃO:O atendimento das demandas do PPGCC/UFSC está drasticamente afetado devido à falta de TAE no PPGCC/UFSC. Solicitamos que os discentes e docentes do PPGCC/UFSC leiam atentamente o Regimento do PPGCC de 2022 (ou regimentos anteriores, quando for o caso) antes de enviar emails para a secretaria ou coordenação do PPGCC/UFSC. Se você é aluno de um programa de pós-graduação da UFSC, solicite à Coordenação do seu programa que realize sua matrícula na disciplina como ALUNO REGULAR diretamente no CAPG. Todas as PGs da UFSC podem fazer isto, às vezes a secretaria do seu curso não está informada dessa possibilidade. Converse com a sua Coordenação. EXCEPCIONALMENTE no semestre 2025.1 ofereceremos 10 vagas para matrícula em disciplina isolada voltadas preferencialmente a docentes e TAEs da UFSC. Solicitamos aos interessados que não são alunos da UFSC que procurem se programar para realizar a disciplina em 2025.2. |
---|
Como será organizada a disciplina? A disciplina será organizada através do AVEA/LMS Moodle que contará com um curso com todo o cronograma e todas as atividades e material de apoio ao ensino da disciplina. Ali haverá material para atividades síncronas e assíncronas. Controle de presença e avaliações também são realizados através do Moodle. Todo aluno regular ou especial que se matricula em uma disciplina na UFSC recebe um número de matrícula e um IDUFSC. Com esse identificador você consegue se logar no sistema da UFSC e acessar o curso no Moodle.
Para quem é a disciplina? A nossa disciplina oferece várias leituras e é adequada tanto para o estudante de Ciências da Computação que procura uma disciplina “bleeding edge” com robusto conteúdo técnico quanto para o estudante de Engenharias, Ciência da Informação, Engenharia do Conhecimento, Agronomia ou Biologia que busca ter um conhecimento do ponto de vista de quais são as possibilidades, os limites e as aplicações dessas novas tecnologias. Toda a disciplina é prática e com exercícios acessíveis, utilizando modernos Jupyter Notebooks, que podem ser executados pelo estudante no ambiente gratuito em nuvem Google Colab, sem necessidade de possuir um computador poderoso com capacidades de processamento de imagem em casa.
Posso trazer o problema do meu tema de pós-graduação para a disciplina? Na disciplina você fará uma aplicação prática de visão computacional como um exemplo típico de um projeto multidisciplinar, que pode inclusive ser um problema que você encontrou na sua dissertação ou tese. Vamos organizar a turma em equipes, aproveitando os pontos fortes e as necessidades de cada estudante. Assim, se você possui uma temática de pós-graduação que inclui um problema de visão computacional e tem dificuldades em resolvê-lo sozinho, aproveite a disciplina para montar uma equipe com especialistas em computação e abordar esse seu problema como um projeto multidisciplinar que você resolverá durante a disciplina. No passado vários alunos de pós-graduação conseguiram, através dos conhecimentos e da atividade e na disciplina, superar barreiras que haviam encontrado em suas teses ou dissertações.
Qual o cronograma da Disciplina? O PPGCC/UFSC tem várias disciplinas que são integradas com a Graduação. Em função disso todas as nossas disciplinas de PG são semestrais e alinhadas ao Calendário Acadêmico de Graduação da UFSC (https://dae.ufsc.br/calendario-academico-de-graduacao/). Esta disciplina é uma disciplina de PG de 4 créditos, 72 h/a, e com 18 semanas de aula regulares e uma 19ª semana opcional caso seja necessário para acomodar apresentações presenciais (durante a semana de recuperação da graduação). Consulte o Calendário Acadêmico atualizado da UFSC para saber datas exatas de início e fim. Quando você receber sua matrícula você poderá consultar o calendário específico do semestre atual no Moodle da disciplina.
O material didático desse curso é público? Conforme já anunciamos, as videoaulas assíncronas e o material de apoio às aulas práticas estão disponíveis publicamente no YouTube e no GitHub. O resto do material didático, como slides, apostilas e enunciados de exercícios, é restrito e será disponibilizado apenas aos alunos matriculados.
Qual o objetivo da parte síncrona das aulas regulares? O objetivo das conversas síncronas ao final da videoaula é resolver dúvidas e oferecer a oportunidade de apresentar novos avanços, bibliotecas de software e conjuntos de dados. Na parte inicial da disciplina onde ensinamos visão computacional clássica, há assuntos que há mais de 40 anos não mudam. Já na segunda metade da disciplina na qual abordamos visão computacional com aprendizado profundo, temos uma área onde praticamente todo mês aparece uma grande novidade. A maior parte das videoaulas foram gravadas no segundo semestre de 2019 e necessariamente estão desatualizadas no quesito “últimos avanços em aprendizado profundo”. Quem não participa das discussões vai perder esta parte, mas isso não reduz o valor de auto aprendizado em assistir-se apenas as videoaulas e fazer os exercícios que vão estar disponíveis. Uma boa base em matemática dá grandes vantagens para assistir esta disciplina. Não fazemos questão que o aluno participe destas partes síncronas das aulas teóricas, se ele não conseguir.
Qual é o objetivo das duas reuniões síncronas do semestre? Por outro lado nós vamos realizar dois eventos síncronos de discussão dos projetos dos alunos: no correr da disciplina você vai escolher algum problema do mundo real e vai tentar desenvolver duas soluções para este problema:
- uma solução utilizando técnicas de visão computacional clássica e
- uma outra solução utilizando técnicas no domínio do aprendizado profundo.
Todo semestre nós realizamos duas sessões que são síncronas e nas quais todo mundo traz os seus problemas e os apresenta ao resto da turma e nós discutimos em conjunto quais são os possíveis caminhos de solução. Esse é um momento muito rico da disciplina porque muitas pessoas que estão assistindo a disciplina já realizam atividades de pesquisa com visão computacional e trazem muitas sugestões interessantes para os “novatos”. Por outro lado o problema de um grupo de alunos pode mostrar o caminho de solução para o tema de mestrado ou doutorado de outro grupo que está ali na disciplina justamente para procurar uma solução. Nós inclusive incentivamos os alunos a que tragam problemas reais do domínio do seu projeto de pesquisa ou de TCC, mestrado ou doutorado. Estes eventos são extremamente importantes na dinâmica da disciplina e fazemos questão que todo mundo participe, inclusive a apresentação do problema faz parte da avaliação do aluno.
Preciso ter boa experiência em Programação para fazer a Disciplina? Não existe nenhuma condicionante, a disciplina é aberta a todos os alunos de pós-graduação da UFSC, independentemente da área de formação e dos conhecimentos prévios. Você vai realizar os trabalhos práticos em equipe e nós vamos orientar os alunos na composição de equipes com habilidades complementares, o dando preferência a grupos de alunos integrando pessoas com conhecimento de uma área de aplicação (especialistas de domínio) com pessoas com conhecimentos tecnológicos de computação (especialistas de tecnologia). Esta é uma configuração típica de equipes de pesquisa e desenvolvimento em projetos multidisciplinares e nós vamos aproveitar esta disciplina para ensinar a vocês como se trabalha em equipe multidisciplinar desenvolvendo soluções para problemas nos quais uma parte da equipe conhece detalhes do problema (e a motivação para a sua solução) e outra parte da equipe conhece partes da tecnologia de solução. Nesse sentido, para quem vem da área de ciências da vida ou da área de ciências humanas, não há necessidade de conhecimentos prévios aprofundados de programação ou do uso de laboratórios virtuais na forma de Jupyter notebooks. No entanto, nós vamos ensinar vocês a aprenderem rudimentos do uso dessas ferramentas no correio da disciplina.
Como são realizados os dois eventos de discussão dos projetos e problemas dos grupos de alunos? Durante a Pandemia nós fizemos esses eventos de forma 100% remota. Ano passado o evento foi realizado de forma híbrida, com dois grupos de alunos participando remotamente via Google Meet, enquanto que o resto estava no auditório presencialmente. Este ano provavelmente nós vamos repetir o modelo híbrido embora, dependendo da demografia dos alunos que se matricularem, nós venhamos a considerar fazer o evento 100% presencial. Vamos desde já avisando que se fizermos o evento híbrido, o Google Meet vai estar sendo projetado no telão e quem participar remotamente vai estar com a sua webcam aberta diante do resto da turma do auditório. Vamos ter uma câmera voltada ao auditório de maneira que as pessoas que estiverem remotas também possam ver as pessoas que estiverem falando ou fazendo perguntas do auditório.
Como vai ser o evento de finalização do semestre? Ao final do semestre todos os alunos apresentam o resultado do seu projeto e a qualidade das soluções que obtiveram tanto usando o caminho “clássico” quanto o que obtiveram usando aprendizado profundo. Não é problema que algum dos dois caminhos não tenha funcionado, um dos objetivos da disciplina é o resto da turma aprender com os percalços de cada um, o que deu certo e o que não deu certo para você é um aprendizado também para os seus colegas. Antes da pandemia nós fazíamos uma sessão de pôsteres na qual todo mundo apresentava os seus resultados. Essa sessão era pública e era realizada no hall do prédio de informática estatística da UFSC. Durante a pandemia e também ano passado porque os alunos votaram por fazer assim, nós fizemos a sessão remota com apresentação de slides por cada grupo e a entrega final de um poster em forma digital. Alguns dos resultados estão mais abaixo. Este evento é necessariamente sempre síncrono e a participação de todos é obrigatória. O nosso objetivo esse semestre é realizar o evento de forma presencial no hall da Reitoria ou em um outro espaço de exposições público da universidade que dê mais visibilidade aos resultados da disciplina. Mas o martelo não está batido ainda e vamos discutir isso com a turma no correr do semestre, sempre existe a possibilidade de acabarmos fazendo remoto. Se nós conseguirmos imaginar algum formato híbrido para isto talvez tentemos inovar e realizar uma sessão pública de posters em formato híbrido, mas eu ainda não consegui imaginar um jeito interessante de fazer isso.
- https://bit.ly/vcufsc2022
- https://bit.ly/vcufsc2021
- https://bit.ly/visaocomp2020
- https://bit.ly/visaocomp2019
Como acontece o registro de presença nas aulas assíncronas? Na nossa disciplina nós adotamos o modelo de “lista de presença digital” no qual o aluno vai registrar a sua própria presença no Moodle da disciplina durante o horário da aula. Você pode assistir a videoaula quantas vezes quiser e no momento que lhe for mais propício, mas você tem de registrar a sua presença referente àquela videoaula durante o horário da aula. Isso pode ser feito no computador ou por meio do do aplicativo de celular Moodle UFSC. Na parte síncrona da aula nós sempre vamos lembrar a todos de registrarem as suas presenças.
Como acontece o registro de presença nas aulas presenciais? No início da aula nós vamos abrir “lista de presença digital” do dia e solicitar aos alunos que registrem a sua presença utilizando o seu computador ou o aplicativo Moodle UFSC no celular. Nós consideramos a realização de chamada em sala de aula um comportamento atavístico e não fazemos.
Qual é o Plano de Ensino da Disciplina? O plano detalhado, com cronograma e comentários será apresentado no primeiro dia de aula, de acordo com as normas da UFSC. Um documento com um resumo do plano de ensino pode ser acessado aqui: Plano de Ensino Visão Computacional.
Como divulgar nas Redes Sociais?
Nós realizamos posts na principais redes sociais para fazer a divulgação da disciplina. Você quer ajudar e divulgar também? Curta e compartilhe as seguintes postagens sobre a disciplina Visão Computacional 2023.2: