我正在尝试在汽车图像上检测损坏类型(划痕,凹痕,裂纹)及其边界框。我通过fizyr在retinanet上进行了训练,但模型过于适合。在训练中,我的mAP为0.89,而在测试中,我的mAP为0.07。 我已经使用了1200张图像进行训练和350张测试,详细信息如下。
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:191',
'email' => 'required|email|max:191|unique:users',
'password' => 'required|min:6|confirmed',
'church_name' => 'required|max:191',
'address' => 'required|max:191',
'state' => 'required|max:191',
'city' => 'required|max:191',
'zip' => 'required|max:191',
'user_phone' => 'required|max:191',
'church_team_phone' => 'required|max:191',
'g-recaptcha-response' => [new ReCaptcha],
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
$team = Team::create([
'name' => $data['church_name'],
'address' => $data['address'],
'city' => $data['city'],
'state' => $data['state'],
'zip' => $data['zip'],
'phone' => $data['church_team_phone'],
]);
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'phone' => $data['user_phone'],
'password' => bcrypt($data['password']),
'team_id' => $team->id
]);
$user->role()->attach(config('app_service.default_role_id'));
return $user;
我知道课程是不平衡的,但是测试和训练之间的巨大差异。此外,该模型在临时课程上的表现也不佳,该课程具有大量的培训示例。
答案 0 :(得分:0)
是的,您的课程是不平衡的,但是您有足够的图像,应该比这更好。您如何选择火车/测试分区?结果表明那里存在一个随机问题。无论选择哪种方法,您的模型都在学习错误的分类标准。
这让我想起了狗/猫模型,该模型学会了区分人们拍摄宠物的背景。
首先,尝试旋转或改组训练和测试集。您可以在此应用程序中使用交叉验证吗?仅此一项就可以解决您的问题。
如果失败,您是否可以更改模型-也许包括一个辍学层?这将有助于学习无效的假设。