Automated Counting of Bacterial Colony Forming Units on Agar Plates
Abstract
Manual counting of bacterial colony-forming units (CFUs) on agar plates is laborious and error-prone. Therefore, we implemented a colony counting system with a new segmentation algorithm to distinguish bacterial colonies from agar plates. So as to achieve the purpose of counting the number of colonies.
We designed a colony counter software called "CountThings By Camera", which you can find in the app store. Use a deep learning framework to build a deep learning neural network. Through long-term training on a large number of colony samples, we obtained a relatively accurate The model can also perform well in the case of colony adhesion.
To evaluate the accuracy and performance of the colony counter, we tested the colony counts under different densities, colors, and backgrounds. The results are very satisfactory, and in most cases, the software can perform the counting task well. Less In some cases, there will be a small number of errors. It can be corrected through manual intervention. During the use of the software, we will collect feedback of inaccurate identification, so as to improve the existing model based on these inaccurate feedback. Match more situations.
Introduction
Microbial research techniques often rely on the accurate determination of colony-forming units (CFUs). Typically, this is done by aliquoting a small amount of liquid culture and inoculating several serial dilutions on culture plates (Petri dishes containing semi-solid media). After incubation under appropriate conditions for the selected microorganism, count the colonies to determine the number of CFUs. This was done by manually counting colonies on transmitted light-irradiated plates. The bacterial concentration in the original culture can then be calculated based on the assumption that each colony is grown from a single bacterium (colony forming unit, CFU). This process is time-consuming, tedious, and error-prone. There is a tendency to only analyze high dilutions of initial cultures, as these have fewer colony counts. Unfortunately, in low-count assays, small counting errors can have a major impact on the calculated concentrations in the primary liquid medium.
On the other hand, accurate calculation of a board with a large number of CFUs is error-prone as it requires a high degree of attention from the performer. Therefore, usually only a part of the plate is analyzed and used to estimate the whole plate number after extrapolation. Furthermore, the large number of CFUs on the plate can lead to false reductions due to bacterial overcrowding.
This study aimed to design an automated colony counter that can reliably detect the number of bacterial colonies on semi-solid agar plates with a diameter of 85 mm. The software is suitable for all industries that require bacterial culture, such as agriculture, medicine, and aquaculture. The software is also user-friendly and cost-effective, and its algorithms are adaptable to other media and microorganisms.
Methods
1. Data collection
Deep learning requires a lot of data for model training. In order to have enough training data. We searched for a lot of pictures of petri dishes on the Internet, but most of these pictures are not particularly clear. We contact friends who are engaged in related industries through friends to provide great Some high-quality pictures. After the software is launched, when the user thinks that the counting result is inaccurate, they can click the feedback button to give feedback on the results. We will collect the feedback information of these users in the background and add this information to the training set. Further improve the accuracy of the model.
2. Model building
We use tensorflow as our neural network framework. We have constructed our own neural network based on multiple object recognition papers. During the construction process, we constantly adjust the parameters so that it can better fit our scene. Considering that our model needs to run on a mobile phone, the number of model layers cannot be too much. In order to improve the running speed, but the number of model layers is a key parameter of model accuracy. So we can only improve the accuracy of our algorithm , in order to achieve the purpose of reducing the number of model layers.
3. Model training
Model training is a long waiting time, which requires a lot of computing resources. We use an RTX 2060 graphics card, and each training takes 48-50 hours. Only after a long training can we get a new model, During the training process, we can use tensorboard to check the quality of the model in real time, but the quality of the indicators does not fully reflect the quality of the results. We need to actually test the accuracy of the results after the training. Through repeated training, We can get a model for comparison. The whole process takes about a month.
4. Mobile deployment
After the model is trained, it can only be said that the core functions of the work are completed, and there are a lot of other tasks to be completed. One of the more critical ones is mobile deployment. We use the tflite framework for deployment on the mobile side. In our two front-end colleagues After 2 months of research and development, our model finally ran on the mobile side.
Results
Through the efforts of our entire team for half a year, we finally completed our work, including our deep learning engineer, Android engineer, IOS engineer, back-end R&D engineer, artist, test engineer, product manager, project manager. He can be perfect Get the job done. Great job in most cases. Our app is called "CountThings By Camera" and you can find it in the app store.
Finally, take a look at it work again.
Comments
Post a Comment