Build an Object Detector for Any Game Using YOLO

Sdílet
Vložit
  • čas přidán 26. 07. 2024
  • Welcome to my Object Detection Using YOLO Tutorial! In this video, I'll guide you through the process of creating your own object detection system for gaming from scratch.
    You can find the full tutorial and the source code used in the video in my GitHub repository: github.com/moises-dias/yolo-opencv-detector
    This tutorial will help you detect objects and obtain their coordinates and class in Python, opening up possibilities for automation in gaming, using libraries like pynput to control your mouse or keyboard based on the detections.
    0:00 Introduction
    1:46 First part: Image Dataset Creation
    6:05 Second part: Labeling the Image Dataset
    14:46 Third part: Training the YOLO Model
    18:55 Fourth part: Performing Detections
    Leave a comment if you have any questions, and I'd love to see your results, if you want to, connect with me on LinkedIn to share your projects based on this tutorial: linkedin.com/in/moisesdias
  • Věda a technologie

Komentáře • 260

  • @alpha-dq5nh
    @alpha-dq5nh Před 6 měsíci +39

    THIS IS THE BEST TUTORIAL ON IN-SCREEN OBJECT DETECTION. PERIOD.
    Simplified and provides a base from which more things can be explored.
    Thank you for your efforts. I subbed and liked it. 🍻😊😊

  • @tankaccount2990
    @tankaccount2990 Před 5 měsíci +17

    As a software developer I thank you for how well this was made, it gave me a very good baseline to work with and was overall extremely well thought out, you earned my sub!

  • @R4ZZERE
    @R4ZZERE Před 8 měsíci +10

    owwwwwww dude Here is the training that I have been looking for for a year and could not find, you are the only one, please do not give up on the training and I will be waiting for the continuation, I am starting now.
    thxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  • @leomarzoli3498
    @leomarzoli3498 Před měsícem +1

    It worked for me, i used 350 images and Diablo 3 as example. I love you so much, you just helped me a lot with a project i had in mind!!! Keep the channel up!

  • @pizza88
    @pizza88 Před 2 měsíci +1

    Thanks buddy, the only one video makes sense for dataset training

  • @andreistelian9058
    @andreistelian9058 Před 3 měsíci +6

    Holy moly, it works.
    Thank you so much my friend. I did everything you said, exactly as you did and it works for a 3D game.
    I'm still stoked on how it works, but it's awesome anyway.
    Thank you so much my friend!!!

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci +1

      Hi there, thank you for your comment!
      A few months ago I was working on a bot for Ragnarok Online, but I was having a hard time finding online content showing how to create a object detector and make the detection results available in Python. So, when I created my one, I decided to try making a video about it (this video), I didn't expect to have such a good reception. I'm very happy that it worked and was useful for you!

    • @andreistelian9058
      @andreistelian9058 Před 3 měsíci

      @@moisesdepaulodias7980 that was what I wanted to do. I started with template matching from OpenCV, but it didn't worked quite good and I started looking through using OpenCV for object detection but couldn't find something so easy as what it is in this video.
      The only issue that I encountered, is that the model is a bit delussional and makes detection of other objects, but I will train another model after I finish with implementing all the things for my bot.
      Thank you very much.
      Also, do you know any resources for learning OpenCV. I'm a programmer, but I haven't looked through a lot of resources, what do you recommend for starting up with OpenCV

  • @Ireitsarof
    @Ireitsarof Před 10 měsíci +5

    amazing tutorial, keep bringing more for us

  • @diexdiag1098
    @diexdiag1098 Před 9 měsíci +4

    Thanks for this tutorial and the video, it helped me a lot with open cv and with a lot of problems and things that I didn't understand, thanks again

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 9 měsíci +1

      Thank you so much for the feedback! I'm really glad the tutorial was helpful for you!

  • @IndioPapaxota
    @IndioPapaxota Před 2 měsíci +4

    Está faltando um desses em português Paulo! 🚀 🔥 Parabéns pelo vídeo.

  • @gametechtutorial4670
    @gametechtutorial4670 Před 6 měsíci +4

    This is so clear, i have search tutorial for object detection but didnt get the clear info or maybe im stupid so that i cant understand😅, but not for your tutorial, this is really clear for me, i can digest each of information/step, you really put big effort to make this tutorial man.
    Thanks alot bro.
    Subss.....🤜🤛

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hey man, thank you so much for your comment!!! I wasn't expecting such good feedback, but I am truly happy that my video is helping you out!!!

  • @blind0ne144
    @blind0ne144 Před 4 měsíci +1

    Great tutorial! You are awesome. Please do more projects like this :)

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      Hey, thanks for your comment! I'm a little busy with my job right now, but I want to make more videos (mostly about other approaches without using machine learning, that use far less computer resources and in some cases they have the same result)

  • @matheusribeiro6046
    @matheusribeiro6046 Před měsícem

    Que surpresa agradável! Fiz uma pesquisa em inglês pra aprender algo e descobri um brasileiro ensinando 🇧🇷🇧🇷, orgulho irmão!

  • @dynodyno6970
    @dynodyno6970 Před 6 měsíci +2

    Got my sub, thanks for this video my friend. It was truly amazing and very helpful for a noob like me. If your goal was to help people learn, then you should be proud, because this genuinely helped me a lot! Thanks again

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci +1

      Thank you so much for your comment! It really means a lot to me!!!

    • @dynodyno6970
      @dynodyno6970 Před 6 měsíci

      @@moisesdepaulodias7980 You're welcome. I get a warning message in the last cell when I attempt to train my model, it reads: "Warning: in txt-labels class_id=-1 >= classes=1 in cfg-file. In txt-labels class_id should be [from 0 to 0] Should I Ignore this? Eventually when it is done training i'll be able to see if it worked or not anyways.

  • @henrique6996
    @henrique6996 Před měsícem

    Moises, cara, eu estou tentando fazer isso faz tempo e não consigo. Você é espetacular, explicou de maneira didática! Faça mais vídeos!

  • @RodrigoPrincipe
    @RodrigoPrincipe Před 10 měsíci +3

    You chose my favorite game! 🤩

  • @xCookiee
    @xCookiee Před 3 měsíci

    Subscribed, amazing content. Would love to see further development for this stuff

  • @pl9820
    @pl9820 Před 4 měsíci +1

    i got results and im stoked!

  • @huelerssey
    @huelerssey Před 3 měsíci

    Cara, que tutorial perfeito! Parabéns irmão, espero que continue trazendo mais conteúdos do tipo!

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Opa, muito obrigado pelo elogio mano!! De verdade mesmo!! Vou tentar trazer mais tutoriais como esse. Abraço!!

  • @NakedSageAstrology
    @NakedSageAstrology Před 4 měsíci +3

    Amazing information, thank you.

  • @LucasAlves-bs7pf
    @LucasAlves-bs7pf Před 4 měsíci

    Ouro puro, irmão. Obrigado pelo conteúdo.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      opa, muito obrigado mesmo pelo comentário mano, de verdade!! Fico muito feliz em saber que vc gostou do vídeo!!

  • @user-mw1uf8tf7w
    @user-mw1uf8tf7w Před 6 měsíci +1

    Thank you! This is gold!

  • @keplerfall
    @keplerfall Před 6 měsíci

    Parça do céu, que video maravilhoso, mto bom msm, parabéns

  • @hycor
    @hycor Před 4 měsíci +1

    You are the best bro

  • @pixelmz
    @pixelmz Před měsícem

    Really clear explaination, obrigado!

  • @user-vc5ny6rn7g
    @user-vc5ny6rn7g Před 8 dny

    Es genial lo que haces, te deseo mucho éxito

  • @complationbonanza
    @complationbonanza Před 5 měsíci +1

    amazing tutorial

  • @NotDead10008
    @NotDead10008 Před 5 měsíci

    Love this.

  • @MjRmHaCKEr
    @MjRmHaCKEr Před 5 měsíci

    this is the best one for me

  • @joonyounglee8010
    @joonyounglee8010 Před měsícem

    Nice bro perfect

  • @user-ql7pw7ld1n
    @user-ql7pw7ld1n Před 5 měsíci

    Very helpful thank u

  • @srcuia
    @srcuia Před 4 měsíci

    TUTORIAL MT BRABO MEU MANO. Estou a algum tempo tentando fazer um bot pra um rpg pra treinar visao computacional, comecei identificando objetos com pyautogui, e mexi um pouco com opencv mas sem mts resultados nesse ultimo. precisava de um modelo que identificasse varios objetos na tela e creio que este será um bom ponto de partida. muito obrigado.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      Opa, muito obrigado pelo seu comentário man, de verdade!! Como falei em algum comentário anteriormente, eu tentei achar um conteúdo assim como nesse vídeo, mostrando a criação de ponta a ponta de um sistema de detecção de objetos disponibilizando as coordenadas em python, mas não achava nada, daí qnd fiz o meu tentei fazer esse vídeo, mas não esperava uma recpção tão boa! Fico muito feliz que vc tenha gostado man!!!

  • @rodrigoesquinelato9812
    @rodrigoesquinelato9812 Před 3 měsíci

    Vídeo incrível demais! Sério, obrigado

  • @kruding
    @kruding Před 3 měsíci +1

    Didn't pass the first step , but liked and subbed. your guide seem promising for me.
    I got only black screen or sometime the first frame with jupyter window overlapse in it. hope I might make it pass the 1st step someday.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Hi there. I had the opportunity to try to help one person with the same problem in a Discord call, and I believe that this is related to some anti-cheat of your game. Because in this Discord call, the code worked in some games, but in others it generated black screens (I also suspect that games within Steam may generate black screens as well).
      I suggest you try with other games to see if that is your case. For me, it worked with the games Terraria, Ragnarok Online, Diablo 2, and Fruit Ninja using the BlueStacks emulator.
      I am trully sorry I can't help any further, but I didn't encounter this problem while creating the tutorial.

  • @Naggok
    @Naggok Před 7 měsíci

    thanks for the video

  • @Murilo_Floriano
    @Murilo_Floriano Před měsícem

    Brabo dms bixo valeu

  • @piattrocks
    @piattrocks Před měsícem

    Thank you for the tutorial. I managed to follow it successfully!
    Would there be a way to modify it to be able to read and return words or sequences of numbers from what is being identified as well, or is that beyond the scope of YOLO?

  • @MowiWowi
    @MowiWowi Před 2 měsíci

    Nice😊

  • @felipe-muniz
    @felipe-muniz Před 5 měsíci

    Murilo bom 🙌🏻

  • @ratox1465
    @ratox1465 Před 26 dny

    Fala mano blzera? Parabéns pelo tutorial, quando puder, faça uns conteúdos em portugues tambem! Valeu! :D

  • @braiabrvno2074
    @braiabrvno2074 Před měsícem

    Braboooooooo

  • @GhostWareV1
    @GhostWareV1 Před 3 měsíci

    Thank you sooo muchhhhh

  • @Howard-xs2rb
    @Howard-xs2rb Před měsícem +1

    Hi, I am tying to follow up the video, and I want ask if Macos computer could run these programs and how to download dependencies for Macbook

  • @diegoemmanuel1014
    @diegoemmanuel1014 Před 6 měsíci

    Boa aula.

  • @Guillobus
    @Guillobus Před 8 dny

    Hi bro!! thanks for the video,
    I wanted to ask you, is there a problem if you take the screenshots manually and use png format?, or if something would have to be modified to use that format

  • @claudiosbc
    @claudiosbc Před 2 měsíci

    Please record a video demonstrating how to click on the identified monsters. Vlw

  • @oilbender
    @oilbender Před 2 měsíci +1

    Quick question? Any particular reason for not using a newer version of yolo?

  • @enryu6503
    @enryu6503 Před 3 měsíci +7

    Cool tutorial. I wanted to ask, the images that is being captured on the generate dataset notebook only shows black pictures. I am using it on a browser game. Already tried using different browsers, but it still has the same output of only capturing black images. Is there a fix for this? Thank you :D

    • @adnanqadir291
      @adnanqadir291 Před 3 měsíci

      same issue

    • @Ppalgang
      @Ppalgang Před 3 měsíci

      same issue, stardew valley, ark, delta force2, spotify... all of them gives black screen

    • @strangeshorts6584
      @strangeshorts6584 Před 3 měsíci

      Same 😢

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci +1

      Hi there. I had the opportunity to try to help one person with the same problem in a Discord call, and I believe that this is related to some anti-cheat of your game. Because in this Discord call, the code worked in some games, but in others it generated black screens (I also suspect that games within Steam may generate black screens as well).
      I suggest you try with other games to see if that is your case. For me, it worked with the games Terraria, Ragnarok Online, Diablo 2, and Fruit Ninja using the BlueStacks emulator.
      I am trully sorry I can't help any further, but I didn't encounter this problem while creating the tutorial.

  • @user-qn7rc9ii7i
    @user-qn7rc9ii7i Před měsícem

    Duuude.... God bless openCV...

  • @JhonMartins-i3d
    @JhonMartins-i3d Před 16 dny

    Bro tengo un problema al hora de subir los archivos a Drive, esta tiene 8 elementos. en tu video hay 9 elementos.. Donde esta el faltante?

  • @LivLiveLegends
    @LivLiveLegends Před 8 dny

    Hey thanks best explanation I found so far..but I need to know more.do u have discord?
    And also what if instead of diablo 3 I want to capture screenshot of some game runing in chrome browser tab

  • @strangeshorts6584
    @strangeshorts6584 Před 2 měsíci

    The width of detected windows is small how can I adjust that so I can view full area.

  • @davzz920
    @davzz920 Před 8 dny

    It will create a window?
    When i click on the window, my char in game won't move
    If put the window on top of my game window, and move my char in game, i can't see the detection from the created window.

  • @wesleypaulo1660
    @wesleypaulo1660 Před 10 měsíci

    Top mano

  • @user-bf3um8cd6k
    @user-bf3um8cd6k Před 3 měsíci

    Спасибо!

  • @niloxz3367
    @niloxz3367 Před 2 měsíci

    I hope u can help me but he says something like NameError: name 'WindowCapture' is not defined but i wrote the name from the windows, i tried everything but it didnt work

  • @rodrigooliveira8954
    @rodrigooliveira8954 Před 2 měsíci +1

    Vc é brasileiro né? Obrigado pelo conteúdo kkkkk

  • @ahmetemindx
    @ahmetemindx Před 3 měsíci

    The game is a multiplayer FPS game. It doesn't find your window. Could the game developers have blocked it? What could be causing the problem? I changed the code a little, I can take a screenshot of the game when the screen is broadcast, but I think I either wrote the window of the game wrong or the game developers blocked it, I'm not sure.

  • @user-gb9ug9rb3h
    @user-gb9ug9rb3h Před 5 měsíci +1

    Can I display a labelling box like an open cv screen inside the game screen or is there a way to send keyboard/mouse movement to the game inside the open cv screen

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hello! I dont know how to put the bounding box in the game screen. About the movement automation, that is possible to do! I created a new video where I show how you can automate actions based on the detections, you can see more details on the video: czcams.com/video/gdIVHdRbhOs/video.html

  • @MsMineization
    @MsMineization Před 3 měsíci

    MT BOM IRMÃO VALEU

  • @fred-em5wx
    @fred-em5wx Před 6 měsíci +1

    Fala mano tudo bem, cara eu vou tentar usar esse seu modelo para fazer um bot de auto-pesca em um jogo, basicamente quando aparecer uma exclamação na tela o bot tem que começar a clicar até pescar o peixe, depois ele bota a vara na agua novamente. A exclamação quase nunca muda, e só quero detectar ela mesma, com 100 imagens no dataset eu já conseguiria um resultado legal?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci

      Opa, tudo bom? Cara, esse modelo serviria sim, mas como você só quer detectar um icone (ponto de exclamação) da pra voce usar formas bem mais simples (usar o Template Matching do OpenCV) e que seriam efetivas e usando muito menos processamento. Da uma olhada nessa playlist, sugiro vc tentar essa abordagem dela, acho que vai super resolver para você: czcams.com/video/KecMlLUuiE4/video.html
      e se precisar de alguma ajuda só chamar man, valeu!!

  • @mohammedbaig9569
    @mohammedbaig9569 Před 6 měsíci +1

    Hi I did not get to run the full training because it was taking too long so I just downloaded the last weights file like you suggested. However when I attempt to run the detection cell of the detection code all that's returned is a black screen. Do you have any idea what could be causing it?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci +1

      Hi there, can you send me a message on linkedin with more information about the error? my linkedin profile is in the description, I will do my best to assist where I can.

    • @shenglinjing7350
      @shenglinjing7350 Před 2 měsíci +1

      He is probably running the game in full screen mode, where the winapi is not able to capture since the data is stored internally. If you switch to windowed mode, it probably will work.

  • @your1302
    @your1302 Před 3 měsíci +1

    thank you for your tutorial! i wanna ask what GPU are you using?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Hi there! Thanks for your comment!
      I am using the integrated GPU of my laptop, it's a Radeon 520 I believe.

  • @Osteoporos1s
    @Osteoporos1s Před dnem

    Does anyone know if the image capturing works with web-based games?

  • @MetalComment
    @MetalComment Před 5 měsíci +1

    How would you take your finished project and take the code in for your own visual studio code or pycharm for example?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hi there, you can use the 'Jupyter' extension in VSCode to run notebooks. I used the Jupyter notebook web interface for simplicity.

  • @Noelnnn
    @Noelnnn Před 4 měsíci +1

    wow that was an amazing video! thank you:D
    I am a relatively new dev, so I wanted to ask: how can you capture a browser window?, having my problems, it will find the window, but the jpgs are only a small white line, it wont capture the whole browser window..
    def subbed, really good stuff:)!

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      Hi there! Thanks for your comment!! Sorry but I didnt understand your question, you need to detect only part of the browser window?

    • @Noelnnn
      @Noelnnn Před 3 měsíci

      @@moisesdepaulodias7980 Hi! thanks for your reply:D. I already solved it. I had my problems finding the right window_title I think, but then it did work somehow! Finished the whole project, it was amazing, functions perfectly!

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      @@Noelnnn Great!! I am happy to know that it worked!!!

  • @CodingJournal-pm1tq
    @CodingJournal-pm1tq Před 6 měsíci +1

    Hi, thank you for the amazing tutorial!
    I am having a problem when after running the box starts "# Run this cell to initiate detections using the trained model."
    I get the window opening, but it just shows the initial screenshot it has received and does not update, it then shows the same screenshot on subsequent runs.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci

      Hello. Did you make any changes to the code in the fourth notebook other than the window name? And did you copy the weights file correctly after training in the third notebook? Also, is there any error message on the output of the cell "# Run this cell to initiate detections using the trained model." ?
      Please send me a message on Discord so we can investigate together. My discord is moises_dias.

    • @CodingJournal-pm1tq
      @CodingJournal-pm1tq Před 6 měsíci

      update: I just realized the same is happening for:
      1_generate_dataset - Window Capture

    • @CodingJournal-pm1tq
      @CodingJournal-pm1tq Před 6 měsíci +1

      Found the problem, for anyone with the same issue:
      The problem was running the game through steam

  • @VitinDeltakk
    @VitinDeltakk Před 6 měsíci

    valeu cara

  • @virno69420
    @virno69420 Před 5 měsíci +1

    Could you make similar tutorial in C++? Maybe using DirectML library? In a lot of use cases python deployment for inference is just way too slow.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci +1

      Hi there! Thank you for the suggestion! I will consider it for my next videos.

  • @funktionone821
    @funktionone821 Před 5 měsíci +1

    I managed to set up everything, however, when I run it on my game the window that opens to display the detections is a still image, I can see the bounding boxes around the objects I trianed my Model for. If I rerun it shows the same image. Note that I run into an error due to this line img = np.fromstring(signedIntsArray, dtype='uint8') The Notebook error message suggested to change it to 'np.frombuffer' so I changed it and is not giving error now, but not working the same way like in yours, The displaying window is still image cant not interact and go around in game like you in that Window.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hi there! Hmm, I haven't encountered this problem, but could you call me on Discord so we can try to fix it? My username is moises_dias. I'll do my best to help you.

    • @funktionone821
      @funktionone821 Před 5 měsíci

      @@moisesdepaulodias7980 thank you I will add you on Discord, and contact you.I have the same profile image on Discord

    • @funktionone821
      @funktionone821 Před 5 měsíci

      @@moisesdepaulodias7980 I sent youa friend request on Discord, I have the same profile picture like here. thank you in advance

  • @TTA-of7yz
    @TTA-of7yz Před 4 měsíci +4

    Hi, I tried your tutorial, but for some reason, when I did the first step, I captured the image of a game in bluestacks. All images came in black, or just the first frame picture. I tried to test the image capture in other applications, even on a notepad, and got the same result. Try to change Windows 11 and 10. Try changing the resolution and nothing. im new on this help plis :) btw, good tutorial, I fellow through the whole process.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci +1

      Hi there, I recently helped another person with the same problem, in his case the problem was the game he was trying to detect objects, but in your case you said you were using bluestacks, so I dont know what is the problem.. can you call me on discord for us to search together? my user is moises-dias

    • @niloxz3367
      @niloxz3367 Před 2 měsíci

      @@moisesdepaulodias7980 ur discord name is not right

  • @yokingdom9936
    @yokingdom9936 Před 20 dny

    Hey i'm having an issue with the screenshots, win32 is taking pictures of a small part of my game's window (upper left) but doesn't seem to want the full window. Any solution for that? cause i'm trying to resolve that and i can't find any solution. Please and thanks a lot for your video

    • @yokingdom9936
      @yokingdom9936 Před 20 dny

      ok sorry i kinda resolved my problem, it was due to my sceen scaling not at 100% but at 150% so going to 100% solved this issue

  • @ccuuttww
    @ccuuttww Před 2 měsíci

    In 3D MMORPG games I think is more complicated especially non moving object

  • @dsbo1507
    @dsbo1507 Před 4 měsíci +2

    Quanto vc cobra para fazer um bot para matar Isillas no Ragnarok? Estou tentando aprender a programar, mas acho que não é possível para mim. Se entre em contato comigo, por favor.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci +1

      Opa, cara, sendo franco, acho que em sites de programadores freelancers vc pode encontrar gente oferecendo esse serviço, eu até poderia vender um bot pra vc mas eu estou com tempo bem limitado, começei um trabalho novo recentemente que ta tomando 101% do meu tempo :(

    • @dsbo1507
      @dsbo1507 Před 3 měsíci

      @@moisesdepaulodias7980 Eu meio que consegui rodar em servidor que tem Gepard Shield 3.0. Porém, ele começa matando normal, mas depois de alguns teleportes ele clicka no monstro e não acontece nada. Eu acho que é por causa do shield. Se vc souber alguém que faça, algum programa bem simples. Por favor, me avisa.

  • @rulofmg
    @rulofmg Před 4 měsíci

    Ragnarok Online !!! feels so nostalgic lmao. its the first game where I learn the botting world and programming.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      me too! I started using some simple detectors (using colors, and shapes) until I needed some more complex detectors for detecting multiple different monsters at the same time (I used diablo 2 in this video but I was actually using this bot in ragnarok!)

    • @joaopedrofaria8092
      @joaopedrofaria8092 Před 2 dny

      @@moisesdepaulodias7980 eu estou tentando construir para o ragnarok também, tem o código aberto pra me passar pra eu dar uma estudada?

  • @chucknorrisfactfr
    @chucknorrisfactfr Před 4 měsíci +1

    hello when i try i get error: CreateCompatibleDC failed at the very first step, the one that screenshot your computer screen
    can you help me boss

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci

      hi there, can you send me a screenshot of the error in discord? my user is moises-dias, I will try to help you there

  • @yamayomi7779
    @yamayomi7779 Před 10 měsíci +1

    Thank you very much
    how can I apply this tutorial on local environment
    and how to use CPU
    I get GPU limitation and it requires payment

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 10 měsíci +1

      Hi there, thanks for your comment!
      Only step 3 (Model Training) is performed in Colab, all the other steps are using a local environment.
      I would not recommend using CPU for training your model for two reasons: first, it will use almost 100% of your CPU while your model is training, and second, it will take far more time than using a GPU.
      If you are facing GPU limitations, I would suggest that you create a new Google account and access Colab using this new account. This way, you will have a new GPU usage quota. Can you try that and see if it solves your problem?

    • @yamayomi7779
      @yamayomi7779 Před 10 měsíci

      @@moisesdepaulodias7980
      Hello, again :)
      well I managed to pass the model training step, but I got stumbled across the following error while running the detector
      ---------------------------------------------------------------------------
      error Traceback (most recent call last)
      Cell In[20], line 8
      5 weights_file_name = "yolov4-tiny-custom_last.weights"
      7 wincap = WindowCapture(window_name)
      ----> 8 improc = ImageProcessor(wincap.get_window_size(), cfg_file_name, weights_file_name)
      10 while(True):
      12 ss = wincap.get_screenshot()
      Cell In[19], line 11, in ImageProcessor.__init__(self, img_size, cfg_file, weights_file)
      9 def __init__(self, img_size, cfg_file, weights_file):
      10 np.random.seed(42)
      ---> 11 self.net = cv.dnn.readNetFromDarknet(cfg_file, weights_file)
      12 self.net.setPreferableBackend(cv.dnn.DNN_BACKEND_OPENCV)
      13 self.ln = self.net.getLayerNames()
      error: OpenCV(4.8.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\darknet\darknet_importer.cpp:217: error: (-212:Parsing error) Failed to parse NetParameter file: yolov4-tiny-custom_last.weights in function 'cv::dnn::dnn4_v20230620::readNetFromDarknet'
      Thanks for caring

  • @alvinwee268
    @alvinwee268 Před 4 měsíci +1

    Hi, there are some false positives with my trained model. Maybe because I only used 80+ images. To make any amendments, do i have to train it all over again?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 4 měsíci +1

      Hi there, well, I think so, depending on the graphics you need far more than 80 images.

    • @alvinwee268
      @alvinwee268 Před 4 měsíci

      @@moisesdepaulodias7980 ok will give it a shot, thanks!

  • @yatomi1012
    @yatomi1012 Před 5 měsíci

    Hey! Thank you for this video, it works almost perfectly for me. I just have one issue displaying the window with the detection. The window has the good dimensions (1920×1080), however it displays only a zoomed part of my game (the top left corner, only about 2/3 of the actual game), how can i change it?
    PS1: the game is not in fullscreen the window is just maximized. I have tried to reduce the size of the game window, and it displays the whole game below a certain size.
    PS2: i printed the width and height and got 1535*784, which is not the size of the window, and it seems that 1535 784 is the dimension of what is displayed (and zoomed)

    • @yatomi1012
      @yatomi1012 Před 5 měsíci +1

      found out: my pc had a 125% zoom

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      @@yatomi1012 Hi There! Sorry for the long time to answer, but I am happy that you solved the problem!!

  • @xDarknessLorddx
    @xDarknessLorddx Před 6 dny

    woow super nice, now how I can use it to farm or kill the mobss? xd

  • @efocus08
    @efocus08 Před 4 měsíci

    please help i keep getting coomand error in 'pip' is not recognised as an internal or external. we=hen trying to install the libraries

    • @user-ed4yp6eq5k
      @user-ed4yp6eq5k Před 4 měsíci

      My new pc did the same thing
      Download Python i used 3.10.5 make sure you click add to path during the installation

  • @johnyfishborn
    @johnyfishborn Před 7 měsíci

    It's amazing tut.
    But can we draw on our screen?
    Not in the new window.
    Cause cv2.imshow drops our FPS to the bottom.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 7 měsíci +1

      Hi there, thanks for your reply!
      You can only draw the detections on the OpenCV window.
      But if it's affecting the FPS you can stop showing the OpenCV window by removing the line "self.draw_identified_objects(img, coordinates)".
      This window is useful only to check if your model is well trained, as you already will have a python dictionary with the coordinates to automate your character.

  • @rco413
    @rco413 Před 5 měsíci +1

    so how do you avoid being detected, the character will immediately be hit and use an automatic skill?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hi there! Sorry, I didn't understand your question.

    • @rco413
      @rco413 Před 5 měsíci

      @@moisesdepaulodias7980 i mean, bot auto attack

  • @InMyLifeOfficiel
    @InMyLifeOfficiel Před měsícem

    I'm encountering a problem at the outset: when attempting to generate a dataset of images from my game, all I'm getting are black screen pictures. I suspect Steam might be causing this issue by blocking certain functions. As a workaround, I tried running the game through Steamless, but unfortunately, I'm still facing the same problem of black screen images.

  • @rofus-_-1101
    @rofus-_-1101 Před 5 měsíci +1

    is it possible to use a .pt file instead of an weight?

  • @pedroamaral8583
    @pedroamaral8583 Před 3 měsíci +1

    the first code only gets black screenshots any ideas?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci +1

      Hi there. I had the opportunity to try to help one person with the same problem in a Discord call, and I believe that this is related to some anti-cheat of your game. Because in this Discord call, the code worked in some games, but in others it generated black screens (I also suspect that games within Steam may generate black screens as well).
      I suggest you try with other games to see if that is your case. For me, it worked with the games Terraria, Ragnarok Online, Diablo 2, and Fruit Ninja using the BlueStacks emulator.
      I am trully sorry I can't help any further, but I didn't encounter this problem while creating the tutorial.

  • @KabLah
    @KabLah Před 3 měsíci +1

    Why use an old version of yolo instead of v8 or so?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Hi there, I only used YOLOv4 because I had experience with it in college 😅

  • @rodrigoesquinelato9812
    @rodrigoesquinelato9812 Před 3 měsíci +1

    Salve Moises! No meu colab roda tudo menos a parte final. A pasta training fica vazia =/

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      opa, no colab aparece algum erro ao executar o comando !./darknet detector train ... ?
      e no final do segundo notebook (rotulando imagens), vc gerou a pasta yolov4-tiny e colocou na raiz do seu google drive?

  • @Hcma_
    @Hcma_ Před 6 měsíci +1

    Capture with win32gui doesn't work on all games such as League of Legends, any ideas to fix the problem?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci +1

      Hello! Some games have software to prevent the use of external programs that interfere with the game (anti-cheats). In the game Ragnarok Online, I couldn't use Pynput, so I had to connect an Arduino to control the mouse and keyboard. I haven't tested it in League of Legends, but in your case, I would suggest you look for another way to capture images that the game doesn't block (using OpenCV instead of win32gui, maybe).

    • @brazorya
      @brazorya Před 6 měsíci

      @@moisesdepaulodias7980 can you make an example on a game like Waven on steam ? ta show us the game window gestion 😁
      you try all my favorite game continue ! 🤟

    • @Hcma_
      @Hcma_ Před 6 měsíci

      @@moisesdepaulodias7980 Thank you for your reply. While doing some research, I found a workaround that involves using the following line for the blackscreen debug "windll.user32.PrintWindow(self.hwnd, cDC.GetSafeHdc(), 3)" instead of "cDC.BitBlt((0, 0), (self.w, self.h), dcObj, (self.cropped_x, self.cropped_y), win32con.SRCCOPY)" in your code.

    • @indieworld462
      @indieworld462 Před 3 měsíci

      Use pygetwindow instead of win32gui

  • @brazorya
    @brazorya Před 6 měsíci +1

    Can you make a fully bot for Diablo 2 and the Hammer Paladin buid ? 😆
    Or a maybe a game turn by turn like Waven build with Unity

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci +1

      Hi there! I created a continuation for this tutorial where I use pynput to automate actions in the game Fruit Ninja. With the same approach I used in these videos, I believe you can create a bot for these two games! Here's the link to the second video: czcams.com/video/gdIVHdRbhOs/video.html
      If you have any questions you can contact me and I will do my best to assist where I can.

  • @xenofonpsarras2986
    @xenofonpsarras2986 Před 29 dny

    The screenshots in the Images folder are black all of them, idk why this happening, anyone knows ?

  • @RicardoLestayo
    @RicardoLestayo Před 6 měsíci

    Ele reconhece mas da pra fazer com que ataque ou clique nesse objeto?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci

      fala Ricardo, da sim! eu fiz um outro vídeo falando exatamente sobre isso: automatizar ações a partir das detecções, você pode ver nesse link: czcams.com/video/gdIVHdRbhOs/video.html

    • @RicardoLestayo
      @RicardoLestayo Před 6 měsíci

      @@moisesdepaulodias7980 Sensacional! obrigado Moises! você faz bots para jogos por encomenda?

  • @Jojifans
    @Jojifans Před 5 měsíci +1

    can you make a video showing how to utilize yolov7 or newer?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 4 měsíci +1

      Hi there! Right now I am working on a playlist of machine learning on Google Cloud, but in the future I will make a video with a newer version of yolo, thanks for the suggestion!!

  • @LOGFILEGDmegusta
    @LOGFILEGDmegusta Před 3 měsíci +1

    is it possible make it using javascript / node?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Well, if there's a way to use a machine learning model using JS/Node, I believe it's possible. But I don't have experience with that language. I suggest you look into how to perform the actions I do using Python (like identifying a window, taking a screenshot of the window, using a YOLO model, etc.) but with Node.

  • @dominicmora2559
    @dominicmora2559 Před 2 měsíci +1

    On training part the number 7 says no such file or directory

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Hi there! Did you add the "yolov4-tiny" folder (created on the file 2_label_dataset.ipynb) to the root directory of your Google Drive?

    • @dominicmora2559
      @dominicmora2559 Před 2 měsíci

      @@moisesdepaulodias7980 i put yolo 3 in colab then yolo4 in google drive
      and says no such file, i tried a lot is the same

  • @strangeshorts6584
    @strangeshorts6584 Před 3 měsíci +1

    Hlo sir the images generated in the image folder are full black why .😢 Title bar pixels and border pixels values are correct.how can i fix it.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 2 měsíci

      Hi there. I had the opportunity to try to help one person with the same problem in a Discord call, and I believe that this is related to some anti-cheat of your game. Because in this Discord call, the code worked in some games, but in others it generated black screens (I also suspect that games within Steam may generate black screens as well).
      I suggest you try with other games to see if that is your case. For me, it worked with the games Terraria, Ragnarok Online, Diablo 2, and Fruit Ninja using the BlueStacks emulator.
      I am trully sorry I can't help any further, but I didn't encounter this problem while creating the tutorial.

    • @strangeshorts6584
      @strangeshorts6584 Před 2 měsíci +1

      Thanks for your reply I also tried BlueStacks but faced the same problem in my windows 11

  • @SigpoPopi-wn3ss
    @SigpoPopi-wn3ss Před 5 měsíci +1

    How to make the bot automatically walk towards that item?

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci

      Hello! I created another video where I show how to automate actions based on detections, one of the actions can be clicking on the screen to walk toward a detected item, you can see that in more detail in the video: czcams.com/video/gdIVHdRbhOs/video.html

  • @bharanis4109
    @bharanis4109 Před 6 měsíci +1

    Please upload video about how to make bot in nexus war game. Bot task is gather resources automatically. Thanks in advance

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 6 měsíci

      Hi there, for tasks such as collecting resources (assuming that the sprite or the image of the resources does not change), normally using template matching with OpenCV is a good enough approach. It's also less CPU-intensive than a real-time deep learning model. You can see more in this playlist: czcams.com/video/KecMlLUuiE4/video.html

  • @cheekos9478
    @cheekos9478 Před 4 měsíci +1

    its not detecting the window that is running

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 4 měsíci

      Hi there! Can you call me on discord? my user is moises_dias, I can try to help you there

  • @kristopherleslie8343
    @kristopherleslie8343 Před 4 měsíci +2

    why not an outline trace in modern colors? boxes is an old addage.

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 3 měsíci +1

      Hi there, for my goal (detecting the center of the monsters) using bounding boxes was enough. But for more complex applications (like detecting the head of a player in the game counter strike) I believe that an outline trace would be better

    • @kristopherleslie8343
      @kristopherleslie8343 Před 3 měsíci +2

      @@moisesdepaulodias7980 makes sense buddy

    • @kristopherleslie8343
      @kristopherleslie8343 Před 3 měsíci +1

      A good reference would be the old Halo game ODDT. One of the best I’ve ever seen.

  • @Dz6k
    @Dz6k Před 5 měsíci +1

    ola moises, otimo video, ainda vou ver com mais atencao pois estou implementando reconhecimento de imagem em um script que estou criando para um game tbm, mir4, queria saber se tu sabe como enviar inputs de clicks para uma janela, to tentando e colocando tudo correto porem nao acho muita explicacao para este caso especifico. To usando win32api para se comunicar e enviar inputs com a janela

    • @Dz6k
      @Dz6k Před 5 měsíci +1

      resumindo: preciso enviar clicks de mouse em coordenadas relativa a janela alvo e que nao "prenda" meu mouse e que rode em background..... meu objetivo é conseguir isso, ate o momento sei como fazer mas nao sei como fazer dar certo kkk

    • @moisesdepaulodias7980
      @moisesdepaulodias7980  Před 5 měsíci +1

      opa, fala man, primeiramente, valeu pelo elogio!! e cara, quanto a enviar inputs a partir das detecções, fiz esse segundo vídeo, uma continuação desse primeiro, da uma olhada lá que tem o que você precisa!! czcams.com/video/gdIVHdRbhOs/video.html

    • @Dz6k
      @Dz6k Před 5 měsíci

      @@moisesdepaulodias7980 vi esse vídeo e a função que eu quero é exatamente dessa maneira porem que eu tenha o mouse "livre" para poder, além de rodar em threads, rodar em segundo plano sem comprometer o uso do mouse em demais ações, no jogo mir4 é estranho, ele recebe input de click porem não na coordenada que pedi e se o jogo não estiver focado o click fica muito superficial, só alguns botões dao realmente ativados....não sei explicar mt bem kk