nsfwjs鑑黃識別最小化案例

 

3個月前,也就是2月份左右吧,Github上出現一個開源項目:

Infinite Red, Inc.工做室宣佈開源旗下基於tensorflow的tfjs的鑑黃小工具

聽說是從15000張圖片中 進行機器學習而來的比較聰明的工具,值得一用
NSFW JS 全稱爲:NotSafe/SuitableForWork

給 NSFW JS 一張圖片元素或畫布,而後簡單地調用 classify,可能會獲得以下 5 個分類結果。

繪畫(Drawing)——無害的藝術,或藝術繪畫;

變態(Hentai)——色情藝術,不適合大多數工做環境;

中立(Neutral)——通常,無害的內容;

色情(Porn)——不雅的內容和行爲,一般涉及生殖器;

性感(Sexy)——不合時宜的挑釁內容。

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- Load TensorFlow.js. This is required -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.4"></script>

    <!-- Load the NSFWJS library from AWS -->
    <script src="https://s3.amazonaws.com/ir_public/nsfwjscdn/bundle.js"></script>

    <!-- For testing: Load from local bundle `yarn scriptbundle` -->
    <!-- <script src="../../dist/bundle.js"></script> -->



</head>

<body>
    <input type="file" onchange="showImg()" accept="image/*"><br><br>
    <img id="myImg" src="" width="150" alt="Thumb preview...">
    <button onclick="judge()">鑑別</button>
    <script>
        function judge() {
            const nsfwjs = require('nsfwjs')
            const img = document.getElementById('myImg')
            // Load the model.
            nsfwjs.load().then(model => {
                // Classify the image.
                model.classify(img).then(predictions => {
                    console.log('Predictions', predictions)
                })
            })
        }

        function showImg() {

            var demoImage = document.querySelector('img');
            var file = document.querySelector('input[type=file]').files[0];
            var reader = new FileReader();
            reader.onload = function (event) {
                demoImage.src = reader.result;
            }
            reader.readAsDataURL(file);
            console.log(file)


        }

</script>

</body>

</html>
 
相關文章
相關標籤/搜索