Classificação de Objetos Tutorial - Teachable Machine e Python

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 39

  • @matheusbsilveiradev
    @matheusbsilveiradev Год назад +1

    Quero agradecer ao mano pela ajuda, me salvou horas de trabalho. +1 Inscrito!

  • @dubrinksof333
    @dubrinksof333 2 года назад +3

    Cara muito obg msm, salvou minha APS. +1 Inscrito!

  • @tombx5
    @tombx5 3 месяца назад +1

    Bom dia Chara tudo bem ? sabe me dizer se o algoritmo teachable faz distinção de cores dos objetos ? Digo pois pretendo usar um projeto de robótica, onde necessito da distinção de formato e cores... abs

    • @devideias1155
      @devideias1155  3 месяца назад +1

      Sim, ele consegue faz distinção de cores

    • @MrCube6623
      @MrCube6623 3 месяца назад +1

      Aí depende, existe dois modelos, um com cores é maior resolução, e outro em preto em branco com baixa resolução. Eu recomendo o de cores

  • @saibademais
    @saibademais 2 года назад

    O melhor que já vi.

  • @TutoVerso
    @TutoVerso 2 года назад

    Show, cara! Me inscrevi

  • @pensarexcel
    @pensarexcel 2 года назад

    Legal .... muito bem explicado!!

  • @NayT0N
    @NayT0N 2 года назад +2

    Excelente vídeo 👏👏👏.
    Faça um vídeo lendo as placas de carro em tempo real. Vai ser top aprender.

  • @RenataSantosdeOliveira-t8t
    @RenataSantosdeOliveira-t8t Год назад +1

    Alguém sabe como resolver quando o input e o output não funcionam no site? Eu montei o banco de dados com videos e fiz o treinamento, mas o reconhecimento no input e output não está ocorrendo, alguém sabe qual pode ser o problema?

    • @devideias1155
      @devideias1155  Год назад

      Pode fornecer mais detalhes? Por exemplo está gerando algum erro?

  • @douglasbernardino5091
    @douglasbernardino5091 Год назад

    Excelente conteudo, se eu quisesse acrescentar a detecção do objeto com o tensor flow para fazer um quadro ao redor da imagem e dizer o nome dela como eu faria?

    • @devideias1155
      @devideias1155  Год назад +1

      Olá Douglas, o tensorflow tem um resultado muito bom porém não é o framework mais "amigável" para trabalhar com detecção rs, eu recomendaria outro método mais simples de usar como por exemplo o yolov8, porém tanto o tensorflow como o yolo vai precisar de uma preparação diferente das imagens, é necessário gerar as anotações (labels) para cada imagem antes de treinar o modelo final. Abaixo tem um material sobre esse processo.
      towardsdatascience.com/custom-object-detection-using-tensorflow-from-scratch-e61da2e10087

    • @douglasbernardino5091
      @douglasbernardino5091 Год назад

      Muito obrigado@@devideias1155

  • @geovanaribeiro4695
    @geovanaribeiro4695 Год назад

    Esse anjo ainda disponibiliza o código🥺🙌

  • @INTERFONESEMFIO
    @INTERFONESEMFIO 2 года назад

    Ola. Parabens wellington pelo video!!! muito bom!!! vi o video do estacionamento tambem. show demais. vc poderia fazer isso em um auditorio para mostrar cadeiras vagas ? seria legal. e teria uma dificuldade em caso de estar escuro. funciona tambem ou tem que colocar iluminaçao infra? grato. Luiz.

    • @devideias1155
      @devideias1155  2 года назад

      Ideia legal! acredito que a questão da iluminação seria realmente um desafio grande nesse ambiente, algumas técnicas morfológicas ajuda bastante, porém dependendo do nível de iluminação seria mesmo interessante analisar iluminação com infra.

  • @Mateuss.luz1
    @Mateuss.luz1 Год назад +1

    O meu fica dando erro: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 28: invalid start byte

    • @devideias1155
      @devideias1155  Год назад

      Olá Matheus, qual versão do tensorflow e keras voce está utilizando?

    • @Mateuss.luz1
      @Mateuss.luz1 Год назад

      @@devideias1155 Tensorflow e Keras 2.12.0, me ajuda nisso por favor

  • @diegoa.8059
    @diegoa.8059 Год назад

    Muito bom, mas como desenhar um bounding box nos objetos detectados? Nao encontrei como extrairo as informações para desenhar o retangulo.

    • @devideias1155
      @devideias1155  Год назад +1

      Olá Diego, apesar da imagem de capa demonstrar bounding box, esse modelo atende apenas para classificação de imagens, ou seja, ele olha a imagem como um todo e retorna uma classificação, os modelos que fazem a detecção de objetos (retornam bounding box) são diferente, exemplo yolo, haarcascade, lenet e etc...

  • @viniciuselias007
    @viniciuselias007 2 года назад

    muito bom eu conseguir fazer aqui = ao seu
    so que eu queria adicionar aquele quadrado com o nome indentificando na imagem??
    como e que tem que colocar no codigo para ficar assim ??
    eu tentei usar outros e nao deu certo .. tem como vc me ajudar
    pq so aparece la na barra do Shell
    mais eu preciso que apareça na imagem mesmo
    tem como me ajudar ??
    Obs eu tentei colocar (frame) = a um outro video seu .. so que nao deu Certo
    Pq esse codigo começa com (imgS)
    deus de ja agradeço

    • @devideias1155
      @devideias1155  2 года назад +1

      Vinicius, esse método específico não funciona assim com bounding boxes (o quadrado ao redor do objeto), se você necessita de fato identificar a posição do objeto na imagem pode usar outras formas de detecção de objetos, ou usar o modelo teachable machine dessa forma que faço no vídeo abaixo:
      ruclips.net/video/qgTerD7-CeM/видео.html

    • @viniciuselias007
      @viniciuselias007 Год назад

      @@devideias1155 vixi mano ja tava pegando ele como referência

  • @rictrix1503
    @rictrix1503 9 месяцев назад

    Infelizmente não consegui, a página dá sempre erro, tentei com menos classes, menos imagens e com menor qualidade e a página encrava sempre

    • @devideias1155
      @devideias1155  9 месяцев назад

      Estranho, geralmente a página é bem estável, o processamento pode demorar um pouco oque é normal, mas travar não é muito comum, acredito que se tem algum problema o Google deve resolver em breve.

  • @Superman-y4p6q
    @Superman-y4p6q 11 месяцев назад

    qual copilador vc está usando?

    • @devideias1155
      @devideias1155  11 месяцев назад

      Olá, ao que você se refere quando diz "copilador"? O python (a linguagem que utilizo) é interpretada, diferente de linguagens compiladas.

    • @Superman-y4p6q
      @Superman-y4p6q 11 месяцев назад

      Quando pergunto isso é qual plataforma vc utiliza para escrever os códigos em Python?

  • @tomascarvalho8194
    @tomascarvalho8194 2 года назад +1

    boa tarde, no meu PyCharm pra cada item no loop ele exibe uma mensagem dizendo "1/1 [==============================] - 0s 20ms/step", acaba poluindo a tela, sabe como remover essa mensagem?
    Muito bom vídeo, ajudou bastante

    • @devideias1155
      @devideias1155  2 года назад

      Se seu código está extamente igual ao da aula então pode ser a versão da biblioteca, estou com TensorFlow na versão 2.6.0, verifique qual versão você está utilizando.

    • @tomascarvalho8194
      @tomascarvalho8194 2 года назад

      @@devideias1155 ok obrigado

  • @pablogramajo861
    @pablogramajo861 8 месяцев назад

    Tive um problema ao executar seu código, me dá vários erros que não consigo resolver e não são problemas de compatibilidade, vou deixar o erro abaixo, talvez você possa me ajudar a ver porque isso acontece: raceback (última chamada mais recente):
    Arquivo "c:\Users\pgram\OneDrive\Desktop\pp\teachablemachineproject-main\project.py", linha 5, em
    modelo = load_model('Keras_model.h5')
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\ saving\ saving_api.py", linha 183, em load_model
    retornar legado_h5_format.load_model_from_hdf5 (
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\legacy_h5_format.py", linha 133, em load_model_from_hdf5
    modelo = saving_utils.model_from_config(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\ saving_utils.py", linha 85, em model_from_config
    retornar serialização.deserialize_keras_object(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\serialization.py", linha 495, em deserialize_keras_object
    deserializado_obj = cls.from_config(
    ^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\models\sequential.py", linha 333, em from_config
    camada = saving_utils.model_from_config(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\ saving_utils.py", linha 85, em model_from_config
    retornar serialização.deserialize_keras_object(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\serialization.py", linha 495, em deserialize_keras_object
    deserializado_obj = cls.from_config(
    ^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\models\sequential.py", linha 333, em from_config
    camada = saving_utils.model_from_config(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\ saving_utils.py", linha 85, em model_from_config
    retornar serialização.deserialize_keras_object(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\serialization.py", linha 495, em deserialize_keras_object
    deserializado_obj = cls.from_config(
    ^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\models\model.py", linha 517, em from_config
    retornar funcional_from_config(
    ^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\models\funcional.py", linha 517, em funcional_from_config
    camada_processo(dados_camada)
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\models\functional.py", linha 497, em process_layer
    camada = saving_utils.model_from_config(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\ saving_utils.py", linha 85, em model_from_config
    retornar serialização.deserialize_keras_object(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\legacy\ saving\serialization.py", linha 504, em deserialize_keras_object
    deserializado_obj = cls.from_config(cls_config)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Arquivo "c:\Users\pgram\AppData\Local\Programs\Python\Python312\Lib\site-packages\keras\src\ops\operation.py", linha 210, em from_config
    raiseTypeError(
    TypeError: Erro ao desserializar a classe 'DepthwiseConv2D' usando config={'name': 'expanded_conv_thoughtwise', 'trainable': True, 'dtype': 'float32', 'kernel_size': [3, 3], 'strides': [ 1, 1], 'preenchimento': 'mesmo', 'data_format': 'channels_last', 'dilation_rate': [1, 1], 'grupos': 1, 'ativação': 'linear', 'use_bias': Falso , 'bias_initializer': {'class_name': 'Zeros', 'config': {}}, 'bias_regularizer': Nenhum, 'activity_regularizer': Nenhum, 'bias_constraint': Nenhum, 'profundidade_multiplicador': 1, 'profundidade_initializer': {'class_name': 'VarianceScaling', 'config': {'scale': 1, 'mode': 'fan_avg', 'distribution': 'uniform', 'seed': None}}, 'profundidade_regularizer': Nenhum, 'profundidade_constraint': Nenhum}.
    Exceção encontrada: argumentos de palavras-chave não reconhecidos passados ​​para DepthwiseConv2D: {'groups': 1}

    • @devideias1155
      @devideias1155  8 месяцев назад

      Geralmente esse erro pode estar relacionado a biblioteca h5py que é instalada automaticamente com as dependências, como estamos usando uma versão mais antiga do tensorflow tente voltar algumas versões na biblioteca h5py, exemplo versão 2.7.1

  • @TutoVerso
    @TutoVerso 2 года назад

    como faz pra fazer com fotos??

    • @devideias1155
      @devideias1155  2 года назад +1

      Olá, é simples, em vez de abrir o vídeo com cv2.VideoCapture(), basta usar cv2.imread('caminho_imagem') para abrir a imagem, nesse caso não é necessário usar o loop "While True:" basta fazer os processos de redimencionar a imagem em diante.

    • @TutoVerso
      @TutoVerso Год назад

      @@devideias1155 vlw tinha dado certo é pq na hora de jogar a foto pra testar se a inteligência tava sabendo aí só tava pedindo pra abrir a webcam mas atualizei a página e refiz aí dps deu certo pra upar a foto. Vlw