数慧时空20年磨一剑:推出智能遥感云平台DIEY,自然资源多模态大模型“长城”,为地理信息产业提速

作者 | 伍杏玲

出品 | CSDN

据中国地理信息产业发展报告公布的数据,截至2020年末,行业从业单位13.8万家,从业人数336.6万,到2021年末,从业单位增加到16.4万家,从业人数增加到398万,产业规模越来越大,但人均产值却越来越低,产业亟待升级优化。由ChatGPT引发的 AI大模型带来了新机遇。

5月17日,第十二届全球地理信息开发者大会(WGDC2023),北京数慧时空信息技术有限公司(以下简称:数慧时空)发布自然资源多模态大模型“长城”和基于该大模型自主研发的智能遥感云平台DIEY产品,用技术为地理信息产业升级加码助力。

一、自然资源多模态大模型“长城”,源自 20 年积累

数慧时空创立于2003年,专注于自然资源大数据运营服务,深耕自然资源领域二十年,是山东土地发展集团旗下的国家级高新技术企业。

据数慧时空副总经理卢宇航介绍,“长城”大模型正是基于数慧时空在自然资源领域20年的业务理解和技术积累,自主研发的一款自然资源行业大模型。它综合了自然资源领域文本、图像、视频等多种模态的数据,通过对不同模态数据的学习,能够有效对自然资源调查、审批、监管等业务进行理解和生成。“长城”大模型可用于要素解译、变化监测、反演等处理能力的增强。

 

二、历时三年精心打造,一站式智能遥感云平台DIEY来了

历时3年,数慧时空研发出智能遥感云平台DIEY,融合了AI、计算机视觉、知识图谱等技术,在“长城”大模型的助力下,以“卫星即服务”为愿景,打造了无人值守的影像处理工厂、要素提取工厂、应用构建工厂,可实现从遥感影像获取到最终服务交付的实时化、无缝化,让卫星成为人人可用的大数据。

从“DIEY”的名字我们可以看到数慧时空的用意:“D”是Data,代表数慧20年的业务沉淀,“I”为AI,代表人工智能,“EY”即为“EYE”,代表计算机视觉。产品名称体现了将数慧20年的业务理解与AI和计算机视觉技术的融合创新。

 

DIEY涵盖十个系统,数慧时空云是基础底座,提供算子、应用编排等基础能力;影像智能统筹系统可根据影像使用需求挑选最合适的原始影像;航天影像处理系统、航飞影像处理系统、SAR影像处理系统分别用于对航天、航飞、SAR影像进行相应的处理;在线样本采集与模型训练系统用于自主采集样本并进行模型训练;影像智能解译系统、影像变化监测系统、智能反演与气象预测系统服务于要素解译、变化检测、指标反演的使用场景;卫星即服务系统用于快速低成本部署、极速发布。

目前,DIEY产品通过不断迭代,已形成60余项专利,累计服务国内外20余个区域。在本次大会上,智能遥感云平台DIEY产品入选“年度最具创新力产品TOP30”,数慧时空入选“年度最具创新力企业TOP100”。

DIEY让一个就是一个影像生产和要素提取工厂。卢宇航表示,一些企业持有大量数据但数据变现能力不足,如果想提高数据生产与处理的能力,又往往需要招聘专业人才、采购设备和工具,这会带来较大的成本投入。数慧时空基于多年的业务理解,将业务规则变成算法,并借助AI技术持续进行自学习优化,让DIEY更易用、更自动、更智能,实现了从影像获取到最终服务交付的实时化、无缝化,最终使数据价值得到极大释放。

DIEY让一个就是一个应用构建工厂。卢宇航举了个例子,我们用建筑物、水域等基础要素与耕地等管理数据叠加,可以分析其是否属于耕地非农,但这只是一个数据的一次分析,如果想要一个青岛市耕地非农化监测的常态应用,可使用数慧时空云便捷地构建应用。DIEY实现了GIS平台软件所具有的空间分析、数理统计、制图、栅格计算等基础算子,在基础算子之上又内置了后处理、植被盖度反演、土地利用专题图等大量的复合算子。只需拖拉拽,即可使用基础要素生产符合应用需要的专题数据,可利用基础算子和复合算子构建出更加复杂的场景模型。数据、算子、场景,均支持一键发布服务。

DIEY让一个就是一个公司。卢宇航总结道,DIEY支持企业以“前店后厂”的商业模式开展业务。如果你是上游企业更贴近数据,你可以建厂,由DIEY为你提供生产车间,你也可以委托数慧时空给你做加工;如果你是下游企业更贴近用户,你可以开店,基于DIEY向用户提供专题产品、应用开发等增值服务;如果你是集成商,你可以在你擅长的领域,同时建厂开店。DIEY在数慧时空和长光卫星的共同赋能下,相信一定会为行业带来增量,从而为企业“省钱、生钱”。

谈及未来规划,卢宇航表示,数慧时空始终坚持长期主义,致力“做正确但困难的事情”,既然已经选定了赛道和目标,就会坚定不移地走下去。DIEY目前在ToG端应用较多,未来将在ToB端落地更多的应用。

DEVICE.SUMMARY.TAB_FILTER with tlist as( select nvl(c.device_name,a.cell_name) as item, b.vt_type || ' ' || nvl(c.para,a.test_item) as parameterStr from YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA a join YES_USER.T_WAP_DOE_INFO b on a.item = b.item and a.cell_name = b.cellname and b.delete_status = 0 left join IWORKSMGR.TDWB_T_PLM_DEVICE_DVNAME_CONFIG c on a.item = c.item and a.cell_name = c.cellname and a.test_item = c.test_item left join YES_USER.T_WAP_TARGET_INFO d on b.item = d.item and a.cell_name = d.cellname and d.delete_status = 0 and b.vdd = d.vdd and b.TEMPERATURE = d.TEMPERATURE and a.test_item = d.CONFIG_KEY and d.config_type = 'targetConfig' where a.LOT_METROLOGY_END_TIME between to_date(?,'YYYY/MM/DD') and to_date(?,'YYYY/MM/DD') +1 ? ? ? ? ? ? ? ? ? ? ? ? ? ) SELECT distinct item,parameterStr from tlist where 1=1 ? DEVICE.SUMMARY.SPLIT_TAB_FILTER select loopName,stepName from( select loop_name as loopName, step_name as stepName from TDWB_T_PLM_DEVICE_SPLIT_TAB_CONFIG where 1=1 ? ? group by loop_name,step_name ) limit 100 DEVICE.DOE.SELECT_DATA_LIST select distinct ? as ? from YES_USER.T_WAP_DOE_INFO where delete_status = 0 and item = ? ? limit 100 DEVICE.TARGET.SELECT_DATA_LIST select distinct ? as ? from YES_USER.T_WAP_TARGET_INFO where delete_status = 0 and ITEM = ? ? limit 100 DEVICE.SUMMARY.MAP_ANALYSIS select b.vt_type as vtType, b.channel_type as channelType, a.source_lot as lotId, a.wafer_id as waferId, a.die_x as dieX, a.die_y as dieY, a.raw_value as rawValue from YES_USER.T_WAP_RAW_DATA_PARSING a join YES_USER.T_WAP_DOE_INFO b on a.item = b.item and a.cell_name = b.cellname and b.delete_status = 0 where a.LOT_METROLOGY_END_TIME between to_date(?,'YYYY/MM/DD') and to_date(?,'YYYY/MM/DD') +1 and upper(a.test_item) = 'VTSAT' ? ? ? ? ? ? ? ? ? ? ? ? ? DEVICE.SUMMARY.SPLIT_TAB select loop_name as loopName, step_name as stepName, lot_id as lotId, wafer_id as waferId, config_value as configValue, null as targetValue from TDWB_T_PLM_DEVICE_SPLIT_TAB_CONFIG where lot_id in (?) and wafer_id in (?) DEVICE.SUMMARY.DASHBOARD select nvl(c.device_name,a.cell_name) as item, b.vt_type || ' ' || nvl(c.para,a.test_item) as parameterStr, a.source_lot as lotId, a.wafer_id as waferId, a.CONVERT_FILTER_MEDIAN as rawMedian, b.vt_type as vt, d.config_value as target, case when (upper(a.test_item) in ('VTSAT')) then 1 else 0 end as degFlag from YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA a join YES_USER.T_WAP_DOE_INFO b on a.item = b.item and a.cell_name = b.cellname and b.delete_status = 0 left join IWORKSMGR.TDWB_T_PLM_DEVICE_DVNAME_CONFIG c on a.item = c.item and a.cell_name = c.cellname and a.test_item = c.test_item left join YES_USER.T_WAP_TARGET_INFO d on b.item = d.item and a.cell_name = d.cellname and d.delete_status = 0 and b.vdd = d.vdd and b.TEMPERATURE = d.TEMPERATURE and a.test_item = d.CONFIG_KEY and d.config_type = 'targetConfig' where a.LOT_METROLOGY_END_TIME between to_date(?,'YYYY/MM/DD') and to_date(?,'YYYY/MM/DD') +1 ? ? ? ? ? ? ? ? ? ? ? ? ? DEVICE.SUMMARY.FABS SELECT fab, recipeId, testItem FROM ( SELECT fab AS fab, TEST_RECIPE AS recipeId, test_item AS testItem FROM YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA WHERE LOT_METROLOGY_END_TIME BETWEEN to_date('?', 'YYYY/MM/DD') AND to_date('?', 'YYYY/MM/DD') + 1 GROUP BY fab , TEST_RECIPE, test_item ) DEVICE.SUMMARY.VTSAT_ANALYSIS SELECT a.lot_id AS lotId, a.WAFER_ID AS waferId, CASE WHEN b.channel_type = 'P' THEN a.CONVERT_FILTER_MEDIAN END AS pVtsatY, CASE WHEN b.channel_type = 'N' THEN a.CONVERT_FILTER_MEDIAN END AS nVtsatX from YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA a join YES_USER.T_WAP_DOE_INFO b on a.item = b.item and a.cell_name = b.cellname and b.delete_status = 0 left join IWORKSMGR.TDWB_T_PLM_DEVICE_DVNAME_CONFIG c on a.item = c.item and a.cell_name = c.cellname and a.test_item = c.test_item left join YES_USER.T_WAP_TARGET_INFO d on b.item = d.item and a.cell_name = d.cellname and d.delete_status = 0 and b.vdd = d.vdd and b.TEMPERATURE = d.TEMPERATURE and a.test_item = d.CONFIG_KEY and d.config_type = 'targetConfig' WHERE a.LOT_METROLOGY_END_TIME between to_date(?,'YYYY/MM/DD') and to_date(?,'YYYY/MM/DD') +1 and upper(a.test_item) = 'VTSAT' ? ? ? ? ? ? ? ? ? ? ? ? ? DEVICE.DOE.IMPORT_PAGE select project, createDate, operator, updateTime, qty from ( select item as project, CREATE_TIME as createDate, create_user as operator, update_time as updateTime, update_user as updataUser, row_number() over(partition by item order by CREATE_TIME asc) rn , count(1) over(partition by item) as qty from YES_USER.T_WAP_DOE_INFO where delete_status=0) where rn=1 DEVICE.TARGET.IMPORT_PAGE SELECT project, createDate, operator, updateTime, qty FROM ( SELECT item AS project, CREATE_TIME AS createDate, create_user AS createUser, update_time AS updateTime, update_user AS operator, ROW_NUMBER() OVER(PARTITION BY item ORDER BY CREATE_TIME ASC) rn , count(1) OVER(PARTITION BY item) AS qty FROM YES_USER.T_WAP_TARGET_INFO WHERE delete_status = 0) WHERE rn = 1 DEVICE.DEVICE_NAME.SELECT_DATA_LIST select distinct ? as ? from IWORKSMGR.TDWB_T_PLM_DEVICE_DVNAME_CONFIG where delete_status = 0 and ITEM = ? ? limit 100 DEVICE.DEVICE_NAME.IMPORT_PAGE SELECT project, createDate, operator, updateTime, qty FROM ( SELECT item AS project, CREATE_DATE AS createDate, CREATE_BY AS createUser, LAST_UPDATE_DATE AS updateTime, LAST_UPDATE_BY AS operator, ROW_NUMBER() OVER(PARTITION BY item ORDER BY CREATE_DATE ASC) rn , count(1) OVER(PARTITION BY item) AS qty FROM IWORKSMGR.TDWB_T_PLM_DEVICE_DVNAME_CONFIG WHERE delete_status = 0) WHERE rn = 1 DEVICE.TREND_CHART SELECT a.ID AS id, a.ITEM AS item, a.DEPARTMENT AS department, a.TEST_LAYER AS testLayer, a.SOURCE_LOT AS sourceLot, a.LOT_ID AS lotId, a.WAFER_ID AS waferId, '#'||substr(a.WAFER_ID,-2,2) as waferNum, a.SLOT_ID AS slotId, a.TEST_RECIPE AS testRecipe, a.CELL_NAME AS cellName, a.TEST_ITEM AS testItem, a.PARAMETER_NAME AS parameterName, a.SITE AS site, a.DIE_X AS dieX, a.DIE_Y AS dieY, a.POS AS pos, a.RAW_VALUE AS rawValue, a.CONVERT_VALUE AS convertValue, a.FILTER_FLAG AS filterFlag, a.TARGET_DUT AS targetDut, a.DOE_DUT AS doeDut, a.LOT_METROLOGY_START_TIME AS lotMetrologyStartTime, a.LOT_METROLOGY_END_TIME AS lotMetrologyEndTime, a.CREATE_TIME AS createTime, a.UPDATE_TIME AS updateTime, b.channel_type as channelType, b.nfin as nfin, b.tsk_metal as tskMetal, b.cell_type as cellType, b.cellname as cellName, b.vt_type as vt, b.CHANNEL_LENGTH AS lg, d.CONFIG_VALUE AS target FROM YES_USER.T_WAP_RAW_DATA_PARSING a JOIN YES_USER.T_WAP_DOE_INFO b ON a.item = b.item AND a.cell_name = b.cellname left join YES_USER.T_WAP_TARGET_INFO d on b.item = d.item and a.cell_name = d.cellname and b.vdd = d.vdd and b.TEMPERATURE = d.TEMPERATURE and a.test_item = d.CONFIG_KEY and d.config_type = 'targetConfig' --targetȱһ¸ö²ⁿϮ where a.LOT_METROLOGY_END_TIME between to_date('?','YYYY/MM/DD') and to_date('?','YYYY/MM/DD') +1 DEVICE.TREND_CHART.DEFAULT_PROJECT select projectName from ( select item as projectName, row_number() over( order by create_time desc ) rn from YES_USER.T_WAP_DOE_INFO ) where rn = 1 limit 1 DEVICE.TREND_CHART.PROJECT_LIST select item as projectName from YES_USER.T_WAP_DOE_INFO where 1=1 ? group by item DEVICE.TREND_CHART_RAW_FILTER_LIST select fab as fab,TEST_RECIPE as recipeId,test_item as testItem from YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA where 1=1 ? group by fab ,TEST_RECIPE,test_item DEVICE.SUMMARY.BOX_PLOT_ANALYSIS select b.vt_type as vtType, b.channel_type as channelType, a.source_lot as lotId, a.wafer_id as waferId, a.die_x as dieX, a.die_y as dieY, a.raw_value as rawValue from YES_USER.T_WAP_RAW_DATA_PARSING a join YES_USER.T_WAP_DOE_INFO b on a.item = b.item and a.cell_name = b.cellname and b.delete_status = 0 where a.LOT_METROLOGY_END_TIME between to_date(?,'YYYY/MM/DD') and to_date(?,'YYYY/MM/DD') +1 and upper(a.test_item) = 'VTSAT' ? ? ? ? ? ? ? ? ? ? ? ? ? DEVICE.TREND_CHART.FILTER_LIST select channel_type as channelType, nFin as nFin, tsk_metal AS metal, cell_type as bitCellType, cellname as cellName, vt_type as vt, item as project from YES_USER.T_WAP_DOE_INFO where 1=1 ? GROUP BY channel_type ,nFin ,tsk_metal ,cell_type ,cellname ,vt_type ,item DEVICE.TREND_CHART.LOT_OR_WAFER select lotId,waferId from ( select source_lot as lotId ,wafer_id as waferId from YES_USER.T_WAP_RAW_PARSING_SUMMARY_DATA group by source_lot,wafer_id ) where 1=1 ? ? DEVICE.DETAIL_TARGET_DATA SELECT * FROM ( SELECT ID AS id, ITEM AS item, DEPARTMENT AS department, TARGET_DUT AS targetDut, CONFIG_TYPE AS configType, CONFIG_KEY AS configKey, --test_item CONFIG_VALUE AS configValue, TARGET_FILE_NAME AS targetFileName, CREATE_TIME AS createTime, UPDATE_TIME AS updateTime, CREATE_USER AS createUser, UPDATE_USER AS updateUser, CELLNAME AS cellName, TEMPERATURE AS temperature, VDD AS vdd, DELETE_STATUS AS deleteStatus FROM YES_USER.T_WAP_TARGET_INFO WHERE DELETE_STATUS = 0 ) WHERE 1=1 DEVICE.DETAIL_RAW_DATA select * from ( SELECT a.ID AS id, a.ITEM AS item, a.DEPARTMENT AS department, a.TEST_LAYER AS testLayer, a.SOURCE_LOT AS sourceLot, a.LOT_ID AS lotId, a.WAFER_ID AS waferId, '#'||substr(a.WAFER_ID,-2,2) as waferNum, a.SLOT_ID AS slotId, a.TEST_RECIPE AS testRecipe, a.CELL_NAME AS cellName, a.TEST_ITEM AS testItem, a.PARAMETER_NAME AS parameterName, a.SITE AS site, a.DIE_X AS dieX, a.DIE_Y AS dieY, a.POS AS pos, a.RAW_VALUE AS rawValue, a.CONVERT_VALUE AS convertValue, a.FILTER_FLAG AS filterFlag, a.TARGET_DUT AS targetDut, a.DOE_DUT AS doeDut, a.LOT_METROLOGY_START_TIME AS lotMetrologyStartTime, a.LOT_METROLOGY_END_TIME AS lotMetrologyEndTime, a.CREATE_TIME AS createTime, a.UPDATE_TIME AS updateTime, a.UPDATE_TIME AS updateTime, a.FAB AS fab, b.channel_type as channelType, b.nfin as nfin, b.tsk_metal as tskMetal, b.cell_type as cellType, b.cellname as cellName, b.vt_type as vt FROM YES_USER.T_WAP_RAW_DATA_PARSING a JOIN YES_USER.T_WAP_DOE_INFO b ON a.item = b.item AND a.cell_name = b.cellname AND a.FAB = b.FAB ) WHERE 1=1 DEVICE.DETAIL_DOE_DATA SELECT * FROM ( SELECT b.ID AS id, b.DEPARTMENT AS department, b.ITEM AS item, b.TSK_METAL AS tskMetal, b.CELL_TYPE AS cellType, b.CHANNEL_TYPE AS channelType, b.VT_TYPE AS vtType, b.NFIN AS nfin, b.CHANNEL_LENGTH AS channelLength, b.POLY_PITCH AS polyPitch, b.VDD AS vdd, b.TEMPERATURE AS temperature, b.WITH_DNW AS withDnw, b.BLOCK_NUM AS blockNum, b.DECOUPLE AS decouple, b.TSK_NAME AS tskName, b.FINGER_TYPE AS fingerType, b.DIFFUSION_BREAK AS diffusionBreak, b.STAGE AS stage, b.DIVIDER AS divider, b.M0WIDTH AS m0Width, b.AA AS aa, b.M0GWIDTH AS m0gWidth, b.M0GLENGTH AS m0gLength, b.HIR_LENGTH AS hirLength, b.V0WIDTH AS v0Width, b.V0LENGTH AS v0Length, b.MEASUREMENT AS measurement, b.TYPE_NAME AS typeName, b.FLAG AS flag, b.HIR_WIDTH AS hirWidth, b.CELLNAME AS cellName, b.DOE_DUT AS doeDut, b.TARGET_DUT AS targetDut, b.DOE_FILE_NAME AS doeFileName, b.CREATE_TIME AS createTime, b.UPDATE_TIME AS updateTime, b.CREATE_USER AS createUser, b.UPDATE_USER AS updateUser, b.FAB AS fab FROM YES_USER.T_WAP_DOE_INFO b WHERE b.DELETE_STATUS = 0 ) WHERE 1=1
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值