2013-01-18 37 views
6

Tôi hiện đang phát triển một trang web cho khách hàng. Nó bao gồm những người dùng có thể tải lên hình ảnh được hiển thị trong một thư viện trên trang web.Cách nhận dạng nội dung người lớn theo chương trình?

Vấn đề chúng tôi gặp phải là khi người dùng tải lên hình ảnh rõ ràng cần phải được xác minh để đảm bảo an toàn cho trang web (không có hình ảnh khiêu dâm hoặc rõ ràng). Tuy nhiên, khách hàng của tôi không muốn phải chấp nhận mọi hình ảnh đang được tải lên theo cách thủ công vì điều này sẽ tốn thời gian và hình ảnh của người dùng sẽ không được trực tuyến ngay lập tức.

Tôi đang viết mã của mình bằng PHP. Nếu cần thì tôi có thể đổi sang ASP.net hoặc C#. Có cách nào để thực hiện điều này không?

+3

Bạn có yêu cầu nếu PHP có thể nhận ra khiêu dâm? - Tôi sẽ đi với ** không ** – George

+0

Không, đó không phải những gì tôi hỏi. –

Trả lời

10

Có một thư viện JavaScript có tên là nude.js vì lý do này, mặc dù tôi chưa bao giờ sử dụng nó. Here is a demo trong số đó đang được sử dụng.

Ngoài ra còn có PORNsweeper.

lựa chọn khác là "thuê ngoài" công việc vừa phải sử dụng một cái gì đó giống như Amazon Mechanical Turk, mà là một nền tảng cộng đồng đóng góp mà "cho phép các chương trình máy tính để phối hợp việc sử dụng trí thông minh của con người để thực hiện nhiệm vụ mà máy tính không thể làm ". Vì vậy, về cơ bản bạn sẽ trả một khoản tiền nhỏ cho mỗi mục kiểm duyệt và có một người thực sự thuê ngoài để kiểm duyệt nội dung cho bạn. Một giải pháp khác duy nhất tôi có thể nghĩ là làm cho người dùng điều chỉnh hình ảnh, nơi người dùng có thể gắn cờ bài đăng/hình ảnh không phù hợp để kiểm duyệt và nếu không ai muốn kiểm duyệt thủ công chúng, chúng có thể bị xóa sau một số cờ nhất định. .

Dưới đây là một vài liên kết thú vị khác về chủ đề này:

+0

Cảm ơn bạn đã trả lời tôi sẽ xem xét nude.js và PORNsweeper. Về phần sau của bình luận của bạn, tôi sẽ thực hiện một chức năng người dùng được kiểm duyệt để cho phép người dùng gắn cờ một hình ảnh mà nó cho là không phù hợp. Tuy nhiên tôi không thể chỉ sử dụng phương pháp này vì điều này sẽ cho phép hình ảnh có thể được lưu trữ bất hợp pháp trên máy chủ của tôi. –

+0

Không vấn đề gì, tôi đã cập nhật câu trả lời của tôi với một giải pháp khả thi khác cho bạn (Amazon Mechanical Turk) –

+0

Điều đó có vẻ như là một ý tưởng tốt cho tương lai nhưng hiện tại chúng tôi cần giữ chi phí ở mức tối thiểu. Một lần nữa cảm ơn cho các thông tin, bệnh thấy làm thế nào tôi nhận được trên. –

0

Có một API miễn phí mà phát hiện nội dung người lớn (khiêu dâm, ảnh khoả thân, NSFW).

https://market.mashape.com/purelabs/sensitive-image-detection

Chúng tôi đã sử dụng nó trên môi trường sản xuất của chúng tôi và tôi sẽ nói nó hoạt động khá tốt cho đến nay. Có một số phát hiện sai mặc dù, có vẻ như họ thích đánh dấu hình ảnh là không an toàn nếu họ không chắc chắn.

0

Tất cả phụ thuộc vào mức độ chính xác mà bạn đang tìm kiếm, phát hiện tông màu da đơn giản (như là nude.js) sẽ giúp bạn đạt được độ chính xác 60-80% trên một bộ mẫu hào phóng, cho bất cứ điều gì chính xác hơn, nói 90-95%, bạn sẽ cần một số hệ thống thị giác máy tính chuyên dụng với mô hình phát triển được sửa đổi theo thời gian. Cho sau này bạn có thể muốn kiểm tra http://clarifai.com hoặc https://scanii.com (mà tôi làm việc trên)

1

Nếu bạn đang tìm kiếm một giải pháp API dựa trên, bạn có thể muốn kiểm tra Sightengine.com

Đây là một giải pháp tự động để phát hiện những thứ như nội dung người lớn, bạo lực, người nổi tiếng, v.v. trong hình ảnh và video.

Dưới đây là một ví dụ trong PHP, sử dụng SDK:

<?php 
$client = new SightengineClient('YourApplicationID', 'YourAPIKey'); 

$output = $client>check('nudity')>image('https://sightengine.com/assets/img/examples/example2.jpg'); 

Kết quả sau đó sẽ trở lại với phân loại:

{ "status": "success", "request": { "id": "req_VjyxevVQYXQZ1HMbnwtn", "timestamp": 1471762434.0244, "operations": 1 }, "nudity": { "raw": 0.000757, "partial": 0.000763, "safe": 0.999243 }, "media": { "id": "med_KWmB2GQZ29N4MVpVdq5K", "uri": "https://sightengine.com/assets/img/examples/example2.jpg" } }

Có xem xét các tài liệu để biết thêm chi tiết: https://sightengine.com/docs/#nudity-detection (tuyên bố từ chối trách nhiệm: Tôi làm việc ở đó)

0

Ví dụ bên dưới không cung cấp cho bạn 100% acc urate kết quả nhưng nó sẽ giúp bạn ít nhất một chút và làm việc ra khỏi hộp.

<?php 
$url = 'http://server.com/image.png'; 
$data = json_decode(file_get_contents('http://api.rest7.com/v1/detect_nudity.php?url=' . $url)); 

if (@$data->success !== 1) 
{ 
    die('Failed'); 
} 
echo 'Contains nudity? ' . $data->nudity . '<br>'; 
echo 'Nudity percentage: ' . $data->nudity_percentage . '<br>'; 
+0

Tại sao -1? Nó hoạt động và làm những gì OP muốn. – Jack

0

Microsoft Azure có một API rất mát mẻ gọi Computer Vision, mà bạn có thể sử dụng miễn phí (hoặc thông qua giao diện người dùng hoặc theo trình tự) và có tấn tài liệu, including for PHP.

Nó có một số kết quả đáng kinh ngạc chính xác (và đôi khi hài hước).

Bên ngoài phát hiện người lớn và vật liệu "hấp dẫn", nó sẽ đọc văn bản, đoán được tuổi của bạn, xác định màu cơ bản, vv vv

Bạn có thể dùng thử tại azure.microsoft.com.

đầu ra mẫu từ một hình ảnh "hấp dẫn":

FEATURE NAME:    VALUE: 
Description     { "tags": [ "person", "man", "young", "woman", "holding", 
           "surfing", "board", "hair", "laying", "boy", "standing", 
           "water", "cutting", "white", "beach", "people", "bed" ], 
           "captions": [ { "text": "a man and a woman taking a selfie", 
           "confidence": 0.133149087 } ] } 
Tags      [ { "name": "person", "confidence": 0.9997446 }, 
           { "name": "man", "confidence": 0.9587285 }, 
           { "name": "wall", "confidence": 0.9546831 }, 
           { "name": "swimsuit", "confidence": 0.499717563 } ] 
Image format    "Jpeg" 
Image dimensions   1328 x 2000 
Clip art type    0 
Line drawing type   0 
Black and white    false 
Adult content    true 
Adult score     0.9845981 
Racy      true 
Racy score     0.964191854 
Categories     [ { "name": "people_baby", "score": 0.4921875 } ] 
Faces      [ { "age": 37, "gender": "Female", 
           "faceRectangle": { "top": 317, "left": 1554, 
                "width": 232, "height": 232 } } ] 
Dominant color background "Brown" 
Dominant color foreground "Black" 
Accent Color    #0D8CBE 
Các vấn đề liên quan