System Function - Gachon-Graduation-work/Muzzle_Detection_Project GitHub Wiki
Detecting Dog & Muzzle
YoloV3
We used open source YoloV3 to implement dog and muzzle detection. Yolo is an object recognition model that is fast and has an existing dog class, so we decided to use it because it is suitable for our project.
The Detecting Dog & Muzzle function is performed through this process.
- Use the dog class in yolo to detect the dog.
- If there is a muzzle, draw a boundary box.
- And write dog and muzzle information in the picture and send the image to the server.
OpenCV is used to open and save photos.
Fierce Dog Classification
ResNET
In order to create a classification model for fierce dogs, we retrained resnet50. We thought Resnet was already a well-learned model. Therefore, we implemented the function by retraining only the fully connected layer among the three methods of transfer learning.
We trained resnet using two classes, Fierce dog and Non fierce dog. And we were able to get a higher level of accuracy than when we were trained in six classes: five fierce dogs and non fierce dogs.
Server
We implemented the server using Python socket programming. The server receives photos from the client and performs muzzle detection and dog classification functions. The stored image is then transmitted back to the client through socket communication. And it is displayed on Android through Image View.