{"id":28682300,"url":"https://github.com/alan-oliveir/photospice","last_synced_at":"2025-06-14T02:08:15.087Z","repository":{"id":295175601,"uuid":"986493492","full_name":"Alan-oliveir/PhotoSpice","owner":"Alan-oliveir","description":"Aplicação que captura um circuito esquemático a partir de uma imagem, gera automaticamente uma netlist no padrão Spice e simula o circuito mostrando ao usuário as tensões nodais ou gráfico de tensão ou corrente dependendo do tipo de simulação e dos componentes presentes no circuito.","archived":false,"fork":false,"pushed_at":"2025-05-24T02:05:54.000Z","size":78548,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-24T03:19:07.574Z","etag":null,"topics":["circuits-and-electronics","convolutional-neural-networks","simulation","yolo"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alan-oliveir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-19T17:35:37.000Z","updated_at":"2025-05-24T02:05:57.000Z","dependencies_parsed_at":"2025-05-24T03:29:17.269Z","dependency_job_id":null,"html_url":"https://github.com/Alan-oliveir/PhotoSpice","commit_stats":null,"previous_names":["alan-oliveir/photospice"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Alan-oliveir/PhotoSpice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alan-oliveir%2FPhotoSpice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alan-oliveir%2FPhotoSpice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alan-oliveir%2FPhotoSpice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alan-oliveir%2FPhotoSpice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alan-oliveir","download_url":"https://codeload.github.com/Alan-oliveir/PhotoSpice/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alan-oliveir%2FPhotoSpice/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259747215,"owners_count":22905313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circuits-and-electronics","convolutional-neural-networks","simulation","yolo"],"created_at":"2025-06-14T02:08:14.625Z","updated_at":"2025-06-14T02:08:15.082Z","avatar_url":"https://github.com/Alan-oliveir.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PhotoSpice\n\nPhotoSpice é uma aplicação que captura um circuito esquemático a partir de uma imagem, gera automaticamente uma netlist no padrão Spice e simula o circuito mostrando ao usuário as tensões nodais ou gráfico de tensão ou corrente dependendo do tipo de simulação e dos componentes presentes no circuito.\n\n## 📋 Sobre o Projeto\n\nEste projeto foi desenvolvido como parte do Projeto Integrado do Departamento de Engenharia Eletrônica (DEL) da Escola Politécnica da UFRJ (2022.1), sob orientação dos professores Casé e Juarez.\n\n### Motivação\n\nOs simuladores SPICE atualmente são ótimas ferramentas ao se trabalhar com eletrônica, no entanto é preciso lidar com interfaces gráficas desses programas que podem não ser padronizadas e dependem do hardware e sistemas onde estão instaladas, o que pode atrasar o processo de simulação como um todo. \n\nO PhotoSpice busca simplificar o processo de simulação para fins de estudo, permitindo que os usuários tirem uma foto do circuito com um smartphone e enviem para análise imediata. O projeto também teve inspiração em aplicações similares que fazem a solução de equações matemáticas a partir de fotos.\n\n### Vídeo do Projeto  \n\n[PhotoSpice](https://youtu.be/VwTYSiOtutM)\n\n## 🚀 Funcionalidades\n\n- **Captura de imagem**: Use seu smartphone ou upload de arquivo para enviar o esquemático do circuito\n- **Processamento automático**: Binarização e identificação de contornos dos componentes\n- **Detecção inteligente**: Reconhecimento de componentes, conexões, valores e polaridades\n- **Geração de Netlist**: Criação automática de netlist no padrão Spice\n- **Simulação interativa**: Possibilidade de correção de parâmetros e seleção do tipo de simulação\n- **Visualização de resultados**: Exibição das tensões nodais ou gráficos de tensão/corrente\n\n## 🔌 Componentes Suportados\n\nAtualmente, o sistema suporta os seguintes componentes:\n\n- **Componentes passivos**:\n  - Resistor\n  - Capacitor\n  - Indutor\n- **Diodos**\n- **Fontes de tensão**:\n  - Contínua\n  - Alternada\n\n## 💻 Tecnologias Utilizadas\n\n- **Yolo**: Ferramenta de visão computacional para detecção e classificação de objetos em tempo real\n- **PySpice**: Interface open source Python com o simulador NGSpice\n- **PyTorch**: Framework de aprendizado de máquina\n- **Matplotlib**: Biblioteca para visualização dos gráficos da simulação\n- **Albumentations**: Ferramenta para data-augmentation das imagens de treinamento\n- **Vue.js e Bootstrap**: Frontend\n- **Flask**: Backend\n- **Outras bibliotecas**: NumPy, OpenCV, pycocotools\n\n## 📝 Como Usar\n\n1. Acesse a aplicação web\n2. Selecione uma foto do esquemático do circuito\n3. Clique no botão \"Analisar\"\n4. Verifique e corrija (se necessário) os valores detectados na netlist\n5. Selecione o tipo de simulação:\n   - **Ponto de operação**: Exibe as tensões dos nós\n   - **Análise transiente**: Exibe gráficos de tensão nodal ou corrente em componentes\n6. Para análise transiente, defina:\n   - Tempo inicial\n   - Tempo final\n   - Passo máximo\n   - Componente ou nó para visualização\n7. Visualize os resultados da simulação\n\n## 🧠 Redes Neurais\n\nO sistema utiliza três redes neurais treinadas:\n- Detecção geral de componentes e conexões\n- Identificação de números, unidades e múltiplos\n- Identificação das polaridades de determinados componentes\n\n## 🔜 Desenvolvimento Futuro\n\n- Inclusão de mais componentes eletrônicos (transistores bipolares, MOSFETs, amplificadores operacionais)\n- Geração de diagrama esquemático com indicação visual das correntes e tensões nos nós\n\n## 👥 Autores\n\n- Alan de Oliveira\n- Lucas Tiné\n- Matheus Felinto\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falan-oliveir%2Fphotospice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falan-oliveir%2Fphotospice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falan-oliveir%2Fphotospice/lists"}