我有一个Rails 5应用程序,允许用户使用新的ActiveStorage和AWS S3存储过程将图像上传到他们的配置文件。
我一直在寻找一种方法来检测上传中不适当的内容/显式图像,这样我就可以阻止用户在他们的帐户上显示这些内容,但我不确定如何实现这一点。
我不想要压缩内容上传。我知道有办法让用户“标记为不合适”。我宁愿不允许上传明确的内容。
我认为最好的解决方案是让Rails应用程序检测显式内容并放入占位符图像而不是用户的不适当图像。
一个想法是AWS Rekognition。有没有人成功实现了这个问题的解决方案?
为什么它必须如此复杂?大多数网站只允许您将用户内容标记为错误,然后管理员可以查看要删除的内容。这将花费很少的时间来实现,如果你在实现它之后发现这是不充分的,你可以尝试别的但我不会直接找到问题的最复杂和最昂贵的答案。
您可以在Ruby中实现AWS Lambda函数,每次将图像上传到S3时都会触发该函数。然后,此Lambda函数可以调用AWS Rekognition。您可以在此处找到有关如何使用AWS Rekognition检测不安全图像的信息:https://docs.aws.amazon.com/rekognition/latest/dg/procedure-moderate-images.html。
我之前使用过Rekognition,但是用于不同的用例。你可以在这里找到更多信息:https://github.com/johannesridho/aident