CN117893396A - 一种基于阻变存储器的图像边缘检测任务执行方法及装置 - Google Patents

一种基于阻变存储器的图像边缘检测任务执行方法及装置 Download PDF

Info

Publication number
CN117893396A
CN117893396A CN202410117387.2A CN202410117387A CN117893396A CN 117893396 A CN117893396 A CN 117893396A CN 202410117387 A CN202410117387 A CN 202410117387A CN 117893396 A CN117893396 A CN 117893396A
Authority
CN
China
Prior art keywords
pixel point
value
original image
gradient
voltage value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410117387.2A
Other languages
English (en)
Other versions
CN117893396B (zh
Inventor
张徽
时拓
高丽丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202410117387.2A priority Critical patent/CN117893396B/zh
Priority claimed from CN202410117387.2A external-priority patent/CN117893396B/zh
Publication of CN117893396A publication Critical patent/CN117893396A/zh
Application granted granted Critical
Publication of CN117893396B publication Critical patent/CN117893396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本说明书公开了一种基于阻变存储器的图像边缘检测任务执行方法及装置,在获取原始图像并确定出原始图像中各像素点对应的灰度值后,通过预先配置的第一阻变存储器确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值,而后针对每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,从而根据第二阻变存储器在此第三电压值对对应的电压的控制下输出的电流的电流值,确定出该像素点对应的初始边缘特征数据,进而根据原始图像中各像素点对应的初始边缘特征数据,执行边缘检测任务。通过第一阻变存储器以及第二阻变存储器对原始图像中各像素点对应的灰度值进行预处理,提高了图像边缘检测任务的执行效率。

Description

一种基于阻变存储器的图像边缘检测任务执行方法及装置
技术领域
本说明书涉及计算机视觉领域,尤其涉及一种基于阻变存储器的图像边缘检测任务执行方法及装置。
背景技术
随着计算机视觉领域的不断发展,对于图像的处理需求也逐渐增大,而作为计算机视觉领域中基础任务的图像边缘检测,在越来越多的任务中需要处理大量的图像,而目前的图像边缘检测方法可以分为自动化检测以及非自动化检测。
对于非自动化图像边缘检测,这种非自动化方法在图像边缘检测过程中需要人工介入,从而在部分步骤中对图像进行处理,在数量级较小的任务中,尚且可以满足需求,但随着任务的图像处理需求量进一步增大,非自动化图像边缘检测也逐渐被放弃。而对于自动化图像检测,其主要通过图像边缘检测模型对图像边缘进行检测,而对于图像边缘检测模型的构建,往往需要使用大量的图像数据对模型进行有监督训练,对于训练样本的构建需要大量的标注数据,其中数量级较高的训练样本的获取难度较高,并且在训练过程中以及实际应用过程中的所需计算资源量以及功耗都较高。
因此,如何有效的提高图像边缘检测任务的执行效率,是一个亟待解决的问题。
发明内容
本说明书提供一种基于阻变存储器的图像边缘检测任务执行方法,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种基于阻变存储器的图像边缘检测任务执行方法,包括:
获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值;
针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的纵向横向梯度值,以及将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值;
针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据;
根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
可选地,预先写入第一电导值,具体包括:
获取图像边缘检测任务对应的梯度求解卷积核,并确定出所述梯度求解卷积核中各梯度求解卷积权重值,其中,所述图像边缘检测任务对应的梯度求解卷积核用于根据所述原始图像中各像素点对应的灰度值,确定出所述原始图像中各像素点对应的横向梯度值以及纵向梯度值;
通过预先确定出的第一转化关系,转化所述梯度求解卷积核中各梯度求解卷积权重值,得到梯度求解卷积核对应的各电导值,作为第一电导值,并将所述第一电导值写入所述第一阻变存储器,所述第一转化关系用于表示电导值与梯度求解卷积权重值之间的数值转化关系。
可选地,预先写入第二电导值,具体包括:
获取图像边缘检测任务对应的梯度处理函数,并确定出所述梯度处理函数中的线性计算部分的系数,并根据预先确定出的第二转化关系,转化所述线性计算部分的系数,以确定出所述线性计算部分的系数对应的电导值,作为第二电导值,并将所述第二电导值写入到所述第二阻变存储器,所述第二转化关系用于表示电导值与所述线性计算部分的系数之间的数值转化关系。
可选地,针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据,具体包括:
针对所述原始图像中的每个像素点,根据预先确定出的第三转化关系,将该像素点对应的横向梯度值转化为该像素点对应的第三电压值对中的横向电压值,以及根据预先确定出的第三转化关系,将该像素点对应的纵向梯度值转化为该像素点对应的第三电压值对中的纵向电压值;
根据该像素点对应的横向电压值控制所述第二阻变存储器,并按照预先确定的第四转化关系,将所述第二阻变存储器基于该像素点对应的横向电压值输出电流的电流值转化为该像素点对应的第一表征数据,以及根据该像素点对应的纵向电压值控制所述第二阻变存储器,并按照预先确定出的第四转化关系,将所述第二阻变存储器基于该像素点对应的纵向电压值输出电流的电流值转化为该像素点对应的第二表征数据;
根据该像素点对应的第一表征数据以及该像素点对应的第二表征数据,确定出该像素点对应的初始边缘特征数据。
可选地,预先确定第三转化关系,具体包括:
根据所述原始图像中各像素点对应的横向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的横向梯度值与各横向电压值之间的横向电压转化关系,以及根据所述原始图像中各像素点对应的纵向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的纵向梯度值与各纵向电压值之间的纵向电压转化关系;
根据所述横向电压转化关系以及所述纵向电压转化关系,确定出所述第三转化关系。
可选地,根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务,具体包括:
根据所述原始图像中每个像素点对应的初始边缘特征数据,以及图像边缘检测任务对应的梯度处理函数中的非线性计算部分,确定出该像素点对应的目标边缘特征数据;
根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务。
可选地,根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务,具体包括:
根据预设的特征重构函数处理所述原始图像中各像素点对应的目标边缘特征数据,得到所述原始图像中各像素点对应的重构边缘特征数据;
通过预设的解模糊化规则,处理所述原始图像中各像素点对应的横向梯度值以及纵向梯度值,确定出所述原始图像中各像素点对应的解模糊化系数,针对每个像素点,通过不同的解模糊化规则处理该像素点对应的横向梯度值和纵向梯度值,得到不同的解模糊化系数;
针对所述原始图像中的每个像素点,根据预先确定出的第五转化关系转化该像素点对应的重构边缘特征数据,得到该像素点对应的电导值,并将该像素点对应的电导值写入所述第三阻变存储器;
根据预先确定出的第六转化关系转化该像素点对应的解模糊化系数,得到该像素点对应的电压值,并根据该像素点对应的电压值控制写入该像素点对应的电导值后的所述第三阻变存储器,以根据预先确定的第七转化关系,将所述第三阻变存储器在该像素点对应的电压值的控制下输出电流的电流值转化为该像素点对应的边缘系数值
根据所述原始图像中各像素点对应的边缘系数值以及所述原始图像中各像素点对应的重构边缘特征数据,确定出所述原始图像对应的图像边缘检测结果。
本说明书提供了一种基于阻变存储器的图像边缘检测任务执行装置,包括:
获取模块,用于获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值;
第一转化模块,用于针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值,以及将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值;
第二转化模块,用于针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据;
执行模块,用于根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
可选地,所述第一转化模块具体用于,
获取图像边缘检测任务对应的梯度求解卷积核,并确定出所述梯度求解卷积核中各梯度求解卷积权重值,其中,所述图像边缘检测任务对应的梯度求解卷积核用于根据所述原始图像中各像素点对应的灰度值,确定出所述原始图像中各像素点对应的横向梯度值以及纵向梯度值;通过预先确定出的第一转化关系,转化所述梯度求解卷积核中各梯度求解卷积权重值,得到梯度求解卷积核对应的各电导值,作为第一电导值,并将所述第一电导值写入所述第一阻变存储器,所述第一转化关系用于表示电导值与梯度求解卷积权重值之间的数值转化关系。
可选地,所述第二转化模块具体用于,
获取图像边缘检测任务对应的梯度处理函数,并确定出所述梯度处理函数中的线性计算部分的系数,并根据预先确定出的第二转化关系,转化所述线性计算部分的系数,以确定出所述线性计算部分的系数对应的电导值,作为第二电导值,并将所述第二电导值写入到所述第二阻变存储器,所述第二转化关系用于表示电导值与所述线性计算部分的系数之间的数值转化关系。
可选地,所述第二转化模块具体用于,
针对所述原始图像中的每个像素点,根据预先确定出的第三转化关系,将该像素点对应的横向梯度值转化为该像素点对应的第三电压值对中的横向电压值,以及根据预先确定出的第三转化关系,将该像素点对应的纵向梯度值转化为该像素点对应的第三电压值对中的纵向电压值;根据该像素点对应的横向电压值控制所述第二阻变存储器,并按照预先确定的第四转化关系,将所述第二阻变存储器基于该像素点对应的横向电压值输出电流的电流值转化为该像素点对应的第一表征数据,以及根据该像素点对应的纵向电压值控制所述第二阻变存储器,并按照预先确定出的第四转化关系,将所述第二阻变存储器基于该像素点对应的纵向电压值输出电流的电流值转化为该像素点对应的第二表征数据;根据该像素点对应的第一表征数据以及该像素点对应的第二表征数据,确定出该像素点对应的初始边缘特征数据。
可选地,所述第二转化模块具体用于,
根据所述原始图像中各像素点对应的横向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的横向梯度值与各横向电压值之间的横向电压转化关系,以及根据所述原始图像中各像素点对应的纵向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的纵向梯度值与各纵向电压值之间的纵向电压转化关系;根据所述横向电压转化关系以及所述纵向电压转化关系,确定出所述第三转化关系。
可选地,所述执行模块具体用于,
根据所述原始图像中每个像素点对应的初始边缘特征数据,以及图像边缘检测任务对应的梯度处理函数中的非线性计算部分,确定出该像素点对应的目标边缘特征数据;根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务。
可选地,所述执行模块具体用于,
根据预设的特征重构函数处理所述原始图像中各像素点对应的目标边缘特征数据,得到所述原始图像中各像素点对应的重构边缘特征数据;通过预设的解模糊化规则,处理所述原始图像中各像素点对应的横向梯度值以及纵向梯度值,确定出所述原始图像中各像素点对应的解模糊化系数,针对每个像素点,通过不同的解模糊化规则处理该像素点对应的横向梯度值和纵向梯度值,得到不同的解模糊化系数;针对所述原始图像中的每个像素点,根据预先确定出的第五转化关系转化该像素点对应的重构边缘特征数据,得到该像素点对应的电导值,并将该像素点对应的电导值写入所述第三阻变存储器;根据预先确定出的第六转化关系转化该像素点对应的解模糊化系数,得到该像素点对应的电压值,并根据该像素点对应的电压值控制写入该像素点对应的电导值后的所述第三阻变存储器,以根据预先确定的第七转化关系,将所述第三阻变存储器在该像素点对应的电压值的控制下输出电流的电流值转化为该像素点对应的边缘系数值根据所述原始图像中各像素点对应的边缘系数值以及所述原始图像中各像素点对应的重构边缘特征数据,确定出所述原始图像对应的图像边缘检测结果。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于阻变存储器的图像边缘检测任务执行方法。
本说明书提供了一种电子设备,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于阻变存储器的图像边缘检测任务执行方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的基于阻变存储器的图像边缘检测任务执行方法中,先获取原始图像,以及确定出原始图像中各像素点对应的灰度值,而后通过预先配置的第一阻变存储器确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值,而后针对每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,从而根据第二阻变存储器在此第三电压值对对应的电压的控制下输出的电流的电流值,确定出该像素点对应的初始边缘特征数据,进而根据原始图像中各像素点对应的初始边缘特征数据,执行边缘检测任务。
从上述方法可以看出,通过第一阻变存储器计算原始图像中各像素点对应的横向梯度值以及纵向梯度值,而后针对每个像素点,将该像素点对应的横向梯度值与纵向梯度值转化为第三电压值对,进而根据此第三电压值对控制第二阻变存储器,此控制过程即映射了对原始图像中各像素点对应的横向梯度值与纵向梯度值进行乘法运算的过程,而后将第二阻变存储器输出的电流的电流值进行转化,即可确定出基于原始图像中每个像素点对应的横向梯度值以及纵向梯度值得到的边缘特征数据,进而根据此边缘特征数据执行图像边缘检测任务,在图像边缘检测任务的执行过程中,通过第一阻变存储器以及第二阻变存储器对原始图像中各像素点对应的灰度值进行预处理,从而提高了图像边缘检测任务的执行效率
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的一种基于阻变存储器的图像边缘检测任务执行方法的流程示意图;
图2为本说明书提供的一种针对原始图像执行列补位以及行补位的流程示意图;
图3为本说明书提供的一种基于阻变存储器的图像边缘检测任务执行装置的结构示意图;
图4为本说明书中提供的一种对应于图1的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
本说明书提供的一种基于阻变存储器的图像边缘检测任务执行方法的执行主体可以是诸如笔记本电脑、台式电脑等终端设备,也可以是安装在终端设备中的客户端,抑或是服务器,而为了便于描述,下面仅以执行主体是终端设备为例,对本说明书提供的一种基于阻变存储器的图像边缘检测任务执行方法进行说明。
在现有的计算机视觉领域,图像处理技术被大量应用,而作为图像处理技术中的基础操作,图像边缘检测的处理需求也愈发增大,而对于现有的图像边缘检测方法而言,通常都是以彩色图像作为初始图像,而后通过彩色图像中的三色像素值执行图像边缘检测,而对于图像边缘检测,主流的检测方法往往需要确定出彩色图像对应的灰度图像,进而根据灰度图像中各像素点对应的灰度值确定出灰度图像中各像素点对应的各梯度值,而后根据梯度处理函数对各梯度值进行处理,从而实现图像边缘检测。而基于上述过程,即可得知,实际上,图像边缘检测可以被视作对已知图像对应的灰度图像中各像素点对应的各梯度值进行处理的方法。但现有的图像边缘检测方法往往在求取梯度值这个前置步骤上耗费了较多的计算资源,从而影响了图像边缘检测任务的执行效率。
通过上述内容可知,现有的图像边缘检测的方法存在着较大的缺陷,图像检测任务执行过程中需要花费较多的计算资源求取图像中各像素点对应的各梯度值,这导致了图像边缘检测任务的执行效率较低。
基于此,本说明书提供了一种基于阻变存储器的图像边缘检测任务执行方法,终端设备将原始图像中两个相邻的像素点对应的灰度值转化为该两个像素点对应的电压值对,而后根据此电压值对控制预先配置的第一阻变存储器,并将阻变存储器输出的电流的电流值进行转化,即可得到该两个像素点之间的梯度值。通过阻变存储器进行大量的梯度值计算,相对于终端设备自身计算各像素点之间的梯度值,大量减少了运算的资源耗费并提高了计算的效率。而在确定出各像素点对应的各梯度值后,还可以通过第二阻变存储器对各像素点对应的横向梯度值以及纵向梯度值进行进一步处理,相对的,这部分处理也对应着图像边缘检测中针对各像素点对应的梯度值的部分计算步骤,在通过第一阻变存储器替代终端设备完成梯度值计算的基础上,通过第二阻变存储器替代终端设备执行针对各像素点对应的梯度值的部分计算步骤的运算,无疑减少了图像边缘检测整体的资源耗费,提高了图像边缘检测任务的执行效率。
下面将对本说明书提供的方案进行详细说明。
图1为本说明书提供的一种基于阻变存储器的图像边缘检测任务执行方法的流程示意图,包括:
S101:获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值。
终端设备在获取原始图像后,需要确定出原始图像中各像素点对应的灰度值,而终端设备的原始图像通常为三色图,因此,可根据原始图像中各像素点对应的三色像素值确定出各像素点对应的灰度值,具体的,计算灰度值的公式如下:
F(i,j)=0.2989R(i,j)+05870G(i,j)+0.1140B(i,j)
其中F(i,j)指原始图像中第i列第j行的像素点对应的灰度值,R(i,j)指原始图像中第i列第j行的像素点对应的红色像素值,G(i,j)指原始图像中第i列第j行的像素点对应的绿色像素值,B(i,j)指原始图像中第i列第j行的像素点对应的蓝色像素值,而公式中的三个常数为对于各类像素值的处理系数,可以基于需求进行设置,本说明书仅陈述一组可用的处理系数,并未具体限制。
为了更方便的说明,本说明书将原始图像的尺寸限制为宽为200,高为300,即原始图像尺寸为[200,300],即共200*300=60000个像素点组成的图像,而对原始图像的尺寸,本说明书不作具体限制。
S102:针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值,以及将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值。
终端设备在得到原始图像以及原始图像中各像素点对应的灰度值后,即可根据预先配置的第一阻变存储器实现各像素点对应的梯度值的求取。其中,预先配置第一阻变存储器需要先获取图像边缘检测任务对应的梯度求解卷积核,并确定出此梯度求解卷积核中各梯度求解卷积值。其中,图像边缘检测任务对应的梯度求解卷积核用于根据原始图像中各像素点对应的灰度值,确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值。对于本说明书而言,所使用的梯度求解卷积核包括:横向梯度求解卷积核GW=[-1,1],此梯度求解卷积核用于求解横向的两个相邻像素点之间的横向梯度值,以及纵向梯度求解卷积核GH=[-1;1],而由于这两个梯度求解卷积核中的各梯度求解卷积权重值相同,所以这两个提取求解卷积核对应的阻变存储器可以为同一阻变存储器,即本说明书中的第一阻变存储器,因此,在后续过程中,仅说明横向梯度求解卷积核对应的第一阻变存储器的配置过程,而纵向梯度求解卷积核对应的阻变存储器与横向梯度求解卷积核对应的第一阻变存储器配置条件相同,在此不做赘述了。
终端设备在获取各梯度求解卷积权重值后,即可将各梯度求解卷积权重值转化为第一阻变存储器中的电导值gW,具体的,梯度求解卷积权重值与电导值之间的转化因子可以预先设置为S=80μS,进而根据预先设置的转化因子S确定各梯度求解卷积权重值与电导值之间的数值转化关系,作为第一转化关系,第一转化关系可表示为gW=GW×S,即,横向梯度求解卷积核GW中的梯度求解卷积权重值-1对应的电导值为-1*80μS,横向梯度求解卷积核GW中的梯度求解卷积权重值1对应的电导值为1*80μS。终端设备在确定出各梯度求解卷积权重值对应的各电导值后,即可将确定出的各梯度求解卷积权重值对应的各电导值,作为第一电导值写入第一阻变存储器,实现第一阻变存储器的配置。
需要说明的是,对于阻变存储器的电导写入,有时写入的电导值可能为负数电导值,而由于阻变存储器中的电导值时通过阻变材料生成的,所以,完全可以通过施加反向电压或电流,从而在阻变材料中产生相反的电荷极性,进而改变阻变存储器的电阻值。当然,也可以设置一个电导默认值,例如,对于第一阻变存储器,可以设置一个默认电导值100μS,每个梯度值转化为电导值之后,都与此默认电导值相加,从而保证每个电导值都为正数,并且在后续电流转化过程中加入此默认电导值相关的计算过程以保证结果符合预期,这样也可以保证本说明书所说明的实施过程的正确进行。
终端设备在实现第一阻变存储器的配置后,即可通过第一阻变存储器确定出原始图像中各像素点对应的各梯度值。但基于梯度求解卷积核的尺寸,可知该梯度求解卷积核每次会处理两个相邻像素点各自对应的灰度值从而计算这两个像素点之间的梯度值,而对于原始图像中边缘部分的像素点,例如原始图像最右侧一列的像素点,对于该列像素点中的任一像素点,由于该像素点右侧不存在像素点,所以对于该像素点对应的横向梯度值,仅能确定出该像素点与该像素点左侧像素点之间的横向梯度值,相对的,对于原始图像中最下侧一列的像素点,无法确定出该列像素点中的任一像素点与该像素点下侧像素点之间的纵向梯度值,因此在确定原始图像中各像素点对应的各梯度值之前,需要对原始图像进行行补边以及列补边。
而在本说明书中,对于原始图像中的每个像素点,将该像素点与纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值,将该像素点与横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值,因此,对于本说明书说明的原始图像,需要在原始图像的右侧加一列灰度值为0的像素点,在原始图像的下侧加一行灰度值为0的像素点,以保证在对原始图像进行行补边以及列补边之后,可以确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值,从而不丢失原始图像的边缘位置可能存在的信息。
下面,将结合图2对针对原始图像的行补位以及列补位进行说明:
图2为本说明书提供的一种针对原始图像执行列补位以及行补位的流程示意图,其中,原始图像为尺寸为[3,2],即三列两行的图像,而若以尺寸为1*2大小的横向梯度求解卷积核对原始图像进行处理,则仅能针对像素点1、像素点2、像素点4以及像素点5,得到这四个点对应的横向梯度值,对于尺寸为1*2大小的纵向梯度求解卷积核,也会丢失像素点4、像素点5以及像素点6此三个像素点各自对应的纵向梯度值,因此,为了保证可以获取原始图像中每个像素点对应的横向梯度值以及纵向梯度值,在求解像素点对应的梯度值之前,需要以灰度值为0的像素点作为补位像素点对原始图像进行补位,如图所示,对于原始图像中的每一行,都在该行的末尾处加入了一个补位像素点,对于原始图像中的每一列,都在该列的末尾处加入了一个补位像素点,以此方式对原始图像进行补位后,即可通过尺寸为1*2的梯度求解卷积核得到原始图像中所有像素点各自对应的横向梯度值以及纵向梯度值。
终端设备在对原始图像执行列补边以及行补边后,即可针对原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,其中,原始图像中各像素点对应的灰度值与电压值之间的转化关系是预先确定出的,原始图像中各像素点对应的灰度值与电压值之间的数值转化关系如下:
其中,Fi,j即是原始图像中第i列第j行的像素点对应的灰度值,255为灰度值范围,SI为预先设定的灰度值与电压值之间的转化因子,此转化因子可根据需求设定,本说明书不做具体限制,F(i,j)v即是原始图像中第i列第j行的像素点对应的灰度值所对应的用于控制第一阻变存储器的电压值。针对原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值分别转化为电压值,即可确定出该像素点对应的第一电压值对。而后,终端设备根据该像素点对应的第一电压值对控制第一阻变存储器,得到第一阻变存储器在该像素点对应的第一电压值对的控制下输出的电流值IW。而后即可将此电流值转化为该像素点横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值。具体的,转化电流值与像素点对应的横向梯度值的数值转化关系是根据第一转化关系以及像素点对应的灰度值与电压值之间的转化关系确定出的,电流值与像素点对应的横向梯度值的数值转化关系具体如下:
Gray_x=Iw×255/(S×SI)
通过上述公式即可将第一阻变存储器在该像素点对应的第一电压值对的控制下输出的电流值Iw转化为该像素点对应的纵向梯度值Gray_x。
与求取横向梯度值的过程相似,终端设备将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,转化公式也为
而后根据第二电压值对控制第一阻变存储器,并将第一阻变存储器基于第二电压值对输出电流的电流值IH转化为该像素点与纵向相邻的像素点之间的纵向梯度值,作为该像素点与纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值;
Gray_y=IW×255/(S×SI)
需要说明的是,对于阻变存储器而言,输出的电流可能为反向电流,此时该对电流的电流值的绝对值进行转化的转化结果的负值才为该次处理过程的目标结果,例如,对于第一阻变存储器而言,处理的两个相邻像素点对应的横向梯度值可能为负数,而此时第一阻变存储器在该两个相邻像素点对应的电压值对的控制下输出的电流即是反向电流,而对于反向电流的转化,对该反向电流的电流值的绝对值的负值进行转化的转化结果才为该次处理过程的目标结果。而有时,当需要阻变存储器进行乘法运算或加减法运算时的数据转化为的电压为负数电压值时,只需要将被计算数据转化的电压值设定为对应的反向电压即可控制阻变存储器,从而执行进一步运算。
另外,本申请书上述所提及的梯度求解卷积核的尺寸以及其中的各梯度求解卷积值本说明书不作具体限制,通过本说明书所提供的方法,即使梯度求解卷积核的尺寸以及其中的各梯度求解卷积值出现变化,也可以通过变化后的梯度求解卷积核重新配置第一阻变存储器,进而根据第一阻变存储器确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值。并且上述所提及的两个转化因子S以及SI的值本说明书也不做具体限制,此两个转化因子完全可根据使用的阻变存储器自身的参数以及计算过程中涉及数据的类型进行变化。
S103:针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据。
终端设备在确定出原始图像中各像素点对应的横向梯度值以及纵向梯度值后,即可通过梯度处理函数对确定出的各像素点对应的横向梯度值以及纵向梯度值进行处理,从而更准确的提取出原始图像中包含的边缘特征信息。而对于图像边缘检测任务对应的梯度处理函数,可将该梯度处理函数分为线性计算部分以及非线性计算部分,而对于线性计算部分,可通过将线性计算部分的系数转化为线性计算部分对应的电导值,作为第二电导值写入到第二阻变存储器,从而通过第二阻变存储器实现梯度处理函数对各像素点对应的横向梯度值以及纵向梯度值的线性计算,为了方便理解,下面将说明一种通过第二阻变存储器实现梯度处理函数对各像素点对应的横向梯度值以及纵向梯度值的线性计算的过程:
以梯度处理函数为高斯函数为例,高斯函数Gaussian为:
其中x即是各像素点对应的梯度值,可将此高斯函数拆解为线性计算部分和非线性计算部分Gaussian_out=e-f2,需要说明的是,虽然阻变存储器可以实现乘法运算以及加法运算,但为了便于说明,对于上述高斯函数,将其中的参数设置为μ=0,σ=0.0929,而实际设置可以基于实际需求。即线性计算部分为:/>而其中的系数即是/>而后通过预设的线性计算部分的系数与电导值之间的转化因子SL=80μS×σ,确定出线性计算部分的系数与电导值之间的数值转化关系,作为第二转化关系,其中线性计算部分的系数对应的电导值的计算公式可以设定如下:
终端设备在确定出梯度处理函数中线性计算部分的系数对应的电导值后,将该电导值作为第二电导值写入第二阻变存储器中。而后终端设备即可针对原始图像中的每个像素点,将该像素点对应的横向梯度值转化为该像素点对应的横向电压值,将该像素点对应的纵向梯度值转化为该像素点对应的纵向电压值,进而通过该像素点对应的横向电压值以及纵向电压值构建该像素点对应的第三电压值对,而在将该原始图像中每个像素点对应的横向梯度值转化为该像素点对应的横向电压值以及将纵向梯度值转化为该像素点对应的纵向电压值之前,需要建立原始图像中各像素点对应的横向梯度值与横向电压值之间的数值转化关系,作为横向电压转化关系,以及建立纵向梯度值与纵向电压值之间的数值转化关系,作为纵向电压转化关系。
建立原始图像中各像素点对应的横向梯度值与横向电压值之间的数值转化关系,以及纵向梯度值与纵向电压值之间的数值转化关系的目的在于让各横向梯度值与纵向梯度值所转化出的电压值更能均匀分配到控制第二阻变存储器所使用的电压值的电压值范围,因此,在建立原始图像中各像素点对应的横向梯度值与横向电压值之间的数值转化关系,以及建立各像素点对应的纵向梯度值与纵向电压值之间的数值转化关系的过程中,需要根据各像素点对应的各横向梯度值以及各像素点对应的各纵向梯度值进行建立。具体的,确定各像素点对应的横向梯度值与横向电压值之间的数值转化关系的过程如下:
首先需要先根据各像素点对应的横向梯度值中的最大值确定出横向梯度值与横向电压值之间的转化因子scale_x:
其中,abs()用于表示求取绝对值,参数0.3可根据控制第二阻变存储器所使用的电压值的电压值范围确定出,而后根据此横向梯度值与横向电压值之间的转化因子确定出各像素点对应的横向梯度值Gray_x与横向电压值Ux之间的数值转化关系:
而后根据各像素点对应的纵向梯度值中的最大值确定出纵向梯度值与纵向电压值之间的转化因子scale_y:
其中,abs()用于表示求取绝对值,参数0.3可根据控制第二阻变存储器所使用的电压值的电压值范围确定出,而后根据此纵向梯度值与纵向电压值之间的转化因子确定出各像素点对应的纵向梯度值Gray_y与纵向电压值Uy之间的数值转化关系:
将确定出的各像素点对应的横向梯度值Gray_x与横向电压值Ux之间的数值转化关系,以及各像素点对应的纵向梯度值Gray_y与纵向电压值Uy之间的数值转化关系作为第三转化关系,而后即可通过此第三转化关系将原始图像中个像素点对应的纵向梯度值转化为各像素点对应的第三电压值对中的纵向电压值,以及根据第三转化关系,将该像素点对应的横向梯度值转化为该像素点对应的第三电压值对中的横向电压值。
针对原始图像中的每个像素点,在确定出该像素点对应的横向电压值以及纵向电压值之后,分别根据该像素点对应的横向电压值控制第二阻变存储器得到,以及根据该像素点对应的纵向电压值控制第二阻变存储器,得到第二阻变存储器在该像素点对应的横向电压值控制下输出的电流的电流值Ix以及第二阻变存储器在该像素点对应的纵向电压值控制下输出的电流的电流值Iy,而后即可将该像素点对应的电流值Ix以及该像素点对应的电流值Iy转化为该像素点对应的横向梯度值经由线性计算部分的计算结果以及该像素点对应的纵向梯度值经由线性计算部分的计算结果,具体的,需要分别确定出电流值Ix与该像素点对应的横向梯度值经由线性计算部分的计算结果之间的数值转化关系,以及电流值Iy与该像素点对应的纵向梯度值经由线性计算部分的计算结果之间的数值转化关系。其中,电流值Ix与该像素点对应的横向梯度值经由线性计算部分的计算结果之间的数值转化关系,需要根据各像素点对应的横向梯度值Gray_x与横向电压值Ux之间的数值转化关系,以及第二转化关系确定出,确定出的电流值Ix与该像素点对应的横向梯度值经由线性计算部分的计算结果之间的数值转化关系的公式如下:
Ex=Ix×scale_x/SL
其中,Ex即是该像素点对应的横向梯度值经由线性计算部分的计算结果,作为该像素点对应的第一表征数据。
电流值Iy与该像素点对应的纵向梯度值经由线性计算部分的计算结果之间的数值转化关系,需要根据各像素点对应的纵向梯度值Gray_y与横向电压值Uy之间的数值转化关系,以及第二转化关系确定出,确定出的电流值Iy与该像素点对应的纵向梯度值经由线性计算部分的计算结果之间的数值转化关系的公式如下:
Ey=Iy×scale_y/SL
其中,Ey即是该像素点对应的纵向梯度值经由线性计算部分的计算结果,作为该像素点对应的第二表征数据。
电流值Ix与该像素点对应的横向梯度值经由线性计算部分的计算结果之间的数值转化关系,与电流值Iy与该像素点对应的纵向梯度值经由线性计算部分的计算结果之间的数值转化关系即可作为第四转化关系,用于转化第二阻变存储器输出的电流
终端设备根据该像素点对应的第一表征数据以及该像素点对应的第二表征数据,即可确定出该像素点对应的初始边缘特征数据,作为该像素点经由线性计算部分处理后的结果。
S104:根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
终端设备在获取原始图像中各像素点对应的初始边缘特征数据后,即可执行后续的边缘检测任务,以承接上述步骤S103中说明的高斯函数为例,说明根据初始边缘特征数据执行边缘检测任务的执行流程,具体的:
终端设备在确定出原始图像中每个像素点对应的线性计算部分的计算结果,即初始边缘特征数据后,根据图像边缘检测任务对应的梯度处理函数中的非线性计算部分处理初始边缘特征数据,将得到的结果,作为该目标点对应的目标边缘特征数据,进而根据原始图像中各像素点对应的目标边缘特征数据,执行后续针对原始图像的图像边缘检测任务,为了便于理解,下面将说明一种基于原始图像中各像素点经由高斯函数中线性计算部分处理后的结果,从而执行的图像边缘检测任务。
具体的,针对原始图像中的每个像素点,终端设备根据该像素点对应的Ex以及Ex,执行高斯函数中的非线性运算,得到横向梯度值经过高斯函数处理后的结果Gx_gauss以及纵向梯度值经过高斯函数处理后的结果Gy_gauss。而后终端设备可根据预设的特征重构函数处理原始图像中各像素点对应的目标边缘特征数据,得到原始图像中各像素点对应的重构边缘特征数据,
其中,对于预设的特征重构函数,本说明书以此特征重构函数为最值函数为例,对此处理过程进行说明:
最值函数的处理规则如下:针对每个像素点,该像素点对应的Gx_gauss和Gy_gauss经由最值函数的处理后,输出该像素点对应的out=[out1,out2],其中,out1=min(Gx_gauss,Gy_gauss),out2=max((1-Gx_gauss),(1-Gy_gauss))。
并且,终端设备可以通过预设的解模糊化规则,对原始图像中各像素点对应的横向梯度值以及纵向梯度值进行处理,从而确定出原始图像中各像素点对应的解模糊化系数,下面即为两条不同的解模糊化规则,针对每个像素点通过不同的解模糊化规则处理该像素点对应的横向梯度值以及纵向梯度值,得到的解模糊化系数不同。
If Gx is zero and Gy is zero,then Zout is white
If Gx is not zero or Gy is not zero,then Zout is black
在本例中解模糊化包括两条规则,因此对于每个像素点,该像素点对应的横向梯度值以及纵向梯度值经由两条解模糊化规则处理后的结果Zout为二维结果,即每个像素点对应两个解模糊化系数。
而后针对原始图像中的每个像素点,即可将该像素点对应的解模糊化系数与该像素点对应的重构边缘特征数据进行相乘,从而获取该像素点对应的边缘系数值。而对于两种数据的相乘计算,在此步骤,相同的,也可以使用阻变存储器替代终端设备自身进行计算。具体的,需要根据原始图像中各像素点对应的重构边缘特征数据中的最大值,确定出各像素点对应的重构边缘特征数据与电导值gout之间的转化因子Sout=max(abs(out))/80μS,而后确定出解模糊化系数与电导值gout之间的转化关系,作为第五转化关系,其中第五转化关系可表示如下:gout=out/Sout
针对原始图像中的每个像素点,通过第五转化关系转化该像素点对应的重构边缘特征数据,得到该像素点对应的电导值,并将该像素点对应的电导值写入第三阻变存储器。
终端设备需要根据原始图像中各像素点对应的解模糊化系数中的最大值确定出各像素点对应的解模糊化系数与该像素点对应的电压值Uz之间的转化因子进而根据转化因子scalez确定出各像素点对应的解模糊化系数与该像素点对应的电压值Uz之间的转化关系,作为第六转化关系:
根据该像素点对应的电压值控制写入该像素点对应的电导值后的第三阻变存储器,得到第三阻变存储器在该像素点对应的电压值的控制下输出电流的电流值Iend,而后将该像素点对应的电流值Iend转化为该像素点对应的边缘系数值E1,具体的,需要先确定出像素点对应的电流值Iend与像素点对应的边缘系数值E1之间的转化关系,其中,像素点对应的电流值Iend与像素点对应的边缘系数值E1之间的转化关系需要根据第五转化关系以及第六转化关系确定出,确定出的转化关系作为第七转化关系,具体如下:
E1=Iend×Sout×scalez
而后终端设备即可根据原始图像中各像素点对应的边缘系数值以及原始图像中各像素点对应的重构边缘特征数据,确定出原始图像对应的图像边缘检测结果。具体的,终端设备可将原始图像中各像素点对应的最值函数处理结果out沿最后一维求和,即针对原始图像中的每个像素点,将该像素点对应的out1与out2相加求和,从而得到该像素点对应的求和结果E2,从而针对该像素点进行边缘权重值的加权求和处理,进而可确定出最终的图像边缘检测结果
需要说明的是,在上述图像边缘检测任务执行过程中,使用了阻变存储器多次替代了终端设备对于数据进行的乘累加运算,而对于阻变存储器而言,由于阻变存储器在写入电导时,以及受电压控制下输出电流时会出现随机偏差的情况,即,当将目标电导值对应的电导写入阻变存储器时,写入的实际电导值与目标电导值之间存在着细微偏差,而当以目标电压值对应的电压控制电导值时,阻变存储器内部构成会导致阻变存储器输出的电流与预期电流之间存在着预期偏差,但无论是阻变存储器在电导写入时的偏差还是阻变存储器在输出电流时的偏差,这类随机性都服从一定的正态分布,因此,在图像边缘检测任务执行过程,使用阻变存储器多次替代终端设备对于数据进行的乘累加运算,就相当于在每一次阻变存储器完成的处理过程中添加了一个基于正态分布的非线性运算过程,而在多次基于正态分布的非线性运算过程的影响下,图像边缘检测任务的鲁棒性得到了提升,即,基于阻变器的图像边缘检测任务在执行的过程中的抗干扰能力较强,即使原始图像中存在一定噪声,或计算过程中的部分数据中存在一定偏差的情况下,得到的最终的图像边缘检测结果依然符合预期。
通过上述方法,终端设备即可在图像边缘检测任务执行过程中,通过阻变存储器减少根据灰度值求取梯度值的计算步骤中的计算资源耗费,并且减少了终端设备对梯度值进行线性运算处理时的计算资源耗费,而在后续图像边缘检测任务执行过程中,依然可以部分替代终端设备执行对图像对应的数据的线性部分计算,从而减少了图像边缘检测任务的资源耗费,提高了图像边缘检测任务的执行效率。
以上为本说明书的一个或多个基于阻变存储器的图像边缘检测任务执行方法基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图3为本说明书实施例提供的一种基于阻变存储器的图像边缘检测任务执行装置的结构示意图,所述装置包括:
获取模块301,用于获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值;
第一转化模块302,用于针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点纵向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值,以及将该像素点对应的灰度值以及与该像素点横向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值;
第二转化模块303,用于针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据;
执行模块304,用于根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
可选地,所述第一转化模块302具体用于,
获取图像边缘检测任务对应的梯度求解卷积核,并确定出所述梯度求解卷积核中各梯度求解卷积权重值,其中,所述图像边缘检测任务对应的梯度求解卷积核用于根据所述原始图像中各像素点对应的灰度值,确定出所述原始图像中各像素点对应的横向梯度值以及纵向梯度值;通过预先确定出的第一转化关系,转化所述梯度求解卷积核中各梯度求解卷积权重值,得到梯度求解卷积核对应的各电导值,作为第一电导值,并将所述第一电导值写入所述第一阻变存储器,所述第一转化关系用于表示电导值与梯度求解卷积权重值之间的数值转化关系。
可选地,所述第二转化模块303具体用于,
获取图像边缘检测任务对应的梯度处理函数,并确定出所述梯度处理函数中的线性计算部分的系数,并根据预先确定出的第二转化关系,转化所述线性计算部分的系数,以确定出所述线性计算部分的系数对应的电导值,作为第二电导值,并将所述第二电导值写入到所述第二阻变存储器,所述第二转化关系用于表示电导值与所述线性计算部分的系数之间的数值转化关系。
可选地,所述第二转化模块303具体用于,
针对所述原始图像中的每个像素点,根据预先确定出的第三转化关系,将该像素点对应的纵向梯度值转化为该像素点对应的第三电压值对中的纵向电压值,以及根据预先确定出的第三转化关系,将该像素点对应的横向梯度值转化为该像素点对应的第三电压值对中的横向电压值;根据该像素点对应的纵向电压值控制所述第二阻变存储器,并按照预先确定的第四转化关系,将所述第二阻变存储器基于该像素点对应的纵向电压值输出电流的电流值转化为该像素点对应的第一表征数据,以及根据该像素点对应的横向电压值控制所述第二阻变存储器,并按照预先确定出的第四转化关系,将所述第二阻变存储器基于该像素点对应的横向电压值输出电流的电流值转化为该像素点对应的第二表征数据;根据该像素点对应的第一表征数据以及该像素点对应的第二表征数据,确定出该像素点对应的初始边缘特征数据。
可选地,所述第二转化模块303具体用于,
根据所述原始图像中各像素点对应的纵向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的纵向梯度值与各纵向电压值之间的纵向电压转化关系,以及根据所述原始图像中各像素点对应的横向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的横向梯度值与各横向电压值之间的横向电压转化关系;根据所述纵向电压转化关系以及所述横向电压转化关系,确定出所述第三转化关系。
可选地,所述执行模块304具体用于,
根据所述原始图像中每个像素点对应的初始边缘特征数据,以及图像边缘检测任务对应的梯度处理函数中的非线性计算部分,确定出该像素点对应的目标边缘特征数据;根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务。
可选地,所述执行模块304具体用于,
根据预设的特征重构函数处理所述原始图像中各像素点对应的目标边缘特征数据,得到所述原始图像中各像素点对应的重构边缘特征数据;通过预设的解模糊化规则,处理所述原始图像中各像素点对应的纵向梯度值以及横向梯度值,确定出所述原始图像中各像素点对应的解模糊化系数,针对每个像素点,通过不同的解模糊化规则处理该像素点对应的纵向梯度值和横向梯度值,得到不同的解模糊化系数;针对所述原始图像中的每个像素点,根据预先确定出的第五转化关系转化该像素点对应的重构边缘特征数据,得到该像素点对应的电导值,并将该像素点对应的电导值写入所述第三阻变存储器;根据预先确定出的第六转化关系转化该像素点对应的解模糊化系数,得到该像素点对应的电压值,并根据该像素点对应的电压值控制写入该像素点对应的电导值后的所述第三阻变存储器,以根据预先确定的第七转化关系,将所述第三阻变存储器在该像素点对应的电压值的控制下输出电流的电流值转化为该像素点对应的边缘系数值根据所述原始图像中各像素点对应的边缘系数值以及所述原始图像中各像素点对应的重构边缘特征数据,确定出所述原始图像对应的图像边缘检测结果。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的一种基于阻变存储器的图像边缘检测任务执行方法。
基于图1所示的一种基于阻变存储器的图像边缘检测任务执行方法,本说明书实施例还提供了图4所示的电子设备的结构示意图。如图3,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的一种基于阻变存储器的图像边缘检测任务执行方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种基于阻变存储器的图像边缘检测任务执行方法,其特征在于,包括:
获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值;
针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值,以及将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值;
针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据;
根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
2.如权利要求1所述的方法,其特征在于,预先写入第一电导值,具体包括:
获取图像边缘检测任务对应的梯度求解卷积核,并确定出所述梯度求解卷积核中各梯度求解卷积权重值,其中,所述图像边缘检测任务对应的梯度求解卷积核用于根据所述原始图像中各像素点对应的灰度值,确定出所述原始图像中各像素点对应的横向梯度值以及纵向梯度值;
通过预先确定出的第一转化关系,转化所述梯度求解卷积核中各梯度求解卷积权重值,得到梯度求解卷积核对应的各电导值,作为第一电导值,并将所述第一电导值写入所述第一阻变存储器,所述第一转化关系用于表示电导值与梯度求解卷积权重值之间的数值转化关系。
3.如权利要求1所述的方法,其特征在于,预先写入第二电导值,具体包括:
获取图像边缘检测任务对应的梯度处理函数,并确定出所述梯度处理函数中的线性计算部分的系数,并根据预先确定出的第二转化关系,转化所述线性计算部分的系数,以确定出所述线性计算部分的系数对应的电导值,作为第二电导值,并将所述第二电导值写入到所述第二阻变存储器,所述第二转化关系用于表示电导值与所述线性计算部分的系数之间的数值转化关系。
4.如权利要求1所述的方法,其特征在于,针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据,具体包括:
针对所述原始图像中的每个像素点,根据预先确定出的第三转化关系,将该像素点对应的横向梯度值转化为该像素点对应的第三电压值对中的横向电压值,以及根据预先确定出的第三转化关系,将该像素点对应的纵向梯度值转化为该像素点对应的第三电压值对中的纵向电压值;
根据该像素点对应的横向电压值控制所述第二阻变存储器,并按照预先确定的第四转化关系,将所述第二阻变存储器基于该像素点对应的横向电压值输出电流的电流值转化为该像素点对应的第一表征数据,以及根据该像素点对应的纵向电压值控制所述第二阻变存储器,并按照预先确定出的第四转化关系,将所述第二阻变存储器基于该像素点对应的纵向电压值输出电流的电流值转化为该像素点对应的第二表征数据;
根据该像素点对应的第一表征数据以及该像素点对应的第二表征数据,确定出该像素点对应的初始边缘特征数据。
5.如权利要求4所述的方法,其特征在于,预先确定第三转化关系,具体包括:
根据所述原始图像中各像素点对应的横向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的横向梯度值与各横向电压值之间的横向电压转化关系,以及根据所述原始图像中各像素点对应的纵向梯度值的最大值以及控制所述第二阻变存储器所使用的电压值的电压值范围,确定出所述原始图像中各像素点对应的纵向梯度值与各纵向电压值之间的纵向电压转化关系;
根据所述横向电压转化关系以及所述纵向电压转化关系,确定出所述第三转化关系。
6.如权利要求1所述的方法,其特征在于,根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务,具体包括:
根据所述原始图像中每个像素点对应的初始边缘特征数据,以及图像边缘检测任务对应的梯度处理函数中的非线性计算部分,确定出该像素点对应的目标边缘特征数据;
根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务。
7.如权利要求6所述的方法,其特征在于,根据所述原始图像中各像素点对应的目标边缘特征数据,执行针对所述原始图像的图像边缘检测任务,具体包括:
根据预设的特征重构函数处理所述原始图像中各像素点对应的目标边缘特征数据,得到所述原始图像中各像素点对应的重构边缘特征数据;
通过预设的解模糊化规则,处理所述原始图像中各像素点对应的横向梯度值以及纵向梯度值,确定出所述原始图像中各像素点对应的解模糊化系数,针对每个像素点,通过不同的解模糊化规则处理该像素点对应的横向梯度值和纵向梯度值,得到不同的解模糊化系数;
针对所述原始图像中的每个像素点,根据预先确定出的第五转化关系转化该像素点对应的重构边缘特征数据,得到该像素点对应的电导值,并将该像素点对应的电导值写入所述第三阻变存储器;
根据预先确定出的第六转化关系转化该像素点对应的解模糊化系数,得到该像素点对应的电压值,并根据该像素点对应的电压值控制写入该像素点对应的电导值后的所述第三阻变存储器,以根据预先确定的第七转化关系,将所述第三阻变存储器在该像素点对应的电压值的控制下输出电流的电流值转化为该像素点对应的边缘系数值
根据所述原始图像中各像素点对应的边缘系数值以及所述原始图像中各像素点对应的重构边缘特征数据,确定出所述原始图像对应的图像边缘检测结果。
8.一种基于阻变存储器的图像边缘检测任务执行装置,其特征在于,包括:
获取模块,用于获取原始图像,以及确定出所述原始图像中各像素点对应的灰度值;
第一转化模块,用于针对所述原始图像中的每个像素点,将该像素点对应的灰度值以及该像素点横向相邻的像素点对应的灰度值转化为第一电压值对,根据所述第一电压值对控制预先配置的第一阻变存储器,并将所述第一阻变存储器在预先写入的第一电导值的基础上基于所述第一电压值对输出电流的电流值转化为该像素点与所述横向相邻的像素点之间的横向梯度值,作为该像素点对应的横向梯度值,以及将该像素点对应的灰度值以及与该像素点纵向相邻的像素点对应的灰度值转化为第二电压值对,根据所述第二电压值对控制所述第一阻变存储器,并将所述第一阻变存储器基于所述第二电压值对输出电流的电流值转化为该像素点与所述纵向相邻的像素点之间的纵向梯度值,作为该像素点对应的纵向梯度值;
第二转化模块,用于针对所述原始图像中每个像素点,将该像素点对应的横向梯度值以及纵向梯度值转化为该像素点对应的第三电压值对,根据所述第三电压值对中的各电压值分别控制预先配置的第二阻变存储器,以将所述第二阻变存储器在预先写入的第二电导值的基础上输出电流的电流值转化为该像素点对应的初始边缘特征数据;
执行模块,用于根据所述原始图像中各像素点对应的初始边缘特征数据,执行图像边缘检测任务。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
CN202410117387.2A 2024-01-26 一种基于阻变存储器的图像边缘检测任务执行方法及装置 Active CN117893396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410117387.2A CN117893396B (zh) 2024-01-26 一种基于阻变存储器的图像边缘检测任务执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410117387.2A CN117893396B (zh) 2024-01-26 一种基于阻变存储器的图像边缘检测任务执行方法及装置

Publications (2)

Publication Number Publication Date
CN117893396A true CN117893396A (zh) 2024-04-16
CN117893396B CN117893396B (zh) 2024-07-02

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
US20180150934A1 (en) * 2016-11-28 2018-05-31 Fujitsu Limited Information processing device, information processing method, and storage medium
CN113034525A (zh) * 2021-03-18 2021-06-25 河北工程大学 图像边缘检测方法、装置及设备
CN113870293A (zh) * 2021-09-27 2021-12-31 东莞拓斯达技术有限公司 图像处理方法、装置、电子设备及存储介质
CN115035316A (zh) * 2022-06-30 2022-09-09 招联消费金融有限公司 目标区域图像识别方法、装置、计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
US20180150934A1 (en) * 2016-11-28 2018-05-31 Fujitsu Limited Information processing device, information processing method, and storage medium
CN113034525A (zh) * 2021-03-18 2021-06-25 河北工程大学 图像边缘检测方法、装置及设备
CN113870293A (zh) * 2021-09-27 2021-12-31 东莞拓斯达技术有限公司 图像处理方法、装置、电子设备及存储介质
CN115035316A (zh) * 2022-06-30 2022-09-09 招联消费金融有限公司 目标区域图像识别方法、装置、计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TUO SHI 等: "Stochastic neuro-fuzzy system implemented in memristor crossbar arrays", SCIENCE ADVANCES, vol. 10, no. 12, 22 March 2024 (2024-03-22) *
曹杨 等: "一种改进的Sobel边缘检测算法的设计及其FPGA实现", 微电子学与计算机, no. 10, 5 October 2012 (2012-10-05) *

Similar Documents

Publication Publication Date Title
US20200160493A1 (en) Image filtering based on image gradients
CN108701250B (zh) 数据定点化方法和装置
US20200402205A1 (en) Real-time video ultra resolution
KR20170007151A (ko) 인공 신경 네트워크를 실행하는 방법 및 장치
WO2019196542A1 (zh) 一种图像处理的方法及装置
CN103208094B (zh) 用于对图像应用滤波器的方法和系统
CN112001399B (zh) 基于局部特征显著化的图像场景分类方法和装置
US11875486B2 (en) Image brightness statistical method and imaging device
EP3093757A2 (en) Multi-dimensional sliding window operation for a vector processor
CN112001923B (zh) 一种视网膜图像分割方法及装置
CN116958131B (zh) 一种图像处理方法、装置、设备及存储介质
CN111358430B (zh) 一种磁共振成像模型的训练方法及装置
CN117635822A (zh) 一种模型训练的方法、装置、存储介质及电子设备
CN117893396B (zh) 一种基于阻变存储器的图像边缘检测任务执行方法及装置
CN109389215B (zh) 一种深度学习网络的网络结构确定方法及装置
CN117893396A (zh) 一种基于阻变存储器的图像边缘检测任务执行方法及装置
CN116342888A (zh) 一种基于稀疏标注训练分割模型的方法及装置
CN111027716A (zh) 一种负荷预测的方法及装置
US20220318950A1 (en) Video enhancement method and apparatus, and electronic device and storage medium
CN113269812B (zh) 图像预测模型的训练及应用方法、装置、设备、存储介质
CN116543246A (zh) 图像去噪模型的训练方法、图像去噪方法、装置及设备
CN111932466B (zh) 一种图像去雾方法、电子设备及存储介质
CN111353944A (zh) 一种图像重建方法、装置及计算机可读存储介质
CN115937051B (zh) 一种图像噪声处理方法、装置、设备及存储介质
CN116107636B (zh) 一种硬件加速方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant