Felguk commited on
Commit
51292dd
·
verified ·
1 Parent(s): 4e087f2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -1
app.py CHANGED
@@ -7,11 +7,18 @@ import numpy as np
7
  from pydub import AudioSegment
8
  from langdetect import detect
9
  from rembg import remove
10
- import io
 
 
 
11
 
12
  # Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
13
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
14
 
 
 
 
 
15
  # Функция для обработки PDF
16
  def process_pdf(file):
17
  pdf_reader = PyPDF2.PdfReader(file)
@@ -51,6 +58,23 @@ def remove_background(image):
51
  output = remove(image)
52
  return output
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  # Функция для определения языка текста
55
  def detect_language(text):
56
  try:
@@ -158,6 +182,14 @@ with gr.Blocks() as demo:
158
  remove_bg_button = gr.Button("Удалить фон")
159
  remove_bg_button.click(fn=remove_background, inputs=image_input, outputs=image_output)
160
 
 
 
 
 
 
 
 
 
161
  # Интерфейс чата
162
  chat_interface = gr.ChatInterface(
163
  respond,
 
7
  from pydub import AudioSegment
8
  from langdetect import detect
9
  from rembg import remove
10
+ import torch
11
+ import torchvision
12
+ from torchvision.models.detection import fasterrcnn_resnet50_fpn
13
+ from torchvision.transforms import functional as F
14
 
15
  # Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
16
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
17
 
18
+ # Загрузка предобученной модели для обнаружения объектов
19
+ model = fasterrcnn_resnet50_fpn(pretrained=True)
20
+ model.eval()
21
+
22
  # Функция для обработки PDF
23
  def process_pdf(file):
24
  pdf_reader = PyPDF2.PdfReader(file)
 
58
  output = remove(image)
59
  return output
60
 
61
+ # Функция для определения количества объектов на изображении
62
+ def count_objects(image):
63
+ if image is None:
64
+ return "Изображение не загружено."
65
+
66
+ # Преобразование изображения в формат, подходящий для модели
67
+ img = Image.open(image.name).convert("RGB")
68
+ img_tensor = F.to_tensor(img).unsqueeze(0)
69
+
70
+ # Обнаружение объектов
71
+ with torch.no_grad():
72
+ predictions = model(img_tensor)
73
+
74
+ # Подсчет количества объектов
75
+ num_objects = len(predictions[0]['labels'])
76
+ return f"Количество объектов на изображении: {num_objects}"
77
+
78
  # Функция для определения языка текста
79
  def detect_language(text):
80
  try:
 
182
  remove_bg_button = gr.Button("Удалить фон")
183
  remove_bg_button.click(fn=remove_background, inputs=image_input, outputs=image_output)
184
 
185
+ # Вкладка Numage
186
+ with gr.Tab("Numage"):
187
+ gr.Markdown("## Numage: Подсчет объектов на изображении")
188
+ numage_input = gr.File(label="Загрузите изображение", file_types=["image"])
189
+ numage_output = gr.Textbox(label="Результат", interactive=False)
190
+ numage_button = gr.Button("Определить количество объектов")
191
+ numage_button.click(fn=count_objects, inputs=numage_input, outputs=numage_output)
192
+
193
  # Интерфейс чата
194
  chat_interface = gr.ChatInterface(
195
  respond,