前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Task2 PNG_TO_TEXT

Task2 PNG_TO_TEXT

作者头像
平凡的学生族
发布2019-05-25 10:01:09
3600
发布2019-05-25 10:01:09
举报
文章被收录于专栏:后端技术后端技术

任务需求

给予一张图片和对其分析处理过的.json,要求编程实现用英文描述这张图片的解决方案。

举例

图与json

文字描述

个人思路

首先,图中的图片种类仅有45项。

所有种类

它们分别是4个场景里的东西,garden, farm, dinning room 和 park。

文档中说明有4个场景

那么,不同的场景下,描述的语言会有各自的特点。比如,在室内,树、花和草都是养在盆子里的,那么描述场景在室内的图片时,要加上 The trees and flowers and grass are in the bucket.且牛羊等动物不会在吃草,也就是不会有 The sheep are grazingThe cow is on the flowers.的描述。

另外,各种物体的位置关系也会影响对图片的描述。比如,当牛羊在车上而不在草地上时,它们就不会在吃草,也同样不会有 The sheep are grazingThe cow is on the flowers.这样的描述。当动物两边都有树时,要描述The trees are on both sides of the sheep(或其它动物)

还有一点,我们通过left属性,很容易判断两个物体的左右关系,通过zIndex可以判断前后关系。至于top属性,我们一般认为牛羊这些动物是不会在栅栏/房顶上的,但鸡可以在房顶上,蝴蝶可以飞在花上,猫可以在椅子、沙发上。 这时候引出一个问题:当我遇到生物A(比如猫)与环境B(比如椅子、沙发),A的top属性小于B,那么说A在B上面是否正确? 经过思考,我认为,这个并不重要,只要是在另一个家具的上面,就可以说是on了。同理,在家具/植物/交通工具的左边/右边,也可以直接这么说。

这时候,我们就想到,静物与静物比较,动物尽可能与静物比较。

思路2

分为第一层描述对象与第二层描述对象 为每个第二层描述对象找到第一层的描述对象

为每个第一层描述对象找到另一个第一层的描述对象

第一层描述链有环,找到并消除zIndex从大到小的路径 拓扑排序地描述

如果树多于2棵,一棵树就不必以另一颗树/花为参照 花也是如此。

安装json格式化工具

argParse

https://docs.python.org/3/library/argparse.html

python Google风格 注释规范

http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/#comments

局限

由于json文件信息有限,无法判断鸟是停留在地面/树上还是在飞。只能一并认为在飞。

感想

python 的 debug真的挺麻烦的,只知道输出debug法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任务需求
    • 举例
    • 个人思路
    • 思路2
    • 安装json格式化工具
    • argParse
    • python Google风格 注释规范
    • 局限
    • 感想
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档