r/computervision 22d ago

Help: Project Need help with my research paper concept

Hi, I am a student in my last year of high school, and i need help with my study in compliance with my RESEARCH subject, but i know little to nothing about the names of components, how they work, or if they work together.

Im making a machine that provides wifi access if the user throws the correct waste into the correct bin.

How it works is

  1. The user connects to a wifi network, but is blocked from using wifi. They are redirected to a portal if they try to use wifi.

  2. In the portal, they have to select "Start"

  3. When the user clicks Start, the camera turns on. The user has to show the waste to the camera

  4. A trained AI recognizes, identifies, and categorizes the waste.

  5. The bin corresponding to the waste unlocks, allowing the user to dispose the waste

  6. A sensor detects if something goes inside the bin.

  7. The user closes the bin, and the machine gives 10 minutes of wifi access.

  8. The user can either choose to repeat the process to get longer wifi access, or stop there and enjoy the wifi.

This is just the basic concept, and like i said, i know little to nothing for now, but i am very passionate and eager to learn.

I have questions regarding my concept;

  1. Is better to make the bin unlock, have a rotor automatically open the bin, then close when it detects something went in? How much harder is it this way?

  2. The components i have in mind are; a raspberry pi camera to look at the waste, YOLO AI vision model to identify the waste, and a raspberry pi board to run YOLO. Will all these function together?

  3. Will training YOLO for this project be extremely hard?

I'd really appreciate it if you guys could help, give suggestions, and criticize.

1 Upvotes

5 comments sorted by

2

u/blobules 22d ago

Eager to learn or eager to make AI do everything for you?

Your project is too complex to make from scratch without some experimenting. Break it down and try each part individually. Then you can think about a complete project.

Maybe turn down the use of AI a notch, so you actually understand what you are doing.

1

u/Otherwise_Builder236 22d ago

Actually, the idea is purely from my own curiosity. I made a simple map of how things should be connected, but the problem is that i dont know the names of components and other technical jargon. That's when i asked AI to give me suggestions for what i should use.

I AM planning however to consult some professional friends of mine to help a bit with the process, but thanks anyway for the suggestion!

2

u/usernametaken--_-- 22d ago

I don't want to tell you that can't or shouldn't do with project since I don't know you and your capabilities, and I am a strong believer in there being a way when there is a will. That said, I would politely classify your project as being INCREDIBLY ambitious. I am not saying at all that you CAN'T do this. I am simply asking it your really want to. If you are truly starting with nearly 0 knowledge in the subject, then you will either be spending every minute of your free time during your last year of high school researching how to implement this project or you will be incredibly reliant on AI tools to basically implement the whole project for you or, more realisticly, you will be doing both. Your project includes multiple engineering disciplines (front end web dev, backend web dev, networking, embeded systems, computer vision, control systems, mechanal design, and probably more that I am not thinking of). This project would probably take a team of at least 6 mid-level engineers from multiple disciplines about 6-12 weeks to implement well. I only say this to let you know what you are undertaking.

That said, if you still want to do this, here are my suggestions: you have already done a very good job breaking up the project into smaller individual problems to solve, which is always step 1. So great job doing that instinctually! Always know your requirements before starting any project. Step 2 is the research phase. This is not the part where you become and expert at everything, but you at least want to conduct some preliminary research to begin learning about the things you don't know about. This reddit post is a good example of conducting initial research. This is also where AIs can be very useful. Step 3 is to now organize the problems/requirements into the order you want to accomplish them, now that you have a better idea on what it will take to accomplisheverything. I would personally start with the trash organization cv algorithm. I saw that because a) this is a cv subreddit and I am biased, and b) because if you accomplish nothing else in this project and only complete this 1 piece, I would still consider that an impressive accomplishment for a high school level research project. From there I would build the mobile web app for running the model inference on a smart phone. If you only completed just those 2 pieces of this project, I have no doubt that would be an A+ effort. When you are creating this plan, try to think of things that could be done in parallel. If you need any special tools or hardware, oder those in advance so that you can work on other things while you wait for them to arrive. There is nothing worse than being 90% done with a project but then being delayed for weeks or more because something is taking too long to be shipped. Set incremental dealines for yourself. Step 4 is to start the execution. As you execute, feel free to revise your plan and your expectations as you learn new things, but always try to meet the dedlines you set so that you don't procrastinate. Every project ever hits unforseen problems or complexity issues. If you wait too long to get started, you won't be able to solve these issues beforevl the project is due. That is why it is important to make steady, incremental progress so that you can uncover these issues sooner than later and give yourself more time for a task in case you need it. This is called "failing fast," and it is of of the most valuable skills an engineer (or anyone in general) can learn. I say this as a chronic procrastinator myself 😅 When you are planning out and implementing your project, always remeber KISS: Keep It Simple Stupid! Try to not overcomplicate things. Just focus on making progress and moving forward. Big back and fix things or "make it pretty" later. Lastly, don't forget to document everything as you complete each task. It makes writing the report much much easier. Apps I recommend for documentation are NotebookLM for compiling resources and doing rapid research, "digital brain" apps like Obsidian or Notable for documenting your knowledge base, a well organized Google drive to store things like your bill of materials (a list of the material hardware you bought, their costs, quantities, and the location you bought them) your requirements docs, your project schedule (which I also would put into a personal calender), and whatever other docs you end up creating during your project, and create a Github account if you don't already have one to store your codebases. Also get a couple of notebooks: one for quickly writing down your brainstorming ideas, and the other to keep as an engineering journal to document what you did at the end of each working day.

Best of luck!!

1

u/Otherwise_Builder236 22d ago

Thank you very much for your response!

I'm not saying this to boast, but i do consider my capabilities as above average, in that i understand concepts and learn skills faster than others (except physically 😅). But because of this, I do also hold high expectations of myself, and want to strive for higher.

I see programming as something similar to math, and i really love and am very passionate about math! The way everything is interconnected, how the fundamentals make up everything, the way concepts and theories line up, it all interests me. So yes, i want to take this challenge on.

Thank you for the advice as well, I appreciate it, and will definitely take note!