[{"data":1,"prerenderedAt":149},["ShallowReactive",2],{"project-reader-khmer-mnist":3},{"id":4,"title":5,"body":6,"category":125,"date":126,"description":127,"extension":128,"featured":129,"githubUrl":118,"images":130,"liveUrl":118,"longDescription":134,"meta":135,"navigation":136,"path":137,"seo":138,"slug":139,"stem":140,"tech":141,"thumbnail":131,"__hash__":148},"projects\u002Fprojects\u002Fkhmer-mnist.md","Khmer MNIST Digit Classification",{"type":7,"value":8,"toc":117},"minimark",[9,13,17,22,25,29,68,72,98,102],[10,11,5],"h1",{"id":12},"khmer-mnist-digit-classification",[14,15,16],"p",{},"A Khmer handwritten digit classification project using advanced preprocessing and a custom ResNet model built from scratch.",[18,19,21],"h2",{"id":20},"project-overview","Project Overview",[14,23,24],{},"This project focuses on Khmer handwritten digit recognition with a strong data-centric and model-centric approach. I contributed by improving the full training pipeline, including advanced preprocessing and a custom ResNet implementation, to increase classification performance and stability.",[18,26,28],{"id":27},"key-features","Key Features",[30,31,32,40,46,52,62],"ul",{},[33,34,35,39],"li",{},[36,37,38],"strong",{},"Custom ResNet Architecture",": Built a lightweight ResNet model from scratch for Khmer digit classification",[33,41,42,45],{},[36,43,44],{},"Advanced Preprocessing",": Applied denoising, normalization, and image enhancement for cleaner model input",[33,47,48,51],{},[36,49,50],{},"Robust Training Pipeline",": Used data augmentation and optimization tuning to improve generalization",[33,53,54,57,58,61],{},[36,55,56],{},"High Validation Performance",": Achieved ",[36,59,60],{},"99.3%"," accuracy on the validation set",[33,63,64,67],{},[36,65,66],{},"Low-Resource Adaptation",": Designed the solution to perform well on Khmer handwritten character patterns",[18,69,71],{"id":70},"technical-stack","Technical Stack",[30,73,74,80,86,92],{},[33,75,76,79],{},[36,77,78],{},"Framework",": PyTorch for model development and training",[33,81,82,85],{},[36,83,84],{},"Model Design",": Custom ResNet blocks implemented from scratch",[33,87,88,91],{},[36,89,90],{},"Data Processing",": OpenCV and NumPy for preprocessing and transformation pipeline",[33,93,94,97],{},[36,95,96],{},"Evaluation",": Scikit-learn metrics for validation analysis and performance tracking",[18,99,101],{"id":100},"achievements","Achievements",[30,103,104,107,110],{},[33,105,106],{},"Improved the baseline model by redesigning architecture and preprocessing strategy",[33,108,109],{},"Built and trained a scratch ResNet model tailored for Khmer digit recognition",[33,111,112,113,116],{},"Reached ",[36,114,115],{},"99.3% validation accuracy"," through iterative experimentation and optimization",{"title":118,"searchDepth":119,"depth":119,"links":120},"",2,[121,122,123,124],{"id":20,"depth":119,"text":21},{"id":27,"depth":119,"text":28},{"id":70,"depth":119,"text":71},{"id":100,"depth":119,"text":101},"machine-learning","2026-04-01","Custom Khmer handwritten digit classification pipeline with advanced preprocessing and a scratch-built ResNet model","md",true,[131,132,133],"\u002Fproject\u002Fkhmer-mnist.png","\u002Fimages\u002Fprojects\u002Fkhmer-mnist-2.jpg","\u002Fimages\u002Fprojects\u002Fkhmer-mnist-3.jpg","Developed and improved a Khmer handwritten digit classification system by building a compact ResNet architecture from scratch and designing an advanced preprocessing pipeline tailored to noisy, real-world character images. Applied augmentation, normalization, and denoising strategies to improve robustness and generalization. Trained and validated the model with careful experimentation on architecture depth, optimization settings, and regularization, ultimately achieving 99.3% validation accuracy. This contribution demonstrates practical deep learning model design, data-centric optimization, and strong performance for Khmer OCR foundations.",{},null,"\u002Fprojects\u002Fkhmer-mnist",{"title":5,"description":127},"khmer-mnist","projects\u002Fkhmer-mnist",[142,143,144,145,146,147],"Python","PyTorch","ResNet","OpenCV","NumPy","Scikit-learn","g9-rEbwUyeL2XuTFlK93PvyTZoZ0VJoeaSwni7vr2XA",1775448379764]