Skip to content

OpenSitUp là một cái căn cứ vào tư thái phỏng chừng khai nguyên hạng mục, chỉ ở trợ giúp đối tư thái phỏng chừng cảm thấy hứng thú bằng hữu, có thể bắt đầu từ con số 0 dựng một cái ở android di động thượng vận hành gập bụng đếm hết APP. Chủ yếu kỹ thuật chỗ khó vì như thế nào làm tính toán lượng trọng đại nhân thể tư thái phỏng chừng internet lưu sướng vận hành ở di động đoan, hơn nữa thực hiện gập bụng đếm hết công năng. Nắm giữ cái này hạng mục nguyên lý lúc sau, có thể thực phương tiện di chuyển đến cùng loại vận động, tập thể hình APP giữa.

Notifications You must be signed in to change notification settings

DL-Practise/OpenSitUp

Repository files navigation

image

WeChat thảo luận đàn, trước tăng thêm tác giả WeChat, làm sau mời nhập đàn, cùng nhau học tập tư thái phỏng chừng kỹ thuật. Tác giả WeChat: cjnewstar111

1. Hạng mục khai nguyên địa chỉ

https://github /DL-Practise/OpenSitUp

2. Hạng mục tóm tắt

Máy tính thị giác trung có một cái ứng dụng chi nhánh gọi là tư thái phỏng chừng, thông qua nhân thể điểm mấu chốt phương thức tới phỏng chừng ra một cái / nhiều người tư thái tin tức. Như sau đồ sở kỳ: image OpenSitUp là một cái căn cứ vào tư thái phỏng chừng khai nguyên hạng mục, chỉ ở trợ giúp đối tư thái phỏng chừng cảm thấy hứng thú bằng hữu, có thể bắt đầu từ con số 0 dựng một cái gập bụng đếm hết APP. Chủ yếu kỹ thuật chỗ khó vì như thế nào làm tính toán lượng trọng đại nhân thể tư thái phỏng chừng internet lưu sướng vận hành ở không có hiện tạp hoàn cảnh trung ( tỷ như CPU hoặc là di động ), hơn nữa thực hiện gập bụng đếm hết công năng. Nắm giữ cái này hạng mục nguyên lý lúc sau, có thể thực phương tiện di chuyển đến cùng loại vận động, tập thể hình APP giữa.

3. Hạng mục thành quả triển lãm

Như sau triển lãm chính là cái này hạng mục cuối cùng APP hiệu quả, ở đám đông ồ ạt Tây Hồ cảnh khu, ta trước mặt mọi người nằm xuống làm gập bụng, xấu hổ sát lão phu cũng! image

4. Hạng mục mục lục

Bởi vì yêu cầu bắt đầu từ con số 0 khai phá gập bụng đếm hết APP, bởi vậy toàn bộ hạng mục yêu cầu bao hàm nhiều công trình, bao gồm số liệu thu thập, đánh dấu, huấn luyện, bố trí, app khai phá chờ, chỉnh thể mục lục kết cấu như sau đồ sở kỳ: image

4.1 DataSet

Số liệu tập gửi mục lục, nơi này ta trước đặt 300 nhiều trương đánh dấu tốt hình ảnh, dùng này đó hình ảnh đã có thể huấn luyện ra “Hạng mục thành quả triển lãm” trung triển lãm hiệu quả. Nhưng là vì đạt được càng tốt tính năng, ngài có thể thu thập càng nhiều gập bụng hình ảnh.

4.2 LabelTool

Nơi này vì ngài chuẩn bị một cái áp dụng với nên hạng mục đánh dấu công cụ, chủ yếu là đánh dấu nhân thể một ít điểm mấu chốt. Đương ngài thu thập rất nhiều gập bụng hình ảnh lúc sau, có thể sử dụng nên công cụ tiến hành đánh dấu, sinh thành tương ứng nhãn.

4.3 Trainer

Đây là một cái căn cứ vào pytorch điểm mấu chốt huấn luyện công cụ, bên trong bao hàm nhằm vào di động thiết kế nhẹ lượng cấp điểm mấu chốt kiểm tra đo lường internet.

4.4 WinAPP

Wondows thượng gập bụng đếm hết APP ( không sử dụng hiện tạp, thông dụng tính càng cường ).

5. Hạng mục lưu trình

5.1 thu thập hình ảnh

Bởi vì không có có sẵn gập bụng số liệu tập, chỉ có thể chính mình động thủ, cơm no áo ấm. Cũng may đối với gập bụng như vậy thường quy vận động, trên mạng vẫn là có rất nhiều tương quan tài nguyên. Nơi này ta chọn dùng download video cùng hình ảnh hai loại phương thức. Trước từ trên mạng tìm tòi “Gập bụng” video, download 10 cái tả hữu video đoạn ngắn, sau đó thông qua trừu bức phương thức, từ mỗi cái video trung rút ra một bộ phận bức làm huấn luyện dùng số liệu. Như sau đồ sở kỳ vì từ video trung rút ra mấu chốt bức. image Gần sử dụng video trung rút ra bức sẽ có một cái tương đối nghiêm trọng vấn đề, chính là bối cảnh quá mức chỉ một, thực dễ dàng tạo thành quá nghĩ hợp. Vì thế ta từ trên mạng tiến hành hình ảnh tìm tòi, được đến một phân bộ bối cảnh tương đối phong phú hình ảnh, như sau đồ sở kỳ: image

5.2 đánh dấu hình ảnh

Thu thập xong số liệu, chính là tiến hành đánh dấu, tuy rằng đã có một ít có sẵn khai nguyên đánh dấu công cụ, nhưng là ta dùng không thuận tay, bởi vậy chính mình khai phá một khoản điểm mấu chốt đánh dấu công cụ, chính là mặt trên khai nguyên LabelTool, rốt cuộc chính mình khai phá, dùng thuận tay. Chú ý nên công cụ ở win10/ Python 3.6 hoàn cảnh hạ đã làm thí nghiệm, mặt khác hoàn cảnh tạm thời không có thí nghiệm. Sử dụng mệnh lệnh Python main_widget.py mở ra giao diện. Mới bắt đầu giao diện phi thường ngắn gọn, thông qua “Mở ra” cái nút tới mở ra thu thập tốt gập bụng hình ảnh. image Ở phân loại trung sử dụng 0 tỏ vẻ đánh dấu chính là phần đầu, 1 tỏ vẻ đánh dấu chính là đầu gối, 2 tỏ vẻ đánh dấu chính là phần hông ( bởi vì chúng ta yêu cầu ở trên di động phân biệt gập bụng, yêu cầu tận khả năng giảm bớt tính toán lượng, tư thái phỏng chừng giống nhau sẽ đoán trước toàn thân rất nhiều điểm mấu chốt, nhưng là đối với gập bụng, chỉ cần có thể chuẩn xác đoán trước phần đầu, đầu gối cùng phần hông, là có thể tương đối tốt tiến hành gập bụng động tác phân biệt, bởi vậy nơi này chỉ cần đánh dấu ba cái điểm ). Đơn đánh con chuột tả kiện tiến hành đánh dấu, hữu kiện hủy bỏ thượng một lần đánh dấu. Không thể không nói, dùng Python +qt khai phá một ít căn cứ vào UI công cụ phi thường phương tiện! Cùng C++ so sánh với, giải phóng quá nhiều sức sản xuất! image Đánh dấu xong hình ảnh lúc sau, sẽ ở hình ảnh mục lục phía dưới sinh thành một cái nhãn văn kiện label.txt, bên trong nội dung như sau: image

5.3 thuật toán nguyên lý

Ta trước đơn giản giới thiệu một chút gập bụng thuật toán nguyên lý. Ở tư thái phỏng chừng ( điểm mấu chốt kiểm tra đo lường ) lĩnh vực, giống nhau rất ít chọn dùng trở về phương thức tới đoán trước điểm mấu chốt vị trí, thay thế chính là chọn dùng heatmap phát ra điểm mấu chốt vị trí. Này cùng anchor free mục tiêu kiểm tra đo lường trung centness linh tinh cách làm không sai biệt lắm, tức thông qua tra tìm heatmap trung hưởng ứng giá trị lớn nhất điểm tới xác định điểm mấu chốt tọa độ. Như sau đồ sở kỳ ( chỉ biểu hiện bộ phận heatmap ): image Tự hỏi một chút nguyên nhân, trực tiếp trở về tọa độ, thông thường sẽ đem cuối cùng featuremap hạ thu thập mẫu đến rất nhỏ, như vậy mới có thể đủ thực hiện toàn cục trở về, nhưng là điểm mấu chốt đoán trước loại này nhiệm vụ đối âm tin tưởng tức phi thường mẫn cảm, quá tiểu nhân đặc thù sẽ cực đại mất đi không gian tin tức, cho nên dẫn tới đoán trước vị trí phi thường không chuẩn. Mà heatmap phương thức giống nhau yêu cầu cuối cùng đặc thù đồ khá lớn, thông thường là đưa vào hình ảnh 1/2 hoặc là 1/4, như vậy liền phi thường thích hợp làm một ít không gian tương quan nhiệm vụ. Kỳ thật nếu nhân vi đem đặc thù đồ áp súc rất nhỏ, heatmap phương thức cũng giống nhau không quá chuẩn. Có mặt trên tự hỏi, liền có cuối cùng phương án, chính là đem shufflenet cuối cùng phát ra 77 đặc thù đồ tiến hành thượng thu thập mẫu đến 35656 lớn nhỏ ( suy xét đến cuối cùng ứng dụng cùng với cảnh tượng, 5656 cũng đủ thực hiện gập bụng động tác phân biệt ), 3 tỏ vẻ chính là 3 cái điểm mấu chốt. Sau đó phát ra đặc thù trải qua sigmoid kích hoạt lúc sau liền được đến 35656 heatmaps. Nơi này nói thêm hai điểm, chính là heatmap nhãn thiết kế cùng loss cân bằng vấn đề. Trước nói nói nhãn thiết kế, nếu chỉ là đơn giản đem nhãn chuyển hóa thành một cái one_hot heatmap, hiệu quả sẽ không quá hảo. Bởi vì nhãn điểm phụ kiện điểm trên thực tế đối với internet tới nói lấy ra đặc thù là cùng loại, như vậy nếu mạnh mẽ đem không phải nhãn phụ cận điểm thiết trí vì 0, biểu hiện sẽ không thực hảo, giống nhau sẽ dùng cao tư phân bố tới chế tác nhãn heatmap, như sau đồ sở kỳ: image

Mặt khác muốn nói chính là loss cân bằng, mặt trên nhãn heatmap đại gia cũng thấy được, vô luận là one-hot heatmap vẫn là cao tư phân bố heatmap, đại bộ phận điểm đều là phụ hàng mẫu điểm, trực tiếp sử dụng MSE mà không tăng thêm phân chia, internet trên cơ bản sẽ huấn luyện ra một cái phát ra tất cả đều là 0 heatmap. Nguyên nhân chủ yếu chính là huấn luyện thang độ bị phụ hàng mẫu áp chế, chính hàng mẫu thang độ thật sự quá tiểu. Bởi vậy yêu cầu làm một cái phân khu. Ta nơi này đem chính phụ hàng mẫu tỉ trọng thiết trí vì 10: 1.

5.3 Trainer huấn luyện công cụ

Trainer công cụ chủ yếu bao gồm bốn cái bộ phận: cfg: Phối trí văn kiện mục lục data: Số liệu đọc lấy mục lục DLEngine: Huấn luyện động cơ models: Internet mô hình mục lục Đầu tiên ở models hạ keypoint mục lục hạ, ta thực hiện kể trên thảo luận căn cứ vào shufflenet điểm mấu chốt kiểm tra đo lường internet, ShuffleNetV2HeatMap, sau đó ở data mục lục hạ thực hiện đọc lấy LabelTool đánh dấu nhãn văn kiện số liệu tập đọc lấy công cụ: person_keypoint_txt.py. Cuối cùng ở phối trí folder cfgs hạ key_point mục lục hạ thực hiện nhằm vào nên hạng mục phối trí văn kiện: keypoint_shufflenetv2_heatmap_224_1.0_3kps.py, bên trong bao hàm chủ yếu tự đoạn như sau: image image image image

Khởi động huấn luyện trước, đem train.py văn kiện trung CFG_FILE sửa chữa thành kể trên phối trí văn kiện có thể: CFG_FILE='cfgs/key_point/keypoint_shufflenetv2_heatmap_224_1.0_3kps.py'. Sử dụng mệnh lệnh Python train.py khởi động huấn luyện.

5.4 thay đổi mô hình

Ở Trainer trung hoàn thành huấn luyện lúc sau, sẽ ở save mục lục phía dưới sinh thành tương ứng mô hình văn kiện. Nhưng là này đó pytorch mô hình vô pháp trực tiếp bố trí tới tay cơ trung vận hành, yêu cầu sử dụng tương ứng trinh thám kho. Trước mắt khai nguyên trinh thám kho có rất nhiều, tỷ như mnn, ncnn, tnn chờ. Nơi này ta lựa chọn sử dụng ncnn, bởi vì ncnn khai nguyên sớm, sử dụng người nhiều, internet duy trì, phần cứng duy trì đều cũng không tệ lắm, mấu chốt là rất nhiều vấn đề đều có thể tìm thấy được người khác kinh nghiệm, có thể thiếu đi rất nhiều đường vòng. Nhưng là tiếc nuối chính là ncnn cũng không duy trì trực tiếp đem pytorch mô hình dẫn vào, yêu cầu trước thay đổi thành onnx cách thức, sau đó lại đem onnx cách thức dẫn vào đến ncnn trung. Mặt khác chú ý một chút, đem pytroch mô hình đến onnx lúc sau có rất nhiều keo nước op, này ở ncnn trung là không duy trì, yêu cầu sử dụng một cái khác khai nguyên công cụ: onnx-simplifier đối onnx mô hình tiến hành cắt may, sau đó lại dẫn vào đến ncnn trung. Bởi vậy toàn bộ quá trình còn có chút hứa rườm rà, vì thế, ta ở Trainer công trình trung, biên soạn export_ncnn.py kịch bản gốc, có thể một kiện đem huấn luyện ra pytorch mô hình thay đổi thành ncnn mô hình. Thay đổi thành công sau, sẽ ở save mục lục hạ pytorch mô hình folder ra đời thành ba cái ncnn tương quan văn kiện: model.param; model.bin cùng với ncnn.cfg.

5.5 APP khai phá

android APP khai phá chủ yếu Activity loại, hai cái SurfaceView loại, một cái Alg loại, một cái Camera loại tạo thành. Alg loại chủ yếu phụ trách thuyên chuyển thuật toán tiến hành trinh thám, cũng phản hồi kết quả. Nơi này trên thực tế là thuyên chuyển NCNN kho trinh thám công năng. Camera loại chủ yếu phụ trách cameras mở ra cùng đóng cửa, cùng với tiến hành xem trước hồi điều. Cái thứ nhất SurfaceView ( DisplayView ) chủ yếu dùng cho cameras xem trước triển lãm. Cái thứ hai SurfaceView ( CustomView ) chủ yếu dùng cho vẽ một ít điểm mấu chốt tin tức, đếm hết thống kê tin tức chờ. Activity chính là nhất thượng tầng một cái quản lý loại, phụ trách quản lý toàn bộ APP, bao gồm sáng tạo cái nút, sáng tạo SurfaceView, sáng tạo Alg loại, sáng tạo Camera loại chờ. image

Cụ thể số hiệu logic có thể xem xét SiteUpAndroid nguyên mã.

About

OpenSitUp là một cái căn cứ vào tư thái phỏng chừng khai nguyên hạng mục, chỉ ở trợ giúp đối tư thái phỏng chừng cảm thấy hứng thú bằng hữu, có thể bắt đầu từ con số 0 dựng một cái ở android di động thượng vận hành gập bụng đếm hết APP. Chủ yếu kỹ thuật chỗ khó vì như thế nào làm tính toán lượng trọng đại nhân thể tư thái phỏng chừng internet lưu sướng vận hành ở di động đoan, hơn nữa thực hiện gập bụng đếm hết công năng. Nắm giữ cái này hạng mục nguyên lý lúc sau, có thể thực phương tiện di chuyển đến cùng loại vận động, tập thể hình APP giữa.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages