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