
人工智能(AI) VS 商業智能(BI) 區別與聯系是什么?
辨別一張圖片是否是黃圖,從機器學習的角度看,本質上是一個對圖片分類問題:給定一張圖片,讓機器判斷是否是“黃圖”。我們要做的就是研發一個“分類器”,它能根據輸入的圖片計算出該圖片屬于“黃圖”類別的概率,然后再根據這個概率值輸出一個“是”或“否”的結果。計算機擅長的是數學運算,所以我們要把這個“分類器”先抽象成某種數學模型,這樣才有可能用計算機來運算。
為了更加方便理解,我們把數學模型定義為:y=f(x)。即給定圖片x,我們要找到一個函數f,通過計算f(x)可以得到這個圖片的黃圖概率y。很簡單吧!理論上這個數學模型可以解決所有的分類問題。具體的實現分為以下幾步:給出定義、收集樣本、訓練模型、驗證。
具體理論細節,請參考相關資料,此處不再詳述。
筆者開發者博客平臺采用后置審核的業務模式,因此API接口設計如下:
GET
方法。返回參數案例:
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "FAL00033",
"message": "圖片存在風險"
"data": {
"is_explicit": true,
"confidence": 0.92,
"adult_scores": {
"sexy": 0.85,
"violence": 0.07
},
"imgUrl": "https://cdn.explinks.com/contents/upload/img/****"
},
}
鑒于筆者喜歡站在巨人肩膀上的性格,在Github上找到了一個半成品,NudeNet。
由印度開發者Praneeth Bedapudi提供的開源項目,包含用于圖像分類和目標檢測的兩個預訓練模型。圖像分類模型可以區分“nude”和“safe”兩類圖片,而目標檢測模型能夠識別圖片中的關鍵部位。
from nudenet import NudeClassifier, NudeDetector
from nudenet.data import load_dataset
from nudenet.train import train_classifier, train_detector
from nudenet.utils import configure_paths
# 配置數據集路徑
configure_paths({
'base': '/home/mt_dev/imgs/base/', # 數據集基礎路徑
'train': '/home/mt_dev/imgst/train/', # 訓練數據集路徑
'validation': '/home/mt_dev/imgs/validation/' # 驗證數據集路徑
})
# 加載數據集
train_dataset, validation_dataset = load_dataset()
# 訓練圖像分類模型
classifier_model = NudeClassifier()
train_classifier(classifier_model, train_dataset, validation_dataset)
# 訓練目標檢測模型
detector_model = NudeDetector()
train_detector(detector_model, train_dataset, validation_dataset)
# 保存訓練好的模型
classifier_model.save('path/to/save/classifier/checkpoint')
detector_model.save('path/to/save/detector/checkpoint')
print("訓練完成,模型已保存。")
如何找到訓練圖片鑒黃模型的數據集?Github!
圖片鑒黃API接口不僅能夠幫助我們有效管理在線內容,還能確保遵守當地法律法規,維護良好的品牌形象。如何找到這些接口?百度等搜索引擎很難達到目標,在API市場搜索會更快一些。
例如,冪簡集成打造了一款覆蓋國內外API的API市場,冪簡API平臺提供了多種維度發現API的功能:通過關鍵詞搜索API、從API Hub分類瀏覽API、從開放平臺分類瀏覽企業間接尋找API等。