Saltar para o conteúdo

Desfocagem de objectos utilizando Ultralytics YOLO11 🚀

O que é a desfocagem de objectos?

A desfocagem de objectos com Ultralytics YOLO11 envolve a aplicação de um efeito de desfocagem a objectos específicos detectados numa imagem ou vídeo. Isto pode ser conseguido utilizando as capacidades do modelo YOLO11 para identificar e manipular objectos numa determinada cena.



Ver: Desfocagem de objectos utilizando Ultralytics YOLO11

Vantagens da desfocagem de objectos

  • Proteção da privacidade: A desfocagem de objectos é uma ferramenta eficaz para salvaguardar a privacidade, ocultando informações sensíveis ou pessoalmente identificáveis em imagens ou vídeos.
  • Focagem selectiva: YOLO11 permite uma desfocagem selectiva, permitindo aos utilizadores visar objectos específicos, assegurando um equilíbrio entre a privacidade e a retenção de informações visuais relevantes.
  • Processamento em tempo real: YOLO11 A eficiência do software permite a desfocagem de objectos em tempo real, tornando-o adequado para aplicações que requerem melhorias de privacidade em tempo real em ambientes dinâmicos.
  • Conformidade regulamentar: Ajuda as organizações a cumprir os regulamentos de proteção de dados, como o RGPD, tornando anónimas as informações identificáveis no conteúdo visual.
  • Moderação de conteúdos: Útil para desfocar conteúdos inadequados ou sensíveis em plataformas multimédia, preservando o contexto geral.

Desfocagem de objectos utilizando Ultralytics YOLO

# Blur the objects
yolo solutions blur show=True

# Pass a source video
yolo solutions blur source="path/to/video.mp4"

# Blur the specific classes
yolo solutions blur classes="[0, 5]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize object blurrer object
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo11n.pt",  # model for object blurring i.e. yolo11m.pt
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # count specific classes i.e, person and car with COCO pretrained model.
    # blur_ratio=0.5,  # adjust percentage of blur intensity, the value in range 0.1 - 1.0
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = blurrer(im0)

    # print(results")  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

ObjectBlurrer Argumentos

Aqui está uma tabela com os ObjectBlurrer argumentos:

Argumento Tipo Predefinição Descrição
model str None Caminho para o ficheiro do modelo Ultralytics YOLO .
blur_ratio float 0.5 Ajusta a percentagem da intensidade da desfocagem, com valores no intervalo 0.1 - 1.0.

O ObjectBlurrer A solução também suporta uma gama de track argumentos:

Argumento Tipo Predefinição Descrição
tracker str 'botsort.yaml' Especifica o algoritmo de seguimento a utilizar, por exemplo, bytetrack.yaml ou botsort.yaml.
conf float 0.3 Define o limiar de confiança para as detecções; valores mais baixos permitem o seguimento de mais objectos, mas podem incluir falsos positivos.
iou float 0.5 Define o limiar de Intersecção sobre União (IoU) para filtrar detecções sobrepostas.
classes list None Filtra os resultados por índice de classe. Por exemplo, classes=[0, 2, 3] só rastreia as classes especificadas.
verbose bool True Controla a apresentação dos resultados do seguimento, fornecendo uma saída visual dos objectos seguidos.
device str None Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar entre CPU, um GPU específico, ou outros dispositivos de computação para a execução do modelo.

Além disso, podem ser utilizados os seguintes argumentos de visualização:

Argumento Tipo Predefinição Descrição
show bool False Se Trueapresenta as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_width None or int None Especifica a largura da linha das caixas delimitadoras. Se NoneA largura da linha é ajustada automaticamente com base no tamanho da imagem. Proporciona uma personalização visual para maior clareza.
show_conf bool True Apresenta a pontuação de confiança para cada deteção ao lado da etiqueta. Dá uma ideia do grau de certeza do modelo para cada deteção.
show_labels bool True Apresenta etiquetas para cada deteção na saída visual. Proporciona uma compreensão imediata dos objectos detectados.

Aplicações no mundo real

Proteção da privacidade na vigilância

As câmaras de segurança e os sistemas de vigilância podem utilizar YOLO11 para desfocar automaticamente rostos, matrículas de automóveis ou outras informações de identificação, sem deixar de captar actividades importantes. Isto ajuda a manter a segurança, respeitando os direitos de privacidade em espaços públicos.

Anonimização de dados de cuidados de saúde

Na imagiologia médica, a informação do doente aparece frequentemente em exames ou fotografias. YOLO11 pode detetar e esbater estas informações para cumprir regulamentos como a HIPAA ao partilhar dados médicos para fins de investigação ou educação.

Redação de documentos

Ao partilhar documentos que contêm informações confidenciais, YOLO11 pode detetar e desfocar automaticamente elementos específicos como assinaturas, números de conta ou detalhes pessoais, simplificando o processo de redação e mantendo a integridade do documento.

Criação de meios de comunicação e conteúdos

Os criadores de conteúdos podem utilizar YOLO11 para desfocar logótipos de marcas, material protegido por direitos de autor ou conteúdos inadequados em vídeos e imagens, ajudando a evitar problemas legais e preservando a qualidade geral dos conteúdos.

FAQ

O que é a desfocagem de objectos com Ultralytics YOLO11 ?

A desfocagem de objectos com Ultralytics YOLO11 envolve a deteção automática e a aplicação de um efeito de desfocagem a objectos específicos em imagens ou vídeos. Esta técnica aumenta a privacidade, ocultando informações sensíveis e mantendo os dados visuais relevantes. YOLO11 As capacidades de processamento em tempo real da tecnologia de desfocagem de objectos da Microsoft tornam-na adequada para aplicações que requerem proteção imediata da privacidade e ajustes selectivos da focagem.

Como posso implementar a desfocagem de objectos em tempo real utilizando YOLO11?

Para implementar a desfocagem de objectos em tempo real com YOLO11, siga o exemplo fornecido em Python . Isto implica a utilização do YOLO11 para a deteção de objectos e do OpenCV para aplicar o efeito de desfocagem. Aqui está uma versão simplificada:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init ObjectBlurrer
blurrer = solutions.ObjectBlurrer(
    show=True,  # display the output
    model="yolo11n.pt",  # model="yolo11n-obb.pt" for object blurring using YOLO11 OBB model.
    blur_ratio=0.5,  # set blur percentage i.e 0.7 for 70% blurred detected objects
    # line_width=2,  # width of bounding box.
    # classes=[0, 2],  # count specific classes i.e, person and car with COCO pretrained model.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = blurrer(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Quais são as vantagens de utilizar Ultralytics YOLO11 para a desfocagem de objectos?

Ultralytics YOLO11 oferece várias vantagens para a desfocagem de objectos:

  • Proteção da privacidade: Ocultar eficazmente informações sensíveis ou identificáveis.
  • Foco seletivo: Selecione objectos específicos para desfocagem, mantendo o conteúdo visual essencial.
  • Processamento em tempo real: Executa a desfocagem de objectos de forma eficiente em ambientes dinâmicos, adequada para melhorias instantâneas da privacidade.
  • Intensidade personalizável: Ajuste o rácio de desfocagem para equilibrar as necessidades de privacidade com o contexto visual.
  • Desfocagem específica de classe: Desfocar seletivamente apenas determinados tipos de objectos, deixando outros visíveis.

Para aplicações mais detalhadas, consulte a secção vantagens da desfocagem de objectos.

Posso utilizar Ultralytics YOLO11 para desfocar rostos num vídeo por motivos de privacidade?

Sim, o Ultralytics YOLO11 pode ser configurado para detetar e desfocar rostos em vídeos para proteger a privacidade. Ao treinar ou usar um modelo pré-treinado para reconhecer especificamente rostos, os resultados da deteção podem ser processados com o OpenCV para aplicar um efeito de desfoque. Consulte o nosso guia sobre a deteção de objectos com YOLO11 e modifique o código para se dirigir à deteção de rostos.

Como é que o YOLO11 se compara a outros modelos de deteção de objectos, como o Faster R-CNN, para a desfocagem de objectos?

Ultralytics YOLO11 O supera normalmente os modelos como o Faster R-CNN em termos de velocidade, tornando-o mais adequado para aplicações em tempo real. Embora ambos os modelos ofereçam uma deteção precisa, a arquitetura do YOLO11 está optimizada para uma inferência rápida, o que é essencial para tarefas como a desfocagem de objectos em tempo real. Saiba mais sobre as diferenças técnicas e as métricas de desempenho na nossa documentaçãoYOLO11 .



📅C riado há 1 ano ✏️ Atualizado há 26 dias

Comentários