【项目实训】项目工作日志(一)

项目工作日志(一)

引言

百度智慧交通组创意赛,本项目旨在构建一个高效的手写字体识别系统,帮助智能汽车识别低分辨率的手写字体图像。本日志记录了数据采集与数据标记的过程,这是整个项目的关键第一步。

数据集描述

本次比赛的训练数据集包含122,387张低分辨率手写字体图片。数据和标注集通过 train_label.txt 文件链接,单行标注示例如下:

train/mg_crop_217514.jpg A.a(1+p)²

图片路径与标注内容通过 \t 分隔。

数据采集

为了训练一个高效的手写字体识别模型,我们进行了以下数据采集工作:

  1. 手动拍照采集
    使用 collect_wrap/base/collect_data.py 脚本,通过电脑摄像头进行拍照采集。按 ps 或空格键进行拍照记录,按 Escq 键退出,数据保存至 image_set2 文件夹。

  2. 遥控器采集
    使用 collect_wrap/base/remote_control.py 进行道路数据采集,通过遥控器控制车模移动并记录手写字体图像。左摇杆控制车模前后左右移动,右摇杆控制转弯。按下左前功能键开始记录数据,数据存储在 image_set1 文件夹内。

数据标记

数据标记是确保模型训练质量的关键步骤。我们采用了以下方法:

  1. EasyData 数据标记
    使用 EasyData 工具进行智能标注。其流程包括:

    • 导入未标注数据:从本地上传图片文件。
    • 图像智能标注:通过主动学习或指定模型的方式进行智能标注,主动学习基于数据集训练模型,通过筛选关键图片提高标注效率;指定模型则利用现有模型进行快速标注。
    • 人工确认与评估:对预标注结果进行人工确认,并评估标注效果。
  2. 本地数据处理
    推荐使用 X-AnyLabeling 工具进行半自动标记。具体步骤如下:

    • 打开图片文件目录,建立 annotations 目录用于存储标记结果。
    • 加载自定义模型(如 seg 模型),用于自动分割。
    • 使用矩形框标记图像,按下 F 键保存结果。
    • 标注完成后导出为 VOC 标签格式,得到标注的数据文件。
代码示例

在数据处理过程中,我们使用了以下代码进行数据采集和处理:

# train_data_process.py 示例代码
import os
import cv2
import time

def collect_data():
    cap = cv2.VideoCapture(0)
    while cap.isOpened():
        ret, frame = cap.read()
        if ret:
            cv2.imshow('frame', frame)
            key = cv2.waitKey(1)
            if key in [ord('p'), ord('s')]:
                cv2.imwrite(os.path.join('image_set2', f'image_{int(time.time())}.jpg'), frame)
            elif key in [27, ord('q')]:
                break
        else:
            break
    cap.release()
    cv2.destroyAllWindows()

def main():
    collect_data()

if __name__ == '__main__':
    main()
总结

这一部分工作日志详细记录了数据采集和数据标记的过程。通过手动和自动标记相结合的方法,我们确保了数据的高质量,为后续的模型训练奠定了坚实的基础。在接下来的部分,我们将详细介绍数据处理和模型训练的具体步骤。请关注下一个工作日志以获取更多详细信息。

下一步

接下来的工作将集中在数据处理和模型训练上,确保我们的手写字体识别系统在比赛中具有高精度和高鲁棒性。敬请期待更多详细内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈yi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值