CN105374042B - 基于机器视觉的鱼苗在线自动计数装置与方法 - Google Patents
基于机器视觉的鱼苗在线自动计数装置与方法 Download PDFInfo
- Publication number
- CN105374042B CN105374042B CN201510853916.6A CN201510853916A CN105374042B CN 105374042 B CN105374042 B CN 105374042B CN 201510853916 A CN201510853916 A CN 201510853916A CN 105374042 B CN105374042 B CN 105374042B
- Authority
- CN
- China
- Prior art keywords
- uncovered cylinder
- fry
- circular flat
- pipeline
- sink
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Farming Of Fish And Shellfish (AREA)
Abstract
本发明公开了一种基于机器视觉的鱼苗在线自动计数装置及方法。本发明装置由红色LED背光源、工业相机、管道、滤网、圆形平面、无盖圆柱形水槽、电磁阀门、液位计、含有图像采集卡的PC机、单片机控制器和支架组成。由配套软件对采集的图像进行灰度变换、拉普拉斯滤波、自适应中值滤波、OTSU阈值分割、形态学处理和端点细化等算法处理之后进行鱼苗计数。本装置可在PC机的控制下长时间连续多次高效地使用,解决了传统人工计数所带来的工作时间有限、精度不高、主观因素明显等不足;根据液位计可以对水位进行检测与控制,以适应不同种类、不同大小鱼苗的计数,从而满足不同使用者的计数需求。
Description
技术领域
本发明涉及一种自动计数装置,尤其涉及一种利用机器视觉技术对鱼苗进行自动计数的装置与方法。
背景技术
在水产养殖中,鱼苗的精确计数是科学放饵、养殖密度控制、鱼苗存活率评估和鱼苗销售等养殖规范化管理的基础保障,是实施水产养殖自动化的根本保证,也是一项直接影响科学管理和经济效益的重要工作。因此,关于鱼苗计数方法的研究,早已引起国内外渔业以及计量专业相关人员的重视。二十世纪八十年代以来,一些较为发达的国家,开始把开发现代化的鱼苗计数技术作为发展渔业的重要内容之一,有的国家为此还专门成立了鱼苗计数器开发委员会。
近几年来,我国的鱼类养殖产业发展迅速,养殖面积不断增加,产量逐年提高,但鱼苗计数方法却一直比较落后,这不仅影响到鱼类养殖中的科学管理,降低了其经济效益,且妨碍了水产养殖研究的发展。我国对鱼苗计数的要求已十分迫切,反映的问题十分突出,尽快研制出一种适合于生产需求的计数仪器,已经刻不容缓。目前,我国各地多采用传统的人工估算法对鱼苗进行计数,具体方法如推算法、碗量法、开间法等,这些方法的平均误差在30%左右,并且耗时费力,且需要一定的人工劳动费用;而利用光电计数原理的鱼苗计数器虽然计数精度较高,但装置复杂,成本高,且鱼苗的损伤率较大,不符合市场大规模发展的需求。因此研制一种高效率、低成本且对鱼苗损伤较小的鱼苗计数装置具有重大意义。
发明内容
本发明的目的是利用机器视觉技术实现对不同大小的批量鱼苗进行快速、精确并自动计数。
为达到上述目的,本发明提供了一种基于机器视觉的鱼苗在线自动计数装置,包括:红色LED背光源、工业相机、管道、滤网、圆形平面、无盖圆柱形水槽、电磁阀门、液位计、含有图像采集卡的PC机、单片机控制器和支架。
所述圆形平面与所述无盖圆柱形水槽安装在所述支架上,且所述圆形平面圆心位于与所述无盖圆柱形水槽正上方且与所述无盖圆柱形水槽底面圆心重合,所述圆形平面中有两个相对圆心对称的圆形孔,使两个所述管道A1、A2通过所述电磁阀门a1、a2的连接插入并固定到所述圆形平面中,两个所述电磁阀门a1、a2位于所述圆形表面上方,两个所述管道A1、A2上端高于所述圆形平面上表面100mm,下端高于所述无盖圆柱形水槽内底面20mm且所述管道A1、A2外表面刚好贴于所述无盖圆柱形水槽内部侧表面。
所述无盖圆柱形水槽底面圆心处有一圆形孔,使另一个所述管道B通过所述电磁阀门b的连接插入并固定到所述无盖圆柱形水槽底部,且此所述管道B上端所在平面与所述无盖圆柱形水槽内底面所在平面相重合,所述无盖圆柱形水槽侧壁有两个相对底边圆心对称的圆形孔,两个圆形孔上装有所述滤网,另外两个所述管道C1、C2通过两个所述电磁阀门c1、c2的连接插入并安装到所述无盖圆柱形水槽侧壁上,所述电磁阀门c1、c2嵌入于所述无盖圆柱形水槽外侧壁表面,所述液位计置于所述无盖圆柱形水槽内部。
所述红色LED背光源与所述工业相机安装在所述圆形平面下表面,所述工业相机安装在所述圆形平面下表面圆心处,所述红色LED背光源紧靠于所述工业相机镜头,所述圆形平面与所述无盖圆柱形水槽的相对高度刚好使所述无盖圆柱形水槽内部底面完整地处于工业相机视野中。
所述工业相机和LED背光源与所述PC机连接,所述单片机控制器分别与各个电磁阀门、液位计和PC机相连接。
调用图像处理程序获取图像,对其处理进行鱼苗计数,包括如下步骤:
第1步,工业相机采集在无盖圆柱形水槽内部运动的鱼苗的原始图像;
第2步,用Matlab软件读取单层的鱼苗图像;
第3步,将得到的彩色图片进行灰度变换;
第4步,进行拉普拉斯滤波,然后用原图去与拉普拉斯滤波之后图像作差;
第5步,采用自适应中值滤波,去除噪声。
第6步,采用OTSU阈值分割法对图像进行处理,得到简单二值图像;
第7步,进一步对二值图像进行形态学处理,得到更理想的二值图像;
第8步,把处理过的图像的端点进行细化处理;
第9步,开始计数;
第10步,显示计数结果。
与现有的传统鱼苗计数方法相比,本发明的有益效果是:本发明将机器视觉技术应用于渔产养殖业,从而使鱼苗计数更加精准与高效,降低了传统鱼苗计数方法所带来的误差。解决了人工检测难以保持的连续长时间工作能力以及人为主观因素等问题。本发明结构较为简单,方便组装且成本较低,便于量产,在基层渔民使用推广中具有较高的商业潜能。
附图说明
图1为本发明装置的总体示意图。
图2为装置计数工作区俯视图。
图3为装置处于工作环境的系统示意图。
图4为装置图像处理算法流程图。
图中,1.工业相机,2.红色LED背光源,3.管道A组(2个),4.电磁阀门a组(2个),5.支架,6.管道C组(2个),7.电磁阀门c组(2个),8.无盖圆柱形水槽,9.电磁阀门b,10.管道B,11.显示器,12.图像采集卡,13.PC机,14.液位计,15.滤网,16.单片机控制器,17.工业相机取景范围,18.圆形平面,19.盛装鱼苗容器,20.盛水容器,21.装置总体,22.中空容器,23、24、25橡胶管。
具体实施方式
以下结合附图对本发明作进一步描述。
如图1所示,本发明基于机器视觉的鱼苗在线自动计数装置主要包括红色LED背光源2、工业相机1、管道A组3(2个:A1,A2)、管道B组10、管道C组6(2个:C1,C2)、滤网15、圆形平面18、无盖圆柱形水槽8、电磁阀门a组4(2个:a1,a2)、电磁阀门b组9、电磁阀门c组7(2个:c1,c2)、液位计14、图像采集卡12、PC机13、单片机控制器16和装置支架5;所述圆形平面18与所述无盖圆柱形水槽8安装在所述支架5上,且所述圆形平面18圆心位于与所述无盖圆柱形水槽8上方且与所述无盖圆柱形水槽8底面圆心重合,所述圆形平面18中有两个相对圆心对称的圆形孔,使两个所述管道3通过所述电磁阀门4的连接插入并固定到所述圆形平面18中,两个所述电磁阀门4位于所述圆形表面上方,两个所述管道3上端高于所述圆形平面18上表面100mm,下端高于所述无盖圆柱形水槽20mm且所述管道3侧表面刚好贴于所述无盖圆柱形水槽8内部侧表面。综合图1、图2所示,所述无盖圆柱形水槽8底面圆心处有一圆形孔,使另一个所述管道10通过所述电磁阀门9的连接插入并固定到所述无盖圆柱形水槽8中,且此所述管道10上端所在平面与所述无盖圆柱形水槽8内部底面所在平面相重合,所述无盖圆柱形水槽8侧壁有两个相对底边圆心对称的圆形孔,两个圆形孔上装有所述滤网15,另外两个所述管道6通过两个所述电磁阀门7的连接插入并固定到无盖圆柱形水槽8侧壁上,所述电磁阀门7位于所述无盖圆柱形水槽侧壁外表面上,液位计14位于无盖圆柱形水槽8内部,所述红色LED背光源2与所述工业相机1安装在所述圆形平面18下表面,所述工业相机1安装在所述圆形平面18下表面圆心处,所述红色LED背光源2靠近所述工业相机1,所述圆形平面18与所述无盖圆柱形水槽8的相对高度刚好使所述无盖圆柱形水槽8内部底面完整地处于工业相机1视野中,所述工业相机1和LED背光源2与所述PC机13连接,所述单片机控制器16分别与所述3组电磁阀门(4、7、9)、液位计14和PC机13相连接。
如图3所示,令管道A组3其中一个为A1,另一个为A2,且令管道A组3的A1上的电磁阀门a组4为a1,管道A组3的A2上的电磁阀门a组4为a2。使用前,管道A组3的A1上端连接盛装鱼苗的容器19,管道A组3的A2上端连接盛装水的容器20。管道C组6和管道B组10共同通过橡胶管23、24、25连接同一个中空容器22,所有的电磁阀门4、7、9出于关闭状态,工业相机1和红色LED背光源2处于开启状态,具体计数步骤如下,参见图4:
1. 由PC机13上的装置配套软件对所需要的液位高度进行事先设定,单片机控制器16控制电磁阀门a组4的a1打开,使适量的鱼苗流经管道A组3的A1进入无盖圆柱形水槽,然后单片机控制器控制电磁阀门a组4的a1关闭,同时单片机控制器16对液位计14进行控制,调整到所需要的液位高度,使鱼苗的背部能够露出水面。
2. 根据液位高度的需要,单片机控制器16控制电磁阀门c组7打开,使无盖圆柱形水槽8中多余的水经过管道6末端的滤网15排出无盖圆柱形水槽8,由于滤网的存在,以至不会排出无盖圆柱形水槽8中的鱼苗,当液位达到设置要求时,单片机控制电磁阀门c组7关闭,同时PC机13控制工业相机1对无盖圆柱形水槽8底部进行拍照,并将照片传回到PC机13的图片采集卡12中。
3. 当所拍摄的照片传回至PC机13时,PC机13开始计数,单片机控制器16控制电磁阀门a组4的a2打开,使水经过管道A组3的A2进入到无盖圆柱形水槽8中,使鱼苗完全浸没在水中。
4. 单片机控制器16控制电磁阀门9打开,使无盖圆形水槽8中的水和鱼苗流出装置,完成1次对原始图像采集的装置需要。
5. 在单片机控制器16的控制下,所有电磁阀门4、7、9回到初始关闭状态,以备下次装置工作。
6. PC机13对工业相机1所采集的原始图像以此进行图像处理。
7. 将所获得的图像由RGB颜色空间转换到灰度空间。
8. 对图像进行拉普拉斯滤波变换,从原始图像中减去(因为中心系数为负值)拉普拉斯图像,以恢复失去的灰度层次。
9. 自适应中值滤波后对图像采用OTSU进行阈值分割,得到二值图像。
10. 采用1次膨胀-腐蚀的闭运算消除二值图像中的白点噪声,得到鱼苗图像的端点。同时将图像最外周都设定为背景的灰度值,以减少程序对于边框的判断,提高速度,降低出错率。
11.采用逐个连通域遍历、根据端点判断鱼苗数目的方法对鱼苗进行计数。对腐蚀过的图像从左到右,从上到下进行扫描。当扫描到第1个黑色像素,将像素坐标值存人双向链表,灰度值设定为255,然后循环以下步骤:
1)以第t黑色像素为中心搜索其右侧像素,如右侧像素为黑色像素,则将右侧像素坐标值存人双向链表,灰度值设定为255,然后以右侧像素为中心像素继续搜索。如右侧像素不为黑色像素,则进入下一步。
2)以第1黑色像素为中心搜索其下方像素,如下方像素为黑色像素,则将下方像素坐标值存人双向链表,灰度值设定为255,然后以下方像素为中心像素继续搜索。如下方像素不为黑色像素,则进入下一步。
3)以第1黑色像素为中心搜索其左侧像素,如左侧像素为黑色像素,则将左侧像素坐标值存人双向链表灰度值设定为255,然后以左侧像素为中心像素继续搜索。如左侧像素不为黑色像素,则进入下一步。
4)以第1黑色像素为中心搜索其上方像素,如上方像素为黑色像素,则将上方像素坐标值存人双向链表,灰度值设定为255,然后以上方像素为中心像素继续搜索。如上方像素不为黑色像素,则进入下一步。
5)取出双向链表中前一节点的像素坐标,以此像素为中心重新进行1)—5)。
6)如果链表退回到头节点,说明整个连通域搜索完成。将整个链表中节点像素灰度恢复为0。
7)经过以上步骤后,在整个连通域内搜索端点,根据端点数目决定该连通域内鱼苗数目:
连通域内有2端点,判定为1条鱼苗。
连通域内有3端点,判定为2条鱼苗。
连通域内有4端点,可能有2或3条鱼苗。目前计为2.5条。
连通域内有n(n>4)端点以上,按照n/2+1条计数。将所有连通域内鱼苗数目累加,得到全图的鱼苗数目。
12. 按照使用者的需要计数结束后,装置配套软件将在PC机13的显示器上11显示出最终的计数结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (1)
1.一种基于机器视觉的鱼苗在线自动计数装置,包括红色LED背光源、工业相机、管道、滤网、圆形平面、无盖圆柱形水槽、电磁阀门、液位计、含有图像采集卡的PC机、单片机控制器和支架;其特征在于:
所述圆形平面与所述无盖圆柱形水槽安装在所述支架上,且所述圆形平面圆心位于与所述无盖圆柱形水槽正上方且与所述无盖圆柱形水槽底面圆心重合,所述圆形平面中有两个相对圆心对称的圆形孔,第一对管道(A1、A2)通过第一对电磁阀门的连接插入并固定到所述圆形平面中,所述第一对电磁阀门位于所述圆形平面上方,所述第一对管道(A1、A2)上端高于所述圆形平面上表面100mm,下端高于所述无盖圆柱形水槽内底面20mm且所述第一对管道(A1、A2)外表面刚好贴于所述无盖圆柱形水槽内部侧表面;
所述无盖圆柱形水槽底面圆心处有一圆形孔,使第三管道(10)通过第三电磁阀门(9)的连接插入并固定到所述无盖圆柱形水槽底部,且此所述第三管道(10)上端所在平面与所述无盖圆柱形水槽内底面所在平面相重合,所述无盖圆柱形水槽侧壁有两个相对底边圆心对称的圆形孔,两个圆形孔上装有所述滤网,第二对管道(C1、C2)通过第二对电磁阀门的连接插入并安装到所述无盖圆柱形水槽侧壁上,所述第二对电磁阀门嵌入于所述无盖圆柱形水槽外侧壁表面,所述液位计置于所述无盖圆柱形水槽内部;
所述红色LED背光源与所述工业相机安装在所述圆形平面下表面,所述工业相机安装在所述圆形平面下表面圆心处,所述红色LED背光源紧靠于所述工业相机镜头,所述圆形平面与所述无盖圆柱形水槽的相对高度刚好使所述无盖圆柱形水槽内部底面完整地处于工业相机视野中;
所述工业相机和红色LED背光源与所述PC机连接,所述单片机控制器分别与各个电磁阀门、液位计和PC机相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510853916.6A CN105374042B (zh) | 2015-11-30 | 2015-11-30 | 基于机器视觉的鱼苗在线自动计数装置与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510853916.6A CN105374042B (zh) | 2015-11-30 | 2015-11-30 | 基于机器视觉的鱼苗在线自动计数装置与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105374042A CN105374042A (zh) | 2016-03-02 |
CN105374042B true CN105374042B (zh) | 2018-11-02 |
Family
ID=55376214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510853916.6A Active CN105374042B (zh) | 2015-11-30 | 2015-11-30 | 基于机器视觉的鱼苗在线自动计数装置与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105374042B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106204626B (zh) * | 2016-07-26 | 2019-01-29 | 浙江省海洋水产研究所 | 一种基于图像处理的鱼苗计数器 |
CN106447672B (zh) * | 2016-09-14 | 2019-03-26 | 燕山大学 | 一种交叉遮挡鱼体识别计数方法 |
CN106503677A (zh) * | 2016-10-28 | 2017-03-15 | 中国水产科学研究院渔业机械仪器研究所 | 一种基于PCA和AdaBoost算法的运动鱼苗识别方法 |
CN106780461B (zh) * | 2016-12-13 | 2024-03-22 | 中国计量大学 | 水产动物幼苗自动计数装置 |
CN107274407B (zh) * | 2017-08-11 | 2023-07-18 | 长春理工大学 | 钢球精确计数、尺寸识别装置及方法 |
TWI687159B (zh) * | 2018-07-10 | 2020-03-11 | 群光電能科技股份有限公司 | 魚苗計數系統及魚苗計數方法 |
CN109509175B (zh) * | 2018-10-15 | 2020-09-04 | 浙江大学 | 一种基于机器视觉和深度学习的鱼苗便携式计数器及计数方法 |
CN111275656A (zh) * | 2018-11-16 | 2020-06-12 | 绍兴图聚光电科技有限公司 | 智能鱼虾苗计数装置 |
CN112991430B (zh) * | 2021-03-04 | 2024-03-19 | 浙江大学 | 一种基于机器视觉检测跟踪的鱼苗计数装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996345A (zh) * | 2010-11-15 | 2011-03-30 | 浙江海洋学院 | 鱼苗自动计数装置 |
CN201838030U (zh) * | 2010-11-15 | 2011-05-18 | 浙江海洋学院 | 鱼苗自动计数装置 |
CN104966122A (zh) * | 2015-07-11 | 2015-10-07 | 浙江大学宁波理工学院 | 一种基于计算机视觉的活鱼自动计数系统 |
CN205263883U (zh) * | 2015-11-30 | 2016-05-25 | 中国计量学院 | 一种基于机器视觉的鱼苗在线自动计数装置 |
-
2015
- 2015-11-30 CN CN201510853916.6A patent/CN105374042B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996345A (zh) * | 2010-11-15 | 2011-03-30 | 浙江海洋学院 | 鱼苗自动计数装置 |
CN201838030U (zh) * | 2010-11-15 | 2011-05-18 | 浙江海洋学院 | 鱼苗自动计数装置 |
CN104966122A (zh) * | 2015-07-11 | 2015-10-07 | 浙江大学宁波理工学院 | 一种基于计算机视觉的活鱼自动计数系统 |
CN205263883U (zh) * | 2015-11-30 | 2016-05-25 | 中国计量学院 | 一种基于机器视觉的鱼苗在线自动计数装置 |
Non-Patent Citations (2)
Title |
---|
Automated Fish Fry Counting and Schooling Behavior Analysis Using Computer Vision;R.T.Labuguen等;《2012 IEEE 8th International Colloquium on Signal Processing and its Applications》;20121231;第255-260页 * |
基于计算机视觉的大菱鲆鱼苗计数方法研究;王硕等;《渔业现代化》;20150220;第42卷(第1期);第16-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105374042A (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105374042B (zh) | 基于机器视觉的鱼苗在线自动计数装置与方法 | |
CN109509175B (zh) | 一种基于机器视觉和深度学习的鱼苗便携式计数器及计数方法 | |
CN107094683B (zh) | 一种水产养殖的自动投饵和水质监测控制系统 | |
CN111047583B (zh) | 一种基于机器视觉的水下网衣系统破损检测方法 | |
TWI736950B (zh) | 智慧養殖系統與方法 | |
CN104966122A (zh) | 一种基于计算机视觉的活鱼自动计数系统 | |
CN111127429A (zh) | 基于自训练深度神经网络的水利系统管螺纹缺陷检测方法 | |
CN110687050A (zh) | 一种基于图像识别的水质监测系统和监测方法 | |
CN106108760A (zh) | 一种智能马桶 | |
TWM587896U (zh) | 智慧養殖系統 | |
CN103761565A (zh) | 基于计算机视觉的水下鱼虾蟹苗数量估计与行为监测装置及方法 | |
CN104091170A (zh) | 基于机器视觉的霉菌自动辨别方法 | |
CN113408687A (zh) | 一种高通量鱼苗在线计数装置和方法 | |
CN117338208A (zh) | 餐具清洗设备控制方法、装置、系统、设备及存储介质 | |
CN105987866A (zh) | 非均相液体沉降自动监测方法及设备 | |
CN205263883U (zh) | 一种基于机器视觉的鱼苗在线自动计数装置 | |
CN208549720U (zh) | 一种用于方形水泥池的收鱼装置 | |
CN110766675A (zh) | 太阳能电池板缺陷检测方法 | |
CN205865646U (zh) | 一种基于物联网的家用鱼缸 | |
JPH1024283A (ja) | ろ過障害微生物監視装置 | |
CN105953850B (zh) | 基于机器视觉的浮子流量计在线流体小流量检测系统及方法 | |
CN107631985A (zh) | 一种智能化大米加工精度检测系统 | |
CN209784332U (zh) | 一种水质监测浮标 | |
CN208242613U (zh) | 智能鱼缸设备 | |
CN207767288U (zh) | 一种鱼缸结构以及监测鱼缸 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |