今天是葡萄的生日, 妻子请假提前下班回家做准备, 我则下班时间一到即动身回家. 由于今日合肥出现了一例新冠, 妻子嘱咐不要坐出租, 不要坐公交, 不要坐地铁, 所以唯留下骑行选项了. 遂扫了一辆共享单车, 骑了大约半小时, 到家时葡萄的小伙伴及家长们悉已到了. 有一段时间家长们在翻看一本儿童百科全书, 妻子当着众人的面问了我一个问题: 苍蝇有几只眼睛? 凭着自己有限的昆虫知识完美做答: 5 只, 2 只复眼, 3 只单眼. 给葡萄挣了面子, ^_^.
为了开展 "昆虫图像自监督训练", 收集海量的无标签昆虫图像是当务之急. 海量图像的收集必然是采用自动化的方法, 笔者曾设想过两种方法: 一) 自动光诱图像采集, 直接拍摄自然中的昆虫. 初步设想该系统是软硬件一体的, 硬件至少包含: 电源, 光源, 光诱布, 导轨, 传送带, 相机, 镜头, 相机支架和嵌入式计算机等; 软件至少包含: 外设控制类代码, 上位机软件, ISP 算法和昆虫检测算法等. 目前应该没有现成的产品, 而自行设计的难度很大, 所以其可操作性和优先级较低. 二) 昆虫图像爬虫爬取, 从搜索引擎, 昆虫社区或摄影社区中采集昆虫图像. 该系统至少包括: 1) 关键词列表或 URL 列表; 2) 爬虫代码; 3) 数据库, 记录昆虫图像的 URL 及其下载状态 (如已下载, 未下载和忽略下载等); 4) 昆虫检测器, 在保存图像之前用其来预测图像中是否含昆虫目标, 若不含的话, 则不保存; 5) 图像清洗代码, 过滤无效及重复数据.
今天特意 review 了局部敏感哈希代码 (图像去重会用到, 我的实现位于 khandy ), 发现了 pHash 原实现的几点问题: 1) 原实现用 DFT, 而一般用 DCT; 2) 原实现以左上 $8 \times 8$ 区域的均值为阈值, 而一般做法是以左上 $8 \times 8$ 区域 (除左上角元素, 即直流分量) 的均值为阈值, 或者以左上 $8 \times 8$ 区域的中值为阈值, 我参考了 imagededup 的做法, 以左上 $8 \times 8$ 区域 (除左上角元素) 的中值为阈值; 3) 哈希值位向量表示的顺序与一般实现相反. 遂一一做了修正, 另外还重构了部分代码段.