PPCensor: Architecture for Real-time Pornography Detection in Video Streaming
Authors: Jackson Mallmann, Altair Olivo Santin, Eduardo Kugler Viegas, Roger Robson dos Santos, Jhonatan Geremias.
Overview: Convolutional neural network (CNN) models are typically made of several gigabytes of data, requiring dedicated hardware and significant processing capabilities for their proper handling. In addition, video detection tasks are usually performed offline, because the video frames are classified individually, and their categorization (class assignment) as normal or not is only achieved after the complete evaluation of all video frames. This paper proposes the Private Parts Censor (PPCensor), an CNN-based architecture for transparent and near real-time detection and obfuscation of pornographic video frame regions. Our contribution is two-fold. First, our proposal is the first approach that addresses the detection of pornographic content as an object detection. The objective is to apply content filtering in a user-friendly manner, considering that an eventual false-positive will obfuscate only regions (objects) within the video frame instead of blocking access to the whole video content. Second, the PPCensor architecture is deployed on dedicated hardware and real-time detection is deployed using a video-oriented streaming proxy. If a pornographic video frame is identified in the video URLs, the system can hide pornographic content (private parts) in real-time, without user interaction or require processing on the user's device. The evaluation results, obtained based on more than 50 thousand objects labeled manually, show that the PPCensor is capable of detecting private parts in near real time for video streaming. Compared to cutting edge CNN architectures for image classification, PPCensor achieved similar results, but operating in real-time. In addition, when deployed on a desktop computer, PPCensor can handle up to 35 simultaneous connections in real-time, without the need for additional processing.
Version 1.0
Requiriments:
Ubuntu 16, TensorFlow == 1.14.0, TensorFlow Object Detection (https://github.com/tensorflow/models/tree/master/research/object_detection), Squid version 4.5, API Pafy version 0.5.1.
After installing TensorFlow Object Detection, download and extract the Object Detection code in the Code section, and:
To run the Object Detection, use:
cd /home/ubuntu/tensorflow1/models/research/object_detection/
python Object_detection_ImagensTeste.py
To run the squid proxy:
/usr/local/squid/sbin/squid -d 10
sh /usr/local/squid/etc/exec.sh
Dataset:
1 - Request the Pornography-2k dataset (contact Prof. Anderson Rocha - http://www.ic.unicamp.br/~rocha/);
2 - Extract the videos according to the article;
3 - Extract the file and add it to the frames.
© 2019 SecPLab Team.