最近有个项目有个需求 就是根据照片 知道它的商品属性比如它是哪个sku 可以事先采集一些训练图片 估计大概有1000多个类 难度比较大 目前可能不会接 但是做了一些预研工作
先是在github搜索了一下image_search 发现有效的仓库比较少 不过有个代码库个人感觉挺好的:https://github.com/matsui528/sis 这个很好上手 基本上把自己的图片放到指定的目录下 然后运行offline.py 建索引 然后跑server.py 就可以开始返回最近的图了
这个仓库的基本思路如下:下载imagenet预训练好的vgg19的模型 只接入他最后的fc1特征层,这样就实现了特征抽取,喂入图片 每个图片会产生一个128维(? 对吗 还是更大的维, resNet50的最后一个卷积层传入的是2048维)特征向量,然后计算向量之间的L2距离,返回最接近的头几个
然后自己实验了一下resnet50,修改feature_extractor 如下(别的不动):
效果没有看出比vgg19有什么提高。
目前其实有2条路,一是每种sku采集尽可能多的图片 然后迁移训练一下模型,因为每张图片只有一个商品 所以其实可以走的图像识别这个路 问题就是需要采集比较多的图片 应该不需要专门打标?只需要告知每张图片的sku就行? 求大佬指正
第二条路就是图搜的思路,这里就是用训练好的模型提取特征,如果需要微调特征层,则可能需要预训练,感觉是不是还是先训练最后一层分类层,然后微调最后一个或者几层特征层?也求看到文章的大佬指正 特征抽取出来后 就是走ANNOY一类的加速包 跑出最近的图了
还有同事提出人脸识别的路,但是我个人感觉人脸检测和识别 都做了很多针对人脸的特定的优化,比如人脸需要对齐 而且人脸的对齐靠眼睛就很简单 那么商品怎么对齐?我自己是感觉不靠谱 不过打算再学习一下facenet一类的原理 或者懂了才知道靠不靠谱
在B站上 也看到了铺天盖地的介绍milvus的 但是我昨天倒腾了一天 也没有把milvus的docker镜像成功的下下来。。。。。。 感觉并不是很好用啊~~~~ 改了docker的镜像源都不行
关于图搜的一些思路
最新推荐文章于 2024-08-10 19:08:37 发布