alganzory / HaramBlur

A Browser extension that enables you to navigate the web with respect for your Islamic values, protect your privacy and reduce browsing distractions by auto detecting and blurring "Haram" content.
https://haramblur.com
GNU Affero General Public License v3.0
404 stars 30 forks source link

API for inferencing #44

Closed ijnrghjkdsmigywneig203 closed 7 months ago

ijnrghjkdsmigywneig203 commented 8 months ago

Assalamu Alaykum ya akhi,

I'm wondering if it could be possible to make some sort of a self hosted webserver from which detection could be done. Some sort of API URL could be put inside the Extension with a key. I'm sure you know better.

Jazakallahu Khairan.

alganzory commented 8 months ago

Walaikum Asalam,

Thank you for the suggestion. while offloading the work to a server (self-hosted or cloud) could help save resources of the client, it would make the detection slower as the image or video frames (image 20+ per second) would have to be sent to the server and back. If you have any idea or experience on how this could be overcome please share it with me Jazak Allahu Khairan

ALWISHARIFF commented 8 months ago

Assalamu alaykum warahmatullahy wabarakatuh Server side approach is a great way to save user client resources One way to do this would be to send direct urls to the server the server would download the resource process it and serve it to the client meanwhile you may have a placeholder image this is slow. Maybe a websocket connection to connect the client to the server we get haram information plot box [x,y,xx,yy] for specific part in the haram video and we using the canvas api to draw on the images to hide the points.

alganzory commented 8 months ago

@ALWISHARIFF I still don't see how that can be as fast as 30ms (a rough estimate of how long a video frame should take to process). As for drawing over the images, what if there are 20 images on the page? 20 canvases doesn't seem like a resource-friendly approach.

ALWISHARIFF commented 7 months ago

I have a good proposal ins Allah Each video has frames in those frames it may contain haram frames we need to blur that frame or blur the haram part For this we need a cache server like redis When a user worldwide watches a video it would send the data of the video or image which frames have the haram part So when another user views the video or image that was already viewed and detected the haram parts by another user he gets the blurring data from a cache server like redis this would save time for the model to detect and perform even on light weight machines that are not efficient in ml