Administrator
Administrator
Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Vào tháng 7 năm 2018, Van Rossum đã từ chức Leader trong cộng đồng ngôn ngữ Python sau 30 năm lãnh đạo.
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, nó đã "bành trướng" sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. (Wiki)
Python được đánh giá là ngôn ngữ dễ hiểu, nhanh học , dễ tiếp cận cho người mới học lập trình. Dưới đây mình xin hướng dẫn các bạn mới học tự mình làm một công cụ nhận dạng hình ảnh đơn giản bằng Python. Dự án này sử dụng các bộ thư viện mã nguồn mở công nghệ máy học có sẵn, nếu bạn có đam mê hãy phát triển theo cách của mình.
Phát hiện người và đồ vật trên xe giường nằm
Phát hiện xe, người trong bức ảnh tại Hà Nội
Để thực hiện quá trình này bạn cần làm theo các bước sau
I. Cài đặt Python 3 trở lên tại
II. Cài đặt các bộ thư viện mã nguồn mở cần sử dụng bằng pip:
1. Tensorflow
TensorFlow là một thư viện phần mềm mã nguồn mở dành cho máy học trong nhiều loại hình tác vụ nhận thức và hiểu ngôn ngữ
Gõ: pip install tensorflow
2. Numpy
pip install numpy
3. SciPy
pip install scipy
4. OpenCV
pip install opencv-python
5. Pillow
pip install pillow
6. Matplotlib
pip install matplotlib
7. H5py
pip install h5py
8. Keras
pip install keras
9. ImageAI
pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.0.2-py3-none-any.whl
III. Tải xuống hệ thống dữ liệu RetinaNet tại đây
IV. Mở IDLE Python tạo Project mới và nhập đoạn mã sau
V. Di chuyển file image và file thư việnbạn tải về resnet50_coco_best_v2.0.1.h5 vào cùng thư mục. RUN code và lưu với tên mà bạn thích ( VD : Nhandanghinhanh.py)
sau đó xem kết quả
Của mình thì nó như sau
Trước khi nhận dạng
Sau khi nhận dạng ( Click vào phóng to xem kết quả )
Cửa sổ Shell ghi lệnh
car : 74.26453232765198
car : 79.55442667007446
car : 53.49360108375549
car : 54.93771433830261
car : 59.87136960029602
car : 67.7766501903534
person : 80.36023378372192
person : 84.22569036483765
motorcycle : 90.2958631515503
car : 56.56389594078064
car : 85.9704315662384
car : 59.81857776641846
car : 79.32580709457397
car : 83.80572199821472
car : 83.20974111557007
car : 83.4749162197113
Một vài bài test khác
Trước khi quét
Sau khi nhận dạng
Bạn có thể tham khảo dự án chi tiết hơn tại GitHub
Chúc các bạn thành công
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, nó đã "bành trướng" sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. (Wiki)
Python được đánh giá là ngôn ngữ dễ hiểu, nhanh học , dễ tiếp cận cho người mới học lập trình. Dưới đây mình xin hướng dẫn các bạn mới học tự mình làm một công cụ nhận dạng hình ảnh đơn giản bằng Python. Dự án này sử dụng các bộ thư viện mã nguồn mở công nghệ máy học có sẵn, nếu bạn có đam mê hãy phát triển theo cách của mình.
Phát hiện người và đồ vật trên xe giường nằm
Để thực hiện quá trình này bạn cần làm theo các bước sau
I. Cài đặt Python 3 trở lên tại
II. Cài đặt các bộ thư viện mã nguồn mở cần sử dụng bằng pip:
1. Tensorflow
TensorFlow là một thư viện phần mềm mã nguồn mở dành cho máy học trong nhiều loại hình tác vụ nhận thức và hiểu ngôn ngữ
Gõ: pip install tensorflow
2. Numpy
pip install numpy
3. SciPy
pip install scipy
4. OpenCV
pip install opencv-python
5. Pillow
pip install pillow
6. Matplotlib
pip install matplotlib
7. H5py
pip install h5py
8. Keras
pip install keras
9. ImageAI
pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.0.2-py3-none-any.whl
III. Tải xuống hệ thống dữ liệu RetinaNet tại đây
IV. Mở IDLE Python tạo Project mới và nhập đoạn mã sau
Mã:
from imageai.Detection import ObjectDetection
import os
execution_path = os.getcwd()
detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))
for eachObject in detections:
print(eachObject["name"] , " : " , eachObject["percentage_probability"] )
V. Di chuyển file image và file thư việnbạn tải về resnet50_coco_best_v2.0.1.h5 vào cùng thư mục. RUN code và lưu với tên mà bạn thích ( VD : Nhandanghinhanh.py)
sau đó xem kết quả
Của mình thì nó như sau
Trước khi nhận dạng
Sau khi nhận dạng ( Click vào phóng to xem kết quả )
Cửa sổ Shell ghi lệnh
car : 74.26453232765198
car : 79.55442667007446
car : 53.49360108375549
car : 54.93771433830261
car : 59.87136960029602
car : 67.7766501903534
person : 80.36023378372192
person : 84.22569036483765
motorcycle : 90.2958631515503
car : 56.56389594078064
car : 85.9704315662384
car : 59.81857776641846
car : 79.32580709457397
car : 83.80572199821472
car : 83.20974111557007
car : 83.4749162197113
Một vài bài test khác
Trước khi quét
Sau khi nhận dạng
Chúc các bạn thành công
Đinh Quang Vinh sưu tầm