精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用CNN把圖形轉成ASCII碼字符畫的方法,并更新了著色工具

zhKF_jqr_AI ? 2018-01-03 09:01 ? 次閱讀

幾天前,我們送走了2017年最后一場機器學習頂級會議NIPS 2017。雖然正會開完了,但它的熱度依然不減,近幾日,一個入圍NIPS 2017機器學習創意和設計(Workshop for Machine Learning for Creativity and Design)的趣味項目就在twitter上被玩壞了。據論智了解,作者Osamu Akiyama提出了一種用CNN把圖形轉成ASCII碼字符畫的方法,并在昨天更新了著色工具,這讓不少機器學習開發者都玩high了。

上圖即是ASCII碼字符畫著色前、著色后的效果。整個過程可分為兩部分,一是用CNN生成字符畫,二是用CNN著色。對于前者,作者已經在github上公開了數據集等資料,并在論文中詳細解釋了神經網絡的搭建方法;而對于后者,作者直接做了個填色工具,因此已經有字符畫的讀者可以去網站上傳圖像嘗試。

注意:該工具只在落廓清晰、畫面干凈的白底字符畫上有不錯效果,網站只支持圖片,不支持文本文檔。

項目思路

在論文中,作者首先介紹了CNN用的數據集。他從日本BBS 5channel和Shitaraba上收集了500張ASCII碼字符畫,并將之作為數據集。在這個過程中,他發現了一個不小的問題,就是許多人在上傳手工制作的字符畫時并不會援引原圖,這就使機器學習算法無法學習如何把線條轉換成文本。

為了解決這個問題,Osamu Akiyama使用了其他研究人員創建的一個神經網絡清理工具,能把ASCII碼字符畫逆向還原成線條圖。如上圖所示,這個工具不僅能刪除多余的字符,還能大膽恢復一些丟失的線條,使得整個畫面更連續流暢。通過把這些經還原的圖片作為輸入對神經網絡進行訓練,他的網絡能了解哪些字符是適合被用來創建圖片的。

Osamu Akiyama使用的是一個CNN,其中包括7個卷積層、3個最大池化層、兩個全連接(FC)層以及一個輸出層,整體架構受VGC網絡啟發,簡單來說,就是C64-C64-P-C128-C128-P-C256-C256-C256-P-FC4096-FC4096-O411。

經訓練,作者發現神經網絡生成的圖片可以與手工制成的ASCII碼字符畫一較高下,如下圖所示:

其中第一行是輸入圖像,第二、第三行是網上兩個字符畫生成工具生成的圖像,第四行是Osamu Akiyama神經網絡生成的圖像,而最后一行由專業制作字符畫的藝術家制作的圖像。可以看出,神經網絡在輪廓描繪和細節保留上都遠勝于其他對照組。

事實上,大篇幅介紹字符畫生成的目的就是為了最后的著色,經小編驗證,Osamu Akiyama的配套CNN著色器在線條明顯、畫面整潔簡單的圖像上效果更好。例如上圖中人工完成的最后一行字符畫,比起神經網絡的成果,它們的線條較不流暢,這會影響填色區間判定。此外,它們對頭發、衣服進行了“著色”處理,這在黑白顯示時可能更形象,但放進著色器后出來的效果就不盡如人意了。

生成ASCII碼字符畫

所有資料、數據可前往作者的github下載(https://github.com/OsciiArt/DeepAA)。

環境

  • TensorFlow(1.3.0)

  • Keras(2.0.8)

  • NumPy (1.13.3)

  • Pillow (4.2.1)

  • Pandas (0.18.0)

  • Scikit-learn (0.19.0)

  • h5py (2.7.1)

  • 模型下載地址(下載后放入目錄中的model):drive.google.com/file/d/0B90WglS_AQWebjBleG5uRXpmbUE/view

  • 訓練數據地址(下載后將提取的目錄放入目錄中的data):drive.google.com/file/d/0B90WglS_AQWebjBleG5uRXpmbUE/view

如何運行

更改output.py的第15行代碼:


	
  1. image_path = 'sample images/original images/21 original.png'# put the path of the image that you convert.

改成你使用的圖像文件的路徑。注意:圖像必須是黑灰色線條畫。

之后運行output.py,生成的圖像會在output/處顯示。

如果你想用輕型模型,你可以把output.py的第13、14行改為


	
  1. model_path = "model/model_light.json"

  2. weight_path = "model/weight_light.hdf5"

填色效果演示

正如之前提到的,昨天作者更新了新的CNN填色工具,可以為以上神經網絡生成的圖像著色。因為他還沒有公開這個工具的設計思路,所以小編在這里只放出PaintsChainer地址:paintschainer.preferred.tech/index_en.html。如網站所示,它只支持圖片上傳。

以下是論智君的幾種嘗試:

來源:谷歌搜索(盜圖)

生成圖片

來源:作者GitHub

生成圖片

來源:作者GitHub

生成圖片

調色圖片

調色圖片

小編色感堪憂,無法調出和諧的顏色,但根據這些圖我們也能直觀感受到,這跟黑白的ASCII碼字符畫簡直是兩個世界啊!


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ASCII
    +關注

    關注

    5

    文章

    172

    瀏覽量

    35046
  • 機器學習
    +關注

    關注

    66

    文章

    8377

    瀏覽量

    132405
  • cnn
    cnn
    +關注

    關注

    3

    文章

    351

    瀏覽量

    22168

原文標題:NIPS 2017:用卷積網絡生成ASCII碼字符畫并進行著色

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    漢字轉換程序,字符串轉換為16進制軟件,ascii碼查詢工具

    漢字轉換程序,字符串轉換為16進制軟件,ascii碼查詢工具,這是編程人員必的小工具。。[/
    發表于 06-30 09:58

    請問如何實現一串ASCII碼字符串的異或校驗和

    如題如何實現一串ASCII碼字符串的異或校驗和例如:$1.2,324.3,123,4*計算$和*之間的異或校驗和 最好有框圖 謝謝大家
    發表于 04-10 11:06

    ASCII 碼表

    ASCII碼大致由三部分組成: 1、ASCII 打印字符:數字 32–126 分配給能在鍵盤上找到的字符,當您查看或打印文檔時就會出現。注
    發表于 09-19 12:02

    ASCII數字與字符串轉換問題。

    本帖最后由 5612355653 于 2016-10-14 09:01 編輯 大神們好:請問:1、如何將10進制數字1234轉換成16進制ASCII碼字符串31 32 33 34顯示?2、如何將10進制字符串1234轉換成
    發表于 10-14 08:36

    LABVIEW串口收到ASCII碼,如何轉成十進制顯示

    LABVIEW串口收到ASCII碼,如何轉成十進制顯示。注:LABVIEW串口收到字符串,正常顯示為ASCII碼,顯示控件選擇16進制可以顯示16進制
    發表于 07-14 09:45

    RISC-V MCU IDE MRS(MounRiver Studio)開發之:設置工程編碼字符

    MounRiver Studio(MRS)為例,修改工程編碼字符集的方法如下: 點擊工具欄工程屬性配置按鈕,在彈出的窗口中點擊Resource選項,在右側Text file encoding中點擊Other
    發表于 11-23 10:20

    字符串與ASCII碼字符串的相互轉換

    本帖最后由 貓仔靜2019 于 2022-8-24 10:05 編輯 字符串與ASCII碼字符串的相互轉換
    發表于 08-24 10:00

    信息交換用漢字編碼字符集 基本集GB 312-1980

    信息交換用漢字編碼字符集 基本集GB 312-1980 本標準規定漢字信息交換用的基本圖形字符及其二進制編碼表示。安適用于一般漢字處理、漢字通信等系統之間的
    發表于 04-17 17:57 ?15次下載

    ascii碼是什么,ascii碼字符是什么

    ascii碼是什么,ascii碼字符是什么 ASCII碼:美國(國家)信息交換標準(代)碼,一種使用7個或8個二
    發表于 06-28 11:09 ?2.1w次閱讀
    <b class='flag-5'>ascii</b>碼是什么,<b class='flag-5'>ascii</b><b class='flag-5'>碼字符</b>是什么

    字符ASCII碼互轉軟件

    電子發燒友網站提供《字符ASCII碼互轉軟件.exe》資料免費下載
    發表于 01-01 10:31 ?16次下載

    圖的著色方法解決排課沖突問題_安衛鋼

    圖的著色方法解決排課沖突問題_安衛鋼
    發表于 03-20 09:29 ?0次下載

    基于卷積神經網絡CNN的車牌字符識別方法

    車牌字符識別是智能車牌識別系統中的重要組成部分。針對車牌字符類別多、背景復雜影響正確識別率的問題,提出了一種基于卷積神經網絡(CNN)的車牌字符識別方法。首先對車牌
    發表于 11-30 14:24 ?21次下載
    基于卷積神經網絡<b class='flag-5'>CNN</b>的車牌<b class='flag-5'>字符識別方法</b>

    如何利用Linux終端將圖像轉換成ASCII藝術?

    和其他字符ASCII 藝術是一個由可打印的 ASCII 字符組成的圖形。基本上,它是由一堆字母、數字和特殊
    的頭像 發表于 06-29 13:53 ?2000次閱讀

    碼字符串分割方法

    我們寫代碼的時候,經常會遇到這樣一個場景,那就是分割字符串。比如說一個字符串分成N個,或者說按照N個字符分割。 我們今天就來看看怎么每隔N個字符
    的頭像 發表于 09-25 11:42 ?770次閱讀

    c語言如何字符變成ascii

    C語言是一種廣泛應用的編程語言,用于開發各種類型的程序。在C語言中,字符可以表示為ASCII碼(美國信息交換標準碼)的整數值。ASCII碼是一種最常用的字符編碼方案,其中每個
    的頭像 發表于 11-26 10:34 ?6097次閱讀