# 道路病害检测

## 利用了cnn网络和unet网络进行道路裂缝和坑洼图片的检测. 

## API 接口

### 道路裂缝检测接口(U-Net CNN)

- 请求

```curl -k -X POST -F 'image=@image_path/ -v http://0.0.0.0:5000/segment ```

- 返回接口

| 名称   | 参数 | 类型 | 说明 |
|------|------|-------|-------|
| 返回结果 | result | bool | 是否有裂缝 |
| 返回图片 | img | string | 图像的base64编码字符串 |


### 道路坑洼检测接口(R-CNN)

```curl -k -X POST -F 'image=@image_path/ -v http://0.0.0.0:5000/detect/rcnn ```


- 返回接口

| 名称   | 参数 | 类型 | 说明 |
|------|------|-------|-------|
| 返回结果 | result | bool | 是否有坑洼 |
| 返回图片 | img | string | 图像的base64编码字符串 |


### 裂缝和坑洼检测接口

```curl -k -X POST -F 'image=@image_path/ -v http://0.0.0.0:5000/ ```


- 返回接口

| 名称   | 参数 | 类型     | 说明               |
|------|------|--------|------------------|
| 接口编码 | code | int    | 0：正常 ； 10001： 异常 |
| 原始图片 | img_src | string | 图像的base64编码字符串   |
| 是否有裂缝 | crack | bool | 是否有裂缝 |
| 是否有坑洼 | pothole | bool | 是否有坑洼 |


## 编译说明

### x86编译docker 

```docker build -t hpds-road-detection:v1.0  .```

### arm64编译docker

```docker buildx build -t hpds-road-detection-edge:v1.0 . --platform=linux/arm64```
