CN113467914A - 一种提升图像缺陷检测软件处理效率的方法 - Google Patents
一种提升图像缺陷检测软件处理效率的方法 Download PDFInfo
- Publication number
- CN113467914A CN113467914A CN202110774396.5A CN202110774396A CN113467914A CN 113467914 A CN113467914 A CN 113467914A CN 202110774396 A CN202110774396 A CN 202110774396A CN 113467914 A CN113467914 A CN 113467914A
- Authority
- CN
- China
- Prior art keywords
- image
- processing
- thread
- sub
- algorithm
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 230000007717 exclusion Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 5
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000013072 incoming material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种提升图像缺陷检测软件处理效率的方法,在主线程中建立一个监视子线程循环判断图像缓存区是否存在数据,然后当主线程将图像数据压入图像缓存区时,监视子线程遵循先进先出原则取出单个图像数据后创建处理子线程进行处理。在处理子线程中,根据预先的配方设置创立相应算法个数的算法子线程,利用CPU自适应时间片资源调度准则多算法并行处理当前图像,所有算法处理完成后汇总数据。本发明充分利用CPU多核处理机制,修改传统图像缺陷检测阻塞式处理逻辑为多线程并行处理逻辑;在不需要提升计算机硬件配置的情况下,提高图像缺陷检测软件处理效率。
Description
技术领域
本发明涉及视觉图像检测处理技术领域,尤其是一种提升图像缺陷检测软件处理效率的方法。
背景技术
印刷品表面在印刷过程中,由于来料、操作、工艺、环境等各种因素的影响,容易产生各种各样复杂的缺陷,因此需要多种缺陷检测算法进行检测。
传统的处理逻辑是获取到图像数据后,以阻塞的方式对该图像数据依次使用不同的缺陷检测算法进行缺陷检测,所有算法检测完成后进行最终的汇总,才允许下一张图像的处理。按照此逻辑,为了提高软件处理效率,一方面只能通过提升计算机硬件配置,另一方面就是使用当前面检测算法检测到缺陷时后面算法不处理这个逻辑。上面两种传统处理逻辑的改进方式要么提高了成本,要么不能充分暴露所有的缺陷。
发明内容
本发明要解决的技术问题是:提供一种提升图像缺陷检测软件处理效率的方法,解决图像缺陷检测软件处理效率提升的问题。
本发明解决其技术问题所采用的技术方案是:一种提升图像缺陷检测软件处理效率的方法,包括以下步骤,
1)输入图像数据,根据计算机CPU核心数及内存空间,创建合适大小的图像缓存区;
2)创建用于循环判断图像缓存区是否存在图像数据的监视子线程;
3)主线程获取到图像数据后,往图像缓存区导入图像数据;
4)当检测到图像缓存区存在图像时,监视子线程依次取出图像并创建独立的处理子线程进行处理;
5)处理子线程根据预先设置的算法个数创建相应数量的算法子线程进行并行处理,所有算法处理完成后汇总数据。
进一步的说,本发明所述的步骤2)中,包括创建CPU核心数量的读写互斥锁并依次与相关缓存进行绑定;所述的监视子线程每循环监视不同缓存区时即使用相应的读锁。
再进一步的说,本发明所述的步骤3)中,按照不同缓存区使用相应写锁;如果已经存在监视子线程的读操作,则等读操作完成后再进行写操作。
再进一步的说,本发明所述的步骤4)中,监视子线程遵循“先进先出”准则循环从图像缓存区中抓取图像数据。
再进一步的说,本发明所述的步骤5)中,算法子线程的开启数量根据配方文件预先设置好,然后在当前图像内存中增加算法完成计数标志,每完成一个算法该计数加一,当标志数量与算法子线程数量一致时即认为针对当前图像的所有处理算法均已完成,然后进行最终的汇总。
本发明在主线程中建立一个监视子线程循环判断图像缓存区是否存在数据,然后当主线程将图像数据压入图像缓存区时,监视子线程遵循先进先出原则取出单个图像数据后创建处理子线程进行处理。在处理子线程中,根据预先的配方设置创立相应算法个数的算法子线程,利用CPU自适应时间片资源调度准则多算法并行处理当前图像,所有算法处理完成后汇总数据。
本发明的有益效果是,解决了背景技术中存在的缺陷,充分利用CPU多核处理机制,修改传统图像缺陷检测阻塞式处理逻辑为多线程并行处理逻辑;在不需要提升计算机硬件配置的情况下,提高图像缺陷检测软件处理效率。
附图说明
图1是本发明的方法流程示意图。
具体实施方式
现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1所示的一种提升图像缺陷检测软件处理效率的方法,包括以下步骤,首先,输入图像数据,然后,
1.根据计算机CPU核心数及内存空间,创建合适大小的图像缓存区。图像缓存区大小一般设置为CPU核心数与单个图像内存的乘积;
2.创建循环判断图像缓存区是否存在图像数据的“监视子线程”。为避免缓存区内存读写冲突,创建CPU核心数量的“读写”互斥锁依次与相关缓存进行绑定,“监视子线程”每循环监视不同缓存区时即使用相应的“读”锁。其中,互斥锁是指保证任一时刻只能有一个线程访问该内存区域的对象;
3.当主线程获取到图像数据后,往图像缓存区导入图像数据。主线程往图像缓存区导入图像数据时,按照不同缓存区使用相应“写”锁,即在同一时刻在此缓存区只存在“写”操作,如果已经存在“监视子线程”的“读”操作,则等“读”操作完成后再进行“写”操作;
4.当检测到图像缓存区存在图像时,“监视子线程”依次取出图像并创建独立的“处理子线程”进行处理。“监视子线程”遵循“先进先出”准则循环从图像缓存区中抓取图像数据,开启相应的“处理子线程”。其中,在读取图像数据时,“监视子线程”使用相应缓存区的“读”锁,即在同一时刻在此缓存区只存在“读”操作,如果已经存在“写”锁则等“写”操作完成后再进行“读”。否则,只有等当前的“读”操作完成后,才允许下一个“写”操作;
5.在“处理子线程”处理时,会根据预先设置的算法个数创建相应数量的“算法子线程”进行并行处理,所有算法处理完成后汇总数据。“算法子线程”的开启数量会根据配方文件预先设置好,然后会在当前图像内存中增加算法完成计数标志,每完成一个算法该计数加一,当标志数量与“算法子线程”数量一致时即认为针对当前图像的所有处理算法均已完成,然后进行最终的汇总。
以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。
Claims (6)
1.一种提升图像缺陷检测软件处理效率的方法,其特征在于:包括以下步骤,
1)输入图像数据,根据计算机CPU核心数及内存空间,创建合适大小的图像缓存区;
2)创建用于循环判断图像缓存区是否存在图像数据的监视子线程;
3)主线程获取到图像数据后,往图像缓存区导入图像数据;
4)当检测到图像缓存区存在图像时,监视子线程依次取出图像并创建独立的处理子线程进行处理;
5)处理子线程根据预先设置的算法个数创建相应数量的算法子线程进行并行处理,所有算法处理完成后汇总数据。
2.如权利要求1所述的一种提升图像缺陷检测软件处理效率的方法,其特征在于:所述的步骤2)中,包括创建CPU核心数量的读写互斥锁并依次与相关缓存进行绑定;所述的监视子线程每循环监视不同缓存区时即使用相应的读锁。
3.如权利要求2所述的一种提升图像缺陷检测软件处理效率的方法,其特征在于:所述的步骤3)中,按照不同缓存区使用相应写锁。
4.如权利要求3所述的一种提升图像缺陷检测软件处理效率的方法,其特征在于:所述的步骤3)中,如果已经存在监视子线程的读操作,则等读操作完成后再进行写操作。
5.如权利要求4所述的一种提升图像缺陷检测软件处理效率的方法,其特征在于:所述的步骤4)中,监视子线程遵循“先进先出”准则循环从图像缓存区中抓取图像数据。
6.如权利要求5所述的一种提升图像缺陷检测软件处理效率的方法,其特征在于:所述的步骤5)中,算法子线程的开启数量根据配方文件预先设置好,然后在当前图像内存中增加算法完成计数标志,每完成一个算法该计数加一,当标志数量与算法子线程数量一致时即认为针对当前图像的所有处理算法均已完成,然后进行最终的汇总。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110774396.5A CN113467914B (zh) | 2021-07-08 | 2021-07-08 | 一种提升图像缺陷检测软件处理效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110774396.5A CN113467914B (zh) | 2021-07-08 | 2021-07-08 | 一种提升图像缺陷检测软件处理效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113467914A true CN113467914A (zh) | 2021-10-01 |
CN113467914B CN113467914B (zh) | 2024-06-14 |
Family
ID=77879387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110774396.5A Active CN113467914B (zh) | 2021-07-08 | 2021-07-08 | 一种提升图像缺陷检测软件处理效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113467914B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010943A (ja) * | 1998-05-29 | 2000-01-14 | Internatl Business Mach Corp <Ibm> | 入力デ―タをデ―タプロセッサ・パイプラインで処理する方法およびシステム |
CN1995995A (zh) * | 2006-12-07 | 2007-07-11 | 华南理工大学 | 大型铸件缺陷检测的控制方法 |
CA2640884A1 (en) * | 2006-07-20 | 2008-01-24 | Optosecurity Inc. | Methods and systems for use in security screening, with parallel processing capability |
CN101551771A (zh) * | 2009-05-08 | 2009-10-07 | 中兴通讯股份有限公司 | 一种监视远程数据库运行状态的方法及系统 |
US20130243329A1 (en) * | 2012-03-15 | 2013-09-19 | Herta Security, S.L. | Parallel object detection method for heterogeneous multithreaded microarchitectures |
CN104063835A (zh) * | 2014-04-02 | 2014-09-24 | 中国人民解放军第二炮兵指挥学院 | 一种卫星遥感图像实时并行处理系统及处理方法 |
CN107479961A (zh) * | 2017-08-28 | 2017-12-15 | 湖南友哲科技有限公司 | 基于计算机多线程多核显微镜细胞图像快速扫描处理方法 |
US20180081733A1 (en) * | 2016-09-19 | 2018-03-22 | Texas Instruments Incorporated | Bandwidth Controlled Data Synchronization for Image and Vision Processor |
CN109493318A (zh) * | 2018-10-09 | 2019-03-19 | 广东仙童智能机器人科技有限公司 | 一种图像并行处理方法、装置和计算机存储介质 |
CN109756709A (zh) * | 2018-12-28 | 2019-05-14 | 北京工业大学 | 一种红外全景监控软件中的性能提升方法 |
CN110443791A (zh) * | 2019-08-02 | 2019-11-12 | 西安工程大学 | 一种基于深度学习网络的工件检测方法及其检测装置 |
-
2021
- 2021-07-08 CN CN202110774396.5A patent/CN113467914B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000010943A (ja) * | 1998-05-29 | 2000-01-14 | Internatl Business Mach Corp <Ibm> | 入力デ―タをデ―タプロセッサ・パイプラインで処理する方法およびシステム |
CA2640884A1 (en) * | 2006-07-20 | 2008-01-24 | Optosecurity Inc. | Methods and systems for use in security screening, with parallel processing capability |
CN1995995A (zh) * | 2006-12-07 | 2007-07-11 | 华南理工大学 | 大型铸件缺陷检测的控制方法 |
CN101551771A (zh) * | 2009-05-08 | 2009-10-07 | 中兴通讯股份有限公司 | 一种监视远程数据库运行状态的方法及系统 |
US20130243329A1 (en) * | 2012-03-15 | 2013-09-19 | Herta Security, S.L. | Parallel object detection method for heterogeneous multithreaded microarchitectures |
CN104063835A (zh) * | 2014-04-02 | 2014-09-24 | 中国人民解放军第二炮兵指挥学院 | 一种卫星遥感图像实时并行处理系统及处理方法 |
US20180081733A1 (en) * | 2016-09-19 | 2018-03-22 | Texas Instruments Incorporated | Bandwidth Controlled Data Synchronization for Image and Vision Processor |
CN107479961A (zh) * | 2017-08-28 | 2017-12-15 | 湖南友哲科技有限公司 | 基于计算机多线程多核显微镜细胞图像快速扫描处理方法 |
CN109493318A (zh) * | 2018-10-09 | 2019-03-19 | 广东仙童智能机器人科技有限公司 | 一种图像并行处理方法、装置和计算机存储介质 |
CN109756709A (zh) * | 2018-12-28 | 2019-05-14 | 北京工业大学 | 一种红外全景监控软件中的性能提升方法 |
CN110443791A (zh) * | 2019-08-02 | 2019-11-12 | 西安工程大学 | 一种基于深度学习网络的工件检测方法及其检测装置 |
Non-Patent Citations (1)
Title |
---|
张庆毓: "基于Intel MIC架构的并行无监督SAR图像变化检测", 《WFCD》, 1 December 2015 (2015-12-01) * |
Also Published As
Publication number | Publication date |
---|---|
CN113467914B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10740116B2 (en) | Three-dimensional chip-based regular expression scanner | |
CN110231995B (zh) | 一种基于Actor模型的任务调度方法、装置及存储介质 | |
JP6293888B2 (ja) | 競合状態を検出する技法 | |
Lee et al. | A lock-free, cache-efficient multi-core synchronization mechanism for line-rate network traffic monitoring | |
JPS58142458A (ja) | 共通母線利用検出制御回路及び共通母線利用検出制御方法 | |
JP4038442B2 (ja) | 外観検査用画像処理装置 | |
CN103221995A (zh) | 显示管中的流翻译 | |
CN111124641A (zh) | 一种利用多线程的数据处理方法及系统 | |
Taubenfeld | The black-white bakery algorithm and related bounded-space, adaptive, local-spinning and FIFO algorithms | |
CN109167979B (zh) | 多路监控视频人工智能分析的处理方法及系统 | |
US6789258B1 (en) | System and method for performing a synchronization operation for multiple devices in a computer system | |
CN107273080B (zh) | 一种基于多线程的移动端图片渲染方法及装置 | |
CN113286174B (zh) | 视频抽帧方法、装置、电子设备、计算机可读存储介质 | |
CN113467914A (zh) | 一种提升图像缺陷检测软件处理效率的方法 | |
CN114550035A (zh) | 设备工件异常动作的检测方法、装置和电子设备 | |
US8688872B2 (en) | Method and device for managing queues, and corresponding computer program product | |
CN103577304A (zh) | 一种代码动态分析的方法及装置 | |
JP3988340B2 (ja) | 画像処理装置およびそれを備えた複写装置 | |
CN112416772A (zh) | 一种测试用例补全方法、装置、电子设备和可读存储介质 | |
CN111414337B (zh) | 一种文件读取方法、装置、计算设备及存储介质 | |
US6529979B1 (en) | Method and apparatus for a high-speed serial communications bus protocol with positive acknowledgement | |
TW201206165A (en) | Image testing method of image pickup device and image testing device using the same | |
CN109146916A (zh) | 一种运动物体跟踪方法及装置 | |
EP3660675A1 (en) | Sharing data by a virtual machine | |
JP4712863B2 (ja) | アドレス排他制御システムおよびアドレス排他制御方法 |
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 | ||
GR01 | Patent grant |