CV实践-布匹疵点智能识别(异常检测,工业场景)专题

任务安排

开营时间:02月16日21:00

比赛地址:https://tianchi.aliyun.com/s/fed26b0e90c5776e6b3d61cd5912a423

开源内容:https://github.com/datawhalechina/team-learning-cv/tree/master/DefectDetection

Task00:熟悉规则(1天)

  • 组队、修改群昵称。
  • 熟悉打卡规则。
  • 打卡截止时间:02月18日03:00

Task01:比赛全流程体验(4天)

  • 学习如何使用Docker提交代码及比赛上分。
  • 记录比赛中遇到的问题,并在学习笔记中插入初始分数截图。
  • 打卡截止时间:02月22日03:00

Task02:Baseline学习及改进(4天)

  • 学习baseline,并提出自己的改进策略,提交代码并更新自己的分数排名。
  • 在学习笔记中插入改进baseline之后分数排名截图。
  • 打卡截止时间:02月26日03:00

Task03:学习者分享(2天)

  • 我们根据截图,邀请提分比较多的学习者进行分享。

Docker安装教程推荐:

  1. windows安装:https://www.runoob.com/docker/windows-docker-install.html
  2. 关于家庭版安装的参考:https://yeasy.gitbook.io/docker_practice/install/windows
  3. Mac安装:https://www.runoob.com/docker/macos-docker-install.html
  4. ubuntu安装:https://www.runoob.com/docker/ubuntu-docker-install.html

Docker学习教程推荐:

  1. Docker练习场:https://tianchi.aliyun.com/competition/entrance/231759/introduction
  2. Docker–从入门到实践:https://yeasy.gitbook.io/docker_practice/
  3. Docker教程:https://www.runoob.com/docker/docker-tutorial.html

Hi @lsgomyp,我想问一下,如何组队呢?我之前错过了微信群的组队,如何加入呢?谢谢。

这个已经开营了,这一期加入不了啦。不过可以跟着开源内容自己来看看呀。

convertTrainLabel.py, line 88
for fold in [0]:
val_index = index[len(index) * fold // 5:len(index) * (fold + 1) // 5]
print(len(val_index))

这段代码意思是?

有两个问题需要请教

  1. yolov5对于任意尺寸的输入都可以嘛,未在预处理任务中看到对图像尺寸的处理
  2. 数据预处理部分调整了x,y,h,w的值以匹配yolov5的输入,那么最终预测结果部分的x,y,h,w为什么不需要反向处理呢?

@lsgomyp

这段代码是对之前读取的数据集进行划分测试集和验证集,按照5: 1的比例划分训练集和验证集,并将验证集数据的位置存入列表val_index, 后面将位置在val_index里的数据存入验证集的文件夹里,不在其中的存入训练集文件夹中。

1、yolov5 可以输入任意尺寸,因为yolov5在训练和测试时会对图像数据是会对进行resize,在训练和测试代码的–img-size参数设置resize的大小,但是如果图像较大直接进行resize会导致小缺陷很难检测,因此训练数据会经过process_data_yolo.py预处理,分割成多个1024*1024大小的图片。

2、坐标转换这一步是有的,在yolov5中会将xyhw转换成x1y1x2y2这是为了画出预测图片,我们使用的就是x1y1x2y2的结果,具体细节可以在看预测代码detect.py

det[:, :4] = scale_coords(img.shape[2:],det[:, :4],im0.shape).round()

这里scale_coords就实现了左边转换。

Baseline 数据扩充

下载数据集前三个也是有用的,但是baseline没有用到。
把下载下的整合到一起,修改一下转换标签代码,路径什么的。
convertTrainLabel.py , 这个改一下29行, 有的json文件有的路径,实际却没有
image
最后生成的路径 fold,也可以改改, 不用和之前的重了
image
然后 修改 process_data_yolo.py 路径,生成训练集和测试集