技能需求
需求
为了方便开始任务,我先提供一些基础代码。我们可以用几十行代码开发一个 Android "手写板" 组件:
public class BrushView extends View {
private final Path path = new Path();
private final Paint paint = new Paint();
public BrushView(Context context, AttributeSet attrs) {
super(context, attrs);
paint.setColor(android.graphics.Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(10);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
break;
case MotionEvent.ACTION_MOVE:
path.lineTo(x, y);
break;
case MotionEvent.ACTION_UP:
break;
}
invalidate();
return true;
}
}
然后在 MainActivity 里加个这个东西,就可以开始测试了:
<com.example.BrushView
android:layout_width="200dp"
android:layout_height="200dp"
android:background="#f8f8f8" />
下面说一下我对这个任务的理解。
需求一几乎就是神经网络的入门课,在网上你可以直接下载到公开的数据集,在 Python 中你可以用很少的代码搭建出一个模型,然后完成训练。
唯一有点工作量的大概是,针对采用的模型,手撸一个 Java 的神经网络出来。
识别阿拉伯数字这种任务大概手撸也不难,但是如果你要用现成的 Java 神经网络库,那也没问题。如果用现成的库,那么第一个需求几乎就是送分题了,唯一的工作量就是把这些东西整合到 Android 工程里去。
当用户输入一个数字后,Log.i 把数字打印出来。如果无法识别,Log.w 打印出来。
第二个任务是对模型进行调整,只识别 "书写端正" 的数字。
按我的理解,就是要在几千个数字中,对图片进行重新标注。本来有个潦草的 "4" 识别成 4 了,现在我希望把它识别成 Error 。
但是公开的数据集很大,要是这个标注很繁琐,那么就太痛苦了。因此,我希望标注的工作,可以使用 1 次鼠标点击来完成。比如鼠标滚轮可以让我一次查看几百张图,然后鼠标左键标记为正确,右键标记为错误。
这是个 GUI 程序,如果你熟悉 Python 可以用 PyQt ,如果你熟悉 C# 可以用 WinForms 。
当然,我对第二个任务的理解可能是有问题的,欢迎指正。如果你发现通过 Windows 资源管理器配合什么快捷键或者 TotalCommander 啥的可以达到等价的效率,那不写这个 GUI 程序也是可以的。
第三个任务有点超出我的认知范围了,或许可以用 "识别单个阿拉伯数字" 组合一下,让它能识别两位阿拉伯数字?你需要能帮我解第三个问题,这才是我花钱的目的。
交付物品
报酬
(先看看这个价有没有人接,欢迎吐槽)
联系方式
1
iOCZS 196 天前
这一块不是挺成熟的嘛,卷积神经网络
|
2
rickiey 196 天前
我 7 年前大三就做过手写数字识别,python tenseflow ,加载别人训练好的模型, github.com/rickiey/tensorFlow-mnist-web 给你个参考
|
4
shm7 196 天前
@nealot #3 任务三是个简单的 CV 处理。可以使用 opencv 进行图像内的字符切分,然后再识别。考虑 java 已不熟,楼主可以自行处理。https://blog.csdn.net/qq_47281915/article/details/121705585 。c2htN0BvdXRsb29rLmNvbQ== 可随便打赏点。
|
5
jasdkasdjkas 196 天前
https://github.com/tesseract-ocr 有现成的好用的很
|
6
jasdkasdjkas 196 天前
https://huggingface.co/ 这个里面很多模型,有些虽然用模型,但是还有的是模型加上之前 ML 时代的产品代码一起用,总有一个满足你
|
7
nealot OP V 友倒是挺热心的,但是正经接单的人一个都没有
大概有能力一天搞定的神经网络熟练工,工资不低,不屑于赚这点小钱 另外一方面,普通的全栈开发,技能树很可能还不够全:神经网络、OpenCV 、Android 、桌面应用开发;万一要做个两三天甚至更长时间,这点报酬估计就不够了 |