File size: 878 Bytes
07685f0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import cv2
import pytesseract
from transformers import pipeline
class AIPipeline:
def __init__(self):
self.nlp = pipeline("text-classification", model="roberta-base")
self.detector = cv2.dnn.readNet("yolov4.weights", "yolov4.cfg")
def process_ad(self, ad):
results = {
"sentiment": self.nlp(ad.content),
"ocr": self._extract_ocr(ad.media),
"objects": self._detect_objects(ad.media)
}
return results
def _extract_ocr(self, media):
if media and media.type == "image":
return pytesseract.image_to_string(media.path)
return None
def _detect_objects(self, media):
if media and media.type == "image":
img = cv2.imread(media.path)
self.detector.setInput(img)
return self.detector.forward()
return None |