English (unofficial) translations of posts at kexue.fm
Source

Coming Back...

Translated by DeepSeek V4 Pro. Translations can be inaccurate, please refer to the original post for important stuff.

The last blog post was published on April 15th, and as of today, it has been exactly one month without an update. However, the traffic to Scientific Space remains steady. I would like to thank everyone for your support of this space, and I, BoJone, sincerely apologize for the long absence of updates. Before resuming regular updates, please allow me to record a brief account of recent events.

During this “disappeared” month, my primary focus was on my graduation thesis and a data mining competition. Regarding the graduation thesis, the manuscript was submitted on April 22nd, and the defense took place on April 29th. The completion of the defense marks the end of my graduation thesis responsibilities. My thesis mainly discussed the applications of path integrals in describing random walks, partial differential equations, and stochastic differential equations. Since it is an undergraduate thesis, it could not be too obscure; therefore, the overall work is quite readable and can serve as an introductory tutorial for path integrals. I will slightly modify it later and publish it in several parts here on Scientific Space for everyone to review and provide feedback.

Speaking of path integrals, I must mention the project of providing solutions to the exercises in Quantum Mechanics and Path Integrals. Unfortunately, over the past month, I have had virtually no time to work on these exercises. However, I will continue this work in the future. For the versions already published, I invite interested readers to point out any issues. I remember at the beginning of the year, a friend asked me what my wish for the year was, and I casually replied, “I hope to finish the exercises of a whole book.” That book, of course, is Quantum Mechanics and Path Integrals, and I believe I should be able to complete it this year.

The second major task was the Data Mining Competition. I have participated in this competition twice before, making this my third time. My cooperation with the organizers has become more frequent, and I even recorded some instructional videos previously. The main reason I participated again this year was my interest in Problem A provided by JD.com. The general requirement was to build an OCR (Optical Character Recognition) system—a system that converts text in images into editable text. Since I had never handled image processing problems before, I wanted to take on the challenge. Moreover, an OCR system itself is quite valuable, so I decided to research it.

Building an OCR system from scratch for a single competition seemed like a very high demand, but I truly wanted to challenge myself. Thus, a journey of late nights began. For an OCR system, the most difficult part is text localization, or “character circling.” In this area, I made many attempts, trying almost all mainstream methods, and finally organized my own set of methods, with results that were reasonably satisfactory. For recognition, I attempted Convolutional Neural Networks (CNN) for the first time. To accelerate training, I specifically purchased a GTX 960 graphics card for GPU acceleration. As expected, GPU acceleration is powerful, providing a nearly 20-fold speedup compared to the CPU. Through this, I slowly grasped some techniques for constructing deep learning networks and experienced the power of deep learning once again (the recognition accuracy for Chinese characters reached as high as 99%!). Finally, regarding the language model, I calculated transition probabilities using a large number of WeChat articles and performed dynamic programming via the Viterbi algorithm, which effectively improved the recognition accuracy.

In this way, what seemed impossible—completing a usable and complete OCR system from scratch in about 20 days—actually happened. Today is the final deadline for submitting the paper. Although the final result is not perfect, I feel it is comparable to Google’s open-source Tesseract OCR. After the competition ends, I will gradually organize the results and open-source them, and I am also considering creating an online API for everyone to use.

However, although Convolutional Neural Networks were introduced, the basic approach remains very traditional: text localization, single character segmentation, input model recognition, and language model improvement. Approaches based on deep learning (CNN-RNN) can directly recognize single lines of text without manual segmentation; it is said that Baidu’s OCR works this way. However, I personally feel that training such models is something only large enterprises like Baidu can achieve.

At this point, I can finally relax a bit and slowly return to blogging. My major at Sun Yat-sen University is Pure Mathematics, so I need to catch up on my math studies properly.

When reposting, please include the original address of this article: https://kexue.fm/archives/3735

For more detailed reposting matters, please refer to: Scientific Space FAQ