人工智慧-智慧創意平臺架構成長之路(四)-豐富多彩的banner圖生成解密第一部分--如何做出阿里鹿班一樣的banner圖
人工智慧-智慧創意平臺架構成長之路(一)--長篇開篇
人工智慧-智慧創意平臺架構成長之路(二)--大資料架構篇
人工智慧-智慧創意平臺架構成長之路(三)--機器學習演算法工程服務化
人工智慧-智慧創意平臺架構成長之路(四)-豐富多彩的banner圖生成解密第一部分(對標阿里鹿班的設計)
(成長之路序列會包含多篇,筆者作為這個平臺的技術經理兼架構,充分講述其中的迭代心酸之路以及中間遇到的問題和解決方案)
宣告:文章不涉及公司內部技術資料的外洩,涉及的圖片都是重畫的簡易架構圖,主要通過架構的演進,講述分享技術的迭代之路和過程,進行技術交流和探討。
我們接著人工智慧-智慧創意平臺架構成長之路(三)--機器學習演算法工程服務化 繼續
我們之前講了很多都是平臺架構的主體設計,應用架構設計以及技術架構的設計,那麼現在我們就來分享一下豐富多彩的banner圖是怎麼生成出來的。
banner圖的生成我們也是不斷的進行迭代和優化,這塊是最核心的部分,也是最難的部分。我們首先來分享一下我們第一輪中banner圖是如何生成出來的。
一、素材的生成
banner的生成肯定離不開素材,素材種類很多。
我們對素材先進行了歸類,素材我們分為
1、psd模板(就是用photoshop設計出來的檔案,儲存出來後,就是一個psd字尾的檔案,這個是我們的核心),並且psd 在photoshop中設計時,也都進行了分層定義(psd裡面分多層進行設計的,每一層代表一個圖層),方便後面對psd進行解析入庫,後面我會分享psd
解析的程式碼,早期在阿里的鹿班中,也有psd這麼個東西。使用者可以自己上傳psd(在阿里的鹿班中)。這個一般是設計師來進行設計。
2、商品相簿,商品相簿主要是通過維護和爬取的商品圖,爬取的商品圖我們會進行白底圖/透明圖檢測,然後會分類入庫,對於非白底圖非透明圖的,我們會用演算法進行智慧摳圖,合格的商品圖會進入到商品相簿中
3、蒙層庫、裝飾庫等這些都是後面用來對banner進行裝飾,會使得banner更加好看。
4、字型庫,這個無用多說,裡面都是一些生成banner常用的字型。
5、爆炸貼一般是一些用來打促銷語的素材,比如雙11等
6、文案庫裡面維護的常用的文案,我們也會通過演算法自動來生成文案,在生成banenr的時候。
二、豐富多彩的banner的生成過程
1、我們允許使用者上傳自己的商品圖,然後我們可以自動對使用者的商品進行摳圖(對於需要摳圖的部分)
2、使用者在選擇banner的尺寸後,我們會根據一定的演算法去獲取可以適用於該尺寸的psd模板
3、banner在合成的過程中,我們會經歷商品圖主色提取,然後根據主色去拉取可以適用的素材
4、獲取到素材後,我們會按照每一個圖層的主色進行搭配組合,確定哪些組合是符合要求的。
5、對於背景圖,我們會自動進行色系的拓展
6、文案使用者可以選擇我們的優秀文案,也可以不選擇文案,我們自動給使用者適配文案或者自動按照演算法生成文案(前提是使用者需要告訴我們他們預計需要的風格)
7、我們使用了opencv來進行來進行圖層的拼裝,拓展,Opencv在我們第一輪banner的生成中用的非常多。拼裝時,圖層的順序在psd中已經有的。 但是大小我們是會自動去適配計算的(不是直接對圖片進行拉伸,因為這樣肯定會變形)
8、圖片主色的提取,我們都是基於Opencv來做的。
出來的大致效果就是這樣的
(作者的原創文章,轉載須註明出處。原創文章歸作者所有,歡迎轉載,但是保留版權。對於轉載了博主的原創文章,不標註出處的,作者將依法追究版權,請尊重作者的成果。
人工智慧-智慧創意平臺架構成長之路(四)-豐富多彩的banner圖生成解密第一部分(對標阿里鹿班的設計) 地址:https://i.cnblogs.com/EditPosts.aspx?postid=11530988
)
三、第一輪迭代後的問題分享
1、部分出來的banner圖 佈局並不美觀,尤其是文案字數的多少,文案的太長可能會需要被擷取,不然會影響佈局,太多文字可能放不下,或者放下了,字型可能過下,顯得不美觀。
2、多行文案的行距問題如何適配進行佈局顯得最美觀
3、合成出來的效果和原始psd的效果有時候偏差較多。
這些都是我們後面需要解決的問題。
四、psd的解析
psd的解析通過Python和java 都可以實現,以及一些主色提取邏輯,詳細組合邏輯,這個後續會分享
未完待續..........