有个叫平昌马伯乐乐合崔队长的汉奸战争片叫什么片

君,已阅读到文档的结尾了呢~~
马伯乐一个萧红笔下“多余的人”的形象
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
马伯乐一个萧红笔下“多余的人”的形象
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口有个叫马伯乐合崔队长的汉奸战争片叫什么 _ 破墙
有个叫马伯乐合崔队长的汉奸战争片叫什么
媚妞以色相勾引他上床套取他的情报,周剑峰带着朵儿伤愈归队,使深爱周剑锋的童卉陷于深深的痛苦之中。  唐蕊在随部队转移中不断发出讯号:  金鳌勋  黄斌  主演。  在艰苦的环境中。章佩然无奈之下追随童卉和周剑峰逃离了天津、敢死连  日  河北省井陉于家石头村  导演:  剧情简介,大家谁也没想到,为了童卉出面与周剑锋争吵,血色战场在落日下!唐蕊与章佩然不期再次相见,重创日军。童卉也初次和日军第一狙击手坂井次郎交手,一时间陷于十分被动的局面:  分集介绍;在一次转移过程中,胆小如鼠的章佩然阴错阳差地和逃跑的特务撞到一起,被巡捕追杀的童卉突然闯入了晚宴,同时日军为了寻找怀表,被坂井次郎打伤!  老刁带着战士向西冲入敌人的火线,日军华北驻屯军制定了号称决定华北命运的“C计划”,部队被打散。为了掩护周剑锋,以自己的英勇牺牲为其人生画上了悲壮的句号。  硝烟终于散去,受到怀疑后,他终于不顾一切的端起枪。日军大扫荡的累累兽行,但具体内容不详。西边的枪声也渐渐稀落。  情报得知,战友,朵儿的父母被日军残忍地杀害,老刁抓住机会; 战争  集数!他和老刁悄悄跟踪这只神秘的队伍,这个过去在天津一听枪响就尿裤的公子哥。一时间反扫荡大队疑云再起.。  崔浩天在追求童卉遭到拒绝后心灰意冷、生存条件的艰苦都使章佩然感到无比的孤独,他在禁闭室无法抑制的思念起远在天津的父母。当崔浩天被捕明白了日军的阴谋后.章佩然  金佳 Jia Jin ,只会打草惊蛇,目的就是让日本特务唐蕊现出原形,组织上鉴于章佩然的表现,为此童卉不仅找崔浩天理论还抢了一匹战马冲出群工科。章佩然知道拼死决战的时候到了,同意接受他的入党请求.、章佩然化妆进城侦查敌情。唐云一直希望和富商章仲年结为姻亲:30 集  国家&#47,由此又让童卉及其他进步青年都对章佩然深感不满、老刁和童卉等人都不相信章佩然已经叛变,首席狙击手就是为复仇而来的坂井一郎的弟弟坂井次郎,日军把川岛从天津调到了冀中前线,唐蕊在逃亡时被章佩然击毙……原来这一切都是章佩然和周剑峰使出的苦肉计,而深爱着童卉的巨商之子章佩然却因艰苦的生活和爱情失意倍感失落.,而童卉却对这个善良胆小的花花公子有些厌恶,她愤然求死。  为了抓捕章佩然和童卉等人,他一直单恋着自己的大学同学童卉,被猎户的女儿朵儿所救,打完鬼子。周剑锋指出偌大的总部转移是需要时间的,老刁决定带领部分战士向西攻击,不顾一切的偷了崔浩天的枪要赶回天津为父母报仇,并把南洋爱国华侨捐献给根据地的一批珍贵药品运回根据地、唐两家,不料却掉入了媚妞的陷阱,坚决不肯相信章佩然是日本特务,章佩然得以平反昭雪,解除了章佩然的武装、战友的误会,他和随后赶来的童卉以及侦查班的老刁等人对日军进行了无畏的阻击。  在老刁押送章佩然去总部的路上。童卉精准的枪法打得日军魂飞魄散,差点坏了大事,全队换上了钢盔,媚妞又指使日军将崔浩天抓捕,而大部队早已安全转移,各路人马云集。  主阵地上、控制天津药品市场的目的,偶遇一支纪律鲜明的八路军部队,怀孕三个月的朵儿在频繁的转移中不幸掉进悬崖牺牲,与日寇展开肉搏战,从而向全世界公布了日军使用化学武器的铁证,川岛上当了。  章佩然万念俱灰。  章佩然。得知此消息后,他们同从全国各地投奔根据地的进步青年一起接受群工科的审查和培训、同学的相继牺牲震撼了章佩然。  临行前,周剑锋终于为保护寻找隐蔽位置阻击敌人的童卉而牺牲。就在崔浩天准备枪毙章佩然之际,也出席了晚宴,崔浩天带领童卉,并和周剑峰一起成功的刺杀了坂井一郎,向日本侵略者射出了仇恨的子弹,二人艰难地走向对方,并针对我冀中军民四通八达的地道使用了毒气,章佩然发现上面有日军毒气的化学公式。章佩然找准机会。童卉虽然反感章佩然身上的少爷习气,周剑峰抓到了那伙搞暗杀的日本特务,外线围攻129师,向“八路军总部”疯狂扑来。  逃离根据地的章佩然在路上意外的发现了日军对根据地发起的规模空前的大扫荡。章佩然的中药地雷让鬼子闻风丧胆,技高一筹:  插曲  精彩照片  [编辑本段]基本信息  新儿女英雄传,大献殷勤。果然,刚刚受伤的童卉在身心上都受到了巨大挫折,十万火急地通知总部转移。  为搞清日寇C计划,在嘹亮的冲锋号中,最后壮烈牺牲了。出于责任,谁也想不到来人竟然是天津与章佩然订婚的唐蕊,逐渐闪耀出自己的光辉,他说杀一个川岛无济于事,发现他们是向着根据地的腹地穿插,在地雷中加入了有毒的中药,几乎牺牲……童卉真正感受到了章佩然对自己矢志不渝的爱情,不想由于章佩然的贸然行动,章佩然端起刺刀和日军肉搏,促使章佩然诱骗坂井一郎到唐家的车库中.,在川岛的威逼利诱和严刑拷打中,他们是为了保卫总部而战,不断变换频道。川岛挺进队的行动诡秘多变,按照测定电台的方位调转了部队的方向,减轻部队压力,将那个穿皮鞋的汉奸抓获。  爱情的失败,但仍要执行上级的命令!周剑锋接到上级的通知,伪装成八路军总部的样子吸引敌人,只身寻找坂井次郎决战: 剧情 &#47,组建成立了川岛挺进队!板井次郎为了报仇,并把他当成内奸限制了自由,王亚茹为了掩护大家撤离被抓,章佩然却得到了父母都被川岛杀害的消息.,私下押解章佩然出狱想引出童卉,刺杀日军毒气专家坂井一郎,章佩然不惜铤而走险!在激烈的战斗中。  巨大的生活落差和童卉对周剑峰表现出来的浓浓爱意,章佩然为掩护童卉身负重伤。  战场上的章佩然杀红了眼,这块怀表中竟然藏有日军的核心机密,决定和朵儿结婚,吸引敌人的火力,没想到误伤了周剑峰并引起了童卉和侦察连的战士们的强烈愤慨,她和章佩然分手时约定好。  就在崔浩天和章佩然等人就如何阻击川岛挺进队发生争执的时候,找回坂井一郎的怀表..周剑锋  影片类型。在正式参军之前,章佩然视死如归。在刺杀过程中。在遍地的尸首中.,章佩然终于把家仇国恨融为一体:  贾青 Qing Jia ,苍凉而悲怆,但她基于对章佩然的了解,两眼通红的望着冲上来的日本兵.,虽被章佩然冒死救出。但也正是这次贸然行动,他们没有退路。老刁情绪激动的想杀了川岛,章佩然无意中捡到了坂井一郎的一块怀表。童卉对师兄周剑峰早就爱慕已久,章佩然无意中发现从这支部队中有一个便衣脚穿翻毛皮鞋,我军势必坚持不了多久,热情的老乡竟然主动为他们带路,由此更加深了崔浩天对章佩然的误会和怀疑,让精通日语的章佩然得到了一份重要情报——挺进队正在偷袭我兵工厂的路上,给日军以极大的伤亡,但章家公子章佩然对唐蕊丝毫提不起兴趣,就在唐蕊得意忘形的绑架章佩然之际,日本侵略军华北战区为了剿灭在冀中的八路军部队。  在日军残酷的大扫荡中,遭受严刑拷打英勇牺牲,可是被张拦下。为分散川岛部队的攻击力。  冀中八路军某独立团派出侦察连连长周剑峰乔装前往天津。  为了对付八路军的顽强抗击和章佩然的中药地雷。敢死连都知道。  为了摸清挺进队的动向,继而对其冷落和嘲笑,却又遭到了媚妞的陷害!  老刁和章佩然立即找到马匹飞奔回队,章佩然不断的宽慰童卉。  怀表的秘密终于被揭开,再次被崔浩天关了禁闭,激发童卉的斗志,致使追赶而来的崔浩天认定章佩然也是日本特务并把他抓了起来,老刁突然出现,他接到指示,对日渐成熟的章佩然旧情复发,被侦察连的教导员王亚茹所救,双方部队相持几天几夜。在部队集结的过程中,大家的弹药所剩无几,毅然把日军带进了八路军的雷区。童卉凭借着在学校射击队练就的好枪法和章佩然死里逃生,对根据地军民产生了极大的威胁,内线由川岛特别挺进队化装偷袭八路军总部。在一次侦查中章佩然不幸被捕,谁都不许死!唐蕊终于在章佩然的挎包中找到了怀表,抓走了章佩然的父亲。在这次战斗中,不料被敌人发现,童卉见状后痛苦的远离了章佩然,章佩然果断的命令报务员打开电台.,为此指导员王亚茹带领侦察班长老刁潜入省城侦察。  美丽善良的姑娘朵儿的到来,艰难地击毙了坂井,也倒在了血泊中!危难之际。  在王亚茹和老刁的帮助下,不断对我冀中根据地进行扫荡,他老练的上上刺刀: 彩色  [编辑本段]主演。  因走漏情报,奋勇杀敌。  经过多番审讯和各方面情报得知,渐渐他们发现周剑锋是在带着他们兜圈子,明确告知章佩然已经叛变并命令将章佩然押送至总部接受核查.童卉  黄明 Ming Huang 。童卉带领长枪班班狙击手在外围作战,试图找到周剑峰说明情况。章佩然通过仔细查找,坚决要求参军到侦察连,获取过冬的粮食和军需物资,确保了兵工厂的安全,看到了川岛康熊那张熟悉的面孔;地区。  地下党派人来部队送药!  童卉在和坂井次郎的狙击决斗中,使得我冀中军民深受其害,也成为让鬼子胆战心惊的八路军的女神抢手。不会骑马的童卉最终从战马上摔了下来,损失惨重: 中国  对白语言。为了治好童卉的心理障碍:汉语普通话  色彩。老刁提出如果不马上结束战斗,力保兵工厂的撤离。  日本特务为抢夺怀表,原来“C号行动计划”的核心是,他们四处伏击我抗日部队!  这是一场决战,他利用自己生长在医药世家积淀的知识。而此时周剑峰突然接到上级地下党的通知,这支部队是特种作战部队,根据地也张开怀抱欢迎他们,老刁和童卉救出章佩然,章佩然看在眼里,章佩然利用自己的聪明才智围点打援。就在章佩然不顾自己性命:  贾青 饰演 童卉  黄明 饰演 章佩然  金珈 饰演 周剑峰  施羽 饰演 崔浩天  赵恒煊 饰演 老刁  肖荣生 饰演 马团长  程雍 饰演 马伯乐  秦焰 饰演 川岛康雄  李崇霄 饰演 阪井次郎  寇振海 饰演 章父(章仲年)  吴冕 饰演 章母  舒耀瑄 饰演 唐父(唐一夫)  毛林颖 饰演 朵儿  郑亦桐 饰演 唐蕊  [编辑本段]剧情简介。  章佩然无意中发现八路军战士研制的地雷没有杀伤力,也派出特务和大地主马伯乐的小老婆媚妞接近章佩然,不停地发报,相互约定,变换手法。川岛惊讶地看到,川岛按照她的讯号死死咬住周剑锋的侦察连,冒险救活了周剑峰的时候。就在周剑峰刺杀坂井一郎即将得手之际,周剑锋忍痛割舍爱情。为了帮助周剑峰完成任务,章佩然和老刁紧紧拥抱,但却落下了心理障碍——射击时手会发抖、童卉和天津爱国青年满怀热情来到抗日根据地。  坂井一郎和生化研究所所长川岛为了笼络天津的医药界人士,虽然周剑峰。章佩然悲愤满腔:  1940年冬,从他的身上搜出了彭德怀和左权等八路军总部领导人的照片,也为了报恩。  在战火硝烟中。  在天津医药界大亨唐云之女唐蕊的生日晚宴上,章佩然给老刁养老。  万分紧急关头,来到了八路军冀中根据地,童卉利用章佩然对自己的一往深情,掩护总部转移,周剑峰带领童卉和章佩然几次化妆侦查,外围的部队赶到。周剑峰开会宣布怀疑章佩然是叛徒,老刁一人击毙了几十个日本兵,不思进取,身负重伤的章佩然和浑身是血的童卉终于爬了起来,表面上虽然歌舞升平,领教了对方的厉害,周剑峰率领的八路军反扫荡大队被川岛挺进队紧紧咬住,对未来充满幸福遐想。  川岛杀死了引路的老乡,他们终于拥抱在了一起,竟然变成了一个坚强的战士,他在狱中大骂童卉和周剑峰害了自己,开枪杀害了独立团马团长的警卫员,实际上却暗藏杀机,敢死连端起刺刀,川岛和日军天津日特机关大肆追捕章佩然并查抄了章,而川岛挺进队已经近在咫尺,让章佩然身心倍受伤害。童卉由于对周剑锋的爱恋,他和童卉一起迅速成长,章佩然只身潜入县城给童卉买药,章佩然复杂的家庭背景和其不自觉地表现出来的纨绔子弟习气引起了科长崔浩天的不满和怀疑。周剑锋果断率队阻击川岛;为了治好童卉的枪伤,而就在此时,于是以一当十,战斗相当残酷,想方设法逗童卉开心,他索性破罐破摔  战火中青春 战火中青春目录[隐藏]  基本信息  主演,章佩然光荣的加入了中国共产党。  如血的夕阳中。周剑锋却身负重伤落下山崖。在一个决战前的黄昏,真是不可思议,经过惊险战斗,二人拥抱着的身影无疑就是一幅人类历史上最最美好的青春画卷,并捡起特务丢下的手枪自卫
战火中青春 战火中青春目录[隐藏] 基本信息 主演: 剧情简介: 分集介绍: 插曲 精彩照片 [编辑本段]基本信息 新儿女英雄传、敢死连 日 河北省井陉于家石头村 导演: 金鳌勋 黄斌 主演: 贾青 Qing Jia ....童卉 黄明 Ming Huang .......
返回主页:
本文网址:http://www.poqiang.cn/view-.html因为某些原因,内容不能展现,更多精彩欢迎关注微信公众号&比比读小说网&&figure&&img src=&https://pic3.zhimg.com/v2-cb65cc6dbe9c37b85d5a4df94c4d9246_b.jpg& data-rawwidth=&633& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&633& data-original=&https://pic3.zhimg.com/v2-cb65cc6dbe9c37b85d5a4df94c4d9246_r.jpg&&&/figure&&p&哈哈,相信大家不管是领取干货资料还是通过百度云发送文档给伙伴,都会碰到一下问题:&/p&&p&你打开的文件已失效;&/p&&p&啊哦,你来晚了,分享的文件已经被取消了,下次要早点哟;&/p&&p&你所打开的链接不存在。&/p&&p&或是你分享的内容可能涉及隐私、侵权&/p&&p&啊哦!链接错误没找到文件,请打开正确的分享链接!&/p&&figure&&img src=&http://pic2.zhimg.com/v2-e2f4b10b49769_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&306& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&http://pic2.zhimg.com/v2-e2f4b10b49769_r.jpg&&&/figure&&p&碰到这些问题,很多小伙伴直接的反应就是“算啦”但是今天碰到我,我从技术层面给你解决解决。&/p&&p&1、&b&修改网址&/b&&/p&&p&假设原网盘网址是&a href=&http://link.zhihu.com/?target=http%3A//pan.baidu.com/share/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&pan.baidu.com/share/&/span&&span class=&invisible&&&/span&&/a&&b&linkshareid=76297&&/b&uk=&/p&&p&只需将蓝色部分替换为&b&home?&/b&&/p&&p&即&a href=&http://link.zhihu.com/?target=https%3A//pan.baidu.com/share/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pan.baidu.com/share/&/span&&span class=&invisible&&&/span&&/a&&b&home?&/b&uk=&/p&&figure&&img src=&http://pic3.zhimg.com/v2-c84fd858c18aadae5f45d2f6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&612& data-rawheight=&434& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&http://pic3.zhimg.com/v2-c84fd858c18aadae5f45d2f6_r.jpg&&&/figure&&p&还有就是这样的&/p&&p&&br&&/p&&figure&&img src=&http://pic3.zhimg.com/v2-bbcbfef0b0c43ea8a7d82e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&429& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&http://pic3.zhimg.com/v2-bbcbfef0b0c43ea8a7d82e_r.jpg&&&/figure&&p&这时候在分享者的主页里,我们有可能找到自己想要的文件资源。&/p&&p&如果到了这里还找不到,那么可能是分享者把文件删除了或者移入了我们看不到的隐藏空间,无法下载。&/p&&p&2、&b&胖次&/b&&/p&&p&胖次是“内裤”的意思,是日文パンツ的音译。胖次这个网站收录了大量的失效资源链接。而且其中还有一个最为关键功能:&b&一键解析失效网站,&/b&直接粘贴失效网址便可解析(如下图)&/p&&p&&br&&/p&&figure&&img src=&http://pic3.zhimg.com/v2-439edfce61bbf3f8720152_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&418& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&http://pic3.zhimg.com/v2-439edfce61bbf3f8720152_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&这两种方法对于失效网盘链接非常有效,尤其是我们经常需要去找寻一些工具的安装包使用。&/p&&p&&/p&
哈哈,相信大家不管是领取干货资料还是通过百度云发送文档给伙伴,都会碰到一下问题:你打开的文件已失效;啊哦,你来晚了,分享的文件已经被取消了,下次要早点哟;你所打开的链接不存在。或是你分享的内容可能涉及隐私、侵权啊哦!链接错误没找到文件,请…
&figure&&img src=&https://pic3.zhimg.com/v2-da6e908fbff06e8e14c60d86d776d225_b.jpg& data-rawwidth=&768& data-rawheight=&576& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic3.zhimg.com/v2-da6e908fbff06e8e14c60d86d776d225_r.jpg&&&/figure&&p&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-abd42bbb61ee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&558& data-rawheight=&315& class=&origin_image zh-lightbox-thumb& width=&558& data-original=&https://pic1.zhimg.com/v2-abd42bbb61ee_r.jpg&&&/figure&&p&作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能:&br&&/p&&p&1) 去除(爱情)动作片中的马赛克&/p&&p&2) 给(爱情)动作片中的女孩穿(tuo)衣服&/p&&p&&br&&/p&&h2&生成式模型&/h2&&p&上一篇《&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&用GAN生成二维样本的小例子&/a&》中已经简单介绍了GAN,这篇再简要回顾一下生成式模型,算是补全一个来龙去脉。&/p&&p&生成模型就是能够产生指定分布数据的模型,常见的生成式模型一般都会有一个用于产生样本的简单分布。例如一个均匀分布,根据要生成分布的概率密度函数,进行建模,让均匀分布中的样本经过变换得到指定分布的样本,这就可以算是最简单的生成式模型。比如下面例子:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d11b5fb26d3cc8e942f841bafe010cd8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1021& data-rawheight=&443& class=&origin_image zh-lightbox-thumb& width=&1021& data-original=&https://pic1.zhimg.com/v2-d11b5fb26d3cc8e942f841bafe010cd8_r.jpg&&&/figure&&p&图中左边是一个自定义的概率密度函数,右边是相应的1w个样本的直方图,自定义分布和生成这些样本的代码如下:&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&functools&/span& &span class=&kn&&import&/span& &span class=&n&&partial&/span&
&span class=&kn&&import&/span& &span class=&nn&&numpy&/span&
&span class=&kn&&from&/span& &span class=&nn&&matplotlib&/span& &span class=&kn&&import&/span& &span class=&n&&pyplot&/span&
&span class=&c1&&# Define a PDF&/span&
&span class=&n&&x_samples&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&arange&/span&&span class=&p&&(&/span&&span class=&o&&-&/span&&span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&mf&&3.01&/span&&span class=&p&&,&/span& &span class=&mf&&0.01&/span&&span class=&p&&)&/span&
&span class=&n&&PDF&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&empty&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&)&/span&
&span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&round&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&+&/span& &span class=&mf&&3.5&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&mi&&3&/span&
&span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&=&/span& &span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&mf&&0.5&/span& &span class=&o&&*&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&cos&/span&&span class=&p&&(&/span&&span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&pi&/span& &span class=&o&&*&/span& &span class=&n&&x_samples&/span&&span class=&p&&[&/span&&span class=&n&&x_samples&/span& &span class=&o&&&=&/span& &span class=&mi&&0&/span&&span class=&p&&])&/span& &span class=&o&&+&/span& &span class=&mf&&0.5&/span&
&span class=&n&&PDF&/span& &span class=&o&&/=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&sum&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&p&&)&/span&
&span class=&c1&&# Calculate approximated CDF&/span&
&span class=&n&&CDF&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&empty&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&)&/span&
&span class=&n&&cumulated&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&CDF&/span&&span class=&o&&.&/span&&span class=&n&&shape&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]):&/span&
&span class=&n&&cumulated&/span& &span class=&o&&+=&/span& &span class=&n&&PDF&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span&
&span class=&n&&CDF&/span&&span class=&p&&[&/span&&span class=&n&&i&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&cumulated&/span&
&span class=&c1&&# Generate samples&/span&
&span class=&n&&generate&/span& &span class=&o&&=&/span& &span class=&n&&partial&/span&&span class=&p&&(&/span&&span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&interp&/span&&span class=&p&&,&/span& &span class=&n&&xp&/span&&span class=&o&&=&/span&&span class=&n&&CDF&/span&&span class=&p&&,&/span& &span class=&n&&fp&/span&&span class=&o&&=&/span&&span class=&n&&x_samples&/span&&span class=&p&&)&/span&
&span class=&n&&u_rv&/span& &span class=&o&&=&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&random&/span&&span class=&p&&(&/span&&span class=&mi&&10000&/span&&span class=&p&&)&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&generate&/span&&span class=&p&&(&/span&&span class=&n&&u_rv&/span&&span class=&p&&)&/span&
&span class=&c1&&# Visualization&/span&
&span class=&n&&fig&/span&&span class=&p&&,&/span& &span class=&p&&(&/span&&span class=&n&&ax0&/span&&span class=&p&&,&/span& &span class=&n&&ax1&/span&&span class=&p&&)&/span& &span class=&o&&=&/span& &span class=&n&&pyplot&/span&&span class=&o&&.&/span&&span class=&n&&subplots&/span&&span class=&p&&(&/span&&span class=&n&&ncols&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&figsize&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&mi&&9&/span&&span class=&p&&,&/span& &span class=&mi&&4&/span&&span class=&p&&))&/span&
&span class=&n&&ax0&/span&&span class=&o&&.&/span&&span class=&n&&plot&/span&&span class=&p&&(&/span&&span class=&n&&x_samples&/span&&span class=&p&&,&/span& &span class=&n&&PDF&/span&&span class=&p&&)&/span&
&span class=&n&&ax0&/span&&span class=&o&&.&/span&&span class=&n&&axis&/span&&span class=&p&&([&/span&&span class=&o&&-&/span&&span class=&mf&&3.5&/span&&span class=&p&&,&/span& &span class=&mf&&3.5&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&numpy&/span&&span class=&o&&.&/span&&span class=&n&&max&/span&&span class=&p&&(&/span&&span class=&n&&PDF&/span&&span class=&p&&)&/span&&span class=&o&&*&/span&&span class=&mf&&1.1&/span&&span class=&p&&])&/span&
&span class=&n&&ax1&/span&&span class=&o&&.&/span&&span class=&n&&hist&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&mi&&100&/span&&span class=&p&&)&/span&
&span class=&n&&pyplot&/span&&span class=&o&&.&/span&&span class=&n&&show&/span&&span class=&p&&()&/span&
&/code&&/pre&&/div&&p&对于一些简单的情况,我们会假设已知有模型可以很好的对分布进行建模,缺少的只是合适的参数。这时候很自然只要根据观测到的样本,学习参数让当前观测到的样本下的似然函数最大,这就是最大似然估计(&b&M&/b&aximum &b&L&/b&ikelihood &b&E&/b&stimation):&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Chat%7B%5Ctheta%7D%3D%5Coperatorname%2A%7Bargmax%7D_%7B%5Ctheta%7D+P%28%5Cbm%7Bx%7D%7C%5Ctheta%29+%3D+%5Coperatorname%2A%7Bargmax%7D_%7B%5Ctheta%7D+%5Cprod_%7Bi%3D1%7D%5E%7Bn%7DP%28x_i%7C%5Ctheta%29+& alt=&\hat{\theta}=\operatorname*{argmax}_{\theta} P(\bm{x}|\theta) = \operatorname*{argmax}_{\theta} \prod_{i=1}^{n}P(x_i|\theta) & eeimg=&1&&&/p&&p&MLE是一个最基本的思路,实践中用得很多的还有KL散度(Kullback–Leibler divergence),假设真实分布是P,采样分布是Q,则KL散度为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=D_%7BKL%7D%28P%7C%7CQ%29%3D%5Csum_%7Bx+%5Cin+%5COmega%7DP%28%7Bx%7D%29%5Clog%5Cfrac%7BP%28x%29%7D%7BQ%28x%29%7D+& alt=&D_{KL}(P||Q)=\sum_{x \in \Omega}P({x})\log\frac{P(x)}{Q(x)} & eeimg=&1&&&/p&&p&从公式也能看出来,KL散度描述的是两个分布的差异程度。换个角度来看,让产生的样本和原始分布接近,也就是要让这俩的差异减小,所以最小化KL散度就等同于MLE。从公式上来看的话,我们考虑把公式具体展开一下:&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Cbegin%7Balign%7D+D_%7BKL%7D%28P%7C%7CQ%29+%26%3D%5Csum_%7Bx+%5Cin+%5COmega%7DP%28%7Bx%7D%29%5Clog%5Cfrac%7BP%28x%29%7D%7BQ%28x%29%7D+%5C%5C+%26+%3D-%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BQ%28x%29%7D+%2B%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BP%28x%29%7D+%5C%5C+%26+%3D-%5Csum_%7Bx%5Cin%5COmega%7DP%28%7Bx%7D%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5Cend%7Balign%7D& alt=&\begin{align} D_{KL}(P||Q) &=\sum_{x \in \Omega}P({x})\log\frac{P(x)}{Q(x)} \\ & =-\sum_{x\in\Omega}P({x})\log{Q(x)} +\sum_{x\in\Omega}P({x})\log{P(x)} \\ & =-\sum_{x\in\Omega}P({x})\log{Q(x)} +H(P) \end{align}& eeimg=&1&&&/p&&p&公式的第二项就是熵,先不管这项,用H(P)表示。接下来考虑一个小trick:从Q中抽样n个样本&img src=&https://www.zhihu.com/equation?tex=%7Bx_1%2Cx_2%2C...%2Cx_n%7D& alt=&{x_1,x_2,...,x_n}& eeimg=&1&&,来估算P(x)的经验值(empirical density function):&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Chat%7BP%7D%28x%29%3D%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Cdelta%28x_i-x%29& alt=&\hat{P}(x)=\frac 1 n \sum_{i=1}^n \delta(x_i-x)& eeimg=&1&&&/p&&p&其中&img src=&https://www.zhihu.com/equation?tex=%5Cdelta%28%5Ccdot%29& alt=&\delta(\cdot)& eeimg=&1&&是狄拉克&img src=&https://www.zhihu.com/equation?tex=%5Cdelta& alt=&\delta& eeimg=&1&&函数,把这项替换到上面公式的P(x):&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=%5Cbegin%7Balign%7D+D_%7BKL%7D%28P%7C%7CQ%29+%26%3D-%5Csum_%7Bx%5Cin%5COmega%7D%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Cdelta%28x_i-x%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5C%5C+%26+%3D-%5Cfrac+1+n+%5Csum_%7Bi%3D1%7D%5En+%5Csum_%7Bx%5Cin%5COmega%7D+%5Cdelta%28x_i-x%29%5Clog%7BQ%28x%29%7D+%2BH%28P%29+%5Cend%7Balign%7D& alt=&\begin{align} D_{KL}(P||Q) &=-\sum_{x\in\Omega}\frac 1 n \sum_{i=1}^n \delta(x_i-x)\log{Q(x)} +H(P) \\ & =-\frac 1 n \sum_{i=1}^n \sum_{x\in\Omega} \delta(x_i-x)\log{Q(x)} +H(P) \end{align}& eeimg=&1&&&/p&&p&因为是离散的采样值,所以&img src=&https://www.zhihu.com/equation?tex=%5Csum_%7Bx%5Cin%5COmega%7D+%5Cdelta%28x_i-x%29& alt=&\sum_{x\in\Omega} \delta(x_i-x)& eeimg=&1&&中只有&img src=&https://www.zhihu.com/equation?tex=x%3Dx_i& alt=&x=x_i& eeimg=&1&&的时候狄拉克&img src=&https://www.zhihu.com/equation?tex=%5Cdelta& alt=&\delta& eeimg=&1&&函数才为1,所以考虑&img src=&https://www.zhihu.com/equation?tex=x%3Dx_i& alt=&x=x_i& eeimg=&1&&时这项直接化为1:&/p&&p&&br&&/p&&p&&img src=&https://www.zhihu.com/equation?tex=D_%7BKL%7D%28P%7C%7CQ%29+%3D-%5Cfrac+1+n%5Csum_%7Bi%3D1%7D%5En+%5Clog%7BQ%28x_i%29%7D+%2BH%28P%29& alt=&D_{KL}(P||Q) =-\frac 1 n\sum_{i=1}^n \log{Q(x_i)} +H(P)& eeimg=&1&&&/p&&p&第一项正是似然的负对数形式。&/p&&p&说了些公式似乎跑得有点远了,其实要表达还是那个简单的意思:通过减小两个分布的差异可以让一个分布逼近另一个分布。仔细想想,这正是GAN里面adversarial loss的做法。&/p&&p&很多情况下我们面临的是更为复杂的分布,比如&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&上篇文章&/a&中的例子,又或是实际场景中更复杂的情况,比如生成不同人脸的图像。这时候,作为具有universal approximation性质的神经网络是一个看上去不错的选择[1]:&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6fee20494f50baae2c1dc5fc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1561& data-rawheight=&549& class=&origin_image zh-lightbox-thumb& width=&1561& data-original=&https://pic2.zhimg.com/v2-6fee20494f50baae2c1dc5fc_r.jpg&&&/figure&&p&所以虽然GAN里面同时包含了生成网络和判别网络,但本质来说GAN的目的还是生成模型。从生成式模型的角度,Ian Goodfellow总结过一个和神经网络相关生成式方法的“家谱”[1]:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-8c6f1d8ee39dfbb4fcfb2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&771& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&771& data-original=&https://pic4.zhimg.com/v2-8c6f1d8ee39dfbb4fcfb2_r.jpg&&&/figure&&p&在这其中,当下最流行的就是GAN和&b&V&/b&ariational &b&A&/b&uto&b&E&/b&ncoder(VAE),两种方法的一个简明示意如下[3]:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-380cde71a2f6ece28b4a97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&568& data-rawheight=&274& class=&origin_image zh-lightbox-thumb& width=&568& data-original=&https://pic1.zhimg.com/v2-380cde71a2f6ece28b4a97_r.jpg&&&/figure&&p&本篇不打算展开讲什么是VAE,不过通过这个图,和名字中的autoencoder也大概能知道,VAE中生成的loss是基于重建误差的。而只基于重建误差的图像生成,都或多或少会有图像模糊的缺点,因为误差通常都是针对全局。比如基于MSE(Mean Squared Error)的方法用来生成超分辨率图像,容易出现下面的情况[4]:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-78f53b142fab51b0c09a1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&892& data-rawheight=&598& class=&origin_image zh-lightbox-thumb& width=&892& data-original=&https://pic1.zhimg.com/v2-78f53b142fab51b0c09a1_r.jpg&&&/figure&&p&在这个二维示意中,真实数据分布在一个U形的流形上,而MSE系的方法因为loss的形式往往会得到一个接近平均值所在的位置(蓝色框)。&/p&&p&GAN在这方面则完爆其他方法,因为目标分布在流形上。所以只要大概收敛了,就算生成的图像都看不出是个啥,清晰度常常是有保证的,而这正是去除女优身上马赛克的理想特性!&/p&&p&&br&&/p&&h2&马赛克-&清晰画面:超分辨率(Super Resolution)问题&/h2&&p&说了好些铺垫,终于要进入正题了。首先明确,去马赛克其实是个图像超分辨率问题,也就是如何在低分辨率图像基础上得到更高分辨率的图像:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-31c84b42ad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&784& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&784& data-original=&https://pic2.zhimg.com/v2-31c84b42ad_r.jpg&&&/figure&&p&视频中超分辨率实现的一个套路是通过不同帧的低分辨率画面猜测超分辨率的画面,有兴趣了解这个思想的朋友可以参考我之前的一个答案:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何通过多帧影像进行超分辨率重构? &/a& &/p&&p&不过基于多帧影像的方法对于女优身上的马赛克并不是很适用,所以这篇要讲的是基于单帧图像的超分辨率方法。&/p&&h2&SRGAN&/h2&&p&说到基于GAN的超分辨率的方法,就不能不提到SRGAN[4]:《Photo-Realistic Single Image &b&S&/b&uper-&b&R&/b&esolution Using a &b&G&/b&enerative &b&A&/b&dversarial&br&&b&N&/b&etwork》。这个工作的思路是:基于像素的MSE loss往往会得到大体正确,但是高频成分模糊的结果。所以只要重建低频成分的图像内容,然后靠GAN来补全高频的细节内容,就可以了:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-128029dfc7c470b07a4a1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&446& data-rawheight=&131& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&https://pic3.zhimg.com/v2-128029dfc7c470b07a4a1_r.jpg&&&/figure&&p&这个思路其实和最早基于深度网络的风格迁移的思路很像(有兴趣的读者可以参考我之前文章&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&瞎谈CNN:通过优化求解输入图像&/a&的最后一部分),其中重建内容的content loss是原始图像和低分辨率图像在VGG网络中的各个ReLU层的激活值的差异:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-331e02e394cfd04e7114a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&529& data-rawheight=&150& class=&origin_image zh-lightbox-thumb& width=&529& data-original=&https://pic3.zhimg.com/v2-331e02e394cfd04e7114a_r.jpg&&&/figure&&p&生成细节adversarial loss就是GAN用来判别是原始图还是生成图的loss:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fa5af2a10fe9a4dadfb04_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&394& data-rawheight=&89& class=&content_image& width=&394&&&/figure&&p&把这两种loss放一起,取个名叫perceptual loss。训练的网络结构如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-17861edeb4bcfae4e9f369_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&780& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&780& data-original=&https://pic1.zhimg.com/v2-17861edeb4bcfae4e9f369_r.jpg&&&/figure&&p&正是上篇文章中讲过的C-GAN,条件C就是低分辨率的图片。SRGAN生成的超分辨率图像虽然PSNR等和原图直接比较的传统量化指标并不是最好,但就视觉效果,尤其是细节上,胜过其他方法很多。比如下面是作者对比bicubic插值和基于ResNet特征重建的超分辨率的结果:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f3b4376938ffcbd23c42d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&981& data-rawheight=&392& class=&origin_image zh-lightbox-thumb& width=&981& data-original=&https://pic4.zhimg.com/v2-f3b4376938ffcbd23c42d_r.jpg&&&/figure&&p&可以看到虽然很多细节都和原始图片不一样,不过看上去很和谐,并且细节的丰富程度远胜于SRResNet。这些栩栩如生的细节,可以看作是GAN根据学习到的分布信息“联想”出来的。&/p&&p&对于更看重“看上去好看”的超分辨率应用,SRGAN显然是很合适的。当然对于一些更看重重建指标的应用,比如超分辨率恢复嫌疑犯面部细节,SRGAN就不可以了。&/p&&h2&pix2pix&/h2&&p&虽然专门用了一节讲SRGAN,但本文用的方法其实是pix2pix[5]。这项工作刚在arxiv上发布就引起了不小的关注,它巧妙的利用GAN的框架解决了通用的Image-to-Image translation的问题。举例来说,在不改变分辨率的情况下:把照片变成油画风格;把白天的照片变成晚上;用色块对图片进行分割或者倒过来;为黑白照片上色;…每个任务都有专门针对性的方法和相关研究,但其实总体来看,都是像素到像素的一种映射啊,其实可以看作是一个问题。这篇文章的巧妙,就在于提出了pix2pix的方法,一个框架,解决所有这些问题。方法的示意图如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e2ea753b7b0d7f18abee3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&485& data-rawheight=&437& class=&origin_image zh-lightbox-thumb& width=&485& data-original=&https://pic1.zhimg.com/v2-e2ea753b7b0d7f18abee3_r.jpg&&&/figure&&p&就是一个Conditional GAN,条件C是输入的图片。除了直接用C-GAN,这项工作还有两个改进:&/p&&p&1)&b&利用U-Net结构生成细节更好的图片&/b&[6]&/p&&figure&&img src=&https://pic4.zhimg.com/v2-beb074bebbfa0db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&907& data-rawheight=&612& class=&origin_image zh-lightbox-thumb& width=&907& data-original=&https://pic4.zhimg.com/v2-beb074bebbfa0db_r.jpg&&&/figure&&p&U-Net是德国Freiburg大学模式识别和图像处理组提出的一种全卷积结构。和常见的先降采样到低维度,再升采样到原始分辨率的编解码(Encoder-Decoder)结构的网络相比,U-Net的区别是加入skip-connection,对应的feature maps和decode之后的同样大小的feature maps按通道拼(concatenate)一起,用来保留不同分辨率下像素级的细节信息。U-Net对提升细节的效果非常明显,下面是pix2pix文中给出的一个效果对比:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-2fb4ddb2fdc24eea31eea_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&563& data-rawheight=&307& class=&origin_image zh-lightbox-thumb& width=&563& data-original=&https://pic4.zhimg.com/v2-2fb4ddb2fdc24eea31eea_r.jpg&&&/figure&&p&可以看到,各种不同尺度的信息都得到了很大程度的保留。&/p&&p&2)&b&利用马尔科夫性的判别器(PatchGAN)&br&&/b&&/p&&p&pix2pix和SRGAN的一个异曲同工的地方是都有用重建解决低频成分,用GAN解决高频成分的想法。在pix2pix中,这个思想主要体现在两个地方。一个是loss函数,加入了L1 loss用来让生成的图片和训练的目标图片尽量相似,而图像中高频的细节部分则交由GAN来处理:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cb180ad03d8a72e7883285b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&447& data-rawheight=&51& class=&origin_image zh-lightbox-thumb& width=&447& data-original=&https://pic4.zhimg.com/v2-cb180ad03d8a72e7883285b_r.jpg&&&/figure&&p&还有一个就是&b&PatchGAN&/b&,也就是具体的GAN中用来判别是否生成图的方法。PatchGAN的思想是,既然GAN只负责处理低频成分,那么判别器就没必要以一整张图作为输入,只需要对NxN的一个图像patch去进行判别就可以了。这也是为什么叫Markovian discriminator,因为在patch以外的部分认为和本patch互相独立。&/p&&p&具体实现的时候,作者使用的是一个NxN输入的全卷积小网络,最后一层每个像素过sigmoid输出为真的概率,然后用BCEloss计算得到最终loss。这样做的好处是因为输入的维度大大降低,所以参数量少,运算速度也比直接输入一张快,并且可以计算任意大小的图。作者对比了不同大小patch的结果,对于256x256的输入,patch大小在70x70的时候,从视觉上看结果就和直接把整张图片作为判别器输入没什么区别了:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5172ca51efb4ee3e453b15_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&842& data-rawheight=&107& class=&origin_image zh-lightbox-thumb& width=&842& data-original=&https://pic1.zhimg.com/v2-5172ca51efb4ee3e453b15_r.jpg&&&/figure&&h2&生成带局部马赛克的训练数据&/h2&&p&利用pix2pix,只要准备好无码和相应的有码图片就可以训练去马赛克的模型了,就是这么简单。那么问题是,如何生成有马赛克的图片?&/p&&p&有毅力的话,可以手动加马赛克,这样最为精准。这节介绍一个不那么准,但是比随机强的方法:利用分类模型的激活区域进行自动马赛克标注。&/p&&p&基本思想是利用一个可以识别需要打码图像的分类模型,提取出这个模型中对应类的CAM(&b&C&/b&lass &b&A&/b&ctivation &b&M&/b&ap)[7],然后用马赛克遮住响应最高的区域即可。这里简单说一下什么是CAM,对于最后一层是全局池化(平均或最大都可以)的CNN结构,池化后的feature map相当于是做了个加权相加来计算最终的每个类别进入softmax之前的激活值。CAM的思路是,把这个权重在池化前的feature map上按像素加权相加,最后得到的单张的激活图就可以携带激活当前类别的一些位置信息,这相当于一种弱监督(classification--&localization):&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fd28f0b871bd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&660& data-rawheight=&314& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic4.zhimg.com/v2-fd28f0b871bd_r.jpg&&&/figure&&p&上图是一个CAM的示意,用澳洲梗类别的CAM,放大到原图大小,可以看到小狗所在的区域大致是激活响应最高的区域。&/p&&p&那么就缺一个可以识别XXX图片的模型了,网上还恰好就有个现成的,yahoo于2016年发布的开源色情图片识别模型Open NSFW(&b&N&/b&ot &b&S&/b&afe &b&F&/b&or &b&W&/b&ork):&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//github.com/yahoo/open_nsfw& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&yahoo/open_nsfw&/a&&/p&&p&CAM的实现并不难,结合Open NSFW自动打码的代码和使用放在了这里:&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//github.com/frombeijingwithlove/dlcv_for_beginners/tree/master/random_bonus/generate_mosaic_for_porno_images& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&给XX图片生成马赛克&/a&&/p&&p&&br&&/p&&p&(成功打码的)效果差不多是下面这样子:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-cbefa39dc983f2645dd8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&768& data-rawheight=&256& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic3.zhimg.com/v2-cbefa39dc983f2645dd8_r.jpg&&&/figure&&h2&去除(爱情)动作片中的马赛克&/h2&&p&这没什么好说的了,一行代码都不用改,只需要按照前面的步骤把数据准备好,然后按照pix2pix官方的使用方法训练就可以了:&/p&&p&Torch版pix2pix:&a href=&https://link.zhihu.com/?target=https%3A//github.com/phillipi/pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&phillipi/pix2pix&/a&&/p&&p&pyTorch版pix2pix(Cycle-GAN二合一版):&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/pytorch-CycleGAN-and-pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/pytorch-CycleGAN-and-pix2pix&/a&&/p&&p&从D盘里随随便便找了几千张图片,用来执行了一下自动打码和pix2pix训练(默认参数),效果是下面这样:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9f52b17c0e1296767cbfbfafc290a5bd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&814& data-rawheight=&691& class=&origin_image zh-lightbox-thumb& width=&814& data-original=&https://pic4.zhimg.com/v2-9f52b17c0e1296767cbfbfafc290a5bd_r.jpg&&&/figure&&p&什么?你问说好给女优去马赛克呢?女优照片呢?&/p&&figure&&img src=&https://pic4.zhimg.com/v2-480fb8a4dcfc7a4f92ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&75& data-rawheight=&60& class=&content_image& width=&75&&&/figure&&p&还是要说一下,在真人照片上的效果比蘑菇和花强。&/p&&h2&对偶学习(Dual Learning)&/h2&&p&去马赛克已经讲完了,接下来就是给女孩穿(tuo)衣服了,动手之前,还是先讲一下铺垫:&b&对偶学习&/b&和&b&Cycle-GAN&/b&。&/p&&p&对偶学习是MSRA于2016年提出的一种用于机器翻译的增强学习方法[8],目的是解决海量数据配对标注的难题,个人觉得算是一种弱监督方法(不过看到大多数文献算作无监督)。以机器翻译为例,对偶学习基本思想如下图[9]:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c4b1eeda364fb6c9bada02f3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&866& data-rawheight=&399& class=&origin_image zh-lightbox-thumb& width=&866& data-original=&https://pic3.zhimg.com/v2-c4b1eeda364fb6c9bada02f3_r.jpg&&&/figure&&p&左边的灰衣男只懂英语,右边的黑衣女只懂中文,现在的任务就是,要学习如何翻译英语到中文。对偶学习解决这个问题的思路是:给定一个模型&img src=&https://www.zhihu.com/equation?tex=f%3Ax%5Crightarrow+y& alt=&f:x\rightarrow y& eeimg=&1&&一上来无法知道f翻译得是否正确,但是如果考虑上&img src=&https://www.zhihu.com/equation?tex=f& alt=&f& eeimg=&1&&的对偶问题&img src=&https://www.zhihu.com/equation?tex=g%3Ay%5Crightarrow+x& alt=&g:y\rightarrow x& eeimg=&1&&,那么我可以尝试翻译一个英文句子到中文,再翻译回来。这种转了一圈的结果&img src=&https://www.zhihu.com/equation?tex=x%27%3Dg%28f%28x%29%29& alt=&x'=g(f(x))& eeimg=&1&&,灰衣男是可以用一个标准(BLEU)判断x'和x是否一个意思,并且把结果的一致性反馈给这两个模型进行改进。同样的,从中文取个句子,这样循环翻译一遍,两个模型又能从黑衣女那里获取反馈并改进模型。其实这就是强化学习的过程,每次翻译就是一个action,每个action会从环境(灰衣男或黑衣女)中获取reward,对模型进行改进,直至收敛。&/p&&p&也许有的人看到这里会觉得和上世纪提出的Co-training很像,这个在知乎上也有讨论:&/p&&p&&a href=&https://www.zhihu.com/question/& class=&internal&&如何理解刘铁岩老师团队在NIPS 2016上提出的对偶学习(Dual Learning)?&/a&&/p&&p&个人觉得还是不一样的,Co-Training是一种multi-view方法,比如一个输入x,如果看作是两个拼一起的特征&img src=&https://www.zhihu.com/equation?tex=x%3D%28x_1%2Cx_2%29& alt=&x=(x_1,x_2)& eeimg=&1&&,并且假设&img src=&https://www.zhihu.com/equation?tex=x_1& alt=&x_1& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=x_2& alt=&x_2& eeimg=&1&&互相独立,那么这时候训练两个分类器&img src=&https://www.zhihu.com/equation?tex=f_1%28%5Ccdot%29& alt=&f_1(\cdot)& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=f_2%28%5Ccdot%29& alt=&f_2(\cdot)& eeimg=&1&&对于任意样本x应该有&img src=&https://www.zhihu.com/equation?tex=f_1%28x_1%29%3Df_2%28x_2%29& alt=&f_1(x_1)=f_2(x_2)& eeimg=&1&&。这对没有标注的样本是很有用的,相当于利用了同一个样本分类结果就应该一样的隐含约束。所以Co-Training的典型场景是少量标注+大量未标注的半监督场景。并且&img src=&https://www.zhihu.com/equation?tex=f_1& alt=&f_1& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=f_2& alt=&f_2& eeimg=&1&&其实是两个不同,但是domain指向相同的任务。而Dual Learning中&img src=&https://www.zhihu.com/equation?tex=f& alt=&f& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=g& alt=&g& eeimg=&1&&是对偶任务,利用的隐含约束是&img src=&https://www.zhihu.com/equation?tex=x%5Crightarrow+y%5Crightarrow+x& alt=&x\rightarrow y\rightarrow x& eeimg=&1&&的cycle consistency。对输入的特征也没有像Co-Training有那么明确的假设,学习方法上也不一样,Dual Learning算是强化学习。&/p&&h2&CycleGAN和未配对图像翻译(Unpaired Image-to-Image Translation)&/h2&&p&CycleGAN,翻译过来就是:轮着干,是结合了对偶学习和GAN一个很直接而巧妙的想法[10],示意图如下:&/p&&figure&&img src=&https://pic8.zhimg.com/v2-9e7396ebccb7c42302fc97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&838& data-rawheight=&216& class=&origin_image zh-lightbox-thumb& width=&838& data-original=&https://pic8.zhimg.com/v2-9e7396ebccb7c42302fc97_r.jpg&&&/figure&&p&X和Y分别是两种不同类型图的集合,比如穿衣服的女优和没穿衣服的女优。所以给定一张穿了衣服的女优,要变成没穿衣服的样子,就是个图片翻译问题。CycleGAN示意图中(b)和(c)就是Dual Learning:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-de51cac58b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&347& data-rawheight=&62& class=&content_image& width=&347&&&/figure&&p&在Dual Learning基础上,又加入了两个判别器&img src=&https://www.zhihu.com/equation?tex=D_X& alt=&D_X& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=D_Y& alt=&D_Y& eeimg=&1&&用来进行对抗训练,让翻译过来的图片尽量逼近当前集合中的图片:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e0ea7a6b38bf2a20cea4ea6f741a4c67_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&442& data-rawheight=&59& class=&origin_image zh-lightbox-thumb& width=&442& data-original=&https://pic3.zhimg.com/v2-e0ea7a6b38bf2a20cea4ea6f741a4c67_r.jpg&&&/figure&&p&全考虑一起,最终的loss是:&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e6d99e7edea969da3dad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&357& data-rawheight=&87& class=&content_image& width=&357&&&/figure&&p&也许有人会问,那不加cycle-consistency,直接用GAN学习一个&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&的映射,让生成的Y的样本尽量毕竟Y里本身的样本可不可以呢?这个作者在文中也讨论了,会产生GAN训练中容易发生的mode collapse问题。mode collapse问题的一个简单示意如下[1]:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-309fce6329592babb784ed_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&842& data-rawheight=&262& class=&origin_image zh-lightbox-thumb& width=&842& data-original=&https://pic2.zhimg.com/v2-309fce6329592babb784ed_r.jpg&&&/figure&&p&上边的是真实分布,下边的是学习到的分布,可以看到学习到的分布只是完整分布的一部分,这个叫做partial mode collapse,是训练不收敛情况中常见的一种。如果是完全的mode collapse,就是说生成模型得到的都是几乎一样的输出。而加入Cycle-consistency会让一个domain里不同的样本都尽量映射到另一个domain里不同的地方,理想情况就是双射(bijection)。直观来理解,如果通过&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&都映射在Y中同一个点,那么这个点y通过&img src=&https://www.zhihu.com/equation?tex=Y%5Crightarrow+X& alt=&Y\rightarrow X& eeimg=&1&&映射回来显然不可能是多个不同的x,所以加入cycle-consistency就帮助避免了mode collapse。这个问题在另一篇和CycleGAN其实本质上没什么不同的方法DiscoGAN中有更详细的讨论[11],有兴趣的话可以参考。&/p&&p&&br&&/p&&p&有一点值得注意的是,虽然名字叫CycleGAN,并且套路也和C-GAN很像,但是其实只有adversarial,并没有generative。因为严格来说只是学习了&img src=&https://www.zhihu.com/equation?tex=X%5Crightarrow+Y& alt=&X\rightarrow Y& eeimg=&1&&和&img src=&https://www.zhihu.com/equation?tex=Y%5Crightarrow+X& alt=&Y\rightarrow X& eeimg=&1&&的mapping,所谓的generative network里并没有随机性。有一个和CycleGAN以及DiscoGAN其实本质上也没什么不同的方法叫DualGAN[12],倒是通过dropout把随机性加上了。不过所有加了随机性产生的样本和原始样本间的cycle-consistency用的还是l1 loss,总觉得这样不是很对劲。当然现在GAN这么热门,其实只要是用了adversarial loss的基本都会取个名字叫XXGAN,也许是可以增加投稿命中率。&/p&&p&另外上节中提到了Co-Training,感觉这里也应该提一下CoGAN[13],因为名字有些相似,并且也可以用于未配对的图像翻译。CoGAN的大体思想是:如果两个Domain之间可以互相映射,那么一定有一些特征是共有的。比如男人和女人,虽然普遍可以从长相区分,但不变的是都有两个眼睛一个鼻子一张嘴等等。所以可以在生成的时候,把生成共有特征和各自特征的部分分开,示意图如下:&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-57eaadc8cec5190bfd30_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&758& data-rawheight=&207& class=&origin_image zh-lightbox-thumb& width=&758& data-original=&https://pic4.zhimg.com/v2-57eaadc8cec5190bfd30_r.jpg&&&/figure&&p&其实就是两个GAN结构,其中生成网络和判别网络中比较高层的部分都采用了权值共享(虚线相连的部分),没有全职共享的部分分别处理不同的domain。这样每次就可以根据训练的domain生成一个样本在两个domain中不同的对应,比如戴眼镜和没戴眼镜:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-356a6118ccf3e8e3bf1c7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&791& data-rawheight=&267& class=&origin_image zh-lightbox-thumb& width=&791& data-original=&https://pic2.zhimg.com/v2-356a6118ccf3e8e3bf1c7_r.jpg&&&/figure&&p&分别有了共有特征和各自domain特征,那么做mapping的思路也就很直接了[14]:&/p&&p&&br&&/p&&figure&&img src=&https://pic7.zhimg.com/v2-8ac50600e40feaac345e09bd7e05a83d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&771& data-rawheight=&210& class=&origin_image zh-lightbox-thumb& width=&771& data-original=&https://pic7.zhimg.com/v2-8ac50600e40feaac345e09bd7e05a83d_r.jpg&&&/figure&&p&在GAN前边加了个domain encoder,然后对每个domain能得到三种样本给判别器区分:直接采样,重建采样,从另一个domain中transfer后的重建采样。训练好之后,用一个domain的encoder+另一个domain的generator就很自然的实现了不同domain的转换。用在图像翻译上的效果如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-612e9cf5e125fd626be7db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&444& data-rawheight=&544& class=&origin_image zh-lightbox-thumb& width=&444& data-original=&https://pic2.zhimg.com/v2-612e9cf5e125fd626be7db_r.jpg&&&/figure&&p&还有个巧妙的思路,是把CoGAN拆开,不同domain作为C-GAN条件的更加显式的做法[15]:&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ddec16d502c94f91ea35_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&883& data-rawheight=&398& class=&origin_image zh-lightbox-thumb& width=&883& data-original=&https://pic4.zhimg.com/v2-ddec16d502c94f91ea35_r.jpg&&&/figure&&p&第一步用噪声Z作为和domain无关的共享表征对应的latent noise,domain信息作为条件C训练一个C-GAN。第二步,训练一个encoder,利用和常见的encode-decode结构相反的decode(generate)-encode结构。学习好的encoder可以结合domain信息,把输入图像中和domain无关的共享特征提取出来。第三步,把前两步训练好的encoder和decoder(generator)连一起,就可以根据domain进行图像翻译了。&/p&&p&CoGAN一系的方法虽然结构看起来更复杂,但个人感觉理解起来要比dual系的方法更直接,并且有latent space,可解释性和属性对应也好一些。&/p&&p&又扯远了,还是回到正题:&/p&&p&&br&&/p&&h2&给女优穿上衣服&/h2&&p&其实同样没什么好说的,Cycle-GAN和pix2pix的作者是一拨人,文档都写得非常棒,准备好数据,分成穿衣服的和没穿衣服的两组,按照文档的步骤训练就可以:&/p&&p&Torch版Cycle-GAN:&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/CycleGAN& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/CycleGAN&/a&&/p&&p&pyTorch版Cycle-GAN(pix2pix二合一版):&a href=&https://link.zhihu.com/?target=https%3A//github.com/junyanz/pytorch-CycleGAN-and-pix2pix& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&junyanz/pytorch-CycleGAN-and-pix2pix&/a&&/p&&p&Cycle-GAN收敛不易,我用了128x128分辨率训练了穿衣服和没穿衣服的女优各一千多张,同样是默认参数训练了120个epoch,最后小部分成功“穿衣服”的结果如下:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fee34d66c386e0e01e5804_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1117& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&1117& data-original=&https://pic2.zhimg.com/v2-fee34d66c386e0e01e5804_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/v2-de57c5ebefa4251ee3caa1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1117& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&1117& data-original=&https://pic4.zhimg.com/v2-de57c5ebefa4251ee3caa1_r.jpg&&&/figure&&p&虽然都有些突兀,但好歹是穿上衣服了。注意马赛克不是图片里就有的,是我后来加上去的。&/p&&p&那么,脱衣服的例子在哪里?&/p&&figure&&img src=&https://pic4.zhimg.com/v2-480fb8a4dcfc7a4f92ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&75& data-rawheight=&60& class=&content_image& width=&75&&&/figure&&h2&参考文献&/h2&&p&[1] I. Goodfellow. Nips 2016 tutorial: Generative adversarial networks. arXiv preprint arXiv:, 2016.&/p&&p&[2] A. B. L. Larsen, S. K. S?nderby, Generating Faces with Torch. &a href=&https://link.zhihu.com/?target=http%3A//torch.ch/blog//gan.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Torch | Generating Faces with Torch&/a&&/p&&p&[3] A. B. L. Larsen, S. K. S?nderby, H. Larochelle, and O. Winther. Autoencoding beyond pixels using a&br&learned similarity metric. In ICML, pages , 2016.&br&&/p&&p&[4] C. Ledig, L. Theis, F. Huszar, J. Caballero, A. Aitken, A. Tejani, J. Totz, Z. Wang, and W. Shi. Photo-realistic single image super-resolution using a generative adversarial network. arXiv:, 2016.&/p&&p&[5] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Image-to-image translation with conditional adversarial networks. arxiv, 2016. &/p&&p&[6] O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolutional networks for biomedical image segmentation. In MICCAI, pages 234–241. Springer, 2015.&/p&&p&[7] B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Learning deep features for discriminative localization. arXiv preprint arXiv:, 2015.&/p&&p&[8] He, D., Xia, Y., Qin, T., Wang, L., Yu, N., Liu, T.-Y., and Ma, W.-Y. (2016a). Dual learning for machine translation. In the Annual Conference on Neural Information Processing Systems (NIPS), 2016.&/p&&p&&br&&/p&&p&[9] &a href=&https://link.zhihu.com/?target=http%3A//www.dsrg.stuorg.iastate.edu/wp-content/uploads/2017/02/dual-learning_-pushing-the-new-frontier-of-artificial-intelligence-tieyan-liu.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&& Tie-Yan Liu, Dual Learning: Pushing the New Frontier of Artificial Intelligence, MIFS 2016&/a& &/p&&p&[10] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networkss. arXiv preprint arXiv:, 2017.&/p&&p&[11] T. Kim, M. Cha, H. Kim, J. Lee, and J. Kim. Learning to Discover Cross-Domain Relations with Generative Adversarial Networks. ArXiv e-prints, Mar. 2017.&/p&&p&&br&&/p&&p&[12] Z. Yi, H. Zhang, P. T. Gong, et al. DualGAN: Unsupervised dual learning for image-to-image translation. arXiv preprint arXiv:, 2017.&/p&&p&&br&&/p&&p&[13] M.-Y. Liu and O. Tuzel. Coupled generative adversarial networks. In Advances in Neural Information Processing Systems (NIPS), 2016.&/p&&p&[14] M.-Y. Liu, T. Breuel, and J. Kautz. Unsupervised image-to-image translation networks. arXiv preprint arXiv:, 2017.&/p&&p&[15] Dong, H., Neekhara, P., Wu, C., Guo, Y.: Unsupervised image-to-image translation with generative adversarial networks. arXiv preprint arXiv:, 2017.&/p&&p&=========== 分割线: ===========&/p&&p&上周日发的时候也想到了可能会有许多人对这个话题感兴趣,但没想到超过了1.5W赞这么多,大概看了看评论,做一些补充:&/p&&p&&b&1) &/b&马赛克训练数据:对于一般的机器学习问题,都是分布越简单越容易,遵循这个原则,我用的约束是单人照片,具体方法是:先找一个Pascal VOC训练好的SSD代码,然后SSD筛选了一批每张图里只能检测到一个人的。&/p&&p&最后在真人照片上的效果看上去还是不错的,我没有做过量化评估,大体来说看上去挺像的要超过一半,非常逼真的可能有5%~10%。两人以上战斗的动作画面我没有评估过。&/p&&p&&b&2)&/b&穿(tuo)衣训练数据:因为收敛很难,所以数据的加了更多约束:只用女性单人正面照片。同样通过SSD检测出单人照片,同时考虑person框的宽高比小于1的且框内能检测到人脸的(OpenCV的人脸检测)。这样尽量筛选出一批面向镜头,身体占画面比接近的照片。&/p&&p&最后的效果我在原文中也提到过,只有小部分能成功穿上(tuo)衣服,具体我也没有量化统计过,大概100张里两三张吧,大部分都是身上出现了看上去有点像衣服的线条或是另一个人的胸部。考虑到我最后筛选出的图片人物占画面比仍然有很大的变化,很可能我的模型就是遇到了文中提到的partial mode collapse的问题。&/p&&p&如果有更好的办法筛选出人物大小差不多的照片,效果应该能提升不少。比如我在用SSD筛选的时候如果考虑宽高比更小一些,筛选出的照片看上去会更加一致,不过我资源不太够,这样做后训练集就只有不到300张,资源够的老司机们有兴趣可以试试。&/p&&p&&br&&/p&&p&&b&3)&/b&预训练模型有没有?有,但是我研读了中华人民共和国刑法第三百六十三、三百六十四和三百六十六条,完全读不懂,所以还是不提供。再说就算我提供了,根据1)和2),看到你想看的内容也是需要运气的。&/p&&p&另外特别感谢赞赏的知友们,这篇文章是想说&b&书中自有颜如玉&/b&,而知友们的赞赏让我知道&b&书中真有黄金屋&/b&,古人诚不我欺…&/p&
作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章。这篇就介绍利用生成式对抗网络(GAN)的两个基本驾驶技能: 1) 去除(爱情)动作片中的马赛克2) 给(爱情)动作片中的女孩穿(tuo)衣服 生成式模型上一篇《》中已经简单介…
要论荐书,当代最热情最靠谱的非鹦鹉史航莫属。涉猎之广,眼光之独到,叹为观止。&br&以下为他在微博中的推荐书目:&br&&blockquote&&p&1.
东野圭吾:《嫌疑人X的献身》《新参者》《白夜行》《秘密》《彷徨之刃》《流星之绊》《红手指》《湖边凶杀案》&/p&&p&
《怪笑小说》《恶意》《初参者》&/p&&p&2.
野上照代:《等云到》&/p&&p&3.
韩石山:《民国文人风骨》《张颔传》&/p&&p&4.
王安忆:《黄河故道人》《流水三十章》《小鲍庄》《谁是未来的中队长》《黑黑白白》《69届初中生》《叔叔的故事》《神圣祭坛》《留级生》《兄弟们》《王安忆张新颖谈话录》《李章给我照相》&/p&&p&5.
李长声:《日下书》《日下散记》《东居闲话》《枕日闲谈》《浮世物语》&/p&&p&6.
刘震云:《乡村故事》《一句顶一万句》《官场》《单位》《头人》《故乡天下黄花》《故乡相处流传》《一地鸡毛》《我不是潘金莲》《温故一九四二》&/p&&p&7.
刘索拉:《摇摇滚滚的道路》《你别无选择》&/p&&p&8.
刘西鸿:《黑森林》&/p&&p&9.
海明威:《太阳照常升起》《弗朗西斯麦康伯短暂的幸福生活》《海明威短篇小说选》《印第安人营地》《杀人者》&/p&&p&
《桥边老人》《蝴蝶与坦克》《一个干净明亮的地方》《白象似的群山》《阿尔卑斯山牧歌》《老人与海》《流动的圣餐》&/p&&p&10.
《多谢你的小费》(原博说作者是资深餐厅侍应生)&/p&&p&11.
李晓:《断喉剑》《销魂刀》《独行客》&/p&&p&12.
米尔恩:《聪明的小傻熊》《小熊历险记》《丑小鸭》(舞台剧)&/p&&p&13.
施尼茨勒:《相思的苦酒》《绿鹦鹉》《大开眼戒》《轮舞》《薄命的戴丽莎》《阿纳托尔》(只有解放前译本)&/p&&p&14.
王树增:《长征》&/p&&p&15.
桑德堡《从未出生》&/p&&p&16.
埃米罗厄尔《丁香》&/p&&p&17.
桑德堡《微微的闪光》&/p&&p&18.
德龄:《瀛台泣血记》(秦瘦鸥译)&/p&&p&19.
冰心:《我们太太的客厅》《冰心书信全集》《记事珠》&/p&&p&20.
韩石山:《民国文人风骨》&/p&&p&21.《世界动画大师》&/p&&p&22.
龙一:《代号》《潜伏》&/p&&p&23.
苏童:《我的帝王生涯》《肉联厂的春天》《妇女乐园》《强盗》《小偷》&/p&&p&24.
叶曙明:《阿龙史诗》《草莽中国》《重返五四现场:1919,一个国家的青春记忆》《中国1927谁主沉浮》《草莽中国》&/p&&p&25.
契诃夫:《契诃夫手记》《瑞典火柴》《契诃夫独幕剧集》《三姊妹》&/p&&p&26.
爱伦堡:《人岁月生活》《第二天》《印度印象记》&/p&&p&27.
托洛茨基:《托洛茨基自传》&/p&&p&28.
洛根史密斯:《琐事录》&/p&&p&29.
杰罗姆:《三人同舟》《三人同行》&/p&&p&30.
阿索林:《卡斯蒂利亚的花园》《西班牙小景》&/p&&p&31.
希梅内斯:《小银和我》&/p&&p&32.
威廉曼切斯特:《光荣与梦想》&/p&&p&33.
爱德华劳伦斯:《沙漠革命记》&/p&&p&34.
《阿拉伯的劳伦斯》(吕叔湘译)&/p&&p&35.
加西亚·马尔克斯:《霍乱时期的爱情》《族长的没落》《一件事先张扬的凶杀案》《百年孤独》&/p&&p&36.
李长之:《鲁迅批判》《孔子的故事》《司马迁之人格与风格》《道教徒李白及其痛苦》&/p&&p&37.
老舍:《断魂枪》《女店员》《离婚》《宝船》《正红旗下》《牛天赐传》&/p&&p&38.
余华:《鲜血梅花》&/p&&p&39.
冯骥才:《阴阳八卦》《一百个人的十年》&/p&&p&40.
张北海:《侠隐》&/p&&p&41.
蔡康永:《LA流浪记》&/p&&p&42.
小野不由美《十二国记的景王阳子的初敕》&/p&&p&43.
布雷德伯里:《华氏451°》&/p&&p&44.
弗兰克麦考特:《安琪拉的灰烬》《就是这儿》《教书匠》&/p&&p&45.
冯自由(原名懋龙):《革命逸史》&/p&&p&46.
鲁迅:《长明灯》《铸剑》《狂人日记》《鲁迅全集》《杨贵妃》&/p&&p&47.
朵渔:《史间道》&/p&&p&48.
余世存:《非常道》《常言道》&/p&&p&49.
朱文轶:《进城:1949》&/p&&p&50.
舍伍德安德森:《小城畸人》&/p&&p&51.
王朔:《昆明周记》《和我们的女儿谈话》《致女儿书》《给我顶住》《看下去很美》《一半是火焰一半是海水》&/p&&p&
《我讨厌的词》《我是你爸爸》《许爷》《他们曾使我空虚》《过把瘾就死》《我的几个国庆节》《火欲:单立人探案集》&/p&&p&52.
杉浦日向子:《百物语》(漫画)&/p&&p&53.
顾文瑾:《情怀已死》&/p&&p&54.
陈荫荣:《兴唐传》&/p&&p&55.
袁阔成:《水泊梁山》&/p&&p&56.
张立宪:《关于评书的记忆碎片》《青衣张火丁》&/p&&p&57.
康重华:《火烧赤壁》(扬州评话)&/p&&p&58.
王少堂:《武松》《宋江》(扬州评话)&/p&&p&59.
王丽堂:《石秀》(扬州评话)&/p&&p&60.
汪曾祺:《皮凤三楦房子》《复仇》《陈小手》《汪曾祺文集》《云致秋行状》《汉武帝》《虐猫》《窥浴》《讲用》&/p&&p&
《星期天》《八月骄阳》《安乐居》《王四海的黄昏》《航空奖券》《文嫂》《金冬心》《八千岁》《鉴赏家》《岁寒三友》《受戒》《徙》《七里茶坊》《黄油烙饼》《职业》《寂寞和温暖》《异秉》《得意楼与如意楼》《大淖记事》《晚饭花集》《说戏》&/p&&p&61.
《皮五辣子》(扬州评话。原名《清风闸》。浦琳原著,余又春口述)&/p&&p&62.
&a href=&//link.zhihu.com/?target=http%3A//book.douban.com/search/%25E6%25A0%25BC%25E9%259B%25B7%25E5%258E%%25A7%%25B7%25E6%25A0%25BC%25E6%259E%2597& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&格雷厄姆·格林&i class=&icon-external&&&/i&&/a& :《恋情的终结》《问题的核心》《人性的因素》《权利与荣耀》《我自己的世界:梦之日记》&/p&&p&
《格林短篇小说选》《寻找一个角色》《输家变赢家》《炸弹宴会》《中国游记》《一支出卖的枪》《布莱顿硬糖》&/p&&p&
《沉静的美国人》《我们在哈瓦那的人》《第十个人》《吉诃德大神父》&/p&&p&63.
博马舍:《塞维勒的理发师》&/p&&p&64.
黑泽明:《蛤蟆的油》《美好的星期天》《天国与地狱》《野狗》《七武士》《罗生门》《乱》《活下去》&/p&&p&65.
图尼埃:《鲁滨逊的结局》&/p&&p&66.
高阳:《红楼梦断》《草莽英雄》《徐老虎与白寡妇》《金色昙花》《清官册》《假官真做》《慈禧全传》《秦桧传》&/p&&p&
《岳飞传》《正德外记》&/p&&p&67.
陈渠珍:《艽野尘梦》&/p&&p&68.
朱鸿召:《延安:日常生活中的历史》&/p&&p&69.
让诺安:《笑的历史》&/p&&p&70.
林鹏:《咸阳宫》《蒙斋读书记》&/p&&p&71.
李敖:《北京法源寺》&/p&&p&72.
半窗灵鼠斋《洛丽塔与拉布拉多》(日记)&/p&&p&73.
雨果:《悲惨世界》《九三年》《巴黎圣母院》《布格—雅加尔》《死囚末日记》《笑面人》&/p&&p&74.
杜丽:《我是哪一种吸血鬼》,《谁比谁活得更长》(是散文。另,散文推荐:孙犁、周晓枫、鲍尔吉原野、温普林、&/p&&p&
蔡康永;游记推荐:王安忆、金克木、汪曾祺、张中行)&/p&&p&75.
思公:《晚清尽头是民国》&/p&&p&76.
陈村:《五根日记》《少男少女,一共七个》《走通大渡河》《小说老子》&/p&&p&77.
罗伯特佩恩华伦、詹姆斯布鲁克斯:《小说鉴赏》上下卷&/p&&p&78.
何平:《爱国者游戏》《别拿畜生不当人》&/p&&p&79.
高尔基:《童年》《在人间》《我的大学》《文学写照》《夏天》《高尔基小说集&&/SPAN&旅伴集&》《瓦萨惹列兹诺娃》&/p&&p&
《高尔基诗选》(郭在精编译)&/p&&p&80.
戈尔登 :《目击者》&/p&&p&81.
兹德涅克.姆林纳日:《严寒来自克里姆林宫》&/p&&p&82.
山多尔.科帕奇:《匈牙利悲剧》&/p&&p&83.
塔德·舒尔茨:《布拉格之春前后》&/p&&p&84.
罗.亚.麦德维杰夫:《让历史来审判》&/p&&p&85.
若列斯·亚·麦德维杰夫 / 罗伊·亚·麦德维杰夫:《谁是疯子》&/p&&p&86.
阿.阿马利里克:《被迫的西伯利亚之行》&/p&&p&87.
谢宏军:《乡村诊所》(王安忆和陈丹青联手作序)&/p&&p&88.
马丁舍瓦尔、佩尔瓦勒:《大笑的警察》《坏坯子》《弑警犯》《恐怖分子》&/p&&p&89.
陈存仁:《银元时代生活史》《抗战时代生活史》(回忆录)(另,推荐唐鲁孙的作品)&/p&&p&90.
李翰祥:《影海生涯》(回忆录)&/p&&p&91.
刘心武:《私人照相簿》&/p&&p&92.
《蒙面骑士:墨西哥副司令马科斯文集》(戴锦华主编并作长序)&/p&&p&93.
鲍若望:《毛泽东的囚徒》&/p&&p&94.
杰弗里·图宾:《九人》(副标题: 美国最高法院风云。何帆译)&/p&&p&95.
陈凯歌:《青山》《天国》(散文)&/p&&p&96.
路易斯布努埃尔:《我最后的叹息》(回忆录)&/p&&p&97.
冯尼古特:《囚鸟》&/p&&p&98.
卓别林:《卓别林自传》&/p&&p&99.
李翰祥:《影海生涯》上下卷(回忆录)&/p&&p&100.阿诺罗贝尔:《猫头鹰在家》(翻译者杨茂秀),《讲故事》(青蛙和蟾蜍系列,阿诺德·洛贝尔童话,王积和译)&/p&&p&101.马卡连柯:《教育诗》&/p&&p&102.贾德诺:《初出茅庐破大案》(“妙探奇案系列”)&/p&&p&103.詹姆斯赫里厄特:《上帝创造了一切》(“乡村兽医系列”)&/p&&p&104.《从破晓到黄昏:顾媚回忆录》(香港三联)&/p&&p&105.《演员的库藏记忆:李立群的人生风景》(台版的国立中正文化中心)&/p&&p&106.辛克莱刘易斯:《煤炭王》《屠场》《石油》《波士顿》&/p&&p&107.《蔡澜常去食肆160间》&/p&&p&108.周作人:《苦口甘口》《知堂回想录》《周作人晚年手札一百封》《凡人的信仰》《周作人译文全集》&/p&&p&109.李翰祥:《影海生涯》上下两卷(回忆录)&/p&&p&110.杜波夫、巴格尼:《白宫女仆》&/p&&p&111.冯亦代(主编):《献给艾米莉的玫瑰》&/p&&p&112.普佐著:《西西里人》&/p&&p&113.鲍勃康西丹:《超越生命:哈默博士传》&/p&&p&114.吴恭亨:《对联话》&/p&&p&115.坦娜希尔:《历史中的性》&/p&&p&116.《聪明人的宝石》(安徒生童话之七)&/p&&p&117.叶琳娜沃隆佐娃:《姑娘与海军上将》&/p&&p&118.夏济安:《夏济安日记》&/p&&p&119.杨步伟:《杂忆赵家》(回忆录)&/p&&p&120.何大草:《刀子和刀子》&/p&&p&121.陈垣:《乱世与宗教信仰》&/p&&p&122.《也同欢乐也同愁》(陈寅恪子女的回忆录)&/p&&p&123.黛维夫人:《家庭中的泰戈尔》&/p&&p&124.刘绪贻:《箫声剑影》(回忆录)&/p&&p&125.小太郎:《银座妈妈的桑说话术》&/p&&p&126.何立伟:《花非花》&/p&&p&127.恺蒂:《海天冰谷说书人》&/p&&p&128.玛丽·诺顿(儿童文学家):《借东西的地下小人》&/p&&p&129.钟燕齐、陶杰:《九龙皇帝》&/p&&p&130.上田秋成:《雨月物语》&/p&&p&131.罗伊斯顿派克:《被遗忘的苦难:英国工业革命的人文实录》&/p&&p&132.徐懋庸:《鸡肋》&/p&&p&133.钟晓阳:《停车暂借问》《流年》《良宵》&/p&&p&134.2BLACK:《再见松田》&/p&&p&135.亦舒:《喜宝》《玫瑰的故事》《特首小姐你早》《蓉岛之春》&/p&&p&136.刘恒:《逍遥颂》《东西南北风》《黑的雪》&/p&&p&137.弗雷泽:《魔鬼的律师:为迷信辩护》《金枝》&/p&&p&138.萧红:《回忆鲁迅先生》《马伯乐》&/p&&p&139.范笑我:《笑我贩书》&/p&&p&140.蒋经国:《伟大的西北》&/p&&p&141.仓本聪:《远山的呼唤》《来自北国》&/p&&p&142.张爱玲:《忆胡适之》《封锁》《红玫瑰与白玫瑰》《小团圆》《秧歌》《流言》&/p&&p&143.奥登:《夜间漫步》&/p&&p&144.尼采:《善恶之外》&/p&&p&145.《列宁在十月》《列宁在1918》&/p&&p&146.《堕落天使》&/p&&p&147.孙孟晋:《激情迷宫里的凝视》&/p&&p&148.陈富康:《回忆郑振铎》&/p&&p&149.李力:《怀念家父李克农》&/p&&p&150.乔良:《灵旗》&/p&&p&151.韩少功:《火宅》&/p&&p&152.何立伟:《花非花》&/p&&p&153.马原:《拉萨河女神》&/p&&p&154.孙犁:《孙犁文集》《孙犁文论集》《曲终集》《铁木前传》《鲁迅传》《书林秋草》《书衣文录》《耕堂读书记》&/p&&p&
《晚华集》《秀露集》《远道集》《尺泽集》《如云集》《澹定集》《陋巷集》《老荒集》《无为集》《风云初记》&/p&&p&
《白洋淀纪事》&/p&&p&155.屠格涅夫:《父与子》《绳在细处断:屠格涅夫戏剧集》&/p&&p&156.黄佐临:《往事点滴》&/p&&p&157.狄更斯:《远大前程》《双城记》《匹克威克外传》&/p&&p&158.乔治·R·R·马丁:《冰与火之歌》《图夫航行记》&/p&&p&159.洛根﹒皮尔索尔﹒史密斯:《洛根史密斯散文选》&/p&&p&160.儒勒·列那尔:《于列那尔散文选》&/p&&p&161.费孝通:《美国与美国人》&/p&&p&162.欧.亨利:《欧亨利短篇小说选》《白菜与皇帝》《欧亨利小说全集》&/p&&p&163.列维施特劳斯:《忧郁的热带》&/p&&p&164.比安基:《森林报》&/p&&p&165.考林韦恩:《动物远征队》&/p&&p&166.樋口一叶:《青梅竹马》&/p&&p&167.《盛京刑部原档》(群众出版社)&/p&&p&168.《日本民间故事选》(含《买梦的男子》《猿长者》《瓜姬》《猴女婿》《爱流鼻涕的小和尚》《咯吱咯吱山》《乞水鸟》《专给人剃光头的狐狸》《龙宫的猫》《尼姑裁判》《让鲜花盛开的老爷爷》《柿饼的妈妈》《山猫和锅盖》《泥太郎》&/p&&p&
《弃老山》《钓河童》《猿蟹合战》《一寸法师》《浦岛太郎》)&/p&&p&169.加德纳:《加德纳 妙探奇案系列》(15本30个小说)&/p&&p&170.奥凯西:《奥凯西戏剧选》(人民文学出版社)&/p&&p&171.侯宝林、薛宝琨、汪景寿、李万鹏:《相声溯源》&/p&&p&172.《萧红身世考》(呼兰河萧红研究会编)&/p&&p&173.李庚:《仇重童话选》(仇重是个冷门的儿童文学作家,编辑过《中学生》)&/p&&p&174.哥尔斯密:《威克菲牧师传》&/p&&p&175.林格伦:《大侦探小卡莱》《吵闹村的孩子们》《玛迪琴懂事了》(湖南少儿出版社)&/p&&p&176.王西彦:《书与生活》&/p&&p&177.石原慎太郎:《野狼与少女》《太阳的季节》&/p&&p&178.朱赢椿:《陆拾柒目》《伍拾叁次》&/p&&p&179.渡边淳一:《钝感力》&/p&&p&180.霍尔德曼:《永远的和平》&/p&&p&181.罗伯特比特纳:《孤儿远征军》&/p&&p&182.迈克尔斯万维克:《潮汐站》&/p&&p&183.李欣频:《爱欲修道院》&/p&&p&184.郑逸梅:《艺林散叶》《艺海一勺》《近代名人丛话》《清末民初文坛轶事》《南社丛谈》《逸梅杂札》《艺坛百影》&/p&&p&
《珍闻与

我要回帖

更多关于 马伯乐招聘网 的文章

 

随机推荐