I have hundreds of hours invested into a project. Should I just stop and give up? Maybe a rough time line or something would be EXTREMELY appreciated, thank you. Just want to know if I should put more time into this.
No idea if they ever will enable map publishing again. I’ve told them how they can fix it: strip all external media from replays, scan internal media using an object classifier like Yolo v11, classify the objects as safe using a tensorflow model. There are public models available, but you can also train your own: there are projects that scrape NSFW data off of reddit specifically for training AI models to recognize NSFW content. You can train it on images and text. So once you have an AI model you use it to scan the objects identified by YOLO, and then unlist the map and flag it for moderator review if the AI flags anything as NSFW. It’s a piece of cake. Frankly just buy an already trained model from a company that sells ai models. You could deploy this entire service on a $200 single board computer that uses less power than a lightbulb. It would be able to keep up with the workload of scanning new SC2 maps. If anything does sneak through, rely on user reports. Verify the reports, then retrain the model with the data. You can program the system to do all this automatically–the only thing a human has to do is periodically review the user flagged content. Also, aggressively perm ban any accounts that upload nsfw content in the maps. There might be a few false positives–rely on customer support to fix those and, again, retrain the models using the new data.
↑ This guy internets
Hopefully this gets implemented
This guy googles, you mean.
And he hasn’t told blizzard anything.
Google is woefully unequipped to teach machine learning. I recommend Embedded Machine Learning for Edge Computing. Edge computing would be deploying an AI model to watch cameras on a local network but you can totally set it up to unpack mpq files and scan any images to make sure there is no NSFW content. OpenCV can run models using cpu interference on basically any platform. We’re talking a hundred lines of code to pull a replay file via GET in http, unpack it using libmpq, and run inference on any images contained inside.
One of the fun projects I worked on was to read data from a lidar sensor and to deploy a drone to shine a spotlight on anyone entering a GPS boundary without scanning their RFID card first. The drone was programmed to approach, shine the spotlight, and then place a phone call to to the head of security so they could chat with whoever had entered the restricted area. Once the drone got close enough, it used AI to estimate things like height and gait, and did facial recognition. The lidar sensor just told the drone the general location and from there it used a thermal sensor. This was a security system for a farmer who had issues with people trespassing. As soon as the light turns on, they take off running. Not a single one has stuck around for the phone call. He tells me it’s actually very useful because he will go outside at night to check on things on occasion, and the drone auto deploys and follows him around with a spotlight. He was asking me if we could filter out wildlife because the drone was going out and confront cats and deer. He actually is totally fine with the deer and quite likes seeing them on occasion so he doesn’t want to scare them away, not to mention the bogus phone calls in the middle of the night.
Anyway, no need to pay someone to look at each map that is uploaded to the arcade. Just pull the replay out with curl, unpack it with libmpq, use std::filesystem to generate a list of images. For each image, load it in opencv. Resize it to match the inputs for whatever model you are using. Run inference using the DNN module in opencv. From there you have to process the outputs. Usually the outputs are logits, which means you have to rescale them with an algorithm like softmax. Once you have scores, you just pick some thresholds and run them on battery of tests and see how reliable they are. Rely on user reports to catch the ones that slip through.
One way you can pick the threshold is to find whatever threshold correctly detects 100% of all NSFW maps that have been submitted in the past, then lower it another 5-10%. This will produce false positives, but you rely on complaints to customer service to fix those, and then update the model to better train it on the false positives.
A fun thing about opencv is that you can pass it http urls instead of filesystem paths, so if you want to enable external media you can still scan it. I recommend against this because of the bait and switch tactic. They could upload a different image to the url after passing the AI scan check. It’s best to simply disable external media.
Piss off with AI. Fix the root issue, being able to inject dependencies, and we’re good to go.
Technically the injection is a bug in the filesystem which allows path over-rides. Maps are added to the global filesystem, with other system-critical files, instead of being kept contained in a separate system. Fixing the injection issue fixes the ability to override the main menu, but doesn’t prevent them from adding malicious junk to their own map–for that, you must use AI screening as it is literally the only viable solution. This is a free service, meaning blizzard probably won’t want to pay people to manually validate all the maps. AI can run for practically free, and it can actually do a better job than a human would. They either have to disable the ability to upload new media, or use AI to validate it.
Edge deployed AIs already run your entire life, bucko. When you take a photo of a receipt on your phone, what recognizes it’s text and converts it to a pdf for you? AI does. How does it know how to focus the camera on someone’s face and not something else in the scene? Facial recognition.
I got a friend of mine a watch for his birthday. It does translation locally on his wrist. Someone will speak spanish to the watch and then the watch will speak it again in English. So we’re on a mountain trail just above a lake, having gone jeeping for the day, and we’re headed back out of the canyon. There is a guy and his family hiking upwards on this dirt trail about 2 miles from parking lot. He has 3 small kids. Huh, that’s weird. Pull over to see what’s up and he doesn’t speak a lick of english. No worries, smartwatch to the rescue. He wants to know how much further to the upper lake. We tell him it’s another 5 miles. He looks very disappointed and his wife looks angry (lmao). He tells us thanks and we part ways. We didn’t have room for them. Thankfully the walk is much easier downhill. You just know the father dragged the mother & kids along on an adventure and that he kept telling them “we’re almost there.” It reminds me of many times getting lost in the rocky mountains and running out of water with my own Father, but that’s a story for another day.
AI is here to stay and you either accept it or you go live in a hole in the middle of nowhere. That’s what the unibmber’s brother did, by the way. He lived in a hole in the ground, which he found peaceful and spiritual. He’d exchange letters with his brother, debating philosophy and such, until his brother did the things that made both of them famous. He eventually married and became a social worker and moved back to New York.
So anyway, unless you are like the unibmber’s brother and go live in a hole in the ground, it’s probably best to just accept the reality that AI is here to stay. Mankind will merge with it and something new will evolve out of it. My guess is that we solve the fusion problem in the next 10 years and the energy crisis will be solved. My eyes are on various AI startups that are trying to use AI to simplify quantum equations, which they will use to predict material properties. Why? Because there are trillions of different materials and we need a room temperature super conductor. Which one of these companies do you throw money at? That’s a tough question to answer. On one hand, they want to draw in investors who will only invest if they know you are on the right track. On the other hand, you don’t want to reveal trade secrets. That’s the tricky nature of startups that specialize in research. The payoff, however, will be worth trillions of dollars. Room temp super conductors would make Mars colonization completely viable, and they’d open up an entirely new rocket technology (fusion heated propulsion). Right now you need jet fuel to heat the air in a turbine, but what if you replace that with high temperature fusion? Well now we can lift entire platforms into space ez pz. Are you ready to see freight ships fly? AI will make all this possible.
Spock voice:
Fascinating.