python卷积神经网络人体图像识别
??二十多年來,自動發現裸體圖片一直是計算機視覺中的中心問題,并且由于其悠久的歷史和直接的目標,它成為該領域如何發展的一個很好的例子。在這篇博文中,我將使用裸露檢測問題來說明現代卷積神經網絡(convnets)的訓練與過去的研究有何不同。
(警告和免責聲明:這篇文章包含了裸露的可視化效果,以用于科學目的。如果您未滿18歲,或者被裸露冒犯,請勿繼續閱讀。)
1996年
該領域的開創性著作是Fleck等人的恰當命名為“ Finding Naked People”。它于90年代中期出版,為計算機視覺研究人員在卷積網絡接管之前進行的這類工作提供了一個很好的例子。??
2014年
深度學習研究人員沒有設計正式的規則來描述輸入數據應如何表示,而是設計了網絡體系結構和數據集,使AI系統可以直接從數據中學習表示形式。但是,由于深度學習研究人員沒有確切指定網絡在給定輸入下的行為,因此出現了一個新問題:如何理解卷積網絡在激活什么?
了解卷積網絡的操作需要在各個層次上解釋要素活動。在本文的其余部分中,我們將通過將活動從頂層向下映射到輸入像素空間來檢查NSFW模型的早期版本。這將使我們能夠看到是什么輸入模式最初在功能圖中導致了給定的激活(即,為什么將圖像標記為“ NSFW”)。
觸覺敏感度
?為了在左側建立熱圖,我們將每個窗口發送到convnet并平均每個像素的“ NSFW”得分。當卷積網看到作物充滿了皮膚時,往往會預測為“ NSFW”,這會導致莉娜身體上的大紅色區域。為了在右側創建熱圖,我們系統地遮住了原始圖像的一部分,并報告1減去平均“ NSFW”得分(即“ SFW”得分)。當大多數NSFW區域被遮擋時,“ SFW”得分會增加,并且我們會在熱圖中看到更高的值。為了清楚起見,下圖舉例說明了上述兩個實驗分別將哪種圖像饋入卷積網絡:
這些遮擋實驗的優點之一是,當分類器是一個完整的黑匣子時,可以執行它們。這是一個通過我們的API再現這些結果的代碼片段:
# NSFW occulsion experimentfrom StringIO import StringIOimport matplotlib.pyplot as plt import numpy as np from PIL import Image, ImageDraw import requests import scipy.sparse as spfrom clarifai.client import ClarifaiApiCLARIFAI_APP_ID = '...' CLARIFAI_APP_SECRET = '...' clarifai = ClarifaiApi(app_id=CLARIFAI_APP_ID,app_secret=CLARIFAI_APP_SECRET,base_url='https://api.clarifai.com')def batch_request(imgs, bboxes):"""use the API to tag a batch of occulded images"""assert len(bboxes) < 128#convert to image bytesstringios = []for img in imgs:stringio = StringIO()img.save(stringio, format='JPEG')stringios.append(stringio)#call api and parse responseoutput = []response = clarifai.tag_images(stringios, model='nsfw-v1.0')for result,bbox in zip(response['results'], bboxes):nsfw_idx = result['result']['tag']['classes'].index("sfw")nsfw_score = result['result']['tag']['probs'][nsfw_idx]output.append((nsfw_score, bbox))return output盡管這些類型的實驗提供了一種顯示分類器輸出的簡單方法,但它們的一個缺點是生成的可視化效果通常很模糊。這使我們無法獲得對網絡實際運行情況的有意義的洞察力 。
反卷積網絡
在給定的數據集上訓練了網絡之后,我們希望能夠拍攝圖像和課程,并向卷積網絡提出類似的要求 :
這是當我們使用deconvnet可視化如何修改Lena的照片 (注意:此處使用的deconvnet需要一個正方形圖像才能正常運行-我們填充了完整的Lena圖像以獲得正確的外觀比):
?根據我們的deconvnet,我們可以通過增加紅色來修飾芭芭拉,使其看起來更像PG:
這張詹姆斯·邦德電影《無博士》中烏斯拉·安德列斯(Hors Rider)飾演的《蜜月騎士》(Honey Rider)在2003年的一項英國調查中被評選為“屏幕歷史上最偉大的100個性感時刻”的第一名:
上述實驗的一個顯著特征是,卷積神經網絡學習了紅唇和肚臍,表示“ NSFW”。這可能意味著我們在“ SFW”訓練數據中沒有包含足夠的紅唇和肚臍圖像。如果我們僅通過檢查精度/召回率和ROC曲線(如下所示-測試集大小:428,271)來評估模型,我們將永遠不會發現此問題,因為我們的測試數據也存在相同的缺點。這凸顯了基于訓練規則的分類器與現代AI研究之間的根本區別。與其手動設計功能,不如重新設計訓練數據,直到發現的功能得到改善為止。
總結
以上是生活随笔為你收集整理的python卷积神经网络人体图像识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟双色球彩彩票开奖和购买兑换。红色[1
- 下一篇: 论文写作-标点符号