探討圖庫(kù)行業(yè)AI圖片評(píng)分系統(tǒng)的構(gòu)建和應(yīng)用
為了提升圖庫(kù)公司審核圖片投稿的效率,我們或許可以搭建AI圖片評(píng)分系統(tǒng),來(lái)幫助提升審核效率。那么,圖庫(kù)行業(yè)的AI圖片評(píng)分系統(tǒng)應(yīng)該怎么搭建?本文梳理了基本思路與流程,一起來(lái)看一下,或許會(huì)對(duì)你有所啟發(fā)。
一、需求背景
圖庫(kù)行業(yè),基本業(yè)務(wù)流是投稿——審核——入庫(kù)——上線銷售,對(duì)于國(guó)內(nèi)幾大頭部圖庫(kù)公司,除代理版權(quán)圖片之外,均有自己的供稿人社區(qū)。例如:
- 視覺(jué)中國(guó)(代理Getty Images):500px(攝影師社區(qū))、愛(ài)視覺(jué)(插畫師社區(qū))
- 圖蟲(chóng)創(chuàng)意(代理Adobe Stock):圖蟲(chóng)(攝影師社區(qū))
- 千圖網(wǎng):千圖網(wǎng)(圖片、插畫、設(shè)計(jì)模板供稿)
- 站酷海洛(代理Shutter Stock):站酷海洛(圖片、插畫供稿)
對(duì)于有自己社區(qū)、供稿途徑的公司來(lái)說(shuō),審核的效率是在審核、入庫(kù)環(huán)節(jié)的痛點(diǎn)。出于降本增效的目的,審核人員一定是有限的,不可能無(wú)止境的增加。而人工審核的效率,是相對(duì)固定的。隨著社區(qū)/供稿途徑的發(fā)展,投稿量、每日待審圖片勢(shì)必會(huì)持續(xù)增加。如果審核時(shí)間長(zhǎng),會(huì)導(dǎo)致投稿用的體驗(yàn)差,給社區(qū)發(fā)展帶來(lái)明顯的負(fù)面影響。
因此,本文所述,是借助AI圖片評(píng)分系統(tǒng),輔助審核提高審核效率,甚至直接完成一部分審核工作,從而提高審核速度,提高投稿人的用戶體驗(yàn)及圖庫(kù)每日入庫(kù)圖片數(shù)量。該系統(tǒng)已用于實(shí)際生產(chǎn)中,達(dá)到預(yù)期目標(biāo),現(xiàn)作基本思路和流程的分享。
二、目標(biāo)
輔助圖片審核,提高圖片審核效率。
三、目標(biāo)用戶群
圖庫(kù)業(yè)務(wù),圖片審核人員。
四、基本思路
對(duì)所有社區(qū)投稿內(nèi)容(非簽約攝影師部分)給出AI評(píng)分,AI評(píng)分分為質(zhì)量評(píng)分、美學(xué)評(píng)分,分別代表社區(qū)用戶對(duì)圖片的認(rèn)可,以及圖片色彩、構(gòu)圖等美學(xué)因素的評(píng)價(jià)。對(duì)于高于評(píng)分閾值的圖片推送到人工審核,對(duì)于低于閾值的圖片自動(dòng)審核拒絕。
在審核系統(tǒng)中展示每張圖片的質(zhì)量評(píng)分、美學(xué)評(píng)分,以供審核人員參考,方便在外包審核人員審美水平參差不齊的情況下提供參考和輔助,確保審核標(biāo)準(zhǔn)的相對(duì)統(tǒng)一和穩(wěn)定。
五、核心流程示意圖
六、結(jié)構(gòu)概述
整體系統(tǒng)開(kāi)發(fā)流程分為以下幾大部分:
- 數(shù)據(jù)收集
- 數(shù)據(jù)處理
- 模型訓(xùn)練(模型微調(diào) Fine-tune)
- 模型評(píng)估
- 模型優(yōu)化
最終會(huì)獲得訓(xùn)練后的模型參數(shù),模型參數(shù)結(jié)合底層模型構(gòu)成AI評(píng)分應(yīng)用,可對(duì)圖片進(jìn)行AI評(píng)分,獲得質(zhì)量評(píng)分與美學(xué)評(píng)分。
七、數(shù)據(jù)收集
模型訓(xùn)練需要收集對(duì)應(yīng)訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集。為保證訓(xùn)練出來(lái)模型參數(shù)的通用性和準(zhǔn)確性,需要對(duì)數(shù)據(jù)集有一些構(gòu)建策略。
1. 訓(xùn)練數(shù)據(jù)集
從攝影師社區(qū)選取100萬(wàn)張圖片,為保證訓(xùn)練模型對(duì)各種類別、風(fēng)格圖片的通用性,需要保證這100萬(wàn)張圖片均勻分布于各類風(fēng)格、主題,例如:人像、靜物、彩色、黑白、城市建筑、人文攝影等。并且為保證評(píng)分分布的多樣性,需要選取盡可能完整的用戶評(píng)分分布的圖片。
100萬(wàn)張圖片取完之后,我們自然就獲得了100萬(wàn)張圖片+評(píng)分的數(shù)據(jù)對(duì),評(píng)分作為圖片的數(shù)據(jù)標(biāo)簽。(為防止極端評(píng)分、不客觀評(píng)分的影響,每張圖片分?jǐn)?shù)取所有用戶評(píng)分的中位數(shù)評(píng)分)該部分作為訓(xùn)練質(zhì)量評(píng)分模型的訓(xùn)練數(shù)據(jù)集。
100萬(wàn)張圖片中,抽取10萬(wàn)張,交由眾包系統(tǒng),進(jìn)行人工美學(xué)評(píng)分。眾包人員來(lái)自各大高校設(shè)計(jì)、藝術(shù)相關(guān)專業(yè)在校生、畢業(yè)生。從而獲得10萬(wàn)張圖片+美學(xué)評(píng)分的數(shù)據(jù)對(duì),評(píng)分作為圖片數(shù)據(jù)標(biāo)簽。該部分?jǐn)?shù)據(jù)作為美學(xué)評(píng)分訓(xùn)練的數(shù)據(jù)集。
2. 測(cè)試數(shù)據(jù)集
參照訓(xùn)練數(shù)據(jù)及邏輯,再?gòu)臄z影師社區(qū)選取1萬(wàn)張圖片,盡可能在圖片分類、評(píng)分上分布均勻,確保多樣性。取圖片的用戶評(píng)分中位數(shù)作為質(zhì)量評(píng)分參考,另通過(guò)眾包平臺(tái)給這1萬(wàn)張圖片打上美學(xué)評(píng)分。該部分?jǐn)?shù)據(jù)作為模型評(píng)估使用的測(cè)試數(shù)據(jù)集。
八、數(shù)據(jù)處理
1. 圖片壓縮
考慮到后續(xù)模型的處理效率,并且質(zhì)量、美學(xué)評(píng)分更多看整體色塊像素分布,不需要太多細(xì)節(jié),因此將圖片統(tǒng)一壓縮為224*224像素。
2. 數(shù)據(jù)歸一化處理
為讓數(shù)據(jù)在各個(gè)維度上分布更加一致,加速優(yōu)化算法更快收斂。避免模型在一個(gè)特征維度上過(guò)渡你和,提高模型泛化能力。需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。本方案中主要涉及兩部分,一是圖片像素的歸一化處理,二是評(píng)分的歸一化處理。
圖片像素值從0~255全部轉(zhuǎn)換到0~1的浮點(diǎn)數(shù),質(zhì)量評(píng)分、美學(xué)評(píng)分也轉(zhuǎn)換計(jì)算到0~1的浮點(diǎn)數(shù)。
九、模型訓(xùn)練
1. 選擇模型
本方案,總共從多種模型中選擇了深度殘差網(wǎng)絡(luò)(ResNet)來(lái)進(jìn)行訓(xùn)練。對(duì)比了ResNet50、ResNet101、ResNet152三個(gè)模型,從效率(訓(xùn)練速度)、評(píng)分預(yù)測(cè)準(zhǔn)確性來(lái)進(jìn)行模型評(píng)估,最終選擇了ResNet50即可滿足業(yè)務(wù)需求。
2. 模型微調(diào)(Fine-tune)
ResNet50是一個(gè)通用的特征提取器,先天在圖像分類、物體檢測(cè)、圖像分割、特征提取等圖像處理需求上有很好的支持。微調(diào)最終要的一步是替換模型最后一層(全連接層),因?yàn)槲覀兤谕脑u(píng)分是一個(gè)連續(xù)分值,屬于回歸問(wèn)題,ResNet50默認(rèn)的最后一層是離散輸出,適用于分類問(wèn)題。原始ResNet50輸出單元數(shù)量是1000,相當(dāng)于1000個(gè)類別。我們需要改為輸出單元數(shù)量為1,并通過(guò)激活函數(shù)限定保證輸出的預(yù)測(cè)分值在0~1之間。
3. 損失函數(shù)
本案例中我們選擇了最常用的回歸損失函數(shù)均方誤差(MSE),計(jì)算預(yù)測(cè)值和真實(shí)值之間的平方差的平均值。
4. 優(yōu)化器
案例中考慮到綜合性能,我們選擇了Adam作為優(yōu)化器。
5. 訓(xùn)練模型
上述工作完畢之后開(kāi)始進(jìn)行模型訓(xùn)練,最終輸出了兩個(gè)模型參數(shù),分別用于預(yù)測(cè)圖片質(zhì)量評(píng)分、美學(xué)評(píng)分。
十、模型評(píng)估
使用測(cè)試數(shù)據(jù)集(測(cè)試數(shù)據(jù)集是完全與訓(xùn)練數(shù)據(jù)集無(wú)交集的獨(dú)立數(shù)據(jù)集)對(duì)模型輸出的質(zhì)量評(píng)分、美學(xué)評(píng)分進(jìn)行了測(cè)試。最終與人工評(píng)分整體誤差控制在10%~15%。
十一、模型優(yōu)化
整個(gè)模型訓(xùn)練的過(guò)程相對(duì)簡(jiǎn)單,期間我們進(jìn)行的模型優(yōu)化主要在以下幾方面:
- 模型選擇:在ResNet50、ResNet101、ResNet152之間,從訓(xùn)練效率、輸出準(zhǔn)確性綜合評(píng)估。
- 訓(xùn)練周期評(píng)估:基于Early Stopping,盡可能降低訓(xùn)練時(shí)間,避免過(guò)擬合,在準(zhǔn)確度沒(méi)有明顯提升的訓(xùn)練周期及時(shí)停止周期的增加。
- 優(yōu)化器&學(xué)習(xí)率優(yōu)化:由算法工程師測(cè)試不同優(yōu)化器、學(xué)習(xí)率,確保最終模型評(píng)分與人工評(píng)分誤差在可接受范圍內(nèi)。
十三、其他知識(shí)分享
因?yàn)檫@一塊,也是現(xiàn)有了需求,再?gòu)男枨笙虢鉀Q方案,其實(shí)很多技術(shù)對(duì)于產(chǎn)品經(jīng)理的我來(lái)說(shuō)都是0基礎(chǔ),好在有一些開(kāi)發(fā)背景情況下了解得會(huì)快一些。
對(duì)于產(chǎn)品經(jīng)理來(lái)說(shuō),一些技術(shù)知識(shí)夠用即可,所謂夠用即可以知道什么技術(shù)能干什么事,怎么評(píng)估不同技術(shù)和方案的好壞,能夠結(jié)合技術(shù)給出解決方案,能夠和技術(shù)同學(xué)更好的溝通即可。
反而不能夠太過(guò)于鉆一塊技術(shù),想著自己如何如何深入,人的時(shí)間經(jīng)歷是有限的,如何發(fā)現(xiàn)問(wèn)題,解決問(wèn)題才是這個(gè)工作的核心所在(個(gè)人所見(jiàn),不一定對(duì))。
所以在這個(gè)項(xiàng)目里,一些基礎(chǔ)的知識(shí)做了些思維導(dǎo)圖,不一定很對(duì),沒(méi)有仔細(xì)校驗(yàn)過(guò),可以分享給有需要的同學(xué)。
1. 深度學(xué)習(xí)優(yōu)化器
2. 深度學(xué)習(xí)損失函數(shù)
3. PyTorch
4. 開(kāi)源機(jī)器學(xué)習(xí)庫(kù)
5. 圖像處理模型
本文由 @Damon 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!