How do I do object detection (or identify the location of an object) if there is only one kind of object, and they are more of less similar size, but the picture does not look like standard scenes (it is detection of drops on a substrate in microscopic images)? Which software is good for it?
The hardest part is image annotation: here the difference between object recognition and object detection becomes important. If you just want to answer the question "does this image contain object X?", then you just need to provide as many images that contain object X as possible, together with as many images that don't contain object X (but are otherwise similar). However if you want to answer the question "Where exactly object X is located in this image?" then you will need to manually provide a bounding box for each instance of object X in each image. Obviously, the second scenario is a lot more labor intensive.
After you've done this part, train either a binary image classifier (typically this will be a convolutional neural network) on your annotated images (split them into train and test partitions), or an object detector (googling "custom object detection" produces lots of code examples how to train it (e.g. https://towardsdatascience.com/tutorial-build-an-object-detection-system-using-yolo-9a930513643a start with Step 2B).