| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> yolov5踩坑记录:标签错位(PIL读取图片方向异常) -> 正文阅读 |
|
|
[人工智能]yolov5踩坑记录:标签错位(PIL读取图片方向异常) |
PIL踩坑记录:读取图片方向异常(yolov5标签错位)奇怪的现象今天用 YOLOv5 做项目时,对数据集的标记出现了奇怪的现象,在下述测试用例中可明显看到,标记框偏离了物体,故发文阐述原因和解决方法. ——?? Sylvan Ding 转载需注明出处!
😯 为什么会产生这种现象呢?从 EXIT 说起: 什么是EXIF?EXIF(Exchangeable Image File)是"可交换图像文件"的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。Exif 文件实际是JPEG文件的一种,遵从JPEG标准,只是在文件头信息中增加了有关拍摄信息的内容和索引图。 简单来说,Exif 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,它就好像是傻瓜相机的日期打印功能一样,只不过 Exif信息所记录的资讯更为详尽和完备。 EXIF Orientation tagEXIF Orientation tag(EXIF方向参数)让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows 自带的不支持).
?? 原因解释造成第一目中“奇怪现象”的原因,我将其归纳为:在标记数据集时,不关注图像的 EXIF Orientation tag,而图像本身是含有 EXIF Orientation tag 的。在 PIL
cv2
在绘制矩形框时,二者依赖的参考系不同,导致标记的错位。而 yolov5 使用的正是 cv2,故读取含 EXIF Orientation tag 的图片时,会造成 labels 和 图片的错位。 原因证实
可见,清除 EXIF 旋转信息后,PIL 所得结果和 cv2 结果一致! ?? 解决方法
(1)、(2) 等同于去除了图片所有的 EXIF 信息,这样图片就不会再发生“自动旋转”的现象了.
参考文献 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/29 15:35:05- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |