A computer-implemented method for constructing a model in a neural network for object detection in an unprocessed image, the construction being performed based on at least one image training batch, the method comprising acts of: - Providing a neural network configured with a set of specifications; - Establishing at least one image training batch, which batch comprises at least one training image comprising one or more objects where an individual object is a member of an object class; - Providing a graphical user interface configured for displaying a training image from the image training batch; and - Iteratively performing following acts: o Annotating object(s) in the training image by user interaction generating individually annotated object(s); o Associating an annotation with an object class for the annotated object in the training image by user interaction; o Returning a user annotated image training dataset comprising the training image with annotated object(s), each individual annotated object associated with an object class; and o Constructing a model by training one or more collective model variables in the neural network to classify the individual annotated object(s) as a member of an object class, which model in combination with the set of specifications when implemented in a neural network is capable of object detection in an unprocessed image with a certain probability of object detection, characterised by the method comprising a further act of performing intelligent augmentation, said intelligent augmentation comprises acts of processing multiple annotated objects in a training image and awarding each resulting augmented annotated object a weighting for a certain probability of occurrence. - Providing a neural network configured with a set of specifications; - Establishing at least one image training batch, which batch comprises at least one training image comprising one or more objects where an individual object is a member of an object class; - Providing a graphical user interface configured for displaying a training image from the image training batch; and - Iteratively performing following acts: o Annotating object(s) in the training image by user interaction generating individually annotated object(s); o Associating an annotation with an object class for the annotated object in the training image by user interaction; o Returning a user annotated image training dataset comprising the training image with annotated object(s), each individual annotated object associated with an object class; and o Constructing a model by training one or more collective model variables in the neural network to classify the individual annotated object(s) as a member of an object class, o Annotating object(s) in the training image by user interaction generating individually annotated object(s); o Associating an annotation with an object class for the annotated object in the training image by user interaction; o Returning a user annotated image training dataset comprising the training image with annotated object(s), each individual annotated object associated with an object class; and o Constructing a model by training one or more collective model variables in the neural network to classify the individual annotated object(s) as a member of an object class,