微軟這個開源項目碉堡了!草圖秒變HTML代碼
用戶界面設計過程涉及到許多創(chuàng)造力的迭代,這個過程通常從一張白紙上開始,設計師和工程師分享彼此的想法,盡力設計出客戶想要的場景或工作流程,一旦有了初步的設計作品,它通常通過照片捕獲,然后手動翻譯成可在Web瀏覽器中工作的HTML頁面。這種翻譯需要花費許多時間和精力,并且通常會延緩設計的過程。
如果可以把設計圖紙中的展示效果直接反映在瀏覽器中,那就省事多了?如果我們能夠做到這一點,當設計作品雛形的時候,我們就可以擁有一個已經(jīng)由設計師、開發(fā)人員甚至客戶驗證過的現(xiàn)成原型,如今,Microsoft也做到了。
近日,Microsoft開發(fā)了一種人工智能的網(wǎng)頁設計工具,能夠?qū)⒕W(wǎng)站草圖轉(zhuǎn)換為功能性HTML代碼。不過目前Sketch2Code在GitHub上的名氣還不算大,只收獲了 1100 個「star」以及 174 個「fork」。
Microsoft AI的高級產(chǎn)品經(jīng)理Tara Shankar Jana將它命名為Sketch2Code,是由Microsoft與Kabel和Spike Techniques合作開發(fā)。該工具旨在讓所有的開發(fā)人員和組織都能使用AI去做更多的事情。
Sketch2Code簡介
Sketch2Code是一種基于Web的解決方案,它使用AI將手繪用戶界面的圖片轉(zhuǎn)換為可用的HTML代碼。
讓我們仔細看看使用Sketch2Code將手繪圖像轉(zhuǎn)換為HTML的過程:
● 用戶首先要把圖片上傳到網(wǎng)站上。
● 自定義視覺模型可預測圖像中存在的HTML元素,并確定其位置。
● 手寫文本識別服務讀取預測元素內(nèi)的文本。
● 布局算法通過預測元素邊框的空間信息生成可適應所有這些組件的網(wǎng)格結(jié)構(gòu)。
● HTML生成引擎,使用以上信息來生成最終結(jié)果的HTML代碼。
應用程序工作流程如下所示:
Sketch2Code使用以下元素:
● Microsoft自定義視覺模型:此模型已使用不同手寫設計的圖片進行訓練,標記了常見的HTML相關的元素信息,包括文本框,按鈕,圖像等。
● Microsoft計算機視覺服務:用于標識設計元素中的文本。
● Azure Blob Storage:存儲與HTML生成過程的每個步驟相關聯(lián)的信息,包括原始圖像,預測結(jié)果,布局和分組信息等。
● Azure功能:它用作后端入口點,通過與服務交互來協(xié)調(diào)生成過程。
● Azure網(wǎng)站:用戶界面前端,可以上傳新設計并查看生成的HTML結(jié)果。
以上元素通過以下架構(gòu)組合在一起:
你現(xiàn)在是不是也對這個項目充滿了好奇,那就到GitHub上看看Sketch2Code相關的所有代碼吧。
類似項目
類似的項目還有:Tony Beltramelli推出的pix2code paper,該項目能夠通過深度神經(jīng)網(wǎng)絡,可以從截圖直接生成 UI 代碼,兼容安卓、iOS以及Web界面三種平臺。(項目地址:https://github.com/tonybeltramelli/pix2code)
今年,Airbnb推出的sketch2code。(項目地址:https://github.com/emilwallner/Screenshot-to-code-in-Keras)
1、向訓練過的神經(jīng)網(wǎng)絡輸入一個設計圖
2、神經(jīng)網(wǎng)絡將圖片轉(zhuǎn)化為 HTML 標記語言
3、渲染輸出