Python cơ bản: cài Python, VS Code và chạy chương trình đầu tiên
Cài Python 3.13 đúng cách trên Windows, macOS, Linux, cài VS Code, chạy file .py đầu tiên và học cách đọc thông báo lỗi.
Bước 1 · Học
Bài học và bài viết về Python trên HọcFree.
60 bài viết⭐ Mới bắt đầu? Học theo thứ tự
11 bài học sắp xếp từ dễ đến khó, có mục tiêu, bài tập và dự án cuối chặng.
Cài Python 3.13 đúng cách trên Windows, macOS, Linux, cài VS Code, chạy file .py đầu tiên và học cách đọc thông báo lỗi.
int, float, str, bool qua ví dụ đo lường và OK/NG, f-string định dạng số, ép kiểu và hai cái bẫy về số thực.
if/elif/else cho tiêu chí OK/NG, for, range, enumerate, while có giới hạn, break, continue và bài tập dừng dây chuyền.
Lưu và thống kê dữ liệu sản xuất: slicing, list comprehension, dict cấu hình, đếm lỗi Pareto, set phát hiện mã trùng.
Viết hàm có tham số mặc định, trả nhiều giá trị, type hint, docstring, tách module và khối if __name__ == "__main__".
Đọc ghi file UTF-8 với with, đường dẫn bằng pathlib, try/except đúng cách và hàm đọc cấu hình JSON an toàn.
Tạo venv cho từng dự án, cài đúng gói OpenCV, lưu requirements.txt, cài offline cho máy nhà máy, cài PyTorch nhận GPU và script kiểm tra môi trường.
Lab: duyệt hàng nghìn ảnh bằng pathlib, bắt lỗi gán nhãn, ghi CSV mở được bằng Excel, chia train/val tái lập được và ghi log xoay vòng cho trạm 24/7.
shape, dtype, cắt mảng theo [hàng, cột], view và copy, mặt nạ boolean, axis, broadcasting: nền tảng trước khi xử lý ảnh.
Ảnh xám, ảnh màu BGR, ảnh 16 bit, cắt ROI kiểm tra có/không, mặt nạ tròn và bẫy tràn số uint8: nền tảng trước khi học OpenCV.
Công cụ quét hàng nghìn ảnh, phát hiện ảnh hỏng, tối, sáng, mờ, xuất CSV và log. Có yêu cầu, gợi ý thiết kế, lời giải và tiêu chí tự đánh giá.
Dùng fixture, parametrize, pytest.raises và pytest.approx để khóa chặt các hàm cắt ROI, đếm pixel, đánh giá OK/NG, bắt lỗi ngưỡng trước khi lên máy trạm.
Vì sao một lần chia train/val không đủ, cách dùng StratifiedKFold, Pipeline chống rò rỉ dữ liệu và GridSearchCV chọn tham số với scikit-learn, có code chạy được.
Checkpoint cần model, optimizer, scheduler và epoch. Thí nghiệm chứng minh huấn luyện tiếp cho kết quả y hệt, cùng lỗi weights_only của torch.load từ bản 2.6.
Định nghĩa schema bằng Pydantic, bắt câu trả lời sai định dạng của LLM, gửi lỗi lại để mô hình tự sửa và giới hạn số lần thử. Code chạy được không cần khóa API.
Phát hiện linh kiện thiếu và vật thừa bằng cách so với ảnh mẫu: absdiff, căn chỉnh bằng phaseCorrelate và dải dung sai từ dilate, erode để không báo nhầm ở cạnh.
Dùng FFT tìm đỉnh tần số của hoa văn lặp lại trên vải, lưới, kim loại, xóa bằng notch filter rồi phát hiện vết bẩn mờ. Code NumPy và OpenCV có kết quả kiểm chứng.
Lucas-Kanade và Farneback trong OpenCV: đo dịch chuyển từng khung hình, quy đổi ra vận tốc băng tải theo m/s và tìm vùng đang chuyển động, có code kiểm chứng.
Vì sao OpenCV dùng BGR, khi nào chuyển Gray, HSV; tách vật theo màu bằng inRange, xử lý màu đỏ hai dải Hue và chọn ngưỡng từ ảnh thật.
Cắt ROI an toàn theo biên, resize đúng thứ tự (w, h) và chọn nội suy, letterbox giữ tỉ lệ, xoay không mất góc, viền và ghép ảnh so sánh.
Vẽ khung, đường, điểm, chữ có viền, bảng trong suốt bằng addWeighted và thanh trạng thái OK/NG; lưu ý tiếng Việt với putText.
Tách pipeline thành tiền xử lý, tìm vật, đánh giá; cấu hình JSON có kiểm tra, đo thời gian từng bước và chạy hồi quy trên thư mục ảnh.
Đọc camera hoặc video, chọn ROI bằng chuột, lưu ảnh OK/NG theo ngày bằng một phím, hiển thị FPS, độ sáng, độ nét: công cụ thu dữ liệu cho mọi dự án Vision.
Hiệu chuẩn tỉ lệ mm/pixel bằng tấm lưới chấm và căn mẫu, đo lặp lại để tính độ lặp lại, bias, tỉ số năng lực, và biết khi nào cần hiệu chuẩn đầy đủ.
Dùng matchTemplate đúng cách: chọn phương pháp chịu thay đổi ánh sáng, tìm nhiều vật với NMS, tăng tốc bằng kim tự tháp và dời ROI theo vị trí vật.
Đấu đúng NPN/PNP, thiết kế bắt tay trigger–busy–done–OK/NG có timeout, đọc giản đồ thời gian và mô phỏng PLC + vision bằng Python.
Đọc ghi coil, holding register, gửi số thực 32 bit đúng thứ tự byte và viết vòng lặp chờ trigger từ PLC có tự kết nối lại.
Viết server, client TCP; đóng khung tin bằng ký tự kết thúc, xử lý tin dính/vỡ, timeout, kết nối lại và gửi lại không gắp hai lần.
Thiết kế bảng SQLite có chỉ mục, truy vấn yield và lỗi NG, lưu ảnh theo ngày, tự dọn ảnh cũ và ghi nền không chặn cycle time.
Ghép trigger Modbus TCP, kiểm tra ảnh OpenCV, trả kết quả cho PLC, lưu SQLite và ảnh NG, log xoay vòng, tự phục hồi khi mất kết nối.
Nhận diện nhóm bài toán, kỹ thuật và con số cần hỏi cho từng nhóm, ví dụ OpenCV chạy được và bảng chấm độ khó 0–16 cho một yêu cầu.
Định nghĩa lỗi bằng con số đo được, mô phỏng escape và overkill theo ngưỡng, chi phí mỗi ca, vùng xám kiểm lại và số mẫu cần để chứng minh.
Xuất PyTorch và YOLO sang ONNX, chạy bằng ONNX Runtime, đo sai số trên nhiều ảnh, bắt lỗi tiền xử lý và lưu thẻ mô hình có mã băm.
Đo thời gian từng bước với p95/p99, log JSON xoay vòng, giám sát drift bằng PSI, KS và p-chart, heartbeat cho trạm vision chạy liên tục.
Cấu hình TOML có kiểm tra, supervisor tự khởi động lại khi lỗi hay treo, cập nhật mô hình nguyên tử có rollback, chạy như dịch vụ Windows/Linux.
Hiểu neuron, hàm kích hoạt, tích chập, pooling, feature map, receptive field và tự tính số tham số lớp Conv bằng NumPy, kiểm tra lại với PyTorch.
Dự án portfolio: đọc mã 2D và số seri trong một chu kỳ, OCV chất lượng in, xác minh lệnh sản xuất, Luhn, chống trùng SQLite, đo p99 theo tốc độ dây chuyền.
Đo p50/p99 đúng cách, chỉnh luồng và tối ưu đồ thị, lượng tử hóa INT8 bằng ONNX Runtime và đánh giá bằng escape/overkill, chọn runtime theo phần cứng.
Chọn công cụ, hiểu định dạng YOLO, COCO, VOC, chuyển đổi có kiểm tra, script QA nhãn, hướng dẫn gán nhãn và đo mức thống nhất bằng IoU.
Server, client, NodeId, duyệt cây, đọc ghi đúng kiểu, subscription bắt trigger và ghi kết quả bằng asyncua; bảo mật và so sánh với Modbus TCP.
Định vị tâm và góc chi tiết, đổi sang tọa độ robot bằng ma trận 9 điểm, góc tay kẹp, bù băng tải bằng encoder và gửi tọa độ qua TCP.
Dữ liệu kiểm tra MES cần, bản ghi JSON, các cách tích hợp và hàng đợi SQLite gửi lại có backoff, khóa idempotency khi mạng gián đoạn.
Dockerfile chuẩn cho ứng dụng vision Python, chạy với camera USB/GigE, tự khởi động lại, healthcheck, GPU NVIDIA, docker compose và lưu ý Windows/WSL.
Trang tra cứu nhanh đọc ghi ảnh, màu sắc, lọc, phân ngưỡng, contour, đo đạc, so khớp mẫu, vẽ kết quả và 5 lỗi hay gặp.
Ánh xạ pixel sang robot bằng affine và quy trình 9 điểm, bài toán AX = XB giải bằng NumPy và calibrateHandEye, eye-in-hand, eye-to-hand và nguồn sai số.
Tự viết IoU, NMS, ghép TP/FP/FN, AP và mAP bằng NumPy, đọc đúng chỉ số Ultralytics, chẩn đoán mô hình và đổi sang escape, overkill.
Định vị vùng chữ bằng template matching, đọc và sửa nhầm theo định dạng, kiểm tra chữ số kiểm tra, xác minh với lệnh sản xuất và xuất báo cáo CSV.
Cài OpenCV, imread/imshow/imwrite, đường dẫn tiếng Việt trên Windows, đọc ghi video, vòng lặp webcam đo FPS, waitKey và thuộc tính camera.
Hiểu phát hiện chữ và nhận dạng chữ (DBNet, CRNN, CTC), tự huấn luyện mô hình nhỏ, dùng EasyOCR, PaddleOCR 3.x và so sánh độ chính xác, thời gian.
Cài Tesseract, xây pipeline tiền xử lý đo được hiệu quả, chọn PSM, whitelist và dùng độ tin cậy từng từ để quyết định OK hay không đọc được.
Mô hình pinhole và hệ số méo, hiệu chuẩn bàn cờ với OpenCV trên bộ ảnh có đáp án, đánh giá reprojection từng ảnh, khử méo, lưu YAML và cách chụp ảnh hiệu chuẩn đúng.
Tensor trên CPU/GPU, chuyển ảnh OpenCV sang tensor, autograd và zero_grad, nn.Module, vòng lặp 4 bước huấn luyện CNN OK/NG, lưu nạp state_dict an toàn.
Ma trận nhầm lẫn với NG là lớp dương, precision, recall, F1 bằng tay và scikit-learn, dịch sang escape, overkill, ppm và bẫy accuracy.
Đặt tên, gom tham số, hàm nhỏ, type hints, xử lý lỗi, kiểm thử bằng ảnh tổng hợp và công cụ tự động.
Tự đạo hàm MSE, cài gradient descent bằng NumPy cho bài hiệu chỉnh pixel–mm, thấy learning rate nhỏ, vừa, phân kỳ bằng số và vì sao phải chuẩn hóa.
Automate the Boring Stuff, Think Python, Python Data Science Handbook và lộ trình đọc gợi ý.
Trích đặc trưng contour bằng OpenCV, huấn luyện Random Forest, xem đặc trưng quan trọng và chọn ngưỡng theo yêu cầu lọt lỗi của nhà máy.
Tạo mảng, cắt ROI, mặt nạ, đổi hình dạng, tính toán vector hóa: các thao tác NumPy dùng nhiều nhất.
Lập kế hoạch thu thập theo lô và ca, đặt tên file, manifest SHA-256, dataset card, tìm ảnh trùng bằng pHash và chia tập theo nhóm không rò rỉ.
Phân biệt lập trình truyền thống và học máy qua ví dụ OK/NG chạy được, gọi đúng tên bài toán phân loại, hồi quy, phân cụm, bất thường và quy trình dự án ML.