CN113252614B - 一种基于机器视觉的透明度检测方法 - Google Patents

一种基于机器视觉的透明度检测方法 Download PDF

Info

Publication number
CN113252614B
CN113252614B CN202110579783.3A CN202110579783A CN113252614B CN 113252614 B CN113252614 B CN 113252614B CN 202110579783 A CN202110579783 A CN 202110579783A CN 113252614 B CN113252614 B CN 113252614B
Authority
CN
China
Prior art keywords
disc
image
water gauge
disk
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.)
Expired - Fee Related
Application number
CN202110579783.3A
Other languages
English (en)
Other versions
CN113252614A (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 University ZJU
Original Assignee
Zhejiang University ZJU
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 University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110579783.3A priority Critical patent/CN113252614B/zh
Publication of CN113252614A publication Critical patent/CN113252614A/zh
Priority to PCT/CN2021/130867 priority patent/WO2022247162A1/zh
Priority to JP2022567434A priority patent/JP7450848B2/ja
Priority to US17/662,652 priority patent/US20220398711A1/en
Application granted granted Critical
Publication of CN113252614B publication Critical patent/CN113252614B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/18Water
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/59Transmissivity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • G06V30/1448Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields based on markings or identifiers characterising the document or the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1463Orientation detection or correction, e.g. rotation of multiples of 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19107Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Analytical Chemistry (AREA)
  • Computational Linguistics (AREA)
  • Biochemistry (AREA)
  • Pathology (AREA)
  • Immunology (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Medicinal Chemistry (AREA)
  • Food Science & Technology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Abstract

本发明涉及计算机视觉技术领域,具体地说,涉及一种基于机器视觉的透明度检测方法,提出了一种基于图像处理的智能塞氏盘与水尺识别技术,将传统的塞氏盘与图像处理、深度学习等技术相结合,准确测量出了水体的透明度,克服了人工测量过程中因主观和客观因素造成读数有误差、圆盘位置判断不准确的缺点。该方法准确率高,数值稳定客观、不受个体主观因素影响,具有很高的应用价值。

Description

一种基于机器视觉的透明度检测方法
技术领域
本发明涉及计算机视觉技术领域,具体地说,涉及一种基于机器视觉的透明度检测方法。
背景技术
水体透明度是衡量水质好坏的一个常用指标,比较常用的传统方法是塞氏盘法,该方法需要人用眼睛去判断塞氏盘的模糊程度并读取水尺的读数,会受到观察者主观因素的影响,从而使透明度的测量值具有较大的不确定性。另外,外界的客观因素如光线的强弱、塞氏盘的抖动等,也会对透明度的测量产生影响。这类传统方法测量透明度对操作者的经验要求较高,且存在较大的不确定性和不稳定性。现在随着对环境生态要求的提高,水体透明度已经成为一个非常重要的指标,准确实时地监测水体透明度的变化,有助于环保部门对城市河道的治理做出及时的应对。在水产养殖领域,水体透明度的高低会直接影响养殖产量。因此,水体透明度的精确测量对于促进生活生产具有重要的意义,提出一种准确且有效的水体透明度测量方法,成为一种迫切需求。
现在已经有不少测量透明度的方法,如公布号为CN 109859183A的中国专利文献公开了基于边缘计算的多要素一体化水体智能识别方法及生态站,该方法将浸有塞氏盘的目标水域图像输入预设的SSD深度学习网络,并基于该SSD深度学习网络输出的塞氏盘的图像识别结果,应用边缘计算方法获取目标水域当前的第二水体透明度信息,但该方法需要获取由水体检测传感组件采集的目标水域当前的至少一个第一水体透明度信息和至少一个第一水位信息。公布号为CN 109784259 A的中国专利文献公开了基于图像识别的水体透明度智能识别方法及塞氏盘组件,该方法将浸有塞氏盘的目标水域图像输入预设的图像识别模型,并将该图像识别模型的输出作为所述塞氏盘的图像识别结果,但该方法需要多个包含有两色相间的作业面的圆盘,且各个所述圆盘环绕所述柱体呈螺旋阶梯式固定排布。公布号为CN110672563A的中国专利文献公开了一种适用于智慧水环境透明度图像识别检测方法,该方法需要水质监测点竖直固定一带有塞氏盘的特制螺纹杆件。上述方法往往都需要事先获得数据或需要特定装置,操作相对复杂,实用性并不强。
随着计算机视觉技术的巨大发展,利用计算机视觉技术处理图像数据可以有效避免主客观因素的影响,具有准确性高、应用场景广、泛化能力强的优点。本例将深度学习、图像处理技术与塞氏盘测量技术相结合,提出一种基于机器视觉的智能图像处理识别技术,用于水体透明度的测量。
发明内容
本发明的目的是提供一种基于机器视觉的透明度检测方法,本发明例摄像头可以是一个摄像头,也可以是两个摄像头,当水质透明度较浅时,可以采用一个摄像头。当水质透明度较深,一个摄像头不能同时跟踪拍摄塞氏盘和水尺移动时,则可以采用两个摄像头,其中一个拍摄塞氏盘,另一个拍摄水尺,两个摄像头同时进行拍摄,模仿人用塞氏盘测量水体透明度的动作(一边看塞氏盘一边看水尺),获得画面较为清晰的塞氏盘和水尺升降视频,把拍摄的视频通过云端或者直接传送到电脑上处理。
为了实现上述目的,本发明例包括两方面的内容,一方面是塞氏盘临界位置的判定,另一方面是水尺识别,其流程示意图如图1所示,具体步骤包括:
1)操作塞氏盘开始水体透明度测量,打开摄像头拍摄;
2)塞氏盘临界位置的判定;
3)水尺识别及水尺读数计算;
4)输出显示。
步骤2)中:塞氏盘临界位置的判定;塞氏盘临界位置是指塞氏盘刚好看不见时候的位置。包括塞氏盘初步分割,塞氏盘精细分割以及塞氏盘临界位置判定等步骤,具体如下:
2-1)塞氏盘初步分割:从视频图像中将塞氏盘上的白色部分分割出来;具体包括塞氏盘大小确定、塞氏盘在图像中位置定位和阈值确定等步骤。
2-1-1)塞氏盘大小确定:本例采用经典的faster rcnn算法进行塞氏盘大小的识别;
需要说明的是此处的大小不是指塞氏盘的面积,而是一个矩形的面积,这个矩形的四条边正好能将塞氏盘包围住。首先对包含塞氏盘的视频,进行帧提取,为减小后续图像处理的计算量,本例每隔3帧截取一张图像,然后存放在固定的文件夹中。对文件夹中的第一张图像,用经典的faster rcnn算法进行塞氏盘的识别,采集数据用Matlab2020b中的image labeler功能进行标注,faster rcnn识别塞氏盘大小的结果如图2所示。
2-1-2)塞氏盘在图像中位置定位;
对塞氏盘处于初始位置时的图像用faster rcnn进行识别后,得到矩形框的位置和大小,以该矩形框的上边缘为分界线将所有图像分成上下两部分,本例从下半部分图像的左上角开始,以一定的步长在整个图像上移动之前确定的矩形框,每移动一次截取矩形框里的内容,计算框内的亮度均值。由于塞氏盘上白色部分亮度高,所以亮度均值高的采样矩形框所在位置,即为塞氏盘所在位置。
当图像中含有亮度比塞氏盘高或者差不多的背景物体时,本例采用基于均值的背景相减法进行处理:取视频最后几秒的图像,视频中完全没有塞氏盘的存在,因此可将视频中最后10帧图像取均值作为背景图像,将含有塞氏盘的图像减去背景图像,则图像中背景部分相减后几乎变为0,再对相减后的图像利用之前的方法判定塞氏盘所在位置。
2-1-3)阈值确定
在确定塞氏盘所在位置后,将塞氏盘从原图中提取出来,如图3所示。然后将被分割出来的塞氏盘图像由RGB空间转换到HSV空间,提取亮度分量,建立亮度直方图,如图4所示。本发明例用类间最大方差法确定阈值,其算法过程如下:
第一步,整个图像的亮度值记为集合C,将亮度值分为两类,一类记为集合C1,一类记为集合C2,且C1∩C2=0,C1∪C2=C。
第二步,取亮度值k,将亮度值在[0,k-1]范围内的亮度值全放在集合C1内,剩下的亮度值放在集合C2内。集合C1内亮度值的均值记为m1,集合C1内元素个数占集合C内元素个数的比例记为p1;集合C2内亮度值的均值记为m2,集合C2内元素个数占集合C内元素个数的比例记为p2;集合C内亮度值的均值记为m;类间方差的计算公式记为:g=p1*(m1-m)^2+p2*(m2-m)^2
第三步,亮度值k从0到255逐一取值,每取一次值,计算对应的类间最大方差。最大的类间方差对应的k值除以255就是最后的阈值。
确定阈值后,将高于这个阈值的亮度全部保留,其它全部去除,然后再转回到RGB空间,就得到塞氏盘上的白色部分。
2-2)塞氏盘精细分割:在塞氏盘几乎看不见时,将塞氏盘上的白色部分分割出来;为了实现塞氏盘的精细分割,本发明例用如下两个步骤实现:
2-2-1)在塞氏盘几乎将要看不见时确定塞氏盘的分割阈值并将其分割出来。
根据步骤2-1),对于某一个塞氏盘视频进行截取,将所有截取的图像都运用步骤2-1)的方法确定其阈值,并将每张图像阈值大小做成折线图,如图5所示。
先确定塞氏盘非常模糊时,塞氏盘所在矩形框位置。在临界位置塞氏盘已经非常模糊只要再下降一小段距离就会看不见,而标准塞氏盘的直径有20cm,这一小段距离是远小于塞氏盘的直径的,所以,记塞氏盘图像跳变点的前一张图像的塞氏盘所在矩形框的高为h、宽为w、左上角顶点坐标为[x,y],以[x,y]为起点划分一宽为1.6*w、高为1.6*h的矩形区域,可以保证之后图像中的塞氏盘都会出现在这个矩形区域。
然后,利用阈值变化趋势来确定阈值大小。将阈值跳变点之前的阈值数据进行线性拟合,用拟合曲线来预测跳变点之后阈值大小,将预测值作为跳变点之后图像的分割阈值。对于跳变点的确定,本例采用kmeans聚类分析的方法。具体方法如下:
第一步,求取相邻点阈值的差分,并对所有差分取绝对值;
第二步,用matlab自带的kmeans函数对这些差分进行分类,分成两类;
第三步,计算每一类差分的均值,取均值大的那类差分,这类差分第一次出现的位置就是跳变点的位置。
找到跳变点位置,作出原阈值曲线、阈值差分曲线、阈值拟合曲线如图6所示。
2-2-2)采用基于均值的背景相减法确定临界阈值;在塞氏盘完全看不见时,排除将水面当成塞氏盘分割出来。
本例还是采用基于均值的背景相减法进行处理,得到背景图像。每次把塞氏盘从原图分割出来的同时,将对应位置的背景图像也分割出来。由于背景图像都是水面,其背景亮度值成正太分布,设其均值为u,标准差为σ,用u+2σ代替该图的阈值,可以保证图像中完全看不见塞氏盘时,不会将大部分面分割出来,为步骤2-3)临界位置的判定提供依据。
2-3)塞氏盘临界位置判定:使用分类网络判定塞氏盘的临界位置;具体步骤如下:
2-3-1)将所有塞氏盘白色部分的分割结果,都缩放至统一尺寸(本例为160*160*3);本例用Matlab2020b的resnet18网络构建分类网络,对塞氏盘的分割结果进行分类。本例将resnet18的输入大小修改至统一尺寸(本例为160*160*3),网络各层参数如表1所示。
2-3-2)采集更多场景塞氏盘视频,制作用于分类网络训练的数据集;本例数据分为两类,一类表示有塞氏盘,一类表示无塞氏盘,部分数据集图像如图7所示。
2-3-3)用训练好的分类网络判断塞氏盘的临界位置。
2-3-4)获得塞氏盘的临界位置之后,再进行校正。由于人眼跟摄像头的透视距离有差距,而且现在摄像头的精准度越来越高,所以跟肉眼判断之间有一定的误差(其实人与人的判断距离,每个人在不同状态下的判断距离也是有所不同的,因此需要一个标准,而以摄像头作为标准无疑相对更客观),但这个误差是相对固定的,设为ΔD,则实际的临界位置为:塞氏盘的临界位置+ΔD。
3)水尺识别及水尺读数计算;本例利用Deeplabv3+算法对该位置处的水尺进行识别分割,然后提取水尺上的字符,对字符进行分类,最后计算水尺读数,得到透明度值。具体步骤如下:
3-1)利用Deeplabv3+算法对该位置处的水尺进行识别分割;具体步骤如下:
3-1-1)创建数据集;本例收集120余张水尺图像作为训练数据集,用Matlab2020b自带的image labeler功能进行数据标注,部分水尺图像以及标注的结果如图8所示。
3-1-2)用Deeplabv3+进行网络训练;
3-1-3)用训练好的Deeplabv3+进行水尺分割。
3-2)提取水尺上的字符;具体如下:
3-2-1)水尺倾斜校正;
利用最小二乘估计对Deeplabv3+分割的结果进行倾斜校正,其计算公式如式(1)所示:
Figure BDA0003085622760000081
设水尺左侧或者右侧的边缘上的点的坐标为(xi,yi),其中xi表示横坐标,yi表示纵坐标,i∈[1,n],计算水尺的倾斜斜率。
3-2-2)确定校正后水尺的边缘位置,然后从原图中将水尺分割出来;
3-2-3)对分割出来的水尺进行转置和镜像,使之向右旋转90度,变为水平的水尺;
3-2-4)用matlab的im2bw函数对分割出来的水尺进行二值化,对二值化后的图像取反,利用腐蚀算法断开字符与字符间的连接;
3-2-5)用matlab自带的regionprops()函数,将所有字符用矩形框标注出来,具体如图9所示;
3-2-6)利用kmeans聚类分析,将大字符与小字符分开;
经过上述操作后,本例要获取的有效字符(比较大的字符)依然保留在图像中,但另外一些小的字符或被腐蚀掉或被保留了下来。
本例利用kmeans聚类算法将大字符与小字符分开,具体步骤如下:
第一步,计算包围字符的矩形框的面积。
第二步,用matlab的kmeans()函数,对上述矩形框面积进行聚类分析,分成两类。
第三步,计算每一类的面积均值,均值大的那一类就是大字符,并将它们分割出来,聚类得到的大字符如图10所示。
3-3)对水尺字符进行分类;本例构建CNN分类网络来对水尺字符进行分类,用Matlab2020b的resnet18网络作为分类器,一共设置10个类,0到9每个数字属于一个类。本例采用matlab自带的数字字符数据集,将数据集里所有图像进行二值化,并缩放至64*64*1的大小。
3-4)计算水尺读数,得到透明度值;具体说明如下:
对于水平的水尺,每个整十刻度的位置,处于每个非0数字和其右边紧邻的数字0之间,比如,刻度70的位置处于字符7和其右边的字符0之间。设非0数字为k,数字k的右边缘位置记为x_right(k),数字k右侧紧邻的数字0的左边缘位置记为x_left(k),则每个整十刻度的位置x(k)的计算公式如(2)所示:
Figure BDA0003085622760000091
记水尺上非零的最小数字为i,则根据比值关系得到水尺的读数计算公式如(3)所示:
Figure BDA0003085622760000092
4)输出显示。
与现有技术相比,本发明的有益之处在于:
上述技术方案提出了一种基于图像处理的智能塞氏盘与水尺识别技术,将传统的塞氏盘与图像处理、深度学习等技术相结合,准确测量出了水体的透明度,克服了人工测量过程中因主观和客观因素造成读数有误差、圆盘位置判断不准确的缺点。该方法准确率高,数值稳定客观、不受个体主观因素影响,具有很高的应用价值。
附图说明
图1为本发明实施例中一种基于机器视觉的透明度检测方法流程示意图;
图2为本发明实施例中采用faster rcnn识别塞氏盘大小的结果图;
图3为本发明实施例被分割出来的塞氏盘;
图4为本发明实施例被分割出来的塞氏盘的亮度直方图;
图5为本发明实施例的阈值折线图图;
图6为本发明实施例的原阈值曲线、阈值差分曲线、阈值拟合曲线图;
图7为本发明实施例中resnet18的部分数据集示意图;
图8为本发明实施例中部分水尺及其标注结果图像;
图9为本发明实施例中水尺图像处理结果,(a)为水平的水尺图像,(b)为二值化、取反、腐蚀后的水尺图像;
图10为本发明实施例中聚类得到的大字符。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
实施例
参见图1至图10,
本发明的目的是提供一种基于机器视觉的透明度检测方法,本发明例摄像头可以是一个摄像头,也可以是两个摄像头,当水质透明度较浅时,可以采用一个摄像头。当水质透明度较深,一个摄像头不能同时跟踪拍摄塞氏盘和水尺移动时,则可以采用两个摄像头,其中一个拍摄塞氏盘,另一个拍摄水尺,两个摄像头同时进行拍摄,模仿人用塞氏盘测量水体透明度的动作(一边看塞氏盘一边看水尺),获得画面较为清晰的水尺视频和塞氏盘升降视频,把拍摄的视频通过云端或者直接传送到电脑上处理。为了实现上述目的,本发明例包括两方面的内容,一方面是塞氏盘临界位置的判定,另一方面是水尺识别,其流程示意图如图1所示,具体步骤包括:
步骤S100,操作塞氏盘开始水体透明度测量,打开摄像头拍摄;
步骤S200,塞氏盘临界位置的判定;塞氏盘临界位置是指塞氏盘刚好看不见时候的位置。包括塞氏盘初步分割,塞氏盘精细分割以及塞氏盘临界位置判定等步骤,具体如下:
步骤S210,塞氏盘初步分割:从视频图像中将塞氏盘上的白色部分分割出来;具体包括塞氏盘大小确定、塞氏盘在图像中位置定位和阈值确定等步骤。
步骤S211,塞氏盘大小确定:本例采用经典的faster rcnn算法进行塞氏盘大小的识别;首先对包含塞氏盘的视频,进行帧提取,为减小后续图像处理的计算量,本例每隔3帧截取一张图像,然后存放在固定的文件夹中。对文件夹中的第一张图像,用经典的fasterrcnn算法进行塞氏盘的识别,采集数据用Matlab2020b中的image labeler功能进行标注,faster rcnn识别塞氏盘大小的结果如图2所示。
步骤S212,塞氏盘在图像中位置定位;
对塞氏盘处于初始位置时的图像用faster rcnn进行识别后,得到矩形框的位置和大小,以该矩形框的上边缘为分界线将所有图像分成上下两部分,塞氏盘一般只出现在下半部分图像中,在下半部分图像中,本例从图像的左上角开始,以一定的步长在整个图像上移动之前确定的矩形框,每移动一次截取矩形框里的内容,计算框内的亮度均值,亮度均值高的采样矩形框所在位置,即为塞氏盘所在位置。
当图像中含有亮度比塞氏盘要高或者差不多的背景物体时,本例采用基于均值的背景相减法进行处理:取视频最后几秒的图像,视频中完全没有塞氏盘的存在,因此可将视频中最后10帧图像取均值作为背景图像,将含有塞氏盘的图像减去背景图像,则图像中背景部分相减后几乎变为0,再对相减后的图像利用之前的方法判定塞氏盘所在位置。
步骤S213,阈值确定;
在确定塞氏盘所在位置后,将塞氏盘从原图中提取出来,如图3所示。然后将被分割出来的塞氏盘图像由RGB空间转换到HSV空间,提取亮度分量,建立亮度直方图,如图4所示。本发明例用类间最大方差法确定阈值,其算法过程如下:
第一步,整个图像的亮度值记为集合C,将亮度值分为两类,一类记为集合C1,一类记为集合C2,且C1∩C2=0,C1∪C2=C。
第二步,取亮度值k,将亮度值在[0,k-1]范围内的亮度值全放在集合C1内,剩下的亮度值放在集合C2内。集合C1内亮度值的均值记为m1,集合C1内元素个数占集合C内元素个数的比例记为p1;集合C2内亮度值的均值记为m2,集合C2内元素个数占集合C内元素个数的比例记为p2;集合C内亮度值的均值记为m;类间方差的计算公式记为:g=p1*(m1-m)^2+p2*(m2-m)^2
第三步,亮度值k从0到255逐一取值,每取一次值,计算对应的类间最大方差。最大的类间方差对应的k值除以255就是最后的阈值。
确定阈值后,将高于这个阈值的亮度全部保留,其它全部去除,然后再转回到RGB空间,就得到塞氏盘上的白色部分。
步骤S220,塞氏盘精细分割:在塞氏盘几乎看不见时,将塞氏盘上的白色部分分割出来;为了实现塞氏盘的精细分割,本发明例用如下两个步骤实现:
步骤S221,在塞氏盘几乎将要看不见时确定塞氏盘的分割阈值并将其分割出来;
根据步骤S210,对于某一个塞氏盘视频进行截取,将所有截取的图像都运用步骤S210的方法确定其阈值,并将每张图像阈值大小做成折线图,如图5所示。
先确定塞氏盘非常模糊时,塞氏盘所在矩形框位置。在临界位置塞氏盘已经非常模糊只要再下降一小段距离就会看不见,记塞氏盘图像跳变点的前一张图像的塞氏盘所在矩形框的高为h、宽为w、左上角顶点坐标为[x,y],以[x,y]为起点划分一宽为1.6*w、高为1.6*h的矩形区域,可以保证之后图像中的塞氏盘都会出现在这个矩形区域。
然后,利用阈值变化趋势来确定阈值大小。将阈值跳变点之前的阈值数据进行线性拟合,用拟合曲线来预测跳变点之后阈值大小,将预测值作为跳变点之后图像的分割阈值。对于跳变点的确定,本例采用kmeans聚类分析的方法。具体方法如下:
第一步,求取相邻点阈值的差分,并对所有差分取绝对值;
第二步,用matlab自带的kmeans函数对这些差分进行分类,分成两类;
第三步,计算每一类差分的均值,取均值大的那类差分,这类差分第一次出现的位置就是跳变点的位置。
找到跳变点位置,作出原阈值曲线、阈值差分曲线、阈值拟合曲线如图6所示。
步骤S222,采用基于均值的背景相减法确定临界阈值;在塞氏盘完全看不见时,排除将水面当成塞氏盘分割出来。
本例采用基于均值的背景相减法进行处理,得到背景图像。每次把塞氏盘从原图分割出来的同时,将对应位置的背景图像也分割出来。由于背景图像都是水面,其背景亮度值成正太分布,设其均值为u,标准差为σ,并用u+2σ代替该图的阈值,就不会将大部分水面分割出来,为步骤S230临界位置的判定提供依据。
步骤S230,塞氏盘临界位置判定:使用分类网络判定塞氏盘的临界位置;具体步骤如下:
步骤S231,将所有塞氏盘白色部分的分割结果,都缩放至统一尺寸(本例为160*160*3);本例用Matlab2020b的resnet18网络构建分类网络,对塞氏盘的分割结果进行分类。本例将resnet18的输入大小修改至统一尺寸(本例为160*160*3),网络各层参数如表1所示。
表1 resnet18各层参数
Figure BDA0003085622760000151
步骤S232,采集更多场景塞氏盘视频,制作用于分类网络训练的数据集;本例数据分为两类,一类表示有塞氏盘,一类表示无塞氏盘,部分数据集图像如图7所示。
步骤S233,用训练好的分类网络判断塞氏盘的临界位置。
步骤S234,获得塞氏盘的临界位置之后,再进行校正。实际的临界位置为:塞氏盘的临界位置+ΔD,本例ΔD=-5cm。
步骤S300,水尺识别及水尺读数计算;本例利用Deeplabv3+算法对该位置处的水尺进行识别分割,然后提取水尺上的字符,对字符进行分类,最后计算水尺读数,得到透明度值。具体步骤如下:
步骤S310,利用Deeplabv3+算法对该位置处的水尺进行识别分割;具体步骤如下:
步骤S311,创建数据集;本例收集120余张水尺图像作为训练数据集,用Matlab2020b自带的image labeler功能进行数据标注,部分水尺图像以及标注的结果如图8所示。
步骤S312,用Deeplabv3+进行网络训练;
步骤S313,用训练好的Deeplabv3+进行水尺分割。
步骤S320,提取水尺上的字符;具体如下:
步骤S321,水尺倾斜校正;利用最小二乘估计对Deeplabv3+分割的结果进行倾斜校正,其计算公式如式(1)所示:
Figure BDA0003085622760000161
设水尺左侧或者右侧的边缘上的点的坐标为(xi,yi),i∈[1,n],计算水尺的倾斜斜率。
步骤S322,确定校正后水尺的边缘位置,然后从原图中将水尺分割出来;
步骤S323,对分割出来的水尺进行转置和镜像,使之向右旋转90度,变为水平的水尺;
步骤S324,用matlab的im2bw函数对分割出来的水尺进行二值化,对二值化后的图像取反,利用腐蚀算法断开字符与字符间的连接;
步骤S325,用matlab自带的regionprops()函数,将所有字符用矩形框标注出来,具体如图9所示;
步骤S326,利用kmeans聚类分析,将大字符与小字符分开;
经过上述操作后,本例要获取的有效字符(比较大的字符)依然保留在图像中,但另外一些小的字符或被腐蚀掉或被保留了下来。
本例利用kmeans聚类算法将大字符与小字符分开,具体步骤如下:
第一步,计算包围字符的矩形框的面积。
第二步,用matlab的kmeans()函数,对上述矩形框面积进行聚类分析,分成两类。
第三步,计算每一类的面积均值,均值大的那一类就是大字符,并将它们分割出来,聚类得到的大字符如图10所示。
步骤S330,对水尺字符进行分类;本例构建CNN分类网络来对水尺字符进行分类,用Matlab2020b的resnet18网络作为分类器,一共设置10个类,0到9每个数字属于一个类。本例采用matlab自带的数字字符数据集,将数据集里所有图像进行二值化,并缩放至64*64*1的大小。
步骤S340,计算水尺读数,得到透明度值;具体说明如下:
对于水平的水尺,每个整十刻度的位置,处于每个非0数字和其右边紧邻的数字0之间,比如,刻度70的位置处于字符7和其右边的字符0之间。设非0数字为k,数字k的右边缘位置记为x_right(k),数字k右侧紧邻的数字0的左边缘位置记为x_left(k),则每个整十刻度的位置x(k)的计算公式如(2)所示:
Figure BDA0003085622760000181
记水尺上非零的最小数字为i,则根据比值关系得到水尺的读数计算公式如(3)所示:
Figure BDA0003085622760000182
步骤S400,输出显示。

Claims (2)

1.一种基于机器视觉的透明度检测方法,其特征在于,具体步骤包括:
1)操作塞氏盘开始水体透明度测量,打开摄像头拍摄;
2)塞氏盘临界位置的判定;
3)水尺识别及水尺读数计算;
4)输出显示;
其中,所述步骤2)中所述的塞氏盘临界位置的判定;包括塞氏盘初步分割,塞氏盘精细分割以及塞氏盘临界位置判定,具体包括如下:
2-1)塞氏盘初步分割:从视频图像中将所述塞氏盘上的白色部分分割出来;包括塞氏盘大小确定、塞氏盘在图像中位置定位和阈值确定;
2-1-1)塞氏盘大小确定:采用fasterrcnn算法进行塞氏盘大小的识别;所述塞氏盘大小指代一矩形的面积,所述矩形的四条边正好能将所述塞氏盘包围住;首先对包含塞氏盘的视频进行帧提取,每隔3帧截取一张图像,然后存放在固定的文件夹中;对文件夹中的第一张图像,用所述fasterrcnn算法进行塞氏盘的识别,采集数据用Matlab2020b中的imagelabeler功能进行标注;
2-1-2)塞氏盘在图像中位置定位;对所述塞氏盘处于初始位置时的图像用所述fasterrcnn算法进行识别后,得到矩形框的位置和大小,以该矩形框的上边缘为分界线将所述图像分成上下两部分;从下半部分图像的左上角开始,以一定的步长在整个图像上移动之前确定的矩形框,每移动一次截取矩形框里的内容,计算框内的亮度均值;亮度均值高的采样矩形框所在位置,即为所述塞氏盘所在位置;
当所述图像中含有亮度比所述塞氏盘高或者差不多的背景物体时,将视频中最后10帧图像取均值作为背景图像,将含有所述塞氏盘的图像减去背景图像,则图像中背景部分相减后几乎变为0,再对相减后的图像利用所述步骤2-1-2)中的方法判定塞氏盘所在位置;
2-1-3)阈值确定:在确定所述塞氏盘所在位置后,将所述塞氏盘从原图中提取出来,然后将被分割出来的塞氏盘图像由RGB空间转换到HSV空间,提取亮度分量,建立亮度直方图,用类间最大方差法确定阈值,其算法过程如下:
第一步,整个所述塞氏盘图像的亮度值记为集合C,将亮度值分为两类,一类记为集合C1,一类记为集合C2,且C1∩C2=0,C1∪C2=C;
第二步,取亮度值k,将亮度值在[0,k-1]范围内的亮度值全放在所述集合C1内,剩下的亮度值放在所述集合C2内;所述集合C1内亮度值的均值记为m1,所述集合C1内元素个数占集合C内元素个数的比例记为p1;所述集合C2内亮度值的均值记为m2,所述集合C2内元素个数占所述集合C内元素个数的比例记为p2;所述集合C内亮度值的均值记为m;类间方差的计算公式记为:g=p1*(m1-m)^2+p2*(m2-m)^2;
第三步,亮度值k从0到255逐一取值,每取一次值,计算对应的类间最大方差;最大的类间方差对应的k值除以255就是最后的阈值;
确定阈值后,将高于这个阈值的亮度全部保留,其它全部去除,然后再转回到RGB空间,就得到所述塞氏盘上的白色部分;
2-2)塞氏盘精细分割:在所述塞氏盘接近临界位置时,将所述塞氏盘上的白色部分分割出来;所述塞氏盘的精细分割包括以下步骤:
2-2-1)在所述塞氏盘接近临界位置时确定塞氏盘的分割阈值并将其分割出来;
根据所述步骤2-1),对于某一个塞氏盘视频进行截取,将所有截取的图像都运用步骤2-1)的方法确定其阈值,并将每张图像阈值大小做成折线图;
先确定所述塞氏盘接近临界位置时,所述塞氏盘所在矩形框位置;记所述塞氏盘图像跳变点的前一张图像的所述塞氏盘所在矩形框的高为h、宽为w、左上角顶点坐标为[x,y],以[x,y]为起点划分一宽为1.6*w、高为1.6*h的矩形区域,保证之后图像中的所述塞氏盘都会出现在这个矩形区域;
然后,将阈值跳变点之前的阈值数据进行线性拟合,用拟合曲线来预测跳变点之后阈值大小,将预测值作为跳变点之后图像的分割阈值;对于跳变点的确定,采用kmeans聚类分析的方法,包括以下步骤:
第一步,求取相邻点阈值的差分,并对所有差分取绝对值;
第二步,用matlab自带的kmeans函数对这些差分进行分类,分成两类;
第三步,计算每一类差分的均值,取均值大的那类差分,这类差分第一次出现的位置就是跳变点的位置;
找到跳变点位置,作出原阈值曲线、阈值差分曲线、阈值拟合曲线;
2-2-2)采用基于均值的背景相减法确定临界阈值;在塞氏盘看不见时,排除将水面当成塞氏盘分割出来;采用基于均值的背景相减法进行处理,得到背景图像;每次把塞氏盘从原图分割出来的同时,将对应位置的背景图像也分割出来;由于背景图像都是水面,其背景亮度值成正太分布,设其均值为u,标准差为σ,用u+2σ代替该图的阈值,为步骤2-3)临界位置的判定提供依据;
2-3)塞氏盘临界位置判定:使用分类网络判定塞氏盘的临界位置;具体包括如下步骤:
2-3-1)将所有塞氏盘白色部分的分割结果,都缩放至统一尺寸;用Matlab2020b的resnet18网络构建分类网络,对塞氏盘的分割结果进行分类;
2-3-2)采集更多场景塞氏盘视频,制作用于分类网络训练的数据集;数据分为两类,一类表示有塞氏盘,一类表示无塞氏盘;
2-3-3)用训练好的分类网络判断塞氏盘的临界位置;
2-3-4)获得塞氏盘的临界位置之后,再进行校正;实际的临界位置为:塞氏盘的临界位置+ΔD,其中,ΔD为人眼与摄像头观察造成的误差。
2.根据权利要求1所述的一种基于机器视觉的透明度检测方法,其特征在于,步骤3)中所述的水尺识别及水尺读数计算;利用Deeplabv3+算法对该位置处的水尺进行识别分割,然后提取水尺上的字符,对字符进行分类,最后计算水尺读数,得到透明度值,具体包括如下步骤:
3-1)利用Deeplabv3+算法对该位置处的水尺进行识别分割,包括如下步骤:
3-1-1)创建数据集;用image labeler功能进行数据标注;
3-1-2)用Deeplabv3+进行网络训练;
3-1-3)用训练好的Deeplabv3+进行水尺分割;
3-2)提取水尺上的字符,包括如下步骤:
3-2-1)水尺倾斜校正;
利用最小二乘估计对Deeplabv3+分割的结果进行倾斜校正,其计算公式如式(1)所示:
Figure FDA0003703273300000061
设水尺左侧或者右侧的边缘上的点的坐标为(xi,yi),其中xi表示横坐标,yi表示纵坐标,i∈[1,n],计算水尺的倾斜斜率;
3-2-2)确定校正后水尺的边缘位置,然后从原图中将水尺分割出来;
3-2-3)对分割出来的水尺进行转置和镜像,使之向右旋转90度,变为水平的水尺;
3-2-4)用matlab的im2bw函数对分割出来的水尺进行二值化,对二值化后的图像取反,利用腐蚀算法断开字符与字符间的连接;
3-2-5)用matlab自带的regionprops()函数,将所有字符用矩形框标注出来;
3-2-6)利用kmeans聚类分析,将大字符与小字符分开,具体包括如下步骤:
第一步,计算包围字符的矩形框的面积;
第二步,用matlab的kmeans()函数,对上述矩形框面积进行聚类分析,分成两类;
第三步,计算每一类的面积均值,均值大的那一类就是大字符,并将它们分割出来;
3-3)对水尺字符进行分类;构建CNN分类网络来对水尺字符进行分类,用Matlab2020b的resnet18网络作为分类器,一共设置10个类,0到9每个数字属于一个类;采用matlab自带的数字字符数据集,将数据集里所有图像进行二值化,并缩放至统一的大小;
3-4)计算水尺读数,得到透明度值;
对于水平的水尺,每个整十刻度的位置,处于每个非0数字和其右边紧邻的数字0之间,设非0数字为k,数字k的右边缘位置记为x_right(k),数字k右侧紧邻的数字0的左边缘位置记为x_left(k),则每个整十刻度的位置x(k)的计算公式如下式所示:
Figure FDA0003703273300000071
记水尺上非零的最小数字为i,则根据比值关系得到水尺的读数计算公式如下式所示:
Figure FDA0003703273300000072
CN202110579783.3A 2021-05-26 2021-05-26 一种基于机器视觉的透明度检测方法 Expired - Fee Related CN113252614B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110579783.3A CN113252614B (zh) 2021-05-26 2021-05-26 一种基于机器视觉的透明度检测方法
PCT/CN2021/130867 WO2022247162A1 (zh) 2021-05-26 2021-11-16 一种基于机器视觉的透明度检测方法
JP2022567434A JP7450848B2 (ja) 2021-05-26 2021-11-16 マシン視覚に基づく透明度検出方法
US17/662,652 US20220398711A1 (en) 2021-05-26 2022-05-09 Transparency detection method based on machine vision

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110579783.3A CN113252614B (zh) 2021-05-26 2021-05-26 一种基于机器视觉的透明度检测方法

Publications (2)

Publication Number Publication Date
CN113252614A CN113252614A (zh) 2021-08-13
CN113252614B true CN113252614B (zh) 2022-07-22

Family

ID=77184556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110579783.3A Expired - Fee Related CN113252614B (zh) 2021-05-26 2021-05-26 一种基于机器视觉的透明度检测方法

Country Status (4)

Country Link
US (1) US20220398711A1 (zh)
JP (1) JP7450848B2 (zh)
CN (1) CN113252614B (zh)
WO (1) WO2022247162A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740620B2 (en) * 2017-10-12 2020-08-11 Google Llc Generating a video segment of an action from a video
US11734830B2 (en) * 2020-05-31 2023-08-22 Sketchar , Vab Method of facade plane detection
CN113252614B (zh) * 2021-05-26 2022-07-22 浙江大学 一种基于机器视觉的透明度检测方法
CN118037610B (zh) * 2024-04-12 2024-06-07 煤炭科学技术研究院有限公司 一种针对复杂环境的水尺图像畸变校正方法和***

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5394359B2 (ja) 2010-12-14 2014-01-22 中国電力株式会社 透明度測定器具
CN102254152B (zh) * 2011-06-17 2013-01-30 东南大学 基于彩色跳变点和颜色密度的车牌定位方法
KR20130083662A (ko) * 2012-01-13 2013-07-23 주식회사 씨큐로 수질 검지시스템 및 그 제어방법
CN102975826A (zh) * 2012-12-03 2013-03-20 上海海事大学 基于机器视觉的便携式船舶水尺自动检测和识别方法
US9288462B2 (en) * 2013-09-06 2016-03-15 Imatte, Inc. Conversion of an image to a transparency retaining readability and clarity of detail while automatically maintaining color information of broad areas
CN107036985A (zh) * 2017-01-12 2017-08-11 薛永富 一种透明度检测方法、***及网络
CN107590498B (zh) * 2017-09-27 2020-09-01 哈尔滨工业大学 一种基于字符分割级联二分类器的自适应汽车仪表检测方法
CN207675630U (zh) * 2018-01-08 2018-07-31 三峡大学 一种水质透明度测量装置
CN109145830B (zh) * 2018-08-24 2020-08-25 浙江大学 一种智能水尺识别方法
CN208847661U (zh) * 2018-09-30 2019-05-10 程剑之 一种水透明度检测设备
CN109406523A (zh) * 2018-12-12 2019-03-01 江苏炯测环保技术有限公司 一种浮动式水质透明度检测装置
CN109784259B (zh) * 2019-01-08 2021-04-13 江河瑞通(北京)技术有限公司 基于图像识别的水体透明度智能识别方法及塞氏盘组件
CN209296079U (zh) * 2019-01-29 2019-08-23 江河瑞通(北京)技术有限公司 一种多要素一体化生态站
CN109859183B (zh) * 2019-01-29 2021-06-04 江河瑞通(北京)技术有限公司 基于边缘计算的多要素一体化水体智能识别方法及生态站
WO2021066160A1 (ja) * 2019-10-03 2021-04-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111077118A (zh) * 2020-01-08 2020-04-28 国家海洋技术中心 一种水体透明度测量方法及***
CN214749770U (zh) * 2021-05-14 2021-11-16 昆明学院 一种移动式透明度监测仪
CN113252614B (zh) * 2021-05-26 2022-07-22 浙江大学 一种基于机器视觉的透明度检测方法

Also Published As

Publication number Publication date
JP7450848B2 (ja) 2024-03-18
WO2022247162A1 (zh) 2022-12-01
CN113252614A (zh) 2021-08-13
JP2023533644A (ja) 2023-08-04
US20220398711A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
CN113252614B (zh) 一种基于机器视觉的透明度检测方法
CN107808143B (zh) 基于计算机视觉的动态手势识别方法
CN110389127B (zh) 一种金属陶瓷零件识别及表面缺陷检测***和方法
CN106022231A (zh) 一种基于多特征融合的行人快速检测的技术方法
CN104978567B (zh) 基于场景分类的车辆检测方法
CN113324864B (zh) 一种基于深度学习目标检测的受电弓碳滑板磨耗检测方法
CN106203539B (zh) 识别集装箱箱号的方法和装置
CN108509950B (zh) 基于概率特征加权融合的铁路接触网支柱号牌检测识别法
CN112991269A (zh) 一种肺部ct图像的识别分类方法
CN109685045A (zh) 一种运动目标视频跟踪方法及***
CN111445497B (zh) 一种基于尺度上下文回归的目标追踪与跟随方法
CN108256462A (zh) 一种商场监控视频中的人数统计方法
CN113158977B (zh) 改进FANnet生成网络的图像字符编辑方法
CN108073940B (zh) 一种非结构化环境中的3d目标实例物体检测的方法
CN112580647A (zh) 一种面向堆叠物体的识别方法及***
CN108647703B (zh) 一种基于显著性的分类图像库的类型判断方法
CN115908774A (zh) 一种基于机器视觉的变形物资的品质检测方法和装置
CN112686872B (zh) 基于深度学习的木材计数方法
CN112561885B (zh) 基于YOLOv4-tiny的插板阀开度检测方法
CN109948432A (zh) 一种行人检测方法
CN114581928A (zh) 一种表格识别方法及***
CN112926694A (zh) 基于改进的神经网络对图像中的猪只进行自动识别的方法
CN117475353A (zh) 基于视频的异常烟雾识别方法及***
CN111738264A (zh) 一种机房设备显示面板数据的智能采集方法
CN110930393A (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
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220722